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

INSTALLATION

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

CONFIGURING SALT

2758       This section explains how to configure user access, view and store  job
2759       results,  secure and troubleshoot, and how to perform many other admin‐
2760       istrative tasks.
2761
2762   Configuring the Salt Master
2763       The Salt system is amazingly simple and easy to configure, the two com‐
2764       ponents  of  the Salt system each have a respective configuration file.
2765       The salt-master is configured via the master  configuration  file,  and
2766       the salt-minion is configured via the minion configuration file.
2767
2768       SEE ALSO:
2769          Example master configuration file.
2770
2771       The configuration file for the salt-master is located at /etc/salt/mas‐
2772       ter by default. A notable exception is FreeBSD, where the configuration
2773       file  is  located  at /usr/local/etc/salt. The available options are as
2774       follows:
2775
2776   Primary Master Configuration
2777   interface
2778       Default: 0.0.0.0 (all interfaces)
2779
2780       The local interface to bind to, must be an IP address.
2781
2782          interface: 192.168.0.1
2783
2784   ipv6
2785       Default: False
2786
2787       Whether the master should listen for IPv6 connections. If this  is  set
2788       to True, the interface option must be adjusted too (for example: inter‐
2789       face: '::')
2790
2791          ipv6: True
2792
2793   publish_port
2794       Default: 4505
2795
2796       The network port to set up the publication interface.
2797
2798          publish_port: 4505
2799
2800   master_id
2801       Default: None
2802
2803       The id to be passed in the publish job to minions.  This  is  used  for
2804       MultiSyndics to return the job to the requesting master.
2805
2806       NOTE:
2807          This must be the same string as the syndic is configured with.
2808
2809          master_id: MasterOfMaster
2810
2811   user
2812       Default: root
2813
2814       The user to run the Salt processes
2815
2816          user: root
2817
2818   enable_ssh_minions
2819       Default: False
2820
2821       Tell the master to also use salt-ssh when running commands against min‐
2822       ions.
2823
2824          enable_ssh_minions: True
2825
2826       NOTE:
2827          Cross-minion communication is still not possible.  The Salt mine and
2828          publish.publish do not work between minion types.
2829
2830   ret_port
2831       Default: 4506
2832
2833       The  port used by the return server, this is the server used by Salt to
2834       receive execution returns and command executions.
2835
2836          ret_port: 4506
2837
2838   pidfile
2839       Default: /var/run/salt-master.pid
2840
2841       Specify the location of the master pidfile.
2842
2843          pidfile: /var/run/salt-master.pid
2844
2845   root_dir
2846       Default: /
2847
2848       The system root directory to operate from, change this to make Salt run
2849       from an alternative root.
2850
2851          root_dir: /
2852
2853       NOTE:
2854          This  directory  is  prepended  to  the  following options: pki_dir,
2855          cachedir,  sock_dir,   log_file,   autosign_file,   autoreject_file,
2856          pidfile, autosign_grains_dir.
2857
2858   conf_file
2859       Default: /etc/salt/master
2860
2861       The path to the master's configuration file.
2862
2863          conf_file: /etc/salt/master
2864
2865   pki_dir
2866       Default: /etc/salt/pki/master
2867
2868       The directory to store the pki authentication keys.
2869
2870          pki_dir: /etc/salt/pki/master
2871
2872   extension_modules
2873       Changed  in  version  2016.3.0: The default location for this directory
2874       has been moved. Prior to this version, the  location  was  a  directory
2875       named    extmods   in   the   Salt   cachedir   (on   most   platforms,
2876       /var/cache/salt/extmods). It has been moved into  the  master  cachedir
2877       (on most platforms, /var/cache/salt/master/extmods).
2878
2879
2880       Directory for custom modules. This directory can contain subdirectories
2881       for each of Salt's module types such as runners,  output,  wheel,  mod‐
2882       ules, states, returners, engines, utils, etc.  This path is appended to
2883       root_dir.
2884
2885          extension_modules: /root/salt_extmods
2886
2887   extmod_whitelist/extmod_blacklist
2888       New in version 2017.7.0.
2889
2890
2891       By using this dictionary, the modules that are synced to  the  master's
2892       extmod  cache  using saltutil.sync_* can be limited.  If nothing is set
2893       to a specific type, then all modules are accepted.  To block  all  mod‐
2894       ules of a specific type, whitelist an empty list.
2895
2896          extmod_whitelist:
2897            modules:
2898              - custom_module
2899            engines:
2900              - custom_engine
2901            pillars: []
2902
2903          extmod_blacklist:
2904            modules:
2905              - specific_module
2906
2907       Valid options:
2908
2909              · modules
2910
2911              · states
2912
2913              · grains
2914
2915              · renderers
2916
2917              · returners
2918
2919              · output
2920
2921              · proxy
2922
2923              · runners
2924
2925              · wheel
2926
2927              · engines
2928
2929              · queues
2930
2931              · pillar
2932
2933              · utils
2934
2935              · sdb
2936
2937              · cache
2938
2939              · clouds
2940
2941              · tops
2942
2943              · roster
2944
2945              · tokens
2946
2947   module_dirs
2948       Default: []
2949
2950       Like  extension_modules,  but a list of extra directories to search for
2951       Salt modules.
2952
2953          module_dirs:
2954            - /var/cache/salt/minion/extmods
2955
2956   cachedir
2957       Default: /var/cache/salt/master
2958
2959       The location used to store  cache  information,  particularly  the  job
2960       information for executed salt commands.
2961
2962       This  directory  may  contain  sensitive  data  and should be protected
2963       accordingly.
2964
2965          cachedir: /var/cache/salt/master
2966
2967   verify_env
2968       Default: True
2969
2970       Verify and set permissions on configuration directories at startup.
2971
2972          verify_env: True
2973
2974   keep_jobs
2975       Default: 24
2976
2977       Set the number of hours to keep old job information. Note that  setting
2978       this option to 0 disables the cache cleaner.
2979
2980          keep_jobs: 24
2981
2982   gather_job_timeout
2983       New in version 2014.7.0.
2984
2985
2986       Default: 10
2987
2988       The number of seconds to wait when the client is requesting information
2989       about running jobs.
2990
2991          gather_job_timeout: 10
2992
2993   timeout
2994       Default: 5
2995
2996       Set the default timeout for the salt command and api.
2997
2998   loop_interval
2999       Default: 60
3000
3001       The loop_interval option controls the seconds for the master's  mainte‐
3002       nance  process  check cycle. This process updates file server backends,
3003       cleans the job cache and executes the scheduler.
3004
3005   output
3006       Default: nested
3007
3008       Set the default outputter used by the salt command.
3009
3010   outputter_dirs
3011       Default: []
3012
3013       A list of additional directories to search for salt outputters in.
3014
3015          outputter_dirs: []
3016
3017   output_file
3018       Default: None
3019
3020       Set the default output file used by the salt  command.  Default  is  to
3021       output  to  the  CLI  and  not to a file. Functions the same way as the
3022       "--out-file" CLI option, only sets this to a single file for  all  salt
3023       commands.
3024
3025          output_file: /path/output/file
3026
3027   show_timeout
3028       Default: True
3029
3030       Tell the client to show minions that have timed out.
3031
3032          show_timeout: True
3033
3034   show_jid
3035       Default: False
3036
3037       Tell the client to display the jid when a job is published.
3038
3039          show_jid: False
3040
3041   color
3042       Default: True
3043
3044       By  default  output is colored, to disable colored output set the color
3045       value to False.
3046
3047          color: False
3048
3049   color_theme
3050       Default: ""
3051
3052       Specifies a path to the color theme to use  for  colored  command  line
3053       output.
3054
3055          color_theme: /etc/salt/color_theme
3056
3057   cli_summary
3058       Default: False
3059
3060       When set to True, displays a summary of the number of minions targeted,
3061       the number of minions returned, and the number of minions that did  not
3062       return.
3063
3064          cli_summary: False
3065
3066   sock_dir
3067       Default: /var/run/salt/master
3068
3069       Set  the  location  to use for creating Unix sockets for master process
3070       communication.
3071
3072          sock_dir: /var/run/salt/master
3073
3074   enable_gpu_grains
3075       Default: False
3076
3077       Enable GPU hardware data for your master. Be aware that the master  can
3078       take  a  while to start up when lspci and/or dmidecode is used to popu‐
3079       late the grains for the master.
3080
3081          enable_gpu_grains: True
3082
3083   job_cache
3084       Default: True
3085
3086       The master maintains a temporary job cache. While this is a great addi‐
3087       tion,  it  can  be  a burden on the master for larger deployments (over
3088       5000 minions).  Disabling the job cache will make  previously  executed
3089       jobs  unavailable  to the jobs system and is not generally recommended.
3090       Normally it is wise to make sure the master has access to a  faster  IO
3091       system or a tmpfs is mounted to the jobs dir.
3092
3093          job_cache: True
3094
3095       NOTE:
3096          Setting  the  job_cache  to False will not cache minion returns, but
3097          the JID directory for each job is still created. The creation of the
3098          JID  directories is necessary because Salt uses those directories to
3099          check for JID collisions. By setting this option to False,  the  job
3100          cache  directory,  which is /var/cache/salt/master/jobs/ by default,
3101          will be smaller, but the JID directories will still be present.
3102
3103          Note that the keep_jobs option can be set to a lower value, such  as
3104          1,  to  limit  the number of hours jobs are stored in the job cache.
3105          (The default is 24 hours.)
3106
3107          Please see the Managing the Job Cache documentation for more  infor‐
3108          mation.
3109
3110   minion_data_cache
3111       Default: True
3112
3113       The  minion  data  cache  is  a  cache of information about the minions
3114       stored on the master, this information is primarily the pillar,  grains
3115       and mine data. The data is cached via the cache subsystem in the Master
3116       cachedir under the name of the minion or in a supported  database.  The
3117       data  is  used  to predetermine what minions are expected to reply from
3118       executions.
3119
3120          minion_data_cache: True
3121
3122   cache
3123       Default: localfs
3124
3125       Cache subsystem module to use for minion data cache.
3126
3127          cache: consul
3128
3129   memcache_expire_seconds
3130       Default: 0
3131
3132       Memcache is an additional cache layer that keeps a  limited  amount  of
3133       data fetched from the minion data cache for a limited period of time in
3134       memory that makes cache operations faster. It doesn't make  much  sense
3135       for  the  localfs  cache driver but helps for more complex drivers like
3136       consul.
3137
3138       This option sets the memcache items expiration time. By default is  set
3139       to 0 that disables the memcache.
3140
3141          memcache_expire_seconds: 30
3142
3143   memcache_max_items
3144       Default: 1024
3145
3146       Set  memcache  limit  in items that are bank-key pairs. I.e the list of
3147       minion_0/data, minion_0/mine,  minion_1/data  contains  3  items.  This
3148       value depends on the count of minions usually targeted in your environ‐
3149       ment. The best one could be found by analyzing the cache log with  mem‐
3150       cache_debug enabled.
3151
3152          memcache_max_items: 1024
3153
3154   memcache_full_cleanup
3155       Default: False
3156
3157       If  cache  storage  got  full,  i.e.  the  items count exceeds the mem‐
3158       cache_max_items value, memcache cleans up it's storage. If this  option
3159       set to False memcache removes the only one oldest value from it's stor‐
3160       age.  If this set set to True memcache removes all  the  expired  items
3161       and also removes the oldest one if there are no expired items.
3162
3163          memcache_full_cleanup: True
3164
3165   memcache_debug
3166       Default: False
3167
3168       Enable  collecting the memcache stats and log it on debug log level. If
3169       enabled memcache collect information about how  many  fetch  calls  has
3170       been  done  and how many of them has been hit by memcache. Also it out‐
3171       puts the rate value that is the result of division  of  the  first  two
3172       values. This should help to choose right values for the expiration time
3173       and the cache size.
3174
3175          memcache_debug: True
3176
3177   ext_job_cache
3178       Default: ''
3179
3180       Used to specify a default returner for all minions. When this option is
3181       set,  the  specified  returner  needs to be properly configured and the
3182       minions will always default to sending returns to this  returner.  This
3183       will also disable the local job cache on the master.
3184
3185          ext_job_cache: redis
3186
3187   event_return
3188       New in version 2015.5.0.
3189
3190
3191       Default: ''
3192
3193       Specify  the  returner(s)  to use to log events. Each returner may have
3194       installation and configuration requirements. Read the returner's  docu‐
3195       mentation.
3196
3197       NOTE:
3198          Not  all returners support event returns. Verify that a returner has
3199          an event_return() function before configuring  this  option  with  a
3200          returner.
3201
3202          event_return:
3203            - syslog
3204            - splunk
3205
3206   event_return_queue
3207       New in version 2015.5.0.
3208
3209
3210       Default: 0
3211
3212       On  busy  systems, enabling event_returns can cause a considerable load
3213       on the storage system for returners. Events can be queued on the master
3214       and stored in a batched fashion using a single transaction for multiple
3215       events.  By default, events are not queued.
3216
3217          event_return_queue: 0
3218
3219   event_return_whitelist
3220       New in version 2015.5.0.
3221
3222
3223       Default: []
3224
3225       Only return events matching tags in a whitelist.
3226
3227       Changed in version 2016.11.0: Supports glob matching patterns.
3228
3229
3230          event_return_whitelist:
3231            - salt/master/a_tag
3232            - salt/run/*/ret
3233
3234   event_return_blacklist
3235       New in version 2015.5.0.
3236
3237
3238       Default: []
3239
3240       Store all event returns _except_ the tags in a blacklist.
3241
3242       Changed in version 2016.11.0: Supports glob matching patterns.
3243
3244
3245          event_return_blacklist:
3246            - salt/master/not_this_tag
3247            - salt/wheel/*/ret
3248
3249   max_event_size
3250       New in version 2014.7.0.
3251
3252
3253       Default: 1048576
3254
3255       Passing very large events can cause the minion to consume large amounts
3256       of  memory. This value tunes the maximum size of a message allowed onto
3257       the master event bus. The value is expressed in bytes.
3258
3259          max_event_size: 1048576
3260
3261   master_job_cache
3262       New in version 2014.7.0.
3263
3264
3265       Default: local_cache
3266
3267       Specify the returner to use for the job cache. The job cache will  only
3268       be  interacted with from the salt master and therefore does not need to
3269       be accessible from the minions.
3270
3271          master_job_cache: redis
3272
3273   job_cache_store_endtime
3274       New in version 2015.8.0.
3275
3276
3277       Default: False
3278
3279       Specify whether the Salt Master should store  end  times  for  jobs  as
3280       returns come in.
3281
3282          job_cache_store_endtime: False
3283
3284   enforce_mine_cache
3285       Default: False
3286
3287       By-default  when disabling the minion_data_cache mine will stop working
3288       since it is based on cached data, by enabling this option we explicitly
3289       enabling only the cache for the mine system.
3290
3291          enforce_mine_cache: False
3292
3293   max_minions
3294       Default: 0
3295
3296       The  maximum  number  of  minion connections allowed by the master. Use
3297       this to accommodate the number of minions per master if you  have  dif‐
3298       ferent  types  of hardware serving your minions. The default of 0 means
3299       unlimited connections.  Please note that this can slow down the authen‐
3300       tication process a bit in large setups.
3301
3302          max_minions: 100
3303
3304   con_cache
3305       Default: False
3306
3307       If max_minions is used in large installations, the master might experi‐
3308       ence high-load situations because of having to check the number of con‐
3309       nected  minions  for every authentication. This cache provides the min‐
3310       ion-ids of all connected minions to all MWorker-processes  and  greatly
3311       improves the performance of max_minions.
3312
3313          con_cache: True
3314
3315   presence_events
3316       Default: False
3317
3318       Causes  the master to periodically look for actively connected minions.
3319       Presence events are fired on the event bus on a regular interval with a
3320       list  of  connected minions, as well as events with lists of newly con‐
3321       nected or disconnected minions. This is a  master-only  operation  that
3322       does not send executions to minions.
3323
3324          presence_events: False
3325
3326   ping_on_rotate
3327       New in version 2014.7.0.
3328
3329
3330       Default: False
3331
3332       By default, the master AES key rotates every 24 hours. The next command
3333       following a key rotation will trigger a key  refresh  from  the  minion
3334       which  may  result in minions which do not respond to the first command
3335       after a key refresh.
3336
3337       To tell the master to ping all minions immediately  after  an  AES  key
3338       refresh,  set  ping_on_rotate  to  True. This should mitigate the issue
3339       where a minion does not appear to initially  respond  after  a  key  is
3340       rotated.
3341
3342       Note  that  enabling this may cause high load on the master immediately
3343       after the key rotation event as minions reconnect. Consider this  care‐
3344       fully if this salt master is managing a large number of minions.
3345
3346       If  disabled,  it  is recommended to handle this event by listening for
3347       the aes_key_rotate event with the key tag and acting appropriately.
3348
3349          ping_on_rotate: False
3350
3351   transport
3352       Default: zeromq
3353
3354       Changes the underlying  transport  layer.  ZeroMQ  is  the  recommended
3355       transport while additional transport layers are under development. Sup‐
3356       ported values are zeromq, raet (experimental), and tcp  (experimental).
3357       This  setting has a significant impact on performance and should not be
3358       changed unless you know what you are doing!
3359
3360          transport: zeromq
3361
3362   transport_opts
3363       Default: {}
3364
3365       (experimental) Starts multiple transports  and  overrides  options  for
3366       each transport with the provided dictionary This setting has a signifi‐
3367       cant impact on performance and should not be changed  unless  you  know
3368       what  you  are  doing!   The following example shows how to start a TCP
3369       transport alongside a ZMQ transport.
3370
3371          transport_opts:
3372            tcp:
3373              publish_port: 4605
3374              ret_port: 4606
3375            zeromq: []
3376
3377   master_stats
3378       Default: False
3379
3380       Turning on the master stats enables runtime throughput  and  statistics
3381       events  to be fired from the master event bus. These events will report
3382       on what functions have been run on the master and how long  these  runs
3383       have, on average, taken over a given period of time.
3384
3385   master_stats_event_iter
3386       Default: 60
3387
3388       The time in seconds to fire master_stats events. This will only fire in
3389       conjunction with receiving a request to the master, idle  masters  will
3390       not fire these events.
3391
3392   sock_pool_size
3393       Default: 1
3394
3395       To  avoid blocking waiting while writing a data to a socket, we support
3396       socket pool for Salt applications. For example, a job with a large num‐
3397       ber  of  target  host  list can cause long period blocking waiting. The
3398       option is used by ZMQ and TCP transports, and the other transport meth‐
3399       ods  don't  need  the  socket  pool  by definition. Most of Salt tools,
3400       including CLI, are enough to use a single bucket of socket pool. On the
3401       other  hands,  it  is highly recommended to set the size of socket pool
3402       larger than 1 for other Salt applications, especially Salt  API,  which
3403       must write data to socket concurrently.
3404
3405          sock_pool_size: 15
3406
3407   ipc_mode
3408       Default: ipc
3409
3410       The  ipc  strategy.  (i.e., sockets versus tcp, etc.) Windows platforms
3411       lack POSIX IPC and must rely on TCP based inter-process communications.
3412       ipc_mode is set to tcp by default on Windows.
3413
3414          ipc_mode: ipc
3415
3416   tcp_master_pub_port
3417       Default: 4512
3418
3419       The  TCP  port  on  which  events for the master should be published if
3420       ipc_mode is TCP.
3421
3422          tcp_master_pub_port: 4512
3423
3424   tcp_master_pull_port
3425       Default: 4513
3426
3427       The TCP port on which  events  for  the  master  should  be  pulled  if
3428       ipc_mode is TCP.
3429
3430          tcp_master_pull_port: 4513
3431
3432   tcp_master_publish_pull
3433       Default: 4514
3434
3435       The  TCP  port  on which events for the master should be pulled fom and
3436       then republished onto the event bus on the master.
3437
3438          tcp_master_publish_pull: 4514
3439
3440   tcp_master_workers
3441       Default: 4515
3442
3443       The TCP port for mworkers to connect to on the master.
3444
3445          tcp_master_workers: 4515
3446
3447   auth_events
3448       New in version 2017.7.3.
3449
3450
3451       Default: True
3452
3453       Determines whether the master will fire authentication events.  Authen‐
3454       tication  events  are  fired  when  a minion performs an authentication
3455       check with the master.
3456
3457          auth_events: True
3458
3459   minion_data_cache_events
3460       New in version 2017.7.3.
3461
3462
3463       Default: True
3464
3465       Determines whether the master will fire minion data cache events.  Min‐
3466       ion  data  cache  events are fired when a minion requests a minion data
3467       cache refresh.
3468
3469          minion_data_cache_events: True
3470
3471   http_connect_timeout
3472       New in version Fluorine.
3473
3474
3475       Default: 20
3476
3477       HTTP connection timeout in seconds.  Applied when fetching files  using
3478       tornado back-end.  Should be greater than overall download time.
3479
3480          http_connect_timeout: 20
3481
3482   http_request_timeout
3483       New in version 2015.8.0.
3484
3485
3486       Default: 3600
3487
3488       HTTP  request  timeout  in  seconds.  Applied when fetching files using
3489       tornado back-end.  Should be greater than overall download time.
3490
3491          http_request_timeout: 3600
3492
3493   Salt-SSH Configuration
3494   roster
3495       Default: flat
3496
3497       Define the default salt-ssh roster module to use
3498
3499          roster: cache
3500
3501   roster_defaults
3502       New in version 2017.7.0.
3503
3504
3505       Default settings which will be inherited by all rosters.
3506
3507          roster_defaults:
3508            user: daniel
3509            sudo: True
3510            priv: /root/.ssh/id_rsa
3511            tty: True
3512
3513   roster_file
3514       Default: /etc/salt/roster
3515
3516       Pass in an alternative location for the salt-ssh flat roster file.
3517
3518          roster_file: /root/roster
3519
3520   rosters
3521       Default: None
3522
3523       Define locations for flat roster files so they can be chosen when using
3524       Salt API. An administrator can place roster files into these locations.
3525       Then, when calling Salt API, the roster_file parameter should contain a
3526       relative path to these locations. That is, roster_file=/foo/roster will
3527       be resolved as /etc/salt/roster.d/foo/roster etc. This feature prevents
3528       passing insecure custom rosters through the Salt API.
3529
3530          rosters:
3531           - /etc/salt/roster.d
3532           - /opt/salt/some/more/rosters
3533
3534   ssh_passwd
3535       Default: ''
3536
3537       The ssh password to log in with.
3538
3539          ssh_passwd: ''
3540
3541   ssh_priv_passwd
3542       Default: ''
3543
3544       Passphrase for ssh private key file.
3545
3546          ssh_priv_passwd: ''
3547
3548   ssh_port
3549       Default: 22
3550
3551       The target system's ssh port number.
3552
3553          ssh_port: 22
3554
3555   ssh_scan_ports
3556       Default: 22
3557
3558       Comma-separated list of ports to scan.
3559
3560          ssh_scan_ports: 22
3561
3562   ssh_scan_timeout
3563       Default: 0.01
3564
3565       Scanning socket timeout for salt-ssh.
3566
3567          ssh_scan_timeout: 0.01
3568
3569   ssh_sudo
3570       Default: False
3571
3572       Boolean to run command via sudo.
3573
3574          ssh_sudo: False
3575
3576   ssh_timeout
3577       Default: 60
3578
3579       Number  of seconds to wait for a response when establishing an SSH con‐
3580       nection.
3581
3582          ssh_timeout: 60
3583
3584   ssh_user
3585       Default: root
3586
3587       The user to log in as.
3588
3589          ssh_user: root
3590
3591   ssh_log_file
3592       New in version 2016.3.5.
3593
3594
3595       Default: /var/log/salt/ssh
3596
3597       Specify the log file of the salt-ssh command.
3598
3599          ssh_log_file: /var/log/salt/ssh
3600
3601   ssh_minion_opts
3602       Default: None
3603
3604       Pass in minion option overrides that will be inserted into the SHIM for
3605       salt-ssh  calls.  The local minion config is not used for salt-ssh. Can
3606       be overridden on a per-minion basis in the roster (minion_opts)
3607
3608          ssh_minion_opts:
3609            gpg_keydir: /root/gpg
3610
3611   ssh_use_home_key
3612       Default: False
3613
3614       Set this to True to default to using ~/.ssh/id_rsa for salt-ssh authen‐
3615       tication with minions
3616
3617          ssh_use_home_key: False
3618
3619   ssh_identities_only
3620       Default: False
3621
3622       Set this to True to default salt-ssh to run with -o IdentitiesOnly=yes.
3623       This option is intended for situations where the ssh-agent offers  many
3624       different  identities and allows ssh to ignore those identities and use
3625       the only one specified in options.
3626
3627          ssh_identities_only: False
3628
3629   ssh_list_nodegroups
3630       Default: {}
3631
3632       List-only nodegroups for salt-ssh. Each group must be formed as  either
3633       a  comma-separated list, or a YAML list. This option is useful to group
3634       minions into easy-to-target groups when using  salt-ssh.  These  groups
3635       can then be targeted with the normal -N argument to salt-ssh.
3636
3637          ssh_list_nodegroups:
3638            groupA: minion1,minion2
3639            groupB: minion1,minion3
3640
3641   thin_extra_mods
3642       Default: None
3643
3644       List  of  additional modules, needed to be included into the Salt Thin.
3645       Pass a list of importable Python modules that are typically located  in
3646       the site-packages Python directory so they will be also always included
3647       into the Salt Thin, once generated.
3648
3649   min_extra_mods
3650       Default: None
3651
3652       Identical as thin_extra_mods, only applied to the Salt Minimal.
3653
3654   Master Security Settings
3655   open_mode
3656       Default: False
3657
3658       Open mode is a dangerous security feature. One problem encountered with
3659       pki  authentication  systems  is  that  keys  can become "mixed up" and
3660       authentication begins to fail. Open mode turns off  authentication  and
3661       tells  the  master to accept all authentication. This will clean up the
3662       pki keys received from the minions. Open mode should not be  turned  on
3663       for  general  use.  Open mode should only be used for a short period of
3664       time to clean up pki keys. To turn on open mode set this value to True.
3665
3666          open_mode: False
3667
3668   auto_accept
3669       Default: False
3670
3671       Enable auto_accept. This setting will automatically accept all incoming
3672       public keys from minions.
3673
3674          auto_accept: False
3675
3676   keysize
3677       Default: 2048
3678
3679       The size of key that should be generated when creating new keys.
3680
3681          keysize: 2048
3682
3683   autosign_timeout
3684       New in version 2014.7.0.
3685
3686
3687       Default: 120
3688
3689       Time  in  minutes that a incoming public key with a matching name found
3690       in pki_dir/minion_autosign/keyid  is  automatically  accepted.  Expired
3691       autosign  keys  are  removed when the master checks the minion_autosign
3692       directory. This method to auto accept minions  can  be  safer  than  an
3693       autosign_file  because  the  keyid  record can expire and is limited to
3694       being an exact name match.  This should still be considered a less than
3695       secure option, due to the fact that trust is based on just the request‐
3696       ing minion id.
3697
3698   autosign_file
3699       Default: not defined
3700
3701       If the autosign_file  is  specified  incoming  keys  specified  in  the
3702       autosign_file  will be automatically accepted. Matches will be searched
3703       for first by string comparison, then by globbing, then  by  full-string
3704       regex  matching.   This  should  still be considered a less than secure
3705       option, due to the fact that trust is based on just the requesting min‐
3706       ion id.
3707
3708       Changed  in  version  2018.3.0:  For  security reasons the file must be
3709       readonly except for it's owner.  If permissive_pki_access is  True  the
3710       owning group can also have write access, but if Salt is running as root
3711       it must be a member of that group.   A  less  strict  requirement  also
3712       existed in previous version.
3713
3714
3715   autoreject_file
3716       New in version 2014.1.0.
3717
3718
3719       Default: not defined
3720
3721       Works  like autosign_file, but instead allows you to specify minion IDs
3722       for which keys will automatically be rejected. Will override both  mem‐
3723       bership in the autosign_file and the auto_accept setting.
3724
3725   autosign_grains_dir
3726       New in version 2018.3.0.
3727
3728
3729       Default: not defined
3730
3731       If  the  autosign_grains_dir  is  specified, incoming keys from minions
3732       with  grain  values  that  match  those  defined  in   files   in   the
3733       autosign_grains_dir  will  be accepted automatically. Grain values that
3734       should be accepted automatically can be  defined  by  creating  a  file
3735       named like the corresponding grain in the autosign_grains_dir and writ‐
3736       ing the values into that file, one value per line.  Lines starting with
3737       a # will be ignored.  Minion must be configured to send the correspond‐
3738       ing grains on authentication.  This should still be considered  a  less
3739       than  secure  option,  due  to the fact that trust is based on just the
3740       requesting minion.
3741
3742       Please see the Autoaccept Minions from Grains  documentation  for  more
3743       information.
3744
3745          autosign_grains_dir: /etc/salt/autosign_grains
3746
3747   permissive_pki_access
3748       Default: False
3749
3750       Enable  permissive  access to the salt keys. This allows you to run the
3751       master or minion as root, but have a non-root group be given access  to
3752       your  pki_dir.  To  make  the  access explicit, root must belong to the
3753       group you've given access to. This is potentially quite insecure. If an
3754       autosign_file  is  specified, enabling permissive_pki_access will allow
3755       group access to that specific file.
3756
3757          permissive_pki_access: False
3758
3759   publisher_acl
3760       Default: {}
3761
3762       Enable user accounts on the master to execute specific  modules.  These
3763       modules can be expressed as regular expressions.
3764
3765          publisher_acl:
3766            fred:
3767              - test.ping
3768              - pkg.*
3769
3770   publisher_acl_blacklist
3771       Default: {}
3772
3773       Blacklist users or modules
3774
3775       This  example  would  blacklist all non sudo users, including root from
3776       running any commands. It would also blacklist any use of the "cmd" mod‐
3777       ule.
3778
3779       This is completely disabled by default.
3780
3781          publisher_acl_blacklist:
3782            users:
3783              - root
3784              - '^(?!sudo_).*$'   #  all non sudo users
3785            modules:
3786              - cmd.*
3787              - test.echo
3788
3789   sudo_acl
3790       Default: False
3791
3792       Enforce  publisher_acl and publisher_acl_blacklist when users have sudo
3793       access to the salt command.
3794
3795          sudo_acl: False
3796
3797   external_auth
3798       Default: {}
3799
3800       The external auth system uses the Salt auth modules to authenticate and
3801       validate users to access areas of the Salt system.
3802
3803          external_auth:
3804            pam:
3805              fred:
3806                - test.*
3807
3808   token_expire
3809       Default: 43200
3810
3811       Time (in seconds) for a newly generated token to live.
3812
3813       Default: 12 hours
3814
3815          token_expire: 43200
3816
3817   token_expire_user_override
3818       Default: False
3819
3820       Allow  eauth users to specify the expiry time of the tokens they gener‐
3821       ate.
3822
3823       A boolean applies to all users or a  dictionary  of  whitelisted  eauth
3824       backends and usernames may be given:
3825
3826          token_expire_user_override:
3827            pam:
3828              - fred
3829              - tom
3830            ldap:
3831              - gary
3832
3833   keep_acl_in_token
3834       Default: False
3835
3836       Set  to  True  to enable keeping the calculated user's auth list in the
3837       token file. This is disabled by default and the auth list is calculated
3838       or requested from the eauth driver each time.
3839
3840          keep_acl_in_token: False
3841
3842   eauth_acl_module
3843       Default: ''
3844
3845       Auth  subsystem module to use to get authorized access list for a user.
3846       By default it's the same module used for external authentication.
3847
3848          eauth_acl_module: django
3849
3850   file_recv
3851       Default: False
3852
3853       Allow minions to push files to the master. This is disabled by default,
3854       for security purposes.
3855
3856          file_recv: False
3857
3858   file_recv_max_size
3859       New in version 2014.7.0.
3860
3861
3862       Default: 100
3863
3864       Set  a  hard-limit  on  the size of the files that can be pushed to the
3865       master.  It will be interpreted as megabytes.
3866
3867          file_recv_max_size: 100
3868
3869   master_sign_pubkey
3870       Default: False
3871
3872       Sign the master auth-replies with a cryptographic signature of the mas‐
3873       ter's  public key. Please see the tutorial how to use these settings in
3874       the Multimaster-PKI with Failover Tutorial
3875
3876          master_sign_pubkey: True
3877
3878   master_sign_key_name
3879       Default: master_sign
3880
3881       The customizable name of the signing-key-pair without suffix.
3882
3883          master_sign_key_name: <filename_without_suffix>
3884
3885   master_pubkey_signature
3886       Default: master_pubkey_signature
3887
3888       The name of the file in  the  master's  pki-directory  that  holds  the
3889       pre-calculated signature of the master's public-key.
3890
3891          master_pubkey_signature: <filename>
3892
3893   master_use_pubkey_signature
3894       Default: False
3895
3896       Instead  of computing the signature for each auth-reply, use a pre-cal‐
3897       culated signature. The master_pubkey_signature must  also  be  set  for
3898       this.
3899
3900          master_use_pubkey_signature: True
3901
3902   rotate_aes_key
3903       Default: True
3904
3905       Rotate  the  salt-masters  AES-key when a minion-public is deleted with
3906       salt-key.  This is a very important security-setting. Disabling it will
3907       enable  deleted minions to still listen in on the messages published by
3908       the salt-master.  Do not disable this unless  it  is  absolutely  clear
3909       what this does.
3910
3911          rotate_aes_key: True
3912
3913   publish_session
3914       Default: 86400
3915
3916       The number of seconds between AES key rotations on the master.
3917
3918          publish_session: Default: 86400
3919
3920   ssl
3921       New in version 2016.11.0.
3922
3923
3924       Default: None
3925
3926       TLS/SSL  connection options. This could be set to a dictionary contain‐
3927       ing arguments  corresponding  to  python  ssl.wrap_socket  method.  For
3928       details see Tornado and Python documentation.
3929
3930       Note:  to  set enum arguments values like cert_reqs and ssl_version use
3931       constant names without  ssl  module  prefix:  CERT_REQUIRED  or  PROTO‐
3932       COL_SSLv23.
3933
3934          ssl:
3935              keyfile: <path_to_keyfile>
3936              certfile: <path_to_certfile>
3937              ssl_version: PROTOCOL_TLSv1_2
3938
3939   preserve_minion_cache
3940       Default: False
3941
3942       By  default,  the  master deletes its cache of minion data when the key
3943       for that minion is removed. To preserve the cache after  key  deletion,
3944       set preserve_minion_cache to True.
3945
3946       WARNING:  This  may  have  security implications if compromised minions
3947       auth with a previous deleted minion ID.
3948
3949          preserve_minion_cache: False
3950
3951   allow_minion_key_revoke
3952       Default: True
3953
3954       Controls whether a minion can request its  own  key  revocation.   When
3955       True  the  master  will  honor the minion's request and revoke its key.
3956       When False, the master will drop the request and the minion's key  will
3957       remain accepted.
3958
3959          allow_minion_key_revoke: False
3960
3961   optimization_order
3962       Default: [0, 1, 2]
3963
3964       In  cases  where  Salt  is  distributed  without .py files, this option
3965       determines the priority of optimization level(s) Salt's  module  loader
3966       should prefer.
3967
3968       NOTE:
3969          This option is only supported on Python 3.5+.
3970
3971          optimization_order:
3972            - 2
3973            - 0
3974            - 1
3975
3976   Master Large Scale Tuning Settings
3977   max_open_files
3978       Default: 100000
3979
3980       Each minion connecting to the master uses AT LEAST one file descriptor,
3981       the master subscription connection. If enough minions connect you might
3982       start seeing on the console(and then salt-master crashes):
3983
3984          Too many open files (tcp_listener.cpp:335)
3985          Aborted (core dumped)
3986
3987          max_open_files: 100000
3988
3989       By  default  this  value  will be the one of ulimit -Hn, i.e., the hard
3990       limit for max open files.
3991
3992       To set a different value than the default one, uncomment, and configure
3993       this  setting.  Remember that this value CANNOT be higher than the hard
3994       limit. Raising the hard limit depends on the OS and/or distribution,  a
3995       good way to find the limit is to search the internet for something like
3996       this:
3997
3998          raise max open files hard limit debian
3999
4000   worker_threads
4001       Default: 5
4002
4003       The number of threads to start for receiving commands and replies  from
4004       minions.  If minions are stalling on replies because you have many min‐
4005       ions, raise the worker_threads value.
4006
4007       Worker threads should not be put below 3 when using  the  peer  system,
4008       but can drop down to 1 worker otherwise.
4009
4010       NOTE:
4011          When  the master daemon starts, it is expected behaviour to see mul‐
4012          tiple salt-master processes, even if 'worker_threads' is set to '1'.
4013          At  a  minimum,  a  controlling process will start along with a Pub‐
4014          lisher, an EventPublisher, and a number of MWorker processes will be
4015          started.  The  number  of  MWorker  processes  is  tuneable  by  the
4016          'worker_threads' configuration value while the others are not.
4017
4018          worker_threads: 5
4019
4020   pub_hwm
4021       Default: 1000
4022
4023       The zeromq high water mark on the publisher interface.
4024
4025          pub_hwm: 1000
4026
4027   zmq_backlog
4028       Default: 1000
4029
4030       The listen queue size of the ZeroMQ backlog.
4031
4032          zmq_backlog: 1000
4033
4034   Master Module Management
4035   runner_dirs
4036       Default: []
4037
4038       Set additional directories to search for runner modules.
4039
4040          runner_dirs:
4041            - /var/lib/salt/runners
4042
4043   utils_dirs
4044       New in version 2018.3.0.
4045
4046
4047       Default: []
4048
4049       Set additional directories to search for util modules.
4050
4051          utils_dirs:
4052            - /var/lib/salt/utils
4053
4054   cython_enable
4055       Default: False
4056
4057       Set to true to enable Cython modules (.pyx files) to be compiled on the
4058       fly on the Salt master.
4059
4060          cython_enable: False
4061
4062   Master State System Settings
4063   state_top
4064       Default: top.sls
4065
4066       The state system uses a "top" file to tell the minions what environment
4067       to use and what modules to use. The state_top file is defined  relative
4068       to  the  root of the base environment. The value of "state_top" is also
4069       used for the pillar top file
4070
4071          state_top: top.sls
4072
4073   state_top_saltenv
4074       This option has no default value. Set it  to  an  environment  name  to
4075       ensure  that only the top file from that environment is considered dur‐
4076       ing a highstate.
4077
4078       NOTE:
4079          Using this value does not change the merging strategy. For instance,
4080          if  top_file_merging_strategy is set to merge, and state_top_saltenv
4081          is set to foo, then any sections for environments other than foo  in
4082          the  top  file  for  the  foo  environment  will  be  ignored.  With
4083          state_top_saltenv set to base, all states from all  environments  in
4084          the  base  top  file  will be applied, while all other top files are
4085          ignored. The only way to set state_top_saltenv  to  something  other
4086          than  base  and  not have the other environments in the targeted top
4087          file  ignored,  would  be  to   set   top_file_merging_strategy   to
4088          merge_all.
4089
4090          state_top_saltenv: dev
4091
4092   top_file_merging_strategy
4093       Changed in version 2016.11.0: A merge_all strategy has been added.
4094
4095
4096       Default: merge
4097
4098       When no specific fileserver environment (a.k.a. saltenv) has been spec‐
4099       ified for a highstate, all environments' top files are inspected.  This
4100       config  option  determines  how  the SLS targets in those top files are
4101       handled.
4102
4103       When set to merge, the base environment's top file is evaluated  first,
4104       followed by the other environments' top files. The first target expres‐
4105       sion (e.g. '*') for a given environment is kept, and when the same tar‐
4106       get  expression  is used in a different top file evaluated later, it is
4107       ignored.  Because base is evaluated first,  it  is  authoritative.  For
4108       example,  if  there is a target for '*' for the foo environment in both
4109       the base and foo environment's top files, the one in the  foo  environ‐
4110       ment  would  be  ignored. The environments will be evaluated in no spe‐
4111       cific order (aside from base coming first). For  greater  control  over
4112       the  order in which the environments are evaluated, use env_order. Note
4113       that, aside from the base environment's top file, any sections  in  top
4114       files  that  do  not match that top file's environment will be ignored.
4115       So, for example, a section for the qa environment would be  ignored  if
4116       it  appears  in  the dev environment's top file. To keep use cases like
4117       this from being ignored, use the merge_all strategy.
4118
4119       When set to same, then for each environment,  only  that  environment's
4120       top file is processed, with the others being ignored. For example, only
4121       the dev environment's top file will be processed for the  dev  environ‐
4122       ment, and any SLS targets defined for dev in the base environment's (or
4123       any other environment's) top file will be ignored.  If  an  environment
4124       does not have a top file, then the top file from the default_top config
4125       parameter will be used as a fallback.
4126
4127       When set to merge_all, then all states in all environments in  all  top
4128       files  will be applied. The order in which individual SLS files will be
4129       executed will depend on the order in which the top  files  were  evalu‐
4130       ated,  and the environments will be evaluated in no specific order. For
4131       greater control over the order in which the environments are evaluated,
4132       use env_order.
4133
4134          top_file_merging_strategy: same
4135
4136   env_order
4137       Default: []
4138
4139       When  top_file_merging_strategy  is set to merge, and no environment is
4140       specified for a highstate, this config option allows for the  order  in
4141       which top files are evaluated to be explicitly defined.
4142
4143          env_order:
4144            - base
4145            - dev
4146            - qa
4147
4148   master_tops
4149       Default: {}
4150
4151       The master_tops option replaces the external_nodes option by creating a
4152       pluggable system for the generation of external top  data.  The  exter‐
4153       nal_nodes  option is deprecated by the master_tops option.  To gain the
4154       capabilities of the classic external_nodes system,  use  the  following
4155       configuration:
4156
4157          master_tops:
4158            ext_nodes: <Shell command which returns yaml>
4159
4160   renderer
4161       Default: jinja|yaml
4162
4163       The renderer to use on the minions to render the state data.
4164
4165          renderer: jinja|json
4166
4167   userdata_template
4168       New in version 2016.11.4.
4169
4170
4171       Default: None
4172
4173       The renderer to use for templating userdata files in salt-cloud, if the
4174       userdata_template is not set in the cloud profile. If no value  is  set
4175       in  the cloud profile or master config file, no templating will be per‐
4176       formed.
4177
4178          userdata_template: jinja
4179
4180   jinja_env
4181       New in version 2018.3.0.
4182
4183
4184       Default: {}
4185
4186       jinja_env overrides the default Jinja environment options for all  tem‐
4187       plates  except sls templates.  To set the options for sls templates use
4188       jinja_sls_env.
4189
4190       NOTE:
4191          The Jinja2 Environment documentation is the official source for  the
4192          default  values.  Not all the options listed in the jinja documenta‐
4193          tion can be overridden using jinja_env or jinja_sls_env.
4194
4195       The default options are:
4196
4197          jinja_env:
4198            block_start_string: '{%'
4199            block_end_string: '%}'
4200            variable_start_string: '{{'
4201            variable_end_string: '}}'
4202            comment_start_string: '{#'
4203            comment_end_string: '#}'
4204            line_statement_prefix:
4205            line_comment_prefix:
4206            trim_blocks: False
4207            lstrip_blocks: False
4208            newline_sequence: '\n'
4209            keep_trailing_newline: False
4210
4211   jinja_sls_env
4212       New in version 2018.3.0.
4213
4214
4215       Default: {}
4216
4217       jinja_sls_env sets the Jinja environment  options  for  sls  templates.
4218       The  defaults and accepted options are exactly the same as they are for
4219       jinja_env.
4220
4221       The default options are:
4222
4223          jinja_sls_env:
4224            block_start_string: '{%'
4225            block_end_string: '%}'
4226            variable_start_string: '{{'
4227            variable_end_string: '}}'
4228            comment_start_string: '{#'
4229            comment_end_string: '#}'
4230            line_statement_prefix:
4231            line_comment_prefix:
4232            trim_blocks: False
4233            lstrip_blocks: False
4234            newline_sequence: '\n'
4235            keep_trailing_newline: False
4236
4237       Example using line statements and line comments  to  increase  ease  of
4238       use:
4239
4240       If your configuration options are
4241
4242          jinja_sls_env:
4243            line_statement_prefix: '%'
4244            line_comment_prefix: '##'
4245
4246       With these options jinja will interpret anything after a % at the start
4247       of a line (ignoreing whitespace) as a jinja statement and  will  inter‐
4248       pret anything after a ## as a comment.
4249
4250       This allows the following more convenient syntax to be used:
4251
4252          ## (this comment will not stay once rendered)
4253          # (this comment remains in the rendered template)
4254          ## ensure all the formula services are running
4255          % for service in formula_services:
4256          enable_service_{{ service }}:
4257            service.running:
4258              name: {{ service }}
4259          % endfor
4260
4261       The  following  less  convenient but equivalent syntax would have to be
4262       used if you had not set the line_statement and line_comment options:
4263
4264          {# (this comment will not stay once rendered) #}
4265          # (this comment remains in the rendered template)
4266          {# ensure all the formula services are running #}
4267          {% for service in formula_services %}
4268          enable_service_{{ service }}:
4269            service.running:
4270              name: {{ service }}
4271          {% endfor %}
4272
4273   jinja_trim_blocks
4274       Deprecated  since  version  2018.3.0:   Replaced   by   jinja_env   and
4275       jinja_sls_env
4276
4277
4278       New in version 2014.1.0.
4279
4280
4281       Default: False
4282
4283       If  this  is  set  to  True,  the  first newline after a Jinja block is
4284       removed (block, not variable tag!). Defaults to False  and  corresponds
4285       to the Jinja environment init variable trim_blocks.
4286
4287          jinja_trim_blocks: False
4288
4289   jinja_lstrip_blocks
4290       Deprecated   since   version   2018.3.0:   Replaced  by  jinja_env  and
4291       jinja_sls_env
4292
4293
4294       New in version 2014.1.0.
4295
4296
4297       Default: False
4298
4299       If this is set to True, leading spaces and tabs are stripped  from  the
4300       start  of  a  line to a block. Defaults to False and corresponds to the
4301       Jinja environment init variable lstrip_blocks.
4302
4303          jinja_lstrip_blocks: False
4304
4305   failhard
4306       Default: False
4307
4308       Set the global failhard flag. This informs all states to  stop  running
4309       states at the moment a single state fails.
4310
4311          failhard: False
4312
4313   state_verbose
4314       Default: True
4315
4316       Controls  the  verbosity  of state runs. By default, the results of all
4317       states are returned, but setting this value to False will cause salt to
4318       only display output for states that failed or states that have changes.
4319
4320          state_verbose: False
4321
4322   state_output
4323       Default: full
4324
4325       The  state_output  setting  controls  which results will be output full
4326       multi line:
4327
4328       · full, terse - each state will be full/terse
4329
4330       · mixed - only states with errors will be full
4331
4332       · changes - states with changes and errors will be full
4333
4334       full_id, mixed_id, changes_id and terse_id are also allowed; when  set,
4335       the state ID will be used as name in the output.
4336
4337          state_output: full
4338
4339   state_output_diff
4340       Default: False
4341
4342       The  state_output_diff  setting  changes whether or not the output from
4343       successful states is returned. Useful when even  the  terse  output  of
4344       these states is cluttering the logs. Set it to True to ignore them.
4345
4346          state_output_diff: False
4347
4348   state_aggregate
4349       Default: False
4350
4351       Automatically  aggregate all states that have support for mod_aggregate
4352       by setting to True. Or pass a list of state module names  to  automati‐
4353       cally aggregate just those types.
4354
4355          state_aggregate:
4356            - pkg
4357
4358          state_aggregate: True
4359
4360   state_events
4361       Default: False
4362
4363       Send  progress  events as each function in a state run completes execu‐
4364       tion  by  setting  to  True.  Progress  events  are   in   the   format
4365       salt/job/<JID>/prog/<MID>/<RUN NUM>.
4366
4367          state_events: True
4368
4369   yaml_utf8
4370       Default: False
4371
4372       Enable  extra  routines  for  YAML  renderer used states containing UTF
4373       characters.
4374
4375          yaml_utf8: False
4376
4377   runner_returns
4378       Default: False
4379
4380       If set to True, runner jobs will be saved  to  job  cache  (defined  by
4381       master_job_cache).
4382
4383          runner_returns: True
4384
4385   Master File Server Settings
4386   fileserver_backend
4387       Default: ['roots']
4388
4389       Salt  supports  a modular fileserver backend system, this system allows
4390       the salt master to link directly to third party systems to  gather  and
4391       manage the files available to minions. Multiple backends can be config‐
4392       ured and will be searched for the requested file in the order in  which
4393       they  are  defined  here. The default setting only enables the standard
4394       backend roots, which is configured using the file_roots option.
4395
4396       Example:
4397
4398          fileserver_backend:
4399            - roots
4400            - gitfs
4401
4402       NOTE:
4403          For masterless Salt, this parameter must be specified in the  minion
4404          config file.
4405
4406   fileserver_followsymlinks
4407       New in version 2014.1.0.
4408
4409
4410       Default: True
4411
4412       By  default, the file_server follows symlinks when walking the filesys‐
4413       tem tree.  Currently this only  applies  to  the  default  roots  file‐
4414       server_backend.
4415
4416          fileserver_followsymlinks: True
4417
4418   fileserver_ignoresymlinks
4419       New in version 2014.1.0.
4420
4421
4422       Default: False
4423
4424       If  you do not want symlinks to be treated as the files they are point‐
4425       ing to, set fileserver_ignoresymlinks to True. By default this  is  set
4426       to False. When set to True, any detected symlink while listing files on
4427       the Master will not be returned to the Minion.
4428
4429          fileserver_ignoresymlinks: False
4430
4431   fileserver_limit_traversal
4432       New in version 2014.1.0.
4433
4434
4435       Deprecated since version 2018.3.4: This option is now ignored. Firstly,
4436       it only traversed file_roots, which means it did not work for the other
4437       fileserver backends. Secondly, since this  option  was  added  we  have
4438       added  caching  to  the  code that traverses the file_roots (and gitfs,
4439       etc.), which greatly reduces the amount of traversal that is done.
4440
4441
4442       Default: False
4443
4444       By default, the Salt fileserver recurses fully into all  defined  envi‐
4445       ronments  to  attempt to find files. To limit this behavior so that the
4446       fileserver only traverses directories with SLS files and  special  Salt
4447       directories like _modules, set fileserver_limit_traversal to True. This
4448       might be useful for installations where a file root has  a  very  large
4449       number of files and performance is impacted.
4450
4451          fileserver_limit_traversal: False
4452
4453   fileserver_list_cache_time
4454       New in version 2014.1.0.
4455
4456
4457       Changed  in  version 2016.11.0: The default was changed from 30 seconds
4458       to 20.
4459
4460
4461       Default: 20
4462
4463       Salt caches the list of files/symlinks/directories for each  fileserver
4464       backend  and environment as they are requested, to guard against a per‐
4465       formance bottleneck at scale when many minions all ask  the  fileserver
4466       which  files are available simultaneously. This configuration parameter
4467       allows for the max age of that cache to be altered.
4468
4469       Set this value to 0 to disable use of this cache altogether,  but  keep
4470       in  mind that this may increase the CPU load on the master when running
4471       a highstate on a large number of minions.
4472
4473       NOTE:
4474          Rather than altering this configuration parameter, it may be  advis‐
4475          able  to  use  the  fileserver.clear_file_list_cache runner to clear
4476          these caches.
4477
4478          fileserver_list_cache_time: 5
4479
4480   fileserver_verify_config
4481       New in version 2017.7.0.
4482
4483
4484       Default: True
4485
4486       By default, as the master starts it performs some sanity checks on  the
4487       configured  fileserver  backends.  If  any  of these sanity checks fail
4488       (such as when an invalid configuration is used), the master daemon will
4489       abort.
4490
4491       To skip these sanity checks, set this option to False.
4492
4493          fileserver_verify_config: False
4494
4495   hash_type
4496       Default: sha256
4497
4498       The hash_type is the hash to use when discovering the hash of a file on
4499       the master server. The  default  is  sha256,  but  md5,  sha1,  sha224,
4500       sha384, and sha512 are also supported.
4501
4502          hash_type: sha256
4503
4504   file_buffer_size
4505       Default: 1048576
4506
4507       The buffer size in the file server in bytes.
4508
4509          file_buffer_size: 1048576
4510
4511   file_ignore_regex
4512       Default: ''
4513
4514       A  regular  expression  (or a list of expressions) that will be matched
4515       against the file path before syncing the modules and states to the min‐
4516       ions.   This  includes  files  affected by the file.recurse state.  For
4517       example, if you manage your custom modules and states in subversion and
4518       don't  want  all the '.svn' folders and content synced to your minions,
4519       you could set this to '/.svn($|/)'. By default nothing is ignored.
4520
4521          file_ignore_regex:
4522            - '/\.svn($|/)'
4523            - '/\.git($|/)'
4524
4525   file_ignore_glob
4526       Default ''
4527
4528       A file glob (or list of file globs) that will be  matched  against  the
4529       file path before syncing the modules and states to the minions. This is
4530       similar to file_ignore_regex above,  but  works  on  globs  instead  of
4531       regex. By default nothing is ignored.
4532
4533          file_ignore_glob:
4534            - '\*.pyc'
4535            - '\*/somefolder/\*.bak'
4536            - '\*.swp'
4537
4538       NOTE:
4539          Vim's   .swp   files  are  a  common  cause  of  Unicode  errors  in
4540          file.recurse states which use templating. Unless  there  is  a  good
4541          reason to distribute them via the fileserver, it is good practice to
4542          include '\*.swp' in the file_ignore_glob.
4543
4544   master_roots
4545       Default: /srv/salt-master
4546
4547       A master-only copy of the file_roots dictionary, used by the state com‐
4548       piler.
4549
4550          master_roots: /srv/salt-master
4551
4552   roots: Master's Local File Server
4553   file_roots
4554       Default:
4555
4556          base:
4557            - /srv/salt
4558
4559       Salt  runs a lightweight file server written in ZeroMQ to deliver files
4560       to minions. This file server is built into the master daemon  and  does
4561       not require a dedicated port.
4562
4563       The  file server works on environments passed to the master. Each envi‐
4564       ronment can have multiple root directories. The subdirectories  in  the
4565       multiple  file  roots cannot match, otherwise the downloaded files will
4566       not be able to be reliably ensured. A base environment is  required  to
4567       house the top file.
4568
4569       Example:
4570
4571          file_roots:
4572            base:
4573              - /srv/salt
4574            dev:
4575              - /srv/salt/dev/services
4576              - /srv/salt/dev/states
4577            prod:
4578              - /srv/salt/prod/services
4579              - /srv/salt/prod/states
4580
4581       NOTE:
4582          For  masterless Salt, this parameter must be specified in the minion
4583          config file.
4584
4585   roots_update_interval
4586       New in version 2018.3.0.
4587
4588
4589       Default: 60
4590
4591       This option defines the update interval (in seconds) for file_roots.
4592
4593       NOTE:
4594          Since file_roots consists of files local to the minion,  the  update
4595          process  for  this  fileserver backend just reaps the cache for this
4596          backend.
4597
4598          roots_update_interval: 120
4599
4600   gitfs: Git Remote File Server Backend
4601   gitfs_remotes
4602       Default: []
4603
4604       When using the git fileserver backend at least one git remote needs  to
4605       be  defined.  The user running the salt master will need read access to
4606       the repo.
4607
4608       The repos will be searched in order to find the  file  requested  by  a
4609       client and the first repo to have the file will return it. Branches and
4610       tags are translated into salt environments.
4611
4612          gitfs_remotes:
4613            - git://github.com/saltstack/salt-states.git
4614            - file:///var/git/saltmaster
4615
4616       NOTE:
4617          file:// repos will be treated as a remote and copied into  the  mas‐
4618          ter's  gitfs  cache,  so only the local refs for those repos will be
4619          exposed as fileserver environments.
4620
4621       As of 2014.7.0, it is possible to have per-repo versions of several  of
4622       the gitfs configuration parameters. For more information, see the GitFS
4623       Walkthrough.
4624
4625   gitfs_provider
4626       New in version 2014.7.0.
4627
4628
4629       Optional parameter used to specify the provider to be used  for  gitfs.
4630       More information can be found in the GitFS Walkthrough.
4631
4632       Must  be  either pygit2 or gitpython. If unset, then each will be tried
4633       in that same order,  and  the  first  one  with  a  compatible  version
4634       installed will be the provider that is used.
4635
4636          gitfs_provider: gitpython
4637
4638   gitfs_ssl_verify
4639       Default: True
4640
4641       Specifies whether or not to ignore SSL certificate errors when fetching
4642       from the repositories configured in gitfs_remotes. The False setting is
4643       useful  if you're using a git repo that uses a self-signed certificate.
4644       However, keep in mind that setting this to anything  other  True  is  a
4645       considered  insecure,  and  using an SSH-based transport (if available)
4646       may be a better option.
4647
4648          gitfs_ssl_verify: False
4649
4650       NOTE:
4651          pygit2 only supports disabling SSL verification in  versions  0.23.2
4652          and newer.
4653
4654       Changed in version 2015.8.0: This option can now be configured on indi‐
4655       vidual repositories as well. See here for more info.
4656
4657
4658       Changed in version 2016.11.0: The default  config  value  changed  from
4659       False to True.
4660
4661
4662   gitfs_mountpoint
4663       New in version 2014.7.0.
4664
4665
4666       Default: ''
4667
4668       Specifies  a path on the salt fileserver which will be prepended to all
4669       files served by gitfs. This option can  be  used  in  conjunction  with
4670       gitfs_root. It can also be configured for an individual repository, see
4671       here for more info.
4672
4673          gitfs_mountpoint: salt://foo/bar
4674
4675       NOTE:
4676          The salt:// protocol designation can be left off  (in  other  words,
4677          foo/bar  and  salt://foo/bar are equivalent). Assuming a file baz.sh
4678          in the root of a gitfs remote, and  the  above  example  mountpoint,
4679          this file would be served up via salt://foo/bar/baz.sh.
4680
4681   gitfs_root
4682       Default: ''
4683
4684       Relative  path  to a subdirectory within the repository from which Salt
4685       should begin to serve files. This is useful when there are files in the
4686       repository  that should not be available to the Salt fileserver. Can be
4687       used in conjunction with gitfs_mountpoint. If used,  then  from  Salt's
4688       perspective the directories above the one specified will be ignored and
4689       the relative path will (for the purposes of gitfs) be considered as the
4690       root of the repo.
4691
4692          gitfs_root: somefolder/otherfolder
4693
4694       Changed in version 2014.7.0: This option can now be configured on indi‐
4695       vidual repositories as well. See here for more info.
4696
4697
4698   gitfs_base
4699       Default: master
4700
4701       Defines which branch/tag should be used as the base environment.
4702
4703          gitfs_base: salt
4704
4705       Changed in version 2014.7.0: This option can now be configured on indi‐
4706       vidual repositories as well. See here for more info.
4707
4708
4709   gitfs_saltenv
4710       New in version 2016.11.0.
4711
4712
4713       Default: []
4714
4715       Global   settings  for  per-saltenv  configuration  parameters.  Though
4716       per-saltenv configuration parameters are typically one-off changes spe‐
4717       cific  to  a  single  gitfs remote, and thus more often configured on a
4718       per-remote basis, this parameter can be  used  to  specify  per-saltenv
4719       changes  which should apply to all remotes. For example, the below con‐
4720       figuration will map the develop branch to the dev saltenv for all gitfs
4721       remotes.
4722
4723          gitfs_saltenv:
4724            - dev:
4725              - ref: develop
4726
4727   gitfs_disable_saltenv_mapping
4728       New in version 2018.3.0.
4729
4730
4731       Default: False
4732
4733       When  set to True, all saltenv mapping logic is disregarded (aside from
4734       which branch/tag is mapped to the base saltenv). To use any other envi‐
4735       ronments,  they  must  then  be defined using per-saltenv configuration
4736       parameters.
4737
4738          gitfs_disable_saltenv_mapping: True
4739
4740       NOTE:
4741          This is is a global configuration option, see here for  examples  of
4742          configuring it for individual repositories.
4743
4744   gitfs_ref_types
4745       New in version 2018.3.0.
4746
4747
4748       Default: ['branch', 'tag', 'sha']
4749
4750       This  option  defines what types of refs are mapped to fileserver envi‐
4751       ronments (i.e. saltenvs). It also sets the  order  of  preference  when
4752       there  are ambiguously-named refs (i.e. when a branch and tag both have
4753       the same name).  The below example disables mapping of  both  tags  and
4754       SHAs, so that only branches are mapped as saltenvs:
4755
4756          gitfs_ref_types:
4757            - branch
4758
4759       NOTE:
4760          This  is  is a global configuration option, see here for examples of
4761          configuring it for individual repositories.
4762
4763       NOTE:
4764          sha is special in that it will not show  up  when  listing  saltenvs
4765          (e.g.  with the fileserver.envs runner), but works within states and
4766          with cp.cache_file to retrieve a file from a specific git SHA.
4767
4768   gitfs_saltenv_whitelist
4769       New in version 2014.7.0.
4770
4771
4772       Changed  in  version  2018.3.0:  Renamed  from  gitfs_env_whitelist  to
4773       gitfs_saltenv_whitelist
4774
4775
4776       Default: []
4777
4778       Used  to  restrict  which environments are made available. Can speed up
4779       state runs if the repos in gitfs_remotes  contain  many  branches/tags.
4780       More information can be found in the GitFS Walkthrough.
4781
4782          gitfs_saltenv_whitelist:
4783            - base
4784            - v1.*
4785            - 'mybranch\d+'
4786
4787   gitfs_saltenv_blacklist
4788       New in version 2014.7.0.
4789
4790
4791       Changed  in  version  2018.3.0:  Renamed  from  gitfs_env_blacklist  to
4792       gitfs_saltenv_blacklist
4793
4794
4795       Default: []
4796
4797       Used to restrict which environments are made available.  Can  speed  up
4798       state  runs  if  the repos in gitfs_remotes contain many branches/tags.
4799       More information can be found in the GitFS Walkthrough.
4800
4801          gitfs_saltenv_blacklist:
4802            - base
4803            - v1.*
4804            - 'mybranch\d+'
4805
4806   gitfs_global_lock
4807       New in version 2015.8.9.
4808
4809
4810       Default: True
4811
4812       When set to False, if there is an update lock for a  gitfs  remote  and
4813       the  pid written to it is not running on the master, the lock file will
4814       be automatically cleared and a new lock will be obtained. When  set  to
4815       True,  Salt  will  simply  log  a  warning when there is an update lock
4816       present.
4817
4818       On single-master deployments, disabling this option can help  automati‐
4819       cally  deal with instances where the master was shutdown/restarted dur‐
4820       ing the middle of a gitfs update, leaving a update lock in place.
4821
4822       However, on multi-master deployments with the gitfs cachedir shared via
4823       GlusterFS,  nfs,  or  another network filesystem, it is strongly recom‐
4824       mended not to disable this option as doing so will cause lock files  to
4825       be removed if they were created by a different master.
4826
4827          # Disable global lock
4828          gitfs_global_lock: False
4829
4830   gitfs_update_interval
4831       New in version 2018.3.0.
4832
4833
4834       Default: 60
4835
4836       This  option defines the default update interval (in seconds) for gitfs
4837       remotes.  The update interval can also be set for a  single  repository
4838       via a per-remote config option
4839
4840          gitfs_update_interval: 120
4841
4842   GitFS Authentication Options
4843       These  parameters  only  currently  apply to the pygit2 gitfs provider.
4844       Examples of how to use these can be found in the GitFS Walkthrough.
4845
4846   gitfs_user
4847       New in version 2014.7.0.
4848
4849
4850       Default: ''
4851
4852       Along with gitfs_password, is used to authenticate to HTTPS remotes.
4853
4854          gitfs_user: git
4855
4856       NOTE:
4857          This is is a global configuration option, see here for  examples  of
4858          configuring it for individual repositories.
4859
4860   gitfs_password
4861       New in version 2014.7.0.
4862
4863
4864       Default: ''
4865
4866       Along  with gitfs_user, is used to authenticate to HTTPS remotes.  This
4867       parameter is not required if the repository does  not  use  authentica‐
4868       tion.
4869
4870          gitfs_password: mypassword
4871
4872       NOTE:
4873          This  is  is a global configuration option, see here for examples of
4874          configuring it for individual repositories.
4875
4876   gitfs_insecure_auth
4877       New in version 2014.7.0.
4878
4879
4880       Default: False
4881
4882       By default, Salt will not authenticate to an HTTP  (non-HTTPS)  remote.
4883       This  parameter  enables  authentication over HTTP. Enable this at your
4884       own risk.
4885
4886          gitfs_insecure_auth: True
4887
4888       NOTE:
4889          This is is a global configuration option, see here for  examples  of
4890          configuring it for individual repositories.
4891
4892   gitfs_pubkey
4893       New in version 2014.7.0.
4894
4895
4896       Default: ''
4897
4898       Along  with gitfs_privkey (and optionally gitfs_passphrase), is used to
4899       authenticate to SSH remotes.  Required for SSH remotes.
4900
4901          gitfs_pubkey: /path/to/key.pub
4902
4903       NOTE:
4904          This is is a global configuration option, see here for  examples  of
4905          configuring it for individual repositories.
4906
4907   gitfs_privkey
4908       New in version 2014.7.0.
4909
4910
4911       Default: ''
4912
4913       Along  with  gitfs_pubkey (and optionally gitfs_passphrase), is used to
4914       authenticate to SSH remotes.  Required for SSH remotes.
4915
4916          gitfs_privkey: /path/to/key
4917
4918       NOTE:
4919          This is is a global configuration option, see here for  examples  of
4920          configuring it for individual repositories.
4921
4922   gitfs_passphrase
4923       New in version 2014.7.0.
4924
4925
4926       Default: ''
4927
4928       This  parameter  is optional, required only when the SSH key being used
4929       to authenticate is protected by a passphrase.
4930
4931          gitfs_passphrase: mypassphrase
4932
4933       NOTE:
4934          This is is a global configuration option, see here for  examples  of
4935          configuring it for individual repositories.
4936
4937   gitfs_refspecs
4938       New in version 2017.7.0.
4939
4940
4941       Default:                        ['+refs/heads/*:refs/remotes/origin/*',
4942       '+refs/tags/*:refs/tags/*']
4943
4944       When fetching from remote repositories,  by  default  Salt  will  fetch
4945       branches  and  tags. This parameter can be used to override the default
4946       and specify alternate refspecs to be fetched. More information  on  how
4947       this feature works can be found in the GitFS Walkthrough.
4948
4949          gitfs_refspecs:
4950            - '+refs/heads/*:refs/remotes/origin/*'
4951            - '+refs/tags/*:refs/tags/*'
4952            - '+refs/pull/*/head:refs/remotes/origin/pr/*'
4953            - '+refs/pull/*/merge:refs/remotes/origin/merge/*'
4954
4955   hgfs: Mercurial Remote File Server Backend
4956   hgfs_remotes
4957       New in version 0.17.0.
4958
4959
4960       Default: []
4961
4962       When  using  the  hg  fileserver  backend at least one mercurial remote
4963       needs to be defined. The user running the salt master  will  need  read
4964       access to the repo.
4965
4966       The  repos  will  be  searched in order to find the file requested by a
4967       client and the first repo to have the file  will  return  it.  Branches
4968       and/or  bookmarks  are translated into salt environments, as defined by
4969       the hgfs_branch_method parameter.
4970
4971          hgfs_remotes:
4972            - https://username@bitbucket.org/username/reponame
4973
4974       NOTE:
4975          As of 2014.7.0, it is possible to  have  per-repo  versions  of  the
4976          hgfs_root, hgfs_mountpoint, hgfs_base, and hgfs_branch_method param‐
4977          eters.  For example:
4978
4979              hgfs_remotes:
4980                - https://username@bitbucket.org/username/repo1
4981                  - base: saltstates
4982                - https://username@bitbucket.org/username/repo2:
4983                  - root: salt
4984                  - mountpoint: salt://foo/bar/baz
4985                - https://username@bitbucket.org/username/repo3:
4986                  - root: salt/states
4987                  - branch_method: mixed
4988
4989   hgfs_branch_method
4990       New in version 0.17.0.
4991
4992
4993       Default: branches
4994
4995       Defines the objects that will be used as fileserver environments.
4996
4997       · branches - Only branches and tags will be used
4998
4999       · bookmarks - Only bookmarks and tags will be used
5000
5001       · mixed - Branches, bookmarks, and tags will be used
5002
5003          hgfs_branch_method: mixed
5004
5005       NOTE:
5006          Starting in version 2014.1.0, the value of the  hgfs_base  parameter
5007          defines which branch is used as the base environment, allowing for a
5008          base environment to be used with an hgfs_branch_method of bookmarks.
5009
5010          Prior to this release, the default branch will be used as  the  base
5011          environment.
5012
5013   hgfs_mountpoint
5014       New in version 2014.7.0.
5015
5016
5017       Default: ''
5018
5019       Specifies  a path on the salt fileserver which will be prepended to all
5020       files served by hgfs. This option  can  be  used  in  conjunction  with
5021       hgfs_root.  It  can  also be configured on a per-remote basis, see here
5022       for more info.
5023
5024          hgfs_mountpoint: salt://foo/bar
5025
5026       NOTE:
5027          The salt:// protocol designation can be left off  (in  other  words,
5028          foo/bar  and  salt://foo/bar are equivalent). Assuming a file baz.sh
5029          in the root of an hgfs remote, this file  would  be  served  up  via
5030          salt://foo/bar/baz.sh.
5031
5032   hgfs_root
5033       New in version 0.17.0.
5034
5035
5036       Default: ''
5037
5038       Relative  path  to a subdirectory within the repository from which Salt
5039       should begin to serve files. This is useful when there are files in the
5040       repository  that should not be available to the Salt fileserver. Can be
5041       used in conjunction with hgfs_mountpoint. If  used,  then  from  Salt's
5042       perspective the directories above the one specified will be ignored and
5043       the relative path will (for the purposes of hgfs) be considered as  the
5044       root of the repo.
5045
5046          hgfs_root: somefolder/otherfolder
5047
5048       Changed  in  version  2014.7.0:  Ability  to  specify  hgfs  roots on a
5049       per-remote basis was added. See here for more info.
5050
5051
5052   hgfs_base
5053       New in version 2014.1.0.
5054
5055
5056       Default: default
5057
5058       Defines which branch should be used as  the  base  environment.  Change
5059       this  if  hgfs_branch_method is set to bookmarks to specify which book‐
5060       mark should be used as the base environment.
5061
5062          hgfs_base: salt
5063
5064   hgfs_saltenv_whitelist
5065       New in version 2014.7.0.
5066
5067
5068       Changed  in  version  2018.3.0:  Renamed  from  hgfs_env_whitelist   to
5069       hgfs_saltenv_whitelist
5070
5071
5072       Default: []
5073
5074       Used  to  restrict  which environments are made available. Can speed up
5075       state runs if your hgfs remotes contain  many  branches/bookmarks/tags.
5076       Full  names,  globs,  and regular expressions are supported. If using a
5077       regular expression, the expression must match the entire minion ID.
5078
5079       If used, only branches/bookmarks/tags which match one of the  specified
5080       expressions will be exposed as fileserver environments.
5081
5082       If  used in conjunction with hgfs_saltenv_blacklist, then the subset of
5083       branches/bookmarks/tags which match the whitelist but do not match  the
5084       blacklist will be exposed as fileserver environments.
5085
5086          hgfs_saltenv_whitelist:
5087            - base
5088            - v1.*
5089            - 'mybranch\d+'
5090
5091   hgfs_saltenv_blacklist
5092       New in version 2014.7.0.
5093
5094
5095       Changed   in  version  2018.3.0:  Renamed  from  hgfs_env_blacklist  to
5096       hgfs_saltenv_blacklist
5097
5098
5099       Default: []
5100
5101       Used to restrict which environments are made available.  Can  speed  up
5102       state  runs  if your hgfs remotes contain many branches/bookmarks/tags.
5103       Full names, globs, and regular expressions are supported.  If  using  a
5104       regular expression, the expression must match the entire minion ID.
5105
5106       If  used,  branches/bookmarks/tags  which  match  one  of the specified
5107       expressions will not be exposed as fileserver environments.
5108
5109       If used in conjunction with hgfs_saltenv_whitelist, then the subset  of
5110       branches/bookmarks/tags  which match the whitelist but do not match the
5111       blacklist will be exposed as fileserver environments.
5112
5113          hgfs_saltenv_blacklist:
5114            - base
5115            - v1.*
5116            - 'mybranch\d+'
5117
5118   hgfs_update_interval
5119       New in version 2018.3.0.
5120
5121
5122       Default: 60
5123
5124       This option defines the update interval (in seconds) for hgfs_remotes.
5125
5126          hgfs_update_interval: 120
5127
5128   svnfs: Subversion Remote File Server Backend
5129   svnfs_remotes
5130       New in version 0.17.0.
5131
5132
5133       Default: []
5134
5135       When using the svn fileserver backend at least  one  subversion  remote
5136       needs  to  be  defined. The user running the salt master will need read
5137       access to the repo.
5138
5139       The repos will be searched in order to find the  file  requested  by  a
5140       client  and  the first repo to have the file will return it. The trunk,
5141       branches, and tags become environments, with the trunk being  the  base
5142       environment.
5143
5144          svnfs_remotes:
5145            - svn://foo.com/svn/myproject
5146
5147       NOTE:
5148          As of 2014.7.0, it is possible to have per-repo versions of the fol‐
5149          lowing configuration parameters:
5150
5151          · svnfs_root
5152
5153          · svnfs_mountpoint
5154
5155          · svnfs_trunk
5156
5157          · svnfs_branches
5158
5159          · svnfs_tags
5160
5161          For example:
5162
5163              svnfs_remotes:
5164                - svn://foo.com/svn/project1
5165                - svn://foo.com/svn/project2:
5166                  - root: salt
5167                  - mountpoint: salt://foo/bar/baz
5168                - svn//foo.com/svn/project3:
5169                  - root: salt/states
5170                  - branches: branch
5171                  - tags: tag
5172
5173   svnfs_mountpoint
5174       New in version 2014.7.0.
5175
5176
5177       Default: ''
5178
5179       Specifies a path on the salt fileserver which will be prepended to  all
5180       files  served  by  hgfs.  This  option  can be used in conjunction with
5181       svnfs_root. It can also be configured on a per-remote basis,  see  here
5182       for more info.
5183
5184          svnfs_mountpoint: salt://foo/bar
5185
5186       NOTE:
5187          The  salt://  protocol  designation can be left off (in other words,
5188          foo/bar and salt://foo/bar are equivalent). Assuming a  file  baz.sh
5189          in  the  root  of  an svnfs remote, this file would be served up via
5190          salt://foo/bar/baz.sh.
5191
5192   svnfs_root
5193       New in version 0.17.0.
5194
5195
5196       Default: ''
5197
5198       Relative path to a subdirectory within the repository from  which  Salt
5199       should begin to serve files. This is useful when there are files in the
5200       repository that should not be available to the Salt fileserver. Can  be
5201       used  in  conjunction  with svnfs_mountpoint. If used, then from Salt's
5202       perspective the directories above the one specified will be ignored and
5203       the relative path will (for the purposes of svnfs) be considered as the
5204       root of the repo.
5205
5206          svnfs_root: somefolder/otherfolder
5207
5208       Changed in version 2014.7.0:  Ability  to  specify  svnfs  roots  on  a
5209       per-remote basis was added. See here for more info.
5210
5211
5212   svnfs_trunk
5213       New in version 2014.7.0.
5214
5215
5216       Default: trunk
5217
5218       Path relative to the root of the repository where the trunk is located.
5219       Can also be configured on a per-remote basis, see here for more info.
5220
5221          svnfs_trunk: trunk
5222
5223   svnfs_branches
5224       New in version 2014.7.0.
5225
5226
5227       Default: branches
5228
5229       Path relative to the root of the  repository  where  the  branches  are
5230       located.  Can  also  be  configured on a per-remote basis, see here for
5231       more info.
5232
5233          svnfs_branches: branches
5234
5235   svnfs_tags
5236       New in version 2014.7.0.
5237
5238
5239       Default: tags
5240
5241       Path relative to the root of the repository where the tags are located.
5242       Can also be configured on a per-remote basis, see here for more info.
5243
5244          svnfs_tags: tags
5245
5246   svnfs_saltenv_whitelist
5247       New in version 2014.7.0.
5248
5249
5250       Changed  in  version  2018.3.0:  Renamed  from  svnfs_env_whitelist  to
5251       svnfs_saltenv_whitelist
5252
5253
5254       Default: []
5255
5256       Used to restrict which environments are made available.  Can  speed  up
5257       state  runs  if  your  svnfs  remotes  contain many branches/tags. Full
5258       names, globs, and regular expressions are supported. If using a regular
5259       expression, the expression must match the entire minion ID.
5260
5261       If  used,  only  branches/tags which match one of the specified expres‐
5262       sions will be exposed as fileserver environments.
5263
5264       If used in conjunction with svnfs_saltenv_blacklist, then the subset of
5265       branches/tags  which match the whitelist but do not match the blacklist
5266       will be exposed as fileserver environments.
5267
5268          svnfs_saltenv_whitelist:
5269            - base
5270            - v1.*
5271            - 'mybranch\d+'
5272
5273   svnfs_saltenv_blacklist
5274       New in version 2014.7.0.
5275
5276
5277       Changed  in  version  2018.3.0:  Renamed  from  svnfs_env_blacklist  to
5278       svnfs_saltenv_blacklist
5279
5280
5281       Default: []
5282
5283       Used  to  restrict  which environments are made available. Can speed up
5284       state runs if your  svnfs  remotes  contain  many  branches/tags.  Full
5285       names, globs, and regular expressions are supported. If using a regular
5286       expression, the expression must match the entire minion ID.
5287
5288       If used, branches/tags which match one  of  the  specified  expressions
5289       will not be exposed as fileserver environments.
5290
5291       If used in conjunction with svnfs_saltenv_whitelist, then the subset of
5292       branches/tags which match the whitelist but do not match the  blacklist
5293       will be exposed as fileserver environments.
5294
5295          svnfs_saltenv_blacklist:
5296            - base
5297            - v1.*
5298            - 'mybranch\d+'
5299
5300   svnfs_update_interval
5301       New in version 2018.3.0.
5302
5303
5304       Default: 60
5305
5306       This option defines the update interval (in seconds) for svnfs_remotes.
5307
5308          svnfs_update_interval: 120
5309
5310   minionfs: MinionFS Remote File Server Backend
5311   minionfs_env
5312       New in version 2014.7.0.
5313
5314
5315       Default: base
5316
5317       Environment from which MinionFS files are made available.
5318
5319          minionfs_env: minionfs
5320
5321   minionfs_mountpoint
5322       New in version 2014.7.0.
5323
5324
5325       Default: ''
5326
5327       Specifies  a  path on the salt fileserver from which minionfs files are
5328       served.
5329
5330          minionfs_mountpoint: salt://foo/bar
5331
5332       NOTE:
5333          The salt:// protocol designation can be left off  (in  other  words,
5334          foo/bar and salt://foo/bar are equivalent).
5335
5336   minionfs_whitelist
5337       New in version 2014.7.0.
5338
5339
5340       Default: []
5341
5342       Used  to restrict which minions' pushed files are exposed via minionfs.
5343       If using a regular expression, the expression  must  match  the  entire
5344       minion ID.
5345
5346       If  used,  only  the  pushed  files from minions which match one of the
5347       specified expressions will be exposed.
5348
5349       If used in conjunction with  minionfs_blacklist,  then  the  subset  of
5350       hosts  which match the whitelist but do not match the blacklist will be
5351       exposed.
5352
5353          minionfs_whitelist:
5354            - server01
5355            - dev*
5356            - 'mail\d+.mydomain.tld'
5357
5358   minionfs_blacklist
5359       New in version 2014.7.0.
5360
5361
5362       Default: []
5363
5364       Used to restrict which minions' pushed files are exposed via  minionfs.
5365       If  using  a  regular  expression, the expression must match the entire
5366       minion ID.
5367
5368       If used, only the pushed files from minions  which  match  one  of  the
5369       specified expressions will not be exposed.
5370
5371       If  used  in  conjunction  with  minionfs_whitelist, then the subset of
5372       hosts which match the whitelist but do not match the blacklist will  be
5373       exposed.
5374
5375          minionfs_blacklist:
5376            - server01
5377            - dev*
5378            - 'mail\d+.mydomain.tld'
5379
5380   minionfs_update_interval
5381       New in version 2018.3.0.
5382
5383
5384       Default: 60
5385
5386       This option defines the update interval (in seconds) for MinionFS.
5387
5388       NOTE:
5389          Since  MinionFS  consists  of  files local to the master, the update
5390          process for this fileserver backend just reaps the  cache  for  this
5391          backend.
5392
5393          minionfs_update_interval: 120
5394
5395   azurefs: Azure File Server Backend
5396       New in version 2015.8.0.
5397
5398
5399       See the azurefs documentation for usage examples.
5400
5401   azurefs_update_interval
5402       New in version 2018.3.0.
5403
5404
5405       Default: 60
5406
5407       This option defines the update interval (in seconds) for azurefs.
5408
5409          azurefs_update_interval: 120
5410
5411   s3fs: S3 File Server Backend
5412       New in version 0.16.0.
5413
5414
5415       See the s3fs documentation for usage examples.
5416
5417   s3fs_update_interval
5418       New in version 2018.3.0.
5419
5420
5421       Default: 60
5422
5423       This option defines the update interval (in seconds) for s3fs.
5424
5425          s3fs_update_interval: 120
5426
5427   Pillar Configuration
5428   pillar_roots
5429       Default:
5430
5431          base:
5432            - /srv/pillar
5433
5434       Set the environments and directories used to hold pillar sls data. This
5435       configuration is the same as file_roots:
5436
5437          pillar_roots:
5438            base:
5439              - /srv/pillar
5440            dev:
5441              - /srv/pillar/dev
5442            prod:
5443              - /srv/pillar/prod
5444
5445   on_demand_ext_pillar
5446       New in version 2016.3.6,2016.11.3,2017.7.0.
5447
5448
5449       Default: ['libvirt', 'virtkey']
5450
5451       The external pillars permitted to be used on-demand using pillar.ext.
5452
5453          on_demand_ext_pillar:
5454            - libvirt
5455            - virtkey
5456            - git
5457
5458       WARNING:
5459          This will allow minions to request specific  pillar  data  via  pil‐
5460          lar.ext, and may be considered a security risk. However, pillar data
5461          generated in this way will not affect the in-memory pillar data,  so
5462          this  risk  is  limited  to  instances  in which states/modules/etc.
5463          (built-in or custom) rely upon pillar data generated by pillar.ext.
5464
5465   decrypt_pillar
5466       New in version 2017.7.0.
5467
5468
5469       Default: []
5470
5471       A list of paths to be recursively decrypted during pillar compilation.
5472
5473          decrypt_pillar:
5474            - 'foo:bar': gpg
5475            - 'lorem:ipsum:dolor'
5476
5477       Entries in this list can be formatted either as a simple string, or  as
5478       a key/value pair, with the key being the pillar location, and the value
5479       being the renderer to use for pillar decryption. If the former is used,
5480       the renderer specified by decrypt_pillar_default will be used.
5481
5482   decrypt_pillar_delimiter
5483       New in version 2017.7.0.
5484
5485
5486       Default: :
5487
5488       The  delimiter  used  to  distinguish  nested  data  structures  in the
5489       decrypt_pillar option.
5490
5491          decrypt_pillar_delimiter: '|'
5492          decrypt_pillar:
5493            - 'foo|bar': gpg
5494            - 'lorem|ipsum|dolor'
5495
5496   decrypt_pillar_default
5497       New in version 2017.7.0.
5498
5499
5500       Default: gpg
5501
5502       The default renderer used for decryption, if one is not specified for a
5503       given pillar key in decrypt_pillar.
5504
5505          decrypt_pillar_default: my_custom_renderer
5506
5507   decrypt_pillar_renderers
5508       New in version 2017.7.0.
5509
5510
5511       Default: ['gpg']
5512
5513       List of renderers which are permitted to be used for pillar decryption.
5514
5515          decrypt_pillar_renderers:
5516            - gpg
5517            - my_custom_renderer
5518
5519   pillar_opts
5520       Default: False
5521
5522       The  pillar_opts  option  adds  the master configuration file data to a
5523       dict in the pillar called master. This can be used to set  simple  con‐
5524       figurations in the master config file that can then be used on minions.
5525
5526       Note that setting this option to True means the master config file will
5527       be included in all minion's pillars. While this makes global configura‐
5528       tion  of  services and systems easy, it may not be desired if sensitive
5529       data is stored in the master configuration.
5530
5531          pillar_opts: False
5532
5533   pillar_safe_render_error
5534       Default: True
5535
5536       The pillar_safe_render_error option prevents the  master  from  passing
5537       pillar  render  errors to the minion. This is set on by default because
5538       the error could contain templating data which would  give  that  minion
5539       information it shouldn't have, like a password! When set True the error
5540       message will only show:
5541
5542          Rendering SLS 'my.sls' failed. Please see master log for details.
5543
5544          pillar_safe_render_error: True
5545
5546   ext_pillar
5547       The ext_pillar option allows for any number of external  pillar  inter‐
5548       faces  to  be  called when populating pillar data. The configuration is
5549       based on ext_pillar functions. The available ext_pillar  functions  can
5550       be found herein:
5551
5552       https://github.com/saltstack/salt/blob/develop/salt/pillar
5553
5554       By default, the ext_pillar interface is not configured to run.
5555
5556       Default: []
5557
5558          ext_pillar:
5559            - hiera: /etc/hiera.yaml
5560            - cmd_yaml: cat /etc/salt/yaml
5561            - reclass:
5562                inventory_base_uri: /etc/reclass
5563
5564       There are additional details at salt-pillars
5565
5566   ext_pillar_first
5567       New in version 2015.5.0.
5568
5569
5570       Default: False
5571
5572       This  option  allows for external pillar sources to be evaluated before
5573       pillar_roots.  External  pillar  data  is  evaluated  separately   from
5574       pillar_roots  pillar data, and then both sets of pillar data are merged
5575       into a single pillar dictionary, so the value  of  this  config  option
5576       will  have  an impact on which key "wins" when there is one of the same
5577       name in both the external pillar data and pillar_roots pillar data.  By
5578       setting  this  option  to  True,  ext_pillar keys will be overridden by
5579       pillar_roots, while leaving it as False will allow ext_pillar  keys  to
5580       override those from pillar_roots.
5581
5582       NOTE:
5583          For  a  while,  this  config option did not work as specified above,
5584          because of a bug in Pillar compilation. This bug has  been  resolved
5585          in version 2016.3.4 and later.
5586
5587          ext_pillar_first: False
5588
5589   pillarenv_from_saltenv
5590       Default: False
5591
5592       When  set  to  True,  the  pillarenv value will assume the value of the
5593       effective saltenv when running states. This essentially makes  salt-run
5594       pillar.show_pillar  saltenv=dev equivalent to salt-run pillar.show_pil‐
5595       lar saltenv=dev pillarenv=dev. If pillarenv is set on the CLI, it  will
5596       override this option.
5597
5598          pillarenv_from_saltenv: True
5599
5600       NOTE:
5601          For  salt remote execution commands this option should be set in the
5602          Minion configuration instead.
5603
5604   pillar_raise_on_missing
5605       New in version 2015.5.0.
5606
5607
5608       Default: False
5609
5610       Set this option to True to force a KeyError to be  raised  whenever  an
5611       attempt  to  retrieve a named value from pillar fails. When this option
5612       is set to False, the failed attempt returns an empty string.
5613
5614   Git External Pillar (git_pillar) Configuration Options
5615   git_pillar_provider
5616       New in version 2015.8.0.
5617
5618
5619       Specify the provider to be used for git_pillar. Must be  either  pygit2
5620       or gitpython. If unset, then both will be tried in that same order, and
5621       the first one with a compatible version installed will be the  provider
5622       that is used.
5623
5624          git_pillar_provider: gitpython
5625
5626   git_pillar_base
5627       New in version 2015.8.0.
5628
5629
5630       Default: master
5631
5632       If  the desired branch matches this value, and the environment is omit‐
5633       ted from the git_pillar configuration, then the  environment  for  that
5634       git_pillar  remote  will  be  base.  For  example, in the configuration
5635       below, the foo branch/tag would be assigned to  the  base  environment,
5636       while bar would be mapped to the bar environment.
5637
5638          git_pillar_base: foo
5639
5640          ext_pillar:
5641            - git:
5642              - foo https://mygitserver/git-pillar.git
5643              - bar https://mygitserver/git-pillar.git
5644
5645   git_pillar_branch
5646       New in version 2015.8.0.
5647
5648
5649       Default: master
5650
5651       If  the  branch  is  omitted from a git_pillar remote, then this branch
5652       will be used instead. For example,  in  the  configuration  below,  the
5653       first  two remotes would use the pillardata branch/tag, while the third
5654       would use the foo branch/tag.
5655
5656          git_pillar_branch: pillardata
5657
5658          ext_pillar:
5659            - git:
5660              - https://mygitserver/pillar1.git
5661              - https://mygitserver/pillar2.git:
5662                - root: pillar
5663              - foo https://mygitserver/pillar3.git
5664
5665   git_pillar_env
5666       New in version 2015.8.0.
5667
5668
5669       Default: '' (unset)
5670
5671       Environment to use for git_pillar remotes.  This  is  normally  derived
5672       from  the  branch/tag  (or from a per-remote env parameter), but if set
5673       this will override the process of deriving the env from the  branch/tag
5674       name.  For  example, in the configuration below the foo branch would be
5675       assigned to the base environment, while the bar branch  would  need  to
5676       explicitly have bar configured as it's environment to keep it from also
5677       being mapped to the base environment.
5678
5679          git_pillar_env: base
5680
5681          ext_pillar:
5682            - git:
5683              - foo https://mygitserver/git-pillar.git
5684              - bar https://mygitserver/git-pillar.git:
5685                - env: bar
5686
5687       For this reason, this option is recommended to be  left  unset,  unless
5688       the use case calls for all (or almost all) of the git_pillar remotes to
5689       use the same environment irrespective of the branch/tag being used.
5690
5691   git_pillar_root
5692       New in version 2015.8.0.
5693
5694
5695       Default: ''
5696
5697       Path relative to the root of the repository where  the  git_pillar  top
5698       file  and SLS files are located. In the below configuration, the pillar
5699       top file and SLS files would be looked for  in  a  subdirectory  called
5700       pillar.
5701
5702          git_pillar_root: pillar
5703
5704          ext_pillar:
5705            - git:
5706              - master https://mygitserver/pillar1.git
5707              - master https://mygitserver/pillar2.git
5708
5709       NOTE:
5710          This is a global option. If only one or two repos need to have their
5711          files sourced from a subdirectory, then git_pillar_root can be omit‐
5712          ted and the root can be specified on a per-remote basis, like so:
5713
5714              ext_pillar:
5715                - git:
5716                  - master https://mygitserver/pillar1.git
5717                  - master https://mygitserver/pillar2.git:
5718                    - root: pillar
5719
5720          In  this  example,  for  the first remote the top file and SLS files
5721          would be looked for in the root of the repository, while in the sec‐
5722          ond remote the pillar data would be retrieved from the pillar subdi‐
5723          rectory.
5724
5725   git_pillar_ssl_verify
5726       New in version 2015.8.0.
5727
5728
5729       Changed in version 2016.11.0.
5730
5731
5732       Default: False
5733
5734       Specifies whether or not to ignore SSL certificate errors when contact‐
5735       ing  the remote repository. The False setting is useful if you're using
5736       a git repo that uses a self-signed certificate. However, keep  in  mind
5737       that  setting this to anything other True is a considered insecure, and
5738       using an SSH-based transport (if available) may be a better option.
5739
5740       In the 2016.11.0 release, the default config value changed  from  False
5741       to True.
5742
5743          git_pillar_ssl_verify: True
5744
5745       NOTE:
5746          pygit2  only  supports disabling SSL verification in versions 0.23.2
5747          and newer.
5748
5749   git_pillar_global_lock
5750       New in version 2015.8.9.
5751
5752
5753       Default: True
5754
5755       When set to False, if there is an update/checkout lock for a git_pillar
5756       remote and the pid written to it is not running on the master, the lock
5757       file will be automatically cleared and a new  lock  will  be  obtained.
5758       When  set to True, Salt will simply log a warning when there is an lock
5759       present.
5760
5761       On single-master deployments, disabling this option can help  automati‐
5762       cally  deal with instances where the master was shutdown/restarted dur‐
5763       ing the middle of a  git_pillar  update/checkout,  leaving  a  lock  in
5764       place.
5765
5766       However,  on  multi-master  deployments  with  the  git_pillar cachedir
5767       shared via  GlusterFS,  nfs,  or  another  network  filesystem,  it  is
5768       strongly  recommended not to disable this option as doing so will cause
5769       lock files to be removed if they were created by a different master.
5770
5771          # Disable global lock
5772          git_pillar_global_lock: False
5773
5774   git_pillar_includes
5775       New in version 2017.7.0.
5776
5777
5778       Default: True
5779
5780       Normally, when processing git_pillar remotes, if  more  than  one  repo
5781       under  the  same  git section in the ext_pillar configuration refers to
5782       the same pillar environment, then each repo in a given environment will
5783       have  access  to  the  other repos' files to be referenced in their top
5784       files. However, it may be desirable to disable this  behavior.  If  so,
5785       set this value to False.
5786
5787       For a more detailed examination of how includes work, see this explana‐
5788       tion from the git_pillar documentation.
5789
5790          git_pillar_includes: False
5791
5792   Git External Pillar Authentication Options
5793       These   parameters    only    currently    apply    to    the    pygit2
5794       git_pillar_provider. Authentication works the same as it does in gitfs,
5795       as outlined in the GitFS Walkthrough, though the  global  configuration
5796       options  are  named differently to reflect that they are for git_pillar
5797       instead of gitfs.
5798
5799   git_pillar_user
5800       New in version 2015.8.0.
5801
5802
5803       Default: ''
5804
5805       Along with  git_pillar_password,  is  used  to  authenticate  to  HTTPS
5806       remotes.
5807
5808          git_pillar_user: git
5809
5810   git_pillar_password
5811       New in version 2015.8.0.
5812
5813
5814       Default: ''
5815
5816       Along  with  git_pillar_user, is used to authenticate to HTTPS remotes.
5817       This parameter is not required if the repository does not use authenti‐
5818       cation.
5819
5820          git_pillar_password: mypassword
5821
5822   git_pillar_insecure_auth
5823       New in version 2015.8.0.
5824
5825
5826       Default: False
5827
5828       By  default,  Salt will not authenticate to an HTTP (non-HTTPS) remote.
5829       This parameter enables authentication over HTTP. Enable  this  at  your
5830       own risk.
5831
5832          git_pillar_insecure_auth: True
5833
5834   git_pillar_pubkey
5835       New in version 2015.8.0.
5836
5837
5838       Default: ''
5839
5840       Along  with  git_pillar_privkey (and optionally git_pillar_passphrase),
5841       is used to authenticate to SSH remotes.
5842
5843          git_pillar_pubkey: /path/to/key.pub
5844
5845   git_pillar_privkey
5846       New in version 2015.8.0.
5847
5848
5849       Default: ''
5850
5851       Along with git_pillar_pubkey (and optionally git_pillar_passphrase), is
5852       used to authenticate to SSH remotes.
5853
5854          git_pillar_privkey: /path/to/key
5855
5856   git_pillar_passphrase
5857       New in version 2015.8.0.
5858
5859
5860       Default: ''
5861
5862       This  parameter  is optional, required only when the SSH key being used
5863       to authenticate is protected by a passphrase.
5864
5865          git_pillar_passphrase: mypassphrase
5866
5867   git_pillar_refspecs
5868       New in version 2017.7.0.
5869
5870
5871       Default:                        ['+refs/heads/*:refs/remotes/origin/*',
5872       '+refs/tags/*:refs/tags/*']
5873
5874       When  fetching  from  remote  repositories,  by default Salt will fetch
5875       branches and tags. This parameter can be used to override  the  default
5876       and specify alternate refspecs to be fetched. This parameter works sim‐
5877       ilarly to its GitFS counterpart, in that  it  can  be  configured  both
5878       globally and for individual remotes.
5879
5880          git_pillar_refspecs:
5881            - '+refs/heads/*:refs/remotes/origin/*'
5882            - '+refs/tags/*:refs/tags/*'
5883            - '+refs/pull/*/head:refs/remotes/origin/pr/*'
5884            - '+refs/pull/*/merge:refs/remotes/origin/merge/*'
5885
5886   git_pillar_verify_config
5887       New in version 2017.7.0.
5888
5889
5890       Default: True
5891
5892       By  default, as the master starts it performs some sanity checks on the
5893       configured git_pillar repositories. If any of these sanity checks  fail
5894       (such as when an invalid configuration is used), the master daemon will
5895       abort.
5896
5897       To skip these sanity checks, set this option to False.
5898
5899          git_pillar_verify_config: False
5900
5901   Pillar Merging Options
5902   pillar_source_merging_strategy
5903       New in version 2014.7.0.
5904
5905
5906       Default: smart
5907
5908       The pillar_source_merging_strategy option allows you to configure merg‐
5909       ing strategy between different sources. It accepts 5 values:
5910
5911       · none:
5912
5913         It will not do any merging at all and only parse the pillar data from
5914         the passed environment and 'base' if no environment was specified.
5915
5916         New in version 2016.3.4.
5917
5918
5919       · recurse:
5920
5921         It will recursively merge data. For example, theses 2 sources:
5922
5923            foo: 42
5924            bar:
5925                element1: True
5926
5927            bar:
5928                element2: True
5929            baz: quux
5930
5931         will be merged as:
5932
5933            foo: 42
5934            bar:
5935                element1: True
5936                element2: True
5937            baz: quux
5938
5939       · aggregate:
5940
5941         instructs aggregation of elements between sources that use the #!yam‐
5942         lex renderer.
5943
5944         For example, these two documents:
5945
5946            #!yamlex
5947            foo: 42
5948            bar: !aggregate {
5949              element1: True
5950            }
5951            baz: !aggregate quux
5952
5953            #!yamlex
5954            bar: !aggregate {
5955              element2: True
5956            }
5957            baz: !aggregate quux2
5958
5959         will be merged as:
5960
5961            foo: 42
5962            bar:
5963              element1: True
5964              element2: True
5965            baz:
5966              - quux
5967              - quux2
5968
5969       · overwrite:
5970
5971         Will use the behaviour of the 2014.1 branch and earlier.
5972
5973         Overwrites elements according the order in which they are processed.
5974
5975         First pillar processed:
5976
5977            A:
5978              first_key: blah
5979              second_key: blah
5980
5981         Second pillar processed:
5982
5983            A:
5984              third_key: blah
5985              fourth_key: blah
5986
5987         will be merged as:
5988
5989            A:
5990              third_key: blah
5991              fourth_key: blah
5992
5993       · smart (default):
5994
5995         Guesses the best strategy based on the "renderer" setting.
5996
5997       NOTE:
5998          In  order  for  yamlex  based features such as !aggregate to work as
5999          expected across documents using the default  smart  merge  strategy,
6000          the renderer config option must be set to jinja|yamlex or similar.
6001
6002   pillar_merge_lists
6003       New in version 2015.8.0.
6004
6005
6006       Default: False
6007
6008       Recursively merge lists by aggregating them instead of replacing them.
6009
6010          pillar_merge_lists: False
6011
6012   pillar_includes_override_sls
6013       New in version 2017.7.6,2018.3.1.
6014
6015
6016       Default: False
6017
6018       Prior to version 2017.7.3, keys from pillar includes would be merged on
6019       top of the pillar SLS. Since 2017.7.3, the includes are merged together
6020       and then the pillar SLS is merged on top of that.
6021
6022       Set this option to True to return to the old behavior.
6023
6024          pillar_includes_override_sls: True
6025
6026   Pillar Cache Options
6027   pillar_cache
6028       New in version 2015.8.8.
6029
6030
6031       Default: False
6032
6033       A  master  can cache pillars locally to bypass the expense of having to
6034       render them for each minion on every request. This feature should  only
6035       be enabled in cases where pillar rendering time is known to be unsatis‐
6036       factory and any attendant security concerns about storing pillars in  a
6037       master cache have been addressed.
6038
6039       When  enabling  this feature, be certain to read through the additional
6040       pillar_cache_* configuration options to fully  understand  the  tunable
6041       parameters and their implications.
6042
6043          pillar_cache: False
6044
6045       NOTE:
6046          Setting  pillar_cache:  True has no effect on targeting minions with
6047          pillar.
6048
6049   pillar_cache_ttl
6050       New in version 2015.8.8.
6051
6052
6053       Default: 3600
6054
6055       If and only if a master has set pillar_cache: True, the cache TTL  con‐
6056       trols  the  amount  of time, in seconds, before the cache is considered
6057       invalid by a master and a fresh pillar is recompiled and stored.
6058
6059   pillar_cache_backend
6060       New in version 2015.8.8.
6061
6062
6063       Default: disk
6064
6065       If an only if a master has set pillar_cache: True, one of several stor‐
6066       age providers can be utilized:
6067
6068       · disk (default):
6069
6070         The default storage backend. This caches rendered pillars to the mas‐
6071         ter cache.  Rendered pillars are serialized and deserialized as  msg‐
6072         pack structures for speed.  Note that pillars are stored UNENCRYPTED.
6073         Ensure that the master cache has permissions set appropriately  (sane
6074         defaults are provided).
6075
6076       · memory [EXPERIMENTAL]:
6077
6078         An  optional  backend  for  pillar  caches  which  uses a pure-Python
6079         in-memory data structure for maximal performance. There  are  several
6080         caveats,  however. First, because each master worker contains its own
6081         in-memory cache, there is no guarantee of cache  consistency  between
6082         minion  requests.  This  works  best  in  situations where the pillar
6083         rarely if ever changes. Secondly, and perhaps more importantly,  this
6084         means  that  unencrypted  pillars  will  be accessible to any process
6085         which can examine the memory of the salt-master!  This may  represent
6086         a substantial security risk.
6087
6088          pillar_cache_backend: disk
6089
6090   Master Reactor Settings
6091   reactor
6092       Default: []
6093
6094       Defines a salt reactor. See the Reactor documentation for more informa‐
6095       tion.
6096
6097          reactor:
6098            - 'salt/minion/*/start':
6099              - salt://reactor/startup_tasks.sls
6100
6101   reactor_refresh_interval
6102       Default: 60
6103
6104       The TTL for the cache of the reactor configuration.
6105
6106          reactor_refresh_interval: 60
6107
6108   reactor_worker_threads
6109       Default: 10
6110
6111       The number of workers for the runner/wheel in the reactor.
6112
6113          reactor_worker_threads: 10
6114
6115   reactor_worker_hwm
6116       Default: 10000
6117
6118       The queue size for workers in the reactor.
6119
6120          reactor_worker_hwm: 10000
6121
6122   Salt-API Master Settings
6123       There are some settings for salt-api that can be configured on the Salt
6124       Master.
6125
6126   api_logfile
6127       Default: /var/log/salt/api
6128
6129       The logfile location for salt-api.
6130
6131          api_logfile: /var/log/salt/api
6132
6133   api_pidfile
6134       Default: /var/run/salt-api.pid
6135
6136       If  this  master  will  be running salt-api, specify the pidfile of the
6137       salt-api daemon.
6138
6139          api_pidfile: /var/run/salt-api.pid
6140
6141   rest_timeout
6142       Default: 300
6143
6144       Used by salt-api for the master requests timeout.
6145
6146          rest_timeout: 300
6147
6148   Syndic Server Settings
6149       A Salt syndic is a Salt master used to pass commands from a higher Salt
6150       master to minions below the syndic. Using the syndic is simple. If this
6151       is a master  that  will  have  syndic  servers(s)  below  it,  set  the
6152       order_masters setting to True.
6153
6154       If  this  is  a  master  that  will  be  running  a  syndic  daemon for
6155       passthrough the syndic_master setting needs to be set to  the  location
6156       of the master server.
6157
6158       Do  not  forget  that, in other words, it means that it shares with the
6159       local minion its ID and PKI directory.
6160
6161   order_masters
6162       Default: False
6163
6164       Extra data needs to be sent with publications if the master is control‐
6165       ling  a lower level master via a syndic minion. If this is the case the
6166       order_masters value must be set to True
6167
6168          order_masters: False
6169
6170   syndic_master
6171       Changed in version 2016.3.5,2016.11.1: Set default higher level  master
6172       address.
6173
6174
6175       Default: masterofmasters
6176
6177       If  this  master will be running the salt-syndic to connect to a higher
6178       level master, specify the higher level master with  this  configuration
6179       value.
6180
6181          syndic_master: masterofmasters
6182
6183       You can optionally connect a syndic to multiple higher level masters by
6184       setting the syndic_master value to a list:
6185
6186          syndic_master:
6187            - masterofmasters1
6188            - masterofmasters2
6189
6190       Each higher level master must be set up in  a  multi-master  configura‐
6191       tion.
6192
6193   syndic_master_port
6194       Default: 4506
6195
6196       If  this  master will be running the salt-syndic to connect to a higher
6197       level master, specify the higher level master port with this configura‐
6198       tion value.
6199
6200          syndic_master_port: 4506
6201
6202   syndic_pidfile
6203       Default: /var/run/salt-syndic.pid
6204
6205       If  this  master will be running the salt-syndic to connect to a higher
6206       level master, specify the pidfile of the syndic daemon.
6207
6208          syndic_pidfile: /var/run/syndic.pid
6209
6210   syndic_log_file
6211       Default: /var/log/salt/syndic
6212
6213       If this master will be running the salt-syndic to connect to  a  higher
6214       level master, specify the log file of the syndic daemon.
6215
6216          syndic_log_file: /var/log/salt-syndic.log
6217
6218   syndic_failover
6219       New in version 2016.3.0.
6220
6221
6222       Default: random
6223
6224       The  behaviour  of the multi-syndic when connection to a master of mas‐
6225       ters failed.  Can specify random (default) or ordered. If set  to  ran‐
6226       dom, masters will be iterated in random order. If ordered is specified,
6227       the configured order will be used.
6228
6229          syndic_failover: random
6230
6231   syndic_wait
6232       Default: 5
6233
6234       The number of seconds for the salt client to wait for  additional  syn‐
6235       dics to check in with their lists of expected minions before giving up.
6236
6237          syndic_wait: 5
6238
6239   syndic_forward_all_events
6240       New in version 2017.7.0.
6241
6242
6243       Default: False
6244
6245       Option  on multi-syndic or single when connected to multiple masters to
6246       be able to send events to all connected masters.
6247
6248          syndic_forward_all_events: False
6249
6250   Peer Publish Settings
6251       Salt minions can send commands to other minions, but only if the minion
6252       is  allowed  to.  By  default  "Peer Publication" is disabled, and when
6253       enabled it is enabled for specific minions and specific commands.  This
6254       allows secure compartmentalization of commands based on individual min‐
6255       ions.
6256
6257   peer
6258       Default: {}
6259
6260       The configuration uses regular expressions to match minions and then  a
6261       list  of  regular  expressions  to  match functions. The following will
6262       allow the minion authenticated as foo.example.com to execute  functions
6263       from the test and pkg modules.
6264
6265          peer:
6266            foo.example.com:
6267                - test.*
6268                - pkg.*
6269
6270       This will allow all minions to execute all commands:
6271
6272          peer:
6273            .*:
6274                - .*
6275
6276       This  is  not recommended, since it would allow anyone who gets root on
6277       any single minion to instantly have root on all of the minions!
6278
6279       By adding an additional layer you can limit the target hosts  in  addi‐
6280       tion to the accessible commands:
6281
6282          peer:
6283            foo.example.com:
6284              'db*':
6285                - test.*
6286                - pkg.*
6287
6288   peer_run
6289       Default: {}
6290
6291       The  peer_run option is used to open up runners on the master to access
6292       from the minions. The peer_run configuration matches the format of  the
6293       peer configuration.
6294
6295       The  following  example would allow foo.example.com to execute the man‐
6296       age.up runner:
6297
6298          peer_run:
6299            foo.example.com:
6300                - manage.up
6301
6302   Master Logging Settings
6303   log_file
6304       Default: /var/log/salt/master
6305
6306       The master log can be sent to a regular file, local path name, or  net‐
6307       work location. See also log_file.
6308
6309       Examples:
6310
6311          log_file: /var/log/salt/master
6312
6313          log_file: file:///dev/log
6314
6315          log_file: udp://loghost:10514
6316
6317   log_level
6318       Default: warning
6319
6320       The level of messages to send to the console. See also log_level.
6321
6322          log_level: warning
6323
6324   log_level_logfile
6325       Default: warning
6326
6327       The  level of messages to send to the log file. See also log_level_log‐
6328       file. When it is not set explicitly it will inherit the  level  set  by
6329       log_level option.
6330
6331          log_level_logfile: warning
6332
6333   log_datefmt
6334       Default: %H:%M:%S
6335
6336       The  date  and  time  format  used  in  console  log messages. See also
6337       log_datefmt.
6338
6339          log_datefmt: '%H:%M:%S'
6340
6341   log_datefmt_logfile
6342       Default: %Y-%m-%d %H:%M:%S
6343
6344       The  date  and  time  format  used  in  log  file  messages.  See  also
6345       log_datefmt_logfile.
6346
6347          log_datefmt_logfile: '%Y-%m-%d %H:%M:%S'
6348
6349   log_fmt_console
6350       Default: [%(levelname)-8s] %(message)s
6351
6352       The format of the console logging messages. See also log_fmt_console.
6353
6354       NOTE:
6355          Log colors are enabled in log_fmt_console rather than the color con‐
6356          fig since the logging system is loaded before the master config.
6357
6358          Console log colors are specified by these additional formatters:
6359
6360          %(colorlevel)s %(colorname)s %(colorprocess)s %(colormsg)s
6361
6362          Since it is desirable to include the surrounding brackets,  '['  and
6363          ']',  in  the  coloring of the messages, these color formatters also
6364          include padding as well.  Color LogRecord attributes are only avail‐
6365          able for console logging.
6366
6367          log_fmt_console: '%(colorlevel)s %(colormsg)s'
6368          log_fmt_console: '[%(levelname)-8s] %(message)s'
6369
6370   log_fmt_logfile
6371       Default:  %(asctime)s,%(msecs)03d [%(name)-17s][%(levelname)-8s] %(mes‐
6372       sage)s
6373
6374       The format of the log file logging messages. See also log_fmt_logfile.
6375
6376          log_fmt_logfile: '%(asctime)s,%(msecs)03d [%(name)-17s][%(levelname)-8s] %(message)s'
6377
6378   log_granular_levels
6379       Default: {}
6380
6381       This can be used to control logging levels more specifically. See  also
6382       log_granular_levels.
6383
6384   Node Groups
6385   nodegroups
6386       Default: {}
6387
6388       Node  groups allow for logical groupings of minion nodes.  A group con‐
6389       sists of a group name and a compound target.
6390
6391          nodegroups:
6392            group1: 'L@foo.domain.com,bar.domain.com,baz.domain.com or bl*.domain.com'
6393            group2: 'G@os:Debian and foo.domain.com'
6394            group3: 'G@os:Debian and N@group1'
6395            group4:
6396              - 'G@foo:bar'
6397              - 'or'
6398              - 'G@foo:baz'
6399
6400       More information on using nodegroups can be found here.
6401
6402   Range Cluster Settings
6403   range_server
6404       Default: 'range:80'
6405
6406       The range server (and optional port) that serves your cluster  informa‐
6407       tion
6408       https://github.com/ytoolshed/range/wiki/%22yamlfile%22-module-file-spec
6409
6410          range_server: range:80
6411
6412   Include Configuration
6413       Configuration can be loaded from multiple files.  The  order  in  which
6414       this is done is:
6415
6416       1. The master config file itself
6417
6418       2. The files matching the glob in default_include
6419
6420       3. The files matching the glob in include (if defined)
6421
6422       Each  successive  step  overrides  any  values  defined in the previous
6423       steps.   Therefore,  any  config  options  defined  in   one   of   the
6424       default_include  files would override the same value in the master con‐
6425       fig file, and any options defined in include would override both.
6426
6427   default_include
6428       Default: master.d/*.conf
6429
6430       The master can include configuration from other files. Per default  the
6431       master will automatically include all config files from master.d/*.conf
6432       where master.d is relative to the directory of the master configuration
6433       file.
6434
6435       NOTE:
6436          Salt  creates files in the master.d directory for its own use. These
6437          files are prefixed with an underscore. A common example of  this  is
6438          the _schedule.conf file.
6439
6440   include
6441       Default: not defined
6442
6443       The  master can include configuration from other files. To enable this,
6444       pass a list of paths to this option. The paths can be  either  relative
6445       or  absolute;  if  relative,  they are considered to be relative to the
6446       directory the main minion configuration file lives in. Paths  can  make
6447       use  of  shell-style globbing. If no files are matched by a path passed
6448       to this option then the master will log a warning message.
6449
6450          # Include files from a master.d directory in the same
6451          # directory as the master config file
6452          include: master.d/*
6453
6454          # Include a single extra file into the configuration
6455          include: /etc/roles/webserver
6456
6457          # Include several files and the master.d directory
6458          include:
6459            - extra_config
6460            - master.d/*
6461            - /etc/roles/webserver
6462
6463   Keepalive Settings
6464   tcp_keepalive
6465       Default: True
6466
6467       The tcp keepalive interval to set on TCP ports.  This  setting  can  be
6468       used  to  tune  Salt  connectivity issues in messy network environments
6469       with misbehaving firewalls.
6470
6471          tcp_keepalive: True
6472
6473   tcp_keepalive_cnt
6474       Default: -1
6475
6476       Sets the ZeroMQ TCP keepalive count. May be used to  tune  issues  with
6477       minion disconnects.
6478
6479          tcp_keepalive_cnt: -1
6480
6481   tcp_keepalive_idle
6482       Default: 300
6483
6484       Sets  ZeroMQ TCP keepalive idle. May be used to tune issues with minion
6485       disconnects.
6486
6487          tcp_keepalive_idle: 300
6488
6489   tcp_keepalive_intvl
6490       Default: -1
6491
6492       Sets ZeroMQ TCP keepalive interval. May be used  to  tune  issues  with
6493       minion disconnects.
6494
6495          tcp_keepalive_intvl': -1
6496
6497   Windows Software Repo Settings
6498   winrepo_provider
6499       New in version 2015.8.0.
6500
6501
6502       Specify  the  provider to be used for winrepo. Must be either pygit2 or
6503       gitpython. If unset, then both will be tried in that  same  order,  and
6504       the  first one with a compatible version installed will be the provider
6505       that is used.
6506
6507          winrepo_provider: gitpython
6508
6509   winrepo_dir
6510       Changed in version 2015.8.0: Renamed from win_repo to winrepo_dir.
6511
6512
6513       Default: /srv/salt/win/repo
6514
6515       Location on the master where the winrepo_remotes are  checked  out  for
6516       pre-2015.8.0 minions. 2015.8.0 and later minions use winrepo_remotes_ng
6517       instead.
6518
6519          winrepo_dir: /srv/salt/win/repo
6520
6521   winrepo_dir_ng
6522       New in version 2015.8.0: A new ng repo was added.
6523
6524
6525       Default: /srv/salt/win/repo-ng
6526
6527       Location on the master where the winrepo_remotes_ng are checked out for
6528       2015.8.0 and later minions.
6529
6530          winrepo_dir_ng: /srv/salt/win/repo-ng
6531
6532   winrepo_cachefile
6533       Changed  in  version 2015.8.0: Renamed from win_repo_mastercachefile to
6534       winrepo_cachefile
6535
6536
6537       NOTE:
6538          2015.8.0 and later  minions  do  not  use  this  setting  since  the
6539          cachefile is now located on the minion.
6540
6541       Default: winrepo.p
6542
6543       Path relative to winrepo_dir where the winrepo cache should be created.
6544
6545          winrepo_cachefile: winrepo.p
6546
6547   winrepo_remotes
6548       Changed   in  version  2015.8.0:  Renamed  from  win_gitrepos  to  win‐
6549       repo_remotes.
6550
6551
6552       Default: ['https://github.com/saltstack/salt-winrepo.git']
6553
6554       List of git repositories to checkout and include  in  the  winrepo  for
6555       pre-2015.8.0 minions. 2015.8.0 and later minions use winrepo_remotes_ng
6556       instead.
6557
6558          winrepo_remotes:
6559            - https://github.com/saltstack/salt-winrepo.git
6560
6561       To specify a specific revision of the repository, prepend a  commit  ID
6562       to the URL of the repository:
6563
6564          winrepo_remotes:
6565            - '<commit_id> https://github.com/saltstack/salt-winrepo.git'
6566
6567       Replace  <commit_id>  with  the  SHA1 hash of a commit ID. Specifying a
6568       commit ID is useful in that it allows one to revert back to a  previous
6569       version in the event that an error is introduced in the latest revision
6570       of the repo.
6571
6572   winrepo_remotes_ng
6573       New in version 2015.8.0: A new ng repo was added.
6574
6575
6576       Default: ['https://github.com/saltstack/salt-winrepo-ng.git']
6577
6578       List of git repositories to checkout and include  in  the  winrepo  for
6579       2015.8.0 and later minions.
6580
6581          winrepo_remotes_ng:
6582            - https://github.com/saltstack/salt-winrepo-ng.git
6583
6584       To  specify  a specific revision of the repository, prepend a commit ID
6585       to the URL of the repository:
6586
6587          winrepo_remotes_ng:
6588            - '<commit_id> https://github.com/saltstack/salt-winrepo-ng.git'
6589
6590       Replace <commit_id> with the SHA1 hash of a  commit  ID.  Specifying  a
6591       commit  ID is useful in that it allows one to revert back to a previous
6592       version in the event that an error is introduced in the latest revision
6593       of the repo.
6594
6595   winrepo_branch
6596       New in version 2015.8.0.
6597
6598
6599       Default: master
6600
6601       If  the  branch is omitted from a winrepo remote, then this branch will
6602       be used instead. For example, in the configuration below, the first two
6603       remotes would use the winrepo branch/tag, while the third would use the
6604       foo branch/tag.
6605
6606          winrepo_branch: winrepo
6607
6608          winrepo_remotes:
6609            - https://mygitserver/winrepo1.git
6610            - https://mygitserver/winrepo2.git:
6611            - foo https://mygitserver/winrepo3.git
6612
6613   winrepo_ssl_verify
6614       New in version 2015.8.0.
6615
6616
6617       Changed in version 2016.11.0.
6618
6619
6620       Default: False
6621
6622       Specifies whether or not to ignore SSL certificate errors when contact‐
6623       ing the remote repository. The  False setting is useful if you're using
6624       a git repo that uses a self-signed certificate. However, keep  in  mind
6625       that  setting this to anything other True is a considered insecure, and
6626       using an SSH-based transport (if available) may be a better option.
6627
6628       In the 2016.11.0 release, the default config value changed  from  False
6629       to True.
6630
6631          winrepo_ssl_verify: True
6632
6633   Winrepo Authentication Options
6634       These  parameters  only currently apply to the pygit2 winrepo_provider.
6635       Authentication works the same as it does in gitfs, as outlined  in  the
6636       GitFS  Walkthrough,  though  the global configuration options are named
6637       differently to reflect that they are for winrepo instead of gitfs.
6638
6639   winrepo_user
6640       New in version 2015.8.0.
6641
6642
6643       Default: ''
6644
6645       Along with winrepo_password, is used to authenticate to HTTPS remotes.
6646
6647          winrepo_user: git
6648
6649   winrepo_password
6650       New in version 2015.8.0.
6651
6652
6653       Default: ''
6654
6655       Along with winrepo_user, is used to authenticate to HTTPS remotes. This
6656       parameter  is  not  required if the repository does not use authentica‐
6657       tion.
6658
6659          winrepo_password: mypassword
6660
6661   winrepo_insecure_auth
6662       New in version 2015.8.0.
6663
6664
6665       Default: False
6666
6667       By default, Salt will not authenticate to an HTTP  (non-HTTPS)  remote.
6668       This  parameter  enables  authentication over HTTP. Enable this at your
6669       own risk.
6670
6671          winrepo_insecure_auth: True
6672
6673   winrepo_pubkey
6674       New in version 2015.8.0.
6675
6676
6677       Default: ''
6678
6679       Along with winrepo_privkey (and optionally winrepo_passphrase), is used
6680       to authenticate to SSH remotes.
6681
6682          winrepo_pubkey: /path/to/key.pub
6683
6684   winrepo_privkey
6685       New in version 2015.8.0.
6686
6687
6688       Default: ''
6689
6690       Along  with winrepo_pubkey (and optionally winrepo_passphrase), is used
6691       to authenticate to SSH remotes.
6692
6693          winrepo_privkey: /path/to/key
6694
6695   winrepo_passphrase
6696       New in version 2015.8.0.
6697
6698
6699       Default: ''
6700
6701       This parameter is optional, required only when the SSH key  being  used
6702       to authenticate is protected by a passphrase.
6703
6704          winrepo_passphrase: mypassphrase
6705
6706   winrepo_refspecs
6707       New in version 2017.7.0.
6708
6709
6710       Default:                        ['+refs/heads/*:refs/remotes/origin/*',
6711       '+refs/tags/*:refs/tags/*']
6712
6713       When fetching from remote repositories,  by  default  Salt  will  fetch
6714       branches  and  tags. This parameter can be used to override the default
6715       and specify alternate refspecs to be fetched. This parameter works sim‐
6716       ilarly  to  its  GitFS  counterpart,  in that it can be configured both
6717       globally and for individual remotes.
6718
6719          winrepo_refspecs:
6720            - '+refs/heads/*:refs/remotes/origin/*'
6721            - '+refs/tags/*:refs/tags/*'
6722            - '+refs/pull/*/head:refs/remotes/origin/pr/*'
6723            - '+refs/pull/*/merge:refs/remotes/origin/merge/*'
6724
6725   Configure Master on Windows
6726       The master on Windows requires no  additional  configuration.  You  can
6727       modify  the  master configuration by creating/editing the master config
6728       file located at c:\salt\conf\master.  The  same  configuration  options
6729       available on Linux are available in Windows, as long as they apply. For
6730       example, SSH options wouldn't apply in Windows.  The  main  differences
6731       are  the  file  paths.  If you are familiar with common salt paths, the
6732       following table may be useful:
6733
6734                        ┌────────────┬───────┬───────────────┐
6735                        │linux Paths │       │ Windows Paths │
6736                        ├────────────┼───────┼───────────────┤
6737/etc/salt   <---> c:\salt\conf  
6738                        ├────────────┼───────┼───────────────┤
6739/           <---> c:\salt       
6740                        └────────────┴───────┴───────────────┘
6741
6742       So, for example, the master config file in Linux  is  /etc/salt/master.
6743       In  Windows  the  master  config file is c:\salt\conf\master. The Linux
6744       path /etc/salt becomes c:\salt\conf in Windows.
6745
6746   Common File Locations
6747              ┌───────────────────────────┬───────────────────────────┐
6748              │Linux Paths                │ Windows Paths             │
6749              ├───────────────────────────┼───────────────────────────┤
6750conf_file:  /etc/salt/mas‐ conf_file:                
6751ter                        c:\salt\conf\master       
6752              ├───────────────────────────┼───────────────────────────┤
6753log_file:                  log_file:                 
6754/var/log/salt/master       c:\salt\var\log\salt\mas‐ 
6755              │                           │ ter                       
6756              ├───────────────────────────┼───────────────────────────┤
6757pidfile:                   pidfile:                  
6758/var/run/salt-master.pid   c:\salt\var\run\salt-mas‐ 
6759              │                           │ ter.pid                   
6760              └───────────────────────────┴───────────────────────────┘
6761
6762   Common Directories
6763               ┌───────────────────────┬─────────────────────────────┐
6764               │Linux Paths            │ Windows Paths               │
6765               ├───────────────────────┼─────────────────────────────┤
6766cachedir:              cachedir:                   
6767/var/cache/salt/master c:\salt\var\cache\salt\mas‐ 
6768               │                       │ ter                         
6769               ├───────────────────────┼─────────────────────────────┤
6770extension_modules:     c:\salt\var\cache\salt\mas‐ 
6771/var/cache/salt/mas‐   ter\extmods                 
6772ter/extmods            │                             │
6773               ├───────────────────────┼─────────────────────────────┤
6774pki_dir:               pki_dir:                    
6775/etc/salt/pki/master   c:\salt\conf\pki\master     
6776               ├───────────────────────┼─────────────────────────────┤
6777root_dir: /            root_dir: c:\salt           
6778               └───────────────────────┴─────────────────────────────┘
6779
6780sock_dir:              sock_dir:                   
6781/var/run/salt/master   c:\salt\var\run\salt\master 
6782               └───────────────────────┴─────────────────────────────┘
6783
6784   Roots
6785       file_roots
6786
6787                       ┌──────────────┬──────────────────────┐
6788                       │Linux Paths   │ Windows Paths        │
6789                       ├──────────────┼──────────────────────┤
6790/srv/salt     c:\salt\srv\salt     
6791                       ├──────────────┼──────────────────────┤
6792/srv/spm/salt c:\salt\srv\spm\salt 
6793                       └──────────────┴──────────────────────┘
6794
6795       pillar_roots
6796
6797                     ┌────────────────┬────────────────────────┐
6798                     │Linux Paths     │ Windows Paths          │
6799                     ├────────────────┼────────────────────────┤
6800/srv/pillar     c:\salt\srv\pillar     
6801                     ├────────────────┼────────────────────────┤
6802/srv/spm/pillar c:\salt\srv\spm\pillar 
6803                     └────────────────┴────────────────────────┘
6804
6805   Win Repo Settings
6806               ┌──────────────────────┬──────────────────────────────┐
6807               │Linux Paths           │ Windows Paths                │
6808               ├──────────────────────┼──────────────────────────────┤
6809winrepo_dir:          winrepo_dir:                 
6810/srv/salt/win/repo    c:\salt\srv\salt\win\repo    
6811               ├──────────────────────┼──────────────────────────────┤
6812winrepo_dir_ng:       winrepo_dir_ng:              
6813/srv/salt/win/repo-ng c:\salt\srv\salt\win\repo-ng 
6814               └──────────────────────┴──────────────────────────────┘
6815
6816   Configuring the Salt Minion
6817       The Salt system is amazingly simple and easy to configure. The two com‐
6818       ponents of the Salt system each have a respective  configuration  file.
6819       The  salt-master  is  configured via the master configuration file, and
6820       the salt-minion is configured via the minion configuration file.
6821
6822       SEE ALSO:
6823          example minion configuration file
6824
6825       The Salt Minion configuration is very simple. Typically, the only value
6826       that  needs  to be set is the master value so the minion knows where to
6827       locate its master.
6828
6829       By default, the salt-minion configuration will be in  /etc/salt/minion.
6830       A  notable  exception  is  FreeBSD,  where the configuration will be in
6831       /usr/local/etc/salt/minion.
6832
6833   Minion Primary Configuration
6834   master
6835       Default: salt
6836
6837       The hostname or IP address of the master. See ipv6 for IPv6 connections
6838       to the master.
6839
6840       Default: salt
6841
6842          master: salt
6843
6844   master:port Syntax
6845       New in version 2015.8.0.
6846
6847
6848       The master config option can also be set to use the master's IP in con‐
6849       junction with a port number by default.
6850
6851          master: localhost:1234
6852
6853       For IPv6 formatting with a port, remember to add brackets around the IP
6854       address before adding the port and enclose the line in single quotes to
6855       make it a string:
6856
6857          master: '[2001:db8:85a3:8d3:1319:8a2e:370:7348]:1234'
6858
6859       NOTE:
6860          If a port is specified in the master as  well  as  master_port,  the
6861          master_port setting will be overridden by the master configuration.
6862
6863   List of Masters Syntax
6864       The  option can also be set to a list of masters, enabling multi-master
6865       mode.
6866
6867          master:
6868            - address1
6869            - address2
6870
6871       Changed in version 2014.7.0: The master can be dynamically  configured.
6872       The  master  value  can be set to an module function which will be exe‐
6873       cuted and will assume that the returning value is the ip or hostname of
6874       the  desired  master.  If  a  function  is  being  specified,  then the
6875       master_type option must be set to func, to tell  the  minion  that  the
6876       value is a function to be run and not a fully-qualified domain name.
6877
6878          master: module.function
6879          master_type: func
6880
6881       In addition, instead of using multi-master mode, the minion can be con‐
6882       figured to use the list of master addresses as a failover list,  trying
6883       the  first address, then the second, etc. until the minion successfully
6884       connects. To enable this behavior, set master_type to failover:
6885
6886          master:
6887            - address1
6888            - address2
6889          master_type: failover
6890
6891
6892   ipv6
6893       Default: None
6894
6895       Whether the master should be connected over IPv6. By default salt  min‐
6896       ion will try to automatically detect IPv6 connectivity to master.
6897
6898          ipv6: True
6899
6900   master_uri_format
6901       New in version 2015.8.0.
6902
6903
6904       Specify the format in which the master address will be evaluated. Valid
6905       options are default or ip_only. If ip_only is specified, then the  mas‐
6906       ter address will not be split into IP and PORT, so be sure that only an
6907       IP (or domain name) is set in the master configuration setting.
6908
6909          master_uri_format: ip_only
6910
6911   master_tops_first
6912       New in version 2018.3.0.
6913
6914
6915       Default: False
6916
6917       SLS targets defined using the Master Tops system are normally  executed
6918       after  any  matches defined in the Top File. Set this option to True to
6919       have the minion execute the Master Tops states first.
6920
6921          master_tops_first: True
6922
6923   master_type
6924       New in version 2014.7.0.
6925
6926
6927       Default: str
6928
6929       The type of the master variable. Can be str, failover, func or disable.
6930
6931          master_type: failover
6932
6933       If this option is set to failover, master must  be  a  list  of  master
6934       addresses.  The minion will then try each master in the order specified
6935       in the list until it successfully connects.  master_alive_interval must
6936       also be set, this determines how often the minion will verify the pres‐
6937       ence of the master.
6938
6939          master_type: func
6940
6941       If the master needs to be dynamically assigned by executing a  function
6942       instead  of  reading in the static master value, set this to func. This
6943       can be used to manage the minion's master  setting  from  an  execution
6944       module.  By simply changing the algorithm in the module to return a new
6945       master ip/fqdn, restart the minion and it will connect to the new  mas‐
6946       ter.
6947
6948       As  of version 2016.11.0 this option can be set to disable and the min‐
6949       ion will never attempt to talk to the master. This is useful  for  run‐
6950       ning a masterless minion daemon.
6951
6952          master_type: disable
6953
6954   max_event_size
6955       New in version 2014.7.0.
6956
6957
6958       Default: 1048576
6959
6960       Passing very large events can cause the minion to consume large amounts
6961       of memory. This value tunes the maximum size of a message allowed  onto
6962       the minion event bus. The value is expressed in bytes.
6963
6964          max_event_size: 1048576
6965
6966   enable_legacy_startup_events
6967       New in version Fluorine.
6968
6969
6970       Default: True
6971
6972       When a minion starts up it sends a notification on the event bus with a
6973       tag that looks like this: salt/minion/<minion_id>/start. For historical
6974       reasons  the  minion  also sends a similar event with an event tag like
6975       this: minion_start. This duplication can cause a lot of clutter on  the
6976       event      bus     when     there     are     many     minions.     Set
6977       enable_legacy_startup_events: False in the minion config to ensure only
6978       the  salt/minion/<minion_id>/start  events are sent. Beginning with the
6979       Sodium Salt release this option will default to False.
6980
6981          enable_legacy_startup_events: True
6982
6983   master_failback
6984       New in version 2016.3.0.
6985
6986
6987       Default: False
6988
6989       If the minion is in multi-master mode and the :conf_minion`master_type`
6990       configuration  option  is  set  to failover, this setting can be set to
6991       True to force the minion to fail back to the first master in  the  list
6992       if the first master is back online.
6993
6994          master_failback: False
6995
6996   master_failback_interval
6997       New in version 2016.3.0.
6998
6999
7000       Default: 0
7001
7002       If  the  minion  is in multi-master mode, the :conf_minion`master_type`
7003       configuration is set to failover, and  the  master_failback  option  is
7004       enabled, the master failback interval can be set to ping the top master
7005       with this interval, in seconds.
7006
7007          master_failback_interval: 0
7008
7009   master_alive_interval
7010       Default: 0
7011
7012       Configures how often, in seconds, the minion will verify that the  cur‐
7013       rent  master is alive and responding.  The minion will try to establish
7014       a connection to the next master in the list if it  finds  the  existing
7015       one is dead.
7016
7017          master_alive_interval: 30
7018
7019   master_shuffle
7020       New in version 2014.7.0.
7021
7022
7023       Deprecated since version Fluorine.
7024
7025
7026       Default: False
7027
7028       WARNING:
7029          This  option  has  been  deprecated  in  Salt  Fluorine.  Please use
7030          random_master instead.
7031
7032          master_shuffle: True
7033
7034   random_master
7035       New in version 2014.7.0.
7036
7037
7038       Changed in version Fluorine: The master_failback option can be used  in
7039       conjunction  with random_master to force the minion to fail back to the
7040       first master in the list if the first master is back online. Note  that
7041       master_type  must  be  set to failover in order for the master_failback
7042       setting to work.
7043
7044
7045       Default: False
7046
7047       If master is a list of addresses, shuffle them before trying to connect
7048       to  distribute  the  minions  over  all  available  masters.  This uses
7049       Python's random.shuffle method.
7050
7051       If multiple masters are specified in the 'master' setting  as  a  list,
7052       the  default  behavior is to always try to connect to them in the order
7053       they are listed. If random_master is set to True,  the  order  will  be
7054       randomized  instead  upon  Minion  startup. This can be helpful in dis‐
7055       tributing the load of many minions executing  salt-call  requests,  for
7056       example, from a cron job. If only one master is listed, this setting is
7057       ignored and a warning is logged.
7058
7059          random_master: True
7060
7061       NOTE:
7062          When the failover, master_failback, and  random_master  options  are
7063          used  together,  only  the "secondary masters" will be shuffled. The
7064          first master in the list is ignored in the random.shuffle call.  See
7065          master_failback for more information.
7066
7067   retry_dns
7068       Default: 30
7069
7070       Set the number of seconds to wait before attempting to resolve the mas‐
7071       ter hostname if name resolution fails. Defaults to 30 seconds.  Set  to
7072       zero if the minion should shutdown and not retry.
7073
7074          retry_dns: 30
7075
7076   retry_dns_count
7077       New in version 2018.3.4.
7078
7079
7080       Default: None
7081
7082       Set  the  number of attempts to perform when resolving the master host‐
7083       name if name resolution fails.  By default the minion will retry indef‐
7084       initely.
7085
7086          retry_dns_count: 3
7087
7088   master_port
7089       Default: 4506
7090
7091       The  port  of  the  master  ret server, this needs to coincide with the
7092       ret_port option on the Salt master.
7093
7094          master_port: 4506
7095
7096   publish_port
7097       Default: 4505
7098
7099       The port of the master publish server, this needs to coincide with  the
7100       publish_port option on the Salt master.
7101
7102          publish_port: 4505
7103
7104   source_interface_name
7105       New in version 2018.3.0.
7106
7107
7108       The  name  of  the interface to use when establishing the connection to
7109       the Master.
7110
7111       NOTE:
7112          If multiple IP addresses are configured on the named interface,  the
7113          first  one  will  be selected. In that case, for a better selection,
7114          consider using the source_address option.
7115
7116       NOTE:
7117          To use an IPv6 address from  the  named  interface,  make  sure  the
7118          option ipv6 is enabled, i.e., ipv6: true.
7119
7120       NOTE:
7121          If  the  interface  is  down, it will avoid using it, and the Minion
7122          will bind to 0.0.0.0 (all interfaces).
7123
7124       WARNING:
7125          This option requires modern version of the underlying libraries used
7126          by the selected transport:
7127
7128          · zeromq requires pyzmq >= 16.0.1 and libzmq >= 4.1.6
7129
7130          · tcp requires tornado >= 4.5
7131
7132       Configuration example:
7133
7134          source_interface_name: bond0.1234
7135
7136   source_address
7137       New in version 2018.3.0.
7138
7139
7140       The source IP address or the domain name to be used when connecting the
7141       Minion to the Master.  See ipv6 for IPv6 connections to the Master.
7142
7143       WARNING:
7144          This option requires modern version of the underlying libraries used
7145          by the selected transport:
7146
7147          · zeromq requires pyzmq >= 16.0.1 and libzmq >= 4.1.6
7148
7149          · tcp requires tornado >= 4.5
7150
7151       Configuration example:
7152
7153          source_address: if-bond0-1234.sjc.us-west.internal
7154
7155   source_ret_port
7156       New in version 2018.3.0.
7157
7158
7159       The source port to be used when connecting the Minion to the Master ret
7160       server.
7161
7162       WARNING:
7163          This option requires modern version of the underlying libraries used
7164          by the selected transport:
7165
7166          · zeromq requires pyzmq >= 16.0.1 and libzmq >= 4.1.6
7167
7168          · tcp requires tornado >= 4.5
7169
7170       Configuration example:
7171
7172          source_ret_port: 49017
7173
7174   source_publish_port
7175       New in version 2018.3.0.
7176
7177
7178       The  source  port  to  be used when connecting the Minion to the Master
7179       publish server.
7180
7181       WARNING:
7182          This option requires modern version of the underlying libraries used
7183          by the selected transport:
7184
7185          · zeromq requires pyzmq >= 16.0.1 and libzmq >= 4.1.6
7186
7187          · tcp requires tornado >= 4.5
7188
7189       Configuration example:
7190
7191          source_publish_port: 49018
7192
7193   user
7194       Default: root
7195
7196       The user to run the Salt processes
7197
7198          user: root
7199
7200   sudo_user
7201       Default: ''
7202
7203       The  user  to  run  salt remote execution commands as via sudo. If this
7204       option is enabled then sudo will be used to change the active user exe‐
7205       cuting  the remote command. If enabled the user will need to be allowed
7206       access via the sudoers file for the user that the salt minion  is  con‐
7207       figured  to  run  as.  The  most common option would be to use the root
7208       user. If this option is set the user option should also  be  set  to  a
7209       non-root user. If migrating from a root minion to a non root minion the
7210       minion cache should be cleared and the minion pki directory  will  need
7211       to be changed to the ownership of the new user.
7212
7213          sudo_user: root
7214
7215   pidfile
7216       Default: /var/run/salt-minion.pid
7217
7218       The location of the daemon's process ID file
7219
7220          pidfile: /var/run/salt-minion.pid
7221
7222   root_dir
7223       Default: /
7224
7225       This   directory  is  prepended  to  the  following  options:  pki_dir,
7226       cachedir, log_file, sock_dir, and pidfile.
7227
7228          root_dir: /
7229
7230   conf_file
7231       Default: /etc/salt/minion
7232
7233       The path to the minion's configuration file.
7234
7235          conf_file: /etc/salt/minion
7236
7237   pki_dir
7238       Default: /etc/salt/pki/minion
7239
7240       The directory used to store the minion's public and private keys.
7241
7242          pki_dir: /etc/salt/pki/minion
7243
7244   id
7245       Default: the system's hostname
7246
7247       SEE ALSO:
7248          Salt Walkthrough
7249
7250          The Setting up a Salt Minion section contains  detailed  information
7251          on how the hostname is determined.
7252
7253       Explicitly  declare  the  id  for  this  minion to use. Since Salt uses
7254       detached ids it is possible to run multiple minions on the same machine
7255       but with different ids.
7256
7257          id: foo.bar.com
7258
7259   minion_id_caching
7260       New in version 0.17.2.
7261
7262
7263       Default: True
7264
7265       Caches  the  minion id to a file when the minion's id is not statically
7266       defined in the minion config. This setting prevents potential  problems
7267       when automatic minion id resolution changes, which can cause the minion
7268       to lose connection with the master. To turn off minion id caching,  set
7269       this config to False.
7270
7271       For more information, please see Issue #7558 and Pull Request #8488.
7272
7273          minion_id_caching: True
7274
7275   append_domain
7276       Default: None
7277
7278       Append a domain to a hostname in the event that it does not exist. This
7279       is useful for systems where socket.getfqdn() does not  actually  result
7280       in a FQDN (for instance, Solaris).
7281
7282          append_domain: foo.org
7283
7284   minion_id_lowercase
7285       Default: False
7286
7287       Convert minion id to lowercase when it is being generated. Helpful when
7288       some hosts get the minion id in uppercase. Cached ids will  remain  the
7289       same and not converted.
7290
7291          minion_id_lowercase: True
7292
7293   cachedir
7294       Default: /var/cache/salt/minion
7295
7296       The location for minion cache data.
7297
7298       This  directory  may  contain  sensitive  data  and should be protected
7299       accordingly.
7300
7301          cachedir: /var/cache/salt/minion
7302
7303   color_theme
7304       Default: ""
7305
7306       Specifies a path to the color theme to use  for  colored  command  line
7307       output.
7308
7309          color_theme: /etc/salt/color_theme
7310
7311   append_minionid_config_dirs
7312       Default:  []  (the  empty  list)  for regular minions, ['cachedir'] for
7313       proxy minions.
7314
7315       Append minion_id to these configuration directories.  Helps with multi‐
7316       ple  proxies  and minions running on the same machine. Allowed elements
7317       in the list: pki_dir, cachedir, extension_modules.  Normally not needed
7318       unless running several proxies and/or minions on the same machine.
7319
7320          append_minionid_config_dirs:
7321            - pki_dir
7322            - cachedir
7323
7324   verify_env
7325       Default: True
7326
7327       Verify and set permissions on configuration directories at startup.
7328
7329          verify_env: True
7330
7331       NOTE:
7332          When  set to True the verify_env option requires WRITE access to the
7333          configuration directory (/etc/salt/). In certain situations such  as
7334          mounting  /etc/salt/  as read-only for templating this will create a
7335          stack trace when state.apply is called.
7336
7337   cache_jobs
7338       Default: False
7339
7340       The minion can locally cache the return data from jobs sent to it, this
7341       can be a good way to keep track of the minion side of the jobs the min‐
7342       ion has executed. By default this feature is disabled,  to  enable  set
7343       cache_jobs to True.
7344
7345          cache_jobs: False
7346
7347   grains
7348       Default: (empty)
7349
7350       SEE ALSO:
7351          static-custom-grains
7352
7353       Statically assigns grains to the minion.
7354
7355          grains:
7356            roles:
7357              - webserver
7358              - memcache
7359            deployment: datacenter4
7360            cabinet: 13
7361            cab_u: 14-15
7362
7363   grains_cache
7364       Default: False
7365
7366       The  minion can locally cache grain data instead of refreshing the data
7367       each time the grain is referenced. By default this feature is disabled,
7368       to enable set grains_cache to True.
7369
7370          grains_cache: False
7371
7372   grains_deep_merge
7373       New in version 2016.3.0.
7374
7375
7376       Default: False
7377
7378       The  grains  can  be  merged, instead of overridden, using this option.
7379       This allows custom grains to defined different subvalues of  a  dictio‐
7380       nary  grain.  By  default  this  feature  is  disabled,  to  enable set
7381       grains_deep_merge to True.
7382
7383          grains_deep_merge: False
7384
7385       For example, with these custom grains functions:
7386
7387          def custom1_k1():
7388              return {'custom1': {'k1': 'v1'}}
7389
7390          def custom1_k2():
7391              return {'custom1': {'k2': 'v2'}}
7392
7393       Without grains_deep_merge, the result would be:
7394
7395          custom1:
7396            k1: v1
7397
7398       With grains_deep_merge, the result will be:
7399
7400          custom1:
7401            k1: v1
7402            k2: v2
7403
7404   grains_refresh_every
7405       Default: 0
7406
7407       The grains_refresh_every setting allows for a  minion  to  periodically
7408       check  its grains to see if they have changed and, if so, to inform the
7409       master of the new  grains.  This  operation  is  moderately  expensive,
7410       therefore care should be taken not to set this value too low.
7411
7412       Note: This value is expressed in minutes.
7413
7414       A value of 10 minutes is a reasonable default.
7415
7416          grains_refresh_every: 0
7417
7418   fibre_channel_grains
7419       Default: False
7420
7421       The fibre_channel_grains setting will enable the fc_wwn grain for Fibre
7422       Channel WWN's on the minion. Since this grain is expensive, it is  dis‐
7423       abled by default.
7424
7425          fibre_channel_grains: True
7426
7427   iscsi_grains
7428       Default: False
7429
7430       The iscsi_grains setting will enable the iscsi_iqn grain on the minion.
7431       Since this grain is expensive, it is disabled by default.
7432
7433          iscsi_grains: True
7434
7435   mine_enabled
7436       New in version 2015.8.10.
7437
7438
7439       Default: True
7440
7441       Determines whether or not the salt minion  should  run  scheduled  mine
7442       updates.   If  this  is set to False then the mine update function will
7443       not get added to the scheduler for the minion.
7444
7445          mine_enabled: True
7446
7447   mine_return_job
7448       New in version 2015.8.10.
7449
7450
7451       Default: False
7452
7453       Determines whether or not scheduled mine updates should be  accompanied
7454       by a job return for the job cache.
7455
7456          mine_return_job: False
7457
7458   mine_functions
7459       Default: Empty
7460
7461       Designate which functions should be executed at mine_interval intervals
7462       on each minion.  See this documentation  on  the  Salt  Mine  for  more
7463       information.   Note  these can be defined in the pillar for a minion as
7464       well.
7465          example minion configuration file
7466
7467          mine_functions:
7468            test.ping: []
7469            network.ip_addrs:
7470              interface: eth0
7471              cidr: '10.0.0.0/8'
7472
7473   mine_interval
7474       Default: 60
7475
7476       The number of minutes between mine updates.
7477
7478          mine_interval: 60
7479
7480   sock_dir
7481       Default: /var/run/salt/minion
7482
7483       The directory where Unix sockets will be kept.
7484
7485          sock_dir: /var/run/salt/minion
7486
7487   enable_gpu_grains
7488       Default: True
7489
7490       Enable GPU hardware data for your master. Be aware that the minion  can
7491       take  a  while to start up when lspci and/or dmidecode is used to popu‐
7492       late the grains for the minion, so this can be set to False if  you  do
7493       not need these grains.
7494
7495          enable_gpu_grains: False
7496
7497   outputter_dirs
7498       Default: []
7499
7500       A list of additional directories to search for salt outputters in.
7501
7502          outputter_dirs: []
7503
7504   backup_mode
7505       Default: ''
7506
7507       Make  backups  of files replaced by file.managed and file.recurse state
7508       modules under cachedir in file_backup subdirectory preserving  original
7509       paths.  Refer to File State Backups documentation for more details.
7510
7511          backup_mode: minion
7512
7513   acceptance_wait_time
7514       Default: 10
7515
7516       The  number of seconds to wait until attempting to re-authenticate with
7517       the master.
7518
7519          acceptance_wait_time: 10
7520
7521   acceptance_wait_time_max
7522       Default: 0
7523
7524       The maximum number of seconds to wait until attempting to  re-authenti‐
7525       cate   with   the   master.   If   set,   the  wait  will  increase  by
7526       acceptance_wait_time seconds each iteration.
7527
7528          acceptance_wait_time_max: 0
7529
7530   rejected_retry
7531       Default: False
7532
7533       If the master rejects the minion's public key, retry instead  of  exit‐
7534       ing.  Rejected keys will be handled the same as waiting on acceptance.
7535
7536          rejected_retry: False
7537
7538   random_reauth_delay
7539       Default: 10
7540
7541       When  the  master key changes, the minion will try to re-auth itself to
7542       receive the new master key. In larger environments  this  can  cause  a
7543       syn-flood on the master because all minions try to re-auth immediately.
7544       To prevent this and have a minion wait for a random amount of time, use
7545       this  optional parameter. The wait-time will be a random number of sec‐
7546       onds between 0 and the defined value.
7547
7548          random_reauth_delay: 60
7549
7550   master_tries
7551       New in version 2016.3.0.
7552
7553
7554       Default: 1
7555
7556       The number of attempts to connect to a master  before  giving  up.  Set
7557       this  to  -1  for  unlimited attempts. This allows for a master to have
7558       downtime and the minion to reconnect to it later when it comes back up.
7559       In 'failover' mode, which is set in the master_type configuration, this
7560       value is the number of attempts for each set of masters. In this  mode,
7561       it will cycle through the list of masters for each attempt.
7562
7563       master_tries  is  different than auth_tries because auth_tries attempts
7564       to retry auth attempts with a single master. auth_tries  is  under  the
7565       assumption  that  you can connect to the master but not gain authoriza‐
7566       tion from it.  master_tries will still cycle through all of the masters
7567       in  a given try, so it is appropriate if you expect occasional downtime
7568       from the master(s).
7569
7570          master_tries: 1
7571
7572   auth_tries
7573       New in version 2014.7.0.
7574
7575
7576       Default: 7
7577
7578       The number of attempts to authenticate to a master  before  giving  up.
7579       Or,  more  technically,  the number of consecutive SaltReqTimeoutErrors
7580       that are acceptable when trying to authenticate to the master.
7581
7582          auth_tries: 7
7583
7584   auth_timeout
7585       New in version 2014.7.0.
7586
7587
7588       Default: 60
7589
7590       When waiting for a master to accept the minion's public key, salt  will
7591       continuously attempt to reconnect until successful. This is the timeout
7592       value, in seconds, for each  individual  attempt.  After  this  timeout
7593       expires,  the  minion will wait for acceptance_wait_time seconds before
7594       trying again.  Unless your master is under unusually heavy  load,  this
7595       should be left at the default.
7596
7597          auth_timeout: 60
7598
7599   auth_safemode
7600       New in version 2014.7.0.
7601
7602
7603       Default: False
7604
7605       If authentication fails due to SaltReqTimeoutError during a ping_inter‐
7606       val, this setting, when set to True, will cause a sub-minion process to
7607       restart.
7608
7609          auth_safemode: False
7610
7611   ping_interval
7612       Default: 0
7613
7614       Instructs  the  minion to ping its master(s) every n number of minutes.
7615       Used primarily as a mitigation technique against minion disconnects.
7616
7617          ping_interval: 0
7618
7619   random_startup_delay
7620       Default: 0
7621
7622       The maximum bound for an interval in which a minion will randomly sleep
7623       upon  starting  up prior to attempting to connect to a master. This can
7624       be used to splay connection  attempts  for  cases  where  many  minions
7625       starting up at once may place undue load on a master.
7626
7627       For  example, setting this to 5 will tell a minion to sleep for a value
7628       between 0 and 5 seconds.
7629
7630          random_startup_delay: 5
7631
7632   recon_default
7633       Default: 1000
7634
7635       The interval in milliseconds that the socket should wait before  trying
7636       to reconnect to the master (1000ms = 1 second).
7637
7638          recon_default: 1000
7639
7640   recon_max
7641       Default: 10000
7642
7643       The  maximum  time a socket should wait. Each interval the time to wait
7644       is calculated by doubling the previous time. If recon_max  is  reached,
7645       it starts again at the recon_default.
7646
7647       Short example:
7648
7649              · reconnect 1: the socket will wait 'recon_default' milliseconds
7650
7651              · reconnect 2: 'recon_default' * 2
7652
7653              · reconnect 3: ('recon_default' * 2) * 2
7654
7655              · reconnect 4: value from previous interval * 2
7656
7657              · reconnect 5: value from previous interval * 2
7658
7659              · reconnect  x:  if  value  >=  recon_max,  it starts again with
7660                recon_default
7661
7662          recon_max: 10000
7663
7664   recon_randomize
7665       Default: True
7666
7667       Generate a random wait time on minion start. The wait time  will  be  a
7668       random  value between recon_default and recon_default + recon_max. Hav‐
7669       ing all minions reconnect with the  same  recon_default  and  recon_max
7670       value  kind  of  defeats the purpose of being able to change these set‐
7671       tings. If all minions have the same values and the setup is quite large
7672       (several  thousand  minions),  they  will  still  flood the master. The
7673       desired behavior is to have time-frame within all minions try to recon‐
7674       nect.
7675
7676          recon_randomize: True
7677
7678   loop_interval
7679       Default: 1
7680
7681       The loop_interval sets how long in seconds the minion will wait between
7682       evaluating the scheduler and running cleanup tasks. This defaults to  1
7683       second on the minion scheduler.
7684
7685          loop_interval: 1
7686
7687   pub_ret
7688       Default: True
7689
7690       Some  installations  choose  to  start  all job returns in a cache or a
7691       returner and forgo sending the results back to a master. In this  work‐
7692       flow,  jobs  are most often executed with --async from the Salt CLI and
7693       then results are evaluated by examining job caches on  the  minions  or
7694       any  configured returners.  WARNING: Setting this to False will disable
7695       returns back to the master.
7696
7697          pub_ret: True
7698
7699   return_retry_timer
7700       Default: 5
7701
7702       The default timeout for a minion return attempt.
7703
7704          return_retry_timer: 5
7705
7706   return_retry_timer_max
7707       Default: 10
7708
7709       The maximum timeout for a minion return attempt. If non-zero the minion
7710       return  retry  timeout  will be a random int between return_retry_timer
7711       and return_retry_timer_max
7712
7713          return_retry_timer_max: 10
7714
7715   cache_sreqs
7716       Default: True
7717
7718       The connection to the master ret_port is kept open. When set to  False,
7719       the minion creates a new connection for every return to the master.
7720
7721          cache_sreqs: True
7722
7723   ipc_mode
7724       Default: ipc
7725
7726       Windows  platforms  lack  POSIX  IPC  and must rely on slower TCP based
7727       inter- process communications. Set ipc_mode to tcp on such systems.
7728
7729          ipc_mode: ipc
7730
7731   tcp_pub_port
7732       Default: 4510
7733
7734       Publish port used when ipc_mode is set to tcp.
7735
7736          tcp_pub_port: 4510
7737
7738   tcp_pull_port
7739       Default: 4511
7740
7741       Pull port used when ipc_mode is set to tcp.
7742
7743          tcp_pull_port: 4511
7744
7745   transport
7746       Default: zeromq
7747
7748       Changes the underlying  transport  layer.  ZeroMQ  is  the  recommended
7749       transport while additional transport layers are under development. Sup‐
7750       ported values are zeromq, raet (experimental), and tcp  (experimental).
7751       This  setting has a significant impact on performance and should not be
7752       changed unless you know what you are doing!
7753
7754          transport: zeromq
7755
7756   syndic_finger
7757       Default: ''
7758
7759       The key fingerprint of the higher-level master for the syndic to verify
7760       it is talking to the intended master.
7761
7762          syndic_finger: 'ab:30:65:2a:d6:9e:20:4f:d8:b2:f3:a7:d4:65:50:10'
7763
7764   http_connect_timeout
7765       New in version Fluorine.
7766
7767
7768       Default: 20
7769
7770       HTTP  connection timeout in seconds.  Applied when fetching files using
7771       tornado back-end.  Should be greater than overall download time.
7772
7773          http_connect_timeout: 20
7774
7775   http_request_timeout
7776       New in version 2015.8.0.
7777
7778
7779       Default: 3600
7780
7781       HTTP request timeout in seconds.  Applied  when  fetching  files  using
7782       tornado back-end.  Should be greater than overall download time.
7783
7784          http_request_timeout: 3600
7785
7786   proxy_host
7787       Default: ''
7788
7789       The hostname used for HTTP proxy access.
7790
7791          proxy_host: proxy.my-domain
7792
7793   proxy_port
7794       Default: 0
7795
7796       The port number used for HTTP proxy access.
7797
7798          proxy_port: 31337
7799
7800   proxy_username
7801       Default: ''
7802
7803       The username used for HTTP proxy access.
7804
7805          proxy_username: charon
7806
7807   proxy_password
7808       Default: ''
7809
7810       The password used for HTTP proxy access.
7811
7812          proxy_password: obolus
7813
7814   no_proxy
7815       New in version Fluorine.
7816
7817
7818       Default: []
7819
7820       List of hosts to bypass HTTP proxy
7821
7822       NOTE:
7823          This  key  does nothing unless proxy_host etc is configured, it does
7824          not support any kind of wildcards.
7825
7826          no_proxy: [ '127.0.0.1', 'foo.tld' ]
7827
7828   Docker Configuration
7829   docker.update_mine
7830       New in version 2017.7.8,2018.3.3.
7831
7832
7833       Changed in version Fluorine: The default value is now False
7834
7835
7836       Default: True
7837
7838       If enabled, when containers are added, removed, stopped, started, etc.,
7839       the  mine  will  be  updated with the results of docker.ps verbose=True
7840       all=True host=True. This mine data is used by mine.get_docker. Set this
7841       option  to False to keep Salt from updating the mine with this informa‐
7842       tion.
7843
7844       NOTE:
7845          This option can also be set in Grains or Pillar  data,  with  Grains
7846          overriding Pillar and the minion config file overriding Grains.
7847
7848       NOTE:
7849          Disabling  this  will  of course keep mine.get_docker from returning
7850          any information for a given minion.
7851
7852          docker.update_mine: False
7853
7854   docker.compare_container_networks
7855       New in version 2018.3.0.
7856
7857
7858       Default: {'static': ['Aliases',  'Links',  'IPAMConfig'],  'automatic':
7859       ['IPAddress', 'Gateway', 'GlobalIPv6Address', 'IPv6Gateway']}
7860
7861       Specifies which keys are examined by docker.compare_container_networks.
7862
7863       NOTE:
7864          This  should  not  need  to be modified unless new features added to
7865          Docker result in new keys added to the network  configuration  which
7866          must  be compared to determine if two containers have different net‐
7867          work configs.  This config option exists solely as a  way  to  allow
7868          users to continue using Salt to manage their containers after an API
7869          change, without waiting for a new Salt release to catch  up  to  the
7870          changes in the Docker API.
7871
7872          docker.compare_container_networks:
7873            static:
7874              - Aliases
7875              - Links
7876              - IPAMConfig
7877            automatic:
7878              - IPAddress
7879              - Gateway
7880              - GlobalIPv6Address
7881              - IPv6Gateway
7882
7883   optimization_order
7884       Default: [0, 1, 2]
7885
7886       In  cases  where  Salt  is  distributed  without .py files, this option
7887       determines the priority of optimization level(s) Salt's  module  loader
7888       should prefer.
7889
7890       NOTE:
7891          This option is only supported on Python 3.5+.
7892
7893          optimization_order:
7894            - 2
7895            - 0
7896            - 1
7897
7898   Minion Execution Module Management
7899   disable_modules
7900       Default: [] (all execution modules are enabled by default)
7901
7902       The  event  may  occur in which the administrator desires that a minion
7903       should not be able to execute a certain module.
7904
7905       However, the sys module is built into the minion  and  cannot  be  dis‐
7906       abled.
7907
7908       This  setting  can also tune the minion. Because all modules are loaded
7909       into system memory, disabling modules will lower  the  minion's  memory
7910       footprint.
7911
7912       Modules  should be specified according to their file name on the system
7913       and not by their virtual name. For example, to  disable  cmd,  use  the
7914       string cmdmod which corresponds to salt.modules.cmdmod.
7915
7916          disable_modules:
7917            - test
7918            - solr
7919
7920   disable_returners
7921       Default: [] (all returners are enabled by default)
7922
7923       If certain returners should be disabled, this is the place
7924
7925          disable_returners:
7926            - mongo_return
7927
7928   whitelist_modules
7929       Default:  []  (Module whitelisting is disabled.  Adding anything to the
7930       config option will cause only the listed modules to be  enabled.   Mod‐
7931       ules not in the list will not be loaded.)
7932
7933       This  option is the reverse of disable_modules. If enabled, only execu‐
7934       tion modules in this list will be loaded and executed on the minion.
7935
7936       Note that this is a very large hammer and it can be quite difficult  to
7937       keep  the  minion  working  the way you think it should since Salt uses
7938       many modules internally itself.  At a bare minimum you need the follow‐
7939       ing enabled or else the minion won't start.
7940
7941          whitelist_modules:
7942            - cmdmod
7943            - test
7944            - config
7945
7946   module_dirs
7947       Default: []
7948
7949       A list of extra directories to search for Salt modules
7950
7951          module_dirs:
7952            - /var/lib/salt/modules
7953
7954   returner_dirs
7955       Default: []
7956
7957       A list of extra directories to search for Salt returners
7958
7959          returner_dirs:
7960            - /var/lib/salt/returners
7961
7962   states_dirs
7963       Default: []
7964
7965       A list of extra directories to search for Salt states
7966
7967          states_dirs:
7968            - /var/lib/salt/states
7969
7970   grains_dirs
7971       Default: []
7972
7973       A list of extra directories to search for Salt grains
7974
7975          grains_dirs:
7976            - /var/lib/salt/grains
7977
7978   render_dirs
7979       Default: []
7980
7981       A list of extra directories to search for Salt renderers
7982
7983          render_dirs:
7984            - /var/lib/salt/renderers
7985
7986   utils_dirs
7987       Default: []
7988
7989       A list of extra directories to search for Salt utilities
7990
7991          utils_dirs:
7992            - /var/lib/salt/utils
7993
7994   cython_enable
7995       Default: False
7996
7997       Set  this  value  to  true to enable auto-loading and compiling of .pyx
7998       modules, This setting requires that gcc and cython are installed on the
7999       minion.
8000
8001          cython_enable: False
8002
8003   enable_zip_modules
8004       New in version 2015.8.0.
8005
8006
8007       Default: False
8008
8009       Set  this  value to true to enable loading of zip archives as extension
8010       modules.  This allows for packing module code with  specific  dependen‐
8011       cies  to  avoid  conflicts  and/or  having to install specific modules'
8012       dependencies in system libraries.
8013
8014          enable_zip_modules: False
8015
8016   providers
8017       Default: (empty)
8018
8019       A module provider can be statically overwritten  or  extended  for  the
8020       minion  via  the  providers  option.  This can be done on an individual
8021       basis in an SLS file, or globally  here  in  the  minion  config,  like
8022       below.
8023
8024          providers:
8025            service: systemd
8026
8027   modules_max_memory
8028       Default: -1
8029
8030       Specify  a  max  size (in bytes) for modules on import. This feature is
8031       currently only supported on *NIX operating systems and requires psutil.
8032
8033          modules_max_memory: -1
8034
8035   extmod_whitelist/extmod_blacklist
8036       New in version 2017.7.0.
8037
8038
8039       By using this dictionary, the modules that are synced to  the  minion's
8040       extmod  cache  using saltutil.sync_* can be limited.  If nothing is set
8041       to a specific type, then all modules are accepted.  To block  all  mod‐
8042       ules of a specific type, whitelist an empty list.
8043
8044          extmod_whitelist:
8045            modules:
8046              - custom_module
8047            engines:
8048              - custom_engine
8049            pillars: []
8050
8051          extmod_blacklist:
8052            modules:
8053              - specific_module
8054
8055       Valid options:
8056
8057          · beacons
8058
8059          · clouds
8060
8061          · sdb
8062
8063          · modules
8064
8065          · states
8066
8067          · grains
8068
8069          · renderers
8070
8071          · returners
8072
8073          · proxy
8074
8075          · engines
8076
8077          · output
8078
8079          · utils
8080
8081          · pillar
8082
8083   Top File Settings
8084       These parameters only have an effect if running a masterless minion.
8085
8086   state_top
8087       Default: top.sls
8088
8089       The state system uses a "top" file to tell the minions what environment
8090       to use and what modules to use. The state_top file is defined  relative
8091       to the root of the base environment.
8092
8093          state_top: top.sls
8094
8095   state_top_saltenv
8096       This  option  has  no  default  value. Set it to an environment name to
8097       ensure that only the top file from that environment is considered  dur‐
8098       ing a highstate.
8099
8100       NOTE:
8101          Using this value does not change the merging strategy. For instance,
8102          if top_file_merging_strategy is set to merge, and  state_top_saltenv
8103          is  set to foo, then any sections for environments other than foo in
8104          the  top  file  for  the  foo  environment  will  be  ignored.  With
8105          state_top_saltenv  set  to base, all states from all environments in
8106          the base top file will be applied, while all  other  top  files  are
8107          ignored.  The  only  way to set state_top_saltenv to something other
8108          than base and not have the other environments in  the  targeted  top
8109          file   ignored,   would   be  to  set  top_file_merging_strategy  to
8110          merge_all.
8111
8112          state_top_saltenv: dev
8113
8114   top_file_merging_strategy
8115       Changed in version 2016.11.0: A merge_all strategy has been added.
8116
8117
8118       Default: merge
8119
8120       When no specific fileserver environment (a.k.a. saltenv) has been spec‐
8121       ified  for a highstate, all environments' top files are inspected. This
8122       config option determines how the SLS targets in  those  top  files  are
8123       handled.
8124
8125       When  set to merge, the base environment's top file is evaluated first,
8126       followed by the other environments' top files. The first target expres‐
8127       sion (e.g. '*') for a given environment is kept, and when the same tar‐
8128       get expression is used in a different top file evaluated later,  it  is
8129       ignored.   Because  base  is  evaluated first, it is authoritative. For
8130       example, if there is a target for '*' for the foo environment  in  both
8131       the  base  and foo environment's top files, the one in the foo environ‐
8132       ment would be ignored. The environments will be evaluated  in  no  spe‐
8133       cific  order  (aside  from base coming first). For greater control over
8134       the order in which the environments are evaluated, use env_order.  Note
8135       that,  aside  from the base environment's top file, any sections in top
8136       files that do not match that top file's environment  will  be  ignored.
8137       So,  for  example, a section for the qa environment would be ignored if
8138       it appears in the dev environment's top file. To keep  use  cases  like
8139       this from being ignored, use the merge_all strategy.
8140
8141       When  set  to  same, then for each environment, only that environment's
8142       top file is processed, with the others being ignored. For example, only
8143       the  dev  environment's top file will be processed for the dev environ‐
8144       ment, and any SLS targets defined for dev in the base environment's (or
8145       any  other  environment's)  top file will be ignored. If an environment
8146       does not have a top file, then the top file from the default_top config
8147       parameter will be used as a fallback.
8148
8149       When  set  to merge_all, then all states in all environments in all top
8150       files will be applied. The order in which individual SLS files will  be
8151       executed  will  depend  on the order in which the top files were evalu‐
8152       ated, and the environments will be evaluated in no specific order.  For
8153       greater control over the order in which the environments are evaluated,
8154       use env_order.
8155
8156          top_file_merging_strategy: same
8157
8158   env_order
8159       Default: []
8160
8161       When top_file_merging_strategy is set to merge, and no  environment  is
8162       specified  for  a highstate, this config option allows for the order in
8163       which top files are evaluated to be explicitly defined.
8164
8165          env_order:
8166            - base
8167            - dev
8168            - qa
8169
8170   default_top
8171       Default: base
8172
8173       When top_file_merging_strategy is set to same, and  no  environment  is
8174       specified  for  a  highstate (i.e.  environment is not set for the min‐
8175       ion), this config option specifies a fallback environment in  which  to
8176       look for a top file if an environment lacks one.
8177
8178          default_top: dev
8179
8180   startup_states
8181       Default: ''
8182
8183       States   to   run  when  the  minion  daemon  starts.  To  enable,  set
8184       startup_states to:
8185
8186       · highstate: Execute state.highstate
8187
8188       · sls: Read in the sls_list option and execute the named sls files
8189
8190       · top: Read top_file option and execute based on that file on the  Mas‐
8191         ter
8192
8193          startup_states: ''
8194
8195   sls_list
8196       Default: []
8197
8198       List  of  states  to run when the minion starts up if startup_states is
8199       set to sls.
8200
8201          sls_list:
8202            - edit.vim
8203            - hyper
8204
8205   top_file
8206       Default: ''
8207
8208       Top file to execute if startup_states is set to top.
8209
8210          top_file: ''
8211
8212   State Management Settings
8213   renderer
8214       Default: jinja|yaml
8215
8216       The default renderer used for local state executions
8217
8218          renderer: jinja|json
8219
8220   test
8221       Default: False
8222
8223       Set all state calls to only test if they are  going  to  actually  make
8224       changes or just post what changes are going to be made.
8225
8226          test: False
8227
8228   state_verbose
8229       Default: True
8230
8231       Controls  the  verbosity  of state runs. By default, the results of all
8232       states are returned, but setting this value to False will cause salt to
8233       only display output for states that failed or states that have changes.
8234
8235          state_verbose: True
8236
8237   state_output
8238       Default: full
8239
8240       The  state_output  setting  controls  which results will be output full
8241       multi line:
8242
8243       · full, terse - each state will be full/terse
8244
8245       · mixed - only states with errors will be full
8246
8247       · changes - states with changes and errors will be full
8248
8249       full_id, mixed_id, changes_id and terse_id are also allowed; when  set,
8250       the state ID will be used as name in the output.
8251
8252          state_output: full
8253
8254   state_output_diff
8255       Default: False
8256
8257       The  state_output_diff  setting  changes whether or not the output from
8258       successful states is returned. Useful when even  the  terse  output  of
8259       these states is cluttering the logs. Set it to True to ignore them.
8260
8261          state_output_diff: False
8262
8263   autoload_dynamic_modules
8264       Default: True
8265
8266       autoload_dynamic_modules turns on automatic loading of modules found in
8267       the environments on the master. This is turned on by default.  To  turn
8268       off auto-loading modules when states run, set this value to False.
8269
8270          autoload_dynamic_modules: True
8271
8272       Default: True
8273
8274       clean_dynamic_modules  keeps  the dynamic modules on the minion in sync
8275       with the dynamic modules on the master. This means that  if  a  dynamic
8276       module  is  not  on  the  master it will be deleted from the minion. By
8277       default this is enabled and can be disabled by changing this  value  to
8278       False.
8279
8280          clean_dynamic_modules: True
8281
8282       NOTE:
8283          If  extmod_whitelist is specified, modules which are not whitelisted
8284          will also be cleaned here.
8285
8286   saltenv
8287       Changed in version 2018.3.0: Renamed from environment  to  saltenv.  If
8288       environment  is  used,  saltenv  will take its value. If both are used,
8289       environment will be ignored and saltenv will be used.
8290
8291
8292       Normally the minion is not isolated to any single  environment  on  the
8293       master  when running states, but the environment can be isolated on the
8294       minion side by statically setting it. Remember that the recommended way
8295       to manage environments is to isolate via the top file.
8296
8297          saltenv: dev
8298
8299   lock_saltenv
8300       New in version 2018.3.0.
8301
8302
8303       Default: False
8304
8305       For  purposes of running states, this option prevents using the saltenv
8306       argument to manually set the environment. This is useful to keep a min‐
8307       ion which has the saltenv option set to dev from running states from an
8308       environment other than dev.
8309
8310          lock_saltenv: True
8311
8312   snapper_states
8313       Default: False
8314
8315       The snapper_states value is used to  enable  taking  snapper  snapshots
8316       before  and  after  salt  state  runs. This allows for state runs to be
8317       rolled back.
8318
8319       For snapper states to function properly snapper needs to  be  installed
8320       and enabled.
8321
8322          snapper_states: True
8323
8324   snapper_states_config
8325       Default: root
8326
8327       Snapper can execute based on a snapper configuration. The configuration
8328       needs to be set up before snapper can use it. The default configuration
8329       is  root,  this  default  makes  snapper  run on SUSE systems using the
8330       default configuration set up at install time.
8331
8332          snapper_states_config: root
8333
8334   File Directory Settings
8335   file_client
8336       Default: remote
8337
8338       The client defaults to looking on the master server for files, but  can
8339       be directed to look on the minion by setting this parameter to local.
8340
8341          file_client: remote
8342
8343   use_master_when_local
8344       Default: False
8345
8346       When  using  a  local  file_client, this parameter is used to allow the
8347       client to connect to a master for remote execution.
8348
8349          use_master_when_local: False
8350
8351   file_roots
8352       Default:
8353
8354          base:
8355            - /srv/salt
8356
8357       When using a local file_client, this parameter is  used  to  setup  the
8358       fileserver's  environments.  This parameter operates identically to the
8359       master config parameter of the same name.
8360
8361          file_roots:
8362            base:
8363              - /srv/salt
8364            dev:
8365              - /srv/salt/dev/services
8366              - /srv/salt/dev/states
8367            prod:
8368              - /srv/salt/prod/services
8369              - /srv/salt/prod/states
8370
8371   fileserver_followsymlinks
8372       New in version 2014.1.0.
8373
8374
8375       Default: True
8376
8377       By default, the file_server follows symlinks when walking the  filesys‐
8378       tem  tree.   Currently  this  only  applies  to the default roots file‐
8379       server_backend.
8380
8381          fileserver_followsymlinks: True
8382
8383   fileserver_ignoresymlinks
8384       New in version 2014.1.0.
8385
8386
8387       Default: False
8388
8389       If you do not want symlinks to be treated as the files they are  point‐
8390       ing  to,  set fileserver_ignoresymlinks to True. By default this is set
8391       to False. When set to True, any detected symlink while listing files on
8392       the Master will not be returned to the Minion.
8393
8394          fileserver_ignoresymlinks: False
8395
8396   fileserver_limit_traversal
8397       New in version 2014.1.0.
8398
8399
8400       Default: False
8401
8402       By  default,  the Salt fileserver recurses fully into all defined envi‐
8403       ronments to attempt to find files. To limit this behavior so  that  the
8404       fileserver  only  traverses directories with SLS files and special Salt
8405       directories like _modules, set fileserver_limit_traversal to True. This
8406       might  be  useful  for installations where a file root has a very large
8407       number of files and performance is impacted.
8408
8409          fileserver_limit_traversal: False
8410
8411   hash_type
8412       Default: sha256
8413
8414       The hash_type is the hash to use when discovering the hash of a file on
8415       the  local  fileserver.  The  default is sha256, but md5, sha1, sha224,
8416       sha384, and sha512 are also supported.
8417
8418          hash_type: sha256
8419
8420   Pillar Configuration
8421   pillar_roots
8422       Default:
8423
8424          base:
8425            - /srv/pillar
8426
8427       When using a local file_client, this parameter is  used  to  setup  the
8428       pillar environments.
8429
8430          pillar_roots:
8431            base:
8432              - /srv/pillar
8433            dev:
8434              - /srv/pillar/dev
8435            prod:
8436              - /srv/pillar/prod
8437
8438   on_demand_ext_pillar
8439       New in version 2016.3.6,2016.11.3,2017.7.0.
8440
8441
8442       Default: ['libvirt', 'virtkey']
8443
8444       When  using  a  local  file_client, this option controls which external
8445       pillars are permitted to be used on-demand using pillar.ext.
8446
8447          on_demand_ext_pillar:
8448            - libvirt
8449            - virtkey
8450            - git
8451
8452       WARNING:
8453          This will allow a masterless minion to request specific pillar  data
8454          via pillar.ext, and may be considered a security risk. However, pil‐
8455          lar data generated in this way will not affect the in-memory  pillar
8456          data,  so  this  risk  is  limited to instances in which states/mod‐
8457          ules/etc. (built-in or custom) rely upon pillar  data  generated  by
8458          pillar.ext.
8459
8460   decrypt_pillar
8461       New in version 2017.7.0.
8462
8463
8464       Default: []
8465
8466       A list of paths to be recursively decrypted during pillar compilation.
8467
8468          decrypt_pillar:
8469            - 'foo:bar': gpg
8470            - 'lorem:ipsum:dolor'
8471
8472       Entries  in this list can be formatted either as a simple string, or as
8473       a key/value pair, with the key being the pillar location, and the value
8474       being the renderer to use for pillar decryption. If the former is used,
8475       the renderer specified by decrypt_pillar_default will be used.
8476
8477   decrypt_pillar_delimiter
8478       New in version 2017.7.0.
8479
8480
8481       Default: :
8482
8483       The delimiter  used  to  distinguish  nested  data  structures  in  the
8484       decrypt_pillar option.
8485
8486          decrypt_pillar_delimiter: '|'
8487          decrypt_pillar:
8488            - 'foo|bar': gpg
8489            - 'lorem|ipsum|dolor'
8490
8491   decrypt_pillar_default
8492       New in version 2017.7.0.
8493
8494
8495       Default: gpg
8496
8497       The default renderer used for decryption, if one is not specified for a
8498       given pillar key in decrypt_pillar.
8499
8500          decrypt_pillar_default: my_custom_renderer
8501
8502   decrypt_pillar_renderers
8503       New in version 2017.7.0.
8504
8505
8506       Default: ['gpg']
8507
8508       List of renderers which are permitted to be used for pillar decryption.
8509
8510          decrypt_pillar_renderers:
8511            - gpg
8512            - my_custom_renderer
8513
8514   pillarenv
8515       Default: None
8516
8517       Isolates the pillar environment on the minion side. This functions  the
8518       same as the environment setting, but for pillar instead of states.
8519
8520          pillarenv: dev
8521
8522   pillarenv_from_saltenv
8523       New in version 2017.7.0.
8524
8525
8526       Default: False
8527
8528       When  set  to  True,  the  pillarenv value will assume the value of the
8529       effective saltenv when running states. This essentially makes salt  '*'
8530       state.sls  mysls  saltenv=dev  equivalent  to  salt '*' state.sls mysls
8531       saltenv=dev pillarenv=dev. If pillarenv is set, either  in  the  minion
8532       config file or via the CLI, it will override this option.
8533
8534          pillarenv_from_saltenv: True
8535
8536   pillar_raise_on_missing
8537       New in version 2015.5.0.
8538
8539
8540       Default: False
8541
8542       Set  this  option  to True to force a KeyError to be raised whenever an
8543       attempt to retrieve a named value from pillar fails. When  this  option
8544       is set to False, the failed attempt returns an empty string.
8545
8546   minion_pillar_cache
8547       New in version 2016.3.0.
8548
8549
8550       Default: False
8551
8552       The   minion   can   locally   cache   rendered   pillar   data   under
8553       cachedir/pillar. This  allows  a  temporarily  disconnected  minion  to
8554       access  previously  cached  pillar  data by invoking salt-call with the
8555       --local and --pillar_root=:conf_minion:cachedir/pillar options.  Before
8556       enabling  this  setting  consider  that the rendered pillar may contain
8557       security sensitive data.  Appropriate access restrictions should be  in
8558       place.  By  default  the saved pillar data will be readable only by the
8559       user account running salt. By default  this  feature  is  disabled,  to
8560       enable set minion_pillar_cache to True.
8561
8562          minion_pillar_cache: False
8563
8564   file_recv_max_size
8565       New in version 2014.7.0.
8566
8567
8568       Default: 100
8569
8570       Set  a  hard-limit  on  the size of the files that can be pushed to the
8571       master.  It will be interpreted as megabytes.
8572
8573          file_recv_max_size: 100
8574
8575   pass_to_ext_pillars
8576       Specify a list of configuration keys whose values are to be  passed  to
8577       external pillar functions.
8578
8579       Suboptions  can be specified using the ':' notation (i.e. option:subop‐
8580       tion)
8581
8582       The values are merged and included in  the  extra_minion_data  optional
8583       parameter  of  the  external  pillar  function.   The extra_minion_data
8584       parameter is passed only to the external pillar functions that have  it
8585       explicitly specified in their definition.
8586
8587       If the config contains
8588
8589          opt1: value1
8590          opt2:
8591            subopt1: value2
8592            subopt2: value3
8593
8594          pass_to_ext_pillars:
8595            - opt1
8596            - opt2: subopt1
8597
8598       the extra_minion_data parameter will be
8599
8600          {'opt1': 'value1',
8601           'opt2': {'subopt1': 'value2'}}
8602
8603   Security Settings
8604   open_mode
8605       Default: False
8606
8607       Open  mode  can be used to clean out the PKI key received from the Salt
8608       master, turn on open mode, restart the minion, then turn off open  mode
8609       and restart the minion to clean the keys.
8610
8611          open_mode: False
8612
8613   master_finger
8614       Default: ''
8615
8616       Fingerprint  of  the master public key to validate the identity of your
8617       Salt master before the initial key exchange. The master fingerprint can
8618       be found by running "salt-key -F master" on the Salt master.
8619
8620          master_finger: 'ba:30:65:2a:d6:9e:20:4f:d8:b2:f3:a7:d4:65:11:13'
8621
8622   keysize
8623       Default: 2048
8624
8625       The size of key that should be generated when creating new keys.
8626
8627          keysize: 2048
8628
8629   permissive_pki_access
8630       Default: False
8631
8632       Enable  permissive  access to the salt keys. This allows you to run the
8633       master or minion as root, but have a non-root group be given access  to
8634       your  pki_dir.  To  make  the  access explicit, root must belong to the
8635       group you've given access to. This is potentially quite insecure.
8636
8637          permissive_pki_access: False
8638
8639   verify_master_pubkey_sign
8640       Default: False
8641
8642       Enables verification of the  master-public-signature  returned  by  the
8643       master  in  auth-replies.  Please  see the tutorial on how to configure
8644       this properly Multimaster-PKI with Failover Tutorial
8645
8646       New in version 2014.7.0.
8647
8648
8649          verify_master_pubkey_sign: True
8650
8651       If this is set to True, master_sign_pubkey must be also set to True  in
8652       the master configuration file.
8653
8654   master_sign_key_name
8655       Default: master_sign
8656
8657       The  filename  without the .pub suffix of the public key that should be
8658       used for verifying the signature from the  master.  The  file  must  be
8659       located in the minion's pki directory.
8660
8661       New in version 2014.7.0.
8662
8663
8664          master_sign_key_name: <filename_without_suffix>
8665
8666   autosign_grains
8667       New in version 2018.3.0.
8668
8669
8670       Default: not defined
8671
8672       The  grains  that  should  be  sent  to the master on authentication to
8673       decide if the minion's key should be accepted automatically.
8674
8675       Please see the Autoaccept Minions from Grains  documentation  for  more
8676       information.
8677
8678          autosign_grains:
8679            - uuid
8680            - server_id
8681
8682   always_verify_signature
8683       Default: False
8684
8685       If verify_master_pubkey_sign is enabled, the signature is only verified
8686       if the public-key of the master changes. If the signature should always
8687       be verified, this can be set to True.
8688
8689       New in version 2014.7.0.
8690
8691
8692          always_verify_signature: True
8693
8694   cmd_blacklist_glob
8695       Default: []
8696
8697       If  cmd_blacklist_glob  is  enabled  then any shell command called over
8698       remote execution or via salt-call will  be  checked  against  the  glob
8699       matches found in the cmd_blacklist_glob list and any matched shell com‐
8700       mand will be blocked.
8701
8702       NOTE:
8703          This blacklist is only applied to direct executions made by the salt
8704          and salt-call commands. This does NOT blacklist commands called from
8705          states or shell commands executed from other modules.
8706
8707       New in version 2016.11.0.
8708
8709
8710          cmd_blacklist_glob:
8711            - 'rm * '
8712            - 'cat /etc/* '
8713
8714   cmd_whitelist_glob
8715       Default: []
8716
8717       If cmd_whitelist_glob is enabled then any  shell  command  called  over
8718       remote  execution  or  via  salt-call  will be checked against the glob
8719       matches found in the cmd_whitelist_glob list and any shell command  NOT
8720       found  in  the  list will be blocked. If cmd_whitelist_glob is NOT SET,
8721       then all shell commands are permitted.
8722
8723       NOTE:
8724          This whitelist is only applied to direct executions made by the salt
8725          and  salt-call commands. This does NOT restrict commands called from
8726          states or shell commands executed from other modules.
8727
8728       New in version 2016.11.0.
8729
8730
8731          cmd_whitelist_glob:
8732            - 'ls * '
8733            - 'cat /etc/fstab'
8734
8735   ssl
8736       New in version 2016.11.0.
8737
8738
8739       Default: None
8740
8741       TLS/SSL connection options. This could be set to a dictionary  contain‐
8742       ing  arguments  corresponding  to  python  ssl.wrap_socket  method. For
8743       details see Tornado and Python documentation.
8744
8745       Note: to set enum arguments values like cert_reqs and  ssl_version  use
8746       constant  names  without  ssl  module  prefix:  CERT_REQUIRED or PROTO‐
8747       COL_SSLv23.
8748
8749          ssl:
8750              keyfile: <path_to_keyfile>
8751              certfile: <path_to_certfile>
8752              ssl_version: PROTOCOL_TLSv1_2
8753
8754   Reactor Settings
8755   reactor
8756       Default: []
8757
8758       Defines a salt reactor. See the Reactor documentation for more informa‐
8759       tion.
8760
8761          reactor: []
8762
8763   reactor_refresh_interval
8764       Default: 60
8765
8766       The TTL for the cache of the reactor configuration.
8767
8768          reactor_refresh_interval: 60
8769
8770   reactor_worker_threads
8771       Default: 10
8772
8773       The number of workers for the runner/wheel in the reactor.
8774
8775          reactor_worker_threads: 10
8776
8777   reactor_worker_hwm
8778       Default: 10000
8779
8780       The queue size for workers in the reactor.
8781
8782          reactor_worker_hwm: 10000
8783
8784   Thread Settings
8785   multiprocessing
8786       Default: True
8787
8788       If  multiprocessing  is  enabled when a minion receives a publication a
8789       new process is spawned and  the  command  is  executed  therein.   Con‐
8790       versely, if multiprocessing is disabled the new publication will be run
8791       executed in a thread.
8792
8793          multiprocessing: True
8794
8795   process_count_max
8796       New in version 2018.3.0.
8797
8798
8799       Default: -1
8800
8801       Limit the maximum amount of processes or threads created  by  salt-min‐
8802       ion.   This  is  useful to avoid resource exhaustion in case the minion
8803       receives more publications than it is able to handle, as it limits  the
8804       number  of spawned processes or threads. -1 is the default and disables
8805       the limit.
8806
8807          process_count_max: -1
8808
8809   Minion Logging Settings
8810   log_file
8811       Default: /var/log/salt/minion
8812
8813       The minion log can be sent to a regular file, local path name, or  net‐
8814       work location.  See also log_file.
8815
8816       Examples:
8817
8818          log_file: /var/log/salt/minion
8819
8820          log_file: file:///dev/log
8821
8822          log_file: udp://loghost:10514
8823
8824   log_level
8825       Default: warning
8826
8827       The level of messages to send to the console. See also log_level.
8828
8829          log_level: warning
8830
8831   log_level_logfile
8832       Default: warning
8833
8834       The  level of messages to send to the log file. See also log_level_log‐
8835       file. When it is not set explicitly it will inherit the  level  set  by
8836       log_level option.
8837
8838          log_level_logfile: warning
8839
8840   log_datefmt
8841       Default: %H:%M:%S
8842
8843       The  date  and  time  format  used  in  console  log messages. See also
8844       log_datefmt.
8845
8846          log_datefmt: '%H:%M:%S'
8847
8848   log_datefmt_logfile
8849       Default: %Y-%m-%d %H:%M:%S
8850
8851       The  date  and  time  format  used  in  log  file  messages.  See  also
8852       log_datefmt_logfile.
8853
8854          log_datefmt_logfile: '%Y-%m-%d %H:%M:%S'
8855
8856   log_fmt_console
8857       Default: [%(levelname)-8s] %(message)s
8858
8859       The format of the console logging messages. See also log_fmt_console.
8860
8861       NOTE:
8862          Log colors are enabled in log_fmt_console rather than the color con‐
8863          fig since the logging system is loaded before the minion config.
8864
8865          Console log colors are specified by these additional formatters:
8866
8867          %(colorlevel)s %(colorname)s %(colorprocess)s %(colormsg)s
8868
8869          Since it is desirable to include the surrounding brackets,  '['  and
8870          ']',  in  the  coloring of the messages, these color formatters also
8871          include padding as well.  Color LogRecord attributes are only avail‐
8872          able for console logging.
8873
8874          log_fmt_console: '%(colorlevel)s %(colormsg)s'
8875          log_fmt_console: '[%(levelname)-8s] %(message)s'
8876
8877   log_fmt_logfile
8878       Default:  %(asctime)s,%(msecs)03d [%(name)-17s][%(levelname)-8s] %(mes‐
8879       sage)s
8880
8881       The format of the log file logging messages. See also log_fmt_logfile.
8882
8883          log_fmt_logfile: '%(asctime)s,%(msecs)03d [%(name)-17s][%(levelname)-8s] %(message)s'
8884
8885   log_granular_levels
8886       Default: {}
8887
8888       This can be used to control logging levels more specifically. See  also
8889       log_granular_levels.
8890
8891   zmq_monitor
8892       Default: False
8893
8894       To  diagnose  issues  with  minions  disconnecting  or missing returns,
8895       ZeroMQ supports the use of monitor sockets to  log  connection  events.
8896       This feature requires ZeroMQ 4.0 or higher.
8897
8898       To  enable  ZeroMQ monitor sockets, set 'zmq_monitor' to 'True' and log
8899       at a debug level or higher.
8900
8901       A sample log event is as follows:
8902
8903          [DEBUG   ] ZeroMQ event: {'endpoint': 'tcp://127.0.0.1:4505', 'event': 512,
8904          'value': 27, 'description': 'EVENT_DISCONNECTED'}
8905
8906       All events logged will include the string ZeroMQ  event.  A  connection
8907       event  should  be logged as the minion starts up and initially connects
8908       to the master. If not, check for debug log level and that the necessary
8909       version of ZeroMQ is installed.
8910
8911   tcp_authentication_retries
8912       Default: 5
8913
8914       The  number  of times to retry authenticating with the salt master when
8915       it comes back online.
8916
8917       Zeromq does a lot to make sure when connections come back  online  that
8918       they reauthenticate. The tcp transport should try to connect with a new
8919       connection if the old one times out on reauthenticating.
8920
8921       -1 for infinite tries.
8922
8923   failhard
8924       Default: False
8925
8926       Set the global failhard flag. This informs all states to  stop  running
8927       states at the moment a single state fails
8928
8929          failhard: False
8930
8931   Include Configuration
8932       Configuration  can  be  loaded  from multiple files. The order in which
8933       this is done is:
8934
8935       1. The minion config file itself
8936
8937       2. The files matching the glob in default_include
8938
8939       3. The files matching the glob in include (if defined)
8940
8941       Each successive step overrides  any  values  defined  in  the  previous
8942       steps.    Therefore,   any   config  options  defined  in  one  of  the
8943       default_include files would override the same value in the minion  con‐
8944       fig file, and any options defined in include would override both.
8945
8946   default_include
8947       Default: minion.d/*.conf
8948
8949       The  minion can include configuration from other files. Per default the
8950       minion will automatically include all config files from minion.d/*.conf
8951       where minion.d is relative to the directory of the minion configuration
8952       file.
8953
8954       NOTE:
8955          Salt creates files in the minion.d directory for its own use.  These
8956          files  are  prefixed with an underscore. A common example of this is
8957          the _schedule.conf file.
8958
8959   include
8960       Default: not defined
8961
8962       The minion can include configuration from other files. To enable  this,
8963       pass  a  list of paths to this option. The paths can be either relative
8964       or absolute; if relative, they are considered to  be  relative  to  the
8965       directory  the  main minion configuration file lives in. Paths can make
8966       use of shell-style globbing. If no files are matched by a  path  passed
8967       to this option then the minion will log a warning message.
8968
8969          # Include files from a minion.d directory in the same
8970          # directory as the minion config file
8971          include: minion.d/*.conf
8972
8973          # Include a single extra file into the configuration
8974          include: /etc/roles/webserver
8975
8976          # Include several files and the minion.d directory
8977          include:
8978            - extra_config
8979            - minion.d/*
8980            - /etc/roles/webserver
8981
8982   Keepalive Settings
8983   tcp_keepalive
8984       Default: True
8985
8986       The  tcp  keepalive  interval  to set on TCP ports. This setting can be
8987       used to tune Salt connectivity issues  in  messy  network  environments
8988       with misbehaving firewalls.
8989
8990          tcp_keepalive: True
8991
8992   tcp_keepalive_cnt
8993       Default: -1
8994
8995       Sets  the  ZeroMQ  TCP keepalive count. May be used to tune issues with
8996       minion disconnects.
8997
8998          tcp_keepalive_cnt: -1
8999
9000   tcp_keepalive_idle
9001       Default: 300
9002
9003       Sets ZeroMQ TCP keepalive idle. May be used to tune issues with  minion
9004       disconnects.
9005
9006          tcp_keepalive_idle: 300
9007
9008   tcp_keepalive_intvl
9009       Default: -1
9010
9011       Sets  ZeroMQ  TCP  keepalive  interval. May be used to tune issues with
9012       minion disconnects.
9013
9014          tcp_keepalive_intvl': -1
9015
9016   Frozen Build Update Settings
9017       These options control  how  salt.modules.saltutil.update()  works  with
9018       esky     frozen     apps.     For     more    information    look    at
9019       https://github.com/cloudmatrix/esky/.
9020
9021   update_url
9022       Default: False (Update feature is disabled)
9023
9024       The url to use when looking for application updates.  Esky  depends  on
9025       directory  listings  to search for new versions. A webserver running on
9026       your Master is a good starting point for most setups.
9027
9028          update_url: 'http://salt.example.com/minion-updates'
9029
9030   update_restart_services
9031       Default: [] (service restarting on update is disabled)
9032
9033       A list of services to restart when the minion software is updated. This
9034       would  typically  just  be a list containing the minion's service name,
9035       but you may have other services that need to go with it.
9036
9037          update_restart_services: ['salt-minion']
9038
9039   winrepo_cache_expire_min
9040       New in version 2016.11.0.
9041
9042
9043       Default: 1800
9044
9045       If set to a nonzero integer, then passing refresh=True to functions  in
9046       the  windows  pkg  module will not refresh the windows repo metadata if
9047       the age of the metadata is less than this value. The exception to  this
9048       is  pkg.refresh_db,  which will always refresh the metadata, regardless
9049       of age.
9050
9051          winrepo_cache_expire_min: 1800
9052
9053   winrepo_cache_expire_max
9054       New in version 2016.11.0.
9055
9056
9057       Default: 21600
9058
9059       If the windows repo metadata is older than this value, and the metadata
9060       is needed by a function in the windows pkg module, the metadata will be
9061       refreshed.
9062
9063          winrepo_cache_expire_max: 86400
9064
9065   Minion Windows Software Repo Settings
9066       IMPORTANT:
9067          To use these config options, the  minion  can  be  running  in  mas‐
9068          ter-minion or masterless mode.
9069
9070   winrepo_source_dir
9071       Default: salt://win/repo-ng/
9072
9073       The source location for the winrepo sls files.
9074
9075          winrepo_source_dir: salt://win/repo-ng/
9076
9077   Standalone Minion Windows Software Repo Settings
9078       IMPORTANT:
9079          To  use  these config options, the minion must be running in master‐
9080          less mode (set file_client to local).
9081
9082   winrepo_dir
9083       Changed in version 2015.8.0:  Renamed  from  win_repo  to  winrepo_dir.
9084       Also, this option did not have a default value until this version.
9085
9086
9087       Default: C:\salt\srv\salt\win\repo
9088
9089       Location on the minion where the winrepo_remotes are checked out.
9090
9091          winrepo_dir: 'D:\winrepo'
9092
9093   winrepo_dir_ng
9094       New in version 2015.8.0: A new ng repo was added.
9095
9096
9097       Default: /srv/salt/win/repo-ng
9098
9099       Location on the minion where the winrepo_remotes_ng are checked out for
9100       2015.8.0 and later minions.
9101
9102          winrepo_dir_ng: /srv/salt/win/repo-ng
9103
9104   winrepo_cachefile
9105       Changed in version 2015.8.0: Renamed from  win_repo_cachefile  to  win‐
9106       repo_cachefile.  Also,  this  option did not have a default value until
9107       this version.
9108
9109
9110       Default: winrepo.p
9111
9112       Path relative to winrepo_dir where the winrepo cache should be created.
9113
9114          winrepo_cachefile: winrepo.p
9115
9116   winrepo_remotes
9117       Changed  in  version  2015.8.0:  Renamed  from  win_gitrepos  to   win‐
9118       repo_remotes. Also, this option did not have a default value until this
9119       version.
9120
9121
9122       New in version 2015.8.0.
9123
9124
9125       Default: ['https://github.com/saltstack/salt-winrepo.git']
9126
9127       List of git repositories to checkout and include in the winrepo
9128
9129          winrepo_remotes:
9130            - https://github.com/saltstack/salt-winrepo.git
9131
9132       To specify a specific revision of the repository, prepend a  commit  ID
9133       to the URL of the repository:
9134
9135          winrepo_remotes:
9136            - '<commit_id> https://github.com/saltstack/salt-winrepo.git'
9137
9138       Replace  <commit_id>  with  the  SHA1 hash of a commit ID. Specifying a
9139       commit ID is useful in that it allows one to revert back to a  previous
9140       version in the event that an error is introduced in the latest revision
9141       of the repo.
9142
9143   winrepo_remotes_ng
9144       New in version 2015.8.0: A new ng repo was added.
9145
9146
9147       Default: ['https://github.com/saltstack/salt-winrepo-ng.git']
9148
9149       List of git repositories to checkout and include  in  the  winrepo  for
9150       2015.8.0 and later minions.
9151
9152          winrepo_remotes_ng:
9153            - https://github.com/saltstack/salt-winrepo-ng.git
9154
9155       To  specify  a specific revision of the repository, prepend a commit ID
9156       to the URL of the repository:
9157
9158          winrepo_remotes_ng:
9159            - '<commit_id> https://github.com/saltstack/salt-winrepo-ng.git'
9160
9161       Replace <commit_id> with the SHA1 hash of a  commit  ID.  Specifying  a
9162       commit  ID is useful in that it allows one to revert back to a previous
9163       version in the event that an error is introduced in the latest revision
9164       of the repo.
9165
9166   ssh_merge_pillar
9167       New in version 2018.3.2.
9168
9169
9170       Default: True
9171
9172       Merges  the compiled pillar data with the pillar data already available
9173       globally.  This is useful when using salt-ssh or salt-call --local  and
9174       overriding the pillar data in a state file:
9175
9176          apply_showpillar:
9177            module.run:
9178              - name: state.apply
9179              - mods:
9180                - showpillar
9181              - kwargs:
9182                    pillar:
9183                        test: "foo bar"
9184
9185       If set to True the showpillar state will have access to the global pil‐
9186       lar data.
9187
9188       If set to False only the overriding pillar data will  be  available  to
9189       the showpillar state.
9190
9191   Configuring the Salt Proxy Minion
9192       The Salt system is amazingly simple and easy to configure. The two com‐
9193       ponents of the Salt system each have a respective  configuration  file.
9194       The  salt-master  is  configured via the master configuration file, and
9195       the salt-proxy is configured via the proxy configuration file.
9196
9197       SEE ALSO:
9198          example proxy minion configuration file
9199
9200       The Salt Minion configuration is very simple. Typically, the only value
9201       that  needs  to  be set is the master value so the proxy knows where to
9202       locate its master.
9203
9204       By default, the salt-proxy configuration will be in /etc/salt/proxy.  A
9205       notable  exception  is  FreeBSD,  where  the  configuration  will be in
9206       /usr/local/etc/salt/proxy.
9207
9208   Proxy-specific Configuration Options
9209   add_proxymodule_to_opts
9210       New in version 2015.8.2.
9211
9212
9213       Changed in version 2016.3.0.
9214
9215
9216       Default: False
9217
9218       Add the proxymodule LazyLoader object to opts.
9219
9220          add_proxymodule_to_opts: True
9221
9222   proxy_merge_grains_in_module
9223       New in version 2016.3.0.
9224
9225
9226       Changed in version 2017.7.0.
9227
9228
9229       Default: True
9230
9231       If a proxymodule has a function called grains, then call it during reg‐
9232       ular  grains loading and merge the results with the proxy's grains dic‐
9233       tionary.  Otherwise it is assumed that  the  module  calls  the  grains
9234       function in a custom way and returns the data elsewhere.
9235
9236          proxy_merge_grains_in_module: False
9237
9238   proxy_keep_alive
9239       New in version 2017.7.0.
9240
9241
9242       Default: True
9243
9244       Whether  the connection with the remote device should be restarted when
9245       dead. The proxy module must implement the alive function, otherwise the
9246       connection is considered alive.
9247
9248          proxy_keep_alive: False
9249
9250   proxy_keep_alive_interval
9251       New in version 2017.7.0.
9252
9253
9254       Default: 1
9255
9256       The  frequency  of  keepalive  checks,  in  minutes.  It  requires  the
9257       proxy_keep_alive option to be enabled (and the proxy module  to  imple‐
9258       ment the alive function).
9259
9260          proxy_keep_alive_interval: 5
9261
9262   proxy_always_alive
9263       New in version 2017.7.0.
9264
9265
9266       Default: True
9267
9268       Whether  the  proxy  should  maintain  the  connection  with the remote
9269       device. Similarly to proxy_keep_alive, this option is very specific  to
9270       the  design  of  the  proxy  module.  When proxy_always_alive is set to
9271       False, the connection with the remote device is not maintained and  has
9272       to be closed after every command.
9273
9274          proxy_always_alive: False
9275
9276   proxy_merge_pillar_in_opts
9277       New in version 2017.7.3.
9278
9279
9280       Default: False.
9281
9282       Whether  the  pillar  data  to  be  merged into the proxy configuration
9283       options.  As multiple proxies can run on the same server, we  may  need
9284       different configuration options for each, while there's one single con‐
9285       figuration file.  The solution is merging the pillar data of each proxy
9286       minion into the opts.
9287
9288          proxy_merge_pillar_in_opts: True
9289
9290   proxy_deep_merge_pillar_in_opts
9291       New in version 2017.7.3.
9292
9293
9294       Default: False.
9295
9296       Deep  merge  of  pillar  data  into configuration opts.  This option is
9297       evaluated only when proxy_merge_pillar_in_opts is enabled.
9298
9299   proxy_merge_pillar_in_opts_strategy
9300       New in version 2017.7.3.
9301
9302
9303       Default: smart.
9304
9305       The strategy used when merging pillar configuration  into  opts.   This
9306       option is evaluated only when proxy_merge_pillar_in_opts is enabled.
9307
9308   proxy_mines_pillar
9309       New in version 2017.7.3.
9310
9311
9312       Default: True.
9313
9314       Allow  enabling mine details using pillar data. This evaluates the mine
9315       configuration under  the  pillar,  for  the  following  regular  minion
9316       options   that   are  also  equally  available  on  the  proxy  minion:
9317       mine_interval, and mine_functions.
9318
9319   Configuration file examples
9320       · Example master configuration file
9321
9322       · Example minion configuration file
9323
9324       · Example proxy minion configuration file
9325
9326   Example master configuration file
9327          ##### Primary configuration settings #####
9328          ##########################################
9329          # This configuration file is used to manage the behavior of the Salt Master.
9330          # Values that are commented out but have an empty line after the comment are
9331          # defaults that do not need to be set in the config. If there is no blank line
9332          # after the comment then the value is presented as an example and is not the
9333          # default.
9334
9335          # Per default, the master will automatically include all config files
9336          # from master.d/*.conf (master.d is a directory in the same directory
9337          # as the main master config file).
9338          #default_include: master.d/*.conf
9339
9340          # The address of the interface to bind to:
9341          #interface: 0.0.0.0
9342
9343          # Whether the master should listen for IPv6 connections. If this is set to True,
9344          # the interface option must be adjusted, too. (For example: "interface: '::'")
9345          #ipv6: False
9346
9347          # The tcp port used by the publisher:
9348          #publish_port: 4505
9349
9350          # The user under which the salt master will run. Salt will update all
9351          # permissions to allow the specified user to run the master. The exception is
9352          # the job cache, which must be deleted if this user is changed. If the
9353          # modified files cause conflicts, set verify_env to False.
9354          #user: root
9355
9356          # The port used by the communication interface. The ret (return) port is the
9357          # interface used for the file server, authentication, job returns, etc.
9358          #ret_port: 4506
9359
9360          # Specify the location of the daemon process ID file:
9361          #pidfile: /var/run/salt-master.pid
9362
9363          # The root directory prepended to these options: pki_dir, cachedir,
9364          # sock_dir, log_file, autosign_file, autoreject_file, extension_modules,
9365          # key_logfile, pidfile, autosign_grains_dir:
9366          #root_dir: /
9367
9368          # The path to the master's configuration file.
9369          #conf_file: /etc/salt/master
9370
9371          # Directory used to store public key data:
9372          #pki_dir: /etc/salt/pki/master
9373
9374          # Key cache. Increases master speed for large numbers of accepted
9375          # keys. Available options: 'sched'. (Updates on a fixed schedule.)
9376          # Note that enabling this feature means that minions will not be
9377          # available to target for up to the length of the maintanence loop
9378          # which by default is 60s.
9379          #key_cache: ''
9380
9381          # Directory to store job and cache data:
9382          # This directory may contain sensitive data and should be protected accordingly.
9383          #
9384          #cachedir: /var/cache/salt/master
9385
9386          # Directory for custom modules. This directory can contain subdirectories for
9387          # each of Salt's module types such as "runners", "output", "wheel", "modules",
9388          # "states", "returners", "engines", "utils", etc.
9389          #extension_modules: /var/cache/salt/master/extmods
9390
9391          # Directory for custom modules. This directory can contain subdirectories for
9392          # each of Salt's module types such as "runners", "output", "wheel", "modules",
9393          # "states", "returners", "engines", "utils", etc.
9394          # Like 'extension_modules' but can take an array of paths
9395          #module_dirs: []
9396
9397          # Verify and set permissions on configuration directories at startup:
9398          #verify_env: True
9399
9400          # Set the number of hours to keep old job information in the job cache:
9401          #keep_jobs: 24
9402
9403          # The number of seconds to wait when the client is requesting information
9404          # about running jobs.
9405          #gather_job_timeout: 10
9406
9407          # Set the default timeout for the salt command and api. The default is 5
9408          # seconds.
9409          #timeout: 5
9410
9411          # The loop_interval option controls the seconds for the master's maintenance
9412          # process check cycle. This process updates file server backends, cleans the
9413          # job cache and executes the scheduler.
9414          #loop_interval: 60
9415
9416          # Set the default outputter used by the salt command. The default is "nested".
9417          #output: nested
9418
9419          # To set a list of additional directories to search for salt outputters, set the
9420          # outputter_dirs option.
9421          #outputter_dirs: []
9422
9423          # Set the default output file used by the salt command. Default is to output
9424          # to the CLI and not to a file. Functions the same way as the "--out-file"
9425          # CLI option, only sets this to a single file for all salt commands.
9426          #output_file: None
9427
9428          # Return minions that timeout when running commands like test.ping
9429          #show_timeout: True
9430
9431          # Tell the client to display the jid when a job is published.
9432          #show_jid: False
9433
9434          # By default, output is colored. To disable colored output, set the color value
9435          # to False.
9436          #color: True
9437
9438          # Do not strip off the colored output from nested results and state outputs
9439          # (true by default).
9440          # strip_colors: False
9441
9442          # To display a summary of the number of minions targeted, the number of
9443          # minions returned, and the number of minions that did not return, set the
9444          # cli_summary value to True. (False by default.)
9445          #
9446          #cli_summary: False
9447
9448          # Set the directory used to hold unix sockets:
9449          #sock_dir: /var/run/salt/master
9450
9451          # The master can take a while to start up when lspci and/or dmidecode is used
9452          # to populate the grains for the master. Enable if you want to see GPU hardware
9453          # data for your master.
9454          # enable_gpu_grains: False
9455
9456          # The master maintains a job cache. While this is a great addition, it can be
9457          # a burden on the master for larger deployments (over 5000 minions).
9458          # Disabling the job cache will make previously executed jobs unavailable to
9459          # the jobs system and is not generally recommended.
9460          #job_cache: True
9461
9462          # Cache minion grains, pillar and mine data via the cache subsystem in the
9463          # cachedir or a database.
9464          #minion_data_cache: True
9465
9466          # Cache subsystem module to use for minion data cache.
9467          #cache: localfs
9468          # Enables a fast in-memory cache booster and sets the expiration time.
9469          #memcache_expire_seconds: 0
9470          # Set a memcache limit in items (bank + key) per cache storage (driver + driver_opts).
9471          #memcache_max_items: 1024
9472          # Each time a cache storage got full cleanup all the expired items not just the oldest one.
9473          #memcache_full_cleanup: False
9474          # Enable collecting the memcache stats and log it on `debug` log level.
9475          #memcache_debug: False
9476
9477          # Store all returns in the given returner.
9478          # Setting this option requires that any returner-specific configuration also
9479          # be set. See various returners in salt/returners for details on required
9480          # configuration values. (See also, event_return_queue below.)
9481          #
9482          #event_return: mysql
9483
9484          # On busy systems, enabling event_returns can cause a considerable load on
9485          # the storage system for returners. Events can be queued on the master and
9486          # stored in a batched fashion using a single transaction for multiple events.
9487          # By default, events are not queued.
9488          #event_return_queue: 0
9489
9490          # Only return events matching tags in a whitelist, supports glob matches.
9491          #event_return_whitelist:
9492          #  - salt/master/a_tag
9493          #  - salt/run/*/ret
9494
9495          # Store all event returns **except** the tags in a blacklist, supports globs.
9496          #event_return_blacklist:
9497          #  - salt/master/not_this_tag
9498          #  - salt/wheel/*/ret
9499
9500          # Passing very large events can cause the minion to consume large amounts of
9501          # memory. This value tunes the maximum size of a message allowed onto the
9502          # master event bus. The value is expressed in bytes.
9503          #max_event_size: 1048576
9504
9505          # Windows platforms lack posix IPC and must rely on slower TCP based inter-
9506          # process communications. Set ipc_mode to 'tcp' on such systems
9507          #ipc_mode: ipc
9508
9509          # Overwrite the default tcp ports used by the minion when ipc_mode is set to 'tcp'
9510          #tcp_master_pub_port: 4510
9511          #tcp_master_pull_port: 4511
9512
9513          # By default, the master AES key rotates every 24 hours. The next command
9514          # following a key rotation will trigger a key refresh from the minion which may
9515          # result in minions which do not respond to the first command after a key refresh.
9516          #
9517          # To tell the master to ping all minions immediately after an AES key refresh, set
9518          # ping_on_rotate to True. This should mitigate the issue where a minion does not
9519          # appear to initially respond after a key is rotated.
9520          #
9521          # Note that ping_on_rotate may cause high load on the master immediately after
9522          # the key rotation event as minions reconnect. Consider this carefully if this
9523          # salt master is managing a large number of minions.
9524          #
9525          # If disabled, it is recommended to handle this event by listening for the
9526          # 'aes_key_rotate' event with the 'key' tag and acting appropriately.
9527          # ping_on_rotate: False
9528
9529          # By default, the master deletes its cache of minion data when the key for that
9530          # minion is removed. To preserve the cache after key deletion, set
9531          # 'preserve_minion_cache' to True.
9532          #
9533          # WARNING: This may have security implications if compromised minions auth with
9534          # a previous deleted minion ID.
9535          #preserve_minion_cache: False
9536
9537          # Allow or deny minions from requesting their own key revocation
9538          #allow_minion_key_revoke: True
9539
9540          # If max_minions is used in large installations, the master might experience
9541          # high-load situations because of having to check the number of connected
9542          # minions for every authentication. This cache provides the minion-ids of
9543          # all connected minions to all MWorker-processes and greatly improves the
9544          # performance of max_minions.
9545          # con_cache: False
9546
9547          # The master can include configuration from other files. To enable this,
9548          # pass a list of paths to this option. The paths can be either relative or
9549          # absolute; if relative, they are considered to be relative to the directory
9550          # the main master configuration file lives in (this file). Paths can make use
9551          # of shell-style globbing. If no files are matched by a path passed to this
9552          # option, then the master will log a warning message.
9553          #
9554          # Include a config file from some other path:
9555          # include: /etc/salt/extra_config
9556          #
9557          # Include config from several files and directories:
9558          # include:
9559          #   - /etc/salt/extra_config
9560
9561
9562          #####  Large-scale tuning settings   #####
9563          ##########################################
9564          # Max open files
9565          #
9566          # Each minion connecting to the master uses AT LEAST one file descriptor, the
9567          # master subscription connection. If enough minions connect you might start
9568          # seeing on the console (and then salt-master crashes):
9569          #   Too many open files (tcp_listener.cpp:335)
9570          #   Aborted (core dumped)
9571          #
9572          # By default this value will be the one of `ulimit -Hn`, ie, the hard limit for
9573          # max open files.
9574          #
9575          # If you wish to set a different value than the default one, uncomment and
9576          # configure this setting. Remember that this value CANNOT be higher than the
9577          # hard limit. Raising the hard limit depends on your OS and/or distribution,
9578          # a good way to find the limit is to search the internet. For example:
9579          #   raise max open files hard limit debian
9580          #
9581          #max_open_files: 100000
9582
9583          # The number of worker threads to start. These threads are used to manage
9584          # return calls made from minions to the master. If the master seems to be
9585          # running slowly, increase the number of threads. This setting can not be
9586          # set lower than 3.
9587          #worker_threads: 5
9588
9589          # Set the ZeroMQ high water marks
9590          # http://api.zeromq.org/3-2:zmq-setsockopt
9591
9592          # The listen queue size / backlog
9593          #zmq_backlog: 1000
9594
9595          # The publisher interface ZeroMQPubServerChannel
9596          #pub_hwm: 1000
9597
9598          # The master may allocate memory per-event and not
9599          # reclaim it.
9600          # To set a high-water mark for memory allocation, use
9601          # ipc_write_buffer to set a high-water mark for message
9602          # buffering.
9603          # Value: In bytes. Set to 'dynamic' to have Salt select
9604          # a value for you. Default is disabled.
9605          # ipc_write_buffer: 'dynamic'
9606
9607          # These two batch settings, batch_safe_limit and batch_safe_size, are used to
9608          # automatically switch to a batch mode execution. If a command would have been
9609          # sent to more than <batch_safe_limit> minions, then run the command in
9610          # batches of <batch_safe_size>. If no batch_safe_size is specified, a default
9611          # of 8 will be used. If no batch_safe_limit is specified, then no automatic
9612          # batching will occur.
9613          #batch_safe_limit: 100
9614          #batch_safe_size: 8
9615
9616          # Master stats enables stats events to be fired from the master at close
9617          # to the defined interval
9618          #master_stats: False
9619          #master_stats_event_iter: 60
9620
9621
9622          #####        Security settings       #####
9623          ##########################################
9624          # Enable passphrase protection of Master private key.  Although a string value
9625          # is acceptable; passwords should be stored in an external vaulting mechanism
9626          # and retrieved via sdb. See https://docs.saltstack.com/en/latest/topics/sdb/.
9627          # Passphrase protection is off by default but an example of an sdb profile and
9628          # query is as follows.
9629          # masterkeyring:
9630          #  driver: keyring
9631          #  service: system
9632          #
9633          # key_pass: sdb://masterkeyring/key_pass
9634
9635          # Enable passphrase protection of the Master signing_key. This only applies if
9636          # master_sign_pubkey is set to True.  This is disabled by default.
9637          # master_sign_pubkey: True
9638          # signing_key_pass: sdb://masterkeyring/signing_pass
9639
9640          # Enable "open mode", this mode still maintains encryption, but turns off
9641          # authentication, this is only intended for highly secure environments or for
9642          # the situation where your keys end up in a bad state. If you run in open mode
9643          # you do so at your own risk!
9644          #open_mode: False
9645
9646          # Enable auto_accept, this setting will automatically accept all incoming
9647          # public keys from the minions. Note that this is insecure.
9648          #auto_accept: False
9649
9650          # The size of key that should be generated when creating new keys.
9651          #keysize: 2048
9652
9653          # Time in minutes that an incoming public key with a matching name found in
9654          # pki_dir/minion_autosign/keyid is automatically accepted. Expired autosign keys
9655          # are removed when the master checks the minion_autosign directory.
9656          # 0 equals no timeout
9657          # autosign_timeout: 120
9658
9659          # If the autosign_file is specified, incoming keys specified in the
9660          # autosign_file will be automatically accepted. This is insecure.  Regular
9661          # expressions as well as globing lines are supported. The file must be readonly
9662          # except for the owner. Use permissive_pki_access to allow the group write access.
9663          #autosign_file: /etc/salt/autosign.conf
9664
9665          # Works like autosign_file, but instead allows you to specify minion IDs for
9666          # which keys will automatically be rejected. Will override both membership in
9667          # the autosign_file and the auto_accept setting.
9668          #autoreject_file: /etc/salt/autoreject.conf
9669
9670          # If the autosign_grains_dir is specified, incoming keys from minons with grain
9671          # values matching those defined in files in this directory will be accepted
9672          # automatically. This is insecure. Minions need to be configured to send the grains.
9673          #autosign_grains_dir: /etc/salt/autosign_grains
9674
9675          # Enable permissive access to the salt keys. This allows you to run the
9676          # master or minion as root, but have a non-root group be given access to
9677          # your pki_dir. To make the access explicit, root must belong to the group
9678          # you've given access to. This is potentially quite insecure. If an autosign_file
9679          # is specified, enabling permissive_pki_access will allow group access to that
9680          # specific file.
9681          #permissive_pki_access: False
9682
9683          # Allow users on the master access to execute specific commands on minions.
9684          # This setting should be treated with care since it opens up execution
9685          # capabilities to non root users. By default this capability is completely
9686          # disabled.
9687          #publisher_acl:
9688          #  larry:
9689          #    - test.ping
9690          #    - network.*
9691          #
9692          # Blacklist any of the following users or modules
9693          #
9694          # This example would blacklist all non sudo users, including root from
9695          # running any commands. It would also blacklist any use of the "cmd"
9696          # module. This is completely disabled by default.
9697          #
9698          #
9699          # Check the list of configured users in client ACL against users on the
9700          # system and throw errors if they do not exist.
9701          #client_acl_verify: True
9702          #
9703          #publisher_acl_blacklist:
9704          #  users:
9705          #    - root
9706          #    - '^(?!sudo_).*$'   #  all non sudo users
9707          #  modules:
9708          #    - cmd
9709
9710          # Enforce publisher_acl & publisher_acl_blacklist when users have sudo
9711          # access to the salt command.
9712          #
9713          #sudo_acl: False
9714
9715          # The external auth system uses the Salt auth modules to authenticate and
9716          # validate users to access areas of the Salt system.
9717          #external_auth:
9718          #  pam:
9719          #    fred:
9720          #      - test.*
9721          #
9722          # Time (in seconds) for a newly generated token to live. Default: 12 hours
9723          #token_expire: 43200
9724          #
9725          # Allow eauth users to specify the expiry time of the tokens they generate.
9726          # A boolean applies to all users or a dictionary of whitelisted eauth backends
9727          # and usernames may be given.
9728          # token_expire_user_override:
9729          #   pam:
9730          #     - fred
9731          #     - tom
9732          #   ldap:
9733          #     - gary
9734          #
9735          #token_expire_user_override: False
9736
9737          # Set to True to enable keeping the calculated user's auth list in the token
9738          # file. This is disabled by default and the auth list is calculated or requested
9739          # from the eauth driver each time.
9740          #keep_acl_in_token: False
9741
9742          # Auth subsystem module to use to get authorized access list for a user. By default it's
9743          # the same module used for external authentication.
9744          #eauth_acl_module: django
9745
9746          # Allow minions to push files to the master. This is disabled by default, for
9747          # security purposes.
9748          #file_recv: False
9749
9750          # Set a hard-limit on the size of the files that can be pushed to the master.
9751          # It will be interpreted as megabytes. Default: 100
9752          #file_recv_max_size: 100
9753
9754          # Signature verification on messages published from the master.
9755          # This causes the master to cryptographically sign all messages published to its event
9756          # bus, and minions then verify that signature before acting on the message.
9757          #
9758          # This is False by default.
9759          #
9760          # Note that to facilitate interoperability with masters and minions that are different
9761          # versions, if sign_pub_messages is True but a message is received by a minion with
9762          # no signature, it will still be accepted, and a warning message will be logged.
9763          # Conversely, if sign_pub_messages is False, but a minion receives a signed
9764          # message it will be accepted, the signature will not be checked, and a warning message
9765          # will be logged. This behavior went away in Salt 2014.1.0 and these two situations
9766          # will cause minion to throw an exception and drop the message.
9767          # sign_pub_messages: False
9768
9769          # Signature verification on messages published from minions
9770          # This requires that minions cryptographically sign the messages they
9771          # publish to the master.  If minions are not signing, then log this information
9772          # at loglevel 'INFO' and drop the message without acting on it.
9773          # require_minion_sign_messages: False
9774
9775          # The below will drop messages when their signatures do not validate.
9776          # Note that when this option is False but `require_minion_sign_messages` is True
9777          # minions MUST sign their messages but the validity of their signatures
9778          # is ignored.
9779          # These two config options exist so a Salt infrastructure can be moved
9780          # to signing minion messages gradually.
9781          # drop_messages_signature_fail: False
9782
9783          # Use TLS/SSL encrypted connection between master and minion.
9784          # Can be set to a dictionary containing keyword arguments corresponding to Python's
9785          # 'ssl.wrap_socket' method.
9786          # Default is None.
9787          #ssl:
9788          #    keyfile: <path_to_keyfile>
9789          #    certfile: <path_to_certfile>
9790          #    ssl_version: PROTOCOL_TLSv1_2
9791
9792          #####     Salt-SSH Configuration     #####
9793          ##########################################
9794          # Define the default salt-ssh roster module to use
9795          #roster: flat
9796
9797          # Pass in an alternative location for the salt-ssh `flat` roster file
9798          #roster_file: /etc/salt/roster
9799
9800          # Define locations for `flat` roster files so they can be chosen when using Salt API.
9801          # An administrator can place roster files into these locations. Then when
9802          # calling Salt API, parameter 'roster_file' should contain a relative path to
9803          # these locations. That is, "roster_file=/foo/roster" will be resolved as
9804          # "/etc/salt/roster.d/foo/roster" etc. This feature prevents passing insecure
9805          # custom rosters through the Salt API.
9806          #
9807          #rosters:
9808          # - /etc/salt/roster.d
9809          # - /opt/salt/some/more/rosters
9810
9811          # The ssh password to log in with.
9812          #ssh_passwd: ''
9813
9814          #The target system's ssh port number.
9815          #ssh_port: 22
9816
9817          # Comma-separated list of ports to scan.
9818          #ssh_scan_ports: 22
9819
9820          # Scanning socket timeout for salt-ssh.
9821          #ssh_scan_timeout: 0.01
9822
9823          # Boolean to run command via sudo.
9824          #ssh_sudo: False
9825
9826          # Number of seconds to wait for a response when establishing an SSH connection.
9827          #ssh_timeout: 60
9828
9829          # The user to log in as.
9830          #ssh_user: root
9831
9832          # The log file of the salt-ssh command:
9833          #ssh_log_file: /var/log/salt/ssh
9834
9835          # Pass in minion option overrides that will be inserted into the SHIM for
9836          # salt-ssh calls. The local minion config is not used for salt-ssh. Can be
9837          # overridden on a per-minion basis in the roster (`minion_opts`)
9838          #ssh_minion_opts:
9839          #  gpg_keydir: /root/gpg
9840
9841          # Set this to True to default to using ~/.ssh/id_rsa for salt-ssh
9842          # authentication with minions
9843          #ssh_use_home_key: False
9844
9845          # Set this to True to default salt-ssh to run with ``-o IdentitiesOnly=yes``.
9846          # This option is intended for situations where the ssh-agent offers many
9847          # different identities and allows ssh to ignore those identities and use the
9848          # only one specified in options.
9849          #ssh_identities_only: False
9850
9851          # List-only nodegroups for salt-ssh. Each group must be formed as either a
9852          # comma-separated list, or a YAML list. This option is useful to group minions
9853          # into easy-to-target groups when using salt-ssh. These groups can then be
9854          # targeted with the normal -N argument to salt-ssh.
9855          #ssh_list_nodegroups: {}
9856
9857          # salt-ssh has the ability to update the flat roster file if a minion is not
9858          # found in the roster.  Set this to True to enable it.
9859          #ssh_update_roster: False
9860
9861          #####    Master Module Management    #####
9862          ##########################################
9863          # Manage how master side modules are loaded.
9864
9865          # Add any additional locations to look for master runners:
9866          #runner_dirs: []
9867
9868          # Add any additional locations to look for master utils:
9869          #utils_dirs: []
9870
9871          # Enable Cython for master side modules:
9872          #cython_enable: False
9873
9874
9875          #####      State System settings     #####
9876          ##########################################
9877          # The state system uses a "top" file to tell the minions what environment to
9878          # use and what modules to use. The state_top file is defined relative to the
9879          # root of the base environment as defined in "File Server settings" below.
9880          #state_top: top.sls
9881
9882          # The master_tops option replaces the external_nodes option by creating
9883          # a plugable system for the generation of external top data. The external_nodes
9884          # option is deprecated by the master_tops option.
9885          #
9886          # To gain the capabilities of the classic external_nodes system, use the
9887          # following configuration:
9888          # master_tops:
9889          #   ext_nodes: <Shell command which returns yaml>
9890          #
9891          #master_tops: {}
9892
9893          # The renderer to use on the minions to render the state data
9894          #renderer: jinja|yaml
9895
9896          # Default Jinja environment options for all templates except sls templates
9897          #jinja_env:
9898          #  block_start_string: '{%'
9899          #  block_end_string: '%}'
9900          #  variable_start_string: '{{'
9901          #  variable_end_string: '}}'
9902          #  comment_start_string: '{#'
9903          #  comment_end_string: '#}'
9904          #  line_statement_prefix:
9905          #  line_comment_prefix:
9906          #  trim_blocks: False
9907          #  lstrip_blocks: False
9908          #  newline_sequence: '\n'
9909          #  keep_trailing_newline: False
9910
9911          # Jinja environment options for sls templates
9912          #jinja_sls_env:
9913          #  block_start_string: '{%'
9914          #  block_end_string: '%}'
9915          #  variable_start_string: '{{'
9916          #  variable_end_string: '}}'
9917          #  comment_start_string: '{#'
9918          #  comment_end_string: '#}'
9919          #  line_statement_prefix:
9920          #  line_comment_prefix:
9921          #  trim_blocks: False
9922          #  lstrip_blocks: False
9923          #  newline_sequence: '\n'
9924          #  keep_trailing_newline: False
9925
9926          # The failhard option tells the minions to stop immediately after the first
9927          # failure detected in the state execution, defaults to False
9928          #failhard: False
9929
9930          # The state_verbose and state_output settings can be used to change the way
9931          # state system data is printed to the display. By default all data is printed.
9932          # The state_verbose setting can be set to True or False, when set to False
9933          # all data that has a result of True and no changes will be suppressed.
9934          #state_verbose: True
9935
9936          # The state_output setting controls which results will be output full multi line
9937          # full, terse - each state will be full/terse
9938          # mixed - only states with errors will be full
9939          # changes - states with changes and errors will be full
9940          # full_id, mixed_id, changes_id and terse_id are also allowed;
9941          # when set, the state ID will be used as name in the output
9942          #state_output: full
9943
9944          # The state_output_diff setting changes whether or not the output from
9945          # successful states is returned. Useful when even the terse output of these
9946          # states is cluttering the logs. Set it to True to ignore them.
9947          #state_output_diff: False
9948
9949          # Automatically aggregate all states that have support for mod_aggregate by
9950          # setting to 'True'. Or pass a list of state module names to automatically
9951          # aggregate just those types.
9952          #
9953          # state_aggregate:
9954          #   - pkg
9955          #
9956          #state_aggregate: False
9957
9958          # Send progress events as each function in a state run completes execution
9959          # by setting to 'True'. Progress events are in the format
9960          # 'salt/job/<JID>/prog/<MID>/<RUN NUM>'.
9961          #state_events: False
9962
9963          #####      File Server settings      #####
9964          ##########################################
9965          # Salt runs a lightweight file server written in zeromq to deliver files to
9966          # minions. This file server is built into the master daemon and does not
9967          # require a dedicated port.
9968
9969          # The file server works on environments passed to the master, each environment
9970          # can have multiple root directories, the subdirectories in the multiple file
9971          # roots cannot match, otherwise the downloaded files will not be able to be
9972          # reliably ensured. A base environment is required to house the top file.
9973          # Example:
9974          # file_roots:
9975          #   base:
9976          #     - /srv/salt/
9977          #   dev:
9978          #     - /srv/salt/dev/services
9979          #     - /srv/salt/dev/states
9980          #   prod:
9981          #     - /srv/salt/prod/services
9982          #     - /srv/salt/prod/states
9983          #
9984          #file_roots:
9985          #  base:
9986          #    - /srv/salt
9987          #
9988
9989          # The master_roots setting configures a master-only copy of the file_roots dictionary,
9990          # used by the state compiler.
9991          #master_roots: /srv/salt-master
9992
9993          # When using multiple environments, each with their own top file, the
9994          # default behaviour is an unordered merge. To prevent top files from
9995          # being merged together and instead to only use the top file from the
9996          # requested environment, set this value to 'same'.
9997          #top_file_merging_strategy: merge
9998
9999          # To specify the order in which environments are merged, set the ordering
10000          # in the env_order option. Given a conflict, the last matching value will
10001          # win.
10002          #env_order: ['base', 'dev', 'prod']
10003
10004          # If top_file_merging_strategy is set to 'same' and an environment does not
10005          # contain a top file, the top file in the environment specified by default_top
10006          # will be used instead.
10007          #default_top: base
10008
10009          # The hash_type is the hash to use when discovering the hash of a file on
10010          # the master server. The default is sha256, but md5, sha1, sha224, sha384 and
10011          # sha512 are also supported.
10012          #
10013          # WARNING: While md5 and sha1 are also supported, do not use them due to the
10014          # high chance of possible collisions and thus security breach.
10015          #
10016          # Prior to changing this value, the master should be stopped and all Salt
10017          # caches should be cleared.
10018          #hash_type: sha256
10019
10020          # The buffer size in the file server can be adjusted here:
10021          #file_buffer_size: 1048576
10022
10023          # A regular expression (or a list of expressions) that will be matched
10024          # against the file path before syncing the modules and states to the minions.
10025          # This includes files affected by the file.recurse state.
10026          # For example, if you manage your custom modules and states in subversion
10027          # and don't want all the '.svn' folders and content synced to your minions,
10028          # you could set this to '/\.svn($|/)'. By default nothing is ignored.
10029          #file_ignore_regex:
10030          #  - '/\.svn($|/)'
10031          #  - '/\.git($|/)'
10032
10033          # A file glob (or list of file globs) that will be matched against the file
10034          # path before syncing the modules and states to the minions. This is similar
10035          # to file_ignore_regex above, but works on globs instead of regex. By default
10036          # nothing is ignored.
10037          # file_ignore_glob:
10038          #  - '*.pyc'
10039          #  - '*/somefolder/*.bak'
10040          #  - '*.swp'
10041
10042          # File Server Backend
10043          #
10044          # Salt supports a modular fileserver backend system, this system allows
10045          # the salt master to link directly to third party systems to gather and
10046          # manage the files available to minions. Multiple backends can be
10047          # configured and will be searched for the requested file in the order in which
10048          # they are defined here. The default setting only enables the standard backend
10049          # "roots" which uses the "file_roots" option.
10050          #fileserver_backend:
10051          #  - roots
10052          #
10053          # To use multiple backends list them in the order they are searched:
10054          #fileserver_backend:
10055          #  - git
10056          #  - roots
10057          #
10058          # Uncomment the line below if you do not want the file_server to follow
10059          # symlinks when walking the filesystem tree. This is set to True
10060          # by default. Currently this only applies to the default roots
10061          # fileserver_backend.
10062          #fileserver_followsymlinks: False
10063          #
10064          # Uncomment the line below if you do not want symlinks to be
10065          # treated as the files they are pointing to. By default this is set to
10066          # False. By uncommenting the line below, any detected symlink while listing
10067          # files on the Master will not be returned to the Minion.
10068          #fileserver_ignoresymlinks: True
10069          #
10070          # By default, the Salt fileserver recurses fully into all defined environments
10071          # to attempt to find files. To limit this behavior so that the fileserver only
10072          # traverses directories with SLS files and special Salt directories like _modules,
10073          # enable the option below. This might be useful for installations where a file root
10074          # has a very large number of files and performance is impacted. Default is False.
10075          # fileserver_limit_traversal: False
10076          #
10077          # The fileserver can fire events off every time the fileserver is updated,
10078          # these are disabled by default, but can be easily turned on by setting this
10079          # flag to True
10080          #fileserver_events: False
10081
10082          # Git File Server Backend Configuration
10083          #
10084          # Optional parameter used to specify the provider to be used for gitfs. Must be
10085          # either pygit2 or gitpython. If unset, then both will be tried (in that
10086          # order), and the first one with a compatible version installed will be the
10087          # provider that is used.
10088          #
10089          #gitfs_provider: pygit2
10090
10091          # Along with gitfs_password, is used to authenticate to HTTPS remotes.
10092          # gitfs_user: ''
10093
10094          # Along with gitfs_user, is used to authenticate to HTTPS remotes.
10095          # This parameter is not required if the repository does not use authentication.
10096          #gitfs_password: ''
10097
10098          # By default, Salt will not authenticate to an HTTP (non-HTTPS) remote.
10099          # This parameter enables authentication over HTTP. Enable this at your own risk.
10100          #gitfs_insecure_auth: False
10101
10102          # Along with gitfs_privkey (and optionally gitfs_passphrase), is used to
10103          # authenticate to SSH remotes. This parameter (or its per-remote counterpart)
10104          # is required for SSH remotes.
10105          #gitfs_pubkey: ''
10106
10107          # Along with gitfs_pubkey (and optionally gitfs_passphrase), is used to
10108          # authenticate to SSH remotes. This parameter (or its per-remote counterpart)
10109          # is required for SSH remotes.
10110          #gitfs_privkey: ''
10111
10112          # This parameter is optional, required only when the SSH key being used to
10113          # authenticate is protected by a passphrase.
10114          #gitfs_passphrase: ''
10115
10116          # When using the git fileserver backend at least one git remote needs to be
10117          # defined. The user running the salt master will need read access to the repo.
10118          #
10119          # The repos will be searched in order to find the file requested by a client
10120          # and the first repo to have the file will return it.
10121          # When using the git backend branches and tags are translated into salt
10122          # environments.
10123          # Note: file:// repos will be treated as a remote, so refs you want used must
10124          # exist in that repo as *local* refs.
10125          #gitfs_remotes:
10126          #  - git://github.com/saltstack/salt-states.git
10127          #  - file:///var/git/saltmaster
10128          #
10129          # The gitfs_ssl_verify option specifies whether to ignore ssl certificate
10130          # errors when contacting the gitfs backend. You might want to set this to
10131          # false if you're using a git backend that uses a self-signed certificate but
10132          # keep in mind that setting this flag to anything other than the default of True
10133          # is a security concern, you may want to try using the ssh transport.
10134          #gitfs_ssl_verify: True
10135          #
10136          # The gitfs_root option gives the ability to serve files from a subdirectory
10137          # within the repository. The path is defined relative to the root of the
10138          # repository and defaults to the repository root.
10139          #gitfs_root: somefolder/otherfolder
10140          #
10141          # The refspecs fetched by gitfs remotes
10142          #gitfs_refspecs:
10143          #  - '+refs/heads/*:refs/remotes/origin/*'
10144          #  - '+refs/tags/*:refs/tags/*'
10145          #
10146          #
10147          #####         Pillar settings        #####
10148          ##########################################
10149          # Salt Pillars allow for the building of global data that can be made selectively
10150          # available to different minions based on minion grain filtering. The Salt
10151          # Pillar is laid out in the same fashion as the file server, with environments,
10152          # a top file and sls files. However, pillar data does not need to be in the
10153          # highstate format, and is generally just key/value pairs.
10154          #pillar_roots:
10155          #  base:
10156          #    - /srv/pillar
10157          #
10158          #ext_pillar:
10159          #  - hiera: /etc/hiera.yaml
10160          #  - cmd_yaml: cat /etc/salt/yaml
10161
10162
10163          # A list of paths to be recursively decrypted during pillar compilation.
10164          # Entries in this list can be formatted either as a simple string, or as a
10165          # key/value pair, with the key being the pillar location, and the value being
10166          # the renderer to use for pillar decryption. If the former is used, the
10167          # renderer specified by decrypt_pillar_default will be used.
10168          #decrypt_pillar:
10169          #  - 'foo:bar': gpg
10170          #  - 'lorem:ipsum:dolor'
10171
10172          # The delimiter used to distinguish nested data structures in the
10173          # decrypt_pillar option.
10174          #decrypt_pillar_delimiter: ':'
10175
10176          # The default renderer used for decryption, if one is not specified for a given
10177          # pillar key in decrypt_pillar.
10178          #decrypt_pillar_default: gpg
10179
10180          # List of renderers which are permitted to be used for pillar decryption.
10181          #decrypt_pillar_renderers:
10182          #  - gpg
10183
10184          # The ext_pillar_first option allows for external pillar sources to populate
10185          # before file system pillar. This allows for targeting file system pillar from
10186          # ext_pillar.
10187          #ext_pillar_first: False
10188
10189          # The external pillars permitted to be used on-demand using pillar.ext
10190          #on_demand_ext_pillar:
10191          #  - libvirt
10192          #  - virtkey
10193
10194          # The pillar_gitfs_ssl_verify option specifies whether to ignore ssl certificate
10195          # errors when contacting the pillar gitfs backend. You might want to set this to
10196          # false if you're using a git backend that uses a self-signed certificate but
10197          # keep in mind that setting this flag to anything other than the default of True
10198          # is a security concern, you may want to try using the ssh transport.
10199          #pillar_gitfs_ssl_verify: True
10200
10201          # The pillar_opts option adds the master configuration file data to a dict in
10202          # the pillar called "master". This is used to set simple configurations in the
10203          # master config file that can then be used on minions.
10204          #pillar_opts: False
10205
10206          # The pillar_safe_render_error option prevents the master from passing pillar
10207          # render errors to the minion. This is set on by default because the error could
10208          # contain templating data which would give that minion information it shouldn't
10209          # have, like a password! When set true the error message will only show:
10210          #   Rendering SLS 'my.sls' failed. Please see master log for details.
10211          #pillar_safe_render_error: True
10212
10213          # The pillar_source_merging_strategy option allows you to configure merging strategy
10214          # between different sources. It accepts five values: none, recurse, aggregate, overwrite,
10215          # or smart. None will not do any merging at all. Recurse will merge recursively mapping of data.
10216          # Aggregate instructs aggregation of elements between sources that use the #!yamlex renderer. Overwrite
10217          # will overwrite elements according the order in which they are processed. This is
10218          # behavior of the 2014.1 branch and earlier. Smart guesses the best strategy based
10219          # on the "renderer" setting and is the default value.
10220          #pillar_source_merging_strategy: smart
10221
10222          # Recursively merge lists by aggregating them instead of replacing them.
10223          #pillar_merge_lists: False
10224
10225          # Set this option to True to force the pillarenv to be the same as the effective
10226          # saltenv when running states. If pillarenv is specified this option will be
10227          # ignored.
10228          #pillarenv_from_saltenv: False
10229
10230          # Set this option to 'True' to force a 'KeyError' to be raised whenever an
10231          # attempt to retrieve a named value from pillar fails. When this option is set
10232          # to 'False', the failed attempt returns an empty string. Default is 'False'.
10233          #pillar_raise_on_missing: False
10234
10235          # Git External Pillar (git_pillar) Configuration Options
10236          #
10237          # Specify the provider to be used for git_pillar. Must be either pygit2 or
10238          # gitpython. If unset, then both will be tried in that same order, and the
10239          # first one with a compatible version installed will be the provider that
10240          # is used.
10241          #git_pillar_provider: pygit2
10242
10243          # If the desired branch matches this value, and the environment is omitted
10244          # from the git_pillar configuration, then the environment for that git_pillar
10245          # remote will be base.
10246          #git_pillar_base: master
10247
10248          # If the branch is omitted from a git_pillar remote, then this branch will
10249          # be used instead
10250          #git_pillar_branch: master
10251
10252          # Environment to use for git_pillar remotes. This is normally derived from
10253          # the branch/tag (or from a per-remote env parameter), but if set this will
10254          # override the process of deriving the env from the branch/tag name.
10255          #git_pillar_env: ''
10256
10257          # Path relative to the root of the repository where the git_pillar top file
10258          # and SLS files are located.
10259          #git_pillar_root: ''
10260
10261          # Specifies whether or not to ignore SSL certificate errors when contacting
10262          # the remote repository.
10263          #git_pillar_ssl_verify: False
10264
10265          # When set to False, if there is an update/checkout lock for a git_pillar
10266          # remote and the pid written to it is not running on the master, the lock
10267          # file will be automatically cleared and a new lock will be obtained.
10268          #git_pillar_global_lock: True
10269
10270          # Git External Pillar Authentication Options
10271          #
10272          # Along with git_pillar_password, is used to authenticate to HTTPS remotes.
10273          #git_pillar_user: ''
10274
10275          # Along with git_pillar_user, is used to authenticate to HTTPS remotes.
10276          # This parameter is not required if the repository does not use authentication.
10277          #git_pillar_password: ''
10278
10279          # By default, Salt will not authenticate to an HTTP (non-HTTPS) remote.
10280          # This parameter enables authentication over HTTP.
10281          #git_pillar_insecure_auth: False
10282
10283          # Along with git_pillar_privkey (and optionally git_pillar_passphrase),
10284          # is used to authenticate to SSH remotes.
10285          #git_pillar_pubkey: ''
10286
10287          # Along with git_pillar_pubkey (and optionally git_pillar_passphrase),
10288          # is used to authenticate to SSH remotes.
10289          #git_pillar_privkey: ''
10290
10291          # This parameter is optional, required only when the SSH key being used
10292          # to authenticate is protected by a passphrase.
10293          #git_pillar_passphrase: ''
10294
10295          # The refspecs fetched by git_pillar remotes
10296          #git_pillar_refspecs:
10297          #  - '+refs/heads/*:refs/remotes/origin/*'
10298          #  - '+refs/tags/*:refs/tags/*'
10299
10300          # A master can cache pillars locally to bypass the expense of having to render them
10301          # for each minion on every request. This feature should only be enabled in cases
10302          # where pillar rendering time is known to be unsatisfactory and any attendant security
10303          # concerns about storing pillars in a master cache have been addressed.
10304          #
10305          # When enabling this feature, be certain to read through the additional ``pillar_cache_*``
10306          # configuration options to fully understand the tunable parameters and their implications.
10307          #
10308          # Note: setting ``pillar_cache: True`` has no effect on targeting Minions with Pillars.
10309          # See https://docs.saltstack.com/en/latest/topics/targeting/pillar.html
10310          #pillar_cache: False
10311
10312          # If and only if a master has set ``pillar_cache: True``, the cache TTL controls the amount
10313          # of time, in seconds, before the cache is considered invalid by a master and a fresh
10314          # pillar is recompiled and stored.
10315          #pillar_cache_ttl: 3600
10316
10317          # If and only if a master has set `pillar_cache: True`, one of several storage providers
10318          # can be utilized.
10319          #
10320          # `disk`: The default storage backend. This caches rendered pillars to the master cache.
10321          #         Rendered pillars are serialized and deserialized as msgpack structures for speed.
10322          #         Note that pillars are stored UNENCRYPTED. Ensure that the master cache
10323          #         has permissions set appropriately. (Same defaults are provided.)
10324          #
10325          # memory: [EXPERIMENTAL] An optional backend for pillar caches which uses a pure-Python
10326          #         in-memory data structure for maximal performance. There are several caveats,
10327          #         however. First, because each master worker contains its own in-memory cache,
10328          #         there is no guarantee of cache consistency between minion requests. This
10329          #         works best in situations where the pillar rarely if ever changes. Secondly,
10330          #         and perhaps more importantly, this means that unencrypted pillars will
10331          #         be accessible to any process which can examine the memory of the ``salt-master``!
10332          #         This may represent a substantial security risk.
10333          #
10334          #pillar_cache_backend: disk
10335
10336
10337          ######        Reactor Settings        #####
10338          ###########################################
10339          # Define a salt reactor. See https://docs.saltstack.com/en/latest/topics/reactor/
10340          #reactor: []
10341
10342          #Set the TTL for the cache of the reactor configuration.
10343          #reactor_refresh_interval: 60
10344
10345          #Configure the number of workers for the runner/wheel in the reactor.
10346          #reactor_worker_threads: 10
10347
10348          #Define the queue size for workers in the reactor.
10349          #reactor_worker_hwm: 10000
10350
10351
10352          #####          Syndic settings       #####
10353          ##########################################
10354          # The Salt syndic is used to pass commands through a master from a higher
10355          # master. Using the syndic is simple. If this is a master that will have
10356          # syndic servers(s) below it, then set the "order_masters" setting to True.
10357          #
10358          # If this is a master that will be running a syndic daemon for passthrough, then
10359          # the "syndic_master" setting needs to be set to the location of the master server
10360          # to receive commands from.
10361
10362          # Set the order_masters setting to True if this master will command lower
10363          # masters' syndic interfaces.
10364          #order_masters: False
10365
10366          # If this master will be running a salt syndic daemon, syndic_master tells
10367          # this master where to receive commands from.
10368          #syndic_master: masterofmasters
10369
10370          # This is the 'ret_port' of the MasterOfMaster:
10371          #syndic_master_port: 4506
10372
10373          # PID file of the syndic daemon:
10374          #syndic_pidfile: /var/run/salt-syndic.pid
10375
10376          # The log file of the salt-syndic daemon:
10377          #syndic_log_file: /var/log/salt/syndic
10378
10379          # The behaviour of the multi-syndic when connection to a master of masters failed.
10380          # Can specify ``random`` (default) or ``ordered``. If set to ``random``, masters
10381          # will be iterated in random order. If ``ordered`` is specified, the configured
10382          # order will be used.
10383          #syndic_failover: random
10384
10385          # The number of seconds for the salt client to wait for additional syndics to
10386          # check in with their lists of expected minions before giving up.
10387          #syndic_wait: 5
10388
10389
10390          #####      Peer Publish settings     #####
10391          ##########################################
10392          # Salt minions can send commands to other minions, but only if the minion is
10393          # allowed to. By default "Peer Publication" is disabled, and when enabled it
10394          # is enabled for specific minions and specific commands. This allows secure
10395          # compartmentalization of commands based on individual minions.
10396
10397          # The configuration uses regular expressions to match minions and then a list
10398          # of regular expressions to match functions. The following will allow the
10399          # minion authenticated as foo.example.com to execute functions from the test
10400          # and pkg modules.
10401          #peer:
10402          #  foo.example.com:
10403          #    - test.*
10404          #    - pkg.*
10405          #
10406          # This will allow all minions to execute all commands:
10407          #peer:
10408          #  .*:
10409          #    - .*
10410          #
10411          # This is not recommended, since it would allow anyone who gets root on any
10412          # single minion to instantly have root on all of the minions!
10413
10414          # Minions can also be allowed to execute runners from the salt master.
10415          # Since executing a runner from the minion could be considered a security risk,
10416          # it needs to be enabled. This setting functions just like the peer setting
10417          # except that it opens up runners instead of module functions.
10418          #
10419          # All peer runner support is turned off by default and must be enabled before
10420          # using. This will enable all peer runners for all minions:
10421          #peer_run:
10422          #  .*:
10423          #    - .*
10424          #
10425          # To enable just the manage.up runner for the minion foo.example.com:
10426          #peer_run:
10427          #  foo.example.com:
10428          #    - manage.up
10429          #
10430          #
10431          #####         Mine settings     #####
10432          #####################################
10433          # Restrict mine.get access from minions. By default any minion has a full access
10434          # to get all mine data from master cache. In acl definion below, only pcre matches
10435          # are allowed.
10436          # mine_get:
10437          #   .*:
10438          #     - .*
10439          #
10440          # The example below enables minion foo.example.com to get 'network.interfaces' mine
10441          # data only, minions web* to get all network.* and disk.* mine data and all other
10442          # minions won't get any mine data.
10443          # mine_get:
10444          #   foo.example.com:
10445          #     - network.interfaces
10446          #   web.*:
10447          #     - network.*
10448          #     - disk.*
10449
10450
10451          #####         Logging settings       #####
10452          ##########################################
10453          # The location of the master log file
10454          # The master log can be sent to a regular file, local path name, or network
10455          # location. Remote logging works best when configured to use rsyslogd(8) (e.g.:
10456          # ``file:///dev/log``), with rsyslogd(8) configured for network logging. The URI
10457          # format is: <file|udp|tcp>://<host|socketpath>:<port-if-required>/<log-facility>
10458          #log_file: /var/log/salt/master
10459          #log_file: file:///dev/log
10460          #log_file: udp://loghost:10514
10461
10462          #log_file: /var/log/salt/master
10463          #key_logfile: /var/log/salt/key
10464
10465          # The level of messages to send to the console.
10466          # One of 'garbage', 'trace', 'debug', info', 'warning', 'error', 'critical'.
10467          #
10468          # The following log levels are considered INSECURE and may log sensitive data:
10469          # ['garbage', 'trace', 'debug']
10470          #
10471          #log_level: warning
10472
10473          # The level of messages to send to the log file.
10474          # One of 'garbage', 'trace', 'debug', 'info', 'warning', 'error', 'critical'.
10475          # If using 'log_granular_levels' this must be set to the highest desired level.
10476          #log_level_logfile: warning
10477
10478          # The date and time format used in log messages. Allowed date/time formatting
10479          # can be seen here: http://docs.python.org/library/time.html#time.strftime
10480          #log_datefmt: '%H:%M:%S'
10481          #log_datefmt_logfile: '%Y-%m-%d %H:%M:%S'
10482
10483          # The format of the console logging messages. Allowed formatting options can
10484          # be seen here: http://docs.python.org/library/logging.html#logrecord-attributes
10485          #
10486          # Console log colors are specified by these additional formatters:
10487          #
10488          # %(colorlevel)s
10489          # %(colorname)s
10490          # %(colorprocess)s
10491          # %(colormsg)s
10492          #
10493          # Since it is desirable to include the surrounding brackets, '[' and ']', in
10494          # the coloring of the messages, these color formatters also include padding as
10495          # well.  Color LogRecord attributes are only available for console logging.
10496          #
10497          #log_fmt_console: '%(colorlevel)s %(colormsg)s'
10498          #log_fmt_console: '[%(levelname)-8s] %(message)s'
10499          #
10500          #log_fmt_logfile: '%(asctime)s,%(msecs)03d [%(name)-17s][%(levelname)-8s] %(message)s'
10501
10502          # This can be used to control logging levels more specificically.  This
10503          # example sets the main salt library at the 'warning' level, but sets
10504          # 'salt.modules' to log at the 'debug' level:
10505          #   log_granular_levels:
10506          #     'salt': 'warning'
10507          #     'salt.modules': 'debug'
10508          #
10509          #log_granular_levels: {}
10510
10511
10512          #####         Node Groups           ######
10513          ##########################################
10514          # Node groups allow for logical groupings of minion nodes. A group consists of
10515          # a group name and a compound target. Nodgroups can reference other nodegroups
10516          # with 'N@' classifier. Ensure that you do not have circular references.
10517          #
10518          #nodegroups:
10519          #  group1: 'L@foo.domain.com,bar.domain.com,baz.domain.com or bl*.domain.com'
10520          #  group2: 'G@os:Debian and foo.domain.com'
10521          #  group3: 'G@os:Debian and N@group1'
10522          #  group4:
10523          #    - 'G@foo:bar'
10524          #    - 'or'
10525          #    - 'G@foo:baz'
10526
10527
10528          #####     Range Cluster settings     #####
10529          ##########################################
10530          # The range server (and optional port) that serves your cluster information
10531          # https://github.com/ytoolshed/range/wiki/%22yamlfile%22-module-file-spec
10532          #
10533          #range_server: range:80
10534
10535
10536          #####  Windows Software Repo settings #####
10537          ###########################################
10538          # Location of the repo on the master:
10539          #winrepo_dir_ng: '/srv/salt/win/repo-ng'
10540          #
10541          # List of git repositories to include with the local repo:
10542          #winrepo_remotes_ng:
10543          #  - 'https://github.com/saltstack/salt-winrepo-ng.git'
10544
10545
10546          #####  Windows Software Repo settings - Pre 2015.8 #####
10547          ########################################################
10548          # Legacy repo settings for pre-2015.8 Windows minions.
10549          #
10550          # Location of the repo on the master:
10551          #winrepo_dir: '/srv/salt/win/repo'
10552          #
10553          # Location of the master's repo cache file:
10554          #winrepo_mastercachefile: '/srv/salt/win/repo/winrepo.p'
10555          #
10556          # List of git repositories to include with the local repo:
10557          #winrepo_remotes:
10558          #  - 'https://github.com/saltstack/salt-winrepo.git'
10559
10560          # The refspecs fetched by winrepo remotes
10561          #winrepo_refspecs:
10562          #  - '+refs/heads/*:refs/remotes/origin/*'
10563          #  - '+refs/tags/*:refs/tags/*'
10564          #
10565
10566          #####      Returner settings          ######
10567          ############################################
10568          # Which returner(s) will be used for minion's result:
10569          #return: mysql
10570
10571
10572          ######    Miscellaneous  settings     ######
10573          ############################################
10574          # Default match type for filtering events tags: startswith, endswith, find, regex, fnmatch
10575          #event_match_type: startswith
10576
10577          # Save runner returns to the job cache
10578          #runner_returns: True
10579
10580          # Permanently include any available Python 3rd party modules into thin and minimal Salt
10581          # when they are generated for Salt-SSH or other purposes.
10582          # The modules should be named by the names they are actually imported inside the Python.
10583          # The value of the parameters can be either one module or a comma separated list of them.
10584          #thin_extra_mods: foo,bar
10585          #min_extra_mods: foo,bar,baz
10586
10587
10588          ######      Keepalive settings        ######
10589          ############################################
10590          # Warning: Failure to set TCP keepalives on the salt-master can result in
10591          # not detecting the loss of a minion when the connection is lost or when
10592          # it's host has been terminated without first closing the socket.
10593          # Salt's Presence System depends on this connection status to know if a minion
10594          # is "present".
10595          # ZeroMQ now includes support for configuring SO_KEEPALIVE if supported by
10596          # the OS. If connections between the minion and the master pass through
10597          # a state tracking device such as a firewall or VPN gateway, there is
10598          # the risk that it could tear down the connection the master and minion
10599          # without informing either party that their connection has been taken away.
10600          # Enabling TCP Keepalives prevents this from happening.
10601
10602          # Overall state of TCP Keepalives, enable (1 or True), disable (0 or False)
10603          # or leave to the OS defaults (-1), on Linux, typically disabled. Default True, enabled.
10604          #tcp_keepalive: True
10605
10606          # How long before the first keepalive should be sent in seconds. Default 300
10607          # to send the first keepalive after 5 minutes, OS default (-1) is typically 7200 seconds
10608          # on Linux see /proc/sys/net/ipv4/tcp_keepalive_time.
10609          #tcp_keepalive_idle: 300
10610
10611          # How many lost probes are needed to consider the connection lost. Default -1
10612          # to use OS defaults, typically 9 on Linux, see /proc/sys/net/ipv4/tcp_keepalive_probes.
10613          #tcp_keepalive_cnt: -1
10614
10615          # How often, in seconds, to send keepalives after the first one. Default -1 to
10616          # use OS defaults, typically 75 seconds on Linux, see
10617          # /proc/sys/net/ipv4/tcp_keepalive_intvl.
10618          #tcp_keepalive_intvl: -1
10619
10620
10621   Example minion configuration file
10622          ##### Primary configuration settings #####
10623          ##########################################
10624          # This configuration file is used to manage the behavior of the Salt Minion.
10625          # With the exception of the location of the Salt Master Server, values that are
10626          # commented out but have an empty line after the comment are defaults that need
10627          # not be set in the config. If there is no blank line after the comment, the
10628          # value is presented as an example and is not the default.
10629
10630          # Per default the minion will automatically include all config files
10631          # from minion.d/*.conf (minion.d is a directory in the same directory
10632          # as the main minion config file).
10633          #default_include: minion.d/*.conf
10634
10635          # Set the location of the salt master server. If the master server cannot be
10636          # resolved, then the minion will fail to start.
10637          #master: salt
10638
10639          # Set http proxy information for the minion when doing requests
10640          #proxy_host:
10641          #proxy_port:
10642          #proxy_username:
10643          #proxy_password:
10644
10645          # List of hosts to bypass HTTP proxy. This key does nothing unless proxy_host etc is
10646          # configured, it does not support any kind of wildcards.
10647          #no_proxy: []
10648
10649          # If multiple masters are specified in the 'master' setting, the default behavior
10650          # is to always try to connect to them in the order they are listed. If random_master
10651          # is set to True, the order will be randomized upon Minion startup instead. This can
10652          # be helpful in distributing the load of many minions executing salt-call requests,
10653          # for example, from a cron job. If only one master is listed, this setting is ignored
10654          # and a warning will be logged.
10655          #random_master: False
10656
10657          # NOTE: Deprecated in Salt Fluorine. Use 'random_master' instead.
10658          #master_shuffle: False
10659
10660          # Minions can connect to multiple masters simultaneously (all masters
10661          # are "hot"), or can be configured to failover if a master becomes
10662          # unavailable.  Multiple hot masters are configured by setting this
10663          # value to "str".  Failover masters can be requested by setting
10664          # to "failover".  MAKE SURE TO SET master_alive_interval if you are
10665          # using failover.
10666          # Setting master_type to 'disable' let's you have a running minion (with engines and
10667          # beacons) without a master connection
10668          # master_type: str
10669
10670          # Poll interval in seconds for checking if the master is still there.  Only
10671          # respected if master_type above is "failover". To disable the interval entirely,
10672          # set the value to -1. (This may be necessary on machines which have high numbers
10673          # of TCP connections, such as load balancers.)
10674          # master_alive_interval: 30
10675
10676          # If the minion is in multi-master mode and the master_type configuration option
10677          # is set to "failover", this setting can be set to "True" to force the minion
10678          # to fail back to the first master in the list if the first master is back online.
10679          #master_failback: False
10680
10681          # If the minion is in multi-master mode, the "master_type" configuration is set to
10682          # "failover", and the "master_failback" option is enabled, the master failback
10683          # interval can be set to ping the top master with this interval, in seconds.
10684          #master_failback_interval: 0
10685
10686          # Set whether the minion should connect to the master via IPv6:
10687          #ipv6: False
10688
10689          # Set the number of seconds to wait before attempting to resolve
10690          # the master hostname if name resolution fails. Defaults to 30 seconds.
10691          # Set to zero if the minion should shutdown and not retry.
10692          # retry_dns: 30
10693
10694          # Set the number of times to attempt to resolve
10695          # the master hostname if name resolution fails. Defaults to None,
10696          # which will attempt the resolution indefinitely.
10697          # retry_dns_count: 3
10698
10699          # Set the port used by the master reply and authentication server.
10700          #master_port: 4506
10701
10702          # The user to run salt.
10703          #user: root
10704
10705          # The user to run salt remote execution commands as via sudo. If this option is
10706          # enabled then sudo will be used to change the active user executing the remote
10707          # command. If enabled the user will need to be allowed access via the sudoers
10708          # file for the user that the salt minion is configured to run as. The most
10709          # common option would be to use the root user. If this option is set the user
10710          # option should also be set to a non-root user. If migrating from a root minion
10711          # to a non root minion the minion cache should be cleared and the minion pki
10712          # directory will need to be changed to the ownership of the new user.
10713          #sudo_user: root
10714
10715          # Specify the location of the daemon process ID file.
10716          #pidfile: /var/run/salt-minion.pid
10717
10718          # The root directory prepended to these options: pki_dir, cachedir, log_file,
10719          # sock_dir, pidfile.
10720          #root_dir: /
10721
10722          # The path to the minion's configuration file.
10723          #conf_file: /etc/salt/minion
10724
10725          # The directory to store the pki information in
10726          #pki_dir: /etc/salt/pki/minion
10727
10728          # Explicitly declare the id for this minion to use, if left commented the id
10729          # will be the hostname as returned by the python call: socket.getfqdn()
10730          # Since salt uses detached ids it is possible to run multiple minions on the
10731          # same machine but with different ids, this can be useful for salt compute
10732          # clusters.
10733          #id:
10734
10735          # Cache the minion id to a file when the minion's id is not statically defined
10736          # in the minion config. Defaults to "True". This setting prevents potential
10737          # problems when automatic minion id resolution changes, which can cause the
10738          # minion to lose connection with the master. To turn off minion id caching,
10739          # set this config to ``False``.
10740          #minion_id_caching: True
10741
10742          # Append a domain to a hostname in the event that it does not exist.  This is
10743          # useful for systems where socket.getfqdn() does not actually result in a
10744          # FQDN (for instance, Solaris).
10745          #append_domain:
10746
10747          # Custom static grains for this minion can be specified here and used in SLS
10748          # files just like all other grains. This example sets 4 custom grains, with
10749          # the 'roles' grain having two values that can be matched against.
10750          #grains:
10751          #  roles:
10752          #    - webserver
10753          #    - memcache
10754          #  deployment: datacenter4
10755          #  cabinet: 13
10756          #  cab_u: 14-15
10757          #
10758          # Where cache data goes.
10759          # This data may contain sensitive data and should be protected accordingly.
10760          #cachedir: /var/cache/salt/minion
10761
10762          # Append minion_id to these directories.  Helps with
10763          # multiple proxies and minions running on the same machine.
10764          # Allowed elements in the list: pki_dir, cachedir, extension_modules
10765          # Normally not needed unless running several proxies and/or minions on the same machine
10766          # Defaults to ['cachedir'] for proxies, [] (empty list) for regular minions
10767          #append_minionid_config_dirs:
10768
10769          # Verify and set permissions on configuration directories at startup.
10770          #verify_env: True
10771
10772          # The minion can locally cache the return data from jobs sent to it, this
10773          # can be a good way to keep track of jobs the minion has executed
10774          # (on the minion side). By default this feature is disabled, to enable, set
10775          # cache_jobs to True.
10776          #cache_jobs: False
10777
10778          # Set the directory used to hold unix sockets.
10779          #sock_dir: /var/run/salt/minion
10780
10781          # The minion can take a while to start up when lspci and/or dmidecode is used
10782          # to populate the grains for the minion. Set this to False if you do not need
10783          # GPU hardware grains for your minion.
10784          # enable_gpu_grains: True
10785
10786          # Set the default outputter used by the salt-call command. The default is
10787          # "nested".
10788          #output: nested
10789
10790          # To set a list of additional directories to search for salt outputters, set the
10791          # outputter_dirs option.
10792          #outputter_dirs: []
10793
10794          # By default output is colored. To disable colored output, set the color value
10795          # to False.
10796          #color: True
10797
10798          # Do not strip off the colored output from nested results and state outputs
10799          # (true by default).
10800          # strip_colors: False
10801
10802          # Backup files that are replaced by file.managed and file.recurse under
10803          # 'cachedir'/file_backup relative to their original location and appended
10804          # with a timestamp. The only valid setting is "minion". Disabled by default.
10805          #
10806          # Alternatively this can be specified for each file in state files:
10807          # /etc/ssh/sshd_config:
10808          #   file.managed:
10809          #     - source: salt://ssh/sshd_config
10810          #     - backup: minion
10811          #
10812          #backup_mode: minion
10813
10814          # When waiting for a master to accept the minion's public key, salt will
10815          # continuously attempt to reconnect until successful. This is the time, in
10816          # seconds, between those reconnection attempts.
10817          #acceptance_wait_time: 10
10818
10819          # If this is nonzero, the time between reconnection attempts will increase by
10820          # acceptance_wait_time seconds per iteration, up to this maximum. If this is
10821          # set to zero, the time between reconnection attempts will stay constant.
10822          #acceptance_wait_time_max: 0
10823
10824          # If the master rejects the minion's public key, retry instead of exiting.
10825          # Rejected keys will be handled the same as waiting on acceptance.
10826          #rejected_retry: False
10827
10828          # When the master key changes, the minion will try to re-auth itself to receive
10829          # the new master key. In larger environments this can cause a SYN flood on the
10830          # master because all minions try to re-auth immediately. To prevent this and
10831          # have a minion wait for a random amount of time, use this optional parameter.
10832          # The wait-time will be a random number of seconds between 0 and the defined value.
10833          #random_reauth_delay: 60
10834
10835
10836          # To avoid overloading a master when many minions startup at once, a randomized
10837          # delay may be set to tell the minions to wait before connecting to the master.
10838          # This value is the number of seconds to choose from for a random number. For
10839          # example, setting this value to 60 will choose a random number of seconds to delay
10840          # on startup between zero seconds and sixty seconds. Setting to '0' will disable
10841          # this feature.
10842          #random_startup_delay: 0
10843
10844          # When waiting for a master to accept the minion's public key, salt will
10845          # continuously attempt to reconnect until successful. This is the timeout value,
10846          # in seconds, for each individual attempt. After this timeout expires, the minion
10847          # will wait for acceptance_wait_time seconds before trying again. Unless your master
10848          # is under unusually heavy load, this should be left at the default.
10849          #auth_timeout: 60
10850
10851          # Number of consecutive SaltReqTimeoutError that are acceptable when trying to
10852          # authenticate.
10853          #auth_tries: 7
10854
10855          # The number of attempts to connect to a master before giving up.
10856          # Set this to -1 for unlimited attempts. This allows for a master to have
10857          # downtime and the minion to reconnect to it later when it comes back up.
10858          # In 'failover' mode, it is the number of attempts for each set of masters.
10859          # In this mode, it will cycle through the list of masters for each attempt.
10860          #
10861          # This is different than auth_tries because auth_tries attempts to
10862          # retry auth attempts with a single master. auth_tries is under the
10863          # assumption that you can connect to the master but not gain
10864          # authorization from it. master_tries will still cycle through all
10865          # the masters in a given try, so it is appropriate if you expect
10866          # occasional downtime from the master(s).
10867          #master_tries: 1
10868
10869          # If authentication fails due to SaltReqTimeoutError during a ping_interval,
10870          # cause sub minion process to restart.
10871          #auth_safemode: False
10872
10873          # Ping Master to ensure connection is alive (minutes).
10874          #ping_interval: 0
10875
10876          # To auto recover minions if master changes IP address (DDNS)
10877          #    auth_tries: 10
10878          #    auth_safemode: False
10879          #    ping_interval: 2
10880          #
10881          # Minions won't know master is missing until a ping fails. After the ping fail,
10882          # the minion will attempt authentication and likely fails out and cause a restart.
10883          # When the minion restarts it will resolve the masters IP and attempt to reconnect.
10884
10885          # If you don't have any problems with syn-floods, don't bother with the
10886          # three recon_* settings described below, just leave the defaults!
10887          #
10888          # The ZeroMQ pull-socket that binds to the masters publishing interface tries
10889          # to reconnect immediately, if the socket is disconnected (for example if
10890          # the master processes are restarted). In large setups this will have all
10891          # minions reconnect immediately which might flood the master (the ZeroMQ-default
10892          # is usually a 100ms delay). To prevent this, these three recon_* settings
10893          # can be used.
10894          # recon_default: the interval in milliseconds that the socket should wait before
10895          #                trying to reconnect to the master (1000ms = 1 second)
10896          #
10897          # recon_max: the maximum time a socket should wait. each interval the time to wait
10898          #            is calculated by doubling the previous time. if recon_max is reached,
10899          #            it starts again at recon_default. Short example:
10900          #
10901          #            reconnect 1: the socket will wait 'recon_default' milliseconds
10902          #            reconnect 2: 'recon_default' * 2
10903          #            reconnect 3: ('recon_default' * 2) * 2
10904          #            reconnect 4: value from previous interval * 2
10905          #            reconnect 5: value from previous interval * 2
10906          #            reconnect x: if value >= recon_max, it starts again with recon_default
10907          #
10908          # recon_randomize: generate a random wait time on minion start. The wait time will
10909          #                  be a random value between recon_default and recon_default +
10910          #                  recon_max. Having all minions reconnect with the same recon_default
10911          #                  and recon_max value kind of defeats the purpose of being able to
10912          #                  change these settings. If all minions have the same values and your
10913          #                  setup is quite large (several thousand minions), they will still
10914          #                  flood the master. The desired behavior is to have timeframe within
10915          #                  all minions try to reconnect.
10916          #
10917          # Example on how to use these settings. The goal: have all minions reconnect within a
10918          # 60 second timeframe on a disconnect.
10919          # recon_default: 1000
10920          # recon_max: 59000
10921          # recon_randomize: True
10922          #
10923          # Each minion will have a randomized reconnect value between 'recon_default'
10924          # and 'recon_default + recon_max', which in this example means between 1000ms
10925          # 60000ms (or between 1 and 60 seconds). The generated random-value will be
10926          # doubled after each attempt to reconnect. Lets say the generated random
10927          # value is 11 seconds (or 11000ms).
10928          # reconnect 1: wait 11 seconds
10929          # reconnect 2: wait 22 seconds
10930          # reconnect 3: wait 33 seconds
10931          # reconnect 4: wait 44 seconds
10932          # reconnect 5: wait 55 seconds
10933          # reconnect 6: wait time is bigger than 60 seconds (recon_default + recon_max)
10934          # reconnect 7: wait 11 seconds
10935          # reconnect 8: wait 22 seconds
10936          # reconnect 9: wait 33 seconds
10937          # reconnect x: etc.
10938          #
10939          # In a setup with ~6000 thousand hosts these settings would average the reconnects
10940          # to about 100 per second and all hosts would be reconnected within 60 seconds.
10941          # recon_default: 100
10942          # recon_max: 5000
10943          # recon_randomize: False
10944          #
10945          #
10946          # The loop_interval sets how long in seconds the minion will wait between
10947          # evaluating the scheduler and running cleanup tasks.  This defaults to 1
10948          # second on the minion scheduler.
10949          #loop_interval: 1
10950
10951          # Some installations choose to start all job returns in a cache or a returner
10952          # and forgo sending the results back to a master. In this workflow, jobs
10953          # are most often executed with --async from the Salt CLI and then results
10954          # are evaluated by examining job caches on the minions or any configured returners.
10955          # WARNING: Setting this to False will **disable** returns back to the master.
10956          #pub_ret: True
10957
10958
10959          # The grains can be merged, instead of overridden, using this option.
10960          # This allows custom grains to defined different subvalues of a dictionary
10961          # grain. By default this feature is disabled, to enable set grains_deep_merge
10962          # to ``True``.
10963          #grains_deep_merge: False
10964
10965          # The grains_refresh_every setting allows for a minion to periodically check
10966          # its grains to see if they have changed and, if so, to inform the master
10967          # of the new grains. This operation is moderately expensive, therefore
10968          # care should be taken not to set this value too low.
10969          #
10970          # Note: This value is expressed in __minutes__!
10971          #
10972          # A value of 10 minutes is a reasonable default.
10973          #
10974          # If the value is set to zero, this check is disabled.
10975          #grains_refresh_every: 1
10976
10977          # Cache grains on the minion. Default is False.
10978          #grains_cache: False
10979
10980          # Cache rendered pillar data on the minion. Default is False.
10981          # This may cause 'cachedir'/pillar to contain sensitive data that should be
10982          # protected accordingly.
10983          #minion_pillar_cache: False
10984
10985          # Grains cache expiration, in seconds. If the cache file is older than this
10986          # number of seconds then the grains cache will be dumped and fully re-populated
10987          # with fresh data. Defaults to 5 minutes. Will have no effect if 'grains_cache'
10988          # is not enabled.
10989          # grains_cache_expiration: 300
10990
10991          # Determines whether or not the salt minion should run scheduled mine updates.
10992          # Defaults to "True". Set to "False" to disable the scheduled mine updates
10993          # (this essentially just does not add the mine update function to the minion's
10994          # scheduler).
10995          #mine_enabled: True
10996
10997          # Determines whether or not scheduled mine updates should be accompanied by a job
10998          # return for the job cache. Defaults to "False". Set to "True" to include job
10999          # returns in the job cache for mine updates.
11000          #mine_return_job: False
11001
11002          # Example functions that can be run via the mine facility
11003          # NO mine functions are established by default.
11004          # Note these can be defined in the minion's pillar as well.
11005          #mine_functions:
11006          #  test.ping: []
11007          #  network.ip_addrs:
11008          #    interface: eth0
11009          #    cidr: '10.0.0.0/8'
11010
11011          # The number of minutes between mine updates.
11012          #mine_interval: 60
11013
11014          # Windows platforms lack posix IPC and must rely on slower TCP based inter-
11015          # process communications. Set ipc_mode to 'tcp' on such systems
11016          #ipc_mode: ipc
11017
11018          # Overwrite the default tcp ports used by the minion when ipc_mode is set to 'tcp'
11019          #tcp_pub_port: 4510
11020          #tcp_pull_port: 4511
11021
11022          # Passing very large events can cause the minion to consume large amounts of
11023          # memory. This value tunes the maximum size of a message allowed onto the
11024          # minion event bus. The value is expressed in bytes.
11025          #max_event_size: 1048576
11026
11027          # When a minion starts up it sends a notification on the event bus with a tag
11028          # that looks like this: `salt/minion/<minion_id>/start`. For historical reasons
11029          # the minion also sends a similar event with an event tag like this:
11030          # `minion_start`. This duplication can cause a lot of clutter on the event bus
11031          # when there are many minions. Set `enable_legacy_startup_events: False` in the
11032          # minion config to ensure only the `salt/minion/<minion_id>/start` events are
11033          # sent. Beginning with the `Sodium` Salt release this option will default to
11034          # `False`
11035          #enable_legacy_startup_events: True
11036
11037          # To detect failed master(s) and fire events on connect/disconnect, set
11038          # master_alive_interval to the number of seconds to poll the masters for
11039          # connection events.
11040          #
11041          #master_alive_interval: 30
11042
11043          # The minion can include configuration from other files. To enable this,
11044          # pass a list of paths to this option. The paths can be either relative or
11045          # absolute; if relative, they are considered to be relative to the directory
11046          # the main minion configuration file lives in (this file). Paths can make use
11047          # of shell-style globbing. If no files are matched by a path passed to this
11048          # option then the minion will log a warning message.
11049          #
11050          # Include a config file from some other path:
11051          # include: /etc/salt/extra_config
11052          #
11053          # Include config from several files and directories:
11054          #include:
11055          #  - /etc/salt/extra_config
11056          #  - /etc/roles/webserver
11057
11058          # The syndic minion can verify that it is talking to the correct master via the
11059          # key fingerprint of the higher-level master with the "syndic_finger" config.
11060          #syndic_finger: ''
11061          #
11062          #
11063          #
11064          #####   Minion module management     #####
11065          ##########################################
11066          # Disable specific modules. This allows the admin to limit the level of
11067          # access the master has to the minion.  The default here is the empty list,
11068          # below is an example of how this needs to be formatted in the config file
11069          #disable_modules:
11070          #  - cmdmod
11071          #  - test
11072          #disable_returners: []
11073
11074          # This is the reverse of disable_modules.  The default, like disable_modules, is the empty list,
11075          # but if this option is set to *anything* then *only* those modules will load.
11076          # Note that this is a very large hammer and it can be quite difficult to keep the minion working
11077          # the way you think it should since Salt uses many modules internally itself.  At a bare minimum
11078          # you need the following enabled or else the minion won't start.
11079          #whitelist_modules:
11080          #  - cmdmod
11081          #  - test
11082          #  - config
11083
11084          # Modules can be loaded from arbitrary paths. This enables the easy deployment
11085          # of third party modules. Modules for returners and minions can be loaded.
11086          # Specify a list of extra directories to search for minion modules and
11087          # returners. These paths must be fully qualified!
11088          #module_dirs: []
11089          #returner_dirs: []
11090          #states_dirs: []
11091          #render_dirs: []
11092          #utils_dirs: []
11093          #
11094          # A module provider can be statically overwritten or extended for the minion
11095          # via the providers option, in this case the default module will be
11096          # overwritten by the specified module. In this example the pkg module will
11097          # be provided by the yumpkg5 module instead of the system default.
11098          #providers:
11099          #  pkg: yumpkg5
11100          #
11101          # Enable Cython modules searching and loading. (Default: False)
11102          #cython_enable: False
11103          #
11104          # Specify a max size (in bytes) for modules on import. This feature is currently
11105          # only supported on *nix operating systems and requires psutil.
11106          # modules_max_memory: -1
11107
11108
11109          #####    State Management Settings    #####
11110          ###########################################
11111          # The default renderer to use in SLS files. This is configured as a
11112          # pipe-delimited expression. For example, jinja|yaml will first run jinja
11113          # templating on the SLS file, and then load the result as YAML. This syntax is
11114          # documented in further depth at the following URL:
11115          #
11116          # https://docs.saltstack.com/en/latest/ref/renderers/#composing-renderers
11117          #
11118          # NOTE: The "shebang" prefix (e.g. "#!jinja|yaml") described in the
11119          # documentation linked above is for use in an SLS file to override the default
11120          # renderer, it should not be used when configuring the renderer here.
11121          #
11122          #renderer: jinja|yaml
11123          #
11124          # The failhard option tells the minions to stop immediately after the first
11125          # failure detected in the state execution. Defaults to False.
11126          #failhard: False
11127          #
11128          # Reload the modules prior to a highstate run.
11129          #autoload_dynamic_modules: True
11130          #
11131          # clean_dynamic_modules keeps the dynamic modules on the minion in sync with
11132          # the dynamic modules on the master, this means that if a dynamic module is
11133          # not on the master it will be deleted from the minion. By default, this is
11134          # enabled and can be disabled by changing this value to False.
11135          #clean_dynamic_modules: True
11136          #
11137          # Normally, the minion is not isolated to any single environment on the master
11138          # when running states, but the environment can be isolated on the minion side
11139          # by statically setting it. Remember that the recommended way to manage
11140          # environments is to isolate via the top file.
11141          #environment: None
11142          #
11143          # Isolates the pillar environment on the minion side. This functions the same
11144          # as the environment setting, but for pillar instead of states.
11145          #pillarenv: None
11146          #
11147          # Set this option to True to force the pillarenv to be the same as the
11148          # effective saltenv when running states. Note that if pillarenv is specified,
11149          # this option will be ignored.
11150          #pillarenv_from_saltenv: False
11151          #
11152          # Set this option to 'True' to force a 'KeyError' to be raised whenever an
11153          # attempt to retrieve a named value from pillar fails. When this option is set
11154          # to 'False', the failed attempt returns an empty string. Default is 'False'.
11155          #pillar_raise_on_missing: False
11156          #
11157          # If using the local file directory, then the state top file name needs to be
11158          # defined, by default this is top.sls.
11159          #state_top: top.sls
11160          #
11161          # Run states when the minion daemon starts. To enable, set startup_states to:
11162          # 'highstate' -- Execute state.highstate
11163          # 'sls' -- Read in the sls_list option and execute the named sls files
11164          # 'top' -- Read top_file option and execute based on that file on the Master
11165          #startup_states: ''
11166          #
11167          # List of states to run when the minion starts up if startup_states is 'sls':
11168          #sls_list:
11169          #  - edit.vim
11170          #  - hyper
11171          #
11172          # Top file to execute if startup_states is 'top':
11173          #top_file: ''
11174
11175          # Automatically aggregate all states that have support for mod_aggregate by
11176          # setting to True. Or pass a list of state module names to automatically
11177          # aggregate just those types.
11178          #
11179          # state_aggregate:
11180          #   - pkg
11181          #
11182          #state_aggregate: False
11183
11184          #####     File Directory Settings    #####
11185          ##########################################
11186          # The Salt Minion can redirect all file server operations to a local directory,
11187          # this allows for the same state tree that is on the master to be used if
11188          # copied completely onto the minion. This is a literal copy of the settings on
11189          # the master but used to reference a local directory on the minion.
11190
11191          # Set the file client. The client defaults to looking on the master server for
11192          # files, but can be directed to look at the local file directory setting
11193          # defined below by setting it to "local". Setting a local file_client runs the
11194          # minion in masterless mode.
11195          #file_client: remote
11196
11197          # The file directory works on environments passed to the minion, each environment
11198          # can have multiple root directories, the subdirectories in the multiple file
11199          # roots cannot match, otherwise the downloaded files will not be able to be
11200          # reliably ensured. A base environment is required to house the top file.
11201          # Example:
11202          # file_roots:
11203          #   base:
11204          #     - /srv/salt/
11205          #   dev:
11206          #     - /srv/salt/dev/services
11207          #     - /srv/salt/dev/states
11208          #   prod:
11209          #     - /srv/salt/prod/services
11210          #     - /srv/salt/prod/states
11211          #
11212          #file_roots:
11213          #  base:
11214          #    - /srv/salt
11215
11216          # Uncomment the line below if you do not want the file_server to follow
11217          # symlinks when walking the filesystem tree. This is set to True
11218          # by default. Currently this only applies to the default roots
11219          # fileserver_backend.
11220          #fileserver_followsymlinks: False
11221          #
11222          # Uncomment the line below if you do not want symlinks to be
11223          # treated as the files they are pointing to. By default this is set to
11224          # False. By uncommenting the line below, any detected symlink while listing
11225          # files on the Master will not be returned to the Minion.
11226          #fileserver_ignoresymlinks: True
11227          #
11228          # By default, the Salt fileserver recurses fully into all defined environments
11229          # to attempt to find files. To limit this behavior so that the fileserver only
11230          # traverses directories with SLS files and special Salt directories like _modules,
11231          # enable the option below. This might be useful for installations where a file root
11232          # has a very large number of files and performance is negatively impacted. Default
11233          # is False.
11234          #fileserver_limit_traversal: False
11235
11236          # The hash_type is the hash to use when discovering the hash of a file on
11237          # the local fileserver. The default is sha256, but md5, sha1, sha224, sha384
11238          # and sha512 are also supported.
11239          #
11240          # WARNING: While md5 and sha1 are also supported, do not use them due to the
11241          # high chance of possible collisions and thus security breach.
11242          #
11243          # Warning: Prior to changing this value, the minion should be stopped and all
11244          # Salt caches should be cleared.
11245          #hash_type: sha256
11246
11247          # The Salt pillar is searched for locally if file_client is set to local. If
11248          # this is the case, and pillar data is defined, then the pillar_roots need to
11249          # also be configured on the minion:
11250          #pillar_roots:
11251          #  base:
11252          #    - /srv/pillar
11253
11254          # Set a hard-limit on the size of the files that can be pushed to the master.
11255          # It will be interpreted as megabytes. Default: 100
11256          #file_recv_max_size: 100
11257          #
11258          #
11259          ######        Security settings       #####
11260          ###########################################
11261          # Enable "open mode", this mode still maintains encryption, but turns off
11262          # authentication, this is only intended for highly secure environments or for
11263          # the situation where your keys end up in a bad state. If you run in open mode
11264          # you do so at your own risk!
11265          #open_mode: False
11266
11267          # The size of key that should be generated when creating new keys.
11268          #keysize: 2048
11269
11270          # Enable permissive access to the salt keys.  This allows you to run the
11271          # master or minion as root, but have a non-root group be given access to
11272          # your pki_dir.  To make the access explicit, root must belong to the group
11273          # you've given access to. This is potentially quite insecure.
11274          #permissive_pki_access: False
11275
11276          # The state_verbose and state_output settings can be used to change the way
11277          # state system data is printed to the display. By default all data is printed.
11278          # The state_verbose setting can be set to True or False, when set to False
11279          # all data that has a result of True and no changes will be suppressed.
11280          #state_verbose: True
11281
11282          # The state_output setting controls which results will be output full multi line
11283          # full, terse - each state will be full/terse
11284          # mixed - only states with errors will be full
11285          # changes - states with changes and errors will be full
11286          # full_id, mixed_id, changes_id and terse_id are also allowed;
11287          # when set, the state ID will be used as name in the output
11288          #state_output: full
11289
11290          # The state_output_diff setting changes whether or not the output from
11291          # successful states is returned. Useful when even the terse output of these
11292          # states is cluttering the logs. Set it to True to ignore them.
11293          #state_output_diff: False
11294
11295          # The state_output_profile setting changes whether profile information
11296          # will be shown for each state run.
11297          #state_output_profile: True
11298
11299          # Fingerprint of the master public key to validate the identity of your Salt master
11300          # before the initial key exchange. The master fingerprint can be found by running
11301          # "salt-key -f master.pub" on the Salt master.
11302          #master_finger: ''
11303
11304          # Use TLS/SSL encrypted connection between master and minion.
11305          # Can be set to a dictionary containing keyword arguments corresponding to Python's
11306          # 'ssl.wrap_socket' method.
11307          # Default is None.
11308          #ssl:
11309          #    keyfile: <path_to_keyfile>
11310          #    certfile: <path_to_certfile>
11311          #    ssl_version: PROTOCOL_TLSv1_2
11312
11313          # Grains to be sent to the master on authentication to check if the minion's key
11314          # will be accepted automatically. Needs to be configured on the master.
11315          #autosign_grains:
11316          #  - uuid
11317          #  - server_id
11318
11319
11320          ######        Reactor Settings        #####
11321          ###########################################
11322          # Define a salt reactor. See https://docs.saltstack.com/en/latest/topics/reactor/
11323          #reactor: []
11324
11325          #Set the TTL for the cache of the reactor configuration.
11326          #reactor_refresh_interval: 60
11327
11328          #Configure the number of workers for the runner/wheel in the reactor.
11329          #reactor_worker_threads: 10
11330
11331          #Define the queue size for workers in the reactor.
11332          #reactor_worker_hwm: 10000
11333
11334
11335          ######         Thread settings        #####
11336          ###########################################
11337          # Disable multiprocessing support, by default when a minion receives a
11338          # publication a new process is spawned and the command is executed therein.
11339          #
11340          # WARNING: Disabling multiprocessing may result in substantial slowdowns
11341          # when processing large pillars. See https://github.com/saltstack/salt/issues/38758
11342          # for a full explanation.
11343          #multiprocessing: True
11344
11345          # Limit the maximum amount of processes or threads created by salt-minion.
11346          # This is useful to avoid resource exhaustion in case the minion receives more
11347          # publications than it is able to handle, as it limits the number of spawned
11348          # processes or threads. -1 is the default and disables the limit.
11349          #process_count_max: -1
11350
11351
11352          #####         Logging settings       #####
11353          ##########################################
11354          # The location of the minion log file
11355          # The minion log can be sent to a regular file, local path name, or network
11356          # location. Remote logging works best when configured to use rsyslogd(8) (e.g.:
11357          # ``file:///dev/log``), with rsyslogd(8) configured for network logging. The URI
11358          # format is: <file|udp|tcp>://<host|socketpath>:<port-if-required>/<log-facility>
11359          #log_file: /var/log/salt/minion
11360          #log_file: file:///dev/log
11361          #log_file: udp://loghost:10514
11362          #
11363          #log_file: /var/log/salt/minion
11364          #key_logfile: /var/log/salt/key
11365
11366          # The level of messages to send to the console.
11367          # One of 'garbage', 'trace', 'debug', 'info', 'warning', 'error', 'critical'.
11368          #
11369          # The following log levels are considered INSECURE and may log sensitive data:
11370          # ['garbage', 'trace', 'debug']
11371          #
11372          # Default: 'warning'
11373          #log_level: warning
11374
11375          # The level of messages to send to the log file.
11376          # One of 'garbage', 'trace', 'debug', info', 'warning', 'error', 'critical'.
11377          # If using 'log_granular_levels' this must be set to the highest desired level.
11378          # Default: 'warning'
11379          #log_level_logfile:
11380
11381          # The date and time format used in log messages. Allowed date/time formatting
11382          # can be seen here: http://docs.python.org/library/time.html#time.strftime
11383          #log_datefmt: '%H:%M:%S'
11384          #log_datefmt_logfile: '%Y-%m-%d %H:%M:%S'
11385
11386          # The format of the console logging messages. Allowed formatting options can
11387          # be seen here: http://docs.python.org/library/logging.html#logrecord-attributes
11388          #
11389          # Console log colors are specified by these additional formatters:
11390          #
11391          # %(colorlevel)s
11392          # %(colorname)s
11393          # %(colorprocess)s
11394          # %(colormsg)s
11395          #
11396          # Since it is desirable to include the surrounding brackets, '[' and ']', in
11397          # the coloring of the messages, these color formatters also include padding as
11398          # well.  Color LogRecord attributes are only available for console logging.
11399          #
11400          #log_fmt_console: '%(colorlevel)s %(colormsg)s'
11401          #log_fmt_console: '[%(levelname)-8s] %(message)s'
11402          #
11403          #log_fmt_logfile: '%(asctime)s,%(msecs)03d [%(name)-17s][%(levelname)-8s] %(message)s'
11404
11405          # This can be used to control logging levels more specificically.  This
11406          # example sets the main salt library at the 'warning' level, but sets
11407          # 'salt.modules' to log at the 'debug' level:
11408          #   log_granular_levels:
11409          #     'salt': 'warning'
11410          #     'salt.modules': 'debug'
11411          #
11412          #log_granular_levels: {}
11413
11414          # To diagnose issues with minions disconnecting or missing returns, ZeroMQ
11415          # supports the use of monitor sockets to log connection events. This
11416          # feature requires ZeroMQ 4.0 or higher.
11417          #
11418          # To enable ZeroMQ monitor sockets, set 'zmq_monitor' to 'True' and log at a
11419          # debug level or higher.
11420          #
11421          # A sample log event is as follows:
11422          #
11423          # [DEBUG   ] ZeroMQ event: {'endpoint': 'tcp://127.0.0.1:4505', 'event': 512,
11424          # 'value': 27, 'description': 'EVENT_DISCONNECTED'}
11425          #
11426          # All events logged will include the string 'ZeroMQ event'. A connection event
11427          # should be logged as the minion starts up and initially connects to the
11428          # master. If not, check for debug log level and that the necessary version of
11429          # ZeroMQ is installed.
11430          #
11431          #zmq_monitor: False
11432
11433          # Number of times to try to authenticate with the salt master when reconnecting
11434          # to the master
11435          #tcp_authentication_retries: 5
11436
11437          ######      Module configuration      #####
11438          ###########################################
11439          # Salt allows for modules to be passed arbitrary configuration data, any data
11440          # passed here in valid yaml format will be passed on to the salt minion modules
11441          # for use. It is STRONGLY recommended that a naming convention be used in which
11442          # the module name is followed by a . and then the value. Also, all top level
11443          # data must be applied via the yaml dict construct, some examples:
11444          #
11445          # You can specify that all modules should run in test mode:
11446          #test: True
11447          #
11448          # A simple value for the test module:
11449          #test.foo: foo
11450          #
11451          # A list for the test module:
11452          #test.bar: [baz,quo]
11453          #
11454          # A dict for the test module:
11455          #test.baz: {spam: sausage, cheese: bread}
11456          #
11457          #
11458          ######      Update settings          ######
11459          ###########################################
11460          # Using the features in Esky, a salt minion can both run as a frozen app and
11461          # be updated on the fly. These options control how the update process
11462          # (saltutil.update()) behaves.
11463          #
11464          # The url for finding and downloading updates. Disabled by default.
11465          #update_url: False
11466          #
11467          # The list of services to restart after a successful update. Empty by default.
11468          #update_restart_services: []
11469
11470
11471          ######      Keepalive settings        ######
11472          ############################################
11473          # ZeroMQ now includes support for configuring SO_KEEPALIVE if supported by
11474          # the OS. If connections between the minion and the master pass through
11475          # a state tracking device such as a firewall or VPN gateway, there is
11476          # the risk that it could tear down the connection the master and minion
11477          # without informing either party that their connection has been taken away.
11478          # Enabling TCP Keepalives prevents this from happening.
11479
11480          # Overall state of TCP Keepalives, enable (1 or True), disable (0 or False)
11481          # or leave to the OS defaults (-1), on Linux, typically disabled. Default True, enabled.
11482          #tcp_keepalive: True
11483
11484          # How long before the first keepalive should be sent in seconds. Default 300
11485          # to send the first keepalive after 5 minutes, OS default (-1) is typically 7200 seconds
11486          # on Linux see /proc/sys/net/ipv4/tcp_keepalive_time.
11487          #tcp_keepalive_idle: 300
11488
11489          # How many lost probes are needed to consider the connection lost. Default -1
11490          # to use OS defaults, typically 9 on Linux, see /proc/sys/net/ipv4/tcp_keepalive_probes.
11491          #tcp_keepalive_cnt: -1
11492
11493          # How often, in seconds, to send keepalives after the first one. Default -1 to
11494          # use OS defaults, typically 75 seconds on Linux, see
11495          # /proc/sys/net/ipv4/tcp_keepalive_intvl.
11496          #tcp_keepalive_intvl: -1
11497
11498
11499          ######   Windows Software settings    ######
11500          ############################################
11501          # Location of the repository cache file on the master:
11502          #win_repo_cachefile: 'salt://win/repo/winrepo.p'
11503
11504
11505          ######      Returner  settings        ######
11506          ############################################
11507          # Default Minion returners. Can be a comma delimited string or a list:
11508          #
11509          #return: mysql
11510          #
11511          #return: mysql,slack,redis
11512          #
11513          #return:
11514          #  - mysql
11515          #  - hipchat
11516          #  - slack
11517
11518
11519          ######    Miscellaneous  settings     ######
11520          ############################################
11521          # Default match type for filtering events tags: startswith, endswith, find, regex, fnmatch
11522          #event_match_type: startswith
11523
11524
11525   Example proxy minion configuration file
11526          ##### Primary configuration settings #####
11527          ##########################################
11528          # This configuration file is used to manage the behavior of all Salt Proxy
11529          # Minions on this host.
11530          # With the exception of the location of the Salt Master Server, values that are
11531          # commented out but have an empty line after the comment are defaults that need
11532          # not be set in the config. If there is no blank line after the comment, the
11533          # value is presented as an example and is not the default.
11534
11535          # Per default the minion will automatically include all config files
11536          # from minion.d/*.conf (minion.d is a directory in the same directory
11537          # as the main minion config file).
11538          #default_include: minion.d/*.conf
11539
11540          # Backwards compatibility option for proxymodules created before 2015.8.2
11541          # This setting will default to 'False' in the 2016.3.0 release
11542          # Setting this to True adds proxymodules to the __opts__ dictionary.
11543          # This breaks several Salt features (basically anything that serializes
11544          # __opts__ over the wire) but retains backwards compatibility.
11545          #add_proxymodule_to_opts: True
11546
11547          # Set the location of the salt master server. If the master server cannot be
11548          # resolved, then the minion will fail to start.
11549          #master: salt
11550
11551          # If a proxymodule has a function called 'grains', then call it during
11552          # regular grains loading and merge the results with the proxy's grains
11553          # dictionary.  Otherwise it is assumed that the module calls the grains
11554          # function in a custom way and returns the data elsewhere
11555          #
11556          # Default to False for 2016.3 and 2016.11. Switch to True for 2017.7.0.
11557          # proxy_merge_grains_in_module: True
11558
11559          # If a proxymodule has a function called 'alive' returning a boolean
11560          # flag reflecting the state of the connection with the remove device,
11561          # when this option is set as True, a scheduled job on the proxy will
11562          # try restarting the connection. The polling frequency depends on the
11563          # next option, 'proxy_keep_alive_interval'. Added in 2017.7.0.
11564          # proxy_keep_alive: True
11565
11566          # The polling interval (in minutes) to check if the underlying connection
11567          # with the remote device is still alive. This option requires
11568          # 'proxy_keep_alive' to be configured as True and the proxymodule to
11569          # implement the 'alive' function. Added in 2017.7.0.
11570          # proxy_keep_alive_interval: 1
11571
11572          # By default, any proxy opens the connection with the remote device when
11573          # initialized. Some proxymodules allow through this option to open/close
11574          # the session per command. This requires the proxymodule to have this
11575          # capability. Please consult the documentation to see if the proxy type
11576          # used can be that flexible. Added in 2017.7.0.
11577          # proxy_always_alive: True
11578
11579          # If multiple masters are specified in the 'master' setting, the default behavior
11580          # is to always try to connect to them in the order they are listed. If random_master is
11581          # set to True, the order will be randomized instead. This can be helpful in distributing
11582          # the load of many minions executing salt-call requests, for example, from a cron job.
11583          # If only one master is listed, this setting is ignored and a warning will be logged.
11584          #random_master: False
11585
11586          # Minions can connect to multiple masters simultaneously (all masters
11587          # are "hot"), or can be configured to failover if a master becomes
11588          # unavailable.  Multiple hot masters are configured by setting this
11589          # value to "str".  Failover masters can be requested by setting
11590          # to "failover".  MAKE SURE TO SET master_alive_interval if you are
11591          # using failover.
11592          # master_type: str
11593
11594          # Poll interval in seconds for checking if the master is still there.  Only
11595          # respected if master_type above is "failover".
11596          # master_alive_interval: 30
11597
11598          # Set whether the minion should connect to the master via IPv6:
11599          #ipv6: False
11600
11601          # Set the number of seconds to wait before attempting to resolve
11602          # the master hostname if name resolution fails. Defaults to 30 seconds.
11603          # Set to zero if the minion should shutdown and not retry.
11604          # retry_dns: 30
11605
11606          # Set the port used by the master reply and authentication server.
11607          #master_port: 4506
11608
11609          # The user to run salt.
11610          #user: root
11611
11612          # Setting sudo_user will cause salt to run all execution modules under an sudo
11613          # to the user given in sudo_user.  The user under which the salt minion process
11614          # itself runs will still be that provided in the user config above, but all
11615          # execution modules run by the minion will be rerouted through sudo.
11616          #sudo_user: saltdev
11617
11618          # Specify the location of the daemon process ID file.
11619          #pidfile: /var/run/salt-minion.pid
11620
11621          # The root directory prepended to these options: pki_dir, cachedir, log_file,
11622          # sock_dir, pidfile.
11623          #root_dir: /
11624
11625          # The directory to store the pki information in
11626          #pki_dir: /etc/salt/pki/minion
11627
11628          # Where cache data goes.
11629          # This data may contain sensitive data and should be protected accordingly.
11630          #cachedir: /var/cache/salt/minion
11631
11632          # Append minion_id to these directories.  Helps with
11633          # multiple proxies and minions running on the same machine.
11634          # Allowed elements in the list: pki_dir, cachedir, extension_modules
11635          # Normally not needed unless running several proxies and/or minions on the same machine
11636          # Defaults to ['cachedir'] for proxies, [] (empty list) for regular minions
11637          # append_minionid_config_dirs:
11638          #   - cachedir
11639
11640
11641
11642          # Verify and set permissions on configuration directories at startup.
11643          #verify_env: True
11644
11645          # The minion can locally cache the return data from jobs sent to it, this
11646          # can be a good way to keep track of jobs the minion has executed
11647          # (on the minion side). By default this feature is disabled, to enable, set
11648          # cache_jobs to True.
11649          #cache_jobs: False
11650
11651          # Set the directory used to hold unix sockets.
11652          #sock_dir: /var/run/salt/minion
11653
11654          # Set the default outputter used by the salt-call command. The default is
11655          # "nested".
11656          #output: nested
11657          #
11658          # By default output is colored. To disable colored output, set the color value
11659          # to False.
11660          #color: True
11661
11662          # Do not strip off the colored output from nested results and state outputs
11663          # (true by default).
11664          # strip_colors: False
11665
11666          # Backup files that are replaced by file.managed and file.recurse under
11667          # 'cachedir'/file_backup relative to their original location and appended
11668          # with a timestamp. The only valid setting is "minion". Disabled by default.
11669          #
11670          # Alternatively this can be specified for each file in state files:
11671          # /etc/ssh/sshd_config:
11672          #   file.managed:
11673          #     - source: salt://ssh/sshd_config
11674          #     - backup: minion
11675          #
11676          #backup_mode: minion
11677
11678          # When waiting for a master to accept the minion's public key, salt will
11679          # continuously attempt to reconnect until successful. This is the time, in
11680          # seconds, between those reconnection attempts.
11681          #acceptance_wait_time: 10
11682
11683          # If this is nonzero, the time between reconnection attempts will increase by
11684          # acceptance_wait_time seconds per iteration, up to this maximum. If this is
11685          # set to zero, the time between reconnection attempts will stay constant.
11686          #acceptance_wait_time_max: 0
11687
11688          # If the master rejects the minion's public key, retry instead of exiting.
11689          # Rejected keys will be handled the same as waiting on acceptance.
11690          #rejected_retry: False
11691
11692          # When the master key changes, the minion will try to re-auth itself to receive
11693          # the new master key. In larger environments this can cause a SYN flood on the
11694          # master because all minions try to re-auth immediately. To prevent this and
11695          # have a minion wait for a random amount of time, use this optional parameter.
11696          # The wait-time will be a random number of seconds between 0 and the defined value.
11697          #random_reauth_delay: 60
11698
11699          # When waiting for a master to accept the minion's public key, salt will
11700          # continuously attempt to reconnect until successful. This is the timeout value,
11701          # in seconds, for each individual attempt. After this timeout expires, the minion
11702          # will wait for acceptance_wait_time seconds before trying again. Unless your master
11703          # is under unusually heavy load, this should be left at the default.
11704          #auth_timeout: 60
11705
11706          # Number of consecutive SaltReqTimeoutError that are acceptable when trying to
11707          # authenticate.
11708          #auth_tries: 7
11709
11710          # If authentication fails due to SaltReqTimeoutError during a ping_interval,
11711          # cause sub minion process to restart.
11712          #auth_safemode: False
11713
11714          # Ping Master to ensure connection is alive (minutes).
11715          #ping_interval: 0
11716
11717          # To auto recover minions if master changes IP address (DDNS)
11718          #    auth_tries: 10
11719          #    auth_safemode: False
11720          #    ping_interval: 90
11721          #
11722          # Minions won't know master is missing until a ping fails. After the ping fail,
11723          # the minion will attempt authentication and likely fails out and cause a restart.
11724          # When the minion restarts it will resolve the masters IP and attempt to reconnect.
11725
11726          # If you don't have any problems with syn-floods, don't bother with the
11727          # three recon_* settings described below, just leave the defaults!
11728          #
11729          # The ZeroMQ pull-socket that binds to the masters publishing interface tries
11730          # to reconnect immediately, if the socket is disconnected (for example if
11731          # the master processes are restarted). In large setups this will have all
11732          # minions reconnect immediately which might flood the master (the ZeroMQ-default
11733          # is usually a 100ms delay). To prevent this, these three recon_* settings
11734          # can be used.
11735          # recon_default: the interval in milliseconds that the socket should wait before
11736          #                trying to reconnect to the master (1000ms = 1 second)
11737          #
11738          # recon_max: the maximum time a socket should wait. each interval the time to wait
11739          #            is calculated by doubling the previous time. if recon_max is reached,
11740          #            it starts again at recon_default. Short example:
11741          #
11742          #            reconnect 1: the socket will wait 'recon_default' milliseconds
11743          #            reconnect 2: 'recon_default' * 2
11744          #            reconnect 3: ('recon_default' * 2) * 2
11745          #            reconnect 4: value from previous interval * 2
11746          #            reconnect 5: value from previous interval * 2
11747          #            reconnect x: if value >= recon_max, it starts again with recon_default
11748          #
11749          # recon_randomize: generate a random wait time on minion start. The wait time will
11750          #                  be a random value between recon_default and recon_default +
11751          #                  recon_max. Having all minions reconnect with the same recon_default
11752          #                  and recon_max value kind of defeats the purpose of being able to
11753          #                  change these settings. If all minions have the same values and your
11754          #                  setup is quite large (several thousand minions), they will still
11755          #                  flood the master. The desired behavior is to have timeframe within
11756          #                  all minions try to reconnect.
11757          #
11758          # Example on how to use these settings. The goal: have all minions reconnect within a
11759          # 60 second timeframe on a disconnect.
11760          # recon_default: 1000
11761          # recon_max: 59000
11762          # recon_randomize: True
11763          #
11764          # Each minion will have a randomized reconnect value between 'recon_default'
11765          # and 'recon_default + recon_max', which in this example means between 1000ms
11766          # 60000ms (or between 1 and 60 seconds). The generated random-value will be
11767          # doubled after each attempt to reconnect. Lets say the generated random
11768          # value is 11 seconds (or 11000ms).
11769          # reconnect 1: wait 11 seconds
11770          # reconnect 2: wait 22 seconds
11771          # reconnect 3: wait 33 seconds
11772          # reconnect 4: wait 44 seconds
11773          # reconnect 5: wait 55 seconds
11774          # reconnect 6: wait time is bigger than 60 seconds (recon_default + recon_max)
11775          # reconnect 7: wait 11 seconds
11776          # reconnect 8: wait 22 seconds
11777          # reconnect 9: wait 33 seconds
11778          # reconnect x: etc.
11779          #
11780          # In a setup with ~6000 thousand hosts these settings would average the reconnects
11781          # to about 100 per second and all hosts would be reconnected within 60 seconds.
11782          # recon_default: 100
11783          # recon_max: 5000
11784          # recon_randomize: False
11785          #
11786          #
11787          # The loop_interval sets how long in seconds the minion will wait between
11788          # evaluating the scheduler and running cleanup tasks. This defaults to a
11789          # sane 60 seconds, but if the minion scheduler needs to be evaluated more
11790          # often lower this value
11791          #loop_interval: 60
11792
11793          # The grains_refresh_every setting allows for a minion to periodically check
11794          # its grains to see if they have changed and, if so, to inform the master
11795          # of the new grains. This operation is moderately expensive, therefore
11796          # care should be taken not to set this value too low.
11797          #
11798          # Note: This value is expressed in __minutes__!
11799          #
11800          # A value of 10 minutes is a reasonable default.
11801          #
11802          # If the value is set to zero, this check is disabled.
11803          #grains_refresh_every: 1
11804
11805          # Cache grains on the minion. Default is False.
11806          #grains_cache: False
11807
11808          # Grains cache expiration, in seconds. If the cache file is older than this
11809          # number of seconds then the grains cache will be dumped and fully re-populated
11810          # with fresh data. Defaults to 5 minutes. Will have no effect if 'grains_cache'
11811          # is not enabled.
11812          # grains_cache_expiration: 300
11813
11814          # Windows platforms lack posix IPC and must rely on slower TCP based inter-
11815          # process communications. Set ipc_mode to 'tcp' on such systems
11816          #ipc_mode: ipc
11817
11818          # Overwrite the default tcp ports used by the minion when in tcp mode
11819          #tcp_pub_port: 4510
11820          #tcp_pull_port: 4511
11821
11822          # Passing very large events can cause the minion to consume large amounts of
11823          # memory. This value tunes the maximum size of a message allowed onto the
11824          # minion event bus. The value is expressed in bytes.
11825          #max_event_size: 1048576
11826
11827          # To detect failed master(s) and fire events on connect/disconnect, set
11828          # master_alive_interval to the number of seconds to poll the masters for
11829          # connection events.
11830          #
11831          #master_alive_interval: 30
11832
11833          # The minion can include configuration from other files. To enable this,
11834          # pass a list of paths to this option. The paths can be either relative or
11835          # absolute; if relative, they are considered to be relative to the directory
11836          # the main minion configuration file lives in (this file). Paths can make use
11837          # of shell-style globbing. If no files are matched by a path passed to this
11838          # option then the minion will log a warning message.
11839          #
11840          # Include a config file from some other path:
11841          # include: /etc/salt/extra_config
11842          #
11843          # Include config from several files and directories:
11844          #include:
11845          #  - /etc/salt/extra_config
11846          #  - /etc/roles/webserver
11847          #
11848          #
11849          #
11850          #####   Minion module management     #####
11851          ##########################################
11852          # Disable specific modules. This allows the admin to limit the level of
11853          # access the master has to the minion.
11854          #disable_modules: [cmd,test]
11855          #disable_returners: []
11856          #
11857          # Modules can be loaded from arbitrary paths. This enables the easy deployment
11858          # of third party modules. Modules for returners and minions can be loaded.
11859          # Specify a list of extra directories to search for minion modules and
11860          # returners. These paths must be fully qualified!
11861          #module_dirs: []
11862          #returner_dirs: []
11863          #states_dirs: []
11864          #render_dirs: []
11865          #utils_dirs: []
11866          #
11867          # A module provider can be statically overwritten or extended for the minion
11868          # via the providers option, in this case the default module will be
11869          # overwritten by the specified module. In this example the pkg module will
11870          # be provided by the yumpkg5 module instead of the system default.
11871          #providers:
11872          #  pkg: yumpkg5
11873          #
11874          # Enable Cython modules searching and loading. (Default: False)
11875          #cython_enable: False
11876          #
11877          # Specify a max size (in bytes) for modules on import. This feature is currently
11878          # only supported on *nix operating systems and requires psutil.
11879          # modules_max_memory: -1
11880
11881
11882          #####    State Management Settings    #####
11883          ###########################################
11884          # The default renderer to use in SLS files. This is configured as a
11885          # pipe-delimited expression. For example, jinja|yaml will first run jinja
11886          # templating on the SLS file, and then load the result as YAML. This syntax is
11887          # documented in further depth at the following URL:
11888          #
11889          # https://docs.saltstack.com/en/latest/ref/renderers/#composing-renderers
11890          #
11891          # NOTE: The "shebang" prefix (e.g. "#!jinja|yaml") described in the
11892          # documentation linked above is for use in an SLS file to override the default
11893          # renderer, it should not be used when configuring the renderer here.
11894          #
11895          #renderer: jinja|yaml
11896          #
11897          # The failhard option tells the minions to stop immediately after the first
11898          # failure detected in the state execution. Defaults to False.
11899          #failhard: False
11900          #
11901          # Reload the modules prior to a highstate run.
11902          #autoload_dynamic_modules: True
11903          #
11904          # clean_dynamic_modules keeps the dynamic modules on the minion in sync with
11905          # the dynamic modules on the master, this means that if a dynamic module is
11906          # not on the master it will be deleted from the minion. By default, this is
11907          # enabled and can be disabled by changing this value to False.
11908          #clean_dynamic_modules: True
11909          #
11910          # Normally, the minion is not isolated to any single environment on the master
11911          # when running states, but the environment can be isolated on the minion side
11912          # by statically setting it. Remember that the recommended way to manage
11913          # environments is to isolate via the top file.
11914          #environment: None
11915          #
11916          # If using the local file directory, then the state top file name needs to be
11917          # defined, by default this is top.sls.
11918          #state_top: top.sls
11919          #
11920          # Run states when the minion daemon starts. To enable, set startup_states to:
11921          # 'highstate' -- Execute state.highstate
11922          # 'sls' -- Read in the sls_list option and execute the named sls files
11923          # 'top' -- Read top_file option and execute based on that file on the Master
11924          #startup_states: ''
11925          #
11926          # List of states to run when the minion starts up if startup_states is 'sls':
11927          #sls_list:
11928          #  - edit.vim
11929          #  - hyper
11930          #
11931          # Top file to execute if startup_states is 'top':
11932          #top_file: ''
11933
11934          # Automatically aggregate all states that have support for mod_aggregate by
11935          # setting to True. Or pass a list of state module names to automatically
11936          # aggregate just those types.
11937          #
11938          # state_aggregate:
11939          #   - pkg
11940          #
11941          #state_aggregate: False
11942
11943          #####     File Directory Settings    #####
11944          ##########################################
11945          # The Salt Minion can redirect all file server operations to a local directory,
11946          # this allows for the same state tree that is on the master to be used if
11947          # copied completely onto the minion. This is a literal copy of the settings on
11948          # the master but used to reference a local directory on the minion.
11949
11950          # Set the file client. The client defaults to looking on the master server for
11951          # files, but can be directed to look at the local file directory setting
11952          # defined below by setting it to "local". Setting a local file_client runs the
11953          # minion in masterless mode.
11954          #file_client: remote
11955
11956          # The file directory works on environments passed to the minion, each environment
11957          # can have multiple root directories, the subdirectories in the multiple file
11958          # roots cannot match, otherwise the downloaded files will not be able to be
11959          # reliably ensured. A base environment is required to house the top file.
11960          # Example:
11961          # file_roots:
11962          #   base:
11963          #     - /srv/salt/
11964          #   dev:
11965          #     - /srv/salt/dev/services
11966          #     - /srv/salt/dev/states
11967          #   prod:
11968          #     - /srv/salt/prod/services
11969          #     - /srv/salt/prod/states
11970          #
11971          #file_roots:
11972          #  base:
11973          #    - /srv/salt
11974
11975          # By default, the Salt fileserver recurses fully into all defined environments
11976          # to attempt to find files. To limit this behavior so that the fileserver only
11977          # traverses directories with SLS files and special Salt directories like _modules,
11978          # enable the option below. This might be useful for installations where a file root
11979          # has a very large number of files and performance is negatively impacted. Default
11980          # is False.
11981          #fileserver_limit_traversal: False
11982
11983          # The hash_type is the hash to use when discovering the hash of a file in
11984          # the local fileserver. The default is sha256 but sha224, sha384 and sha512
11985          # are also supported.
11986          #
11987          # WARNING: While md5 and sha1 are also supported, do not use it due to the high chance
11988          # of possible collisions and thus security breach.
11989          #
11990          # WARNING: While md5 is also supported, do not use it due to the high chance
11991          # of possible collisions and thus security breach.
11992          #
11993          # Warning: Prior to changing this value, the minion should be stopped and all
11994          # Salt caches should be cleared.
11995          #hash_type: sha256
11996
11997          # The Salt pillar is searched for locally if file_client is set to local. If
11998          # this is the case, and pillar data is defined, then the pillar_roots need to
11999          # also be configured on the minion:
12000          #pillar_roots:
12001          #  base:
12002          #    - /srv/pillar
12003          #
12004          #
12005          ######        Security settings       #####
12006          ###########################################
12007          # Enable "open mode", this mode still maintains encryption, but turns off
12008          # authentication, this is only intended for highly secure environments or for
12009          # the situation where your keys end up in a bad state. If you run in open mode
12010          # you do so at your own risk!
12011          #open_mode: False
12012
12013          # Enable permissive access to the salt keys.  This allows you to run the
12014          # master or minion as root, but have a non-root group be given access to
12015          # your pki_dir.  To make the access explicit, root must belong to the group
12016          # you've given access to. This is potentially quite insecure.
12017          #permissive_pki_access: False
12018
12019          # The state_verbose and state_output settings can be used to change the way
12020          # state system data is printed to the display. By default all data is printed.
12021          # The state_verbose setting can be set to True or False, when set to False
12022          # all data that has a result of True and no changes will be suppressed.
12023          #state_verbose: True
12024
12025          # The state_output setting controls which results will be output full multi line
12026          # full, terse - each state will be full/terse
12027          # mixed - only states with errors will be full
12028          # changes - states with changes and errors will be full
12029          # full_id, mixed_id, changes_id and terse_id are also allowed;
12030          # when set, the state ID will be used as name in the output
12031          #state_output: full
12032
12033          # The state_output_diff setting changes whether or not the output from
12034          # successful states is returned. Useful when even the terse output of these
12035          # states is cluttering the logs. Set it to True to ignore them.
12036          #state_output_diff: False
12037
12038          # The state_output_profile setting changes whether profile information
12039          # will be shown for each state run.
12040          #state_output_profile: True
12041
12042          # Fingerprint of the master public key to validate the identity of your Salt master
12043          # before the initial key exchange. The master fingerprint can be found by running
12044          # "salt-key -F master" on the Salt master.
12045          #master_finger: ''
12046
12047
12048          ######         Thread settings        #####
12049          ###########################################
12050          # Disable multiprocessing support, by default when a minion receives a
12051          # publication a new process is spawned and the command is executed therein.
12052          #multiprocessing: True
12053
12054
12055          #####         Logging settings       #####
12056          ##########################################
12057          # The location of the minion log file
12058          # The minion log can be sent to a regular file, local path name, or network
12059          # location. Remote logging works best when configured to use rsyslogd(8) (e.g.:
12060          # ``file:///dev/log``), with rsyslogd(8) configured for network logging. The URI
12061          # format is: <file|udp|tcp>://<host|socketpath>:<port-if-required>/<log-facility>
12062          #log_file: /var/log/salt/minion
12063          #log_file: file:///dev/log
12064          #log_file: udp://loghost:10514
12065          #
12066          #log_file: /var/log/salt/minion
12067          #key_logfile: /var/log/salt/key
12068
12069          # The level of messages to send to the console.
12070          # One of 'garbage', 'trace', 'debug', 'info', 'warning', 'error', 'critical'.
12071          #
12072          # The following log levels are considered INSECURE and may log sensitive data:
12073          # ['garbage', 'trace', 'debug']
12074          #
12075          # Default: 'warning'
12076          #log_level: warning
12077
12078          # The level of messages to send to the log file.
12079          # One of 'garbage', 'trace', 'debug', info', 'warning', 'error', 'critical'.
12080          # If using 'log_granular_levels' this must be set to the highest desired level.
12081          # Default: 'warning'
12082          #log_level_logfile:
12083
12084          # The date and time format used in log messages. Allowed date/time formatting
12085          # can be seen here: http://docs.python.org/library/time.html#time.strftime
12086          #log_datefmt: '%H:%M:%S'
12087          #log_datefmt_logfile: '%Y-%m-%d %H:%M:%S'
12088
12089          # The format of the console logging messages. Allowed formatting options can
12090          # be seen here: http://docs.python.org/library/logging.html#logrecord-attributes
12091          #
12092          # Console log colors are specified by these additional formatters:
12093          #
12094          # %(colorlevel)s
12095          # %(colorname)s
12096          # %(colorprocess)s
12097          # %(colormsg)s
12098          #
12099          # Since it is desirable to include the surrounding brackets, '[' and ']', in
12100          # the coloring of the messages, these color formatters also include padding as
12101          # well.  Color LogRecord attributes are only available for console logging.
12102          #
12103          #log_fmt_console: '%(colorlevel)s %(colormsg)s'
12104          #log_fmt_console: '[%(levelname)-8s] %(message)s'
12105          #
12106          #log_fmt_logfile: '%(asctime)s,%(msecs)03d [%(name)-17s][%(levelname)-8s] %(message)s'
12107
12108          # This can be used to control logging levels more specificically.  This
12109          # example sets the main salt library at the 'warning' level, but sets
12110          # 'salt.modules' to log at the 'debug' level:
12111          #   log_granular_levels:
12112          #     'salt': 'warning'
12113          #     'salt.modules': 'debug'
12114          #
12115          #log_granular_levels: {}
12116
12117          # To diagnose issues with minions disconnecting or missing returns, ZeroMQ
12118          # supports the use of monitor sockets # to log connection events. This
12119          # feature requires ZeroMQ 4.0 or higher.
12120          #
12121          # To enable ZeroMQ monitor sockets, set 'zmq_monitor' to 'True' and log at a
12122          # debug level or higher.
12123          #
12124          # A sample log event is as follows:
12125          #
12126          # [DEBUG   ] ZeroMQ event: {'endpoint': 'tcp://127.0.0.1:4505', 'event': 512,
12127          # 'value': 27, 'description': 'EVENT_DISCONNECTED'}
12128          #
12129          # All events logged will include the string 'ZeroMQ event'. A connection event
12130          # should be logged on the as the minion starts up and initially connects to the
12131          # master. If not, check for debug log level and that the necessary version of
12132          # ZeroMQ is installed.
12133          #
12134          #zmq_monitor: False
12135
12136          ######      Module configuration      #####
12137          ###########################################
12138          # Salt allows for modules to be passed arbitrary configuration data, any data
12139          # passed here in valid yaml format will be passed on to the salt minion modules
12140          # for use. It is STRONGLY recommended that a naming convention be used in which
12141          # the module name is followed by a . and then the value. Also, all top level
12142          # data must be applied via the yaml dict construct, some examples:
12143          #
12144          # You can specify that all modules should run in test mode:
12145          #test: True
12146          #
12147          # A simple value for the test module:
12148          #test.foo: foo
12149          #
12150          # A list for the test module:
12151          #test.bar: [baz,quo]
12152          #
12153          # A dict for the test module:
12154          #test.baz: {spam: sausage, cheese: bread}
12155          #
12156          #
12157          ######      Update settings          ######
12158          ###########################################
12159          # Using the features in Esky, a salt minion can both run as a frozen app and
12160          # be updated on the fly. These options control how the update process
12161          # (saltutil.update()) behaves.
12162          #
12163          # The url for finding and downloading updates. Disabled by default.
12164          #update_url: False
12165          #
12166          # The list of services to restart after a successful update. Empty by default.
12167          #update_restart_services: []
12168
12169
12170          ######      Keepalive settings        ######
12171          ############################################
12172          # ZeroMQ now includes support for configuring SO_KEEPALIVE if supported by
12173          # the OS. If connections between the minion and the master pass through
12174          # a state tracking device such as a firewall or VPN gateway, there is
12175          # the risk that it could tear down the connection the master and minion
12176          # without informing either party that their connection has been taken away.
12177          # Enabling TCP Keepalives prevents this from happening.
12178
12179          # Overall state of TCP Keepalives, enable (1 or True), disable (0 or False)
12180          # or leave to the OS defaults (-1), on Linux, typically disabled. Default True, enabled.
12181          #tcp_keepalive: True
12182
12183          # How long before the first keepalive should be sent in seconds. Default 300
12184          # to send the first keepalive after 5 minutes, OS default (-1) is typically 7200 seconds
12185          # on Linux see /proc/sys/net/ipv4/tcp_keepalive_time.
12186          #tcp_keepalive_idle: 300
12187
12188          # How many lost probes are needed to consider the connection lost. Default -1
12189          # to use OS defaults, typically 9 on Linux, see /proc/sys/net/ipv4/tcp_keepalive_probes.
12190          #tcp_keepalive_cnt: -1
12191
12192          # How often, in seconds, to send keepalives after the first one. Default -1 to
12193          # use OS defaults, typically 75 seconds on Linux, see
12194          # /proc/sys/net/ipv4/tcp_keepalive_intvl.
12195          #tcp_keepalive_intvl: -1
12196
12197
12198          ######   Windows Software settings    ######
12199          ############################################
12200          # Location of the repository cache file on the master:
12201          #win_repo_cachefile: 'salt://win/repo/winrepo.p'
12202
12203
12204          ######      Returner  settings        ######
12205          ############################################
12206          # Which returner(s) will be used for minion's result:
12207          #return: mysql
12208
12209
12210   Minion Blackout Configuration
12211       New in version 2016.3.0.
12212
12213
12214       Salt supports minion blackouts. When a minion is in blackout mode,  all
12215       remote  execution commands are disabled. This allows production minions
12216       to be put "on hold", eliminating the risk of an untimely  configuration
12217       change.
12218
12219       Minion blackouts are configured via a special pillar key, minion_black‐
12220       out.  If this key is set to True,  then  the  minion  will  reject  all
12221       incoming  commands,  except for saltutil.refresh_pillar. (The exception
12222       is important, so minions can be brought out of blackout mode)
12223
12224       Salt also supports an explicit whitelist of additional  functions  that
12225       will  be  allowed  during blackout. This is configured with the special
12226       pillar key minion_blackout_whitelist, which is formed as a list:
12227
12228          minion_blackout_whitelist:
12229            - test.ping
12230            - pillar.get
12231
12232   Access Control System
12233       New in version 0.10.4.
12234
12235
12236       Salt maintains a standard system used to open granular control  to  non
12237       administrative  users to execute Salt commands. The access control sys‐
12238       tem has been applied to all systems used to  configure  access  to  non
12239       administrative control interfaces in Salt.
12240
12241       These interfaces include, the peer system, the external auth system and
12242       the publisher acl system.
12243
12244       The access control system mandated a standard configuration syntax used
12245       in all of the three aforementioned systems. While this adds functional‐
12246       ity to the configuration in 0.10.4, it does not negate the old configu‐
12247       ration.
12248
12249       Now  specific  functions can be opened up to specific minions from spe‐
12250       cific users in the case of external auth and publisher  ACLs,  and  for
12251       specific minions in the case of the peer system.
12252
12253   Publisher ACL system
12254       The  salt  publisher  ACL system is a means to allow system users other
12255       than root to have access to execute select  salt  commands  on  minions
12256       from the master.
12257
12258       The publisher ACL system is configured in the master configuration file
12259       via the publisher_acl configuration  option.  Under  the  publisher_acl
12260       configuration  option the users open to send commands are specified and
12261       then a list of the minion functions which will  be  made  available  to
12262       specified  user.   Both users and functions could be specified by exact
12263       match, shell glob or regular expression.  This  configuration  is  much
12264       like the external_auth configuration:
12265
12266          publisher_acl:
12267            # Allow thatch to execute anything.
12268            thatch:
12269              - .*
12270            # Allow fred to use test and pkg, but only on "web*" minions.
12271            fred:
12272              - web*:
12273                - test.*
12274                - pkg.*
12275            # Allow admin and managers to use saltutil module functions
12276            admin|manager_.*:
12277              - saltutil.*
12278            # Allow users to use only my_mod functions on "web*" minions with specific arguments.
12279            user_.*:
12280              - web*:
12281                - 'my_mod.*':
12282                    args:
12283                      - 'a.*'
12284                      - 'b.*'
12285                    kwargs:
12286                      'kwa': 'kwa.*'
12287                      'kwb': 'kwb'
12288
12289   Permission Issues
12290       Directories  required for publisher_acl must be modified to be readable
12291       by the users specified:
12292
12293          chmod 755 /var/cache/salt /var/cache/salt/master /var/cache/salt/master/jobs /var/run/salt /var/run/salt/master
12294
12295       NOTE:
12296          In addition to the changes above you will also need  to  modify  the
12297          permissions  of  /var/log/salt  and  the  existing  log  file  to be
12298          writable by the user(s) which will be running the commands.  If  you
12299          do  not  wish  to do this then you must disable logging or Salt will
12300          generate errors as it cannot write to the logs as the system users.
12301
12302       If you are upgrading from earlier versions of salt you must also remove
12303       any existing user keys and re-start the Salt master:
12304
12305          rm /var/cache/salt/.*key
12306          service salt-master restart
12307
12308   Whitelist and Blacklist
12309       Salt's  authentication  systems can be configured by specifying what is
12310       allowed using a whitelist, or by specifying what is disallowed using  a
12311       blacklist.  If  you  specify a whitelist, only specified operations are
12312       allowed. If you specify a blacklist, all operations are allowed  except
12313       those that are blacklisted.
12314
12315       See publisher_acl and publisher_acl_blacklist.
12316
12317   External Authentication System
12318       Salt's  External  Authentication System (eAuth) allows for Salt to pass
12319       through command authorization to any  external  authentication  system,
12320       such as PAM or LDAP.
12321
12322       NOTE:
12323          eAuth  using the PAM external auth system requires salt-master to be
12324          run as root as this system needs root access  to  check  authentica‐
12325          tion.
12326
12327   External Authentication System Configuration
12328       The  external  authentication  system  allows  for specific users to be
12329       granted access to  execute  specific  functions  on  specific  minions.
12330       Access  is  configured  in  the  master configuration file and uses the
12331       access control system:
12332
12333          external_auth:
12334            pam:
12335              thatch:
12336                - 'web*':
12337                  - test.*
12338                  - network.*
12339              steve|admin.*:
12340                - .*
12341
12342       The above configuration allows the user thatch to execute functions  in
12343       the test and network modules on the minions that match the web* target.
12344       User steve and the users whose logins start  with  admin,  are  granted
12345       unrestricted access to minion commands.
12346
12347       Salt  respects  the  current  PAM  configuration in place, and uses the
12348       'login' service to authenticate.
12349
12350       NOTE:
12351          The PAM module does not allow authenticating as root.
12352
12353       NOTE:
12354          state.sls and state.highstate will return "Failed to  authenticate!"
12355          if  the  request  timeout  is  reached.  Use -t flag to increase the
12356          timeout
12357
12358       To allow access to wheel modules or runner modules the following @ syn‐
12359       tax must be used:
12360
12361          external_auth:
12362            pam:
12363              thatch:
12364                - '@wheel'   # to allow access to all wheel modules
12365                - '@runner'  # to allow access to all runner modules
12366                - '@jobs'    # to allow access to the jobs runner and/or wheel module
12367
12368       NOTE:
12369          The  runner/wheel markup is different, since there are no minions to
12370          scope the acl to.
12371
12372       NOTE:
12373          Globs will not match wheel  or  runners!  They  must  be  explicitly
12374          allowed with @wheel or @runner.
12375
12376       WARNING:
12377          All  users  that have external authentication privileges are allowed
12378          to run saltutil.findjob. Be  aware  that  this  could  inadvertently
12379          expose some data such as minion IDs.
12380
12381   Matching syntax
12382       The  structure  of  the external_auth dictionary can take the following
12383       shapes. User and function matches are exact matches,  shell  glob  pat‐
12384       terns or regular expressions; minion matches are compound targets.
12385
12386       By user:
12387
12388          external_auth:
12389            <eauth backend>:
12390              <user or group%>:
12391                - <regex to match function>
12392
12393       By user, by minion:
12394
12395          external_auth:
12396            <eauth backend>:
12397              <user or group%>:
12398                <minion compound target>:
12399                  - <regex to match function>
12400
12401       By user, by runner/wheel:
12402
12403          external_auth:
12404            <eauth backend>:
12405              <user or group%>:
12406                <@runner or @wheel>:
12407                  - <regex to match function>
12408
12409       By user, by runner+wheel module:
12410
12411          external_auth:
12412            <eauth backend>:
12413              <user or group%>:
12414                <@module_name>:
12415                  - <regex to match function without module_name>
12416
12417   Groups
12418       To  apply permissions to a group of users in an external authentication
12419       system, append a % to the ID:
12420
12421          external_auth:
12422            pam:
12423              admins%:
12424                - '*':
12425                  - 'pkg.*'
12426
12427   Limiting by function arguments
12428       Positional arguments or keyword arguments  to  functions  can  also  be
12429       whitelisted.
12430
12431       New in version 2016.3.0.
12432
12433
12434          external_auth:
12435            pam:
12436              my_user:
12437                - '*':
12438                  - 'my_mod.*':
12439                      args:
12440                        - 'a.*'
12441                        - 'b.*'
12442                      kwargs:
12443                        'kwa': 'kwa.*'
12444                        'kwb': 'kwb'
12445                - '@runner':
12446                  - 'runner_mod.*':
12447                      args:
12448                      - 'a.*'
12449                      - 'b.*'
12450                      kwargs:
12451                        'kwa': 'kwa.*'
12452                        'kwb': 'kwb'
12453
12454       The rules:
12455
12456       1. The arguments values are matched as regexp.
12457
12458       2. If  arguments  restrictions  are  specified  the  only  matched  are
12459          allowed.
12460
12461       3. If an argument isn't specified any value is allowed.
12462
12463       4. To skip an arg use "everything" regexp .*. I.e.  if  arg0  and  arg2
12464          should  be limited but arg1 and other arguments could have any value
12465          use:
12466
12467             args:
12468               - 'value0'
12469               - '.*'
12470               - 'value2'
12471
12472   Usage
12473       The external authentication system can  then  be  used  from  the  com‐
12474       mand-line  by  any  user  on  the same system as the master with the -a
12475       option:
12476
12477          $ salt -a pam web\* test.ping
12478
12479       The system will ask the  user  for  the  credentials  required  by  the
12480       authentication system and then publish the command.
12481
12482   Tokens
12483       With external authentication alone, the authentication credentials will
12484       be required with every call to Salt. This can be alleviated  with  Salt
12485       tokens.
12486
12487       Tokens  are short term authorizations and can be easily created by just
12488       adding a -T option when authenticating:
12489
12490          $ salt -T -a pam web\* test.ping
12491
12492       Now a token will be created that has an  expiration  of  12  hours  (by
12493       default).   This  token  is  stored  in  a file named salt_token in the
12494       active user's home directory.
12495
12496       Once the token is created, it is sent with  all  subsequent  communica‐
12497       tions.  User authentication does not need to be entered again until the
12498       token expires.
12499
12500       Token expiration time can be set in the Salt master config file.
12501
12502   LDAP and Active Directory
12503       NOTE:
12504          LDAP usage requires that you have installed python-ldap.
12505
12506       Salt supports both user and group authentication for LDAP  (and  Active
12507       Directory accessed via its LDAP interface)
12508
12509   OpenLDAP and similar systems
12510       LDAP configuration happens in the Salt master configuration file.
12511
12512       Server configuration values and their defaults:
12513
12514          # Server to auth against
12515          auth.ldap.server: localhost
12516
12517          # Port to connect via
12518          auth.ldap.port: 389
12519
12520          # Use TLS when connecting
12521          auth.ldap.tls: False
12522
12523          # Use STARTTLS when connecting
12524          auth.ldap.starttls: False
12525
12526          # LDAP scope level, almost always 2
12527          auth.ldap.scope: 2
12528
12529          # Server specified in URI format
12530          auth.ldap.uri: ''    # Overrides .ldap.server, .ldap.port, .ldap.tls above
12531
12532          # Verify server's TLS certificate
12533          auth.ldap.no_verify: False
12534
12535          # Bind to LDAP anonymously to determine group membership
12536          # Active Directory does not allow anonymous binds without special configuration
12537          # In addition, if auth.ldap.anonymous is True, empty bind passwords are not permitted.
12538          auth.ldap.anonymous: False
12539
12540          # FOR TESTING ONLY, this is a VERY insecure setting.
12541          # If this is True, the LDAP bind password will be ignored and
12542          # access will be determined by group membership alone with
12543          # the group memberships being retrieved via anonymous bind
12544          auth.ldap.auth_by_group_membership_only: False
12545
12546          # Require authenticating user to be part of this Organizational Unit
12547          # This can be blank if your LDAP schema does not use this kind of OU
12548          auth.ldap.groupou: 'Groups'
12549
12550          # Object Class for groups.  An LDAP search will be done to find all groups of this
12551          # class to which the authenticating user belongs.
12552          auth.ldap.groupclass: 'posixGroup'
12553
12554          # Unique ID attribute name for the user
12555          auth.ldap.accountattributename: 'memberUid'
12556
12557          # These are only for Active Directory
12558          auth.ldap.activedirectory: False
12559          auth.ldap.persontype: 'person'
12560
12561          auth.ldap.minion_stripdomains: []
12562
12563          # Redhat Identity Policy Audit
12564          auth.ldap.freeipa: False
12565
12566   Authenticating to the LDAP Server
12567       There are two phases to LDAP authentication.  First, Salt authenticates
12568       to search for a users' Distinguished Name and  group  membership.   The
12569       user  it  authenticates as in this phase is often a special LDAP system
12570       user with read-only access to the LDAP directory.  After Salt  searches
12571       the  directory  to  determine  the  actual  user's  DN  and  groups, it
12572       re-authenticates as the user running the Salt commands.
12573
12574       If you are already aware of the structure of your DNs  and  permissions
12575       in  your LDAP store are set such that users can look up their own group
12576       memberships, then the first and second users can be the same.  To  tell
12577       Salt  this is the case, omit the auth.ldap.bindpw parameter.  Note this
12578       is not the same thing as using an anonymous bind.   Most  LDAP  servers
12579       will   not   permit   anonymous   bind,  and  as  mentioned  above,  if
12580       auth.ldap.anonymous is False you cannot use an empty password.
12581
12582       You can template the binddn like this:
12583
12584          auth.ldap.basedn: dc=saltstack,dc=com
12585          auth.ldap.binddn: uid={{ username }},cn=users,cn=accounts,dc=saltstack,dc=com
12586
12587       Salt will use the password entered on the salt command line in place of
12588       the bindpw.
12589
12590       To  use  two separate users, specify the LDAP lookup user in the binddn
12591       directive, and include a bindpw like so
12592
12593          auth.ldap.binddn: uid=ldaplookup,cn=sysaccounts,cn=etc,dc=saltstack,dc=com
12594          auth.ldap.bindpw: mypassword
12595
12596       As mentioned before, Salt uses a filter to find the DN associated  with
12597       a user. Salt substitutes the {{ username }} value for the username when
12598       querying LDAP
12599
12600          auth.ldap.filter: uid={{ username }}
12601
12602   Determining Group Memberships (OpenLDAP / non-Active Directory)
12603       For OpenLDAP, to determine group membership, one can specify an OU that
12604       contains group data. This is prepended to the basedn to create a search
12605       path.  Then the  results  are  filtered  against  auth.ldap.groupclass,
12606       default  posixGroup,  and  the account's 'name' attribute, memberUid by
12607       default.
12608
12609          auth.ldap.groupou: Groups
12610
12611       Note that as of 2017.7, auth.ldap.groupclass  can  refer  to  either  a
12612       groupclass  or an objectClass.  For some LDAP servers (notably OpenLDAP
12613       without the memberOf overlay enabled) to determine group membership  we
12614       need  to  know both the objectClass and the memberUid attributes.  Usu‐
12615       ally for these servers you will want a auth.ldap.groupclass  of  posix‐
12616       Group and an auth.ldap.groupattribute of memberUid.
12617
12618       LDAP  servers  with  the  memberOf overlay will have entries similar to
12619       auth.ldap.groupclass: person and auth.ldap.groupattribute: memberOf.
12620
12621       When using the ldap('DC=domain,DC=com') eauth operator,  sometimes  the
12622       records  returned  from  LDAP  or Active Directory have fully-qualified
12623       domain names attached, while minion IDs instead are  simple  hostnames.
12624       The parameter below allows the administrator to strip off a certain set
12625       of domain names so the hostnames looked up in the directory service can
12626       match the minion IDs.
12627
12628          auth.ldap.minion_stripdomains: ['.external.bigcorp.com', '.internal.bigcorp.com']
12629
12630   Determining Group Memberships (Active Directory)
12631       Active  Directory  handles  group  membership differently, and does not
12632       utilize the groupou configuration variable.   AD  needs  the  following
12633       options in the master config:
12634
12635          auth.ldap.activedirectory: True
12636          auth.ldap.filter: sAMAccountName={{username}}
12637          auth.ldap.accountattributename: sAMAccountName
12638          auth.ldap.groupclass: group
12639          auth.ldap.persontype: person
12640
12641       To  determine group membership in AD, the username and password that is
12642       entered when LDAP is requested as the eAuth mechanism  on  the  command
12643       line  is  used  to  bind to AD's LDAP interface. If this fails, then it
12644       doesn't matter what groups the user belongs to, he  or  she  is  denied
12645       access.  Next,  the distinguishedName of the user is looked up with the
12646       following LDAP search:
12647
12648          (&(<value of auth.ldap.accountattributename>={{username}})
12649            (objectClass=<value of auth.ldap.persontype>)
12650          )
12651
12652       This should return a distinguishedName that we can use  to  filter  for
12653       group membership.  Then the following LDAP query is executed:
12654
12655          (&(member=<distinguishedName from search above>)
12656            (objectClass=<value of auth.ldap.groupclass>)
12657          )
12658
12659          external_auth:
12660            ldap:
12661              test_ldap_user:
12662                  - '*':
12663                      - test.ping
12664
12665       To configure a LDAP group, append a % to the ID:
12666
12667          external_auth:
12668            ldap:
12669              test_ldap_group%:
12670                - '*':
12671                  - test.echo
12672
12673       In  addition,  if there are a set of computers in the directory service
12674       that should be part of the eAuth definition, they can be specified like
12675       this:
12676
12677          external_auth:
12678            ldap:
12679              test_ldap_group%:
12680                - ldap('DC=corp,DC=example,DC=com'):
12681                  - test.echo
12682
12683       The  string inside ldap() above is any valid LDAP/AD tree limiter.  OU=
12684       in particular is permitted as long as it would return a  list  of  com‐
12685       puter objects.
12686
12687   Peer Communication
12688       Salt  0.9.0  introduced the capability for Salt minions to publish com‐
12689       mands. The intent of this feature is not for Salt  minions  to  act  as
12690       independent brokers one with another, but to allow Salt minions to pass
12691       commands to each other.
12692
12693       In Salt 0.10.0 the ability to  execute  runners  from  the  master  was
12694       added.  This  allows for the master to return collective data from run‐
12695       ners back to the minions via the peer interface.
12696
12697       The peer interface is configured through two options in the master con‐
12698       figuration  file. For minions to send commands from the master the peer
12699       configuration is used. To allow for minions to execute runners from the
12700       master the peer_run configuration is used.
12701
12702       Since  this  presents a viable security risk by allowing minions access
12703       to the master publisher the capability is turned off  by  default.  The
12704       minions  can  be allowed access to the master publisher on a per minion
12705       basis based on regular expressions. Minions with specific  ids  can  be
12706       allowed access to certain Salt modules and functions.
12707
12708   Peer Configuration
12709       The  configuration  is  done  under the peer setting in the Salt master
12710       configuration file, here are a number of configuration possibilities.
12711
12712       The simplest approach is to enable all communication for  all  minions,
12713       this is only recommended for very secure environments.
12714
12715          peer:
12716            .*:
12717              - .*
12718
12719       This  configuration  will  allow minions with IDs ending in example.com
12720       access to the test, ps, and pkg module functions.
12721
12722          peer:
12723            .*example.com:
12724              - test.*
12725              - ps.*
12726              - pkg.*
12727
12728       The configuration logic is simple, a regular expression is  passed  for
12729       matching  minion  ids,  and  then a list of expressions matching minion
12730       functions is associated with the named minion. For instance, this  con‐
12731       figuration  will  also  allow minions ending with foo.org access to the
12732       publisher.
12733
12734          peer:
12735            .*example.com:
12736              - test.*
12737              - ps.*
12738              - pkg.*
12739            .*foo.org:
12740              - test.*
12741              - ps.*
12742              - pkg.*
12743
12744       NOTE:
12745          Functions are matched using regular expressions.
12746
12747   Peer Runner Communication
12748       Configuration to allow minions to execute runners from  the  master  is
12749       done  via the peer_run option on the master. The peer_run configuration
12750       follows the same logic as the peer option. The only difference is  that
12751       access is granted to runner modules.
12752
12753       To open up access to all minions to all runners:
12754
12755          peer_run:
12756            .*:
12757              - .*
12758
12759       This  configuration  will  allow minions with IDs ending in example.com
12760       access to the manage and jobs runner functions.
12761
12762          peer_run:
12763            .*example.com:
12764              - manage.*
12765              - jobs.*
12766
12767       NOTE:
12768          Functions are matched using regular expressions.
12769
12770   Using Peer Communication
12771       The publish module was created to manage peer communication.  The  pub‐
12772       lish module comes with a number of functions to execute peer communica‐
12773       tion in different ways. Currently there are three functions in the pub‐
12774       lish  module.  These examples will show how to test the peer system via
12775       the salt-call command.
12776
12777       To execute test.ping on all minions:
12778
12779          # salt-call publish.publish \* test.ping
12780
12781       To execute the manage.up runner:
12782
12783          # salt-call publish.runner manage.up
12784
12785       To match minions using other matchers, use tgt_type:
12786
12787          # salt-call publish.publish 'webserv* and not G@os:Ubuntu' test.ping tgt_type='compound'
12788
12789       NOTE:
12790          In pre-2017.7.0 releases, use expr_form instead of tgt_type.
12791
12792   When to Use Each Authentication System
12793       publisher_acl is useful for allowing local system  users  to  run  Salt
12794       commands  without giving them root access. If you can log into the Salt
12795       master directly, then publisher_acl allows you to use Salt without root
12796       privileges. If the local system is configured to authenticate against a
12797       remote system, like LDAP or Active Directory, then  publisher_acl  will
12798       interact with the remote system transparently.
12799
12800       external_auth  is  useful  for  salt-api or for making your own scripts
12801       that use Salt's Python API. It can be used at  the  CLI  (with  the  -a
12802       flag)  but it is more cumbersome as there are more steps involved.  The
12803       only time it is useful at the CLI is when the local system is not  con‐
12804       figured  to authenticate against an external service but you still want
12805       Salt to authenticate against an external service.
12806
12807   Examples
12808       The access controls are manifested using matchers in  these  configura‐
12809       tions:
12810
12811          publisher_acl:
12812            fred:
12813              - web\*:
12814                - pkg.list_pkgs
12815                - test.*
12816                - apache.*
12817
12818       In  the  above  example,  fred is able to send commands only to minions
12819       which match the specified glob target. This can be expanded to  include
12820       other functions for other minions based on standard targets (all match‐
12821       ers are supported except the compound one).
12822
12823          external_auth:
12824            pam:
12825              dave:
12826                - test.ping
12827                - mongo\*:
12828                  - network.*
12829                - log\*:
12830                  - network.*
12831                  - pkg.*
12832                - 'G@os:RedHat':
12833                  - kmod.*
12834              steve:
12835                - .*
12836
12837       The above allows for all minions to be hit by test.ping  by  dave,  and
12838       adds  a  few  functions that dave can execute on other minions. It also
12839       allows steve unrestricted access to salt commands.
12840
12841       NOTE:
12842          Functions are matched using regular expressions.
12843
12844   Job Management
12845       New in version 0.9.7.
12846
12847
12848       Since Salt executes jobs running on many systems, Salt needs to be able
12849       to manage jobs running on many systems.
12850
12851   The Minion proc System
12852       Salt  Minions  maintain a proc directory in the Salt cachedir. The proc
12853       directory maintains files named after the executed job ID. These  files
12854       contain  the  information  about the current running jobs on the minion
12855       and allow for jobs to be looked up. This is located in the proc  direc‐
12856       tory  under  the  cachedir,  with  a  default configuration it is under
12857       /var/cache/salt/{master|minion}/proc.
12858
12859   Functions in the saltutil Module
12860       Salt 0.9.7 introduced a few new functions to the  saltutil  module  for
12861       managing jobs. These functions are:
12862
12863       1. running  Returns  the data of all running jobs that are found in the
12864          proc directory.
12865
12866       2. find_job Returns specific data about a certain job based on job id.
12867
12868       3. signal_job Allows for a given jid to be sent a signal.
12869
12870       4. term_job Sends a termination signal (SIGTERM,  15)  to  the  process
12871          controlling the specified job.
12872
12873       5. kill_job Sends a kill signal (SIGKILL, 9) to the process controlling
12874          the specified job.
12875
12876       These functions make up the core of the back end used to manage jobs at
12877       the minion level.
12878
12879   The jobs Runner
12880       A  convenience  runner front end and reporting system has been added as
12881       well.  The jobs runner contains functions to make viewing  data  easier
12882       and cleaner.
12883
12884       The jobs runner contains a number of functions...
12885
12886   active
12887       The  active  function  runs saltutil.running on all minions and formats
12888       the return data about all running jobs in a much more usable  and  com‐
12889       pact  format.   The  active  function  will also compare jobs that have
12890       returned and jobs that are still running, making it easier to see  what
12891       systems  have  completed  a job and what systems are still being waited
12892       on.
12893
12894          # salt-run jobs.active
12895
12896   lookup_jid
12897       When jobs are executed the return data is sent back to the  master  and
12898       cached.   By default it is cached for 24 hours, but this can be config‐
12899       ured via the keep_jobs option in the master configuration.   Using  the
12900       lookup_jid  runner  will  display the same return data that the initial
12901       job invocation with the salt command would display.
12902
12903          # salt-run jobs.lookup_jid <job id number>
12904
12905   list_jobs
12906       Before finding a historic job, it may be required to find the  job  id.
12907       list_jobs  will  parse the cached execution data and display all of the
12908       job data for jobs that have already, or partially returned.
12909
12910          # salt-run jobs.list_jobs
12911
12912   Scheduling Jobs
12913       Salt's scheduling system allows incremental executions  on  minions  or
12914       the  master. The schedule system exposes the execution of any execution
12915       function on minions or any runner on the master.
12916
12917       Scheduling can be enabled by multiple methods:
12918
12919       · schedule option in either the master or minion config  files.   These
12920         require the master or minion application to be restarted in order for
12921         the schedule to be implemented.
12922
12923       · Minion pillar data.  Schedule is implemented by refreshing  the  min‐
12924         ion's pillar data, for example by using saltutil.refresh_pillar.
12925
12926       · The schedule state or schedule module
12927
12928       NOTE:
12929          The  scheduler  executes  different functions on the master and min‐
12930          ions. When running on the  master  the  functions  reference  runner
12931          functions,  when  running on the minion the functions specify execu‐
12932          tion functions.
12933
12934       A scheduled run has no output on the minion unless the config is set to
12935       info level or higher. Refer to minion-logging-settings.
12936
12937       States  are  executed  on  the  minion, as all states are. You can pass
12938       positional arguments and provide a YAML dict of named arguments.
12939
12940          schedule:
12941            job1:
12942              function: state.sls
12943              seconds: 3600
12944              args:
12945                - httpd
12946              kwargs:
12947                test: True
12948
12949       This will schedule the command: state.sls httpd  test=True  every  3600
12950       seconds (every hour).
12951
12952          schedule:
12953            job1:
12954              function: state.sls
12955              seconds: 3600
12956              args:
12957                - httpd
12958              kwargs:
12959                test: True
12960              splay: 15
12961
12962       This  will  schedule  the command: state.sls httpd test=True every 3600
12963       seconds (every hour) splaying the time between 0 and 15 seconds.
12964
12965          schedule:
12966            job1:
12967              function: state.sls
12968              seconds: 3600
12969              args:
12970                - httpd
12971              kwargs:
12972                test: True
12973              splay:
12974                start: 10
12975                end: 15
12976
12977       This will schedule the command: state.sls httpd  test=True  every  3600
12978       seconds (every hour) splaying the time between 10 and 15 seconds.
12979
12980   Schedule by Date and Time
12981       New in version 2014.7.0.
12982
12983
12984       Frequency of jobs can also be specified using date strings supported by
12985       the Python dateutil library. This requires the Python dateutil  library
12986       to be installed.
12987
12988          schedule:
12989            job1:
12990              function: state.sls
12991              args:
12992                - httpd
12993              kwargs:
12994                test: True
12995              when: 5:00pm
12996
12997       This  will  schedule  the command: state.sls httpd test=True at 5:00 PM
12998       minion localtime.
12999
13000          schedule:
13001            job1:
13002              function: state.sls
13003              args:
13004                - httpd
13005              kwargs:
13006                test: True
13007              when:
13008                - Monday 5:00pm
13009                - Tuesday 3:00pm
13010                - Wednesday 5:00pm
13011                - Thursday 3:00pm
13012                - Friday 5:00pm
13013
13014       This will schedule the command: state.sls httpd test=True at 5:00 PM on
13015       Monday, Wednesday and Friday, and 3:00 PM on Tuesday and Thursday.
13016
13017          schedule:
13018            job1:
13019              function: state.sls
13020              args:
13021                - httpd
13022              kwargs:
13023                test: True
13024              when:
13025                - 'tea time'
13026
13027          whens:
13028            tea time: 1:40pm
13029            deployment time: Friday 5:00pm
13030
13031       The  Salt  scheduler also allows custom phrases to be used for the when
13032       parameter.  These whens can be stored as either pillar values or  grain
13033       values.
13034
13035          schedule:
13036            job1:
13037              function: state.sls
13038              seconds: 3600
13039              args:
13040                - httpd
13041              kwargs:
13042                test: True
13043              range:
13044                start: 8:00am
13045                end: 5:00pm
13046
13047       This  will  schedule  the command: state.sls httpd test=True every 3600
13048       seconds (every hour) between the hours of 8:00  AM  and  5:00  PM.  The
13049       range  parameter  must  be a dictionary with the date strings using the
13050       dateutil format.
13051
13052          schedule:
13053            job1:
13054              function: state.sls
13055              seconds: 3600
13056              args:
13057                - httpd
13058              kwargs:
13059                test: True
13060              range:
13061                invert: True
13062                start: 8:00am
13063                end: 5:00pm
13064
13065       Using the invert option for  range,  this  will  schedule  the  command
13066       state.sls  httpd  test=True  every  3600 seconds (every hour) until the
13067       current time is between the hours of 8:00 AM and  5:00  PM.  The  range
13068       parameter must be a dictionary with the date strings using the dateutil
13069       format.
13070
13071          schedule:
13072            job1:
13073              function: pkg.install
13074              kwargs:
13075                pkgs: [{'bar': '>1.2.3'}]
13076                refresh: true
13077              once: '2016-01-07T14:30:00'
13078
13079       This will schedule the function pkg.install to be executed once at  the
13080       specified  time.  The schedule entry job1 will not be removed after the
13081       job completes, therefore use  schedule.delete  to  manually  remove  it
13082       afterwards.
13083
13084       The default date format is ISO 8601 but can be overridden by also spec‐
13085       ifying the once_fmt option, like this:
13086
13087          schedule:
13088            job1:
13089              function: test.ping
13090              once: 2015-04-22T20:21:00
13091              once_fmt: '%Y-%m-%dT%H:%M:%S'
13092
13093   Maximum Parallel Jobs Running
13094       New in version 2014.7.0.
13095
13096
13097       The scheduler also supports ensuring that there  are  no  more  than  N
13098       copies  of  a particular routine running. Use this for jobs that may be
13099       long-running and could step on each other or pile up in case of  infra‐
13100       structure outage.
13101
13102       The default for maxrunning is 1.
13103
13104          schedule:
13105            long_running_job:
13106              function: big_file_transfer
13107              jid_include: True
13108              maxrunning: 1
13109
13110   Cron-like Schedule
13111       New in version 2014.7.0.
13112
13113
13114          schedule:
13115            job1:
13116              function: state.sls
13117              cron: '*/15 * * * *'
13118              args:
13119                - httpd
13120              kwargs:
13121                test: True
13122
13123       The  scheduler  also supports scheduling jobs using a cron like format.
13124       This requires the Python croniter library.
13125
13126   Job Data Return
13127       New in version 2015.5.0.
13128
13129
13130       By default, data about jobs runs from the Salt scheduler is returned to
13131       the  master. Setting the return_job parameter to False will prevent the
13132       data from being sent back to the Salt master.
13133
13134          schedule:
13135            job1:
13136              function: scheduled_job_function
13137              return_job: False
13138
13139   Job Metadata
13140       New in version 2015.5.0.
13141
13142
13143       It can be useful to include specific data to differentiate a  job  from
13144       other  jobs. Using the metadata parameter special values can be associ‐
13145       ated with a scheduled job. These values are not used in  the  execution
13146       of  the  job, but can be used to search for specific jobs later if com‐
13147       bined with the return_job parameter. The  metadata  parameter  must  be
13148       specified as a dictionary, othewise it will be ignored.
13149
13150          schedule:
13151            job1:
13152              function: scheduled_job_function
13153              metadata:
13154                foo: bar
13155
13156   Run on Start
13157       New in version 2015.5.0.
13158
13159
13160       By  default,  any job scheduled based on the startup time of the minion
13161       will run the scheduled job when the minion starts up. Sometimes this is
13162       not  the  desired  situation.  Using  the run_on_start parameter set to
13163       False will cause the scheduler to skip this first run  and  wait  until
13164       the next scheduled run:
13165
13166          schedule:
13167            job1:
13168              function: state.sls
13169              seconds: 3600
13170              run_on_start: False
13171              args:
13172                - httpd
13173              kwargs:
13174                test: True
13175
13176   Until and After
13177       New in version 2015.8.0.
13178
13179
13180          schedule:
13181            job1:
13182              function: state.sls
13183              seconds: 15
13184              until: '12/31/2015 11:59pm'
13185              args:
13186                - httpd
13187              kwargs:
13188                test: True
13189
13190       Using  the  until argument, the Salt scheduler allows you to specify an
13191       end time for a scheduled job. If this argument is specified, jobs  will
13192       not run once the specified time has passed. Time should be specified in
13193       a format supported by the dateutil library.  This requires  the  Python
13194       dateutil library to be installed.
13195
13196       New in version 2015.8.0.
13197
13198
13199          schedule:
13200            job1:
13201              function: state.sls
13202              seconds: 15
13203              after: '12/31/2015 11:59pm'
13204              args:
13205                - httpd
13206              kwargs:
13207                test: True
13208
13209       Using  the  after argument, the Salt scheduler allows you to specify an
13210       start time for a scheduled job.  If this argument  is  specified,  jobs
13211       will not run until the specified time has passed. Time should be speci‐
13212       fied in a format supported by the dateutil library.  This requires  the
13213       Python dateutil library to be installed.
13214
13215   Scheduling States
13216          schedule:
13217            log-loadavg:
13218              function: cmd.run
13219              seconds: 3660
13220              args:
13221                - 'logger -t salt < /proc/loadavg'
13222              kwargs:
13223                stateful: False
13224                shell: /bin/sh
13225
13226   Scheduling Highstates
13227       To  set  up a highstate to run on a minion every 60 minutes set this in
13228       the minion config or pillar:
13229
13230          schedule:
13231            highstate:
13232              function: state.highstate
13233              minutes: 60
13234
13235       Time intervals can be specified as seconds, minutes, hours, or days.
13236
13237   Scheduling Runners
13238       Runner executions can also be specified on the master within the master
13239       configuration file:
13240
13241          schedule:
13242            run_my_orch:
13243              function: state.orchestrate
13244              hours: 6
13245              splay: 600
13246              args:
13247                - orchestration.my_orch
13248
13249       The  above  configuration  is  analogous to running salt-run state.orch
13250       orchestration.my_orch every 6 hours.
13251
13252   Scheduler With Returner
13253       The scheduler is also useful for tasks like gathering  monitoring  data
13254       about  a  minion, this schedule option will gather status data and send
13255       it to a MySQL returner database:
13256
13257          schedule:
13258            uptime:
13259              function: status.uptime
13260              seconds: 60
13261              returner: mysql
13262            meminfo:
13263              function: status.meminfo
13264              minutes: 5
13265              returner: mysql
13266
13267       Since specifying the returner repeatedly can be  tiresome,  the  sched‐
13268       ule_returner  option  is  available  to specify one or a list of global
13269       returners to be used by the minions when scheduling.
13270
13271   Managing the Job Cache
13272       The Salt Master maintains a job cache of all job executions  which  can
13273       be  queried  via  the jobs runner. This job cache is called the Default
13274       Job Cache.
13275
13276   Default Job Cache
13277       A number of options are available when configuring the job  cache.  The
13278       default caching system uses local storage on the Salt Master and can be
13279       found in the job cache directory (on Linux systems  this  is  typically
13280       /var/cache/salt/master/jobs).  The  default  caching system is suitable
13281       for most deployments as it does not typically require any further  con‐
13282       figuration or management.
13283
13284       The  default job cache is a temporary cache and jobs will be stored for
13285       24 hours. If the default cache needs to  store  jobs  for  a  different
13286       period the time can be easily adjusted by changing the keep_jobs param‐
13287       eter in the Salt Master configuration file. The value passed in is mea‐
13288       sured via hours:
13289
13290          keep_jobs: 24
13291
13292   Reducing the Size of the Default Job Cache
13293       The  Default  Job Cache can sometimes be a burden on larger deployments
13294       (over 5000 minions). Disabling the job cache will make previously  exe‐
13295       cuted  jobs  unavailable to the jobs system and is not generally recom‐
13296       mended. Normally it is wise to make sure the master  has  access  to  a
13297       faster IO system or a tmpfs is mounted to the jobs dir.
13298
13299       However,  you  can  disable the job_cache by setting it to False in the
13300       Salt Master configuration file. Setting this value to False means  that
13301       the  Salt  Master will no longer cache minion returns, but a JID direc‐
13302       tory and jid file for each job will still be created. This  JID  direc‐
13303       tory is necessary for checking for and preventing JID collisions.
13304
13305       The  default  location for the job cache is in the /var/cache/salt/mas‐
13306       ter/jobs/ directory.
13307
13308       Setting the job_cache to False in addition  to  setting  the  keep_jobs
13309       option  to a smaller value, such as 1, in the Salt Master configuration
13310       file will reduce the size of the Default Job Cache, and thus the burden
13311       on the Salt Master.
13312
13313       NOTE:
13314          Changing  the  keep_jobs option sets the number of hours to keep old
13315          job information and defaults to 24 hours. Do not set this value to 0
13316          when  trying  to make the cache cleaner run more frequently, as this
13317          means the cache cleaner will never run.
13318
13319   Additional Job Cache Options
13320       Many deployments may wish to use an external  database  to  maintain  a
13321       long  term  register  of executed jobs. Salt comes with two main mecha‐
13322       nisms to do this, the master job cache and the external job cache.
13323
13324       See Storing Job Results in an External System.
13325
13326   Storing Job Results in an External System
13327       After a job executes, job results are returned to the  Salt  Master  by
13328       each Salt Minion. These results are stored in the Default Job Cache.
13329
13330       In  addition  to  the  Default  Job Cache, Salt provides two additional
13331       mechanisms to send job results to other systems (databases, local  sys‐
13332       log, and others):
13333
13334       · External Job Cache
13335
13336       · Master Job Cache
13337
13338       The  major difference between these two mechanism is from where results
13339       are returned (from the Salt Master or Salt Minion). Configuring  either
13340       of  these options will also make the Jobs Runner functions to automati‐
13341       cally query the remote stores for information.
13342
13343   External Job Cache - Minion-Side Returner
13344       When an External Job Cache is  configured,  data  is  returned  to  the
13345       Default  Job  Cache on the Salt Master like usual, and then results are
13346       also sent to an External Job Cache using a Salt returner module running
13347       on the Salt Minion.  [image]
13348
13349       · Advantages:  Data  is  stored  without placing additional load on the
13350         Salt Master.
13351
13352       · Disadvantages: Each Salt Minion connects to the external  job  cache,
13353         which  can  result  in  a large number of connections.  Also requires
13354         additional configuration to get returner module settings on all  Salt
13355         Minions.
13356
13357   Master Job Cache - Master-Side Returner
13358       New in version 2014.7.0.
13359
13360
13361       Instead  of  configuring an External Job Cache on each Salt Minion, you
13362       can configure the Master Job Cache to send job results  from  the  Salt
13363       Master  instead.  In  this configuration, Salt Minions send data to the
13364       Default Job Cache as usual, and then the Salt Master sends the data  to
13365       the  external  system  using a Salt returner module running on the Salt
13366       Master.  [image]
13367
13368       · Advantages: A single connection is required to the  external  system.
13369         This is preferred for databases and similar systems.
13370
13371       · Disadvantages: Places additional load on your Salt Master.
13372
13373   Configure an External or Master Job Cache
13374   Step 1: Understand Salt Returners
13375       Before  you  configure  a job cache, it is essential to understand Salt
13376       returner modules ("returners"). Returners are  pluggable  Salt  Modules
13377       that  take  the  data  returned by jobs, and then perform any necessary
13378       steps to send the data to an external system. For example,  a  returner
13379       might  establish a connection, authenticate, and then format and trans‐
13380       fer data.
13381
13382       The Salt Returner system provides the core functionality  used  by  the
13383       External  and Master Job Cache systems, and the same returners are used
13384       by both systems.
13385
13386       Salt currently provides many different returners that let  you  connect
13387       to  a wide variety of systems. A complete list is available at all Salt
13388       returners.  Each returner is configured differently, so make  sure  you
13389       read and follow the instructions linked from that page.
13390
13391       For example, the MySQL returner requires:
13392
13393       · A  database  created using provided schema (structure is available at
13394         MySQL returner)
13395
13396       · A user created with privileges to the database
13397
13398       · Optional SSL configuration
13399
13400       A simpler returner, such as Slack or HipChat, requires:
13401
13402       · An API key/version
13403
13404       · The target channel/room
13405
13406       · The username that should be used to send the message
13407
13408   Step 2: Configure the Returner
13409       After you understand the configuration and  have  the  external  system
13410       ready, the configuration requirements must be declared.
13411
13412   External Job Cache
13413       The  returner configuration settings can be declared in the Salt Minion
13414       configuration file, the Minion's pillar data, or the Minion's grains.
13415
13416       If external_job_cache configuration settings are specified in more than
13417       one  place, the options are retrieved in the following order. The first
13418       configuration location that is found is the one that will be used.
13419
13420       · Minion configuration file
13421
13422       · Minion's grains
13423
13424       · Minion's pillar data
13425
13426   Master Job Cache
13427       The returner configuration settings for the Master Job Cache should  be
13428       declared in the Salt Master's configuration file.
13429
13430   Configuration File Examples
13431       MySQL requires:
13432
13433          mysql.host: 'salt'
13434          mysql.user: 'salt'
13435          mysql.pass: 'salt'
13436          mysql.db: 'salt'
13437          mysql.port: 3306
13438
13439       Slack requires:
13440
13441          slack.channel: 'channel'
13442          slack.api_key: 'key'
13443          slack.from_name: 'name'
13444
13445       After  you  have configured the returner and added settings to the con‐
13446       figuration file, you can enable the External or Master Job Cache.
13447
13448   Step 3: Enable the External or Master Job Cache
13449       Configuration is a single line  that  specifies  an  already-configured
13450       returner to use to send all job data to an external system.
13451
13452   External Job Cache
13453       To  enable  a returner as the External Job Cache (Minion-side), add the
13454       following line to the Salt Master configuration file:
13455
13456          ext_job_cache: <returner>
13457
13458       For example:
13459
13460          ext_job_cache: mysql
13461
13462       NOTE:
13463          When configuring an External Job Cache (Minion-side),  the  returner
13464          settings  are added to the Minion configuration file, but the Exter‐
13465          nal Job Cache setting is  configured  in  the  Master  configuration
13466          file.
13467
13468   Master Job Cache
13469       To  enable a returner as a Master Job Cache (Master-side), add the fol‐
13470       lowing line to the Salt Master configuration file:
13471
13472          master_job_cache: <returner>
13473
13474       For example:
13475
13476          master_job_cache: mysql
13477
13478       Verify that the returner configuration settings are in the Master  con‐
13479       figuration  file,  and be sure to restart the salt-master service after
13480       you make configuration changes. (service salt-master restart).
13481
13482   Logging
13483       The salt project tries to get the logging to work for you and  help  us
13484       solve any issues you might find along the way.
13485
13486       If  you want to get some more information on the nitty-gritty of salt's
13487       logging system, please head over to the logging  development  document,
13488       if  all  you're after is salt's logging configurations, please continue
13489       reading.
13490
13491   Log Levels
13492       The log levels are ordered numerically such that setting the log  level
13493       to  a  specific  level will record all log statements at that level and
13494       higher.  For example, setting log_level: error will log  statements  at
13495       error, critical, and quiet levels, although nothing should be logged at
13496       quiet level.
13497
13498       Most of the logging levels are defined by default in  Python's  logging
13499       library  and  can  be found in the official Python documentation.  Salt
13500       uses some more levels in addition to the standard levels.   All  levels
13501       available in salt are shown in the table below.
13502
13503       NOTE:
13504          Python  dependencies used by salt may define and use additional log‐
13505          ging levels.  For example, the Python 2 version of the multiprocess‐
13506          ing  standard Python library uses the levels subwarning, 25 and sub‐
13507          debug, 5.
13508
13509                  ┌─────────┬───────────────┬─────────────────────┐
13510                  │Level    │ Numeric value │ Description         │
13511                  ├─────────┼───────────────┼─────────────────────┤
13512                  │quiet    │ 1000          │ Nothing  should  be │
13513                  │         │               │ logged    at   this │
13514                  │         │               │ level               │
13515                  ├─────────┼───────────────┼─────────────────────┤
13516                  │critical │ 50            │ Critical errors     │
13517                  ├─────────┼───────────────┼─────────────────────┤
13518                  │error    │ 40            │ Errors              │
13519                  ├─────────┼───────────────┼─────────────────────┤
13520                  │warning  │ 30            │ Warnings            │
13521                  ├─────────┼───────────────┼─────────────────────┤
13522                  │info     │ 20            │ Normal log informa‐ │
13523                  │         │               │ tion                │
13524                  ├─────────┼───────────────┼─────────────────────┤
13525                  │profile  │ 15            │ Profiling  informa‐ │
13526                  │         │               │ tion on  salt  per‐ │
13527                  │         │               │ formance            │
13528                  ├─────────┼───────────────┼─────────────────────┤
13529                  │debug    │ 10            │ Information  useful │
13530                  │         │               │ for debugging  both │
13531                  │         │               │ salt    implementa‐ │
13532                  │         │               │ tions and salt code │
13533                  ├─────────┼───────────────┼─────────────────────┤
13534                  │trace    │ 5             │ More detailed  code │
13535                  │         │               │ debugging  informa‐ │
13536                  │         │               │ tion                │
13537                  ├─────────┼───────────────┼─────────────────────┤
13538                  │garbage  │ 1             │ Even more debugging │
13539                  │         │               │ information         │
13540                  ├─────────┼───────────────┼─────────────────────┤
13541                  │all      │ 0             │ Everything          │
13542                  └─────────┴───────────────┴─────────────────────┘
13543
13544   Available Configuration Settings
13545   log_file
13546       The log records can be sent to a regular file, local path name, or net‐
13547       work location.  Remote logging works best when configured to use  rsys‐
13548       logd(8)  (e.g.:  file:///dev/log), with rsyslogd(8) configured for net‐
13549       work logging.  The format for remote addresses is:
13550
13551          <file|udp|tcp>://<host|socketpath>:<port-if-required>/<log-facility>
13552
13553       Where log-facility is the symbolic name of a syslog facility as defined
13554       in the SysLogHandler documentation. It defaults to LOG_USER.
13555
13556       Default:  Dependent  of  the  binary  being  executed, for example, for
13557       salt-master, /var/log/salt/master.
13558
13559       Examples:
13560
13561          log_file: /var/log/salt/master
13562
13563          log_file: /var/log/salt/minion
13564
13565          log_file: file:///dev/log
13566
13567          log_file: file:///dev/log/LOG_DAEMON
13568
13569          log_file: udp://loghost:10514
13570
13571   log_level
13572       Default: warning
13573
13574       The level of log record messages to send to the console.  One  of  all,
13575       garbage, trace, debug, profile, info, warning, error, critical, quiet.
13576
13577          log_level: warning
13578
13579       NOTE:
13580          Add  log_level:  quiet in salt configuration file to completely dis‐
13581          able  logging.  In  case  of  running  salt  in  command  line   use
13582          --log-level=quiet instead.
13583
13584   log_level_logfile
13585       Default: info
13586
13587       The  level  of  messages  to send to the log file. One of all, garbage,
13588       trace, debug, profile, info, warning, error, critical, quiet.
13589
13590          log_level_logfile: warning
13591
13592   log_datefmt
13593       Default: %H:%M:%S
13594
13595       The date  and  time  format  used  in  console  log  messages.  Allowed
13596       date/time formatting matches those used in time.strftime().
13597
13598          log_datefmt: '%H:%M:%S'
13599
13600   log_datefmt_logfile
13601       Default: %Y-%m-%d %H:%M:%S
13602
13603       The  date  and time format used in log file messages. Allowed date/time
13604       formatting matches those used in time.strftime().
13605
13606          log_datefmt_logfile: '%Y-%m-%d %H:%M:%S'
13607
13608   log_fmt_console
13609       Default: [%(levelname)-8s] %(message)s
13610
13611       The format of the console logging messages. All standard python logging
13612       LogRecord  attributes  can  be  used.  Salt  also provides these custom
13613       LogRecord attributes to colorize console log output:
13614
13615          '%(colorlevel)s'   # log level name colorized by level
13616          '%(colorname)s'    # colorized module name
13617          '%(colorprocess)s' # colorized process number
13618          '%(colormsg)s'     # log message colorized by level
13619
13620       NOTE:
13621          The %(colorlevel)s,  %(colorname)s,  and  %(colorprocess)  LogRecord
13622          attributes  also  include padding and enclosing brackets, [ and ] to
13623          match the default values of their collateral non-colorized LogRecord
13624          attributes.
13625
13626          log_fmt_console: '[%(levelname)-8s] %(message)s'
13627
13628   log_fmt_logfile
13629       Default:  %(asctime)s,%(msecs)03d [%(name)-17s][%(levelname)-8s] %(mes‐
13630       sage)s
13631
13632       The format of the log file logging messages. All standard  python  log‐
13633       ging LogRecord attributes can be used.  Salt also provides these custom
13634       LogRecord attributes that include padding and enclosing brackets [  and
13635       ]:
13636
13637          '%(bracketlevel)s'   # equivalent to [%(levelname)-8s]
13638          '%(bracketname)s'    # equivalent to [%(name)-17s]
13639          '%(bracketprocess)s' # equivalent to [%(process)5s]
13640
13641          log_fmt_logfile: '%(asctime)s,%(msecs)03d [%(name)-17s][%(levelname)-8s] %(message)s'
13642
13643   log_granular_levels
13644       Default: {}
13645
13646       This  can be used to control logging levels more specifically, based on
13647       log call name.  The example sets the main salt library at the 'warning'
13648       level,  sets  salt.modules to log at the debug level, and sets a custom
13649       module to the all level:
13650
13651          log_granular_levels:
13652            'salt': 'warning'
13653            'salt.modules': 'debug'
13654            'salt.loader.saltmaster.ext.module.custom_module': 'all'
13655
13656   log_fmt_jid
13657       Default: [JID: %(jid)s]
13658
13659       The format of the JID when added to logging messages.
13660
13661          log_fmt_jid: '[JID: %(jid)s]'
13662
13663   External Logging Handlers
13664       Besides the internal logging handlers used  by  salt,  there  are  some
13665       external which can be used, see the external logging handlers document.
13666
13667   External Logging Handlers
13668                     ┌──────────────┬───────────────────────────┐
13669fluent_mod    │ Fluent Logging Handler    │
13670                     ├──────────────┼───────────────────────────┤
13671log4mongo_mod │ Log4Mongo Logging Handler │
13672                     ├──────────────┼───────────────────────────┤
13673logstash_mod  │ Logstash Logging Handler  │
13674                     ├──────────────┼───────────────────────────┤
13675sentry_mod    │ Sentry Logging Handler    │
13676                     └──────────────┴───────────────────────────┘
13677
13678   salt.log.handlers.fluent_mod
13679   Fluent Logging Handler
13680       New in version 2015.8.0.
13681
13682
13683       This module provides some fluentd logging handlers.
13684
13685   Fluent Logging Handler
13686       In the fluent configuration file:
13687
13688          <source>
13689            type forward
13690            bind localhost
13691            port 24224
13692          </source>
13693
13694       Then,  to send logs via fluent in Logstash format, add the following to
13695       the salt (master and/or minion) configuration file:
13696
13697          fluent_handler:
13698            host: localhost
13699            port: 24224
13700
13701       To send logs via fluent in the Graylog raw json format, add the follow‐
13702       ing to the salt (master and/or minion) configuration file:
13703
13704          fluent_handler:
13705            host: localhost
13706            port: 24224
13707            payload_type: graylog
13708            tags:
13709            - salt_master.SALT
13710
13711       The  above  also  illustrates  the tags option, which allows one to set
13712       descriptive (or useful) tags on records being sent.  If  not  provided,
13713       this  defaults  to the single tag: 'salt'.  Also note that, via Graylog
13714       "magic", the 'facility' of the logged message is  set  to  'SALT'  (the
13715       portion  of  the tag after the first period), while the tag itself will
13716       be set to simply 'salt_master'.  This is a feature, not a bug :)
13717
13718       Note: There is a third emitter, for the GELF format, but it is  largely
13719       untested, and I don't currently have a setup supporting this config, so
13720       while it runs cleanly and outputs what LOOKS  to  be  valid  GELF,  any
13721       real-world  feedback on its usefulness, and correctness, will be appre‐
13722       ciated.
13723
13724   Log Level
13725       The fluent_handler configuration section accepts an additional  setting
13726       log_level.  If  not set, the logging level used will be the one defined
13727       for log_level in the global configuration file section.
13728
13729          Inspiration
13730
13731                 This work was inspired in fluent-logger-python
13732
13733   salt.log.handlers.log4mongo_mod
13734   Log4Mongo Logging Handler
13735       This module provides a logging handler for sending salt logs to MongoDB
13736
13737   Configuration
13738       In the salt configuration file (e.g. /etc/salt/{master,minion}):
13739
13740          log4mongo_handler:
13741            host: mongodb_host
13742            port: 27017
13743            database_name: logs
13744            collection: salt_logs
13745            username: logging
13746            password: reindeerflotilla
13747            write_concern: 0
13748            log_level: warning
13749
13750   Log Level
13751       If not set, the log_level will be set  to  the  level  defined  in  the
13752       global configuration file setting.
13753
13754          Inspiration
13755
13756                 This  work  was  inspired  by  the  Salt logging handlers for
13757                 LogStash and Sentry and by the log4mongo  Python  implementa‐
13758                 tion.
13759
13760   salt.log.handlers.logstash_mod
13761   Logstash Logging Handler
13762       New in version 0.17.0.
13763
13764
13765       This module provides some Logstash logging handlers.
13766
13767   UDP Logging Handler
13768       For versions of Logstash before 1.2.0:
13769
13770       In the salt configuration file:
13771
13772          logstash_udp_handler:
13773            host: 127.0.0.1
13774            port: 9999
13775            version: 0
13776            msg_type: logstash
13777
13778       In the Logstash configuration file:
13779
13780          input {
13781            udp {
13782              type => "udp-type"
13783              format => "json_event"
13784            }
13785          }
13786
13787       For version 1.2.0 of Logstash and newer:
13788
13789       In the salt configuration file:
13790
13791          logstash_udp_handler:
13792            host: 127.0.0.1
13793            port: 9999
13794            version: 1
13795            msg_type: logstash
13796
13797       In the Logstash configuration file:
13798
13799          input {
13800            udp {
13801              port => 9999
13802              codec => json
13803            }
13804          }
13805
13806       Please  read  the  UDP input configuration page for additional informa‐
13807       tion.
13808
13809   ZeroMQ Logging Handler
13810       For versions of Logstash before 1.2.0:
13811
13812       In the salt configuration file:
13813
13814          logstash_zmq_handler:
13815            address: tcp://127.0.0.1:2021
13816            version: 0
13817
13818       In the Logstash configuration file:
13819
13820          input {
13821            zeromq {
13822              type => "zeromq-type"
13823              mode => "server"
13824              topology => "pubsub"
13825              address => "tcp://0.0.0.0:2021"
13826              charset => "UTF-8"
13827              format => "json_event"
13828            }
13829          }
13830
13831       For version 1.2.0 of Logstash and newer:
13832
13833       In the salt configuration file:
13834
13835          logstash_zmq_handler:
13836            address: tcp://127.0.0.1:2021
13837            version: 1
13838
13839       In the Logstash configuration file:
13840
13841          input {
13842            zeromq {
13843              topology => "pubsub"
13844              address => "tcp://0.0.0.0:2021"
13845              codec => json
13846            }
13847          }
13848
13849       Please read the ZeroMQ input configuration page for additional informa‐
13850       tion.
13851
13852          Important Logstash Setting
13853
13854                 One of the most important settings that you should not forget
13855                 on your Logstash configuration file regarding  these  logging
13856                 handlers  is  format.  Both the UDP and ZeroMQ inputs need to
13857                 have format as json_event which is  what  we  send  over  the
13858                 wire.
13859
13860   Log Level
13861       Both  the  logstash_udp_handler and the logstash_zmq_handler configura‐
13862       tion sections accept an additional setting log_level. If not  set,  the
13863       logging  level used will be the one defined for log_level in the global
13864       configuration file section.
13865
13866   HWM
13867       The high water mark for the ZMQ socket setting. Only applicable for the
13868       logstash_zmq_handler.
13869
13870          Inspiration
13871
13872                 This work was inspired in pylogstash, python-logstash, canary
13873                 and the PyZMQ logging handler.
13874
13875   salt.log.handlers.sentry_mod
13876   Sentry Logging Handler
13877       New in version 0.17.0.
13878
13879
13880       This module provides a Sentry logging handler. Sentry is an open source
13881       error  tracking  platform  that  provides deep context about exceptions
13882       that happen in production. Details about stack traces  along  with  the
13883       context  variables  available  at  the time of the exception are easily
13884       browsable and filterable from the online interface.  For  more  details
13885       please see Sentry.
13886
13887          Note
13888
13889                 The  Raven  library  needs  to be installed on the system for
13890                 this logging handler to be available.
13891
13892       Configuring the python Sentry client, Raven, should be done  under  the
13893       sentry_handler  configuration  key.  Additional context may be provided
13894       for corresponding grain item(s).  At the  bare  minimum,  you  need  to
13895       define the DSN. As an example:
13896
13897          sentry_handler:
13898            dsn: https://pub-key:secret-key@app.getsentry.com/app-id
13899
13900       More complex configurations can be achieved, for example:
13901
13902          sentry_handler:
13903            servers:
13904              - https://sentry.example.com
13905              - http://192.168.1.1
13906            project: app-id
13907            public_key: deadbeefdeadbeefdeadbeefdeadbeef
13908            secret_key: beefdeadbeefdeadbeefdeadbeefdead
13909            context:
13910              - os
13911              - master
13912              - saltversion
13913              - cpuarch
13914              - ec2.tags.environment
13915
13916          Note
13917
13918                 The  public_key  and  secret_key  variables are not supported
13919                 with Sentry > 3.0. The DSN key should be used instead.
13920
13921       All the client configuration keys are supported, please see  the  Raven
13922       client documentation.
13923
13924       The  default logging level for the sentry handler is ERROR. If you wish
13925       to define a different one, define log_level  under  the  sentry_handler
13926       configuration key:
13927
13928          sentry_handler:
13929            dsn: https://pub-key:secret-key@app.getsentry.com/app-id
13930            log_level: warning
13931
13932       The  available  log  levels  are  those also available for the salt cli
13933       tools and configuration; salt  --help  should  give  you  the  required
13934       information.
13935
13936   Threaded Transports
13937       Raven's  documents  rightly  suggest  using  its threaded transport for
13938       critical applications. However, don't forget that if you  start  having
13939       troubles  with  Salt  after enabling the threaded transport, please try
13940       switching to a non-threaded transport to see if that fixes  your  prob‐
13941       lem.
13942
13943   Salt File Server
13944       Salt comes with a simple file server suitable for distributing files to
13945       the Salt minions. The file server is a stateless ZeroMQ server that  is
13946       built into the Salt master.
13947
13948       The  main intent of the Salt file server is to present files for use in
13949       the Salt state system. With this said, the Salt file server can be used
13950       for any general file transfer from the master to the minions.
13951
13952   File Server Backends
13953       In  Salt  0.12.0,  the  modular fileserver was introduced. This feature
13954       added the ability for the  Salt  Master  to  integrate  different  file
13955       server backends. File server backends allow the Salt file server to act
13956       as a transparent bridge to external resources. A good example  of  this
13957       is  the  git backend, which allows Salt to serve files sourced from one
13958       or more git repositories, but there are several others as  well.  Click
13959       here for a full list of Salt's fileserver backends.
13960
13961   Enabling a Fileserver Backend
13962       Fileserver backends can be enabled with the fileserver_backend option.
13963
13964          fileserver_backend:
13965            - git
13966
13967       See the documentation for each backend to find the correct value to add
13968       to fileserver_backend in order to enable them.
13969
13970   Using Multiple Backends
13971       If fileserver_backend is not defined in the Master  config  file,  Salt
13972       will  use the roots backend, but the fileserver_backend option supports
13973       multiple backends. When more than one backend is in use, the files from
13974       the  enabled backends are merged into a single virtual filesystem. When
13975       a file is requested, the backends will be searched in  order  for  that
13976       file,  and the first backend to match will be the one which returns the
13977       file.
13978
13979          fileserver_backend:
13980            - roots
13981            - git
13982
13983       With this configuration, the environments  and  files  defined  in  the
13984       file_roots  parameter  will  be  searched first, and if the file is not
13985       found then the  git  repositories  defined  in  gitfs_remotes  will  be
13986       searched.
13987
13988   Defining Environments
13989       Just  as  the order of the values in fileserver_backend matters, so too
13990       does the order in which different sources are defined  within  a  file‐
13991       server  environment. For example, given the below file_roots configura‐
13992       tion, if both /srv/salt/dev/foo.txt and /srv/salt/prod/foo.txt exist on
13993       the Master, then salt://foo.txt would point to /srv/salt/dev/foo.txt in
13994       the dev environment, but it would point  to  /srv/salt/prod/foo.txt  in
13995       the base environment.
13996
13997          file_roots:
13998            base:
13999              - /srv/salt/prod
14000            qa:
14001              - /srv/salt/qa
14002              - /srv/salt/prod
14003            dev:
14004              - /srv/salt/dev
14005              - /srv/salt/qa
14006              - /srv/salt/prod
14007
14008       Similarly,  when  using  the  git backend, if both repositories defined
14009       below have a hotfix23 branch/tag, and both of  them  also  contain  the
14010       file  bar.txt  in  the  root of the repository at that branch/tag, then
14011       salt://bar.txt in the hotfix23 environment would  be  served  from  the
14012       first repository.
14013
14014          gitfs_remotes:
14015            - https://mydomain.tld/repos/first.git
14016            - https://mydomain.tld/repos/second.git
14017
14018       NOTE:
14019          Environments  map  differently  based on the fileserver backend. For
14020          instance, the mappings are  explicitly  defined  in  roots  backend,
14021          while  in  the VCS backends (git, hg, svn) the environments are cre‐
14022          ated from branches/tags/bookmarks/etc. For the minion  backend,  the
14023          files  are  all  in  a single environment, which is specified by the
14024          minionfs_env option.
14025
14026          See the documentation for each backend for a more detailed  explana‐
14027          tion of how environments are mapped.
14028
14029   Requesting Files from Specific Environments
14030       The  Salt  fileserver  supports multiple environments, allowing for SLS
14031       files and other files to be isolated for better organization.
14032
14033       For the default backend (called roots), environments are defined  using
14034       the  roots  option.  Other backends (such as gitfs) define environments
14035       in their own ways. For a list of  available  fileserver  backends,  see
14036       here.
14037
14038   Querystring Syntax
14039       Any  salt://  file  URL  can specify its fileserver environment using a
14040       querystring syntax, like so:
14041
14042          salt://path/to/file?saltenv=foo
14043
14044       In Reactor configurations, this method must be used to pull files  from
14045       an environment other than base.
14046
14047   In States
14048       Minions  can  be instructed which environment to use both globally, and
14049       for a single state, and multiple methods for each are available:
14050
14051   Globally
14052       A minion can be pinned to an environment using the  environment  option
14053       in the minion config file.
14054
14055       Additionally,  the environment can be set for a single call to the fol‐
14056       lowing functions:
14057
14058       · state.apply
14059
14060       · state.highstate
14061
14062       · state.sls
14063
14064       · state.top
14065
14066       NOTE:
14067          When the saltenv parameter is used  to  trigger  a  highstate  using
14068          either  state.apply  or state.highstate, only states from that envi‐
14069          ronment will be applied.
14070
14071   On a Per-State Basis
14072       Within an individual state, there are two ways of specifying the  envi‐
14073       ronment.   The  first  is  to add a saltenv argument to the state. This
14074       example will pull the file from the config environment:
14075
14076          /etc/foo/bar.conf:
14077            file.managed:
14078              - source: salt://foo/bar.conf
14079              - user: foo
14080              - mode: 600
14081              - saltenv: config
14082
14083       Another way of doing the same thing is to use  the  querystring  syntax
14084       described above:
14085
14086          /etc/foo/bar.conf:
14087            file.managed:
14088              - source: salt://foo/bar.conf?saltenv=config
14089              - user: foo
14090              - mode: 600
14091
14092       NOTE:
14093          Specifying the environment using either of the above methods is only
14094          necessary in cases where a  state  from  one  environment  needs  to
14095          access  files  from  another environment. If the SLS file containing
14096          this state was in the config environment, then it would look in that
14097          environment by default.
14098
14099   File Server Configuration
14100       The  Salt  file  server  is  a  high performance file server written in
14101       ZeroMQ. It manages large files quickly and with  little  overhead,  and
14102       has been optimized to handle small files in an extremely efficient man‐
14103       ner.
14104
14105       The Salt file server is an environment aware file  server.  This  means
14106       that  files  can be allocated within many root directories and accessed
14107       by specifying both the file path and the  environment  to  search.  The
14108       individual  environments  can  span  across multiple directory roots to
14109       create overlays and to allow for files to be organized in many flexible
14110       ways.
14111
14112   Environments
14113       The  Salt  file server defaults to the mandatory base environment. This
14114       environment MUST be defined and is used to download files when no envi‐
14115       ronment is specified.
14116
14117       Environments  allow  for  files and sls data to be logically separated,
14118       but environments are not isolated from each other. This allows for log‐
14119       ical  isolation  of  environments  by the engineer using Salt, but also
14120       allows for information to be used in multiple environments.
14121
14122   Directory Overlay
14123       The environment setting is a list of directories to publish files from.
14124       These  directories are searched in order to find the specified file and
14125       the first file found is returned.
14126
14127       This means that directory data is prioritized based  on  the  order  in
14128       which they are listed. In the case of this file_roots configuration:
14129
14130          file_roots:
14131            base:
14132              - /srv/salt/base
14133              - /srv/salt/failover
14134
14135       If  a  file's  URI is salt://httpd/httpd.conf, it will first search for
14136       the file at /srv/salt/base/httpd/httpd.conf. If the file is found there
14137       it   will   be   returned.  If  the  file  is  not  found  there,  then
14138       /srv/salt/failover/httpd/httpd.conf will be used for the source.
14139
14140       This allows for directories to be overlaid and prioritized based on the
14141       order they are defined in the configuration.
14142
14143       It is also possible to have file_roots which supports multiple environ‐
14144       ments:
14145
14146          file_roots:
14147            base:
14148              - /srv/salt/base
14149            dev:
14150              - /srv/salt/dev
14151              - /srv/salt/base
14152            prod:
14153              - /srv/salt/prod
14154              - /srv/salt/base
14155
14156       This example ensures that each environment will  check  the  associated
14157       environment  directory  for  files first. If a file is not found in the
14158       appropriate directory, the system will default to using the base direc‐
14159       tory.
14160
14161   Local File Server
14162       New in version 0.9.8.
14163
14164
14165       The file server can be rerouted to run from the minion. This is primar‐
14166       ily to enable running Salt states without a Salt  master.  To  use  the
14167       local  file  server  interface, copy the file server data to the minion
14168       and set the file_roots option on the minion to point to the directories
14169       copied  from  the  master.   Once the minion file_roots option has been
14170       set, change the file_client option to local to make sure that the local
14171       file server interface is used.
14172
14173   The cp Module
14174       The cp module is the home of minion side file server operations. The cp
14175       module is used by the Salt state system, salt-cp, and can  be  used  to
14176       distribute files presented by the Salt file server.
14177
14178   Escaping Special Characters
14179       The  salt://  url  format  can  potentially contain a query string, for
14180       example salt://dir/file.txt?saltenv=base. You  can  prevent  the  file‐
14181       client/fileserver  from  interpreting ? as the initial token of a query
14182       string by referencing the file with salt://| rather than salt://.
14183
14184          /etc/marathon/conf/?checkpoint:
14185            file.managed:
14186              - source: salt://|hw/config/?checkpoint
14187              - makedirs: True
14188
14189   Environments
14190       Since the file server is made to work with the Salt  state  system,  it
14191       supports  environments. The environments are defined in the master con‐
14192       fig file and when referencing an environment the file specified will be
14193       based on the root directory of the environment.
14194
14195   get_file
14196       The  cp.get_file  function can be used on the minion to download a file
14197       from the master, the syntax looks like this:
14198
14199          # salt '*' cp.get_file salt://vimrc /etc/vimrc
14200
14201       This will instruct all Salt minions to download the vimrc file and copy
14202       it to /etc/vimrc
14203
14204       Template  rendering  can  be enabled on both the source and destination
14205       file names like so:
14206
14207          # salt '*' cp.get_file "salt://{{grains.os}}/vimrc" /etc/vimrc template=jinja
14208
14209       This example would instruct all Salt minions to download the vimrc from
14210       a  directory  with  the  same  name  as  their  OS grain and copy it to
14211       /etc/vimrc
14212
14213       For larger files, the cp.get_file module also  supports  gzip  compres‐
14214       sion.   Because gzip is CPU-intensive, this should only be used in sce‐
14215       narios where the compression ratio is very  high  (e.g.  pretty-printed
14216       JSON or YAML files).
14217
14218       To use compression, use the gzip named argument. Valid values are inte‐
14219       gers from 1 to 9, where 1 is the lightest compression and 9 the  heavi‐
14220       est.  In  other words, 1 uses the least CPU on the master (and minion),
14221       while 9 uses the most.
14222
14223          # salt '*' cp.get_file salt://vimrc /etc/vimrc gzip=5
14224
14225       Finally, note that by default cp.get_file does not create new  destina‐
14226       tion  directories  if  they  do  not  exist.   To  change this, use the
14227       makedirs argument:
14228
14229          # salt '*' cp.get_file salt://vimrc /etc/vim/vimrc makedirs=True
14230
14231       In this example, /etc/vim/ would be created if it didn't already exist.
14232
14233   get_dir
14234       The cp.get_dir function can be used on the minion to download an entire
14235       directory from the master.  The syntax is very similar to get_file:
14236
14237          # salt '*' cp.get_dir salt://etc/apache2 /etc
14238
14239       cp.get_dir  supports  template rendering and gzip compression arguments
14240       just like get_file:
14241
14242          # salt '*' cp.get_dir salt://etc/{{pillar.webserver}} /etc gzip=5 template=jinja
14243
14244   File Server Client Instance
14245       A client instance is available which allows for  modules  and  applica‐
14246       tions to be written which make use of the Salt file server.
14247
14248       The file server uses the same authentication and encryption used by the
14249       rest of the Salt system for network communication.
14250
14251   fileclient Module
14252       The salt/fileclient.py module is used to set up the communication  from
14253       the  minion  to  the  master. When creating a client instance using the
14254       fileclient module, the minion configuration needs to be passed in. When
14255       using  the  fileclient  module from within a minion module the built in
14256       __opts__ data can be passed:
14257
14258          import salt.minion
14259          import salt.fileclient
14260
14261          def get_file(path, dest, saltenv='base'):
14262              '''
14263              Used to get a single file from the Salt master
14264
14265              CLI Example:
14266              salt '*' cp.get_file salt://vimrc /etc/vimrc
14267              '''
14268              # Get the fileclient object
14269              client = salt.fileclient.get_file_client(__opts__)
14270              # Call get_file
14271              return client.get_file(path, dest, False, saltenv)
14272
14273       Creating a fileclient instance outside of a  minion  module  where  the
14274       __opts__ data is not available, it needs to be generated:
14275
14276          import salt.fileclient
14277          import salt.config
14278
14279          def get_file(path, dest, saltenv='base'):
14280              '''
14281              Used to get a single file from the Salt master
14282              '''
14283              # Get the configuration data
14284              opts = salt.config.minion_config('/etc/salt/minion')
14285              # Get the fileclient object
14286              client = salt.fileclient.get_file_client(opts)
14287              # Call get_file
14288              return client.get_file(path, dest, False, saltenv)
14289
14290   Git Fileserver Backend Walkthrough
14291       NOTE:
14292          This  walkthrough  assumes  basic  knowledge  of  Salt. To get up to
14293          speed, check out the Salt Walkthrough.
14294
14295       The gitfs backend allows Salt to serve files from git repositories.  It
14296       can  be  enabled by adding git to the fileserver_backend list, and con‐
14297       figuring one or more repositories in gitfs_remotes.
14298
14299       Branches and tags become Salt fileserver environments.
14300
14301       NOTE:
14302          Branching and tagging can result in a lot of potentially-conflicting
14303          top  files,  for  this reason it may be useful to set top_file_merg‐
14304          ing_strategy to same in the minions' config files if the  top  files
14305          are being managed in a GitFS repo.
14306
14307   Installing Dependencies
14308       Both  pygit2  and  GitPython are supported Python interfaces to git. If
14309       compatible versions of both are installed, pygit2 will be preferred. In
14310       these cases, GitPython can be forced using the gitfs_provider parameter
14311       in the master config file.
14312
14313       NOTE:
14314          It is recommended to always run the most recent version of  any  the
14315          below  dependencies.  Certain features of GitFS may not be available
14316          without the most recent version of the chosen library.
14317
14318   pygit2
14319       The minimum supported version of pygit2  is  0.20.3.  Availability  for
14320       this  version  of pygit2 is still limited, though the SaltStack team is
14321       working to get compatible versions available for as many  platforms  as
14322       possible.
14323
14324       For  the Fedora/EPEL versions which have a new enough version packaged,
14325       the following command would be used to install pygit2:
14326
14327          # yum install python-pygit2
14328
14329       Provided a valid version is packaged for Debian/Ubuntu  (which  is  not
14330       currently  the  case), the package name would be the same, and the fol‐
14331       lowing command would be used to install it:
14332
14333          # apt-get install python-pygit2
14334
14335       If pygit2 is not packaged for the platform on which the Master is  run‐
14336       ning,  the  pygit2  website has installation instructions here. Keep in
14337       mind however that following these instructions will install libgit2 and
14338       pygit2  without  system  packages.  Additionally, keep in mind that SSH
14339       authentication in pygit2  requires  libssh2  (not  libssh)  development
14340       libraries  to  be present before libgit2 is built. On some Debian-based
14341       distros pkg-config is also required to link libgit2 with libssh2.
14342
14343       NOTE:
14344          If you are receiving the error "Unsupported  URL  Protocol"  in  the
14345          Salt  Master log when making a connection using SSH, review the lib‐
14346          ssh2 details listed above.
14347
14348       Additionally, version 0.21.0  of  pygit2  introduced  a  dependency  on
14349       python-cffi, which in turn depends on newer releases of libffi. Upgrad‐
14350       ing libffi is not advisable as several other applications depend on it,
14351       so  on older LTS linux releases pygit2 0.20.3 and libgit2 0.20.0 is the
14352       recommended combination.
14353
14354       WARNING:
14355          pygit2 is actively developed and frequently makes non-backwards-com‐
14356          patible  API changes, even in minor releases. It is not uncommon for
14357          pygit2 upgrades to result in errors in Salt. Please take  care  when
14358          upgrading  pygit2, and pay close attention to the changelog, keeping
14359          an eye out for API changes. Errors can be reported on the  SaltStack
14360          issue tracker.
14361
14362   RedHat Pygit2 Issues
14363       The   release  of  RedHat/CentOS  7.3  upgraded  both  python-cffi  and
14364       http-parser, both of which are dependencies  for  pygit2/libgit2.  Both
14365       pygit2 and libgit2 packages (which are from the EPEL repository) should
14366       be upgraded to the most recent versions, at least to 0.24.2.
14367
14368       The below errors will show up in the  master  log  if  an  incompatible
14369       python-pygit2 package is installed:
14370
14371          2017-02-10 09:07:34,892 [salt.utils.gitfs ][ERROR ][11211] Import pygit2 failed: CompileError: command 'gcc' failed with exit status 1
14372          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?
14373          2017-02-10 09:07:34,907 [salt.utils.gitfs ][CRITICAL][11211] No suitable gitfs provider module is installed.
14374          2017-02-10 09:07:34,912 [salt.master ][CRITICAL][11211] Master failed pre flight checks, exiting
14375
14376       The  below  errors  will  show  up in the master log if an incompatible
14377       libgit2 package is installed:
14378
14379          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
14380
14381       A restart of the salt-master daemon and gitfs cache directory clean  up
14382       may  be  required  to  allow  http(s)  repositories  to  continue to be
14383       fetched.
14384
14385   GitPython
14386       GitPython 0.3.0 or newer is required to use GitPython  for  gitfs.  For
14387       RHEL-based  Linux  distros,  a compatible version is available in EPEL,
14388       and can be easily installed on the master using yum:
14389
14390          # yum install GitPython
14391
14392       Ubuntu 14.04 LTS and Debian Wheezy (7.x) also have a compatible version
14393       packaged:
14394
14395          # apt-get install python-git
14396
14397       GitPython  requires  the  git  CLI utility to work. If installed from a
14398       system package, then git should already be installed, but if  installed
14399       via  pip  then it may still be necessary to install git separately. For
14400       MacOS users, GitPython comes bundled in with the  Salt  installer,  but
14401       git  must  still  be  installed  for  it  to  work properly. Git can be
14402       installed in several ways, including by installing XCode.
14403
14404       WARNING:
14405          Keep in mind that if GitPython has been previously installed on  the
14406          master  using pip (even if it was subsequently uninstalled), then it
14407          may    still    exist    in    the    build     cache     (typically
14408          /tmp/pip-build-root/GitPython)  if  the  cache  is not cleared after
14409          installation. The package in  the  build  cache  will  override  any
14410          requirement specifiers, so if you try upgrading to version 0.3.2.RC1
14411          by running pip install 'GitPython==0.3.2.RC1' then  it  will  ignore
14412          this  and  simply  install  the  version  from  the cache directory.
14413          Therefore, it may be necessary to  delete  the  GitPython  directory
14414          from  the  build cache in order to ensure that the specified version
14415          is installed.
14416
14417       WARNING:
14418          GitPython 2.0.9 and newer is not  compatible  with  Python  2.6.  If
14419          installing GitPython using pip on a machine running Python 2.6, make
14420          sure that a version earlier than 2.0.9 is  installed.  This  can  be
14421          done  on  the  CLI by running pip install 'GitPython<2.0.9', or in a
14422          pip.installed state using the following SLS:
14423
14424              GitPython:
14425                pip.installed:
14426                  - name: 'GitPython < 2.0.9'
14427
14428   Simple Configuration
14429       To use the gitfs backend, only two configuration changes  are  required
14430       on the master:
14431
14432       1. Include  gitfs  in  the fileserver_backend list in the master config
14433          file:
14434
14435             fileserver_backend:
14436               - gitfs
14437
14438          NOTE:
14439             git also works here. Prior to  the  2018.3.0  release,  only  git
14440             would work.
14441
14442       2. Specify  one  or  more  git://, https://, file://, or ssh:// URLs in
14443          gitfs_remotes to configure which repositories to  cache  and  search
14444          for requested files:
14445
14446             gitfs_remotes:
14447               - https://github.com/saltstack-formulas/salt-formula.git
14448
14449          SSH remotes can also be configured using scp-like syntax:
14450
14451             gitfs_remotes:
14452               - git@github.com:user/repo.git
14453               - ssh://user@domain.tld/path/to/repo.git
14454
14455          Information on how to authenticate to SSH remotes can be found here.
14456
14457       3. Restart the master to load the new configuration.
14458
14459       NOTE:
14460          In  a master/minion setup, files from a gitfs remote are cached once
14461          by the master, so minions do not  need  direct  access  to  the  git
14462          repository.
14463
14464   Multiple Remotes
14465       The  gitfs_remotes  option  accepts  an  ordered list of git remotes to
14466       cache and search, in listed order, for requested files.
14467
14468       A simple scenario illustrates this cascading lookup behavior:
14469
14470       If the gitfs_remotes option specifies three remotes:
14471
14472          gitfs_remotes:
14473            - git://github.com/example/first.git
14474            - https://github.com/example/second.git
14475            - file:///root/third
14476
14477       And each repository contains some files:
14478
14479          first.git:
14480              top.sls
14481              edit/vim.sls
14482              edit/vimrc
14483              nginx/init.sls
14484
14485          second.git:
14486              edit/dev_vimrc
14487              haproxy/init.sls
14488
14489          third:
14490              haproxy/haproxy.conf
14491              edit/dev_vimrc
14492
14493       Salt will attempt to lookup the requested file from each  gitfs  remote
14494       repository in the order in which they are defined in the configuration.
14495       The git://github.com/example/first.git remote will be  searched  first.
14496       If  the  requested  file  is  found,  then  it is served and no further
14497       searching is executed. For example:
14498
14499       · A request for the file salt://haproxy/init.sls will  be  served  from
14500         the https://github.com/example/second.git git repo.
14501
14502       · A  request  for  the  file salt://haproxy/haproxy.conf will be served
14503         from the file:///root/third repo.
14504
14505       NOTE:
14506          This example is purposefully contrived to illustrate the behavior of
14507          the  gitfs backend. This example should not be read as a recommended
14508          way to lay out files and git repos.
14509
14510          The file:// prefix denotes a git repository in  a  local  directory.
14511          However, it will still use the given file:// URL as a remote, rather
14512          than copying the git repo to the salt cache.  This  means  that  any
14513          refs  you  want accessible must exist as local refs in the specified
14514          repo.
14515
14516       WARNING:
14517          Salt versions prior to 2014.1.0 are not  tolerant  of  changing  the
14518          order  of remotes or modifying the URI of existing remotes. In those
14519          versions, when modifying remotes it is a good  idea  to  remove  the
14520          gitfs cache directory (/var/cache/salt/master/gitfs) before restart‐
14521          ing the salt-master service.
14522
14523   Per-remote Configuration Parameters
14524       New in version 2014.7.0.
14525
14526
14527       The following master config parameters are global (that is, they  apply
14528       to all configured gitfs remotes):
14529
14530       · gitfs_base
14531
14532       · gitfs_root
14533
14534       · gitfs_ssl_verify
14535
14536       · gitfs_mountpoint (new in 2014.7.0)
14537
14538       · gitfs_user (pygit2 only, new in 2014.7.0)
14539
14540       · gitfs_password (pygit2 only, new in 2014.7.0)
14541
14542       · gitfs_insecure_auth (pygit2 only, new in 2014.7.0)
14543
14544       · gitfs_pubkey (pygit2 only, new in 2014.7.0)
14545
14546       · gitfs_privkey (pygit2 only, new in 2014.7.0)
14547
14548       · gitfs_passphrase (pygit2 only, new in 2014.7.0)
14549
14550       · gitfs_refspecs (new in 2017.7.0)
14551
14552       · gitfs_disable_saltenv_mapping (new in 2018.3.0)
14553
14554       · gitfs_ref_types (new in 2018.3.0)
14555
14556       · gitfs_update_interval (new in 2018.3.0)
14557
14558       NOTE:
14559          pygit2  only  supports disabling SSL verification in versions 0.23.2
14560          and newer.
14561
14562       These parameters can now be overridden  on  a  per-remote  basis.  This
14563       allows  for  a  tremendous amount of customization. Here's some example
14564       usage:
14565
14566          gitfs_provider: pygit2
14567          gitfs_base: develop
14568
14569          gitfs_remotes:
14570            - https://foo.com/foo.git
14571            - https://foo.com/bar.git:
14572              - root: salt
14573              - mountpoint: salt://bar
14574              - base: salt-base
14575              - ssl_verify: False
14576              - update_interval: 120
14577            - https://foo.com/bar.git:
14578              - name: second_bar_repo
14579              - root: other/salt
14580              - mountpoint: salt://other/bar
14581              - base: salt-base
14582              - ref_types:
14583                - branch
14584            - http://foo.com/baz.git:
14585              - root: salt/states
14586              - user: joe
14587              - password: mysupersecretpassword
14588              - insecure_auth: True
14589              - disable_saltenv_mapping: True
14590              - saltenv:
14591                - foo:
14592                  - ref: foo
14593            - http://foo.com/quux.git:
14594              - all_saltenvs: master
14595
14596       IMPORTANT:
14597          There are two important  distinctions  which  should  be  noted  for
14598          per-remote configuration:
14599
14600          1. The  URL  of  a remote which has per-remote configuration must be
14601             suffixed with a colon.
14602
14603          2. Per-remote configuration parameters are  named  like  the  global
14604             versions,  with the gitfs_ removed from the beginning. The excep‐
14605             tion being the name, saltenv, and all_saltenvs parameters,  which
14606             are only available to per-remote configurations.
14607
14608          The all_saltenvs parameter is new in the 2018.3.0 release.
14609
14610       In the example configuration above, the following is true:
14611
14612       1. The  first  and fourth gitfs remotes will use the develop branch/tag
14613          as the base environment, while the second and  third  will  use  the
14614          salt-base branch/tag as the base environment.
14615
14616       2. The  first remote will serve all files in the repository. The second
14617          remote will only serve files from the salt directory (and its subdi‐
14618          rectories).  The  third  remote  will  only  server  files  from the
14619          other/salt directory (and  its  subdirectories),  while  the  fourth
14620          remote will only serve files from the salt/states directory (and its
14621          subdirectories).
14622
14623       3. The third remote will only serve files from branches, and  not  from
14624          tags or SHAs.
14625
14626       4. The  fourth  remote  will  only  have  two  saltenvs available: base
14627          (pointed at develop), and foo (pointed at foo).
14628
14629       5. The first and fourth remotes will have files located under the  root
14630          of  the Salt fileserver namespace (salt://). The files from the sec‐
14631          ond remote will be located under salt://bar, while  the  files  from
14632          the third remote will be located under salt://other/bar.
14633
14634       6. The  second  and  third  remotes  reference  the same repository and
14635          unique names need to be declared for duplicate gitfs remotes.
14636
14637       7. The fourth remote overrides the default behavior of not authenticat‐
14638          ing to insecure (non-HTTPS) remotes.
14639
14640       8. Because  all_saltenvs is configured for the fifth remote, files from
14641          the branch/tag master will appear in every fileserver environment.
14642
14643          NOTE:
14644             The use of http:// (instead of https://) is permitted  here  only
14645             because  authentication  is  not being used. Otherwise, the inse‐
14646             cure_auth parameter must be used (as in  the  fourth  remote)  to
14647             force Salt to authenticate to an http:// remote.
14648
14649       9. The  first  remote  will wait 120 seconds between updates instead of
14650          60.
14651
14652   Per-Saltenv Configuration Parameters
14653       New in version 2016.11.0.
14654
14655
14656       For more granular control, Salt allows the following three things to be
14657       overridden for individual saltenvs within a given repo:
14658
14659       · The mountpoint
14660
14661       · The root
14662
14663       · The branch/tag to be used for a given saltenv
14664
14665       Here is an example:
14666
14667          gitfs_root: salt
14668
14669          gitfs_saltenv:
14670            - dev:
14671              - mountpoint: salt://gitfs-dev
14672              - ref: develop
14673
14674          gitfs_remotes:
14675            - https://foo.com/bar.git:
14676              - saltenv:
14677                - staging:
14678                  - ref: qa
14679                  - mountpoint: salt://bar-staging
14680                - dev:
14681                  - ref: development
14682            - https://foo.com/baz.git:
14683              - saltenv:
14684                - staging:
14685                  - mountpoint: salt://baz-staging
14686
14687       Given the above configuration, the following is true:
14688
14689       1. For  all  gitfs  remotes,  files for the dev saltenv will be located
14690          under salt://gitfs-dev.
14691
14692       2. For the dev saltenv, files from the first  remote  will  be  sourced
14693          from the development branch, while files from the second remote will
14694          be sourced from the develop branch.
14695
14696       3. For the staging saltenv, files from the first remote will be located
14697          under salt://bar-staging, while files from the second remote will be
14698          located under salt://baz-staging.
14699
14700       4. For all gitfs remotes, and in all saltenvs,  files  will  be  served
14701          from the salt directory (and its subdirectories).
14702
14703   Custom Refspecs
14704       New in version 2017.7.0.
14705
14706
14707       GitFS  will  by  default fetch remote branches and tags. However, some‐
14708       times it can be useful to fetch custom refs (such as those created  for
14709       GitHub  pull  requests).  To change the refspecs GitFS fetches, use the
14710       gitfs_refspecs config option:
14711
14712          gitfs_refspecs:
14713            - '+refs/heads/*:refs/remotes/origin/*'
14714            - '+refs/tags/*:refs/tags/*'
14715            - '+refs/pull/*/head:refs/remotes/origin/pr/*'
14716            - '+refs/pull/*/merge:refs/remotes/origin/merge/*'
14717
14718       In the above example, in addition to fetching remote branches and tags,
14719       GitHub's  custom  refs  for pull requests and merged pull requests will
14720       also be fetched. These special head refs  represent  the  head  of  the
14721       branch  which  is requesting to be merged, and the merge refs represent
14722       the result of the base branch after the merge.
14723
14724       IMPORTANT:
14725          When using custom refspecs, the destination of the fetched refs must
14726          be  under refs/remotes/origin/, preferably in a subdirectory like in
14727          the example above. These custom refspecs  will  map  as  environment
14728          names using their relative path underneath refs/remotes/origin/. For
14729          example, assuming the configuration above, the head branch for  pull
14730          request  12345  would  map to fileserver environment pr/12345 (slash
14731          included).
14732
14733       Refspecs can be configured on a  per-remote  basis.  For  example,  the
14734       below  configuration would only alter the default refspecs for the sec‐
14735       ond GitFS remote. The first remote would only fetch branches  and  tags
14736       (the default).
14737
14738          gitfs_remotes:
14739            - https://domain.tld/foo.git
14740            - https://domain.tld/bar.git:
14741              - refspecs:
14742                - '+refs/heads/*:refs/remotes/origin/*'
14743                - '+refs/tags/*:refs/tags/*'
14744                - '+refs/pull/*/head:refs/remotes/origin/pr/*'
14745                - '+refs/pull/*/merge:refs/remotes/origin/merge/*'
14746
14747   Global Remotes
14748       New in version 2018.3.0.
14749
14750
14751       The all_saltenvs per-remote configuration parameter overrides the logic
14752       Salt  uses  to  map  branches/tags  to  fileserver  environments  (i.e.
14753       saltenvs). This allows a single branch/tag to appear in all saltenvs.
14754
14755       This  is  very  useful  in  particular when working with salt formulas.
14756       Prior to the addition of this feature,  it  was  necessary  to  push  a
14757       branch/tag  to  the  remote repo for each saltenv in which that formula
14758       was to be used. If the formula needed to be updated, this update  would
14759       need  to  be  reflected in all of the other branches/tags. This is both
14760       inconvenient and not scalable.
14761
14762       With all_saltenvs, it is now possible to define your formula once, in a
14763       single branch.
14764
14765          gitfs_remotes:
14766            - http://foo.com/quux.git:
14767              - all_saltenvs: anything
14768
14769   Update Intervals
14770       Prior  to the 2018.3.0 release, GitFS would update its fileserver back‐
14771       ends as part of a dedicated "maintenance"  process,  in  which  various
14772       routine maintenance tasks were performed. This tied the update interval
14773       to the loop_interval config option, and also forced all fileservers  to
14774       update at the same interval.
14775
14776       Now  it  is  possible  to  make GitFS update at its own interval, using
14777       gitfs_update_interval:
14778
14779          gitfs_update_interval: 180
14780
14781          gitfs_remotes:
14782            - https://foo.com/foo.git
14783            - https://foo.com/bar.git:
14784              - update_interval: 120
14785
14786       Using the above configuration, the  first  remote  would  update  every
14787       three minutes, while the second remote would update every two minutes.
14788
14789   Configuration Order of Precedence
14790       The  order  of  precedence  for GitFS configuration is as follows (each
14791       level overrides all levels below it):
14792
14793       1. Per-saltenv configuration (defined under a per-remote saltenv param)
14794
14795             gitfs_remotes:
14796               - https://foo.com/bar.git:
14797                 - saltenv:
14798                   - dev:
14799                     - mountpoint: salt://bar
14800
14801       2. Global per-saltenv configuration (defined in gitfs_saltenv)
14802
14803             gitfs_saltenv:
14804               - dev:
14805                 - mountpoint: salt://bar
14806
14807       3. Per-remote configuration parameter
14808
14809             gitfs_remotes:
14810               - https://foo.com/bar.git:
14811                 - mountpoint: salt://bar
14812
14813       4. Global configuration parameter
14814
14815             gitfs_mountpoint: salt://bar
14816
14817       NOTE:
14818          The one exception to the above is when all_saltenvs  is  used.  This
14819          value  overrides  all  logic for mapping branches/tags to fileserver
14820          environments. So, even if gitfs_saltenv is used to globally override
14821          the  mapping for a given saltenv, all_saltenvs would take precedence
14822          for any remote which uses it.
14823
14824          It's important to note however that any root and  mountpoint  values
14825          configured  in gitfs_saltenv (or per-saltenv configuration) would be
14826          unaffected by this.
14827
14828   Serving from a Subdirectory
14829       The gitfs_root parameter allows files to be served from a  subdirectory
14830       within  the repository. This allows for only part of a repository to be
14831       exposed to the Salt fileserver.
14832
14833       Assume the below layout:
14834
14835          .gitignore
14836          README.txt
14837          foo/
14838          foo/bar/
14839          foo/bar/one.txt
14840          foo/bar/two.txt
14841          foo/bar/three.txt
14842          foo/baz/
14843          foo/baz/top.sls
14844          foo/baz/edit/vim.sls
14845          foo/baz/edit/vimrc
14846          foo/baz/nginx/init.sls
14847
14848       The below configuration would  serve  only  the  files  under  foo/baz,
14849       ignoring the other files in the repository:
14850
14851          gitfs_remotes:
14852            - git://mydomain.com/stuff.git
14853
14854          gitfs_root: foo/baz
14855
14856       The root can also be configured on a per-remote basis.
14857
14858   Mountpoints
14859       New in version 2014.7.0.
14860
14861
14862       The  gitfs_mountpoint  parameter will prepend the specified path to the
14863       files served from gitfs. This allows an existing repository to be used,
14864       rather  than needing to reorganize a repository or design it around the
14865       layout of the Salt fileserver.
14866
14867       Before the addition of this feature, if a  file  being  served  up  via
14868       gitfs  was  deeply  nested  within  the  root  directory  (for example,
14869       salt://webapps/foo/files/foo.conf, it would be necessary to ensure that
14870       the file was properly located in the remote repository, and that all of
14871       the parent directories  were  present  (for  example,  the  directories
14872       webapps/foo/files/ would need to exist at the root of the repository).
14873
14874       The  below  example  would allow for a file foo.conf at the root of the
14875       repository  to  be  served   up   from   the   Salt   fileserver   path
14876       salt://webapps/foo/files/foo.conf.
14877
14878          gitfs_remotes:
14879            - https://mydomain.com/stuff.git
14880
14881          gitfs_mountpoint: salt://webapps/foo/files
14882
14883       Mountpoints can also be configured on a per-remote basis.
14884
14885   Using gitfs in Masterless Mode
14886       Since  2014.7.0, gitfs can be used in masterless mode. To do so, simply
14887       add the gitfs configuration parameters (and set fileserver_backend)  in
14888       the _minion_ config file instead of the master config file.
14889
14890   Using gitfs Alongside Other Backends
14891       Sometimes  it may make sense to use multiple backends; for instance, if
14892       sls files are stored in git but larger files are stored directly on the
14893       master.
14894
14895       The  cascading lookup logic used for multiple remotes is also used with
14896       multiple backends. If the fileserver_backend option  contains  multiple
14897       backends:
14898
14899          fileserver_backend:
14900            - roots
14901            - git
14902
14903       Then the roots backend (the default backend of files in /srv/salt) will
14904       be searched first for the requested file; then, if it is not  found  on
14905       the master, each configured git remote will be searched.
14906
14907   Branches, Environments, and Top Files
14908       When  using  the  GitFS  backend,  branches, and tags will be mapped to
14909       environments using the branch/tag name as an identifier.
14910
14911       There is one exception to this rule: the master  branch  is  implicitly
14912       mapped to the base environment.
14913
14914       So,  for a typical base, qa, dev setup, the following branches could be
14915       used:
14916
14917          master
14918          qa
14919          dev
14920
14921       top.sls files from different branches will be merged into one  at  run‐
14922       time.  Since this can lead to overly complex configurations, the recom‐
14923       mended setup is to have a  separate  repository,  containing  only  the
14924       top.sls file with just one single master branch.
14925
14926       To  map  a  branch  other  than master as the base environment, use the
14927       gitfs_base parameter.
14928
14929          gitfs_base: salt-base
14930
14931       The base can also be configured on a per-remote basis.
14932
14933   Environment Whitelist/Blacklist
14934       New in version 2014.7.0.
14935
14936
14937       The  gitfs_saltenv_whitelist  and  gitfs_saltenv_blacklist   parameters
14938       allow for greater control over which branches/tags are exposed as file‐
14939       server environments. Exact matches, globs, and regular expressions  are
14940       supported, and are evaluated in that order.  If using a regular expres‐
14941       sion, ^ and $ must be omitted, and the expression must match the entire
14942       branch/tag.
14943
14944          gitfs_saltenv_whitelist:
14945            - base
14946            - v1.*
14947            - 'mybranch\d+'
14948
14949       NOTE:
14950          v1.*,  in  this  example,  will  match  as both a glob and a regular
14951          expression (though it will have been matched as a glob, since  globs
14952          are evaluated before regular expressions).
14953
14954       The  behavior of the blacklist/whitelist will differ depending on which
14955       combination of the two options is used:
14956
14957       · If only gitfs_saltenv_whitelist  is  used,  then  only  branches/tags
14958         which match the whitelist will be available as environments
14959
14960       · If only gitfs_saltenv_blacklist is used, then the branches/tags which
14961         match the blacklist will not be available as environments
14962
14963       · If both are used, then the branches/tags which match  the  whitelist,
14964         but do not match the blacklist, will be available as environments.
14965
14966   Authentication
14967   pygit2
14968       New in version 2014.7.0.
14969
14970
14971       Both  HTTPS  and SSH authentication are supported as of version 0.20.3,
14972       which is the earliest version of pygit2 supported by Salt for gitfs.
14973
14974       NOTE:
14975          The examples below make use of per-remote configuration  parameters,
14976          a  feature  new  to  Salt 2014.7.0. More information on these can be
14977          found here.
14978
14979   HTTPS
14980       For HTTPS repositories which require authentication, the  username  and
14981       password can be provided like so:
14982
14983          gitfs_remotes:
14984            - https://domain.tld/myrepo.git:
14985              - user: git
14986              - password: mypassword
14987
14988       If  the repository is served over HTTP instead of HTTPS, then Salt will
14989       by default refuse to authenticate to it. This behavior can be  overrid‐
14990       den by adding an insecure_auth parameter:
14991
14992          gitfs_remotes:
14993            - http://domain.tld/insecure_repo.git:
14994              - user: git
14995              - password: mypassword
14996              - insecure_auth: True
14997
14998   SSH
14999       SSH  repositories  can be configured using the ssh:// protocol designa‐
15000       tion, or using scp-like syntax. So, the  following  two  configurations
15001       are equivalent:
15002
15003       · ssh://git@github.com/user/repo.git
15004
15005       · git@github.com:user/repo.git
15006
15007       Both  gitfs_pubkey and gitfs_privkey (or their per-remote counterparts)
15008       must be configured in order to authenticate to SSH-based repos. If  the
15009       private  key is protected with a passphrase, it can be configured using
15010       gitfs_passphrase (or simply passphrase if being configured per-remote).
15011       For example:
15012
15013          gitfs_remotes:
15014            - git@github.com:user/repo.git:
15015              - pubkey: /root/.ssh/id_rsa.pub
15016              - privkey: /root/.ssh/id_rsa
15017              - passphrase: myawesomepassphrase
15018
15019       Finally, the SSH host key must be added to the known_hosts file.
15020
15021       NOTE:
15022          There  is a known issue with public-key SSH authentication to Micro‐
15023          soft Visual Studio (VSTS) with pygit2. This is due to a bug or  lack
15024          of  support  for  VSTS  in  older  libssh2  releases.  Known working
15025          releases include libssh2 1.7.0 and  later,  and  known  incompatible
15026          releases  include  1.5.0  and  older.   At the time of this writing,
15027          1.6.0 has not been tested.
15028
15029          Since upgrading libssh2 would require rebuilding many other packages
15030          (curl,  etc.),  followed  by a rebuild of libgit2 and a reinstall of
15031          pygit2, an easier workaround for systems with older  libssh2  is  to
15032          use GitPython with a passphraseless key for authentication.
15033
15034   GitPython
15035   HTTPS
15036       For  HTTPS  repositories which require authentication, the username and
15037       password can be configured in one of two ways.  The  first  way  is  to
15038       include   them  in  the  URL  using  the  format  https://<user>:<pass‐
15039       word>@<url>, like so:
15040
15041          gitfs_remotes:
15042            - https://git:mypassword@domain.tld/myrepo.git
15043
15044       The other way would be to configure the authentication in ~/.netrc:
15045
15046          machine domain.tld
15047          login git
15048          password mypassword
15049
15050       If the repository is served over HTTP instead of HTTPS, then Salt  will
15051       by  default refuse to authenticate to it. This behavior can be overrid‐
15052       den by adding an insecure_auth parameter:
15053
15054          gitfs_remotes:
15055            - http://git:mypassword@domain.tld/insecure_repo.git:
15056              - insecure_auth: True
15057
15058   SSH
15059       Only passphrase-less SSH public key authentication is  supported  using
15060       GitPython.  The  auth  parameters  (pubkey, privkey, etc.) shown in the
15061       pygit2 authentication examples above do not work with GitPython.
15062
15063          gitfs_remotes:
15064            - ssh://git@github.com/example/salt-states.git
15065
15066       Since GitPython wraps the git CLI, the private key must be  located  in
15067       ~/.ssh/id_rsa  for  the  user  under  which  the Master is running, and
15068       should have permissions of 0600. Also, in the absence of a user in  the
15069       repo  URL,  GitPython  will  (just as SSH does) attempt to login as the
15070       current user (in other words, the user under which the Master  is  run‐
15071       ning, usually root).
15072
15073       If  a key needs to be used, then ~/.ssh/config can be configured to use
15074       the desired key. Information on how to do this can be found by  viewing
15075       the  manpage for ssh_config. Here's an example entry which can be added
15076       to the ~/.ssh/config to use an alternate key for gitfs:
15077
15078          Host github.com
15079              IdentityFile /root/.ssh/id_rsa_gitfs
15080
15081       The Host parameter should be a hostname (or hostname glob) that matches
15082       the domain name of the git repository.
15083
15084       It  is  also necessary to add the SSH host key to the known_hosts file.
15085       The exception to this would be if strict host key checking is disabled,
15086       which  can  be  done by adding StrictHostKeyChecking no to the entry in
15087       ~/.ssh/config
15088
15089          Host github.com
15090              IdentityFile /root/.ssh/id_rsa_gitfs
15091              StrictHostKeyChecking no
15092
15093       However, this is generally regarded as  insecure,  and  is  not  recom‐
15094       mended.
15095
15096   Adding the SSH Host Key to the known_hosts File
15097       To  use  SSH authentication, it is necessary to have the remote reposi‐
15098       tory's SSH host key in the ~/.ssh/known_hosts file. If  the  master  is
15099       also a minion, this can be done using the ssh.set_known_host function:
15100
15101          # salt mymaster ssh.set_known_host user=root hostname=github.com
15102          mymaster:
15103              ----------
15104              new:
15105                  ----------
15106                  enc:
15107                      ssh-rsa
15108                  fingerprint:
15109                      16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48
15110                  hostname:
15111                      |1|OiefWWqOD4kwO3BhoIGa0loR5AA=|BIXVtmcTbPER+68HvXmceodDcfI=
15112                  key:
15113                      AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==
15114              old:
15115                  None
15116              status:
15117                  updated
15118
15119       If  not, then the easiest way to add the key is to su to the user (usu‐
15120       ally root) under which the salt-master runs and attempt to login to the
15121       server via SSH:
15122
15123          $ su -
15124          Password:
15125          # ssh github.com
15126          The authenticity of host 'github.com (192.30.252.128)' can't be established.
15127          RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
15128          Are you sure you want to continue connecting (yes/no)? yes
15129          Warning: Permanently added 'github.com,192.30.252.128' (RSA) to the list of known hosts.
15130          Permission denied (publickey).
15131
15132       It  doesn't  matter  if the login was successful, as answering yes will
15133       write the fingerprint to the known_hosts file.
15134
15135   Verifying the Fingerprint
15136       To verify that the correct fingerprint was added, it is a good idea  to
15137       look it up. One way to do this is to use nmap:
15138
15139          $ nmap -p 22 github.com --script ssh-hostkey
15140
15141          Starting Nmap 5.51 ( http://nmap.org ) at 2014-08-18 17:47 CDT
15142          Nmap scan report for github.com (192.30.252.129)
15143          Host is up (0.17s latency).
15144          Not shown: 996 filtered ports
15145          PORT     STATE SERVICE
15146          22/tcp   open  ssh
15147          | ssh-hostkey: 1024 ad:1c:08:a4:40:e3:6f:9c:f5:66:26:5d:4b:33:5d:8c (DSA)
15148          |_2048 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48 (RSA)
15149          80/tcp   open  http
15150          443/tcp  open  https
15151          9418/tcp open  git
15152
15153          Nmap done: 1 IP address (1 host up) scanned in 28.78 seconds
15154
15155       Another  way  is  to  check  one's  own  known_hosts  file,  using this
15156       one-liner:
15157
15158          $ ssh-keygen -l -f /dev/stdin <<<`ssh-keyscan github.com 2>/dev/null` | awk '{print $2}'
15159          16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48
15160
15161       WARNING:
15162          AWS tracks usage of nmap and may flag it as abuse. On AWS hosts, the
15163          ssh-keygen method is recommended for host key verification.
15164
15165       NOTE:
15166          As   of   OpenSSH  6.8  the  SSH  fingerprint  is  now  shown  as  a
15167          base64-encoded SHA256 checksum of the host key. So, instead  of  the
15168          fingerprint                       looking                       like
15169          16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48, it would look  like
15170          SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8.
15171
15172   Refreshing gitfs Upon Push
15173       By  default,  Salt updates the remote fileserver backends every 60 sec‐
15174       onds.  However, if it is desirable to refresh quicker  than  that,  the
15175       Reactor  System  can  be  used to signal the master to update the file‐
15176       server on each push, provided that the git server is also a  Salt  min‐
15177       ion. There are three steps to this process:
15178
15179       1. On  the  master,  create  a file /srv/reactor/update_fileserver.sls,
15180          with the following contents:
15181
15182             update_fileserver:
15183               runner.fileserver.update
15184
15185       2. Add the following reactor configuration to the master config file:
15186
15187             reactor:
15188               - 'salt/fileserver/gitfs/update':
15189                 - /srv/reactor/update_fileserver.sls
15190
15191       3. On the git server, add a post-receive hook
15192
15193          a. If the user executing git push is the same as  the  minion  user,
15194             use the following hook:
15195
15196                 #!/usr/bin/env sh
15197                 salt-call event.fire_master update salt/fileserver/gitfs/update
15198
15199          b. To  enable other git users to run the hook after a push, use sudo
15200             in the hook script:
15201
15202                 #!/usr/bin/env sh
15203                 sudo -u root salt-call event.fire_master update salt/fileserver/gitfs/update
15204
15205       4. If using sudo in the git hook (above), the policy must be changed to
15206          permit all users to fire the event.  Add the following policy to the
15207          sudoers file on the git server.
15208
15209             Cmnd_Alias SALT_GIT_HOOK = /bin/salt-call event.fire_master update salt/fileserver/gitfs/update
15210             Defaults!SALT_GIT_HOOK !requiretty
15211             ALL ALL=(root) NOPASSWD: SALT_GIT_HOOK
15212
15213       The update argument right after event.fire_master in this  example  can
15214       really  be  anything,  as  it  represents  the data being passed in the
15215       event, and the passed data is ignored by this reactor.
15216
15217       Similarly, the tag name salt/fileserver/gitfs/update can be replaced by
15218       anything, so long as the usage is consistent.
15219
15220       The root user name in the hook script and sudo policy should be changed
15221       to match the user under which the minion is running.
15222
15223   Using Git as an External Pillar Source
15224       The git external pillar (a.k.a. git_pillar) has been rewritten for  the
15225       2015.8.0  release. This rewrite brings with it pygit2 support (allowing
15226       for access to authenticated repositories), as  well  as  more  granular
15227       support  for  per-remote  configuration.  This  configuration schema is
15228       detailed here.
15229
15230   Why aren't my custom modules/states/etc. syncing to my Minions?
15231       In versions 0.16.3 and older, when using the  git  fileserver  backend,
15232       certain  versions of GitPython may generate errors when fetching, which
15233       Salt fails to catch. While not fatal to the fetch process, these inter‐
15234       rupt  the  fileserver  update  that takes place before custom types are
15235       synced, and thus interrupt the sync itself. Try disabling the git file‐
15236       server  backend  in  the  master  config,  restarting  the  master, and
15237       attempting the sync again.
15238
15239       This issue is worked around in Salt 0.16.4 and newer.
15240
15241   MinionFS Backend Walkthrough
15242       New in version 2014.1.0.
15243
15244
15245       NOTE:
15246          This walkthrough assumes basic knowledge of Salt and cp.push. To get
15247          up to speed, check out the Salt Walkthrough.
15248
15249       Sometimes it is desirable to deploy a file located on one minion to one
15250       or more other minions. This is supported in Salt,  and  can  be  accom‐
15251       plished in two parts:
15252
15253       1. Minion support for pushing files to the master (using cp.push)
15254
15255       2. The minionfs fileserver backend
15256
15257       This walkthrough will show how to use both of these features.
15258
15259   Enabling File Push
15260       To  set  the  master to accept files pushed from minions, the file_recv
15261       option in the master config file must be set to True  (the  default  is
15262       False).
15263
15264          file_recv: True
15265
15266       NOTE:
15267          This change requires a restart of the salt-master service.
15268
15269   Pushing Files
15270       Once  this  has  been done, files can be pushed to the master using the
15271       cp.push function:
15272
15273          salt 'minion-id' cp.push /path/to/the/file
15274
15275       This command will store the file in a subdirectory named minions  under
15276       the   master's   cachedir.   On   most   masters,  this  path  will  be
15277       /var/cache/salt/master/minions.  Within  this  directory  will  be  one
15278       directory  for  each  minion which has pushed a file to the master, and
15279       underneath that the full path to the file on the minion. So, for  exam‐
15280       ple, if a minion with an ID of dev1 pushed a file /var/log/myapp.log to
15281       the  master,  it  would   be   saved   to   /var/cache/salt/master/min‐
15282       ions/dev1/var/log/myapp.log.
15283
15284   Serving Pushed Files Using MinionFS
15285       While it is certainly possible to add /var/cache/salt/master/minions to
15286       the master's file_roots and serve these files, it may only be desirable
15287       to    expose    files    pushed    from    certain    minions.   Adding
15288       /var/cache/salt/master/minions/<minion-id> for each minion  that  needs
15289       to be exposed can be cumbersome and prone to errors.
15290
15291       Enter  minionfs.  This  fileserver backend will make files pushed using
15292       cp.push available to the Salt fileserver, and provides an  easy  mecha‐
15293       nism to restrict which minions' pushed files are made available.
15294
15295   Simple Configuration
15296       To  use  the  minionfs backend, add minionfs to the list of backends in
15297       the fileserver_backend configuration option on the master:
15298
15299          file_recv: True
15300
15301          fileserver_backend:
15302            - roots
15303            - minionfs
15304
15305       NOTE:
15306          minion also works here. Prior to the 2018.3.0 release,  only  minion
15307          would work.
15308
15309          Also,  as described earlier, file_recv: True is needed to enable the
15310          master to receive files pushed from minions. As always,  changes  to
15311          the  master  configuration require a restart of the salt-master ser‐
15312          vice.
15313
15314       Files  made  available  via  minionfs  are  by   default   located   at
15315       salt://<minion-id>/path/to/file.  Think back to the earlier example, in
15316       which dev1 pushed a file /var/log/myapp.log to the  master.  With  min‐
15317       ionfs   enabled,   this   file   would   be   addressable  in  Salt  at
15318       salt://dev1/var/log/myapp.log.
15319
15320       If many minions have pushed to the master, this  will  result  in  many
15321       directories  in the root of the Salt fileserver. For this reason, it is
15322       recommended to use the minionfs_mountpoint config  option  to  organize
15323       these files underneath a subdirectory:
15324
15325          minionfs_mountpoint: salt://minionfs
15326
15327       Using the above mountpoint, the file in the example would be located at
15328       salt://minionfs/dev1/var/log/myapp.log.
15329
15330   Restricting Certain Minions' Files from Being Available Via MinionFS
15331       A whitelist and blacklist can be used to  restrict  the  minions  whose
15332       pushed  files  are  available  via minionfs. These lists can be managed
15333       using the minionfs_whitelist  and  minionfs_blacklist  config  options.
15334       Click  the  links for both of them for a detailed explanation of how to
15335       use them.
15336
15337       A more complex configuration example, which uses both a  whitelist  and
15338       blacklist, can be found below:
15339
15340          file_recv: True
15341
15342          fileserver_backend:
15343            - roots
15344            - minionfs
15345
15346          minionfs_mountpoint: salt://minionfs
15347
15348          minionfs_whitelist:
15349            - host04
15350            - web*
15351            - 'mail\d+\.domain\.tld'
15352
15353          minionfs_blacklist:
15354            - web21
15355
15356   Potential Concerns
15357       · There  is  no  access control in place to restrict which minions have
15358         access to files served up by minionfs. All minions will  have  access
15359         to these files.
15360
15361       · Unless   the   minionfs_whitelist  and/or  minionfs_blacklist  config
15362         options are used, all minions which push files  to  the  master  will
15363         have their files made available via minionfs.
15364
15365   Salt Package Manager
15366       The  Salt Package Manager, or SPM, enables Salt formulas to be packaged
15367       to simplify distribution to Salt masters. The design of SPM was  influ‐
15368       enced  by other existing packaging systems including RPM, Yum, and Pac‐
15369       man.  [image]
15370
15371       NOTE:
15372          The previous diagram shows each SPM component as a different system,
15373          but  this  is  not required. You can build packages and host the SPM
15374          repo on a single Salt master if you'd like.
15375
15376       Packaging System
15377
15378       The packaging system is used to package the state,  pillar,  file  tem‐
15379       plates,  and other files used by your formula into a single file. After
15380       a formula package is created, it is copied  to  the  Repository  System
15381       where it is made available to Salt masters.
15382
15383       See Building SPM Packages
15384
15385       Repo System
15386
15387       The  Repo  system  stores  the SPM package and metadata files and makes
15388       them available to Salt masters via http(s),  ftp,  or  file  URLs.  SPM
15389       repositories  can  be  hosted  on  a  Salt Master, a Salt Minion, or on
15390       another system.
15391
15392       See Distributing SPM Packages
15393
15394       Salt Master
15395
15396       SPM provides Salt master settings that let you configure the URL of one
15397       or  more  SPM repos. You can then quickly install packages that contain
15398       entire formulas to your Salt masters using SPM.
15399
15400       See Installing SPM Packages
15401
15402       Contents
15403
15404   Building SPM Packages
15405       The first step when using Salt Package Manager is to build packages for
15406       each  of  of  the formulas that you want to distribute. Packages can be
15407       built on any system where you can install Salt.
15408
15409   Package Build Overview
15410       To build a package, all state, pillar, jinja, and file  templates  used
15411       by  your formula are assembled into a folder on the build system. These
15412       files can be cloned from a Git repository, such as those found  at  the
15413       saltstack-formulas  organization  on  GitHub, or copied directly to the
15414       folder.
15415
15416       The following diagram demonstrates a  typical  formula  layout  on  the
15417       build system: [image]
15418
15419       In  this  example,  all  formula  files  are  placed in a myapp-formula
15420       folder.  This is the folder that is targeted by the spm  build  command
15421       when this package is built.
15422
15423       Within  this  folder, pillar data is placed in a pillar.example file at
15424       the root, and all state, jinja, and template files are placed within  a
15425       subfolder  that  is  named  after the application being packaged. State
15426       files are typically contained within a subfolder, similar to how  state
15427       files  are  organized  in  the state tree. Any non-pillar files in your
15428       package that are not contained in a subfolder are placed at the root of
15429       the spm state tree.
15430
15431       Additionally,  a  FORMULA file is created and placed in the root of the
15432       folder. This file contains package metadata that is used by SPM.
15433
15434   Package Installation Overview
15435       When building packages, it is useful to know where files are  installed
15436       on  the Salt master. During installation, all files except pillar.exam‐
15437       ple and FORMULA are copied directly to the spm state tree on  the  Salt
15438       master (located at \srv\spm\salt).
15439
15440       If a pillar.example file is present in the root, it is renamed to <for‐
15441       mula name>.sls.orig and placed in the pillar_path.  [image]
15442
15443       NOTE:
15444          Even though the pillar data file is copied to the pillar  root,  you
15445          still  need to manually assign this pillar data to systems using the
15446          pillar top file. This file can also be duplicated and renamed so the
15447          .orig version is left intact in case you need to restore it later.
15448
15449   Building an SPM Formula Package
15450       1. Assemble formula files in a folder on the build system.
15451
15452       2. Create  a  FORMULA  file  and  place  it  in the root of the package
15453          folder.
15454
15455       3. Run spm build <folder name>. The package is built and placed in  the
15456          /srv/spm_build folder.
15457
15458             spm build /path/to/salt-packages-source/myapp-formula
15459
15460       4. Copy the .spm file to a folder on the repository system.
15461
15462   Types of Packages
15463       SPM  supports different types of packages. The function of each package
15464       is denoted by its name. For instance, packages which  end  in  -formula
15465       are  considered  to  be  Salt States (the most common type of formula).
15466       Packages which end in -conf contain configuration which is to be placed
15467       in the /etc/salt/ directory. Packages which do not contain one of these
15468       names are treated as if they have a -formula name.
15469
15470   formula
15471       By  default,  most  files  from  this  type  of  package  live  in  the
15472       /srv/spm/salt/  directory.  The  exception  is the pillar.example file,
15473       which will be renamed to <package_name>.sls and placed  in  the  pillar
15474       directory (/srv/spm/pillar/ by default).
15475
15476   reactor
15477       By  default, files from this type of package live in the /srv/spm/reac‐
15478       tor/ directory.
15479
15480   conf
15481       The files in this type of package are  configuration  files  for  Salt,
15482       which  normally  live  in the /etc/salt/ directory. Configuration files
15483       for packages other than Salt can and should  be  handled  with  a  Salt
15484       State (using a formula type of package).
15485
15486   Technical Information
15487       Packages are built using BZ2-compressed tarballs. By default, the pack‐
15488       age database is stored using the sqlite3  driver  (see  Loader  Modules
15489       below).
15490
15491       Support  for  these are built into Python, and so no external dependen‐
15492       cies are needed.
15493
15494       All other files belonging to SPM use YAML, for portability and ease  of
15495       use and maintainability.
15496
15497   SPM-Specific Loader Modules
15498       SPM  was  designed  to  behave like traditional package managers, which
15499       apply files to the filesystem and store package  metadata  in  a  local
15500       database.  However,  because modern infrastructures often extend beyond
15501       those use cases, certain parts of SPM have been broken out  into  their
15502       own set of modules.
15503
15504   Package Database
15505       By  default,  the  package database is stored using the sqlite3 module.
15506       This module was chosen because support for SQLite3 is built into Python
15507       itself.
15508
15509       Please  see  the  SPM Development Guide for information on creating new
15510       modules for package database management.
15511
15512   Package Files
15513       By default, package files are installed using the  local  module.  This
15514       module  applies  files to the local filesystem, on the machine that the
15515       package is installed on.
15516
15517       Please see the SPM Development Guide for information  on  creating  new
15518       modules for package file management.
15519
15520   Distributing SPM Packages
15521       SPM  packages  can be distributed to Salt masters over HTTP(S), FTP, or
15522       through the file system. The SPM repo can be hosted on any system where
15523       you  can  install  Salt.  Salt is installed so you can run the spm cre‐
15524       ate_repo command when you update or add a  package  to  the  repo.  SPM
15525       repos do not require the salt-master, salt-minion, or any other process
15526       running on the system.
15527
15528       NOTE:
15529          If you are hosting the SPM repo on a system where you can not or  do
15530          not want to install Salt, you can run the spm create_repo command on
15531          the build system and  then  copy  the  packages  and  the  generated
15532          SPM-METADATA  file  to  the  repo.  You  can  also install SPM files
15533          directly on a Salt master, bypassing the repository completely.
15534
15535   Setting up a Package Repository
15536       After packages are built, the generated SPM files  are  placed  in  the
15537       srv/spm_build folder.
15538
15539       Where  you  place the built SPM files on your repository server depends
15540       on how you plan to make them available to your Salt masters.
15541
15542       You can share the srv/spm_build folder on  the  network,  or  copy  the
15543       files to your FTP or Web server.
15544
15545   Adding a Package to the repository
15546       New  packages  are  added  by  simply  copying the SPM file to the repo
15547       folder, and then generating repo metadata.
15548
15549   Generate Repo Metadata
15550       Each time you update or add an SPM package to your repository, issue an
15551       spm create_repo command:
15552
15553          spm create_repo /srv/spm_build
15554
15555       SPM  generates  the repository metadata for all of the packages in that
15556       directory and places it in an SPM-METADATA file  at  the  folder  root.
15557       This command is used even if repository metadata already exists in that
15558       directory.
15559
15560   Installing SPM Packages
15561       SPM packages are installed to your Salt master, where they  are  avail‐
15562       able to Salt minions using all of Salt's package management functions.
15563
15564   Configuring Remote Repositories
15565       Before  SPM can use a repository, two things need to happen. First, the
15566       Salt master needs to know where the repository is through a  configura‐
15567       tion process. Then it needs to pull down the repository metadata.
15568
15569   Repository Configuration Files
15570       Repositories   are   configured   by   adding   each  of  them  to  the
15571       /etc/salt/spm.repos.d/spm.repo file on each Salt master. This file con‐
15572       tains the name of the repository, and the link to the repository:
15573
15574          my_repo:
15575            url: https://spm.example.com/
15576
15577       For HTTP/HTTPS Basic authorization you can define credentials:
15578
15579          my_repo:
15580            url: https://spm.example.com/
15581            username: user
15582            password: pass
15583
15584       Beware  of  unauthorized  access to this file, please set at least 0640
15585       permissions for this configuration file:
15586
15587       The URL can use http, https, ftp, or file.
15588
15589          my_repo:
15590            url: file:///srv/spm_build
15591
15592   Updating Local Repository Metadata
15593       After the repository is configured on the Salt master, repository meta‐
15594       data is downloaded using the spm update_repo command:
15595
15596          spm update_repo
15597
15598       NOTE:
15599          A  file  for  each repo is placed in /var/cache/salt/spm on the Salt
15600          master after you run the update_repo command. If you add  a  reposi‐
15601          tory  and it does not seem to be showing up, check this path to ver‐
15602          ify that the repository was found.
15603
15604   Update File Roots
15605       SPM packages are installed to the srv/spm/salt folder on your Salt mas‐
15606       ter.  This path needs to be added to the file roots on your Salt master
15607       manually.
15608
15609          file_roots:
15610            base:
15611              1. /srv/salt
15612              2. /srv/spm/salt
15613
15614       Restart the salt-master service after updating the file_roots setting.
15615
15616   Installing Packages
15617       To install a package, use the spm install command:
15618
15619          spm install apache
15620
15621       WARNING:
15622          Currently, SPM does not check to see if files are already  in  place
15623          before installing them. That means that existing files will be over‐
15624          written without warning.
15625
15626   Installing directly from an SPM file
15627       You can also install SPM packages using a local SPM file using the  spm
15628       local install command:
15629
15630          spm local install /srv/spm/apache-201506-1.spm
15631
15632       An SPM repository is not required when using spm local install.
15633
15634   Pillars
15635       If  an  installed  package  includes Pillar data, be sure to target the
15636       installed pillar to the necessary systems using the pillar Top file.
15637
15638   Removing Packages
15639       Packages may be removed after they are installed using the  spm  remove
15640       command.
15641
15642          spm remove apache
15643
15644       If  files  have been modified, they will not be removed. Empty directo‐
15645       ries will also be removed.
15646
15647   SPM Configuration
15648       There are a number of options that are specific to  SPM.  They  may  be
15649       configured  in  the master configuration file, or in SPM's own spm con‐
15650       figuration file (normally located at /etc/salt/spm). If  configured  in
15651       both  places,  the  spm file takes precedence. In general, these values
15652       will not need to be changed from the defaults.
15653
15654   spm_logfile
15655       Default: /var/log/salt/spm
15656
15657       Where SPM logs messages.
15658
15659   spm_repos_config
15660       Default: /etc/salt/spm.repos
15661
15662       SPM repositories are configured with this file. There is also a  direc‐
15663       tory  which  corresponds  to it, which ends in .d. For instance, if the
15664       filename   is    /etc/salt/spm.repos,    the    directory    will    be
15665       /etc/salt/spm.repos.d/.
15666
15667   spm_cache_dir
15668       Default: /var/cache/salt/spm
15669
15670       When  SPM  updates  package repository metadata and downloads packaged,
15671       they will be placed in this directory. The package  database,  normally
15672       called packages.db, also lives in this directory.
15673
15674   spm_db
15675       Default: /var/cache/salt/spm/packages.db
15676
15677       The location and name of the package database. This database stores the
15678       names of all of the SPM packages installed on  the  system,  the  files
15679       that belong to them, and the metadata for those files.
15680
15681   spm_build_dir
15682       Default: /srv/spm_build
15683
15684       When packages are built, they will be placed in this directory.
15685
15686   spm_build_exclude
15687       Default: ['.git']
15688
15689       When  SPM  builds  a package, it normally adds all files in the formula
15690       directory to the package. Files listed here will be excluded from  that
15691       package. This option requires a list to be specified.
15692
15693          spm_build_exclude:
15694            - .git
15695            - .svn
15696
15697   Types of Packages
15698       SPM  supports different types of formula packages. The function of each
15699       package is denoted by its name. For instance,  packages  which  end  in
15700       -formula are considered to be Salt States (the most common type of for‐
15701       mula). Packages which end in -conf contain configuration which is to be
15702       placed  in  the /etc/salt/ directory. Packages which do not contain one
15703       of these names are treated as if they have a -formula name.
15704
15705   formula
15706       By  default,  most  files  from  this  type  of  package  live  in  the
15707       /srv/spm/salt/  directory.  The  exception  is the pillar.example file,
15708       which will be renamed to <package_name>.sls and placed  in  the  pillar
15709       directory (/srv/spm/pillar/ by default).
15710
15711   reactor
15712       By  default, files from this type of package live in the /srv/spm/reac‐
15713       tor/ directory.
15714
15715   conf
15716       The files in this type of package are  configuration  files  for  Salt,
15717       which  normally  live  in the /etc/salt/ directory. Configuration files
15718       for packages other than Salt can and should  be  handled  with  a  Salt
15719       State (using a formula type of package).
15720
15721   FORMULA File
15722       In  addition  to  the  formula  itself, a FORMULA file must exist which
15723       describes the package. An example of this file is:
15724
15725          name: apache
15726          os: RedHat, Debian, Ubuntu, SUSE, FreeBSD
15727          os_family: RedHat, Debian, Suse, FreeBSD
15728          version: 201506
15729          release: 2
15730          summary: Formula for installing Apache
15731          description: Formula for installing Apache
15732
15733   Required Fields
15734       This file must contain at least the following fields:
15735
15736   name
15737       The name of the package, as it will appear in the package filename,  in
15738       the  repository  metadata, and the package database. Even if the source
15739       formula has -formula in its name, this name should probably not include
15740       that.  For instance, when packaging the apache-formula, the name should
15741       be set to apache.
15742
15743   os
15744       The value of the os grain that this formula supports. This is  used  to
15745       help users know which operating systems can support this package.
15746
15747   os_family
15748       The  value  of  the os_family grain that this formula supports. This is
15749       used to help users know which operating  system  families  can  support
15750       this package.
15751
15752   version
15753       The  version  of  the  package. While it is up to the organization that
15754       manages this package, it is suggested that this version is specified in
15755       a  YYYYMM  format.   For instance, if this version was released in June
15756       2015, the package version should be 201506. If  multiple  releases  are
15757       made in a month, the release field should be used.
15758
15759   minimum_version
15760       Minimum  recommended version of Salt to use this formula. Not currently
15761       enforced.
15762
15763   release
15764       This field refers primarily to a release of a version, but also to mul‐
15765       tiple  versions  within a month. In general, if a version has been made
15766       public, and immediate updates need to be made to it, this field  should
15767       also be updated.
15768
15769   summary
15770       A one-line description of the package.
15771
15772   description
15773       A  more detailed description of the package which can contain more than
15774       one line.
15775
15776   Optional Fields
15777       The following fields may also be present.
15778
15779   top_level_dir
15780       This field is optional, but highly recommended. If it is not specified,
15781       the package name will be used.
15782
15783       Formula  repositories  typically do not store .sls files in the root of
15784       the  repository;  instead  they  are  stored  in  a  subdirectory.  For
15785       instance, an apache-formula repository would contain a directory called
15786       apache, which would contain an init.sls, plus a number of other related
15787       files. In this instance, the top_level_dir should be set to apache.
15788
15789       Files  outside  the  top_level_dir,  such  as  README.rst, FORMULA, and
15790       LICENSE will not be installed. The exceptions to this  rule  are  files
15791       that  are  already  treated specially, such as pillar.example and _mod‐
15792       ules/.
15793
15794   dependencies
15795       A comma-separated list of packages that must be  installed  along  with
15796       this  package. When this package is installed, SPM will attempt to dis‐
15797       cover and install these packages as well. If it is unable to,  then  it
15798       will refuse to install this package.
15799
15800       This is useful for creating packages which tie together other packages.
15801       For instance, a package called  wordpress-mariadb-apache  would  depend
15802       upon wordpress, mariadb, and apache.
15803
15804   optional
15805       A  comma-separated  list of packages which are related to this package,
15806       but are neither required nor necessarily recommended. This list is dis‐
15807       played  in  an  informational  message when the package is installed to
15808       SPM.
15809
15810   recommended
15811       A comma-separated list of optional packages that are recommended to  be
15812       installed  with the package. This list is displayed in an informational
15813       message when the package is installed to SPM.
15814
15815   files
15816       A files section can be added, to specify a list of files to add to  the
15817       SPM.  Such a section might look like:
15818
15819          files:
15820            - _pillar
15821            - FORMULA
15822            - _runners
15823            - d|mymodule/index.rst
15824            - r|README.rst
15825
15826       When  files  are  specified, then only those files will be added to the
15827       SPM, regardless of what other files exist in the directory.  They  will
15828       also  be  added  in  the order specified, which is useful if you have a
15829       need to lay down files in a specific order.
15830
15831       As can be seen in the example above, you may also tag files as being  a
15832       specific  type.  This  is done by pre-pending a filename with its type,
15833       followed by a pipe (|) character. The above example contains a document
15834       file and a readme. The available file types are:
15835
15836       · c: config file
15837
15838       · d: documentation file
15839
15840       · g: ghost file (i.e. the file contents are not included in the package
15841         payload)
15842
15843       · l: license file
15844
15845       · r: readme file
15846
15847       · s: SLS file
15848
15849       · m: Salt module
15850
15851       The first 5 of  these  types  (c,  d,  g,  l,  r)  will  be  placed  in
15852       /usr/share/salt/spm/  by  default.  This  can  be changed by setting an
15853       spm_share_dir value in your /etc/salt/spm configuration file.
15854
15855       The last two types (s and  m)  are  currently  ignored,  but  they  are
15856       reserved for future use.
15857
15858   Pre and Post States
15859       It is possible to run Salt states before and after installing a package
15860       by using pre and post states. The following sections may be declared in
15861       a FORMULA:
15862
15863       · pre_local_state
15864
15865       · pre_tgt_state
15866
15867       · post_local_state
15868
15869       · post_tgt_state
15870
15871       Sections  with  pre  in  their  name  are evaluated before a package is
15872       installed and sections with post  are  evaluated  after  a  package  is
15873       installed. local states are evaluated before tgt states.
15874
15875       Each  of  these  sections needs to be evaluated as text, rather than as
15876       YAML.  Consider the following block:
15877
15878          pre_local_state: >
15879            echo test > /tmp/spmtest:
15880              cmd:
15881                - run
15882
15883       Note that this declaration uses > after pre_local_state. This is a YAML
15884       marker  that  marks  the  next multi-line block as text, including new‐
15885       lines. It is important to use this marker  whenever  declaring  pre  or
15886       post states, so that the text following it can be evaluated properly.
15887
15888   local States
15889       local  states  are  evaluated  locally;  this is analogous to issuing a
15890       state run using a salt-call --local command.  These  commands  will  be
15891       issued  on  the  local  machine  running  the spm command, whether that
15892       machine is a master or a minion.
15893
15894       local states do not require any special arguments, but they must  still
15895       use  the  > marker to denote that the state is evaluated as text, not a
15896       data structure.
15897
15898          pre_local_state: >
15899            echo test > /tmp/spmtest:
15900              cmd:
15901                - run
15902
15903   tgt States
15904       tgt states are issued against a remote target.  This  is  analogous  to
15905       issuing  a  state  using the salt command. As such it requires that the
15906       machine that the spm command is running on is a master.
15907
15908       Because tgt states require that  a  target  be  specified,  their  code
15909       blocks are a little different. Consider the following state:
15910
15911          pre_tgt_state:
15912            tgt: '*'
15913            data: >
15914              echo test > /tmp/spmtest:
15915                cmd:
15916                  - run
15917
15918       With  tgt states, the state data is placed under a data section, inside
15919       the *_tgt_state code block. The target is of course specified as a  tgt
15920       and you may also optionally specify a tgt_type (the default is glob).
15921
15922       You  still  need to use the > marker, but this time it follows the data
15923       line, rather than the *_tgt_state line.
15924
15925   Templating States
15926       The reason that state data must be evaluated as text rather than a data
15927       structure  is  because  that  state data is first processed through the
15928       rendering engine, as it would be with a standard state run.
15929
15930       This means that you can use  Jinja  or  any  other  supported  renderer
15931       inside of Salt. All formula variables are available to the renderer, so
15932       you can reference FORMULA data inside your state if you need to:
15933
15934          pre_tgt_state:
15935            tgt: '*'
15936            data: >
15937               echo {{ name }} > /tmp/spmtest:
15938                cmd:
15939                  - run
15940
15941       You may also declare your own variables  inside  the  FORMULA.  If  SPM
15942       doesn't  recognize  them  then  it  will  ignore  them, so there are no
15943       restrictions on variable names, outside of avoiding reserved words.
15944
15945       By default the renderer is set to jinja|yaml. You may  change  this  by
15946       changing the renderer setting in the FORMULA itself.
15947
15948   Building a Package
15949       Once a FORMULA file has been created, it is placed into the root of the
15950       formula that is to be turned into a package. The spm build  command  is
15951       used to turn that formula into a package:
15952
15953          spm build /path/to/saltstack-formulas/apache-formula
15954
15955       The  resulting  file  will be placed in the build directory. By default
15956       this directory is located at /srv/spm/.
15957
15958   Loader Modules
15959       When an execution module is placed  in  <file_roots>/_modules/  on  the
15960       master,  it  will  automatically  be synced to minions, the next time a
15961       sync operation takes place. Other modules are also propagated this way:
15962       state modules can be placed in _states/, and so on.
15963
15964       When  SPM  detects  a  file  in a package which resides in one of these
15965       directories, that directory will be placed in <file_roots>  instead  of
15966       in the formula directory with the rest of the files.
15967
15968   Removing Packages
15969       Packages  may  be  removed once they are installed using the spm remove
15970       command.
15971
15972          spm remove apache
15973
15974       If files have been modified, they will not be removed.  Empty  directo‐
15975       ries will also be removed.
15976
15977   Technical Information
15978       Packages are built using BZ2-compressed tarballs. By default, the pack‐
15979       age database is stored using the sqlite3  driver  (see  Loader  Modules
15980       below).
15981
15982       Support  for  these are built into Python, and so no external dependen‐
15983       cies are needed.
15984
15985       All other files belonging to SPM use YAML, for portability and ease  of
15986       use and maintainability.
15987
15988   SPM-Specific Loader Modules
15989       SPM  was  designed  to  behave like traditional package managers, which
15990       apply files to the filesystem and store package  metadata  in  a  local
15991       database.  However,  because modern infrastructures often extend beyond
15992       those use cases, certain parts of SPM have been broken out  into  their
15993       own set of modules.
15994
15995   Package Database
15996       By  default,  the  package database is stored using the sqlite3 module.
15997       This module was chosen because support for SQLite3 is built into Python
15998       itself.
15999
16000       Please  see  the  SPM Development Guide for information on creating new
16001       modules for package database management.
16002
16003   Package Files
16004       By default, package files are installed using the  local  module.  This
16005       module  applies  files to the local filesystem, on the machine that the
16006       package is installed on.
16007
16008       Please see the SPM Development Guide for information  on  creating  new
16009       modules for package file management.
16010
16011   Types of Packages
16012       SPM  supports different types of formula packages. The function of each
16013       package is denoted by its name. For instance,  packages  which  end  in
16014       -formula are considered to be Salt States (the most common type of for‐
16015       mula). Packages which end in -conf contain configuration which is to be
16016       placed  in  the /etc/salt/ directory. Packages which do not contain one
16017       of these names are treated as if they have a -formula name.
16018
16019   formula
16020       By  default,  most  files  from  this  type  of  package  live  in  the
16021       /srv/spm/salt/  directory.  The  exception  is the pillar.example file,
16022       which will be renamed to <package_name>.sls and placed  in  the  pillar
16023       directory (/srv/spm/pillar/ by default).
16024
16025   reactor
16026       By  default, files from this type of package live in the /srv/spm/reac‐
16027       tor/ directory.
16028
16029   conf
16030       The files in this type of package are  configuration  files  for  Salt,
16031       which  normally  live  in the /etc/salt/ directory. Configuration files
16032       for packages other than Salt can and should  be  handled  with  a  Salt
16033       State (using a formula type of package).
16034
16035   SPM Development Guide
16036       This document discusses developing additional code for SPM.
16037
16038   SPM-Specific Loader Modules
16039       SPM  was  designed  to  behave like traditional package managers, which
16040       apply files to the filesystem and store package  metadata  in  a  local
16041       database.  However,  because modern infrastructures often extend beyond
16042       those use cases, certain parts of SPM have been broken out  into  their
16043       own set of modules.
16044
16045       Each function that accepts arguments has a set of required and optional
16046       arguments. Take note that SPM will pass all arguments in, and therefore
16047       each  function  must accept each of those arguments. However, arguments
16048       that are marked as required are crucial to  SPM's  core  functionality,
16049       while  arguments  that are marked as optional are provided as a benefit
16050       to the module, if it needs to use them.
16051
16052   Package Database
16053       By default, the package database is stored using  the  sqlite3  module.
16054       This module was chosen because support for SQLite3 is built into Python
16055       itself.
16056
16057       Modules  for  managing  the  package  database  are   stored   in   the
16058       salt/spm/pkgdb/  directory. A number of functions must exist to support
16059       database management.
16060
16061   init()
16062       Get a database connection, and initialize the package database if  nec‐
16063       essary.
16064
16065       This  function  accepts  no arguments. If a database is used which sup‐
16066       ports a connection object, then that connection object is returned. For
16067       instance,  the  sqlite3  module  returns  a  connect()  object from the
16068       sqlite3 library:
16069
16070          conn = sqlite3.connect(__opts__['spm_db'], isolation_level=None)
16071          ...
16072          return conn
16073
16074       SPM itself will not use this connection object; it will  be  passed  in
16075       as-is  to the other functions in the module. Therefore, when you set up
16076       this object, make sure to do so in a way that is easily usable through‐
16077       out the module.
16078
16079   info()
16080       Return information for a package. This generally consists of the infor‐
16081       mation that is stored in the FORMULA file in the package.
16082
16083       The arguments that are passed in, in order, are package (required)  and
16084       conn (optional).
16085
16086       package  is the name of the package, as specified in the FORMULA.  conn
16087       is the connection object returned from init().
16088
16089   list_files()
16090       Return a list of files for an  installed  package.  Only  the  filename
16091       should be returned, and no other information.
16092
16093       The  arguments that are passed in, in order, are package (required) and
16094       conn (optional).
16095
16096       package is the name of the package, as specified in the FORMULA.   conn
16097       is the connection object returned from init().
16098
16099   register_pkg()
16100       Register  a  package in the package database. Nothing is expected to be
16101       returned from this function.
16102
16103       The arguments that are passed in, in order, are name  (required),  for‐
16104       mula_def (required), and conn (optional).
16105
16106       name  is  the  name  of the package, as specified in the FORMULA.  for‐
16107       mula_def is the contents of the FORMULA file, as a dict.  conn  is  the
16108       connection object returned from init().
16109
16110   register_file()
16111       Register  a  file  in  the  package database. Nothing is expected to be
16112       returned from this function.
16113
16114       The  arguments  that  are  passed  in  are  name   (required),   member
16115       (required), path (required), digest (optional), and conn (optional).
16116
16117       name is the name of the package.
16118
16119       member  is  a  tarfile  object  for  the  package file. It is included,
16120       because it contains most of the information for the file.
16121
16122       path is the location of the file on the local filesystem.
16123
16124       digest is the SHA1 checksum of the file.
16125
16126       conn is the connection object returned from init().
16127
16128   unregister_pkg()
16129       Unregister a package from  the  package  database.  This  usually  only
16130       involves  removing  the  package's record from the database. Nothing is
16131       expected to be returned from this function.
16132
16133       The arguments that are passed in, in order,  are  name  (required)  and
16134       conn (optional).
16135
16136       name  is  the name of the package, as specified in the FORMULA. conn is
16137       the connection object returned from init().
16138
16139   unregister_file()
16140       Unregister a package from  the  package  database.  This  usually  only
16141       involves  removing  the  package's record from the database. Nothing is
16142       expected to be returned from this function.
16143
16144       The arguments that are passed in, in order, are  name  (required),  pkg
16145       (optional) and conn (optional).
16146
16147       name is the path of the file, as it was installed on the filesystem.
16148
16149       pkg is the name of the package that the file belongs to.
16150
16151       conn is the connection object returned from init().
16152
16153   db_exists()
16154       Check  to  see whether the package database already exists. This is the
16155       path to the package database file. This function will  return  True  or
16156       False.
16157
16158       The  only  argument that is expected is db_, which is the package data‐
16159       base file.
16160
16161   Package Files
16162       By default, package files are installed using the  local  module.  This
16163       module  applies  files to the local filesystem, on the machine that the
16164       package is installed on.
16165
16166       Modules  for  managing  the  package  database  are   stored   in   the
16167       salt/spm/pkgfiles/  directory. A number of functions must exist to sup‐
16168       port file management.
16169
16170   init()
16171       Initialize the installation location for the  package  files.  Normally
16172       these  will be directory paths, but other external destinations such as
16173       databases can be used. For this reason, this  function  will  return  a
16174       connection  object,  which  can  be  a database object. However, in the
16175       default local module, this object is a dict containing the paths.  This
16176       object will be passed into all other functions.
16177
16178       Three  directories  are  used  for the destinations: formula_path, pil‐
16179       lar_path, and reactor_path.
16180
16181       formula_path is the  location  of  most  of  the  files  that  will  be
16182       installed.   The  default  is  specific to the operating system, but is
16183       normally /srv/salt/.
16184
16185       pillar_path is the  location  that  the  pillar.example  file  will  be
16186       installed  to.  The default is specific to the operating system, but is
16187       normally /srv/pillar/.
16188
16189       reactor_path is the location that reactor files will be  installed  to.
16190       The  default  is  specific  to  the  operating  system, but is normally
16191       /srv/reactor/.
16192
16193   check_existing()
16194       Check the filesystem for existing files. All files for the package will
16195       be  checked,  and if any are existing, then this function will normally
16196       state that SPM will refuse to install the package.
16197
16198       This function returns a list of the files that exist on the system.
16199
16200       The arguments that are passed into this function are, in order: package
16201       (required),  pkg_files  (required), formula_def (formula_def), and conn
16202       (optional).
16203
16204       package is the name of the package that is to be installed.
16205
16206       pkg_files is a list of the files to be checked.
16207
16208       formula_def is a copy of the information that is stored in the  FORMULA
16209       file.
16210
16211       conn is the file connection object.
16212
16213   install_file()
16214       Install  a single file to the destination (normally on the filesystem).
16215       Nothing is expected to be returned from this function.
16216
16217       This function returns the final location that the  file  was  installed
16218       to.
16219
16220       The arguments that are passed into this function are, in order, package
16221       (required),  formula_tar  (required),  member  (required),  formula_def
16222       (required), and conn (optional).
16223
16224       package is the name of the package that is to be installed.
16225
16226       formula_tar is the tarfile object for the package. This is passed in so
16227       that the function can call formula_tar.extract() for the file.
16228
16229       member is the tarfile object which represents the individual file. This
16230       may   be   modified   as  necessary,  before  being  passed  into  for‐
16231       mula_tar.extract().
16232
16233       formula_def is a copy of the information from the FORMULA file.
16234
16235       conn is the file connection object.
16236
16237   remove_file()
16238       Remove a single file from file system. Normally  this  will  be  little
16239       more  than an os.remove(). Nothing is expected to be returned from this
16240       function.
16241
16242       The arguments that are passed into this function are,  in  order,  path
16243       (required) and conn (optional).
16244
16245       path is the absolute path to the file to be removed.
16246
16247       conn is the file connection object.
16248
16249   hash_file()
16250       Returns the hexdigest hash value of a file.
16251
16252       The  arguments  that  are passed into this function are, in order, path
16253       (required), hashobj (required), and conn (optional).
16254
16255       path is the absolute path to the file.
16256
16257       hashobj is a reference to hashlib.sha1(), which is  used  to  pull  the
16258       hexdigest() for the file.
16259
16260       conn is the file connection object.
16261
16262       This function will not generally be more complex than:
16263
16264          def hash_file(path, hashobj, conn=None):
16265              with salt.utils.files.fopen(path, 'r') as f:
16266                  hashobj.update(f.read())
16267                  return hashobj.hexdigest()
16268
16269   path_exists()
16270       Check to see whether the file already exists on the filesystem. Returns
16271       True or False.
16272
16273       This function expects a path argument, which is the  absolute  path  to
16274       the file to be checked.
16275
16276   path_isdir()
16277       Check to see whether the path specified is a directory. Returns True or
16278       False.
16279
16280       This function expects a path argument, which is the absolute path to be
16281       checked.
16282
16283   Storing Data in Other Databases
16284       The  SDB  interface is designed to store and retrieve data that, unlike
16285       pillars and grains, is not  necessarily  minion-specific.  The  initial
16286       design  goal  was to allow passwords to be stored in a secure database,
16287       such as one managed by the keyring package, rather than  as  plain-text
16288       files.  However, as a generic database interface, it could conceptually
16289       be used for a number of other purposes.
16290
16291       SDB was added to Salt in version 2014.7.0.
16292
16293   SDB Configuration
16294       In order to use the SDB interface, a configuration profile must be  set
16295       up.   To be available for master commands, such as runners, it needs to
16296       be configured in the master configuration. For modules  executed  on  a
16297       minion,  it can be set either in the minion configuration file, or as a
16298       pillar. The configuration stanza includes the name/ID that the  profile
16299       will  be referred to as, a driver setting, and any other arguments that
16300       are necessary for the SDB module that will be  used.  For  instance,  a
16301       profile  called mykeyring, which uses the system service in the keyring
16302       module would look like:
16303
16304          mykeyring:
16305            driver: keyring
16306            service: system
16307
16308       It is recommended to keep the name of the profile simple, as it is used
16309       in the SDB URI as well.
16310
16311   SDB URIs
16312       SDB  is  designed  to make small database queries (hence the name, SDB)
16313       using a compact URL. This allows users to reference  a  database  value
16314       quickly  inside  a number of Salt configuration areas, without a lot of
16315       overhead. The basic format of an SDB URI is:
16316
16317          sdb://<profile>/<args>
16318
16319       The profile refers to the configuration profile defined in  either  the
16320       master  or  the minion configuration file. The args are specific to the
16321       module referred to in the profile, but  will  typically  only  need  to
16322       refer  to  the  key  of  a  key/value pair inside the database. This is
16323       because the profile itself should define as many  other  parameters  as
16324       possible.
16325
16326       For  example,  a profile might be set up to reference credentials for a
16327       specific OpenStack account. The profile might look like:
16328
16329          kevinopenstack:
16330            driver: keyring
16331            service: salt.cloud.openstack.kevin
16332
16333       And the URI used to reference the password might look like:
16334
16335          sdb://kevinopenstack/password
16336
16337   Getting, Setting and Deleting SDB Values
16338       Once an SDB driver is configured, you can use the sdb execution  module
16339       to get, set and delete values from it. There are two functions that may
16340       appear in most SDB modules: get, set and delete.
16341
16342       Getting a value requires only the SDB URI to be specified. To  retrieve
16343       a value from the kevinopenstack profile above, you would use:
16344
16345          salt-call sdb.get sdb://kevinopenstack/password
16346
16347       Setting a value uses the same URI as would be used to retrieve it, fol‐
16348       lowed by the value as another argument.
16349
16350          salt-call sdb.set 'sdb://myvault/secret/salt/saltstack' 'super awesome'
16351
16352       Deleting values (if supported by the driver) is done  pretty  much  the
16353       same way as getting them. Provided that you have a profile called mykv‐
16354       store that uses a driver allowing to delete values you would  delete  a
16355       value as shown below:
16356
16357          salt-call sdb.delete 'sdb://mykvstore/foobar'
16358
16359       The sdb.get, sdb.set and sdb.delete functions are also available in the
16360       runner system:
16361
16362          salt-run sdb.get 'sdb://myvault/secret/salt/saltstack'
16363          salt-run sdb.set 'sdb://myvault/secret/salt/saltstack' 'super awesome'
16364          salt-run sdb.delete 'sdb://mykvstore/foobar'
16365
16366   Using SDB URIs in Files
16367       SDB URIs can be used in both configuration files, and  files  that  are
16368       processed  by  the renderer system (jinja, mako, etc.). In a configura‐
16369       tion file (such as /etc/salt/master, /etc/salt/minion, /etc/salt/cloud,
16370       etc.),  make  an  entry as usual, and set the value to the SDB URI. For
16371       instance:
16372
16373          mykey: sdb://myetcd/mykey
16374
16375       To retrieve this value using a module, the module in question must  use
16376       the  config.get  function  to retrieve configuration values. This would
16377       look something like:
16378
16379          mykey = __salt__['config.get']('mykey')
16380
16381       Templating renderers use a similar construct. To get  the  mykey  value
16382       from above in Jinja, you would use:
16383
16384          {{ salt['config.get']('mykey') }}
16385
16386       When retrieving data from configuration files using config.get, the SDB
16387       URI need only appear in the configuration file itself.
16388
16389       If you would like to retrieve a key directly from SDB, you  would  call
16390       the  sdb.get  function  directly,  using  the SDB URI. For instance, in
16391       Jinja:
16392
16393          {{ salt['sdb.get']('sdb://myetcd/mykey') }}
16394
16395       When writing Salt modules,  it  is  not  recommended  to  call  sdb.get
16396       directly,  as  it  requires  the user to provide values in SDB, using a
16397       specific URI. Use config.get instead.
16398
16399   Writing SDB Modules
16400       There is currently one function that  MUST  exist  in  any  SDB  module
16401       (get()),  one  that  SHOULD  exist  (set_())  and  one  that  MAY exist
16402       (delete()). If using a (set_()) function, a  __func_alias__  dictionary
16403       MUST be declared in the module as well:
16404
16405          __func_alias__ = {
16406              'set_': 'set',
16407          }
16408
16409       This  is  because  set  is  a  Python built-in, and therefore functions
16410       should not be created which are called set(). The __func_alias__  func‐
16411       tionality   is  provided  via  Salt's  loader  interfaces,  and  allows
16412       legally-named functions to be referred to using names that would other‐
16413       wise be unwise to use.
16414
16415       The  get()  function is required, as it will be called via functions in
16416       other areas of the code which make use of the sdb:// URI. For  example,
16417       the  config.get function in the config execution module uses this func‐
16418       tion.
16419
16420       The set_() function may be provided,  but  is  not  required,  as  some
16421       sources  may  be  read-only, or may be otherwise unwise to access via a
16422       URI (for instance, because of SQL injection attacks).
16423
16424       The delete() function may be provided as well, but is not required,  as
16425       many sources may be read-only or restrict such operations.
16426
16427       A simple example of an SDB module is salt/sdb/keyring_db.py, as it pro‐
16428       vides basic examples of most, if not all, of the types of functionality
16429       that  are  available  not only for SDB modules, but for Salt modules in
16430       general.
16431
16432   Running the Salt Master/Minion as an Unprivileged User
16433       While the default setup runs the master and minion as  the  root  user,
16434       some  may consider it an extra measure of security to run the master as
16435       a non-root user. Keep in mind that doing so does not  change  the  mas‐
16436       ter's capability to access minions as the user they are running as. Due
16437       to this many feel that running the master as a non-root user  does  not
16438       grant  any real security advantage which is why the master has remained
16439       as root by default.
16440
16441       NOTE:
16442          Some of Salt's operations cannot execute correctly when  the  master
16443          is  not  running as root, specifically the pam external auth system,
16444          as this system needs root access to check authentication.
16445
16446       As of Salt 0.9.10 it is possible to run Salt as a non-root  user.  This
16447       can  be  done by setting the user parameter in the master configuration
16448       file. and restarting the salt-master service.
16449
16450       The minion has it's own user parameter as well, but running the  minion
16451       as an unprivileged user will keep it from making changes to things like
16452       users, installed packages, etc. unless access controls (sudo, etc.) are
16453       setup  on  the  minion  to  permit the non-root user to make the needed
16454       changes.
16455
16456       In order to allow Salt to successfully run as a non-root  user,  owner‐
16457       ship,  and  permissions  need  to be set such that the desired user can
16458       read from and write to the following directories (and their subdirecto‐
16459       ries, where applicable):
16460
16461       · /etc/salt
16462
16463       · /var/cache/salt
16464
16465       · /var/log/salt
16466
16467       · /var/run/salt
16468
16469       Ownership can be easily changed with chown, like so:
16470
16471          # chown -R user /etc/salt /var/cache/salt /var/log/salt /var/run/salt
16472
16473       WARNING:
16474          Running  either  the  master  or  minion with the root_dir parameter
16475          specified will affect these paths,  as  will  setting  options  like
16476          pki_dir, cachedir, log_file, and other options that normally live in
16477          the above directories.
16478
16479   Using cron with Salt
16480       The Salt Minion can initiate its own highstate using the salt-call com‐
16481       mand.
16482
16483          $ salt-call state.apply
16484
16485       This will cause the minion to check in with the master and ensure it is
16486       in the correct "state".
16487
16488   Use cron to initiate a highstate
16489       If you would like the Salt Minion to regularly check in with the master
16490       you can use cron to run the salt-call command:
16491
16492          0 0 * * * salt-call state.apply
16493
16494       The above cron entry will run a highstate every day at midnight.
16495
16496       NOTE:
16497          When  executing  Salt using cron, keep in mind that the default PATH
16498          for cron may not include the path for any scripts or  commands  used
16499          by  Salt, and it may be necessary to set the PATH accordingly in the
16500          crontab:
16501
16502              PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/opt/bin
16503
16504              0 0 * * * salt-call state.apply
16505
16506   Hardening Salt
16507       This topic contains tips you can use to secure  and  harden  your  Salt
16508       environment.  How  you  best  secure  and  harden your Salt environment
16509       depends heavily on how you use Salt, where you use Salt, how your  team
16510       is  structured,  where  you  get  data  from,  and what kinds of access
16511       (internal and external) you require.
16512
16513   General hardening tips
16514       · Restrict who can directly log into your Salt master system.
16515
16516       · Use SSH keys secured with a passphrase to gain  access  to  the  Salt
16517         master system.
16518
16519       · Track  and  secure  SSH  keys and any other login credentials you and
16520         your team need to gain access to the Salt master system.
16521
16522       · Use a hardened bastion server or a VPN to restrict direct  access  to
16523         the Salt master from the internet.
16524
16525       · Don't expose the Salt master any more than what is required.
16526
16527       · Harden the system as you would with any high-priority target.
16528
16529       · Keep the system patched and up-to-date.
16530
16531       · Use tight firewall rules.
16532
16533   Salt hardening tips
16534       · Subscribe  to  salt-users  or salt-announce so you know when new Salt
16535         releases are available. Keep your systems up-to-date with the  latest
16536         patches.
16537
16538       · Use  Salt's Client ACL system to avoid having to give out root access
16539         in order to run Salt commands.
16540
16541       · Use Salt's Client ACL system to restrict which  users  can  run  what
16542         commands.
16543
16544       · Use  external  Pillar to pull data into Salt from external sources so
16545         that non-sysadmins (other teams, junior admins, developers, etc)  can
16546         provide configuration data without needing access to the Salt master.
16547
16548       · Make  heavy  use  of  SLS  files  that  are version-controlled and go
16549         through a peer-review/code-review process before they're deployed and
16550         run  in  production.  This is good advice even for "one-off" CLI com‐
16551         mands because it helps mitigate typos and mistakes.
16552
16553       · Use salt-api, SSL, and restrict authentication with the external auth
16554         system if you need to expose your Salt master to external services.
16555
16556       · Make  use of Salt's event system and reactor to allow minions to sig‐
16557         nal the Salt master without requiring direct access.
16558
16559       · Run the salt-master daemon as non-root.
16560
16561       · Disable which modules are loaded onto minions with  the  disable_mod‐
16562         ules  setting. (for example, disable the cmd module if it makes sense
16563         in your environment.)
16564
16565       · Look through the fully-commented  sample  master  and  minion  config
16566         files. There are many options for securing an installation.
16567
16568       · Run  masterless-mode minions on particularly sensitive minions. There
16569         is also salt-ssh or the modules.sudo if you need to further  restrict
16570         a minion.
16571
16572   Security disclosure policy
16573       email  security@saltstack.com
16574
16575       gpg key ID
16576              4EA0793D
16577
16578       gpg key fingerprint
16579              8ABE 4EFC F0F4 B24B FF2A  AF90 D570 F2D3 4EA0 793D
16580
16581       gpg public key:
16582
16583          -----BEGIN PGP PUBLIC KEY BLOCK-----
16584          Version: GnuPG/MacGPG2 v2.0.22 (Darwin)
16585
16586          mQINBFO15mMBEADa3CfQwk5ED9wAQ8fFDku277CegG3U1hVGdcxqKNvucblwoKCb
16587          hRK6u9ihgaO9V9duV2glwgjytiBI/z6lyWqdaD37YXG/gTL+9Md+qdSDeaOa/9eg
16588          7y+g4P+FvU9HWUlujRVlofUn5Dj/IZgUywbxwEybutuzvvFVTzsn+DFVwTH34Qoh
16589          QIuNzQCSEz3Lhh8zq9LqkNy91ZZQO1ZIUrypafspH6GBHHcE8msBFgYiNBnVcUFH
16590          u0r4j1Rav+621EtD5GZsOt05+NJI8pkaC/dDKjURcuiV6bhmeSpNzLaXUhwx6f29
16591          Vhag5JhVGGNQxlRTxNEM86HEFp+4zJQ8m/wRDrGX5IAHsdESdhP+ljDVlAAX/ttP
16592          /Ucl2fgpTnDKVHOA00E515Q87ZHv6awJ3GL1veqi8zfsLaag7rw1TuuHyGLOPkDt
16593          t5PAjsS9R3KI7pGnhqI6bTOi591odUdgzUhZChWUUX1VStiIDi2jCvyoOOLMOGS5
16594          AEYXuWYP7KgujZCDRaTNqRDdgPd93Mh9JI8UmkzXDUgijdzVpzPjYgFaWtyK8lsc
16595          Fizqe3/Yzf9RCVX/lmRbiEH+ql/zSxcWlBQd17PKaL+TisQFXcmQzccYgAxFbj2r
16596          QHp5ABEu9YjFme2Jzun7Mv9V4qo3JF5dmnUk31yupZeAOGZkirIsaWC3hwARAQAB
16597          tDBTYWx0U3RhY2sgU2VjdXJpdHkgVGVhbSA8c2VjdXJpdHlAc2FsdHN0YWNrLmNv
16598          bT6JAj4EEwECACgFAlO15mMCGwMFCQeGH4AGCwkIBwMCBhUIAgkKCwQWAgMBAh4B
16599          AheAAAoJENVw8tNOoHk9z/MP/2vzY27fmVxU5X8joiiturjlgEqQw41IYEmWv1Bw
16600          4WVXYCHP1yu/1MC1uuvOmOd5BlI8YO2C2oyW7d1B0NorguPtz55b7jabCElekVCh
16601          h/H4ZVThiwqgPpthRv/2npXjIm7SLSs/kuaXo6Qy2JpszwDVFw+xCRVL0tH9KJxz
16602          HuNBeVq7abWD5fzIWkmGM9hicG/R2D0RIlco1Q0VNKy8klG+pOFOW886KnwkSPc7
16603          JUYp1oUlHsSlhTmkLEG54cyVzrTP/XuZuyMTdtyTc3mfgW0adneAL6MARtC5UB/h
16604          q+v9dqMf4iD3wY6ctu8KWE8Vo5MUEsNNO9EA2dUR88LwFZ3ZnnXdQkizgR/Aa515
16605          dm17vlNkSoomYCo84eN7GOTfxWcq+iXYSWcKWT4X+h/ra+LmNndQWQBRebVUtbKE
16606          ZDwKmiQz/5LY5EhlWcuU4lVmMSFpWXt5FR/PtzgTdZAo9QKkBjcv97LYbXvsPI69
16607          El1BLAg+m+1UpE1L7zJT1il6PqVyEFAWBxW46wXCCkGssFsvz2yRp0PDX8A6u4yq
16608          rTkt09uYht1is61joLDJ/kq3+6k8gJWkDOW+2NMrmf+/qcdYCMYXmrtOpg/wF27W
16609          GMNAkbdyzgeX/MbUBCGCMdzhevRuivOI5bu4vT5s3KdshG+yhzV45bapKRd5VN+1
16610          mZRquQINBFO15mMBEAC5UuLii9ZLz6qHfIJp35IOW9U8SOf7QFhzXR7NZ3DmJsd3
16611          f6Nb/habQFIHjm3K9wbpj+FvaW2oWRlFVvYdzjUq6c82GUUjW1dnqgUvFwdmM835
16612          1n0YQ2TonmyaF882RvsRZrbJ65uvy7SQxlouXaAYOdqwLsPxBEOyOnMPSktW5V2U
16613          IWyxsNP3sADchWIGq9p5D3Y/loyIMsS1dj+TjoQZOKSj7CuRT98+8yhGAY8YBEXu
16614          9r3I9o6mDkuPpAljuMc8r09Im6az2egtK/szKt4Hy1bpSSBZU4W/XR7XwQNywmb3
16615          wxjmYT6Od3Mwj0jtzc3gQiH8hcEy3+BO+NNmyzFVyIwOLziwjmEcw62S57wYKUVn
16616          HD2nglMsQa8Ve0e6ABBMEY7zGEGStva59rfgeh0jUMJiccGiUDTMs0tdkC6knYKb
16617          u/fdRqNYFoNuDcSeLEw4DdCuP01l2W4yY+fiK6hAcL25amjzc+yYo9eaaqTn6RAT
16618          bzdhHQZdpAMxY+vNT0+NhP1Zo5gYBMR65Zp/VhFsf67ijb03FUtdw9N8dHwiR2m8
16619          vVA8kO/gCD6wS2p9RdXqrJ9JhnHYWjiVuXR+f755ZAndyQfRtowMdQIoiXuJEXYw
16620          6XN+/BX81gJaynJYc0uw0MnxWQX+A5m8HqEsbIFUXBYXPgbwXTm7c4IHGgXXdwAR
16621          AQABiQIlBBgBAgAPBQJTteZjAhsMBQkHhh+AAAoJENVw8tNOoHk91rcQAIhxLv4g
16622          duF/J1Cyf6Wixz4rqslBQ7DgNztdIUMjCThg3eB6pvIzY5d3DNROmwU5JvGP1rEw
16623          hNiJhgBDFaB0J/y28uSci+orhKDTHb/cn30IxfuAuqrv9dujvmlgM7JUswOtLZhs
16624          5FYGa6v1RORRWhUx2PQsF6ORg22QAaagc7OlaO3BXBoiE/FWsnEQCUsc7GnnPqi7
16625          um45OJl/pJntsBUKvivEU20fj7j1UpjmeWz56NcjXoKtEvGh99gM5W2nSMLE3aPw
16626          vcKhS4yRyLjOe19NfYbtID8m8oshUDji0XjQ1z5NdGcf2V1YNGHU5xyK6zwyGxgV
16627          xZqaWnbhDTu1UnYBna8BiUobkuqclb4T9k2WjbrUSmTwKixokCOirFDZvqISkgmN
16628          r6/g3w2TRi11/LtbUciF0FN2pd7rj5mWrOBPEFYJmrB6SQeswWNhr5RIsXrQd/Ho
16629          zvNm0HnUNEe6w5YBfA6sXQy8B0Zs6pcgLogkFB15TuHIIIpxIsVRv5z8SlEnB7HQ
16630          Io9hZT58yjhekJuzVQB9loU0C/W0lzci/pXTt6fd9puYQe1DG37pSifRG6kfHxrR
16631          if6nRyrfdTlawqbqdkoqFDmEybAM9/hv3BqriGahGGH/hgplNQbYoXfNwYMYaHuB
16632          aSkJvrOQW8bpuAzgVyd7TyNFv+t1kLlfaRYJ
16633          =wBTJ
16634          -----END PGP PUBLIC KEY BLOCK-----
16635
16636       The  SaltStack Security Team is available at security@saltstack.com for
16637       security-related bug reports or questions.
16638
16639       We request the disclosure of any security-related  bugs  or  issues  be
16640       reported  non-publicly until such time as the issue can be resolved and
16641       a security-fix release can be prepared. At that time  we  will  release
16642       the  fix  and  make a public announcement with upgrade instructions and
16643       download locations.
16644
16645   Security response procedure
16646       SaltStack takes security and the trust of our customers and users  very
16647       seriously. Our disclosure policy is intended to resolve security issues
16648       as quickly and safely as is possible.
16649
16650       1. A security report sent to security@saltstack.com is  assigned  to  a
16651          team  member.  This  person is the primary contact for questions and
16652          will coordinate the fix, release, and announcement.
16653
16654       2. The reported issue is reproduced and confirmed. A list  of  affected
16655          projects and releases is made.
16656
16657       3. Fixes  are  implemented  for all affected projects and releases that
16658          are actively supported. Back-ports of the fix are made  to  any  old
16659          releases that are actively supported.
16660
16661       4. Packagers  are  notified via the salt-packagers mailing list that an
16662          issue was reported and resolved, and that an announcement is  incom‐
16663          ing.
16664
16665       5. A  new  release  is created and pushed to all affected repositories.
16666          The release documentation provides a full description of the  issue,
16667          plus any upgrade instructions or other relevant details.
16668
16669       6. An  announcement is made to the salt-users and salt-announce mailing
16670          lists. The announcement contains a description of the  issue  and  a
16671          link to the full release documentation and download locations.
16672
16673   Receiving security announcements
16674       The  fastest  place  to  receive  security  announcements  is  via  the
16675       salt-announce mailing list. This list is low-traffic.
16676
16677   Salt Transport
16678       One of fundamental features of Salt is remote execution. Salt  has  two
16679       basic  "channels" for communicating with minions. Each channel requires
16680       a client (minion) and a server (master) implementation to  work  within
16681       Salt.  These pairs of channels will work together to implement the spe‐
16682       cific message passing required by the channel interface.
16683
16684   Pub Channel
16685       The pub channel, or publish channel, is how a master sends a job  (pay‐
16686       load) to a minion. This is a basic pub/sub paradigm, which has specific
16687       targeting semantics.  All data which goes  across  the  publish  system
16688       should  be  encrypted  such  that  only members of the Salt cluster can
16689       decrypt the publishes.
16690
16691   Req Channel
16692       The req channel is how the minions send data to the master. This inter‐
16693       face  is  primarily  used for fetching files and returning job returns.
16694       The req channels have two basic interfaces when talking to the  master.
16695       send  is  the  basic method that guarantees the message is encrypted at
16696       least so that only minions attached to the same master  can  read  it--
16697       but   no   guarantee  of  minion-master  confidentiality,  whereas  the
16698       crypted_transfer_decode_dictentry method does  guarantee  minion-master
16699       confidentiality.
16700
16701   Zeromq Transport
16702       NOTE:
16703          Zeromq is the current default transport within Salt
16704
16705       Zeromq is a messaging library with bindings into many languages. Zeromq
16706       implements a socket interface for message passing, with specific seman‐
16707       tics for the socket type.
16708
16709   Pub Channel
16710       The  pub  channel  is  implemented  using  zeromq's pub/sub sockets. By
16711       default we don't use zeromq's filtering, which means that  all  publish
16712       jobs are sent to all minions and filtered minion side. Zeromq does have
16713       publisher side filtering which can be enabled in salt using zmq_filter‐
16714       ing.
16715
16716   Req Channel
16717       The  req  channel  is implemented using zeromq's req/rep sockets. These
16718       sockets enforce a send/recv pattern, which  forces  salt  to  serialize
16719       messages  through  these  socket  pairs.  This  means that although the
16720       interface is asynchronous on the minion we cannot send a second message
16721       until we have received the reply of the first message.
16722
16723   TCP Transport
16724       The tcp transport is an implementation of Salt's channels using raw tcp
16725       sockets.  Since this isn't using a  pre-defined  messaging  library  we
16726       will  describe the wire protocol, message semantics, etc. in this docu‐
16727       ment.
16728
16729       The tcp transport is enabled by changing the transport setting  to  tcp
16730       on each Salt minion and Salt master.
16731
16732          transport: tcp
16733
16734       WARNING:
16735          We  currently recommend that when using Syndics that all Masters and
16736          Minions use the same transport. We're investigating a report  of  an
16737          error when using mixed transport types at very heavy loads.
16738
16739   Wire Protocol
16740       This implementation over TCP focuses on flexibility over absolute effi‐
16741       ciency.  This means we are okay to spend a  couple  of  bytes  of  wire
16742       space  for flexibility in the future. That being said, the wire framing
16743       is quite efficient and looks like:
16744
16745          msgpack({'head': SOMEHEADER, 'body': SOMEBODY})
16746
16747       Since msgpack is an iterably parsed serialization, we can simply  write
16748       the  serialized  payload  to  the wire. Within that payload we have two
16749       items "head" and "body".  Head contains  header  information  (such  as
16750       "message  id").  The Body contains the actual message that we are send‐
16751       ing. With this flexible wire protocol  we  can  implement  any  message
16752       semantics  that  we'd like-- including multiplexed message passing on a
16753       single socket.
16754
16755   TLS Support
16756       New in version 2016.11.1.
16757
16758
16759       The TCP transport allows for  the  master/minion  communication  to  be
16760       optionally  wrapped  in  a TLS connection. Enabling this is simple, the
16761       master and minion need to be using the tcp  connection,  then  the  ssl
16762       option  is  enabled. The ssl option is passed as a dict and corresponds
16763       to   the    options    passed    to    the    Python    ssl.wrap_socket
16764       <https://docs.python.org/2/library/ssl.html#ssl.wrap_socket> function.
16765
16766       A  simple  setup looks like this, on the Salt Master add the ssl option
16767       to the master configuration file:
16768
16769          ssl:
16770            keyfile: <path_to_keyfile>
16771            certfile: <path_to_certfile>
16772            ssl_version: PROTOCOL_TLSv1_2
16773
16774       The minimal ssl option in the  minion  configuration  file  looks  like
16775       this:
16776
16777          ssl: True
16778          # Versions below 2016.11.4:
16779          ssl: {}
16780
16781       Specific  options  can  be  sent  to the minion also, as defined in the
16782       Python ssl.wrap_socket function.
16783
16784       NOTE:
16785          While setting the ssl_version is not required, we recommend it. Some
16786          older  versions of python do not support the latest TLS protocol and
16787          if this is the case for your version of python we strongly recommend
16788          upgrading your version of Python.
16789
16790   Crypto
16791       The  current  implementation  uses the same crypto as the zeromq trans‐
16792       port.
16793
16794   Pub Channel
16795       For the pub channel we send messages without "message  ids"  which  the
16796       remote end interprets as a one-way send.
16797
16798       NOTE:
16799          As  of  today  we send all publishes to all minions and rely on min‐
16800          ion-side filtering.
16801
16802   Req Channel
16803       For the req channel we send messages with a "message id". This "message
16804       id" allows us to multiplex messages across the socket.
16805
16806   The RAET Transport
16807       NOTE:
16808          The  RAET  transport  is in very early development, it is functional
16809          but no promises are yet made as to its reliability or security.   As
16810          for  reliability  and security, the encryption used has been audited
16811          and our tests show that raet is reliable.  With  this  said  we  are
16812          still  conducting  more security audits and pushing the reliability.
16813          This document outlines the encryption used in RAET
16814
16815       New in version 2014.7.0.
16816
16817
16818       The Reliable Asynchronous Event Transport, or RAET, is  an  alternative
16819       transport  medium developed specifically with Salt in mind. It has been
16820       developed to allow queuing to happen up on the  application  layer  and
16821       comes  with  socket layer encryption. It also abstracts a great deal of
16822       control over the socket layer and makes it easy to bubble up errors and
16823       exceptions.
16824
16825       RAET  also  offers very powerful message routing capabilities, allowing
16826       for messages to be routed between processes on a single machine all the
16827       way  up  to  processes  on  multiple  machines.  Messages  can  also be
16828       restricted, allowing processes to be sent messages  of  specific  types
16829       from specific sources allowing for trust to be established.
16830
16831   Using RAET in Salt
16832       Using RAET in Salt is easy, the main difference is that the core depen‐
16833       dencies change, instead of  needing  pycrypto,  M2Crypto,  ZeroMQ,  and
16834       PYZMQ,  the  packages libsodium, libnacl, ioflo, and raet are required.
16835       Encryption is handled very cleanly by libnacl, while the  queueing  and
16836       flow  control  is handled by ioflo. Distribution packages are forthcom‐
16837       ing, but libsodium can be easily installed from source, or many distri‐
16838       butions do ship packages for it.  The libnacl and ioflo packages can be
16839       easily installed from pypi, distribution packages are in the works.
16840
16841       Once the new deps are installed the 2014.7 release or  higher  of  Salt
16842       needs to be installed.
16843
16844       Once  installed, modify the configuration files for the minion and mas‐
16845       ter to set the transport to raet:
16846
16847       /etc/salt/master:
16848
16849          transport: raet
16850
16851       /etc/salt/minion:
16852
16853          transport: raet
16854
16855       Now start salt as it would normally be started, the minion will connect
16856       to  the master and share long term keys, which can then in turn be man‐
16857       aged via salt-key. Remote execution and salt states  will  function  in
16858       the same way as with Salt over ZeroMQ.
16859
16860   Limitations
16861       The 2014.7 release of RAET is not complete! The Syndic and Multi Master
16862       have not been completed yet and these are slated for completion in  the
16863       2015.5.0 release.
16864
16865       Also, Salt-Raet allows for more control over the client but these hooks
16866       have not been implemented yet, thereforre the  client  still  uses  the
16867       same system as the ZeroMQ client. This means that the extra reliability
16868       that RAET exposes has not yet been implemented in the CLI client.
16869
16870   Why?
16871   Customer and User Request
16872       Why make an alternative transport for Salt? There are many reasons, but
16873       the  primary  motivation came from customer requests, many large compa‐
16874       nies came with requests to run Salt over an alternative transport,  the
16875       reasoning  was  varied,  from  performance  and scaling improvements to
16876       licensing concerns. These customers have partnered  with  SaltStack  to
16877       make RAET a reality.
16878
16879   More Capabilities
16880       RAET  has  been  designed  to  allow salt to have greater communication
16881       capabilities. It has been designed to allow for development  into  fea‐
16882       tures which out ZeroMQ topologies can't match.
16883
16884       Many  of  the proposed features are still under development and will be
16885       announced as they enter proof of concept  phases,  but  these  features
16886       include  salt-fuse  -  a filesystem over salt, salt-vt - a parallel api
16887       driven shell over the salt transport and many others.
16888
16889   RAET Reliability
16890       RAET is reliable, hence the name (Reliable  Asynchronous  Event  Trans‐
16891       port).
16892
16893       The  concern  posed  by some over RAET reliability is based on the fact
16894       that RAET uses UDP instead of TCP and UDP does not have built in relia‐
16895       bility.
16896
16897       RAET  itself  implements  the  needed  reliability  layers that are not
16898       natively present in UDP,  this  allows  RAET  to  dynamically  optimize
16899       packet delivery in a way that keeps it both reliable and asynchronous.
16900
16901   RAET and ZeroMQ
16902       When  using RAET, ZeroMQ is not required. RAET is a complete networking
16903       replacement. It is noteworthy that RAET is not a ZeroMQ replacement  in
16904       a  general sense, the ZeroMQ constructs are not reproduced in RAET, but
16905       they are instead implemented in such a way that is specific  to  Salt's
16906       needs.
16907
16908       RAET is primarily an async communication layer over truly async connec‐
16909       tions, defaulting to UDP. ZeroMQ is over TCP and abstracts  async  con‐
16910       structs within the socket layer.
16911
16912       Salt  is  not  dropping ZeroMQ support and has no immediate plans to do
16913       so.
16914
16915   Encryption
16916       RAET uses Dan Bernstein's NACL encryption libraries and  CurveCP  hand‐
16917       shake.   The  libnacl python binding binds to both libsodium and tweet‐
16918       nacl to execute the underlying cryptography. This  allows  us  to  com‐
16919       pletely rely on an externally developed cryptography system.
16920
16921   Programming Intro
16922   Intro to RAET Programming
16923       NOTE:
16924          This page is still under construction
16925
16926       The first thing to cover is that RAET does not present a socket api, it
16927       presents, and queueing api, all messages in RAET are made available  to
16928       via queues. This is the single most differentiating factor with RAET vs
16929       other networking libraries, instead of making a socket, a stack is cre‐
16930       ated.   Instead of calling send() or recv(), messages are placed on the
16931       stack to be sent and messages that are received appear on the stack.
16932
16933       Different kinds of stacks are  also  available,  currently  two  stacks
16934       exist,  the UDP stack, and the UXD stack. The UDP stack is used to com‐
16935       municate over udp sockets, and the UXD stack  is  used  to  communicate
16936       over Unix Domain Sockets.
16937
16938       The UDP stack runs a context for communicating over networks, while the
16939       UXD stack has contexts for communicating between processes.
16940
16941   UDP Stack Messages
16942       To create a UDP stack in RAET, simply  create  the  stack,  manage  the
16943       queues, and process messages:
16944
16945          from salt.transport.road.raet import stacking
16946          from salt.transport.road.raet import estating
16947
16948          udp_stack = stacking.StackUdp(ha=('127.0.0.1', 7870))
16949          r_estate = estating.Estate(stack=stack, name='foo', ha=('192.168.42.42', 7870))
16950          msg = {'hello': 'world'}
16951          udp_stack.transmit(msg, udp_stack.estates[r_estate.name])
16952          udp_stack.serviceAll()
16953
16954   Master Tops System
16955       In  0.10.4  the external_nodes system was upgraded to allow for modular
16956       subsystems to be used to generate the top file data for a highstate run
16957       on the master.
16958
16959       The  old external_nodes option has been removed. The master tops system
16960       provides a pluggable and extendable replacement for  it,  allowing  for
16961       multiple different subsystems to provide top file data.
16962
16963       Using the new master_tops option is simple:
16964
16965          master_tops:
16966            ext_nodes: cobbler-external-nodes
16967
16968       for Cobbler or:
16969
16970          master_tops:
16971            reclass:
16972              inventory_base_uri: /etc/reclass
16973              classes_uri: roles
16974
16975       for Reclass.
16976
16977          master_tops:
16978            varstack: /path/to/the/config/file/varstack.yaml
16979
16980       for Varstack.
16981
16982       It's  also  possible to create custom master_tops modules. Simply place
16983       them  into  salt://_tops  in  the   Salt   fileserver   and   use   the
16984       saltutil.sync_tops  runner to sync them. If this runner function is not
16985       available, they can manually be placed into extmods/tops,  relative  to
16986       the   master   cachedir   (in   most   cases  the  full  path  will  be
16987       /var/cache/salt/master/extmods/tops).
16988
16989       Custom tops modules are written like any other  execution  module,  see
16990       the  source  for the two modules above for examples of fully functional
16991       ones. Below is a bare-bones example:
16992
16993       /etc/salt/master:
16994
16995          master_tops:
16996            customtop: True
16997
16998       customtop.py: (custom master_tops module)
16999
17000          import logging
17001          import sys
17002          # Define the module's virtual name
17003          __virtualname__ = 'customtop'
17004
17005          log = logging.getLogger(__name__)
17006
17007
17008          def __virtual__():
17009              return __virtualname__
17010
17011
17012          def top(**kwargs):
17013              log.debug('Calling top in customtop')
17014              return {'base': ['test']}
17015
17016       salt minion state.show_top should then display something like:
17017
17018          $ salt minion state.show_top
17019
17020          minion
17021              ----------
17022              base:
17023                - test
17024
17025       NOTE:
17026          If a master_tops module returns top file data for a given minion, it
17027          will  be added to the states configured in the top file. It will not
17028          replace it altogether. The 2018.3.0 release  adds  additional  func‐
17029          tionality  allowing  a  minion  to  treat  master_tops as the single
17030          source of truth, irrespective of the top file.
17031
17032   Returners
17033       By default the return values of the commands sent to the  Salt  minions
17034       are  returned  to  the Salt master, however anything at all can be done
17035       with the results data.
17036
17037       By using a Salt returner, results data can be  redirected  to  external
17038       data-stores for analysis and archival.
17039
17040       Returners  pull  their  configuration  values  from  the  Salt minions.
17041       Returners are only configured once, which is generally at load time.
17042
17043       The returner interface allows the return data to be sent to any  system
17044       that  can  receive  data.  This means that return data can be sent to a
17045       Redis server, a MongoDB server, a MySQL server, or any system.
17046
17047       SEE ALSO:
17048          Full list of builtin returners
17049
17050   Using Returners
17051       All Salt commands will return the command  data  back  to  the  master.
17052       Specifying  returners  will  ensure that the data is _also_ sent to the
17053       specified returner interfaces.
17054
17055       Specifying what returners to use is done when the command is invoked:
17056
17057          salt '*' test.ping --return redis_return
17058
17059       This command will ensure that the redis_return returner is used.
17060
17061       It is also possible to specify multiple returners:
17062
17063          salt '*' test.ping --return mongo_return,redis_return,cassandra_return
17064
17065       In this scenario all three returners will be called and the  data  from
17066       the test.ping command will be sent out to the three named returners.
17067
17068   Writing a Returner
17069       Returners  are  Salt modules that allow the redirection of results data
17070       to targets other than the Salt Master.
17071
17072   Returners Are Easy To Write!
17073       Writing a Salt returner is straightforward.
17074
17075       A returner is a Python module containing at minimum  a  returner  func‐
17076       tion.  Other optional functions can be included to add support for mas‐
17077       ter_job_cache, external-job-cache, and Event Returners.
17078
17079       returner
17080              The returner function must accept a single argument.  The  argu‐
17081              ment  contains  return  data from the called minion function. If
17082              the minion function test.ping is called, the value of the  argu‐
17083              ment will be a dictionary. Run the following command from a Salt
17084              master to get a sample of the dictionary:
17085
17086          salt-call --local --metadata test.ping --out=pprint
17087
17088          import redis
17089          import salt.utils.json
17090
17091          def returner(ret):
17092              '''
17093              Return information to a redis server
17094              '''
17095              # Get a redis connection
17096              serv = redis.Redis(
17097                  host='redis-serv.example.com',
17098                  port=6379,
17099                  db='0')
17100              serv.sadd("%(id)s:jobs" % ret, ret['jid'])
17101              serv.set("%(jid)s:%(id)s" % ret, salt.utils.json.dumps(ret['return']))
17102              serv.sadd('jobs', ret['jid'])
17103              serv.sadd(ret['jid'], ret['id'])
17104
17105       The above example of a returner set to send the data to a Redis  server
17106       serializes the data as JSON and sets it in redis.
17107
17108   Using Custom Returner Modules
17109       Place custom returners in a _returners/ directory within the file_roots
17110       specified by the master config file.
17111
17112       Custom returners are distributed when any of the following are called:
17113
17114       · state.apply
17115
17116       · saltutil.sync_returners
17117
17118       · saltutil.sync_all
17119
17120       Any custom returners which have been synced to a minion that are  named
17121       the  same as one of Salt's default set of returners will take the place
17122       of the default returner with the same name.
17123
17124   Naming the Returner
17125       Note that a returner's  default  name  is  its  filename  (i.e.  foo.py
17126       becomes  returner  foo), but that its name can be overridden by using a
17127       __virtual__ function. A good example of this can be found in the  redis
17128       returner, which is named redis_return.py but is loaded as simply redis:
17129
17130          try:
17131              import redis
17132              HAS_REDIS = True
17133          except ImportError:
17134              HAS_REDIS = False
17135
17136          __virtualname__ = 'redis'
17137
17138          def __virtual__():
17139              if not HAS_REDIS:
17140                  return False
17141              return __virtualname__
17142
17143   Master Job Cache Support
17144       master_job_cache, external-job-cache, and Event Returners.  Salt's mas‐
17145       ter_job_cache allows returners to be used as  a  pluggable  replacement
17146       for the default_job_cache. In order to do so, a returner must implement
17147       the following functions:
17148
17149       NOTE:
17150          The code samples contained in this section were taken from the  cas‐
17151          sandra_cql returner.
17152
17153       prep_jid
17154              Ensures  that  job ids (jid) don't collide, unless passed_jid is
17155              provided.
17156
17157              nocache is an optional boolean that  indicates  if  return  data
17158              should  be  cached.  passed_jid  is  a caller provided jid which
17159              should be returned unconditionally.
17160
17161          def prep_jid(nocache, passed_jid=None):  # pylint: disable=unused-argument
17162              '''
17163              Do any work necessary to prepare a JID, including sending a custom id
17164              '''
17165              return passed_jid if passed_jid is not None else salt.utils.jid.gen_jid()
17166
17167       save_load
17168              Save job information.  The jid  is  generated  by  prep_jid  and
17169              should  be  considered a unique identifier for the job. The jid,
17170              for example, could be used as the primary/unique key in a  data‐
17171              base. The load is what is returned to a Salt master by a minion.
17172              minions is a list of minions that the job was run  against.  The
17173              following  code  example stores the load as a JSON string in the
17174              salt.jids table.
17175
17176          import salt.utils.json
17177
17178          def save_load(jid, load, minions=None):
17179              '''
17180              Save the load to the specified jid id
17181              '''
17182              query = '''INSERT INTO salt.jids (
17183                           jid, load
17184                         ) VALUES (
17185                           '{0}', '{1}'
17186                         );'''.format(jid, salt.utils.json.dumps(load))
17187
17188              # cassandra_cql.cql_query may raise a CommandExecutionError
17189              try:
17190                  __salt__['cassandra_cql.cql_query'](query)
17191              except CommandExecutionError:
17192                  log.critical('Could not save load in jids table.')
17193                  raise
17194              except Exception as e:
17195                  log.critical(
17196                      'Unexpected error while inserting into jids: {0}'.format(e)
17197                  )
17198                  raise
17199
17200       get_load
17201              must accept a job id (jid) and return the  job  load  stored  by
17202              save_load, or an empty dictionary when not found.
17203
17204          def get_load(jid):
17205              '''
17206              Return the load data that marks a specified jid
17207              '''
17208              query = '''SELECT load FROM salt.jids WHERE jid = '{0}';'''.format(jid)
17209
17210              ret = {}
17211
17212              # cassandra_cql.cql_query may raise a CommandExecutionError
17213              try:
17214                  data = __salt__['cassandra_cql.cql_query'](query)
17215                  if data:
17216                      load = data[0].get('load')
17217                      if load:
17218                          ret = json.loads(load)
17219              except CommandExecutionError:
17220                  log.critical('Could not get load from jids table.')
17221                  raise
17222              except Exception as e:
17223                  log.critical('''Unexpected error while getting load from
17224                   jids: {0}'''.format(str(e)))
17225                  raise
17226
17227              return ret
17228
17229   External Job Cache Support
17230       Salt's  external-job-cache  extends  the master_job_cache. External Job
17231       Cache support requires the following functions in addition to  what  is
17232       required for Master Job Cache support:
17233
17234       get_jid
17235              Return  a  dictionary containing the information (load) returned
17236              by each minion when the specified job id was executed.
17237
17238       Sample:
17239
17240          {
17241              "local": {
17242                  "master_minion": {
17243                      "fun_args": [],
17244                      "jid": "20150330121011408195",
17245                      "return": true,
17246                      "retcode": 0,
17247                      "success": true,
17248                      "cmd": "_return",
17249                      "_stamp": "2015-03-30T12:10:12.708663",
17250                      "fun": "test.ping",
17251                      "id": "master_minion"
17252                  }
17253              }
17254          }
17255
17256       get_fun
17257              Return a dictionary of minions that called a given Salt function
17258              as their last function call.
17259
17260       Sample:
17261
17262          {
17263              "local": {
17264                  "minion1": "test.ping",
17265                  "minion3": "test.ping",
17266                  "minion2": "test.ping"
17267              }
17268          }
17269
17270       get_jids
17271              Return a list of all job ids.
17272
17273       Sample:
17274
17275          {
17276              "local": [
17277                  "20150330121011408195",
17278                  "20150330195922139916"
17279              ]
17280          }
17281
17282       get_minions
17283              Returns a list of minions
17284
17285       Sample:
17286
17287          {
17288               "local": [
17289                   "minion3",
17290                   "minion2",
17291                   "minion1",
17292                   "master_minion"
17293               ]
17294          }
17295
17296       Please refer to one or more of the existing returners (i.e. mysql, cas‐
17297       sandra_cql) if you need further clarification.
17298
17299   Event Support
17300       An event_return function must be added to the returner module to  allow
17301       events  to  be  logged from a master via the returner. A list of events
17302       are passed to the function by the master.
17303
17304       The following example was taken from the MySQL returner. In this  exam‐
17305       ple,  each  event  is  inserted into the salt_events table keyed on the
17306       event tag. The tag contains the jid and therefore is guaranteed  to  be
17307       unique.
17308
17309          import salt.utils.json
17310
17311          def event_return(events):
17312           '''
17313           Return event to mysql server
17314
17315           Requires that configuration be enabled via 'event_return'
17316           option in master config.
17317           '''
17318           with _get_serv(events, commit=True) as cur:
17319               for event in events:
17320                   tag = event.get('tag', '')
17321                   data = event.get('data', '')
17322                   sql = '''INSERT INTO `salt_events` (`tag`, `data`, `master_id` )
17323                            VALUES (%s, %s, %s)'''
17324                   cur.execute(sql, (tag, salt.utils.json.dumps(data), __opts__['id']))
17325
17326   Testing the Returner
17327       The returner, prep_jid, save_load, get_load, and event_return functions
17328       can be tested by configuring the master_job_cache and  Event  Returners
17329       in the master config file and submitting a job to test.ping each minion
17330       from the master.
17331
17332       Once you have successfully exercised the Master  Job  Cache  functions,
17333       test the External Job Cache functions using the ret execution module.
17334
17335          salt-call ret.get_jids cassandra_cql --output=json
17336          salt-call ret.get_fun cassandra_cql test.ping --output=json
17337          salt-call ret.get_minions cassandra_cql --output=json
17338          salt-call ret.get_jid cassandra_cql 20150330121011408195 --output=json
17339
17340   Event Returners
17341       For  maximum visibility into the history of events across a Salt infra‐
17342       structure, all events seen by a salt master may be  logged  to  one  or
17343       more returners.
17344
17345       To  enable  event logging, set the event_return configuration option in
17346       the master config to the returner(s) which should be designated as  the
17347       handler for event returns.
17348
17349       NOTE:
17350          Not  all  returners  support event returns. Verify a returner has an
17351          event_return() function before using.
17352
17353       NOTE:
17354          On larger installations, many hundreds of events may be generated on
17355          a  busy master every second. Be certain to closely monitor the stor‐
17356          age of a given returner as Salt can easily overwhelm an underpowered
17357          server with thousands of returns.
17358
17359   Full List of Returners
17360   returner modules
17361                 ┌─────────────────────┬────────────────────────────┐
17362carbon_return        │ Take  data  from  salt and │
17363                 │                     │ "return" it into a  carbon │
17364                 │                     │ receiver                   │
17365                 ├─────────────────────┼────────────────────────────┤
17366cassandra_cql_return │ Return data to a cassandra │
17367                 │                     │ server                     │
17368                 ├─────────────────────┼────────────────────────────┤
17369cassandra_return     │ Return data to a Cassandra │
17370                 │                     │ ColumnFamily               │
17371                 ├─────────────────────┼────────────────────────────┤
17372couchbase_return     │ Simple returner for Couch‐ │
17373                 │                     │ base.                      │
17374                 ├─────────────────────┼────────────────────────────┤
17375couchdb_return       │ Simple    returner     for │
17376                 │                     │ CouchDB.                   │
17377                 ├─────────────────────┼────────────────────────────┤
17378django_return        │ A   returner   that   will │
17379                 │                     │ inform  a  Django   system │
17380                 │                     │ that returns are available │
17381                 │                     │ using Django's signal sys‐ │
17382                 │                     │ tem.                       │
17383                 ├─────────────────────┼────────────────────────────┤
17384elasticsearch_return │ Return data to an elastic‐ │
17385                 │                     │ search server  for  index‐ │
17386                 │                     │ ing.                       │
17387                 ├─────────────────────┼────────────────────────────┤
17388etcd_return          │ Return  data  to  an  etcd │
17389                 │                     │ server or cluster          │
17390                 ├─────────────────────┼────────────────────────────┤
17391highstate_return     │ Return the  results  of  a │
17392                 │                     │ highstate  (or  any  other │
17393                 │                     │ state    function     that │
17394                 │                     │ returns data in a compati‐ │
17395                 │                     │ ble format)  via  an  HTML │
17396                 │                     │ email or HTML file.        │
17397                 ├─────────────────────┼────────────────────────────┤
17398hipchat_return       │ Return   salt   data   via │
17399                 │                     │ hipchat.                   │
17400                 └─────────────────────┴────────────────────────────┘
17401
17402
17403influxdb_return      │ Return data to an influxdb │
17404                 │                     │ server.                    │
17405                 ├─────────────────────┼────────────────────────────┤
17406kafka_return         │ Return  data  to  a  Kafka │
17407                 │                     │ topic                      │
17408                 ├─────────────────────┼────────────────────────────┤
17409librato_return       │ Salt  returner  to  return │
17410                 │                     │ highstate stats to Librato │
17411                 ├─────────────────────┼────────────────────────────┤
17412local                │ The local returner is used │
17413                 │                     │ to   test   the   returner │
17414                 │                     │ interface,  it just prints │
17415                 │                     │ the  return  data  to  the │
17416                 │                     │ console  to verify that it │
17417                 │                     │ is being passed properly   │
17418                 ├─────────────────────┼────────────────────────────┤
17419local_cache          │ Return data to  local  job │
17420                 │                     │ cache                      │
17421                 ├─────────────────────┼────────────────────────────┤
17422mattermost_returner  │ Return  salt data via mat‐ │
17423                 │                     │ termost                    │
17424                 ├─────────────────────┼────────────────────────────┤
17425memcache_return      │ Return data to a  memcache │
17426                 │                     │ server                     │
17427                 ├─────────────────────┼────────────────────────────┤
17428mongo_future_return  │ Return  data  to a mongodb │
17429                 │                     │ server                     │
17430                 ├─────────────────────┼────────────────────────────┤
17431mongo_return         │ Return data to  a  mongodb │
17432                 │                     │ server                     │
17433                 ├─────────────────────┼────────────────────────────┤
17434multi_returner       │ Read/Write        multiple │
17435                 │                     │ returners                  │
17436                 ├─────────────────────┼────────────────────────────┤
17437mysql                │ Return  data  to  a  mysql │
17438                 │                     │ server                     │
17439                 ├─────────────────────┼────────────────────────────┤
17440nagios_return        │ Return salt data to Nagios │
17441                 ├─────────────────────┼────────────────────────────┤
17442odbc                 │ Return  data  to  an  ODBC │
17443                 │                     │ compliant server.          │
17444                 ├─────────────────────┼────────────────────────────┤
17445pgjsonb              │ Return  data  to  a  Post‐ │
17446                 │                     │ greSQL  server  with  json │
17447                 │                     │ data stored in Pg's  jsonb │
17448                 │                     │ data type                  │
17449                 ├─────────────────────┼────────────────────────────┤
17450postgres             │ Return  data  to  a  post‐ │
17451                 │                     │ gresql server              │
17452                 ├─────────────────────┼────────────────────────────┤
17453postgres_local_cache │ Use  a  postgresql  server │
17454                 │                     │ for the master job cache.  │
17455                 ├─────────────────────┼────────────────────────────┤
17456pushover_returner    │ Return   salt   data   via │
17457                 │                     │ pushover                (‐ │
17458                 │                     │ http://www.pushover.net)   │
17459                 ├─────────────────────┼────────────────────────────┤
17460rawfile_json         │ Take  data  from  salt and │
17461                 │                     │ "return"  it  into  a  raw │
17462                 │                     │ file  containing the json, │
17463                 │                     │ with one line per event.   │
17464                 ├─────────────────────┼────────────────────────────┤
17465redis_return         │ Return  data  to  a  redis │
17466                 │                     │ server                     │
17467                 ├─────────────────────┼────────────────────────────┤
17468sentry_return        │ Salt returner that reports │
17469                 │                     │ execution results back  to │
17470                 │                     │ sentry.                    │
17471                 ├─────────────────────┼────────────────────────────┤
17472slack_returner       │ Return salt data via slack │
17473                 ├─────────────────────┼────────────────────────────┤
17474sms_return           │ Return data by SMS.        │
17475                 ├─────────────────────┼────────────────────────────┤
17476smtp_return          │ Return salt data via email │
17477                 ├─────────────────────┼────────────────────────────┤
17478splunk               │ Send json response data to │
17479                 │                     │ Splunk via the HTTP  Event │
17480                 │                     │ Collector   Requires   the │
17481                 │                     │ following config values to │
17482                 │                     │ be  specified in config or │
17483                 │                     │ pillar:                    │
17484                 ├─────────────────────┼────────────────────────────┤
17485sqlite3_return       │ Insert minion return  data │
17486                 │                     │ into a sqlite3 database    │
17487                 ├─────────────────────┼────────────────────────────┤
17488syslog_return        │ Return  data  to  the host │
17489                 │                     │ operating system's  syslog │
17490                 │                     │ facility                   │
17491                 ├─────────────────────┼────────────────────────────┤
17492telegram_return      │ Return salt data via Tele‐ │
17493                 │                     │ gram.                      │
17494                 ├─────────────────────┼────────────────────────────┤
17495xmpp_return          │ Return salt data via xmpp  │
17496                 ├─────────────────────┼────────────────────────────┤
17497zabbix_return        │ Return salt data to Zabbix │
17498                 └─────────────────────┴────────────────────────────┘
17499
17500   salt.returners.carbon_return
17501       Take data from salt and "return" it into a carbon receiver
17502
17503       Add the following configuration to the minion configuration file:
17504
17505          carbon.host: <server ip address>
17506          carbon.port: 2003
17507
17508       Errors when trying to convert data to numbers may be ignored by setting
17509       carbon.skip_on_error to True:
17510
17511          carbon.skip_on_error: True
17512
17513       By  default,  data will be sent to carbon using the plaintext protocol.
17514       To use the pickle protocol, set carbon.mode to pickle:
17515
17516          carbon.mode: pickle
17517
17518       You can also specify the pattern used for the metric base path  (except
17519       for virt modules metrics):
17520              carbon.metric_base_pattern:   carbon.[minion_id].[module].[func‐
17521              tion]
17522
17523       These tokens can used :
17524              [module]: salt module  [function]:  salt  function  [minion_id]:
17525              minion id
17526
17527       Default is :
17528              carbon.metric_base_pattern: [module].[function].[minion_id]
17529
17530       Carbon settings may also be configured as:
17531
17532          carbon:
17533            host: <server IP or hostname>
17534            port: <carbon port>
17535            skip_on_error: True
17536            mode: (pickle|text)
17537            metric_base_pattern: <pattern> | [module].[function].[minion_id]
17538
17539       Alternative  configuration values can be used by prefacing the configu‐
17540       ration.  Any values not found in the alternative configuration will  be
17541       pulled from the default location:
17542
17543          alternative.carbon:
17544            host: <server IP or hostname>
17545            port: <carbon port>
17546            skip_on_error: True
17547            mode: (pickle|text)
17548
17549       To  use  the carbon returner, append '--return carbon' to the salt com‐
17550       mand.
17551
17552          salt '*' test.ping --return carbon
17553
17554       To use the alternative configuration, append '--return_config  alterna‐
17555       tive' to the salt command.
17556
17557       New in version 2015.5.0.
17558
17559
17560          salt '*' test.ping --return carbon --return_config alternative
17561
17562       To  override  individual  configuration  items,  append --return_kwargs
17563       '{"key:": "value"}' to the salt command.
17564
17565       New in version 2016.3.0.
17566
17567
17568          salt '*' test.ping --return carbon --return_kwargs '{"skip_on_error": False}'
17569
17570       salt.returners.carbon_return.event_return(events)
17571              Return event data to remote carbon server
17572
17573              Provide a list of events to be stored in carbon
17574
17575       salt.returners.carbon_return.prep_jid(nocache=False, passed_jid=None)
17576              Do any work necessary to prepare a JID, including sending a cus‐
17577              tom id
17578
17579       salt.returners.carbon_return.returner(ret)
17580              Return data to a remote carbon server using the text metric pro‐
17581              tocol
17582
17583              Each metric will look like:
17584
17585                 [module].[function].[minion_id].[metric path [...]].[metric name]
17586
17587   salt.returners.cassandra_cql_return
17588       Return data to a cassandra server
17589
17590       New in version 2015.5.0.
17591
17592
17593       maintainer
17594              Corin Kochenower<ckochenower@saltstack.com>
17595
17596       maturity
17597              new as of 2015.2
17598
17599       depends
17600              salt.modules.cassandra_cql
17601
17602       depends
17603              DataStax     Python     Driver     for     Apache      Cassandra
17604              https://github.com/datastax/python-driver  pip  install  cassan‐
17605              dra-driver
17606
17607       platform
17608              all
17609
17610       configuration
17611              To enable this returner,  the  minion  will  need  the  DataStax
17612              Python       Driver       for       Apache      Cassandra      (
17613              https://github.com/datastax/python-driver )  installed  and  the
17614              following  values configured in the minion or master config. The
17615              list of cluster IPs must include at least one cassandra node  IP
17616              address.  No  assumption or default will be used for the cluster
17617              IPs.  The cluster IPs will be tried in  the  order  listed.  The
17618              port,  username,  and  password  values  shown below will be the
17619              assumed defaults if you do not provide values.:
17620
17621                 cassandra:
17622                   cluster:
17623                     - 192.168.50.11
17624                     - 192.168.50.12
17625                     - 192.168.50.13
17626                   port: 9042
17627                   username: salt
17628                   password: salt
17629
17630              Use the following cassandra database schema:
17631
17632                 CREATE KEYSPACE IF NOT EXISTS salt
17633                     WITH replication = {'class': 'SimpleStrategy', 'replication_factor' : 1};
17634
17635                 CREATE USER IF NOT EXISTS salt WITH PASSWORD 'salt' NOSUPERUSER;
17636
17637                 GRANT ALL ON KEYSPACE salt TO salt;
17638
17639                 USE salt;
17640
17641                 CREATE TABLE IF NOT EXISTS salt.salt_returns (
17642                     jid text,
17643                     minion_id text,
17644                     fun text,
17645                     alter_time timestamp,
17646                     full_ret text,
17647                     return text,
17648                     success boolean,
17649                     PRIMARY KEY (jid, minion_id, fun)
17650                 ) WITH CLUSTERING ORDER BY (minion_id ASC, fun ASC);
17651                 CREATE INDEX IF NOT EXISTS salt_returns_minion_id ON salt.salt_returns (minion_id);
17652                 CREATE INDEX IF NOT EXISTS salt_returns_fun ON salt.salt_returns (fun);
17653
17654                 CREATE TABLE IF NOT EXISTS salt.jids (
17655                     jid text PRIMARY KEY,
17656                     load text
17657                 );
17658
17659                 CREATE TABLE IF NOT EXISTS salt.minions (
17660                     minion_id text PRIMARY KEY,
17661                     last_fun text
17662                 );
17663                 CREATE INDEX IF NOT EXISTS minions_last_fun ON salt.minions (last_fun);
17664
17665                 CREATE TABLE IF NOT EXISTS salt.salt_events (
17666                     id timeuuid,
17667                     tag text,
17668                     alter_time timestamp,
17669                     data text,
17670                     master_id text,
17671                     PRIMARY KEY (id, tag)
17672                 ) WITH CLUSTERING ORDER BY (tag ASC);
17673                 CREATE INDEX tag ON salt.salt_events (tag);
17674
17675       Required python modules: cassandra-driver
17676
17677       To use the cassandra returner, append '--return cassandra_cql'  to  the
17678       salt command. ex:
17679
17680          salt '*' test.ping --return_cql cassandra
17681
17682       Note:  if your Cassandra instance has not been tuned much you may bene‐
17683       fit from altering some timeouts in cassandra.yaml like so:
17684
17685          # How long the coordinator should wait for read operations to complete
17686          read_request_timeout_in_ms: 5000
17687          # How long the coordinator should wait for seq or index scans to complete
17688          range_request_timeout_in_ms: 20000
17689          # How long the coordinator should wait for writes to complete
17690          write_request_timeout_in_ms: 20000
17691          # How long the coordinator should wait for counter writes to complete
17692          counter_write_request_timeout_in_ms: 10000
17693          # How long a coordinator should continue to retry a CAS operation
17694          # that contends with other proposals for the same row
17695          cas_contention_timeout_in_ms: 5000
17696          # How long the coordinator should wait for truncates to complete
17697          # (This can be much longer, because unless auto_snapshot is disabled
17698          # we need to flush first so we can snapshot before removing the data.)
17699          truncate_request_timeout_in_ms: 60000
17700          # The default timeout for other, miscellaneous operations
17701          request_timeout_in_ms: 20000
17702
17703       As always, your mileage may vary and your Cassandra  cluster  may  have
17704       different  needs.   SaltStack  has seen situations where these timeouts
17705       can resolve some stacktraces that appear  to  come  from  the  Datastax
17706       Python driver.
17707
17708       salt.returners.cassandra_cql_return.event_return(events)
17709              Return  event  to  one  of  potentially many clustered cassandra
17710              nodes
17711
17712              Requires that configuration be enabled via 'event_return' option
17713              in master config.
17714
17715              Cassandra  does not support an auto-increment feature due to the
17716              highly inefficient nature of creating a monotonically increasing
17717              number  across  all  nodes in a distributed database. Each event
17718              will be assigned a uuid by the connecting client.
17719
17720       salt.returners.cassandra_cql_return.get_fun(fun)
17721              Return a dict of the last function called for all minions
17722
17723       salt.returners.cassandra_cql_return.get_jid(jid)
17724              Return the information returned when the specified  job  id  was
17725              executed
17726
17727       salt.returners.cassandra_cql_return.get_jids()
17728              Return a list of all job ids
17729
17730       salt.returners.cassandra_cql_return.get_load(jid)
17731              Return the load data that marks a specified jid
17732
17733       salt.returners.cassandra_cql_return.get_minions()
17734              Return a list of minions
17735
17736       salt.returners.cassandra_cql_return.prep_jid(nocache, passed_jid=None)
17737              Do any work necessary to prepare a JID, including sending a cus‐
17738              tom id
17739
17740       salt.returners.cassandra_cql_return.returner(ret)
17741              Return data to one of potentially many clustered cassandra nodes
17742
17743       salt.returners.cassandra_cql_return.save_load(jid, load, minions=None)
17744              Save the load to the specified jid id
17745
17746   salt.returners.cassandra_return
17747       Return data to a Cassandra ColumnFamily
17748
17749       Here's an example Keyspace / ColumnFamily setup that  works  with  this
17750       returner:
17751
17752          create keyspace salt;
17753          use salt;
17754          create column family returns
17755            with key_validation_class='UTF8Type'
17756            and comparator='UTF8Type'
17757            and default_validation_class='UTF8Type';
17758
17759       Required python modules: pycassa
17760          To  use  the  cassandra returner, append '--return cassandra' to the
17761          salt command. ex:
17762              salt '*' test.ping --return cassandra
17763
17764       salt.returners.cassandra_return.prep_jid(nocache=False,
17765       passed_jid=None)
17766              Do any work necessary to prepare a JID, including sending a cus‐
17767              tom id
17768
17769       salt.returners.cassandra_return.returner(ret)
17770              Return data to a Cassandra ColumnFamily
17771
17772   salt.returners.couchbase_return
17773       Simple returner for  Couchbase.  Optional  configuration  settings  are
17774       listed below, along with sane defaults.
17775
17776          couchbase.host:   'salt'
17777          couchbase.port:   8091
17778          couchbase.bucket: 'salt'
17779          couchbase.ttl: 24
17780          couchbase.password: 'password'
17781          couchbase.skip_verify_views: False
17782
17783       To  use the couchbase returner, append '--return couchbase' to the salt
17784       command. ex:
17785
17786          salt '*' test.ping --return couchbase
17787
17788       To use the alternative configuration, append '--return_config  alterna‐
17789       tive' to the salt command.
17790
17791       New in version 2015.5.0.
17792
17793
17794          salt '*' test.ping --return couchbase --return_config alternative
17795
17796       To  override  individual  configuration  items,  append --return_kwargs
17797       '{"key:": "value"}' to the salt command.
17798
17799       New in version 2016.3.0.
17800
17801
17802          salt '*' test.ping --return couchbase --return_kwargs '{"bucket": "another-salt"}'
17803
17804       All of the return data will be stored in documents as follows:
17805
17806   JID
17807       load: load obj tgt_minions: list of minions targeted nocache: should we
17808       not cache the return data
17809
17810   JID/MINION_ID
17811       return: return_data full_ret: full load of job return
17812
17813       salt.returners.couchbase_return.get_jid(jid)
17814              Return  the  information  returned when the specified job id was
17815              executed
17816
17817       salt.returners.couchbase_return.get_jids()
17818              Return a list of all job ids
17819
17820       salt.returners.couchbase_return.get_load(jid)
17821              Return the load data that marks a specified jid
17822
17823       salt.returners.couchbase_return.prep_jid(nocache=False,
17824       passed_jid=None)
17825              Return  a  job  id  and prepare the job id directory This is the
17826              function responsible for making sure jids don't collide  (unless
17827              its  passed  a  jid) So do what you have to do to make sure that
17828              stays the case
17829
17830       salt.returners.couchbase_return.returner(load)
17831              Return data to couchbase bucket
17832
17833       salt.returners.couchbase_return.save_load(jid, clear_load, minion=None)
17834              Save the load to the specified jid
17835
17836       salt.returners.couchbase_return.save_minions(jid,     minions,     syn‐
17837       dic_id=None)
17838              Save/update the minion list for a given jid. The syndic_id argu‐
17839              ment is included for API compatibility only.
17840
17841   salt.returners.couchdb_return
17842       Simple returner for CouchDB. Optional configuration settings are listed
17843       below, along with sane defaults:
17844
17845          couchdb.db: 'salt'
17846          couchdb.url: 'http://salt:5984/'
17847
17848       Alternative  configuration values can be used by prefacing the configu‐
17849       ration.  Any values not found in the alternative configuration will  be
17850       pulled from the default location:
17851
17852          alternative.couchdb.db: 'salt'
17853          alternative.couchdb.url: 'http://salt:5984/'
17854
17855       To  use  the couchdb returner, append --return couchdb to the salt com‐
17856       mand. Example:
17857
17858          salt '*' test.ping --return couchdb
17859
17860       To use the alternative configuration, append  --return_config  alterna‐
17861       tive to the salt command.
17862
17863       New in version 2015.5.0.
17864
17865
17866          salt '*' test.ping --return couchdb --return_config alternative
17867
17868       To  override  individual  configuration  items,  append --return_kwargs
17869       '{"key:": "value"}' to the salt command.
17870
17871       New in version 2016.3.0.
17872
17873
17874          salt '*' test.ping --return couchdb --return_kwargs '{"db": "another-salt"}'
17875
17876   On concurrent database access
17877       As this returner creates a couchdb document with the  salt  job  id  as
17878       document  id  and  as  only one document with a given id can exist in a
17879       given couchdb database, it is advised for most setups that every minion
17880       be  configured to write to it own database (the value of couchdb.db may
17881       be suffixed with the minion id), otherwise multi-minion  targeting  can
17882       lead to losing output:
17883
17884       · the  first returning minion is able to create a document in the data‐
17885         base
17886
17887       · other minions fail with {'error': 'HTTP Error 409: Conflict'}
17888
17889       salt.returners.couchdb_return.ensure_views()
17890              This function makes sure that all the views that should exist in
17891              the design document do exist.
17892
17893       salt.returners.couchdb_return.get_fun(fun)
17894              Return  a  dict  with  key  being minion and value being the job
17895              details of the last run of function 'fun'.
17896
17897       salt.returners.couchdb_return.get_jid(jid)
17898              Get the document with a given JID.
17899
17900       salt.returners.couchdb_return.get_jids()
17901              List all the jobs that we have..
17902
17903       salt.returners.couchdb_return.get_minions()
17904              Return a list of minion identifiers from a request of the view.
17905
17906       salt.returners.couchdb_return.get_valid_salt_views()
17907              Returns a dict object of views that should be part of  the  salt
17908              design document.
17909
17910       salt.returners.couchdb_return.prep_jid(nocache=False, passed_jid=None)
17911              Do any work necessary to prepare a JID, including sending a cus‐
17912              tom id
17913
17914       salt.returners.couchdb_return.returner(ret)
17915              Take in the return and shove it into the couchdb database.
17916
17917       salt.returners.couchdb_return.set_salt_view()
17918              Helper  function  that  sets  the  salt  design  document.  Uses
17919              get_valid_salt_views and some hardcoded values.
17920
17921   salt.returners.django_return
17922       A  returner that will inform a Django system that returns are available
17923       using Django's signal system.
17924
17925       https://docs.djangoproject.com/en/dev/topics/signals/
17926
17927       It is up to the Django developer to register  necessary  handlers  with
17928       the signals provided by this returner and process returns as necessary.
17929
17930       The  easiest  way  to  use signals is to import them from this returner
17931       directly and then use a decorator to register them.
17932
17933       An  example  Django   module   that   registers   a   function   called
17934       'returner_callback' with this module's 'returner' function:
17935
17936          import salt.returners.django_return
17937          from django.dispatch import receiver
17938
17939          @receiver(salt.returners.django_return, sender=returner)
17940          def returner_callback(sender, ret):
17941              print('I received {0} from {1}'.format(ret, sender))
17942
17943       salt.returners.django_return.prep_jid(nocache=False, passed_jid=None)
17944              Do any work necessary to prepare a JID, including sending a cus‐
17945              tom ID
17946
17947       salt.returners.django_return.returner(ret)
17948              Signal a Django server that a return is available
17949
17950       salt.returners.django_return.save_load(jid, load, minions=None)
17951              Save the load to the specified jid
17952
17953   salt.returners.elasticsearch_return
17954       Return data to an elasticsearch server for indexing.
17955
17956       maintainer
17957              Jurnell Cockhren <jurnell.cockhren@sophicware.com>, Arnold Bech‐
17958              toldt <mail@arnoldbechtoldt.com>
17959
17960       maturity
17961              New
17962
17963       depends
17964              elasticsearch-py
17965
17966       platform
17967              all
17968
17969       To  enable  this  returner  the  elasticsearch  python  client  must be
17970       installed on the desired minions (all or some subset).
17971
17972       Please see documentation of elasticsearch execution module for a  valid
17973       connection configuration.
17974
17975       WARNING:
17976          The  index that you wish to store documents will be created by Elas‐
17977          ticsearch automatically if doesn't exist yet. It  is  highly  recom‐
17978          mended  to  create  predefined index templates with appropriate map‐
17979          ping(s) that will be used by Elasticsearch upon index creation. Oth‐
17980          erwise you will have problems as described in #20826.
17981
17982       To use the returner per salt call:
17983
17984          salt '*' test.ping --return elasticsearch
17985
17986       In order to have the returner apply to all minions:
17987
17988          ext_job_cache: elasticsearch
17989
17990       Minion configuration:
17991
17992              debug_returner_payload': False
17993                     Output  the payload being posted to the log file in debug
17994                     mode
17995
17996              doc_type: 'default'
17997                     Document type to use for normal return messages
17998
17999              functions_blacklist
18000                     Optional list of functions that should not be returned to
18001                     elasticsearch
18002
18003              index_date: False
18004                     Use a dated index (e.g. <index>-2016.11.29)
18005
18006              master_event_index: 'salt-master-event-cache'
18007                     Index to use when returning master events
18008
18009              master_event_doc_type: 'efault'
18010                     Document type to use got master events
18011
18012              master_job_cache_index: 'salt-master-job-cache'
18013                     Index to use for master job cache
18014
18015              master_job_cache_doc_type: 'default'
18016                     Document type to use for master job cache
18017
18018              number_of_shards: 1
18019                     Number of shards to use for the indexes
18020
18021              number_of_replicas: 0
18022                     Number of replicas to use for the indexes
18023
18024              NOTE:   The  following  options  are  valid  for  'state.apply',
18025              'state.sls' and 'state.highstate' functions only.
18026
18027              states_count: False
18028                     Count the number of states which succeeded or failed  and
18029                     return  it  in  top-level  item  called 'counts'.  States
18030                     reporting None (i.e. changes would be made but it ran  in
18031                     test mode) are counted as successes.
18032
18033              states_order_output: False
18034                     Prefix    the    state   UID   (e.g.   file_|-yum_config‐
18035                     ured_|-/etc/yum.conf_|-managed) with a  zero-padded  ver‐
18036                     sion of the '__run_num__' value to allow for easier sort‐
18037                     ing. Also store the state  function  (i.e.  file.managed)
18038                     into   a   new  key  '_func'.  Change  the  index  to  be
18039                     '<index>-ordered' (e.g. salt-state_apply-ordered).
18040
18041              states_single_index: False
18042                     Store results for state.apply, state.sls and  state.high‐
18043                     state in the salt-state_apply index (or -ordered/-<date>)
18044                     indexes if enabled
18045
18046          elasticsearch:
18047              hosts:
18048                - "10.10.10.10:9200"
18049                - "10.10.10.11:9200"
18050                - "10.10.10.12:9200"
18051              index_date: True
18052              number_of_shards: 5
18053              number_of_replicas: 1
18054              debug_returner_payload: True
18055              states_count: True
18056              states_order_output: True
18057              states_single_index: True
18058              functions_blacklist:
18059                - test.ping
18060                - saltutil.find_job
18061
18062       salt.returners.elasticsearch_return.event_return(events)
18063              Return events to Elasticsearch
18064
18065              Requires that the event_return configuration be  set  in  master
18066              config.
18067
18068       salt.returners.elasticsearch_return.get_load(jid)
18069              Return the load data that marks a specified jid
18070
18071              New in version 2015.8.1.
18072
18073
18074       salt.returners.elasticsearch_return.prep_jid(nocache=False,
18075       passed_jid=None)
18076              Do any work necessary to prepare a JID, including sending a cus‐
18077              tom id
18078
18079       salt.returners.elasticsearch_return.returner(ret)
18080              Process the return from Salt
18081
18082       salt.returners.elasticsearch_return.save_load(jid, load, minions=None)
18083              Save the load to the specified jid id
18084
18085              New in version 2015.8.1.
18086
18087
18088   salt.returners.etcd_return
18089       Return data to an etcd server or cluster
18090
18091       depends
18092
18093              · python-etcd
18094
18095       In  order  to  return to an etcd server, a profile should be created in
18096       the master configuration file:
18097
18098          my_etcd_config:
18099            etcd.host: 127.0.0.1
18100            etcd.port: 2379
18101
18102       It is technically possible to configure etcd without using  a  profile,
18103       but  this is not considered to be a best practice, especially when mul‐
18104       tiple etcd servers or clusters are available.
18105
18106          etcd.host: 127.0.0.1
18107          etcd.port: 2379
18108
18109       Additionally, two more options must be specified in the top-level  con‐
18110       figuration in order to use the etcd returner:
18111
18112          etcd.returner: my_etcd_config
18113          etcd.returner_root: /salt/return
18114
18115       The  etcd.returner option specifies which configuration profile to use.
18116       The etcd.returner_root option specifies the path inside etcd to use  as
18117       the root of the returner system.
18118
18119       Once the etcd options are configured, the returner may be used:
18120
18121       CLI Example:
18122          salt '*' test.ping --return etcd
18123
18124       A username and password can be set:
18125
18126          etcd.username: larry  # Optional; requires etcd.password to be set
18127          etcd.password: 123pass  # Optional; requires etcd.username to be set
18128
18129       You can also set a TTL (time to live) value for the returner:
18130
18131          etcd.ttl: 5
18132
18133       Authentication  with username and password, and ttl, currently requires
18134       the master branch of python-etcd.
18135
18136       You may also specify different roles for  read  and  write  operations.
18137       First, create the profiles as specified above. Then add:
18138
18139          etcd.returner_read_profile: my_etcd_read
18140          etcd.returner_write_profile: my_etcd_write
18141
18142       salt.returners.etcd_return.clean_old_jobs()
18143              Included for API consistency
18144
18145       salt.returners.etcd_return.get_fun(fun)
18146              Return a dict of the last function called for all minions
18147
18148       salt.returners.etcd_return.get_jid(jid)
18149              Return  the  information  returned when the specified job id was
18150              executed
18151
18152       salt.returners.etcd_return.get_jids()
18153              Return a list of all job ids
18154
18155       salt.returners.etcd_return.get_load(jid)
18156              Return the load data that marks a specified jid
18157
18158       salt.returners.etcd_return.get_minions()
18159              Return a list of minions
18160
18161       salt.returners.etcd_return.prep_jid(nocache=False, passed_jid=None)
18162              Do any work necessary to prepare a JID, including sending a cus‐
18163              tom id
18164
18165       salt.returners.etcd_return.returner(ret)
18166              Return data to an etcd server or cluster
18167
18168       salt.returners.etcd_return.save_load(jid, load, minions=None)
18169              Save the load to the specified jid
18170
18171   salt.returners.highstate_return module
18172       Return  the  results  of  a highstate (or any other state function that
18173       returns data in a compatible format) via an HTML email or HTML file.
18174
18175       New in version 2017.7.0.
18176
18177
18178       Similar results can be achieved by using the smtp returner with a  cus‐
18179       tom template, except an attempt at writing such a template for the com‐
18180       plex data structure returned by highstate function had proven to  be  a
18181       challenge,  not to mention that the smtp module doesn't support sending
18182       HTML mail at the moment.
18183
18184       The main goal of this returner was to produce an  easy  to  read  email
18185       similar to the output of highstate outputter used by the CLI.
18186
18187       This  returner  could  be  very useful during scheduled executions, but
18188       could also be useful for communicating the results of a  manual  execu‐
18189       tion.
18190
18191       Returner  configuration  is controlled in a standard fashion either via
18192       highstate group or an alternatively named group.
18193
18194          salt '*' state.highstate --return highstate
18195
18196       To use the  alternative  configuration,  append  '--return_config  con‐
18197       fig-name'
18198
18199          salt '*' state.highstate --return highstate --return_config simple
18200
18201       Here is an example of what the configuration might look like:
18202
18203          simple.highstate:
18204            report_failures: True
18205            report_changes: True
18206            report_everything: False
18207            failure_function: pillar.items
18208            success_function: pillar.items
18209            report_format: html
18210            report_delivery: smtp
18211            smtp_success_subject: 'success minion {id} on host {host}'
18212            smtp_failure_subject: 'failure minion {id} on host {host}'
18213            smtp_server: smtp.example.com
18214            smtp_recipients: saltusers@example.com, devops@example.com
18215            smtp_sender: salt@example.com
18216
18217       The  report_failures,  report_changes, and report_everything flags pro‐
18218       vide filtering of the results. If you want an email to  be  sent  every
18219       time, then report_everything is your choice. If you want to be notified
18220       only when  changes  were  successfully  made  use  report_changes.  And
18221       report_failures will generate an email if there were failures.
18222
18223       The  configuration  allows you to run a salt module function in case of
18224       success (success_function) or failure (failure_function).
18225
18226       Any salt function, including ones defined in the _module folder of your
18227       salt  repo,  could  be used here and its output will be displayed under
18228       the 'extra' heading of the email.
18229
18230       Supported values for report_format are html, json, and yaml. The latter
18231       two  are  typically  used for debugging purposes, but could be used for
18232       applying a template at some later stage.
18233
18234       The values for report_delivery are smtp or file. In case of file deliv‐
18235       ery the only other applicable option is file_output.
18236
18237       In  case  of  smtp delivery, smtp_* options demonstrated by the example
18238       above could be used to customize the email.
18239
18240       As you might have noticed, the success  and  failure  subjects  contain
18241       {id}  and {host} values. Any other grain name could be used. As opposed
18242       to using {{grains['id']}}, which will be rendered  by  the  master  and
18243       contain  master's  values  at the time of pillar generation, these will
18244       contain minion values at the time of execution.
18245
18246       salt.returners.highstate_return.returner(ret)
18247              Check highstate return information  and  possibly  fire  off  an
18248              email or save a file.
18249
18250   salt.returners.hipchat_return
18251       Return salt data via hipchat.
18252
18253       New in version 2015.5.0.
18254
18255
18256       The following fields can be set in the minion conf file:
18257
18258          hipchat.room_id (required)
18259          hipchat.api_key (required)
18260          hipchat.api_version (required)
18261          hipchat.api_url (optional)
18262          hipchat.from_name (required)
18263          hipchat.color (optional)
18264          hipchat.notify (optional)
18265          hipchat.profile (optional)
18266          hipchat.url (optional)
18267
18268       NOTE:
18269          When  using  Hipchat's  API  v2, api_key needs to be assigned to the
18270          room with the "Label" set to what you would have  been  set  in  the
18271          hipchat.from_name  field. The v2 API disregards the from_name in the
18272          data sent for the room notification  and  uses  the  Label  assigned
18273          through the Hipchat control panel.
18274
18275       Alternative  configuration values can be used by prefacing the configu‐
18276       ration.  Any values not found in the alternative configuration will  be
18277       pulled from the default location:
18278
18279          hipchat.room_id
18280          hipchat.api_key
18281          hipchat.api_version
18282          hipchat.api_url
18283          hipchat.from_name
18284
18285       Hipchat settings may also be configured as:
18286
18287          hipchat:
18288            room_id: RoomName
18289            api_url: https://hipchat.myteam.con
18290            api_key: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
18291            api_version: v1
18292            from_name: user@email.com
18293
18294          alternative.hipchat:
18295            room_id: RoomName
18296            api_key: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
18297            api_version: v1
18298            from_name: user@email.com
18299
18300          hipchat_profile:
18301            hipchat.api_key: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
18302            hipchat.api_version: v1
18303            hipchat.from_name: user@email.com
18304
18305          hipchat:
18306            profile: hipchat_profile
18307            room_id: RoomName
18308
18309          alternative.hipchat:
18310            profile: hipchat_profile
18311            room_id: RoomName
18312
18313          hipchat:
18314            room_id: RoomName
18315            api_key: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
18316            api_version: v1
18317            api_url: api.hipchat.com
18318            from_name: user@email.com
18319
18320       To use the HipChat returner, append '--return hipchat' to the salt com‐
18321       mand.
18322
18323          salt '*' test.ping --return hipchat
18324
18325       To use the alternative configuration, append '--return_config  alterna‐
18326       tive' to the salt command.
18327
18328       New in version 2015.5.0.
18329
18330
18331          salt '*' test.ping --return hipchat --return_config alternative
18332
18333       To  override  individual  configuration  items,  append --return_kwargs
18334       '{"key:": "value"}' to the salt command.
18335
18336       New in version 2016.3.0.
18337
18338
18339          salt '*' test.ping --return hipchat --return_kwargs '{"room_id": "another-room"}'
18340
18341       salt.returners.hipchat_return.event_return(events)
18342              Return event data to hipchat
18343
18344       salt.returners.hipchat_return.returner(ret)
18345              Send an hipchat message with the return data from a job
18346
18347   salt.returners.influxdb_return
18348       Return data to an influxdb server.
18349
18350       New in version 2015.8.0.
18351
18352
18353       To enable this returner the minion will  need  the  python  client  for
18354       influxdb installed and the following values configured in the minion or
18355       master config, these are the defaults:
18356
18357          influxdb.db: 'salt'
18358          influxdb.user: 'salt'
18359          influxdb.password: 'salt'
18360          influxdb.host: 'localhost'
18361          influxdb.port: 8086
18362
18363       Alternative configuration values can be used by prefacing the  configu‐
18364       ration.   Any values not found in the alternative configuration will be
18365       pulled from the default location:
18366
18367          alternative.influxdb.db: 'salt'
18368          alternative.influxdb.user: 'salt'
18369          alternative.influxdb.password: 'salt'
18370          alternative.influxdb.host: 'localhost'
18371          alternative.influxdb.port: 6379
18372
18373       To use the influxdb returner, append '--return influxdb'  to  the  salt
18374       command.
18375
18376          salt '*' test.ping --return influxdb
18377
18378       To  use the alternative configuration, append '--return_config alterna‐
18379       tive' to the salt command.
18380
18381          salt '*' test.ping --return influxdb --return_config alternative
18382
18383       To override  individual  configuration  items,  append  --return_kwargs
18384       '{"key:": "value"}' to the salt command.
18385
18386       New in version 2016.3.0.
18387
18388
18389          salt '*' test.ping --return influxdb --return_kwargs '{"db": "another-salt"}'
18390
18391       salt.returners.influxdb_return.get_fun(fun)
18392              Return a dict of the last function called for all minions
18393
18394       salt.returners.influxdb_return.get_jid(jid)
18395              Return  the  information  returned when the specified job id was
18396              executed
18397
18398       salt.returners.influxdb_return.get_jids()
18399              Return a list of all job ids
18400
18401       salt.returners.influxdb_return.get_load(jid)
18402              Return the load data that marks a specified jid
18403
18404       salt.returners.influxdb_return.get_minions()
18405              Return a list of minions
18406
18407       salt.returners.influxdb_return.prep_jid(nocache=False, passed_jid=None)
18408              Do any work necessary to prepare a JID, including sending a cus‐
18409              tom id
18410
18411       salt.returners.influxdb_return.returner(ret)
18412              Return data to a influxdb data store
18413
18414       salt.returners.influxdb_return.save_load(jid, load, minions=None)
18415              Save the load to the specified jid
18416
18417   salt.returners.kafka_return
18418       Return data to a Kafka topic
18419
18420       maintainer
18421              Christer Edwards (christer.edwards@gmail.com)
18422
18423       maturity
18424              0.1
18425
18426       depends
18427              kafka-python
18428
18429       platform
18430              all
18431
18432       To  enable  this returner install kafka-python and enable the following
18433       settings in the minion config:
18434
18435          returner.kafka.hostnames:
18436
18437                 · "server1"
18438
18439                 · "server2"
18440
18441                 · "server3"
18442
18443          returner.kafka.topic: 'topic'
18444
18445       To use the kafka returner, append '--return kafka' to the Salt command,
18446       eg;
18447          salt '*' test.ping --return kafka
18448
18449       salt.returners.kafka_return.returner(ret)
18450              Return information to a Kafka server
18451
18452   salt.returners.librato_return
18453       Salt returner to return highstate stats to Librato
18454
18455       To  enable  this  returner  the  minion  will  need  the Librato client
18456       importable on the Python path and the following  values  configured  in
18457       the minion or master config.
18458
18459       The      Librato     python     client     can     be     found     at:
18460       https://github.com/librato/python-librato
18461
18462          librato.email: example@librato.com
18463          librato.api_token: abc12345def
18464
18465       This return supports multi-dimension metrics  for  Librato.  To  enable
18466       support  for  more  metrics,  the  tags  JSON object can be modified to
18467       include other tags.
18468
18469       Adding EC2 Tags example: If ec2_tags:region  were  desired  within  the
18470       tags for multi-dimension. The tags could be modified to include the ec2
18471       tags. Multiple dimensions are added simply by adding more tags  to  the
18472       submission.
18473
18474          pillar_data = __salt__['pillar.raw']()
18475          q.add(metric.name, value, tags={'Name': ret['id'],'Region': pillar_data['ec2_tags']['Name']})
18476
18477       salt.returners.librato_return.returner(ret)
18478              Parse the return data and return metrics to Librato.
18479
18480   salt.returners.local
18481       The  local  returner  is  used  to test the returner interface, it just
18482       prints the return data to the console to verify that it is being passed
18483       properly
18484
18485       To use the local returner, append '--return local' to the salt command.
18486       ex:
18487
18488          salt '*' test.ping --return local
18489
18490       salt.returners.local.event_return(event)
18491              Print event return data to the terminal to verify functionality
18492
18493       salt.returners.local.returner(ret)
18494              Print the return data to the terminal to verify functionality
18495
18496   salt.returners.local_cache
18497       Return data to local job cache
18498
18499       salt.returners.local_cache.clean_old_jobs()
18500              Clean out the old jobs from the job cache
18501
18502       salt.returners.local_cache.get_endtime(jid)
18503              Retrieve the stored endtime for a given job
18504
18505              Returns False if no endtime is present
18506
18507       salt.returners.local_cache.get_jid(jid)
18508              Return the information returned when the specified  job  id  was
18509              executed
18510
18511       salt.returners.local_cache.get_jids()
18512              Return a dict mapping all job ids to job information
18513
18514       salt.returners.local_cache.get_jids_filter(count, filter_find_job=True)
18515              Return a list of all jobs information filtered by the given cri‐
18516              teria.  :param int count: show not more than the count  of  most
18517              recent   jobs   :param   bool   filter_find_jobs:   filter   out
18518              'saltutil.find_job' jobs
18519
18520       salt.returners.local_cache.get_load(jid)
18521              Return the load data that marks a specified jid
18522
18523       salt.returners.local_cache.load_reg()
18524              Load the register from msgpack files
18525
18526       salt.returners.local_cache.prep_jid(nocache=False,     passed_jid=None,
18527       recurse_count=0)
18528              Return a job id and prepare the job id directory.
18529
18530              This is the function responsible for making sure jids don't col‐
18531              lide (unless it is passed a jid).  So do what you have to do  to
18532              make sure that stays the case
18533
18534       salt.returners.local_cache.returner(load)
18535              Return data to the local job cache
18536
18537       salt.returners.local_cache.save_load(jid,   clear_load,   minions=None,
18538       recurse_count=0)
18539              Save the load to the specified jid
18540
18541              minions argument is to provide a pre-computed  list  of  matched
18542              minions  for the job, for cases when this function can't compute
18543              that list itself (such as for salt-ssh)
18544
18545       salt.returners.local_cache.save_minions(jid, minions, syndic_id=None)
18546              Save/update the serialized list of minions for a given job
18547
18548       salt.returners.local_cache.save_reg(data)
18549              Save the register to msgpack files
18550
18551       salt.returners.local_cache.update_endtime(jid, time)
18552              Update (or store) the end time for a given job
18553
18554              Endtime is stored as a plain text string
18555
18556   salt.returners.mattermost_returner module
18557       Return salt data via mattermost
18558
18559       New in version 2017.7.0.
18560
18561
18562       The following fields can be set in the minion conf file:
18563
18564          mattermost.hook (required)
18565          mattermost.username (optional)
18566          mattermost.channel (optional)
18567
18568       Alternative configuration values can be used by prefacing the  configu‐
18569       ration.   Any values not found in the alternative configuration will be
18570       pulled from the default location:
18571
18572          mattermost.channel
18573          mattermost.hook
18574          mattermost.username
18575
18576       mattermost settings may also be configured as:
18577
18578          mattermost:
18579            channel: RoomName
18580            hook: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
18581            username: user
18582
18583       To use the mattermost returner, append  '--return  mattermost'  to  the
18584       salt command.
18585
18586          salt '*' test.ping --return mattermost
18587
18588       To  override  individual  configuration  items,  append --return_kwargs
18589       '{'key:': 'value'}' to the salt command.
18590
18591          salt '*' test.ping --return mattermost --return_kwargs '{'channel': '#random'}'
18592
18593       salt.returners.mattermost_returner.event_return(events)
18594              Send the events to a mattermost room.
18595
18596              Parameters
18597                     events -- List of events
18598
18599              Returns
18600                     Boolean if messages were sent successfully.
18601
18602       salt.returners.mattermost_returner.post_message(channel, message, user‐
18603       name, api_url, hook)
18604              Send a message to a mattermost room.
18605
18606              Parameters
18607
18608                     · channel -- The room name.
18609
18610                     · message -- The message to send to the mattermost room.
18611
18612                     · username -- Specify who the message is from.
18613
18614                     · hook  --  The  mattermost hook, if not specified in the
18615                       configuration.
18616
18617              Returns
18618                     Boolean if message was sent successfully.
18619
18620       salt.returners.mattermost_returner.returner(ret)
18621              Send an mattermost message with the data
18622
18623   salt.returners.memcache_return
18624       Return data to a memcache server
18625
18626       To enable this returner the minion will need the python client for mem‐
18627       cache  installed  and  the following values configured in the minion or
18628       master config, these are the defaults.
18629
18630          memcache.host: 'localhost'
18631          memcache.port: '11211'
18632
18633       Alternative configuration values can be used by prefacing the  configu‐
18634       ration.   Any values not found in the alternative configuration will be
18635       pulled from the default location.
18636
18637          alternative.memcache.host: 'localhost'
18638          alternative.memcache.port: '11211'
18639
18640       python2-memcache uses 'localhost' and '11211' as syntax on connection.
18641
18642       To use the memcache returner, append '--return memcache'  to  the  salt
18643       command.
18644
18645          salt '*' test.ping --return memcache
18646
18647       To  use the alternative configuration, append '--return_config alterna‐
18648       tive' to the salt command.
18649
18650       New in version 2015.5.0.
18651
18652
18653          salt '*' test.ping --return memcache --return_config alternative
18654
18655       To override  individual  configuration  items,  append  --return_kwargs
18656       '{"key:": "value"}' to the salt command.
18657
18658       New in version 2016.3.0.
18659
18660
18661          salt '*' test.ping --return memcache --return_kwargs '{"host": "hostname.domain.com"}'
18662
18663       salt.returners.memcache_return.get_fun(fun)
18664              Return a dict of the last function called for all minions
18665
18666       salt.returners.memcache_return.get_jid(jid)
18667              Return  the  information  returned when the specified job id was
18668              executed
18669
18670       salt.returners.memcache_return.get_jids()
18671              Return a list of all job ids
18672
18673       salt.returners.memcache_return.get_load(jid)
18674              Return the load data that marks a specified jid
18675
18676       salt.returners.memcache_return.get_minions()
18677              Return a list of minions
18678
18679       salt.returners.memcache_return.prep_jid(nocache=False, passed_jid=None)
18680              Do any work necessary to prepare a JID, including sending a cus‐
18681              tom id
18682
18683       salt.returners.memcache_return.returner(ret)
18684              Return data to a memcache data store
18685
18686       salt.returners.memcache_return.save_load(jid, load, minions=None)
18687              Save the load to the specified jid
18688
18689   salt.returners.mongo_future_return
18690       Return data to a mongodb server
18691
18692       Required python modules: pymongo
18693
18694       This returner will send data from the minions to a MongoDB server. Mon‐
18695       goDB server can be configured by using host, port, db, user  and  pass‐
18696       word  settings or by connection string URI (for pymongo > 2.3). To con‐
18697       figure the settings for your MongoDB server, add the following lines to
18698       the minion config files:
18699
18700          mongo.db: <database name>
18701          mongo.host: <server ip address>
18702          mongo.user: <MongoDB username>
18703          mongo.password: <MongoDB user password>
18704          mongo.port: 27017
18705
18706       Or single URI:
18707
18708          mongo.uri: URI
18709
18710       where uri is in the format:
18711
18712          mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]
18713
18714       Example:
18715
18716          mongodb://db1.example.net:27017/mydatabase
18717          mongodb://db1.example.net:27017,db2.example.net:2500/?replicaSet=test
18718          mongodb://db1.example.net:27017,db2.example.net:2500/?replicaSet=test&connectTimeoutMS=300000
18719
18720       More     information    on    URI    format    can    be    found    in
18721       https://docs.mongodb.com/manual/reference/connection-string/
18722
18723       You can also ask for indexes creation on the most common  used  fields,
18724       which  should  greatly  improve performance. Indexes are not created by
18725       default.
18726
18727          mongo.indexes: true
18728
18729       Alternative configuration values can be used by prefacing the  configu‐
18730       ration.   Any values not found in the alternative configuration will be
18731       pulled from the default location:
18732
18733          alternative.mongo.db: <database name>
18734          alternative.mongo.host: <server ip address>
18735          alternative.mongo.user: <MongoDB username>
18736          alternative.mongo.password: <MongoDB user password>
18737          alternative.mongo.port: 27017
18738
18739       Or single URI:
18740
18741          alternative.mongo.uri: URI
18742
18743       This mongo returner is being developed to replace the  default  mongodb
18744       returner in the future and should not be considered API stable yet.
18745
18746       To use the mongo returner, append '--return mongo' to the salt command.
18747
18748          salt '*' test.ping --return mongo
18749
18750       To  use the alternative configuration, append '--return_config alterna‐
18751       tive' to the salt command.
18752
18753       New in version 2015.5.0.
18754
18755
18756          salt '*' test.ping --return mongo --return_config alternative
18757
18758       To override  individual  configuration  items,  append  --return_kwargs
18759       '{"key:": "value"}' to the salt command.
18760
18761       New in version 2016.3.0.
18762
18763
18764          salt '*' test.ping --return mongo --return_kwargs '{"db": "another-salt"}'
18765
18766       salt.returners.mongo_future_return.event_return(events)
18767              Return events to Mongodb server
18768
18769       salt.returners.mongo_future_return.get_fun(fun)
18770              Return  the  most recent jobs that have executed the named func‐
18771              tion
18772
18773       salt.returners.mongo_future_return.get_jid(jid)
18774              Return the return information associated with a jid
18775
18776       salt.returners.mongo_future_return.get_jids()
18777              Return a list of job ids
18778
18779       salt.returners.mongo_future_return.get_load(jid)
18780              Return the load associated with a given job id
18781
18782       salt.returners.mongo_future_return.get_minions()
18783              Return a list of minions
18784
18785       salt.returners.mongo_future_return.prep_jid(nocache=False,
18786       passed_jid=None)
18787              Do any work necessary to prepare a JID, including sending a cus‐
18788              tom id
18789
18790       salt.returners.mongo_future_return.returner(ret)
18791              Return data to a mongodb server
18792
18793       salt.returners.mongo_future_return.save_load(jid, load, minions=None)
18794              Save the load for a given job id
18795
18796   salt.returners.mongo_return
18797       Return data to a mongodb server
18798
18799       Required python modules: pymongo
18800
18801       This returner will send data from the minions to a MongoDB  server.  To
18802       configure the settings for your MongoDB server, add the following lines
18803       to the minion config files.
18804
18805          mongo.db: <database name>
18806          mongo.host: <server ip address>
18807          mongo.user: <MongoDB username>
18808          mongo.password: <MongoDB user password>
18809          mongo.port: 27017
18810
18811       Alternative configuration values can be used by prefacing the  configu‐
18812       ration.   Any values not found in the alternative configuration will be
18813       pulled from the default location.
18814
18815          alternative.mongo.db: <database name>
18816          alternative.mongo.host: <server ip address>
18817          alternative.mongo.user: <MongoDB username>
18818          alternative.mongo.password: <MongoDB user password>
18819          alternative.mongo.port: 27017
18820
18821       To use the mongo returner, append '--return mongo' to the salt command.
18822
18823          salt '*' test.ping --return mongo_return
18824
18825       To use the alternative configuration, append '--return_config  alterna‐
18826       tive' to the salt command.
18827
18828       New in version 2015.5.0.
18829
18830
18831          salt '*' test.ping --return mongo_return --return_config alternative
18832
18833       To  override  individual  configuration  items,  append --return_kwargs
18834       '{"key:": "value"}' to the salt command.
18835
18836       New in version 2016.3.0.
18837
18838
18839          salt '*' test.ping --return mongo --return_kwargs '{"db": "another-salt"}'
18840
18841       To override  individual  configuration  items,  append  --return_kwargs
18842       '{"key:": "value"}' to the salt command.
18843
18844       New in version 2016.3.0.
18845
18846
18847          salt '*' test.ping --return mongo --return_kwargs '{"db": "another-salt"}'
18848
18849       salt.returners.mongo_return.get_fun(fun)
18850              Return  the  most recent jobs that have executed the named func‐
18851              tion
18852
18853       salt.returners.mongo_return.get_jid(jid)
18854              Return the return information associated with a jid
18855
18856       salt.returners.mongo_return.prep_jid(nocache=False, passed_jid=None)
18857              Do any work necessary to prepare a JID, including sending a cus‐
18858              tom id
18859
18860       salt.returners.mongo_return.returner(ret)
18861              Return data to a mongodb server
18862
18863   salt.returners.multi_returner
18864       Read/Write multiple returners
18865
18866       salt.returners.multi_returner.clean_old_jobs()
18867              Clean out the old jobs from all returners (if you have it)
18868
18869       salt.returners.multi_returner.get_jid(jid)
18870              Merge the return data from all returners
18871
18872       salt.returners.multi_returner.get_jids()
18873              Return all job data from all returners
18874
18875       salt.returners.multi_returner.get_load(jid)
18876              Merge the load data from all returners
18877
18878       salt.returners.multi_returner.prep_jid(nocache=False, passed_jid=None)
18879              Call both with prep_jid on all returners in multi_returner
18880
18881              TODO: finish this, what do do when you get different jids from 2
18882              returners...  since our jids are  time  based,  this  make  this
18883              problem  hard,  because they aren't unique, meaning that we have
18884              to make sure that no one else got the jid and  if  they  did  we
18885              spin  to  get  a  new  one,  which  means "locking" the jid in 2
18886              returners is non-trivial
18887
18888       salt.returners.multi_returner.returner(load)
18889              Write return to all returners in multi_returner
18890
18891       salt.returners.multi_returner.save_load(jid, clear_load, minions=None)
18892              Write load to all returners in multi_returner
18893
18894   salt.returners.mysql
18895       Return data to a mysql server
18896
18897       maintainer
18898              Dave    Boucha    <dave@saltstack.com>,    Seth     House     <‐
18899              shouse@saltstack.com>
18900
18901       maturity
18902              mature
18903
18904       depends
18905              python-mysqldb
18906
18907       platform
18908              all
18909
18910       To  enable  this  returner,  the minion will need the python client for
18911       mysql installed and the following values configured in  the  minion  or
18912       master config. These are the defaults:
18913
18914          mysql.host: 'salt'
18915          mysql.user: 'salt'
18916          mysql.pass: 'salt'
18917          mysql.db: 'salt'
18918          mysql.port: 3306
18919
18920       SSL  is  optional.  The defaults are set to None. If you do not want to
18921       use SSL, either exclude these options or set them to None.
18922
18923          mysql.ssl_ca: None
18924          mysql.ssl_cert: None
18925          mysql.ssl_key: None
18926
18927       Alternative configuration values can be used by prefacing the  configu‐
18928       ration  with alternative.. Any values not found in the alternative con‐
18929       figuration will be pulled from the default location. As  stated  above,
18930       SSL configuration is optional. The following ssl options are simply for
18931       illustration purposes:
18932
18933          alternative.mysql.host: 'salt'
18934          alternative.mysql.user: 'salt'
18935          alternative.mysql.pass: 'salt'
18936          alternative.mysql.db: 'salt'
18937          alternative.mysql.port: 3306
18938          alternative.mysql.ssl_ca: '/etc/pki/mysql/certs/localhost.pem'
18939          alternative.mysql.ssl_cert: '/etc/pki/mysql/certs/localhost.crt'
18940          alternative.mysql.ssl_key: '/etc/pki/mysql/certs/localhost.key'
18941
18942       Should you wish the returner data to be cleaned out every so often, set
18943       keep_jobs  to  the  number of hours for the jobs to live in the tables.
18944       Setting it to 0 or leaving it unset will cause the data to stay in  the
18945       tables.
18946
18947       Should you wish to archive jobs in a different table for later process‐
18948       ing, set archive_jobs to True.  Salt will create 3 archive tables
18949
18950       · jids_archive
18951
18952       · salt_returns_archive
18953
18954       · salt_events_archive
18955
18956       and move the contents of jids, salt_returns, and salt_events  that  are
18957       more than keep_jobs hours old to these tables.
18958
18959       Use the following mysql database schema:
18960
18961          CREATE DATABASE  `salt`
18962            DEFAULT CHARACTER SET utf8
18963            DEFAULT COLLATE utf8_general_ci;
18964
18965          USE `salt`;
18966
18967          --
18968          -- Table structure for table `jids`
18969          --
18970
18971          DROP TABLE IF EXISTS `jids`;
18972          CREATE TABLE `jids` (
18973            `jid` varchar(255) NOT NULL,
18974            `load` mediumtext NOT NULL,
18975            UNIQUE KEY `jid` (`jid`)
18976          ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
18977          CREATE INDEX jid ON jids(jid) USING BTREE;
18978
18979          --
18980          -- Table structure for table `salt_returns`
18981          --
18982
18983          DROP TABLE IF EXISTS `salt_returns`;
18984          CREATE TABLE `salt_returns` (
18985            `fun` varchar(50) NOT NULL,
18986            `jid` varchar(255) NOT NULL,
18987            `return` mediumtext NOT NULL,
18988            `id` varchar(255) NOT NULL,
18989            `success` varchar(10) NOT NULL,
18990            `full_ret` mediumtext NOT NULL,
18991            `alter_time` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
18992            KEY `id` (`id`),
18993            KEY `jid` (`jid`),
18994            KEY `fun` (`fun`)
18995          ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
18996
18997          --
18998          -- Table structure for table `salt_events`
18999          --
19000
19001          DROP TABLE IF EXISTS `salt_events`;
19002          CREATE TABLE `salt_events` (
19003          `id` BIGINT NOT NULL AUTO_INCREMENT,
19004          `tag` varchar(255) NOT NULL,
19005          `data` mediumtext NOT NULL,
19006          `alter_time` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
19007          `master_id` varchar(255) NOT NULL,
19008          PRIMARY KEY (`id`),
19009          KEY `tag` (`tag`)
19010          ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
19011
19012       Required python modules: MySQLdb
19013
19014       To use the mysql returner, append '--return mysql' to the salt command.
19015
19016          salt '*' test.ping --return mysql
19017
19018       To  use the alternative configuration, append '--return_config alterna‐
19019       tive' to the salt command.
19020
19021       New in version 2015.5.0.
19022
19023
19024          salt '*' test.ping --return mysql --return_config alternative
19025
19026       To override  individual  configuration  items,  append  --return_kwargs
19027       '{"key:": "value"}' to the salt command.
19028
19029       New in version 2016.3.0.
19030
19031
19032          salt '*' test.ping --return mysql --return_kwargs '{"db": "another-salt"}'
19033
19034       salt.returners.mysql.clean_old_jobs()
19035              Called in the master's event loop every loop_interval.  Archives
19036              and/or deletes the events and job  details  from  the  database.
19037              :return:
19038
19039       salt.returners.mysql.event_return(events)
19040              Return event to mysql server
19041
19042              Requires that configuration be enabled via 'event_return' option
19043              in master config.
19044
19045       salt.returners.mysql.get_fun(fun)
19046              Return a dict of the last function called for all minions
19047
19048       salt.returners.mysql.get_jid(jid)
19049              Return the information returned when the specified  job  id  was
19050              executed
19051
19052       salt.returners.mysql.get_jids()
19053              Return a list of all job ids
19054
19055       salt.returners.mysql.get_jids_filter(count, filter_find_job=True)
19056              Return  a  list  of  all job ids :param int count: show not more
19057              than the count of most recent jobs :param bool filter_find_jobs:
19058              filter out 'saltutil.find_job' jobs
19059
19060       salt.returners.mysql.get_load(jid)
19061              Return the load data that marks a specified jid
19062
19063       salt.returners.mysql.get_minions()
19064              Return a list of minions
19065
19066       salt.returners.mysql.prep_jid(nocache=False, passed_jid=None)
19067              Do any work necessary to prepare a JID, including sending a cus‐
19068              tom id
19069
19070       salt.returners.mysql.returner(ret)
19071              Return data to a mysql server
19072
19073       salt.returners.mysql.save_load(jid, load, minions=None)
19074              Save the load to the specified jid id
19075
19076   salt.returners.nagios_return
19077       Return salt data to Nagios
19078
19079       The following fields can be set in the minion conf file:
19080
19081          nagios.url (required)
19082          nagios.token (required)
19083          nagios.service (optional)
19084          nagios.check_type (optional)
19085
19086       Alternative configuration values can be used by prefacing the  configu‐
19087       ration.   Any values not found in the alternative configuration will be
19088       pulled from the default location:
19089
19090          nagios.url
19091          nagios.token
19092          nagios.service
19093
19094       Nagios settings may also be configured as:
19095
19096            nagios:
19097                url: http://localhost/nrdp
19098                token: r4nd0mt0k3n
19099                service: service-check
19100
19101            alternative.nagios:
19102                url: http://localhost/nrdp
19103                token: r4nd0mt0k3n
19104                service: another-service-check
19105
19106          To use the Nagios returner, append '--return nagios' to the salt command. ex:
19107
19108          .. code-block:: bash
19109
19110            salt '*' test.ping --return nagios
19111
19112          To use the alternative configuration, append '--return_config alternative' to the salt command. ex:
19113
19114            salt '*' test.ping --return nagios --return_config alternative
19115
19116       To override  individual  configuration  items,  append  --return_kwargs
19117       '{"key:": "value"}' to the salt command.
19118
19119       New in version 2016.3.0.
19120
19121
19122          salt '*' test.ping --return nagios --return_kwargs '{"service": "service-name"}'
19123
19124       salt.returners.nagios_return.returner(ret)
19125              Send a message to Nagios with the data
19126
19127   salt.returners.odbc
19128       Return  data  to  an  ODBC compliant server.  This driver was developed
19129       with Microsoft SQL Server in mind, but theoretically could be  used  to
19130       return  data to any compliant ODBC database as long as there is a work‐
19131       ing ODBC driver for it on your minion platform.
19132
19133       maintainer
19134
19135              C.
19136
19137                 R. Oldham (cr@saltstack.com)
19138
19139       maturity
19140              New
19141
19142       depends
19143              unixodbc, pyodbc, freetds (for SQL Server)
19144
19145       platform
19146              all
19147
19148       To enable this returner the minion will need
19149
19150       On Linux:
19151          unixodbc (http://www.unixodbc.org) pyodbc (pip install  pyodbc)  The
19152          FreeTDS  ODBC  driver  for  SQL  Server  (http://www.freetds.org) or
19153          another compatible ODBC driver
19154
19155       On Windows:
19156          TBD
19157
19158       unixODBC and FreeTDS need to be configured  via  /etc/odbcinst.ini  and
19159       /etc/odbc.ini.
19160
19161       /etc/odbcinst.ini:
19162
19163          [TDS]
19164          Description=TDS
19165          Driver=/usr/lib/x86_64-linux-gnu/odbc/libtdsodbc.so
19166
19167       (Note  the  above  Driver  line  needs  to point to the location of the
19168       FreeTDS shared library.  This example is for Ubuntu 14.04.)
19169
19170       /etc/odbc.ini:
19171
19172          [TS]
19173          Description = "Salt Returner"
19174          Driver=TDS
19175          Server = <your server ip or fqdn>
19176          Port = 1433
19177          Database = salt
19178          Trace = No
19179
19180       Also you need the following values configured in the minion  or  master
19181       config.  Configure as you see fit:
19182
19183          returner.odbc.dsn: 'TS'
19184          returner.odbc.user: 'salt'
19185          returner.odbc.passwd: 'salt'
19186
19187       Alternative  configuration values can be used by prefacing the configu‐
19188       ration.  Any values not found in the alternative configuration will  be
19189       pulled from the default location:
19190
19191          alternative.returner.odbc.dsn: 'TS'
19192          alternative.returner.odbc.user: 'salt'
19193          alternative.returner.odbc.passwd: 'salt'
19194
19195       Running  the  following  commands  against  Microsoft SQL Server in the
19196       desired database as the appropriate user  should  create  the  database
19197       tables correctly.  Replace with equivalent SQL for other ODBC-compliant
19198       servers
19199
19200            --
19201            -- Table structure for table 'jids'
19202            --
19203
19204            if OBJECT_ID('dbo.jids', 'U') is not null
19205                DROP TABLE dbo.jids
19206
19207            CREATE TABLE dbo.jids (
19208               jid   varchar(255) PRIMARY KEY,
19209               load  varchar(MAX) NOT NULL
19210             );
19211
19212            --
19213            -- Table structure for table 'salt_returns'
19214            --
19215            IF OBJECT_ID('dbo.salt_returns', 'U') IS NOT NULL
19216                DROP TABLE dbo.salt_returns;
19217
19218            CREATE TABLE dbo.salt_returns (
19219               added     datetime not null default (getdate()),
19220               fun       varchar(100) NOT NULL,
19221               jid       varchar(255) NOT NULL,
19222               retval    varchar(MAX) NOT NULL,
19223               id        varchar(255) NOT NULL,
19224               success   bit default(0) NOT NULL,
19225               full_ret  varchar(MAX)
19226             );
19227
19228            CREATE INDEX salt_returns_added on dbo.salt_returns(added);
19229            CREATE INDEX salt_returns_id on dbo.salt_returns(id);
19230            CREATE INDEX salt_returns_jid on dbo.salt_returns(jid);
19231            CREATE INDEX salt_returns_fun on dbo.salt_returns(fun);
19232
19233          To use this returner, append '--return odbc' to the salt command.
19234
19235          .. code-block:: bash
19236
19237            salt '*' status.diskusage --return odbc
19238
19239          To use the alternative configuration, append '--return_config alternative' to the salt command.
19240
19241          .. versionadded:: 2015.5.0
19242
19243          .. code-block:: bash
19244
19245            salt '*' test.ping --return odbc --return_config alternative
19246
19247       To override  individual  configuration  items,  append  --return_kwargs
19248       '{"key:": "value"}' to the salt command.
19249
19250       New in version 2016.3.0.
19251
19252
19253          salt '*' test.ping --return odbc --return_kwargs '{"dsn": "dsn-name"}'
19254
19255       salt.returners.odbc.get_fun(fun)
19256              Return a dict of the last function called for all minions
19257
19258       salt.returners.odbc.get_jid(jid)
19259              Return  the  information  returned when the specified job id was
19260              executed
19261
19262       salt.returners.odbc.get_jids()
19263              Return a list of all job ids
19264
19265       salt.returners.odbc.get_load(jid)
19266              Return the load data that marks a specified jid
19267
19268       salt.returners.odbc.get_minions()
19269              Return a list of minions
19270
19271       salt.returners.odbc.prep_jid(nocache=False, passed_jid=None)
19272              Do any work necessary to prepare a JID, including sending a cus‐
19273              tom id
19274
19275       salt.returners.odbc.returner(ret)
19276              Return data to an odbc server
19277
19278       salt.returners.odbc.save_load(jid, load, minions=None)
19279              Save the load to the specified jid id
19280
19281   salt.returners.pgjsonb
19282       Return  data to a PostgreSQL server with json data stored in Pg's jsonb
19283       data type
19284
19285       maintainer
19286              Dave    Boucha    <dave@saltstack.com>,    Seth     House     <‐
19287              shouse@saltstack.com>, C. R. Oldham <cr@saltstack.com>
19288
19289       maturity
19290              Stable
19291
19292       depends
19293              python-psycopg2
19294
19295       platform
19296              all
19297
19298       NOTE:
19299          There are three PostgreSQL returners.  Any can function as an exter‐
19300          nal master job cache. but each has  different  features.   SaltStack
19301          recommends  returners.pgjsonb  if  you are working with a version of
19302          PostgreSQL that has the appropriate native binary JSON types.   Oth‐
19303          erwise, review returners.postgres and returners.postgres_local_cache
19304          to see which module best suits your particular needs.
19305
19306       To enable this returner, the minion will need  the  python  client  for
19307       PostgreSQL  installed and the following values configured in the minion
19308       or master config. These are the defaults:
19309
19310          returner.pgjsonb.host: 'salt'
19311          returner.pgjsonb.user: 'salt'
19312          returner.pgjsonb.pass: 'salt'
19313          returner.pgjsonb.db: 'salt'
19314          returner.pgjsonb.port: 5432
19315
19316       SSL is optional. The defaults are set to None. If you do  not  want  to
19317       use SSL, either exclude these options or set them to None.
19318
19319          returner.pgjsonb.sslmode: None
19320          returner.pgjsonb.sslcert: None
19321          returner.pgjsonb.sslkey: None
19322          returner.pgjsonb.sslrootcert: None
19323          returner.pgjsonb.sslcrl: None
19324
19325       New in version 2017.5.0.
19326
19327
19328       Alternative  configuration values can be used by prefacing the configu‐
19329       ration with alternative.. Any values not found in the alternative  con‐
19330       figuration  will  be pulled from the default location. As stated above,
19331       SSL configuration is optional. The following ssl options are simply for
19332       illustration purposes:
19333
19334          alternative.pgjsonb.host: 'salt'
19335          alternative.pgjsonb.user: 'salt'
19336          alternative.pgjsonb.pass: 'salt'
19337          alternative.pgjsonb.db: 'salt'
19338          alternative.pgjsonb.port: 5432
19339          alternative.pgjsonb.ssl_ca: '/etc/pki/mysql/certs/localhost.pem'
19340          alternative.pgjsonb.ssl_cert: '/etc/pki/mysql/certs/localhost.crt'
19341          alternative.pgjsonb.ssl_key: '/etc/pki/mysql/certs/localhost.key'
19342
19343       Should you wish the returner data to be cleaned out every so often, set
19344       keep_jobs to the number of hours for the jobs to live  in  the  tables.
19345       Setting  it to 0 or leaving it unset will cause the data to stay in the
19346       tables.
19347
19348       Should you wish to archive jobs in a different table for later process‐
19349       ing, set archive_jobs to True.  Salt will create 3 archive tables;
19350
19351       · jids_archive
19352
19353       · salt_returns_archive
19354
19355       · salt_events_archive
19356
19357       and  move  the contents of jids, salt_returns, and salt_events that are
19358       more than keep_jobs hours old to these tables.
19359
19360       New in version Fluorine.
19361
19362
19363       Use the following Pg database schema:
19364
19365          CREATE DATABASE  salt
19366            WITH ENCODING 'utf-8';
19367
19368          --
19369          -- Table structure for table `jids`
19370          --
19371          DROP TABLE IF EXISTS jids;
19372          CREATE TABLE jids (
19373             jid varchar(255) NOT NULL primary key,
19374             load jsonb NOT NULL
19375          );
19376          CREATE INDEX idx_jids_jsonb on jids
19377                 USING gin (load)
19378                 WITH (fastupdate=on);
19379
19380          --
19381          -- Table structure for table `salt_returns`
19382          --
19383
19384          DROP TABLE IF EXISTS salt_returns;
19385          CREATE TABLE salt_returns (
19386            fun varchar(50) NOT NULL,
19387            jid varchar(255) NOT NULL,
19388            return jsonb NOT NULL,
19389            id varchar(255) NOT NULL,
19390            success varchar(10) NOT NULL,
19391            full_ret jsonb NOT NULL,
19392            alter_time TIMESTAMP WITH TIME ZONE DEFAULT NOW());
19393
19394          CREATE INDEX idx_salt_returns_id ON salt_returns (id);
19395          CREATE INDEX idx_salt_returns_jid ON salt_returns (jid);
19396          CREATE INDEX idx_salt_returns_fun ON salt_returns (fun);
19397          CREATE INDEX idx_salt_returns_return ON salt_returns
19398              USING gin (return) with (fastupdate=on);
19399          CREATE INDEX idx_salt_returns_full_ret ON salt_returns
19400              USING gin (full_ret) with (fastupdate=on);
19401
19402          --
19403          -- Table structure for table `salt_events`
19404          --
19405
19406          DROP TABLE IF EXISTS salt_events;
19407          DROP SEQUENCE IF EXISTS seq_salt_events_id;
19408          CREATE SEQUENCE seq_salt_events_id;
19409          CREATE TABLE salt_events (
19410              id BIGINT NOT NULL UNIQUE DEFAULT nextval('seq_salt_events_id'),
19411              tag varchar(255) NOT NULL,
19412              data jsonb NOT NULL,
19413              alter_time TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
19414              master_id varchar(255) NOT NULL);
19415
19416          CREATE INDEX idx_salt_events_tag on
19417              salt_events (tag);
19418          CREATE INDEX idx_salt_events_data ON salt_events
19419              USING gin (data) with (fastupdate=on);
19420
19421       Required python modules: Psycopg2
19422
19423       To use this returner, append '--return pgjsonb' to the salt command.
19424
19425          salt '*' test.ping --return pgjsonb
19426
19427       To use the alternative configuration, append '--return_config  alterna‐
19428       tive' to the salt command.
19429
19430       New in version 2015.5.0.
19431
19432
19433          salt '*' test.ping --return pgjsonb --return_config alternative
19434
19435       To  override  individual  configuration  items,  append --return_kwargs
19436       '{"key:": "value"}' to the salt command.
19437
19438       New in version 2016.3.0.
19439
19440
19441          salt '*' test.ping --return pgjsonb --return_kwargs '{"db": "another-salt"}'
19442
19443       salt.returners.pgjsonb.clean_old_jobs()
19444              Called in the master's event loop every loop_interval.  Archives
19445              and/or  deletes  the  events  and job details from the database.
19446              :return:
19447
19448       salt.returners.pgjsonb.event_return(events)
19449              Return event to Pg server
19450
19451              Requires that configuration be enabled via 'event_return' option
19452              in master config.
19453
19454       salt.returners.pgjsonb.get_fun(fun)
19455              Return a dict of the last function called for all minions
19456
19457       salt.returners.pgjsonb.get_jid(jid)
19458              Return  the  information  returned when the specified job id was
19459              executed
19460
19461       salt.returners.pgjsonb.get_jids()
19462              Return a list of all job ids
19463
19464       salt.returners.pgjsonb.get_load(jid)
19465              Return the load data that marks a specified jid
19466
19467       salt.returners.pgjsonb.get_minions()
19468              Return a list of minions
19469
19470       salt.returners.pgjsonb.prep_jid(nocache=False, passed_jid=None)
19471              Do any work necessary to prepare a JID, including sending a cus‐
19472              tom id
19473
19474       salt.returners.pgjsonb.returner(ret)
19475              Return data to a Pg server
19476
19477       salt.returners.pgjsonb.save_load(jid, load, minions=None)
19478              Save the load to the specified jid id
19479
19480   salt.returners.postgres
19481       Return data to a postgresql server
19482
19483       NOTE:
19484          There are three PostgreSQL returners.  Any can function as an exter‐
19485          nal master job cache. but each has  different  features.   SaltStack
19486          recommends  returners.pgjsonb  if  you are working with a version of
19487          PostgreSQL that has the appropriate native binary JSON types.   Oth‐
19488          erwise, review returners.postgres and returners.postgres_local_cache
19489          to see which module best suits your particular needs.
19490
19491       maintainer
19492              None
19493
19494       maturity
19495              New
19496
19497       depends
19498              psycopg2
19499
19500       platform
19501              all
19502
19503       To enable this returner the minion will need the psycopg2 installed and
19504       the following values configured in the minion or master config:
19505
19506          returner.postgres.host: 'salt'
19507          returner.postgres.user: 'salt'
19508          returner.postgres.passwd: 'salt'
19509          returner.postgres.db: 'salt'
19510          returner.postgres.port: 5432
19511
19512       Alternative  configuration values can be used by prefacing the configu‐
19513       ration.  Any values not found in the alternative configuration will  be
19514       pulled from the default location:
19515
19516          alternative.returner.postgres.host: 'salt'
19517          alternative.returner.postgres.user: 'salt'
19518          alternative.returner.postgres.passwd: 'salt'
19519          alternative.returner.postgres.db: 'salt'
19520          alternative.returner.postgres.port: 5432
19521
19522       Running  the  following commands as the postgres user should create the
19523       database correctly:
19524
19525          psql << EOF
19526          CREATE ROLE salt WITH PASSWORD 'salt';
19527          CREATE DATABASE salt WITH OWNER salt;
19528          EOF
19529
19530          psql -h localhost -U salt << EOF
19531          --
19532          -- Table structure for table 'jids'
19533          --
19534
19535          DROP TABLE IF EXISTS jids;
19536          CREATE TABLE jids (
19537            jid   varchar(20) PRIMARY KEY,
19538            load  text NOT NULL
19539          );
19540
19541          --
19542          -- Table structure for table 'salt_returns'
19543          --
19544
19545          DROP TABLE IF EXISTS salt_returns;
19546          CREATE TABLE salt_returns (
19547            fun       varchar(50) NOT NULL,
19548            jid       varchar(255) NOT NULL,
19549            return    text NOT NULL,
19550            full_ret  text,
19551            id        varchar(255) NOT NULL,
19552            success   varchar(10) NOT NULL,
19553            alter_time   TIMESTAMP WITH TIME ZONE DEFAULT now()
19554          );
19555
19556          CREATE INDEX idx_salt_returns_id ON salt_returns (id);
19557          CREATE INDEX idx_salt_returns_jid ON salt_returns (jid);
19558          CREATE INDEX idx_salt_returns_fun ON salt_returns (fun);
19559          CREATE INDEX idx_salt_returns_updated ON salt_returns (alter_time);
19560
19561          --
19562          -- Table structure for table `salt_events`
19563          --
19564
19565          DROP TABLE IF EXISTS salt_events;
19566          DROP SEQUENCE IF EXISTS seq_salt_events_id;
19567          CREATE SEQUENCE seq_salt_events_id;
19568          CREATE TABLE salt_events (
19569              id BIGINT NOT NULL UNIQUE DEFAULT nextval('seq_salt_events_id'),
19570              tag varchar(255) NOT NULL,
19571              data text NOT NULL,
19572              alter_time TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
19573              master_id varchar(255) NOT NULL
19574          );
19575
19576          CREATE INDEX idx_salt_events_tag on salt_events (tag);
19577
19578          EOF
19579
19580       Required python modules: psycopg2
19581
19582       To use the postgres returner, append '--return postgres'  to  the  salt
19583       command.
19584
19585          salt '*' test.ping --return postgres
19586
19587       To  use the alternative configuration, append '--return_config alterna‐
19588       tive' to the salt command.
19589
19590       New in version 2015.5.0.
19591
19592
19593          salt '*' test.ping --return postgres --return_config alternative
19594
19595       To override  individual  configuration  items,  append  --return_kwargs
19596       '{"key:": "value"}' to the salt command.
19597
19598       New in version 2016.3.0.
19599
19600
19601          salt '*' test.ping --return postgres --return_kwargs '{"db": "another-salt"}'
19602
19603       salt.returners.postgres.event_return(events)
19604              Return event to Pg server
19605
19606              Requires that configuration be enabled via 'event_return' option
19607              in master config.
19608
19609       salt.returners.postgres.get_fun(fun)
19610              Return a dict of the last function called for all minions
19611
19612       salt.returners.postgres.get_jid(jid)
19613              Return the information returned when the specified  job  id  was
19614              executed
19615
19616       salt.returners.postgres.get_jids()
19617              Return a list of all job ids
19618
19619       salt.returners.postgres.get_load(jid)
19620              Return the load data that marks a specified jid
19621
19622       salt.returners.postgres.get_minions()
19623              Return a list of minions
19624
19625       salt.returners.postgres.prep_jid(nocache=False, passed_jid=None)
19626              Do any work necessary to prepare a JID, including sending a cus‐
19627              tom id
19628
19629       salt.returners.postgres.returner(ret)
19630              Return data to a postgres server
19631
19632       salt.returners.postgres.save_load(jid, load, minions=None)
19633              Save the load to the specified jid id
19634
19635   salt.returners.postgres_local_cache
19636       Use a postgresql server for the master job cache. This  helps  the  job
19637       cache to cope with scale.
19638
19639       NOTE:
19640          There are three PostgreSQL returners.  Any can function as an exter‐
19641          nal master job cache. but each has  different  features.   SaltStack
19642          recommends  returners.pgjsonb  if  you are working with a version of
19643          PostgreSQL that has the appropriate native binary JSON types.   Oth‐
19644          erwise, review returners.postgres and returners.postgres_local_cache
19645          to see which module best suits your particular needs.
19646
19647       maintainer
19648              gjredelinghuys@gmail.com
19649
19650       maturity
19651              Stable
19652
19653       depends
19654              psycopg2
19655
19656       platform
19657              all
19658
19659       To enable this returner the minion will need the psycopg2 installed and
19660       the following values configured in the master config:
19661
19662          master_job_cache: postgres_local_cache
19663          master_job_cache.postgres.host: 'salt'
19664          master_job_cache.postgres.user: 'salt'
19665          master_job_cache.postgres.passwd: 'salt'
19666          master_job_cache.postgres.db: 'salt'
19667          master_job_cache.postgres.port: 5432
19668
19669       Running  the  following  command as the postgres user should create the
19670       database correctly:
19671
19672          psql << EOF
19673          CREATE ROLE salt WITH PASSWORD 'salt';
19674          CREATE DATABASE salt WITH OWNER salt;
19675          EOF
19676
19677       In case the postgres database is a remote host, you'll need  this  com‐
19678       mand also:
19679
19680          ALTER ROLE salt WITH LOGIN;
19681
19682       and then:
19683
19684          psql -h localhost -U salt << EOF
19685          --
19686          -- Table structure for table 'jids'
19687          --
19688
19689          DROP TABLE IF EXISTS jids;
19690          CREATE TABLE jids (
19691            jid   varchar(20) PRIMARY KEY,
19692            started TIMESTAMP WITH TIME ZONE DEFAULT now(),
19693            tgt_type text NOT NULL,
19694            cmd text NOT NULL,
19695            tgt text NOT NULL,
19696            kwargs text NOT NULL,
19697            ret text NOT NULL,
19698            username text NOT NULL,
19699            arg text NOT NULL,
19700            fun text NOT NULL
19701          );
19702
19703          --
19704          -- Table structure for table 'salt_returns'
19705          --
19706          -- note that 'success' must not have NOT NULL constraint, since
19707          -- some functions don't provide it.
19708
19709          DROP TABLE IF EXISTS salt_returns;
19710          CREATE TABLE salt_returns (
19711            added     TIMESTAMP WITH TIME ZONE DEFAULT now(),
19712            fun       text NOT NULL,
19713            jid       varchar(20) NOT NULL,
19714            return    text NOT NULL,
19715            id        text NOT NULL,
19716            success   boolean
19717          );
19718          CREATE INDEX ON salt_returns (added);
19719          CREATE INDEX ON salt_returns (id);
19720          CREATE INDEX ON salt_returns (jid);
19721          CREATE INDEX ON salt_returns (fun);
19722
19723          DROP TABLE IF EXISTS salt_events;
19724          CREATE TABLE salt_events (
19725            id SERIAL,
19726            tag text NOT NULL,
19727            data text NOT NULL,
19728            alter_time TIMESTAMP WITH TIME ZONE DEFAULT now(),
19729            master_id text NOT NULL
19730          );
19731          CREATE INDEX ON salt_events (tag);
19732          CREATE INDEX ON salt_events (data);
19733          CREATE INDEX ON salt_events (id);
19734          CREATE INDEX ON salt_events (master_id);
19735          EOF
19736
19737       Required python modules: psycopg2
19738
19739       salt.returners.postgres_local_cache.clean_old_jobs()
19740              Clean out the old jobs from the job cache
19741
19742       salt.returners.postgres_local_cache.event_return(events)
19743              Return event to a postgres server
19744
19745              Require  that configuration be enabled via 'event_return' option
19746              in master config.
19747
19748       salt.returners.postgres_local_cache.get_jid(jid)
19749              Return the information returned when the specified  job  id  was
19750              executed
19751
19752       salt.returners.postgres_local_cache.get_jids()
19753              Return a list of all job ids For master job cache this also for‐
19754              mats the output and returns a string
19755
19756       salt.returners.postgres_local_cache.get_load(jid)
19757              Return the load data that marks a specified jid
19758
19759       salt.returners.postgres_local_cache.prep_jid(nocache=False,
19760       passed_jid=None)
19761              Return  a  job  id  and prepare the job id directory This is the
19762              function responsible for making sure jids don't collide  (unless
19763              its  passed  a jid). So do what you have to do to make sure that
19764              stays the case
19765
19766       salt.returners.postgres_local_cache.returner(load)
19767              Return data to a postgres server
19768
19769       salt.returners.postgres_local_cache.save_load(jid,   clear_load,   min‐
19770       ions=None)
19771              Save the load to the specified jid id
19772
19773   salt.returners.pushover_returner
19774       Return salt data via pushover (http://www.pushover.net)
19775
19776       New in version 2016.3.0.
19777
19778
19779       The following fields can be set in the minion conf file:
19780
19781          pushover.user (required)
19782          pushover.token (required)
19783          pushover.title (optional)
19784          pushover.device (optional)
19785          pushover.priority (optional)
19786          pushover.expire (optional)
19787          pushover.retry (optional)
19788          pushover.profile (optional)
19789
19790       Alternative  configuration values can be used by prefacing the configu‐
19791       ration.  Any values not found in the alternative configuration will  be
19792       pulled from the default location:
19793
19794          alternative.pushover.user
19795          alternative.pushover.token
19796          alternative.pushover.title
19797          alternative.pushover.device
19798          alternative.pushover.priority
19799          alternative.pushover.expire
19800          alternative.pushover.retry
19801
19802       PushOver settings may also be configured as:
19803
19804            pushover:
19805                user: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
19806                token: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
19807                title: Salt Returner
19808                device: phone
19809                priority: -1
19810                expire: 3600
19811                retry: 5
19812
19813            alternative.pushover:
19814                user: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
19815                token: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
19816                title: Salt Returner
19817                device: phone
19818                priority: 1
19819                expire: 4800
19820                retry: 2
19821
19822            pushover_profile:
19823                pushover.token: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
19824
19825            pushover:
19826                user: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
19827                profile: pushover_profile
19828
19829            alternative.pushover:
19830                user: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
19831                profile: pushover_profile
19832
19833          To use the PushOver returner, append '--return pushover' to the salt command. ex:
19834
19835          .. code-block:: bash
19836
19837            salt '*' test.ping --return pushover
19838
19839          To use the alternative configuration, append '--return_config alternative' to the salt command. ex:
19840
19841            salt '*' test.ping --return pushover --return_config alternative
19842
19843       To  override  individual  configuration  items,  append --return_kwargs
19844       '{"key:": "value"}' to the salt command.
19845
19846          salt '*' test.ping --return pushover --return_kwargs '{"title": "Salt is awesome!"}'
19847
19848       salt.returners.pushover_returner.returner(ret)
19849              Send an PushOver message with the data
19850
19851   salt.returners.rawfile_json
19852       Take data from salt and "return" it into  a  raw  file  containing  the
19853       json, with one line per event.
19854
19855       Add the following to the minion or master configuration file.
19856
19857          rawfile_json.filename: <path_to_output_file>
19858
19859       Default is /var/log/salt/events.
19860
19861       Common  use is to log all events on the master. This can generate a lot
19862       of noise, so you may wish to configure batch processing and/or  config‐
19863       ure  the  event_return_whitelist  or event_return_blacklist to restrict
19864       the events that are written.
19865
19866       salt.returners.rawfile_json.event_return(events)
19867              Write event data (return data and non-return data)  to  file  on
19868              the master.
19869
19870       salt.returners.rawfile_json.returner(ret)
19871              Write the return data to a file on the minion.
19872
19873   salt.returners.redis_return
19874       Return data to a redis server
19875
19876       To  enable  this  returner  the  minion will need the python client for
19877       redis installed and the following values configured in  the  minion  or
19878       master config, these are the defaults:
19879
19880          redis.db: '0'
19881          redis.host: 'salt'
19882          redis.port: 6379
19883
19884       New  in  version 2018.3.1: Alternatively a UNIX socket can be specified
19885       by unix_socket_path:
19886
19887
19888          redis.db: '0'
19889          redis.unix_socket_path: /var/run/redis/redis.sock
19890
19891       Cluster Mode Example:
19892
19893          redis.db: '0'
19894          redis.cluster_mode: true
19895          redis.cluster.skip_full_coverage_check: true
19896          redis.cluster.startup_nodes:
19897            - host: redis-member-1
19898              port: 6379
19899            - host: redis-member-2
19900              port: 6379
19901
19902       Alternative configuration values can be used by prefacing the  configu‐
19903       ration.   Any values not found in the alternative configuration will be
19904       pulled from the default location:
19905
19906          alternative.redis.db: '0'
19907          alternative.redis.host: 'salt'
19908          alternative.redis.port: 6379
19909
19910       To use the redis returner, append '--return redis' to the salt command.
19911
19912          salt '*' test.ping --return redis
19913
19914       To use the alternative configuration, append '--return_config  alterna‐
19915       tive' to the salt command.
19916
19917       New in version 2015.5.0.
19918
19919
19920          salt '*' test.ping --return redis --return_config alternative
19921
19922       To  override  individual  configuration  items,  append --return_kwargs
19923       '{"key:": "value"}' to the salt command.
19924
19925       New in version 2016.3.0.
19926
19927
19928          salt '*' test.ping --return redis --return_kwargs '{"db": "another-salt"}'
19929
19930       Redis Cluster Mode Options:
19931
19932       cluster_mode: False
19933              Whether cluster_mode is enabled or not
19934
19935       cluster.startup_nodes:
19936              A list of host, port dictionaries pointing to  cluster  members.
19937              At least one is required but multiple nodes are better
19938
19939                 cache.redis.cluster.startup_nodes
19940                   - host: redis-member-1
19941                     port: 6379
19942                   - host: redis-member-2
19943                     port: 6379
19944
19945       cluster.skip_full_coverage_check: False
19946              Some  cluster  providers restrict certain redis commands such as
19947              CONFIG for enhanced security.  Set this option to true  to  skip
19948              checks that required advanced privileges.
19949
19950              NOTE:
19951                 Most  cloud hosted redis clusters will require this to be set
19952                 to True
19953
19954       salt.returners.redis_return.clean_old_jobs()
19955              Clean out minions's return data for old jobs.
19956
19957              Normally, hset 'ret:<jid>' are saved with a TTL, and will  even‐
19958              tually  get  cleaned  by  redis.But for jobs with some very late
19959              minion return, the corresponding hset's TTL will be refreshed to
19960              a too late timestamp, we'll do manually cleaning here.
19961
19962       salt.returners.redis_return.get_fun(fun)
19963              Return a dict of the last function called for all minions
19964
19965       salt.returners.redis_return.get_jid(jid)
19966              Return  the  information  returned when the specified job id was
19967              executed
19968
19969       salt.returners.redis_return.get_jids()
19970              Return a dict mapping all job ids to job information
19971
19972       salt.returners.redis_return.get_load(jid)
19973              Return the load data that marks a specified jid
19974
19975       salt.returners.redis_return.get_minions()
19976              Return a list of minions
19977
19978       salt.returners.redis_return.prep_jid(nocache=False, passed_jid=None)
19979              Do any work necessary to prepare a JID, including sending a cus‐
19980              tom id
19981
19982       salt.returners.redis_return.returner(ret)
19983              Return data to a redis data store
19984
19985       salt.returners.redis_return.save_load(jid, load, minions=None)
19986              Save the load to the specified jid
19987
19988   salt.returners.sentry_return
19989       Salt  returner  that  reports  execution  results  back  to sentry. The
19990       returner will inspect the payload to identify errors and flag  them  as
19991       such.
19992
19993       Pillar needs something like:
19994
19995          raven:
19996            servers:
19997              - http://192.168.1.1
19998              - https://sentry.example.com
19999            public_key: deadbeefdeadbeefdeadbeefdeadbeef
20000            secret_key: beefdeadbeefdeadbeefdeadbeefdead
20001            project: 1
20002            tags:
20003              - os
20004              - master
20005              - saltversion
20006              - cpuarch
20007
20008       or using a dsn:
20009
20010          raven:
20011            dsn: https://aaaa:bbbb@app.getsentry.com/12345
20012            tags:
20013              - os
20014              - master
20015              - saltversion
20016              - cpuarch
20017
20018       https://pypi.python.org/pypi/raven must be installed.
20019
20020       The pillar can be hidden on sentry return by setting hide_pillar: true.
20021
20022       The  tags  list  (optional) specifies grains items that will be used as
20023       sentry tags, allowing tagging of events in the sentry ui.
20024
20025       To report only errors to sentry, set report_errors_only: true.
20026
20027       salt.returners.sentry_return.prep_jid(nocache=False, passed_jid=None)
20028              Do any work necessary to prepare a JID, including sending a cus‐
20029              tom id
20030
20031       salt.returners.sentry_return.returner(ret)
20032              Log outcome to sentry. The returner tries to identify errors and
20033              report them as such. All other messages will be reported at info
20034              level.  Failed states will be appended as separate list for con‐
20035              venience.
20036
20037   salt.returners.slack_returner
20038       Return salt data via slack
20039
20040       New in version 2015.5.0.
20041
20042
20043       The following fields can be set in the minion conf file:
20044
20045          slack.channel (required)
20046          slack.api_key (required)
20047          slack.username (required)
20048          slack.as_user (required to see the profile picture of your bot)
20049          slack.profile (optional)
20050          slack.changes(optional, only show changes and failed states)
20051          slack.only_show_failed(optional, only show failed states)
20052          slack.yaml_format(optional, format the json in yaml format)
20053
20054       Alternative configuration values can be used by prefacing the  configu‐
20055       ration.   Any values not found in the alternative configuration will be
20056       pulled from the default location:
20057
20058          slack.channel
20059          slack.api_key
20060          slack.username
20061          slack.as_user
20062
20063       Slack settings may also be configured as:
20064
20065          slack:
20066              channel: RoomName
20067              api_key: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
20068              username: user
20069              as_user: true
20070
20071          alternative.slack:
20072              room_id: RoomName
20073              api_key: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
20074              from_name: user@email.com
20075
20076          slack_profile:
20077              slack.api_key: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
20078              slack.from_name: user@email.com
20079
20080          slack:
20081              profile: slack_profile
20082              channel: RoomName
20083
20084          alternative.slack:
20085              profile: slack_profile
20086              channel: RoomName
20087
20088       To use the Slack returner, append '--return slack' to the salt command.
20089
20090          salt '*' test.ping --return slack
20091
20092       To use the alternative configuration, append '--return_config  alterna‐
20093       tive' to the salt command.
20094
20095          salt '*' test.ping --return slack --return_config alternative
20096
20097       To  override  individual  configuration  items,  append --return_kwargs
20098       '{"key:": "value"}' to the salt command.
20099
20100       New in version 2016.3.0.
20101
20102
20103          salt '*' test.ping --return slack --return_kwargs '{"channel": "#random"}'
20104
20105       salt.returners.slack_returner.returner(ret)
20106              Send an slack message with the data
20107
20108   salt.returners.sms_return
20109       Return data by SMS.
20110
20111       New in version 2015.5.0.
20112
20113
20114       maintainer
20115              Damian Myerscough
20116
20117       maturity
20118              new
20119
20120       depends
20121              twilio
20122
20123       platform
20124              all
20125
20126       To enable this returner the minion will need the python twilio  library
20127       installed  and  the following values configured in the minion or master
20128       config:
20129
20130          twilio.sid: 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
20131          twilio.token: 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
20132          twilio.to: '+1415XXXXXXX'
20133          twilio.from: '+1650XXXXXXX'
20134
20135       To use the sms returner, append '--return sms' to the salt command.
20136
20137          salt '*' test.ping --return sms
20138
20139       salt.returners.sms_return.returner(ret)
20140              Return a response in an SMS message
20141
20142   salt.returners.smtp_return
20143       Return salt data via email
20144
20145       The following fields can be set in the minion  conf  file.  Fields  are
20146       optional unless noted otherwise.
20147
20148       · from (required) The name/address of the email sender.
20149
20150       ·
20151
20152         to (required) The names/addresses of the email recipients;
20153                comma-delimited.     For     example:    you@example.com,some‐
20154                oneelse@example.com.
20155
20156       · host (required) The SMTP server hostname or address.
20157
20158       · port The SMTP server port; defaults to 25.
20159
20160       ·
20161
20162         username The username used to authenticate to the server.  If  speci‐
20163         fied a
20164                password  is also required. It is recommended but not required
20165                to also use TLS with this option.
20166
20167       · password The password used to authenticate to the server.
20168
20169       · tls Whether to secure the connection using TLS; defaults to False
20170
20171       · subject The email subject line.
20172
20173       ·
20174
20175         fields Which fields from the returned data to include in the  subject
20176         line
20177                of  the  email;  comma-delimited.  For example: id,fun. Please
20178                note, the subject line is not encrypted.
20179
20180       ·
20181
20182         gpgowner A user's ~/.gpg directory. This must contain a gpg
20183                public key matching the address the mail is sent to.  If  left
20184                unset, no encryption will be used. Requires python-gnupg to be
20185                installed.
20186
20187       · template The path to a file to be used as a template  for  the  email
20188         body.
20189
20190       ·
20191
20192         renderer A Salt renderer, or render-pipe, to use to render the email
20193                template. Default jinja.
20194
20195       Below  is  an example of the above settings in a Salt Minion configura‐
20196       tion file:
20197
20198          smtp.from: me@example.net
20199          smtp.to: you@example.com
20200          smtp.host: localhost
20201          smtp.port: 1025
20202
20203       Alternative configuration values can be used by prefacing the  configu‐
20204       ration.   Any values not found in the alternative configuration will be
20205       pulled from the default location. For example:
20206
20207          alternative.smtp.username: saltdev
20208          alternative.smtp.password: saltdev
20209          alternative.smtp.tls: True
20210
20211       To use the SMTP returner, append '--return smtp' to the salt command.
20212
20213          salt '*' test.ping --return smtp
20214
20215       To use the alternative configuration, append '--return_config  alterna‐
20216       tive' to the salt command.
20217
20218       New in version 2015.5.0.
20219
20220
20221          salt '*' test.ping --return smtp --return_config alternative
20222
20223       To  override  individual  configuration  items,  append --return_kwargs
20224       '{"key:": "value"}' to the salt command.
20225
20226       New in version 2016.3.0.
20227
20228
20229          salt '*' test.ping --return smtp --return_kwargs '{"to": "user@domain.com"}'
20230
20231       An easy way to test the SMTP returner is to use  the  development  SMTP
20232       server  built  into  Python.  The  command  below  will  start  a  sin‐
20233       gle-threaded SMTP server that prints any email it receives to the  con‐
20234       sole.
20235
20236          python -m smtpd -n -c DebuggingServer localhost:1025
20237
20238       New in version 2016.11.0.
20239
20240
20241       It  is possible to send emails with selected Salt events by configuring
20242       event_return option for Salt Master. For example:
20243
20244          event_return: smtp
20245
20246          event_return_whitelist:
20247            - salt/key
20248
20249          smtp.from: me@example.net
20250          smtp.to: you@example.com
20251          smtp.host: localhost
20252          smtp.subject: 'Salt Master {{act}}ed key from Minion ID: {{id}}'
20253          smtp.template: /srv/salt/templates/email.j2
20254
20255       Also you need to create  additional  file  /srv/salt/templates/email.j2
20256       with email body template:
20257
20258          act: {{act}}
20259          id: {{id}}
20260          result: {{result}}
20261
20262       This  configuration enables Salt Master to send an email when accepting
20263       or rejecting minions keys.
20264
20265       salt.returners.smtp_return.event_return(events)
20266              Return event data via SMTP
20267
20268       salt.returners.smtp_return.prep_jid(nocache=False, passed_jid=None)
20269              Do any work necessary to prepare a JID, including sending a cus‐
20270              tom id
20271
20272       salt.returners.smtp_return.returner(ret)
20273              Send an email with the data
20274
20275   salt.returners.splunk module
20276       Send json response data to Splunk via the HTTP Event Collector Requires
20277       the following config values to be specified in config or pillar:
20278
20279          splunk_http_forwarder:
20280            token: <splunk_http_forwarder_token>
20281            indexer: <hostname/IP of Splunk indexer>
20282            sourcetype: <Destination sourcetype for data>
20283            index: <Destination index for data>
20284
20285       Run a test by using salt-call test.ping --return splunk
20286
20287       Written by Scott Pack (github.com/scottjpack)
20288
20289       class                 salt.returners.splunk.http_event_collector(token,
20290       http_event_server,          host=u'',          http_event_port=u'8088',
20291       http_event_server_ssl=True, max_bytes=100000)
20292
20293              batchEvent(payload, eventtime=u'')
20294
20295              flushBatch()
20296
20297              sendEvent(payload, eventtime=u'')
20298
20299       salt.returners.splunk.returner(ret)
20300              Send a message to Splunk via the HTTP Event Collector
20301
20302   salt.returners.sqlite3
20303       Insert minion return data into a sqlite3 database
20304
20305       maintainer
20306              Mickey Malone <mickey.malone@gmail.com>
20307
20308       maturity
20309              New
20310
20311       depends
20312              None
20313
20314       platform
20315              All
20316
20317       Sqlite3 is a serverless database that lives in a single file.  In order
20318       to use this returner the database file must exist, have the appropriate
20319       schema defined, and be accessible to the user whom the  minion  process
20320       is  running  as. This returner requires the following values configured
20321       in the master or minion config:
20322
20323          sqlite3.database: /usr/lib/salt/salt.db
20324          sqlite3.timeout: 5.0
20325
20326       Alternative configuration values can be used by prefacing the  configu‐
20327       ration.   Any values not found in the alternative configuration will be
20328       pulled from the default location:
20329
20330          alternative.sqlite3.database: /usr/lib/salt/salt.db
20331          alternative.sqlite3.timeout: 5.0
20332
20333       Use the commands to create the sqlite3 database and tables:
20334
20335          sqlite3 /usr/lib/salt/salt.db << EOF
20336          --
20337          -- Table structure for table 'jids'
20338          --
20339
20340          CREATE TABLE jids (
20341            jid TEXT PRIMARY KEY,
20342            load TEXT NOT NULL
20343            );
20344
20345          --
20346          -- Table structure for table 'salt_returns'
20347          --
20348
20349          CREATE TABLE salt_returns (
20350            fun TEXT KEY,
20351            jid TEXT KEY,
20352            id TEXT KEY,
20353            fun_args TEXT,
20354            date TEXT NOT NULL,
20355            full_ret TEXT NOT NULL,
20356            success TEXT NOT NULL
20357            );
20358          EOF
20359
20360       To use the sqlite returner, append '--return sqlite3' to the salt  com‐
20361       mand.
20362
20363          salt '*' test.ping --return sqlite3
20364
20365       To  use the alternative configuration, append '--return_config alterna‐
20366       tive' to the salt command.
20367
20368       New in version 2015.5.0.
20369
20370
20371          salt '*' test.ping --return sqlite3 --return_config alternative
20372
20373       To override  individual  configuration  items,  append  --return_kwargs
20374       '{"key:": "value"}' to the salt command.
20375
20376       New in version 2016.3.0.
20377
20378
20379          salt '*' test.ping --return sqlite3 --return_kwargs '{"db": "/var/lib/salt/another-salt.db"}'
20380
20381       salt.returners.sqlite3_return.get_fun(fun)
20382              Return a dict of the last function called for all minions
20383
20384       salt.returners.sqlite3_return.get_jid(jid)
20385              Return the information returned from a specified jid
20386
20387       salt.returners.sqlite3_return.get_jids()
20388              Return a list of all job ids
20389
20390       salt.returners.sqlite3_return.get_load(jid)
20391              Return the load from a specified jid
20392
20393       salt.returners.sqlite3_return.get_minions()
20394              Return a list of minions
20395
20396       salt.returners.sqlite3_return.prep_jid(nocache=False, passed_jid=None)
20397              Do any work necessary to prepare a JID, including sending a cus‐
20398              tom id
20399
20400       salt.returners.sqlite3_return.returner(ret)
20401              Insert minion return data into the sqlite3 database
20402
20403       salt.returners.sqlite3_return.save_load(jid, load, minions=None)
20404              Save the load to the specified jid
20405
20406   salt.returners.syslog_return
20407       Return data to the host operating system's syslog facility
20408
20409       To use the syslog returner, append '--return syslog' to the  salt  com‐
20410       mand.
20411
20412          salt '*' test.ping --return syslog
20413
20414       The following fields can be set in the minion conf file:
20415
20416          syslog.level (optional, Default: LOG_INFO)
20417          syslog.facility (optional, Default: LOG_USER)
20418          syslog.tag (optional, Default: salt-minion)
20419          syslog.options (list, optional, Default: [])
20420
20421       Available  levels,  facilities,  and options can be found in the syslog
20422       docs for your python version.
20423
20424       NOTE:
20425          The default tag comes from sys.argv[0] which is  usually  "salt-min‐
20426          ion" but could be different based on the specific environment.
20427
20428       Configuration example:
20429
20430          syslog.level: 'LOG_ERR'
20431          syslog.facility: 'LOG_DAEMON'
20432          syslog.tag: 'mysalt'
20433          syslog.options:
20434            - LOG_PID
20435
20436       Of course you can also nest the options:
20437
20438          syslog:
20439            level: 'LOG_ERR'
20440            facility: 'LOG_DAEMON'
20441            tag: 'mysalt'
20442            options:
20443              - LOG_PID
20444
20445       Alternative  configuration values can be used by prefacing the configu‐
20446       ration. Any values not found in the alternative configuration  will  be
20447       pulled from the default location:
20448
20449          alternative.syslog.level: 'LOG_WARN'
20450          alternative.syslog.facility: 'LOG_NEWS'
20451
20452       To  use  the alternative configuration, append --return_config alterna‐
20453       tive to the salt command.
20454
20455       New in version 2015.5.0.
20456
20457
20458          salt '*' test.ping --return syslog --return_config alternative
20459
20460       To override  individual  configuration  items,  append  --return_kwargs
20461       '{"key:": "value"}' to the salt command.
20462
20463       New in version 2016.3.0.
20464
20465
20466          salt '*' test.ping --return syslog --return_kwargs '{"level": "LOG_DEBUG"}'
20467
20468       NOTE:
20469          Syslog  server implementations may have limits on the maximum record
20470          size received by the client. This may lead to job return data  being
20471          truncated  in  the syslog server's logs. For example, for rsyslog on
20472          RHEL-based systems, the default maximum record size is approximately
20473          2KB  (which  return data can easily exceed). This is configurable in
20474          rsyslog.conf via the $MaxMessageSize config parameter.  Please  con‐
20475          sult  your  syslog implmentation's documentation to determine how to
20476          adjust this limit.
20477
20478       salt.returners.syslog_return.prep_jid(nocache=False, passed_jid=None)
20479              Do any work necessary to prepare a JID, including sending a cus‐
20480              tom id
20481
20482       salt.returners.syslog_return.returner(ret)
20483              Return data to the local syslog
20484
20485   salt.returners.telegram_return
20486       Return salt data via Telegram.
20487
20488       The following fields can be set in the minion conf file:
20489
20490          telegram.chat_id (required)
20491          telegram.token (required)
20492
20493       Telegram settings may also be configured as:
20494
20495          telegram:
20496            chat_id: 000000000
20497            token: 000000000:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
20498
20499       To use the Telegram return, append '--return telegram' to the salt com‐
20500       mand.
20501
20502          salt '*' test.ping --return telegram
20503
20504       salt.returners.telegram_return.returner(ret)
20505              Send a Telegram message with the data.
20506
20507              Parameters
20508                     ret -- The data to be sent.
20509
20510              Returns
20511                     Boolean if message was sent successfully.
20512
20513   salt.returners.xmpp_return
20514       Return salt data via xmpp
20515
20516       depends
20517              sleekxmpp >= 1.3.1
20518
20519       The following fields can be set in the minion conf file:
20520
20521          xmpp.jid (required)
20522          xmpp.password (required)
20523          xmpp.recipient (required)
20524          xmpp.profile (optional)
20525
20526       Alternative configuration values can be used by prefacing the  configu‐
20527       ration.   Any values not found in the alternative configuration will be
20528       pulled from the default location:
20529
20530          xmpp.jid
20531          xmpp.password
20532          xmpp.recipient
20533          xmpp.profile
20534
20535       XMPP settings may also be configured as:
20536
20537          xmpp:
20538              jid: user@xmpp.domain.com/resource
20539              password: password
20540              recipient: user@xmpp.example.com
20541
20542          alternative.xmpp:
20543              jid: user@xmpp.domain.com/resource
20544              password: password
20545              recipient: someone@xmpp.example.com
20546
20547          xmpp_profile:
20548              xmpp.jid: user@xmpp.domain.com/resource
20549              xmpp.password: password
20550
20551          xmpp:
20552              profile: xmpp_profile
20553              recipient: user@xmpp.example.com
20554
20555          alternative.xmpp:
20556              profile: xmpp_profile
20557              recipient: someone-else@xmpp.example.com
20558
20559       To use the XMPP returner, append '--return xmpp' to the salt command.
20560
20561          salt '*' test.ping --return xmpp
20562
20563       To use the alternative configuration, append '--return_config  alterna‐
20564       tive' to the salt command.
20565
20566       New in version 2015.5.0.
20567
20568
20569          salt '*' test.ping --return xmpp --return_config alternative
20570
20571       To  override  individual  configuration  items,  append --return_kwargs
20572       '{"key:": "value"}' to the salt command.
20573
20574       New in version 2016.3.0.
20575
20576
20577          salt '*' test.ping --return xmpp --return_kwargs '{"recipient": "someone-else@xmpp.example.com"}'
20578
20579       class salt.returners.xmpp_return.SendMsgBot(jid,  password,  recipient,
20580       msg)
20581
20582              start(event)
20583
20584       salt.returners.xmpp_return.returner(ret)
20585              Send an xmpp message with the data
20586
20587   salt.returners.zabbix_return module
20588       Return salt data to Zabbix
20589
20590       The  following  Type:  "Zabbix trapper" with "Type of information" Text
20591       items are required:
20592
20593          Key: salt.trap.info
20594          Key: salt.trap.average
20595          Key: salt.trap.warning
20596          Key: salt.trap.high
20597          Key: salt.trap.disaster
20598
20599       To use the Zabbix returner, append '--return zabbix' to the  salt  com‐
20600       mand. ex:
20601
20602          salt '*' test.ping --return zabbix
20603
20604       salt.returners.zabbix_return.returner(ret)
20605
20606       salt.returners.zabbix_return.save_load(jid, load, minions=None)
20607
20608       salt.returners.zabbix_return.zabbix_send(key, host, output)
20609
20610       salt.returners.zabbix_return.zbx()
20611
20612   Renderers
20613       The  Salt  state  system  operates by gathering information from common
20614       data types such as lists,  dictionaries,  and  strings  that  would  be
20615       familiar to any developer.
20616
20617       Salt  Renderers  translate input from the format in which it is written
20618       into Python data structures.
20619
20620       The default renderer is set in  the  master/minion  configuration  file
20621       using the renderer config option, which defaults to jinja|yaml.
20622
20623   Two Kinds of Renderers
20624       Renderers  fall  into one of two categories, based on what they output:
20625       text or data. The one exception to this would be the pure  python  ren‐
20626       derer, which can be used in either capacity.
20627
20628   Text Renderers
20629       A  text renderer returns text. These include templating engines such as
20630       jinja, mako, and genshi, as well as the gpg renderer. The following are
20631       all text renderers:
20632
20633       · aws_kms
20634
20635       · cheetah
20636
20637       · genshi
20638
20639       · gpg
20640
20641       · jinja
20642
20643       · mako
20644
20645       · nacl
20646
20647       · pass
20648
20649       · py
20650
20651       · wempy
20652
20653   Data Renderers
20654       A  data  renderer  returns a Python data structure (typically a dictio‐
20655       nary). The following are all data renderers:
20656
20657       · dson
20658
20659       · hjson
20660
20661       · json5
20662
20663       · json
20664
20665       · pydsl
20666
20667       · pyobjects
20668
20669       · py
20670
20671       · stateconf
20672
20673       · yamlex
20674
20675       · yaml
20676
20677   Overriding the Default Renderer
20678       It can sometimes be beneficial to write an SLS file  using  a  renderer
20679       other  than the default one. This can be done by using a "shebang"-like
20680       syntax on the first line of the SLS file:
20681
20682       Here is an example of using the pure python renderer to install a pack‐
20683       age:
20684
20685          #!py
20686
20687          def run():
20688              '''
20689              Install version 1.5-1.el7 of package "python-foo"
20690              '''
20691              return {
20692                  'include': ['python'],
20693                  'python-foo': {
20694                      'pkg.installed': [
20695                          {'version': '1.5-1.el7'},
20696                      ]
20697                  }
20698              }
20699
20700       This would be equivalent to the following:
20701
20702          include:
20703            - python
20704
20705          python-foo:
20706            pkg.installed:
20707              - version: '1.5-1.el7'
20708
20709   Composing Renderers (a.k.a. The Render Pipeline )
20710       A  render  pipeline  can be composed from other renderers by connecting
20711       them in a series of "pipes" (i.e. |). The renderers will  be  evaluated
20712       from left to right, with each renderer receiving the result of the pre‐
20713       vious renderer's execution.
20714
20715       Take for example the default renderer (jinja|yaml). The file is  evalu‐
20716       ated  first a jinja template, and the result of that template is evalu‐
20717       ated as a YAML document.
20718
20719       Other render pipeline combinations include:
20720
20721          yaml   Just YAML, no templating.
20722
20723          mako|yaml
20724                 This passes the input to the mako renderer, with  its  output
20725                 fed into the yaml renderer.
20726
20727          jinja|mako|yaml
20728                 This  one  allows  you  to use both jinja and mako templating
20729                 syntax in the input and then parse the final rendered  output
20730                 as YAML.
20731
20732       The following is a contrived example SLS file using the jinja|mako|yaml
20733       render pipeline:
20734
20735          #!jinja|mako|yaml
20736
20737          An_Example:
20738            cmd.run:
20739              - name: |
20740                  echo "Using Salt ${grains['saltversion']}" \
20741                       "from path {{grains['saltpath']}}."
20742              - cwd: /
20743
20744          <%doc> ${...} is Mako's notation, and so is this comment. </%doc>
20745          {#     Similarly, {{...}} is Jinja's notation, and so is this comment. #}
20746
20747       IMPORTANT:
20748          Keep in mind that not all renderers can be used alone  or  with  any
20749          other renderers. For example, text renderers shouldn't be used alone
20750          as their outputs are just strings, which still need to be parsed  by
20751          another renderer to turn them into Python data structures.
20752
20753          For  example,  it would not make sense to use yaml|jinja because the
20754          output of the yaml renderer is a  Python  data  structure,  and  the
20755          jinja renderer only accepts text as input.
20756
20757          Therefore,  when combining renderers, you should know what each ren‐
20758          derer accepts as input and what it returns as  output.  One  way  of
20759          thinking  about it is that you can chain together multiple text ren‐
20760          derers, but the pipeline must end in  a  data  renderer.  Similarly,
20761          since  the  text  renderers  in Salt don't accept data structures as
20762          input, a text renderer should usually not come  after  a  data  ren‐
20763          derer.  It's  technically  possible to write a renderer that takes a
20764          data structure as input and returns a string, but no  such  renderer
20765          is distributed with Salt.
20766
20767   Writing Renderers
20768       A  custom  renderer  must  be a Python module which implements a render
20769       function. This function must implement three positional arguments:
20770
20771       1. data - Can be called whatever you like. This is the input to be ren‐
20772          dered.
20773
20774       2. saltenv
20775
20776       3. sls
20777
20778       The  first  is  the important one, and the 2nd and 3rd must be included
20779       since Salt needs to pass this info to each render, even  though  it  is
20780       only used by template renderers.
20781
20782       Renderers should be written so that the data argument can accept either
20783       strings or file-like objects as input. For example:
20784
20785          import mycoolmodule
20786          from salt.ext import six
20787
20788          def render(data, saltenv='base', sls='', **kwargs):
20789              if not isinstance(data, six.string_types):
20790                  # Read from file-like object
20791                  data = data.read()
20792
20793              return mycoolmodule.do_something(data)
20794
20795       Custom renderers should be placed within  salt://_renderers/,  so  that
20796       they  can be synced to minions. They are synced when any of the follow‐
20797       ing are run:
20798
20799       · state.apply
20800
20801       · saltutil.sync_renderers
20802
20803       · saltutil.sync_all
20804
20805       Any custom renderers which have been synced to a minion, that are named
20806       the same as one of Salt's default set of renderers, will take the place
20807       of the default renderer with the same name.
20808
20809       NOTE:
20810          Renderers can also be synced from salt://_renderers/ to  the  Master
20811          using either the saltutil.sync_renderers or saltutil.sync_all runner
20812          function.
20813
20814   Examples
20815       The best place to find examples of renderers  is  in  the  Salt  source
20816       code.
20817
20818       Documentation for renderers included with Salt can be found here:
20819
20820       https://github.com/saltstack/salt/blob/develop/salt/renderers
20821
20822       Here is a simple YAML renderer example:
20823
20824          import salt.utils.yaml
20825          from salt.utils.yamlloader import SaltYamlSafeLoader
20826          from salt.ext import six
20827
20828          def render(yaml_data, saltenv='', sls='', **kws):
20829              if not isinstance(yaml_data, six.string_types):
20830                  yaml_data = yaml_data.read()
20831              data = salt.utils.yaml.safe_load(yaml_data)
20832              return data if data else {}
20833
20834   Full List of Renderers
20835   renderer modules
20836                      ┌──────────┬────────────────────────────┐
20837cheetah   │ Cheetah Renderer for Salt  │
20838                      ├──────────┼────────────────────────────┤
20839dson      │ DSON Renderer for Salt     │
20840                      ├──────────┼────────────────────────────┤
20841genshi    │ Genshi Renderer for Salt   │
20842                      ├──────────┼────────────────────────────┤
20843gpg       │ Renderer that will decrypt │
20844                      │          │ GPG ciphers                │
20845                      ├──────────┼────────────────────────────┤
20846hjson     │ hjson renderer for Salt    │
20847                      ├──────────┼────────────────────────────┤
20848jinja     │ Jinja  loading  utils   to │
20849                      │          │ enable   a  more  powerful │
20850                      │          │ backend  for  jinja   tem‐ │
20851                      │          │ plates                     │
20852                      ├──────────┼────────────────────────────┤
20853json      │ JSON Renderer for Salt     │
20854                      ├──────────┼────────────────────────────┤
20855json5     │ JSON5 Renderer for Salt    │
20856                      ├──────────┼────────────────────────────┤
20857mako      │ Mako Renderer for Salt     │
20858                      ├──────────┼────────────────────────────┤
20859msgpack   │                            │
20860                      ├──────────┼────────────────────────────┤
20861pass      │ Pass Renderer for Salt     │
20862                      ├──────────┼────────────────────────────┤
20863py        │ Pure python state renderer │
20864                      ├──────────┼────────────────────────────┤
20865pydsl     │ A Python-based DSL         │
20866                      ├──────────┼────────────────────────────┤
20867pyobjects │ Python    renderer    that │
20868                      │          │ includes a Pythonic Object │
20869                      │          │ based interface            │
20870                      ├──────────┼────────────────────────────┤
20871stateconf │ A  flexible  renderer that │
20872                      │          │ takes a templating  engine │
20873                      │          │ and a data format          │
20874                      ├──────────┼────────────────────────────┤
20875wempy     │                            │
20876                      └──────────┴────────────────────────────┘
20877
20878
20879yaml      │ YAML Renderer for Salt     │
20880                      ├──────────┼────────────────────────────┤
20881yamlex    │                            │
20882                      └──────────┴────────────────────────────┘
20883
20884   salt.renderers.cheetah
20885       Cheetah Renderer for Salt
20886
20887       salt.renderers.cheetah.render(cheetah_data,  saltenv=u'base',  sls=u'',
20888       method=u'xml', **kws)
20889              Render a Cheetah template.
20890
20891              Return type
20892                     A Python data structure
20893
20894   salt.renderers.dson
20895       DSON Renderer for Salt
20896
20897       This renderer is intended for demonstration  purposes.  Information  on
20898       the DSON spec can be found here.
20899
20900       This renderer requires Dogeon (installable via pip)
20901
20902       salt.renderers.dson.render(dson_input,     saltenv=u'base',    sls=u'',
20903       **kwargs)
20904              Accepts DSON data as a string or as a file object  and  runs  it
20905              through the JSON parser.
20906
20907              Return type
20908                     A Python data structure
20909
20910   salt.renderers.genshi
20911       Genshi Renderer for Salt
20912
20913       salt.renderers.genshi.render(genshi_data,   saltenv=u'base',   sls=u'',
20914       method=u'xml', **kws)
20915              Render a Genshi template. A method should be passed in  as  part
20916              of  the kwargs. If no method is passed in, xml is assumed. Valid
20917              methods are:
20918
20919              Note that the text method will call NewTextTemplate. If  oldtext
20920              is desired, it must be called explicitly
20921
20922              Return type
20923                     A Python data structure
20924
20925   salt.renderers.gpg
20926       Renderer that will decrypt GPG ciphers
20927
20928       Any  key  in  the  SLS file can be a GPG cipher, and this renderer will
20929       decrypt it before passing it off to Salt. This  allows  you  to  safely
20930       store secrets in source control, in such a way that only your Salt mas‐
20931       ter can decrypt them and distribute them only to the minions that  need
20932       them.
20933
20934       The  typical  use-case would be to use ciphers in your pillar data, and
20935       keep a secret key on your master. You can put the public key in  source
20936       control so that developers can add new secrets quickly and easily.
20937
20938       This renderer requires the gpg binary. No python libraries are required
20939       as of the 2015.8.0 release.
20940
20941   Setup
20942       To set things up, first generate a keypair. On the master, run the fol‐
20943       lowing:
20944
20945          # mkdir -p /etc/salt/gpgkeys
20946          # chmod 0700 /etc/salt/gpgkeys
20947          # gpg --gen-key --homedir /etc/salt/gpgkeys
20948
20949       Do  not  supply  a  password for the keypair, and use a name that makes
20950       sense for your application. Be sure to back up  the  gpgkeys  directory
20951       someplace safe!
20952
20953       NOTE:
20954          Unfortunately,  there  are  some scenarios - for example, on virtual
20955          machines which don’t have real hardware - where insufficient entropy
20956          causes  key  generation  to be extremely slow. In these cases, there
20957          are usually means of increasing the system entropy.  On  virtualised
20958          Linux  systems,  this  can  often  be  achieved  by  installing  the
20959          rng-tools package.
20960
20961   Export the Public Key
20962          # gpg --homedir /etc/salt/gpgkeys --armor --export <KEY-NAME> > exported_pubkey.gpg
20963
20964   Import the Public Key
20965       To encrypt secrets, copy the public key to your local machine and run:
20966
20967          $ gpg --import exported_pubkey.gpg
20968
20969       To generate a cipher from a secret:
20970
20971          $ echo -n "supersecret" | gpg --armor --batch --trust-model always --encrypt -r <KEY-name>
20972
20973       To apply the renderer on a file-by-file basis add the following line to
20974       the top of any pillar with gpg data in it:
20975
20976          #!yaml|gpg
20977
20978       Now with your renderer configured, you can include your ciphers in your
20979       pillar data like so:
20980
20981          #!yaml|gpg
20982
20983          a-secret: |
20984            -----BEGIN PGP MESSAGE-----
20985            Version: GnuPG v1
20986
20987            hQEMAweRHKaPCfNeAQf9GLTN16hCfXAbPwU6BbBK0unOc7i9/etGuVc5CyU9Q6um
20988            QuetdvQVLFO/HkrC4lgeNQdM6D9E8PKonMlgJPyUvC8ggxhj0/IPFEKmrsnv2k6+
20989            cnEfmVexS7o/U1VOVjoyUeliMCJlAz/30RXaME49Cpi6No2+vKD8a4q4nZN1UZcG
20990            RhkhC0S22zNxOXQ38TBkmtJcqxnqT6YWKTUsjVubW3bVC+u2HGqJHu79wmwuN8tz
20991            m4wBkfCAd8Eyo2jEnWQcM4TcXiF01XPL4z4g1/9AAxh+Q4d8RIRP4fbw7ct4nCJv
20992            Gr9v2DTF7HNigIMl4ivMIn9fp+EZurJNiQskLgNbktJGAeEKYkqX5iCuB1b693hJ
20993            FKlwHiJt5yA8X2dDtfk8/Ph1Jx2TwGS+lGjlZaNqp3R1xuAZzXzZMLyZDe5+i3RJ
20994            skqmFTbOiA===Eqsm
20995            -----END PGP MESSAGE-----
20996
20997   Encrypted CLI Pillar Data
20998       New in version 2016.3.0.
20999
21000
21001       Functions like state.highstate and state.sls allow for pillar  data  to
21002       be passed on the CLI.
21003
21004          salt myminion state.highstate pillar="{'mypillar': 'foo'}"
21005
21006       Starting with the 2016.3.0 release of Salt, it is now possible for this
21007       pillar data to be GPG-encrypted, and to use the GPG renderer to decrypt
21008       it.
21009
21010   Replacing Newlines
21011       To  pass encrypted pillar data on the CLI, the ciphertext must have its
21012       newlines replaced with a literal backslash-n (\n), as newlines are  not
21013       supported  within  Salt CLI arguments. There are a number of ways to do
21014       this:
21015
21016       With awk or Perl:
21017
21018          # awk
21019          ciphertext=`echo -n "supersecret" | gpg --armor --batch --trust-model always --encrypt -r user@domain.com | awk '{printf "%s\\n",$0} END {print ""}'`
21020          # Perl
21021          ciphertext=`echo -n "supersecret" | gpg --armor --batch --trust-model always --encrypt -r user@domain.com | perl -pe 's/\n/\\n/g'`
21022
21023       With Python:
21024
21025          import subprocess
21026
21027          secret, stderr = subprocess.Popen(
21028              ['gpg', '--armor', '--batch', '--trust-model', 'always', '--encrypt',
21029               '-r', 'user@domain.com'],
21030              stdin=subprocess.PIPE,
21031              stdout=subprocess.PIPE,
21032              stderr=subprocess.PIPE).communicate(input='supersecret')
21033
21034          if secret:
21035              print(secret.replace('\n', r'\n'))
21036          else:
21037              raise ValueError('No ciphertext found: {0}'.format(stderr))
21038
21039          ciphertext=`python /path/to/script.py`
21040
21041       The ciphertext can be included in the CLI pillar data like so:
21042
21043          salt myminion state.sls secretstuff pillar_enc=gpg pillar="{secret_pillar: '$ciphertext'}"
21044
21045       The pillar_enc=gpg argument tells Salt that there is GPG-encrypted pil‐
21046       lar  data,  so  that the CLI pillar data is passed through the GPG ren‐
21047       derer, which will iterate recursively though the CLI pillar  dictionary
21048       to decrypt any encrypted values.
21049
21050   Encrypting the Entire CLI Pillar Dictionary
21051       If  several  values  need to be encrypted, it may be more convenient to
21052       encrypt the entire CLI pillar dictionary. Again, this can  be  done  in
21053       several ways:
21054
21055       With awk or Perl:
21056
21057          # awk
21058          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 ""}'`
21059          # Perl
21060          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'`
21061
21062       With Python:
21063
21064          import subprocess
21065
21066          pillar_data = {'secret_a': 'CorrectHorseBatteryStaple',
21067                         'secret_b': 'GPG is fun!'}
21068
21069          secret, stderr = subprocess.Popen(
21070              ['gpg', '--armor', '--batch', '--trust-model', 'always', '--encrypt',
21071               '-r', 'user@domain.com'],
21072              stdin=subprocess.PIPE,
21073              stdout=subprocess.PIPE,
21074              stderr=subprocess.PIPE).communicate(input=repr(pillar_data))
21075
21076          if secret:
21077              print(secret.replace('\n', r'\n'))
21078          else:
21079              raise ValueError('No ciphertext found: {0}'.format(stderr))
21080
21081          ciphertext=`python /path/to/script.py`
21082
21083       With  the entire pillar dictionary now encrypted, it can be included in
21084       the CLI pillar data like so:
21085
21086          salt myminion state.sls secretstuff pillar_enc=gpg pillar="$ciphertext"
21087
21088       salt.renderers.gpg.render(gpg_data,      saltenv=u'base',      sls=u'',
21089       argline=u'', **kwargs)
21090              Create  a  gpg object given a gpg_keydir, and then use it to try
21091              to decrypt the data to be rendered.
21092
21093   salt.renderers.hjson
21094       hjson renderer for Salt
21095
21096       See the hjson documentation for more information
21097
21098       salt.renderers.hjson.render(hjson_data,    saltenv=u'base',    sls=u'',
21099       **kws)
21100              Accepts  HJSON  as  a  string  or  as  a file object and runs it
21101              through the HJSON parser.
21102
21103              Return type
21104                     A Python data structure
21105
21106   salt.renderers.jinja
21107       Jinja loading utils to enable a more powerful backend  for  jinja  tem‐
21108       plates
21109
21110       For Jinja usage information see Understanding Jinja.
21111
21112       salt.renderers.jinja.render(template_file,   saltenv=u'base',  sls=u'',
21113       argline=u'', context=None, tmplpath=None, **kws)
21114              Render the template_file, passing the functions and grains  into
21115              the Jinja rendering system.
21116
21117              Return type
21118                     string
21119
21120       class salt.utils.jinja.SerializerExtension(environment)
21121              Yaml and Json manipulation.
21122
21123              Format filters
21124
21125              Allows jsonifying or yamlifying any data structure. For example,
21126              this dataset:
21127
21128                 data = {
21129                     'foo': True,
21130                     'bar': 42,
21131                     'baz': [1, 2, 3],
21132                     'qux': 2.0
21133                 }
21134
21135                 yaml = {{ data|yaml }}
21136                 json = {{ data|json }}
21137                 python = {{ data|python }}
21138                 xml  = {{ {'root_node': data}|xml }}
21139
21140              will be rendered as:
21141
21142                 yaml = {bar: 42, baz: [1, 2, 3], foo: true, qux: 2.0}
21143                 json = {"baz": [1, 2, 3], "foo": true, "bar": 42, "qux": 2.0}
21144                 python = {'bar': 42, 'baz': [1, 2, 3], 'foo': True, 'qux': 2.0}
21145                 xml = """<<?xml version="1.0" ?>
21146                          <root_node bar="42" foo="True" qux="2.0">
21147                           <baz>1</baz>
21148                           <baz>2</baz>
21149                           <baz>3</baz>
21150                          </root_node>"""
21151
21152              The yaml filter takes an optional flow_style parameter  to  con‐
21153              trol the default-flow-style parameter of the YAML dumper.
21154
21155                 {{ data|yaml(False) }}
21156
21157              will be rendered as:
21158
21159                 bar: 42
21160                 baz:
21161                   - 1
21162                   - 2
21163                   - 3
21164                 foo: true
21165                 qux: 2.0
21166
21167              Load filters
21168
21169              Strings  and  variables  can  be deserialized with load_yaml and
21170              load_json tags and filters. It allows  one  to  manipulate  data
21171              directly in templates, easily:
21172
21173                 {%- set yaml_src = "{foo: it works}"|load_yaml %}
21174                 {%- set json_src = "{'bar': 'for real'}"|load_json %}
21175                 Dude, {{ yaml_src.foo }} {{ json_src.bar }}!
21176
21177              will be rendered as:
21178
21179                 Dude, it works for real!
21180
21181              Load tags
21182
21183              Salt implements load_yaml and load_json tags. They work like the
21184              import tag, except that the document is also deserialized.
21185
21186              Syntaxes are {% load_yaml as [VARIABLE] %}[YOUR DATA]{%  endload
21187              %} and {% load_json as [VARIABLE] %}[YOUR DATA]{% endload %}
21188
21189              For example:
21190
21191                 {% load_yaml as yaml_src %}
21192                     foo: it works
21193                 {% endload %}
21194                 {% load_json as json_src %}
21195                     {
21196                         "bar": "for real"
21197                     }
21198                 {% endload %}
21199                 Dude, {{ yaml_src.foo }} {{ json_src.bar }}!
21200
21201              will be rendered as:
21202
21203                 Dude, it works for real!
21204
21205              Import tags
21206
21207              External  files  can  be  imported and made available as a Jinja
21208              variable.
21209
21210                 {% import_yaml "myfile.yml" as myfile %}
21211                 {% import_json "defaults.json" as defaults %}
21212                 {% import_text "completeworksofshakespeare.txt" as poems %}
21213
21214              Catalog
21215
21216              import_* and load_* tags will automatically expose their  target
21217              variable  to  import. This feature makes catalog of data to han‐
21218              dle.
21219
21220              for example:
21221
21222                 # doc1.sls
21223                 {% load_yaml as var1 %}
21224                     foo: it works
21225                 {% endload %}
21226                 {% load_yaml as var2 %}
21227                     bar: for real
21228                 {% endload %}
21229
21230                 # doc2.sls
21231                 {% from "doc1.sls" import var1, var2 as local2 %}
21232                 {{ var1.foo }} {{ local2.bar }}
21233
21234              ** Escape Filters **
21235
21236              New in version 2017.7.0.
21237
21238
21239              Allows escaping of strings so they can be interpreted  literally
21240              by another function.
21241
21242              For example:
21243
21244                 regex_escape = {{ 'https://example.com?foo=bar%20baz' | regex_escape }}
21245
21246              will be rendered as:
21247
21248                 regex_escape = https\:\/\/example\.com\?foo\=bar\%20baz
21249
21250              ** Set Theory Filters **
21251
21252              New in version 2017.7.0.
21253
21254
21255              Performs set math using Jinja filters.
21256
21257              For example:
21258
21259                 unique = {{ ['foo', 'foo', 'bar'] | unique }}
21260
21261              will be rendered as:
21262
21263                 unique = ['foo', 'bar']
21264
21265   salt.renderers.json
21266       JSON Renderer for Salt
21267
21268       salt.renderers.json.render(json_data, saltenv=u'base', sls=u'', **kws)
21269              Accepts JSON as a string or as a file object and runs it through
21270              the JSON parser.
21271
21272              Return type
21273                     A Python data structure
21274
21275   salt.renderers.json5
21276       JSON5 Renderer for Salt
21277
21278       New in version 2016.3.0.
21279
21280
21281       JSON5 is an unofficial extension to  JSON.  See  http://json5.org/  for
21282       more information.
21283
21284       This renderer requires the json5 python bindings, installable via pip.
21285
21286       salt.renderers.json5.render(json_data, saltenv=u'base', sls=u'', **kws)
21287              Accepts JSON as a string or as a file object and runs it through
21288              the JSON parser.
21289
21290              Return type
21291                     A Python data structure
21292
21293   salt.renderers.mako
21294       Mako Renderer for Salt
21295
21296       salt.renderers.mako.render(template_file,   saltenv=u'base',   sls=u'',
21297       context=None, tmplpath=None, **kws)
21298              Render  the template_file, passing the functions and grains into
21299              the Mako rendering system.
21300
21301              Return type
21302                     string
21303
21304   salt.renderers.msgpack
21305       salt.renderers.msgpack.render(msgpack_data,  saltenv=u'base',  sls=u'',
21306       **kws)
21307              Accepts  a  message  pack  string or a file object, renders said
21308              data back to a python dict.
21309
21310              Return type
21311                     A Python data structure
21312
21313   salt.renderers.pass module
21314   Pass Renderer for Salt
21315       pass is an encrypted on-disk password store.
21316
21317       New in version 2017.7.0.
21318
21319
21320   Setup
21321       Note: <user> needs to be replaced with the  user  salt-master  will  be
21322       running as.
21323
21324       Have private gpg loaded into user's gpg keyring
21325
21326          load_private_gpg_key:
21327            cmd.run:
21328              - name: gpg --import <location_of_private_gpg_key>
21329              - unless: gpg --list-keys '<gpg_name>'
21330
21331       Said  private  key's  public  key should have been used when encrypting
21332       pass entries that are of interest for pillar data.
21333
21334       Fetch and keep local pass git repo up-to-date
21335
21336          update_pass:
21337            git.latest:
21338              - force_reset: True
21339              - name: <git_repo>
21340              - target: /<user>/.password-store
21341              - identity: <location_of_ssh_private_key>
21342              - require:
21343                - cmd: load_private_gpg_key
21344
21345       Install pass binary
21346
21347          pass:
21348            pkg.installed
21349
21350       salt.renderers.pass.render(pass_info,     saltenv=u'base',     sls=u'',
21351       argline=u'', **kwargs)
21352              Fetch secret from pass based on pass_path
21353
21354   salt.renderers.py
21355   Pure python state renderer
21356       To use this renderer, the SLS file should contain a function called run
21357       which returns highstate data.
21358
21359       The highstate data is a dictionary containing identifiers as keys,  and
21360       execution  dictionaries as values. For example the following state dec‐
21361       laration in YAML:
21362
21363          common_packages:
21364            pkg.installed:
21365             - pkgs:
21366                - curl
21367                - vim
21368
21369       tranlastes to:
21370
21371          {'common_packages': {'pkg.installed': [{'pkgs': ['curl', 'vim']}]}}
21372
21373       In this module, a few objects are defined for  you,  giving  access  to
21374       Salt's execution functions, grains, pillar, etc. They are:
21375
21376       · __salt__ - Execution functions (i.e.  __salt__['test.echo']('foo'))
21377
21378       · __grains__ - Grains (i.e. __grains__['os'])
21379
21380       · __pillar__ - Pillar data (i.e. __pillar__['foo'])
21381
21382       · __opts__ - Minion configuration options
21383
21384       · __env__ - The effective salt fileserver environment (i.e. base). Also
21385         referred to as a "saltenv". __env__ should not be modified in a  pure
21386         python  SLS  file.  To  use  a different environment, the environment
21387         should be set when executing the state. This can be done in a  couple
21388         different ways:
21389
21390         · Using the saltenv argument on the salt CLI (i.e. salt '*' state.sls
21391           foo.bar.baz saltenv=env_name).
21392
21393         · By adding a saltenv argument to an individual state within the  SLS
21394           file.  In  other words, adding a line like this to the state's data
21395           structure: {'saltenv': 'env_name'}
21396
21397       · __sls__ - The SLS path of the file. For example, if the root  of  the
21398         base    environment    is    /srv/salt,   and   the   SLS   file   is
21399         /srv/salt/foo/bar/baz.sls,  then  __sls__  in  that  file   will   be
21400         foo.bar.baz.
21401
21402       When  writing  a reactor SLS file the global context data (same as con‐
21403       text {{ data }} for states written with Jinja + YAML) is available. The
21404       following YAML + Jinja state declaration:
21405
21406          {% if data['id'] == 'mysql1' %}
21407          highstate_run:
21408            local.state.apply:
21409              - tgt: mysql1
21410          {% endif %}
21411
21412       translates to:
21413
21414          if data['id'] == 'mysql1':
21415              return {'highstate_run': {'local.state.apply': [{'tgt': 'mysql1'}]}}
21416
21417   Full Example
21418           #!py
21419
21420           def run():
21421               config = {}
21422
21423               if __grains__['os'] == 'Ubuntu':
21424                   user = 'ubuntu'
21425                   group = 'ubuntu'
21426                   home = '/home/{0}'.format(user)
21427               else:
21428                   user = 'root'
21429                   group = 'root'
21430                   home = '/root/'
21431
21432               config['s3cmd'] = {
21433                   'pkg': [
21434                       'installed',
21435                       {'name': 's3cmd'},
21436                   ],
21437               }
21438
21439               config[home + '/.s3cfg'] = {
21440                   'file.managed': [
21441                       {'source': 'salt://s3cfg/templates/s3cfg'},
21442                       {'template': 'jinja'},
21443                       {'user': user},
21444                       {'group': group},
21445                       {'mode': 600},
21446                       {'context': {
21447                           'aws_key': __pillar__['AWS_ACCESS_KEY_ID'],
21448                           'aws_secret_key': __pillar__['AWS_SECRET_ACCESS_KEY'],
21449                           },
21450                       },
21451                   ],
21452               }
21453
21454               return config
21455
21456       salt.renderers.py.render(template,       saltenv=u'base',      sls=u'',
21457       tmplpath=None, **kws)
21458              Render the python module's components
21459
21460              Return type
21461                     string
21462
21463   salt.renderers.pydsl
21464       A Python-based DSL
21465
21466       maintainer
21467              Jack Kuan <kjkuan@gmail.com>
21468
21469       maturity
21470              new
21471
21472       platform
21473              all
21474
21475       The pydsl renderer allows one to author salt formulas (.sls  files)  in
21476       pure  Python  using a DSL that's easy to write and easy to read. Here's
21477       an example:
21478
21479          #!pydsl
21480
21481          apache = state('apache')
21482          apache.pkg.installed()
21483          apache.service.running()
21484          state('/var/www/index.html') \
21485              .file('managed',
21486                    source='salt://webserver/index.html') \
21487              .require(pkg='apache')
21488
21489       Notice that any Python code is allow in  the  file  as  it's  really  a
21490       Python  module,  so you have the full power of Python at your disposal.
21491       In this module, a few objects are defined for you, including the  usual
21492       (with  __ added) __salt__ dictionary, __grains__, __pillar__, __opts__,
21493       __env__, and __sls__, plus a few more:
21494          __file__
21495              local file system path to the sls module.
21496
21497          __pydsl__
21498              Salt PyDSL object, useful for configuring DSL behavior  per  sls
21499              rendering.
21500
21501          include
21502              Salt PyDSL function for creating include-declaration's.
21503
21504          extend
21505              Salt PyDSL function for creating extend-declaration's.
21506
21507          state
21508              Salt PyDSL function for creating ID-declaration's.
21509
21510       A state ID-declaration is created with a state(id) function call.  Sub‐
21511       sequent state(id) call with the same id returns the same  object.  This
21512       singleton  access  pattern  applies  to all declaration objects created
21513       with the DSL.
21514
21515          state('example')
21516          assert state('example') is state('example')
21517          assert state('example').cmd is state('example').cmd
21518          assert state('example').cmd.running is state('example').cmd.running
21519
21520       The id argument is optional. If omitted, an UUID will be generated  and
21521       used as the id.
21522
21523       state(id) returns an object under which you can create a state-declara‐
21524       tion object by accessing an attribute  named  after  any  state  module
21525       available in Salt.
21526
21527          state('example').cmd
21528          state('example').file
21529          state('example').pkg
21530          ...
21531
21532       Then,  a function-declaration object can be created from a state-decla‐
21533       ration object by one of the following two ways:
21534
21535       1. by calling a method named after the state function on the state-dec‐
21536          laration object.
21537
21538          state('example').file.managed(...)
21539
21540       2. by  directly  calling the attribute named for the state-declaration,
21541          and supplying the state function name as the first argument.
21542
21543          state('example').file('managed', ...)
21544
21545       With either way of creating a function-declaration  object,  any  func‐
21546       tion-arg-declaration's  can be passed as keyword arguments to the call.
21547       Subsequent calls of a function-declaration will update the arg declara‐
21548       tions.
21549
21550          state('example').file('managed', source='salt://webserver/index.html')
21551          state('example').file.managed(source='salt://webserver/index.html')
21552
21553       As  a  shortcut,  the  special  name argument can also be passed as the
21554       first or second positional argument depending on the  first  or  second
21555       way of calling the state-declaration object. In the following two exam‐
21556       ples ls -la is the name argument.
21557
21558          state('example').cmd.run('ls -la', cwd='/')
21559          state('example').cmd('run', 'ls -la', cwd='/')
21560
21561       Finally, a requisite-declaration object with its  requisite-reference's
21562       can be created by invoking one of the requisite methods (see State Req‐
21563       uisites) on either a function-declaration object or a state-declaration
21564       object.  The return value of a requisite call is also a function-decla‐
21565       ration object, so you can chain several requisite calls together.
21566
21567       Arguments to a requisite  call  can  be  a  list  of  state-declaration
21568       objects and/or a set of keyword arguments whose names are state modules
21569       and values are IDs of ID-declaration's or names of name-declaration's.
21570
21571          apache2 = state('apache2')
21572          apache2.pkg.installed()
21573          state('libapache2-mod-wsgi').pkg.installed()
21574
21575          # you can call requisites on function declaration
21576          apache2.service.running() \
21577                         .require(apache2.pkg,
21578                                  pkg='libapache2-mod-wsgi') \
21579                         .watch(file='/etc/apache2/httpd.conf')
21580
21581          # or you can call requisites on state declaration.
21582          # this actually creates an anonymous function declaration object
21583          # to add the requisites.
21584          apache2.service.require(state('libapache2-mod-wsgi').pkg,
21585                                  pkg='apache2') \
21586                         .watch(file='/etc/apache2/httpd.conf')
21587
21588          # we still need to set the name of the function declaration.
21589          apache2.service.running()
21590
21591       include-declaration objects can be created with the  include  function,
21592       while  extend-declaration  objects can be created with the extend func‐
21593       tion, whose arguments are just function-declaration objects.
21594
21595          include('edit.vim', 'http.server')
21596          extend(state('apache2').service.watch(file='/etc/httpd/httpd.conf')
21597
21598       The include function, by default, causes the included sls  file  to  be
21599       rendered  as  soon as the include function is called. It returns a list
21600       of rendered module objects; sls files not rendered with the pydsl  ren‐
21601       derer return None's.  This behavior creates no include-declaration's in
21602       the resulting high state data structure.
21603
21604          import types
21605
21606          # including multiple sls returns a list.
21607          _, mod = include('a-non-pydsl-sls', 'a-pydsl-sls')
21608
21609          assert _ is None
21610          assert isinstance(slsmods[1], types.ModuleType)
21611
21612          # including a single sls returns a single object
21613          mod = include('a-pydsl-sls')
21614
21615          # myfunc is a function that calls state(...) to create more states.
21616          mod.myfunc(1, 2, "three")
21617
21618       Notice how you can define a reusable function in your pydsl sls  module
21619       and then call it via the module returned by include.
21620
21621       It's  still  possible  to  do late includes by passing the delayed=True
21622       keyword argument to include.
21623
21624          include('edit.vim', 'http.server', delayed=True)
21625
21626       Above will just create a include-declaration in  the  rendered  result,
21627       and such call always returns None.
21628
21629   Special integration with the cmd state
21630       Taking  advantage  of  rendering  a  Python module, PyDSL allows you to
21631       declare a state that calls a pre-defined Python function when the state
21632       is executed.
21633
21634          greeting = "hello world"
21635          def helper(something, *args, **kws):
21636              print greeting                # hello world
21637              print something, args, kws    # test123 ['a', 'b', 'c'] {'x': 1, 'y': 2}
21638
21639          state().cmd.call(helper, "test123", 'a', 'b', 'c', x=1, y=2)
21640
21641       The  cmd.call  state function takes care of calling our helper function
21642       with the arguments we specified  in  the  states,  and  translates  the
21643       return  value  of  our  function into a structure expected by the state
21644       system.  See salt.states.cmd.call() for more information.
21645
21646   Implicit ordering of states
21647       Salt states are explicitly ordered via  requisite-declaration's.   How‐
21648       ever,  with  pydsl it's possible to let the renderer track the order of
21649       creation for function-declaration objects, and implicitly  add  require
21650       requisites  for  your  states  to enforce the ordering. This feature is
21651       enabled by setting the ordered option on __pydsl__.
21652
21653       NOTE:
21654          this feature is only available if your minions are using  Python  >=
21655          2.7.
21656
21657          include('some.sls.file')
21658
21659          A = state('A').cmd.run(cwd='/var/tmp')
21660          extend(A)
21661
21662          __pydsl__.set(ordered=True)
21663
21664          for i in range(10):
21665              i = six.text_type(i)
21666              state(i).cmd.run('echo '+i, cwd='/')
21667          state('1').cmd.run('echo one')
21668          state('2').cmd.run(name='echo two')
21669
21670       Notice  that the ordered option needs to be set after any extend calls.
21671       This is to prevent pydsl from tracking the creation of a state function
21672       that's passed to an extend call.
21673
21674       Above example should create states from 0 to 9 that will output 0, one,
21675       two, 3, ... 9, in that order.
21676
21677       It's important to know that pydsl tracks the creations of function-dec‐
21678       laration objects, and automatically adds a require requisite to a func‐
21679       tion-declaration object that  requires  the  last  function-declaration
21680       object created before it in the sls file.
21681
21682       This  means  later  calls  (perhaps  to  update  the  function's  func‐
21683       tion-arg-declaration) to a previously created function declaration will
21684       not change the order.
21685
21686   Render time state execution
21687       When Salt processes a salt formula file, the file is rendered to salt's
21688       high state data representation by a renderer before the states  can  be
21689       executed.  In the case of the pydsl renderer, the .sls file is executed
21690       as a python module as it is being rendered which makes it easy to  exe‐
21691       cute a state at render time.  In pydsl, executing one or more states at
21692       render time can be done by calling a configured ID-declaration object.
21693
21694          #!pydsl
21695
21696          s = state() # save for later invocation
21697
21698          # configure it
21699          s.cmd.run('echo at render time', cwd='/')
21700          s.file.managed('target.txt', source='salt://source.txt')
21701
21702          s() # execute the two states now
21703
21704       Once an ID-declaration is called at render time it is detached from the
21705       sls module as if it was never defined.
21706
21707       NOTE:
21708          If      implicit      ordering     is     enabled     (i.e.,     via
21709          __pydsl__.set(ordered=True)) then the first invocation of a  ID-dec‐
21710          laration  object  must  be done before a new function-declaration is
21711          created.
21712
21713   Integration with the stateconf renderer
21714       The salt.renderers.stateconf renderer offers a few interesting features
21715       that  can be leveraged by the pydsl renderer. In particular, when using
21716       with the pydsl renderer, we are interested in stateconf's sls namespac‐
21717       ing  feature  (via dot-prefixed id declarations), as well as, the auto‐
21718       matic start and goal states generation.
21719
21720       Now you can use pydsl with stateconf like this:
21721
21722          #!pydsl|stateconf -ps
21723
21724          include('xxx', 'yyy')
21725
21726          # ensure that states in xxx run BEFORE states in this file.
21727          extend(state('.start').stateconf.require(stateconf='xxx::goal'))
21728
21729          # ensure that states in yyy run AFTER states in this file.
21730          extend(state('.goal').stateconf.require_in(stateconf='yyy::start'))
21731
21732          __pydsl__.set(ordered=True)
21733
21734          ...
21735
21736       -s enables the generation of a stateconf start state, and  -p  lets  us
21737       pipe high state data rendered by pydsl to stateconf. This example shows
21738       that by require-ing or require_in-ing the included sls' start  or  goal
21739       states, it's possible to ensure that the included sls files can be made
21740       to execute before or after a state in the including sls file.
21741
21742   Importing custom Python modules
21743       To use a custom Python module inside a PyDSL state,  place  the  module
21744       somewhere that it can be loaded by the Salt loader, such as _modules in
21745       the /srv/salt directory.
21746
21747       Then, copy it to any minions as necessary by  using  saltutil.sync_mod‐
21748       ules.
21749
21750       To  import  into  a  PyDSL SLS, one must bypass the Python importer and
21751       insert it manually by getting a  reference  from  Python's  sys.modules
21752       dictionary.
21753
21754       For example:
21755
21756          #!pydsl|stateconf -ps
21757
21758          def main():
21759              my_mod = sys.modules['salt.loaded.ext.module.my_mod']
21760
21761       salt.renderers.pydsl.render(template,     saltenv=u'base',     sls=u'',
21762       tmplpath=None, rendered_sls=None, **kws)
21763
21764   salt.renderers.pyobjects
21765       Python renderer that includes a Pythonic Object based interface
21766
21767       maintainer
21768              Evan Borgstrom <evan@borgstrom.ca>
21769
21770       Let's take a look at how you use pyobjects in a state  file.  Here's  a
21771       quick example that ensures the /tmp directory is in the correct state.
21772
21773           #!pyobjects
21774
21775           File.managed("/tmp", user='root', group='root', mode='1777')
21776
21777       Nice and Pythonic!
21778
21779       By  using  the  "shebang" syntax to switch to the pyobjects renderer we
21780       can now write our state data  using  an  object  based  interface  that
21781       should feel at home to python developers. You can import any module and
21782       do anything that you'd like (with caution, importing sqlalchemy, django
21783       or other large frameworks has not been tested yet). Using the pyobjects
21784       renderer is exactly the same as using the built-in Python renderer with
21785       the  exception  that pyobjects provides you with an object based inter‐
21786       face for generating state data.
21787
21788   Creating state data
21789       Pyobjects takes care of creating an object for each  of  the  available
21790       states  on  the  minion. Each state is represented by an object that is
21791       the CamelCase version of its name (i.e. File, Service, User, etc),  and
21792       these  objects  expose  all  of  their  available state functions (i.e.
21793       File.managed, Service.running, etc).
21794
21795       The name of the state is split based upon underscores  (_),  then  each
21796       part is capitalized and finally the parts are joined back together.
21797
21798       Some examples:
21799
21800       · postgres_user becomes PostgresUser
21801
21802       · ssh_known_hosts becomes SshKnownHosts
21803
21804   Context Managers and requisites
21805       How about something a little more complex. Here we're going to get into
21806       the core of how to use pyobjects to write states.
21807
21808           #!pyobjects
21809
21810           with Pkg.installed("nginx"):
21811               Service.running("nginx", enable=True)
21812
21813               with Service("nginx", "watch_in"):
21814                   File.managed("/etc/nginx/conf.d/mysite.conf",
21815                                owner='root', group='root', mode='0444',
21816                                source='salt://nginx/mysite.conf')
21817
21818       The objects that are returned from each of the magic method  calls  are
21819       setup to be used a Python context managers (with) and when you use them
21820       as such all declarations made within the scope will  automatically  use
21821       the enclosing state as a requisite!
21822
21823       The  above could have also been written use direct requisite statements
21824       as.
21825
21826           #!pyobjects
21827
21828           Pkg.installed("nginx")
21829           Service.running("nginx", enable=True, require=Pkg("nginx"))
21830           File.managed("/etc/nginx/conf.d/mysite.conf",
21831                        owner='root', group='root', mode='0444',
21832                        source='salt://nginx/mysite.conf',
21833                        watch_in=Service("nginx"))
21834
21835       You can use the direct requisite statement for referencing states  that
21836       are generated outside of the current file.
21837
21838           #!pyobjects
21839
21840           # some-other-package is defined in some other state file
21841           Pkg.installed("nginx", require=Pkg("some-other-package"))
21842
21843       The  last thing that direct requisites provide is the ability to select
21844       which of the SaltStack requisites you want to use (require, require_in,
21845       watch,  watch_in,  use  & use_in) when using the requisite as a context
21846       manager.
21847
21848           #!pyobjects
21849
21850           with Service("my-service", "watch_in"):
21851               ...
21852
21853       The above example would cause all declarations inside the scope of  the
21854       context  manager  to  automatically  have  their  watch_in  set to Ser‐
21855       vice("my-service").
21856
21857   Including and Extending
21858       To include other states use the include() function. It takes  one  name
21859       per state to include.
21860
21861       To extend another state use the extend() function on the name when cre‐
21862       ating a state.
21863
21864           #!pyobjects
21865
21866           include('http', 'ssh')
21867
21868           Service.running(extend('apache'),
21869                           watch=[File('/etc/httpd/extra/httpd-vhosts.conf')])
21870
21871   Importing from other state files
21872       Like any Python project that grows you will likely reach a point  where
21873       you  want  to  create  reusability in your state tree and share objects
21874       between state files, Map Data (described below) is a perfect example of
21875       this.
21876
21877       To  facilitate  this  Python's  import  statement has been augmented to
21878       allow for a special case when working with a Salt state  tree.  If  you
21879       specify  a  Salt url (salt://...) as the target for importing from then
21880       the pyobjects renderer will take care of fetching  the  file  for  you,
21881       parsing  it with all of the pyobjects features available and then place
21882       the requested objects in the global scope of the  template  being  ren‐
21883       dered.
21884
21885       This  works for all types of import statements; import X, from X import
21886       Y, and from X import Y as Z.
21887
21888           #!pyobjects
21889
21890           import salt://myfile.sls
21891           from salt://something/data.sls import Object
21892           from salt://something/data.sls import Object as Other
21893
21894       See the Map Data section for a more practical use.
21895
21896       Caveats:
21897
21898       · Imported objects are ALWAYS put into the global scope  of  your  tem‐
21899         plate, regardless of where your import statement is.
21900
21901   Salt object
21902       In the spirit of the object interface for creating state data pyobjects
21903       also provides a simple object interface to the __salt__ object.
21904
21905       A function named salt exists in scope for your sls files and will  dis‐
21906       patch its attributes to the __salt__ dictionary.
21907
21908       The following lines are functionally equivalent:
21909
21910           #!pyobjects
21911
21912           ret = salt.cmd.run(bar)
21913           ret = __salt__['cmd.run'](bar)
21914
21915   Pillar, grain, mine & config data
21916       Pyobjects   provides   shortcut   functions   for  calling  pillar.get,
21917       grains.get, mine.get & config.get on the __salt__  object.  This  helps
21918       maintain the readability of your state files.
21919
21920       Each  type  of  data can be access by a function of the same name: pil‐
21921       lar(), grains(), mine() and config().
21922
21923       The following pairs of lines are functionally equivalent:
21924
21925           #!pyobjects
21926
21927           value = pillar('foo:bar:baz', 'qux')
21928           value = __salt__['pillar.get']('foo:bar:baz', 'qux')
21929
21930           value = grains('pkg:apache')
21931           value = __salt__['grains.get']('pkg:apache')
21932
21933           value = mine('os:Fedora', 'network.interfaces', 'grain')
21934           value = __salt__['mine.get']('os:Fedora', 'network.interfaces', 'grain')
21935
21936           value = config('foo:bar:baz', 'qux')
21937           value = __salt__['config.get']('foo:bar:baz', 'qux')
21938
21939   Map Data
21940       When building complex states or formulas you often need a way of build‐
21941       ing  up  a map of data based on grain data. The most common use of this
21942       is tracking the package and service name differences between  distribu‐
21943       tions.
21944
21945       To build map data using pyobjects we provide a class named Map that you
21946       use to build your own classes with inner classes for each set of values
21947       for the different grain matches.
21948
21949           #!pyobjects
21950
21951           class Samba(Map):
21952               merge = 'samba:lookup'
21953               # NOTE: priority is new to 2017.7.0
21954               priority = ('os_family', 'os')
21955
21956               class Ubuntu:
21957                   __grain__ = 'os'
21958                   service = 'smbd'
21959
21960               class Debian:
21961                   server = 'samba'
21962                   client = 'samba-client'
21963                   service = 'samba'
21964
21965               class RHEL:
21966                   __match__ = 'RedHat'
21967                   server = 'samba'
21968                   client = 'samba'
21969                   service = 'smb'
21970
21971       NOTE:
21972          By  default,  the  os_family  grain  will  be used as the target for
21973          matching.  This  can  be  overridden  by  specifying   a   __grain__
21974          attribute.
21975
21976          If  a  __match__  attribute  is defined for a given class, then that
21977          value will be matched against  the  targeted  grain,  otherwise  the
21978          class name's value will be be matched.
21979
21980          Given the above example, the following is true:
21981
21982          1. Minions  with  an  os_family  of  Debian  will  be  assigned  the
21983             attributes defined in the Debian class.
21984
21985          2. Minions  with  an  os  grain  of  Ubuntu  will  be  assigned  the
21986             attributes defined in the Ubuntu class.
21987
21988          3. Minions  with  an  os_family grain of RedHat will be assigned the
21989             attributes defined in the RHEL class.
21990
21991          That said, sometimes a minion may match more  than  one  class.  For
21992          instance,  in  the above example, Ubuntu minions will match both the
21993          Debian and Ubuntu classes, since Ubuntu has an  os_family  grain  of
21994          Debian  and  an  os grain of Ubuntu. As of the 2017.7.0 release, the
21995          order is dictated by the order of declaration, with classes  defined
21996          later  overriding  earlier ones. Additionally, 2017.7.0 adds support
21997          for explicitly defining the ordering  using  an  optional  attribute
21998          called priority.
21999
22000          Given  the above example, os_family matches will be processed first,
22001          with os matches processed after.  This  would  have  the  effect  of
22002          assigning  smbd  as  the service attribute on Ubuntu minions. If the
22003          priority item was not defined, or if the order of the items  in  the
22004          priority  tuple  were  reversed, Ubuntu minions would have a service
22005          attribute of samba, since os_family matches  would  have  been  pro‐
22006          cessed second.
22007
22008       To  use  this  new data you can import it into your state file and then
22009       access your attributes. To access the data in the map you simply access
22010       the  attribute  name  on the base class that is extending Map. Assuming
22011       the above Map was in the file samba/map.sls, you could do  the  follow‐
22012       ing.
22013
22014           #!pyobjects
22015
22016           from salt://samba/map.sls import Samba
22017
22018           with Pkg.installed("samba", names=[Samba.server, Samba.client]):
22019               Service.running("samba", name=Samba.service)
22020
22021       class salt.renderers.pyobjects.PyobjectsModule(name, attrs)
22022              This provides a wrapper for bare imports.
22023
22024       salt.renderers.pyobjects.load_states()
22025              This loads our states into the salt __context__
22026
22027       salt.renderers.pyobjects.render(template,   saltenv=u'base',   sls=u'',
22028       salt_data=True, **kwargs)
22029
22030   salt.renderers.stateconf
22031       maintainer
22032              Jack Kuan <kjkuan@gmail.com>
22033
22034       maturity
22035              new
22036
22037       platform
22038              all
22039
22040       This module provides a custom renderer that processes a salt file  with
22041       a  specified  templating engine (e.g. Jinja) and a chosen data renderer
22042       (e.g. YAML), extracts arguments for any stateconf.set state,  and  pro‐
22043       vides  the  extracted  arguments (including Salt-specific args, such as
22044       require, etc) as template context. The goal is to  make  writing  reus‐
22045       able/configurable/parameterized salt files easier and cleaner.
22046
22047       To  use  this  renderer,  either set it as the default renderer via the
22048       renderer option in master/minion's config, or use the shebang  line  in
22049       each  individual  sls  file, like so: #!stateconf. Note, due to the way
22050       this renderer works, it must be specified as the first  renderer  in  a
22051       render pipeline. That is, you cannot specify #!mako|yaml|stateconf, for
22052       example.  Instead, you specify them as renderer arguments:  #!stateconf
22053       mako . yaml.
22054
22055       Here's a list of features enabled by this renderer.
22056
22057       · Prefixes  any  state id (declaration or reference) that starts with a
22058         dot (.)  to avoid duplicated state ids when the salt file is included
22059         by other salt files.
22060
22061         For  example,  in  the  salt://some/file.sls,  a  state  id  such  as
22062         .sls_params will be turned into some.file::sls_params. Example:
22063
22064            #!stateconf yaml . jinja
22065
22066            .vim:
22067              pkg.installed
22068
22069         Above will be translated into:
22070
22071            some.file::vim:
22072              pkg.installed:
22073                - name: vim
22074
22075         Notice how that if a state under a dot-prefixed state id has no  name
22076         argument  then  one will be added automatically by using the state id
22077         with the leading dot stripped off.
22078
22079         The leading dot trick can be used with extending state ids  as  well,
22080         so  you  can  include  relatively and extend relatively. For example,
22081         when extending a state in salt://some/other_file.sls, e.g.:
22082
22083            #!stateconf yaml . jinja
22084
22085            include:
22086              - .file
22087
22088            extend:
22089              .file::sls_params:
22090                stateconf.set:
22091                  - name1: something
22092
22093         Above will be pre-processed into:
22094
22095            include:
22096              - some.file
22097
22098            extend:
22099              some.file::sls_params:
22100                stateconf.set:
22101                  - name1: something
22102
22103       · Adds a sls_dir context variable that expands to  the  directory  con‐
22104         taining    the    rendering    salt   file.   So,   you   can   write
22105         salt://{{sls_dir}}/... to reference templates files used by your salt
22106         file.
22107
22108       · Recognizes the special state function, stateconf.set, that configures
22109         a default list of named arguments usable within the template  context
22110         of the salt file. Example:
22111
22112            #!stateconf yaml . jinja
22113
22114            .sls_params:
22115              stateconf.set:
22116                - name1: value1
22117                - name2: value2
22118                - name3:
22119                  - value1
22120                  - value2
22121                  - value3
22122                - require_in:
22123                  - cmd: output
22124
22125            # --- end of state config ---
22126
22127            .output:
22128              cmd.run:
22129                - name: |
22130                    echo 'name1={{sls_params.name1}}
22131                          name2={{sls_params.name2}}
22132                          name3[1]={{sls_params.name3[1]}}
22133                    '
22134
22135         This  even  works  with include + extend so that you can override the
22136         default configured arguments by including  the  salt  file  and  then
22137         extend  the  stateconf.set  states  that  come from the included salt
22138         file. (IMPORTANT: Both the included and the extending sls files  must
22139         use the stateconf renderer for this ``extend`` to work!)
22140
22141         Notice  that the end of configuration marker (# --- end of state con‐
22142         fig --) is needed to separate the use  of  'stateconf.set'  form  the
22143         rest  of  your  salt  file. The regex that matches such marker can be
22144         configured via the stateconf_end_marker option in your master or min‐
22145         ion config file.
22146
22147         Sometimes,  it  is  desirable  to set a default argument value that's
22148         based on earlier arguments in the same stateconf.set. For example, it
22149         may be tempting to do something like this:
22150
22151            #!stateconf yaml . jinja
22152
22153            .apache:
22154              stateconf.set:
22155                - host: localhost
22156                - port: 1234
22157                - url: 'http://{{host}}:{{port}}/'
22158
22159            # --- end of state config ---
22160
22161            .test:
22162              cmd.run:
22163                - name: echo '{{apache.url}}'
22164                - cwd: /
22165
22166         However, this won't work. It can however be worked around like so:
22167
22168            #!stateconf yaml . jinja
22169
22170            .apache:
22171              stateconf.set:
22172                - host: localhost
22173                - port: 1234
22174            {#  - url: 'http://{{host}}:{{port}}/' #}
22175
22176            # --- end of state config ---
22177            # {{ apache.setdefault('url', "http://%(host)s:%(port)s/" % apache) }}
22178
22179            .test:
22180              cmd.run:
22181                - name: echo '{{apache.url}}'
22182                - cwd: /
22183
22184       · Adds support for relative include and exclude of .sls files. Example:
22185
22186            #!stateconf yaml . jinja
22187
22188            include:
22189              - .apache
22190              - .db.mysql
22191              - ..app.django
22192
22193            exclude:
22194              - sls: .users
22195
22196         If  the above is written in a salt file at salt://some/where.sls then
22197         it will include salt://some/apache.sls, salt://some/db/mysql.sls  and
22198         salt://app/django.sls,  and  exclude salt://some/users.ssl. Actually,
22199         it does that by rewriting the above include and exclude into:
22200
22201            include:
22202              - some.apache
22203              - some.db.mysql
22204              - app.django
22205
22206            exclude:
22207              - sls: some.users
22208
22209       · Optionally (enabled by default, disable via the -G  renderer  option,
22210         e.g.  in the shebang line: #!stateconf -G), generates a stateconf.set
22211         goal state (state id named as .goal by default, configurable via  the
22212         master/minion  config option, stateconf_goal_state) that requires all
22213         other states in the salt file. Note, the .goal state id is subject to
22214         dot-prefix rename rule mentioned earlier.
22215
22216         Such  goal  state  is  intended  to  be  required by some state in an
22217         including salt file. For example, in your webapp salt  file,  if  you
22218         include  a  sls file that is supposed to setup Tomcat, you might want
22219         to make sure that all states in the Tomcat sls file will be  executed
22220         before some state in the webapp sls file.
22221
22222       · Optionally  (enable  via  the -o renderer option, e.g. in the shebang
22223         line: #!stateconf -o), orders the states in a sls file  by  adding  a
22224         require  requisite  to  each state such that every state requires the
22225         state defined just before it. The order of the  states  here  is  the
22226         order  they  are defined in the sls file. (Note: this feature is only
22227         available if your minions are using Python >= 2.7. For Python2.6,  it
22228         should also work if you install the ordereddict module from PyPI)
22229
22230         By  enabling  this feature, you are basically agreeing to author your
22231         sls files in a way that gives up the explicit (or implicit?) ordering
22232         imposed  by  the use of require, watch, require_in or watch_in requi‐
22233         sites, and instead, you rely on the order of states you define in the
22234         sls  files.  This may or may not be a better way for you. However, if
22235         there are many states defined in a sls file, then it tends to be eas‐
22236         ier to see the order they will be executed with this feature.
22237
22238         You  are still allowed to use all the requisites, with a few restric‐
22239         tions.  You cannot require or watch a state defined after the current
22240         state.  Similarly,  in  a  state, you cannot require_in or watch_in a
22241         state defined before it. Breaking any of the two  restrictions  above
22242         will  result in a state loop. The renderer will check for such incor‐
22243         rect uses if this feature is enabled.
22244
22245         Additionally, names declarations cannot be  used  with  this  feature
22246         because  the way they are compiled into low states make it impossible
22247         to guarantee the order in which they will be executed. This  is  also
22248         checked  by  the  renderer. As a workaround for not being able to use
22249         names, you can achieve the same effect, by generate your states  with
22250         the template engine available within your sls file.
22251
22252         Finally,  with the use of this feature, it becomes possible to easily
22253         make an included sls file execute all its  states  after  some  state
22254         (say, with id X) in the including sls file.  All you have to do is to
22255         make state, X, require_in the first state defined in the included sls
22256         file.
22257
22258       When  writing sls files with this renderer, one should avoid using what
22259       can be defined in a name argument of a state as the  state's  id.  That
22260       is, avoid writing states like this:
22261
22262          /path/to/some/file:
22263            file.managed:
22264              - source: salt://some/file
22265
22266          cp /path/to/some/file file2:
22267            cmd.run:
22268              - cwd: /
22269              - require:
22270                - file: /path/to/some/file
22271
22272       Instead,  define the state id and the name argument separately for each
22273       state. Also, the ID should be something meaningful and easy  to  refer‐
22274       ence  within  a requisite (which is a good habit anyway, and such extra
22275       indirection would also makes the sls  file  easier  to  modify  later).
22276       Thus, the above states should be written like this:
22277
22278          add-some-file:
22279            file.managed:
22280              - name: /path/to/some/file
22281              - source: salt://some/file
22282
22283          copy-files:
22284            cmd.run:
22285              - name: cp /path/to/some/file file2
22286              - cwd: /
22287              - require:
22288                - file: add-some-file
22289
22290       Moreover,  when referencing a state from a requisite, you should refer‐
22291       ence the state's id plus the state name rather than the state name plus
22292       its name argument. (Yes, in the above example, you can actually require
22293       the file: /path/to/some/file, instead of the file: add-some-file).  The
22294       reason  is  that  this  renderer will re-write or rename state id's and
22295       their references for state id's prefixed with .. So, if  you  reference
22296       name then there's no way to reliably rewrite such reference.
22297
22298   salt.renderers.wempy
22299       salt.renderers.wempy.render(template_file,   saltenv=u'base',  sls=u'',
22300       argline=u'', context=None, **kws)
22301              Render the data passing the functions and grains into  the  ren‐
22302              dering system
22303
22304              Return type
22305                     string
22306
22307   salt.renderers.yaml
22308   Understanding YAML
22309       The  default  renderer  for  SLS  files is the YAML renderer. YAML is a
22310       markup language with many powerful features. However, Salt uses a small
22311       subset  of YAML that maps over very commonly used data structures, like
22312       lists and dictionaries. It is the job of the YAML renderer to take  the
22313       YAML data structure and compile it into a Python data structure for use
22314       by Salt.
22315
22316       Though YAML syntax may seem daunting and terse at first, there are only
22317       three very simple rules to remember when writing YAML for SLS files.
22318
22319   Rule One: Indentation
22320       YAML uses a fixed indentation scheme to represent relationships between
22321       data layers. Salt requires that the indentation for each level consists
22322       of exactly two spaces. Do not use tabs.
22323
22324   Rule Two: Colons
22325       Python  dictionaries are, of course, simply key-value pairs. Users from
22326       other languages may recognize this data type as hashes  or  associative
22327       arrays.
22328
22329       Dictionary  keys  are  represented  in  YAML as strings terminated by a
22330       trailing colon.  Values are represented by either  a  string  following
22331       the colon, separated by a space:
22332
22333          my_key: my_value
22334
22335       In Python, the above maps to:
22336
22337          {'my_key': 'my_value'}
22338
22339       Dictionaries can be nested:
22340
22341          first_level_dict_key:
22342            second_level_dict_key: value_in_second_level_dict
22343
22344       And in Python:
22345
22346          {'first_level_dict_key': {'second_level_dict_key': 'value_in_second_level_dict' }
22347
22348   Rule Three: Dashes
22349       To represent lists of items, a single dash followed by a space is used.
22350       Multiple items are a part of the same list as a function of their  hav‐
22351       ing the same level of indentation.
22352
22353          - list_value_one
22354          - list_value_two
22355          - list_value_three
22356
22357       Lists  can  be  the  value of a key-value pair. This is quite common in
22358       Salt:
22359
22360          my_dictionary:
22361            - list_value_one
22362            - list_value_two
22363            - list_value_three
22364
22365   Reference
22366       YAML Renderer for Salt
22367
22368       For YAML usage information see Understanding YAML.
22369
22370       salt.renderers.yaml.get_yaml_loader(argline)
22371              Return the ordered dict yaml loader
22372
22373       salt.renderers.yaml.render(yaml_data,     saltenv=u'base',     sls=u'',
22374       argline=u'', **kws)
22375              Accepts YAML as a string or as a file object and runs it through
22376              the YAML parser.
22377
22378              Return type
22379                     A Python data structure
22380
22381   salt.renderers.yamlex
22382       YAMLEX renderer is a replacement of the YAML renderer.  It's 100%  YAML
22383       with a pinch of Salt magic:
22384
22385       · All mappings are automatically OrderedDict
22386
22387       · All strings are automatically str obj
22388
22389       · data   aggregation   with   !aggregation   yaml  tag,  based  on  the
22390         salt.utils.aggregation module.
22391
22392       · data aggregation over documents for pillar
22393
22394       Instructed aggregation within the !aggregation and the !reset tags:
22395
22396          #!yamlex
22397          foo: !aggregate first
22398          foo: !aggregate second
22399          bar: !aggregate {first: foo}
22400          bar: !aggregate {second: bar}
22401          baz: !aggregate 42
22402          qux: !aggregate default
22403          !reset qux: !aggregate my custom data
22404
22405       is roughly equivalent to
22406
22407          foo: [first, second]
22408          bar: {first: foo, second: bar}
22409          baz: [42]
22410          qux: [my custom data]
22411
22412   Reference
22413       salt.renderers.yamlex.render(sls_data, saltenv=u'base', sls=u'', **kws)
22414              Accepts YAML_EX as a string or as a  file  object  and  runs  it
22415              through the YAML_EX parser.
22416
22417              Return type
22418                     A Python data structure
22419

USING SALT

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

REMOTE EXECUTION

33841       Running  pre-defined  or arbitrary commands on remote hosts, also known
33842       as remote execution, is the core function of Salt. The following  links
33843       explore  modules  and  returners,  which are two key elements of remote
33844       execution.
33845
33846       Salt Execution Modules
33847
33848       Salt execution modules are called by the  remote  execution  system  to
33849       perform  a  wide  variety of tasks. These modules provide functionality
33850       such as installing packages, restarting a  service,  running  a  remote
33851       command, transferring files, and so on.
33852
33853          Full list of execution modules
33854                 Contains: a list of core modules that ship with Salt.
33855
33856          Writing execution modules
33857                 Contains: a guide on how to write Salt modules.
33858
33859   Running Commands on Salt Minions
33860       Salt can be controlled by a command line client by the root user on the
33861       Salt master. The Salt command line client uses the Salt client  API  to
33862       communicate  with  the Salt master server. The Salt client is straight‐
33863       forward and simple to use.
33864
33865       Using the Salt client commands can be easily sent to the minions.
33866
33867       Each of these commands accepts an explicit --config option to point  to
33868       either  the master or minion configuration file.  If this option is not
33869       provided and the default configuration file does not  exist  then  Salt
33870       falls  back  to  use  the  environment variables SALT_MASTER_CONFIG and
33871       SALT_MINION_CONFIG.
33872
33873       SEE ALSO:
33874          Configuration
33875
33876   Using the Salt Command
33877       The Salt command needs a few components to send information to the Salt
33878       minions.  The  target  minions need to be defined, the function to call
33879       and any arguments the function requires.
33880
33881   Defining the Target Minions
33882       The first argument passed to salt, defines the target minions, the tar‐
33883       get minions are accessed via their hostname. The default target type is
33884       a bash glob:
33885
33886          salt '*foo.com' sys.doc
33887
33888       Salt can also define the target minions with regular expressions:
33889
33890          salt -E '.*' cmd.run 'ls -l | grep foo'
33891
33892       Or to explicitly list hosts, salt can take a list:
33893
33894          salt -L foo.bar.baz,quo.qux cmd.run 'ps aux | grep foo'
33895
33896   More Powerful Targets
33897       See Targeting.
33898
33899   Calling the Function
33900       The function to call on the specified target is placed after the target
33901       specification.
33902
33903       New in version 0.9.8.
33904
33905
33906       Functions may also accept arguments, space-delimited:
33907
33908          salt '*' cmd.exec_code python 'import sys; print sys.version'
33909
33910       Optional, keyword arguments are also supported:
33911
33912          salt '*' pip.install salt timeout=5 upgrade=True
33913
33914       They are always in the form of kwarg=argument.
33915
33916       Arguments are formatted as YAML:
33917
33918          salt '*' cmd.run 'echo "Hello: $FIRST_NAME"' saltenv='{FIRST_NAME: "Joe"}'
33919
33920       Note: dictionaries must have curly braces around them (like the saltenv
33921       keyword argument above).  This was changed  in  0.15.1:  in  the  above
33922       example,  the first argument used to be parsed as the dictionary {'echo
33923       "Hello': '$FIRST_NAME"'}. This was generally not the expected behavior.
33924
33925       If you want to test what parameters are actually passed  to  a  module,
33926       use the test.arg_repr command:
33927
33928          salt '*' test.arg_repr 'echo "Hello: $FIRST_NAME"' saltenv='{FIRST_NAME: "Joe"}'
33929
33930   Finding available minion functions
33931       The Salt functions are self documenting, all of the function documenta‐
33932       tion can be retried from the minions via the sys.doc() function:
33933
33934          salt '*' sys.doc
33935
33936   Compound Command Execution
33937       If a series of commands needs to be sent to a single target  specifica‐
33938       tion  then  the commands can be sent in a single publish. This can make
33939       gathering groups of information faster, and lowers the  stress  on  the
33940       network for repeated commands.
33941
33942       Compound  command  execution  works  by sending a list of functions and
33943       arguments instead of sending a single function and argument. The  func‐
33944       tions  are  executed on the minion in the order they are defined on the
33945       command line, and then the data from all of the commands  are  returned
33946       in  a  dictionary.  This means that the set of commands are called in a
33947       predictable way, and the returned data can be easily interpreted.
33948
33949       Executing compound commands if done by passing a comma  delimited  list
33950       of functions, followed by a comma delimited list of arguments:
33951
33952          salt '*' cmd.run,test.ping,test.echo 'cat /proc/cpuinfo',,foo
33953
33954       The  trick  to look out for here, is that if a function is being passed
33955       no arguments, then there needs to be a placeholder for the absent argu‐
33956       ments.  This  is  why  in the above example, there are two commas right
33957       next to each other.  test.ping takes no arguments, so we  need  to  add
33958       another comma, otherwise Salt would attempt to pass "foo" to test.ping.
33959
33960       If  you  need to pass arguments that include commas, then make sure you
33961       add spaces around the commas that separate arguments. For example:
33962
33963          salt '*' cmd.run,test.ping,test.echo 'echo "1,2,3"' , , foo
33964
33965       You may change  the  arguments  separator  using  the  --args-separator
33966       option:
33967
33968          salt --args-separator=:: '*' some.fun,test.echo params with , comma :: foo
33969
33970   CLI Completion
33971       Shell completion scripts for the Salt CLI are available in the pkg Salt
33972       source directory.
33973
33974   Writing Execution Modules
33975       Salt execution modules are the functions called by the salt command.
33976
33977   Modules Are Easy to Write!
33978       Writing Salt execution modules is straightforward.
33979
33980       A Salt execution module is a Python or Cython module placed in a direc‐
33981       tory  called  _modules/  at the root of the Salt fileserver. When using
33982       the default fileserver backend (i.e. roots),  unless  environments  are
33983       otherwise defined in the file_roots config option, the _modules/ direc‐
33984       tory would be located in /srv/salt/_modules on most systems.
33985
33986       Modules placed in _modules/ will be synced to the minions when  any  of
33987       the following Salt functions are called:
33988
33989       · state.apply
33990
33991       · saltutil.sync_modules
33992
33993       · saltutil.sync_all
33994
33995       Note  that a module's default name is its filename (i.e. foo.py becomes
33996       module foo), but that its name can be overridden by using a __virtual__
33997       function.
33998
33999       If  a  Salt  module  has errors and cannot be imported, the Salt minion
34000       will continue to load without issue and the  module  with  errors  will
34001       simply be omitted.
34002
34003       If  adding  a  Cython module the file must be named <modulename>.pyx so
34004       that the loader knows that the module needs to be imported as a  Cython
34005       module.  The  compilation of the Cython module is automatic and happens
34006       when the minion starts, so only the *.pyx file is required.
34007
34008   Zip Archives as Modules
34009       Python 2.3 and higher allows developers to directly import zip archives
34010       containing  Python  code.  By setting enable_zip_modules to True in the
34011       minion config, the Salt loader will be able to  import  .zip  files  in
34012       this  fashion.  This allows Salt module developers to package dependen‐
34013       cies with their modules for ease of deployment, isolation, etc.
34014
34015       For a user, Zip Archive modules behave just like other  modules.   When
34016       executing  a function from a module provided as the file my_module.zip,
34017       a user would call a function within  that  module  as  my_module.<func‐
34018       tion>.
34019
34020   Creating a Zip Archive Module
34021       A  Zip  Archive module is structured similarly to a simple Python pack‐
34022       age.  The .zip file contains a single directory with the same  name  as
34023       the  module.  The module code traditionally in <module_name>.py goes in
34024       <module_name>/__init__.py.  The dependency packages are  subdirectories
34025       of <module_name>/.
34026
34027       Here is an example directory structure for the lumberjack module, which
34028       has two library dependencies (sleep and work) to be included.
34029
34030          modules $ ls -R lumberjack
34031          __init__.py     sleep           work
34032
34033          lumberjack/sleep:
34034          __init__.py
34035
34036          lumberjack/work:
34037          __init__.py
34038
34039       The contents of lumberjack/__init__.py show how to import and use these
34040       included libraries.
34041
34042          # Libraries included in lumberjack.zip
34043          from lumberjack import sleep, work
34044
34045
34046          def is_ok(person):
34047              ''' Checks whether a person is really a lumberjack '''
34048              return sleep.all_night(person) and work.all_day(person)
34049
34050       Then, create the zip:
34051
34052          modules $ zip -r lumberjack lumberjack
34053            adding: lumberjack/ (stored 0%)
34054            adding: lumberjack/__init__.py (deflated 39%)
34055            adding: lumberjack/sleep/ (stored 0%)
34056            adding: lumberjack/sleep/__init__.py (deflated 7%)
34057            adding: lumberjack/work/ (stored 0%)
34058            adding: lumberjack/work/__init__.py (deflated 7%)
34059          modules $ unzip -l lumberjack.zip
34060          Archive:  lumberjack.zip
34061            Length     Date   Time    Name
34062           --------    ----   ----    ----
34063                  0  08-21-15 20:08   lumberjack/
34064                348  08-21-15 20:08   lumberjack/__init__.py
34065                  0  08-21-15 19:53   lumberjack/sleep/
34066                 83  08-21-15 19:53   lumberjack/sleep/__init__.py
34067                  0  08-21-15 19:53   lumberjack/work/
34068                 81  08-21-15 19:21   lumberjack/work/__init__.py
34069           --------                   -------
34070                512                   6 files
34071
34072       Once  placed  in  file_roots, Salt users can distribute and use lumber‐
34073       jack.zip like any other module.
34074
34075          $ sudo salt minion1 saltutil.sync_modules
34076          minion1:
34077            - modules.lumberjack
34078          $ sudo salt minion1 lumberjack.is_ok 'Michael Palin'
34079          minion1:
34080            True
34081
34082   Cross Calling Execution Modules
34083       All of the Salt execution modules are available to each other and  mod‐
34084       ules can call functions available in other execution modules.
34085
34086       The  variable __salt__ is packed into the modules after they are loaded
34087       into the Salt minion.
34088
34089       The __salt__ variable is a Python dictionary containing all of the Salt
34090       functions.  Dictionary  keys  are strings representing the names of the
34091       modules and the values are the functions themselves.
34092
34093       Salt modules can be cross-called by accessing the value in the __salt__
34094       dict:
34095
34096          def foo(bar):
34097              return __salt__['cmd.run'](bar)
34098
34099       This  code  will  call  the run function in the cmd module and pass the
34100       argument bar to it.
34101
34102   Calling Execution Modules on the Salt Master
34103       New in version 2016.11.0.
34104
34105
34106       Execution modules can now also be called via the salt-run command using
34107       the salt runner.
34108
34109   Preloaded Execution Module Data
34110       When  interacting with execution modules often it is nice to be able to
34111       read information dynamically about the minion or to load in  configura‐
34112       tion parameters for a module.
34113
34114       Salt  allows  for different types of data to be loaded into the modules
34115       by the minion.
34116
34117   Grains Data
34118       The values detected by the Salt Grains on the minion are available in a
34119       Python  dictionary  named  __grains__  and  can be accessed from within
34120       callable objects in the Python modules.
34121
34122       To see the contents of the grains dictionary for a given system in your
34123       deployment run the grains.items() function:
34124
34125          salt 'hostname' grains.items --output=pprint
34126
34127       Any  value  in  a grains dictionary can be accessed as any other Python
34128       dictionary. For example, the grain representing the minion ID is stored
34129       in  the  id key and from an execution module, the value would be stored
34130       in __grains__['id'].
34131
34132   Module Configuration
34133       Since parameters for configuring a module may be desired,  Salt  allows
34134       for configuration information from the  minion configuration file to be
34135       passed to execution modules.
34136
34137       Since the minion configuration file is a YAML document, arbitrary  con‐
34138       figuration  data can be passed in the minion config that is read by the
34139       modules. It is therefore strongly recommended that the values passed in
34140       the  configuration file match the module name. A value intended for the
34141       test execution module should be named test.<value>.
34142
34143       The test execution module contains usage of  the  module  configuration
34144       and the default configuration file for the minion contains the informa‐
34145       tion and format used to pass data to  the  modules.  salt.modules.test,
34146       conf/minion.
34147
34148   __init__ Function
34149       If you want your module to have different execution modes based on min‐
34150       ion configuration, you can use the __init__(opts) function  to  perform
34151       initial module setup. The parameter opts is the complete minion config‐
34152       uration, as also available in the __opts__ dict.
34153
34154          '''
34155          Cheese module initialization example
34156          '''
34157          def __init__(opts):
34158              '''
34159              Allow foreign imports if configured to do so
34160              '''
34161              if opts.get('cheese.allow_foreign', False):
34162                  _enable_foreign_products()
34163
34164   Strings and Unicode
34165       An execution  module author should always assume that  strings  fed  to
34166       the module have already decoded from strings into Unicode. In Python 2,
34167       these will be of type 'Unicode' and in Python 3 they will  be  of  type
34168       str.  Calling  from a state to other Salt sub-systems, should pass Uni‐
34169       code (or bytes if passing binary data). In the rare event that a  state
34170       needs  to write directly to disk, Unicode should be encoded to a string
34171       immediately before writing to  disk.  An  author  may  use  __salt_sys‐
34172       tem_encoding__  to  learn what the encoding type of the system is.  For
34173       example, 'my_string'.encode(__salt_system_encoding__').
34174
34175   Outputter Configuration
34176       Since execution module functions can return different data, and the way
34177       the  data  is  printed can greatly change the presentation, Salt allows
34178       for a specific outputter to be set on a function-by-function basis.
34179
34180       This is done be declaring an __outputter__  dictionary  in  the  global
34181       scope  of  the module.  The __outputter__ dictionary contains a mapping
34182       of function names to Salt outputters.
34183
34184          __outputter__ = {
34185              'run': 'txt'
34186          }
34187
34188       This will ensure that the txt outputter is used to display output  from
34189       the run function.
34190
34191   Virtual Modules
34192       Virtual  modules  let you override the name of a module in order to use
34193       the same name to refer to one of several similar modules. The  specific
34194       module  that is loaded for a virtual name is selected based on the cur‐
34195       rent platform or environment.
34196
34197       For example, packages are managed across platforms using the  pkg  mod‐
34198       ule.   pkg  is  a virtual module name that is an alias for the specific
34199       package manager module that is loaded on a specific system  (for  exam‐
34200       ple, yumpkg on RHEL/CentOS systems , and aptpkg on Ubuntu).
34201
34202       Virtual  module  names  are  set using the __virtual__ function and the
34203       virtual name.
34204
34205   __virtual__ Function
34206       The __virtual__ function returns either a string, True, False, or False
34207       with an error string. If a string is returned then the module is loaded
34208       using the name of the string as the virtual name. If True  is  returned
34209       the  module  is  loaded  using  the  current  module  name. If False is
34210       returned the module is not loaded. False lets the module perform system
34211       checks and prevent loading if dependencies are not met.
34212
34213       Since  __virtual__ is called before the module is loaded, __salt__ will
34214       be unreliable as not all modules will be available  at  this  point  in
34215       time.  The  __pillar and __grains__ "dunder" dictionaries are available
34216       however.
34217
34218       NOTE:
34219          Modules which return a string from __virtual__ that is already  used
34220          by a module that ships with Salt will _override_ the stock module.
34221
34222   Returning Error Information from __virtual__
34223       Optionally,  Salt  plugin  modules, such as execution, state, returner,
34224       beacon, etc. modules may additionally return a  string  containing  the
34225       reason  that  a  module could not be loaded.  For example, an execution
34226       module called cheese and  a  corresponding  state  module  also  called
34227       cheese,  both  depending on a utility called enzymes should have __vir‐
34228       tual__ functions that handle the case when the dependency  is  unavail‐
34229       able.
34230
34231          '''
34232          Cheese execution (or returner/beacon/etc.) module
34233          '''
34234          try:
34235              import enzymes
34236              HAS_ENZYMES = True
34237          except ImportError:
34238              HAS_ENZYMES = False
34239
34240
34241          def __virtual__():
34242              '''
34243              only load cheese if enzymes are available
34244              '''
34245              if HAS_ENZYMES:
34246                  return 'cheese'
34247              else:
34248                  return False, 'The cheese execution module cannot be loaded: enzymes unavailable.'
34249
34250          def slice():
34251              pass
34252
34253          '''
34254          Cheese state module. Note that this works in state modules because it is
34255          guaranteed that execution modules are loaded first
34256          '''
34257
34258          def __virtual__():
34259              '''
34260              only load cheese if enzymes are available
34261              '''
34262              # predicate loading of the cheese state on the corresponding execution module
34263              if 'cheese.slice' in __salt__:
34264                  return 'cheese'
34265              else:
34266                  return False, 'The cheese state module cannot be loaded: enzymes unavailable.'
34267
34268   Examples
34269       The  package  manager  modules are among the best examples of using the
34270       __virtual__ function. A table of all the virtual  pkg  modules  can  be
34271       found here.
34272
34273   Overriding Virtual Module Providers
34274       Salt often uses OS grains (os, osrelease, os_family, etc.) to determine
34275       which module should be loaded as the virtual module for  pkg,  service,
34276       etc.  Sometimes  this OS detection is incomplete, with new distros pop‐
34277       ping up, existing distros changing init systems, etc. The virtual  mod‐
34278       ules  likely  to  be affected by this are in the list below (click each
34279       item for more information):
34280
34281       · pkg
34282
34283       · service
34284
34285       · user
34286
34287       · shadow
34288
34289       · group
34290
34291       If Salt is using the wrong module for  one  of  these,  first  of  all,
34292       please  report  it  on  the  issue  tracker,  so that this issue can be
34293       resolved for a future release.  To  make  it  easier  to  troubleshoot,
34294       please  also provide the grains.items output, taking care to redact any
34295       sensitive information.
34296
34297       Then, while waiting for the  SaltStack  development  team  to  fix  the
34298       issue,  Salt  can be made to use the correct module using the providers
34299       option in the minion config file:
34300
34301          providers:
34302            service: systemd
34303            pkg: aptpkg
34304
34305       The above example will force the minion to use the  systemd  module  to
34306       provide  service  management,  and the aptpkg module to provide package
34307       management.
34308
34309   Logging Restrictions
34310       As a rule, logging should not be done anywhere in a Salt module  before
34311       it  is  loaded.  This rule apples to all code that would run before the
34312       __virtual__() function, as well as the code  within  the  __virtual__()
34313       function itself.
34314
34315       If  logging  statements are made before the virtual function determines
34316       if the module should be loaded, then those logging statements  will  be
34317       called repeatedly. This clutters up log files unnecessarily.
34318
34319       Exceptions  may  be considered for logging statements made at the trace
34320       level.  However, it is better to provide the necessary  information  by
34321       another means.  One method is to return error information in the __vir‐
34322       tual__() function.
34323
34324   __virtualname__
34325       __virtualname__ is a variable that is used by the  documentation  build
34326       system  to know the virtual name of a module without calling the __vir‐
34327       tual__ function. Modules that return  a  string  from  the  __virtual__
34328       function must also set the __virtualname__ variable.
34329
34330       To  avoid  setting  the  virtual  name  string twice, you can implement
34331       __virtual__ to return the value set for __virtualname__ using a pattern
34332       similar to the following:
34333
34334          # Define the module's virtual name
34335          __virtualname__ = 'pkg'
34336
34337
34338          def __virtual__():
34339              '''
34340              Confine this module to Mac OS with Homebrew.
34341              '''
34342
34343              if salt.utils.path.which('brew') and __grains__['os'] == 'MacOS':
34344                  return __virtualname__
34345              return False
34346
34347       The __virtual__() function can return a True or False boolean, a tuple,
34348       or a string. If it returns a  True  value,  this  __virtualname__  mod‐
34349       ule-level  attribute  can  be set as seen in the above example. This is
34350       the string that the module should be referred to as.
34351
34352       When __virtual__() returns a tuple, the first item should be a  boolean
34353       and the second should be a string. This is typically done when the mod‐
34354       ule should not load. The first value of the tuple is False and the sec‐
34355       ond is the error message to display for why the module did not load.
34356
34357       For example:
34358
34359          def __virtual__():
34360              '''
34361              Only load if git exists on the system
34362              '''
34363              if salt.utils.path.which('git') is None:
34364                  return (False,
34365                          'The git execution module cannot be loaded: git unavailable.')
34366              else:
34367                  return True
34368
34369   Documentation
34370       Salt  execution  modules  are  documented.  The sys.doc() function will
34371       return the documentation for all available modules:
34372
34373          salt '*' sys.doc
34374
34375       The sys.doc function simply prints out the docstrings found in the mod‐
34376       ules; when writing Salt execution modules, please follow the formatting
34377       conventions for docstrings as they appear in the other modules.
34378
34379   Adding Documentation to Salt Modules
34380       It is strongly suggested  that  all  Salt  modules  have  documentation
34381       added.
34382
34383       To add documentation add a Python docstring to the function.
34384
34385          def spam(eggs):
34386              '''
34387              A function to make some spam with eggs!
34388
34389              CLI Example::
34390
34391                  salt '*' test.spam eggs
34392              '''
34393              return eggs
34394
34395       Now  when  the  sys.doc  call is executed the docstring will be cleanly
34396       returned to the calling terminal.
34397
34398       Documentation added to execution modules in docstrings  will  automati‐
34399       cally be added to the online web-based documentation.
34400
34401   Add Execution Module Metadata
34402       When  writing  a Python docstring for an execution module, add informa‐
34403       tion about the module using the following field lists:
34404
34405          :maintainer:    Thomas Hatch <thatch@saltstack.com, Seth House <shouse@saltstack.com>
34406          :maturity:      new
34407          :depends:       python-mysqldb
34408          :platform:      all
34409
34410       The maintainer field is a comma-delimited list of developers  who  help
34411       maintain this module.
34412
34413       The  maturity field indicates the level of quality and testing for this
34414       module.  Standard labels will be determined.
34415
34416       The depends field is a comma-delimited list of modules that this module
34417       depends on.
34418
34419       The  platform  field  is  a comma-delimited list of platforms that this
34420       module is known to run on.
34421
34422   Log Output
34423       You can call the logger from custom modules to write  messages  to  the
34424       minion  logs.  The following code snippet demonstrates writing log mes‐
34425       sages:
34426
34427          import logging
34428
34429          log = logging.getLogger(__name__)
34430
34431          log.info('Here is Some Information')
34432          log.warning('You Should Not Do That')
34433          log.error('It Is Busted')
34434
34435   Aliasing Functions
34436       Sometimes one wishes to use a function name that would shadow a  python
34437       built-in.   A common example would be set(). To support this, append an
34438       underscore to  the  function  definition,  def  set_():,  and  use  the
34439       __func_alias__ feature to provide an alias to the function.
34440
34441       __func_alias__ is a dictionary where each key is the name of a function
34442       in the module, and each value is a string representing  the  alias  for
34443       that  function.  When calling an aliased function from a different exe‐
34444       cution module, state module, or from the cli, the alias name should  be
34445       used.
34446
34447          __func_alias__ = {
34448              'set_': 'set',
34449              'list_': 'list',
34450          }
34451
34452   Private Functions
34453       In  Salt,  Python callable objects contained within an execution module
34454       are made available to the Salt minion for use. The  only  exception  to
34455       this  rule is a callable object with a name starting with an underscore
34456       _.
34457
34458   Objects Loaded Into the Salt Minion
34459          def foo(bar):
34460              return bar
34461
34462   Objects NOT Loaded into the Salt Minion
34463          def _foobar(baz): # Preceded with an _
34464              return baz
34465
34466          cheese = {} # Not a callable Python object
34467
34468   Useful Decorators for Modules
34469   Depends Decorator
34470       When writing execution modules there are many times where some  of  the
34471       module  will  work  on  all  hosts  but some functions have an external
34472       dependency, such as a service that needs to be installed  or  a  binary
34473       that needs to be present on the system.
34474
34475       Instead  of trying to wrap much of the code in large try/except blocks,
34476       a decorator can be used.
34477
34478       If the dependencies passed to the decorator don't exist, then the  salt
34479       minion will remove those functions from the module on that host.
34480
34481       If a fallback_function is defined, it will replace the function instead
34482       of removing it
34483
34484          import logging
34485
34486          from salt.utils.decorators import depends
34487
34488          log = logging.getLogger(__name__)
34489
34490          try:
34491              import dependency_that_sometimes_exists
34492          except ImportError as e:
34493              log.trace('Failed to import dependency_that_sometimes_exists: {0}'.format(e))
34494
34495          @depends('dependency_that_sometimes_exists')
34496          def foo():
34497              '''
34498              Function with a dependency on the "dependency_that_sometimes_exists" module,
34499              if the "dependency_that_sometimes_exists" is missing this function will not exist
34500              '''
34501              return True
34502
34503          def _fallback():
34504              '''
34505              Fallback function for the depends decorator to replace a function with
34506              '''
34507              return '"dependency_that_sometimes_exists" needs to be installed for this function to exist'
34508
34509          @depends('dependency_that_sometimes_exists', fallback_function=_fallback)
34510          def foo():
34511              '''
34512              Function with a dependency on the "dependency_that_sometimes_exists" module.
34513              If the "dependency_that_sometimes_exists" is missing this function will be
34514              replaced with "_fallback"
34515              '''
34516              return True
34517
34518       In addition to global dependencies the depends decorator also  supports
34519       raw booleans.
34520
34521          from salt.utils.decorators import depends
34522
34523          HAS_DEP = False
34524          try:
34525              import dependency_that_sometimes_exists
34526              HAS_DEP = True
34527          except ImportError:
34528              pass
34529
34530          @depends(HAS_DEP)
34531          def foo():
34532              return True
34533
34534   Executors
34535       Executors are used by minion to execute module functions. Executors can
34536       be used to modify the functions behavior, do any pre-execution steps or
34537       execute in a specific way like sudo executor.
34538
34539       Executors could be passed as a list and they will be used one-by-one in
34540       the order. If an executor returns None the next one will be called.  If
34541       an  executor  returns non-None the execution sequence is terminated and
34542       the returned value is used as a result. It's a way executor could  con‐
34543       trol  modules  execution  working as a filter. Note that executor could
34544       actually not execute the function but just do something else and return
34545       None like splay executor does. In this case some other executor have to
34546       be used as a final executor that will actually  execute  the  function.
34547       See examples below.
34548
34549       Executors  list  could be passed by minion config file in the following
34550       way:
34551
34552          module_executors:
34553            - splay
34554            - direct_call
34555          splaytime: 30
34556
34557       The same could be done by command line:
34558
34559          salt -t 40 --module-executors='[splay, direct_call]' --executor-opts='{splaytime: 30}' '*' test.ping
34560
34561       And the same command called via netapi will look like this:
34562
34563          curl -sSk https://localhost:8000 \
34564              -H 'Accept: application/x-yaml' \
34565              -H 'X-Auth-Token: 697adbdc8fe971d09ae4c2a3add7248859c87079' \
34566              -H 'Content-type: application/json' \
34567              -d '[{
34568                  "client": "local",
34569                  "tgt": "*",
34570                  "fun": "test.ping",
34571                  "module_executors": ["splay", "direct_call"],
34572                  "executor_opts": {"splaytime": 10}
34573                  }]'
34574
34575       SEE ALSO:
34576          The full list of executors
34577
34578   Writing Salt Executors
34579       A Salt executor is written in a similar manner to a Salt execution mod‐
34580       ule.   Executor is a python module placed into the executors folder and
34581       containing the execute function with the following signature:
34582
34583          def execute(opts, data, func, args, kwargs)
34584
34585       Where the args are:
34586
34587       opts:  Dictionary containing the minion configuration options
34588
34589       data:  Dictionary containing  the  load  data  including  executor_opts
34590              passed via cmdline/API.
34591
34592       func, args, kwargs:
34593              Execution module function to be executed and it's arguments. For
34594              instance the simplest  direct_call  executor  just  runs  it  as
34595              func(*args, **kwargs).
34596
34597       Returns:
34598              None  if  the execution sequence must be continued with the next
34599              executor.  Error string or execution result if the job  is  done
34600              and execution must be stopped.
34601
34602       Specific  options  could be passed to the executor via minion config or
34603       via executor_opts argument. For instance to access splaytime option set
34604       by  minion  config  executor  should  access  opts.get('splaytime'). To
34605       access the option set by commandline or  API  data.get('executor_opts',
34606       {}).get('splaytime')  should  be used. So if an option is safe and must
34607       be accessible by user executor should check it in both places,  but  if
34608       an option is unsafe it should be read from the only config ignoring the
34609       passed request data.
34610
34611       There is also a function named all_missing_func which the name  of  the
34612       func is passed, which can be used to verify if the command should still
34613       be run, even if it is not loaded in minion_mods.
34614

CONFIGURATION MANAGEMENT

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

RETURN CODES

38553       When the salt or salt-call CLI commands result in an error, the command
38554       will  exit  with a return code of 1. Error cases consist of the follow‐
38555       ing:
38556
38557       1. Errors are encountered while running States, or any state returns  a
38558          False result
38559
38560       2. Any exception is raised
38561
38562       3. In the case of remote-execution functions, when the return data is a
38563          Python dictionary with a key named either result or  success,  which
38564          has a value of False
38565
38566   Retcode Passthrough
38567       In  addition  to the cases listed above, if a state or remote-execution
38568       function sets a nonzero value in the retcode  key  of  the  __context__
38569       dictionary,  the  command  will exit with a return code of 1. For those
38570       developing custom states and execution modules, using __context__['ret‐
38571       code'] can be a useful way of signaling that an error has occurred:
38572
38573          if something_went_wrong:
38574              __context__['retcode'] = 42
38575
38576       This  is  actually  how  states signal that they have failed. Different
38577       cases result in different codes being set in  the  __context__  dictio‐
38578       nary:
38579
38580       · 1 is set when any error is encountered in the state compiler (missing
38581         SLS file, etc.)
38582
38583       · 2 is set when any state returns a False result
38584
38585       · 5 is set when Pillar data fails to be  compiled  before  running  the
38586         state(s)
38587
38588       When  the  --retcode-passthrough  flag  is  used  with  salt-call, then
38589       salt-call will exit with whichever retcode was set in  the  __context__
38590       dictionary,  rather than the default behavior which simply exits with 1
38591       for any error condition.
38592

UTILITY MODULES - CODE REUSE IN CUSTOM MODULES

38594       New in version 2015.5.0.
38595
38596
38597       Changed in version 2016.11.0: These can now be synced to the Master for
38598       use  in  custom  Runners, and in custom execution modules called within
38599       Pillar SLS files.
38600
38601
38602       When extending Salt by writing custom (state modules),  execution  mod‐
38603       ules, etc., sometimes there is a need for a function to be available to
38604       more than just one kind of custom module. For these  cases,  Salt  sup‐
38605       ports  what are called "utility modules". These modules are like normal
38606       execution modules, but instead of being  invoked  in  Salt  code  using
38607       __salt__, the __utils__ prefix is used instead.
38608
38609       For  example,  assuming  the  following simple utility module, saved to
38610       salt://_utils/foo.py
38611
38612          # -*- coding: utf-8 -*-
38613          '''
38614          My utils module
38615          ---------------
38616
38617          This module contains common functions for use in my other custom types.
38618          '''
38619
38620          def bar():
38621              return 'baz'
38622
38623       Once synced to a minion, this function would be available to other cus‐
38624       tom Salt types like so:
38625
38626          # -*- coding: utf-8 -*-
38627          '''
38628          My awesome execution module
38629          ---------------------------
38630          '''
38631
38632          def observe_the_awesomeness():
38633              '''
38634              Prints information from my utility module
38635
38636              CLI Example:
38637
38638              .. code-block:: bash
38639
38640                  salt '*' mymodule.observe_the_awesomeness
38641              '''
38642              return __utils__['foo.bar']()
38643
38644       Utility modules, like any other kind of Salt extension, support using a
38645       __virtual__ function to conditionally load them, or load them  under  a
38646       different  namespace.  For  instance,  if the utility module above were
38647       named salt://_utils/mymodule.py it could be made to be  loaded  as  the
38648       foo utility module with a __virtual__ function.
38649
38650          # -*- coding: utf-8 -*-
38651          '''
38652          My utils module
38653          ---------------
38654
38655          This module contains common functions for use in my other custom types.
38656          '''
38657
38658          def __virtual__():
38659              '''
38660              Load as a different name
38661              '''
38662              return 'foo'
38663
38664          def bar():
38665              return 'baz'
38666
38667       New in version 2018.3.0: Instantiating objects from classes declared in
38668       util modules works with Master side modules, such as  Runners,  Output‐
38669       ters, etc.
38670
38671
38672       Also you could even write your utility modules in object oriented fash‐
38673       ion:
38674
38675          # -*- coding: utf-8 -*-
38676          '''
38677          My OOP-style utils module
38678          -------------------------
38679
38680          This module contains common functions for use in my other custom types.
38681          '''
38682
38683          class Foo(object):
38684
38685              def __init__(self):
38686                  pass
38687
38688              def bar(self):
38689                  return 'baz'
38690
38691       And import them into other custom modules:
38692
38693          # -*- coding: utf-8 -*-
38694          '''
38695          My awesome execution module
38696          ---------------------------
38697          '''
38698
38699          import mymodule
38700
38701          def observe_the_awesomeness():
38702              '''
38703              Prints information from my utility module
38704
38705              CLI Example:
38706
38707              .. code-block:: bash
38708
38709                  salt '*' mymodule.observe_the_awesomeness
38710              '''
38711              foo = mymodule.Foo()
38712              return foo.bar()
38713
38714       These are, of course, contrived examples, but they should serve to show
38715       some of the possibilities opened up by writing utility modules. Keep in
38716       mind though that states still have access to all of the execution  mod‐
38717       ules,  so it is not necessary to write a utility module to make a func‐
38718       tion available to both a state and an execution module.  One  good  use
38719       case  for  utility  modules  is one where it is necessary to invoke the
38720       same function from a custom outputter/returner, as well as an execution
38721       module.
38722
38723       Utility  modules placed in salt://_utils/ will be synced to the minions
38724       when a highstate is run, as well as when  any  of  the  following  Salt
38725       functions are called:
38726
38727       · saltutil.sync_utils
38728
38729       · saltutil.sync_all
38730
38731       As  of  the Fluorine release, as well as 2017.7.7 and 2018.3.2 in their
38732       respective release cycles, the sync argument  to  state.apply/state.sls
38733       can be used to sync custom types when running individual SLS files.
38734
38735       To sync to the Master, use either of the following:
38736
38737       · saltutil.sync_utils
38738
38739       · saltutil.sync_all
38740

EVENTS & REACTOR

38742   Event System
38743       The  Salt  Event System is used to fire off events enabling third party
38744       applications or external processes to react to  behavior  within  Salt.
38745       The  event  system  uses a publish-subscribe pattern, otherwise know as
38746       pub/sub.
38747
38748   Event Bus
38749       The event system is comprised of a two primary components,  which  make
38750       up the concept of an Event Bus:
38751
38752       · The event sockets, which publish events
38753
38754       · The  event  library,  which can listen to events and send events into
38755         the salt system
38756
38757       Events are published onto the event bus and event bus subscribers  lis‐
38758       ten for the published events.
38759
38760       The  event  bus is used for both inter-process communication as well as
38761       network transport in  Salt.  Inter-process  communication  is  provided
38762       through UNIX domain sockets (UDX).
38763
38764       The Salt Master and each Salt Minion has their own event bus.
38765
38766   Event types
38767   Salt Master Events
38768       These  events  are fired on the Salt Master event bus. This list is not
38769       comprehensive.
38770
38771   Authentication events
38772       salt/auth
38773              Fired when a minion performs an authentication  check  with  the
38774              master.
38775
38776              Variables
38777
38778                     · id -- The minion ID.
38779
38780                     · act  --  The  current status of the minion key: accept,
38781                       pend, reject.
38782
38783                     · pub -- The minion public key.
38784
38785              NOTE:
38786                 Minions fire auth events on fairly regular basis for a number
38787                 of  reasons.   Writing  reactors to respond to events through
38788                 the auth cycle can lead to infinite reactor event loops (min‐
38789                 ion  tries  to auth, reactor responds by doing something that
38790                 generates another auth event, minion sends auth event, etc.).
38791                 Consider  reacting  to salt/key or salt/minion/<MID>/start or
38792                 firing a custom event tag instead.
38793
38794   Start events
38795       salt/minion/<MID>/start
38796              Fired every time a minion connects to the Salt master.
38797
38798              Variables
38799                     id -- The minion ID.
38800
38801   Key events
38802       salt/key
38803              Fired when accepting and rejecting minions keys on the Salt mas‐
38804              ter.   These  happen  as  a  result of actions undertaken by the
38805              salt-key command.
38806
38807              Variables
38808
38809                     · id -- The minion ID.
38810
38811                     · act -- The  new  status  of  the  minion  key:  accept,
38812                       delete,
38813
38814       WARNING:
38815          If  a  master  is  in  auto_accept mode, salt/key events will not be
38816          fired when the keys are accepted.   In  addition,  pre-seeding  keys
38817          (like  happens  through  Salt-Cloud)  will not cause firing of these
38818          events.
38819
38820   Job events
38821       salt/job/<JID>/new
38822              Fired as a new job is sent out to minions.
38823
38824              Variables
38825
38826                     · jid -- The job ID.
38827
38828                     · tgt -- The target of the job: *, a minion ID, G@os_fam‐
38829                       ily:RedHat, etc.
38830
38831                     · tgt_type  --  The  type of targeting used: glob, grain,
38832                       compound, etc.
38833
38834                     · fun -- The function to run on minions: test.ping,  net‐
38835                       work.interfaces, etc.
38836
38837                     · arg -- A list of arguments to pass to the function that
38838                       will be called.
38839
38840                     · minions -- A list of minion IDs that Salt expects  will
38841                       return data for this job.
38842
38843                     · user  --  The  name of the user that ran the command as
38844                       defined in Salt's Publisher ACL or external auth.
38845
38846       salt/job/<JID>/ret/<MID>
38847              Fired each time a minion returns data for a job.
38848
38849              Variables
38850
38851                     · id -- The minion ID.
38852
38853                     · jid -- The job ID.
38854
38855                     · retcode -- The return code for the job.
38856
38857                     · fun -- The function the minion ran. E.g., test.ping.
38858
38859                     · return -- The data returned from the execution module.
38860
38861       salt/job/<JID>/prog/<MID>/<RUN NUM>
38862              Fired each time a each function in a state run completes  execu‐
38863              tion. Must be enabled using the state_events option.
38864
38865              Variables
38866
38867                     · data  --  The data returned from the state module func‐
38868                       tion.
38869
38870                     · id -- The minion ID.
38871
38872                     · jid -- The job ID.
38873
38874   Runner Events
38875       salt/run/<JID>/new
38876              Fired as a runner begins execution
38877
38878              Variables
38879
38880                     · jid -- The job ID.
38881
38882                     · fun -- The name of the runner  function,  with  runner.
38883                       prepended to it (e.g. runner.jobs.lookup_jid)
38884
38885                     · fun_args -- The arguments passed to the runner function
38886                       (e.g.  ['20160829225914848058'])
38887
38888                     · user -- The user who executed the runner (e.g. root)
38889
38890       salt/run/<JID>/ret
38891              Fired when a runner function returns
38892
38893              Variables
38894
38895                     · jid -- The job ID.
38896
38897                     · fun -- The name of the runner  function,  with  runner.
38898                       prepended to it (e.g. runner.jobs.lookup_jid)
38899
38900                     · fun_args -- The arguments passed to the runner function
38901                       (e.g.  ['20160829225914848058'])
38902
38903                     · return -- The data returned by the runner function
38904
38905       salt/run/<JID>/args
38906              New in version 2016.11.0.
38907
38908
38909              Fired by the state.orchestrate runner
38910
38911              Variables
38912
38913                     · name -- The ID declaration for  the  orchestration  job
38914                       (i.e.   the   line   above  salt.state,  salt.function,
38915                       salt.runner, etc.)
38916
38917                     · type -- The type of orchestration job being  run  (e.g.
38918                       state)
38919
38920                     · tgt  --  The  target  expression (e.g. *). Included for
38921                       state and function types only.
38922
38923                     · args -- The args passed to the orchestration job. Note:
38924                       for  state and function types, also includes a tgt_type
38925                       value which shows what kind of match (glob, pcre, etc.)
38926                       was  used.   This  value  was  named  expr_form  in the
38927                       2016.11 release cycle but has been renamed to  tgt_type
38928                       in 2017.7.0 for consistency with other events.
38929
38930   Presence Events
38931       salt/presence/present
38932              Events  fired  on  a regular interval about currently connected,
38933              newly connected, or recently disconnected minions. Requires  the
38934              presence_events setting to be enabled.
38935
38936              Variables
38937                     present -- A list of minions that are currently connected
38938                     to the Salt master.
38939
38940       salt/presence/change
38941              Fired when the Presence system detects new  minions  connect  or
38942              disconnect.
38943
38944              Variables
38945
38946                     · new  -- A list of minions that have connected since the
38947                       last presence event.
38948
38949                     · lost -- A list of minions that have disconnected  since
38950                       the last presence event.
38951
38952   Cloud Events
38953       Unlike  other  Master events, salt-cloud events are not fired on behalf
38954       of a Salt Minion. Instead, salt-cloud events are fired on behalf  of  a
38955       VM.  This  is because the minion-to-be may not yet exist to fire events
38956       to or also may have been destroyed.
38957
38958       This behavior is reflected by the name variable in the event  data  for
38959       salt-cloud  events as compared to the id variable for Salt Minion-trig‐
38960       gered events.
38961
38962       salt/cloud/<VM NAME>/creating
38963              Fired when salt-cloud starts the VM creation process.
38964
38965              Variables
38966
38967                     · name -- the name of the VM being created.
38968
38969                     · event -- description of the event.
38970
38971                     · provider -- the cloud provider of the VM being created.
38972
38973                     · profile -- the cloud profile for the VM being created.
38974
38975       salt/cloud/<VM NAME>/deploying
38976              Fired when the VM is available and salt-cloud  begins  deploying
38977              Salt to the new VM.
38978
38979              Variables
38980
38981                     · name -- the name of the VM being created.
38982
38983                     · event -- description of the event.
38984
38985                     · kwargs  --  options  available  as the deploy script is
38986                       invoked: conf_file, deploy_command, display_ssh_output,
38987                       host, keep_tmp, key_filename, make_minion, minion_conf,
38988                       name,    parallel,     preseed_minion_keys,     script,
38989                       script_args,  script_env, sock_dir, start_action, sudo,
38990                       tmp_dir, tty, username
38991
38992       salt/cloud/<VM NAME>/requesting
38993              Fired when salt-cloud sends the request to create a new VM.
38994
38995              Variables
38996
38997                     · event -- description of the event.
38998
38999                     · location -- the location of the VM being requested.
39000
39001                     · kwargs  --  options  available  as  the  VM  is   being
39002                       requested: Action, ImageId, InstanceType, KeyName, Max‐
39003                       Count, MinCount, SecurityGroup.1
39004
39005       salt/cloud/<VM NAME>/querying
39006              Fired when salt-cloud queries data for a new instance.
39007
39008              Variables
39009
39010                     · event -- description of the event.
39011
39012                     · instance_id -- the ID of the new VM.
39013
39014       salt/cloud/<VM NAME>/tagging
39015              Fired when salt-cloud tags a new instance.
39016
39017              Variables
39018
39019                     · event -- description of the event.
39020
39021                     · tags -- tags being set on the new instance.
39022
39023       salt/cloud/<VM NAME>/waiting_for_ssh
39024              Fired while the salt-cloud deploy process is waiting for ssh  to
39025              become available on the new instance.
39026
39027              Variables
39028
39029                     · event -- description of the event.
39030
39031                     · ip_address -- IP address of the new instance.
39032
39033       salt/cloud/<VM NAME>/deploy_script
39034              Fired once the deploy script is finished.
39035
39036              Variables
39037                     event -- description of the event.
39038
39039       salt/cloud/<VM NAME>/created
39040              Fired once the new instance has been fully created.
39041
39042              Variables
39043
39044                     · name -- the name of the VM being created.
39045
39046                     · event -- description of the event.
39047
39048                     · instance_id -- the ID of the new instance.
39049
39050                     · provider -- the cloud provider of the VM being created.
39051
39052                     · profile -- the cloud profile for the VM being created.
39053
39054       salt/cloud/<VM NAME>/destroying
39055              Fired when salt-cloud requests the destruction of an instance.
39056
39057              Variables
39058
39059                     · name -- the name of the VM being created.
39060
39061                     · event -- description of the event.
39062
39063                     · instance_id -- the ID of the new instance.
39064
39065       salt/cloud/<VM NAME>/destroyed
39066              Fired when an instance has been destroyed.
39067
39068              Variables
39069
39070                     · name -- the name of the VM being created.
39071
39072                     · event -- description of the event.
39073
39074                     · instance_id -- the ID of the new instance.
39075
39076   Listening for Events
39077       Salt's  event system is used heavily within Salt and it is also written
39078       to integrate heavily with existing tooling  and  scripts.  There  is  a
39079       variety of ways to consume it.
39080
39081   From the CLI
39082       The  quickest  way to watch the event bus is by calling the state.event
39083       runner:
39084
39085          salt-run state.event pretty=True
39086
39087       That runner is designed to interact with the event  bus  from  external
39088       tools and shell scripts. See the documentation for more examples.
39089
39090   Remotely via the REST API
39091       Salt's  event  bus can be consumed salt.netapi.rest_cherrypy.app.Events
39092       as an HTTP stream from external tools or services.
39093
39094          curl -SsNk https://salt-api.example.com:8000/events?token=05A3
39095
39096   From Python
39097       Python scripts can access the event bus only as the  same  system  user
39098       that Salt is running as.
39099
39100       The  event  system  is  accessed  via the event library and can only be
39101       accessed by the same system user that Salt is running as. To listen  to
39102       events  a  SaltEvent  object needs to be created and then the get_event
39103       function needs to be run. The SaltEvent object needs to know the  loca‐
39104       tion  that the Salt Unix sockets are kept. In the configuration this is
39105       the   sock_dir   option.    The    sock_dir    option    defaults    to
39106       "/var/run/salt/master" on most systems.
39107
39108       The following code will check for a single event:
39109
39110          import salt.config
39111          import salt.utils.event
39112
39113          opts = salt.config.client_config('/etc/salt/master')
39114
39115          event = salt.utils.event.get_event(
39116                  'master',
39117                  sock_dir=opts['sock_dir'],
39118                  transport=opts['transport'],
39119                  opts=opts)
39120
39121          data = event.get_event()
39122
39123       Events  will  also use a "tag". Tags allow for events to be filtered by
39124       prefix.  By default all events will be returned. If only authentication
39125       events are desired, then pass the tag "salt/auth".
39126
39127       The  get_event method has a default poll time assigned of 5 seconds. To
39128       change this time set the "wait" option.
39129
39130       The following example will only listen for auth events  and  will  wait
39131       for 10 seconds instead of the default 5.
39132
39133          data = event.get_event(wait=10, tag='salt/auth')
39134
39135       To retrieve the tag as well as the event data, pass full=True:
39136
39137          evdata = event.get_event(wait=10, tag='salt/job', full=True)
39138
39139          tag, data = evdata['tag'], evdata['data']
39140
39141       Instead  of  looking  for a single event, the iter_events method can be
39142       used to make a generator which will continually yield salt events.
39143
39144       The iter_events method also accepts a tag but not a wait time:
39145
39146          for data in event.iter_events(tag='salt/auth'):
39147              print(data)
39148
39149       And finally event tags can be globbed, such as they can be in the Reac‐
39150       tor, using the fnmatch library.
39151
39152          import fnmatch
39153
39154          import salt.config
39155          import salt.utils.event
39156
39157          opts = salt.config.client_config('/etc/salt/master')
39158
39159          sevent = salt.utils.event.get_event(
39160                  'master',
39161                  sock_dir=opts['sock_dir'],
39162                  transport=opts['transport'],
39163                  opts=opts)
39164
39165          while True:
39166              ret = sevent.get_event(full=True)
39167              if ret is None:
39168                  continue
39169
39170              if fnmatch.fnmatch(ret['tag'], 'salt/job/*/ret/*'):
39171                  do_something_with_job_return(ret['data'])
39172
39173   Firing Events
39174       It  is  possible  to fire events on either the minion's local bus or to
39175       fire events intended for the master.
39176
39177       To fire a local event from the minion on  the  command  line  call  the
39178       event.fire execution function:
39179
39180          salt-call event.fire '{"data": "message to be sent in the event"}' 'tag'
39181
39182       To  fire  an event to be sent up to the master from the minion call the
39183       event.send execution function. Remember YAML can be used at the CLI  in
39184       function arguments:
39185
39186          salt-call event.send 'myco/mytag/success' '{success: True, message: "It works!"}'
39187
39188       If a process is listening on the minion, it may be useful for a user on
39189       the master to fire an event to it. An example of listening local events
39190       on a minion on a non-Windows system:
39191
39192          # Job on minion
39193          import salt.utils.event
39194
39195          opts = salt.config.minion_config('/etc/salt/minion')
39196          event = salt.utils.event.MinionEvent(opts)
39197
39198          for evdata in event.iter_events(match_type = 'regex',
39199                                          tag = 'custom/.*'):
39200              # do your processing here...
39201
39202       And an example of listening local events on a Windows system:
39203
39204          # Job on minion
39205          import salt.utils.event
39206
39207          opts = salt.config.minion_config(salt.minion.DEFAULT_MINION_OPTS)
39208          event = salt.utils.event.MinionEvent(opts)
39209
39210          for evdata in event.iter_events(match_type = 'regex',
39211                                          tag = 'custom/.*'):
39212              # do your processing here...
39213
39214          salt minionname event.fire '{"data": "message for the minion"}' 'customtag/african/unladen'
39215
39216   Firing Events from Python
39217   From Salt execution modules
39218       Events  can  be very useful when writing execution modules, in order to
39219       inform various processes on the master when a certain  task  has  taken
39220       place. This is easily done using the normal cross-calling syntax:
39221
39222          # /srv/salt/_modules/my_custom_module.py
39223
39224          def do_something():
39225              '''
39226              Do something and fire an event to the master when finished
39227
39228              CLI Example::
39229
39230                  salt '*' my_custom_module:do_something
39231              '''
39232              # do something!
39233              __salt__['event.send']('myco/my_custom_module/finished', {
39234                  'finished': True,
39235                  'message': "The something is finished!",
39236              })
39237
39238   From Custom Python Scripts
39239       Firing  events  from custom Python code is quite simple and mirrors how
39240       it is done at the CLI:
39241
39242          import salt.client
39243
39244          caller = salt.client.Caller()
39245
39246          ret = called.cmd('event.send',
39247                           'myco/event/success'
39248                           { 'success': True,
39249                             'message': "It works!" })
39250
39251          if not ret:
39252              # the event could not be sent, process the error here
39253
39254   Beacons
39255       Beacons let you use the Salt event  system  to  monitor  non-Salt  pro‐
39256       cesses.  The  beacon system allows the minion to hook into a variety of
39257       system processes and continually monitor these  processes.  When  moni‐
39258       tored activity occurs in a system process, an event is sent on the Salt
39259       event bus that can be used to trigger a reactor.
39260
39261       Salt beacons can currently monitor and send Salt events for many system
39262       activities, including:
39263
39264       · file system changes
39265
39266       · system load
39267
39268       · service status
39269
39270       · shell activity, such as user login
39271
39272       · network and disk usage
39273
39274       See beacon modules for a current list.
39275
39276       NOTE:
39277          Salt beacons are an event generation mechanism. Beacons leverage the
39278          Salt reactor system to make changes when beacon events occur.
39279
39280   Configuring Beacons
39281       Salt beacons do not require any changes to the system  components  that
39282       are being monitored, everything is configured using Salt.
39283
39284       Beacons  are typically enabled by placing a beacons: top level block in
39285       /etc/salt/minion  or  any   file   in   /etc/salt/minion.d/   such   as
39286       /etc/salt/minion.d/beacons.conf or add it to pillars for that minion:
39287
39288          beacons:
39289            inotify:
39290              - files:
39291                  /etc/important_file: {}
39292                  /opt: {}
39293
39294       The beacon system, like many others in Salt, can also be configured via
39295       the minion pillar, grains, or local config file.
39296
39297       NOTE:
39298          The inotify beacon only works on OSes that have inotify kernel  sup‐
39299          port.  Currently this excludes FreeBSD, macOS, and Windows.
39300
39301       All beacon configuration is done using list based configuration.
39302
39303   Beacon Monitoring Interval
39304       Beacons  monitor  on a 1-second interval by default. To set a different
39305       interval, provide an interval argument to a beacon. The following  bea‐
39306       cons run on 5- and 10-second intervals:
39307
39308          beacons:
39309            inotify:
39310              - files:
39311                  /etc/important_file: {}
39312                  /opt: {}
39313              - interval: 5
39314              - disable_during_state_run: True
39315            load:
39316              - averages:
39317                  1m:
39318                    - 0.0
39319                    - 2.0
39320                  5m:
39321                    - 0.0
39322                    - 1.5
39323                  15m:
39324                    - 0.1
39325                    - 1.0
39326              - interval: 10
39327
39328   Avoiding Event Loops
39329       It  is  important  to  carefully consider the possibility of creating a
39330       loop between a reactor and a beacon. For example, one might  set  up  a
39331       beacon  which  monitors  whether  a  file is read which in turn fires a
39332       reactor to run a state which in turn reads the file  and  re-fires  the
39333       beacon.
39334
39335       To  avoid  these types of scenarios, the disable_during_state_run argu‐
39336       ment may be set. If a state run is in progress, the beacon will not  be
39337       run on its regular interval until the minion detects that the state run
39338       has completed, at which point the normal beacon interval will resume.
39339
39340          beacons:
39341            inotify:
39342              - files:
39343                  /etc/important_file: {}
39344              - disable_during_state_run: True
39345
39346       NOTE:
39347          For beacon writers:  If you need extra stuff to happen, like closing
39348          file  handles for the disable_during_state_run to actually work, you
39349          can add a close() function to the beacon to run those extra  things.
39350          See the inotify beacon.
39351
39352   Beacon Example
39353       This  example  demonstrates configuring the inotify beacon to monitor a
39354       file for changes, and then restores the file to its  original  contents
39355       if a change was made.
39356
39357       NOTE:
39358          The  inotify  beacon  requires  Pyinotify  on the minion, install it
39359          using salt myminion pkg.install python-inotify.
39360
39361   Create Watched File
39362       Create the file named /etc/important_file and add some simple content:
39363
39364          important_config: True
39365
39366   Add Beacon Configs to Minion
39367       On the Salt minion, add the following configuration  to  /etc/salt/min‐
39368       ion.d/beacons.conf:
39369
39370          beacons:
39371            inotify:
39372              - files:
39373                  /etc/important_file:
39374                    mask:
39375                      - modify
39376              - disable_during_state_run: True
39377
39378       Save  the configuration file and restart the minion service. The beacon
39379       is now set up to notify salt upon modifications made to the file.
39380
39381       NOTE:
39382          The disable_during_state_run: True parameter  prevents  the  inotify
39383          beacon  from  generating reactor events due to salt itself modifying
39384          the file.
39385
39386   View Events on the Master
39387       On your Salt master, start the event runner using  the  following  com‐
39388       mand:
39389
39390          salt-run state.event pretty=true
39391
39392       This  runner  displays events as they are received by the master on the
39393       Salt event bus. To test the beacon you set up in the previous  section,
39394       make  and  save  a  modification  to /etc/important_file. You'll see an
39395       event similar to the following on the event bus:
39396
39397          {
39398           "_stamp": "2015-09-09T15:59:37.972753",
39399           "data": {
39400               "change": "IN_IGNORED",
39401               "id": "larry",
39402               "path": "/etc/important_file"
39403           },
39404           "tag": "salt/beacon/larry/inotify//etc/important_file"
39405          }
39406
39407       This indicates that the event is being captured and sent correctly. Now
39408       you can create a reactor to take action when this event occurs.
39409
39410   Create a Reactor
39411       This reactor reverts the file named /etc/important_file to the contents
39412       provided by salt each time it is modified.
39413
39414   Reactor SLS
39415       On your Salt master, create a file named /srv/reactor/revert.sls.
39416
39417       NOTE:
39418          If the /srv/reactor directory doesn't exist, create it.
39419
39420              mkdir -p /srv/reactor
39421
39422       Add the following to /srv/reactor/revert.sls:
39423
39424          revert-file:
39425            local.state.apply:
39426              - tgt: {{ data['data']['id'] }}
39427              - arg:
39428                - maintain_important_file
39429
39430       NOTE:
39431          In addition to setting disable_during_state_run: True for an inotify
39432          beacon whose reaction is to modify the watched file, it is important
39433          to ensure the state applied is also idempotent.
39434
39435       NOTE:
39436          The expression {{ data['data']['id'] }} is correct as it matches the
39437          event structure shown above.
39438
39439   State SLS
39440       Create  the  state  sls  file referenced by the reactor sls file.  This
39441       state file will be located at /srv/salt/maintain_important_file.sls.
39442
39443          important_file:
39444            file.managed:
39445              - name: /etc/important_file
39446              - contents: |
39447                  important_config: True
39448
39449   Master Config
39450       Configure the master to map the inotify  beacon  event  to  the  revert
39451       reaction in /etc/salt/master.d/reactor.conf:
39452
39453          reactor:
39454            - salt/beacon/*/inotify//etc/important_file:
39455              - /srv/reactor/revert.sls
39456
39457       NOTE:
39458          You  can  have only one top level reactor section, so if one already
39459          exists, add this code to the existing section.  See  here  to  learn
39460          more about reactor SLS syntax.
39461
39462   Start the Salt Master in Debug Mode
39463       To help with troubleshooting, start the Salt master in debug mode:
39464
39465          service salt-master stop
39466          salt-master -l debug
39467
39468       When  debug logging is enabled, event and reactor data are displayed so
39469       you can discover syntax and other issues.
39470
39471   Trigger the Reactor
39472       On your minion, make and save another change to /etc/important_file. On
39473       the  Salt master, you'll see debug messages that indicate the event was
39474       received and the state.apply job was sent. When you inspect the file on
39475       the  minion,  you'll  see  that the file contents have been restored to
39476       important_config: True.
39477
39478       All beacons are configured using a similar process of enabling the bea‐
39479       con,  writing  a  reactor  SLS (and state SLS if needed), and mapping a
39480       beacon event to the reactor SLS.
39481
39482   Writing Beacon Plugins
39483       Beacon plugins use the standard Salt loader system, meaning  that  many
39484       of  the  constructs  from  other plugin systems holds true, such as the
39485       __virtual__ function.
39486
39487       The important function in the Beacon Plugin  is  the  beacon  function.
39488       When  the  beacon  is configured to run, this function will be executed
39489       repeatedly by the minion. The beacon function  therefore  cannot  block
39490       and should be as lightweight as possible. The beacon also must return a
39491       list of dicts, each dict in the list will be translated into  an  event
39492       on the master.
39493
39494       Beacons  may  also  choose  to  implement a __validate__ function which
39495       takes the beacon configuration as an argument and ensures  that  it  is
39496       valid prior to continuing. This function is called automatically by the
39497       Salt loader when a beacon is loaded.
39498
39499       Please see the inotify beacon as an example.
39500
39501   The beacon Function
39502       The beacons system will look for a function named beacon in the module.
39503       If this function is not present then the beacon will not be fired. This
39504       function is called on a regular basis and defaults to being  called  on
39505       every iteration of the minion, which can be tens to hundreds of times a
39506       second. This means that the beacon function cannot block and should not
39507       be CPU or IO intensive.
39508
39509       The  beacon  function  will be passed in the configuration for the exe‐
39510       cuted beacon. This makes it easy to establish a flexible  configuration
39511       for  each  called  beacon. This is also the preferred way to ingest the
39512       beacon's configuration as it allows for the configuration to be dynami‐
39513       cally  updated while the minion is running by configuring the beacon in
39514       the minion's pillar.
39515
39516   The Beacon Return
39517       The information returned from the beacon is expected to follow a prede‐
39518       fined  structure. The returned value needs to be a list of dictionaries
39519       (standard python dictionaries  are  preferred,  no  ordered  dicts  are
39520       needed).
39521
39522       The  dictionaries represent individual events to be fired on the minion
39523       and master event buses. Each dict is a single event. The dict can  con‐
39524       tain  any  arbitrary keys but the 'tag' key will be extracted and added
39525       to the tag of the fired event.
39526
39527       The return data structure would look something like this:
39528
39529          [{'changes': ['/foo/bar'], 'tag': 'foo'},
39530           {'changes': ['/foo/baz'], 'tag': 'bar'}]
39531
39532   Calling Execution Modules
39533       Execution modules are still the preferred location  for  all  work  and
39534       system  interaction  to  happen  in  Salt. For this reason the __salt__
39535       variable is available inside the beacon.
39536
39537       Please be careful when calling functions in __salt__, while this is the
39538       preferred  means  of  executing complicated routines in Salt not all of
39539       the execution modules have been written with beacons in mind. Watch out
39540       for  execution modules that may be CPU intense or IO bound. Please feel
39541       free to add new execution modules and functions to back  specific  bea‐
39542       cons.
39543
39544   Distributing Custom Beacons
39545       Custom  beacons can be distributed to minions via the standard methods,
39546       see Modular Systems.
39547
39548   Reactor System
39549       Salt's Reactor system gives Salt the  ability  to  trigger  actions  in
39550       response to an event. It is a simple interface to watching Salt's event
39551       bus for event tags that match a given pattern and then running  one  or
39552       more commands in response.
39553
39554       This  system  binds  sls  files  to event tags on the master. These sls
39555       files then define reactions. This means that the reactor system has two
39556       parts. First, the reactor option needs to be set in the master configu‐
39557       ration file.  The reactor option allows for event tags to be associated
39558       with  sls  reaction  files.  Second,  these reaction files use highdata
39559       (like the state system) to define reactions to be executed.
39560
39561   Event System
39562       A basic understanding of the event system  is  required  to  understand
39563       reactors.  The event system is a local ZeroMQ PUB interface which fires
39564       salt events. This event bus is an open system used for sending informa‐
39565       tion notifying Salt and other systems about operations.
39566
39567       The  event  system  fires  events  with a very specific criteria. Every
39568       event has a tag. Event tags  allow  for  fast  top-level  filtering  of
39569       events.  In  addition to the tag, each event has a data structure. This
39570       data structure is a dictionary, which contains  information  about  the
39571       event.
39572
39573   Mapping Events to Reactor SLS Files
39574       Reactor  SLS  files  and event tags are associated in the master config
39575       file.  By default this is /etc/salt/master, or /etc/salt/master.d/reac‐
39576       tor.conf.
39577
39578       New in version 2014.7.0: Added Reactor support for salt:// file paths.
39579
39580
39581       In  the  master config section 'reactor:' is a list of event tags to be
39582       matched and each event tag has a list of reactor SLS files to be run.
39583
39584          reactor:                            # Master config section "reactor"
39585
39586            - 'salt/minion/*/start':          # Match tag "salt/minion/*/start"
39587              - /srv/reactor/start.sls        # Things to do when a minion starts
39588              - /srv/reactor/monitor.sls      # Other things to do
39589
39590            - 'salt/cloud/*/destroyed':       # Globs can be used to match tags
39591              - /srv/reactor/destroy/*.sls    # Globs can be used to match file names
39592
39593            - 'myco/custom/event/tag':        # React to custom event tags
39594              - salt://reactor/mycustom.sls   # Reactor files can come from the salt fileserver
39595
39596       NOTE:
39597          In the above example, salt://reactor/mycustom.sls refers to the base
39598          environment. To pull this file from a different environment, use the
39599          querystring syntax (e.g.   salt://reactor/mycustom.sls?saltenv=reac‐
39600          tor).
39601
39602       Reactor  SLS  files are similar to State and Pillar SLS files. They are
39603       by default YAML + Jinja templates and are passed familiar context vari‐
39604       ables.   Click  here  for  more  detailed  information on the variables
39605       available in Jinja templating.
39606
39607       Here is the SLS for a simple reaction:
39608
39609          {% if data['id'] == 'mysql1' %}
39610          highstate_run:
39611            local.state.apply:
39612              - tgt: mysql1
39613          {% endif %}
39614
39615       This simple reactor file uses Jinja to further refine the  reaction  to
39616       be made.  If the id in the event data is mysql1 (in other words, if the
39617       name of the minion is mysql1) then the following reaction  is  defined.
39618       The  same data structure and compiler used for the state system is used
39619       for the reactor system. The only difference is that the data is matched
39620       up  to  the salt command API and the runner system.  In this example, a
39621       command  is  published  to  the  mysql1  minion  with  a  function   of
39622       state.apply,  which  performs  a  highstate. Similarly, a runner can be
39623       called:
39624
39625          {% if data['data']['custom_var'] == 'runit' %}
39626          call_runit_orch:
39627            runner.state.orchestrate:
39628              - args:
39629                - mods: orchestrate.runit
39630          {% endif %}
39631
39632       This example will execute the state.orchestrate runner and  intiate  an
39633       execution  of  the  runit  orchestrator  located  at  /srv/salt/orches‐
39634       trate/runit.sls.
39635
39636   Types of Reactions
39637                        ┌───────┬────────────────────────────┐
39638                        │Name   │ Description                │
39639                        ├───────┼────────────────────────────┤
39640local  │ Runs  a   remote-execution │
39641                        │       │ function  on targeted min‐ │
39642                        │       │ ions                       │
39643                        ├───────┼────────────────────────────┤
39644runner │ Executes a runner function │
39645                        ├───────┼────────────────────────────┤
39646wheel  │ Executes a wheel  function │
39647                        │       │ on the master              │
39648                        ├───────┼────────────────────────────┤
39649caller │ Runs   a  remote-execution │
39650                        │       │ function on  a  masterless │
39651                        │       │ minion                     │
39652                        └───────┴────────────────────────────┘
39653
39654       NOTE:
39655          The  local  and  caller  reaction  types will likely be renamed in a
39656          future release. These reaction types were named after Salt's  inter‐
39657          nal client interfaces, and are not intuitively named. Both local and
39658          caller will continue to work in Reactor SLS files, however.
39659
39660   Where to Put Reactor SLS Files
39661       Reactor SLS files can come both from files local  to  the  master,  and
39662       from  any of backends enabled via the fileserver_backend config option.
39663       Files placed in the Salt fileserver can be referenced using  a  salt://
39664       URL, just like they can in State SLS files.
39665
39666       It  is recommended to place reactor and orchestrator SLS files in their
39667       own uniquely-named subdirectories such as orch/, orchestrate/,  react/,
39668       reactor/, etc., to keep them organized.
39669
39670   Writing Reactor SLS
39671       The different reaction types were developed separately and have histor‐
39672       ically had different methods for passing arguments.  For  the  2017.7.2
39673       release  a new, unified configuration schema has been introduced, which
39674       applies to all reaction types.
39675
39676       The old config schema will continue to be supported, and  there  is  no
39677       plan to deprecate it at this time.
39678
39679   Local Reactions
39680       A  local reaction runs a remote-execution function on the targeted min‐
39681       ions.
39682
39683       The old config schema required the positional and keyword arguments  to
39684       be  manually separated by the user under arg and kwarg parameters. How‐
39685       ever, this is not very user-friendly, as it forces the user to  distin‐
39686       guish  which  type  of argument is which, and make sure that positional
39687       arguments are ordered properly. Therefore, the  new  config  schema  is
39688       recommended if the master is running a supported release.
39689
39690       The below two examples are equivalent:
39691
39692     ┌─────────────────────────────────────┬─────────────────────────────────────┐
39693     │Supported  in 2017.7.2 and           │ Supported in all releases           │
39694     │later                                │                                     │
39695     ├─────────────────────────────────────┼─────────────────────────────────────┤
39696     │                                     │                                     │
39697     │          install_zsh:               │           install_zsh:              │
39698     │            local.state.single:      │             local.state.single:     │
39699     │              - tgt: 'kernel:Linux'  │               - tgt: 'kernel:Linux' │
39700     │              - tgt_type: grain      │               - tgt_type: grain     │
39701     │              - args:                │               - arg:                │
39702     │                - fun: pkg.installed │                 - pkg.installed     │
39703     │                - name: zsh          │                 - zsh               │
39704     │                - fromrepo: updates  │               - kwarg:              │
39705     │                                     │                   fromrepo: updates │
39706     └─────────────────────────────────────┴─────────────────────────────────────┘
39707
39708       This reaction would be equivalent to running the  following  Salt  com‐
39709       mand:
39710
39711          salt -G 'kernel:Linux' state.single pkg.installed name=zsh fromrepo=updates
39712
39713       NOTE:
39714          Any  other parameters in the LocalClient().cmd_async() method can be
39715          passed at the same indentation level as tgt.
39716
39717       NOTE:
39718          tgt_type is only required when the target expression defined in  tgt
39719          uses a target type other than a minion ID glob.
39720
39721          The  tgt_type  argument  was  named  expr_form  in releases prior to
39722          2017.7.0.
39723
39724   Runner Reactions
39725       Runner reactions execute runner functions locally on the master.
39726
39727       The old config schema called for  passing  arguments  to  the  reaction
39728       directly under the name of the runner function. However, this can cause
39729       unpredictable interactions with the  Reactor  system's  internal  argu‐
39730       ments.  It  is  also  possible to pass positional and keyword arguments
39731       under arg and kwarg like above in local reactions, but as  noted  above
39732       this  is  not  very  user-friendly. Therefore, the new config schema is
39733       recommended if the master is running a supported release.
39734
39735       The below two examples are equivalent:
39736
39737┌────────────────────────────────────────────────────────┬─────────────────────────────────────────────────────────┐
39738│Supported in 2017.7.2  and                              │ Supported in all releases                               │
39739│later                                                   │                                                         │
39740├────────────────────────────────────────────────────────┼─────────────────────────────────────────────────────────┤
39741│                                                        │                                                         │
39742│          deploy_app:                                   │           deploy_app:                                   │
39743│            runner.state.orchestrate:                   │             runner.state.orchestrate:                   │
39744│              - args:                                   │               - mods: orchestrate.deploy_app            │
39745│                - mods: orchestrate.deploy_app          │               - kwarg:                                  │
39746│                - pillar:                               │                   pillar:                               │
39747│                    event_tag: {{ tag }}                │                     event_tag: {{ tag }}                │
39748│                    event_data: {{ data['data']|json }} │                     event_data: {{ data['data']|json }} │
39749└────────────────────────────────────────────────────────┴─────────────────────────────────────────────────────────┘
39750
39751       Assuming that the event tag is foo, and the data passed to the event is
39752       {'bar': 'baz'}, then this reaction is equivalent to running the follow‐
39753       ing Salt command:
39754
39755          salt-run state.orchestrate mods=orchestrate.deploy_app pillar='{"event_tag": "foo", "event_data": {"bar": "baz"}}'
39756
39757   Wheel Reactions
39758       Wheel reactions run wheel functions locally on the master.
39759
39760       Like runner reactions, the old config schema called for wheel reactions
39761       to have arguments passed directly under the name of the wheel  function
39762       (or in arg or kwarg parameters).
39763
39764       The below two examples are equivalent:
39765
39766┌──────────────────────────────────────────┬─────────────────────────────────────────┐
39767│Supported  in 2017.7.2 and                │ Supported in all releases               │
39768│later                                     │                                         │
39769├──────────────────────────────────────────┼─────────────────────────────────────────┤
39770│                                          │                                         │
39771│          remove_key:                     │           remove_key:                   │
39772│            wheel.key.delete:             │             wheel.key.delete:           │
39773│              - args:                     │               - match: {{ data['id'] }} │
39774│                - match: {{ data['id'] }} │                                         │
39775└──────────────────────────────────────────┴─────────────────────────────────────────┘
39776
39777   Caller Reactions
39778       Caller reactions run remote-execution functions on  a  minion  daemon's
39779       Reactor system. To run a Reactor on the minion, it is necessary to con‐
39780       figure the Reactor Engine in the minion config  file,  and  then  setup
39781       your  watched  events in a reactor section in the minion config file as
39782       well.
39783
39784       NOTE:
39785          Masterless Minions use this Reactor
39786
39787          This is the only way to run the Reactor if you use  masterless  min‐
39788          ions.
39789
39790       Both  the old and new config schemas involve passing arguments under an
39791       args parameter. However, the old config schema only supports positional
39792       arguments.  Therefore, the new config schema is recommended if the mas‐
39793       terless minion is running a supported release.
39794
39795       The below two examples are equivalent:
39796
39797         ┌─────────────────────────────────┬────────────────────────────────┐
39798         │Supported in 2017.7.2  and       │ Supported in all releases      │
39799         │later                            │                                │
39800         ├─────────────────────────────────┼────────────────────────────────┤
39801         │                                 │                                │
39802         │          touch_file:            │           touch_file:          │
39803         │            caller.file.touch:   │             caller.file.touch: │
39804         │              - args:            │               - args:          │
39805         │                - name: /tmp/foo │                 - /tmp/foo     │
39806         └─────────────────────────────────┴────────────────────────────────┘
39807
39808       This reaction is equivalent to running the following Salt command:
39809
39810          salt-call file.touch name=/tmp/foo
39811
39812   Best Practices for Writing Reactor SLS Files
39813       The Reactor works as follows:
39814
39815       1. The Salt Reactor watches Salt's event bus for new events.
39816
39817       2. Each  event's  tag is matched against the list of event tags config‐
39818          ured under the reactor section in the Salt Master config.
39819
39820       3. The SLS files for any matches are rendered  into  a  data  structure
39821          that represents one or more function calls.
39822
39823       4. That  data structure is given to a pool of worker threads for execu‐
39824          tion.
39825
39826       Matching and rendering Reactor SLS files is done sequentially in a sin‐
39827       gle  process.  For  that  reason,  reactor SLS files should contain few
39828       individual reactions (one, if at all possible). Also, keep in mind that
39829       reactions  are  fired asynchronously (with the exception of caller) and
39830       do not support requisites.
39831
39832       Complex Jinja templating that calls out  to  slow  remote-execution  or
39833       runner functions slows down the rendering and causes other reactions to
39834       pile up behind the current one. The worker pool is designed  to  handle
39835       complex and long-running processes like orchestration jobs.
39836
39837       Therefore,  when complex tasks are in order, orchestration is a natural
39838       fit. Orchestration SLS files can be more complex, and  use  requisites.
39839       Performing  a  complex task using orchestration lets the Reactor system
39840       fire off the orchestration job and proceed with processing other  reac‐
39841       tions.
39842
39843   Jinja Context
39844       Reactor  SLS  files only have access to a minimal Jinja context. grains
39845       and pillar are not available. The salt object is available for  calling
39846       remote-execution  or  runner functions, but it should be used sparingly
39847       and only for quick tasks for the reasons mentioned above.
39848
39849       In addition to the salt object, the following variables  are  available
39850       in the Jinja context:
39851
39852       · tag  - the tag from the event that triggered execution of the Reactor
39853         SLS file
39854
39855       · data - the event's data dictionary
39856
39857       The data dict will contain an id key containing the minion ID,  if  the
39858       event  was  fired  from  a  minion,  and a data key containing the data
39859       passed to the event.
39860
39861   Advanced State System Capabilities
39862       Reactor SLS files, by design,  do  not  support  requisites,  ordering,
39863       onlyif/unless  conditionals  and  most  other  powerful constructs from
39864       Salt's State system.
39865
39866       Complex Master-side operations are best performed by Salt's Orchestrate
39867       system  so  using  the Reactor to kick off an Orchestrate run is a very
39868       common pairing.
39869
39870       For example:
39871
39872          # /etc/salt/master.d/reactor.conf
39873          # A custom event containing: {"foo": "Foo!", "bar: "bar*", "baz": "Baz!"}
39874          reactor:
39875            - my/custom/event:
39876              - /srv/reactor/some_event.sls
39877
39878          # /srv/reactor/some_event.sls
39879          invoke_orchestrate_file:
39880            runner.state.orchestrate:
39881              - args:
39882                  - mods: orchestrate.do_complex_thing
39883                  - pillar:
39884                      event_tag: {{ tag }}
39885                      event_data: {{ data|json }}
39886
39887          # /srv/salt/orchestrate/do_complex_thing.sls
39888          {% set tag = salt.pillar.get('event_tag') %}
39889          {% set data = salt.pillar.get('event_data') %}
39890
39891          # Pass data from the event to a custom runner function.
39892          # The function expects a 'foo' argument.
39893          do_first_thing:
39894            salt.runner:
39895              - name: custom_runner.custom_function
39896              - foo: {{ data.foo }}
39897
39898          # Wait for the runner to finish then send an execution to minions.
39899          # Forward some data from the event down to the minion's state run.
39900          do_second_thing:
39901            salt.state:
39902              - tgt: {{ data.bar }}
39903              - sls:
39904                - do_thing_on_minion
39905              - kwarg:
39906                  pillar:
39907                    baz: {{ data.baz }}
39908              - require:
39909                - salt: do_first_thing
39910
39911   Beacons and Reactors
39912       An event initiated by a beacon, when it arrives at the master  will  be
39913       wrapped inside a second event, such that the data object containing the
39914       beacon information will be data['data'], rather than data.
39915
39916       For example, to access the id field of the beacon event  in  a  reactor
39917       file,  you  will need to reference {{ data['data']['id'] }} rather than
39918       {{ data['id'] }} as for events initiated directly on the event bus.
39919
39920       Similarly, the data dictionary attached to the event would  be  located
39921       in {{ data['data']['data'] }} instead of {{ data['data'] }}.
39922
39923       See the beacon documentation for examples.
39924
39925   Manually Firing an Event
39926   From the Master
39927       Use the event.send runner:
39928
39929          salt-run event.send foo '{orchestrate: refresh}'
39930
39931   From the Minion
39932       To fire an event to the master from a minion, call event.send:
39933
39934          salt-call event.send foo '{orchestrate: refresh}'
39935
39936       To fire an event to the minion's local event bus, call event.fire:
39937
39938          salt-call event.fire '{orchestrate: refresh}' foo
39939
39940   Referencing Data Passed in Events
39941       Assuming  any of the above examples, any reactor SLS files triggered by
39942       watching the event tag foo will execute with  {{  data['data']['orches‐
39943       trate'] }} equal to 'refresh'.
39944
39945   Getting Information About Events
39946       The  best  way to see exactly what events have been fired and what data
39947       is available in each event is to use the state.event runner.
39948
39949       SEE ALSO:
39950          Common Salt Events
39951
39952       Example usage:
39953
39954          salt-run state.event pretty=True
39955
39956       Example output:
39957
39958          salt/job/20150213001905721678/new       {
39959              "_stamp": "2015-02-13T00:19:05.724583",
39960              "arg": [],
39961              "fun": "test.ping",
39962              "jid": "20150213001905721678",
39963              "minions": [
39964                  "jerry"
39965              ],
39966              "tgt": "*",
39967              "tgt_type": "glob",
39968              "user": "root"
39969          }
39970          salt/job/20150213001910749506/ret/jerry {
39971              "_stamp": "2015-02-13T00:19:11.136730",
39972              "cmd": "_return",
39973              "fun": "saltutil.find_job",
39974              "fun_args": [
39975                  "20150213001905721678"
39976              ],
39977              "id": "jerry",
39978              "jid": "20150213001910749506",
39979              "retcode": 0,
39980              "return": {},
39981              "success": true
39982          }
39983
39984   Debugging the Reactor
39985       The best window into the Reactor is to run the master in the foreground
39986       with  debug  logging  enabled.  The output will include when the master
39987       sees the event, what the master does in response to that event, and  it
39988       will  also include the rendered SLS file (or any errors generated while
39989       rendering the SLS file).
39990
39991       1. Stop the master.
39992
39993       2. Start the master manually:
39994
39995             salt-master -l debug
39996
39997       3. Look for log entries in the form:
39998
39999             [DEBUG   ] Gathering reactors for tag foo/bar
40000             [DEBUG   ] Compiling reactions for tag foo/bar
40001             [DEBUG   ] Rendered data from file: /path/to/the/reactor_file.sls:
40002             <... Rendered output appears here. ...>
40003
40004          The rendered output is the result of the Jinja parsing and is a good
40005          way to view the result of referencing Jinja variables. If the result
40006          is empty then Jinja produced an empty result and  the  Reactor  will
40007          ignore it.
40008
40009   Passing Event Data to Minions or Orchestration as Pillar
40010       An  interesting  trick  to  pass  data  from  the  Reactor  SLS file to
40011       state.apply is to pass it as inline Pillar data  since  both  functions
40012       take a keyword argument named pillar.
40013
40014       The  following example uses Salt's Reactor to listen for the event that
40015       is fired when the key for a new minion is accepted on the master  using
40016       salt-key.
40017
40018       /etc/salt/master.d/reactor.conf:
40019
40020          reactor:
40021            - 'salt/key':
40022              - /srv/salt/haproxy/react_new_minion.sls
40023
40024       The  Reactor  then fires a :state.apply command targeted to the HAProxy
40025       servers and passes the ID of the new minion from the event to the state
40026       file via inline Pillar.
40027
40028       /srv/salt/haproxy/react_new_minion.sls:
40029
40030          {% if data['act'] == 'accept' and data['id'].startswith('web') %}
40031          add_new_minion_to_pool:
40032            local.state.apply:
40033              - tgt: 'haproxy*'
40034              - args:
40035                - mods: haproxy.refresh_pool
40036                - pillar:
40037                    new_minion: {{ data['id'] }}
40038          {% endif %}
40039
40040       The above command is equivalent to the following command at the CLI:
40041
40042          salt 'haproxy*' state.apply haproxy.refresh_pool pillar='{new_minion: minionid}'
40043
40044       This works with Orchestrate files as well:
40045
40046          call_some_orchestrate_file:
40047            runner.state.orchestrate:
40048              - args:
40049                - mods: orchestrate.some_orchestrate_file
40050                - pillar:
40051                    stuff: things
40052
40053       Which is equivalent to the following command at the CLI:
40054
40055          salt-run state.orchestrate orchestrate.some_orchestrate_file pillar='{stuff: things}'
40056
40057       Finally, that data is available in the state file using the normal Pil‐
40058       lar lookup syntax. The following example is grabbing web  server  names
40059       and  IP  addresses  from  Salt  Mine. If this state is invoked from the
40060       Reactor then the custom Pillar value from above will be  available  and
40061       the  new minion will be added to the pool but with the disabled flag so
40062       that HAProxy won't yet direct traffic to it.
40063
40064       /srv/salt/haproxy/refresh_pool.sls:
40065
40066          {% set new_minion = salt['pillar.get']('new_minion') %}
40067
40068          listen web *:80
40069              balance source
40070              {% for server,ip in salt['mine.get']('web*', 'network.interfaces', ['eth0']).items() %}
40071              {% if server == new_minion %}
40072              server {{ server }} {{ ip }}:80 disabled
40073              {% else %}
40074              server {{ server }} {{ ip }}:80 check
40075              {% endif %}
40076              {% endfor %}
40077
40078   A Complete Example
40079       In this example, we're going to assume that we have a group of  servers
40080       that  will  come  online  at random and need to have keys automatically
40081       accepted. We'll also add that we don't want all servers being automati‐
40082       cally accepted. For this example, we'll assume that all hosts that have
40083       an id that starts with 'ink' will be automatically  accepted  and  have
40084       state.apply  executed.  On  top of this, we're going to add that a host
40085       coming up that was replaced (meaning a new key) will also be accepted.
40086
40087       Our master configuration  will  be  rather  simple.  All  minions  that
40088       attempte to authenticate will match the tag of salt/auth. When it comes
40089       to the minion key being accepted,  we  get  a  more  refined  tag  that
40090       includes the minion id, which we can use for matching.
40091
40092       /etc/salt/master.d/reactor.conf:
40093
40094          reactor:
40095            - 'salt/auth':
40096              - /srv/reactor/auth-pending.sls
40097            - 'salt/minion/ink*/start':
40098              - /srv/reactor/auth-complete.sls
40099
40100       In  this  SLS  file, we say that if the key was rejected we will delete
40101       the key on the master and then also tell the master to ssh  in  to  the
40102       minion  and  tell it to restart the minion, since a minion process will
40103       die if the key is rejected.
40104
40105       We also say that if the key is pending and the id starts  with  ink  we
40106       will  accept  the  key.  A minion that is waiting on a pending key will
40107       retry authentication every ten seconds by default.
40108
40109       /srv/reactor/auth-pending.sls:
40110
40111          {# Ink server failed to authenticate -- remove accepted key #}
40112          {% if not data['result'] and data['id'].startswith('ink') %}
40113          minion_remove:
40114            wheel.key.delete:
40115              - args:
40116                - match: {{ data['id'] }}
40117          minion_rejoin:
40118            local.cmd.run:
40119              - tgt: salt-master.domain.tld
40120              - args:
40121                - cmd: ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no "{{ data['id'] }}" 'sleep 10 && /etc/init.d/salt-minion restart'
40122          {% endif %}
40123
40124          {# Ink server is sending new key -- accept this key #}
40125          {% if 'act' in data and data['act'] == 'pend' and data['id'].startswith('ink') %}
40126          minion_add:
40127            wheel.key.accept:
40128              - args:
40129                - match: {{ data['id'] }}
40130          {% endif %}
40131
40132       No if statements are needed here because we already limited this action
40133       to just Ink servers in the master configuration.
40134
40135       /srv/reactor/auth-complete.sls:
40136
40137          {# When an Ink server connects, run state.apply. #}
40138          highstate_run:
40139            local.state.apply:
40140              - tgt: {{ data['id'] }}
40141              - ret: smtp
40142
40143       The  above  will  also  return  the  highstate  result  data  using the
40144       smtp_return returner (use virtualname like when using from the  command
40145       line with --return).  The returner needs to be configured on the minion
40146       for this to work.   See  salt.returners.smtp_return  documentation  for
40147       that.
40148
40149   Syncing Custom Types on Minion Start
40150       Salt  will  sync  all  custom types (by running a saltutil.sync_all) on
40151       every highstate. However, there is a chicken-and-egg  issue  where,  on
40152       the  initial  highstate,  a minion will not yet have these custom types
40153       synced when the top file is first compiled. This can be  worked  around
40154       with  a  simple  reactor  which watches for salt/minion/*/start events,
40155       which each minion fires when it first starts up  and  connects  to  the
40156       master.
40157
40158       On  the  master, create /srv/reactor/sync_grains.sls with the following
40159       contents:
40160
40161          sync_grains:
40162            local.saltutil.sync_grains:
40163              - tgt: {{ data['id'] }}
40164
40165       And in the master config file, add the following reactor configuration:
40166
40167          reactor:
40168            - 'salt/minion/*/start':
40169              - /srv/reactor/sync_grains.sls
40170
40171       This will cause the master to instruct each minion to sync  its  custom
40172       grains  when  it starts, making these grains available when the initial
40173       highstate is executed.
40174
40175       Other types can be synced by replacing local.saltutil.sync_grains  with
40176       local.saltutil.sync_modules,  local.saltutil.sync_all, or whatever else
40177       suits the intended use case.
40178
40179       Also, if it is not desirable that every minion syncs on startup, the  *
40180       can be replaced with a different glob to narrow down the set of minions
40181       which will match that reactor  (e.g.  salt/minion/appsrv*/start,  which
40182       would only match minion IDs beginning with appsrv).
40183

ORCHESTRATION

40185   Orchestrate Runner
40186       Executing  states  or highstate on a minion is perfect when you want to
40187       ensure that minion configured and running the way you  want.  Sometimes
40188       however you want to configure a set of minions all at once.
40189
40190       For  example, if you want to set up a load balancer in front of a clus‐
40191       ter of web servers you can ensure the load balancer is  set  up  first,
40192       and then the same matching configuration is applied consistently across
40193       the whole cluster.
40194
40195       Orchestration is the way to do this.
40196
40197   The Orchestrate Runner
40198       New in version 0.17.0.
40199
40200
40201       NOTE:
40202          Orchestrate Deprecates OverState
40203
40204          The Orchestrate Runner  (originally  called  the  state.sls  runner)
40205          offers  all the functionality of the OverState, but with some advan‐
40206          tages:
40207
40208          · All requisites available in states can be used.
40209
40210          · The states/functions will also work on salt-ssh minions.
40211
40212          The  Orchestrate  Runner  replaced  the  OverState  system  in  Salt
40213          2015.8.0.
40214
40215       The orchestrate runner generalizes the Salt state system to a Salt mas‐
40216       ter context.  Whereas the state.sls, state.highstate, et al.  functions
40217       are  concurrently  and  independently executed on each Salt minion, the
40218       state.orchestrate runner is executed on the master, giving  it  a  mas‐
40219       ter-level  view and control over requisites, such as state ordering and
40220       conditionals.  This allows for inter minion requisites,  like  ordering
40221       the  application  of  states  on different minions that must not happen
40222       simultaneously, or for halting the state run on all minions if a minion
40223       fails one of its states.
40224
40225       The  state.sls,  state.highstate,  et al. functions allow you to state‐
40226       fully manage each minion and the state.orchestrate runner allows you to
40227       statefully manage your entire infrastructure.
40228
40229   Writing SLS Files
40230       Orchestrate  SLS  files  are  stored  in the same location as State SLS
40231       files. This means that both file_roots and  gitfs_remotes  impact  what
40232       SLS files are available to the reactor and orchestrator.
40233
40234       It  is  recommended to keep reactor and orchestrator SLS files in their
40235       own uniquely named subdirectories such as _orch/, orch/, _orchestrate/,
40236       react/,  _reactor/, etc. This will avoid duplicate naming and will help
40237       prevent confusion.
40238
40239   Executing the Orchestrate Runner
40240       The Orchestrate Runner command format is the same as for the  state.sls
40241       function,  except  that  since  it  is  a  runner,  it is executed with
40242       salt-run rather than salt.  Assuming you have a state.sls  file  called
40243       /srv/salt/orch/webserver.sls  the following command, run on the master,
40244       will apply the states defined in that file.
40245
40246          salt-run state.orchestrate orch.webserver
40247
40248       NOTE:
40249          state.orch is a synonym for state.orchestrate
40250
40251       Changed in  version  2014.1.1:  The  runner  function  was  renamed  to
40252       state.orchestrate to avoid confusion with the state.sls execution func‐
40253       tion. In versions 0.17.0 through 2014.1.0, state.sls must be used.
40254
40255
40256   Masterless Orchestration
40257       New in version 2016.11.0.
40258
40259
40260       To support salt orchestration on masterless  minions,  the  Orchestrate
40261       Runner  is  available as an execution module. The syntax for masterless
40262       orchestration is exactly the same, but it uses  the  salt-call  command
40263       and  the minion configuration must contain the file_mode: local option.
40264       Alternatively, use salt-call --local on the command line.
40265
40266          salt-call --local state.orchestrate orch.webserver
40267
40268       NOTE:
40269          Masterless orchestration supports only the salt.state command in  an
40270          sls file; it does not (currently) support the salt.function command.
40271
40272   Examples
40273   Function
40274       To execute a function, use salt.function:
40275
40276          # /srv/salt/orch/cleanfoo.sls
40277          cmd.run:
40278            salt.function:
40279              - tgt: '*'
40280              - arg:
40281                - rm -rf /tmp/foo
40282
40283          salt-run state.orchestrate orch.cleanfoo
40284
40285       If  you  omit  the  "name"  argument,  the  ID of the state will be the
40286       default name, or in the case of  salt.function,  the  execution  module
40287       function to run. You can specify the "name" argument to avoid conflict‐
40288       ing IDs:
40289
40290          copy_some_file:
40291            salt.function:
40292              - name: file.copy
40293              - tgt: '*'
40294              - arg:
40295                - /path/to/file
40296                - /tmp/copy_of_file
40297              - kwarg:
40298                  remove_existing: true
40299
40300   Fail Functions
40301       When running a remote  execution  function  in  orchestration,  certain
40302       return values for those functions may indicate failure, while the func‐
40303       tion itself doesn't set a return code. For those circumstances, using a
40304       "fail  function"  allows for a more flexible means of assessing success
40305       or failure.
40306
40307       A fail function can be written as part of a  custom  execution  module.
40308       The  function  should accept one argument, and return a boolean result.
40309       For example:
40310
40311          def check_func_result(retval):
40312              if some_condition:
40313                  return True
40314              else:
40315                  return False
40316
40317       The function can then be referenced in orchestration SLS like so:
40318
40319          do_stuff:
40320            salt.function:
40321              - name: modname.funcname
40322              - tgt: '*'
40323              - fail_function: mymod.check_func_result
40324
40325       IMPORTANT:
40326          Fail functions run on the master,  so  they  must  be  synced  using
40327          salt-run saltutil.sync_modules.
40328
40329   State
40330       To execute a state, use salt.state.
40331
40332          # /srv/salt/orch/webserver.sls
40333          install_nginx:
40334            salt.state:
40335              - tgt: 'web*'
40336              - sls:
40337                - nginx
40338
40339          salt-run state.orchestrate orch.webserver
40340
40341   Highstate
40342       To run a highstate, set highstate: True in your state config:
40343
40344          # /srv/salt/orch/web_setup.sls
40345          webserver_setup:
40346            salt.state:
40347              - tgt: 'web*'
40348              - highstate: True
40349
40350          salt-run state.orchestrate orch.web_setup
40351
40352   Runner
40353       To  execute  another  runner,  use salt.runner.  For example to use the
40354       cloud.profile runner in your orchestration state additional options  to
40355       replace values in the configured profile, use this:
40356
40357          # /srv/salt/orch/deploy.sls
40358          create_instance:
40359            salt.runner:
40360              - name: cloud.profile
40361              - prof: cloud-centos
40362              - provider: cloud
40363              - instances:
40364                - server1
40365              - opts:
40366                  minion:
40367                    master: master1
40368
40369       To  get  a more dynamic state, use jinja variables together with inline
40370       pillar data.  Using the same example but passing on  pillar  data,  the
40371       state would be like this.
40372
40373          # /srv/salt/orch/deploy.sls
40374          {% set servers = salt['pillar.get']('servers', 'test') %}
40375          {% set master = salt['pillar.get']('master', 'salt') %}
40376          create_instance:
40377            salt.runner:
40378              - name: cloud.profile
40379              - prof: cloud-centos
40380              - provider: cloud
40381              - instances:
40382                - {{ servers }}
40383              - opts:
40384                  minion:
40385                    master: {{ master }}
40386
40387       To execute with pillar data.
40388
40389          salt-run state.orch orch.deploy pillar='{"servers": "newsystem1",
40390          "master": "mymaster"}'
40391
40392   Return Codes in Runner/Wheel Jobs
40393       New in version 2018.3.0.
40394
40395
40396       State (salt.state) jobs are able to report failure via the state return
40397       dictionary. Remote execution (salt.function) jobs are  able  to  report
40398       failure  by  setting  a retcode key in the __context__ dictionary. How‐
40399       ever, runner (salt.runner)  and  wheel  (salt.wheel)  jobs  would  only
40400       report  a  False result when the runner/wheel function raised an excep‐
40401       tion. As of the 2018.3.0 release, it is now possible to set  a  retcode
40402       in  runner  and  wheel functions just as you can do in remote execution
40403       functions. Here is some example pseudocode:
40404
40405          def myrunner():
40406              ...
40407              do stuff
40408              ...
40409              if some_error_condition:
40410                  __context__['retcode'] = 1
40411              return result
40412
40413       This allows a custom runner/wheel function to  report  its  failure  so
40414       that requisites can accurately tell that a job has failed.
40415
40416   More Complex Orchestration
40417       Many  states/functions  can  be configured in a single file, which when
40418       combined with the full suite of requisites, can be used to easily  con‐
40419       figure  complex orchestration tasks. Additionally, the states/functions
40420       will be executed in the order in which they are  defined,  unless  pre‐
40421       vented  from doing so by any requisites, as is the default in SLS files
40422       since 0.17.0.
40423
40424          bootstrap_servers:
40425            salt.function:
40426              - name: cmd.run
40427              - tgt: 10.0.0.0/24
40428              - tgt_type: ipcidr
40429              - arg:
40430                - bootstrap
40431
40432          storage_setup:
40433            salt.state:
40434              - tgt: 'role:storage'
40435              - tgt_type: grain
40436              - sls: ceph
40437              - require:
40438                - salt: webserver_setup
40439
40440          webserver_setup:
40441            salt.state:
40442              - tgt: 'web*'
40443              - highstate: True
40444
40445       Given the above setup, the orchestration will be carried  out  as  fol‐
40446       lows:
40447
40448       1. The  shell  command bootstrap will be executed on all minions in the
40449          10.0.0.0/24 subnet.
40450
40451       2. A Highstate will be run on all minions whose ID starts  with  "web",
40452          since the storage_setup state requires it.
40453
40454       3. Finally,  the  ceph SLS target will be executed on all minions which
40455          have a grain called role with a value of storage.
40456
40457       NOTE:
40458          Remember, salt-run is always executed on the master.
40459
40460   Parsing Results Programmatically
40461       Orchestration jobs return output in a  specific  data  structure.  That
40462       data  structure  is  represented differently depending on the outputter
40463       used. With the default outputter for  orchestration,  you  get  a  nice
40464       human-readable output.  Assume the following orchestration SLS:
40465
40466          good_state:
40467            salt.state:
40468              - tgt: myminion
40469              - sls:
40470              - succeed_with_changes
40471
40472          bad_state:
40473            salt.state:
40474              - tgt: myminion
40475              - sls:
40476              - fail_with_changes
40477
40478          mymod.myfunc:
40479            salt.function:
40480              - tgt: myminion
40481
40482          mymod.myfunc_false_result:
40483            salt.function:
40484              - tgt: myminion
40485
40486       Running  this  using  the  default outputter would produce output which
40487       looks like this:
40488
40489          fa5944a73aa8_master:
40490          ----------
40491                    ID: good_state
40492              Function: salt.state
40493                Result: True
40494               Comment: States ran successfully. Updating myminion.
40495               Started: 21:08:02.681604
40496              Duration: 265.565 ms
40497               Changes:
40498                        myminion:
40499                        ----------
40500                                  ID: test succeed with changes
40501                            Function: test.succeed_with_changes
40502                              Result: True
40503                             Comment: Success!
40504                             Started: 21:08:02.835893
40505                            Duration: 0.375 ms
40506                             Changes:
40507                                      ----------
40508                                      testing:
40509                                          ----------
40510                                          new:
40511                                              Something pretended to change
40512                                          old:
40513                                              Unchanged
40514
40515                        Summary for myminion
40516                        ------------
40517                        Succeeded: 1 (changed=1)
40518                        Failed:    0
40519                        ------------
40520                        Total states run:     1
40521                        Total run time:   0.375 ms
40522          ----------
40523                    ID: bad_state
40524              Function: salt.state
40525                Result: False
40526               Comment: Run failed on minions: myminion
40527               Started: 21:08:02.947702
40528              Duration: 177.01 ms
40529               Changes:
40530                        myminion:
40531                        ----------
40532                                  ID: test fail with changes
40533                            Function: test.fail_with_changes
40534                              Result: False
40535                             Comment: Failure!
40536                             Started: 21:08:03.116634
40537                            Duration: 0.502 ms
40538                             Changes:
40539                                      ----------
40540                                      testing:
40541                                          ----------
40542                                          new:
40543                                              Something pretended to change
40544                                          old:
40545                                              Unchanged
40546
40547                        Summary for myminion
40548                        ------------
40549                        Succeeded: 0 (changed=1)
40550                        Failed:    1
40551                        ------------
40552                        Total states run:     1
40553                        Total run time:   0.502 ms
40554          ----------
40555                    ID: mymod.myfunc
40556              Function: salt.function
40557                Result: True
40558               Comment: Function ran successfully. Function mymod.myfunc ran on myminion.
40559               Started: 21:08:03.125011
40560              Duration: 159.488 ms
40561               Changes:
40562                        myminion:
40563                            True
40564          ----------
40565                    ID: mymod.myfunc_false_result
40566              Function: salt.function
40567                Result: False
40568               Comment: Running function mymod.myfunc_false_result failed on minions: myminion. Function mymod.myfunc_false_result ran on myminion.
40569               Started: 21:08:03.285148
40570              Duration: 176.787 ms
40571               Changes:
40572                        myminion:
40573                            False
40574
40575          Summary for fa5944a73aa8_master
40576          ------------
40577          Succeeded: 2 (changed=4)
40578          Failed:    2
40579          ------------
40580          Total states run:     4
40581          Total run time: 778.850 ms
40582
40583       However, using the json outputter, you can get the output in an  easily
40584       loadable and parsable format:
40585
40586          salt-run state.orchestrate test --out=json
40587
40588          {
40589              "outputter": "highstate",
40590              "data": {
40591                  "fa5944a73aa8_master": {
40592                      "salt_|-good_state_|-good_state_|-state": {
40593                          "comment": "States ran successfully. Updating myminion.",
40594                          "name": "good_state",
40595                          "start_time": "21:35:16.868345",
40596                          "result": true,
40597                          "duration": 267.299,
40598                          "__run_num__": 0,
40599                          "__jid__": "20171130213516897392",
40600                          "__sls__": "test",
40601                          "changes": {
40602                              "ret": {
40603                                  "myminion": {
40604                                      "test_|-test succeed with changes_|-test succeed with changes_|-succeed_with_changes": {
40605                                          "comment": "Success!",
40606                                          "name": "test succeed with changes",
40607                                          "start_time": "21:35:17.022592",
40608                                          "result": true,
40609                                          "duration": 0.362,
40610                                          "__run_num__": 0,
40611                                          "__sls__": "succeed_with_changes",
40612                                          "changes": {
40613                                              "testing": {
40614                                                  "new": "Something pretended to change",
40615                                                  "old": "Unchanged"
40616                                              }
40617                                          },
40618                                          "__id__": "test succeed with changes"
40619                                      }
40620                                  }
40621                              },
40622                              "out": "highstate"
40623                          },
40624                          "__id__": "good_state"
40625                      },
40626                      "salt_|-bad_state_|-bad_state_|-state": {
40627                          "comment": "Run failed on minions: test",
40628                          "name": "bad_state",
40629                          "start_time": "21:35:17.136511",
40630                          "result": false,
40631                          "duration": 197.635,
40632                          "__run_num__": 1,
40633                          "__jid__": "20171130213517202203",
40634                          "__sls__": "test",
40635                          "changes": {
40636                              "ret": {
40637                                  "myminion": {
40638                                      "test_|-test fail with changes_|-test fail with changes_|-fail_with_changes": {
40639                                          "comment": "Failure!",
40640                                          "name": "test fail with changes",
40641                                          "start_time": "21:35:17.326268",
40642                                          "result": false,
40643                                          "duration": 0.509,
40644                                          "__run_num__": 0,
40645                                          "__sls__": "fail_with_changes",
40646                                          "changes": {
40647                                              "testing": {
40648                                                  "new": "Something pretended to change",
40649                                                  "old": "Unchanged"
40650                                              }
40651                                          },
40652                                          "__id__": "test fail with changes"
40653                                      }
40654                                  }
40655                              },
40656                              "out": "highstate"
40657                          },
40658                          "__id__": "bad_state"
40659                      },
40660                      "salt_|-mymod.myfunc_|-mymod.myfunc_|-function": {
40661                          "comment": "Function ran successfully. Function mymod.myfunc ran on myminion.",
40662                          "name": "mymod.myfunc",
40663                          "start_time": "21:35:17.334373",
40664                          "result": true,
40665                          "duration": 151.716,
40666                          "__run_num__": 2,
40667                          "__jid__": "20171130213517361706",
40668                          "__sls__": "test",
40669                          "changes": {
40670                              "ret": {
40671                                  "myminion": true
40672                              },
40673                              "out": "highstate"
40674                          },
40675                          "__id__": "mymod.myfunc"
40676                      },
40677                      "salt_|-mymod.myfunc_false_result-mymod.myfunc_false_result-function": {
40678                          "comment": "Running function mymod.myfunc_false_result failed on minions: myminion. Function mymod.myfunc_false_result ran on myminion.",
40679                          "name": "mymod.myfunc_false_result",
40680                          "start_time": "21:35:17.486625",
40681                          "result": false,
40682                          "duration": 174.241,
40683                          "__run_num__": 3,
40684                          "__jid__": "20171130213517536270",
40685                          "__sls__": "test",
40686                          "changes": {
40687                              "ret": {
40688                                  "myminion": false
40689                              },
40690                              "out": "highstate"
40691                          },
40692                          "__id__": "mymod.myfunc_false_result"
40693                      }
40694                  }
40695              },
40696              "retcode": 1
40697          }
40698
40699       The  2018.3.0 release includes a couple fixes to make parsing this data
40700       easier and more accurate. The first is the ability to set a return code
40701       in  a  custom runner or wheel function, as noted above. The second is a
40702       change to how failures are included in the return data.  Prior  to  the
40703       2018.3.0  release,  minions  that failed a salt.state orchestration job
40704       would show up in the comment field of the return data, in a human-read‐
40705       able  string  that  was not easily parsed. They are now included in the
40706       changes dictionary alongside the minions that succeeded.  In  addition,
40707       salt.function  jobs  which  failed  because  the fail function returned
40708       False used to handle their failures in the  same  way  salt.state  jobs
40709       did, and this has likewise been corrected.
40710
40711   Running States on the Master without a Minion
40712       The  orchestrate  runner  can  be  used to execute states on the master
40713       without using a minion. For example, assume  that  salt://foo.sls  con‐
40714       tains the following SLS:
40715
40716          /etc/foo.conf:
40717            file.managed:
40718              - source: salt://files/foo.conf
40719              - mode: 0600
40720
40721       In  this  case,  running  salt-run  state.orchestrate  foo would be the
40722       equivalent of running a state.sls foo, but it would execute on the mas‐
40723       ter  only,  and  would not require a minion daemon to be running on the
40724       master.
40725
40726       This is not technically orchestration, but it can be useful in  certain
40727       use cases.
40728
40729   Limitations
40730       Only one SLS target can be run at a time using this method, while using
40731       state.sls allows for multiple SLS files to be passed in  a  comma-sepa‐
40732       rated list.
40733

SOLARIS

40735       This  section  contains  details  on  Solaris specific quirks and work‐
40736       arounds.
40737
40738       NOTE:
40739          Solaris refers to both Solaris 10 comaptible platforms like  Solaris
40740          10,  illumos, SmartOS, OmniOS, OpenIndiana,... and Oracle Solaris 11
40741          platforms.
40742
40743   Solaris-specific Behaviour
40744       Salt is capable of managing Solaris systems,  however  due  to  various
40745       differences  between  the  operating systems, there are some things you
40746       need to keep in mind.
40747
40748       This document will contain any quirks that apply across Salt or limita‐
40749       tions in some modules.
40750
40751   FQDN/UQDN
40752       On Solaris platforms the FQDN will not always be properly detected.  If
40753       an IPv6 address  is  configured  pythons  `socket.getfqdn()`  fails  to
40754       return  a  FQDN  and returns the nodename instead. For a full breakdown
40755       see the following issue on github: #37027
40756
40757   Grains
40758       Not all grains are available or some have empty or 0 as  value.  Mostly
40759       grains that are depenend on hardware discovery like: - num_gpus - gpus
40760
40761       Also  some  resolver  related  grains  like:  -  domain - dns:options -
40762       dns:sortlist
40763

SALT SSH

40765   Getting Started
40766       Salt SSH is very easy to use, simply set up a basic roster file of  the
40767       systems  to  connect  to  and run salt-ssh commands in a similar way as
40768       standard salt commands.
40769
40770       · Salt ssh is considered production ready in version 2014.7.0
40771
40772       · Python is required on the remote system (unless using the  -r  option
40773         to send raw ssh commands)
40774
40775       · On  many systems, the salt-ssh executable will be in its own package,
40776         usually named salt-ssh
40777
40778       · The Salt SSH system does not supersede the standard  Salt  communica‐
40779         tion systems, it simply offers an SSH-based alternative that does not
40780         require ZeroMQ and a remote agent. Be aware that since all communica‐
40781         tion  with  Salt  SSH  is executed via SSH it is substantially slower
40782         than standard Salt with ZeroMQ.
40783
40784       · At the moment fileserver operations must be wrapped  to  ensure  that
40785         the  relevant  files  are  delivered with the salt-ssh commands.  The
40786         state module is an exception, which compiles the  state  run  on  the
40787         master,  and in the process finds all the references to salt:// paths
40788         and copies those files down in the same tarball  as  the  state  run.
40789         However, needed fileserver wrappers are still under development.
40790
40791   Salt SSH Roster
40792       The  roster  system  in  Salt  allows  for  remote minions to be easily
40793       defined.
40794
40795       NOTE:
40796          See the SSH roster docs for more details.
40797
40798       Simply create the roster file, the default location  is  /etc/salt/ros‐
40799       ter:
40800
40801          web1: 192.168.42.1
40802
40803       This  is  a very basic roster file where a Salt ID is being assigned to
40804       an IP address. A more elaborate roster can be created:
40805
40806          web1:
40807            host: 192.168.42.1 # The IP addr or DNS hostname
40808            user: fred         # Remote executions will be executed as user fred
40809            passwd: foobarbaz  # The password to use for login, if omitted, keys are used
40810            sudo: True         # Whether to sudo to root, not enabled by default
40811          web2:
40812            host: 192.168.42.2
40813
40814       NOTE:
40815          sudo works only if NOPASSWD is set for user  in  /etc/sudoers:  fred
40816          ALL=(ALL) NOPASSWD: ALL
40817
40818   Deploy ssh key for salt-ssh
40819       By  default, salt-ssh will generate key pairs for ssh, the default path
40820       will be /etc/salt/pki/master/ssh/salt-ssh.rsa. The key generation  hap‐
40821       pens when you run salt-ssh for the first time.
40822
40823       You  can  use  ssh-copy-id, (the OpenSSH key deployment tool) to deploy
40824       keys to your servers.
40825
40826          ssh-copy-id -i /etc/salt/pki/master/ssh/salt-ssh.rsa.pub user@server.demo.com
40827
40828       One could also create a simple shell script, named  salt-ssh-copy-id.sh
40829       as follows:
40830
40831          #!/bin/bash
40832          if [ -z $1 ]; then
40833             echo $0 user@host.com
40834             exit 0
40835          fi
40836          ssh-copy-id -i /etc/salt/pki/master/ssh/salt-ssh.rsa.pub $1
40837
40838       NOTE:
40839          Be certain to chmod +x salt-ssh-copy-id.sh.
40840
40841          ./salt-ssh-copy-id.sh user@server1.host.com
40842          ./salt-ssh-copy-id.sh user@server2.host.com
40843
40844       Once  keys  are  successfully deployed, salt-ssh can be used to control
40845       them.
40846
40847       Alternatively ssh agent forwarding can be used by setting the  priv  to
40848       agent-forwarding.
40849
40850   Calling Salt SSH
40851       NOTE:
40852          salt-ssh on RHEL/CentOS 5
40853
40854          The  salt-ssh  command  requires  at  least python 2.6, which is not
40855          installed by default on RHEL/CentOS 5.  An easy workaround  in  this
40856          situation  is  to  use the -r option to run a raw shell command that
40857          installs python26:
40858
40859              salt-ssh centos-5-minion -r 'yum -y install epel-release ; yum -y install python26'
40860
40861       NOTE:
40862          salt-ssh on systems with Python 3.x
40863
40864          Salt, before the 2017.7.0 release, does not support Python 3.x which
40865          is  the  default  on  for  example  the popular 16.04 LTS release of
40866          Ubuntu. An easy workaround for this scenario is to use the -r option
40867          similar to the example above:
40868
40869              salt-ssh ubuntu-1604-minion -r 'apt update ; apt install -y python-minimal'
40870
40871       The  salt-ssh  command can be easily executed in the same way as a salt
40872       command:
40873
40874          salt-ssh '*' test.ping
40875
40876       Commands with salt-ssh follow the same syntax as the salt command.
40877
40878       The standard salt functions are available! The output is  the  same  as
40879       salt   and   many   of   the  same  flags  are  available.  Please  see
40880       http://docs.saltstack.com/ref/cli/salt-ssh.html for all of  the  avail‐
40881       able options.
40882
40883   Raw Shell Calls
40884       By  default  salt-ssh runs Salt execution modules on the remote system,
40885       but salt-ssh can also execute raw shell commands:
40886
40887          salt-ssh '*' -r 'ifconfig'
40888
40889   States Via Salt SSH
40890       The Salt State system can also be used with salt-ssh. The state  system
40891       abstracts  the  same  interface to the user in salt-ssh as it does when
40892       using standard salt. The intent is that Salt Formulas defined for stan‐
40893       dard salt will work seamlessly with salt-ssh and vice-versa.
40894
40895       The standard Salt States walkthroughs function by simply replacing salt
40896       commands with salt-ssh.
40897
40898   Targeting with Salt SSH
40899       Due to the fact that the targeting approach differs in  salt-ssh,  only
40900       glob  and regex targets are supported as of this writing, the remaining
40901       target systems still need to be implemented.
40902
40903       NOTE:
40904          By default, Grains are settable through salt-ssh. By default,  these
40905          grains will not be persisted across reboots.
40906
40907          See the "thin_dir" setting in Roster documentation for more details.
40908
40909   Configuring Salt SSH
40910       Salt SSH takes its configuration from a master configuration file. Nor‐
40911       mally, this file is in /etc/salt/master. If one wishes to use a custom‐
40912       ized  configuration file, the -c option to Salt SSH facilitates passing
40913       in a directory to look inside for a configuration file named master.
40914
40915   Minion Config
40916       New in version 2015.5.1.
40917
40918
40919       Minion config options can be defined globally using the master configu‐
40920       ration  option  ssh_minion_opts. It can also be defined on a per-minion
40921       basis with the minion_opts entry in the roster.
40922
40923   Running Salt SSH as non-root user
40924       By default, Salt read all the configuration from /etc/salt/. If you are
40925       running  Salt  SSH with a regular user you have to modify some paths or
40926       you will get "Permission denied"  messages.  You  have  to  modify  two
40927       parameters:  pki_dir  and  cachedir.  Those should point to a full path
40928       writable for the user.
40929
40930       It's recommended not to modify /etc/salt for  this  purpose.  Create  a
40931       private  copy  of  /etc/salt  for  the user and run the command with -c
40932       /new/config/path.
40933
40934   Define CLI Options with Saltfile
40935       If you are commonly passing in CLI options to salt-ssh, you can  create
40936       a Saltfile to automatically use these options. This is common if you're
40937       managing several different salt projects on the same server.
40938
40939       So you can cd into a directory that has a Saltfile with  the  following
40940       YAML contents:
40941
40942          salt-ssh:
40943            config_dir: path/to/config/dir
40944            ssh_log_file: salt-ssh.log
40945            ssh_max_procs: 30
40946            ssh_wipe: True
40947
40948       Instead  of  having  to  call  salt-ssh --config-dir=path/to/config/dir
40949       --max-procs=30 --wipe \* test.ping you can call salt-ssh \* test.ping.
40950
40951       Boolean-style options should be specified in their YAML representation.
40952
40953       NOTE:
40954          The option keys specified must match the destination attributes  for
40955          the  options  specified  in the parser salt.utils.parsers.SaltSSHOp‐
40956          tionParser.  For example, in the case of  the  --wipe  command  line
40957          option,  its dest is configured to be ssh_wipe and thus this is what
40958          should be configured in the Saltfile.  Using the names of flags  for
40959          this option, being wipe: True or w: True, will not work.
40960
40961       NOTE:
40962          For  the  Saltfile to be automatically detected it needs to be named
40963          Saltfile with a capital S  and  be  readable  by  the  user  running
40964          salt-ssh.
40965
40966       At last you can create ~/.salt/Saltfile and salt-ssh will automatically
40967       load it by default.
40968
40969   Debugging salt-ssh
40970       One common approach for debugging salt-ssh is to simply use the tarball
40971       that salt ships to the remote machine and call salt-call directly.
40972
40973       To  determine  the  location of salt-call, simply run salt-ssh with the
40974       -ltrace flag and look for a line containing the string, SALT_ARGV. This
40975       contains the salt-call command that salt-ssh attempted to execute.
40976
40977       It is recommended that one modify this command a bit by removing the -l
40978       quiet, --metadata and --output json to get  a  better  idea  of  what's
40979       going on the target system.
40980
40981   Salt Rosters
40982       Salt  rosters  are pluggable systems added in Salt 0.17.0 to facilitate
40983       the salt-ssh system.  The roster system was  created  because  salt-ssh
40984       needs  a means to identify which systems need to be targeted for execu‐
40985       tion.
40986
40987       SEE ALSO:
40988          all-salt.roster
40989
40990       NOTE:
40991          The Roster System is not needed or used in standard Salt because the
40992          master  does not need to be initially aware of target systems, since
40993          the Salt Minion checks itself into the master.
40994
40995       Since the roster system is pluggable, it can  be  easily  augmented  to
40996       attach to any existing systems to gather information about what servers
40997       are presently available and should  be  attached  to  by  salt-ssh.  By
40998       default the roster file is located at /etc/salt/roster.
40999
41000   How Rosters Work
41001       The  roster  system compiles a data structure internally referred to as
41002       targets. The targets is a list of target systems and  attributes  about
41003       how  to connect to said systems. The only requirement for a roster mod‐
41004       ule in Salt is to return the targets data structure.
41005
41006   Targets Data
41007       The information which can be stored in a roster target is  the  follow‐
41008       ing:
41009
41010          <Salt ID>:       # The id to reference the target system with
41011              host:        # The IP address or DNS name of the remote host
41012              user:        # The user to log in as
41013              passwd:      # The password to log in with
41014
41015              # Optional parameters
41016              port:        # The target system's ssh port number
41017              sudo:        # Boolean to run command via sudo
41018              sudo_user:   # Str: Set this to execute Salt as a sudo user other than root.
41019                           # This user must be in the same system group as the remote user
41020                           # that is used to login and is specified above. Alternatively,
41021                           # the user must be a super-user.
41022              tty:         # Boolean: Set this option to True if sudo is also set to
41023                           # True and requiretty is also set on the target system
41024              priv:        # File path to ssh private key, defaults to salt-ssh.rsa
41025                           # The priv can also be set to agent-forwarding to not specify
41026                           # a key, but use ssh agent forwarding
41027              priv_passwd: # Passphrase for ssh private key
41028              timeout:     # Number of seconds to wait for response when establishing
41029                           # an SSH connection
41030              minion_opts: # Dictionary of minion opts
41031              thin_dir:    # The target system's storage directory for Salt
41032                           # components. Defaults to /tmp/salt-<hash>.
41033              cmd_umask:   # umask to enforce for the salt-call command. Should be in
41034                           # octal (so for 0o077 in YAML you would do 0077, or 63)
41035
41036   Target Defaults
41037       The  roster_defaults dictionary in the master config is used to set the
41038       default login variables for minions in the  roster  so  that  the  same
41039       arguments do not need to be passed with commandline arguments.
41040
41041          roster_defaults:
41042            user: daniel
41043            sudo: True
41044            priv: /root/.ssh/id_rsa
41045            tty: True
41046
41047   thin_dir
41048       Salt needs to upload a standalone environment to the target system, and
41049       this defaults to /tmp/salt-<hash>. This directory will  be  cleaned  up
41050       per normal systems operation.
41051
41052       If  you need a persistent Salt environment, for instance to set persis‐
41053       tent grains, this value will need to be changed.
41054

THORIUM COMPLEX REACTOR

41056       NOTE:
41057          Thorium is a provisional feature of Salt and is  subject  to  change
41058          and removal if the feature proves to not be a viable solution.
41059
41060       NOTE:
41061          Thorium was added to Salt as an experimental feature in the 2016.3.0
41062          release, as of 2016.3.0 this feature is considered experimental,  no
41063          guarantees are made for support of any kind yet.
41064
41065       The  original Salt Reactor is based on the idea of listening for a spe‐
41066       cific event and then reacting to it. This model comes with many logical
41067       limitations,  for  instance  it is very difficult (and hacky) to fire a
41068       reaction based on aggregate data or based on multiple events.
41069
41070       The Thorium reactor is intended to alleviate this  problem  in  a  very
41071       elegant  way.   Instead  of  using  extensive jinja routines or complex
41072       python sls files the aggregation of data and the determination of  what
41073       should  run  becomes  isolated to the sls data logic, makes the defini‐
41074       tions much cleaner.
41075
41076   Starting the Thorium Engine
41077       To enable the thorium engine add the  following  configuration  to  the
41078       engines  section  of  your Salt Master or Minion configuration file and
41079       restart the daemon:
41080
41081          engines:
41082            - thorium: {}
41083
41084   Thorium Modules
41085       Because of its specialized nature, Thorium uses its own set of modules.
41086       However,  many  of  these  modules  are  designed to wrap the more com‐
41087       monly-used Salt subsystems. These modules are:
41088
41089       · local: Execution modules
41090
41091       · runner: Runner modules
41092
41093       · wheel: Wheel modules
41094
41095       There are other modules that ship with Thorium as well. Some  of  these
41096       will be highlighted later in this document.
41097
41098   Writing Thorium Formulas
41099       Like  some other Salt subsystems, Thorium uses its own directory struc‐
41100       ture. The default location for this structure is /srv/thorium/, but  it
41101       can be changed using the thorium_roots setting in the master configura‐
41102       tion file.
41103
41104       This would explicitly set the roots to the default:
41105
41106          thorium_roots:
41107            base:
41108              - /srv/thorium
41109
41110       Example thorium_roots configuration:
41111
41112          thorium_roots:
41113            base:
41114              - /etc/salt/thorium
41115
41116       It is also possible to use gitfs with Thorium, using the thoriumenv  or
41117       thorium_top settings.
41118
41119       Example using thorium_top:
41120
41121          thorium_top: salt://thorium/top.sls
41122          gitfs_provider: pygit2
41123
41124          gitfs_remotes:
41125            - git@github.com:user/repo.git:
41126              - name: salt-backend
41127              - root: salt
41128              - base: master
41129            - git@github.com:user/repo.git:
41130              - name: thorium-backend
41131              - root: thorium
41132              - base: master
41133              - mountpoint: salt://thorium
41134
41135       NOTE:
41136          When  using  this  method  don't forget to prepend the mountpoint to
41137          files served by this repo, for example top.sls:
41138
41139              base:
41140                '*':
41141                  - thorium.key_clean
41142
41143       Example using thoriumenv:
41144
41145          thoriumenv: thorium
41146          gitfs_provider: pygit2
41147
41148          gitfs_remotes:
41149            - git@github.com:user/repo.git:
41150              - name: salt-backend
41151              - root: salt
41152              - base: master
41153            - git@github.com:user/repo.git:
41154              - name: thorium-backend
41155              - root: thorium
41156              - saltenv:
41157                - thorium:
41158                  - ref: master
41159
41160       NOTE:
41161          When using this method all state will run under the defined environ‐
41162          ment, for example top.sls:
41163
41164              thorium:
41165                '*':
41166                  - key_clean
41167
41168   The Thorium top.sls File
41169       Thorium uses its own top.sls file, which follows the same convention as
41170       is found in /srv/salt/:
41171
41172          <srv>:
41173            <target>:
41174              - <formula 1>
41175              - <formula 2>
41176              - <etc...>
41177
41178       For instance, a top.sls using a standard base environment and a  single
41179       Thorium formula called key_clean, would look like:
41180
41181          base:
41182            '*':
41183              - key_clean
41184
41185       Take  note  that  the  target in a Thorium top.sls is not used; it only
41186       exists to follow the same convention as other top.sls files. Leave this
41187       set to '*' in your own Thorium top.sls.
41188
41189   Thorium Formula Files
41190       Thorium  SLS  files  are processed by the same state compiler that pro‐
41191       cesses Salt state files. This means that features like requisites, tem‐
41192       plates, and so on are available.
41193
41194       Let's take a look at an example, and then discuss each component of it.
41195       This formula uses Thorium to detect when a minion has  disappeared  and
41196       then  deletes the key from the master when the minion has been gone for
41197       60 seconds:
41198
41199          statreg:
41200            status.reg
41201
41202          keydel:
41203            key.timeout:
41204              - delete: 60
41205              - require:
41206                - status: statreg
41207
41208       There are two stanzas in this formula, whose IDs are statreg  and  key‐
41209       del.  The  first stanza, statreg, tells Thorium to keep track of minion
41210       status beacons in its register. We'll talk more about the register in a
41211       moment.
41212
41213       The  second stanza, keydel, is the one that does the real work. It uses
41214       the key module to apply an expiration (using the timeout function) to a
41215       minion. Because delete is set to 60, this is a 60 second expiration. If
41216       a minion does not check in at least once every 60 seconds, its key will
41217       be deleted from the master. This particular function also allows you to
41218       use reject instead of delete, allowing for  a  minion  to  be  rejected
41219       instead  of  deleted  if it does not check in within the specified time
41220       period.
41221
41222       There is also a require requisite in this stanza. It  states  that  the
41223       key.timeout  function will not be called unless the status.reg function
41224       in the statreg codeblock has been successfully called first.
41225
41226   Thorium Links to Beacons
41227       The above example was added in the 2016.11.0 release of Salt and  makes
41228       use  of  the status beacon also added in the 2016.11.0 release. For the
41229       above Thorium state to function properly you will also need  to  enable
41230       the status beacon in the minion configuration file:
41231
41232          beacons:
41233            status:
41234              - interval: 10
41235
41236       This  will  cause  the minion to use the status beacon to check in with
41237       the master every 10 seconds.
41238
41239   The Thorium Register
41240       In order to keep track of information, Thorium uses an in-memory regis‐
41241       ter (or rather, collection of registers) on the master. These registers
41242       are only populated when told to by a formula, and they normally will be
41243       erased when the master is restarted. It is possible to persist the reg‐
41244       isters to disk, but we'll get to that in a moment.
41245
41246       The example above uses status.reg to populate a register for you, which
41247       is automatically used by the key.timeout function. However, you can set
41248       your own register values as well, using the reg module.
41249
41250       Because Thorium watches the event bus, the reg module  is  designed  to
41251       look for user-specified tags, and then extract data from the payload of
41252       events that match those tags. For instance, the following  stanza  will
41253       look for an event with a tag of my/custom/event:
41254
41255          foo:
41256            reg.list:
41257              - add: bar
41258              - match: my/custom/event
41259
41260       When  such  an event is found, the data found in the payload dictionary
41261       key of bar will be stored in a register called foo. This register  will
41262       store  that  data  in a list. You may also use reg.set to add data to a
41263       set() instead.
41264
41265       If you would like to see a copy of the register as it is stored in mem‐
41266       ory, you can use the file.save function:
41267
41268          myreg:
41269            file.save
41270
41271       In  this  case, each time the register is updated, a copy will be saved
41272       in JSON format at  /var/cache/salt/master/thorium/saves/myreg.  If  you
41273       would  like to see when particular events are added to a list-type reg‐
41274       ister, you may add a stamp option to reg.list (but not  reg.set).  With
41275       the above two stanzas put together, this would look like:
41276
41277          foo:
41278            reg.list:
41279              - add: bar
41280              - match: my/custom/event
41281              - stamp: True
41282
41283          myreg:
41284            file.save
41285
41286       If you would like to only keep a certain number of the most recent reg‐
41287       ister entries, you may also add a prune option  to  reg.list  (but  not
41288       reg.set):
41289
41290          foo:
41291            reg.list:
41292              - add: bar
41293              - match: my/custom/event
41294              - stamp: True
41295              - prune: 50
41296
41297       This  example will only keep the 50 most recent entries in the foo reg‐
41298       ister.
41299
41300   Using Register Data
41301       Putting data in a register is useless if you don't do anything with it.
41302       The  check  module  is  designed to examine register data and determine
41303       whether it matches the given parameters. For instance,  the  check.con‐
41304       tains  function will return True if the given value is contained in the
41305       specified register:
41306
41307          foo:
41308            reg.list:
41309              - add: bar
41310              - match: my/custom/event
41311              - stamp: True
41312              - prune: 50
41313            check.contains:
41314              - value: somedata
41315
41316       Used with a require requisite, we can call one of the  wrapper  modules
41317       and perform an operation. For example:
41318
41319          shell_test:
41320            local.cmd:
41321              - tgt: dufresne
41322              - func: cmd.run
41323              - arg:
41324                - echo 'thorium success' > /tmp/thorium.txt
41325              - require:
41326                - check: foo
41327
41328       This  stanza will only run if the check.contains function under the foo
41329       ID returns true (meaning the match was found).
41330
41331       There are a number of other functions in the  check  module  which  use
41332       different means of comparing values:
41333
41334       · gt: Check whether the register entry is greater than the given value
41335
41336       · gte: Check whether the register entry is greater than or equal to the
41337         given value
41338
41339       · lt: Check whether the register entry is less than the given value
41340
41341       · lte: Check whether the register entry is less than or  equal  to  the
41342         given value
41343
41344       · eq: Check whether the register entry is equal to the given value
41345
41346       · ne: Check whether the register entry is not equal to the given value
41347
41348       There  is also a function called check.event which does not examine the
41349       register. Instead, it looks directly at an event as it is coming in  on
41350       the  event bus, and returns True if that event's tag matches. For exam‐
41351       ple:
41352
41353          salt/foo/*/bar:
41354            check.event
41355
41356          run_remote_ex:
41357            local.cmd:
41358              - tgt: '*'
41359              - func: test.ping
41360              - require:
41361                - check: salt/foo/*/bar
41362
41363       This formula will  look  for  an  event  whose  tag  is  salt/foo/<any‐
41364       thing>/bar and if it comes in, issue a test.ping to all minions.
41365
41366   Register Persistence
41367       It  is  possible  to persist the register data to disk when a master is
41368       stopped gracefully, and reload it from disk when the master  starts  up
41369       again. This functionality is provided by the returner subsystem, and is
41370       enabled whenever any returner containing  a  load_reg  and  a  save_reg
41371       function is used.
41372

SALT CLOUD

41374   Configuration
41375       Salt  Cloud provides a powerful interface to interact with cloud hosts.
41376       This interface  is  tightly  integrated  with  Salt,  and  new  virtual
41377       machines  are  automatically  connected  to your Salt master after cre‐
41378       ation.
41379
41380       Since Salt Cloud is designed to be an automated system, most configura‐
41381       tion is done using the following YAML configuration files:
41382
41383       · /etc/salt/cloud:  The  main  configuration file, contains global set‐
41384         tings that apply to all cloud hosts. See Salt Cloud Configuration.
41385
41386       · /etc/salt/cloud.providers.d/*.conf: Contains settings that  configure
41387         a  specific  cloud host, such as credentials, region settings, and so
41388         on. Since configuration varies significantly between each cloud host,
41389         a separate file should be created for each cloud host. In Salt Cloud,
41390         a provider is synonymous with a cloud host (Amazon EC2,  Google  Com‐
41391         pute Engine, Rackspace, and so on).  See Provider Specifics.
41392
41393       · /etc/salt/cloud.profiles.d/*.conf:  Contains  settings  that define a
41394         specific VM type. A profile defines the systems specs and image,  and
41395         any  other  settings that are specific to this VM type. Each specific
41396         VM type is called a profile, and multiple profiles can be defined  in
41397         a  profile  file.   Each  profile  references  a parent provider that
41398         defines the cloud host in which the VM is created (the provider  set‐
41399         tings  are  in the provider configuration explained above).  Based on
41400         your needs, you might define  different  profiles  for  web  servers,
41401         database servers, and so on. See VM Profiles.
41402
41403   Configuration Inheritance
41404       Configuration  settings are inherited in order from the cloud config =>
41405       providers => profile.  [image]
41406
41407       For example, if you wanted to  use  the  same  image  for  all  virtual
41408       machines for a specific provider, the image name could be placed in the
41409       provider file. This value is inherited by all profiles  that  use  that
41410       provider, but is overridden if a image name is defined in the profile.
41411
41412       Most  configuration  settings can be defined in any file, the main dif‐
41413       ference being how that setting is inherited.
41414
41415   QuickStart
41416       The Salt Cloud Quickstart walks you through defining a provider,  a  VM
41417       profile, and shows you how to create virtual machines using Salt Cloud.
41418
41419       Note  that  if  you  installed Salt via Salt Bootstrap, it may not have
41420       automatically installed salt-cloud for  you.  Use  your  distribution's
41421       package  manager  to  install the salt-cloud package from the same repo
41422       that you used to install Salt.  These repos will automatically be setup
41423       by Salt Bootstrap.
41424
41425       Alternatively, the -L option can be passed to the Salt Bootstrap script
41426       when installing Salt. The -L option will  install  salt-cloud  and  the
41427       required libcloud package.
41428
41429   Using Salt Cloud
41430   salt-cloud
41431       Provision virtual machines in the cloud with Salt
41432
41433   Synopsis
41434          salt-cloud -m /etc/salt/cloud.map
41435
41436          salt-cloud -m /etc/salt/cloud.map NAME
41437
41438          salt-cloud -m /etc/salt/cloud.map NAME1 NAME2
41439
41440          salt-cloud -p PROFILE NAME
41441
41442          salt-cloud -p PROFILE NAME1 NAME2 NAME3 NAME4 NAME5 NAME6
41443
41444   Description
41445       Salt  Cloud is the system used to provision virtual machines on various
41446       public clouds via a cleanly controlled profile and mapping system.
41447
41448   Options
41449       --version
41450              Print the version of Salt that is running.
41451
41452       --versions-report
41453              Show program's dependencies and version number, and then exit
41454
41455       -h, --help
41456              Show the help message and exit
41457
41458       -c CONFIG_DIR, --config-dir=CONFIG_dir
41459              The location of the Salt configuration directory. This directory
41460              contains  the  configuration  files for Salt master and minions.
41461              The default location on most systems is /etc/salt.
41462
41463   Execution Options
41464       -L LOCATION, --location=LOCATION
41465              Specify which region to connect to.
41466
41467       -a ACTION, --action=ACTION
41468              Perform an action that may be specific to this  cloud  provider.
41469              This  argument  requires one or more instance names to be speci‐
41470              fied.
41471
41472       -f <FUNC-NAME> <PROVIDER>, --function=<FUNC-NAME> <PROVIDER>
41473              Perform an function that may be specific to this cloud provider,
41474              that  does  not  apply  to an instance. This argument requires a
41475              provider to be specified (i.e.: nova).
41476
41477       -p PROFILE, --profile=PROFILE
41478              Select a single profile to build the named cloud VMs  from.  The
41479              profile must be defined in the specified profiles file.
41480
41481       -m MAP, --map=MAP
41482              Specify  a  map  file to use. If used without any other options,
41483              this option will ensure that all of the mapped VMs are  created.
41484              If the named VM already exists then it will be skipped.
41485
41486       -H, --hard
41487              When  specifying  a  map file, the default behavior is to ensure
41488              that all of the VMs specified in the map file  are  created.  If
41489              the  --hard option is set, then any VMs that exist on configured
41490              cloud providers that are not specified in the map file  will  be
41491              destroyed.  Be  advised that this can be a destructive operation
41492              and should be used with care.
41493
41494       -d, --destroy
41495              Pass in the name(s) of VMs to destroy,  salt-cloud  will  search
41496              the  configured  cloud  providers  for  the  specified names and
41497              destroy the VMs. Be advised that this is a destructive operation
41498              and  should  be  used with care. Can be used in conjunction with
41499              the -m option to specify a map of VMs to be deleted.
41500
41501       -P, --parallel
41502              Normally when building many cloud VMs they  are  executed  seri‐
41503              ally.  The  -P option will run each cloud vm build in a separate
41504              process allowing for large groups of VMs to be build at once.
41505
41506              Be advised that some cloud provider's systems don't seem  to  be
41507              well  suited for this influx of vm creation. When creating large
41508              groups of VMs watch the cloud provider carefully.
41509
41510       -u, --update-bootstrap
41511              Update salt-bootstrap to the latest stable bootstrap release.
41512
41513       -y, --assume-yes
41514              Default yes in answer to all confirmation questions.
41515
41516       -k, --keep-tmp
41517              Do not remove files from /tmp/ after deploy.sh finishes.
41518
41519       --show-deploy-args
41520              Include the options used  to  deploy  the  minion  in  the  data
41521              returned.
41522
41523       --script-args=SCRIPT_ARGS
41524              Script  arguments to be fed to the bootstrap script when deploy‐
41525              ing the VM.
41526
41527   Query Options
41528       -Q, --query
41529              Execute a query and return some information about the nodes run‐
41530              ning on configured cloud providers
41531
41532       -F, --full-query
41533              Execute  a  query  and print out all available information about
41534              all cloud VMs.  Can be used in conjunction with  -m  to  display
41535              only information about the specified map.
41536
41537       -S, --select-query
41538              Execute  a  query  and  print out selected information about all
41539              cloud VMs.  Can be used in conjunction with -m to  display  only
41540              information about the specified map.
41541
41542       --list-providers
41543              Display a list of configured providers.
41544
41545       --list-profiles
41546              New in version 2014.7.0.
41547
41548
41549              Display  a list of configured profiles. Pass in a cloud provider
41550              to view the provider's associated profiles,  such  as  digitalo‐
41551              cean, or pass in all to list all the configured profiles.
41552
41553   Cloud Providers Listings
41554       --list-locations=LIST_LOCATIONS
41555              Display  a  list  of  locations  available  in  configured cloud
41556              providers. Pass the cloud provider that available locations  are
41557              desired  on,  aka  "linode", or pass "all" to list locations for
41558              all configured cloud providers
41559
41560       --list-images=LIST_IMAGES
41561              Display  a  list  of  images  available  in   configured   cloud
41562              providers.  Pass  the  cloud  provider that available images are
41563              desired on, aka "linode", or pass "all" to list images  for  all
41564              configured cloud providers
41565
41566       --list-sizes=LIST_SIZES
41567              Display a list of sizes available in configured cloud providers.
41568              Pass the cloud provider that available sizes are desired on, aka
41569              "AWS",  or  pass  "all"  to  list sizes for all configured cloud
41570              providers
41571
41572   Cloud Credentials
41573       --set-password=<USERNAME> <PROVIDER>
41574              Configure password for a cloud  provider  and  save  it  to  the
41575              keyring.   PROVIDER  can  be specified with or without a driver,
41576              for example: "--set-password bob  rackspace"  or  more  specific
41577              "--set-password bob rackspace:openstack" DEPRECATED!
41578
41579   Output Options
41580       --out  Pass  in an alternative outputter to display the return of data.
41581              This outputter can be any of the available outputters:
41582                 grains, highstate, json, key,  overstatestage,  pprint,  raw,
41583                 txt, yaml
41584
41585              Some  outputters  are formatted only for data returned from spe‐
41586              cific functions; for instance, the  grains  outputter  will  not
41587              work for non-grains data.
41588
41589              If  an  outputter  is used that does not support the data passed
41590              into it, then Salt will fall back on the  pprint  outputter  and
41591              display the return data using the Python pprint standard library
41592              module.
41593
41594              NOTE:
41595                 If using --out=json, you will probably want --static as well.
41596                 Without  the  static  option,  you  will  get a separate JSON
41597                 string per minion which makes JSON output invalid as a whole.
41598                 This  is  due to using an iterative outputter. So if you want
41599                 to feed it to a JSON parser, use --static as well.
41600
41601       --out-indent OUTPUT_INDENT, --output-indent OUTPUT_INDENT
41602              Print the output indented by the provided value in spaces. Nega‐
41603              tive  values  disable indentation. Only applicable in outputters
41604              that support indentation.
41605
41606       --out-file=OUTPUT_FILE, --output-file=OUTPUT_FILE
41607              Write the output to the specified file.
41608
41609       --out-file-append, --output-file-append
41610              Append the output to the specified file.
41611
41612       --no-color
41613              Disable all colored output
41614
41615       --force-color
41616              Force colored output
41617
41618              NOTE:
41619                 When using colored output the color codes are as follows:
41620
41621                 green denotes success,  red  denotes  failure,  blue  denotes
41622                 changes  and  success  and  yellow  denotes a expected future
41623                 change in configuration.
41624
41625       --state-output=STATE_OUTPUT, --state_output=STATE_OUTPUT
41626              Override the configured state_output value  for  minion  output.
41627              One of 'full', 'terse', 'mixed', 'changes' or 'filter'. Default:
41628              'none'.
41629
41630       --state-verbose=STATE_VERBOSE, --state_verbose=STATE_VERBOSE
41631              Override the configured state_verbose value for  minion  output.
41632              Set to True or False. Default: none.
41633
41634   Examples
41635       To create 4 VMs named web1, web2, db1, and db2 from specified profiles:
41636
41637          salt-cloud -p fedora_rackspace web1 web2 db1 db2
41638
41639       To read in a map file and create all VMs specified therein:
41640
41641          salt-cloud -m /path/to/cloud.map
41642
41643       To read in a map file and create all VMs specified therein in parallel:
41644
41645          salt-cloud -m /path/to/cloud.map -P
41646
41647       To delete any VMs specified in the map file:
41648
41649          salt-cloud -m /path/to/cloud.map -d
41650
41651       To delete any VMs NOT specified in the map file:
41652
41653          salt-cloud -m /path/to/cloud.map -H
41654
41655       To display the status of all VMs specified in the map file:
41656
41657          salt-cloud -m /path/to/cloud.map -Q
41658
41659   See also
41660       salt-cloud(7) salt(7) salt-master(1) salt-minion(1)
41661
41662   Salt Cloud basic usage
41663       Salt  Cloud  needs, at least, one configured Provider and Profile to be
41664       functional.
41665
41666   Creating a VM
41667       To create a VM with salt cloud, use command:
41668
41669          salt-cloud -p <profile> name_of_vm
41670
41671       Assuming there is a profile configured as following:
41672
41673          fedora_rackspace:
41674              provider: my-rackspace-config
41675              image: Fedora 17
41676              size: 256 server
41677              script: bootstrap-salt
41678
41679       Then, the command to create new VM named fedora_http_01 is:
41680
41681          salt-cloud -p fedora_rackspace fedora_http_01
41682
41683   Destroying a VM
41684       To destroy a created-by-salt-cloud VM, use command:
41685
41686          salt-cloud -d name_of_vm
41687
41688       For example, to delete the VM created on above example, use:
41689
41690          salt-cloud -d fedora_http_01
41691
41692   VM Profiles
41693       Salt cloud designates virtual machines inside the profile configuration
41694       file.   The profile configuration file defaults to /etc/salt/cloud.pro‐
41695       files and is a yaml configuration. The syntax for declaring profiles is
41696       simple:
41697
41698          fedora_rackspace:
41699              provider: my-rackspace-config
41700              image: Fedora 17
41701              size: 256 server
41702              script: bootstrap-salt
41703
41704       It  should  be noted that the script option defaults to bootstrap-salt,
41705       and does not normally need to be specified. Further  examples  in  this
41706       document will not show the script option.
41707
41708       A  few  key  pieces  of  information need to be declared and can change
41709       based on the cloud provider. A number of additional parameters can also
41710       be inserted:
41711
41712          centos_rackspace:
41713            provider: my-rackspace-config
41714            image: CentOS 6.2
41715            size: 1024 server
41716            minion:
41717              master: salt.example.com
41718              append_domain: webs.example.com
41719              grains:
41720                role: webserver
41721
41722       The image must be selected from available images. Similarly, sizes must
41723       be selected from the list of sizes. To get a list of  available  images
41724       and sizes use the following command:
41725
41726          salt-cloud --list-images openstack
41727          salt-cloud --list-sizes openstack
41728
41729       Some  parameters  can be specified in the main Salt cloud configuration
41730       file and then are applied to all cloud profiles. For instance if only a
41731       single  cloud  provider  is  being used then the provider option can be
41732       declared in the Salt cloud configuration file.
41733
41734   Multiple Configuration Files
41735       In addition to /etc/salt/cloud.profiles, profiles can also be specified
41736       in  any  file  matching cloud.profiles.d/*conf which is a sub-directory
41737       relative to the profiles configuration file(with the  above  configura‐
41738       tion  file  as  an  example,  /etc/salt/cloud.profiles.d/*.conf).  This
41739       allows for more extensible configuration, and plays nicely with various
41740       configuration management tools as well as version control systems.
41741
41742   Larger Example
41743          rhel_ec2:
41744            provider: my-ec2-config
41745            image: ami-e565ba8c
41746            size: t1.micro
41747            minion:
41748              cheese: edam
41749
41750          ubuntu_ec2:
41751            provider: my-ec2-config
41752            image: ami-7e2da54e
41753            size: t1.micro
41754            minion:
41755              cheese: edam
41756
41757          ubuntu_rackspace:
41758            provider: my-rackspace-config
41759            image: Ubuntu 12.04 LTS
41760            size: 256 server
41761            minion:
41762              cheese: edam
41763
41764          fedora_rackspace:
41765            provider: my-rackspace-config
41766            image: Fedora 17
41767            size: 256 server
41768            minion:
41769              cheese: edam
41770
41771          cent_linode:
41772            provider: my-linode-config
41773            image: CentOS 6.2 64bit
41774            size: Linode 512
41775
41776          cent_gogrid:
41777            provider: my-gogrid-config
41778            image: 12834
41779            size: 512MB
41780
41781          cent_joyent:
41782            provider: my-joyent-config
41783            image: centos-7
41784            size: g4-highram-16G
41785
41786   Cloud Map File
41787       A  number  of options exist when creating virtual machines. They can be
41788       managed directly from profiles and the command  line  execution,  or  a
41789       more  complex map file can be created. The map file allows for a number
41790       of virtual machines to be created and  associated  with  specific  pro‐
41791       files.  The  map  file  is designed to be run once to create these more
41792       complex scenarios using salt-cloud.
41793
41794       Map files have a simple format, specify a profile and then  a  list  of
41795       virtual machines to make from said profile:
41796
41797          fedora_small:
41798            - web1
41799            - web2
41800            - web3
41801          fedora_high:
41802            - redis1
41803            - redis2
41804            - redis3
41805          cent_high:
41806            - riak1
41807            - riak2
41808            - riak3
41809
41810       This  map  file  can  then  be  called to roll out all of these virtual
41811       machines. Map files are called from the salt-cloud command with the  -m
41812       option:
41813
41814          $ salt-cloud -m /path/to/mapfile
41815
41816       Remember, that as with direct profile provisioning the -P option can be
41817       passed to create the virtual machines in parallel:
41818
41819          $ salt-cloud -m /path/to/mapfile -P
41820
41821       NOTE:
41822          Due to limitations in the GoGrid API,  instances  cannot  be  provi‐
41823          sioned  in parallel with the GoGrid driver. Map files will work with
41824          GoGrid, but the -P argument should not be used on  maps  referencing
41825          GoGrid instances.
41826
41827       A map file can also be enforced to represent the total state of a cloud
41828       deployment by using the --hard option. When using the hard  option  any
41829       vms that exist but are not specified in the map file will be destroyed:
41830
41831          $ salt-cloud -m /path/to/mapfile -P -H
41832
41833       Be  careful with this argument, it is very dangerous! In fact, it is so
41834       dangerous that in order to use it, you must explicitly enable it in the
41835       main configuration file.
41836
41837          enable_hard_maps: True
41838
41839       A map file can include grains and minion configuration options:
41840
41841          fedora_small:
41842            - web1:
41843                minion:
41844                  log_level: debug
41845                grains:
41846                  cheese: tasty
41847                  omelet: du fromage
41848            - web2:
41849                minion:
41850                  log_level: warn
41851                grains:
41852                  cheese: more tasty
41853                  omelet: with peppers
41854
41855       Any  top  level data element from your profile may be overridden in the
41856       map file:
41857
41858          fedora_small:
41859            - web1:
41860                size: t2.micro
41861            - web2:
41862                size: t2.nano
41863
41864       As of Salt 2017.7.0, nested elements are merged, and can can be  speci‐
41865       fied  individually without having to repeat the complete definition for
41866       each top level data element. In this example a separate MAC is assigned
41867       to each VMware instance while inheriting device parameters for for disk
41868       and network configuration:
41869
41870          nyc-vm:
41871            - db1:
41872                devices:
41873                  network:
41874                    Network Adapter 1:
41875                      mac: '44:44:44:44:44:41'
41876            - db2:
41877                devices:
41878                  network:
41879                    Network Adapter 1:
41880                      mac: '44:44:44:44:44:42'
41881
41882       A map file may also be used with the various query options:
41883
41884          $ salt-cloud -m /path/to/mapfile -Q
41885          {'ec2': {'web1': {'id': 'i-e6aqfegb',
41886                               'image': None,
41887                               'private_ips': [],
41888                               'public_ips': [],
41889                               'size': None,
41890                               'state': 0}},
41891                   'web2': {'Absent'}}
41892
41893       ...or with the delete option:
41894
41895          $ salt-cloud -m /path/to/mapfile -d
41896          The following virtual machines are set to be destroyed:
41897            web1
41898            web2
41899
41900          Proceed? [N/y]
41901
41902       WARNING:
41903          Specifying Nodes with Maps on the Command Line Specifying  the  name
41904          of  a node or nodes with the maps options on the command line is not
41905          supported. This is  especially  important  to  remember  when  using
41906          --destroy  with maps; salt-cloud will ignore any arguments passed in
41907          which are  not  directly  relevant  to  the  map  file.  When  using
41908          ``--destroy``  with  a  map,  every  node  in  the  map file will be
41909          deleted!  Maps don't provide any useful information  for  destroying
41910          individual  nodes,  and  should not be used to destroy a subset of a
41911          map.
41912
41913   Setting up New Salt Masters
41914       Bootstrapping a new master in the map is as simple as:
41915
41916          fedora_small:
41917            - web1:
41918                make_master: True
41919            - web2
41920            - web3
41921
41922       Notice that ALL bootstrapped minions from the map will  answer  to  the
41923       newly created salt-master.
41924
41925       To  make  any  of  the bootstrapped minions answer to the bootstrapping
41926       salt-master as opposed to the newly created salt-master, as an example:
41927
41928          fedora_small:
41929            - web1:
41930                make_master: True
41931                minion:
41932                  master: <the local master ip address>
41933                  local_master: True
41934            - web2
41935            - web3
41936
41937       The above says the minion running  on  the  newly  created  salt-master
41938       responds  to  the  local master, ie, the master used to bootstrap these
41939       VMs.
41940
41941       Another example:
41942
41943          fedora_small:
41944            - web1:
41945                make_master: True
41946            - web2
41947            - web3:
41948                minion:
41949                  master: <the local master ip address>
41950                  local_master: True
41951
41952       The above example makes the web3 minion answer to the local master, not
41953       the newly created master.
41954
41955   Using Direct Map Data
41956       When  using  modules that access the CloudClient directly (notably, the
41957       cloud execution and runner modules), it is possible to pass in the con‐
41958       tents  of  a  map  file,  rather than a path to the location of the map
41959       file.
41960
41961       Normally when using these modules, the path to the map file  is  passed
41962       in using:
41963
41964          salt-run cloud.map_run /path/to/cloud.map
41965
41966       To pass in the actual map data, use the map_data argument:
41967
41968          salt-run cloud.map_run map_data='{"centos7": [{"saltmaster": {"minion": \
41969              {"transport": "tcp"}, "make_master": true, "master": {"transport": \
41970              "tcp"}}}, {"minion001": {"minion": {"transport": "tcp"}}}]}'
41971
41972   Cloud Actions
41973       Once  a  VM has been created, there are a number of actions that can be
41974       performed on it. The "reboot" action can be used across all  providers,
41975       but  all  other actions are specific to the cloud provider. In order to
41976       perform an action, you may specify it from the command line,  including
41977       the name(s) of the VM to perform the action on:
41978
41979          $ salt-cloud -a reboot vm_name
41980          $ salt-cloud -a reboot vm1 vm2 vm2
41981
41982       Or  you  may specify a map which includes all VMs to perform the action
41983       on:
41984
41985          $ salt-cloud -a reboot -m /path/to/mapfile
41986
41987       The following is an example list  of  actions  currently  supported  by
41988       salt-cloud:
41989
41990          all providers:
41991              - reboot
41992          ec2:
41993              - start
41994              - stop
41995          joyent:
41996              - stop
41997          linode:
41998              - start
41999              - stop
42000
42001       Another  useful  reference  for  viewing more salt-cloud actions is the
42002       Salt Cloud Feature Matrix.
42003
42004   Cloud Functions
42005       Cloud functions work much the same way as cloud  actions,  except  that
42006       they  don't  perform an operation on a specific instance, and so do not
42007       need a machine name to be specified. However,  since  they  perform  an
42008       operation  on  a  specific cloud provider, that provider must be speci‐
42009       fied.
42010
42011          $ salt-cloud -f show_image ec2 image=ami-fd20ad94
42012
42013       There are three universal salt-cloud functions that are extremely  use‐
42014       ful for gathering information about instances on a provider basis:
42015
42016       · list_nodes:  Returns some general information about the instances for
42017         the given provider.
42018
42019       · list_nodes_full: Returns all information about the instances for  the
42020         given provider.
42021
42022       · list_nodes_select: Returns select information about the instances for
42023         the given provider.
42024
42025          $ salt-cloud -f list_nodes linode
42026          $ salt-cloud -f list_nodes_full linode
42027          $ salt-cloud -f list_nodes_select linode
42028
42029       Another useful reference for viewing salt-cloud functions is  the  Salt
42030       Cloud Feature Matrix.
42031
42032   Core Configuration
42033   Install Salt Cloud
42034       Salt  Cloud  is  now  part of Salt proper.  It was merged in as of Salt
42035       version 2014.1.0.
42036
42037       On Ubuntu, install Salt Cloud by using following command:
42038
42039          sudo add-apt-repository ppa:saltstack/salt
42040          sudo apt-get update
42041          sudo apt-get install salt-cloud
42042
42043       If using  Salt  Cloud  on  macOS,  curl-ca-bundle  must  be  installed.
42044       Presently,  this package is not available via brew, but it is available
42045       using MacPorts:
42046
42047          sudo port install curl-ca-bundle
42048
42049       Salt Cloud depends on apache-libcloud.  Libcloud can be  installed  via
42050       pip with pip install apache-libcloud.
42051
42052   Installing Salt Cloud for development
42053       Installing Salt for development enables Salt Cloud development as well,
42054       just make sure apache-libcloud is installed as per above paragraph.
42055
42056       See these instructions: Installing Salt for development.
42057
42058   Core Configuration
42059       A number of core configuration options and some options that are global
42060       to  the  VM  profiles  can  be  set in the cloud configuration file. By
42061       default this file is located at /etc/salt/cloud.
42062
42063   Thread Pool Size
42064       When salt cloud is operating in parallel mode via the -P argument,  you
42065       can  control the thread pool size by specifying the pool_size parameter
42066       with a positive integer value.
42067
42068       By default, the thread pool size will be set to the number of VMs  that
42069       salt cloud is operating on.
42070
42071          pool_size: 10
42072
42073   Minion Configuration
42074       The  default  minion configuration is set up in this file. Minions cre‐
42075       ated by salt-cloud derive their configuration from this  file.   Almost
42076       all parameters found in Configuring the Salt Minion can be used here.
42077
42078          minion:
42079            master: saltmaster.example.com
42080
42081       In particular, this is the location to specify the location of the salt
42082       master and its listening port, if the port is not set to the default.
42083
42084       Similar to most  other  settings,  Minion  configuration  settings  are
42085       inherited  across  configuration files. For example, the master setting
42086       might be contained in the main cloud configuration file as demonstrated
42087       above,  but  additional  settings can be placed in the provider or pro‐
42088       file:
42089
42090          ec2-web:
42091            size: t1.micro
42092            minion:
42093              environment: test
42094              startup_states: sls
42095              sls_list:
42096                - web
42097
42098       When salt cloud creates a new minon, it  can  automatically  add  grain
42099       information  to  the  minion configuration file identifying the sources
42100       originally used to define it.
42101
42102       The generated grain information will appear similar to:
42103
42104          grains:
42105            salt-cloud:
42106              driver: ec2
42107              provider: my_ec2:ec2
42108              profile: ec2-web
42109
42110       The generation of the salt-cloud grain can be suppressed by the  option
42111       enable_cloud_grains: 'False' in the cloud configuration file.
42112
42113   Cloud Configuration Syntax
42114       The data specific to interacting with public clouds is set up here.
42115
42116       Cloud  provider  configuration settings can live in several places. The
42117       first is in /etc/salt/cloud:
42118
42119          # /etc/salt/cloud
42120          providers:
42121            my-aws-migrated-config:
42122              id: HJGRYCILJLKJYG
42123              key: 'kdjgfsgm;woormgl/aserigjksjdhasdfgn'
42124              keyname: test
42125              securitygroup: quick-start
42126              private_key: /root/test.pem
42127              driver: ec2
42128
42129       Cloud   provider   configuration   data   can   also   be   housed   in
42130       /etc/salt/cloud.providers        or       any       file       matching
42131       /etc/salt/cloud.providers.d/*.conf. All files in any of these locations
42132       will be parsed for cloud provider data.
42133
42134       Using the example configuration above:
42135
42136          # /etc/salt/cloud.providers
42137          # or could be /etc/salt/cloud.providers.d/*.conf
42138          my-aws-config:
42139            id: HJGRYCILJLKJYG
42140            key: 'kdjgfsgm;woormgl/aserigjksjdhasdfgn'
42141            keyname: test
42142            securitygroup: quick-start
42143            private_key: /root/test.pem
42144            driver: ec2
42145
42146       NOTE:
42147          Salt  Cloud  provider  configurations  within /etc/cloud.provider.d/
42148          should not specify the providers starting key.
42149
42150       It is also possible to have multiple cloud configuration blocks  within
42151       the same alias block.  For example:
42152
42153          production-config:
42154            - id: HJGRYCILJLKJYG
42155              key: 'kdjgfsgm;woormgl/aserigjksjdhasdfgn'
42156              keyname: test
42157              securitygroup: quick-start
42158              private_key: /root/test.pem
42159              driver: ec2
42160
42161            - user: example_user
42162              apikey: 123984bjjas87034
42163              driver: rackspace
42164
42165       However, using this configuration method requires a change with profile
42166       configuration blocks.  The provider alias needs to  have  the  provider
42167       key value appended as in the following example:
42168
42169          rhel_aws_dev:
42170            provider: production-config:ec2
42171            image: ami-e565ba8c
42172            size: t1.micro
42173
42174          rhel_aws_prod:
42175            provider: production-config:ec2
42176            image: ami-e565ba8c
42177            size: High-CPU Extra Large Instance
42178
42179          database_prod:
42180            provider: production-config:rackspace
42181            image: Ubuntu 12.04 LTS
42182            size: 256 server
42183
42184       Notice  that  because  of  the multiple entries, one has to be explicit
42185       about the provider alias and name,  from  the  above  example,  produc‐
42186       tion-config: ec2.
42187
42188       This  data  interactions  with  the  salt-cloud  binary  regarding  its
42189       --list-location, --list-images, and --list-sizes which  needs  a  cloud
42190       provider  as  an  argument.  The argument used should be the configured
42191       cloud provider alias. If  the  provider  alias  has  multiple  entries,
42192       <provider-alias>: <provider-name> should be used.
42193
42194       To allow for a more extensible configuration, --providers-config, which
42195       defaults to /etc/salt/cloud.providers, was added to the cli parser.  It
42196       allows  for  the  providers'  configuration  to  be added on a per-file
42197       basis.
42198
42199   Pillar Configuration
42200       It is possible to configure cloud providers using pillars. This is only
42201       used  when  inside  the  cloud  module. You can setup a variable called
42202       cloud that contains your profile, provider, and map to pass that infor‐
42203       mation to the cloud servers instead of having to copy the full configu‐
42204       ration to every minion. In your pillar file, you  would  use  something
42205       like this:
42206
42207          cloud:
42208            ssh_key_name: saltstack
42209            ssh_key_file: /root/.ssh/id_rsa
42210            update_cachedir: True
42211            diff_cache_events: True
42212
42213            providers:
42214              my-openstack:
42215                driver: openstack
42216                region_name: ORD
42217                cloud: mycloud
42218
42219            profiles:
42220              ubuntu-openstack:
42221                provider: my-openstack
42222                size: ds512M
42223                image: CentOS 7
42224                script_args: git develop
42225
42226            maps:
42227              my-dev-map:
42228                ubuntu-openstack:
42229                  - dev-test01
42230                  - dev-test02
42231                  - dev-test03
42232                  - dev-test04
42233              my-prd-map:
42234                ubuntu-openstack:
42235                  - prd-web01
42236                  - prd-web02
42237                      minion:
42238                        id: custom-minion-id-app1-stack1-frontend
42239                      grains:
42240                        roles:
42241                          - webserver
42242                        deployment: datacenter4-openstack
42243                  - prod-db01
42244                  - prod-db02
42245
42246   Cloud Configurations
42247   Scaleway
42248       To  use  Salt Cloud with Scaleway, you need to get an access key and an
42249       API token. API tokens  are  unique  identifiers  associated  with  your
42250       Scaleway account.  To retrieve your access key and API token, log-in to
42251       the Scaleway control panel, open the pull-down  menu  on  your  account
42252       name and click on "My Credentials" link.
42253
42254       If you do not have API token you can create one by clicking the "Create
42255       New Token" button on the right corner.
42256
42257          my-scaleway-config:
42258            access_key: 15cf404d-4560-41b1-9a0c-21c3d5c4ff1f
42259            token: a7347ec8-5de1-4024-a5e3-24b77d1ba91d
42260            driver: scaleway
42261
42262       NOTE:
42263          In the cloud profile that uses this provider configuration, the syn‐
42264          tax  for  the  provider  required field would be provider: my-scale‐
42265          way-config.
42266
42267   Rackspace
42268       Rackspace cloud requires two  configuration  options;  a  user  and  an
42269       apikey:
42270
42271          my-rackspace-config:
42272            user: example_user
42273            apikey: 123984bjjas87034
42274            driver: rackspace
42275
42276       NOTE:
42277          In the cloud profile that uses this provider configuration, the syn‐
42278          tax  for  the   provider   required   field   would   be   provider:
42279          my-rackspace-config.
42280
42281   Amazon AWS
42282       A number of configuration options are required for Amazon AWS including
42283       id, key, keyname, securitygroup, and private_key:
42284
42285          my-aws-quick-start:
42286            id: HJGRYCILJLKJYG
42287            key: 'kdjgfsgm;woormgl/aserigjksjdhasdfgn'
42288            keyname: test
42289            securitygroup: quick-start
42290            private_key: /root/test.pem
42291            driver: ec2
42292
42293          my-aws-default:
42294            id: HJGRYCILJLKJYG
42295            key: 'kdjgfsgm;woormgl/aserigjksjdhasdfgn'
42296            keyname: test
42297            securitygroup: default
42298            private_key: /root/test.pem
42299            driver: ec2
42300
42301       NOTE:
42302          In the cloud profile that uses this provider configuration, the syn‐
42303          tax  for  the  provider  required  field  would  be either provider:
42304          my-aws-quick-start or provider: my-aws-default.
42305
42306   Linode
42307       Linode requires a single API key, but the default  root  password  also
42308       needs to be set:
42309
42310          my-linode-config:
42311            apikey: asldkgfakl;sdfjsjaslfjaklsdjf;askldjfaaklsjdfhasldsadfghdkf
42312            password: F00barbaz
42313            ssh_pubkey: ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKHEOLLbeXgaqRQT9NBAopVz366SdYc0KKX33vAnq+2R user@host
42314            ssh_key_file: ~/.ssh/id_ed25519
42315            driver: linode
42316
42317       The password needs to be 8 characters and contain lowercase, uppercase,
42318       and numbers.
42319
42320       NOTE:
42321          In the cloud profile that uses this provider configuration, the syn‐
42322          tax  for  the  provider  required  field  would be provider: my-lin‐
42323          ode-config
42324
42325   Joyent Cloud
42326       The Joyent cloud requires three configuration parameters: The  username
42327       and  password  that  are used to log into the Joyent system, as well as
42328       the location of the private SSH key associated with the Joyent account.
42329       The  SSH  key  is  needed  to  send the provisioning commands up to the
42330       freshly created virtual machine.
42331
42332          my-joyent-config:
42333            user: fred
42334            password: saltybacon
42335            private_key: /root/joyent.pem
42336            driver: joyent
42337
42338       NOTE:
42339          In the cloud profile that uses this provider configuration, the syn‐
42340          tax   for   the   provider   required   field   would  be  provider:
42341          my-joyent-config
42342
42343   GoGrid
42344       To use Salt Cloud with GoGrid, log into the GoGrid  web  interface  and
42345       create  an  API key. Do this by clicking on "My Account" and then going
42346       to the API Keys tab.
42347
42348       The apikey and the sharedsecret configuration parameters need to be set
42349       in the configuration file to enable interfacing with GoGrid:
42350
42351          my-gogrid-config:
42352            apikey: asdff7896asdh789
42353            sharedsecret: saltybacon
42354            driver: gogrid
42355
42356       NOTE:
42357          In the cloud profile that uses this provider configuration, the syn‐
42358          tax  for  the   provider   required   field   would   be   provider:
42359          my-gogrid-config.
42360
42361   OpenStack
42362       Using   Salt   for   OpenStack   uses   the  shade  <https://docs.open
42363       stack.org/shade/latest/> driver managed by the openstack-infra team.
42364
42365       This driver can be configured using the /etc/openstack/clouds.yml  file
42366       with os-client-config <https://docs.openstack.org/os-client-config/lat
42367       est/>
42368
42369          myopenstack:
42370            driver: openstack
42371            region_name: RegionOne
42372            cloud: mycloud
42373
42374       Or by just configuring the  same  auth  block  directly  in  the  cloud
42375       provider config.
42376
42377          myopenstack:
42378            driver: openstack
42379            region_name: RegionOne
42380            auth:
42381              username: 'demo'
42382              password: secret
42383              project_name: 'demo'
42384              auth_url: 'http://openstack/identity'
42385
42386       Both  of  these  methods  support  using the vendor <https://docs.open
42387       stack.org/os-client-config/latest/user/vendor-support.html> options.
42388
42389       For more information, look at Openstack Cloud Driver Docs
42390
42391   DigitalOcean
42392       Using Salt for DigitalOcean requires a client_key and an api_key. These
42393       can  be  found  in the DigitalOcean web interface, in the "My Settings"
42394       section, under the API Access tab.
42395
42396          my-digitalocean-config:
42397            driver: digitalocean
42398            personal_access_token: xxx
42399            location: New York 1
42400
42401       NOTE:
42402          In the cloud profile that uses this provider configuration, the syn‐
42403          tax  for  the  provider  required  field would be provider: my-digi‐
42404          tal-ocean-config.
42405
42406   Parallels
42407       Using Salt with Parallels requires a user, password and URL. These  can
42408       be obtained from your cloud provider.
42409
42410          my-parallels-config:
42411            user: myuser
42412            password: xyzzy
42413            url: https://api.cloud.xmission.com:4465/paci/v1.0/
42414            driver: parallels
42415
42416       NOTE:
42417          In the cloud profile that uses this provider configuration, the syn‐
42418          tax for the provider required field  would  be  provider:  my-paral‐
42419          lels-config.
42420
42421   Proxmox
42422       Using  Salt  with Proxmox requires a user, password, and URL. These can
42423       be obtained from your cloud host. Both PAM and PVE users can be used.
42424
42425          my-proxmox-config:
42426            driver: proxmox
42427            user: saltcloud@pve
42428            password: xyzzy
42429            url: your.proxmox.host
42430
42431       NOTE:
42432          In the cloud profile that uses this provider configuration, the syn‐
42433          tax  for  the  provider  required  field would be provider: my-prox‐
42434          mox-config.
42435
42436   LXC
42437       The lxc driver uses saltify to install salt and  attach  the  lxc  con‐
42438       tainer  as  a  new  lxc  minion. As soon as we can, we manage baremetal
42439       operation over SSH. You can also  destroy  those  containers  via  this
42440       driver.
42441
42442          devhost10-lxc:
42443            target: devhost10
42444            driver: lxc
42445
42446       And in the map file:
42447
42448          devhost10-lxc:
42449            provider: devhost10-lxc
42450            from_container: ubuntu
42451            backing: lvm
42452            sudo: True
42453            size: 3g
42454            ip: 10.0.3.9
42455            minion:
42456              master: 10.5.0.1
42457              master_port: 4506
42458            lxc_conf:
42459              - lxc.utsname: superlxc
42460
42461       NOTE:
42462          In the cloud profile that uses this provider configuration, the syn‐
42463          tax  for  the   provider   required   field   would   be   provider:
42464          devhost10-lxc.
42465
42466   Saltify
42467       The  Saltify  driver  is a new, experimental driver designed to install
42468       Salt on a remote machine, virtual or bare metal, using SSH. This driver
42469       is  useful  for  provisioning machines which are already installed, but
42470       not Salted. For more information about using this driver and  for  con‐
42471       figuration examples, please see the Gettting Started with Saltify docu‐
42472       mentation.
42473
42474   Vagrant
42475       The Vagrant driver is a new,  experimental  driver  for  controlling  a
42476       VagrantBox  virtual machine, and installing Salt on it. The target host
42477       machine must be a working salt minion, which is controlled via the salt
42478       master  using salt-api.  For more information, see Getting Started With
42479       Vagrant.
42480
42481   Extending Profiles and Cloud Providers Configuration
42482       As of 0.8.7, the option to extend both the profiles and cloud providers
42483       configuration  and  avoid  duplication  was  added. The extends feature
42484       works on the current profiles configuration, but, regarding  the  cloud
42485       providers  configuration,  only  works in the new syntax and respective
42486       configuration    files,    i.e.    /etc/salt/salt/cloud.providers    or
42487       /etc/salt/cloud.providers.d/*.conf.
42488
42489       NOTE:
42490          Extending  cloud  profiles and providers is not recursive. For exam‐
42491          ple, a profile that is extended by a second profile is possible, but
42492          the second profile cannot be extended by a third profile.
42493
42494          Also,  if  a  profile (or provider) is extending another profile and
42495          each contains a list of values, the lists from the extending profile
42496          will  override the list from the original profile. The lists are not
42497          merged together.
42498
42499   Extending Profiles
42500       Some example usage on  how  to  use  extends  with  profiles.  Consider
42501       /etc/salt/salt/cloud.profiles containing:
42502
42503          development-instances:
42504            provider: my-ec2-config
42505            size: t1.micro
42506            ssh_username: ec2_user
42507            securitygroup:
42508              - default
42509            deploy: False
42510
42511          Amazon-Linux-AMI-2012.09-64bit:
42512            image: ami-54cf5c3d
42513            extends: development-instances
42514
42515          Fedora-17:
42516            image: ami-08d97e61
42517            extends: development-instances
42518
42519          CentOS-5:
42520            provider: my-aws-config
42521            image: ami-09b61d60
42522            extends: development-instances
42523
42524       The  above configuration, once parsed would generate the following pro‐
42525       files data:
42526
42527          [{'deploy': False,
42528            'image': 'ami-08d97e61',
42529            'profile': 'Fedora-17',
42530            'provider': 'my-ec2-config',
42531            'securitygroup': ['default'],
42532            'size': 't1.micro',
42533            'ssh_username': 'ec2_user'},
42534           {'deploy': False,
42535            'image': 'ami-09b61d60',
42536            'profile': 'CentOS-5',
42537            'provider': 'my-aws-config',
42538            'securitygroup': ['default'],
42539            'size': 't1.micro',
42540            'ssh_username': 'ec2_user'},
42541           {'deploy': False,
42542            'image': 'ami-54cf5c3d',
42543            'profile': 'Amazon-Linux-AMI-2012.09-64bit',
42544            'provider': 'my-ec2-config',
42545            'securitygroup': ['default'],
42546            'size': 't1.micro',
42547            'ssh_username': 'ec2_user'},
42548           {'deploy': False,
42549            'profile': 'development-instances',
42550            'provider': 'my-ec2-config',
42551            'securitygroup': ['default'],
42552            'size': 't1.micro',
42553            'ssh_username': 'ec2_user'}]
42554
42555       Pretty cool right?
42556
42557   Extending Providers
42558       Some example usage on how to use extends  within  the  cloud  providers
42559       configuration.  Consider /etc/salt/salt/cloud.providers containing:
42560
42561          my-develop-envs:
42562            - id: HJGRYCILJLKJYG
42563              key: 'kdjgfsgm;woormgl/aserigjksjdhasdfgn'
42564              keyname: test
42565              securitygroup: quick-start
42566              private_key: /root/test.pem
42567              location: ap-southeast-1
42568              availability_zone: ap-southeast-1b
42569              driver: ec2
42570
42571            - user: myuser@mycorp.com
42572              password: mypass
42573              ssh_key_name: mykey
42574              ssh_key_file: '/etc/salt/ibm/mykey.pem'
42575              location: Raleigh
42576              driver: ibmsce
42577
42578
42579          my-productions-envs:
42580            - extends: my-develop-envs:ibmsce
42581              user: my-production-user@mycorp.com
42582              location: us-east-1
42583              availability_zone: us-east-1
42584
42585       The  above  configuration,  once  parsed  would  generate the following
42586       providers data:
42587
42588          'providers': {
42589              'my-develop-envs': [
42590                  {'availability_zone': 'ap-southeast-1b',
42591                   'id': 'HJGRYCILJLKJYG',
42592                   'key': 'kdjgfsgm;woormgl/aserigjksjdhasdfgn',
42593                   'keyname': 'test',
42594                   'location': 'ap-southeast-1',
42595                   'private_key': '/root/test.pem',
42596                   'driver': 'aws',
42597                   'securitygroup': 'quick-start'
42598                  },
42599                  {'location': 'Raleigh',
42600                   'password': 'mypass',
42601                   'driver': 'ibmsce',
42602                   'ssh_key_file': '/etc/salt/ibm/mykey.pem',
42603                   'ssh_key_name': 'mykey',
42604                   'user': 'myuser@mycorp.com'
42605                  }
42606              ],
42607              'my-productions-envs': [
42608                  {'availability_zone': 'us-east-1',
42609                   'location': 'us-east-1',
42610                   'password': 'mypass',
42611                   'driver': 'ibmsce',
42612                   'ssh_key_file': '/etc/salt/ibm/mykey.pem',
42613                   'ssh_key_name': 'mykey',
42614                   'user': 'my-production-user@mycorp.com'
42615                  }
42616              ]
42617          }
42618
42619   Windows Configuration
42620   Spinning up Windows Minions
42621       It is possible to use Salt Cloud to spin up Windows instances, and then
42622       install  Salt  on  them.  This  functionality is available on all cloud
42623       providers that are supported by Salt Cloud. However, it may not  neces‐
42624       sarily be available on all Windows images.
42625
42626   Requirements
42627       NOTE:
42628          Support  winexe and impacket has been deprecated and will be removed
42629          in Sodium. These dependencies are replaced by pypsexec and smbproto‐
42630          col respectivly. These are pure python alternatives that are compat‐
42631          ible with all supported python versions.
42632
42633       Salt Cloud makes use of impacket and winexe to set up the Windows  Salt
42634       Minion installer.
42635
42636       impacket   is   usually   available  as  either  the  impacket  or  the
42637       python-impacket package, depending on the distribution.  More  informa‐
42638       tion on impacket can be found at the project home:
42639
42640       · impacket project home
42641
42642       winexe  is  less  commonly available in distribution-specific reposito‐
42643       ries.  However, it is currently being built for  various  distributions
42644       in 3rd party channels:
42645
42646       · RPMs at pbone.net
42647
42648       · openSUSE Build Service
42649
42650       · pypsexec project home
42651
42652       · smbprotocol project home
42653
42654       Optionally  WinRM  can  be  used instead of winexe if the python module
42655       pywinrm is available and WinRM is supported on the target Windows  ver‐
42656       sion. Information on pywinrm can be found at the project home:
42657
42658       · pywinrm project home
42659
42660       Additionally,  a  copy  of  the  Salt  Minion Windows installer must be
42661       present on the system on which Salt Cloud is  running.  This  installer
42662       may be downloaded from saltstack.com:
42663
42664       · SaltStack Download Area
42665
42666   Self Signed Certificates with WinRM
42667       Salt-Cloud can use versions of pywinrm<=0.1.1 or pywinrm>=0.2.1.
42668
42669       For  versions  greater  than 0.2.1, winrm_verify_ssl needs to be set to
42670       False if the certificate is self signed and not verifiable.
42671
42672   Firewall Settings
42673       Because Salt Cloud makes use of smbclient and winexe, port 445 must  be
42674       open on the target image. This port is not generally open by default on
42675       a standard Windows distribution, and care must be taken to use an image
42676       in which this port is open, or the Windows firewall is disabled.
42677
42678       If  supported by the cloud provider, a PowerShell script may be used to
42679       open up this port automatically, using the cloud  provider's  userdata.
42680       The following script would open up port 445, and apply the changes:
42681
42682          <powershell>
42683          New-NetFirewallRule -Name "SMB445" -DisplayName "SMB445" -Protocol TCP -LocalPort 445
42684          Set-Item (dir wsman:\localhost\Listener\*\Port -Recurse).pspath 445 -Force
42685          Restart-Service winrm
42686          </powershell>
42687
42688       For  EC2,  this  script  may  be  saved as a file, and specified in the
42689       provider or profile configuration as userdata_file. For instance:
42690
42691          my-ec2-config:
42692            # Pass userdata to the instance to be created
42693            userdata_file: /etc/salt/windows-firewall.ps1
42694
42695       NOTE:
42696          From versions 2016.11.0 and 2016.11.3, this file was passed  through
42697          the  master's  renderer  to template it. However, this caused issues
42698          with non-YAML data, so templating is no longer performed by default.
42699          To template the userdata_file, add a userdata_template option to the
42700          cloud profile:
42701
42702              my-ec2-config:
42703                # Pass userdata to the instance to be created
42704                userdata_file: /etc/salt/windows-firewall.ps1
42705                userdata_template: jinja
42706
42707          If no userdata_template is set in the cloud profile, then the master
42708          configuration  will  be  checked  for a userdata_template value.  If
42709          this is not set, then no templating will be performed on  the  user‐
42710          data_file.
42711
42712          To  disable  templating  in a cloud profile when a userdata_template
42713          has been set in the master  configuration  file,  simply  set  user‐
42714          data_template to False in the cloud profile:
42715
42716              my-ec2-config:
42717                # Pass userdata to the instance to be created
42718                userdata_file: /etc/salt/windows-firewall.ps1
42719                userdata_template: False
42720
42721       If you are using WinRM on EC2 the HTTPS port for the WinRM service must
42722       also be enabled in your userdata. By default EC2  Windows  images  only
42723       have  insecure  HTTP  enabled. To enable HTTPS and basic authentication
42724       required by pywinrm consider the following userdata example:
42725
42726          <powershell>
42727          New-NetFirewallRule -Name "SMB445" -DisplayName "SMB445" -Protocol TCP -LocalPort 445
42728          New-NetFirewallRule -Name "WINRM5986" -DisplayName "WINRM5986" -Protocol TCP -LocalPort 5986
42729
42730          winrm quickconfig -q
42731          winrm set winrm/config/winrs '@{MaxMemoryPerShellMB="300"}'
42732          winrm set winrm/config '@{MaxTimeoutms="1800000"}'
42733          winrm set winrm/config/service/auth '@{Basic="true"}'
42734
42735          $SourceStoreScope = 'LocalMachine'
42736          $SourceStorename = 'Remote Desktop'
42737
42738          $SourceStore = New-Object -TypeName System.Security.Cryptography.X509Certificates.X509Store -ArgumentList $SourceStorename, $SourceStoreScope
42739          $SourceStore.Open([System.Security.Cryptography.X509Certificates.OpenFlags]::ReadOnly)
42740
42741          $cert = $SourceStore.Certificates | Where-Object -FilterScript {
42742              $_.subject -like '*'
42743          }
42744
42745          $DestStoreScope = 'LocalMachine'
42746          $DestStoreName = 'My'
42747
42748          $DestStore = New-Object -TypeName System.Security.Cryptography.X509Certificates.X509Store -ArgumentList $DestStoreName, $DestStoreScope
42749          $DestStore.Open([System.Security.Cryptography.X509Certificates.OpenFlags]::ReadWrite)
42750          $DestStore.Add($cert)
42751
42752          $SourceStore.Close()
42753          $DestStore.Close()
42754
42755          winrm create winrm/config/listener?Address=*+Transport=HTTPS `@`{CertificateThumbprint=`"($cert.Thumbprint)`"`}
42756
42757          Restart-Service winrm
42758          </powershell>
42759
42760       No certificate store is available by default on EC2 images and creating
42761       one does not seem possible without an MMC (cannot be automated). To use
42762       the default EC2 Windows images the above copies the RDP store.
42763
42764   Configuration
42765       Configuration is set as usual, with some extra configuration  settings.
42766       The location of the Windows installer on the machine that Salt Cloud is
42767       running on must be specified. This may be done in any  of  the  regular
42768       configuration files (main, providers, profiles, maps). For example:
42769
42770       Setting the installer in /etc/salt/cloud.providers:
42771
42772          my-softlayer:
42773            driver: softlayer
42774            user: MYUSER1138
42775            apikey: 'e3b68aa711e6deadc62d5b76355674beef7cc3116062ddbacafe5f7e465bfdc9'
42776            minion:
42777              master: saltmaster.example.com
42778            win_installer: /root/Salt-Minion-2014.7.0-AMD64-Setup.exe
42779            win_username: Administrator
42780            win_password: letmein
42781            smb_port: 445
42782
42783       The  default  Windows  user  is  Administrator, and the default Windows
42784       password is blank.
42785
42786       If WinRM is to be used use_winrm needs to be set  to  True.  winrm_port
42787       can  be  used  to  specify a custom port (must be HTTPS listener).  And
42788       winrm_verify_ssl can be set to False to use a self signed certificate.
42789
42790   Auto-Generated Passwords on EC2
42791       On EC2, when the win_password is set to auto, Salt Cloud will query EC2
42792       for  an  auto-generated  password. This password is expected to take at
42793       least 4 minutes to generate,  adding  additional  time  to  the  deploy
42794       process.
42795
42796       When the EC2 API is queried for the auto-generated password, it will be
42797       returned in a  message  encrypted  with  the  specified  keyname.  This
42798       requires  that the appropriate private_key file is also specified. Such
42799       a profile configuration might look like:
42800
42801          windows-server-2012:
42802            provider: my-ec2-config
42803            image: ami-c49c0dac
42804            size: m1.small
42805            securitygroup: windows
42806            keyname: mykey
42807            private_key: /root/mykey.pem
42808            userdata_file: /etc/salt/windows-firewall.ps1
42809            win_installer: /root/Salt-Minion-2014.7.0-AMD64-Setup.exe
42810            win_username: Administrator
42811            win_password: auto
42812
42813   Cloud Provider Specifics
42814   Getting Started With Aliyun ECS
42815       The Aliyun ECS (Elastic Computer Service) is one of  the  most  popular
42816       public  cloud  hosts  in  China.  This cloud host can be used to manage
42817       aliyun instance using salt-cloud.
42818
42819       http://www.aliyun.com/
42820
42821   Dependencies
42822       This driver requires the Python requests library to be installed.
42823
42824   Configuration
42825       Using Salt for Aliyun ECS requires aliyun access key id and key secret.
42826       These  can  be  found in the aliyun web interface, in the "User Center"
42827       section, under "My Service" tab.
42828
42829          # Note: This example is for /etc/salt/cloud.providers or any file in the
42830          # /etc/salt/cloud.providers.d/ directory.
42831
42832          my-aliyun-config:
42833            # aliyun Access Key ID
42834            id: wDGEwGregedg3435gDgxd
42835            # aliyun Access Key Secret
42836            key: GDd45t43RDBTrkkkg43934t34qT43t4dgegerGEgg
42837            location: cn-qingdao
42838            driver: aliyun
42839
42840       NOTE:
42841          Changed in version 2015.8.0.
42842
42843
42844          The provider parameter in cloud provider definitions was renamed  to
42845          driver.  This  change  was made to avoid confusion with the provider
42846          parameter that is used in cloud profile definitions. Cloud  provider
42847          definitions  now  use  driver to refer to the Salt cloud module that
42848          provides the underlying functionality to connect to  a  cloud  host,
42849          while  cloud  profiles continue to use provider to refer to provider
42850          configurations that you define.
42851
42852   Profiles
42853   Cloud Profiles
42854       Set up  an  initial  profile  at  /etc/salt/cloud.profiles  or  in  the
42855       /etc/salt/cloud.profiles.d/ directory:
42856
42857          aliyun_centos:
42858              provider: my-aliyun-config
42859              size: ecs.t1.small
42860              location: cn-qingdao
42861              securitygroup: G1989096784427999
42862              image: centos6u3_64_20G_aliaegis_20130816.vhd
42863
42864       Sizes  can be obtained using the --list-sizes option for the salt-cloud
42865       command:
42866
42867          # salt-cloud --list-sizes my-aliyun-config
42868          my-aliyun-config:
42869              ----------
42870              aliyun:
42871                  ----------
42872                  ecs.c1.large:
42873                      ----------
42874                      CpuCoreCount:
42875                          8
42876                      InstanceTypeId:
42877                          ecs.c1.large
42878                      MemorySize:
42879                          16.0
42880
42881          ...SNIP...
42882
42883       Images  can  be  obtained  using  the  --list-images  option  for   the
42884       salt-cloud command:
42885
42886          # salt-cloud --list-images my-aliyun-config
42887          my-aliyun-config:
42888              ----------
42889              aliyun:
42890                  ----------
42891                  centos5u8_64_20G_aliaegis_20131231.vhd:
42892                      ----------
42893                      Architecture:
42894                          x86_64
42895                      Description:
42896
42897                      ImageId:
42898                          centos5u8_64_20G_aliaegis_20131231.vhd
42899                      ImageName:
42900                          CentOS 5.8 64位
42901                      ImageOwnerAlias:
42902                          system
42903                      ImageVersion:
42904                          1.0
42905                      OSName:
42906                          CentOS  5.8 64位
42907                      Platform:
42908                          CENTOS5
42909                      Size:
42910                          20
42911                      Visibility:
42912                          public
42913          ...SNIP...
42914
42915       Locations  can  be  obtained  using the --list-locations option for the
42916       salt-cloud command:
42917
42918          my-aliyun-config:
42919              ----------
42920              aliyun:
42921                  ----------
42922                  cn-beijing:
42923                      ----------
42924                      LocalName:
42925                          北京
42926                      RegionId:
42927                          cn-beijing
42928                  cn-hangzhou:
42929                      ----------
42930                      LocalName:
42931                          杭州
42932                      RegionId:
42933                          cn-hangzhou
42934                  cn-hongkong:
42935                      ----------
42936                      LocalName:
42937                          香港
42938                      RegionId:
42939                          cn-hongkong
42940                  cn-qingdao:
42941                      ----------
42942                      LocalName:
42943                          青岛
42944                      RegionId:
42945                          cn-qingdao
42946
42947       Security Group can be obtained using the -f  list_securitygroup  option
42948       for the salt-cloud command:
42949
42950          # salt-cloud --location=cn-qingdao -f list_securitygroup my-aliyun-config
42951          my-aliyun-config:
42952              ----------
42953              aliyun:
42954                  ----------
42955                  G1989096784427999:
42956                      ----------
42957                      Description:
42958                          G1989096784427999
42959                      SecurityGroupId:
42960                          G1989096784427999
42961
42962       NOTE:
42963          Aliyun ECS REST API documentation is available from Aliyun ECS API.
42964
42965   Getting Started With Azure
42966       New in version 2014.1.0.
42967
42968
42969       Azure  is  a cloud service by Microsoft providing virtual machines, SQL
42970       services, media services, and more. This document describes how to  use
42971       Salt Cloud to create a virtual machine on Azure, with Salt installed.
42972
42973       More      information      about      Azure      is      located     at
42974       http://www.windowsazure.com/.
42975
42976   Dependencies
42977       · Microsoft Azure SDK for Python >= 1.0.2
42978
42979       · The python-requests library, for Python < 2.7.9.
42980
42981       · A Microsoft Azure account
42982
42983       · OpenSSL (to generate the certificates)
42984
42985       · Salt
42986
42987   Configuration
42988       Set up the provider config at /etc/salt/cloud.providers.d/azure.conf:
42989
42990          # Note: This example is for /etc/salt/cloud.providers.d/azure.conf
42991
42992          my-azure-config:
42993            driver: azure
42994            subscription_id: 3287abc8-f98a-c678-3bde-326766fd3617
42995            certificate_path: /etc/salt/azure.pem
42996
42997            # Set up the location of the salt master
42998            #
42999            minion:
43000              master: saltmaster.example.com
43001
43002            # Optional
43003            management_host: management.core.windows.net
43004
43005       The certificate used must be generated by the user. OpenSSL can be used
43006       to  create  the management certificates. Two certificates are needed: a
43007       .cer file, which is uploaded to Azure, and a .pem file, which is stored
43008       locally.
43009
43010       To create the .pem file, execute the following command:
43011
43012          openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout /etc/salt/azure.pem -out /etc/salt/azure.pem
43013
43014       To create the .cer file, execute the following command:
43015
43016          openssl x509 -inform pem -in /etc/salt/azure.pem -outform der -out /etc/salt/azure.cer
43017
43018       After  creating  these files, the .cer file will need to be uploaded to
43019       Azure via the "Upload a Management Certificate" action of the  "Manage‐
43020       ment  Certificates" tab within the "Settings" section of the management
43021       portal.
43022
43023       Optionally, a management_host may be configured, if necessary  for  the
43024       region.
43025
43026       NOTE:
43027          Changed in version 2015.8.0.
43028
43029
43030          The  provider parameter in cloud provider definitions was renamed to
43031          driver. This change was made to avoid confusion  with  the  provider
43032          parameter  that is used in cloud profile definitions. Cloud provider
43033          definitions now use driver to refer to the Salt  cloud  module  that
43034          provides  the  underlying  functionality to connect to a cloud host,
43035          while cloud profiles continue to use provider to refer  to  provider
43036          configurations that you define.
43037
43038   Cloud Profiles
43039       Set up an initial profile at /etc/salt/cloud.profiles:
43040
43041          azure-ubuntu:
43042            provider: my-azure-config
43043            image: 'b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_3-LTS-amd64-server-20131003-en-us-30GB'
43044            size: Small
43045            location: 'East US'
43046            ssh_username: azureuser
43047            ssh_password: verybadpass
43048            slot: production
43049            media_link: 'http://portalvhdabcdefghijklmn.blob.core.windows.net/vhds'
43050            virtual_network_name: azure-virtual-network
43051            subnet_name: azure-subnet
43052
43053       These  options are described in more detail below. Once configured, the
43054       profile can be realized with a salt command:
43055
43056          salt-cloud -p azure-ubuntu newinstance
43057
43058       This will create an salt minion instance named newinstance in Azure. If
43059       the command was executed on the salt-master, its Salt key will automat‐
43060       ically be signed on the master.
43061
43062       Once the instance has been created with salt-minion installed,  connec‐
43063       tivity to it can be verified with Salt:
43064
43065          salt newinstance test.ping
43066
43067   Profile Options
43068       The following options are currently available for Azure.
43069
43070   provider
43071       The      name      of     the     provider     as     configured     in
43072       /etc/salt/cloud.providers.d/azure.conf.
43073
43074   image
43075       The name of the image to use to create a VM. Available  images  can  be
43076       viewed using the following command:
43077
43078          salt-cloud --list-images my-azure-config
43079
43080   size
43081       The  name  of  the  size  to use to create a VM. Available sizes can be
43082       viewed using the following command:
43083
43084          salt-cloud --list-sizes my-azure-config
43085
43086   location
43087       The name of the location to create a VM in. Available locations can  be
43088       viewed using the following command:
43089
43090          salt-cloud --list-locations my-azure-config
43091
43092   affinity_group
43093       The  name of the affinity group to create a VM in. Either a location or
43094       an affinity_group may be specified, but not both. See  Affinity  Groups
43095       below.
43096
43097   ssh_username
43098       The user to use to log into the newly-created VM to install Salt.
43099
43100   ssh_password
43101       The password to use to log into the newly-created VM to install Salt.
43102
43103   slot
43104       The  environment  to which the hosted service is deployed. Valid values
43105       are staging or production. When set to production, the resulting URL of
43106       the  new  VM  will  be <vm_name>.cloudapp.net. When set to staging, the
43107       resulting URL will contain a generated hash instead.
43108
43109   media_link
43110       This is the URL of the container that will store the disk that this  VM
43111       uses.  Currently, this container must already exist. If a VM has previ‐
43112       ously been created  in  the  associated  account,  a  container  should
43113       already exist. In the web interface, go into the Storage area and click
43114       one of the available storage selections. Click the Containers link, and
43115       then  copy  the  URL from the container that will be used. It generally
43116       looks like:
43117
43118          http://portalvhdabcdefghijklmn.blob.core.windows.net/vhds
43119
43120   service_name
43121       The name of the service in which to create the VM. If this is not spec‐
43122       ified, then a service will be created with the same name as the VM.
43123
43124   virtual_network_name
43125       Optional.  The  name of the virtual network for the VM to join. If this
43126       is not specified, then no virtual network will be joined.
43127
43128   subnet_name
43129       Optional. The name of the subnet in the virtual network for the  VM  to
43130       join.  Requires that a virtual_network_name is specified.
43131
43132   Show Instance
43133       This  action  is  a  thin  wrapper  around --full-query, which displays
43134       details on a single instance  only.  In  an  environment  with  several
43135       machines,  this  will  save  a  user  from  having  to sort through all
43136       instance data, just to examine a single instance.
43137
43138          salt-cloud -a show_instance myinstance
43139
43140   Destroying VMs
43141       There are certain options which can be specified in  the  global  cloud
43142       configuration  file (usually /etc/salt/cloud) which affect Salt Cloud's
43143       behavior when a VM is destroyed.
43144
43145   cleanup_disks
43146       New in version 2015.8.0.
43147
43148
43149       Default is False. When set to True, Salt Cloud will wait for the VM  to
43150       be  destroyed, then attempt to destroy the main disk that is associated
43151       with the VM.
43152
43153   cleanup_vhds
43154       New in version 2015.8.0.
43155
43156
43157       Default is False. Requires cleanup_disks to be set to True.  When  also
43158       set  to  True,  Salt  Cloud will ask Azure to delete the VHD associated
43159       with the disk that is also destroyed.
43160
43161   cleanup_services
43162       New in version 2015.8.0.
43163
43164
43165       Default is False. Requires cleanup_disks to be set to True.  When  also
43166       set  to  True,  Salt Cloud will wait for the disk to be destroyed, then
43167       attempt to remove the service that is associated with the  VM.  Because
43168       the  disk belongs to the service, the disk must be destroyed before the
43169       service can be.
43170
43171   Managing Hosted Services
43172       New in version 2015.8.0.
43173
43174
43175       An account can have one or more hosted services. A  hosted  service  is
43176       required  in  order  to  create a VM. However, as mentioned above, if a
43177       hosted service is not specified when a VM is  created,  then  one  will
43178       automatically be created with the name of the name. The following func‐
43179       tions are also available.
43180
43181   create_service
43182       Create a hosted service. The following options are available.
43183
43184   name
43185       Required. The name of the hosted service to create.
43186
43187   label
43188       Required. A label to apply to the hosted service.
43189
43190   description
43191       Optional. A longer description of the hosted service.
43192
43193   location
43194       Required, if affinity_group is not set. The location in which to create
43195       the  hosted  service. Either the location or the affinity_group must be
43196       set, but not both.
43197
43198   affinity_group
43199       Required, if location is not set. The affinity group in which to create
43200       the  hosted  service. Either the location or the affinity_group must be
43201       set, but not both.
43202
43203   extended_properties
43204       Optional. Dictionary containing  name/value  pairs  of  hosted  service
43205       properties.   You can have a maximum of 50 extended property name/value
43206       pairs. The maximum length of the Name element is  64  characters,  only
43207       alphanumeric  characters and underscores are valid in the Name, and the
43208       name must start with a letter.  The value has a maximum length  of  255
43209       characters.
43210
43211   CLI Example
43212       The following example illustrates creating a hosted service.
43213
43214          salt-cloud -f create_service my-azure name=my-service label=my-service location='West US'
43215
43216   show_service
43217       Return details about a specific hosted service. Can also be called with
43218       get_service.
43219
43220          salt-cloud -f show_storage my-azure name=my-service
43221
43222   list_services
43223       List all hosted services associates with the subscription.
43224
43225          salt-cloud -f list_services my-azure-config
43226
43227   delete_service
43228       Delete a specific hosted service.
43229
43230          salt-cloud -f delete_service my-azure name=my-service
43231
43232   Managing Storage Accounts
43233       New in version 2015.8.0.
43234
43235
43236       Salt Cloud can manage storage accounts associated with the account. The
43237       following  functions are available. Deprecated marked as deprecated are
43238       marked as such as per the SDK documentation, but are still included for
43239       completeness with the SDK.
43240
43241   create_storage
43242       Create a storage account. The following options are supported.
43243
43244   name
43245       Required. The name of the storage account to create.
43246
43247   label
43248       Required. A label to apply to the storage account.
43249
43250   description
43251       Optional. A longer description of the storage account.
43252
43253   location
43254       Required, if affinity_group is not set. The location in which to create
43255       the storage account. Either the location or the affinity_group must  be
43256       set, but not both.
43257
43258   affinity_group
43259       Required, if location is not set. The affinity group in which to create
43260       the storage account. Either the location or the affinity_group must  be
43261       set, but not both.
43262
43263   extended_properties
43264       Optional.  Dictionary  containing  name/value  pairs of storage account
43265       properties.  You can have a maximum of 50 extended property  name/value
43266       pairs.  The  maximum  length of the Name element is 64 characters, only
43267       alphanumeric characters and underscores are valid in the Name, and  the
43268       name  must  start  with a letter. The value has a maximum length of 255
43269       characters.
43270
43271   geo_replication_enabled
43272       Deprecated. Replaced by the account_type parameter.
43273
43274   account_type
43275       Specifies  whether  the  account  supports  locally-redundant  storage,
43276       geo-redundant   storage,   zone-redundant   storage,   or  read  access
43277       geo-redundant storage. Possible values are:
43278
43279       · Standard_LRS
43280
43281       · Standard_ZRS
43282
43283       · Standard_GRS
43284
43285       · Standard_RAGRS
43286
43287   CLI Example
43288       The following example illustrates creating a storage account.
43289
43290          salt-cloud -f create_storage my-azure name=my-storage label=my-storage location='West US'
43291
43292   list_storage
43293       List all storage accounts associates with the subscription.
43294
43295          salt-cloud -f list_storage my-azure-config
43296
43297   show_storage
43298       Return details about a specific storage account.  Can  also  be  called
43299       with get_storage.
43300
43301          salt-cloud -f show_storage my-azure name=my-storage
43302
43303   update_storage
43304       Update  details concerning a storage account. Any of the options avail‐
43305       able in create_storage can be used, but the name cannot be changed.
43306
43307          salt-cloud -f update_storage my-azure name=my-storage label=my-storage
43308
43309   delete_storage
43310       Delete a specific storage account.
43311
43312          salt-cloud -f delete_storage my-azure name=my-storage
43313
43314   show_storage_keys
43315       Returns the primary and secondary access keys for the specified storage
43316       account.
43317
43318          salt-cloud -f show_storage_keys my-azure name=my-storage
43319
43320   regenerate_storage_keys
43321       Regenerate  storage  account  keys.  Requires  a key_type ("primary" or
43322       "secondary") to be specified.
43323
43324          salt-cloud -f regenerate_storage_keys my-azure name=my-storage key_type=primary
43325
43326   Managing Disks
43327       New in version 2015.8.0.
43328
43329
43330       When a VM is created, a disk will also be created for it. The following
43331       functions are available for managing disks. Deprecated marked as depre‐
43332       cated are marked as such as per the SDK documentation,  but  are  still
43333       included for completeness with the SDK.
43334
43335   show_disk
43336       Return details about a specific disk. Can also be called with get_disk.
43337
43338          salt-cloud -f show_disk my-azure name=my-disk
43339
43340   list_disks
43341       List all disks associates with the account.
43342
43343          salt-cloud -f list_disks my-azure
43344
43345   update_disk
43346       Update details for a disk. The following options are available.
43347
43348   name
43349       Required. The name of the disk to update.
43350
43351   has_operating_system
43352       Deprecated.
43353
43354   label
43355       Required. The label for the disk.
43356
43357   media_link
43358       Deprecated.  The  location  of  the  disk in the account, including the
43359       storage container that it is in. This should not need to be changed.
43360
43361   new_name
43362       Deprecated. If renaming the disk, the new name.
43363
43364   os
43365       Deprecated.
43366
43367   CLI Example
43368       The following example illustrates updating a disk.
43369
43370          salt-cloud -f update_disk my-azure name=my-disk label=my-disk
43371
43372   delete_disk
43373       Delete a specific disk.
43374
43375          salt-cloud -f delete_disk my-azure name=my-disk
43376
43377   Managing Service Certificates
43378       New in version 2015.8.0.
43379
43380
43381       Stored at the cloud service level, these certificates are used by  your
43382       deployed  services.  For  more information on service certificates, see
43383       the following link:
43384
43385       · Manage Certificates
43386
43387       The following functions are available.
43388
43389   list_service_certificates
43390       List service certificates associated with the account.
43391
43392          salt-cloud -f list_service_certificates my-azure
43393
43394   show_service_certificate
43395       Show the data for a specific service certificate  associated  with  the
43396       account.  The name, thumbprint, and thumbalgorithm can be obtained from
43397       list_service_certificates. Can also be called with get_service_certifi‐
43398       cate.
43399
43400          salt-cloud -f show_service_certificate my-azure name=my_service_certificate \
43401              thumbalgorithm=sha1 thumbprint=0123456789ABCDEF
43402
43403   add_service_certificate
43404       Add a service certificate to the account. This requires that a certifi‐
43405       cate already exists, which is then  added  to  the  account.  For  more
43406       information on creating the certificate itself, see:
43407
43408       · Create a Service Certificate for Azure
43409
43410       The following options are available.
43411
43412   name
43413       Required.  The  name  of  the  hosted service that the certificate will
43414       belong to.
43415
43416   data
43417       Required. The base-64 encoded form of the pfx file.
43418
43419   certificate_format
43420       Required. The service certificate format. The only supported  value  is
43421       pfx.
43422
43423   password
43424       The certificate password.
43425
43426          salt-cloud -f add_service_certificate my-azure name=my-cert \
43427              data='...CERT_DATA...' certificate_format=pfx password=verybadpass
43428
43429   delete_service_certificate
43430       Delete  a  service  certificate from the account. The name, thumbprint,
43431       and thumbalgorithm can be obtained from list_service_certificates.
43432
43433          salt-cloud -f delete_service_certificate my-azure \
43434              name=my_service_certificate \
43435              thumbalgorithm=sha1 thumbprint=0123456789ABCDEF
43436
43437   Managing Management Certificates
43438       New in version 2015.8.0.
43439
43440
43441       A Azure management certificate is  an  X.509  v3  certificate  used  to
43442       authenticate an agent, such as Visual Studio Tools for Windows Azure or
43443       a client application that uses the Service Management  API,  acting  on
43444       behalf  of  the  subscription  owner  to manage subscription resources.
43445       Azure management certificates are uploaded to Azure and stored  at  the
43446       subscription level. The management certificate store can hold up to 100
43447       certificates per subscription. These certificates are used to authenti‐
43448       cate your Windows Azure deployment.
43449
43450       For  more  information  on  management  certificates, see the following
43451       link.
43452
43453       · Manage Certificates
43454
43455       The following functions are available.
43456
43457   list_management_certificates
43458       List management certificates associated with the account.
43459
43460          salt-cloud -f list_management_certificates my-azure
43461
43462   show_management_certificate
43463       Show the data for a specific management certificate associated with the
43464       account.  The name, thumbprint, and thumbalgorithm can be obtained from
43465       list_management_certificates.  Can  also  be  called  with  get_manage‐
43466       ment_certificate.
43467
43468          salt-cloud -f show_management_certificate my-azure name=my_management_certificate \
43469              thumbalgorithm=sha1 thumbprint=0123456789ABCDEF
43470
43471   add_management_certificate
43472       Management  certificates  must  have a key length of at least 2048 bits
43473       and should reside in the Personal certificate store. When the  certifi‐
43474       cate  is  installed on the client, it should contain the private key of
43475       the certificate. To upload to the certificate to  the  Microsoft  Azure
43476       Management  Portal,  you must export it as a .cer format file that does
43477       not contain the private key. For more information on  creating  manage‐
43478       ment certificates, see the following link:
43479
43480       · Create and Upload a Management Certificate for Azure
43481
43482       The following options are available.
43483
43484   public_key
43485       A base64 representation of the management certificate public key.
43486
43487   thumbprint
43488       The thumb print that uniquely identifies the management certificate.
43489
43490   data
43491       The certificate's raw data in base-64 encoded .cer format.
43492
43493          salt-cloud -f add_management_certificate my-azure public_key='...PUBKEY...' \
43494              thumbprint=0123456789ABCDEF data='...CERT_DATA...'
43495
43496   delete_management_certificate
43497       Delete a management certificate from the account. The thumbprint can be
43498       obtained from list_management_certificates.
43499
43500          salt-cloud -f delete_management_certificate my-azure thumbprint=0123456789ABCDEF
43501
43502   Virtual Network Management
43503       New in version 2015.8.0.
43504
43505
43506       The following are functions for managing virtual networks.
43507
43508   list_virtual_networks
43509       List input endpoints associated with the deployment.
43510
43511          salt-cloud -f list_virtual_networks my-azure service=myservice deployment=mydeployment
43512
43513   Managing Input Endpoints
43514       New in version 2015.8.0.
43515
43516
43517       Input endpoints are used to manage port access for roles. Because  end‐
43518       points  cannot  be managed by the Azure Python SDK, Salt Cloud uses the
43519       API  directly.    With   versions   of   Python   before   2.7.9,   the
43520       requests-python  package  needs  to  be  installed in order for this to
43521       work. Additionally, the following needs to be set in the master's  con‐
43522       figuration file:
43523
43524          backend: requests
43525
43526       The following functions are available.
43527
43528   list_input_endpoints
43529       List input endpoints associated with the deployment
43530
43531          salt-cloud -f list_input_endpoints my-azure service=myservice deployment=mydeployment
43532
43533   show_input_endpoint
43534       Show an input endpoint associated with the deployment
43535
43536          salt-cloud -f show_input_endpoint my-azure service=myservice \
43537              deployment=mydeployment name=SSH
43538
43539   add_input_endpoint
43540       Add  an input endpoint to the deployment. Please note that there may be
43541       a delay before the changes show up. The following  options  are  avail‐
43542       able.
43543
43544   service
43545       Required. The name of the hosted service which the VM belongs to.
43546
43547   deployment
43548       Required.  The name of the deployment that the VM belongs to. If the VM
43549       was created with Salt Cloud, the deployment name probably  matches  the
43550       VM name.
43551
43552   role
43553       Required.  The  name  of the role that the VM belongs to. If the VM was
43554       created with Salt Cloud, the role name probably matches the VM name.
43555
43556   name
43557       Required. The name of the input endpoint. This  typically  matches  the
43558       port that the endpoint is set to. For instance, port 22 would be called
43559       SSH.
43560
43561   port
43562       Required. The public (Internet-facing) port that is used for  the  end‐
43563       point.
43564
43565   local_port
43566       Optional.  The  private port on the VM itself that will be matched with
43567       the port.  This is typically the same as the port. If this value is not
43568       specified, it will be copied from port.
43569
43570   protocol
43571       Required. Either tcp or udp.
43572
43573   enable_direct_server_return
43574       Optional. If an internal load balancer exists in the account, it can be
43575       used with a direct server return. The default value  is  False.  Please
43576       see the following article for an explanation of this option.
43577
43578       · Load Balancing for Azure Infrastructure Services
43579
43580   timeout_for_tcp_idle_connection
43581       Optional.  The default value is 4. Please see the following article for
43582       an explanation of this option.
43583
43584       · Configurable Idle Timeout for Azure Load Balancer
43585
43586   CLI Example
43587       The following example illustrates adding an input endpoint.
43588
43589          salt-cloud -f add_input_endpoint my-azure service=myservice \
43590              deployment=mydeployment role=myrole name=HTTP local_port=80 \
43591              port=80 protocol=tcp enable_direct_server_return=False \
43592              timeout_for_tcp_idle_connection=4
43593
43594   update_input_endpoint
43595       Updates the details for a specific input  endpoint.  All  options  from
43596       add_input_endpoint are supported.
43597
43598          salt-cloud -f update_input_endpoint my-azure service=myservice \
43599              deployment=mydeployment role=myrole name=HTTP local_port=80 \
43600              port=80 protocol=tcp enable_direct_server_return=False \
43601              timeout_for_tcp_idle_connection=4
43602
43603   delete_input_endpoint
43604       Delete  an  input  endpoint from the deployment. Please note that there
43605       may be a delay before the changes show up.   The  following  items  are
43606       required.
43607
43608   CLI Example
43609       The following example illustrates deleting an input endpoint.
43610
43611   service
43612       The name of the hosted service which the VM belongs to.
43613
43614   deployment
43615       The  name  of the deployment that the VM belongs to. If the VM was cre‐
43616       ated with Salt Cloud, the deployment name probably matches the VM name.
43617
43618   role
43619       The name of the role that the VM belongs to. If the VM was created with
43620       Salt Cloud, the role name probably matches the VM name.
43621
43622   name
43623       The  name  of  the input endpoint. This typically matches the port that
43624       the endpoint is set to. For instance, port 22 would be called SSH.
43625
43626          salt-cloud -f delete_input_endpoint my-azure service=myservice \
43627              deployment=mydeployment role=myrole name=HTTP
43628
43629   Managing Affinity Groups
43630       New in version 2015.8.0.
43631
43632
43633       Affinity groups allow you to group your Azure services to optimize per‐
43634       formance.   All  services  and  VMs  within  an  affinity group will be
43635       located in the same region. For more information  on  Affinity  groups,
43636       see the following link:
43637
43638       · Create an Affinity Group in the Management Portal
43639
43640       The following functions are available.
43641
43642   list_affinity_groups
43643       List input endpoints associated with the account
43644
43645          salt-cloud -f list_affinity_groups my-azure
43646
43647   show_affinity_group
43648       Show an affinity group associated with the account
43649
43650          salt-cloud -f show_affinity_group my-azure service=myservice \
43651              deployment=mydeployment name=SSH
43652
43653   create_affinity_group
43654       Create a new affinity group. The following options are supported.
43655
43656   name
43657       Required. The name of the new affinity group.
43658
43659   location
43660       Required. The region in which the affinity group lives.
43661
43662   label
43663       Required. A label describing the new affinity group.
43664
43665   description
43666       Optional. A longer description of the affinity group.
43667
43668          salt-cloud -f create_affinity_group my-azure name=my_affinity_group \
43669             label=my-affinity-group location='West US'
43670
43671   update_affinity_group
43672       Update an affinity group's properties
43673
43674          salt-cloud -f update_affinity_group my-azure name=my_group label=my_group
43675
43676   delete_affinity_group
43677       Delete a specific affinity group associated with the account
43678
43679          salt-cloud -f delete_affinity_group my-azure name=my_affinity_group
43680
43681   Managing Blob Storage
43682       New in version 2015.8.0.
43683
43684
43685       Azure  storage  containers  and their contents can be managed with Salt
43686       Cloud. This is not as elegant as  using  one  of  the  other  available
43687       clients  in Windows, but it benefits Linux and Unix users, as there are
43688       fewer options available on those platforms.
43689
43690   Blob Storage Configuration
43691       Blob storage must be configured differently  than  the  standard  Azure
43692       configuration.  Both a storage_account and a storage_key must be speci‐
43693       fied either through the Azure provider configuration  (in  addition  to
43694       the other Azure configuration) or via the command line.
43695
43696          storage_account: mystorage
43697          storage_key: ffhj334fDSGFEGDFGFDewr34fwfsFSDFwe==
43698
43699   storage_account
43700       This  is  one  of  the  storage  accounts  that  is  available  via the
43701       list_storage function.
43702
43703   storage_key
43704       Both a primary and a secondary storage_key can be obtained  by  running
43705       the show_storage_keys function. Either key may be used.
43706
43707   Blob Functions
43708       The  following functions are made available through Salt Cloud for man‐
43709       aging blog storage.
43710
43711   make_blob_url
43712       Creates the URL to access a blob
43713
43714          salt-cloud -f make_blob_url my-azure container=mycontainer blob=myblob
43715
43716   container
43717       Name of the container.
43718
43719   blob
43720       Name of the blob.
43721
43722   account
43723       Name of the storage account. If not specified, derives  the  host  base
43724       from the provider configuration.
43725
43726   protocol
43727       Protocol  to use: 'http' or 'https'. If not specified, derives the host
43728       base from the provider configuration.
43729
43730   host_base
43731       Live host base URL.  If not specified, derives the host base  from  the
43732       provider configuration.
43733
43734   list_storage_containers
43735       List containers associated with the storage account
43736
43737          salt-cloud -f list_storage_containers my-azure
43738
43739   create_storage_container
43740       Create a storage container
43741
43742          salt-cloud -f create_storage_container my-azure name=mycontainer
43743
43744   name
43745       Name of container to create.
43746
43747   meta_name_values
43748       Optional.  A dict with name_value pairs to associate with the container
43749       as metadata. Example:{'Category':'test'}
43750
43751   blob_public_access
43752       Optional. Possible values include: container, blob
43753
43754   fail_on_exist
43755       Specify whether to throw an exception when the container exists.
43756
43757   show_storage_container
43758       Show a container associated with the storage account
43759
43760          salt-cloud -f show_storage_container my-azure name=myservice
43761
43762   name
43763       Name of container to show.
43764
43765   show_storage_container_metadata
43766       Show a storage container's metadata
43767
43768          salt-cloud -f show_storage_container_metadata my-azure name=myservice
43769
43770   name
43771       Name of container to show.
43772
43773   lease_id
43774       If specified, show_storage_container_metadata only succeeds if the con‐
43775       tainer's lease is active and matches this ID.
43776
43777   set_storage_container_metadata
43778       Set a storage container's metadata
43779
43780          salt-cloud -f set_storage_container my-azure name=mycontainer \
43781              x_ms_meta_name_values='{"my_name": "my_value"}'
43782
43783   name
43784       Name  of existing container.  meta_name_values ```````````` A dict con‐
43785       taining  name,  value  for  metadata.    Example:   {'category':'test'}
43786       lease_id  ````  If  specified, set_storage_container_metadata only suc‐
43787       ceeds if the container's lease is active and matches this ID.
43788
43789   show_storage_container_acl
43790       Show a storage container's acl
43791
43792          salt-cloud -f show_storage_container_acl my-azure name=myservice
43793
43794   name
43795       Name of existing container.
43796
43797   lease_id
43798       If specified, show_storage_container_acl  only  succeeds  if  the  con‐
43799       tainer's lease is active and matches this ID.
43800
43801   set_storage_container_acl
43802       Set a storage container's acl
43803
43804          salt-cloud -f set_storage_container my-azure name=mycontainer
43805
43806   name
43807       Name of existing container.
43808
43809   signed_identifiers
43810       SignedIdentifers instance
43811
43812   blob_public_access
43813       Optional. Possible values include: container, blob
43814
43815   lease_id
43816       If  specified,  set_storage_container_acl  only  succeeds  if  the con‐
43817       tainer's lease is active and matches this ID.
43818
43819   delete_storage_container
43820       Delete a container associated with the storage account
43821
43822          salt-cloud -f delete_storage_container my-azure name=mycontainer
43823
43824   name
43825       Name of container to create.
43826
43827   fail_not_exist
43828       Specify whether to throw an exception when the container exists.
43829
43830   lease_id
43831       If specified, delete_storage_container only succeeds if the container's
43832       lease is active and matches this ID.
43833
43834   lease_storage_container
43835       Lease a container associated with the storage account
43836
43837          salt-cloud -f lease_storage_container my-azure name=mycontainer
43838
43839   name
43840       Name of container to create.
43841
43842   lease_action
43843       Required. Possible values: acquire|renew|release|break|change
43844
43845   lease_id
43846       Required if the container has an active lease.
43847
43848   lease_duration
43849       Specifies  the  duration of the lease, in seconds, or negative one (-1)
43850       for a lease that never expires. A non-infinite lease can be between  15
43851       and  60  seconds.  A  lease  duration  cannot be changed using renew or
43852       change. For backwards compatibility, the default is 60, and  the  value
43853       is only used on an acquire operation.
43854
43855   lease_break_period
43856       Optional.  For a break operation, this is the proposed duration of sec‐
43857       onds that the lease should continue before it is broken, between 0  and
43858       60  seconds.  This  break period is only used if it is shorter than the
43859       time remaining on the lease. If longer, the time remaining on the lease
43860       is  used. A new lease will not be available before the break period has
43861       expired, but the lease may be held for longer than the break period. If
43862       this  header  does  not appear with a break operation, a fixed-duration
43863       lease breaks after the remaining lease period elapses, and an  infinite
43864       lease breaks immediately.
43865
43866   proposed_lease_id
43867       Optional for acquire, required for change. Proposed lease ID, in a GUID
43868       string format.
43869
43870   list_blobs
43871       List blobs associated with the container
43872
43873          salt-cloud -f list_blobs my-azure container=mycontainer
43874
43875   container
43876       The name of the storage container
43877
43878   prefix
43879       Optional. Filters the results to return only blobs  whose  names  begin
43880       with the specified prefix.
43881
43882   marker
43883       Optional.  A string value that identifies the portion of the list to be
43884       returned with the next list operation. The operation returns  a  marker
43885       value  within  the response body if the list returned was not complete.
43886       The marker value may then be used in a subsequent call to  request  the
43887       next set of list items. The marker value is opaque to the client.
43888
43889   maxresults
43890       Optional.  Specifies  the  maximum number of blobs to return, including
43891       all BlobPrefix elements. If the request does not specify maxresults  or
43892       specifies  a  value  greater  than  5,000, the server will return up to
43893       5,000 items. Setting maxresults to a value less than or equal  to  zero
43894       results in error response code 400 (Bad Request).
43895
43896   include
43897       Optional. Specifies one or more datasets to include in the response. To
43898       specify more than one of these options on the URI,  you  must  separate
43899       each option with a comma. Valid values are:
43900
43901          snapshots:
43902              Specifies that snapshots should be included in the
43903              enumeration. Snapshots are listed from oldest to newest in
43904              the response.
43905          metadata:
43906              Specifies that blob metadata be returned in the response.
43907          uncommittedblobs:
43908              Specifies that blobs for which blocks have been uploaded,
43909              but which have not been committed using Put Block List
43910              (REST API), be included in the response.
43911          copy:
43912              Version 2012-02-12 and newer. Specifies that metadata
43913              related to any current or previous Copy Blob operation
43914              should be included in the response.
43915
43916   delimiter
43917       Optional.  When  the  request  includes  this  parameter, the operation
43918       returns a BlobPrefix element in the response body that acts as a place‐
43919       holder  for  all  blobs whose names begin with the same substring up to
43920       the appearance of the delimiter character. The delimiter may be a  sin‐
43921       gle character or a string.
43922
43923   show_blob_service_properties
43924       Show a blob's service properties
43925
43926          salt-cloud -f show_blob_service_properties my-azure
43927
43928   set_blob_service_properties
43929       Sets the properties of a storage account's Blob service, including Win‐
43930       dows Azure Storage Analytics. You can also use this  operation  to  set
43931       the  default request version for all incoming requests that do not have
43932       a version specified.
43933
43934          salt-cloud -f set_blob_service_properties my-azure
43935
43936   properties
43937       a StorageServiceProperties object.
43938
43939   timeout
43940       Optional. The timeout parameter is expressed in seconds.
43941
43942   show_blob_properties
43943       Returns all user-defined metadata, standard HTTP properties, and system
43944       properties for the blob.
43945
43946          salt-cloud -f show_blob_properties my-azure container=mycontainer blob=myblob
43947
43948   container
43949       Name of existing container.
43950
43951   blob
43952       Name of existing blob.
43953
43954   lease_id
43955       Required if the blob has an active lease.
43956
43957   set_blob_properties
43958       Set a blob's properties
43959
43960          salt-cloud -f set_blob_properties my-azure
43961
43962   container
43963       Name of existing container.
43964
43965   blob
43966       Name of existing blob.
43967
43968   blob_cache_control
43969       Optional. Modifies the cache control string for the blob.
43970
43971   blob_content_type
43972       Optional. Sets the blob's content type.
43973
43974   blob_content_md5
43975       Optional. Sets the blob's MD5 hash.
43976
43977   blob_content_encoding
43978       Optional. Sets the blob's content encoding.
43979
43980   blob_content_language
43981       Optional. Sets the blob's content language.
43982
43983   lease_id
43984       Required if the blob has an active lease.
43985
43986   blob_content_disposition
43987       Optional. Sets the blob's Content-Disposition header.  The Content-Dis‐
43988       position response header field conveys additional information about how
43989       to  process  the response payload, and also can be used to attach addi‐
43990       tional metadata. For example, if set to attachment, it  indicates  that
43991       the user-agent should not display the response, but instead show a Save
43992       As dialog with a filename other than the blob name specified.
43993
43994   put_blob
43995       Upload a blob
43996
43997          salt-cloud -f put_blob my-azure container=base name=top.sls blob_path=/srv/salt/top.sls
43998          salt-cloud -f put_blob my-azure container=base name=content.txt blob_content='Some content'
43999
44000   container
44001       Name of existing container.
44002
44003   name
44004       Name of existing blob.
44005
44006   blob_path
44007       The path on the local machine of the file to upload as a  blob.  Either
44008       this or blob_content must be specified.
44009
44010   blob_content
44011       The  actual  content to be uploaded as a blob. Either this or blob_path
44012       must me specified.
44013
44014   cache_control
44015       Optional. The Blob service stores this value but does not use or modify
44016       it.
44017
44018   content_language
44019       Optional. Specifies the natural languages used by this resource.
44020
44021   content_md5
44022       Optional.  An MD5 hash of the blob content. This hash is used to verify
44023       the integrity of the blob during transport. When this header is  speci‐
44024       fied, the storage service checks the hash that has arrived with the one
44025       that was sent. If the two hashes do not match, the operation will  fail
44026       with error code 400 (Bad Request).
44027
44028   blob_content_type
44029       Optional. Set the blob's content type.
44030
44031   blob_content_encoding
44032       Optional. Set the blob's content encoding.
44033
44034   blob_content_language
44035       Optional. Set the blob's content language.
44036
44037   blob_content_md5
44038       Optional. Set the blob's MD5 hash.
44039
44040   blob_cache_control
44041       Optional. Sets the blob's cache control.
44042
44043   meta_name_values
44044       A dict containing name, value for metadata.
44045
44046   lease_id
44047       Required if the blob has an active lease.
44048
44049   get_blob
44050       Download a blob
44051
44052          salt-cloud -f get_blob my-azure container=base name=top.sls local_path=/srv/salt/top.sls
44053          salt-cloud -f get_blob my-azure container=base name=content.txt return_content=True
44054
44055   container
44056       Name of existing container.
44057
44058   name
44059       Name of existing blob.
44060
44061   local_path
44062       The  path  on the local machine to download the blob to. Either this or
44063       return_content must be specified.
44064
44065   return_content
44066       Whether or not to return the content directly from the blob. If  speci‐
44067       fied,  must  be  True  or  False. Either this or the local_path must be
44068       specified.
44069
44070   snapshot
44071       Optional. The snapshot parameter is an opaque DateTime value that, when
44072       present, specifies the blob snapshot to retrieve.
44073
44074   lease_id
44075       Required if the blob has an active lease.
44076
44077   progress_callback
44078       callback  for  progress  with  signature function(current, total) where
44079       current is the number of bytes transferred so far,  and  total  is  the
44080       size of the blob.
44081
44082   max_connections
44083       Maximum  number  of  parallel  connections  to  use  when the blob size
44084       exceeds 64MB.  Set to 1 to download the blob chunks sequentially.   Set
44085       to  2  or  more to download the blob chunks in parallel. This uses more
44086       system resources but will download faster.
44087
44088   max_retries
44089       Number of times to retry download of blob chunk if an error occurs.
44090
44091   retry_wait
44092       Sleep time in secs between retries.
44093
44094   Getting Started With Azure ARM
44095       New in version 2016.11.0.
44096
44097
44098       Azure is a cloud service by Microsoft providing virtual  machines,  SQL
44099       services,  media services, and more. Azure ARM (aka, the Azure Resource
44100       Manager) is a next generation version of the Azure portal and API. This
44101       document describes how to use Salt Cloud to create a virtual machine on
44102       Azure ARM, with Salt installed.
44103
44104       More     information      about      Azure      is      located      at
44105       http://www.windowsazure.com/.
44106
44107   Dependencies
44108       · azure >= 2.0.0rc6
44109
44110       · azure-common >= 1.1.4
44111
44112       · azure-mgmt >= 0.30.0rc6
44113
44114       · azure-mgmt-compute >= 0.33.0
44115
44116       · azure-mgmt-network >= 0.30.0rc6
44117
44118       · azure-mgmt-resource >= 0.30.0
44119
44120       · azure-mgmt-storage >= 0.30.0rc6
44121
44122       · azure-mgmt-web >= 0.30.0rc6
44123
44124       · azure-storage >= 0.32.0
44125
44126       · msrestazure >= 0.4.21
44127
44128       · A Microsoft Azure account
44129
44130       · Salt
44131
44132   Installation Tips
44133       Because  the  azure library requires the cryptography library, which is
44134       compiled on-the-fly by pip, you may need  to  install  the  development
44135       tools for your operating system.
44136
44137       Before  you  install  azure  with  pip,  you  should make sure that the
44138       required libraries are installed.
44139
44140   Debian
44141       For Debian and Ubuntu, the  following  command  will  ensure  that  the
44142       required dependencies are installed:
44143
44144          sudo apt-get install build-essential libssl-dev libffi-dev python-dev
44145
44146   Red Hat
44147       For Fedora and RHEL-derivatives, the following command will ensure that
44148       the required dependencies are installed:
44149
44150          sudo yum install gcc libffi-devel python-devel openssl-devel
44151
44152   Configuration
44153       Set         up         the         provider          config          at
44154       /etc/salt/cloud.providers.d/azurearm.conf:
44155
44156          # Note: This example is for /etc/salt/cloud.providers.d/azurearm.conf
44157
44158          my-azurearm-config:
44159            driver: azurearm
44160            master: salt.example.com
44161            subscription_id: 01234567-890a-bcde-f012-34567890abdc
44162
44163            # https://apps.dev.microsoft.com/#/appList
44164            username: <username>@<subdomain>.onmicrosoft.com
44165            password: verybadpass
44166            location: westus
44167            resource_group: my_rg
44168
44169            # Optional
44170            network_resource_group: my_net_rg
44171            cleanup_disks: True
44172            cleanup_vhds: True
44173            cleanup_data_disks: True
44174            cleanup_interfaces: True
44175            custom_data: 'This is custom data'
44176            expire_publisher_cache: 604800  # 7 days
44177            expire_offer_cache: 518400  # 6 days
44178            expire_sku_cache: 432000  # 5 days
44179            expire_version_cache: 345600  # 4 days
44180            expire_group_cache: 14400  # 4 hours
44181            expire_interface_cache: 3600  # 1 hour
44182            expire_network_cache: 3600  # 1 hour
44183
44184   Cloud Profiles
44185       Set up an initial profile at /etc/salt/cloud.profiles:
44186
44187          azure-ubuntu-pass:
44188            provider: my-azure-config
44189            image: Canonical|UbuntuServer|14.04.5-LTS|14.04.201612050
44190            size: Standard_D1_v2
44191            location: eastus
44192            ssh_username: azureuser
44193            ssh_password: verybadpass
44194
44195          azure-ubuntu-key:
44196            provider: my-azure-config
44197            image: Canonical|UbuntuServer|14.04.5-LTS|14.04.201612050
44198            size: Standard_D1_v2
44199            location: eastus
44200            ssh_username: azureuser
44201            ssh_publickeyfile: /path/to/ssh_public_key.pub
44202
44203          azure-win2012:
44204            provider: my-azure-config
44205            image: MicrosoftWindowsServer|WindowsServer|2012-R2-Datacenter|latest
44206            size: Standard_D1_v2
44207            location: westus
44208            win_username: azureuser
44209            win_password: verybadpass
44210
44211       These  options are described in more detail below. Once configured, the
44212       profile can be realized with a salt command:
44213
44214          salt-cloud -p azure-ubuntu newinstance
44215
44216       This will create an salt minion instance named newinstance in Azure. If
44217       the command was executed on the salt-master, its Salt key will automat‐
44218       ically be signed on the master.
44219
44220       Once the instance has been created with salt-minion installed,  connec‐
44221       tivity to it can be verified with Salt:
44222
44223          salt newinstance test.ping
44224
44225   Profile Options
44226       The following options are currently available for Azure ARM.
44227
44228   provider
44229       The      name      of     the     provider     as     configured     in
44230       /etc/salt/cloud.providers.d/azure.conf.
44231
44232   image
44233       Required. The name of the image to use to create a VM. Available images
44234       can be viewed using the following command:
44235
44236          salt-cloud --list-images my-azure-config
44237
44238       As you will see in --list-images, image names are comprised of the fol‐
44239       lowing fields, separated by the pipe (|) character:
44240
44241          publisher: For example, Canonical or MicrosoftWindowsServer
44242          offer: For example, UbuntuServer or WindowsServer
44243          sku: Such as 14.04.5-LTS or 2012-R2-Datacenter
44244          version: Such as 14.04.201612050 or latest
44245
44246       It is possible to specify the URL or resource ID path of a custom image
44247       that you have access to, such as:
44248
44249          https://<mystorage>.blob.core.windows.net/system/Microsoft.Compute/Images/<mystorage>/template-osDisk.01234567-890a-bcdef0123-4567890abcde.vhd
44250
44251       or:
44252
44253          /subscriptions/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/resourceGroups/myRG/providers/Microsoft.Compute/images/myImage
44254
44255   size
44256       Required.  The  name of the size to use to create a VM. Available sizes
44257       can be viewed using the following command:
44258
44259          salt-cloud --list-sizes my-azure-config
44260
44261   location
44262       Required. The name of the location to create a VM in.  Available  loca‐
44263       tions can be viewed using the following command:
44264
44265          salt-cloud --list-locations my-azure-config
44266
44267   ssh_username
44268       Required  for  Linux. The admin user to add on the instance. It is also
44269       used to log into the newly-created VM to install Salt.
44270
44271   ssh_keyfile
44272       Required if using SSH key authentication. The path on the  Salt  master
44273       to the SSH private key used during the minion bootstrap process.
44274
44275   ssh_publickeyfile
44276       Use either ssh_publickeyfile or ssh_password. The path on the Salt mas‐
44277       ter to the SSH public key which will be pushed to the Linux VM.
44278
44279   ssh_password
44280       Use either ssh_publickeyfile or  ssh_password.  The  password  for  the
44281       admin user on the newly-created Linux virtual machine.
44282
44283   win_username
44284       Required  for  Windows.  The  user to use to log into the newly-created
44285       Windows VM to install Salt.
44286
44287   win_password
44288       Required for Windows. The password to use to log into the newly-created
44289       Windows VM to install Salt.
44290
44291   win_installer
44292       Required for Windows. The path to the Salt installer to be uploaded.
44293
44294   resource_group
44295       Required.  The resource group that all VM resources (VM, network inter‐
44296       faces, etc) will be created in.
44297
44298   network_resource_group
44299       Optional. If specified, then the VM will be connected  to  the  virtual
44300       network  in  this resource group, rather than the parent resource group
44301       of the instance.  The VM interfaces and IPs will remain in the  config‐
44302       ured resource_group with the VM.
44303
44304   network
44305       Required. The virtual network that the VM will be spun up in.
44306
44307   subnet
44308       Optional.  The  subnet  inside  the virtual network that the VM will be
44309       spun up in.  Default is default.
44310
44311   allocate_public_ip
44312       Optional. Default is False. If set to True, a public IP will be created
44313       and assigned to the VM.
44314
44315   load_balancer
44316       Optional.  The load-balancer for the VM's network interface to join. If
44317       specified the backend_pool option need to be set.
44318
44319   backend_pool
44320       Optional. Required if the load_balancer option is  set.  The  load-bal‐
44321       ancer's Backend Pool the VM's network interface will join.
44322
44323   iface_name
44324       Optional.  The name to apply to the VM's network interface. If not sup‐
44325       plied, the value will be set to <VM name>-iface0.
44326
44327   dns_servers
44328       Optional. A list of the DNS servers to configure for the network inter‐
44329       face (will be set on the VM by the DHCP of the VNET).
44330
44331          my-azurearm-profile:
44332            provider: azurearm-provider
44333            network: mynetwork
44334            dns_servers:
44335              - 10.1.1.4
44336              - 10.1.1.5
44337
44338   availability_set
44339       Optional.  If  set,  the VM will be added to the specified availability
44340       set.
44341
44342   volumes
44343       Optional. A list of dictionaries describing data disks to attach to the
44344       instance  can be specified using this setting. The data disk dictionar‐
44345       ies are passed entirely to the Azure DataDisk object, so ad-hoc options
44346       can be handled as long as they are valid properties of the object.
44347
44348          volumes:
44349          - disk_size_gb: 50
44350            caching: ReadWrite
44351          - disk_size_gb: 100
44352            caching: ReadWrite
44353            managed_disk:
44354              storage_account_type: Standard_LRS
44355
44356   cleanup_disks
44357       Optional.  Default  is  False. If set to True, disks will be cleaned up
44358       when the VM that they belong to is deleted.
44359
44360   cleanup_vhds
44361       Optional. Default is False. If set to True, VHDs  will  be  cleaned  up
44362       when  the  VM  and  disk  that  they  belong  to  are deleted. Requires
44363       cleanup_disks to be set to True.
44364
44365   cleanup_data_disks
44366       Optional. Default is False. If set to True, data disks  (non-root  vol‐
44367       umes)  will  be  cleaned  up  whtn  the VM that they are attached to is
44368       deleted.  Requires cleanup_disks to be set to True.
44369
44370   cleanup_interfaces
44371       Optional. Default is False. Normally when a VM is deleted, its  associ‐
44372       ated  interfaces and IPs are retained. This is useful if you expect the
44373       deleted VM to be recreated with the same name and network settings.  If
44374       you  would  like interfaces and IPs to be deleted when their associated
44375       VM is deleted, set this to True.
44376
44377   userdata
44378       Optional. Any custom cloud data that needs to be  specified.  How  this
44379       data  is  used  depends on the operating system and image that is used.
44380       For instance, Linux images that use cloud-init will  import  this  data
44381       for  use with that program. Some Windows images will create a file with
44382       a copy of this data, and others will ignore it. If a Windows image cre‐
44383       ates a file, then the location will depend upon the version of Windows.
44384       This will be ignored if the userdata_file is specified.
44385
44386   userdata_file
44387       Optional. The path to a file to be read and submitted to Azure as  user
44388       data.   How  this is used depends on the operating system that is being
44389       deployed. If used, any userdata setting will be ignored.
44390
44391   userdata_sendkeys
44392       Optional. Set to True in order to generate salt minion keys and provide
44393       them  as  variables  to the userdata script when running it through the
44394       template renderer. The keys can be referenced  as  {{opts['priv_key']}}
44395       and {{opts['pub_key']}}.
44396
44397   userdata_template
44398       Optional.  Enter  the renderer, such as jinja, to be used for the user‐
44399       data script template.
44400
44401   wait_for_ip_timeout
44402       Optional. Default is 600. When waiting for a VM  to  be  created,  Salt
44403       Cloud  will  attempt  to connect to the VM's IP address until it starts
44404       responding. This setting specifies the  maximum  time  to  wait  for  a
44405       response.
44406
44407   wait_for_ip_interval
44408       Optional.  Default  is 10. How long to wait between attempts to connect
44409       to the VM's IP.
44410
44411   wait_for_ip_interval_multiplier
44412       Optional. Default is 1. Increase the interval by this multiplier  after
44413       each request; helps with throttling.
44414
44415   expire_publisher_cache
44416       Optional.   Default   is   604800.   When  fetching  image  data  using
44417       --list-images, a number of web calls need to be made to the  Azure  ARM
44418       API.   This is normally very fast when performed using a VM that exists
44419       inside Azure itself, but can be very slow when made  from  an  external
44420       connection.
44421
44422       By  default,  the publisher data will be cached, and only updated every
44423       604800 seconds (7 days). If you need the publisher cache to be  updated
44424       at  a  different  frequency,  change this setting. Setting it to 0 will
44425       turn off the publisher cache.
44426
44427   expire_offer_cache
44428       Optional. Default is 518400. See expire_publisher_cache for details  on
44429       why this exists.
44430
44431       By  default,  the  offer  data  will  be cached, and only updated every
44432       518400 seconds (6 days). If you need the offer cache to be updated at a
44433       different frequency, change this setting. Setting it to 0 will turn off
44434       the publiser cache.
44435
44436   expire_sku_cache
44437       Optional. Default is 432000. See expire_publisher_cache for details  on
44438       why this exists.
44439
44440       By  default, the sku data will be cached, and only updated every 432000
44441       seconds (5 days). If you need the sku cache to be updated at a  differ‐
44442       ent  frequency,  change this setting. Setting it to 0 will turn off the
44443       sku cache.
44444
44445   expire_version_cache
44446       Optional. Default is 345600. See expire_publisher_cache for details  on
44447       why this exists.
44448
44449       By  default,  the  version  data will be cached, and only updated every
44450       345600 seconds (4 days). If you need the version cache to be updated at
44451       a  different  frequency, change this setting. Setting it to 0 will turn
44452       off the version cache.
44453
44454   expire_group_cache
44455       Optional. Default is 14400. See expire_publisher_cache for  details  on
44456       why this exists.
44457
44458       By  default,  the  resource group data will be cached, and only updated
44459       every 14400 seconds (4 hours). If you need the resource group cache  to
44460       be updated at a different frequency, change this setting. Setting it to
44461       0 will turn off the resource group cache.
44462
44463   expire_interface_cache
44464       Optional. Default is 3600. See expire_publisher_cache  for  details  on
44465       why this exists.
44466
44467       By  default,  the interface data will be cached, and only updated every
44468       3600 seconds (1 hour). If you need the interface cache to be updated at
44469       a  different  frequency, change this setting. Setting it to 0 will turn
44470       off the interface cache.
44471
44472   expire_network_cache
44473       Optional. Default is 3600. See expire_publisher_cache  for  details  on
44474       why this exists.
44475
44476       By  default,  the  network  data will be cached, and only updated every
44477       3600 seconds (1 hour). If you need the network cache to be updated at a
44478       different frequency, change this setting. Setting it to 0 will turn off
44479       the network cache.
44480
44481   Other Options
44482       Other options relevant to Azure ARM.
44483
44484   storage_account
44485       Required for actions involving an Azure storage account.
44486
44487   storage_key
44488       Required for actions involving an Azure storage account.
44489
44490   Show Instance
44491       This action is a  thin  wrapper  around  --full-query,  which  displays
44492       details  on  a  single  instance  only.  In an environment with several
44493       machines, this will save  a  user  from  having  to  sort  through  all
44494       instance data, just to examine a single instance.
44495
44496          salt-cloud -a show_instance myinstance
44497
44498   Getting Started with CloudStack
44499       CloudStack  is one the most popular cloud projects. It's an open source
44500       project to build public and/or private clouds. You can use  Salt  Cloud
44501       to launch CloudStack instances.
44502
44503   Dependencies
44504       · Libcloud >= 0.13.2
44505
44506   Configuration
44507       Using  Salt  for CloudStack, requires an API key and a secret key along
44508       with the API address endpoint information.
44509
44510          # Note: This example is for /etc/salt/cloud.providers or any file in the
44511          # /etc/salt/cloud.providers.d/ directory.
44512
44513          exoscale:
44514            driver: cloudstack
44515            host: api.exoscale.ch
44516            path: /compute
44517            apikey: EXOAPIKEY
44518            secretkey: EXOSECRETKEYINYOURACCOUNT
44519
44520       NOTE:
44521          Changed in version 2015.8.0.
44522
44523
44524          The provider parameter in cloud provider definitions was renamed  to
44525          driver.  This  change  was made to avoid confusion with the provider
44526          parameter that is used in cloud profile definitions. Cloud  provider
44527          definitions  now  use  driver to refer to the Salt cloud module that
44528          provides the underlying functionality to connect to  a  cloud  host,
44529          while  cloud  profiles continue to use provider to refer to provider
44530          configurations that you define.
44531
44532   Profiles
44533   Cloud Profiles
44534       Set up  an  initial  profile  at  /etc/salt/cloud.profiles  or  in  the
44535       /etc/salt/cloud.profiles.d/ directory:
44536
44537          exoscale-ubuntu:
44538            provider: exoscale-config
44539            image: Ubuntu 16.04
44540            size: Small
44541            location: ch-gva-2
44542
44543       Locations  can  be  obtained  using the --list-locations option for the
44544       salt-cloud command:
44545
44546          # salt-cloud --list-locations exoscale-config
44547          exoscale:
44548              ----------
44549              cloudstack:
44550                  ----------
44551                  ch-dk-2:
44552                      ----------
44553                      country:
44554                          Unknown
44555                      driver:
44556                      id:
44557                          91e5e9e4-c9ed-4b76-bee4-427004b3baf9
44558                      name:
44559                          ch-dk-2
44560                  ch-gva-2:
44561                      ----------
44562                      country:
44563                          Unknown
44564                      driver:
44565                      id:
44566                          1128bd56-b4d9-4ac6-a7b9-c715b187ce11
44567                      name:
44568                          ch-gva-2
44569
44570       Sizes can be obtained using the --list-sizes option for the  salt-cloud
44571       command:
44572
44573          # salt-cloud --list-sizes exoscale
44574          exoscale:
44575              ----------
44576              cloudstack:
44577                  ----------
44578                  Extra-large:
44579                      ----------
44580                      bandwidth:
44581                          0
44582                      disk:
44583                          0
44584                      driver:
44585                      extra:
44586                          ----------
44587                          cpu:
44588                              4
44589                      get_uuid:
44590                      id:
44591                          350dc5ea-fe6d-42ba-b6c0-efb8b75617ad
44592                      name:
44593                          Extra-large
44594                      price:
44595                          0
44596                      ram:
44597                          16384
44598                      uuid:
44599                          edb4cd4ae14bbf152d451b30c4b417ab095a5bfe
44600          ...SNIP...
44601
44602       Images   can  be  obtained  using  the  --list-images  option  for  the
44603       salt-cloud command:
44604
44605          # salt-cloud --list-images exoscale
44606          exoscale:
44607              ----------
44608              cloudstack:
44609                  ----------
44610                  Linux CentOS 6.6 64-bit:
44611                      ----------
44612                      driver:
44613                      extra:
44614                          ----------
44615                          displaytext:
44616                              Linux CentOS 6.6 64-bit 10G Disk (2014-12-01-bac8e0)
44617                          format:
44618                              QCOW2
44619                          hypervisor:
44620                              KVM
44621                          os:
44622                              Other PV (64-bit)
44623                          size:
44624                              10737418240
44625                      get_uuid:
44626                      id:
44627                          aa69ae64-1ea9-40af-8824-c2c3344e8d7c
44628                      name:
44629                          Linux CentOS 6.6 64-bit
44630                      uuid:
44631                          f26b4f54ec8591abdb6b5feb3b58f720aa438fee
44632          ...SNIP...
44633
44634   CloudStack specific settings
44635   securitygroup
44636       New in version 2017.7.0.
44637
44638
44639       You can specify a list of security groups (by name or id)  that  should
44640       be assigned to the VM:
44641
44642          exoscale:
44643            provider: cloudstack
44644            securitygroup:
44645              - default
44646              - salt-master
44647
44648   Getting Started With DigitalOcean
44649       DigitalOcean   is  a  public  cloud  host  that  specializes  in  Linux
44650       instances.
44651
44652   Configuration
44653       Using  Salt  for  DigitalOcean  requires  a  personal_access_token,  an
44654       ssh_key_file,  and  at  least  one  SSH key name in ssh_key_names. More
44655       ssh_key_names can be added by separating each key  with  a  comma.  The
44656       personal_access_token can be found in the DigitalOcean web interface in
44657       the "Apps & API" section. The SSH key name can be found under the  "SSH
44658       Keys" section.
44659
44660          # Note: This example is for /etc/salt/cloud.providers or any file in the
44661          # /etc/salt/cloud.providers.d/ directory.
44662
44663          my-digitalocean-config:
44664            driver: digitalocean
44665            personal_access_token: xxx
44666            ssh_key_file: /path/to/ssh/key/file
44667            ssh_key_names: my-key-name,my-key-name-2
44668            location: New York 1
44669
44670       NOTE:
44671          Changed in version 2015.8.0.
44672
44673
44674          The  provider parameter in cloud provider definitions was renamed to
44675          driver. This change was made to avoid confusion  with  the  provider
44676          parameter  that is used in cloud profile definitions. Cloud provider
44677          definitions now use driver to refer to the Salt  cloud  module  that
44678          provides  the  underlying  functionality to connect to a cloud host,
44679          while cloud profiles continue to use provider to refer  to  provider
44680          configurations that you define.
44681
44682   Profiles
44683   Cloud Profiles
44684       Set  up  an  initial  profile  at  /etc/salt/cloud.profiles  or  in the
44685       /etc/salt/cloud.profiles.d/ directory:
44686
44687          digitalocean-ubuntu:
44688            provider: my-digitalocean-config
44689            image: 14.04 x64
44690            size: 512MB
44691            location: New York 1
44692            private_networking: True
44693            backups_enabled: True
44694            ipv6: True
44695            create_dns_record: True
44696            userdata_file: /etc/salt/cloud.userdata.d/setup
44697            tags:
44698              - tag1
44699              - tag2
44700              - tag3
44701
44702       Locations can be obtained using the  --list-locations  option  for  the
44703       salt-cloud command:
44704
44705          # salt-cloud --list-locations my-digitalocean-config
44706          my-digitalocean-config:
44707              ----------
44708              digitalocean:
44709                  ----------
44710                  Amsterdam 1:
44711                      ----------
44712                      available:
44713                          False
44714                      features:
44715                          [u'backups']
44716                      name:
44717                          Amsterdam 1
44718                      sizes:
44719                          []
44720                      slug:
44721                          ams1
44722          ...SNIP...
44723
44724       Sizes  can be obtained using the --list-sizes option for the salt-cloud
44725       command:
44726
44727          # salt-cloud --list-sizes my-digitalocean-config
44728          my-digitalocean-config:
44729              ----------
44730              digitalocean:
44731                  ----------
44732                  512MB:
44733                      ----------
44734                      cost_per_hour:
44735                          0.00744
44736                      cost_per_month:
44737                          5.0
44738                      cpu:
44739                          1
44740                      disk:
44741                          20
44742                      id:
44743                          66
44744                      memory:
44745                          512
44746                      name:
44747                          512MB
44748                      slug:
44749                          None
44750          ...SNIP...
44751
44752       Images  can  be  obtained  using  the  --list-images  option  for   the
44753       salt-cloud command:
44754
44755          # salt-cloud --list-images my-digitalocean-config
44756          my-digitalocean-config:
44757              ----------
44758              digitalocean:
44759                  ----------
44760                  10.1:
44761                      ----------
44762                      created_at:
44763                          2015-01-20T20:04:34Z
44764                      distribution:
44765                          FreeBSD
44766                      id:
44767                          10144573
44768                      min_disk_size:
44769                          20
44770                      name:
44771                          10.1
44772                      public:
44773                          True
44774          ...SNIP...
44775
44776   Profile Specifics:
44777   ssh_username
44778       If  using  a  FreeBSD  image  from DigitalOcean, you'll need to set the
44779       ssh_username setting to freebsd in your profile configuration.
44780
44781          digitalocean-freebsd:
44782            provider: my-digitalocean-config
44783            image: 10.2
44784            size: 512MB
44785            ssh_username: freebsd
44786
44787   userdata_file
44788       New in version 2016.11.6.
44789
44790
44791       Use userdata_file to specify the userdata file to upload for  use  with
44792       cloud-init if available.
44793
44794          my-openstack-config:
44795            # Pass userdata to the instance to be created
44796            userdata_file: /etc/salt/cloud-init/packages.yml
44797
44798          my-do-config:
44799            # Pass userdata to the instance to be created
44800            userdata_file: /etc/salt/cloud-init/packages.yml
44801            userdata_template: jinja
44802
44803       If  no  userdata_template  is set in the cloud profile, then the master
44804       configuration will be checked for a userdata_template value.   If  this
44805       is not set, then no templating will be performed on the userdata_file.
44806
44807       To  disable  templating in a cloud profile when a userdata_template has
44808       been set in the master configuration file, simply set userdata_template
44809       to False in the cloud profile:
44810
44811          my-do-config:
44812            # Pass userdata to the instance to be created
44813            userdata_file: /etc/salt/cloud-init/packages.yml
44814            userdata_template: False
44815
44816   Miscellaneous Information
44817       NOTE:
44818          DigitalOcean's  concept  of  Applications  is  nothing  more  than a
44819          pre-configured instance (same as a normal Droplet).  You  will  find
44820          examples  such  Docker  0.7 Ubuntu 13.04 x64 and Wordpress on Ubuntu
44821          12.10 when using the --list-images option. These names can  be  used
44822          just  like  the  rest  of  the standard instances when specifying an
44823          image in the cloud profile configuration.
44824
44825       NOTE:
44826          If your domain's DNS is managed with DigitalOcean, and  your  minion
44827          name matches your DigitalOcean managed DNS domain, you can automati‐
44828          cally create A and AAA records for newly created droplets. Use  cre‐
44829          ate_dns_record:   True   in  your  config  to  enable  this.  Adding
44830          delete_dns_record: True to also delete records  when  a  droplet  is
44831          destroyed  is optional. Due to limitations in salt-cloud design, the
44832          destroy code does not have access to the VM config data. WHETHER YOU
44833          ADD  create_dns_record:  True  OR  NOT,  salt-cloud  WILL attempt to
44834          delete your DNS records if the minion name matches. This  will  pre‐
44835          vent advertising any recycled IP addresses for destroyed minions.
44836
44837       NOTE:
44838          If  you  need to perform the bootstrap using the local interface for
44839          droplets, this can be done by setting ssh_interface: private in your
44840          config.  By  default  the  salt-cloud script would run on the public
44841          interface however if firewall is preventing the  connection  to  the
44842          Droplet  over the public interface you might need to set this option
44843          to connect via private interface. Also, to  use  this  feature  pri‐
44844          vate_networking: True must be set in the config.
44845
44846       NOTE:
44847          Additional documentation is available from DigitalOcean.
44848
44849   Getting Started With Dimension Data Cloud
44850       Dimension  Data  are  a global IT Services company and form part of the
44851       NTT Group.  Dimension Data provide IT-as-a-Service to customers  around
44852       the globe on their cloud platform (Compute as a Service). The CaaS ser‐
44853       vice is available either on one of the public cloud instances or  as  a
44854       private instance on premises.
44855
44856       http://cloud.dimensiondata.com/
44857
44858       CaaS has its own non-standard API , SaltStack provides a wrapper on top
44859       of this API with common methods with other IaaS  solutions  and  Public
44860       cloud  providers.   Therefore, you can use the Dimension Data module to
44861       communicate with both the public and private clouds.
44862
44863   Dependencies
44864       This driver requires the Python apache-libcloud and netaddr library  to
44865       be installed.
44866
44867   Configuration
44868       When  you instantiate a driver you need to pass the following arguments
44869       to the driver constructor:
44870
44871       · user_id - Your Dimension Data Cloud username
44872
44873       · key - Your Dimension Data Cloud password
44874
44875       · region - The region key, one of the possible region keys
44876
44877       Possible regions:
44878
44879       · dd-na : Dimension Data North America (USA)
44880
44881       · dd-eu : Dimension Data Europe
44882
44883       · dd-af : Dimension Data Africa
44884
44885       · dd-au : Dimension Data Australia
44886
44887       · dd-latam : Dimension Data Latin America
44888
44889       · dd-ap : Dimension Data Asia Pacific
44890
44891       · dd-canada : Dimension Data Canada region
44892
44893          # Note: This example is for /etc/salt/cloud.providers or any file in the
44894          # /etc/salt/cloud.providers.d/ directory.
44895
44896          my-dimensiondata-config:
44897            user_id: my_username
44898            key: myPassword!
44899            region: dd-na
44900            driver: dimensiondata
44901
44902       NOTE:
44903          In version 2015.8.0, the provider parameter in cloud provider  defi‐
44904          nitions  was renamed to driver. This change was made to avoid confu‐
44905          sion with the provider parameter that is used in cloud profile defi‐
44906          nitions.  Cloud  provider definitions now use driver to refer to the
44907          Salt cloud module that provides the underlying functionality to con‐
44908          nect  to a cloud host, while cloud profiles continue to use provider
44909          to refer to provider configurations that you define.
44910
44911   Profiles
44912   Cloud Profiles
44913       Dimension Data images have an inbuilt size configuration, there  is  no
44914       list  of  sizes (although, if the command --list-sizes is run a default
44915       will be returned).
44916
44917       Images  can  be  obtained  using  the  --list-images  option  for   the
44918       salt-cloud command:
44919
44920          # salt-cloud --list-images my-dimensiondata-config
44921          my-dimensiondata-config:
44922          ----------
44923          dimensiondata:
44924              ----------
44925              CSfM SharePoint 2013 Trial:
44926                  ----------
44927                  driver:
44928                  extra:
44929                      ----------
44930                      OS_displayName:
44931                          WIN2012R2S/64
44932                      OS_type:
44933                          None
44934                      cpu:
44935                      created:
44936                          2015-03-19T18:36:06.000Z
44937                      description:
44938                          Windows 2012 R2 Standard 64-bit installed with SharePoint 2013 and Visual Studio 2013 Pro (Trial Version)
44939                      location:
44940                      memoryGb:
44941                          12
44942                      osImageKey:
44943                          T-WIN-2012R2-STD-SP2013-VS2013-64-4-12-100
44944                  get_uuid:
44945                  id:
44946                      0df4677e-d380-4e9b-9469-b529ee0214c5
44947                  name:
44948                      CSfM SharePoint 2013 Trial
44949                  uuid:
44950                      28c077f1be970ee904541407b377e3ff87a9ac69
44951              CentOS 5 32-bit 2 CPU:
44952                  ----------
44953                  driver:
44954                  extra:
44955                      ----------
44956                      OS_displayName:
44957                          CENTOS5/32
44958                      OS_type:
44959                          None
44960                      cpu:
44961                      created:
44962                          2015-10-21T14:52:29.000Z
44963                      description:
44964                          CentOS Release 5.11 32-bit
44965                      location:
44966                      memoryGb:
44967                          4
44968                      osImageKey:
44969                          T-CENT-5-32-2-4-10
44970                  get_uuid:
44971                  id:
44972                      a8046bd1-04ea-4668-bf32-bf8d5540faed
44973                  name:
44974                      CentOS 5 32-bit 2 CPU
44975                  uuid:
44976                      4d7dd59929fed6f4228db861b609da64997773a7
44977
44978          ...SNIP...
44979
44980       Locations  can  be  obtained  using the --list-locations option for the
44981       salt-cloud command:
44982
44983          my-dimensiondata-config:
44984              ----------
44985              dimensiondata:
44986                  ----------
44987                  Australia - Melbourne:
44988                      ----------
44989                      country:
44990                          Australia
44991                      driver:
44992                      id:
44993                          AU2
44994                      name:
44995                          Australia - Melbourne
44996                  Australia - Melbourne MCP2:
44997                      ----------
44998                      country:
44999                          Australia
45000                      driver:
45001                      id:
45002                          AU10
45003                      name:
45004                          Australia - Melbourne MCP2
45005                  Australia - Sydney:
45006                      ----------
45007                      country:
45008                          Australia
45009                      driver:
45010                      id:
45011                          AU1
45012                      name:
45013                          Australia - Sydney
45014                  Australia - Sydney MCP2:
45015                      ----------
45016                      country:
45017                          Australia
45018                      driver:
45019                      id:
45020                          AU9
45021                      name:
45022                          Australia - Sydney MCP2
45023                  New Zealand:
45024                      ----------
45025                      country:
45026                          New Zealand
45027                      driver:
45028                      id:
45029                          AU8
45030                      name:
45031                          New Zealand
45032                  New_Zealand:
45033                      ----------
45034                      country:
45035                          New Zealand
45036                      driver:
45037                      id:
45038                          AU11
45039                      name:
45040                          New_Zealand
45041
45042       NOTE:
45043          Dimension Data  Cloud  REST  API  documentation  is  available  from
45044          Dimension Data MCP 2.
45045
45046   Getting Started With AWS EC2
45047       Amazon  EC2  is a very widely used public cloud platform and one of the
45048       core platforms Salt Cloud has been built to support.
45049
45050       Previously, the suggested driver for AWS EC2 was the aws  driver.  This
45051       has been deprecated in favor of the ec2 driver. Configuration using the
45052       old aws driver will still function, but that driver  is  no  longer  in
45053       active development.
45054
45055   Dependencies
45056       This driver requires the Python requests library to be installed.
45057
45058   Configuration
45059       The  following example illustrates some of the options that can be set.
45060       These parameters are discussed in more detail below.
45061
45062          # Note: This example is for /etc/salt/cloud.providers or any file in the
45063          # /etc/salt/cloud.providers.d/ directory.
45064
45065          my-ec2-southeast-public-ips:
45066            # Set up the location of the salt master
45067            #
45068            minion:
45069              master: saltmaster.example.com
45070
45071            # Set up grains information, which will be common for all nodes
45072            # using this provider
45073            grains:
45074              node_type: broker
45075              release: 1.0.1
45076
45077            # Specify whether to use public or private IP for deploy script.
45078            #
45079            # Valid options are:
45080            #     private_ips - The salt-cloud command is run inside the EC2
45081            #     public_ips - The salt-cloud command is run outside of EC2
45082            #
45083            ssh_interface: public_ips
45084
45085            # Optionally configure the Windows credential validation number of
45086            # retries and delay between retries.  This defaults to 10 retries
45087            # with a one second delay betwee retries
45088            win_deploy_auth_retries: 10
45089            win_deploy_auth_retry_delay: 1
45090
45091            # Set the EC2 access credentials (see below)
45092            #
45093            id: 'use-instance-role-credentials'
45094            key: 'use-instance-role-credentials'
45095
45096            # If 'role_arn' is specified the above credentials are used to
45097            # to assume to the role. By default, role_arn is set to None.
45098            role_arn: arn:aws:iam::012345678910:role/SomeRoleName
45099
45100            # Make sure this key is owned by corresponding user (default 'salt') with permissions 0400.
45101            #
45102            private_key: /etc/salt/my_test_key.pem
45103            keyname: my_test_key
45104            securitygroup: default
45105
45106            # Optionally configure default region
45107            # Use salt-cloud --list-locations <provider> to obtain valid regions
45108            #
45109            location: ap-southeast-1
45110            availability_zone: ap-southeast-1b
45111
45112            # Configure which user to use to run the deploy script. This setting is
45113            # dependent upon the AMI that is used to deploy. It is usually safer to
45114            # configure this individually in a profile, than globally. Typical users
45115            # are:
45116            #
45117            # Amazon Linux -> ec2-user
45118            # RHEL         -> ec2-user
45119            # CentOS       -> ec2-user
45120            # Ubuntu       -> ubuntu
45121            # Debian       -> admin
45122            #
45123            ssh_username: ec2-user
45124
45125            # Optionally add an IAM profile
45126            iam_profile: 'arn:aws:iam::123456789012:instance-profile/ExampleInstanceProfile'
45127
45128            driver: ec2
45129
45130
45131          my-ec2-southeast-private-ips:
45132            # Set up the location of the salt master
45133            #
45134            minion:
45135              master: saltmaster.example.com
45136
45137            # Specify whether to use public or private IP for deploy script.
45138            #
45139            # Valid options are:
45140            #     private_ips - The salt-master is also hosted with EC2
45141            #     public_ips - The salt-master is hosted outside of EC2
45142            #
45143            ssh_interface: private_ips
45144
45145            # Optionally configure the Windows credential validation number of
45146            # retries and delay between retries.  This defaults to 10 retries
45147            # with a one second delay betwee retries
45148            win_deploy_auth_retries: 10
45149            win_deploy_auth_retry_delay: 1
45150
45151            # Set the EC2 access credentials (see below)
45152            #
45153            id: 'use-instance-role-credentials'
45154            key: 'use-instance-role-credentials'
45155
45156            # Make sure this key is owned by root with permissions 0400.
45157            #
45158            private_key: /etc/salt/my_test_key.pem
45159            keyname: my_test_key
45160
45161            # This one should NOT be specified if VPC was not configured in AWS to be
45162            # the default. It might cause an error message which says that network
45163            # interfaces and an instance-level security groups may not be specified
45164            # on the same request.
45165            #
45166            securitygroup: default
45167
45168            # Optionally configure default region
45169            #
45170            location: ap-southeast-1
45171            availability_zone: ap-southeast-1b
45172
45173            # Configure which user to use to run the deploy script. This setting is
45174            # dependent upon the AMI that is used to deploy. It is usually safer to
45175            # configure this individually in a profile, than globally. Typical users
45176            # are:
45177            #
45178            # Amazon Linux -> ec2-user
45179            # RHEL         -> ec2-user
45180            # CentOS       -> ec2-user
45181            # Ubuntu       -> ubuntu
45182            #
45183            ssh_username: ec2-user
45184
45185            # Optionally add an IAM profile
45186            iam_profile: 'my other profile name'
45187
45188            driver: ec2
45189
45190       NOTE:
45191          Changed in version 2015.8.0.
45192
45193
45194          The provider parameter in cloud provider definitions was renamed  to
45195          driver.  This  change  was made to avoid confusion with the provider
45196          parameter that is used in cloud profile definitions. Cloud  provider
45197          definitions  now  use  driver to refer to the Salt cloud module that
45198          provides the underlying functionality to connect to  a  cloud  host,
45199          while  cloud  profiles continue to use provider to refer to provider
45200          configurations that you define.
45201
45202   Access Credentials
45203       The id and key settings may be found in the Security  Credentials  area
45204       of the AWS Account page:
45205
45206       https://portal.aws.amazon.com/gp/aws/securityCredentials
45207
45208       Both  are located in the Access Credentials area of the page, under the
45209       Access Keys tab. The id setting is labeled Access Key ID, and  the  key
45210       setting is labeled Secret Access Key.
45211
45212       Note:  if either id or key is set to 'use-instance-role-credentials' it
45213       is assumed that Salt is running on an AWS instance,  and  the  instance
45214       role credentials will be retrieved and used.  Since both the id and key
45215       are required parameters for the AWS ec2 provider, it is recommended  to
45216       set both to 'use-instance-role-credentials' for this functionality.
45217
45218       A  "static"  and "permanent" Access Key ID and Secret Key can be speci‐
45219       fied, but this is not recommended.  Instance role keys are rotated on a
45220       regular basis, and are the recommended method of specifying AWS creden‐
45221       tials.
45222
45223   Windows Deploy Timeouts
45224       For Windows instances, it may take longer than normal for the  instance
45225       to be ready.  In these circumstances, the provider configuration can be
45226       configured     with     a     win_deploy_auth_retries     and/or      a
45227       win_deploy_auth_retry_delay  setting, which default to 10 retries and a
45228       one second delay between retries.  These retries and timeouts relate to
45229       validating the Administrator password once AWS provides the credentials
45230       via the AWS API.
45231
45232   Key Pairs
45233       In order to create an instance with Salt installed  and  configured,  a
45234       key  pair  will need to be created. This can be done in the EC2 Manage‐
45235       ment Console, in the Key Pairs area. These key pairs are  unique  to  a
45236       specific region. Keys in the us-east-1 region can be configured at:
45237
45238       https://console.aws.amazon.com/ec2/home?region=us-east-1#s=KeyPairs
45239
45240       Keys in the us-west-1 region can be configured at
45241
45242       https://console.aws.amazon.com/ec2/home?region=us-west-1#s=KeyPairs
45243
45244       ...and  so  on.  When  creating  a key pair, the browser will prompt to
45245       download a pem file. This file must be placed in a directory accessible
45246       by Salt Cloud, with permissions set to either 0400 or 0600.
45247
45248   Security Groups
45249       An instance on EC2 needs to belong to a security group. Like key pairs,
45250       these are unique to a specific region. These are also configured in the
45251       EC2 Management Console. Security groups for the us-east-1 region can be
45252       configured at:
45253
45254       https://console.aws.amazon.com/ec2/home?region=us-east-1#s=SecurityGroups
45255
45256       ...and so on.
45257
45258       A  security  group defines firewall rules which an instance will adhere
45259       to. If the salt-master is configured outside of EC2, the security group
45260       must  open  the  SSH  port (usually port 22) in order for Salt Cloud to
45261       install Salt.
45262
45263   IAM Profile
45264       Amazon EC2 instances support the concept of an instance profile,  which
45265       is a logical container for the IAM role. At the time that you launch an
45266       EC2 instance, you can associate the instance with an instance  profile,
45267       which  in  turn  corresponds to the IAM role. Any software that runs on
45268       the EC2 instance is able to access AWS using the permissions associated
45269       with the IAM role.
45270
45271       Scaffolding the profile is a 2-step configuration process:
45272
45273       1. Configure an IAM Role from the IAM Management Console.
45274
45275       2. Attach this role to a new profile. It can be done with the AWS CLI:
45276
45277                 > aws iam create-instance-profile --instance-profile-name PROFILE_NAME
45278                 > aws iam add-role-to-instance-profile --instance-profile-name PROFILE_NAME --role-name ROLE_NAME
45279
45280       Once  the profile is created, you can use the PROFILE_NAME to configure
45281       your cloud profiles.
45282
45283   Cloud Profiles
45284       Set up an initial profile at /etc/salt/cloud.profiles:
45285
45286          base_ec2_private:
45287            provider: my-ec2-southeast-private-ips
45288            image: ami-e565ba8c
45289            size: t2.micro
45290            ssh_username: ec2-user
45291
45292          base_ec2_public:
45293            provider: my-ec2-southeast-public-ips
45294            image: ami-e565ba8c
45295            size: t2.micro
45296            ssh_username: ec2-user
45297
45298          base_ec2_db:
45299            provider: my-ec2-southeast-public-ips
45300            image: ami-e565ba8c
45301            size: m1.xlarge
45302            ssh_username: ec2-user
45303            volumes:
45304              - { size: 10, device: /dev/sdf }
45305              - { size: 10, device: /dev/sdg, type: io1, iops: 1000 }
45306              - { size: 10, device: /dev/sdh, type: io1, iops: 1000 }
45307              - { size: 10, device: /dev/sdi, tags: {"Environment": "production"} }
45308            # optionally add tags to profile:
45309            tag: {'Environment': 'production', 'Role': 'database'}
45310            # force grains to sync after install
45311            sync_after_install: grains
45312
45313          base_ec2_vpc:
45314            provider: my-ec2-southeast-public-ips
45315            image: ami-a73264ce
45316            size: m1.xlarge
45317            ssh_username: ec2-user
45318            script:  /etc/salt/cloud.deploy.d/user_data.sh
45319            network_interfaces:
45320              - DeviceIndex: 0
45321                PrivateIpAddresses:
45322                  - Primary: True
45323                #auto assign public ip (not EIP)
45324                AssociatePublicIpAddress: True
45325                SubnetId: subnet-813d4bbf
45326                SecurityGroupId:
45327                  - sg-750af413
45328            del_root_vol_on_destroy: True
45329            del_all_vols_on_destroy: True
45330            volumes:
45331              - { size: 10, device: /dev/sdf }
45332              - { size: 10, device: /dev/sdg, type: io1, iops: 1000 }
45333              - { size: 10, device: /dev/sdh, type: io1, iops: 1000 }
45334            tag: {'Environment': 'production', 'Role': 'database'}
45335            sync_after_install: grains
45336
45337       The profile can now be realized with a salt command:
45338
45339          # salt-cloud -p base_ec2 ami.example.com
45340          # salt-cloud -p base_ec2_public ami.example.com
45341          # salt-cloud -p base_ec2_private ami.example.com
45342
45343       This will create an instance named ami.example.com in EC2.  The  minion
45344       that  is installed on this instance will have an id of ami.example.com.
45345       If the command was executed on the salt-master, its Salt key will auto‐
45346       matically be signed on the master.
45347
45348       Once  the instance has been created with salt-minion installed, connec‐
45349       tivity to it can be verified with Salt:
45350
45351          # salt 'ami.example.com' test.ping
45352
45353   Required Settings
45354       The following settings are always required for EC2:
45355
45356          # Set the EC2 login data
45357          my-ec2-config:
45358            id: HJGRYCILJLKJYG
45359            key: 'kdjgfsgm;woormgl/aserigjksjdhasdfgn'
45360            keyname: test
45361            securitygroup: quick-start
45362            private_key: /root/test.pem
45363            driver: ec2
45364
45365   Optional Settings
45366       EC2 allows a userdata file to be passed to the instance to be  created.
45367       This functionality was added to Salt in the 2015.5.0 release.
45368
45369          my-ec2-config:
45370            # Pass userdata to the instance to be created
45371            userdata_file: /etc/salt/my-userdata-file
45372
45373       NOTE:
45374          From  versions 2016.11.0 and 2016.11.3, this file was passed through
45375          the master's renderer to template it. However,  this  caused  issues
45376          with non-YAML data, so templating is no longer performed by default.
45377          To template the userdata_file, add a userdata_template option to the
45378          cloud profile:
45379
45380              my-ec2-config:
45381                # Pass userdata to the instance to be created
45382                userdata_file: /etc/salt/my-userdata-file
45383                userdata_template: jinja
45384
45385          If no userdata_template is set in the cloud profile, then the master
45386          configuration will be checked for  a  userdata_template  value.   If
45387          this  is  not set, then no templating will be performed on the user‐
45388          data_file.
45389
45390          To disable templating in a cloud profile  when  a  userdata_template
45391          has  been  set  in  the  master configuration file, simply set user‐
45392          data_template to False in the cloud profile:
45393
45394              my-ec2-config:
45395                # Pass userdata to the instance to be created
45396                userdata_file: /etc/salt/my-userdata-file
45397                userdata_template: False
45398
45399       EC2 allows a location to be set for servers to be deployed  in.  Avail‐
45400       ability zones exist inside regions, and may be added to increase speci‐
45401       ficity.
45402
45403          my-ec2-config:
45404            # Optionally configure default region
45405            location: ap-southeast-1
45406            availability_zone: ap-southeast-1b
45407
45408       EC2 instances can have a  public  or  private  IP,  or  both.  When  an
45409       instance  is  deployed,  Salt Cloud needs to log into it via SSH to run
45410       the deploy script.  By default, the public IP will be used for this. If
45411       the salt-cloud command is run from another EC2 instance, the private IP
45412       should be used.
45413
45414          my-ec2-config:
45415            # Specify whether to use public or private IP for deploy script
45416            # private_ips or public_ips
45417            ssh_interface: public_ips
45418
45419       Many EC2 instances do not allow remote  access  to  the  root  user  by
45420       default.   Instead,  another user must be used to run the deploy script
45421       using sudo. Some common usernames include ec2-user (for Amazon  Linux),
45422       ubuntu (for Ubuntu instances), admin (official Debian) and bitnami (for
45423       images provided by Bitnami).
45424
45425          my-ec2-config:
45426            # Configure which user to use to run the deploy script
45427            ssh_username: ec2-user
45428
45429       Multiple usernames can be provided,  in  which  case  Salt  Cloud  will
45430       attempt  to  guess  the  correct username. This is mostly useful in the
45431       main configuration file:
45432
45433          my-ec2-config:
45434            ssh_username:
45435              - ec2-user
45436              - ubuntu
45437              - admin
45438              - bitnami
45439
45440       Multiple security groups can also be specified in the same fashion:
45441
45442          my-ec2-config:
45443            securitygroup:
45444              - default
45445              - extra
45446
45447       EC2 instances can be added to an AWS Placement Group by specifying  the
45448       placementgroup option:
45449
45450          my-ec2-config:
45451            placementgroup: my-aws-placement-group
45452
45453       Your  instances may optionally make use of EC2 Spot Instances. The fol‐
45454       lowing example will request that spot instances be used and your  maxi‐
45455       mum  bid  will be $0.10. Keep in mind that different spot prices may be
45456       needed based on the current value of the various  EC2  instance  sizes.
45457       You can check current and past spot instance pricing via the EC2 API or
45458       AWS Console.
45459
45460          my-ec2-config:
45461            spot_config:
45462              spot_price: 0.10
45463
45464       You can optionally specify tags to  apply  to  the  EC2  spot  instance
45465       request.   A spot instance request itself is an object in AWS. The fol‐
45466       lowing example will set two tags on the spot instance request.
45467
45468          my-ec2-config:
45469            spot_config:
45470              spot_price: 0.10
45471              tag:
45472                tag0: value
45473                tag1: value
45474
45475       By default, the spot instance type is set  to  'one-time',  meaning  it
45476       will  be  launched and, if it's ever terminated for whatever reason, it
45477       will not be recreated. If you would like  your  spot  instances  to  be
45478       relaunched  after  a termination (by you or AWS), set the type to 'per‐
45479       sistent'.
45480
45481       NOTE: Spot instances are a great way to save a bit of money, but you do
45482       run the risk of losing your spot instances if the current price for the
45483       instance size goes above your maximum bid.
45484
45485       The following parameters may be set in the cloud configuration file  to
45486       control various aspects of the spot instance launching:
45487
45488       · wait_for_spot_timeout:  seconds  to  wait  before  giving  up on spot
45489         instance launch (default=600)
45490
45491       · wait_for_spot_interval: seconds to wait in between  polling  requests
45492         to determine if a spot instance is available (default=30)
45493
45494       · wait_for_spot_interval_multiplier:  a multiplier to add to the inter‐
45495         val in between requests, which is useful if AWS  is  throttling  your
45496         requests (default=1)
45497
45498       · wait_for_spot_max_failures:  maximum number of failures before giving
45499         up on launching your spot instance (default=10)
45500
45501       If you find that you're being throttled by AWS while polling  for  spot
45502       instances,  you  can set the following in your core cloud configuration
45503       file that will double the polling interval after each request to AWS.
45504
45505          wait_for_spot_interval: 1
45506          wait_for_spot_interval_multiplier: 2
45507
45508       See the AWS Spot Instances documentation for more information.
45509
45510       Block device mappings enable you to specify additional EBS  volumes  or
45511       instance  store  volumes when the instance is launched. This setting is
45512       also available on each cloud profile. Note that the number of  instance
45513       stores varies by instance type.  If more mappings are provided than are
45514       supported by the instance type, mappings will be created in  the  order
45515       provided and additional mappings will be ignored. Consult the AWS docu‐
45516       mentation for a listing of the available instance  stores,  and  device
45517       names.
45518
45519          my-ec2-config:
45520            block_device_mappings:
45521              - DeviceName: /dev/sdb
45522                VirtualName: ephemeral0
45523              - DeviceName: /dev/sdc
45524                VirtualName: ephemeral1
45525
45526       You  can  also use block device mappings to change the size of the root
45527       device at the provisioning time. For example, assuming the root  device
45528       is '/dev/sda', you can set its size to 100G by using the following con‐
45529       figuration.
45530
45531          my-ec2-config:
45532            block_device_mappings:
45533              - DeviceName: /dev/sda
45534                Ebs.VolumeSize: 100
45535                Ebs.VolumeType: gp2
45536                Ebs.SnapshotId: dummy0
45537              - DeviceName: /dev/sdb
45538                # required for devices > 2TB
45539                Ebs.VolumeType: gp2
45540                Ebs.VolumeSize: 3001
45541
45542       Tagging of block devices can be set on a per device basis. For example,
45543       you  may  have  multiple  devices defined in your block_device_mappings
45544       structure. You have the option to set tags on any of one device or  all
45545       of them as shown in the following configuration.
45546
45547          my-ec2-config:
45548            block_device_mappings:
45549              - DeviceName: /dev/sda
45550                Ebs.VolumeSize: 100
45551                Ebs.VolumeType: gp2
45552                tag:
45553                  tag0: myserver
45554                  tag1: value
45555              - DeviceName: /dev/sdb
45556                Ebs.VolumeType: gp2
45557                Ebs.VolumeSize: 3001
45558                tag:
45559                  tagX: value
45560                  tagY: value
45561
45562       You can configure any AWS valid tag name as shown in the above example,
45563       including 'Name'. If you do not configure the tag 'Name',  it  will  be
45564       automatically  created with a value set to the virtual machine name. If
45565       you configure the tag 'Name', the value  you  configure  will  be  used
45566       rather than defaulting to the virtual machine name as shown in the fol‐
45567       lowing configuration.
45568
45569          my-ec2-config:
45570            block_device_mappings:
45571              - DeviceName: /dev/sda
45572                Ebs.VolumeSize: 100
45573                Ebs.VolumeType: gp2
45574                tag:
45575                  Name: myserver
45576                  tag0: value
45577                  tag1: value
45578              - DeviceName: /dev/sdb
45579                Ebs.VolumeType: gp2
45580                Ebs.VolumeSize: 3001
45581                tag:
45582                  Name: customvalue
45583                  tagX: value
45584                  tagY: value
45585
45586       Existing EBS volumes  may  also  be  attached  (not  created)  to  your
45587       instances  or you can create new EBS volumes based on EBS snapshots. To
45588       simply attach an existing volume use the volume_id parameter.
45589
45590          device: /dev/xvdj
45591          volume_id: vol-12345abcd
45592
45593       Or, to create a volume from an EBS snapshot, use the  snapshot  parame‐
45594       ter.
45595
45596          device: /dev/xvdj
45597          snapshot: snap-abcd12345
45598
45599       Note that volume_id will take precedence over the snapshot parameter.
45600
45601       Tags can be set once an instance has been launched.
45602
45603          my-ec2-config:
45604              tag:
45605                  tag0: value
45606                  tag1: value
45607
45608   Setting up a Master inside EC2
45609       Salt  Cloud  can  configure  Salt  Masters  as well as Minions. Use the
45610       make_master setting to use this functionality.
45611
45612          my-ec2-config:
45613            # Optionally install a Salt Master in addition to the Salt Minion
45614            make_master: True
45615
45616       When creating a Salt Master inside EC2 with make_master: True, or  when
45617       the  Salt  Master  is  already  located  and  configured inside EC2, by
45618       default, minions connect to the master's public IP address during  Salt
45619       Cloud's provisioning process. Depending on how your security groups are
45620       defined, the minions may or may not be able  to  communicate  with  the
45621       master.  In  order to use the master's private IP in EC2 instead of the
45622       public IP, set the salt_interface to private_ips.
45623
45624          my-ec2-config:
45625            # Optionally set the IP configuration to private_ips
45626            salt_interface: private_ips
45627
45628   Modify EC2 Tags
45629       One of the features of EC2 is the ability to tag  resources.  In  fact,
45630       under  the  hood,  the  names  given to EC2 instances by salt-cloud are
45631       actually just stored as a tag called Name. Salt Cloud has  the  ability
45632       to manage these tags:
45633
45634          salt-cloud -a get_tags mymachine
45635          salt-cloud -a set_tags mymachine tag1=somestuff tag2='Other stuff'
45636          salt-cloud -a del_tags mymachine tag1,tag2,tag3
45637
45638       It  is  possible  to manage tags on any resource in EC2 with a Resource
45639       ID, not just instances:
45640
45641          salt-cloud -f get_tags my_ec2 resource_id=af5467ba
45642          salt-cloud -f set_tags my_ec2 resource_id=af5467ba tag1=somestuff
45643          salt-cloud -f del_tags my_ec2 resource_id=af5467ba tags=tag1,tag2,tag3
45644
45645   Rename EC2 Instances
45646       As mentioned above, EC2 instances are named via a tag. However,  renam‐
45647       ing  an  instance  by renaming its tag will cause the salt keys to mis‐
45648       match. A rename function exists which renames both  the  instance,  and
45649       the salt keys.
45650
45651          salt-cloud -a rename mymachine newname=yourmachine
45652
45653   Rename on Destroy
45654       When  instances  on  EC2 are destroyed, there will be a lag between the
45655       time that the action is sent, and the time that Amazon  cleans  up  the
45656       instance.  During  this  time,  the  instance still retains a Name tag,
45657       which will cause a collision if the creation of an  instance  with  the
45658       same  name  is  attempted  before the cleanup occurs. In order to avoid
45659       such collisions, Salt Cloud can be configured to rename instances  when
45660       they are destroyed. The new name will look something like:
45661
45662          myinstance-DEL20f5b8ad4eb64ed88f2c428df80a1a0c
45663
45664       In order to enable this, add rename_on_destroy line to the main config‐
45665       uration file:
45666
45667          my-ec2-config:
45668            rename_on_destroy: True
45669
45670   Listing Images
45671       Normally, images can be queried on a  cloud  provider  by  passing  the
45672       --list-images argument to Salt Cloud. This still holds true for EC2:
45673
45674          salt-cloud --list-images my-ec2-config
45675
45676       However,  the full list of images on EC2 is extremely large, and query‐
45677       ing all of the available images may cause Salt Cloud to  behave  as  if
45678       frozen. Therefore, the default behavior of this option may be modified,
45679       by adding an owner argument to the provider configuration:
45680
45681          owner: aws-marketplace
45682
45683       The possible values for this setting are amazon, aws-marketplace, self,
45684       <AWS account ID> or all. The default setting is amazon.  Take note that
45685       all and aws-marketplace may cause Salt Cloud to  appear  as  if  it  is
45686       freezing, as it tries to handle the large amount of data.
45687
45688       It  is  also  possible  to  perform this query using different settings
45689       without modifying  the  configuration  files.  To  do  this,  call  the
45690       avail_images function directly:
45691
45692          salt-cloud -f avail_images my-ec2-config owner=aws-marketplace
45693
45694   EC2 Images
45695       The  following  are  lists of available AMI images, generally sorted by
45696       OS. These lists are on 3rd-party websites,  are  not  managed  by  Salt
45697       Stack  in  any way. They are provided here as a reference for those who
45698       are interested, and contain no warranty (express or implied) from  any‐
45699       one affiliated with Salt Stack. Most of them have never been used, much
45700       less tested, by the Salt Stack team.
45701
45702       · Arch Linux
45703
45704       · FreeBSD
45705
45706       · Fedora
45707
45708       · CentOS
45709
45710       · Ubuntu
45711
45712       · Debian
45713
45714       · OmniOS
45715
45716       · All Images on Amazon
45717
45718       NOTE: If image of a profile does not start with ami-, latest image with
45719       that  name  will  be  used.  For example, to create a CentOS 7 profile,
45720       instead of using the AMI like image: ami-1caef165, we can use its  name
45721       like  image:  'CentOS Linux 7 x86_64 HVM EBS ENA 1803_01'.  We can also
45722       use a pattern like below to get the latest CentOS 7:
45723
45724          profile-id:
45725            provider: provider-name
45726            subnetid: subnet-XXXXXXXX
45727            image: 'CentOS Linux 7 x86_64 HVM EBS *'
45728            size: m1.medium
45729            ssh_username: centos
45730            securitygroupid:
45731              - sg-XXXXXXXX
45732            securitygroupname:
45733              - AnotherSecurityGroup
45734              - AndThirdSecurityGroup
45735
45736   show_image
45737       This is a function that describes an AMI on EC2. This will give insight
45738       as to the defaults that will be applied to an instance using a particu‐
45739       lar AMI.
45740
45741          $ salt-cloud -f show_image ec2 image=ami-fd20ad94
45742
45743   show_instance
45744       This action is a  thin  wrapper  around  --full-query,  which  displays
45745       details  on  a  single  instance  only.  In an environment with several
45746       machines, this will save  a  user  from  having  to  sort  through  all
45747       instance data, just to examine a single instance.
45748
45749          $ salt-cloud -a show_instance myinstance
45750
45751   ebs_optimized
45752       This  argument  enables  switching  of  the  EbsOptimized setting which
45753       default to 'false'. Indicates whether the instance is optimized for EBS
45754       I/O.  This optimization provides dedicated throughput to Amazon EBS and
45755       an optimized configuration stack to provide optimal Amazon EBS I/O per‐
45756       formance.  This  optimization  isn't available with all instance types.
45757       Additional usage charges apply when using an EBS-optimized instance.
45758
45759       This setting can be added to the profile or map file for an instance.
45760
45761       If set to True, this setting will enable an instance to be EbsOptimized
45762
45763          ebs_optimized: True
45764
45765       This can also be set as a cloud provider setting in the EC2 cloud  con‐
45766       figuration:
45767
45768          my-ec2-config:
45769            ebs_optimized: True
45770
45771   del_root_vol_on_destroy
45772       This  argument overrides the default DeleteOnTermination setting in the
45773       AMI for the EBS root volumes for an instance. Many AMIs contain 'false'
45774       as  a  default, resulting in orphaned volumes in the EC2 account, which
45775       may unknowingly be charged to the account. This setting can be added to
45776       the profile or map file for an instance.
45777
45778       If set, this setting will apply to the root EBS volume
45779
45780          del_root_vol_on_destroy: True
45781
45782       This  can also be set as a cloud provider setting in the EC2 cloud con‐
45783       figuration:
45784
45785          my-ec2-config:
45786            del_root_vol_on_destroy: True
45787
45788   del_all_vols_on_destroy
45789       This argument overrides the default DeleteOnTermination setting in  the
45790       AMI  for  the  not-root  EBS volumes for an instance. Many AMIs contain
45791       'false' as a default, resulting in orphaned volumes in the EC2 account,
45792       which  may  unknowingly  be charged to the account. This setting can be
45793       added to the profile or map file for an instance.
45794
45795       If set, this setting will apply to any  (non-root)  volumes  that  were
45796       created by salt-cloud using the 'volumes' setting.
45797
45798       The  volumes  will not be deleted under the following conditions * If a
45799       volume is detached before terminating the instance *  If  a  volume  is
45800       created without this setting and attached to the instance
45801
45802          del_all_vols_on_destroy: True
45803
45804       This  can also be set as a cloud provider setting in the EC2 cloud con‐
45805       figuration:
45806
45807          my-ec2-config:
45808            del_all_vols_on_destroy: True
45809
45810       The setting for this may be changed  on  all  volumes  of  an  existing
45811       instance using one of the following commands:
45812
45813          salt-cloud -a delvol_on_destroy myinstance
45814          salt-cloud -a keepvol_on_destroy myinstance
45815          salt-cloud -a show_delvol_on_destroy myinstance
45816
45817       The setting for this may be changed on a volume on an existing instance
45818       using one of the following commands:
45819
45820          salt-cloud -a delvol_on_destroy myinstance device=/dev/sda1
45821          salt-cloud -a delvol_on_destroy myinstance volume_id=vol-1a2b3c4d
45822          salt-cloud -a keepvol_on_destroy myinstance device=/dev/sda1
45823          salt-cloud -a keepvol_on_destroy myinstance volume_id=vol-1a2b3c4d
45824          salt-cloud -a show_delvol_on_destroy myinstance device=/dev/sda1
45825          salt-cloud -a show_delvol_on_destroy myinstance volume_id=vol-1a2b3c4d
45826
45827   EC2 Termination Protection
45828       EC2 allows the user to enable and disable termination protection  on  a
45829       specific  instance.  An instance with this protection enabled cannot be
45830       destroyed. The EC2 driver adds a show_term_protect action to the  regu‐
45831       lar EC2 functionality.
45832
45833          salt-cloud -a show_term_protect mymachine
45834          salt-cloud -a enable_term_protect mymachine
45835          salt-cloud -a disable_term_protect mymachine
45836
45837   Alternate Endpoint
45838       Normally, EC2 endpoints are build using the region and the service_url.
45839       The resulting endpoint would follow this pattern:
45840
45841          ec2.<region>.<service_url>
45842
45843       This results in an endpoint that looks like:
45844
45845          ec2.us-east-1.amazonaws.com
45846
45847       There are other projects that support an EC2 compatibility layer, which
45848       this  scheme does not account for. This can be overridden by specifying
45849       the endpoint directly in the main cloud configuration file:
45850
45851          my-ec2-config:
45852            endpoint: myendpoint.example.com:1138/services/Cloud
45853
45854   Volume Management
45855       The EC2 driver has several functions and actions for management of  EBS
45856       volumes.
45857
45858   Creating Volumes
45859       A  volume  may  be  created, independent of an instance. A zone must be
45860       specified.  A size or a snapshot may be specified (in GiB). If  neither
45861       is  given,  a  default  size  of  10 GiB will be used. If a snapshot is
45862       given, the size of the snapshot will be used.
45863
45864       The following parameters may also be set (when providing a snapshot  OR
45865       size):
45866
45867       · type:  choose  between  standard  (magnetic  disk), gp2 (SSD), or io1
45868         (provisioned IOPS).  (default=standard)
45869
45870       · iops: the number of IOPS (only applicable to  io1  volumes)  (default
45871         varies on volume size)
45872
45873       · encrypted: enable encryption on the volume (default=false)
45874
45875          salt-cloud -f create_volume ec2 zone=us-east-1b
45876          salt-cloud -f create_volume ec2 zone=us-east-1b size=10
45877          salt-cloud -f create_volume ec2 zone=us-east-1b snapshot=snap12345678
45878          salt-cloud -f create_volume ec2 size=10 type=standard
45879          salt-cloud -f create_volume ec2 size=10 type=gp2
45880          salt-cloud -f create_volume ec2 size=10 type=io1 iops=1000
45881
45882   Attaching Volumes
45883       Unattached volumes may be attached to an instance. The following values
45884       are required; name or instance_id, volume_id, and device.
45885
45886          salt-cloud -a attach_volume myinstance volume_id=vol-12345 device=/dev/sdb1
45887
45888   Show a Volume
45889       The details about an existing volume may be retrieved.
45890
45891          salt-cloud -a show_volume myinstance volume_id=vol-12345
45892          salt-cloud -f show_volume ec2 volume_id=vol-12345
45893
45894   Detaching Volumes
45895       An existing volume may be detached from an instance.
45896
45897          salt-cloud -a detach_volume myinstance volume_id=vol-12345
45898
45899   Deleting Volumes
45900       A volume that is not attached to an instance may be deleted.
45901
45902          salt-cloud -f delete_volume ec2 volume_id=vol-12345
45903
45904   Managing Key Pairs
45905       The EC2 driver has the ability to manage key pairs.
45906
45907   Creating a Key Pair
45908       A key pair is required in order to create an instance. When creating  a
45909       key pair with this function, the return data will contain a copy of the
45910       private key.  This private key is not stored by  Amazon,  will  not  be
45911       obtainable past this point, and should be stored immediately.
45912
45913          salt-cloud -f create_keypair ec2 keyname=mykeypair
45914
45915   Importing a Key Pair
45916          salt-cloud -f import_keypair ec2 keyname=mykeypair file=/path/to/id_rsa.pub
45917
45918   Show a Key Pair
45919       This  function will show the details related to a key pair, not includ‐
45920       ing the private key itself (which is not stored by Amazon).
45921
45922          salt-cloud -f show_keypair ec2 keyname=mykeypair
45923
45924   Delete a Key Pair
45925       This function removes the key pair from Amazon.
45926
45927          salt-cloud -f delete_keypair ec2 keyname=mykeypair
45928
45929   Launching instances into a VPC
45930   Simple launching into a VPC
45931       In the amazon web interface, identify the id or the name of the  subnet
45932       into which your image should be created. Then, edit your cloud.profiles
45933       file like so:-
45934
45935          profile-id:
45936            provider: provider-name
45937            subnetid: subnet-XXXXXXXX
45938            image: ami-XXXXXXXX
45939            size: m1.medium
45940            ssh_username: ubuntu
45941            securitygroupid:
45942              - sg-XXXXXXXX
45943            securitygroupname:
45944              - AnotherSecurityGroup
45945              - AndThirdSecurityGroup
45946
45947       Note that 'subnetid' takes precedence over 'subnetname', but 'security‐
45948       groupid' and 'securitygroupname' are merged together to generate a sin‐
45949       gle list for SecurityGroups of instances.
45950
45951   Specifying interface properties
45952       New in version 2014.7.0.
45953
45954
45955       Launching into a VPC allows you to specify more complex  configurations
45956       for the network interfaces of your virtual machines, for example:-
45957
45958          profile-id:
45959            provider: provider-name
45960            image: ami-XXXXXXXX
45961            size: m1.medium
45962            ssh_username: ubuntu
45963
45964            # Do not include either 'subnetid', 'subnetname', 'securitygroupid' or
45965            # 'securitygroupname' here if you are going to manually specify
45966            # interface configuration
45967            #
45968            network_interfaces:
45969              - DeviceIndex: 0
45970                SubnetId: subnet-XXXXXXXX
45971                SecurityGroupId:
45972                  - sg-XXXXXXXX
45973
45974                # Uncomment this line if you would like to set an explicit private
45975                # IP address for the ec2 instance
45976                #
45977                # PrivateIpAddress: 192.168.1.66
45978
45979                # Uncomment this to associate an existing Elastic IP Address with
45980                # this network interface:
45981                #
45982                # associate_eip: eipalloc-XXXXXXXX
45983
45984                # You can allocate more than one IP address to an interface. Use the
45985                # 'ip addr list' command to see them.
45986                #
45987                # SecondaryPrivateIpAddressCount: 2
45988
45989                # Uncomment this to allocate a new Elastic IP Address to this
45990                # interface (will be associated with the primary private ip address
45991                # of the interface
45992                #
45993                # allocate_new_eip: True
45994
45995                # Uncomment this instead to allocate a new Elastic IP Address to
45996                # both the primary private ip address and each of the secondary ones
45997                #
45998                allocate_new_eips: True
45999
46000                # Uncomment this if you're creating NAT instances. Allows an instance
46001                # to accept IP packets with destinations other than itself.
46002                # SourceDestCheck: False
46003
46004              - DeviceIndex: 1
46005                subnetname: XXXXXXXX-Subnet
46006                securitygroupname:
46007                  - XXXXXXXX-SecurityGroup
46008                  - YYYYYYYY-SecurityGroup
46009
46010       Note that it is an error to assign a 'subnetid', 'subnetname', 'securi‐
46011       tygroupid' or 'securitygroupname' to a profile where the interfaces are
46012       manually configured like this. These are both really properties of each
46013       network interface, not of the machine itself.
46014
46015   Getting Started With GoGrid
46016       GoGrid is a public cloud host that supports Linux and Windows.
46017
46018   Configuration
46019       To use Salt Cloud with GoGrid log into the  GoGrid  web  interface  and
46020       create  an  API key. Do this by clicking on "My Account" and then going
46021       to the API Keys tab.
46022
46023       The apikey and the sharedsecret configuration parameters need to be set
46024       in the configuration file to enable interfacing with GoGrid:
46025
46026          # Note: This example is for /etc/salt/cloud.providers or any file in the
46027          # /etc/salt/cloud.providers.d/ directory.
46028
46029          my-gogrid-config:
46030            driver: gogrid
46031            apikey: asdff7896asdh789
46032            sharedsecret: saltybacon
46033
46034       NOTE:
46035          A Note about using Map files with GoGrid:
46036
46037          Due  to  limitations  in  the GoGrid API, instances cannot be provi‐
46038          sioned in parallel with the GoGrid driver. Map files will work  with
46039          GoGrid,  but  the -P argument should not be used on maps referencing
46040          GoGrid instances.
46041
46042       NOTE:
46043          Changed in version 2015.8.0.
46044
46045
46046          The provider parameter in cloud provider definitions was renamed  to
46047          driver.  This  change  was made to avoid confusion with the provider
46048          parameter that is used in cloud profile definitions. Cloud  provider
46049          definitions  now  use  driver to refer to the Salt cloud module that
46050          provides the underlying functionality to connect to  a  cloud  host,
46051          while  cloud  profiles continue to use provider to refer to provider
46052          configurations that you define.
46053
46054   Profiles
46055   Cloud Profiles
46056       Set up  an  initial  profile  at  /etc/salt/cloud.profiles  or  in  the
46057       /etc/salt/cloud.profiles.d/ directory:
46058
46059          gogrid_512:
46060            provider: my-gogrid-config
46061            size: 512MB
46062            image: CentOS 6.2 (64-bit) w/ None
46063
46064       Sizes  can be obtained using the --list-sizes option for the salt-cloud
46065       command:
46066
46067          # salt-cloud --list-sizes my-gogrid-config
46068          my-gogrid-config:
46069              ----------
46070              gogrid:
46071                  ----------
46072                  512MB:
46073                      ----------
46074                      bandwidth:
46075                          None
46076                      disk:
46077                          30
46078                      driver:
46079                      get_uuid:
46080                      id:
46081                          512MB
46082                      name:
46083                          512MB
46084                      price:
46085                          0.095
46086                      ram:
46087                          512
46088                      uuid:
46089                          bde1e4d7c3a643536e42a35142c7caac34b060e9
46090          ...SNIP...
46091
46092       Images  can  be  obtained  using  the  --list-images  option  for   the
46093       salt-cloud command:
46094
46095          # salt-cloud --list-images my-gogrid-config
46096          my-gogrid-config:
46097              ----------
46098              gogrid:
46099                  ----------
46100                  CentOS 6.4 (64-bit) w/ None:
46101                      ----------
46102                      driver:
46103                      extra:
46104                          ----------
46105                      get_uuid:
46106                      id:
46107                          18094
46108                      name:
46109                          CentOS 6.4 (64-bit) w/ None
46110                      uuid:
46111                          bfd4055389919e01aa6261828a96cf54c8dcc2c4
46112          ...SNIP...
46113
46114   Assigning IPs
46115       New in version 2015.8.0.
46116
46117
46118       The  GoGrid API allows IP addresses to be manually assigned. Salt Cloud
46119       supports this functionality by allowing an IP address to  be  specified
46120       using  the  assign_public_ip argument. This likely makes the most sense
46121       inside a map file, but it may also be used inside a profile.
46122
46123          gogrid_512:
46124            provider: my-gogrid-config
46125            size: 512MB
46126            image: CentOS 6.2 (64-bit) w/ None
46127            assign_public_ip: 11.38.257.42
46128
46129   Getting Started With Google Compute Engine
46130       Google Compute Engine (GCE) is Google-infrastructure as a service  that
46131       lets  you run your large-scale computing workloads on virtual machines.
46132       This document covers how to use Salt Cloud to provision and manage your
46133       virtual machines hosted within Google's infrastructure.
46134
46135       You  can  find  out more about GCE and other Google Cloud Platform ser‐
46136       vices at https://cloud.google.com.
46137
46138   Dependencies
46139       · LibCloud >= 1.0.0
46140
46141       Changed in version 2017.7.0.
46142
46143
46144       · A Google Cloud Platform account with Compute Engine enabled
46145
46146       · A registered Service Account for authorization
46147
46148       · Oh, and obviously you'll need salt
46149
46150   Google Compute Engine Setup
46151       1. Sign up for Google Cloud Platform
46152
46153          Go to https://cloud.google.com and use your Google account  to  sign
46154          up for Google Cloud Platform and complete the guided instructions.
46155
46156       2. Create a Project
46157
46158          Next, go to the console at https://cloud.google.com/console and cre‐
46159          ate a new Project.  Make sure to select your new Project if you  are
46160          not automatically directed to the Project.
46161
46162          Projects are a way of grouping together related users, services, and
46163          billing.  You may opt to create multiple Projects and the  remaining
46164          instructions  will need to be completed for each Project if you wish
46165          to use GCE and Salt Cloud to manage your virtual machines.
46166
46167       3. Enable the Google Compute Engine service
46168
46169          In your Project, either just click Compute Engine to the left, or go
46170          to  the APIs & auth section and APIs link and enable the Google Com‐
46171          pute Engine service.
46172
46173       4. Create a Service Account
46174
46175          To set up authorization, navigate to APIs & auth  section  and  then
46176          the  Credentials  link  and  click  the CREATE NEW CLIENT ID button.
46177          Select Service Account and click the Create Client ID  button.  This
46178          will  automatically  download  a .json file, which may or may not be
46179          used in later steps, depending on your version of libcloud.
46180
46181          Look for a new Service Account section in the page  and  record  the
46182          generated  email address for the matching key/fingerprint. The email
46183          address will be used in  the  service_account_email_address  of  the
46184          /etc/salt/cloud.providers  or the /etc/salt/cloud.providers.d/*.conf
46185          file.
46186
46187       5. Key Format
46188
46189          NOTE:
46190             If you are using libcloud >= 0.17.0 it is  recommended  that  you
46191             use  the  JSON  format  file you downloaded above and skip to the
46192             Provider Configuration section below,  using  the  JSON  file  in
46193             place of 'NEW.pem' in the documentation.
46194
46195             If  you  are  using an older version of libcloud or are unsure of
46196             the version you have, please follow  the  instructions  below  to
46197             generate and format a new P12 key.
46198
46199          In  the  new  Service  Account  section, click Generate new P12 key,
46200          which will automatically download a .p12 private key file. The  .p12
46201          private  key  needs to be converted to a format compatible with lib‐
46202          cloud.  This new Google-generated private key  was  encrypted  using
46203          notasecret as a passphrase. Use the following command and record the
46204          location of the converted private key and record  the  location  for
46205          use in the service_account_private_key of the /etc/salt/cloud file:
46206
46207             openssl pkcs12 -in ORIG.p12 -passin pass:notasecret \
46208             -nodes -nocerts | openssl rsa -out NEW.pem
46209
46210   Provider Configuration
46211       Set  up  the  provider  cloud  config  at  /etc/salt/cloud.providers or
46212       /etc/salt/cloud.providers.d/*.conf:
46213
46214          gce-config:
46215            # Set up the Project name and Service Account authorization
46216            project: "your-project-id"
46217            service_account_email_address: "123-a5gt@developer.gserviceaccount.com"
46218            service_account_private_key: "/path/to/your/NEW.pem"
46219
46220            # Set up the location of the salt master
46221            minion:
46222              master: saltmaster.example.com
46223
46224            # Set up grains information, which will be common for all nodes
46225            # using this provider
46226            grains:
46227              node_type: broker
46228              release: 1.0.1
46229
46230            driver: gce
46231
46232       NOTE:
46233          Empty strings as values  for  service_account_private_key  and  ser‐
46234          vice_account_email_address  can  be used on GCE instances. This will
46235          result in the service account assigned to  the  GCE  instance  being
46236          used.
46237
46238       NOTE:
46239          The  value provided for project must not contain underscores or spa‐
46240          ces and is labeled as "Project ID" on the Google Developers Console.
46241
46242       NOTE:
46243          Changed in version 2015.8.0.
46244
46245
46246          The provider parameter in cloud provider definitions was renamed  to
46247          driver.  This  change  was made to avoid confusion with the provider
46248          parameter that is used in cloud profile definitions. Cloud  provider
46249          definitions  now  use  driver to refer to the Salt cloud module that
46250          provides the underlying functionality to connect to  a  cloud  host,
46251          while  cloud  profiles continue to use provider to refer to provider
46252          configurations that you define.
46253
46254   Profile Configuration
46255       Set   up   an   initial   profile   at   /etc/salt/cloud.profiles    or
46256       /etc/salt/cloud.profiles.d/*.conf:
46257
46258          my-gce-profile:
46259            image: centos-6
46260            size: n1-standard-1
46261            location: europe-west1-b
46262            network: default
46263            subnetwork: default
46264            tags: '["one", "two", "three"]'
46265            metadata: '{"one": "1", "2": "two"}'
46266            use_persistent_disk: True
46267            delete_boot_pd: False
46268            deploy: True
46269            make_master: False
46270            provider: gce-config
46271
46272       The profile can be realized now with a salt command:
46273
46274          salt-cloud -p my-gce-profile gce-instance
46275
46276       This will create an salt minion instance named gce-instance in GCE.  If
46277       the command was executed on the salt-master, its Salt key will automat‐
46278       ically be signed on the master.
46279
46280       Once  the  instance has been created with a salt-minion installed, con‐
46281       nectivity to it can be verified with Salt:
46282
46283          salt gce-instance test.ping
46284
46285   GCE Specific Settings
46286       Consult the sample profile below for more information  about  GCE  spe‐
46287       cific  settings.  Some  of  them are mandatory and are properly labeled
46288       below but typically also include a hard-coded default.
46289
46290   Initial Profile
46291       Set   up   an   initial   profile   at   /etc/salt/cloud.profiles    or
46292       /etc/salt/cloud.profiles.d/gce.conf:
46293
46294          my-gce-profile:
46295            image: centos-6
46296            size: n1-standard-1
46297            location: europe-west1-b
46298            network: default
46299            subnetwork: default
46300            tags: '["one", "two", "three"]'
46301            metadata: '{"one": "1", "2": "two"}'
46302            use_persistent_disk: True
46303            delete_boot_pd: False
46304            ssh_interface: public_ips
46305            external_ip: "ephemeral"
46306
46307   image
46308       Image  is  used to define what Operating System image should be used to
46309       for the  instance.  Examples  are  Debian  7  (wheezy)  and  CentOS  6.
46310       Required.
46311
46312   size
46313       A  'size',  in  GCE terms, refers to the instance's 'machine type'. See
46314       the on-line documentation for a complete list  of  GCE  machine  types.
46315       Required.
46316
46317   location
46318       A  'location',  in  GCE terms, refers to the instance's 'zone'. GCE has
46319       the notion of both Regions (e.g. us-central1,  europe-west1,  etc)  and
46320       Zones (e.g. us-central1-a, us-central1-b, etc). Required.
46321
46322   network
46323       Use  this setting to define the network resource for the instance.  All
46324       GCE projects contain a network named 'default' but it's possible to use
46325       this  setting  to  create  instances  belonging  to a different network
46326       resource.
46327
46328   subnetwork
46329       Use this setting to define the subnetwork an instance will  be  created
46330       in.   This requires that the network your instance is created under has
46331       a mode of  'custom'  or  'auto'.   Additionally,  the  subnetwork  your
46332       instance is created under is associated with the location you provide.
46333
46334       New in version 2017.7.0.
46335
46336
46337   tags
46338       GCE  supports  instance/network tags and this setting allows you to set
46339       custom tags. It should be a list of strings and must be  parse-able  by
46340       the python ast.literal_eval() function to convert it to a python list.
46341
46342   metadata
46343       GCE  supports instance metadata and this setting allows you to set cus‐
46344       tom metadata. It should be a hash of key/value strings  and  parse-able
46345       by  the  python  ast.literal_eval()  function to convert it to a python
46346       dictionary.
46347
46348   use_persistent_disk
46349       Use this setting to ensure that when new instances  are  created,  they
46350       will  use  a persistent disk to preserve data between instance termina‐
46351       tions and re-creations.
46352
46353   delete_boot_pd
46354       In the event that you wish the boot persistent disk to  be  permanently
46355       deleted when you destroy an instance, set delete_boot_pd to True.
46356
46357   ssh_interface
46358       New in version 2015.5.0.
46359
46360
46361       Specify whether to use public or private IP for deploy script.
46362
46363       Valid options are:
46364
46365       · private_ips: The salt-master is also hosted with GCE
46366
46367       · public_ips: The salt-master is hosted outside of GCE
46368
46369   external_ip
46370       Per instance setting: Used a named fixed IP address to this host.
46371
46372       Valid options are:
46373
46374       · ephemeral: The host will use a GCE ephemeral IP
46375
46376       · None: No external IP will be configured on this host.
46377
46378       Optionally,  pass  the name of a GCE address to use a fixed IP address.
46379       If the address does not already exist, it will be created.
46380
46381   ex_disk_type
46382       GCE supports two different disk types,  pd-standard  and  pd-ssd.   The
46383       default disk type setting is pd-standard. To specify using an SSD disk,
46384       set pd-ssd as the value.
46385
46386       New in version 2014.7.0.
46387
46388
46389   ip_forwarding
46390       GCE instances can be enabled to use IP Forwarding. When  set  to  True,
46391       this  options  allows the instance to send/receive non-matching src/dst
46392       packets. Default is False.
46393
46394       New in version 2015.8.1.
46395
46396
46397   Profile with scopes
46398       Scopes can be specified by setting the optional ex_service_accounts key
46399       in  your  cloud  profile.  The  following  example enables the bigquery
46400       scope.
46401
46402          my-gce-profile:
46403           image: centos-6
46404            ssh_username: salt
46405            size: f1-micro
46406            location: us-central1-a
46407            network: default
46408            subnetwork: default
46409            tags: '["one", "two", "three"]'
46410            metadata: '{"one": "1", "2": "two",
46411                        "sshKeys": ""}'
46412            use_persistent_disk: True
46413            delete_boot_pd: False
46414            deploy: False
46415            make_master: False
46416            provider: gce-config
46417            ex_service_accounts:
46418              - scopes:
46419                - bigquery
46420
46421       Email can also be specified as an (optional) parameter.
46422
46423          my-gce-profile:
46424          ...snip
46425            ex_service_accounts:
46426              - scopes:
46427                - bigquery
46428                email: default
46429
46430       There can be multiple  entries  for  scopes  since  ex-service_accounts
46431       accepts  a list of dictionaries. For more information refer to the lib‐
46432       cloud documentation on specifying service account scopes.
46433
46434   SSH Remote Access
46435       GCE instances do not allow remote access to the root user  by  default.
46436       Instead, another user must be used to run the deploy script using sudo.
46437       Append   something   like   this   to    /etc/salt/cloud.profiles    or
46438       /etc/salt/cloud.profiles.d/*.conf:
46439
46440          my-gce-profile:
46441              ...
46442
46443              # SSH to GCE instances as gceuser
46444              ssh_username: gceuser
46445
46446              # Use the local private SSH key file located here
46447              ssh_keyfile: /etc/cloud/google_compute_engine
46448
46449       If you have not already used this SSH key to login to instances in this
46450       GCE project you will also need to add the public key to  your  projects
46451       metadata at https://cloud.google.com/console. You could also add it via
46452       the metadata setting too:
46453
46454          my-gce-profile:
46455              ...
46456
46457              metadata: '{"one": "1", "2": "two",
46458                          "sshKeys": "gceuser:ssh-rsa <Your SSH Public Key> gceuser@host"}'
46459
46460   Single instance details
46461       This action is a  thin  wrapper  around  --full-query,  which  displays
46462       details  on  a  single  instance  only.  In an environment with several
46463       machines, this will save  a  user  from  having  to  sort  through  all
46464       instance data, just to examine a single instance.
46465
46466          salt-cloud -a show_instance myinstance
46467
46468   Destroy, persistent disks, and metadata
46469       As noted in the provider configuration, it's possible to force the boot
46470       persistent disk to be deleted when you destroy the instance.   The  way
46471       that  this  has  been  implemented  is  to use the instance metadata to
46472       record the cloud profile used when creating the instance.  When destroy
46473       is  called,  if  the  instance  contains a salt-cloud-profile key, it's
46474       value is used  to  reference  the  matching  profile  to  determine  if
46475       delete_boot_pd is set to True.
46476
46477       Be  aware  that  any GCE instances created with salt cloud will contain
46478       this custom salt-cloud-profile metadata entry.
46479
46480   List various resources
46481       It's also possible to list several GCE resources similar to what can be
46482       done  with other providers.  The following commands can be used to list
46483       GCE zones (locations), machine types (sizes), and images.
46484
46485          salt-cloud --list-locations gce
46486          salt-cloud --list-sizes gce
46487          salt-cloud --list-images gce
46488
46489   Persistent Disk
46490       The Compute Engine provider provides functions via salt-cloud to manage
46491       your  Persistent  Disks.  You  can  create and destroy disks as well as
46492       attach and detach them from running instances.
46493
46494   Create
46495       When creating a disk, you can create an empty disk and specify its size
46496       (in GB), or specify either an 'image' or 'snapshot'.
46497
46498          salt-cloud -f create_disk gce disk_name=pd location=us-central1-b size=200
46499
46500   Delete
46501       Deleting a disk only requires the name of the disk to delete
46502
46503          salt-cloud -f delete_disk gce disk_name=old-backup
46504
46505   Attach
46506       Attaching  a  disk  to  an  existing instance is really an 'action' and
46507       requires both an instance name and disk name. It's possible to use this
46508       ation  to create bootable persistent disks if necessary. Compute Engine
46509       also supports attaching a persistent disk in READ_ONLY mode to multiple
46510       instances  at  the same time (but then cannot be attached in READ_WRITE
46511       to any instance).
46512
46513          salt-cloud -a attach_disk myinstance disk_name=pd mode=READ_WRITE boot=yes
46514
46515   Detach
46516       Detaching a disk is  also  an  action  against  an  instance  and  only
46517       requires  the name of the disk. Note that this does not safely sync and
46518       umount the disk from the instance. To ensure no  data  loss,  you  must
46519       first make sure the disk is unmounted from the instance.
46520
46521          salt-cloud -a detach_disk myinstance disk_name=pd
46522
46523   Show disk
46524       It's  also  possible  to  look up the details for an existing disk with
46525       either a function or an action.
46526
46527          salt-cloud -a show_disk myinstance disk_name=pd
46528          salt-cloud -f show_disk gce disk_name=pd
46529
46530   Create snapshot
46531       You can take a snapshot of an existing disk's content. The snapshot can
46532       then  in  turn  be  used to create other persistent disks. Note that to
46533       prevent data corruption, it is strongly suggested that you unmount  the
46534       disk prior to taking a snapshot. You must name the snapshot and provide
46535       the name of the disk.
46536
46537          salt-cloud -f create_snapshot gce name=backup-20140226 disk_name=pd
46538
46539   Delete snapshot
46540       You can delete a snapshot when it's no longer needed by specifying  the
46541       name of the snapshot.
46542
46543          salt-cloud -f delete_snapshot gce name=backup-20140226
46544
46545   Show snapshot
46546       Use this function to look up information about the snapshot.
46547
46548          salt-cloud -f show_snapshot gce name=backup-20140226
46549
46550   Networking
46551       Compute   Engine   supports  multiple  private  networks  per  project.
46552       Instances within a private network can  easily  communicate  with  each
46553       other  by  an  internal  DNS  service  that  resolves  instance  names.
46554       Instances within a private network can  also  communicate  with  either
46555       directly without needing special routing or firewall rules even if they
46556       span different regions/zones.
46557
46558       Networks also  support  custom  firewall  rules.  By  default,  traffic
46559       between  instances on the same private network is open to all ports and
46560       protocols.  Inbound SSH traffic (port 22) is also allowed but all other
46561       inbound traffic is blocked.
46562
46563   Create network
46564       New networks require a name and CIDR range if they don't have a 'mode'.
46565       Optionally, 'mode' can be provided. Supported modes are  'auto',  'cus‐
46566       tom',  'legacy'.   Optionally,  'description' can be provided to add an
46567       extra note to your network.  New instances can be created and added  to
46568       this  network by setting the network name during create. It is not pos‐
46569       sible to add/remove existing instances to a network.
46570
46571          salt-cloud -f create_network gce name=mynet cidr=10.10.10.0/24
46572          salt-cloud -f create_network gce name=mynet mode=auto description=some optional info.
46573
46574       Changed in version 2017.7.0.
46575
46576
46577   Destroy network
46578       Destroy a network by specifying the name. If a  resource  is  currently
46579       using the target network an exception will be raised.
46580
46581          salt-cloud -f delete_network gce name=mynet
46582
46583   Show network
46584       Specify the network name to view information about the network.
46585
46586          salt-cloud -f show_network gce name=mynet
46587
46588   Create subnetwork
46589       New  subnetworks  require  a name, region, and CIDR range.  Optionally,
46590       'description' can be provided to add an extra note to your  subnetwork.
46591       New  instances  can  be created and added to this subnetwork by setting
46592       the subnetwork name during create. It is  not  possible  to  add/remove
46593       existing instances to a subnetwork.
46594
46595          salt-cloud -f create_subnetwork gce name=mynet network=mynet region=us-central1 cidr=10.0.10.0/24
46596          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.
46597
46598       New in version 2017.7.0.
46599
46600
46601   Destroy subnetwork
46602       Destroy  a  subnetwork by specifying the name and region. If a resource
46603       is currently using the target subnetwork an exception will be raised.
46604
46605          salt-cloud -f delete_subnetwork gce name=mynet region=us-central1
46606
46607       New in version 2017.7.0.
46608
46609
46610   Show subnetwork
46611       Specify the subnetwork name to view information about the subnetwork.
46612
46613          salt-cloud -f show_subnetwork gce name=mynet
46614
46615       New in version 2017.7.0.
46616
46617
46618   Create address
46619       Create a new named static IP address in a region.
46620
46621          salt-cloud -f create_address gce name=my-fixed-ip region=us-central1
46622
46623   Delete address
46624       Delete an existing named fixed IP address.
46625
46626          salt-cloud -f delete_address gce name=my-fixed-ip region=us-central1
46627
46628   Show address
46629       View details on a named address.
46630
46631          salt-cloud -f show_address gce name=my-fixed-ip region=us-central1
46632
46633   Create firewall
46634       You'll need to create custom firewall rules if you want to allow  other
46635       traffic  than  what  is described above. For instance, if you run a web
46636       service on your instances, you'll need to explicitly allow HTTP  and/or
46637       SSL  traffic.   The  firewall rule must have a name and it will use the
46638       'default'  network  unless  otherwise  specified   with   a   'network'
46639       attribute. Firewalls also support instance tags for source/destination
46640
46641          salt-cloud -f create_fwrule gce name=web allow=tcp:80,tcp:443,icmp
46642
46643   Delete firewall
46644       Deleting  a  firewall  rule will prevent any previously allowed traffic
46645       for the named firewall rule.
46646
46647          salt-cloud -f delete_fwrule gce name=web
46648
46649   Show firewall
46650       Use this function to review an existing firewall rule's information.
46651
46652          salt-cloud -f show_fwrule gce name=web
46653
46654   Load Balancer
46655       Compute Engine possess a load-balancer feature  for  splitting  traffic
46656       across  multiple  instances.  Please  reference the documentation for a
46657       more complete description.
46658
46659       The  load-balancer  functionality  is  slightly  different  than   that
46660       described  in  Google's  documentation.   The concept of TargetPool and
46661       ForwardingRule are consolidated in  salt-cloud/libcloud.   HTTP  Health
46662       Checks are optional.
46663
46664   HTTP Health Check
46665       HTTP  Health  Checks  can  be  used as a means to toggle load-balancing
46666       across instance members, or to detect if an HTTP site  is  functioning.
46667       A  common  use-case  is to set up a health check URL and if you want to
46668       toggle traffic on/off to an  instance,  you  can  temporarily  have  it
46669       return  a  non-200 response.  A non-200 response to the load-balancer's
46670       health check will keep the LB from  sending  any  new  traffic  to  the
46671       "down" instance.  Once the instance's health check URL beings returning
46672       200-responses, the LB will again start to send traffic  to  it.  Review
46673       Compute  Engine's  documentation for allowable parameters.  You can use
46674       the following salt-cloud functions to manage your HTTP health checks.
46675
46676          salt-cloud -f create_hc gce name=myhc path=/ port=80
46677          salt-cloud -f delete_hc gce name=myhc
46678          salt-cloud -f show_hc gce name=myhc
46679
46680   Load-balancer
46681       When creating a new load-balancer, it requires  a  name,  region,  port
46682       range,  and  list  of  members. There are other optional parameters for
46683       protocol, and list of health checks. Deleting or showing details  about
46684       the LB only requires the name.
46685
46686          salt-cloud -f create_lb gce name=lb region=... ports=80 members=w1,w2,w3
46687          salt-cloud -f delete_lb gce name=lb
46688          salt-cloud -f show_lb gce name=lb
46689
46690       You  can  also  create a load balancer using a named fixed IP addressby
46691       specifying the name of the address.  If the address does not exist  yet
46692       it will be created.
46693
46694          salt-cloud -f create_lb gce name=my-lb region=us-central1 ports=234 members=s1,s2,s3 address=my-lb-ip
46695
46696   Attach and Detach LB
46697       It  is  possible  to  attach  or  detach  an  instance from an existing
46698       load-balancer.  Both the instance and load-balancer must  exist  before
46699       using these functions.
46700
46701          salt-cloud -f attach_lb gce name=lb member=w4
46702          salt-cloud -f detach_lb gce name=lb member=oops
46703
46704   Getting Started With HP Cloud
46705       HP  Cloud  is a major public cloud platform and uses the libcloud open‐
46706       stack driver. The current version of OpenStack that HP  Cloud  uses  is
46707       Havana. When an instance is booted, it must have a floating IP added to
46708       it in order to connect to it and further below you will see an  example
46709       that adds context to this statement.
46710
46711   Set up a cloud provider configuration file
46712       To  use  the  openstack  driver for HP Cloud, set up the cloud provider
46713       configuration file as in the example shown below:
46714
46715       /etc/salt/cloud.providers.d/hpcloud.conf:
46716
46717          hpcloud-config:
46718            # Set the location of the salt-master
46719            #
46720            minion:
46721              master: saltmaster.example.com
46722
46723            # Configure HP Cloud using the OpenStack plugin
46724            #
46725            identity_url: https://region-b.geo-1.identity.hpcloudsvc.com:35357/v2.0/tokens
46726            compute_name: Compute
46727            protocol: ipv4
46728
46729            # Set the compute region:
46730            #
46731            compute_region: region-b.geo-1
46732
46733            # Configure HP Cloud authentication credentials
46734            #
46735            user: myname
46736            tenant: myname-project1
46737            password: xxxxxxxxx
46738
46739            # keys to allow connection to the instance launched
46740            #
46741            ssh_key_name: yourkey
46742            ssh_key_file: /path/to/key/yourkey.priv
46743
46744            driver: openstack
46745
46746       The subsequent example that follows is using the openstack driver.
46747
46748       NOTE:
46749          Changed in version 2015.8.0.
46750
46751
46752          The provider parameter in cloud provider definitions was renamed  to
46753          driver.  This  change  was made to avoid confusion with the provider
46754          parameter that is used in cloud profile definitions. Cloud  provider
46755          definitions  now  use  driver to refer to the Salt cloud module that
46756          provides the underlying functionality to connect to  a  cloud  host,
46757          while  cloud  profiles continue to use provider to refer to provider
46758          configurations that you define.
46759
46760   Compute Region
46761       Originally, HP Cloud, in its  OpenStack  Essex  version  (1.0),  had  3
46762       availability  zones in one region, US West (region-a.geo-1), which each
46763       behaved each as a region.
46764
46765       This has since changed, and the current OpenStack Havana version of  HP
46766       Cloud  (1.1)  now has simplified this and now has two regions to choose
46767       from:
46768
46769          region-a.geo-1 -> US West
46770          region-b.geo-1 -> US East
46771
46772   Authentication
46773       The user is the same user as is used to log into the HP  Cloud  manage‐
46774       ment   UI.   The   tenant   can  be  found  in  the  upper  left  under
46775       "Project/Region/Scope".  It is often named the same as user albeit with
46776       a  -project1 appended.  The password is of course what you created your
46777       account with. The management UI also  has  other  information  such  as
46778       being able to select US East or US West.
46779
46780   Set up a cloud profile config file
46781       The  profile  shown  below  is  a  know  working  profile for an Ubuntu
46782       instance. The profile configuration file is  stored  in  the  following
46783       location:
46784
46785       /etc/salt/cloud.profiles.d/hp_ae1_ubuntu.conf:
46786
46787          hp_ae1_ubuntu:
46788              provider: hp_ae1
46789              image: 9302692b-b787-4b52-a3a6-daebb79cb498
46790              ignore_cidr: 10.0.0.1/24
46791              networks:
46792                - floating: Ext-Net
46793              size: standard.small
46794              ssh_key_file: /root/keys/test.key
46795              ssh_key_name: test
46796              ssh_username: ubuntu
46797
46798       Some important things about the example above:
46799
46800       · The  image  parameter can use either the image name or image ID which
46801         you can obtain by running in the example below (this case US East):
46802
46803          # salt-cloud --list-images hp_ae1
46804
46805       · The parameter ignore_cidr specifies a range of  addresses  to  ignore
46806         when  trying to connect to the instance. In this case, it's the range
46807         of IP addresses used for an private IP of the instance.
46808
46809       · The parameter networks is very important to include. In previous ver‐
46810         sions  of Salt Cloud, this is what made it possible for salt-cloud to
46811         be able to attach a floating IP to the instance in order  to  connect
46812         to  the  instance  and  set  up  the  minion.  The current version of
46813         salt-cloud doesn't require it, though having it is of no harm either.
46814         Newer  versions  of  salt-cloud  will  use this, and without it, will
46815         attempt to find a list of floating IP addresses to use regardless.
46816
46817       · The ssh_key_file and ssh_key_name are the keys that will make it pos‐
46818         sible to connect to the instance to set up the minion
46819
46820       · The  ssh_username  parameter, in this case, being that the image used
46821         will be ubuntu, will make it possible to not only log in but  install
46822         the minion
46823
46824   Launch an instance
46825       To instantiate a machine based on this profile (example):
46826
46827          # salt-cloud -p hp_ae1_ubuntu ubuntu_instance_1
46828
46829       After   several   minutes,   this   will   create   an  instance  named
46830       ubuntu_instance_1 running in HP Cloud in the US East  region  and  will
46831       set  up  the minion and then return information about the instance once
46832       completed.
46833
46834   Manage the instance
46835       Once the instance has been created with salt-minion installed,  connec‐
46836       tivity to it can be verified with Salt:
46837
46838          # salt ubuntu_instance_1 ping
46839
46840   SSH to the instance
46841       Additionally,  the  instance can be accessed via SSH using the floating
46842       IP assigned to it
46843
46844          # ssh ubuntu@<floating ip>
46845
46846   Using a private IP
46847       Alternatively, in the cloud profile, using the private IP to  log  into
46848       the  instance  to  set up the minion is another option, particularly if
46849       salt-cloud is running within the cloud on an instance that  is  on  the
46850       same network with all the other instances (minions)
46851
46852       The  example  below is a modified version of the previous example. Note
46853       the use of ssh_interface:
46854
46855          hp_ae1_ubuntu:
46856              provider: hp_ae1
46857              image: 9302692b-b787-4b52-a3a6-daebb79cb498
46858              size: standard.small
46859              ssh_key_file: /root/keys/test.key
46860              ssh_key_name: test
46861              ssh_username: ubuntu
46862              ssh_interface: private_ips
46863
46864       With this setup, salt-cloud will use the private IP address to ssh into
46865       the instance and set up the salt-minion
46866
46867   Getting Started With Joyent
46868       Joyent  is  a  public cloud host that supports SmartOS, Linux, FreeBSD,
46869       and Windows.
46870
46871   Dependencies
46872       This driver requires the Python requests library to be installed.
46873
46874   Configuration
46875       The Joyent cloud requires three configuration parameters. The user name
46876       and password that are used to log into the Joyent system, and the loca‐
46877       tion of the private ssh key associated with the Joyent account. The ssh
46878       key  is needed to send the provisioning commands up to the freshly cre‐
46879       ated virtual machine.
46880
46881          # Note: This example is for /etc/salt/cloud.providers or any file in the
46882          # /etc/salt/cloud.providers.d/ directory.
46883
46884          my-joyent-config:
46885            driver: joyent
46886            user: fred
46887            password: saltybacon
46888            private_key: /root/mykey.pem
46889            keyname: mykey
46890
46891       NOTE:
46892          Changed in version 2015.8.0.
46893
46894
46895          The provider parameter in cloud provider definitions was renamed  to
46896          driver.  This  change  was made to avoid confusion with the provider
46897          parameter that is used in cloud profile definitions. Cloud  provider
46898          definitions  now  use  driver to refer to the Salt cloud module that
46899          provides the underlying functionality to connect to  a  cloud  host,
46900          while  cloud  profiles continue to use provider to refer to provider
46901          configurations that you define.
46902
46903   Profiles
46904   Cloud Profiles
46905       Set up  an  initial  profile  at  /etc/salt/cloud.profiles  or  in  the
46906       /etc/salt/cloud.profiles.d/ directory:
46907
46908          joyent_512:
46909            provider: my-joyent-config
46910            size: g4-highcpu-512M
46911            image: ubuntu-16.04
46912
46913       Sizes  can be obtained using the --list-sizes option for the salt-cloud
46914       command:
46915
46916          # salt-cloud --list-sizes my-joyent-config
46917          my-joyent-config:
46918              ----------
46919              joyent:
46920                  ----------
46921                  g4-highcpu-512M:
46922                      ----------
46923                      default:
46924                          False
46925                      description:
46926                          Compute Optimized 512M RAM - 1 vCPU - 10 GB Disk
46927                      disk:
46928                          10240
46929                      group:
46930                          Compute Optimized
46931                      id:
46932                          14aea8fc-d0f8-11e5-bfe4-a7458dbc6c99
46933                      lwps:
46934                          4000
46935                      memory:
46936                          512
46937                      name:
46938                          g4-highcpu-512M
46939                      swap:
46940                          2048
46941                      vcpus:
46942                          0
46943                      version:
46944                          1.0.3
46945          ...SNIP...
46946
46947       Images  can  be  obtained  using  the  --list-images  option  for   the
46948       salt-cloud command:
46949
46950          # salt-cloud --list-images my-joyent-config
46951          my-joyent-config:
46952              ----------
46953              joyent:
46954                  ----------
46955                  base:
46956                      ----------
46957                      description:
46958                          A 32-bit SmartOS image with just essential packages
46959                          installed. Ideal for users who are comfortabl e with
46960                          setting up their own environment and tools.
46961                      files:
46962                          |_
46963                            ----------
46964                            compression:
46965                                gzip
46966                            sha1:
46967                                b00a77408ddd9aeac85085b68b1cd22a07353956
46968                            size:
46969                                106918297
46970                      homepage:
46971                          http://wiki.joyent.com/jpc2/Base+Instance
46972                      id:
46973                          00aec452-6e81-11e4-8474-ebfec9a1a911
46974                      name:
46975                          base
46976                      os:
46977                          smartos
46978                      owner:
46979                          9dce1460-0c4c-4417-ab8b-25ca478c5a78
46980                      public:
46981                          True
46982                      published_at:
46983                          2014-11-17T17:41:46Z
46984                      requirements:
46985                          ----------
46986                      state:
46987                          active
46988                      type:
46989                          smartmachine
46990                      version:
46991                          14.3.0
46992
46993          ...SNIP...
46994
46995   SmartDataCenter
46996       This  driver  can also be used with the Joyent SmartDataCenter project.
46997       More details can be found at:
46998
46999       Using SDC requires that an api_host_suffix is set.  The  default  value
47000       for this is .api.joyentcloud.com. All characters, including the leading
47001       ., should be included:
47002
47003          api_host_suffix: .api.myhostname.com
47004
47005   Miscellaneous Configuration
47006       The following configuration items can be set in either provider or pro‐
47007       file confuration files.
47008
47009   use_ssl
47010       When  set  to  True (the default), attach https:// to any URL that does
47011       not already have http:// or https:// included  at  the  beginning.  The
47012       best  practice  is  to  leave the protocol out of the URL, and use this
47013       setting to manage it.
47014
47015   verify_ssl
47016       When set to True (the default), the underlying web library will  verify
47017       the SSL certificate. This should only be set to False for debugging.`
47018
47019   Getting Started With Libvirt
47020       Libvirt  is  a toolkit to interact with the virtualization capabilities
47021       of recent versions of Linux (and other OSes). This  driver  Salt  cloud
47022       provider is currently geared towards libvirt with qemu-kvm.
47023
47024       http://www.libvirt.org/
47025
47026   Host Dependencies
47027       · libvirt >= 1.2.18 (older might work)
47028
47029   Salt-Cloud Dependencies
47030       · libvirt-python
47031
47032   Provider Configuration
47033       For  every  KVM  host  a provider needs to be set up. The provider cur‐
47034       rently maps to one libvirt daemon (e.g. one KVM host).
47035
47036       Set    up    the    provider    cloud     configuration     file     at
47037       /etc/salt/cloud.providers or /etc/salt/cloud.providers.d/*.conf.
47038
47039          # Set up a provider with qemu+ssh protocol
47040          kvm-via-ssh:
47041            driver: libvirt
47042            url: qemu+ssh://user@kvm.company.com/system?socket=/var/run/libvirt/libvirt-sock
47043
47044          # Or connect to a local libvirt instance
47045          local-kvm:
47046            driver: libvirt
47047            url: qemu:///system
47048            # work around flag for XML validation errors while cloning
47049            validate_xml: no
47050
47051   Cloud Profiles
47052       Virtual machines get cloned from so called Cloud Profiles. Profiles can
47053       be  set  up   at   /etc/salt/cloud.profiles   or   /etc/salt/cloud.pro‐
47054       files.d/*.conf:
47055
47056       · Configure a profile to be used:
47057
47058          centos7:
47059            # points back at provider configuration
47060            provider: local-kvm
47061            base_domain: base-centos7-64
47062            ip_source: ip-learning
47063            ssh_username: root
47064            password: my-very-secret-password
47065            # /tmp is mounted noexec.. do workaround
47066            deploy_command: sh /tmp/.saltcloud/deploy.sh
47067            script_args: -F
47068            # grains to add to the minion
47069            grains:
47070              clones-are-awesome: true
47071            # override minion settings
47072            minion:
47073              master: 192.168.16.1
47074              master_port: 5506
47075
47076       The profile can be realized now with a salt command:
47077
47078          # salt-cloud -p centos7 my-centos7-clone
47079
47080       This  will create an instance named my-centos7-clone on the cloud host.
47081       Also the minion id will be set to my-centos7-clone.
47082
47083       If the command was executed on the salt-master, its Salt key will auto‐
47084       matically be signed on the master.
47085
47086       Once  the instance has been created with salt-minion installed, connec‐
47087       tivity to it can be verified with Salt:
47088
47089          # salt my-centos7-clone test.ping
47090
47091   Required Settings
47092       The following settings are always required for libvirt:
47093
47094          centos7:
47095            provider: local-kvm
47096            # the domain to clone
47097            base_domain: base-centos7-64
47098            # how to obtain the IP address of the cloned instance
47099            # ip-learning or qemu-agent
47100            ip_source: ip-learning
47101
47102       The ip_source setting  controls  how  the  IP  address  of  the  cloned
47103       instance  is  determined.   When  using ip-learning the IP is requested
47104       from libvirt. This needs a recent libvirt version and may only work for
47105       NAT  networks.  Another  option is to use qemu-agent this requires that
47106       the qemu-agent is installed and configured to run  at  startup  in  the
47107       base domain.
47108
47109   Optional Settings
47110          # Username and password
47111          ssh_username: root
47112          password: my-secret-password
47113
47114          # Cloning strategy: full or quick
47115          clone_strategy: quick
47116
47117       The  clone_strategy controls how the clone is done. In case of full the
47118       disks are copied creating a standalone clone.  If  quick  is  used  the
47119       disks  of the base domain are used as backing disks for the clone. This
47120       results in nearly instantaneous clones at the expense of  slower  write
47121       performance. The quick strategy has a number of requirements:
47122
47123       · The disks must be of type qcow2
47124
47125       · The base domain must be turned off
47126
47127       · The base domain must not change after creating the clone
47128
47129   Getting Started With Linode
47130       Linode is a public cloud host with a focus on Linux instances.
47131
47132       Starting with the 2015.8.0 release of Salt, the Linode driver uses Lin‐
47133       ode's native REST API. There are no external dependencies  required  to
47134       use the Linode driver, other than a Linode account.
47135
47136   Provider Configuration
47137       Linode requires a single API key, but the default root password for new
47138       instances also needs to be set. The password needs to be eight  charac‐
47139       ters and contain lowercase, uppercase, and numbers.
47140
47141       Set     up     the     provider    cloud    configuration    file    at
47142       /etc/salt/cloud.providers or /etc/salt/cloud.providers.d/*.conf.
47143
47144          my-linode-config:
47145            apikey: 'asldkgfakl;sdfjsjaslfjaklsdjf;askldjfaaklsjdfhasldsadfghdkf'
47146            password: 'F00barbaz'
47147            driver: linode
47148
47149       NOTE:
47150          Changed in version 2015.8.0.
47151
47152
47153          The provider parameter in cloud provider definitions was renamed  to
47154          driver.  This  change  was made to avoid confusion with the provider
47155          parameter that is used in cloud profile definitions. Cloud  provider
47156          definitions  now  use  driver to refer to the Salt cloud module that
47157          provides the underlying functionality to connect to  a  cloud  host,
47158          while  cloud  profiles continue to use provider to refer to provider
47159          configurations that you define.
47160
47161   Profile Configuration
47162       Linode profiles require a provider, size, image, and location.  Set  up
47163       an  initial profile at /etc/salt/cloud.profiles or /etc/salt/cloud.pro‐
47164       files.d/*.conf:
47165
47166          linode_1024:
47167            provider: my-linode-config
47168            size: Linode 2GB
47169            image: CentOS 7
47170            location: London, England, UK
47171
47172       The profile can be realized now with a salt command:
47173
47174          salt-cloud -p linode_1024 linode-instance
47175
47176       This will create an salt minion instance named linode-instance in  Lin‐
47177       ode.  If the command was executed on the salt-master, its Salt key will
47178       automatically be signed on the master.
47179
47180       Once the instance has been created with a salt-minion  installed,  con‐
47181       nectivity to it can be verified with Salt:
47182
47183          salt linode-instance test.ping
47184
47185   Listing Sizes
47186       Sizes  can be obtained using the --list-sizes option for the salt-cloud
47187       command:
47188
47189          # salt-cloud --list-sizes my-linode-config
47190          my-linode-config:
47191              ----------
47192              linode:
47193                  ----------
47194                  Linode 2GB:
47195                      ----------
47196                      AVAIL:
47197                          ----------
47198                          10:
47199                              500
47200                          11:
47201                              500
47202                          2:
47203                              500
47204                          3:
47205                              500
47206                          4:
47207                              500
47208                          6:
47209                              500
47210                          7:
47211                              500
47212                          8:
47213                              500
47214                          9:
47215                              500
47216                      CORES:
47217                          1
47218                      DISK:
47219                          50
47220                      HOURLY:
47221                          0.015
47222                      LABEL:
47223                          Linode 2GB
47224                      PLANID:
47225                          2
47226                      PRICE:
47227                          10.0
47228                      RAM:
47229                          2048
47230                      XFER:
47231                          2000
47232          ...SNIP...
47233
47234   Listing Images
47235       Images  can  be  obtained  using  the  --list-images  option  for   the
47236       salt-cloud command:
47237
47238          # salt-cloud --list-images my-linode-config
47239          my-linode-config:
47240              ----------
47241              linode:
47242                  ----------
47243                  Arch Linux 2015.02:
47244                      ----------
47245                      CREATE_DT:
47246                          2015-02-20 14:17:16.0
47247                      DISTRIBUTIONID:
47248                          138
47249                      IS64BIT:
47250                          1
47251                      LABEL:
47252                          Arch Linux 2015.02
47253                      MINIMAGESIZE:
47254                          800
47255                      REQUIRESPVOPSKERNEL:
47256                          1
47257          ...SNIP...
47258
47259   Listing Locations
47260       Locations  can  be  obtained  using the --list-locations option for the
47261       salt-cloud command:
47262
47263          # salt-cloud --list-locations my-linode-config
47264          my-linode-config:
47265              ----------
47266              linode:
47267                  ----------
47268                  Atlanta, GA, USA:
47269                      ----------
47270                      ABBR:
47271                          atlanta
47272                      DATACENTERID:
47273                          4
47274                      LOCATION:
47275                          Atlanta, GA, USA
47276          ...SNIP...
47277
47278   Linode Specific Settings
47279       There are several options outlined below that can be  added  to  either
47280       the  Linode  provider  of profile configuration files. Some options are
47281       mandatory and are properly labeled below but typically also  include  a
47282       hard-coded default.
47283
47284   image
47285       Image  is used to define what Operating System image should be used for
47286       the instance. Examples are Ubuntu 14.04 LTS and CentOS 7.  This  option
47287       should be specified in the profile config. Required.
47288
47289   location
47290       Location  is  used to define which Linode data center the instance will
47291       reside in.  Required.
47292
47293   size
47294       Size is used to define the instance's "plan type" which  includes  mem‐
47295       ory, storage, and price. Required.
47296
47297   assign_private_ip
47298       New in version 2016.3.0.
47299
47300
47301       Assigns  a  private IP address to a Linode when set to True. Default is
47302       False.
47303
47304   ssh_interface
47305       New in version 2016.3.0.
47306
47307
47308       Specify whether to use a public or private IP for  the  deploy  script.
47309       Valid options are:
47310
47311       · public_ips: The salt-master is hosted outside of Linode. Default.
47312
47313       · private_ips: The salt-master is also hosted within Linode.
47314
47315       If  specifying  private_ips, the Linodes must be hosted within the same
47316       data center and have the Network Helper enabled on your entire account.
47317       The  instance  that is running the Salt-Cloud provisioning command must
47318       also have a private IP assigned to it.
47319
47320       Newer accounts created  on  Linode  have  the  Network  Helper  setting
47321       enabled by default, account-wide. Legacy accounts do not have this set‐
47322       ting enabled by default. To enable the Network Helper  on  your  Linode
47323       account, please see Linode's Network Helper documentation.
47324
47325       If  you're  running into problems, be sure to restart the instance that
47326       is running Salt Cloud after  adding  its  own  private  IP  address  or
47327       enabling the Network Helper.
47328
47329   clonefrom
47330       Setting  the  clonefrom  option to a specified instance enables the new
47331       instance to be cloned from the named instance instead of being  created
47332       from  scratch.  If using the clonefrom option, it is likely a good idea
47333       to also specify script_args: -C if a minion is already installed on the
47334       to-be-cloned  instance. See the Cloning section below for more informa‐
47335       tion.
47336
47337   Cloning
47338       To clone  a  Linode,  add  a  profile  with  a  clonefrom  key,  and  a
47339       script_args:  -C.   clonefrom  should be the name of the Linode that is
47340       the source  for  the  clone.   script_args:  -C  passes  a  -C  to  the
47341       salt-bootstrap script, which only configures the minion and doesn't try
47342       to install a new copy of salt-minion. This way the minion gets new keys
47343       and  the  keys  get  pre-seeded on the master, and the /etc/salt/minion
47344       file has the right minion 'id:' declaration.
47345
47346       Cloning requires a post 2015-02-01 salt-bootstrap.
47347
47348       It is safest to clone a stopped machine. To stop a machine run
47349
47350          salt-cloud -a stop machine_to_clone
47351
47352       To create a new machine based on another machine, add an entry to  your
47353       linode cloud profile that looks like this:
47354
47355          li-clone:
47356            provider: my-linode-config
47357            clonefrom: machine_to_clone
47358            script_args: -C -F
47359
47360       Then run salt-cloud as normal, specifying -p li-clone. The profile name
47361       can be anything; It doesn't have to be li-clone.
47362
47363       clonefrom: is the name of an existing machine in Linode from  which  to
47364       clone.   Script_args: -C -F is necessary to avoid re-deploying Salt via
47365       salt-bootstrap.  -C will just re-deploy keys so the new minion will not
47366       have  a  duplicate  key or minion_id on the Master, and -F will force a
47367       rewrite of the Minion config file on the new Minion. If -F  isn't  pro‐
47368       vided,  the  new  Minion  will  have  the machine_to_clone's Minion ID,
47369       instead of its own Minion ID, which can cause problems.
47370
47371       NOTE:
47372          Pull Request #733 to the salt-bootstrap repo makes the  -F  argument
47373          non-necessary. Once that change is released into a stable version of
47374          the Bootstrap Script, the -C argument will  be  sufficient  for  the
47375          script_args setting.
47376
47377       If  the  machine_to_clone  does  not have Salt installed on it, refrain
47378       from using the script_args: -C -F altogether, because the  new  machine
47379       will need to have Salt installed.
47380
47381   Getting Started With LXC
47382       The  LXC  module  is  designed to install Salt in an LXC container on a
47383       controlled and possibly remote minion.
47384
47385       In other words, Salt will connect to a minion, then from that minion:
47386
47387       · Provision and configure a container for networking access
47388
47389       · Use those modules to deploy salt and re-attach to master.
47390
47391            · lxc runner
47392
47393            · lxc module
47394
47395            · seed
47396
47397   Limitations
47398       · You can only act on one minion and one provider at a time.
47399
47400       · Listing images must be targeted to a particular LXC provider (nothing
47401         will be outputted with all)
47402
47403   Operation
47404       Salt's  LXC  support does use lxc.init via the lxc.cloud_init_interface
47405       and seeds the minion via seed.mkconfig.
47406
47407       You can provide to those lxc VMs a profile and a network  profile  like
47408       if you were directly using the minion module.
47409
47410       Order of operation:
47411
47412       · Create the LXC container on the desired minion (clone or template)
47413
47414       · Change LXC config options (if any need to be changed)
47415
47416       · Start container
47417
47418       · Change base passwords if any
47419
47420       · Change base DNS configuration if necessary
47421
47422       · Wait for LXC container to be up and ready for ssh
47423
47424       · Test SSH connection and bailout in error
47425
47426       · Upload deploy script and seeds, then re-attach the minion.
47427
47428   Provider configuration
47429       Here is a simple provider configuration:
47430
47431          # Note: This example goes in /etc/salt/cloud.providers or any file in the
47432          # /etc/salt/cloud.providers.d/ directory.
47433          devhost10-lxc:
47434            target: devhost10
47435            driver: lxc
47436
47437       NOTE:
47438          Changed in version 2015.8.0.
47439
47440
47441          The  provider parameter in cloud provider definitions was renamed to
47442          driver. This change was made to avoid confusion  with  the  provider
47443          parameter  that is used in cloud profile definitions. Cloud provider
47444          definitions now use driver to refer to the Salt  cloud  module  that
47445          provides  the  underlying  functionality to connect to a cloud host,
47446          while cloud profiles continue to use provider to refer  to  provider
47447          configurations that you define.
47448
47449   Profile configuration
47450       Please  read  tutorial-lxc  before  anything else.  And specially tuto‐
47451       rial-lxc-profiles.
47452
47453       Here are the options to configure your containers:
47454
47455          target Host minion id to install the lxc Container into
47456
47457          lxc_profile
47458                 Name of the profile or inline options for  the  LXC  vm  cre‐
47459                 ation/cloning, please see tutorial-lxc-profiles-container.
47460
47461          network_profile
47462                 Name  of the profile or inline options for the LXC vm network
47463                 settings, please see tutorial-lxc-profiles-network.
47464
47465          nic_opts
47466                 Totally  optional.   Per  interface  new-style  configuration
47467                 options  mappings  which  will  override  any profile default
47468                 option:
47469
47470                     eth0: {'mac': '00:16:3e:01:29:40',
47471                                   'gateway': None, (default)
47472                                   'link': 'br0', (default)
47473                                   'gateway': None, (default)
47474                                   'netmask': '', (default)
47475                                   'ip': '22.1.4.25'}}
47476
47477          password
47478                 password for root and sysadmin users
47479
47480          dnsservers
47481                 List of DNS servers to use. This is optional.
47482
47483          minion minion configuration (see Minion Configuration in Salt Cloud)
47484
47485          bootstrap_delay
47486                 specify the time to wait (in seconds) between container  cre‐
47487                 ation  and  salt  bootstrap execution. It is useful to ensure
47488                 that all essential services have started before the bootstrap
47489                 script  is  executed. By default there's no wait time between
47490                 container creation and bootstrap unless you  are  on  systemd
47491                 where we wait that the system is no more in starting state.
47492
47493          bootstrap_shell
47494                 shell for bootstraping script (default: /bin/sh)
47495
47496          script defaults to salt-boostrap
47497
47498          script_args
47499                 arguments  which  are given to the bootstrap script.  the {0}
47500                 placeholder will be replaced by the path which  contains  the
47501                 minion config and key files, eg:
47502
47503                     script_args="-c {0}"
47504
47505       Using profiles:
47506
47507          # Note: This example would go in /etc/salt/cloud.profiles or any file in the
47508          # /etc/salt/cloud.profiles.d/ directory.
47509          devhost10-lxc:
47510            provider: devhost10-lxc
47511            lxc_profile: foo
47512            network_profile: bar
47513            minion:
47514              master: 10.5.0.1
47515              master_port: 4506
47516
47517       Using inline profiles (eg to override the network bridge):
47518
47519          devhost11-lxc:
47520            provider: devhost10-lxc
47521            lxc_profile:
47522              clone_from: foo
47523            network_profile:
47524              etho:
47525                link: lxcbr0
47526            minion:
47527              master: 10.5.0.1
47528              master_port: 4506
47529
47530       Using a lxc template instead of a clone:
47531
47532          devhost11-lxc:
47533            provider: devhost10-lxc
47534            lxc_profile:
47535              template: ubuntu
47536              # options:
47537              #   release: trusty
47538            network_profile:
47539              etho:
47540                link: lxcbr0
47541            minion:
47542              master: 10.5.0.1
47543              master_port: 4506
47544
47545       Static ip:
47546
47547          # Note: This example would go in /etc/salt/cloud.profiles or any file in the
47548          # /etc/salt/cloud.profiles.d/ directory.
47549          devhost10-lxc:
47550            provider: devhost10-lxc
47551            nic_opts:
47552              eth0:
47553                ipv4: 10.0.3.9
47554            minion:
47555              master: 10.5.0.1
47556              master_port: 4506
47557
47558       DHCP:
47559
47560          # Note: This example would go in /etc/salt/cloud.profiles or any file in the
47561          # /etc/salt/cloud.profiles.d/ directory.
47562          devhost10-lxc:
47563            provider: devhost10-lxc
47564            minion:
47565              master: 10.5.0.1
47566              master_port: 4506
47567
47568   Driver Support
47569       · Container creation
47570
47571       · Image listing (LXC templates)
47572
47573       · Running container information (IP addresses, etc.)
47574
47575   Getting Started With 1and1
47576       1&1  is one of the world’s leading Web hosting providers. 1&1 currently
47577       offers a wide range of Web hosting products, including email  solutions
47578       and  high-end  servers  in  10  different  countries including Germany,
47579       Spain, Great Britain and the United States.  From domains to 1&1 MyWeb‐
47580       site to eBusiness solutions like Cloud Hosting and Web servers for com‐
47581       plex tasks, 1&1 is well placed to deliver a high quality service to its
47582       customers. All 1&1 products are hosted in 1&1‘s high-performance, green
47583       data centers in the USA and Europe.
47584
47585   Dependencies
47586       · 1and1 >= 1.2.0
47587
47588   Configuration
47589       · Using  the  new  format,  set   up   the   cloud   configuration   at
47590         /etc/salt/cloud.providers    or    /etc/salt/cloud.providers.d/onean‐
47591         done.conf:
47592
47593          my-oneandone-config:
47594            driver: oneandone
47595
47596            # Set the location of the salt-master
47597            #
47598            minion:
47599              master: saltmaster.example.com
47600
47601            # Configure oneandone authentication credentials
47602            #
47603            api_token: <api_token>
47604            ssh_private_key: /path/to/id_rsa
47605            ssh_public_key: /path/to/id_rsa.pub
47606
47607   Authentication
47608       The api_key is used for API authorization. This token can  be  obtained
47609       from the CloudPanel in the Management section below Users.
47610
47611   Profiles
47612       Here is an example of a profile:
47613
47614          oneandone_fixed_size:
47615            provider: my-oneandone-config
47616            description: Small instance size server
47617            fixed_instance_size: S
47618            appliance_id: 8E3BAA98E3DFD37857810E0288DD8FBA
47619
47620          oneandone_custom_size:
47621            provider: my-oneandone-config
47622            description: Custom size server
47623            vcore: 2
47624            cores_per_processor: 2
47625            ram: 8
47626            appliance_id: 8E3BAA98E3DFD37857810E0288DD8FBA
47627            hdds:
47628            -
47629              is_main: true
47630              size: 20
47631            -
47632              is_main: false
47633              size: 20
47634
47635       The following list explains some of the important properties.
47636
47637       fixed_instance_size_id
47638              When  creating a server, either fixed_instance_size_id or custom
47639              hardware params containing vcore, cores_per_processor, ram,  and
47640              hdds  must  be provided.  Can be one of the IDs listed among the
47641              output of the following command:
47642
47643          salt-cloud --list-sizes oneandone
47644
47645       vcore  Total amount of processors.
47646
47647       cores_per_processor
47648              Number of cores per processor.
47649
47650       ram    RAM memory size in GB.
47651
47652       hdds   Hard disks.
47653
47654       appliance_id
47655              ID of the image that will be installed on server.  Can be one of
47656              the IDs listed in the output of the following command:
47657
47658          salt-cloud --list-images oneandone
47659
47660       datacenter_id
47661              ID  of  the datacenter where the server will be created.  Can be
47662              one of the IDs listed in the output of the following command:
47663
47664          salt-cloud --list-locations oneandone
47665
47666       description
47667              Description of the server.
47668
47669       password
47670              Password of the server. Password must contain more than 8  char‐
47671              acters  using  uppercase letters, numbers and other special sym‐
47672              bols.
47673
47674       power_on
47675              Power on server after creation. Default is set to true.
47676
47677       firewall_policy_id
47678              Firewall policy ID. If it  is  not  provided,  the  server  will
47679              assign  the  best  firewall policy, creating a new one if neces‐
47680              sary. If the parameter is sent with a 0 value, the  server  will
47681              be created with all ports blocked.
47682
47683       ip_id  IP address ID.
47684
47685       load_balancer_id
47686              Load balancer ID.
47687
47688       monitoring_policy_id
47689              Monitoring policy ID.
47690
47691       deploy Set to False if Salt should not be installed on the node.
47692
47693       wait_for_timeout
47694              The  timeout  to wait in seconds for provisioning resources such
47695              as servers.  The default wait_for_timeout is 15 minutes.
47696
47697       public_key_ids
47698              List of public key IDs (ssh key).
47699
47700   Functions
47701       · Create an SSH key
47702
47703          sudo salt-cloud -f create_ssh_key my-oneandone-config name='SaltTest' description='SaltTestDescription'
47704
47705       · Create a block storage
47706
47707          sudo salt-cloud -f create_block_storage my-oneandone-config name='SaltTest2' description='SaltTestDescription' size=50 datacenter_id='5091F6D8CBFEF9C26ACE957C652D5D49'
47708
47709       For more information concerning cloud profiles, see here.
47710
47711   Getting Started with OpenNebula
47712       OpenNebula is an open-source solution for the comprehensive  management
47713       of virtualized data centers to enable the mixed use of private, public,
47714       and hybrid IaaS clouds.
47715
47716   Dependencies
47717       The driver requires Python's lxml library  to  be  installed.  It  also
47718       requires an OpenNebula installation running version 4.12 or greater.
47719
47720   Configuration
47721       The  following example illustrates some of the options that can be set.
47722       These parameters are discussed in more detail below.
47723
47724          # Note: This example is for /etc/salt/cloud.providers or any file in the
47725          # /etc/salt/cloud.providers.d/ directory.
47726
47727          my-opennebula-provider:
47728            # Set up the location of the salt master
47729            #
47730            minion:
47731              master: saltmaster.example.com
47732
47733            # Define xml_rpc setting which Salt-Cloud uses to connect to the OpenNebula API. Required.
47734            #
47735            xml_rpc: http://localhost:2633/RPC2
47736
47737            # Define the OpenNebula access credentials. This can be the main "oneadmin" user that OpenNebula uses as the
47738            # OpenNebula main admin, or it can be a user defined in the OpenNebula instance. Required.
47739            #
47740            user: oneadmin
47741            password: JHGhgsayu32jsa
47742
47743            # Define the private key location that is used by OpenNebula to access new VMs. This setting is required if
47744            # provisioning new VMs or accessing VMs previously created with the associated public key.
47745            #
47746            private_key: /path/to/private/key
47747
47748            driver: opennebula
47749
47750   Access Credentials
47751       The Salt Cloud driver for OpenNebula  was  written  using  OpenNebula's
47752       native  XML RPC API. Every interaction with OpenNebula's API requires a
47753       username and password to make the connection from the  machine  running
47754       Salt  Cloud  to  API  running  on the OpenNebula instance. Based on the
47755       access credentials passed in, OpenNebula filters the commands that  the
47756       user  can  perform or the information for which the user can query. For
47757       example, the images that a user can view with a  --list-images  command
47758       are  the images that the connected user and the connected user's groups
47759       can access.
47760
47761   Key Pairs
47762       Salt Cloud needs to be able to access a virtual  machine  in  order  to
47763       install the Salt Minion by using a public/private key pair. The virtual
47764       machine will need to be seeded with the public key, which is laid  down
47765       by the OpenNebula template. Salt Cloud then uses the corresponding pri‐
47766       vate key, provided by the private_key setting  in  the  cloud  provider
47767       file, to SSH into the new virtual machine.
47768
47769       To seed the virtual machine with the public key, the public key must be
47770       added to the OpenNebula template. If using the  OpenNebula  web  inter‐
47771       face,  navigate  to  the template, then click Update. Click the Context
47772       tab. Under the Network & SSH section, click Add  SSH  Contextualization
47773       and  paste  the public key in the Public Key box.  Don't forget to save
47774       your changes by clicking the green Update button.
47775
47776       NOTE:
47777          The key pair must not have a pass-phrase.
47778
47779   Cloud Profiles
47780       Set up an initial profile at  either  /etc/salt/cloud.profiles  or  the
47781       /etc/salt/cloud.profiles.d/ directory.
47782
47783          my-opennebula-profile:
47784            provider: my-opennebula-provider
47785            image: Ubuntu-14.04
47786
47787       The profile can now be realized with a salt command:
47788
47789          salt-cloud -p my-opennebula-profile my-new-vm
47790
47791       This will create a new instance named my-new-vm in OpenNebula. The min‐
47792       ion that is installed on  this  instance  will  have  a  minion  id  of
47793       my-new-vm. If the command was executed on the salt-master, its Salt key
47794       will automatically be signed on the master.
47795
47796       Once the instance has been created with salt-minion installed,  connec‐
47797       tivity to it can be verified with Salt:
47798
47799          salt my-new-vm test.ping
47800
47801       OpenNebula  uses  an  image  -->  template --> virtual machine paradigm
47802       where the template draws on the image, or disk,  and  virtual  machines
47803       are created from templates. Because of this, there is no need to define
47804       a size in the cloud profile. The size of the virtual machine is defined
47805       in the template.
47806
47807   Change Disk Size
47808       You can now change the size of a VM on creation by cloning an image and
47809       expanding the size. You can accomplish this by the following cloud pro‐
47810       file settings below.
47811
47812          my-opennebula-profile:
47813            provider: my-opennebula-provider
47814            image: Ubuntu-14.04
47815            disk:
47816              disk0:
47817                disk_type: clone
47818                size: 8096
47819                image: centos7-base-image-v2
47820              disk1:
47821                disk_type: volatile
47822                type: swap
47823                size: 4096
47824              disk2:
47825                disk_type: volatile
47826                size: 4096
47827                type: fs
47828                format: ext3
47829
47830       There  are  currently two different disk_types a user can use: volatile
47831       and clone. Clone which is required when specifying devices  will  clone
47832       an image in open nebula and will expand it to the size specified in the
47833       profile settings. By default this will clone the image attached to  the
47834       template specified in the profile but a user can add the image argument
47835       under the disk definition.
47836
47837       For example the profile below will not use Ubuntu-14.04 for the  cloned
47838       disk image. It will use the centos7-base-image image:
47839
47840          my-opennebula-profile:
47841            provider: my-opennebula-provider
47842            image: Ubuntu-14.04
47843            disk:
47844              disk0:
47845                disk_type: clone
47846                size: 8096
47847                image: centos7-base-image
47848
47849       If  you  want to use the image attached to the template set in the pro‐
47850       file you can simply remove the image argument as show below.  The  pro‐
47851       file  below  will  clone  the image Ubuntu-14.04 and expand the disk to
47852       8GB.:
47853
47854          my-opennebula-profile:
47855            provider: my-opennebula-provider
47856            image: Ubuntu-14.04
47857            disk:
47858              disk0:
47859                disk_type: clone
47860                size: 8096
47861
47862       A user can also currently specify swap or fs disks. Below is an example
47863       of this profile setting:
47864
47865          my-opennebula-profile:
47866            provider: my-opennebula-provider
47867            image: Ubuntu-14.04
47868            disk:
47869              disk0:
47870                disk_type: clone
47871                size: 8096
47872              disk1:
47873                disk_type: volatile
47874                type: swap
47875                size: 4096
47876              disk2:
47877                disk_type: volatile
47878                size: 4096
47879                type: fs
47880                format: ext3
47881
47882       The  example  above  will attach both a swap disk and a ext3 filesystem
47883       with a size of 4GB. To note if you  define  other  disks  you  have  to
47884       define the image disk to clone because the template will write over the
47885       entire 'DISK=[]' template definition on creation.
47886
47887   Required Settings
47888       The following settings are always required for OpenNebula:
47889
47890          my-opennebula-config:
47891            xml_rpc: http://localhost:26633/RPC2
47892            user: oneadmin
47893            password: JHGhgsayu32jsa
47894            driver: opennebula
47895
47896   Required Settings for VM Deployment
47897       The settings defined in the Required Settings section are required  for
47898       all  interactions  with  OpenNebula.  However, when deploying a virtual
47899       machine via Salt Cloud, an additional  setting,  private_key,  is  also
47900       required:
47901
47902          my-opennebula-config:
47903            private_key: /path/to/private/key
47904
47905   Listing Images
47906       Images  can be queried on OpenNebula by passing the --list-images argu‐
47907       ment to Salt Cloud:
47908
47909          salt-cloud --list-images opennebula
47910
47911   Listing Locations
47912       In OpenNebula, locations are defined as hosts. Locations,  or  "hosts",
47913       can  be querried on OpenNebula by passing the --list-locations argument
47914       to Salt Cloud:
47915
47916          salt-cloud --list-locations opennebula
47917
47918   Listing Sizes
47919       Sizes are defined by templates in OpenNebula. As such, the --list-sizes
47920       call returns an empty dictionary since there are no sizes to return.
47921
47922   Additional OpenNebula API Functionality
47923       The  Salt  Cloud  driver  for OpenNebula was written using OpenNebula's
47924       native XML RPC API. As such, many --function and  --action  calls  were
47925       added to the OpenNebula driver to enhance support for an OpenNebula in‐
47926       frastructure with additional control from Salt Cloud. See the  OpenNeb‐
47927       ula function definitions for more information.
47928
47929   Access via DNS entry instead of IP
47930       Some  OpenNebula  installations  do not assign IP addresses to new VMs,
47931       instead they establish the new VM's hostname based on OpenNebula's name
47932       of the VM, and then allocate an IP out of DHCP with dynamic DNS attach‐
47933       ing the hostname.  This driver supports this  behavior  by  adding  the
47934       entry  fqdn_base  to the driver configuration or the OpenNebula profile
47935       with a value matching the base fully-qualified domain.  For example:
47936
47937          # Note: This example is for /etc/salt/cloud.providers or any file in the
47938          # /etc/salt/cloud.providers.d/ directory.
47939
47940          my-opennebula-provider:
47941            [...]
47942            fqdn_base: corp.example.com
47943            [...]
47944
47945   Getting Started with Openstack
47946   Openstack Cloud Driver
47947       depends
47948              shade
47949
47950       OpenStack is an open source project that is in use by a number a  cloud
47951       providers, each of which have their own ways of using it.
47952
47953       This  OpenStack  driver uses a the shade python module which is managed
47954       by the OpenStack Infra team.  This module is written to handle all  the
47955       different  versions of different OpenStack tools for salt, so most com‐
47956       mands are just passed over to the module to handle everything.
47957
47958   Provider
47959       There are two ways to configure providers for this driver.   The  first
47960       one  is  to  just  let  shade  handle  everything,  and configure using
47961       os-client-config and setting up /etc/openstack/clouds.yml.
47962
47963          clouds:
47964            democloud:
47965              region_name: RegionOne
47966              auth:
47967                username: 'demo'
47968                password: secret
47969                project_name: 'demo'
47970                auth_url: 'http://openstack/identity'
47971
47972       And then this can be referenced in the salt provider based on the demo‐
47973       cloud name.
47974
47975          myopenstack:
47976            driver: openstack
47977            cloud: democloud
47978            region_name: RegionOne
47979
47980       This allows for just using one configuration for salt-cloud and for any
47981       other openstack tools which are all using /etc/openstack/clouds.yml
47982
47983       The other method allows for specifying everything in the provider  con‐
47984       fig,  instead  of  using the extra configuration file.  This will allow
47985       for passing salt-cloud configs only through pillars for minions without
47986       having to write a clouds.yml file on each minion.abs
47987
47988          myopenstack:
47989            driver: openstack
47990            region_name: RegionOne
47991            auth:
47992              username: 'demo'
47993              password: secret
47994              project_name: 'demo'
47995              auth_url: 'http://openstack/identity'
47996
47997       Or  if  you  need to use a profile to setup some extra stuff, it can be
47998       passed as a profile to use any of the vendor config options.
47999
48000          myrackspace:
48001            driver: openstack
48002            profile: rackspace
48003            auth:
48004              username: rackusername
48005              api_key: myapikey
48006            region_name: ORD
48007            auth_type: rackspace_apikey
48008
48009       And this will pull in the profile for rackspace and setup all the  cor‐
48010       rect options for the auth_url and different api versions for services.
48011
48012   Profile
48013       Most  of  the  options  for  building servers are just passed on to the
48014       create_server function from shade.
48015
48016       The salt specific ones are:
48017
48018          · ssh_key_file: The path to the ssh key that should be used to login
48019            to the machine to bootstrap it
48020
48021          · ssh_key_file: The name of the keypair in openstack
48022
48023          · userdata_template:  The  renderer to use if the userdata is a file
48024            that is templated. Default: False
48025
48026          · ssh_interface: The interface to use to  login  for  bootstrapping:
48027            public_ips, private_ips, floating_ips, fixed_ips
48028
48029          centos:
48030            provider: myopenstack
48031            image: CentOS 7
48032            size: ds1G
48033            ssh_key_name: mykey
48034            ssh_key_file: /root/.ssh/id_rsa
48035
48036       This is the minimum setup required.
48037
48038       If  metadata  is set to make sure that the host has finished setting up
48039       the wait_for_metadata can be set.
48040
48041          centos:
48042            provider: myopenstack
48043            image: CentOS 7
48044            size: ds1G
48045            ssh_key_name: mykey
48046            ssh_key_file: /root/.ssh/id_rsa
48047            meta:
48048              build_config: rack_user_only
48049            wait_for_metadata:
48050              rax_service_level_automation: Complete
48051              rackconnect_automation_status: DEPLOYED
48052
48053       Anything else from the create_server docs can be passed through here.
48054
48055       ·
48056
48057         image: Image dict, name or ID to boot with. image is required
48058                unless boot_volume is given.
48059
48060       · flavor: Flavor dict, name or ID to boot onto.
48061
48062       ·
48063
48064         auto_ip: Whether to take actions to find a routable IP for
48065                the server. (defaults to True)
48066
48067       · ips: List of IPs to attach to the server (defaults to None)
48068
48069       ·
48070
48071         ip_pool: Name of the network or floating IP pool to get an
48072                address from. (defaults to None)
48073
48074       ·
48075
48076         root_volume: Name or ID of a volume to boot from
48077                (defaults to None - deprecated, use boot_volume)
48078
48079       ·
48080
48081         boot_volume: Name or ID of a volume to boot from
48082                (defaults to None)
48083
48084       ·
48085
48086         terminate_volume: If booting from a volume, whether it should
48087                be deleted when the server is destroyed.  (defaults to False)
48088
48089       · volumes: (optional) A list of volumes to attach to the server
48090
48091       ·
48092
48093         meta: (optional) A dict of arbitrary key/value metadata to
48094                store for this server. Both keys  and  values  must  be  <=255
48095                characters.
48096
48097       ·
48098
48099         files: (optional, deprecated) A dict of files to overwrite
48100                on   the   server   upon  boot.  Keys  are  file  names  (i.e.
48101                /etc/passwd) and values are the file  contents  (either  as  a
48102                string or as a file-like object). A maximum of five entries is
48103                allowed, and each file must be 10k or less.
48104
48105       · reservation_id: a UUID for the set of servers being requested.
48106
48107       ·
48108
48109         min_count: (optional extension) The minimum number of
48110                servers to launch.
48111
48112       ·
48113
48114         max_count: (optional extension) The maximum number of
48115                servers to launch.
48116
48117       · security_groups: A list of security group names
48118
48119       ·
48120
48121         userdata: user data to pass to be exposed by the metadata
48122                server this can be a file type object as well or a string.
48123
48124       ·
48125
48126         key_name: (optional extension) name of previously created
48127                keypair to inject into the instance.
48128
48129       ·
48130
48131         availability_zone: Name of the availability zone for instance
48132                placement.
48133
48134       ·
48135
48136         block_device_mapping: (optional) A dict of block
48137                device mappings for this server.
48138
48139       ·
48140
48141         block_device_mapping_v2: (optional) A dict of block
48142                device mappings for this server.
48143
48144       ·
48145
48146         nics:  (optional extension) an ordered list of nics to be
48147                added to this server, with information  about  connected  net‐
48148                works, fixed IPs, port etc.
48149
48150       ·
48151
48152         scheduler_hints: (optional extension) arbitrary key-value pairs
48153                specified by the client to help boot an instance
48154
48155       ·
48156
48157         config_drive: (optional extension) value for config drive
48158                either boolean, or volume-id
48159
48160       ·
48161
48162         disk_config: (optional extension) control how the disk is
48163                partitioned  when  the server is created.  possible values are
48164                'AUTO' or 'MANUAL'.
48165
48166       ·
48167
48168         admin_pass: (optional extension) add a user supplied admin
48169                password.
48170
48171       ·
48172
48173         timeout: (optional) Seconds to wait, defaults to 60.
48174                See the wait parameter.
48175
48176       ·
48177
48178         reuse_ips: (optional) Whether to attempt to reuse pre-existing
48179                floating ips should a floating IP be needed (defaults to True)
48180
48181       ·
48182
48183         network: (optional) Network dict or name or ID to attach the
48184                server to.  Mutually exclusive with the nics  parameter.   Can
48185                also be be a list of network names or IDs or network dicts.
48186
48187       ·
48188
48189         boot_from_volume: Whether to boot from volume. 'boot_volume'
48190                implies True, but boot_from_volume=True with no boot_volume is
48191                valid and will create a volume from the image and use that.
48192
48193       ·
48194
48195         volume_size: When booting an image from volume, how big should
48196                the created volume be? Defaults to 50.
48197
48198       ·
48199
48200         nat_destination: Which network should a created floating IP
48201                be attached to, if it's not possible to infer from the cloud's
48202                configuration.  (Optional, defaults to None)
48203
48204       ·
48205
48206         group: ServerGroup dict, name or id to boot the server in.
48207                If  a  group  is  provided  in both scheduler_hints and in the
48208                group param, the group param will win.  (Optional, defaults to
48209                None)
48210
48211       NOTE:
48212          If  there  is  anything  added,  that is not in this list, it can be
48213          added to an extras dictionary for the profile, and that will  be  to
48214          the create_server function.
48215
48216   Getting Started With Parallels
48217       Parallels  Cloud Server is a product by Parallels that delivers a cloud
48218       hosting solution. The PARALLELS module for Salt Cloud  enables  you  to
48219       manage instances hosted using PCS. Further information can be found at:
48220
48221       http://www.parallels.com/products/pcs/
48222
48223       · Using   the   old   format,   set   up  the  cloud  configuration  at
48224         /etc/salt/cloud:
48225
48226          # Set up the location of the salt master
48227          #
48228          minion:
48229              master: saltmaster.example.com
48230
48231          # Set the PARALLELS access credentials (see below)
48232          #
48233          PARALLELS.user: myuser
48234          PARALLELS.password: badpass
48235
48236          # Set the access URL for your PARALLELS host
48237          #
48238          PARALLELS.url: https://api.cloud.xmission.com:4465/paci/v1.0/
48239
48240       · Using  the  new  format,  set   up   the   cloud   configuration   at
48241         /etc/salt/cloud.providers    or    /etc/salt/cloud.providers.d/paral‐
48242         lels.conf:
48243
48244          my-parallels-config:
48245            # Set up the location of the salt master
48246            #
48247            minion:
48248              master: saltmaster.example.com
48249
48250            # Set the PARALLELS access credentials (see below)
48251            #
48252            user: myuser
48253            password: badpass
48254
48255            # Set the access URL for your PARALLELS provider
48256            #
48257            url: https://api.cloud.xmission.com:4465/paci/v1.0/
48258            driver: parallels
48259
48260       NOTE:
48261          Changed in version 2015.8.0.
48262
48263
48264          The provider parameter in cloud provider definitions was renamed  to
48265          driver.  This  change  was made to avoid confusion with the provider
48266          parameter that is used in cloud profile definitions. Cloud  provider
48267          definitions  now  use  driver to refer to the Salt cloud module that
48268          provides the underlying functionality to connect to  a  cloud  host,
48269          while  cloud  profiles continue to use provider to refer to provider
48270          configurations that you define.
48271
48272   Access Credentials
48273       The user, password, and url will be provided to you by your cloud host.
48274       These are all required in order for the PARALLELS driver to work.
48275
48276   Cloud Profiles
48277       Set    up   an   initial   profile   at   /etc/salt/cloud.profiles   or
48278       /etc/salt/cloud.profiles.d/parallels.conf:
48279
48280          parallels-ubuntu:
48281              provider: my-parallels-config
48282              image: ubuntu-12.04-x86_64
48283
48284       The profile can be realized now with a salt command:
48285
48286          # salt-cloud -p parallels-ubuntu myubuntu
48287
48288       This will create an instance named myubuntu on the cloud host. The min‐
48289       ion that is installed on this instance will have an id of myubuntu.  If
48290       the command was executed on the salt-master, its Salt key will automat‐
48291       ically be signed on the master.
48292
48293       Once  the instance has been created with salt-minion installed, connec‐
48294       tivity to it can be verified with Salt:
48295
48296          # salt myubuntu test.ping
48297
48298   Required Settings
48299       The following settings are always required for PARALLELS:
48300
48301       · Using the old cloud configuration format:
48302
48303          PARALLELS.user: myuser
48304          PARALLELS.password: badpass
48305          PARALLELS.url: https://api.cloud.xmission.com:4465/paci/v1.0/
48306
48307       · Using the new cloud configuration format:
48308
48309          my-parallels-config:
48310            user: myuser
48311            password: badpass
48312            url: https://api.cloud.xmission.com:4465/paci/v1.0/
48313            driver: parallels
48314
48315   Optional Settings
48316       Unlike other cloud providers in Salt Cloud, Parallels does not  utilize
48317       a  size setting. This is because Parallels allows the end-user to spec‐
48318       ify a more detailed configuration for their instances than  is  allowed
48319       by  many  other  cloud hosts. The following options are available to be
48320       used in a profile, with their default settings listed.
48321
48322          # Description of the instance. Defaults to the instance name.
48323          desc: <instance_name>
48324
48325          # How many CPU cores, and how fast they are (in MHz)
48326          cpu_number: 1
48327          cpu_power: 1000
48328
48329          # How many megabytes of RAM
48330          ram: 256
48331
48332          # Bandwidth available, in kbps
48333          bandwidth: 100
48334
48335          # How many public IPs will be assigned to this instance
48336          ip_num: 1
48337
48338          # Size of the instance disk (in GiB)
48339          disk_size: 10
48340
48341          # Username and password
48342          ssh_username: root
48343          password: <value from PARALLELS.password>
48344
48345          # The name of the image, from ``salt-cloud --list-images parallels``
48346          image: ubuntu-12.04-x86_64
48347
48348   Getting Started With ProfitBricks
48349       ProfitBricks provides an enterprise-grade Infrastructure as  a  Service
48350       (IaaS)  solution that can be managed through a browser-based "Data Cen‐
48351       ter Designer" (DCD) tool or via an easy to use API. A unique feature of
48352       the ProfitBricks platform is that it allows you to define your own set‐
48353       tings for cores, memory, and disk size without being tied to a particu‐
48354       lar server size.
48355
48356   Dependencies
48357       · profitbricks >= 4.1.1
48358
48359   Configuration
48360       · Using   the   new   format,   set   up  the  cloud  configuration  at
48361         /etc/salt/cloud.providers   or    /etc/salt/cloud.providers.d/profit‐
48362         bricks.conf:
48363
48364          my-profitbricks-config:
48365            driver: profitbricks
48366
48367            # Set the location of the salt-master
48368            #
48369            minion:
48370              master: saltmaster.example.com
48371
48372            # Configure ProfitBricks authentication credentials
48373            #
48374            username: user@domain.com
48375            password: 123456
48376            # datacenter is the UUID of a pre-existing virtual data center.
48377            datacenter: 9e6709a0-6bf9-4bd6-8692-60349c70ce0e
48378            # delete_volumes is forcing a deletion of all volumes attached to a server on a deletion of a server
48379            delete_volumes: true
48380            # Connect to public LAN ID 1.
48381            public_lan: 1
48382            ssh_public_key: /path/to/id_rsa.pub
48383            ssh_private_key: /path/to/id_rsa
48384
48385       NOTE:
48386          Changed in version 2015.8.0.
48387
48388
48389          The  provider parameter in cloud provider definitions was renamed to
48390          driver. This change was made to avoid confusion  with  the  provider
48391          parameter  that is used in cloud profile definitions. Cloud provider
48392          definitions now use driver to refer to the Salt  cloud  module  that
48393          provides  the  underlying  functionality to connect to a cloud host,
48394          while cloud profiles continue to use provider to refer  to  provider
48395          configurations that you define.
48396
48397   Virtual Data Center
48398       ProfitBricks  uses the concept of Virtual Data Centers. These are logi‐
48399       cally separated from one another and allow you to have a self-contained
48400       environment  for  all  servers,  volumes, networking, snapshots, and so
48401       forth.
48402
48403       A list of existing virtual data centers can be retrieved with the  fol‐
48404       lowing command:
48405
48406          salt-cloud -f list_datacenters my-profitbricks-config
48407
48408       A new data center can be created with the following command:
48409
48410          salt-cloud -f create_datacenter my-profitbricks-config name=example location=us/las description="my description"
48411
48412   Authentication
48413       The  username  and  password are the same as those used to log into the
48414       ProfitBricks "Data Center Designer".
48415
48416   Profiles
48417       Here is an example of a profile:
48418
48419          profitbricks_staging
48420            provider: my-profitbricks-config
48421            size: Micro Instance
48422            image_alias: 'ubuntu:latest'
48423            # image or image_alias must be provided
48424            # image: 2f98b678-6e7e-11e5-b680-52540066fee9
48425            cores: 2
48426            ram: 4096
48427            public_lan: 1
48428            private_lan: 2
48429            ssh_public_key: /path/to/id_rsa.pub
48430            ssh_private_key: /path/to/id_rsa
48431            ssh_interface: private_lan
48432
48433          profitbricks_production:
48434            provider: my-profitbricks-config
48435            image: Ubuntu-15.10-server-2016-05-01
48436            image_password: MyPassword1
48437            disk_type: SSD
48438            disk_size: 40
48439            cores: 8
48440            cpu_family: INTEL_XEON
48441            ram: 32768
48442            public_lan: 1
48443            public_ips:
48444              - 172.217.18.174
48445            private_lan: 2
48446            private_ips:
48447              - 192.168.100.10
48448            public_firewall_rules:
48449              Allow SSH:
48450                protocol: TCP
48451                source_ip: 1.2.3.4
48452                port_range_start: 22
48453                port_range_end: 22
48454              Allow Ping:
48455                protocol: ICMP
48456                icmp_type: 8
48457            ssh_public_key: /path/to/id_rsa.pub
48458            ssh_private_key: /path/to/id_rsa
48459            ssh_interface: private_lan
48460            volumes:
48461              db_data:
48462                disk_size: 500
48463              db_log:
48464                disk_size: 50
48465                disk_type: SSD
48466
48467       Locations can be obtained using the  --list-locations  option  for  the
48468       salt-cloud command:
48469
48470          # salt-cloud --list-locations my-profitbricks-config
48471
48472       Images can be obtained using the --list-sizes option for the salt-cloud
48473       command:
48474
48475          # salt-cloud --list-images my-profitbricks-config
48476
48477       Sizes can be obtained using the --list-sizes option for the  salt-cloud
48478       command:
48479
48480          # salt-cloud --list-sizes my-profitbricks-config
48481
48482       Changed  in  version  Fluorine:  One  or  more public IP address can be
48483       reserved with the following command:
48484
48485          # salt-cloud -f reserve_ipblock  my-profitbricks-config location='us/ewr' size=1
48486
48487
48488   Profile Specifics:
48489       The following list explains some of the important properties.
48490
48491       · size - Can be one of the options listed in the output of the  follow‐
48492         ing command:
48493
48494            salt-cloud --list-sizes my-profitbricks-config
48495
48496       · image - Can be one of the options listed in the output of the follow‐
48497         ing command:
48498
48499            salt-cloud --list-images my-profitbricks-config
48500
48501       · image_alias - Can be one of the options listed in the output  of  the
48502         following command:
48503
48504            salt-cloud -f list_images my-profitbricks-config
48505
48506       · disk_size  -  This option allows you to override the size of the disk
48507         as defined by the size. The disk size is set in gigabytes (GB).
48508
48509       · disk_type - This option allow the disk type to be set to HDD or  SSD.
48510         The default is HDD.
48511
48512         New in version Fluorine.
48513
48514
48515       · image_password  -  A  password  is set on the image for the "root" or
48516         "Administrator" account.  This field may only be  set  during  volume
48517         creation.   Only  valid  with  ProfitBricks  supplied  HDD  (not ISO)
48518         images. The password must contain at least 8  and  no  more  than  50
48519         characters. Only these characters are allowed: [a-z][A-Z][0-9]
48520
48521       · cores - This option allows you to override the number of CPU cores as
48522         defined by the size.
48523
48524       · ram - This option allows you to override the amount of RAM defined by
48525         the  size.  The  value must be a multiple of 256, e.g. 256, 512, 768,
48526         1024, and so forth.
48527
48528       · public_lan - This option will connect the  server  to  the  specified
48529         public  LAN. If no LAN exists, then a new public LAN will be created.
48530         The value accepts a LAN ID (integer).
48531
48532         New in version Fluorine.
48533
48534
48535       · public_ips - Public IPs assigned to the NIC in the public LAN.
48536
48537       · public_firewall_rules - This option allows for  a  list  of  firewall
48538         rules assigned to the public network interface.
48539
48540            Firewall Rule Name:
48541              protocol: <protocol> (TCP, UDP, ICMP)
48542              source_mac: <source-mac>
48543              source_ip: <source-ip>
48544              target_ip: <target-ip>
48545              port_range_start: <port-range-start>
48546              port_range_end: <port-range-end>
48547              icmp_type: <icmp-type>
48548              icmp_code: <icmp-code>
48549
48550       · private_lan  -  This  option will connect the server to the specified
48551         private LAN. If no LAN exists, then a new private LAN  will  be  cre‐
48552         ated. The value accepts a LAN ID (integer).
48553
48554         New in version Fluorine.
48555
48556
48557       · private_ips - Private IPs assigned in the private LAN. NAT setting is
48558         ignored when this setting is active.
48559
48560       · private_firewall_rules - This option allows for a  list  of  firewall
48561         rules assigned to the private network interface.
48562
48563            Firewall Rule Name:
48564              protocol: <protocol> (TCP, UDP, ICMP)
48565              source_mac: <source-mac>
48566              source_ip: <source-ip>
48567              target_ip: <target-ip>
48568              port_range_start: <port-range-start>
48569              port_range_end: <port-range-end>
48570              icmp_type: <icmp-type>
48571              icmp_code: <icmp-code>
48572
48573       · ssh_private_key - Full path to the SSH private key file
48574
48575       · ssh_public_key - Full path to the SSH public key file
48576
48577       · ssh_interface - This option will use the private LAN IP for node con‐
48578         nections (such as as bootstrapping the node) instead  of  the  public
48579         LAN IP.  The value accepts 'private_lan'.
48580
48581       · cpu_family  -  This  option  allow  the  CPU  family  to  be  set  to
48582         AMD_OPTERON or INTEL_XEON.  The default is AMD_OPTERON.
48583
48584       · volumes - This option allows a list of  additional  volumes  by  name
48585         that will be created and attached to the server. Each volume requires
48586         'disk_size' and, optionally, 'disk_type'. The default is HDD.
48587
48588       · deploy - Set to False if Salt should not be installed on the node.
48589
48590       · wait_for_timeout - The timeout to wait in  seconds  for  provisioning
48591         resources  such  as servers.  The default wait_for_timeout is 15 min‐
48592         utes.
48593
48594       For more information concerning cloud profiles, see here.
48595
48596   Getting Started With Proxmox
48597       Proxmox Virtual Environment is a complete server virtualization manage‐
48598       ment  solution,  based on OpenVZ(in Proxmox up to 3.4)/LXC(from Proxmox
48599       4.0 and up) and full virtualization with KVM.  Further information  can
48600       be found at:
48601
48602       http://www.proxmox.org/
48603
48604   Dependencies
48605       · IPy >= 0.81
48606
48607       · requests >= 2.2.1
48608
48609       Please note: This module allows you to create OpenVZ/LXC containers and
48610       KVM VMs, but installing Salt on it will  only  be  done  on  containers
48611       rather than a KVM virtual machine.
48612
48613       · Set  up  the  cloud  configuration  at  /etc/salt/cloud.providers  or
48614         /etc/salt/cloud.providers.d/proxmox.conf:
48615
48616          my-proxmox-config:
48617            # Set up the location of the salt master
48618            #
48619            minion:
48620              master: saltmaster.example.com
48621
48622            # Set the PROXMOX access credentials (see below)
48623            #
48624            user: myuser@pve
48625            password: badpass
48626
48627            # Set the access URL for your PROXMOX host
48628            #
48629            url: your.proxmox.host
48630            driver: proxmox
48631
48632       NOTE:
48633          Changed in version 2015.8.0.
48634
48635
48636          The provider parameter in cloud provider definitions was renamed  to
48637          driver.  This  change  was made to avoid confusion with the provider
48638          parameter that is used in cloud profile definitions. Cloud  provider
48639          definitions  now  use  driver to refer to the Salt cloud module that
48640          provides the underlying functionality to connect to  a  cloud  host,
48641          while  cloud  profiles continue to use provider to refer to provider
48642          configurations that you define.
48643
48644   Access Credentials
48645       The user, password, and url will be provided to you by your cloud host.
48646       These are all required in order for the PROXMOX driver to work.
48647
48648   Cloud Profiles
48649       Set    up   an   initial   profile   at   /etc/salt/cloud.profiles   or
48650       /etc/salt/cloud.profiles.d/proxmox.conf:
48651
48652       · Configure a profile to be used:
48653
48654          proxmox-ubuntu:
48655              provider: my-proxmox-config
48656              image: local:vztmpl/ubuntu-12.04-standard_12.04-1_amd64.tar.gz
48657              technology: lxc
48658
48659              # host needs to be set to the configured name of the proxmox host
48660              # and not the ip address or FQDN of the server
48661              host: myvmhost
48662              ip_address: 192.168.100.155
48663              password: topsecret
48664
48665       The profile can be realized now with a salt command:
48666
48667          # salt-cloud -p proxmox-ubuntu myubuntu
48668
48669       This will create an instance named myubuntu on the cloud host. The min‐
48670       ion  that  is  installed  on  this  instance  will  have  a hostname of
48671       myubuntu.  If the command was executed on the salt-master, its Salt key
48672       will automatically be signed on the master.
48673
48674       Once  the instance has been created with salt-minion installed, connec‐
48675       tivity to it can be verified with Salt:
48676
48677          # salt myubuntu test.ping
48678
48679   Required Settings
48680       The following settings are always required for PROXMOX:
48681
48682       · Using the new cloud configuration format:
48683
48684          my-proxmox-config:
48685            driver: proxmox
48686            user: saltcloud@pve
48687            password: xyzzy
48688            url: your.proxmox.host
48689
48690   Optional Settings
48691       Unlike other cloud providers in Salt Cloud, Proxmox does not utilize  a
48692       size  setting. This is because Proxmox allows the end-user to specify a
48693       more detailed configuration for their instances,  than  is  allowed  by
48694       many  other  cloud providers. The following options are available to be
48695       used in a profile, with their default settings listed.
48696
48697          # Description of the instance.
48698          desc: <instance_name>
48699
48700          # How many CPU cores, and how fast they are (in MHz)
48701          cpus: 1
48702          cpuunits: 1000
48703
48704          # How many megabytes of RAM
48705          memory: 256
48706
48707          # How much swap space in MB
48708          swap: 256
48709
48710          # Whether to auto boot the vm after the host reboots
48711          onboot: 1
48712
48713          # Size of the instance disk (in GiB)
48714          disk: 10
48715
48716          # Host to create this vm on
48717          host: myvmhost
48718
48719          # Nameservers. Defaults to host
48720          nameserver: 8.8.8.8 8.8.4.4
48721
48722          # Username and password
48723          ssh_username: root
48724          password: <value from PROXMOX.password>
48725
48726          # The name of the image, from ``salt-cloud --list-images proxmox``
48727          image: local:vztmpl/ubuntu-12.04-standard_12.04-1_amd64.tar.gz
48728
48729          # Whether or not to verify the SSL cert on the Proxmox host
48730          verify_ssl: False
48731
48732          # Network interfaces, netX
48733          net0: name=eth0,bridge=vmbr0,ip=dhcp
48734
48735          # Public key to add to /root/.ssh/authorized_keys.
48736          pubkey: 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABA...'
48737
48738   QEMU
48739       Some functionnalities works differently if you use 'qemu'  as  technol‐
48740       ogy.  In order to create a new VM with qemu, you need to specificy some
48741       more information.  You can also clone a qemu template which already  is
48742       on your Proxmox server.
48743
48744       QEMU profile file (for a new VM):
48745
48746          proxmox-win7:
48747            # Image of the new VM
48748            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')
48749
48750            # Technology used to create the VM ('qemu', 'openvz'(on Proxmox <4.x) or 'lxc'(on Proxmox 4.x+))
48751            technology: qemu
48752
48753            # Proxmox node name
48754            host: node_name
48755
48756            # Proxmox password
48757            password: your_password
48758
48759            # Workaround https://github.com/saltstack/salt/issues/27821
48760            size: ''
48761
48762            # RAM size (MB)
48763            memory: 2048
48764
48765            # OS Type enum (other / wxp / w2k / w2k3 / w2k8 / wvista / win7 / win8 / l24 / l26 / solaris)
48766            ostype: win7
48767
48768            # Hard disk location
48769            sata0: <location>:<size>, format=<qcow2/vmdk/raw>, size=<size>GB #Example: local:120,format=qcow2,size=120GB
48770
48771            #CD/DVD Drive
48772            ide2: <content_location>,media=cdrom #Example: local:iso/name.iso,media=cdrom
48773
48774            # Network Device
48775            net0:<model>,bridge=<bridge> #Example: e1000,bridge=vmbr0
48776
48777            # Enable QEMU Guest Agent (0 / 1)
48778            agent: 1
48779
48780            # VM name
48781            name: Test
48782
48783       More  information about these parameters can be found on Proxmox API (‐
48784       http://pve.proxmox.com/pve2-api-doc/)  under  the  'POST'   method   of
48785       nodes/{node}/qemu
48786
48787       QEMU profile file (for a clone):
48788
48789          proxmox-win7:
48790            # Enable Clone
48791            clone: True
48792
48793            # New VM description
48794            clone_description: 'description'
48795
48796            # New VM name
48797            clone_name: 'name'
48798
48799            # New VM format (qcow2 / raw / vmdk)
48800            clone_format: qcow2
48801
48802            # Full clone (1) or Link clone (0)
48803            clone_full: 0
48804
48805            # VMID of Template to clone
48806            clone_from: ID
48807
48808            # Technology used to create the VM ('qemu' or 'lxc')
48809            technology: qemu
48810
48811            # Proxmox node name
48812            host: node_name
48813
48814            # Proxmox password
48815            password: your_password
48816
48817            # Workaround https://github.com/saltstack/salt/issues/27821
48818            size: ''
48819
48820       More information can be found on Proxmox API under the 'POST' method of
48821       /nodes/{node}/qemu/{vmid}/clone
48822
48823       NOTE:
48824          The Proxmox API offers a lot more options and parameters, which  are
48825          not  yet  supported  by  this salt-cloud 'overlay'. Feel free to add
48826          your contribution by forking the  github  repository  and  modifying
48827          the following file: salt/cloud/clouds/proxmox.py
48828
48829          An  easy  way to support more parameters for VM creation would be to
48830          add the names of the optional parameters in the  'create_nodes(vm_)'
48831          function,  under  the  'qemu' technology. But it requires you to dig
48832          into the code ...
48833
48834   Getting Started With Scaleway
48835       Scaleway is the first IaaS host worldwide to offer an ARM based  cloud.
48836       It’s  the  ideal  platform  for  horizontal  scaling with BareMetal SSD
48837       servers. The solution provides  on  demand  resources:  it  comes  with
48838       on-demand  SSD  storage,  movable  IPs  , images, security group and an
48839       Object Storage solution. https://scaleway.com
48840
48841   Configuration
48842       Using Salt for Scaleway, requires an access key and an API  token.  API
48843       tokens  are  unique  identifiers associated with your Scaleway account.
48844       To retrieve your access key and API token, log-in to the Scaleway  con‐
48845       trol  panel,  open the pull-down menu on your account name and click on
48846       "My Credentials" link.
48847
48848       If you do not have API token you can create one by clicking the "Create
48849       New Token" button on the right corner.
48850
48851          # Note: This example is for /etc/salt/cloud.providers or any file in the
48852          # /etc/salt/cloud.providers.d/ directory.
48853
48854          my-scaleway-config:
48855            access_key: 15cf404d-4560-41b1-9a0c-21c3d5c4ff1f
48856            token: a7347ec8-5de1-4024-a5e3-24b77d1ba91d
48857            driver: scaleway
48858
48859       NOTE:
48860          Changed in version 2015.8.0.
48861
48862
48863          The  provider parameter in cloud provider definitions was renamed to
48864          driver. This change was made to avoid confusion  with  the  provider
48865          parameter  that is used in cloud profile definitions. Cloud provider
48866          definitions now use driver to refer to the Salt  cloud  module  that
48867          provides  the  underlying  functionality to connect to a cloud host,
48868          while cloud profiles continue to use provider to refer  to  provider
48869          configurations that you define.
48870
48871   Profiles
48872   Cloud Profiles
48873       Set  up  an  initial  profile  at  /etc/salt/cloud.profiles  or  in the
48874       /etc/salt/cloud.profiles.d/ directory:
48875
48876          scaleway-ubuntu:
48877            provider: my-scaleway-config
48878            image: Ubuntu Trusty (14.04 LTS)
48879
48880       Images  can  be  obtained  using  the  --list-images  option  for   the
48881       salt-cloud command:
48882
48883          #salt-cloud --list-images my-scaleway-config
48884          my-scaleway-config:
48885            ----------
48886            scaleway:
48887                ----------
48888                069fd876-eb04-44ab-a9cd-47e2fa3e5309:
48889                    ----------
48890                    arch:
48891                        arm
48892                    creation_date:
48893                        2015-03-12T09:35:45.764477+00:00
48894                    default_bootscript:
48895                        {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}
48896                    extra_volumes:
48897                        []
48898                    id:
48899                        069fd876-eb04-44ab-a9cd-47e2fa3e5309
48900                    modification_date:
48901                        2015-04-24T12:02:16.820256+00:00
48902                    name:
48903                        Ubuntu Vivid (15.04)
48904                    organization:
48905                        a283af0b-d13e-42e1-a43f-855ffbf281ab
48906                    public:
48907                        True
48908                    root_volume:
48909                        {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}
48910          ...
48911
48912       Execute  a  query and return all information about the nodes running on
48913       configured cloud providers using the -Q option for the salt-cloud  com‐
48914       mand:
48915
48916          # salt-cloud -F
48917          [INFO    ] salt-cloud starting
48918          [INFO    ] Starting new HTTPS connection (1): api.scaleway.com
48919          my-scaleway-config:
48920            ----------
48921            scaleway:
48922                ----------
48923                salt-manager:
48924                    ----------
48925                    creation_date:
48926                        2015-06-03T08:17:38.818068+00:00
48927                    hostname:
48928                        salt-manager
48929          ...
48930
48931       NOTE:
48932          Additional   documentation   about   Scaleway   can   be   found  at
48933          https://www.scaleway.com/docs.
48934
48935   Getting Started With Saltify
48936       The Saltify driver is a driver for installing Salt on existing machines
48937       (virtual or bare metal).
48938
48939   Dependencies
48940       The Saltify driver has no external dependencies.
48941
48942   Configuration
48943       Because  the Saltify driver does not use an actual cloud provider host,
48944       it can have a simple provider configuration. The  only  thing  that  is
48945       required to be set is the driver name, and any other potentially useful
48946       information, like the location of the salt-master:
48947
48948          # Note: This example is for /etc/salt/cloud.providers file or any file in
48949          # the /etc/salt/cloud.providers.d/ directory.
48950
48951          my-saltify-config:
48952            minion:
48953              master: 111.222.333.444
48954            driver: saltify
48955
48956       However,  if  you  wish  to  use  the  more  advanced  capabilities  of
48957       salt-cloud,  such  as  rebooting,  listing, and disconnecting machines,
48958       then the salt master must fill the role usually performed by a vendor's
48959       cloud  management  system.  The  salt  master  must  be  running on the
48960       salt-cloud machine, and created nodes must be connected to the master.
48961
48962       Additional information about which configuration options apply to which
48963       actions can be studied in the Saltify Module documentation and the Mis‐
48964       cellaneous Salt Cloud Options document.
48965
48966   Profiles
48967       Saltify requires a separate profile to be configured for  each  machine
48968       that  needs  Salt  installed  [1]. The initial profile can be set up at
48969       /etc/salt/cloud.profiles or in the  /etc/salt/cloud.profiles.d/  direc‐
48970       tory.  Each  profile  requires both an ssh_host and an ssh_username key
48971       parameter as well as either an key_filename or a password.
48972
48973       [1]  Unless you are using a map file to provide the unique parameters.
48974
48975            Profile configuration example:
48976
48977          # /etc/salt/cloud.profiles.d/saltify.conf
48978
48979          salt-this-machine:
48980            ssh_host: 12.34.56.78
48981            ssh_username: root
48982            key_filename: '/etc/salt/mysshkey.pem'
48983            provider: my-saltify-config
48984
48985       The machine can now be "Salted" with the following command:
48986
48987          salt-cloud -p salt-this-machine my-machine
48988
48989       This will install salt on the machine specified by the  cloud  profile,
48990       salt-this-machine,   and  will  give  the  machine  the  minion  id  of
48991       my-machine. If the command was executed on the  salt-master,  its  Salt
48992       key will automatically be accepted by the master.
48993
48994       Once  a  salt-minion  has  been successfully installed on the instance,
48995       connectivity to it can be verified with Salt:
48996
48997          salt my-machine test.version
48998
48999   Destroy Options
49000       New in version 2018.3.0.
49001
49002
49003       For obvious reasons, the destroy  action  does  not  actually  vaporize
49004       hardware.   If the salt  master is connected, it can tear down parts of
49005       the client machines.  It will remove the client's  key  from  the  salt
49006       master, and can execute the following options:
49007
49008          - remove_config_on_destroy: true
49009            # default: true
49010            # Deactivate salt-minion on reboot and
49011            # delete the minion config and key files from its "/etc/salt" directory,
49012            #   NOTE: If deactivation was unsuccessful (older Ubuntu machines) then when
49013            #   salt-minion restarts it will automatically create a new, unwanted, set
49014            #   of key files. Use the "force_minion_config" option to replace them.
49015
49016          - shutdown_on_destroy: false
49017            # default: false
49018            # last of all, send a "shutdown" command to the client.
49019
49020   Wake On LAN
49021       New in version 2018.3.0.
49022
49023
49024       In addition to connecting a hardware machine to a Salt master, you have
49025       the option of sending a wake-on-LAN magic packet to start that  machine
49026       running.
49027
49028       The  "magic packet" must be sent by an existing salt minion which is on
49029       the same network segment as the target machine. (Or your router must be
49030       set  up  especially  to route WoL packets.) Your target machine must be
49031       set up to listen for WoL and to respond appropriately.
49032
49033       You must provide the Salt node id of the machine which  will  send  the
49034       WoL packet (parameter wol_sender_node), and the hardware MAC address of
49035       the machine you intend to wake, (parameter  wake_on_lan_mac).  If  both
49036       parameters  are  defined,  the  WoL will be sent. The cloud master will
49037       then sleep a while (parameter wol_boot_wait) to give the target machine
49038       time to boot up before we start probing its SSH port to begin deploying
49039       Salt to it. The default sleep time is 30 seconds.
49040
49041          # /etc/salt/cloud.profiles.d/saltify.conf
49042
49043          salt-this-machine:
49044            ssh_host: 12.34.56.78
49045            ssh_username: root
49046            key_filename: '/etc/salt/mysshkey.pem'
49047            provider: my-saltify-config
49048            wake_on_lan_mac: '00:e0:4c:70:2a:b2'  # found with ifconfig
49049            wol_sender_node: bevymaster  # its on this network segment
49050            wol_boot_wait: 45  # seconds to sleep
49051
49052   Using Map Files
49053       The settings explained in the section above may also be set  in  a  map
49054       file.  An example of how to use the Saltify driver with a map file fol‐
49055       lows:
49056
49057          # /etc/salt/saltify-map
49058
49059          make_salty:
49060            - my-instance-0:
49061                ssh_host: 12.34.56.78
49062                ssh_username: root
49063                password: very-bad-password
49064            - my-instance-1:
49065                ssh_host: 44.33.22.11
49066                ssh_username: root
49067                password: another-bad-pass
49068
49069       Note: When using a cloud map with the Saltify driver, the name  of  the
49070       profile  to  use, in this case make_salty, must be defined in a profile
49071       config. For example:
49072
49073          # /etc/salt/cloud.profiles.d/saltify.conf
49074
49075          make_salty:
49076            provider: my-saltify-config
49077
49078       The machines listed in the map file can now be "Salted" by applying the
49079       following salt map command:
49080
49081          salt-cloud -m /etc/salt/saltify-map
49082
49083       This command will install salt on the machines specified in the map and
49084       will  give  each  machine  their  minion  id   of   my-instance-0   and
49085       my-instance-1,  respectively.  If  the  command  was  executed  on  the
49086       salt-master, its Salt key will automatically be signed on the master.
49087
49088       Connectivity to the new "Salted" instances can  now  be  verified  with
49089       Salt:
49090
49091          salt 'my-instance-*' test.ping
49092
49093   Credential Verification
49094       Because  the Saltify driver does not actually create VM's, unlike other
49095       salt-cloud drivers, it has special behaviour when the deploy option  is
49096       set to False. When the cloud configuration specifies deploy: False, the
49097       Saltify driver will attept to authenticate to the  target  node(s)  and
49098       return  True  for  each one that succeeds. This can be useful to verify
49099       ports, protocols, services and  credentials  are  correctly  configured
49100       before a live deployment.
49101
49102       Return values:
49103
49104              · True: Credential verification succeeded
49105
49106              · False: Credential verification succeeded
49107
49108              · None: Credential verification was not attempted.
49109
49110   Getting Started With SoftLayer
49111       SoftLayer  is  a public cloud host, and baremetal hardware hosting ser‐
49112       vice.
49113
49114   Dependencies
49115       The SoftLayer driver for Salt Cloud  requires  the  softlayer  package,
49116       which is available at PyPI:
49117
49118       https://pypi.python.org/pypi/SoftLayer
49119
49120       This package can be installed using pip or easy_install:
49121
49122          # pip install softlayer
49123          # easy_install softlayer
49124
49125   Configuration
49126       Set up the cloud config at /etc/salt/cloud.providers:
49127
49128          # Note: These examples are for /etc/salt/cloud.providers
49129
49130            my-softlayer:
49131              # Set up the location of the salt master
49132              minion:
49133                master: saltmaster.example.com
49134
49135              # Set the SoftLayer access credentials (see below)
49136              user: MYUSER1138
49137              apikey: 'e3b68aa711e6deadc62d5b76355674beef7cc3116062ddbacafe5f7e465bfdc9'
49138
49139              driver: softlayer
49140
49141
49142            my-softlayer-hw:
49143              # Set up the location of the salt master
49144              minion:
49145                master: saltmaster.example.com
49146
49147              # Set the SoftLayer access credentials (see below)
49148              user: MYUSER1138
49149              apikey: 'e3b68aa711e6deadc62d5b76355674beef7cc3116062ddbacafe5f7e465bfdc9'
49150
49151              driver: softlayer_hw
49152
49153       NOTE:
49154          Changed in version 2015.8.0.
49155
49156
49157          The  provider parameter in cloud provider definitions was renamed to
49158          driver. This change was made to avoid confusion  with  the  provider
49159          parameter  that is used in cloud profile definitions. Cloud provider
49160          definitions now use driver to refer to the Salt  cloud  module  that
49161          provides  the  underlying  functionality to connect to a cloud host,
49162          while cloud profiles continue to use provider to refer  to  provider
49163          configurations that you define.
49164
49165   Access Credentials
49166       The  user setting is the same user as is used to log into the SoftLayer
49167       Administration area. The apikey setting is found inside the Admin  area
49168       after logging in:
49169
49170       · Hover over the Account menu item.
49171
49172       · Click the Users link.
49173
49174       · Find the API Key column and click View.
49175
49176   Profiles
49177   Cloud Profiles
49178       Set up an initial profile at /etc/salt/cloud.profiles:
49179
49180          base_softlayer_ubuntu:
49181            provider: my-softlayer
49182            image: UBUNTU_LATEST
49183            cpu_number: 1
49184            ram: 1024
49185            disk_size: 100
49186            local_disk: True
49187            hourly_billing: True
49188            domain: example.com
49189            location: sjc01
49190            # Optional
49191            max_net_speed: 1000
49192            private_vlan: 396
49193            private_network: True
49194            private_ssh: True
49195            # Use a dedicated host instead of cloud
49196            dedicated_host_id: 1234
49197            # May be used _instead_of_ image
49198            global_identifier: 320d8be5-46c0-dead-cafe-13e3c51
49199
49200       Most  of  the  above  items  are required; optional items are specified
49201       below.
49202
49203   image
49204       Images to build an  instance  can  be  found  using  the  --list-images
49205       option:
49206
49207          # salt-cloud --list-images my-softlayer
49208
49209       The setting used will be labeled as template.
49210
49211   cpu_number
49212       This  is  the  number of CPU cores that will be used for this instance.
49213       This number may be dependent upon the image that is used. For instance:
49214
49215          Red Hat Enterprise Linux 6 - Minimal Install (64 bit) (1 - 4 Core):
49216              ----------
49217              name:
49218                  Red Hat Enterprise Linux 6 - Minimal Install (64 bit) (1 - 4 Core)
49219              template:
49220                  REDHAT_6_64
49221          Red Hat Enterprise Linux 6 - Minimal Install (64 bit) (5 - 100 Core):
49222              ----------
49223              name:
49224                  Red Hat Enterprise Linux 6 - Minimal Install (64 bit) (5 - 100 Core)
49225              template:
49226                  REDHAT_6_64
49227
49228       Note that the template (meaning, the image option) for both of these is
49229       the same, but the names suggests how many CPU cores are supported.
49230
49231   ram
49232       This  is  the amount of memory, in megabytes, that will be allocated to
49233       this instance.
49234
49235   disk_size
49236       The amount of disk space that will be allocated to this image, in giga‐
49237       bytes.
49238
49239          base_softlayer_ubuntu:
49240            disk_size: 100
49241
49242   Using Multiple Disks
49243       New in version 2015.8.1.
49244
49245
49246       SoftLayer  allows  up  to 5 disks to be specified for a virtual machine
49247       upon creation. Multiple disks can be specified either as a  list  or  a
49248       comma-delimited  string. The first disk_size specified in the string or
49249       list will be the first disk size assigned to the VM.
49250
49251       List Example:
49252
49253          base_softlayer_ubuntu:
49254                 disk_size: ['100', '20', '20']
49255
49256       String Example:
49257
49258          base_softlayer_ubuntu:
49259                 disk_size: '100, 20, 20'
49260
49261   local_disk
49262       When true the disks for the computing instance will be  provisioned  on
49263       the host which it runs, otherwise SAN disks will be provisioned.
49264
49265   hourly_billing
49266       When true the computing instance will be billed on hourly usage, other‐
49267       wise it will be billed on a monthly basis.
49268
49269   domain
49270       The domain name that will be used in the FQDN (Fully  Qualified  Domain
49271       Name) for this instance. The domain setting will be used in conjunction
49272       with the instance name to form the FQDN.
49273
49274   use_fqdn
49275       If set to True, the Minion will be identified by the FQDN (Fully Quali‐
49276       fied  Domain Name) which is a result of combining the domain configura‐
49277       tion value and the Minion name specified either via the CLI  or  a  map
49278       file  rather than only using the short host name, or Minion ID. Default
49279       is False.
49280
49281       New in version 2016.3.0.
49282
49283
49284       For example, if the value of domain is example.com and  a  new  VM  was
49285       created via the CLI with salt-cloud -p base_softlayer_ubuntu my-vm, the
49286       resulting Minion ID would be my-vm.example.com.
49287
49288       NOTE:
49289          When enabling the use_fqdn setting, the Minion ID will be  the  FQDN
49290          and  will  interact  with salt commands with the FQDN instead of the
49291          short hostname. However, due to the way the SoftLayer  API  is  con‐
49292          structed,  some  Salt  Cloud  functions  such  as  listing  nodes or
49293          destroying VMs will only list the short hostname of the  VM  instead
49294          of the FQDN.
49295
49296       Example output displaying the SoftLayer hostname quirk mentioned in the
49297       note above (note the Minion ID is my-vm.example.com, but the VM  to  be
49298       destroyed is listed with its short hostname, my-vm):
49299
49300          # salt-key -L
49301          Accepted Keys:
49302          my-vm.example.com
49303          Denied Keys:
49304          Unaccepted Keys:
49305          Rejected Keys:
49306          #
49307          #
49308          # salt my-vm.example.com test.ping
49309          my-vm.example.com:
49310              True
49311          #
49312          #
49313          # salt-cloud -d my-vm.example.com
49314          [INFO    ] salt-cloud starting
49315          [INFO    ] POST https://api.softlayer.com/xmlrpc/v3.1/SoftLayer_Account
49316          The following virtual machines are set to be destroyed:
49317            softlayer-config:
49318              softlayer:
49319                my-vm
49320
49321          Proceed? [N/y] y
49322          ... proceeding
49323          [INFO    ] Destroying in non-parallel mode.
49324          [INFO    ] POST https://api.softlayer.com/xmlrpc/v3.1/SoftLayer_Account
49325          [INFO    ] POST https://api.softlayer.com/xmlrpc/v3.1/SoftLayer_Virtual_Guest
49326          softlayer-config:
49327              ----------
49328              softlayer:
49329                  ----------
49330                  my-vm:
49331                      True
49332
49333   location
49334       Images  to  build  an  instance can be found using the --list-locations
49335       option:
49336
49337          # salt-cloud --list-location my-softlayer
49338
49339   max_net_speed
49340       Specifies the connection speed for the instance's  network  components.
49341       This setting is optional. By default, this is set to 10.
49342
49343   post_uri
49344       Specifies the uri location of the script to be downloaded and run after
49345       the instance is provisioned.
49346
49347       New in version 2015.8.1.
49348
49349
49350       Example:
49351
49352          base_softlayer_ubuntu:
49353                 post_uri: 'https://SOMESERVERIP:8000/myscript.sh'
49354
49355   public_vlan
49356       If it is necessary for an instance to  be  created  within  a  specific
49357       frontend  VLAN,  the  ID  for  that VLAN can be specified in either the
49358       provider or profile configuration.
49359
49360       This ID can be queried using  the  list_vlans  function,  as  described
49361       below. This setting is optional.
49362
49363       If  this setting is set to None, salt-cloud will connect to the private
49364       ip of the server.
49365
49366       NOTE:
49367          If this setting is not provided and the server is not built  with  a
49368          public  vlan, private_ssh or private_wds will need to be set to make
49369          sure that salt-cloud attempts to connect to the private ip.
49370
49371   private_vlan
49372       If it is necessary for an instance to  be  created  within  a  specific
49373       backend  VLAN,  the  ID  for  that  VLAN can be specified in either the
49374       provider or profile configuration.
49375
49376       This ID can be queried using  the  list_vlans  function,  as  described
49377       below. This setting is optional.
49378
49379   private_network
49380       If  a  server is to only be used internally, meaning it does not have a
49381       public VLAN associated with it, this value would be set to  True.  This
49382       setting is optional. The default is False.
49383
49384   private_ssh or private_wds
49385       Whether  to  run  the  deploy  script on the server using the public IP
49386       address or the private IP address. If set  to  True,  Salt  Cloud  will
49387       attempt  to  SSH  or  WinRM  into  the  new server using the private IP
49388       address. The default is False.  This settiong is optional.
49389
49390   global_identifier
49391       When creating an instance using a custom template, this option  is  set
49392       to  the corresponding value obtained using the list_custom_images func‐
49393       tion. This option will not be used if an image is set, and if an  image
49394       is not set, it is required.
49395
49396       The profile can be realized now with a salt command:
49397
49398          # salt-cloud -p base_softlayer_ubuntu myserver
49399
49400       Using the above configuration, this will create myserver.example.com.
49401
49402       Once  the instance has been created with salt-minion installed, connec‐
49403       tivity to it can be verified with Salt:
49404
49405          # salt 'myserver.example.com' test.ping
49406
49407   Dedicated Host
49408       Soflayer allows the creation of new VMs in a dedicated host. This means
49409       that  you  can  order and pay a fixed amount for a bare metal dedicated
49410       host and use it to provision as many VMs as you can fit  in  there.  If
49411       you  want  your  VMs  to  be  launched  in a dedicated host, instead of
49412       Sofltayer's cloud, set the dedicated_host_id parameter in your profile.
49413
49414   dedicated_host_id
49415       The id of the dedicated host where the VMs should be  created.  If  not
49416       set, VMs will be created in Softlayer's cloud instead.
49417
49418   Bare metal Profiles
49419       Set up an initial profile at /etc/salt/cloud.profiles:
49420
49421          base_softlayer_hw_centos:
49422            provider: my-softlayer-hw
49423            # CentOS 6.0 - Minimal Install (64 bit)
49424            image: 13963
49425            # 2 x 2.0 GHz Core Bare Metal Instance - 2 GB Ram
49426            size: 1921
49427            # 500GB SATA II
49428            hdd: 1267
49429            # San Jose 01
49430            location: 168642
49431            domain: example.com
49432            # Optional
49433            vlan: 396
49434            port_speed: 273
49435            banwidth: 248
49436
49437       Most  of  the  above  items  are required; optional items are specified
49438       below.
49439
49440   image
49441       Images to build an  instance  can  be  found  using  the  --list-images
49442       option:
49443
49444          # salt-cloud --list-images my-softlayer-hw
49445
49446       A  list of id`s and names will be provided. The `name will describe the
49447       operating system and architecture. The id will be  the  setting  to  be
49448       used in the profile.
49449
49450   size
49451       Sizes to build an instance can be found using the --list-sizes option:
49452
49453          # salt-cloud --list-sizes my-softlayer-hw
49454
49455       A  list of id`s and names will be provided. The `name will describe the
49456       speed and quantity of CPU cores, and the  amount  of  memory  that  the
49457       hardware  will  contain.  The  id will be the setting to be used in the
49458       profile.
49459
49460   hdd
49461       There is currently only one size of  hard  disk  drive  (HDD)  that  is
49462       available for hardware instances on SoftLayer:
49463
49464          1267: 500GB SATA II
49465
49466       The hdd setting in the profile should be 1267. Other sizes may be added
49467       in the future.
49468
49469   location
49470       Locations to build an instance can be  found  using  the  --list-images
49471       option:
49472
49473          # salt-cloud --list-locations my-softlayer-hw
49474
49475       A  list  of  IDs and names will be provided. The location will describe
49476       the location in human terms. The id will be the setting to be  used  in
49477       the profile.
49478
49479   domain
49480       The  domain  name that will be used in the FQDN (Fully Qualified Domain
49481       Name) for this instance. The domain setting will be used in conjunction
49482       with the instance name to form the FQDN.
49483
49484   vlan
49485       If  it  is  necessary  for  an instance to be created within a specific
49486       VLAN, the ID for that VLAN can be specified in either the  provider  or
49487       profile configuration.
49488
49489       This  ID  can  be  queried  using the list_vlans function, as described
49490       below.
49491
49492   port_speed
49493       Specifies the speed for  the  instance's  network  port.  This  setting
49494       refers  to  an  ID within the SoftLayer API, which sets the port speed.
49495       This setting is optional. The default is 273, or,  100  Mbps  Public  &
49496       Private Networks. The following settings are available:
49497
49498       · 273: 100 Mbps Public & Private Networks
49499
49500       · 274: 1 Gbps Public & Private Networks
49501
49502       · 21509: 10 Mbps Dual Public & Private Networks (up to 20 Mbps)
49503
49504       · 21513: 100 Mbps Dual Public & Private Networks (up to 200 Mbps)
49505
49506       · 2314: 1 Gbps Dual Public & Private Networks (up to 2 Gbps)
49507
49508       · 272: 10 Mbps Public & Private Networks
49509
49510   bandwidth
49511       Specifies  the  network bandwidth available for the instance. This set‐
49512       ting refers to an ID within the SoftLayer API,  which  sets  the  band‐
49513       width.  This setting is optional. The default is 248, or, 5000 GB Band‐
49514       width. The following settings are available:
49515
49516       · 248: 5000 GB Bandwidth
49517
49518       · 129: 6000 GB Bandwidth
49519
49520       · 130: 8000 GB Bandwidth
49521
49522       · 131: 10000 GB Bandwidth
49523
49524       · 36: Unlimited Bandwidth (10 Mbps Uplink)
49525
49526       · 125: Unlimited Bandwidth (100 Mbps Uplink)
49527
49528   Actions
49529       The following actions are currently supported  by  the  SoftLayer  Salt
49530       Cloud driver.
49531
49532   show_instance
49533       This  action  is  a  thin  wrapper  around --full-query, which displays
49534       details on a single instance  only.  In  an  environment  with  several
49535       machines,  this  will  save  a  user  from  having  to sort through all
49536       instance data, just to examine a single instance.
49537
49538          $ salt-cloud -a show_instance myinstance
49539
49540   Functions
49541       The following functions are currently supported by the  SoftLayer  Salt
49542       Cloud driver.
49543
49544   list_vlans
49545       This  function  lists  all  VLANs  associated with the account, and all
49546       known data from the SoftLayer API concerning those VLANs.
49547
49548          $ salt-cloud -f list_vlans my-softlayer
49549          $ salt-cloud -f list_vlans my-softlayer-hw
49550
49551       The id returned in this list is necessary for the vlan option when cre‐
49552       ating an instance.
49553
49554   list_custom_images
49555       This  function  lists any custom templates associated with the account,
49556       that can be used to create a new instance.
49557
49558          $ salt-cloud -f list_custom_images my-softlayer
49559
49560       The globalIdentifier  returned  in  this  list  is  necessary  for  the
49561       global_identifier  option  when  creating  an image using a custom tem‐
49562       plate.
49563
49564   Optional Products for SoftLayer HW
49565       The softlayer_hw driver supports the ability to add optional  products,
49566       which  are supported by SoftLayer's API. These products each have an ID
49567       associated with them, that can be  passed  into  Salt  Cloud  with  the
49568       optional_products option:
49569
49570          softlayer_hw_test:
49571            provider: my-softlayer-hw
49572            # CentOS 6.0 - Minimal Install (64 bit)
49573            image: 13963
49574            # 2 x 2.0 GHz Core Bare Metal Instance - 2 GB Ram
49575            size: 1921
49576            # 500GB SATA II
49577            hdd: 1267
49578            # San Jose 01
49579            location: 168642
49580            domain: example.com
49581            optional_products:
49582              # MySQL for Linux
49583              - id: 28
49584              # Business Continuance Insurance
49585              - id: 104
49586
49587       These  values  can  be manually obtained by looking at the source of an
49588       order page on the SoftLayer web interface.  For  convenience,  many  of
49589       these values are listed here:
49590
49591   Public Secondary IP Addresses
49592       · 22: 4 Public IP Addresses
49593
49594       · 23: 8 Public IP Addresses
49595
49596   Primary IPv6 Addresses
49597       · 17129: 1 IPv6 Address
49598
49599   Public Static IPv6 Addresses
49600       · 1481: /64 Block Static Public IPv6 Addresses
49601
49602   OS-Specific Addon
49603       · 17139: XenServer Advanced for XenServer 6.x
49604
49605       · 17141: XenServer Enterprise for XenServer 6.x
49606
49607       · 2334: XenServer Advanced for XenServer 5.6
49608
49609       · 2335: XenServer Enterprise for XenServer 5.6
49610
49611       · 13915: Microsoft WebMatrix
49612
49613       · 21276: VMware vCenter 5.1 Standard
49614
49615   Control Panel Software
49616       · 121: cPanel/WHM with Fantastico and RVskin
49617
49618       · 20778: Parallels Plesk Panel 11 (Linux) 100 Domain w/ Power Pack
49619
49620       · 20786: Parallels Plesk Panel 11 (Windows) 100 Domain w/ Power Pack
49621
49622       · 20787:  Parallels  Plesk  Panel  11 (Linux) Unlimited Domain w/ Power
49623         Pack
49624
49625       · 20792: Parallels Plesk Panel 11 (Windows) Unlimited Domain  w/  Power
49626         Pack
49627
49628       · 2340: Parallels Plesk Panel 10 (Linux) 100 Domain w/ Power Pack
49629
49630       · 2339: Parallels Plesk Panel 10 (Linux) Unlimited Domain w/ Power Pack
49631
49632       · 13704:  Parallels  Plesk Panel 10 (Windows) Unlimited Domain w/ Power
49633         Pack
49634
49635   Database Software
49636       · 29: MySQL 5.0 for Windows
49637
49638       · 28: MySQL for Linux
49639
49640       · 21501: Riak 1.x
49641
49642       · 20893: MongoDB
49643
49644       · 30: Microsoft SQL Server 2005 Express
49645
49646       · 92: Microsoft SQL Server 2005 Workgroup
49647
49648       · 90: Microsoft SQL Server 2005 Standard
49649
49650       · 94: Microsoft SQL Server 2005 Enterprise
49651
49652       · 1330: Microsoft SQL Server 2008 Express
49653
49654       · 1340: Microsoft SQL Server 2008 Web
49655
49656       · 1337: Microsoft SQL Server 2008 Workgroup
49657
49658       · 1334: Microsoft SQL Server 2008 Standard
49659
49660       · 1331: Microsoft SQL Server 2008 Enterprise
49661
49662       · 2179: Microsoft SQL Server 2008 Express R2
49663
49664       · 2173: Microsoft SQL Server 2008 Web R2
49665
49666       · 2183: Microsoft SQL Server 2008 Workgroup R2
49667
49668       · 2180: Microsoft SQL Server 2008 Standard R2
49669
49670       · 2176: Microsoft SQL Server 2008 Enterprise R2
49671
49672   Anti-Virus & Spyware Protection
49673       · 594: McAfee VirusScan Anti-Virus - Windows
49674
49675       · 414: McAfee Total Protection - Windows
49676
49677   Insurance
49678       · 104: Business Continuance Insurance
49679
49680   Monitoring
49681       · 55: Host Ping
49682
49683       · 56: Host Ping and TCP Service Monitoring
49684
49685   Notification
49686       · 57: Email and Ticket
49687
49688   Advanced Monitoring
49689       · 2302: Monitoring Package - Basic
49690
49691       · 2303: Monitoring Package - Advanced
49692
49693       · 2304: Monitoring Package - Premium Application
49694
49695   Response
49696       · 58: Automated Notification
49697
49698       · 59: Automated Reboot from Monitoring
49699
49700       · 60: 24x7x365 NOC Monitoring, Notification, and Response
49701
49702   Intrusion Detection & Protection
49703       · 413: McAfee Host Intrusion Protection w/Reporting
49704
49705   Hardware & Software Firewalls
49706       · 411: APF Software Firewall for Linux
49707
49708       · 894: Microsoft Windows Firewall
49709
49710       · 410: 10Mbps Hardware Firewall
49711
49712       · 409: 100Mbps Hardware Firewall
49713
49714       · 408: 1000Mbps Hardware Firewall
49715
49716   Getting Started With Vagrant
49717       The Vagrant driver is a new, experimental  driver  for  spinning  up  a
49718       VagrantBox virtual machine, and installing Salt on it.
49719
49720   Dependencies
49721       The Vagrant driver itself has no external dependencies.
49722
49723       The  machine which will host the VagrantBox must be an already existing
49724       minion of the  cloud  server's  Salt  master.   It  must  have  Vagrant
49725       installed,  and  a  Vagrant-compatible  virtual machine engine, such as
49726       VirtualBox.   (Note:  The  Vagrant  driver  does  not  depend  on   the
49727       salt-cloud VirtualBox driver in any way.)
49728
49729       [Caution:  The  version  of  Vagrant packaged for apt install in Ubuntu
49730       16.04 will not connect a bridged network adapter correctly. Use a  ver‐
49731       sion downloaded directly from the web site.]
49732
49733       Include  the  Vagrant  guest  editions  plugin:  vagrant plugin install
49734       vagrant-vbguest.
49735
49736   Configuration
49737       Configuration of the client virtual machine (using VirtualBox,  VMware,
49738       etc)  will  be  done  by Vagrant as specified in the Vagrantfile on the
49739       host machine.
49740
49741       Salt-cloud will push the commands to install and provision a salt  min‐
49742       ion on the virtual machine, so you need not (perhaps should not) provi‐
49743       sion salt in your Vagrantfile, in most cases.
49744
49745       If, however, your cloud master cannot open an  SSH  connection  to  the
49746       child  VM,  you may need to let Vagrant provision the VM with Salt, and
49747       use some other method (such as passing a pillar dictionary to  the  VM)
49748       to  pass  the master's IP address to the VM. The VM can then attempt to
49749       reach the salt master in the usual way for non-cloud  minions.  Specify
49750       the  profile  configuration  argument  as  deploy: False to prevent the
49751       cloud master from trying.
49752
49753          # Note: This example is for /etc/salt/cloud.providers file or any file in
49754          # the /etc/salt/cloud.providers.d/ directory.
49755
49756          my-vagrant-config:
49757            minion:
49758              master: 111.222.333.444
49759            provider: vagrant
49760
49761       Because the Vagrant driver needs a place to store the  mapping  between
49762       the  node name you use for Salt commands and the Vagrantfile which con‐
49763       trols the VM, you must configure your salt minion as a Salt smb server.
49764       (See host provisioning example below.)
49765
49766   Profiles
49767       Vagrant requires a profile to be configured for each machine that needs
49768       Salt   installed.   The   initial   profile   can   be   set   up    at
49769       /etc/salt/cloud.profiles  or  in the /etc/salt/cloud.profiles.d/ direc‐
49770       tory.
49771
49772       Each profile requires a vagrantfile parameter. If the  Vagrantfile  has
49773       definitions for multiple machines then you need a machine parameter,
49774
49775       Salt-cloud  uses  SSH to provision the minion. There must be a routable
49776       path from the cloud master to the VM. Usually, you will want to  use  a
49777       bridged  network  adapter  for  SSH. The address may not be known until
49778       DHCP assigns it. If ssh_host is  not  defined,  and  target_network  is
49779       defined, the driver will attempt to read the address from the output of
49780       an ifconfig command. Lacking either setting, the driver will try to use
49781       the  value Vagrant returns as its ssh_host, which will work only if the
49782       cloud master is running somewhere on the same host.
49783
49784       The target_network setting should be used to identify  the  IP  network
49785       your bridged adapter is expected to appear on.  Use CIDR notation, like
49786       target_network: '2001:DB8::/32' or target_network: '192.0.2.0/24'.
49787
49788       Profile configuration example:
49789
49790          # /etc/salt/cloud.profiles.d/vagrant.conf
49791
49792          vagrant-machine:
49793            host: my-vhost  # the Salt id of the virtual machine's host computer.
49794            provider: my-vagrant-config
49795            cwd: /srv/machines  # the path to your Vagrantfile.
49796            vagrant_runas: my-username  # the username who defined the Vagrantbox on the host
49797            # vagrant_up_timeout: 300 # (seconds) timeout for cmd.run of the "vagrant up" command
49798            # vagrant_provider: '' # option for "vagrant up" like: "--provider vmware_fusion"
49799            # ssh_host: None  # "None" means try to find the routable IP address from "ifconfig"
49800            # ssh_username: '' # also required when ssh_host is used.
49801            # target_network: None  # Expected CIDR address range of your bridged network
49802            # force_minion_config: false  # Set "true" to re-purpose an existing VM
49803
49804       The machine can now be created and configured with the  following  com‐
49805       mand:
49806
49807          salt-cloud -p vagrant-machine my-id
49808
49809       This   will   create   the  machine  specified  by  the  cloud  profile
49810       vagrant-machine, and will give the machine the minion id of  my-id.  If
49811       the  cloud  master is also the salt-master, its Salt key will automati‐
49812       cally be accepted on the master.
49813
49814       Once a salt-minion has been successfully  installed  on  the  instance,
49815       connectivity to it can be verified with Salt:
49816
49817          salt my-id test.ping
49818
49819   Provisioning a Vagrant cloud host (example)
49820       In order to query or control minions it created, each host minion needs
49821       to track the Salt node names associated with any guest virtual machines
49822       on it.  It does that using a Salt sdb database.
49823
49824       The  Salt sdb is not configured by default. The following example shows
49825       a simple installation.
49826
49827       This example assumes:
49828
49829       · you are on a large network using the 10.x.x.x IP address space
49830
49831       · your Salt master's Salt id is "bevymaster"
49832
49833       · it will also be your salt-cloud controller
49834
49835       · it is at hardware address 10.124.30.7
49836
49837       · it is running a recent Debian family Linux (raspbian)
49838
49839       · your workstation is a Salt minion of bevymaster
49840
49841       · your workstation's minion id is "my_laptop"
49842
49843       · VirtualBox has been installed on "my_laptop" (apt install is okay)
49844
49845       · Vagrant was installed from vagrantup.com. (not the 16.04 Ubuntu apt)
49846
49847       · "my_laptop" has done "vagrant plugin install vagrant-vbguest"
49848
49849       · the VM you  want  to  start  is  on  "my_laptop"  at  "/home/my_user‐
49850         name/Vagrantfile"
49851
49852          # file /etc/salt/minion.d/vagrant_sdb.conf on host computer "my_laptop"
49853          #  -- this sdb database is required by the Vagrant module --
49854          vagrant_sdb_data:  # The sdb database must have this name.
49855            driver: sqlite3  # Let's use SQLite to store the data ...
49856            database: /var/cache/salt/vagrant.sqlite  # ... in this file ...
49857            table: sdb  # ... using this table name.
49858            create_table: True  # if not present
49859
49860       Remember  to  re-start  your  minion  after  changing its configuration
49861       files...
49862          sudo systemctl restart salt-minion
49863
49864          # -*- mode: ruby -*-
49865          # file /home/my_username/Vagrantfile on host computer "my_laptop"
49866          BEVY = "bevy1"
49867          DOMAIN = BEVY + ".test"  # .test is an ICANN reserved non-public TLD
49868
49869          # must supply a list of names to avoid Vagrant asking for interactive input
49870          def get_good_ifc()   # try to find a working Ubuntu network adapter name
49871            addr_infos = Socket.getifaddrs
49872            addr_infos.each do |info|
49873              a = info.addr
49874              if a and a.ip? and not a.ip_address.start_with?("127.")
49875               return info.name
49876               end
49877            end
49878            return "eth0"  # fall back to an old reliable name
49879          end
49880
49881          Vagrant.configure(2) do |config|
49882            config.ssh.forward_agent = true  # so you can use git ssh://...
49883
49884            # add a bridged network interface. (try to detect name, then guess MacOS names, too)
49885            interface_guesses = [get_good_ifc(), 'en0: Ethernet', 'en1: Wi-Fi (AirPort)']
49886            config.vm.network "public_network", bridge: interface_guesses
49887            if ARGV[0] == "up"
49888              puts "Trying bridge network using interfaces: #{interface_guesses}"
49889            end
49890            config.vm.provision "shell", inline: "ip address", run: "always"  # make user feel good
49891
49892            # . . . . . . . . . . . . Define machine QUAIL1 . . . . . . . . . . . . . .
49893            config.vm.define "quail1", primary: true do |quail_config|
49894              quail_config.vm.box = "boxesio/xenial64-standard"  # a public VMware & Virtualbox box
49895              quail_config.vm.hostname = "quail1." + DOMAIN  # supply a name in our bevy
49896              quail_config.vm.provider "virtualbox" do |v|
49897                  v.memory = 1024       # limit memory for the virtual box
49898                  v.cpus = 1
49899                  v.linked_clone = true # make a soft copy of the base Vagrant box
49900                  v.customize ["modifyvm", :id, "--natnet1", "192.168.128.0/24"]  # do not use 10.x network for NAT
49901              end
49902            end
49903          end
49904
49905          # file /etc/salt/cloud.profiles.d/my_vagrant_profiles.conf on bevymaster
49906          q1:
49907            host: my_laptop  # the Salt id of your virtual machine host
49908            machine: quail1   # a machine name in the Vagrantfile (if not primary)
49909            vagrant_runas: my_username  # owner of Vagrant box files on "my_laptop"
49910            cwd: '/home/my_username' # the path (on "my_laptop") of the Vagrantfile
49911            provider: my_vagrant_provider  # name of entry in provider.conf file
49912            target_network: '10.0.0.0/8'  # VM external address will be somewhere here
49913
49914          # file /etc/salt/cloud.providers.d/vagrant_provider.conf on bevymaster
49915          my_vagrant_provider:
49916            driver: vagrant
49917            minion:
49918              master: 10.124.30.7  # the hard address of the master
49919
49920   Create and use your new Salt minion
49921       · Typing on the Salt master computer bevymaster, tell it  to  create  a
49922         new minion named v1 using profile q1...
49923
49924          sudo salt-cloud -p q1 v1
49925          sudo salt v1 network.ip_addrs
49926            [ you get a list of IP addresses, including the bridged one ]
49927
49928       · logged in to your laptop (or some other computer known to GitHub)...
49929            [NOTE:]  if you are using MacOS, you need to type ssh-add -K after
49930            each boot, unless you use one of the methods in this gist.
49931
49932          ssh -A vagrant@< the bridged network address >
49933            # [ or, if you are at /home/my_username/ on my_laptop ]
49934          vagrant ssh quail1
49935
49936       · then typing on your new node "v1" (a.k.a. quail1.bevy1.test)...
49937
49938          password: vagrant
49939            # [ stuff types out ... ]
49940
49941          ls -al /vagrant
49942            # [ should be shared /home/my_username from my_laptop ]
49943
49944          # you can access other network facilities using the ssh authorization
49945          # as recorded in your ~.ssh/ directory on my_laptop ...
49946
49947          sudo apt update
49948          sudo apt install git
49949          git clone ssh://git@github.com/yourID/your_project
49950          # etc...
49951
49952   Getting Started with VEXXHOST
49953       VEXXHOST is a cloud computing host which provides Canadian  cloud  com‐
49954       puting  services which are based in Monteral and use the libcloud Open‐
49955       Stack driver.  VEXXHOST currently runs the Havana release of OpenStack.
49956       When provisioning new instances, they automatically get a public IP and
49957       private IP address.  Therefore, you do not need to assign a floating IP
49958       to access your instance after it's booted.
49959
49960   Cloud Provider Configuration
49961       To  use  the  openstack  driver for the VEXXHOST public cloud, you will
49962       need to set up the cloud provider configuration file as in the  example
49963       below:
49964
49965       /etc/salt/cloud.providers.d/vexxhost.conf: In order to use the VEXXHOST
49966       public cloud, you will need to setup  a  cloud  provider  configuration
49967       file as in the example below which uses the OpenStack driver.
49968
49969          my-vexxhost-config:
49970            # Set the location of the salt-master
49971            #
49972            minion:
49973              master: saltmaster.example.com
49974
49975            # Configure VEXXHOST using the OpenStack plugin
49976            #
49977            identity_url: http://auth.api.thenebulacloud.com:5000/v2.0/tokens
49978            compute_name: nova
49979
49980            # Set the compute region:
49981            #
49982            compute_region: na-yul-nhs1
49983
49984            # Configure VEXXHOST authentication credentials
49985            #
49986            user: your-tenant-id
49987            password: your-api-key
49988            tenant: your-tenant-name
49989
49990            # keys to allow connection to the instance launched
49991            #
49992            ssh_key_name: yourkey
49993            ssh_key_file: /path/to/key/yourkey.priv
49994
49995            driver: openstack
49996
49997       NOTE:
49998          Changed in version 2015.8.0.
49999
50000
50001          The  provider parameter in cloud provider definitions was renamed to
50002          driver. This change was made to avoid confusion  with  the  provider
50003          parameter  that is used in cloud profile definitions. Cloud provider
50004          definitions now use driver to refer to the Salt  cloud  module  that
50005          provides  the  underlying  functionality to connect to a cloud host,
50006          while cloud profiles continue to use provider to refer  to  provider
50007          configurations that you define.
50008
50009   Authentication
50010       All  of the authentication fields that you need can be found by logging
50011       into your VEXXHOST customer center.  Once you've logged  in,  you  will
50012       need to click on "CloudConsole" and then click on "API Credentials".
50013
50014   Cloud Profile Configuration
50015       In  order to get the correct image UUID and the instance type to use in
50016       the cloud profile, you can run the following command respectively:
50017
50018          # salt-cloud --list-images=vexxhost-config
50019          # salt-cloud --list-sizes=vexxhost-config
50020
50021       Once you have that, you can go ahead and create a  new  cloud  profile.
50022       This profile will build an Ubuntu 12.04 LTS nb.2G instance.
50023
50024       /etc/salt/cloud.profiles.d/vh_ubuntu1204_2G.conf:
50025
50026          vh_ubuntu1204_2G:
50027            provider: my-vexxhost-config
50028            image: 4051139f-750d-4d72-8ef0-074f2ccc7e5a
50029            size: nb.2G
50030
50031   Provision an instance
50032       To  create  an  instance  based  on  the sample profile that we created
50033       above, you can run the following salt-cloud command.
50034
50035          # salt-cloud -p vh_ubuntu1204_2G vh_instance1
50036
50037       Typically, instances  are  provisioned  in  under  30  seconds  on  the
50038       VEXXHOST  public  cloud.  After the instance provisions, it will be set
50039       up a minion and then return all the instance information once it's com‐
50040       plete.
50041
50042       Once  the  instance  has been setup, you can test connectivity to it by
50043       running the following command:
50044
50045          # salt vh_instance1 test.ping
50046
50047       You can now continue to provision new instances and they will all auto‐
50048       matically be set up as minions of the master you've defined in the con‐
50049       figuration file.
50050
50051   Getting Started With Virtualbox
50052       The Virtualbox cloud module allows you to  manage  a  local  Virtualbox
50053       hypervisor. Remote hypervisors may come later on.
50054
50055   Dependencies
50056       The  virtualbox module for Salt Cloud requires the Virtualbox SDK which
50057       is contained in a virtualbox installation from
50058
50059       https://www.virtualbox.org/wiki/Downloads
50060
50061   Configuration
50062       The Virtualbox cloud module just needs to use the virtualbox driver for
50063       now. Virtualbox will be run as the running user.
50064
50065       /etc/salt/cloud.providers    or    /etc/salt/cloud.providers.d/virtual‐
50066       box.conf:
50067
50068          virtualbox-config:
50069             driver: virtualbox
50070
50071   Profiles
50072       Set   up   an   initial   profile   at   /etc/salt/cloud.profiles    or
50073       /etc/salt/cloud.profiles.d/virtualbox.conf:
50074
50075          virtualbox-test:
50076              provider: virtualbox-config
50077              clonefrom: VM_to_clone_from
50078              # Optional
50079              power_on: True
50080              deploy: True
50081              ssh_username: a_username
50082              password: a_password
50083              sudo: a_username
50084              sudo_password: a_password
50085              # Example minion config
50086              minion:
50087                  master: localhost
50088              make_master: True
50089
50090       clonefrom Mandatory
50091              Enter the name of the VM/template to clone from.
50092
50093       So  far  only machines can only be cloned and automatically provisioned
50094       by Salt Cloud.
50095
50096   Provisioning
50097       In order to provision when creating a new machine power_on  and  deploy
50098       have to be True.
50099
50100       Furthermore to connect to the VM ssh_username and password will have to
50101       be set.
50102
50103       sudo and sudo_password are the credentials for getting root  access  in
50104       order to deploy salt
50105
50106   Actions
50107       start  Attempt  to  boot  a VM by name. VMs should have unique names in
50108              order to boot the correct one.
50109
50110       stop   Attempt to stop a VM. This is akin to a force shutdown or 5 sec‐
50111              ond press.
50112
50113   Functions
50114       show_image
50115              Show  all  available  information  about a VM given by the image
50116              parameter
50117
50118                 $ salt-cloud -f show_image virtualbox image=my_vm_name
50119
50120   Getting Started With VMware
50121       New in version 2015.5.4.
50122
50123
50124       Author: Nitin Madhok <nmadhok@clemson.edu>
50125
50126       The VMware cloud module allows you to  manage  VMware  ESX,  ESXi,  and
50127       vCenter.
50128
50129   Dependencies
50130       The vmware module for Salt Cloud requires the pyVmomi package, which is
50131       available at PyPI:
50132
50133       https://pypi.python.org/pypi/pyvmomi
50134
50135       This package can be installed using pip or easy_install:
50136
50137          pip install pyvmomi
50138          easy_install pyvmomi
50139
50140       NOTE:
50141          Version 6.0 of pyVmomi has some problems with SSL error handling  on
50142          certain  versions  of  Python.  If using version 6.0 of pyVmomi, the
50143          machine that you are running the proxy minion process from must have
50144          either  Python  2.7.9 or newer This is due to an upstream dependency
50145          in pyVmomi 6.0 that is not supported in Python version 2.6 to 2.7.8.
50146          If  the  version  of Python running the salt-cloud command is not in
50147          the supported range, you will need to install an earlier version  of
50148          pyVmomi. See Issue #29537 for more information.
50149
50150       NOTE:
50151          pyVmomi  doesn't  expose the ability to specify the locale when con‐
50152          necting to VMware. This causes parsing issues when connecting to  an
50153          instance  of  VMware  running under a non-English locale. Until this
50154          feature is added upstream Issue #38402 contains a workaround.
50155
50156   Configuration
50157       The VMware cloud module needs the vCenter or ESX/ESXi URL, username and
50158       password    to    be   set   up   in   the   cloud   configuration   at
50159       /etc/salt/cloud.providers or /etc/salt/cloud.providers.d/vmware.conf:
50160
50161          my-vmware-config:
50162            driver: vmware
50163            user: 'DOMAIN\user'
50164            password: 'verybadpass'
50165            url: '10.20.30.40'
50166
50167          vcenter01:
50168            driver: vmware
50169            user: 'DOMAIN\user'
50170            password: 'verybadpass'
50171            url: 'vcenter01.domain.com'
50172            protocol: 'https'
50173            port: 443
50174
50175          vcenter02:
50176            driver: vmware
50177            user: 'DOMAIN\user'
50178            password: 'verybadpass'
50179            url: 'vcenter02.domain.com'
50180            protocol: 'http'
50181            port: 80
50182
50183          esx01:
50184            driver: vmware
50185            user: 'admin'
50186            password: 'verybadpass'
50187            url: 'esx01.domain.com'
50188
50189       NOTE:
50190          Optionally, protocol and port can be specified if the vCenter server
50191          is not using the defaults. Default is protocol: https and port: 443.
50192
50193       NOTE:
50194          Changed in version 2015.8.0.
50195
50196
50197          The  provider  parameter in cloud provider configuration was renamed
50198          to driver.  This  change  was  made  to  avoid  confusion  with  the
50199          provider  parameter  that  is  used  in cloud profile configuration.
50200          Cloud provider  configuration  now  uses  driver  to  refer  to  the
50201          salt-cloud driver that provides the underlying functionality to con‐
50202          nect to a cloud provider, while cloud profile configuration  contin‐
50203          ues  to  use  provider  to refer to the cloud provider configuration
50204          that you define.
50205
50206   Profiles
50207       Set   up   an   initial   profile   at   /etc/salt/cloud.profiles    or
50208       /etc/salt/cloud.profiles.d/vmware.conf:
50209
50210          vmware-centos6.5:
50211            provider: vcenter01
50212            clonefrom: test-vm
50213
50214            ## Optional arguments
50215            num_cpus: 4
50216            memory: 8GB
50217            devices:
50218              cd:
50219                CD/DVD drive 1:
50220                  device_type: datastore_iso_file
50221                  iso_path: "[nap004-1] vmimages/tools-isoimages/linux.iso"
50222                CD/DVD drive 2:
50223                  device_type: client_device
50224                  mode: atapi
50225                  controller: IDE 2
50226                CD/DVD drive 3:
50227                  device_type: client_device
50228                  mode: passthrough
50229                  controller: IDE 3
50230              disk:
50231                Hard disk 1:
50232                  size: 30
50233                Hard disk 2:
50234                  size: 20
50235                  controller: SCSI controller 2
50236                Hard disk 3:
50237                  size: 5
50238                  controller: SCSI controller 3
50239                  datastore: smalldiskdatastore
50240              network:
50241                Network adapter 1:
50242                  name: 10.20.30-400-Test
50243                  switch_type: standard
50244                  ip: 10.20.30.123
50245                  gateway: [10.20.30.110]
50246                  subnet_mask: 255.255.255.128
50247                  domain: example.com
50248                Network adapter 2:
50249                  name: 10.30.40-500-Dev-DHCP
50250                  adapter_type: e1000
50251                  switch_type: distributed
50252                  mac: '00:16:3e:e8:19:0f'
50253                Network adapter 3:
50254                  name: 10.40.50-600-Prod
50255                  adapter_type: vmxnet3
50256                  switch_type: distributed
50257                  ip: 10.40.50.123
50258                  gateway: [10.40.50.110]
50259                  subnet_mask: 255.255.255.128
50260                  domain: example.com
50261              scsi:
50262                SCSI controller 1:
50263                  type: lsilogic
50264                SCSI controller 2:
50265                  type: lsilogic_sas
50266                  bus_sharing: virtual
50267                SCSI controller 3:
50268                  type: paravirtual
50269                  bus_sharing: physical
50270              ide:
50271                IDE 2
50272                IDE 3
50273
50274            domain: example.com
50275            dns_servers:
50276              - 123.127.255.240
50277              - 123.127.255.241
50278              - 123.127.255.242
50279
50280            resourcepool: Resources
50281            cluster: Prod
50282
50283            datastore: HUGE-DATASTORE-Cluster
50284            folder: Development
50285            datacenter: DC1
50286            host: c4212n-002.domain.com
50287            template: False
50288            power_on: True
50289            extra_config:
50290              mem.hotadd: 'yes'
50291              guestinfo.foo: bar
50292              guestinfo.domain: foobar.com
50293              guestinfo.customVariable: customValue
50294            annotation: Created by Salt-Cloud
50295
50296            deploy: True
50297            customization: True
50298            private_key: /root/.ssh/mykey.pem
50299            ssh_username: cloud-user
50300            password: veryVeryBadPassword
50301            minion:
50302              master: 123.127.193.105
50303
50304            file_map:
50305              /path/to/local/custom/script: /path/to/remote/script
50306              /path/to/local/file: /path/to/remote/file
50307              /srv/salt/yum/epel.repo: /etc/yum.repos.d/epel.repo
50308
50309            hardware_version: 10
50310            image: centos64Guest
50311
50312            #For Windows VM
50313            win_username: Administrator
50314            win_password: administrator
50315            win_organization_name: ABC-Corp
50316            plain_text: True
50317            win_installer: /root/Salt-Minion-2015.8.4-AMD64-Setup.exe
50318            win_user_fullname: Windows User
50319
50320       provider
50321              Enter the name that was specified when the cloud provider config
50322              was created.
50323
50324       clonefrom
50325              Enter the name of the VM/template to clone from. If  not  speci‐
50326              fied, the VM will be created without cloning.
50327
50328       num_cpus
50329              Enter the number of vCPUS that you want the VM/template to have.
50330              If not specified, the current VM/template's vCPU count is used.
50331
50332       cores_per_socket
50333              Enter the number of cores per vCPU that you want the VM/template
50334              to have. If not specified, this will default to 1.
50335
50336              NOTE:
50337                 Cores  per  socket  should be less than or equal to the total
50338                 number of vCPUs assigned to the VM/template.
50339
50340              New in version 2016.11.0.
50341
50342
50343       memory Enter the memory size (in MB or GB) that you  want  the  VM/tem‐
50344              plate  to have. If not specified, the current VM/template's mem‐
50345              ory size is used. Example memory: 8GB or memory: 8192MB.
50346
50347       devices
50348              Enter the device specifications here. Currently,  the  following
50349              devices can be created or reconfigured:
50350
50351              cd     Enter  the CD/DVD drive specification here. If the CD/DVD
50352                     drive doesn't exist, it will be created with  the  speci‐
50353                     fied  configuration.  If the CD/DVD drive already exists,
50354                     it will be reconfigured with the specifications. The fol‐
50355                     lowing options can be specified per CD/DVD drive:
50356
50357                     device_type
50358                            Specify  how the CD/DVD drive should be used. Cur‐
50359                            rently supported types are client_device and data‐
50360                            store_iso_file.     Default     is    device_type:
50361                            client_device
50362
50363                     iso_path
50364                            Enter the path to the  iso  file  present  on  the
50365                            datastore only if device_type: datastore_iso_file.
50366                            The syntax to specify this is  iso_path:  "[datas‐
50367                            toreName]     vmimages/tools-isoimages/linux.iso".
50368                            This   field   is    ignored    if    device_type:
50369                            client_device
50370
50371                     mode   Enter  the mode of connection only if device_type:
50372                            client_device.  Currently  supported   modes   are
50373                            passthrough  and  atapi.  This field is ignored if
50374                            device_type: datastore_iso_file. Default is  mode:
50375                            passthrough
50376
50377                     controller
50378                            Specify  the  IDE  controller  label to which this
50379                            drive should be attached.  This should  be  speci‐
50380                            fied  only  when  creating  both the specified IDE
50381                            controller as well as the CD/DVD drive at the same
50382                            time.
50383
50384              disk   Enter  the  disk  specification  here.  If  the hard disk
50385                     doesn't exist, it will be created with the provided size.
50386                     If  the  hard disk already exists, it will be expanded if
50387                     the provided size is greater than the current size of the
50388                     disk.
50389
50390                     size   Enter the size of disk in GB
50391
50392                     thin_provision
50393                            Specifies  whether  the disk should be thin provi‐
50394                            sioned or not. Default is thin_provision: False.
50395
50396                     eagerly_scrub
50397                            Specifies whether the disk should be rewrite  with
50398                            zeros  during  thick provisioning or not.  Default
50399                            is eagerly_scrub: False.
50400
50401                     controller
50402                            Specify the SCSI controller label  to  which  this
50403                            disk should be attached.  This should be specified
50404                            only when creating both the  specified  SCSI  con‐
50405                            troller as well as the hard disk at the same time.
50406
50407                     datastore
50408                            The  name of a valid datastore should you wish the
50409                            new disk to be  in  a  datastore  other  than  the
50410                            default for the VM.
50411
50412              network
50413                     Enter the network adapter specification here. If the net‐
50414                     work adapter doesn't exist, a new network adapter will be
50415                     created  with  the specified network name, type and other
50416                     configuration. If the network adapter already exists,  it
50417                     will be reconfigured with the specifications. The follow‐
50418                     ing additional  options  can  be  specified  per  network
50419                     adapter (See example above):
50420
50421                     name   Enter  the  network  name  you  want  the  network
50422                            adapter to be mapped to.
50423
50424                     adapter_type
50425                            Enter the network adapter type you want to create.
50426                            Currently  supported  types  are  vmxnet, vmxnet2,
50427                            vmxnet3, e1000 and e1000e.  If no type  is  speci‐
50428                            fied, by default vmxnet3 will be used.
50429
50430                     switch_type
50431                            Enter  the  type  of  switch  to use. This decides
50432                            whether to use a standard switch network or a dis‐
50433                            tributed  virtual  portgroup.  Currently supported
50434                            types are standard  for  standard  portgroups  and
50435                            distributed for distributed virtual portgroups.
50436
50437                     ip     Enter  the  static IP you want the network adapter
50438                            to be mapped to. If the network specified is  DHCP
50439                            enabled, you do not have to specify this.
50440
50441                     gateway
50442                            Enter  the  gateway  for the network as a list. If
50443                            the network specified is DHCP enabled, you do  not
50444                            have to specify this.
50445
50446                     subnet_mask
50447                            Enter the subnet mask for the network. If the net‐
50448                            work specified is DHCP enabled, you do not have to
50449                            specify this.
50450
50451                     domain Enter  the  domain  to  be  used  with the network
50452                            adapter. If the network specified is DHCP enabled,
50453                            you do not have to specify this.
50454
50455                     mac    Enter  the  MAC  for  this network adapter. If not
50456                            specified an address will  be  selected  automati‐
50457                            cally.
50458
50459              scsi   Enter the SCSI controller specification here. If the SCSI
50460                     controller doesn't exist, a new SCSI controller  will  be
50461                     created  of  the  specified  type. If the SCSI controller
50462                     already exists, it will be reconfigured with the specifi‐
50463                     cations.  The  following additional options can be speci‐
50464                     fied per SCSI controller:
50465
50466                     type   Enter the SCSI controller type you want to create.
50467                            Currently   supported  types  are  lsilogic,  lsi‐
50468                            logic_sas and paravirtual. Type must be  specified
50469                            when creating a new SCSI controller.
50470
50471                     bus_sharing
50472                            Specify  this  if sharing of virtual disks between
50473                            virtual machines is desired.  The following can be
50474                            specified:
50475
50476                            virtual
50477                                   Virtual disks can be shared between virtual
50478                                   machines on the same server.
50479
50480                            physical
50481                                   Virtual disks can be shared between virtual
50482                                   machines on any server.
50483
50484                            no     Virtual disks cannot be shared between vir‐
50485                                   tual machines.
50486
50487              ide    Enter the IDE controller specification here. If  the  IDE
50488                     controller  doesn't  exist,  a new IDE controller will be
50489                     created. If the IDE controller already exists, no further
50490                     changes to it will me made.
50491
50492       domain Enter  the  global domain name to be used for DNS. If not speci‐
50493              fied and if the VM name is a FQDN, domain is set to  the  domain
50494              from the VM name. Default is local.
50495
50496       dns_servers
50497              Enter the list of DNS servers to use in order of priority.
50498
50499       resourcepool
50500              Enter  the  name  of  the  resourcepool to which the new virtual
50501              machine  should  be  attached.  This  determines  what   compute
50502              resources will be available to the clone.
50503
50504              NOTE:
50505
50506                 · For  a  clone operation from a virtual machine, it will use
50507                   the same  resourcepool  as  the  original  virtual  machine
50508                   unless specified.
50509
50510                 · For a clone operation from a template to a virtual machine,
50511                   specifying either this or cluster is required. If both  are
50512                   specified, the resourcepool value will be used.
50513
50514                 · For  a  clone  operation  to  a  template, this argument is
50515                   ignored.
50516
50517       cluster
50518              Enter the name of the cluster whose resource pool the  new  vir‐
50519              tual machine should be attached to.
50520
50521              NOTE:
50522
50523                 · For  a  clone operation from a virtual machine, it will use
50524                   the same cluster's resourcepool  as  the  original  virtual
50525                   machine unless specified.
50526
50527                 · For a clone operation from a template to a virtual machine,
50528                   specifying either this or resourcepool is required. If both
50529                   are specified, the resourcepool value will be used.
50530
50531                 · For  a  clone  operation  to  a  template, this argument is
50532                   ignored.
50533
50534       datastore
50535              Enter the name of the datastore or the datastore  cluster  where
50536              the  virtual  machine  should be located on physical storage. If
50537              not specified, the current datastore is used.
50538
50539              NOTE:
50540
50541                 · If you specify a datastore cluster name, DRS Storage recom‐
50542                   mendation is automatically applied.
50543
50544                 · If you specify a datastore name, DRS Storage recommendation
50545                   is disabled.
50546
50547       folder Enter the name of the folder that will contain the  new  virtual
50548              machine.
50549
50550              NOTE:
50551
50552                 · For  a  clone operation from a VM/template, the new VM/tem‐
50553                   plate will be added to the same folder  that  the  original
50554                   VM/template belongs to unless specified.
50555
50556                 · If  both  folder  and  datacenter are specified, the folder
50557                   value will be used.
50558
50559       datacenter
50560              Enter the name of the datacenter that will contain the new  vir‐
50561              tual machine.
50562
50563              NOTE:
50564
50565                 · For  a  clone operation from a VM/template, the new VM/tem‐
50566                   plate will be added to the same folder  that  the  original
50567                   VM/template belongs to unless specified.
50568
50569                 · If  both  folder  and  datacenter are specified, the folder
50570                   value will be used.
50571
50572       host   Enter the name of the target  host  where  the  virtual  machine
50573              should be registered.
50574
50575              If not specified:
50576
50577              NOTE:
50578
50579                 · If resource pool is not specified, current host is used.
50580
50581                 · If  resource  pool is specified, and the target pool repre‐
50582                   sents a stand-alone host, the host is used.
50583
50584                 · If resource pool is specified, and the target  pool  repre‐
50585                   sents  a  DRS-enabled  cluster,  a  host selected by DRS is
50586                   used.
50587
50588                 · If resource pool is specified and the  target  pool  repre‐
50589                   sents  a  cluster  without  DRS enabled, an InvalidArgument
50590                   exception be thrown.
50591
50592       template
50593              Specifies whether the new virtual machine should be marked as  a
50594              template or not.  Default is template: False.
50595
50596       power_on
50597              Specifies  whether  the new virtual machine should be powered on
50598              or not. If template: True is set, this field is ignored. Default
50599              is power_on: True.
50600
50601       extra_config
50602              Specifies  the additional configuration information for the vir‐
50603              tual machine. This describes a set of modifications to the addi‐
50604              tional  options. If the key is already present, it will be reset
50605              with the new value provided. Otherwise, a new option  is  added.
50606              Keys with empty values will be removed.
50607
50608       annotation
50609              User-provided  description  of  the  virtual  machine. This will
50610              store a message in the vSphere interface, under the  annotations
50611              section in the Summary view of the virtual machine.
50612
50613       deploy Specifies  if  salt should be installed on the newly created VM.
50614              Default is True so salt will be installed  using  the  bootstrap
50615              script.  If template: True or power_on: False is set, this field
50616              is ignored and salt will not be installed.
50617
50618       wait_for_ip_timeout
50619              When deploy: True, this timeout determines the maximum  time  to
50620              wait for VMware tools to be installed on the virtual machine. If
50621              this timeout is reached, an attempt to determine the client's IP
50622              will be made by resolving the VM's name.  By lowering this value
50623              a salt bootstrap can be fully automated for systems that are not
50624              built with VMware tools.  Default is wait_for_ip_timeout: 1200.
50625
50626       customization
50627              Specify  whether the new virtual machine should be customized or
50628              not. If customization: False is set,  the  new  virtual  machine
50629              will not be customized.  Default is customization: True.
50630
50631       private_key
50632              Specify  the path to the private key to use to be able to ssh to
50633              the VM.
50634
50635       ssh_username
50636              Specify the username to use in order to ssh to the  VM.  Default
50637              is root
50638
50639       password
50640              Specify  a  password  to  use in order to ssh to the VM. If pri‐
50641              vate_key is specified, you do not need to specify this.
50642
50643       minion Specify custom minion configuration you want the salt minion  to
50644              have.  A  good  example  would  be  to specify the master as the
50645              IP/DNS name of the master.
50646
50647       file_map
50648              Specify file/files you want to copy to the VM before  the  boot‐
50649              strap  script  is  run  and salt is installed. A good example of
50650              using this would be if you need to put custom repo files on  the
50651              server in case your server will be in a private network and can‐
50652              not reach external networks.
50653
50654       hardware_version
50655              Specify the virtual hardware version for the vm/template that is
50656              supported by the host.
50657
50658       image  Specify  the  guest  id  of the VM. For a full list of supported
50659              values see the VMware vSphere documentation:
50660
50661              http://pubs.vmware.com/vsphere-60/topic/com.vmware.wssdk.apiref.doc/vim.vm.GuestOsDescriptor.GuestOsIdentifier.html
50662
50663              NOTE:
50664                 For a clone operation, this argument is ignored.
50665
50666       win_username
50667              Specify windows vm administrator account.
50668
50669              NOTE:
50670                 Windows template should have "administrator" account.
50671
50672       win_password
50673              Specify windows vm administrator account password.
50674
50675              NOTE:
50676                 During  network  configuration  (if network specified), it is
50677                 used to specify new administrator password for the machine.
50678
50679       win_organization_name
50680
50681              Specify windows vm  user's  organization.  Default  organization
50682              name is Organization
50683                     VMware vSphere documentation:
50684
50685              https://www.vmware.com/support/developer/vc-sdk/visdk25pubs/ReferenceGuide/vim.vm.customization.UserData.html
50686
50687       win_user_fullname
50688
50689              Specify windows vm user's fullname. Default fullname is  Windows
50690              User
50691                     VMware vSphere documentation:
50692
50693              https://www.vmware.com/support/developer/vc-sdk/visdk25pubs/ReferenceGuide/vim.vm.customization.UserData.html
50694
50695       plain_text
50696              Flag to specify whether or not the password is  in  plain  text,
50697              rather than encrypted.  VMware vSphere documentation:
50698
50699              https://www.vmware.com/support/developer/vc-sdk/visdk25pubs/ReferenceGuide/vim.vm.customization.Password.html
50700
50701       win_installer
50702              Specify windows minion client installer path
50703
50704       win_run_once
50705              Specify a list of commands to run on first login  to  a  windows
50706              minion
50707
50708              https://www.vmware.com/support/developer/vc-sdk/visdk25pubs/ReferenceGuide/vim.vm.customization.GuiRunOnce.html
50709
50710   Cloning a VM
50711       Cloning VMs/templates is the easiest and the preferred way to work with
50712       VMs using the VMware driver.
50713
50714       NOTE:
50715          Cloning operations are unsupported on standalone ESXi hosts, a vCen‐
50716          ter server will be required.
50717
50718       Example of a minimal profile:
50719
50720          my-minimal-clone:
50721            provider: vcenter01
50722            clonefrom: 'test-vm'
50723
50724       When cloning  a  VM,  all  the  profile  configuration  parameters  are
50725       optional and the configuration gets inherited from the clone.
50726
50727       Example to add/resize a disk:
50728
50729          my-disk-example:
50730            provider: vcenter01
50731            clonefrom: 'test-vm'
50732
50733            devices:
50734              disk:
50735                Hard disk 1:
50736                  size: 30
50737
50738       Depending  on  the  configuration of the VM that is getting cloned, the
50739       disk in the resulting clone will differ.
50740
50741       NOTE:
50742
50743          · If the VM has no disk named 'Hard disk 1' an empty disk  with  the
50744            specified size will be added to the clone.
50745
50746          · If the VM has a disk named 'Hard disk 1' and the size specified is
50747            larger than the original disk, an empty disk  with  the  specified
50748            size will be added to the clone.
50749
50750          · If the VM has a disk named 'Hard disk 1' and the size specified is
50751            smaller than the original disk, an empty disk  with  the  original
50752            size will be added to the clone.
50753
50754       Example to reconfigure the memory and number of vCPUs:
50755
50756          my-disk-example:
50757            provider: vcenter01
50758            clonefrom: 'test-vm'
50759
50760            memory: 16GB
50761            num_cpus: 8
50762
50763   Cloning a Template
50764       Cloning  a  template  works similar to cloning a VM except for the fact
50765       that a resource pool or cluster must be specified additionally  in  the
50766       profile.
50767
50768       Example of a minimal profile:
50769
50770          my-template-clone:
50771           provider: vcenter01
50772           clonefrom: 'test-template'
50773           cluster: 'Prod'
50774
50775   Cloning from a Snapshot
50776       New in version 2016.3.5.
50777
50778
50779       Cloning  from  a snapshot requires that one of the supported options be
50780       set in the cloud profile.
50781
50782       Supported options are createNewChildDiskBacking, moveChildMostDiskBack‐
50783       ing,  moveAllDiskBackingsAndAllowSharing and moveAllDiskBackingsAndDis‐
50784       allowSharing.
50785
50786       Example of a minimal profile:
50787
50788          my-template-clone:
50789            provider: vcenter01
50790            clonefrom: 'salt_vm'
50791            snapshot:
50792              disk_move_type: createNewChildDiskBacking
50793              # these types are also supported
50794              # disk_move_type: moveChildMostDiskBacking
50795              # disk_move_type: moveAllDiskBackingsAndAllowSharing
50796              # disk_move_type: moveAllDiskBackingsAndDisallowSharing
50797
50798   Creating a VM
50799       New in version 2016.3.0.
50800
50801
50802       Creating a VM from scratch means that  more  configuration  has  to  be
50803       specified  in the profile because there is no place to inherit configu‐
50804       ration from.
50805
50806       NOTE:
50807          Unlike most cloud drivers that use  prepared  images,  creating  VMs
50808          using VMware cloud driver needs an installation method that requires
50809          no human interaction.  For Example: preseeded ISO, kickstart URL  or
50810          network PXE boot.
50811
50812       Example of a minimal profile:
50813
50814          my-minimal-profile:
50815            provider: esx01
50816            datastore: esx01-datastore
50817            resourcepool: Resources
50818            folder: vm
50819
50820       NOTE:
50821          The example above contains the minimum required configuration needed
50822          to create a VM from scratch. The resulting VM will only have 1 VCPU,
50823          32MB of RAM and will not have any storage or networking.
50824
50825       Example of a complete profile:
50826
50827          my-complete-example:
50828            provider: esx01
50829            datastore: esx01-datastore
50830            resourcepool: Resources
50831            folder: vm
50832
50833            num_cpus: 2
50834            memory: 8GB
50835
50836            image: debian7_64Guest
50837
50838            devices:
50839              scsi:
50840                SCSI controller 0:
50841                  type: lsilogic_sas
50842              ide:
50843                IDE 0: {}
50844                IDE 1: {}
50845              disk:
50846                Hard disk 0:
50847                  controller: 'SCSI controller 0'
50848                  size: 20
50849                  mode: 'independent_nonpersistent'
50850              cd:
50851                CD/DVD drive 0:
50852                  controller: 'IDE 0'
50853                  device_type: datastore_iso_file
50854                  iso_path: '[esx01-datastore] debian-8-with-preseed.iso'
50855              network:
50856                Network adapter 0:
50857                  name: 'VM Network'
50858                  swith_type: standard
50859
50860       NOTE:
50861          Depending on VMware ESX/ESXi version, an exact match for image might
50862          not be available. In such cases, the closest match to another  image
50863          should be used. In the example above, a Debian 8 VM is created using
50864          the image debian7_64Guest which is for a Debian 7 guest.
50865
50866   Specifying disk backing mode
50867       New in version 2016.3.5.
50868
50869
50870       Disk backing mode can now be specified when cloning a VM.  This  option
50871       can be set in the cloud profile as shown in example below:
50872
50873          my-vm:
50874            provider: esx01
50875            datastore: esx01-datastore
50876            resourcepool: Resources
50877            folder: vm
50878
50879
50880            devices:
50881              disk:
50882                Hard disk 1:
50883                  mode: 'independent_nonpersistent'
50884                  size: 42
50885                Hard disk 2:
50886                  mode: 'independent_nonpersistent'
50887
50888   Getting Started With Xen
50889       The Xen cloud driver works with Citrix XenServer.
50890
50891       It can be used with a single XenServer or a XenServer resource pool.
50892
50893   Setup Dependencies
50894       This  driver  requires  a copy of the freely available XenAPI.py Python
50895       module.
50896
50897       Information about the Xen API Python module in the XenServer SDK can be
50898       found                                                                at
50899       https://xenserver.org/partners/developing-products-for-xenserver.html
50900
50901       Place a copy of this module on your system.  For  example,  it  can  be
50902       placed in the site packages location on your system.
50903
50904       The location of site packages can be determined by running:
50905
50906          python -m site --user-site
50907
50908   Provider Configuration
50909       Xen requires login credentials to a XenServer.
50910
50911       Set     up     the     provider    cloud    configuration    file    at
50912       /etc/salt/cloud.providers or /etc/salt/cloud.providers.d/*.conf.
50913
50914          # /etc/salt/cloud.providers.d/myxen.conf
50915          myxen:
50916            driver: xen
50917            url: https://10.0.0.120
50918            user: root
50919            password: p@ssw0rd
50920
50921       url:   The url option supports both http and https uri prefixes.
50922
50923       user:  A valid user id to login to the XenServer host.
50924
50925       password:
50926              The associated password for the user.
50927
50928       NOTE:
50929          Changed in version 2015.8.0.
50930
50931
50932          The provider parameter in cloud provider definitions was renamed  to
50933          driver.  This  change  was made to avoid confusion with the provider
50934          parameter that is used in cloud profile definitions. Cloud  provider
50935          definitions  now  use  driver to refer to the Salt cloud module that
50936          provides the underlying functionality to connect to  a  cloud  host,
50937          while  cloud  profiles continue to use provider to refer to provider
50938          configurations that you define.
50939
50940   Profile Configuration
50941       Xen profiles require a provider and  image.
50942
50943       provider:
50944              This will be the name of your defined provider.
50945
50946       image: The name of the VM template used to clone or copy.
50947
50948       clone: The default behavior is to clone a template or VM. This is  very
50949              fast,  but  requires the source template or VM to be in the same
50950              storage repository of the new target system. If the  source  and
50951              target  are in different storage repositories then you must copy
50952              the source and not clone it by setting clone: False.
50953
50954       deploy:
50955              The provisioning process will attempt to install the Salt minion
50956              service  on  the new target system by default. This will require
50957              login credentials for Salt cloud to login via ssh  to  it.   The
50958              user  and  password  options  are required.  If deploy is set to
50959              False then these options are not needed.
50960
50961       resource_pool:
50962              The name of the resource pool used for this profile.
50963
50964       storage_repo:
50965              The name of the storage repository for the target system.
50966
50967       ipv4_cidr:
50968              If template is Windows, and running guest tools then a static ip
50969              address can be set.
50970
50971       ipv4_gw:
50972              If  template  is Windows, and running guest tools then a gateway
50973              can be set.
50974
50975       Set up  an  initial  profile  at  /etc/salt/cloud.profiles  or  in  the
50976       /etc/salt/cloud.profiles.d/ directory:
50977
50978          # file: /etc/salt/cloud.profiles.d/xenprofiles.conf
50979          sles:
50980            provider: myxen
50981            deploy: False
50982            image: sles12sp2-template
50983
50984          suse:
50985            user: root
50986            password: p@ssw0rd
50987            provider: myxen
50988            image: opensuseleap42_2-template
50989            storage_repo: 'Local storage'
50990            clone: False
50991            minion:
50992              master: 10.0.0.20
50993
50994          w2k12:
50995            provider: myxen
50996            image: w2k12svr-template
50997            clone: True
50998            userdata_file: /srv/salt/win/files/windows-firewall.ps1
50999            win_installer: /srv/salt/win/files/Salt-Minion-2016.11.3-AMD64-Setup.exe
51000            win_username: Administrator
51001            win_password: p@ssw0rd
51002            use_winrm: False
51003            ipv4_cidr: 10.0.0.215/24
51004            ipv4_gw: 10.0.0.1
51005            minion:
51006              master: 10.0.0.21
51007
51008       The  first example will create a clone of the sles12sp2-template in the
51009       same storage repository without deploying the Salt minion.
51010
51011       The second example will make a copy of the image and deploy a new  suse
51012       VM with the Salt minion installed.
51013
51014       The  third example will create a clone of the Windows 2012 template and
51015       deploy the Salt minion.
51016
51017       The profile can be used with a salt command:
51018
51019          salt-cloud -p suse  xenvm02
51020
51021       This will create an salt minion instance named xenvm02 in Xen.  If  the
51022       command  was  executed  on the salt-master, its Salt key will automati‐
51023       cally be signed on the master.
51024
51025       Once the instance has been created with a salt-minion  installed,  con‐
51026       nectivity to it can be verified with Salt:
51027
51028          salt xenvm02 test.ping
51029
51030   Listing Sizes
51031       Sizes  can be obtained using the --list-sizes option for the salt-cloud
51032       command:
51033
51034          # salt-cloud --list-sizes myxen
51035
51036       NOTE:
51037          Since size information is build in a template this  command  is  not
51038          implemented.
51039
51040   Listing Images
51041       Images   can  be  obtained  using  the  --list-images  option  for  the
51042       salt-cloud command:
51043
51044          # salt-cloud --list-images myxen
51045
51046       This command will return a list of templates with details.
51047
51048   Listing Locations
51049       Locations can be obtained using the  --list-locations  option  for  the
51050       salt-cloud command:
51051
51052          # salt-cloud --list-locations myxen
51053
51054       Returns a list of resource pools.
51055
51056   Miscellaneous Options
51057   Miscellaneous Salt Cloud Options
51058       This  page  describes  various  miscellaneous options available in Salt
51059       Cloud
51060
51061   Deploy Script Arguments
51062       Custom deploy scripts are unlikely  to  need  custom  arguments  to  be
51063       passed  to  them, but salt-bootstrap has been extended quite a bit, and
51064       this may be necessary. script_args can be specified in either the  pro‐
51065       file or the map file, to pass arguments to the deploy script:
51066
51067          ec2-amazon:
51068            provider: my-ec2-config
51069            image: ami-1624987f
51070            size: t1.micro
51071            ssh_username: ec2-user
51072            script: bootstrap-salt
51073            script_args: -c /tmp/
51074
51075       This has also been tested to work with pipes, if needed:
51076
51077          script_args: '| head'
51078
51079   Selecting the File Transport
51080       By default, Salt Cloud uses SFTP to transfer files to Linux hosts. How‐
51081       ever, if SFTP is  not  available,  or  specific  SCP  functionality  is
51082       needed, Salt Cloud can be configured to use SCP instead.
51083
51084          file_transport: sftp
51085          file_transport: scp
51086
51087   Sync After Install
51088       Salt  allows  users  to create custom modules, grains, and states which
51089       can be synchronised to minions to extend Salt with further  functional‐
51090       ity.
51091
51092       This  option will inform Salt Cloud to synchronise your custom modules,
51093       grains, states or all these to the minion just after it has  been  cre‐
51094       ated.  For  this to happen, the following line needs to be added to the
51095       main cloud configuration file:
51096
51097          sync_after_install: all
51098
51099       The available options for this setting are:
51100
51101          modules
51102          grains
51103          states
51104          all
51105
51106   Setting Up New Salt Masters
51107       It has become increasingly common for users to set up  multi-hierarchal
51108       infrastructures using Salt Cloud. This sometimes involves setting up an
51109       instance to be a master in addition to a minion. With that in mind, you
51110       can now lay down master configuration on a machine by specifying master
51111       options in the profile or map file.
51112
51113          make_master: True
51114
51115       This will cause Salt Cloud to generate master keys  for  the  instance,
51116       and tell salt-bootstrap to install the salt-master package, in addition
51117       to the salt-minion package.
51118
51119       The default master configuration is usually appropriate for most users,
51120       and  will  not be changed unless specific master configuration has been
51121       added to the profile or map:
51122
51123          master:
51124            user: root
51125            interface: 0.0.0.0
51126
51127   Setting Up a Salt Syndic with Salt Cloud
51128       In addition to setting up new Salt Masters, syndics can also be  provi‐
51129       sioned  using  Salt  Cloud.  In  order to set up a Salt Syndic via Salt
51130       Cloud, a Salt Master needs to be installed on the  new  machine  and  a
51131       master configuration file needs to be set up using the make_master set‐
51132       ting. This setting can be defined either in a profile config file or in
51133       a map file:
51134
51135          make_master: True
51136
51137       To  install the Salt Syndic, the only other specification that needs to
51138       be configured is the syndic_master key to specify the location  of  the
51139       master that the syndic will be reporting to. This modification needs to
51140       be placed in the master setting, which can be configured either in  the
51141       profile, provider, or /etc/salt/cloud config file:
51142
51143          master:
51144            syndic_master: 123.456.789  # may be either an IP address or a hostname
51145
51146       Many other Salt Syndic configuration settings and specifications can be
51147       passed through to the new syndic machine via the  master  configuration
51148       setting.  See the syndic documentation for more information.
51149
51150   SSH Port
51151       By default ssh port is set to port 22. If you want to use a custom port
51152       in provider, profile, or map blocks use ssh_port option.
51153
51154       New in version 2015.5.0.
51155
51156
51157          ssh_port: 2222
51158
51159   Delete SSH Keys
51160       When Salt Cloud deploys an instance, the SSH pub key for  the  instance
51161       is  added  to the known_hosts file for the user that ran the salt-cloud
51162       command. When an instance is deployed, a cloud host generally  recycles
51163       the IP address for the instance.  When Salt Cloud attempts to deploy an
51164       instance using a recycled IP address that has previously been  accessed
51165       from the same machine, the old key in the known_hosts file will cause a
51166       conflict.
51167
51168       In order to mitigate this issue, Salt Cloud can be configured to remove
51169       old  keys  from the known_hosts file when destroying the node. In order
51170       to do this, the following line needs to be added to the main cloud con‐
51171       figuration file:
51172
51173          delete_sshkeys: True
51174
51175   Keeping /tmp/ Files
51176       When  Salt  Cloud  deploys  an  instance, it uploads temporary files to
51177       /tmp/ for salt-bootstrap to put in place. After  the  script  has  run,
51178       they are deleted. To keep these files around (mostly for debugging pur‐
51179       poses), the --keep-tmp option can be added:
51180
51181          salt-cloud -p myprofile mymachine --keep-tmp
51182
51183       For those wondering why /tmp/ was used instead of /root/, this  had  to
51184       be  done for images which require the use of sudo, and therefore do not
51185       allow remote root logins, even for file transfers (which  makes  /root/
51186       unavailable).
51187
51188   Hide Output From Minion Install
51189       By  default  Salt  Cloud  will stream the output from the minion deploy
51190       script directly to STDOUT. Although this can been very useful, in  cer‐
51191       tain cases you may wish to switch this off. The following config option
51192       is there to enable or disable this output:
51193
51194          display_ssh_output: False
51195
51196   Connection Timeout
51197       There are several stages when deploying Salt where Salt Cloud needs  to
51198       wait  for something to happen. The VM getting it's IP address, the VM's
51199       SSH port is available, etc.
51200
51201       If you find that the Salt  Cloud  defaults  are  not  enough  and  your
51202       deployment  fails because Salt Cloud did not wait log enough, there are
51203       some settings you can tweak.
51204
51205          Note
51206
51207                 All settings should  be  provided  in  lowercase  All  values
51208                 should be provided in seconds
51209
51210       You can tweak these settings globally, per cloud provider, or event per
51211       profile definition.
51212
51213   wait_for_ip_timeout
51214       The amount of time Salt Cloud should wait for a VM to start and get  an
51215       IP  back  from  the  cloud  host.   Default: varies by cloud provider (
51216       between 5 and 25 minutes)
51217
51218   wait_for_ip_interval
51219       The amount of time Salt Cloud should sleep while querying for the  VM's
51220       IP.  Default: varies by cloud provider ( between .5 and 10 seconds)
51221
51222   ssh_connect_timeout
51223       The  amount of time Salt Cloud should wait for a successful SSH connec‐
51224       tion to the VM.  Default: varies by cloud provider  (between 5  and  15
51225       minutes)
51226
51227   wait_for_passwd_timeout
51228       The amount of time until an ssh connection can be established via pass‐
51229       word or ssh key.  Default: varies by cloud provider (mostly 15 seconds)
51230
51231   wait_for_passwd_maxtries
51232       The number of attempts to connect to the VM until we abandon.  Default:
51233       15 attempts
51234
51235   wait_for_fun_timeout
51236       Some  cloud  drivers check for an available IP or a successful SSH con‐
51237       nection using a function, namely, SoftLayer, and SoftLayer-HW. So,  the
51238       amount  of  time Salt Cloud should retry such functions before failing.
51239       Default: 15 minutes.
51240
51241   wait_for_spot_timeout
51242       The amount of time Salt Cloud should wait before an EC2  Spot  instance
51243       is  available. This setting is only available for the EC2 cloud driver.
51244       Default: 10  minutes
51245
51246   Salt Cloud Cache
51247       Salt Cloud can maintain a cache of node data, for supported  providers.
51248       The following options manage this functionality.
51249
51250   update_cachedir
51251       On  supported  cloud  providers,  whether or not to maintain a cache of
51252       nodes returned from a --full-query. The data will be stored in  msgpack
51253       format                                                            under
51254       <SALT_CACHEDIR>/cloud/active/<DRIVER>/<PROVIDER>/<NODE_NAME>.p.    This
51255       setting can be True or False.
51256
51257   diff_cache_events
51258       When  the  cloud  cachedir is being managed, if differences are encoun‐
51259       tered between the data that is returned live from the  cloud  host  and
51260       the  data  in  the  cache, fire events which describe the changes. This
51261       setting can be True or False.
51262
51263       Some of these events will contain data which describe a  node.  Because
51264       some   of   the   fields  returned  may  contain  sensitive  data,  the
51265       cache_event_strip_fields configuration option  exists  to  strip  those
51266       fields from the event return.
51267
51268          cache_event_strip_fields:
51269            - password
51270            - priv_key
51271
51272       The following are events that can be fired based on this data.
51273
51274   salt/cloud/minionid/cache_node_new
51275       A  new  node  was  found  on the cloud host which was not listed in the
51276       cloud cachedir. A dict describing the new node will be contained in the
51277       event.
51278
51279   salt/cloud/minionid/cache_node_missing
51280       A  node  that  was previously listed in the cloud cachedir is no longer
51281       available on the cloud host.
51282
51283   salt/cloud/minionid/cache_node_diff
51284       One or more pieces of data in the cloud cachedir  has  changed  on  the
51285       cloud  host.  A  dict  containing both the old and the new data will be
51286       contained in the event.
51287
51288   SSH Known Hosts
51289       Normally when bootstrapping a VM, salt-cloud will ignore the  SSH  host
51290       key.  This  is  because  it  does  not know what the host key is before
51291       starting (because it doesn't exist yet). If strict host key checking is
51292       turned  on  without the key in the known_hosts file, then the host will
51293       never be available, and cannot be bootstrapped.
51294
51295       If a provider is able to determine the host key before trying to  boot‐
51296       strap  it,  that  provider's driver can add it to the known_hosts file,
51297       and then turn on strict host key checking. This can be set  up  in  the
51298       main  cloud  configuration  file  (normally  /etc/salt/cloud) or in the
51299       provider-specific configuration file:
51300
51301          known_hosts_file: /path/to/.ssh/known_hosts
51302
51303       If this is not set, it will default to /dev/null, and strict  host  key
51304       checking will be turned off.
51305
51306       It  is  highly recommended that this option is not set, unless the user
51307       has verified that the provider supports this  functionality,  and  that
51308       the image being used is capable of providing the necessary information.
51309       At this time, only the EC2 driver supports this functionality.
51310
51311   SSH Agent
51312       New in version 2015.5.0.
51313
51314
51315       If the ssh key is not stored on the server salt-cloud is being run  on,
51316       set  ssh_agent,  and  salt-cloud  will  use  the forwarded ssh-agent to
51317       authenticate.
51318
51319          ssh_agent: True
51320
51321   File Map Upload
51322       New in version 2014.7.0.
51323
51324
51325       The file_map option allows an arbitrary group of files to  be  uploaded
51326       to the target system before running the deploy script. This functional‐
51327       ity requires a provider  uses  salt.utils.cloud.bootstrap(),  which  is
51328       currently limited to the ec2, gce, openstack and nova drivers.
51329
51330       The  file_map  can be configured globally in /etc/salt/cloud, or in any
51331       cloud provider or profile file. For example, to upload an extra package
51332       or  a  custom  deploy script, a cloud profile using file_map might look
51333       like:
51334
51335          ubuntu14:
51336            provider: ec2-config
51337            image: ami-98aa1cf0
51338            size: t1.micro
51339            ssh_username: root
51340            securitygroup: default
51341            file_map:
51342              /local/path/to/custom/script: /remote/path/to/use/custom/script
51343              /local/path/to/package: /remote/path/to/store/package
51344
51345   Running Pre-Flight Commands
51346       New in version 2018.3.0.
51347
51348
51349       To execute specified preflight shell commands on a VM before the deploy
51350       script  is run, use the preflight_cmds option. These must be defined as
51351       a list in a cloud configuration file. For example:
51352
51353          my-cloud-profile:
51354            provider: linode-config
51355            image: Ubuntu 16.04 LTS
51356            size: Linode 2048
51357            preflight_cmds:
51358              - whoami
51359              - echo 'hello world!'
51360
51361       These commands will run in sequence before the bootstrap script is exe‐
51362       cuted.
51363
51364   Force Minion Config
51365       New in version 2018.3.0.
51366
51367
51368       The  force_minion_config option requests the bootstrap process to over‐
51369       write an existing minion  configuration  file  and  public/private  key
51370       files.  Default: False
51371
51372       This  might  be  important  for  drivers  (such  as  saltify) which are
51373       expected to take over a connection from a former salt master.
51374
51375          my_saltify_provider:
51376            driver: saltify
51377            force_minion_config: true
51378
51379   Troubleshooting Steps
51380   Troubleshooting Salt Cloud
51381       This page describes various steps for troubleshooting problems that may
51382       arise while using Salt Cloud.
51383
51384   Virtual Machines Are Created, But Do Not Respond
51385       Are  TCP  ports 4505 and 4506 open on the master? This is easy to over‐
51386       look on new masters. Information on how to open firewall ports on vari‐
51387       ous platforms can be found here.
51388
51389   Generic Troubleshooting Steps
51390       This section describes a set of instructions that are useful to a large
51391       number of situations, and are likely to solve most issues that arise.
51392
51393   Debug Mode
51394       Frequently, running Salt Cloud in debug mode  will  reveal  information
51395       about a deployment which would otherwise not be obvious:
51396
51397          salt-cloud -p myprofile myinstance -l debug
51398
51399       Keep  in  mind that a number of messages will appear that look at first
51400       like errors, but are in fact intended to give developers factual infor‐
51401       mation to assist in debugging. A number of messages that appear will be
51402       for cloud providers that you do not have configured;  in  these  cases,
51403       the  message  usually  is intended to confirm that they are not config‐
51404       ured.
51405
51406   Salt Bootstrap
51407       By default, Salt Cloud uses the  Salt  Bootstrap  script  to  provision
51408       instances:
51409
51410       This  script  is  packaged  with Salt Cloud, but may be updated without
51411       updating the Salt package:
51412
51413          salt-cloud -u
51414
51415   The Bootstrap Log
51416       If the default deploy script was used, there should be a  file  in  the
51417       /tmp/  directory called bootstrap-salt.log. This file contains the full
51418       output  from  the  deployment,  including  any  errors  that  may  have
51419       occurred.
51420
51421   Keeping Temp Files
51422       Salt  Cloud  uploads  minion-specific  files to instances once they are
51423       available via SSH, and then executes a deploy script to put  them  into
51424       the correct place and install Salt. The --keep-tmp option will instruct
51425       Salt Cloud not to remove those files when finished with them,  so  that
51426       the user may inspect them for problems:
51427
51428          salt-cloud -p myprofile myinstance --keep-tmp
51429
51430       By  default,  Salt Cloud will create a directory on the target instance
51431       called /tmp/.saltcloud/. This directory should be  owned  by  the  user
51432       that  is  to  execute the deploy script, and should have permissions of
51433       0700.
51434
51435       Most cloud hosts are configured to use root as the default initial user
51436       for  deployment, and as such, this directory and all files in it should
51437       be owned by the root user.
51438
51439       The /tmp/.saltcloud/ directory should the following files:
51440
51441       · A deploy.sh script. This script should have permissions of 0755.
51442
51443       · A .pem and .pub key named after the minion. The .pem file should have
51444         permissions  of  0600.  Ensure that the .pem and .pub files have been
51445         properly copied to the /etc/salt/pki/minion/ directory.
51446
51447       · A file called minion. This  file  should  have  been  copied  to  the
51448         /etc/salt/ directory.
51449
51450       · Optionally,  a file called grains. This file, if present, should have
51451         been copied to the /etc/salt/ directory.
51452
51453   Unprivileged Primary Users
51454       Some cloud hosts, most notably EC2, are  configured  with  a  different
51455       primary  user.   Some common examples are ec2-user, ubuntu, fedora, and
51456       bitnami.  In these cases, the /tmp/.saltcloud/ directory and all  files
51457       in it should be owned by this user.
51458
51459       Some  cloud  hosts,  such  as  EC2, are configured to not require these
51460       users to provide a password when using the sudo command. Because it  is
51461       more  secure  to  require sudo users to provide a password, other hosts
51462       are configured that way.
51463
51464       If this instance is required to provide a password, it needs to be con‐
51465       figured  in  Salt  Cloud.  A  password  for sudo to use may be added to
51466       either the provider configuration or the profile configuration:
51467
51468          sudo_password: mypassword
51469
51470   /tmp/ is Mounted as noexec
51471       It is more secure to mount the /tmp/ directory with  a  noexec  option.
51472       This  is uncommon on most cloud hosts, but very common in private envi‐
51473       ronments. To see if the /tmp/ directory is mounted this  way,  run  the
51474       following command:
51475
51476          mount | grep tmp
51477
51478       The if the output of this command includes a line that looks like this,
51479       then the /tmp/ directory is mounted as noexec:
51480
51481          tmpfs on /tmp type tmpfs (rw,noexec)
51482
51483       If this is the case, then the deploy_command will need to be changed in
51484       order to run the deploy script through the sh command, rather than try‐
51485       ing to execute it  directly.  This  may  be  specified  in  either  the
51486       provider or the profile config:
51487
51488          deploy_command: sh /tmp/.saltcloud/deploy.sh
51489
51490       Please  note  that  by  default,  Salt  Cloud will place its files in a
51491       directory called /tmp/.saltcloud/. This may be also be changed  in  the
51492       provider or profile configuration:
51493
51494          tmp_dir: /tmp/.saltcloud/
51495
51496       If  this  directory  is  changed,  then  the  deploy_command need to be
51497       changed in order to reflect the tmp_dir configuration.
51498
51499   Executing the Deploy Script Manually
51500       If all of the files needed for deployment were successfully uploaded to
51501       the  correct  locations, and contain the correct permissions and owner‐
51502       ships, the deploy script may be executed manually in order to check for
51503       other issues:
51504
51505          cd /tmp/.saltcloud/
51506          ./deploy.sh
51507
51508   Extending Salt Cloud
51509   Writing Cloud Driver Modules
51510       Salt  Cloud  runs  on a module system similar to the main Salt project.
51511       The modules inside saltcloud exist in the  salt/cloud/clouds  directory
51512       of the salt source.
51513
51514       There  are  two  basic  types of cloud modules. If a cloud host is sup‐
51515       ported by libcloud, then using it is the fastest  route  to  getting  a
51516       module written. The Apache Libcloud project is located at:
51517
51518       http://libcloud.apache.org/
51519
51520       Not  every cloud host is supported by libcloud. Additionally, not every
51521       feature in a supported cloud host is necessarily supported by libcloud.
51522       In  either  of these cases, a module can be created which does not rely
51523       on libcloud.
51524
51525   All Driver Modules
51526       The following functions are required by all driver modules, whether  or
51527       not they are based on libcloud.
51528
51529   The __virtual__() Function
51530       This  function  determines  whether  or  not  to make this cloud module
51531       available upon execution. Most often, it uses get_configured_provider()
51532       to  determine  if  the  necessary configuration has been set up. It may
51533       also check for necessary imports, to decide whether to load the module.
51534       In most cases, it will return a True or False value. If the name of the
51535       driver used does not match the  filename,  then  that  name  should  be
51536       returned  instead  of True. An example of this may be seen in the Azure
51537       module:
51538
51539       https://github.com/saltstack/salt/tree/develop/salt/cloud/clouds/msazure.py
51540
51541   The get_configured_provider() Function
51542       This function uses config.is_provider_configured() to determine whether
51543       all required information for this driver has been configured. The  last
51544       value in the list of required settings should be followed by a comma.
51545
51546   Libcloud Based Modules
51547       Writing  a  cloud  module  based  on libcloud has two major advantages.
51548       First of all, much of the work has already been done  by  the  libcloud
51549       project.  Second,  most of the functions necessary to Salt have already
51550       been added to the Salt Cloud project.
51551
51552   The create() Function
51553       The most important function that does need to be  manually  written  is
51554       the  create()  function.  This  is  what  is  used to request a virtual
51555       machine to be created by the cloud host, wait for it to  become  avail‐
51556       able, and then (optionally) log in and install Salt on it.
51557
51558       A  good  example  to  follow for writing a cloud driver module based on
51559       libcloud is the module provided for Linode:
51560
51561       https://github.com/saltstack/salt/tree/develop/salt/cloud/clouds/linode.py
51562
51563       The basic flow of a create() function is as follows:
51564
51565       · Send a request to the cloud host to create a virtual machine.
51566
51567       · Wait for the virtual machine to become available.
51568
51569       · Generate kwargs to be used to deploy Salt.
51570
51571       · Log into the virtual machine and deploy Salt.
51572
51573       · Return  a  data  structure  that  describes the newly-created virtual
51574         machine.
51575
51576       At various points throughout this function, events may be fired on  the
51577       Salt  event  bus.  Four of these events, which are described below, are
51578       required. Other events may be added by the user, where appropriate.
51579
51580       When the create() function is called, it is  passed  a  data  structure
51581       called  vm_.  This  dict contains a composite of information describing
51582       the virtual machine to be created. A dict called __opts__ is also  pro‐
51583       vided  by  Salt,  which contains the options used to run Salt Cloud, as
51584       well as a set of configuration and environment variables.
51585
51586       The first thing the create() function must do is fire an event  stating
51587       that   it  has  started  the  create  process.  This  event  is  tagged
51588       salt/cloud/<vm name>/creating. The payload contains the  names  of  the
51589       VM, profile, and provider.
51590
51591       A  set  of  kwargs  is then usually created, to describe the parameters
51592       required by the cloud host to request the virtual machine.
51593
51594       An event is then fired to state that a virtual machine is about  to  be
51595       requested.   It  is tagged as salt/cloud/<vm name>/requesting. The pay‐
51596       load contains most or all of the parameters that will be  sent  to  the
51597       cloud  host.  Any private information (such as passwords) should not be
51598       sent in the event.
51599
51600       After a request is made, a set of  deploy  kwargs  will  be  generated.
51601       These  will  be  used  to  install  Salt on the target machine. Windows
51602       options are supported at this point, and should be generated,  even  if
51603       the  cloud host does not currently support Windows. This will save time
51604       in the future if the host does eventually decide to support Windows.
51605
51606       An event is then fired to state that the deploy  process  is  about  to
51607       begin. This event is tagged salt/cloud/<vm name>/deploying. The payload
51608       for the event will contain a set of deploy kwargs, useful for debugging
51609       purposed.  Any  private  data,  including passwords and keys (including
51610       public keys) should be stripped from the deploy kwargs before the event
51611       is fired.
51612
51613       If    any    Windows    options    have    been    passed    in,    the
51614       salt.utils.cloud.deploy_windows() function will be  called.  Otherwise,
51615       it  will be assumed that the target is a Linux or Unix machine, and the
51616       salt.utils.cloud.deploy_script() will be called.
51617
51618       Both of these functions will wait for  the  target  machine  to  become
51619       available,  then  the necessary port to log in, then a successful login
51620       that can be used to install Salt. Minion configuration  and  keys  will
51621       then  be  uploaded to a temporary directory on the target by the appro‐
51622       priate function. On a Windows target, the Windows Minion Installer will
51623       be  run  in silent mode. On a Linux/Unix target, a deploy script (boot‐
51624       strap-salt.sh, by default) will be  run,  which  will  auto-detect  the
51625       operating  system,  and  install Salt using its native package manager.
51626       These do not need to be handled by the developer in the cloud module.
51627
51628       The salt.utils.cloud.validate_windows_cred() function has been extended
51629       to take the number of retries and retry_delay parameters in case a spe‐
51630       cific cloud host has a delay between providing the Windows  credentials
51631       and  the  credentials being available for use.  In their create() func‐
51632       tion, or as a sub-function called during the creation process, develop‐
51633       ers      should      use      the      win_deploy_auth_retries      and
51634       win_deploy_auth_retry_delay parameters from the provider  configuration
51635       to  allow the end-user the ability to customize the number of tries and
51636       delay between tries for their particular host.
51637
51638       After the appropriate deploy function completes, a final event is fired
51639       which  describes  the  virtual machine that has just been created. This
51640       event is tagged salt/cloud/<vm name>/created. The payload contains  the
51641       names of the VM, profile, and provider.
51642
51643       Finally,  a  dict  (queried  from the provider) which describes the new
51644       virtual machine is returned to the user. Because this data is not fired
51645       on  the  event  bus  it can, and should, return any passwords that were
51646       returned by the cloud host. In some  cases  (for  example,  Rackspace),
51647       this  is  the  only  time that the password can be queried by the user;
51648       post-creation queries may not contain password  information  (depending
51649       upon the host).
51650
51651   The libcloudfuncs Functions
51652       A  number of other functions are required for all cloud hosts. However,
51653       with libcloud-based modules, these are all provided  for  free  by  the
51654       libcloudfuncs library. The following two lines set up the imports:
51655
51656          from salt.cloud.libcloudfuncs import *   # pylint: disable=W0614,W0401
51657          import salt.utils.functools
51658
51659       And  then  a  series  of declarations will make the necessary functions
51660       available within the cloud module.
51661
51662          get_size = salt.utils.functools.namespaced_function(get_size, globals())
51663          get_image = salt.utils.functools.namespaced_function(get_image, globals())
51664          avail_locations = salt.utils.functools.namespaced_function(avail_locations, globals())
51665          avail_images = salt.utils.functools.namespaced_function(avail_images, globals())
51666          avail_sizes = salt.utils.functools.namespaced_function(avail_sizes, globals())
51667          script = salt.utils.functools.namespaced_function(script, globals())
51668          destroy = salt.utils.functools.namespaced_function(destroy, globals())
51669          list_nodes = salt.utils.functools.namespaced_function(list_nodes, globals())
51670          list_nodes_full = salt.utils.functools.namespaced_function(list_nodes_full, globals())
51671          list_nodes_select = salt.utils.functools.namespaced_function(list_nodes_select, globals())
51672          show_instance = salt.utils.functools.namespaced_function(show_instance, globals())
51673
51674       If necessary, these functions may be replaced by removing the appropri‐
51675       ate declaration line, and then adding the function as normal.
51676
51677       These  functions  are required for all cloud modules, and are described
51678       in detail in the next section.
51679
51680   Non-Libcloud Based Modules
51681       In some cases, using libcloud is not an option.  This  may  be  because
51682       libcloud has not yet included the necessary driver itself, or it may be
51683       that the driver that is included with libcloud does not contain all  of
51684       the  necessary  features  required  by  the developer. When this is the
51685       case, some or all of the functions in libcloudfuncs may be replaced. If
51686       they  are  all replaced, the libcloud imports should be absent from the
51687       Salt Cloud module.
51688
51689       A good example of a non-libcloud driver is the DigitalOcean driver:
51690
51691       https://github.com/saltstack/salt/tree/develop/salt/cloud/clouds/digitalocean.py
51692
51693   The create() Function
51694       The  create()  function  must  be  created  as  described  in  the lib‐
51695       cloud-based module documentation.
51696
51697   The get_size() Function
51698       This function is only necessary for libcloud-based  modules,  and  does
51699       not need to exist otherwise.
51700
51701   The get_image() Function
51702       This  function  is  only necessary for libcloud-based modules, and does
51703       not need to exist otherwise.
51704
51705   The avail_locations() Function
51706       This function returns a list of locations available, if the cloud  host
51707       uses  multiple data centers. It is not necessary if the cloud host uses
51708       only one data center. It is normally called using the  --list-locations
51709       option.
51710
51711          salt-cloud --list-locations my-cloud-provider
51712
51713   The avail_images() Function
51714       This  function  returns  a  list  of  images  available  for this cloud
51715       provider. There are not currently any known cloud providers that do not
51716       provide  this  functionality, though they may refer to images by a dif‐
51717       ferent name (for example, "templates"). It is normally called using the
51718       --list-images option.
51719
51720          salt-cloud --list-images my-cloud-provider
51721
51722   The avail_sizes() Function
51723       This  function  returns  a  list  of  sizes  available  for  this cloud
51724       provider.  Generally, this refers to a combination of RAM, CPU,  and/or
51725       disk  space.  This  functionality  may  not  be  present  on some cloud
51726       providers. For example, the Parallels module breaks down RAM, CPU,  and
51727       disk  space  into  separate  options, whereas in other providers, these
51728       options are baked into the image.  It  is  normally  called  using  the
51729       --list-sizes option.
51730
51731          salt-cloud --list-sizes my-cloud-provider
51732
51733   The script() Function
51734       This  function  builds  the  deploy  script  to  be  used on the remote
51735       machine.  It is likely to be moved into the salt.utils.cloud library in
51736       the near future, as it is very generic and can usually be copied whole‐
51737       sale from another module. An excellent example is in the Azure driver.
51738
51739   The destroy() Function
51740       This function irreversibly destroys a  virtual  machine  on  the  cloud
51741       provider.   Before  doing so, it should fire an event on the Salt event
51742       bus. The tag for this event is  salt/cloud/<vm  name>/destroying.  Once
51743       the virtual machine has been destroyed, another event is fired. The tag
51744       for that event is salt/cloud/<vm name>/destroyed.
51745
51746       This function is normally called with the -d options:
51747
51748          salt-cloud -d myinstance
51749
51750   The list_nodes() Function
51751       This function returns a list of nodes available on this cloud provider,
51752       using the following fields:
51753
51754       · id (str)
51755
51756       · image (str)
51757
51758       · size (str)
51759
51760       · state (str)
51761
51762       · private_ips (list)
51763
51764       · public_ips (list)
51765
51766       No  other  fields should be returned in this function, and all of these
51767       fields should be returned, even if  empty.  The  private_ips  and  pub‐
51768       lic_ips  fields should always be of a list type, even if empty, and the
51769       other fields should always be of a str type. This function is  normally
51770       called with the -Q option:
51771
51772          salt-cloud -Q
51773
51774   The list_nodes_full() Function
51775       All  information  available  about all nodes should be returned in this
51776       function.  The fields in  the  list_nodes()  function  should  also  be
51777       returned,  even  if  they  would  not normally be provided by the cloud
51778       provider. This is because some functions both within Salt and 3rd party
51779       will  break  if an expected field is not present. This function is nor‐
51780       mally called with the -F option:
51781
51782          salt-cloud -F
51783
51784   The list_nodes_select() Function
51785       This function returns only the fields specified in the  query.selection
51786       option  in /etc/salt/cloud. Because this function is so generic, all of
51787       the heavy lifting has been moved into the salt.utils.cloud library.
51788
51789       A function to call list_nodes_select() still needs to  be  present.  In
51790       general, the following code can be used as-is:
51791
51792          def list_nodes_select(call=None):
51793              '''
51794              Return a list of the VMs that are on the provider, with select fields
51795              '''
51796              return salt.utils.cloud.list_nodes_select(
51797                  list_nodes_full('function'), __opts__['query.selection'], call,
51798              )
51799
51800       However,  depending  on the cloud provider, additional variables may be
51801       required.  For instance, some modules use a conn object, or may need to
51802       pass  other  options  into  list_nodes_full(). In this case, be sure to
51803       update the function appropriately:
51804
51805          def list_nodes_select(conn=None, call=None):
51806              '''
51807              Return a list of the VMs that are on the provider, with select fields
51808              '''
51809              if not conn:
51810                  conn = get_conn()   # pylint: disable=E0602
51811
51812              return salt.utils.cloud.list_nodes_select(
51813                  list_nodes_full(conn, 'function'),
51814                  __opts__['query.selection'],
51815                  call,
51816              )
51817
51818       This function is normally called with the -S option:
51819
51820          salt-cloud -S
51821
51822   The show_instance() Function
51823       This function is used to display all of the information about a  single
51824       node  that  is  available  from the cloud provider. The simplest way to
51825       provide this is usually to call list_nodes_full(), and return just  the
51826       data for the requested node. It is normally called as an action:
51827
51828          salt-cloud -a show_instance myinstance
51829
51830   Actions and Functions
51831       Extra  functionality may be added to a cloud provider in the form of an
51832       --action or  a  --function.  Actions  are  performed  against  a  cloud
51833       instance/virtual  machine,  and functions are performed against a cloud
51834       provider.
51835
51836   Actions
51837       Actions are calls that are performed against  a  specific  instance  or
51838       virtual  machine.  The  show_instance action should be available in all
51839       cloud modules.  Actions are normally called with the -a option:
51840
51841          salt-cloud -a show_instance myinstance
51842
51843       Actions must accept a name as a first argument, may optionally  support
51844       any  number  of  kwargs  as appropriate, and must accept an argument of
51845       call, with a default of None.
51846
51847       Before performing any other work, an action should normally verify that
51848       it  has been called correctly. It may then perform the desired feature,
51849       and return useful information to the user. A basic action looks like:
51850
51851          def show_instance(name, call=None):
51852          '''
51853          Show the details from EC2 concerning an AMI
51854          '''
51855          if call != 'action':
51856              raise SaltCloudSystemExit(
51857                  'The show_instance action must be called with -a or --action.'
51858              )
51859
51860          return _get_node(name)
51861
51862       Please note that generic kwargs, if used, are passed through to actions
51863       as kwargs and not **kwargs. An example of this is seen in the Functions
51864       section.
51865
51866   Functions
51867       Functions are called  that  are  performed  against  a  specific  cloud
51868       provider.  An  optional  function  that  is often useful is show_image,
51869       which describes an image in detail. Functions are normally called  with
51870       the -f option:
51871
51872          salt-cloud -f show_image my-cloud-provider image='Ubuntu 13.10 64-bit'
51873
51874       A  function  may  accept  any number of kwargs as appropriate, and must
51875       accept an argument of call with a default of None.
51876
51877       Before performing any other work, a  function  should  normally  verify
51878       that it has been called correctly. It may then perform the desired fea‐
51879       ture, and return useful information to the user. A basic function looks
51880       like:
51881
51882          def show_image(kwargs, call=None):
51883              '''
51884              Show the details from EC2 concerning an AMI
51885              '''
51886              if call != 'function':
51887                  raise SaltCloudSystemExit(
51888                      'The show_image action must be called with -f or --function.'
51889                  )
51890
51891              params = {'ImageId.1': kwargs['image'],
51892                        'Action': 'DescribeImages'}
51893              result = query(params)
51894              log.info(result)
51895
51896              return result
51897
51898       Take note that generic kwargs are passed through to functions as kwargs
51899       and not **kwargs.
51900
51901   Cloud deployment scripts
51902       Salt Cloud works  primarily  by  executing  a  script  on  the  virtual
51903       machines  as soon as they become available. The script that is executed
51904       is referenced in the cloud profile as the script.  In  older  versions,
51905       this was the os argument. This was changed in 0.8.2.
51906
51907       A  number  of legacy scripts exist in the deploy directory in the salt‐
51908       cloud source tree.  The  preferred  method  is  currently  to  use  the
51909       salt-bootstrap  script.  A stable version is included with each release
51910       tarball starting with 0.8.4. The most updated version can be found at:
51911
51912       https://github.com/saltstack/salt-bootstrap
51913
51914       Note that, somewhat counter-intuitively, this script is  referenced  as
51915       bootstrap-salt in the configuration.
51916
51917       You  can  specify  a  deploy  script  in  the  cloud configuration file
51918       (/etc/salt/cloud by default):
51919
51920          script: bootstrap-salt
51921
51922       Or in a provider:
51923
51924          my-provider:
51925            # snip...
51926            script: bootstrap-salt
51927
51928       Or in a profile:
51929
51930          my-profile:
51931            provider: my-provider
51932            # snip...
51933            script: bootstrap-salt
51934
51935       If you do not specify a script argument  in  your  cloud  configuration
51936       file,  provider  configuration  or  profile  configuration,  the "boot‐
51937       strap-salt" script will be used by default.
51938
51939   Other Generic Deploy Scripts
51940       If you want to be assured of always using  the  latest  Salt  Bootstrap
51941       script,  there  are  a  few  generic  templates available in the deploy
51942       directory of your saltcloud source tree:
51943
51944          curl-bootstrap
51945          curl-bootstrap-git
51946          python-bootstrap
51947          wget-bootstrap
51948          wget-bootstrap-git
51949
51950       These are  example  scripts  which  were  designed  to  be  customized,
51951       adapted,  and refit to meet your needs. One important use of them is to
51952       pass options to the salt-bootstrap script, such as updating to specific
51953       git tags.
51954
51955   Custom Deploy Scripts
51956       If  the  Salt  Bootstrap script does not meet your needs, you may write
51957       your own.  The script should be written in shell and is  a  Jinja  tem‐
51958       plate.  Deploy  scripts  need  to execute a number of functions to do a
51959       complete salt setup. These functions include:
51960
51961       1. Install the salt minion. If this can be  done  via  system  packages
51962          this method is HIGHLY preferred.
51963
51964       2. Add  the salt minion keys before the minion is started for the first
51965          time.  The minion keys are available as strings that can  be  copied
51966          into place in the Jinja template under the dict named "vm".
51967
51968       3. Start the salt-minion daemon and enable it at startup time.
51969
51970       4. Set  up  the minion configuration file from the "minion" data avail‐
51971          able in the Jinja template.
51972
51973       A good, well commented example of this process is the Fedora deployment
51974       script:
51975
51976       https://github.com/saltstack/salt/blob/develop/salt/cloud/deploy/Fedora.sh
51977
51978       A number of legacy deploy scripts are included with  the  release  tar‐
51979       ball. None of them are as functional or complete as Salt Bootstrap, and
51980       are still included for academic purposes.
51981
51982       Custom deploy scripts are picked up  from  /etc/salt/cloud.deploy.d  by
51983       default,  but  you  can  change the location of deploy scripts with the
51984       cloud configuration deploy_scripts_search_path. Additionally,  if  your
51985       deploy script has the extension .sh, you can leave out the extension in
51986       your configuration.
51987
51988       For  example,  if   your   custom   deploy   script   is   located   in
51989       /etc/salt/cloud.deploy.d/my_deploy.sh,  you could specify it in a cloud
51990       profile like this:
51991
51992          my-profile:
51993            provider: my-provider
51994            # snip...
51995            script: my_deploy
51996
51997       You're also free to use the full path to the script if you like.  Using
51998       full    paths,    your    script    doesn't   have   to   live   inside
51999       /etc/salt/cloud.deploy.d   or   whatever   you've    configured    with
52000       deploy_scripts_search_path.
52001
52002   Post-Deploy Commands
52003       Once  a  minion has been deployed, it has the option to run a salt com‐
52004       mand.  Normally, this would be the state.apply, which would finish pro‐
52005       visioning  the  VM.  Another  common  option  (for  testing)  is to use
52006       test.ping. This is configured in the main cloud config file:
52007
52008          start_action: state.apply
52009
52010       This is currently considered to be experimental functionality, and  may
52011       not  work  well  with  all cloud hosts. If you experience problems with
52012       Salt Cloud hanging after  Salt  is  deployed,  consider  using  Startup
52013       States instead:
52014
52015       http://docs.saltstack.com/ref/states/startup.html
52016
52017   Skipping the Deploy Script
52018       For whatever reason, you may want to skip the deploy script altogether.
52019       This results in a VM being spun up much faster, with absolutely no con‐
52020       figuration.  This can be set from the command line:
52021
52022          salt-cloud --no-deploy -p micro_aws my_instance
52023
52024       Or it can be set from the main cloud config file:
52025
52026          deploy: False
52027
52028       Or it can be set from the provider's configuration:
52029
52030          RACKSPACE.user: example_user
52031          RACKSPACE.apikey: 123984bjjas87034
52032          RACKSPACE.deploy: False
52033
52034       Or even on the VM's profile settings:
52035
52036          ubuntu_aws:
52037            provider: my-ec2-config
52038            image: ami-7e2da54e
52039            size: t1.micro
52040            deploy: False
52041
52042       The default for deploy is True.
52043
52044       In the profile, you may also set the script option to None:
52045
52046          script: None
52047
52048       This  is  the  slowest  option,  since it still uploads the None deploy
52049       script and executes it.
52050
52051   Updating Salt Bootstrap
52052       Salt Bootstrap can be updated automatically with salt-cloud:
52053
52054          salt-cloud -u
52055          salt-cloud --update-bootstrap
52056
52057       Bear in mind that this updates to the latest stable version from:
52058
52059       https://bootstrap.saltstack.com/stable/bootstrap-salt.sh
52060
52061       To update Salt Bootstrap script to the develop version, run the follow‐
52062       ing command on the Salt minion host with salt-cloud installed:
52063
52064          salt-call config.gather_bootstrap_script 'https://bootstrap.saltstack.com/develop/bootstrap-salt.sh'
52065
52066       Or just download the file manually:
52067
52068          curl -L 'https://bootstrap.saltstack.com/develop' > /etc/salt/cloud.deploy.d/bootstrap-salt.sh
52069
52070   Keeping /tmp/ Files
52071       When  Salt  Cloud  deploys  an  instance, it uploads temporary files to
52072       /tmp/ for salt-bootstrap to put in place. After  the  script  has  run,
52073       they are deleted. To keep these files around (mostly for debugging pur‐
52074       poses), the --keep-tmp option can be added:
52075
52076          salt-cloud -p myprofile mymachine --keep-tmp
52077
52078       For those wondering why /tmp/ was used instead of /root/, this  had  to
52079       be  done for images which require the use of sudo, and therefore do not
52080       allow remote root logins, even for file transfers (which  makes  /root/
52081       unavailable).
52082
52083   Deploy Script Arguments
52084       Custom  deploy  scripts  are  unlikely  to  need custom arguments to be
52085       passed to them, but salt-bootstrap has been extended quite a  bit,  and
52086       this  may be necessary. script_args can be specified in either the pro‐
52087       file or the map file, to pass arguments to the deploy script:
52088
52089          aws-amazon:
52090            provider: my-ec2-config
52091            image: ami-1624987f
52092            size: t1.micro
52093            ssh_username: ec2-user
52094            script: bootstrap-salt
52095            script_args: -c /tmp/
52096
52097       This has also been tested to work with pipes, if needed:
52098
52099          script_args: '| head'
52100
52101   Using Salt Cloud from Salt
52102   Using the Salt Modules for Cloud
52103       In addition to the salt-cloud command, Salt Cloud can  be  called  from
52104       Salt,  in a variety of different ways. Most users will be interested in
52105       either the execution module or the state module, but it is also  possi‐
52106       ble to call Salt Cloud as a runner.
52107
52108       Because  the actual work will be performed on a remote minion, the nor‐
52109       mal Salt Cloud configuration must exist on any target minion that needs
52110       to  execute  a  Salt  Cloud  command.   Because Salt Cloud now supports
52111       breaking out configuration into individual files, the configuration  is
52112       easily  managed using Salt's own file.managed state function. For exam‐
52113       ple, the following directories allow this configuration to  be  managed
52114       easily:
52115
52116          /etc/salt/cloud.providers.d/
52117          /etc/salt/cloud.profiles.d/
52118
52119   Minion Keys
52120       Keep  in mind that when creating minions, Salt Cloud will create public
52121       and private minion keys, upload them to the minion, and place the  pub‐
52122       lic  key on the machine that created the minion. It will not attempt to
52123       place any public minion keys on the master, unless the minion which was
52124       used  to  create  the instance is also the Salt Master. This is because
52125       granting arbitrary minions access to modify keys on  the  master  is  a
52126       serious security risk, and must be avoided.
52127
52128   Execution Module
52129       The  cloud  module  is  available  to use from the command line. At the
52130       moment, almost every standard Salt Cloud feature is available  to  use.
52131       The following commands are available:
52132
52133   list_images
52134       This  command  is designed to show images that are available to be used
52135       to create an instance using Salt Cloud. In general they are used in the
52136       creation  of  profiles,  but  may  also  be  used to create an instance
52137       directly (see below).  Listing images requires a provider to be config‐
52138       ured, and specified:
52139
52140          salt myminion cloud.list_images my-cloud-provider
52141
52142   list_sizes
52143       This command is designed to show sizes that are available to be used to
52144       create an instance using Salt Cloud. In general they are  used  in  the
52145       creation  of  profiles,  but  may  also  be  used to create an instance
52146       directly (see below). This command  is  not  available  for  all  cloud
52147       providers; see the provider-specific documentation for details. Listing
52148       sizes requires a provider to be configured, and specified:
52149
52150          salt myminion cloud.list_sizes my-cloud-provider
52151
52152   list_locations
52153       This command is designed to show locations that  are  available  to  be
52154       used  to  create an instance using Salt Cloud. In general they are used
52155       in the creation of profiles, but may also be used to create an instance
52156       directly  (see  below).  This  command  is  not available for all cloud
52157       providers; see the provider-specific documentation for details. Listing
52158       locations requires a provider to be configured, and specified:
52159
52160          salt myminion cloud.list_locations my-cloud-provider
52161
52162   query
52163       This  command is used to query all configured cloud providers, and dis‐
52164       play all instances associated with those accounts. By default, it  will
52165       run a standard query, returning the following fields:
52166
52167       id     The name or ID of the instance, as used by the cloud provider.
52168
52169       image  The disk image that was used to create this instance.
52170
52171       private_ips
52172              Any public IP addresses currently assigned to this instance.
52173
52174       public_ips
52175              Any private IP addresses currently assigned to this instance.
52176
52177       size   The  size of the instance; can refer to RAM, CPU(s), disk space,
52178              etc., depending on the cloud provider.
52179
52180       state  The  running  state  of  the  instance;  for  example,  running,
52181              stopped,   pending,  etc.  This  state  is  dependent  upon  the
52182              provider.
52183
52184       This command may also be used to perform  a  full  query  or  a  select
52185       query, as described below. The following usages are available:
52186
52187          salt myminion cloud.query
52188          salt myminion cloud.query list_nodes
52189          salt myminion cloud.query list_nodes_full
52190
52191   full_query
52192       This  command behaves like the query command, but lists all information
52193       concerning each instance as provided by the cloud provider, in addition
52194       to the fields returned by the query command.
52195
52196          salt myminion cloud.full_query
52197
52198   select_query
52199       This  command  behaves like the query command, but only returned select
52200       fields as defined in the /etc/salt/cloud configuration file.  A  sample
52201       configuration for this section of the file might look like:
52202
52203          query.selection:
52204            - id
52205            - key_name
52206
52207       This  configuration  would  only return the id and key_name fields, for
52208       those cloud providers that support those  two  fields.  This  would  be
52209       called using the following command:
52210
52211          salt myminion cloud.select_query
52212
52213   profile
52214       This command is used to create an instance using a profile that is con‐
52215       figured on the target minion. Please note that the profile must be con‐
52216       figured before this command can be used with it.
52217
52218          salt myminion cloud.profile ec2-centos64-x64 my-new-instance
52219
52220       Please  note  that  the execution module does not run in parallel mode.
52221       Using multiple minions to create instances can effectively perform par‐
52222       allel instance creation.
52223
52224   create
52225       This  command  is similar to the profile command, in that it is used to
52226       create a new instance. However, it does not require  a  profile  to  be
52227       pre-configured.   Instead, all of the options that are normally config‐
52228       ured in a profile are passed directly  to  Salt  Cloud  to  create  the
52229       instance:
52230
52231          salt myminion cloud.create my-ec2-config my-new-instance \
52232              image=ami-1624987f size='t1.micro' ssh_username=ec2-user \
52233              securitygroup=default delvol_on_destroy=True
52234
52235       Please  note  that  the execution module does not run in parallel mode.
52236       Using multiple minions to create instances can effectively perform par‐
52237       allel instance creation.
52238
52239   destroy
52240       This  command is used to destroy an instance or instances. This command
52241       will search all configured providers and remove any  instance(s)  which
52242       matches  the  name(s)  passed  in here. The results of this command are
52243       non-reversable and should be used with caution.
52244
52245          salt myminion cloud.destroy myinstance
52246          salt myminion cloud.destroy myinstance1,myinstance2
52247
52248   action
52249       This command implements both the action and the function commands  used
52250       in  the standard salt-cloud command. If one of the standard action com‐
52251       mands is used, an instance name must be provided. If one of  the  stan‐
52252       dard function commands is used, a provider configuration must be named.
52253
52254          salt myminion cloud.action start instance=myinstance
52255          salt myminion cloud.action show_image provider=my-ec2-config \
52256              image=ami-1624987f
52257
52258       The  actions  available  are  largely dependent upon the module for the
52259       specific cloud provider. The following actions are  available  for  all
52260       cloud providers:
52261
52262       list_nodes
52263              This  is a direct call to the query function as described above,
52264              but is  only  performed  against  a  single  cloud  provider.  A
52265              provider configuration must be included.
52266
52267       list_nodes_select
52268              This  is  a  direct call to the full_query function as described
52269              above, but is only performed against a single cloud provider.  A
52270              provider configuration must be included.
52271
52272       list_nodes_select
52273              This  is a direct call to the select_query function as described
52274              above, but is only performed against a single cloud provider.  A
52275              provider configuration must be included.
52276
52277       show_instance
52278              This is a thin wrapper around list_nodes, which returns the full
52279              information about a single instance. An instance  name  must  be
52280              provided.
52281
52282   State Module
52283       A  subset  of the execution module is available through the cloud state
52284       module. Not all functions are currently included, because there is cur‐
52285       rently insufficient code for them to perform statefully. For example, a
52286       command to create an instance may be issued with a series  of  options,
52287       but  those  options  cannot currently be statefully managed. Additional
52288       states to manage these options will be released at a later time.
52289
52290   cloud.present
52291       This state will ensure that an instance is present inside a  particular
52292       cloud provider. Any option that is normally specified in the cloud.cre‐
52293       ate execution module and function may be declared here,  but  only  the
52294       actual presence of the instance will be managed statefully.
52295
52296          my-instance-name:
52297            cloud.present:
52298              - cloud_provider: my-ec2-config
52299              - image: ami-1624987f
52300              - size: 't1.micro'
52301              - ssh_username: ec2-user
52302              - securitygroup: default
52303              - delvol_on_destroy: True
52304
52305   cloud.profile
52306       This  state will ensure that an instance is present inside a particular
52307       cloud provider. This function calls the cloud.profile execution  module
52308       and  function,  but  as with cloud.present, only the actual presence of
52309       the instance will be managed statefully.
52310
52311          my-instance-name:
52312            cloud.profile:
52313              - profile: ec2-centos64-x64
52314
52315   cloud.absent
52316       This state will ensure that an instance (identified by name)  does  not
52317       exist  in  any  of the cloud providers configured on the target minion.
52318       Please note that this state is non-reversable  and  may  be  considered
52319       especially destructive when issued as a cloud state.
52320
52321          my-instance-name:
52322            cloud.absent
52323
52324   Runner Module
52325       The cloud runner module is executed on the master, and performs actions
52326       using the configuration and Salt modules on  the  master  itself.  This
52327       means that any public minion keys will also be properly accepted by the
52328       master.
52329
52330       Using the functions in the runner module is  no  different  than  using
52331       those in the execution module, outside of the behavior described in the
52332       above paragraph.  The following functions are available inside the run‐
52333       ner:
52334
52335       · list_images
52336
52337       · list_sizes
52338
52339       · list_locations
52340
52341       · query
52342
52343       · full_query
52344
52345       · select_query
52346
52347       · profile
52348
52349       · destroy
52350
52351       · action
52352
52353       Outside of the standard usage of salt-run itself, commands are executed
52354       as usual:
52355
52356          salt-run cloud.profile ec2-centos64-x86_64 my-instance-name
52357
52358   CloudClient
52359       The execution, state, and runner modules ultimately all use the  Cloud‐
52360       Client  library  that  ships  with Salt. To use the CloudClient library
52361       locally (either on the master or a minion), create a client object  and
52362       issue a command against it:
52363
52364          import salt.cloud
52365          import pprint
52366          client = salt.cloud.CloudClient('/etc/salt/cloud')
52367          nodes = client.query()
52368          pprint.pprint(nodes)
52369
52370   Reactor
52371       Examples  of  using  the  reactor  with Salt Cloud are available in the
52372       ec2-autoscale-reactor and salt-cloud-reactor formulas.
52373
52374   Feature Comparison
52375   Feature Matrix
52376       A number of features are available in most cloud hosts, but not all are
52377       available  everywhere.  This may be because the feature isn't supported
52378       by the cloud host itself, or it may only be that the  feature  has  not
52379       yet  been added to Salt Cloud. In a handful of cases, it is because the
52380       feature does not make sense for a particular cloud  provider  (Saltify,
52381       for instance).
52382
52383       This matrix shows which features are available in which cloud hosts, as
52384       far as Salt Cloud is concerned. This is not a comprehensive list of all
52385       features  available  in all cloud hosts, and should not be used to make
52386       business decisions concerning choosing a cloud  host.  In  most  cases,
52387       adding  support  for  a  feature  to  Salt Cloud requires only a little
52388       effort.
52389
52390   Legacy Drivers
52391       Both AWS and Rackspace are listed as "Legacy". This  is  because  those
52392       drivers  have  been  replaced by other drivers, which are generally the
52393       preferred method for working with those hosts.
52394
52395       The EC2 driver should be used instead of the AWS driver, when possible.
52396       The  OpenStack  driver  should be used instead of the Rackspace driver,
52397       unless the user is  dealing  with  instances  in  "the  old  cloud"  in
52398       Rackspace.
52399
52400   Note for Developers
52401       When  adding  new features to a particular cloud host, please make sure
52402       to add the feature to this table. Additionally, if you notice a feature
52403       that is not properly listed here, pull requests to fix them is appreci‐
52404       ated.
52405
52406   Standard Features
52407       These are features that are available for almost every cloud host.
52408
52409┌────────┬──────────┬────────┬───────┬─────┬────────┬────────┬──────┬───────┬──────┬───────────┬─────────┬─────────┬───────┬───────┬────────┐
52410│        │ AWS      │ Cloud‐ │ Digi‐ │ EC2 │ GoGrid │ JoyEnt │ Lin‐ │ Open‐ │ Par‐ │ Rackspace │ Saltify │ Vagrant │ Soft‐ │ Soft‐ │ Aliyun │
52411│        │ (Legacy) │ Stack  │ tal   │     │        │        │ ode  │ Stack │ al‐  │ (Legacy)  │         │         │ layer │ layer │        │
52412│        │          │        │ Ocean │     │        │        │      │       │ lels │           │         │         │       │ Hard‐ │        │
52413│        │          │        │       │     │        │        │      │       │      │           │         │         │       │ ware  │        │
52414├────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼─────────┼─────────┼───────┼───────┼────────┤
52415│Query   │ Yes      │ Yes    │ Yes   │ Yes │ Yes    │ Yes    │ Yes  │ Yes   │ Yes  │ Yes       │ [1]     │ [1]     │ Yes   │ Yes   │ Yes    │
52416├────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼─────────┼─────────┼───────┼───────┼────────┤
52417│Full    │ Yes      │ Yes    │ Yes   │ Yes │ Yes    │ Yes    │ Yes  │ Yes   │ Yes  │ Yes       │ [1]     │ [1]     │ Yes   │ Yes   │ Yes    │
52418│Query   │          │        │       │     │        │        │      │       │      │           │         │         │       │       │        │
52419├────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼─────────┼─────────┼───────┼───────┼────────┤
52420│Selec‐  │ Yes      │ Yes    │ Yes   │ Yes │ Yes    │ Yes    │ Yes  │ Yes   │ Yes  │ Yes       │ [1]     │ [1]     │ Yes   │ Yes   │ Yes    │
52421│tive    │          │        │       │     │        │        │      │       │      │           │         │         │       │       │        │
52422│Query   │          │        │       │     │        │        │      │       │      │           │         │         │       │       │        │
52423├────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼─────────┼─────────┼───────┼───────┼────────┤
52424│List    │ Yes      │ Yes    │ Yes   │ Yes │ Yes    │ Yes    │ Yes  │ Yes   │ Yes  │ Yes       │ [2]     │ [2]     │ Yes   │ Yes   │ Yes    │
52425│Sizes   │          │        │       │     │        │        │      │       │      │           │         │         │       │       │        │
52426├────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼─────────┼─────────┼───────┼───────┼────────┤
52427│List    │ Yes      │ Yes    │ Yes   │ Yes │ Yes    │ Yes    │ Yes  │ Yes   │ Yes  │ Yes       │ Yes     │ Yes     │ Yes   │ Yes   │ Yes    │
52428│Images  │          │        │       │     │        │        │      │       │      │           │         │         │       │       │        │
52429├────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼─────────┼─────────┼───────┼───────┼────────┤
52430│List    │ Yes      │ Yes    │ Yes   │ Yes │ Yes    │ Yes    │ Yes  │ Yes   │ Yes  │ Yes       │ [2]     │ [2]     │ Yes   │ Yes   │ Yes    │
52431│Loca‐   │          │        │       │     │        │        │      │       │      │           │         │         │       │       │        │
52432│tions   │          │        │       │     │        │        │      │       │      │           │         │         │       │       │        │
52433├────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼─────────┼─────────┼───────┼───────┼────────┤
52434│create  │ Yes      │ Yes    │ Yes   │ Yes │ Yes    │ Yes    │ Yes  │ Yes   │ Yes  │ Yes       │ Yes     │ [1]     │ Yes   │ Yes   │ Yes    │
52435├────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼─────────┼─────────┼───────┼───────┼────────┤
52436│destroy │ Yes      │ Yes    │ Yes   │ Yes │ Yes    │ Yes    │ Yes  │ Yes   │ Yes  │ Yes       │ [1]     │ [1]     │ Yes   │ Yes   │ Yes    │
52437└────────┴──────────┴────────┴───────┴─────┴────────┴────────┴──────┴───────┴──────┴───────────┴─────────┴─────────┴───────┴───────┴────────┘
52438
52439       [1] Yes, if salt-api is enabled.
52440
52441       [2] Always returns {}.
52442
52443   Actions
52444       These are features that are  performed  on  a  specific  instance,  and
52445       require an instance name to be passed in. For example:
52446
52447          # salt-cloud -a attach_volume ami.example.com
52448
52449┌───────────────────────┬──────────┬────────┬───────┬─────┬────────┬────────┬──────┬───────┬──────┬───────────┬───────────────────────┬───────┬───────┬────────┐
52450│Actions                │ AWS      │ Cloud‐ │ Digi‐ │ EC2 │ GoGrid │ JoyEnt │ Lin‐ │ Open‐ │ Par‐ │ Rackspace │                       │ Soft‐ │ Soft‐ │ Aliyun │
52451│                       │ (Legacy) │ Stack  │ tal   │     │        │        │ ode  │ Stack │ al‐  │ (Legacy)  │        Saltify&       │ layer │ layer │        │
52452│                       │          │        │ Ocean │     │        │        │      │       │ lels │           │               Vagrant │       │ Hard‐ │        │
52453│                       │          │        │       │     │        │        │      │       │      │           │                       │       │ ware  │        │
52454├───────────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┤
52455│attach_vol‐            │          │        │       │ Yes │        │        │      │       │      │           │                       │       │       │        │
52456│ume                    │          │        │       │     │        │        │      │       │      │           │                       │       │       │        │
52457├───────────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┤
52458│cre‐                   │ Yes      │        │       │ Yes │        │        │      │       │      │           │                       │       │       │        │
52459│ate_attach_vol‐        │          │        │       │     │        │        │      │       │      │           │                       │       │       │        │
52460│umes                   │          │        │       │     │        │        │      │       │      │           │                       │       │       │        │
52461├───────────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┤
52462│del_tags               │ Yes      │        │       │ Yes │        │        │      │       │      │           │                       │       │       │        │
52463├───────────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┤
52464│delvol_on_destroy      │          │        │       │ Yes │        │        │      │       │      │           │                       │       │       │        │
52465├───────────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┤
52466│detach_volume          │          │        │       │ Yes │        │        │      │       │      │           │                       │       │       │        │
52467├───────────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┤
52468│disable_term_pro‐      │ Yes      │        │       │ Yes │        │        │      │       │      │           │                       │       │       │        │
52469│tect                   │          │        │       │     │        │        │      │       │      │           │                       │       │       │        │
52470├───────────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┤
52471│enable_term_pro‐       │ Yes      │        │       │ Yes │        │        │      │       │      │           │                       │       │       │        │
52472│tect                   │          │        │       │     │        │        │      │       │      │           │                       │       │       │        │
52473├───────────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┤
52474│get_tags               │ Yes      │        │       │ Yes │        │        │      │       │      │           │                       │       │       │        │
52475├───────────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┤
52476│keep‐                  │          │        │       │ Yes │        │        │      │       │      │           │                       │       │       │        │
52477│vol_on_destroy         │          │        │       │     │        │        │      │       │      │           │                       │       │       │        │
52478├───────────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┤
52479│list_keypairs          │          │        │ Yes   │     │        │        │      │       │      │           │                       │       │       │        │
52480├───────────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┤
52481│rename                 │ Yes      │        │       │ Yes │        │        │      │       │      │           │                       │       │       │        │
52482├───────────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┤
52483│set_tags               │ Yes      │        │       │ Yes │        │        │      │       │      │           │                       │       │       │        │
52484├───────────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┤
52485│show_delvol_on_destroy │          │        │       │ Yes │        │        │      │       │      │           │                       │       │       │        │
52486├───────────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┤
52487│show_instance          │          │        │ Yes   │ Yes │        │        │ Yes  │       │ Yes  │           │                       │ Yes   │ Yes   │ Yes    │
52488├───────────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┤
52489│show_term_protect      │          │        │       │ Yes │        │        │      │       │      │           │                       │       │       │        │
52490├───────────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┤
52491│start                  │ Yes      │        │       │ Yes │        │ Yes    │ Yes  │       │ Yes  │           │                       │       │       │ Yes    │
52492├───────────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┤
52493│stop                   │ Yes      │        │       │ Yes │        │ Yes    │ Yes  │       │ Yes  │           │                       │       │       │ Yes    │
52494├───────────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┤
52495│take_action            │          │        │       │     │        │ Yes    │      │       │      │           │                       │       │       │        │
52496└───────────────────────┴──────────┴────────┴───────┴─────┴────────┴────────┴──────┴───────┴──────┴───────────┴───────────────────────┴───────┴───────┴────────┘
52497
52498   Functions
52499       These  are  features  that  are  performed  against  a  specific  cloud
52500       provider,  and  require  the  name of the provider to be passed in. For
52501       example:
52502
52503          # salt-cloud -f list_images my_digitalocean
52504
52505┌──────────────────┬──────────┬────────┬───────┬─────┬────────┬────────┬──────┬───────┬──────┬───────────┬───────────────────────┬───────┬───────┬────────┐
52506│Func‐             │ AWS      │ Cloud‐ │ Digi‐ │ EC2 │ GoGrid │ JoyEnt │ Lin‐ │ Open‐ │ Par‐ │ Rackspace │                       │ Soft‐ │ Soft‐ │ Aliyun │
52507│tions             │ (Legacy) │ Stack  │ tal   │     │        │        │ ode  │ Stack │ al‐  │ (Legacy)  │        Saltify&       │ layer │ layer │        │
52508│                  │          │        │ Ocean │     │        │        │      │       │ lels │           │               Vagrant │       │ Hard‐ │        │
52509│                  │          │        │       │     │        │        │      │       │      │           │                       │       │ ware  │        │
52510├──────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┤
52511│block_device_map‐ │ Yes      │        │       │     │        │        │      │       │      │           │                       │       │       │        │
52512│pings             │          │        │       │     │        │        │      │       │      │           │                       │       │       │        │
52513├──────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┤
52514│create_keypair    │          │        │       │ Yes │        │        │      │       │      │           │                       │       │       │        │
52515├──────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┤
52516│create_volume     │          │        │       │ Yes │        │        │      │       │      │           │                       │       │       │        │
52517├──────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┤
52518│delete_key        │          │        │       │     │        │ Yes    │      │       │      │           │                       │       │       │        │
52519├──────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┤
52520│delete_keypair    │          │        │       │ Yes │        │        │      │       │      │           │                       │       │       │        │
52521├──────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┤
52522│delete_volume     │          │        │       │ Yes │        │        │      │       │      │           │                       │       │       │        │
52523├──────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┤
52524│get_image         │          │        │ Yes   │     │        │ Yes    │      │       │ Yes  │           │                       │       │       │ Yes    │
52525├──────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┤
52526│get_ip            │          │ Yes    │       │     │        │        │      │       │      │           │                       │       │       │        │
52527├──────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┤
52528│get_key           │          │ Yes    │       │     │        │        │      │       │      │           │                       │       │       │        │
52529├──────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┤
52530│get_keyid         │          │        │ Yes   │     │        │        │      │       │      │           │                       │       │       │        │
52531├──────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┤
52532│get_keypair       │          │ Yes    │       │     │        │        │      │       │      │           │                       │       │       │        │
52533├──────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┤
52534│get_networkid     │          │ Yes    │       │     │        │        │      │       │      │           │                       │       │       │        │
52535├──────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┤
52536│get_node          │          │        │       │     │        │ Yes    │      │       │      │           │                       │       │       │        │
52537└──────────────────┴──────────┴────────┴───────┴─────┴────────┴────────┴──────┴───────┴──────┴───────────┴───────────────────────┴───────┴───────┴────────┘
52538
52539
52540│get_password      │          │ Yes    │       │     │        │        │      │       │      │           │                       │       │       │        │
52541├──────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┤
52542│get_size          │          │        │ Yes   │     │        │ Yes    │      │       │      │           │                       │       │       │ Yes    │
52543├──────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┤
52544│get_spot_config   │          │        │       │ Yes │        │        │      │       │      │           │                       │       │       │        │
52545├──────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┤
52546│get_subnetid      │          │        │       │ Yes │        │        │      │       │      │           │                       │       │       │        │
52547├──────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┤
52548│iam_profile       │ Yes      │        │       │ Yes │        │        │      │       │      │           │                       │       │       │ Yes    │
52549├──────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┤
52550│import_key        │          │        │       │     │        │ Yes    │      │       │      │           │                       │       │       │        │
52551├──────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┤
52552│key_list          │          │        │       │     │        │ Yes    │      │       │      │           │                       │       │       │        │
52553├──────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┤
52554│keyname           │ Yes      │        │       │ Yes │        │        │      │       │      │           │                       │       │       │        │
52555├──────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┤
52556│list_availabil‐   │          │        │       │ Yes │        │        │      │       │      │           │                       │       │       │ Yes    │
52557│ity_zones         │          │        │       │     │        │        │      │       │      │           │                       │       │       │        │
52558├──────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┤
52559│list_cus‐         │          │        │       │     │        │        │      │       │      │           │                       │ Yes   │       │        │
52560│tom_images        │          │        │       │     │        │        │      │       │      │           │                       │       │       │        │
52561├──────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┤
52562│list_keys         │          │        │       │     │        │ Yes    │      │       │      │           │                       │       │       │        │
52563├──────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┤
52564│list_nodes        │ Yes      │ Yes    │ Yes   │ Yes │ Yes    │ Yes    │ Yes  │ Yes   │ Yes  │ Yes       │ Yes                   │ Yes   │ Yes   │ Yes    │
52565├──────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┤
52566│list_nodes_full   │ Yes      │ Yes    │ Yes   │ Yes │ Yes    │ Yes    │ Yes  │ Yes   │ Yes  │ Yes       │ Yes                   │ Yes   │ Yes   │ Yes    │
52567├──────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┤
52568│list_nodes_select │ Yes      │ Yes    │ Yes   │ Yes │ Yes    │ Yes    │ Yes  │ Yes   │ Yes  │ Yes       │ Yes                   │ Yes   │ Yes   │ Yes    │
52569├──────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┤
52570│list_vlans        │          │        │       │     │        │        │      │       │      │           │                       │ Yes   │ Yes   │        │
52571├──────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┤
52572│rackconnect       │          │        │       │     │        │        │      │ Yes   │      │           │                       │       │       │        │
52573├──────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┤
52574│reboot            │          │        │       │ Yes │        │ Yes    │      │       │      │           │ [1]                   │       │       │ Yes    │
52575├──────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┤
52576│reformat_node     │          │        │       │     │        │ Yes    │      │       │      │           │                       │       │       │        │
52577├──────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┤
52578│securitygroup     │ Yes      │        │       │ Yes │        │        │      │       │      │           │                       │       │       │        │
52579├──────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┤
52580│securitygroupid   │          │        │       │ Yes │        │        │      │       │      │           │                       │       │       │ Yes    │
52581├──────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┤
52582│show_image        │          │        │       │ Yes │        │        │      │       │ Yes  │           │                       │       │       │ Yes    │
52583├──────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┤
52584│show_key          │          │        │       │     │        │ Yes    │      │       │      │           │                       │       │       │        │
52585├──────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┤
52586│show_keypair      │          │        │ Yes   │ Yes │        │        │      │       │      │           │                       │       │       │        │
52587├──────────────────┼──────────┼────────┼───────┼─────┼────────┼────────┼──────┼───────┼──────┼───────────┼───────────────────────┼───────┼───────┼────────┤
52588│show_volume       │          │        │       │ Yes │        │        │      │       │      │           │                       │       │       │ Yes    │
52589└──────────────────┴──────────┴────────┴───────┴─────┴────────┴────────┴──────┴───────┴──────┴───────────┴───────────────────────┴───────┴───────┴────────┘
52590
52591       [1] Yes, if salt-api is enabled.
52592
52593   Tutorials
52594   Salt Cloud Quickstart
52595       Salt Cloud is built-in to Salt, and the easiest way to run  Salt  Cloud
52596       is directly from your Salt Master.
52597
52598       Note  that  if  you  installed Salt via Salt Bootstrap, it may not have
52599       automatically installed salt-cloud for  you.  Use  your  distribution's
52600       package  manager  to  install the salt-cloud package from the same repo
52601       that you used to install Salt.  These repos will automatically be setup
52602       by Salt Bootstrap.
52603
52604       Alternatively, the -L option can be passed to the Salt Bootstrap script
52605       when installing Salt. The -L option will  install  salt-cloud  and  the
52606       required libcloud package.
52607
52608       This quickstart walks you through the basic steps of setting up a cloud
52609       host and defining some virtual machines to create.
52610
52611       NOTE:
52612          Salt Cloud has its own process and does not rely on the Salt Master,
52613          so  it  can be installed on a standalone minion instead of your Salt
52614          Master.
52615
52616   Define a Provider
52617       The first step is to add the credentials for your cloud  host.  Creden‐
52618       tials  and  other  settings  provided  by  the cloud host are stored in
52619       provider  configuration  files.  Provider  configurations  contain  the
52620       details  needed to connect to a cloud host such as EC2, GCE, Rackspace,
52621       etc., and any global options that you want set on  your  cloud  minions
52622       (such as the location of your Salt Master).
52623
52624       On  your Salt Master, browse to /etc/salt/cloud.providers.d/ and create
52625       a file called <provider>.conf, replacing  <provider>  with  ec2,  soft‐
52626       layer,  and so on. The name helps you identify the contents, and is not
52627       important as long as the file ends in .conf.
52628
52629       Next, browse to the Provider specifics and add  any  required  settings
52630       for your cloud host to this file. Here is an example for Amazon EC2:
52631
52632          my-ec2:
52633            driver: ec2
52634            # Set the EC2 access credentials (see below)
52635            #
52636            id: 'HJGRYCILJLKJYG'
52637            key: 'kdjgfsgm;woormgl/aserigjksjdhasdfgn'
52638            # Make sure this key is owned by root with permissions 0400.
52639            #
52640            private_key: /etc/salt/my_test_key.pem
52641            keyname: my_test_key
52642            securitygroup: default
52643            # Optional: Set up the location of the Salt Master
52644            #
52645            minion:
52646              master: saltmaster.example.com
52647
52648       The  required configuration varies between cloud hosts so make sure you
52649       read the provider specifics.
52650
52651   List Cloud Provider Options
52652       You can now query the cloud provider you configured for available loca‐
52653       tions,  images,  and sizes. This information is used when you set up VM
52654       profiles.
52655
52656          salt-cloud --list-locations <provider_name>  # my-ec2 in the previous example
52657          salt-cloud --list-images <provider_name>
52658          salt-cloud --list-sizes <provider_name>
52659
52660       Replace <provider_name> with the name of the provider configuration you
52661       defined.
52662
52663   Create VM Profiles
52664       On your Salt Master, browse to /etc/salt/cloud.profiles.d/ and create a
52665       file called <profile>.conf, replacing <profile>  with  ec2,  softlayer,
52666       and so on. The file must end in .conf.
52667
52668       You  can now add any custom profiles you'd like to define to this file.
52669       Here are a few examples:
52670
52671          micro_ec2:
52672            provider: my-ec2
52673            image: ami-d514f291
52674            size: t1.micro
52675
52676          medium_ec2:
52677            provider: my-ec2
52678            image: ami-d514f291
52679            size: m3.medium
52680
52681          large_ec2:
52682            provider: my-ec2
52683            image: ami-d514f291
52684            size: m3.large
52685
52686       Notice that the provider in our profile matches the provider name  that
52687       we defined? That is how Salt Cloud knows how to connect to a cloud host
52688       to create a VM with these attributes.
52689
52690   Create VMs
52691       VMs are created by calling salt-cloud with the following options:
52692
52693          salt-cloud -p <profile> <name1> <name2> ...
52694
52695       For example:
52696
52697          salt-cloud -p micro_ec2 minion1 minion2
52698
52699   Destroy VMs
52700       Add a -d and the minion name you provided to destroy:
52701
52702          salt-cloud -d minion1 minion2
52703
52704   Query VMs
52705       You can view details about the VMs you've created using --query:
52706
52707          salt-cloud --query
52708
52709   Cloud Map
52710       Now that you know how to create and destoy  individual  VMs,  next  you
52711       should learn how to use a cloud map to create a number of VMs at once.
52712
52713       Cloud maps let you define a map of your infrastructure and quickly pro‐
52714       vision any number of VMs. On subsequent runs, any VMs that do not exist
52715       are created, and VMs that are already configured are left unmodified.
52716
52717       See Cloud Map File.
52718
52719   Using Salt Cloud with the Event Reactor
52720       One  of  the  most powerful features of the Salt framework is the Event
52721       Reactor.  As the Reactor was in development, Salt Cloud  was  regularly
52722       updated to take advantage of the Reactor upon completion. As such, var‐
52723       ious aspects of both the creation and  destruction  of  instances  with
52724       Salt  Cloud  fire  events  to the Salt Master, which can be used by the
52725       Event Reactor.
52726
52727   Event Structure
52728       As of this writing, all events in Salt Cloud have a tag, which includes
52729       the ID of the instance being managed, and a payload which describes the
52730       task that is currently being handled. A Salt Cloud tag looks like:
52731
52732          salt/cloud/<minion_id>/<task>
52733
52734       For instance, the first event fired when  creating  an  instance  named
52735       web1 would look like:
52736
52737          salt/cloud/web1/creating
52738
52739       Assuming  this  instance  is  using the ec2-centos profile, which is in
52740       turn using the ec2-config provider, the payload for this tag would look
52741       like:
52742
52743          {'name': 'web1',
52744           'profile': 'ec2-centos',
52745           'provider': 'ec2-config:ec2'}
52746
52747   Available Events
52748       When  an instance is created in Salt Cloud, whether by map, profile, or
52749       directly through an API, a minimum of five events are  normally  fired.
52750       More  may  be  available, depending upon the cloud provider being used.
52751       Some of the common events are described below.
52752
52753   salt/cloud/<minion_id>/creating
52754       This event states simply that the process to  create  an  instance  has
52755       begun. At this point in time, no actual work has begun. The payload for
52756       this event includes:
52757
52758       name profile provider
52759
52760   salt/cloud/<minion_id>/requesting
52761       Salt Cloud is about to make a request to the cloud provider  to  create
52762       an  instance.  At this point, all of the variables required to make the
52763       request have been gathered, and the payload of the event  will  reflect
52764       those  variables  which  do  not normally pose a security risk. What is
52765       returned here is dependent upon the cloud provider. Some  common  vari‐
52766       ables are:
52767
52768       name image size location
52769
52770   salt/cloud/<minion_id>/querying
52771       The  instance has been successfully requested, but the necessary infor‐
52772       mation to log into the instance (such as IP address) is not yet  avail‐
52773       able.  This  event  marks the beginning of the process to wait for this
52774       information.
52775
52776       The payload for this event normally only includes the instance_id.
52777
52778   salt/cloud/<minion_id>/waiting_for_ssh
52779       The information required to log into the instance has  been  retrieved,
52780       but  the  instance  is  not necessarily ready to be accessed. Following
52781       this event, Salt Cloud will wait for the IP address  to  respond  to  a
52782       ping,  then  wait  for  the specified port (usually 22) to respond to a
52783       connection, and on Linux systems, for SSH  to  become  available.  Salt
52784       Cloud will attempt to issue the date command on the remote system, as a
52785       means to check for availability. If no ssh_username has been specified,
52786       a  list  of usernames (starting with root) will be attempted. If one or
52787       more usernames was configured for ssh_username, they will be  added  to
52788       the beginning of the list, in order.
52789
52790       The payload for this event normally only includes the ip_address.
52791
52792   salt/cloud/<minion_id>/deploying
52793       The  necessary  port has been detected as available, and now Salt Cloud
52794       can log into the instance, upload any files used  for  deployment,  and
52795       run  the  deploy script. Once the script has completed, Salt Cloud will
52796       log back into the instance and remove any remaining files.
52797
52798       A number of variables are used to deploy instances, and the majority of
52799       these  will  be  available in the payload. Any keys, passwords or other
52800       sensitive data will be scraped from the payload. Most of the  variables
52801       returned  will  be  related  to the profile or provider config, and any
52802       default values that could have been changed in the profile or provider,
52803       but weren't.
52804
52805   salt/cloud/<minion_id>/created
52806       The  deploy  sequence has completed, and the instance is now available,
52807       Salted, and ready for use. This event is the final task for Salt Cloud,
52808       before returning instance information to the user and exiting.
52809
52810       The payload for this event contains little more than the initial creat‐
52811       ing event. This event is required in all cloud providers.
52812
52813   Filtering Events
52814       When creating a VM, it is possible with certain tags to filter how much
52815       information  is sent to the event bus. The tags that can be filtered on
52816       any provider are:
52817
52818       · salt/cloud/<minion_id>/creating
52819
52820       · salt/cloud/<minion_id>/requesting
52821
52822       · salt/cloud/<minion_id>/created
52823
52824       Other providers may allow other tags to be filtered; when that  is  the
52825       case, the documentation for that provider will contain more details.
52826
52827       To  filter  information,  create a section in your /etc/salt/cloud file
52828       called filter_events. Create a section for each tag that  you  want  to
52829       filter,  using  the last segment of the tag. For instance, use creating
52830       to represent salt/cloud/<minion_id>/creating:
52831
52832          filter_events:
52833            creating:
52834              keys:
52835                - name
52836                - profile
52837                - provider
52838
52839       Any keys listed here will be added to the default keys that are already
52840       set  to  be  displayed  for  that provider. If you wish to start with a
52841       clean slate and only show the keys specified, add another option called
52842       use_defaults and set it to False.
52843
52844          filter_events:
52845            creating:
52846              keys:
52847                - name
52848                - profile
52849                - provider
52850              use_defaults: False
52851
52852   Configuring the Event Reactor
52853       The Event Reactor is built into the Salt Master process, and as such is
52854       configured via the master configuration file. Normally this will  be  a
52855       YAML  file located at /etc/salt/master. Additionally, master configura‐
52856       tion items can be stored, in YAML  format,  inside  the  /etc/salt/mas‐
52857       ter.d/ directory.
52858
52859       These  configuration  items  may be stored in either location; however,
52860       they may only be stored in one location. For organizational  and  secu‐
52861       rity  purposes,  it  may be best to create a single configuration file,
52862       which contains only  Event  Reactor  configuration,  at  /etc/salt/mas‐
52863       ter.d/reactor.
52864
52865       The  Event  Reactor uses a top-level configuration item called reactor.
52866       This block contains a list of tags to be watched  for,  each  of  which
52867       also includes a list of sls files. For instance:
52868
52869          reactor:
52870            - 'salt/minion/*/start':
52871              - '/srv/reactor/custom-reactor.sls'
52872            - 'salt/cloud/*/created':
52873              - '/srv/reactor/cloud-alert.sls'
52874            - 'salt/cloud/*/destroyed':
52875              - '/srv/reactor/cloud-destroy-alert.sls'
52876
52877       The  above  configuration configures reactors for three different tags:
52878       one which is fired when a minion process has started and  is  available
52879       to  receive commands, one which is fired when a cloud instance has been
52880       created, and one which is fired when a cloud instance is destroyed.
52881
52882       Note that each tag contains a wildcard (*) in it.  For  each  of  these
52883       tags,  this will normally refer to a minion_id. This is not required of
52884       event tags, but is very common.
52885
52886   Reactor SLS Files
52887       Reactor sls files should be placed in the /srv/reactor/  directory  for
52888       consistency between environments, but this is not currently enforced by
52889       Salt.
52890
52891       Reactor sls files follow a similar format to other sls files  in  Salt.
52892       By  default  they are written in YAML and can be templated using Jinja,
52893       but since they are  processed  through  Salt's  rendering  system,  any
52894       available renderer (JSON, Mako, Cheetah, etc.) can be used.
52895
52896       As  with other sls files, each stanza will start with a declaration ID,
52897       followed by the function to run, and then any arguments for that  func‐
52898       tion. For example:
52899
52900          # /srv/reactor/cloud-alert.sls
52901          new_instance_alert:
52902            cmd.pagerduty.create_event:
52903              - tgt: alertserver
52904              - kwarg:
52905                  description: "New instance: {{ data['name'] }}"
52906                  details: "New cloud instance created on {{ data['provider'] }}"
52907                  service_key: 1626dead5ecafe46231e968eb1be29c4
52908                  profile: my-pagerduty-account
52909
52910       When  the  Event  Reactor  receives  an  event  notifying it that a new
52911       instance has been created, this sls  will  create  a  new  incident  in
52912       PagerDuty, using the configured PagerDuty account.
52913
52914       The  declaration ID in this example is new_instance_alert. The function
52915       called is cmd.pagerduty.create_event. The cmd portion of this  function
52916       specifies that an execution module and function will be called, in this
52917       case, the pagerduty.create_event function.
52918
52919       Because an execution module is specified, a target (tgt) must be speci‐
52920       fied  on  which  to  call  the  function. In this case, a minion called
52921       alertserver has been used. Any arguments passed through to the function
52922       are declared in the kwarg block.
52923
52924   Example: Reactor-Based Highstate
52925       When  Salt  Cloud  creates  an instance, by default it will install the
52926       Salt Minion onto the instance, along with any specified minion configu‐
52927       ration,  and automatically accept that minion's keys on the master. One
52928       of the configuration options that can be specified  is  startup_states,
52929       which  is commonly set to highstate. This will tell the minion to imme‐
52930       diately apply a highstate, as soon as it is able to do so.
52931
52932       This can present a problem with some system images on some cloud hosts.
52933       For instance, Salt Cloud can be configured to log in as either the root
52934       user, or a user with sudo access. While some hosts commonly use  images
52935       that  lock  out  remote root access and require a user with sudo privi‐
52936       leges to log in (notably EC2, with their ec2-user  login),  most  cloud
52937       hosts  fall  back to root as the default login on all images, including
52938       for operating systems (such as Ubuntu) which normally  disallow  remote
52939       root login.
52940
52941       For users of these operating systems, it is understandable that a high‐
52942       state would include configuration to block remote  root  logins  again.
52943       However,  Salt  Cloud  may not have finished cleaning up its deployment
52944       files by the time the minion process has  started,  and  kicked  off  a
52945       highstate  run.  Users  have  reported  errors  from Salt Cloud getting
52946       locked out while trying to clean up after itself.
52947
52948       The goal of a startup state may be achieved using  the  Event  Reactor.
52949       Because  a  minion  fires an event when it is able to receive commands,
52950       this event can effectively be used inside the reactor  system  instead.
52951       The following will point the reactor system to the right sls file:
52952
52953          reactor:
52954            - 'salt/cloud/*/created':
52955              - '/srv/reactor/startup_highstate.sls'
52956
52957       And  the  following  sls  file will start a highstate run on the target
52958       minion:
52959
52960          # /srv/reactor/startup_highstate.sls
52961          reactor_highstate:
52962            cmd.state.apply:
52963              - tgt: {{ data['name'] }}
52964
52965       Because this event will not be fired until Salt Cloud  has  cleaned  up
52966       after itself, the highstate run will not step on salt-cloud's toes. And
52967       because  every  file  on  the   minion   is   configurable,   including
52968       /etc/salt/minion, the startup_states can still be configured for future
52969       minion restarts, if desired.
52970

SALT PROXY MINION

52972       Proxy minions are a developing Salt feature  that  enables  controlling
52973       devices  that,  for whatever reason, cannot run a standard salt-minion.
52974       Examples include network gear that has an API but  runs  a  proprietary
52975       OS,  devices  with  limited  CPU or memory, or devices that could run a
52976       minion, but for security reasons, will not.
52977
52978       Proxy minions are not an "out of the box" feature.  Because  there  are
52979       an  infinite  number of controllable devices, you will most likely have
52980       to write the interface yourself. Fortunately, this is only as difficult
52981       as  the  actual  interface to the proxied device.  Devices that have an
52982       existing Python module (PyUSB for example) would be  relatively  simple
52983       to  interface.   Code  to  control a device that has an HTML REST-based
52984       interface should be easy.  Code to control your typical housecat  would
52985       be excellent source material for a PhD thesis.
52986
52987       Salt  proxy-minions  provide the 'plumbing' that allows device enumera‐
52988       tion and discovery, control, status, remote execution, and  state  man‐
52989       agement.
52990
52991       See  the  Proxy Minion Walkthrough for an end-to-end demonstration of a
52992       working REST-based proxy minion.
52993
52994       See the Proxy Minion SSH Walkthrough for an end-to-end demonstration of
52995       a working SSH proxy minion.
52996
52997       See Proxyminion States to configure and run salt-proxy on a remote min‐
52998       ion. Specify all your master side proxy (pillar) configuration and  use
52999       this state to remotely configure proxies on one or more minions.
53000
53001       See  Proxyminion  Beacon to help with easy configuration and management
53002       of salt-proxy processes.
53003
53004   New in 2017.7.0
53005       The proxy_merge_grains_in_module configuration variable  introduced  in
53006       2016.3, has been changed, defaulting to True.
53007
53008       The  connection  with  the remote device is kept alive by default, when
53009       the module implements the alive function and proxy_keep_alive is set to
53010       True.  The  polling interval is set using the proxy_keep_alive_interval
53011       option which defaults to 1 minute.
53012
53013       The developers are  also  able  to  use  the  proxy_always_alive,  when
53014       designing  a  proxy  module flexible enough to open the connection with
53015       the remote device only when required.
53016
53017   New in 2016.11.0
53018       Proxy minions now support configuration  files  with  names  ending  in
53019       '*.conf' and placed in /etc/salt/proxy.d.
53020
53021       Proxy   minions   can   now   be   configured   in  /etc/salt/proxy  or
53022       /etc/salt/proxy.d instead of just pillar.  Configuration format is  the
53023       same as it would be in pillar.
53024
53025   New in 2016.3
53026       The deprecated config option enumerate_proxy_minions has been removed.
53027
53028       As mentioned in earlier documentation, the add_proxymodule_to_opts con‐
53029       figuration variable defaults to False in this release.  This  means  if
53030       you  have proxymodules or other code looking in __opts__['proxymodule']
53031       you will need to set this variable in  your  /etc/salt/proxy  file,  or
53032       modify your code to use the __proxy__ injected variable.
53033
53034       The  __proxyenabled__  directive  now  only applies to grains and proxy
53035       modules themselves.  Standard execution modules and state  modules  are
53036       not prevented from loading for proxy minions.
53037
53038       Enhancements in grains processing have made the __proxyenabled__ direc‐
53039       tive somewhat redundant in dynamic grains code.  It is still  required,
53040       but  best  practices  for the __virtual__ function in grains files have
53041       changed.  It is now recommended that the __virtual__ functions check to
53042       make  sure  they  are  being  loaded for the correct proxytype, example
53043       below:
53044
53045          def __virtual__():
53046              '''
53047              Only work on proxy
53048              '''
53049              try:
53050                  if salt.utils.platform.is_proxy() and \
53051                     __opts__['proxy']['proxytype'] == 'ssh_sample':
53052                      return __virtualname__
53053              except KeyError:
53054                  pass
53055
53056              return False
53057
53058       The try/except block above exists because  grains  are  processed  very
53059       early  in  the proxy minion startup process, sometimes earlier than the
53060       proxy key in the __opts__ dictionary is populated.
53061
53062       Grains are loaded so early in startup that no dunder  dictionaries  are
53063       present, so __proxy__, __salt__, etc. are not available.  Custom grains
53064       located in /srv/salt/_grains and in the salt install  grains  directory
53065       can  now take a single argument, proxy, that is identical to __proxy__.
53066       This enables patterns like
53067
53068          def get_ip(proxy):
53069              '''
53070              Ask the remote device what IP it has
53071              '''
53072              return {'ip':proxy['proxymodulename.get_ip']()}
53073
53074       Then the grain ip will contain the result of calling the get_ip() func‐
53075       tion in the proxymodule called proxymodulename.
53076
53077       Proxy  modules  now  benefit  from including a function called initial‐
53078       ized().  This function should return True if the proxy's  init()  func‐
53079       tion  has been successfully called.  This is needed to make grains pro‐
53080       cessing easier.
53081
53082       Finally, if there is a function called grains in  the  proxymodule,  it
53083       will  be  executed  on  proxy-minion  startup  and its contents will be
53084       merged with the rest of the proxy's grains.  Since older  proxy-minions
53085       might  have  used  other  methods  to  call such a function and add its
53086       results to grains, this is config-gated by a  new  proxy  configuration
53087       option  called  proxy_merge_grains_in_module.  This defaults to True in
53088       the 2017.7.0 release.
53089
53090   New in 2015.8.2
53091       BREAKING CHANGE: Adding the proxymodule variable  to __opts__ is depre‐
53092       cated.  The proxymodule variable has been moved a new globally-injected
53093       variable called  __proxy__.   A  related  configuration  option  called
53094       add_proxymodule_to_opts  has  been  added and defaults to True.  In the
53095       next major release, 2016.3.0, this variable will default to False.
53096
53097       In the meantime, proxies that functioned under 2015.8.0 and  .1  should
53098       continue  to work under 2015.8.2.  You should rework your proxy code to
53099       use __proxy__ as soon as possible.
53100
53101       The rest_sample example proxy minion has been updated to use __proxy__.
53102
53103       This change was made because proxymodules are a LazyLoader object,  but
53104       LazyLoaders  cannot  be  serialized.   __opts__ gets serialized, and so
53105       things like saltutil.sync_all and state.highstate  would  throw  excep‐
53106       tions.
53107
53108       Support has been added to Salt's loader allowing custom proxymodules to
53109       be placed in salt://_proxy.  Proxy minions that need these modules will
53110       need  to  be restarted to pick up any changes.  A corresponding utility
53111       function, saltutil.sync_proxymodules, has been added to sync these mod‐
53112       ules to minions.
53113
53114       In  addition,  a salt.utils helper function called is_proxy() was added
53115       to make it easier to tell when the running minion is  a  proxy  minion.
53116       NOTE:  This  function was renamed to salt.utils.platform.is_proxy() for
53117       the 2018.3.0 release
53118
53119   New in 2015.8
53120       Starting with the 2015.8 release of Salt, proxy processes are no longer
53121       forked  off  from  a  controlling minion.  Instead, they have their own
53122       script salt-proxy which takes mostly the same arguments that the  stan‐
53123       dard  Salt  minion does with the addition of --proxyid.  This is the id
53124       that the salt-proxy will use to identify itself to the  master.   Proxy
53125       configurations  are  still best kept in Pillar and their format has not
53126       changed.
53127
53128       This change allows for better process control and logging.  Proxy  pro‐
53129       cesses can now be listed with standard process management utilities (ps
53130       from the command line).  Also, a full Salt minion is no longer required
53131       (though it is still strongly recommended) on machines hosting proxies.
53132
53133   Getting Started
53134       The  following diagram may be helpful in understanding the structure of
53135       a Salt installation that includes proxy-minions: [image]
53136
53137       The key thing to remember is the  left-most  section  of  the  diagram.
53138       Salt's  nature is to have a minion connect to a master, then the master
53139       may control the minion.  However, for proxy minions, the target  device
53140       cannot run a minion.
53141
53142       After  the  proxy minion is started and initiates its connection to the
53143       'dumb' device, it connects back to the salt-master and for all  intents
53144       and purposes looks like just another minion to the Salt master.
53145
53146       To create support for a proxied device one needs to create four things:
53147
53148       1. The proxy_connection_module (located in salt/proxy).
53149
53150       2. The grains support code (located in salt/grains).
53151
53152       3. Salt modules specific to the controlled device.
53153
53154       4. Salt states specific to the controlled device.
53155
53156   Configuration parameters
53157       Proxy minions require no configuration parameters in /etc/salt/master.
53158
53159       Salt's  Pillar  system  is ideally suited for configuring proxy-minions
53160       (though they can be configured in /etc/salt/proxy  as  well).   Proxies
53161       can  either be designated via a pillar file in pillar_roots, or through
53162       an external pillar.  External pillars afford the opportunity for inter‐
53163       facing  with  a  configuration  management  system,  database, or other
53164       knowledgeable system that that may already contain all the  details  of
53165       proxy targets.  To use static files in pillar_roots, pattern your files
53166       after the following examples, which are based on the diagram above:
53167
53168       /srv/pillar/top.sls
53169
53170          base:
53171            dumbdevice1:
53172              - dumbdevice1
53173            dumbdevice2:
53174              - dumbdevice2
53175            dumbdevice3:
53176              - dumbdevice3
53177            dumbdevice4:
53178              - dumbdevice4
53179            dumbdevice5:
53180              - dumbdevice5
53181            dumbdevice6:
53182              - dumbdevice6
53183            dumbdevice7:
53184              - dumbdevice7
53185
53186       /srv/pillar/dumbdevice1.sls
53187
53188          proxy:
53189            proxytype: networkswitch
53190            host: 172.23.23.5
53191            username: root
53192            passwd: letmein
53193
53194       /srv/pillar/dumbdevice2.sls
53195
53196          proxy:
53197            proxytype: networkswitch
53198            host: 172.23.23.6
53199            username: root
53200            passwd: letmein
53201
53202       /srv/pillar/dumbdevice3.sls
53203
53204          proxy:
53205            proxytype: networkswitch
53206            host: 172.23.23.7
53207            username: root
53208            passwd: letmein
53209
53210       /srv/pillar/dumbdevice4.sls
53211
53212          proxy:
53213            proxytype: i2c_lightshow
53214            i2c_address: 1
53215
53216       /srv/pillar/dumbdevice5.sls
53217
53218          proxy:
53219            proxytype: i2c_lightshow
53220            i2c_address: 2
53221
53222       /srv/pillar/dumbdevice6.sls
53223
53224          proxy:
53225            proxytype: 433mhz_wireless
53226
53227       /srv/pillar/dumbdevice7.sls
53228
53229          proxy:
53230            proxytype: sms_serial
53231            deventry: /dev/tty04
53232
53233       Note the contents of each minioncontroller key may differ widely  based
53234       on the type of device that the proxy-minion is managing.
53235
53236       In the above example
53237
53238       · dumbdevices  1,  2, and 3 are network switches that have a management
53239         interface available at a particular IP address.
53240
53241       · dumbdevices 4 and 5 are very low-level devices controlled over an i2c
53242         bus.   In  this  case the devices are physically connected to machine
53243         'minioncontroller2', and are addressable on  the  i2c  bus  at  their
53244         respective i2c addresses.
53245
53246       · dumbdevice6  is  a 433 MHz wireless transmitter, also physically con‐
53247         nected to minioncontroller2
53248
53249       · dumbdevice7 is an SMS gateway connected to machine  minioncontroller3
53250         via a serial port.
53251
53252       Because  of the way pillar works, each of the salt-proxy processes that
53253       fork off the proxy minions will only see the keys specific to the prox‐
53254       ies it will be handling.
53255
53256       Proxies   can  be  configured  in  /etc/salt/proxy  or  with  files  in
53257       /etc/salt/proxy.d as of Salt's 2016.11.0 release.
53258
53259       Also, in general, proxy-minions are lightweight, so the  machines  that
53260       run  them  could conceivably control a large number of devices.  To run
53261       more than one proxy from a single machine, simply start  an  additional
53262       proxy  process with --proxyid set to the id to which you want the proxy
53263       to bind.  It is possible for the proxy services  to  be  spread  across
53264       many  machines if necessary, or intentionally run on machines that need
53265       to control devices because of some physical  interface  (e.g.  i2c  and
53266       serial  above).  Another reason to divide proxy services might be secu‐
53267       rity.  In more secure environments only certain  machines  may  have  a
53268       network path to certain devices.
53269
53270   Proxymodules
53271       A  proxy module encapsulates all the code necessary to interface with a
53272       device.  Proxymodules are located inside the salt.proxy module, or  can
53273       be  placed  in  the  _proxy  directory  in  your file_roots (default is
53274       /srv/salt/_proxy.  At a minimum a proxymodule object must implement the
53275       following functions:
53276
53277       __virtual__():  This  function  performs the same duty that it does for
53278       other types of Salt modules.  Logic goes here to determine if the  mod‐
53279       ule can be loaded, checking for the presence of Python modules on which
53280       the proxy depends.  Returning False will prevent the module from  load‐
53281       ing.
53282
53283       init(opts):  Perform any initialization that the device needs.  This is
53284       a good place to bring up  a  persistent  connection  to  a  device,  or
53285       authenticate to create a persistent authorization token.
53286
53287       initialized(): Returns True if init() was successfully called.
53288
53289       shutdown():  Code  to cleanly shut down or close a connection to a con‐
53290       trolled device goes here.  This function must exist,  but  can  contain
53291       only the keyword pass if there is no shutdown logic required.
53292
53293       ping(): While not required, it is highly recommended that this function
53294       also be defined in the proxymodule. The code for  ping  should  contact
53295       the controlled device and make sure it is really available.
53296
53297       alive(opts):  Another  optional  function, it is used together with the
53298       proxy_keep_alive option (default: True). This function should return  a
53299       boolean  value  corresponding  to  the state of the connection.  If the
53300       connection is down, will try to restart (shutdown  followed  by  init).
53301       The polling frequency is controlled using the proxy_keep_alive_interval
53302       option, in minutes.
53303
53304       grains(): Rather than including grains in /srv/salt/_grains or  in  the
53305       standard  install  directories  for  grains, grains can be computed and
53306       returned by this function.  This function will be called  automatically
53307       if  proxy_merge_grains_in_module  is  set  to  True in /etc/salt/proxy.
53308       This variable defaults to True in the release code-named 2017.7.0.
53309
53310       Pre 2015.8 the proxymodule also must have an id() function.  2015.8 and
53311       following don't use this function because the proxy's id is required on
53312       the command line.
53313
53314       Here is an example proxymodule used to interface to a very simple  REST
53315       server. Code for the server is in the salt-contrib GitHub repository.
53316
53317       This  proxymodule  enables  "service"  enumeration, starting, stopping,
53318       restarting, and status; "package" installation, and a ping.
53319
53320          # -*- coding: utf-8 -*-
53321          '''
53322          This is a simple proxy-minion designed to connect to and communicate with
53323          the bottle-based web service contained in https://github.com/saltstack/salt-contrib/tree/master/proxyminion_rest_example
53324          '''
53325          from __future__ import absolute_import
53326
53327          # Import python libs
53328          import logging
53329          import salt.utils.http
53330
53331          HAS_REST_EXAMPLE = True
53332
53333          # This must be present or the Salt loader won't load this module
53334          __proxyenabled__ = ['rest_sample']
53335
53336
53337          # Variables are scoped to this module so we can have persistent data
53338          # across calls to fns in here.
53339          GRAINS_CACHE = {}
53340          DETAILS = {}
53341
53342          # Want logging!
53343          log = logging.getLogger(__file__)
53344
53345
53346          # This does nothing, it's here just as an example and to provide a log
53347          # entry when the module is loaded.
53348          def __virtual__():
53349              '''
53350              Only return if all the modules are available
53351              '''
53352              log.debug('rest_sample proxy __virtual__() called...')
53353              return True
53354
53355
53356          def _complicated_function_that_determines_if_alive():
53357              return True
53358
53359          # Every proxy module needs an 'init', though you can
53360          # just put DETAILS['initialized'] = True here if nothing
53361          # else needs to be done.
53362
53363          def init(opts):
53364              log.debug('rest_sample proxy init() called...')
53365              DETAILS['initialized'] = True
53366
53367              # Save the REST URL
53368              DETAILS['url'] = opts['proxy']['url']
53369
53370              # Make sure the REST URL ends with a '/'
53371              if not DETAILS['url'].endswith('/'):
53372                  DETAILS['url'] += '/'
53373
53374          def alive(opts):
53375              '''
53376              This function returns a flag with the connection state.
53377              It is very useful when the proxy minion establishes the communication
53378              via a channel that requires a more elaborated keep-alive mechanism, e.g.
53379              NETCONF over SSH.
53380              '''
53381              log.debug('rest_sample proxy alive() called...')
53382              return _complicated_function_that_determines_if_alive()
53383
53384
53385          def initialized():
53386              '''
53387              Since grains are loaded in many different places and some of those
53388              places occur before the proxy can be initialized, return whether
53389              our init() function has been called
53390              '''
53391              return DETAILS.get('initialized', False)
53392
53393
53394          def grains():
53395              '''
53396              Get the grains from the proxied device
53397              '''
53398              if not DETAILS.get('grains_cache', {}):
53399                  r = salt.utils.http.query(DETAILS['url']+'info', decode_type='json', decode=True)
53400                  DETAILS['grains_cache'] = r['dict']
53401              return DETAILS['grains_cache']
53402
53403
53404          def grains_refresh():
53405              '''
53406              Refresh the grains from the proxied device
53407              '''
53408              DETAILS['grains_cache'] = None
53409              return grains()
53410
53411
53412          def fns():
53413              return {'details': 'This key is here because a function in '
53414                                'grains/rest_sample.py called fns() here in the proxymodule.'}
53415
53416
53417          def service_start(name):
53418              '''
53419              Start a "service" on the REST server
53420              '''
53421              r = salt.utils.http.query(DETAILS['url']+'service/start/'+name, decode_type='json', decode=True)
53422              return r['dict']
53423
53424
53425          def service_stop(name):
53426              '''
53427              Stop a "service" on the REST server
53428              '''
53429              r = salt.utils.http.query(DETAILS['url']+'service/stop/'+name, decode_type='json', decode=True)
53430              return r['dict']
53431
53432
53433          def service_restart(name):
53434              '''
53435              Restart a "service" on the REST server
53436              '''
53437              r = salt.utils.http.query(DETAILS['url']+'service/restart/'+name, decode_type='json', decode=True)
53438              return r['dict']
53439
53440
53441          def service_list():
53442              '''
53443              List "services" on the REST server
53444              '''
53445              r = salt.utils.http.query(DETAILS['url']+'service/list', decode_type='json', decode=True)
53446              return r['dict']
53447
53448
53449          def service_status(name):
53450              '''
53451              Check if a service is running on the REST server
53452              '''
53453              r = salt.utils.http.query(DETAILS['url']+'service/status/'+name, decode_type='json', decode=True)
53454              return r['dict']
53455
53456
53457          def package_list():
53458              '''
53459              List "packages" installed on the REST server
53460              '''
53461              r = salt.utils.http.query(DETAILS['url']+'package/list', decode_type='json', decode=True)
53462              return r['dict']
53463
53464
53465          def package_install(name, **kwargs):
53466              '''
53467              Install a "package" on the REST server
53468              '''
53469              cmd = DETAILS['url']+'package/install/'+name
53470              if kwargs.get('version', False):
53471                  cmd += '/'+kwargs['version']
53472              else:
53473                  cmd += '/1.0'
53474              r = salt.utils.http.query(cmd, decode_type='json', decode=True)
53475              return r['dict']
53476
53477
53478          def fix_outage():
53479              r = salt.utils.http.query(DETAILS['url']+'fix_outage')
53480              return r
53481
53482
53483          def uptodate(name):
53484
53485              '''
53486              Call the REST endpoint to see if the packages on the "server" are up to date.
53487              '''
53488              r = salt.utils.http.query(DETAILS['url']+'package/remove/'+name, decode_type='json', decode=True)
53489              return r['dict']
53490
53491
53492          def package_remove(name):
53493
53494              '''
53495              Remove a "package" on the REST server
53496              '''
53497              r = salt.utils.http.query(DETAILS['url']+'package/remove/'+name, decode_type='json', decode=True)
53498              return r['dict']
53499
53500
53501          def package_status(name):
53502              '''
53503              Check the installation status of a package on the REST server
53504              '''
53505              r = salt.utils.http.query(DETAILS['url']+'package/status/'+name, decode_type='json', decode=True)
53506              return r['dict']
53507
53508
53509          def ping():
53510              '''
53511              Is the REST server up?
53512              '''
53513              r = salt.utils.http.query(DETAILS['url']+'ping', decode_type='json', decode=True)
53514              try:
53515                  return r['dict'].get('ret', False)
53516              except Exception:
53517                  return False
53518
53519
53520          def shutdown(opts):
53521              '''
53522              For this proxy shutdown is a no-op
53523              '''
53524              log.debug('rest_sample proxy shutdown() called...')
53525
53526       Grains are data about minions.  Most proxied devices will have a paltry
53527       amount  of  data  as compared to a typical Linux server.  By default, a
53528       proxy minion will have several grains taken from the host.   Salt  core
53529       code  requires  values  for kernel, os, and os_family--all of these are
53530       forced to be proxy for proxy-minions.
53531
53532       To add others to your proxy minion for a particular  device,  create  a
53533       file  in  salt/grains named [proxytype].py and place inside it the dif‐
53534       ferent functions that need to be run to collect the data you are inter‐
53535       ested   in.   Here's  an  example.   Note  the  function  below  called
53536       proxy_functions.  It demonstrates how a grains function can take a sin‐
53537       gle  argument,  which  will  be  set to the value of __proxy__.  Dunder
53538       variables are not yet injected into Salt processes at the  time  grains
53539       are loaded, so this enables us to get a handle to the proxymodule so we
53540       can cross-call the functions therein used to commmunicate with the con‐
53541       trolled device.
53542
53543       Note that as of 2016.3, grains values can also be calculated in a func‐
53544       tion called grains() in the proxymodule itself.  This might  be  useful
53545       if a proxymodule author wants to keep all the code for the proxy inter‐
53546       face in the same place instead of splitting it between  the  proxy  and
53547       grains directories.
53548
53549       This  function  will  only be called automatically if the configuration
53550       variable proxy_merge_grains_in_module is set to True in the proxy  con‐
53551       figuration  file  (default /etc/salt/proxy).  This variable defaults to
53552       True in the release code-named 2017.7.0.
53553
53554   The __proxyenabled__ directive
53555       In previous versions of Salt the __proxyenabled__ directive  controlled
53556       loading  of  all  Salt modules for proxies (e.g. grains, execution mod‐
53557       ules, state modules).  From 2016.3 on, the only  modules  that  respect
53558       __proxyenabled__  are  grains and proxy modules.  These modules need to
53559       be told which proxy they work with.
53560
53561       __proxyenabled__ is a list, and can contain a single '*' to indicate  a
53562       grains module works with all proxies.
53563
53564       Example from salt/grains/rest_sample.py:
53565
53566          # -*- coding: utf-8 -*-
53567          '''
53568          Generate baseline proxy minion grains
53569          '''
53570          from __future__ import absolute_import
53571          import salt.utils
53572
53573          __proxyenabled__ = ['rest_sample']
53574
53575          __virtualname__ = 'rest_sample'
53576
53577          def __virtual__():
53578              try:
53579                  if salt.utils.platform.is_proxy() and __opts__['proxy']['proxytype'] == 'rest_sample':
53580                      return __virtualname__
53581              except KeyError:
53582                  pass
53583
53584              return False
53585
53586   Salt Proxy Minion End-to-End Example
53587       The  following  is  walkthrough that documents how to run a sample REST
53588       service and configure one or more proxy minions to talk to and  control
53589       it.
53590
53591       1. Ideally,  create  a  Python virtualenv in which to run the REST ser‐
53592          vice.  This is not strictly required, but without a  virtualenv  you
53593          will need to install bottle via pip globally on your system
53594
53595       2. Clone  https://github.com/saltstack/salt-contrib  and  copy the con‐
53596          tents of  the  directory  proxyminion_rest_example  somewhere  on  a
53597          machine  that is reachable from the machine on which you want to run
53598          the salt-proxy.  This machine needs Python 2.7 or later.
53599
53600       3. Install bottle version 0.12.8 via pip or easy_install
53601
53602          pip install bottle==0.12.8
53603
53604       4. Run python rest.py --help for usage
53605
53606       5. Start the REST API on an appropriate port and IP.
53607
53608       6. Load the REST service's status page in your browser by going to  the
53609          IP/port combination (e.g. http://127.0.0.1:8000)
53610
53611       7. You  should  see  a  page entitled "Salt Proxy Minion" with two sec‐
53612          tions, one for "services" and one for "packages" and you should  see
53613          a log entry in the terminal where you started the REST process indi‐
53614          cating that the index page was retrieved.
53615       [image]
53616
53617       Now, configure your salt-proxy.
53618
53619       1. Edit /etc/salt/proxy and add an entry for your master's location
53620
53621          master: localhost
53622
53623       2. On your salt-master, ensure  that  pillar  is  configured  properly.
53624          Select  an ID for your proxy (in this example we will name the proxy
53625          with the letter 'p' followed by the port the proxy is answering on).
53626          In your pillar topfile, place an entry for your proxy:
53627
53628          base:
53629            'p8000':
53630              - p8000
53631
53632       This  says  that  Salt's  pillar  should load some values for the proxy
53633       p8000 from the file /srv/pillar/p8000.sls (if you have not changed your
53634       default pillar_roots)
53635
53636       3. In the pillar root for your base environment, create this file:
53637
53638          p8000.sls
53639          ---------
53640
53641          proxy:
53642            proxytype: rest_sample
53643            url: http://<IP your REST listens on>:port
53644
53645       In  other  words,  if  your  REST  service is listening on port 8000 on
53646       127.0.0.1 the 'url' key above should say url: http://127.0.0.1:8000
53647
53648       4. Make sure your salt-master is running.
53649
53650       5. Start the salt-proxy in debug mode
53651
53652          salt-proxy --proxyid=p8000 -l debug
53653
53654       6. Accept your proxy's key on your salt-master
53655
53656          salt-key -y -a p8000
53657          The following keys are going to be accepted:
53658          Unaccepted Keys:
53659          p8000
53660          Key for minion p8000 accepted.
53661
53662       7. Now you should be able to ping  your  proxy.   When  you  ping,  you
53663          should  see  a  log  entry in the terminal where the REST service is
53664          running.
53665
53666          salt p8000 test.ping
53667
53668       8. The REST service implements a degenerately simple  pkg  and  service
53669          provider  as well as a small set of grains.  To "install" a package,
53670          use a standard pkg.install.  If you pass '==' and a verrsion  number
53671          after  the  package name then the service will parse that and accept
53672          that as the package's version.
53673
53674       9. Try running salt p8000 grains.items to see what  grains  are  avail‐
53675          able.  You can target proxies via grains if you like.
53676
53677       10.
53678          You can also start and stop the available services (apache, redbull,
53679          and postgresql with service.start, etc.
53680
53681       11.
53682          States can be written to target the proxy.  Feel free to  experiment
53683          with them.
53684
53685   SSH Proxymodules
53686       See  above for a general introduction to writing proxy modules.  All of
53687       the guidelines that apply to REST are the same for SSH.  This  sections
53688       specifically  talks about the SSH proxy module and explains the working
53689       of the example proxy module ssh_sample.
53690
53691       Here is a simple example proxymodule used to interface to a device over
53692       SSH.  Code for the SSH shell is in the salt-contrib GitHub repository.
53693
53694       This proxymodule enables "package" installation.
53695
53696          # -*- coding: utf-8 -*-
53697          '''
53698          This is a simple proxy-minion designed to connect to and communicate with
53699          a server that exposes functionality via SSH.
53700          This can be used as an option when the device does not provide
53701          an api over HTTP and doesn't have the python stack to run a minion.
53702          '''
53703          from __future__ import absolute_import
53704
53705          # Import python libs
53706          import salt.utils.json
53707          import logging
53708
53709          # Import Salt's libs
53710          from salt.utils.vt_helper import SSHConnection
53711          from salt.utils.vt import TerminalException
53712
53713          # This must be present or the Salt loader won't load this module
53714          __proxyenabled__ = ['ssh_sample']
53715
53716          DETAILS = {}
53717
53718          # Want logging!
53719          log = logging.getLogger(__file__)
53720
53721
53722          # This does nothing, it's here just as an example and to provide a log
53723          # entry when the module is loaded.
53724          def __virtual__():
53725              '''
53726              Only return if all the modules are available
53727              '''
53728              log.info('ssh_sample proxy __virtual__() called...')
53729
53730              return True
53731
53732
53733          def init(opts):
53734              '''
53735              Required.
53736              Can be used to initialize the server connection.
53737              '''
53738              try:
53739                  DETAILS['server'] = SSHConnection(host=__opts__['proxy']['host'],
53740                                                    username=__opts__['proxy']['username'],
53741                                                    password=__opts__['proxy']['password'])
53742                  # connected to the SSH server
53743                  out, err = DETAILS['server'].sendline('help')
53744
53745              except TerminalException as e:
53746                  log.error(e)
53747                  return False
53748
53749
53750          def shutdown(opts):
53751              '''
53752              Disconnect
53753              '''
53754              DETAILS['server'].close_connection()
53755
53756
53757          def parse(out):
53758              '''
53759              Extract json from out.
53760
53761              Parameter
53762                  out: Type string. The data returned by the
53763                  ssh command.
53764              '''
53765              jsonret = []
53766              in_json = False
53767              for ln_ in out.split('\n'):
53768                  if '{' in ln_:
53769                      in_json = True
53770                  if in_json:
53771                      jsonret.append(ln_)
53772                  if '}' in ln_:
53773                      in_json = False
53774              return salt.utils.json.loads('\n'.join(jsonret))
53775
53776
53777          def package_list():
53778              '''
53779              List "packages" by executing a command via ssh
53780              This function is called in response to the salt command
53781
53782              ..code-block::bash
53783                  salt target_minion pkg.list_pkgs
53784
53785              '''
53786              # Send the command to execute
53787              out, err = DETAILS['server'].sendline('pkg_list')
53788
53789              # "scrape" the output and return the right fields as a dict
53790              return parse(out)
53791
53792
53793          def package_install(name, **kwargs):
53794              '''
53795              Install a "package" on the REST server
53796              '''
53797              cmd = 'pkg_install ' + name
53798              if 'version' in kwargs:
53799                  cmd += '/'+kwargs['version']
53800              else:
53801                  cmd += '/1.0'
53802
53803              # Send the command to execute
53804              out, err = DETAILS['server'].sendline(cmd)
53805
53806              # "scrape" the output and return the right fields as a dict
53807              return parse(out)
53808
53809
53810          def package_remove(name):
53811              '''
53812              Remove a "package" on the REST server
53813              '''
53814              cmd = 'pkg_remove ' + name
53815
53816              # Send the command to execute
53817              out, err = DETAILS['server'].sendline(cmd)
53818
53819              # "scrape" the output and return the right fields as a dict
53820              return parse(out)
53821
53822   Connection Setup
53823       The  init()  method  is  responsible  for connection setup. It uses the
53824       host, username and password config  variables  defined  in  the  pillar
53825       data.  The  prompt  kwarg  can  be  passed to SSHConnection if your SSH
53826       server's prompt differs from the example's prompt (Cmd).  Instantiating
53827       the SSHConnection class establishes an SSH connection to the ssh server
53828       (using Salt VT).
53829
53830   Command execution
53831       The package_* methods use the SSH connection (established in init()) to
53832       send  commands  out to the SSH server. The sendline() method of SSHCon‐
53833       nection class can be used to send commands out to the  server.  In  the
53834       above  example  we  send commands like pkg_list or pkg_install. You can
53835       send any SSH command via this utility.
53836
53837   Output parsing
53838       Output returned by sendline() is a tuple of  strings  representing  the
53839       stdout  and the stderr respectively. In the toy example shown we simply
53840       scrape the output and convert it to a python dictionary,  as  shown  in
53841       the  parse  method.  You  can  tailor this method to match your parsing
53842       logic.
53843
53844   Connection teardown
53845       The shutdown method is responsible for calling  the  close_connection()
53846       method  of  SSHConnection  class.  This  ends the SSH connection to the
53847       server.
53848
53849       For more information please refer to class SSHConnection.
53850
53851   Salt Proxy Minion SSH End-to-End Example
53852       The following is walkthrough that documents how to  run  a  sample  SSH
53853       service  and configure one or more proxy minions to talk to and control
53854       it.
53855
53856       1. This walkthrough uses a custom SSH shell to provide an  end  to  end
53857          example.  Any other shells can be used too.
53858
53859       2. Setup      the      proxy      command      shell      as      shown
53860          https://github.com/saltstack/salt-contrib/tree/master/proxyminion_ssh_example
53861
53862       Now, configure your salt-proxy.
53863
53864       1. Edit /etc/salt/proxy and add an entry for your master's location
53865
53866          master: localhost
53867          multiprocessing: False
53868
53869       2. On  your  salt-master,  ensure  that  pillar is configured properly.
53870          Select an ID for your proxy (in this example we will name the  proxy
53871          with the letter 'p' followed by the port the proxy is answering on).
53872          In your pillar topfile, place an entry for your proxy:
53873
53874          base:
53875            'p8000':
53876              - p8000
53877
53878       This says that Salt's pillar should load  some  values  for  the  proxy
53879       p8000 from the file /srv/pillar/p8000.sls (if you have not changed your
53880       default pillar_roots)
53881
53882       3. In the pillar root for your base environment, create this file:
53883
53884          p8000.sls
53885          ---------
53886
53887          proxy:
53888            proxytype: ssh_sample
53889            host: saltyVM
53890            username: salt
53891            password: badpass
53892
53893       4. Make sure your salt-master is running.
53894
53895       5. Start the salt-proxy in debug mode
53896
53897          salt-proxy --proxyid=p8000 -l debug
53898
53899       6. Accept your proxy's key on your salt-master
53900
53901          salt-key -y -a p8000
53902          The following keys are going to be accepted:
53903          Unaccepted Keys:
53904          p8000
53905          Key for minion p8000 accepted.
53906
53907       7. Now you should be able to run commands on your proxy.
53908
53909          salt p8000 pkg.list_pkgs
53910
53911       8. The SSH shell implements a degenerately simple pkg.  To "install"  a
53912          package,  use  a standard pkg.install.  If you pass '==' and a verr‐
53913          sion number after the package name then the service will parse  that
53914          and accept that as the package's version.
53915       New in version 2015.8.3.
53916
53917
53918   Proxy Minion Beacon
53919       The salt proxy beacon is meant to facilitate configuring multiple prox‐
53920       ies on one or many minions. This should simplify configuring and manag‐
53921       ing multiple salt-proxy processes.
53922
53923       1. On  your  salt-master,  ensure  that  pillar is configured properly.
53924          Select an ID for your proxy (in this example we will name the  proxy
53925          'p8000').  In your pillar topfile, place an entry for your proxy:
53926
53927          base:
53928            'p8000':
53929              - p8000
53930
53931       This  says  that  Salt's  pillar  should load some values for the proxy
53932       p8000 from the file /srv/pillar/p8000.sls (if you have not changed your
53933       default pillar_roots)
53934
53935       2. In the pillar root for your base environment, create this file:
53936
53937          p8000.sls
53938          ---------
53939
53940          proxy:
53941            # set proxytype for your proxymodule
53942            proxytype: ssh_sample
53943            host: saltyVM
53944            username: salt
53945            password: badpass
53946
53947       This should complete the proxy setup for p8000
53948
53949       3. Configure the salt_proxy beacon
53950
53951          beacons:
53952            salt_proxy:
53953              - proxies:
53954                  p8000: {}
53955                  p8001: {}
53956
53957       Once  this  beacon  is  configured  it  will  automatically  start  the
53958       salt-proxy process. If the salt-proxy process is terminated the  beacon
53959       will re-start it.
53960
53961       4. Accept your proxy's key on your salt-master
53962
53963          salt-key -y -a p8000
53964          The following keys are going to be accepted:
53965          Unaccepted Keys:
53966          p8000
53967          Key for minion p8000 accepted.
53968
53969       5. Now you should be able to run commands on your proxy.
53970
53971          salt p8000 pkg.list_pkgs
53972       New in version 2015.8.2.
53973
53974
53975   Proxy Minion States
53976       Salt  proxy state can be used to deploy, configure and run a salt-proxy
53977       instance on your minion. Configure proxy settings on  the  master  side
53978       and the state configures and runs salt-proxy on the remote end.
53979
53980       1. On  your  salt-master,  ensure  that  pillar is configured properly.
53981          Select an ID for your proxy (in this example we will name the  proxy
53982          'p8000').  In your pillar topfile, place an entry for your proxy:
53983
53984          base:
53985            'p8000':
53986              - p8000
53987
53988       This  says  that  Salt's  pillar  should load some values for the proxy
53989       p8000 from the file /srv/pillar/p8000.sls (if you have not changed your
53990       default pillar_roots)
53991
53992       2. In the pillar root for your base environment, create this file:
53993
53994          p8000.sls
53995          ---------
53996
53997          proxy:
53998            # set proxytype for your proxymodule
53999            proxytype: ssh_sample
54000            host: saltyVM
54001            username: salt
54002            password: badpass
54003
54004       3. Create  the  following  state  in  your  state  tree  (let's name it
54005          salt_proxy.sls)
54006
54007          salt-proxy-configure:
54008            salt_proxy.configure_proxy:
54009              - proxyname: p8000
54010              - start: True # start the process if it isn't running
54011
54012       4. Make sure your salt-master and salt-minion are running.
54013
54014       5. Run the state salt_proxy  on  the  minion  where  you  want  to  run
54015          salt-proxy
54016
54017       Example using state.sls to configure and run salt-proxy
54018
54019          # salt device_minion state.sls salt_proxy
54020
54021       This starts salt-proxy on device_minion
54022
54023       6. Accept your proxy's key on your salt-master
54024
54025          salt-key -y -a p8000
54026          The following keys are going to be accepted:
54027          Unaccepted Keys:
54028          p8000
54029          Key for minion p8000 accepted.
54030
54031       7. Now you should be able to run commands on your proxy.
54032
54033          salt p8000 pkg.list_pkgs
54034

NETWORK AUTOMATION

54036       Network automation is a continuous process of automating the configura‐
54037       tion, management and operations of a  computer  network.  Although  the
54038       abstraction  could  be compared with the operations on the server side,
54039       there are many particular challenges, the most important being  that  a
54040       network device is traditionally closed hardware able to run proprietary
54041       software only. In other words, the user is  not  able  to  install  the
54042       salt-minion package directly on a traditional network device. For these
54043       reasons, most network devices can be controlled only remotely via proxy
54044       minions  or using the Salt SSH. However, there are also vendors produc‐
54045       ing whitebox equipment (e.g. Arista, Cumulus) or others that have moved
54046       the operating system in the container (e.g. Cisco NX-OS, Cisco IOS-XR),
54047       allowing the salt-minion to be installed directly on the platform.
54048
54049   New in Carbon (2016.11)
54050       The methodologies  for  network  automation  have  been  introduced  in
54051       2016.11.0. Network automation support is based on proxy minions.
54052
54053       · NAPALM proxy
54054
54055       · Junos proxy
54056
54057       · Cisco NXOS
54058
54059       · Cisco NOS
54060
54061   NAPALM
54062       NAPALM  (Network  Automation and Programmability Abstraction Layer with
54063       Multivendor support) is an opensourced Python library that implements a
54064       set of functions to interact with different router vendor devices using
54065       a unified API.  Being vendor-agnostic  simplifies  operations,  as  the
54066       configuration  and interaction with the network device does not rely on
54067       a particular vendor.  [image]
54068
54069       Beginning with 2017.7.0, the NAPALM modules have  been  transformed  so
54070       they  can  run  in  both  proxy and regular minions. That means, if the
54071       operating system allows,  the  salt-minion  package  can  be  installed
54072       directly  on the network gear.  The interface between the network oper‐
54073       ating system and Salt in that case would be  the  corresponding  NAPALM
54074       sub-package.
54075
54076       For  example,  if the user installs the salt-minion on a Arista switch,
54077       the only requirement is napalm-eos.
54078
54079       The following modules are available in 2017.7.0:
54080
54081       · NAPALM grains
54082
54083       · NET execution module - Networking basic features
54084
54085       · NTP execution module
54086
54087       · BGP execution module
54088
54089       · Routes execution module
54090
54091       · SNMP execution module
54092
54093       · Users execution module
54094
54095       · Probes execution module
54096
54097       · NTP peers management state
54098
54099       · SNMP configuration management state
54100
54101       · Users management state
54102
54103       · Netconfig state module - Manage the configuration of network  devices
54104         using  arbitrary  templates and the Salt-specific advanced templating
54105         methodologies.
54106
54107       · Network ACL execution module - Generate and load ACL (firewall)  con‐
54108         figuration on network devices.
54109
54110       · Network  ACL  state  -  Manage  the  firewall  configuration. It only
54111         requires writing the pillar structure correctly!
54112
54113       · NAPALM YANG execution module - Parse, generate and load native device
54114         configuration  in  a  standard way, using the OpenConfig/IETF models.
54115         This module contains also helpers for the states.
54116
54117       · NAPALM YANG state module - Manage the  network  device  configuration
54118         according to the YANG models (OpenConfig or IETF).
54119
54120       · NET  finder  -  Runner  to  find  details easily and fast. It's smart
54121         enough to know what you are  looking  for.  It  will  search  in  the
54122         details  of the network interfaces, IP addresses, MAC address tables,
54123         ARP tables and LLDP neighbors.
54124
54125       · BGP finder - Runner to search BGP neighbors details.
54126
54127       · NAPALM syslog - Engine to import events from the napalm-logs  library
54128         into  the Salt event bus. The events are based on the syslog messages
54129         from the network devices and structured following the OpenConfig/IETF
54130         YANG models.
54131
54132       · NAPALM  Helpers  - Generic helpers for NAPALM-related operations. For
54133         example, the Compliance report function can be used inside the  state
54134         modules to compare the expected and the existing configuration.
54135
54136   Getting started
54137       Install  NAPALM  -  follow  the  notes  and check the platform-specific
54138       dependencies.
54139
54140       Salt's Pillar system is ideally suited  for  configuring  proxy-minions
54141       (though  they  can  be configured in /etc/salt/proxy as well).  Proxies
54142       can either be designated via a pillar file in pillar_roots, or  through
54143       an external pillar.  External pillars afford the opportunity for inter‐
54144       facing with a  configuration  management  system,  database,  or  other
54145       knowledgeable  system that may already contain all the details of proxy
54146       targets. To use static files in pillar_roots, pattern your files  after
54147       the following examples:
54148
54149       /etc/salt/pillar/top.sls
54150
54151          base:
54152            router1:
54153              - router1
54154            router2:
54155              - router2
54156            switch1:
54157              - swtich1
54158            swtich2:
54159              - switch2
54160            cpe1:
54161              - cpe1
54162
54163       /etc/salt/pillar/router1.sls
54164
54165          proxy:
54166            proxytype: napalm
54167            driver: junos
54168            host: r1.bbone.as1234.net
54169            username: my_username
54170            password: my_password
54171
54172       /etc/salt/pillar/router2.sls
54173
54174          proxy:
54175            proxytype: napalm
54176            driver: iosxr
54177            host: r2.bbone.as1234.net
54178            username: my_username
54179            password: my_password
54180            optional_args:
54181              port: 22022
54182
54183       /etc/salt/pillar/switch1.sls
54184
54185          proxy:
54186            proxytype: napalm
54187            driver: eos
54188            host: sw1.bbone.as1234.net
54189            username: my_username
54190            password: my_password
54191            optional_args:
54192              enable_password: my_secret
54193
54194       /etc/salt/pillar/switch2.sls
54195
54196          proxy:
54197            proxytype: napalm
54198            driver: nxos
54199            host: sw2.bbone.as1234.net
54200            username: my_username
54201            password: my_password
54202
54203       /etc/salt/pillar/cpe1.sls
54204
54205          proxy:
54206            proxytype: napalm
54207            driver: ios
54208            host: cpe1.edge.as1234.net
54209            username: ''
54210            password: ''
54211            optional_args:
54212              use_keys: True
54213              auto_rollback_on_error: True
54214
54215   CLI examples
54216       Display the complete running configuration on router1:
54217
54218          $ sudo salt 'router1' net.config source='running'
54219
54220       Retrieve the NTP servers configured on all devices:
54221
54222          $ sudo salt '*' ntp.servers
54223          router1:
54224            ----------
54225            comment:
54226            out:
54227                - 1.2.3.4
54228            result:
54229                True
54230          cpe1:
54231            ----------
54232            comment:
54233            out:
54234                - 1.2.3.4
54235            result:
54236                True
54237          switch2:
54238            ----------
54239            comment:
54240            out:
54241                - 1.2.3.4
54242            result:
54243                True
54244          router2:
54245            ----------
54246            comment:
54247            out:
54248                - 1.2.3.4
54249            result:
54250                True
54251          switch1:
54252            ----------
54253            comment:
54254            out:
54255                - 1.2.3.4
54256            result:
54257                True
54258
54259       Display the ARP tables on all Cisco devices running IOS-XR 5.3.3:
54260
54261          $ sudo salt -G 'os:iosxr and version:5.3.3' net.arp
54262
54263       Return operational details for interfaces from Arista switches:
54264
54265          $ sudo salt -C 'sw* and os:eos' net.interfaces
54266
54267       Execute traceroute from the edge of the network:
54268
54269          $ sudo salt 'router*' net.traceroute 8.8.8.8 vrf='CUSTOMER1-VRF'
54270
54271       Verbatim display from the CLI of Juniper routers:
54272
54273          $ sudo salt -C 'router* and G@os:junos' net.cli 'show version and haiku'
54274
54275       Retrieve  the  results  of  the  RPM probes configured on Juniper MX960
54276       routers:
54277
54278          $ sudo salt -C 'router* and G@os:junos and G@model:MX960' probes.results
54279
54280       Return the list of configured users on the CPEs:
54281
54282          $ sudo salt 'cpe*' users.config
54283
54284       Using the BGP finder, return the list of BGP neighbors that are down:
54285
54286          $ sudo salt-run bgp.neighbors up=False
54287
54288       Using the NET finder, determine  the  devices  containing  the  pattern
54289       "PX-1234-LHR" in their interface description:
54290
54291          $ sudo salt-run net.find PX-1234-LHR
54292
54293   Cross-platform configuration management example: NTP
54294       Assuming that the user adds the following two lines under file_roots:
54295
54296          file_roots:
54297            base:
54298              - /etc/salt/pillar/
54299              - /etc/salt/templates/
54300              - /etc/salt/states/
54301
54302       Define the list of NTP peers and servers wanted:
54303
54304       /etc/salt/pillar/ntp.sls
54305
54306          ntp.servers:
54307            - 1.2.3.4
54308            - 5.6.7.8
54309          ntp.peers:
54310             - 10.11.12.13
54311             - 14.15.16.17
54312
54313       Include  the  new  file:  for  example, if we want to have the same NTP
54314       servers on all network devices, we can add the  following  line  inside
54315       the top.sls file:
54316
54317          '*':
54318            - ntp
54319
54320       /etc/salt/pillar/top.sls
54321
54322          base:
54323            '*':
54324              - ntp
54325            router1:
54326              - router1
54327            router2:
54328              - router2
54329            switch1:
54330              - swtich1
54331            swtich2:
54332              - switch2
54333            cpe1:
54334              - cpe1
54335
54336       Or include only where needed:
54337
54338       /etc/salt/pillar/top.sls
54339
54340          base:
54341            router1:
54342              - router1
54343              - ntp
54344            router2:
54345              - router2
54346              - ntp
54347            switch1:
54348              - swtich1
54349            swtich2:
54350              - switch2
54351            cpe1:
54352              - cpe1
54353
54354       Define the cross-vendor template:
54355
54356       /etc/salt/templates/ntp.jinja
54357
54358          {%- if grains.vendor|lower == 'cisco' %}
54359            no ntp
54360            {%- for server in servers %}
54361            ntp server {{ server }}
54362            {%- endfor %}
54363            {%- for peer in peers %}
54364            ntp peer {{ peer }}
54365            {%- endfor %}
54366          {%- elif grains.os|lower == 'junos' %}
54367            system {
54368              replace:
54369              ntp {
54370                {%- for server in servers %}
54371                server {{ server }};
54372                {%- endfor %}
54373                {%- for peer in peers %}
54374                peer {{ peer }};
54375                {%- endfor %}
54376              }
54377            }
54378          {%- endif %}
54379
54380       Define the SLS state file, making use of the Netconfig state module:
54381
54382       /etc/salt/states/router/ntp.sls
54383
54384          ntp_config_example:
54385            netconfig.managed:
54386              - template_name: salt://ntp.jinja
54387              - peers: {{ pillar.get('ntp.peers', []) | json }}
54388              - servers: {{ pillar.get('ntp.servers', []) | json }}
54389
54390       Run  the  state  and  assure  NTP configuration consistency across your
54391       multi-vendor network:
54392
54393          $ sudo salt 'router*' state.sls router.ntp
54394
54395       Besides CLI, the state can be scheduled or executed when triggered by a
54396       certain event.
54397
54398   JUNOS
54399       Juniper  has  developed  a  Junos  specific  proxy infrastructure which
54400       allows remote execution and configuration management of  Junos  devices
54401       without  having  to install SaltStack on the device. The infrastructure
54402       includes:
54403
54404       · Junos proxy
54405
54406       · Junos execution module
54407
54408       · Junos state module
54409
54410       · Junos syslog engine
54411
54412       The execution  and  state  modules  are  implemented  using  junos-eznc
54413       (PyEZ).   Junos PyEZ is a microframework for Python that enables you to
54414       remotely manage and automate devices running the Junos  operating  sys‐
54415       tem.
54416
54417   Getting started
54418       Install  PyEZ  on the system which will run the Junos proxy minion.  It
54419       is required to run Junos specific modules.
54420
54421          pip install junos-eznc
54422
54423       Next, set the master of the proxy minions.
54424
54425       /etc/salt/proxy
54426
54427          master: <master_ip>
54428
54429       Add the details of the Junos device. Device details are usually  stored
54430       in  salt  pillars.  If  the you do not wish to store credentials in the
54431       pillar, one can setup passwordless ssh.
54432
54433       /srv/pillar/vmx_details.sls
54434
54435          proxy:
54436            proxytype: junos
54437            host: <hostip>
54438            username: user
54439            passwd: secret123
54440
54441       Map the pillar file to the proxy minion. This is done in the top file.
54442
54443       /srv/pillar/top.sls
54444
54445          base:
54446            vmx:
54447              - vmx_details
54448
54449       NOTE:
54450          Before starting the Junos proxy make sure that netconf is enabled on
54451          the  Junos device. This can be done by adding the following configu‐
54452          ration on the Junos device.
54453
54454              set system services netconf ssh
54455
54456       Start the salt master.
54457
54458          salt-master -l debug
54459
54460       Then start the salt proxy.
54461
54462          salt-proxy --proxyid=vmx -l debug
54463
54464       Once the master and junos proxy minion have started, we can run  execu‐
54465       tion and state modules on the proxy minion. Below are few examples.
54466
54467   CLI examples
54468       For  detailed  documentation  of all the junos execution modules refer:
54469       Junos execution module
54470
54471       Display device facts.
54472
54473          $ sudo salt 'vmx' junos.facts
54474
54475       Refresh the Junos facts. This function  will  also  refresh  the  facts
54476       which are stored in salt grains. (Junos proxy stores Junos facts in the
54477       salt grains)
54478
54479          $ sudo salt 'vmx' junos.facts_refresh
54480
54481       Call an RPC.
54482
54483          $ sudo salt 'vmx' junos.rpc 'get-interface-information' '/var/log/interface-info.txt' terse=True
54484
54485       Install config on the device.
54486
54487          $ sudo salt 'vmx' junos.install_config 'salt://my_config.set'
54488
54489       Shutdown the junos device.
54490
54491          $ sudo salt 'vmx' junos.shutdown shutdown=True in_min=10
54492
54493   State file examples
54494       For detailed documentation of all the junos state modules refer:  Junos
54495       state module
54496
54497       Executing an RPC on Junos device and storing the output in a file.
54498
54499       /srv/salt/rpc.sls
54500
54501          get-interface-information:
54502              junos:
54503                - rpc
54504                - dest: /home/user/rpc.log
54505                - interface_name: lo0
54506
54507       Lock the junos device, load the configuration, commit it and unlock the
54508       device.
54509
54510       /srv/salt/load.sls
54511
54512          lock the config:
54513            junos.lock
54514
54515          salt://configs/my_config.set:
54516            junos:
54517              - install_config
54518              - timeout: 100
54519              - diffs_file: 'var/log/diff'
54520
54521          commit the changes:
54522            junos:
54523              - commit
54524
54525          unlock the config:
54526            junos.unlock
54527
54528       According to the device personality install appropriate  image  on  the
54529       device.
54530
54531       /srv/salt/image_install.sls
54532
54533          {% if grains['junos_facts']['personality'] == MX %}
54534          salt://images/mx_junos_image.tgz:
54535            junos:
54536              - install_os
54537              - timeout: 100
54538              - reboot: True
54539          {% elif grains['junos_facts']['personality'] == EX %}
54540          salt://images/ex_junos_image.tgz:
54541            junos:
54542              - install_os
54543              - timeout: 150
54544          {% elif grains['junos_facts']['personality'] == SRX %}
54545          salt://images/srx_junos_image.tgz:
54546            junos:
54547              - install_os
54548              - timeout: 150
54549          {% endif %}
54550
54551   Junos Syslog Engine
54552       Junos  Syslog  Engine is a Salt engine which receives data from various
54553       Junos devices, extracts event information and forwards it on  the  mas‐
54554       ter/minion  event  bus. To start the engine on the salt master, add the
54555       following configuration in the master config file.  The engine can also
54556       run on the salt minion.
54557
54558       /etc/salt/master
54559
54560          engines:
54561            - junos_syslog:
54562                port: xxx
54563
54564       For  junos_syslog  engine  to receive events, syslog must be set on the
54565       Junos device.  This can be done via following configuration:
54566
54567          set system syslog host <ip-of-the-salt-device> port xxx any any
54568

SALT VIRT

54570       The Salt Virt cloud controller capability was initially added  to  Salt
54571       in version 0.14.0 as an alpha technology.
54572
54573       The initial Salt Virt system supports core cloud operations:
54574
54575       · Virtual machine deployment
54576
54577       · Inspection of deployed VMs
54578
54579       · Virtual machine migration
54580
54581       · Network profiling
54582
54583       · Automatic VM integration with all aspects of Salt
54584
54585       · Image Pre-seeding
54586
54587       Many  features are currently under development to enhance the capabili‐
54588       ties of the Salt Virt systems.
54589
54590       NOTE:
54591          It is noteworthy that Salt was originally developed with the  intent
54592          of  using  the  Salt communication system as the backbone to a cloud
54593          controller.  This means that the Salt Virt system is not  an  after‐
54594          thought,  simply  a system that took the back seat to other develop‐
54595          ment. The original attempt to develop the cloud control  aspects  of
54596          Salt  was a project called butter.  This project never took off, but
54597          was functional and proves the early viability of Salt to be a  cloud
54598          controller.
54599
54600       WARNING:
54601          Salt  Virt  does not work with KVM that is running in a VM. KVM must
54602          be running on the base hardware.
54603
54604   Salt Virt Tutorial
54605       A tutorial about how to get Salt Virt up and running has been added  to
54606       the tutorial section:
54607
54608       Cloud Controller Tutorial
54609
54610   The Salt Virt Runner
54611       The  point of interaction with the cloud controller is the virt runner.
54612       The virt runner comes with routines to execute specific virtual machine
54613       routines.
54614
54615       Reference  documentation for the virt runner is available with the run‐
54616       ner module documentation:
54617
54618       Virt Runner Reference
54619
54620   Based on Live State Data
54621       The Salt Virt system is based on using Salt to query  live  data  about
54622       hypervisors  and  then  using the data gathered to make decisions about
54623       cloud operations. This means that no external resources are required to
54624       run  Salt  Virt,  and  that the information gathered about the cloud is
54625       live and accurate.
54626
54627   Deploy from Network or Disk
54628   Virtual Machine Disk Profiles
54629       Salt Virt allows for the disks created for deployed virtual machines to
54630       be  finely  configured.  The  configuration  is a simple data structure
54631       which is read from the config.option function, meaning that the config‐
54632       uration  can  be  stored  in  the minion config file, the master config
54633       file, or the minion's pillar.
54634
54635       This configuration option is called virt.disk.  The  default  virt.disk
54636       data structure looks like this:
54637
54638          virt.disk:
54639            default:
54640              - system:
54641                size: 8192
54642                format: qcow2
54643                model: virtio
54644
54645       NOTE:
54646          The  format and model does not need to be defined, Salt will default
54647          to the optimal format used by the underlying hypervisor, in the case
54648          of kvm this it is qcow2 and virtio.
54649
54650       This  configuration  sets up a disk profile called default. The default
54651       profile creates a single system disk on the virtual machine.
54652
54653   Define More Profiles
54654       Many environments will require  more  complex  disk  profiles  and  may
54655       require more than one profile, this can be easily accomplished:
54656
54657          virt.disk:
54658            default:
54659              - system:
54660                  size: 8192
54661            database:
54662              - system:
54663                  size: 8192
54664              - data:
54665                  size: 30720
54666            web:
54667              - system:
54668                  size: 1024
54669              - logs:
54670                  size: 5120
54671
54672       This  configuration  allows  for  one of three profiles to be selected,
54673       allowing virtual machines to be created with different storage needs of
54674       the deployed vm.
54675
54676   Virtual Machine Network Profiles
54677       Salt  Virt  allows for the network devices created for deployed virtual
54678       machines to be finely configured. The configuration is  a  simple  data
54679       structure  which  is read from the config.option function, meaning that
54680       the configuration can be stored in the minion config file,  the  master
54681       config file, or the minion's pillar.
54682
54683       This  configuration  option is called virt:nic. By default the virt:nic
54684       option is empty but defaults to a data structure which looks like this:
54685
54686          virt:
54687            nic:
54688              default:
54689                eth0:
54690                  bridge: br0
54691                  model: virtio
54692
54693       NOTE:
54694          The model does not need to be defined,  Salt  will  default  to  the
54695          optimal  model used by the underlying hypervisor, in the case of kvm
54696          this model is virtio
54697
54698       This configuration sets  up  a  network  profile  called  default.  The
54699       default profile creates a single Ethernet device on the virtual machine
54700       that is bridged to the hypervisor's br0 interface. This  default  setup
54701       does not require setting up the virt:nic configuration, and is the rea‐
54702       son why a default install only  requires  setting  up  the  br0  bridge
54703       device on the hypervisor.
54704
54705   Define More Profiles
54706       Many  environments  will  require more complex network profiles and may
54707       require more than one profile, this can be easily accomplished:
54708
54709          virt:
54710            nic:
54711              dual:
54712                eth0:
54713                  bridge: service_br
54714                eth1:
54715                  bridge: storage_br
54716              single:
54717                eth0:
54718                  bridge: service_br
54719              triple:
54720                eth0:
54721                  bridge: service_br
54722                eth1:
54723                  bridge: storage_br
54724                eth2:
54725                  bridge: dmz_br
54726              all:
54727                eth0:
54728                  bridge: service_br
54729                eth1:
54730                  bridge: storage_br
54731                eth2:
54732                  bridge: dmz_br
54733                eth3:
54734                  bridge: database_br
54735              dmz:
54736                eth0:
54737                  bridge: service_br
54738                eth1:
54739                  bridge: dmz_br
54740              database:
54741                eth0:
54742                  bridge: service_br
54743                eth1:
54744                  bridge: database_br
54745
54746       This configuration allows for one  of  six  profiles  to  be  selected,
54747       allowing  virtual machines to be created which attach to different net‐
54748       work depending on the needs of the deployed vm.
54749

COMMAND LINE REFERENCE

54751   salt-call
54752   salt-call
54753   Synopsis
54754          salt-call [options]
54755
54756   Description
54757       The salt-call command is used to run module functions locally on a min‐
54758       ion instead of executing them from the master. Salt-call is used to run
54759       a Standalone Minion, and was originally created for troubleshooting.
54760
54761       The Salt  Master  is  contacted  to  retrieve  state  files  and  other
54762       resources during execution unless the --local option is specified.
54763
54764       NOTE:
54765          salt-call  commands  execute  from the current user's shell context,
54766          while salt commands execute from the system's default context.
54767
54768   Options
54769       --version
54770              Print the version of Salt that is running.
54771
54772       --versions-report
54773              Show program's dependencies and version number, and then exit
54774
54775       -h, --help
54776              Show the help message and exit
54777
54778       -c CONFIG_DIR, --config-dir=CONFIG_dir
54779              The location of the Salt configuration directory. This directory
54780              contains  the  configuration  files for Salt master and minions.
54781              The default location on most systems is /etc/salt.
54782
54783       --hard-crash
54784              Raise any original  exception  rather  than  exiting  gracefully
54785              Default: False
54786
54787       -g, --grains
54788              Return the information generated by the Salt grains
54789
54790       -m MODULE_DIRS, --module-dirs=MODULE_DIRS
54791              Specify  an additional directory to pull modules from.  Multiple
54792              directories can be provided by passing -m /--module-dirs  multi‐
54793              ple times.
54794
54795       -d, --doc, --documentation
54796              Return  the  documentation  for  the specified module or for all
54797              modules if none are specified
54798
54799       --master=MASTER
54800              Specify the master to use. The minion must be authenticated with
54801              the  master.  If this option is omitted, the master options from
54802              the minion config will be used. If multi masters are set up  the
54803              first listed master that responds will be used.
54804
54805       --return RETURNER
54806              Set  salt-call  to  pass the return data to one or many returner
54807              interfaces.  To use many returner  interfaces  specify  a  comma
54808              delimited list of returners.
54809
54810       --local
54811              Run salt-call locally, as if there was no master running.
54812
54813       --file-root=FILE_ROOT
54814              Set this directory as the base file root.
54815
54816       --pillar-root=PILLAR_ROOT
54817              Set this directory as the base pillar root.
54818
54819       --retcode-passthrough
54820              Exit with the salt call retcode and not the salt binary retcode
54821
54822       --metadata
54823              Print  out  the  execution  metadata as well as the return. This
54824              will print out the outputter data, the return code, etc.
54825
54826       --id=ID
54827              Specify the minion id to use. If this option is omitted, the  id
54828              option from the minion config will be used.
54829
54830       --skip-grains
54831              Do not load grains.
54832
54833       --refresh-grains-cache
54834              Force a refresh of the grains cache
54835
54836   Logging Options
54837       Logging  options  which override any settings defined on the configura‐
54838       tion files.
54839
54840       -l LOG_LEVEL, --log-level=LOG_LEVEL
54841              Console logging log level. One of all,  garbage,  trace,  debug,
54842              info, warning, error, quiet. Default: warning.
54843
54844       --log-file=LOG_FILE
54845              Log file path. Default: /var/log/salt/minion.
54846
54847       --log-file-level=LOG_LEVEL_LOGFILE
54848              Logfile  logging  log  level. One of all, garbage, trace, debug,
54849              info, warning, error, quiet. Default: warning.
54850
54851   Output Options
54852       --out  Pass in an alternative outputter to display the return of  data.
54853              This outputter can be any of the available outputters:
54854                 grains,  highstate,  json,  key, overstatestage, pprint, raw,
54855                 txt, yaml
54856
54857              Some outputters are formatted only for data returned  from  spe‐
54858              cific  functions;  for  instance,  the grains outputter will not
54859              work for non-grains data.
54860
54861              If an outputter is used that does not support  the  data  passed
54862              into  it,  then  Salt will fall back on the pprint outputter and
54863              display the return data using the Python pprint standard library
54864              module.
54865
54866              NOTE:
54867                 If using --out=json, you will probably want --static as well.
54868                 Without the static option,  you  will  get  a  separate  JSON
54869                 string per minion which makes JSON output invalid as a whole.
54870                 This is due to using an iterative outputter. So if  you  want
54871                 to feed it to a JSON parser, use --static as well.
54872
54873       --out-indent OUTPUT_INDENT, --output-indent OUTPUT_INDENT
54874              Print the output indented by the provided value in spaces. Nega‐
54875              tive values disable indentation. Only applicable  in  outputters
54876              that support indentation.
54877
54878       --out-file=OUTPUT_FILE, --output-file=OUTPUT_FILE
54879              Write the output to the specified file.
54880
54881       --out-file-append, --output-file-append
54882              Append the output to the specified file.
54883
54884       --no-color
54885              Disable all colored output
54886
54887       --force-color
54888              Force colored output
54889
54890              NOTE:
54891                 When using colored output the color codes are as follows:
54892
54893                 green  denotes  success,  red  denotes  failure, blue denotes
54894                 changes and success and  yellow  denotes  a  expected  future
54895                 change in configuration.
54896
54897       --state-output=STATE_OUTPUT, --state_output=STATE_OUTPUT
54898              Override  the  configured  state_output value for minion output.
54899              One of 'full', 'terse', 'mixed', 'changes' or 'filter'. Default:
54900              'none'.
54901
54902       --state-verbose=STATE_VERBOSE, --state_verbose=STATE_VERBOSE
54903              Override  the  configured state_verbose value for minion output.
54904              Set to True or False. Default: none.
54905
54906   See also
54907       salt(1) salt-master(1) salt-minion(1)
54908
54909   salt
54910   salt
54911   Synopsis
54912          salt '*' [ options ] sys.doc
54913
54914          salt -E '.*' [ options ] sys.doc cmd
54915
54916          salt -G 'os:Arch.*' [ options ] test.ping
54917
54918          salt -C 'G@os:Arch.* and webserv* or G@kernel:FreeBSD' [  options  ]
54919          test.ping
54920
54921   Description
54922       Salt  allows  for commands to be executed across a swath of remote sys‐
54923       tems in parallel. This means that remote systems can be both controlled
54924       and queried with ease.
54925
54926   Options
54927       --version
54928              Print the version of Salt that is running.
54929
54930       --versions-report
54931              Show program's dependencies and version number, and then exit
54932
54933       -h, --help
54934              Show the help message and exit
54935
54936       -c CONFIG_DIR, --config-dir=CONFIG_dir
54937              The location of the Salt configuration directory. This directory
54938              contains the configuration files for Salt  master  and  minions.
54939              The default location on most systems is /etc/salt.
54940
54941       -t TIMEOUT, --timeout=TIMEOUT
54942              The  timeout  in  seconds to wait for replies from the Salt min‐
54943              ions. The timeout number specifies how  long  the  command  line
54944              client will wait to query the minions and check on running jobs.
54945              Default: 5
54946
54947       -s, --static
54948              By default as of version 0.9.8 the salt command returns data  to
54949              the  console  as  it  is  received  from  minions,  but previous
54950              releases would return data only after all data was received. Use
54951              the  static  option  to only return the data with a hard timeout
54952              and after all minions have returned.  Without the static option,
54953              you  will get a separate JSON string per minion which makes JSON
54954              output invalid as a whole.
54955
54956       --async
54957              Instead of waiting for the job to run on minions only print  the
54958              job id of the started execution and complete.
54959
54960       --subset=SUBSET
54961              Execute  the routine on a random subset of the targeted minions.
54962              The minions will be verified that they have the  named  function
54963              before  executing.  The SUBSET argument is the count of the min‐
54964              ions to target.
54965
54966       -v VERBOSE, --verbose
54967              Turn on verbosity for the salt call, this will  cause  the  salt
54968              command to print out extra data like the job id.
54969
54970       --hide-timeout
54971              Instead  of showing the return data for all minions. This option
54972              prints only the online minions which could be reached.
54973
54974       -b BATCH, --batch-size=BATCH
54975              Instead of executing on all targeted minions at once, execute on
54976              a  progressive  set of minions. This option takes an argument in
54977              the form of an explicit number of minions to execute at once, or
54978              a percentage of minions to execute on.
54979
54980       -a EAUTH, --auth=EAUTH
54981              Pass  in  an external authentication medium to validate against.
54982              The credentials will be prompted for. The options are auto, key‐
54983              stone, ldap, and pam. Can be used with the -T option.
54984
54985       -T, --make-token
54986              Used  in  conjunction  with  the -a option. This creates a token
54987              that allows for the authenticated user to send commands  without
54988              needing to re-authenticate.
54989
54990       --return=RETURNER
54991              Choose  an  alternative  returner  to  call on the minion, if an
54992              alternative returner is used then the return will not come  back
54993              to  the  command  line  but will be sent to the specified return
54994              system.  The options are carbon, cassandra, couchbase,  couchdb,
54995              elasticsearch,  etcd,  hipchat,  local,  local_cache,  memcache,
54996              mongo, mysql, odbc, postgres, redis, sentry, slack,  sms,  smtp,
54997              sqlite3, syslog, and xmpp.
54998
54999       -d, --doc, --documentation
55000              Return  the  documentation for the module functions available on
55001              the minions
55002
55003       --args-separator=ARGS_SEPARATOR
55004              Set the special argument used as  a  delimiter  between  command
55005              arguments of compound commands. This is useful when one wants to
55006              pass commas as arguments to some of the commands in  a  compound
55007              command.
55008
55009   Logging Options
55010       Logging  options  which override any settings defined on the configura‐
55011       tion files.
55012
55013       -l LOG_LEVEL, --log-level=LOG_LEVEL
55014              Console logging log level. One of all,  garbage,  trace,  debug,
55015              info, warning, error, quiet. Default: warning.
55016
55017       --log-file=LOG_FILE
55018              Log file path. Default: /var/log/salt/master.
55019
55020       --log-file-level=LOG_LEVEL_LOGFILE
55021              Logfile  logging  log  level. One of all, garbage, trace, debug,
55022              info, warning, error, quiet. Default: warning.
55023
55024   Target Selection
55025       The default matching that Salt utilizes is shell-style globbing  around
55026       the                   minion                   id.                  See
55027       https://docs.python.org/2/library/fnmatch.html#module-fnmatch.
55028
55029       -E, --pcre
55030              The target expression will be  interpreted  as  a  PCRE  regular
55031              expression rather than a shell glob.
55032
55033       -L, --list
55034              The  target  expression will be interpreted as a comma-delimited
55035              list; example: server1.foo.bar,server2.foo.bar,example7.quo.qux
55036
55037       -G, --grain
55038              The target expression matches values returned by the Salt grains
55039              system on the minions. The target expression is in the format of
55040              '<grain value>:<glob expression>'; example: 'os:Arch*'
55041
55042              This was changed in version 0.9.8  to  accept  glob  expressions
55043              instead  of regular expression. To use regular expression match‐
55044              ing with grains, use the --grain-pcre option.
55045
55046       --grain-pcre
55047              The target expression matches values returned by the Salt grains
55048              system on the minions. The target expression is in the format of
55049              '<grain value>:< regular expression>'; example: 'os:Arch.*'
55050
55051       -N, --nodegroup
55052              Use a predefined compound target defined in the Salt master con‐
55053              figuration file.
55054
55055       -R, --range
55056              Instead of using shell globs to evaluate the target, use a range
55057              expression to identify  targets.  Range  expressions  look  like
55058              %cluster.
55059
55060              Using  the  Range  option requires that a range server is set up
55061              and the location of the range server is referenced in the master
55062              configuration file.
55063
55064       -C, --compound
55065              Utilize  many target definitions to make the call very granular.
55066              This option takes a group of targets separated by and or or. The
55067              default  matcher  is  a glob as usual. If something other than a
55068              glob is used, preface it with  the  letter  denoting  the  type;
55069              example:  'webserv* and G@os:Debian or E@db*' Make sure that the
55070              compound target is encapsulated in quotes.
55071
55072       -I, --pillar
55073              Instead of using shell globs to evaluate the target, use a  pil‐
55074              lar  value to identify targets. The syntax for the target is the
55075              pillar key followed by a glob expression: "role:production*"
55076
55077       -S, --ipcidr
55078              Match based on Subnet (CIDR notation) or IPv4 address.
55079
55080   Output Options
55081       --out  Pass in an alternative outputter to display the return of  data.
55082              This outputter can be any of the available outputters:
55083                 grains,  highstate,  json,  key, overstatestage, pprint, raw,
55084                 txt, yaml
55085
55086              Some outputters are formatted only for data returned  from  spe‐
55087              cific  functions;  for  instance,  the grains outputter will not
55088              work for non-grains data.
55089
55090              If an outputter is used that does not support  the  data  passed
55091              into  it,  then  Salt will fall back on the pprint outputter and
55092              display the return data using the Python pprint standard library
55093              module.
55094
55095              NOTE:
55096                 If using --out=json, you will probably want --static as well.
55097                 Without the static option,  you  will  get  a  separate  JSON
55098                 string per minion which makes JSON output invalid as a whole.
55099                 This is due to using an iterative outputter. So if  you  want
55100                 to feed it to a JSON parser, use --static as well.
55101
55102       --out-indent OUTPUT_INDENT, --output-indent OUTPUT_INDENT
55103              Print the output indented by the provided value in spaces. Nega‐
55104              tive values disable indentation. Only applicable  in  outputters
55105              that support indentation.
55106
55107       --out-file=OUTPUT_FILE, --output-file=OUTPUT_FILE
55108              Write the output to the specified file.
55109
55110       --out-file-append, --output-file-append
55111              Append the output to the specified file.
55112
55113       --no-color
55114              Disable all colored output
55115
55116       --force-color
55117              Force colored output
55118
55119              NOTE:
55120                 When using colored output the color codes are as follows:
55121
55122                 green  denotes  success,  red  denotes  failure, blue denotes
55123                 changes and success and  yellow  denotes  a  expected  future
55124                 change in configuration.
55125
55126       --state-output=STATE_OUTPUT, --state_output=STATE_OUTPUT
55127              Override  the  configured  state_output value for minion output.
55128              One of 'full', 'terse', 'mixed', 'changes' or 'filter'. Default:
55129              'none'.
55130
55131       --state-verbose=STATE_VERBOSE, --state_verbose=STATE_VERBOSE
55132              Override  the  configured state_verbose value for minion output.
55133              Set to True or False. Default: none.
55134
55135   See also
55136       salt(7) salt-master(1) salt-minion(1)
55137
55138   salt-cloud
55139   salt-cp
55140   salt-cp
55141       Copy a file or files to one or more minions
55142
55143   Synopsis
55144          salt-cp '*' [ options ] SOURCE [SOURCE2 SOURCE3 ...] DEST
55145
55146          salt-cp -E '.*' [ options ] SOURCE [SOURCE2 SOURCE3 ...] DEST
55147
55148          salt-cp -G 'os:Arch.*' [ options ] SOURCE [SOURCE2 SOURCE3 ...] DEST
55149
55150   Description
55151       salt-cp copies files from the master to all of the Salt minions matched
55152       by the specified target expression.
55153
55154       NOTE:
55155          salt-cp  uses Salt's publishing mechanism. This means the privacy of
55156          the contents of the file on the wire is  completely  dependent  upon
55157          the  transport  in use. In addition, if the master or minion is run‐
55158          ning with debug logging, the contents of the file will be logged  to
55159          disk.
55160
55161          In  addition,  this  tool is less efficient than the Salt fileserver
55162          when  copying  larger  files.  It  is  recommended  to  instead  use
55163          cp.get_file  to copy larger files to minions. However, this requires
55164          the file to be located within one of the fileserver directories.
55165
55166       Changed in  version  2016.3.7,2016.11.6,2017.7.0:  Compression  support
55167       added,  disable  with  -n. Also, if the destination path ends in a path
55168       separator (i.e. /,  or \ on Windows, the desitination will  be  assumed
55169       to  be  a  directory. Finally, recursion is now supported, allowing for
55170       entire directories to be copied.
55171
55172
55173       Changed in version 2016.11.7,2017.7.2: Reverted back to  the  old  copy
55174       mode to preserve backward compatibility. The new functionality added in
55175       2016.6.6 and 2017.7.0 is now available using the -C  or  --chunked  CLI
55176       arguments.  Note  that  compression, recursive copying, and support for
55177       copying large files is only available in chunked mode.
55178
55179
55180   Options
55181       --version
55182              Print the version of Salt that is running.
55183
55184       --versions-report
55185              Show program's dependencies and version number, and then exit
55186
55187       -h, --help
55188              Show the help message and exit
55189
55190       -c CONFIG_DIR, --config-dir=CONFIG_dir
55191              The location of the Salt configuration directory. This directory
55192              contains  the  configuration  files for Salt master and minions.
55193              The default location on most systems is /etc/salt.
55194
55195       -t TIMEOUT, --timeout=TIMEOUT
55196              The timeout in seconds to wait for replies from  the  Salt  min‐
55197              ions.  The  timeout  number  specifies how long the command line
55198              client will wait to query the minions and check on running jobs.
55199              Default: 5
55200
55201   Logging Options
55202       Logging  options  which override any settings defined on the configura‐
55203       tion files.
55204
55205       -l LOG_LEVEL, --log-level=LOG_LEVEL
55206              Console logging log level. One of all,  garbage,  trace,  debug,
55207              info, warning, error, quiet. Default: warning.
55208
55209       --log-file=LOG_FILE
55210              Log file path. Default: /var/log/salt/master.
55211
55212       --log-file-level=LOG_LEVEL_LOGFILE
55213              Logfile  logging  log  level. One of all, garbage, trace, debug,
55214              info, warning, error, quiet. Default: warning.
55215
55216   Target Selection
55217       The default matching that Salt utilizes is shell-style globbing  around
55218       the                   minion                   id.                  See
55219       https://docs.python.org/2/library/fnmatch.html#module-fnmatch.
55220
55221       -E, --pcre
55222              The target expression will be  interpreted  as  a  PCRE  regular
55223              expression rather than a shell glob.
55224
55225       -L, --list
55226              The  target  expression will be interpreted as a comma-delimited
55227              list; example: server1.foo.bar,server2.foo.bar,example7.quo.qux
55228
55229       -G, --grain
55230              The target expression matches values returned by the Salt grains
55231              system on the minions. The target expression is in the format of
55232              '<grain value>:<glob expression>'; example: 'os:Arch*'
55233
55234              This was changed in version 0.9.8  to  accept  glob  expressions
55235              instead  of regular expression. To use regular expression match‐
55236              ing with grains, use the --grain-pcre option.
55237
55238       --grain-pcre
55239              The target expression matches values returned by the Salt grains
55240              system on the minions. The target expression is in the format of
55241              '<grain value>:< regular expression>'; example: 'os:Arch.*'
55242
55243       -N, --nodegroup
55244              Use a predefined compound target defined in the Salt master con‐
55245              figuration file.
55246
55247       -R, --range
55248              Instead of using shell globs to evaluate the target, use a range
55249              expression to identify  targets.  Range  expressions  look  like
55250              %cluster.
55251
55252              Using  the  Range  option requires that a range server is set up
55253              and the location of the range server is referenced in the master
55254              configuration file.
55255
55256       -C, --chunked
55257              Use  new  chunked  mode  to copy files. This mode supports large
55258              files, recursive directories copying and compression.
55259
55260              New in version 2016.11.7,2017.7.2.
55261
55262
55263       -n, --no-compression
55264              Disable gzip compression in chunked mode.
55265
55266              New in version 2016.3.7,2016.11.6,2017.7.0.
55267
55268
55269   See also
55270       salt(1) salt-master(1) salt-minion(1)
55271
55272   salt-extend
55273   salt-extend
55274       A utilty to generate extensions to the Salt source-code. This  is  used
55275       for :
55276
55277       · Adding new execution modules, state modules
55278
55279       · Adding unit tests to existing modules
55280
55281       · Adding integration tests to existing modules
55282
55283   Synopsis
55284          salt-extend --help
55285
55286   Description
55287       salt-extend  is  a  templating  tool for extending SaltStack. If you're
55288       looking to add a module to SaltStack, then the salt-extend utility  can
55289       guide you through the process.
55290
55291       You  can use Salt Extend to quickly create templated modules for adding
55292       new behaviours to some of the module subsystems within Salt.
55293
55294       Salt Extend takes a template directory and merges it into  a  SaltStack
55295       source code directory.
55296
55297       See also: Salt Extend.
55298
55299   Options
55300       --extension, -e
55301              The  extension  type  you  want  to  develop,  e.g. module, mod‐
55302              ule_unit, state
55303
55304       --salt-directory, -o
55305              The path to the salt installation, defaults to .
55306
55307       --name, -n
55308              The module name for the new module
55309
55310       --description, -d
55311              A description of the new extension
55312
55313       --no-merge
55314              Don't merge the new module into the Salt source directory speci‐
55315              fied  by  --salt-directory,  save  to  a temporary directory and
55316              print the directory path
55317
55318       --debug
55319              Print debug messages to stdout
55320
55321   See also
55322       salt-api(1)   salt-call(1)   salt-cloud(1)    salt-cp(1)    salt-key(1)
55323       salt-main(1)   salt-master(1)  salt-minion(1)  salt-run(1)  salt-ssh(1)
55324       salt-syndic(1)
55325
55326   salt-key
55327   salt-key
55328   Synopsis
55329          salt-key [ options ]
55330
55331   Description
55332       Salt-key executes simple management of Salt server public keys used for
55333       authentication.
55334
55335       On  initial  connection, a Salt minion sends its public key to the Salt
55336       master. This key must be accepted using the  salt-key  command  on  the
55337       Salt master.
55338
55339       Salt minion keys can be in one of the following states:
55340
55341       · unaccepted: key is waiting to be accepted.
55342
55343       · accepted:  key  was  accepted and the minion can communicate with the
55344         Salt master.
55345
55346       · rejected: key was rejected using the salt-key command. In this  state
55347         the minion does not receive any communication from the Salt master.
55348
55349       · denied:  key  was  rejected  automatically  by the Salt master.  This
55350         occurs when a minion has a duplicate ID, or when a minion was rebuilt
55351         or  had  new keys generated and the previous key was not deleted from
55352         the Salt master. In this state the minion does not receive any commu‐
55353         nication from the Salt master.
55354
55355       To  change the state of a minion key, use -d to delete the key and then
55356       accept or reject the key.
55357
55358   Options
55359       --version
55360              Print the version of Salt that is running.
55361
55362       --versions-report
55363              Show program's dependencies and version number, and then exit
55364
55365       -h, --help
55366              Show the help message and exit
55367
55368       -c CONFIG_DIR, --config-dir=CONFIG_dir
55369              The location of the Salt configuration directory. This directory
55370              contains  the  configuration  files for Salt master and minions.
55371              The default location on most systems is /etc/salt.
55372
55373       -u USER, --user=USER
55374              Specify user to run salt-key
55375
55376       --hard-crash
55377              Raise any original exception  rather  than  exiting  gracefully.
55378              Default is False.
55379
55380       -q, --quiet
55381              Suppress output
55382
55383       -y, --yes
55384              Answer 'Yes' to all questions presented, defaults to False
55385
55386       --rotate-aes-key=ROTATE_AES_KEY
55387              Setting  this  to  False prevents the master from refreshing the
55388              key session when keys are deleted or rejected, this  lowers  the
55389              security  of  the  key  deletion/rejection operation. Default is
55390              True.
55391
55392   Logging Options
55393       Logging options which override any settings defined on  the  configura‐
55394       tion files.
55395
55396       --log-file=LOG_FILE
55397              Log file path. Default: /var/log/salt/minion.
55398
55399       --log-file-level=LOG_LEVEL_LOGFILE
55400              Logfile  logging  log  level. One of all, garbage, trace, debug,
55401              info, warning, error, quiet. Default: warning.
55402
55403   Output Options
55404       --out  Pass in an alternative outputter to display the return of  data.
55405              This outputter can be any of the available outputters:
55406                 grains,  highstate,  json,  key, overstatestage, pprint, raw,
55407                 txt, yaml
55408
55409              Some outputters are formatted only for data returned  from  spe‐
55410              cific  functions;  for  instance,  the grains outputter will not
55411              work for non-grains data.
55412
55413              If an outputter is used that does not support  the  data  passed
55414              into  it,  then  Salt will fall back on the pprint outputter and
55415              display the return data using the Python pprint standard library
55416              module.
55417
55418              NOTE:
55419                 If using --out=json, you will probably want --static as well.
55420                 Without the static option,  you  will  get  a  separate  JSON
55421                 string per minion which makes JSON output invalid as a whole.
55422                 This is due to using an iterative outputter. So if  you  want
55423                 to feed it to a JSON parser, use --static as well.
55424
55425       --out-indent OUTPUT_INDENT, --output-indent OUTPUT_INDENT
55426              Print the output indented by the provided value in spaces. Nega‐
55427              tive values disable indentation. Only applicable  in  outputters
55428              that support indentation.
55429
55430       --out-file=OUTPUT_FILE, --output-file=OUTPUT_FILE
55431              Write the output to the specified file.
55432
55433       --out-file-append, --output-file-append
55434              Append the output to the specified file.
55435
55436       --no-color
55437              Disable all colored output
55438
55439       --force-color
55440              Force colored output
55441
55442              NOTE:
55443                 When using colored output the color codes are as follows:
55444
55445                 green  denotes  success,  red  denotes  failure, blue denotes
55446                 changes and success and  yellow  denotes  a  expected  future
55447                 change in configuration.
55448
55449       --state-output=STATE_OUTPUT, --state_output=STATE_OUTPUT
55450              Override  the  configured  state_output value for minion output.
55451              One of 'full', 'terse', 'mixed', 'changes' or 'filter'. Default:
55452              'none'.
55453
55454       --state-verbose=STATE_VERBOSE, --state_verbose=STATE_VERBOSE
55455              Override  the  configured state_verbose value for minion output.
55456              Set to True or False. Default: none.
55457
55458   Actions
55459       -l ARG, --list=ARG
55460              List the public keys. The args pre, un, and unaccepted will list
55461              unaccepted/unsigned    keys.   acc   or   accepted   will   list
55462              accepted/signed keys. rej or rejected will list  rejected  keys.
55463              Finally, all will list all keys.
55464
55465       -L, --list-all
55466              List all public keys. (Deprecated: use --list all)
55467
55468       -a ACCEPT, --accept=ACCEPT
55469              Accept  the  specified  public  key  (use --include-all to match
55470              rejected keys in addition to pending keys). Globs are supported.
55471
55472       -A, --accept-all
55473              Accepts all pending keys.
55474
55475       -r REJECT, --reject=REJECT
55476              Reject the specified public  key  (use  --include-all  to  match
55477              accepted keys in addition to pending keys). Globs are supported.
55478
55479       -R, --reject-all
55480              Rejects all pending keys.
55481
55482       --include-all
55483              Include non-pending keys when accepting/rejecting.
55484
55485       -p PRINT, --print=PRINT
55486              Print the specified public key.
55487
55488       -P, --print-all
55489              Print all public keys
55490
55491       -d DELETE, --delete=DELETE
55492              Delete the specified key. Globs are supported.
55493
55494       -D, --delete-all
55495              Delete all keys.
55496
55497       -f FINGER, --finger=FINGER
55498              Print the specified key's fingerprint.
55499
55500       -F, --finger-all
55501              Print all keys' fingerprints.
55502
55503   Key Generation Options
55504       --gen-keys=GEN_KEYS
55505              Set a name to generate a keypair for use with salt
55506
55507       --gen-keys-dir=GEN_KEYS_DIR
55508              Set  the  directory  to  save the generated keypair.  Only works
55509              with 'gen_keys_dir' option; default is the current directory.
55510
55511       --keysize=KEYSIZE
55512              Set the keysize for the  generated  key,  only  works  with  the
55513              '--gen-keys' option, the key size must be 2048 or higher, other‐
55514              wise it will be rounded up to 2048. The default is 2048.
55515
55516       --gen-signature
55517              Create a signature file of the master's  public-key  named  mas‐
55518              ter_pubkey_signature.  The  signature can be sent to a minion in
55519              the master's auth-reply and enables the  minion  to  verify  the
55520              master's public-key cryptographically. This requires a new sign‐
55521              ing-key-pair which can be auto-created  with  the  --auto-create
55522              parameter.
55523
55524       --priv=PRIV
55525              The private-key file to create a signature with
55526
55527       --signature-path=SIGNATURE_PATH
55528              The path where the signature file should be written
55529
55530       --pub=PUB
55531              The public-key file to create a signature for
55532
55533       --auto-create
55534              Auto-create a signing key-pair if it does not yet exist
55535
55536   See also
55537       salt(7) salt-master(1) salt-minion(1)
55538
55539   salt-master
55540   salt-master
55541       The Salt master daemon, used to control the Salt minions
55542
55543   Synopsis
55544          salt-master [ options ]
55545
55546   Description
55547       The master daemon controls the Salt minions
55548
55549   Options
55550       --version
55551              Print the version of Salt that is running.
55552
55553       --versions-report
55554              Show program's dependencies and version number, and then exit
55555
55556       -h, --help
55557              Show the help message and exit
55558
55559       -c CONFIG_DIR, --config-dir=CONFIG_dir
55560              The location of the Salt configuration directory. This directory
55561              contains the configuration files for Salt  master  and  minions.
55562              The default location on most systems is /etc/salt.
55563
55564       -u USER, --user=USER
55565              Specify user to run salt-master
55566
55567       -d, --daemon
55568              Run salt-master as a daemon
55569
55570       --pid-file PIDFILE
55571              Specify the location of the pidfile. Default: /var/run/salt-mas‐
55572              ter.pid
55573
55574   Logging Options
55575       Logging options which override any settings defined on  the  configura‐
55576       tion files.
55577
55578       -l LOG_LEVEL, --log-level=LOG_LEVEL
55579              Console  logging  log  level. One of all, garbage, trace, debug,
55580              info, warning, error, quiet. Default: warning.
55581
55582       --log-file=LOG_FILE
55583              Log file path. Default: /var/log/salt/master.
55584
55585       --log-file-level=LOG_LEVEL_LOGFILE
55586              Logfile logging log level. One of all,  garbage,  trace,  debug,
55587              info, warning, error, quiet. Default: warning.
55588
55589   See also
55590       salt(1) salt(7) salt-minion(1)
55591
55592   salt-minion
55593   salt-minion
55594       The Salt minion daemon, receives commands from a remote Salt master.
55595
55596   Synopsis
55597          salt-minion [ options ]
55598
55599   Description
55600       The  Salt  minion  receives  commands  from the central Salt master and
55601       replies with the results of said commands.
55602
55603   Options
55604       --version
55605              Print the version of Salt that is running.
55606
55607       --versions-report
55608              Show program's dependencies and version number, and then exit
55609
55610       -h, --help
55611              Show the help message and exit
55612
55613       -c CONFIG_DIR, --config-dir=CONFIG_dir
55614              The location of the Salt configuration directory. This directory
55615              contains  the  configuration  files for Salt master and minions.
55616              The default location on most systems is /etc/salt.
55617
55618       -u USER, --user=USER
55619              Specify user to run salt-minion
55620
55621       -d, --daemon
55622              Run salt-minion as a daemon
55623
55624       --pid-file PIDFILE
55625              Specify the location of the pidfile. Default: /var/run/salt-min‐
55626              ion.pid
55627
55628   Logging Options
55629       Logging  options  which override any settings defined on the configura‐
55630       tion files.
55631
55632       -l LOG_LEVEL, --log-level=LOG_LEVEL
55633              Console logging log level. One of all,  garbage,  trace,  debug,
55634              info, warning, error, quiet. Default: warning.
55635
55636       --log-file=LOG_FILE
55637              Log file path. Default: /var/log/salt/minion.
55638
55639       --log-file-level=LOG_LEVEL_LOGFILE
55640              Logfile  logging  log  level. One of all, garbage, trace, debug,
55641              info, warning, error, quiet. Default: warning.
55642
55643   See also
55644       salt(1) salt(7) salt-master(1)
55645
55646   salt-proxy
55647   salt-proxy
55648       Receives commands from a Salt master  and  proxies  these  commands  to
55649       devices that are unable to run a full minion.
55650
55651   Synopsis
55652          salt-proxy [ options ]
55653
55654   Description
55655       The  Salt  proxy minion receives commands from a Salt master, transmits
55656       appropriate commands to devices that are unable to run  a  minion,  and
55657       replies with the results of said commands.
55658
55659   Options
55660       --proxyid
55661              The minion id that this proxy will assume.  This is required.
55662
55663       --version
55664              Print the version of Salt that is running.
55665
55666       --versions-report
55667              Show program's dependencies and version number, and then exit
55668
55669       -h, --help
55670              Show the help message and exit
55671
55672       -c CONFIG_DIR, --config-dir=CONFIG_dir
55673              The location of the Salt configuration directory. This directory
55674              contains  the  configuration  files for Salt master and minions.
55675              The default location on most systems is /etc/salt.
55676
55677       -u USER, --user=USER
55678              Specify user to run salt-proxy
55679
55680       -d, --daemon
55681              Run salt-proxy as a daemon
55682
55683       --pid-file PIDFILE
55684              Specify     the    location    of    the    pidfile.    Default:
55685              /var/run/salt-proxy-<id>.pid
55686
55687   Logging Options
55688       Logging options which override any settings defined on  the  configura‐
55689       tion files.
55690
55691       -l LOG_LEVEL, --log-level=LOG_LEVEL
55692              Console  logging  log  level. One of all, garbage, trace, debug,
55693              info, warning, error, quiet. Default: warning.
55694
55695       --log-file=LOG_FILE
55696              Log file path. Default: /var/log/salt/minion.
55697
55698       --log-file-level=LOG_LEVEL_LOGFILE
55699              Logfile logging log level. One of all,  garbage,  trace,  debug,
55700              info, warning, error, quiet. Default: warning.
55701
55702   See also
55703       salt(1) salt(7) salt-master(1) salt-minion(1)
55704
55705   salt-run
55706   salt-run
55707       Execute a Salt runner
55708
55709   Synopsis
55710          salt-run RUNNER
55711
55712   Description
55713       salt-run is the frontend command for executing Salt Runners.  Salt run‐
55714       ners are simple modules used to execute convenience  functions  on  the
55715       master
55716
55717   Options
55718       --version
55719              Print the version of Salt that is running.
55720
55721       --versions-report
55722              Show program's dependencies and version number, and then exit
55723
55724       -h, --help
55725              Show the help message and exit
55726
55727       -c CONFIG_DIR, --config-dir=CONFIG_dir
55728              The location of the Salt configuration directory. This directory
55729              contains the configuration files for Salt  master  and  minions.
55730              The default location on most systems is /etc/salt.
55731
55732       -t TIMEOUT, --timeout=TIMEOUT
55733              The  timeout  in  seconds to wait for replies from the Salt min‐
55734              ions. The timeout number specifies how  long  the  command  line
55735              client will wait to query the minions and check on running jobs.
55736              Default: 1
55737
55738       --hard-crash
55739              Raise any original exception  rather  than  exiting  gracefully.
55740              Default is False.
55741
55742       -d, --doc, --documentation
55743              Display  documentation for runners, pass a module or a runner to
55744              see documentation on only that module/runner.
55745
55746   Logging Options
55747       Logging options which override any settings defined on  the  configura‐
55748       tion files.
55749
55750       -l LOG_LEVEL, --log-level=LOG_LEVEL
55751              Console  logging  log  level. One of all, garbage, trace, debug,
55752              info, warning, error, quiet. Default: warning.
55753
55754       --log-file=LOG_FILE
55755              Log file path. Default: /var/log/salt/master.
55756
55757       --log-file-level=LOG_LEVEL_LOGFILE
55758              Logfile logging log level. One of all,  garbage,  trace,  debug,
55759              info, warning, error, quiet. Default: warning.
55760
55761   See also
55762       salt(1) salt-master(1) salt-minion(1)
55763
55764   salt-ssh
55765   salt-ssh
55766   Synopsis
55767          salt-ssh '*' [ options ] sys.doc
55768
55769          salt-ssh -E '.*' [ options ] sys.doc cmd
55770
55771   Description
55772       Salt  SSH  allows  for  salt routines to be executed using only SSH for
55773       transport
55774
55775   Options
55776       --version
55777              Print the version of Salt that is running.
55778
55779       --versions-report
55780              Show program's dependencies and version number, and then exit
55781
55782       -h, --help
55783              Show the help message and exit
55784
55785       -c CONFIG_DIR, --config-dir=CONFIG_dir
55786              The location of the Salt configuration directory. This directory
55787              contains  the  configuration  files for Salt master and minions.
55788              The default location on most systems is /etc/salt.
55789
55790       --hard-crash
55791              Raise any original exception  rather  than  exiting  gracefully.
55792              Default: False.
55793
55794       -r, --raw, --raw-shell
55795              Execute a raw shell command.
55796
55797       --roster
55798              Define  which  roster  system to use, this defines if a database
55799              backend, scanner, or custom roster system is  used.  Default  is
55800              the flat file roster.
55801
55802       --roster-file
55803              Define an alternative location for the default roster file loca‐
55804              tion. The default roster file is called roster and is  found  in
55805              the same directory as the master config file.
55806
55807              New in version 2014.1.0.
55808
55809
55810       --refresh, --refresh-cache
55811              Force  a  refresh  of the master side data cache of the target's
55812              data. This is needed if a target's grains have been changed  and
55813              the auto refresh timeframe has not been reached.
55814
55815       --max-procs
55816              Set  the  number of concurrent minions to communicate with. This
55817              value defines how many processes are opened up at a time to man‐
55818              age  connections, the more running process the faster communica‐
55819              tion should be, default is 25.
55820
55821       --extra-filerefs=EXTRA_FILEREFS
55822              Pass in extra files to include in the state tarball.
55823
55824       --min-extra-modules=MIN_EXTRA_MODS
55825              One  or  comma-separated  list  of  extra  Python  modulesto  be
55826              included into Minimal Salt.
55827
55828       --thin-extra-modules=THIN_EXTRA_MODS
55829              One  or  comma-separated  list  of  extra  Python  modulesto  be
55830              included into Thin Salt.
55831
55832       -v, --verbose
55833              Turn on command verbosity, display jid.
55834
55835       -s, --static
55836              Return the data from minions as a group after they all return.
55837
55838       -w, --wipe
55839              Remove the deployment of the salt files when done executing.
55840
55841       -W, --rand-thin-dir
55842              Select a random temp dir to deploy on the remote system. The dir
55843              will be cleaned after the execution.
55844
55845       -t, --regen-thin, --thin
55846              Trigger  a  thin tarball regeneration. This is needed if  custom
55847              grains/modules/states have been added or updated.
55848
55849       --python2-bin=PYTHON2_BIN
55850              Path to a python2 binary which has salt installed.
55851
55852       --python3-bin=PYTHON3_BIN
55853              Path to a python3 binary which has salt installed.
55854
55855       --jid=JID
55856              Pass a JID to be used instead of generating one.
55857
55858   Authentication Options
55859       --priv=SSH_PRIV
55860              Specify the SSH private key file to be used for authentication.
55861
55862       --priv-passwd=SSH_PRIV_PASSWD
55863              Specify the SSH private key file's passphrase if need be.
55864
55865       -i, --ignore-host-keys
55866              By default ssh host keys are honored and connections   will  ask
55867              for approval. Use this option to disable StrictHostKeyChecking.
55868
55869       --no-host-keys
55870              Fully  ignores  ssh  host  keys which by default are honored and
55871              connections would ask for approval. Useful if the host key of  a
55872              remote   server   has   changed   and  would  still  error  with
55873              --ignore-host-keys.
55874
55875       --user=SSH_USER
55876              Set the default user to attempt to use when authenticating.
55877
55878       --passwd
55879              Set the default password to attempt to use when authenticating.
55880
55881       --askpass
55882              Interactively ask for the SSH password with  no  echo  -  avoids
55883              password in process args and stored in history.
55884
55885       --key-deploy
55886              Set  this  flag to attempt to deploy the authorized ssh key with
55887              all minions.  This  combined  with  --passwd  can  make  initial
55888              deployment of keys very fast and easy.
55889
55890       --identities-only
55891              Use  the  only  authentication  identity files configured in the
55892              ssh_config files. See IdentitiesOnly flag in man ssh_config.
55893
55894       --sudo Run command via sudo.
55895
55896   Scan Roster Options
55897       --scan-ports=SSH_SCAN_PORTS
55898              Comma-separated list of ports to scan in the scan roster.
55899
55900       --scan-timeout=SSH_SCAN_TIMEOUT
55901              Scanning socket timeout for the scan roster.
55902
55903   Logging Options
55904       Logging options which override any settings defined on  the  configura‐
55905       tion files.
55906
55907       -l LOG_LEVEL, --log-level=LOG_LEVEL
55908              Console  logging  log  level. One of all, garbage, trace, debug,
55909              info, warning, error, quiet. Default: warning.
55910
55911       --log-file=LOG_FILE
55912              Log file path. Default: /var/log/salt/ssh.
55913
55914       --log-file-level=LOG_LEVEL_LOGFILE
55915              Logfile logging log level. One of all,  garbage,  trace,  debug,
55916              info, warning, error, quiet. Default: warning.
55917
55918   Target Selection
55919       The  default matching that Salt utilizes is shell-style globbing around
55920       the                  minion                   id.                   See
55921       https://docs.python.org/2/library/fnmatch.html#module-fnmatch.
55922
55923       -E, --pcre
55924              The  target  expression  will  be  interpreted as a PCRE regular
55925              expression rather than a shell glob.
55926
55927   Output Options
55928       --out  Pass in an alternative outputter to display the return of  data.
55929              This outputter can be any of the available outputters:
55930                 grains,  highstate,  json,  key, overstatestage, pprint, raw,
55931                 txt, yaml
55932
55933              Some outputters are formatted only for data returned  from  spe‐
55934              cific  functions;  for  instance,  the grains outputter will not
55935              work for non-grains data.
55936
55937              If an outputter is used that does not support  the  data  passed
55938              into  it,  then  Salt will fall back on the pprint outputter and
55939              display the return data using the Python pprint standard library
55940              module.
55941
55942              NOTE:
55943                 If using --out=json, you will probably want --static as well.
55944                 Without the static option,  you  will  get  a  separate  JSON
55945                 string per minion which makes JSON output invalid as a whole.
55946                 This is due to using an iterative outputter. So if  you  want
55947                 to feed it to a JSON parser, use --static as well.
55948
55949       --out-indent OUTPUT_INDENT, --output-indent OUTPUT_INDENT
55950              Print the output indented by the provided value in spaces. Nega‐
55951              tive values disable indentation. Only applicable  in  outputters
55952              that support indentation.
55953
55954       --out-file=OUTPUT_FILE, --output-file=OUTPUT_FILE
55955              Write the output to the specified file.
55956
55957       --out-file-append, --output-file-append
55958              Append the output to the specified file.
55959
55960       --no-color
55961              Disable all colored output
55962
55963       --force-color
55964              Force colored output
55965
55966              NOTE:
55967                 When using colored output the color codes are as follows:
55968
55969                 green  denotes  success,  red  denotes  failure, blue denotes
55970                 changes and success and  yellow  denotes  a  expected  future
55971                 change in configuration.
55972
55973       --state-output=STATE_OUTPUT, --state_output=STATE_OUTPUT
55974              Override  the  configured  state_output value for minion output.
55975              One of 'full', 'terse', 'mixed', 'changes' or 'filter'. Default:
55976              'none'.
55977
55978       --state-verbose=STATE_VERBOSE, --state_verbose=STATE_VERBOSE
55979              Override  the  configured state_verbose value for minion output.
55980              Set to True or False. Default: none.
55981
55982   See also
55983       salt(7) salt-master(1) salt-minion(1)
55984
55985   salt-syndic
55986   salt-syndic
55987       The Salt syndic daemon, a special minion that passes  through  commands
55988       from a higher master
55989
55990   Synopsis
55991          salt-syndic [ options ]
55992
55993   Description
55994       The  Salt  syndic daemon, a special minion that passes through commands
55995       from a higher master.
55996
55997   Options
55998       --version
55999              Print the version of Salt that is running.
56000
56001       --versions-report
56002              Show program's dependencies and version number, and then exit
56003
56004       -h, --help
56005              Show the help message and exit
56006
56007       -c CONFIG_DIR, --config-dir=CONFIG_dir
56008              The location of the Salt configuration directory. This directory
56009              contains  the  configuration  files for Salt master and minions.
56010              The default location on most systems is /etc/salt.
56011
56012       -u USER, --user=USER
56013              Specify user to run salt-syndic
56014
56015       -d, --daemon
56016              Run salt-syndic as a daemon
56017
56018       --pid-file PIDFILE
56019              Specify the location of the pidfile. Default: /var/run/salt-syn‐
56020              dic.pid
56021
56022   Logging Options
56023       Logging  options  which override any settings defined on the configura‐
56024       tion files.
56025
56026       -l LOG_LEVEL, --log-level=LOG_LEVEL
56027              Console logging log level. One of all,  garbage,  trace,  debug,
56028              info, warning, error, quiet. Default: warning.
56029
56030       --log-file=LOG_FILE
56031              Log file path. Default: /var/log/salt/master.
56032
56033       --log-file-level=LOG_LEVEL_LOGFILE
56034              Logfile  logging  log  level. One of all, garbage, trace, debug,
56035              info, warning, error, quiet. Default: warning.
56036
56037   See also
56038       salt(1) salt-master(1) salt-minion(1)
56039
56040   salt-unity
56041   salt-unity
56042       A unified invocation wrapper around other Salt CLI scripts.
56043
56044   Synopsis
56045          salt-unity salt '*' test.ping
56046
56047   Description
56048       This script takes an argument which  is  one  of  the  other  Salt  CLI
56049       scripts and invokes that script.
56050
56051   Options
56052   See also
56053       salt-api(1)    salt-call(1)    salt-cloud(1)   salt-cp(1)   salt-key(1)
56054       salt-main(1)  salt-master(1)  salt-minion(1)  salt-run(1)   salt-ssh(1)
56055       salt-syndic(1)
56056
56057   salt-api
56058   salt-api
56059       Start interfaces used to remotely connect to the salt master
56060
56061   Synopsis
56062          salt-api
56063
56064   Description
56065       The Salt API system manages network api connectors for the Salt Master
56066
56067   Options
56068       --version
56069              Print the version of Salt that is running.
56070
56071       --versions-report
56072              Show program's dependencies and version number, and then exit
56073
56074       -h, --help
56075              Show the help message and exit
56076
56077       -c CONFIG_DIR, --config-dir=CONFIG_dir
56078              The location of the Salt configuration directory. This directory
56079              contains the configuration files for Salt  master  and  minions.
56080              The default location on most systems is /etc/salt.
56081
56082       -d, --daemon
56083              Run the salt-api as a daemon
56084
56085       --pid-file=PIDFILE
56086              Specify     the    location    of    the    pidfile.    Default:
56087              /var/run/salt-api.pid
56088
56089   Logging Options
56090       Logging options which override any settings defined on  the  configura‐
56091       tion files.
56092
56093       -l LOG_LEVEL, --log-level=LOG_LEVEL
56094              Console  logging  log  level. One of all, garbage, trace, debug,
56095              info, warning, error, quiet. Default: warning.
56096
56097       --log-file=LOG_FILE
56098              Log file path. Default: /var/log/salt/api.
56099
56100       --log-file-level=LOG_LEVEL_LOGFILE
56101              Logfile logging log level. One of all,  garbage,  trace,  debug,
56102              info, warning, error, quiet. Default: warning.
56103
56104   See also
56105       salt-api(7) salt(7) salt-master(1)
56106
56107   spm
56108   spm
56109       Salt Package Manager
56110
56111   Synopsis
56112          spm <command> [<argument>]
56113
56114   Description
56115       spm  is  the frontend command for managing Salt packages. Packages nor‐
56116       mally only include formulas, meaning a group of SLS files that  install
56117       into  the  file_roots  on the Salt Master, but Salt modules can also be
56118       installed.
56119
56120   Options
56121       -y, --assume-yes
56122              Assume yes instead of prompting the other whether or not to pro‐
56123              ceed with a particular command. Default is False.
56124
56125       -f, --force
56126              When  presented  with a course of action that spm would normally
56127              refuse to perform, that action will be performed anyway. This is
56128              often destructive, and should be used with caution.
56129
56130   Logging Options
56131       Logging  options  which override any settings defined on the configura‐
56132       tion files.
56133
56134       -l LOG_LEVEL, --log-level=LOG_LEVEL
56135              Console logging log level. One of all,  garbage,  trace,  debug,
56136              info, warning, error, quiet. Default: warning.
56137
56138       --log-file=LOG_FILE
56139              Log file path. Default: /var/log/salt/spm.
56140
56141       --log-file-level=LOG_LEVEL_LOGFILE
56142              Logfile  logging  log  level. One of all, garbage, trace, debug,
56143              info, warning, error, quiet. Default: warning.
56144
56145   Commands
56146       update_repo
56147              Connect to remote repositories locally configured on the  system
56148              and download their metadata.
56149
56150       install
56151              Install  a  package from a configured SPM repository. Requires a
56152              package name.
56153
56154       remove Remove an installed package from the system. Requires a  package
56155              name.
56156
56157       info   List  information about an installed package. Requires a package
56158              name.
56159
56160       files  List files belonging to an installed package. Requires a package
56161              name.
56162
56163       local  Perform  one of the above options (except for remove) on a pack‐
56164              age file, instead of  on  a  package  in  a  repository,  or  an
56165              installed  package. Requires a valid path to a local file on the
56166              system.
56167
56168       build  Build a package from a  directory  containing  a  FORMULA  file.
56169              Requires a valid path to a local directory on the system.
56170
56171       create_repo
56172              Scan  a  directory  for  valid  SPM  package  files and build an
56173              SPM-METADATA file in that directory which describes them.
56174
56175   See also
56176       salt(1) salt-master(1) salt-minion(1)
56177

PILLARS

56179       Salt  includes  a  number  of  built-in  external  pillars,  listed  at
56180       all-salt.pillars.
56181
56182       The below links contain documentation for the configuration options
56183
56184       · master-side configuration
56185
56186       · minion-side configuration
56187
56188       Note  that  some  of same the configuration options from the master are
56189       present in the minion configuration file, these are used in  masterless
56190       mode.
56191
56192       The   source   for  the  built-in  Salt  pillars  can  be  found  here:
56193       https://github.com/saltstack/salt/blob/develop/salt/pillar
56194

MASTER TOPS

56196       Salt includes a number of built-in  subsystems  to  generate  top  file
56197       data, they are listed at all-salt.tops.
56198
56199       The  source  for  the  built-in  Salt  master  tops  can be found here:
56200       https://github.com/saltstack/salt/blob/develop/salt/tops
56201

SALT MODULE REFERENCE

56203       This section contains a list of the Python modules  that  are  used  to
56204       extend the various subsystems within Salt.
56205
56206   auth modules
56207                     ┌─────────────┬────────────────────────────┐
56208auto         │ An "Always Approved" eauth │
56209                     │             │ interface to test against, │
56210                     │             │ not  intended  for produc‐ │
56211                     │             │ tion use                   │
56212                     ├─────────────┼────────────────────────────┤
56213django       │ Provide     authentication │
56214                     │             │ using Django Web Framework │
56215                     ├─────────────┼────────────────────────────┤
56216file         │ Provide     authentication │
56217                     │             │ using local files          │
56218                     ├─────────────┼────────────────────────────┤
56219keystone     │ Provide     authentication │
56220                     │             │ using OpenStack Keystone   │
56221                     ├─────────────┼────────────────────────────┤
56222ldap         │ Provide     authentication │
56223                     │             │ using simple LDAP binds    │
56224                     ├─────────────┼────────────────────────────┤
56225mysql        │ Provide     authentication │
56226                     │             │ using MySQL.               │
56227                     ├─────────────┼────────────────────────────┤
56228pam          │ Authenticate against PAM   │
56229                     ├─────────────┼────────────────────────────┤
56230pki          │ Authenticate   via  a  PKI │
56231                     │             │ certificate.               │
56232                     ├─────────────┼────────────────────────────┤
56233rest         │ Provide     authentication │
56234                     │             │ using a REST call          │
56235                     ├─────────────┼────────────────────────────┤
56236sharedsecret │ Provide     authentication │
56237                     │             │ using  configured   shared │
56238                     │             │ secret                     │
56239                     ├─────────────┼────────────────────────────┤
56240yubico       │ Provide     authentication │
56241                     │             │ using YubiKey.             │
56242                     └─────────────┴────────────────────────────┘
56243
56244   salt.auth.auto
56245       An "Always Approved" eauth interface to test against, not intended  for
56246       production use
56247
56248       salt.auth.auto.auth(username, password)
56249              Authenticate!
56250
56251   salt.auth.django
56252       Provide authentication using Django Web Framework
56253
56254       depends
56255
56256              · Django Web Framework
56257
56258       Django  authentication  depends on the presence of the django framework
56259       in the PYTHONPATH, the Django project's settings.py file being  in  the
56260       PYTHONPATH  and  accessible  via the DJANGO_SETTINGS_MODULE environment
56261       variable.
56262
56263       Django auth can be defined like any other eauth module:
56264
56265          external_auth:
56266            django:
56267              fred:
56268                - .*
56269                - '@runner'
56270
56271       This will authenticate Fred via Django and allow him to run any  execu‐
56272       tion module and all runners.
56273
56274       The  authorization  details can optionally be located inside the Django
56275       database.  The relevant entry in the models.py  file  would  look  like
56276       this:
56277
56278          class SaltExternalAuthModel(models.Model):
56279              user_fk = models.ForeignKey(auth.User)
56280              minion_matcher = models.CharField()
56281              minion_fn = models.CharField()
56282
56283       The  external_auth  clause  in  the  master config would then look like
56284       this:
56285
56286          external_auth:
56287            django:
56288              ^model: <fully-qualified reference to model class>
56289
56290       When a user attempts to authenticate via Django, Salt will  import  the
56291       package  indicated  via  the  keyword ^model.  That model must have the
56292       fields indicated above, though the model DOES  NOT  have  to  be  named
56293       'SaltExternalAuthModel'.
56294
56295       salt.auth.django.acl(username)
56296
56297              Parameters
56298                     username -- Username to filter for
56299
56300              Returns
56301                     Dictionary  that  can be slotted into the __opts__ struc‐
56302                     ture for eauth that designates the user associated ACL
56303
56304              Database records such as:
56305
56306                   ┌───────────┬───────────────────┬────────────────────┐
56307                   │username   │ min‐              │ minion_fn          │
56308                   │           │ ion_or_fn_matcher │                    │
56309                   ├───────────┼───────────────────┼────────────────────┤
56310                   │fred       │                   │ test.ping          │
56311                   ├───────────┼───────────────────┼────────────────────┤
56312                   │fred       │ server1           │ network.interfaces │
56313                   ├───────────┼───────────────────┼────────────────────┤
56314                   │fred       │ server1           │ raid.list          │
56315                   ├───────────┼───────────────────┼────────────────────┤
56316                   │fred       │ server2           │ .*                 │
56317                   ├───────────┼───────────────────┼────────────────────┤
56318                   │guru       │ .*                │                    │
56319                   ├───────────┼───────────────────┼────────────────────┤
56320                   │smartadmin │ server1           │ .*                 │
56321                   └───────────┴───────────────────┴────────────────────┘
56322
56323              Should result in an eauth config such as:
56324
56325                 fred:
56326                   - test.ping
56327                   - server1:
56328                       - network.interfaces
56329                       - raid.list
56330                   - server2:
56331                       - .*
56332                 guru:
56333                   - .*
56334                 smartadmin:
56335                   - server1:
56336                     - .*
56337
56338       salt.auth.django.auth(username, password)
56339              Simple Django auth
56340
56341       salt.auth.django.is_connection_usable()
56342
56343   salt.auth.file
56344       Provide authentication using local files
56345
56346       New in version 2018.3.0.
56347
56348
56349       The file auth module allows simple authentication via local files. Dif‐
56350       ferent filetypes are supported, including:
56351
56352          1. Text files, with passwords in plaintext or hashed
56353
56354          2. Apache-style htpasswd files
56355
56356          3. Apache-style htdigest files
56357
56358       NOTE:
56359          The python-passlib library is required when  using  a  ^filetype  of
56360          htpasswd or htdigest.
56361
56362       The simplest example is a plaintext file with usernames and passwords:
56363
56364          external_auth:
56365            file:
56366              ^filename: /etc/insecure-user-list.txt
56367              gene:
56368                - .*
56369              dean:
56370                - test.*
56371
56372       In this example the /etc/insecure-user-list.txt file would be formatted
56373       as so:
56374
56375          dean:goneFishing
56376          gene:OceanMan
56377
56378       ^filename is the only required parameter.  Any  parameter  that  begins
56379       with a ^ is passed directly to the underlying file authentication func‐
56380       tion via kwargs, with the leading ^ being stripped.
56381
56382       The text file option is configurable to work with legacy formats:
56383
56384          external_auth:
56385            file:
56386              ^filename: /etc/legacy_users.txt
56387              ^filetype: text
56388              ^hashtype: md5
56389              ^username_field: 2
56390              ^password_field: 3
56391              ^field_separator: '|'
56392              trey:
56393                - .*
56394
56395       This would authenticate users against a file of the following format:
56396
56397          46|trey|16a0034f90b06bf3c5982ed8ac41aab4
56398          555|mike|b6e02a4d2cb2a6ef0669e79be6fd02e4
56399          2001|page|14fce21db306a43d3b680da1a527847a
56400          8888|jon|c4e94ba906578ccf494d71f45795c6cb
56401
56402       NOTE:
56403          The hashutil.digest execution function is used for comparing  hashed
56404          passwords, so any algorithm supported by that function will work.
56405
56406       There is also support for Apache-style htpasswd and htdigest files:
56407
56408          external_auth:
56409            file:
56410              ^filename: /var/www/html/.htusers
56411              ^filetype: htpasswd
56412              cory:
56413                - .*
56414
56415       When using htdigest the ^realm must be set:
56416
56417          external_auth:
56418            file:
56419              ^filename: /var/www/html/.htdigest
56420              ^filetype: htdigest
56421              ^realm: MySecureRealm
56422              cory:
56423                - .*
56424
56425       salt.auth.file.auth(username, password)
56426              File based authentication
56427
56428              ^filename
56429                     The path to the file to use for authentication.
56430
56431              ^filetype
56432                     The type of file: text, htpasswd, htdigest.
56433
56434                     Default: text
56435
56436              ^realm The realm required by htdigest authentication.
56437
56438              NOTE:
56439                 The  following  parameters  are only used with the text file‐
56440                 type.
56441
56442              ^hashtype
56443                     The digest format of the password. Can  be  plaintext  or
56444                     any digest available via hashutil.digest.
56445
56446                     Default: plaintext
56447
56448              ^field_separator
56449                     The  character  to use as a delimiter between fields in a
56450                     text file.
56451
56452                     Default: :
56453
56454              ^username_field
56455                     The numbered field in the text  file  that  contains  the
56456                     username, with numbering beginning at 1 (one).
56457
56458                     Default: 1
56459
56460              ^password_field
56461                     The  numbered  field  in  the text file that contains the
56462                     password, with numbering beginning at 1 (one).
56463
56464                     Default: 2
56465
56466   salt.auth.keystone
56467       Provide authentication using OpenStack Keystone
56468
56469       depends
56470
56471              · keystoneclient Python module
56472
56473       salt.auth.keystone.auth(username, password)
56474              Try and authenticate
56475
56476       salt.auth.keystone.get_auth_url()
56477              Try and get the URL from the config, else return localhost
56478
56479   salt.auth.ldap
56480       Provide authentication using simple LDAP binds
56481
56482       depends
56483
56484              · ldap Python module
56485
56486       salt.auth.ldap.auth(username, password)
56487              Simple LDAP auth
56488
56489       salt.auth.ldap.groups(username, **kwargs)
56490              Authenticate against an LDAP group
56491
56492              Behavior is highly dependent on if Active Directory is in use.
56493
56494              AD handles group membership very differently than OpenLDAP.  See
56495              the External Authentication documentation for a thorough discus‐
56496              sion of available parameters for customizing the search.
56497
56498              OpenLDAP allows you to search for all groups  in  the  directory
56499              and  returns members of those groups.  Then we check against the
56500              username entered.
56501
56502       salt.auth.ldap.process_acl(auth_list, opts=None)
56503              Query LDAP, retrieve list of minion_ids  from  an  OU  or  other
56504              search.   For each minion_id returned from the LDAP search, copy
56505              the perms matchers into the auth  dictionary  :param  auth_list:
56506              :param opts: __opts__ for when __opts__ is not injected :return:
56507              Modified auth list.
56508
56509   salt.auth.mysql
56510       Provide authentication using MySQL.
56511
56512       When using MySQL as an authentication backend, you will need to  create
56513       or use an existing table that has a username and a password column.
56514
56515       To  get started, create a simple table that holds just a username and a
56516       password. The password field will hold a SHA256 checksum.
56517
56518          CREATE TABLE `users` (
56519            `id` int(11) NOT NULL AUTO_INCREMENT,
56520            `username` varchar(25) DEFAULT NULL,
56521            `password` varchar(70) DEFAULT NULL,
56522            PRIMARY KEY (`id`)
56523          ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1;
56524
56525       To create a user within MySQL, execute the following statement.
56526
56527          INSERT INTO users VALUES (NULL, 'diana', SHA2('secret', 256))
56528
56529          mysql_auth:
56530            hostname: localhost
56531            database: SaltStack
56532            username: root
56533            password: letmein
56534            auth_sql: 'SELECT username FROM users WHERE username = "{0}" AND password = SHA2("{1}", 256)'
56535
56536       The auth_sql contains the SQL that will validate a user to ensure  they
56537       are  correctly  authenticated.  This is where you can specify other SQL
56538       queries to authenticate users.
56539
56540       Enable MySQL authentication.
56541
56542          external_auth:
56543            mysql:
56544              damian:
56545                - test.*
56546
56547       depends
56548
56549              · MySQL-python Python module
56550
56551       salt.auth.mysql.auth(username, password)
56552              Authenticate using a MySQL user table
56553
56554   salt.auth.pam
56555       Authenticate against PAM
56556
56557       Provides an authenticate function that will allow the caller to authen‐
56558       ticate a user against the Pluggable Authentication Modules (PAM) on the
56559       system.
56560
56561       Implemented using ctypes, so no compilation is necessary.
56562
56563       There is one extra configuration option for pam.  The pam_service  that
56564       is authenticated against.  This defaults to login
56565
56566          auth.pam.service: login
56567
56568       NOTE:
56569          Solaris-like  (SmartOS,  OmniOS, ...) systems may need auth.pam.ser‐
56570          vice set to other.
56571
56572       NOTE:
56573          PAM authentication will not work for the root user.
56574
56575          The Python interface to PAM does not support authenticating as root.
56576
56577       NOTE:
56578          Using PAM groups with SSSD groups on python2.
56579
56580          To use sssd with the PAM eauth module and groups the pysss module is
56581          needed.  On RedHat/CentOS this is python-sss.
56582
56583          This should not be needed with python >= 3.3, because the os modules
56584          has the getgrouplist function.
56585
56586       class salt.auth.pam.PamConv
56587              Wrapper class for pam_conv structure
56588
56589              appdata_ptr
56590                     Structure/Union member
56591
56592              conv   Structure/Union member
56593
56594       class salt.auth.pam.PamHandle
56595              Wrapper class for pam_handle_t
56596
56597              handle Structure/Union member
56598
56599       class salt.auth.pam.PamMessage
56600              Wrapper class for pam_message structure
56601
56602              msg    Structure/Union member
56603
56604              msg_style
56605                     Structure/Union member
56606
56607       class salt.auth.pam.PamResponse
56608              Wrapper class for pam_response structure
56609
56610              resp   Structure/Union member
56611
56612              resp_retcode
56613                     Structure/Union member
56614
56615       salt.auth.pam.auth(username, password, **kwargs)
56616              Authenticate via pam
56617
56618       salt.auth.pam.authenticate(username, password)
56619              Returns True if the given username and password authenticate for
56620              the given service.  Returns False otherwise
56621
56622              username: the username to authenticate
56623
56624              password: the password in plain text
56625
56626       salt.auth.pam.groups(username, *args, **kwargs)
56627              Retrieve groups for a given user for this auth provider
56628
56629              Uses system groups
56630
56631   salt.auth.pki
56632       Authenticate via a PKI certificate.
56633
56634       NOTE:
56635          This module is Experimental and should be used with caution
56636
56637       Provides an authenticate function that will allow the caller to authen‐
56638       ticate a user via their public cert against a  pre-defined  Certificate
56639       Authority.
56640
56641       TODO:  Add a 'ca_dir' option to configure a directory of CA files, a la
56642       Apache.
56643
56644       depends
56645
56646              · pyOpenSSL module
56647
56648       salt.auth.pki.auth(username, password, **kwargs)
56649              Returns True if the given user cert (password is the  cert  con‐
56650              tents)  was  issued by the CA and if cert's Common Name is equal
56651              to username.
56652
56653              Returns False otherwise.
56654
56655              username: we need it to run the auth function from CLI/API;
56656                     it should be in master config auth/acl
56657
56658              password: contents of user certificate (pem-encoded user  public
56659              key);
56660                     why "password"? For CLI, it's the only available name
56661
56662              Configure the CA cert in the master config file:
56663
56664                 external_auth:
56665                   pki:
56666                     ca_file: /etc/pki/tls/ca_certs/trusted-ca.crt
56667                     your_user:
56668                       - .*
56669
56670   salt.auth.rest
56671       Provide authentication using a REST call
56672
56673       REST auth can be defined like any other eauth module:
56674
56675          external_auth:
56676            rest:
56677              ^url: https://url/for/rest/call
56678              fred:
56679                - .*
56680                - '@runner'
56681
56682       If  there  are  entries  underneath the ^url entry then they are merged
56683       with any responses from the REST call.  In the above example,  assuming
56684       the  REST call does not return any additional ACLs, this will authenti‐
56685       cate Fred via a REST call and allow him to run any execution module and
56686       all runners.
56687
56688       The  REST call should return a JSON object that maps to a regular eauth
56689       YAML structure as above.
56690
56691       salt.auth.rest.auth(username, password)
56692              REST authentication
56693
56694       salt.auth.rest.rest_auth_setup()
56695
56696   salt.auth.sharedsecret
56697       Provide authentication using configured shared secret
56698
56699          external_auth:
56700            sharedsecret:
56701              fred:
56702                - .*
56703                - '@jobs'
56704
56705       The shared secret should be added  to  the  master  configuration,  for
56706       example in /etc/salt/master.d/sharedsecret.conf (make sure that file is
56707       only readable by the user running the master):
56708
56709          sharedsecret: OIUHF_CHANGE_THIS_12h88
56710
56711       This auth module should be used with caution. It was initially designed
56712       to  work  with a frontal that takes care of authentication (for example
56713       kerberos) and places the shared secret  in  the  HTTP  headers  to  the
56714       salt-api call. This salt-api call should really be done on localhost to
56715       avoid someone eavesdropping on the shared secret.
56716
56717       See the documentation  for  cherrypy  to  setup  the  headers  in  your
56718       frontal.
56719
56720       New in version Beryllium.
56721
56722
56723       salt.auth.sharedsecret.auth(username, password)
56724              Shared secret authentication
56725
56726   salt.auth.yubico
56727       Provide authentication using YubiKey.
56728
56729       New in version 2015.5.0.
56730
56731
56732       depends
56733              yubico-client Python module
56734
56735       To get your YubiKey API key you will need to visit the website below.
56736
56737       https://upgrade.yubico.com/getapikey/
56738
56739       The resulting page will show the generated Client ID (aka AuthID or API
56740       ID) and the generated API key (Secret Key). Make a note of both and use
56741       these two values in your /etc/salt/master configuration.
56742          /etc/salt/master
56743
56744              yubico_users:
56745                damian:
56746                  id: 12345
56747                  key: ABCDEFGHIJKLMNOPQRSTUVWXYZ
56748
56749              external_auth:
56750                yubico:
56751                  damian:
56752                    - test.*
56753
56754       Please wait five to ten minutes after generating the key before testing
56755       so that the API key will be updated on all the YubiCloud servers.
56756
56757       salt.auth.yubico.auth(username, password)
56758              Authenticate against yubico server
56759
56760       salt.auth.yubico.groups(username, *args, **kwargs)
56761
56762   beacon modules
56763                   ┌─────────────────┬────────────────────────────┐
56764adb              │ Beacon to emit adb  device │
56765                   │                 │ state  changes for Android │
56766                   │                 │ devices                    │
56767                   ├─────────────────┼────────────────────────────┤
56768avahi_announce   │ Beacon  to  announce   via │
56769                   │                 │ avahi (zeroconf)           │
56770                   ├─────────────────┼────────────────────────────┤
56771bonjour_announce │ Beacon   to  announce  via │
56772                   │                 │ Bonjour (zeroconf)         │
56773                   ├─────────────────┼────────────────────────────┤
56774btmp             │ Beacon to fire  events  at │
56775                   │                 │ failed login of users      │
56776                   ├─────────────────┼────────────────────────────┤
56777diskusage        │ Beacon   to  monitor  disk │
56778                   │                 │ usage.                     │
56779                   ├─────────────────┼────────────────────────────┤
56780glxinfo          │ Beacon to emit when a dis‐ │
56781                   │                 │ play  is  available  to  a │
56782                   │                 │ linux machine              │
56783                   ├─────────────────┼────────────────────────────┤
56784haproxy          │ Watch current  connections │
56785                   │                 │ of  haproxy  server  back‐ │
56786                   │                 │ ends.                      │
56787                   ├─────────────────┼────────────────────────────┤
56788inotify          │ Watch files and  translate │
56789                   │                 │ the   changes   into  salt │
56790                   │                 │ events                     │
56791                   ├─────────────────┼────────────────────────────┤
56792journald         │ A simple beacon  to  watch │
56793                   │                 │ journald    for   specific │
56794                   │                 │ entries                    │
56795                   ├─────────────────┼────────────────────────────┤
56796load             │ Beacon to emit system load │
56797                   │                 │ averages                   │
56798                   ├─────────────────┼────────────────────────────┤
56799log              │                            │
56800                   ├─────────────────┼────────────────────────────┤
56801memusage         │ Beacon  to  monitor memory │
56802                   │                 │ usage.                     │
56803                   ├─────────────────┼────────────────────────────┤
56804napalm_beacon    │ Watch NAPALM functions and │
56805                   │                 │ fire  events  on  specific │
56806                   │                 │ triggers                   │
56807                   ├─────────────────┼────────────────────────────┤
56808network_info     │ Beacon to monitor  statis‐ │
56809                   │                 │ tics     from     ethernet │
56810                   │                 │ adapters                   │
56811                   ├─────────────────┼────────────────────────────┤
56812network_settings │ Beacon to monitor  network │
56813                   │                 │ adapter setting changes on │
56814                   │                 │ Linux                      │
56815                   ├─────────────────┼────────────────────────────┤
56816pkg              │ Watch for pkgs  that  have │
56817                   │                 │ upgrades,   then  fire  an │
56818                   │                 │ event.                     │
56819                   ├─────────────────┼────────────────────────────┤
56820proxy_example    │ Example beacon to use with │
56821                   │                 │ salt-proxy                 │
56822                   ├─────────────────┼────────────────────────────┤
56823ps               │ Send    events    covering │
56824                   │                 │ process status             │
56825                   ├─────────────────┼────────────────────────────┤
56826salt_proxy       │ Beacon   to   manage   and │
56827                   │                 │ report  the  status of one │
56828                   │                 │ or more  salt  proxy  pro‐ │
56829                   │                 │ cesses                     │
56830                   ├─────────────────┼────────────────────────────┤
56831sensehat         │ Monitor       temperature, │
56832                   │                 │ humidity   and    pressure │
56833                   │                 │ using  the  SenseHat  of a │
56834                   │                 │ Raspberry Pi               │
56835                   ├─────────────────┼────────────────────────────┤
56836service          │ Send events covering  ser‐ │
56837                   │                 │ vice status                │
56838                   ├─────────────────┼────────────────────────────┤
56839sh               │ Watch  the  shell commands │
56840                   │                 │ being executed actively.   │
56841                   ├─────────────────┼────────────────────────────┤
56842status           │ The   status   beacon   is │
56843                   │                 │ intended  to  send a basic │
56844                   │                 │ health check event  up  to │
56845                   │                 │ the  master,  this  allows │
56846                   │                 │ for event driven  routines │
56847                   │                 │ based  on  presence  to be │
56848                   │                 │ set up.                    │
56849                   ├─────────────────┼────────────────────────────┤
56850telegram_bot_msg │ Beacon  to  emit  Telegram │
56851                   │                 │ messages                   │
56852                   ├─────────────────┼────────────────────────────┤
56853twilio_txt_msg   │ Beacon to emit Twilio text │
56854                   │                 │ messages                   │
56855                   ├─────────────────┼────────────────────────────┤
56856wtmp             │ Beacon to fire  events  at │
56857                   │                 │ login  of  users as regis‐ │
56858                   │                 │ tered in the wtmp file     │
56859                   └─────────────────┴────────────────────────────┘
56860
56861   salt.beacons.adb module
56862       Beacon to emit adb device state changes for Android devices
56863
56864       New in version 2016.3.0.
56865
56866
56867       salt.beacons.adb.beacon(config)
56868              Emit the status of all devices returned by adb
56869
56870              Specify the device states that should emit an event, there  will
56871              be an event for each device with the event type and device spec‐
56872              ified.
56873
56874                 beacons:
56875                   adb:
56876                     - states:
56877                         - offline
56878                         - unauthorized
56879                         - missing
56880                     - no_devices_event: True
56881                     - battery_low: 25
56882
56883       salt.beacons.adb.validate(config)
56884              Validate the beacon configuration
56885
56886   salt.beacons.avahi_announce module
56887       Beacon to announce via avahi (zeroconf)
56888
56889       New in version 2016.11.0.
56890
56891
56892   Dependencies
56893       · python-avahi
56894
56895       · dbus-python
56896
56897       salt.beacons.avahi_announce.beacon(config)
56898              Broadcast values via zeroconf
56899
56900              If the announced  values  are  static,  it  is  advised  to  set
56901              run_once: True (do not poll) on the beacon configuration.
56902
56903              The following are required configuration settings:
56904
56905              · servicetype - The service type to announce
56906
56907              · port - The port of the service to announce
56908
56909              · txt - The TXT record of the service being announced as a dict.
56910                Grains can be used to define TXT values using one of following
56911                two formats:
56912
56913                · grains.<grain_name>
56914
56915                · grains.<grain_name>[i]  where  i  is an integer representing
56916                  the index of the grain to use. If the grain is not  a  list,
56917                  the index is ignored.
56918
56919              The following are optional configuration settings:
56920
56921              · servicename  - Set the name of the service. Will use the host‐
56922                name from the minion's host grain if this value is not set.
56923
56924              · reset_on_change - If True and there is a change in TXT records
56925                detected, it will stop announcing the service and then restart
56926                announcing the service. This interruption in service announce‐
56927                ment  may  be desirable if the client relies on changes in the
56928                browse records to update its cache of TXT records. Defaults to
56929                False.
56930
56931              · reset_wait  - The number of seconds to wait after announcement
56932                stops announcing and before it restarts announcing in the case
56933                where   there   is  a  change  in  TXT  records  detected  and
56934                reset_on_change is True.  Defaults to 0.
56935
56936              · copy_grains - If True, Salt will copy the grains  passed  into
56937                the  beacon  when it backs them up to check for changes on the
56938                next iteration.  Normally,  instead  of  copy,  it  would  use
56939                straight  value  assignment.  This  will  allow  detection  of
56940                changes to grains  where  the  grains  are  modified  in-place
56941                instead  of  completely replaced.  In-place grains changes are
56942                not currently done in the main Salt code but may be  done  due
56943                to a custom plug-in. Defaults to False.
56944
56945              Example Config
56946
56947                 beacons:
56948                   avahi_announce:
56949                     - run_once: True
56950                     - servicetype: _demo._tcp
56951                     - port: 1234
56952                     - txt:
56953                         ProdName: grains.productname
56954                         SerialNo: grains.serialnumber
56955                         Comments: 'this is a test'
56956
56957       salt.beacons.avahi_announce.validate(config)
56958              Validate the beacon configuration
56959
56960   salt.beacons.bonjour_announce module
56961       Beacon to announce via Bonjour (zeroconf)
56962
56963       salt.beacons.bonjour_announce.beacon(config)
56964              Broadcast values via zeroconf
56965
56966              If  the  announced  values  are  static,  it  is  advised to set
56967              run_once: True (do not poll) on the beacon configuration.
56968
56969              The following are required configuration settings:
56970
56971              · servicetype - The service type to announce
56972
56973              · port - The port of the service to announce
56974
56975              · txt - The TXT record of the service being announced as a dict.
56976                Grains can be used to define TXT values using one of following
56977                two formats:
56978
56979                · grains.<grain_name>
56980
56981                · grains.<grain_name>[i] where i is  an  integer  representing
56982                  the  index  of the grain to use. If the grain is not a list,
56983                  the index is ignored.
56984
56985              The following are optional configuration settings:
56986
56987              · servicename - Set the name of the service. Will use the  host‐
56988                name from the minion's host grain if this value is not set.
56989
56990              · reset_on_change - If True and there is a change in TXT records
56991                detected, it will stop announcing the service and then restart
56992                announcing the service. This interruption in service announce‐
56993                ment may be desirable if the client relies on changes  in  the
56994                browse records to update its cache of TXT records. Defaults to
56995                False.
56996
56997              · reset_wait - The number of seconds to wait after  announcement
56998                stops announcing and before it restarts announcing in the case
56999                where  there  is  a  change  in  TXT  records   detected   and
57000                reset_on_change is True.  Defaults to 0.
57001
57002              · copy_grains  -  If True, Salt will copy the grains passed into
57003                the beacon when it backs them up to check for changes  on  the
57004                next  iteration.   Normally,  instead  of  copy,  it would use
57005                straight  value  assignment.  This  will  allow  detection  of
57006                changes  to  grains  where  the  grains  are modified in-place
57007                instead of completely replaced.  In-place grains  changes  are
57008                not  currently  done in the main Salt code but may be done due
57009                to a custom plug-in. Defaults to False.
57010
57011              Example Config
57012
57013                 beacons:
57014                   bonjour_announce:
57015                     - run_once: True
57016                     - servicetype: _demo._tcp
57017                     - port: 1234
57018                     - txt:
57019                         ProdName: grains.productname
57020                         SerialNo: grains.serialnumber
57021                         Comments: 'this is a test'
57022
57023       salt.beacons.bonjour_announce.validate(config)
57024              Validate the beacon configuration
57025
57026   salt.beacons.btmp
57027       Beacon to fire events at failed login of users
57028
57029       New in version 2015.5.0.
57030
57031
57032   Example Configuration
57033          # Fire events on all failed logins
57034          beacons:
57035            btmp: []
57036
57037          # Matching on user name, using a default time range
57038          beacons:
57039            btmp:
57040              - users:
57041                  gareth:
57042              - defaults:
57043                  time_range:
57044                      start: '8am'
57045                      end: '4pm'
57046
57047          # Matching on user name, overriding the default time range
57048          beacons:
57049            btmp:
57050              - users:
57051                  gareth:
57052                      time_range:
57053                          start: '8am'
57054                          end: '4pm'
57055              - defaults:
57056                  time_range:
57057                      start: '8am'
57058                      end: '4pm'
57059
57060          # Matching on group name, overriding the default time range
57061          beacons:
57062            btmp:
57063              - groups:
57064                  users:
57065                      time_range:
57066                          start: '8am'
57067                          end: '4pm'
57068              - defaults:
57069                  time_range:
57070                      start: '8am'
57071                      end: '4pm'
57072
57073   Use Case: Posting Failed Login Events to Slack
57074       This can be done using the following reactor SLS:
57075
57076          report-wtmp:
57077            runner.salt.cmd:
57078              - args:
57079                - fun: slack.post_message
57080                - channel: mychannel      # Slack channel
57081                - from_name: someuser     # Slack user
57082                - message: "Failed login from `{{ data.get('user', '') or 'unknown user' }}` on `{{ data['id'] }}`"
57083
57084       Match the event like so in the master config file:
57085
57086          reactor:
57087
57088            - 'salt/beacon/*/btmp/':
57089              - salt://reactor/btmp.sls
57090
57091       NOTE:
57092          This approach uses the slack execution module directly on  the  mas‐
57093          ter,  and  therefore requires that the master has a slack API key in
57094          its configuration:
57095
57096              slack:
57097                api_key: xoxb-XXXXXXXXXXXX-XXXXXXXXXXXX-XXXXXXXXXXXXXXXXXXXXXXXX
57098
57099          See the slack execution module documentation for  more  information.
57100          While  you  can use an individual user's API key to post to Slack, a
57101          bot user is likely better suited for this. The slack engine documen‐
57102          tation has information on how to set up a bot user.
57103
57104       salt.beacons.btmp.beacon(config)
57105              Read  the  last  btmp  file and return information on the failed
57106              logins
57107
57108       salt.beacons.btmp.validate(config)
57109              Validate the beacon configuration
57110
57111   salt.beacons.diskusage
57112       Beacon to monitor disk usage.
57113
57114       New in version 2015.5.0.
57115
57116
57117       depends
57118              python-psutil
57119
57120       salt.beacons.diskusage.beacon(config)
57121              Monitor the disk usage of the minion
57122
57123              Specify thresholds for each disk and only emit a beacon  if  any
57124              of them are exceeded.
57125
57126                 beacons:
57127                   diskusage:
57128                     - /: 63%
57129                     - /mnt/nfs: 50%
57130
57131              Windows drives must be quoted to avoid yaml syntax errors
57132
57133                 beacons:
57134                   diskusage:
57135                     -  interval: 120
57136                     - 'c:\\': 90%
57137                     - 'd:\\': 50%
57138
57139              Regular expressions can be used as mount points.
57140
57141                 beacons:
57142                   diskusage:
57143                     - '^\/(?!home).*$': 90%
57144                     - '^[a-zA-Z]:\\$': 50%
57145
57146              The  first  one will match all mounted disks beginning with "/",
57147              except /home The second one will match disks from  A:to  Z:on  a
57148              Windows system
57149
57150              Note  that  if  a  regular expression are evaluated after static
57151              mount points, which means that if a regular  expression  matches
57152              another  defined  mount  point,  it will override the previously
57153              defined threshold.
57154
57155       salt.beacons.diskusage.validate(config)
57156              Validate the beacon configuration
57157
57158   salt.beacons.glxinfo module
57159       Beacon to emit when a display is available to a linux machine
57160
57161       New in version 2016.3.0.
57162
57163
57164       salt.beacons.glxinfo.beacon(config)
57165              Emit the status of a connected display to the minion
57166
57167              Mainly this is used to detect when the display fails to  connect
57168              for whatever reason.
57169
57170                 beacons:
57171                   glxinfo:
57172                     - user: frank
57173                     - screen_event: True
57174
57175       salt.beacons.glxinfo.validate(config)
57176              Validate the beacon configuration
57177
57178   salt.beacons.haproxy module
57179       Watch  current  connections  of haproxy server backends.  Fire an event
57180       when over a specified threshold.
57181
57182       New in version 2016.11.0.
57183
57184
57185       salt.beacons.haproxy.beacon(config)
57186              Check if current number of sessions of a server for  a  specific
57187              haproxy backend is over a defined threshold.
57188
57189                 beacons:
57190                   haproxy:
57191                     - backends:
57192                         www-backend:
57193                             threshold: 45
57194                             servers:
57195                               - web1
57196                               - web2
57197                     - interval: 120
57198
57199       salt.beacons.haproxy.validate(config)
57200              Validate the beacon configuration
57201
57202   salt.beacons.inotify
57203       Watch files and translate the changes into salt events
57204
57205       depends
57206
57207              · pyinotify Python module >= 0.9.5
57208
57209       Caution
57210              Using  generic  mask  options  like  open,  access, ignored, and
57211              closed_nowrite with reactors can easily  cause  the  reactor  to
57212              loop  on itself. To mitigate this behavior, consider setting the
57213              disable_during_state_run flag to True in the  beacon  configura‐
57214              tion.
57215
57216       note   The  inotify  beacon only works on OSes that have inotify kernel
57217              support.
57218
57219       salt.beacons.inotify.beacon(config)
57220              Watch the configured files
57221
57222              Example Config
57223
57224                 beacons:
57225                   inotify:
57226                     - files:
57227                         /path/to/file/or/dir:
57228                           mask:
57229                             - open
57230                             - create
57231                             - close_write
57232                           recurse: True
57233                           auto_add: True
57234                           exclude:
57235                             - /path/to/file/or/dir/exclude1
57236                             - /path/to/file/or/dir/exclude2
57237                             - /path/to/file/or/dir/regex[a-m]*$:
57238                                 regex: True
57239                     - coalesce: True
57240
57241              The mask list can contain the following events (the default mask
57242              is create, delete, and modify):
57243
57244              · access            - File accessed
57245
57246              · attrib            - File metadata changed
57247
57248              · close_nowrite     - Unwritable file closed
57249
57250              · close_write       - Writable file closed
57251
57252              · create            - File created in watched directory
57253
57254              · delete            - File deleted from watched directory
57255
57256              · delete_self       - Watched file or directory deleted
57257
57258              · modify            - File modified
57259
57260              · moved_from        - File moved out of watched directory
57261
57262              · moved_to          - File moved into watched directory
57263
57264              · move_self         - Watched file moved
57265
57266              · open              - File opened
57267
57268              The mask can also contain the following options:
57269
57270              · dont_follow       - Don't dereference symbolic links
57271
57272              · excl_unlink        -  Omit events for children after they have
57273                been unlinked
57274
57275              · oneshot           - Remove watch after one event
57276
57277              · onlydir           - Operate only if name is directory
57278
57279              recurse:
57280                     Recursively watch files in the directory
57281
57282              auto_add:
57283                     Automatically start watching files that  are  created  in
57284                     the watched directory
57285
57286              exclude:
57287                     Exclude  directories  or  files from triggering events in
57288                     the watched directory.  Can use regex if regex is set  to
57289                     True
57290
57291              coalesce:
57292                     If this coalescing option is enabled, events are filtered
57293                     based on their unicity, only unique events are  enqueued,
57294                     doublons are discarded.  An event is unique when the com‐
57295                     bination of its fields (wd, mask, cookie, name) is unique
57296                     among  events of a same batch. After a batch of events is
57297                     processed any events are accepted again.  This option  is
57298                     top-level  (at  the same level as the path) and therefore
57299                     affects all paths that are being watched. This is due  to
57300                     this option being at the Notifier level in pyinotify.
57301
57302       salt.beacons.inotify.close(config)
57303
57304       salt.beacons.inotify.validate(config)
57305              Validate the beacon configuration
57306
57307   salt.beacons.journald
57308       A simple beacon to watch journald for specific entries
57309
57310       salt.beacons.journald.beacon(config)
57311              The  journald beacon allows for the systemd journal to be parsed
57312              and linked objects to be turned into events.
57313
57314              This beacons config will return all sshd jornal entries
57315
57316                 beacons:
57317                   journald:
57318                     - services:
57319                         sshd:
57320                           SYSLOG_IDENTIFIER: sshd
57321                           PRIORITY: 6
57322
57323       salt.beacons.journald.validate(config)
57324              Validate the beacon configuration
57325
57326   salt.beacons.load
57327       Beacon to emit system load averages
57328
57329       salt.beacons.load.beacon(config)
57330              Emit the load averages of this host.
57331
57332              Specify thresholds for each load average and only emit a  beacon
57333              if any of them are exceeded.
57334
57335              onchangeonly:  when  onchangeonly  is  True the beacon will fire
57336              events only when the load average pass  one  threshold.   Other‐
57337              wise,  it  will  fire  an  event  at  each beacon interval.  The
57338              default is False.
57339
57340              emitatstartup: when emitatstartup is False the beacon  will  not
57341              fire
57342                     event  when  the  minion  is reload. Applicable only when
57343                     onchangeonly is True.  The default is True.
57344
57345                 beacons:
57346                   load:
57347                     - averages:
57348                         1m:
57349                           - 0.0
57350                           - 2.0
57351                         5m:
57352                           - 0.0
57353                           - 1.5
57354                         15m:
57355                           - 0.1
57356                           - 1.0
57357                     - emitatstartup: True
57358                     - onchangeonly: False
57359
57360       salt.beacons.load.validate(config)
57361              Validate the beacon configuration
57362
57363   salt.beacons.log module
57364       Beacon to fire events at specific log messages.
57365
57366       New in version 2017.7.0.
57367
57368
57369       salt.beacons.log.beacon(config)
57370              Read the log file and return match whole string
57371
57372                 beacons:
57373                     log:
57374                       - file: <path>
57375                       - tags:
57376                           <tag>:
57377                             regex: <pattern>
57378
57379              NOTE:
57380                 regex matching is based on the re module
57381
57382       salt.beacons.log.validate(config)
57383              Validate the beacon configuration
57384
57385   salt.beacons.memusage module
57386       Beacon to monitor memory usage.
57387
57388       New in version 2016.3.0.
57389
57390
57391       depends
57392              python-psutil
57393
57394       salt.beacons.memusage.beacon(config)
57395              Monitor the memory usage of the minion
57396
57397              Specify thresholds for percent used and only emit a beacon if it
57398              is exceeded.
57399
57400                 beacons:
57401                   memusage:
57402                     - percent: 63%
57403
57404       salt.beacons.memusage.validate(config)
57405              Validate the beacon configuration
57406
57407   salt.beacons.napalm_beacon
57408   Watch NAPALM functions and fire events on specific triggers
57409       New in version 2018.3.0.
57410
57411
57412       NOTE:
57413          The  NAPALM beacon only works only when running under a regular Min‐
57414          ion or a Proxy Minion, managed via NAPALM.  Check the  documentation
57415          for the NAPALM proxy module.
57416
57417       The  configuration  accepts a list of Salt functions to be invoked, and
57418       the corresponding output hierarchy that should be matched  against.  To
57419       invoke  a  function with certain arguments, they can be specified using
57420       the _args key, or _kwargs for more specific key-value arguments.
57421
57422       The match structure follows the output hierarchy of  the  NAPALM  func‐
57423       tions, under the out key.
57424
57425       For  example,  the  following  is  normal  structure  returned  by  the
57426       ntp.stats execution function:
57427
57428          {
57429              "comment": "",
57430              "result": true,
57431              "out": [
57432                  {
57433                      "referenceid": ".GPSs.",
57434                      "remote": "172.17.17.1",
57435                      "synchronized": true,
57436                      "reachability": 377,
57437                      "offset": 0.461,
57438                      "when": "860",
57439                      "delay": 143.606,
57440                      "hostpoll": 1024,
57441                      "stratum": 1,
57442                      "jitter": 0.027,
57443                      "type": "-"
57444                  },
57445                  {
57446                      "referenceid": ".INIT.",
57447                      "remote": "172.17.17.2",
57448                      "synchronized": false,
57449                      "reachability": 0,
57450                      "offset": 0.0,
57451                      "when": "-",
57452                      "delay": 0.0,
57453                      "hostpoll": 1024,
57454                      "stratum": 16,
57455                      "jitter": 4000.0,
57456                      "type": "-"
57457                  }
57458              ]
57459          }
57460
57461       In order to fire events when the synchronization is lost  with  one  of
57462       the NTP peers, e.g., 172.17.17.2, we can match it explicitly as:
57463
57464          ntp.stats:
57465            remote: 172.17.17.2
57466            synchronized: false
57467
57468       There is one single nesting level, as the output of ntp.stats is just a
57469       list of dictionaries, and this beacon will compare each dictionary from
57470       the list with the structure examplified above.
57471
57472       NOTE:
57473          When we want to match on any element at a certain level, we can con‐
57474          figure * to match anything.
57475
57476       Considering a more complex structure consisting on multiple nested lev‐
57477       els, e.g., the output of the bgp.neighbors execution function, to check
57478       when any neighbor from the global routing  table  is  down,  the  match
57479       structure would have the format:
57480
57481          bgp.neighbors:
57482            global:
57483              '*':
57484                up: false
57485
57486       The match structure above will match any BGP neighbor, with any network
57487       (* matches any AS number), under the global VRF.  In other words,  this
57488       beacon  will  push an event on the Salt bus when there's a BGP neighbor
57489       down.
57490
57491       The right operand can also accept mathematical operations (i.e., <, <=,
57492       !=, >, >= etc.) when comparing numerical values.
57493
57494       Configuration Example:
57495
57496          beacons:
57497            napalm:
57498              - net.interfaces:
57499                  # fire events when any interfaces is down
57500                  '*':
57501                    is_up: false
57502              - net.interfaces:
57503                  # fire events only when the xe-0/0/0 interface is down
57504                  'xe-0/0/0':
57505                    is_up: false
57506              - ntp.stats:
57507                  # fire when there's any NTP peer unsynchornized
57508                  synchronized: false
57509              - ntp.stats:
57510                  # fire only when the synchronization
57511                  # with with the 172.17.17.2 NTP server is lost
57512                  _args:
57513                    - 172.17.17.2
57514                  synchronized: false
57515              - ntp.stats:
57516                  # fire only when there's a NTP peer with
57517                  # synchronization stratum > 5
57518                  stratum: '> 5'
57519
57520       Event structure example:
57521
57522          {
57523              "_stamp": "2017-09-05T09:51:09.377202",
57524              "args": [],
57525              "data": {
57526                  "comment": "",
57527                  "out": [
57528                      {
57529                          "delay": 0.0,
57530                          "hostpoll": 1024,
57531                          "jitter": 4000.0,
57532                          "offset": 0.0,
57533                          "reachability": 0,
57534                          "referenceid": ".INIT.",
57535                          "remote": "172.17.17.1",
57536                          "stratum": 16,
57537                          "synchronized": false,
57538                          "type": "-",
57539                          "when": "-"
57540                      }
57541                  ],
57542                  "result": true
57543              },
57544              "fun": "ntp.stats",
57545              "id": "edge01.bjm01",
57546              "kwargs": {},
57547              "match": {
57548                  "stratum": "> 5"
57549              }
57550          }
57551
57552       The  event  examplified above has been fired when the device identified
57553       by the Minion id edge01.bjm01 has been synchronized with a  NTP  server
57554       at a stratum level greater than 5.
57555
57556       salt.beacons.napalm_beacon.beacon(config)
57557              Watch napalm function and fire events.
57558
57559       salt.beacons.napalm_beacon.validate(config)
57560              Validate the beacon configuration.
57561
57562   salt.beacons.network_info
57563       Beacon to monitor statistics from ethernet adapters
57564
57565       New in version 2015.5.0.
57566
57567
57568       salt.beacons.network_info.beacon(config)
57569              Emit the network statistics of this host.
57570
57571              Specify  thresholds for each network stat and only emit a beacon
57572              if any of them are exceeded.
57573
57574              Emit beacon when any values are equal to configured values.
57575
57576                 beacons:
57577                   network_info:
57578                     - interfaces:
57579                         eth0:
57580                           type: equal
57581                           bytes_sent: 100000
57582                           bytes_recv: 100000
57583                           packets_sent: 100000
57584                           packets_recv: 100000
57585                           errin: 100
57586                           errout: 100
57587                           dropin: 100
57588                           dropout: 100
57589
57590              Emit beacon when any values are greater than configured values.
57591
57592                 beacons:
57593                   network_info:
57594                     - interfaces:
57595                         eth0:
57596                           type: greater
57597                           bytes_sent: 100000
57598                           bytes_recv: 100000
57599                           packets_sent: 100000
57600                           packets_recv: 100000
57601                           errin: 100
57602                           errout: 100
57603                           dropin: 100
57604                           dropout: 100
57605
57606       salt.beacons.network_info.validate(config)
57607              Validate the beacon configuration
57608
57609   salt.beacons.network_settings
57610       Beacon to monitor network adapter setting changes on Linux
57611
57612       New in version 2016.3.0.
57613
57614
57615       class salt.beacons.network_settings.Hashabledict
57616              Helper class that implements a hash function for a dictionary
57617
57618       salt.beacons.network_settings.beacon(config)
57619              Watch for changes on network settings
57620
57621              By default, the beacon will emit when there is a value change on
57622              one  of the settings on watch. The config also support the onva‐
57623              lue parameter for each setting, which  instruct  the  beacon  to
57624              only emit if the setting changed to the value defined.
57625
57626              Example Config
57627
57628                 beacons:
57629                   network_settings:
57630                     - interfaces:
57631                         eth0:
57632                           ipaddr:
57633                           promiscuity:
57634                             onvalue: 1
57635                         eth1:
57636                           linkmode:
57637
57638              The config above will check for value changes on eth0 ipaddr and
57639              eth1 linkmode. It  will  also  emit  if  the  promiscuity  value
57640              changes to 1.
57641
57642              Beacon  items  can use the * wildcard to make a definition apply
57643              to several interfaces. For example an eth* would  apply  to  all
57644              ethernet interfaces.
57645
57646              Setting the argument coalesce = True will combine all the beacon
57647              results on a single event.  The example below shows how to trig‐
57648              ger coalesced results:
57649
57650                 beacons:
57651                   network_settings:
57652                     - coalesce: True
57653                     - interfaces:
57654                         eth0:
57655                           ipaddr:
57656                           promiscuity:
57657
57658       salt.beacons.network_settings.validate(config)
57659              Validate the beacon configuration
57660
57661   salt.beacons.pkg
57662       Watch for pkgs that have upgrades, then fire an event.
57663
57664       New in version 2016.3.0.
57665
57666
57667       salt.beacons.pkg.beacon(config)
57668              Check  if installed packages are the latest versions and fire an
57669              event for those that have upgrades.
57670
57671                 beacons:
57672                   pkg:
57673                     - pkgs:
57674                         - zsh
57675                         - apache2
57676                     - refresh: True
57677
57678       salt.beacons.pkg.validate(config)
57679              Validate the beacon configuration
57680
57681   salt.beacons.proxy_example module
57682       Example beacon to use with salt-proxy
57683
57684          beacons:
57685            proxy_example:
57686              endpoint: beacon
57687
57688       salt.beacons.proxy_example.beacon(config)
57689              Called         several         times         each         second
57690              https://docs.saltstack.com/en/latest/topics/beacons/#the-beacon-function
57691
57692                 beacons:
57693                   proxy_example:
57694                     - endpoint: beacon
57695
57696       salt.beacons.proxy_example.validate(config)
57697              Validate the beacon configuration
57698
57699   salt.beacons.ps module
57700       Send events covering process status
57701
57702       salt.beacons.ps.beacon(config)
57703              Scan for processes and fire events
57704
57705              Example Config
57706
57707                 beacons:
57708                   ps:
57709                     - processes:
57710                         salt-master: running
57711                         mysql: stopped
57712
57713              The config above sets up beacons to  check  that  processes  are
57714              running or stopped.
57715
57716       salt.beacons.ps.validate(config)
57717              Validate the beacon configuration
57718
57719   salt.beacons.salt_proxy module
57720       Beacon  to  manage and report the status of one or more salt proxy pro‐
57721       cesses
57722
57723       New in version 2015.8.3.
57724
57725
57726       salt.beacons.salt_proxy.beacon(config)
57727              Handle configured proxies
57728
57729                 beacons:
57730                   salt_proxy:
57731                     - proxies:
57732                         p8000: {}
57733                         p8001: {}
57734
57735       salt.beacons.salt_proxy.validate(config)
57736              Validate the beacon configuration
57737
57738   salt.beacons.sensehat module
57739   Monitor temperature, humidity and pressure using the SenseHat  of  a  Rasp‐
57740       berry Pi
57741       New in version 2017.7.0.
57742
57743
57744       maintainer
57745              Benedikt Werner <1benediktwerner@gmail.com>
57746
57747       maturity
57748              new
57749
57750       depends
57751              sense_hat Python module
57752
57753       salt.beacons.sensehat.beacon(config)
57754              Monitor  the temperature, humidity and pressure using the Sense‐
57755              Hat sensors.
57756
57757              You can either specify a threshold for each value and only  emit
57758              a  beacon  if it is exceeded or define a range and emit a beacon
57759              when the value is out of range.
57760
57761              Units: * humidity:                      percent  *  temperature:
57762              degrees  Celsius * temperature_from_pressure:    degrees Celsius
57763              * pressure:                     Millibars
57764
57765                 beacons:
57766                   sensehat:
57767                     - sensors:
57768                         humidity: 70%
57769                         temperature: [20, 40]
57770                         temperature_from_pressure: 40
57771                         pressure: 1500
57772
57773       salt.beacons.sensehat.validate(config)
57774              Validate the beacon configuration
57775
57776   salt.beacons.service
57777       Send events covering service status
57778
57779       salt.beacons.service.beacon(config)
57780              Scan for the configured services and fire events
57781
57782              Example Config
57783
57784                 beacons:
57785                   service:
57786                     - services:
57787                         salt-master:
57788                         mysql:
57789
57790              The config above sets up beacons to check  for  the  salt-master
57791              and mysql services.
57792
57793              The config also supports two other parameters for each service:
57794
57795              onchangeonly:  when  onchangeonly  is  True the beacon will fire
57796              events only when the service status changes.  Otherwise, it will
57797              fire an event at each beacon interval.  The default is False.
57798
57799              delay:  when delay is greater than 0 the beacon will fire events
57800              only after the service status changes, and the  delay  (in  sec‐
57801              onds)  has  passed.   Applicable only when onchangeonly is True.
57802              The default is 0.
57803
57804              emitatstartup: when emitatstartup is False the beacon  will  not
57805              fire  event  when  the  minion  is  reload. Applicable only when
57806              onchangeonly is True.  The default is True.
57807
57808              uncleanshutdown: If uncleanshutdown is present it  should  point
57809              to  the  location  of a pid file for the service.  Most services
57810              will not clean up this pid file if they are  shutdown  uncleanly
57811              (e.g.  via  kill  -9)  or if they are terminated through a crash
57812              such as a segmentation fault.  If the file is present, then  the
57813              beacon  will  add  uncleanshutdown:  True  to the event.  If not
57814              present, the field will be False.  The field is only added  when
57815              the  service is NOT running. Omitting the configuration variable
57816              altogether will turn this feature off.
57817
57818              Please note that some init systems can remove the  pid  file  if
57819              the  service  registers as crashed. One such example is nginx on
57820              CentOS 7, where the service unit removes the pid file  when  the
57821              service shuts down (IE: the pid file is observed as removed when
57822              kill -9 is sent to the nginx master process). The  'uncleanshut‐
57823              down'  option  might  not  be of much use there, unless the unit
57824              file is modified.
57825
57826              Here is an example that will fire an event 30 seconds after  the
57827              state  of  nginx  changes  and  report an uncleanshutdown.  This
57828              example is for Arch, which places nginx's pid file in /run.
57829
57830                 beacons:
57831                   service:
57832                     - services:
57833                         nginx:
57834                           onchangeonly: True
57835                           delay: 30
57836                           uncleanshutdown: /run/nginx.pid
57837
57838       salt.beacons.service.validate(config)
57839              Validate the beacon configuration
57840
57841   salt.beacons.sh
57842       Watch the shell commands being executed actively. This beacon  requires
57843       strace.
57844
57845       salt.beacons.sh.beacon(config)
57846              Scan  the  shell  execve  routines. This beacon will convert all
57847              login shells
57848
57849                 beacons:
57850                   sh: []
57851
57852       salt.beacons.sh.validate(config)
57853              Validate the beacon configuration
57854
57855   salt.beacons.status module
57856       The status beacon is intended to send a basic health check event up  to
57857       the  master, this allows for event driven routines based on presence to
57858       be set up.
57859
57860       The intention of this beacon is to add the config options to add  moni‐
57861       toring stats to the health beacon making it a one stop shop for gather‐
57862       ing systems health and status data
57863
57864       New in version 2016.11.0.
57865
57866
57867       To configure this beacon to use the defaults, set up an empty dict  for
57868       it in the minion config:
57869
57870          beacons:
57871            status: []
57872
57873       By  default, all of the information from the following execution module
57874       functions will be returned:
57875
57876          · loadavg
57877
57878          · cpustats
57879
57880          · meminfo
57881
57882          · vmstats
57883
57884          · time
57885
57886       You can also configure your own set of functions to be returned:
57887
57888          beacons:
57889            status:
57890              - time:
57891                - all
57892              - loadavg:
57893                - all
57894
57895       You may also configure only certain fields from  each  function  to  be
57896       returned.   For  instance,  the  loadavg function returns the following
57897       fields:
57898
57899          · 1-min
57900
57901          · 5-min
57902
57903          · 15-min
57904
57905       If you wanted to return only the 1-min and  5-min  fields  for  loadavg
57906       then you would configure:
57907
57908          beacons:
57909            status:
57910              - loadavg:
57911                - 1-min
57912                - 5-min
57913
57914       Other  functions  only  return  a single value instead of a dictionary.
57915       With these, you may specify all or 0. The following are both valid:
57916
57917          beacons:
57918            status:
57919              - time:
57920                - all
57921
57922          beacons:
57923            status:
57924              - time:
57925                - 0
57926
57927       If a status function returns a list, you may return the index marker or
57928       markers for specific list items:
57929
57930          beacons:
57931            status:
57932              - w:
57933                - 0
57934                - 1
57935                - 2
57936
57937       WARNING:
57938          Not  all  status functions are supported for every operating system.
57939          Be certain to check the minion log for errors after configuring this
57940          beacon.
57941
57942       salt.beacons.status.beacon(config)
57943              Return status for requested information
57944
57945       salt.beacons.status.validate(config)
57946              Validate the the config is a dict
57947
57948   salt.beacons.telegram_bot_msg
57949       Beacon to emit Telegram messages
57950
57951       Requires the python-telegram-bot library
57952
57953       salt.beacons.telegram_bot_msg.beacon(config)
57954              Emit  a dict with a key "msgs" whose value is a list of messages
57955              sent to the configured bot by one of the allowed usernames.
57956
57957                 beacons:
57958                   telegram_bot_msg:
57959                     - token: "<bot access token>"
57960                     - accept_from:
57961                       - "<valid username>"
57962                     - interval: 10
57963
57964       salt.beacons.telegram_bot_msg.validate(config)
57965              Validate the beacon configuration
57966
57967   salt.beacons.twilio_txt_msg
57968       Beacon to emit Twilio text messages
57969
57970       salt.beacons.twilio_txt_msg.beacon(config)
57971              Emit a dict name "texts" whose value is a list of texts.
57972
57973                 beacons:
57974                   twilio_txt_msg:
57975                     - account_sid: "<account sid>"
57976                     - auth_token: "<auth token>"
57977                     - twilio_number: "+15555555555"
57978                     - interval: 10
57979
57980       salt.beacons.twilio_txt_msg.validate(config)
57981              Validate the beacon configuration
57982
57983   salt.beacons.wtmp
57984       Beacon to fire events at login of users as registered in the wtmp file
57985
57986       New in version 2015.5.0.
57987
57988
57989   Example Configuration
57990          # Fire events on all logins
57991          beacons:
57992            wtmp: []
57993
57994          # Matching on user name, using a default time range
57995          beacons:
57996            wtmp:
57997              - users:
57998                  gareth:
57999              - defaults:
58000                  time_range:
58001                      start: '8am'
58002                      end: '4pm'
58003
58004          # Matching on user name, overriding the default time range
58005          beacons:
58006            wtmp:
58007              - users:
58008                  gareth:
58009                      time_range:
58010                          start: '7am'
58011                          end: '3pm'
58012              - defaults:
58013                  time_range:
58014                      start: '8am'
58015                      end: '4pm'
58016
58017          # Matching on group name, overriding the default time range
58018          beacons:
58019            wtmp:
58020              - groups:
58021                  users:
58022                      time_range:
58023                          start: '7am'
58024                          end: '3pm'
58025              - defaults:
58026                  time_range:
58027                      start: '8am'
58028                      end: '4pm'
58029
58030   How to Tell What An Event Means
58031       In the events that this beacon fires, a type  of  7  denotes  a  login,
58032       while  a  type  of  8  denotes a logout. These values correspond to the
58033       ut_type value from a wtmp/utmp event (see the  wtmp  manpage  for  more
58034       information).   In  the extremely unlikely case that your platform uses
58035       different values, they can be overridden using a  ut_type  key  in  the
58036       beacon configuration:
58037
58038          beacons:
58039            wtmp:
58040              - ut_type:
58041                  login: 9
58042                  logout: 10
58043
58044       This  beacon's  events include an action key which will be either login
58045       or logout depending on the event type.
58046
58047       Changed in version Fluorine: action key  added  to  beacon  event,  and
58048       ut_type config parameter added.
58049
58050
58051   Use Case: Posting Login/Logout Events to Slack
58052       This can be done using the following reactor SLS:
58053
58054          report-wtmp:
58055            runner.salt.cmd:
58056              - args:
58057                - fun: slack.post_message
58058                - channel: mychannel      # Slack channel
58059                - from_name: someuser     # Slack user
58060                - message: "{{ data.get('action', 'Unknown event') | capitalize }} from `{{ data.get('user', '') or 'unknown user' }}` on `{{ data['id'] }}`"
58061
58062       Match the event like so in the master config file:
58063
58064          reactor:
58065
58066            - 'salt/beacon/*/wtmp/':
58067              - salt://reactor/wtmp.sls
58068
58069       NOTE:
58070          This  approach  uses the slack execution module directly on the mas‐
58071          ter, and therefore requires that the master has a slack API  key  in
58072          its configuration:
58073
58074              slack:
58075                api_key: xoxb-XXXXXXXXXXXX-XXXXXXXXXXXX-XXXXXXXXXXXXXXXXXXXXXXXX
58076
58077          See  the  slack execution module documentation for more information.
58078          While you can use an individual user's API key to post to  Slack,  a
58079          bot user is likely better suited for this. The slack engine documen‐
58080          tation has information on how to set up a bot user.
58081
58082       salt.beacons.wtmp.beacon(config)
58083              Read the last wtmp file and return information on the logins
58084
58085       salt.beacons.wtmp.validate(config)
58086              Validate the beacon configuration
58087
58088   Cache Modules
58089                     ┌────────────┬────────────────────────────┐
58090consul      │ Minion data  cache  plugin │
58091                     │            │ for  Consul key/value data │
58092                     │            │ store.                     │
58093                     └────────────┴────────────────────────────┘
58094
58095
58096etcd_cache  │ Minion data  cache  plugin │
58097                     │            │ for  Etcd  key/value  data │
58098                     │            │ store.                     │
58099                     ├────────────┼────────────────────────────┤
58100localfs     │ Cache data in filesystem.  │
58101                     ├────────────┼────────────────────────────┤
58102mysql_cache │ Minion data  cache  plugin │
58103                     │            │ for MySQL database.        │
58104                     ├────────────┼────────────────────────────┤
58105redis_cache │ Redis                      │
58106                     └────────────┴────────────────────────────┘
58107
58108   salt.cache.consul
58109       Minion data cache plugin for Consul key/value data store.
58110
58111       New in version 2016.11.2.
58112
58113
58114       depends
58115              python-consul >= 0.2.0
58116
58117       It is up to the system administrator to set up and configure the Consul
58118       infrastructure. All is needed for this plugin is a working Consul agent
58119       with a read-write access to the key-value store.
58120
58121       The related documentation can be found in the Consul documentation.
58122
58123       To enable this cache plugin, the master will need the python client for
58124       Consul installed. This can be easily installed with pip:
58125
58126       Optionally, depending on the Consul agent configuration, the  following
58127       values could be set in the master config. These are the defaults:
58128
58129          consul.host: 127.0.0.1
58130          consul.port: 8500
58131          consul.token: None
58132          consul.scheme: http
58133          consul.consistency: default
58134          consul.dc: dc1
58135          consul.verify: True
58136
58137       Related docs could be found in the python-consul documentation.
58138
58139       To  use the consul as a minion data cache backend, set the master cache
58140       config value to consul:
58141
58142          cache: consul
58143
58144       salt.cache.consul.contains(bank, key)
58145              Checks if the specified bank contains the specified key.
58146
58147       salt.cache.consul.fetch(bank, key)
58148              Fetch a key value.
58149
58150       salt.cache.consul.flush(bank, key=None)
58151              Remove the key from the cache bank with all the key content.
58152
58153       salt.cache.consul.list_(bank)
58154              Return an iterable object containing all entries stored  in  the
58155              specified bank.
58156
58157       salt.cache.consul.store(bank, key, data)
58158              Store a key value.
58159
58160   salt.cache.etcd_cache
58161       Minion data cache plugin for Etcd key/value data store.
58162
58163       New in version develop.
58164
58165
58166       It  is  up to the system administrator to set up and configure the Etcd
58167       infrastructure. All is needed for this plugin is a working  Etcd  agent
58168       with a read-write access to the key-value store.
58169
58170       The related documentation can be found in the Etcd documentation.
58171
58172       To enable this cache plugin, the master will need the python client for
58173       Etcd installed. This can be easily installed with pip:
58174
58175       Optionally, depending on the Etcd agent  configuration,  the  following
58176       values could be set in the master config. These are the defaults:
58177
58178          etcd.host: 127.0.0.1
58179          etcd.port: 2379
58180          etcd.protocol: http
58181          etcd.allow_reconnect: True
58182          etcd.allow_redirect: False
58183          etcd.srv_domain: None
58184          etcd.read_timeout: 60
58185          etcd.username: None
58186          etcd.password: None
58187          etcd.cert: None
58188          etcd.ca_cert: None
58189
58190       Related docs could be found in the python-etcd documentation.
58191
58192       To  use  the  etcd as a minion data cache backend, set the master cache
58193       config value to etcd:
58194
58195          cache: etcd
58196
58197       salt.cache.etcd_cache.contains(bank, key)
58198              Checks if the specified bank contains the specified key.
58199
58200       salt.cache.etcd_cache.fetch(bank, key)
58201              Fetch a key value.
58202
58203       salt.cache.etcd_cache.flush(bank, key=None)
58204              Remove the key from the cache bank with all the key content.
58205
58206       salt.cache.etcd_cache.ls(bank)
58207              Return an iterable object containing all entries stored  in  the
58208              specified bank.
58209
58210       salt.cache.etcd_cache.store(bank, key, data)
58211              Store a key value.
58212
58213   salt.cache.localfs
58214       Cache data in filesystem.
58215
58216       New in version 2016.11.0.
58217
58218
58219       The  localfs  Minion  cache module is the default cache module and does
58220       not require any configuration.
58221
58222       Expiration  values  can  be   set   in   the   relevant   config   file
58223       (/etc/salt/master for the master, /etc/salt/cloud for Salt Cloud, etc).
58224
58225       salt.cache.localfs.contains(bank, key, cachedir)
58226              Checks if the specified bank contains the specified key.
58227
58228       salt.cache.localfs.fetch(bank, key, cachedir)
58229              Fetch information from a file.
58230
58231       salt.cache.localfs.flush(bank, key=None, cachedir=None)
58232              Remove the key from the cache bank with all the key content.
58233
58234       salt.cache.localfs.get_storage_id(kwargs)
58235
58236       salt.cache.localfs.init_kwargs(kwargs)
58237
58238       salt.cache.localfs.list_(bank, cachedir)
58239              Return  an  iterable object containing all entries stored in the
58240              specified bank.
58241
58242       salt.cache.localfs.store(bank, key, data, cachedir)
58243              Store information in a file.
58244
58245       salt.cache.localfs.updated(bank, key, cachedir)
58246              Return the epoch of the mtime for this cache file
58247
58248   salt.cache.mysql_cache
58249       Minion data cache plugin for MySQL database.
58250
58251       New in version develop.
58252
58253
58254       It is up to the system administrator to set up and configure the  MySQL
58255       infrastructure.  All  is  needed  for  this  plugin  is a working MySQL
58256       server.
58257
58258       The module requires the salt_cache database to exists but  creates  its
58259       own  table  if needed. The keys are indexed using the bank and etcd_key
58260       columns.
58261
58262       To enable this cache plugin, the master will need the python client for
58263       MySQL installed. This can be easily installed with pip:
58264
58265       Optionally,  depending  on the MySQL agent configuration, the following
58266       values could be set in the master config. These are the defaults:
58267
58268          mysql.host: 127.0.0.1
58269          mysql.port: 2379
58270          mysql.user: None
58271          mysql.password: None
58272          mysql.database: salt_cache
58273          mysql.table_name: cache
58274
58275       Related docs could be found in the python-mysql documentation.
58276
58277       To use the mysql as a minion data cache backend, set the  master  cache
58278       config value to mysql:
58279
58280          cache: mysql
58281
58282       salt.cache.mysql_cache.contains(bank, key)
58283              Checks if the specified bank contains the specified key.
58284
58285       salt.cache.mysql_cache.fetch(bank, key)
58286              Fetch a key value.
58287
58288       salt.cache.mysql_cache.flush(bank, key=None)
58289              Remove the key from the cache bank with all the key content.
58290
58291       salt.cache.mysql_cache.ls(bank)
58292              Return  an  iterable object containing all entries stored in the
58293              specified bank.
58294
58295       salt.cache.mysql_cache.run_query(conn, query, retries=3)
58296              Get a cursor and run a query. Reconnect up to retries  times  if
58297              needed.   Returns:  cursor,  affected rows counter Raises: Salt‐
58298              CacheError, AttributeError, OperationalError
58299
58300       salt.cache.mysql_cache.store(bank, key, data)
58301              Store a key value.
58302
58303   salt.cache.redis_cache
58304   Redis
58305       Redis plugin for the Salt caching subsystem.
58306
58307       New in version 2017.7.0.
58308
58309
58310       As Redis provides a simple mechanism for very fast key-value store,  in
58311       order  to privde the necessary features for the Salt caching subsystem,
58312       the following conventions are used:
58313
58314       · A Redis key consists of the bank name and the cache key separated  by
58315         /,  e.g.:  $KEY_minions/alpha/stuff  where  minions/alpha is the bank
58316         name and stuff is the key name.
58317
58318       · As the caching subsystem is organised as a tree, we need to store the
58319         caching  path  and  identify the bank and its offspring.  At the same
58320         time, Redis is linear and we need to avoid doing keys <pattern> which
58321         is  very  inefficient  as  it goes through all the keys on the remote
58322         Redis server.  Instead, each bank hierarchy has a Redis  SET  associ‐
58323         ated which stores the list of sub-banks. By default, these keys begin
58324         with $BANK_.
58325
58326       · In addition, each key name is stored in a separate  SET  of  all  the
58327         keys within a bank. By default, these SETs begin with $BANKEYS_.
58328
58329       For    example,    to   store   the   key   my-key   under   the   bank
58330       root-bank/sub-bank/leaf-bank, the following hierarchy will be built:
58331
58332          127.0.0.1:6379> SMEMBERS $BANK_root-bank
58333          1) "sub-bank"
58334          127.0.0.1:6379> SMEMBERS $BANK_root-bank/sub-bank
58335          1) "leaf-bank"
58336          127.0.0.1:6379> SMEMBERS $BANKEYS_root-bank/sub-bank/leaf-bank
58337          1) "my-key"
58338          127.0.0.1:6379> GET $KEY_root-bank/sub-bank/leaf-bank/my-key
58339          "my-value"
58340
58341       There are three types of keys stored:
58342
58343       · $BANK_* is a Redis SET containing the list of banks under the current
58344         bank
58345
58346       · $BANKEYS_*  is a Redis SET containing the list of keys under the cur‐
58347         rent bank
58348
58349       · $KEY_* keeps the value of the key
58350
58351       These prefixes and the separator can be adjusted using  the  configura‐
58352       tion options:
58353
58354       bank_prefix: $BANK
58355              The  prefix  used for the name of the Redis key storing the list
58356              of sub-banks.
58357
58358       bank_keys_prefix: $BANKEYS
58359              The prefix used for the name of the Redis keyt storing the  list
58360              of keys under a certain bank.
58361
58362       key_prefix: $KEY
58363              The  prefix of the Redis keys having the value of the keys to be
58364              cached under a certain bank.
58365
58366       separator: _
58367              The separator between the prefix and the key body.
58368
58369       The connection details can be specified using:
58370
58371       host: localhost
58372              The hostname of the Redis server.
58373
58374       port: 6379
58375              The Redis server port.
58376
58377       cluster_mode: False
58378              Whether cluster_mode is enabled or not
58379
58380       cluster.startup_nodes:
58381              A list of host, port dictionaries pointing to  cluster  members.
58382              At least one is required but multiple nodes are better
58383
58384                 cache.redis.cluster.startup_nodes
58385                   - host: redis-member-1
58386                     port: 6379
58387                   - host: redis-member-2
58388                     port: 6379
58389
58390       cluster.skip_full_coverage_check: False
58391              Some  cluster  providers restrict certain redis commands such as
58392              CONFIG for enhanced security.  Set this option to true  to  skip
58393              checks that required advanced privileges.
58394
58395              NOTE:
58396                 Most  cloud hosted redis clusters will require this to be set
58397                 to True
58398
58399       db: '0'
58400              The database index.
58401
58402              NOTE:
58403                 The database index must be specified as string not as integer
58404                 value!
58405
58406       password:
58407              Redis connection password.
58408
58409       unix_socket_path:
58410          New in version 2018.3.1.
58411
58412
58413          Path to a UNIX socket for access. Overrides host / port.
58414
58415       Configuration Example:
58416
58417          cache.redis.host: localhost
58418          cache.redis.port: 6379
58419          cache.redis.db: '0'
58420          cache.redis.password: my pass
58421          cache.redis.bank_prefix: #BANK
58422          cache.redis.bank_keys_prefix: #BANKEYS
58423          cache.redis.key_prefix: #KEY
58424          cache.redis.separator: '@'
58425
58426       Cluster Configuration Example:
58427
58428          cache.redis.cluster_mode: true
58429          cache.redis.cluster.skip_full_coverage_check: true
58430          cache.redis.cluster.startup_nodes:
58431            - host: redis-member-1
58432              port: 6379
58433            - host: redis-member-2
58434              port: 6379
58435          cache.redis.db: '0'
58436          cache.redis.password: my pass
58437          cache.redis.bank_prefix: #BANK
58438          cache.redis.bank_keys_prefix: #BANKEYS
58439          cache.redis.key_prefix: #KEY
58440          cache.redis.separator: '@'
58441
58442       salt.cache.redis_cache.contains(bank, key)
58443              Checks if the specified bank contains the specified key.
58444
58445       salt.cache.redis_cache.fetch(bank, key)
58446              Fetch data from the Redis cache.
58447
58448       salt.cache.redis_cache.flush(bank, key=None)
58449              Remove  the key from the cache bank with all the key content. If
58450              no key is specified, remove the entire bank with  all  keys  and
58451              sub-banks  inside.   This function is using the Redis pipelining
58452              for best performance.  However, when removing a whole  bank,  in
58453              order  to  re-create  the  tree,  there are a couple of requests
58454              made. In total:
58455
58456              · one for node in the hierarchy sub-tree, starting from the bank
58457                node
58458
58459              · one  pipelined  request to get the keys under all banks in the
58460                sub-tree
58461
58462              · one pipeline request to remove the corresponding keys
58463
58464              This is not quite optimal, as if we need to flush a bank  having
58465              a  very  long list of sub-banks, the number of requests to build
58466              the sub-tree may grow quite big.
58467
58468              An improvement for this would be loading a custom Lua script  in
58469              the  Redis  instance of the user (using the register_script fea‐
58470              ture) and call it whenever we flush.   This  script  would  only
58471              need  to  build  this sub-tree causing problems. It can be added
58472              later and the behaviour should not change as the user  needs  to
58473              explicitly allow Salt inject scripts in their Redis instance.
58474
58475       salt.cache.redis_cache.init_kwargs(kwargs)
58476
58477       salt.cache.redis_cache.list_(bank)
58478              Lists entries stored in the specified bank.
58479
58480       salt.cache.redis_cache.store(bank, key, data)
58481              Store the data in a Redis key.
58482
58483   cloud modules
58484                    ┌──────────────┬────────────────────────────┐
58485aliyun        │ AliYun ECS Cloud Module    │
58486                    ├──────────────┼────────────────────────────┤
58487azurearm      │ Azure ARM Cloud Module     │
58488                    ├──────────────┼────────────────────────────┤
58489cloudstack    │ CloudStack Cloud Module    │
58490                    ├──────────────┼────────────────────────────┤
58491digitalocean  │ DigitalOcean Cloud Module  │
58492                    ├──────────────┼────────────────────────────┤
58493dimensiondata │ Dimension  Data Cloud Mod‐ │
58494                    │              │ ule                        │
58495                    ├──────────────┼────────────────────────────┤
58496ec2           │ The EC2 Cloud Module       │
58497                    ├──────────────┼────────────────────────────┤
58498gce           │ Copyright 2013 Google Inc. │
58499                    ├──────────────┼────────────────────────────┤
58500gogrid        │ GoGrid Cloud Module        │
58501                    ├──────────────┼────────────────────────────┤
58502joyent        │ Joyent Cloud Module        │
58503                    ├──────────────┼────────────────────────────┤
58504linode        │ Linode Cloud Module  using │
58505                    │              │ Linode's REST API          │
58506                    ├──────────────┼────────────────────────────┤
58507lxc           │ Install  Salt  on  an  LXC │
58508                    │              │ Container                  │
58509                    ├──────────────┼────────────────────────────┤
58510msazure       │ Azure Cloud Module         │
58511                    ├──────────────┼────────────────────────────┤
58512nova          │ OpenStack Nova Cloud  Mod‐ │
58513                    │              │ ule                        │
58514                    ├──────────────┼────────────────────────────┤
58515oneandone     │ 1&1 Cloud Server Module    │
58516                    ├──────────────┼────────────────────────────┤
58517opennebula    │ OpenNebula Cloud Module    │
58518                    ├──────────────┼────────────────────────────┤
58519openstack     │ Openstack Cloud Driver     │
58520                    ├──────────────┼────────────────────────────┤
58521parallels     │ Parallels Cloud Module     │
58522                    ├──────────────┼────────────────────────────┤
58523profitbricks  │ ProfitBricks Cloud Module  │
58524                    ├──────────────┼────────────────────────────┤
58525proxmox       │ Proxmox Cloud Module       │
58526                    ├──────────────┼────────────────────────────┤
58527pyrax         │ Pyrax Cloud Module         │
58528                    ├──────────────┼────────────────────────────┤
58529qingcloud     │ QingCloud Cloud Module     │
58530                    ├──────────────┼────────────────────────────┤
58531saltify       │                            │
58532                    ├──────────────┼────────────────────────────┤
58533scaleway      │ Scaleway Cloud Module      │
58534                    ├──────────────┼────────────────────────────┤
58535softlayer     │ SoftLayer Cloud Module     │
58536                    ├──────────────┼────────────────────────────┤
58537softlayer_hw  │ SoftLayer HW Cloud Module  │
58538                    ├──────────────┼────────────────────────────┤
58539vagrant       │ Vagrant Cloud Driver       │
58540                    ├──────────────┼────────────────────────────┤
58541virtualbox    │ A salt cloud provider that │
58542                    │              │ lets you use virtualbox on │
58543                    │              │ your  machine and act as a │
58544                    │              │ cloud.                     │
58545                    ├──────────────┼────────────────────────────┤
58546vmware        │ VMware Cloud Module        │
58547                    ├──────────────┼────────────────────────────┤
58548vultrpy       │ Vultr Cloud  Module  using │
58549                    │              │ python-vultr bindings      │
58550                    ├──────────────┼────────────────────────────┤
58551xen           │ XenServer Cloud Driver     │
58552                    └──────────────┴────────────────────────────┘
58553
58554   salt.cloud.clouds.aliyun
58555   AliYun ECS Cloud Module
58556       New in version 2014.7.0.
58557
58558
58559       The  Aliyun  cloud  module is used to control access to the aliyun ECS.
58560       http://www.aliyun.com/
58561
58562       Use of this module requires the id and key parameter to be set.  Set up
58563       the     cloud    configuration    at    /etc/salt/cloud.providers    or
58564       /etc/salt/cloud.providers.d/aliyun.conf:
58565
58566          my-aliyun-config:
58567            # aliyun Access Key ID
58568            id: wFGEwgregeqw3435gDger
58569            # aliyun Access Key Secret
58570            key: GDE43t43REGTrkilg43934t34qT43t4dgegerGEgg
58571            location: cn-qingdao
58572            driver: aliyun
58573
58574       depends
58575              requests
58576
58577       salt.cloud.clouds.aliyun.avail_images(kwargs=None, call=None)
58578              Return a list of the images that are on the provider
58579
58580       salt.cloud.clouds.aliyun.avail_locations(call=None)
58581              Return a dict  of  all  available  VM  locations  on  the  cloud
58582              provider with relevant data
58583
58584       salt.cloud.clouds.aliyun.avail_sizes(call=None)
58585              Return a list of the image sizes that are on the provider
58586
58587       salt.cloud.clouds.aliyun.create(vm_)
58588              Create a single VM from a data dict
58589
58590       salt.cloud.clouds.aliyun.create_node(kwargs)
58591              Convenience  function  to  make  the rest api call for node cre‐
58592              ation.
58593
58594       salt.cloud.clouds.aliyun.destroy(name, call=None)
58595              Destroy a node.
58596
58597              CLI Example:
58598
58599                 salt-cloud -a destroy myinstance
58600                 salt-cloud -d myinstance
58601
58602       salt.cloud.clouds.aliyun.get_configured_provider()
58603              Return the first configured instance.
58604
58605       salt.cloud.clouds.aliyun.get_dependencies()
58606              Warn if dependencies aren't met.
58607
58608       salt.cloud.clouds.aliyun.get_image(vm_)
58609              Return the image object to use
58610
58611       salt.cloud.clouds.aliyun.get_location(vm_=None)
58612
58613              Return the aliyun region to use, in this order:
58614
58615                     · CLI parameter
58616
58617                     · VM parameter
58618
58619                     · Cloud profile setting
58620
58621       salt.cloud.clouds.aliyun.get_securitygroup(vm_)
58622              Return the security group
58623
58624       salt.cloud.clouds.aliyun.get_size(vm_)
58625              Return the VM's size. Used by create_node().
58626
58627       salt.cloud.clouds.aliyun.list_availability_zones(call=None)
58628              List all availability zones in the current region
58629
58630       salt.cloud.clouds.aliyun.list_monitor_data(kwargs=None, call=None)
58631              Get monitor data of the instance. If instance name  is  missing,
58632              will show all the instance monitor data on the region.
58633
58634              CLI Examples:
58635
58636                 salt-cloud -f list_monitor_data aliyun
58637                 salt-cloud -f list_monitor_data aliyun name=AY14051311071990225bd
58638
58639       salt.cloud.clouds.aliyun.list_nodes(call=None)
58640              Return a list of the VMs that are on the provider
58641
58642       salt.cloud.clouds.aliyun.list_nodes_full(call=None)
58643              Return a list of the VMs that are on the provider
58644
58645       salt.cloud.clouds.aliyun.list_nodes_min(call=None)
58646              Return  a  list of the VMs that are on the provider. Only a list
58647              of VM names, and their state, is returned. This is  the  minimum
58648              amount of information needed to check for existing VMs.
58649
58650       salt.cloud.clouds.aliyun.list_nodes_select(call=None)
58651              Return  a  list of the VMs that are on the provider, with select
58652              fields
58653
58654       salt.cloud.clouds.aliyun.list_securitygroup(call=None)
58655              Return a list of security group
58656
58657       salt.cloud.clouds.aliyun.query(params=None)
58658              Make a web call to aliyun ECS REST API
58659
58660       salt.cloud.clouds.aliyun.reboot(name, call=None)
58661              Reboot a node
58662
58663              CLI Examples:
58664
58665                 salt-cloud -a reboot myinstance
58666
58667       salt.cloud.clouds.aliyun.script(vm_)
58668              Return the script deployment object
58669
58670       salt.cloud.clouds.aliyun.show_disk(name, call=None)
58671              Show the disk details of the instance
58672
58673              CLI Examples:
58674
58675                 salt-cloud -a show_disk aliyun myinstance
58676
58677       salt.cloud.clouds.aliyun.show_image(kwargs, call=None)
58678              Show the details from aliyun image
58679
58680       salt.cloud.clouds.aliyun.show_instance(name, call=None)
58681              Show the details from aliyun instance
58682
58683       salt.cloud.clouds.aliyun.start(name, call=None)
58684              Start a node
58685
58686              CLI Examples:
58687
58688                 salt-cloud -a start myinstance
58689
58690       salt.cloud.clouds.aliyun.stop(name, force=False, call=None)
58691              Stop a node
58692
58693              CLI Examples:
58694
58695                 salt-cloud -a stop myinstance
58696                 salt-cloud -a stop myinstance force=True
58697
58698   salt.cloud.clouds.azurearm
58699   Azure ARM Cloud Module
58700       New in version 2016.11.0.
58701
58702
58703       Changed in version Fluorine.
58704
58705
58706       The Azure ARM cloud module is used to control access to Microsoft Azure
58707       Resource Manager
58708
58709       depends
58710
58711              · azure >= 2.0.0rc6
58712
58713              · azure-common >= 1.1.4
58714
58715              · azure-mgmt >= 0.30.0rc6
58716
58717              · azure-mgmt-compute >= 0.33.0
58718
58719              · azure-mgmt-network >= 0.30.0rc6
58720
58721              · azure-mgmt-resource >= 0.30.0
58722
58723              · azure-mgmt-storage >= 0.30.0rc6
58724
58725              · azure-mgmt-web >= 0.30.0rc6
58726
58727              · azure-storage >= 0.32.0
58728
58729              · msrestazure >= 0.4.21
58730
58731       configuration
58732              Required provider parameters:
58733
58734              if using username and password:
58735
58736                     · subscription_id
58737
58738                     · username
58739
58740                     · password
58741
58742              if using a service principal:
58743
58744                     · subscription_id
58745
58746                     · tenant
58747
58748                     · client_id
58749
58750                     · secret
58751
58752              Optional provider parameters:
58753
58754              cloud_environment:  Used  to point the cloud driver to different
58755              API endpoints, such as Azure GovCloud. Possible values:
58756
58757                     · AZURE_PUBLIC_CLOUD (default)
58758
58759                     · AZURE_CHINA_CLOUD
58760
58761                     · AZURE_US_GOV_CLOUD
58762
58763                     · AZURE_GERMAN_CLOUD
58764
58765                     · HTTP base URL for a  custom  endpoint,  such  as  Azure
58766                       Stack.  The  /metadata/endpoints  path will be added to
58767                       the URL.
58768
58769              userdata and userdata_file:
58770                     Azure Resource Manager uses a separate  VirtualMachineEx‐
58771                     tension  object  to  pass userdata scripts to the virtual
58772                     machine. Arbitrary shell commands can be passed  via  the
58773                     userdata parameter, or via a file local to the Salt Cloud
58774                     system using the userdata_file parameter. Note  that  the
58775                     local  file  is not treated as a script by the extension,
58776                     so "one-liners" probably work best. If greater  function‐
58777                     ality  is desired, a web-hosted script file can be speci‐
58778                     fied   via   userdata_file:    https://raw.githubusercon
58779                     tent.com/account/repo/master/azure-script.py,  which will
58780                     be executed on the system after VM creation. For  Windows
58781                     systems,  script  files  ending  in .ps1 will be executed
58782                     with powershell.exe. The userdata parameter takes  prece‐
58783                     dence  over the userdata_file parameter when creating the
58784                     custom script extension.
58785
58786              win_installer:
58787                     This parameter, which holds the local path  to  the  Salt
58788                     Minion  installer  package,  is  used to determine if the
58789                     virtual machine type will be  "Windows".  Only  set  this
58790                     parameter  on  profiles  which  install Windows operating
58791                     systems.
58792
58793       Example                  /etc/salt/cloud.providers                   or
58794       /etc/salt/cloud.providers.d/azure.conf configuration:
58795
58796          my-azure-config with username and password:
58797            driver: azurearm
58798            subscription_id: 3287abc8-f98a-c678-3bde-326766fd3617
58799            username: larry
58800            password: 123pass
58801
58802          Or my-azure-config with service principal:
58803            driver: azurearm
58804            subscription_id: 3287abc8-f98a-c678-3bde-326766fd3617
58805            tenant: ABCDEFAB-1234-ABCD-1234-ABCDEFABCDEF
58806            client_id: ABCDEFAB-1234-ABCD-1234-ABCDEFABCDEF
58807            secret: XXXXXXXXXXXXXXXXXXXXXXXX
58808            cloud_environment: AZURE_US_GOV_CLOUD
58809
58810            The Service Principal can be created with the new Azure CLI (https://github.com/Azure/azure-cli) with:
58811            az ad sp create-for-rbac -n "http://<yourappname>" --role <role> --scopes <scope>
58812            For example, this creates a service principal with 'owner' role for the whole subscription:
58813            az ad sp create-for-rbac -n "http://mysaltapp" --role owner --scopes /subscriptions/3287abc8-f98a-c678-3bde-326766fd3617
58814
58815            *Note: review the details of Service Principals. Owner role is more than you normally need, and you can restrict
58816            scope to a resource group or individual resources.
58817
58818       salt.cloud.clouds.azurearm.avail_images(call=None)
58819              Return a dict of all available images on the provider
58820
58821       salt.cloud.clouds.azurearm.avail_locations(call=None)
58822              Return a dict of all available regions.
58823
58824       salt.cloud.clouds.azurearm.avail_sizes(call=None)
58825              Return a list of sizes available from the provider
58826
58827       salt.cloud.clouds.azurearm.create(vm_)
58828              Create a single VM from a data dict.
58829
58830       salt.cloud.clouds.azurearm.create_network_interface(call=None,
58831       kwargs=None)
58832              Create a network interface.
58833
58834       salt.cloud.clouds.azurearm.create_or_update_vmextension(call=None,
58835       kwargs=None)
58836              New in version Fluorine.
58837
58838
58839              Create or update a VM extension object "inside" of a VM object.
58840
58841              required kwargs:
58842
58843                        extension_name: myvmextension
58844                        virtual_machine_name: myvm
58845                        settings: {"commandToExecute": "hostname"}
58846
58847              optional kwargs:
58848
58849                        resource_group: < inferred from cloud configs >
58850                        location: < inferred from cloud configs >
58851                        publisher: < default: Microsoft.Azure.Extensions >
58852                        virtual_machine_extension_type: < default: CustomScript >
58853                        type_handler_version: < default: 2.0 >
58854                        auto_upgrade_minor_version: < default: True >
58855                        protected_settings: < default: None >
58856
58857       salt.cloud.clouds.azurearm.delete_blob(call=None, kwargs=None)
58858              Delete a blob from a container.
58859
58860       salt.cloud.clouds.azurearm.delete_interface(call=None, kwargs=None)
58861              Delete a network interface.
58862
58863       salt.cloud.clouds.azurearm.delete_managed_disk(call=None, kwargs=None)
58864              Delete a managed disk from a resource group.
58865
58866       salt.cloud.clouds.azurearm.destroy(name, call=None, kwargs=None)
58867              Destroy a VM.
58868
58869              CLI Examples:
58870
58871                 salt-cloud -d myminion
58872                 salt-cloud -a destroy myminion service_name=myservice
58873
58874       salt.cloud.clouds.azurearm.get_api_versions(call=None, kwargs=None)
58875              Get a resource type api versions
58876
58877       salt.cloud.clouds.azurearm.get_configured_provider()
58878              Return the first configured provider instance.
58879
58880       salt.cloud.clouds.azurearm.get_conn(client_type)
58881              Return a connection object for a client type.
58882
58883       salt.cloud.clouds.azurearm.get_dependencies()
58884              Warn if dependencies aren't met.
58885
58886       salt.cloud.clouds.azurearm.get_location(call=None, kwargs=None)
58887              Return the location that is configured for this provider
58888
58889       salt.cloud.clouds.azurearm.get_resource_by_id(resource_id, api_version,
58890       extract_value=None)
58891              Get an AzureARM resource by id
58892
58893       salt.cloud.clouds.azurearm.list_blobs(call=None, kwargs=None)
58894              List blobs.
58895
58896       salt.cloud.clouds.azurearm.list_nodes(call=None)
58897              List VMs on this Azure account
58898
58899       salt.cloud.clouds.azurearm.list_nodes_full(call=None)
58900              List all VMs on the subscription with full information
58901
58902       salt.cloud.clouds.azurearm.list_resource_groups(call=None)
58903              List resource groups associated with the subscription
58904
58905       salt.cloud.clouds.azurearm.list_storage_accounts(call=None)
58906              List storage accounts within the subscription.
58907
58908       salt.cloud.clouds.azurearm.list_subnets(call=None, kwargs=None)
58909              List subnets in a virtual network.
58910
58911       salt.cloud.clouds.azurearm.list_virtual_networks(call=None,
58912       kwargs=None)
58913              List virtual networks.
58914
58915       salt.cloud.clouds.azurearm.request_instance(vm_)
58916              Request a VM from Azure.
58917
58918       salt.cloud.clouds.azurearm.show_instance(name, call=None)
58919              Show the details from AzureARM concerning an instance
58920
58921       salt.cloud.clouds.azurearm.start(name, call=None)
58922              New in version Fluorine.
58923
58924
58925              Start a VM
58926
58927              CLI Examples:
58928
58929                 salt-cloud -a start myminion
58930
58931       salt.cloud.clouds.azurearm.stop(name, call=None)
58932              New in version Fluorine.
58933
58934
58935              Stop (deallocate) a VM
58936
58937              CLI Examples:
58938
58939                 salt-cloud -a stop myminion
58940
58941   salt.cloud.clouds.cloudstack
58942   CloudStack Cloud Module
58943       The  CloudStack  cloud module is used to control access to a CloudStack
58944       based Public Cloud.
58945
58946       depends
58947              libcloud >= 0.15
58948
58949       Use of this module requires the apikey, secretkey, host and path param‐
58950       eters.
58951
58952          my-cloudstack-cloud-config:
58953            apikey: <your api key >
58954            secretkey: <your secret key >
58955            host: localhost
58956            path: /client/api
58957            driver: cloudstack
58958
58959       salt.cloud.clouds.cloudstack.avail_images(conn=None, call=None)
58960              Return  a  dict of all available VM images on the cloud provider
58961              with relevant data
58962
58963       salt.cloud.clouds.cloudstack.avail_locations(conn=None, call=None)
58964              Return a dict  of  all  available  VM  locations  on  the  cloud
58965              provider with relevant data
58966
58967       salt.cloud.clouds.cloudstack.avail_sizes(conn=None, call=None)
58968              Return  a  dict of all available VM images on the cloud provider
58969              with relevant data
58970
58971       salt.cloud.clouds.cloudstack.block_device_mappings(vm_)
58972              Return the block device mapping:
58973
58974                 [{'DeviceName': '/dev/sdb', 'VirtualName': 'ephemeral0'},
58975                   {'DeviceName': '/dev/sdc', 'VirtualName': 'ephemeral1'}]
58976
58977       salt.cloud.clouds.cloudstack.cloudstack_displayname(vm_)
58978              Return display name of VM:
58979
58980              ::     "minion1"
58981
58982       salt.cloud.clouds.cloudstack.create(vm_)
58983              Create a single VM from a data dict
58984
58985       salt.cloud.clouds.cloudstack.destroy(name, conn=None, call=None)
58986              Delete a single VM, and all of its volumes
58987
58988       salt.cloud.clouds.cloudstack.get_configured_provider()
58989              Return the first configured instance.
58990
58991       salt.cloud.clouds.cloudstack.get_conn()
58992              Return a conn object for the passed VM data
58993
58994       salt.cloud.clouds.cloudstack.get_dependencies()
58995              Warn if dependencies aren't met.
58996
58997       salt.cloud.clouds.cloudstack.get_image(conn, vm_)
58998              Return the image object to use
58999
59000       salt.cloud.clouds.cloudstack.get_ip(data)
59001              Return the IP address of the VM If the  VM  has   public  IP  as
59002              defined  by libcloud module then use it Otherwise try to extract
59003              the private IP and use that one.
59004
59005       salt.cloud.clouds.cloudstack.get_key()
59006              Returns the ssh private key for VM access
59007
59008       salt.cloud.clouds.cloudstack.get_keypair(vm_)
59009              Return the keypair to use
59010
59011       salt.cloud.clouds.cloudstack.get_location(conn, vm_)
59012              Return the node location to use
59013
59014       salt.cloud.clouds.cloudstack.get_networkid(vm_)
59015              Return the networkid to use, only valid for Advanced Zone
59016
59017       salt.cloud.clouds.cloudstack.get_node(conn, name)
59018              Return a libcloud node for the named VM
59019
59020       salt.cloud.clouds.cloudstack.get_password(vm_)
59021              Return the password to use
59022
59023       salt.cloud.clouds.cloudstack.get_project(conn, vm_)
59024              Return the project to use.
59025
59026       salt.cloud.clouds.cloudstack.get_security_groups(conn, vm_)
59027              Return  a  list  of  security  groups  to  use,  defaulting   to
59028              ['default']
59029
59030       salt.cloud.clouds.cloudstack.get_size(conn, vm_)
59031              Return the VM's size object
59032
59033       salt.cloud.clouds.cloudstack.list_nodes(conn=None, call=None)
59034              Return a list of the VMs that are on the provider
59035
59036       salt.cloud.clouds.cloudstack.list_nodes_full(conn=None, call=None)
59037              Return  a  list  of  the  VMs that are on the provider, with all
59038              fields
59039
59040       salt.cloud.clouds.cloudstack.list_nodes_select(conn=None, call=None)
59041              Return a list of the VMs that are on the provider,  with  select
59042              fields
59043
59044       salt.cloud.clouds.cloudstack.script(vm_)
59045              Return the script deployment object
59046
59047       salt.cloud.clouds.cloudstack.show_instance(name, call=None)
59048              Show the details from the provider concerning an instance
59049
59050   salt.cloud.clouds.digitalocean
59051   DigitalOcean Cloud Module
59052       The  DigitalOcean  cloud  module is used to control access to the Digi‐
59053       talOcean VPS system.
59054
59055       Use of this module requires  a  requires  a  personal_access_token,  an
59056       ssh_key_file,  and  at  least  one  SSH key name in ssh_key_names. More
59057       ssh_key_names can be added by separating each key  with  a  comma.  The
59058       personal_access_token can be found in the DigitalOcean web interface in
59059       the "Apps & API" section. The SSH key name can be found under the  "SSH
59060       Keys" section.
59061
59062          # Note: This example is for /etc/salt/cloud.providers or any file in the
59063          # /etc/salt/cloud.providers.d/ directory.
59064
59065          my-digital-ocean-config:
59066            personal_access_token: xxx
59067            ssh_key_file: /path/to/ssh/key/file
59068            ssh_key_names: my-key-name,my-key-name-2
59069            driver: digitalocean
59070
59071       depends
59072              requests
59073
59074       salt.cloud.clouds.digitalocean.assign_floating_ip(kwargs=None,
59075       call=None)
59076              Assign a floating IP
59077
59078              New in version 2016.3.0.
59079
59080
59081              CLI Examples:
59082
59083                 salt-cloud -f assign_floating_ip my-digitalocean-config droplet_id=1234567 floating_ip='45.55.96.47'
59084
59085       salt.cloud.clouds.digitalocean.avail_images(call=None)
59086              Return a list of the images that are on the provider
59087
59088       salt.cloud.clouds.digitalocean.avail_locations(call=None)
59089              Return a dict  of  all  available  VM  locations  on  the  cloud
59090              provider with relevant data
59091
59092       salt.cloud.clouds.digitalocean.avail_sizes(call=None)
59093              Return a list of the image sizes that are on the provider
59094
59095       salt.cloud.clouds.digitalocean.create(vm_)
59096              Create a single VM from a data dict
59097
59098       salt.cloud.clouds.digitalocean.create_floating_ip(kwargs=None,
59099       call=None)
59100              Create a new floating IP
59101
59102              New in version 2016.3.0.
59103
59104
59105              CLI Examples:
59106
59107                 salt-cloud -f create_floating_ip my-digitalocean-config region='NYC2'
59108
59109                 salt-cloud -f create_floating_ip my-digitalocean-config droplet_id='1234567'
59110
59111       salt.cloud.clouds.digitalocean.create_key(kwargs=None, call=None)
59112              Upload a public key
59113
59114       salt.cloud.clouds.digitalocean.create_node(args)
59115              Create a node
59116
59117       salt.cloud.clouds.digitalocean.delete_floating_ip(kwargs=None,
59118       call=None)
59119              Delete a floating IP
59120
59121              New in version 2016.3.0.
59122
59123
59124              CLI Examples:
59125
59126                 salt-cloud -f delete_floating_ip my-digitalocean-config floating_ip='45.55.96.47'
59127
59128       salt.cloud.clouds.digitalocean.destroy(name, call=None)
59129              Destroy  a  node.  Will check termination protection and warn if
59130              enabled.
59131
59132              CLI Example:
59133
59134                 salt-cloud --destroy mymachine
59135
59136       salt.cloud.clouds.digitalocean.destroy_dns_records(fqdn)
59137              Deletes DNS records for the given hostname if the domain is man‐
59138              aged with DO.
59139
59140       salt.cloud.clouds.digitalocean.get_configured_provider()
59141              Return the first configured instance.
59142
59143       salt.cloud.clouds.digitalocean.get_dependencies()
59144              Warn if dependencies aren't met.
59145
59146       salt.cloud.clouds.digitalocean.get_image(vm_)
59147              Return the image object to use
59148
59149       salt.cloud.clouds.digitalocean.get_keyid(keyname)
59150              Return the ID of the keyname
59151
59152       salt.cloud.clouds.digitalocean.get_location(vm_)
59153              Return the VM's location
59154
59155       salt.cloud.clouds.digitalocean.get_size(vm_)
59156              Return the VM's size. Used by create_node().
59157
59158       salt.cloud.clouds.digitalocean.import_keypair(kwargs=None, call=None)
59159              Upload public key to cloud provider.  Similar to EC2 import_key‐
59160              pair.
59161
59162              New in version 2016.11.0.
59163
59164
59165              kwargs file(mandatory): public key file-name keyname(mandatory):
59166                     public key name in the provider
59167
59168       salt.cloud.clouds.digitalocean.list_floating_ips(call=None)
59169              Return a list of the floating ips that are on the provider
59170
59171              New in version 2016.3.0.
59172
59173
59174              CLI Examples:
59175
59176                 salt-cloud -f list_floating_ips my-digitalocean-config
59177
59178       salt.cloud.clouds.digitalocean.list_keypairs(call=None)
59179              Return  a  dict  of  all  available  VM  locations  on the cloud
59180              provider with relevant data
59181
59182       salt.cloud.clouds.digitalocean.list_nodes(call=None)
59183              Return a list of the VMs that are on the provider
59184
59185       salt.cloud.clouds.digitalocean.list_nodes_full(call=None,      for_out‐
59186       put=True)
59187              Return a list of the VMs that are on the provider
59188
59189       salt.cloud.clouds.digitalocean.list_nodes_select(call=None)
59190              Return  a  list of the VMs that are on the provider, with select
59191              fields
59192
59193       salt.cloud.clouds.digitalocean.post_dns_record(**kwargs)
59194              Creates a DNS record for the given name if the domain is managed
59195              with DO.
59196
59197       salt.cloud.clouds.digitalocean.query(method=u'droplets',
59198       droplet_id=None, command=None, args=None, http_method=u'get')
59199              Make a web call to DigitalOcean
59200
59201       salt.cloud.clouds.digitalocean.reboot(name, call=None)
59202              Reboot a droplet in DigitalOcean.
59203
59204              New in version 2015.8.8.
59205
59206
59207              name   The name of the droplet to restart.
59208
59209              CLI Example:
59210
59211                 salt-cloud -a reboot droplet_name
59212
59213       salt.cloud.clouds.digitalocean.remove_key(kwargs=None, call=None)
59214              Delete public key
59215
59216       salt.cloud.clouds.digitalocean.script(vm_)
59217              Return the script deployment object
59218
59219       salt.cloud.clouds.digitalocean.show_floating_ip(kwargs=None, call=None)
59220              Show the details of a floating IP
59221
59222              New in version 2016.3.0.
59223
59224
59225              CLI Examples:
59226
59227                 salt-cloud -f show_floating_ip my-digitalocean-config floating_ip='45.55.96.47'
59228
59229       salt.cloud.clouds.digitalocean.show_instance(name, call=None)
59230              Show the details from DigitalOcean concerning a droplet
59231
59232       salt.cloud.clouds.digitalocean.show_keypair(kwargs=None, call=None)
59233              Show the details of an SSH keypair
59234
59235       salt.cloud.clouds.digitalocean.show_pricing(kwargs=None, call=None)
59236              Show pricing for a particular profile. This is only an estimate,
59237              based on unofficial pricing sources.
59238
59239              New in version 2015.8.0.
59240
59241
59242              CLI Examples:
59243
59244                 salt-cloud -f show_pricing my-digitalocean-config profile=my-profile
59245
59246       salt.cloud.clouds.digitalocean.start(name, call=None)
59247              Start a droplet in DigitalOcean.
59248
59249              New in version 2015.8.8.
59250
59251
59252              name   The name of the droplet to start.
59253
59254              CLI Example:
59255
59256                 salt-cloud -a start droplet_name
59257
59258       salt.cloud.clouds.digitalocean.stop(name, call=None)
59259              Stop a droplet in DigitalOcean.
59260
59261              New in version 2015.8.8.
59262
59263
59264              name   The name of the droplet to stop.
59265
59266              CLI Example:
59267
59268                 salt-cloud -a stop droplet_name
59269
59270       salt.cloud.clouds.digitalocean.unassign_floating_ip(kwargs=None,
59271       call=None)
59272              Unassign a floating IP
59273
59274              New in version 2016.3.0.
59275
59276
59277              CLI Examples:
59278
59279                 salt-cloud -f unassign_floating_ip my-digitalocean-config floating_ip='45.55.96.47'
59280
59281   salt.cloud.clouds.dimensiondata
59282   Dimension Data Cloud Module
59283       This is a cloud module for the Dimension Data Cloud, using the existing
59284       Libcloud driver for Dimension Data.
59285
59286          # Note: This example is for /etc/salt/cloud.providers
59287          # or any file in the
59288          # /etc/salt/cloud.providers.d/ directory.
59289
59290          my-dimensiondata-config:
59291            user_id: my_username
59292            key: myPassword!
59293            region: dd-na
59294            driver: dimensiondata
59295
59296       maintainer
59297              Anthony Shaw <anthonyshaw@apache.org>
59298
59299       depends
59300              libcloud >= 1.2.1
59301
59302       salt.cloud.clouds.dimensiondata.avail_images(conn=None, call=None)
59303              Return  a  dict of all available VM images on the cloud provider
59304              with relevant data
59305
59306       salt.cloud.clouds.dimensiondata.avail_locations(conn=None, call=None)
59307              Return a dict  of  all  available  VM  locations  on  the  cloud
59308              provider with relevant data
59309
59310       salt.cloud.clouds.dimensiondata.avail_sizes(conn=None, call=None)
59311              Return  a  dict of all available VM images on the cloud provider
59312              with relevant data
59313
59314       salt.cloud.clouds.dimensiondata.create(vm_)
59315              Create a single VM from a data dict
59316
59317       salt.cloud.clouds.dimensiondata.create_lb(kwargs=None, call=None)
59318              Create a load-balancer configuration.  CLI Example:
59319
59320                 salt-cloud -f create_lb dimensiondata \
59321                     name=dev-lb port=80 protocol=http \
59322                     members=w1,w2,w3 algorithm=ROUND_ROBIN
59323
59324       salt.cloud.clouds.dimensiondata.destroy(name, conn=None, call=None)
59325              Delete a single VM
59326
59327       salt.cloud.clouds.dimensiondata.get_configured_provider()
59328              Return the first configured instance.
59329
59330       salt.cloud.clouds.dimensiondata.get_conn()
59331              Return a conn object for the passed VM data
59332
59333       salt.cloud.clouds.dimensiondata.get_dependencies()
59334              Warn if dependencies aren't met.
59335
59336       salt.cloud.clouds.dimensiondata.get_image(conn, vm_)
59337              Return the image object to use
59338
59339       salt.cloud.clouds.dimensiondata.get_lb_conn(dd_driver=None)
59340              Return a load-balancer conn object
59341
59342       salt.cloud.clouds.dimensiondata.get_node(conn, name)
59343              Return a libcloud node for the named VM
59344
59345       salt.cloud.clouds.dimensiondata.get_size(conn, vm_)
59346              Return the VM's size object
59347
59348       salt.cloud.clouds.dimensiondata.list_nodes(conn=None, call=None)
59349              Return a list of the VMs that are on the provider
59350
59351       salt.cloud.clouds.dimensiondata.list_nodes_full(conn=None, call=None)
59352              Return a list of the VMs that are  on  the  provider,  with  all
59353              fields
59354
59355       salt.cloud.clouds.dimensiondata.list_nodes_select(conn=None, call=None)
59356              Return  a  list of the VMs that are on the provider, with select
59357              fields
59358
59359       salt.cloud.clouds.dimensiondata.preferred_ip(vm_, ips)
59360              Return the preferred Internet protocol. Either 'ipv4'  (default)
59361              or 'ipv6'.
59362
59363       salt.cloud.clouds.dimensiondata.reboot(name, conn=None)
59364              Reboot a single VM
59365
59366       salt.cloud.clouds.dimensiondata.script(vm_)
59367              Return the script deployment object
59368
59369       salt.cloud.clouds.dimensiondata.show_instance(name, call=None)
59370              Show the details from the provider concerning an instance
59371
59372       salt.cloud.clouds.dimensiondata.ssh_interface(vm_)
59373              Return the ssh_interface type to connect to. Either 'public_ips'
59374              (default) or 'private_ips'.
59375
59376       salt.cloud.clouds.dimensiondata.start(name, call=None)
59377              Stop a VM in DimensionData.
59378
59379              Parameters
59380                     name (str) -- The name of the VM to stop.
59381
59382              CLI Example:
59383
59384                 salt-cloud -a stop vm_name
59385
59386       salt.cloud.clouds.dimensiondata.stop(name, call=None)
59387              Stop a VM in DimensionData.
59388
59389              name:  The name of the VM to stop.
59390
59391              CLI Example:
59392
59393                 salt-cloud -a stop vm_name
59394
59395   salt.cloud.clouds.ec2
59396   The EC2 Cloud Module
59397       The EC2 cloud module is used to interact with the Amazon  Elastic  Com‐
59398       pute Cloud.
59399
59400       To use the EC2 cloud module, set up the cloud configuration at
59401              /etc/salt/cloud.providers                                     or
59402              /etc/salt/cloud.providers.d/ec2.conf:
59403
59404          my-ec2-config:
59405            # EC2 API credentials: Access Key ID and Secret Access Key.
59406            # Alternatively, to use IAM Instance Role credentials available via
59407            # EC2 metadata set both id and key to 'use-instance-role-credentials'
59408            id: GKTADJGHEIQSXMKKRBJ08H
59409            key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
59410
59411            # If 'role_arn' is specified the above credentials are used to
59412            # to assume to the role. By default, role_arn is set to None.
59413            role_arn: arn:aws:iam::012345678910:role/SomeRoleName
59414
59415            # The ssh keyname to use
59416            keyname: default
59417            # The amazon security group
59418            securitygroup: ssh_open
59419            # The location of the private key which corresponds to the keyname
59420            private_key: /root/default.pem
59421
59422            # Be default, service_url is set to amazonaws.com. If you are using this
59423            # driver for something other than Amazon EC2, change it here:
59424            service_url: amazonaws.com
59425
59426            # The endpoint that is ultimately used is usually formed using the region
59427            # and the service_url. If you would like to override that entirely, you
59428            # can explicitly define the endpoint:
59429            endpoint: myendpoint.example.com:1138/services/Cloud
59430
59431            # SSH Gateways can be used with this provider. Gateways can be used
59432            # when a salt-master is not on the same private network as the instance
59433            # that is being deployed.
59434
59435            # Defaults to None
59436            # Required
59437            ssh_gateway: gateway.example.com
59438
59439            # Defaults to port 22
59440            # Optional
59441            ssh_gateway_port: 22
59442
59443            # Defaults to root
59444            # Optional
59445            ssh_gateway_username: root
59446
59447            # Default to nc -q0 %h %p
59448            # Optional
59449            ssh_gateway_command: "-W %h:%p"
59450
59451            # One authentication method is required. If both
59452            # are specified, Private key wins.
59453
59454            # Private key defaults to None
59455            ssh_gateway_private_key: /path/to/key.pem
59456
59457            # Password defaults to None
59458            ssh_gateway_password: ExamplePasswordHere
59459
59460            driver: ec2
59461
59462            # Pass userdata to the instance to be created
59463            userdata_file: /etc/salt/my-userdata-file
59464
59465       depends
59466              requests
59467
59468       salt.cloud.clouds.ec2.attach_volume(name=None,             kwargs=None,
59469       instance_id=None, call=None)
59470              Attach a volume to an instance
59471
59472       salt.cloud.clouds.ec2.avail_images(kwargs=None, call=None)
59473              Return a dict of all available VM images on the cloud provider.
59474
59475       salt.cloud.clouds.ec2.avail_locations(call=None)
59476              List all available locations
59477
59478       salt.cloud.clouds.ec2.avail_sizes(call=None)
59479              Return  a  dict  of all available VM sizes on the cloud provider
59480              with relevant data. Latest version can be found at:
59481
59482              http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html
59483
59484       salt.cloud.clouds.ec2.block_device_mappings(vm_)
59485              Return the block device mapping:
59486
59487                 [{'DeviceName': '/dev/sdb', 'VirtualName': 'ephemeral0'},
59488                   {'DeviceName': '/dev/sdc', 'VirtualName': 'ephemeral1'}]
59489
59490       salt.cloud.clouds.ec2.copy_snapshot(kwargs=None, call=None)
59491              Copy a snapshot
59492
59493       salt.cloud.clouds.ec2.create(vm_=None, call=None)
59494              Create a single VM from a data dict
59495
59496       salt.cloud.clouds.ec2.create_attach_volumes(name,   kwargs,  call=None,
59497       wait_to_finish=True)
59498              Create and attach volumes to created node
59499
59500       salt.cloud.clouds.ec2.create_keypair(kwargs=None, call=None)
59501              Create an SSH keypair
59502
59503       salt.cloud.clouds.ec2.create_snapshot(kwargs=None,           call=None,
59504       wait_to_finish=False)
59505              Create a snapshot.
59506
59507              volume_id
59508                     The ID of the Volume from which to create a snapshot.
59509
59510              description
59511                     The optional description of the snapshot.
59512
59513              CLI Exampe:
59514
59515                 salt-cloud -f create_snapshot my-ec2-config volume_id=vol-351d8826
59516                 salt-cloud -f create_snapshot my-ec2-config volume_id=vol-351d8826 \
59517                     description="My Snapshot Description"
59518
59519       salt.cloud.clouds.ec2.create_volume(kwargs=None,             call=None,
59520       wait_to_finish=False)
59521              Create a volume.
59522
59523              zone   The  availability  zone  used  to  create   the   volume.
59524                     Required. String.
59525
59526              size   The size of the volume, in GiBs. Defaults to 10. Integer.
59527
59528              snapshot
59529                     The snapshot-id from which to create the volume. Integer.
59530
59531              type   The volume type. This can be gp2 for General Purpose SSD,
59532                     io1 for Provisioned IOPS SSD, st1  for  Throughput  Opti‐
59533                     mized  HDD,  sc1  for  Cold HDD, or standard for Magnetic
59534                     volumes. String.
59535
59536              iops   The number of I/O operations per second (IOPS) to  provi‐
59537                     sion for the volume, with a maximum ratio of 50 IOPS/GiB.
59538                     Only valid for Provisioned IOPS SSD volumes. Integer.
59539
59540                     This option will only be set if type is also specified as
59541                     io1.
59542
59543              encrypted
59544                     Specifies whether the volume will be encrypted. Boolean.
59545
59546                     If  snapshot  is  also  given in the list of kwargs, then
59547                     this value is ignored since volumes that are created from
59548                     encrypted snapshots are also automatically encrypted.
59549
59550              tags   The  tags to apply to the volume during creation. Dictio‐
59551                     nary.
59552
59553              call   The create_volume function must  be  called  with  -f  or
59554                     --function.  String.
59555
59556              wait_to_finish
59557                     Whether  or  not  to wait for the volume to be available.
59558                     Boolean. Defaults to False.
59559
59560              CLI Examples:
59561
59562                 salt-cloud -f create_volume my-ec2-config zone=us-east-1b
59563                 salt-cloud -f create_volume my-ec2-config zone=us-east-1b tags='{"tag1": "val1", "tag2", "val2"}'
59564
59565       salt.cloud.clouds.ec2.del_tags(name=None,    kwargs=None,    call=None,
59566       instance_id=None, resource_id=None)
59567              Delete tags for a resource. Normally a VM name or instance_id is
59568              passed in, but a resource_id may be passed instead. If both  are
59569              passed in, the instance_id will be used.
59570
59571              CLI Examples:
59572
59573                 salt-cloud -a del_tags mymachine tags=mytag,
59574                 salt-cloud -a del_tags mymachine tags=tag1,tag2,tag3
59575                 salt-cloud -a del_tags resource_id=vol-3267ab32 tags=tag1,tag2,tag3
59576
59577       salt.cloud.clouds.ec2.delete_keypair(kwargs=None, call=None)
59578              Delete an SSH keypair
59579
59580       salt.cloud.clouds.ec2.delete_snapshot(kwargs=None, call=None)
59581              Delete a snapshot
59582
59583       salt.cloud.clouds.ec2.delete_volume(name=None,             kwargs=None,
59584       instance_id=None, call=None)
59585              Delete a volume
59586
59587       salt.cloud.clouds.ec2.delvol_on_destroy(name, kwargs=None, call=None)
59588              Delete all/specified EBS volumes upon instance termination
59589
59590              CLI Example:
59591
59592                 salt-cloud -a delvol_on_destroy mymachine
59593
59594       salt.cloud.clouds.ec2.describe_snapshots(kwargs=None, call=None)
59595              Describe a snapshot (or snapshots)
59596
59597              snapshot_id
59598                     One or more snapshot IDs. Multiple IDs must be  separated
59599                     by ",".
59600
59601              owner  Return  the snapshots owned by the specified owner. Valid
59602                     values include: self, amazon, <AWS Account ID>.  Multiple
59603                     values must be separated by ",".
59604
59605              restorable_by
59606                     One or more AWS accounts IDs that can create volumes from
59607                     the snapshot.  Multiple aws account IDs must be separated
59608                     by ",".
59609
59610              TODO: Add all of the filters.
59611
59612       salt.cloud.clouds.ec2.describe_volumes(kwargs=None, call=None)
59613              Describe a volume (or volumes)
59614
59615              volume_id
59616                     One or more volume IDs. Multiple IDs must be separated by
59617                     ",".
59618
59619              TODO: Add all of the filters.
59620
59621       salt.cloud.clouds.ec2.destroy(name, call=None)
59622              Destroy a node. Will check termination protection  and  warn  if
59623              enabled.
59624
59625              CLI Example:
59626
59627                 salt-cloud --destroy mymachine
59628
59629       salt.cloud.clouds.ec2.detach_volume(name=None,             kwargs=None,
59630       instance_id=None, call=None)
59631              Detach a volume from an instance
59632
59633       salt.cloud.clouds.ec2.disable_detailed_monitoring(name, call=None)
59634              Enable/disable detailed monitoring on a node
59635
59636              CLI Example:
59637
59638       salt.cloud.clouds.ec2.disable_term_protect(name, call=None)
59639              Disable termination protection on a node
59640
59641              CLI Example:
59642
59643                 salt-cloud -a disable_term_protect mymachine
59644
59645       salt.cloud.clouds.ec2.enable_detailed_monitoring(name, call=None)
59646              Enable/disable detailed monitoring on a node
59647
59648              CLI Example:
59649
59650       salt.cloud.clouds.ec2.enable_term_protect(name, call=None)
59651              Enable termination protection on a node
59652
59653              CLI Example:
59654
59655                 salt-cloud -a enable_term_protect mymachine
59656
59657       salt.cloud.clouds.ec2.get_availability_zone(vm_)
59658              Return the availability zone to use
59659
59660       salt.cloud.clouds.ec2.get_configured_provider()
59661              Return the first configured instance.
59662
59663       salt.cloud.clouds.ec2.get_console_output(name=None,      location=None,
59664       instance_id=None, call=None, kwargs=None)
59665              Show the console output from the instance.
59666
59667              By  default,  returns  decoded data, not the Base64-encoded data
59668              that is actually returned from the EC2 API.
59669
59670       salt.cloud.clouds.ec2.get_dependencies()
59671              Warn if dependencies aren't met.
59672
59673       salt.cloud.clouds.ec2.get_imageid(vm_)
59674              Returns the ImageId to use
59675
59676       salt.cloud.clouds.ec2.get_location(vm_=None)
59677
59678              Return the EC2 region to use, in this order:
59679
59680                     · CLI parameter
59681
59682                     · VM parameter
59683
59684                     · Cloud profile setting
59685
59686       salt.cloud.clouds.ec2.get_password_data(name=None,         kwargs=None,
59687       instance_id=None, call=None)
59688              Return password data for a Windows instance.
59689
59690              By  default  only  the encrypted password data will be returned.
59691              However, if a key_file is passed in, then a  decrypted  password
59692              will also be returned.
59693
59694              Note  that the key_file references the private key that was used
59695              to generate the keypair associated with this instance. This pri‐
59696              vate  key  will  _not_ be transmitted to Amazon; it is only used
59697              internally inside of Salt Cloud to decrypt data _after_  it  has
59698              been received from Amazon.
59699
59700              CLI Examples:
59701
59702                 salt-cloud -a get_password_data mymachine
59703                 salt-cloud -a get_password_data mymachine key_file=/root/ec2key.pem
59704
59705              Note: PKCS1_v1_5 was added in PyCrypto 2.5
59706
59707       salt.cloud.clouds.ec2.get_placementgroup(vm_)
59708              Returns the PlacementGroup to use
59709
59710       salt.cloud.clouds.ec2.get_provider(vm_=None)
59711              Extract the provider name from vm
59712
59713       salt.cloud.clouds.ec2.get_spot_config(vm_)
59714              Returns the spot instance configuration for the provided vm
59715
59716       salt.cloud.clouds.ec2.get_ssh_gateway_config(vm_)
59717              Return the ssh_gateway configuration.
59718
59719       salt.cloud.clouds.ec2.get_subnetid(vm_)
59720              Returns the SubnetId to use
59721
59722       salt.cloud.clouds.ec2.get_tags(name=None,  instance_id=None, call=None,
59723       location=None, kwargs=None, resource_id=None)
59724              Retrieve tags for a resource. Normally a VM name or  instance_id
59725              is  passed  in, but a resource_id may be passed instead. If both
59726              are passed in, the instance_id will be used.
59727
59728              CLI Examples:
59729
59730                 salt-cloud -a get_tags mymachine
59731                 salt-cloud -a get_tags resource_id=vol-3267ab32
59732
59733       salt.cloud.clouds.ec2.get_tenancy(vm_)
59734              Returns the Tenancy to use.
59735
59736              Can be "dedicated" or "default".  Cannot  be  present  for  spot
59737              instances.
59738
59739       salt.cloud.clouds.ec2.iam_profile(vm_)
59740              Return the IAM profile.
59741
59742              The  IAM instance profile to associate with the instances.  This
59743              is either the Amazon Resource Name (ARN) of the instance profile
59744              or the name of the role.
59745
59746              Type: String
59747
59748              Default: None
59749
59750              Required: No
59751
59752              Example: arn:aws:iam::111111111111:instance-profile/s3access
59753
59754              Example: s3access
59755
59756       salt.cloud.clouds.ec2.import_keypair(kwargs=None, call=None)
59757              Import an SSH public key.
59758
59759              New in version 2015.8.3.
59760
59761
59762       salt.cloud.clouds.ec2.keepvol_on_destroy(name, kwargs=None, call=None)
59763              Do  not  delete all/specified EBS volumes upon instance termina‐
59764              tion
59765
59766              CLI Example:
59767
59768                 salt-cloud -a keepvol_on_destroy mymachine
59769
59770       salt.cloud.clouds.ec2.keyname(vm_)
59771              Return the keyname
59772
59773       salt.cloud.clouds.ec2.list_nodes(call=None)
59774              Return a list of the VMs that are on the provider
59775
59776       salt.cloud.clouds.ec2.list_nodes_full(location=None, call=None)
59777              Return a list of the VMs that are on the provider
59778
59779       salt.cloud.clouds.ec2.list_nodes_min(location=None, call=None)
59780              Return a list of the VMs that are on the provider. Only  a  list
59781              of  VM  names, and their state, is returned. This is the minimum
59782              amount of information needed to check for existing VMs.
59783
59784       salt.cloud.clouds.ec2.list_nodes_select(call=None)
59785              Return a list of the VMs that are on the provider,  with  select
59786              fields
59787
59788       salt.cloud.clouds.ec2.optimize_providers(providers)
59789              Return an optimized list of providers.
59790
59791              We want to reduce the duplication of querying the same region.
59792
59793              If  a provider is using the same credentials for the same region
59794              the same data will be returned for each provider,  thus  causing
59795              un-wanted duplicate data and API calls to EC2.
59796
59797       salt.cloud.clouds.ec2.query(params=None, setname=None, requesturl=None,
59798       location=None, return_url=False, return_root=False)
59799
59800       salt.cloud.clouds.ec2.query_instance(vm_=None, call=None)
59801              Query an instance upon creation from the EC2 API
59802
59803       salt.cloud.clouds.ec2.queue_instances(instances)
59804              Queue a set of instances to  be  provisioned  later.  Expects  a
59805              list.
59806
59807              Currently this only queries node data, and then places it in the
59808              cloud cache (if configured). If the salt-cloud-reactor is  being
59809              used,  these  instances  will be automatically provisioned using
59810              that.
59811
59812              For more information about the salt-cloud-reactor, see:
59813
59814              https://github.com/saltstack-formulas/salt-cloud-reactor
59815
59816       salt.cloud.clouds.ec2.reboot(name, call=None)
59817              Reboot a node.
59818
59819              CLI Example:
59820
59821                 salt-cloud -a reboot mymachine
59822
59823       salt.cloud.clouds.ec2.register_image(kwargs=None, call=None)
59824              Create an ami from a snapshot
59825
59826              CLI Example:
59827
59828                 salt-cloud -f register_image my-ec2-config ami_name=my_ami description="my description"
59829                         root_device_name=/dev/xvda snapshot_id=snap-xxxxxxxx
59830
59831       salt.cloud.clouds.ec2.rename(name, kwargs, call=None)
59832              Properly rename a node. Pass in the new name as "new name".
59833
59834              CLI Example:
59835
59836                 salt-cloud -a rename mymachine newname=yourmachine
59837
59838       salt.cloud.clouds.ec2.request_instance(vm_=None, call=None)
59839              Put together all of the  information  necessary  to  request  an
59840              instance on EC2, and then fire off the request the instance.
59841
59842              Returns data about the instance
59843
59844       salt.cloud.clouds.ec2.script(vm_)
59845              Return the script deployment object
59846
59847       salt.cloud.clouds.ec2.securitygroup(vm_)
59848              Return the security group
59849
59850       salt.cloud.clouds.ec2.securitygroupid(vm_)
59851              Returns the SecurityGroupId
59852
59853       salt.cloud.clouds.ec2.set_tags(name=None,  tags=None,  call=None, loca‐
59854       tion=None, instance_id=None, resource_id=None, kwargs=None)
59855              Set tags for a resource. Normally a VM name  or  instance_id  is
59856              passed  in, but a resource_id may be passed instead. If both are
59857              passed in, the instance_id will be used.
59858
59859              CLI Examples:
59860
59861                 salt-cloud -a set_tags mymachine tag1=somestuff tag2='Other stuff'
59862                 salt-cloud -a set_tags resource_id=vol-3267ab32 tag=somestuff
59863
59864       salt.cloud.clouds.ec2.show_delvol_on_destroy(name,         kwargs=None,
59865       call=None)
59866              Do  not  delete all/specified EBS volumes upon instance termina‐
59867              tion
59868
59869              CLI Example:
59870
59871                 salt-cloud -a show_delvol_on_destroy mymachine
59872
59873       salt.cloud.clouds.ec2.show_detailed_monitoring(name=None,
59874       instance_id=None, call=None, quiet=False)
59875              Show the details from EC2 regarding cloudwatch detailed monitor‐
59876              ing.
59877
59878       salt.cloud.clouds.ec2.show_image(kwargs, call=None)
59879              Show the details from EC2 concerning an AMI
59880
59881       salt.cloud.clouds.ec2.show_instance(name=None,        instance_id=None,
59882       call=None, kwargs=None)
59883              Show the details from EC2 concerning an AMI.
59884
59885              Can be called as an action (which requires a name):
59886
59887                 salt-cloud -a show_instance myinstance
59888
59889              ...or   as   a   function  (which  requires  either  a  name  or
59890              instance_id):
59891
59892                 salt-cloud -f show_instance my-ec2 name=myinstance
59893                 salt-cloud -f show_instance my-ec2 instance_id=i-d34db33f
59894
59895       salt.cloud.clouds.ec2.show_keypair(kwargs=None, call=None)
59896              Show the details of an SSH keypair
59897
59898       salt.cloud.clouds.ec2.show_pricing(kwargs=None, call=None)
59899              Show pricing for a particular profile. This is only an estimate,
59900              based on unofficial pricing sources.
59901
59902              CLI Examples:
59903
59904                 salt-cloud -f show_pricing my-ec2-config profile=my-profile
59905
59906              If  pricing  sources  have  not  been cached, they will be down‐
59907              loaded. Once they have been cached, they  will  not  be  updated
59908              automatically.  To manually update all prices, use the following
59909              command:
59910
59911                 salt-cloud -f update_pricing <provider>
59912
59913              New in version 2015.8.0.
59914
59915
59916       salt.cloud.clouds.ec2.show_term_protect(name=None,    instance_id=None,
59917       call=None, quiet=False)
59918              Show  the  details from EC2 concerning an instance's termination
59919              protection state
59920
59921       salt.cloud.clouds.ec2.show_volume(kwargs=None, call=None)
59922              Wrapper around describe_volumes.  Here just to keep  functional‐
59923              ity.  Might be depreciated later.
59924
59925       salt.cloud.clouds.ec2.sign(key, msg)
59926
59927       salt.cloud.clouds.ec2.ssh_interface(vm_)
59928              Return the ssh_interface type to connect to. Either 'public_ips'
59929              (default) or 'private_ips'.
59930
59931       salt.cloud.clouds.ec2.ssm_create_association(name=None,    kwargs=None,
59932       instance_id=None, call=None)
59933              Associates   the  specified  SSM  document  with  the  specified
59934              instance
59935
59936              http://docs.aws.amazon.com/ssm/latest/APIReference/API_CreateAssociation.html
59937
59938              CLI Examples:
59939
59940                 salt-cloud -a ssm_create_association ec2-instance-name ssm_document=ssm-document-name
59941
59942       salt.cloud.clouds.ec2.ssm_describe_association(name=None,  kwargs=None,
59943       instance_id=None, call=None)
59944              Describes the associations for the  specified  SSM  document  or
59945              instance.
59946
59947              http://docs.aws.amazon.com/ssm/latest/APIReference/API_DescribeAssociation.html
59948
59949              CLI Examples:
59950
59951                 salt-cloud -a ssm_describe_association ec2-instance-name ssm_document=ssm-document-name
59952
59953       salt.cloud.clouds.ec2.start(name, call=None)
59954              Start a node
59955
59956       salt.cloud.clouds.ec2.stop(name, call=None)
59957              Stop a node
59958
59959       salt.cloud.clouds.ec2.update_pricing(kwargs=None, call=None)
59960              Download most recent pricing information from AWS and convert to
59961              a local JSON file.
59962
59963              CLI Examples:
59964
59965                 salt-cloud -f update_pricing my-ec2-config
59966                 salt-cloud -f update_pricing my-ec2-config type=linux
59967
59968              New in version 2015.8.0.
59969
59970
59971       salt.cloud.clouds.ec2.volume_create(**kwargs)
59972              Wrapper  around create_volume.  Here just to ensure the compati‐
59973              bility with the cloud module.
59974
59975       salt.cloud.clouds.ec2.volume_list(**kwargs)
59976              Wrapper around describe_volumes.  Here just to ensure  the  com‐
59977              patibility with the cloud module.
59978
59979       salt.cloud.clouds.ec2.wait_for_instance(vm_=None,            data=None,
59980       ip_address=None, display_ssh_output=True, call=None)
59981              Wait for an instance upon creation from the EC2 API,  to  become
59982              available
59983
59984   salt.cloud.clouds.gce
59985       Copyright 2013 Google Inc. All Rights Reserved.
59986
59987       Licensed under the Apache License, Version 2.0 (the "License"); you may
59988       not use this file except in  compliance  with  the  License.   You  may
59989       obtain a copy of the License at
59990          http://www.apache.org/licenses/LICENSE-2.0
59991
59992       Unless  required  by  applicable  law or agreed to in writing, software
59993       distributed under the License is distributed on an "AS IS" BASIS, WITH‐
59994       OUT  WARRANTIES  OR  CONDITIONS OF ANY KIND, either express or implied.
59995       See the License for the specific  language  governing  permissions  and
59996       limitations under the License.
59997
59998   Google Compute Engine Module
59999       The  Google  Compute  Engine module. This module interfaces with Google
60000       Compute Engine (GCE). To authenticate to GCE, you will need to create a
60001       Service  Account.  To set up Service Account Authentication, follow the
60002       gce_setup instructions.
60003
60004   Example Provider Configuration
60005          my-gce-config:
60006            # The Google Cloud Platform Project ID
60007            project: "my-project-id"
60008            # The Service Account client ID
60009            service_account_email_address: 1234567890@developer.gserviceaccount.com
60010            # The location of the private key (PEM format)
60011            service_account_private_key: /home/erjohnso/PRIVKEY.pem
60012            driver: gce
60013            # Specify whether to use public or private IP for deploy script.
60014            # Valid options are:
60015            #     private_ips - The salt-master is also hosted with GCE
60016            #     public_ips - The salt-master is hosted outside of GCE
60017            ssh_interface: public_ips
60018
60019       maintainer
60020              Eric Johnson <erjohnso@google.com>
60021
60022       maintainer
60023              Russell Tolle <russ.tolle@gmail.com>
60024
60025       depends
60026              libcloud >= 1.0.0
60027
60028       salt.cloud.clouds.gce.attach_disk(name=None, kwargs=None, call=None)
60029              Attach an existing disk to an existing instance.
60030
60031              CLI Example:
60032
60033                 salt-cloud -a attach_disk myinstance disk_name=mydisk mode=READ_WRITE
60034
60035       salt.cloud.clouds.gce.attach_lb(kwargs=None, call=None)
60036              Add an existing node/member to an existing load-balancer config‐
60037              uration.
60038
60039              CLI Example:
60040
60041                 salt-cloud -f attach_lb gce name=lb member=myinstance
60042
60043       salt.cloud.clouds.gce.avail_images(conn=None)
60044              Return  a  dict of all available VM images on the cloud provider
60045              with relevant data.
60046
60047              Note that for GCE, there are custom images within  the  project,
60048              but  the  generic  images are in other projects.  This returns a
60049              dict of images in the project plus images in  well-known  public
60050              projects  that provide supported images, as listed on this page:
60051              https://cloud.google.com/compute/docs/operating-systems/
60052
60053              If image names overlap, the image  in  the  current  project  is
60054              used.
60055
60056       salt.cloud.clouds.gce.avail_locations(conn=None, call=None)
60057              Return  a  dict  of  all  available  VM  locations  on the cloud
60058              provider with relevant data
60059
60060       salt.cloud.clouds.gce.avail_sizes(conn=None)
60061              Return a dict of available instances sizes (a.k.a machine types)
60062              and convert them to something more serializable.
60063
60064       salt.cloud.clouds.gce.create(vm_=None, call=None)
60065              Create a single GCE instance from a data dict.
60066
60067       salt.cloud.clouds.gce.create_address(kwargs=None, call=None)
60068              Create a static address in a region.
60069
60070              CLI Example:
60071
60072                 salt-cloud -f create_address gce name=my-ip region=us-central1 address=IP
60073
60074       salt.cloud.clouds.gce.create_attach_volumes(name, kwargs, call=None)
60075              New in version 2017.7.0.
60076
60077
60078              Create  and attach multiple volumes to a node. The 'volumes' and
60079              'node' arguments are required, where 'node' is a libcloud  node,
60080              and 'volumes' is a list of maps, where each map contains:
60081
60082              size   The size of the new disk in GB. Required.
60083
60084              type   The  disk  type,  either pd-standard or pd-ssd. Optional,
60085                     defaults to pd-standard.
60086
60087              image  An image to use for this new disk. Optional.
60088
60089              snapshot
60090                     A snapshot to use for this new disk. Optional.
60091
60092              auto_delete
60093                     An option(bool) to keep or remove the disk upon  instance
60094                     deletion.  Optional, defaults to False.
60095
60096              Volumes  are attached in the order in which they are given, thus
60097              on a new node the first volume  will  be  /dev/sdb,  the  second
60098              /dev/sdc, and so on.
60099
60100       salt.cloud.clouds.gce.create_disk(kwargs=None, call=None)
60101              Create  a  new persistent disk. Must specify disk_name and loca‐
60102              tion, and optionally can specify 'disk_type' as  pd-standard  or
60103              pd-ssd, which defaults to pd-standard. Can also specify an image
60104              or snapshot but if neither of those are specified,  a  size  (in
60105              GB) is required.
60106
60107              CLI Example:
60108
60109                 salt-cloud -f create_disk gce disk_name=pd size=300 location=us-central1-b
60110
60111       salt.cloud.clouds.gce.create_fwrule(kwargs=None, call=None)
60112              Create a GCE firewall rule. The 'default' network is used if not
60113              specified.
60114
60115              CLI Example:
60116
60117                 salt-cloud -f create_fwrule gce name=allow-http allow=tcp:80
60118
60119       salt.cloud.clouds.gce.create_hc(kwargs=None, call=None)
60120              Create an HTTP health check configuration.
60121
60122              CLI Example:
60123
60124                 salt-cloud -f create_hc gce name=hc path=/healthy port=80
60125
60126       salt.cloud.clouds.gce.create_lb(kwargs=None, call=None)
60127              Create a load-balancer configuration.
60128
60129              CLI Example:
60130
60131                 salt-cloud -f create_lb gce name=lb region=us-central1 ports=80
60132
60133       salt.cloud.clouds.gce.create_network(kwargs=None, call=None)
60134              ... versionchanged:: 2017.7.0 Create a GCE network. Must specify
60135              name and cidr.
60136
60137              CLI Example:
60138
60139                 salt-cloud -f create_network gce name=mynet cidr=10.10.10.0/24 mode=legacy description=optional
60140                 salt-cloud -f create_network gce name=mynet description=optional
60141
60142       salt.cloud.clouds.gce.create_snapshot(kwargs=None, call=None)
60143              Create a new disk snapshot. Must specify name and  disk_name.
60144
60145              CLI Example:
60146
60147                 salt-cloud -f create_snapshot gce name=snap1 disk_name=pd
60148
60149       salt.cloud.clouds.gce.create_subnetwork(kwargs=None, call=None)
60150              ...  versionadded:: 2017.7.0 Create a GCE Subnetwork. Must spec‐
60151              ify name, cidr, network, and region.
60152
60153              CLI Example:
60154
60155                 salt-cloud -f create_subnetwork gce name=mysubnet network=mynet1 region=us-west1 cidr=10.0.0.0/24 description=optional
60156
60157       salt.cloud.clouds.gce.delete_address(kwargs=None, call=None)
60158              Permanently delete a static address.
60159
60160              CLI Example:
60161
60162                 salt-cloud -f delete_address gce name=my-ip
60163
60164       salt.cloud.clouds.gce.delete_disk(kwargs=None, call=None)
60165              Permanently delete a persistent disk.
60166
60167              CLI Example:
60168
60169                 salt-cloud -f delete_disk gce disk_name=pd
60170
60171       salt.cloud.clouds.gce.delete_fwrule(kwargs=None, call=None)
60172              Permanently delete a firewall rule.
60173
60174              CLI Example:
60175
60176                 salt-cloud -f delete_fwrule gce name=allow-http
60177
60178       salt.cloud.clouds.gce.delete_hc(kwargs=None, call=None)
60179              Permanently delete a health check.
60180
60181              CLI Example:
60182
60183                 salt-cloud -f delete_hc gce name=hc
60184
60185       salt.cloud.clouds.gce.delete_lb(kwargs=None, call=None)
60186              Permanently delete a load-balancer.
60187
60188              CLI Example:
60189
60190                 salt-cloud -f delete_lb gce name=lb
60191
60192       salt.cloud.clouds.gce.delete_network(kwargs=None, call=None)
60193              Permanently delete a network.
60194
60195              CLI Example:
60196
60197                 salt-cloud -f delete_network gce name=mynet
60198
60199       salt.cloud.clouds.gce.delete_snapshot(kwargs=None, call=None)
60200              Permanently delete a disk snapshot.
60201
60202              CLI Example:
60203
60204                 salt-cloud -f delete_snapshot gce name=disk-snap-1
60205
60206       salt.cloud.clouds.gce.delete_subnetwork(kwargs=None, call=None)
60207              ... versionadded:: 2017.7.0 Delete a GCE Subnetwork. Must  spec‐
60208              ify name and region.
60209
60210              CLI Example:
60211
60212                 salt-cloud -f delete_subnetwork gce name=mysubnet network=mynet1 region=us-west1
60213
60214       salt.cloud.clouds.gce.destroy(vm_name, call=None)
60215              Call 'destroy' on the instance.  Can be called with "-a destroy"
60216              or -d
60217
60218              CLI Example:
60219
60220                 salt-cloud -a destroy myinstance1 myinstance2 ...
60221                 salt-cloud -d myinstance1 myinstance2 ...
60222
60223       salt.cloud.clouds.gce.detach_disk(name=None, kwargs=None, call=None)
60224              Detach a disk from an instance.
60225
60226              CLI Example:
60227
60228                 salt-cloud -a detach_disk myinstance disk_name=mydisk
60229
60230       salt.cloud.clouds.gce.detach_lb(kwargs=None, call=None)
60231              Remove an existing node/member from  an  existing  load-balancer
60232              configuration.
60233
60234              CLI Example:
60235
60236                 salt-cloud -f detach_lb gce name=lb member=myinstance
60237
60238       salt.cloud.clouds.gce.get_configured_provider()
60239              Return the first configured instance.
60240
60241       salt.cloud.clouds.gce.get_conn()
60242              Return a conn object for the passed VM data
60243
60244       salt.cloud.clouds.gce.get_dependencies()
60245              Warn if dependencies aren't met.
60246
60247       salt.cloud.clouds.gce.get_lb_conn(gce_driver=None)
60248              Return a load-balancer conn object
60249
60250       salt.cloud.clouds.gce.list_nodes(conn=None, call=None)
60251              Return a list of the VMs that are on the provider
60252
60253       salt.cloud.clouds.gce.list_nodes_full(conn=None, call=None)
60254              Return  a  list  of  the  VMs that are on the provider, with all
60255              fields
60256
60257       salt.cloud.clouds.gce.list_nodes_select(conn=None, call=None)
60258              Return a list of the VMs that are on the provider,  with  select
60259              fields
60260
60261       salt.cloud.clouds.gce.reboot(vm_name, call=None)
60262              Call GCE 'reset' on the instance.
60263
60264              CLI Example:
60265
60266                 salt-cloud -a reboot myinstance
60267
60268       salt.cloud.clouds.gce.request_instance(vm_)
60269              Request a single GCE instance from a data dict.
60270
60271       salt.cloud.clouds.gce.script(vm_)
60272              Return the script deployment object
60273
60274       salt.cloud.clouds.gce.show_address(kwargs=None, call=None)
60275              Show the details of an existing static address.
60276
60277              CLI Example:
60278
60279                 salt-cloud -f show_address gce name=mysnapshot region=us-central1
60280
60281       salt.cloud.clouds.gce.show_disk(name=None, kwargs=None, call=None)
60282              Show the details of an existing disk.
60283
60284              CLI Example:
60285
60286                 salt-cloud -a show_disk myinstance disk_name=mydisk
60287                 salt-cloud -f show_disk gce disk_name=mydisk
60288
60289       salt.cloud.clouds.gce.show_fwrule(kwargs=None, call=None)
60290              Show the details of an existing firewall rule.
60291
60292              CLI Example:
60293
60294                 salt-cloud -f show_fwrule gce name=allow-http
60295
60296       salt.cloud.clouds.gce.show_hc(kwargs=None, call=None)
60297              Show the details of an existing health check.
60298
60299              CLI Example:
60300
60301                 salt-cloud -f show_hc gce name=hc
60302
60303       salt.cloud.clouds.gce.show_instance(vm_name, call=None)
60304              Show the details of the existing instance.
60305
60306       salt.cloud.clouds.gce.show_lb(kwargs=None, call=None)
60307              Show the details of an existing load-balancer.
60308
60309              CLI Example:
60310
60311                 salt-cloud -f show_lb gce name=lb
60312
60313       salt.cloud.clouds.gce.show_network(kwargs=None, call=None)
60314              Show the details of an existing network.
60315
60316              CLI Example:
60317
60318                 salt-cloud -f show_network gce name=mynet
60319
60320       salt.cloud.clouds.gce.show_pricing(kwargs=None, call=None)
60321              Show pricing for a particular profile. This is only an estimate,
60322              based on unofficial pricing sources.
60323
60324              New in version 2015.8.0.
60325
60326
60327              CLI Examples:
60328
60329                 salt-cloud -f show_pricing my-gce-config profile=my-profile
60330
60331       salt.cloud.clouds.gce.show_snapshot(kwargs=None, call=None)
60332              Show the details of an existing snapshot.
60333
60334              CLI Example:
60335
60336                 salt-cloud -f show_snapshot gce name=mysnapshot
60337
60338       salt.cloud.clouds.gce.show_subnetwork(kwargs=None, call=None)
60339              ... versionadded:: 2017.7.0 Show details of an existing GCE Sub‐
60340              network. Must specify name and region.
60341
60342              CLI Example:
60343
60344                 salt-cloud -f show_subnetwork gce name=mysubnet region=us-west1
60345
60346       salt.cloud.clouds.gce.start(vm_name, call=None)
60347              Call GCE 'start on the instance.
60348
60349              New in version 2017.7.0.
60350
60351
60352              CLI Example:
60353
60354                 salt-cloud -a start myinstance
60355
60356       salt.cloud.clouds.gce.stop(vm_name, call=None)
60357              Call GCE 'stop' on the instance.
60358
60359              New in version 2017.7.0.
60360
60361
60362              CLI Example:
60363
60364                 salt-cloud -a stop myinstance
60365
60366       salt.cloud.clouds.gce.update_pricing(kwargs=None, call=None)
60367              Download  most  recent  pricing  information  from  GCE and save
60368              locally
60369
60370              CLI Examples:
60371
60372                 salt-cloud -f update_pricing my-gce-config
60373
60374              New in version 2015.8.0.
60375
60376
60377   salt.cloud.clouds.gogrid
60378   GoGrid Cloud Module
60379       The GoGrid cloud module. This module interfaces with the gogrid  public
60380       cloud  service.  To  use Salt Cloud with GoGrid log into the GoGrid web
60381       interface and create an api key. Do this by clicking  on  "My  Account"
60382       and then going to the API Keys tab.
60383
60384       Set   up   the  cloud  configuration  at  /etc/salt/cloud.providers  or
60385       /etc/salt/cloud.providers.d/gogrid.conf:
60386
60387          my-gogrid-config:
60388            # The generated api key to use
60389            apikey: asdff7896asdh789
60390            # The apikey's shared secret
60391            sharedsecret: saltybacon
60392            driver: gogrid
60393
60394       NOTE:
60395          A Note about using Map files with GoGrid:
60396
60397          Due to limitations in the GoGrid API,  instances  cannot  be  provi‐
60398          sioned  in parallel with the GoGrid driver. Map files will work with
60399          GoGrid, but the -P argument should not be used on  maps  referencing
60400          GoGrid instances.
60401
60402       NOTE:
60403          A Note about using Map files with GoGrid:
60404
60405          Due  to  limitations  in  the GoGrid API, instances cannot be provi‐
60406          sioned in parallel with the GoGrid driver. Map files will work  with
60407          GoGrid,  but  the -P argument should not be used on maps referencing
60408          GoGrid instances.
60409
60410       salt.cloud.clouds.gogrid.avail_images()
60411              Available images
60412
60413       salt.cloud.clouds.gogrid.avail_locations()
60414              Available locations
60415
60416       salt.cloud.clouds.gogrid.avail_sizes()
60417              Available sizes
60418
60419       salt.cloud.clouds.gogrid.create(vm_)
60420              Create a single VM from a data dict
60421
60422       salt.cloud.clouds.gogrid.destroy(name, call=None)
60423              Destroy a machine by name
60424
60425              CLI Example:
60426
60427                 salt-cloud -d vm_name
60428
60429       salt.cloud.clouds.gogrid.get_configured_provider()
60430              Return the first configured instance.
60431
60432       salt.cloud.clouds.gogrid.list_common_lookups(kwargs=None, call=None)
60433              List common lookups for a particular type of item
60434
60435              New in version 2015.8.0.
60436
60437
60438       salt.cloud.clouds.gogrid.list_nodes(full=False, call=None)
60439              List of nodes, keeping only a brief listing
60440
60441              CLI Example:
60442
60443                 salt-cloud -Q
60444
60445       salt.cloud.clouds.gogrid.list_nodes_full(call=None)
60446              List nodes, with all available information
60447
60448              CLI Example:
60449
60450                 salt-cloud -F
60451
60452       salt.cloud.clouds.gogrid.list_nodes_select(call=None)
60453              Return a list of the VMs that are on the provider,  with  select
60454              fields
60455
60456              CLI Example:
60457
60458                 salt-cloud -S
60459
60460       salt.cloud.clouds.gogrid.list_passwords(kwargs=None, call=None)
60461              List all password on the account
60462
60463              New in version 2015.8.0.
60464
60465
60466       salt.cloud.clouds.gogrid.list_public_ips(kwargs=None, call=None)
60467              List all available public IPs.
60468
60469              CLI Example:
60470                 salt-cloud -f list_public_ips <provider>
60471
60472              To list unavailable (assigned) IPs, use:
60473
60474              CLI Example:
60475                 salt-cloud -f list_public_ips <provider> state=assigned
60476
60477              New in version 2015.8.0.
60478
60479
60480       salt.cloud.clouds.gogrid.reboot(name, call=None)
60481              Reboot a machine by name
60482
60483              CLI Example:
60484
60485                 salt-cloud -a reboot vm_name
60486
60487              New in version 2015.8.0.
60488
60489
60490       salt.cloud.clouds.gogrid.show_instance(name, call=None)
60491              Start a machine by name
60492
60493              CLI Example:
60494
60495                 salt-cloud -a show_instance vm_name
60496
60497              New in version 2015.8.0.
60498
60499
60500       salt.cloud.clouds.gogrid.start(name, call=None)
60501              Start a machine by name
60502
60503              CLI Example:
60504
60505                 salt-cloud -a start vm_name
60506
60507              New in version 2015.8.0.
60508
60509
60510       salt.cloud.clouds.gogrid.stop(name, call=None)
60511              Stop a machine by name
60512
60513              CLI Example:
60514
60515                 salt-cloud -a stop vm_name
60516
60517              New in version 2015.8.0.
60518
60519
60520   salt.cloud.clouds.joyent
60521   Joyent Cloud Module
60522       The  Joyent Cloud module is used to interact with the Joyent cloud sys‐
60523       tem.
60524
60525       Set  up  the  cloud  configuration  at   /etc/salt/cloud.providers   or
60526       /etc/salt/cloud.providers.d/joyent.conf:
60527
60528          my-joyent-config:
60529            driver: joyent
60530            # The Joyent login user
60531            user: fred
60532            # The Joyent user's password
60533            password: saltybacon
60534            # The location of the ssh private key that can log into the new VM
60535            private_key: /root/mykey.pem
60536            # The name of the private key
60537            keyname: mykey
60538
60539       When  creating  your  profiles  for  the joyent cloud, add the location
60540       attribute to the profile, this will automatically get  picked  up  when
60541       performing tasks associated with that vm. An example profile might look
60542       like:
60543
60544          joyent_512:
60545            provider: my-joyent-config
60546            size: g4-highcpu-512M
60547            image: centos-6
60548            location: us-east-1
60549
60550       This driver can also be used with the Joyent  SmartDataCenter  project.
60551       More details can be found at:
60552
60553       Using  SDC  requires  that an api_host_suffix is set. The default value
60554       for this is .api.joyentcloud.com. All characters, including the leading
60555       ., should be included:
60556
60557          api_host_suffix: .api.myhostname.com
60558
60559       depends
60560              PyCrypto
60561
60562       salt.cloud.clouds.joyent.avail_images(call=None)
60563              Get list of available images
60564
60565              CLI Example:
60566
60567                 salt-cloud --list-images
60568
60569              Can use a custom URL for images. Default is:
60570
60571                 image_url: images.joyent.com/images
60572
60573       salt.cloud.clouds.joyent.avail_locations(call=None)
60574              List all available locations
60575
60576       salt.cloud.clouds.joyent.avail_sizes(call=None)
60577              get list of available packages
60578
60579              CLI Example:
60580
60581                 salt-cloud --list-sizes
60582
60583       salt.cloud.clouds.joyent.create(vm_)
60584              Create a single VM from a data dict
60585
60586              CLI Example:
60587
60588                 salt-cloud -p profile_name vm_name
60589
60590       salt.cloud.clouds.joyent.create_node(**kwargs)
60591              convenience  function  to  make  the rest api call for node cre‐
60592              ation.
60593
60594       salt.cloud.clouds.joyent.delete_key(kwargs=None, call=None)
60595              List the keys available
60596
60597              CLI Example:
60598
60599                 salt-cloud -f delete_key joyent keyname=mykey
60600
60601       salt.cloud.clouds.joyent.destroy(name, call=None)
60602              destroy a machine by name
60603
60604              Parameters
60605
60606                     · name -- name given to the machine
60607
60608                     · call -- call value in this case is 'action'
60609
60610              Returns
60611                     array of booleans , true if successfully stopped and true
60612                     if successfully removed
60613
60614              CLI Example:
60615
60616                 salt-cloud -d vm_name
60617
60618       salt.cloud.clouds.joyent.get_configured_provider()
60619              Return the first configured instance.
60620
60621       salt.cloud.clouds.joyent.get_image(vm_)
60622              Return the image object to use
60623
60624       salt.cloud.clouds.joyent.get_location(vm_=None)
60625
60626              Return the joyent data center to use, in this order:
60627
60628                     · CLI parameter
60629
60630                     · VM parameter
60631
60632                     · Cloud profile setting
60633
60634       salt.cloud.clouds.joyent.get_location_path(location=u'us-east-1',
60635       api_host_suffix=u'.api.joyentcloud.com')
60636              create url from location variable :param location:  joyent  data
60637              center location :return: url
60638
60639       salt.cloud.clouds.joyent.get_node(name)
60640              gets  the node from the full node list by name :param name: name
60641              of the vm :return: node object
60642
60643       salt.cloud.clouds.joyent.get_size(vm_)
60644              Return the VM's size object
60645
60646       salt.cloud.clouds.joyent.has_method(obj, method_name)
60647              Find if the provided object has a specific method
60648
60649       salt.cloud.clouds.joyent.import_key(kwargs=None, call=None)
60650              List the keys available
60651
60652              CLI Example:
60653
60654                 salt-cloud -f import_key joyent keyname=mykey keyfile=/tmp/mykey.pub
60655
60656       salt.cloud.clouds.joyent.joyent_node_state(id_)
60657              Convert joyent returned state to state common to other data cen‐
60658              ter return values for consistency
60659
60660              Parameters
60661                     id -- joyent state value
60662
60663              Returns
60664                     state value
60665
60666       salt.cloud.clouds.joyent.key_list(items=None)
60667              convert  list  to  dictionary  using  the  key as the identifier
60668              :param items: array to iterate over :return: dictionary
60669
60670       salt.cloud.clouds.joyent.list_keys(kwargs=None, call=None)
60671              List the keys available
60672
60673       salt.cloud.clouds.joyent.list_nodes(full=False, call=None)
60674              list of nodes, keeping only a brief listing
60675
60676              CLI Example:
60677
60678                 salt-cloud -Q
60679
60680       salt.cloud.clouds.joyent.list_nodes_full(call=None)
60681              list of nodes, maintaining  all  content  provided  from  joyent
60682              listings
60683
60684              CLI Example:
60685
60686                 salt-cloud -F
60687
60688       salt.cloud.clouds.joyent.list_nodes_select(call=None)
60689              Return  a  list of the VMs that are on the provider, with select
60690              fields
60691
60692       salt.cloud.clouds.joyent.query(action=None,  command=None,   args=None,
60693       method=u'GET', location=None, data=None)
60694              Make a web call to Joyent
60695
60696       salt.cloud.clouds.joyent.query_instance(vm_=None, call=None)
60697              Query an instance upon creation from the Joyent API
60698
60699       salt.cloud.clouds.joyent.reboot(name, call=None)
60700              reboot  a machine by name :param name: name given to the machine
60701              :param call: call value in this case is 'action'  :return:  true
60702              if successful
60703
60704              CLI Example:
60705
60706                 salt-cloud -a reboot vm_name
60707
60708       salt.cloud.clouds.joyent.reformat_node(item=None, full=False)
60709              Reformat the returned data from joyent, determine public/private
60710              IPs and strip out fields if necessary to provide either full  or
60711              brief content.
60712
60713              Parameters
60714
60715                     · item -- node dictionary
60716
60717                     · full -- full or brief output
60718
60719              Returns
60720                     dict
60721
60722       salt.cloud.clouds.joyent.show_instance(name, call=None)
60723              get  details  about  a  machine  :param  name: name given to the
60724              machine :param  call:  call  value  in  this  case  is  'action'
60725              :return: machine information
60726
60727              CLI Example:
60728
60729                 salt-cloud -a show_instance vm_name
60730
60731       salt.cloud.clouds.joyent.show_key(kwargs=None, call=None)
60732              List the keys available
60733
60734       salt.cloud.clouds.joyent.ssh_interface(vm_)
60735              Return the ssh_interface type to connect to. Either 'public_ips'
60736              (default) or 'private_ips'.
60737
60738       salt.cloud.clouds.joyent.start(name, call=None)
60739              start a machine by name :param name: name given to  the  machine
60740              :param  call:  call value in this case is 'action' :return: true
60741              if successful
60742
60743              CLI Example:
60744
60745                 salt-cloud -a start vm_name
60746
60747       salt.cloud.clouds.joyent.stop(name, call=None)
60748              stop a machine by name :param name: name given  to  the  machine
60749              :param  call:  call value in this case is 'action' :return: true
60750              if successful
60751
60752              CLI Example:
60753
60754                 salt-cloud -a stop vm_name
60755
60756       salt.cloud.clouds.joyent.take_action(name=None,     call=None,     com‐
60757       mand=None, data=None, method=u'GET', location=u'us-east-1')
60758              take  action  call  used by start,stop, reboot :param name: name
60759              given to the machine :param call: call value  in  this  case  is
60760              'action'  :command: api path :data: any data to be passed to the
60761              api, must be in json format :method: GET,POST,or  DELETE  :loca‐
60762              tion:  data  center  to  execute the command on :return: true if
60763              successful
60764
60765   salt.cloud.clouds.linode
60766   Linode Cloud Module using Linode's REST API
60767       The Linode cloud module is used to control access  to  the  Linode  VPS
60768       system.
60769
60770       Use  of  this  module  only requires the apikey parameter. However, the
60771       default root password for new instances also needs to be set. The pass‐
60772       word  needs  to  be  8 characters and contain lowercase, uppercase, and
60773       numbers.
60774
60775       Set  up  the  cloud  configuration  at   /etc/salt/cloud.providers   or
60776       /etc/salt/cloud.providers.d/linode.conf:
60777
60778          my-linode-provider:
60779            apikey: f4ZsmwtB1c7f85Jdu43RgXVDFlNjuJaeIYV8QMftTqKScEB2vSosFSr...
60780            password: F00barbaz
60781            driver: linode
60782
60783          linode-profile:
60784            provider: my-linode-provider
60785            size: Linode 1024
60786            image: CentOS 7
60787            location: London, England, UK
60788
60789       salt.cloud.clouds.linode.avail_images(call=None)
60790              Return available Linode images.
60791
60792              CLI Example:
60793
60794                 salt-cloud --list-images my-linode-config
60795                 salt-cloud -f avail_images my-linode-config
60796
60797       salt.cloud.clouds.linode.avail_locations(call=None)
60798              Return available Linode datacenter locations.
60799
60800              CLI Example:
60801
60802                 salt-cloud --list-locations my-linode-config
60803                 salt-cloud -f avail_locations my-linode-config
60804
60805       salt.cloud.clouds.linode.avail_sizes(call=None)
60806              Return available Linode sizes.
60807
60808              CLI Example:
60809
60810                 salt-cloud --list-sizes my-linode-config
60811                 salt-cloud -f avail_sizes my-linode-config
60812
60813       salt.cloud.clouds.linode.boot(name=None, kwargs=None, call=None)
60814              Boot a Linode.
60815
60816              name   The  name  of  the Linode to boot. Can be used instead of
60817                     linode_id.
60818
60819              linode_id
60820                     The ID of the Linode to boot. If provided, will  be  used
60821                     as  an  alternative to name and reduces the number of API
60822                     calls to Linode by one. Will be preferred over name.
60823
60824              config_id
60825                     The ID of the Config to boot. Required.
60826
60827              check_running
60828                     Defaults to True. If set to False, overrides the call  to
60829                     check if the VM is running before calling the linode.boot
60830                     API call. Change check_running to True is  useful  during
60831                     the  boot  call  in the create function, since the new VM
60832                     will not be running yet.
60833
60834              Can be called as an action (which requires a name):
60835
60836                 salt-cloud -a boot my-instance config_id=10
60837
60838              ...or as a function (which requires either a name or linode_id):
60839
60840                 salt-cloud -f boot my-linode-config name=my-instance config_id=10
60841                 salt-cloud -f boot my-linode-config linode_id=1225876 config_id=10
60842
60843       salt.cloud.clouds.linode.clone(kwargs=None, call=None)
60844              Clone a Linode.
60845
60846              linode_id
60847                     The ID of the Linode to clone. Required.
60848
60849              datacenter_id
60850                     The ID of the Datacenter where the Linode will be placed.
60851                     Required.
60852
60853              plan_id
60854                     The ID of the plan (size) of the Linode. Required.
60855
60856              CLI Example:
60857
60858                 salt-cloud -f clone my-linode-config linode_id=1234567 datacenter_id=2 plan_id=5
60859
60860       salt.cloud.clouds.linode.create(vm_)
60861              Create a single Linode VM.
60862
60863       salt.cloud.clouds.linode.create_config(kwargs=None, call=None)
60864              Creates a Linode Configuration Profile.
60865
60866              name   The name of the VM to create the config for.
60867
60868              linode_id
60869                     The ID of the Linode to create the configuration for.
60870
60871              root_disk_id
60872                     The Root Disk ID to be used for this config.
60873
60874              swap_disk_id
60875                     The Swap Disk ID to be used for this config.
60876
60877              data_disk_id
60878                     The Data Disk ID to be used for this config.
60879
60880              New in version 2016.3.0.
60881
60882
60883              kernel_id
60884                     The  ID  of the kernel to use for this configuration pro‐
60885                     file.
60886
60887       salt.cloud.clouds.linode.create_data_disk(vm_=None,     linode_id=None,
60888       data_size=None)
60889              Create  a data disk for the linode (type is hardcoded to ext4 at
60890              the moment)
60891
60892              New in version 2016.3.0.
60893
60894
60895              vm_    The VM profile to create the data disk for.
60896
60897              linode_id
60898                     The ID of the Linode to create the data disk for.
60899
60900              data_size
60901                     The size of the disk, in MB.
60902
60903       salt.cloud.clouds.linode.create_disk_from_distro(vm_,        linode_id,
60904       swap_size=None)
60905              Creates the disk for the Linode from the distribution.
60906
60907              vm_    The VM profile to create the disk for.
60908
60909              linode_id
60910                     The ID of the Linode to create the distribution disk for.
60911                     Required.
60912
60913              swap_size
60914                     The size of the disk, in MB.
60915
60916       salt.cloud.clouds.linode.create_private_ip(linode_id)
60917              Creates a private IP for the specified Linode.
60918
60919              linode_id
60920                     The ID of the Linode to create the IP address for.
60921
60922       salt.cloud.clouds.linode.create_swap_disk(vm_,               linode_id,
60923       swap_size=None)
60924              Creates the disk for the specified Linode.
60925
60926              vm_    The VM profile to create the swap disk for.
60927
60928              linode_id
60929                     The ID of the Linode to create the swap disk for.
60930
60931              swap_size
60932                     The size of the disk, in MB.
60933
60934       salt.cloud.clouds.linode.destroy(name, call=None)
60935              Destroys a Linode by name.
60936
60937              name   The name of VM to be be destroyed.
60938
60939              CLI Example:
60940
60941                 salt-cloud -d vm_name
60942
60943       salt.cloud.clouds.linode.get_config_id(kwargs=None, call=None)
60944              Returns a config_id for a given linode.
60945
60946              New in version 2015.8.0.
60947
60948
60949              name   The  name  of  the Linode for which to get the config_id.
60950                     Can be used instead of linode_id.h
60951
60952              linode_id
60953                     The ID of the Linode for which to get the config_id.  Can
60954                     be used instead of name.
60955
60956              CLI Example:
60957
60958                 salt-cloud -f get_config_id my-linode-config name=my-linode
60959                 salt-cloud -f get_config_id my-linode-config linode_id=1234567
60960
60961       salt.cloud.clouds.linode.get_configured_provider()
60962              Return the first configured instance.
60963
60964       salt.cloud.clouds.linode.get_data_disk(vm_)
60965              Return True if a data disk is requested
60966
60967              New in version 2016.3.0.
60968
60969
60970       salt.cloud.clouds.linode.get_data_disk_size(vm_, swap, linode_id)
60971              Return the size of of the data disk in MB
60972
60973              New in version 2016.3.0.
60974
60975
60976       salt.cloud.clouds.linode.get_datacenter_id(location)
60977              Returns the Linode Datacenter ID.
60978
60979              location
60980                     The  location,  or  name, of the datacenter to get the ID
60981                     from.
60982
60983       salt.cloud.clouds.linode.get_disk_size(vm_, swap, linode_id)
60984              Returns the size of of the root disk in MB.
60985
60986              vm_    The VM to get the disk size for.
60987
60988       salt.cloud.clouds.linode.get_distribution_id(vm_)
60989              Returns the distribution ID for a VM
60990
60991              vm_    The VM to get the distribution ID for
60992
60993       salt.cloud.clouds.linode.get_ips(linode_id=None)
60994              Returns public and private IP addresses.
60995
60996              linode_id
60997                     Limits the IP addresses returned to the specified  Linode
60998                     ID.
60999
61000       salt.cloud.clouds.linode.get_linode(kwargs=None, call=None)
61001              Returns data for a single named Linode.
61002
61003              name   The name of the Linode for which to get data. Can be used
61004                     instead linode_id. Note this will  induce  an  additional
61005                     API call compared to using linode_id.
61006
61007              linode_id
61008                     The  ID  of the Linode for which to get data. Can be used
61009                     instead of name.
61010
61011              CLI Example:
61012
61013                 salt-cloud -f get_linode my-linode-config name=my-instance
61014                 salt-cloud -f get_linode my-linode-config linode_id=1234567
61015
61016       salt.cloud.clouds.linode.get_linode_id_from_name(name)
61017              Returns the Linode ID for a VM from the provided name.
61018
61019              name   The name of the Linode from which to get the  Linode  ID.
61020                     Required.
61021
61022       salt.cloud.clouds.linode.get_password(vm_)
61023              Return the password to use for a VM.
61024
61025              vm_    The configuration to obtain the password from.
61026
61027       salt.cloud.clouds.linode.get_plan_id(kwargs=None, call=None)
61028              Returns the Linode Plan ID.
61029
61030              label  The label, or name, of the plan to get the ID from.
61031
61032              CLI Example:
61033
61034                 salt-cloud -f get_plan_id linode label="Linode 1024"
61035
61036       salt.cloud.clouds.linode.get_private_ip(vm_)
61037              Return True if a private ip address is requested
61038
61039       salt.cloud.clouds.linode.get_pub_key(vm_)
61040              Return the SSH pubkey.
61041
61042              vm_    The configuration to obtain the public key from.
61043
61044       salt.cloud.clouds.linode.get_swap_size(vm_)
61045              Returns the amoutn of swap space to be used in MB.
61046
61047              vm_    The VM profile to obtain the swap size from.
61048
61049       salt.cloud.clouds.linode.get_vm_size(vm_)
61050              Returns the VM's size.
61051
61052              vm_    The VM to get the size for.
61053
61054       salt.cloud.clouds.linode.list_nodes(call=None)
61055              Returns a list of linodes, keeping only a brief listing.
61056
61057              CLI Example:
61058
61059                 salt-cloud -Q
61060                 salt-cloud --query
61061                 salt-cloud -f list_nodes my-linode-config
61062
61063              NOTE:
61064                 The image label only displays information about the VM's dis‐
61065                 tribution vendor, such as "Debian" or  "RHEL"  and  does  not
61066                 display the actual image name. This is due to a limitation of
61067                 the Linode API.
61068
61069       salt.cloud.clouds.linode.list_nodes_full(call=None)
61070              List linodes, with all available information.
61071
61072              CLI Example:
61073
61074                 salt-cloud -F
61075                 salt-cloud --full-query
61076                 salt-cloud -f list_nodes_full my-linode-config
61077
61078              NOTE:
61079                 The image label only displays information about the VM's dis‐
61080                 tribution  vendor,  such  as  "Debian" or "RHEL" and does not
61081                 display the actual image name. This is due to a limitation of
61082                 the Linode API.
61083
61084       salt.cloud.clouds.linode.list_nodes_min(call=None)
61085              Return  a  list of the VMs that are on the provider. Only a list
61086              of VM names and their state is returned.  This  is  the  minimum
61087              amount of information needed to check for existing VMs.
61088
61089              New in version 2015.8.0.
61090
61091
61092              CLI Example:
61093
61094                 salt-cloud -f list_nodes_min my-linode-config
61095                 salt-cloud --function list_nodes_min my-linode-config
61096
61097       salt.cloud.clouds.linode.list_nodes_select(call=None)
61098              Return  a  list of the VMs that are on the provider, with select
61099              fields.
61100
61101       salt.cloud.clouds.linode.reboot(name, call=None)
61102              Reboot a linode.
61103
61104              New in version 2015.8.0.
61105
61106
61107              name   The name of the VM to reboot.
61108
61109              CLI Example:
61110
61111                 salt-cloud -a reboot vm_name
61112
61113       salt.cloud.clouds.linode.show_instance(name, call=None)
61114              Displays details about a particular Linode VM. Either a name  or
61115              a linode_id must be provided.
61116
61117              New in version 2015.8.0.
61118
61119
61120              name   The name of the VM for which to display details.
61121
61122              CLI Example:
61123
61124                 salt-cloud -a show_instance vm_name
61125
61126              NOTE:
61127                 The image label only displays information about the VM's dis‐
61128                 tribution vendor, such as "Debian" or  "RHEL"  and  does  not
61129                 display the actual image name. This is due to a limitation of
61130                 the Linode API.
61131
61132       salt.cloud.clouds.linode.show_pricing(kwargs=None, call=None)
61133              Show pricing for a particular profile. This is only an estimate,
61134              based on unofficial pricing sources.
61135
61136              New in version 2015.8.0.
61137
61138
61139              CLI Example:
61140
61141                 salt-cloud -f show_pricing my-linode-config profile=my-linode-profile
61142
61143       salt.cloud.clouds.linode.start(name, call=None)
61144              Start a VM in Linode.
61145
61146              name   The name of the VM to start.
61147
61148              CLI Example:
61149
61150                 salt-cloud -a stop vm_name
61151
61152       salt.cloud.clouds.linode.stop(name, call=None)
61153              Stop a VM in Linode.
61154
61155              name   The name of the VM to stop.
61156
61157              CLI Example:
61158
61159                 salt-cloud -a stop vm_name
61160
61161       salt.cloud.clouds.linode.update_linode(linode_id, update_args=None)
61162              Updates a Linode's properties.
61163
61164              linode_id
61165                     The ID of the Linode to shutdown. Required.
61166
61167              update_args
61168                     The args to update the Linode with. Must be in dictionary
61169                     form.
61170
61171   salt.cloud.clouds.lxc
61172   Install Salt on an LXC Container
61173       New in version 2014.7.0.
61174
61175
61176       Please read core config documentation.
61177
61178       salt.cloud.clouds.lxc.avail_images()
61179
61180       salt.cloud.clouds.lxc.create(vm_, call=None)
61181              Create an lxc Container.  This function is idempotent  and  will
61182              try  to  either provision or finish the provision of an lxc con‐
61183              tainer.
61184
61185              NOTE: Most of the initialization code has been moved and  merged
61186              with the lxc runner and lxc.init functions
61187
61188       salt.cloud.clouds.lxc.destroy(vm_, call=None)
61189              Destroy a lxc container
61190
61191       salt.cloud.clouds.lxc.get_configured_provider(vm_=None)
61192              Return  the contextual provider of None if no configured one can
61193              be found.
61194
61195       salt.cloud.clouds.lxc.get_provider(name)
61196
61197       salt.cloud.clouds.lxc.list_nodes(conn=None, call=None)
61198
61199       salt.cloud.clouds.lxc.list_nodes_full(conn=None, call=None)
61200
61201       salt.cloud.clouds.lxc.list_nodes_select(call=None)
61202              Return a list of the VMs that are on the provider,  with  select
61203              fields
61204
61205       salt.cloud.clouds.lxc.show_instance(name, call=None)
61206              Show the details from the provider concerning an instance
61207
61208   salt.cloud.clouds.msazure
61209   Azure Cloud Module
61210       The Azure cloud module is used to control access to Microsoft Azure
61211
61212       depends
61213
61214              · Microsoft Azure SDK for Python >= 1.0.2
61215
61216              · python-requests, for Python < 2.7.9
61217
61218       configuration
61219              Required provider parameters:
61220
61221              · apikey
61222
61223              · certificate_path
61224
61225              · subscription_id
61226
61227              · backend
61228
61229              A  Management  Certificate (.pem and .crt files) must be created
61230              and the .pem file placed on the same machine that salt-cloud  is
61231              run  from.  Information  on  creating  the  pem file to use, and
61232              uploading the associated cer file can be found at:
61233
61234              http://www.windowsazure.com/en-us/develop/python/how-to-guides/service-management/
61235
61236              For  users with Python < 2.7.9, backend must currently be set to
61237              requests.
61238
61239       Example                  /etc/salt/cloud.providers                   or
61240       /etc/salt/cloud.providers.d/azure.conf configuration:
61241
61242          my-azure-config:
61243            driver: azure
61244            subscription_id: 3287abc8-f98a-c678-3bde-326766fd3617
61245            certificate_path: /etc/salt/azure.pem
61246            management_host: management.core.windows.net
61247
61248       salt.cloud.clouds.msazure.add_input_endpoint(kwargs=None,    conn=None,
61249       call=None)
61250              New in version 2015.8.0.
61251
61252
61253              Add an input endpoint to the deployment. Please note that  there
61254              may be a delay before the changes show up.
61255
61256              CLI Example:
61257
61258                 salt-cloud -f add_input_endpoint my-azure service=myservice \
61259                     deployment=mydeployment role=myrole name=HTTP local_port=80 \
61260                     port=80 protocol=tcp enable_direct_server_return=False \
61261                     timeout_for_tcp_idle_connection=4
61262
61263       salt.cloud.clouds.msazure.add_management_certificate(kwargs=None,
61264       conn=None, call=None)
61265              New in version 2015.8.0.
61266
61267
61268              Add a new management certificate
61269
61270              CLI Example:
61271
61272                 salt-cloud -f add_management_certificate my-azure public_key='...PUBKEY...' \
61273                     thumbprint=0123456789ABCDEF data='...CERT_DATA...'
61274
61275       salt.cloud.clouds.msazure.add_service_certificate(kwargs=None,
61276       conn=None, call=None)
61277              New in version 2015.8.0.
61278
61279
61280              Add a new service certificate
61281
61282              CLI Example:
61283
61284                 salt-cloud -f add_service_certificate my-azure name=my_service_certificate \
61285                     data='...CERT_DATA...' certificate_format=sha1 password=verybadpass
61286
61287       salt.cloud.clouds.msazure.avail_images(conn=None, call=None)
61288              List available images for Azure
61289
61290       salt.cloud.clouds.msazure.avail_locations(conn=None, call=None)
61291              List available locations for Azure
61292
61293       salt.cloud.clouds.msazure.avail_sizes(call=None)
61294              Return a list of sizes from Azure
61295
61296       salt.cloud.clouds.msazure.cleanup_unattached_disks(kwargs=None,
61297       conn=None, call=None)
61298              New in version 2015.8.0.
61299
61300
61301              Cleans up all disks associated with the account, which  are  not
61302              attached.   *  CAUTION  * This is a destructive function with no
61303              undo button, and no "Are you sure?" confirmation!
61304
61305              CLI Examples:
61306
61307                 salt-cloud -f cleanup_unattached_disks my-azure name=my_disk
61308                 salt-cloud -f cleanup_unattached_disks my-azure name=my_disk delete_vhd=True
61309
61310       salt.cloud.clouds.msazure.create(vm_)
61311              Create a single VM from a data dict
61312
61313       salt.cloud.clouds.msazure.create_affinity_group(kwargs=None, conn=None,
61314       call=None)
61315              New in version 2015.8.0.
61316
61317
61318              Create a new affinity group
61319
61320              CLI Example:
61321
61322                 salt-cloud -f create_affinity_group my-azure name=my_affinity_group
61323
61324       salt.cloud.clouds.msazure.create_attach_volumes(name,           kwargs,
61325       call=None, wait_to_finish=True)
61326              Create and attach volumes to created node
61327
61328       salt.cloud.clouds.msazure.create_service(kwargs=None,        conn=None,
61329       call=None)
61330              New in version 2015.8.0.
61331
61332
61333              Create a new hosted service
61334
61335              CLI Example:
61336
61337                 salt-cloud -f create_service my-azure name=my_service label=my_service location='West US'
61338
61339       salt.cloud.clouds.msazure.create_storage(kwargs=None,        conn=None,
61340       call=None)
61341              New in version 2015.8.0.
61342
61343
61344              Create a new storage account
61345
61346              CLI Example:
61347
61348                 salt-cloud -f create_storage my-azure name=my_storage label=my_storage location='West US'
61349
61350       salt.cloud.clouds.msazure.create_storage_container(kwargs=None,   stor‐
61351       age_conn=None, call=None)
61352              New in version 2015.8.0.
61353
61354
61355              Create a storage container
61356
61357              CLI Example:
61358
61359                 salt-cloud -f create_storage_container my-azure name=mycontainer
61360
61361              name:  Name of container to create.
61362
61363              meta_name_values:
61364                     Optional.  A dict with name_value pairs to associate with
61365                     the container as metadata. Example:{'Category':'test'}
61366
61367              blob_public_access:
61368                     Optional. Possible values include: container, blob
61369
61370              fail_on_exist:
61371                     Specify whether to throw an exception when the  container
61372                     exists.
61373
61374       salt.cloud.clouds.msazure.delete_affinity_group(kwargs=None, conn=None,
61375       call=None)
61376              New in version 2015.8.0.
61377
61378
61379              Delete a specific affinity group associated with the account
61380
61381              CLI Examples:
61382
61383                 salt-cloud -f delete_affinity_group my-azure name=my_affinity_group
61384
61385       salt.cloud.clouds.msazure.delete_disk(kwargs=None,           conn=None,
61386       call=None)
61387              New in version 2015.8.0.
61388
61389
61390              Delete a specific disk associated with the account
61391
61392              CLI Examples:
61393
61394                 salt-cloud -f delete_disk my-azure name=my_disk
61395                 salt-cloud -f delete_disk my-azure name=my_disk delete_vhd=True
61396
61397       salt.cloud.clouds.msazure.delete_input_endpoint(kwargs=None, conn=None,
61398       call=None)
61399              New in version 2015.8.0.
61400
61401
61402              Delete an input endpoint from the deployment. Please  note  that
61403              there may be a delay before the changes show up.
61404
61405              CLI Example:
61406
61407                 salt-cloud -f delete_input_endpoint my-azure service=myservice \
61408                     deployment=mydeployment role=myrole name=HTTP
61409
61410       salt.cloud.clouds.msazure.delete_management_certificate(kwargs=None,
61411       conn=None, call=None)
61412              New in version 2015.8.0.
61413
61414
61415              Delete a specific certificate associated with the management
61416
61417              CLI Examples:
61418
61419                 salt-cloud -f delete_management_certificate my-azure name=my_management_certificate \
61420                     thumbalgorithm=sha1 thumbprint=0123456789ABCDEF
61421
61422       salt.cloud.clouds.msazure.delete_service(kwargs=None,        conn=None,
61423       call=None)
61424              New in version 2015.8.0.
61425
61426
61427              Delete a specific service associated with the account
61428
61429              CLI Examples:
61430
61431                 salt-cloud -f delete_service my-azure name=my_service
61432
61433       salt.cloud.clouds.msazure.delete_service_certificate(kwargs=None,
61434       conn=None, call=None)
61435              New in version 2015.8.0.
61436
61437
61438              Delete a specific certificate associated with the service
61439
61440              CLI Examples:
61441
61442                 salt-cloud -f delete_service_certificate my-azure name=my_service_certificate \
61443                     thumbalgorithm=sha1 thumbprint=0123456789ABCDEF
61444
61445       salt.cloud.clouds.msazure.delete_storage(kwargs=None,        conn=None,
61446       call=None)
61447              New in version 2015.8.0.
61448
61449
61450              Delete a specific storage account
61451
61452              CLI Examples:
61453
61454                 salt-cloud -f delete_storage my-azure name=my_storage
61455
61456       salt.cloud.clouds.msazure.delete_storage_container(kwargs=None,   stor‐
61457       age_conn=None, call=None)
61458              New in version 2015.8.0.
61459
61460
61461              Delete a container associated with the storage account
61462
61463              CLI Example:
61464
61465                 salt-cloud -f delete_storage_container my-azure name=mycontainer
61466
61467              name:  Name of container to create.
61468
61469              fail_not_exist:
61470                     Specify whether to throw an exception when the  container
61471                     exists.
61472
61473              lease_id:
61474                     If  specified,  delete_storage_container only succeeds if
61475                     the container's lease is active and matches this ID.
61476
61477       salt.cloud.clouds.msazure.destroy(name,      conn=None,      call=None,
61478       kwargs=None)
61479              Destroy a VM
61480
61481              CLI Examples:
61482
61483                 salt-cloud -d myminion
61484                 salt-cloud -a destroy myminion service_name=myservice
61485
61486       salt.cloud.clouds.msazure.get_affinity_group(kwargs=None,    conn=None,
61487       call=None)
61488              New in version 2015.8.0.
61489
61490
61491              Show an affinity group associated with the account
61492
61493              CLI Example:
61494
61495                 salt-cloud -f show_affinity_group my-azure service=myservice \
61496                     deployment=mydeployment name=SSH
61497
61498       salt.cloud.clouds.msazure.get_blob(kwargs=None,      storage_conn=None,
61499       call=None)
61500              New in version 2015.8.0.
61501
61502
61503              Download a blob
61504
61505              CLI Example:
61506
61507                 salt-cloud -f get_blob my-azure container=base name=top.sls local_path=/srv/salt/top.sls
61508                 salt-cloud -f get_blob my-azure container=base name=content.txt return_content=True
61509
61510              container:
61511                     Name of existing container.
61512
61513              name:  Name of existing blob.
61514
61515              local_path:
61516                     The  path  on  the local machine to download the blob to.
61517                     Either this or return_content must be specified.
61518
61519              return_content:
61520                     Whether or not to return the content  directly  from  the
61521                     blob. If specified, must be True or False. Either this or
61522                     the local_path must be specified.
61523
61524              snapshot:
61525                     Optional. The snapshot parameter is  an  opaque  DateTime
61526                     value  that, when present, specifies the blob snapshot to
61527                     retrieve.
61528
61529              lease_id:
61530                     Required if the blob has an active lease.
61531
61532              progress_callback:
61533                     callback for progress  with  signature  function(current,
61534                     total)  where  current is the number of bytes transferred
61535                     so far, and total is the size of the blob.
61536
61537              max_connections:
61538                     Maximum number of parallel connections to  use  when  the
61539                     blob  size  exceeds  64MB.  Set to 1 to download the blob
61540                     chunks sequentially.  Set to 2 or more  to  download  the
61541                     blob  chunks in parallel. This uses more system resources
61542                     but will download faster.
61543
61544              max_retries:
61545                     Number of times to retry download of  blob  chunk  if  an
61546                     error occurs.
61547
61548              retry_wait:
61549                     Sleep time in secs between retries.
61550
61551       salt.cloud.clouds.msazure.get_blob_properties(kwargs=None,        stor‐
61552       age_conn=None, call=None)
61553              New in version 2015.8.0.
61554
61555
61556              Returns all user-defined metadata, standard HTTP properties, and
61557              system properties for the blob.
61558
61559              CLI Example:
61560
61561                 salt-cloud -f show_blob_properties my-azure container=mycontainer blob=myblob
61562
61563              container:
61564                     Name of existing container.
61565
61566              blob:  Name of existing blob.
61567
61568              lease_id:
61569                     Required if the blob has an active lease.
61570
61571       salt.cloud.clouds.msazure.get_blob_service_properties(kwargs=None,
61572       storage_conn=None, call=None)
61573              New in version 2015.8.0.
61574
61575
61576              Show a blob's service properties
61577
61578              CLI Example:
61579
61580                 salt-cloud -f show_blob_service_properties my-azure
61581
61582       salt.cloud.clouds.msazure.get_configured_provider()
61583              Return the first configured instance.
61584
61585       salt.cloud.clouds.msazure.get_conn()
61586              Return a conn object for the passed VM data
61587
61588       salt.cloud.clouds.msazure.get_dependencies()
61589              Warn if dependencies aren't met.
61590
61591       salt.cloud.clouds.msazure.get_deployment(kwargs=None,        conn=None,
61592       call=None)
61593              New in version 2015.8.0.
61594
61595
61596              Return information about a deployment
61597
61598              CLI Example:
61599
61600                 salt-cloud -f show_deployment my-azure name=my_deployment
61601
61602       salt.cloud.clouds.msazure.get_disk(kwargs=None, conn=None, call=None)
61603              New in version 2015.8.0.
61604
61605
61606              Return information about a disk
61607
61608              CLI Example:
61609
61610                 salt-cloud -f show_disk my-azure name=my_disk
61611
61612       salt.cloud.clouds.msazure.get_input_endpoint(kwargs=None,    conn=None,
61613       call=None)
61614              New in version 2015.8.0.
61615
61616
61617              Show an input endpoint associated with the deployment
61618
61619              CLI Example:
61620
61621                 salt-cloud -f show_input_endpoint my-azure service=myservice \
61622                     deployment=mydeployment name=SSH
61623
61624       salt.cloud.clouds.msazure.get_management_certificate(kwargs=None,
61625       conn=None, call=None)
61626              New in version 2015.8.0.
61627
61628
61629              Return information about a management_certificate
61630
61631              CLI Example:
61632
61633                 salt-cloud -f get_management_certificate my-azure name=my_management_certificate \
61634                     thumbalgorithm=sha1 thumbprint=0123456789ABCDEF
61635
61636       salt.cloud.clouds.msazure.get_operation_status(kwargs=None,  conn=None,
61637       call=None)
61638              New in version 2015.8.0.
61639
61640
61641              Get Operation Status, based on a request ID
61642
61643              CLI Example:
61644
61645                 salt-cloud -f get_operation_status my-azure id=0123456789abcdef0123456789abcdef
61646
61647       salt.cloud.clouds.msazure.get_service_certificate(kwargs=None,
61648       conn=None, call=None)
61649              New in version 2015.8.0.
61650
61651
61652              Return information about a service certificate
61653
61654              CLI Example:
61655
61656                 salt-cloud -f show_service_certificate my-azure name=my_service_certificate \
61657                     thumbalgorithm=sha1 thumbprint=0123456789ABCDEF
61658
61659       salt.cloud.clouds.msazure.get_storage(kwargs=None,           conn=None,
61660       call=None)
61661              New in version 2015.8.0.
61662
61663
61664              List storage service properties
61665
61666              CLI Example:
61667
61668                 salt-cloud -f show_storage my-azure name=my_storage
61669
61670       salt.cloud.clouds.msazure.get_storage_conn(storage_account=None,  stor‐
61671       age_key=None, conn_kwargs=None)
61672              New in version 2015.8.0.
61673
61674
61675              Return a storage_conn object for the storage account
61676
61677       salt.cloud.clouds.msazure.get_storage_container(kwargs=None,      stor‐
61678       age_conn=None, call=None)
61679              New in version 2015.8.0.
61680
61681
61682              Show a container associated with the storage account
61683
61684              CLI Example:
61685
61686                 salt-cloud -f show_storage_container my-azure name=myservice
61687
61688              name:  Name of container to show.
61689
61690       salt.cloud.clouds.msazure.get_storage_container_acl(kwargs=None,  stor‐
61691       age_conn=None, call=None)
61692              New in version 2015.8.0.
61693
61694
61695              Show a storage container's acl
61696
61697              CLI Example:
61698
61699                 salt-cloud -f show_storage_container_acl my-azure name=myservice
61700
61701              name:  Name of existing container.
61702
61703              lease_id:
61704                     If specified, show_storage_container_acl only succeeds if
61705                     the container's lease is active and matches this ID.
61706
61707       salt.cloud.clouds.msazure.get_storage_container_metadata(kwargs=None,
61708       storage_conn=None, call=None)
61709              New in version 2015.8.0.
61710
61711
61712              Show a storage container's metadata
61713
61714              CLI Example:
61715
61716                 salt-cloud -f show_storage_container_metadata my-azure name=myservice
61717
61718              name:  Name of container to show.
61719
61720              lease_id:
61721                     If  specified,  show_storage_container_metadata only suc‐
61722                     ceeds if the container's lease is active and matches this
61723                     ID.
61724
61725       salt.cloud.clouds.msazure.get_storage_keys(kwargs=None,      conn=None,
61726       call=None)
61727              New in version 2015.8.0.
61728
61729
61730              Show storage account keys
61731
61732              CLI Example:
61733
61734                 salt-cloud -f show_storage_keys my-azure name=my_storage
61735
61736       salt.cloud.clouds.msazure.lease_storage_container(kwargs=None,    stor‐
61737       age_conn=None, call=None)
61738              New in version 2015.8.0.
61739
61740
61741              Lease a container associated with the storage account
61742
61743              CLI Example:
61744
61745                 salt-cloud -f lease_storage_container my-azure name=mycontainer
61746
61747              name:  Name of container to create.
61748
61749              lease_action:
61750                     Required.                 Possible                values:
61751                     acquire|renew|release|break|change
61752
61753              lease_id:
61754                     Required if the container has an active lease.
61755
61756              lease_duration:
61757                     Specifies the duration of the lease, in seconds, or nega‐
61758                     tive one (-1) for a lease that never expires. A non-infi‐
61759                     nite lease can be between 15  and  60  seconds.  A  lease
61760                     duration  cannot  be  changed  using renew or change. For
61761                     backwards compatibility, the default is 60, and the value
61762                     is only used on an acquire operation.
61763
61764              lease_break_period:
61765                     Optional.  For  a  break  operation, this is the proposed
61766                     duration of seconds that the lease should continue before
61767                     it is broken, between 0 and 60 seconds. This break period
61768                     is only used if it is shorter than the time remaining  on
61769                     the  lease. If longer, the time remaining on the lease is
61770                     used. A new lease will not be available before the  break
61771                     period  has expired, but the lease may be held for longer
61772                     than the break period. If this  header  does  not  appear
61773                     with  a  break  operation,  a fixed-duration lease breaks
61774                     after the remaining lease period elapses, and an infinite
61775                     lease breaks immediately.
61776
61777              proposed_lease_id:
61778                     Optional for acquire, required for change. Proposed lease
61779                     ID, in a GUID string format.
61780
61781       salt.cloud.clouds.msazure.list_affinity_groups(kwargs=None,  conn=None,
61782       call=None)
61783              New in version 2015.8.0.
61784
61785
61786              List input endpoints associated with the deployment
61787
61788              CLI Example:
61789
61790                 salt-cloud -f list_affinity_groups my-azure
61791
61792       salt.cloud.clouds.msazure.list_blobs(kwargs=None,    storage_conn=None,
61793       call=None)
61794              New in version 2015.8.0.
61795
61796
61797              List blobs associated with the container
61798
61799              CLI Example:
61800
61801                 salt-cloud -f list_blobs my-azure container=mycontainer
61802
61803              container:
61804                     The name of the storage container
61805
61806              prefix:
61807                     Optional. Filters the results to return only blobs  whose
61808                     names begin with the specified prefix.
61809
61810              marker:
61811                     Optional.  A  string value that identifies the portion of
61812                     the list to be returned with the next list operation. The
61813                     operation returns a marker value within the response body
61814                     if the list returned was not complete. The  marker  value
61815                     may then be used in a subsequent call to request the next
61816                     set of list items. The marker  value  is  opaque  to  the
61817                     client.
61818
61819              maxresults:
61820                     Optional.  Specifies  the  maximum  number  of  blobs  to
61821                     return, including all BlobPrefix elements. If the request
61822                     does  not specify maxresults or specifies a value greater
61823                     than 5,000, the server will return  up  to  5,000  items.
61824                     Setting  maxresults to a value less than or equal to zero
61825                     results in error response code 400 (Bad Request).
61826
61827              include:
61828                     Optional. Specifies one or more datasets  to  include  in
61829                     the  response.  To specify more than one of these options
61830                     on the URI, you must separate each option with  a  comma.
61831                     Valid values are:
61832
61833                     snapshots:
61834                            Specifies that snapshots should be included in the
61835                            enumeration. Snapshots are listed from  oldest  to
61836                            newest in the response.
61837
61838                     metadata:
61839                            Specifies  that  blob  metadata be returned in the
61840                            response.
61841
61842                     uncommittedblobs:
61843                            Specifies that blobs for which  blocks  have  been
61844                            uploaded,  but which have not been committed using
61845                            Put Block List (REST  API),  be  included  in  the
61846                            response.
61847
61848                     copy:  Version 2012-02-12 and newer. Specifies that meta‐
61849                            data related to any current or previous Copy  Blob
61850                            operation should be included in the response.
61851
61852              delimiter:
61853                     Optional.  When  the request includes this parameter, the
61854                     operation returns a BlobPrefix element  in  the  response
61855                     body that acts as a placeholder for all blobs whose names
61856                     begin with the same substring up to the appearance of the
61857                     delimiter  character. The delimiter may be a single char‐
61858                     acter or a string.
61859
61860       salt.cloud.clouds.msazure.list_disks(kwargs=None, conn=None, call=None)
61861              New in version 2015.8.0.
61862
61863
61864              List disks associated with the account
61865
61866              CLI Example:
61867
61868                 salt-cloud -f list_disks my-azure
61869
61870       salt.cloud.clouds.msazure.list_hosted_services(conn=None, call=None)
61871              List VMs on this Azure account, with full information
61872
61873       salt.cloud.clouds.msazure.list_input_endpoints(kwargs=None,  conn=None,
61874       call=None)
61875              New in version 2015.8.0.
61876
61877
61878              List input endpoints associated with the deployment
61879
61880              CLI Example:
61881
61882                 salt-cloud -f list_input_endpoints my-azure service=myservice deployment=mydeployment
61883
61884       salt.cloud.clouds.msazure.list_management_certificates(kwargs=None,
61885       conn=None, call=None)
61886              New in version 2015.8.0.
61887
61888
61889              List management certificates associated with the subscription
61890
61891              CLI Example:
61892
61893                 salt-cloud -f list_management_certificates my-azure name=my_management
61894
61895       salt.cloud.clouds.msazure.list_nodes(conn=None, call=None)
61896              List VMs on this Azure account
61897
61898       salt.cloud.clouds.msazure.list_nodes_full(conn=None, call=None)
61899              List VMs on this Azure account, with full information
61900
61901       salt.cloud.clouds.msazure.list_nodes_select(conn=None, call=None)
61902              Return a list of the VMs that are on the provider,  with  select
61903              fields
61904
61905       salt.cloud.clouds.msazure.list_service_certificates(kwargs=None,
61906       conn=None, call=None)
61907              New in version 2015.8.0.
61908
61909
61910              List certificates associated with the service
61911
61912              CLI Example:
61913
61914                 salt-cloud -f list_service_certificates my-azure name=my_service
61915
61916       salt.cloud.clouds.msazure.list_services(kwargs=None,         conn=None,
61917       call=None)
61918              New in version 2015.8.0.
61919
61920
61921              List hosted services associated with the account
61922
61923              CLI Example:
61924
61925                 salt-cloud -f list_services my-azure
61926
61927       salt.cloud.clouds.msazure.list_storage(kwargs=None,          conn=None,
61928       call=None)
61929              New in version 2015.8.0.
61930
61931
61932              List storage accounts associated with the account
61933
61934              CLI Example:
61935
61936                 salt-cloud -f list_storage my-azure
61937
61938       salt.cloud.clouds.msazure.list_storage_containers(kwargs=None,    stor‐
61939       age_conn=None, call=None)
61940              New in version 2015.8.0.
61941
61942
61943              List containers associated with the storage account
61944
61945              CLI Example:
61946
61947                 salt-cloud -f list_storage_containers my-azure
61948
61949       salt.cloud.clouds.msazure.list_storage_services(conn=None, call=None)
61950              List VMs on this Azure account, with full information
61951
61952       salt.cloud.clouds.msazure.list_virtual_networks(kwargs=None, conn=None,
61953       call=None)
61954              New in version 2015.8.0.
61955
61956
61957              List input endpoints associated with the deployment
61958
61959              CLI Example:
61960
61961                 salt-cloud -f list_virtual_networks my-azure service=myservice deployment=mydeployment
61962
61963       salt.cloud.clouds.msazure.make_blob_url(kwargs=None, storage_conn=None,
61964       call=None)
61965              New in version 2015.8.0.
61966
61967
61968              Creates the URL to access a blob
61969
61970              CLI Example:
61971
61972                 salt-cloud -f make_blob_url my-azure container=mycontainer blob=myblob
61973
61974              container:
61975                     Name of the container.
61976
61977              blob:  Name of the blob.
61978
61979              account:
61980                     Name  of  the  storage account. If not specified, derives
61981                     the host base from the provider configuration.
61982
61983              protocol:
61984                     Protocol to use: 'http' or  'https'.  If  not  specified,
61985                     derives the host base from the provider configuration.
61986
61987              host_base:
61988                     Live  host  base URL.  If not specified, derives the host
61989                     base from the provider configuration.
61990
61991       salt.cloud.clouds.msazure.put_blob(kwargs=None,      storage_conn=None,
61992       call=None)
61993              New in version 2015.8.0.
61994
61995
61996              Upload a blob
61997
61998              CLI Examples:
61999
62000                 salt-cloud -f put_blob my-azure container=base name=top.sls blob_path=/srv/salt/top.sls
62001                 salt-cloud -f put_blob my-azure container=base name=content.txt blob_content='Some content'
62002
62003              container:
62004                     Name of existing container.
62005
62006              name:  Name of existing blob.
62007
62008              blob_path:
62009                     The  path on the local machine of the file to upload as a
62010                     blob. Either this or blob_content must be specified.
62011
62012              blob_content:
62013                     The actual content to be uploaded as a blob. Either  this
62014                     or blob_path must me specified.
62015
62016              cache_control:
62017                     Optional. The Blob service stores this value but does not
62018                     use or modify it.
62019
62020              content_language:
62021                     Optional. Specifies the natural languages  used  by  this
62022                     resource.
62023
62024              content_md5:
62025                     Optional.  An  MD5 hash of the blob content. This hash is
62026                     used to verify the integrity of the  blob  during  trans‐
62027                     port.  When this header is specified, the storage service
62028                     checks the hash that has arrived with the  one  that  was
62029                     sent.  If the two hashes do not match, the operation will
62030                     fail with error code 400 (Bad Request).
62031
62032              blob_content_type:
62033                     Optional. Set the blob's content type.
62034
62035              blob_content_encoding:
62036                     Optional. Set the blob's content encoding.
62037
62038              blob_content_language:
62039                     Optional. Set the blob's content language.
62040
62041              blob_content_md5:
62042                     Optional. Set the blob's MD5 hash.
62043
62044              blob_cache_control:
62045                     Optional. Sets the blob's cache control.
62046
62047              meta_name_values:
62048                     A dict containing name, value for metadata.
62049
62050              lease_id:
62051                     Required if the blob has an active lease.
62052
62053       salt.cloud.clouds.msazure.query(path,     method=u'GET',     data=None,
62054       params=None, header_dict=None, decode=True)
62055              Perform a query directly against the Azure REST API
62056
62057       salt.cloud.clouds.msazure.regenerate_storage_keys(kwargs=None,
62058       conn=None, call=None)
62059              New in version 2015.8.0.
62060
62061
62062              Regenerate storage account keys. Requires a key_type  ("primary"
62063              or "secondary") to be specified.
62064
62065              CLI Example:
62066
62067                 salt-cloud -f regenerate_storage_keys my-azure name=my_storage key_type=primary
62068
62069       salt.cloud.clouds.msazure.script(vm_)
62070              Return the script deployment object
62071
62072       salt.cloud.clouds.msazure.set_blob_properties(kwargs=None,        stor‐
62073       age_conn=None, call=None)
62074              New in version 2015.8.0.
62075
62076
62077              Set a blob's properties
62078
62079              CLI Example:
62080
62081                 salt-cloud -f set_blob_properties my-azure
62082
62083              container:
62084                     Name of existing container.
62085
62086              blob:  Name of existing blob.
62087
62088              blob_cache_control:
62089                     Optional. Modifies the cache control string for the blob.
62090
62091              blob_content_type:
62092                     Optional. Sets the blob's content type.
62093
62094              blob_content_md5:
62095                     Optional. Sets the blob's MD5 hash.
62096
62097              blob_content_encoding:
62098                     Optional. Sets the blob's content encoding.
62099
62100              blob_content_language:
62101                     Optional. Sets the blob's content language.
62102
62103              lease_id:
62104                     Required if the blob has an active lease.
62105
62106              blob_content_disposition:
62107                     Optional. Sets  the  blob's  Content-Disposition  header.
62108                     The  Content-Disposition  response  header  field conveys
62109                     additional information about how to process the  response
62110                     payload,  and also can be used to attach additional meta‐
62111                     data. For example, if set  to  attachment,  it  indicates
62112                     that  the user-agent should not display the response, but
62113                     instead show a Save As dialog with a filename other  than
62114                     the blob name specified.
62115
62116       salt.cloud.clouds.msazure.set_blob_service_properties(kwargs=None,
62117       storage_conn=None, call=None)
62118              New in version 2015.8.0.
62119
62120
62121              Sets the properties of a storage account's Blob service, includ‐
62122              ing Windows Azure Storage Analytics. You can also use this oper‐
62123              ation to set  the  default  request  version  for  all  incoming
62124              requests that do not have a version specified.
62125
62126              CLI Example:
62127
62128                 salt-cloud -f set_blob_service_properties my-azure
62129
62130              properties:
62131                     a StorageServiceProperties object.
62132
62133              timeout:
62134                     Optional. The timeout parameter is expressed in seconds.
62135
62136       salt.cloud.clouds.msazure.set_storage_container_acl(kwargs=None,  stor‐
62137       age_conn=None, call=None)
62138              New in version 2015.8.0.
62139
62140
62141              Set a storage container's acl
62142
62143              CLI Example:
62144
62145                 salt-cloud -f set_storage_container my-azure name=mycontainer
62146
62147              name:  Name of existing container.
62148
62149              signed_identifiers:
62150                     SignedIdentifers instance
62151
62152              blob_public_access:
62153                     Optional. Possible values include: container, blob
62154
62155              lease_id:
62156                     If specified, set_storage_container_acl only succeeds  if
62157                     the container's lease is active and matches this ID.
62158
62159       salt.cloud.clouds.msazure.set_storage_container_metadata(kwargs=None,
62160       storage_conn=None, call=None)
62161              New in version 2015.8.0.
62162
62163
62164              Set a storage container's metadata
62165
62166              CLI Example:
62167
62168                 salt-cloud -f set_storage_container my-azure name=mycontainer \
62169                     x_ms_meta_name_values='{"my_name": "my_value"}'
62170
62171              name:  Name of existing container.
62172
62173              meta_name_values:
62174                     A dict containing name,  value  for  metadata.   Example:
62175                     {'category':'test'}
62176
62177              lease_id:
62178                     If  specified,  set_storage_container_metadata  only suc‐
62179                     ceeds if the container's lease is active and matches this
62180                     ID.
62181
62182       salt.cloud.clouds.msazure.show_affinity_group(kwargs=None,   conn=None,
62183       call=None)
62184              New in version 2015.8.0.
62185
62186
62187              Show an affinity group associated with the account
62188
62189              CLI Example:
62190
62191                 salt-cloud -f show_affinity_group my-azure service=myservice \
62192                     deployment=mydeployment name=SSH
62193
62194       salt.cloud.clouds.msazure.show_blob_properties(kwargs=None,       stor‐
62195       age_conn=None, call=None)
62196              New in version 2015.8.0.
62197
62198
62199              Returns all user-defined metadata, standard HTTP properties, and
62200              system properties for the blob.
62201
62202              CLI Example:
62203
62204                 salt-cloud -f show_blob_properties my-azure container=mycontainer blob=myblob
62205
62206              container:
62207                     Name of existing container.
62208
62209              blob:  Name of existing blob.
62210
62211              lease_id:
62212                     Required if the blob has an active lease.
62213
62214       salt.cloud.clouds.msazure.show_blob_service_properties(kwargs=None,
62215       storage_conn=None, call=None)
62216              New in version 2015.8.0.
62217
62218
62219              Show a blob's service properties
62220
62221              CLI Example:
62222
62223                 salt-cloud -f show_blob_service_properties my-azure
62224
62225       salt.cloud.clouds.msazure.show_deployment(kwargs=None,       conn=None,
62226       call=None)
62227              New in version 2015.8.0.
62228
62229
62230              Return information about a deployment
62231
62232              CLI Example:
62233
62234                 salt-cloud -f show_deployment my-azure name=my_deployment
62235
62236       salt.cloud.clouds.msazure.show_disk(kwargs=None, conn=None, call=None)
62237              New in version 2015.8.0.
62238
62239
62240              Return information about a disk
62241
62242              CLI Example:
62243
62244                 salt-cloud -f show_disk my-azure name=my_disk
62245
62246       salt.cloud.clouds.msazure.show_input_endpoint(kwargs=None,   conn=None,
62247       call=None)
62248              New in version 2015.8.0.
62249
62250
62251              Show an input endpoint associated with the deployment
62252
62253              CLI Example:
62254
62255                 salt-cloud -f show_input_endpoint my-azure service=myservice \
62256                     deployment=mydeployment name=SSH
62257
62258       salt.cloud.clouds.msazure.show_instance(name, call=None)
62259              Show the details from the provider concerning an instance
62260
62261       salt.cloud.clouds.msazure.show_management_certificate(kwargs=None,
62262       conn=None, call=None)
62263              New in version 2015.8.0.
62264
62265
62266              Return information about a management_certificate
62267
62268              CLI Example:
62269
62270                 salt-cloud -f get_management_certificate my-azure name=my_management_certificate \
62271                     thumbalgorithm=sha1 thumbprint=0123456789ABCDEF
62272
62273       salt.cloud.clouds.msazure.show_service(kwargs=None,          conn=None,
62274       call=None)
62275              New in version 2015.8.0.
62276
62277
62278              List hosted service properties
62279
62280              CLI Example:
62281
62282                 salt-cloud -f show_service my-azure name=my_service
62283
62284       salt.cloud.clouds.msazure.show_service_certificate(kwargs=None,
62285       conn=None, call=None)
62286              New in version 2015.8.0.
62287
62288
62289              Return information about a service certificate
62290
62291              CLI Example:
62292
62293                 salt-cloud -f show_service_certificate my-azure name=my_service_certificate \
62294                     thumbalgorithm=sha1 thumbprint=0123456789ABCDEF
62295
62296       salt.cloud.clouds.msazure.show_storage(kwargs=None,          conn=None,
62297       call=None)
62298              New in version 2015.8.0.
62299
62300
62301              List storage service properties
62302
62303              CLI Example:
62304
62305                 salt-cloud -f show_storage my-azure name=my_storage
62306
62307       salt.cloud.clouds.msazure.show_storage_container(kwargs=None,     stor‐
62308       age_conn=None, call=None)
62309              New in version 2015.8.0.
62310
62311
62312              Show a container associated with the storage account
62313
62314              CLI Example:
62315
62316                 salt-cloud -f show_storage_container my-azure name=myservice
62317
62318              name:  Name of container to show.
62319
62320       salt.cloud.clouds.msazure.show_storage_container_acl(kwargs=None, stor‐
62321       age_conn=None, call=None)
62322              New in version 2015.8.0.
62323
62324
62325              Show a storage container's acl
62326
62327              CLI Example:
62328
62329                 salt-cloud -f show_storage_container_acl my-azure name=myservice
62330
62331              name:  Name of existing container.
62332
62333              lease_id:
62334                     If specified, show_storage_container_acl only succeeds if
62335                     the container's lease is active and matches this ID.
62336
62337       salt.cloud.clouds.msazure.show_storage_container_metadata(kwargs=None,
62338       storage_conn=None, call=None)
62339              New in version 2015.8.0.
62340
62341
62342              Show a storage container's metadata
62343
62344              CLI Example:
62345
62346                 salt-cloud -f show_storage_container_metadata my-azure name=myservice
62347
62348              name:  Name of container to show.
62349
62350              lease_id:
62351                     If  specified,  show_storage_container_metadata only suc‐
62352                     ceeds if the container's lease is active and matches this
62353                     ID.
62354
62355       salt.cloud.clouds.msazure.show_storage_keys(kwargs=None,     conn=None,
62356       call=None)
62357              New in version 2015.8.0.
62358
62359
62360              Show storage account keys
62361
62362              CLI Example:
62363
62364                 salt-cloud -f show_storage_keys my-azure name=my_storage
62365
62366       salt.cloud.clouds.msazure.update_affinity_group(kwargs=None, conn=None,
62367       call=None)
62368              New in version 2015.8.0.
62369
62370
62371              Update an affinity group's properties
62372
62373              CLI Example:
62374
62375                 salt-cloud -f update_affinity_group my-azure name=my_group label=my_group
62376
62377       salt.cloud.clouds.msazure.update_disk(kwargs=None,           conn=None,
62378       call=None)
62379              New in version 2015.8.0.
62380
62381
62382              Update a disk's properties
62383
62384              CLI Example:
62385
62386                 salt-cloud -f update_disk my-azure name=my_disk label=my_disk
62387                 salt-cloud -f update_disk my-azure name=my_disk new_name=another_disk
62388
62389       salt.cloud.clouds.msazure.update_input_endpoint(kwargs=None, conn=None,
62390       call=None, activity=u'update')
62391              New in version 2015.8.0.
62392
62393
62394              Update  an input endpoint associated with the deployment. Please
62395              note that there may be a delay before the changes show up.
62396
62397              CLI Example:
62398
62399                 salt-cloud -f update_input_endpoint my-azure service=myservice \
62400                     deployment=mydeployment role=myrole name=HTTP local_port=80 \
62401                     port=80 protocol=tcp enable_direct_server_return=False \
62402                     timeout_for_tcp_idle_connection=4
62403
62404       salt.cloud.clouds.msazure.update_storage(kwargs=None,        conn=None,
62405       call=None)
62406              New in version 2015.8.0.
62407
62408
62409              Update a storage account's properties
62410
62411              CLI Example:
62412
62413                 salt-cloud -f update_storage my-azure name=my_storage label=my_storage
62414
62415   salt.cloud.clouds.nova
62416   OpenStack Nova Cloud Module
62417       OpenStack  is an open source project that is in use by a number a cloud
62418       providers, each of which have their own ways of using it.
62419
62420       The OpenStack Nova module for Salt  Cloud  was  bootstrapped  from  the
62421       OpenStack  module  for  Salt Cloud, which uses a libcloud-based connec‐
62422       tion. The Nova module is designed to use the nova  and  glance  modules
62423       already built into Salt.
62424
62425       These  modules  use  the  Python novaclient and glanceclient libraries,
62426       respectively. In order to use this module, the proper  salt  configura‐
62427       tion  must  also be in place.  This can be specified in the master con‐
62428       fig, the minion config, a set of grains or a set of pillars.
62429
62430          my_openstack_profile:
62431            keystone.user: admin
62432            keystone.password: verybadpass
62433            keystone.tenant: admin
62434            keystone.auth_url: 'http://127.0.0.1:5000/v2.0/'
62435
62436       Note that there is currently a dependency upon  netaddr.  This  can  be
62437       installed  on Debian-based systems by means of the python-netaddr pack‐
62438       age.
62439
62440       This module currently requires the latest develop branch of Salt to  be
62441       installed.
62442
62443       This  module  has  been tested to work with HP Cloud and Rackspace. See
62444       the documentation for specific options for either of  these  providers.
62445       These   examples  could  be  set  up  in  the  cloud  configuration  at
62446       /etc/salt/cloud.providers     or      /etc/salt/cloud.providers.d/open‐
62447       stack.conf:
62448
62449          my-openstack-config:
62450            # The name of the configuration profile to use on said minion
62451            config_profile: my_openstack_profile
62452
62453            ssh_key_name: mykey
62454
62455            driver: nova
62456            userdata_file: /tmp/userdata.txt
62457
62458       To  use  keystoneauth1  instead of keystoneclient, include the use_key‐
62459       stoneauth option in the provider config.
62460
62461       NOTE:
62462          this is required to use keystone v3 as for authentication.
62463
62464          my-openstack-config:
62465            use_keystoneauth: True
62466            identity_url: 'https://controller:5000/v3'
62467            auth_version: 3
62468            compute_name: nova
62469            compute_region: RegionOne
62470            service_type: compute
62471            verify: '/path/to/custom/certs/ca-bundle.crt'
62472            tenant: admin
62473            user: admin
62474            password: passwordgoeshere
62475            driver: nova
62476
62477       Note: by default the nova driver will attempt to verify its  connection
62478       utilizing  the  system  certificates.  If  you  need  to verify against
62479       another bundle of CA certificates or want to  skip  verification  alto‐
62480       gether you will need to specify the verify option. You can specify True
62481       or False to verify (or not) against system certificates, a  path  to  a
62482       bundle  or  CA certs to check against, or None to allow keystoneauth to
62483       search for the certificates on its own.(defaults to True)
62484
62485       For local installations that only use private IP  address  ranges,  the
62486       following option may be useful. Using the old syntax:
62487
62488       Note:  For  api use, you will need an auth plugin.  The base novaclient
62489       does not support apikeys, but some providers  such  as  rackspace  have
62490       extended keystone to accept them
62491
62492          my-openstack-config:
62493            # Ignore IP addresses on this network for bootstrap
62494            ignore_cidr: 192.168.50.0/24
62495
62496          my-nova:
62497            identity_url: 'https://identity.api.rackspacecloud.com/v2.0/'
62498            compute_region: IAD
62499            user: myusername
62500            password: mypassword
62501            tenant: <userid>
62502            driver: nova
62503
62504          my-api:
62505            identity_url: 'https://identity.api.rackspacecloud.com/v2.0/'
62506            compute_region: IAD
62507            user: myusername
62508            api_key: <api_key>
62509            os_auth_plugin: rackspace
62510            tenant: <userid>
62511            driver: nova
62512            networks:
62513              - net-id: 47a38ff2-fe21-4800-8604-42bd1848e743
62514              - net-id: 00000000-0000-0000-0000-000000000000
62515              - net-id: 11111111-1111-1111-1111-111111111111
62516
62517       This is an example profile.
62518
62519          debian8-2-iad-cloudqe4:
62520            provider: cloudqe4-iad
62521            size: performance1-2
62522            image: Debian 8 (Jessie) (PVHVM)
62523            script_args: -UP -p python-zmq git 2015.8
62524
62525       and one using cinder volumes already attached
62526
62527          # create the block storage device
62528          centos7-2-iad-rackspace:
62529            provider: rackspace-iad
62530            size: general1-2
62531            block_device:
62532              - source: image
62533                id: <image_id>
62534                dest: volume
62535                size: 100
62536                shutdown: <preserve/remove>
62537                bootindex: 0
62538
62539          # with the volume already created
62540          centos7-2-iad-rackspace:
62541            provider: rackspace-iad
62542            size: general1-2
62543            boot_volume: <volume id>
62544
62545          # create the volume from a snapshot
62546          centos7-2-iad-rackspace:
62547            provider: rackspace-iad
62548            size: general1-2
62549            snapshot: <cinder snapshot id>
62550
62551          # create the create an extra ephemeral disk
62552          centos7-2-iad-rackspace:
62553            provider: rackspace-iad
62554            size: general1-2
62555            ephemeral:
62556              - size: 100
62557                format: <swap/ext4>
62558
62559          # create the create an extra ephemeral disk
62560          centos7-2-iad-rackspace:
62561            provider: rackspace-iad
62562            size: general1-2
62563            swap: <size>
62564
62565       Block  Device  can  also be used for having more than one block storage
62566       device attached
62567
62568          centos7-2-iad-rackspace:
62569            provider: rackspace-iad
62570            size: general1-2
62571            block_device:
62572              - source: image
62573                id: <image_id>
62574                dest: volume
62575                size: 100
62576                shutdown: <preserve/remove>
62577                bootindex: 0
62578              - source: blank
62579                dest: volume
62580                device: xvdc
62581                size: 100
62582                shutdown: <preserve/remove>
62583
62584       Floating IPs can be auto assigned  and  ssh_interface  can  be  set  to
62585       fixed_ips, floating_ips, public_ips or private_ips
62586
62587          centos7-2-iad-rackspace:
62588            provider: rackspace-iad
62589            size: general1-2
62590            ssh_interface: floating_ips
62591            floating_ip:
62592              auto_assign: True
62593              pool: public
62594
62595       Note: You must include the default net-ids when setting networks or the
62596       server will be created without the rest of the interfaces
62597
62598       Note: For rackconnect v3, rackconnectv3 needs to be specified with  the
62599       rackconnect v3 cloud network as its variable.
62600
62601       salt.cloud.clouds.nova.attach_volume(name,                 server_name,
62602       device=u'/dev/xvdb', **kwargs)
62603              Attach block volume
62604
62605       salt.cloud.clouds.nova.avail_images()
62606              Return a dict of all available VM images on the cloud provider.
62607
62608       salt.cloud.clouds.nova.avail_locations(conn=None, call=None)
62609              Return a list of locations
62610
62611       salt.cloud.clouds.nova.avail_sizes()
62612              Return a dict of all available VM sizes on the cloud provider.
62613
62614       salt.cloud.clouds.nova.cloudnetwork(vm_)
62615              Determine if we should use an extra network to bootstrap  Either
62616              'False' (default) or 'True'.
62617
62618       salt.cloud.clouds.nova.create(vm_)
62619              Create a single VM from a data dict
62620
62621       salt.cloud.clouds.nova.create_attach_volumes(name, call=None, **kwargs)
62622              Create and attach volumes to created node
62623
62624       salt.cloud.clouds.nova.create_volume(name,   size=100,   snapshot=None,
62625       voltype=None, **kwargs)
62626              Create block storage device
62627
62628       salt.cloud.clouds.nova.destroy(name, conn=None, call=None)
62629              Delete a single VM
62630
62631       salt.cloud.clouds.nova.floating_ip_associate(name, kwargs, call=None)
62632              Associate a floating IP address to a server
62633
62634              New in version 2016.3.0.
62635
62636
62637       salt.cloud.clouds.nova.floating_ip_create(kwargs, call=None)
62638              Allocate a floating IP
62639
62640              New in version 2016.3.0.
62641
62642
62643       salt.cloud.clouds.nova.floating_ip_delete(kwargs, call=None)
62644              De-allocate floating IP
62645
62646              New in version 2016.3.0.
62647
62648
62649       salt.cloud.clouds.nova.floating_ip_disassociate(name,           kwargs,
62650       call=None)
62651              Disassociate a floating IP from a server
62652
62653              New in version 2016.3.0.
62654
62655
62656       salt.cloud.clouds.nova.floating_ip_list(call=None)
62657              List floating IPs
62658
62659              New in version 2016.3.0.
62660
62661
62662       salt.cloud.clouds.nova.floating_ip_pool_list(call=None)
62663              List all floating IP pools
62664
62665              New in version 2016.3.0.
62666
62667
62668       salt.cloud.clouds.nova.get_block_mapping_opts(vm_)
62669
62670       salt.cloud.clouds.nova.get_configured_provider()
62671              Return the first configured instance.
62672
62673       salt.cloud.clouds.nova.get_conn()
62674              Return a conn object for the passed VM data
62675
62676       salt.cloud.clouds.nova.get_dependencies()
62677              Warn if dependencies aren't met.
62678
62679       salt.cloud.clouds.nova.get_image(conn, vm_)
62680              Return the image object to use
62681
62682       salt.cloud.clouds.nova.get_size(conn, vm_)
62683              Return the VM's size object
62684
62685       salt.cloud.clouds.nova.ignore_cidr(vm_, ip)
62686              Return  True  if  we  are to ignore the specified IP. Compatible
62687              with IPv4.
62688
62689       salt.cloud.clouds.nova.list_nodes(call=None, **kwargs)
62690              Return a list of the VMs that in this location
62691
62692       salt.cloud.clouds.nova.list_nodes_full(call=None, **kwargs)
62693              Return a list of the VMs that in this location
62694
62695       salt.cloud.clouds.nova.list_nodes_min(call=None, **kwargs)
62696              Return a list of the VMs that in this location
62697
62698       salt.cloud.clouds.nova.list_nodes_select(call=None)
62699              Return a list of the VMs that are on the provider,  with  select
62700              fields
62701
62702       salt.cloud.clouds.nova.managedcloud(vm_)
62703              Determine  if  we  should  wait for the managed cloud automation
62704              before running. Either 'False' (default) or 'True'.
62705
62706       salt.cloud.clouds.nova.network_create(name, **kwargs)
62707              Create private networks
62708
62709       salt.cloud.clouds.nova.network_list(call=None, **kwargs)
62710              List private networks
62711
62712       salt.cloud.clouds.nova.preferred_ip(vm_, ips)
62713              Return the preferred Internet protocol. Either 'ipv4'  (default)
62714              or 'ipv6'.
62715
62716       salt.cloud.clouds.nova.rackconnect(vm_)
62717              Determine  if  we  should wait for rackconnect automation before
62718              running.  Either 'False' (default) or 'True'.
62719
62720       salt.cloud.clouds.nova.rackconnectv3(vm_)
62721              Determine if server is using rackconnectv3  or  not  Return  the
62722              rackconnect network name or False
62723
62724       salt.cloud.clouds.nova.reboot(name, conn=None)
62725              Reboot a single VM
62726
62727       salt.cloud.clouds.nova.request_instance(vm_=None, call=None)
62728              Put  together  all  of  the  information necessary to request an
62729              instance through Novaclient and then fire off  the  request  the
62730              instance.
62731
62732              Returns data about the instance
62733
62734       salt.cloud.clouds.nova.script(vm_)
62735              Return the script deployment object
62736
62737       salt.cloud.clouds.nova.show_instance(name, call=None)
62738              Show the details from the provider concerning an instance
62739
62740       salt.cloud.clouds.nova.ssh_interface(vm_)
62741              Return the ssh_interface type to connect to. Either 'public_ips'
62742              (default) or 'private_ips'.
62743
62744       salt.cloud.clouds.nova.virtual_interface_create(name,         net_name,
62745       **kwargs)
62746              Create private networks
62747
62748       salt.cloud.clouds.nova.virtual_interface_list(name, **kwargs)
62749              Create private networks
62750
62751       salt.cloud.clouds.nova.volume_attach(name,                 server_name,
62752       device=u'/dev/xvdb', **kwargs)
62753              Attach block volume
62754
62755       salt.cloud.clouds.nova.volume_create(name,   size=100,   snapshot=None,
62756       voltype=None, **kwargs)
62757              Create block storage device
62758
62759       salt.cloud.clouds.nova.volume_create_attach(name, call=None, **kwargs)
62760              Create and attach volumes to created node
62761
62762       salt.cloud.clouds.nova.volume_delete(name, **kwargs)
62763              Delete block storage device
62764
62765       salt.cloud.clouds.nova.volume_detach(name, **kwargs)
62766              Detach block volume
62767
62768       salt.cloud.clouds.nova.volume_list(**kwargs)
62769              List block devices
62770
62771   salt.cloud.clouds.oneandone
62772   1&1 Cloud Server Module
62773       The  1&1 SaltStack cloud module allows a 1&1 server to be automatically
62774       deployed and bootstrapped with Salt. It also has  functions  to  create
62775       block storages and ssh keys.
62776
62777       depends
62778              1and1 >= 1.2.0
62779
62780       The  module  requires  the  1&1  api_token  to be provided.  The server
62781       should also be assigned a public LAN, a private LAN, or both along with
62782       SSH key pairs.
62783
62784       Set   up   the  cloud  configuration  at  /etc/salt/cloud.providers  or
62785       /etc/salt/cloud.providers.d/oneandone.conf:
62786
62787          my-oneandone-config:
62788            driver: oneandone
62789            # The 1&1 api token
62790            api_token: <your-token>
62791            # SSH private key filename
62792            ssh_private_key: /path/to/private_key
62793            # SSH public key filename
62794            ssh_public_key: /path/to/public_key
62795
62796          my-oneandone-profile:
62797            provider: my-oneandone-config
62798            # Either provide fixed_instance_size_id or vcore, cores_per_processor, ram, and hdds.
62799            # Size of the ID desired for the server
62800            fixed_instance_size: S
62801            # Total amount of processors
62802            vcore: 2
62803            # Number of cores per processor
62804            cores_per_processor: 2
62805            # RAM memory size in GB
62806            ram: 4
62807            # Hard disks
62808            hdds:
62809            -
62810              is_main: true
62811              size: 20
62812            -
62813              is_main: false
62814              size: 20
62815            # ID of the appliance image that will be installed on server
62816            appliance_id: <ID>
62817            # ID of the datacenter where the server will be created
62818            datacenter_id: <ID>
62819            # Description of the server
62820            description: My server description
62821            # Password of the server. Password must contain more than 8 characters
62822            # using uppercase letters, numbers and other special symbols.
62823            password: P4$$w0rD
62824            # Power on server after creation - default True
62825            power_on: true
62826            # Firewall policy ID. If it is not provided, the server will assign
62827            # the best firewall policy, creating a new one if necessary.
62828            # If the parameter is sent with a 0 value, the server will be created with all ports blocked.
62829            firewall_policy_id: <ID>
62830            # IP address ID
62831            ip_id: <ID>
62832            # Load balancer ID
62833            load_balancer_id: <ID>
62834            # Monitoring policy ID
62835            monitoring_policy_id: <ID>
62836
62837       Set deploy to False if Salt should not be installed on the node.
62838
62839          my-oneandone-profile:
62840            deploy: False
62841
62842       Create an SSH key
62843
62844          sudo salt-cloud -f create_ssh_key my-oneandone-config name='SaltTest' description='SaltTestDescription'
62845
62846       Create a block storage
62847
62848          sudo salt-cloud -f create_block_storage my-oneandone-config name='SaltTest2'
62849          description='SaltTestDescription' size=50 datacenter_id='5091F6D8CBFEF9C26ACE957C652D5D49'
62850
62851       salt.cloud.clouds.oneandone.avail_images(conn=None, call=None)
62852              Return a list of the server appliances that are on the provider
62853
62854       salt.cloud.clouds.oneandone.avail_locations(conn=None, call=None)
62855              List available locations/datacenters for 1&1
62856
62857       salt.cloud.clouds.oneandone.avail_sizes(call=None)
62858              Return a dict of all available VM sizes on  the  cloud  provider
62859              with relevant data.
62860
62861       salt.cloud.clouds.oneandone.create(vm_)
62862              Create a single VM from a data dict
62863
62864       salt.cloud.clouds.oneandone.create_block_storage(kwargs=None,
62865       call=None)
62866              Create a block storage
62867
62868       salt.cloud.clouds.oneandone.create_ssh_key(kwargs=None, call=None)
62869              Create an ssh key
62870
62871       salt.cloud.clouds.oneandone.destroy(name, call=None)
62872              destroy a server by name
62873
62874              Parameters
62875
62876                     · name -- name given to the server
62877
62878                     · call -- call value in this case is 'action'
62879
62880              Returns
62881                     array of booleans , true if successfully stopped and true
62882                     if successfully removed
62883
62884              CLI Example:
62885
62886                 salt-cloud -d vm_name
62887
62888       salt.cloud.clouds.oneandone.get_configured_provider()
62889              Return the first configured instance.
62890
62891       salt.cloud.clouds.oneandone.get_conn()
62892              Return a conn object for the passed VM data
62893
62894       salt.cloud.clouds.oneandone.get_dependencies()
62895              Warn if dependencies are not met.
62896
62897       salt.cloud.clouds.oneandone.get_image(vm_)
62898              Return the image object to use
62899
62900       salt.cloud.clouds.oneandone.get_key_filename(vm_)
62901              Check SSH private key file and return absolute path if exists.
62902
62903       salt.cloud.clouds.oneandone.get_node(conn, name)
62904              Return a node for the named VM
62905
62906       salt.cloud.clouds.oneandone.get_size(vm_)
62907              Return the VM's size object
62908
62909       salt.cloud.clouds.oneandone.get_wait_timeout(vm_)
62910              Return the wait_for_timeout for resource provisioning.
62911
62912       salt.cloud.clouds.oneandone.list_nodes(conn=None, call=None)
62913              Return a list of VMs that are on the provider
62914
62915       salt.cloud.clouds.oneandone.list_nodes_full(conn=None, call=None)
62916              Return  a  list  of  the  VMs that are on the provider, with all
62917              fields
62918
62919       salt.cloud.clouds.oneandone.list_nodes_select(conn=None, call=None)
62920              Return a list of the VMs that are on the provider,  with  select
62921              fields
62922
62923       salt.cloud.clouds.oneandone.load_public_key(vm_)
62924              Load the public key file if exists.
62925
62926       salt.cloud.clouds.oneandone.reboot(name, call=None)
62927              reboot  a  server by name :param name: name given to the machine
62928              :param call: call value in this case is 'action'  :return:  true
62929              if successful
62930
62931              CLI Example:
62932
62933                 salt-cloud -a reboot vm_name
62934
62935       salt.cloud.clouds.oneandone.script(vm_)
62936              Return the script deployment object
62937
62938       salt.cloud.clouds.oneandone.show_instance(name, call=None)
62939              Show the details from the provider concerning an instance
62940
62941       salt.cloud.clouds.oneandone.start(name, call=None)
62942              start  a  server  by name :param name: name given to the machine
62943              :param call: call value in this case is 'action'  :return:  true
62944              if successful
62945
62946              CLI Example:
62947
62948                 salt-cloud -a start vm_name
62949
62950       salt.cloud.clouds.oneandone.stop(name, call=None)
62951              stop  a  server  by  name :param name: name given to the machine
62952              :param call: call value in this case is 'action'  :return:  true
62953              if successful
62954
62955              CLI Example:
62956
62957                 salt-cloud -a stop vm_name
62958
62959   salt.cloud.clouds.opennebula
62960   OpenNebula Cloud Module
62961       The  OpenNebula cloud module is used to control access to an OpenNebula
62962       cloud.
62963
62964       New in version 2014.7.0.
62965
62966
62967       depends
62968              lxml
62969
62970       depends
62971              OpenNebula installation running version 4.14 or later.
62972
62973       Use of this module requires the xml_rpc, user, and password  parameters
62974       to be set.
62975
62976       Set   up   the  cloud  configuration  at  /etc/salt/cloud.providers  or
62977       /etc/salt/cloud.providers.d/opennebula.conf:
62978
62979          my-opennebula-config:
62980            xml_rpc: http://localhost:2633/RPC2
62981            user: oneadmin
62982            password: JHGhgsayu32jsa
62983            driver: opennebula
62984
62985       This driver supports accessing new VM instances via DNS  entry  instead
62986       of IP address.  To enable this feature, in the provider or profile file
62987       add fqdn_base with a value matching the base  of  your  fully-qualified
62988       domain name.  Example:
62989
62990          my-opennebula-config:
62991            [...]
62992            fqdn_base: <my.basedomain.com>
62993            [...]
62994
62995       The  driver  will  prepend  the  hostname to the fqdn_base and do a DNS
62996       lookup to find the IP of the new VM.
62997
62998          salt-cloud -f image_allocate opennebula datastore_name=default \
62999              data='NAME="My New Image" DESCRIPTION="Description of the image." \
63000              PATH=/home/one_user/images/image_name.img'
63001          salt-cloud -f secgroup_allocate opennebula \
63002              data="Name = test RULE = [PROTOCOL = TCP, RULE_TYPE = inbound, \
63003              RANGE = 1000:2000]"
63004
63005       salt.cloud.clouds.opennebula.avail_images(call=None)
63006              Return available OpenNebula images.
63007
63008              CLI Example:
63009
63010                 salt-cloud --list-images opennebula
63011                 salt-cloud --function avail_images opennebula
63012                 salt-cloud -f avail_images opennebula
63013
63014       salt.cloud.clouds.opennebula.avail_locations(call=None)
63015              Return available OpenNebula locations.
63016
63017              CLI Example:
63018
63019                 salt-cloud --list-locations opennebula
63020                 salt-cloud --function avail_locations opennebula
63021                 salt-cloud -f avail_locations opennebula
63022
63023       salt.cloud.clouds.opennebula.avail_sizes(call=None)
63024              Because sizes are built into templates  with  OpenNebula,  there
63025              will be no sizes to return here.
63026
63027       salt.cloud.clouds.opennebula.create(vm_)
63028              Create a single VM from a data dict.
63029
63030              vm_    The dictionary use to create a VM.
63031
63032              Optional vm_ dict options for overwriting template:
63033
63034              region_id
63035                     Optional - OpenNebula Zone ID
63036
63037              memory Optional - In MB
63038
63039              cpu    Optional - Percent of host CPU to allocate
63040
63041              vcpu
63042                        Optional - Amount of vCPUs to allocate
63043
63044                     CLI Example:
63045
63046                         salt-cloud -p my-opennebula-profile vm_name
63047
63048                        salt-cloud -p my-opennebula-profile vm_name memory=16384 cpu=2.5 vcpu=16
63049
63050       salt.cloud.clouds.opennebula.destroy(name, call=None)
63051              Destroy  a  node.  Will check termination protection and warn if
63052              enabled.
63053
63054              name   The name of the vm to be destroyed.
63055
63056              CLI Example:
63057
63058                 salt-cloud --destroy vm_name
63059                 salt-cloud -d vm_name
63060                 salt-cloud --action destroy vm_name
63061                 salt-cloud -a destroy vm_name
63062
63063       salt.cloud.clouds.opennebula.get_cluster_id(kwargs=None, call=None)
63064              Returns a cluster's ID from the given cluster name.
63065
63066              New in version 2016.3.0.
63067
63068
63069              CLI Example:
63070
63071                 salt-cloud -f get_cluster_id opennebula name=my-cluster-name
63072
63073       salt.cloud.clouds.opennebula.get_configured_provider()
63074              Return the first configured instance.
63075
63076       salt.cloud.clouds.opennebula.get_datastore_id(kwargs=None, call=None)
63077              Returns a data store's ID from the given data store name.
63078
63079              New in version 2016.3.0.
63080
63081
63082              CLI Example:
63083
63084                 salt-cloud -f get_datastore_id opennebula name=my-datastore-name
63085
63086       salt.cloud.clouds.opennebula.get_dependencies()
63087              Warn if dependencies aren't met.
63088
63089       salt.cloud.clouds.opennebula.get_host_id(kwargs=None, call=None)
63090              Returns a host's ID from the given host name.
63091
63092              New in version 2016.3.0.
63093
63094
63095              CLI Example:
63096
63097                 salt-cloud -f get_host_id opennebula name=my-host-name
63098
63099       salt.cloud.clouds.opennebula.get_image(vm_)
63100              Return the image object to use.
63101
63102              vm_    The VM dictionary for which to obtain an image.
63103
63104       salt.cloud.clouds.opennebula.get_image_id(kwargs=None, call=None)
63105              Returns an image's ID from the given image name.
63106
63107              New in version 2016.3.0.
63108
63109
63110              CLI Example:
63111
63112                 salt-cloud -f get_image_id opennebula name=my-image-name
63113
63114       salt.cloud.clouds.opennebula.get_location(vm_)
63115              Return the VM's location.
63116
63117              vm_    The VM dictionary for which to obtain a location.
63118
63119       salt.cloud.clouds.opennebula.get_one_version(kwargs=None, call=None)
63120              Returns the OpenNebula version.
63121
63122              New in version 2016.3.5.
63123
63124
63125              CLI Example:
63126
63127                 salt-cloud -f get_one_version one_provider_name
63128
63129       salt.cloud.clouds.opennebula.get_secgroup_id(kwargs=None, call=None)
63130              Returns a security group's ID  from  the  given  security  group
63131              name.
63132
63133              New in version 2016.3.0.
63134
63135
63136              CLI Example:
63137
63138                 salt-cloud -f get_secgroup_id opennebula name=my-secgroup-name
63139
63140       salt.cloud.clouds.opennebula.get_template(vm_)
63141              Return the template id for a VM.
63142
63143              New in version 2016.11.0.
63144
63145
63146              vm_    The VM dictionary for which to obtain a template.
63147
63148       salt.cloud.clouds.opennebula.get_template_id(kwargs=None, call=None)
63149              Returns a template's ID from the given template name.
63150
63151              New in version 2016.3.0.
63152
63153
63154              CLI Example:
63155
63156                 salt-cloud -f get_template_id opennebula name=my-template-name
63157
63158       salt.cloud.clouds.opennebula.get_template_image(kwargs=None, call=None)
63159              Returns a template's image from the given template name.
63160
63161              New in version 2018.3.0.
63162
63163
63164                 salt-cloud -f get_template_image opennebula name=my-template-name
63165
63166       salt.cloud.clouds.opennebula.get_vm_id(kwargs=None, call=None)
63167              Returns  a virtual machine's ID from the given virtual machine's
63168              name.
63169
63170              New in version 2016.3.0.
63171
63172
63173              CLI Example:
63174
63175                 salt-cloud -f get_vm_id opennebula name=my-vm
63176
63177       salt.cloud.clouds.opennebula.get_vn_id(kwargs=None, call=None)
63178              Returns a virtual network's ID from the given virtual  network's
63179              name.
63180
63181              New in version 2016.3.0.
63182
63183
63184              CLI Example:
63185
63186                 salt-cloud -f get_vn_id opennebula name=my-vn-name
63187
63188       salt.cloud.clouds.opennebula.image_allocate(call=None, kwargs=None)
63189              Allocates a new image in OpenNebula.
63190
63191              New in version 2016.3.0.
63192
63193
63194              path   The  path  to a file containing the template of the image
63195                     to allocate.  Syntax within the file  can  be  the  usual
63196                     attribute=value or XML. Can be used instead of data.
63197
63198              data   The  data  containing  the template of the image to allo‐
63199                     cate. Syntax can be the usual attribute=value or XML. Can
63200                     be used instead of path.
63201
63202              datastore_id
63203                     The  ID  of  the data-store to be used for the new image.
63204                     Can be used instead of datastore_name.
63205
63206              datastore_name
63207                     The name of the data-store to be used for the new  image.
63208                     Can be used instead of datastore_id.
63209
63210              CLI Example:
63211
63212                 salt-cloud -f image_allocate opennebula path=/path/to/image_file.txt datastore_id=1
63213                 salt-cloud -f image_allocate opennebula datastore_name=default \
63214                     data='NAME="Ubuntu 14.04" PATH="/home/one_user/images/ubuntu_desktop.img" \
63215                     DESCRIPTION="Ubuntu 14.04 for development."'
63216
63217       salt.cloud.clouds.opennebula.image_clone(call=None, kwargs=None)
63218              Clones an existing image.
63219
63220              New in version 2016.3.0.
63221
63222
63223              name   The name of the new image.
63224
63225              image_id
63226                     The  ID of the image to be cloned. Can be used instead of
63227                     image_name.
63228
63229              image_name
63230                     The name of the image to be cloned. Can be  used  instead
63231                     of image_id.
63232
63233              CLI Example:
63234
63235                 salt-cloud -f image_clone opennebula name=my-new-image image_id=10
63236                 salt-cloud -f image_clone opennebula name=my-new-image image_name=my-image-to-clone
63237
63238       salt.cloud.clouds.opennebula.image_delete(call=None, kwargs=None)
63239              Deletes  the  given  image  from OpenNebula. Either a name or an
63240              image_id must be supplied.
63241
63242              New in version 2016.3.0.
63243
63244
63245              name   The name of the image to delete. Can be used  instead  of
63246                     image_id.
63247
63248              image_id
63249                     The  ID  of  the  image to delete. Can be used instead of
63250                     name.
63251
63252              CLI Example:
63253
63254                 salt-cloud -f image_delete opennebula name=my-image
63255                 salt-cloud --function image_delete opennebula image_id=100
63256
63257       salt.cloud.clouds.opennebula.image_info(call=None, kwargs=None)
63258              Retrieves information for a given image. Either  a  name  or  an
63259              image_id must be supplied.
63260
63261              New in version 2016.3.0.
63262
63263
63264              name   The  name  of  the image for which to gather information.
63265                     Can be used instead of image_id.
63266
63267              image_id
63268                     The ID of the image for which to gather information.  Can
63269                     be used instead of name.
63270
63271              CLI Example:
63272
63273                 salt-cloud -f image_info opennebula name=my-image
63274                 salt-cloud --function image_info opennebula image_id=5
63275
63276       salt.cloud.clouds.opennebula.image_persistent(call=None, kwargs=None)
63277              Sets the Image as persistent or not persistent.
63278
63279              New in version 2016.3.0.
63280
63281
63282              name   The  name  of  the  image  to set. Can be used instead of
63283                     image_id.
63284
63285              image_id
63286                     The ID of the image to set. Can be used instead of name.
63287
63288              persist
63289                     A boolean value to set the image as  persistent  or  not.
63290                     Set to true for persistent, false for non-persistent.
63291
63292              CLI Example:
63293
63294                 salt-cloud -f image_persistent opennebula name=my-image persist=True
63295                 salt-cloud --function image_persistent opennebula image_id=5 persist=False
63296
63297       salt.cloud.clouds.opennebula.image_snapshot_delete(call=None,
63298       kwargs=None)
63299              Deletes a snapshot from the image.
63300
63301              New in version 2016.3.0.
63302
63303
63304              image_id
63305                     The ID of the image from which to  delete  the  snapshot.
63306                     Can be used instead of image_name.
63307
63308              image_name
63309                     The  name of the image from which to delete the snapshot.
63310                     Can be used instead of image_id.
63311
63312              snapshot_id
63313                     The ID of the snapshot to delete.
63314
63315              CLI Example:
63316
63317                 salt-cloud -f image_snapshot_delete vm_id=106 snapshot_id=45
63318                 salt-cloud -f image_snapshot_delete vm_name=my-vm snapshot_id=111
63319
63320       salt.cloud.clouds.opennebula.image_snapshot_flatten(call=None,
63321       kwargs=None)
63322              Flattens the snapshot of an image and discards others.
63323
63324              New in version 2016.3.0.
63325
63326
63327              image_id
63328                     The ID of the image. Can be used instead of image_name.
63329
63330              image_name
63331                     The name of the image. Can be used instead of image_id.
63332
63333              snapshot_id
63334                     The ID of the snapshot to flatten.
63335
63336              CLI Example:
63337
63338                 salt-cloud -f image_snapshot_flatten vm_id=106 snapshot_id=45
63339                 salt-cloud -f image_snapshot_flatten vm_name=my-vm snapshot_id=45
63340
63341       salt.cloud.clouds.opennebula.image_snapshot_revert(call=None,
63342       kwargs=None)
63343              Reverts an image state to a previous snapshot.
63344
63345              New in version 2016.3.0.
63346
63347
63348              image_id
63349                     The ID of the image to revert. Can  be  used  instead  of
63350                     image_name.
63351
63352              image_name
63353                     The  name  of the image to revert. Can be used instead of
63354                     image_id.
63355
63356              snapshot_id
63357                     The ID of  the  snapshot  to  which  the  image  will  be
63358                     reverted.
63359
63360              CLI Example:
63361
63362                 salt-cloud -f image_snapshot_revert vm_id=106 snapshot_id=45
63363                 salt-cloud -f image_snapshot_revert vm_name=my-vm snapshot_id=120
63364
63365       salt.cloud.clouds.opennebula.image_update(call=None, kwargs=None)
63366              Replaces the image template contents.
63367
63368              New in version 2016.3.0.
63369
63370
63371              image_id
63372                     The  ID  of  the  image to update. Can be used instead of
63373                     image_name.
63374
63375              image_name
63376                     The name of the image to update. Can be used  instead  of
63377                     image_id.
63378
63379              path   The  path to a file containing the template of the image.
63380                     Syntax within the file can be the  usual  attribute=value
63381                     or XML. Can be used instead of data.
63382
63383              data   Contains  the  template  of  the image. Syntax can be the
63384                     usual attribute=value or XML.  Can  be  used  instead  of
63385                     path.
63386
63387              update_type
63388                     There  are two ways to update an image: replace the whole
63389                     template or merge the new template with the existing one.
63390
63391              CLI Example:
63392
63393                 salt-cloud -f image_update opennebula image_id=0 file=/path/to/image_update_file.txt update_type=replace
63394                 salt-cloud -f image_update opennebula image_name="Ubuntu 14.04" update_type=merge \
63395                     data='NAME="Ubuntu Dev" PATH="/home/one_user/images/ubuntu_desktop.img" \
63396                     DESCRIPTION = "Ubuntu 14.04 for development."'
63397
63398       salt.cloud.clouds.opennebula.list_clusters(call=None)
63399              Returns a list of clusters in OpenNebula.
63400
63401              New in version 2016.3.0.
63402
63403
63404              CLI Example:
63405
63406                 salt-cloud -f list_clusters opennebula
63407
63408       salt.cloud.clouds.opennebula.list_datastores(call=None)
63409              Returns a list of data stores on OpenNebula.
63410
63411              New in version 2016.3.0.
63412
63413
63414              CLI Example:
63415
63416                 salt-cloud -f list_datastores opennebula
63417
63418       salt.cloud.clouds.opennebula.list_hosts(call=None)
63419              Returns a list of hosts on OpenNebula.
63420
63421              New in version 2016.3.0.
63422
63423
63424              CLI Example:
63425
63426                 salt-cloud -f list_hosts opennebula
63427
63428       salt.cloud.clouds.opennebula.list_nodes(call=None)
63429              Return a list of VMs on OpenNebula.
63430
63431              CLI Example:
63432
63433                 salt-cloud -Q
63434                 salt-cloud --query
63435                 salt-cloud --function list_nodes opennebula
63436                 salt-cloud -f list_nodes opennebula
63437
63438       salt.cloud.clouds.opennebula.list_nodes_full(call=None)
63439              Return a list of the VMs on OpenNebula.
63440
63441              CLI Example:
63442
63443                 salt-cloud -F
63444                 salt-cloud --full-query
63445                 salt-cloud --function list_nodes_full opennebula
63446                 salt-cloud -f list_nodes_full opennebula
63447
63448       salt.cloud.clouds.opennebula.list_nodes_select(call=None)
63449              Return a list of the VMs that are on the provider,  with  select
63450              fields.
63451
63452       salt.cloud.clouds.opennebula.list_security_groups(call=None)
63453              Lists  all  security groups available to the user and the user's
63454              groups.
63455
63456              New in version 2016.3.0.
63457
63458
63459              CLI Example:
63460
63461                 salt-cloud -f list_security_groups opennebula
63462
63463       salt.cloud.clouds.opennebula.list_templates(call=None)
63464              Lists all templates available to the user and the user's groups.
63465
63466              New in version 2016.3.0.
63467
63468
63469              CLI Example:
63470
63471                 salt-cloud -f list_templates opennebula
63472
63473       salt.cloud.clouds.opennebula.list_vns(call=None)
63474              Lists all virtual networks available to the user and the  user's
63475              groups.
63476
63477              New in version 2016.3.0.
63478
63479
63480              CLI Example:
63481
63482                 salt-cloud -f list_vns opennebula
63483
63484       salt.cloud.clouds.opennebula.reboot(name, call=None)
63485              Reboot a VM.
63486
63487              New in version 2016.3.0.
63488
63489
63490              name   The name of the VM to reboot.
63491
63492              CLI Example:
63493
63494                 salt-cloud -a reboot my-vm
63495
63496       salt.cloud.clouds.opennebula.secgroup_allocate(call=None, kwargs=None)
63497              Allocates a new security group in OpenNebula.
63498
63499              New in version 2016.3.0.
63500
63501
63502              path   The  path  to a file containing the template of the secu‐
63503                     rity group. Syntax within  the  file  can  be  the  usual
63504                     attribute=value or XML. Can be used instead of data.
63505
63506              data   The  template  data  of the security group. Syntax can be
63507                     the usual attribute=value or XML. Can be used instead  of
63508                     path.
63509
63510              CLI Example:
63511
63512                 salt-cloud -f secgroup_allocate opennebula path=/path/to/secgroup_file.txt
63513                 salt-cloud -f secgroup_allocate opennebula \
63514                     data="NAME = test RULE = [PROTOCOL = TCP, RULE_TYPE = inbound, \
63515                     RANGE = 1000:2000]"
63516
63517       salt.cloud.clouds.opennebula.secgroup_clone(call=None, kwargs=None)
63518              Clones an existing security group.
63519
63520              New in version 2016.3.0.
63521
63522
63523              name   The name of the new template.
63524
63525              secgroup_id
63526                     The  ID  of  the security group to be cloned. Can be used
63527                     instead of secgroup_name.
63528
63529              secgroup_name
63530                     The name of the security group to be cloned. Can be  used
63531                     instead of secgroup_id.
63532
63533              CLI Example:
63534
63535                 salt-cloud -f secgroup_clone opennebula name=my-cloned-secgroup secgroup_id=0
63536                 salt-cloud -f secgroup_clone opennebula name=my-cloned-secgroup secgroup_name=my-secgroup
63537
63538       salt.cloud.clouds.opennebula.secgroup_delete(call=None, kwargs=None)
63539              Deletes  the given security group from OpenNebula. Either a name
63540              or a secgroup_id must be supplied.
63541
63542              New in version 2016.3.0.
63543
63544
63545              name   The name of the security group to  delete.  Can  be  used
63546                     instead of secgroup_id.
63547
63548              secgroup_id
63549                     The  ID  of  the  security  group  to delete. Can be used
63550                     instead of name.
63551
63552              CLI Example:
63553
63554                 salt-cloud -f secgroup_delete opennebula name=my-secgroup
63555                 salt-cloud --function secgroup_delete opennebula secgroup_id=100
63556
63557       salt.cloud.clouds.opennebula.secgroup_info(call=None, kwargs=None)
63558              Retrieves information for the given  security  group.  Either  a
63559              name or a secgroup_id must be supplied.
63560
63561              New in version 2016.3.0.
63562
63563
63564              name   The name of the security group for which to gather infor‐
63565                     mation. Can be used instead of secgroup_id.
63566
63567              secgroup_id
63568                     The ID of the security group for which to gather informa‐
63569                     tion. Can be used instead of name.
63570
63571              CLI Example:
63572
63573                 salt-cloud -f secgroup_info opennebula name=my-secgroup
63574                 salt-cloud --function secgroup_info opennebula secgroup_id=5
63575
63576       salt.cloud.clouds.opennebula.secgroup_update(call=None, kwargs=None)
63577              Replaces the security group template contents.
63578
63579              New in version 2016.3.0.
63580
63581
63582              secgroup_id
63583                     The  ID  of  the  security  group  to update. Can be used
63584                     instead of secgroup_name.
63585
63586              secgroup_name
63587                     The name of the security group to  update.  Can  be  used
63588                     instead of secgroup_id.
63589
63590              path   The  path  to a file containing the template of the secu‐
63591                     rity group. Syntax within  the  file  can  be  the  usual
63592                     attribute=value or XML. Can be used instead of data.
63593
63594              data   The  template  data  of the security group. Syntax can be
63595                     the usual attribute=value or XML. Can be used instead  of
63596                     path.
63597
63598              update_type
63599                     There  are  two  ways to update a security group: replace
63600                     the whole template or merge the  new  template  with  the
63601                     existing one.
63602
63603              CLI Example:
63604
63605                 salt-cloud --function secgroup_update opennebula secgroup_id=100 \
63606                     path=/path/to/secgroup_update_file.txt \
63607                     update_type=replace
63608                 salt-cloud -f secgroup_update opennebula secgroup_name=my-secgroup update_type=merge \
63609                     data="Name = test RULE = [PROTOCOL = TCP, RULE_TYPE = inbound, RANGE = 1000:2000]"
63610
63611       salt.cloud.clouds.opennebula.show_instance(name, call=None)
63612              Show the details from OpenNebula concerning a named VM.
63613
63614              name   The name of the VM for which to display details.
63615
63616              call   Type of call to use with this function such as function.
63617
63618              CLI Example:
63619
63620                 salt-cloud --action show_instance vm_name
63621                 salt-cloud -a show_instance vm_name
63622
63623       salt.cloud.clouds.opennebula.start(name, call=None)
63624              Start a VM.
63625
63626              New in version 2016.3.0.
63627
63628
63629              name   The name of the VM to start.
63630
63631              CLI Example:
63632
63633                 salt-cloud -a start my-vm
63634
63635       salt.cloud.clouds.opennebula.stop(name, call=None)
63636              Stop a VM.
63637
63638              New in version 2016.3.0.
63639
63640
63641              name   The name of the VM to stop.
63642
63643              CLI Example:
63644
63645                 salt-cloud -a stop my-vm
63646
63647       salt.cloud.clouds.opennebula.template_allocate(call=None, kwargs=None)
63648              Allocates a new template in OpenNebula.
63649
63650              New in version 2016.3.0.
63651
63652
63653              path   The  path  to  a file containing the elements of the tem‐
63654                     plate to be allocated.  Syntax within the file can be the
63655                     usual  attribute=value  or  XML.  Can  be used instead of
63656                     data.
63657
63658              data   Contains the elements of the template  to  be  allocated.
63659                     Syntax  can  be  the usual attribute=value or XML. Can be
63660                     used instead of path.
63661
63662              CLI Example:
63663
63664                 salt-cloud -f template_allocate opennebula path=/path/to/template_file.txt
63665                 salt-cloud -f template_allocate opennebula \
63666                     data='CPU="1.0" DISK=[IMAGE="Ubuntu-14.04"] GRAPHICS=[LISTEN="0.0.0.0",TYPE="vnc"] \
63667                     MEMORY="1024" NETWORK="yes" NIC=[NETWORK="192net",NETWORK_UNAME="oneadmin"] \
63668                     OS=[ARCH="x86_64"] SUNSTONE_CAPACITY_SELECT="YES" SUNSTONE_NETWORK_SELECT="YES" \
63669                     VCPU="1"'
63670
63671       salt.cloud.clouds.opennebula.template_clone(call=None, kwargs=None)
63672              Clones an existing virtual machine template.
63673
63674              New in version 2016.3.0.
63675
63676
63677              name   The name of the new template.
63678
63679              template_id
63680                     The ID of the template to be cloned. Can be used  instead
63681                     of template_name.
63682
63683              template_name
63684                     The  name  of  the  template  to  be  cloned. Can be used
63685                     instead of template_id.
63686
63687              clone_images
63688                     Optional, defaults to  False.  Indicates  if  the  images
63689                     attached to the template should be cloned as well.
63690
63691              CLI Example:
63692
63693                 salt-cloud -f template_clone opennebula name=my-new-template template_id=0
63694                 salt-cloud -f template_clone opennebula name=my-new-template template_name=my-template
63695
63696       salt.cloud.clouds.opennebula.template_delete(call=None, kwargs=None)
63697              Deletes  the  given template from OpenNebula. Either a name or a
63698              template_id must be supplied.
63699
63700              New in version 2016.3.0.
63701
63702
63703              name   The name of the template to delete. Can be  used  instead
63704                     of template_id.
63705
63706              template_id
63707                     The  ID of the template to delete. Can be used instead of
63708                     name.
63709
63710              CLI Example:
63711
63712                 salt-cloud -f template_delete opennebula name=my-template
63713                 salt-cloud --function template_delete opennebula template_id=5
63714
63715       salt.cloud.clouds.opennebula.template_instantiate(call=None,
63716       kwargs=None)
63717              Instantiates a new virtual machine from a template.
63718
63719              New in version 2016.3.0.
63720
63721
63722              NOTE:
63723                 template_instantiate  creates  a VM on OpenNebula from a tem‐
63724                 plate, but it does not install Salt on the new  VM.  Use  the
63725                 create  function  for that functionality: salt-cloud -p open‐
63726                 nebula-profile vm-name.
63727
63728              vm_name
63729                     Name for the new VM instance.
63730
63731              template_id
63732                     The ID of the template from which the VM will be created.
63733                     Can be used instead of template_name.
63734
63735              template_name
63736                     The  name  of the template from which the VM will be cre‐
63737                     ated. Can be used instead of template_id.
63738
63739              CLI Example:
63740
63741                 salt-cloud -f template_instantiate opennebula vm_name=my-new-vm template_id=0
63742
63743       salt.cloud.clouds.opennebula.template_update(call=None, kwargs=None)
63744              Replaces the template contents.
63745
63746              New in version 2016.3.0.
63747
63748
63749              template_id
63750                     The ID of the template to update. Can be used instead  of
63751                     template_name.
63752
63753              template_name
63754                     The  name  of the template to update. Can be used instead
63755                     of template_id.
63756
63757              path   The path to a file containing the elements  of  the  tem‐
63758                     plate  to  be updated.  Syntax within the file can be the
63759                     usual attribute=value or XML.  Can  be  used  instead  of
63760                     data.
63761
63762              data   Contains the elements of the template to be updated. Syn‐
63763                     tax can be the usual attribute=value or XML. Can be  used
63764                     instead of path.
63765
63766              update_type
63767                     There  are  two  ways  to  update a template: replace the
63768                     whole template or merge the new template with the  exist‐
63769                     ing one.
63770
63771              CLI Example:
63772
63773                 salt-cloud --function template_update opennebula template_id=1 update_type=replace \
63774                     path=/path/to/template_update_file.txt
63775                 salt-cloud -f template_update opennebula template_name=my-template update_type=merge \
63776                     data='CPU="1.0" DISK=[IMAGE="Ubuntu-14.04"] GRAPHICS=[LISTEN="0.0.0.0",TYPE="vnc"] \
63777                     MEMORY="1024" NETWORK="yes" NIC=[NETWORK="192net",NETWORK_UNAME="oneadmin"] \
63778                     OS=[ARCH="x86_64"] SUNSTONE_CAPACITY_SELECT="YES" SUNSTONE_NETWORK_SELECT="YES" \
63779                     VCPU="1"'
63780
63781       salt.cloud.clouds.opennebula.vm_action(name, kwargs=None, call=None)
63782              Submits an action to be performed on a given virtual machine.
63783
63784              New in version 2016.3.0.
63785
63786
63787              name   The name of the VM to action.
63788
63789              action
63790
63791                     The  action  to be performed on the VM. Available options
63792                     include:
63793
63794                            · boot
63795
63796                            · delete
63797
63798                            · delete-recreate
63799
63800                            · hold
63801
63802                            · poweroff
63803
63804                            · poweroff-hard
63805
63806                            · reboot
63807
63808                            · reboot-hard
63809
63810                            · release
63811
63812                            · resched
63813
63814                            · resume
63815
63816                            · shutdown
63817
63818                            · shutdown-hard
63819
63820                            · stop
63821
63822                            · suspend
63823
63824                            · undeploy
63825
63826                            · undeploy-hard
63827
63828                            · unresched
63829
63830              CLI Example:
63831
63832                 salt-cloud -a vm_action my-vm action='release'
63833
63834       salt.cloud.clouds.opennebula.vm_allocate(call=None, kwargs=None)
63835              Allocates a new virtual machine in OpenNebula.
63836
63837              New in version 2016.3.0.
63838
63839
63840              path   The path to a file defining the template  of  the  VM  to
63841                     allocate.   Syntax  within  the  file  can  be  the usual
63842                     attribute=value or XML.  Can be used instead of data.
63843
63844              data   Contains the template definitions of the VM to  allocate.
63845                     Syntax  can  be  the usual attribute=value or XML. Can be
63846                     used instead of path.
63847
63848              hold   If this parameter is set to True, the VM will be  created
63849                     in  the  HOLD state. If not set, the VM is created in the
63850                     PENDING state. Default is False.
63851
63852              CLI Example:
63853
63854                 salt-cloud -f vm_allocate path=/path/to/vm_template.txt
63855                 salt-cloud --function vm_allocate path=/path/to/vm_template.txt hold=True
63856
63857       salt.cloud.clouds.opennebula.vm_attach(name, kwargs=None, call=None)
63858              Attaches a new disk to the given virtual machine.
63859
63860              New in version 2016.3.0.
63861
63862
63863              name   The name of the VM for which to attach the new disk.
63864
63865              path   The path to  a  file  containing  a  single  disk  vector
63866                     attribute.   Syntax  within  the  file  can  be the usual
63867                     attribute=value or XML.  Can be used instead of data.
63868
63869              data   Contains the data needed to attach a single  disk  vector
63870                     attribute.   Syntax  can  be the usual attribute=value or
63871                     XML. Can be used instead of path.
63872
63873              CLI Example:
63874
63875                 salt-cloud -a vm_attach my-vm path=/path/to/disk_file.txt
63876                 salt-cloud -a vm_attach my-vm data="DISK=[DISK_ID=1]"
63877
63878       salt.cloud.clouds.opennebula.vm_attach_nic(name,           kwargs=None,
63879       call=None)
63880              Attaches a new network interface to the given virtual machine.
63881
63882              New in version 2016.3.0.
63883
63884
63885              name   The  name  of  the VM for which to attach the new network
63886                     interface.
63887
63888              path   The path  to  a  file  containing  a  single  NIC  vector
63889                     attribute.   Syntax  within  the  file  can  be the usual
63890                     attribute=value or XML. Can be used instead of data.
63891
63892              data   Contains the single NIC vector attribute to attach to the
63893                     VM.   Syntax can be the usual attribute=value or XML. Can
63894                     be used instead of path.
63895
63896              CLI Example:
63897
63898                 salt-cloud -a vm_attach_nic my-vm path=/path/to/nic_file.txt
63899                 salt-cloud -a vm_attach_nic my-vm data="NIC=[NETWORK_ID=1]"
63900
63901       salt.cloud.clouds.opennebula.vm_deploy(name, kwargs=None, call=None)
63902              Initiates the instance of the given VM on the target host.
63903
63904              New in version 2016.3.0.
63905
63906
63907              name   The name of the VM to deploy.
63908
63909              host_id
63910                     The ID of the target host where the VM will be  deployed.
63911                     Can be used instead of host_name.
63912
63913              host_name
63914                     The  name  of  the  target  host  where  the  VM  will be
63915                     deployed. Can be used instead of host_id.
63916
63917              capacity_maintained
63918                     True to enforce the Host capacity is not  over-committed.
63919                     This  parameter  is  only  acknowledged  for users in the
63920                     oneadmin group. Host capacity will be always enforced for
63921                     regular users.
63922
63923              datastore_id
63924                     The  ID of the target system data-store where the VM will
63925                     be deployed. Optional and can be used instead  of  datas‐
63926                     tore_name. If neither datastore_id nor datastore_name are
63927                     set, OpenNebula will choose the data-store.
63928
63929              datastore_name
63930                     The name of the target system  data-store  where  the  VM
63931                     will  be  deployed.  Optional, and can be used instead of
63932                     datastore_id. If neither datastore_id nor  datastore_name
63933                     are set, OpenNebula will choose the data-store.
63934
63935              CLI Example:
63936
63937                 salt-cloud -a vm_deploy my-vm host_id=0
63938                 salt-cloud -a vm_deploy my-vm host_id=1 capacity_maintained=False
63939                 salt-cloud -a vm_deploy my-vm host_name=host01 datastore_id=1
63940                 salt-cloud -a vm_deploy my-vm host_name=host01 datastore_name=default
63941
63942       salt.cloud.clouds.opennebula.vm_detach(name, kwargs=None, call=None)
63943              Detaches a disk from a virtual machine.
63944
63945              New in version 2016.3.0.
63946
63947
63948              name   The name of the VM from which to detach the disk.
63949
63950              disk_id
63951                     The ID of the disk to detach.
63952
63953              CLI Example:
63954
63955                 salt-cloud -a vm_detach my-vm disk_id=1
63956
63957       salt.cloud.clouds.opennebula.vm_detach_nic(name,           kwargs=None,
63958       call=None)
63959              Detaches a disk from a virtual machine.
63960
63961              New in version 2016.3.0.
63962
63963
63964              name   The name of the VM  from  which  to  detach  the  network
63965                     interface.
63966
63967              nic_id The ID of the nic to detach.
63968
63969              CLI Example:
63970
63971                 salt-cloud -a vm_detach_nic my-vm nic_id=1
63972
63973       salt.cloud.clouds.opennebula.vm_disk_save(name, kwargs=None, call=None)
63974              Sets the disk to be saved in the given image.
63975
63976              New in version 2016.3.0.
63977
63978
63979              name   The name of the VM containing the disk to save.
63980
63981              disk_id
63982                     The ID of the disk to save.
63983
63984              image_name
63985                     The name of the new image where the disk will be saved.
63986
63987              image_type
63988                     The  type for the new image. If not set, then the default
63989                     ONED  Configuration  will  be  used.  Other  valid  types
63990                     include:  OS, CDROM, DATABLOCK, KERNEL, RAMDISK, and CON‐
63991                     TEXT.
63992
63993              snapshot_id
63994                     The ID of the snapshot to export. If not set, the current
63995                     image state will be used.
63996
63997              CLI Example:
63998
63999                 salt-cloud -a vm_disk_save my-vm disk_id=1 image_name=my-new-image
64000                 salt-cloud -a vm_disk_save my-vm disk_id=1 image_name=my-new-image image_type=CONTEXT snapshot_id=10
64001
64002       salt.cloud.clouds.opennebula.vm_disk_snapshot_create(name, kwargs=None,
64003       call=None)
64004              Takes a new snapshot of the disk image.
64005
64006              New in version 2016.3.0.
64007
64008
64009              name   The name of the VM of which to take the snapshot.
64010
64011              disk_id
64012                     The ID of the disk to save.
64013
64014              description
64015                     The description for the snapshot.
64016
64017              CLI Example:
64018
64019                 salt-cloud -a vm_disk_snapshot_create my-vm disk_id=0 description="My Snapshot Description"
64020
64021       salt.cloud.clouds.opennebula.vm_disk_snapshot_delete(name, kwargs=None,
64022       call=None)
64023              Deletes a disk snapshot based on the given VM and the disk_id.
64024
64025              New in version 2016.3.0.
64026
64027
64028              name   The name of the VM containing the snapshot to delete.
64029
64030              disk_id
64031                     The ID of the disk to save.
64032
64033              snapshot_id
64034                     The ID of the snapshot to be deleted.
64035
64036              CLI Example:
64037
64038                 salt-cloud -a vm_disk_snapshot_delete my-vm disk_id=0 snapshot_id=6
64039
64040       salt.cloud.clouds.opennebula.vm_disk_snapshot_revert(name, kwargs=None,
64041       call=None)
64042              Reverts a disk state to a previously taken snapshot.
64043
64044              New in version 2016.3.0.
64045
64046
64047              name   The name of the VM containing the snapshot.
64048
64049              disk_id
64050                     The ID of the disk to revert its state.
64051
64052              snapshot_id
64053                     The ID of the snapshot to which the  snapshot  should  be
64054                     reverted.
64055
64056              CLI Example:
64057
64058                 salt-cloud -a vm_disk_snapshot_revert my-vm disk_id=0 snapshot_id=6
64059
64060       salt.cloud.clouds.opennebula.vm_info(name, call=None)
64061              Retrieves  information  for  a  given virtual machine. A VM name
64062              must be supplied.
64063
64064              New in version 2016.3.0.
64065
64066
64067              name   The name of the VM for which to gather information.
64068
64069              CLI Example:
64070
64071                 salt-cloud -a vm_info my-vm
64072
64073       salt.cloud.clouds.opennebula.vm_migrate(name, kwargs=None, call=None)
64074              Migrates the specified virtual machine to the  specified  target
64075              host.
64076
64077              New in version 2016.3.0.
64078
64079
64080              name   The name of the VM to migrate.
64081
64082              host_id
64083                     The  ID of the host to which the VM will be migrated. Can
64084                     be used instead of host_name.
64085
64086              host_name
64087                     The name of the host to which the VM  will  be  migrated.
64088                     Can be used instead of host_id.
64089
64090              live_migration
64091                     If  set  to  True,  a  live-migration  will be performed.
64092                     Default is False.
64093
64094              capacity_maintained
64095                     True to enforce the Host capacity is not  over-committed.
64096                     This  parameter  is  only  acknowledged  for users in the
64097                     oneadmin group. Host capacity will be always enforced for
64098                     regular users.
64099
64100              datastore_id
64101                     The  target  system  data-store  ID  where the VM will be
64102                     migrated. Can be used instead of datastore_name.
64103
64104              datastore_name
64105                     The name of the data-store target  system  where  the  VM
64106                     will be migrated. Can be used instead of datastore_id.
64107
64108              CLI Example:
64109
64110                 salt-cloud -a vm_migrate my-vm host_id=0 datastore_id=1
64111                 salt-cloud -a vm_migrate my-vm host_id=0 datastore_id=1 live_migration=True
64112                 salt-cloud -a vm_migrate my-vm host_name=host01 datastore_name=default
64113
64114       salt.cloud.clouds.opennebula.vm_monitoring(name, call=None)
64115              Returns the monitoring records for a given virtual machine. A VM
64116              name must be supplied.
64117
64118              The monitoring information returned is a list  of  VM  elements.
64119              Each  VM element contains the complete dictionary of the VM with
64120              the updated information returned by the poll action.
64121
64122              New in version 2016.3.0.
64123
64124
64125              name   The name  of  the  VM  for  which  to  gather  monitoring
64126                     records.
64127
64128              CLI Example:
64129
64130                 salt-cloud -a vm_monitoring my-vm
64131
64132       salt.cloud.clouds.opennebula.vm_resize(name, kwargs=None, call=None)
64133              Changes the capacity of the virtual machine.
64134
64135              New in version 2016.3.0.
64136
64137
64138              name   The name of the VM to resize.
64139
64140              path   The  path to a file containing new capacity elements CPU,
64141                     VCPU, MEMORY. If one of them is not present, or its value
64142                     is 0, the VM will not be re-sized. Syntax within the file
64143                     can be the usual attribute=value  or  XML.  Can  be  used
64144                     instead of data.
64145
64146              data   Contains the new capacity elements CPU, VCPU, and MEMORY.
64147                     If one of them is not present, or its value is 0, the  VM
64148                     will not be re-sized. Can be used instead of path.
64149
64150              capacity_maintained
64151                     True  to enforce the Host capacity is not over-committed.
64152                     This parameter is only  acknowledged  for  users  in  the
64153                     oneadmin group. Host capacity will be always enforced for
64154                     regular users.
64155
64156              CLI Example:
64157
64158                 salt-cloud -a vm_resize my-vm path=/path/to/capacity_template.txt
64159                 salt-cloud -a vm_resize my-vm path=/path/to/capacity_template.txt capacity_maintained=False
64160                 salt-cloud -a vm_resize my-vm data="CPU=1 VCPU=1 MEMORY=1024"
64161
64162       salt.cloud.clouds.opennebula.vm_snapshot_create(vm_name,   kwargs=None,
64163       call=None)
64164              Creates a new virtual machine snapshot from the provided VM.
64165
64166              New in version 2016.3.0.
64167
64168
64169              vm_name
64170                     The name of the VM from which to create the snapshot.
64171
64172              snapshot_name
64173                     The name of the snapshot to be created.
64174
64175              CLI Example:
64176
64177                 salt-cloud -a vm_snapshot_create my-vm snapshot_name=my-new-snapshot
64178
64179       salt.cloud.clouds.opennebula.vm_snapshot_delete(vm_name,   kwargs=None,
64180       call=None)
64181              Deletes a virtual machine snapshot from the provided VM.
64182
64183              New in version 2016.3.0.
64184
64185
64186              vm_name
64187                     The name of the VM from which to delete the snapshot.
64188
64189              snapshot_id
64190                     The ID of the snapshot to be deleted.
64191
64192              CLI Example:
64193
64194                 salt-cloud -a vm_snapshot_delete my-vm snapshot_id=8
64195
64196       salt.cloud.clouds.opennebula.vm_snapshot_revert(vm_name,   kwargs=None,
64197       call=None)
64198              Reverts a virtual machine to a snapshot
64199
64200              New in version 2016.3.0.
64201
64202
64203              vm_name
64204                     The name of the VM to revert.
64205
64206              snapshot_id
64207                     The snapshot ID.
64208
64209              CLI Example:
64210
64211                 salt-cloud -a vm_snapshot_revert my-vm snapshot_id=42
64212
64213       salt.cloud.clouds.opennebula.vm_update(name, kwargs=None, call=None)
64214              Replaces the user template contents.
64215
64216              New in version 2016.3.0.
64217
64218
64219              name   The name of the VM to update.
64220
64221              path   The path to a file containing new user template contents.
64222                     Syntax within the file can be the  usual  attribute=value
64223                     or XML. Can be used instead of data.
64224
64225              data   Contains  the  new  user template contents. Syntax can be
64226                     the usual attribute=value or XML. Can be used instead  of
64227                     path.
64228
64229              update_type
64230                     There are two ways to update a VM: replace the whole tem‐
64231                     plate or merge the new template with the existing one.
64232
64233              CLI Example:
64234
64235                 salt-cloud -a vm_update my-vm path=/path/to/user_template_file.txt update_type='replace'
64236
64237       salt.cloud.clouds.opennebula.vn_add_ar(call=None, kwargs=None)
64238              Adds address ranges to a given virtual network.
64239
64240              New in version 2016.3.0.
64241
64242
64243              vn_id  The ID of the virtual network to add the  address  range.
64244                     Can be used instead of vn_name.
64245
64246              vn_name
64247                     The name of the virtual network to add the address range.
64248                     Can be used instead of vn_id.
64249
64250              path   The path to a file containing the template of the address
64251                     range  to  add.   Syntax within the file can be the usual
64252                     attribute=value or XML. Can be used instead of data.
64253
64254              data   Contains the template of the address range to add. Syntax
64255                     can  be  the  usual  attribute=value  or XML. Can be used
64256                     instead of path.
64257
64258              CLI Example:
64259
64260                 salt-cloud -f vn_add_ar opennebula vn_id=3 path=/path/to/address_range.txt
64261                 salt-cloud -f vn_add_ar opennebula vn_name=my-vn \
64262                     data="AR=[TYPE=IP4, IP=192.168.0.5, SIZE=10]"
64263
64264       salt.cloud.clouds.opennebula.vn_allocate(call=None, kwargs=None)
64265              Allocates a new virtual network in OpenNebula.
64266
64267              New in version 2016.3.0.
64268
64269
64270              path   The path to a file containing the template of the virtual
64271                     network  to  allocate.  Syntax within the file can be the
64272                     usual attribute=value or XML.  Can  be  used  instead  of
64273                     data.
64274
64275              data   Contains the template of the virtual network to allocate.
64276                     Syntax can be the usual attribute=value or  XML.  Can  be
64277                     used instead of path.
64278
64279              cluster_id
64280                     The  ID  of  the cluster for which to add the new virtual
64281                     network. Can be used instead of cluster_name. If  neither
64282                     cluster_id  nor  cluster_name  are  provided, the virtual
64283                     network won’t be added to any cluster.
64284
64285              cluster_name
64286                     The name of the cluster for which to add the new  virtual
64287                     network.  Can  be  used instead of cluster_id. If neither
64288                     cluster_name nor cluster_id  are  provided,  the  virtual
64289                     network won't be added to any cluster.
64290
64291              CLI Example:
64292
64293                 salt-cloud -f vn_allocate opennebula path=/path/to/vn_file.txt
64294
64295       salt.cloud.clouds.opennebula.vn_delete(call=None, kwargs=None)
64296              Deletes the given virtual network from OpenNebula. Either a name
64297              or a vn_id must be supplied.
64298
64299              New in version 2016.3.0.
64300
64301
64302              name   The name of the virtual network to delete.  Can  be  used
64303                     instead of vn_id.
64304
64305              vn_id  The  ID  of  the  virtual  network to delete. Can be used
64306                     instead of name.
64307
64308              CLI Example:
64309
64310                 salt-cloud -f vn_delete opennebula name=my-virtual-network
64311                 salt-cloud --function vn_delete opennebula vn_id=3
64312
64313       salt.cloud.clouds.opennebula.vn_free_ar(call=None, kwargs=None)
64314              Frees a reserved address range from a virtual network.
64315
64316              New in version 2016.3.0.
64317
64318
64319              vn_id  The ID of the virtual  network  from  which  to  free  an
64320                     address range.  Can be used instead of vn_name.
64321
64322              vn_name
64323                     The  name  of  the  virtual network from which to free an
64324                     address range.  Can be used instead of vn_id.
64325
64326              ar_id  The ID of the address range to free.
64327
64328              CLI Example:
64329
64330                 salt-cloud -f vn_free_ar opennebula vn_id=3 ar_id=1
64331                 salt-cloud -f vn_free_ar opennebula vn_name=my-vn ar_id=1
64332
64333       salt.cloud.clouds.opennebula.vn_hold(call=None, kwargs=None)
64334              Holds a virtual network lease as used.
64335
64336              New in version 2016.3.0.
64337
64338
64339              vn_id  The ID of the virtual network  from  which  to  hold  the
64340                     lease. Can be used instead of vn_name.
64341
64342              vn_name
64343                     The  name  of  the virtual network from which to hold the
64344                     lease. Can be used instead of vn_id.
64345
64346              path   The path to a file defining the template of the lease  to
64347                     hold.    Syntax   within   the  file  can  be  the  usual
64348                     attribute=value or XML. Can be used instead of data.
64349
64350              data   Contains the template of the lease to hold. Syntax can be
64351                     the  usual attribute=value or XML. Can be used instead of
64352                     path.
64353
64354              CLI Example:
64355
64356                 salt-cloud -f vn_hold opennebula vn_id=3 path=/path/to/vn_hold_file.txt
64357                 salt-cloud -f vn_hold opennebula vn_name=my-vn data="LEASES=[IP=192.168.0.5]"
64358
64359       salt.cloud.clouds.opennebula.vn_info(call=None, kwargs=None)
64360              Retrieves information for the virtual network.
64361
64362              New in version 2016.3.0.
64363
64364
64365              name   The name of the  virtual  network  for  which  to  gather
64366                     information. Can be used instead of vn_id.
64367
64368              vn_id  The  ID of the virtual network for which to gather infor‐
64369                     mation. Can be used instead of name.
64370
64371              CLI Example:
64372
64373                 salt-cloud -f vn_info opennebula vn_id=3
64374                 salt-cloud --function vn_info opennebula name=public
64375
64376       salt.cloud.clouds.opennebula.vn_release(call=None, kwargs=None)
64377              Releases a virtual network lease that was previously on hold.
64378
64379              New in version 2016.3.0.
64380
64381
64382              vn_id  The ID of the virtual network from which to  release  the
64383                     lease. Can be used instead of vn_name.
64384
64385              vn_name
64386                     The name of the virtual network from which to release the
64387                     lease.  Can be used instead of vn_id.
64388
64389              path   The path to a file defining the template of the lease  to
64390                     release.   Syntax  within  the  file  can  be  the  usual
64391                     attribute=value or XML. Can be used instead of data.
64392
64393              data   Contains the template defining the lease to release. Syn‐
64394                     tax  can be the usual attribute=value or XML. Can be used
64395                     instead of path.
64396
64397              CLI Example:
64398
64399                 salt-cloud -f vn_release opennebula vn_id=3 path=/path/to/vn_release_file.txt
64400                 salt-cloud =f vn_release opennebula vn_name=my-vn data="LEASES=[IP=192.168.0.5]"
64401
64402       salt.cloud.clouds.opennebula.vn_reserve(call=None, kwargs=None)
64403              Reserve network addresses.
64404
64405              New in version 2016.3.0.
64406
64407
64408              vn_id  The ID of the  virtual  network  from  which  to  reserve
64409                     addresses. Can be used instead of vn_name.
64410
64411              vn_name
64412                     The  name  of  the  virtual network from which to reserve
64413                     addresses. Can be used instead of vn_id.
64414
64415              path   The path to a file defining the template of  the  address
64416                     reservation.   Syntax  within  the  file can be the usual
64417                     attribute=value or XML. Can be used instead of data.
64418
64419              data   Contains the template defining the  address  reservation.
64420                     Syntax can be the usual attribute=value or XML. Data pro‐
64421                     vided must be wrapped  in  double  quotes.  Can  be  used
64422                     instead of path.
64423
64424              CLI Example:
64425
64426                 salt-cloud -f vn_reserve opennebula vn_id=3 path=/path/to/vn_reserve_file.txt
64427                 salt-cloud -f vn_reserve opennebula vn_name=my-vn data="SIZE=10 AR_ID=8 NETWORK_ID=1"
64428
64429   salt.cloud.clouds.openstack
64430   Openstack Cloud Driver
64431       depends
64432              shade
64433
64434       OpenStack  is an open source project that is in use by a number a cloud
64435       providers, each of which have their own ways of using it.
64436
64437       This OpenStack driver uses a the shade python module which  is  managed
64438       by  the OpenStack Infra team.  This module is written to handle all the
64439       different versions of different OpenStack tools for salt, so most  com‐
64440       mands are just passed over to the module to handle everything.
64441
64442   Provider
64443       There  are  two ways to configure providers for this driver.  The first
64444       one is to  just  let  shade  handle  everything,  and  configure  using
64445       os-client-config and setting up /etc/openstack/clouds.yml.
64446
64447          clouds:
64448            democloud:
64449              region_name: RegionOne
64450              auth:
64451                username: 'demo'
64452                password: secret
64453                project_name: 'demo'
64454                auth_url: 'http://openstack/identity'
64455
64456       And then this can be referenced in the salt provider based on the demo‐
64457       cloud name.
64458
64459          myopenstack:
64460            driver: openstack
64461            cloud: democloud
64462            region_name: RegionOne
64463
64464       This allows for just using one configuration for salt-cloud and for any
64465       other openstack tools which are all using /etc/openstack/clouds.yml
64466
64467       The  other method allows for specifying everything in the provider con‐
64468       fig, instead of using the extra configuration file.   This  will  allow
64469       for passing salt-cloud configs only through pillars for minions without
64470       having to write a clouds.yml file on each minion.abs
64471
64472          myopenstack:
64473            driver: openstack
64474            region_name: RegionOne
64475            auth:
64476              username: 'demo'
64477              password: secret
64478              project_name: 'demo'
64479              auth_url: 'http://openstack/identity'
64480
64481       Or if you need to use a profile to setup some extra stuff,  it  can  be
64482       passed as a profile to use any of the vendor config options.
64483
64484          myrackspace:
64485            driver: openstack
64486            profile: rackspace
64487            auth:
64488              username: rackusername
64489              api_key: myapikey
64490            region_name: ORD
64491            auth_type: rackspace_apikey
64492
64493       And  this will pull in the profile for rackspace and setup all the cor‐
64494       rect options for the auth_url and different api versions for services.
64495
64496   Profile
64497       Most of the options for building servers are  just  passed  on  to  the
64498       create_server function from shade.
64499
64500       The salt specific ones are:
64501
64502          · ssh_key_file: The path to the ssh key that should be used to login
64503            to the machine to bootstrap it
64504
64505          · ssh_key_file: The name of the keypair in openstack
64506
64507          · userdata_template: The renderer to use if the userdata is  a  file
64508            that is templated. Default: False
64509
64510          · ssh_interface:  The  interface  to use to login for bootstrapping:
64511            public_ips, private_ips, floating_ips, fixed_ips
64512
64513          centos:
64514            provider: myopenstack
64515            image: CentOS 7
64516            size: ds1G
64517            ssh_key_name: mykey
64518            ssh_key_file: /root/.ssh/id_rsa
64519
64520       This is the minimum setup required.
64521
64522       If metadata is set to make sure that the host has finished  setting  up
64523       the wait_for_metadata can be set.
64524
64525          centos:
64526            provider: myopenstack
64527            image: CentOS 7
64528            size: ds1G
64529            ssh_key_name: mykey
64530            ssh_key_file: /root/.ssh/id_rsa
64531            meta:
64532              build_config: rack_user_only
64533            wait_for_metadata:
64534              rax_service_level_automation: Complete
64535              rackconnect_automation_status: DEPLOYED
64536
64537       Anything else from the create_server docs can be passed through here.
64538
64539       ·
64540
64541         image: Image dict, name or ID to boot with. image is required
64542                unless boot_volume is given.
64543
64544       · flavor: Flavor dict, name or ID to boot onto.
64545
64546       ·
64547
64548         auto_ip: Whether to take actions to find a routable IP for
64549                the server. (defaults to True)
64550
64551       · ips: List of IPs to attach to the server (defaults to None)
64552
64553       ·
64554
64555         ip_pool: Name of the network or floating IP pool to get an
64556                address from. (defaults to None)
64557
64558       ·
64559
64560         root_volume: Name or ID of a volume to boot from
64561                (defaults to None - deprecated, use boot_volume)
64562
64563       ·
64564
64565         boot_volume: Name or ID of a volume to boot from
64566                (defaults to None)
64567
64568       ·
64569
64570         terminate_volume: If booting from a volume, whether it should
64571                be deleted when the server is destroyed.  (defaults to False)
64572
64573       · volumes: (optional) A list of volumes to attach to the server
64574
64575       ·
64576
64577         meta: (optional) A dict of arbitrary key/value metadata to
64578                store  for  this  server.  Both  keys and values must be <=255
64579                characters.
64580
64581       ·
64582
64583         files: (optional, deprecated) A dict of files to overwrite
64584                on  the  server  upon  boot.  Keys  are   file   names   (i.e.
64585                /etc/passwd)  and  values  are  the file contents (either as a
64586                string or as a file-like object). A maximum of five entries is
64587                allowed, and each file must be 10k or less.
64588
64589       · reservation_id: a UUID for the set of servers being requested.
64590
64591       ·
64592
64593         min_count: (optional extension) The minimum number of
64594                servers to launch.
64595
64596       ·
64597
64598         max_count: (optional extension) The maximum number of
64599                servers to launch.
64600
64601       · security_groups: A list of security group names
64602
64603       ·
64604
64605         userdata: user data to pass to be exposed by the metadata
64606                server this can be a file type object as well or a string.
64607
64608       ·
64609
64610         key_name: (optional extension) name of previously created
64611                keypair to inject into the instance.
64612
64613       ·
64614
64615         availability_zone: Name of the availability zone for instance
64616                placement.
64617
64618       ·
64619
64620         block_device_mapping: (optional) A dict of block
64621                device mappings for this server.
64622
64623       ·
64624
64625         block_device_mapping_v2: (optional) A dict of block
64626                device mappings for this server.
64627
64628       ·
64629
64630         nics:  (optional extension) an ordered list of nics to be
64631                added  to  this  server, with information about connected net‐
64632                works, fixed IPs, port etc.
64633
64634       ·
64635
64636         scheduler_hints: (optional extension) arbitrary key-value pairs
64637                specified by the client to help boot an instance
64638
64639       ·
64640
64641         config_drive: (optional extension) value for config drive
64642                either boolean, or volume-id
64643
64644       ·
64645
64646         disk_config: (optional extension) control how the disk is
64647                partitioned when the server is created.  possible  values  are
64648                'AUTO' or 'MANUAL'.
64649
64650       ·
64651
64652         admin_pass: (optional extension) add a user supplied admin
64653                password.
64654
64655       ·
64656
64657         timeout: (optional) Seconds to wait, defaults to 60.
64658                See the wait parameter.
64659
64660       ·
64661
64662         reuse_ips: (optional) Whether to attempt to reuse pre-existing
64663                floating ips should a floating IP be needed (defaults to True)
64664
64665       ·
64666
64667         network: (optional) Network dict or name or ID to attach the
64668                server  to.   Mutually exclusive with the nics parameter.  Can
64669                also be be a list of network names or IDs or network dicts.
64670
64671       ·
64672
64673         boot_from_volume: Whether to boot from volume. 'boot_volume'
64674                implies True, but boot_from_volume=True with no boot_volume is
64675                valid and will create a volume from the image and use that.
64676
64677       ·
64678
64679         volume_size: When booting an image from volume, how big should
64680                the created volume be? Defaults to 50.
64681
64682       ·
64683
64684         nat_destination: Which network should a created floating IP
64685                be attached to, if it's not possible to infer from the cloud's
64686                configuration.  (Optional, defaults to None)
64687
64688       ·
64689
64690         group: ServerGroup dict, name or id to boot the server in.
64691                If a group is provided in  both  scheduler_hints  and  in  the
64692                group param, the group param will win.  (Optional, defaults to
64693                None)
64694
64695       NOTE:
64696          If there is anything added, that is not in  this  list,  it  can  be
64697          added  to  an extras dictionary for the profile, and that will be to
64698          the create_server function.
64699
64700       salt.cloud.clouds.openstack.avail_images(conn=None, call=None)
64701              List available images for OpenStack
64702
64703              CLI Example
64704
64705                 salt-cloud -f avail_images myopenstack
64706                 salt-cloud --list-images myopenstack
64707
64708       salt.cloud.clouds.openstack.avail_sizes(conn=None, call=None)
64709              List available sizes for OpenStack
64710
64711              CLI Example
64712
64713                 salt-cloud -f avail_sizes myopenstack
64714                 salt-cloud --list-sizes myopenstack
64715
64716       salt.cloud.clouds.openstack.call(conn=None, call=None, kwargs=None)
64717              Call function from shade.
64718
64719              func
64720                 function to call from shade.openstackcloud library
64721
64722              CLI Example
64723
64724                 salt-cloud -f call myopenstack func=list_images
64725                 t sujksalt-cloud -f call myopenstack func=create_network name=mysubnet
64726
64727       salt.cloud.clouds.openstack.create(vm_)
64728              Create a single VM from a data dict
64729
64730       salt.cloud.clouds.openstack.destroy(name, conn=None, call=None)
64731              Delete a single VM
64732
64733       salt.cloud.clouds.openstack.get_configured_provider()
64734              Return the first configured instance.
64735
64736       salt.cloud.clouds.openstack.get_conn()
64737              Return a conn object for the passed VM data
64738
64739       salt.cloud.clouds.openstack.get_dependencies()
64740              Warn if dependencies aren't met.
64741
64742       salt.cloud.clouds.openstack.list_networks(conn=None, call=None)
64743              List networks for OpenStack
64744
64745              CLI Example
64746
64747                 salt-cloud -f list_networks myopenstack
64748
64749       salt.cloud.clouds.openstack.list_nodes(conn=None, call=None)
64750              Return a list of VMs
64751
64752              CLI Example
64753
64754                 salt-cloud -f list_nodes myopenstack
64755
64756       salt.cloud.clouds.openstack.list_nodes_full(conn=None, call=None)
64757              Return a list of VMs with all the information about them
64758
64759              CLI Example
64760
64761                 salt-cloud -f list_nodes_full myopenstack
64762
64763       salt.cloud.clouds.openstack.list_nodes_min(conn=None, call=None)
64764              Return a list of VMs with minimal information
64765
64766              CLI Example
64767
64768                 salt-cloud -f list_nodes_min myopenstack
64769
64770       salt.cloud.clouds.openstack.list_nodes_select(conn=None, call=None)
64771              Return a list of VMs with the fields from query.selection
64772
64773              CLI Example
64774
64775                 salt-cloud -f list_nodes_full myopenstack
64776
64777       salt.cloud.clouds.openstack.list_subnets(conn=None,          call=None,
64778       kwargs=None)
64779              List subnets in a virtual network
64780
64781              network
64782                     network to list subnets of
64783
64784                 salt-cloud -f list_subnets myopenstack network=salt-net
64785
64786       salt.cloud.clouds.openstack.preferred_ip(vm_, ips)
64787              Return  the preferred Internet protocol. Either 'ipv4' (default)
64788              or 'ipv6'.
64789
64790       salt.cloud.clouds.openstack.request_instance(vm_, conn=None, call=None)
64791              Request an instance to be built
64792
64793       salt.cloud.clouds.openstack.show_instance(name, conn=None, call=None)
64794              Get VM on this OpenStack account
64795
64796              name
64797                 name of the instance
64798
64799              CLI Example
64800
64801                 salt-cloud -a show_instance myserver
64802
64803       salt.cloud.clouds.openstack.ssh_interface(vm_)
64804              Return the ssh_interface type to connect to. Either 'public_ips'
64805              (default) or 'private_ips'.
64806
64807   salt.cloud.clouds.parallels
64808   Parallels Cloud Module
64809       The Parallels cloud module is used to control access to cloud providers
64810       using the Parallels VPS system.
64811
64812       Set up the cloud configuration at /etc/salt/cloud.providers or
64813              /etc/salt/cloud.providers.d/parallels.conf:
64814
64815          my-parallels-config:
64816            # Parallels account information
64817            user: myuser
64818            password: mypassword
64819            url: https://api.cloud.xmission.com:4465/paci/v1.0/
64820            driver: parallels
64821
64822       salt.cloud.clouds.parallels.avail_images(call=None)
64823              Return a list of the images that are on the provider
64824
64825       salt.cloud.clouds.parallels.create(vm_)
64826              Create a single VM from a data dict
64827
64828       salt.cloud.clouds.parallels.create_node(vm_)
64829              Build and submit the XML to create a node
64830
64831       salt.cloud.clouds.parallels.destroy(name, call=None)
64832              Destroy a node.
64833
64834              CLI Example:
64835
64836                 salt-cloud --destroy mymachine
64837
64838       salt.cloud.clouds.parallels.get_configured_provider()
64839              Return the first configured instance.
64840
64841       salt.cloud.clouds.parallels.get_image(vm_)
64842              Return the image object to use
64843
64844       salt.cloud.clouds.parallels.list_nodes(call=None)
64845              Return a list of the VMs that are on the provider
64846
64847       salt.cloud.clouds.parallels.list_nodes_full(call=None)
64848              Return a list of the VMs that are on the provider
64849
64850       salt.cloud.clouds.parallels.list_nodes_select(call=None)
64851              Return a list of the VMs that are on the provider,  with  select
64852              fields
64853
64854       salt.cloud.clouds.parallels.query(action=None, command=None, args=None,
64855       method=u'GET', data=None)
64856              Make a web call to a Parallels provider
64857
64858       salt.cloud.clouds.parallels.script(vm_)
64859              Return the script deployment object
64860
64861       salt.cloud.clouds.parallels.show_image(kwargs, call=None)
64862              Show the details from Parallels concerning an image
64863
64864       salt.cloud.clouds.parallels.show_instance(name, call=None)
64865              Show the details from Parallels concerning an instance
64866
64867       salt.cloud.clouds.parallels.start(name, call=None)
64868              Start a node.
64869
64870              CLI Example:
64871
64872                 salt-cloud -a start mymachine
64873
64874       salt.cloud.clouds.parallels.stop(name, call=None)
64875              Stop a node.
64876
64877              CLI Example:
64878
64879                 salt-cloud -a stop mymachine
64880
64881       salt.cloud.clouds.parallels.wait_until(name, state, timeout=300)
64882              Wait until a specific state has been reached on  a node
64883
64884   salt.cloud.clouds.profitbricks
64885   ProfitBricks Cloud Module
64886       The ProfitBricks SaltStack cloud module allows a ProfitBricks server to
64887       be automatically deployed and bootstraped with Salt.
64888
64889       depends
64890              profitbrick >= 3.1.0
64891
64892       The  module requires ProfitBricks credentials to be supplied along with
64893       an existing virtual datacenter UUID where  the  server  resources  will
64894       reside. The server should also be assigned a public LAN, a private LAN,
64895       or both along with SSH key pairs.
64896
64897       Set  up  the  cloud  configuration  at   /etc/salt/cloud.providers   or
64898       /etc/salt/cloud.providers.d/profitbricks.conf:
64899
64900          my-profitbricks-config:
64901            driver: profitbricks
64902            # The ProfitBricks login username
64903            username: user@example.com
64904            # The ProfitBricks login password
64905            password: secretpassword
64906            # The ProfitBricks virtual datacenter UUID
64907            datacenter_id: <UUID>
64908            # SSH private key filename
64909            ssh_private_key: /path/to/private.key
64910            # SSH public key filename
64911            ssh_public_key: /path/to/public.key
64912
64913          my-profitbricks-profile:
64914            provider: my-profitbricks-config
64915            # Name of a predefined server size.
64916            size: Micro Instance
64917            # Assign CPU family to server.
64918            cpu_family: INTEL_XEON
64919            # Number of CPU cores to allocate to node (overrides server size).
64920            cores: 4
64921            # Amount of RAM in multiples of 256 MB (overrides server size).
64922            ram: 4096
64923            # The server availability zone.
64924            availability_zone: ZONE_1
64925            # Name or UUID of the HDD image to use.
64926            image: <UUID>
64927            # Image alias could be provided instead of image.
64928            # Example 'ubuntu:latest'
64929            #image_alias: <IMAGE_ALIAS>
64930            # Size of the node disk in GB (overrides server size).
64931            disk_size: 40
64932            # Type of disk (HDD or SSD).
64933            disk_type: SSD
64934            # Storage availability zone to use.
64935            disk_availability_zone: ZONE_2
64936            # Assign the server to the specified public LAN.
64937            public_lan: <ID>
64938            # Assign firewall rules to the network interface.
64939            public_firewall_rules:
64940              SSH:
64941                protocol: TCP
64942                port_range_start: 22
64943                port_range_end: 22
64944            # Assign the server to the specified private LAN.
64945            private_lan: <ID>
64946            # Enable NAT on the private NIC.
64947            nat: true
64948            # Assign additional volumes to the server.
64949            volumes:
64950              data-volume:
64951                disk_size: 500
64952                disk_availability_zone: ZONE_3
64953              log-volume:
64954                disk_size: 50
64955                disk_type: SSD
64956
64957       To use a private IP for connecting and bootstrapping node:
64958
64959          my-profitbricks-profile:
64960            ssh_interface: private_lan
64961
64962       Set deploy to False if Salt should not be installed on the node.
64963
64964          my-profitbricks-profile:
64965            deploy: False
64966
64967       salt.cloud.clouds.profitbricks.avail_images(call=None)
64968              Return a list of the images that are on the provider
64969
64970       salt.cloud.clouds.profitbricks.avail_locations(call=None)
64971              Return  a  dict  of  all  available  VM  locations  on the cloud
64972              provider with relevant data
64973
64974       salt.cloud.clouds.profitbricks.avail_sizes(call=None)
64975              Return a dict of all available VM sizes on  the  cloud  provider
64976              with relevant data. Latest version can be found at:
64977
64978       salt.cloud.clouds.profitbricks.create(vm_)
64979              Create a single VM from a data dict
64980
64981       salt.cloud.clouds.profitbricks.create_datacenter(call=None,
64982       kwargs=None)
64983              Creates a virtual datacenter based on supplied parameters.
64984
64985              CLI Example:
64986
64987                 salt-cloud -f create_datacenter profitbricks name=mydatacenter
64988                 location=us/las description="my description"
64989
64990       salt.cloud.clouds.profitbricks.create_loadbalancer(call=None,
64991       kwargs=None)
64992              Creates  a  loadbalancer within the datacenter from the provider
64993              config.
64994
64995              CLI Example:
64996
64997                 salt-cloud -f create_loadbalancer profitbricks name=mylb
64998
64999       salt.cloud.clouds.profitbricks.destroy(name, call=None)
65000              destroy a machine by name
65001
65002              Parameters
65003
65004                     · name -- name given to the machine
65005
65006                     · call -- call value in this case is 'action'
65007
65008              Returns
65009                     array of booleans , true if successfully stopped and true
65010                     if successfully removed
65011
65012              CLI Example:
65013
65014                 salt-cloud -d vm_name
65015
65016       salt.cloud.clouds.profitbricks.get_configured_provider()
65017              Return the first configured instance.
65018
65019       salt.cloud.clouds.profitbricks.get_conn()
65020              Return a conn object for the passed VM data
65021
65022       salt.cloud.clouds.profitbricks.get_datacenter(conn)
65023              Return the datacenter from the config provider datacenter ID
65024
65025       salt.cloud.clouds.profitbricks.get_datacenter_id()
65026              Return datacenter ID from provider configuration
65027
65028       salt.cloud.clouds.profitbricks.get_dependencies()
65029              Warn if dependencies are not met.
65030
65031       salt.cloud.clouds.profitbricks.get_disk_type(vm_)
65032              Return the type of disk to use. Either 'HDD' (default) or 'SSD'.
65033
65034       salt.cloud.clouds.profitbricks.get_image(vm_)
65035              Return the image object to use
65036
65037       salt.cloud.clouds.profitbricks.get_key_filename(vm_)
65038              Check SSH private key file and return absolute path if exists.
65039
65040       salt.cloud.clouds.profitbricks.get_node(conn, name)
65041              Return a node for the named VM
65042
65043       salt.cloud.clouds.profitbricks.get_public_keys(vm_)
65044              Retrieve list of SSH public keys.
65045
65046       salt.cloud.clouds.profitbricks.get_size(vm_)
65047              Return the VM's size object
65048
65049       salt.cloud.clouds.profitbricks.get_wait_timeout(vm_)
65050              Return the wait_for_timeout for resource provisioning.
65051
65052       salt.cloud.clouds.profitbricks.list_datacenters(conn=None, call=None)
65053              List all the data centers
65054
65055              CLI Example:
65056
65057                 salt-cloud -f list_datacenters my-profitbricks-config
65058
65059       salt.cloud.clouds.profitbricks.list_images(call=None, kwargs=None)
65060              List all the images with alias by location
65061
65062              CLI Example:
65063
65064                 salt-cloud -f list_images my-profitbricks-config location=us/las
65065
65066       salt.cloud.clouds.profitbricks.list_loadbalancers(call=None)
65067              Return a list of the loadbalancers that are on the provider
65068
65069       salt.cloud.clouds.profitbricks.list_nodes(conn=None, call=None)
65070              Return a list of VMs that are on the provider
65071
65072       salt.cloud.clouds.profitbricks.list_nodes_full(conn=None, call=None)
65073              Return  a  list  of  the  VMs that are on the provider, with all
65074              fields
65075
65076       salt.cloud.clouds.profitbricks.reboot(name, call=None)
65077              reboot a machine by name :param name: name given to the  machine
65078              :param  call:  call value in this case is 'action' :return: true
65079              if successful
65080
65081              CLI Example:
65082
65083                 salt-cloud -a reboot vm_name
65084
65085       salt.cloud.clouds.profitbricks.reserve_ipblock(call=None, kwargs=None)
65086              Reserve the IP Block
65087
65088       salt.cloud.clouds.profitbricks.set_public_lan(lan_id)
65089              Enables public Internet access for the specified public_lan.  If
65090              no public LAN is available, then a new public LAN is created.
65091
65092       salt.cloud.clouds.profitbricks.show_instance(name, call=None)
65093              Show the details from the provider concerning an instance
65094
65095       salt.cloud.clouds.profitbricks.signal_event(vm_, event, description)
65096
65097       salt.cloud.clouds.profitbricks.ssh_interface(vm_)
65098              Return the ssh_interface type to connect to. Either 'public_ips'
65099              (default) or 'private_ips'.
65100
65101       salt.cloud.clouds.profitbricks.start(name, call=None)
65102              start a machine by name :param name: name given to  the  machine
65103              :param  call:  call value in this case is 'action' :return: true
65104              if successful
65105
65106              CLI Example:
65107
65108                 salt-cloud -a start vm_name
65109
65110       salt.cloud.clouds.profitbricks.stop(name, call=None)
65111              stop a machine by name :param name: name given  to  the  machine
65112              :param  call:  call value in this case is 'action' :return: true
65113              if successful
65114
65115              CLI Example:
65116
65117                 salt-cloud -a stop vm_name
65118
65119       salt.cloud.clouds.profitbricks.version_compatible(version)
65120              Checks profitbricks version
65121
65122   salt.cloud.clouds.proxmox
65123   Proxmox Cloud Module
65124       New in version 2014.7.0.
65125
65126
65127       The Proxmox cloud module is used to control access to  cloud  providers
65128       using the Proxmox system (KVM / OpenVZ / LXC).
65129
65130       Set up the cloud configuration at /etc/salt/cloud.providers or
65131              /etc/salt/cloud.providers.d/proxmox.conf:
65132
65133          my-proxmox-config:
65134            # Proxmox account information
65135            user: myuser@pam or myuser@pve
65136            password: mypassword
65137            url: hypervisor.domain.tld
65138            driver: proxmox
65139            verify_ssl: True
65140
65141       maintainer
65142              Frank Klaassen <frank@cloudright.nl>
65143
65144       depends
65145              requests >= 2.2.1
65146
65147       depends
65148              IPy >= 0.81
65149
65150       salt.cloud.clouds.proxmox.avail_images(call=None, location=u'local')
65151              Return a list of the images that are on the provider
65152
65153              CLI Example:
65154
65155                 salt-cloud --list-images my-proxmox-config
65156
65157       salt.cloud.clouds.proxmox.avail_locations(call=None)
65158              Return  a list of the hypervisors (nodes) which this Proxmox PVE
65159              machine manages
65160
65161              CLI Example:
65162
65163                 salt-cloud --list-locations my-proxmox-config
65164
65165       salt.cloud.clouds.proxmox.create(vm_)
65166              Create a single VM from a data dict
65167
65168              CLI Example:
65169
65170                 salt-cloud -p proxmox-ubuntu vmhostname
65171
65172       salt.cloud.clouds.proxmox.create_node(vm_, newid)
65173              Build and submit the requestdata to create a new node
65174
65175       salt.cloud.clouds.proxmox.destroy(name, call=None)
65176              Destroy a node.
65177
65178              CLI Example:
65179
65180                 salt-cloud --destroy mymachine
65181
65182       salt.cloud.clouds.proxmox.get_configured_provider()
65183              Return the first configured instance.
65184
65185       salt.cloud.clouds.proxmox.get_dependencies()
65186              Warn if dependencies aren't met.
65187
65188       salt.cloud.clouds.proxmox.get_resources_nodes(call=None,        resFil‐
65189       ter=None)
65190              Retrieve  all  hypervisors (nodes) available on this environment
65191              CLI Example:
65192
65193                 salt-cloud -f get_resources_nodes my-proxmox-config
65194
65195       salt.cloud.clouds.proxmox.get_resources_vms(call=None,  resFilter=None,
65196       includeConfig=True)
65197              Retrieve all VMs available on this environment
65198
65199              CLI Example:
65200
65201                 salt-cloud -f get_resources_vms my-proxmox-config
65202
65203       salt.cloud.clouds.proxmox.get_vm_status(vmid=None, name=None)
65204              Get the status for a VM, either via the ID or the hostname
65205
65206       salt.cloud.clouds.proxmox.get_vmconfig(vmid,                 node=None,
65207       node_type=u'openvz')
65208              Get VM configuration
65209
65210       salt.cloud.clouds.proxmox.list_nodes(call=None)
65211              Return a list of the VMs that are managed by the provider
65212
65213              CLI Example:
65214
65215                 salt-cloud -Q my-proxmox-config
65216
65217       salt.cloud.clouds.proxmox.list_nodes_full(call=None)
65218              Return a list of the VMs that are on the provider
65219
65220              CLI Example:
65221
65222                 salt-cloud -F my-proxmox-config
65223
65224       salt.cloud.clouds.proxmox.list_nodes_select(call=None)
65225              Return a list of the VMs that are on the provider,  with  select
65226              fields
65227
65228              CLI Example:
65229
65230                 salt-cloud -S my-proxmox-config
65231
65232       salt.cloud.clouds.proxmox.query(conn_type, option, post_data=None)
65233              Execute the HTTP request to the API
65234
65235       salt.cloud.clouds.proxmox.script(vm_)
65236              Return the script deployment object
65237
65238       salt.cloud.clouds.proxmox.set_vm_status(status, name=None, vmid=None)
65239              Convenience function for setting VM status
65240
65241       salt.cloud.clouds.proxmox.show_instance(name, call=None)
65242              Show the details from Proxmox concerning an instance
65243
65244       salt.cloud.clouds.proxmox.shutdown(name=None, vmid=None, call=None)
65245              Shutdown a node via ACPI.
65246
65247              CLI Example:
65248
65249                 salt-cloud -a shutdown mymachine
65250
65251       salt.cloud.clouds.proxmox.start(name, vmid=None, call=None)
65252              Start a node.
65253
65254              CLI Example:
65255
65256                 salt-cloud -a start mymachine
65257
65258       salt.cloud.clouds.proxmox.stop(name, vmid=None, call=None)
65259              Stop a node ("pulling the plug").
65260
65261              CLI Example:
65262
65263                 salt-cloud -a stop mymachine
65264
65265       salt.cloud.clouds.proxmox.wait_for_created(upid, timeout=300)
65266              Wait until a the vm has been created successfully
65267
65268       salt.cloud.clouds.proxmox.wait_for_state(vmid, state, timeout=300)
65269              Wait until a specific state has been reached on a node
65270
65271   salt.cloud.clouds.pyrax
65272   Pyrax Cloud Module
65273       PLEASE NOTE: This module is currently in early development, and consid‐
65274       ered to be experimental and unstable. It is not recommended for produc‐
65275       tion  use.  Unless you are actively developing code in this module, you
65276       should use the OpenStack module instead.
65277
65278       salt.cloud.clouds.pyrax.get_configured_provider()
65279              Return the first configured instance.
65280
65281       salt.cloud.clouds.pyrax.get_conn(conn_type)
65282              Return a conn object for the passed VM data
65283
65284       salt.cloud.clouds.pyrax.get_dependencies()
65285              Warn if dependencies aren't met.
65286
65287       salt.cloud.clouds.pyrax.queues_create(call, kwargs)
65288
65289       salt.cloud.clouds.pyrax.queues_delete(call, kwargs)
65290
65291       salt.cloud.clouds.pyrax.queues_exists(call, kwargs)
65292
65293       salt.cloud.clouds.pyrax.queues_show(call, kwargs)
65294
65295   salt.cloud.clouds.qingcloud
65296   QingCloud Cloud Module
65297       New in version 2015.8.0.
65298
65299
65300       The QingCloud cloud module is used to control access to the  QingCloud.
65301       http://www.qingcloud.com/
65302
65303       Use  of this module requires the access_key_id, secret_access_key, zone
65304       and key_filename parameter to be set.
65305
65306       Set  up  the  cloud  configuration  at   /etc/salt/cloud.providers   or
65307       /etc/salt/cloud.providers.d/qingcloud.conf:
65308
65309          my-qingcloud:
65310            driver: qingcloud
65311            access_key_id: AKIDMRTGYONNLTFFRBQJ
65312            secret_access_key: clYwH21U5UOmcov4aNV2V2XocaHCG3JZGcxEczFu
65313            zone: pek2
65314            key_filename: /path/to/your.pem
65315
65316       depends
65317              requests
65318
65319       salt.cloud.clouds.qingcloud.avail_images(kwargs=None, call=None)
65320              Return a list of the images that are on the provider.
65321
65322              CLI Examples:
65323
65324                 salt-cloud --list-images my-qingcloud
65325                 salt-cloud -f avail_images my-qingcloud zone=gd1
65326
65327       salt.cloud.clouds.qingcloud.avail_locations(call=None)
65328              Return  a  dict  of all available locations on the provider with
65329              relevant data.
65330
65331              CLI Examples:
65332
65333                 salt-cloud --list-locations my-qingcloud
65334
65335       salt.cloud.clouds.qingcloud.avail_sizes(kwargs=None, call=None)
65336              Return a list of the instance sizes that are on the provider.
65337
65338              CLI Examples:
65339
65340                 salt-cloud --list-sizes my-qingcloud
65341                 salt-cloud -f avail_sizes my-qingcloud zone=pek2
65342
65343       salt.cloud.clouds.qingcloud.create(vm_)
65344              Create a single instance from a data dict.
65345
65346              CLI Examples:
65347
65348                 salt-cloud -p qingcloud-ubuntu-c1m1 hostname1
65349                 salt-cloud -m /path/to/mymap.sls -P
65350
65351       salt.cloud.clouds.qingcloud.destroy(instance_id, call=None)
65352              Destroy an instance.
65353
65354              CLI Example:
65355
65356                 salt-cloud -a destroy i-2f733r5n
65357                 salt-cloud -d i-2f733r5n
65358
65359       salt.cloud.clouds.qingcloud.get_configured_provider()
65360              Return the first configured instance.
65361
65362       salt.cloud.clouds.qingcloud.get_dependencies()
65363              Warn if dependencies aren't met.
65364
65365       salt.cloud.clouds.qingcloud.list_nodes(call=None)
65366              Return a list of the instances that are on the provider.
65367
65368              CLI Examples:
65369
65370                 salt-cloud -Q my-qingcloud
65371
65372       salt.cloud.clouds.qingcloud.list_nodes_full(call=None)
65373              Return a list of the instances that are on the provider.
65374
65375              CLI Examples:
65376
65377                 salt-cloud -F my-qingcloud
65378
65379       salt.cloud.clouds.qingcloud.list_nodes_min(call=None)
65380              Return a list of the instances that are on the provider. Only  a
65381              list of instances names, and their state, is returned.
65382
65383              CLI Examples:
65384
65385                 salt-cloud -f list_nodes_min my-qingcloud
65386
65387       salt.cloud.clouds.qingcloud.list_nodes_select(call=None)
65388              Return  a  list  of the instances that are on the provider, with
65389              selected fields.
65390
65391              CLI Examples:
65392
65393                 salt-cloud -S my-qingcloud
65394
65395       salt.cloud.clouds.qingcloud.query(params=None)
65396              Make a web call to QingCloud IaaS API.
65397
65398       salt.cloud.clouds.qingcloud.reboot(instance_id, call=None)
65399              Reboot an instance.
65400
65401              CLI Examples:
65402
65403                 salt-cloud -a reboot i-2f733r5n
65404
65405       salt.cloud.clouds.qingcloud.script(vm_)
65406              Return the script deployment object.
65407
65408       salt.cloud.clouds.qingcloud.show_image(kwargs, call=None)
65409              Show the details from QingCloud concerning an image.
65410
65411              CLI Examples:
65412
65413                 salt-cloud -f show_image my-qingcloud image=trustysrvx64c
65414                 salt-cloud -f show_image my-qingcloud image=trustysrvx64c,coreos4
65415                 salt-cloud -f show_image my-qingcloud image=trustysrvx64c zone=ap1
65416
65417       salt.cloud.clouds.qingcloud.show_instance(instance_id,       call=None,
65418       kwargs=None)
65419              Show the details from QingCloud concerning an instance.
65420
65421              CLI Examples:
65422
65423                 salt-cloud -a show_instance i-2f733r5n
65424
65425       salt.cloud.clouds.qingcloud.start(instance_id, call=None)
65426              Start an instance.
65427
65428              CLI Examples:
65429
65430                 salt-cloud -a start i-2f733r5n
65431
65432       salt.cloud.clouds.qingcloud.stop(instance_id, force=False, call=None)
65433              Stop an instance.
65434
65435              CLI Examples:
65436
65437                 salt-cloud -a stop i-2f733r5n
65438                 salt-cloud -a stop i-2f733r5n force=True
65439
65440   salt.cloud.clouds.saltify
65441   Saltify Module
65442       The  Saltify  module  is  designed to install Salt on a remote machine,
65443       virtual or bare metal, using SSH. This module is useful for  provision‐
65444       ing machines which are already installed, but not Salted.
65445
65446       Changed  in  version  2018.3.0: The wake_on_lan capability, and actions
65447       destroy, reboot, and query functions were added.
65448
65449
65450       Use of this module requires some configuration  in  cloud  profile  and
65451       provider  files as described in the Gettting Started with Saltify docu‐
65452       mentation.
65453
65454       salt.cloud.clouds.saltify.avail_images(call=None)
65455              This function returns a list of images available for this  cloud
65456              provider.
65457
65458                 salt-cloud --list-images saltify
65459
65460              returns a list of available profiles.
65461
65462              ..versionadded:: 2018.3.0
65463
65464       salt.cloud.clouds.saltify.avail_locations(call=None)
65465              This function returns a list of locations available.
65466
65467                 salt-cloud --list-locations my-cloud-provider
65468
65469              [ saltify will always return an empty dictionary ]
65470
65471       salt.cloud.clouds.saltify.avail_sizes(call=None)
65472              This  function  returns a list of sizes available for this cloud
65473              provider.
65474
65475                 salt-cloud --list-sizes saltify
65476
65477              [ saltify always returns an empty dictionary ]
65478
65479       salt.cloud.clouds.saltify.create(vm_)
65480              if configuration parameter deploy is True,
65481                 Provision a single machine, adding its keys to the salt  mas‐
65482                 ter
65483
65484              else,
65485                 Test ssh connections to the machine
65486
65487              Configuration parameters:
65488
65489              · deploy:  (see above)
65490
65491              · provider:  name of entry in salt/cloud.providers.d/??? file
65492
65493              · ssh_host: IP address or DNS name of the new machine
65494
65495              · ssh_username:  name used to log in to the new machine
65496
65497              · ssh_password:   password  to  log  in  (unless key_filename is
65498                used)
65499
65500              · key_filename:  (optional) SSH  private  key  for  passwordless
65501                login
65502
65503              · ssh_port: (default=22) TCP port for SSH connection
65504
65505              · wake_on_lan_mac:   (optional)  hardware (MAC) address for wake
65506                on lan
65507
65508              · wol_sender_node:  (optional) salt minion to send wake  on  lan
65509                command
65510
65511              · wol_boot_wait:   (default=30)  seconds  to  delay while client
65512                boots
65513
65514              · force_minion_config: (optional) replace the minion  configura‐
65515                tion files on the new machine
65516
65517              See  also  Miscellaneous  Salt Cloud Options and Getting Started
65518              with Saltify
65519
65520              CLI Example:
65521
65522                 salt-cloud -p mymachine my_new_id
65523
65524       salt.cloud.clouds.saltify.destroy(name, call=None)
65525              Destroy a node.
65526
65527              New in version 2018.3.0.
65528
65529
65530              Disconnect a minion from the master, and remove its keys.
65531
65532              Optionally, (if remove_config_on_destroy is True),
65533                     disables salt-minion from  running  on  the  minion,  and
65534                     erases the Salt configuration files from it.
65535
65536              Optionally, (if shutdown_on_destroy is True),
65537                     orders the minion to halt.
65538
65539              CLI Example:
65540
65541                 salt-cloud --destroy mymachine
65542
65543       salt.cloud.clouds.saltify.get_configured_provider()
65544              Return the first configured instance.
65545
65546       salt.cloud.clouds.saltify.list_nodes(call=None)
65547              List the nodes which have salt-cloud:driver:saltify grains.
65548
65549                 salt-cloud -Q
65550
65551              returns a list of dictionaries of defined standard fields.
65552
65553              ..versionadded:: 2018.3.0
65554
65555       salt.cloud.clouds.saltify.list_nodes_full(call=None)
65556              Lists complete information for all nodes.
65557
65558                 salt-cloud -F
65559
65560              returns a list of dictionaries.
65561
65562              for 'saltify' minions, returns dict of grains (enhanced).
65563
65564              ..versionadded:: 2018.3.0
65565
65566       salt.cloud.clouds.saltify.list_nodes_select(call=None)
65567              Return  a  list of the minions that have salt-cloud grains, with
65568              select fields.
65569
65570       salt.cloud.clouds.saltify.reboot(name, call=None)
65571              Reboot a saltify minion.
65572
65573              ..versionadded:: 2018.3.0
65574
65575              name   The name of the VM to reboot.
65576
65577              CLI Example:
65578
65579                 salt-cloud -a reboot vm_name
65580
65581       salt.cloud.clouds.saltify.show_instance(name, call=None)
65582              List the a single node, return dict of grains.
65583
65584   salt.cloud.clouds.scaleway
65585   Scaleway Cloud Module
65586       New in version 2015.8.0.
65587
65588
65589       The Scaleway cloud module  is  used  to  interact  with  your  Scaleway
65590       BareMetal Servers.
65591
65592       Use  of  this module only requires the api_key parameter to be set. Set
65593       up   the   cloud   configuration   at   /etc/salt/cloud.providers    or
65594       /etc/salt/cloud.providers.d/scaleway.conf:
65595
65596          scaleway-config:
65597            # Scaleway organization and token
65598            access_key: 0e604a2c-aea6-4081-acb2-e1d1258ef95c
65599            token: be8fd96b-04eb-4d39-b6ba-a9edbcf17f12
65600            driver: scaleway
65601
65602       salt.cloud.clouds.scaleway.avail_images(call=None)
65603              Return a list of the images that are on the provider.
65604
65605       salt.cloud.clouds.scaleway.create(server_)
65606              Create a single BareMetal server from a data dict.
65607
65608       salt.cloud.clouds.scaleway.create_node(args)
65609              Create a node.
65610
65611       salt.cloud.clouds.scaleway.destroy(name, call=None)
65612              Destroy  a  node.  Will check termination protection and warn if
65613              enabled.
65614
65615              CLI Example:
65616                 salt-cloud --destroy mymachine
65617
65618       salt.cloud.clouds.scaleway.get_configured_provider()
65619              Return the first configured instance.
65620
65621       salt.cloud.clouds.scaleway.get_image(server_)
65622              Return the image object to use.
65623
65624       salt.cloud.clouds.scaleway.list_nodes(call=None)
65625              Return a list of the BareMetal servers that are on the provider.
65626
65627       salt.cloud.clouds.scaleway.list_nodes_full(call=None)
65628              Return a list of the BareMetal servers that are on the provider.
65629
65630       salt.cloud.clouds.scaleway.list_nodes_select(call=None)
65631              Return a list of the BareMetal servers that are on the provider,
65632              with select fields.
65633
65634       salt.cloud.clouds.scaleway.query(method=u'servers',     server_id=None,
65635       command=None, args=None, http_method=u'get')
65636              Make a call to the Scaleway API.
65637
65638       salt.cloud.clouds.scaleway.script(server_)
65639              Return the script deployment object.
65640
65641       salt.cloud.clouds.scaleway.show_instance(name, call=None)
65642              Show the details from a Scaleway BareMetal server.
65643
65644   salt.cloud.clouds.softlayer
65645   SoftLayer Cloud Module
65646       The SoftLayer cloud module is used to control access to  the  SoftLayer
65647       VPS system.
65648
65649       Use of this module only requires the apikey parameter. Set up the cloud
65650       configuration at:
65651
65652       /etc/salt/cloud.providers     or      /etc/salt/cloud.providers.d/soft‐
65653       layer.conf:
65654
65655          my-softlayer-config:
65656            # SoftLayer account api key
65657            user: MYLOGIN
65658            apikey: JVkbSJDGHSDKUKSDJfhsdklfjgsjdkflhjlsdfffhgdgjkenrtuinv
65659            driver: softlayer
65660
65661       The  SoftLayer Python Library needs to be installed in order to use the
65662       SoftLayer             salt.cloud             modules.              See:
65663       https://pypi.python.org/pypi/SoftLayer
65664
65665       depends
65666              softlayer
65667
65668       salt.cloud.clouds.softlayer.avail_images(call=None)
65669              Return a dict of all available VM images on the cloud provider.
65670
65671       salt.cloud.clouds.softlayer.avail_locations(call=None)
65672              List all available locations
65673
65674       salt.cloud.clouds.softlayer.avail_sizes(call=None)
65675              Return  a  dict  of all available VM sizes on the cloud provider
65676              with relevant data. This data is provided in three dicts.
65677
65678       salt.cloud.clouds.softlayer.create(vm_)
65679              Create a single VM from a data dict
65680
65681       salt.cloud.clouds.softlayer.destroy(name, call=None)
65682              Destroy a node.
65683
65684              CLI Example:
65685
65686                 salt-cloud --destroy mymachine
65687
65688       salt.cloud.clouds.softlayer.get_configured_provider()
65689              Return the first configured instance.
65690
65691       salt.cloud.clouds.softlayer.get_conn(service=u'SoftLayer_Vir‐
65692       tual_Guest')
65693              Return a conn object for the passed VM data
65694
65695       salt.cloud.clouds.softlayer.get_dependencies()
65696              Warn if dependencies aren't met.
65697
65698       salt.cloud.clouds.softlayer.get_location(vm_=None)
65699
65700              Return the location to use, in this order:
65701
65702                     · CLI parameter
65703
65704                     · VM parameter
65705
65706                     · Cloud profile setting
65707
65708       salt.cloud.clouds.softlayer.list_custom_images(call=None)
65709              Return a dict of all custom VM images on the cloud provider.
65710
65711       salt.cloud.clouds.softlayer.list_nodes(call=None)
65712              Return a list of the VMs that are on the provider
65713
65714       salt.cloud.clouds.softlayer.list_nodes_full(mask=u'mask[id]',
65715       call=None)
65716              Return a list of the VMs that are on the provider
65717
65718       salt.cloud.clouds.softlayer.list_nodes_select(call=None)
65719              Return a list of the VMs that are on the provider,  with  select
65720              fields
65721
65722       salt.cloud.clouds.softlayer.list_vlans(call=None)
65723              List all VLANs associated with the account
65724
65725       salt.cloud.clouds.softlayer.script(vm_)
65726              Return the script deployment object
65727
65728       salt.cloud.clouds.softlayer.show_instance(name, call=None)
65729              Show the details from SoftLayer concerning a guest
65730
65731   salt.cloud.clouds.softlayer_hw
65732   SoftLayer HW Cloud Module
65733       The  SoftLayer  HW  cloud module is used to control access to the Soft‐
65734       Layer hardware cloud system
65735
65736       Use of this module only requires the apikey parameter. Set up the cloud
65737       configuration at:
65738
65739       /etc/salt/cloud.providers      or     /etc/salt/cloud.providers.d/soft‐
65740       layer.conf:
65741
65742          my-softlayer-config:
65743            # SoftLayer account api key
65744            user: MYLOGIN
65745            apikey: JVkbSJDGHSDKUKSDJfhsdklfjgsjdkflhjlsdfffhgdgjkenrtuinv
65746            driver: softlayer_hw
65747
65748       The SoftLayer Python Library needs to be installed in order to use  the
65749       SoftLayer              salt.cloud             modules.             See:
65750       https://pypi.python.org/pypi/SoftLayer
65751
65752       depends
65753              softlayer
65754
65755       salt.cloud.clouds.softlayer_hw.avail_images(call=None)
65756              Return a dict of all available VM images on the cloud provider.
65757
65758       salt.cloud.clouds.softlayer_hw.avail_locations(call=None)
65759              List all available locations
65760
65761       salt.cloud.clouds.softlayer_hw.avail_sizes(call=None)
65762              Return a dict of all available VM sizes on  the  cloud  provider
65763              with relevant data. This data is provided in three dicts.
65764
65765       salt.cloud.clouds.softlayer_hw.create(vm_)
65766              Create a single VM from a data dict
65767
65768       salt.cloud.clouds.softlayer_hw.destroy(name, call=None)
65769              Destroy a node.
65770
65771              CLI Example:
65772
65773                 salt-cloud --destroy mymachine
65774
65775       salt.cloud.clouds.softlayer_hw.get_configured_provider()
65776              Return the first configured instance.
65777
65778       salt.cloud.clouds.softlayer_hw.get_conn(service=u'SoftLayer_Hardware')
65779              Return a conn object for the passed VM data
65780
65781       salt.cloud.clouds.softlayer_hw.get_dependencies()
65782              Warn if dependencies aren't met.
65783
65784       salt.cloud.clouds.softlayer_hw.get_location(vm_=None)
65785
65786              Return the location to use, in this order:
65787
65788                     · CLI parameter
65789
65790                     · VM parameter
65791
65792                     · Cloud profile setting
65793
65794       salt.cloud.clouds.softlayer_hw.list_nodes(call=None)
65795              Return a list of the VMs that are on the provider
65796
65797       salt.cloud.clouds.softlayer_hw.list_nodes_full(mask=u'mask[id,    host‐
65798       name, primaryIpAddress, primaryBackendIpAddress, processorPhysicalCore‐
65799       Amount, memoryCount]', call=None)
65800              Return a list of the VMs that are on the provider
65801
65802       salt.cloud.clouds.softlayer_hw.list_nodes_select(call=None)
65803              Return  a  list of the VMs that are on the provider, with select
65804              fields
65805
65806       salt.cloud.clouds.softlayer_hw.list_vlans(call=None)
65807              List all VLANs associated with the account
65808
65809       salt.cloud.clouds.softlayer_hw.script(vm_)
65810              Return the script deployment object
65811
65812       salt.cloud.clouds.softlayer_hw.show_all_categories(call=None)
65813              Return a dict of all available categories on the cloud provider.
65814
65815              New in version 2016.3.0.
65816
65817
65818       salt.cloud.clouds.softlayer_hw.show_all_prices(call=None, kwargs=None)
65819              Return a dict of all prices on the cloud provider.
65820
65821       salt.cloud.clouds.softlayer_hw.show_instance(name, call=None)
65822              Show the details from SoftLayer concerning a guest
65823
65824       salt.cloud.clouds.softlayer_hw.show_pricing(kwargs=None, call=None)
65825              Show pricing for a particular profile. This is only an estimate,
65826              based on unofficial pricing sources.
65827
65828              CLI Examples:
65829
65830                 salt-cloud -f show_pricing my-softlayerhw-config profile=my-profile
65831
65832              If  pricing  sources  have  not  been cached, they will be down‐
65833              loaded. Once they have been cached, they  will  not  be  updated
65834              automatically.  To manually update all prices, use the following
65835              command:
65836
65837                 salt-cloud -f update_pricing <provider>
65838
65839              New in version 2015.8.0.
65840
65841
65842   salt.cloud.clouds.vagrant
65843   Vagrant Cloud Driver
65844       The Vagrant cloud is designed to "vagrant up" a virtual  machine  as  a
65845       Salt minion.
65846
65847       Use  of  this  module  requires some configuration in cloud profile and
65848       provider files as described in the Getting Started with  Vagrant  docu‐
65849       mentation.
65850
65851       New in version 2018.3.0.
65852
65853
65854       salt.cloud.clouds.vagrant.avail_images(call=None)
65855              This  function returns a list of images available for this cloud
65856              provider.  vagrant will return a list of  profiles.   salt-cloud
65857              --list-images my-cloud-provider
65858
65859       salt.cloud.clouds.vagrant.avail_locations(call=None)
65860              This function returns a list of locations available.
65861
65862              CLI Example:
65863
65864                 salt-cloud --list-locations my-cloud-provider
65865
65866                 # \[ vagrant will always returns an empty dictionary \]
65867
65868       salt.cloud.clouds.vagrant.avail_sizes(call=None)
65869              This  function  returns a list of sizes available for this cloud
65870              provider.
65871
65872              CLI Example:
65873
65874                 salt-cloud --list-sizes my-cloud-provider
65875
65876                 # \[ vagrant always returns an empty dictionary \]
65877
65878       salt.cloud.clouds.vagrant.create(vm_)
65879              Provision a single machine
65880
65881              CLI Example:
65882
65883                 salt-cloud -p my_profile new_node_1
65884
65885       salt.cloud.clouds.vagrant.destroy(name, call=None)
65886              Destroy a node.
65887
65888              CLI Example:
65889
65890                 salt-cloud --destroy mymachine
65891
65892       salt.cloud.clouds.vagrant.get_configured_provider()
65893              Return the first configured instance.
65894
65895       salt.cloud.clouds.vagrant.list_nodes(call=None)
65896              List the nodes which have salt-cloud:driver:vagrant grains.
65897
65898              CLI Example:
65899
65900                 salt-cloud -Q
65901
65902       salt.cloud.clouds.vagrant.list_nodes_full(call=None)
65903              List the nodes, ask all 'vagrant' minions, return dict of grains
65904              (enhanced).
65905
65906              CLI Example:
65907
65908                 salt-call -F
65909
65910       salt.cloud.clouds.vagrant.list_nodes_select(call=None)
65911              Return  a  list of the minions that have salt-cloud grains, with
65912              select fields.
65913
65914       salt.cloud.clouds.vagrant.reboot(name, call=None)
65915              Reboot a vagrant minion.
65916
65917              name   The name of the VM to reboot.
65918
65919              CLI Example:
65920
65921                 salt-cloud -a reboot vm_name
65922
65923       salt.cloud.clouds.vagrant.show_instance(name, call=None)
65924              List the a single node, return dict of grains.
65925
65926   salt.cloud.clouds.virtualbox
65927       A salt cloud provider that lets you use virtualbox on your machine  and
65928       act as a cloud.
65929
65930       depends
65931              vboxapi
65932
65933       For  now  this will only clone existing VMs. It's best to create a tem‐
65934       plate from which we will clone.
65935
65936       Followed
65937       https://docs.saltstack.com/en/latest/topics/cloud/cloud.html#non-libcloud-based-modules
65938       to create this.
65939
65940       Dicts provided by salt:
65941
65942              __opts__
65943                     contains the options used to run Salt Cloud, as well as a
65944                     set of configuration and environment variables
65945
65946       salt.cloud.clouds.virtualbox.create(vm_info)
65947              Creates a virtual machine from the given VM information
65948
65949              This  is what is used to request a virtual machine to be created
65950              by the cloud provider, wait for it to become available, and then
65951              (optionally) log in and install Salt on it.
65952
65953              Events fired:
65954
65955              This  function fires the event salt/cloud/vm_name/creating, with
65956              the payload  containing  the  names  of  the  VM,  profile,  and
65957              provider.
65958
65959              @param vm_info
65960
65961                 {
65962                     name: <str>
65963                     profile: <dict>
65964                     driver: <provider>:<profile>
65965                     clonefrom: <vm_name>
65966                     clonemode: <mode> (default: state, choices: state, child, all)
65967                 }
65968
65969              @type  vm_info  dict  @return dict of resulting vm. !!!Passwords
65970              can and should be included!!!
65971
65972       salt.cloud.clouds.virtualbox.destroy(name, call=None)
65973              This function irreversibly destroys a  virtual  machine  on  the
65974              cloud provider.  Before doing so, it should fire an event on the
65975              Salt event bus.
65976
65977              The tag for this event is salt/cloud/<vm name>/destroying.  Once
65978              the  virtual machine has been destroyed, another event is fired.
65979              The tag for that event is salt/cloud/<vm name>/destroyed.
65980
65981              Dependencies:
65982                     list_nodes
65983
65984              @param name: @type name: str @param call: @type  call:  @return:
65985              True  if  all  went  well,  otherwise  an  error message @rtype:
65986              bool|str
65987
65988       salt.cloud.clouds.virtualbox.list_nodes(kwargs=None, call=None)
65989              This function returns a list of nodes available  on  this  cloud
65990              provider, using the following fields:
65991
65992              id  (str)  image (str) size (str) state (str) private_ips (list)
65993              public_ips (list)
65994
65995              No other fields should be returned in this function, and all  of
65996              these fields should be returned, even if empty.  The private_ips
65997              and public_ips fields should always be of a list type,  even  if
65998              empty,  and  the  other  fields  should always be of a str type.
65999              This function is normally called with the -Q option:
66000
66001                 salt-cloud -Q
66002
66003              @param kwargs: @type kwargs: @param call: @type  call:  @return:
66004              @rtype:
66005
66006       salt.cloud.clouds.virtualbox.list_nodes_full(kwargs=None, call=None)
66007              All  information available about all nodes should be returned in
66008              this function.  The fields in the list_nodes()  function  should
66009              also be returned, even if they would not normally be provided by
66010              the cloud provider.
66011
66012              This is because some functions both within Salt  and  3rd  party
66013              will  break  if an expected field is not present.  This function
66014              is normally called with the -F option:
66015
66016                 salt-cloud -F
66017
66018              @param kwargs: @type kwargs: @param call: @type  call:  @return:
66019              @rtype:
66020
66021       salt.cloud.clouds.virtualbox.list_nodes_select(call=None)
66022              Return  a  list of the VMs that are on the provider, with select
66023              fields
66024
66025       salt.cloud.clouds.virtualbox.map_clonemode(vm_info)
66026              Convert the virtualbox config file values  for  clone_mode  into
66027              the integers the API requires
66028
66029       salt.cloud.clouds.virtualbox.show_image(kwargs, call=None)
66030              Show the details of an image
66031
66032       salt.cloud.clouds.virtualbox.start(name, call=None)
66033              Start  a machine.  @param name: Machine to start @type name: str
66034              @param call: Must be "action" @type call: str
66035
66036       salt.cloud.clouds.virtualbox.stop(name, call=None)
66037              Stop a running machine.  @param  name:  Machine  to  stop  @type
66038              name: str @param call: Must be "action" @type call: str
66039
66040   salt.cloud.clouds.vmware
66041   VMware Cloud Module
66042       New in version 2015.5.4.
66043
66044
66045       The  VMware  cloud  module  allows  you to manage VMware ESX, ESXi, and
66046       vCenter.
66047
66048       See Getting started with VMware to get started.
66049
66050       codeauthor
66051              Nitin Madhok <nmadhok@clemson.edu>
66052
66053   Dependencies
66054       · pyVmomi Python Module
66055
66056   pyVmomi
66057       PyVmomi can be installed via pip:
66058
66059          pip install pyVmomi
66060
66061       NOTE:
66062          Version 6.0 of pyVmomi has some problems with SSL error handling  on
66063          certain  versions of Python. If using version 6.0 of pyVmomi, Python
66064          2.6, Python 2.7.9, or newer must be  present.  This  is  due  to  an
66065          upstream  dependency  in pyVmomi 6.0 that is not supported in Python
66066          versions 2.7 to 2.7.8. If the version of Python is not in  the  sup‐
66067          ported  range,  you  will need to install an earlier version of pyV‐
66068          momi. See Issue #29537 for more information.
66069
66070       Based on the note above, to install an earlier version of pyVmomi  than
66071       the version currently listed in PyPi, run the following:
66072
66073          pip install pyVmomi==5.5.0.2014.1.1
66074
66075       The  5.5.0.2014.1.1 is a known stable version that this original VMware
66076       cloud driver was developed against.
66077
66078       NOTE:
66079          Ensure python pyVmomi  module  is  installed  by  running  following
66080          one-liner check. The output should be 0.
66081
66082              python -c "import pyVmomi" ; echo $?
66083
66084   Configuration
66085       To  use  this  module, set up the vCenter or ESX/ESXi URL, username and
66086       password in the cloud  configuration  at  /etc/salt/cloud.providers  or
66087       /etc/salt/cloud.providers.d/vmware.conf:
66088
66089          my-vmware-config:
66090            driver: vmware
66091            user: 'DOMAIN\user'
66092            password: 'verybadpass'
66093            url: '10.20.30.40'
66094
66095          vcenter01:
66096            driver: vmware
66097            user: 'DOMAIN\user'
66098            password: 'verybadpass'
66099            url: 'vcenter01.domain.com'
66100            protocol: 'https'
66101            port: 443
66102
66103          vcenter02:
66104            driver: vmware
66105            user: 'DOMAIN\user'
66106            password: 'verybadpass'
66107            url: 'vcenter02.domain.com'
66108            protocol: 'http'
66109            port: 80
66110
66111          esx01:
66112            driver: vmware
66113            user: 'admin'
66114            password: 'verybadpass'
66115            url: 'esx01.domain.com'
66116
66117       NOTE:
66118          Optionally, protocol and port can be specified if the vCenter server
66119          is not using the defaults. Default is protocol: https and port: 443.
66120
66121       NOTE:
66122          Changed in version 2015.8.0.
66123
66124
66125          The provider parameter in cloud provider configuration  was  renamed
66126          to  driver.   This  change  was  made  to  avoid  confusion with the
66127          provider parameter that is  used  in  cloud  profile  configuration.
66128          Cloud  provider  configuration  now  uses  driver  to  refer  to the
66129          salt-cloud driver that provides the underlying functionality to con‐
66130          nect  to a cloud provider, while cloud profile configuration contin‐
66131          ues to use provider to refer to  the  cloud  provider  configuration
66132          that you define.
66133
66134       To test the connection for my-vmware-config specified in the cloud con‐
66135       figuration, run test_vcenter_connection()
66136
66137       salt.cloud.clouds.vmware.add_host(kwargs=None, call=None)
66138              Add a host system to the specified cluster or datacenter in this
66139              VMware environment
66140
66141              NOTE:
66142                 To  use this function, you need to specify esxi_host_user and
66143                 esxi_host_password under your provider configuration  set  up
66144                 at                /etc/salt/cloud.providers                or
66145                 /etc/salt/cloud.providers.d/vmware.conf:
66146
66147                     vcenter01:
66148                       driver: vmware
66149                       user: 'DOMAIN\user'
66150                       password: 'verybadpass'
66151                       url: 'vcenter01.domain.com'
66152
66153                       # Required when adding a host system
66154                       esxi_host_user: 'root'
66155                       esxi_host_password: 'myhostpassword'
66156                       # Optional fields that can be specified when adding a host system
66157                       esxi_host_ssl_thumbprint: '12:A3:45:B6:CD:7E:F8:90:A1:BC:23:45:D6:78:9E:FA:01:2B:34:CD'
66158
66159                 The SSL thumbprint of the host system can be optionally spec‐
66160                 ified by setting esxi_host_ssl_thumbprint under your provider
66161                 configuration. To get the SSL thumbprint of the host  system,
66162                 execute the following command from a remote server:
66163
66164                     echo -n | openssl s_client -connect <YOUR-HOSTSYSTEM-DNS/IP>:443 2>/dev/null | openssl x509 -noout -fingerprint -sha1
66165
66166              CLI Example:
66167
66168                 salt-cloud -f add_host my-vmware-config host="myHostSystemName" cluster="myClusterName"
66169                 salt-cloud -f add_host my-vmware-config host="myHostSystemName" datacenter="myDatacenterName"
66170
66171       salt.cloud.clouds.vmware.avail_images(call=None)
66172              Return  a list of all the templates present in this VMware envi‐
66173              ronment with basic details
66174
66175              CLI Example:
66176
66177                 salt-cloud --list-images my-vmware-config
66178
66179       salt.cloud.clouds.vmware.avail_locations(call=None)
66180              Return a list of all the available locations/datacenters in this
66181              VMware environment
66182
66183              CLI Example:
66184
66185                 salt-cloud --list-locations my-vmware-config
66186
66187       salt.cloud.clouds.vmware.avail_sizes(call=None)
66188              Return a list of all the available sizes in this VMware environ‐
66189              ment.
66190
66191              CLI Example:
66192
66193                 salt-cloud --list-sizes my-vmware-config
66194
66195              NOTE:
66196                 Since sizes are built  into  templates,  this  function  will
66197                 return an empty dictionary.
66198
66199       salt.cloud.clouds.vmware.build_clonespec(config_spec,       object_ref,
66200       reloc_spec, template)
66201              Returns the clone spec
66202
66203       salt.cloud.clouds.vmware.connect_host(kwargs=None, call=None)
66204              Connect the specified host system in this VMware environment
66205
66206              CLI Example:
66207
66208                 salt-cloud -f connect_host my-vmware-config host="myHostSystemName"
66209
66210       salt.cloud.clouds.vmware.convert_to_template(name,         kwargs=None,
66211       call=None)
66212              Convert the specified virtual machine to template.
66213
66214              CLI Example:
66215
66216                 salt-cloud -a convert_to_template vmname
66217
66218       salt.cloud.clouds.vmware.create(vm_)
66219              To create a single VM in the VMware environment.
66220
66221              Sample  profile and arguments that can be specified in it can be
66222              found here.
66223
66224              CLI Example:
66225
66226                 salt-cloud -p vmware-centos6.5 vmname
66227
66228       salt.cloud.clouds.vmware.create_cluster(kwargs=None, call=None)
66229              Create a new cluster under  the  specified  datacenter  in  this
66230              VMware environment
66231
66232              CLI Example:
66233
66234                 salt-cloud -f create_cluster my-vmware-config name="myNewCluster" datacenter="datacenterName"
66235
66236       salt.cloud.clouds.vmware.create_datacenter(kwargs=None, call=None)
66237              Create a new data center in this VMware environment
66238
66239              CLI Example:
66240
66241                 salt-cloud -f create_datacenter my-vmware-config name="MyNewDatacenter"
66242
66243       salt.cloud.clouds.vmware.create_datastore_cluster(kwargs=None,
66244       call=None)
66245              Create a new datastore cluster for the specified  datacenter  in
66246              this VMware environment
66247
66248              CLI Example:
66249
66250                 salt-cloud -f create_datastore_cluster my-vmware-config name="datastoreClusterName" datacenter="datacenterName"
66251
66252       salt.cloud.clouds.vmware.create_folder(kwargs=None, call=None)
66253              Create the specified folder path in this VMware environment
66254
66255              NOTE:
66256                 To create a Host and Cluster Folder under a Datacenter, spec‐
66257                 ify path="/yourDatacenterName/host/yourFolderName"
66258
66259                 To create  a  Network  Folder  under  a  Datacenter,  specify
66260                 path="/yourDatacenterName/network/yourFolderName"
66261
66262                 To  create  a  Storage  Folder  under  a  Datacenter, specify
66263                 path="/yourDatacenterName/datastore/yourFolderName"
66264
66265                 To create a VM and Template Folder under a Datacenter,  spec‐
66266                 ify path="/yourDatacenterName/vm/yourFolderName"
66267
66268              CLI Example:
66269
66270                 salt-cloud -f create_folder my-vmware-config path="/Local/a/b/c"
66271                 salt-cloud -f create_folder my-vmware-config path="/MyDatacenter/vm/MyVMFolder"
66272                 salt-cloud -f create_folder my-vmware-config path="/MyDatacenter/host/MyHostFolder"
66273                 salt-cloud -f create_folder my-vmware-config path="/MyDatacenter/network/MyNetworkFolder"
66274                 salt-cloud -f create_folder my-vmware-config path="/MyDatacenter/storage/MyStorageFolder"
66275
66276       salt.cloud.clouds.vmware.create_snapshot(name, kwargs=None, call=None)
66277              Create  a  snapshot  of  the  specified  virtual machine in this
66278              VMware environment
66279
66280              NOTE:
66281                 If the VM is powered on, the internal state of the VM (memory
66282                 dump)  is included in the snapshot by default which will also
66283                 set the power state of the snapshot to "powered on". You  can
66284                 set  memdump=False to override this. This field is ignored if
66285                 the virtual machine is powered off or if the VM does not sup‐
66286                 port snapshots with memory dumps. Default is memdump=True
66287
66288              NOTE:
66289                 If  the  VM  is powered on when the snapshot is taken, VMware
66290                 Tools can be used to quiesce the file system in  the  virtual
66291                 machine by setting quiesce=True. This field is ignored if the
66292                 virtual machine is powered  off;  if  VMware  Tools  are  not
66293                 available or if memdump=True. Default is quiesce=False
66294
66295              CLI Example:
66296
66297                 salt-cloud -a create_snapshot vmname snapshot_name="mySnapshot"
66298                 salt-cloud -a create_snapshot vmname snapshot_name="mySnapshot" [description="My snapshot"] [memdump=False] [quiesce=True]
66299
66300       salt.cloud.clouds.vmware.destroy(name, call=None)
66301              To destroy a VM from the VMware environment
66302
66303              CLI Example:
66304
66305                 salt-cloud -d vmname
66306                 salt-cloud --destroy vmname
66307                 salt-cloud -a destroy vmname
66308
66309       salt.cloud.clouds.vmware.disconnect_host(kwargs=None, call=None)
66310              Disconnect the specified host system in this VMware environment
66311
66312              CLI Example:
66313
66314                 salt-cloud -f disconnect_host my-vmware-config host="myHostSystemName"
66315
66316       salt.cloud.clouds.vmware.enter_maintenance_mode(kwargs=None, call=None)
66317              To  put  the  specified  host system in maintenance mode in this
66318              VMware environment
66319
66320              CLI Example:
66321
66322                 salt-cloud -f enter_maintenance_mode my-vmware-config host="myHostSystemName"
66323
66324       salt.cloud.clouds.vmware.exit_maintenance_mode(kwargs=None, call=None)
66325              To take the specified host system out  of  maintenance  mode  in
66326              this VMware environment
66327
66328              CLI Example:
66329
66330                 salt-cloud -f exit_maintenance_mode my-vmware-config host="myHostSystemName"
66331
66332       salt.cloud.clouds.vmware.get_clonespec_for_valid_snapshot(config_spec,
66333       object_ref, reloc_spec, template, vm_)
66334              return clonespec only if values are valid
66335
66336       salt.cloud.clouds.vmware.get_vcenter_version(kwargs=None, call=None)
66337              Show the vCenter Server version with build number.
66338
66339              CLI Example:
66340
66341                 salt-cloud -f get_vcenter_version my-vmware-config
66342
66343       salt.cloud.clouds.vmware.handle_snapshot(config_spec,       object_ref,
66344       reloc_spec, template, vm_)
66345              Returns   a   clone  spec  for  cloning  from  shapshots  :rtype
66346              vim.vm.CloneSpec
66347
66348       salt.cloud.clouds.vmware.list_clusters(kwargs=None, call=None)
66349              List all the clusters for this VMware environment
66350
66351              CLI Example:
66352
66353                 salt-cloud -f list_clusters my-vmware-config
66354
66355       salt.cloud.clouds.vmware.list_clusters_by_datacenter(kwargs=None,
66356       call=None)
66357              List  clusters  for each datacenter; or clusters for a specified
66358              datacenter in this VMware environment
66359
66360              To list clusters for each datacenter:
66361
66362              CLI Example:
66363
66364                 salt-cloud -f list_clusters_by_datacenter my-vmware-config
66365
66366              To list clusters for a specified datacenter:
66367
66368              CLI Example:
66369
66370                 salt-cloud -f list_clusters_by_datacenter my-vmware-config datacenter="datacenterName"
66371
66372       salt.cloud.clouds.vmware.list_datacenters(kwargs=None, call=None)
66373              List all the data centers for this VMware environment
66374
66375              CLI Example:
66376
66377                 salt-cloud -f list_datacenters my-vmware-config
66378
66379       salt.cloud.clouds.vmware.list_datastore_clusters(kwargs=None,
66380       call=None)
66381              List all the datastore clusters for this VMware environment
66382
66383              CLI Example:
66384
66385                 salt-cloud -f list_datastore_clusters my-vmware-config
66386
66387       salt.cloud.clouds.vmware.list_datastores(kwargs=None, call=None)
66388              List all the datastores for this VMware environment
66389
66390              CLI Example:
66391
66392                 salt-cloud -f list_datastores my-vmware-config
66393
66394       salt.cloud.clouds.vmware.list_dvs(kwargs=None, call=None)
66395              List  all the distributed virtual switches for this VMware envi‐
66396              ronment
66397
66398              CLI Example:
66399
66400                 salt-cloud -f list_dvs my-vmware-config
66401
66402       salt.cloud.clouds.vmware.list_folders(kwargs=None, call=None)
66403              List all the folders for this VMware environment
66404
66405              CLI Example:
66406
66407                 salt-cloud -f list_folders my-vmware-config
66408
66409       salt.cloud.clouds.vmware.list_hbas(kwargs=None, call=None)
66410              List all HBAs for each host system; or all HBAs for a  specified
66411              host  system; or HBAs of specified type for each host system; or
66412              HBAs of specified type for  a  specified  host  system  in  this
66413              VMware environment
66414
66415              NOTE:
66416                 You  can  specify  type  as  either parallel, iscsi, block or
66417                 fibre.
66418
66419              To list all HBAs for each host system:
66420
66421              CLI Example:
66422
66423                 salt-cloud -f list_hbas my-vmware-config
66424
66425              To list all HBAs for a specified host system:
66426
66427              CLI Example:
66428
66429                 salt-cloud -f list_hbas my-vmware-config host="hostSystemName"
66430
66431              To list HBAs of specified type for each host system:
66432
66433              CLI Example:
66434
66435                 salt-cloud -f list_hbas my-vmware-config type="HBAType"
66436
66437              To list HBAs of specified type for a specified host system:
66438
66439              CLI Example:
66440
66441                 salt-cloud -f list_hbas my-vmware-config host="hostSystemName" type="HBAtype"
66442
66443       salt.cloud.clouds.vmware.list_hosts(kwargs=None, call=None)
66444              List all the hosts for this VMware environment
66445
66446              CLI Example:
66447
66448                 salt-cloud -f list_hosts my-vmware-config
66449
66450       salt.cloud.clouds.vmware.list_hosts_by_cluster(kwargs=None, call=None)
66451              List hosts for each cluster; or hosts for a specified cluster in
66452              this VMware environment
66453
66454              To list hosts for each cluster:
66455
66456              CLI Example:
66457
66458                 salt-cloud -f list_hosts_by_cluster my-vmware-config
66459
66460              To list hosts for a specified cluster:
66461
66462              CLI Example:
66463
66464                 salt-cloud -f list_hosts_by_cluster my-vmware-config cluster="clusterName"
66465
66466       salt.cloud.clouds.vmware.list_hosts_by_datacenter(kwargs=None,
66467       call=None)
66468              List hosts for each datacenter; or hosts for a  specified  data‐
66469              center in this VMware environment
66470
66471              To list hosts for each datacenter:
66472
66473              CLI Example:
66474
66475                 salt-cloud -f list_hosts_by_datacenter my-vmware-config
66476
66477              To list hosts for a specified datacenter:
66478
66479              CLI Example:
66480
66481                 salt-cloud -f list_hosts_by_datacenter my-vmware-config datacenter="datacenterName"
66482
66483       salt.cloud.clouds.vmware.list_networks(kwargs=None, call=None)
66484              List all the standard networks for this VMware environment
66485
66486              CLI Example:
66487
66488                 salt-cloud -f list_networks my-vmware-config
66489
66490       salt.cloud.clouds.vmware.list_nodes(kwargs=None, call=None)
66491              Return a list of all VMs and templates that are on the specified
66492              provider, with basic fields
66493
66494              CLI Example:
66495
66496                 salt-cloud -f list_nodes my-vmware-config
66497
66498              To return a list of all VMs and templates present on ALL config‐
66499              ured providers, with basic fields:
66500
66501              CLI Example:
66502
66503                 salt-cloud -Q
66504
66505       salt.cloud.clouds.vmware.list_nodes_full(kwargs=None, call=None)
66506              Return a list of all VMs and templates that are on the specified
66507              provider, with full details
66508
66509              CLI Example:
66510
66511                 salt-cloud -f list_nodes_full my-vmware-config
66512
66513              To return a list of all VMs and templates present on ALL config‐
66514              ured providers, with full details:
66515
66516              CLI Example:
66517
66518                 salt-cloud -F
66519
66520       salt.cloud.clouds.vmware.list_nodes_min(kwargs=None, call=None)
66521              Return a list of all VMs and templates that are on the specified
66522              provider, with no details
66523
66524              CLI Example:
66525
66526                 salt-cloud -f list_nodes_min my-vmware-config
66527
66528       salt.cloud.clouds.vmware.list_nodes_select(call=None)
66529              Return a list of all VMs and templates that are on the specified
66530              provider,   with   fields  specified  under  query.selection  in
66531              /etc/salt/cloud
66532
66533              CLI Example:
66534
66535                 salt-cloud -f list_nodes_select my-vmware-config
66536
66537              To return a list of all VMs and templates present on ALL config‐
66538              ured  providers,  with fields specified under query.selection in
66539              /etc/salt/cloud:
66540
66541              CLI Example:
66542
66543                 salt-cloud -S
66544
66545       salt.cloud.clouds.vmware.list_portgroups(kwargs=None, call=None)
66546              List all the distributed  virtual  portgroups  for  this  VMware
66547              environment
66548
66549              CLI Example:
66550
66551                 salt-cloud -f list_portgroups my-vmware-config
66552
66553       salt.cloud.clouds.vmware.list_resourcepools(kwargs=None, call=None)
66554              List all the resource pools for this VMware environment
66555
66556              CLI Example:
66557
66558                 salt-cloud -f list_resourcepools my-vmware-config
66559
66560       salt.cloud.clouds.vmware.list_snapshots(kwargs=None, call=None)
66561              List  snapshots  either  for all VMs and templates or for a spe‐
66562              cific VM/template in this VMware environment
66563
66564              To list snapshots for all VMs and templates:
66565
66566              CLI Example:
66567
66568                 salt-cloud -f list_snapshots my-vmware-config
66569
66570              To list snapshots for a specific VM/template:
66571
66572              CLI Example:
66573
66574                 salt-cloud -f list_snapshots my-vmware-config name="vmname"
66575
66576       salt.cloud.clouds.vmware.list_templates(kwargs=None, call=None)
66577              List all the templates present in this VMware environment
66578
66579              CLI Example:
66580
66581                 salt-cloud -f list_templates my-vmware-config
66582
66583       salt.cloud.clouds.vmware.list_vapps(kwargs=None, call=None)
66584              List all the vApps for this VMware environment
66585
66586              CLI Example:
66587
66588                 salt-cloud -f list_vapps my-vmware-config
66589
66590       salt.cloud.clouds.vmware.reboot_host(kwargs=None, call=None)
66591              Reboot the specified host system in this VMware environment
66592
66593              NOTE:
66594                 If the host system is not in maintenance mode, it will not be
66595                 rebooted. If you want to reboot the host system regardless of
66596                 whether it is in maintenance mode, set force=True. Default is
66597                 force=False.
66598
66599              CLI Example:
66600
66601                 salt-cloud -f reboot_host my-vmware-config host="myHostSystemName" [force=True]
66602
66603       salt.cloud.clouds.vmware.remove_all_snapshots(name,        kwargs=None,
66604       call=None)
66605              Remove all the  snapshots  present  for  the  specified  virtual
66606              machine.
66607
66608              NOTE:
66609                 All  the  snapshots higher up in the hierarchy of the current
66610                 snapshot tree are consolidated and their  virtual  disks  are
66611                 merged.  To  override this behavior and only remove all snap‐
66612                 shots, set  merge_snapshots=False.   Default  is  merge_snap‐
66613                 shots=True
66614
66615              CLI Example:
66616
66617                 salt-cloud -a remove_all_snapshots vmname [merge_snapshots=False]
66618
66619       salt.cloud.clouds.vmware.remove_host(kwargs=None, call=None)
66620              Remove the specified host system from this VMware environment
66621
66622              CLI Example:
66623
66624                 salt-cloud -f remove_host my-vmware-config host="myHostSystemName"
66625
66626       salt.cloud.clouds.vmware.remove_snapshot(name, kwargs=None, call=None)
66627              Remove  a  snapshot  of  the  specified  virtual machine in this
66628              VMware environment
66629
66630              CLI Example:
66631
66632                 salt-cloud -a remove_snapshot vmname snapshot_name="mySnapshot"
66633                 salt-cloud -a remove_snapshot vmname snapshot_name="mySnapshot" [remove_children="True"]
66634
66635       salt.cloud.clouds.vmware.rescan_hba(kwargs=None, call=None)
66636              To rescan a specified HBA or all the HBAs on the Host System
66637
66638              CLI Example:
66639
66640                 salt-cloud -f rescan_hba my-vmware-config host="hostSystemName"
66641                 salt-cloud -f rescan_hba my-vmware-config hba="hbaDeviceName" host="hostSystemName"
66642
66643       salt.cloud.clouds.vmware.reset(name, soft=False, call=None)
66644              To reset a VM using its name
66645
66646              NOTE:
66647                 If soft=True then issues a command  to  the  guest  operating
66648                 system  asking  it  to perform a reboot. Otherwise hypervisor
66649                 will terminate VM and start it again.  Default is soft=False
66650
66651                 For soft=True vmtools should be installed on guest system.
66652
66653              CLI Example:
66654
66655                 salt-cloud -a reset vmname
66656                 salt-cloud -a reset vmname soft=True
66657
66658       salt.cloud.clouds.vmware.revert_to_snapshot(name,          kwargs=None,
66659       call=None)
66660              Revert  virtual machine to it's current snapshot. If no snapshot
66661              exists, the state of the virtual machine remains unchanged
66662
66663              NOTE:
66664                 The virtual machine will be powered on if the power state  of
66665                 the snapshot when it was created was set to "Powered On". Set
66666                 power_off=True so that the virtual machine stays powered  off
66667                 regardless  of  the  power  state of the snapshot when it was
66668                 created. Default is power_off=False.
66669
66670                 If the power state of the snapshot when it  was  created  was
66671                 "Powered  On"  and  if  power_off=True, the VM will be put in
66672                 suspended state after it has been reverted to the snapshot.
66673
66674              CLI Example:
66675
66676                 salt-cloud -a revert_to_snapshot vmame [power_off=True]
66677                 salt-cloud -a revert_to_snapshot vmame snapshot_name="selectedSnapshot" [power_off=True]
66678
66679       salt.cloud.clouds.vmware.show_instance(name, call=None)
66680              List all available details of the specified VM
66681
66682              CLI Example:
66683
66684                 salt-cloud -a show_instance vmname
66685
66686       salt.cloud.clouds.vmware.start(name, call=None)
66687              To start/power on a VM using its name
66688
66689              CLI Example:
66690
66691                 salt-cloud -a start vmname
66692
66693       salt.cloud.clouds.vmware.stop(name, soft=False, call=None)
66694              To stop/power off a VM using its name
66695
66696              NOTE:
66697                 If soft=True then issues a command  to  the  guest  operating
66698                 system asking it to perform a clean shutdown of all services.
66699                 Default is soft=False
66700
66701                 For soft=True vmtools should be installed on guest system.
66702
66703              CLI Example:
66704
66705                 salt-cloud -a stop vmname
66706                 salt-cloud -a stop vmname soft=True
66707
66708       salt.cloud.clouds.vmware.suspend(name, call=None)
66709              To suspend a VM using its name
66710
66711              CLI Example:
66712
66713                 salt-cloud -a suspend vmname
66714
66715       salt.cloud.clouds.vmware.terminate(name, call=None)
66716              To do an immediate power off of a VM using its name.  A  SIGKILL
66717              is issued to the vmx process of the VM
66718
66719              CLI Example:
66720
66721                 salt-cloud -a terminate vmname
66722
66723       salt.cloud.clouds.vmware.test_vcenter_connection(kwargs=None,
66724       call=None)
66725              Test if the connection can be made to the vCenter  server  using
66726              the  specified  credentials  inside /etc/salt/cloud.providers or
66727              /etc/salt/cloud.providers.d/vmware.conf
66728
66729              CLI Example:
66730
66731                 salt-cloud -f test_vcenter_connection my-vmware-config
66732
66733       salt.cloud.clouds.vmware.upgrade_tools(name, reboot=False, call=None)
66734              To upgrade VMware Tools on a specified virtual machine.
66735
66736              NOTE:
66737                 If the virtual machine is running Windows OS, use reboot=True
66738                 to  reboot  the  virtual  machine after VMware tools upgrade.
66739                 Default is reboot=False
66740
66741              CLI Example:
66742
66743                 salt-cloud -a upgrade_tools vmname
66744                 salt-cloud -a upgrade_tools vmname reboot=True
66745
66746       salt.cloud.clouds.vmware.upgrade_tools_all(call=None)
66747              To upgrade VMware Tools on all virtual machines present  in  the
66748              specified provider
66749
66750              NOTE:
66751                 If  the  virtual machine is running Windows OS, this function
66752                 will attempt to suppress the automatic  reboot  caused  by  a
66753                 VMware Tools upgrade.
66754
66755              CLI Example:
66756
66757                 salt-cloud -f upgrade_tools_all my-vmware-config
66758
66759   salt.cloud.clouds.vultrpy
66760   Vultr Cloud Module using python-vultr bindings
66761       New in version 2016.3.0.
66762
66763
66764       The  Vultr cloud module is used to control access to the Vultr VPS sys‐
66765       tem.
66766
66767       Use of this module only requires the api_key parameter.
66768
66769       Set  up  the  cloud  configuration  at   /etc/salt/cloud.providers   or
66770       /etc/salt/cloud.providers.d/vultr.conf:
66771
66772          my-vultr-config:
66773            # Vultr account api key
66774            api_key: <supersecretapi_key>
66775            driver: vultr
66776
66777       Set    up    the   cloud   profile   at   /etc/salt/cloud.profiles   or
66778       /etc/salt/cloud.profiles.d/vultr.conf:
66779
66780          nyc-4gb-4cpu-ubuntu-14-04:
66781            location: 1
66782            provider: my-vultr-config
66783            image: 160
66784            size: 95
66785            enable_private_network: True
66786
66787       This driver also supports Vultr's startup script feature.  You can list
66788       startup scripts in your account with
66789
66790          salt-cloud -f list_scripts <name of vultr provider>
66791
66792       That  list  will include the IDs of the scripts in your account.  Thus,
66793       if you have a script called 'setup-networking' with an ID of 493234 you
66794       can specify that startup script in a profile like so:
66795
66796          nyc-2gb-1cpu-ubuntu-17-04:
66797            location: 1
66798            provider: my-vultr-config
66799            image: 223
66800            size: 13
66801            startup_script_id: 493234
66802
66803       salt.cloud.clouds.vultrpy.avail_images(conn=None)
66804              Return available images
66805
66806       salt.cloud.clouds.vultrpy.avail_locations(conn=None)
66807              return available datacenter locations
66808
66809       salt.cloud.clouds.vultrpy.avail_scripts(conn=None)
66810              return available startup scripts
66811
66812       salt.cloud.clouds.vultrpy.avail_sizes(conn=None)
66813              Return available sizes ("plans" in VultrSpeak)
66814
66815       salt.cloud.clouds.vultrpy.create(vm_)
66816              Create a single VM from a data dict
66817
66818       salt.cloud.clouds.vultrpy.destroy(name)
66819              Remove a node from Vultr
66820
66821       salt.cloud.clouds.vultrpy.get_configured_provider()
66822              Return the first configured instance
66823
66824       salt.cloud.clouds.vultrpy.list_nodes(**kwargs)
66825              Return basic data on nodes
66826
66827       salt.cloud.clouds.vultrpy.list_nodes_full(**kwargs)
66828              Return all data on nodes
66829
66830       salt.cloud.clouds.vultrpy.list_nodes_select(conn=None, call=None)
66831              Return  a  list of the VMs that are on the provider, with select
66832              fields
66833
66834       salt.cloud.clouds.vultrpy.list_scripts(conn=None, call=None)
66835              return list of Startup Scripts
66836
66837       salt.cloud.clouds.vultrpy.show_instance(name, call=None)
66838              Show the details from the provider concerning an instance
66839
66840       salt.cloud.clouds.vultrpy.start(*args, **kwargs)
66841              Execute a "start" action on a VM
66842
66843       salt.cloud.clouds.vultrpy.stop(*args, **kwargs)
66844              Execute a "stop" action on a VM
66845
66846   salt.cloud.clouds.xen
66847   XenServer Cloud Driver
66848       The XenServer driver is designed to work with a Citrix XenServer.
66849
66850       Requires     XenServer     SDK     (can     be     downloaded      from
66851       https://www.citrix.com/downloads/xenserver/product-software/ )
66852
66853       Place a copy of the XenAPI.py in the Python site-packages folder.
66854
66855       depends
66856              XenAPI
66857
66858       Example provider configuration:
66859
66860              # /etc/salt/cloud.providers.d/myxen.conf
66861              myxen:
66862                driver: xen
66863                url: http://10.0.0.120
66864                user: root
66865                password: p@ssw0rd
66866
66867       Example profile configuration:
66868
66869              # /etc/salt/cloud.profiles.d/myxen.conf
66870              suse:
66871                provider: myxen
66872                user: root
66873                password: p@ssw0rd
66874                image: opensuseleap42_2-template
66875                storage_repo: 'Local storage'
66876                resource_pool: default_pool
66877                clone: True
66878                minion:
66879                  master: 10.0.0.18
66880              sles:
66881                provider: myxen
66882                user: root
66883                clone: False
66884                image: sles12sp2-template
66885                deploy: False
66886              w2k12:
66887                provider: myxen
66888                image: w2k12svr-template
66889                clone: True
66890                userdata_file: /srv/salt/win/files/windows-firewall.ps1
66891                win_installer: /srv/salt/win/files/Salt-Minion-2016.11.3-AMD64-Setup.exe
66892                win_username: Administrator
66893                win_password: p@ssw0rd
66894                use_winrm: False
66895                ipv4_cidr: 10.0.0.215/24
66896                ipv4_gw: 10.0.0.1
66897
66898       salt.cloud.clouds.xen.avail_images(call=None)
66899              Get a list of images from Xen
66900
66901              If called with the --list-images then it returns images with all
66902              details.
66903
66904                 salt-cloud --list-images myxen
66905
66906       salt.cloud.clouds.xen.avail_locations(session=None, call=None)
66907              Return available Xen locations (not implemented)
66908
66909                 salt-cloud --list-locations myxen
66910
66911       salt.cloud.clouds.xen.avail_sizes(session=None, call=None)
66912              Return a list of Xen template definitions
66913
66914                 salt-cloud --list-sizes myxen
66915
66916       salt.cloud.clouds.xen.create(vm_)
66917              Create a VM in Xen
66918
66919              The configuration for this function is  read  from  the  profile
66920              settings.
66921
66922                 salt-cloud -p some_profile xenvm01
66923
66924       salt.cloud.clouds.xen.destroy(name=None, call=None)
66925              Destroy Xen VM or template instance
66926
66927                 salt-cloud -d xenvm01
66928
66929       salt.cloud.clouds.xen.destroy_template(name=None,            call=None,
66930       kwargs=None)
66931              Destroy Xen VM or template instance
66932
66933                     salt-cloud -f destroy_template myxen name=testvm2
66934
66935       salt.cloud.clouds.xen.destroy_vm_vdis(name=None,          session=None,
66936       call=None)
66937              Get virtual block devices on VM
66938
66939                 salt-cloud -a destroy_vm_vdis  xenvm01
66940
66941       salt.cloud.clouds.xen.get_configured_provider()
66942              Return the first configured instance.
66943
66944       salt.cloud.clouds.xen.get_pv_args(name, session=None, call=None)
66945              Get PV arguments for a VM
66946
66947                 salt-cloud -a get_pv_args xenvm01
66948
66949       salt.cloud.clouds.xen.get_vm_ip(name=None, session=None, call=None)
66950              Get the IP address of the VM
66951
66952                 salt-cloud -a get_vm_ip xenvm01
66953
66954              NOTE:
66955                 Requires xen guest tools to be installed in VM
66956
66957       salt.cloud.clouds.xen.host_list(call=None)
66958              Get a list of Xen Servers
66959
66960                 salt-cloud -f host_list myxen
66961
66962       salt.cloud.clouds.xen.list_nodes()
66963              List virtual machines
66964
66965                     salt-cloud -Q
66966
66967       salt.cloud.clouds.xen.list_nodes_full(session=None)
66968              List full virtual machines
66969
66970                     salt-cloud -F
66971
66972       salt.cloud.clouds.xen.list_nodes_select(call=None)
66973              Perform a select query on Xen VM instances
66974
66975                 salt-cloud -S
66976
66977       salt.cloud.clouds.xen.pause(name, call=None, session=None)
66978              Pause a vm
66979
66980                 salt-cloud -a pause xenvm01
66981
66982       salt.cloud.clouds.xen.pif_list(call=None)
66983              Get a list of Resource Pools
66984
66985                 salt-cloud -f pool_list myxen
66986
66987       salt.cloud.clouds.xen.pool_list(call=None)
66988              Get a list of Resource Pools
66989
66990                 salt-cloud -f pool_list myxen
66991
66992       salt.cloud.clouds.xen.reboot(name, call=None, session=None)
66993              Reboot a vm
66994
66995                 salt-cloud -a reboot xenvm01
66996
66997       salt.cloud.clouds.xen.resume(name, call=None, session=None)
66998              Resume a vm from disk
66999
67000                 salt-cloud -a resume xenvm01
67001
67002       salt.cloud.clouds.xen.set_pv_args(name,    kwargs=None,   session=None,
67003       call=None)
67004              Set PV arguments for a VM
67005
67006                 salt-cloud -a set_pv_args xenvm01 pv_args="utf-8 graphical"
67007
67008       salt.cloud.clouds.xen.set_vm_ip(name=None,              ipv4_cidr=None,
67009       ipv4_gw=None, session=None, call=None)
67010              Set the IP address on a virtual interface (vif)
67011
67012       salt.cloud.clouds.xen.show_instance(name, session=None, call=None)
67013              Show information about a specific VM or template
67014
67015                     salt-cloud -a show_instance xenvm01
67016
67017              NOTE:
67018                 memory is memory_dynamic_max
67019
67020       salt.cloud.clouds.xen.shutdown(name, call=None, session=None)
67021              Shutdown  a vm
67022
67023                 salt-cloud -a shutdown xenvm01
67024
67025       salt.cloud.clouds.xen.sr_list(call=None)
67026              Geta list of storage repositories
67027
67028                 salt-cloud -f sr_list myxen
67029
67030       salt.cloud.clouds.xen.start(name, call=None, session=None)
67031              Start  a vm
67032
67033                 salt-cloud -a start xenvm01
67034
67035       salt.cloud.clouds.xen.stop(name, call=None, session=None)
67036              Stop a vm
67037
67038                 salt-cloud -a stop xenvm01
67039
67040       salt.cloud.clouds.xen.suspend(name, call=None, session=None)
67041              Suspend a vm to disk
67042
67043                 salt-cloud -a suspend xenvm01
67044
67045       salt.cloud.clouds.xen.template_list(call=None)
67046              Return available Xen template information.
67047
67048              This  returns the details of each template to show number cores,
67049              memory sizes, etc..
67050
67051                 salt-cloud -f template_list myxen
67052
67053       salt.cloud.clouds.xen.unpause(name, call=None, session=None)
67054              UnPause a vm
67055
67056                 salt-cloud -a unpause xenvm01
67057
67058       salt.cloud.clouds.xen.vbd_list(name=None, call=None)
67059              Get a list of VBDs on a VM
67060
67061              requires: the name of the vm with the vbd definition
67062
67063                 salt-cloud -a vbd_list xenvm01
67064
67065       salt.cloud.clouds.xen.vdi_list(call=None, kwargs=None)
67066              Return available Xen VDI images
67067
67068              If this function is called with the -f or --function then it can
67069              return  a  list with minimal deatil using the terse=True keyword
67070              argument.
67071
67072                 salt-cloud -f vdi_list myxen terse=True
67073
67074       salt.cloud.clouds.xen.vif_list(name, call=None, kwargs=None)
67075              Get a list of virtual network interfaces  on a VM
67076
67077              requires: the name of the vm with the vbd definition
67078
67079                 salt-cloud -a vif_list xenvm01
67080
67081   engine modules
67082                   ┌────────────────┬────────────────────────────┐
67083docker_events   │ Send  events  from  Docker │
67084                   │                │ events  :Depends:   Docker │
67085                   │                │ API >= 1.22                │
67086                   ├────────────────┼────────────────────────────┤
67087hipchat         │ An engine that reads  mes‐ │
67088                   │                │ sages   from  Hipchat  and │
67089                   │                │ sends  them  to  the  Salt │
67090                   │                │ event bus.                 │
67091                   ├────────────────┼────────────────────────────┤
67092http_logstash   │ HTTP Logstash engine       │
67093                   ├────────────────┼────────────────────────────┤
67094ircbot          │ IRC Bot engine             │
67095                   ├────────────────┼────────────────────────────┤
67096junos_syslog    │ Junos Syslog Engine        │
67097                   ├────────────────┼────────────────────────────┤
67098logentries      │ An   engine   that   sends │
67099                   │                │ events to  the  Logentries │
67100                   │                │ logging service.           │
67101                   ├────────────────┼────────────────────────────┤
67102logstash_engine │ An  engine that reads mes‐ │
67103                   │                │ sages from the salt  event │
67104                   │                │ bus and pushes them onto a │
67105                   │                │ logstash endpoint.         │
67106                   ├────────────────┼────────────────────────────┤
67107napalm_syslog   │ NAPALM syslog engine       │
67108                   ├────────────────┼────────────────────────────┤
67109reactor         │ Setup Reactor              │
67110                   ├────────────────┼────────────────────────────┤
67111redis_sentinel  │ An engine that reads  mes‐ │
67112                   │                │ sages  from the redis sen‐ │
67113                   │                │ tinel  pubsub  and   sends │
67114                   │                │ reactor  events  based  on │
67115                   │                │ the channels they are sub‐ │
67116                   │                │ scribed to.                │
67117                   ├────────────────┼────────────────────────────┤
67118slack           │ An  engine that reads mes‐ │
67119                   │                │ sages from Slack  and  can │
67120                   │                │ act on them                │
67121                   ├────────────────┼────────────────────────────┤
67122sqs_events      │ An  engine  that  continu‐ │
67123                   │                │ ously reads messages  from │
67124                   │                │ SQS   and  fires  them  as │
67125                   │                │ events.                    │
67126                   ├────────────────┼────────────────────────────┤
67127stalekey        │ An engine that uses  pres‐ │
67128                   │                │ ence   detection  to  keep │
67129                   │                │ track  of  which   minions │
67130                   │                │ have  been  recently  con‐ │
67131                   │                │ nected  and  remove  their │
67132                   │                │ keys if they have not been │
67133                   │                │ connected  for  a  certain │
67134                   │                │ period of time.            │
67135                   ├────────────────┼────────────────────────────┤
67136test            │ A  simple test engine, not │
67137                   │                │ intended for real use  but │
67138                   │                │ as an example              │
67139                   ├────────────────┼────────────────────────────┤
67140thorium         │ Manage the Thorium complex │
67141                   │                │ event reaction system      │
67142                   ├────────────────┼────────────────────────────┤
67143webhook         │ Send events  from  webhook │
67144                   │                │ api                        │
67145                   └────────────────┴────────────────────────────┘
67146
67147   salt.engines.docker_events module
67148       Send events from Docker events :Depends:   Docker API >= 1.22
67149
67150       salt.engines.docker_events.start(docker_url=u'unix://var/run/docker.sock',
67151       timeout=60, tag=u'salt/engines/docker_events', filters=None)
67152              Scan for Docker events and fire events
67153
67154              Example Config
67155
67156                 engines:
67157                   - docker_events:
67158                       docker_url: unix://var/run/docker.sock
67159                       filters:
67160                         event:
67161                         - start
67162                         - stop
67163                         - die
67164                         - oom
67165
67166              The config above sets up engines to listen for events  from  the
67167              Docker daemon and publish them to the Salt event bus.
67168
67169              For              filter              reference,              see
67170              https://docs.docker.com/engine/reference/commandline/events/
67171
67172   salt.engines.hipchat module
67173       An engine that reads messages from Hipchat and sends them to  the  Salt
67174       event  bus.  Alternatively Salt commands can be sent to the Salt master
67175       via Hipchat by setting the control parameter to True and using  command
67176       prefaced  with  a  !.  Only token key is required, but room and control
67177       keys make the engine interactive.
67178
67179       depends
67180              hypchat
67181
67182       configuration
67183              Example configuration
67184
67185                 engines:
67186                     - hipchat:
67187                         api_url: http://api.hipchat.myteam.com
67188                         token: 'XXXXXX'
67189                         room: 'salt'
67190                         control: True
67191                         valid_users:
67192                             - SomeUser
67193                         valid_commands:
67194                             - test.ping
67195                             - cmd.run
67196                             - list_jobs
67197                             - list_commands
67198                         aliases:
67199                             list_jobs:
67200                                 cmd: jobs.list_jobs
67201                             list_commands:
67202                                 cmd: pillar.get salt:engines:hipchat:valid_commands target=saltmaster
67203                         max_rooms: 0
67204                         wait_time: 1
67205
67206       salt.engines.hipchat.start(token,      room=u'salt',      aliases=None,
67207       valid_users=None,   valid_commands=None,  control=False,  trigger=u'!',
67208       tag=u'salt/engines/hipchat/incoming',    api_key=None,    api_url=None,
67209       max_rooms=None,     wait_time=None,     output_type=u'file',    output‐
67210       ter=u'nested')
67211              Listen to Hipchat messages and forward them to Salt.
67212
67213              token  The HipChat API key. It requires a key for global  usgae,
67214                     assigned per user, rather than room.
67215
67216              room   The HipChat room name.
67217
67218              aliases
67219                     Define custom aliases.
67220
67221              valid_users
67222                     Restrict access only to certain users.
67223
67224              valid_commands
67225                     Restrict the execution to a limited set of commands.
67226
67227              control
67228                     Send commands to the master.
67229
67230              trigger: !
67231                     Special  character  that  triggers  the execution of salt
67232                     commands.
67233
67234              tag: salt/engines/hipchat/incoming
67235                     The event tag on the Salt bus.
67236
67237              api_url: https://api.hipchat.com
67238                     The URL to the HipChat API.
67239
67240                     New in version 2017.7.0.
67241
67242
67243              max_rooms: 1000
67244                     Maximum number of rooms allowed to fetch. If set to 0, it
67245                     is able to retrieve the entire list of rooms.
67246
67247              wait_time: 5
67248                     Maximum wait time, in seconds.
67249
67250              output_type: file
67251                     The type of the output. Choose bewteen:
67252
67253                        · file:  save  the  output  into  a temporary file and
67254                          upload
67255
67256                        · html: send the output as HTML
67257
67258                        · code: send the output as code
67259
67260                     This can be overridden when executing  a  command,  using
67261                     the --out-type argument.
67262
67263                     New in version 2017.7.0.
67264
67265
67266              outputter: nested
67267                     The  format  to  display  the  data, using the outputters
67268                     available on the CLI.  This argument can also be overrid‐
67269                     den when executing a command, using the --out option.
67270
67271                     New in version 2017.7.0.
67272
67273
67274              HipChat Example:
67275
67276                 ! test.ping
67277                 ! test.ping target=minion1
67278                 ! test.ping --out=nested
67279                 ! test.ping --out-type=code --out=table
67280
67281   salt.engines.http_logstash
67282   HTTP Logstash engine
67283       An  engine  that reads messages from the salt event bus and pushes them
67284       onto a logstash endpoint via HTTP requests.
67285
67286       Changed in version 2018.3.0.
67287
67288
67289       NOTE:
67290          By default, this engine  take  everything  from  the  Salt  bus  and
67291          exports  into  Logstash.   For a better selection of the events that
67292          you want to publish, you can use the tags and funs options.
67293
67294       configuration
67295              Example configuration
67296
67297                 engines:
67298                   - http_logstash:
67299                       url: http://blabla.com/salt-stuff
67300                       tags:
67301                           - salt/job/*/new
67302                           - salt/job/*/ret/*
67303                       funs:
67304                           - probes.results
67305                           - bgp.config
67306
67307       salt.engines.http_logstash.start(url, funs=None, tags=None)
67308              Listen to salt events and forward them to logstash.
67309
67310              url    The Logstash endpoint.
67311
67312              funs: None
67313                     A list of functions to be compared against, looking  into
67314                     the  fun  field from the event data. This option helps to
67315                     select the events generated by one or more functions.  If
67316                     an event does not have the fun field in the data section,
67317                     it will be published. For a  better  selection,  consider
67318                     using  the  tags option.  By default, this option accepts
67319                     any event to be submitted to Logstash.
67320
67321              tags: None
67322                     A list of pattern to compare the event tag  against.   By
67323                     default, this option accepts any event to be submitted to
67324                     Logstash.
67325
67326   salt.engines.ircbot
67327       IRC Bot engine
67328
67329       New in version 2017.7.0.
67330
67331
67332       Example Configuration
67333
67334          engines:
67335            - ircbot:
67336                nick: <nick>
67337                username: <username>
67338                password: <password>
67339                host: chat.freenode.net
67340                port: 7000
67341                channels:
67342                  - salt-test
67343                  - '##something'
67344                use_ssl: True
67345                use_sasl: True
67346                disable_query: True
67347                allow_hosts:
67348                  - salt/engineer/.*
67349                allow_nicks:
67350                  - gtmanfred
67351
67352       Available commands on irc are:
67353
67354       ping   return pong
67355
67356       echo <stuff>
67357              return <stuff> targeted at the user who sent the commands
67358
67359       event <tag> [<extra>, <data>]
67360              fire event on the master or minion event  stream  with  the  tag
67361              salt/engines/ircbot/<tag>  and  a  data  object  with  a list of
67362              everything else sent in the message
67363
67364       Example of usage
67365
67366          08:33:57 @gtmanfred > !ping
67367          08:33:57   gtmanbot > gtmanfred: pong
67368          08:34:02 @gtmanfred > !echo ping
67369          08:34:02   gtmanbot > ping
67370          08:34:17 @gtmanfred > !event test/tag/ircbot irc is useful
67371          08:34:17   gtmanbot > gtmanfred: TaDa!
67372
67373          [DEBUG   ] Sending event: tag = salt/engines/ircbot/test/tag/ircbot; data = {'_stamp': '2016-11-28T14:34:16.633623', 'data': ['irc', 'is', 'useful']}
67374
67375       class salt.engines.ircbot.Event(source, code, line)
67376
67377              code   Alias for field number 1
67378
67379              line   Alias for field number 2
67380
67381              source Alias for field number 0
67382
67383       class  salt.engines.ircbot.IRCClient(nick,   host,   port=6667,   user‐
67384       name=None, password=None, channels=None, use_ssl=False, use_sasl=False,
67385       char=u'!', allow_hosts=False, allow_nicks=False, disable_query=True)
67386
67387              join_channel(channel)
67388
67389              on_closed()
67390
67391              on_connect()
67392
67393              read_messages()
67394
67395              send_message(line)
67396
67397       class salt.engines.ircbot.PrivEvent(source,  nick,  user,  host,  code,
67398       channel, command, line)
67399
67400              channel
67401                     Alias for field number 5
67402
67403              code   Alias for field number 4
67404
67405              command
67406                     Alias for field number 6
67407
67408              host   Alias for field number 3
67409
67410              line   Alias for field number 7
67411
67412              nick   Alias for field number 1
67413
67414              source Alias for field number 0
67415
67416              user   Alias for field number 2
67417
67418       salt.engines.ircbot.start(nick,  host,  port=6667, username=None, pass‐
67419       word=None,  channels=None,  use_ssl=False,  use_sasl=False,  char=u'!',
67420       allow_hosts=False, allow_nicks=False, disable_query=True)
67421              IRC Bot for interacting with salt.
67422
67423              nick   Nickname of the connected Bot.
67424
67425              host   irc server (example - chat.freenode.net).
67426
67427              port   irc port.  Default: 6667
67428
67429              password
67430                     password  for authenticating.  If not provided, user will
67431                     not authenticate on the irc server.
67432
67433              channels
67434                     channels to join.
67435
67436              use_ssl
67437                     connect to server using ssl. Default: False
67438
67439              use_sasl
67440                     authenticate using sasl, instead of  messaging  NickServ.
67441                     Default: False
67442
67443                     NOTE:
67444                        This will allow the bot user to be fully authenticated
67445                        before joining any channels
67446
67447              char   command character to look for. Default: !
67448
67449              allow_hosts
67450                     hostmasks allowed to use commands on the  bot.   Default:
67451                     False  True  to  allow  all  False  to allow none List of
67452                     regexes to allow matching
67453
67454              allow_nicks
67455                     Nicks that are  allowed  to  use  commands  on  the  bot.
67456                     Default: False True to allow all False to allow none List
67457                     of regexes to allow matching
67458
67459              disable_query
67460                     Disable commands from being sent through private queries.
67461                     Require they be sent to a channel, so that all communica‐
67462                     tion can be controlled by access to the channel. Default:
67463                     True
67464
67465              WARNING:
67466                 Unauthenticated Access to event stream
67467
67468                 This  engine  sends  events calls to the event stream without
67469                 authenticating them in salt.  Authentication will need to  be
67470                 configured  and enforced on the irc server or enforced in the
67471                 irc channel.  The engine only accepts commands from channels,
67472                 so  non authenticated users could be banned or quieted in the
67473                 channel.
67474
67475                 /mode +q $~a  # quiet all users  who  are  not  authenticated
67476                 /mode  +r       # do not allow unauthenticated users into the
67477                 channel
67478
67479                 It would also be possible to add a password to the irc  chan‐
67480                 nel, or only allow invited users to join.
67481
67482   salt.engines.junos_syslog module
67483   Junos Syslog Engine
67484       New in version 2017.7.0.
67485
67486
67487       depends
67488              pyparsing, twisted
67489
67490       An  engine  that  listens to syslog message from Junos devices, extract
67491       event information and generate message on SaltStack bus.
67492
67493       The event topic sent to salt is dynamically generated according to  the
67494       topic  title  specified  by the user. The incoming event data (from the
67495       junos device) consists of the following fields:
67496
67497       1.  hostname
67498
67499       2.  hostip
67500
67501       3.  daemon
67502
67503       4.  event
67504
67505       5.  severity
67506
67507       6.  priority
67508
67509       7.  timestamp
67510
67511       8.  message
67512
67513       9.  pid
67514
67515       10. raw (the raw event data forwarded from the device)
67516
67517       The topic title can consist of any of the combination of above  fields,
67518       but  the topic has to start with jnpr/syslog. Here are a couple example
67519       combinations:
67520
67521       · jnpr/syslog/hostip/daemon/event
67522
67523       · jnpr/syslog/daemon/severity
67524
67525       The corresponding dynamic topic sent on salt event bus would look some‐
67526       thing like:
67527
67528       · jnpr/syslog/1.1.1.1/mgd/UI_COMMIT_COMPLETED
67529
67530       · jnpr/syslog/sshd/7
67531
67532       The default topic title is jnpr/syslog/hostname/event.
67533
67534       One can choose the type of data they want from the event bus. For exam‐
67535       ple, if one wants only events pertaining to a particular  daemon,  this
67536       can be specified in the configuration file:
67537
67538          daemon: mgd
67539
67540       One can even have a list of daemons:
67541
67542          daemon:
67543            - mgd
67544            - sshd
67545
67546       Example configuration (to be written in master config file)
67547
67548          engines:
67549            - junos_syslog:
67550                port: 9999
67551                topic: jnpr/syslog/hostip/daemon/event
67552                daemon:
67553                  - mgd
67554                  - sshd
67555
67556       For  junos_syslog  engine  to receive events, syslog must be set on the
67557       junos device.  This can be done via following configuration:
67558
67559          set system syslog host <ip-of-the-salt-device> port 516 any any
67560
67561       Below is a sample syslog event which is received from the junos device:
67562
67563          <30>May 29 05:18:12 bng-ui-vm-9 mspd[1492]: No chassis configuration found
67564
67565       The  source  for  parsing  the   syslog   messages   is   taken   from:
67566       https://gist.github.com/leandrosilva/3651640#file-xlog-py
67567
67568       salt.engines.junos_syslog.start(port=516, **kwargs)
67569
67570   salt.engines.logentries
67571       An engine that sends events to the Logentries logging service.
67572
67573       maintainer
67574              Jimmy Tang (jimmy_tang@rapid7.com)
67575
67576       maturity
67577              New
67578
67579       depends
67580              ssl, certifi
67581
67582       platform
67583              all
67584
67585       To  enable this engine the master and/or minion will need the following
67586       python libraries
67587          ssl certifi
67588
67589       If you are running a new enough version of python then the ssl  library
67590       will be present already.
67591
67592       You  will  also  need  the following values configured in the minion or
67593       master config.
67594
67595       configuration
67596              Example configuration
67597
67598                 engines:
67599                   - logentries:
67600                     endpoint: data.logentries.com
67601                     port: 10000
67602                     token: 057af3e2-1c05-47c5-882a-5cd644655dbf
67603
67604       The 'token' can be obtained from the Logentries service.
67605
67606       To test this engine
67607
67608              salt '*' test.ping cmd.run uptime
67609
67610       class     salt.engines.logentries.PlainTextSocketAppender(verbose=True,
67611       LE_API=u'data.logentries.com', LE_PORT=80, LE_TLS_PORT=443)
67612
67613              close_connection()
67614
67615              open_connection()
67616
67617              put(data)
67618
67619              reopen_connection()
67620
67621       salt.engines.logentries.SocketAppender
67622              alias of salt.engines.logentries.TLSSocketAppender
67623
67624       class           salt.engines.logentries.TLSSocketAppender(verbose=True,
67625       LE_API=u'data.logentries.com', LE_PORT=80, LE_TLS_PORT=443)
67626
67627              open_connection()
67628
67629       salt.engines.logentries.start(endpoint=u'data.logentries.com',
67630       port=10000, token=None, tag=u'salt/engines/logentries')
67631              Listen to salt events and forward them to Logentries
67632
67633   salt.engines.logstash_engine
67634       An  engine  that reads messages from the salt event bus and pushes them
67635       onto a logstash endpoint.
67636
67637       configuration
67638              Example configuration
67639
67640                 engines:
67641                   - logstash:
67642                     host: log.my_network.com
67643                     port: 5959
67644                     proto: tcp
67645
67646       depends
67647              logstash
67648
67649       salt.engines.logstash_engine.start(host,                     port=5959,
67650       tag=u'salt/engine/logstash', proto=u'udp')
67651              Listen to salt events and forward them to logstash
67652
67653   salt.engines.napalm_syslog
67654   NAPALM syslog engine
67655       New in version 2017.7.0.
67656
67657
67658       An  engine  that takes syslog messages structured in OpenConfig or IETF
67659       format and fires Salt events.
67660
67661       As there can be many messages pushed into the event bus,  the  user  is
67662       able to filter based on the object structure.
67663
67664   Requirements
67665       · napalm-logs
67666
67667       This  engine  transfers  objects  from the napalm-logs library into the
67668       event bus. The top dictionary has the following keys:
67669
67670       · ip
67671
67672       · host
67673
67674       · timestamp
67675
67676       · os: the network OS identified
67677
67678       · model_name: the OpenConfig or IETF model name
67679
67680       · error: the error name (consult the documentation)
67681
67682       · message_details: details extracted from the syslog message
67683
67684       · open_config: the OpenConfig model
67685
67686       The napalm-logs transfers the messages via widely used transport mecha‐
67687       nisms such as: ZeroMQ (default), Kafka, etc.
67688
67689       The  user  can select the right transport using the transport option in
67690       the configuration.
67691
67692       configuration
67693              Example configuration
67694
67695                 engines:
67696                   - napalm_syslog:
67697                       transport: zmq
67698                       address: 1.2.3.4
67699                       port: 49018
67700
67701       configuration
67702              Configuration example, excluding messages from IOS-XR devices:
67703
67704                 engines:
67705                   - napalm_syslog:
67706                       transport: kafka
67707                       address: 1.2.3.4
67708                       port: 49018
67709                       os_blacklist:
67710                         - iosxr
67711
67712       Event example:
67713
67714          {
67715              "_stamp": "2017-05-26T10:03:18.653045",
67716              "error": "BGP_PREFIX_THRESH_EXCEEDED",
67717              "host": "vmx01",
67718              "ip": "192.168.140.252",
67719              "message_details": {
67720                  "date": "May 25",
67721                  "host": "vmx01",
67722                  "message": "192.168.140.254 (External AS 65001): Configured maximum prefix-limit threshold(22) exceeded for inet-unicast nlri: 28 (instance master)",
67723                  "pri": "28",
67724                  "processId": "2957",
67725                  "processName": "rpd",
67726                  "tag": "BGP_PREFIX_THRESH_EXCEEDED",
67727                  "time": "20:50:41"
67728              },
67729              "model_name": "openconfig_bgp",
67730              "open_config": {
67731                  "bgp": {
67732                      "neighbors": {
67733                          "neighbor": {
67734                              "192.168.140.254": {
67735                                  "afi_safis": {
67736                                      "afi_safi": {
67737                                          "inet": {
67738                                              "afi_safi_name": "inet",
67739                                              "ipv4_unicast": {
67740                                                  "prefix_limit": {
67741                                                      "state": {
67742                                                          "max_prefixes": 22
67743                                                      }
67744                                                  }
67745                                              },
67746                                              "state": {
67747                                                  "prefixes": {
67748                                                      "received": 28
67749                                                  }
67750                                              }
67751                                          }
67752                                      }
67753                                  },
67754                                  "neighbor_address": "192.168.140.254",
67755                                  "state": {
67756                                      "peer_as": 65001
67757                                  }
67758                              }
67759                          }
67760                      }
67761                  }
67762              },
67763              "os": "junos",
67764              "timestamp": "1495741841"
67765          }
67766
67767       To consume the events and eventually react and deploy  a  configuration
67768       changes  on the device(s) firing the event, one is able to identify the
67769       minion ID, using one of the following alternatives, but not limited to:
67770
67771       · Host grains to match the event tag
67772
67773       · Host DNS grain to match the IP address in the event data
67774
67775       · Hostname grains to match the event tag
67776
67777       · Define static grains
67778
67779       · Write a grains module
67780
67781       · Targeting minions using pillar data - The user can configure  certain
67782         information in the Pillar data and then use it to identify minions
67783
67784       Master configuration example, to match the event and react:
67785
67786          reactor:
67787            - 'napalm/syslog/*/BGP_PREFIX_THRESH_EXCEEDED/*':
67788              - salt://increase_prefix_limit_on_thresh_exceeded.sls
67789
67790       Which   matches   the   events   having   the   error   code   BGP_PRE‐
67791       FIX_THRESH_EXCEEDED from any network operating system,  from  any  host
67792       and  reacts, executing the increase_prefix_limit_on_thresh_exceeded.sls
67793       reactor, found under one of the file_roots paths.
67794
67795       Reactor example:
67796
67797          increase_prefix_limit_on_thresh_exceeded:
67798            local.net.load_template:
67799              - tgt: "hostname:{{ data['host'] }}"
67800              - tgt_type: grain
67801              - kwarg:
67802                  template_name: salt://increase_prefix_limit.jinja
67803                  openconfig_structure: {{ data['open_config'] }}
67804
67805       The reactor in the example increases the BGP prefix  limit  when  trig‐
67806       gered  by an event as above. The minion is matched using the host field
67807       from the data (which is the body of the event), compared to  the  host‐
67808       name  grain  field. When the event occurs, the reactor will execute the
67809       net.load_template  function,  sending   as   arguments   the   template
67810       salt://increase_prefix_limit.jinja  defined  by the user in their envi‐
67811       ronment and the complete OpenConfig  object  under  the  variable  name
67812       openconfig_structure.  Inside  the Jinja template, the user can process
67813       the object from openconfig_structure and define the bussiness logic  as
67814       required.
67815
67816       salt.engines.napalm_syslog.start(transport=u'zmq',  address=u'0.0.0.0',
67817       port=49017,  auth_address=u'0.0.0.0',  auth_port=49018,   disable_secu‐
67818       rity=False,   certificate=None,  os_whitelist=None,  os_blacklist=None,
67819       error_whitelist=None,    error_blacklist=None,     host_whitelist=None,
67820       host_blacklist=None)
67821              Listen  to  napalm-logs  and  publish events into the Salt event
67822              bus.
67823
67824              transport: zmq
67825                     Choose the desired transport.
67826
67827                     NOTE:
67828                        Currently zmq is the only valid option.
67829
67830              address: 0.0.0.0
67831                     The  address  of  the   publisher,   as   configured   on
67832                     napalm-logs.
67833
67834              port: 49017
67835                     The port of the publisher, as configured on napalm-logs.
67836
67837              auth_address: 0.0.0.0
67838                     The  address used for authentication when security is not
67839                     disabled.
67840
67841              auth_port: 49018
67842                     Port used for authentication.
67843
67844              disable_security: False
67845                     Trust unencrypted messages.  Strongly discouraged in pro‐
67846                     duction.
67847
67848              certificate: None
67849                     Absolute path to the SSL certificate.
67850
67851              os_whitelist: None
67852                     List  of operating systems allowed. By default everything
67853                     is allowed.
67854
67855              os_blacklist: None
67856                     List of operating system to be ignored.  Nothing  ignored
67857                     by default.
67858
67859              error_whitelist: None
67860                     List of errors allowed.
67861
67862              error_blacklist: None
67863                     List of errors ignored.
67864
67865              host_whitelist: None
67866                     List of hosts or IPs to be allowed.
67867
67868              host_blacklist: None
67869                     List of hosts of IPs to be ignored.
67870
67871   salt.engines.reactor module
67872       Setup Reactor
67873
67874       Example Config in Master or Minion config
67875
67876          engines:
67877            - reactor:
67878                refresh_interval: 60
67879                worker_threads: 10
67880                worker_hwm: 10000
67881
67882          reactor:
67883            - 'salt/cloud/*/destroyed':
67884              - /srv/reactor/destroy/*.sls
67885
67886       salt.engines.reactor.start(refresh_interval=None,  worker_threads=None,
67887       worker_hwm=None)
67888
67889   salt.engines.redis_sentinel module
67890       An engine that reads messages from the redis sentinel pubsub and  sends
67891       reactor events based on the channels they are subscribed to.
67892
67893       configuration
67894              Example configuration
67895
67896                 engines:
67897                   - redis_sentinel:
67898                       hosts:
67899                         matching: 'board*'
67900                         port: 26379
67901                         interface: eth2
67902                       channels:
67903                         - '+switch-master'
67904                         - '+odown'
67905                         - '-odown'
67906
67907       depends
67908              redis
67909
67910       class  salt.engines.redis_sentinel.Listener(host=None, port=None, chan‐
67911       nels=None, tag=None)
67912
67913              run()
67914
67915              work(item)
67916
67917       salt.engines.redis_sentinel.start(hosts, channels, tag=None)
67918
67919   salt.engines.slack module
67920       An engine that reads messages from Slack and can act on them
67921
67922       depends
67923              slackclient Python module
67924
67925       IMPORTANT:
67926          This engine requires a bot user. To create a bot user, first  go  to
67927          the Custom Integrations page in your Slack Workspace. Copy and paste
67928          the following URL, and replace myworkspace with the proper value for
67929          your workspace:
67930
67931          https://myworkspace.slack.com/apps/manage/custom-integrations
67932
67933          Next,  click  on the Bots integration and request installation. Once
67934          approved by an admin, you will be able to proceed  with  adding  the
67935          bot user.  Once the bot user has been added, you can configure it by
67936          adding an avatar, setting the display name, etc. You  will  also  at
67937          this  time  have  access  to your API token, which will be needed to
67938          configure this engine.
67939
67940          Finally, add this bot user to a channel by switching to the  channel
67941          and  using  /invite  @mybotuser.  Keep in mind that this engine will
67942          process messages from each channel in which the bot is a member,  so
67943          it  is recommended to narrowly define the commands which can be exe‐
67944          cuted, and the Slack users which are allowed to run commands.
67945
67946       This engine has two boolean configuration parameters that  toggle  spe‐
67947       cific features (both default to False):
67948
67949       1. control  -  If  set  to True, then any message which starts with the
67950          trigger string (which defaults to ! and can be overridden by setting
67951          the  trigger option in the engine configuration) will be interpreted
67952          as a Salt CLI command and the engine will attempt  to  run  it.  The
67953          permissions  defined  in  the  various  groups will determine if the
67954          Slack  user  is  allowed  to  run  the  command.  The  targets   and
67955          default_target  options  can be used to set targets for a given com‐
67956          mand, but the engine can also read the following two  keyword  argu‐
67957          ments:
67958
67959          · target - The target expression to use for the command
67960
67961          · tgt_type  - The match type, can be one of glob, list, pcre, grain,
67962            grain_pcre, pillar, nodegroup, range,  ipcidr,  or  compound.  The
67963            default value is glob.
67964
67965          Here are a few examples:
67966
67967             !test.ping target=*
67968             !state.apply foo target=os:CentOS tgt_type=grain
67969             !pkg.version mypkg target=role:database tgt_type=pillar
67970
67971       2. fire_all  - If set to True, all messages which are not prefixed with
67972          the trigger string will fired as events onto  Salt's  ref:event  bus
67973          <event-system>.  The  tag for these veents will be prefixed with the
67974          string   specified   by   the   tag    config    option    (default:
67975          salt/engines/slack).
67976
67977       The groups_pillar_name config option can be used to pull group configu‐
67978       ration from the specified pillar key.
67979
67980       NOTE:
67981          In order to use groups_pillar_name, the engine must be running as  a
67982          minion  running on the master, so that the Caller client can be used
67983          to retrieve that minions pillar data,  because  the  master  process
67984          does not have pillar data.
67985
67986   Configuration Examples
67987       Changed in version 2017.7.0: Access control group support added
67988
67989
67990       This  example  uses  a  single group called default. In addition, other
67991       groups are being loaded from pillar data. The group names do  not  have
67992       any significance, it is the users and commands defined within them that
67993       are used to determine whether the Slack user has permission to run  the
67994       desired command.
67995
67996          engines:
67997            - slack:
67998                token: 'xoxb-xxxxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxx'
67999                control: True
68000                fire_all: False
68001                groups_pillar_name: 'slack_engine:groups_pillar'
68002                groups:
68003                  default:
68004                    users:
68005                      - '*'
68006                    commands:
68007                      - test.ping
68008                      - cmd.run
68009                      - list_jobs
68010                      - list_commands
68011                    aliases:
68012                      list_jobs:
68013                        cmd: jobs.list_jobs
68014                      list_commands:
68015                        cmd: 'pillar.get salt:engines:slack:valid_commands target=saltmaster tgt_type=list'
68016                    default_target:
68017                      target: saltmaster
68018                      tgt_type: glob
68019                    targets:
68020                      test.ping:
68021                        target: '*'
68022                        tgt_type: glob
68023                      cmd.run:
68024                        target: saltmaster
68025                        tgt_type: list
68026
68027       This  example  shows  multiple groups applying to different users, with
68028       all users having access to run test.ping. Keep in mind that when  using
68029       *,  the value must be quoted, or else PyYAML will fail to load the con‐
68030       figuration.
68031
68032          engines:
68033            - slack:
68034                groups_pillar: slack_engine_pillar
68035                token: 'xoxb-xxxxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxx'
68036                control: True
68037                fire_all: True
68038                tag: salt/engines/slack
68039                groups_pillar_name: 'slack_engine:groups_pillar'
68040                groups:
68041                  default:
68042                    users:
68043                      - '*'
68044                    commands:
68045                      - test.ping
68046                    aliases:
68047                      list_jobs:
68048                        cmd: jobs.list_jobs
68049                      list_commands:
68050                        cmd: 'pillar.get salt:engines:slack:valid_commands target=saltmaster tgt_type=list'
68051                  gods:
68052                    users:
68053                      - garethgreenaway
68054                    commands:
68055                      - '*'
68056
68057       class salt.engines.slack.SlackClient(token)
68058
68059              can_user_run(user, command, groups)
68060                     Break out the permissions into the following:
68061
68062                     Check whether a user is in any group, including whether a
68063                     group has the '*' membership
68064
68065                     Parameters
68066
68067                            · user (str) -- The username being checked against
68068
68069                            · command  (str)  --  The  command  that  is being
68070                              invoked (e.g. test.ping)
68071
68072                            · groups (dict) -- the dictionary with groups per‐
68073                              missions structure.
68074
68075                     Return type
68076                            tuple
68077
68078                     Returns
68079                            On  a  successful permitting match, returns 2-ele‐
68080                            ment tuple that contains the  name  of  the  group
68081                            that  successfully  matched, and a dictionary con‐
68082                            taining the configuration of the group so  it  can
68083                            be referenced.
68084
68085                            On failure it returns an empty tuple
68086
68087
68088              commandline_to_list(cmdline_str, trigger_string)
68089                     cmdline_str  is  the  string  of  the  command line trig‐
68090                     ger_string is the trigger string, to be removed
68091
68092              control_message_target(slack_user_name,   text,   loaded_groups,
68093              trigger_string)
68094                     Returns a tuple of (target, cmdline,) for the response
68095
68096                     Raises  IndexError  if  a  user  can't  be looked up from
68097                     all_slack_users
68098
68099                     Returns (False, False) if the user doesn't  have  permis‐
68100                     sion
68101
68102                     These  are  returned together because the commandline and
68103                     the targeting interact with the  group  config  (specifi‐
68104                     cally aliases and targeting configuration) so taking care
68105                     of them together works out.
68106
68107                     The cmdline that is returned  is  the  actual  list  that
68108                     should be processed by salt, and not the alias.
68109
68110              fire(tag, msg)
68111                     This replaces a function in main called 'fire'
68112
68113                     It fires an event into the salt bus.
68114
68115              format_return_text(data, function, **kwargs)
68116                     Print out YAML using the block mode
68117
68118              generate_triggered_messages(token,    trigger_string,    groups,
68119              groups_pillar_name)
68120                     slack_token   =   string    trigger_string    =    string
68121                     input_valid_users = set input_valid_commands = set
68122
68123                     When the trigger_string prefixes the message text, yields
68124                     a dictionary of:
68125
68126                        {
68127                            'message_data': m_data,
68128                            'cmdline': cmdline_list, # this is a list
68129                            'channel': channel,
68130                            'user': m_data['user'],
68131                            'slack_client': sc
68132                        }
68133
68134                     else yields {'message_data': m_data} and the  caller  can
68135                     handle that
68136
68137                     When encountering an error (e.g. invalid message), yields
68138                     {}, the caller can proceed to the next message
68139
68140                     When the websocket being read from has given up  all  its
68141                     messages,  yields  {'done':  True}  to  indicate that the
68142                     caller has read all of the relevant  data  for  now,  and
68143                     should  continue  its  own  processing and check back for
68144                     more data later.
68145
68146                     This relies on the caller sleeping between checks, other‐
68147                     wise this could flood
68148
68149              get_config_groups(groups_conf, groups_pillar_name)
68150                     get info from groups in config, and from the named pillar
68151
68152                     todo:  add specification for the minion to use to recover
68153                     pillar
68154
68155              get_jobs_from_runner(outstanding_jids)
68156                     Given a list of job_ids, return  a  dictionary  of  those
68157                     job_ids that have completed and their results.
68158
68159                     Query   the   salt   event   bus  via  the  jobs  runner.
68160                     jobs.list_job   will   show   a    job    in    progress,
68161                     jobs.lookup_jid will return a job that has completed.
68162
68163                     returns a dictionary of job id: result
68164
68165              get_slack_channels(token)
68166                     Get all channel names from Slack
68167
68168              get_slack_users(token)
68169                     Get all users from Slack
68170
68171              get_target(permitted_group, cmdline, alias_cmdline)
68172                     When  we are permitted to run a command on a target, look
68173                     to see what the default targeting is for that group,  and
68174                     for that specific command (if provided).
68175
68176                     It's  possible  for  None  or  False  to be the result of
68177                     either, which means that it's expected  that  the  caller
68178                     provide a specific target.
68179
68180                     If  no  configured  target  is provided, the command line
68181                     will be parsed for target=foo and tgt_type=bar
68182
68183                     Test for this:
68184
68185                        h = {'aliases': {}, 'commands': {'cmd.run', 'pillar.get'},
68186                            'default_target': {'target': '*', 'tgt_type': 'glob'},
68187                            'targets': {'pillar.get': {'target': 'you_momma', 'tgt_type': 'list'}},
68188                            'users': {'dmangot', 'jmickle', 'pcn'}}
68189                        f = {'aliases': {}, 'commands': {'cmd.run', 'pillar.get'},
68190                             'default_target': {}, 'targets': {},'users': {'dmangot', 'jmickle', 'pcn'}}
68191
68192                        g = {'aliases': {}, 'commands': {'cmd.run', 'pillar.get'},
68193                             'default_target': {'target': '*', 'tgt_type': 'glob'},
68194                             'targets': {}, 'users': {'dmangot', 'jmickle', 'pcn'}}
68195
68196                     Run each of  them  through  get_configured_target(('foo',
68197                     f), 'pillar.get') and confirm a valid target
68198
68199              message_text(m_data)
68200                     Raises  ValueError if a value doesn't work out, and Type‐
68201                     Error if this isn't a message type
68202
68203              parse_args_and_kwargs(cmdline)
68204                     cmdline: list
68205
68206                     returns tuple of: args (list), kwargs (dict)
68207
68208              run_command_async(msg)
68209
68210                     Parameters
68211
68212                            · message_generator (generator of dict) --  Gener‐
68213                              ates messages from slack that should be run
68214
68215                            · fire_all (bool) -- Whether to also fire messages
68216                              to the event bus
68217
68218                            · tag (str) -- The tag to send to use to  send  to
68219                              the event bus
68220
68221                            · interval  (int) -- time to wait between ending a
68222                              loop and beginning the next
68223
68224              run_commands_from_slack_async(message_generator, fire_all,  tag,
68225              control, interval=1)
68226                     Pull  any  pending  messages  from the message_generator,
68227                     sending each one  to  either  the  event  bus,  the  com‐
68228                     mand_async  or  both, depending on the values of fire_all
68229                     and command
68230
68231       salt.engines.slack.start(token,      control=False,       trigger=u'!',
68232       groups=None,          groups_pillar_name=None,          fire_all=False,
68233       tag=u'salt/engines/slack')
68234              Listen to slack events and forward them to salt, new version
68235
68236   salt.engines.sqs_events
68237       An engine that continuously reads messages from SQS and fires  them  as
68238       events.
68239
68240       Note that long polling is utilized to avoid excessive CPU usage.
68241
68242       New in version 2015.8.0.
68243
68244
68245       depends
68246              boto
68247
68248   Configuration
68249       This engine can be run on the master or on a minion.
68250
68251       Example Config:
68252
68253          sqs.keyid: GKTADJGHEIQSXMKKRBJ08H
68254          sqs.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
68255          sqs.message_format: json
68256
68257       Explicit  sqs credentials are accepted but this engine can also utilize
68258       IAM roles assigned to the instance through Instance  Profiles.  Dynamic
68259       credentials are then automatically obtained from AWS API and no further
68260       configuration is necessary. More Information available at:
68261
68262          http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html
68263
68264       If IAM roles are not (or for boto version < 2.5.1)  used  you  need  to
68265       specify  them either in a pillar or in the config file of the master or
68266       minion, as appropriate:
68267
68268       To deserialize the message from json:
68269
68270          sqs.message_format: json
68271
68272       It's also possible to specify key, keyid and region via a profile:
68273
68274          sqs.keyid: GKTADJGHEIQSXMKKRBJ08H
68275          sqs.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
68276
68277       A region may also be specified in the configuration:
68278
68279          sqs.region: us-east-1
68280
68281       If a region is not specified, the default is us-east-1.
68282
68283       It's also possible to specify key, keyid and region via a profile:
68284
68285          myprofile:
68286            keyid: GKTADJGHEIQSXMKKRBJ08H
68287            key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
68288            region: us-east-1
68289
68290       Additionally you can define cross account sqs:
68291
68292          engines:
68293            - sqs_events:
68294                queue: prod
68295                owner_acct_id: 111111111111
68296
68297       salt.engines.sqs_events.start(queue,                      profile=None,
68298       tag=u'salt/engine/sqs', owner_acct_id=None)
68299              Listen to sqs and fire message on event bus
68300
68301   salt.engines.stalekey module
68302       An  engine  that uses presence detection to keep track of which minions
68303       have been recently connected and remove their keys  if  they  have  not
68304       been connected for a certain period of time.
68305
68306       Requires that the minion_data_cache option be enabled.
68307
68308       configuration
68309
68310              Example configuration
68311
68312                     engines:
68313
68314                            ·
68315
68316                              stalekey:
68317                                     interval: 3600 expire: 86400
68318
68319       salt.engines.stalekey.start(interval=3600, expire=604800)
68320
68321   salt.engines.test
68322       A simple test engine, not intended for real use but as an example
68323
68324       salt.engines.test.start()
68325              Listen to events and write them to a log file
68326
68327   salt.engines.thorium module
68328       Manage the Thorium complex event reaction system
68329
68330       salt.engines.thorium.start(grains=False, grain_keys=None, pillar=False,
68331       pillar_keys=None)
68332              Execute the Thorium runtime
68333
68334   salt.engines.webhook
68335       Send events from webhook api
68336
68337       salt.engines.webhook.start(address=None,    port=5000,    ssl_crt=None,
68338       ssl_key=None)
68339              Api to listen for webhooks to send to the reactor.
68340
68341              Implement the webhook behavior in an engine.  rest_cherrypy Web‐
68342              hook docs
68343
68344              Unlike the rest_cherrypy Webhook, this is  only  an  unauthenti‐
68345              cated webhook endpoint.  If an authenticated webhook endpoint is
68346              needed, use the salt-api webhook which runs on  the  master  and
68347              authenticates through eauth.
68348
68349              WARNING:
68350                 Unauthenticated endpoint
68351
68352                 This  engine sends webhook calls to the event stream.  If the
68353                 engine is running on a minion  with  file_client:  local  the
68354                 event  is  sent  to the minion event stream.  Otherwise it is
68355                 sent to the master event stream.
68356
68357              Example Config
68358
68359                 engines:
68360                   - webhook: {}
68361
68362                 engines:
68363                   - webhook:
68364                       port: 8000
68365                       address: 10.128.1.145
68366                       ssl_crt: /etc/pki/tls/certs/localhost.crt
68367                       ssl_key: /etc/pki/tls/certs/localhost.key
68368
68369   executors modules
68370                     ┌────────────┬────────────────────────────┐
68371direct_call │ Direct call executor  mod‐ │
68372                     │            │ ule                        │
68373                     ├────────────┼────────────────────────────┤
68374docker      │ Docker executor module     │
68375                     ├────────────┼────────────────────────────┤
68376splay       │ Splay    function    calls │
68377                     │            │ across targeted minions    │
68378                     ├────────────┼────────────────────────────┤
68379sudo        │ Sudo executor module       │
68380                     └────────────┴────────────────────────────┘
68381
68382   salt.executors.direct_call module
68383       Direct call executor module
68384
68385       salt.executors.direct_call.execute(opts, data, func, args, kwargs)
68386              Directly calls the given function with arguments
68387
68388   salt.executors.docker module
68389       Docker executor module
68390
68391       Used with the docker proxy minion.
68392
68393       salt.executors.docker.allow_missing_func(function)
68394              Allow all calls to be passed through to docker container.
68395
68396              The docker call will use direct_call, which will return back  if
68397              the module was unable to be run.
68398
68399       salt.executors.docker.execute(opts, data, func, args, kwargs)
68400              Directly calls the given function with arguments
68401
68402   salt.executors.splay module
68403       Splay function calls across targeted minions
68404
68405       salt.executors.splay.execute(opts, data, func, args, kwargs)
68406              Splay  a salt function call execution time across minions over a
68407              number of seconds (default: 300)
68408
68409              NOTE:
68410                 You probably want to use --async here and  look  up  the  job
68411                 results later.  If you're dead set on getting the output from
68412                 the CLI command, then make sure to set the timeout (with  the
68413                 -t  flag) to something greater than the splaytime (max splay‐
68414                 time + time to execute job).   Otherwise,  it's  very  likely
68415                 that the cli will time out before the job returns.
68416
68417              CLI Example:
68418
68419                 # With default splaytime
68420                 salt --async --module-executors='[splay, direct_call]' '*' pkg.install cowsay version=3.03-8.el6
68421
68422                 # With specified splaytime (5 minutes) and timeout with 10 second buffer
68423                 salt -t 310 --module-executors='[slpay, direct_call]' --executor-opts='{splaytime: 300}' '*' pkg.version cowsay
68424
68425   salt.executors.sudo module
68426       Sudo executor module
68427
68428       salt.executors.sudo.execute(opts, data, func, args, kwargs)
68429              Allow for the calling of execution modules via sudo.
68430
68431              This  module  is  invoked  by the minion if the sudo_user minion
68432              config is present.
68433
68434              Example minion config:
68435
68436                 sudo_user: saltdev
68437
68438              Once this setting is made, any execution module call done by the
68439              minion  will  be  run  under sudo -u <sudo_user> salt-call.  For
68440              example, with the above minion config,
68441
68442                 salt sudo_minion cmd.run 'cat /etc/sudoers'
68443
68444              is equivalent to
68445
68446                 sudo -u saltdev salt-call cmd.run 'cat /etc/sudoers'
68447
68448              being run on sudo_minion.
68449
68450   fileserver modules
68451                       ┌─────────┬────────────────────────────┐
68452azurefs  │                            │
68453                       ├─────────┼────────────────────────────┤
68454gitfs    │ Git Fileserver Backend     │
68455                       ├─────────┼────────────────────────────┤
68456hgfs     │ Mercurial Fileserver Back‐ │
68457                       │         │ end                        │
68458                       ├─────────┼────────────────────────────┤
68459minionfs │ Fileserver  backend  which │
68460                       │         │ serves files pushed to the │
68461                       │         │ Master                     │
68462                       ├─────────┼────────────────────────────┤
68463roots    │ The  default  file  server │
68464                       │         │ backend                    │
68465                       ├─────────┼────────────────────────────┤
68466s3fs     │ Amazon S3 Fileserver Back‐ │
68467                       │         │ end                        │
68468                       ├─────────┼────────────────────────────┤
68469svnfs    │ Subversion      Fileserver │
68470                       │         │ Backend                    │
68471                       └─────────┴────────────────────────────┘
68472
68473   salt.fileserver.gitfs
68474       Git Fileserver Backend
68475
68476       With this backend, branches and tags in a  remote  git  repository  are
68477       exposed to salt as different environments.
68478
68479       To  enable,  add  gitfs  to the fileserver_backend option in the Master
68480       config file.
68481
68482          fileserver_backend:
68483            - gitfs
68484
68485       NOTE:
68486          git also works here. Prior to the 2018.3.0 release, only  git  would
68487          work.
68488
68489       The  Git fileserver backend supports both pygit2 and GitPython, to pro‐
68490       vide the Python interface to git. If both are  present,  the  order  of
68491       preference  for  which  one  will be chosen is the same as the order in
68492       which they were listed: pygit2, then GitPython.
68493
68494       An optional master config parameter (gitfs_provider)  can  be  used  to
68495       specify  which  provider  should  be used, in the event that compatible
68496       versions of both pygit2 and GitPython are installed.
68497
68498       More detailed information on how to use GitFS can be found in the GitFS
68499       Walkthrough.
68500
68501       NOTE:
68502          Minimum requirements
68503
68504          To use pygit2 for GitFS requires a minimum pygit2 version of 0.20.3.
68505          pygit2 0.20.3 requires libgit2 0.20.0. pygit2 and libgit2 are devel‐
68506          oped  alongside  one another, so it is recommended to keep them both
68507          at the same major release to avoid unexpected behavior. For example,
68508          pygit2  0.21.x  requires  libgit2 0.21.x, pygit2 0.22.x will require
68509          libgit2 0.22.x, etc.
68510
68511          To use GitPython for GitFS requires a minimum GitPython  version  of
68512          0.3.0,  as  well as the git CLI utility. Instructions for installing
68513          GitPython can be found here.
68514
68515          To clear stale refs the git CLI utility must also be installed.
68516
68517   salt.fileserver.hgfs
68518       Mercurial Fileserver Backend
68519
68520       To enable, add hgfs to the fileserver_backend option in the Master con‐
68521       fig file.
68522
68523          fileserver_backend:
68524            - hgfs
68525
68526       NOTE:
68527          hg  also  works  here.  Prior to the 2018.3.0 release, only hg would
68528          work.
68529
68530       After enabling this backend, branches, bookmarks, and tags in a  remote
68531       mercurial  repository  are  exposed  to salt as different environments.
68532       This feature is managed by the fileserver_backend option  in  the  salt
68533       master config file.
68534
68535       This  fileserver  has an additional option hgfs_branch_method that will
68536       set the desired branch method. Possible  values  are:  branches,  book‐
68537       marks, or mixed. If using branches or mixed, the default branch will be
68538       mapped to base.
68539
68540       Changed in version 2014.1.0: The hgfs_base master config parameter  was
68541       added, allowing for a branch other than default to be used for the base
68542       environment, and allowing for a base environment to be  specified  when
68543       using an hgfs_branch_method of bookmarks.
68544
68545
68546       depends
68547
68548              · mercurial
68549
68550              · python bindings for mercurial (python-hglib)
68551
68552   salt.fileserver.minionfs
68553       Fileserver backend which serves files pushed to the Master
68554
68555       The  cp.push  function  allows  Minions to push files up to the Master.
68556       Using this backend, these pushed files are exposed to other Minions via
68557       the Salt fileserver.
68558
68559       To  enable  minionfs,  file_recv  needs to be set to True in the master
68560       config file (otherwise cp.push will not be allowed to push files to the
68561       Master), and minionfs must be added to the fileserver_backends list.
68562
68563          fileserver_backend:
68564            - minionfs
68565
68566       NOTE:
68567          minion  also  works here. Prior to the 2018.3.0 release, only minion
68568          would work.
68569
68570       Other minionfs settings  include:  minionfs_whitelist,  minionfs_black‐
68571       list, minionfs_mountpoint, and minionfs_env.
68572
68573       SEE ALSO:
68574          tutorial-minionfs
68575
68576   salt.fileserver.roots
68577       The default file server backend
68578
68579       This  fileserver  backend serves files from the Master's local filesys‐
68580       tem. If fileserver_backend is not defined in the  Master  config  file,
68581       then  this  backend  is enabled by default. If it is defined then roots
68582       must be in the fileserver_backend list to enable this backend.
68583
68584          fileserver_backend:
68585            - roots
68586
68587       Fileserver environments are defined using the file_roots  configuration
68588       option.
68589
68590   salt.fileserver.s3fs
68591       Amazon S3 Fileserver Backend
68592
68593       New in version 0.16.0.
68594
68595
68596       This backend exposes directories in S3 buckets as Salt environments. To
68597       enable this backend, add s3fs to the fileserver_backend option  in  the
68598       Master config file.
68599
68600          fileserver_backend:
68601            - s3fs
68602
68603       S3 credentials must also be set in the master config file:
68604
68605          s3.keyid: GKTADJGHEIQSXMKKRBJ08H
68606          s3.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
68607
68608       Alternatively,  if on EC2 these credentials can be automatically loaded
68609       from instance metadata.
68610
68611       This fileserver supports two modes of operation for the buckets:
68612
68613       1. A single bucket per environment
68614
68615             s3.buckets:
68616               production:
68617                 - bucket1
68618                 - bucket2
68619               staging:
68620                 - bucket3
68621                 - bucket4
68622
68623       2. Multiple environments per bucket
68624
68625             s3.buckets:
68626               - bucket1
68627               - bucket2
68628               - bucket3
68629               - bucket4
68630
68631       Note that bucket names must be all lowercase both in  the  AWS  console
68632       and in Salt, otherwise you may encounter SignatureDoesNotMatch errors.
68633
68634       A  multiple-environment bucket must adhere to the following root direc‐
68635       tory structure:
68636
68637          s3://<bucket name>/<environment>/<files>
68638
68639       NOTE:
68640          This fileserver back-end requires the use of the MD5  hashing  algo‐
68641          rithm.  MD5 may not be compliant with all security policies.
68642
68643       NOTE:
68644          This  fileserver back-end is only compatible with MD5 ETag hashes in
68645          the S3 metadata. This means that you must use  SSE-S3  or  plaintext
68646          for  bucket  encryption,  and that you must not use multipart upload
68647          when   uploading   to   your   bucket.   More   information    here:
68648          https://docs.aws.amazon.com/AmazonS3/latest/API/RESTCommonResponseHeaders.html
68649
68650          Objects without an MD5 ETag will  be  fetched  on  every  fileserver
68651          update.
68652
68653          If  you  deal with objects greater than 8MB, then you should use the
68654          following AWS CLI config to avoid mutipart upload:
68655
68656              s3 =
68657                multipart_threshold = 1024MB
68658
68659          More                           info                            here:
68660          https://docs.aws.amazon.com/cli/latest/topic/s3-config.html
68661
68662   salt.fileserver.svnfs
68663       Subversion Fileserver Backend
68664
68665       After  enabling  this backend, branches and tags in a remote subversion
68666       repository are exposed to salt as  different  environments.  To  enable
68667       this  backend, add svnfs to the fileserver_backend option in the Master
68668       config file.
68669
68670          fileserver_backend:
68671            - svnfs
68672
68673       NOTE:
68674          svn also works here. Prior to the 2018.3.0 release, only  svn  would
68675          work.
68676
68677       This  backend  assumes  a  standard  svn  layout  with  directories for
68678       branches, tags, and trunk, at the repository root.
68679
68680       depends
68681
68682              · subversion
68683
68684              · pysvn
68685
68686       Changed in version 2014.7.0: The paths to the trunk, branches, and tags
68687       have  been  made  configurable,  via  the  config  options svnfs_trunk,
68688       svnfs_branches,  and  svnfs_tags.   svnfs_mountpoint  was  also  added.
68689       Finally, support for per-remote configuration parameters was added. See
68690       the documentation for more information.
68691
68692
68693   grains modules
68694                     ┌────────────┬────────────────────────────┐
68695cimc        │ Generate  baseline   proxy │
68696                     │            │ minion   grains  for  cimc │
68697                     │            │ hosts.                     │
68698                     ├────────────┼────────────────────────────┤
68699chronos     │ Generate   chronos   proxy │
68700                     │            │ minion grains.             │
68701                     ├────────────┼────────────────────────────┤
68702core        │ The  static  grains, these │
68703                     │            │ are the core, or built  in │
68704                     │            │ grains.                    │
68705                     ├────────────┼────────────────────────────┤
68706disks       │ Detect disks               │
68707                     ├────────────┼────────────────────────────┤
68708esxi        │ Generate   baseline  proxy │
68709                     │            │ minion  grains  for   ESXi │
68710                     │            │ hosts.                     │
68711                     ├────────────┼────────────────────────────┤
68712extra       │                            │
68713                     ├────────────┼────────────────────────────┤
68714fx2         │ Generate   baseline  proxy │
68715                     │            │ minion grains for Dell FX2 │
68716                     │            │ chassis.                   │
68717                     ├────────────┼────────────────────────────┤
68718junos       │ Grains for junos.          │
68719                     ├────────────┼────────────────────────────┤
68720marathon    │ Generate   marathon  proxy │
68721                     │            │ minion grains.             │
68722                     ├────────────┼────────────────────────────┤
68723mdadm       │ Detect MDADM RAIDs         │
68724                     ├────────────┼────────────────────────────┤
68725metadata    │ Grains from cloud metadata │
68726                     │            │ servers at 169.254.169.254 │
68727                     ├────────────┼────────────────────────────┤
68728napalm      │ NAPALM Grains              │
68729                     ├────────────┼────────────────────────────┤
68730opts        │ Simple  grain to merge the │
68731                     │            │ opts   into   the   grains │
68732                     │            │ directly if the grain_opts │
68733                     │            │ configuration value is set │
68734                     ├────────────┼────────────────────────────┤
68735panos       │ Generate  baseline   proxy │
68736                     │            │ minion  grains  for  panos │
68737                     │            │ hosts.                     │
68738                     ├────────────┼────────────────────────────┤
68739philips_hue │ Static  grains   for   the │
68740                     │            │ Philips HUE lamps          │
68741                     ├────────────┼────────────────────────────┤
68742rest_sample │ Generate   baseline  proxy │
68743                     │            │ minion grains              │
68744                     └────────────┴────────────────────────────┘
68745
68746   salt.grains.cimc
68747       Generate baseline proxy minion grains for cimc hosts.
68748
68749       salt.grains.cimc.cimc(proxy=None)
68750
68751   salt.grains.chronos
68752       Generate chronos proxy minion grains.
68753
68754       New in version 2015.8.2.
68755
68756
68757       salt.grains.chronos.kernel()
68758
68759       salt.grains.chronos.os()
68760
68761       salt.grains.chronos.os_data()
68762
68763       salt.grains.chronos.os_family()
68764
68765   salt.grains.core
68766       The static grains, these are the core, or built in grains.
68767
68768       When grains are loaded they are not loaded in the same way that modules
68769       are  loaded,  grain  functions are detected and executed, the functions
68770       MUST return a dict which will be applied to the main grains dict.  This
68771       module will always be executed first, so that any grains loaded here in
68772       the core module can be overwritten just by returning dict keys with the
68773       same value as those returned here
68774
68775       salt.grains.core.append_domain()
68776              Return append_domain if set
68777
68778       salt.grains.core.default_gateway()
68779              Populates  grains  which describe whether a server has a default
68780              gateway configured or not. Uses ip -4 route show and ip -6 route
68781              show  and  greps  for  a  default  at the beginning of any line.
68782              Assuming the standard default via <ip> format for default  gate‐
68783              ways, it will also parse out the ip address of the default gate‐
68784              way, and put it in ip4_gw or ip6_gw.
68785
68786              If the ip command is unavailable, no grains will be populated.
68787
68788              Currently does not support multiple default gateways. The grains
68789              will be set to the first default gateway found.
68790
68791              List of grains:
68792                 ip4_gw: True  # ip/True/False if default ipv4 gateway ip6_gw:
68793                 True  # ip/True/False if default ipv6 gateway ip_gw: True   #
68794                 True if either of the above is True, False otherwise
68795
68796       salt.grains.core.dns()
68797              Parse the resolver configuration file
68798                 New in version 2016.3.0.
68799
68800
68801       salt.grains.core.fqdns()
68802              Return  all known FQDNs for the system by enumerating all inter‐
68803              faces and then trying to reverse resolve  them  (excluding  'lo'
68804              interface).
68805
68806       salt.grains.core.get_machine_id()
68807              Provide the machine-id for machine/virtualization combination
68808
68809       salt.grains.core.get_master()
68810              Provides the minion with the name of its master.  This is useful
68811              in states to target other services running on the master.
68812
68813       salt.grains.core.get_server_id()
68814              Provides an integer based on the FQDN of a machine.   Useful  as
68815              server-id  in  MySQL replication or anywhere else you'll need an
68816              ID like this.
68817
68818       salt.grains.core.hostname()
68819              Return fqdn, hostname, domainname
68820
68821       salt.grains.core.hwaddr_interfaces()
68822              Provide  a  dict  of  the  connected  interfaces  and  their  hw
68823              addresses (Mac Address)
68824
68825       salt.grains.core.id_()
68826              Return the id
68827
68828       salt.grains.core.ip4_interfaces()
68829              Provide  a  dict  of  the  connected  interfaces  and  their ip4
68830              addresses The addresses will be passed as a list for each inter‐
68831              face
68832
68833       salt.grains.core.ip6_interfaces()
68834              Provide  a  dict  of  the  connected  interfaces  and  their ip6
68835              addresses The addresses will be passed as a list for each inter‐
68836              face
68837
68838       salt.grains.core.ip_fqdn()
68839              Return ip address and FQDN grains
68840
68841       salt.grains.core.ip_interfaces()
68842              Provide  a  dict  of  the  connected  interfaces  and  their  ip
68843              addresses The addresses will be passed as a list for each inter‐
68844              face
68845
68846       salt.grains.core.locale_info()
68847
68848              Provides
68849                     defaultlanguage defaultencoding
68850
68851       salt.grains.core.os_data()
68852              Return grains pertaining to the operating system
68853
68854       salt.grains.core.path()
68855              Return the path
68856
68857       salt.grains.core.pythonexecutable()
68858              Return the python executable in use
68859
68860       salt.grains.core.pythonpath()
68861              Return the Python path
68862
68863       salt.grains.core.pythonversion()
68864              Return the Python version
68865
68866       salt.grains.core.saltpath()
68867              Return the path of the salt module
68868
68869       salt.grains.core.saltversion()
68870              Return the version of salt
68871
68872       salt.grains.core.saltversioninfo()
68873              Return the version_info of salt
68874                 New in version 0.17.0.
68875
68876
68877       salt.grains.core.zmqversion()
68878              Return the zeromq version
68879
68880   salt.grains.disks
68881       Detect disks
68882
68883       salt.grains.disks.disks()
68884              Return list of disk devices
68885
68886   salt.grains.esxi
68887       Generate baseline proxy minion grains for ESXi hosts.
68888
68889       New in version 2015.8.4.
68890
68891
68892       salt.grains.esxi.esxi()
68893
68894       salt.grains.esxi.kernel()
68895
68896       salt.grains.esxi.os()
68897
68898       salt.grains.esxi.os_family()
68899
68900   salt.grains.extra
68901       salt.grains.extra.config()
68902              Return the grains set in the grains file
68903
68904       salt.grains.extra.shell()
68905              Return the default shell to use on this system
68906
68907   salt.grains.fx2
68908       Generate  baseline proxy minion grains for Dell FX2 chassis.  The chal‐
68909       lenge is that most of Salt isn't bootstrapped yet, so we need to repeat
68910       a  bunch  of  things  that  would normally happen in proxy/fx2.py--just
68911       enough to get data from the chassis to include in grains.
68912
68913       salt.grains.fx2.fx2()
68914
68915       salt.grains.fx2.kernel()
68916
68917       salt.grains.fx2.location()
68918
68919       salt.grains.fx2.os_data()
68920
68921       salt.grains.fx2.os_family()
68922
68923   salt.grains.junos
68924       Grains for junos.  NOTE this is a little complicated--junos can only be
68925       accessed via salt-proxy-minion.Thus, some grains make sense to get them
68926       from the minion (PYTHONPATH), but others don't (ip_interfaces)
68927
68928       salt.grains.junos.defaults()
68929
68930       salt.grains.junos.facts(proxy=None)
68931
68932       salt.grains.junos.os_family()
68933
68934   salt.grains.marathon
68935       Generate marathon proxy minion grains.
68936
68937       New in version 2015.8.2.
68938
68939
68940       salt.grains.marathon.kernel()
68941
68942       salt.grains.marathon.marathon()
68943
68944       salt.grains.marathon.os()
68945
68946       salt.grains.marathon.os_data()
68947
68948       salt.grains.marathon.os_family()
68949
68950   salt.grains.mdadm
68951       Detect MDADM RAIDs
68952
68953       salt.grains.mdadm.mdadm()
68954              Return list of mdadm devices
68955
68956   salt.grains.metadata
68957       Grains from cloud metadata servers at 169.254.169.254
68958
68959       New in version 2017.7.0.
68960
68961
68962       depends
68963              requests
68964
68965       To enable these grains that pull from the http://169.254.169.254/latest
68966       metadata server set metadata_server_grains: True.
68967
68968          metadata_server_grains: True
68969
68970       salt.grains.metadata.metadata()
68971
68972   salt.grains.napalm
68973   NAPALM Grains
68974       codeauthor
68975              Mircea Ulinic <mircea@cloudflare.com>
68976
68977       maturity
68978              new
68979
68980       depends
68981              napalm
68982
68983       platform
68984              unix
68985
68986   Dependencies
68987       · NAPALM proxy module
68988
68989       New in version 2016.11.0.
68990
68991
68992       salt.grains.napalm.getos(proxy=None)
68993              Returns the Operating System name running on the network device.
68994
68995              Example: junos, iosxr, eos, ios etc.
68996
68997              CLI Example - select all network devices running JunOS:
68998
68999                 salt -G 'os:junos' test.ping
69000
69001       salt.grains.napalm.host(proxy=None)
69002              This  grain  is set by the NAPALM grain module only when running
69003              in a proxy minion.  When Salt is installed directly on the  net‐
69004              work  device, thus running a regular minion, the host grain pro‐
69005              vides the physical hostname of the network device, as  it  would
69006              be  on  an ordinary minion server.  When running in a proxy min‐
69007              ion, host points to the value configured in the  pillar:  NAPALM
69008              proxy module.
69009
69010              NOTE:
69011                 The diference between host and hostname is that host provides
69012                 the physical location - either domain  name  or  IP  address,
69013                 while  hostname  provides  the  hostname as configured on the
69014                 device.  They are not necessarily the same.
69015
69016              New in version 2017.7.0.
69017
69018
69019              CLI Example:
69020
69021                 salt 'device*' grains.get host
69022
69023              Output:
69024
69025                 device1:
69026                     ip-172-31-13-136.us-east-2.compute.internal
69027                 device2:
69028                     ip-172-31-11-193.us-east-2.compute.internal
69029                 device3:
69030                     ip-172-31-2-181.us-east-2.compute.internal
69031
69032       salt.grains.napalm.host_dns(proxy=None)
69033              Return the DNS information of the host.  This grain is a dictio‐
69034              nary having two keys:
69035
69036              · A
69037
69038              · AAAA
69039
69040              NOTE:
69041                 This  grain  is disabled by default, as the proxy startup may
69042                 be slower when the lookup fails.   The  user  can  enable  it
69043                 using  the  napalm_host_dns_grain  option  (in  the pillar or
69044                 proxy configuration file):
69045
69046                     napalm_host_dns_grain: true
69047
69048              New in version 2017.7.0.
69049
69050
69051              CLI Example:
69052
69053                 salt 'device*' grains.get host_dns
69054
69055              Output:
69056
69057                 device1:
69058                     A:
69059                         - 172.31.9.153
69060                     AAAA:
69061                         - fd52:188c:c068::1
69062                 device2:
69063                     A:
69064                         - 172.31.46.249
69065                     AAAA:
69066                         - fdca:3b17:31ab::17
69067                 device3:
69068                     A:
69069                         - 172.31.8.167
69070                     AAAA:
69071                         - fd0f:9fd6:5fab::1
69072
69073       salt.grains.napalm.hostname(proxy=None)
69074              Return the hostname as configured on the network device.
69075
69076              CLI Example:
69077
69078                 salt 'device*' grains.get hostname
69079
69080              Output:
69081
69082                 device1:
69083                     edge01.yyz01
69084                 device2:
69085                     edge01.bjm01
69086                 device3:
69087                     edge01.flw01
69088
69089       salt.grains.napalm.interfaces(proxy=None)
69090              Returns the complete interfaces list of the network device.
69091
69092              Example: ['lc-0/0/0',  'pfe-0/0/0',  'xe-1/3/0',  'lo0',  'irb',
69093              'demux0', 'fxp0']
69094
69095              CLI  Example - select all devices that have a certain interface,
69096              e.g.: xe-1/1/1:
69097
69098                 salt -G 'interfaces:xe-1/1/1' test.ping
69099
69100              Output:
69101
69102                 edge01.yyz01:
69103                     True
69104                 edge01.maa01:
69105                     True
69106                 edge01.syd01:
69107                     True
69108                 edge01.del01:
69109                     True
69110                 edge01.dus01:
69111                     True
69112                 edge01.kix01:
69113                     True
69114
69115       salt.grains.napalm.model(proxy=None)
69116              Returns the network device chassis model.
69117
69118              Example: MX480, ASR-9904-AC etc.
69119
69120              CLI Example - select  all  Juniper  MX480  routers  and  execute
69121              traceroute to 8.8.8.8:
69122
69123                 salt -G 'model:MX480' net.traceroute 8.8.8.8
69124
69125       salt.grains.napalm.optional_args(proxy=None)
69126              Return the connection optional args.
69127
69128              NOTE:
69129                 Sensible data will not be returned.
69130
69131              New in version 2017.7.0.
69132
69133
69134              CLI Example - select all devices connecting via port 1234:
69135
69136                 salt -G 'optional_args:port:1234' test.ping
69137
69138              Output:
69139
69140                 device1:
69141                     True
69142                 device2:
69143                     True
69144
69145       salt.grains.napalm.serial(proxy=None)
69146              Returns the chassis serial number.
69147
69148              Example: FOX1234W00F
69149
69150              CLI Example - select all devices whose serial number begins with
69151              FOX and display the serial number value:
69152
69153                 salt -G 'serial:FOX*' grains.get serial
69154
69155              Output:
69156
69157                 edge01.icn01:
69158                     FOXW00F001
69159                 edge01.del01:
69160                     FOXW00F002
69161                 edge01.yyz01:
69162                     FOXW00F003
69163                 edge01.mrs01:
69164                     FOXW00F004
69165
69166       salt.grains.napalm.uptime(proxy=None)
69167              Returns the uptime in seconds.
69168
69169              CLI Example - select all devices  started/restarted  within  the
69170              last hour:
69171
69172                 salt -G 'uptime<3600' test.ping
69173
69174       salt.grains.napalm.username(proxy=None)
69175              Return the username.
69176
69177              New in version 2017.7.0.
69178
69179
69180              CLI  Example  -  select all devices using foobar as username for
69181              connection:
69182
69183                 salt -G 'username:foobar' test.ping
69184
69185              Output:
69186
69187       salt.grains.napalm.vendor(proxy=None)
69188              Returns the network device vendor.
69189
69190              Example: juniper, cisco, arista etc.
69191
69192              CLI Example - select all devices produced by Cisco and shutdown:
69193
69194                 salt -G 'vendor:cisco' net.cli "shut"
69195
69196       salt.grains.napalm.version(proxy=None)
69197              Returns the OS version.
69198
69199              Example: 13.3R6.5, 6.0.2 etc.
69200
69201              CLI Example - select all network devices running JunOS  13.3R6.5
69202              and return the model:
69203
69204                 salt -G 'os:junos and version:13.3R6.5' grains.get model
69205
69206              Output:
69207
69208                 edge01.bjm01:
69209                     MX2000
69210                 edge01.sjc01:
69211                     MX960
69212                 edge01.mrs01:
69213                     MX480
69214                 edge01.muc01:
69215                     MX240
69216
69217   salt.grains.opts
69218       Simple  grain  to  merge  the  opts  into  the  grains  directly if the
69219       grain_opts configuration value is set
69220
69221       salt.grains.opts.opts()
69222              Return the minion configuration settings
69223
69224   salt.grains.panos
69225       Generate baseline proxy minion grains for panos hosts.
69226
69227       salt.grains.panos.panos(proxy=None)
69228
69229   salt.grains.philips_hue
69230       Static grains for the Philips HUE lamps
69231
69232       New in version 2015.8.3.
69233
69234
69235       salt.grains.philips_hue.kernel()
69236
69237       salt.grains.philips_hue.os()
69238
69239       salt.grains.philips_hue.os_family()
69240
69241       salt.grains.philips_hue.product()
69242
69243       salt.grains.philips_hue.vendor()
69244
69245   salt.grains.rest_sample
69246       Generate baseline proxy minion grains
69247
69248       salt.grains.rest_sample.kernel()
69249
69250       salt.grains.rest_sample.location()
69251
69252       salt.grains.rest_sample.os()
69253
69254       salt.grains.rest_sample.os_data()
69255
69256       salt.grains.rest_sample.os_family()
69257
69258       salt.grains.rest_sample.proxy_functions(proxy)
69259              The loader will execute functions with one argument and  pass  a
69260              reference  to  the  proxymodules  LazyLoader  object.   However,
69261              grains sometimes get called before the LazyLoader object is set‐
69262              up so proxy might be None.
69263
69264   execution modules
69265          Virtual modules
69266
69267   salt.modules.group
69268       group  is  a  virtual  module that is fulfilled by one of the following
69269       modules:
69270
69271                   ┌─────────────────┬────────────────────────────┐
69272                   │Execution Module │ Used for                   │
69273                   ├─────────────────┼────────────────────────────┤
69274groupadd         │ Linux, NetBSD, and OpenBSD │
69275                   │                 │ systems using groupadd(8), │
69276                   │                 │ groupdel(8),  and   group‐ 
69277                   │                 │ mod(8)                     │
69278                   ├─────────────────┼────────────────────────────┤
69279pw_group         │ FreeBSD-based  OSes  using │
69280                   │                 │ pw(8)                      │
69281                   ├─────────────────┼────────────────────────────┤
69282solaris_group    │ Solaris-based  OSes  using │
69283                   │                 │ groupadd(1M),              │
69284                   │                 │ groupdel(1M),  and  group‐ 
69285                   │                 │ mod(1M)                    │
69286                   ├─────────────────┼────────────────────────────┤
69287win_groupadd     │ Windows                    │
69288                   └─────────────────┴────────────────────────────┘
69289
69290   salt.modules.kernelpkg
69291       kernelpkg is a virtual module that is fulfilled by one of the following
69292       modules:
69293
69294                 ┌────────────────────┬────────────────────────────┐
69295                 │Execution Module    │ Used for                   │
69296                 ├────────────────────┼────────────────────────────┤
69297kernelpkg_linux_apt │ Debian/Ubuntu-based   dis‐ │
69298                 │                    │ tros which use apt-get for │
69299                 │                    │ package management         │
69300                 ├────────────────────┼────────────────────────────┤
69301kernelpkg_linux_yum │ RedHat-based  distros  and │
69302                 │                    │ derivatives  using  yum or │
69303                 │                    │ dnf                        
69304                 └────────────────────┴────────────────────────────┘
69305
69306   salt.modules.pkg
69307       pkg is a virtual module that is fulfilled by one of the following  mod‐
69308       ules:
69309
69310                   ┌─────────────────┬────────────────────────────┐
69311                   │Execution Module │ Used for                   │
69312                   ├─────────────────┼────────────────────────────┤
69313aptpkg           │ Debian/Ubuntu-based   dis‐ │
69314                   │                 │ tros which use  apt-get(8)
69315                   │                 │ for package management     │
69316                   ├─────────────────┼────────────────────────────┤
69317brew             │ Mac OS software management │
69318                   │                 │ using Homebrew
69319                   ├─────────────────┼────────────────────────────┤
69320ebuild           │ Gentoo-based systems (uti‐ │
69321                   │                 │ lizes  the  portage python │
69322                   │                 │ module    as    well    as │
69323                   │                 │ emerge(1))                 │
69324                   ├─────────────────┼────────────────────────────┤
69325freebsdpkg       │ FreeBSD-based  OSes  using │
69326                   │                 │ pkg_add(1)                 │
69327                   ├─────────────────┼────────────────────────────┤
69328openbsdpkg       │ OpenBSD-based  OSes  using │
69329                   │                 │ pkg_add(1)                 │
69330                   ├─────────────────┼────────────────────────────┤
69331pacman           │ Arch  Linux-based  distros │
69332                   │                 │ using pacman(8)
69333                   ├─────────────────┼────────────────────────────┤
69334pkgin            │ NetBSD-based  OSes   using │
69335                   │                 │ pkgin(1)                   │
69336                   ├─────────────────┼────────────────────────────┤
69337pkgng            │ FreeBSD-based  OSes  using │
69338                   │                 │ pkg(8)                     │
69339                   ├─────────────────┼────────────────────────────┤
69340pkgutil          │ Solaris-based  OSes  using │
69341                   │                 │ OpenCSW's pkgutil(1)       │
69342                   ├─────────────────┼────────────────────────────┤
69343solarispkg       │ Solaris-based  OSes  using │
69344                   │                 │ pkgadd(1M)                 │
69345                   ├─────────────────┼────────────────────────────┤
69346solarisips       │ Solaris-based  OSes  using │
69347                   │                 │ IPS pkg(1)                 │
69348                   ├─────────────────┼────────────────────────────┤
69349win_pkg          │ Salt's   Windows   Package │
69350                   │                 │ Manager                    │
69351                   ├─────────────────┼────────────────────────────┤
69352yumpkg           │ RedHat-based  distros  and │
69353                   │                 │ derivatives  using  yum(8)
69354                   │                 │ or dnf(8)
69355                   ├─────────────────┼────────────────────────────┤
69356zypper           │ SUSE-based  distros  using │
69357                   │                 │ zypper(8)
69358                   └─────────────────┴────────────────────────────┘
69359
69360   salt.modules.service
69361       service  is  a virtual module that is fulfilled by one of the following
69362       modules:
69363
69364                   ┌─────────────────┬────────────────────────────┐
69365                   │Execution Module │ Used for                   │
69366                   ├─────────────────┼────────────────────────────┤
69367debian_service   │ Debian Wheezy and earlier  │
69368                   ├─────────────────┼────────────────────────────┤
69369freebsdservice   │ FreeBSD-based  OSes  using │
69370                   │                 │ service(8)
69371                   ├─────────────────┼────────────────────────────┤
69372gentoo_service   │ Gentoo     Linux     using │
69373                   │                 │ sysvinit and rc-update(8)  │
69374                   ├─────────────────┼────────────────────────────┤
69375launchctl        │ Mac   OS    hosts    using │
69376                   │                 │ launchctl(1)               │
69377                   ├─────────────────┼────────────────────────────┤
69378netbsdservice    │ NetBSD-based OSes          │
69379                   ├─────────────────┼────────────────────────────┤
69380openbsdservice   │ OpenBSD-based OSes         │
69381                   ├─────────────────┼────────────────────────────┤
69382rh_service       │ RedHat-based  distros  and │
69383                   │                 │ derivatives   using   ser‐ 
69384                   │                 │ vice(8)  and chkconfig(8). │
69385                   │                 │ Supports     both     pure │
69386                   │                 │ sysvinit     and     mixed │
69387                   │                 │ sysvinit/upstart systems.  │
69388                   ├─────────────────┼────────────────────────────┤
69389service          │ Fallback   which    simply │
69390                   │                 │ wraps sysvinit scripts     │
69391                   ├─────────────────┼────────────────────────────┤
69392smf              │ Solaris-based  OSes  which │
69393                   │                 │ use SMF                    │
69394                   ├─────────────────┼────────────────────────────┤
69395systemd          │ Linux  distros  which  use │
69396                   │                 │ systemd                    │
69397                   ├─────────────────┼────────────────────────────┤
69398upstart          │ Ubuntu-based distros using │
69399                   │                 │ upstart                    │
69400                   ├─────────────────┼────────────────────────────┤
69401win_service      │ Windows                    │
69402                   └─────────────────┴────────────────────────────┘
69403
69404   salt.modules.shadow
69405       shadow is a virtual module that is fulfilled by one  of  the  following
69406       modules:
69407
69408                    ┌─────────────────┬──────────────────────────┐
69409                    │Execution Module │ Used for                 │
69410                    ├─────────────────┼──────────────────────────┤
69411shadow           │ Linux                    │
69412                    ├─────────────────┼──────────────────────────┤
69413bsd_shadow       │ FreeBSD, OpenBSD, NetBSD │
69414                    ├─────────────────┼──────────────────────────┤
69415solaris_shadow   │ Solaris-based OSes       │
69416                    ├─────────────────┼──────────────────────────┤
69417win_shadow       │ Windows                  │
69418                    └─────────────────┴──────────────────────────┘
69419
69420   salt.modules.user
69421       user is a virtual module that is fulfilled by one of the following mod‐
69422       ules:
69423
69424                   ┌─────────────────┬────────────────────────────┐
69425                   │Execution Module │ Used for                   │
69426                   ├─────────────────┼────────────────────────────┤
69427useradd          │ Linux, NetBSD, and OpenBSD │
69428                   │                 │ systems  using useradd(8), │
69429                   │                 │ userdel(8), and usermod(8)
69430                   ├─────────────────┼────────────────────────────┤
69431pw_user          │ FreeBSD-based  OSes  using │
69432                   │                 │ pw(8)                      │
69433                   ├─────────────────┼────────────────────────────┤
69434solaris_user     │ Solaris-based  OSes  using │
69435                   │                 │ useradd(1M),  userdel(1M), │
69436                   │                 │ and usermod(1M)            │
69437                   ├─────────────────┼────────────────────────────┤
69438mac_user         │ MacOS                      │
69439                   ├─────────────────┼────────────────────────────┤
69440win_useradd      │ Windows                    │
69441                   └─────────────────┴────────────────────────────┘
69442
69443┌──────────────────────────┬──────────────────────────────────────────────────────────────┐
69444acme                      │ ACME  / Let's Encrypt mod‐                                   │
69445│                          │ ule                                                          │
69446├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69447aix_group                 │ Manage groups on Solaris                                     │
69448├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69449aliases                   │ Manage the information  in                                   │
69450│                          │ the aliases file                                             │
69451└──────────────────────────┴──────────────────────────────────────────────────────────────┘
69452
69453
69454alternatives              │ Support  for  Alternatives                                   │
69455│                          │ system                                                       │
69456├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69457ansiblegate               │ Ansible Support                                              │
69458├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69459apache                    │ Support for Apache                                           │
69460├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69461apcups                    │ Module for apcupsd                                           │
69462├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69463apf                       │ Support for Advanced  Pol‐                                   │
69464│                          │ icy Firewall (APF)                                           │
69465├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69466apk                       │ Support for apk                                              │
69467├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69468aptpkg                    │ Support  for APT (Advanced                                   │
69469│                          │ Packaging Tool)                                              │
69470├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69471archive                   │ A module to wrap (non-Win‐                                   │
69472│                          │ dows) archive calls                                          │
69473├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69474arista_pyeapi             │ Arista pyeapi                                                │
69475├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69476artifactory               │ Module  for fetching arti‐                                   │
69477│                          │ facts from Artifactory                                       │
69478├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69479at                        │ Wrapper module for at(1)
69480├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69481at_solaris                │ Wrapper   for   at(1)   on                                   │
69482│                          │ Solaris-like systems                                         │
69483├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69484augeas_cfg                │ Manages      configuration                                   │
69485│                          │ files via augeas                                             │
69486├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69487aws_sqs                   │ Support  for  the   Amazon                                   │
69488│                          │ Simple Queue Service.                                        │
69489├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69490bamboohr                  │ Support for BambooHR                                         │
69491├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69492bcache                    │ Module for managing BCache                                   │
69493│                          │ sets                                                         │
69494├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69495beacons                   │ Module  for  managing  the                                   │
69496│                          │ Salt beacons on a minion                                     │
69497├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69498bigip                     │ An  execution module which                                   │
69499│                          │ can manipulate an f5 bigip                                   │
69500│                          │ via iControl REST                                            │
69501├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69502bluez                     │ Support    for   Bluetooth                                   │
69503│                          │ (using BlueZ in Linux).                                      │
69504├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69505boto3_elasticache         │ Execution module for  Ama‐                                   │
69506│                          │ zon    Elasticache   using                                   │
69507│                          │ boto3                                                        │
69508├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69509boto3_route53             │ Execution module for  Ama‐                                   │
69510│                          │ zon     Route53    written                                   │
69511│                          │ against Boto 3                                               │
69512├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69513boto_apigateway           │ Connection module for Ama‐                                   │
69514│                          │ zon APIGateway                                               │
69515├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69516boto_asg                  │ Connection module for Ama‐                                   │
69517│                          │ zon Autoscale Groups                                         │
69518├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69519boto_cfn                  │ Connection module for Ama‐                                   │
69520│                          │ zon Cloud Formation                                          │
69521├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69522boto_cloudfront           │ Connection module for Ama‐                                   │
69523│                          │ zon CloudFront                                               │
69524├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69525boto_cloudtrail           │ Connection module for Ama‐                                   │
69526│                          │ zon CloudTrail                                               │
69527├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69528boto_cloudwatch           │ Connection module for Ama‐                                   │
69529│                          │ zon CloudWatch                                               │
69530├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69531boto_cloudwatch_event     │ Connection module for Ama‐                                   │
69532│                          │ zon CloudWatch Events                                        │
69533├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69534boto_cognitoidentity      │ Connection module for Ama‐                                   │
69535│                          │ zon CognitoIdentity                                          │
69536├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69537boto_datapipeline         │ Connection module for Ama‐                                   │
69538│                          │ zon Data Pipeline                                            │
69539├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69540boto_dynamodb             │ Connection module for Ama‐                                   │
69541│                          │ zon DynamoDB                                                 │
69542├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69543boto_ec2                  │ Connection module for Ama‐                                   │
69544│                          │ zon EC2                                                      │
69545├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69546boto_efs                  │ Connection module for Ama‐                                   │
69547│                          │ zon EFS                                                      │
69548├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69549boto_elasticache          │ Connection module for Ama‐                                   │
69550│                          │ zon Elasticache                                              │
69551├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69552boto_elasticsearch_domain │ Connection module for Ama‐                                   │
69553│                          │ zon Elasticsearch Service                                    │
69554├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69555boto_elb                  │ Connection module for Ama‐                                   │
69556│                          │ zon ELB                                                      │
69557├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69558boto_elbv2                │ Connection module for Ama‐                                   │
69559│                          │ zon ALB                                                      │
69560├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69561boto_iam                  │ Connection module for Ama‐                                   │
69562│                          │ zon IAM                                                      │
69563├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69564boto_iot                  │ Connection module for Ama‐                                   │
69565│                          │ zon IoT                                                      │
69566├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69567boto_kinesis              │ Connection module for Ama‐                                   │
69568│                          │ zon Kinesis                                                  │
69569├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69570boto_kms                  │ Connection module for Ama‐                                   │
69571│                          │ zon KMS                                                      │
69572├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69573boto_lambda               │ Connection module for Ama‐                                   │
69574│                          │ zon Lambda                                                   │
69575├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69576boto_rds                  │ Connection module for Ama‐                                   │
69577│                          │ zon RDS                                                      │
69578├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69579boto_route53              │ Connection module for Ama‐                                   │
69580│                          │ zon Route53                                                  │
69581├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69582boto_s3_bucket            │ Connection module for Ama‐                                   │
69583│                          │ zon S3 Buckets                                               │
69584├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69585boto_secgroup             │ Connection module for Ama‐                                   │
69586│                          │ zon Security Groups                                          │
69587├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69588boto_sns                  │ Connection module for Ama‐                                   │
69589│                          │ zon SNS                                                      │
69590├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69591boto_sqs                  │ Connection module for Ama‐                                   │
69592│                          │ zon SQS                                                      │
69593├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69594boto_vpc                  │ Connection module for Ama‐                                   │
69595│                          │ zon VPC                                                      │
69596├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69597bower                     │ Manage  and  query   Bower                                   │
69598│                          │ packages                                                     │
69599├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69600bridge                    │ Module  for  gathering and                                   │
69601│                          │ managing bridging informa‐                                   │
69602│                          │ tion                                                         │
69603├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69604bsd_shadow                │ Manage  the password data‐                                   │
69605│                          │ base on BSD systems                                          │
69606├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69607btrfs                     │ Module for managing  BTRFS                                   │
69608│                          │ file systems.                                                │
69609├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69610cabal                     │ Manage   and  query  Cabal                                   │
69611│                          │ packages                                                     │
69612├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69613capirca_acl               │ Capirca ACL                                                  │
69614├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69615cassandra                 │ Cassandra  NoSQL  Database                                   │
69616│                          │ Module                                                       │
69617├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69618cassandra_cql             │ Cassandra Database Module                                    │
69619├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69620celery                    │ Support   for   scheduling                                   │
69621│                          │ celery tasks.                                                │
69622├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69623ceph                      │ Module  to  provide   ceph                                   │
69624│                          │ control with salt.                                           │
69625├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69626chassis                   │ Glue  execution  module to                                   │
69627│                          │ link to the fx2  proxymod‐                                   
69628│                          │ ule.                                                         │
69629├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69630chef                      │ Execute  chef in server or                                   │
69631│                          │ solo mode                                                    │
69632├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69633chocolatey                │ A dead simple module wrap‐                                   │
69634│                          │ ping  calls  to the Choco‐                                   │
69635│                          │ latey package  manager  (‐                                   │
69636│                          │ http://chocolatey.org)                                       │
69637├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69638chronos                   │ Module  providing a simple                                   │
69639│                          │ management interface to  a                                   │
69640│                          │ chronos cluster.                                             │
69641├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69642cimc                      │ Module  to  provide  Cisco                                   │
69643│                          │ UCS compatibility to Salt                                    │
69644├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69645ciscoconfparse_mod        │ Execution    module    for                                   │
69646│                          │ ciscoconfparse
69647├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69648cisconso                  │ Execution module for Cisco                                   │
69649│                          │ Network  Services  Orches‐                                   │
69650│                          │ trator Proxy minions                                         │
69651├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69652cloud                     │ Salt-specific    interface                                   │
69653│                          │ for  calling  Salt   Cloud                                   │
69654│                          │ directly                                                     │
69655├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69656cmdmod                    │ A module for shelling out.                                   │
69657└──────────────────────────┴──────────────────────────────────────────────────────────────┘
69658
69659
69660composer                  │ Use  composer  to  install                                   │
69661│                          │ PHP  dependencies  for   a                                   │
69662│                          │ directory                                                    │
69663├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69664config                    │ Return config information                                    │
69665├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69666consul                    │ Interact with Consul                                         │
69667├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69668container_resource        │ Common  resources  for LXC                                   │
69669│                          │ and  systemd-nspawn   con‐                                   │
69670│                          │ tainers                                                      │
69671├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69672cp                        │ Minion  side functions for                                   │
69673│                          │ salt-cp                                                      │
69674├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69675cpan                      │ Manage Perl modules  using                                   │
69676│                          │ CPAN                                                         │
69677├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69678cron                      │ Work with cron                                               │
69679├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69680csf                       │ Support  for Config Server                                   │
69681│                          │ Firewall (CSF)                                               │
69682├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69683cyg                       │ Manage cygwin packages.                                      │
69684├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69685daemontools               │ daemontools  service  mod‐                                   │
69686│                          │ ule.                                                         │
69687├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69688data                      │ Manage  a local persistent                                   │
69689│                          │ data  structure  that  can                                   │
69690│                          │ hold  any  arbitrary  data                                   │
69691│                          │ specific to the minion                                       │
69692├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69693datadog_api               │ An execution  module  that                                   │
69694│                          │ interacts with the Datadog                                   │
69695│                          │ API                                                          │
69696├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69697ddns                      │ Support   for   RFC   2136                                   │
69698│                          │ dynamic DNS updates.                                         │
69699├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69700deb_apache                │ Support for Apache                                           │
69701├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69702deb_postgres              │ Module to provide Postgres                                   │
69703│                          │ compatibility to salt  for                                   │
69704│                          │ debian   family   specific                                   │
69705│                          │ tools.                                                       │
69706├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69707debbuild                  │ Debian   Package   builder                                   │
69708│                          │ system                                                       │
69709├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69710debconfmod                │ Support for Debconf                                          │
69711├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69712debian_ip                 │ The  networking module for                                   │
69713│                          │ Debian-based distros                                         │
69714├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69715debian_service            │ Service support for Debian                                   │
69716│                          │ systems  (uses update-rc.d                                   │
69717│                          │ and /sbin/service)                                           │
69718├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69719defaults                  │ Module to work  with  salt                                   │
69720│                          │ formula defaults files                                       │
69721├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69722devmap                    │ Device-Mapper module                                         │
69723├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69724dig                       │ Compendium  of generic DNS                                   │
69725│                          │ utilities.                                                   │
69726├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69727disk                      │ Module for managing  disks                                   │
69728│                          │ and blockdevices                                             │
69729├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69730djangomod                 │ Manage Django sites                                          │
69731├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69732dnsmasq                   │ Module  for  managing dns‐                                   │
69733│                          │ masq                                                         │
69734├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69735dnsutil                   │ Compendium of generic  DNS                                   │
69736│                          │ utilities.                                                   │
69737├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69738dockercompose             │ Module      to      import                                   │
69739│                          │ docker-compose  via  salt‐                                   │
69740│                          │ stack                                                        │
69741├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69742dockermod                 │ Management  of Docker Con‐                                   │
69743│                          │ tainers                                                      │
69744├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69745dpkg                      │ Support for DEB packages                                     │
69746├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69747drac                      │ Manage Dell DRAC                                             │
69748├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69749dracr                     │ Manage Dell DRAC.                                            │
69750├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69751drbd                      │ DRBD administration module                                   │
69752├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69753dummyproxy_package        │ Package  support  for  the                                   │
69754│                          │ dummy  proxy  used  by the                                   │
69755│                          │ test suite                                                   │
69756├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69757dummyproxy_service        │ Provide the service module                                   │
69758│                          │ for  the  dummy proxy used                                   │
69759│                          │ in integration tests                                         │
69760├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69761ebuild                    │ Support for Portage                                          │
69762├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69763eix                       │ Support for Eix                                              │
69764├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69765elasticsearch             │ Elasticsearch - A distrib‐                                   │
69766│                          │ uted  RESTful  search  and                                   │
69767│                          │ analytics server                                             │
69768├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69769environ                   │ Support  for  getting  and                                   │
69770│                          │ setting   the  environment                                   │
69771│                          │ variables of  the  current                                   │
69772│                          │ salt process.                                                │
69773├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69774eselect                   │ Support  for eselect, Gen‐                                   │
69775│                          │ too's  configuration   and                                   │
69776│                          │ management tool.                                             │
69777├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69778esxi                      │ Glues  the  VMware vSphere                                   │
69779│                          │ Execution  Module  to  the                                   │
69780│                          │ VMware  ESXi Proxy Minions                                   │
69781│                          │ to the esxi proxymodule.                                     │
69782├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69783etcd_mod                  │ Execution module  to  work                                   │
69784│                          │ with etcd                                                    │
69785├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69786ethtool                   │ Module for running ethtool                                   │
69787│                          │ command                                                      │
69788├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69789event                     │ Use the Salt Event  System                                   │
69790│                          │ to  fire  events  from the                                   │
69791│                          │ master to the  minion  and                                   │
69792│                          │ vice-versa.                                                  │
69793├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69794extfs                     │ Module     for    managing                                   │
69795│                          │ ext2/3/4 file systems                                        │
69796├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69797file                      │ Manage  information  about                                   │
69798│                          │ regular   files,  directo‐                                   │
69799│                          │ ries, and special files on                                   │
69800│                          │ the minion, set/read user,                                   │
69801│                          │ group, mode, and data                                        │
69802├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69803firewalld                 │ Support for firewalld.                                       │
69804├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69805freebsd_sysctl            │ Module  for  viewing   and                                   │
69806│                          │ modifying  sysctl  parame‐                                   │
69807│                          │ ters                                                         │
69808├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69809freebsd_update            │ Support for freebsd-update                                   │
69810│                          │ utility on FreeBSD.                                          │
69811├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69812freebsdjail               │ The  jail module for Free‐                                   │
69813│                          │ BSD                                                          │
69814├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69815freebsdkmod               │ Module to  manage  FreeBSD                                   │
69816│                          │ kernel modules                                               │
69817├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69818freebsdpkg                │ Remote   package   support                                   │
69819│                          │ using pkg_add(1)                                             │
69820├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69821freebsdports              │ Install software from  the                                   │
69822│                          │ FreeBSD ports(7) system                                      │
69823├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69824freebsdservice            │ The   service  module  for                                   │
69825│                          │ FreeBSD                                                      │
69826├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69827gem                       │ Manage ruby gems.                                            │
69828├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69829genesis                   │ Module for  managing  con‐                                   │
69830│                          │ tainer and VM images                                         │
69831├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69832gentoo_service            │ Top  level package command                                   │
69833│                          │ wrapper, used to translate                                   │
69834│                          │ the  os detected by grains                                   │
69835│                          │ to  the  correct   service                                   │
69836│                          │ manager                                                      │
69837├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69838gentoolkitmod             │ Support for Gentoolkit                                       │
69839├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69840git                       │ Support for the Git SCM                                      │
69841├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69842github                    │ Module   for   interacting                                   │
69843│                          │ with the GitHub v3 API.                                      │
69844├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69845glance                    │ Module for handling  open‐                                   │
69846│                          │ stack glance calls.                                          │
69847├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69848glanceng                  │ Glance  module  for inter‐                                   │
69849│                          │ acting   with    OpenStack                                   │
69850│                          │ Glance                                                       │
69851├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69852glusterfs                 │ Manage a glusterfs pool                                      │
69853├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69854gnomedesktop              │ GNOME implementations                                        │
69855├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69856google_chat               │ Module  for  sending  mes‐                                   │
69857│                          │ sages to google chat.                                        │
69858├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69859gpg                       │ Manage  a  GPG  keychains,                                   │
69860│                          │ add   keys,  create  keys,                                   │
69861│                          │ retrieve  keys  from  key‐                                   │
69862│                          │ servers.                                                     │
69863└──────────────────────────┴──────────────────────────────────────────────────────────────┘
69864
69865
69866grafana4                  │ Module  for  working  with                                   │
69867│                          │ the Grafana v4 API                                           │
69868├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69869grains                    │ Return/control aspects  of                                   │
69870│                          │ the grains data                                              │
69871├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69872groupadd                  │ Manage  groups  on  Linux,                                   │
69873│                          │ OpenBSD and NetBSD                                           │
69874├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69875grub_legacy               │ Support for GRUB Legacy                                      │
69876├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69877guestfs                   │ Interact   with    virtual                                   │
69878│                          │ machine     images     via                                   │
69879│                          │ libguestfs                                                   │
69880├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69881hadoop                    │ Support for hadoop                                           │
69882├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69883haproxyconn               │ Support for haproxy                                          │
69884├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69885hashutil                  │ A  collection  of  hashing                                   │
69886│                          │ and encoding functions                                       │
69887├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69888heat                      │ Module  for handling Open‐                                   │
69889│                          │ Stack Heat calls                                             │
69890├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69891hg                        │ Support for the  Mercurial                                   │
69892│                          │ SCM                                                          │
69893├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69894hipchat                   │ Module  for  sending  mes‐                                   │
69895│                          │ sages to hipchat.                                            │
69896├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69897hosts                     │ Manage the information  in                                   │
69898│                          │ the hosts file                                               │
69899├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69900htpasswd                  │ Support  for htpasswd com‐                                   │
69901│                          │ mand.                                                        │
69902├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69903http                      │ Module for making  various                                   │
69904│                          │ web calls.                                                   │
69905├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69906ifttt                     │ Support for IFTTT                                            │
69907├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69908ilo                       │ Manage HP ILO                                                │
69909├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69910icinga2                   │ Module  to provide icinga2                                   │
69911│                          │ compatibility to salt.                                       │
69912├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69913incron                    │ Work with incron                                             │
69914├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69915influx                    │ InfluxDB -  A  distributed                                   │
69916│                          │ time series database                                         │
69917├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69918influx08                  │ InfluxDB  -  A distributed                                   │
69919│                          │ time series database                                         │
69920├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69921infoblox                  │ This  module   have   been                                   │
69922│                          │ tested   on  infoblox  API                                   │
69923│                          │ v1.2.1, other versions  of                                   │
69924│                          │ the  API  are  likly work‐                                   │
69925│                          │ able.                                                        │
69926├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69927ini_manage                │ Edit ini files                                               │
69928├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69929inspectlib                │                                                              │
69930├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69931inspectlib.collector      │                                                              │
69932├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69933inspectlib.dbhandle       │                                                              │
69934├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69935inspectlib.entities       │                                                              │
69936├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69937inspectlib.exceptions     │                                                              │
69938├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69939inspectlib.fsdb           │                                                              │
69940│                          │        codeauthor                                            
69941│                          │               Bo  Maryniuk                                   │
69942│                          │               <bo@suse.de>                                   │
69943├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69944inspectlib.kiwiproc       │                                                              │
69945├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69946inspectlib.query          │                                                              │
69947├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69948inspector                 │ Module   for  full  system                                   │
69949│                          │ inspection.                                                  │
69950├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69951introspect                │ Functions    to    perform                                   │
69952│                          │ introspection on a minion,                                   │
69953│                          │ and return data in a  for‐                                   │
69954│                          │ mat usable by Salt States                                    │
69955├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69956iosconfig                 │ Cisco   IOS  configuration                                   │
69957│                          │ manipulation helpers                                         │
69958├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69959ipmi                      │ Support IPMI commands over                                   │
69960│                          │ LAN.                                                         │
69961├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69962ipset                     │ Support for ipset                                            │
69963├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69964iptables                  │ Support for iptables                                         │
69965├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69966iwtools                   │ Support for Wireless Tools                                   │
69967│                          │ for Linux                                                    │
69968├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69969jboss7                    │ Module for managing  JBoss                                   │
69970│                          │ AS   7   through  the  CLI                                   │
69971│                          │ interface.                                                   │
69972├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69973jboss7_cli                │ Module    for    low-level                                   │
69974│                          │ interaction  with JbossAS7                                   │
69975│                          │ through CLI.                                                 │
69976├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69977jenkinsmod                │ Module   for   controlling                                   │
69978│                          │ Jenkins                                                      │
69979├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69980jira_mod                  │ JIRA Execution module                                        │
69981├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69982junos                     │ Module  to  interact  with                                   │
69983│                          │ Junos devices.                                               │
69984├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69985k8s                       │ Salt  module   to   manage                                   │
69986│                          │ Kubernetes cluster                                           │
69987├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69988kapacitor                 │ Kapacitor  execution  mod‐                                   │
69989│                          │ ule.                                                         │
69990├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69991kerberos                  │ Manage Kerberos KDC                                          │
69992├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69993kernelpkg_linux_apt       │ Manage Linux kernel  pack‐                                   │
69994│                          │ ages on APT-based systems                                    │
69995├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69996kernelpkg_linux_yum       │ Manage  Linux kernel pack‐                                   │
69997│                          │ ages on YUM-based systems                                    │
69998├──────────────────────────┼──────────────────────────────────────────────────────────────┤
69999key                       │ Functions to view the min‐                                   │
70000│                          │ ion's  public key informa‐                                   │
70001│                          │ tion                                                         │
70002├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70003keyboard                  │ Module for  managing  key‐                                   │
70004│                          │ boards     on    supported                                   │
70005│                          │ POSIX-like  systems  using                                   │
70006│                          │ systemd,  or  such as Red‐                                   │
70007│                          │ hat, Debian and Gentoo.                                      │
70008├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70009keystone                  │ Module for handling  open‐                                   │
70010│                          │ stack keystone calls.                                        │
70011├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70012keystoneng                │ Keystone module for inter‐                                   │
70013│                          │ acting with OpenStack Key‐                                   │
70014│                          │ stone                                                        │
70015├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70016kmod                      │ Module   to  manage  Linux                                   │
70017│                          │ kernel modules                                               │
70018├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70019kubernetes                │ Module for handling kuber‐                                   │
70020│                          │ netes calls.                                                 │
70021├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70022launchctl                 │ Module  for the management                                   │
70023│                          │ of MacOS systems that  use                                   │
70024│                          │ launchd/launchctl                                            │
70025├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70026layman                    │ Support for Layman                                           │
70027├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70028ldap3                     │ Query  and  modify an LDAP                                   │
70029│                          │ database      (alternative                                   │
70030│                          │ interface)                                                   │
70031├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70032ldapmod                   │ Salt   interface  to  LDAP                                   │
70033│                          │ commands                                                     │
70034├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70035libcloud_compute          │ Apache  Libcloud   Compute                                   │
70036│                          │ Management                                                   │
70037├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70038libcloud_dns              │ Apache  Libcloud  DNS Man‐                                   │
70039│                          │ agement                                                      │
70040├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70041libcloud_loadbalancer     │ Apache Libcloud Load  Bal‐                                   │
70042│                          │ ancer Management                                             │
70043├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70044libcloud_storage          │ Apache   Libcloud  Storage                                   │
70045│                          │ Management                                                   │
70046├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70047linux_acl                 │ Support  for  Linux   File                                   │
70048│                          │ Access Control Lists                                         │
70049├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70050linux_ip                  │ The  networking module for                                   │
70051│                          │ Non-RH/Deb Linux distros                                     │
70052├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70053linux_lvm                 │ Support for Linux LVM2                                       │
70054├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70055linux_sysctl              │ Module  for  viewing   and                                   │
70056│                          │ modifying  sysctl  parame‐                                   │
70057│                          │ ters                                                         │
70058├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70059localemod                 │ Module    for     managing                                   │
70060│                          │ locales on POSIX-like sys‐                                   │
70061│                          │ tems.                                                        │
70062├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70063locate                    │ Module   for   using   the                                   │
70064│                          │ locate utilities                                             │
70065├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70066logadm                    │ Module     for    managing                                   │
70067│                          │ Solaris logadm  based  log                                   │
70068│                          │ rotations.                                                   │
70069└──────────────────────────┴──────────────────────────────────────────────────────────────┘
70070
70071
70072logmod                    │ On-demand logging                                            │
70073├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70074logrotate                 │ Module for managing logro‐                                   │
70075│                          │ tate.                                                        │
70076├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70077lvs                       │ Support  for  LVS   (Linux                                   │
70078│                          │ Virtual Server)                                              │
70079├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70080lxc                       │ Control  Linux  Containers                                   │
70081│                          │ via Salt                                                     │
70082├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70083mac_assistive             │ This module allows you  to                                   │
70084│                          │ manage assistive access on                                   │
70085│                          │ macOS minions with 10.9+                                     │
70086├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70087mac_brew                  │ Homebrew for macOS                                           │
70088├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70089mac_defaults              │ Set defaults on Mac OS                                       │
70090├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70091mac_desktop               │ macOS  implementations  of                                   │
70092│                          │ various  commands  in  the                                   │
70093│                          │ "desktop" interface                                          │
70094├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70095mac_group                 │ Manage groups  on  Mac  OS                                   │
70096│                          │ 10.7+                                                        │
70097├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70098mac_keychain              │ Install  certificates into                                   │
70099│                          │ the keychain on Mac OS                                       │
70100├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70101mac_package               │ Install pkg, dmg and  .app                                   │
70102│                          │ applications on macOS min‐                                   │
70103│                          │ ions.                                                        │
70104├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70105mac_pkgutil               │ Installer support for mac‐                                   │
70106│                          │ OS.                                                          │
70107├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70108mac_ports                 │ Support for MacPorts under                                   │
70109│                          │ macOS.                                                       │
70110├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70111mac_power                 │ Module for  editing  power                                   │
70112│                          │ settings on macOS                                            │
70113├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70114mac_service               │ The   service  module  for                                   │
70115│                          │ macOS                                                        │
70116├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70117mac_shadow                │ Manage macOS local  direc‐                                   │
70118│                          │ tory  passwords  and poli‐                                   │
70119│                          │ cies                                                         │
70120├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70121mac_softwareupdate        │ Support for the  software‐                                   │
70122│                          │ update command on MacOS.                                     │
70123├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70124mac_sysctl                │ Module   for  viewing  and                                   │
70125│                          │ modifying  sysctl  parame‐                                   │
70126│                          │ ters                                                         │
70127├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70128mac_system                │ System  module  for sleep‐                                   │
70129│                          │ ing, restarting, and shut‐                                   │
70130│                          │ ting  down  the  system on                                   │
70131│                          │ Mac OS X                                                     │
70132├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70133mac_timezone              │ Module     for     editing                                   │
70134│                          │ date/time settings on mac‐                                   │
70135│                          │ OS                                                           │
70136├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70137mac_user                  │ Manage  users  on  Mac  OS                                   │
70138│                          │ 10.7+                                                        │
70139├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70140mac_xattr                 │ This  module allows you to                                   │
70141│                          │ manage extended attributes                                   │
70142│                          │ on files or directories                                      │
70143├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70144makeconf                  │ Support    for   modifying                                   │
70145│                          │ make.conf under Gentoo                                       │
70146├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70147mandrill                  │ Mandrill                                                     │
70148├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70149marathon                  │ Module providing a  simple                                   │
70150│                          │ management  interface to a                                   │
70151│                          │ marathon cluster.                                            │
70152├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70153match                     │ The  match  module  allows                                   │
70154│                          │ for  match  routines to be                                   │
70155│                          │ run and  determine  target                                   │
70156│                          │ specs                                                        │
70157├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70158mattermost                │ Module  for  sending  mes‐                                   │
70159│                          │ sages to Mattermost                                          │
70160├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70161mdadm                     │ Salt module to manage RAID                                   │
70162│                          │ arrays with mdadm                                            │
70163├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70164mdata                     │ Module    for   managaging                                   │
70165│                          │ metadata in SmartOS Zones                                    │
70166├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70167memcached                 │ Module for  Management  of                                   │
70168│                          │ Memcached Keys                                               │
70169├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70170mine                      │ The  function cache system                                   │
70171│                          │ allows  for  data  to   be                                   │
70172│                          │ stored on the master so it                                   │
70173│                          │ can  be  easily  read   by                                   │
70174│                          │ other minions                                                │
70175├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70176minion                    │ Module to provide informa‐                                   │
70177│                          │ tion about minions                                           │
70178├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70179mod_random                │ Provides access to random‐                                   │
70180│                          │ ness generators.                                             │
70181├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70182modjk                     │ Control   Modjk   via  the                                   │
70183│                          │ Apache   Tomcat   "Status"                                   │
70184│                          │ worker                  (‐                                   │
70185│                          │ http://tom
70186│                          │ cat.apache.org/connec‐
70187│                          │ tors-doc/reference/sta‐
70188│                          │ tus.html)                                                    │
70189├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70190mongodb                   │ Module  to provide MongoDB                                   │
70191│                          │ functionality to Salt                                        │
70192├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70193monit                     │ Monit service module.                                        │
70194├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70195moosefs                   │ Module for  gathering  and                                   │
70196│                          │ managing information about                                   │
70197│                          │ MooseFS                                                      │
70198├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70199mount                     │ Salt module to manage Unix                                   │
70200│                          │ mounts and the fstab file                                    │
70201├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70202mssql                     │ Module  to  provide MS SQL                                   │
70203│                          │ Server  compatibility   to                                   │
70204│                          │ salt.                                                        │
70205├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70206msteams                   │ Module  for  sending  mes‐                                   │
70207│                          │ sages to MS Teams                                            │
70208├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70209munin                     │ Run  munin  plugins/checks                                   │
70210│                          │ from  salt  and format the                                   │
70211│                          │ output as data.                                              │
70212├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70213mysql                     │ Module  to  provide  MySQL                                   │
70214│                          │ compatibility to salt.                                       │
70215├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70216nacl                      │ This  module helps include                                   │
70217│                          │ encrypted   passwords   in                                   │
70218│                          │ pillars,  grains  and salt                                   │
70219│                          │ state files.                                                 │
70220├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70221nagios                    │ Run nagios  plugins/checks                                   │
70222│                          │ from   salt  and  get  the                                   │
70223│                          │ return as data.                                              │
70224├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70225nagios_rpc                │ Check Host & Service  sta‐                                   │
70226│                          │ tus  from  Nagios via JSON                                   │
70227│                          │ RPC.                                                         │
70228├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70229namecheap_dns             │ Namecheap DNS Management                                     │
70230├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70231namecheap_domains         │ Namecheap  Domain  Manage‐                                   │
70232│                          │ ment                                                         │
70233├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70234namecheap_ns              │ Namecheap  Nameserver Man‐                                   │
70235│                          │ agement                                                      │
70236├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70237namecheap_ssl             │ Namecheap SSL  Certificate                                   │
70238│                          │ Management                                                   │
70239├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70240namecheap_users           │ Namecheap User Management                                    │
70241├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70242napalm_acl                │ NAPALM ACL                                                   │
70243├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70244napalm_bgp                │ NAPALM BGP                                                   │
70245├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70246napalm_formula            │ NAPALM Formula helpers                                       │
70247├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70248napalm_mod                │ NAPALM helpers                                               │
70249├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70250napalm_network            │ NAPALM Network                                               │
70251├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70252napalm_ntp                │ NAPALM NTP                                                   │
70253├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70254napalm_probes             │ NAPALM Probes                                                │
70255├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70256napalm_route              │ NAPALM Route                                                 │
70257├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70258napalm_snmp               │ NAPALM SNMP                                                  │
70259├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70260napalm_users              │ NAPALM Users                                                 │
70261├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70262napalm_yang_mod           │ NAPALM YANG                                                  │
70263├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70264netaddress                │ Module  for getting infor‐                                   │
70265│                          │ mation    about    network                                   │
70266│                          │ addresses.                                                   │
70267├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70268netbox                    │ NetBox                                                       │
70269├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70270netbsd_sysctl             │ Module   for  viewing  and                                   │
70271│                          │ modifying  sysctl  parame‐                                   │
70272│                          │ ters                                                         │
70273├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70274netbsdservice             │ The   service  module  for                                   │
70275│                          │ NetBSD                                                       │
70276└──────────────────────────┴──────────────────────────────────────────────────────────────┘
70277
70278netmiko_mod               │ Netmiko Execution Module                                     │
70279├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70280netscaler                 │ Module to  provide  Citrix                                   │
70281│                          │ Netscaler compatibility to                                   │
70282│                          │ Salt   (compatible    with                                   │
70283│                          │ netscaler 9.2+)                                              │
70284├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70285network                   │ Module  for  gathering and                                   │
70286│                          │ managing network  informa‐                                   │
70287│                          │ tion                                                         │
70288├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70289neutron                   │ Module  for handling Open‐                                   │
70290│                          │ Stack Neutron calls                                          │
70291├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70292neutronng                 │ Neutron module for  inter‐                                   │
70293│                          │ acting with OpenStack Neu‐                                   │
70294│                          │ tron                                                         │
70295├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70296nfs3                      │ Module  for  managing  NFS                                   │
70297│                          │ version 3.                                                   │
70298├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70299nftables                  │ Support for nftables                                         │
70300├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70301nginx                     │ Support for nginx                                            │
70302├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70303nilrt_ip                  │ The  networking module for                                   │
70304│                          │ NI Linux Real-Time distro                                    │
70305├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70306nix                       │ Work with Nix packages                                       │
70307├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70308nova                      │ Module for handling  Open‐                                   │
70309│                          │ Stack Nova calls                                             │
70310├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70311npm                       │ Manage and query NPM pack‐                                   │
70312│                          │ ages.                                                        │
70313├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70314nspawn                    │ Manage nspawn containers                                     │
70315├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70316nxos                      │ Execution module for Cisco                                   │
70317│                          │ NX  OS Switches Proxy min‐                                   │
70318│                          │ ions                                                         │
70319├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70320nxos_api                  │ Execution module to manage                                   │
70321│                          │ Cisco    Nexus    Switches                                   │
70322│                          │ (NX-OS) over the NX-API                                      │
70323├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70324omapi                     │ This module interacts with                                   │
70325│                          │ an  ISC  DHCP  Server  via                                   │
70326│                          │ OMAPI.                                                       │
70327├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70328openbsd_sysctl            │ Module  for  viewing   and                                   │
70329│                          │ modifying  OpenBSD  sysctl                                   │
70330│                          │ parameters                                                   │
70331├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70332openbsdpkg                │ Package support for  Open‐                                   │
70333│                          │ BSD                                                          │
70334├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70335openbsdrcctl              │ The  rcctl  service module                                   │
70336│                          │ for OpenBSD                                                  │
70337├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70338openbsdservice            │ The  service  module   for                                   │
70339│                          │ OpenBSD                                                      │
70340├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70341openscap                  │ Module  for  OpenSCAP Man‐                                   │
70342│                          │ agement                                                      │
70343├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70344openstack_config          │ Modify,    retrieve,    or                                   │
70345│                          │ delete  values  from Open‐                                   │
70346│                          │ Stack configuration files.                                   │
70347├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70348openstack_mng             │ Module for OpenStack  Man‐                                   │
70349│                          │ agement                                                      │
70350├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70351openvswitch               │ Support for Open vSwitch -                                   │
70352│                          │ module  with  basic   Open                                   │
70353│                          │ vSwitch commands.                                            │
70354├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70355opkg                      │ Support for Opkg                                             │
70356├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70357opsgenie                  │ Module for sending data to                                   │
70358│                          │ OpsGenie                                                     │
70359├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70360oracle                    │ Oracle DataBase connection                                   │
70361│                          │ module                                                       │
70362├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70363osquery                   │ Support   for   OSQuery  -                                   │
70364│                          │ https://osquery.io.                                          │
70365├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70366out                       │ Output Module                                                │
70367├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70368pacman                    │ A module  to  wrap  pacman                                   │
70369│                          │ calls,  since  Arch is the                                   │
70370│                          │ best                    (‐                                   │
70371│                          │ https://wiki.arch
70372│                          │ linux.org/index.php/Arch_is_the_best)                        │
70373├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70374pagerduty                 │ Module  for  Firing Events via Pager‐                        │
70375│                          │ Duty                                                         │
70376├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70377pagerduty_util            │ Module   for   manageing    PagerDuty                        │
70378│                          │ resource                                                     │
70379├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70380pam                       │ Support for pam                                              │
70381├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70382panos                     │ Module  to provide Palo Alto compati‐                        │
70383│                          │ bility to Salt                                               │
70384├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70385parallels                 │ Manage  Parallels  Desktop  VMs  with                        │
70386│                          │ prlctl and prlsrvctl.                                        │
70387├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70388parted                    │ Module  for  managing  partitions  on                        │
70389│                          │ POSIX-like systems.                                          │
70390├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70391pcs                       │ Configure a Pacemaker/Corosync  clus‐                        │
70392│                          │ ter with PCS                                                 │
70393├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70394pdbedit                   │ Manage  accounts  in  Samba's  passdb                        │
70395│                          │ using pdbedit                                                │
70396├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70397pecl                      │ Manage PHP pecl extensions.                                  │
70398├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70399peeringdb                 │ PeeringDB Module                                             │
70400├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70401pf                        │ Control  the  OpenBSD  packet  filter                        │
70402│                          │ (PF).                                                        │
70403├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70404philips_hue               │ Philips HUE lamps module for proxy.                          │
70405├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70406pillar                    │ Extract the pillar data for this min‐                        │
70407│                          │ ion                                                          │
70408├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70409pip                       │ Install Python packages with  pip  to                        │
70410│                          │ either the system or a virtualenv                            │
70411├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70412pkg_resource              │ Resources needed by pkg providers                            │
70413├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70414pkgin                     │ Package  support for pkgin based sys‐                        │
70415│                          │ tems, inspired from freebsdpkg module                        │
70416├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70417pkgng                     │ Support for pkgng,  the  new  package                        │
70418│                          │ manager for FreeBSD                                          │
70419├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70420pkgutil                   │ Pkgutil support for Solaris                                  │
70421├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70422portage_config            │ Configure portage(5)                                         │
70423├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70424postfix                   │ Support for Postfix                                          │
70425├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70426postgres                  │ Module  to  provide Postgres compati‐                        │
70427│                          │ bility to salt.                                              │
70428├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70429poudriere                 │ Support for poudriere                                        │
70430├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70431powerpath                 │ powerpath support.                                           │
70432├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70433proxy                     │ This  module  allows  you  to  manage                        │
70434│                          │ proxy settings                                               │
70435├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70436ps                        │ A  salt interface to psutil, a system                        │
70437│                          │ and process library.                                         │
70438├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70439publish                   │ Publish a command from a minion to  a                        │
70440│                          │ target                                                       │
70441├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70442puppet                    │ Execute puppet routines                                      │
70443├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70444purefa                    │ Management of Pure Storage FlashArray                        │
70445├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70446purefb                    │ Management of Pure Storage FlashBlade                        │
70447├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70448pushbullet                │ Module  for sending messages to Push‐                        │
70449│                          │ bullet (https://www.pushbullet.com)                          │
70450├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70451pushover_notify           │ Module  for   sending   messages   to                        │
70452│                          │ Pushover (https://www.pushover.net)                          │
70453├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70454pw_group                  │ Manage groups on FreeBSD                                     │
70455├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70456pw_user                   │ Manage users with the pw command                             │
70457├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70458pyenv                     │ Manage   python   installations  with                        │
70459│                          │ pyenv.                                                       │
70460├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70461qemu_img                  │ Qemu-img Command Wrapper                                     │
70462├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70463qemu_nbd                  │ Qemu Command Wrapper                                         │
70464├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70465quota                     │ Module   for   managing   quotas   on                        │
70466│                          │ POSIX-like systems.                                          │
70467├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70468rabbitmq                  │ Module  to  provide RabbitMQ compati‐                        │
70469│                          │ bility to Salt.                                              │
70470├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70471raet_publish              │ Publish a command from a minion to  a                        │
70472│                          │ target                                                       │
70473├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70474rallydev                  │ Support for RallyDev                                         │
70475├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70476random_org                │ Module for retrieving random informa‐                        │
70477│                          │ tion from Random.org                                         │
70478├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70479rbac_solaris              │ Module for Solaris' Role-Based Access                        │
70480│                          │ Control                                                      │
70481└──────────────────────────┴──────────────────────────────────────────────────────────────┘
70482
70483
70484rbenv                     │ Manage ruby installations with rbenv.                        │
70485├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70486rdp                       │ Manage RDP Service on Windows servers                        │
70487├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70488redismod                  │ Module to provide redis functionality                        │
70489│                          │ to Salt                                                      │
70490├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70491reg                       │ Manage the Windows registry                                  │
70492├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70493rest_package              │ Package support for the REST example                         │
70494├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70495rest_sample_utils         │ Utility functions for the rest_sample                        │
70496├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70497rest_service              │ Provide the service  module  for  the                        │
70498│                          │ proxy-minion REST sample                                     │
70499├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70500restartcheck              │ checkrestart functionality for Debian                        │
70501│                          │ and Red Hat Based systems                                    │
70502├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70503ret                       │ Module to integrate with the returner                        │
70504│                          │ system  and  retrieve  data sent to a                        │
70505│                          │ salt returner                                                │
70506├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70507rh_ip                     │ The networking module for RHEL/Fedora                        │
70508│                          │ based distros                                                │
70509├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70510rh_service                │ Service  support  for RHEL-based sys‐                        │
70511│                          │ tems,  including  support  for   both                        │
70512│                          │ upstart and sysvinit                                         │
70513├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70514riak                      │ Riak Salt Module                                             │
70515├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70516rpm                       │ Support for rpm                                              │
70517├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70518rpmbuild                  │ RPM Package builder system                                   │
70519├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70520rsync                     │ Wrapper for rsync                                            │
70521├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70522runit                     │ runit      service      module     (‐                        │
70523│                          │ http://smarden.org/runit)                                    │
70524├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70525rvm                       │ Manage ruby installations and gemsets                        │
70526│                          │ with RVM, the Ruby Version Manager.                          │
70527├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70528s3                        │ Connection module for Amazon S3                              │
70529├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70530s6                        │ s6 service module                                            │
70531├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70532salt_proxy                │ Salt proxy module                                            │
70533├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70534saltcheck                 │ A  module  for  testing  the logic of                        │
70535│                          │ states and highstates                                        │
70536├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70537saltcloudmod              │ Control a salt cloud system                                  │
70538├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70539saltutil                  │ The Saltutil module is used to manage                        │
70540│                          │ the state of the salt minion itself.                         │
70541├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70542schedule                  │ Module for managing the Salt schedule                        │
70543│                          │ on a minion                                                  │
70544├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70545scp_mod                   │ SCP Module                                                   │
70546├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70547scsi                      │ SCSI administration module                                   │
70548├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70549sdb                       │ Module for Manipulating Data via  the                        │
70550│                          │ Salt DB API                                                  │
70551├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70552seed                      │ Virtual   machine   image  management                        │
70553│                          │ tools                                                        │
70554├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70555selinux                   │ Execute calls on selinux                                     │
70556├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70557sensehat                  │ Module for controlling the LED matrix                        │
70558│                          │ or  reading  environment  data on the                        │
70559│                          │ SenseHat of a Raspberry Pi.                                  │
70560├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70561sensors                   │ Read lm-sensors                                              │
70562├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70563serverdensity_device      │ Wrapper around Server Density API                            │
70564├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70565service                   │ If Salt's OS detection does not iden‐                        │
70566│                          │ tify a different virtual service mod‐                        │
70567│                          │ ule, the minion  will  fall  back  to                        │
70568│                          │ using this basic module, which simply                        │
70569│                          │ wraps sysvinit scripts.                                      │
70570├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70571servicenow                │ Module for execution of ServiceNow CI                        │
70572│                          │ (configuration items)                                        │
70573├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70574shadow                    │ Manage  the shadow file on Linux sys‐                        │
70575│                          │ tems                                                         │
70576├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70577slack_notify              │ Module for sending messages to Slack                         │
70578├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70579slsutil                   │ Utility functions for use with or  in                        │
70580│                          │ SLS files                                                    │
70581├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70582smartos_imgadm            │ Module  for running imgadm command on                        │
70583│                          │ SmartOS                                                      │
70584├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70585smartos_nictagadm         │ Module for running nictagadm  command                        │
70586│                          │ on   SmartOS   :maintainer:     Jorge                        │
70587│                          │ Schrauwen <sjorge@blackdot.be> :matu‐                        │
70588│                          │ rity:      new :depends:       nicta‐                        │
70589│                          │ gadm binary, dladm binary  :platform:                        │
70590│                          │ smartos                                                      │
70591├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70592smartos_virt              │ virst compatibility module for manag‐                        │
70593│                          │ ing VMs on SmartOS                                           │
70594├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70595smartos_vmadm             │ Module for running vmadm  command  on                        │
70596│                          │ SmartOS                                                      │
70597├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70598smbios                    │ Interface to SMBIOS/DMI                                      │
70599├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70600smf                       │ Service  support  for  Solaris 10 and                        │
70601│                          │ 11, should work  with  other  systems                        │
70602│                          │ that use SMF also.                                           │
70603├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70604smtp                      │ Module for Sending Messages via SMTP                         │
70605├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70606solaris_fmadm             │ Module  for  running fmadm and fmdump                        │
70607│                          │ on Solaris                                                   │
70608├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70609solaris_group             │ Manage groups on Solaris                                     │
70610├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70611solaris_shadow            │ Manage  the  password   database   on                        │
70612│                          │ Solaris systems                                              │
70613├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70614solaris_system            │ Support for reboot, shutdown, etc                            │
70615├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70616solaris_user              │ Manage users with the useradd command                        │
70617├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70618solarisips                │ IPS pkg support for Solaris                                  │
70619├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70620solarispkg                │ Package support for Solaris                                  │
70621├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70622solr                      │ Apache Solr Salt Module                                      │
70623├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70624solrcloud                 │ Module for solrcloud configuration                           │
70625├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70626splunk                    │ Module  for  interop  with the Splunk                        │
70627│                          │ API                                                          │
70628├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70629splunk_search             │ Module for interop  with  the  Splunk                        │
70630│                          │ API                                                          │
70631├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70632sqlite3                   │ Support for SQLite3                                          │
70633├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70634ssh                       │ Manage client ssh components                                 │
70635├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70636ssh_package               │ Service support for the REST example                         │
70637├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70638ssh_service               │ Provide  the  service  module for the                        │
70639│                          │ proxy-minion SSH sample ..                                   │
70640├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70641snapper                   │ Module to manage filesystem snapshots                        │
70642│                          │ with snapper                                                 │
70643├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70644state                     │ Control  the state system on the min‐                        │
70645│                          │ ion.                                                         │
70646├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70647status                    │ Module for returning  various  status                        │
70648│                          │ data about a minion.                                         │
70649├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70650statuspage                │ StatusPage                                                   │
70651├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70652supervisord               │ Provide the service module for system                        │
70653│                          │ supervisord or supervisord in a  vir‐                        │
70654│                          │ tualenv                                                      │
70655├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70656suse_apache               │ Support for Apache                                           │
70657├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70658svn                       │ Subversion SCM                                               │
70659├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70660swarm                     │ Docker  Swarm  Module  using Docker's                        │
70661│                          │ Python SDK                                                   │
70662├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70663swift                     │ Module for handling  OpenStack  Swift                        │
70664│                          │ calls   Author:  Anthony  Stanton  <‐                        │
70665│                          │ anthony.stanton@gmail.com>                                   │
70666├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70667sysbench                  │ The 'sysbench' module is used to ana‐                        │
70668│                          │ lyze  the performance of the minions,                        │
70669│                          │ right from the  master!  It  measures                        │
70670│                          │ various  system  parameters  such  as                        │
70671│                          │ CPU, Memory, File  I/O,  Threads  and                        │
70672│                          │ Mutex.                                                       │
70673├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70674sysfs                     │ Module for interfacing with SysFS                            │
70675├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70676syslog_ng                 │ Module  for getting information about                        │
70677│                          │ syslog-ng                                                    │
70678├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70679sysmod                    │ The sys module  provides  information                        │
70680│                          │ about  the available functions on the                        │
70681│                          │ minion                                                       │
70682├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70683sysrc                     │ sysrc module for FreeBSD                                     │
70684├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70685system                    │ Support for reboot, shutdown, etc  on                        │
70686│                          │ POSIX-like systems.                                          │
70687└──────────────────────────┴──────────────────────────────────────────────────────────────┘
70688
70689
70690system_profiler           │ System Profiler Module                                       │
70691├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70692systemd                   │ Provides  the service module for sys‐                        │
70693│                          │ temd                                                         │
70694├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70695telegram                  │ Module for sending messages via Tele‐                        │
70696│                          │ gram.                                                        │
70697├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70698telemetry                 │ Connection module for Telemetry                              │
70699├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70700temp                      │ Simple  module for creating temporary                        │
70701│                          │ directories and files                                        │
70702├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70703test                      │ Module for running arbitrary tests                           │
70704├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70705testinframod              │ This module exposes the functionality                        │
70706│                          │ of the TestInfra library for use with                        │
70707│                          │ SaltStack  in  order  to  verify  the                        │
70708│                          │ state of your minions.                                       │
70709├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70710test_virtual              │ Module  for  running  arbitrary tests                        │
70711│                          │ with a __virtual__ function                                  │
70712├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70713textfsm_mod               │ TextFSM                                                      │
70714├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70715timezone                  │ Module  for  managing   timezone   on                        │
70716│                          │ POSIX-like systems.                                          │
70717├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70718tls                       │ A salt module for SSL/TLS.                                   │
70719├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70720tomcat                    │ Support for Tomcat                                           │
70721├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70722trafficserver             │ Apache  Traffic Server execution mod‐                        │
70723│                          │ ule.                                                         │
70724├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70725travisci                  │ Commands for working with travisci.                          │
70726├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70727tuned                     │ Interface to Red Hat tuned-adm module                        │
70728├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70729twilio_notify             │ Module for notifications via Twilio                          │
70730├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70731udev                      │ Manage and query udev info                                   │
70732├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70733upstart                   │ Module for the management of  upstart                        │
70734│                          │ systems.                                                     │
70735├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70736uptime                    │ Wrapper around uptime API                                    │
70737├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70738useradd                   │ Manage users with the useradd command                        │
70739├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70740uwsgi                     │ uWSGI           stats          server                        │
70741│                          │ https://uwsgi-docs.readthedocs.io/en/latest/StatsServer.html
70742├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70743vagrant                   │ Work with virtual machines managed by Vagrant.               │
70744├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70745varnish                   │ Support for Varnish                                          │
70746├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70747vault                     │ Functions to interact with Hashicorp Vault.                  │
70748├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70749vbox_guest                │ VirtualBox Guest Additions installer                         │
70750├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70751vboxmanage                │ Support for VirtualBox using the VBoxManage command          │
70752├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70753victorops                 │ Support for VictorOps                                        │
70754├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70755virt                      │ Work with virtual machines managed by libvirt                │
70756├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70757virtualenv_mod            │ Create virtualenv environments.                              │
70758├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70759vmctl                     │ Manage  vms  running  on  the  OpenBSD  VMM hypervisor using │
70760│                          │ vmctl(8).                                                    │
70761├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70762vsphere                   │ Manage VMware vCenter servers and ESXi hosts.                │
70763├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70764win_autoruns              │ Module  for  listing  programs  that  automatically  run  on │
70765│                          │ startup  (very  alpha...not  tested  on  anything but my Win │
70766│                          │ 7x64)                                                        │
70767├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70768win_certutil              │ This module allows you to install certificates into the win‐ │
70769│                          │ dows certificate manager.                                    │
70770├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70771win_dacl                  │ Manage DACLs on Windows                                      │
70772├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70773win_disk                  │ Module for gathering disk information on Windows             │
70774├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70775win_dism                  │ Install  features/packages  for Windows using DISM, which is │
70776│                          │ useful for minions not running server versions of Windows.   │
70777├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70778win_dns_client            │ Module for configuring DNS Client on Windows systems         │
70779├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70780win_dsc                   │ Module for working  with  Windows  PowerShell  DSC  (Desired │
70781│                          │ State Configuration)                                         │
70782├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70783win_file                  │ Manage information about files on the minion, set/read user, │
70784│                          │ group data, modify the ACL of files/directories              │
70785├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70786win_firewall              │ Module for configuring Windows Firewall using netsh          
70787├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70788win_groupadd              │ Manage groups on Windows                                     │
70789├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70790win_iis                   │ Microsoft IIS site management via  WebAdministration  power‐ │
70791│                          │ shell module                                                 │
70792├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70793win_ip                    │ The networking module for Windows based systems              │
70794├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70795win_lgpo                  │ Manage Local Policy on Windows                               │
70796├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70797win_license               │ This  module  allows  you  to  manage  windows licensing via │
70798│                          │ slmgr.vbs                                                    │
70799├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70800win_network               │ Module for gathering and managing network information        │
70801├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70802win_ntp                   │ Management of NTP servers on Windows                         │
70803├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70804win_path                  │ Manage the Windows System PATH                               │
70805├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70806win_pkg                   │ A module to manage software on Windows                       │
70807├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70808win_pki                   │ Microsoft certificate management via the PKI  Client  Power‐ │
70809│                          │ Shell module.                                                │
70810├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70811win_powercfg              │ This  module  allows  you to control the power settings of a │
70812│                          │ windows minion via powercfg.                                 │
70813├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70814win_psget                 │ Module for managing PowerShell through PowerShellGet (PSGet) │
70815├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70816win_repo                  │ Module to manage Windows software repo on a Standalone  Min‐ │
70817│                          │ ion                                                          │
70818├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70819win_servermanager         │ Manage  Windows  features  via  the ServerManager powershell │
70820│                          │ module.                                                      │
70821├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70822win_service               │ Windows Service module.                                      │
70823├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70824win_shadow                │ Manage the shadow file                                       │
70825├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70826win_smtp_server           │ Module for managing IIS SMTP server configuration on Windows │
70827│                          │ servers.                                                     │
70828├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70829win_snmp                  │ Module   for  managing  SNMP  service  settings  on  Windows │
70830│                          │ servers.                                                     │
70831├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70832win_status                │ Module for returning various status data about a minion.     │
70833├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70834win_system                │ Module for managing windows systems.                         │
70835├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70836win_task                  │ Windows Task Scheduler Module ..                             │
70837├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70838win_timezone              │ Module for managing timezone on Windows systems.             │
70839├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70840win_useradd               │ Module for managing Windows Users                            │
70841├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70842win_wua                   │ Module for managing Windows Updates using the Windows Update │
70843│                          │ Agent.                                                       │
70844├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70845x509                      │ Manage X509 certificates                                     │
70846├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70847xapi                      │ This  module  (mostly) uses the XenAPI to manage Xen virtual │
70848│                          │ machines.                                                    │
70849├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70850xbpspkg                   │ Package support for XBPS package manager (used by VoidLinux) │
70851├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70852xfs                       │ Module for managing XFS file systems.                        │
70853├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70854xmpp                      │ Module for Sending Messages via XMPP (a.k.a.                 │
70855├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70856yumpkg                    │ Support for YUM/DNF                                          │
70857├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70858zabbix                    │ Support for Zabbix                                           │
70859├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70860zcbuildout                │ Management of zc.buildout                                    │
70861├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70862zenoss                    │ Module for working with the Zenoss API                       │
70863├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70864zfs                       │ Module for running ZFS command                               │
70865├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70866zk_concurrency            │ Concurrency controls in zookeeper                            │
70867├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70868znc                       │ znc - An advanced IRC bouncer                                │
70869├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70870zoneadm                   │ Module for Solaris 10's zoneadm                              │
70871├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70872zonecfg                   │ Module for Solaris 10's zonecfg                              │
70873├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70874zookeeper                 │ Zookeeper Module                                             │
70875├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70876zpool                     │ Module for running ZFS zpool command                         │
70877├──────────────────────────┼──────────────────────────────────────────────────────────────┤
70878zypper                    │ Package support for openSUSE via the zypper package manager  │
70879└──────────────────────────┴──────────────────────────────────────────────────────────────┘
70880
70881   salt.modules.acme module
70882   ACME / Let's Encrypt module
70883       This module currently looks for certbot script in the $PATH as -  cert‐
70884       bot,  -  lestsencrypt,  -  certbot-auto,  - letsencrypt-auto eventually
70885       falls back to /opt/letsencrypt/letsencrypt-auto
70886
70887       NOTE:
70888          Installation & configuration of the Let's  Encrypt  client  can  for
70889          example                 be                 done                using
70890          https://github.com/saltstack-formulas/letsencrypt-formula
70891
70892       WARNING:
70893          Be sure to set at least accept-tos = True in cli.ini!
70894
70895       Most parameters will fall back to cli.ini defaults if None is given.
70896
70897   DNS plugins
70898       This module currently supports the CloudFlare certbot DNS plugin.   The
70899       DNS  plugin  credentials file needs to be passed in using the dns_plug‐
70900       in_credentials argument.
70901
70902       Make sure the appropriate certbot plugin for the wanted DNS provider is
70903       installed before using this module.
70904
70905       salt.modules.acme.cert(name,  aliases=None,  email=None,  webroot=None,
70906       test_cert=False, renew=None, keysize=None, server=None,  owner=u'root',
70907       group=u'root',  mode=u'0640', certname=None, preferred_challenges=None,
70908       tls_sni_01_port=None,    tls_sni_01_address=None,    http_01_port=None,
70909       http_01_address=None, dns_plugin=None, dns_plugin_credentials=None)
70910              Obtain/renew  a  certificate  from  an  ACME  CA, probably Let's
70911              Encrypt.
70912
70913              Parameters
70914
70915                     · name -- Common Name of the  certificate  (DNS  name  of
70916                       certificate)
70917
70918                     · aliases  --  subjectAltNames  (Additional  DNS names on
70919                       certificate)
70920
70921                     · email --  e-mail  address  for  interaction  with  ACME
70922                       provider
70923
70924                     · webroot  --  True or a full path to use to use webroot.
70925                       Otherwise use standalone mode
70926
70927                     · test_cert --  Request  a  certificate  from  the  Happy
70928                       Hacker Fake CA (mutually exclusive with 'server')
70929
70930                     · renew  --  True/'force' to force a renewal, or a window
70931                       of renewal before expiry in days
70932
70933                     · keysize -- RSA key bits
70934
70935                     · server -- API endpoint to talk to
70936
70937                     · owner -- owner of the private key file
70938
70939                     · group -- group of the private key file
70940
70941                     · mode -- mode of the private key file
70942
70943                     · certname -- Name of the certificate to save
70944
70945                     · preferred_challenges -- A sorted, comma delimited  list
70946                       of  the preferred challenge to use during authorization
70947                       with the most preferred challenge listed first.
70948
70949                     · tls_sni_01_port -- Port used  during  tls-sni-01  chal‐
70950                       lenge. This only affects the port Certbot listens on. A
70951                       conforming ACME server will still attempt to connect on
70952                       port 443.
70953
70954                     · tls_sni_01_address -- The address the server listens to
70955                       during tls-sni-01 challenge.
70956
70957                     · http_01_port -- Port used  in  the  http-01  challenge.
70958                       This  only  affects the port Certbot listens on. A con‐
70959                       forming ACME server will still attempt  to  connect  on
70960                       port 80.
70961
70962                     · https_01_address  --  The address the server listens to
70963                       during http-01 challenge.
70964
70965                     · dns_plugin -- Name of a DNS plugin  to  use  (currently
70966                       only 'cloudflare')
70967
70968                     · dns_plugin_credentials  -- Path to the credentials file
70969                       if required by the specified DNS plugin
70970
70971              Returns
70972                     dict with 'result' True/False/None,  'comment'  and  cer‐
70973                     tificate's expiry date ('not_after')
70974
70975              CLI example:
70976
70977                 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
70978
70979       salt.modules.acme.certs()
70980              Return a list of active certificates
70981
70982              CLI example:
70983
70984                 salt 'vhost.example.com' acme.certs
70985
70986       salt.modules.acme.expires(name)
70987              The expiry date of a certificate in ISO format
70988
70989              Parameters
70990                     name -- CommonName of cert
70991
70992              CLI example:
70993
70994                 salt 'gitlab.example.com' acme.expires dev.example.com
70995
70996       salt.modules.acme.has(name)
70997              Test if a certificate is in the Let's Encrypt Live directory
70998
70999              Parameters
71000                     name -- CommonName of cert
71001
71002              Code example:
71003
71004                 if __salt__['acme.has']('dev.example.com'):
71005                     log.info('That is one nice certificate you have there!')
71006
71007       salt.modules.acme.info(name)
71008              Return information about a certificate
71009
71010              NOTE:
71011                 Will  output  tls.cert_info  if  that's available, or OpenSSL
71012                 text if not
71013
71014              Parameters
71015                     name -- CommonName of cert
71016
71017              CLI example:
71018
71019                 salt 'gitlab.example.com' acme.info dev.example.com
71020
71021       salt.modules.acme.needs_renewal(name, window=None)
71022              Check if a certificate needs renewal
71023
71024              Parameters
71025
71026                     · name -- CommonName of cert
71027
71028                     · window -- Window in days to renew earlier or True/force
71029                       to just return True
71030
71031              Code example:
71032
71033                 if __salt__['acme.needs_renewal']('dev.example.com'):
71034                     __salt__['acme.cert']('dev.example.com', **kwargs)
71035                 else:
71036                     log.info('Your certificate is still good')
71037
71038       salt.modules.acme.renew_by(name, window=None)
71039              Date in ISO format when a certificate should first be renewed
71040
71041              Parameters
71042
71043                     · name -- CommonName of cert
71044
71045                     · window  --  number  of  days before expiry when renewal
71046                       should take place
71047
71048   salt.modules.aix_group module
71049       Manage groups on Solaris
71050
71051       IMPORTANT:
71052          If you feel that Salt should be using this module to  manage  groups
71053          on  a  minion, and it is using a different module (or gives an error
71054          similar to 'group.info' is not available), see here.
71055
71056       salt.modules.aix_group.add(name, gid=None, system=False, root=None)
71057              Add the specified group
71058
71059              CLI Example:
71060
71061                 salt '*' group.add foo 3456
71062
71063       salt.modules.aix_group.adduser(name, username, root=None)
71064              Add a user in the group.
71065
71066              CLI Example:
71067
71068                 salt '*' group.adduser foo bar
71069
71070              Verifies if a valid username 'bar' as a member  of  an  existing
71071              group 'foo', if not then adds it.
71072
71073       salt.modules.aix_group.chgid(name, gid)
71074              Change the gid for a named group
71075
71076              CLI Example:
71077
71078                 salt '*' group.chgid foo 4376
71079
71080       salt.modules.aix_group.delete(name)
71081              Remove the named group
71082
71083              CLI Example:
71084
71085                 salt '*' group.delete foo
71086
71087       salt.modules.aix_group.deluser(name, username, root=None)
71088              Remove a user from the group.
71089
71090              CLI Example:
71091
71092                 salt '*' group.deluser foo bar
71093
71094              Removes  a member user 'bar' from a group 'foo'. If group is not
71095              present then returns True.
71096
71097       salt.modules.aix_group.getent(refresh=False)
71098              Return info on all groups
71099
71100              CLI Example:
71101
71102                 salt '*' group.getent
71103
71104       salt.modules.aix_group.info(name)
71105              Return information about a group
71106
71107              CLI Example:
71108
71109                 salt '*' group.info foo
71110
71111       salt.modules.aix_group.members(name, members_list, root=None)
71112              Replaces members of the group with a provided list.
71113
71114              CLI Example:
71115                 salt '*' group.members foo 'user1,user2,user3,...'
71116
71117              Replaces a membership list for a local group 'foo'.
71118                     foo:x:1234:user1,user2,user3,...
71119
71120   salt.modules.aliases
71121       Manage the information in the aliases file
71122
71123       salt.modules.aliases.get_target(alias)
71124              Return the target associated with an alias
71125
71126              CLI Example:
71127
71128                 salt '*' aliases.get_target alias
71129
71130       salt.modules.aliases.has_target(alias, target)
71131              Return true if the alias/target is set
71132
71133              CLI Example:
71134
71135                 salt '*' aliases.has_target alias target
71136
71137       salt.modules.aliases.list_aliases()
71138              Return the aliases found in the aliases file in this format:
71139
71140                 {'alias': 'target'}
71141
71142              CLI Example:
71143
71144                 salt '*' aliases.list_aliases
71145
71146       salt.modules.aliases.rm_alias(alias)
71147              Remove an entry from the aliases file
71148
71149              CLI Example:
71150
71151                 salt '*' aliases.rm_alias alias
71152
71153       salt.modules.aliases.set_target(alias, target)
71154              Set the entry in the aliases file for the given alias, this will
71155              overwrite any previous entry for the given alias or create a new
71156              one if it does not exist.
71157
71158              CLI Example:
71159
71160                 salt '*' aliases.set_target alias target
71161
71162   salt.modules.alternatives
71163       Support for Alternatives system
71164
71165       codeauthor
71166              Radek Rada <radek.rada@gmail.com>
71167
71168       salt.modules.alternatives.auto(name)
71169              Trigger alternatives to set the path for <name> as specified  by
71170              priority.
71171
71172              CLI Example:
71173
71174                 salt '*' alternatives.auto name
71175
71176       salt.modules.alternatives.check_exists(name, path)
71177              Check if the given path is an alternative for a name.
71178
71179              New in version 2015.8.4.
71180
71181
71182              CLI Example:
71183
71184                 salt '*' alternatives.check_exists name path
71185
71186       salt.modules.alternatives.check_installed(name, path)
71187              Check if the current highest-priority match for a given alterna‐
71188              tives link is set to the desired path
71189
71190              CLI Example:
71191
71192                 salt '*' alternatives.check_installed name path
71193
71194       salt.modules.alternatives.display(name)
71195              Display alternatives settings for defined command name
71196
71197              CLI Example:
71198
71199                 salt '*' alternatives.display editor
71200
71201       salt.modules.alternatives.install(name, link, path, priority)
71202              Install symbolic links determining default commands
71203
71204              CLI Example:
71205
71206                 salt '*' alternatives.install editor /usr/bin/editor /usr/bin/emacs23 50
71207
71208       salt.modules.alternatives.remove(name, path)
71209              Remove symbolic links determining the default commands.
71210
71211              CLI Example:
71212
71213                 salt '*' alternatives.remove name path
71214
71215       salt.modules.alternatives.set_(name, path)
71216              Manually set the alternative <path> for <name>.
71217
71218              CLI Example:
71219
71220                 salt '*' alternatives.set name path
71221
71222       salt.modules.alternatives.show_current(name)
71223              Display the current highest-priority  alternative  for  a  given
71224              alternatives link
71225
71226              CLI Example:
71227
71228                 salt '*' alternatives.show_current editor
71229
71230       salt.modules.alternatives.show_link(name)
71231              Display master link for the alternative
71232
71233              New in version 2015.8.13,2016.3.4,2016.11.0.
71234
71235
71236              CLI Example:
71237
71238                 salt '*' alternatives.show_link editor
71239
71240   salt.modules.ansiblegate
71241   Ansible Support
71242       This   module  can  have  an  optional  minion-level  configuration  in
71243       /etc/salt/minion.d/ as follows:
71244          ansible_timeout: 1200
71245
71246       The timeout is how many seconds Salt should wait for any Ansible module
71247       to respond.
71248
71249       class salt.modules.ansiblegate.AnsibleModuleCaller(resolver)
71250
71251              DEFAULT_TIMEOUT = 1200
71252
71253              OPT_TIMEOUT_KEY = u'ansible_timeout'
71254
71255              call(module, *args, **kwargs)
71256                     Call  an  Ansible  module by invoking it.  :param module:
71257                     the name of the module.  :param args:  Arguments  to  the
71258                     module :param kwargs: keywords to the module :return:
71259
71260       class salt.modules.ansiblegate.AnsibleModuleResolver(opts)
71261              This class is to resolve all available modules in Ansible.
71262
71263              get_modules_list(pattern=None)
71264                     Return module map references.  :return:
71265
71266              install()
71267
71268              load_module(module)
71269                     Introspect Ansible module.
71270
71271                     Parameters
71272                            module --
71273
71274                     Returns
71275
71276
71277              resolve()
71278
71279       salt.modules.ansiblegate.help(module=None, *args)
71280              Display help on Ansible standard module.
71281
71282              Parameters
71283                     module --
71284
71285              Returns
71286
71287
71288       salt.modules.ansiblegate.list(pattern=None)
71289              Lists available modules.  :return:
71290
71291       salt.modules.ansiblegate.playbooks(playbook,  rundir=None, check=False,
71292       diff=False,   extra_vars=None,   flush_cache=False,   forks=5,   inven‐
71293       tory=None,      limit=None,      list_hosts=False,     list_tags=False,
71294       list_tasks=False, module_path=None, skip_tags=None, start_at_task=None,
71295       syntax_check=False, tags=None, playbook_kwargs=None)
71296              Run Ansible Playbooks
71297
71298              Parameters
71299
71300                     · playbook -- Which playbook to run.
71301
71302                     · rundir   --   Directory  to  run  ansible-playbook  in.
71303                       (Default: None)
71304
71305                     · check -- don't make any changes; instead, try  to  pre‐
71306                       dict  some  of  the  changes  that  may occur (Default:
71307                       False)
71308
71309                     · diff -- when changing (small) files and templates, show
71310                       the  differences  in  those  files;  works  great  with
71311                       --check (default: False)
71312
71313                     · extra_vars -- set additional variables as key=value  or
71314                       YAML/JSON, if filename prepend with @, (default: None)
71315
71316                     · flush_cache  --  clear the fact cache for every host in
71317                       inventory (default: False)
71318
71319                     · forks -- specify number of parallel  processes  to  use
71320                       (Default: 5)
71321
71322                     · inventory -- specify inventory host path or comma sepa‐
71323                       rated host list. (Default: None) (Ansible's default  is
71324                       /etc/ansible/hosts)
71325
71326                     · limit  -- further limit selected hosts to an additional
71327                       pattern (Default: None)
71328
71329                     · list_hosts -- outputs a list of  matching  hosts;  does
71330                       not execute anything else (Default: False)
71331
71332                     · list_tags -- list all available tags (Default: False)
71333
71334                     · list_tasks  --  list  all  tasks that would be executed
71335                       (Default: False)
71336
71337                     · module_path -- prepend colon-separated path(s) to  mod‐
71338                       ule library. (Default: None)
71339
71340                     · skip_tags -- only run plays and tasks whose tags do not
71341                       match these values (Default: False)
71342
71343                     · start_at_task -- start the playbook at the task  match‐
71344                       ing this name (Default: None)
71345
71346                     · tags -- only run plays and tasks tagged with these val‐
71347                       ues (Default: None)
71348
71349              Param  syntax_check: perform a syntax check on the playbook, but
71350                     do not execute it (Default: False)
71351
71352              Returns
71353                     Playbook return
71354
71355              CLI Example:
71356
71357                 salt 'ansiblehost'  ansible.playbook playbook=/srv/playbooks/play.yml
71358
71359   salt.modules.apache
71360       Support for Apache
71361
71362       NOTE:
71363          The  functions  in  here are generic functions designed to work with
71364          all implementations of Apache. Debian-specific functions  have  been
71365          moved  into  deb_apache.py,  but  will  still  load under the apache
71366          namespace when a Debian-based system is detected.
71367
71368       salt.modules.apache.config(name, config, edit=True)
71369              Create VirtualHost configuration files
71370
71371              name   File for the virtual host
71372
71373              config VirtualHost configurations
71374
71375              NOTE:
71376                 This function is not meant to be used from the command  line.
71377                 Config  is  meant  to be an ordered dict of all of the apache
71378                 configs.
71379
71380              CLI Example:
71381
71382                 salt '*' apache.config /etc/httpd/conf.d/ports.conf config="[{'Listen': '22'}]"
71383
71384       salt.modules.apache.directives()
71385              Return list of directives together with expected  arguments  and
71386              places where the directive is valid (apachectl -L)
71387
71388              CLI Example:
71389
71390                 salt '*' apache.directives
71391
71392       salt.modules.apache.fullversion()
71393              Return server version (apachectl -V)
71394
71395              CLI Example:
71396
71397                 salt '*' apache.fullversion
71398
71399       salt.modules.apache.modules()
71400              Return list of static and shared modules (apachectl -M)
71401
71402              CLI Example:
71403
71404                 salt '*' apache.modules
71405
71406       salt.modules.apache.server_status(profile=u'default')
71407              Get Information from the Apache server-status handler
71408
71409              NOTE:
71410                 The  server-status  handler is disabled by default.  In order
71411                 for this function to  work  it  needs  to  be  enabled.   See
71412                 http://httpd.apache.org/docs/2.2/mod/mod_status.html
71413
71414              The  following  configuration  needs to exists in pillar/grains.
71415              Each entry nested in apache.server-status  is  a  profile  of  a
71416              vhost/server.   This  would  give  support  for  multiple apache
71417              servers/vhosts.
71418
71419                 apache.server-status:
71420                   default:
71421                     url: http://localhost/server-status
71422                     user: someuser
71423                     pass: password
71424                     realm: 'authentication realm for digest passwords'
71425                     timeout: 5
71426
71427              CLI Examples:
71428
71429                 salt '*' apache.server_status
71430                 salt '*' apache.server_status other-profile
71431
71432       salt.modules.apache.servermods()
71433              Return list of modules compiled into the server (apachectl -l)
71434
71435              CLI Example:
71436
71437                 salt '*' apache.servermods
71438
71439       salt.modules.apache.signal(signal=None)
71440              Signals httpd to start, restart, or stop.
71441
71442              CLI Example:
71443
71444                 salt '*' apache.signal restart
71445
71446       salt.modules.apache.useradd(pwfile, user, password, opts=u'')
71447              Add HTTP user using the htpasswd command. If the  htpasswd  file
71448              does  not  exist,  it will be created. Valid options that can be
71449              passed are:
71450
71451                 n  Don't update file; display results on stdout.
71452                 m  Force MD5 hashing of the password (default).
71453                 d  Force CRYPT(3) hashing of the password.
71454                 p  Do not hash the password (plaintext).
71455                 s  Force SHA1 hashing of the password.
71456
71457              CLI Examples:
71458
71459                 salt '*' apache.useradd /etc/httpd/htpasswd larry badpassword
71460                 salt '*' apache.useradd /etc/httpd/htpasswd larry badpass opts=ns
71461
71462       salt.modules.apache.userdel(pwfile, user)
71463              Delete HTTP user from the specified htpasswd file.
71464
71465              CLI Example:
71466
71467                 salt '*' apache.userdel /etc/httpd/htpasswd larry
71468
71469       salt.modules.apache.version()
71470              Return server version (apachectl -v)
71471
71472              CLI Example:
71473
71474                 salt '*' apache.version
71475
71476       salt.modules.apache.vhosts()
71477              Show the settings as parsed from the config file (currently only
71478              shows  the  virtualhost  settings) (apachectl -S).  Because each
71479              additional virtual host adds to the execution time, this command
71480              may require a long timeout be specified by using -t 10.
71481
71482              CLI Example:
71483
71484                 salt -t 10 '*' apache.vhosts
71485
71486   salt.modules.apcups
71487       Module for apcupsd
71488
71489       salt.modules.apcups.status()
71490              Return apcaccess output
71491
71492              CLI Example:
71493
71494                 salt '*' apcups.status
71495
71496       salt.modules.apcups.status_battery()
71497              Return true if running on battery power
71498
71499              CLI Example:
71500
71501                 salt '*' apcups.status_battery
71502
71503       salt.modules.apcups.status_charge()
71504              Return battery charge
71505
71506              CLI Example:
71507
71508                 salt '*' apcups.status_charge
71509
71510       salt.modules.apcups.status_load()
71511              Return load
71512
71513              CLI Example:
71514
71515                 salt '*' apcups.status_load
71516
71517   salt.modules.apf
71518   Support for Advanced Policy Firewall (APF)
71519       maintainer
71520              Mostafa Hussein <mostafa.hussein91@gmail.com>
71521
71522       maturity
71523              new
71524
71525       depends
71526              python-iptables
71527
71528       platform
71529              Linux
71530
71531       salt.modules.apf.allow(ip, port=None)
71532              Add host (IP/FQDN) to allow_hosts.rules and immediately load new
71533              rule into firewall CLI Example:
71534
71535                 salt '*' apf.allow 127.0.0.1
71536
71537       salt.modules.apf.deny(ip)
71538              Add host (IP/FQDN) to deny_hosts.rules and immediately load  new
71539              rule into firewall CLI Example:
71540
71541                 salt '*' apf.deny 1.2.3.4
71542
71543       salt.modules.apf.disable()
71544              Stop (flush) all firewall rules CLI Example:
71545
71546                 salt '*' apf.disable
71547
71548       salt.modules.apf.enable()
71549              Load all firewall rules CLI Example:
71550
71551                 salt '*' apf.enable
71552
71553       salt.modules.apf.refresh()
71554              Refresh & resolve dns names in trust rules CLI Example:
71555
71556                 salt '*' apf.refresh
71557
71558       salt.modules.apf.reload()
71559              Stop (flush) & reload firewall rules CLI Example:
71560
71561                 salt '*' apf.reload
71562
71563       salt.modules.apf.remove(ip)
71564              Remove host from [glob]*_hosts.rules and immediately remove rule
71565              from firewall CLI Example:
71566
71567                 salt '*' apf.remove 1.2.3.4
71568
71569       salt.modules.apf.running()
71570              Check apf status CLI Example:
71571
71572                 salt '*' apf.running
71573
71574   salt.modules.apk module
71575       Support for apk
71576
71577       IMPORTANT:
71578          If you feel that Salt should be using this module to manage packages
71579          on  a  minion, and it is using a different module (or gives an error
71580          similar to 'pkg.install' is not available), see here.
71581
71582       salt.modules.apk.file_dict(*packages)
71583              List the files that belong to a package, grouped by package. Not
71584              specifying  any  packages  will return a list of _every_ file on
71585              the system's package database (not generally recommended).
71586
71587              CLI Examples:
71588
71589                 salt '*' pkg.file_list httpd
71590                 salt '*' pkg.file_list httpd postfix
71591                 salt '*' pkg.file_list
71592
71593       salt.modules.apk.file_list(*packages)
71594              List the files that belong to  a  package.  Not  specifying  any
71595              packages  will  return  a  list  of _every_ file on the system's
71596              package database (not generally recommended).
71597
71598              CLI Examples:
71599
71600                 salt '*' pkg.file_list httpd
71601                 salt '*' pkg.file_list httpd postfix
71602                 salt '*' pkg.file_list
71603
71604       salt.modules.apk.install(name=None,      refresh=False,      pkgs=None,
71605       sources=None, **kwargs)
71606              Install  the  passed package, add refresh=True to update the apk
71607              database.
71608
71609              name   The name of the package to be installed. Note  that  this
71610                     parameter  is  ignored  if  either "pkgs" or "sources" is
71611                     passed. Additionally, please note that  this  option  can
71612                     only  be used to install packages from a software reposi‐
71613                     tory.  To  install  a  package  file  manually,  use  the
71614                     "sources" option.
71615
71616                     CLI Example:
71617
71618                        salt '*' pkg.install <package name>
71619
71620              refresh
71621                     Whether  or  not  to  refresh the package database before
71622                     installing.
71623
71624              Multiple Package Installation Options:
71625
71626              pkgs   A list of packages to install from a software repository.
71627                     Must be passed as a python list.
71628
71629                     CLI Example:
71630
71631                        salt '*' pkg.install pkgs='["foo", "bar"]'
71632
71633              sources
71634                     A  list  of  IPK packages to install. Must be passed as a
71635                     list of dicts, with the keys being package names, and the
71636                     values being the source URI or local path to the package.
71637                     Dependencies are automatically  resolved  and  marked  as
71638                     auto-installed.
71639
71640                     CLI Example:
71641
71642                        salt '*' pkg.install sources='[{"foo": "salt://foo.deb"},{"bar": "salt://bar.deb"}]'
71643
71644              install_recommends
71645                     Whether  to  install  the packages marked as recommended.
71646                     Default is True.
71647
71648              Returns a dict containing the new package names and versions:
71649
71650                 {'<package>': {'old': '<old-version>',
71651                                'new': '<new-version>'}}
71652
71653       salt.modules.apk.latest_version(*names, **kwargs)
71654              Return the latest version of the  named  package  available  for
71655              upgrade or installation. If more than one package name is speci‐
71656              fied, a dict of name/version pairs is returned.
71657
71658              If the latest version of a given package is  already  installed,
71659              an empty string will be returned for that package.
71660
71661              CLI Example:
71662
71663                 salt '*' pkg.latest_version <package name>
71664                 salt '*' pkg.latest_version <package name>
71665                 salt '*' pkg.latest_version <package1> <package2> <package3> ...
71666
71667       salt.modules.apk.list_pkgs(versions_as_list=False, **kwargs)
71668              List the packages currently installed in a dict:
71669
71670                 {'<package_name>': '<version>'}
71671
71672              CLI Example:
71673
71674                 salt '*' pkg.list_pkgs
71675                 salt '*' pkg.list_pkgs versions_as_list=True
71676
71677       salt.modules.apk.list_upgrades(refresh=True)
71678              List all available package upgrades.
71679
71680              CLI Example:
71681
71682                 salt '*' pkg.list_upgrades
71683
71684       salt.modules.apk.owner(*paths)
71685              Return the name of the package that owns the file. Multiple file
71686              paths can be passed. Like pkg.version <salt.modules.apk.version,
71687              if  a  single  path is passed, a string will be returned, and if
71688              multiple paths are passed, a  dictionary  of  file/package  name
71689              pairs will be returned.
71690
71691              If  the file is not owned by a package, or is not present on the
71692              minion, then an empty string will be returned for that path.
71693
71694              CLI Example:
71695                 salt  '*'  pkg.owns  /usr/bin/apachectl  salt  '*'   pkg.owns
71696                 /usr/bin/apachectl /usr/bin/basename
71697
71698       salt.modules.apk.purge(name=None, pkgs=None, **kwargs)
71699              Alias to remove
71700
71701       salt.modules.apk.refresh_db()
71702              Updates the package list
71703
71704              · True: Database updated successfully
71705
71706              · False: Problem updating database
71707
71708              CLI Example:
71709
71710                 salt '*' pkg.refresh_db
71711
71712       salt.modules.apk.remove(name=None, pkgs=None, purge=False, **kwargs)
71713              Remove packages using apk del.
71714
71715              name   The name of the package to be deleted.
71716
71717              Multiple Package Options:
71718
71719              pkgs   A  list of packages to delete. Must be passed as a python
71720                     list. The name parameter will be ignored if  this  option
71721                     is passed.
71722
71723              Returns a dict containing the changes.
71724
71725              CLI Example:
71726
71727                 salt '*' pkg.remove <package name>
71728                 salt '*' pkg.remove <package1>,<package2>,<package3>
71729                 salt '*' pkg.remove pkgs='["foo", "bar"]'
71730
71731       salt.modules.apk.upgrade(name=None, pkgs=None, refresh=True)
71732              Upgrades  all  packages via apk upgrade or a specific package if
71733              name or pkgs is specified. Name is ignored if pkgs is specified
71734
71735              Returns a dict containing the changes.
71736
71737                 {'<package>': {'old': '<old-version>',
71738                        'new': '<new-version>'}}
71739
71740              CLI Example:
71741
71742                 salt '*' pkg.upgrade
71743
71744       salt.modules.apk.version(*names, **kwargs)
71745              Returns a string representing the package version  or  an  empty
71746              string if not installed. If more than one package name is speci‐
71747              fied, a dict of name/version pairs is returned.
71748
71749              CLI Example:
71750
71751                 salt '*' pkg.version <package name>
71752                 salt '*' pkg.version <package1> <package2> <package3> ...
71753
71754   salt.modules.aptpkg
71755       Support for APT (Advanced Packaging Tool)
71756
71757       IMPORTANT:
71758          If you feel that Salt should be using this module to manage packages
71759          on  a  minion, and it is using a different module (or gives an error
71760          similar to 'pkg.install' is not available), see here.
71761
71762          For repository management, the python-apt package must be installed.
71763
71764       salt.modules.aptpkg.add_repo_key(path=None, text=None,  keyserver=None,
71765       keyid=None, saltenv=u'base')
71766              New in version 2017.7.0.
71767
71768
71769              Add a repo key using apt-key add.
71770
71771              Parameters
71772
71773                     · path (str) -- The path of the key file to import.
71774
71775                     · text (str) -- The key data to import, in string form.
71776
71777                     · keyserver  (str) -- The server to download the repo key
71778                       specified by the keyid.
71779
71780                     · keyid (str) -- The key id of the repo key to add.
71781
71782                     · saltenv (str) -- The environment the key  file  resides
71783                       in.
71784
71785              Returns
71786                     A boolean representing whether the repo key was added.
71787
71788              Return type
71789                     bool
71790
71791              CLI Examples:
71792
71793                 salt '*' pkg.add_repo_key 'salt://apt/sources/test.key'
71794
71795                 salt '*' pkg.add_repo_key text="'$KEY1'"
71796
71797                 salt '*' pkg.add_repo_key keyserver='keyserver.example' keyid='0000AAAA'
71798
71799       salt.modules.aptpkg.autoremove(list_only=False, purge=False)
71800              New in version 2015.5.0.
71801
71802
71803              Remove  packages  not  required by another package using apt-get
71804              autoremove.
71805
71806              list_only
71807                     False  Only  retrieve  the  list  of   packages   to   be
71808                     auto-removed, do not actually perform the auto-removal.
71809
71810              purge  False  Also  remove package config data when autoremoving
71811                     packages.
71812
71813                     New in version 2015.8.0.
71814
71815
71816              CLI Example:
71817
71818                 salt '*' pkg.autoremove
71819                 salt '*' pkg.autoremove list_only=True
71820                 salt '*' pkg.autoremove purge=True
71821
71822       salt.modules.aptpkg.del_repo(repo, **kwargs)
71823              Delete a repo from the sources.list / sources.list.d
71824
71825              If the .list file is in the  sources.list.d  directory  and  the
71826              file  that  the  repo  exists in does not contain any other repo
71827              configuration, the file itself will be deleted.
71828
71829              The repo passed in must be a fully formed repository  definition
71830              string.
71831
71832              CLI Examples:
71833
71834                 salt '*' pkg.del_repo "myrepo definition"
71835
71836       salt.modules.aptpkg.del_repo_key(name=None, **kwargs)
71837              New in version 2015.8.0.
71838
71839
71840              Remove a repo key using apt-key del
71841
71842              name   Repo  from  which to remove the key. Unnecessary if keyid
71843                     is passed.
71844
71845              keyid  The KeyID of the GPG key to remove
71846
71847              keyid_ppa
71848                     False If set to True, the  repo's  GPG  key  ID  will  be
71849                     looked up from ppa.launchpad.net and removed.
71850
71851                     NOTE:
71852                        Setting  this  option  to  True requires that the name
71853                        param also be passed.
71854
71855              CLI Examples:
71856
71857                 salt '*' pkg.del_repo_key keyid=0123ABCD
71858                 salt '*' pkg.del_repo_key name='ppa:foo/bar' keyid_ppa=True
71859
71860       salt.modules.aptpkg.expand_repo_def(**kwargs)
71861              Take a repository definition and  expand  it  to  the  full  pkg
71862              repository  dict  that  can  be  used for comparison.  This is a
71863              helper function to make the Debian/Ubuntu apt sources  sane  for
71864              comparison in the pkgrepo states.
71865
71866              This  is designed to be called from pkgrepo states and will have
71867              little use being called on the CLI.
71868
71869       salt.modules.aptpkg.file_dict(*packages)
71870              List the files that belong to a package, grouped by package. Not
71871              specifying  any  packages  will return a list of _every_ file on
71872              the system's package database (not generally recommended).
71873
71874              CLI Examples:
71875
71876                 salt '*' pkg.file_dict httpd
71877                 salt '*' pkg.file_dict httpd postfix
71878                 salt '*' pkg.file_dict
71879
71880       salt.modules.aptpkg.file_list(*packages)
71881              List the files that belong to  a  package.  Not  specifying  any
71882              packages  will  return  a  list  of _every_ file on the system's
71883              package database (not generally recommended).
71884
71885              CLI Examples:
71886
71887                 salt '*' pkg.file_list httpd
71888                 salt '*' pkg.file_list httpd postfix
71889                 salt '*' pkg.file_list
71890
71891       salt.modules.aptpkg.get_repo(repo, **kwargs)
71892              Display a repo from the sources.list / sources.list.d
71893
71894              The repo passed in needs to be a complete repo entry.
71895
71896              CLI Examples:
71897
71898                 salt '*' pkg.get_repo "myrepo definition"
71899
71900       salt.modules.aptpkg.get_repo_keys()
71901              New in version 2017.7.0.
71902
71903
71904              List known repo key details.
71905
71906              Returns
71907                     A dictionary containing the repo keys.
71908
71909              Return type
71910                     dict
71911
71912              CLI Examples:
71913
71914                 salt '*' pkg.get_repo_keys
71915
71916       salt.modules.aptpkg.get_selections(pattern=None, state=None)
71917              View package state from the dpkg database.
71918
71919              Returns a dict of dicts containing the state, and package names:
71920
71921                 {'<host>':
71922                     {'<state>': ['pkg1',
71923                                  ...
71924                                 ]
71925                     },
71926                     ...
71927                 }
71928
71929              CLI Example:
71930
71931                 salt '*' pkg.get_selections
71932                 salt '*' pkg.get_selections 'python-*'
71933                 salt '*' pkg.get_selections state=hold
71934                 salt '*' pkg.get_selections 'openssh*' state=hold
71935
71936       salt.modules.aptpkg.hold(name=None, pkgs=None, sources=None, **kwargs)
71937              New in version 2014.7.0.
71938
71939
71940              Set package in 'hold' state, meaning it will not be upgraded.
71941
71942              name   The name of the package, e.g., 'tmux'
71943
71944                     CLI Example:
71945
71946                        salt '*' pkg.hold <package name>
71947
71948              pkgs   A list of packages to hold. Must be passed  as  a  python
71949                     list.
71950
71951                     CLI Example:
71952
71953                        salt '*' pkg.hold pkgs='["foo", "bar"]'
71954
71955       salt.modules.aptpkg.info_installed(*names, **kwargs)
71956              Return  the information of the named package(s) installed on the
71957              system.
71958
71959              New in version 2015.8.1.
71960
71961
71962              names  The names of the packages for which  to  return  informa‐
71963                     tion.
71964
71965              failhard
71966                     Whether to throw an exception if none of the packages are
71967                     installed.  Defaults to True.
71968
71969                     New in version 2016.11.3.
71970
71971
71972              CLI example:
71973
71974                 salt '*' pkg.info_installed <package1>
71975                 salt '*' pkg.info_installed <package1> <package2> <package3> ...
71976                 salt '*' pkg.info_installed <package1> failhard=false
71977
71978       salt.modules.aptpkg.install(name=None,  refresh=False,   fromrepo=None,
71979       skip_verify=False,   debconf=None,   pkgs=None,   sources=None,   rein‐
71980       stall=False, ignore_epoch=False, **kwargs)
71981              Changed in version 2015.8.12,2016.3.3,2016.11.0: On minions run‐
71982              ning  systemd>=205,  systemd-run(1)  is now used to isolate com‐
71983              mands which modify installed packages from the salt-minion  dae‐
71984              mon's  control  group. This is done to keep systemd from killing
71985              any apt-get/dpkg commands spawned by Salt when  the  salt-minion
71986              service  is restarted. (see KillMode in the systemd.kill(5) man‐
71987              page for more information). If desired, usage of  systemd-run(1)
71988              can  be  suppressed  by  setting  a  config  option  called sys‐
71989              temd.scope, with a value of False (no quotes).
71990
71991
71992              Install the passed package, add refresh=True to update the  dpkg
71993              database.
71994
71995              name   The  name  of the package to be installed. Note that this
71996                     parameter is ignored if either  "pkgs"  or  "sources"  is
71997                     passed.  Additionally,  please  note that this option can
71998                     only be used to install packages from a software  reposi‐
71999                     tory.  To  install  a  package  file  manually,  use  the
72000                     "sources" option.
72001
72002                     32-bit packages can be installed  on  64-bit  systems  by
72003                     appending  the  architecture designation (:i386, etc.) to
72004                     the end of the package name.
72005
72006                     CLI Example:
72007
72008                        salt '*' pkg.install <package name>
72009
72010              refresh
72011                     Whether or not to refresh  the  package  database  before
72012                     installing.
72013
72014              cache_valid_time
72015                 New in version 2016.11.0.
72016
72017
72018                 Skip  refreshing  the package database if refresh has already
72019                 occurred within <value> seconds
72020
72021              fromrepo
72022                     Specify a  package  repository  to  install  from  (e.g.,
72023                     apt-get -t unstable install somepackage)
72024
72025              skip_verify
72026                     Skip  the GPG verification check (e.g., --allow-unauthen‐
72027                     ticated, or --force-bad-verify for install  from  package
72028                     file).
72029
72030              debconf
72031                     Provide  the  path  to  a debconf answers file, processed
72032                     before installation.
72033
72034              version
72035                     Install  a  specific  version  of   the   package,   e.g.
72036                     1.2.3~0ubuntu0. Ignored if "pkgs" or "sources" is passed.
72037
72038                     Changed in version 2018.3.0: version can now contain com‐
72039                     parison operators (e.g. >1.2.3, <=2.0, etc.)
72040
72041
72042              reinstall
72043                     False Specifying reinstall=True will use apt-get  install
72044                     --reinstall   rather  than  simply  apt-get  install  for
72045                     requested packages that are already installed.
72046
72047                     If a version is specified  with  the  requested  package,
72048                     then apt-get install --reinstall will only be used if the
72049                     installed version matches the requested version.
72050
72051                     New in version 2015.8.0.
72052
72053
72054              ignore_epoch
72055                     False Only used when the version of a package  is  speci‐
72056                     fied  using  a comparison operator (e.g. >4.1). If set to
72057                     True, then the epoch will be ignored when  comparing  the
72058                     currently-installed version to the desired version.
72059
72060                     New in version 2018.3.0.
72061
72062
72063              Multiple Package Installation Options:
72064
72065              pkgs   A list of packages to install from a software repository.
72066                     Must be passed as a python list.
72067
72068                     CLI Example:
72069
72070                        salt '*' pkg.install pkgs='["foo", "bar"]'
72071                        salt '*' pkg.install pkgs='["foo", {"bar": "1.2.3-0ubuntu0"}]'
72072
72073              sources
72074                     A list of DEB packages to install. Must be  passed  as  a
72075                     list of dicts, with the keys being package names, and the
72076                     values being the source URI or local path to the package.
72077                     Dependencies  are  automatically  resolved  and marked as
72078                     auto-installed.
72079
72080                     32-bit packages can be installed  on  64-bit  systems  by
72081                     appending  the  architecture designation (:i386, etc.) to
72082                     the end of the package name.
72083
72084                     Changed in version 2014.7.0.
72085
72086
72087                     CLI Example:
72088
72089                        salt '*' pkg.install sources='[{"foo": "salt://foo.deb"},{"bar": "salt://bar.deb"}]'
72090
72091              force_yes
72092                     Passes --force-yes to the  apt-get  command.   Don't  use
72093                     this unless you know what you're doing.
72094
72095                     New in version 0.17.4.
72096
72097
72098              install_recommends
72099                     Whether  to  install  the packages marked as recommended.
72100                     Default is True.
72101
72102                     New in version 2015.5.0.
72103
72104
72105              only_upgrade
72106                     Only upgrade the packages, if they are already installed.
72107                     Default is False.
72108
72109                     New in version 2015.5.0.
72110
72111
72112              force_conf_new
72113                     Always  install  the  new  version  of  any configuration
72114                     files.
72115
72116                     New in version 2015.8.0.
72117
72118
72119              Returns a dict containing the new package names and versions:
72120
72121                 {'<package>': {'old': '<old-version>',
72122                                'new': '<new-version>'}}
72123
72124       salt.modules.aptpkg.latest_version(*names, **kwargs)
72125              Return the latest version of the  named  package  available  for
72126              upgrade or installation. If more than one package name is speci‐
72127              fied, a dict of name/version pairs is returned.
72128
72129              If the latest version of a given package is  already  installed,
72130              an empty string will be returned for that package.
72131
72132              A  specific  repo  can  be  requested using the fromrepo keyword
72133              argument.
72134
72135              cache_valid_time
72136                 New in version 2016.11.0.
72137
72138
72139                 Skip refreshing the package database if refresh  has  already
72140                 occurred within <value> seconds
72141
72142              CLI Example:
72143
72144                 salt '*' pkg.latest_version <package name>
72145                 salt '*' pkg.latest_version <package name> fromrepo=unstable
72146                 salt '*' pkg.latest_version <package1> <package2> <package3> ...
72147
72148       salt.modules.aptpkg.list_pkgs(versions_as_list=False,    removed=False,
72149       purge_desired=False, **kwargs)
72150              List the packages currently installed in a dict:
72151
72152                 {'<package_name>': '<version>'}
72153
72154              removed
72155                     If True, then only packages which have been removed  (but
72156                     not purged) will be returned.
72157
72158              purge_desired
72159                     If  True, then only packages which have been marked to be
72160                     purged, but can't be purged due to their status as depen‐
72161                     dencies  for  other installed packages, will be returned.
72162                     Note that these packages will appear in installed
72163
72164                     Changed in version 2014.1.1: Packages in this  state  now
72165                     correctly show up in the output of this function.
72166
72167
72168              CLI Example:
72169
72170                 salt '*' pkg.list_pkgs
72171                 salt '*' pkg.list_pkgs versions_as_list=True
72172
72173       salt.modules.aptpkg.list_repo_pkgs(*args, **kwargs)
72174              New in version 2017.7.0.
72175
72176
72177              Returns  all  available packages. Optionally, package names (and
72178              name globs) can be passed and the results will  be  filtered  to
72179              packages matching those names.
72180
72181              This  function can be helpful in discovering the version or repo
72182              to specify in a pkg.installed state.
72183
72184              The return data will be a dictionary mapping package names to  a
72185              list  of  version  numbers,  ordered  from newest to oldest. For
72186              example:
72187
72188                 {
72189                     'bash': ['4.3-14ubuntu1.1',
72190                              '4.3-14ubuntu1'],
72191                     'nginx': ['1.10.0-0ubuntu0.16.04.4',
72192                               '1.9.15-0ubuntu1']
72193                 }
72194
72195              CLI Examples:
72196
72197                 salt '*' pkg.list_repo_pkgs
72198                 salt '*' pkg.list_repo_pkgs foo bar baz
72199
72200       salt.modules.aptpkg.list_repos()
72201              Lists all repos in the sources.list (and sources.lists.d) files
72202
72203              CLI Example:
72204
72205                 salt '*' pkg.list_repos
72206                 salt '*' pkg.list_repos disabled=True
72207
72208       salt.modules.aptpkg.list_upgrades(refresh=True,      dist_upgrade=True,
72209       **kwargs)
72210              List all available package upgrades.
72211
72212              refresh
72213                     Whether  to  refresh  the package database before listing
72214                     upgrades.  Default: True.
72215
72216              cache_valid_time
72217                 New in version 2016.11.0.
72218
72219
72220                 Skip refreshing the package database if refresh  has  already
72221                 occurred within <value> seconds
72222
72223              dist_upgrade
72224                     Whether  to  list  the  upgrades  using  dist-upgrade  vs
72225                     upgrade.  Default is to use dist-upgrade.
72226
72227              CLI Example:
72228
72229                 salt '*' pkg.list_upgrades
72230
72231       salt.modules.aptpkg.mod_repo(repo, saltenv=u'base', **kwargs)
72232              Modify one or more values for a repo.   If  the  repo  does  not
72233              exist,  it  will  be  created, so long as the definition is well
72234              formed.  For Ubuntu the ppa:<project>/repo format is acceptable.
72235              ppa: format can only be used to create a new repository.
72236
72237              The following options are available to modify a repo definition:
72238
72239              architectures
72240                     A  comma-separated  list of supported architectures, e.g.
72241                     amd64 If this option is not set, all architectures  (con‐
72242                     figured in the system) will be used.
72243
72244              comps  A  comma  separated list of components for the repo, e.g.
72245                     main
72246
72247              file   A file name to be used
72248
72249              keyserver
72250                     Keyserver to get gpg key from
72251
72252              keyid  Key ID or a list of key IDs to load  with  the  keyserver
72253                     argument
72254
72255              key_url
72256                     URL to a GPG key to add to the APT GPG keyring
72257
72258              key_text
72259                     GPG key in string form to add to the APT GPG keyring
72260
72261                     New in version 2018.3.0.
72262
72263
72264              consolidate
72265                     False  If True, will attempt to de-duplicate and consoli‐
72266                     date sources
72267
72268              comments
72269                     Sometimes you want to supply additional information,  but
72270                     not  as enabled configuration. All comments provided here
72271                     will be joined into a single string and appended  to  the
72272                     repo configuration with a comment marker (#) before it.
72273
72274                     New in version 2015.8.9.
72275
72276
72277              NOTE:
72278                 Due  to  the  way  keys  are stored for APT, there is a known
72279                 issue where the key won't be updated unless another change is
72280                 made  at the same time. Keys should be properly added on ini‐
72281                 tial configuration.
72282
72283              CLI Examples:
72284
72285                 salt '*' pkg.mod_repo 'myrepo definition' uri=http://new/uri
72286                 salt '*' pkg.mod_repo 'myrepo definition' comps=main,universe
72287
72288       salt.modules.aptpkg.owner(*paths)
72289              New in version 2014.7.0.
72290
72291
72292              Return the name of the package that owns the file. Multiple file
72293              paths  can  be  passed.  Like  pkg.version,  if a single path is
72294              passed, a string will be returned, and  if  multiple  paths  are
72295              passed,   a  dictionary  of  file/package  name  pairs  will  be
72296              returned.
72297
72298              If the file is not owned by a package, or is not present on  the
72299              minion, then an empty string will be returned for that path.
72300
72301              CLI Example:
72302
72303                 salt '*' pkg.owner /usr/bin/apachectl
72304                 salt '*' pkg.owner /usr/bin/apachectl /usr/bin/basename
72305
72306       salt.modules.aptpkg.purge(name=None, pkgs=None, **kwargs)
72307              Changed in version 2015.8.12,2016.3.3,2016.11.0: On minions run‐
72308              ning systemd>=205, systemd-run(1) is now used  to  isolate  com‐
72309              mands  which modify installed packages from the salt-minion dae‐
72310              mon's control group. This is done to keep systemd  from  killing
72311              any  apt-get/dpkg  commands spawned by Salt when the salt-minion
72312              service is restarted. (see KillMode in the systemd.kill(5)  man‐
72313              page  for more information). If desired, usage of systemd-run(1)
72314              can be  suppressed  by  setting  a  config  option  called  sys‐
72315              temd.scope, with a value of False (no quotes).
72316
72317
72318              Remove  packages  via apt-get purge along with all configuration
72319              files.
72320
72321              name   The name of the package to be deleted.
72322
72323              Multiple Package Options:
72324
72325              pkgs   A list of packages to delete. Must be passed as a  python
72326                     list.  The  name parameter will be ignored if this option
72327                     is passed.
72328
72329              New in version 0.16.0.
72330
72331
72332              Returns a dict containing the changes.
72333
72334              CLI Example:
72335
72336                 salt '*' pkg.purge <package name>
72337                 salt '*' pkg.purge <package1>,<package2>,<package3>
72338                 salt '*' pkg.purge pkgs='["foo", "bar"]'
72339
72340       salt.modules.aptpkg.refresh_db(cache_valid_time=0, failhard=False)
72341              Updates the APT database to latest packages based upon reposito‐
72342              ries
72343
72344              Returns  a  dict,  with the keys being package databases and the
72345              values being the result of the update attempt. Values can be one
72346              of the following:
72347
72348              · True: Database updated successfully
72349
72350              · False: Problem updating database
72351
72352              · None: Database already up-to-date
72353
72354              cache_valid_time
72355                 New in version 2016.11.0.
72356
72357
72358                 Skip  refreshing  the package database if refresh has already
72359                 occurred within <value> seconds
72360
72361              failhard
72362                 If False, return results of Err lines as False for the  pack‐
72363                 age  database  that encountered the error.  If True, raise an
72364                 error with a list of the package databases  that  encountered
72365                 errors.
72366
72367              CLI Example:
72368
72369                 salt '*' pkg.refresh_db
72370
72371       salt.modules.aptpkg.remove(name=None, pkgs=None, **kwargs)
72372              Changed in version 2015.8.12,2016.3.3,2016.11.0: On minions run‐
72373              ning systemd>=205, systemd-run(1) is now used  to  isolate  com‐
72374              mands  which modify installed packages from the salt-minion dae‐
72375              mon's control group. This is done to keep systemd  from  killing
72376              any  apt-get/dpkg  commands spawned by Salt when the salt-minion
72377              service is restarted. (see KillMode in the systemd.kill(5)  man‐
72378              page  for more information). If desired, usage of systemd-run(1)
72379              can be  suppressed  by  setting  a  config  option  called  sys‐
72380              temd.scope, with a value of False (no quotes).
72381
72382
72383              Remove packages using apt-get remove.
72384
72385              name   The name of the package to be deleted.
72386
72387              Multiple Package Options:
72388
72389              pkgs   A  list of packages to delete. Must be passed as a python
72390                     list. The name parameter will be ignored if  this  option
72391                     is passed.
72392
72393              New in version 0.16.0.
72394
72395
72396              Returns a dict containing the changes.
72397
72398              CLI Example:
72399
72400                 salt '*' pkg.remove <package name>
72401                 salt '*' pkg.remove <package1>,<package2>,<package3>
72402                 salt '*' pkg.remove pkgs='["foo", "bar"]'
72403
72404       salt.modules.aptpkg.set_selections(path=None,           selection=None,
72405       clear=False, saltenv=u'base')
72406              Change package state in the dpkg database.
72407
72408              The state can be any one of, documented in dpkg(1):
72409
72410              · install
72411
72412              · hold
72413
72414              · deinstall
72415
72416              · purge
72417
72418              This command is commonly used to mark specific  packages  to  be
72419              held  from being upgraded, that is, to be kept at a certain ver‐
72420              sion. When a state is changed to anything but being  held,  then
72421              it is typically followed by apt-get -u dselect-upgrade.
72422
72423              Note:  Be  careful  with the clear argument, since it will start
72424              with setting all packages to deinstall state.
72425
72426              Returns a dict of dicts containing the package  names,  and  the
72427              new and old versions:
72428
72429                 {'<host>':
72430                     {'<package>': {'new': '<new-state>',
72431                                    'old': '<old-state>'}
72432                     },
72433                     ...
72434                 }
72435
72436              CLI Example:
72437
72438                 salt '*' pkg.set_selections selection='{"install": ["netcat"]}'
72439                 salt '*' pkg.set_selections selection='{"hold": ["openssh-server", "openssh-client"]}'
72440                 salt '*' pkg.set_selections salt://path/to/file
72441                 salt '*' pkg.set_selections salt://path/to/file clear=True
72442
72443       salt.modules.aptpkg.show(*names, **kwargs)
72444              New in version Fluorine.
72445
72446
72447              Runs  an apt-cache show on the passed package names, and returns
72448              the results in a nested dictionary. The top level of the  return
72449              data will be the package name, with each package name mapping to
72450              a dictionary of version numbers to  any  additional  information
72451              returned by apt-cache show.
72452
72453              filter An  optional comma-separated list (or quoted Python list)
72454                     of case-insensitive keys on which to filter. This  allows
72455                     one to restrict the information returned for each package
72456                     to a smaller selection of pertinent items.
72457
72458              refresh
72459                     False If True, the apt cache will be refreshed first.  By
72460                     default, no refresh is performed.
72461
72462              CLI Examples:
72463
72464                 salt myminion pkg.show gawk
72465                 salt myminion pkg.show 'nginx-*'
72466                 salt myminion pkg.show 'nginx-*' filter=description,provides
72467
72468       salt.modules.aptpkg.unhold(name=None,      pkgs=None,     sources=None,
72469       **kwargs)
72470              New in version 2014.7.0.
72471
72472
72473              Set package current in 'hold' state to install state, meaning it
72474              will be upgraded.
72475
72476              name   The name of the package, e.g., 'tmux'
72477
72478                     CLI Example:
72479
72480                        salt '*' pkg.unhold <package name>
72481
72482              pkgs   A  list  of  packages to hold. Must be passed as a python
72483                     list.
72484
72485                     CLI Example:
72486
72487                        salt '*' pkg.unhold pkgs='["foo", "bar"]'
72488
72489       salt.modules.aptpkg.upgrade(refresh=True, dist_upgrade=False, **kwargs)
72490              Changed in version 2015.8.12,2016.3.3,2016.11.0: On minions run‐
72491              ning  systemd>=205,  systemd-run(1)  is now used to isolate com‐
72492              mands which modify installed packages from the salt-minion  dae‐
72493              mon's  control  group. This is done to keep systemd from killing
72494              any apt-get/dpkg commands spawned by Salt when  the  salt-minion
72495              service  is restarted. (see KillMode in the systemd.kill(5) man‐
72496              page for more information). If desired, usage of  systemd-run(1)
72497              can  be  suppressed  by  setting  a  config  option  called sys‐
72498              temd.scope, with a value of False (no quotes).
72499
72500
72501              Upgrades  all  packages   via   apt-get   upgrade   or   apt-get
72502              dist-upgrade if  dist_upgrade is True.
72503
72504              Returns a dictionary containing the changes:
72505
72506                 {'<package>':  {'old': '<old-version>',
72507                                 'new': '<new-version>'}}
72508
72509              dist_upgrade
72510                     Whether  to  perform  the  upgrade  using dist-upgrade vs
72511                     upgrade.  Default is to use upgrade.
72512
72513                     New in version 2014.7.0.
72514
72515
72516              cache_valid_time
72517                 New in version 2016.11.0.
72518
72519
72520                 Skip refreshing the package database if refresh  has  already
72521                 occurred within <value> seconds
72522
72523              download_only
72524                     Only download the packages, don't unpack or install them
72525
72526                     New in version 2018.3.0.
72527
72528
72529              force_conf_new
72530                     Always  install  the  new  version  of  any configuration
72531                     files.
72532
72533                     New in version 2015.8.0.
72534
72535
72536              CLI Example:
72537
72538                 salt '*' pkg.upgrade
72539
72540       salt.modules.aptpkg.upgrade_available(name)
72541              Check whether or not an upgrade is available for a given package
72542
72543              CLI Example:
72544
72545                 salt '*' pkg.upgrade_available <package name>
72546
72547       salt.modules.aptpkg.version(*names, **kwargs)
72548              Returns a string representing the package version  or  an  empty
72549              string if not installed. If more than one package name is speci‐
72550              fied, a dict of name/version pairs is returned.
72551
72552              CLI Example:
72553
72554                 salt '*' pkg.version <package name>
72555                 salt '*' pkg.version <package1> <package2> <package3> ...
72556
72557       salt.modules.aptpkg.version_cmp(pkg1, pkg2, ignore_epoch=False)
72558              Do a cmp-style comparison on two packages. Return -1 if  pkg1  <
72559              pkg2,  0  if  pkg1 == pkg2, and 1 if pkg1 > pkg2. Return None if
72560              there was a problem making the comparison.
72561
72562              ignore_epoch
72563                     False Set to True to ignore the epoch when comparing ver‐
72564                     sions
72565
72566                     New in version 2015.8.10,2016.3.2.
72567
72568
72569              CLI Example:
72570
72571                 salt '*' pkg.version_cmp '0.2.4-0ubuntu1' '0.2.4.1-0ubuntu1'
72572
72573   salt.modules.archive
72574       A module to wrap (non-Windows) archive calls
72575
72576       New in version 2014.1.0.
72577
72578
72579       salt.modules.archive.cmd_unzip(zip_file,      dest,      excludes=None,
72580       options=None,  template=None,  runas=None,   trim_output=False,   pass‐
72581       word=None)
72582              New  in version 2015.5.0: In versions 2014.7.x and earlier, this
72583              function was known as archive.unzip.
72584
72585
72586              Uses the unzip command to unpack zip files. This command is part
72587              of  the  Info-ZIP  suite  of tools, and is typically packaged as
72588              simply unzip.
72589
72590              zip_file
72591                     Path of zip file to be unpacked
72592
72593              dest   The destination directory into which the file  should  be
72594                     unpacked
72595
72596              excludes
72597                     None  Comma-separated  list  of  files not to unpack. Can
72598                     also be passed in a Python list.
72599
72600              template
72601                     None Can be set to 'jinja' or another supported  template
72602                     engine to render the command arguments before execution:
72603
72604                        salt '*' archive.cmd_unzip template=jinja /tmp/zipfile.zip '/tmp/{{grains.id}}' excludes=file_1,file_2
72605
72606              options
72607                     Optional  when  using  zip  archives,  ignored when usign
72608                     other archives files. This is mostly  used  to  overwrite
72609                     exsiting  files  with o.  This options are only used when
72610                     unzip binary is used.
72611
72612                     New in version 2016.3.1.
72613
72614
72615              runas  None Unpack the zip file as the specified user.  Defaults
72616                     to the user under which the minion is running.
72617
72618                     New in version 2015.5.0.
72619
72620
72621              trim_output
72622                     False  The  number  of  files we should output on success
72623                     before the rest are trimmed, if this is set to True  then
72624                     it will default to 100
72625
72626              password
72627                     Password to use with password protected zip files
72628
72629                     NOTE:
72630                        This  is  not  considered secure. It is recommended to
72631                        instead use archive.unzip for  password-protected  ZIP
72632                        files. If a password is used here, then the unzip com‐
72633                        mand run to extract the ZIP file will not show  up  in
72634                        the  minion log like most shell commands Salt runs do.
72635                        However, the password will still  be  present  in  the
72636                        events  logged  to  the  minion  log  at the debug log
72637                        level. If the minion is logging at debug (or more ver‐
72638                        bose),  then  be advised that the password will appear
72639                        in the log.
72640
72641                     New in version 2016.11.0.
72642
72643
72644              CLI Example:
72645
72646                 salt '*' archive.cmd_unzip /tmp/zipfile.zip /home/strongbad/ excludes=file_1,file_2
72647
72648       salt.modules.archive.cmd_zip(zip_file,     sources,      template=None,
72649       cwd=None, runas=None)
72650              New  in version 2015.5.0: In versions 2014.7.x and earlier, this
72651              function was known as archive.zip.
72652
72653
72654              Uses the zip command to create zip files. This command  is  part
72655              of  the  Info-ZIP  suite  of tools, and is typically packaged as
72656              simply zip.
72657
72658              zip_file
72659                     Path of zip file to be created
72660
72661              sources
72662                     Comma-separated list of sources to  include  in  the  zip
72663                     file. Sources can also be passed in a Python list.
72664
72665                     Changed  in  version  2017.7.0: Globbing is now supported
72666                     for this argument
72667
72668
72669              template
72670                     None Can be set to 'jinja' or another supported  template
72671                     engine to render the command arguments before execution:
72672
72673                        salt '*' archive.cmd_zip template=jinja /tmp/zipfile.zip /tmp/sourcefile1,/tmp/{{grains.id}}.txt
72674
72675              cwd    None  Use  this  argument  along  with  relative paths in
72676                     sources to create zip files  which  do  not  contain  the
72677                     leading  directories. If not specified, the zip file will
72678                     be created as if the cwd was /, and creating a  zip  file
72679                     of  /foo/bar/baz.txt  will contain the parent directories
72680                     foo and  bar.  To  create  a  zip  file  containing  just
72681                     baz.txt, the following command would be used:
72682
72683                        salt '*' archive.cmd_zip /tmp/baz.zip baz.txt cwd=/foo/bar
72684
72685                     New in version 2014.7.1.
72686
72687
72688              runas  None  Create the zip file as the specified user. Defaults
72689                     to the user under which the minion is running.
72690
72691                     New in version 2015.5.0.
72692
72693
72694              CLI Example:
72695
72696                 salt '*' archive.cmd_zip /tmp/zipfile.zip /tmp/sourcefile1,/tmp/sourcefile2
72697                 # Globbing for sources (2017.7.0 and later)
72698                 salt '*' archive.cmd_zip /tmp/zipfile.zip '/tmp/sourcefile*'
72699
72700       salt.modules.archive.gunzip(gzipfile,    template=None,     runas=None,
72701       options=None)
72702              Uses the gunzip command to unpack gzip files
72703
72704              template
72705                     None  Can be set to 'jinja' or another supported template
72706                     engine to render the command arguments before execution:
72707
72708                        salt '*' archive.gunzip template=jinja /tmp/{{grains.id}}.txt.gz
72709
72710              runas  None The user with which to run the gzip command line
72711
72712              options
72713                     None Pass any additional arguments to gzip
72714
72715                     New in version 2016.3.4.
72716
72717
72718              CLI Example:
72719
72720                 # Create /tmp/sourcefile.txt
72721                 salt '*' archive.gunzip /tmp/sourcefile.txt.gz
72722                 salt '*' archive.gunzip /tmp/sourcefile.txt options='--verbose'
72723
72724       salt.modules.archive.gzip(sourcefile,    template=None,     runas=None,
72725       options=None)
72726              Uses the gzip command to create gzip files
72727
72728              template
72729                     None  Can be set to 'jinja' or another supported template
72730                     engine to render the command arguments before execution:
72731
72732                        salt '*' archive.gzip template=jinja /tmp/{{grains.id}}.txt
72733
72734              runas  None The user with which to run the gzip command line
72735
72736              options
72737                     None Pass any additional arguments to gzip
72738
72739                     New in version 2016.3.4.
72740
72741
72742              CLI Example:
72743
72744                 # Create /tmp/sourcefile.txt.gz
72745                 salt '*' archive.gzip /tmp/sourcefile.txt
72746                 salt '*' archive.gzip /tmp/sourcefile.txt options='-9 --verbose'
72747
72748       salt.modules.archive.is_encrypted(name,  clean=False,  saltenv=u'base',
72749       source_hash=None)
72750              New in version 2016.11.0.
72751
72752
72753              Returns  True if the zip archive is password-protected, False if
72754              not. If the specified file is not a ZIP archive, an  error  will
72755              be raised.
72756
72757              name   The path / URL of the archive to check.
72758
72759              clean  False  Set this value to True to delete the path referred
72760                     to by name once  the  contents  have  been  listed.  This
72761                     option should be used with care.
72762
72763                     NOTE:
72764                        If  there  is an error listing the archive's contents,
72765                        the cached file will not  be  removed,  to  allow  for
72766                        troubleshooting.
72767
72768              saltenv
72769                     base  Specifies  the fileserver environment from which to
72770                     retrieve archive. This is only applicable when archive is
72771                     a file from the salt:// fileserver.
72772
72773              source_hash
72774                     If  name is an http(s)/ftp URL and the file exists in the
72775                     minion's file cache, this option can be  passed  to  keep
72776                     the  minion from re-downloading the archive if the cached
72777                     copy matches the specified hash.
72778
72779                     New in version 2018.3.0.
72780
72781
72782              CLI Examples:
72783
72784                 salt '*' archive.is_encrypted /path/to/myfile.zip
72785                 salt '*' archive.is_encrypted salt://foo.zip
72786                 salt '*' archive.is_encrypted salt://foo.zip saltenv=dev
72787                 salt '*' archive.is_encrypted https://domain.tld/myfile.zip clean=True
72788                 salt '*' archive.is_encrypted https://domain.tld/myfile.zip source_hash=f1d2d2f924e986ac86fdf7b36c94bcdf32beec15
72789                 salt '*' archive.is_encrypted ftp://10.1.2.3/foo.zip
72790
72791       salt.modules.archive.list_(name,   archive_format=None,   options=None,
72792       strip_components=None,   clean=False,  verbose=False,  saltenv=u'base',
72793       source_hash=None)
72794              New in version 2016.11.0.
72795
72796
72797              Changed in version 2016.11.2: The rarfile Python module  is  now
72798              supported for listing the contents of rar archives. This is nec‐
72799              essary on minions with older releases of the rar CLI tool, which
72800              do not support listing the contents in a parsable format.
72801
72802
72803              List the files and directories in an tar, zip, or rar archive.
72804
72805              NOTE:
72806                 This function will only provide results for XZ-compressed ar‐
72807                 chives if the xz CLI command is available, as Python does not
72808                 at  this  time natively support XZ compression in its tarfile
72809                 module. Keep in mind however that  most  Linux  distros  ship
72810                 with xz already installed.
72811
72812                 To check if a given minion has xz, the following Salt command
72813                 can be run:
72814
72815                     salt minion_id cmd.which xz
72816
72817                 If None is returned, then xz  is  not  present  and  must  be
72818                 installed.   It is widely available and should be packaged as
72819                 either xz or xz-utils.
72820
72821              name   Path/URL of archive
72822
72823              archive_format
72824                     Specify the format of the archive (tar, zip, or rar).  If
72825                     this  argument  is  omitted,  the  archive format will be
72826                     guessed based on the value of the name parameter.
72827
72828              options
72829                     For tar archives only. This function  will,  by  default,
72830                     try  to  use  the tarfile module from the Python standard
72831                     library to get  a  list  of  files/directories.  If  this
72832                     method  fails,  then it will fall back to using the shell
72833                     to decompress the archive to stdout and pipe the  results
72834                     to  tar  -tf  -  to  produce a list of filenames. XZ-com‐
72835                     pressed archives are already supported automatically, but
72836                     in  the  event that the tar archive uses a different sort
72837                     of compression not supported natively  by  tarfile,  this
72838                     option  can be used to specify a command that will decom‐
72839                     press the archive to stdout. For example:
72840
72841                        salt minion_id archive.list /path/to/foo.tar.gz options='gzip --decompress --stdout'
72842
72843                     NOTE:
72844                        It is not necessary to manually  specify  options  for
72845                        gzip'ed archives, as gzip compression is natively sup‐
72846                        ported by tarfile.
72847
72848              strip_components
72849                     This argument specifies a number of top-level directories
72850                     to  strip  from the results. This is similar to the paths
72851                     that  would  be  extracted  if   --strip-components   (or
72852                     --strip) were used when extracting tar archives.
72853
72854                     New in version 2016.11.2.
72855
72856
72857              clean  False  Set this value to True to delete the path referred
72858                     to by name once  the  contents  have  been  listed.  This
72859                     option should be used with care.
72860
72861                     NOTE:
72862                        If  there  is an error listing the archive's contents,
72863                        the cached file will not  be  removed,  to  allow  for
72864                        troubleshooting.
72865
72866              verbose
72867                     False  If  False,  this  function  will  return a list of
72868                     files/dirs in the archive. If True, it will return a dic‐
72869                     tionary  categorizing  the  paths into separate keys con‐
72870                     taining the directory names, file names, and also  direc‐
72871                     tories/files present in the top level of the archive.
72872
72873                     Changed  in  version  2016.11.2: This option now includes
72874                     symlinks in their own list. Before,  they  were  included
72875                     with files.
72876
72877
72878              saltenv
72879                     base  Specifies  the fileserver environment from which to
72880                     retrieve archive. This is only applicable when archive is
72881                     a file from the salt:// fileserver.
72882
72883              source_hash
72884                     If  name is an http(s)/ftp URL and the file exists in the
72885                     minion's file cache, this option can be  passed  to  keep
72886                     the  minion from re-downloading the archive if the cached
72887                     copy matches the specified hash.
72888
72889                     New in version 2018.3.0.
72890
72891
72892              CLI Examples:
72893
72894                 salt '*' archive.list /path/to/myfile.tar.gz
72895                 salt '*' archive.list /path/to/myfile.tar.gz strip_components=1
72896                 salt '*' archive.list salt://foo.tar.gz
72897                 salt '*' archive.list https://domain.tld/myfile.zip
72898                 salt '*' archive.list https://domain.tld/myfile.zip source_hash=f1d2d2f924e986ac86fdf7b36c94bcdf32beec15
72899                 salt '*' archive.list ftp://10.1.2.3/foo.rar
72900
72901       salt.modules.archive.rar(rarfile,  sources,  template=None,   cwd=None,
72902       runas=None)
72903              Uses rar for Linux to create rar files
72904
72905              rarfile
72906                     Path of rar file to be created
72907
72908              sources
72909                     Comma-separated  list  of  sources  to include in the rar
72910                     file. Sources can also be passed in a Python list.
72911
72912                     Changed in version 2017.7.0: Globbing  is  now  supported
72913                     for this argument
72914
72915
72916              cwd    None  Run  the  rar command from the specified directory.
72917                     Use this argument along with relative file paths to  cre‐
72918                     ate  rar  files which do not contain the leading directo‐
72919                     ries. If not specified, this will  default  to  the  home
72920                     directory of the user under which the salt minion process
72921                     is running.
72922
72923                     New in version 2014.7.1.
72924
72925
72926              template
72927                     None Can be set to 'jinja' or another supported  template
72928                     engine to render the command arguments before execution:
72929
72930                        salt '*' archive.rar template=jinja /tmp/rarfile.rar '/tmp/sourcefile1,/tmp/{{grains.id}}.txt'
72931
72932              CLI Example:
72933
72934                 salt '*' archive.rar /tmp/rarfile.rar /tmp/sourcefile1,/tmp/sourcefile2
72935                 # Globbing for sources (2017.7.0 and later)
72936                 salt '*' archive.rar /tmp/rarfile.rar '/tmp/sourcefile*'
72937
72938       salt.modules.archive.tar(options,   tarfile,  sources=None,  dest=None,
72939       cwd=None, template=None, runas=None)
72940
72941              NOTE:
72942                 This function has changed for version 0.17.0. In  prior  ver‐
72943                 sions, the cwd and template arguments must be specified, with
72944                 the source directories/files coming as a space-separated list
72945                 at  the  end  of  the command. Beginning with 0.17.0, sources
72946                 must be a comma-separated list,  and  the  cwd  and  template
72947                 arguments are optional.
72948
72949              Uses the tar command to pack, unpack, etc. tar files
72950
72951              options
72952                     Options to pass to the tar command
72953
72954                     Changed  in  version  2015.8.0: The mandatory - prefixing
72955                     has been removed.  An options  string  beginning  with  a
72956                     --long-option, would have uncharacteristically needed its
72957                     first - removed under the former scheme.
72958
72959                     Also, tar will parse its  options  differently  if  short
72960                     options  are used with or without a preceding -, so it is
72961                     better to not confuse  the  user  into  thinking  they're
72962                     using  the  non--  format, when really they are using the
72963                     with-- format.
72964
72965
72966              tarfile
72967                     The filename of the tar archive to pack/unpack
72968
72969              sources
72970                     Comma delimited list of files to pack into  the  tarfile.
72971                     Can also be passed as a Python list.
72972
72973                     Changed  in  version  2017.7.0: Globbing is now supported
72974                     for this argument
72975
72976
72977              dest   The  destination  directory  into  which  to  unpack  the
72978                     tarfile
72979
72980              cwd    None  The  directory  in  which the tar command should be
72981                     executed. If not specified,  will  default  to  the  home
72982                     directory of the user under which the salt minion process
72983                     is running.
72984
72985              template
72986                     None Can be set to 'jinja' or another supported  template
72987                     engine to render the command arguments before execution:
72988
72989                        salt '*' archive.tar cjvf /tmp/salt.tar.bz2 {{grains.saltpath}} template=jinja
72990
72991              CLI Examples:
72992
72993                 # Create a tarfile
72994                 salt '*' archive.tar cjvf /tmp/tarfile.tar.bz2 /tmp/file_1,/tmp/file_2
72995                 # Create a tarfile using globbing (2017.7.0 and later)
72996                 salt '*' archive.tar cjvf /tmp/tarfile.tar.bz2 '/tmp/file_*'
72997                 # Unpack a tarfile
72998                 salt '*' archive.tar xf foo.tar dest=/target/directory
72999
73000       salt.modules.archive.unrar(rarfile, dest, excludes=None, template=None,
73001       runas=None, trim_output=False)
73002              Uses rar for Linux to unpack rar files
73003
73004              rarfile
73005                     Name of rar file to be unpacked
73006
73007              dest   The destination directory into which to  unpack  the  rar
73008                     file
73009
73010              template
73011                     None  Can be set to 'jinja' or another supported template
73012                     engine to render the command arguments before execution:
73013
73014                        salt '*' archive.unrar template=jinja /tmp/rarfile.rar /tmp/{{grains.id}}/ excludes=file_1,file_2
73015
73016              trim_output
73017                     False The number of files we  should  output  on  success
73018                     before  the rest are trimmed, if this is set to True then
73019                     it will default to 100
73020
73021              CLI Example:
73022
73023                 salt '*' archive.unrar /tmp/rarfile.rar /home/strongbad/ excludes=file_1,file_2
73024
73025       salt.modules.archive.unzip(zip_file, dest, excludes=None, options=None,
73026       template=None,     runas=None,     trim_output=False,    password=None,
73027       extract_perms=True)
73028              Uses the zipfile Python module to unpack zip files
73029
73030              Changed in version 2015.5.0: This function was rewritten to  use
73031              Python's  native  zip  file  support.  The old functionality has
73032              been preserved in the new function archive.cmd_unzip.  For  ver‐
73033              sions  2014.7.x  and earlier, see the archive.cmd_zip documenta‐
73034              tion.
73035
73036
73037              zip_file
73038                     Path of zip file to be unpacked
73039
73040              dest   The destination directory into which the file  should  be
73041                     unpacked
73042
73043              excludes
73044                     None  Comma-separated  list  of  files not to unpack. Can
73045                     also be passed in a Python list.
73046
73047              options
73048                     This options are only used when unzip binary is used.  In
73049                     this function is ignored.
73050
73051                     New in version 2016.3.1.
73052
73053
73054              template
73055                     None  Can be set to 'jinja' or another supported template
73056                     engine to render the command arguments before execution:
73057
73058                        salt '*' archive.unzip template=jinja /tmp/zipfile.zip /tmp/{{grains.id}}/ excludes=file_1,file_2
73059
73060              runas  None Unpack the zip file as the specified user.  Defaults
73061                     to the user under which the minion is running.
73062
73063              trim_output
73064                     False  The  number  of  files we should output on success
73065                     before the rest are trimmed, if this is set to True  then
73066                     it will default to 100
73067
73068              CLI Example:
73069
73070                 salt '*' archive.unzip /tmp/zipfile.zip /home/strongbad/ excludes=file_1,file_2
73071
73072              password
73073                     Password to use with password protected zip files
73074
73075                     NOTE:
73076                        The  password  will be present in the events logged to
73077                        the minion log file at the debug  log  level.  If  the
73078                        minion  is logging at debug (or more verbose), then be
73079                        advised that the password will appear in the log.
73080
73081                     New in version 2016.3.0.
73082
73083
73084              extract_perms
73085                     True  The  Python  zipfile  module   does   not   extract
73086                     file/directory  attributes by default. When this argument
73087                     is set to True, Salt will attempt to apply the file  per‐
73088                     mission attributes to the extracted files/folders.
73089
73090                     On  Windows, only the read-only flag will be extracted as
73091                     set  within  the  zip  file,   other   attributes   (i.e.
73092                     user/group permissions) are ignored.
73093
73094                     Set this argument to False to disable this behavior.
73095
73096                     New in version 2016.11.0.
73097
73098
73099              CLI Example:
73100
73101                 salt '*' archive.unzip /tmp/zipfile.zip /home/strongbad/ password='BadPassword'
73102
73103       salt.modules.archive.zip_(zip_file,  sources,  template=None, cwd=None,
73104       runas=None, zip64=False)
73105              Uses the zipfile Python module to create zip files
73106
73107              Changed in version 2015.5.0: This function was rewritten to  use
73108              Python's  native  zip  file  support.  The old functionality has
73109              been preserved in the new function archive.cmd_zip. For versions
73110              2014.7.x and earlier, see the archive.cmd_zip documentation.
73111
73112
73113              zip_file
73114                     Path of zip file to be created
73115
73116              sources
73117                     Comma-separated  list  of  sources  to include in the zip
73118                     file. Sources can also be passed in a Python list.
73119
73120                     Changed in version 2017.7.0: Globbing  is  now  supported
73121                     for this argument
73122
73123
73124              template
73125                     None  Can be set to 'jinja' or another supported template
73126                     engine to render the command arguments before execution:
73127
73128                        salt '*' archive.zip template=jinja /tmp/zipfile.zip /tmp/sourcefile1,/tmp/{{grains.id}}.txt
73129
73130              cwd    None Use this  argument  along  with  relative  paths  in
73131                     sources  to  create  zip  files  which do not contain the
73132                     leading directories. If not specified, the zip file  will
73133                     be  created  as if the cwd was /, and creating a zip file
73134                     of /foo/bar/baz.txt will contain the  parent  directories
73135                     foo  and  bar.  To  create  a  zip  file  containing just
73136                     baz.txt, the following command would be used:
73137
73138                        salt '*' archive.zip /tmp/baz.zip baz.txt cwd=/foo/bar
73139
73140              runas  None Create the zip file as the specified user.  Defaults
73141                     to the user under which the minion is running.
73142
73143              zip64  False  Used  to enable ZIP64 support, necessary to create
73144                     archives larger than 4 GByte in size.  If true, will cre‐
73145                     ate  ZIP  file with the ZIPp64 extension when the zipfile
73146                     is larger than 2 GB.   ZIP64  extension  is  disabled  by
73147                     default  in  the  Python  native  zip support because the
73148                     default zip and unzip commands on Unix (the InfoZIP util‐
73149                     ities) don't support these extensions.
73150
73151              CLI Example:
73152
73153                 salt '*' archive.zip /tmp/zipfile.zip /tmp/sourcefile1,/tmp/sourcefile2
73154                 # Globbing for sources (2017.7.0 and later)
73155                 salt '*' archive.zip /tmp/zipfile.zip '/tmp/sourcefile*'
73156
73157   salt.modules.arista_pyeapi
73158   Arista pyeapi
73159       New in version Fluorine.
73160
73161
73162       Execution module to interface the connection with Arista switches, con‐
73163       necting to the remote network device using the pyeapi  library.  It  is
73164       flexible  enough  to  execute  the  commands both when running under an
73165       Arista Proxy Minion, as well as running under a Regular Minion by spec‐
73166       ifying  the  connection  arguments,  i.e., device_type, host, username,
73167       password etc.
73168
73169       codeauthor
73170              Mircea Ulinic <ping@mirceaulinic.net>
73171
73172       maturity
73173              new
73174
73175       depends
73176              pyeapi
73177
73178       platform
73179              unix
73180
73181       NOTE:
73182          To understand how to correctly  enable  the  eAPI  on  your  switch,
73183          please check https://eos.arista.com/arista-eapi-101/.
73184
73185   Dependencies
73186       The  pyeapi  Execution  module  requires  the  Python  Client  for eAPI
73187       (pyeapi) to be installed: pip install pyeapi.
73188
73189   Usage
73190       This module can equally be used via the pyeapi Proxy module or directly
73191       from  an  arbitrary  (Proxy) Minion that is running on a machine having
73192       access to the network device API, and the pyeapi library is installed.
73193
73194       When running outside of the pyeapi Proxy (i.e., from another Proxy Min‐
73195       ion  type,  or  regular Minion), the pyeapi connection arguments can be
73196       either specified from the CLI when executing the command, or in a  con‐
73197       figuration  block under the pyeapi key in the configuration opts (i.e.,
73198       (Proxy) Minion configuration file),  or  Pillar.  The  module  supports
73199       these  simultaneously. These fields are the exact same supported by the
73200       pyeapi Proxy Module:
73201
73202       transport: https
73203              Specifies the type of connection transport to use. Valid  values
73204              for the connection are socket, http_local, http, and  https.
73205
73206       host: localhost
73207              The IP address or DNS host name of the connection device.
73208
73209       username: admin
73210              The username to pass to the device to authenticate the eAPI con‐
73211              nection.
73212
73213       password
73214              The password to pass to the device to authenticate the eAPI con‐
73215              nection.
73216
73217       port   The  TCP  port  of the endpoint for the eAPI connection. If this
73218              keyword is not specified, the  default  value  is  automatically
73219              determined  by  the  transport  type  (80  for  http, or 443 for
73220              https).
73221
73222       enablepwd
73223              The enable mode password if required by the destination node.
73224
73225       Example (when not running in a pyeapi Proxy Minion):
73226
73227          pyeapi:
73228            username: test
73229            password: test
73230
73231       In case the username and password are the same on any  device  you  are
73232       targeting,  the  block above (besides other parameters specific to your
73233       environment you might need) should suffice to be able to  execute  com‐
73234       mands from outside a pyeapi Proxy, e.g.:
73235
73236          salt '*' pyeapi.send_commands 'show version' 'show interfaces'
73237          salt '*' pyeapi.config 'ntp server 1.2.3.4'
73238
73239       NOTE:
73240          Remember  that  the  above applies only when not running in a pyeapi
73241          Proxy Minion. If you want to use the pyeapi Proxy, please follow the
73242          documentation notes for a proper setup.
73243
73244       salt.modules.arista_pyeapi.call(method, *args, **kwargs)
73245              Invoke an arbitrary pyeapi method.
73246
73247              method The name of the pyeapi method to invoke.
73248
73249              args   A list of arguments to send to the method invoked.
73250
73251              kwargs Key-value dictionary to send to the method invoked.
73252
73253              transport: https
73254                     Specifies  the type of connection transport to use. Valid
73255                     values for the connection are socket,  http_local,  http,
73256                     and  https.
73257
73258                     NOTE:
73259                        This  argument does not need to be specified when run‐
73260                        ning in a pyeapi Proxy Minion.
73261
73262              host: localhost
73263                     The IP address or DNS host name of the connection device.
73264
73265                     NOTE:
73266                        This argument does not need to be specified when  run‐
73267                        ning in a pyeapi Proxy Minion.
73268
73269              username: admin
73270                     The  username  to  pass to the device to authenticate the
73271                     eAPI connection.
73272
73273                        NOTE:
73274                            This argument does not need to be  specified  when
73275                            running in a pyeapi Proxy Minion.
73276
73277              password
73278                     The  password  to  pass to the device to authenticate the
73279                     eAPI connection.
73280
73281                     NOTE:
73282                        This argument does not need to be specified when  run‐
73283                        ning in a pyeapi Proxy Minion.
73284
73285              port   The  TCP port of the endpoint for the eAPI connection. If
73286                     this keyword is not specified, the default value is auto‐
73287                     matically  determined by the transport type (80 for http,
73288                     or 443 for https).
73289
73290                     NOTE:
73291                        This argument does not need to be specified when  run‐
73292                        ning in a pyeapi Proxy Minion.
73293
73294              enablepwd
73295                     The  enable  mode password if required by the destination
73296                     node.
73297
73298                     NOTE:
73299                        This argument does not need to be specified when  run‐
73300                        ning in a pyeapi Proxy Minion.
73301
73302              CLI Example:
73303
73304                 salt '*' pyeapi.call run_commands "['show version']"
73305
73306       salt.modules.arista_pyeapi.config(commands=None, config_file=None, tem‐
73307       plate_engine=u'jinja',  context=None,  defaults=None,  saltenv=u'base',
73308       **kwargs)
73309              Configures the node with the specified commands.
73310
73311              This  method is used to send configuration commands to the node.
73312              It will take either a string or a list and prepend the necessary
73313              commands to put the session into config mode.
73314
73315              Returns the diff after the configuration commands are loaded.
73316
73317              config_file
73318                     The  source  file  with  the configuration commands to be
73319                     sent to the device.
73320
73321                     The file can also be a  template  that  can  be  rendered
73322                     using the template engine of choice.
73323
73324                     This  can  be  specified  using  the absolute path to the
73325                     file, or using one of the following URL schemes:
73326
73327                     · salt://, to fetch the file from the Salt fileserver.
73328
73329                     · http:// or https://
73330
73331                     · ftp://
73332
73333                     · s3://
73334
73335                     · swift://
73336
73337              commands
73338                     The commands to send to the node in config mode.  If  the
73339                     commands  argument is a string it will be cast to a list.
73340                     The list of commands will also be prepended with the nec‐
73341                     essary commands to put the session in config mode.
73342
73343                     NOTE:
73344                        This  argument  is  ignored when config_file is speci‐
73345                        fied.
73346
73347              template_engine: jinja
73348                     The template engine to  use  when  rendering  the  source
73349                     file.  Default:  jinja.  To simply fetch the file without
73350                     attempting to render, set this argument to None.
73351
73352              context
73353                     Variables to add to the template context.
73354
73355              defaults
73356                     Default values of the context dict.
73357
73358              transport: https
73359                     Specifies the type of connection transport to use.  Valid
73360                     values  for  the connection are socket, http_local, http,
73361                     and  https.
73362
73363                     NOTE:
73364                        This argument does not need to be specified when  run‐
73365                        ning in a pyeapi Proxy Minion.
73366
73367              host: localhost
73368                     The IP address or DNS host name of the connection device.
73369
73370                     NOTE:
73371                        This  argument does not need to be specified when run‐
73372                        ning in a pyeapi Proxy Minion.
73373
73374              username: admin
73375                     The username to pass to the device  to  authenticate  the
73376                     eAPI connection.
73377
73378                        NOTE:
73379                            This  argument  does not need to be specified when
73380                            running in a pyeapi Proxy Minion.
73381
73382              password
73383                     The password to pass to the device  to  authenticate  the
73384                     eAPI connection.
73385
73386                     NOTE:
73387                        This  argument does not need to be specified when run‐
73388                        ning in a pyeapi Proxy Minion.
73389
73390              port   The TCP port of the endpoint for the eAPI connection.  If
73391                     this keyword is not specified, the default value is auto‐
73392                     matically determined by the transport type (80 for  http,
73393                     or 443 for https).
73394
73395                     NOTE:
73396                        This  argument does not need to be specified when run‐
73397                        ning in a pyeapi Proxy Minion.
73398
73399              enablepwd
73400                     The enable mode password if required by  the  destination
73401                     node.
73402
73403                     NOTE:
73404                        This  argument does not need to be specified when run‐
73405                        ning in a pyeapi Proxy Minion.
73406
73407              CLI Example:
73408
73409                 salt '*' pyeapi.config commands="['ntp server 1.2.3.4', 'ntp server 5.6.7.8']"
73410                 salt '*' pyeapi.config config_file=salt://config.txt
73411                 salt '*' pyeapi.config config_file=https://bit.ly/2LGLcDy context="{'servers': ['1.2.3.4']}"
73412
73413       salt.modules.arista_pyeapi.get_config(config=u'running-config',
73414       params=None, as_string=False, **kwargs)
73415              Retrieves the config from the device.
73416
73417              This  method  will retrieve the config from the node as either a
73418              string or a list object.  The config to retrieve can  be  speci‐
73419              fied as either the startup-config or the running-config.
73420
73421              config: running-config
73422                     Specifies  to  return  either the nodes startup-config or
73423                     running-config.  The default value is the running-config.
73424
73425              params A string  of  keywords  to  append  to  the  command  for
73426                     retrieving the config.
73427
73428              as_string: False
73429                     Flag  that  determines  the  response.  If True, then the
73430                     configuration is returned as a  raw  string.   If  False,
73431                     then  the  configuration  is  returned  as  a  list.  The
73432                     default value is False.
73433
73434              transport: https
73435                     Specifies the type of connection transport to use.  Valid
73436                     values  for  the connection are socket, http_local, http,
73437                     and  https.
73438
73439                     NOTE:
73440                        This argument does not need to be specified when  run‐
73441                        ning in a pyeapi Proxy Minion.
73442
73443              host: localhost
73444                     The IP address or DNS host name of the connection device.
73445
73446                     NOTE:
73447                        This  argument does not need to be specified when run‐
73448                        ning in a pyeapi Proxy Minion.
73449
73450              username: admin
73451                     The username to pass to the device  to  authenticate  the
73452                     eAPI connection.
73453
73454                        NOTE:
73455                            This  argument  does not need to be specified when
73456                            running in a pyeapi Proxy Minion.
73457
73458              password
73459                     The password to pass to the device  to  authenticate  the
73460                     eAPI connection.
73461
73462                     NOTE:
73463                        This  argument does not need to be specified when run‐
73464                        ning in a pyeapi Proxy Minion.
73465
73466              port   The TCP port of the endpoint for the eAPI connection.  If
73467                     this keyword is not specified, the default value is auto‐
73468                     matically determined by the transport type (80 for  http,
73469                     or 443 for https).
73470
73471                     NOTE:
73472                        This  argument does not need to be specified when run‐
73473                        ning in a pyeapi Proxy Minion.
73474
73475              enablepwd
73476                     The enable mode password if required by  the  destination
73477                     node.
73478
73479                     NOTE:
73480                        This  argument does not need to be specified when run‐
73481                        ning in a pyeapi Proxy Minion.
73482
73483              CLI Example:
73484
73485                 salt '*' pyeapi.get_config
73486                 salt '*' pyeapi.get_config params='section snmp-server'
73487                 salt '*' pyeapi.get_config config='startup-config'
73488
73489       salt.modules.arista_pyeapi.get_connection(**kwargs)
73490              Return the connection object to the pyeapi Node.
73491
73492              WARNING:
73493                 This function returns an unserializable object, hence  it  is
73494                 not  meant  to be used on the CLI. This should mainly be used
73495                 when invoked from other modules for the low level  connection
73496                 with the network device.
73497
73498              kwargs Key-value dictionary with the authentication details.
73499
73500              USAGE Example:
73501
73502                 conn = __salt__['pyeapi.get_connection'](host='router1.example.com',
73503                                                          username='example',
73504                                                          password='example')
73505                 show_ver = conn.run_commands(['show version', 'show interfaces'])
73506
73507       salt.modules.arista_pyeapi.run_commands(*commands, **kwargs)
73508              Sends the commands over the transport to the device.
73509
73510              This  function  sends the commands to the device using the nodes
73511              transport.  This is a lower layer function that  shouldn't  nor‐
73512              mally  need  to  be  used, preferring instead to use config() or
73513              enable().
73514
73515              transport: https
73516                     Specifies the type of connection transport to use.  Valid
73517                     values  for  the connection are socket, http_local, http,
73518                     and  https.
73519
73520                     NOTE:
73521                        This argument does not need to be specified when  run‐
73522                        ning in a pyeapi Proxy Minion.
73523
73524              host: localhost
73525                     The IP address or DNS host name of the connection device.
73526
73527                     NOTE:
73528                        This  argument does not need to be specified when run‐
73529                        ning in a pyeapi Proxy Minion.
73530
73531              username: admin
73532                     The username to pass to the device  to  authenticate  the
73533                     eAPI connection.
73534
73535                        NOTE:
73536                            This  argument  does not need to be specified when
73537                            running in a pyeapi Proxy Minion.
73538
73539              password
73540                     The password to pass to the device  to  authenticate  the
73541                     eAPI connection.
73542
73543                     NOTE:
73544                        This  argument does not need to be specified when run‐
73545                        ning in a pyeapi Proxy Minion.
73546
73547              port   The TCP port of the endpoint for the eAPI connection.  If
73548                     this keyword is not specified, the default value is auto‐
73549                     matically determined by the transport type (80 for  http,
73550                     or 443 for https).
73551
73552                     NOTE:
73553                        This  argument does not need to be specified when run‐
73554                        ning in a pyeapi Proxy Minion.
73555
73556              enablepwd
73557                     The enable mode password if required by  the  destination
73558                     node.
73559
73560                     NOTE:
73561                        This  argument does not need to be specified when run‐
73562                        ning in a pyeapi Proxy Minion.
73563
73564              CLI Example:
73565
73566                 salt '*' pyeapi.run_commands 'show version'
73567                 salt '*' pyeapi.run_commands 'show version' encoding=text
73568                 salt '*' pyeapi.run_commands 'show version' encoding=text host=cr1.thn.lon username=example password=weak
73569
73570              Output example:
73571
73572                 veos1:
73573                     |_
73574                       ----------
73575                       architecture:
73576                           i386
73577                       bootupTimestamp:
73578                           1527541728.53
73579                       hardwareRevision:
73580                       internalBuildId:
73581                           63d2e89a-220d-4b8a-a9b3-0524fa8f9c5f
73582                       internalVersion:
73583                           4.18.1F-4591672.4181F
73584                       isIntlVersion:
73585                           False
73586                       memFree:
73587                           501468
73588                       memTotal:
73589                           1893316
73590                       modelName:
73591                           vEOS
73592                       serialNumber:
73593                       systemMacAddress:
73594                           52:54:00:3f:e6:d0
73595                       version:
73596                           4.18.1F
73597
73598       salt.modules.arista_pyeapi.section(regex,     config=u'running-config',
73599       **kwargs)
73600              Return a section of the config.
73601
73602              regex  A  valid  regular  expression  used to select sections of
73603                     configuration to return.
73604
73605              config: running-config
73606                     The configuration to return. Valid values for config  are
73607                     running-config  or  startup-config.  The default value is
73608                     running-config.
73609
73610              transport: https
73611                     Specifies the type of connection transport to use.  Valid
73612                     values  for  the connection are socket, http_local, http,
73613                     and  https.
73614
73615                     NOTE:
73616                        This argument does not need to be specified when  run‐
73617                        ning in a pyeapi Proxy Minion.
73618
73619              host: localhost
73620                     The IP address or DNS host name of the connection device.
73621
73622                     NOTE:
73623                        This  argument does not need to be specified when run‐
73624                        ning in a pyeapi Proxy Minion.
73625
73626              username: admin
73627                     The username to pass to the device  to  authenticate  the
73628                     eAPI connection.
73629
73630                        NOTE:
73631                            This  argument  does not need to be specified when
73632                            running in a pyeapi Proxy Minion.
73633
73634              password
73635                     The password to pass to the device  to  authenticate  the
73636                     eAPI connection.
73637
73638                     NOTE:
73639                        This  argument does not need to be specified when run‐
73640                        ning in a pyeapi Proxy Minion.
73641
73642              port   The TCP port of the endpoint for the eAPI connection.  If
73643                     this keyword is not specified, the default value is auto‐
73644                     matically determined by the transport type (80 for  http,
73645                     or 443 for https).
73646
73647                     NOTE:
73648                        This  argument does not need to be specified when run‐
73649                        ning in a pyeapi Proxy Minion.
73650
73651              enablepwd
73652                     The enable mode password if required by  the  destination
73653                     node.
73654
73655                     NOTE:
73656                        This  argument does not need to be specified when run‐
73657                        ning in a pyeapi Proxy Minion.
73658
73659              CLI Example:
73660
73661                 salt '*'
73662
73663   salt.modules.artifactory
73664       Module for fetching artifacts from Artifactory
73665
73666       exception salt.modules.artifactory.ArtifactoryError(value)
73667
73668       salt.modules.artifactory.get_latest_release(artifactory_url,    reposi‐
73669       tory,   group_id,   artifact_id,  packaging,  target_dir=u'/tmp',  tar‐
73670       get_file=None, classifier=None, username=None, password=None,  use_lit‐
73671       eral_group_id=False)
73672              Gets the latest release of the artifact
73673
73674              artifactory_url
73675                     URL of artifactory instance
73676
73677              repository
73678                     Release  repository  in  artifactory to retrieve artifact
73679                     from, for example: libs-releases
73680
73681              group_id
73682                     Group Id of the artifact
73683
73684              artifact_id
73685                     Artifact Id of the artifact
73686
73687              packaging
73688                     Packaging type (jar,war,ear,etc)
73689
73690              target_dir
73691                     Target directory to download artifact to (default: /tmp)
73692
73693              target_file
73694                     Target file to download artifact to  (by  default  it  is
73695                     target_dir/artifact_id-version.packaging)
73696
73697              classifier
73698                     Artifact   classifier   name  (ex:  sources,javadoc,etc).
73699                     Optional parameter.
73700
73701              username
73702                     Artifactory username. Optional parameter.
73703
73704              password
73705                     Artifactory password. Optional parameter.
73706
73707       salt.modules.artifactory.get_latest_snapshot(artifactory_url,   reposi‐
73708       tory,   group_id,   artifact_id,  packaging,  target_dir=u'/tmp',  tar‐
73709       get_file=None, classifier=None, username=None, password=None,  use_lit‐
73710       eral_group_id=False)
73711              Gets latest snapshot of the given artifact
73712
73713              artifactory_url
73714                     URL of artifactory instance
73715
73716              repository
73717                     Snapshot  repository  in artifactory to retrieve artifact
73718                     from, for example: libs-snapshots
73719
73720              group_id
73721                     Group Id of the artifact
73722
73723              artifact_id
73724                     Artifact Id of the artifact
73725
73726              packaging
73727                     Packaging type (jar,war,ear,etc)
73728
73729              target_dir
73730                     Target directory to download artifact to (default: /tmp)
73731
73732              target_file
73733                     Target file to download artifact to  (by  default  it  is
73734                     target_dir/artifact_id-snapshot_version.packaging)
73735
73736              classifier
73737                     Artifact   classifier   name  (ex:  sources,javadoc,etc).
73738                     Optional parameter.
73739
73740              username
73741                     Artifactory username. Optional parameter.
73742
73743              password
73744                     Artifactory password. Optional parameter.
73745
73746       salt.modules.artifactory.get_release(artifactory_url,       repository,
73747       group_id,  artifact_id,  packaging,  version,  target_dir=u'/tmp', tar‐
73748       get_file=None, classifier=None, username=None, password=None,  use_lit‐
73749       eral_group_id=False)
73750              Gets the specified release of the artifact
73751
73752              artifactory_url
73753                     URL of artifactory instance
73754
73755              repository
73756                     Release  repository  in  artifactory to retrieve artifact
73757                     from, for example: libs-releases
73758
73759              group_id
73760                     Group Id of the artifact
73761
73762              artifact_id
73763                     Artifact Id of the artifact
73764
73765              packaging
73766                     Packaging type (jar,war,ear,etc)
73767
73768              version
73769                     Version of the artifact
73770
73771              target_dir
73772                     Target directory to download artifact to (default: /tmp)
73773
73774              target_file
73775                     Target file to download artifact to  (by  default  it  is
73776                     target_dir/artifact_id-version.packaging)
73777
73778              classifier
73779                     Artifact   classifier   name  (ex:  sources,javadoc,etc).
73780                     Optional parameter.
73781
73782              username
73783                     Artifactory username. Optional parameter.
73784
73785              password
73786                     Artifactory password. Optional parameter.
73787
73788       salt.modules.artifactory.get_snapshot(artifactory_url,      repository,
73789       group_id,  artifact_id, packaging, version, snapshot_version=None, tar‐
73790       get_dir=u'/tmp',  target_file=None,   classifier=None,   username=None,
73791       password=None, use_literal_group_id=False)
73792              Gets snapshot of the desired version of the artifact
73793
73794              artifactory_url
73795                     URL of artifactory instance
73796
73797              repository
73798                     Snapshot  repository  in artifactory to retrieve artifact
73799                     from, for example: libs-snapshots
73800
73801              group_id
73802                     Group Id of the artifact
73803
73804              artifact_id
73805                     Artifact Id of the artifact
73806
73807              packaging
73808                     Packaging type (jar,war,ear,etc)
73809
73810              version
73811                     Version of the artifact
73812
73813              target_dir
73814                     Target directory to download artifact to (default: /tmp)
73815
73816              target_file
73817                     Target file to download artifact to  (by  default  it  is
73818                     target_dir/artifact_id-snapshot_version.packaging)
73819
73820              classifier
73821                     Artifact   classifier   name  (ex:  sources,javadoc,etc).
73822                     Optional parameter.
73823
73824              username
73825                     Artifactory username. Optional parameter.
73826
73827              password
73828                     Artifactory password. Optional parameter.
73829
73830   salt.modules.at
73831       Wrapper module for at(1)
73832
73833       Also, a 'tag' feature has been added to more easily tag jobs.
73834
73835       platform
73836              linux,openbsd,freebsd
73837
73838       Changed in version 2017.7.0.
73839
73840
73841       salt.modules.at.at(*args, **kwargs)
73842              Add a job to the queue.
73843
73844              The 'timespec' follows the format documented in the  at(1)  man‐
73845              page.
73846
73847              CLI Example:
73848
73849                 salt '*' at.at <timespec> <cmd> [tag=<tag>] [runas=<user>]
73850                 salt '*' at.at 12:05am '/sbin/reboot' tag=reboot
73851                 salt '*' at.at '3:05am +3 days' 'bin/myscript' tag=nightly runas=jim
73852
73853       salt.modules.at.atc(jobid)
73854              Print the at(1) script that will run for the passed job id. This
73855              is mostly for debugging so the output will just be text.
73856
73857              CLI Example:
73858
73859                 salt '*' at.atc <jobid>
73860
73861       salt.modules.at.atq(tag=None)
73862              List all queued and running jobs or only those with an  optional
73863              'tag'.
73864
73865              CLI Example:
73866
73867                 salt '*' at.atq
73868                 salt '*' at.atq [tag]
73869                 salt '*' at.atq [job number]
73870
73871       salt.modules.at.atrm(*args)
73872              Remove jobs from the queue.
73873
73874              CLI Example:
73875
73876                 salt '*' at.atrm <jobid> <jobid> .. <jobid>
73877                 salt '*' at.atrm all
73878                 salt '*' at.atrm all [tag]
73879
73880       salt.modules.at.jobcheck(**kwargs)
73881              Check  the job from queue.  The kwargs dict include 'hour minute
73882              day month year tag runas' Other parameters will be ignored.
73883
73884              CLI Example:
73885
73886                 salt '*' at.jobcheck runas=jam day=13
73887                 salt '*' at.jobcheck day=13 month=12 year=13 tag=rose
73888
73889   salt.modules.at_solaris
73890       Wrapper for at(1) on Solaris-like systems
73891
73892       NOTE:
73893          we try to mirror the generic at module where possible
73894
73895       maintainer
73896              jorge schrauwen <sjorge@blackdot.be>
73897
73898       maturity
73899              new
73900
73901       platform
73902              solaris,illumos,smartso
73903
73904       New in version 2017.7.0.
73905
73906
73907       salt.modules.at_solaris.at(*args, **kwargs)
73908              Add a job to the queue.
73909
73910              The 'timespec' follows the format documented in the  at(1)  man‐
73911              page.
73912
73913              CLI Example:
73914
73915                 salt '*' at.at <timespec> <cmd> [tag=<tag>] [runas=<user>]
73916                 salt '*' at.at 12:05am '/sbin/reboot' tag=reboot
73917                 salt '*' at.at '3:05am +3 days' 'bin/myscript' tag=nightly runas=jim
73918
73919       salt.modules.at_solaris.atc(jobid)
73920              Print the at(1) script that will run for the passed job id. This
73921              is mostly for debugging so the output will just be text.
73922
73923              CLI Example:
73924
73925                 salt '*' at.atc <jobid>
73926
73927       salt.modules.at_solaris.atq(tag=None)
73928              List all queued and running jobs or only those with an  optional
73929              'tag'.
73930
73931              CLI Example:
73932
73933                 salt '*' at.atq
73934                 salt '*' at.atq [tag]
73935                 salt '*' at.atq [job number]
73936
73937       salt.modules.at_solaris.atrm(*args)
73938              Remove jobs from the queue.
73939
73940              CLI Example:
73941
73942                 salt '*' at.atrm <jobid> <jobid> .. <jobid>
73943                 salt '*' at.atrm all
73944                 salt '*' at.atrm all [tag]
73945
73946       salt.modules.at_solaris.jobcheck(**kwargs)
73947              Check  the job from queue.  The kwargs dict include 'hour minute
73948              day month year tag runas' Other parameters will be ignored.
73949
73950              CLI Example:
73951
73952                 salt '*' at.jobcheck runas=jam day=13
73953                 salt '*' at.jobcheck day=13 month=12 year=13 tag=rose
73954
73955   salt.modules.augeas_cfg
73956       Manages configuration files via augeas
73957
73958       This module requires the augeas Python module.
73959
73960       WARNING:
73961          Minimal installations of Debian and Ubuntu have been  seen  to  have
73962          packaging bugs with python-augeas, causing the augeas module to fail
73963          to import. If the minion has the augeas module  installed,  but  the
73964          functions in this execution module fail to run due to being unavail‐
73965          able, first restart the salt-minion service. If the problem persists
73966          past  that,  the  following  command  can  be run from the master to
73967          determine what is causing the import to fail:
73968
73969              salt minion-id cmd.run 'python -c "from augeas import Augeas"'
73970
73971          For affected Debian/Ubuntu hosts, installing libpython2.7  has  been
73972          known to resolve the issue.
73973
73974       salt.modules.augeas_cfg.execute(context=None,  lens=None,  commands=(),
73975       load_path=None)
73976              Execute Augeas commands
73977
73978              New in version 2014.7.0.
73979
73980
73981              CLI Example:
73982
73983                 salt '*' augeas.execute /files/etc/redis/redis.conf \
73984                 commands='["set bind 0.0.0.0", "set maxmemory 1G"]'
73985
73986              context
73987                     The Augeas context
73988
73989              lens   The Augeas lens to use
73990
73991              commands
73992                     The Augeas commands to execute
73993
73994              New in version 2016.3.0.
73995
73996
73997              load_path
73998                     A colon-spearated list of directories that modules should
73999                     be  searched in. This is in addition to the standard load
74000                     path and the directories in AUGEAS_LENS_LIB.
74001
74002       salt.modules.augeas_cfg.get(path, value=u'', load_path=None)
74003              Get a value for a specific augeas path
74004
74005              CLI Example:
74006
74007                 salt '*' augeas.get /files/etc/hosts/1/ ipaddr
74008
74009              path   The path to get the value of
74010
74011              value  The optional value to get
74012
74013              New in version 2016.3.0.
74014
74015
74016              load_path
74017                     A colon-spearated list of directories that modules should
74018                     be  searched in. This is in addition to the standard load
74019                     path and the directories in AUGEAS_LENS_LIB.
74020
74021       salt.modules.augeas_cfg.ls(path, load_path=None)
74022              List the direct children of a node
74023
74024              CLI Example:
74025
74026                 salt '*' augeas.ls /files/etc/passwd
74027
74028              path   The path to list
74029
74030              New in version 2016.3.0.
74031
74032
74033              load_path
74034                     A colon-spearated list of directories that modules should
74035                     be  searched in. This is in addition to the standard load
74036                     path and the directories in AUGEAS_LENS_LIB.
74037
74038       salt.modules.augeas_cfg.match(path, value=u'', load_path=None)
74039              Get matches for path expression
74040
74041              CLI Example:
74042
74043                 salt '*' augeas.match /files/etc/services/service-name ssh
74044
74045              path   The path to match
74046
74047              value  The value to match on
74048
74049              New in version 2016.3.0.
74050
74051
74052              load_path
74053                     A colon-spearated list of directories that modules should
74054                     be  searched in. This is in addition to the standard load
74055                     path and the directories in AUGEAS_LENS_LIB.
74056
74057       salt.modules.augeas_cfg.remove(path, load_path=None)
74058              Get matches for path expression
74059
74060              CLI Example:
74061
74062                 salt '*' augeas.remove \
74063                 /files/etc/sysctl.conf/net.ipv4.conf.all.log_martians
74064
74065              path   The path to remove
74066
74067              New in version 2016.3.0.
74068
74069
74070              load_path
74071                     A colon-spearated list of directories that modules should
74072                     be  searched in. This is in addition to the standard load
74073                     path and the directories in AUGEAS_LENS_LIB.
74074
74075       salt.modules.augeas_cfg.setvalue(*args)
74076              Set a value for a specific augeas path
74077
74078              CLI Example:
74079
74080                 salt '*' augeas.setvalue /files/etc/hosts/1/canonical localhost
74081
74082              This will set the first entry in /etc/hosts to localhost
74083
74084              CLI Example:
74085
74086                 salt '*' augeas.setvalue /files/etc/hosts/01/ipaddr 192.168.1.1 \
74087                                          /files/etc/hosts/01/canonical test
74088
74089              Adds a new host to /etc/hosts the  ip  address  192.168.1.1  and
74090              hostname test
74091
74092              CLI Example:
74093
74094                 salt '*' augeas.setvalue prefix=/files/etc/sudoers/ \
74095                          "spec[user = '%wheel']/user" "%wheel" \
74096                          "spec[user = '%wheel']/host_group/host" 'ALL' \
74097                          "spec[user = '%wheel']/host_group/command[1]" 'ALL' \
74098                          "spec[user = '%wheel']/host_group/command[1]/tag" 'PASSWD' \
74099                          "spec[user = '%wheel']/host_group/command[2]" '/usr/bin/apt-get' \
74100                          "spec[user = '%wheel']/host_group/command[2]/tag" NOPASSWD
74101
74102              Ensures that the following line is present in /etc/sudoers:
74103
74104                 %wheel ALL = PASSWD : ALL , NOPASSWD : /usr/bin/apt-get , /usr/bin/aptitude
74105
74106       salt.modules.augeas_cfg.tree(path, load_path=None)
74107              Returns recursively the complete tree of a node
74108
74109              CLI Example:
74110
74111                 salt '*' augeas.tree /files/etc/
74112
74113              path   The base of the recursive listing
74114
74115              New in version 2016.3.0.
74116
74117
74118              load_path
74119                     A colon-spearated list of directories that modules should
74120                     be searched in. This is in addition to the standard  load
74121                     path and the directories in AUGEAS_LENS_LIB.
74122
74123   salt.modules.aws_sqs
74124       Support for the Amazon Simple Queue Service.
74125
74126       salt.modules.aws_sqs.create_queue(name, region, opts=None, user=None)
74127              Creates a queue with the correct name.
74128
74129              name   Name of the SQS queue to create
74130
74131              region Region to create the SQS queue in
74132
74133              opts   None Any additional options to add to the command line
74134
74135              user   None Run hg as a user other than what the minion runs as
74136
74137              CLI Example:
74138                 salt '*' aws_sqs.create_queue <sqs queue> <region>
74139
74140       salt.modules.aws_sqs.delete_message(queue,    region,    receipthandle,
74141       opts=None, user=None)
74142              Delete one or more messages from a queue in a region
74143
74144              queue  The name of the queue to delete messages from
74145
74146              region Region where SQS queues exists
74147
74148              receipthandle
74149                     The  ReceiptHandle  of  the  message   to   delete.   The
74150                     ReceiptHandle is obtained in the return from receive_mes‐
74151                     sage
74152
74153              opts   None Any additional options to add to the command line
74154
74155              user   None Run as a user other than what the minion runs as
74156
74157              CLI Example:
74158
74159                 salt '*' aws_sqs.delete_message <sqs queue> <region> receipthandle='<sqs ReceiptHandle>'
74160
74161              New in version 2014.7.0.
74162
74163
74164       salt.modules.aws_sqs.delete_queue(name, region, opts=None, user=None)
74165              Deletes a queue in the region.
74166
74167              name   Name of the SQS queue to deletes
74168
74169              region Name of the region to delete the queue from
74170
74171              opts   None Any additional options to add to the command line
74172
74173              user   None Run hg as a user other than what the minion runs as
74174
74175              CLI Example:
74176                 salt '*' aws_sqs.delete_queue <sqs queue> <region>
74177
74178       salt.modules.aws_sqs.list_queues(region, opts=None, user=None)
74179              List the queues in the selected region.
74180
74181              region Region to list SQS queues for
74182
74183              opts   None Any additional options to add to the command line
74184
74185              user   None Run hg as a user other than what the minion runs as
74186
74187              CLI Example:
74188                 salt '*' aws_sqs.list_queues <region>
74189
74190       salt.modules.aws_sqs.queue_exists(name, region, opts=None, user=None)
74191              Returns True or False on whether the queue exists in the region
74192
74193              name   Name of the SQS queue to search for
74194
74195              region Name of the region to search for the queue in
74196
74197              opts   None Any additional options to add to the command line
74198
74199              user   None Run hg as a user other than what the minion runs as
74200
74201              CLI Example:
74202                 salt '*' aws_sqs.queue_exists <sqs queue> <region>
74203
74204       salt.modules.aws_sqs.receive_message(queue, region,  num=1,  opts=None,
74205       user=None)
74206              Receive one or more messages from a queue in a region
74207
74208              queue  The name of the queue to receive messages from
74209
74210              region Region where SQS queues exists
74211
74212              num    1 The max number of messages to receive
74213
74214              opts   None Any additional options to add to the command line
74215
74216              user   None Run as a user other than what the minion runs as
74217
74218              CLI Example:
74219
74220                 salt '*' aws_sqs.receive_message <sqs queue> <region>
74221                 salt '*' aws_sqs.receive_message <sqs queue> <region> num=10
74222
74223              New in version 2014.7.0.
74224
74225
74226   salt.modules.bamboohr
74227       Support for BambooHR
74228
74229       New in version 2015.8.0.
74230
74231
74232       Requires a subdomain and an apikey in /etc/salt/minion:
74233
74234       salt.modules.bamboohr.list_employees(order_by=u'id')
74235              Show all employees for this company.
74236
74237              CLI Example:
74238                 salt myminion bamboohr.list_employees
74239
74240              By default, the return data will be keyed by ID. However, it can
74241              be ordered by any other field. Keep in mind that  if  the  field
74242              that  is  chosen  contains  duplicate  values (i.e., location is
74243              used, for a company which only  has  one  location),  then  each
74244              duplicate value will be overwritten by the previous.  Therefore,
74245              it is advisable to only sort by fields that are guaranteed to be
74246              unique.
74247
74248              CLI Examples:
74249                 salt myminion bamboohr.list_employees order_by=id salt mymin‐
74250                 ion bamboohr.list_employees order_by=displayName salt  mymin‐
74251                 ion bamboohr.list_employees order_by=workEmail
74252
74253       salt.modules.bamboohr.list_meta_fields()
74254              Show all meta data fields for this company.
74255
74256              CLI Example:
74257                 salt myminion bamboohr.list_meta_fields
74258
74259       salt.modules.bamboohr.list_users(order_by=u'id')
74260              Show all users for this company.
74261
74262              CLI Example:
74263                 salt myminion bamboohr.list_users
74264
74265              By default, the return data will be keyed by ID. However, it can
74266              be ordered by any other field. Keep in mind that  if  the  field
74267              that  is  chosen  contains  duplicate  values (i.e., location is
74268              used, for a company which only  has  one  location),  then  each
74269              duplicate value will be overwritten by the previous.  Therefore,
74270              it is advisable to only sort by fields that are guaranteed to be
74271              unique.
74272
74273              CLI Examples:
74274                 salt  myminion  bamboohr.list_users order_by=id salt myminion
74275                 bamboohr.list_users order_by=email
74276
74277       salt.modules.bamboohr.show_employee(emp_id, fields=None)
74278              Show all employees for this company.
74279
74280              CLI Example:
74281                 salt myminion bamboohr.show_employee 1138
74282
74283              By   default,   the   fields   normally   returned   from   bam‐
74284              boohr.list_employees are returned. These fields are:
74285
74286                 · canUploadPhoto
74287
74288                 · department
74289
74290                 · displayName
74291
74292                 · firstName
74293
74294                 · id
74295
74296                 · jobTitle
74297
74298                 · lastName
74299
74300                 · location
74301
74302                 · mobilePhone
74303
74304                 · nickname
74305
74306                 · photoUploaded
74307
74308                 · photoUrl
74309
74310                 · workEmail
74311
74312                 · workPhone
74313
74314                 · workPhoneExtension
74315
74316              If needed, a different set of fields may be specified, separated
74317              by commas:
74318
74319              CLI Example:
74320                 salt myminion bamboohr.show_employee 1138 displayName,dateOf‐
74321                 Birth
74322
74323              A    list    of    available    fields    can    be   found   at
74324              http://www.bamboohr.com/api/documentation/employees.php
74325
74326       salt.modules.bamboohr.update_employee(emp_id,   key=None,   value=None,
74327       items=None)
74328              Update  one or more items for this employee. Specifying an empty
74329              value will clear it for that employee.
74330
74331              CLI Examples:
74332                 salt myminion bamboohr.update_employee  1138  nickname  Curly
74333                 salt  myminion bamboohr.update_employee 1138 nickname '' salt
74334                 myminion  bamboohr.update_employee  1138  items='{"nickname":
74335                 "Curly"}    salt   myminion   bamboohr.update_employee   1138
74336                 items='{"nickname": ""}
74337
74338   salt.modules.bcache module
74339       Module for managing BCache sets
74340
74341       BCache is a block-level caching mechanism  similar  to  ZFS  L2ARC/ZIL,
74342       dm-cache  and  fscache.   It  works by formatting one block device as a
74343       cache set, then adding backend devices (which need to be  formatted  as
74344       such) to the set and activating them.
74345
74346       It's available in Linux mainline kernel since 3.10
74347
74348       https://www.kernel.org/doc/Documentation/bcache.txt
74349
74350       This module needs the bcache userspace tools to function.
74351
74352       salt.modules.bcache.attach_(dev=None)
74353              Attach  a backing devices to a cache set If no dev is given, all
74354              backing devices will be attached.
74355
74356              CLI example:
74357
74358                 salt '*' bcache.attach sdc
74359                 salt '*' bcache.attach /dev/bcache1
74360
74361              Returns
74362                     bool or None if nuttin' happened
74363
74364       salt.modules.bcache.back_make(dev,             cache_mode=u'writeback',
74365       force=False, attach=True, bucket_size=None)
74366              Create  a  backing  device for attachment to a set.  Because the
74367              block size must be the same, a cache set already needs to exist.
74368
74369              CLI example:
74370
74371                 salt '*' bcache.back_make sdc cache_mode=writeback attach=True
74372
74373              Parameters
74374
74375                     · cache_mode -- writethrough, writeback,  writearound  or
74376                       none.
74377
74378                     · force -- Overwrite existing bcaches
74379
74380                     · attach  -- Immediately attach the backing device to the
74381                       set
74382
74383                     · bucket_size -- Size of a bucket (see kernel doc)
74384
74385       salt.modules.bcache.cache_make(dev,     reserved=None,     force=False,
74386       block_size=None, bucket_size=None, attach=True)
74387              Create  BCache cache on a block device.  If blkdiscard is avail‐
74388              able the entire device will be properly cleared in advance.
74389
74390              CLI example:
74391
74392                 salt '*' bcache.cache_make sdb reserved=10% block_size=4096
74393
74394              Parameters
74395
74396                     · reserved --
74397
74398                       if dev is a full device, create a partition table  with
74399                       this size empty.
74400
74401                       NOTE:
74402                          this  increases  the amount of reserved space avail‐
74403                          able to SSD garbage collectors, potentially (vastly)
74404                          increasing performance
74405
74406
74407                     · block_size  --  Block  size  of  the cache; defaults to
74408                       devices' logical block size
74409
74410                     · force -- Overwrite existing BCache sets
74411
74412                     · attach -- Attach all existing backend  devices  immedi‐
74413                       ately
74414
74415       salt.modules.bcache.config_(dev=None, **kwargs)
74416              Show or update config of a bcache device.
74417
74418              If no device is given, operate on the cache set itself.
74419
74420              CLI example:
74421
74422                 salt '*' bcache.config
74423                 salt '*' bcache.config bcache1
74424                 salt '*' bcache.config errors=panic journal_delay_ms=150
74425                 salt '*' bcache.config bcache1 cache_mode=writeback writeback_percent=15
74426
74427              Returns
74428                     config or True/False
74429
74430       salt.modules.bcache.detach(dev=None)
74431              Detach  a backing device(s) from a cache set If no dev is given,
74432              all backing devices will be attached.
74433
74434              Detaching a backing device will flush it's  write  cache.   This
74435              should  leave  the  underlying device in a consistent state, but
74436              might take a while.
74437
74438              CLI example:
74439
74440                 salt '*' bcache.detach sdc
74441                 salt '*' bcache.detach bcache1
74442
74443       salt.modules.bcache.device(dev,   stats=False,   config=False,   inter‐
74444       nals=False, superblock=False)
74445              Check the state of a single bcache device
74446
74447              CLI example:
74448
74449                 salt '*' bcache.device bcache0
74450                 salt '*' bcache.device /dev/sdc stats=True
74451
74452              Parameters
74453
74454                     · stats -- include statistics
74455
74456                     · settings -- include all settings
74457
74458                     · internals -- include all internals
74459
74460                     · superblock -- include superblock info
74461
74462       salt.modules.bcache.start()
74463              Trigger a start of the full bcache system through udev.
74464
74465              CLI example:
74466
74467                 salt '*' bcache.start
74468
74469       salt.modules.bcache.status(stats=False,  config=False, internals=False,
74470       superblock=False, alldevs=False)
74471              Show the full status of the BCache  system  and  optionally  all
74472              it's involved devices
74473
74474              CLI example:
74475
74476                 salt '*' bcache.status
74477                 salt '*' bcache.status stats=True
74478                 salt '*' bcache.status internals=True alldevs=True
74479
74480              Parameters
74481
74482                     · stats -- include statistics
74483
74484                     · config -- include settings
74485
74486                     · internals -- include internals
74487
74488                     · superblock -- include superblock
74489
74490       salt.modules.bcache.stop(dev=None)
74491              Stop  a bcache device If no device is given, all backing devices
74492              will be detached from the  cache,  which  will  subsequently  be
74493              stopped.
74494
74495              WARNING:
74496                 'Stop'  on  an  individual backing device means hard-stop; no
74497                 attempt at flushing will be done and the bcache  device  will
74498                 seemingly 'disappear' from the device lists
74499
74500              CLI example:
74501
74502                 salt '*' bcache.stop
74503
74504       salt.modules.bcache.super_(dev)
74505              Read out BCache SuperBlock
74506
74507              CLI example:
74508
74509                 salt '*' bcache.device bcache0
74510                 salt '*' bcache.device /dev/sdc
74511
74512       salt.modules.bcache.uuid(dev=None)
74513              Return  the  bcache  UUID  of  a  block device.  If no device is
74514              given, the Cache UUID is returned.
74515
74516              CLI example:
74517
74518                 salt '*' bcache.uuid
74519                 salt '*' bcache.uuid /dev/sda
74520                 salt '*' bcache.uuid bcache0
74521
74522   salt.modules.beacons
74523       Module for managing the Salt beacons on a minion
74524
74525       New in version 2015.8.0.
74526
74527
74528       salt.modules.beacons.add(name, beacon_data, **kwargs)
74529              Add a beacon on the minion
74530
74531              Parameters
74532
74533                     · name -- Name of the beacon to configure
74534
74535                     · beacon_data -- Dictionary or list containing configura‐
74536                       tion for beacon.
74537
74538              Returns
74539                     Boolean and status message on success or failure of add.
74540
74541              CLI Example:
74542
74543                 salt '*' beacons.add ps "[{'salt-master': 'stopped'}, {'apache2': 'stopped'}]"
74544
74545       salt.modules.beacons.delete(name, **kwargs)
74546              Delete a beacon item
74547
74548              Parameters
74549                     name -- Name of the beacon to delete
74550
74551              Returns
74552                     Boolean  and  status  message  on  success  or failure of
74553                     delete.
74554
74555              CLI Example:
74556
74557                 salt '*' beacons.delete ps
74558
74559                 salt '*' beacons.delete load
74560
74561       salt.modules.beacons.disable(**kwargs)
74562              Disable all beaconsd jobs on the minion
74563
74564              Returns
74565                     Boolean and status message on success or failure of  dis‐
74566                     able.
74567
74568              CLI Example:
74569
74570                 salt '*' beacons.disable
74571
74572       salt.modules.beacons.disable_beacon(name, **kwargs)
74573              Disable beacon on the minion
74574
74575              Name   Name of the beacon to disable.
74576
74577              Returns
74578                     Boolean  and status message on success or failure of dis‐
74579                     able.
74580
74581              CLI Example:
74582
74583                 salt '*' beacons.disable_beacon ps
74584
74585       salt.modules.beacons.enable(**kwargs)
74586              Enable all beacons on the minion
74587
74588              Returns
74589                     Boolean and status  message  on  success  or  failure  of
74590                     enable.
74591
74592              CLI Example:
74593
74594                 salt '*' beacons.enable
74595
74596       salt.modules.beacons.enable_beacon(name, **kwargs)
74597              Enable beacon on the minion
74598
74599              Name   Name of the beacon to enable.
74600
74601              Returns
74602                     Boolean  and  status  message  on  success  or failure of
74603                     enable.
74604
74605              CLI Example:
74606
74607                 salt '*' beacons.enable_beacon ps
74608
74609       salt.modules.beacons.list_(return_yaml=True,       include_pillar=True,
74610       include_opts=True)
74611              List the beacons currently configured on the minion
74612
74613              Parameters
74614
74615                     · return_yaml -- Whether to return YAML formatted output,
74616                       default True
74617
74618                     · include_pillar -- Whether to include beacons  that  are
74619                       configured in pillar, default is True.
74620
74621                     · include_opts  --  Whether  to  include beacons that are
74622                       configured in opts, default is True.
74623
74624              Returns
74625                     List of currently configured Beacons.
74626
74627              CLI Example:
74628
74629                 salt '*' beacons.list
74630
74631       salt.modules.beacons.list_available(return_yaml=True)
74632              List the beacons currently available on the minion
74633
74634              Parameters
74635                     return_yaml -- Whether to return YAML  formatted  output,
74636                     default True
74637
74638              Returns
74639                     List of currently configured Beacons.
74640
74641              CLI Example:
74642
74643                 salt '*' beacons.list_available
74644
74645       salt.modules.beacons.modify(name, beacon_data, **kwargs)
74646              Modify an existing beacon
74647
74648              Parameters
74649
74650                     · name -- Name of the beacon to configure
74651
74652                     · beacon_data  --  Dictionary  or list containing updated
74653                       configuration for beacon.
74654
74655              Returns
74656                     Boolean and status message on success or failure of  mod‐
74657                     ify.
74658
74659              CLI Example:
74660
74661                 salt '*' beacons.modify ps "[{'salt-master': 'stopped'}, {'apache2': 'stopped'}]"
74662
74663       salt.modules.beacons.reset(**kwargs)
74664              Resest beacon configuration on the minion
74665
74666              CLI Example:
74667
74668                 salt '*' beacons.reset
74669
74670       salt.modules.beacons.save()
74671              Save all beacons on the minion
74672
74673              Returns
74674                     Boolean and status message on success or failure of save.
74675
74676              CLI Example:
74677
74678                 salt '*' beacons.save
74679
74680   salt.modules.bigip
74681       An execution module which can manipulate an f5 bigip via iControl REST
74682
74683              maturity
74684                     develop
74685
74686              platform
74687                     f5_bigip_11.6
74688
74689       salt.modules.bigip.add_pool_member(hostname,  username, password, name,
74690       member)
74691              A function to connect to a bigip device and add a new member  to
74692              an existing pool.
74693
74694              hostname
74695                     The host/address of the bigip device
74696
74697              username
74698                     The iControl REST username
74699
74700              password
74701                     The iControl REST password
74702
74703              name   The name of the pool to modify
74704
74705              member The name of the member to add i.e. 10.1.1.2:80
74706
74707              CLI Example:
74708
74709                 salt '*' bigip.add_pool_members bigip admin admin my-pool 10.2.2.1:80
74710
74711       salt.modules.bigip.commit_transaction(hostname,   username,   password,
74712       label)
74713              A function to connect to a bigip device and commit  an  existing
74714              transaction.
74715
74716              hostname
74717                     The host/address of the bigip device
74718
74719              username
74720                     The iControl REST username
74721
74722              password
74723                     The iControl REST password
74724
74725              label  the  label  of  this transaction stored within the grain:
74726                     bigip_f5_trans:<label>
74727
74728              CLI Example:
74729
74730                 salt '*' bigip.commit_transaction bigip admin admin my_transaction
74731
74732       salt.modules.bigip.create_monitor(hostname, username,  password,  moni‐
74733       tor_type, name, **kwargs)
74734              A function to connect to a bigip device and create a monitor.
74735
74736              hostname
74737                     The host/address of the bigip device
74738
74739              username
74740                     The iControl REST username
74741
74742              password
74743                     The iControl REST password
74744
74745              monitor_type
74746                     The type of monitor to create
74747
74748              name   The name of the monitor to create
74749
74750              kwargs Consult F5 BIGIP user guide for specific options for each
74751                     monitor type.  Typically, tmsh arg names are used.
74752
74753              CLI Example:
74754
74755                 salt '*' bigip.create_monitor bigip admin admin http my-http-monitor timeout=10 interval=5
74756
74757       salt.modules.bigip.create_node(hostname,  username,   password,   name,
74758       address, trans_label=None)
74759              A function to connect to a bigip device and create a node.
74760
74761              hostname
74762                     The host/address of the bigip device
74763
74764              username
74765                     The iControl REST username
74766
74767              password
74768                     The iControl REST password
74769
74770              name   The name of the node
74771
74772              address
74773                     The address of the node
74774
74775              trans_label
74776                     The  label  of  the  transaction stored within the grain:
74777                     bigip_f5_trans:<label>
74778
74779              CLI Example:
74780
74781                 salt '*' bigip.create_node bigip admin admin 10.1.1.2
74782
74783       salt.modules.bigip.create_pool(hostname, username, password, name, mem‐
74784       bers=None,  allow_nat=None,  allow_snat=None,  description=None,  gate‐
74785       way_failsafe_device=None,                 ignore_persisted_weight=None,
74786       ip_tos_to_client=None,  ip_tos_to_server=None, link_qos_to_client=None,
74787       link_qos_to_server=None,   load_balancing_mode=None,    min_active_mem‐
74788       bers=None, min_up_members=None, min_up_members_action=None, min_up_mem‐
74789       bers_checking=None,            monitor=None,             profiles=None,
74790       queue_depth_limit=None,                 queue_on_connection_limit=None,
74791       queue_time_limit=None,  reselect_tries=None,  service_down_action=None,
74792       slow_ramp_time=None)
74793              A function to connect to a bigip device and create a pool.
74794
74795              hostname
74796                     The host/address of the bigip device
74797
74798              username
74799                     The iControl REST username
74800
74801              password
74802                     The iControl REST password
74803
74804              name   The name of the pool to create.
74805
74806              members
74807                     List  of comma delimited pool members to add to the pool.
74808                     i.e. 10.1.1.1:80,10.1.1.2:80,10.1.1.3:80
74809
74810              allow_nat
74811                     [yes | no]
74812
74813              allow_snat
74814                     [yes | no]
74815
74816              description
74817                     [string]
74818
74819              gateway_failsafe_device
74820                     [string]
74821
74822              ignore_persisted_weight
74823                     [enabled | disabled]
74824
74825              ip_tos_to_client
74826                     [pass-through | [integer]]
74827
74828              ip_tos_to_server
74829                     [pass-through | [integer]]
74830
74831              link_qos_to_client
74832                     [pass-through | [integer]]
74833
74834              link_qos_to_server
74835                     [pass-through | [integer]]
74836
74837              load_balancing_mode
74838                     [dynamic-ratio-member     |     dynamic-ratio-node      |
74839                     fastest-app-response   |   fastest-node  |  least-connec‐
74840                     tions-members | least-connections-node | least-sessions |
74841                     observed-member  |  observed-node  |  predictive-member |
74842                     predictive-node   |   ratio-least-connections-member    |
74843                     ratio-least-connections-node  | ratio-member | ratio-node
74844                     | ratio-session |  round-robin  |  weighted-least-connec‐
74845                     tions-member | weighted-least-connections-node]
74846
74847              min_active_members
74848                     [integer]
74849
74850              min_up_members
74851                     [integer]
74852
74853              min_up_members_action
74854                     [failover | reboot | restart-all]
74855
74856              min_up_members_checking
74857                     [enabled | disabled]
74858
74859              monitor
74860                     [name]
74861
74862              profiles
74863                     [none | profile_name]
74864
74865              queue_depth_limit
74866                     [integer]
74867
74868              queue_on_connection_limit
74869                     [enabled | disabled]
74870
74871              queue_time_limit
74872                     [integer]
74873
74874              reselect_tries
74875                     [integer]
74876
74877              service_down_action
74878                     [drop | none | reselect | reset]
74879
74880              slow_ramp_time
74881                     [integer]
74882
74883              CLI Example:
74884
74885                 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
74886
74887       salt.modules.bigip.create_profile(hostname,  username,  password,  pro‐
74888       file_type, name, **kwargs)
74889              A function to connect to a bigip device and create a profile.
74890
74891              hostname
74892                     The host/address of the bigip device
74893
74894              username
74895                     The iControl REST username
74896
74897              password
74898                     The iControl REST password
74899
74900              profile_type
74901                     The type of profile to create
74902
74903              name   The name of the profile to create
74904
74905              kwargs [ arg=val ] ... [arg=key1:val1,key2:val2] ...
74906
74907                     Consult F5 BIGIP user guide for specific options for each
74908                     monitor type.  Typically, tmsh arg names are used.
74909
74910              Creating Complex Args
74911                     Profiles  can  get  pretty  complicated  in  terms of the
74912                     amount of possible  config  options.  Use  the  following
74913                     shorthand to create complex arguments such as lists, dic‐
74914                     tionaries, and lists of dictionaries. An option  is  also
74915                     provided to pass raw json as well.
74916
74917                     lists [i,i,i]:
74918                            param='item1,item2,item3'
74919
74920                     Dictionary [k:v,k:v,k,v]:
74921                            param='key-1:val-1,key-2:val2,key-3:va-3'
74922
74923                     List of Dictionaries [k:v,k:v|k:v,k:v|k:v,k:v]:
74924                            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'
74925
74926                     JSON: 'j{ ... }j':
74927                            cert-key-chain='j{    "default":     {     "cert":
74928                            "default.crt",   "chain":   "default.crt",  "key":
74929                            "default.key" } }j'
74930
74931                     Escaping Delimiters:
74932                            Use \, or \: or  \|  to  escape  characters  which
74933                            shouldn't    be   treated   as   delimiters   i.e.
74934                            ciphers='DEFAULT\:!SSLv3'
74935
74936              CLI Examples:
74937
74938                 salt '*' bigip.create_profile bigip admin admin http my-http-profile defaultsFrom='/Common/http'
74939                 salt '*' bigip.create_profile bigip admin admin http my-http-profile defaultsFrom='/Common/http' \
74940                     enforcement=maxHeaderCount:3200,maxRequests:10
74941
74942       salt.modules.bigip.create_virtual(hostname, username,  password,  name,
74943       destination,    pool=None,    address_status=None,   auto_lasthop=None,
74944       bwc_policy=None,        cmp_enabled=None,        connection_limit=None,
74945       dhcp_relay=None,      description=None,      fallback_persistence=None,
74946       flow_eviction_policy=None, gtm_score=None,  ip_forward=None,  ip_proto‐
74947       col=None,   internal=None,   twelve_forward=None,   last_hop_pool=None,
74948       mask=None, mirror=None, nat64=None, persist=None, profiles=None,  poli‐
74949       cies=None,   rate_class=None,   rate_limit=None,  rate_limit_mode=None,
74950       rate_limit_dst=None,          rate_limit_src=None,          rules=None,
74951       related_rules=None,  reject=None,  source=None, source_address_transla‐
74952       tion=None, source_port=None, state=None,  traffic_classes=None,  trans‐
74953       late_address=None, translate_port=None, vlans=None)
74954              A  function  to  connect  to a bigip device and create a virtual
74955              server.
74956
74957              hostname
74958                     The host/address of the bigip device
74959
74960              username
74961                     The iControl REST username
74962
74963              password
74964                     The iControl REST password
74965
74966              name   The name of the virtual to create
74967
74968              destination
74969                     [ [virtual_address_name:port] | [ipv4:port] | [ipv6.port]
74970                     ]
74971
74972              pool   [ [pool_name] | none]
74973
74974              address_status
74975                     [yes | no]
74976
74977              auto_lasthop
74978                     [default | enabled | disabled ]
74979
74980              bwc_policy
74981                     [none] | string]
74982
74983              cmp_enabled
74984                     [yes | no]
74985
74986              dhcp_relay
74987                     [yes | no]
74988
74989              connection_limit
74990                     [integer]
74991
74992              description
74993                     [string]
74994
74995              state  [disabled | enabled]
74996
74997              fallback_persistence
74998                     [none | [profile name] ]
74999
75000              flow_eviction_policy
75001                     [none | [eviction policy name] ]
75002
75003              gtm_score
75004                     [integer]
75005
75006              ip_forward
75007                     [yes | no]
75008
75009              ip_protocol
75010                     [any | protocol]
75011
75012              internal
75013                     [yes | no]
75014
75015              twelve_forward
75016                     (12-forward) [yes | no]
75017
75018              last_hop-pool
75019                     [ [pool_name] | none]
75020
75021              mask   { [ipv4] | [ipv6] }
75022
75023              mirror { [disabled | enabled | none] }
75024
75025              nat64  [enabled | disabled]
75026
75027              persist
75028                     [none | profile1,profile2,profile3 ... ]
75029
75030              profiles
75031                     [none | default | profile1,profile2,profile3 ... ]
75032
75033              policies
75034                     [none | default | policy1,policy2,policy3 ... ]
75035
75036              rate_class
75037                     [name]
75038
75039              rate_limit
75040                     [integer]
75041
75042              rate_limit_mode
75043                     [destination    |    object    |   object-destination   |
75044                     object-source  |  object-source-destination  |  source  |
75045                     source-destination]
75046
75047              rate_limit_dst
75048                     [integer]
75049
75050              rate_limitçsrc
75051                     [integer]
75052
75053              rules  [none | [rule_one,rule_two ...] ]
75054
75055              related_rules
75056                     [none | [rule_one,rule_two ...] ]
75057
75058              reject [yes | no]
75059
75060              source { [ipv4[/prefixlen]] | [ipv6[/prefixlen]] }
75061
75062              source_address_translation
75063                     [none | snat:pool_name | lsn | automap ]
75064
75065              source_port
75066                     [change | preserve | preserve-strict]
75067
75068              state  [enabled | disabled]
75069
75070              traffic_classes
75071                     [none | default | class_one,class_two ... ]
75072
75073              translate_address
75074                     [enabled | disabled]
75075
75076              translate_port
75077                     [enabled | disabled]
75078
75079              vlans  [none  |  default  | [enabled|disabled]:vlan1,vlan2,vlan3
75080                     ... ]
75081
75082              CLI Examples:
75083
75084                 salt '*' bigip.create_virtual bigip admin admin my-virtual-3 26.2.2.5:80 \
75085                     pool=my-http-pool-http profiles=http,tcp
75086
75087                 salt '*' bigip.create_virtual bigip admin admin my-virtual-3 43.2.2.5:80 \
75088                     pool=test-http-pool-http profiles=http,websecurity persist=cookie,hash \
75089                     policies=asm_auto_l7_policy__http-virtual \
75090                     rules=_sys_APM_ExchangeSupport_helper,_sys_https_redirect \
75091                     related_rules=_sys_APM_activesync,_sys_APM_ExchangeSupport_helper \
75092                     source_address_translation=snat:my-snat-pool \
75093                     translate_address=enabled translate_port=enabled \
75094                     traffic_classes=my-class,other-class \
75095                     vlans=enabled:external,internal
75096
75097       salt.modules.bigip.delete_monitor(hostname, username,  password,  moni‐
75098       tor_type, name)
75099              A  function  to connect to a bigip device and delete an existing
75100              monitor.
75101
75102              hostname
75103                     The host/address of the bigip device
75104
75105              username
75106                     The iControl REST username
75107
75108              password
75109                     The iControl REST password
75110
75111              monitor_type
75112                     The type of monitor to delete
75113
75114              name   The name of the monitor to delete
75115
75116              CLI Example:
75117
75118                 salt '*' bigip.delete_monitor bigip admin admin http my-http-monitor
75119
75120       salt.modules.bigip.delete_node(hostname,  username,   password,   name,
75121       trans_label=None)
75122              A  function  to  connect to a bigip device and delete a specific
75123              node.
75124
75125              hostname
75126                     The host/address of the bigip device
75127
75128              username
75129                     The iControl REST username
75130
75131              password
75132                     The iControl REST password
75133
75134              name   The name of the node which will be deleted.
75135
75136              trans_label
75137                     The label of the transaction  stored  within  the  grain:
75138                     bigip_f5_trans:<label>
75139
75140              CLI Example:
75141
75142                 salt '*' bigip.delete_node bigip admin admin my-node
75143
75144       salt.modules.bigip.delete_pool(hostname, username, password, name)
75145              A  function  to  connect to a bigip device and delete a specific
75146              pool.
75147
75148              hostname
75149                     The host/address of the bigip device
75150
75151              username
75152                     The iControl REST username
75153
75154              password
75155                     The iControl REST password
75156
75157              name   The name of the pool which will be deleted
75158
75159              CLI Example:
75160
75161                 salt '*' bigip.delete_node bigip admin admin my-pool
75162
75163       salt.modules.bigip.delete_pool_member(hostname,   username,   password,
75164       name, member)
75165              A  function  to  connect to a bigip device and delete a specific
75166              pool.
75167
75168              hostname
75169                     The host/address of the bigip device
75170
75171              username
75172                     The iControl REST username
75173
75174              password
75175                     The iControl REST password
75176
75177              name   The name of the pool to modify
75178
75179              member The name of the pool member to delete
75180
75181              CLI Example:
75182
75183                 salt '*' bigip.delete_pool_member bigip admin admin my-pool 10.2.2.2:80
75184
75185       salt.modules.bigip.delete_profile(hostname,  username,  password,  pro‐
75186       file_type, name)
75187              A  function  to connect to a bigip device and delete an existing
75188              profile.
75189
75190              hostname
75191                     The host/address of the bigip device
75192
75193              username
75194                     The iControl REST username
75195
75196              password
75197                     The iControl REST password
75198
75199              profile_type
75200                     The type of profile to delete
75201
75202              name   The name of the profile to delete
75203
75204              CLI Example:
75205
75206                 salt '*' bigip.delete_profile bigip admin admin http my-http-profile
75207
75208       salt.modules.bigip.delete_transaction(hostname,   username,   password,
75209       label)
75210              A  function  to connect to a bigip device and delete an existing
75211              transaction.
75212
75213              hostname
75214                     The host/address of the bigip device
75215
75216              username
75217                     The iControl REST username
75218
75219              password
75220                     The iControl REST password
75221
75222              label  The label of this transaction stored  within  the  grain:
75223                     bigip_f5_trans:<label>
75224
75225              CLI Example:
75226
75227                 salt '*' bigip.delete_transaction bigip admin admin my_transaction
75228
75229       salt.modules.bigip.delete_virtual(hostname, username, password, name)
75230              A  function  to  connect to a bigip device and delete a specific
75231              virtual.
75232
75233              hostname
75234                     The host/address of the bigip device
75235
75236              username
75237                     The iControl REST username
75238
75239              password
75240                     The iControl REST password
75241
75242              name   The name of the virtual to delete
75243
75244              CLI Example:
75245
75246                 salt '*' bigip.delete_virtual bigip admin admin my-virtual
75247
75248       salt.modules.bigip.list_monitor(hostname,  username,  password,   moni‐
75249       tor_type, name=None)
75250              A  function  to  connect  to a bigip device and list an existing
75251              monitor.  If no name is provided than all monitors of the speci‐
75252              fied type will be listed.
75253
75254              hostname
75255                     The host/address of the bigip device
75256
75257              username
75258                     The iControl REST username
75259
75260              password
75261                     The iControl REST password
75262
75263              monitor_type
75264                     The type of monitor(s) to list
75265
75266              name   The name of the monitor to list
75267
75268              CLI Example:
75269
75270                 salt '*' bigip.list_monitor bigip admin admin http my-http-monitor
75271
75272       salt.modules.bigip.list_node(hostname,  username,  password, name=None,
75273       trans_label=None)
75274              A function to connect to a bigip device and list all nodes or  a
75275              specific node.
75276
75277              hostname
75278                     The host/address of the bigip device
75279
75280              username
75281                     The iControl REST username
75282
75283              password
75284                     The iControl REST password
75285
75286              name   The  name  of  the  node to list. If no name is specified
75287                     than all nodes will be listed.
75288
75289              trans_label
75290                     The label of the transaction  stored  within  the  grain:
75291                     bigip_f5_trans:<label>
75292
75293              CLI Example:
75294
75295                 salt '*' bigip.list_node bigip admin admin my-node
75296
75297       salt.modules.bigip.list_pool(hostname, username, password, name=None)
75298              A  function to connect to a bigip device and list all pools or a
75299              specific pool.
75300
75301              hostname
75302                     The host/address of the bigip device
75303
75304              username
75305                     The iControl REST username
75306
75307              password
75308                     The iControl REST password
75309
75310              name   The name of the pool to list. If  no  name  is  specified
75311                     then all pools will be listed.
75312
75313              CLI Example:
75314
75315                 salt '*' bigip.list_pool bigip admin admin my-pool
75316
75317       salt.modules.bigip.list_profile(hostname,   username,   password,  pro‐
75318       file_type, name=None)
75319              A function to connect to a bigip device  and  list  an  existing
75320              profile.  If no name is provided than all profiles of the speci‐
75321              fied type will be listed.
75322
75323              hostname
75324                     The host/address of the bigip device
75325
75326              username
75327                     The iControl REST username
75328
75329              password
75330                     The iControl REST password
75331
75332              profile_type
75333                     The type of profile(s) to list
75334
75335              name   The name of the profile to list
75336
75337              CLI Example:
75338
75339                 salt '*' bigip.list_profile bigip admin admin http my-http-profile
75340
75341       salt.modules.bigip.list_transaction(hostname,    username,    password,
75342       label)
75343              A  function  to  connect  to a bigip device and list an existing
75344              transaction.
75345
75346              hostname
75347                     The host/address of the bigip device
75348
75349              username
75350                     The iControl REST username
75351
75352              password
75353                     The iControl REST password
75354
75355              label  the label of this transaction stored  within  the  grain:
75356                     bigip_f5_trans:<label>
75357
75358              CLI Example:
75359
75360                 salt '*' bigip.list_transaction bigip admin admin my_transaction
75361
75362       salt.modules.bigip.list_virtual(hostname,      username,      password,
75363       name=None)
75364              A function to connect to a bigip device and list all virtuals or
75365              a specific virtual.
75366
75367              hostname
75368                     The host/address of the bigip device
75369
75370              username
75371                     The iControl REST username
75372
75373              password
75374                     The iControl REST password
75375
75376              name   The  name of the virtual to list. If no name is specified
75377                     than all virtuals will be listed.
75378
75379              CLI Example:
75380
75381                 salt '*' bigip.list_virtual bigip admin admin my-virtual
75382
75383       salt.modules.bigip.modify_monitor(hostname, username,  password,  moni‐
75384       tor_type, name, **kwargs)
75385              A  function  to connect to a bigip device and modify an existing
75386              monitor.
75387
75388              hostname
75389                     The host/address of the bigip device
75390
75391              username
75392                     The iControl REST username
75393
75394              password
75395                     The iControl REST password
75396
75397              monitor_type
75398                     The type of monitor to modify
75399
75400              name   The name of the monitor to modify
75401
75402              kwargs Consult F5 BIGIP user guide for specific options for each
75403                     monitor type.  Typically, tmsh arg names are used.
75404
75405              CLI Example:
75406
75407                 salt '*' bigip.modify_monitor bigip admin admin http my-http-monitor  timout=16 interval=6
75408
75409       salt.modules.bigip.modify_node(hostname, username, password, name, con‐
75410       nection_limit=None, description=None, dynamic_ratio=None, logging=None,
75411       monitor=None,  rate_limit=None,  ratio=None,  session=None, state=None,
75412       trans_label=None)
75413              A function to connect to a bigip device and modify  an  existing
75414              node.
75415
75416              hostname
75417                     The host/address of the bigip device
75418
75419              username
75420                     The iControl REST username
75421
75422              password
75423                     The iControl REST password
75424
75425              name   The name of the node to modify
75426
75427              connection_limit
75428                     [integer]
75429
75430              description
75431                     [string]
75432
75433              dynamic_ratio
75434                     [integer]
75435
75436              logging
75437                     [enabled | disabled]
75438
75439              monitor
75440                     [[name] | none | default]
75441
75442              rate_limit
75443                     [integer]
75444
75445              ratio  [integer]
75446
75447              session
75448                     [user-enabled | user-disabled]
75449
75450              state  [user-down | user-up ]
75451
75452              trans_label
75453                     The  label  of  the  transaction stored within the grain:
75454                     bigip_f5_trans:<label>
75455
75456              CLI Example:
75457
75458                 salt '*' bigip.modify_node bigip admin admin 10.1.1.2 ratio=2 logging=enabled
75459
75460       salt.modules.bigip.modify_pool(hostname,  username,   password,   name,
75461       allow_nat=None,    allow_snat=None,   description=None,   gateway_fail‐
75462       safe_device=None, ignore_persisted_weight=None,  ip_tos_to_client=None,
75463       ip_tos_to_server=None,                         link_qos_to_client=None,
75464       link_qos_to_server=None,   load_balancing_mode=None,    min_active_mem‐
75465       bers=None, min_up_members=None, min_up_members_action=None, min_up_mem‐
75466       bers_checking=None,            monitor=None,             profiles=None,
75467       queue_depth_limit=None,                 queue_on_connection_limit=None,
75468       queue_time_limit=None,  reselect_tries=None,  service_down_action=None,
75469       slow_ramp_time=None)
75470              A  function  to connect to a bigip device and modify an existing
75471              pool.
75472
75473              hostname
75474                     The host/address of the bigip device
75475
75476              username
75477                     The iControl REST username
75478
75479              password
75480                     The iControl REST password
75481
75482              name   The name of the pool to modify.
75483
75484              allow_nat
75485                     [yes | no]
75486
75487              allow_snat
75488                     [yes | no]
75489
75490              description
75491                     [string]
75492
75493              gateway_failsafe_device
75494                     [string]
75495
75496              ignore_persisted_weight
75497                     [yes | no]
75498
75499              ip_tos_to_client
75500                     [pass-through | [integer]]
75501
75502              ip_tos_to_server
75503                     [pass-through | [integer]]
75504
75505              link_qos_to_client
75506                     [pass-through | [integer]]
75507
75508              link_qos_to_server
75509                     [pass-through | [integer]]
75510
75511              load_balancing_mode
75512                     [dynamic-ratio-member     |     dynamic-ratio-node      |
75513                     fastest-app-response   |   fastest-node  |  least-connec‐
75514                     tions-members | least-connections-node | least-sessions |
75515                     observed-member  |  observed-node  |  predictive-member |
75516                     predictive-node   |   ratio-least-connections-member    |
75517                     ratio-least-connections-node  | ratio-member | ratio-node
75518                     | ratio-session |  round-robin  |  weighted-least-connec‐
75519                     tions-member | weighted-least-connections-node]
75520
75521              min_active_members
75522                     [integer]
75523
75524              min_up_members
75525                     [integer]
75526
75527              min_up_members_action
75528                     [failover | reboot | restart-all]
75529
75530              min_up_members_checking
75531                     [enabled | disabled]
75532
75533              monitor
75534                     [name]
75535
75536              profiles
75537                     [none | profile_name]
75538
75539              queue_on_connection_limit
75540                     [enabled | disabled]
75541
75542              queue_depth_limit
75543                     [integer]
75544
75545              queue_time_limit
75546                     [integer]
75547
75548              reselect_tries
75549                     [integer]
75550
75551              service_down_action
75552                     [drop | none | reselect | reset]
75553
75554              slow_ramp_time
75555                     [integer]
75556
75557              CLI Example:
75558
75559                 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
75560
75561       salt.modules.bigip.modify_pool_member(hostname,   username,   password,
75562       name,      member,       connection_limit=None,       description=None,
75563       dynamic_ratio=None,  inherit_profile=None,  logging=None, monitor=None,
75564       priority_group=None, profiles=None, rate_limit=None,  ratio=None,  ses‐
75565       sion=None, state=None)
75566              A  function  to connect to a bigip device and modify an existing
75567              member of a pool.
75568
75569              hostname
75570                     The host/address of the bigip device
75571
75572              username
75573                     The iControl REST username
75574
75575              password
75576                     The iControl REST password
75577
75578              name   The name of the pool to modify
75579
75580              member The name of the member to modify i.e. 10.1.1.2:80
75581
75582              connection_limit
75583                     [integer]
75584
75585              description
75586                     [string]
75587
75588              dynamic_ratio
75589                     [integer]
75590
75591              inherit_profile
75592                     [enabled | disabled]
75593
75594              logging
75595                     [enabled | disabled]
75596
75597              monitor
75598                     [name]
75599
75600              priority_group
75601                     [integer]
75602
75603              profiles
75604                     [none | profile_name]
75605
75606              rate_limit
75607                     [integer]
75608
75609              ratio  [integer]
75610
75611              session
75612                     [user-enabled | user-disabled]
75613
75614              state  [ user-up | user-down ]
75615
75616              CLI Example:
75617
75618                 salt '*' bigip.modify_pool_member bigip admin admin my-pool 10.2.2.1:80 state=use-down session=user-disabled
75619
75620       salt.modules.bigip.modify_profile(hostname,  username,  password,  pro‐
75621       file_type, name, **kwargs)
75622              A function to connect to a bigip device and create a profile.
75623
75624              A function to connect to a bigip device and create a profile.
75625
75626              hostname
75627                     The host/address of the bigip device
75628
75629              username
75630                     The iControl REST username
75631
75632              password
75633                     The iControl REST password
75634
75635              profile_type
75636                     The type of profile to create
75637
75638              name   The name of the profile to create
75639
75640              kwargs [ arg=val ] ... [arg=key1:val1,key2:val2] ...
75641
75642                     Consult F5 BIGIP user guide for specific options for each
75643                     monitor type.  Typically, tmsh arg names are used.
75644
75645              Creating Complex Args
75646                 Profiles can get pretty complicated in terms of the amount of
75647                 possible  config options. Use the following shorthand to cre‐
75648                 ate complex arguments such as lists, dictionaries, and  lists
75649                 of  dictionaries. An option is also provided to pass raw json
75650                 as well.
75651
75652                 lists [i,i,i]:
75653                        param='item1,item2,item3'
75654
75655                 Dictionary [k:v,k:v,k,v]:
75656                        param='key-1:val-1,key-2:val2,key-3:va-3'
75657
75658                 List of Dictionaries [k:v,k:v|k:v,k:v|k:v,k:v]:
75659                        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'
75660
75661                 JSON: 'j{ ... }j':
75662                        cert-key-chain='j{ "default": { "cert": "default.crt",
75663                        "chain": "default.crt", "key": "default.key" } }j'
75664
75665                 Escaping Delimiters:
75666                        Use  \,  or  \:  or  \|  to  escape  characters  which
75667                        shouldn't    be    treated    as    delimiters    i.e.
75668                        ciphers='DEFAULT\:!SSLv3'
75669
75670              CLI Examples:
75671
75672                 salt '*' bigip.modify_profile bigip admin admin http my-http-profile defaultsFrom='/Common/http'
75673
75674                 salt '*' bigip.modify_profile bigip admin admin http my-http-profile defaultsFrom='/Common/http' \
75675                     enforcement=maxHeaderCount:3200,maxRequests:10
75676
75677                 salt '*' bigip.modify_profile bigip admin admin client-ssl my-client-ssl-1 retainCertificate=false \
75678                     ciphers='DEFAULT\:!SSLv3'
75679                     cert_key_chain='j{ "default": { "cert": "default.crt", "chain": "default.crt", "key": "default.key" } }j'
75680
75681       salt.modules.bigip.modify_virtual(hostname, username,  password,  name,
75682       destination=None,  pool=None,  address_status=None,  auto_lasthop=None,
75683       bwc_policy=None,        cmp_enabled=None,        connection_limit=None,
75684       dhcp_relay=None,      description=None,      fallback_persistence=None,
75685       flow_eviction_policy=None, gtm_score=None,  ip_forward=None,  ip_proto‐
75686       col=None,   internal=None,   twelve_forward=None,   last_hop_pool=None,
75687       mask=None, mirror=None, nat64=None, persist=None, profiles=None,  poli‐
75688       cies=None,   rate_class=None,   rate_limit=None,  rate_limit_mode=None,
75689       rate_limit_dst=None,          rate_limit_src=None,          rules=None,
75690       related_rules=None,  reject=None,  source=None, source_address_transla‐
75691       tion=None, source_port=None, state=None,  traffic_classes=None,  trans‐
75692       late_address=None, translate_port=None, vlans=None)
75693              A  function  to connect to a bigip device and modify an existing
75694              virtual server.
75695
75696              hostname
75697                     The host/address of the bigip device
75698
75699              username
75700                     The iControl REST username
75701
75702              password
75703                     The iControl REST password
75704
75705              name   The name of the virtual to modify
75706
75707              destination
75708                     [ [virtual_address_name:port] | [ipv4:port] | [ipv6.port]
75709                     ]
75710
75711              pool   [ [pool_name] | none]
75712
75713              address_status
75714                     [yes | no]
75715
75716              auto_lasthop
75717                     [default | enabled | disabled ]
75718
75719              bwc_policy
75720                     [none] | string]
75721
75722              cmp_enabled
75723                     [yes | no]
75724
75725              dhcp_relay
75726                     [yes | no}
75727
75728              connection_limit
75729                     [integer]
75730
75731              description
75732                     [string]
75733
75734              state  [disabled | enabled]
75735
75736              fallback_persistence
75737                     [none | [profile name] ]
75738
75739              flow_eviction_policy
75740                     [none | [eviction policy name] ]
75741
75742              gtm_score
75743                     [integer]
75744
75745              ip_forward
75746                     [yes | no]
75747
75748              ip_protocol
75749                     [any | protocol]
75750
75751              internal
75752                     [yes | no]
75753
75754              twelve_forward
75755                     (12-forward) [yes | no]
75756
75757              last_hop-pool
75758                     [ [pool_name] | none]
75759
75760              mask   { [ipv4] | [ipv6] }
75761
75762              mirror { [disabled | enabled | none] }
75763
75764              nat64  [enabled | disabled]
75765
75766              persist
75767                     [none | profile1,profile2,profile3 ... ]
75768
75769              profiles
75770                     [none | default | profile1,profile2,profile3 ... ]
75771
75772              policies
75773                     [none | default | policy1,policy2,policy3 ... ]
75774
75775              rate_class
75776                     [name]
75777
75778              rate_limit
75779                     [integer]
75780
75781              rate_limitr_mode
75782                     [destination    |    object    |   object-destination   |
75783                     object-source  |  object-source-destination  |  source  |
75784                     source-destination]
75785
75786              rate_limit_dst
75787                     [integer]
75788
75789              rate_limit_src
75790                     [integer]
75791
75792              rules  [none | [rule_one,rule_two ...] ]
75793
75794              related_rules
75795                     [none | [rule_one,rule_two ...] ]
75796
75797              reject [yes | no]
75798
75799              source { [ipv4[/prefixlen]] | [ipv6[/prefixlen]] }
75800
75801              source_address_translation
75802                     [none | snat:pool_name | lsn | automap ]
75803
75804              source_port
75805                     [change | preserve | preserve-strict]
75806
75807              state  [enabled | disable]
75808
75809              traffic_classes
75810                     [none | default | class_one,class_two ... ]
75811
75812              translate_address
75813                     [enabled | disabled]
75814
75815              translate_port
75816                     [enabled | disabled]
75817
75818              vlans  [none  |  default  | [enabled|disabled]:vlan1,vlan2,vlan3
75819                     ... ]
75820
75821              CLI Example:
75822
75823                 salt '*' bigip.modify_virtual bigip admin admin my-virtual source_address_translation=none
75824                 salt '*' bigip.modify_virtual bigip admin admin my-virtual rules=my-rule,my-other-rule
75825
75826       salt.modules.bigip.replace_pool_members(hostname,  username,  password,
75827       name, members)
75828              A  function  to connect to a bigip device and replace members of
75829              an existing pool with new members.
75830
75831              hostname
75832                     The host/address of the bigip device
75833
75834              username
75835                     The iControl REST username
75836
75837              password
75838                     The iControl REST password
75839
75840              name   The name of the pool to modify
75841
75842              members
75843                     List of comma delimited pool members to replace  existing
75844                     members with.  i.e. 10.1.1.1:80,10.1.1.2:80,10.1.1.3:80
75845
75846              CLI Example:
75847
75848                 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
75849
75850       salt.modules.bigip.start_transaction(hostname,    username,   password,
75851       label)
75852              A function to connect to a bigip device and start a new transac‐
75853              tion.
75854
75855              hostname
75856                     The host/address of the bigip device
75857
75858              username
75859                     The iControl REST username
75860
75861              password
75862                     The iControl REST password
75863
75864              label  The name / alias for this transaction.  The actual trans‐
75865                     action  id  will  be  stored  within   a   grain   called
75866                     bigip_f5_trans:<label>
75867
75868              CLI Example:
75869
75870                 salt '*' bigip.start_transaction bigip admin admin my_transaction
75871
75872   salt.modules.bluez
75873       Support for Bluetooth (using BlueZ in Linux).
75874
75875       The following packages are required packages for this module:
75876          bluez >= 5.7 bluez-libs >= 5.7 bluez-utils >= 5.7 pybluez >= 0.18
75877
75878       salt.modules.bluez.address_()
75879              Get the many addresses of the Bluetooth adapter
75880
75881              CLI Example:
75882
75883                 salt '*' bluetooth.address
75884
75885       salt.modules.bluez.block(bdaddr)
75886              Block a specific bluetooth device by BD Address
75887
75888              CLI Example:
75889
75890                 salt '*' bluetooth.block DE:AD:BE:EF:CA:FE
75891
75892       salt.modules.bluez.discoverable(dev)
75893              Enable this bluetooth device to be discoverable.
75894
75895              CLI Example:
75896
75897                 salt '*' bluetooth.discoverable hci0
75898
75899       salt.modules.bluez.noscan(dev)
75900              Turn off scanning modes on this device.
75901
75902              CLI Example:
75903
75904                 salt '*' bluetooth.noscan hci0
75905
75906       salt.modules.bluez.pair(address, key)
75907              Pair the bluetooth adapter with a device
75908
75909              CLI Example:
75910
75911                 salt '*' bluetooth.pair DE:AD:BE:EF:CA:FE 1234
75912
75913              Where  DE:AD:BE:EF:CA:FE  is  the  address of the device to pair
75914              with, and 1234 is the passphrase.
75915
75916              TODO: This function  is  currently  broken,  as  the  bluez-sim‐
75917              ple-agent program no longer ships with BlueZ >= 5.0. It needs to
75918              be refactored.
75919
75920       salt.modules.bluez.power(dev, mode)
75921              Power a bluetooth device on or off
75922
75923              CLI Examples:
75924
75925                 salt '*' bluetooth.power hci0 on
75926                 salt '*' bluetooth.power hci0 off
75927
75928       salt.modules.bluez.scan()
75929              Scan for bluetooth devices in the area
75930
75931              CLI Example:
75932
75933                 salt '*' bluetooth.scan
75934
75935       salt.modules.bluez.start()
75936              Start the bluetooth service.
75937
75938              CLI Example:
75939
75940                 salt '*' bluetooth.start
75941
75942       salt.modules.bluez.stop()
75943              Stop the bluetooth service.
75944
75945              CLI Example:
75946
75947                 salt '*' bluetooth.stop
75948
75949       salt.modules.bluez.unblock(bdaddr)
75950              Unblock a specific bluetooth device by BD Address
75951
75952              CLI Example:
75953
75954                 salt '*' bluetooth.unblock DE:AD:BE:EF:CA:FE
75955
75956       salt.modules.bluez.unpair(address)
75957              Unpair the bluetooth adapter from a device
75958
75959              CLI Example:
75960
75961                 salt '*' bluetooth.unpair DE:AD:BE:EF:CA:FE
75962
75963              Where DE:AD:BE:EF:CA:FE is the address of the device to unpair.
75964
75965              TODO: This function  is  currently  broken,  as  the  bluez-sim‐
75966              ple-agent program no longer ships with BlueZ >= 5.0. It needs to
75967              be refactored.
75968
75969       salt.modules.bluez.version()
75970              Return Bluez version from bluetoothd -v
75971
75972              CLI Example:
75973
75974                 salt '*' bluetoothd.version
75975
75976   salt.modules.boto3_elasticache module
75977   Execution module for Amazon Elasticache using boto3
75978       New in version 2017.7.0.
75979
75980
75981       configuration
75982              This module accepts explicit  elasticache  credentials  but  can
75983              also utilize IAM roles assigned to the instance through Instance
75984              Profiles.  Dynamic credentials are then  automatically  obtained
75985              from  AWS  API  and  no further configuration is necessary. More
75986              Information available at:
75987
75988                 http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html
75989
75990              If IAM roles are not used you need to specify them either  in  a
75991              pillar or in the minion's config file:
75992
75993                 elasticache.keyid: GKTADJGHEIQSXMKKRBJ08H
75994                 elasticache.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
75995
75996              A region may also be specified in the configuration:
75997
75998                 elasticache.region: us-east-1
75999
76000              If a region is not specified, the default is us-east-1.
76001
76002              It's  also  possible to specify key, keyid and region via a pro‐
76003              file, either as a passed in dict, or as a string  to  pull  from
76004              pillars or minion config:
76005
76006                 myprofile:
76007                     keyid: GKTADJGHEIQSXMKKRBJ08H
76008                     key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
76009                     region: us-east-1
76010
76011       depends
76012              boto3
76013
76014       salt.modules.boto3_elasticache.add_tags_to_resource(name,  region=None,
76015       key=None, keyid=None, profile=None, **args)
76016              Add tags to an Elasticache resource.
76017
76018              Note that this function is essentially useless as it requires  a
76019              full AWS ARN for the resource being operated on, but there is no
76020              provided API or programmatic way to find the  ARN  for  a  given
76021              object  from  its name or ID alone.  It requires specific knowl‐
76022              edge about the account number, AWS partition,  and  other  magic
76023              details to generate.
76024
76025              If you happen to have those at hand though, feel free to utilize
76026              this function...
76027
76028              Example:
76029
76030                 salt myminion boto3_elasticache.add_tags_to_resource                 name'=arn:aws:elasticache:us-west-2:0123456789:snapshot:mySnapshot'                 Tags="[{'Key': 'TeamOwner', 'Value': 'infrastructure'}]"
76031
76032       salt.modules.boto3_elasticache.authorize_cache_secu‐
76033       rity_group_ingress(name,   region=None,   key=None,   keyid=None,  pro‐
76034       file=None, **args)
76035              Authorize network ingress from an ec2 security group to a  cache
76036              security group.
76037
76038              Example:
76039
76040                 salt myminion boto3_elasticache.authorize_cache_security_group_ingress                                         mycachesecgrp                                         EC2SecurityGroupName=someEC2sg                                         EC2SecurityGroupOwnerId=SOMEOWNERID
76041
76042       salt.modules.boto3_elasticache.cache_cluster_exists(name,    conn=None,
76043       region=None, key=None, keyid=None, profile=None)
76044              Check to see if a cache cluster exists.
76045
76046              Example:
76047
76048                 salt myminion boto3_elasticache.cache_cluster_exists myelasticache
76049
76050       salt.modules.boto3_elasticache.cache_security_group_exists(name,
76051       region=None, key=None, keyid=None, profile=None)
76052              Check to see if an ElastiCache security group exists.
76053
76054              Example:
76055
76056                 salt myminion boto3_elasticache.cache_security_group_exists mysecuritygroup
76057
76058       salt.modules.boto3_elasticache.cache_subnet_group_exists(name,
76059       region=None, key=None, keyid=None, profile=None)
76060              Check to see if an ElastiCache subnet group exists.
76061
76062              Example:
76063
76064                 salt myminion boto3_elasticache.cache_subnet_group_exists my-subnet-group
76065
76066       salt.modules.boto3_elasticache.copy_snapshot(name,         region=None,
76067       key=None, keyid=None, profile=None, **args)
76068              Make a copy of an existing snapshot.
76069
76070              Example:
76071
76072                 salt myminion boto3_elasticache.copy_snapshot name=mySnapshot                                                       TargetSnapshotName=copyOfMySnapshot
76073
76074       salt.modules.boto3_elasticache.create_cache_cluster(name,     wait=600,
76075       security_groups=None, region=None, key=None, keyid=None,  profile=None,
76076       **args)
76077              Create a cache cluster.
76078
76079              Example:
76080
76081                 salt myminion boto3_elasticache.create_cache_cluster name=myCacheCluster                                                              Engine=redis                                                              CacheNodeType=cache.t2.micro                                                              NumCacheNodes=1                                                              SecurityGroupIds='[sg-11223344]'                                                              CacheSubnetGroupName=myCacheSubnetGroup
76082
76083       salt.modules.boto3_elasticache.create_cache_parameter_group(name,
76084       region=None, key=None, keyid=None, profile=None, **args)
76085              Create a cache parameter group.
76086
76087              Example:
76088
76089                 salt myminion boto3_elasticache.create_cache_parameter_group                 name=myParamGroup                 CacheParameterGroupFamily=redis2.8                 Description="My Parameter Group"
76090
76091       salt.modules.boto3_elasticache.create_cache_security_group(name,
76092       region=None, key=None, keyid=None, profile=None, **args)
76093              Create a cache security group.
76094
76095              Example:
76096
76097                 salt myminion boto3_elasticache.create_cache_security_group mycachesecgrp Description='My Cache Security Group'
76098
76099       salt.modules.boto3_elasticache.create_cache_subnet_group(name,     sub‐
76100       nets=None, region=None, key=None, keyid=None, profile=None, **args)
76101              Create an ElastiCache subnet group
76102
76103              Example:
76104
76105                 salt myminion boto3_elasticache.create_cache_subnet_group name=my-subnet-group                                               CacheSubnetGroupDescription="description"                                               subnets='[myVPCSubnet1,myVPCSubnet2]'
76106
76107       salt.modules.boto3_elasticache.create_replication_group(name, wait=600,
76108       security_groups=None,  region=None, key=None, keyid=None, profile=None,
76109       **args)
76110              Create a replication group.  Params are extensive and variable -
76111              see
76112              http://boto3.readthedocs.io/en/latest/reference/services/elasticache.html?#ElastiCache.Client.create_replication_group
76113              for in-depth usage documentation.
76114
76115              Example:
76116
76117                 salt myminion boto3_elasticache.create_replication_group                                                   name=myelasticache                                                   ReplicationGroupDescription=description
76118
76119       salt.modules.boto3_elasticache.delete_cache_cluster(name,     wait=600,
76120       region=None, key=None, keyid=None, profile=None, **args)
76121              Delete a cache cluster.
76122
76123              Example:
76124
76125                 salt myminion boto3_elasticache.delete myelasticache
76126
76127       salt.modules.boto3_elasticache.delete_cache_parameter_group(name,
76128       region=None, key=None, keyid=None, profile=None, **args)
76129              Delete a cache parameter group.
76130
76131              Example:
76132
76133                 salt myminion boto3_elasticache.delete_cache_parameter_group myParamGroup
76134
76135       salt.modules.boto3_elasticache.delete_cache_security_group(name,
76136       region=None, key=None, keyid=None, profile=None, **args)
76137              Delete a cache security group.
76138
76139              Example:
76140
76141                 salt myminion boto3_elasticache.delete_cache_security_group myelasticachesg
76142
76143       salt.modules.boto3_elasticache.delete_cache_subnet_group(name,
76144       region=None, key=None, keyid=None, profile=None, **args)
76145              Delete an ElastiCache subnet group.
76146
76147              Example:
76148
76149                 salt myminion boto3_elasticache.delete_subnet_group my-subnet-group region=us-east-1
76150
76151       salt.modules.boto3_elasticache.delete_replication_group(name, wait=600,
76152       region=None, key=None, keyid=None, profile=None, **args)
76153              Delete an ElastiCache replication  group,  optionally  taking  a
76154              snapshot first.
76155
76156              Example:
76157
76158                 salt myminion boto3_elasticache.delete_replication_group my-replication-group
76159
76160       salt.modules.boto3_elasticache.describe_cache_clusters(name=None,
76161       conn=None, region=None, key=None, keyid=None, profile=None, **args)
76162              Return details about all (or just one) Elasticache  cache  clus‐
76163              ters.
76164
76165              Example:
76166
76167                 salt myminion boto3_elasticache.describe_cache_clusters
76168                 salt myminion boto3_elasticache.describe_cache_clusters myelasticache
76169
76170       salt.modules.boto3_elasticache.describe_cache_parame‐
76171       ter_groups(name=None,  conn=None,  region=None,  key=None,  keyid=None,
76172       profile=None)
76173              Return  details  about all (or just one) Elasticache cache clus‐
76174              ters.
76175
76176              Example:
76177
76178                 salt myminion boto3_elasticache.describe_cache_parameter_groups
76179                 salt myminion boto3_elasticache.describe_cache_parameter_groups myParameterGroup
76180
76181       salt.modules.boto3_elasticache.describe_cache_secu‐
76182       rity_groups(name=None,  conn=None,  region=None,  key=None, keyid=None,
76183       profile=None)
76184              Return details about all (or just one) Elasticache  cache  clus‐
76185              ters.
76186
76187              Example:
76188
76189                 salt myminion boto3_elasticache.describe_cache_security_groups
76190                 salt myminion boto3_elasticache.describe_cache_security_groups mycachesecgrp
76191
76192       salt.modules.boto3_elasticache.describe_cache_subnet_groups(name=None,
76193       conn=None, region=None, key=None, keyid=None, profile=None)
76194              Return details about all (or just one)  Elasticache  replication
76195              groups.
76196
76197              Example:
76198
76199                 salt myminion boto3_elasticache.describe_cache_subnet_groups region=us-east-1
76200
76201       salt.modules.boto3_elasticache.describe_replication_groups(name=None,
76202       conn=None, region=None, key=None, keyid=None, profile=None)
76203              Return details about all (or just one)  Elasticache  replication
76204              groups.
76205
76206              Example:
76207
76208                 salt myminion boto3_elasticache.describe_replication_groups
76209                 salt myminion boto3_elasticache.describe_replication_groups myelasticache
76210
76211       salt.modules.boto3_elasticache.list_cache_subnet_groups(region=None,
76212       key=None, keyid=None, profile=None)
76213              Return a list of all cache subnet group names
76214
76215              Example:
76216
76217                 salt myminion boto3_elasticache.list_cache_subnet_groups region=us-east-1
76218
76219       salt.modules.boto3_elasticache.list_tags_for_resource(name,
76220       region=None, key=None, keyid=None, profile=None, **args)
76221              List tags on an Elasticache resource.
76222
76223              Note  that this function is essentially useless as it requires a
76224              full AWS ARN for the resource being operated on, but there is no
76225              provided  API  or  programmatic  way to find the ARN for a given
76226              object from its name or ID alone.  It requires  specific  knowl‐
76227              edge  about  the  account number, AWS partition, and other magic
76228              details to generate.
76229
76230              If you happen to have those handy, feel  free  to  utilize  this
76231              however...
76232
76233              Example:
76234
76235                 salt myminion boto3_elasticache.list_tags_for_resource                 name'=arn:aws:elasticache:us-west-2:0123456789:snapshot:mySnapshot'
76236
76237       salt.modules.boto3_elasticache.modify_cache_cluster(name,     wait=600,
76238       security_groups=None, region=None, key=None, keyid=None,  profile=None,
76239       **args)
76240              Update a cache cluster in place.
76241
76242              Notes:  {ApplyImmediately:  False} is pretty danged silly in the
76243              context of salt.
76244                     You can pass it,  but  for  fairly  obvious  reasons  the
76245                     results over multiple runs will be undefined and probably
76246                     contrary to your desired state.  Reducing the  number  of
76247                     nodes   requires   an  EXPLICIT  CacheNodeIdsToRemove  be
76248                     passed, which until a reasonable heuristic  for  program‐
76249                     matically  deciding which nodes to remove has been estab‐
76250                     lished,  MUST  be  decided  and  populated  intentionally
76251                     before  a  state call, and removed again before the next.
76252                     In practice this is not particularly  useful  and  should
76253                     probably be avoided.
76254
76255              Example:
76256
76257                 salt myminion boto3_elasticache.create_cache_cluster name=myCacheCluster                                                              NotificationTopicStatus=inactive
76258
76259       salt.modules.boto3_elasticache.modify_cache_subnet_group(name,     sub‐
76260       nets=None, region=None, key=None, keyid=None, profile=None, **args)
76261              Modify an ElastiCache subnet group
76262
76263              Example:
76264
76265                 salt myminion boto3_elasticache.modify_cache_subnet_group                                               name=my-subnet-group                                               subnets='[myVPCSubnet3]'
76266
76267       salt.modules.boto3_elasticache.modify_replication_group(name, wait=600,
76268       security_groups=None,  region=None, key=None, keyid=None, profile=None,
76269       **args)
76270              Modify a replication group.
76271
76272              Example:
76273
76274                 salt myminion boto3_elasticache.modify_replication_group                                                   name=myelasticache                                                   ReplicationGroupDescription=newDescription
76275
76276       salt.modules.boto3_elasticache.remove_tags_from_resource(name,
76277       region=None, key=None, keyid=None, profile=None, **args)
76278              Remove tags from an Elasticache resource.
76279
76280              Note  that this function is essentially useless as it requires a
76281              full AWS ARN for the resource being operated on, but there is no
76282              provided  API  or  programmatic  way to find the ARN for a given
76283              object from its name or ID alone.  It requires  specific  knowl‐
76284              edge  about  the  account number, AWS partition, and other magic
76285              details to generate.
76286
76287              If you happen to have those at hand though, feel free to utilize
76288              this function...
76289
76290              Example:
76291
76292                 salt myminion boto3_elasticache.remove_tags_from_resource                 name'=arn:aws:elasticache:us-west-2:0123456789:snapshot:mySnapshot'                 TagKeys="['TeamOwner']"
76293
76294       salt.modules.boto3_elasticache.replication_group_exists(name,
76295       region=None, key=None, keyid=None, profile=None)
76296              Check to see if a replication group exists.
76297
76298              Example:
76299
76300                 salt myminion boto3_elasticache.replication_group_exists myelasticache
76301
76302       salt.modules.boto3_elasticache.revoke_cache_secu‐
76303       rity_group_ingress(name,   region=None,   key=None,   keyid=None,  pro‐
76304       file=None, **args)
76305              Revoke network ingress from an ec2 security  group  to  a  cache
76306              security group.
76307
76308              Example:
76309
76310                 salt myminion boto3_elasticache.revoke_cache_security_group_ingress                                         mycachesecgrp                                         EC2SecurityGroupName=someEC2sg                                         EC2SecurityGroupOwnerId=SOMEOWNERID
76311
76312   salt.modules.boto3_route53 module
76313       Execution module for Amazon Route53 written against Boto 3
76314
76315       New in version 2017.7.0.
76316
76317
76318       configuration
76319              This  module  accepts  explicit route53 credentials but can also
76320              utilize IAM roles assigned to the instance through Instance Pro‐
76321              files.  Dynamic credentials are then automatically obtained from
76322              AWS API and no further configuration is necessary. More Informa‐
76323              tion available at:
76324
76325                 http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html
76326
76327              If  IAM  roles are not used you need to specify them either in a
76328              pillar or in the minion's config file:
76329
76330                 route53.keyid: GKTADJGHEIQSXMKKRBJ08H
76331                 route53.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
76332
76333              A region may also be specified in the configuration:
76334
76335                 route53.region: us-east-1
76336
76337              It's also possible to specify key, keyid and region via  a  pro‐
76338              file,  either  as  a passed in dict, or as a string to pull from
76339              pillars or minion config:
76340
76341                 myprofile:
76342                   keyid: GKTADJGHEIQSXMKKRBJ08H
76343                   key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
76344                   region: us-east-1
76345
76346              Note that Route53 essentially ignores all (valid)  settings  for
76347              'region',  since there is only one Endpoint (in us-east-1 if you
76348              care) and any (valid) region setting will just send  you  there.
76349              It is entirely safe to set it to None as well.
76350
76351       depends
76352              boto3
76353
76354       salt.modules.boto3_route53.associate_vpc_with_hosted_zone(Hosted‐
76355       ZoneId=None, Name=None, VPCId=None, VPCName=None, VPCRegion=None,  Com‐
76356       ment=None, region=None, key=None, keyid=None, profile=None)
76357              Associates an Amazon VPC with a private hosted zone.
76358
76359              To  perform the association, the VPC and the private hosted zone
76360              must already exist. You can't convert a public hosted zone  into
76361              a  private hosted zone.  If you want to associate a VPC from one
76362              AWS account with a zone from a another, the AWS  account  owning
76363              the  hosted  zone must first submit a CreateVPCAssociationAutho‐
76364              rization  (using  create_vpc_association_authorization()  or  by
76365              other  means,  such  as  the  AWS console).  With that done, the
76366              account    owning    the    VPC    can    then    call     asso‐
76367              ciate_vpc_with_hosted_zone() to create the association.
76368
76369              Note  that  if  both sides happen to be within the same account,
76370              associate_vpc_with_hosted_zone() is enough on its own, and there
76371              is no need for the CreateVPCAssociationAuthorization step.
76372
76373              Also  note  that looking up hosted zones by name (e.g. using the
76374              Name parameter) only works within a single account -  if  you're
76375              associating  a VPC to a zone in a different account, as outlined
76376              above, you unfortunately MUST  use  the  HostedZoneId  parameter
76377              exclusively.
76378
76379              HostedZoneId
76380                     The unique Zone Identifier for the Hosted Zone.
76381
76382              Name   The domain name associated with the Hosted Zone(s).
76383
76384              VPCId  When  working  with a private hosted zone, either the VPC
76385                     ID or VPC Name to associate with is required.   Exclusive
76386                     with VPCName.
76387
76388              VPCName
76389                     When  working  with a private hosted zone, either the VPC
76390                     ID or VPC Name to associate with is required.   Exclusive
76391                     with VPCId.
76392
76393              VPCRegion
76394                     When  working  with  a private hosted zone, the region of
76395                     the associated VPC is  required.   If  not  provided,  an
76396                     effort  will  be  made to determine it from VPCId or VPC‐
76397                     Name, if possible.  If this fails, you'll need to provide
76398                     an explicit value for VPCRegion.
76399
76400              Comment
76401                     Any  comments  you want to include about the change being
76402                     made.
76403
76404              CLI Example:
76405
76406                 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."
76407
76408       salt.modules.boto3_route53.aws_encode(x)
76409              An implementation of  the  encoding  required  to  suport  AWS's
76410              domain name rules defined here:
76411
76412              While  AWS's documentation specifies individual ASCII characters
76413              which need to be encoded, we  instead  just  try  to  force  the
76414              string  to  one  of escaped unicode or idna depending on whether
76415              there are non-ASCII characters present.
76416
76417              This means that we support  things  like  ドメイン.テスト  as  a
76418              domain name string.
76419
76420              More information about IDNA encoding in python is found here:
76421
76422       salt.modules.boto3_route53.change_resource_record_sets(Hosted‐
76423       ZoneId=None,     Name=None,     PrivateZone=None,     ChangeBatch=None,
76424       region=None, key=None, keyid=None, profile=None)
76425              See  the AWS Route53 API docs as well as the Boto3 documentation
76426              for all the details...
76427
76428              The syntax for a ChangeBatch parameter is as follows,  but  note
76429              that  the  permutations  of  allowed parameters and combinations
76430              thereof are quite varied, so perusal of the above linked docs is
76431              highly recommended for any non-trival configurations.
76432
76433                 {
76434                     "Comment": "string",
76435                     "Changes": [
76436                         {
76437                             "Action": "CREATE"|"DELETE"|"UPSERT",
76438                             "ResourceRecordSet": {
76439                                 "Name": "string",
76440                                 "Type": "SOA"|"A"|"TXT"|"NS"|"CNAME"|"MX"|"NAPTR"|"PTR"|"SRV"|"SPF"|"AAAA",
76441                                 "SetIdentifier": "string",
76442                                 "Weight": 123,
76443                                 "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",
76444                                 "GeoLocation": {
76445                                     "ContinentCode": "string",
76446                                     "CountryCode": "string",
76447                                     "SubdivisionCode": "string"
76448                                 },
76449                                 "Failover": "PRIMARY"|"SECONDARY",
76450                                 "TTL": 123,
76451                                 "ResourceRecords": [
76452                                     {
76453                                         "Value": "string"
76454                                     },
76455                                 ],
76456                                 "AliasTarget": {
76457                                     "HostedZoneId": "string",
76458                                     "DNSName": "string",
76459                                     "EvaluateTargetHealth": True|False
76460                                 },
76461                                 "HealthCheckId": "string",
76462                                 "TrafficPolicyInstanceId": "string"
76463                             }
76464                         },
76465                     ]
76466                 }
76467
76468              CLI Example:
76469
76470                 foo='{
76471                        "Name": "my-cname.example.org.",
76472                        "TTL": 600,
76473                        "Type": "CNAME",
76474                        "ResourceRecords": [
76475                          {
76476                            "Value": "my-host.example.org"
76477                          }
76478                        ]
76479                      }'
76480                 foo=`echo $foo`  # Remove newlines
76481                 salt myminion boto3_route53.change_resource_record_sets DomainName=example.org.                 keyid=A1234567890ABCDEF123 key=xblahblahblah                 ChangeBatch="{'Changes': [{'Action': 'UPSERT', 'ResourceRecordSet': $foo}]}"
76482
76483       salt.modules.boto3_route53.create_hosted_zone(Name,   VPCId=None,  VPC‐
76484       Name=None, VPCRegion=None, CallerReference=None, Comment=u'',  Private‐
76485       Zone=False,  DelegationSetId=None,  region=None,  key=None, keyid=None,
76486       profile=None)
76487              Create a new Route53 Hosted Zone. Returns a Python  data  struc‐
76488              ture with information about the newly created Hosted Zone.
76489
76490              Name   The  name of the domain. This should be a fully-specified
76491                     domain, and should terminate with a period. This  is  the
76492                     name  you  have registered with your DNS registrar. It is
76493                     also the name you will delegate from  your  registrar  to
76494                     the  Amazon  Route  53  delegation  servers  returned  in
76495                     response to this request.
76496
76497              VPCId  When creating a private hosted zone, either the VPC ID or
76498                     VPC  Name  to associate with is required.  Exclusive with
76499                     VPCName.  Ignored if passed for a non-private zone.
76500
76501              VPCName
76502                     When creating a private hosted zone, either the VPC ID or
76503                     VPC  Name  to associate with is required.  Exclusive with
76504                     VPCId.  Ignored if passed for a non-private zone.
76505
76506              VPCRegion
76507                     When creating a private hosted zone, the  region  of  the
76508                     associated  VPC  is required.  If not provided, an effort
76509                     will be made to determine it from VPCId  or  VPCName,  if
76510                     possible.   If  this  fails,  you'll  need  to provide an
76511                     explicit value for this option.  Ignored if passed for  a
76512                     non-private zone.
76513
76514              CallerReference
76515                     A  unique  string  that  identifies  the request and that
76516                     allows create_hosted_zone() calls to be  retried  without
76517                     the  risk  of  executing  the operation twice.  This is a
76518                     required parameter when creating new Hosted Zones.  Maxi‐
76519                     mum length of 128.
76520
76521              Comment
76522                     Any comments you want to include about the hosted zone.
76523
76524              PrivateZone
76525                     Boolean - Set to True if creating a private hosted zone.
76526
76527              DelegationSetId
76528                     If  you  want to associate a reusable delegation set with
76529                     this hosted zone, the ID that Amazon Route 53 assigned to
76530                     the  reusable  delegation  set when you created it.  Note
76531                     that XXX TODO create_delegation_set() is not  yet  imple‐
76532                     mented,  so  you'd need to manually create any delegation
76533                     sets before utilizing this.
76534
76535              region Region endpoint to connect to.
76536
76537              key    AWS key to bind with.
76538
76539              keyid  AWS keyid to bind with.
76540
76541              profile
76542                     Dict, or pillar key pointing to a  dict,  containing  AWS
76543                     region/key/keyid.
76544
76545              CLI Example:
76546
76547                 salt myminion boto3_route53.create_hosted_zone example.org.
76548
76549       salt.modules.boto3_route53.delete_hosted_zone(Id,          region=None,
76550       key=None, keyid=None, profile=None)
76551              Delete a Route53 hosted zone.
76552
76553              CLI Example:
76554
76555                 salt myminion boto3_route53.delete_hosted_zone Z1234567890
76556
76557       salt.modules.boto3_route53.delete_hosted_zone_by_domain(Name,  Private‐
76558       Zone=None, region=None, key=None, keyid=None, profile=None)
76559              Delete  a  Route53  hosted  zone by domain name, and PrivateZone
76560              status if provided.
76561
76562              CLI Example:
76563
76564                 salt myminion boto3_route53.delete_hosted_zone_by_domain example.org.
76565
76566       salt.modules.boto3_route53.disassociate_vpc_from_hosted_zone(Hosted‐
76567       ZoneId=None,  Name=None, VPCId=None, VPCName=None, VPCRegion=None, Com‐
76568       ment=None, region=None, key=None, keyid=None, profile=None)
76569              Disassociates an Amazon VPC from a private hosted zone.
76570
76571              You can't disassociate the last VPC from a private hosted  zone.
76572              You  also  can't  convert  a  private  hosted zone into a public
76573              hosted zone.
76574
76575              Note that looking up hosted zones by name (e.g. using  the  Name
76576              parameter)  only works XXX FACTCHECK within a single AWS account
76577              - if you're disassociating a VPC in one account  from  a  hosted
76578              zone in a different account you unfortunately MUST use the Host‐
76579              edZoneId parameter exclusively. XXX FIXME DOCU
76580
76581              HostedZoneId
76582                     The unique Zone Identifier for the Hosted Zone.
76583
76584              Name   The domain name associated with the Hosted Zone(s).
76585
76586              VPCId  When working with a private hosted zone, either  the  VPC
76587                     ID  or VPC Name to associate with is required.  Exclusive
76588                     with VPCName.
76589
76590              VPCName
76591                     When working with a private hosted zone, either  the  VPC
76592                     ID  or VPC Name to associate with is required.  Exclusive
76593                     with VPCId.
76594
76595              VPCRegion
76596                     When working with a private hosted zone,  the  region  of
76597                     the  associated  VPC  is  required.   If not provided, an
76598                     effort will be made to determine it from  VPCId  or  VPC‐
76599                     Name, if possible.  If this fails, you'll need to provide
76600                     an explicit value for VPCRegion.
76601
76602              Comment
76603                     Any comments you want to include about the  change  being
76604                     made.
76605
76606              CLI Example:
76607
76608                 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."
76609
76610       salt.modules.boto3_route53.find_hosted_zone(Id=None,   Name=None,  Pri‐
76611       vateZone=None, region=None, key=None, keyid=None, profile=None)
76612              Find a hosted zone with the given characteristics.
76613
76614              Id     The unique Zone Identifier for the Hosted  Zone.   Exclu‐
76615                     sive with Name.
76616
76617              Name   The  domain name associated with the Hosted Zone.  Exclu‐
76618                     sive with Id.  Note this has the potential to match  more
76619                     then one hosted zone (e.g. a public and a private if both
76620                     exist) which will raise an error unless  PrivateZone  has
76621                     also been passed in order split the different.
76622
76623              PrivateZone
76624                     Boolean  -  Set to True if searching for a private hosted
76625                     zone.
76626
76627              region Region to connect to.
76628
76629              key    Secret key to be used.
76630
76631              keyid  Access key to be used.
76632
76633              profile
76634                     Dict, or pillar key pointing to a  dict,  containing  AWS
76635                     region/key/keyid.
76636
76637              CLI Example:
76638
76639                 salt myminion boto3_route53.find_hosted_zone Name=salt.org.                 profile='{"region": "us-east-1", "keyid": "A12345678AB", "key": "xblahblahblah"}'
76640
76641       salt.modules.boto3_route53.get_hosted_zone(Id,  region=None,  key=None,
76642       keyid=None, profile=None)
76643              Return detailed info about the given zone.
76644
76645              Id     The unique Zone Identifier for the Hosted Zone.
76646
76647              region Region to connect to.
76648
76649              key    Secret key to be used.
76650
76651              keyid  Access key to be used.
76652
76653              profile
76654                     Dict, or pillar key pointing to a  dict,  containing  AWS
76655                     region/key/keyid.
76656
76657              CLI Example:
76658
76659                 salt myminion boto3_route53.get_hosted_zone Z1234567690                 profile='{"region": "us-east-1", "keyid": "A12345678AB", "key": "xblahblahblah"}'
76660
76661       salt.modules.boto3_route53.get_hosted_zones_by_domain(Name,
76662       region=None, key=None, keyid=None, profile=None)
76663              Find any zones with the given domain name  and  return  detailed
76664              info  about  them.   Note  that this can return multiple Route53
76665              zones, since a domain name can be used in both public  and  pri‐
76666              vate zones.
76667
76668              Name   The domain name associated with the Hosted Zone(s).
76669
76670              region Region to connect to.
76671
76672              key    Secret key to be used.
76673
76674              keyid  Access key to be used.
76675
76676              profile
76677                     Dict,  or  pillar  key pointing to a dict, containing AWS
76678                     region/key/keyid.
76679
76680              CLI Example:
76681
76682                 salt myminion boto3_route53.get_hosted_zones_by_domain salt.org.                 profile='{"region": "us-east-1", "keyid": "A12345678AB", "key": "xblahblahblah"}'
76683
76684       salt.modules.boto3_route53.get_resource_records(HostedZoneId=None,
76685       Name=None,    StartRecordName=None,    StartRecordType=None,   Private‐
76686       Zone=None, region=None, key=None, keyid=None, profile=None)
76687              Get all resource records from a given zone matching the provided
76688              StartRecordName  (if given) or all records in the zone (if not),
76689              optionally filtered by a specific  StartRecordType.   This  will
76690              return any and all RRs matching, regardless of their special AWS
76691              flavors (weighted, geolocation, alias, etc.) so your code should
76692              be  prepared  for potentially large numbers of records back from
76693              this function - for example, if you've created a complex  geolo‐
76694              cation mapping with lots of entries all over the world providing
76695              the same server name to many different regional clients.
76696
76697              If you want EXACTLY ONE record to operate  on,  you'll  need  to
76698              implement  any  logic  required to pick the specific RR you care
76699              about from those returned.
76700
76701              Note that if you pass in Name without providing a value for Pri‐
76702              vateZone  (either  True  or False), CommandExecutionError can be
76703              raised in the case of both public and private zones matching the
76704              domain. XXX FIXME DOCU
76705
76706              CLI example:
76707
76708                 salt myminion boto3_route53.get_records test.example.org example.org A
76709
76710       salt.modules.boto3_route53.list_hosted_zones(DelegationSetId=None,
76711       region=None, key=None, keyid=None, profile=None)
76712              Return detailed info about all zones in the bound account.
76713
76714              DelegationSetId
76715                     If you're using reusable delegation sets and you want  to
76716                     list  all  of the hosted zones that are associated with a
76717                     reusable delegation set, specify the ID of  that  delega‐
76718                     tion set.
76719
76720              region Region to connect to.
76721
76722              key    Secret key to be used.
76723
76724              keyid  Access key to be used.
76725
76726              profile
76727                     Dict,  or  pillar  key pointing to a dict, containing AWS
76728                     region/key/keyid.
76729
76730              CLI Example:
76731
76732                 salt myminion boto3_route53.describe_hosted_zones                 profile='{"region": "us-east-1", "keyid": "A12345678AB", "key": "xblahblahblah"}'
76733
76734       salt.modules.boto3_route53.update_hosted_zone_comment(Id=None,
76735       Name=None,   Comment=None,   PrivateZone=None,  region=None,  key=None,
76736       keyid=None, profile=None)
76737              Update the comment on an existing Route 53 hosted zone.
76738
76739              Id     The unique Zone Identifier for the Hosted Zone.
76740
76741              Name   The domain name associated with the Hosted Zone(s).
76742
76743              Comment
76744                     Any comments you want to include about the hosted zone.
76745
76746              PrivateZone
76747                     Boolean - Set to True if changing a private hosted zone.
76748
76749              CLI Example:
76750
76751                 salt myminion boto3_route53.update_hosted_zone_comment Name=example.org.                 Comment="This is an example comment for an example zone"
76752
76753   salt.modules.boto_apigateway module
76754       Connection module for Amazon APIGateway
76755
76756       New in version 2016.11.0.
76757
76758
76759       depends
76760
76761              · boto >= 2.8.0
76762
76763              · boto3 >= 1.2.1
76764
76765              · botocore >= 1.4.49
76766
76767       configuration
76768              This module accepts explicit Lambda  credentials  but  can  also
76769              utilize  IAM roles assigned to the instance trough Instance Pro‐
76770              files.  Dynamic credentials are then automatically obtained from
76771              AWS API and no further configuration is necessary. More Informa‐
76772              tion available at:
76773
76774                 http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html
76775
76776              If IAM roles are not used you need to specify them either  in  a
76777              pillar or in the minion's config file:
76778
76779                 apigateway.keyid: GKTADJGHEIQSXMKKRBJ08H
76780                 apigateway.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
76781
76782              A region may also be specified in the configuration:
76783
76784                 apigateway.region: us-west-2
76785
76786              If a region is not specified, the default is us-east-1.
76787
76788              It's  also  possible to specify key, keyid and region via a pro‐
76789              file, either as a passed in dict, or as a string  to  pull  from
76790              pillars or minion config:
76791
76792                 myprofile:
76793                     keyid: GKTADJGHEIQSXMKKRBJ08H
76794                     key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
76795                     region: us-west-2
76796
76797       Changed  in version 2015.8.0: All methods now return a dictionary. Cre‐
76798       ate and delete methods return:
76799
76800          created: true
76801
76802       or
76803
76804          created: false
76805          error:
76806            message: error message
76807
76808       Request methods (e.g., describe_apigateway) return:
76809
76810          apigateway:
76811            - {...}
76812            - {...}
76813
76814       or
76815
76816          error:
76817            message: error message
76818
76819
76820       salt.modules.boto_apigateway.activate_api_deployment(restApiId,  stage‐
76821       Name, deploymentId, region=None, key=None, keyid=None, profile=None)
76822              Activates previously deployed deployment for a given stage
76823
76824              CLI Example:
76825
76826                 salt myminion boto_apigateway.activate_api_deployent restApiId stagename deploymentId
76827
76828       salt.modules.boto_apigateway.api_exists(name,         description=None,
76829       region=None, key=None, keyid=None, profile=None)
76830              Check to see if the given Rest API Name and optionally  descrip‐
76831              tion exists.
76832
76833              CLI Example:
76834
76835                 salt myminion boto_apigateway.exists myapi_name
76836
76837       salt.modules.boto_apigateway.api_model_exists(restApiId,     modelName,
76838       region=None, key=None, keyid=None, profile=None)
76839              Check to  see  if  the  given  modelName  exists  in  the  given
76840              restApiId
76841
76842              CLI Example:
76843
76844                 salt myminion boto_apigateway.api_model_exists restApiId modelName
76845
76846       salt.modules.boto_apigateway.associate_api_key_stagekeys(apiKey,
76847       stagekeyslist, region=None, key=None, keyid=None, profile=None)
76848              associate the given stagekeyslist to the given apiKey.
76849
76850              CLI Example:
76851
76852                 salt myminion boto_apigateway.associate_stagekeys_api_key \
76853                         api_key '["restapi id/stage name", ...]'
76854
76855       salt.modules.boto_apigateway.attach_usage_plan_to_apis(plan_id,   apis,
76856       region=None, key=None, keyid=None, profile=None)
76857              Attaches given usage plan to each of the apis provided in a list
76858              of apiId and stage values
76859
76860              New in version 2017.7.0.
76861
76862
76863              apis   a list of dictionaries, where  each  dictionary  contains
76864                     the following:
76865
76866                     apiId  a  string,  which  is the id of the created API in
76867                            AWS ApiGateway
76868
76869                     stage  a string, which is the stage that the created  API
76870                            is deployed to.
76871
76872              CLI Example:
76873
76874                 salt myminion boto_apigateway.attach_usage_plan_to_apis plan_id='usage plan id' apis='[{"apiId": "some id 1", "stage": "some stage 1"}]'
76875
76876       salt.modules.boto_apigateway.create_api(name,    description,    clone‐
76877       From=None, region=None, key=None, keyid=None, profile=None)
76878              Create a new REST API Service with the given name
76879
76880              Returns {created: True} if the rest api was created and  returns
76881              {created: False} if the rest api was not created.
76882
76883              CLI Example:
76884
76885                 salt myminion boto_apigateway.create_api myapi_name api_description
76886
76887       salt.modules.boto_apigateway.create_api_deployment(restApiId,    stage‐
76888       Name, stageDescription=u'', description=u'', cacheClusterEnabled=False,
76889       cacheClusterSize=u'0.5',    variables=None,    region=None,   key=None,
76890       keyid=None, profile=None)
76891              Creates a new API deployment.
76892
76893              CLI Example:
76894
76895                 salt myminion boto_apigateway.create_api_deployent restApiId stagename stageDescription='' \
76896                 description='' cacheClusterEnabled=True|False cacheClusterSize=0.5 variables='{"name": "value"}'
76897
76898       salt.modules.boto_apigateway.create_api_integration(restApiId,  resour‐
76899       cePath,  httpMethod,  integrationType, integrationHttpMethod, uri, cre‐
76900       dentials, requestParameters=None,  requestTemplates=None,  region=None,
76901       key=None, keyid=None, profile=None)
76902              Creates  an  integration  for a given method in a given API.  If
76903              integrationType is MOCK, uri and credential parameters  will  be
76904              ignored.
76905
76906              uri   is  in  the  form  of  (substitute  APIGATEWAY_REGION  and
76907              LAMBDA_FUNC_ARN)                    "arn:aws:apigateway:APIGATE‐
76908              WAY_REGION:lambda:path/2015-03-31/func‐
76909              tions/LAMBDA_FUNC_ARN/invocations"
76910
76911              credentials is in the form of an iam role name or role arn.
76912
76913              CLI Example:
76914
76915                 salt myminion boto_apigateway.create_api_integration restApiId resourcePath httpMethod \
76916                                      integrationType integrationHttpMethod uri credentials ['{}' ['{}']]
76917
76918       salt.modules.boto_apigateway.create_api_integration_response(restApiId,
76919       resourcePath, httpMethod, statusCode, selectionPattern, responseParame‐
76920       ters=None, responseTemplates=None, region=None,  key=None,  keyid=None,
76921       profile=None)
76922              Creates  an  integration  response for a given method in a given
76923              API
76924
76925              CLI Example:
76926
76927                 salt myminion boto_apigateway.create_api_integration_response restApiId resourcePath httpMethod \
76928                                     statusCode selectionPattern ['{}' ['{}']]
76929
76930       salt.modules.boto_apigateway.create_api_key(name,          description,
76931       enabled=True,  stageKeys=None,  region=None, key=None, keyid=None, pro‐
76932       file=None)
76933              Create an API key given name and description.
76934
76935              An optional enabled argument can be provided.  If provided,  the
76936              valid values are True|False.  This argument defaults to True.
76937
76938              An  optional  stageKeys  argument can be provided in the form of
76939              list of dictionary with 'restApiId' and 'stageName' as keys.
76940
76941              CLI Example:
76942
76943                 salt myminion boto_apigateway.create_api_key name description
76944
76945                 salt myminion boto_apigateway.create_api_key name description enabled=False
76946
76947                 salt myminion boto_apigateway.create_api_key name description \
76948                      stageKeys='[{"restApiId": "id", "stageName": "stagename"}]'
76949
76950       salt.modules.boto_apigateway.create_api_method(restApiId, resourcePath,
76951       httpMethod,   authorizationType,  apiKeyRequired=False,  requestParame‐
76952       ters=None, requestModels=None, region=None, key=None, keyid=None,  pro‐
76953       file=None)
76954              Creates API method for a resource in the given API
76955
76956              CLI Example:
76957
76958                 salt myminion boto_apigateway.create_api_method restApiId resourcePath, httpMethod, authorizationType, \
76959                     apiKeyRequired=False, requestParameters='{"name", "value"}', requestModels='{"content-type", "value"}'
76960
76961       salt.modules.boto_apigateway.create_api_method_response(restApiId,
76962       resourcePath, httpMethod, statusCode, responseParameters=None,  respon‐
76963       seModels=None, region=None, key=None, keyid=None, profile=None)
76964              Create  API  method response for a method on a given resource in
76965              the given API
76966
76967              CLI Example:
76968
76969                 salt myminion boto_apigateway.create_api_method_response restApiId resourcePath httpMethod \
76970                        statusCode responseParameters='{"name", "True|False"}' responseModels='{"content-type", "model"}'
76971
76972       salt.modules.boto_apigateway.create_api_model(restApiId,     modelName,
76973       modelDescription, schema, contentType=u'application/json', region=None,
76974       key=None, keyid=None, profile=None)
76975              Create a new model in a given API with a given schema, currently
76976              only contentType supported is 'application/json'
76977
76978              CLI Example:
76979
76980                 salt myminion boto_apigateway.create_api_model restApiId modelName modelDescription '<schema>' 'content-type'
76981
76982       salt.modules.boto_apigateway.create_api_resources(restApiId,      path,
76983       region=None, key=None, keyid=None, profile=None)
76984              Given rest api id, and an absolute resource path, create all the
76985              resources  and return all resources in the resourcepath, returns
76986              False on failure.
76987
76988              CLI Example:
76989
76990                 salt myminion boto_apigateway.create_api_resources myapi_id resource_path
76991
76992       salt.modules.boto_apigateway.create_api_stage(restApiId,     stageName,
76993       deploymentId, description=u'', cacheClusterEnabled=False, cacheCluster‐
76994       Size=u'0.5', variables=None, region=None,  key=None,  keyid=None,  pro‐
76995       file=None)
76996              Creates a new API stage for a given restApiId and deploymentId.
76997
76998              CLI Example:
76999
77000                 salt myminion boto_apigateway.create_api_stage restApiId stagename deploymentId \
77001                     description='' cacheClusterEnabled=True|False cacheClusterSize='0.5' variables='{"name": "value"}'
77002
77003       salt.modules.boto_apigateway.create_usage_plan(name,  description=None,
77004       throttle=None,  quota=None,  region=None,  key=None,  keyid=None,  pro‐
77005       file=None)
77006              Creates  a  new usage plan with throttling and quotas optionally
77007              applied
77008
77009              New in version 2017.7.0.
77010
77011
77012              name   Name of the usage plan
77013
77014              throttle
77015                     A dictionary consisting of the following keys:
77016
77017                     rateLimit
77018                            requests per second at steady rate, float
77019
77020                     burstLimit
77021                            maximum number of requests per second, integer
77022
77023              quota  A dictionary consisting of the following keys:
77024
77025                     limit  number of allowed  requests  per  specified  quota
77026                            period [required if quota parameter is present]
77027
77028                     offset number  of requests to be subtracted from limit at
77029                            the beginning of the period [optional]
77030
77031                     period quota period, must be one of DAY, WEEK, or  MONTH.
77032                            [required if quota parameter is present
77033
77034              CLI Example:
77035
77036                 salt myminion boto_apigateway.create_usage_plan name='usage plan name' throttle='{"rateLimit": 10.0, "burstLimit": 10}'
77037
77038       salt.modules.boto_apigateway.delete_api(name,         description=None,
77039       region=None, key=None, keyid=None, profile=None)
77040              Delete all REST API Service with the given name and an  optional
77041              API description
77042
77043              Returns  {deleted:  True,  count:  deleted_count}  if  apis were
77044              deleted, and returns {deleted: False} if error or not found.
77045
77046              CLI Example:
77047
77048                 salt myminion boto_apigateway.delete_api myapi_name
77049
77050                 salt myminion boto_apigateway.delete_api myapi_name description='api description'
77051
77052       salt.modules.boto_apigateway.delete_api_deployment(restApiId,   deploy‐
77053       mentId, region=None, key=None, keyid=None, profile=None)
77054              Deletes API deployment for a given restApiId and deploymentID
77055
77056              CLI Example:
77057
77058                 salt myminion boto_apigateway.delete_api_deployent restApiId deploymentId
77059
77060       salt.modules.boto_apigateway.delete_api_integration(restApiId,  resour‐
77061       cePath, httpMethod, region=None, key=None, keyid=None, profile=None)
77062              Deletes an integration for a given method in a given API
77063
77064              CLI Example:
77065
77066                 salt myminion boto_apigateway.delete_api_integration restApiId resourcePath httpMethod
77067
77068       salt.modules.boto_apigateway.delete_api_integration_response(restApiId,
77069       resourcePath,    httpMethod,    statusCode,    region=None,   key=None,
77070       keyid=None, profile=None)
77071              Deletes an integration response for a given method  in  a  given
77072              API
77073
77074              CLI Example:
77075
77076                 salt myminion boto_apigateway.delete_api_integration_response restApiId resourcePath httpMethod statusCode
77077
77078       salt.modules.boto_apigateway.delete_api_key(apiKey,        region=None,
77079       key=None, keyid=None, profile=None)
77080              Deletes a given apiKey
77081
77082              CLI Example:
77083
77084                 salt myminion boto_apigateway.delete_api_key apikeystring
77085
77086       salt.modules.boto_apigateway.delete_api_method(restApiId, resourcePath,
77087       httpMethod, region=None, key=None, keyid=None, profile=None)
77088              Delete API method for a resource in the given API
77089
77090              CLI Example:
77091
77092                 salt myminion boto_apigateway.delete_api_method restApiId resourcePath httpMethod
77093
77094       salt.modules.boto_apigateway.delete_api_method_response(restApiId,
77095       resourcePath,   httpMethod,    statusCode,    region=None,    key=None,
77096       keyid=None, profile=None)
77097              Delete API method response for a resource in the given API
77098
77099              CLI Example:
77100
77101                 salt myminion boto_apigateway.delete_api_method_response restApiId resourcePath httpMethod statusCode
77102
77103       salt.modules.boto_apigateway.delete_api_model(restApiId,     modelName,
77104       region=None, key=None, keyid=None, profile=None)
77105              Delete a model identified by name in a given API
77106
77107              CLI Example:
77108
77109                 salt myminion boto_apigateway.delete_api_model restApiId modelName
77110
77111       salt.modules.boto_apigateway.delete_api_resources(restApiId,      path,
77112       region=None, key=None, keyid=None, profile=None)
77113              Given  restApiId  and  an  absolute  resource  path,  delete the
77114              resources starting from the absolute resource path.  If  resour‐
77115              cepath is the root resource '/', the function will return False.
77116              Returns False on failure.
77117
77118              CLI Example:
77119
77120                 salt myminion boto_apigateway.delete_api_resources myapi_id, resource_path
77121
77122       salt.modules.boto_apigateway.delete_api_stage(restApiId,     stageName,
77123       region=None, key=None, keyid=None, profile=None)
77124              Deletes  stage  identified  by  stageName from API identified by
77125              restApiId
77126
77127              CLI Example:
77128
77129                 salt myminion boto_apigateway.delete_api_stage restApiId stageName
77130
77131       salt.modules.boto_apigateway.delete_usage_plan(plan_id,    region=None,
77132       key=None, keyid=None, profile=None)
77133              Deletes usage plan identified by plan_id
77134
77135              New in version 2017.7.0.
77136
77137
77138              CLI Example:
77139
77140                 salt myminion boto_apigateway.delete_usage_plan plan_id='usage plan id'
77141
77142       salt.modules.boto_apigateway.describe_api_deployment(restApiId, deploy‐
77143       mentId, region=None, key=None, keyid=None, profile=None)
77144              Get API deployment for a given restApiId and deploymentId.
77145
77146              CLI Example:
77147
77148                 salt myminion boto_apigateway.describe_api_deployent restApiId deploymentId
77149
77150       salt.modules.boto_apigateway.describe_api_deployments(restApiId,
77151       region=None, key=None, keyid=None, profile=None)
77152              Gets information about the defined API Deployments.  Return list
77153              of api deployments.
77154
77155              CLI Example:
77156
77157                 salt myminion boto_apigateway.describe_api_deployments restApiId
77158
77159       salt.modules.boto_apigateway.describe_api_integration(restApiId,
77160       resourcePath,   httpMethod,  region=None,  key=None,  keyid=None,  pro‐
77161       file=None)
77162              Get an integration for a given method in a given API
77163
77164              CLI Example:
77165
77166                 salt myminion boto_apigateway.describe_api_integration restApiId resourcePath httpMethod
77167
77168       salt.modules.boto_apigateway.describe_api_integra‐
77169       tion_response(restApiId,    resourcePath,    httpMethod,    statusCode,
77170       region=None, key=None, keyid=None, profile=None)
77171              Get an integration response for a given method in a given API
77172
77173              CLI Example:
77174
77175                 salt myminion boto_apigateway.describe_api_integration_response restApiId resourcePath httpMethod statusCode
77176
77177       salt.modules.boto_apigateway.describe_api_key(apiKey,      region=None,
77178       key=None, keyid=None, profile=None)
77179              Gets info about the given api key
77180
77181              CLI Example:
77182
77183                 salt myminion boto_apigateway.describe_api_key apigw_api_key
77184
77185       salt.modules.boto_apigateway.describe_api_keys(region=None,   key=None,
77186       keyid=None, profile=None)
77187              Gets information about the defined API  Keys.   Return  list  of
77188              apiKeys.
77189
77190              CLI Example:
77191
77192                 salt myminion boto_apigateway.describe_api_keys
77193
77194       salt.modules.boto_apigateway.describe_api_method(restApiId,     resour‐
77195       cePath, httpMethod, region=None, key=None, keyid=None, profile=None)
77196              Get API method for a resource in the given API
77197
77198              CLI Example:
77199
77200                 salt myminion boto_apigateway.describe_api_method restApiId resourcePath httpMethod
77201
77202       salt.modules.boto_apigateway.describe_api_method_response(restApiId,
77203       resourcePath,    httpMethod,    statusCode,    region=None,   key=None,
77204       keyid=None, profile=None)
77205              Get API method response for a resource in the given API
77206
77207              CLI Example:
77208
77209                 salt myminion boto_apigateway.describe_api_method_response restApiId resourcePath httpMethod statusCode
77210
77211       salt.modules.boto_apigateway.describe_api_model(restApiId,   modelName,
77212       flatten=True, region=None, key=None, keyid=None, profile=None)
77213              Get a model by name for a given API
77214
77215              CLI Example:
77216
77217                 salt myminion boto_apigateway.describe_api_model restApiId modelName [True]
77218
77219       salt.modules.boto_apigateway.describe_api_models(restApiId,
77220       region=None, key=None, keyid=None, profile=None)
77221              Get all models for a given API
77222
77223              CLI Example:
77224
77225                 salt myminion boto_apigateway.describe_api_models restApiId
77226
77227       salt.modules.boto_apigateway.describe_api_resource(restApiId,     path,
77228       region=None, key=None, keyid=None, profile=None)
77229              Given  rest  api  id, and an absolute resource path, returns the
77230              resource id for the given path.
77231
77232              CLI Example:
77233
77234                 salt myminion boto_apigateway.describe_api_resource myapi_id resource_path
77235
77236       salt.modules.boto_apigateway.describe_api_resource_method(restApiId,
77237       resourcePath,   httpMethod,  region=None,  key=None,  keyid=None,  pro‐
77238       file=None)
77239              Given rest api id, resource path, and http method (must  be  one
77240              of  DELETE,  GET,  HEAD,  OPTIONS, PATCH, POST, PUT), return the
77241              method for the api/resource path if defined.   Return  False  if
77242              method is not defined.
77243
77244              CLI Example:
77245
77246                 salt myminion boto_apigateway.describe_api_resource_method myapi_id resource_path httpmethod
77247
77248       salt.modules.boto_apigateway.describe_api_resources(restApiId,
77249       region=None, key=None, keyid=None, profile=None)
77250              Given rest api id, return all resources for this api.
77251
77252              CLI Example:
77253
77254                 salt myminion boto_apigateway.describe_api_resources myapi_id
77255
77256       salt.modules.boto_apigateway.describe_api_stage(restApiId,   stageName,
77257       region=None, key=None, keyid=None, profile=None)
77258              Get API stage for a given apiID and stage name
77259
77260              CLI Example:
77261
77262                 salt myminion boto_apigateway.describe_api_stage restApiId stageName
77263
77264       salt.modules.boto_apigateway.describe_api_stages(restApiId,  deploymen‐
77265       tId, region=None, key=None, keyid=None, profile=None)
77266              Get all API stages for a given apiID and deploymentID
77267
77268              CLI Example:
77269
77270                 salt myminion boto_apigateway.describe_api_stages restApiId deploymentId
77271
77272       salt.modules.boto_apigateway.describe_apis(name=None, description=None,
77273       region=None, key=None, keyid=None, profile=None)
77274              Returns all rest apis in the defined region.  If optional param‐
77275              eter name is included, returns all rest apis matching  the  name
77276              in the defined region.
77277
77278              CLI Example:
77279
77280                 salt myminion boto_apigateway.describe_apis
77281
77282                 salt myminion boto_apigateway.describe_apis name='api name'
77283
77284                 salt myminion boto_apigateway.describe_apis name='api name' description='desc str'
77285
77286       salt.modules.boto_apigateway.describe_usage_plans(name=None,
77287       plan_id=None, region=None, key=None, keyid=None, profile=None)
77288              Returns a list of existing usage plans, optionally  filtered  to
77289              match a given plan name
77290
77291              New in version 2017.7.0.
77292
77293
77294              CLI Example:
77295
77296                 salt myminion boto_apigateway.describe_usage_plans
77297                 salt myminion boto_apigateway.describe_usage_plans name='usage plan name'
77298                 salt myminion boto_apigateway.describe_usage_plans plan_id='usage plan id'
77299
77300       salt.modules.boto_apigateway.detach_usage_plan_from_apis(plan_id, apis,
77301       region=None, key=None, keyid=None, profile=None)
77302              Detaches given usage plan from each of the apis  provided  in  a
77303              list of apiId and stage value
77304
77305              New in version 2017.7.0.
77306
77307
77308              apis   a  list  of  dictionaries, where each dictionary contains
77309                     the following:
77310
77311                     apiId  a string, which is the id of the  created  API  in
77312                            AWS ApiGateway
77313
77314                     stage  a  string, which is the stage that the created API
77315                            is deployed to.
77316
77317              CLI Example:
77318
77319                 salt myminion boto_apigateway.detach_usage_plan_to_apis plan_id='usage plan id' apis='[{"apiId": "some id 1", "stage": "some stage 1"}]'
77320
77321       salt.modules.boto_apigateway.disable_api_key(apiKey,       region=None,
77322       key=None, keyid=None, profile=None)
77323              disable the given apiKey.
77324
77325              CLI Example:
77326
77327                 salt myminion boto_apigateway.enable_api_key api_key
77328
77329       salt.modules.boto_apigateway.disassociate_api_key_stagekeys(apiKey,
77330       stagekeyslist, region=None, key=None, keyid=None, profile=None)
77331              disassociate the given stagekeyslist to the given apiKey.
77332
77333              CLI Example:
77334
77335                 salt myminion boto_apigateway.disassociate_stagekeys_api_key \
77336                         api_key '["restapi id/stage name", ...]'
77337
77338       salt.modules.boto_apigateway.enable_api_key(apiKey,        region=None,
77339       key=None, keyid=None, profile=None)
77340              enable the given apiKey.
77341
77342              CLI Example:
77343
77344                 salt myminion boto_apigateway.enable_api_key api_key
77345
77346       salt.modules.boto_apigateway.flush_api_stage_cache(restApiId,    stage‐
77347       Name, region=None, key=None, keyid=None, profile=None)
77348              Flushes cache for the stage identified  by  stageName  from  API
77349              identified by restApiId
77350
77351              CLI Example:
77352
77353                 salt myminion boto_apigateway.flush_api_stage_cache restApiId stageName
77354
77355       salt.modules.boto_apigateway.overwrite_api_stage_variables(restApiId,
77356       stageName, variables, region=None, key=None, keyid=None, profile=None)
77357              Overwrite the stage variables for the given restApiId and  stage
77358              name  with the given variables, variables must be in the form of
77359              a dictionary.  Overwrite will always  remove  all  the  existing
77360              stage  variables  associated  with the given restApiId and stage
77361              name, follow by the adding of all the variables specified in the
77362              variables dictionary
77363
77364              CLI Example:
77365
77366                 salt myminion boto_apigateway.overwrite_api_stage_variables restApiId stageName variables='{"name": "value"}'
77367
77368       salt.modules.boto_apigateway.update_api_key_description(apiKey,
77369       description, region=None, key=None, keyid=None, profile=None)
77370              update the given apiKey with the given description.
77371
77372              CLI Example:
77373
77374                 salt myminion boto_apigateway.update_api_key_description api_key description
77375
77376       salt.modules.boto_apigateway.update_api_model_schema(restApiId,  model‐
77377       Name, schema, region=None, key=None, keyid=None, profile=None)
77378              update  the  schema  (in python dictionary format) for the given
77379              model in the given restApiId
77380
77381              CLI Example:
77382
77383                 salt myminion boto_apigateway.update_api_model_schema restApiId modelName schema
77384
77385       salt.modules.boto_apigateway.update_usage_plan(plan_id,  throttle=None,
77386       quota=None, region=None, key=None, keyid=None, profile=None)
77387              Updates an existing usage plan with throttling and quotas
77388
77389              New in version 2017.7.0.
77390
77391
77392              plan_id
77393                     Id of the created usage plan
77394
77395              throttle
77396                     A dictionary consisting of the following keys:
77397
77398                     rateLimit
77399                            requests per second at steady rate, float
77400
77401                     burstLimit
77402                            maximum number of requests per second, integer
77403
77404              quota  A dictionary consisting of the following keys:
77405
77406                     limit  number  of  allowed  requests  per specified quota
77407                            period [required if quota parameter is present]
77408
77409                     offset number of requests to be subtracted from limit  at
77410                            the beginning of the period [optional]
77411
77412                     period quota  period, must be one of DAY, WEEK, or MONTH.
77413                            [required if quota parameter is present
77414
77415              CLI Example:
77416
77417                 salt myminion boto_apigateway.update_usage_plan plan_id='usage plan id' throttle='{"rateLimit": 10.0, "burstLimit": 10}'
77418
77419   salt.modules.boto_asg
77420       Connection module for Amazon Autoscale Groups
77421
77422       New in version 2014.7.0.
77423
77424
77425       configuration
77426              This module accepts explicit autoscale credentials but can  also
77427              utilize IAM roles assigned to the instance through Instance Pro‐
77428              files.  Dynamic credentials are then automatically obtained from
77429              AWS API and no further configuration is necessary. More Informa‐
77430              tion available at:
77431
77432                 http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html
77433
77434              If IAM roles are not used you need to specify them either  in  a
77435              pillar or in the minion's config file:
77436
77437                 asg.keyid: GKTADJGHEIQSXMKKRBJ08H
77438                 asg.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
77439
77440              A region may also be specified in the configuration:
77441
77442                 asg.region: us-east-1
77443
77444              If a region is not specified, the default is us-east-1.
77445
77446              It's  also  possible to specify key, keyid and region via a pro‐
77447              file, either as a passed in dict, or as a string  to  pull  from
77448              pillars or minion config:
77449
77450                 myprofile:
77451                     keyid: GKTADJGHEIQSXMKKRBJ08H
77452                     key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
77453                     region: us-east-1
77454
77455       depends
77456              boto
77457
77458       depends
77459              boto3
77460
77461       salt.modules.boto_asg.create(name,    launch_config_name,    availabil‐
77462       ity_zones,   min_size,   max_size,   desired_capacity=None,   load_bal‐
77463       ancers=None,       default_cooldown=None,       health_check_type=None,
77464       health_check_period=None,    placement_group=None,     vpc_zone_identi‐
77465       fier=None,    tags=None,    termination_policies=None,   suspended_pro‐
77466       cesses=None,       scaling_policies=None,       scheduled_actions=None,
77467       region=None,  notification_arn=None, notification_types=None, key=None,
77468       keyid=None, profile=None)
77469              Create an autoscale group.
77470
77471              CLI example:
77472
77473                 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}]'
77474
77475       salt.modules.boto_asg.create_launch_configuration(name,       image_id,
77476       key_name=None,    vpc_id=None,   vpc_name=None,   security_groups=None,
77477       user_data=None,       instance_type=u'm1.small',        kernel_id=None,
77478       ramdisk_id=None, block_device_mappings=None, instance_monitoring=False,
77479       spot_price=None, instance_profile_name=None, ebs_optimized=False, asso‐
77480       ciate_public_ip_address=None,    volume_type=None,   delete_on_termina‐
77481       tion=True,   iops=None,   use_block_device_types=False,    region=None,
77482       key=None, keyid=None, profile=None)
77483              Create a launch configuration.
77484
77485              CLI example:
77486
77487                 salt myminion boto_asg.create_launch_configuration mylc image_id=ami-0b9c9f62 key_name='mykey' security_groups='["mygroup"]' instance_type='c3.2xlarge'
77488
77489       salt.modules.boto_asg.delete(name,  force=False, region=None, key=None,
77490       keyid=None, profile=None)
77491              Delete an autoscale group.
77492
77493              CLI example:
77494
77495                 salt myminion boto_asg.delete myasg region=us-east-1
77496
77497       salt.modules.boto_asg.delete_launch_configuration(name,    region=None,
77498       key=None, keyid=None, profile=None)
77499              Delete a launch configuration.
77500
77501              CLI example:
77502
77503                 salt myminion boto_asg.delete_launch_configuration mylc
77504
77505       salt.modules.boto_asg.describe_launch_configuration(name,  region=None,
77506       key=None, keyid=None, profile=None)
77507              Dump details of a given launch configuration.
77508
77509              CLI example:
77510
77511                 salt myminion boto_asg.describe_launch_configuration mylc
77512
77513       salt.modules.boto_asg.enter_standby(name,  instance_ids,  should_decre‐
77514       ment_desired_capacity=False,  region=None,  key=None,  keyid=None, pro‐
77515       file=None)
77516              Switch desired instances to StandBy mode
77517
77518              New in version 2016.11.0.
77519
77520
77521              CLI example:
77522
77523                 salt-call boto_asg.enter_standby my_autoscale_group_name '["i-xxxxxx"]'
77524
77525       salt.modules.boto_asg.exists(name, region=None,  key=None,  keyid=None,
77526       profile=None)
77527              Check to see if an autoscale group exists.
77528
77529              CLI example:
77530
77531                 salt myminion boto_asg.exists myasg region=us-east-1
77532
77533       salt.modules.boto_asg.exit_standby(name,   instance_ids,  should_decre‐
77534       ment_desired_capacity=False, region=None,  key=None,  keyid=None,  pro‐
77535       file=None)
77536              Exit desired instances from StandBy mode
77537
77538              New in version 2016.11.0.
77539
77540
77541              CLI example:
77542
77543                 salt-call boto_asg.exit_standby my_autoscale_group_name '["i-xxxxxx"]'
77544
77545       salt.modules.boto_asg.get_all_groups(region=None, key=None, keyid=None,
77546       profile=None)
77547              Return all AutoScale Groups visible in the account (as a list of
77548              boto.ec2.autoscale.group.AutoScalingGroup).
77549
77550              New in version 2016.11.0.
77551
77552
77553              CLI example:
77554
77555                 salt-call boto_asg.get_all_groups region=us-east-1 --output yaml
77556
77557       salt.modules.boto_asg.get_all_launch_configurations(region=None,
77558       key=None, keyid=None, profile=None)
77559              Fetch and return all Launch Configuration with details.
77560
77561              CLI example:
77562
77563                 salt myminion boto_asg.get_all_launch_configurations
77564
77565       salt.modules.boto_asg.get_cloud_init_mime(cloud_init)
77566              Get a mime multipart encoded string from a cloud-init dict. Cur‐
77567              rently supports boothooks, scripts and cloud-config.
77568
77569              CLI Example:
77570
77571                 salt myminion boto.get_cloud_init_mime <cloud init>
77572
77573       salt.modules.boto_asg.get_config(name,      region=None,      key=None,
77574       keyid=None, profile=None)
77575              Get the configuration for an autoscale group.
77576
77577              CLI example:
77578
77579                 salt myminion boto_asg.get_config myasg region=us-east-1
77580
77581       salt.modules.boto_asg.get_instances(name, lifecycle_state=u'InService',
77582       health_status=u'Healthy',              attribute=u'private_ip_address',
77583       attributes=None, region=None, key=None, keyid=None, profile=None)
77584              return attribute of all instances in the named autoscale group.
77585
77586              CLI example:
77587
77588                 salt-call boto_asg.get_instances my_autoscale_group_name
77589
77590       salt.modules.boto_asg.get_scaling_policy_arn(as_group,     scaling_pol‐
77591       icy_name, region=None, key=None, keyid=None, profile=None)
77592              Return  the  arn  for  a  scaling policy in a specific autoscale
77593              group or None if not found. Mainly used as a helper  method  for
77594              boto_cloudwatch_alarm, for linking alarms to scaling policies.
77595
77596              CLI Example:
77597
77598                 salt '*' boto_asg.get_scaling_policy_arn mygroup mypolicy
77599
77600       salt.modules.boto_asg.launch_configuration_exists(name,    region=None,
77601       key=None, keyid=None, profile=None)
77602              Check for a launch configuration's existence.
77603
77604              CLI example:
77605
77606                 salt myminion boto_asg.launch_configuration_exists mylc
77607
77608       salt.modules.boto_asg.list_groups(region=None,  key=None,   keyid=None,
77609       profile=None)
77610              Return all AutoScale Groups visible in the account (as a list of
77611              names).
77612
77613              New in version 2016.11.0.
77614
77615
77616              CLI example:
77617
77618                 salt-call boto_asg.list_groups region=us-east-1
77619
77620       salt.modules.boto_asg.list_launch_configurations(region=None, key=None,
77621       keyid=None, profile=None)
77622              List all Launch Configurations.
77623
77624              CLI example:
77625
77626                 salt myminion boto_asg.list_launch_configurations
77627
77628       salt.modules.boto_asg.update(name,    launch_config_name,    availabil‐
77629       ity_zones,   min_size,   max_size,   desired_capacity=None,   load_bal‐
77630       ancers=None,       default_cooldown=None,       health_check_type=None,
77631       health_check_period=None,    placement_group=None,     vpc_zone_identi‐
77632       fier=None,    tags=None,    termination_policies=None,   suspended_pro‐
77633       cesses=None, scaling_policies=None,  scheduled_actions=None,  notifica‐
77634       tion_arn=None,    notification_types=None,    region=None,    key=None,
77635       keyid=None, profile=None)
77636              Update an autoscale group.
77637
77638              CLI example:
77639
77640                 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}]'
77641
77642   salt.modules.boto_cfn
77643       Connection module for Amazon Cloud Formation
77644
77645       New in version 2015.5.0.
77646
77647
77648       configuration
77649              This module accepts explicit AWS credentials but can  also  uti‐
77650              lize  IAM  roles  assigned to the instance through Instance Pro‐
77651              files. Dynamic credentials are then automatically obtained  from
77652              AWS API and no further configuration is necessary. More Informa‐
77653              tion available at:
77654
77655                 http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html
77656
77657              If IAM roles are not used you need to specify them either  in  a
77658              pillar or in the minion's config file:
77659
77660                 cfn.keyid: GKTADJGHEIQSXMKKRBJ08H
77661                 cfn.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
77662
77663              A region may also be specified in the configuration:
77664
77665                 cfn.region: us-east-1
77666
77667       depends
77668              boto
77669
77670       salt.modules.boto_cfn.create(name,       template_body=None,       tem‐
77671       plate_url=None, parameters=None, notification_arns=None,  disable_roll‐
77672       back=None,   timeout_in_minutes=None,   capabilities=None,   tags=None,
77673       on_failure=None,     stack_policy_body=None,     stack_policy_url=None,
77674       region=None, key=None, keyid=None, profile=None)
77675              Create a CFN stack.
77676
77677              CLI Example:
77678
77679                 salt myminion boto_cfn.create mystack template_url='https://s3.amazonaws.com/bucket/template.cft'         region=us-east-1
77680
77681       salt.modules.boto_cfn.delete(name,  region=None,  key=None, keyid=None,
77682       profile=None)
77683              Delete a CFN stack.
77684
77685              CLI Example:
77686
77687                 salt myminion boto_cfn.delete mystack region=us-east-1
77688
77689       salt.modules.boto_cfn.describe(name, region=None, key=None, keyid=None,
77690       profile=None)
77691              Describe a stack.
77692
77693              New in version 2015.8.0.
77694
77695
77696              CLI Example:
77697
77698                 salt myminion boto_cfn.describe mystack region=us-east-1
77699
77700       salt.modules.boto_cfn.exists(name,  region=None,  key=None, keyid=None,
77701       profile=None)
77702              Check to see if a stack exists.
77703
77704              CLI Example:
77705
77706                 salt myminion boto_cfn.exists mystack region=us-east-1
77707
77708       salt.modules.boto_cfn.get_template(name,     region=None,     key=None,
77709       keyid=None, profile=None)
77710              Check to see if attributes are set on a CFN stack.
77711
77712              CLI Example:
77713
77714                 salt myminion boto_cfn.get_template mystack
77715
77716       salt.modules.boto_cfn.update_stack(name,    template_body=None,    tem‐
77717       plate_url=None, parameters=None, notification_arns=None,  disable_roll‐
77718       back=False,   timeout_in_minutes=None,   capabilities=None,  tags=None,
77719       use_previous_template=None,       stack_policy_during_update_body=None,
77720       stack_policy_during_update_url=None, stack_policy_body=None, stack_pol‐
77721       icy_url=None, region=None, key=None, keyid=None, profile=None)
77722              Update a CFN stack.
77723
77724              New in version 2015.8.0.
77725
77726
77727              CLI Example:
77728
77729                 salt myminion boto_cfn.update_stack mystack template_url='https://s3.amazonaws.com/bucket/template.cft'         region=us-east-1
77730
77731       salt.modules.boto_cfn.validate_template(template_body=None,        tem‐
77732       plate_url=None, region=None, key=None, keyid=None, profile=None)
77733              Validate cloudformation template
77734
77735              New in version 2015.8.0.
77736
77737
77738              CLI Example:
77739
77740                 salt myminion boto_cfn.validate_template mystack-template
77741
77742   salt.modules.boto_cloudfront
77743       Connection module for Amazon CloudFront
77744
77745       New in version 2018.3.0.
77746
77747
77748       depends
77749              boto3
77750
77751       configuration
77752              This  module  accepts explicit AWS credentials but can also uti‐
77753              lize IAM roles assigned to the instance  through  Instance  Pro‐
77754              files  or  it  can read them from the ~/.aws/credentials file or
77755              from    these    environment    variables:    AWS_ACCESS_KEY_ID,
77756              AWS_SECRET_ACCESS_KEY.   Dynamic  credentials are then automati‐
77757              cally obtained from AWS API and no further configuration is nec‐
77758              essary. More information available at:
77759
77760                 http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/
77761                     iam-roles-for-amazon-ec2.html
77762
77763                 http://boto3.readthedocs.io/en/latest/guide/
77764                     configuration.html#guide-configuration
77765
77766              If  IAM  roles are not used you need to specify them either in a
77767              pillar or in the minion's config file:
77768
77769                 cloudfront.keyid: GKTADJGHEIQSXMKKRBJ08H
77770                 cloudfront.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
77771
77772              A region may also be specified in the configuration:
77773
77774                 cloudfront.region: us-east-1
77775
77776              If a region is not specified, the default is us-east-1.
77777
77778              It's also possible to specify key, keyid and region via  a  pro‐
77779              file,  either  as  a passed in dict, or as a string to pull from
77780              pillars or minion config:
77781
77782                 myprofile:
77783                     keyid: GKTADJGHEIQSXMKKRBJ08H
77784                     key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
77785                     region: us-east-1
77786
77787       salt.modules.boto_cloudfront.create_distribution(name,          config,
77788       tags=None, region=None, key=None, keyid=None, profile=None)
77789              Create  a  CloudFront  distribution with the given name, config,
77790              and (optionally) tags.
77791
77792              name   Name for the CloudFront distribution
77793
77794              config Configuration for the distribution
77795
77796              tags   Tags to associate with the distribution
77797
77798              region Region to connect to
77799
77800              key    Secret key to use
77801
77802              keyid  Access key to use
77803
77804              profile
77805                     A dict with region, key,  and  keyid,  or  a  pillar  key
77806                     (string) that contains such a dict.
77807
77808              CLI Example:
77809
77810                 salt myminion boto_cloudfront.create_distribution name=mydistribution profile=awsprofile             config='{"Comment":"partial configuration","Enabled":true}'
77811
77812       salt.modules.boto_cloudfront.export_distributions(region=None,
77813       key=None, keyid=None, profile=None)
77814              Get details of all CloudFront distributions.   Produces  results
77815              that can be used to create an SLS file.
77816
77817              CLI Example:
77818
77819                 salt-call boto_cloudfront.export_distributions --out=txt |            sed "s/local: //" > cloudfront_distributions.sls
77820
77821       salt.modules.boto_cloudfront.get_distribution(name,        region=None,
77822       key=None, keyid=None, profile=None)
77823              Get information about a CloudFront distribution  (configuration,
77824              tags) with a given name.
77825
77826              name   Name of the CloudFront distribution
77827
77828              region Region to connect to
77829
77830              key    Secret key to use
77831
77832              keyid  Access key to use
77833
77834              profile
77835                     A  dict  with  region,  key,  and  keyid, or a pillar key
77836                     (string) that contains such a dict.
77837
77838              CLI Example:
77839
77840                 salt myminion boto_cloudfront.get_distribution name=mydistribution profile=awsprofile
77841
77842       salt.modules.boto_cloudfront.update_distribution(name,          config,
77843       tags=None, region=None, key=None, keyid=None, profile=None)
77844              Update  the config (and optionally tags) for the CloudFront dis‐
77845              tribution with the given name.
77846
77847              name   Name of the CloudFront distribution
77848
77849              config Configuration for the distribution
77850
77851              tags   Tags to associate with the distribution
77852
77853              region Region to connect to
77854
77855              key    Secret key to use
77856
77857              keyid  Access key to use
77858
77859              profile
77860                     A dict with region, key,  and  keyid,  or  a  pillar  key
77861                     (string) that contains such a dict.
77862
77863              CLI Example:
77864
77865                 salt myminion boto_cloudfront.update_distribution name=mydistribution profile=awsprofile             config='{"Comment":"partial configuration","Enabled":true}'
77866
77867   salt.modules.boto_cloudtrail module
77868       Connection module for Amazon CloudTrail
77869
77870       New in version 2016.3.0.
77871
77872
77873       depends
77874
77875              · boto
77876
77877              · boto3
77878
77879       The dependencies listed above can be installed via package or pip.
77880
77881       configuration
77882              This  module  accepts  explicit  Lambda credentials but can also
77883              utilize IAM roles assigned to the instance through Instance Pro‐
77884              files.  Dynamic credentials are then automatically obtained from
77885              AWS API and no further configuration is necessary. More Informa‐
77886              tion available at:
77887
77888                 http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html
77889
77890              If  IAM  roles are not used you need to specify them either in a
77891              pillar or in the minion's config file:
77892
77893                 cloudtrail.keyid: GKTADJGHEIQSXMKKRBJ08H
77894                 cloudtrail.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
77895
77896              A region may also be specified in the configuration:
77897
77898                 cloudtrail.region: us-east-1
77899
77900              If a region is not specified, the default is us-east-1.
77901
77902              It's also possible to specify key, keyid and region via  a  pro‐
77903              file,  either  as  a passed in dict, or as a string to pull from
77904              pillars or minion config:
77905
77906                 myprofile:
77907                     keyid: GKTADJGHEIQSXMKKRBJ08H
77908                     key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
77909                     region: us-east-1
77910
77911       salt.modules.boto_cloudtrail.add_tags(Name,   region=None,    key=None,
77912       keyid=None, profile=None, **kwargs)
77913              Add tags to a trail
77914
77915              Returns  {tagged:  true}  if  the  trail  was tagged and returns
77916              {tagged: False} if the trail was not tagged.
77917
77918              CLI Example:
77919
77920                 salt myminion boto_cloudtrail.add_tags my_trail tag_a=tag_value tag_b=tag_value
77921
77922       salt.modules.boto_cloudtrail.create(Name,    S3BucketName,    S3KeyPre‐
77923       fix=None,  SnsTopicName=None, IncludeGlobalServiceEvents=None, IsMulti‐
77924       RegionTrail=None,   EnableLogFileValidation=None,    CloudWatchLogsLog‐
77925       GroupArn=None,  CloudWatchLogsRoleArn=None, KmsKeyId=None, region=None,
77926       key=None, keyid=None, profile=None)
77927              Given a valid config, create a trail.
77928
77929              Returns {created: true} if the trail  was  created  and  returns
77930              {created: False} if the trail was not created.
77931
77932              CLI Example:
77933
77934                 salt myminion boto_cloudtrail.create my_trail my_bucket
77935
77936       salt.modules.boto_cloudtrail.delete(Name,     region=None,    key=None,
77937       keyid=None, profile=None)
77938              Given a trail name, delete it.
77939
77940              Returns {deleted: true} if the trail  was  deleted  and  returns
77941              {deleted: false} if the trail was not deleted.
77942
77943              CLI Example:
77944
77945                 salt myminion boto_cloudtrail.delete mytrail
77946
77947       salt.modules.boto_cloudtrail.describe(Name,    region=None,   key=None,
77948       keyid=None, profile=None)
77949              Given a trail name describe its properties.
77950
77951              Returns a dictionary of interesting properties.
77952
77953              CLI Example:
77954
77955                 salt myminion boto_cloudtrail.describe mytrail
77956
77957       salt.modules.boto_cloudtrail.exists(Name,    region=None,     key=None,
77958       keyid=None, profile=None)
77959              Given a trail name, check to see if the given trail exists.
77960
77961              Returns  True if the given trail exists and returns False if the
77962              given trail does not exist.
77963
77964              CLI Example:
77965
77966                 salt myminion boto_cloudtrail.exists mytrail
77967
77968       salt.modules.boto_cloudtrail.list(region=None,  key=None,   keyid=None,
77969       profile=None)
77970              List all trails
77971
77972              Returns list of trails
77973
77974              CLI Example:
77975
77976                 policies:
77977                   - {...}
77978                   - {...}
77979
77980       salt.modules.boto_cloudtrail.list_tags(Name,   region=None,   key=None,
77981       keyid=None, profile=None)
77982              List tags of a trail
77983
77984              Returns
77985
77986                     · {...}
77987
77988                     · {...}
77989
77990
77991              Return type
77992                     tags
77993
77994              CLI Example:
77995
77996                 salt myminion boto_cloudtrail.list_tags my_trail
77997
77998       salt.modules.boto_cloudtrail.remove_tags(Name,  region=None,  key=None,
77999       keyid=None, profile=None, **kwargs)
78000              Remove tags from a trail
78001
78002              Returns  {tagged:  true}  if  the  trail  was tagged and returns
78003              {tagged: False} if the trail was not tagged.
78004
78005              CLI Example:
78006
78007                 salt myminion boto_cloudtrail.remove_tags my_trail tag_a=tag_value tag_b=tag_value
78008
78009       salt.modules.boto_cloudtrail.start_logging(Name, region=None, key=None,
78010       keyid=None, profile=None)
78011              Start logging for a trail
78012
78013              Returns  {started:  true}  if  the trail was started and returns
78014              {started: False} if the trail was not started.
78015
78016              CLI Example:
78017
78018                 salt myminion boto_cloudtrail.start_logging my_trail
78019
78020       salt.modules.boto_cloudtrail.status(Name,    region=None,     key=None,
78021       keyid=None, profile=None)
78022              Given a trail name describe its properties.
78023
78024              Returns a dictionary of interesting properties.
78025
78026              CLI Example:
78027
78028                 salt myminion boto_cloudtrail.describe mytrail
78029
78030       salt.modules.boto_cloudtrail.stop_logging(Name,  region=None, key=None,
78031       keyid=None, profile=None)
78032              Stop logging for a trail
78033
78034              Returns {stopped: true} if the trail  was  stopped  and  returns
78035              {stopped: False} if the trail was not stopped.
78036
78037              CLI Example:
78038
78039                 salt myminion boto_cloudtrail.stop_logging my_trail
78040
78041       salt.modules.boto_cloudtrail.update(Name,    S3BucketName,    S3KeyPre‐
78042       fix=None, SnsTopicName=None, IncludeGlobalServiceEvents=None,  IsMulti‐
78043       RegionTrail=None,    EnableLogFileValidation=None,   CloudWatchLogsLog‐
78044       GroupArn=None, CloudWatchLogsRoleArn=None, KmsKeyId=None,  region=None,
78045       key=None, keyid=None, profile=None)
78046              Given a valid config, update a trail.
78047
78048              Returns  {created:  true}  if  the trail was created and returns
78049              {created: False} if the trail was not created.
78050
78051              CLI Example:
78052
78053                 salt myminion boto_cloudtrail.update my_trail my_bucket
78054
78055   salt.modules.boto_cloudwatch
78056       Connection module for Amazon CloudWatch
78057
78058       New in version 2014.7.0.
78059
78060
78061       configuration
78062              This module accepts explicit credentials but  can  also  utilize
78063              IAM  roles  assigned  to the instance through Instance Profiles.
78064              Dynamic credentials are then automatically obtained from AWS API
78065              and  no  further  configuration  is  necessary. More Information
78066              available at:
78067
78068                 http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html
78069
78070              If IAM roles are not used you need to specify them either  in  a
78071              pillar or in the minion's config file:
78072
78073                 cloudwatch.keyid: GKTADJGHEIQSXMKKRBJ08H
78074                 cloudwatch.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
78075
78076              A region may also be specified in the configuration:
78077
78078                 cloudwatch.region: us-east-1
78079
78080              If a region is not specified, the default is us-east-1.
78081
78082              It's  also  possible to specify key, keyid and region via a pro‐
78083              file, either as a passed in dict, or as a string  to  pull  from
78084              pillars or minion config:
78085
78086                 myprofile:
78087                     keyid: GKTADJGHEIQSXMKKRBJ08H
78088                     key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
78089                     region: us-east-1
78090
78091       depends
78092              boto
78093
78094       salt.modules.boto_cloudwatch.convert_to_arn(arns,          region=None,
78095       key=None, keyid=None, profile=None)
78096              Convert a list of strings into actual arns. Converts convenience
78097              names such as 'scaling_policy:...'
78098
78099              CLI Example:
78100
78101                 salt '*' convert_to_arn 'scaling_policy:'
78102
78103       salt.modules.boto_cloudwatch.create_or_update_alarm(connection=None,
78104       name=None,  metric=None,   namespace=None,   statistic=None,   compari‐
78105       son=None,    threshold=None,    period=None,   evaluation_periods=None,
78106       unit=None, description=u'', dimensions=None, alarm_actions=None, insuf‐
78107       ficient_data_actions=None,   ok_actions=None,   region=None,  key=None,
78108       keyid=None, profile=None)
78109              Create or update a cloudwatch alarm.
78110
78111              Params are the same as:
78112                     https://boto.readthedocs.io/en/latest/ref/cloudwatch.html#boto.ec2.cloudwatch.alarm.MetricAlarm.
78113
78114              Dimensions  must  be  a  dict.  If  the value of Dimensions is a
78115              string,  it  will  be  json   decoded   to   produce   a   dict.
78116              alarm_actions, insufficient_data_actions, and ok_actions must be
78117              lists of string.  If the passed-in value is a string, it will be
78118              split  on  ","  to  produce  a  list. The strings themselves for
78119              alarm_actions, insufficient_data_actions, and ok_actions must be
78120              Amazon  resource  names  (ARN's); however, this method also sup‐
78121              ports an arn lookup notation, as follows:
78122                 arn:aws:....                                     ARN  as  per
78123                 http://docs.aws.amazon.com/general/lat
78124                 est/gr/aws-arns-and-namespaces.html              scaling_pol‐
78125                 icy:<as_name>:<scaling_policy_name>    The   named  autoscale
78126                 group scaling policy, for the named group (e.g.  scaling_pol‐
78127                 icy:my-asg:ScaleDown)
78128
78129              This is convenient for setting up autoscaling as follows.  First
78130              specify a boto_asg.present state for an ASG  with  scaling_poli‐
78131              cies, and then set up boto_cloudwatch_alarm.present states which
78132              have alarm_actions that reference the scaling_policy.
78133
78134              CLI example:
78135                 salt myminion boto_cloudwatch.create_alarm  name=myalarm  ...
78136                 region=us-east-1
78137
78138       salt.modules.boto_cloudwatch.delete_alarm(name,  region=None, key=None,
78139       keyid=None, profile=None)
78140              Delete a cloudwatch alarm
78141
78142              CLI example to delete a queue:
78143
78144                 salt myminion boto_cloudwatch.delete_alarm myalarm region=us-east-1
78145
78146       salt.modules.boto_cloudwatch.get_alarm(name,   region=None,   key=None,
78147       keyid=None, profile=None)
78148              Get  alarm details. Also can be used to check to see if an alarm
78149              exists.
78150
78151              CLI example:
78152
78153                 salt myminion boto_cloudwatch.get_alarm myalarm region=us-east-1
78154
78155       salt.modules.boto_cloudwatch.get_all_alarms(region=None,   prefix=None,
78156       key=None, keyid=None, profile=None)
78157              Get  all  alarm  details.   Produces results that can be used to
78158              create an sls file.
78159
78160              If prefix parameter is given, alarm names in the output will  be
78161              prepended  with  the prefix; alarms that have the prefix will be
78162              skipped.  This can be used to convert existing alarms to be man‐
78163              aged by salt, as follows:
78164
78165                 1.
78166
78167                    Make a backup of all existing alarms
78168                           $      salt-call     boto_cloudwatch.get_all_alarms
78169                           --out=txt | sed "s/local: //" > legacy_alarms.sls
78170
78171                 2.
78172
78173                    Get all alarms with new prefixed names
78174                           $  salt-call  boto_cloudwatch.get_all_alarms  "pre‐
78175                           fix=**MANAGED BY SALT** " --out=txt | sed "s/local:
78176                           //" > managed_alarms.sls
78177
78178                 3.
78179
78180                    Insert the managed alarms into cloudwatch
78181                           $ salt-call state.template managed_alarms.sls
78182
78183                 4. Manually verify that the new alarms look right
78184
78185                 5. Delete  the  original  alarms  $   sed   s/present/absent/
78186                    legacy_alarms.sls  >  remove_legacy_alarms.sls $ salt-call
78187                    state.template remove_legacy_alarms.sls
78188
78189                 6. Get all  alarms  again,  verify  no  changes  $  salt-call
78190                    boto_cloudwatch.get_all_alarms  --out=txt  | sed "s/local:
78191                    //"  >  final_alarms.sls  $  diff  final_alarms.sls   man‐
78192                    aged_alarms.sls
78193
78194              CLI example:
78195
78196                 salt myminion boto_cloudwatch.get_all_alarms region=us-east-1 --out=txt
78197
78198   salt.modules.boto_cloudwatch_event module
78199       Connection module for Amazon CloudWatch Events
78200
78201       New in version 2016.11.0.
78202
78203
78204       configuration
78205              This  module  accepts  explicit credentials but can also utilize
78206              IAM roles assigned to the instance  through  Instance  Profiles.
78207              Dynamic credentials are then automatically obtained from AWS API
78208              and no further  configuration  is  necessary.  More  Information
78209              available at:
78210
78211                 http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html
78212
78213              If  IAM  roles are not used you need to specify them either in a
78214              pillar or in the minion's config file:
78215
78216                 cloudwatch_event.keyid: GKTADJGHEIQSXMKKRBJ08H
78217                 cloudwatch_event.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
78218
78219              A region may also be specified in the configuration:
78220
78221                 cloudwatch_event.region: us-east-1
78222
78223              If a region is not specified, the default is us-east-1.
78224
78225              It's also possible to specify key, keyid and region via  a  pro‐
78226              file,  either  as  a passed in dict, or as a string to pull from
78227              pillars or minion config:
78228
78229                 myprofile:
78230                     keyid: GKTADJGHEIQSXMKKRBJ08H
78231                     key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
78232                     region: us-east-1
78233
78234       depends
78235              boto3
78236
78237       salt.modules.boto_cloudwatch_event.create_or_update(Name,   ScheduleEx‐
78238       pression=None,   EventPattern=None,   Description=None,   RoleArn=None,
78239       State=None, region=None, key=None, keyid=None, profile=None)
78240              Given a valid config, create an event rule.
78241
78242              Returns {created: true} if the  rule  was  created  and  returns
78243              {created: False} if the rule was not created.
78244
78245              CLI Example:
78246
78247                 salt myminion boto_cloudwatch_event.create_or_update my_rule
78248
78249       salt.modules.boto_cloudwatch_event.delete(Name,  region=None, key=None,
78250       keyid=None, profile=None)
78251              Given a rule name, delete it.
78252
78253              Returns {deleted: true} if the  rule  was  deleted  and  returns
78254              {deleted: false} if the rule was not deleted.
78255
78256              CLI Example:
78257
78258                 salt myminion boto_cloudwatch_event.delete myrule
78259
78260       salt.modules.boto_cloudwatch_event.describe(Name,          region=None,
78261       key=None, keyid=None, profile=None)
78262              Given a rule name describe its properties.
78263
78264              Returns a dictionary of interesting properties.
78265
78266              CLI Example:
78267
78268                 salt myminion boto_cloudwatch_event.describe myrule
78269
78270       salt.modules.boto_cloudwatch_event.exists(Name, region=None,  key=None,
78271       keyid=None, profile=None)
78272              Given a rule name, check to see if the given rule exists.
78273
78274              Returns  True  if the given rule exists and returns False if the
78275              given rule does not exist.
78276
78277              CLI example:
78278
78279                 salt myminion boto_cloudwatch_event.exists myevent region=us-east-1
78280
78281       salt.modules.boto_cloudwatch_event.list_rules(region=None,    key=None,
78282       keyid=None, profile=None)
78283              List,  with  details,  all Cloudwatch Event rules visible in the
78284              current scope.
78285
78286              CLI example:
78287
78288                 salt myminion boto_cloudwatch_event.list_rules region=us-east-1
78289
78290       salt.modules.boto_cloudwatch_event.list_targets(Rule,      region=None,
78291       key=None, keyid=None, profile=None)
78292              Given a rule name list the targets of that rule.
78293
78294              Returns a dictionary of interesting properties.
78295
78296              CLI Example:
78297
78298                 salt myminion boto_cloudwatch_event.list_targets myrule
78299
78300       salt.modules.boto_cloudwatch_event.put_targets(Rule,           Targets,
78301       region=None, key=None, keyid=None, profile=None)
78302              Add the given targets to the given rule
78303
78304              Returns a dictionary describing any failures.
78305
78306              CLI Example:
78307
78308                 salt myminion boto_cloudwatch_event.put_targets myrule [{'Id': 'target1', 'Arn': 'arn:***'}]
78309
78310       salt.modules.boto_cloudwatch_event.remove_targets(Rule,            Ids,
78311       region=None, key=None, keyid=None, profile=None)
78312              Given a rule name remove the named targets from the target list
78313
78314              Returns a dictionary describing any failures.
78315
78316              CLI Example:
78317
78318                 salt myminion boto_cloudwatch_event.remove_targets myrule ['Target1']
78319
78320   salt.modules.boto_cognitoidentity module
78321       Connection module for Amazon CognitoIdentity
78322
78323       New in version 2016.11.0.
78324
78325
78326       configuration
78327              This module accepts explicit CognitoIdentity credentials but can
78328              also utilize IAM roles assigned to the instance trough  Instance
78329              Profiles.   Dynamic  credentials are then automatically obtained
78330              from AWS API and no further  configuration  is  necessary.  More
78331              Information available at:
78332
78333                 http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html
78334
78335              If  IAM  roles are not used you need to specify them either in a
78336              pillar or in the minion's config file:
78337
78338                 cognitoidentity.keyid: GKTADJGHEIQSXMKKRBJ08H
78339                 cognitoidentity.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
78340
78341              A region may also be specified in the configuration:
78342
78343                 cognitoidentity.region: us-east-1
78344
78345              If a region is not specified, the default is us-east-1.
78346
78347              It's also possible to specify key, keyid and region via  a  pro‐
78348              file,  either  as  a passed in dict, or as a string to pull from
78349              pillars or minion config:
78350
78351                 myprofile:
78352                     keyid: GKTADJGHEIQSXMKKRBJ08H
78353                     key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
78354                     region: us-east-1
78355
78356       Changed in version 2015.8.0: All methods now return a dictionary.  Cre‐
78357       ate, delete, set, and update methods return:
78358
78359          created: true
78360
78361       or
78362
78363          created: false
78364          error:
78365            message: error message
78366
78367       Request methods (e.g., describe_identity_pools) return:
78368
78369          identity_pools:
78370            - {...}
78371            - {...}
78372
78373       or
78374
78375          error:
78376            message: error message
78377
78378
78379       depends
78380              boto3
78381
78382       salt.modules.boto_cognitoidentity.create_identity_pool(IdentityPool‐
78383       Name,       AllowUnauthenticatedIdentities=False,       SupportedLogin‐
78384       Providers=None,    DeveloperProviderName=None,   OpenIdConnectProvider‐
78385       ARNs=None, region=None, key=None, keyid=None, profile=None)
78386              Creates a new identity pool.  All parameters except for  Identi‐
78387              tyPoolName  is  optional.   SupportedLoginProviders  should be a
78388              dictionary mapping provider names to provider app IDs.   OpenId‐
78389              ConnectProviderARNs  should be a list of OpenID Connect provider
78390              ARNs.
78391
78392              Returns the created identity pool if successful
78393
78394              CLI Example:
78395
78396                 salt myminion boto_cognitoidentity.create_identity_pool my_id_pool_name                              DeveloperProviderName=custom_developer_provider
78397
78398       salt.modules.boto_cognitoidentity.delete_identity_pools(IdentityPool‐
78399       Name,  IdentityPoolId=None,  region=None,  key=None,  keyid=None,  pro‐
78400       file=None)
78401              Given an identity pool name, (optionally if an identity pool  id
78402              is given, the given name will be ignored)
78403
78404              Deletes  all identity pools matching the given name, or the spe‐
78405              cific identity pool with the given identity pool id.
78406
78407              CLI Example:
78408
78409                 salt myminion boto_cognitoidentity.delete_identity_pools my_id_pool_name
78410                 salt myminion boto_cognitoidentity.delete_identity_pools '' IdentityPoolId=my_id_pool_id
78411
78412       salt.modules.boto_cognitoidentity.describe_identity_pools(IdentityPool‐
78413       Name,  IdentityPoolId=None,  region=None,  key=None,  keyid=None,  pro‐
78414       file=None)
78415              Given an identity pool name, (optionally if an identity pool  id
78416              is given, the given name will be ignored)
78417
78418              Returns a list of matched identity pool name's pool properties
78419
78420              CLI Example:
78421
78422                 salt myminion boto_cognitoidentity.describe_identity_pools my_id_pool_name
78423                 salt myminion boto_cognitoidentity.describe_identity_pools '' IdentityPoolId=my_id_pool_id
78424
78425       salt.modules.boto_cognitoidentity.get_identity_pool_roles(IdentityPool‐
78426       Name,  IdentityPoolId=None,  region=None,  key=None,  keyid=None,  pro‐
78427       file=None)
78428              Given  an identity pool name, (optionally if an identity pool id
78429              if given, the given name will be ignored)
78430
78431              Returns a list of matched identity pool name's associated roles
78432
78433              CLI Example:
78434
78435                 salt myminion boto_cognitoidentity.get_identity_pool_roles my_id_pool_name
78436                 salt myminion boto_cognitoidentity.get_identity_pool_roles '' IdentityPoolId=my_id_pool_id
78437
78438       salt.modules.boto_cognitoidentity.set_identity_pool_roles(Identity‐
78439       PoolId,  AuthenticatedRole=None, UnauthenticatedRole=None, region=None,
78440       key=None, keyid=None, profile=None)
78441              Given an identity pool id, set the given  AuthenticatedRole  and
78442              UnauthenticatedRole (the Role can be an iam arn, or a role name)
78443              If AuthenticatedRole or UnauthenticatedRole is  not  given,  the
78444              authenticated  and/or the unauthenticated role associated previ‐
78445              ously with the pool will be cleared.
78446
78447              Returns set True if successful, set False if  unsuccessful  with
78448              the associated errors.
78449
78450              CLI Example:
78451
78452                 salt myminion boto_cognitoidentity.set_identity_pool_roles my_id_pool_roles  # this clears the roles
78453                 salt myminion boto_cognitoidentity.set_identity_pool_roles my_id_pool_id             AuthenticatedRole=my_auth_role UnauthenticatedRole=my_unauth_role  # this set both roles
78454                 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
78455                 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
78456
78457       salt.modules.boto_cognitoidentity.update_identity_pool(IdentityPoolId,
78458       IdentityPoolName=None, AllowUnauthenticatedIdentities=False, Supported‐
78459       LoginProviders=None, DeveloperProviderName=None, OpenIdConnectProvider‐
78460       ARNs=None, region=None, key=None, keyid=None, profile=None)
78461              Updates the given IdentityPoolId's properties.   All  parameters
78462              except for IdentityPoolId, is optional.  SupportedLoginProviders
78463              should be a dictionary mapping provider names  to  provider  app
78464              IDs.   OpenIdConnectProviderARNs should be a list of OpenID Con‐
78465              nect provider ARNs.
78466
78467              To clear SupportedLoginProviders pass '{}'
78468
78469              To clear OpenIdConnectProviderARNs pass '[]'
78470
78471              boto3 api prevents DeveloperProviderName to be updated after  it
78472              has been set for the first time.
78473
78474              Returns the updated identity pool if successful
78475
78476              CLI Example:
78477
78478                 salt myminion boto_cognitoidentity.update_identity_pool my_id_pool_id my_id_pool_name                              DeveloperProviderName=custom_developer_provider
78479
78480   salt.modules.boto_datapipeline module
78481       Connection module for Amazon Data Pipeline
78482
78483       New in version 2016.3.0.
78484
78485
78486       depends
78487              boto3
78488
78489       salt.modules.boto_datapipeline.activate_pipeline(pipeline_id,
78490       region=None, key=None, keyid=None, profile=None)
78491              Start processing pipeline tasks. This function is idempotent.
78492
78493              CLI example:
78494
78495                 salt myminion boto_datapipeline.activate_pipeline my_pipeline_id
78496
78497       salt.modules.boto_datapipeline.create_pipeline(name,         unique_id,
78498       description=u'', region=None, key=None, keyid=None, profile=None)
78499              Create a new, empty pipeline. This function is idempotent.
78500
78501              CLI example:
78502
78503                 salt myminion boto_datapipeline.create_pipeline my_name my_unique_id
78504
78505       salt.modules.boto_datapipeline.delete_pipeline(pipeline_id,
78506       region=None, key=None, keyid=None, profile=None)
78507              Delete a pipeline, its pipeline definition, and its run history.
78508              This function is idempotent.
78509
78510              CLI example:
78511
78512                 salt myminion boto_datapipeline.delete_pipeline my_pipeline_id
78513
78514       salt.modules.boto_datapipeline.describe_pipelines(pipeline_ids,
78515       region=None, key=None, keyid=None, profile=None)
78516              Retrieve metadata about one or more pipelines.
78517
78518              CLI example:
78519
78520                 salt myminion boto_datapipeline.describe_pipelines ['my_pipeline_id']
78521
78522       salt.modules.boto_datapipeline.get_pipeline_definition(pipeline_id,
78523       version=u'latest', region=None, key=None, keyid=None, profile=None)
78524              Get the definition of the specified pipeline.
78525
78526              CLI example:
78527
78528                 salt myminion boto_datapipeline.get_pipeline_definition my_pipeline_id
78529
78530       salt.modules.boto_datapipeline.list_pipelines(region=None,    key=None,
78531       keyid=None, profile=None)
78532              Get a list of pipeline ids and names for all pipelines.
78533
78534              CLI Example:
78535
78536                 salt myminion boto_datapipeline.list_pipelines profile=myprofile
78537
78538       salt.modules.boto_datapipeline.pipeline_id_from_name(name, region=None,
78539       key=None, keyid=None, profile=None)
78540              Get the pipeline id, if it exists, for the given name.
78541
78542              CLI example:
78543
78544                 salt myminion boto_datapipeline.pipeline_id_from_name my_pipeline_name
78545
78546       salt.modules.boto_datapipeline.put_pipeline_definition(pipeline_id,
78547       pipeline_objects,    parameter_objects=None,     parameter_values=None,
78548       region=None, key=None, keyid=None, profile=None)
78549              Add  tasks,  schedules, and preconditions to the specified pipe‐
78550              line. This function is idempotent and will replace  an  existing
78551              definition.
78552
78553              CLI example:
78554
78555                 salt myminion boto_datapipeline.put_pipeline_definition my_pipeline_id my_pipeline_objects
78556
78557   salt.modules.boto_dynamodb
78558       Connection module for Amazon DynamoDB
78559
78560       New in version 2015.5.0.
78561
78562
78563       configuration
78564              This  module  accepts explicit DynamoDB credentials but can also
78565              utilize IAM roles assigned to the instance through Instance Pro‐
78566              files.  Dynamic credentials are then automatically obtained from
78567              AWS API and no further configuration is necessary. More Informa‐
78568              tion available at:
78569
78570                 http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html
78571
78572              If  IAM  roles are not used you need to specify them either in a
78573              pillar or in the minion's config file:
78574
78575                 keyid: GKTADJGHEIQSXMKKRBJ08H
78576                 key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
78577
78578              A region may also be specified in the configuration:
78579
78580                 region: us-east-1
78581
78582              If a region is not specified, the default is us-east-1.
78583
78584              It's also possible to specify key, keyid and region via  a  pro‐
78585              file,  either  as  a passed in dict, or as a string to pull from
78586              pillars or minion config:
78587
78588                 myprofile:
78589                     keyid: GKTADJGHEIQSXMKKRBJ08H
78590                     key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
78591                     region: us-east-1
78592
78593       depends
78594              boto
78595
78596       salt.modules.boto_dynamodb.create_global_secondary_index(table_name,
78597       global_index, region=None, key=None, keyid=None, profile=None)
78598              Creates a single global secondary index on a DynamoDB table.
78599
78600              CLI Example:
78601                 salt myminion boto_dynamodb.create_global_secondary_index ta‐
78602                 ble_name / index_name
78603
78604       salt.modules.boto_dynamodb.create_table(table_name,        region=None,
78605       key=None,     keyid=None,    profile=None,    read_capacity_units=None,
78606       write_capacity_units=None,   hash_key=None,    hash_key_data_type=None,
78607       range_key=None,      range_key_data_type=None,      local_indexes=None,
78608       global_indexes=None)
78609              Creates a DynamoDB table.
78610
78611              CLI Example:
78612
78613                 salt myminion boto_dynamodb.create_table table_name /
78614                 region=us-east-1 /
78615                 hash_key=id /
78616                 hash_key_data_type=N /
78617                 range_key=created_at /
78618                 range_key_data_type=N /
78619                 read_capacity_units=1 /
78620                 write_capacity_units=1
78621
78622       salt.modules.boto_dynamodb.delete(table_name,  region=None,   key=None,
78623       keyid=None, profile=None)
78624              Delete a DynamoDB table.
78625
78626              CLI Example:
78627
78628                 salt myminion boto_dynamodb.delete table_name region=us-east-1
78629
78630       salt.modules.boto_dynamodb.describe(table_name,  region=None, key=None,
78631       keyid=None, profile=None)
78632              Describe a DynamoDB table.
78633
78634              CLI example:
78635
78636                 salt myminion boto_dynamodb.describe table_name region=us-east-1
78637
78638       salt.modules.boto_dynamodb.exists(table_name,  region=None,   key=None,
78639       keyid=None, profile=None)
78640              Check to see if a table exists.
78641
78642              CLI Example:
78643
78644                 salt myminion boto_dynamodb.exists table_name region=us-east-1
78645
78646       salt.modules.boto_dynamodb.extract_index(index_data,
78647       global_index=False)
78648              Instantiates and returns an AllIndex object given a valid  index
78649              configuration
78650
78651              CLI Example:
78652                     salt myminion boto_dynamodb.extract_index index
78653
78654       salt.modules.boto_dynamodb.update(table_name,          throughput=None,
78655       global_indexes=None, region=None, key=None, keyid=None, profile=None)
78656              Update a DynamoDB table.
78657
78658              CLI example:
78659
78660                 salt myminion boto_dynamodb.update table_name region=us-east-1
78661
78662       salt.modules.boto_dynamodb.update_global_secondary_index(table_name,
78663       global_indexes, region=None, key=None, keyid=None, profile=None)
78664              Updates the throughput of the given global secondary indexes.
78665
78666              CLI Example:
78667                 salt myminion boto_dynamodb.update_global_secondary_index ta‐
78668                 ble_name / indexes
78669
78670   salt.modules.boto_ec2
78671       Connection module for Amazon EC2
78672
78673       New in version 2015.8.0.
78674
78675
78676       configuration
78677              This module accepts explicit EC2 credentials but can  also  uti‐
78678              lize  IAM  roles  assigned to the instance through Instance Pro‐
78679              files.  Dynamic credentials are then automatically obtained from
78680              AWS API and no further configuration is necessary. More Informa‐
78681              tion available here.
78682
78683       If IAM roles are not used you need to specify them either in  a  pillar
78684       or in the minion's config file:
78685
78686          ec2.keyid: GKTADJGHEIQSXMKKRBJ08H
78687          ec2.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
78688
78689       A region may also be specified in the configuration:
78690
78691          ec2.region: us-east-1
78692
78693       If a region is not specified, the default is us-east-1.
78694
78695       It's  also  possible  to  specify key, keyid, and region via a profile,
78696       either as a passed in dict, or as a string to pull from pillars or min‐
78697       ion config:
78698
78699          myprofile:
78700            keyid: GKTADJGHEIQSXMKKRBJ08H
78701            key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
78702            region: us-east-1
78703
78704       depends
78705              boto
78706
78707       salt.modules.boto_ec2.allocate_eip_address(domain=None,    region=None,
78708       key=None, keyid=None, profile=None)
78709              Allocate a new Elastic IP address and  associate  it  with  your
78710              account.
78711
78712              domain (string)  Optional  param  - if set to exactly 'vpc', the
78713                     address will be allocated to the VPC.  The default simply
78714                     maps the EIP to your account container.
78715
78716              returns
78717                     (dict)  dict of 'interesting' information about the newly
78718                     allocated EIP, with probably the  most  interesting  keys
78719                     being  'public_ip';  and 'allocation_id' iff 'domain=vpc'
78720                     was passed.
78721
78722              CLI Example:
78723
78724                 salt-call boto_ec2.allocate_eip_address domain=vpc
78725
78726              New in version 2016.3.0.
78727
78728
78729       salt.modules.boto_ec2.assign_private_ip_addresses(network_inter‐
78730       face_name=None,  network_interface_id=None,  private_ip_addresses=None,
78731       secondary_private_ip_address_count=None,      allow_reassignment=False,
78732       region=None, key=None, keyid=None, profile=None)
78733              Assigns  one or more secondary private IP addresses to a network
78734              interface.
78735
78736              network_interface_id
78737                     (string) - ID of the network interface to  associate  the
78738                     IP with (exclusive with 'network_interface_name')
78739
78740              network_interface_name
78741                     (string) - Name of the network interface to associate the
78742                     IP with (exclusive with 'network_interface_id')
78743
78744              private_ip_addresses
78745                     (list) - Assigns the specified IP addresses as  secondary
78746                     IP  addresses  to  the  network interface (exclusive with
78747                     'secondary_private_ip_address_count')
78748
78749              secondary_private_ip_address_count
78750                     (int) - The number of secondary IP addresses to assign to
78751                     the    network    interface.    (exclusive   with   'pri‐
78752                     vate_ip_addresses')
78753
78754              allow_reassociation
78755                     (bool)    –  Allow  a  currently  associated  EIP  to  be
78756                     re-associated with the new instance or interface.
78757
78758              returns
78759                     (bool)   - True on success, False on failure.
78760
78761              CLI Example:
78762
78763                 salt myminion boto_ec2.assign_private_ip_addresses network_interface_name=my_eni private_ip_addresses=private_ip
78764                 salt myminion boto_ec2.assign_private_ip_addresses network_interface_name=my_eni secondary_private_ip_address_count=2
78765
78766              New in version 2017.7.0.
78767
78768
78769       salt.modules.boto_ec2.associate_eip_address(instance_id=None,
78770       instance_name=None, public_ip=None, allocation_id=None,  network_inter‐
78771       face_id=None,   network_interface_name=None,   private_ip_address=None,
78772       allow_reassociation=False,  region=None,  key=None,  keyid=None,   pro‐
78773       file=None)
78774              Associate  an  Elastic  IP  address  with  a  currently  running
78775              instance or a network interface.  This requires exactly  one  of
78776              either  'public_ip'  or  'allocation_id',  depending  on whether
78777              you’re associating a VPC address or a plain EC2 address.
78778
78779              instance_id
78780                     (string) – ID of the instance to associate  with  (exclu‐
78781                     sive with 'instance_name')
78782
78783              instance_name
78784                     (string)  –  Name  tag  of the instance to associate with
78785                     (exclusive with 'instance_id')
78786
78787              public_ip
78788                     (string) – Public IP  address,  for  standard  EC2  based
78789                     allocations.
78790
78791              allocation_id
78792                     (string) – Allocation ID for a VPC-based EIP.
78793
78794              network_interface_id
78795                     (string)  -  ID of the network interface to associate the
78796                     EIP with
78797
78798              network_interface_name
78799                     (string) - Name of the network interface to associate the
78800                     EIP with
78801
78802              private_ip_address
78803                     (string) – The primary or secondary private IP address to
78804                     associate with the Elastic IP address.
78805
78806              allow_reassociation
78807                     (bool)    –  Allow  a  currently  associated  EIP  to  be
78808                     re-associated with the new instance or interface.
78809
78810              returns
78811                     (bool)   - True on success, False on failure.
78812
78813              CLI Example:
78814
78815                 salt myminion boto_ec2.associate_eip_address instance_name=bubba.ho.tep allocation_id=eipalloc-ef382c8a
78816
78817              New in version 2016.3.0.
78818
78819
78820       salt.modules.boto_ec2.attach_network_interface(device_index, name=None,
78821       network_interface_id=None,    instance_name=None,     instance_id=None,
78822       region=None, key=None, keyid=None, profile=None)
78823              Attach an Elastic Network Interface.
78824
78825              New in version 2016.3.0.
78826
78827
78828              CLI Example:
78829
78830                 salt myminion boto_ec2.attach_network_interface my_eni instance_name=salt-master device_index=0
78831
78832       salt.modules.boto_ec2.attach_volume(volume_id,   instance_id,   device,
78833       region=None, key=None, keyid=None, profile=None)
78834              Attach an EBS volume to an EC2 instance.
78835
78836              volume_id
78837                     (string) – The ID of the EBS volume to be attached.
78838
78839              instance_id
78840                     (string) – The ID of the EC2 instance to attach the  vol‐
78841                     ume to.
78842
78843              device (string)  –  The device on the instance through which the
78844                     volume is exposed (e.g. /dev/sdh)
78845
78846              returns
78847                     (bool) - True on success, False on failure.
78848
78849              CLI Example:
78850
78851                 salt-call boto_ec2.attach_volume vol-12345678 i-87654321 /dev/sdh
78852
78853       salt.modules.boto_ec2.create_image(ami_name,          instance_id=None,
78854       instance_name=None,  tags=None, region=None, key=None, keyid=None, pro‐
78855       file=None,  description=None,  no_reboot=False,   dry_run=False,   fil‐
78856       ters=None)
78857              Given instance properties that define exactly one instance, cre‐
78858              ate AMI and return AMI-id.
78859
78860              CLI Examples:
78861
78862                 salt myminion boto_ec2.create_image ami_name instance_name=myinstance
78863                 salt myminion boto_ec2.create_image another_ami_name tags='{"mytag": "value"}' description='this is my ami'
78864
78865       salt.modules.boto_ec2.create_key(key_name,   save_path,    region=None,
78866       key=None, keyid=None, profile=None)
78867              Creates a key and saves it to a given path.  Returns the private
78868              key.
78869
78870              CLI Example:
78871
78872                 salt myminion boto_ec2.create_key mykey /root/
78873
78874       salt.modules.boto_ec2.create_network_interface(name,    subnet_id=None,
78875       subnet_name=None,       private_ip_address=None,      description=None,
78876       groups=None, region=None, key=None, keyid=None, profile=None)
78877              Create an Elastic Network Interface.
78878
78879              New in version 2016.3.0.
78880
78881
78882              CLI Example:
78883
78884                 salt myminion boto_ec2.create_network_interface my_eni subnet-12345 description=my_eni groups=['my_group']
78885
78886       salt.modules.boto_ec2.create_tags(resource_ids,   tags,    region=None,
78887       key=None, keyid=None, profile=None)
78888              Create new metadata tags for the specified resource ids.
78889
78890              New in version 2016.11.0.
78891
78892
78893              resource_ids
78894                     (string)  or  (list)  –  List  of  resource IDs.  A plain
78895                     string will be converted to a list of one element.
78896
78897              tags   (dict) – Dictionary of name/value pairs. To create only a
78898                     tag name, pass '' as the value.
78899
78900              returns
78901                     (bool) - True on success, False on failure.
78902
78903              CLI Example:
78904
78905                 salt-call boto_ec2.create_tags vol-12345678 '{"Name": "myVolume01"}'
78906
78907       salt.modules.boto_ec2.create_volume(zone_name,     size=None,     snap‐
78908       shot_id=None,     volume_type=None,     iops=None,     encrypted=False,
78909       kms_key_id=None,    wait_for_creation=False,   region=None,   key=None,
78910       keyid=None, profile=None)
78911              Create an EBS volume to an availability zone.
78912
78913              zone_name
78914                     (string) – The Availability zone name of the  EBS  volume
78915                     to be created.
78916
78917              size
78918
78919                     (int)  –  The  size  of the new volume, in GiB. If you're
78920                     creating the
78921                            volume from a snapshot and don't specify a  volume
78922                            size, the default is the snapshot size.
78923
78924              snapshot_id
78925                     (string)  –   The  snapshot  ID from which the new volume
78926                     will be created.
78927
78928              volume_type
78929
78930                     (string) - The type of the volume. Valid volume types for
78931                     AWS can be found here:
78932                            http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html
78933
78934              iops   (int) - The provisioned IOPS you want to  associate  with
78935                     this volume.
78936
78937              encrypted
78938                     (bool)   -   Specifies   whether  the  volume  should  be
78939                     encrypted.
78940
78941              kms_key_id
78942
78943                     (string) - If encrypted is True, this KMS Key ID  may  be
78944                     specified to
78945                            encrypt     volume    with    this    key    e.g.:
78946                            arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef
78947
78948              wait_for_creation
78949                     (bool)  -  Whether  or not to wait for volume creation to
78950                     complete.
78951
78952              returns
78953                     (string) - created volume id on success, error message on
78954                     failure.
78955
78956              CLI Example:
78957
78958                 salt-call boto_ec2.create_volume us-east-1a size=10
78959                 salt-call boto_ec2.create_volume us-east-1a snapshot_id=snap-0123abcd
78960
78961       salt.modules.boto_ec2.delete_key(key_name,    region=None,    key=None,
78962       keyid=None, profile=None)
78963              Deletes a key. Always returns True
78964
78965              CLI Example:
78966
78967                 salt myminion boto_ec2.delete_key mykey
78968
78969       salt.modules.boto_ec2.delete_network_interface(name=None,          net‐
78970       work_interface_id=None,   region=None,   key=None,   keyid=None,   pro‐
78971       file=None)
78972              Create an Elastic Network Interface.
78973
78974              New in version 2016.3.0.
78975
78976
78977              CLI Example:
78978
78979                 salt myminion boto_ec2.create_network_interface my_eni subnet-12345 description=my_eni groups=['my_group']
78980
78981       salt.modules.boto_ec2.delete_tags(resource_ids,   tags,    region=None,
78982       key=None, keyid=None, profile=None)
78983              Delete metadata tags for the specified resource ids.
78984
78985              New in version 2016.11.0.
78986
78987
78988              resource_ids
78989                     (string)  or  (list)  –  List  of  resource IDs.  A plain
78990                     string will be converted to a list of one element.
78991
78992              tags
78993
78994                     (dict)  or  (list)  –  Either  a  dictionary   containing
78995                     name/value pairs or a list containing just tag names.
78996                            If you pass in a dictionary, the values must match
78997                            the actual tag values  or  the  tag  will  not  be
78998                            deleted.  If  you  pass in a value of None for the
78999                            tag  value,  all  tags  with  that  name  will  be
79000                            deleted.
79001
79002              returns
79003                     (bool) - True on success, False on failure.
79004
79005              CLI Example:
79006
79007                 salt-call boto_ec2.delete_tags vol-12345678 '{"Name": "myVolume01"}'
79008                 salt-call boto_ec2.delete_tags vol-12345678 '["Name","MountPoint"]'
79009
79010       salt.modules.boto_ec2.delete_volume(volume_id,        instance_id=None,
79011       device=None,  force=False,  region=None,  key=None,  keyid=None,   pro‐
79012       file=None)
79013              Detach an EBS volume from an EC2 instance.
79014
79015              New in version 2016.11.0.
79016
79017
79018              volume_id
79019                     (string) – The ID of the EBS volume to be deleted.
79020
79021              force  (bool)  –  Forces deletion even if the device has not yet
79022                     been detached from its instance.
79023
79024              returns
79025                     (bool) - True on success, False on failure.
79026
79027              CLI Example:
79028
79029                 salt-call boto_ec2.delete_volume vol-12345678
79030
79031       salt.modules.boto_ec2.detach_network_interface(name=None,          net‐
79032       work_interface_id=None,  attachment_id=None,  force=False, region=None,
79033       key=None, keyid=None, profile=None)
79034              Detach an Elastic Network Interface.
79035
79036              New in version 2016.3.0.
79037
79038
79039              CLI Example:
79040
79041                 salt myminion boto_ec2.detach_network_interface my_eni
79042
79043       salt.modules.boto_ec2.detach_volume(volume_id,        instance_id=None,
79044       device=None,   force=False,   wait_for_detachement=False,  region=None,
79045       key=None, keyid=None, profile=None)
79046              Detach an EBS volume from an EC2 instance.
79047
79048              New in version 2016.11.0.
79049
79050
79051              volume_id
79052                     (string) – The ID of the EBS volume to be detached.
79053
79054              instance_id
79055                     (string) – The ID of the EC2 instance from which it  will
79056                     be detached.
79057
79058              device (string)  –  The device on the instance through which the
79059                     volume is exposted (e.g. /dev/sdh)
79060
79061              force
79062
79063                     (bool) – Forces detachment  if  the  previous  detachment
79064                     attempt did not occur cleanly.
79065                            This  option  can lead to data loss or a corrupted
79066                            file system. Use this option only as a last resort
79067                            to  detach  a  volume  from a failed instance. The
79068                            instance will not have  an  opportunity  to  flush
79069                            file  system caches nor file system meta data.  If
79070                            you use this option, you must perform file  system
79071                            check and repair procedures.
79072
79073              wait_for_detachement
79074                     (bool) - Whether or not to wait for volume detachement to
79075                     complete.
79076
79077              returns
79078                     (bool) - True on success, False on failure.
79079
79080              CLI Example:
79081
79082                 salt-call boto_ec2.detach_volume vol-12345678 i-87654321
79083
79084       salt.modules.boto_ec2.disassociate_eip_address(public_ip=None, associa‐
79085       tion_id=None, region=None, key=None, keyid=None, profile=None)
79086              Disassociate  an  Elastic  IP  address  from a currently running
79087              instance. This requires exactly one of  either  'association_id'
79088              or  'public_ip',  depending on whether you’re dealing with a VPC
79089              or EC2 Classic address.
79090
79091              public_ip
79092                     (string) – Public IP address,  for  EC2  Classic  alloca‐
79093                     tions.
79094
79095              association_id
79096                     (string) – Association ID for a VPC-bound EIP.
79097
79098              returns
79099                     (bool)   - True on success, False on failure.
79100
79101              CLI Example:
79102
79103                 salt myminion boto_ec2.disassociate_eip_address association_id=eipassoc-e3ba2d16
79104
79105              New in version 2016.3.0.
79106
79107
79108       salt.modules.boto_ec2.exists(instance_id=None,   name=None,  tags=None,
79109       region=None, key=None, keyid=None, profile=None,  in_states=None,  fil‐
79110       ters=None)
79111              Given  an  instance  id,  check  to see if the given instance id
79112              exists.
79113
79114              Returns True if the given instance with the given id,  name,  or
79115              tags exists; otherwise, False is returned.
79116
79117              CLI Example:
79118
79119                 salt myminion boto_ec2.exists myinstance
79120
79121       salt.modules.boto_ec2.find_images(ami_name=None,    executable_by=None,
79122       owners=None,   image_ids=None,   tags=None,   region=None,    key=None,
79123       keyid=None, profile=None, return_objs=False)
79124              Given image properties, find and return matching AMI ids
79125
79126              CLI Examples:
79127
79128                 salt myminion boto_ec2.find_images tags='{"mytag": "value"}'
79129
79130       salt.modules.boto_ec2.find_instances(instance_id=None,       name=None,
79131       tags=None,    region=None,    key=None,    keyid=None,    profile=None,
79132       return_objs=False, in_states=None, filters=None)
79133              Given instance properties, find and return matching instance ids
79134
79135              CLI Examples:
79136
79137                 salt myminion boto_ec2.find_instances # Lists all instances
79138                 salt myminion boto_ec2.find_instances name=myinstance
79139                 salt myminion boto_ec2.find_instances tags='{"mytag": "value"}'
79140                 salt myminion boto_ec2.find_instances filters='{"vpc-id": "vpc-12345678"}'
79141
79142       salt.modules.boto_ec2.get_all_eip_addresses(addresses=None,     alloca‐
79143       tion_ids=None, region=None, key=None, keyid=None, profile=None)
79144              Get public addresses of some, or all EIPs  associated  with  the
79145              current account.
79146
79147              addresses
79148                     (list)  -  Optional list of addresses.  If provided, only
79149                     the addresses associated with those in the list  will  be
79150                     returned.
79151
79152              allocation_ids
79153                     (list)  -  Optional list of allocation IDs.  If provided,
79154                     only the addresses associated with the  given  allocation
79155                     IDs will be returned.
79156
79157              returns
79158                     (list) - A list of the requested EIP addresses
79159
79160              CLI Example:
79161
79162                 salt-call boto_ec2.get_all_eip_addresses
79163
79164              New in version 2016.3.0.
79165
79166
79167       salt.modules.boto_ec2.get_all_tags(filters=None, region=None, key=None,
79168       keyid=None, profile=None)
79169              Describe all tags matching the filter criteria, or all  tags  in
79170              the account otherwise.
79171
79172              New in version 2018.3.0.
79173
79174
79175              filters
79176                     (dict)  -  Additional  constraints  on  which  volumes to
79177                     return.  Note that valid filters vary extensively depend‐
79178                     ing  on  the  resource type.  When in doubt, search first
79179                     without a filter and then use the returned data  to  help
79180                     fine-tune  your  search.   You  can  generally garner the
79181                     resource type from its ID (e.g. vol-XXXXX  is  a  volume,
79182                     i-XXXXX is an instance, etc.
79183
79184              CLI Example:
79185
79186                 salt-call boto_ec2.get_all_tags '{"tag:Name": myInstanceNameTag, resource-type: instance}'
79187
79188       salt.modules.boto_ec2.get_all_volumes(volume_ids=None,    filters=None,
79189       return_objs=False, region=None, key=None, keyid=None, profile=None)
79190              Get a list of all EBS volumes, optionally filtered  by  provided
79191              'filters' param
79192
79193              New in version 2016.11.0.
79194
79195
79196              volume_ids
79197                     (list)  - Optional list of volume_ids.  If provided, only
79198                     the volumes associated with those in  the  list  will  be
79199                     returned.
79200
79201              filters
79202                     (dict)  -  Additional  constraints  on  which  volumes to
79203                     return.  Valid filters are:
79204
79205              · attachment.attach-time - The time stamp  when  the  attachment
79206                initiated.
79207
79208              · attachment.delete-on-termination   -  Whether  the  volume  is
79209                deleted on instance termination.
79210
79211              · attachment.device - The device name that  is  exposed  to  the
79212                instance (for example, /dev/sda1).
79213
79214              · attachment.instance-id  - The ID of the instance the volume is
79215                attached to.
79216
79217              · attachment.status - The attachment state (attaching | attached
79218                | detaching | detached).
79219
79220              · availability-zone  - The Availability Zone in which the volume
79221                was created.
79222
79223              · create-time - The time stamp when the volume was created.
79224
79225              · encrypted - The encryption status of the volume.
79226
79227              · size - The size of the volume, in GiB.
79228
79229              · snapshot-id - The snapshot from which the volume was created.
79230
79231              · status - The status of the  volume  (creating  |  available  |
79232                in-use | deleting | deleted | error).
79233
79234              · tag:key=value - The key/value combination of a tag assigned to
79235                the resource.
79236
79237              · volume-id - The volume ID.
79238
79239              · volume-type - The Amazon EBS volume type. This can be gp2  for
79240                General  Purpose  SSD,  io1  for Provisioned IOPS SSD, st1 for
79241                Throughput Optimized HDD, sc1 for Cold HDD,  or  standard  for
79242                Magnetic volumes.
79243
79244              return_objs
79245                     (bool)  - Changes the return type from list of volume IDs
79246                     to list of boto.ec2.volume.Volume objects
79247
79248              returns
79249                     (list) - A list of the requested values: Either the  vol‐
79250                     ume  IDs or, if return_objs is True, boto.ec2.volume.Vol‐
79251                     ume objects.
79252
79253              CLI Example:
79254
79255                 salt-call boto_ec2.get_all_volumes filters='{"tag:Name": "myVolume01"}'
79256
79257       salt.modules.boto_ec2.get_attribute(attribute,      instance_name=None,
79258       instance_id=None, region=None, key=None, keyid=None, profile=None, fil‐
79259       ters=None)
79260              Get an EC2 instance attribute.
79261
79262              CLI Example:
79263
79264                 salt myminion boto_ec2.get_attribute sourceDestCheck instance_name=my_instance
79265
79266              Available attributes:
79267
79268                     · instanceType
79269
79270                     · kernel
79271
79272                     · ramdisk
79273
79274                     · userData
79275
79276                     · disableApiTermination
79277
79278                     · instanceInitiatedShutdownBehavior
79279
79280                     · rootDeviceName
79281
79282                     · blockDeviceMapping
79283
79284                     · productCodes
79285
79286                     · sourceDestCheck
79287
79288                     · groupSet
79289
79290                     · ebsOptimized
79291
79292                     · sriovNetSupport
79293
79294       salt.modules.boto_ec2.get_eip_address_info(addresses=None,      alloca‐
79295       tion_ids=None, region=None, key=None, keyid=None, profile=None)
79296              Get  'interesting'  info about some, or all EIPs associated with
79297              the current account.
79298
79299              addresses
79300                     (list) - Optional list of addresses.  If  provided,  only
79301                     the  addresses  associated with those in the list will be
79302                     returned.
79303
79304              allocation_ids
79305                     (list) - Optional list of allocation IDs.   If  provided,
79306                     only  the  addresses associated with the given allocation
79307                     IDs will be returned.
79308
79309              returns
79310                     (list of dicts) - A list of dicts,  each  containing  the
79311                     info for one of the requested EIPs.
79312
79313              CLI Example:
79314
79315                 salt-call boto_ec2.get_eip_address_info addresses=52.4.2.15
79316
79317              New in version 2016.3.0.
79318
79319
79320       salt.modules.boto_ec2.get_id(name=None,     tags=None,     region=None,
79321       key=None, keyid=None, profile=None, in_states=None, filters=None)
79322              Given instance properties, return the instance id if it exists.
79323
79324              CLI Example:
79325
79326                 salt myminion boto_ec2.get_id myinstance
79327
79328       salt.modules.boto_ec2.get_key(key_name,     region=None,      key=None,
79329       keyid=None, profile=None)
79330              Check to see if a key exists. Returns fingerprint and name if it
79331              does and False if it doesn't CLI Example:
79332
79333                 salt myminion boto_ec2.get_key mykey
79334
79335       salt.modules.boto_ec2.get_keys(keynames=None,             filters=None,
79336       region=None, key=None, keyid=None, profile=None)
79337              Gets  all keys or filters them by name and returns a list.  key‐
79338              names (list):: A list of the names of keypairs to retrieve.   If
79339              not provided, all key pairs will be returned.  filters (dict) ::
79340              Optional filters that can be used to limit the results returned.
79341              Filters  are  provided in the form of a dictionary consisting of
79342              filter names as the key and filter values as the value. The  set
79343              of  allowable  filter  names/values  is dependent on the request
79344              being performed. Check the EC2 API guide for details.
79345
79346              CLI Example:
79347
79348                 salt myminion boto_ec2.get_keys
79349
79350       salt.modules.boto_ec2.get_network_interface(name=None,   network_inter‐
79351       face_id=None, region=None, key=None, keyid=None, profile=None)
79352              Get an Elastic Network Interface.
79353
79354              New in version 2016.3.0.
79355
79356
79357              CLI Example:
79358
79359                 salt myminion boto_ec2.get_network_interface name=my_eni
79360
79361       salt.modules.boto_ec2.get_network_interface_id(name,       region=None,
79362       key=None, keyid=None, profile=None)
79363              Get an Elastic Network Interface id from its name tag.
79364
79365              New in version 2016.3.0.
79366
79367
79368              CLI Example:
79369
79370                 salt myminion boto_ec2.get_network_interface_id name=my_eni
79371
79372       salt.modules.boto_ec2.get_tags(instance_id=None, keyid=None,  key=None,
79373       profile=None, region=None)
79374              Given an instance_id, return a list of tags associated with that
79375              instance.
79376
79377              returns
79378                     (list) - list of tags as key/value pairs
79379
79380              CLI Example:
79381
79382                 salt myminion boto_ec2.get_tags instance_id
79383
79384       salt.modules.boto_ec2.get_unassociated_eip_address(domain=u'standard',
79385       region=None, key=None, keyid=None, profile=None)
79386              Return the first unassociated EIP
79387
79388              domain Indicates  whether the address is an EC2 address or a VPC
79389                     address (standard|vpc).
79390
79391              CLI Example:
79392
79393                 salt-call boto_ec2.get_unassociated_eip_address
79394
79395              New in version 2016.3.0.
79396
79397
79398       salt.modules.boto_ec2.get_zones(region=None, key=None, keyid=None, pro‐
79399       file=None)
79400              Get a list of AZs for the configured region.
79401
79402              CLI Example:
79403
79404                 salt myminion boto_ec2.get_zones
79405
79406       salt.modules.boto_ec2.import_key(key_name,         public_key_material,
79407       region=None, key=None, keyid=None, profile=None)
79408              Imports the public key from an RSA key  pair  that  you  created
79409              with  a  third-party  tool.  Supported formats: - OpenSSH public
79410              key format (e.g., the format in ~/.ssh/authorized_keys) - Base64
79411              encoded  DER format - SSH public key file format as specified in
79412              RFC4716 - DSA keys are not supported. Make sure your key genera‐
79413              tor  is  set  up  to  create RSA keys.  Supported lengths: 1024,
79414              2048, and 4096.
79415
79416              CLI Example:
79417
79418                 salt myminion boto_ec2.import mykey publickey
79419
79420       salt.modules.boto_ec2.modify_network_interface_attribute(name=None,
79421       network_interface_id=None,    attr=None,    value=None,    region=None,
79422       key=None, keyid=None, profile=None)
79423              Modify an attribute of an Elastic Network Interface.
79424
79425              New in version 2016.3.0.
79426
79427
79428              CLI Example:
79429
79430                 salt myminion boto_ec2.modify_network_interface_attribute my_eni attr=description value='example description'
79431
79432       salt.modules.boto_ec2.release_eip_address(public_ip=None,       alloca‐
79433       tion_id=None, region=None, key=None, keyid=None, profile=None)
79434              Free  an Elastic IP address.  Pass either a public IP address to
79435              release an EC2 Classic EIP, or an AllocationId to release a  VPC
79436              EIP.
79437
79438              public_ip
79439                     (string) - The public IP address - for EC2 elastic IPs.
79440
79441              allocation_id
79442                     (string) - The Allocation ID - for VPC elastic IPs.
79443
79444              returns
79445                     (bool) - True on success, False on failure
79446
79447              CLI Example:
79448
79449                 salt myminion boto_ec2.release_eip_address allocation_id=eipalloc-ef382c8a
79450
79451              New in version 2016.3.0.
79452
79453
79454       salt.modules.boto_ec2.run(image_id,        name=None,        tags=None,
79455       key_name=None,          security_groups=None,           user_data=None,
79456       instance_type=u'm1.small',        placement=None,       kernel_id=None,
79457       ramdisk_id=None, monitoring_enabled=None,  vpc_id=None,  vpc_name=None,
79458       subnet_id=None,        subnet_name=None,       private_ip_address=None,
79459       block_device_map=None,  disable_api_termination=None,   instance_initi‐
79460       ated_shutdown_behavior=None,  placement_group=None,  client_token=None,
79461       security_group_ids=None,        security_group_names=None,        addi‐
79462       tional_info=None,        tenancy=None,       instance_profile_arn=None,
79463       instance_profile_name=None,     ebs_optimized=None,      network_inter‐
79464       face_id=None,   network_interface_name=None,   region=None,   key=None,
79465       keyid=None, profile=None, network_interfaces=None)
79466              Create and start an EC2 instance.
79467
79468              Returns True if the instance was created; otherwise False.
79469
79470              CLI Example:
79471
79472                 salt myminion boto_ec2.run ami-b80c2b87 name=myinstance
79473
79474              image_id
79475                     (string) – The ID of the image to run.
79476
79477              name   (string) - The name of the instance.
79478
79479              tags   (dict of key:  value  pairs)  -  tags  to  apply  to  the
79480                     instance.
79481
79482              key_name
79483                     (string)  – The name of the key pair with which to launch
79484                     instances.
79485
79486              security_groups
79487                     (list of strings) – The names of the EC2 classic security
79488                     groups with which to associate instances
79489
79490              user_data
79491                     (string)  –  The Base64-encoded MIME user data to be made
79492                     available to the instance(s) in this reservation.
79493
79494              instance_type
79495                     (string) – The type of instance to run.  Note  that  some
79496                     image types (e.g. hvm) only run on some instance types.
79497
79498              placement
79499                     (string)  –  The Availability Zone to launch the instance
79500                     into.
79501
79502              kernel_id
79503                     (string) – The ID of the kernel with which to launch  the
79504                     instances.
79505
79506              ramdisk_id
79507                     (string)  –  The  ID of the RAM disk with which to launch
79508                     the instances.
79509
79510              monitoring_enabled
79511                     (bool) – Enable detailed  CloudWatch  monitoring  on  the
79512                     instance.
79513
79514              vpc_id (string)  -  ID of a VPC to bind the instance to.  Exclu‐
79515                     sive with vpc_name.
79516
79517              vpc_name
79518                     (string) - Name of a VPC to bind the instance to.  Exclu‐
79519                     sive with vpc_id.
79520
79521              subnet_id
79522                     (string)  –  The  subnet  ID  within  which to launch the
79523                     instances for VPC.
79524
79525              subnet_name
79526                     (string) – The name of a subnet within  which  to  launch
79527                     the instances for VPC.
79528
79529              private_ip_address
79530                     (string)  –  If  you’re using VPC, you can optionally use
79531                     this parameter to assign the instance a  specific  avail‐
79532                     able IP address from the subnet (e.g. 10.0.0.25).
79533
79534              block_device_map
79535                     (boto.ec2.blockdevicemapping.BlockDeviceMapping)    –   A
79536                     BlockDeviceMapping data structure describing the EBS vol‐
79537                     umes associated with the Image.  (string) - A string rep‐
79538                     resentation of a BlockDeviceMapping structure (dict) -  A
79539                     dict describing a BlockDeviceMapping structure
79540
79541                     YAML example:
79542
79543                        device-maps:
79544                            /dev/sdb:
79545                                ephemeral_name: ephemeral0
79546                            /dev/sdc:
79547                                ephemeral_name: ephemeral1
79548                            /dev/sdd:
79549                                ephemeral_name: ephemeral2
79550                            /dev/sde:
79551                                ephemeral_name: ephemeral3
79552                            /dev/sdf:
79553                                size: 20
79554                                volume_type: gp2
79555
79556              disable_api_termination
79557                     (bool)  –  If True, the instances will be locked and will
79558                     not be able to be terminated via the API.
79559
79560              instance_initiated_shutdown_behavior
79561                     (string) – Specifies whether the instance stops or termi‐
79562                     nates  on  instance-initiated shutdown. Valid values are:
79563                     stop, terminate
79564
79565              placement_group
79566                     (string) – If specified, this is the name of  the  place‐
79567                     ment group in which the instance(s) will be launched.
79568
79569              client_token
79570                     (string)  – Unique, case-sensitive identifier you provide
79571                     to ensure idempotency of the request.  Maximum  64  ASCII
79572                     characters.
79573
79574              security_group_ids
79575                     (list  of strings) – The ID(s) of the VPC security groups
79576                     with which to associate instances.
79577
79578              security_group_names
79579                     (list of strings) –  The  name(s)  of  the  VPC  security
79580                     groups with which to associate instances.
79581
79582              additional_info
79583                     (string)  –  Specifies  additional  information  to  make
79584                     available to the instance(s).
79585
79586              tenancy
79587                     (string) – The  tenancy  of  the  instance  you  want  to
79588                     launch. An instance with a tenancy of ‘dedicated’ runs on
79589                     single-tenant hardware and can only be  launched  into  a
79590                     VPC. Valid values are:”default” or “dedicated”.  NOTE: To
79591                     use dedicated tenancy you MUST specify a VPC subnet-ID as
79592                     well.
79593
79594              instance_profile_arn
79595                     (string)  –  The  Amazon  resource  name (ARN) of the IAM
79596                     Instance Profile (IIP) to associate with the instances.
79597
79598              instance_profile_name
79599                     (string) – The name of the IAM Instance Profile (IIP)  to
79600                     associate with the instances.
79601
79602              ebs_optimized
79603                     (bool)  –  Whether the instance is optimized for EBS I/O.
79604                     This optimization provides dedicated throughput to Amazon
79605                     EBS and an optimized configuration stack to provide opti‐
79606                     mal EBS I/O performance.  This optimization isn’t  avail‐
79607                     able with all instance types.
79608
79609              network_interfaces
79610                     (boto.ec2.networkinterface.NetworkInterfaceCollection)  –
79611                     A NetworkInterfaceCollection  data  structure  containing
79612                     the ENI specifications for the instance.
79613
79614              network_interface_id
79615                     (string)  -  ID of the network interface to attach to the
79616                     instance
79617
79618              network_interface_name
79619                     (string) - Name of the network interface to attach to the
79620                     instance
79621
79622       salt.modules.boto_ec2.set_attribute(attribute,         attribute_value,
79623       instance_name=None,    instance_id=None,     region=None,     key=None,
79624       keyid=None, profile=None, filters=None)
79625              Set  an  EC2  instance attribute.  Returns whether the operation
79626              succeeded or not.
79627
79628              CLI Example:
79629
79630                 salt myminion boto_ec2.set_attribute sourceDestCheck False instance_name=my_instance
79631
79632              Available attributes:
79633
79634                     · instanceType
79635
79636                     · kernel
79637
79638                     · ramdisk
79639
79640                     · userData
79641
79642                     · disableApiTermination
79643
79644                     · instanceInitiatedShutdownBehavior
79645
79646                     · rootDeviceName
79647
79648                     · blockDeviceMapping
79649
79650                     · productCodes
79651
79652                     · sourceDestCheck
79653
79654                     · groupSet
79655
79656                     · ebsOptimized
79657
79658                     · sriovNetSupport
79659
79660       salt.modules.boto_ec2.set_volumes_tags(tag_maps,   authoritative=False,
79661       dry_run=False, region=None, key=None, keyid=None, profile=None)
79662              New in version 2016.11.0.
79663
79664
79665              tag_maps (list)
79666                     List  of  dicts of filters and tags, where 'filters' is a
79667                     dict suitable for passing to the  'filters'  argument  of
79668                     get_all_volumes()  above, and 'tags' is a dict of tags to
79669                     be  set  on  volumes  (via  create_tags/delete_tags)   as
79670                     matched  by  the  given  filters.   The  filter syntax is
79671                     extended to permit passing either a list of volume_ids or
79672                     an  instance_name  (with instance_name being the Name tag
79673                     of the instance to which the desired volumes are mapped).
79674                     Each mapping in the list is applied separately, so multi‐
79675                     ple sets of volumes can be all  tagged  differently  with
79676                     one  call  to  this  function.   If filtering by instance
79677                     Name, You may additionally limit the instances matched by
79678                     passing  in  a  list  of  desired  instance  states.  The
79679                     default set of states is ('pending',  'rebooting',  'run‐
79680                     ning', 'stopping', 'stopped').
79681
79682              YAML example fragment:
79683
79684                 - filters:
79685                     attachment.instance_id: i-abcdef12
79686                   tags:
79687                     Name: dev-int-abcdef12.aws-foo.com
79688                 - filters:
79689                     attachment.device: /dev/sdf
79690                   tags:
79691                     ManagedSnapshots: true
79692                     BillingGroup: bubba.hotep@aws-foo.com
79693                   in_states:
79694                   - stopped
79695                   - terminated
79696                 - filters:
79697                     instance_name: prd-foo-01.aws-foo.com
79698                   tags:
79699                     Name: prd-foo-01.aws-foo.com
79700                     BillingGroup: infra-team@aws-foo.com
79701                 - filters:
79702                     volume_ids: [ vol-12345689, vol-abcdef12 ]
79703                   tags:
79704                     BillingGroup: infra-team@aws-foo.com
79705
79706              authoritative (bool)
79707                     If  true,  any  existing tags on the matched volumes, and
79708                     not explicitly requested here, will be removed.
79709
79710              dry_run (bool)
79711                     If true, don't change anything, just return a  dictionary
79712                     describing any changes which would have been applied.
79713
79714              returns (dict)
79715                     A dict describing status and any changes.
79716
79717       salt.modules.boto_ec2.terminate(instance_id=None,            name=None,
79718       region=None, key=None, keyid=None, profile=None, filters=None)
79719              Terminate the instance described by instance_id or name.
79720
79721              CLI Example:
79722
79723                 salt myminion boto_ec2.terminate name=myinstance
79724                 salt myminion boto_ec2.terminate instance_id=i-a46b9f
79725
79726       salt.modules.boto_ec2.unassign_private_ip_addresses(network_inter‐
79727       face_name=None,  network_interface_id=None,  private_ip_addresses=None,
79728       region=None, key=None, keyid=None, profile=None)
79729              Unassigns one or more secondary private IP addresses from a net‐
79730              work interface
79731
79732              network_interface_id
79733                     (string)  -  ID of the network interface to associate the
79734                     IP with (exclusive with 'network_interface_name')
79735
79736              network_interface_name
79737                     (string) - Name of the network interface to associate the
79738                     IP with (exclusive with 'network_interface_id')
79739
79740              private_ip_addresses
79741                     (list)  - Assigns the specified IP addresses as secondary
79742                     IP addresses to the network interface.
79743
79744              returns
79745                     (bool)   - True on success, False on failure.
79746
79747              CLI Example:
79748
79749                 salt myminion boto_ec2.unassign_private_ip_addresses network_interface_name=my_eni private_ip_addresses=private_ip
79750
79751              New in version 2017.7.0.
79752
79753
79754   salt.modules.boto_efs module
79755       Connection module for Amazon EFS
79756
79757       New in version 2017.7.0.
79758
79759
79760       configuration
79761              This module accepts explicit EFS credentials but can  also  uti‐
79762              lize  IAM  roles  assigned to the instance through Instance Pro‐
79763              files or it can read them from the  ~/.aws/credentials  file  or
79764              from    these    environment    variables:    AWS_ACCESS_KEY_ID,
79765              AWS_SECRET_ACCESS_KEY.  Dynamic credentials are  then  automati‐
79766              cally obtained from AWS API and no further configuration is nec‐
79767              essary.  More information available at:
79768
79769                 http://docs.aws.amazon.com/efs/latest/ug/
79770                     access-control-managing-permissions.html
79771
79772                 http://boto3.readthedocs.io/en/latest/guide/
79773                     configuration.html#guide-configuration
79774
79775              If IAM roles are not used you need to specify them either  in  a
79776              pillar or in the minion's config file
79777
79778                 efs.keyid: GKTADJGHEIQSXMKKRBJ08H
79779                 efs.key: askd+ghsdfjkghWupU/asdflkdfklgjsdfjajkghs
79780
79781              A region may also be specified in the configuration
79782
79783                 efs.region: us-east-1
79784
79785              If a region is not specified, the default is us-east-1.
79786
79787              It's  also possible to speficy key, keyid, and region via a pro‐
79788              file, either as a passed in dict, or as a string  to  pull  from
79789              pillars or minion config:
79790
79791                 myprofile:
79792                   keyid: GKTADJGHEIQSXMKKRBJ08H
79793                   key: askd+ghsdfjkghWupU/asdflkdfklgjsdfjajkghs
79794                   region: us-east-1
79795
79796       depends
79797              boto3
79798
79799       salt.modules.boto_efs.create_file_system(name,  performance_mode=u'gen‐
79800       eralPurpose', keyid=None,  key=None,  profile=None,  region=None,  cre‐
79801       ation_token=None, **kwargs)
79802              Creates a new, empty file system.
79803
79804              name   (string) - The name for the new file system
79805
79806              performance_mode
79807                     (string) - The PerformanceMode of the file system. Can be
79808                     either generalPurpose or maxIO
79809
79810              creation_token
79811                     (string) - A unique name to be  used  as  reference  when
79812                     creating  an  EFS.   This will ensure idempotency. Set to
79813                     name if not specified otherwise
79814
79815              returns
79816                     (dict) - A dict of the data for the elastic file system
79817
79818              CLI Example:
79819
79820                 salt 'my-minion' boto_efs.create_file_system efs-name generalPurpose
79821
79822       salt.modules.boto_efs.create_mount_target(filesystemid, subnetid, ipad‐
79823       dress=None,  securitygroups=None,  keyid=None,  key=None, profile=None,
79824       region=None, **kwargs)
79825              Creates a mount target for a file system.  You  can  then  mount
79826              the file system on EC2 instances via the mount target.
79827
79828              You  can  create  one  mount target in each Availability Zone in
79829              your VPC.  All EC2 instances in a VPC within a given  Availabil‐
79830              ity Zone share a single mount target for a given file system.
79831
79832              If you have multiple subnets in an Availability Zone, you create
79833              a mount target in one of the subnets.  EC2 instances do not need
79834              to  be in the same subnet as the mount target in order to access
79835              their file system.
79836
79837              filesystemid
79838                     (string) - ID of the file system for which to create  the
79839                     mount target.
79840
79841              subnetid
79842                     (string) - ID of the subnet to add the mount target in.
79843
79844              ipaddress
79845
79846                     (string) - Valid IPv4 address within the address range
79847                            of the specified subnet.
79848
79849              securitygroups
79850
79851                     (list[string]) - Up to five VPC security group IDs,
79852                            of  the  form  sg-xxxxxxxx.  These must be for the
79853                            same VPC as subnet specified.
79854
79855              returns
79856                     (dict) - A dict of the response data
79857
79858              CLI Example:
79859
79860                 salt 'my-minion' boto_efs.create_mount_target filesystemid subnetid
79861
79862       salt.modules.boto_efs.create_tags(filesystemid,    tags,    keyid=None,
79863       key=None, profile=None, region=None, **kwargs)
79864              Creates  or overwrites tags associated with a file system.  Each
79865              tag is a key-value pair. If a tag key specified in  the  request
79866              already exists on the file system, this operation overwrites its
79867              value with the value provided in the request.
79868
79869              filesystemid
79870                     (string) - ID of the file system for whose tags  will  be
79871                     modified.
79872
79873              tags   (dict) - The tags to add to the file system
79874
79875              CLI Example:
79876
79877                 salt 'my-minion' boto_efs.create_tags
79878
79879       salt.modules.boto_efs.delete_file_system(filesystemid,      keyid=None,
79880       key=None, profile=None, region=None, **kwargs)
79881              Deletes a file system, permanently severing access to  its  con‐
79882              tents.   Upon  return,  the file system no longer exists and you
79883              can't access any contents of the deleted file system. You  can't
79884              delete a file system that is in use. That is, if the file system
79885              has any mount targets, you must first delete them.
79886
79887              filesystemid
79888                     (string) - ID of the file system to delete.
79889
79890              CLI Example:
79891
79892                 salt 'my-minion' boto_efs.delete_file_system filesystemid
79893
79894       salt.modules.boto_efs.delete_mount_target(mounttargetid,    keyid=None,
79895       key=None, profile=None, region=None, **kwargs)
79896              Deletes the specified mount target.
79897
79898              This operation forcibly breaks any mounts of the file system via
79899              the mount target that is  being  deleted,  which  might  disrupt
79900              instances  or applications using those mounts. To avoid applica‐
79901              tions getting cut off abruptly, you  might  consider  unmounting
79902              any  mounts of the mount target, if feasible. The operation also
79903              deletes the associated network  interface.   Uncommitted  writes
79904              may  be  lost,  but breaking a mount target using this operation
79905              does not corrupt the file system itself.  The  file  system  you
79906              created  remains.  You can mount an EC2 instance in your VPC via
79907              another mount target.
79908
79909              mounttargetid
79910                     (string) - ID of the mount target to delete
79911
79912              CLI Example:
79913
79914                 salt 'my-minion' boto_efs.delete_mount_target mounttargetid
79915
79916       salt.modules.boto_efs.delete_tags(filesystemid,    tags,    keyid=None,
79917       key=None, profile=None, region=None, **kwargs)
79918              Deletes the specified tags from a file system.
79919
79920              filesystemid
79921                     (string)  -  ID of the file system for whose tags will be
79922                     removed.
79923
79924              tags   (list[string]) - The tag keys to delete to the file  sys‐
79925                     tem
79926
79927              CLI Example:
79928
79929                 salt 'my-minion' boto_efs.delete_tags
79930
79931       salt.modules.boto_efs.get_file_systems(filesystemid=None,   keyid=None,
79932       key=None, profile=None, region=None, creation_token=None, **kwargs)
79933              Get all EFS  properties  or  a  specific  instance  property  if
79934              filesystemid is specified
79935
79936              filesystemid
79937                     (string) - ID of the file system to retrieve properties
79938
79939              creation_token
79940                     (string)  -  A  unique  token that identifies an EFS.  If
79941                     fileysystem created  via  create_file_system  this  would
79942                     either  be explictitly passed in or set to name.  You can
79943                     limit your search with this.
79944
79945              returns
79946                     (list[dict]) - list of all elastic file system properties
79947
79948              CLI Example:
79949
79950                 salt 'my-minion' boto_efs.get_file_systems efs-id
79951
79952       salt.modules.boto_efs.get_mount_targets(filesystemid=None,    mounttar‐
79953       getid=None, keyid=None, key=None, profile=None, region=None, **kwargs)
79954              Get  all  the EFS mount point properties for a specific filesys‐
79955              temid or the properties for a specific mounttargetid. One or the
79956              other must be specified
79957
79958              filesystemid
79959
79960                     (string)  -  ID of the file system whose mount targets to
79961                     list
79962                            Must be specified if mounttargetid is not
79963
79964              mounttargetid
79965
79966                     (string) - ID of the mount target to have its  properties
79967                     returned
79968                            Must be specified if filesystemid is not
79969
79970              returns
79971                     (list[dict]) - list of all mount point properties
79972
79973              CLI Example:
79974
79975                 salt 'my-minion' boto_efs.get_mount_targets
79976
79977       salt.modules.boto_efs.get_tags(filesystemid, keyid=None, key=None, pro‐
79978       file=None, region=None, **kwargs)
79979              Return the tags associated with an EFS instance.
79980
79981              filesystemid
79982                     (string) - ID of the file system whose tags to list
79983
79984              returns
79985                     (list) - list of tags as key/value pairs
79986
79987              CLI Example:
79988
79989                 salt 'my-minion' boto_efs.get_tags efs-id
79990
79991       salt.modules.boto_efs.set_security_groups(mounttargetid, securitygroup,
79992       keyid=None, key=None, profile=None, region=None, **kwargs)
79993              Modifies the set of security groups in effect for a mount target
79994
79995              mounttargetid
79996                     (string)  -  ID of the mount target whose security groups
79997                     will be modified
79998
79999              securitygroups
80000                     (list[string]) - list of no  more  than  5  VPC  security
80001                     group IDs.
80002
80003              CLI Example:
80004
80005                 salt 'my-minion' boto_efs.set_security_groups my-mount-target-id my-sec-group
80006
80007   salt.modules.boto_elasticache
80008       Connection module for Amazon Elasticache
80009
80010       New in version 2014.7.0.
80011
80012
80013       configuration
80014              This  module  accepts  explicit  elasticache credentials but can
80015              also utilize IAM roles assigned to the instance through Instance
80016              Profiles.   Dynamic  credentials are then automatically obtained
80017              from AWS API and no further  configuration  is  necessary.  More
80018              Information available at:
80019
80020                 http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html
80021
80022              If  IAM  roles are not used you need to specify them either in a
80023              pillar or in the minion's config file:
80024
80025                 elasticache.keyid: GKTADJGHEIQSXMKKRBJ08H
80026                 elasticache.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
80027
80028              A region may also be specified in the configuration:
80029
80030                 elasticache.region: us-east-1
80031
80032              If a region is not specified, the default is us-east-1.
80033
80034              It's also possible to specify key, keyid and region via  a  pro‐
80035              file,  either  as  a passed in dict, or as a string to pull from
80036              pillars or minion config:
80037
80038                 myprofile:
80039                     keyid: GKTADJGHEIQSXMKKRBJ08H
80040                     key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
80041                     region: us-east-1
80042
80043       depends
80044              boto
80045
80046       salt.modules.boto_elasticache.authorize_cache_secu‐
80047       rity_group_ingress(name,       ec2_security_group_name,       ec2_secu‐
80048       rity_group_owner_id, region=None, key=None, keyid=None, profile=None)
80049              Authorize network ingress from an ec2 security group to a  cache
80050              security group.
80051
80052              CLI example:
80053
80054                 salt myminion boto_elasticache.authorize_cache_security_group_ingress myelasticachesg myec2sg 879879
80055
80056       salt.modules.boto_elasticache.create(name,        num_cache_nodes=None,
80057       engine=None,      cache_node_type=None,      replication_group_id=None,
80058       engine_version=None,     cache_parameter_group_name=None,    cache_sub‐
80059       net_group_name=None,       cache_security_group_names=None,       secu‐
80060       rity_group_ids=None,      snapshot_arns=None,      preferred_availabil‐
80061       ity_zone=None, preferred_maintenance_window=None, port=None,  notifica‐
80062       tion_topic_arn=None,     auto_minor_version_upgrade=None,    wait=None,
80063       region=None, key=None, keyid=None, profile=None)
80064              Create a cache cluster.
80065
80066              CLI example:
80067
80068                 salt myminion boto_elasticache.create myelasticache 1 redis cache.t1.micro
80069                 cache_security_group_names='["myelasticachesg"]'
80070
80071       salt.modules.boto_elasticache.create_cache_security_group(name,
80072       description, region=None, key=None, keyid=None, profile=None)
80073              Create a cache security group.
80074
80075              CLI example:
80076
80077                 salt myminion boto_elasticache.create_cache_security_group myelasticachesg 'My Cache Security Group'
80078
80079       salt.modules.boto_elasticache.create_replication_group(name,       pri‐
80080       mary_cluster_id, replication_group_description, wait=None, region=None,
80081       key=None, keyid=None, profile=None)
80082              Create replication group.
80083
80084              CLI example:
80085
80086                 salt myminion boto_elasticache.create_replication_group myelasticache myprimarycluster description
80087
80088       salt.modules.boto_elasticache.create_subnet_group(name,    description,
80089       subnet_ids=None, subnet_names=None, tags=None,  region=None,  key=None,
80090       keyid=None, profile=None)
80091              Create an ElastiCache subnet group
80092
80093              CLI example to create an ElastiCache subnet group:
80094
80095                 salt myminion boto_elasticache.create_subnet_group my-subnet-group             "group description" subnet_ids='[subnet-12345678, subnet-87654321]'             region=us-east-1
80096
80097       salt.modules.boto_elasticache.delete(name,   wait=False,   region=None,
80098       key=None, keyid=None, profile=None)
80099              Delete a cache cluster.
80100
80101              CLI example:
80102
80103                 salt myminion boto_elasticache.delete myelasticache
80104
80105       salt.modules.boto_elasticache.delete_cache_security_group(name,
80106       region=None, key=None, keyid=None, profile=None)
80107              Delete a cache security group.
80108
80109              CLI example:
80110
80111                 salt myminion boto_elasticache.delete_cache_security_group myelasticachesg 'My Cache Security Group'
80112
80113       salt.modules.boto_elasticache.delete_replication_group(name,
80114       region=None, key=None, keyid=None, profile=None)
80115              Delete an ElastiCache replication group.
80116
80117              CLI example:
80118
80119                 salt myminion boto_elasticache.delete_replication_group my-replication-group                 region=us-east-1
80120
80121       salt.modules.boto_elasticache.delete_subnet_group(name,    region=None,
80122       key=None, keyid=None, profile=None)
80123              Delete an ElastiCache subnet group.
80124
80125              CLI example:
80126
80127                 salt myminion boto_elasticache.delete_subnet_group my-subnet-group                 region=us-east-1
80128
80129       salt.modules.boto_elasticache.describe_replication_group(name,
80130       region=None, key=None, keyid=None, profile=None, parameter=None)
80131              Get replication group information.
80132
80133              CLI example:
80134
80135                 salt myminion boto_elasticache.describe_replication_group mygroup
80136
80137       salt.modules.boto_elasticache.exists(name,    region=None,    key=None,
80138       keyid=None, profile=None)
80139              Check to see if a cache cluster exists.
80140
80141              CLI example:
80142
80143                 salt myminion boto_elasticache.exists myelasticache
80144
80145       salt.modules.boto_elasticache.get_all_cache_subnet_groups(name=None,
80146       region=None, key=None, keyid=None, profile=None)
80147              Return a list of all cache subnet groups with details
80148
80149              CLI example:
80150
80151                 salt myminion boto_elasticache.get_all_subnet_groups region=us-east-1
80152
80153       salt.modules.boto_elasticache.get_cache_subnet_group(name, region=None,
80154       key=None, keyid=None, profile=None)
80155              Get information about a cache subnet group.
80156
80157              CLI example:
80158
80159                 salt myminion boto_elasticache.get_cache_subnet_group mycache_subnet_group
80160
80161       salt.modules.boto_elasticache.get_config(name,  region=None,  key=None,
80162       keyid=None, profile=None)
80163              Get the configuration for a cache cluster.
80164
80165              CLI example:
80166
80167                 salt myminion boto_elasticache.get_config myelasticache
80168
80169       salt.modules.boto_elasticache.get_group_host(name,         region=None,
80170       key=None, keyid=None, profile=None)
80171              Get hostname from replication cache group
80172
80173              CLI example:
80174
80175                 salt myminion boto_elasticache.get_group_host myelasticachegroup
80176
80177       salt.modules.boto_elasticache.get_node_host(name,          region=None,
80178       key=None, keyid=None, profile=None)
80179              Get hostname from cache node
80180
80181              CLI example:
80182
80183                 salt myminion boto_elasticache.get_node_host myelasticache
80184
80185       salt.modules.boto_elasticache.group_exists(name, region=None, key=None,
80186       keyid=None, profile=None)
80187              Check to see if a replication group exists.
80188
80189              CLI example:
80190
80191                 salt myminion boto_elasticache.group_exists myelasticache
80192
80193       salt.modules.boto_elasticache.list_cache_subnet_groups(name=None,
80194       region=None, key=None, keyid=None, profile=None)
80195              Return a list of all cache subnet group names
80196
80197              CLI example:
80198
80199                 salt myminion boto_elasticache.list_subnet_groups region=us-east-1
80200
80201       salt.modules.boto_elasticache.revoke_cache_security_group_ingress(name,
80202       ec2_security_group_name,    ec2_security_group_owner_id,   region=None,
80203       key=None, keyid=None, profile=None)
80204              Revoke network ingress from an ec2 security  group  to  a  cache
80205              security group.
80206
80207              CLI example:
80208
80209                 salt myminion boto_elasticache.revoke_cache_security_group_ingress myelasticachesg myec2sg 879879
80210
80211       salt.modules.boto_elasticache.subnet_group_exists(name,      tags=None,
80212       region=None, key=None, keyid=None, profile=None)
80213              Check to see if an ElastiCache subnet group exists.
80214
80215              CLI example:
80216
80217                 salt myminion boto_elasticache.subnet_group_exists my-param-group                 region=us-east-1
80218
80219   salt.modules.boto_elasticsearch_domain module
80220       Connection module for Amazon Elasticsearch Service
80221
80222       New in version 2016.11.0.
80223
80224
80225       configuration
80226              This module accepts explicit AWS credentials but can  also  uti‐
80227              lize  IAM  roles  assigned  to the instance trough Instance Pro‐
80228              files.  Dynamic credentials are then automatically obtained from
80229              AWS API and no further configuration is necessary. More Informa‐
80230              tion available at:
80231
80232                 http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html
80233
80234              If IAM roles are not used you need to specify them either  in  a
80235              pillar or in the minion's config file:
80236
80237                 lambda.keyid: GKTADJGHEIQSXMKKRBJ08H
80238                 lambda.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
80239
80240              A region may also be specified in the configuration:
80241
80242                 lambda.region: us-east-1
80243
80244              If a region is not specified, the default is us-east-1.
80245
80246              It's  also  possible to specify key, keyid and region via a pro‐
80247              file, either as a passed in dict, or as a string  to  pull  from
80248              pillars or minion config:
80249
80250                 myprofile:
80251                     keyid: GKTADJGHEIQSXMKKRBJ08H
80252                     key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
80253                     region: us-east-1
80254
80255              Create and delete methods return:
80256
80257                 created: true
80258
80259              or
80260
80261                 created: false
80262                 error:
80263                   message: error message
80264
80265              Request methods (e.g., describe_function) return:
80266
80267                 domain:
80268                   - {...}
80269                   - {...}
80270
80271              or
80272
80273                 error:
80274                   message: error message
80275
80276       depends
80277              boto3
80278
80279       salt.modules.boto_elasticsearch_domain.add_tags(DomainName=None,
80280       ARN=None, region=None, key=None, keyid=None, profile=None, **kwargs)
80281              Add tags to a domain
80282
80283              Returns {tagged: true} if the  domain  was  tagged  and  returns
80284              {tagged: False} if the domain was not tagged.
80285
80286              CLI Example:
80287
80288                 salt myminion boto_elasticsearch_domain.add_tags mydomain tag_a=tag_value tag_b=tag_value
80289
80290       salt.modules.boto_elasticsearch_domain.create(DomainName,      Elastic‐
80291       searchClusterConfig=None, EBSOptions=None,  AccessPolicies=None,  Snap‐
80292       shotOptions=None,    AdvancedOptions=None,    region=None,    key=None,
80293       keyid=None, profile=None, ElasticsearchVersion=None)
80294              Given a valid config, create a domain.
80295
80296              Returns {created: true} if the domain was  created  and  returns
80297              {created: False} if the domain was not created.
80298
80299              CLI Example:
80300
80301                 salt myminion boto_elasticsearch_domain.create mydomain \
80302                       {'InstanceType': 't2.micro.elasticsearch', 'InstanceCount': 1, \
80303                       'DedicatedMasterEnabled': false, 'ZoneAwarenessEnabled': false} \
80304                       {'EBSEnabled': true, 'VolumeType': 'gp2', 'VolumeSize': 10, \
80305                       'Iops': 0} \
80306                       {"Version": "2012-10-17", "Statement": [{"Effect": "Allow", "Principal": {"AWS": "*"}, "Action": "es:*", \
80307                        "Resource": "arn:aws:es:us-east-1:111111111111:domain/mydomain/*", \
80308                        "Condition": {"IpAddress": {"aws:SourceIp": ["127.0.0.1"]}}}]} \
80309                       {"AutomatedSnapshotStartHour": 0} \
80310                       {"rest.action.multi.allow_explicit_index": "true"}
80311
80312       salt.modules.boto_elasticsearch_domain.delete(DomainName,  region=None,
80313       key=None, keyid=None, profile=None)
80314              Given a domain name, delete it.
80315
80316              Returns {deleted: true} if the domain was  deleted  and  returns
80317              {deleted: false} if the domain was not deleted.
80318
80319              CLI Example:
80320
80321                 salt myminion boto_elasticsearch_domain.delete mydomain
80322
80323       salt.modules.boto_elasticsearch_domain.describe(DomainName,
80324       region=None, key=None, keyid=None, profile=None)
80325              Given a domain name describe its properties.
80326
80327              Returns a dictionary of interesting properties.
80328
80329              CLI Example:
80330
80331                 salt myminion boto_elasticsearch_domain.describe mydomain
80332
80333       salt.modules.boto_elasticsearch_domain.exists(DomainName,  region=None,
80334       key=None, keyid=None, profile=None)
80335              Given a domain name, check to see if the given domain exists.
80336
80337              Returns True if the given domain exists and returns False if the
80338              given function does not exist.
80339
80340              CLI Example:
80341
80342                 salt myminion boto_elasticsearch_domain.exists mydomain
80343
80344       salt.modules.boto_elasticsearch_domain.list_tags(DomainName=None,
80345       ARN=None, region=None, key=None, keyid=None, profile=None)
80346              List tags of a trail
80347
80348              Returns
80349
80350                     · {...}
80351
80352                     · {...}
80353
80354
80355              Return type
80356                     tags
80357
80358              CLI Example:
80359
80360                 salt myminion boto_cloudtrail.list_tags my_trail
80361
80362       salt.modules.boto_elasticsearch_domain.remove_tags(TagKeys,     Domain‐
80363       Name=None, ARN=None, region=None, key=None, keyid=None, profile=None)
80364              Remove tags from a trail
80365
80366              Returns {tagged: true} if  the  trail  was  tagged  and  returns
80367              {tagged: False} if the trail was not tagged.
80368
80369              CLI Example:
80370
80371                 salt myminion boto_cloudtrail.remove_tags my_trail tag_a=tag_value tag_b=tag_value
80372
80373       salt.modules.boto_elasticsearch_domain.status(DomainName,  region=None,
80374       key=None, keyid=None, profile=None)
80375              Given a domain name describe its status.
80376
80377              Returns a dictionary of interesting properties.
80378
80379              CLI Example:
80380
80381                 salt myminion boto_elasticsearch_domain.status mydomain
80382
80383       salt.modules.boto_elasticsearch_domain.update(DomainName,      Elastic‐
80384       searchClusterConfig=None,  EBSOptions=None,  AccessPolicies=None, Snap‐
80385       shotOptions=None,    AdvancedOptions=None,    region=None,    key=None,
80386       keyid=None, profile=None)
80387              Update the named domain to the configuration.
80388
80389              Returns  {updated:  true}  if the domain was updated and returns
80390              {updated: False} if the domain was not updated.
80391
80392              CLI Example:
80393
80394                 salt myminion boto_elasticsearch_domain.update mydomain \
80395                       {'InstanceType': 't2.micro.elasticsearch', 'InstanceCount': 1, \
80396                       'DedicatedMasterEnabled': false, 'ZoneAwarenessEnabled': false} \
80397                       {'EBSEnabled': true, 'VolumeType': 'gp2', 'VolumeSize': 10, \
80398                       'Iops': 0} \
80399                       {"Version": "2012-10-17", "Statement": [{"Effect": "Allow", "Principal": {"AWS": "*"}, "Action": "es:*", \
80400                        "Resource": "arn:aws:es:us-east-1:111111111111:domain/mydomain/*", \
80401                        "Condition": {"IpAddress": {"aws:SourceIp": ["127.0.0.1"]}}}]} \
80402                       {"AutomatedSnapshotStartHour": 0} \
80403                       {"rest.action.multi.allow_explicit_index": "true"}
80404
80405   salt.modules.boto_elb
80406       Connection module for Amazon ELB
80407
80408       New in version 2014.7.0.
80409
80410
80411       configuration
80412              This module accepts explicit elb credentials but can  also  uti‐
80413              lize  IAM  roles  assigned to the instance through Instance Pro‐
80414              files. Dynamic credentials are then automatically obtained  from
80415              AWS API and no further configuration is necessary. More Informa‐
80416              tion available at:
80417
80418                 http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html
80419
80420              If IAM roles are not used you need to specify them either  in  a
80421              pillar or in the minion's config file:
80422
80423                 elb.keyid: GKTADJGHEIQSXMKKRBJ08H
80424                 elb.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
80425
80426              A region may also be specified in the configuration:
80427
80428                 elb.region: us-east-1
80429
80430              If a region is not specified, the default is us-east-1.
80431
80432              It's  also  possible to specify key, keyid and region via a pro‐
80433              file, either as a passed in dict, or as a string  to  pull  from
80434              pillars or minion config:
80435
80436                 myprofile:
80437                     keyid: GKTADJGHEIQSXMKKRBJ08H
80438                     key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
80439                     region: us-east-1
80440
80441       depends
80442              boto >= 2.33.0
80443
80444       salt.modules.boto_elb.apply_security_groups(name,      security_groups,
80445       region=None, key=None, keyid=None, profile=None)
80446              Apply security groups to ELB.
80447
80448              CLI example:
80449
80450                 salt myminion boto_elb.apply_security_groups myelb '["mysecgroup1"]'
80451
80452       salt.modules.boto_elb.attach_subnets(name,    subnets,     region=None,
80453       key=None, keyid=None, profile=None)
80454              Attach ELB to subnets.
80455
80456              CLI example:
80457
80458                 salt myminion boto_elb.attach_subnets myelb '["mysubnet"]'
80459
80460       salt.modules.boto_elb.create(name,  availability_zones, listeners, sub‐
80461       nets=None,       security_groups=None,       scheme=u'internet-facing',
80462       region=None, key=None, keyid=None, profile=None)
80463              Create an ELB
80464
80465              CLI example to create an ELB:
80466
80467                 salt myminion boto_elb.create myelb '["us-east-1a", "us-east-1e"]' '{"elb_port": 443, "elb_protocol": "HTTPS", ...}' region=us-east-1
80468
80469       salt.modules.boto_elb.create_listeners(name,   listeners,  region=None,
80470       key=None, keyid=None, profile=None)
80471              Create listeners on an ELB.
80472
80473              CLI example:
80474
80475                 salt myminion boto_elb.create_listeners myelb '[["HTTPS", "HTTP", 443, 80, "arn:aws:iam::11  11111:server-certificate/mycert"]]'
80476
80477       salt.modules.boto_elb.create_policy(name,   policy_name,   policy_type,
80478       policy, region=None, key=None, keyid=None, profile=None)
80479              Create an ELB policy.
80480
80481              New in version 2016.3.0.
80482
80483
80484              CLI example:
80485
80486                 salt myminion boto_elb.create_policy myelb mypolicy LBCookieStickinessPolicyType '{"CookieExpirationPeriod": 3600}'
80487
80488       salt.modules.boto_elb.delete(name,  region=None,  key=None, keyid=None,
80489       profile=None)
80490              Delete an ELB.
80491
80492              CLI example to delete an ELB:
80493
80494                 salt myminion boto_elb.delete myelb region=us-east-1
80495
80496       salt.modules.boto_elb.delete_listeners(name,    ports,     region=None,
80497       key=None, keyid=None, profile=None)
80498              Delete listeners on an ELB.
80499
80500              CLI example:
80501
80502                 salt myminion boto_elb.delete_listeners myelb '[80,443]'
80503
80504       salt.modules.boto_elb.delete_policy(name,   policy_name,   region=None,
80505       key=None, keyid=None, profile=None)
80506              Delete an ELB policy.
80507
80508              New in version 2016.3.0.
80509
80510
80511              CLI example:
80512
80513                 salt myminion boto_elb.delete_policy myelb mypolicy
80514
80515       salt.modules.boto_elb.delete_tags(name,  tags,  region=None,  key=None,
80516       keyid=None, profile=None)
80517              Add the tags on an ELB
80518
80519              name   name of the ELB
80520
80521              tags   list of tags to remove
80522
80523              CLI Example:
80524
80525                 salt myminion boto_elb.delete_tags my-elb-name ['TagToRemove1', 'TagToRemove2']
80526
80527       salt.modules.boto_elb.deregister_instances(name,             instances,
80528       region=None, key=None, keyid=None, profile=None)
80529              Deregister instances with an ELB.  Instances is either a  string
80530              instance id or a list of string instance id's.
80531
80532              Returns:
80533
80534              · True: instance(s) deregistered successfully
80535
80536              · False: instance(s) failed to be deregistered
80537
80538              · None: instance(s) not valid or not registered, no action taken
80539
80540              CLI example:
80541
80542                 salt myminion boto_elb.deregister_instances myelb instance_id
80543                 salt myminion boto_elb.deregister_instances myelb "[instance_id, instance_id]"
80544
80545       salt.modules.boto_elb.detach_subnets(name,     subnets,    region=None,
80546       key=None, keyid=None, profile=None)
80547              Detach ELB from subnets.
80548
80549              CLI example:
80550
80551                 salt myminion boto_elb.detach_subnets myelb '["mysubnet"]'
80552
80553       salt.modules.boto_elb.disable_availability_zones(name,       availabil‐
80554       ity_zones, region=None, key=None, keyid=None, profile=None)
80555              Disable availability zones for ELB.
80556
80557              CLI example:
80558
80559                 salt myminion boto_elb.disable_availability_zones myelb '["us-east-1a"]'
80560
80561       salt.modules.boto_elb.enable_availability_zones(name,        availabil‐
80562       ity_zones, region=None, key=None, keyid=None, profile=None)
80563              Enable availability zones for ELB.
80564
80565              CLI example:
80566
80567                 salt myminion boto_elb.enable_availability_zones myelb '["us-east-1a"]'
80568
80569       salt.modules.boto_elb.exists(name, region=None,  key=None,  keyid=None,
80570       profile=None)
80571              Check to see if an ELB exists.
80572
80573              CLI example:
80574
80575                 salt myminion boto_elb.exists myelb region=us-east-1
80576
80577       salt.modules.boto_elb.get_all_elbs(region=None,  key=None,  keyid=None,
80578       profile=None)
80579              Return all load balancers associated with an account
80580
80581              CLI example:
80582
80583                 salt myminion boto_elb.get_all_elbs region=us-east-1
80584
80585       salt.modules.boto_elb.get_attributes(name,    region=None,    key=None,
80586       keyid=None, profile=None)
80587              Check to see if attributes are set on an ELB.
80588
80589              CLI example:
80590
80591                 salt myminion boto_elb.get_attributes myelb
80592
80593       salt.modules.boto_elb.get_elb_config(name,    region=None,    key=None,
80594       keyid=None, profile=None)
80595              Get an ELB configuration.
80596
80597              CLI example:
80598
80599                 salt myminion boto_elb.exists myelb region=us-east-1
80600
80601       salt.modules.boto_elb.get_health_check(name,   region=None,   key=None,
80602       keyid=None, profile=None)
80603              Get the health check configured for this ELB.
80604
80605              CLI example:
80606
80607                 salt myminion boto_elb.get_health_check myelb
80608
80609       salt.modules.boto_elb.get_instance_health(name,  region=None, key=None,
80610       keyid=None, profile=None, instances=None)
80611              Get a list of instances and their health state
80612
80613              CLI example:
80614
80615                 salt myminion boto_elb.get_instance_health myelb
80616                 salt myminion boto_elb.get_instance_health myelb region=us-east-1 instances="[instance_id,instance_id]"
80617
80618       salt.modules.boto_elb.list_elbs(region=None, key=None, keyid=None, pro‐
80619       file=None)
80620              Return names of all load balancers associated with an account
80621
80622              CLI example:
80623
80624                 salt myminion boto_elb.list_elbs region=us-east-1
80625
80626       salt.modules.boto_elb.listener_dict_to_tuple(listener)
80627              Convert  an ELB listener dict into a listener tuple used by cer‐
80628              tain parts of the AWS ELB API.
80629
80630              CLI example:
80631
80632                 salt myminion boto_elb.listener_dict_to_tuple '{"elb_port":80,"instance_port":80,"elb_protocol":"HTTP"}'
80633
80634       salt.modules.boto_elb.register_instances(name, instances,  region=None,
80635       key=None, keyid=None, profile=None)
80636              Register  instances  with  an ELB.  Instances is either a string
80637              instance id or a list of string instance id's.
80638
80639              Returns:
80640
80641              · True: instance(s) registered successfully
80642
80643              · False: instance(s) failed to be registered
80644
80645              CLI example:
80646
80647                 salt myminion boto_elb.register_instances myelb instance_id
80648                 salt myminion boto_elb.register_instances myelb "[instance_id,instance_id]"
80649
80650       salt.modules.boto_elb.set_attributes(name,   attributes,   region=None,
80651       key=None, keyid=None, profile=None)
80652              Set attributes on an ELB.
80653
80654              name (string)
80655                     Name of the ELB instance to set attributes for
80656
80657              attributes
80658                     A dict of attributes to set.
80659
80660                     Valid attributes are:
80661
80662                     access_log (dict)
80663
80664                            enabled (bool)
80665                                   Enable storage of access logs.
80666
80667                            s3_bucket_name (string)
80668                                   The name of the S3 bucket to place logs.
80669
80670                            s3_bucket_prefix (string)
80671                                   Prefix for the log file name.
80672
80673                            emit_interval (int)
80674                                   Interval for storing logs in S3 in minutes.
80675                                   Valid values are 5 and 60.
80676
80677                     connection_draining (dict)
80678
80679                            enabled (bool)
80680                                   Enable connection draining.
80681
80682                            timeout (int)
80683                                   Maximum allowed time in seconds for sending
80684                                   existing connections to an instance that is
80685                                   deregistering  or  unhealthy.   Default  is
80686                                   300.
80687
80688                     cross_zone_load_balancing (dict)
80689
80690                            enabled (bool)
80691                                   Enable cross-zone load balancing.
80692
80693              CLI example to set attributes on an ELB:
80694
80695                 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
80696
80697       salt.modules.boto_elb.set_backend_policy(name,   port,   policies=None,
80698       region=None, key=None, keyid=None, profile=None)
80699              Set the policies of an ELB backend server.
80700
80701              CLI example:
80702                 salt myminion boto_elb.set_backend_policy  myelb  443  "[pol‐
80703                 icy1,policy2]"
80704
80705       salt.modules.boto_elb.set_health_check(name, health_check, region=None,
80706       key=None, keyid=None, profile=None)
80707              Set attributes on an ELB.
80708
80709              CLI example to set attributes on an ELB:
80710
80711                 salt myminion boto_elb.set_health_check myelb '{"target": "HTTP:80/"}'
80712
80713       salt.modules.boto_elb.set_instances(name,    instances,     test=False,
80714       region=None, key=None, keyid=None, profile=None)
80715              Set the instances assigned to an ELB to exactly the list given
80716
80717              CLI example:
80718
80719                 salt myminion boto_elb.set_instances myelb region=us-east-1 instances="[instance_id,instance_id]"
80720
80721       salt.modules.boto_elb.set_listener_policy(name,   port,  policies=None,
80722       region=None, key=None, keyid=None, profile=None)
80723              Set the policies of an ELB listener.
80724
80725              New in version 2016.3.0.
80726
80727
80728              CLI example:
80729
80730                 salt myminion boto_elb.set_listener_policy myelb 443 "[policy1,policy2]"
80731
80732       salt.modules.boto_elb.set_tags(name,   tags,   region=None,   key=None,
80733       keyid=None, profile=None)
80734              Add the tags on an ELB
80735
80736              New in version 2016.3.0.
80737
80738
80739              name   name of the ELB
80740
80741              tags   dict of name/value pair tags
80742
80743              CLI Example:
80744
80745                 salt myminion boto_elb.set_tags my-elb-name "{'Tag1': 'Value', 'Tag2': 'Another Value'}"
80746
80747   salt.modules.boto_elbv2 module
80748       Connection module for Amazon ALB
80749
80750       New in version 2017.7.0.
80751
80752
80753       configuration
80754              This  module  accepts explicit elb credentials but can also uti‐
80755              lize IAM roles assigned to the instance  through  Instance  Pro‐
80756              files.  Dynamic credentials are then automatically obtained from
80757              AWS API and no further configuration is necessary. More Informa‐
80758              tion available at:
80759
80760                 http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html
80761
80762              If  IAM  roles are not used you need to specify them either in a
80763              pillar or in the minion's config file:
80764
80765                 elbv2.keyid: GKTADJGHEIQSXMKKRBJ08H
80766                 elbv2.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
80767                 elbv2.region: us-west-2
80768
80769              If a region is not specified, the default is us-east-1.
80770
80771              It's also possible to specify key, keyid and region via  a  pro‐
80772              file,  either  as  a passed in dict, or as a string to pull from
80773              pillars or minion config:
80774
80775                 myprofile:
80776                     keyid: GKTADJGHEIQSXMKKRBJ08H
80777                     key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
80778                     region: us-east-1
80779
80780       depends
80781              boto3
80782
80783       salt.modules.boto_elbv2.create_target_group(name,    protocol,    port,
80784       vpc_id,     region=None,     key=None,     keyid=None,    profile=None,
80785       health_check_protocol=u'HTTP',       health_check_port=u'traffic-port',
80786       health_check_path=u'/',               health_check_interval_seconds=30,
80787       health_check_timeout_seconds=5,              healthy_threshold_count=5,
80788       unhealthy_threshold_count=2)
80789              Create target group if not present.
80790
80791              name   (string) - The name of the target group.
80792
80793              protocol
80794                     (string) - The protocol to use for routing traffic to the
80795                     targets
80796
80797              port   (int) - The port on which the  targets  receive  traffic.
80798                     This port is used unless you specify a port override when
80799                     registering the traffic.
80800
80801              vpc_id (string) - The identifier of the  virtual  private  cloud
80802                     (VPC).
80803
80804              health_check_protocol
80805                     (string)  - The protocol the load balancer uses when per‐
80806                     forming health check on targets. The default is the  HTTP
80807                     protocol.
80808
80809              health_check_port
80810                     (string)  - The port the load balancer uses when perform‐
80811                     ing health checks  on  targets.  The  default  is  'traf‐
80812                     fic-port',  which indicates the port on which each target
80813                     receives traffic from the load balancer.
80814
80815              health_check_path
80816                     (string) - The ping path that is the destination  on  the
80817                     targets for health checks. The default is /.
80818
80819              health_check_interval_seconds
80820                     (integer)  -  The approximate amount of time, in seconds,
80821                     between  health  checks  of  an  individual  target.  The
80822                     default is 30 seconds.
80823
80824              health_check_timeout_seconds
80825                     (integer)  - The amount of time, in seconds, during which
80826                     no response from a target means a  failed  health  check.
80827                     The default is 5 seconds.
80828
80829              healthy_threshold_count
80830                     (integer)  - The number of consecutive health checks suc‐
80831                     cesses required before considering  an  unhealthy  target
80832                     healthy. The default is 5.
80833
80834              unhealthy_threshold_count
80835                     (integer)  - The number of consecutive health check fail‐
80836                     ures required before considering a target unhealthy.  The
80837                     default is 2.
80838
80839              returns
80840                     (bool) - True on success, False on failure.
80841
80842              CLI example:
80843                 salt myminion boto_elbv2.create_target_group learn1give1 pro‐
80844                 tocol=HTTP port=54006 vpc_id=vpc-deadbeef
80845
80846       salt.modules.boto_elbv2.delete_target_group(name,          region=None,
80847       key=None, keyid=None, profile=None)
80848              Delete target group.
80849
80850              name   (string)  -  Target  Group  Name  or Amazon Resource Name
80851                     (ARN).
80852
80853              returns
80854                     (bool) - True on success, False on failure.
80855
80856              CLI example:
80857
80858                 salt myminion boto_elbv2.delete_target_group arn:aws:elasticloadbalancing:us-west-2:644138682826:targetgroup/learn1give1-api/414788a16b5cf163
80859
80860       salt.modules.boto_elbv2.deregister_targets(name, targets,  region=None,
80861       key=None, keyid=None, profile=None)
80862              Deregister  targets  to  a  target  froup  of an ALB. targets is
80863              either a instance id string or a list of instance id's.
80864
80865              Returns:
80866
80867              · True: instance(s) deregistered successfully
80868
80869              · False: instance(s) failed to be deregistered
80870
80871              CLI example:
80872
80873                 salt myminion boto_elbv2.deregister_targets myelb instance_id
80874                 salt myminion boto_elbv2.deregister_targets myelb "[instance_id,instance_id]"
80875
80876       salt.modules.boto_elbv2.describe_target_health(name,      targets=None,
80877       region=None, key=None, keyid=None, profile=None)
80878              Get  the  curret  health  check  status  for targets in a target
80879              group.
80880
80881              CLI example:
80882
80883                 salt myminion boto_elbv2.describe_target_health arn:aws:elasticloadbalancing:us-west-2:644138682826:targetgroup/learn1give1-api/414788a16b5cf163 targets=["i-isdf23ifjf"]
80884
80885       salt.modules.boto_elbv2.register_targets(name,  targets,   region=None,
80886       key=None, keyid=None, profile=None)
80887              Register  targets to a target froup of an ALB. targets is either
80888              a instance id string or a list of instance id's.
80889
80890              Returns:
80891
80892              · True: instance(s) registered successfully
80893
80894              · False: instance(s) failed to be registered
80895
80896              CLI example:
80897
80898                 salt myminion boto_elbv2.register_targets myelb instance_id
80899                 salt myminion boto_elbv2.register_targets myelb "[instance_id,instance_id]"
80900
80901       salt.modules.boto_elbv2.target_group_exists(name,          region=None,
80902       key=None, keyid=None, profile=None)
80903              Check to see if an target group exists.
80904
80905              CLI example:
80906
80907                 salt myminion boto_elbv2.target_group_exists arn:aws:elasticloadbalancing:us-west-2:644138682826:targetgroup/learn1give1-api/414788a16b5cf163
80908
80909   salt.modules.boto_iam
80910       Connection module for Amazon IAM
80911
80912       New in version 2014.7.0.
80913
80914
80915       configuration
80916              This  module  accepts explicit iam credentials but can also uti‐
80917              lize IAM roles assigned to the instance  through  Instance  Pro‐
80918              files.  Dynamic credentials are then automatically obtained from
80919              AWS API and no further configuration is necessary. More Informa‐
80920              tion available at:
80921
80922                 http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html
80923
80924              If  IAM  roles are not used you need to specify them either in a
80925              pillar or in the minion's config file:
80926
80927                 iam.keyid: GKTADJGHEIQSXMKKRBJ08H
80928                 iam.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
80929                 iam.region: us-east-1
80930
80931              It's also possible to specify key, keyid and region via  a  pro‐
80932              file,  either  as  a passed in dict, or as a string to pull from
80933              pillars or minion config:
80934
80935                 myprofile:
80936                     keyid: GKTADJGHEIQSXMKKRBJ08H
80937                     key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
80938                     region: us-east-1
80939
80940       depends
80941              boto
80942
80943       salt.modules.boto_iam.add_user_to_group(user_name,          group_name,
80944       region=None, key=None, keyid=None, profile=None)
80945              Add user to group.
80946
80947              New in version 2015.8.0.
80948
80949
80950              CLI Example:
80951
80952                 salt myminion boto_iam.add_user_to_group myuser mygroup
80953
80954       salt.modules.boto_iam.associate_profile_to_role(profile_name,
80955       role_name, region=None, key=None, keyid=None, profile=None)
80956              Associate an instance profile with an IAM role.
80957
80958              CLI Example:
80959
80960                 salt myminion boto_iam.associate_profile_to_role myirole myiprofile
80961
80962       salt.modules.boto_iam.attach_group_policy(policy_name,      group_name,
80963       region=None, key=None, keyid=None, profile=None)
80964              Attach a managed policy to a group.
80965
80966              CLI Example:
80967
80968                 salt myminion boto_iam.attach_group_policy mypolicy mygroup
80969
80970       salt.modules.boto_iam.attach_role_policy(policy_name,        role_name,
80971       region=None, key=None, keyid=None, profile=None)
80972              Attach a managed policy to a role.
80973
80974              CLI Example:
80975
80976                 salt myminion boto_iam.attach_role_policy mypolicy myrole
80977
80978       salt.modules.boto_iam.attach_user_policy(policy_name,        user_name,
80979       region=None, key=None, keyid=None, profile=None)
80980              Attach a managed policy to a user.
80981
80982              CLI Example:
80983
80984                 salt myminion boto_iam.attach_user_policy mypolicy myuser
80985
80986       salt.modules.boto_iam.build_policy(region=None,  key=None,  keyid=None,
80987       profile=None)
80988              Build a default assume role policy.
80989
80990              New in version 2015.8.0.
80991
80992
80993              CLI Example:
80994
80995                 salt myminion boto_iam.build_policy
80996
80997       salt.modules.boto_iam.create_access_key(user_name,         region=None,
80998       key=None, keyid=None, profile=None)
80999              Create access key id for a user.
81000
81001              New in version 2015.8.0.
81002
81003
81004              CLI Example:
81005
81006                 salt myminion boto_iam.create_access_key myuser
81007
81008       salt.modules.boto_iam.create_group(group_name,  path=None, region=None,
81009       key=None, keyid=None, profile=None)
81010              Create a group.
81011
81012              New in version 2015.8.0.
81013
81014
81015              CLI Example:
81016
81017                 salt myminion boto_iam.create_group group
81018
81019       salt.modules.boto_iam.create_instance_profile(name,        region=None,
81020       key=None, keyid=None, profile=None)
81021              Create an instance profile.
81022
81023              CLI Example:
81024
81025                 salt myminion boto_iam.create_instance_profile myiprofile
81026
81027       salt.modules.boto_iam.create_login_profile(user_name,         password,
81028       region=None, key=None, keyid=None, profile=None)
81029              Creates a login profile for the specified user,  give  the  user
81030              the  ability  to access AWS services and the AWS Management Con‐
81031              sole.
81032
81033              New in version 2015.8.0.
81034
81035
81036              CLI Example:
81037
81038                 salt myminion boto_iam.create_login_profile user_name password
81039
81040       salt.modules.boto_iam.create_policy(policy_name,       policy_document,
81041       path=None,  description=None,  region=None,  key=None, keyid=None, pro‐
81042       file=None)
81043              Create a policy.
81044
81045              CLI Example:
81046
81047                 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/*"]},]}'
81048
81049       salt.modules.boto_iam.create_policy_version(policy_name,   policy_docu‐
81050       ment,  set_as_default=None,  region=None,  key=None,  keyid=None,  pro‐
81051       file=None)
81052              Create a policy version.
81053
81054              CLI Example:
81055
81056                 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/*"]},]}'
81057
81058       salt.modules.boto_iam.create_role(name,           policy_document=None,
81059       path=None, region=None, key=None, keyid=None, profile=None)
81060              Create an instance role.
81061
81062              CLI Example:
81063
81064                 salt myminion boto_iam.create_role myrole
81065
81066       salt.modules.boto_iam.create_role_policy(role_name,  policy_name,  pol‐
81067       icy, region=None, key=None, keyid=None, profile=None)
81068              Create or modify a role policy.
81069
81070              CLI Example:
81071
81072                 salt myminion boto_iam.create_role_policy myirole mypolicy '{"MyPolicy": "Statement": [{"Action": ["sqs:*"], "Effect": "Allow", "Resource": ["arn:aws:sqs:*:*:*"], "Sid": "MyPolicySqs1"}]}'
81073
81074       salt.modules.boto_iam.create_saml_provider(name,    saml_metadata_docu‐
81075       ment, region=None, key=None, keyid=None, profile=None)
81076              Create SAML provider
81077
81078              CLI Example:
81079
81080                 salt myminion boto_iam.create_saml_provider my_saml_provider_name saml_metadata_document
81081
81082       salt.modules.boto_iam.create_user(user_name,   path=None,  region=None,
81083       key=None, keyid=None, profile=None)
81084              Create a user.
81085
81086              New in version 2015.8.0.
81087
81088
81089              CLI Example:
81090
81091                 salt myminion boto_iam.create_user myuser
81092
81093       salt.modules.boto_iam.deactivate_mfa_device(user_name,          serial,
81094       region=None, key=None, keyid=None, profile=None)
81095              Deactivates the specified MFA device and removes it from associ‐
81096              ation with the user.
81097
81098              New in version 2016.3.0.
81099
81100
81101              CLI Example:
81102
81103                 salt myminion boto_iam.deactivate_mfa_device user_name serial_num
81104
81105       salt.modules.boto_iam.delete_access_key(access_key_id,  user_name=None,
81106       region=None, key=None, keyid=None, profile=None)
81107              Delete access key id from a user.
81108
81109              New in version 2015.8.0.
81110
81111
81112              CLI Example:
81113
81114                 salt myminion boto_iam.delete_access_key myuser
81115
81116       salt.modules.boto_iam.delete_group(group_name,  region=None,  key=None,
81117       keyid=None, profile=None)
81118              Delete a group policy.
81119
81120              CLI Example:
81121
81122                 .. code-block:: bash
81123                 salt myminion boto_iam.delete_group mygroup
81124
81125       salt.modules.boto_iam.delete_group_policy(group_name,      policy_name,
81126       region=None, key=None, keyid=None, profile=None)
81127              Delete a group policy.
81128
81129              CLI Example:
81130
81131                 .. code-block:: bash
81132                 salt myminion boto_iam.delete_group_policy mygroup mypolicy
81133
81134       salt.modules.boto_iam.delete_instance_profile(name,        region=None,
81135       key=None, keyid=None, profile=None)
81136              Delete an instance profile.
81137
81138              CLI Example:
81139
81140                 salt myminion boto_iam.delete_instance_profile myiprofile
81141
81142       salt.modules.boto_iam.delete_login_profile(user_name,      region=None,
81143       key=None, keyid=None, profile=None)
81144              Deletes a login profile for the specified user.
81145
81146              New in version 2016.3.0.
81147
81148
81149              CLI Example:
81150
81151                 salt myminion boto_iam.delete_login_profile user_name
81152
81153       salt.modules.boto_iam.delete_policy(policy_name, region=None, key=None,
81154       keyid=None, profile=None)
81155              Delete a policy.
81156
81157              CLI Example:
81158
81159                 salt myminion boto_iam.delete_policy mypolicy
81160
81161       salt.modules.boto_iam.delete_policy_version(policy_name,    version_id,
81162       region=None, key=None, keyid=None, profile=None)
81163              Delete a policy version.
81164
81165              CLI Example:
81166
81167                 salt myminion boto_iam.delete_policy_version mypolicy v1
81168
81169       salt.modules.boto_iam.delete_role(name,      region=None,     key=None,
81170       keyid=None, profile=None)
81171              Delete an IAM role.
81172
81173              CLI Example:
81174
81175                 salt myminion boto_iam.delete_role myirole
81176
81177       salt.modules.boto_iam.delete_role_policy(role_name,        policy_name,
81178       region=None, key=None, keyid=None, profile=None)
81179              Delete a role policy.
81180
81181              CLI Example:
81182
81183                 salt myminion boto_iam.delete_role_policy myirole mypolicy
81184
81185       salt.modules.boto_iam.delete_saml_provider(name, region=None, key=None,
81186       keyid=None, profile=None)
81187              Delete SAML provider
81188
81189              CLI Example:
81190
81191                 salt myminion boto_iam.delete_saml_provider my_saml_provider_name
81192
81193       salt.modules.boto_iam.delete_server_cert(cert_name,        region=None,
81194       key=None, keyid=None, profile=None)
81195              Deletes a certificate from Amazon.
81196
81197              New in version 2015.8.0.
81198
81199
81200              CLI Example:
81201
81202                 salt myminion boto_iam.delete_server_cert mycert_name
81203
81204       salt.modules.boto_iam.delete_user(user_name,   region=None,   key=None,
81205       keyid=None, profile=None)
81206              Delete a user.
81207
81208              New in version 2015.8.0.
81209
81210
81211              CLI Example:
81212
81213                 salt myminion boto_iam.delete_user myuser
81214
81215       salt.modules.boto_iam.delete_user_policy(user_name,        policy_name,
81216       region=None, key=None, keyid=None, profile=None)
81217              Delete a user policy.
81218
81219              CLI Example:
81220
81221                 salt myminion boto_iam.delete_user_policy myuser mypolicy
81222
81223       salt.modules.boto_iam.delete_virtual_mfa_device(serial,    region=None,
81224       key=None, keyid=None, profile=None)
81225              Deletes the specified virtual MFA device.
81226
81227              CLI Example:
81228
81229                 salt myminion boto_iam.delete_virtual_mfa_device serial_num
81230
81231       salt.modules.boto_iam.describe_role(name,    region=None,     key=None,
81232       keyid=None, profile=None)
81233              Get information for a role.
81234
81235              CLI Example:
81236
81237                 salt myminion boto_iam.describe_role myirole
81238
81239       salt.modules.boto_iam.detach_group_policy(policy_name,      group_name,
81240       region=None, key=None, keyid=None, profile=None)
81241              Detach a managed policy to a group.
81242
81243              CLI Example:
81244
81245                 salt myminion boto_iam.detach_group_policy mypolicy mygroup
81246
81247       salt.modules.boto_iam.detach_role_policy(policy_name,        role_name,
81248       region=None, key=None, keyid=None, profile=None)
81249              Detach a managed policy to a role.
81250
81251              CLI Example:
81252
81253                 salt myminion boto_iam.detach_role_policy mypolicy myrole
81254
81255       salt.modules.boto_iam.detach_user_policy(policy_name,        user_name,
81256       region=None, key=None, keyid=None, profile=None)
81257              Detach a managed policy to a user.
81258
81259              CLI Example:
81260
81261                 salt myminion boto_iam.detach_user_policy mypolicy myuser
81262
81263       salt.modules.boto_iam.disassociate_profile_from_role(profile_name,
81264       role_name, region=None, key=None, keyid=None, profile=None)
81265              Disassociate an instance profile from an IAM role.
81266
81267              CLI Example:
81268
81269                 salt myminion boto_iam.disassociate_profile_from_role myirole myiprofile
81270
81271       salt.modules.boto_iam.export_roles(path_prefix=u'/',       region=None,
81272       key=None, keyid=None, profile=None)
81273              Get all IAM role details. Produces results that can be  used  to
81274              create an sls file.
81275
81276              CLI Example:
81277                 salt-call boto_iam.export_roles --out=txt | sed "s/local: //"
81278                 > iam_roles.sls
81279
81280       salt.modules.boto_iam.export_users(path_prefix=u'/',       region=None,
81281       key=None, keyid=None, profile=None)
81282              Get  all  IAM user details. Produces results that can be used to
81283              create an sls file.
81284
81285              New in version 2016.3.0.
81286
81287
81288              CLI Example:
81289                 salt-call boto_iam.export_users --out=txt | sed "s/local: //"
81290                 > iam_users.sls
81291
81292       salt.modules.boto_iam.get_account_id(region=None, key=None, keyid=None,
81293       profile=None)
81294              Get a the AWS account id associated with the used credentials.
81295
81296              CLI Example:
81297
81298                 salt myminion boto_iam.get_account_id
81299
81300       salt.modules.boto_iam.get_account_policy(region=None,         key=None,
81301       keyid=None, profile=None)
81302              Get account policy for the AWS account.
81303
81304              New in version 2015.8.0.
81305
81306
81307              CLI Example:
81308
81309                 salt myminion boto_iam.get_account_policy
81310
81311       salt.modules.boto_iam.get_all_access_keys(user_name,       marker=None,
81312       max_items=None, region=None, key=None, keyid=None, profile=None)
81313              Get all access keys from a user.
81314
81315              New in version 2015.8.0.
81316
81317
81318              CLI Example:
81319
81320                 salt myminion boto_iam.get_all_access_keys myuser
81321
81322       salt.modules.boto_iam.get_all_group_policies(group_name,   region=None,
81323       key=None, keyid=None, profile=None)
81324              Get a list of policy names from a group.
81325
81326              CLI Example:
81327
81328                 salt myminion boto_iam.get_all_group_policies mygroup
81329
81330       salt.modules.boto_iam.get_all_groups(path_prefix=u'/',     region=None,
81331       key=None, keyid=None, profile=None)
81332              Get and return all IAM group details, starting at  the  optional
81333              path.
81334
81335              New in version 2016.3.0.
81336
81337
81338              CLI Example:
81339                 salt-call boto_iam.get_all_groups
81340
81341       salt.modules.boto_iam.get_all_instance_profiles(path_prefix=u'/',
81342       region=None, key=None, keyid=None, profile=None)
81343              Get and return  all  IAM  instance  profiles,  starting  at  the
81344              optional path.
81345
81346              New in version 2016.11.0.
81347
81348
81349              CLI Example:
81350                 salt-call boto_iam.get_all_instance_profiles
81351
81352       salt.modules.boto_iam.get_all_mfa_devices(user_name,       region=None,
81353       key=None, keyid=None, profile=None)
81354              Get all MFA devices associated with an IAM user.
81355
81356              New in version 2016.3.0.
81357
81358
81359              CLI Example:
81360
81361                 salt myminion boto_iam.get_all_mfa_devices user_name
81362
81363       salt.modules.boto_iam.get_all_roles(path_prefix=None,      region=None,
81364       key=None, keyid=None, profile=None)
81365              Get  and  return  all IAM role details, starting at the optional
81366              path.
81367
81368              New in version 2016.3.0.
81369
81370
81371              CLI Example:
81372                 salt-call boto_iam.get_all_roles
81373
81374       salt.modules.boto_iam.get_all_user_policies(user_name,     marker=None,
81375       max_items=None, region=None, key=None, keyid=None, profile=None)
81376              Get all user policies.
81377
81378              New in version 2015.8.0.
81379
81380
81381              CLI Example:
81382
81383                 salt myminion boto_iam.get_all_user_policies myuser
81384
81385       salt.modules.boto_iam.get_all_users(path_prefix=u'/',      region=None,
81386       key=None, keyid=None, profile=None)
81387              Get and return all IAM user details, starting  at  the  optional
81388              path.
81389
81390              New in version 2016.3.0.
81391
81392
81393              CLI Example:
81394                 salt-call boto_iam.get_all_users
81395
81396       salt.modules.boto_iam.get_group(group_name,    region=None,   key=None,
81397       keyid=None, profile=None)
81398              Get group information.
81399
81400              New in version 2015.8.0.
81401
81402
81403              CLI Example:
81404
81405                 salt myminion boto_iam.get_group mygroup
81406
81407       salt.modules.boto_iam.get_group_members(group_name,        region=None,
81408       key=None, keyid=None, profile=None)
81409              Get group information.
81410
81411              New in version 2016.3.0.
81412
81413
81414              CLI Example:
81415
81416                 salt myminion boto_iam.get_group mygroup
81417
81418       salt.modules.boto_iam.get_group_policy(group_name,         policy_name,
81419       region=None, key=None, keyid=None, profile=None)
81420              Retrieves the specified policy document for the specified group.
81421
81422              New in version 2015.8.0.
81423
81424
81425              CLI Example:
81426
81427                 salt myminion boto_iam.get_group_policy mygroup policyname
81428
81429       salt.modules.boto_iam.get_policy(policy_name,  region=None,   key=None,
81430       keyid=None, profile=None)
81431              Check to see if policy exists.
81432
81433              CLI Example:
81434
81435                 salt myminion boto_iam.instance_profile_exists myiprofile
81436
81437       salt.modules.boto_iam.get_policy_version(policy_name,       version_id,
81438       region=None, key=None, keyid=None, profile=None)
81439              Check to see if policy exists.
81440
81441              CLI Example:
81442
81443                 salt myminion boto_iam.instance_profile_exists myiprofile
81444
81445       salt.modules.boto_iam.get_role_policy(role_name,           policy_name,
81446       region=None, key=None, keyid=None, profile=None)
81447              Get a role policy.
81448
81449              CLI Example:
81450
81451                 salt myminion boto_iam.get_role_policy myirole mypolicy
81452
81453       salt.modules.boto_iam.get_saml_provider(name,   region=None,  key=None,
81454       keyid=None, profile=None)
81455              Get SAML provider document.
81456
81457              CLI Example:
81458
81459                 salt myminion boto_iam.get_saml_provider arn
81460
81461       salt.modules.boto_iam.get_saml_provider_arn(name,          region=None,
81462       key=None, keyid=None, profile=None)
81463              Get SAML provider
81464
81465              CLI Example:
81466
81467                 salt myminion boto_iam.get_saml_provider_arn my_saml_provider_name
81468
81469       salt.modules.boto_iam.get_server_certificate(cert_name,    region=None,
81470       key=None, keyid=None, profile=None)
81471              Returns certificate information from Amazon
81472
81473              New in version 2015.8.0.
81474
81475
81476              CLI Example:
81477
81478                 salt myminion boto_iam.get_server_certificate mycert_name
81479
81480       salt.modules.boto_iam.get_user(user_name=None,  region=None,  key=None,
81481       keyid=None, profile=None)
81482              Get user information.
81483
81484              New in version 2015.8.0.
81485
81486
81487              CLI Example:
81488
81489                 salt myminion boto_iam.get_user myuser
81490
81491       salt.modules.boto_iam.get_user_policy(user_name,           policy_name,
81492       region=None, key=None, keyid=None, profile=None)
81493              Retrieves the specified policy document for the specified user.
81494
81495              New in version 2015.8.0.
81496
81497
81498              CLI Example:
81499
81500                 salt myminion boto_iam.get_user_policy myuser mypolicyname
81501
81502       salt.modules.boto_iam.instance_profile_exists(name,        region=None,
81503       key=None, keyid=None, profile=None)
81504              Check to see if an instance profile exists.
81505
81506              CLI Example:
81507
81508                 salt myminion boto_iam.instance_profile_exists myiprofile
81509
81510       salt.modules.boto_iam.list_attached_group_policies(group_name,
81511       path_prefix=None,    entity_filter=None,     region=None,     key=None,
81512       keyid=None, profile=None)
81513              List entities attached to the given group.
81514
81515              CLI Example:
81516
81517                 salt myminion boto_iam.list_entities_for_policy mypolicy
81518
81519       salt.modules.boto_iam.list_attached_role_policies(role_name,  path_pre‐
81520       fix=None, entity_filter=None, region=None, key=None,  keyid=None,  pro‐
81521       file=None)
81522              List entities attached to the given role.
81523
81524              CLI Example:
81525
81526                 salt myminion boto_iam.list_entities_for_policy mypolicy
81527
81528       salt.modules.boto_iam.list_attached_user_policies(user_name,  path_pre‐
81529       fix=None, entity_filter=None, region=None, key=None,  keyid=None,  pro‐
81530       file=None)
81531              List entities attached to the given user.
81532
81533              CLI Example:
81534
81535                 salt myminion boto_iam.list_entities_for_policy mypolicy
81536
81537       salt.modules.boto_iam.list_entities_for_policy(policy_name,   path_pre‐
81538       fix=None, entity_filter=None, region=None, key=None,  keyid=None,  pro‐
81539       file=None)
81540              List entities that a policy is attached to.
81541
81542              CLI Example:
81543
81544                 salt myminion boto_iam.list_entities_for_policy mypolicy
81545
81546       salt.modules.boto_iam.list_instance_profiles(path_prefix=u'/',
81547       region=None, key=None, keyid=None, profile=None)
81548              List all IAM instance profiles, starting at the optional path.
81549
81550              New in version 2016.11.0.
81551
81552
81553              CLI Example:
81554                 salt-call boto_iam.list_instance_profiles
81555
81556       salt.modules.boto_iam.list_policies(region=None, key=None,  keyid=None,
81557       profile=None)
81558              List policies.
81559
81560              CLI Example:
81561
81562                 salt myminion boto_iam.list_policies
81563
81564       salt.modules.boto_iam.list_policy_versions(policy_name,    region=None,
81565       key=None, keyid=None, profile=None)
81566              List versions of a policy.
81567
81568              CLI Example:
81569
81570                 salt myminion boto_iam.list_policy_versions mypolicy
81571
81572       salt.modules.boto_iam.list_role_policies(role_name,        region=None,
81573       key=None, keyid=None, profile=None)
81574              Get a list of policy names from a role.
81575
81576              CLI Example:
81577
81578                 salt myminion boto_iam.list_role_policies myirole
81579
81580       salt.modules.boto_iam.list_saml_providers(region=None,        key=None,
81581       keyid=None, profile=None)
81582              List SAML providers.
81583
81584              CLI Example:
81585
81586                 salt myminion boto_iam.list_saml_providers
81587
81588       salt.modules.boto_iam.policy_exists(policy_name, region=None, key=None,
81589       keyid=None, profile=None)
81590              Check to see if policy exists.
81591
81592              CLI Example:
81593
81594                 salt myminion boto_iam.instance_profile_exists myiprofile
81595
81596       salt.modules.boto_iam.policy_version_exists(policy_name,    version_id,
81597       region=None, key=None, keyid=None, profile=None)
81598              Check to see if policy exists.
81599
81600              CLI Example:
81601
81602                 salt myminion boto_iam.instance_profile_exists myiprofile
81603
81604       salt.modules.boto_iam.profile_associated(role_name,       profile_name,
81605       region, key, keyid, profile)
81606              Check  to  see  if an instance profile is associated with an IAM
81607              role.
81608
81609              CLI Example:
81610
81611                 salt myminion boto_iam.profile_associated myirole myiprofile
81612
81613       salt.modules.boto_iam.put_group_policy(group_name,  policy_name,   pol‐
81614       icy_json, region=None, key=None, keyid=None, profile=None)
81615              Adds  or updates the specified policy document for the specified
81616              group.
81617
81618              New in version 2015.8.0.
81619
81620
81621              CLI Example:
81622
81623                 salt myminion boto_iam.put_group_policy mygroup policyname policyrules
81624
81625       salt.modules.boto_iam.put_user_policy(user_name,   policy_name,    pol‐
81626       icy_json, region=None, key=None, keyid=None, profile=None)
81627              Adds  or updates the specified policy document for the specified
81628              user.
81629
81630              New in version 2015.8.0.
81631
81632
81633              CLI Example:
81634
81635                 salt myminion boto_iam.put_user_policy myuser policyname policyrules
81636
81637       salt.modules.boto_iam.remove_user_from_group(group_name,     user_name,
81638       region=None, key=None, keyid=None, profile=None)
81639              Remove user from group.
81640
81641              New in version 2015.8.0.
81642
81643
81644              CLI Example:
81645
81646                 salt myminion boto_iam.remove_user_from_group mygroup myuser
81647
81648       salt.modules.boto_iam.role_exists(name,      region=None,     key=None,
81649       keyid=None, profile=None)
81650              Check to see if an IAM role exists.
81651
81652              CLI Example:
81653
81654                 salt myminion boto_iam.role_exists myirole
81655
81656       salt.modules.boto_iam.set_default_policy_version(policy_name,      ver‐
81657       sion_id, region=None, key=None, keyid=None, profile=None)
81658              Set the default version of  a policy.
81659
81660              CLI Example:
81661
81662                 salt myminion boto_iam.set_default_policy_version mypolicy v1
81663
81664       salt.modules.boto_iam.update_account_password_pol‐
81665       icy(allow_users_to_change_password=None,  hard_expiry=None,   max_pass‐
81666       word_age=None,   minimum_password_length=None,   password_reuse_preven‐
81667       tion=None,   require_lowercase_characters=None,   require_numbers=None,
81668       require_symbols=None,  require_uppercase_characters=None,  region=None,
81669       key=None, keyid=None, profile=None)
81670              Update the password policy for the AWS account.
81671
81672              New in version 2015.8.0.
81673
81674
81675              CLI Example:
81676
81677                 salt myminion boto_iam.update_account_password_policy True
81678
81679       salt.modules.boto_iam.update_assume_role_policy(role_name, policy_docu‐
81680       ment, region=None, key=None, keyid=None, profile=None)
81681              Update an assume role policy for a role.
81682
81683              New in version 2015.8.0.
81684
81685
81686              CLI Example:
81687
81688                 salt myminion boto_iam.update_assume_role_policy myrole '{"Statement":"..."}'
81689
81690       salt.modules.boto_iam.update_saml_provider(name,    saml_metadata_docu‐
81691       ment, region=None, key=None, keyid=None, profile=None)
81692              Update SAML provider.
81693
81694              CLI Example:
81695
81696                 salt myminion boto_iam.update_saml_provider my_saml_provider_name saml_metadata_document
81697
81698       salt.modules.boto_iam.upload_server_cert(cert_name,   cert_body,   pri‐
81699       vate_key,    cert_chain=None,    path=None,    region=None,   key=None,
81700       keyid=None, profile=None)
81701              Upload a certificate to Amazon.
81702
81703              New in version 2015.8.0.
81704
81705
81706              CLI Example:
81707
81708                 salt myminion boto_iam.upload_server_cert mycert_name crt priv_key
81709
81710              Parameters
81711
81712                     · cert_name -- The name for the  server  certificate.  Do
81713                       not include the path in this value.
81714
81715                     · cert_body -- The contents of the public key certificate
81716                       in PEM-encoded format.
81717
81718                     · private_key -- The  contents  of  the  private  key  in
81719                       PEM-encoded format.
81720
81721                     · cert_chain  --  The  contents of the certificate chain.
81722                       This is typically a concatenation  of  the  PEM-encoded
81723                       public key certificates of the chain.
81724
81725                     · path -- The path for the server certificate.
81726
81727                     · region -- The name of the region to connect to.
81728
81729                     · key -- The key to be used in order to connect
81730
81731                     · keyid -- The keyid to be used in order to connect
81732
81733                     · profile  -- The profile that contains a dict of region,
81734                       key, keyid
81735
81736              Returns
81737                     True / False
81738
81739       salt.modules.boto_iam.user_exists_in_group(user_name,       group_name,
81740       region=None, key=None, keyid=None, profile=None)
81741              Check if user exists in group.
81742
81743              New in version 2015.8.0.
81744
81745
81746              CLI Example:
81747
81748                 salt myminion boto_iam.user_exists_in_group myuser mygroup
81749
81750   salt.modules.boto_iot module
81751       Connection module for Amazon IoT
81752
81753       New in version 2016.3.0.
81754
81755
81756       depends
81757
81758              · boto
81759
81760              · boto3
81761
81762       The dependencies listed above can be installed via package or pip.
81763
81764       configuration
81765              This  module  accepts  explicit  Lambda credentials but can also
81766              utilize IAM roles assigned to the instance through Instance Pro‐
81767              files.  Dynamic credentials are then automatically obtained from
81768              AWS API and no further configuration is necessary. More Informa‐
81769              tion available at:
81770
81771                 http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html
81772
81773              If  IAM  roles are not used you need to specify them either in a
81774              pillar or in the minion's config file:
81775
81776                 iot.keyid: GKTADJGHEIQSXMKKRBJ08H
81777                 iot.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
81778
81779              A region may also be specified in the configuration:
81780
81781                 iot.region: us-east-1
81782
81783              If a region is not specified, the default is us-east-1.
81784
81785              It's also possible to specify key, keyid and region via  a  pro‐
81786              file,  either  as  a passed in dict, or as a string to pull from
81787              pillars or minion config:
81788
81789                 myprofile:
81790                   keyid: GKTADJGHEIQSXMKKRBJ08H
81791                   key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
81792                   region: us-east-1
81793
81794       salt.modules.boto_iot.attach_principal_policy(policyName,    principal,
81795       region=None, key=None, keyid=None, profile=None)
81796              Attach the specified policy to the specified principal (certifi‐
81797              cate or other credential.)
81798
81799              Returns {attached: true} if the policy was  attached  {attached:
81800              False} if the policy was not attached.
81801
81802              CLI Example:
81803
81804                 salt myminion boto_iot.attach_principal_policy mypolicy mycognitoID
81805
81806       salt.modules.boto_iot.create_policy(policyName,         policyDocument,
81807       region=None, key=None, keyid=None, profile=None)
81808              Given a valid config, create a policy.
81809
81810              Returns {created: true} if the policy was  created  and  returns
81811              {created: False} if the policy was not created.
81812
81813              CLI Example:
81814
81815                 salt myminion boto_iot.create_policy my_policy \
81816                       '{"Version":"2015-12-12",\
81817                       "Statement":[{"Effect":"Allow",\
81818                                     "Action":["iot:Publish"],\
81819                                     "Resource":["arn:::::topic/foo/bar"]}]}'
81820
81821       salt.modules.boto_iot.create_policy_version(policyName, policyDocument,
81822       setAsDefault=False, region=None, key=None, keyid=None, profile=None)
81823              Given a valid config, create a new version of a policy.
81824
81825              Returns {created: true} if the policy version  was  created  and
81826              returns {created: False} if the policy version was not created.
81827
81828              CLI Example:
81829
81830                 salt myminion boto_iot.create_policy_version my_policy \
81831                        '{"Statement":[{"Effect":"Allow","Action":["iot:Publish"],"Resource":["arn:::::topic/foo/bar"]}]}'
81832
81833       salt.modules.boto_iot.create_thing_type(thingTypeName,       thingType‐
81834       Description,    searchableAttributesList,    region=None,     key=None,
81835       keyid=None, profile=None)
81836              Given a valid config, create a thing type.
81837
81838              Returns  {created:  true}  if  the  thing  type  was created and
81839              returns {created: False} if the thing type was not created.
81840
81841              New in version 2016.11.0.
81842
81843
81844              CLI Example:
81845
81846                 salt myminion boto_iot.create_thing_type mythingtype \
81847                       thingtype_description_string '["searchable_attr_1", "searchable_attr_2"]'
81848
81849       salt.modules.boto_iot.create_topic_rule(ruleName,     sql,     actions,
81850       description,  ruleDisabled=False,  region=None,  key=None,  keyid=None,
81851       profile=None)
81852              Given a valid config, create a topic rule.
81853
81854              Returns {created: true} if the  rule  was  created  and  returns
81855              {created: False} if the rule was not created.
81856
81857              CLI Example:
81858
81859                 salt myminion boto_iot.create_topic_rule my_rule "SELECT * FROM 'some/thing'" \
81860                     '[{"lambda":{"functionArn":"arn:::::something"}},{"sns":{\
81861                     "targetArn":"arn:::::something","roleArn":"arn:::::something"}}]'
81862
81863       salt.modules.boto_iot.delete_policy(policyName,  region=None, key=None,
81864       keyid=None, profile=None)
81865              Given a policy name, delete it.
81866
81867              Returns {deleted: true} if the policy was  deleted  and  returns
81868              {deleted: false} if the policy was not deleted.
81869
81870              CLI Example:
81871
81872                 salt myminion boto_iot.delete_policy mypolicy
81873
81874       salt.modules.boto_iot.delete_policy_version(policyName,      policyVer‐
81875       sionId, region=None, key=None, keyid=None, profile=None)
81876              Given a policy name and version, delete it.
81877
81878              Returns {deleted: true} if the policy version  was  deleted  and
81879              returns {deleted: false} if the policy version was not deleted.
81880
81881              CLI Example:
81882
81883                 salt myminion boto_iot.delete_policy_version mypolicy version
81884
81885       salt.modules.boto_iot.delete_thing_type(thingTypeName,     region=None,
81886       key=None, keyid=None, profile=None)
81887              Given a thing type name, delete it.
81888
81889              Returns {deleted: true}  if  the  thing  type  was  deleted  and
81890              returns {deleted: false} if the thing type was not deleted.
81891
81892              New in version 2016.11.0.
81893
81894
81895              CLI Example:
81896
81897                 salt myminion boto_iot.delete_thing_type mythingtype
81898
81899       salt.modules.boto_iot.delete_topic_rule(ruleName,          region=None,
81900       key=None, keyid=None, profile=None)
81901              Given a rule name, delete it.
81902
81903              Returns {deleted: true} if the  rule  was  deleted  and  returns
81904              {deleted: false} if the rule was not deleted.
81905
81906              CLI Example:
81907
81908                 salt myminion boto_iot.delete_rule myrule
81909
81910       salt.modules.boto_iot.deprecate_thing_type(thingTypeName,    undoDepre‐
81911       cate=False, region=None, key=None, keyid=None, profile=None)
81912              Given a thing type name,  deprecate  it  when  undoDeprecate  is
81913              False and undeprecate it when undoDeprecate is True.
81914
81915              Returns  {deprecated: true} if the thing type was deprecated and
81916              returns {deprecated: false} if the thing  type  was  not  depre‐
81917              cated.
81918
81919              New in version 2016.11.0.
81920
81921
81922              CLI Example:
81923
81924                 salt myminion boto_iot.deprecate_thing_type mythingtype
81925
81926       salt.modules.boto_iot.describe_policy(policyName,          region=None,
81927       key=None, keyid=None, profile=None)
81928              Given a policy name describe its properties.
81929
81930              Returns a dictionary of interesting properties.
81931
81932              CLI Example:
81933
81934                 salt myminion boto_iot.describe_policy mypolicy
81935
81936       salt.modules.boto_iot.describe_policy_version(policyName,    policyVer‐
81937       sionId, region=None, key=None, keyid=None, profile=None)
81938              Given a policy name and version describe its properties.
81939
81940              Returns a dictionary of interesting properties.
81941
81942              CLI Example:
81943
81944                 salt myminion boto_iot.describe_policy_version mypolicy version
81945
81946       salt.modules.boto_iot.describe_thing_type(thingTypeName,   region=None,
81947       key=None, keyid=None, profile=None)
81948              Given a thing type name describe its properties.
81949
81950              Returns a dictionary of interesting properties.
81951
81952              New in version 2016.11.0.
81953
81954
81955              CLI Example:
81956
81957                 salt myminion boto_iot.describe_thing_type mythingtype
81958
81959       salt.modules.boto_iot.describe_topic_rule(ruleName,        region=None,
81960       key=None, keyid=None, profile=None)
81961              Given a topic rule name describe its properties.
81962
81963              Returns a dictionary of interesting properties.
81964
81965              CLI Example:
81966
81967                 salt myminion boto_iot.describe_topic_rule myrule
81968
81969       salt.modules.boto_iot.detach_principal_policy(policyName,    principal,
81970       region=None, key=None, keyid=None, profile=None)
81971              Detach the specified policy from the specified  principal  (cer‐
81972              tificate or other credential.)
81973
81974              Returns  {detached:  true} if the policy was detached {detached:
81975              False} if the policy was not detached.
81976
81977              CLI Example:
81978
81979                 salt myminion boto_iot.detach_principal_policy mypolicy mycognitoID
81980
81981       salt.modules.boto_iot.list_policies(region=None, key=None,  keyid=None,
81982       profile=None)
81983              List all policies
81984
81985              Returns list of policies
81986
81987              CLI Example:
81988
81989                 salt myminion boto_iot.list_policies
81990
81991              Example Return:
81992
81993                 policies:
81994                   - {...}
81995                   - {...}
81996
81997       salt.modules.boto_iot.list_policy_versions(policyName,     region=None,
81998       key=None, keyid=None, profile=None)
81999              List the versions available for the given policy.
82000
82001              CLI Example:
82002
82003                 salt myminion boto_iot.list_policy_versions mypolicy
82004
82005              Example Return:
82006
82007                 policyVersions:
82008                   - {...}
82009                   - {...}
82010
82011       salt.modules.boto_iot.list_principal_policies(principal,   region=None,
82012       key=None, keyid=None, profile=None)
82013              List the policies attached to the given principal.
82014
82015              CLI Example:
82016
82017                 salt myminion boto_iot.list_principal_policies myprincipal
82018
82019              Example Return:
82020
82021                 policies:
82022                   - {...}
82023                   - {...}
82024
82025       salt.modules.boto_iot.list_topic_rules(topic=None,   ruleDisabled=None,
82026       region=None, key=None, keyid=None, profile=None)
82027              List all rules (for a given topic, if specified)
82028
82029              Returns list of rules
82030
82031              CLI Example:
82032
82033                 salt myminion boto_iot.list_topic_rules
82034
82035              Example Return:
82036
82037                 rules:
82038                   - {...}
82039                   - {...}
82040
82041       salt.modules.boto_iot.policy_exists(policyName, region=None,  key=None,
82042       keyid=None, profile=None)
82043              Given a policy name, check to see if the given policy exists.
82044
82045              Returns True if the given policy exists and returns False if the
82046              given policy does not exist.
82047
82048              CLI Example:
82049
82050                 salt myminion boto_iot.policy_exists mypolicy
82051
82052       salt.modules.boto_iot.policy_version_exists(policyName,      policyVer‐
82053       sionId, region=None, key=None, keyid=None, profile=None)
82054              Given  a  policy  name and version ID, check to see if the given
82055              policy version exists.
82056
82057              Returns True if the given  policy  version  exists  and  returns
82058              False if the given policy version does not exist.
82059
82060              CLI Example:
82061
82062                 salt myminion boto_iot.policy_version_exists mypolicy versionid
82063
82064       salt.modules.boto_iot.replace_topic_rule(ruleName,     sql,    actions,
82065       description,  ruleDisabled=False,  region=None,  key=None,  keyid=None,
82066       profile=None)
82067              Given a valid config, replace a topic rule with the new values.
82068
82069              Returns  {created:  true}  if  the  rule was created and returns
82070              {created: False} if the rule was not created.
82071
82072              CLI Example:
82073
82074                 salt myminion boto_iot.replace_topic_rule my_rule 'SELECT * FROM some.thing' \
82075                     '[{"lambda":{"functionArn":"arn:::::something"}},{"sns":{\
82076                     "targetArn":"arn:::::something","roleArn":"arn:::::something"}}]'
82077
82078       salt.modules.boto_iot.set_default_policy_version(policyName, policyVer‐
82079       sionId, region=None, key=None, keyid=None, profile=None)
82080              Sets  the  specified version of the specified policy as the pol‐
82081              icy's default (operative) version. This action affects all  cer‐
82082              tificates that the policy is attached to.
82083
82084              Returns  {changed: true} if the policy version was set {changed:
82085              False} if the policy version was not set.
82086
82087              CLI Example:
82088
82089                 salt myminion boto_iot.set_default_policy_version mypolicy versionid
82090
82091       salt.modules.boto_iot.thing_type_exists(thingTypeName,     region=None,
82092       key=None, keyid=None, profile=None)
82093              Given  a  thing  type name, check to see if the given thing type
82094              exists
82095
82096              Returns True if the given thing type exists and returns False if
82097              the given thing type does not exist.
82098
82099              New in version 2016.11.0.
82100
82101
82102              CLI Example:
82103
82104                 salt myminion boto_iot.thing_type_exists mythingtype
82105
82106       salt.modules.boto_iot.topic_rule_exists(ruleName,          region=None,
82107       key=None, keyid=None, profile=None)
82108              Given a rule name, check to see if the given rule exists.
82109
82110              Returns True if the given rule exists and returns False  if  the
82111              given rule does not exist.
82112
82113              CLI Example:
82114
82115                 salt myminion boto_iot.topic_rule_exists myrule
82116
82117   salt.modules.boto_kinesis module
82118       Connection module for Amazon Kinesis
82119
82120       New in version 2017.7.0.
82121
82122
82123       configuration
82124              This  module  accepts  explicit Kinesis credentials but can also
82125              utilize IAM roles assigned to the instance trough Instance  Pro‐
82126              files.  Dynamic credentials are then automatically obtained from
82127              AWS API and no further configuration is necessary. More Informa‐
82128              tion available at:
82129
82130                 http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html
82131
82132              If  IAM  roles are not used you need to specify them either in a
82133              pillar or in the minion's config file:
82134
82135                 kinesis.keyid: GKTADJGHEIQSXMKKRBJ08H
82136                 kinesis.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
82137
82138              A region may also be specified in the configuration:
82139
82140                 kinesis.region: us-east-1
82141
82142              If a region is not specified, the default is us-east-1.
82143
82144              It's also possible to specify key, keyid and region via  a  pro‐
82145              file,  either  as  a passed in dict, or as a string to pull from
82146              pillars or minion config:
82147
82148                 myprofile:
82149                     keyid: GKTADJGHEIQSXMKKRBJ08H
82150                     key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
82151                     region: us-east-1
82152
82153       depends
82154              boto3
82155
82156       salt.modules.boto_kinesis.create_stream(stream_name,        num_shards,
82157       region=None, key=None, keyid=None, profile=None)
82158              Create  a  stream  with  name  stream_name and initial number of
82159              shards num_shards.
82160
82161              CLI example:
82162
82163                 salt myminion boto_kinesis.create_stream my_stream N region=us-east-1
82164
82165       salt.modules.boto_kinesis.decrease_stream_retention_period(stream_name,
82166       retention_hours, region=None, key=None, keyid=None, profile=None)
82167              Decrease stream retention period to retention_hours
82168
82169              CLI example:
82170
82171                 salt myminion boto_kinesis.decrease_stream_retention_period my_stream N region=us-east-1
82172
82173       salt.modules.boto_kinesis.delete_stream(stream_name,       region=None,
82174       key=None, keyid=None, profile=None)
82175              Delete the stream with name stream_name. This cannot be  undone!
82176              All data will be lost!!
82177
82178              CLI example:
82179
82180                 salt myminion boto_kinesis.delete_stream my_stream region=us-east-1
82181
82182       salt.modules.boto_kinesis.disable_enhanced_monitoring(stream_name, met‐
82183       rics, region=None, key=None, keyid=None, profile=None)
82184              Disable enhanced monitoring for the specified  shard-level  met‐
82185              rics on stream stream_name
82186
82187              CLI example:
82188
82189                 salt myminion boto_kinesis.disable_enhanced_monitoring my_stream ["metrics", "to", "disable"] region=us-east-1
82190
82191       salt.modules.boto_kinesis.enable_enhanced_monitoring(stream_name,  met‐
82192       rics, region=None, key=None, keyid=None, profile=None)
82193              Enable enhanced monitoring for the specified shard-level metrics
82194              on stream stream_name
82195
82196              CLI example:
82197
82198                 salt myminion boto_kinesis.enable_enhanced_monitoring my_stream ["metrics", "to", "enable"] region=us-east-1
82199
82200       salt.modules.boto_kinesis.exists(stream_name,   region=None,  key=None,
82201       keyid=None, profile=None)
82202              Check if the stream exists. Returns False and the  error  if  it
82203              does not.
82204
82205              CLI example:
82206
82207                 salt myminion boto_kinesis.exists my_stream region=us-east-1
82208
82209       salt.modules.boto_kinesis.get_info_for_reshard(stream_details)
82210              Collect some data: number of open shards, key range, etc.  Modi‐
82211              fies stream_details to add a sorted list of OpenShards.  Returns
82212              (min_hash_key, max_hash_key, stream_details)
82213
82214              CLI example:
82215
82216                 salt myminion boto_kinesis.get_info_for_reshard existing_stream_details
82217
82218       salt.modules.boto_kinesis.get_stream_when_active(stream_name,
82219       region=None, key=None, keyid=None, profile=None)
82220              Get complete stream info  from  AWS,  returning  only  when  the
82221              stream  is  in the ACTIVE state.  Continues to retry when stream
82222              is updating or  creating.   If  the  stream  is  deleted  during
82223              retries, the loop will catch the error and break.
82224
82225              CLI example:
82226
82227                 salt myminion boto_kinesis.get_stream_when_active my_stream region=us-east-1
82228
82229       salt.modules.boto_kinesis.increase_stream_retention_period(stream_name,
82230       retention_hours, region=None, key=None, keyid=None, profile=None)
82231              Increase stream retention period to retention_hours
82232
82233              CLI example:
82234
82235                 salt myminion boto_kinesis.increase_stream_retention_period my_stream N region=us-east-1
82236
82237       salt.modules.boto_kinesis.list_streams(region=None,           key=None,
82238       keyid=None, profile=None)
82239              Return a list of all streams visible to the current account
82240
82241              CLI example:
82242
82243                 salt myminion boto_kinesis.list_streams
82244
82245       salt.modules.boto_kinesis.long_int(hash_key)
82246              The hash key is a 128-bit int, sent as a string.  It's necessary
82247              to convert to int/long for comparison operations.   This  helper
82248              method handles python 2/3 incompatibility
82249
82250              CLI example:
82251
82252                 salt myminion boto_kinesis.long_int some_MD5_hash_as_string
82253
82254              Returns
82255                     long object if python 2.X, int object if python 3.X
82256
82257       salt.modules.boto_kinesis.reshard(stream_name,            desired_size,
82258       force=False, region=None, key=None, keyid=None, profile=None)
82259              Reshard a kinesis stream.  Each call to this function will  wait
82260              until  the  stream  is ACTIVE, then make a single split or merge
82261              operation. This function decides where to split  or  merge  with
82262              the  assumption  that  the ultimate goal is a balanced partition
82263              space.
82264
82265              For safety, user must past in force=True; otherwise,  the  func‐
82266              tion will dry run.
82267
82268              CLI example:
82269
82270                 salt myminion boto_kinesis.reshard my_stream N True region=us-east-1
82271
82272              Returns
82273                     True  if  a  split or merge was found/performed, False if
82274                     nothing is needed
82275
82276   salt.modules.boto_kms
82277       Connection module for Amazon KMS
82278
82279       New in version 2015.8.0.
82280
82281
82282       configuration
82283              This module accepts explicit kms credentials but can  also  uti‐
82284              lize  IAM  roles  assigned to the instance through Instance Pro‐
82285              files. Dynamic credentials are then automatically obtained  from
82286              AWS API and no further configuration is necessary. More Informa‐
82287              tion available at:
82288
82289                 http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html
82290
82291              If IAM roles are not used you need to specify them either  in  a
82292              pillar or in the minion's config file:
82293
82294                 kms.keyid: GKTADJGHEIQSXMKKRBJ08H
82295                 kms.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
82296
82297              A region may also be specified in the configuration:
82298
82299                 kms.region: us-east-1
82300
82301              If a region is not specified, the default is us-east-1.
82302
82303              It's  also  possible to specify key, keyid and region via a pro‐
82304              file, either as a passed in dict, or as a string  to  pull  from
82305              pillars or minion config:
82306
82307                 myprofile:
82308                        keyid: GKTADJGHEIQSXMKKRBJ08H key: askdjghsdfjkghWupU‐
82309                        jasdflkdfklgjsdfjajkghs region: us-east-1
82310
82311       depends
82312              boto
82313
82314       salt.modules.boto_kms.create_alias(alias_name,           target_key_id,
82315       region=None, key=None, keyid=None, profile=None)
82316              Create a display name for a key.
82317
82318              CLI example:
82319
82320                 salt myminion boto_kms.create_alias 'alias/mykey' key_id
82321
82322       salt.modules.boto_kms.create_grant(key_id,   grantee_principal,  retir‐
82323       ing_principal=None,         operations=None,          constraints=None,
82324       grant_tokens=None, region=None, key=None, keyid=None, profile=None)
82325              Adds  a  grant  to  a  key to specify who can access the key and
82326              under what conditions.
82327
82328              CLI example:
82329
82330                 salt myminion boto_kms.create_grant 'alias/mykey' 'arn:aws:iam::1111111:/role/myrole' operations='["Encrypt","Decrypt"]'
82331
82332       salt.modules.boto_kms.create_key(policy=None,         description=None,
82333       key_usage=None, region=None, key=None, keyid=None, profile=None)
82334              Creates a master key.
82335
82336              CLI example:
82337
82338                 salt myminion boto_kms.create_key '{"Statement":...}' "My master key"
82339
82340       salt.modules.boto_kms.decrypt(ciphertext_blob, encryption_context=None,
82341       grant_tokens=None, region=None, key=None, keyid=None, profile=None)
82342              Decrypt ciphertext.
82343
82344              CLI example:
82345
82346                 salt myminion boto_kms.decrypt encrypted_ciphertext
82347
82348       salt.modules.boto_kms.describe_key(key_id,    region=None,    key=None,
82349       keyid=None, profile=None)
82350              Get detailed information about a key.
82351
82352              CLI example:
82353
82354                 salt myminion boto_kms.describe_key 'alias/mykey'
82355
82356       salt.modules.boto_kms.disable_key(key_id,     region=None,    key=None,
82357       keyid=None, profile=None)
82358              Mark key as disabled.
82359
82360              CLI example:
82361
82362                 salt myminion boto_kms.disable_key 'alias/mykey'
82363
82364       salt.modules.boto_kms.disable_key_rotation(key_id,         region=None,
82365       key=None, keyid=None, profile=None)
82366              Disable key rotation for specified key.
82367
82368              CLI example:
82369
82370                 salt myminion boto_kms.disable_key_rotation 'alias/mykey'
82371
82372       salt.modules.boto_kms.enable_key(key_id,     region=None,     key=None,
82373       keyid=None, profile=None)
82374              Mark key as enabled.
82375
82376              CLI example:
82377
82378                 salt myminion boto_kms.enable_key 'alias/mykey'
82379
82380       salt.modules.boto_kms.enable_key_rotation(key_id,          region=None,
82381       key=None, keyid=None, profile=None)
82382              Disable key rotation for specified key.
82383
82384              CLI example:
82385
82386                 salt myminion boto_kms.enable_key_rotation 'alias/mykey'
82387
82388       salt.modules.boto_kms.encrypt(key_id,     plaintext,    encryption_con‐
82389       text=None, grant_tokens=None, region=None, key=None,  keyid=None,  pro‐
82390       file=None)
82391              Encrypt plaintext into cipher text using specified key.
82392
82393              CLI example:
82394
82395                 salt myminion boto_kms.encrypt 'alias/mykey' 'myplaindata' '{"aws:username":"myuser"}'
82396
82397       salt.modules.boto_kms.generate_data_key(key_id,         encryption_con‐
82398       text=None,  number_of_bytes=None,   key_spec=None,   grant_tokens=None,
82399       region=None, key=None, keyid=None, profile=None)
82400              Generate a secure data key.
82401
82402              CLI example:
82403
82404                 salt myminion boto_kms.generate_data_key 'alias/mykey' number_of_bytes=1024 key_spec=AES_128
82405
82406       salt.modules.boto_kms.generate_data_key_without_plaintext(key_id,
82407       encryption_context=None,      number_of_bytes=None,      key_spec=None,
82408       grant_tokens=None, region=None, key=None, keyid=None, profile=None)
82409              Generate a secure data key without a plaintext copy of the key.
82410
82411              CLI example:
82412
82413                 salt myminion boto_kms.generate_data_key_without_plaintext 'alias/mykey' number_of_bytes=1024 key_spec=AES_128
82414
82415       salt.modules.boto_kms.generate_random(number_of_bytes=None,
82416       region=None, key=None, keyid=None, profile=None)
82417              Generate a random string.
82418
82419              CLI example:
82420
82421                 salt myminion boto_kms.generate_random number_of_bytes=1024
82422
82423       salt.modules.boto_kms.get_key_policy(key_id, policy_name,  region=None,
82424       key=None, keyid=None, profile=None)
82425              Get the policy for the specified key.
82426
82427              CLI example:
82428
82429                 salt myminion boto_kms.get_key_policy 'alias/mykey' mypolicy
82430
82431       salt.modules.boto_kms.get_key_rotation_status(key_id,      region=None,
82432       key=None, keyid=None, profile=None)
82433              Get status of whether or not key rotation is enabled for a key.
82434
82435              CLI example:
82436
82437                 salt myminion boto_kms.get_key_rotation_status 'alias/mykey'
82438
82439       salt.modules.boto_kms.key_exists(key_id,     region=None,     key=None,
82440       keyid=None, profile=None)
82441              Check for the existence of a key.
82442
82443              CLI example:
82444
82445                 salt myminion boto_kms.key_exists 'alias/mykey'
82446
82447       salt.modules.boto_kms.list_grants(key_id,    limit=None,   marker=None,
82448       region=None, key=None, keyid=None, profile=None)
82449              List grants for the specified key.
82450
82451              CLI example:
82452
82453                 salt myminion boto_kms.list_grants 'alias/mykey'
82454
82455       salt.modules.boto_kms.list_key_policies(key_id,             limit=None,
82456       marker=None, region=None, key=None, keyid=None, profile=None)
82457              List key_policies for the specified key.
82458
82459              CLI example:
82460
82461                 salt myminion boto_kms.list_key_policies 'alias/mykey'
82462
82463       salt.modules.boto_kms.put_key_policy(key_id,    policy_name,    policy,
82464       region=None, key=None, keyid=None, profile=None)
82465              Attach a key policy to the specified key.
82466
82467              CLI example:
82468
82469                 salt myminion boto_kms.put_key_policy 'alias/mykey' default '{"Statement":...}'
82470
82471       salt.modules.boto_kms.re_encrypt(ciphertext_blob,   destination_key_id,
82472       source_encryption_context=None,    destination_encryption_context=None,
82473       grant_tokens=None, region=None, key=None, keyid=None, profile=None)
82474              Reencrypt encrypted data with a new master key.
82475
82476              CLI example:
82477
82478                 salt myminion boto_kms.re_encrypt 'encrypted_data' 'alias/mynewkey' default '{"Statement":...}'
82479
82480       salt.modules.boto_kms.revoke_grant(key_id,    grant_id,    region=None,
82481       key=None, keyid=None, profile=None)
82482              Revoke a grant from a key.
82483
82484              CLI example:
82485
82486                 salt myminion boto_kms.revoke_grant 'alias/mykey' 8u89hf-j09j...
82487
82488       salt.modules.boto_kms.update_key_description(key_id,       description,
82489       region=None, key=None, keyid=None, profile=None)
82490              Update a key's description.
82491
82492              CLI example:
82493
82494                 salt myminion boto_kms.update_key_description 'alias/mykey' 'My key'
82495
82496   salt.modules.boto_lambda module
82497       Connection module for Amazon Lambda
82498
82499       New in version 2016.3.0.
82500
82501
82502       depends
82503
82504       · boto
82505
82506       · boto3
82507
82508       The dependencies listed above can be installed via package or pip.
82509
82510       configuration
82511              This module accepts explicit Lambda  credentials  but  can  also
82512              utilize IAM roles assigned to the instance through Instance Pro‐
82513              files.  Dynamic credentials are then automatically obtained from
82514              AWS API and no further configuration is necessary. More Informa‐
82515              tion available here.
82516
82517       If IAM roles are not used you need to specify them either in  a  pillar
82518       or in the minion's config file:
82519
82520          lambda.keyid: GKTADJGHEIQSXMKKRBJ08H
82521          lambda.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
82522
82523       A region may also be specified in the configuration:
82524
82525          lambda.region: us-east-1
82526
82527       If a region is not specified, the default is us-east-1.
82528
82529       It's  also  possible  to  specify  key, keyid and region via a profile,
82530       either as a passed in dict, or as a string to pull from pillars or min‐
82531       ion config:
82532
82533          myprofile:
82534              keyid: GKTADJGHEIQSXMKKRBJ08H
82535              key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
82536              region: us-east-1
82537
82538       Changed  in version 2015.8.0: All methods now return a dictionary. Cre‐
82539       ate and delete methods return:
82540
82541          created: true
82542
82543       or
82544
82545          created: false
82546          error:
82547            message: error message
82548
82549       Request methods (e.g., describe_function) return:
82550
82551          function:
82552            - {...}
82553            - {...}
82554
82555       or
82556
82557          error:
82558            message: error message
82559
82560
82561       salt.modules.boto_lambda.add_permission(FunctionName,      StatementId,
82562       Action,  Principal, SourceArn=None, SourceAccount=None, Qualifier=None,
82563       region=None, key=None, keyid=None, profile=None)
82564              Add a permission to a lambda function.
82565
82566              Returns {added: true} if the permission was  added  and  returns
82567              {added: False} if the permission was not added.
82568
82569              CLI Example:
82570
82571                 salt myminion boto_lamba.add_permission my_function my_id "lambda:*" \
82572                                    s3.amazonaws.com aws:arn::::bucket-name \
82573                                    aws-account-id
82574
82575       salt.modules.boto_lambda.alias_exists(FunctionName,  Name, region=None,
82576       key=None, keyid=None, profile=None)
82577              Given a function name and alias name, check to see if the  given
82578              alias exists.
82579
82580              Returns  True if the given alias exists and returns False if the
82581              given alias does not exist.
82582
82583              CLI Example:
82584
82585                 salt myminion boto_lambda.alias_exists myfunction myalias
82586
82587       salt.modules.boto_lambda.create_alias(FunctionName, Name,  FunctionVer‐
82588       sion, Description=u'', region=None, key=None, keyid=None, profile=None)
82589              Given a valid config, create an alias to a function.
82590
82591              Returns  {created:  true}  if  the alias was created and returns
82592              {created: False} if the alias was not created.
82593
82594              CLI Example:
82595
82596                 salt myminion boto_lamba.create_alias my_function my_alias $LATEST "An alias"
82597
82598       salt.modules.boto_lambda.create_event_source_mapping(EventSourceArn,
82599       FunctionName,     StartingPosition,     Enabled=True,    BatchSize=100,
82600       region=None, key=None, keyid=None, profile=None)
82601              Identifies a stream as an event source for a Lambda function. It
82602              can  be  either  an  Amazon Kinesis stream or an Amazon DynamoDB
82603              stream. AWS Lambda invokes the specified function  when  records
82604              are posted to the stream.
82605
82606              Returns  {created: true} if the event source mapping was created
82607              and returns {created: False} if the event source mapping was not
82608              created.
82609
82610              CLI Example:
82611
82612                 salt myminion boto_lamba.create_event_source_mapping arn::::eventsource myfunction LATEST
82613
82614       salt.modules.boto_lambda.create_function(FunctionName,  Runtime,  Role,
82615       Handler, ZipFile=None, S3Bucket=None, S3Key=None, S3ObjectVersion=None,
82616       Description=u'',  Timeout=3,  MemorySize=128,  Publish=False,  WaitFor‐
82617       Role=False,  RoleRetries=5,  region=None,  key=None,  keyid=None,  pro‐
82618       file=None, VpcConfig=None, Environment=None)
82619              New in version 2017.7.0.
82620
82621
82622              Given a valid config, create a function.
82623
82624              Environment
82625                     The  parent  object that contains your environment's con‐
82626                     figuration settings. This is a dictionary of the form:
82627
82628                        {
82629                            'Variables': {
82630                                'VariableName': 'VariableValue'
82631                            }
82632                        }
82633
82634              Returns {'created': True} if the function was created and  {cre‐
82635              ated: False} if the function was not created.
82636
82637              CLI Example:
82638
82639                 salt myminion boto_lamba.create_function my_function python2.7 my_role my_file.my_function my_function.zip
82640
82641       salt.modules.boto_lambda.delete_alias(FunctionName,  Name, region=None,
82642       key=None, keyid=None, profile=None)
82643              Given a function name and alias name, delete the alias.
82644
82645              Returns {deleted: true} if the alias  was  deleted  and  returns
82646              {deleted: false} if the alias was not deleted.
82647
82648              CLI Example:
82649
82650                 salt myminion boto_lambda.delete_alias myfunction myalias
82651
82652       salt.modules.boto_lambda.delete_event_source_mapping(UUID=None,
82653       EventSourceArn=None,    FunctionName=None,    region=None,    key=None,
82654       keyid=None, profile=None)
82655              Given  an  event  source  mapping  ID or an event source ARN and
82656              FunctionName, delete the event source mapping
82657
82658              Returns {deleted: true} if the mapping was deleted  and  returns
82659              {deleted: false} if the mapping was not deleted.
82660
82661              CLI Example:
82662
82663                 salt myminion boto_lambda.delete_event_source_mapping 260c423d-e8b5-4443-8d6a-5e91b9ecd0fa
82664
82665       salt.modules.boto_lambda.delete_function(FunctionName,  Qualifier=None,
82666       region=None, key=None, keyid=None, profile=None)
82667              Given a function name and optional version qualifier, delete it.
82668
82669              Returns {deleted: true} if the function was deleted and  returns
82670              {deleted: false} if the function was not deleted.
82671
82672              CLI Example:
82673
82674                 salt myminion boto_lambda.delete_function myfunction
82675
82676       salt.modules.boto_lambda.describe_alias(FunctionName,             Name,
82677       region=None, key=None, keyid=None, profile=None)
82678              Given a function name and alias name describe the properties  of
82679              the alias.
82680
82681              Returns a dictionary of interesting properties.
82682
82683              CLI Example:
82684
82685                 salt myminion boto_lambda.describe_alias myalias
82686
82687       salt.modules.boto_lambda.describe_event_source_mapping(UUID=None,
82688       EventSourceArn=None,    FunctionName=None,    region=None,    key=None,
82689       keyid=None, profile=None)
82690              Given  an  event  source  mapping  ID or an event source ARN and
82691              FunctionName, obtain the current settings of that mapping.
82692
82693              Returns a dictionary of interesting properties.
82694
82695              CLI Example:
82696
82697                 salt myminion boto_lambda.describe_event_source_mapping uuid
82698
82699       salt.modules.boto_lambda.describe_function(FunctionName,   region=None,
82700       key=None, keyid=None, profile=None)
82701              Given a function name describe its properties.
82702
82703              Returns a dictionary of interesting properties.
82704
82705              CLI Example:
82706
82707                 salt myminion boto_lambda.describe_function myfunction
82708
82709       salt.modules.boto_lambda.event_source_mapping_exists(UUID=None,
82710       EventSourceArn=None,    FunctionName=None,    region=None,    key=None,
82711       keyid=None, profile=None)
82712              Given  an  event  source  mapping  ID or an event source ARN and
82713              FunctionName, check whether the mapping exists.
82714
82715              Returns True if the given alias exists and returns False if  the
82716              given alias does not exist.
82717
82718              CLI Example:
82719
82720                 salt myminion boto_lambda.alias_exists myfunction myalias
82721
82722       salt.modules.boto_lambda.function_exists(FunctionName,     region=None,
82723       key=None, keyid=None, profile=None)
82724              Given a function name, check to see if the given  function  name
82725              exists.
82726
82727              Returns  True  if the given function exists and returns False if
82728              the given function does not exist.
82729
82730              CLI Example:
82731
82732                 salt myminion boto_lambda.function_exists myfunction
82733
82734       salt.modules.boto_lambda.get_event_source_mapping_ids(EventSourceArn,
82735       FunctionName, region=None, key=None, keyid=None, profile=None)
82736              Given  an  event source and function name, return a list of map‐
82737              ping IDs
82738
82739              CLI Example:
82740
82741                 salt myminion boto_lambda.get_event_source_mapping_ids arn:::: myfunction
82742
82743       salt.modules.boto_lambda.get_permissions(FunctionName,  Qualifier=None,
82744       region=None, key=None, keyid=None, profile=None)
82745              Get resource permissions for the given lambda function
82746
82747              Returns dictionary of permissions, by statement ID
82748
82749              CLI Example:
82750
82751                 salt myminion boto_lamba.get_permissions my_function
82752
82753                 permissions: {...}
82754
82755       salt.modules.boto_lambda.list_function_versions(FunctionName,
82756       region=None, key=None, keyid=None, profile=None)
82757              List the versions available for the given function.
82758
82759              Returns list of function versions
82760
82761              CLI Example:
82762
82763                 versions:
82764                   - {...}
82765                   - {...}
82766
82767       salt.modules.boto_lambda.list_functions(region=None,          key=None,
82768       keyid=None, profile=None)
82769              List all Lambda functions visible in the current scope.
82770
82771              CLI Example:
82772
82773                 salt myminion boto_lambda.list_functions
82774
82775       salt.modules.boto_lambda.remove_permission(FunctionName,   StatementId,
82776       Qualifier=None, region=None, key=None, keyid=None, profile=None)
82777              Remove a permission from a lambda function.
82778
82779              Returns {removed:  true}  if  the  permission  was  removed  and
82780              returns {removed: False} if the permission was not removed.
82781
82782              CLI Example:
82783
82784                 salt myminion boto_lamba.remove_permission my_function my_id
82785
82786       salt.modules.boto_lambda.update_alias(FunctionName,  Name, FunctionVer‐
82787       sion=None, Description=None, region=None,  key=None,  keyid=None,  pro‐
82788       file=None)
82789              Update the named alias to the configuration.
82790
82791              Returns  {updated:  true}  if  the alias was updated and returns
82792              {updated: False} if the alias was not updated.
82793
82794              CLI Example:
82795
82796                 salt myminion boto_lamba.update_alias my_lambda my_alias $LATEST
82797
82798       salt.modules.boto_lambda.update_event_source_mapping(UUID,    Function‐
82799       Name=None,   Enabled=None,   BatchSize=None,   region=None,   key=None,
82800       keyid=None, profile=None)
82801              Update the event source mapping identified by the UUID.
82802
82803              Returns {updated: true} if the alias  was  updated  and  returns
82804              {updated: False} if the alias was not updated.
82805
82806              CLI Example:
82807
82808                 salt myminion boto_lamba.update_event_source_mapping uuid FunctionName=new_function
82809
82810       salt.modules.boto_lambda.update_function_code(FunctionName,        Zip‐
82811       File=None,  S3Bucket=None,   S3Key=None,   S3ObjectVersion=None,   Pub‐
82812       lish=False, region=None, key=None, keyid=None, profile=None)
82813              Upload the given code to the named lambda function.
82814
82815              Returns  {updated: true} if the function was updated and returns
82816              {updated: False} if the function was not updated.
82817
82818              CLI Example:
82819
82820                 salt myminion boto_lamba.update_function_code my_function ZipFile=function.zip
82821
82822       salt.modules.boto_lambda.update_function_config(FunctionName,
82823       Role=None,   Handler=None,   Description=None,   Timeout=None,  Memory‐
82824       Size=None,  region=None,  key=None,  keyid=None,   profile=None,   Vpc‐
82825       Config=None, WaitForRole=False, RoleRetries=5, Environment=None)
82826              New in version 2017.7.0.
82827
82828
82829              Update the named lambda function to the configuration.
82830
82831              Environment
82832                     The  parent  object that contains your environment's con‐
82833                     figuration settings. This is a dictionary of the form:
82834
82835                        {
82836                            'Variables': {
82837                                'VariableName': 'VariableValue'
82838                            }
82839                        }
82840
82841              Returns {'updated': True}  if  the  function  was  updated,  and
82842              {'updated': False} if the function was not updated.
82843
82844              CLI Example:
82845
82846                 salt myminion boto_lamba.update_function_config my_function my_role my_file.my_function "my lambda function"
82847
82848   salt.modules.boto_rds
82849       Connection module for Amazon RDS
82850
82851       New in version 2015.8.0.
82852
82853
82854       configuration
82855              This  module  accepts explicit rds credentials but can also uti‐
82856              lize IAM roles assigned to the instance  through  Instance  Pro‐
82857              files.  Dynamic credentials are then automatically obtained from
82858              AWS API and no further configuration is necessary. More Informa‐
82859              tion available at:
82860
82861                 http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html
82862
82863              If  IAM  roles are not used you need to specify them either in a
82864              pillar or in the minion's config file:
82865
82866                 rds.keyid: GKTADJGHEIQSXMKKRBJ08H
82867                 rds.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
82868
82869              A region may also be specified in the configuration:
82870
82871                 rds.region: us-east-1
82872
82873              If a region is not specified, the default is us-east-1.
82874
82875              It's also possible to specify key, keyid and region via  a  pro‐
82876              file,  either  as  a passed in dict, or as a string to pull from
82877              pillars or minion config:
82878
82879                 myprofile:
82880                     keyid: GKTADJGHEIQSXMKKRBJ08H
82881                     key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
82882                     region: us-east-1
82883
82884       depends
82885              boto3
82886
82887       salt.modules.boto_rds.create(name,                   allocated_storage,
82888       db_instance_class,   engine,   master_username,   master_user_password,
82889       db_name=None,   db_security_groups=None,   vpc_security_group_ids=None,
82890       vpc_security_groups=None,        availability_zone=None,        db_sub‐
82891       net_group_name=None,   preferred_maintenance_window=None,    db_parame‐
82892       ter_group_name=None,         backup_retention_period=None,         pre‐
82893       ferred_backup_window=None,   port=None,   multi_az=None,    engine_ver‐
82894       sion=None,     auto_minor_version_upgrade=None,     license_model=None,
82895       iops=None,   option_group_name=None,   character_set_name=None,    pub‐
82896       licly_accessible=None,  wait_status=None, tags=None, db_cluster_identi‐
82897       fier=None,  storage_type=None,   tde_credential_arn=None,   tde_creden‐
82898       tial_password=None,       storage_encrypted=None,      kms_key_id=None,
82899       domain=None, copy_tags_to_snapshot=None, monitoring_interval=None, mon‐
82900       itoring_role_arn=None,  domain_iam_role_name=None,  region=None, promo‐
82901       tion_tier=None, key=None, keyid=None, profile=None)
82902              Create an RDS Instance
82903
82904              CLI example to create an RDS Instance:
82905
82906                 salt myminion boto_rds.create myrds 10 db.t2.micro MySQL sqlusr sqlpassw
82907
82908       salt.modules.boto_rds.create_option_group(name,            engine_name,
82909       major_engine_version, option_group_description, tags=None, region=None,
82910       key=None, keyid=None, profile=None)
82911              Create an RDS option group
82912
82913              CLI example to create an RDS option group:
82914
82915                 salt myminion boto_rds.create_option_group my-opt-group mysql 5.6                 "group description"
82916
82917       salt.modules.boto_rds.create_parameter_group(name,           db_parame‐
82918       ter_group_family,   description,   tags=None,   region=None,  key=None,
82919       keyid=None, profile=None)
82920              Create an RDS parameter group
82921
82922              CLI example to create an RDS parameter group:
82923
82924                 salt myminion boto_rds.create_parameter_group my-param-group mysql5.6                 "group description"
82925
82926       salt.modules.boto_rds.create_read_replica(name,            source_name,
82927       db_instance_class=None,        availability_zone=None,       port=None,
82928       auto_minor_version_upgrade=None,   iops=None,   option_group_name=None,
82929       publicly_accessible=None,  tags=None,  db_subnet_group_name=None, stor‐
82930       age_type=None,  copy_tags_to_snapshot=None,   monitoring_interval=None,
82931       monitoring_role_arn=None,   region=None,   key=None,  keyid=None,  pro‐
82932       file=None)
82933              Create an RDS read replica
82934
82935              CLI example to create an RDS  read replica:
82936
82937                 salt myminion boto_rds.create_read_replica replicaname source_name
82938
82939       salt.modules.boto_rds.create_subnet_group(name,    description,    sub‐
82940       net_ids, tags=None, region=None, key=None, keyid=None, profile=None)
82941              Create an RDS subnet group
82942
82943              CLI example to create an RDS subnet group:
82944
82945                 salt myminion boto_rds.create_subnet_group my-subnet-group             "group description" '[subnet-12345678, subnet-87654321]'             region=us-east-1
82946
82947       salt.modules.boto_rds.delete(name,            skip_final_snapshot=None,
82948       final_db_snapshot_identifier=None, region=None,  key=None,  keyid=None,
82949       profile=None, tags=None, wait_for_deletion=True, timeout=180)
82950              Delete an RDS instance.
82951
82952              CLI example:
82953
82954                 salt myminion boto_rds.delete myrds skip_final_snapshot=True                 region=us-east-1
82955
82956       salt.modules.boto_rds.delete_option_group(name,  region=None, key=None,
82957       keyid=None, profile=None)
82958              Delete an RDS option group.
82959
82960              CLI example:
82961
82962                 salt myminion boto_rds.delete_option_group my-opt-group                 region=us-east-1
82963
82964       salt.modules.boto_rds.delete_parameter_group(name,         region=None,
82965       key=None, keyid=None, profile=None)
82966              Delete an RDS parameter group.
82967
82968              CLI example:
82969
82970                 salt myminion boto_rds.delete_parameter_group my-param-group                 region=us-east-1
82971
82972       salt.modules.boto_rds.delete_subnet_group(name,  region=None, key=None,
82973       keyid=None, profile=None)
82974              Delete an RDS subnet group.
82975
82976              CLI example:
82977
82978                 salt myminion boto_rds.delete_subnet_group my-subnet-group                 region=us-east-1
82979
82980       salt.modules.boto_rds.describe(name, tags=None, region=None,  key=None,
82981       keyid=None, profile=None)
82982              Return RDS instance details.
82983
82984              CLI example:
82985
82986                 salt myminion boto_rds.describe myrds
82987
82988       salt.modules.boto_rds.describe_db_instances(name=None,    filters=None,
82989       jmespath=u'DBInstances',  region=None,   key=None,   keyid=None,   pro‐
82990       file=None)
82991              Return  a detailed listing of some, or all, DB Instances visible
82992              in the current scope.  Arbitrary subelements or  subsections  of
82993              the  returned  dataset  can  be  selected  by passing in a valid
82994              JMSEPath filter as well.
82995
82996              CLI example:
82997
82998                 salt myminion boto_rds.describe_db_instances jmespath='DBInstances[*].DBInstanceIdentifier'
82999
83000       salt.modules.boto_rds.describe_db_subnet_groups(name=None,         fil‐
83001       ters=None,     jmespath=u'DBSubnetGroups',    region=None,    key=None,
83002       keyid=None, profile=None)
83003              Return a detailed listing of some, or all, DB Subnet Groups vis‐
83004              ible in the current scope.  Arbitrary subelements or subsections
83005              of the returned dataset can be selected by passing  in  a  valid
83006              JMSEPath filter as well.
83007
83008              CLI example:
83009
83010                 salt myminion boto_rds.describe_db_subnet_groups
83011
83012       salt.modules.boto_rds.describe_parameter_group(name,      Filters=None,
83013       MaxRecords=None, Marker=None, region=None, key=None,  keyid=None,  pro‐
83014       file=None)
83015              Returns a list of DBParameterGroup descriptions.  CLI example to
83016              description of parameter group:
83017
83018                 salt myminion boto_rds.describe_parameter_group parametergroupname            region=us-east-1
83019
83020       salt.modules.boto_rds.describe_parameters(name,            Source=None,
83021       MaxRecords=None,  Marker=None,  region=None, key=None, keyid=None, pro‐
83022       file=None)
83023              Returns a list of DBParameterGroup parameters.  CLI  example  to
83024              description of parameters
83025
83026                 salt myminion boto_rds.describe_parameters parametergroupname            region=us-east-1
83027
83028       salt.modules.boto_rds.exists(name,  tags=None,  region=None,  key=None,
83029       keyid=None, profile=None)
83030              Check to see if an RDS exists.
83031
83032              CLI example:
83033
83034                 salt myminion boto_rds.exists myrds region=us-east-1
83035
83036       salt.modules.boto_rds.get_endpoint(name,    tags=None,     region=None,
83037       key=None, keyid=None, profile=None)
83038              Return the endpoint of an RDS instance.
83039
83040              CLI example:
83041
83042                 salt myminion boto_rds.get_endpoint myrds
83043
83044       salt.modules.boto_rds.modify_db_instance(name,  allocated_storage=None,
83045       allow_major_version_upgrade=None,               apply_immediately=None,
83046       auto_minor_version_upgrade=None,  backup_retention_period=None, ca_cer‐
83047       tificate_identifier=None,  character_set_name=None,  copy_tags_to_snap‐
83048       shot=None,      db_cluster_identifier=None,     db_instance_class=None,
83049       db_name=None,    db_parameter_group_name=None,     db_port_number=None,
83050       db_security_groups=None,     db_subnet_group_name=None,    domain=None,
83051       domain_iam_role_name=None,       engine_version=None,        iops=None,
83052       kms_key_id=None,  license_model=None,  master_user_password=None, moni‐
83053       toring_interval=None,     monitoring_role_arn=None,      multi_az=None,
83054       new_db_instance_identifier=None,      option_group_name=None,      pre‐
83055       ferred_backup_window=None,  preferred_maintenance_window=None,   promo‐
83056       tion_tier=None, publicly_accessible=None, storage_encrypted=None, stor‐
83057       age_type=None,  tde_credential_arn=None,  tde_credential_password=None,
83058       vpc_security_group_ids=None,  region=None,  key=None,  keyid=None, pro‐
83059       file=None)
83060              Modify settings for a DB instance.  CLI example  to  description
83061              of parameters
83062
83063                 salt myminion boto_rds.modify_db_instance db_instance_identifier region=us-east-1
83064
83065       salt.modules.boto_rds.option_group_exists(name, tags=None, region=None,
83066       key=None, keyid=None, profile=None)
83067              Check to see if an RDS option group exists.
83068
83069              CLI example:
83070
83071                 salt myminion boto_rds.option_group_exists myoptiongr region=us-east-1
83072
83073       salt.modules.boto_rds.parameter_group_exists(name,           tags=None,
83074       region=None, key=None, keyid=None, profile=None)
83075              Check to see if an RDS parameter group exists.
83076
83077              CLI example:
83078
83079                 salt myminion boto_rds.parameter_group_exists myparametergroup                 region=us-east-1
83080
83081       salt.modules.boto_rds.subnet_group_exists(name, tags=None, region=None,
83082       key=None, keyid=None, profile=None)
83083              Check to see if an RDS subnet group exists.
83084
83085              CLI example:
83086
83087                 salt myminion boto_rds.subnet_group_exists my-param-group                 region=us-east-1
83088
83089       salt.modules.boto_rds.update_parameter_group(name,          parameters,
83090       apply_method=u'pending-reboot',   tags=None,   region=None,   key=None,
83091       keyid=None, profile=None)
83092              Update an RDS parameter group.
83093
83094              CLI example:
83095
83096                 salt myminion boto_rds.update_parameter_group my-param-group                 parameters='{"back_log":1, "binlog_cache_size":4096}'                 region=us-east-1
83097
83098   salt.modules.boto_route53
83099       Connection module for Amazon Route53
83100
83101       New in version 2014.7.0.
83102
83103
83104       configuration
83105              This module accepts explicit route53 credentials  but  can  also
83106              utilize IAM roles assigned to the instance through Instance Pro‐
83107              files.  Dynamic credentials are then automatically obtained from
83108              AWS API and no further configuration is necessary. More Informa‐
83109              tion available at:
83110
83111                 http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html
83112
83113              If IAM roles are not used you need to specify them either  in  a
83114              pillar or in the minion's config file:
83115
83116                 route53.keyid: GKTADJGHEIQSXMKKRBJ08H
83117                 route53.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
83118
83119              A region may also be specified in the configuration:
83120
83121                 route53.region: us-east-1
83122
83123              If  a region is not specified, the default is 'universal', which
83124              is what the boto_route53 library expects, rather than None.
83125
83126              It's also possible to specify key, keyid and region via  a  pro‐
83127              file,  either  as  a passed in dict, or as a string to pull from
83128              pillars or minion config:
83129
83130                 myprofile:
83131                   keyid: GKTADJGHEIQSXMKKRBJ08H
83132                   key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
83133                   region: us-east-1
83134
83135       depends
83136              boto
83137
83138       salt.modules.boto_route53.add_record(name,  value,  zone,  record_type,
83139       identifier=None,  ttl=None,  region=None,  key=None,  keyid=None,  pro‐
83140       file=None,  wait_for_sync=True,  split_dns=False,   private_zone=False,
83141       retry_on_rate_limit=None,                      rate_limit_retries=None,
83142       retry_on_errors=True, error_retries=5)
83143              Add a record to a zone.
83144
83145              CLI example:
83146
83147                 salt myminion boto_route53.add_record test.example.org 1.1.1.1 example.org A
83148
83149       salt.modules.boto_route53.create_healthcheck(ip_addr=None,   fqdn=None,
83150       region=None,     key=None,     keyid=None,    profile=None,    port=53,
83151       hc_type=u'TCP',  resource_path=u'',  string_match=None,  request_inter‐
83152       val=30, failure_threshold=3, retry_on_errors=True, error_retries=5)
83153              Create a Route53 healthcheck
83154
83155              New in version 2018.3.0.
83156
83157
83158              ip_addr
83159                 IP address to check.  ip_addr or fqdn is required.
83160
83161              fqdn
83162                 Domain  name  of  the  endpoint to check.  ip_addr or fqdn is
83163                 required
83164
83165              port
83166                 Port to check
83167
83168              hc_type
83169                 Healthcheck  type.   HTTP  |   HTTPS   |   HTTP_STR_MATCH   |
83170                 HTTPS_STR_MATCH | TCP
83171
83172              resource_path
83173                 Path to check
83174
83175              string_match
83176                 If  hc_type  is HTTP_STR_MATCH or HTTPS_STR_MATCH, the string
83177                 to search  for  in  the  response  body  from  the  specified
83178                 resource
83179
83180              request_interval
83181                 The  number  of seconds between the time that Amazon Route 53
83182                 gets a response from your endpoint and the time that it sends
83183                 the next health-check request.
83184
83185              failure_threshold
83186                 The number of consecutive health checks that an endpoint must
83187                 pass or fail for Amazon Route 53 to change the current status
83188                 of the endpoint from unhealthy to healthy or vice versa.
83189
83190              region
83191                 Region endpoint to connect to
83192
83193              key
83194                 AWS key
83195
83196              keyid
83197                 AWS keyid
83198
83199              profile
83200                 AWS pillar profile
83201
83202              CLI Example:
83203
83204                 salt myminion boto_route53.create_healthcheck 192.168.0.1
83205                 salt myminion boto_route53.create_healthcheck 192.168.0.1 port=443 hc_type=HTTPS                                                       resource_path=/ fqdn=blog.saltstack.furniture
83206
83207       salt.modules.boto_route53.create_hosted_zone(domain_name,         call‐
83208       er_ref=None,     comment=u'',     private_zone=False,      vpc_id=None,
83209       vpc_name=None, vpc_region=None, region=None, key=None, keyid=None, pro‐
83210       file=None)
83211              Create a new Route53 Hosted Zone. Returns a Python  data  struc‐
83212              ture with information about the newly created Hosted Zone.
83213
83214              domain_name
83215                     The  name  of  the  domain. This must be fully-qualified,
83216                     terminating with a period.  This is  the  name  you  have
83217                     registered  with  your  domain registrar.  It is also the
83218                     name you will delegate from your registrar to the  Amazon
83219                     Route  53 delegation servers returned in response to this
83220                     request.
83221
83222              caller_ref
83223                     A unique string that  identifies  the  request  and  that
83224                     allows  create_hosted_zone()  calls to be retried without
83225                     the risk of executing the operation twice.  It  can  take
83226                     several minutes for the change to replicate globally, and
83227                     change from PENDING to INSYNC status. Thus it's  best  to
83228                     provide  some value for this where possible, since dupli‐
83229                     cate calls while the first is in PENDING status  will  be
83230                     accepted  and  can  lead  to  multiple copies of the zone
83231                     being created.  On the other hand, if a zone  is  created
83232                     with  a  given caller_ref, then deleted, a second attempt
83233                     to create a zone with the same caller_ref will fail until
83234                     that caller_ref is flushed from the Route53 system, which
83235                     can take upwards of 24 hours.
83236
83237              comment
83238                     Any comments you want to include about the hosted zone.
83239
83240              private_zone
83241                     Set True if creating a private hosted zone.
83242
83243              vpc_id When creating a private hosted zone, either the VPC ID or
83244                     VPC  Name  to associate with is required.  Exclusive with
83245                     vpe_name.  Ignored when creating a non-private zone.
83246
83247              vpc_name
83248                     When creating a private hosted zone, either the VPC ID or
83249                     VPC  Name  to associate with is required.  Exclusive with
83250                     vpe_id.  Ignored when creating a non-private zone.
83251
83252              vpc_region
83253                     When creating a private hosted zone, the  region  of  the
83254                     associated  VPC  is required.  If not provided, an effort
83255                     will be made to determine it  from  vpc_id  or  vpc_name,
83256                     where possible.  If this fails, you'll need to provide an
83257                     explicit value for this option.  Ignored when creating  a
83258                     non-private zone.
83259
83260              region Region endpoint to connect to.
83261
83262              key    AWS key to bind with.
83263
83264              keyid  AWS keyid to bind with.
83265
83266              profile
83267                     Dict,  or  pillar  key pointing to a dict, containing AWS
83268                     region/key/keyid.
83269
83270              CLI Example:
83271
83272                 salt myminion boto_route53.create_hosted_zone example.org
83273
83274       salt.modules.boto_route53.create_zone(zone, private=False, vpc_id=None,
83275       vpc_region=None, region=None, key=None, keyid=None, profile=None)
83276              Create a Route53 hosted zone.
83277
83278              New in version 2015.8.0.
83279
83280
83281              zone   DNS zone to create
83282
83283              private
83284                     True/False if the zone will be a private zone
83285
83286              vpc_id VPC  ID  to associate the zone to (required if private is
83287                     True)
83288
83289              vpc_region
83290                     VPC Region (required if private is True)
83291
83292              region region endpoint to connect to
83293
83294              key    AWS key
83295
83296              keyid  AWS keyid
83297
83298              profile
83299                     AWS pillar profile
83300
83301              CLI Example:
83302
83303                 salt myminion boto_route53.create_zone example.org
83304
83305       salt.modules.boto_route53.delete_record(name, zone, record_type,  iden‐
83306       tifier=None, all_records=False, region=None, key=None, keyid=None, pro‐
83307       file=None,  wait_for_sync=True,  split_dns=False,   private_zone=False,
83308       retry_on_rate_limit=None,                      rate_limit_retries=None,
83309       retry_on_errors=True, error_retries=5)
83310              Modify a record in a zone.
83311
83312              CLI example:
83313
83314                 salt myminion boto_route53.delete_record test.example.org example.org A
83315
83316       salt.modules.boto_route53.delete_zone(zone,   region=None,    key=None,
83317       keyid=None, profile=None)
83318              Delete a Route53 hosted zone.
83319
83320              New in version 2015.8.0.
83321
83322
83323              CLI Example:
83324
83325                 salt myminion boto_route53.delete_zone example.org
83326
83327       salt.modules.boto_route53.describe_hosted_zones(zone_id=None,
83328       domain_name=None, region=None, key=None, keyid=None, profile=None)
83329              Return detailed info about one,  or  all,  zones  in  the  bound
83330              account.  If neither zone_id nor domain_name is provided, return
83331              all zones.  Note that the return format  is  slightly  different
83332              between the 'all' and 'single' description types.
83333
83334              zone_id
83335                     The unique identifier for the Hosted Zone
83336
83337              domain_name
83338                     The FQDN of the Hosted Zone (including final period)
83339
83340              region Region to connect to.
83341
83342              key    Secret key to be used.
83343
83344              keyid  Access key to be used.
83345
83346              profile
83347                     A  dict  with  region,  key  and  keyid,  or a pillar key
83348                     (string) that contains a dict with region, key and keyid.
83349
83350              CLI Example:
83351
83352                 salt myminion boto_route53.describe_hosted_zones domain_name=foo.bar.com.                 profile='{"region": "us-east-1", "keyid": "A12345678AB", "key": "xblahblahblah"}'
83353
83354       salt.modules.boto_route53.get_record(name,      zone,      record_type,
83355       fetch_all=False,   region=None,   key=None,  keyid=None,  profile=None,
83356       split_dns=False,          private_zone=False,          identifier=None,
83357       retry_on_rate_limit=None,                      rate_limit_retries=None,
83358       retry_on_errors=True, error_retries=5)
83359              Get a record from a zone.
83360
83361              CLI example:
83362
83363                 salt myminion boto_route53.get_record test.example.org example.org A
83364
83365       salt.modules.boto_route53.list_all_zones_by_id(region=None,   key=None,
83366       keyid=None, profile=None)
83367              List, by their IDs, all hosted zones in the bound account.
83368
83369              region Region to connect to.
83370
83371              key    Secret key to be used.
83372
83373              keyid  Access key to be used.
83374
83375              profile
83376                     A  dict  with  region,  key  and  keyid,  or a pillar key
83377                     (string) that contains a dict with region, key and keyid.
83378
83379              CLI Example:
83380
83381                 salt myminion boto_route53.list_all_zones_by_id
83382
83383       salt.modules.boto_route53.list_all_zones_by_name(region=None, key=None,
83384       keyid=None, profile=None)
83385              List, by their FQDNs, all hosted zones in the bound account.
83386
83387              region Region to connect to.
83388
83389              key    Secret key to be used.
83390
83391              keyid  Access key to be used.
83392
83393              profile
83394                     A  dict  with  region,  key  and  keyid,  or a pillar key
83395                     (string) that contains a dict with region, key and keyid.
83396
83397              CLI Example:
83398
83399                 salt myminion boto_route53.list_all_zones_by_name
83400
83401       salt.modules.boto_route53.update_record(name, value, zone, record_type,
83402       identifier=None,  ttl=None,  region=None,  key=None,  keyid=None,  pro‐
83403       file=None,  wait_for_sync=True,  split_dns=False,   private_zone=False,
83404       retry_on_rate_limit=None,                      rate_limit_retries=None,
83405       retry_on_errors=True, error_retries=5)
83406              Modify a record in a zone.
83407
83408              CLI example:
83409
83410                 salt myminion boto_route53.modify_record test.example.org 1.1.1.1 example.org A
83411
83412       salt.modules.boto_route53.zone_exists(zone,   region=None,    key=None,
83413       keyid=None,           profile=None,           retry_on_rate_limit=None,
83414       rate_limit_retries=None, retry_on_errors=True, error_retries=5)
83415              Check for the existence of a Route53 hosted zone.
83416
83417              New in version 2015.8.0.
83418
83419
83420              CLI Example:
83421
83422                 salt myminion boto_route53.zone_exists example.org
83423
83424   salt.modules.boto_s3_bucket module
83425       Connection module for Amazon S3 Buckets
83426
83427       New in version 2016.3.0.
83428
83429
83430       depends
83431
83432              · boto
83433
83434              · boto3
83435
83436       The dependencies listed above can be installed via package or pip.
83437
83438       configuration
83439              This module accepts explicit Lambda  credentials  but  can  also
83440              utilize IAM roles assigned to the instance through Instance Pro‐
83441              files.  Dynamic credentials are then automatically obtained from
83442              AWS API and no further configuration is necessary. More Informa‐
83443              tion available at:
83444
83445                 http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html
83446
83447              If IAM roles are not used you need to specify them either  in  a
83448              pillar or in the minion's config file:
83449
83450                 s3.keyid: GKTADJGHEIQSXMKKRBJ08H
83451                 s3.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
83452
83453              A region may also be specified in the configuration:
83454
83455                 s3.region: us-east-1
83456
83457              If a region is not specified, the default is us-east-1.
83458
83459              It's  also  possible to specify key, keyid and region via a pro‐
83460              file, either as a passed in dict, or as a string  to  pull  from
83461              pillars or minion config:
83462
83463                 myprofile:
83464                     keyid: GKTADJGHEIQSXMKKRBJ08H
83465                     key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
83466                     region: us-east-1
83467
83468       salt.modules.boto_s3_bucket.create(Bucket,    ACL=None,    LocationCon‐
83469       straint=None, GrantFullControl=None, GrantRead=None, GrantReadACP=None,
83470       GrantWrite=None, GrantWriteACP=None, region=None, key=None, keyid=None,
83471       profile=None)
83472              Given a valid config, create an S3 Bucket.
83473
83474              Returns {created: true} if the bucket was  created  and  returns
83475              {created: False} if the bucket was not created.
83476
83477              CLI Example:
83478
83479                 salt myminion boto_s3_bucket.create my_bucket \
83480                                  GrantFullControl='emailaddress=example@example.com' \
83481                                  GrantRead='uri="http://acs.amazonaws.com/groups/global/AllUsers"' \
83482                                  GrantReadACP='emailaddress="exampl@example.com",id="2345678909876432"' \
83483                                  LocationConstraint=us-west-1
83484
83485       salt.modules.boto_s3_bucket.delete(Bucket, MFA=None, RequestPayer=None,
83486       Force=False, region=None, key=None, keyid=None, profile=None)
83487              Given a bucket name, delete it, optionally emptying it first.
83488
83489              Returns {deleted: true} if the bucket was  deleted  and  returns
83490              {deleted: false} if the bucket was not deleted.
83491
83492              CLI Example:
83493
83494                 salt myminion boto_s3_bucket.delete mybucket
83495
83496       salt.modules.boto_s3_bucket.delete_cors(Bucket,  region=None, key=None,
83497       keyid=None, profile=None)
83498              Delete the CORS configuration for the given bucket
83499
83500              Returns  {deleted:  true}  if  CORS  was  deleted  and   returns
83501              {deleted: False} if CORS was not deleted.
83502
83503              CLI Example:
83504
83505                 salt myminion boto_s3_bucket.delete_cors my_bucket
83506
83507       salt.modules.boto_s3_bucket.delete_lifecycle_configuration(Bucket,
83508       region=None, key=None, keyid=None, profile=None)
83509              Delete the lifecycle configuration for the given bucket
83510
83511              Returns {deleted: true} if Lifecycle  was  deleted  and  returns
83512              {deleted: False} if Lifecycle was not deleted.
83513
83514              CLI Example:
83515
83516                 salt myminion boto_s3_bucket.delete_lifecycle_configuration my_bucket
83517
83518       salt.modules.boto_s3_bucket.delete_objects(Bucket,   Delete,  MFA=None,
83519       RequestPayer=None, region=None, key=None, keyid=None, profile=None)
83520              Delete objects in a given S3 bucket.
83521
83522              Returns  {deleted:  true}  if  all  objects  were  deleted   and
83523              {deleted: false, failed: [key, ...]} otherwise
83524
83525              CLI Example:
83526
83527                 salt myminion boto_s3_bucket.delete_objects mybucket '{Objects: [Key: myobject]}'
83528
83529       salt.modules.boto_s3_bucket.delete_policy(Bucket,          region=None,
83530       key=None, keyid=None, profile=None)
83531              Delete the policy from the given bucket
83532
83533              Returns {deleted:  true}  if  policy  was  deleted  and  returns
83534              {deleted: False} if policy was not deleted.
83535
83536              CLI Example:
83537
83538                 salt myminion boto_s3_bucket.delete_policy my_bucket
83539
83540       salt.modules.boto_s3_bucket.delete_replication(Bucket,     region=None,
83541       key=None, keyid=None, profile=None)
83542              Delete the replication config from the given bucket
83543
83544              Returns {deleted: true} if replication configuration was deleted
83545              and  returns  {deleted:  False} if replication configuration was
83546              not deleted.
83547
83548              CLI Example:
83549
83550                 salt myminion boto_s3_bucket.delete_replication my_bucket
83551
83552       salt.modules.boto_s3_bucket.delete_tagging(Bucket,         region=None,
83553       key=None, keyid=None, profile=None)
83554              Delete the tags from the given bucket
83555
83556              Returns  {deleted:  true}  if  tags  were  deleted  and  returns
83557              {deleted: False} if tags were not deleted.
83558
83559              CLI Example:
83560
83561                 salt myminion boto_s3_bucket.delete_tagging my_bucket
83562
83563       salt.modules.boto_s3_bucket.delete_website(Bucket,         region=None,
83564       key=None, keyid=None, profile=None)
83565              Remove the website configuration from the given bucket
83566
83567              Returns {deleted: true} if website configuration was deleted and
83568              returns  {deleted:  False}  if  website  configuration  was  not
83569              deleted.
83570
83571              CLI Example:
83572
83573                 salt myminion boto_s3_bucket.delete_website my_bucket
83574
83575       salt.modules.boto_s3_bucket.describe(Bucket,   region=None,   key=None,
83576       keyid=None, profile=None)
83577              Given a bucket name describe its properties.
83578
83579              Returns a dictionary of interesting properties.
83580
83581              CLI Example:
83582
83583                 salt myminion boto_s3_bucket.describe mybucket
83584
83585       salt.modules.boto_s3_bucket.empty(Bucket, MFA=None,  RequestPayer=None,
83586       region=None, key=None, keyid=None, profile=None)
83587              Delete all objects in a given S3 bucket.
83588
83589              Returns   {deleted:  true}  if  all  objects  were  deleted  and
83590              {deleted: false, failed: [key, ...]} otherwise
83591
83592              CLI Example:
83593
83594                 salt myminion boto_s3_bucket.empty mybucket
83595
83596       salt.modules.boto_s3_bucket.exists(Bucket,    region=None,    key=None,
83597       keyid=None, profile=None)
83598              Given a bucket name, check to see if the given bucket exists.
83599
83600              Returns True if the given bucket exists and returns False if the
83601              given bucket does not exist.
83602
83603              CLI Example:
83604
83605                 salt myminion boto_s3_bucket.exists mybucket
83606
83607       salt.modules.boto_s3_bucket.list(region=None,   key=None,   keyid=None,
83608       profile=None)
83609              List  all  buckets  owned  by  the  authenticated  sender of the
83610              request.
83611
83612              Returns list of buckets
83613
83614              CLI Example:
83615
83616                 Owner: {...}
83617                 Buckets:
83618                   - {...}
83619                   - {...}
83620
83621       salt.modules.boto_s3_bucket.list_object_versions(Bucket,         Delim‐
83622       iter=None,   EncodingType=None,   Prefix=None,  region=None,  key=None,
83623       keyid=None, profile=None)
83624              List objects in a given S3 bucket.
83625
83626              Returns a list of objects.
83627
83628              CLI Example:
83629
83630                 salt myminion boto_s3_bucket.list_object_versions mybucket
83631
83632       salt.modules.boto_s3_bucket.list_objects(Bucket, Delimiter=None, Encod‐
83633       ingType=None,     Prefix=None,    FetchOwner=False,    StartAfter=None,
83634       region=None, key=None, keyid=None, profile=None)
83635              List objects in a given S3 bucket.
83636
83637              Returns a list of objects.
83638
83639              CLI Example:
83640
83641                 salt myminion boto_s3_bucket.list_objects mybucket
83642
83643       salt.modules.boto_s3_bucket.put_acl(Bucket, ACL=None, AccessControlPol‐
83644       icy=None,   GrantFullControl=None,  GrantRead=None,  GrantReadACP=None,
83645       GrantWrite=None, GrantWriteACP=None, region=None, key=None, keyid=None,
83646       profile=None)
83647              Given a valid config, update the ACL for a bucket.
83648
83649              Returns  {updated:  true}  if  the  ACL  was updated and returns
83650              {updated: False} if the ACL was not updated.
83651
83652              CLI Example:
83653
83654                 salt myminion boto_s3_bucket.put_acl my_bucket 'public' \
83655                                  GrantFullControl='emailaddress=example@example.com' \
83656                                  GrantRead='uri="http://acs.amazonaws.com/groups/global/AllUsers"' \
83657                                  GrantReadACP='emailaddress="exampl@example.com",id="2345678909876432"'
83658
83659       salt.modules.boto_s3_bucket.put_cors(Bucket,  CORSRules,   region=None,
83660       key=None, keyid=None, profile=None)
83661              Given a valid config, update the CORS rules for a bucket.
83662
83663              Returns   {updated:  true}  if  CORS  was  updated  and  returns
83664              {updated: False} if CORS was not updated.
83665
83666              CLI Example:
83667
83668                 salt myminion boto_s3_bucket.put_cors my_bucket '[{\
83669                       "AllowedHeaders":[],\
83670                       "AllowedMethods":["GET"],\
83671                       "AllowedOrigins":["*"],\
83672                       "ExposeHeaders":[],\
83673                       "MaxAgeSeconds":123,\
83674                 }]'
83675
83676       salt.modules.boto_s3_bucket.put_lifecycle_configuration(Bucket,  Rules,
83677       region=None, key=None, keyid=None, profile=None)
83678              Given a valid config, update the Lifecycle rules for a bucket.
83679
83680              Returns  {updated:  true}  if  Lifecycle was updated and returns
83681              {updated: False} if Lifecycle was not updated.
83682
83683              CLI Example:
83684
83685                 salt myminion boto_s3_bucket.put_lifecycle_configuration my_bucket '[{\
83686                       "Expiration": {...},\
83687                       "ID": "idstring",\
83688                       "Prefix": "prefixstring",\
83689                       "Status": "enabled",\
83690                       "Transitions": [{...},],\
83691                       "NoncurrentVersionTransitions": [{...},],\
83692                       "NoncurrentVersionExpiration": {...},\
83693                 }]'
83694
83695       salt.modules.boto_s3_bucket.put_logging(Bucket, TargetBucket=None, Tar‐
83696       getPrefix=None,  TargetGrants=None,  region=None, key=None, keyid=None,
83697       profile=None)
83698              Given a valid  config,  update  the  logging  parameters  for  a
83699              bucket.
83700
83701              Returns  {updated:  true} if parameters were updated and returns
83702              {updated: False} if parameters were not updated.
83703
83704              CLI Example:
83705
83706                 salt myminion boto_s3_bucket.put_logging my_bucket log_bucket '[{...}]' prefix
83707
83708       salt.modules.boto_s3_bucket.put_notification_configuration(Bucket, Top‐
83709       icConfigurations=None, QueueConfigurations=None, LambdaFunctionConfigu‐
83710       rations=None, region=None, key=None, keyid=None, profile=None)
83711              Given a valid config, update the notification parameters  for  a
83712              bucket.
83713
83714              Returns  {updated:  true} if parameters were updated and returns
83715              {updated: False} if parameters were not updated.
83716
83717              CLI Example:
83718
83719                 salt myminion boto_s3_bucket.put_notification_configuration my_bucket
83720                         [{...}] \
83721                         [{...}] \
83722                         [{...}]
83723
83724       salt.modules.boto_s3_bucket.put_policy(Bucket,   Policy,   region=None,
83725       key=None, keyid=None, profile=None)
83726              Given a valid config, update the policy for a bucket.
83727
83728              Returns  {updated:  true}  if  policy  was  updated  and returns
83729              {updated: False} if policy was not updated.
83730
83731              CLI Example:
83732
83733                 salt myminion boto_s3_bucket.put_policy my_bucket {...}
83734
83735       salt.modules.boto_s3_bucket.put_replication(Bucket,    Role,     Rules,
83736       region=None, key=None, keyid=None, profile=None)
83737              Given a valid config, update the replication configuration for a
83738              bucket.
83739
83740              Returns {updated: true} if replication configuration was updated
83741              and  returns  {updated:  False} if replication configuration was
83742              not updated.
83743
83744              CLI Example:
83745
83746                 salt myminion boto_s3_bucket.put_replication my_bucket my_role [...]
83747
83748       salt.modules.boto_s3_bucket.put_request_payment(Bucket,          Payer,
83749       region=None, key=None, keyid=None, profile=None)
83750              Given  a  valid config, update the request payment configuration
83751              for a bucket.
83752
83753              Returns {updated: true} if  request  payment  configuration  was
83754              updated and returns {updated: False} if request payment configu‐
83755              ration was not updated.
83756
83757              CLI Example:
83758
83759                 salt myminion boto_s3_bucket.put_request_payment my_bucket Requester
83760
83761       salt.modules.boto_s3_bucket.put_tagging(Bucket, region=None,  key=None,
83762       keyid=None, profile=None, **kwargs)
83763              Given a valid config, update the tags for a bucket.
83764
83765              Returns  {updated:  true}  if  tags  were  updated  and  returns
83766              {updated: False} if tags were not updated.
83767
83768              CLI Example:
83769
83770                 salt myminion boto_s3_bucket.put_tagging my_bucket my_role [...]
83771
83772       salt.modules.boto_s3_bucket.put_versioning(Bucket,              Status,
83773       MFADelete=None,   MFA=None,  region=None,  key=None,  keyid=None,  pro‐
83774       file=None)
83775              Given a valid config, update the versioning configuration for  a
83776              bucket.
83777
83778              Returns  {updated: true} if versioning configuration was updated
83779              and returns {updated: False} if versioning configuration was not
83780              updated.
83781
83782              CLI Example:
83783
83784                 salt myminion boto_s3_bucket.put_versioning my_bucket Enabled
83785
83786       salt.modules.boto_s3_bucket.put_website(Bucket,     ErrorDocument=None,
83787       IndexDocument=None,   RedirectAllRequestsTo=None,    RoutingRules=None,
83788       region=None, key=None, keyid=None, profile=None)
83789              Given  a  valid  config,  update the website configuration for a
83790              bucket.
83791
83792              Returns {updated: true} if website configuration was updated and
83793              returns  {updated:  False}  if  website  configuration  was  not
83794              updated.
83795
83796              CLI Example:
83797
83798                 salt myminion boto_s3_bucket.put_website my_bucket IndexDocument='{"Suffix":"index.html"}'
83799
83800   salt.modules.boto_secgroup
83801       Connection module for Amazon Security Groups
83802
83803       New in version 2014.7.0.
83804
83805
83806       configuration
83807              This module accepts explicit ec2 credentials but can  also  uti‐
83808              lize  IAM  roles  assigned to the instance through Instance Pro‐
83809              files.  Dynamic credentials are then automatically obtained from
83810              AWS API and no further configuration is necessary. More Informa‐
83811              tion available at:
83812
83813                 http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html
83814
83815              If IAM roles are not used you need to specify them either  in  a
83816              pillar or in the minion's config file:
83817
83818                 secgroup.keyid: GKTADJGHEIQSXMKKRBJ08H
83819                 secgroup.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
83820
83821              A region may also be specified in the configuration:
83822
83823                 secgroup.region: us-east-1
83824
83825              If a region is not specified, the default is us-east-1.
83826
83827              It's  also  possible to specify key, keyid and region via a pro‐
83828              file, either as a passed in dict, or as a string  to  pull  from
83829              pillars or minion config:
83830
83831                 myprofile:
83832                     keyid: GKTADJGHEIQSXMKKRBJ08H
83833                     key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
83834                     region: us-east-1
83835
83836       depends
83837              boto
83838
83839       salt.modules.boto_secgroup.authorize(name=None, source_group_name=None,
83840       source_group_owner_id=None,      ip_protocol=None,      from_port=None,
83841       to_port=None,  cidr_ip=None, group_id=None, source_group_group_id=None,
83842       region=None,   key=None,   keyid=None,    profile=None,    vpc_id=None,
83843       vpc_name=None, egress=False)
83844              Add a new rule to an existing security group.
83845
83846              CLI example:
83847
83848                 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']'
83849
83850       salt.modules.boto_secgroup.convert_to_group_ids(groups,    vpc_id=None,
83851       vpc_name=None, region=None, key=None, keyid=None, profile=None)
83852              Given  a  list  of  security   groups   and   a   vpc_id,   con‐
83853              vert_to_group_ids  will convert all list items in the given list
83854              to security group ids.
83855
83856              CLI example:
83857
83858                 salt myminion boto_secgroup.convert_to_group_ids mysecgroup vpc-89yhh7h
83859
83860       salt.modules.boto_secgroup.create(name,    description,    vpc_id=None,
83861       vpc_name=None, region=None, key=None, keyid=None, profile=None)
83862              Create a security group.
83863
83864              CLI example:
83865
83866                 salt myminion boto_secgroup.create mysecgroup 'My Security Group'
83867
83868       salt.modules.boto_secgroup.delete(name=None,             group_id=None,
83869       region=None,   key=None,   keyid=None,    profile=None,    vpc_id=None,
83870       vpc_name=None)
83871              Delete a security group.
83872
83873              CLI example:
83874
83875                 salt myminion boto_secgroup.delete mysecgroup
83876
83877       salt.modules.boto_secgroup.delete_tags(tags,  name=None, group_id=None,
83878       vpc_name=None, vpc_id=None,  region=None,  key=None,  keyid=None,  pro‐
83879       file=None)
83880              deletes tags from a security group
83881
83882              New in version 2016.3.0.
83883
83884
83885              tags   a list of tags to remove
83886
83887              name   the name of the security group
83888
83889              group_id
83890                     the  group id of the security group (in lie of a name/vpc
83891                     combo)
83892
83893              vpc_name
83894                     the name of the vpc to search the named group for
83895
83896              vpc_id the id of the vpc, in lieu of the vpc_name
83897
83898              region the amazon region
83899
83900              key    amazon key
83901
83902              keyid  amazon keyid
83903
83904              profile
83905                     amazon profile
83906
83907              CLI example:
83908
83909                 salt myminion boto_secgroup.delete_tags ['TAG_TO_DELETE1','TAG_TO_DELETE2'] security_group_name vpc_id=vpc-13435 profile=my_aws_profile
83910
83911       salt.modules.boto_secgroup.exists(name=None,   region=None,   key=None,
83912       keyid=None, profile=None, vpc_id=None, vpc_name=None, group_id=None)
83913              Check to see if a security group exists.
83914
83915              CLI example:
83916
83917                 salt myminion boto_secgroup.exists mysecgroup
83918
83919       salt.modules.boto_secgroup.get_all_security_groups(groupnames=None,
83920       group_ids=None, filters=None, region=None, key=None,  keyid=None,  pro‐
83921       file=None)
83922              Return a list of all Security Groups matching the given criteria
83923              and filters.
83924
83925              Note that the 'groupnames' argument only functions correctly for
83926              EC2  Classic and default VPC Security Groups.  To find groups by
83927              name in other VPCs you'll want to use  the  'group-name'  filter
83928              instead.
83929
83930              Valid keys for the filters argument are:
83931                     description  -  The  description  of  the security group.
83932                     egress.ip-permission.prefix-list-id - The ID (prefix)  of
83933                     the  AWS  service  to  which  the  security  group allows
83934                     access.   group-id  -  The  ID  of  the  security  group.
83935                     group-name  - The name of the security group.  ip-permis‐
83936                     sion.cidr - A CIDR range that has  been  granted  permis‐
83937                     sion.   ip-permission.from-port - The start of port range
83938                     for the TCP and UDP protocols, or an  ICMP  type  number.
83939                     ip-permission.group-id  - The ID of a security group that
83940                     has been granted permission.  ip-permission.group-name  -
83941                     The  name  of a security group that has been granted per‐
83942                     mission.  ip-permission.protocol - The  IP  protocol  for
83943                     the  permission  (tcp | udp | icmp or a protocol number).
83944                     ip-permission.to-port - The end of port range for the TCP
83945                     and   UDP   protocols,   or  an  ICMP  code.   ip-permis‐
83946                     sion.user-id - The ID of an AWS  account  that  has  been
83947                     granted permission.  owner-id - The AWS account ID of the
83948                     owner of the security group.  tag-key - The key of a  tag
83949                     assigned to the security group.  tag-value - The value of
83950                     a tag assigned to the security group.  vpc-id - The ID of
83951                     the VPC specified when the security group was created.
83952
83953              CLI example:
83954
83955                 salt myminion boto_secgroup.get_all_security_groups filters='{group-name: mygroup}'
83956
83957       salt.modules.boto_secgroup.get_config(name=None,         group_id=None,
83958       region=None,   key=None,   keyid=None,    profile=None,    vpc_id=None,
83959       vpc_name=None)
83960              Get the configuration for a security group.
83961
83962              CLI example:
83963
83964                 salt myminion boto_secgroup.get_config mysecgroup
83965
83966       salt.modules.boto_secgroup.get_group_id(name,              vpc_id=None,
83967       vpc_name=None, region=None, key=None, keyid=None, profile=None)
83968              Get a Group ID given a Group Name or Group Name and VPC ID
83969
83970              CLI example:
83971
83972                 salt myminion boto_secgroup.get_group_id mysecgroup
83973
83974       salt.modules.boto_secgroup.revoke(name=None,    source_group_name=None,
83975       source_group_owner_id=None,      ip_protocol=None,      from_port=None,
83976       to_port=None, cidr_ip=None, group_id=None,  source_group_group_id=None,
83977       region=None,    key=None,    keyid=None,   profile=None,   vpc_id=None,
83978       vpc_name=None, egress=False)
83979              Remove a rule from an existing security group.
83980
83981              CLI example:
83982
83983                 salt myminion boto_secgroup.revoke mysecgroup ip_protocol=tcp from_port=80 to_port=80 cidr_ip='10.0.0.0/8'
83984
83985       salt.modules.boto_secgroup.set_tags(tags,   name=None,   group_id=None,
83986       vpc_name=None,  vpc_id=None,  region=None,  key=None,  keyid=None, pro‐
83987       file=None)
83988              sets tags on a security group
83989
83990              New in version 2016.3.0.
83991
83992
83993              tags   a dict of key:value pair of tags to set on  the  security
83994                     group
83995
83996              name   the name of the security group
83997
83998              group_id
83999                     the  group id of the security group (in lie of a name/vpc
84000                     combo)
84001
84002              vpc_name
84003                     the name of the vpc to search the named group for
84004
84005              vpc_id the id of the vpc, in lieu of the vpc_name
84006
84007              region the amazon region
84008
84009              key    amazon key
84010
84011              keyid  amazon keyid
84012
84013              profile
84014                     amazon profile
84015
84016              CLI example:
84017
84018                 salt myminion boto_secgroup.set_tags "{'TAG1': 'Value1', 'TAG2': 'Value2'}" security_group_name vpc_id=vpc-13435 profile=my_aws_profile
84019
84020   salt.modules.boto_sns
84021       Connection module for Amazon SNS
84022
84023       configuration
84024              This module accepts explicit sns credentials but can  also  uti‐
84025              lize  IAM  roles  assigned to the instance through Instance Pro‐
84026              files. Dynamic credentials are then automatically obtained  from
84027              AWS API and no further configuration is necessary. More Informa‐
84028              tion available at:
84029
84030                 http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html
84031
84032              If IAM roles are not used you need to specify them either  in  a
84033              pillar or in the minion's config file:
84034
84035                 sns.keyid: GKTADJGHEIQSXMKKRBJ08H
84036                 sns.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
84037
84038              A region may also be specified in the configuration:
84039
84040                 sns.region: us-east-1
84041
84042              If a region is not specified, the default is us-east-1.
84043
84044              It's  also  possible to specify key, keyid and region via a pro‐
84045              file, either as a passed in dict, or as a string  to  pull  from
84046              pillars or minion config:
84047
84048                 myprofile:
84049                     keyid: GKTADJGHEIQSXMKKRBJ08H
84050                     key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
84051                     region: us-east-1
84052
84053       depends
84054              boto
84055
84056       salt.modules.boto_sns.create(name,  region=None,  key=None, keyid=None,
84057       profile=None)
84058              Create an SNS topic.
84059
84060              CLI example to create a topic:
84061
84062                 salt myminion boto_sns.create mytopic region=us-east-1
84063
84064       salt.modules.boto_sns.delete(name, region=None,  key=None,  keyid=None,
84065       profile=None)
84066              Delete an SNS topic.
84067
84068              CLI example to delete a topic:
84069
84070                 salt myminion boto_sns.delete mytopic region=us-east-1
84071
84072       salt.modules.boto_sns.exists(name,  region=None,  key=None, keyid=None,
84073       profile=None)
84074              Check to see if an SNS topic exists.
84075
84076              CLI example:
84077
84078                 salt myminion boto_sns.exists mytopic region=us-east-1
84079
84080       salt.modules.boto_sns.get_all_subscriptions_by_topic(name, region=None,
84081       key=None, keyid=None, profile=None)
84082              Get list of all subscriptions to a specific topic.
84083
84084              CLI example to delete a topic:
84085
84086                 salt myminion boto_sns.get_all_subscriptions_by_topic mytopic region=us-east-1
84087
84088       salt.modules.boto_sns.get_all_topics(region=None, key=None, keyid=None,
84089       profile=None)
84090              Returns a list of the all topics..
84091
84092              CLI example:
84093
84094                 salt myminion boto_sns.get_all_topics
84095
84096       salt.modules.boto_sns.get_arn(name, region=None, key=None,  keyid=None,
84097       profile=None)
84098              Returns the full ARN for a given topic name.
84099
84100              CLI example:
84101
84102                 salt myminion boto_sns.get_arn mytopic
84103
84104       salt.modules.boto_sns.subscribe(topic, protocol, endpoint, region=None,
84105       key=None, keyid=None, profile=None)
84106              Subscribe to a Topic.
84107
84108              CLI example to delete a topic:
84109
84110                 salt myminion boto_sns.subscribe mytopic https https://www.example.com/sns-endpoint region=us-east-1
84111
84112       salt.modules.boto_sns.unsubscribe(topic, subscription_arn, region=None,
84113       key=None, keyid=None, profile=None)
84114              Unsubscribe a specific SubscriptionArn of a topic.
84115
84116              CLI Example:
84117
84118                 salt myminion boto_sns.unsubscribe my_topic my_subscription_arn region=us-east-1
84119
84120              New in version 2016.11.0.
84121
84122
84123   salt.modules.boto_sqs
84124       Connection module for Amazon SQS
84125
84126       New in version 2014.7.0.
84127
84128
84129       configuration
84130              This  module  accepts explicit sqs credentials but can also uti‐
84131              lize IAM roles assigned to the instance  through  Instance  Pro‐
84132              files.  Dynamic credentials are then automatically obtained from
84133              AWS API and no further configuration is necessary. More informa‐
84134              tion available at:
84135
84136                 http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html
84137
84138              If  IAM  roles are not used you need to specify them either in a
84139              pillar or in the minion's config file:
84140
84141                 sqs.keyid: GKTADJGHEIQSXMKKRBJ08H
84142                 sqs.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
84143
84144              A region may also be specified in the configuration:
84145
84146                 sqs.region: us-east-1
84147
84148              If a region is not specified, the default is us-east-1.
84149
84150              It's also possible to specify key, keyid and region via  a  pro‐
84151              file,  either  as  a passed in dict, or as a string to pull from
84152              pillars or minion config:
84153
84154                 myprofile:
84155                     keyid: GKTADJGHEIQSXMKKRBJ08H
84156                     key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
84157                     region: us-east-1
84158
84159       depends
84160              boto3
84161
84162       salt.modules.boto_sqs.create(name,    attributes=None,     region=None,
84163       key=None, keyid=None, profile=None)
84164              Create an SQS queue.
84165
84166              CLI Example:
84167
84168                 salt myminion boto_sqs.create myqueue region=us-east-1
84169
84170       salt.modules.boto_sqs.delete(name,  region=None,  key=None, keyid=None,
84171       profile=None)
84172              Delete an SQS queue.
84173
84174              CLI Example:
84175
84176                 salt myminion boto_sqs.delete myqueue region=us-east-1
84177
84178       salt.modules.boto_sqs.exists(name, region=None,  key=None,  keyid=None,
84179       profile=None)
84180              Check to see if a queue exists.
84181
84182              CLI Example:
84183
84184                 salt myminion boto_sqs.exists myqueue region=us-east-1
84185
84186       salt.modules.boto_sqs.get_attributes(name,    region=None,    key=None,
84187       keyid=None, profile=None)
84188              Return attributes currently set on an SQS queue.
84189
84190              CLI Example:
84191
84192                 salt myminion boto_sqs.get_attributes myqueue
84193
84194       salt.modules.boto_sqs.list_(prefix=u'',     region=None,      key=None,
84195       keyid=None, profile=None)
84196              Return a list of the names of all visible queues.
84197
84198              New in version 2016.11.0.
84199
84200
84201              CLI Example:
84202
84203                 salt myminion boto_sqs.list region=us-east-1
84204
84205       salt.modules.boto_sqs.set_attributes(name,   attributes,   region=None,
84206       key=None, keyid=None, profile=None)
84207              Set attributes on an SQS queue.
84208
84209              CLI Example:
84210
84211                 salt myminion boto_sqs.set_attributes myqueue '{ReceiveMessageWaitTimeSeconds: 20}' region=us-east-1
84212
84213   salt.modules.boto_vpc
84214       Connection module for Amazon VPC
84215
84216       New in version 2014.7.0.
84217
84218
84219       depends
84220
84221       · boto >= 2.8.0
84222
84223       · boto3 >= 1.2.6
84224
84225       configuration
84226              This module accepts explicit VPC credentials but can  also  uti‐
84227              lize  IAM  roles  assigned to the instance through Instance Pro‐
84228              files.  Dynamic credentials are then automatically obtained from
84229              AWS API and no further configuration is necessary. More Informa‐
84230              tion available here.
84231
84232       If IAM roles are not used you need to specify them either in  a  pillar
84233       or in the minion's config file:
84234
84235          vpc.keyid: GKTADJGHEIQSXMKKRBJ08H
84236          vpc.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
84237
84238       A region may also be specified in the configuration:
84239
84240          vpc.region: us-east-1
84241
84242       If a region is not specified, the default is us-east-1.
84243
84244       It's  also  possible  to  specify  key, keyid and region via a profile,
84245       either as a passed in dict, or as a string to pull from pillars or min‐
84246       ion config:
84247
84248          myprofile:
84249              keyid: GKTADJGHEIQSXMKKRBJ08H
84250              key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
84251              region: us-east-1
84252
84253       Changed  in version 2015.8.0: All methods now return a dictionary. Cre‐
84254       ate and delete methods return:
84255
84256          created: true
84257
84258       or
84259
84260          created: false
84261          error:
84262            message: error message
84263
84264       Request methods (e.g., describe_vpc) return:
84265
84266          vpcs:
84267            - {...}
84268            - {...}
84269
84270       or
84271
84272          error:
84273            message: error message
84274
84275
84276       New in version 2016.11.0.
84277
84278
84279       Functions to request, accept, delete and describe VPC  peering  connec‐
84280       tions.  Named VPC peering connections can be requested using these mod‐
84281       ules.  VPC owner accounts can accept VPC peering connections (named  or
84282       otherwise).
84283
84284       Examples showing creation of VPC peering connection
84285
84286          # Create a named VPC peering connection
84287          salt myminion boto_vpc.request_vpc_peering_connection vpc-4a3e622e vpc-be82e9da name=my_vpc_connection
84288          # Without a name
84289          salt myminion boto_vpc.request_vpc_peering_connection vpc-4a3e622e vpc-be82e9da
84290          # Specify a region
84291          salt myminion boto_vpc.request_vpc_peering_connection vpc-4a3e622e vpc-be82e9da region=us-west-2
84292
84293       Check to see if VPC peering connection is pending
84294
84295          salt myminion boto_vpc.is_peering_connection_pending name=salt-vpc
84296          # Specify a region
84297          salt myminion boto_vpc.is_peering_connection_pending name=salt-vpc region=us-west-2
84298          # specify an id
84299          salt myminion boto_vpc.is_peering_connection_pending conn_id=pcx-8a8939e3
84300
84301       Accept VPC peering connection
84302
84303          salt myminion boto_vpc.accept_vpc_peering_connection name=salt-vpc
84304          # Specify a region
84305          salt myminion boto_vpc.accept_vpc_peering_connection name=salt-vpc region=us-west-2
84306          # specify an id
84307          salt myminion boto_vpc.accept_vpc_peering_connection conn_id=pcx-8a8939e3
84308
84309       Deleting VPC peering connection via this module
84310
84311          # Delete a named VPC peering connection
84312          salt myminion boto_vpc.delete_vpc_peering_connection name=salt-vpc
84313          # Specify a region
84314          salt myminion boto_vpc.delete_vpc_peering_connection name=salt-vpc region=us-west-2
84315          # specify an id
84316          salt myminion boto_vpc.delete_vpc_peering_connection conn_id=pcx-8a8939e3
84317
84318       salt.modules.boto_vpc.accept_vpc_peering_connection(conn_id=u'',
84319       name=u'',    region=None,    key=None,    keyid=None,     profile=None,
84320       dry_run=False)
84321              Request a VPC peering connection between two VPCs.
84322
84323              New in version 2016.11.0.
84324
84325
84326              Parameters
84327
84328                     · conn_id -- The ID to use. String type.
84329
84330                     · name -- The name of this VPC peering connection. String
84331                       type.
84332
84333                     · region -- The AWS region to use. Type string.
84334
84335                     · key -- The key to use for this connection. Type string.
84336
84337                     · keyid -- The key id to use.
84338
84339                     · profile -- The profile to use.
84340
84341                     · dry_run -- The dry_run flag to set.
84342
84343              Returns
84344                     dict
84345
84346              Warning: Please specify either the vpc_peering_connection_id  or
84347              name but not both. Specifying both will result in an error!
84348
84349              CLI Example:
84350
84351                 salt myminion boto_vpc.accept_vpc_peering_connection name=salt-vpc
84352                 # Specify a region
84353                 salt myminion boto_vpc.accept_vpc_peering_connection name=salt-vpc region=us-west-2
84354                 # specify an id
84355                 salt myminion boto_vpc.accept_vpc_peering_connection conn_id=pcx-8a8939e3
84356
84357       salt.modules.boto_vpc.associate_dhcp_options_to_vpc(dhcp_options_id,
84358       vpc_id=None, vpc_name=None,  region=None,  key=None,  keyid=None,  pro‐
84359       file=None)
84360              Given  valid  DHCP  options id and a valid VPC id, associate the
84361              DHCP options record with the VPC.
84362
84363              Returns True if the DHCP  options  record  were  associated  and
84364              returns False if the DHCP options record was not associated.
84365
84366              CLI Example:
84367
84368                 salt myminion boto_vpc.associate_dhcp_options_to_vpc 'dhcp-a0bl34pp' 'vpc-6b1fe402'
84369
84370       salt.modules.boto_vpc.associate_network_acl_to_subnet(net‐
84371       work_acl_id=None,    subnet_id=None,    network_acl_name=None,     sub‐
84372       net_name=None, region=None, key=None, keyid=None, profile=None)
84373              Given a network acl and subnet ids or names, associate a network
84374              acl to a subnet.
84375
84376              CLI Example:
84377
84378                 salt myminion boto_vpc.associate_network_acl_to_subnet \
84379                         network_acl_id='acl-5fb85d36' subnet_id='subnet-6a1fe403'
84380
84381                 salt myminion boto_vpc.associate_network_acl_to_subnet \
84382                         network_acl_id='myacl' subnet_id='mysubnet'
84383
84384       salt.modules.boto_vpc.associate_route_table(route_table_id=None,   sub‐
84385       net_id=None,   route_table_name=None,   subnet_name=None,  region=None,
84386       key=None, keyid=None, profile=None)
84387              Given a route table and subnet name or id, associates the  route
84388              table with the subnet.
84389
84390              CLI Example:
84391
84392                 salt myminion boto_vpc.associate_route_table 'rtb-1f382e7d' 'subnet-6a1fe403'
84393
84394                 salt myminion boto_vpc.associate_route_table route_table_name='myrtb' \
84395                         subnet_name='mysubnet'
84396
84397       salt.modules.boto_vpc.check_vpc(vpc_id=None,             vpc_name=None,
84398       region=None, key=None, keyid=None, profile=None)
84399              Check whether a VPC with the given name or id  exists.   Returns
84400              the  vpc_id  or  None. Raises SaltInvocationError if both vpc_id
84401              and vpc_name are None. Optionally raise a  CommandExecutionError
84402              if the VPC does not exist.
84403
84404              New in version 2016.3.0.
84405
84406
84407              CLI Example:
84408
84409                 salt myminion boto_vpc.check_vpc vpc_name=myvpc profile=awsprofile
84410
84411       salt.modules.boto_vpc.create(cidr_block,         instance_tenancy=None,
84412       vpc_name=None,   enable_dns_support=None,    enable_dns_hostnames=None,
84413       tags=None, region=None, key=None, keyid=None, profile=None)
84414              Given a valid CIDR block, create a VPC.
84415
84416              An  optional  instance_tenancy argument can be provided. If pro‐
84417              vided, the valid values are 'default' or 'dedicated'
84418
84419              An optional vpc_name argument can be provided.
84420
84421              Returns {created: true} if the VPC was created and returns {cre‐
84422              ated: False} if the VPC was not created.
84423
84424              CLI Example:
84425
84426                 salt myminion boto_vpc.create '10.0.0.0/24'
84427
84428       salt.modules.boto_vpc.create_customer_gateway(vpn_connection_type,
84429       ip_address,     bgp_asn,     customer_gateway_name=None,     tags=None,
84430       region=None, key=None, keyid=None, profile=None)
84431              Given  a  valid  VPN  connection type, a static IP address and a
84432              customer gateway’s Border Gateway Protocol (BGP) Autonomous Sys‐
84433              tem Number, create a customer gateway.
84434
84435              Returns the customer gateway id if the customer gateway was cre‐
84436              ated and returns False if the customer gateway was not created.
84437
84438              CLI Example:
84439
84440                 salt myminion boto_vpc.create_customer_gateway 'ipsec.1', '12.1.2.3', 65534
84441
84442       salt.modules.boto_vpc.create_dhcp_options(domain_name=None,
84443       domain_name_servers=None,  ntp_servers=None, netbios_name_servers=None,
84444       netbios_node_type=None, dhcp_options_name=None, tags=None, vpc_id=None,
84445       vpc_name=None, region=None, key=None, keyid=None, profile=None)
84446              Given  valid DHCP options, create a DHCP options record, option‐
84447              ally associating it with an existing VPC.
84448
84449              Returns True if the DHCP options record was created and  returns
84450              False if the DHCP options record was not deleted.
84451
84452              Changed in version 2015.8.0: Added vpc_name and vpc_id arguments
84453
84454
84455              CLI Example:
84456
84457                 salt myminion boto_vpc.create_dhcp_options domain_name='example.com' \
84458                         domain_name_servers='[1.2.3.4]' ntp_servers='[5.6.7.8]' \
84459                         netbios_name_servers='[10.0.0.1]' netbios_node_type=1 \
84460                         vpc_name='myvpc'
84461
84462       salt.modules.boto_vpc.create_internet_gateway(internet_gate‐
84463       way_name=None,  vpc_id=None,  vpc_name=None,  tags=None,   region=None,
84464       key=None, keyid=None, profile=None)
84465              Create an Internet Gateway, optionally attaching it to an exist‐
84466              ing VPC.
84467
84468              Returns the internet gateway id if the internet gateway was cre‐
84469              ated and returns False if the internet gateways was not created.
84470
84471              New in version 2015.8.0.
84472
84473
84474              CLI Example:
84475
84476                 salt myminion boto_vpc.create_internet_gateway \
84477                         internet_gateway_name=myigw vpc_name=myvpc
84478
84479       salt.modules.boto_vpc.create_nat_gateway(subnet_id=None,           sub‐
84480       net_name=None, allocation_id=None, region=None,  key=None,  keyid=None,
84481       profile=None)
84482              Create a NAT Gateway within an existing subnet. If allocation_id
84483              is specified, the elastic IP address it references is associated
84484              with  the gateway. Otherwise, a new allocation_id is created and
84485              used.
84486
84487              This function requires boto3 to be installed.
84488
84489              Returns the nat gateway id if the nat gateway  was  created  and
84490              returns False if the nat gateway was not created.
84491
84492              New in version 2016.11.0.
84493
84494
84495              CLI Example:
84496
84497                 salt myminion boto_vpc.create_nat_gateway subnet_name=mysubnet
84498
84499       salt.modules.boto_vpc.create_network_acl(vpc_id=None,    vpc_name=None,
84500       network_acl_name=None,  subnet_id=None,  subnet_name=None,   tags=None,
84501       region=None, key=None, keyid=None, profile=None)
84502              Given a vpc_id, creates a network acl.
84503
84504              Returns  the  network  acl  id  if successful, otherwise returns
84505              False.
84506
84507              Changed in version 2015.8.0: Added vpc_name, subnet_id, and sub‐
84508              net_name arguments
84509
84510
84511              CLI Example:
84512
84513                 salt myminion boto_vpc.create_network_acl 'vpc-6b1fe402'
84514
84515       salt.modules.boto_vpc.create_network_acl_entry(network_acl_id=None,
84516       rule_number=None,  protocol=None,  rule_action=None,   cidr_block=None,
84517       egress=None,   network_acl_name=None,  icmp_code=None,  icmp_type=None,
84518       port_range_from=None,   port_range_to=None,   region=None,    key=None,
84519       keyid=None, profile=None)
84520              Creates a network acl entry.
84521
84522              CLI Example:
84523
84524                 salt myminion boto_vpc.create_network_acl_entry 'acl-5fb85d36' '32767' \
84525                         'all' 'deny' '0.0.0.0/0' egress=true
84526
84527       salt.modules.boto_vpc.create_route(route_table_id=None,        destina‐
84528       tion_cidr_block=None,  route_table_name=None,  gateway_id=None,  inter‐
84529       net_gateway_name=None,  instance_id=None,  interface_id=None, vpc_peer‐
84530       ing_connection_id=None, vpc_peering_connection_name=None,  region=None,
84531       key=None,   keyid=None,  profile=None,  nat_gateway_id=None,  nat_gate‐
84532       way_subnet_name=None, nat_gateway_subnet_id=None)
84533              Creates a route.
84534
84535              If a nat gateway is specified, boto3 must be installed
84536
84537              CLI Example:
84538
84539                 salt myminion boto_vpc.create_route 'rtb-1f382e7d' '10.0.0.0/16' gateway_id='vgw-a1b2c3'
84540
84541       salt.modules.boto_vpc.create_route_table(vpc_id=None,    vpc_name=None,
84542       route_table_name=None,  tags=None,  region=None,  key=None, keyid=None,
84543       profile=None)
84544              Creates a route table.
84545
84546              Changed in version 2015.8.0: Added vpc_name argument
84547
84548
84549              CLI Examples:
84550
84551                 salt myminion boto_vpc.create_route_table vpc_id='vpc-6b1fe402' \
84552                         route_table_name='myroutetable'
84553                 salt myminion boto_vpc.create_route_table vpc_name='myvpc' \
84554                         route_table_name='myroutetable'
84555
84556       salt.modules.boto_vpc.create_subnet(vpc_id=None,       cidr_block=None,
84557       vpc_name=None,   availability_zone=None,  subnet_name=None,  tags=None,
84558       region=None,  key=None,  keyid=None,   profile=None,   auto_assign_pub‐
84559       lic_ipv4=False)
84560              Given  a  valid VPC ID or Name and a CIDR block, create a subnet
84561              for the VPC.
84562
84563              An optional availability zone argument can be provided.
84564
84565              Returns True if the VPC subnet was created and returns False  if
84566              the VPC subnet was not created.
84567
84568              Changed in version 2015.8.0: Added vpc_name argument
84569
84570
84571              CLI Examples:
84572
84573                 salt myminion boto_vpc.create_subnet vpc_id='vpc-6b1fe402' \
84574                         subnet_name='mysubnet' cidr_block='10.0.0.0/25'
84575                 salt myminion boto_vpc.create_subnet vpc_name='myvpc' \
84576                         subnet_name='mysubnet', cidr_block='10.0.0.0/25'
84577
84578       salt.modules.boto_vpc.customer_gateway_exists(customer_gateway_id=None,
84579       customer_gateway_name=None,  region=None,  key=None,  keyid=None,  pro‐
84580       file=None)
84581              Given  a  customer  gateway ID, check if the customer gateway ID
84582              exists.
84583
84584              Returns True if the customer gateway ID  exists;  Returns  False
84585              otherwise.
84586
84587              CLI Example:
84588
84589                 salt myminion boto_vpc.customer_gateway_exists cgw-b6a247df
84590                 salt myminion boto_vpc.customer_gateway_exists customer_gatway_name=mycgw
84591
84592       salt.modules.boto_vpc.delete(vpc_id=None,   name=None,   vpc_name=None,
84593       tags=None, region=None, key=None, keyid=None, profile=None)
84594              Given a VPC ID or VPC name, delete the VPC.
84595
84596              Returns {deleted: true} if  the  VPC  was  deleted  and  returns
84597              {deleted: false} if the VPC was not deleted.
84598
84599              CLI Example:
84600
84601                 salt myminion boto_vpc.delete vpc_id='vpc-6b1fe402'
84602                 salt myminion boto_vpc.delete name='myvpc'
84603
84604       salt.modules.boto_vpc.delete_customer_gateway(customer_gateway_id=None,
84605       customer_gateway_name=None,  region=None,  key=None,  keyid=None,  pro‐
84606       file=None)
84607              Given  a  customer gateway ID or name, delete the customer gate‐
84608              way.
84609
84610              Returns True if the customer gateway  was  deleted  and  returns
84611              False if the customer gateway was not deleted.
84612
84613              Changed  in  version 2015.8.0: Added customer_gateway_name argu‐
84614              ment
84615
84616
84617              CLI Example:
84618
84619                 salt myminion boto_vpc.delete_customer_gateway 'cgw-b6a247df'
84620
84621       salt.modules.boto_vpc.delete_dhcp_options(dhcp_options_id=None,
84622       dhcp_options_name=None,   region=None,   key=None,   keyid=None,   pro‐
84623       file=None)
84624              Delete dhcp options by id or name.
84625
84626              New in version 2015.8.0.
84627
84628
84629              CLI Example:
84630
84631                 salt myminion boto_vpc.delete_dhcp_options 'dopt-b6a247df'
84632
84633       salt.modules.boto_vpc.delete_internet_gateway(internet_gateway_id=None,
84634       internet_gateway_name=None,    detach=False,   region=None,   key=None,
84635       keyid=None, profile=None)
84636              Delete an internet gateway (by name or id).
84637
84638              Returns True if the internet gateway was deleted  and  otherwise
84639              False.
84640
84641              New in version 2015.8.0.
84642
84643
84644              CLI Examples:
84645
84646                 salt myminion boto_vpc.delete_internet_gateway internet_gateway_id=igw-1a2b3c
84647                 salt myminion boto_vpc.delete_internet_gateway internet_gateway_name=myigw
84648
84649       salt.modules.boto_vpc.delete_nat_gateway(nat_gateway_id,
84650       release_eips=False, region=None,  key=None,  keyid=None,  profile=None,
84651       wait_for_delete=False, wait_for_delete_retries=5)
84652              Delete a nat gateway (by id).
84653
84654              Returns  True  if the internet gateway was deleted and otherwise
84655              False.
84656
84657              This function requires boto3 to be installed.
84658
84659              New in version 2016.11.0.
84660
84661
84662              nat_gateway_id
84663                     Id of the NAT Gateway
84664
84665              releaes_eips
84666                     whether to release the elastic IPs  associated  with  the
84667                     given NAT Gateway Id
84668
84669              region Region to connect to.
84670
84671              key    Secret key to be used.
84672
84673              keyid  Access key to be used.
84674
84675              profile
84676                     A  dict  with  region,  key  and  keyid,  or a pillar key
84677                     (string) that contains a dict with region, key and keyid.
84678
84679              wait_for_delete
84680                     whether to wait for delete of the NAT gateway  to  be  in
84681                     failed or deleted state after issuing the delete call.
84682
84683              wait_for_delete_retries
84684                     NAT  gateway  may take some time to be go into deleted or
84685                     failed state.  During the  deletion  process,  subsequent
84686                     release of elastic IPs may fail; this state will automat‐
84687                     ically retry this number of times to ensure the NAT gate‐
84688                     way is in deleted or failed state before proceeding.
84689
84690              CLI Examples:
84691
84692                 salt myminion boto_vpc.delete_nat_gateway nat_gateway_id=igw-1a2b3c
84693
84694       salt.modules.boto_vpc.delete_network_acl(network_acl_id=None,      net‐
84695       work_acl_name=None,    disassociate=False,    region=None,    key=None,
84696       keyid=None, profile=None)
84697              Delete  a  network  acl  based  on  the  network_acl_id  or net‐
84698              work_acl_name provided.
84699
84700              CLI Examples:
84701
84702                 salt myminion boto_vpc.delete_network_acl network_acl_id='acl-5fb85d36' \
84703                         disassociate=false
84704
84705                 salt myminion boto_vpc.delete_network_acl network_acl_name='myacl' \
84706                         disassociate=true
84707
84708       salt.modules.boto_vpc.delete_network_acl_entry(network_acl_id=None,
84709       rule_number=None,   egress=None,   network_acl_name=None,  region=None,
84710       key=None, keyid=None, profile=None)
84711              Deletes a network acl entry.
84712
84713              CLI Example:
84714
84715                 salt myminion boto_vpc.delete_network_acl_entry 'acl-5fb85d36' '32767'
84716
84717       salt.modules.boto_vpc.delete_route(route_table_id=None,        destina‐
84718       tion_cidr_block=None,   route_table_name=None,  region=None,  key=None,
84719       keyid=None, profile=None)
84720              Deletes a route.
84721
84722              CLI Example:
84723
84724                 salt myminion boto_vpc.delete_route 'rtb-1f382e7d' '10.0.0.0/16'
84725
84726       salt.modules.boto_vpc.delete_route_table(route_table_id=None, route_ta‐
84727       ble_name=None, region=None, key=None, keyid=None, profile=None)
84728              Deletes a route table.
84729
84730              CLI Examples:
84731
84732                 salt myminion boto_vpc.delete_route_table route_table_id='rtb-1f382e7d'
84733                 salt myminion boto_vpc.delete_route_table route_table_name='myroutetable'
84734
84735       salt.modules.boto_vpc.delete_subnet(subnet_id=None,   subnet_name=None,
84736       region=None, key=None, keyid=None, profile=None)
84737              Given a subnet ID or name, delete the subnet.
84738
84739              Returns True if the subnet was deleted and returns False if  the
84740              subnet was not deleted.
84741
84742              Changed in version 2015.8.0: Added subnet_name argument
84743
84744
84745              CLI Example:
84746
84747                 salt myminion boto_vpc.delete_subnet 'subnet-6a1fe403'
84748
84749       salt.modules.boto_vpc.delete_vpc_peering_connection(conn_id=None,
84750       conn_name=None,  region=None,   key=None,   keyid=None,   profile=None,
84751       dry_run=False)
84752              Delete a VPC peering connection.
84753
84754              New in version 2016.11.0.
84755
84756
84757              conn_id
84758                     The connection ID to check.  Exclusive with conn_name.
84759
84760              conn_name
84761                     The connection name to check.  Exclusive with conn_id.
84762
84763              region Region to connect to.
84764
84765              key    Secret key to be used.
84766
84767              keyid  Access key to be used.
84768
84769              profile
84770                     A  dict  with  region,  key  and  keyid,  or a pillar key
84771                     (string) that contains a dict with region, key and keyid.
84772
84773              dry_run
84774                     If True, skip application  and  simply  return  projected
84775                     status.
84776
84777              CLI Example:
84778
84779                 # Create a named VPC peering connection
84780                 salt myminion boto_vpc.delete_vpc_peering_connection conn_name=salt-vpc
84781                 # Specify a region
84782                 salt myminion boto_vpc.delete_vpc_peering_connection conn_name=salt-vpc region=us-west-2
84783                 # specify an id
84784                 salt myminion boto_vpc.delete_vpc_peering_connection conn_id=pcx-8a8939e3
84785
84786       salt.modules.boto_vpc.describe(vpc_id=None, vpc_name=None, region=None,
84787       key=None, keyid=None, profile=None)
84788              Given a VPC ID describe its properties.
84789
84790              Returns a dictionary of interesting properties.
84791
84792              Changed in version 2015.8.0: Added vpc_name argument
84793
84794
84795              CLI Example:
84796
84797                 salt myminion boto_vpc.describe vpc_id=vpc-123456
84798                 salt myminion boto_vpc.describe vpc_name=myvpc
84799
84800       salt.modules.boto_vpc.describe_nat_gateways(nat_gateway_id=None,   sub‐
84801       net_id=None,      subnet_name=None,     vpc_id=None,     vpc_name=None,
84802       states=(u'pending', u'available'), region=None,  key=None,  keyid=None,
84803       profile=None)
84804              Return a description of nat gateways matching the selection cri‐
84805              teria
84806
84807              This function requires boto3 to be installed.
84808
84809              CLI Example:
84810
84811                 salt myminion boto_vpc.describe_nat_gateways nat_gateway_id='nat-03b02643b43216fe7'
84812                 salt myminion boto_vpc.describe_nat_gateways subnet_id='subnet-5b05942d'
84813
84814       salt.modules.boto_vpc.describe_route_table(route_table_id=None,
84815       route_table_name=None,  tags=None,  region=None,  key=None, keyid=None,
84816       profile=None)
84817              Given route table properties,  return  route  table  details  if
84818              matching table(s) exist.
84819
84820              New in version 2015.8.0.
84821
84822
84823              CLI Example:
84824
84825                 salt myminion boto_vpc.describe_route_table route_table_id='rtb-1f382e7d'
84826
84827       salt.modules.boto_vpc.describe_route_tables(route_table_id=None,
84828       route_table_name=None, vpc_id=None, tags=None,  region=None,  key=None,
84829       keyid=None, profile=None)
84830              Given  route  table  properties,  return details of all matching
84831              route tables.
84832
84833              This function requires boto3 to be installed.
84834
84835              New in version 2016.11.0.
84836
84837
84838              CLI Example:
84839
84840                 salt myminion boto_vpc.describe_route_tables vpc_id='vpc-a6a9efc3'
84841
84842       salt.modules.boto_vpc.describe_subnet(subnet_id=None, subnet_name=None,
84843       region=None, key=None, keyid=None, profile=None)
84844              Given a subnet id or name, describe its properties.
84845
84846              Returns a dictionary of interesting properties.
84847
84848              New in version 2015.8.0.
84849
84850
84851              CLI Examples:
84852
84853                 salt myminion boto_vpc.describe_subnet subnet_id=subnet-123456
84854                 salt myminion boto_vpc.describe_subnet subnet_name=mysubnet
84855
84856       salt.modules.boto_vpc.describe_subnets(subnet_ids=None,            sub‐
84857       net_names=None,   vpc_id=None,   cidr=None,   region=None,    key=None,
84858       keyid=None, profile=None)
84859              Given a VPC ID or subnet CIDR, returns a list of associated sub‐
84860              nets and their details. Return all subnets if VPC ID or CIDR are
84861              not  provided.   If  a  subnet  id or CIDR is provided, only its
84862              associated subnet details will be returned.
84863
84864              New in version 2015.8.0.
84865
84866
84867              CLI Examples:
84868
84869                 salt myminion boto_vpc.describe_subnets
84870
84871                 salt myminion boto_vpc.describe_subnets subnet_ids=['subnet-ba1987ab', 'subnet-ba1987cd']
84872
84873                 salt myminion boto_vpc.describe_subnets vpc_id=vpc-123456
84874
84875                 salt myminion boto_vpc.describe_subnets cidr=10.0.0.0/21
84876
84877       salt.modules.boto_vpc.describe_vpc_peering_connection(name,
84878       region=None, key=None, keyid=None, profile=None)
84879              Returns any VPC peering connection id(s) for the given VPC peer‐
84880              ing connection name.
84881
84882              VPC peering connection ids are  only  returned  for  connections
84883              that  are  in  the  active,  pending-acceptance  or provisioning
84884              state.
84885
84886              New in version 2016.11.0.
84887
84888
84889              Parameters
84890
84891                     · name -- The string name for this VPC peering connection
84892
84893                     · region -- The aws region to use
84894
84895                     · key -- Your aws key
84896
84897                     · keyid -- The key id associated with this aws account
84898
84899                     · profile -- The profile to use
84900
84901              Returns
84902                     dict
84903
84904              CLI Example:
84905
84906                 salt myminion boto_vpc.describe_vpc_peering_connection salt-vpc
84907                 # Specify a region
84908                 salt myminion boto_vpc.describe_vpc_peering_connection salt-vpc region=us-west-2
84909
84910       salt.modules.boto_vpc.describe_vpcs(vpc_id=None, name=None,  cidr=None,
84911       tags=None, region=None, key=None, keyid=None, profile=None)
84912              Describe all VPCs, matching the filter criteria if provided.
84913
84914              Returns a list of dictionaries with interesting properties.
84915
84916              New in version 2015.8.0.
84917
84918
84919              CLI Example:
84920
84921                 salt myminion boto_vpc.describe_vpcs
84922
84923       salt.modules.boto_vpc.dhcp_options_exists(dhcp_options_id=None,
84924       name=None, dhcp_options_name=None,  tags=None,  region=None,  key=None,
84925       keyid=None, profile=None)
84926              Check if a dhcp option exists.
84927
84928              Returns True if the dhcp option exists; Returns False otherwise.
84929
84930              CLI Example:
84931
84932                 salt myminion boto_vpc.dhcp_options_exists dhcp_options_id='dhcp-a0bl34pp'
84933
84934       salt.modules.boto_vpc.disassociate_network_acl(subnet_id=None,
84935       vpc_id=None, subnet_name=None,  vpc_name=None,  region=None,  key=None,
84936       keyid=None, profile=None)
84937              Given a subnet ID, disassociates a network acl.
84938
84939              CLI Example:
84940
84941                 salt myminion boto_vpc.disassociate_network_acl 'subnet-6a1fe403'
84942
84943       salt.modules.boto_vpc.disassociate_route_table(association_id,
84944       region=None, key=None, keyid=None, profile=None)
84945              Dissassociates a route table.
84946
84947              association_id
84948                     The Route Table Association ID to disassociate
84949
84950              CLI Example:
84951
84952                 salt myminion boto_vpc.disassociate_route_table 'rtbassoc-d8ccddba'
84953
84954       salt.modules.boto_vpc.exists(vpc_id=None,     name=None,     cidr=None,
84955       tags=None, region=None, key=None, keyid=None, profile=None)
84956              Given a VPC ID, check to see if the given VPC ID exists.
84957
84958              Returns True if the given VPC ID exists and returns False if the
84959              given VPC ID does not exist.
84960
84961              CLI Example:
84962
84963                 salt myminion boto_vpc.exists myvpc
84964
84965       salt.modules.boto_vpc.get_dhcp_options(dhcp_options_name=None,
84966       dhcp_options_id=None, region=None, key=None, keyid=None, profile=None)
84967              Return  a  dict  with  the  current values of the requested DHCP
84968              options set
84969
84970              CLI Example:
84971
84972                 salt myminion boto_vpc.get_dhcp_options 'myfunnydhcpoptionsname'
84973
84974              New in version 2016.3.0.
84975
84976
84977       salt.modules.boto_vpc.get_id(name=None,      cidr=None,      tags=None,
84978       region=None, key=None, keyid=None, profile=None)
84979              Given VPC properties, return the VPC id if a match is found.
84980
84981              CLI Example:
84982
84983                 salt myminion boto_vpc.get_id myvpc
84984
84985       salt.modules.boto_vpc.get_resource_id(resource,              name=None,
84986       resource_id=None, region=None, key=None, keyid=None, profile=None)
84987              Get an AWS id for a VPC resource by type and name.
84988
84989              New in version 2015.8.0.
84990
84991
84992              CLI Example:
84993
84994                 salt myminion boto_vpc.get_resource_id internet_gateway myigw
84995
84996       salt.modules.boto_vpc.get_subnet_association(subnets,      region=None,
84997       key=None, keyid=None, profile=None)
84998              Given  a subnet (aka: a vpc zone identifier) or list of subnets,
84999              returns vpc association.
85000
85001              Returns a VPC ID if the given subnets are  associated  with  the
85002              same  VPC ID.  Returns False on an error or if the given subnets
85003              are associated with different VPC IDs.
85004
85005              CLI Examples:
85006
85007                 salt myminion boto_vpc.get_subnet_association subnet-61b47516
85008
85009                 salt myminion boto_vpc.get_subnet_association ['subnet-61b47516','subnet-2cb9785b']
85010
85011       salt.modules.boto_vpc.is_peering_connection_pending(conn_id=None,
85012       conn_name=None, region=None, key=None, keyid=None, profile=None)
85013              Check if a VPC peering connection is in the pending state.
85014
85015              New in version 2016.11.0.
85016
85017
85018              conn_id
85019                     The connection ID to check.  Exclusive with conn_name.
85020
85021              conn_name
85022                     The connection name to check.  Exclusive with conn_id.
85023
85024              region Region to connect to.
85025
85026              key    Secret key to be used.
85027
85028              keyid  Access key to be used.
85029
85030              profile
85031                     A  dict  with  region,  key  and  keyid,  or a pillar key
85032                     (string) that contains a dict with region, key and keyid.
85033
85034              CLI Example:
85035
85036                 salt myminion boto_vpc.is_peering_connection_pending conn_name=salt-vpc
85037                 # Specify a region
85038                 salt myminion boto_vpc.is_peering_connection_pending conn_name=salt-vpc region=us-west-2
85039                 # specify an id
85040                 salt myminion boto_vpc.is_peering_connection_pending conn_id=pcx-8a8939e3
85041
85042       salt.modules.boto_vpc.nat_gateway_exists(nat_gateway_id=None,      sub‐
85043       net_id=None,      subnet_name=None,     vpc_id=None,     vpc_name=None,
85044       states=(u'pending', u'available'), region=None,  key=None,  keyid=None,
85045       profile=None)
85046              Checks if a nat gateway exists.
85047
85048              This function requires boto3 to be installed.
85049
85050              New in version 2016.11.0.
85051
85052
85053              CLI Example:
85054
85055                 salt myminion boto_vpc.nat_gateway_exists nat_gateway_id='nat-03b02643b43216fe7'
85056                 salt myminion boto_vpc.nat_gateway_exists subnet_id='subnet-5b05942d'
85057
85058       salt.modules.boto_vpc.network_acl_exists(network_acl_id=None,
85059       name=None,  network_acl_name=None,  tags=None,  region=None,  key=None,
85060       keyid=None, profile=None)
85061              Checks if a network acl exists.
85062
85063              Returns  True  if  the network acl exists or returns False if it
85064              doesn't exist.
85065
85066              CLI Example:
85067
85068                 salt myminion boto_vpc.network_acl_exists network_acl_id='acl-5fb85d36'
85069
85070       salt.modules.boto_vpc.peering_connection_pending_from_vpc(conn_id=None,
85071       conn_name=None,   vpc_id=None,  vpc_name=None,  region=None,  key=None,
85072       keyid=None, profile=None)
85073              Check if a VPC peering connection is in the pending  state,  and
85074              requested from the given VPC.
85075
85076              New in version 2016.11.0.
85077
85078
85079              conn_id
85080                     The connection ID to check.  Exclusive with conn_name.
85081
85082              conn_name
85083                     The connection name to check.  Exclusive with conn_id.
85084
85085              vpc_id Is  this  the  ID  of the requesting VPC for this peering
85086                     connection.  Exclusive with vpc_name.
85087
85088              vpc_name
85089                     Is this the Name of the requesting VPC for  this  peering
85090                     connection.  Exclusive with vpc_id.
85091
85092              region Region to connect to.
85093
85094              key    Secret key to be used.
85095
85096              keyid  Access key to be used.
85097
85098              profile
85099                     A  dict  with  region,  key  and  keyid,  or a pillar key
85100                     (string) that contains a dict with region, key and keyid.
85101
85102              CLI Example:
85103
85104                 salt myminion boto_vpc.is_peering_connection_pending name=salt-vpc
85105
85106       salt.modules.boto_vpc.replace_network_acl_entry(network_acl_id=None,
85107       rule_number=None,   protocol=None,  rule_action=None,  cidr_block=None,
85108       egress=None,  network_acl_name=None,  icmp_code=None,   icmp_type=None,
85109       port_range_from=None,    port_range_to=None,   region=None,   key=None,
85110       keyid=None, profile=None)
85111              Replaces a network acl entry.
85112
85113              CLI Example:
85114
85115                 salt myminion boto_vpc.replace_network_acl_entry 'acl-5fb85d36' '32767' \
85116                         'all' 'deny' '0.0.0.0/0' egress=true
85117
85118       salt.modules.boto_vpc.replace_route(route_table_id=None,       destina‐
85119       tion_cidr_block=None,      route_table_name=None,      gateway_id=None,
85120       instance_id=None, interface_id=None, region=None, key=None, keyid=None,
85121       profile=None, vpc_peering_connection_id=None)
85122              Replaces a route.
85123
85124              CLI Example:
85125
85126                 salt myminion boto_vpc.replace_route 'rtb-1f382e7d' '10.0.0.0/16' gateway_id='vgw-a1b2c3'
85127
85128       salt.modules.boto_vpc.replace_route_table_association(association_id,
85129       route_table_id, region=None, key=None, keyid=None, profile=None)
85130              Replaces a route table association.
85131
85132              CLI Example:
85133
85134                 salt myminion boto_vpc.replace_route_table_association 'rtbassoc-d8ccddba' 'rtb-1f382e7d'
85135
85136       salt.modules.boto_vpc.request_vpc_peering_connec‐
85137       tion(requester_vpc_id=None,  requester_vpc_name=None, peer_vpc_id=None,
85138       peer_vpc_name=None,   name=None,    peer_owner_id=None,    region=None,
85139       key=None, keyid=None, profile=None, dry_run=False)
85140              Request a VPC peering connection between two VPCs.
85141
85142              New in version 2016.11.0.
85143
85144
85145              requester_vpc_id
85146                     ID    of    the    requesting    VPC.    Exclusive   with
85147                     requester_vpc_name.
85148
85149              requester_vpc_name
85150                     Name  tag  of  the  requesting   VPC.    Exclusive   with
85151                     requester_vpc_id.
85152
85153              peer_vpc_id
85154                     ID of the VPC to create VPC peering connection with. This
85155                     can  be  a  VPC  in  another  account.   Exclusive   with
85156                     peer_vpc_name.
85157
85158              peer_vpc_name
85159                     Name  tag  of  the  VPC  to create VPC peering connection
85160                     with. This can only be a VPC in the  same  account,  else
85161                     resolving  it  into  a vpc ID will almost certainly fail.
85162                     Exclusive with peer_vpc_id.
85163
85164              name   The name to use for this VPC peering connection.
85165
85166              peer_owner_id
85167                     ID of the owner of the peer VPC. Defaults to your account
85168                     ID,  so  a  value  is required if peering with a VPC in a
85169                     different account.
85170
85171              region Region to connect to.
85172
85173              key    Secret key to be used.
85174
85175              keyid  Access key to be used.
85176
85177              profile
85178                     A dict with region,  key  and  keyid,  or  a  pillar  key
85179                     (string) that contains a dict with region, key and keyid.
85180
85181              dry_run
85182                     If True, skip application and return status.
85183
85184              CLI Example:
85185
85186                 # Create a named VPC peering connection
85187                 salt myminion boto_vpc.request_vpc_peering_connection vpc-4a3e622e vpc-be82e9da name=my_vpc_connection
85188                 # Without a name
85189                 salt myminion boto_vpc.request_vpc_peering_connection vpc-4a3e622e vpc-be82e9da
85190                 # Specify a region
85191                 salt myminion boto_vpc.request_vpc_peering_connection vpc-4a3e622e vpc-be82e9da region=us-west-2
85192
85193       salt.modules.boto_vpc.resource_exists(resource,              name=None,
85194       resource_id=None, tags=None, region=None,  key=None,  keyid=None,  pro‐
85195       file=None)
85196              Given  a  resource  type  and  name, return {exists: true} if it
85197              exists, {exists: false} if it does not exist, or  {error:  {mes‐
85198              sage: error text} on error.
85199
85200              New in version 2015.8.0.
85201
85202
85203              CLI Example:
85204
85205                 salt myminion boto_vpc.resource_exists internet_gateway myigw
85206
85207       salt.modules.boto_vpc.route_exists(destination_cidr_block,    route_ta‐
85208       ble_name=None, route_table_id=None, gateway_id=None,  instance_id=None,
85209       interface_id=None,  tags=None,  region=None, key=None, keyid=None, pro‐
85210       file=None, vpc_peering_connection_id=None)
85211              Checks if a route exists.
85212
85213              New in version 2015.8.0.
85214
85215
85216              CLI Example:
85217
85218                 salt myminion boto_vpc.route_exists destination_cidr_block='10.0.0.0/20' gateway_id='local' route_table_name='test'
85219
85220       salt.modules.boto_vpc.route_table_exists(route_table_id=None,
85221       name=None,  route_table_name=None,  tags=None,  region=None,  key=None,
85222       keyid=None, profile=None)
85223              Checks if a route table exists.
85224
85225              CLI Example:
85226
85227                 salt myminion boto_vpc.route_table_exists route_table_id='rtb-1f382e7d'
85228
85229       salt.modules.boto_vpc.subnet_exists(subnet_id=None,   name=None,   sub‐
85230       net_name=None, cidr=None, tags=None, zones=None, region=None, key=None,
85231       keyid=None, profile=None)
85232              Check if a subnet exists.
85233
85234              Returns True if the subnet exists, otherwise returns False.
85235
85236              Changed in version 2015.8.0: Added subnet_name  argument  Depre‐
85237              cated name argument
85238
85239
85240              CLI Example:
85241
85242                 salt myminion boto_vpc.subnet_exists subnet_id='subnet-6a1fe403'
85243
85244   salt.modules.bower
85245   Manage and query Bower packages
85246       This module manages the installed packages using Bower.  Note that npm,
85247       git and bower must be installed for this module to be available.
85248
85249       salt.modules.bower.install(pkg, dir, pkgs=None, runas=None, env=None)
85250              Install a Bower package.
85251
85252              If no package is specified, the dependencies  (from  bower.json)
85253              of the package in the given directory will be installed.
85254
85255              pkg    A package name in any format accepted by Bower, including
85256                     a version identifier
85257
85258              dir    The target directory in which to install the package
85259
85260              pkgs   A list of package names in the same  format  as  the  pkg
85261                     parameter
85262
85263              runas  The user to run Bower with
85264
85265              env    Environment  variables  to  set when invoking Bower. Uses
85266                     the same env format as the cmd.run execution function.
85267
85268              CLI Example:
85269
85270                 salt '*' bower.install underscore /path/to/project
85271
85272                 salt '*' bower.install jquery#2.0 /path/to/project
85273
85274       salt.modules.bower.list_(dir, runas=None, env=None)
85275              List installed Bower packages.
85276
85277              dir    The directory whose packages will be listed
85278
85279              runas  The user to run Bower with
85280
85281              env    Environment variables to set when  invoking  Bower.  Uses
85282                     the same env format as the cmd.run execution function.
85283
85284              CLI Example:
85285
85286                 salt '*' bower.list /path/to/project
85287
85288       salt.modules.bower.prune(dir, runas=None, env=None)
85289              New in version 2017.7.0.
85290
85291
85292              Remove  extraneous  local  Bower packages, i.e. those not refer‐
85293              enced in bower.json
85294
85295              dir    The directory whose packages will be pruned
85296
85297              runas  The user to run Bower with
85298
85299              env    Environment variables to set when  invoking  Bower.  Uses
85300                     the same env format as the cmd.run execution function.
85301
85302              CLI Example:
85303
85304                 salt '*' bower.prune /path/to/project
85305
85306       salt.modules.bower.uninstall(pkg, dir, runas=None, env=None)
85307              Uninstall a Bower package.
85308
85309              pkg    A package name in any format accepted by Bower
85310
85311              dir    The target directory from which to uninstall the package
85312
85313              runas  The user to run Bower with
85314
85315              env    Environment  variables  to  set when invoking Bower. Uses
85316                     the same env format as the cmd.run execution function.
85317
85318              CLI Example:
85319
85320                 salt '*' bower.uninstall underscore /path/to/project
85321
85322   salt.modules.bridge
85323       Module for gathering and managing bridging information
85324
85325       salt.modules.bridge.add(br=None)
85326              Creates a bridge
85327
85328              CLI Example:
85329
85330                 salt '*' bridge.add br0
85331
85332       salt.modules.bridge.addif(br=None, iface=None)
85333              Adds an interface to a bridge
85334
85335              CLI Example:
85336
85337                 salt '*' bridge.addif br0 eth0
85338
85339       salt.modules.bridge.delete(br=None)
85340              Deletes a bridge
85341
85342              CLI Example:
85343
85344                 salt '*' bridge.delete br0
85345
85346       salt.modules.bridge.delif(br=None, iface=None)
85347              Removes an interface from a bridge
85348
85349              CLI Example:
85350
85351                 salt '*' bridge.delif br0 eth0
85352
85353       salt.modules.bridge.find_interfaces(*args)
85354              Returns the bridge to which the interfaces are bond to
85355
85356              CLI Example:
85357
85358                 salt '*' bridge.find_interfaces eth0 [eth1...]
85359
85360       salt.modules.bridge.interfaces(br=None)
85361              Returns interfaces attached to a bridge
85362
85363              CLI Example:
85364
85365                 salt '*' bridge.interfaces br0
85366
85367       salt.modules.bridge.list_()
85368              Returns the machine's bridges list
85369
85370              CLI Example:
85371
85372                 salt '*' bridge.list
85373
85374       salt.modules.bridge.show(br=None)
85375              Returns bridges interfaces along with enslaved  physical  inter‐
85376              faces.  If  no  interface  is given, all bridges are shown, else
85377              only the specified bridge values are returned.
85378
85379              CLI Example:
85380
85381                 salt '*' bridge.show
85382                 salt '*' bridge.show br0
85383
85384       salt.modules.bridge.stp(br=None, state=u'disable', iface=None)
85385              Sets Spanning Tree Protocol state for a bridge
85386
85387              CLI Example:
85388
85389                 salt '*' bridge.stp br0 enable
85390                 salt '*' bridge.stp br0 disable
85391
85392              For BSD-like operating systems, it is required to add the inter‐
85393              face on which to enable the STP.
85394
85395              CLI Example:
85396
85397                 salt '*' bridge.stp bridge0 enable fxp0
85398                 salt '*' bridge.stp bridge0 disable fxp0
85399
85400   salt.modules.bsd_shadow
85401       Manage the password database on BSD systems
85402
85403       IMPORTANT:
85404          If  you  feel  that Salt should be using this module to manage pass‐
85405          words on a minion, and it is using a different module (or  gives  an
85406          error similar to 'shadow.info' is not available), see here.
85407
85408       salt.modules.bsd_shadow.default_hash()
85409              Returns the default hash used for unset passwords
85410
85411              CLI Example:
85412
85413                 salt '*' shadow.default_hash
85414
85415       salt.modules.bsd_shadow.del_password(name)
85416              New in version 2015.8.2.
85417
85418
85419              Delete the password from name user
85420
85421              CLI Example:
85422
85423                 salt '*' shadow.del_password username
85424
85425       salt.modules.bsd_shadow.info(name)
85426              Return information for the specified user
85427
85428              CLI Example:
85429
85430                 salt '*' shadow.info someuser
85431
85432       salt.modules.bsd_shadow.set_change(name, change)
85433              Sets  the  time  at which the password expires (in seconds since
85434              the UNIX epoch). See man 8 usermod on NetBSD and OpenBSD or  man
85435              8 pw on FreeBSD.
85436
85437              A value of 0 sets the password to never expire.
85438
85439              CLI Example:
85440
85441                 salt '*' shadow.set_change username 1419980400
85442
85443       salt.modules.bsd_shadow.set_expire(name, expire)
85444              Sets the time at which the account expires (in seconds since the
85445              UNIX epoch). See man 8 usermod on NetBSD and OpenBSD or man 8 pw
85446              on FreeBSD.
85447
85448              A value of 0 sets the account to never expire.
85449
85450              CLI Example:
85451
85452                 salt '*' shadow.set_expire username 1419980400
85453
85454       salt.modules.bsd_shadow.set_password(name, password)
85455              Set  the password for a named user. The password must be a prop‐
85456              erly defined hash. The password hash can be generated with  this
85457              command:
85458
85459              python  -c  "import crypt; print crypt.crypt('password', cipher‐
85460              salt)"
85461
85462              NOTE:
85463                 When constructing the ciphersalt string, you must escape  any
85464                 dollar signs, to avoid them being interpolated by the shell.
85465
85466              'password'  is,  of  course,  the password for which you want to
85467              generate a hash.
85468
85469              ciphersalt is a combination of a cipher identifier, an  optional
85470              number  of  rounds,  and the cryptographic salt. The arrangement
85471              and format of these fields depends on the cipher and which  fla‐
85472              vor  of BSD you are using. For more information on this, see the
85473              manpage for  crpyt(3).  On  NetBSD,  additional  information  is
85474              available in passwd.conf(5).
85475
85476              It is important to make sure that a supported cipher is used.
85477
85478              CLI Example:
85479
85480                 salt '*' shadow.set_password someuser '$1$UYCIxa628.9qXjpQCjM4a..'
85481
85482   salt.modules.btrfs
85483       Module for managing BTRFS file systems.
85484
85485       salt.modules.btrfs.add(mountpoint, *devices, **kwargs)
85486              Add a devices to a BTRFS filesystem.
85487
85488              General options:
85489
85490              · nodiscard: Do not perform whole device TRIM
85491
85492              · force: Force overwrite existing filesystem on the disk
85493
85494              CLI Example:
85495
85496                 salt '*' btrfs.add /mountpoint /dev/sda1 /dev/sda2
85497
85498       salt.modules.btrfs.convert(device, permanent=False, keeplf=False)
85499              Convert ext2/3/4 to BTRFS. Device should be mounted.
85500
85501              Filesystem  can be converted temporarily so the further process‐
85502              ing and rollback is possible,  or  permanently,  where  previous
85503              extended  filesystem  image gets deleted. Please note, permanent
85504              conversion takes a while as BTRFS filesystem needs to  be  prop‐
85505              erly rebalanced afterwards.
85506
85507              General options:
85508
85509              · permanent: Specify if the migration should be permanent (false
85510                by default)
85511
85512              ·
85513
85514                keeplf: Keep lost+found of the partition (removed by default,
85515                       but still in the image, if not permanent migration)
85516
85517              CLI Example:
85518
85519                 salt '*' btrfs.convert /dev/sda1
85520                 salt '*' btrfs.convert /dev/sda1 permanent=True
85521
85522       salt.modules.btrfs.defragment(path)
85523              Defragment mounted BTRFS filesystem.  In order to  defragment  a
85524              filesystem, device should be properly mounted and writable.
85525
85526              If  passed  a  device  name, then defragmented whole filesystem,
85527              mounted on in.  If passed a moun tpoint of the filesystem,  then
85528              only this mount point is defragmented.
85529
85530              CLI Example:
85531
85532                 salt '*' btrfs.defragment /dev/sda1
85533                 salt '*' btrfs.defragment /path/on/filesystem
85534
85535       salt.modules.btrfs.delete(mountpoint, *devices, **kwargs)
85536              Remove devices from a BTRFS filesystem.
85537
85538              CLI Example:
85539
85540                 salt '*' btrfs.delete /mountpoint /dev/sda1 /dev/sda2
85541
85542       salt.modules.btrfs.devices()
85543              Get known BTRFS formatted devices on the system.
85544
85545              CLI Example:
85546
85547                 salt '*' btrfs.devices
85548
85549       salt.modules.btrfs.features()
85550              List currently available BTRFS features.
85551
85552              CLI Example:
85553
85554                 salt '*' btrfs.mkfs_features
85555
85556       salt.modules.btrfs.info(device)
85557              Get BTRFS filesystem information.
85558
85559              CLI Example:
85560
85561                 salt '*' btrfs.info /dev/sda1
85562
85563       salt.modules.btrfs.mkfs(*devices, **kwargs)
85564              Create  a  file system on the specified device. By default wipes
85565              out with force.
85566
85567              General options:
85568
85569              · allocsize: Specify the BTRFS offset  from  the  start  of  the
85570                device.
85571
85572              · bytecount: Specify the size of the resultant filesystem.
85573
85574              · nodesize: Node size.
85575
85576              · leafsize:  Specify  the nodesize, the tree block size in which
85577                btrfs stores data.
85578
85579              · noforce: Prevent force overwrite when an  existing  filesystem
85580                is detected on the device.
85581
85582              · sectorsize:  Specify  the  sectorsize,  the minimum data block
85583                allocation unit.
85584
85585              · nodiscard: Do not  perform  whole  device  TRIM  operation  by
85586                default.
85587
85588              · uuid: Pass UUID or pass True to generate one.
85589
85590              Options:
85591
85592              ·
85593
85594                dto: (raid0|raid1|raid5|raid6|raid10|single|dup)
85595                       Specify how the data must be spanned across the devices
85596                       specified.
85597
85598              ·
85599
85600                mto: (raid0|raid1|raid5|raid6|raid10|single|dup)
85601                       Specify how metadata must be spanned across the devices
85602                       specified.
85603
85604              · fts:  Features  (call salt <host> btrfs.features for full list
85605                of available features)
85606
85607              See the mkfs.btrfs(8) manpage for a more complete description of
85608              corresponding options description.
85609
85610              CLI Example:
85611
85612                 salt '*' btrfs.mkfs /dev/sda1
85613                 salt '*' btrfs.mkfs /dev/sda1 noforce=True
85614
85615       salt.modules.btrfs.properties(obj, type=None, set=None)
85616              List  properties  for given btrfs object. The object can be path
85617              of BTRFS device, mount point, or  any  directories/files  inside
85618              the BTRFS filesystem.
85619
85620              General options:
85621
85622              · type:  Possible  types are s[ubvol], f[ilesystem], i[node] and
85623                d[evice].
85624
85625              · force: Force overwrite existing filesystem on the disk
85626
85627              · set: <key=value,key1=value1...> Options for a filesystem prop‐
85628                erties.
85629
85630              CLI Example:
85631
85632                 salt '*' btrfs.properties /mountpoint
85633                 salt '*' btrfs.properties /dev/sda1 type=subvol set='ro=false,label="My Storage"'
85634
85635       salt.modules.btrfs.resize(mountpoint, size)
85636              Resize filesystem.
85637
85638              General options:
85639
85640              · mountpoint: Specify the BTRFS mountpoint to resize.
85641
85642              · size:  ([+/-]<newsize>[kKmMgGtTpPeE]|max) Specify the new size
85643                of the target.
85644
85645              CLI Example:
85646
85647                 salt '*' btrfs.resize /mountpoint size=+1g
85648                 salt '*' btrfs.resize /dev/sda1 size=max
85649
85650       salt.modules.btrfs.usage(path)
85651              Show in which disk the chunks are allocated.
85652
85653              CLI Example:
85654
85655                 salt '*' btrfs.usage /your/mountpoint
85656
85657       salt.modules.btrfs.version()
85658              Return BTRFS version.
85659
85660              CLI Example:
85661
85662                 salt '*' btrfs.version
85663
85664   salt.modules.cabal
85665   Manage and query Cabal packages
85666       New in version 2015.8.0.
85667
85668
85669       salt.modules.cabal.install(pkg=None,       pkgs=None,        user=None,
85670       install_global=False, env=None)
85671              Install a cabal package.
85672
85673              pkg    A  package name in format accepted by cabal-install. See:
85674                     https://wiki.haskell.org/Cabal-Install
85675
85676              pkgs   A list of packages names in same format as pkg
85677
85678              user   The user to run cabal install with
85679
85680              install_global
85681                     Install package globally instead of locally
85682
85683              env    Environment variables to set when  invoking  cabal.  Uses
85684                     the same env format as the cmd.run execution function
85685
85686              CLI Example:
85687
85688                 salt '*' cabal.install shellcheck
85689                 salt '*' cabal.install shellcheck-0.3.5
85690
85691       salt.modules.cabal.list_(pkg=None,      user=None,     installed=False,
85692       env=None)
85693              List packages matching a search string.
85694
85695              pkg    Search string for matching package names
85696
85697              user   The user to run cabal list with
85698
85699              installed
85700                     If True, only return installed packages.
85701
85702              env    Environment variables to set when  invoking  cabal.  Uses
85703                     the same env format as the cmd.run execution function
85704
85705              CLI example:
85706
85707                 salt '*' cabal.list
85708                 salt '*' cabal.list ShellCheck
85709
85710       salt.modules.cabal.uninstall(pkg, user=None, env=None)
85711              Uninstall a cabal package.
85712
85713              pkg    The package to uninstall
85714
85715              user   The user to run ghc-pkg unregister with
85716
85717              env    Environment  variables  to  set when invoking cabal. Uses
85718                     the same env format as the cmd.run execution function
85719
85720              CLI Example:
85721
85722                 salt '*' cabal.uninstall ShellCheck
85723
85724       salt.modules.cabal.update(user=None, env=None)
85725              Updates list of known packages.
85726
85727              user   The user to run cabal update with
85728
85729              env    Environment variables to set when  invoking  cabal.  Uses
85730                     the same env format as the cmd.run execution function.
85731
85732              CLI Example:
85733
85734                 salt '*' cabal.update
85735
85736   salt.modules.capirca_acl module
85737   Capirca ACL
85738       Generate ACL (firewall) configuration for network devices.
85739
85740       New in version 2017.7.0.
85741
85742
85743       codeauthor
85744              Mircea   Ulinic   <mircea@cloudflare.com>  &  Robert  Ankeny  <‐
85745              robankeny@google.com>
85746
85747       maturity
85748              new
85749
85750       depends
85751              capirca
85752
85753       platform
85754              unix
85755
85756   Dependencies
85757       The firewall configuration is generated by Capirca.
85758
85759       Capirca is not yet available on PyPI threrefore it has to be  installed
85760       directly         form         Git:         pip        install        -e
85761       git+git@github.com:google/capirca.git#egg=aclgen.
85762
85763       salt.modules.capirca_acl.get_filter_config(platform, filter_name,  fil‐
85764       ter_options=None,  terms=None,  prepend=True,  pillar_key=u'acl',  pil‐
85765       larenv=None, saltenv=None,  merge_pillar=True,  only_lower_merge=False,
85766       revision_id=None,     revision_no=None,    revision_date=True,    revi‐
85767       sion_date_format=u'%Y/%m/%d')
85768              Return the configuration of a policy filter.
85769
85770              platform
85771                     The name of the Capirca platform.
85772
85773              filter_name
85774                     The name of the policy filter.
85775
85776              filter_options
85777                     Additional  filter  options.  These  options  are   plat‐
85778                     form-specific.  See the complete list of options.
85779
85780              terms  List  of  terms for this policy filter.  If not specified
85781                     or empty, will try to load  the  configuration  from  the
85782                     pillar, unless merge_pillar is set as False.
85783
85784              prepend: True
85785                     When merge_pillar is set as True, the final list of terms
85786                     generated by merging the  terms  from  terms  with  those
85787                     defined  in  the pillar (if any): new terms are prepended
85788                     at the beginning, while existing ones will  preserve  the
85789                     position.  To  add  the new terms at the end of the list,
85790                     set this argument to False.
85791
85792              pillar_key: acl
85793                     The key in the pillar containing the  default  attributes
85794                     values. Default: acl.
85795
85796              pillarenv
85797                     Query  the  master  to  generate fresh pillar data on the
85798                     fly, specifically from the requested pillar environment.
85799
85800              saltenv
85801                     Included    only    for    compatibility    with     pil‐
85802                     larenv_from_saltenv, and is otherwise ignored.
85803
85804              merge_pillar: True
85805                     Merge the CLI variables with the pillar. Default: True.
85806
85807              only_lower_merge: False
85808                     Specify  if it should merge only the terms fields. Other‐
85809                     wise it will try to merge also filters  fields.  Default:
85810                     False.
85811
85812              revision_id
85813                     Add a comment in the filter config having the description
85814                     for the changes applied.
85815
85816              revision_no
85817                     The revision count.
85818
85819              revision_date: True
85820                     Boolean flag: display the date when the filter configura‐
85821                     tion was generated. Default: True.
85822
85823              revision_date_format: %Y/%m/%d
85824                     The  date  format to be used when generating the perforce
85825                     data. Default: %Y/%m/%d (<year>/<month>/<day>).
85826
85827              CLI Example:
85828
85829                 salt '*' capirca.get_filter_config ciscoxr my-filter pillar_key=netacl
85830
85831              Output Example:
85832
85833                 ! $Id:$
85834                 ! $Date:$
85835                 ! $Revision:$
85836                 no ipv4 access-list my-filter
85837                 ipv4 access-list my-filter
85838                  remark $Id:$
85839                  remark my-term
85840                  deny ipv4 any eq 1234 any
85841                  deny ipv4 any eq 1235 any
85842                  remark my-other-term
85843                  permit tcp any range 5678 5680 any
85844                 exit
85845
85846              The filter configuration has been loaded from the pillar, having
85847              the following structure:
85848
85849                 netacl:
85850                   - my-filter:
85851                       terms:
85852                         - my-term:
85853                             source_port: [1234, 1235]
85854                             action: reject
85855                         - my-other-term:
85856                             source_port:
85857                               - [5678, 5680]
85858                             protocol: tcp
85859                             action: accept
85860
85861       salt.modules.capirca_acl.get_filter_pillar(filter_name,            pil‐
85862       lar_key=u'acl', pillarenv=None, saltenv=None)
85863              Helper that can be used inside a state SLS, in order to get  the
85864              filter configuration given its name.
85865
85866              filter_name
85867                     The name of the filter.
85868
85869              pillar_key
85870                     The root key of the whole policy config.
85871
85872              pillarenv
85873                     Query  the  master  to  generate fresh pillar data on the
85874                     fly, specifically from the requested pillar environment.
85875
85876              saltenv
85877                     Included    only    for    compatibility    with     pil‐
85878                     larenv_from_saltenv, and is otherwise ignored.
85879
85880       salt.modules.capirca_acl.get_policy_config(platform,      filters=None,
85881       prepend=True,    pillar_key=u'acl',    pillarenv=None,    saltenv=None,
85882       merge_pillar=True,   only_lower_merge=False,   revision_id=None,  revi‐
85883       sion_no=None, revision_date=True, revision_date_format=u'%Y/%m/%d')
85884              Return the configuration of the whole policy.
85885
85886              platform
85887                     The name of the Capirca platform.
85888
85889              filters
85890                     List of filters for this policy.   If  not  specified  or
85891                     empty,  will  try to load the configuration from the pil‐
85892                     lar, unless merge_pillar is set as False.
85893
85894              prepend: True
85895                     When merge_pillar is set as True, the final list of  fil‐
85896                     ters  generated  by merging the filters from filters with
85897                     those defined in the pillar (if  any):  new  filters  are
85898                     prepended at the beginning, while existing ones will pre‐
85899                     serve the position. To add the new filters at the end  of
85900                     the list, set this argument to False.
85901
85902              pillar_key: acl
85903                     The  key  in the pillar containing the default attributes
85904                     values. Default: acl.
85905
85906              pillarenv
85907                     Query the master to generate fresh  pillar  data  on  the
85908                     fly, specifically from the requested pillar environment.
85909
85910              saltenv
85911                     Included     only    for    compatibility    with    pil‐
85912                     larenv_from_saltenv, and is otherwise ignored.
85913
85914              merge_pillar: True
85915                     Merge the CLI variables with the pillar. Default: True.
85916
85917              only_lower_merge: False
85918                     Specify if it should merge only  the  filters  and  terms
85919                     fields.  Otherwise it will try to merge everything at the
85920                     policy level. Default: False.
85921
85922              revision_id
85923                     Add a comment in the policy config having the description
85924                     for the changes applied.
85925
85926              revision_no
85927                     The revision count.
85928
85929              revision_date: True
85930                     Boolean flag: display the date when the policy configura‐
85931                     tion was generated. Default: True.
85932
85933              revision_date_format: %Y/%m/%d
85934                     The date format to be used when generating  the  perforce
85935                     data. Default: %Y/%m/%d (<year>/<month>/<day>).
85936
85937              CLI Example:
85938
85939                 salt '*' capirca.get_policy_config juniper pillar_key=netacl
85940
85941              Output Example:
85942
85943                 firewall {
85944                     family inet {
85945                         replace:
85946                         /*
85947                         ** $Id:$
85948                         ** $Date:$
85949                         ** $Revision:$
85950                         **
85951                         */
85952                         filter my-filter {
85953                             term my-term {
85954                                 from {
85955                                     source-port [ 1234 1235 ];
85956                                 }
85957                                 then {
85958                                     reject;
85959                                 }
85960                             }
85961                             term my-other-term {
85962                                 from {
85963                                     protocol tcp;
85964                                     source-port 5678-5680;
85965                                 }
85966                                 then accept;
85967                             }
85968                         }
85969                     }
85970                 }
85971                 firewall {
85972                     family inet {
85973                         replace:
85974                         /*
85975                         ** $Id:$
85976                         ** $Date:$
85977                         ** $Revision:$
85978                         **
85979                         */
85980                         filter my-other-filter {
85981                             interface-specific;
85982                             term dummy-term {
85983                                 from {
85984                                     protocol [ tcp udp ];
85985                                 }
85986                                 then {
85987                                     reject;
85988                                 }
85989                             }
85990                         }
85991                     }
85992                 }
85993
85994              The policy configuration has been loaded from the pillar, having
85995              the following structure:
85996
85997                 netacl:
85998                   - my-filter:
85999                       options:
86000                         - not-interface-specific
86001                       terms:
86002                         - my-term:
86003                             source_port: [1234, 1235]
86004                             action: reject
86005                         - my-other-term:
86006                             source_port:
86007                               - [5678, 5680]
86008                             protocol: tcp
86009                             action: accept
86010                   - my-other-filter:
86011                       terms:
86012                         - dummy-term:
86013                             protocol:
86014                               - tcp
86015                               - udp
86016                             action: reject
86017
86018       salt.modules.capirca_acl.get_term_config(platform,         filter_name,
86019       term_name,   filter_options=None,   pillar_key=u'acl',  pillarenv=None,
86020       saltenv=None,  merge_pillar=True,  revision_id=None,  revision_no=None,
86021       revision_date=True,    revision_date_format=u'%Y/%m/%d',    source_ser‐
86022       vice=None, destination_service=None, **term_fields)
86023              Return the configuration of a single policy term.
86024
86025              platform
86026                     The name of the Capirca platform.
86027
86028              filter_name
86029                     The name of the policy filter.
86030
86031              term_name
86032                     The name of the term.
86033
86034              filter_options
86035                     Additional  filter  options.  These  options  are   plat‐
86036                     form-specific.   E.g.:  inet6,  bridge, object-group, See
86037                     the complete list of options.
86038
86039              pillar_key: acl
86040                     The key in the pillar containing the  default  attributes
86041                     values. Default: acl.  If the pillar contains the follow‐
86042                     ing structure:
86043
86044                        firewall:
86045                          - my-filter:
86046                              terms:
86047                                - my-term:
86048                                    source_port: 1234
86049                                    source_address:
86050                                        - 1.2.3.4/32
86051                                        - 5.6.7.8/32
86052
86053                     The pillar_key field would be specified as firewall.
86054
86055              pillarenv
86056                     Query the master to generate fresh  pillar  data  on  the
86057                     fly, specifically from the requested pillar environment.
86058
86059              saltenv
86060                     Included     only    for    compatibility    with    pil‐
86061                     larenv_from_saltenv, and is otherwise ignored.
86062
86063              merge_pillar: True
86064                     Merge the CLI variables with the pillar. Default: True.
86065
86066              revision_id
86067                     Add a comment in the term config having  the  description
86068                     for the changes applied.
86069
86070              revision_no
86071                     The revision count.
86072
86073              revision_date: True
86074                     Boolean  flag:  display the date when the term configura‐
86075                     tion was generated. Default: True.
86076
86077              revision_date_format: %Y/%m/%d
86078                     The date format to be used when generating  the  perforce
86079                     data. Default: %Y/%m/%d (<year>/<month>/<day>).
86080
86081              source_service
86082                     A special service to choose from. This is a helper so the
86083                     user is able to select a  source  just  using  the  name,
86084                     instead of specifying a source_port and protocol.
86085
86086                     As  this  module  is available on Unix platforms only, it
86087                     reads the IANA port assignment from /etc/services.
86088
86089                     If the user requires additional shortcuts  to  be  refer‐
86090                     enced,  they  can  add entries under /etc/services, which
86091                     can be managed using the file state.
86092
86093              destination_service
86094                     A special service to choose from. This is a helper so the
86095                     user  is  able  to  select  a source just using the name,
86096                     instead of specifying a  destination_port  and  protocol.
86097                     Allows the same options as source_service.
86098
86099              term_fields
86100                     Term  attributes.   To  see  what  fields  are supported,
86101                     please consult the  list  of  supported  keywords.   Some
86102                     platforms have few other optional keywords.
86103
86104              NOTE:
86105                 The following fields are accepted:
86106
86107                 · action
86108
86109                 · address
86110
86111                 · address_exclude
86112
86113                 · comment
86114
86115                 · counter
86116
86117                 · expiration
86118
86119                 · destination_address
86120
86121                 · destination_address_exclude
86122
86123                 · destination_port
86124
86125                 · destination_prefix
86126
86127                 · forwarding_class
86128
86129                 · forwarding_class_except
86130
86131                 · logging
86132
86133                 · log_name
86134
86135                 · loss_priority
86136
86137                 · option
86138
86139                 · policer
86140
86141                 · port
86142
86143                 · precedence
86144
86145                 · principals
86146
86147                 · protocol
86148
86149                 · protocol_except
86150
86151                 · qos
86152
86153                 · pan_application
86154
86155                 · routing_instance
86156
86157                 · source_address
86158
86159                 · source_address_exclude
86160
86161                 · source_port
86162
86163                 · source_prefix
86164
86165                 · verbatim
86166
86167                 · packet_length
86168
86169                 · fragment_offset
86170
86171                 · hop_limit
86172
86173                 · icmp_type
86174
86175                 · ether_type
86176
86177                 · traffic_class_count
86178
86179                 · traffic_type
86180
86181                 · translated
86182
86183                 · dscp_set
86184
86185                 · dscp_match
86186
86187                 · dscp_except
86188
86189                 · next_ip
86190
86191                 · flexible_match_range
86192
86193                 · source_prefix_except
86194
86195                 · destination_prefix_except
86196
86197                 · vpn
86198
86199                 · source_tag
86200
86201                 · destination_tag
86202
86203                 · source_interface
86204
86205                 · destination_interface
86206
86207                 · flattened
86208
86209                 · flattened_addr
86210
86211                 · flattened_saddr
86212
86213                 · flattened_daddr
86214
86215                 · priority
86216
86217              NOTE:
86218                 The following fields can be also a single value and a list of
86219                 values:
86220
86221                 · action
86222
86223                 · address
86224
86225                 · address_exclude
86226
86227                 · comment
86228
86229                 · destination_address
86230
86231                 · destination_address_exclude
86232
86233                 · destination_port
86234
86235                 · destination_prefix
86236
86237                 · forwarding_class
86238
86239                 · forwarding_class_except
86240
86241                 · logging
86242
86243                 · option
86244
86245                 · port
86246
86247                 · precedence
86248
86249                 · principals
86250
86251                 · protocol
86252
86253                 · protocol_except
86254
86255                 · pan_application
86256
86257                 · source_address
86258
86259                 · source_address_exclude
86260
86261                 · source_port
86262
86263                 · source_prefix
86264
86265                 · verbatim
86266
86267                 · icmp_type
86268
86269                 · ether_type
86270
86271                 · traffic_type
86272
86273                 · dscp_match
86274
86275                 · dscp_except
86276
86277                 · flexible_match_range
86278
86279                 · source_prefix_except
86280
86281                 · destination_prefix_except
86282
86283                 · source_tag
86284
86285                 · destination_tag
86286
86287                 · source_service
86288
86289                 · destination_service
86290
86291                 Example: destination_address can be either defined as:
86292
86293                     destination_address: 172.17.17.1/24
86294
86295                 or as a list of destination IP addresses:
86296
86297                     destination_address:
86298                         - 172.17.17.1/24
86299                         - 172.17.19.1/24
86300
86301                 or a list of services to be matched:
86302
86303                     source_service:
86304                         - ntp
86305                         - snmp
86306                         - ldap
86307                         - bgpd
86308
86309              NOTE:
86310                 The port fields source_port and destination_port can be  used
86311                 as  above  to  select either a single value, either a list of
86312                 values, but also they can select port ranges. Example:
86313
86314                     source_port:
86315                         - [1000, 2000]
86316                         - [3000, 4000]
86317
86318                 With the configuration above, the user is able to select  the
86319                 1000-2000 and 3000-4000 source port ranges.
86320
86321              CLI Example:
86322
86323                 salt '*' capirca.get_term_config arista filter-name term-name source_address=1.2.3.4 destination_address=5.6.7.8 action=accept
86324
86325              Output Example:
86326
86327                 ! $Date: 2017/03/22 $
86328                 no ip access-list filter-name
86329                 ip access-list filter-name
86330                  remark term-name
86331                  permit ip host 1.2.3.4 host 5.6.7.8
86332                 exit
86333
86334       salt.modules.capirca_acl.get_term_pillar(filter_name,  term_name,  pil‐
86335       lar_key=u'acl', pillarenv=None, saltenv=None)
86336              Helper that can be used inside a state SLS, in order to get  the
86337              term  configuration  given  its  name,  under  a  certain filter
86338              uniquely identified by its name.
86339
86340              filter_name
86341                     The name of the filter.
86342
86343              term_name
86344                     The name of the term.
86345
86346              pillar_key: acl
86347                     The root key of the whole policy config. Default: acl.
86348
86349              pillarenv
86350                     Query the master to generate fresh  pillar  data  on  the
86351                     fly, specifically from the requested pillar environment.
86352
86353              saltenv
86354                     Included     only    for    compatibility    with    pil‐
86355                     larenv_from_saltenv, and is otherwise ignored.
86356
86357   salt.modules.cassandra
86358       Cassandra NoSQL Database Module
86359
86360       depends
86361
86362              · pycassa Cassandra Python adapter
86363
86364       configuration
86365              The location of the 'nodetool' command, host,  and  thrift  port
86366              needs to be specified via pillar:
86367
86368                 cassandra.nodetool: /usr/local/bin/nodetool
86369                 cassandra.host: localhost
86370                 cassandra.thrift_port: 9160
86371
86372       salt.modules.cassandra.column_families(keyspace=None)
86373              Return  existing  column  families for all keyspaces or just the
86374              provided one.
86375
86376              CLI Example:
86377
86378                 salt '*' cassandra.column_families
86379                 salt '*' cassandra.column_families <keyspace>
86380
86381       salt.modules.cassandra.column_family_definition(keyspace,   column_fam‐
86382       ily)
86383              Return  a  dictionary of column family definitions for the given
86384              keyspace/column_family
86385
86386              CLI Example:
86387
86388                 salt '*' cassandra.column_family_definition <keyspace> <column_family>
86389
86390       salt.modules.cassandra.compactionstats()
86391              Return compactionstats info
86392
86393              CLI Example:
86394
86395                 salt '*' cassandra.compactionstats
86396
86397       salt.modules.cassandra.info()
86398              Return cassandra node info
86399
86400              CLI Example:
86401
86402                 salt '*' cassandra.info
86403
86404       salt.modules.cassandra.keyspaces()
86405              Return existing keyspaces
86406
86407              CLI Example:
86408
86409                 salt '*' cassandra.keyspaces
86410
86411       salt.modules.cassandra.netstats()
86412              Return netstats info
86413
86414              CLI Example:
86415
86416                 salt '*' cassandra.netstats
86417
86418       salt.modules.cassandra.ring()
86419              Return cassandra ring info
86420
86421              CLI Example:
86422
86423                 salt '*' cassandra.ring
86424
86425       salt.modules.cassandra.tpstats()
86426              Return tpstats info
86427
86428              CLI Example:
86429
86430                 salt '*' cassandra.tpstats
86431
86432       salt.modules.cassandra.version()
86433              Return the cassandra version
86434
86435              CLI Example:
86436
86437                 salt '*' cassandra.version
86438
86439   salt.modules.cassandra_cql
86440       Cassandra Database Module
86441
86442       New in version 2015.5.0.
86443
86444
86445       This module works with Cassandra v2 and v3 and hence generates  queries
86446       based on the internal schema of said version.
86447
86448       depends
86449              DataStax      Python     Driver     for     Apache     Cassandra
86450              https://github.com/datastax/python-driver  pip  install  cassan‐
86451              dra-driver
86452
86453       referenced by
86454              Salt's cassandra_cql returner
86455
86456       configuration
86457              The  Cassandra cluster members and connection port can either be
86458              specified in the master or minion config, the minion's pillar or
86459              be passed to the module.
86460
86461              Example configuration in the config for a single node:
86462
86463                 cassandra:
86464                   cluster: 192.168.50.10
86465                   port: 9000
86466
86467              Example configuration in the config for a cluster:
86468
86469                 cassandra:
86470                   cluster:
86471                     - 192.168.50.10
86472                     - 192.168.50.11
86473                     - 192.168.50.12
86474                   port: 9000
86475                   username: cas_admin
86476
86477              Changed in version 2016.11.0.
86478
86479
86480              Added support for ssl_options and protocol_version.
86481
86482              Example configuration with ssl options:
86483
86484              If ssl_options are present in cassandra config the cassandra_cql
86485              returner will use SSL. SSL isn't used if ssl_options isn't spec‐
86486              ified.
86487
86488                 cassandra:
86489                   cluster:
86490                     - 192.168.50.10
86491                     - 192.168.50.11
86492                     - 192.168.50.12
86493                   port: 9000
86494                   username: cas_admin
86495
86496                   ssl_options:
86497                     ca_certs: /etc/ssl/certs/ca-bundle.trust.crt
86498
86499                     # SSL version should be one from the ssl module
86500                     # This is an optional parameter
86501                     ssl_version: PROTOCOL_TLSv1
86502
86503              Additionally you can also specify the protocol_version to use.
86504
86505                 cassandra:
86506                   cluster:
86507                     - 192.168.50.10
86508                     - 192.168.50.11
86509                     - 192.168.50.12
86510                   port: 9000
86511                   username: cas_admin
86512
86513                   # defaults to 4, if not set
86514                   protocol_version: 3
86515
86516       salt.modules.cassandra_cql.cql_query(query,        contact_points=None,
86517       port=None, cql_user=None, cql_pass=None)
86518              Run a query on a Cassandra cluster and return a dictionary.
86519
86520              Parameters
86521
86522                     · query (str) -- The query to execute.
86523
86524                     · contact_points (str | list[str]) -- The Cassandra clus‐
86525                       ter addresses, can either be a string or a list of IPs.
86526
86527                     · cql_user  (str) -- The Cassandra user if authentication
86528                       is turned on.
86529
86530                     · cql_pass  (str)  --  The  Cassandra  user  password  if
86531                       authentication is turned on.
86532
86533                     · port  (int)  -- The Cassandra cluster port, defaults to
86534                       None.
86535
86536                     · params (str) -- The parameters for the query, optional.
86537
86538              Returns
86539                     A dictionary from the return values of the query
86540
86541              Return type
86542                     list[dict]
86543
86544              CLI Example:
86545
86546                 salt 'cassandra-server' cassandra_cql.cql_query "SELECT * FROM users_by_name WHERE first_name = 'jane'"
86547
86548       salt.modules.cassandra_cql.cql_query_with_prepare(query,         state‐
86549       ment_name,      statement_arguments,     callback_errors=None,     con‐
86550       tact_points=None, port=None, cql_user=None, cql_pass=None, **kwargs)
86551              Run a query on a Cassandra cluster and return a dictionary.
86552
86553              This function should not be used asynchronously for  SELECTs  --
86554              it will not return anything and we don't currently have a mecha‐
86555              nism for handling a future that will return results.
86556
86557              Parameters
86558
86559                     · query (str) -- The query to execute.
86560
86561                     · statement_name (str) -- Name  to  assign  the  prepared
86562                       statement in the __context__ dictionary
86563
86564                     · statement_arguments  (list[str]) -- Bind parameters for
86565                       the SQL statement
86566
86567                     · async (bool) -- Run this query in asynchronous mode
86568
86569                     · callback_errors (Function callable) -- Function to call
86570                       after query runs if there is an error
86571
86572                     · contact_points (str | list[str]) -- The Cassandra clus‐
86573                       ter addresses, can either be a string or a list of IPs.
86574
86575                     · cql_user (str) -- The Cassandra user if  authentication
86576                       is turned on.
86577
86578                     · cql_pass  (str)  --  The  Cassandra  user  password  if
86579                       authentication is turned on.
86580
86581                     · port (int) -- The Cassandra cluster port,  defaults  to
86582                       None.
86583
86584                     · params (str) -- The parameters for the query, optional.
86585
86586              Returns
86587                     A dictionary from the return values of the query
86588
86589              Return type
86590                     list[dict]
86591
86592              CLI Example:
86593
86594                 # Insert data asynchronously
86595                 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
86596
86597                 # Select data, should not be asynchronous because there is not currently a facility to return data from a future
86598                 salt this-node cassandra_cql.cql_query_with_prepare "name_select" "SELECT * FROM USERS WHERE first_name=?"             statement_arguments=['John']
86599
86600       salt.modules.cassandra_cql.create_keyspace(keyspace, replication_strat‐
86601       egy=u'SimpleStrategy',    replication_factor=1,    replication_datacen‐
86602       ters=None,      contact_points=None,      port=None,     cql_user=None,
86603       cql_pass=None)
86604              Create a new keyspace in Cassandra.
86605
86606              Parameters
86607
86608                     · keyspace (str) -- The keyspace name
86609
86610                     · replication_strategy (str) -- either SimpleStrategy  or
86611                       NetworkTopologyStrategy
86612
86613                     · replication_factor  (int) -- number of replicas of data
86614                       on multiple nodes. not used if using  NetworkTopologyS‐
86615                       trategy
86616
86617                     · replication_datacenters   (str  |  dict[str,  int])  --
86618                       string or dict of datacenter names to replication  fac‐
86619                       tors,  required  if using NetworkTopologyStrategy (will
86620                       be a dict if coming from state file).
86621
86622                     · contact_points (str | list[str]) -- The Cassandra clus‐
86623                       ter addresses, can either be a string or a list of IPs.
86624
86625                     · cql_user  (str) -- The Cassandra user if authentication
86626                       is turned on.
86627
86628                     · cql_pass  (str)  --  The  Cassandra  user  password  if
86629                       authentication is turned on.
86630
86631                     · port  (int)  -- The Cassandra cluster port, defaults to
86632                       None.
86633
86634              Returns
86635                     The info for the keyspace or False if it does not exist.
86636
86637              Return type
86638                     dict
86639
86640              CLI Example:
86641
86642                 # CLI Example:
86643                 salt 'minion1' cassandra_cql.create_keyspace keyspace=newkeyspace
86644
86645                 salt 'minion1' cassandra_cql.create_keyspace keyspace=newkeyspace replication_strategy=NetworkTopologyStrategy         replication_datacenters='{"datacenter_1": 3, "datacenter_2": 2}'
86646
86647       salt.modules.cassandra_cql.create_user(username,    password,     supe‐
86648       ruser=False,     contact_points=None,     port=None,     cql_user=None,
86649       cql_pass=None)
86650              Create a new cassandra user with credentials and superuser  sta‐
86651              tus.
86652
86653              Parameters
86654
86655                     · username (str) -- The name of the new user.
86656
86657                     · password (str) -- The password of the new user.
86658
86659                     · superuser (bool) -- Is the new user going to be a supe‐
86660                       ruser? default: False
86661
86662                     · contact_points (str | list[str]) -- The Cassandra clus‐
86663                       ter addresses, can either be a string or a list of IPs.
86664
86665                     · cql_user  (str) -- The Cassandra user if authentication
86666                       is turned on.
86667
86668                     · cql_pass  (str)  --  The  Cassandra  user  password  if
86669                       authentication is turned on.
86670
86671                     · port  (int)  -- The Cassandra cluster port, defaults to
86672                       None.
86673
86674              Returns
86675
86676
86677              Return type
86678
86679
86680              CLI Example:
86681
86682                 salt 'minion1' cassandra_cql.create_user username=joe password=secret
86683
86684                 salt 'minion1' cassandra_cql.create_user username=joe password=secret superuser=True
86685
86686                 salt 'minion1' cassandra_cql.create_user username=joe password=secret superuser=True contact_points=minion1
86687
86688       salt.modules.cassandra_cql.drop_keyspace(keyspace, contact_points=None,
86689       port=None, cql_user=None, cql_pass=None)
86690              Drop a keyspace if it exists in a Cassandra cluster.
86691
86692              Parameters
86693
86694                     · keyspace (str) -- The keyspace to drop.
86695
86696                     · contact_points (str | list[str]) -- The Cassandra clus‐
86697                       ter addresses, can either be a string or a list of IPs.
86698
86699                     · cql_user (str) -- The Cassandra user if  authentication
86700                       is turned on.
86701
86702                     · cql_pass  (str)  --  The  Cassandra  user  password  if
86703                       authentication is turned on.
86704
86705                     · port (int) -- The Cassandra cluster port,  defaults  to
86706                       None.
86707
86708              Returns
86709                     The info for the keyspace or False if it does not exist.
86710
86711              Return type
86712                     dict
86713
86714              CLI Example:
86715
86716                 salt 'minion1' cassandra_cql.drop_keyspace keyspace=test
86717
86718                 salt 'minion1' cassandra_cql.drop_keyspace keyspace=test contact_points=minion1
86719
86720       salt.modules.cassandra_cql.grant_permission(username,    resource=None,
86721       resource_type=u'keyspace',    permission=None,     contact_points=None,
86722       port=None, cql_user=None, cql_pass=None)
86723              Grant permissions to a user.
86724
86725              Parameters
86726
86727                     · username (str) -- The name of the user to grant permis‐
86728                       sions to.
86729
86730                     · resource (str) -- The resource (keyspace or table),  if
86731                       None, permissions for all resources are granted.
86732
86733                     · resource_type  (str)  -- The resource_type (keyspace or
86734                       table), defaults to 'keyspace'.
86735
86736                     · permission (str) -- A permission name (e.g. select), if
86737                       None, all permissions are granted.
86738
86739                     · contact_points (str | list[str]) -- The Cassandra clus‐
86740                       ter addresses, can either be a string or a list of IPs.
86741
86742                     · cql_user (str) -- The Cassandra user if  authentication
86743                       is turned on.
86744
86745                     · cql_pass  (str)  --  The  Cassandra  user  password  if
86746                       authentication is turned on.
86747
86748                     · port (int) -- The Cassandra cluster port,  defaults  to
86749                       None.
86750
86751              Returns
86752
86753
86754              Return type
86755
86756
86757              CLI Example:
86758
86759                 salt 'minion1' cassandra_cql.grant_permission
86760
86761                 salt 'minion1' cassandra_cql.grant_permission username=joe resource=test_keyspace permission=select
86762
86763                 salt 'minion1' cassandra_cql.grant_permission username=joe resource=test_table resource_type=table         permission=select contact_points=minion1
86764
86765       salt.modules.cassandra_cql.info(contact_points=None,         port=None,
86766       cql_user=None, cql_pass=None)
86767              Show the Cassandra information for this cluster.
86768
86769              Parameters
86770
86771                     · contact_points (str | list[str]) -- The Cassandra clus‐
86772                       ter addresses, can either be a string or a list of IPs.
86773
86774                     · cql_user  (str) -- The Cassandra user if authentication
86775                       is turned on.
86776
86777                     · cql_pass  (str)  --  The  Cassandra  user  password  if
86778                       authentication is turned on.
86779
86780                     · port  (int)  -- The Cassandra cluster port, defaults to
86781                       None.
86782
86783              Returns
86784                     The information for this Cassandra cluster.
86785
86786              Return type
86787                     dict
86788
86789              CLI Example:
86790
86791                 salt 'minion1' cassandra_cql.info
86792
86793                 salt 'minion1' cassandra_cql.info contact_points=minion1
86794
86795       salt.modules.cassandra_cql.keyspace_exists(keyspace,               con‐
86796       tact_points=None, port=None, cql_user=None, cql_pass=None)
86797              Check if a keyspace exists in a Cassandra cluster.
86798
86799              :param  keyspace         The  keyspace name to check for.  :type
86800              keyspace:       str :param contact_points: The Cassandra cluster
86801              addresses, can either be a string or a list of IPs.  :type  con‐
86802              tact_points: str | list[str] :param cql_user:       The  Cassan‐
86803              dra  user  if  authentication  is  turned  on.  :type  cql_user:
86804              str  :param  cql_pass:        The  Cassandra  user  password  if
86805              authentication  is turned on.  :type  cql_pass:       str :param
86806              port:           The Cassandra cluster port,  defaults  to  None.
86807              :type   port:            int :return:               The info for
86808              the  keyspace  or  False  if  it  does   not   exist.    :rtype:
86809              dict
86810
86811              CLI Example:
86812
86813                 salt 'minion1' cassandra_cql.keyspace_exists keyspace=system
86814
86815       salt.modules.cassandra_cql.list_column_families(keyspace=None,     con‐
86816       tact_points=None, port=None, cql_user=None, cql_pass=None)
86817              List column families in a Cassandra cluster for all keyspaces or
86818              just the provided one.
86819
86820              Parameters
86821
86822                     · keyspace  (str)  --  The keyspace to provide the column
86823                       families for, optional.
86824
86825                     · contact_points (str | list[str]) -- The Cassandra clus‐
86826                       ter addresses, can either be a string or a list of IPs.
86827
86828                     · cql_user  (str) -- The Cassandra user if authentication
86829                       is turned on.
86830
86831                     · cql_pass  (str)  --  The  Cassandra  user  password  if
86832                       authentication is turned on.
86833
86834                     · port  (int)  -- The Cassandra cluster port, defaults to
86835                       None.
86836
86837              Returns
86838                     The column families in this Cassandra cluster.
86839
86840              Return type
86841                     list[dict]
86842
86843              CLI Example:
86844
86845                 salt 'minion1' cassandra_cql.list_column_families
86846
86847                 salt 'minion1' cassandra_cql.list_column_families contact_points=minion1
86848
86849                 salt 'minion1' cassandra_cql.list_column_families keyspace=system
86850
86851       salt.modules.cassandra_cql.list_keyspaces(contact_points=None,
86852       port=None, cql_user=None, cql_pass=None)
86853              List keyspaces in a Cassandra cluster.
86854
86855              Parameters
86856
86857                     · contact_points (str | list[str]) -- The Cassandra clus‐
86858                       ter addresses, can either be a string or a list of IPs.
86859
86860                     · cql_user (str) -- The Cassandra user if  authentication
86861                       is turned on.
86862
86863                     · cql_pass  (str)  --  The  Cassandra  user  password  if
86864                       authentication is turned on.
86865
86866                     · port (int) -- The Cassandra cluster port,  defaults  to
86867                       None.
86868
86869              Returns
86870                     The keyspaces in this Cassandra cluster.
86871
86872              Return type
86873                     list[dict]
86874
86875              CLI Example:
86876
86877                 salt 'minion1' cassandra_cql.list_keyspaces
86878
86879                 salt 'minion1' cassandra_cql.list_keyspaces contact_points=minion1 port=9000
86880
86881       salt.modules.cassandra_cql.list_permissions(username=None,
86882       resource=None,   resource_type=u'keyspace',    permission=None,    con‐
86883       tact_points=None, port=None, cql_user=None, cql_pass=None)
86884              List permissions.
86885
86886              Parameters
86887
86888                     · username  (str) -- The name of the user to list permis‐
86889                       sions for.
86890
86891                     · resource (str) -- The resource (keyspace or table),  if
86892                       None, permissions for all resources are listed.
86893
86894                     · resource_type  (str)  -- The resource_type (keyspace or
86895                       table), defaults to 'keyspace'.
86896
86897                     · permission (str) -- A permission name (e.g. select), if
86898                       None, all permissions are listed.
86899
86900                     · contact_points (str | list[str]) -- The Cassandra clus‐
86901                       ter addresses, can either be a string or a list of IPs.
86902
86903                     · cql_user (str) -- The Cassandra user if  authentication
86904                       is turned on.
86905
86906                     · cql_pass  (str)  --  The  Cassandra  user  password  if
86907                       authentication is turned on.
86908
86909                     · port (int) -- The Cassandra cluster port,  defaults  to
86910                       None.
86911
86912              Returns
86913                     Dictionary of permissions.
86914
86915              Return type
86916                     dict
86917
86918              CLI Example:
86919
86920                 salt 'minion1' cassandra_cql.list_permissions
86921
86922                 salt 'minion1' cassandra_cql.list_permissions username=joe resource=test_keyspace permission=select
86923
86924                 salt 'minion1' cassandra_cql.list_permissions username=joe resource=test_table resource_type=table           permission=select contact_points=minion1
86925
86926       salt.modules.cassandra_cql.list_users(contact_points=None,   port=None,
86927       cql_user=None, cql_pass=None)
86928              List existing users in this Cassandra cluster.
86929
86930              Parameters
86931
86932                     · contact_points (str | list[str]) -- The Cassandra clus‐
86933                       ter addresses, can either be a string or a list of IPs.
86934
86935                     · port  (int)  -- The Cassandra cluster port, defaults to
86936                       None.
86937
86938                     · cql_user (str) -- The Cassandra user if  authentication
86939                       is turned on.
86940
86941                     · cql_pass  (str)  --  The  Cassandra  user  password  if
86942                       authentication is turned on.
86943
86944              Returns
86945                     The list of existing users.
86946
86947              Return type
86948                     dict
86949
86950              CLI Example:
86951
86952                 salt 'minion1' cassandra_cql.list_users
86953
86954                 salt 'minion1' cassandra_cql.list_users contact_points=minion1
86955
86956       salt.modules.cassandra_cql.version(contact_points=None,      port=None,
86957       cql_user=None, cql_pass=None)
86958              Show the Cassandra version.
86959
86960              Parameters
86961
86962                     · contact_points (str | list[str]) -- The Cassandra clus‐
86963                       ter addresses, can either be a string or a list of IPs.
86964
86965                     · cql_user (str) -- The Cassandra user if  authentication
86966                       is turned on.
86967
86968                     · cql_pass  (str)  --  The  Cassandra  user  password  if
86969                       authentication is turned on.
86970
86971                     · port (int) -- The Cassandra cluster port,  defaults  to
86972                       None.
86973
86974              Returns
86975                     The version for this Cassandra cluster.
86976
86977              Return type
86978                     str
86979
86980              CLI Example:
86981
86982                 salt 'minion1' cassandra_cql.version
86983
86984                 salt 'minion1' cassandra_cql.version contact_points=minion1
86985
86986   salt.modules.celery module
86987       Support  for scheduling celery tasks. The worker is independent of salt
86988       and thus can run in a different virtualenv or  on  a  different  python
86989       version,  as  long  as  broker,  backend  and serializer configurations
86990       match.  Also note that celery and packages required by the celery  bro‐
86991       ker,  e.g.  redis  must  be installed to load the salt celery execution
86992       module.
86993
86994       NOTE:
86995          A new app (and thus new connections) is created for each task execu‐
86996          tion
86997
86998       salt.modules.celery.run_task(task_name,  args=None,  kwargs=None,  bro‐
86999       ker=None,  backend=None,  wait_for_result=False,  timeout=None,  propa‐
87000       gate=True, interval=0.5, no_ack=True, raise_timeout=True, config=None)
87001              Execute  celery tasks. For celery specific parameters see celery
87002              documentation.
87003
87004              CLI Example:
87005
87006                 salt '*' celery.run_task tasks.sleep args=[4] broker=redis://localhost \
87007                 backend=redis://localhost wait_for_result=true
87008
87009              task_name
87010                     The task name, e.g. tasks.sleep
87011
87012              args   Task arguments as a list
87013
87014              kwargs Task keyword arguments
87015
87016              broker Broker for celeryapp, see celery documentation
87017
87018              backend
87019                     Result backend for celeryapp, see celery documentation
87020
87021              wait_for_result
87022                     Wait until task result is read from  result  backend  and
87023                     return result, Default: False
87024
87025              timeout
87026                     Timeout  waiting for result from celery, see celery Asyn‐
87027                     cResult.get documentation
87028
87029              propagate
87030                     Propagate exceptions from celery task, see  celery  Asyn‐
87031                     cResult.get documentation, Default: True
87032
87033              interval
87034                     Interval  to  check  for task result, see celery AsyncRe‐
87035                     sult.get documentation, Default: 0.5
87036
87037              no_ack see celery AsyncResult.get documentation. Default: True
87038
87039              raise_timeout
87040                     Raise timeout exception if waiting for task result  times
87041                     out. Default: False
87042
87043              config Config dict for celery app, See celery documentation
87044
87045   salt.modules.ceph module
87046       Module to provide ceph control with salt.
87047
87048       depends
87049
87050              · ceph_cfg Python module
87051
87052       New in version 2016.11.0.
87053
87054
87055       salt.modules.ceph.ceph_version()
87056              Get the version of ceph installed
87057
87058              CLI Example:
87059
87060                 salt '*' ceph.ceph_version
87061
87062       salt.modules.ceph.cluster_quorum(**kwargs)
87063              Get the cluster's quorum status
87064
87065              CLI Example:
87066
87067                 salt '*' ceph.cluster_quorum \
87068                         'cluster_name'='ceph' \
87069                         'cluster_uuid'='cluster_uuid'
87070
87071              cluster_uuid
87072                     The  cluster UUID. Defaults to value found in ceph config
87073                     file.
87074
87075              cluster_name
87076                     The cluster name. Defaults to ceph.
87077
87078       salt.modules.ceph.cluster_status(**kwargs)
87079              Get the cluster status, including health if in quorum
87080
87081              CLI Example:
87082
87083                 salt '*' ceph.cluster_status \
87084                         'cluster_name'='ceph' \
87085                         'cluster_uuid'='cluster_uuid'
87086
87087              cluster_uuid
87088                     The cluster UUID. Defaults to value found in ceph  config
87089                     file.
87090
87091              cluster_name
87092                     The cluster name. Defaults to ceph.
87093
87094       salt.modules.ceph.keyring_auth_add(**kwargs)
87095              Add keyring to authorized list
87096
87097              CLI Example:
87098
87099                 salt '*' ceph.keyring_auth_add \
87100                         'keyring_type'='admin' \
87101                         'cluster_name'='ceph' \
87102                         'cluster_uuid'='cluster_uuid'
87103
87104              keyring_type (required)
87105                     One of admin, mon, osd, rgw, mds
87106
87107              cluster_uuid
87108                     The  cluster UUID. Defaults to value found in ceph config
87109                     file.
87110
87111              cluster_name
87112                     The cluster name. Defaults to ceph.
87113
87114       salt.modules.ceph.keyring_auth_del(**kwargs)
87115              Remove keyring from authorised list
87116
87117              CLI Example:
87118
87119                 salt '*' ceph.keyring_osd_auth_del \
87120                         'keyring_type'='admin' \
87121                         'cluster_name'='ceph' \
87122                         'cluster_uuid'='cluster_uuid'
87123
87124              keyring_type (required)
87125                     One of admin, mon, osd, rgw, mds
87126
87127              cluster_uuid
87128                     The cluster UUID. Defaults to value found in ceph  config
87129                     file.
87130
87131              cluster_name
87132                     The cluster name. Defaults to ceph.
87133
87134       salt.modules.ceph.keyring_auth_list(**kwargs)
87135              List all cephx authorization keys
87136
87137              CLI Example:
87138
87139                 salt '*' ceph.keyring_auth_list \
87140                         'cluster_name'='ceph' \
87141                         'cluster_uuid'='cluster_uuid'
87142
87143              cluster_name
87144                     The cluster name. Defaults to ceph.
87145
87146              cluster_uuid
87147                     The  cluster UUID. Defaults to value found in ceph config
87148                     file.
87149
87150       salt.modules.ceph.keyring_create(**kwargs)
87151              Create keyring for cluster
87152
87153              CLI Example:
87154
87155                 salt '*' ceph.keyring_create \
87156                         'keyring_type'='admin' \
87157                         'cluster_name'='ceph' \
87158                         'cluster_uuid'='cluster_uuid'
87159
87160              keyring_type (required)
87161                     One of admin, mon, osd, rgw, mds
87162
87163              cluster_uuid
87164                     The cluster UUID. Defaults to value found in ceph  config
87165                     file.
87166
87167              cluster_name
87168                     The cluster name. Defaults to ceph.
87169
87170       salt.modules.ceph.keyring_present(**kwargs)
87171              Returns True if the keyring is present on disk, otherwise False
87172
87173              CLI Example:
87174
87175                 salt '*' ceph.keyring_present \
87176                         'keyring_type'='admin' \
87177                         'cluster_name'='ceph' \
87178                         'cluster_uuid'='cluster_uuid'
87179
87180              keyring_type (required)
87181                     One of admin, mon, osd, rgw, mds
87182
87183              cluster_uuid
87184                     The  cluster UUID. Defaults to value found in ceph config
87185                     file.
87186
87187              cluster_name
87188                     The cluster name. Defaults to ceph.
87189
87190       salt.modules.ceph.keyring_purge(**kwargs)
87191              Delete keyring for cluster
87192
87193              CLI Example:
87194
87195                 salt '*' ceph.keyring_purge \
87196                         'keyring_type'='admin' \
87197                         'cluster_name'='ceph' \
87198                         'cluster_uuid'='cluster_uuid'
87199
87200              keyring_type (required)
87201                     One of admin, mon, osd, rgw, mds
87202
87203              cluster_uuid
87204                     The cluster UUID. Defaults to value found in ceph  config
87205                     file.
87206
87207              cluster_name
87208                     The cluster name. Defaults to ceph.
87209
87210              If no ceph config file is found, this command will fail.
87211
87212       salt.modules.ceph.keyring_save(**kwargs)
87213              Create save keyring locally
87214
87215              CLI Example:
87216
87217                 salt '*' ceph.keyring_save \
87218                         'keyring_type'='admin' \
87219                         'cluster_name'='ceph' \
87220                         'cluster_uuid'='cluster_uuid'
87221
87222              keyring_type (required)
87223                     One of admin, mon, osd, rgw, mds
87224
87225              cluster_uuid
87226                     The  cluster UUID. Defaults to value found in ceph config
87227                     file.
87228
87229              cluster_name
87230                     The cluster name. Defaults to ceph.
87231
87232       salt.modules.ceph.mds_create(**kwargs)
87233              Create a mds
87234
87235              CLI Example:
87236
87237                 salt '*' ceph.mds_create \
87238                         'name' = 'mds.name' \
87239                         'port' = 1000, \
87240                         'addr' = 'fqdn.example.org' \
87241                         'cluster_name'='ceph' \
87242                         'cluster_uuid'='cluster_uuid'
87243
87244              name (required)
87245                     The MDS name (must start with mds.)
87246
87247              port (required)
87248                     Port to which the MDS will listen
87249
87250              addr (required)
87251                     Address or IP address for the MDS to listen
87252
87253              cluster_uuid
87254                     The cluster UUID. Defaults to value found in ceph  config
87255                     file.
87256
87257              cluster_name
87258                     The cluster name. Defaults to ceph.
87259
87260       salt.modules.ceph.mds_destroy(**kwargs)
87261              Remove a mds
87262
87263              CLI Example:
87264
87265                 salt '*' ceph.mds_destroy \
87266                         'name' = 'mds.name' \
87267                         'cluster_name'='ceph' \
87268                         'cluster_uuid'='cluster_uuid'
87269
87270              name (required)
87271                     The MDS name (must start with mds.)
87272
87273              cluster_uuid
87274                     The  cluster UUID. Defaults to value found in ceph config
87275                     file.
87276
87277              cluster_name
87278                     The cluster name. Defaults to ceph.
87279
87280       salt.modules.ceph.mon_active(**kwargs)
87281              Returns True if the mon daemon is running, otherwise False
87282
87283              CLI Example:
87284
87285                 salt '*' ceph.mon_active \
87286                         'cluster_name'='ceph' \
87287                         'cluster_uuid'='cluster_uuid'
87288
87289              cluster_uuid
87290                     The cluster UUID. Defaults to value found in ceph  config
87291                     file.
87292
87293              cluster_name
87294                     The cluster name. Defaults to ceph.
87295
87296       salt.modules.ceph.mon_create(**kwargs)
87297              Create a mon node
87298
87299              CLI Example:
87300
87301                 salt '*' ceph.mon_create \
87302                         'cluster_name'='ceph' \
87303                         'cluster_uuid'='cluster_uuid'
87304
87305              cluster_uuid
87306                     The  cluster UUID. Defaults to value found in ceph config
87307                     file.
87308
87309              cluster_name
87310                     The cluster name. Defaults to ceph.
87311
87312       salt.modules.ceph.mon_is(**kwargs)
87313              Returns True if the target is a mon node, otherwise False
87314
87315              CLI Example:
87316
87317                 salt '*' ceph.mon_is \
87318                         'cluster_name'='ceph' \
87319                         'cluster_uuid'='cluster_uuid'
87320
87321              cluster_name
87322                     The cluster name. Defaults to ceph.
87323
87324              cluster_uuid
87325                     The cluster UUID. Defaults to value found in ceph  config
87326                     file.
87327
87328       salt.modules.ceph.mon_quorum(**kwargs)
87329              Returns True if the mon daemon is in the quorum, otherwise False
87330
87331              CLI Example:
87332
87333                 salt '*' ceph.mon_quorum \
87334                         'cluster_name'='ceph' \
87335                         'cluster_uuid'='cluster_uuid'
87336
87337              cluster_uuid
87338                     The  cluster UUID. Defaults to value found in ceph config
87339                     file.
87340
87341              cluster_name
87342                     The cluster name. Defaults to ceph.
87343
87344       salt.modules.ceph.mon_status(**kwargs)
87345              Get status from mon daemon
87346
87347              CLI Example:
87348
87349                 salt '*' ceph.mon_status \
87350                         'cluster_name'='ceph' \
87351                         'cluster_uuid'='cluster_uuid'
87352
87353              cluster_uuid
87354                     The cluster UUID. Defaults to value found in ceph  config
87355                     file.
87356
87357              cluster_name
87358                     The cluster name. Defaults to ceph.
87359
87360       salt.modules.ceph.osd_activate(**kwargs)
87361              Activate an OSD
87362
87363              CLI Example:
87364
87365                 salt '*' ceph.osd_activate 'osd_dev'='/dev/vdc'
87366
87367       salt.modules.ceph.osd_discover()
87368              List all OSD by cluster
87369
87370              CLI Example:
87371
87372                 salt '*' ceph.osd_discover
87373
87374       salt.modules.ceph.osd_prepare(**kwargs)
87375              Prepare an OSD
87376
87377              CLI Example:
87378
87379                 salt '*' ceph.osd_prepare 'osd_dev'='/dev/vdc' \
87380                         'journal_dev'='device' \
87381                         'cluster_name'='ceph' \
87382                         'cluster_uuid'='cluster_uuid' \
87383                         'osd_fs_type'='xfs' \
87384                         'osd_uuid'='2a143b73-6d85-4389-a9e9-b8a78d9e1e07' \
87385                         'journal_uuid'='4562a5db-ff6f-4268-811d-12fd4a09ae98'
87386
87387              cluster_uuid
87388                     The device to store the osd data on.
87389
87390              journal_dev
87391                     The journal device. defaults to osd_dev.
87392
87393              cluster_name
87394                     The cluster name. Defaults to ceph.
87395
87396              cluster_uuid
87397                     The cluster date will be added too. Defaults to the value
87398                     found in local config.
87399
87400              osd_fs_type
87401                     set the file system to store OSD data with.  Defaults  to
87402                     "xfs".
87403
87404              osd_uuid
87405                     set  the  OSD  data  UUID. If set will return if OSD with
87406                     data UUID already exists.
87407
87408              journal_uuid
87409                     set the OSD journal UUID. If set will return if OSD  with
87410                     journal UUID already exists.
87411
87412       salt.modules.ceph.partition_is(dev)
87413              Check whether a given device path is a partition or a full disk.
87414
87415              CLI Example:
87416
87417                 salt '*' ceph.partition_is /dev/sdc1
87418
87419       salt.modules.ceph.partition_list()
87420              List partitions by disk
87421
87422              CLI Example:
87423
87424                 salt '*' ceph.partition_list
87425
87426       salt.modules.ceph.partition_list_journal()
87427              List all OSD journal partitions by partition
87428
87429              CLI Example:
87430
87431                 salt '*' ceph.partition_list_journal
87432
87433       salt.modules.ceph.partition_list_osd()
87434              List all OSD data partitions by partition
87435
87436              CLI Example:
87437
87438                 salt '*' ceph.partition_list_osd
87439
87440       salt.modules.ceph.pool_add(pool_name, **kwargs)
87441              Create a pool
87442
87443              CLI Example:
87444
87445                 salt '*' ceph.pool_add pool_name \
87446                         'cluster_name'='ceph' \
87447                         'cluster_uuid'='cluster_uuid'
87448
87449              cluster_name
87450                     The cluster name. Defaults to ceph.
87451
87452              cluster_uuid
87453                     The  cluster UUID. Defaults to value found in ceph config
87454                     file.
87455
87456              pg_num Default to 8
87457
87458              pgp_num
87459                     Default to pg_num
87460
87461              pool_type
87462                     can take values "replicated" or "erasure"
87463
87464              erasure_code_profile
87465                     The "erasure_code_profile"
87466
87467              crush_ruleset
87468                     The crush map rule set
87469
87470       salt.modules.ceph.pool_del(pool_name, **kwargs)
87471              Delete a pool
87472
87473              CLI Example:
87474
87475                 salt '*' ceph.pool_del pool_name \
87476                         'cluster_name'='ceph' \
87477                         'cluster_uuid'='cluster_uuid'
87478
87479              cluster_name
87480                     The cluster name. Defaults to ceph.
87481
87482              cluster_uuid
87483                     The cluster UUID. Defaults to value found in ceph  config
87484                     file.
87485
87486       salt.modules.ceph.pool_list(**kwargs)
87487              List all pools
87488
87489              CLI Example:
87490
87491                 salt '*' ceph.pool_list \
87492                         'cluster_name'='ceph' \
87493                         'cluster_uuid'='cluster_uuid'
87494
87495              cluster_name
87496                     The cluster name. Defaults to ceph.
87497
87498              cluster_uuid
87499                     The  cluster UUID. Defaults to value found in ceph config
87500                     file.
87501
87502       salt.modules.ceph.purge(**kwargs)
87503              purge ceph configuration on the node
87504
87505              CLI Example:
87506
87507                 salt '*' ceph.purge \
87508                         'cluster_name'='ceph' \
87509                         'cluster_uuid'='cluster_uuid'
87510
87511              cluster_name
87512                     The cluster name. Defaults to ceph.
87513
87514              cluster_uuid
87515                     The cluster UUID. Defaults to value found in ceph  config
87516                     file.
87517
87518       salt.modules.ceph.rgw_create(**kwargs)
87519              Create a rgw
87520
87521              CLI Example:
87522
87523                 salt '*' ceph.rgw_create \
87524                         'name' = 'rgw.name' \
87525                         'cluster_name'='ceph' \
87526                         'cluster_uuid'='cluster_uuid'
87527
87528              name (required)
87529                     The RGW client name. Must start with rgw.
87530
87531              cluster_uuid
87532                     The  cluster UUID. Defaults to value found in ceph config
87533                     file.
87534
87535              cluster_name
87536                     The cluster name. Defaults to ceph.
87537
87538       salt.modules.ceph.rgw_destroy(**kwargs)
87539              Remove a rgw
87540
87541              CLI Example:
87542
87543                 salt '*' ceph.rgw_destroy \
87544                         'name' = 'rgw.name' \
87545                         'cluster_name'='ceph' \
87546                         'cluster_uuid'='cluster_uuid'
87547
87548              name (required)
87549                     The RGW client name (must start with rgw.)
87550
87551              cluster_uuid
87552                     The cluster UUID. Defaults to value found in ceph  config
87553                     file.
87554
87555              cluster_name
87556                     The cluster name. Defaults to ceph.
87557
87558       salt.modules.ceph.rgw_pools_create(**kwargs)
87559              Create pools for rgw
87560
87561              CLI Example:
87562
87563                 salt '*' ceph.rgw_pools_create
87564
87565              cluster_uuid
87566                     The  cluster UUID. Defaults to value found in ceph config
87567                     file.
87568
87569              cluster_name
87570                     The cluster name. Defaults to ceph.
87571
87572       salt.modules.ceph.rgw_pools_missing(**kwargs)
87573              Show pools missing for rgw
87574
87575              CLI Example:
87576
87577                 salt '*' ceph.rgw_pools_missing
87578
87579              cluster_uuid
87580                     The cluster UUID. Defaults to value found in ceph  config
87581                     file.
87582
87583              cluster_name
87584                     The cluster name. Defaults to ceph.
87585
87586       salt.modules.ceph.zap(target=None, **kwargs)
87587              Destroy the partition table and content of a given disk.
87588
87589                 salt '*' ceph.osd_prepare 'dev'='/dev/vdc' \
87590                         'cluster_name'='ceph' \
87591                         'cluster_uuid'='cluster_uuid'
87592
87593              dev    The block device to format.
87594
87595              cluster_name
87596                     The cluster name. Defaults to ceph.
87597
87598              cluster_uuid
87599                     The  cluster UUID. Defaults to value found in ceph config
87600                     file.
87601
87602   salt.modules.chassis
87603       Glue execution module to link to the fx2 proxymodule.
87604
87605       Depends: iDRAC Remote execution module (salt.modules.dracr)
87606
87607       For documentation on commands that you can direct to a Dell chassis via
87608       proxy, look in the documentation for salt.modules.dracr.
87609
87610       This execution module calls through to a function in the fx2 proxy mod‐
87611       ule called chconfig.  That function looks up the function passed in the
87612       cmd parameter in salt.modules.dracr and calls it.
87613
87614       New in version 2015.8.2.
87615
87616
87617       salt.modules.chassis.chassis_credentials()
87618
87619       salt.modules.chassis.cmd(cmd, *args, **kwargs)
87620
87621   salt.modules.chef
87622       Execute chef in server or solo mode
87623
87624       salt.modules.chef.client(whyrun=False,  localmode=False,  logfile=None,
87625       **kwargs)
87626              Execute a chef client run and return a  dict  with  the  stderr,
87627              stdout, return code, and pid.
87628
87629              CLI Example:
87630
87631                 salt '*' chef.client server=https://localhost
87632
87633              server The chef server URL
87634
87635              client_key
87636                     Set the client key file location
87637
87638              config The configuration file to use
87639
87640              config-file-jail
87641                     Directory  under  which  config  files  are allowed to be
87642                     loaded (no client.rb or knife.rb outside this  path  will
87643                     be loaded).
87644
87645              environment
87646                     Set the Chef Environment on the node
87647
87648              group  Group to set privilege to
87649
87650              json-attributes
87651                     Load attributes from a JSON file or URL
87652
87653              localmode
87654                     Point chef-client at local repository if True
87655
87656              log_level
87657                     Set the log level (debug, info, warn, error, fatal)
87658
87659              logfile
87660                     Set the log file location
87661
87662              node-name
87663                     The node name for this client
87664
87665              override-runlist
87666                     Replace  current run list with specified items for a sin‐
87667                     gle run
87668
87669              pid    Set    the    PID    file    location,    defaults     to
87670                     /tmp/chef-client.pid
87671
87672              run-lock-timeout
87673                     Set  maximum  duration  to wait for another client run to
87674                     finish, default is indefinitely.
87675
87676              runlist
87677                     Permanently replace current run list with specified items
87678
87679              user   User to set privilege to
87680
87681              validation_key
87682                     Set the validation key file location, used for  register‐
87683                     ing new clients
87684
87685              whyrun Enable whyrun mode when set to True
87686
87687       salt.modules.chef.solo(whyrun=False, logfile=None, **kwargs)
87688              Execute  a chef solo run and return a dict with the stderr, std‐
87689              out, return code, and pid.
87690
87691              CLI Example:
87692
87693                 salt '*' chef.solo override-runlist=test
87694
87695              config The configuration file to use
87696
87697              environment
87698                     Set the Chef Environment on the node
87699
87700              group  Group to set privilege to
87701
87702              json-attributes
87703                     Load attributes from a JSON file or URL
87704
87705              log_level
87706                     Set the log level (debug, info, warn, error, fatal)
87707
87708              logfile
87709                     Set the log file location
87710
87711              node-name
87712                     The node name for this client
87713
87714              override-runlist
87715                     Replace current run list with specified items for a  sin‐
87716                     gle run
87717
87718              recipe-url
87719                     Pull  down  a remote gzipped tarball of recipes and untar
87720                     it to the cookbook cache
87721
87722              run-lock-timeout
87723                     Set maximum duration to wait for another  client  run  to
87724                     finish, default is indefinitely.
87725
87726              user   User to set privilege to
87727
87728              whyrun Enable whyrun mode when set to True
87729
87730   salt.modules.chocolatey
87731       A  dead  simple module wrapping calls to the Chocolatey package manager
87732       (http://chocolatey.org)
87733
87734       New in version 2014.1.0.
87735
87736
87737       salt.modules.chocolatey.add_source(name,     source_location,     user‐
87738       name=None, password=None)
87739              Instructs Chocolatey to add a source.
87740
87741              name   The name of the source to be added as a chocolatey repos‐
87742                     itory.
87743
87744              source Location of the source you want to work with.
87745
87746              username
87747                     Provide username for chocolatey sources that need authen‐
87748                     tication credentials.
87749
87750              password
87751                     Provide password for chocolatey sources that need authen‐
87752                     tication credentials.
87753
87754              CLI Example:
87755
87756                 salt '*' chocolatey.add_source <source name> <source_location>
87757                 salt '*' chocolatey.add_source <source name> <source_location> user=<user> password=<password>
87758
87759       salt.modules.chocolatey.bootstrap(force=False)
87760              Download and install the latest version of the Chocolatey  pack‐
87761              age manager via the official bootstrap.
87762
87763              Chocolatey  requires  Windows  PowerShell and the .NET v4.0 run‐
87764              time.  Depending  on  the  host's  version  of  Windows,  choco‐
87765              latey.bootstrap  will  attempt to ensure these prerequisites are
87766              met by downloading and executing the appropriate installers from
87767              Microsoft.
87768
87769              Note  that  if  PowerShell is installed, you may have to restart
87770              the host machine for Chocolatey to work.
87771
87772              force  Run the bootstrap process even if Chocolatey is found  in
87773                     the path.
87774
87775              CLI Example:
87776
87777                 salt '*' chocolatey.bootstrap
87778                 salt '*' chocolatey.bootstrap force=True
87779
87780       salt.modules.chocolatey.chocolatey_version()
87781              Returns the version of Chocolatey installed on the minion.
87782
87783              CLI Example:
87784
87785                 salt '*' chocolatey.chocolatey_version
87786
87787       salt.modules.chocolatey.disable_source(name)
87788              Instructs Chocolatey to disable a source.
87789
87790              name   Name of the source repository to disable.
87791
87792              CLI Example:
87793
87794                 salt '*' chocolatey.disable_source <name>
87795
87796       salt.modules.chocolatey.enable_source(name)
87797              Instructs Chocolatey to enable a source.
87798
87799              name   Name of the source repository to enable.
87800
87801              CLI Example:
87802
87803                 salt '*' chocolatey.enable_source <name>
87804
87805       salt.modules.chocolatey.install(name,     version=None,    source=None,
87806       force=False,     pre_versions=False,      install_args=None,      over‐
87807       ride_args=False,   force_x86=False,   package_args=None,   allow_multi‐
87808       ple=False, execution_timeout=None)
87809              Instructs Chocolatey to install a package.
87810
87811              Parameters
87812
87813                     · name (str) -- The name of the package to be  installed.
87814                       Only accepts a single argument. Required.
87815
87816                     · version  (str)  --  Install  a  specific version of the
87817                       package. Defaults to latest version. Default is None.
87818
87819                     · source (str) --
87820
87821                       Chocolatey repository (directory, share or  remote  URL
87822                       feed)  the package comes from. Defaults to the official
87823                       Chocolatey feed.  Default is None.
87824
87825                       Alternate Sources:
87826
87827                       · cygwin
87828
87829                       · python
87830
87831                       · ruby
87832
87833                       · webpi
87834
87835                       · windowsfeatures
87836
87837
87838                     · force (bool) -- Reinstall the  current  version  of  an
87839                       existing  package.  Do  not  use  with  allow_multiple.
87840                       Default is False.
87841
87842                     · pre_versions (bool) --  Include  pre-release  packages.
87843                       Default is False.
87844
87845                     · install_args  (str)  -- A list of install arguments you
87846                       want to pass to the installation  process  i.e  product
87847                       key or feature list. Default is None.
87848
87849                     · override_args  (bool)  --  Set  to  true if you want to
87850                       override the original install arguments (for the native
87851                       installer)  in  the package and use your own. When this
87852                       is set to False install_args will be  appended  to  the
87853                       end of the default arguments. Default is None.
87854
87855                     · force_x86  (bool)  -- Force x86 (32bit) installation on
87856                       64 bit systems. Default is False.
87857
87858                     · package_args (str) -- Arguments you want to pass to the
87859                       package. Default is None.
87860
87861                     · allow_multiple (bool) --
87862
87863                       Allow multiple versions of the package to be installed.
87864                       Do not use with force. Does not work with all packages.
87865                       Default is False.
87866
87867                       New in version 2017.7.0.
87868
87869
87870
87871                     · execution_timeout (str) --
87872
87873                     · execution timeout value you want to pass to the instal‐
87874                       lation process. Default is None. (Chocolatey) --
87875
87876                       New in version 2018.3.0.
87877
87878
87879
87880              Returns
87881                     The output of the chocolatey command
87882
87883              Return type
87884                     str
87885
87886              CLI Example:
87887
87888                 salt '*' chocolatey.install <package name>
87889                 salt '*' chocolatey.install <package name> version=<package version>
87890                 salt '*' chocolatey.install <package name> install_args=<args> override_args=True
87891
87892       salt.modules.chocolatey.install_cygwin(name,  install_args=None,  over‐
87893       ride_args=False)
87894              Instructs Chocolatey to install a package via Cygwin.
87895
87896              name   The  name  of the package to be installed. Only accepts a
87897                     single argument.
87898
87899              install_args
87900                     A list of install arguments  you  want  to  pass  to  the
87901                     installation process i.e product key or feature list
87902
87903              override_args
87904                     Set  to true if you want to override the original install
87905                     arguments (for the native installer) in the  package  and
87906                     use your own. When this is set to False install_args will
87907                     be appended to the end of the default arguments
87908
87909              CLI Example:
87910
87911                 salt '*' chocolatey.install_cygwin <package name>
87912                 salt '*' chocolatey.install_cygwin <package name> install_args=<args> override_args=True
87913
87914       salt.modules.chocolatey.install_gem(name,                 version=None,
87915       install_args=None, override_args=False)
87916              Instructs Chocolatey to install a package via Ruby's Gems.
87917
87918              name   The  name  of the package to be installed. Only accepts a
87919                     single argument.
87920
87921              version
87922                     Install a specific version of the  package.  Defaults  to
87923                     latest version available.
87924
87925              install_args
87926                     A  list  of  install  arguments  you  want to pass to the
87927                     installation process i.e product key or feature list
87928
87929              override_args
87930                     Set to true if you want to override the original  install
87931                     arguments  (for  the native installer) in the package and
87932                     use your own. When this is set to False install_args will
87933                     be appended to the end of the default arguments
87934
87935              CLI Example:
87936
87937                 salt '*' chocolatey.install_gem <package name>
87938                 salt '*' chocolatey.install_gem <package name> version=<package version>
87939                 salt '*' chocolatey.install_gem <package name> install_args=<args> override_args=True
87940
87941       salt.modules.chocolatey.install_missing(name,             version=None,
87942       source=None)
87943              Instructs Chocolatey to install a package if it doesn't  already
87944              exist.
87945
87946              Changed  in  version  2014.7.0:  If the minion has Chocolatey >=
87947              0.9.8.24  installed,  this  function  calls   chocolatey.install
87948              instead,  as installmissing is deprecated as of that version and
87949              will be removed in Chocolatey 1.0.
87950
87951
87952              name   The name of the package to be installed. Only  accepts  a
87953                     single argument.
87954
87955              version
87956                     Install  a  specific  version of the package. Defaults to
87957                     latest version available.
87958
87959              source Chocolatey repository (directory,  share  or  remote  URL
87960                     feed)  the  package  comes from. Defaults to the official
87961                     Chocolatey feed.
87962
87963              CLI Example:
87964
87965                 salt '*' chocolatey.install_missing <package name>
87966                 salt '*' chocolatey.install_missing <package name> version=<package version>
87967
87968       salt.modules.chocolatey.install_python(name,              version=None,
87969       install_args=None, override_args=False)
87970              Instructs   Chocolatey   to   install  a  package  via  Python's
87971              easy_install.
87972
87973              name   The name of the package to be installed. Only  accepts  a
87974                     single argument.
87975
87976              version
87977                     Install  a  specific  version of the package. Defaults to
87978                     latest version available.
87979
87980              install_args
87981                     A list of install arguments  you  want  to  pass  to  the
87982                     installation process i.e product key or feature list
87983
87984              override_args
87985                     Set  to true if you want to override the original install
87986                     arguments (for the native installer) in the  package  and
87987                     use your own. When this is set to False install_args will
87988                     be appended to the end of the default arguments
87989
87990              CLI Example:
87991
87992                 salt '*' chocolatey.install_python <package name>
87993                 salt '*' chocolatey.install_python <package name> version=<package version>
87994                 salt '*' chocolatey.install_python <package name> install_args=<args> override_args=True
87995
87996       salt.modules.chocolatey.install_webpi(name,  install_args=None,   over‐
87997       ride_args=False)
87998              Instructs  Chocolatey to install a package via the Microsoft Web
87999              PI service.
88000
88001              name   The name of the package to be installed. Only  accepts  a
88002                     single argument.
88003
88004              install_args
88005                     A  list  of  install  arguments  you  want to pass to the
88006                     installation process i.e product key or feature list
88007
88008              override_args
88009                     Set to true if you want to override the original  install
88010                     arguments  (for  the native installer) in the package and
88011                     use your own. When this is set to False install_args will
88012                     be appended to the end of the default arguments
88013
88014              CLI Example:
88015
88016                 salt '*' chocolatey.install_webpi <package name>
88017                 salt '*' chocolatey.install_webpi <package name> install_args=<args> override_args=True
88018
88019       salt.modules.chocolatey.install_windowsfeatures(name)
88020              Instructs  Chocolatey  to  install  a  Windows  Feature  via the
88021              Deployment Image Servicing and Management tool.
88022
88023              name   The name of the feature to be installed. Only  accepts  a
88024                     single argument.
88025
88026              CLI Example:
88027
88028                 salt '*' chocolatey.install_windowsfeatures <package name>
88029
88030       salt.modules.chocolatey.list_(narrow=None, all_versions=False, pre_ver‐
88031       sions=False, source=None, local_only=False, exact=False)
88032              Instructs Chocolatey to pull  a  vague  package  list  from  the
88033              repository.
88034
88035              Parameters
88036
88037                     · narrow  (str)  --  Term  used  to  narrow down results.
88038                       Searches against name/description/tag. Default is None.
88039
88040                     · all_versions (bool) -- Display  all  available  package
88041                       versions in results. Default is False.
88042
88043                     · pre_versions  (bool) -- Display pre-release packages in
88044                       results. Default is False.
88045
88046                     · source (str) -- Chocolatey repository (directory, share
88047                       or remote URL feed) the package comes from. Defaults to
88048                       the official Chocolatey feed if None is passed. Default
88049                       is None.
88050
88051                     · local_only  (bool)  --  Display packages only installed
88052                       locally. Default is False.
88053
88054                     · exact (bool) --
88055
88056                       Display  only  packages  that  match  narrow   exactly.
88057                       Default is False.
88058
88059                       New in version 2017.7.0.
88060
88061
88062
88063              Returns
88064                     A dictionary of results.
88065
88066              Return type
88067                     dict
88068
88069              CLI Example:
88070
88071                 salt '*' chocolatey.list <narrow>
88072                 salt '*' chocolatey.list <narrow> all_versions=True
88073
88074       salt.modules.chocolatey.list_webpi()
88075              Instructs Chocolatey to pull a full package list from the Micro‐
88076              soft Web PI repository.
88077
88078              Returns
88079                     List of webpi packages
88080
88081              Return type
88082                     str
88083
88084              CLI Example:
88085
88086                 salt '*' chocolatey.list_webpi
88087
88088       salt.modules.chocolatey.list_windowsfeatures()
88089              Instructs Chocolatey to pull a full package list from  the  Win‐
88090              dows  Features list, via the Deployment Image Servicing and Man‐
88091              agement tool.
88092
88093              Returns
88094                     List of Windows Features
88095
88096              Return type
88097                     str
88098
88099              CLI Example:
88100
88101                 salt '*' chocolatey.list_windowsfeatures
88102
88103       salt.modules.chocolatey.uninstall(name,       version=None,       unin‐
88104       stall_args=None, override_args=False)
88105              Instructs Chocolatey to uninstall a package.
88106
88107              name   The name of the package to be uninstalled. Only accepts a
88108                     single argument.
88109
88110              version
88111                     Uninstalls a specific version of the package. Defaults to
88112                     latest version installed.
88113
88114              uninstall_args
88115                     A  list  of  uninstall  arguments you want to pass to the
88116                     uninstallation process i.e product key or feature list
88117
88118              override_args
88119                     Set to true if you want to override  the  original  unin‐
88120                     stall arguments (for the native uninstaller) in the pack‐
88121                     age and use your own. When this is  set  to  False  unin‐
88122                     stall_args  will  be  appended  to the end of the default
88123                     arguments
88124
88125              CLI Example:
88126
88127                 salt '*' chocolatey.uninstall <package name>
88128                 salt '*' chocolatey.uninstall <package name> version=<package version>
88129                 salt '*' chocolatey.uninstall <package name> version=<package version> uninstall_args=<args> override_args=True
88130
88131       salt.modules.chocolatey.update(name, source=None, pre_versions=False)
88132              Instructs Chocolatey to update packages on the system.
88133
88134              name   The name of the package to update,  or  "all"  to  update
88135                     everything installed on the system.
88136
88137              source Chocolatey  repository  (directory,  share  or remote URL
88138                     feed) the package comes from. Defaults  to  the  official
88139                     Chocolatey feed.
88140
88141              pre_versions
88142                     Include  pre-release  packages in comparison. Defaults to
88143                     False.
88144
88145              CLI Example:
88146
88147                 salt "*" chocolatey.update all
88148                 salt "*" chocolatey.update <package name> pre_versions=True
88149
88150       salt.modules.chocolatey.upgrade(name,    version=None,     source=None,
88151       force=False,      pre_versions=False,      install_args=None,     over‐
88152       ride_args=False, force_x86=False, package_args=None)
88153              New in version 2016.3.4.
88154
88155
88156              Instructs Chocolatey to upgrade packages on the system.  (update
88157              is  being  deprecated). This command will install the package if
88158              not installed.
88159
88160              Parameters
88161
88162                     · name (str) -- The name of the  package  to  update,  or
88163                       "all" to update everything installed on the system.
88164
88165                     · version  (str)  --  Install  a  specific version of the
88166                       package. Defaults to latest version.
88167
88168                     · source (str) -- Chocolatey repository (directory, share
88169                       or remote URL feed) the package comes from. Defaults to
88170                       the official Chocolatey feed.
88171
88172                     · force (bool) --  Reinstall  the  same  version  already
88173                       installed
88174
88175                     · pre_versions  (bool) -- Include pre-release packages in
88176                       comparison. Defaults to False.
88177
88178                     · install_args (str) -- A list of install  arguments  you
88179                       want  to  pass  to the installation process i.e product
88180                       key or feature list
88181
88182                     · override_args (str) -- Set to true if you want to over‐
88183                       ride the original install arguments (for the native in‐
88184                       staller) in the package and use your own. When this  is
88185                       set  to  False install_args will be appended to the end
88186                       of the default arguments
88187
88188                     · force_x86 -- Force x86 (32bit) installation on  64  bit
88189                       systems. Defaults to false.
88190
88191                     · package_args -- A list of arguments you want to pass to
88192                       the package
88193
88194              Returns
88195                     Results of the chocolatey command
88196
88197              Return type
88198                     str
88199
88200              CLI Example:
88201
88202                 salt "*" chocolatey.upgrade all
88203                 salt "*" chocolatey.upgrade <package name> pre_versions=True
88204
88205       salt.modules.chocolatey.version(name, check_remote=False,  source=None,
88206       pre_versions=False)
88207              Instructs  Chocolatey to check an installed package version, and
88208              optionally compare it to one available from a remote feed.
88209
88210              Parameters
88211
88212                     · name (str)  --  The  name  of  the  package  to  check.
88213                       Required.
88214
88215                     · check_remote  (bool)  --  Get the version number of the
88216                       latest package from the remote feed.  Default is False.
88217
88218                     · source (str) -- Chocolatey repository (directory, share
88219                       or remote URL feed) the package comes from. Defaults to
88220                       the official Chocolatey feed.  Default is None.
88221
88222                     · pre_versions (bool) -- Include pre-release packages  in
88223                       comparison. Default is False.
88224
88225              Returns
88226                     A dictionary of currently installed software and versions
88227
88228              Return type
88229                     dict
88230
88231              CLI Example:
88232
88233                 salt "*" chocolatey.version <package name>
88234                 salt "*" chocolatey.version <package name> check_remote=True
88235
88236   salt.modules.chronos module
88237       Module providing a simple management interface to a chronos cluster.
88238
88239       Currently this only works when run through a proxy minion.
88240
88241       New in version 2015.8.2.
88242
88243
88244       salt.modules.chronos.has_job(name)
88245              Return whether the given job is currently configured.
88246
88247              CLI Example:
88248
88249                 salt chronos-minion-id chronos.has_job my-job
88250
88251       salt.modules.chronos.job(name)
88252              Return the current server configuration for the specified job.
88253
88254              CLI Example:
88255
88256                 salt chronos-minion-id chronos.job my-job
88257
88258       salt.modules.chronos.jobs()
88259              Return a list of the currently installed job names.
88260
88261              CLI Example:
88262
88263                 salt chronos-minion-id chronos.jobs
88264
88265       salt.modules.chronos.rm_job(name)
88266              Remove the specified job from the server.
88267
88268              CLI Example:
88269
88270                 salt chronos-minion-id chronos.rm_job my-job
88271
88272       salt.modules.chronos.update_job(name, config)
88273              Update the specified job with the given configuration.
88274
88275              CLI Example:
88276
88277                 salt chronos-minion-id chronos.update_job my-job '<config yaml>'
88278
88279   salt.modules.cimc module
88280       Module to provide Cisco UCS compatibility to Salt
88281
88282       codeauthor
88283              Spencer Ervin <spencer_ervin@hotmail.com>
88284
88285       maturity
88286              new
88287
88288       depends
88289              none
88290
88291       platform
88292              unix
88293
88294   Configuration
88295       This  module accepts connection configuration details either as parame‐
88296       ters, or as configuration settings in pillar as a Salt proxy.   Options
88297       passed into opts will be ignored if options are passed into pillar.
88298
88299       SEE ALSO:
88300          Cisco UCS Proxy Module
88301
88302   About
88303       This execution module was designed to handle connections to a Cisco UCS
88304       server.  This module adds support to send connections directly  to  the
88305       device through the rest API.
88306
88307       salt.modules.cimc.activate_backup_image(reset=False)
88308              Activates the firmware backup image.
88309
88310              CLI Example:
88311
88312              Parameters
88313                     reset (bool) -- Reset the CIMC device on activate.
88314
88315                 salt '*' cimc.activate_backup_image
88316                 salt '*' cimc.activate_backup_image reset=True
88317
88318       salt.modules.cimc.create_user(uid=None,  username=None,  password=None,
88319       priv=None)
88320              Create a CIMC user with username and password.
88321
88322              Parameters
88323
88324                     · uid (int) -- The  user  ID  slot  to  create  the  user
88325                       account in.
88326
88327                     · username (str) -- The name of the user.
88328
88329                     · password (str) -- The clear text password of the user.
88330
88331                     · priv (str) -- The privilege level of the user.
88332
88333              CLI Example:
88334
88335                 salt '*' cimc.create_user 11 username=admin password=foobar priv=admin
88336
88337       salt.modules.cimc.get_bios_defaults()
88338              Get the default values of BIOS tokens.
88339
88340              CLI Example:
88341
88342                 salt '*' cimc.get_bios_defaults
88343
88344       salt.modules.cimc.get_bios_settings()
88345              Get the C240 server BIOS token values.
88346
88347              CLI Example:
88348
88349                 salt '*' cimc.get_bios_settings
88350
88351       salt.modules.cimc.get_boot_order()
88352              Retrieves the configured boot order table.
88353
88354              CLI Example:
88355
88356                 salt '*' cimc.get_boot_order
88357
88358       salt.modules.cimc.get_cpu_details()
88359              Get the CPU product ID details.
88360
88361              CLI Example:
88362
88363                 salt '*' cimc.get_cpu_details
88364
88365       salt.modules.cimc.get_disks()
88366              Get the HDD product ID details.
88367
88368              CLI Example:
88369
88370                 salt '*' cimc.get_disks
88371
88372       salt.modules.cimc.get_ethernet_interfaces()
88373              Get the adapter Ethernet interface details.
88374
88375              CLI Example:
88376
88377                 salt '*' cimc.get_ethernet_interfaces
88378
88379       salt.modules.cimc.get_fibre_channel_interfaces()
88380              Get the adapter fibre channel interface details.
88381
88382              CLI Example:
88383
88384                 salt '*' cimc.get_fibre_channel_interfaces
88385
88386       salt.modules.cimc.get_firmware()
88387              Retrieves the current running firmware versions of server compo‐
88388              nents.
88389
88390              CLI Example:
88391
88392                 salt '*' cimc.get_firmware
88393
88394       salt.modules.cimc.get_hostname()
88395              Retrieves the hostname from the device.
88396
88397              New in version Fluorine.
88398
88399
88400              CLI Example:
88401
88402                 salt '*' cimc.get_hostname
88403
88404       salt.modules.cimc.get_ldap()
88405              Retrieves LDAP server details.
88406
88407              CLI Example:
88408
88409                 salt '*' cimc.get_ldap
88410
88411       salt.modules.cimc.get_management_interface()
88412              Retrieve the management interface details.
88413
88414              CLI Example:
88415
88416                 salt '*' cimc.get_management_interface
88417
88418       salt.modules.cimc.get_memory_token()
88419              Get the memory RAS BIOS token.
88420
88421              CLI Example:
88422
88423                 salt '*' cimc.get_memory_token
88424
88425       salt.modules.cimc.get_memory_unit()
88426              Get the IMM/Memory unit product ID details.
88427
88428              CLI Example:
88429
88430                 salt '*' cimc.get_memory_unit
88431
88432       salt.modules.cimc.get_network_adapters()
88433              Get the list of network adapaters and configuration details.
88434
88435              CLI Example:
88436
88437                 salt '*' cimc.get_network_adapters
88438
88439       salt.modules.cimc.get_ntp()
88440              Retrieves the current running NTP configuration.
88441
88442              CLI Example:
88443
88444                 salt '*' cimc.get_ntp
88445
88446       salt.modules.cimc.get_pci_adapters()
88447              Get the PCI adapter product ID details.
88448
88449              CLI Example:
88450
88451                 salt '*' cimc.get_disks
88452
88453       salt.modules.cimc.get_power_configuration()
88454              Get the configuration of the power  settings  from  the  device.
88455              This is only available on some C-Series servers.
88456
88457              New in version Fluorine.
88458
88459
88460              CLI Example:
88461
88462                 salt '*' cimc.get_power_configuration
88463
88464       salt.modules.cimc.get_power_supplies()
88465              Retrieves the power supply unit details.
88466
88467              CLI Example:
88468
88469                 salt '*' cimc.get_power_supplies
88470
88471       salt.modules.cimc.get_snmp_config()
88472              Get the snmp configuration details.
88473
88474              CLI Example:
88475
88476                 salt '*' cimc.get_snmp_config
88477
88478       salt.modules.cimc.get_syslog()
88479              Get the Syslog client-server details.
88480
88481              CLI Example:
88482
88483                 salt '*' cimc.get_syslog
88484
88485       salt.modules.cimc.get_syslog_settings()
88486              Get the Syslog configuration settings from the system.
88487
88488              New in version Fluorine.
88489
88490
88491              CLI Example:
88492
88493                 salt '*' cimc.get_syslog_settings
88494
88495       salt.modules.cimc.get_system_info()
88496              Get the system information.
88497
88498              CLI Example:
88499
88500                 salt '*' cimc.get_system_info
88501
88502       salt.modules.cimc.get_users()
88503              Get the CIMC users.
88504
88505              CLI Example:
88506
88507                 salt '*' cimc.get_users
88508
88509       salt.modules.cimc.get_vic_adapters()
88510              Get the VIC adapter general profile details.
88511
88512              CLI Example:
88513
88514                 salt '*' cimc.get_vic_adapters
88515
88516       salt.modules.cimc.get_vic_uplinks()
88517              Get the VIC adapter uplink port details.
88518
88519              CLI Example:
88520
88521                 salt '*' cimc.get_vic_uplinks
88522
88523       salt.modules.cimc.mount_share(name=None,             remote_share=None,
88524       remote_file=None, mount_type=u'nfs', username=None, password=None)
88525              Mounts a remote file through a  remote  share.  Currently,  this
88526              feature  is  supported  in  version  1.5 or greater.  The remote
88527              share can be either NFS, CIFS, or WWW.
88528
88529              Some of the advantages of CIMC Mounted vMedia include:
88530                     Communication between  mounted  media  and  target  stays
88531                     local   (inside   datacenter)   Media   mounts   can   be
88532                     scripted/automated No vKVM requirements for media connec‐
88533                     tion Multiple share types supported Connections supported
88534                     through all CIMC interfaces
88535
88536                     Note: CIMC Mounted vMedia is enabled through BIOS config‐
88537                     uration.
88538
88539              Parameters
88540
88541                     · name  (str)  --  The  name  of  the  volume on the CIMC
88542                       device.
88543
88544                     · remote_share (str) -- The file share link that will  be
88545                       used to mount the share. This can be NFS, CIFS, or WWW.
88546                       This
88547
88548                     · be the directory path and not  the  full  path  to  the
88549                       remote file. (must) --
88550
88551                     · remote_file  (str)  --  The  name of the remote file to
88552                       mount. It must reside within remote_share.
88553
88554                     · mount_type (str) -- The type of share to  mount.  Valid
88555                       options are nfs, cifs, and www.
88556
88557                     · username  (str) -- An optional requirement to pass cre‐
88558                       dentials to the remote share. If not provided, an
88559
88560                     · connection attempt will be made. (unauthenticated) --
88561
88562                     · password (str) -- An optional  requirement  to  pass  a
88563                       password to the remote share. If not provided, an
88564
88565                     · connection attempt will be made. --
88566
88567              CLI Example:
88568
88569                 salt '*' cimc.mount_share name=WIN7 remote_share=10.xxx.27.xxx:/nfs remote_file=sl1huu.iso
88570
88571                 salt '*' cimc.mount_share name=WIN7 remote_share=10.xxx.27.xxx:/nfs remote_file=sl1huu.iso username=bob password=badpassword
88572
88573       salt.modules.cimc.reboot()
88574              Power cycling the server.
88575
88576              CLI Example:
88577
88578                 salt '*' cimc.reboot
88579
88580       salt.modules.cimc.set_hostname(hostname=None)
88581              Sets the hostname on the server.
88582
88583              New in version Fluorine.
88584
88585
88586              Parameters
88587                     hostname (str) -- The new hostname to set.
88588
88589              CLI Example:
88590
88591                 salt '*' cimc.set_hostname foobar
88592
88593       salt.modules.cimc.set_logging_levels(remote=None, local=None)
88594              Sets  the logging levels of the CIMC devices. The logging levels
88595              must match the following options:  emergency,  alert,  critical,
88596              error, warning, notice, informational, debug.
88597
88598              New in version Fluorine.
88599
88600
88601              Parameters
88602
88603                     · remote (str) -- The logging level for SYSLOG logs.
88604
88605                     · local (str) -- The logging level for the local device.
88606
88607              CLI Example:
88608
88609                 salt '*' cimc.set_logging_levels remote=error local=notice
88610
88611       salt.modules.cimc.set_ntp_server(server1=u'', server2=u'', server3=u'',
88612       server4=u'')
88613              Sets the NTP servers configuration. This will  also  enable  the
88614              client NTP service.
88615
88616              Parameters
88617
88618                     · server1  (str)  --  The first IP address or FQDN of the
88619                       NTP servers.
88620
88621                     · server2 (str) -- The second IP address or FQDN  of  the
88622                       NTP servers.
88623
88624                     · server3  (str)  --  The third IP address or FQDN of the
88625                       NTP servers.
88626
88627                     · server4 (str) -- The fourth IP address or FQDN  of  the
88628                       NTP servers.
88629
88630              CLI Example:
88631
88632                 salt '*' cimc.set_ntp_server 10.10.10.1
88633
88634                 salt '*' cimc.set_ntp_server 10.10.10.1 foo.bar.com
88635
88636       salt.modules.cimc.set_power_configuration(policy=None,  delayType=None,
88637       delayValue=None)
88638              Sets the power configuration on the device. This is only  avail‐
88639              able for some C-Series servers.
88640
88641              New in version Fluorine.
88642
88643
88644              Parameters
88645
88646                     · policy  (str)  --  The  action to be taken when chassis
88647                       power is restored after
88648
88649                     · unexpected power loss. This can be one of the following
88650                       (an) --
88651
88652                       reset:  The  server is allowed to boot up normally when
88653                       power is restored. The server can  restart  immediately
88654                       or, optionally, after a fixed or random delay.
88655
88656                       stay-off:  The  server remains off until it is manually
88657                       restarted.
88658
88659                       last-state: The server restarts and the system attempts
88660                       to restore any processes that were running before power
88661                       was lost.
88662
88663
88664                     · delayType (str) -- If the selected policy is reset, the
88665                       restart can be
88666
88667                     · with  this  option.  This  can  be one of the following
88668                       (delayed) --
88669
88670                       fixed: The server restarts after a fixed delay.
88671
88672                       random: The server restarts after a random delay.
88673
88674
88675                     · delayValue (int) -- If a fixed delay is selected,  once
88676                       chassis power is
88677
88678                     · and  the  Cisco  IMC has finished rebooting, the system
88679                       waits for (restored) --
88680
88681                     · specified  number  of  seconds  before  restarting  the
88682                       server. Enter an (the) --
88683
88684                     · between 0 and 240. (integer) --
88685
88686              CLI Example:
88687
88688                 salt '*' cimc.set_power_configuration stay-off
88689
88690                 salt '*' cimc.set_power_configuration reset fixed 0
88691
88692       salt.modules.cimc.set_syslog_server(server=None, type=u'primary')
88693              Set the SYSLOG server on the host.
88694
88695              Parameters
88696
88697                     · server  (str) -- The hostname or IP address of the SYS‐
88698                       LOG server.
88699
88700                     · type (str) -- Specifies the type of SYSLOG server. This
88701                       can either be primary (default) or secondary.
88702
88703              CLI Example:
88704
88705                 salt '*' cimc.set_syslog_server foo.bar.com
88706
88707                 salt '*' cimc.set_syslog_server foo.bar.com primary
88708
88709                 salt '*' cimc.set_syslog_server foo.bar.com secondary
88710
88711       salt.modules.cimc.set_user(uid=None,    username=None,   password=None,
88712       priv=None, status=None)
88713              Sets a CIMC user with specified configurations.
88714
88715              New in version Fluorine.
88716
88717
88718              Parameters
88719
88720                     · uid (int) -- The  user  ID  slot  to  create  the  user
88721                       account in.
88722
88723                     · username (str) -- The name of the user.
88724
88725                     · password (str) -- The clear text password of the user.
88726
88727                     · priv (str) -- The privilege level of the user.
88728
88729                     · status (str) -- The account status of the user.
88730
88731              CLI Example:
88732
88733                 salt '*' cimc.set_user 11 username=admin password=foobar priv=admin active
88734
88735       salt.modules.cimc.tftp_update_bios(server=None, path=None)
88736              Update the BIOS firmware through TFTP.
88737
88738              Parameters
88739
88740                     · server  (str) -- The IP address or hostname of the TFTP
88741                       server.
88742
88743                     · path (str) -- The TFTP path and filename for  the  BIOS
88744                       image.
88745
88746              CLI Example:
88747
88748                 salt '*' cimc.tftp_update_bios foo.bar.com HP-SL2.cap
88749
88750       salt.modules.cimc.tftp_update_cimc(server=None, path=None)
88751              Update the CIMC firmware through TFTP.
88752
88753              Parameters
88754
88755                     · server  (str) -- The IP address or hostname of the TFTP
88756                       server.
88757
88758                     · path (str) -- The TFTP path and filename for  the  CIMC
88759                       image.
88760
88761              CLI Example:
88762
88763                 salt '*' cimc.tftp_update_cimc foo.bar.com HP-SL2.bin
88764
88765   salt.modules.ciscoconfparse_mod module
88766       Execution module for ciscoconfparse
88767
88768       New in version Fluorine.
88769
88770
88771       This module can be used for basic configuration parsing, audit or vali‐
88772       dation for a variety of network platforms having Cisco IOS  style  con‐
88773       figuration  (one space indentation), including: Cisco IOS, Cisco Nexus,
88774       Cisco  IOS-XR,  Cisco  IOS-XR,  Cisco  ASA,  Arista  EOS,  Brocade,  HP
88775       Switches,  Dell  PowerConnect Switches, or Extreme Networks devices. In
88776       newer versions, ciscoconfparse  provides  support  for  brace-delimited
88777       configuration style as well, for platforms such as: Juniper Junos, Palo
88778       Alto, or F5 Networks.
88779
88780       See http://www.pennington.net/py/ciscoconfparse/index.html for  further
88781       details.
88782
88783       depends
88784              ciscoconfparse
88785
88786       This  module  depends  on the Python library with the same name, cisco‐
88787       confparse - to install execute: pip install ciscoconfparse.
88788
88789       salt.modules.ciscoconfparse_mod.filter_lines(config=None,          con‐
88790       fig_path=None, parent_regex=None, child_regex=None, saltenv=u'base')
88791              Return  a list of detailed matches, for the configuration blocks
88792              (parent-child relationship) whose parent  respects  the  regular
88793              expressions  configured  via  the parent_regex argument, and the
88794              child matches the child_regex regular expression. The result  is
88795              a list of dictionaries with the following keys:
88796
88797              · match:  a boolean value that tells whether child_regex matched
88798                any children lines.
88799
88800              · parent: the parent line (as text).
88801
88802              · child: the child line (as text). If  no  child  line  matched,
88803                this field will be None.
88804
88805              Note that the return list contains the elements that matched the
88806              parent condition, the parent_regex  regular  expression.  There‐
88807              fore,  the  parent  field  will always have a valid value, while
88808              match and child may default to False and None respectively  when
88809              there is not child match.
88810
88811              CLI Example:
88812
88813                 salt '*' ciscoconfparse.filter_lines config_path=https://bit.ly/2mAdq7z parent_regex='Gigabit' child_regex='shutdown'
88814
88815              Example output (for the example above):
88816
88817                 [
88818                     {
88819                         'parent': 'interface GigabitEthernet1',
88820                         'match': False,
88821                         'child': None
88822                     },
88823                     {
88824                         'parent': 'interface GigabitEthernet2',
88825                         'match': True,
88826                         'child': ' shutdown'
88827                     },
88828                     {
88829                         'parent': 'interface GigabitEthernet3',
88830                         'match': True,
88831                         'child': ' shutdown'
88832                     }
88833                 ]
88834
88835       salt.modules.ciscoconfparse_mod.find_lines(config=None,            con‐
88836       fig_path=None, regex=None, saltenv=u'base')
88837              Return all the lines (as text) that match the expression in  the
88838              regex argument.
88839
88840              config The configuration sent as text.
88841
88842                     NOTE:
88843                        This  argument  is  ignored when config_path is speci‐
88844                        fied.
88845
88846              config_path
88847                     The absolute or remote path to the file with the configu‐
88848                     ration  to  be  parsed.  This argument supports the usual
88849                     Salt filesystem URIs, e.g.,  salt://,  https://,  ftp://,
88850                     s3://, etc.
88851
88852              regex  The regular expression to match the lines against.
88853
88854              saltenv: base
88855                     Salt  fileserver  environment  from which to retrieve the
88856                     file. This argument is ignored when config_path is not  a
88857                     salt:// URL.
88858
88859              CLI Example:
88860
88861                 salt '*' ciscoconfparse.find_lines config_path=https://bit.ly/2mAdq7z regex='ip address'
88862
88863              Output example:
88864
88865                 cisco-ios-router:
88866                      -  ip address dhcp
88867                      -  ip address 172.20.0.1 255.255.255.0
88868                      -  no ip address
88869
88870       salt.modules.ciscoconfparse_mod.find_lines_w_child(config=None,    con‐
88871       fig_path=None,  parent_regex=None,  child_regex=None,  ignore_ws=False,
88872       saltenv=u'base')
88873              Return  a  list  of parent lines (as text)  matching the regular
88874              expression  parent_regex  that  have  children  lines   matching
88875              child_regex.
88876
88877              config The configuration sent as text.
88878
88879                     NOTE:
88880                        This  argument  is  ignored when config_path is speci‐
88881                        fied.
88882
88883              config_path
88884                     The absolute or remote path to the file with the configu‐
88885                     ration  to  be  parsed.  This argument supports the usual
88886                     Salt filesystem URIs, e.g.,  salt://,  https://,  ftp://,
88887                     s3://, etc.
88888
88889              parent_regex
88890                     The regular expression to match the parent lines against.
88891
88892              child_regex
88893                     The regular expression to match the child lines against.
88894
88895              ignore_ws: False
88896                     Whether to ignore the white spaces.
88897
88898              saltenv: base
88899                     Salt  fileserver  environment  from which to retrieve the
88900                     file. This argument is ignored when config_path is not  a
88901                     salt:// URL.
88902
88903              CLI Example:
88904
88905                 salt '*' ciscoconfparse.find_lines_w_child config_path=https://bit.ly/2mAdq7z parent_line='line con' child_line='stopbits'
88906                 salt '*' ciscoconfparse.find_lines_w_child config_path=https://bit.ly/2uIRxau parent_regex='ge-(.*)' child_regex='unit \d+'
88907
88908       salt.modules.ciscoconfparse_mod.find_lines_wo_child(config=None,   con‐
88909       fig_path=None,  parent_regex=None,  child_regex=None,  ignore_ws=False,
88910       saltenv=u'base')
88911              Return a list of parent ciscoconfparse.IOSCfgLine lines as text,
88912              which matched the parent_regex and whose children did not  match
88913              child_regex.   Only  the  parent  ciscoconfparse.IOSCfgLine text
88914              lines  will be returned.  For simplicity, this method only finds
88915              oldest ancestors without immediate children that match.
88916
88917              config The configuration sent as text.
88918
88919                     NOTE:
88920                        This  argument  is  ignored when config_path is speci‐
88921                        fied.
88922
88923              config_path
88924                     The absolute or remote path to the file with the configu‐
88925                     ration  to  be  parsed.  This argument supports the usual
88926                     Salt filesystem URIs, e.g.,  salt://,  https://,  ftp://,
88927                     s3://, etc.
88928
88929              parent_regex
88930                     The regular expression to match the parent lines against.
88931
88932              child_regex
88933                     The regular expression to match the child lines against.
88934
88935              ignore_ws: False
88936                     Whether to ignore the white spaces.
88937
88938              saltenv: base
88939                     Salt  fileserver  environment  from which to retrieve the
88940                     file. This argument is ignored when config_path is not  a
88941                     salt:// URL.
88942
88943              CLI Example:
88944
88945                 salt '*' ciscoconfparse.find_lines_wo_child config_path=https://bit.ly/2mAdq7z parent_line='line con' child_line='stopbits'
88946
88947       salt.modules.ciscoconfparse_mod.find_objects(config=None,          con‐
88948       fig_path=None, regex=None, saltenv=u'base')
88949              Return all the line objects that match  the  expression  in  the
88950              regex argument.
88951
88952              WARNING:
88953                 This function is mostly valuable when invoked from other Salt
88954                 components (i.e., execution modules, states, templates etc.).
88955                 For    CLI    usage,   please   consider   using   ciscoconf‐
88956                 parse.find_lines
88957
88958              config The configuration sent as text.
88959
88960                     NOTE:
88961                        This argument is ignored when  config_path  is  speci‐
88962                        fied.
88963
88964              config_path
88965                     The absolute or remote path to the file with the configu‐
88966                     ration to be parsed. This  argument  supports  the  usual
88967                     Salt  filesystem  URIs,  e.g., salt://, https://, ftp://,
88968                     s3://, etc.
88969
88970              regex  The regular expression to match the lines against.
88971
88972              saltenv: base
88973                     Salt fileserver environment from which  to  retrieve  the
88974                     file.  This argument is ignored when config_path is not a
88975                     salt:// URL.
88976
88977              Usage example:
88978
88979                 objects = __salt__['ciscoconfparse.find_objects'](config_path='salt://path/to/config.txt',
88980                                                                   regex='Gigabit')
88981                 for obj in objects:
88982                     print(obj.text)
88983
88984       salt.modules.ciscoconfparse_mod.find_objects_w_child(config=None,  con‐
88985       fig_path=None,  parent_regex=None,  child_regex=None,  ignore_ws=False,
88986       saltenv=u'base')
88987              Parse through the children of all  parent  lines  matching  par‐
88988              ent_regex, and return a list of child objects, which matched the
88989              child_regex.
88990
88991              WARNING:
88992                 This function is mostly valuable when invoked from other Salt
88993                 components (i.e., execution modules, states, templates etc.).
88994                 For   CLI   usage,   please   consider    using    ciscoconf‐
88995                 parse.find_lines_w_child
88996
88997              config The configuration sent as text.
88998
88999                     NOTE:
89000                        This  argument  is  ignored when config_path is speci‐
89001                        fied.
89002
89003              config_path
89004                     The absolute or remote path to the file with the configu‐
89005                     ration  to  be  parsed.  This argument supports the usual
89006                     Salt filesystem URIs, e.g.,  salt://,  https://,  ftp://,
89007                     s3://, etc.
89008
89009              parent_regex
89010                     The regular expression to match the parent lines against.
89011
89012              child_regex
89013                     The regular expression to match the child lines against.
89014
89015              ignore_ws: False
89016                     Whether to ignore the white spaces.
89017
89018              saltenv: base
89019                     Salt  fileserver  environment  from which to retrieve the
89020                     file. This argument is ignored when config_path is not  a
89021                     salt:// URL.
89022
89023              Usage example:
89024
89025                 objects = __salt__['ciscoconfparse.find_objects_w_child'](config_path='https://bit.ly/2mAdq7z',
89026                                                                           parent_regex='line con',
89027                                                                           child_regex='stopbits')
89028                 for obj in objects:
89029                     print(obj.text)
89030
89031       salt.modules.ciscoconfparse_mod.find_objects_wo_child(config=None, con‐
89032       fig_path=None,  parent_regex=None,  child_regex=None,  ignore_ws=False,
89033       saltenv=u'base')
89034              Return a list of parent ciscoconfparse.IOSCfgLine objects, which
89035              matched the  parent_regex  and  whose  children  did  not  match
89036              child_regex.   Only the parent ciscoconfparse.IOSCfgLine objects
89037              will be returned. For simplicity, this method only finds  oldest
89038              ancestors without immediate children that match.
89039
89040              WARNING:
89041                 This function is mostly valuable when invoked from other Salt
89042                 components (i.e., execution modules, states, templates etc.).
89043                 For    CLI    usage,   please   consider   using   ciscoconf‐
89044                 parse.find_lines_wo_child
89045
89046              config The configuration sent as text.
89047
89048                     NOTE:
89049                        This argument is ignored when  config_path  is  speci‐
89050                        fied.
89051
89052              config_path
89053                     The absolute or remote path to the file with the configu‐
89054                     ration to be parsed. This  argument  supports  the  usual
89055                     Salt  filesystem  URIs,  e.g., salt://, https://, ftp://,
89056                     s3://, etc.
89057
89058              parent_regex
89059                     The regular expression to match the parent lines against.
89060
89061              child_regex
89062                     The regular expression to match the child lines against.
89063
89064              ignore_ws: False
89065                     Whether to ignore the white spaces.
89066
89067              saltenv: base
89068                     Salt fileserver environment from which  to  retrieve  the
89069                     file.  This argument is ignored when config_path is not a
89070                     salt:// URL.
89071
89072              Usage example:
89073
89074                 objects = __salt__['ciscoconfparse.find_objects_wo_child'](config_path='https://bit.ly/2mAdq7z',
89075                                                                            parent_regex='line con',
89076                                                                            child_regex='stopbits')
89077                 for obj in objects:
89078                     print(obj.text)
89079
89080   salt.modules.cisconso
89081       Execution module for Cisco Network Services Orchestrator Proxy minions
89082
89083       For documentation on setting up the cisconso proxy minion look  in  the
89084       documentation for salt.proxy.cisconso.
89085
89086       salt.modules.cisconso.apply_rollback(datastore, name)
89087              Apply a system rollback
89088
89089              Parameters
89090
89091                     · datastore (DatastoreType (str enum).) -- The datastore,
89092                       e.g. running, operational.  One of  the  NETCONF  store
89093                       IETF types
89094
89095                     · name (str) -- an ID of the rollback to restore
89096
89097                 salt cisco-nso cisconso.apply_rollback 52
89098
89099       salt.modules.cisconso.get_data(datastore, path)
89100              Get the configuration of the device tree at the given path
89101
89102              Parameters
89103
89104                     · datastore (DatastoreType (str enum).) -- The datastore,
89105                       e.g. running, operational.  One of  the  NETCONF  store
89106                       IETF types
89107
89108                     · path (list, str OR tuple) -- The device path to set the
89109                       value at, a list of element names in order, / separated
89110
89111              Returns
89112                     The network configuration at that tree
89113
89114              Return type
89115                     dict
89116
89117                 salt cisco-nso cisconso.get_data running 'devices/ex0'
89118
89119       salt.modules.cisconso.get_rollback(name)
89120              Get the backup of stored a configuration rollback
89121
89122              Parameters
89123                     name (str) -- Typically an ID of the backup
89124
89125              Return type
89126                     str
89127
89128              Returns
89129                     the contents of the rollback snapshot
89130
89131                 salt cisco-nso cisconso.get_rollback 52
89132
89133       salt.modules.cisconso.get_rollbacks()
89134              Get a list of stored configuration rollbacks
89135
89136                 salt cisco-nso cisconso.get_rollbacks
89137
89138       salt.modules.cisconso.info()
89139              Return system information for grains of the NSO proxy minion
89140
89141                 salt '*' cisconso.info
89142
89143       salt.modules.cisconso.set_data_value(datastore, path, data)
89144              Set a data entry in a datastore
89145
89146              Parameters
89147
89148                     · datastore (DatastoreType (str enum).) -- The datastore,
89149                       e.g.  running,  operational.   One of the NETCONF store
89150                       IETF types
89151
89152                     · path (list, str OR tuple) -- The device path to set the
89153                       value at, a list of element names in order, / separated
89154
89155                     · data (dict) -- The new value at the given path
89156
89157              Return type
89158                     bool
89159
89160              Returns
89161                     True if successful, otherwise error.
89162
89163                 salt cisco-nso cisconso.set_data_value running 'devices/ex0/routes' 10.0.0.20/24
89164
89165   salt.modules.cloud
89166       Salt-specific interface for calling Salt Cloud directly
89167
89168       salt.modules.cloud.action(fun=None,      cloudmap=None,     names=None,
89169       provider=None, instance=None, **kwargs)
89170              Execute a single action on the given provider/instance
89171
89172              CLI Example:
89173
89174                 salt minionname cloud.action start instance=myinstance
89175                 salt minionname cloud.action stop instance=myinstance
89176                 salt minionname cloud.action show_image provider=my-ec2-config image=ami-1624987f
89177
89178       salt.modules.cloud.create(provider, names, opts=None, **kwargs)
89179              Create an instance using Salt Cloud
89180
89181              CLI Example:
89182
89183                 salt minionname cloud.create my-ec2-config myinstance image=ami-1624987f size='t1.micro' ssh_username=ec2-user securitygroup=default delvol_on_destroy=True
89184
89185       salt.modules.cloud.destroy(names)
89186              Destroy the named VM(s)
89187
89188              CLI Example:
89189
89190                 salt minionname cloud.destroy myinstance
89191
89192       salt.modules.cloud.full_query(query_type=u'list_nodes_full')
89193              List all available cloud provider data
89194
89195              CLI Example:
89196
89197                 salt minionname cloud.full_query
89198
89199       salt.modules.cloud.get_instance(name, provider=None)
89200              Return details on an instance.
89201
89202              Similar to the cloud action show_instance but returns  only  the
89203              instance details.
89204
89205              CLI Example:
89206
89207                 salt minionname cloud.get_instance myinstance
89208
89209              SLS Example:
89210
89211                 {{ salt['cloud.get_instance']('myinstance')['mac_address'] }}
89212
89213       salt.modules.cloud.has_instance(name, provider=None)
89214              Return true if the instance is found on a provider
89215
89216              CLI Example:
89217
89218                 salt minionname cloud.has_instance myinstance
89219
89220       salt.modules.cloud.list_images(provider=u'all')
89221              List cloud provider images for the given providers
89222
89223              CLI Example:
89224
89225                 salt minionname cloud.list_images my-gce-config
89226
89227       salt.modules.cloud.list_locations(provider=u'all')
89228              List cloud provider locations for the given providers
89229
89230              CLI Example:
89231
89232                 salt minionname cloud.list_locations my-gce-config
89233
89234       salt.modules.cloud.list_sizes(provider=u'all')
89235              List cloud provider sizes for the given providers
89236
89237              CLI Example:
89238
89239                 salt minionname cloud.list_sizes my-gce-config
89240
89241       salt.modules.cloud.map_run(path=None, **kwargs)
89242              Execute a salt cloud map file
89243
89244              Cloud Map data can be retrieved from several sources:
89245
89246              · a local file (provide the path to the file to the 'path' argu‐
89247                ment)
89248
89249              · a JSON-formatted map directly (provide the appropriately  for‐
89250                matted to using the 'map_data' argument)
89251
89252              · the   Salt  Pillar  (provide  the  map  name  of  under  'pil‐
89253                lar:cloud:maps' to the 'map_pillar' argument)
89254
89255              NOTE:
89256                 Only one of these sources can be read at a time. The  options
89257                 are listed in their order of precedence.
89258
89259              CLI Examples:
89260
89261                 salt minionname cloud.map_run /path/to/cloud.map
89262                 salt minionname cloud.map_run path=/path/to/cloud.map
89263                 salt minionname cloud.map_run map_pillar='<map_pillar>'
89264                   .. versionchanged:: 2018.3.1
89265                 salt minionname cloud.map_run map_data='<actual map data>'
89266
89267       salt.modules.cloud.network_create(provider, names, **kwargs)
89268              Create private network
89269
89270              CLI Example:
89271
89272                 salt minionname cloud.network_create my-nova names=['salt'] cidr='192.168.100.0/24'
89273
89274       salt.modules.cloud.network_list(provider)
89275              List private networks
89276
89277              CLI Example:
89278
89279                 salt minionname cloud.network_list my-nova
89280
89281       salt.modules.cloud.profile_(profile,      names,     vm_overrides=None,
89282       opts=None, **kwargs)
89283              Spin up an instance using Salt Cloud
89284
89285              CLI Example:
89286
89287                 salt minionname cloud.profile my-gce-config myinstance
89288
89289       salt.modules.cloud.query(query_type=u'list_nodes')
89290              List cloud provider data for all providers
89291
89292              CLI Examples:
89293
89294                 salt minionname cloud.query
89295                 salt minionname cloud.query list_nodes_full
89296                 salt minionname cloud.query list_nodes_select
89297
89298       salt.modules.cloud.select_query(query_type=u'list_nodes_select')
89299              List selected nodes
89300
89301              CLI Example:
89302
89303                 salt minionname cloud.select_query
89304
89305       salt.modules.cloud.virtual_interface_create(provider, names, **kwargs)
89306              Attach private interfaces to a server
89307
89308              CLI Example:
89309
89310                 salt minionname cloud.virtual_interface_create my-nova names=['salt-master'] net_name='salt'
89311
89312       salt.modules.cloud.virtual_interface_list(provider, names, **kwargs)
89313              List virtual interfaces on a server
89314
89315              CLI Example:
89316
89317                 salt minionname cloud.virtual_interface_list my-nova names=['salt-master']
89318
89319       salt.modules.cloud.volume_attach(provider, names, **kwargs)
89320              Attach volume to a server
89321
89322              CLI Example:
89323
89324                 salt minionname cloud.volume_attach my-nova myblock server_name=myserver device='/dev/xvdf'
89325
89326       salt.modules.cloud.volume_create(provider, names, **kwargs)
89327              Create volume
89328
89329              CLI Example:
89330
89331                 salt minionname cloud.volume_create my-nova myblock size=100 voltype=SSD
89332
89333       salt.modules.cloud.volume_delete(provider, names, **kwargs)
89334              Delete volume
89335
89336              CLI Example:
89337
89338                 salt minionname cloud.volume_delete my-nova myblock
89339
89340       salt.modules.cloud.volume_detach(provider, names, **kwargs)
89341              Detach volume from a server
89342
89343              CLI Example:
89344
89345                 salt minionname cloud.volume_detach my-nova myblock server_name=myserver
89346
89347       salt.modules.cloud.volume_list(provider)
89348              List block storage volumes
89349
89350              CLI Example:
89351
89352                 salt minionname cloud.volume_list my-nova
89353
89354   salt.modules.cmdmod
89355       A module for shelling out.
89356
89357       Keep in mind that this module is insecure, in that it can give whomever
89358       has access to the master root execution access to all salt minions.
89359
89360       salt.modules.cmdmod.exec_code(lang,    code,    cwd=None,    args=None,
89361       **kwargs)
89362              Pass in two strings, the first naming the  executable  language,
89363              aka  - python2, python3, ruby, perl, lua, etc. the second string
89364              containing the code you wish to  execute.  The  stdout  will  be
89365              returned.
89366
89367              All parameters from cmd.run_all except python_shell can be used.
89368
89369              CLI Example:
89370
89371                 salt '*' cmd.exec_code ruby 'puts "cheese"'
89372                 salt '*' cmd.exec_code ruby 'puts "cheese"' args='["arg1", "arg2"]' env='{"FOO": "bar"}'
89373
89374       salt.modules.cmdmod.exec_code_all(lang,   code,   cwd=None,  args=None,
89375       **kwargs)
89376              Pass in two strings, the first naming the  executable  language,
89377              aka  - python2, python3, ruby, perl, lua, etc. the second string
89378              containing the code you wish to execute. All cmd artifacts (std‐
89379              out, stderr, retcode, pid) will be returned.
89380
89381              All parameters from cmd.run_all except python_shell can be used.
89382
89383              CLI Example:
89384
89385                 salt '*' cmd.exec_code_all ruby 'puts "cheese"'
89386                 salt '*' cmd.exec_code_all ruby 'puts "cheese"' args='["arg1", "arg2"]' env='{"FOO": "bar"}'
89387
89388       salt.modules.cmdmod.has_exec(cmd)
89389              Returns true if the executable is available on the minion, false
89390              otherwise
89391
89392              CLI Example:
89393
89394                 salt '*' cmd.has_exec cat
89395
89396       salt.modules.cmdmod.powershell(cmd, cwd=None,  stdin=None,  runas=None,
89397       shell='/bin/zsh',     env=None,     clean_env=False,     template=None,
89398       rstrip=True,       umask=None,        output_encoding=None,        out‐
89399       put_loglevel=u'debug',   hide_output=False,   timeout=None,  reset_sys‐
89400       tem_locale=True, ignore_retcode=False,  saltenv=u'base',  use_vt=False,
89401       password=None,   depth=None,  encode_cmd=False,  success_retcodes=None,
89402       **kwargs)
89403              Execute the passed PowerShell command and return the output as a
89404              dictionary.
89405
89406              Other  cmd.*  functions  (besides cmd.powershell_all) return the
89407              raw text output of the command. This  function  appends  |  Con‐
89408              vertTo-JSON  to  the  command  and  then  parses the JSON into a
89409              Python dictionary. If you want the raw textual  result  of  your
89410              PowerShell  command you should use cmd.run with the shell=power‐
89411              shell option.
89412
89413              For example:
89414
89415                 salt '*' cmd.run '$PSVersionTable.CLRVersion' shell=powershell
89416                 salt '*' cmd.run 'Get-NetTCPConnection' shell=powershell
89417
89418              New in version 2016.3.0.
89419
89420
89421              WARNING:
89422                 This passes the cmd argument directly to  PowerShell  without
89423                 any  further  processing!  Be  absolutely  sure that you have
89424                 properly sanitized the command passed to this function and do
89425                 not use untrusted inputs.
89426
89427              In  addition  to  the  normal  cmd.run  parameters, this command
89428              offers the depth parameter to change the Windows  default  depth
89429              for  the  ConvertTo-JSON powershell command. The Windows default
89430              is 2. If you need more depth, set that here.
89431
89432              NOTE:
89433                 For some commands, setting the depth to a value greater  than
89434                 4  greatly  increases  the  time  it takes for the command to
89435                 return and in many cases returns useless data.
89436
89437              Parameters
89438
89439                     · cmd (str) -- The powershell command to run.
89440
89441                     · cwd (str) -- The directory from which  to  execute  the
89442                       command.  Defaults  to  the  home directory of the user
89443                       specified by runas (or the user  under  which  Salt  is
89444                       running if runas is not specified).
89445
89446                     · stdin (str) -- A string of standard input can be speci‐
89447                       fied for the command to be run using the stdin  parame‐
89448                       ter. This can be useful in cases where sensitive infor‐
89449                       mation must be read from standard input.
89450
89451                     · runas (str) -- Specify an alternate  user  to  run  the
89452                       command.  The  default  behavior  is to run as the user
89453                       under which Salt is running. If running  on  a  Windows
89454                       minion you must also use the password argument, and the
89455                       target user  account  must  be  in  the  Administrators
89456                       group.
89457
89458                     · password (str) --
89459
89460                       Windows  only.  Required  when  specifying  runas. This
89461                       parameter will be ignored on non-Windows platforms.
89462
89463                       New in version 2016.3.0.
89464
89465
89466
89467                     · shell (str) -- Specify an alternate shell. Defaults  to
89468                       the system's default shell.
89469
89470                     · python_shell  (bool) -- If False, let python handle the
89471                       positional arguments. Set to True  to  use  shell  fea‐
89472                       tures, such as pipes or redirection.
89473
89474                     · env (dict) --
89475
89476                       Environment variables to be set prior to execution.
89477
89478                       NOTE:
89479                          When  passing environment variables on the CLI, they
89480                          should be passed as the string representation  of  a
89481                          dictionary.
89482
89483                              salt myminion cmd.powershell 'some command' env='{"FOO": "bar"}'
89484
89485
89486                     · clean_env  (bool)  --  Attempt  to  clean out all other
89487                       shell environment variables and set only those provided
89488                       in the 'env' argument to this function.
89489
89490                     · template  (str)  -- If this setting is applied then the
89491                       named templating engine will  be  used  to  render  the
89492                       downloaded  file.  Currently jinja, mako, and wempy are
89493                       supported.
89494
89495                     · rstrip (bool) -- Strip all whitespace off  the  end  of
89496                       output before it is returned.
89497
89498                     · umask (str) -- The umask (in octal) to use when running
89499                       the command.
89500
89501                     · output_encoding (str) --
89502
89503                       Control the encoding used to decode the command's  out‐
89504                       put.
89505
89506                       NOTE:
89507                          This  should  not  need to be used in most cases. By
89508                          default, Salt will try to use the encoding  detected
89509                          from  the system locale, and will fall back to UTF-8
89510                          if this fails. This should only need to be  used  in
89511                          cases  where the output of the command is encoded in
89512                          something other than the system locale or UTF-8.
89513
89514                          To see the encoding Salt has detected from the  sys‐
89515                          tem  locale,  check the locale line in the output of
89516                          test.versions_report.
89517
89518                       New in version 2018.3.0.
89519
89520
89521
89522                     · output_loglevel (str) --
89523
89524                       Control the loglevel at which the output from the  com‐
89525                       mand is logged to the minion log.
89526
89527                       NOTE:
89528                          The  command  being  run will still be logged at the
89529                          debug loglevel regardless, unless quiet is used  for
89530                          this value.
89531
89532
89533                     · ignore_retcode  (bool)  -- If the exit code of the com‐
89534                       mand is nonzero, this is treated as an error condition,
89535                       and  the  output from the command will be logged to the
89536                       minion log. However, there are some  cases  where  pro‐
89537                       grams  use  the return code for signaling and a nonzero
89538                       exit code doesn't necessarily mean failure.  Pass  this
89539                       argument as True to skip logging the output if the com‐
89540                       mand has a nonzero exit code.
89541
89542                     · hide_output (bool) --
89543
89544                       If True, suppress stdout and stderr in the return data.
89545
89546                       NOTE:
89547                          This is separate from  output_loglevel,  which  only
89548                          handles how Salt logs to the minion log.
89549
89550                       New in version 2018.3.0.
89551
89552
89553
89554                     · timeout  (int) -- A timeout in seconds for the executed
89555                       process to return.
89556
89557                     · use_vt (bool) -- Use VT utils (saltstack) to stream the
89558                       command  output  more  interactively to the console and
89559                       the logs. This is experimental.
89560
89561                     · reset_system_locale (bool) -- Resets the system locale
89562
89563                     · saltenv (str) -- The salt environment to  use.  Default
89564                       is 'base'
89565
89566                     · depth (int) --
89567
89568                       The  number  of  levels  of  contained  objects  to  be
89569                       included.  Default is 2. Values greater than 4 seem  to
89570                       greatly  increase  the time it takes for the command to
89571                       complete for some commands. eg: dir
89572
89573                       New in version 2016.3.4.
89574
89575
89576
89577                     · encode_cmd (bool) -- Encode the command before  execut‐
89578                       ing.  Use  in  cases where characters may be dropped or
89579                       incorrectly converted when executed.  Default is False.
89580
89581                     · success_retcodes (list) -- .INDENT 2.0
89582
89583                     This parameter will be allow a list of
89584                       non-zero return codes that should be considered a  suc‐
89585                       cess.  If the return code returned from the run matches
89586                       any in the provided list, the return code will be over‐
89587                       ridden with zero.
89588
89589                     New in version Fluorine.
89590
89591
89592
89593              · stdin_raw_newlines (bool) -- .INDENT 2.0
89594
89595              False
89596                If True, Salt will not automatically convert the characters \n
89597                present in the stdin value to newlines.
89598
89599              New in version Fluorine.
89600
89601
89602
89603       Returns
89604
89605              dict   A dictionary of data returned by the powershell command.
89606
89607
89608CLI Example:
89609
89610                 salt '*' cmd.powershell "$PSVersionTable.CLRVersion"
89611
89612       salt.modules.cmdmod.powershell_all(cmd,      cwd=None,      stdin=None,
89613       runas=None, shell='/bin/zsh', env=None, clean_env=False, template=None,
89614       rstrip=True,       umask=None,        output_encoding=None,        out‐
89615       put_loglevel=u'debug',     quiet=False,     timeout=None,    reset_sys‐
89616       tem_locale=True, ignore_retcode=False,  saltenv=u'base',  use_vt=False,
89617       password=None,  depth=None,  encode_cmd=False,  force_list=False,  suc‐
89618       cess_retcodes=None, **kwargs)
89619              Execute the passed PowerShell command and  return  a  dictionary
89620              with  a  result field representing the output of the command, as
89621              well as other fields showing us what the  PowerShell  invocation
89622              wrote  to stderr, the process id, and the exit code of the invo‐
89623              cation.
89624
89625              This function appends | ConvertTo-JSON  to  the  command  before
89626              actually invoking powershell.
89627
89628              An unquoted empty string is not valid JSON, but it's very normal
89629              for the Powershell output to be exactly that. Therefore,  we  do
89630              not attempt to parse empty Powershell output (which would result
89631              in an exception). Instead we treat this as a  special  case  and
89632              one of two things will happen:
89633
89634              · If  the  value  of  the force_list parameter is True, then the
89635                result field of the return dictionary will be an empty list.
89636
89637              · If the value of the force_list parameter is  False,  then  the
89638                return  dictionary  will not have a result key added to it. We
89639                aren't setting result to None in this case,  because  None  is
89640                the  Python  representation  of  "null"  in JSON. (We likewise
89641                can't use False for the equivalent reason.)
89642
89643              If Powershell's output is not an empty string and Python  cannot
89644              parse  its  content, then a CommandExecutionError exception will
89645              be raised.
89646
89647              If Powershell's output is not an empty string, Python is able to
89648              parse  its  content, and the type of the resulting Python object
89649              is other than list then one of two things will happen:
89650
89651              · If the value of the force_list parameter  is  True,  then  the
89652                result  field  will be a singleton list with the Python object
89653                as its sole member.
89654
89655              · If the value of the force_list parameter is  False,  then  the
89656                value of result will be the unmodified Python object.
89657
89658              If Powershell's output is not an empty string, Python is able to
89659              parse its content, and the type of the resulting  Python  object
89660              is  list, then the value of result will be the unmodified Python
89661              object. The force_list parameter has no effect in this case.
89662
89663              NOTE:
89664                 An example of why the force_list parameter is  useful  is  as
89665                 follows:  The  Powershell  command  dir  x  |  Convert-ToJson
89666                 results in
89667
89668                 · no output when x is an empty directory.
89669
89670                 · a dictionary object when x contains just one item.
89671
89672                 · a list of  dictionary  objects  when  x  contains  multiple
89673                   items.
89674
89675                 By  setting  force_list  to True we will always end up with a
89676                 list of dictionary items, representing files, no  matter  how
89677                 many  files  x contains.  Conversely, if force_list is False,
89678                 we will end up with no result key in  our  return  dictionary
89679                 when  x is an empty directory, and a dictionary object when x
89680                 contains just one file.
89681
89682              If you want a similar function but with  a  raw  textual  result
89683              instead  of  a  Python dictionary, you should use cmd.run_all in
89684              combination with shell=powershell.
89685
89686              The remaining fields in the return dictionary are  described  in
89687              more detail in the Returns section.
89688
89689              Example:
89690
89691                 salt '*' cmd.run_all '$PSVersionTable.CLRVersion' shell=powershell
89692                 salt '*' cmd.run_all 'Get-NetTCPConnection' shell=powershell
89693
89694              New in version 2018.3.0.
89695
89696
89697              WARNING:
89698                 This  passes  the cmd argument directly to PowerShell without
89699                 any further processing! Be  absolutely  sure  that  you  have
89700                 properly sanitized the command passed to this function and do
89701                 not use untrusted inputs.
89702
89703              In addition to  the  normal  cmd.run  parameters,  this  command
89704              offers  the  depth parameter to change the Windows default depth
89705              for the ConvertTo-JSON powershell command. The  Windows  default
89706              is 2. If you need more depth, set that here.
89707
89708              NOTE:
89709                 For  some commands, setting the depth to a value greater than
89710                 4 greatly increases the time it  takes  for  the  command  to
89711                 return and in many cases returns useless data.
89712
89713              Parameters
89714
89715                     · cmd (str) -- The powershell command to run.
89716
89717                     · cwd  (str)  --  The directory from which to execute the
89718                       command. Defaults to the home  directory  of  the  user
89719                       specified  by  runas  (or  the user under which Salt is
89720                       running if runas is not specified).
89721
89722                     · stdin (str) -- A string of standard input can be speci‐
89723                       fied  for the command to be run using the stdin parame‐
89724                       ter. This can be useful in cases where sensitive infor‐
89725                       mation must be read from standard input.
89726
89727                     · runas  (str)  --  Specify  an alternate user to run the
89728                       command. The default behavior is to  run  as  the  user
89729                       under  which  Salt  is running. If running on a Windows
89730                       minion you must also use the password argument, and the
89731                       target  user  account  must  be  in  the Administrators
89732                       group.
89733
89734                     · password (str) -- Windows only. Required when  specify‐
89735                       ing  runas.  This parameter will be ignored on non-Win‐
89736                       dows platforms.
89737
89738                     · shell (str) -- Specify an alternate shell. Defaults  to
89739                       the system's default shell.
89740
89741                     · python_shell  (bool) -- If False, let python handle the
89742                       positional arguments. Set to True  to  use  shell  fea‐
89743                       tures, such as pipes or redirection.
89744
89745                     · env (dict) --
89746
89747                       Environment variables to be set prior to execution.
89748
89749                       NOTE:
89750                          When  passing environment variables on the CLI, they
89751                          should be passed as the string representation  of  a
89752                          dictionary.
89753
89754                              salt myminion cmd.powershell_all 'some command' env='{"FOO": "bar"}'
89755
89756
89757                     · clean_env  (bool)  --  Attempt  to  clean out all other
89758                       shell environment variables and set only those provided
89759                       in the 'env' argument to this function.
89760
89761                     · template  (str)  -- If this setting is applied then the
89762                       named templating engine will  be  used  to  render  the
89763                       downloaded  file.  Currently jinja, mako, and wempy are
89764                       supported.
89765
89766                     · rstrip (bool) -- Strip all whitespace off  the  end  of
89767                       output before it is returned.
89768
89769                     · umask (str) -- The umask (in octal) to use when running
89770                       the command.
89771
89772                     · output_encoding (str) --
89773
89774                       Control the encoding used to decode the command's  out‐
89775                       put.
89776
89777                       NOTE:
89778                          This  should  not  need to be used in most cases. By
89779                          default, Salt will try to use the encoding  detected
89780                          from  the system locale, and will fall back to UTF-8
89781                          if this fails. This should only need to be  used  in
89782                          cases  where the output of the command is encoded in
89783                          something other than the system locale or UTF-8.
89784
89785                          To see the encoding Salt has detected from the  sys‐
89786                          tem  locale,  check the locale line in the output of
89787                          test.versions_report.
89788
89789                       New in version 2018.3.0.
89790
89791
89792
89793                     · output_loglevel (str) --
89794
89795                       Control the loglevel at which the output from the  com‐
89796                       mand is logged to the minion log.
89797
89798                       NOTE:
89799                          The  command  being  run will still be logged at the
89800                          debug loglevel regardless, unless quiet is used  for
89801                          this value.
89802
89803
89804                     · ignore_retcode  (bool)  -- If the exit code of the com‐
89805                       mand is nonzero, this is treated as an error condition,
89806                       and  the  output from the command will be logged to the
89807                       minion log. However, there are some  cases  where  pro‐
89808                       grams  use  the return code for signaling and a nonzero
89809                       exit code doesn't necessarily mean failure.  Pass  this
89810                       argument as True to skip logging the output if the com‐
89811                       mand has a nonzero exit code.
89812
89813                     · timeout (int) -- A timeout in seconds for the  executed
89814                       process to return.
89815
89816                     · use_vt (bool) -- Use VT utils (saltstack) to stream the
89817                       command output more interactively to  the  console  and
89818                       the logs. This is experimental.
89819
89820                     · reset_system_locale (bool) -- Resets the system locale
89821
89822                     · ignore_retcode  --  If  the exit code of the command is
89823                       nonzero, this is treated as an error condition, and the
89824                       output  from  the  command will be logged to the minion
89825                       log. However, there are some cases where  programs  use
89826                       the  return  code for signaling and a nonzero exit code
89827                       doesn't necessarily mean failure. Pass this argument as
89828                       True  to  skip  logging the output if the command has a
89829                       nonzero exit code.
89830
89831                     · saltenv (str) -- The salt environment to  use.  Default
89832                       is 'base'
89833
89834                     · depth  (int)  --  The  number  of  levels  of contained
89835                       objects to be included.  Default is 2.  Values  greater
89836                       than  4  seem to greatly increase the time it takes for
89837                       the command to complete for some commands. eg: dir
89838
89839                     · encode_cmd (bool) -- Encode the command before  execut‐
89840                       ing.  Use  in  cases where characters may be dropped or
89841                       incorrectly converted when executed.  Default is False.
89842
89843                     · force_list (bool) -- The purpose of this  parameter  is
89844                       described in the preamble of this function's documenta‐
89845                       tion. Default value is False.
89846
89847                     · success_retcodes (list) -- .INDENT 2.0
89848
89849                     This parameter will be allow a list of
89850                       non-zero return codes that should be considered a  suc‐
89851                       cess.  If the return code returned from the run matches
89852                       any in the provided list, the return code will be over‐
89853                       ridden with zero.
89854
89855                     New in version Fluorine.
89856
89857
89858
89859              · stdin_raw_newlines (bool) -- .INDENT 2.0
89860
89861              False
89862                If True, Salt will not automatically convert the characters \n
89863                present in the stdin value to newlines.
89864
89865              New in version Fluorine.
89866
89867
89868
89869       Returns
89870              A dictionary with the following entries:
89871
89872              result For a complete description of this field, please refer to
89873                     this  function's  preamble. This key will not be added to
89874                     the dictionary when force_list is False and  Powershell's
89875                     output is the empty string.
89876
89877              stderr What the PowerShell invocation wrote to stderr.
89878
89879              pid    The process id of the PowerShell invocation
89880
89881              retcode
89882                     This  is  the  exit code of the invocation of PowerShell.
89883                     If the final execution status (in PowerShell) of our com‐
89884                     mand  (with  |  ConvertTo-JSON  appended)  is  False this
89885                     should be non-0.   Likewise  if  PowerShell  exited  with
89886                     $LASTEXITCODE  set to some non-0 value, then retcode will
89887                     end up with this value.
89888
89889
89890       Return type
89891              dict
89892
89893CLI Example:
89894
89895                 salt '*' cmd.powershell_all "$PSVersionTable.CLRVersion"
89896
89897              CLI Example:
89898
89899                 salt '*' cmd.powershell_all "dir mydirectory" force_list=True
89900
89901       salt.modules.cmdmod.retcode(cmd,  cwd=None,   stdin=None,   runas=None,
89902       group=None,      shell='/bin/zsh',     python_shell=None,     env=None,
89903       clean_env=False, template=None, umask=None, output_encoding=None,  out‐
89904       put_loglevel=u'debug',   log_callback=None,   timeout=None,  reset_sys‐
89905       tem_locale=True, ignore_retcode=False,  saltenv=u'base',  use_vt=False,
89906       password=None, success_retcodes=None, **kwargs)
89907              Execute a shell command and return the command's return code.
89908
89909              Parameters
89910
89911                     · cmd (str) -- The command to run. ex: ls -lart /home
89912
89913                     · cwd  (str)  --  The directory from which to execute the
89914                       command. Defaults to the home  directory  of  the  user
89915                       specified  by  runas  (or  the user under which Salt is
89916                       running if runas is not specified).
89917
89918                     · stdin (str) -- A string of standard input can be speci‐
89919                       fied  for the command to be run using the stdin parame‐
89920                       ter. This can be useful in cases where sensitive infor‐
89921                       mation must be read from standard input.
89922
89923                     · runas (str) --
89924
89925                       Specify  an  alternate  user  to  run  the command. The
89926                       default behavior is to run as the user under which Salt
89927                       is  running.  If  running  on a Windows minion you must
89928                       also use the password argument,  and  the  target  user
89929                       account must be in the Administrators group.
89930
89931                       WARNING:
89932                          For  versions  2018.3.3  and  above  on macosx while
89933                          using runas, to pass special characters to the  com‐
89934                          mand you need to escape the characters on the shell.
89935
89936                          Example:
89937
89938                              cmd.retcode 'echo '\''h=\"baz\"'\''' runas=macuser
89939
89940
89941                     · password (str) --
89942
89943                       Windows  only.  Required  when  specifying  runas. This
89944                       parameter will be ignored on non-Windows platforms.
89945
89946                       New in version 2016.3.0.
89947
89948
89949
89950                     · group (str) -- Group to run command as.  Not  currently
89951                       supported on Windows.
89952
89953                     · shell  (str) -- Specify an alternate shell. Defaults to
89954                       the system's default shell.
89955
89956                     · python_shell (bool) -- If False, let python handle  the
89957                       positional  arguments.  Set  to  True to use shell fea‐
89958                       tures, such as pipes or redirection.
89959
89960                     · env (dict) --
89961
89962                       Environment variables to be set prior to execution.
89963
89964                       NOTE:
89965                          When passing environment variables on the CLI,  they
89966                          should  be  passed as the string representation of a
89967                          dictionary.
89968
89969                              salt myminion cmd.retcode 'some command' env='{"FOO": "bar"}'
89970
89971
89972                     · clean_env (bool) -- Attempt  to  clean  out  all  other
89973                       shell environment variables and set only those provided
89974                       in the 'env' argument to this function.
89975
89976                     · template (str) -- If this setting is applied  then  the
89977                       named  templating  engine  will  be  used to render the
89978                       downloaded file. Currently jinja, mako, and  wempy  are
89979                       supported.
89980
89981                     · rstrip  (bool)  --  Strip all whitespace off the end of
89982                       output before it is returned.
89983
89984                     · umask (str) -- The umask (in octal) to use when running
89985                       the command.
89986
89987                     · output_encoding (str) --
89988
89989                       Control  the encoding used to decode the command's out‐
89990                       put.
89991
89992                       NOTE:
89993                          This should not need to be used in  most  cases.  By
89994                          default,  Salt will try to use the encoding detected
89995                          from the system locale, and will fall back to  UTF-8
89996                          if  this  fails. This should only need to be used in
89997                          cases where the output of the command is encoded  in
89998                          something other than the system locale or UTF-8.
89999
90000                          To  see the encoding Salt has detected from the sys‐
90001                          tem locale, check the locale line in the  output  of
90002                          test.versions_report.
90003
90004                       New in version 2018.3.0.
90005
90006
90007
90008                     · output_loglevel (str) --
90009
90010                       Control  the loglevel at which the output from the com‐
90011                       mand is logged to the minion log.
90012
90013                       NOTE:
90014                          The command being run will still be  logged  at  the
90015                          debug  loglevel regardless, unless quiet is used for
90016                          this value.
90017
90018
90019                     · ignore_retcode (bool) -- If the exit code of  the  com‐
90020                       mand is nonzero, this is treated as an error condition,
90021                       and the output from the command will be logged  to  the
90022                       minion  log.  However,  there are some cases where pro‐
90023                       grams use the return code for signaling and  a  nonzero
90024                       exit  code  doesn't necessarily mean failure. Pass this
90025                       argument as True to skip logging the output if the com‐
90026                       mand has a nonzero exit code.
90027
90028                     · timeout  (int) -- A timeout in seconds for the executed
90029                       process to return.
90030
90031                     · use_vt (bool) -- Use VT utils (saltstack) to stream the
90032                       command  output  more  interactively to the console and
90033                       the logs. This is experimental.
90034
90035                     · success_retcodes (list) -- .INDENT 2.0
90036
90037                     This parameter will be allow a list of
90038                       non-zero return codes that should be considered a  suc‐
90039                       cess.  If the return code returned from the run matches
90040                       any in the provided list, the return code will be over‐
90041                       ridden with zero.
90042
90043                     New in version Fluorine.
90044
90045
90046
90047              · stdin_raw_newlines (bool) -- .INDENT 2.0
90048
90049              False
90050                If True, Salt will not automatically convert the characters \n
90051                present in the stdin value to newlines.
90052
90053              New in version Fluorine.
90054
90055
90056
90057       Return type
90058              int
90059
90060       Return type
90061              None
90062
90063       Returns
90064              Return Code as an int or None if there was an exception.
90065
90066CLI Example:
90067
90068                 salt '*' cmd.retcode "file /bin/bash"
90069
90070              The template arg can be set to 'jinja' or another supported tem‐
90071              plate  engine  to render the command arguments before execution.
90072              For example:
90073
90074                 salt '*' cmd.retcode template=jinja "file {{grains.pythonpath[0]}}/python"
90075
90076              A string of standard input can be specified for the  command  to
90077              be  run  using  the stdin parameter. This can be useful in cases
90078              where sensitive information must be read from standard input.
90079
90080                 salt '*' cmd.retcode "grep f" stdin='one\ntwo\nthree\nfour\nfive\n'
90081
90082       salt.modules.cmdmod.run(cmd,    cwd=None,    stdin=None,    runas=None,
90083       group=None,      shell='/bin/zsh',     python_shell=None,     env=None,
90084       clean_env=False, template=None, rstrip=True, umask=None,  output_encod‐
90085       ing=None,    output_loglevel=u'debug',   log_callback=None,   hide_out‐
90086       put=False,    timeout=None,    reset_system_locale=True,    ignore_ret‐
90087       code=False,  saltenv=u'base',  use_vt=False,  bg=False,  password=None,
90088       encoded_cmd=False,  raise_err=False,  prepend_path=None,   success_ret‐
90089       codes=None, **kwargs)
90090              Execute the passed command and return the output as a string
90091
90092              Parameters
90093
90094                     · cmd (str) -- The command to run. ex: ls -lart /home
90095
90096                     · cwd  (str)  --  The directory from which to execute the
90097                       command. Defaults to the home  directory  of  the  user
90098                       specified  by  runas  (or  the user under which Salt is
90099                       running if runas is not specified).
90100
90101                     · stdin (str) -- A string of standard input can be speci‐
90102                       fied  for the command to be run using the stdin parame‐
90103                       ter. This can be useful in cases where sensitive infor‐
90104                       mation must be read from standard input.
90105
90106                     · runas (str) --
90107
90108                       Specify  an  alternate  user  to  run  the command. The
90109                       default behavior is to run as the user under which Salt
90110                       is running.
90111
90112                       WARNING:
90113                          For  versions  2018.3.3  and  above  on macosx while
90114                          using runas, to pass special characters to the  com‐
90115                          mand you need to escape the characters on the shell.
90116
90117                          Example:
90118
90119                              cmd.run 'echo '\''h=\"baz\"'\''' runas=macuser
90120
90121
90122                     · group  (str)  -- Group to run command as. Not currently
90123                       supported on Windows.
90124
90125                     · password (str) --
90126
90127                       Windows only.  Required  when  specifying  runas.  This
90128                       parameter will be ignored on non-Windows platforms.
90129
90130                       New in version 2016.3.0.
90131
90132
90133
90134                     · shell  (str) -- Specify an alternate shell. Defaults to
90135                       the system's default shell.
90136
90137                     · python_shell (bool) -- If False, let python handle  the
90138                       positional  arguments.  Set  to  True to use shell fea‐
90139                       tures, such as pipes or redirection.
90140
90141                     · bg (bool) --
90142
90143                       If True, run command in background and do not await  or
90144                       deliver it's results
90145
90146                       New in version 2016.3.0.
90147
90148
90149
90150                     · env (dict) --
90151
90152                       Environment variables to be set prior to execution.
90153
90154                       NOTE:
90155                          When  passing environment variables on the CLI, they
90156                          should be passed as the string representation  of  a
90157                          dictionary.
90158
90159                              salt myminion cmd.run 'some command' env='{"FOO": "bar"}'
90160
90161
90162                     · clean_env  (bool)  --  Attempt  to  clean out all other
90163                       shell environment variables and set only those provided
90164                       in the 'env' argument to this function.
90165
90166                     · prepend_path (str) --
90167
90168                       $PATH  segment  to prepend (trailing ':' not necessary)
90169                       to $PATH
90170
90171                       New in version 2018.3.0.
90172
90173
90174
90175                     · template (str) -- If this setting is applied  then  the
90176                       named  templating  engine  will  be  used to render the
90177                       downloaded file. Currently jinja, mako, and  wempy  are
90178                       supported.
90179
90180                     · rstrip  (bool)  --  Strip all whitespace off the end of
90181                       output before it is returned.
90182
90183                     · umask (str) -- The umask (in octal) to use when running
90184                       the command.
90185
90186                     · output_encoding (str) --
90187
90188                       Control  the encoding used to decode the command's out‐
90189                       put.
90190
90191                       NOTE:
90192                          This should not need to be used in  most  cases.  By
90193                          default,  Salt will try to use the encoding detected
90194                          from the system locale, and will fall back to  UTF-8
90195                          if  this  fails. This should only need to be used in
90196                          cases where the output of the command is encoded  in
90197                          something other than the system locale or UTF-8.
90198
90199                          To  see the encoding Salt has detected from the sys‐
90200                          tem locale, check the locale line in the  output  of
90201                          test.versions_report.
90202
90203                       New in version 2018.3.0.
90204
90205
90206
90207                     · output_loglevel (str) --
90208
90209                       Control  the loglevel at which the output from the com‐
90210                       mand is logged to the minion log.
90211
90212                       NOTE:
90213                          The command being run will still be  logged  at  the
90214                          debug  loglevel regardless, unless quiet is used for
90215                          this value.
90216
90217
90218                     · ignore_retcode (bool) -- If the exit code of  the  com‐
90219                       mand is nonzero, this is treated as an error condition,
90220                       and the output from the command will be logged  to  the
90221                       minion  log.  However,  there are some cases where pro‐
90222                       grams use the return code for signaling and  a  nonzero
90223                       exit  code  doesn't necessarily mean failure. Pass this
90224                       argument as True to skip logging the output if the com‐
90225                       mand has a nonzero exit code.
90226
90227                     · hide_output (bool) --
90228
90229                       If True, suppress stdout and stderr in the return data.
90230
90231                       NOTE:
90232                          This  is  separate  from output_loglevel, which only
90233                          handles how Salt logs to the minion log.
90234
90235                       New in version 2018.3.0.
90236
90237
90238
90239                     · timeout (int) -- A timeout in seconds for the  executed
90240                       process to return.
90241
90242                     · use_vt (bool) -- Use VT utils (saltstack) to stream the
90243                       command output more interactively to  the  console  and
90244                       the logs. This is experimental.
90245
90246                     · encoded_cmd  (bool)  -- Specify if the supplied command
90247                       is encoded.  Only applies to shell 'powershell'.
90248
90249                     · raise_err (bool) -- If  True  and  the  command  has  a
90250                       nonzero  exit  code,  a CommandExecutionError exception
90251                       will be raised.
90252
90253              WARNING:
90254                 This function does  not  process  commands  through  a  shell
90255                 unless  the python_shell flag is set to True. This means that
90256                 any shell-specific functionality such as 'echo' or the use of
90257                 pipes,  redirection  or  &&,  should  either  be  migrated to
90258                 cmd.shell or have the python_shell=True flag set here.
90259
90260                 The use of python_shell=True means that the shell will accept
90261                 _any_  input including potentially malicious commands such as
90262                 'good_command;rm -rf /'.  Be absolutely certain that you have
90263                 sanitized your input prior to using python_shell=True
90264
90265              Parameters
90266
90267                     · success_retcodes (list) -- .INDENT 2.0
90268
90269                     This parameter will be allow a list of
90270                       non-zero  return codes that should be considered a suc‐
90271                       cess.  If the return code returned from the run matches
90272                       any in the provided list, the return code will be over‐
90273                       ridden with zero.
90274
90275                     New in version Fluorine.
90276
90277
90278
90279              · stdin_raw_newlines (bool) -- .INDENT 2.0
90280
90281              False
90282                If True, Salt will not automatically  convert  the  characters
90283                \\n present in the stdin value to newlines.
90284
90285              New in version Fluorine.
90286
90287
90288
90289CLI Example:
90290
90291                 salt '*' cmd.run "ls -l | awk '/foo/{print \\$2}'"
90292
90293              The template arg can be set to 'jinja' or another supported tem‐
90294              plate engine to render the command arguments  before  execution.
90295              For example:
90296
90297                 salt '*' cmd.run template=jinja "ls -l /tmp/{{grains.id}} | awk '/foo/{print \\$2}'"
90298
90299              Specify an alternate shell with the shell parameter:
90300
90301                 salt '*' cmd.run "Get-ChildItem C:\\ " shell='powershell'
90302
90303              A  string  of standard input can be specified for the command to
90304              be run using the stdin parameter. This can be  useful  in  cases
90305              where sensitive information must be read from standard input.
90306
90307                 salt '*' cmd.run "grep f" stdin='one\\ntwo\\nthree\\nfour\\nfive\\n'
90308
90309              If an equal sign (=) appears in an argument to a Salt command it
90310              is interpreted as a keyword argument in the format key=val. That
90311              processing  can  be  bypassed  in  order  to  pass an equal sign
90312              through to the remote shell command by manually  specifying  the
90313              kwarg:
90314
90315                 salt '*' cmd.run cmd='sed -e s/=/:/g'
90316
90317       salt.modules.cmdmod.run_all(cmd,   cwd=None,   stdin=None,  runas=None,
90318       group=None,     shell='/bin/zsh',     python_shell=None,      env=None,
90319       clean_env=False,  template=None, rstrip=True, umask=None, output_encod‐
90320       ing=None,   output_loglevel=u'debug',   log_callback=None,    hide_out‐
90321       put=False,    timeout=None,    reset_system_locale=True,    ignore_ret‐
90322       code=False, saltenv=u'base', use_vt=False, redirect_stderr=False, pass‐
90323       word=None, encoded_cmd=False, prepend_path=None, success_retcodes=None,
90324       **kwargs)
90325              Execute the passed command and return a dict of return data
90326
90327              Parameters
90328
90329                     · cmd (str) -- The command to run. ex: ls -lart /home
90330
90331                     · cwd (str) -- The directory from which  to  execute  the
90332                       command.  Defaults  to  the  home directory of the user
90333                       specified by runas (or the user  under  which  Salt  is
90334                       running if runas is not specified).
90335
90336                     · stdin (str) -- A string of standard input can be speci‐
90337                       fied for the command to be run using the stdin  parame‐
90338                       ter. This can be useful in cases where sensitive infor‐
90339                       mation must be read from standard input.
90340
90341                     · runas (str) --
90342
90343                       Specify an alternate  user  to  run  the  command.  The
90344                       default behavior is to run as the user under which Salt
90345                       is running. If running on a  Windows  minion  you  must
90346                       also  use  the  password  argument, and the target user
90347                       account must be in the Administrators group.
90348
90349                       WARNING:
90350                          For versions 2018.3.3  and  above  on  macosx  while
90351                          using  runas, to pass special characters to the com‐
90352                          mand you need to escape the characters on the shell.
90353
90354                          Example:
90355
90356                              cmd.run_all 'echo '\''h=\"baz\"'\''' runas=macuser
90357
90358
90359                     · password (str) --
90360
90361                       Windows only.  Required  when  specifying  runas.  This
90362                       parameter will be ignored on non-Windows platforms.
90363
90364                       New in version 2016.3.0.
90365
90366
90367
90368                     · group  (str)  -- Group to run command as. Not currently
90369                       supported on Windows.
90370
90371                     · shell (str) -- Specify an alternate shell. Defaults  to
90372                       the system's default shell.
90373
90374                     · python_shell  (bool) -- If False, let python handle the
90375                       positional arguments. Set to True  to  use  shell  fea‐
90376                       tures, such as pipes or redirection.
90377
90378                     · env (dict) --
90379
90380                       Environment variables to be set prior to execution.
90381
90382                       NOTE:
90383                          When  passing environment variables on the CLI, they
90384                          should be passed as the string representation  of  a
90385                          dictionary.
90386
90387                              salt myminion cmd.run_all 'some command' env='{"FOO": "bar"}'
90388
90389
90390                     · clean_env  (bool)  --  Attempt  to  clean out all other
90391                       shell environment variables and set only those provided
90392                       in the 'env' argument to this function.
90393
90394                     · prepend_path (str) --
90395
90396                       $PATH  segment  to prepend (trailing ':' not necessary)
90397                       to $PATH
90398
90399                       New in version 2018.3.0.
90400
90401
90402
90403                     · template (str) -- If this setting is applied  then  the
90404                       named  templating  engine  will  be  used to render the
90405                       downloaded file. Currently jinja, mako, and  wempy  are
90406                       supported.
90407
90408                     · rstrip  (bool)  --  Strip all whitespace off the end of
90409                       output before it is returned.
90410
90411                     · umask (str) -- The umask (in octal) to use when running
90412                       the command.
90413
90414                     · output_encoding (str) --
90415
90416                       Control  the encoding used to decode the command's out‐
90417                       put.
90418
90419                       NOTE:
90420                          This should not need to be used in  most  cases.  By
90421                          default,  Salt will try to use the encoding detected
90422                          from the system locale, and will fall back to  UTF-8
90423                          if  this  fails. This should only need to be used in
90424                          cases where the output of the command is encoded  in
90425                          something other than the system locale or UTF-8.
90426
90427                          To  see the encoding Salt has detected from the sys‐
90428                          tem locale, check the locale line in the  output  of
90429                          test.versions_report.
90430
90431                       New in version 2018.3.0.
90432
90433
90434
90435                     · output_loglevel (str) --
90436
90437                       Control  the loglevel at which the output from the com‐
90438                       mand is logged to the minion log.
90439
90440                       NOTE:
90441                          The command being run will still be  logged  at  the
90442                          debug  loglevel regardless, unless quiet is used for
90443                          this value.
90444
90445
90446                     · ignore_retcode (bool) -- If the exit code of  the  com‐
90447                       mand is nonzero, this is treated as an error condition,
90448                       and the output from the command will be logged  to  the
90449                       minion  log.  However,  there are some cases where pro‐
90450                       grams use the return code for signaling and  a  nonzero
90451                       exit  code  doesn't necessarily mean failure. Pass this
90452                       argument as True to skip logging the output if the com‐
90453                       mand has a nonzero exit code.
90454
90455                     · hide_output (bool) --
90456
90457                       If True, suppress stdout and stderr in the return data.
90458
90459                       NOTE:
90460                          This  is  separate  from output_loglevel, which only
90461                          handles how Salt logs to the minion log.
90462
90463                       New in version 2018.3.0.
90464
90465
90466
90467                     · timeout (int) -- A timeout in seconds for the  executed
90468                       process to return.
90469
90470                     · use_vt (bool) -- Use VT utils (saltstack) to stream the
90471                       command output more interactively to  the  console  and
90472                       the logs. This is experimental.
90473
90474                     · encoded_cmd (bool) --
90475
90476                       Specify  if  the  supplied  command  is  encoded.  Only
90477                       applies to shell 'powershell'.
90478
90479                       New in version 2018.3.0.
90480
90481
90482
90483                     · redirect_stderr (bool) --
90484
90485                       If set to True, then stderr will be redirected to  std‐
90486                       out. This is helpful for cases where obtaining both the
90487                       retcode and output is desired, but it is not desired to
90488                       have the output separated into both stdout and stderr.
90489
90490                       New in version 2015.8.2.
90491
90492
90493
90494                     · password --
90495
90496                       Windows  only.  Required  when  specifying  runas. This
90497                       parameter will be ignored on non-Windows platforms.
90498                          New in version 2016.3.0.
90499
90500
90501
90502                     · bg (bool) --
90503
90504                       If True, run command in background and do not await  or
90505                       deliver its results
90506
90507                       New in version 2016.3.6.
90508
90509
90510
90511                     · success_retcodes (list) -- .INDENT 2.0
90512
90513                     This parameter will be allow a list of
90514                       non-zero  return codes that should be considered a suc‐
90515                       cess.  If the return code returned from the run matches
90516                       any in the provided list, the return code will be over‐
90517                       ridden with zero.
90518
90519                     New in version Fluorine.
90520
90521
90522
90523              · stdin_raw_newlines (bool) -- .INDENT 2.0
90524
90525              False
90526                If True, Salt will not automatically convert the characters \n
90527                present in the stdin value to newlines.
90528
90529              New in version Fluorine.
90530
90531
90532
90533CLI Example:
90534
90535                 salt '*' cmd.run_all "ls -l | awk '/foo/{print \$2}'"
90536
90537              The template arg can be set to 'jinja' or another supported tem‐
90538              plate engine to render the command arguments  before  execution.
90539              For example:
90540
90541                 salt '*' cmd.run_all template=jinja "ls -l /tmp/{{grains.id}} | awk '/foo/{print \$2}'"
90542
90543              A  string  of standard input can be specified for the command to
90544              be run using the stdin parameter. This can be  useful  in  cases
90545              where sensitive information must be read from standard input.
90546
90547                 salt '*' cmd.run_all "grep f" stdin='one\ntwo\nthree\nfour\nfive\n'
90548
90549       salt.modules.cmdmod.run_bg(cmd,   cwd=None,   runas=None,   group=None,
90550       shell='/bin/zsh', python_shell=None,  env=None,  clean_env=False,  tem‐
90551       plate=None,   umask=None,   timeout=None,   output_encoding=None,  out‐
90552       put_loglevel=u'debug',   log_callback=None,   reset_system_locale=True,
90553       ignore_retcode=False,          saltenv=u'base',          password=None,
90554       prepend_path=None, success_retcodes=None, **kwargs)
90555              Execute the passed command in the background and return it's PID
90556
90557              NOTE:
90558                 If the init system  is  systemd  and  the  backgrounded  task
90559                 should  run  even  if  the  salt-minion process is restarted,
90560                 prepend systemd-run --scope to the command. This will  repar‐
90561                 ent  the  process in its own scope separate from salt-minion,
90562                 and will not be affected by restarting the minion service.
90563
90564              Parameters
90565
90566                     · cmd (str) -- The command to run. ex: ls -lart /home
90567
90568                     · cwd (str) -- The directory from which  to  execute  the
90569                       command.  Defaults  to  the  home directory of the user
90570                       specified by runas (or the user  under  which  Salt  is
90571                       running if runas is not specified).
90572
90573                     · group  (str)  -- Group to run command as. Not currently
90574                       supported on Windows.
90575
90576                     · shell (str) -- Shell to execute under. Defaults to  the
90577                       system default shell.
90578
90579                     · output_encoding (str) --
90580
90581                       Control  the encoding used to decode the command's out‐
90582                       put.
90583
90584                       NOTE:
90585                          This should not need to be used in  most  cases.  By
90586                          default,  Salt will try to use the encoding detected
90587                          from the system locale, and will fall back to  UTF-8
90588                          if  this  fails. This should only need to be used in
90589                          cases where the output of the command is encoded  in
90590                          something other than the system locale or UTF-8.
90591
90592                          To  see the encoding Salt has detected from the sys‐
90593                          tem locale, check the locale line in the  output  of
90594                          test.versions_report.
90595
90596                       New in version 2018.3.0.
90597
90598
90599
90600                     · output_loglevel (str) --
90601
90602                       Control  the loglevel at which the output from the com‐
90603                       mand is logged to the minion log.
90604
90605                       NOTE:
90606                          The command being run will still be  logged  at  the
90607                          debug  loglevel regardless, unless quiet is used for
90608                          this value.
90609
90610
90611                     · ignore_retcode (bool) -- If the exit code of  the  com‐
90612                       mand is nonzero, this is treated as an error condition,
90613                       and the output from the command will be logged  to  the
90614                       minion  log.  However,  there are some cases where pro‐
90615                       grams use the return code for signaling and  a  nonzero
90616                       exit  code  doesn't necessarily mean failure. Pass this
90617                       argument as True to skip logging the output if the com‐
90618                       mand has a nonzero exit code.
90619
90620                     · runas (str) --
90621
90622                       Specify  an  alternate  user  to  run  the command. The
90623                       default behavior is to run as the user under which Salt
90624                       is  running.  If  running  on a Windows minion you must
90625                       also use the password argument,  and  the  target  user
90626                       account must be in the Administrators group.
90627
90628                       WARNING:
90629                          For  versions  2018.3.3  and  above  on macosx while
90630                          using runas, to pass special characters to the  com‐
90631                          mand you need to escape the characters on the shell.
90632
90633                          Example:
90634
90635                              cmd.run_bg 'echo '\''h=\"baz\"'\''' runas=macuser
90636
90637
90638                     · password (str) --
90639
90640                       Windows  only.  Required  when  specifying  runas. This
90641                       parameter will be ignored on non-Windows platforms.
90642
90643                       New in version 2016.3.0.
90644
90645
90646
90647                     · shell -- Specify an alternate shell.  Defaults  to  the
90648                       system's default shell.
90649
90650                     · python_shell  (bool) -- If False, let python handle the
90651                       positional arguments. Set to True  to  use  shell  fea‐
90652                       tures, such as pipes or redirection.
90653
90654                     · env (dict) --
90655
90656                       Environment variables to be set prior to execution.
90657
90658                       NOTE:
90659                          When  passing environment variables on the CLI, they
90660                          should be passed as the string representation  of  a
90661                          dictionary.
90662
90663                              salt myminion cmd.run_bg 'some command' env='{"FOO": "bar"}'
90664
90665
90666                     · clean_env  (bool)  --  Attempt  to  clean out all other
90667                       shell environment variables and set only those provided
90668                       in the 'env' argument to this function.
90669
90670                     · prepend_path (str) --
90671
90672                       $PATH  segment  to prepend (trailing ':' not necessary)
90673                       to $PATH
90674
90675                       New in version 2018.3.0.
90676
90677
90678
90679                     · template (str) -- If this setting is applied  then  the
90680                       named  templating  engine  will  be  used to render the
90681                       downloaded file. Currently jinja, mako, and  wempy  are
90682                       supported.
90683
90684                     · umask (str) -- The umask (in octal) to use when running
90685                       the command.
90686
90687                     · timeout (int) -- A timeout in seconds for the  executed
90688                       process to return.
90689
90690              WARNING:
90691                 This  function  does  not  process  commands  through a shell
90692                 unless the python_shell argument is set to True.  This  means
90693                 that  any  shell-specific functionality such as 'echo' or the
90694                 use of pipes, redirection or &&, should either be migrated to
90695                 cmd.shell or have the python_shell=True flag set here.
90696
90697                 The use of python_shell=True means that the shell will accept
90698                 _any_ input including potentially malicious commands such  as
90699                 'good_command;rm -rf /'.  Be absolutely certain that you have
90700                 sanitized your input prior to using python_shell=True.
90701
90702              Parameters
90703
90704                     · success_retcodes (list) -- .INDENT 2.0
90705
90706                     This parameter will be allow a list of
90707                       non-zero return codes that should be considered a  suc‐
90708                       cess.  If the return code returned from the run matches
90709                       any in the provided list, the return code will be over‐
90710                       ridden with zero.
90711
90712                     New in version Fluorine.
90713
90714
90715
90716              · stdin_raw_newlines (bool) -- .INDENT 2.0
90717
90718              False
90719                If  True,  Salt  will not automatically convert the characters
90720                \\n present in the stdin value to newlines.
90721
90722              New in version Fluorine.
90723
90724
90725
90726CLI Example:
90727
90728                 salt '*' cmd.run_bg "fstrim-all"
90729
90730              The template arg can be set to 'jinja' or another supported tem‐
90731              plate  engine  to render the command arguments before execution.
90732              For example:
90733
90734                 salt '*' cmd.run_bg template=jinja "ls -l /tmp/{{grains.id}} | awk '/foo/{print \\$2}'"
90735
90736              Specify an alternate shell with the shell parameter:
90737
90738                 salt '*' cmd.run_bg "Get-ChildItem C:\\ " shell='powershell'
90739
90740              If an equal sign (=) appears in an argument to a Salt command it
90741              is interpreted as a keyword argument in the format key=val. That
90742              processing can be bypassed  in  order  to  pass  an  equal  sign
90743              through  to  the remote shell command by manually specifying the
90744              kwarg:
90745
90746                 salt '*' cmd.run_bg cmd='ls -lR / | sed -e s/=/:/g > /tmp/dontwait'
90747
90748       salt.modules.cmdmod.run_chroot(root,   cmd,    cwd=None,    stdin=None,
90749       runas=None,  group=None, shell='/bin/zsh', python_shell=True, env=None,
90750       clean_env=False, template=None, rstrip=True, umask=None,  output_encod‐
90751       ing=None,    output_loglevel=u'quiet',   log_callback=None,   hide_out‐
90752       put=False,    timeout=None,    reset_system_locale=True,    ignore_ret‐
90753       code=False,   saltenv=u'base',   use_vt=False,  bg=False,  success_ret‐
90754       codes=None, **kwargs)
90755              New in version 2014.7.0.
90756
90757
90758              This function runs cmd.run_all wrapped within a chroot, with dev
90759              and proc mounted in the chroot
90760
90761              Parameters
90762                     root (str) -- Path to the root of the jail to use.
90763
90764              stdin  A  string of standard input can be specified for the com‐
90765                     mand to be run using the stdin  parameter.  This  can  be
90766                     useful  in cases where sensitive information must be read
90767                     from standard input.:
90768
90769              runas  User to run script as.
90770
90771              group  Group to run script as.
90772
90773              shell  Shell to execute under. Defaults to  the  system  default
90774                     shell.
90775
90776              Parameters
90777
90778                     · cmd (str) -- The command to run. ex: ls -lart /home
90779
90780                     · cwd  (str)  --  The directory from which to execute the
90781                       command. Defaults to the home  directory  of  the  user
90782                       specified  by  runas  (or  the user under which Salt is
90783                       running if runas is not specified).
90784
90785                     · runas (str) -- Specify an alternate  user  to  run  the
90786                       command.  The  default  behavior  is to run as the user
90787                       under which Salt is running. If running  on  a  Windows
90788                       minion you must also use the password argument, and the
90789                       target user  account  must  be  in  the  Administrators
90790                       group.
90791
90792                     · shell  (str) -- Specify an alternate shell. Defaults to
90793                       the system's default shell.
90794
90795                     · python_shell (bool) -- If False, let python handle  the
90796                       positional  arguments.  Set  to  True to use shell fea‐
90797                       tures, such as pipes or redirection.
90798
90799                     · env (dict) --
90800
90801                       Environment variables to be set prior to execution.
90802
90803                       NOTE:
90804                          When passing environment variables on the CLI,  they
90805                          should  be  passed as the string representation of a
90806                          dictionary.
90807
90808                              salt myminion cmd.run_chroot 'some command' env='{"FOO": "bar"}'
90809
90810
90811                     · clean_env (dict) -- Attempt  to  clean  out  all  other
90812                       shell environment variables and set only those provided
90813                       in the 'env' argument to this function.
90814
90815                     · template (str) -- If this setting is applied  then  the
90816                       named  templating  engine  will  be  used to render the
90817                       downloaded file. Currently jinja, mako, and  wempy  are
90818                       supported.
90819
90820                     · rstrip  (bool)  --  Strip all whitespace off the end of
90821                       output before it is returned.
90822
90823                     · umask (str) -- The umask (in octal) to use when running
90824                       the command.
90825
90826                     · output_encoding (str) --
90827
90828                       Control  the encoding used to decode the command's out‐
90829                       put.
90830
90831                       NOTE:
90832                          This should not need to be used in  most  cases.  By
90833                          default,  Salt will try to use the encoding detected
90834                          from the system locale, and will fall back to  UTF-8
90835                          if  this  fails. This should only need to be used in
90836                          cases where the output of the command is encoded  in
90837                          something other than the system locale or UTF-8.
90838
90839                          To  see the encoding Salt has detected from the sys‐
90840                          tem locale, check the locale line in the  output  of
90841                          test.versions_report.
90842
90843                       New in version 2018.3.0.
90844
90845
90846
90847                     · output_loglevel (str) --
90848
90849                       Control  the loglevel at which the output from the com‐
90850                       mand is logged to the minion log.
90851
90852                       NOTE:
90853                          The command being run will still be  logged  at  the
90854                          debug  loglevel regardless, unless quiet is used for
90855                          this value.
90856
90857
90858                     · ignore_retcode (bool) -- If the exit code of  the  com‐
90859                       mand is nonzero, this is treated as an error condition,
90860                       and the output from the command will be logged  to  the
90861                       minion  log.  However,  there are some cases where pro‐
90862                       grams use the return code for signaling and  a  nonzero
90863                       exit  code  doesn't necessarily mean failure. Pass this
90864                       argument as True to skip logging the output if the com‐
90865                       mand has a nonzero exit code.
90866
90867                     · hide_output (bool) --
90868
90869                       If True, suppress stdout and stderr in the return data.
90870
90871                       NOTE:
90872                          This  is  separate  from output_loglevel, which only
90873                          handles how Salt logs to the minion log.
90874
90875                       New in version 2018.3.0.
90876
90877
90878
90879                     · timeout (int) -- A timeout in seconds for the  executed
90880                       process to return.
90881
90882                     · use_vt (bool) -- Use VT utils (saltstack) to stream the
90883                       command output more interactively to  the  console  and
90884                       the logs. This is experimental.
90885
90886              Parar str stdin
90887                     A  string of standard input can be specified for the com‐
90888                     mand to be run using the stdin  parameter.  This  can  be
90889                     useful  in cases where sensitive information must be read
90890                     from standard input.
90891
90892              success_retcodes: This parameter will be allow a list of
90893                        non-zero return codes that should be considered a suc‐
90894                        cess.   If  the  return  code  returned  from  the run
90895                        matches any in the provided list, the return code will
90896                        be overridden with zero.
90897
90898                     New in version Fluorine.
90899
90900
90901              CLI Example:
90902
90903                 salt '*' cmd.run_chroot /var/lib/lxc/container_name/rootfs 'sh /tmp/bootstrap.sh'
90904
90905       salt.modules.cmdmod.run_stderr(cmd,  cwd=None,  stdin=None, runas=None,
90906       group=None,     shell='/bin/zsh',     python_shell=None,      env=None,
90907       clean_env=False,  template=None, rstrip=True, umask=None, output_encod‐
90908       ing=None,   output_loglevel=u'debug',   log_callback=None,    hide_out‐
90909       put=False,    timeout=None,    reset_system_locale=True,    ignore_ret‐
90910       code=False,     saltenv=u'base',      use_vt=False,      password=None,
90911       prepend_path=None, success_retcodes=None, **kwargs)
90912              Execute a command and only return the standard error
90913
90914              Parameters
90915
90916                     · cmd (str) -- The command to run. ex: ls -lart /home
90917
90918                     · cwd  (str)  --  The directory from which to execute the
90919                       command. Defaults to the home  directory  of  the  user
90920                       specified  by  runas  (or  the user under which Salt is
90921                       running if runas is not specified).
90922
90923                     · stdin (str) -- A string of standard input can be speci‐
90924                       fied  for the command to be run using the stdin parame‐
90925                       ter. This can be useful in cases where sensitive infor‐
90926                       mation must be read from standard input.
90927
90928                     · runas (str) --
90929
90930                       Specify  an  alternate  user  to  run  the command. The
90931                       default behavior is to run as the user under which Salt
90932                       is  running.  If  running  on a Windows minion you must
90933                       also use the password argument,  and  the  target  user
90934                       account must be in the Administrators group.
90935
90936                       WARNING:
90937                          For  versions  2018.3.3  and  above  on macosx while
90938                          using runas, to pass special characters to the  com‐
90939                          mand you need to escape the characters on the shell.
90940
90941                          Example:
90942
90943                              cmd.run_stderr 'echo '\''h=\"baz\"'\''' runas=macuser
90944
90945
90946                     · password (str) --
90947
90948                       Windows  only.  Required  when  specifying  runas. This
90949                       parameter will be ignored on non-Windows platforms.
90950
90951                       New in version 2016.3.0.
90952
90953
90954
90955                     · group (str) -- Group to run command as.  Not  currently
90956                       supported on Windows.
90957
90958                     · shell  (str) -- Specify an alternate shell. Defaults to
90959                       the system's default shell.
90960
90961                     · python_shell (bool) -- If False, let python handle  the
90962                       positional  arguments.  Set  to  True to use shell fea‐
90963                       tures, such as pipes or redirection.
90964
90965                     · env (dict) --
90966
90967                       Environment variables to be set prior to execution.
90968
90969                       NOTE:
90970                          When passing environment variables on the CLI,  they
90971                          should  be  passed as the string representation of a
90972                          dictionary.
90973
90974                              salt myminion cmd.run_stderr 'some command' env='{"FOO": "bar"}'
90975
90976
90977                     · clean_env (bool) -- Attempt  to  clean  out  all  other
90978                       shell environment variables and set only those provided
90979                       in the 'env' argument to this function.
90980
90981                     · prepend_path (str) --
90982
90983                       $PATH segment to prepend (trailing ':'  not  necessary)
90984                       to $PATH
90985
90986                       New in version 2018.3.0.
90987
90988
90989
90990                     · template  (str)  -- If this setting is applied then the
90991                       named templating engine will  be  used  to  render  the
90992                       downloaded  file.  Currently jinja, mako, and wempy are
90993                       supported.
90994
90995                     · rstrip (bool) -- Strip all whitespace off  the  end  of
90996                       output before it is returned.
90997
90998                     · umask (str) -- The umask (in octal) to use when running
90999                       the command.
91000
91001                     · output_encoding (str) --
91002
91003                       Control the encoding used to decode the command's  out‐
91004                       put.
91005
91006                       NOTE:
91007                          This  should  not  need to be used in most cases. By
91008                          default, Salt will try to use the encoding  detected
91009                          from  the system locale, and will fall back to UTF-8
91010                          if this fails. This should only need to be  used  in
91011                          cases  where the output of the command is encoded in
91012                          something other than the system locale or UTF-8.
91013
91014                          To see the encoding Salt has detected from the  sys‐
91015                          tem  locale,  check the locale line in the output of
91016                          test.versions_report.
91017
91018                       New in version 2018.3.0.
91019
91020
91021
91022                     · output_loglevel (str) --
91023
91024                       Control the loglevel at which the output from the  com‐
91025                       mand is logged to the minion log.
91026
91027                       NOTE:
91028                          The  command  being  run will still be logged at the
91029                          debug loglevel regardless, unless quiet is used  for
91030                          this value.
91031
91032
91033                     · ignore_retcode  (bool)  -- If the exit code of the com‐
91034                       mand is nonzero, this is treated as an error condition,
91035                       and  the  output from the command will be logged to the
91036                       minion log. However, there are some  cases  where  pro‐
91037                       grams  use  the return code for signaling and a nonzero
91038                       exit code doesn't necessarily mean failure.  Pass  this
91039                       argument as True to skip logging the output if the com‐
91040                       mand has a nonzero exit code.
91041
91042                     · hide_output (bool) --
91043
91044                       If True, suppress stdout and stderr in the return data.
91045
91046                       NOTE:
91047                          This is separate from  output_loglevel,  which  only
91048                          handles how Salt logs to the minion log.
91049
91050                       New in version 2018.3.0.
91051
91052
91053
91054                     · timeout  (int) -- A timeout in seconds for the executed
91055                       process to return.
91056
91057                     · use_vt (bool) -- Use VT utils (saltstack) to stream the
91058                       command  output  more  interactively to the console and
91059                       the logs. This is experimental.
91060
91061                     · success_retcodes (list) -- .INDENT 2.0
91062
91063                     This parameter will be allow a list of
91064                       non-zero return codes that should be considered a  suc‐
91065                       cess.  If the return code returned from the run matches
91066                       any in the provided list, the return code will be over‐
91067                       ridden with zero.
91068
91069                     New in version Fluorine.
91070
91071
91072
91073              · stdin_raw_newlines (bool) -- .INDENT 2.0
91074
91075              False
91076                If True, Salt will not automatically convert the characters \n
91077                present in the stdin value to newlines.
91078
91079              New in version Fluorine.
91080
91081
91082
91083CLI Example:
91084
91085                 salt '*' cmd.run_stderr "ls -l | awk '/foo/{print \$2}'"
91086
91087              The template arg can be set to 'jinja' or another supported tem‐
91088              plate  engine  to render the command arguments before execution.
91089              For example:
91090
91091                 salt '*' cmd.run_stderr template=jinja "ls -l /tmp/{{grains.id}} | awk '/foo/{print \$2}'"
91092
91093              A string of standard input can be specified for the  command  to
91094              be  run  using  the stdin parameter. This can be useful in cases
91095              where sensitive information must be read from standard input.
91096
91097                 salt '*' cmd.run_stderr "grep f" stdin='one\ntwo\nthree\nfour\nfive\n'
91098
91099       salt.modules.cmdmod.run_stdout(cmd, cwd=None,  stdin=None,  runas=None,
91100       group=None,      shell='/bin/zsh',     python_shell=None,     env=None,
91101       clean_env=False, template=None, rstrip=True, umask=None,  output_encod‐
91102       ing=None,    output_loglevel=u'debug',   log_callback=None,   hide_out‐
91103       put=False,    timeout=None,    reset_system_locale=True,    ignore_ret‐
91104       code=False,      saltenv=u'base',      use_vt=False,     password=None,
91105       prepend_path=None, success_retcodes=None, **kwargs)
91106              Execute a command, and only return the standard out
91107
91108              Parameters
91109
91110                     · cmd (str) -- The command to run. ex: ls -lart /home
91111
91112                     · cwd (str) -- The directory from which  to  execute  the
91113                       command.  Defaults  to  the  home directory of the user
91114                       specified by runas (or the user  under  which  Salt  is
91115                       running if runas is not specified).
91116
91117                     · stdin (str) -- A string of standard input can be speci‐
91118                       fied for the command to be run using the stdin  parame‐
91119                       ter. This can be useful in cases where sensitive infor‐
91120                       mation must be read from standard input.
91121
91122                     · runas (str) --
91123
91124                       Specify an alternate  user  to  run  the  command.  The
91125                       default behavior is to run as the user under which Salt
91126                       is running. If running on a  Windows  minion  you  must
91127                       also  use  the  password  argument, and the target user
91128                       account must be in the Administrators group.
91129
91130                       WARNING:
91131                          For versions 2018.3.3  and  above  on  macosx  while
91132                          using  runas, to pass special characters to the com‐
91133                          mand you need to escape the characters on the shell.
91134
91135                          Example:
91136
91137                              cmd.run_stdout 'echo '\''h=\"baz\"'\''' runas=macuser
91138
91139
91140                     · password (str) --
91141
91142                       Windows only.  Required  when  specifying  runas.  This
91143                       parameter will be ignored on non-Windows platforms.
91144
91145                       New in version 2016.3.0.
91146
91147
91148
91149                     · group  (str)  -- Group to run command as. Not currently
91150                       supported on Windows.
91151
91152                     · shell (str) -- Specify an alternate shell. Defaults  to
91153                       the system's default shell.
91154
91155                     · python_shell  (bool) -- If False, let python handle the
91156                       positional arguments. Set to True  to  use  shell  fea‐
91157                       tures, such as pipes or redirection.
91158
91159                     · env (dict) --
91160
91161                       Environment variables to be set prior to execution.
91162
91163                       NOTE:
91164                          When  passing environment variables on the CLI, they
91165                          should be passed as the string representation  of  a
91166                          dictionary.
91167
91168                              salt myminion cmd.run_stdout 'some command' env='{"FOO": "bar"}'
91169
91170
91171                     · clean_env  (bool)  --  Attempt  to  clean out all other
91172                       shell environment variables and set only those provided
91173                       in the 'env' argument to this function.
91174
91175                     · prepend_path (str) --
91176
91177                       $PATH  segment  to prepend (trailing ':' not necessary)
91178                       to $PATH
91179
91180                       New in version 2018.3.0.
91181
91182
91183
91184                     · template (str) -- If this setting is applied  then  the
91185                       named  templating  engine  will  be  used to render the
91186                       downloaded file. Currently jinja, mako, and  wempy  are
91187                       supported.
91188
91189                     · rstrip  (bool)  --  Strip all whitespace off the end of
91190                       output before it is returned.
91191
91192                     · umask (str) -- The umask (in octal) to use when running
91193                       the command.
91194
91195                     · output_encoding (str) --
91196
91197                       Control  the encoding used to decode the command's out‐
91198                       put.
91199
91200                       NOTE:
91201                          This should not need to be used in  most  cases.  By
91202                          default,  Salt will try to use the encoding detected
91203                          from the system locale, and will fall back to  UTF-8
91204                          if  this  fails. This should only need to be used in
91205                          cases where the output of the command is encoded  in
91206                          something other than the system locale or UTF-8.
91207
91208                          To  see the encoding Salt has detected from the sys‐
91209                          tem locale, check the locale line in the  output  of
91210                          test.versions_report.
91211
91212                       New in version 2018.3.0.
91213
91214
91215
91216                     · output_loglevel (str) --
91217
91218                       Control  the loglevel at which the output from the com‐
91219                       mand is logged to the minion log.
91220
91221                       NOTE:
91222                          The command being run will still be  logged  at  the
91223                          debug  loglevel regardless, unless quiet is used for
91224                          this value.
91225
91226
91227                     · ignore_retcode (bool) -- If the exit code of  the  com‐
91228                       mand is nonzero, this is treated as an error condition,
91229                       and the output from the command will be logged  to  the
91230                       minion  log.  However,  there are some cases where pro‐
91231                       grams use the return code for signaling and  a  nonzero
91232                       exit  code  doesn't necessarily mean failure. Pass this
91233                       argument as True to skip logging the output if the com‐
91234                       mand has a nonzero exit code.
91235
91236                     · hide_output (bool) --
91237
91238                       If True, suppress stdout and stderr in the return data.
91239
91240                       NOTE:
91241                          This  is  separate  from output_loglevel, which only
91242                          handles how Salt logs to the minion log.
91243
91244                       New in version 2018.3.0.
91245
91246
91247
91248                     · timeout (int) -- A timeout in seconds for the  executed
91249                       process to return.
91250
91251                     · use_vt (bool) -- Use VT utils (saltstack) to stream the
91252                       command output more interactively to  the  console  and
91253                       the logs. This is experimental.
91254
91255                     · success_retcodes (list) -- .INDENT 2.0
91256
91257                     This parameter will be allow a list of
91258                       non-zero  return codes that should be considered a suc‐
91259                       cess.  If the return code returned from the run matches
91260                       any in the provided list, the return code will be over‐
91261                       ridden with zero.
91262
91263                     New in version Fluorine.
91264
91265
91266
91267              · stdin_raw_newlines (bool) -- .INDENT 2.0
91268
91269              False
91270                If True, Salt will not automatically convert the characters \n
91271                present in the stdin value to newlines.
91272
91273              New in version Fluorine.
91274
91275
91276
91277CLI Example:
91278
91279                 salt '*' cmd.run_stdout "ls -l | awk '/foo/{print \$2}'"
91280
91281              The template arg can be set to 'jinja' or another supported tem‐
91282              plate engine to render the command arguments  before  execution.
91283              For example:
91284
91285                 salt '*' cmd.run_stdout template=jinja "ls -l /tmp/{{grains.id}} | awk '/foo/{print \$2}'"
91286
91287              A  string  of standard input can be specified for the command to
91288              be run using the stdin parameter. This can be  useful  in  cases
91289              where sensitive information must be read from standard input.
91290
91291                 salt '*' cmd.run_stdout "grep f" stdin='one\ntwo\nthree\nfour\nfive\n'
91292
91293       salt.modules.cmdmod.script(source,   args=None,  cwd=None,  stdin=None,
91294       runas=None, group=None, shell='/bin/zsh', python_shell=None,  env=None,
91295       template=None,       umask=None,       output_encoding=None,       out‐
91296       put_loglevel=u'debug',  log_callback=None,   hide_output=False,   time‐
91297       out=None,   reset_system_locale=True,   saltenv=u'base',  use_vt=False,
91298       bg=False, password=None, success_retcodes=None, **kwargs)
91299              Download a script from a remote location and execute the  script
91300              locally.   The  script  can  be  located on the salt master file
91301              server or on an HTTP/FTP server.
91302
91303              The script will be executed directly, so it can  be  written  in
91304              any available programming language.
91305
91306              Parameters
91307
91308                     · source (str) -- The location of the script to download.
91309                       If the file is located on the master in  the  directory
91310                       named  spam,  and  is called eggs, the source string is
91311                       salt://spam/eggs
91312
91313                     · args (str) --
91314
91315                       String of command line args to pass to the script. Only
91316                       used if no args are specified as part of the name argu‐
91317                       ment. To pass a string containing spaces in  YAML,  you
91318                       will need to doubly-quote it:
91319
91320                          salt myminion cmd.script salt://foo.sh "arg1 'arg two' arg3"
91321
91322
91323                     · cwd  (str)  --  The directory from which to execute the
91324                       command. Defaults to the home  directory  of  the  user
91325                       specified  by  runas  (or  the user under which Salt is
91326                       running if runas is not specified).
91327
91328                     · stdin (str) -- A string of standard input can be speci‐
91329                       fied  for the command to be run using the stdin parame‐
91330                       ter. This can be useful in cases where sensitive infor‐
91331                       mation must be read from standard input.
91332
91333                     · runas  (str)  --  Specify  an alternate user to run the
91334                       command. The default behavior is to  run  as  the  user
91335                       under  which  Salt  is running. If running on a Windows
91336                       minion you must also use the password argument, and the
91337                       target  user  account  must  be  in  the Administrators
91338                       group.
91339
91340                     · password (str) --
91341
91342                       Windows only.  Required  when  specifying  runas.  This
91343                       parameter will be ignored on non-Windows platforms.
91344
91345                       New in version 2016.3.0.
91346
91347
91348
91349                     · group  (str)  --  Group to run script as. Not currently
91350                       supported on Windows.
91351
91352                     · shell (str) -- Specify an alternate shell. Defaults  to
91353                       the system's default shell.
91354
91355                     · python_shell  (bool) -- If False, let python handle the
91356                       positional arguments. Set to True  to  use  shell  fea‐
91357                       tures, such as pipes or redirection.
91358
91359                     · bg  (bool)  -- If True, run script in background and do
91360                       not await or deliver it's results
91361
91362                     · env (dict) --
91363
91364                       Environment variables to be set prior to execution.
91365
91366                       NOTE:
91367                          When passing environment variables on the CLI,  they
91368                          should  be  passed as the string representation of a
91369                          dictionary.
91370
91371                              salt myminion cmd.script 'some command' env='{"FOO": "bar"}'
91372
91373
91374                     · template (str) -- If this setting is applied  then  the
91375                       named  templating  engine  will  be  used to render the
91376                       downloaded file. Currently jinja, mako, and  wempy  are
91377                       supported.
91378
91379                     · umask (str) -- The umask (in octal) to use when running
91380                       the command.
91381
91382                     · output_encoding (str) --
91383
91384                       Control the encoding used to decode the command's  out‐
91385                       put.
91386
91387                       NOTE:
91388                          This  should  not  need to be used in most cases. By
91389                          default, Salt will try to use the encoding  detected
91390                          from  the system locale, and will fall back to UTF-8
91391                          if this fails. This should only need to be  used  in
91392                          cases  where the output of the command is encoded in
91393                          something other than the system locale or UTF-8.
91394
91395                          To see the encoding Salt has detected from the  sys‐
91396                          tem  locale,  check the locale line in the output of
91397                          test.versions_report.
91398
91399                       New in version 2018.3.0.
91400
91401
91402
91403                     · output_loglevel (str) --
91404
91405                       Control the loglevel at which the output from the  com‐
91406                       mand is logged to the minion log.
91407
91408                       NOTE:
91409                          The  command  being  run will still be logged at the
91410                          debug loglevel regardless, unless quiet is used  for
91411                          this value.
91412
91413
91414                     · ignore_retcode  (bool)  -- If the exit code of the com‐
91415                       mand is nonzero, this is treated as an error condition,
91416                       and  the  output from the command will be logged to the
91417                       minion log. However, there are some  cases  where  pro‐
91418                       grams  use  the return code for signaling and a nonzero
91419                       exit code doesn't necessarily mean failure.  Pass  this
91420                       argument as True to skip logging the output if the com‐
91421                       mand has a nonzero exit code.
91422
91423                     · hide_output (bool) --
91424
91425                       If True, suppress stdout and stderr in the return data.
91426
91427                       NOTE:
91428                          This is separate from  output_loglevel,  which  only
91429                          handles how Salt logs to the minion log.
91430
91431                       New in version 2018.3.0.
91432
91433
91434
91435                     · timeout  (int)  --  If  the  command has not terminated
91436                       after timeout seconds, send the subprocess sigterm, and
91437                       if sigterm is ignored, follow up with sigkill
91438
91439                     · use_vt (bool) -- Use VT utils (saltstack) to stream the
91440                       command output more interactively to  the  console  and
91441                       the logs. This is experimental.
91442
91443                     · success_retcodes (list) -- .INDENT 2.0
91444
91445                     This parameter will be allow a list of
91446                       non-zero  return codes that should be considered a suc‐
91447                       cess.  If the return code returned from the run matches
91448                       any in the provided list, the return code will be over‐
91449                       ridden with zero.
91450
91451                     New in version Fluorine.
91452
91453
91454
91455              · stdin_raw_newlines (bool) -- .INDENT 2.0
91456
91457              False
91458                If True, Salt will not automatically convert the characters \n
91459                present in the stdin value to newlines.
91460
91461              New in version Fluorine.
91462
91463
91464
91465CLI Example:
91466
91467                 salt '*' cmd.script salt://scripts/runme.sh
91468                 salt '*' cmd.script salt://scripts/runme.sh 'arg1 arg2 "arg 3"'
91469                 salt '*' cmd.script salt://scripts/windows_task.ps1 args=' -Input c:\tmp\infile.txt' shell='powershell'
91470
91471                 salt '*' cmd.script salt://scripts/runme.sh stdin='one\ntwo\nthree\nfour\nfive\n'
91472
91473       salt.modules.cmdmod.script_retcode(source,     args=None,     cwd=None,
91474       stdin=None,       runas=None,       group=None,       shell='/bin/zsh',
91475       python_shell=None,   env=None,   template=u'jinja',  umask=None,  time‐
91476       out=None,  reset_system_locale=True,   saltenv=u'base',   output_encod‐
91477       ing=None,  output_loglevel=u'debug',  log_callback=None,  use_vt=False,
91478       password=None, success_retcodes=None, **kwargs)
91479              Download a script from a remote location and execute the  script
91480              locally.   The  script  can  be  located on the salt master file
91481              server or on an HTTP/FTP server.
91482
91483              The script will be executed directly, so it can  be  written  in
91484              any available programming language.
91485
91486              The  script  can also be formatted as a template, the default is
91487              jinja.
91488
91489              Only evaluate the script return code and do not block for termi‐
91490              nal output
91491
91492              Parameters
91493
91494                     · source (str) -- The location of the script to download.
91495                       If the file is located on the master in  the  directory
91496                       named  spam,  and  is called eggs, the source string is
91497                       salt://spam/eggs
91498
91499                     · args (str) -- String of command line args  to  pass  to
91500                       the  script. Only used if no args are specified as part
91501                       of the name argument. To pass a string containing  spa‐
91502                       ces  in  YAML,  you will need to doubly-quote it: "arg1
91503                       'arg two' arg3"
91504
91505                     · cwd (str) -- The directory from which  to  execute  the
91506                       command.  Defaults  to  the  home directory of the user
91507                       specified by runas (or the user  under  which  Salt  is
91508                       running if runas is not specified).
91509
91510                     · stdin (str) -- A string of standard input can be speci‐
91511                       fied for the command to be run using the stdin  parame‐
91512                       ter. This can be useful in cases where sensitive infor‐
91513                       mation must be read from standard input.
91514
91515                     · runas (str) -- Specify an alternate  user  to  run  the
91516                       command.  The  default  behavior  is to run as the user
91517                       under which Salt is running. If running  on  a  Windows
91518                       minion you must also use the password argument, and the
91519                       target user  account  must  be  in  the  Administrators
91520                       group.
91521
91522                     · password (str) --
91523
91524                       Windows  only.  Required  when  specifying  runas. This
91525                       parameter will be ignored on non-Windows platforms.
91526
91527                       New in version 2016.3.0.
91528
91529
91530
91531                     · group (str) -- Group to run script  as.  Not  currently
91532                       supported on Windows.
91533
91534                     · shell  (str) -- Specify an alternate shell. Defaults to
91535                       the system's default shell.
91536
91537                     · python_shell (bool) -- If False, let python handle  the
91538                       positional  arguments.  Set  to  True to use shell fea‐
91539                       tures, such as pipes or redirection.
91540
91541                     · env (dict) --
91542
91543                       Environment variables to be set prior to execution.
91544
91545                       NOTE:
91546                          When passing environment variables on the CLI,  they
91547                          should  be  passed as the string representation of a
91548                          dictionary.
91549
91550                              salt myminion cmd.script_retcode 'some command' env='{"FOO": "bar"}'
91551
91552
91553                     · template (str) -- If this setting is applied  then  the
91554                       named  templating  engine  will  be  used to render the
91555                       downloaded file. Currently jinja, mako, and  wempy  are
91556                       supported.
91557
91558                     · umask (str) -- The umask (in octal) to use when running
91559                       the command.
91560
91561                     · output_encoding (str) --
91562
91563                       Control the encoding used to decode the command's  out‐
91564                       put.
91565
91566                       NOTE:
91567                          This  should  not  need to be used in most cases. By
91568                          default, Salt will try to use the encoding  detected
91569                          from  the system locale, and will fall back to UTF-8
91570                          if this fails. This should only need to be  used  in
91571                          cases  where the output of the command is encoded in
91572                          something other than the system locale or UTF-8.
91573
91574                          To see the encoding Salt has detected from the  sys‐
91575                          tem  locale,  check the locale line in the output of
91576                          test.versions_report.
91577
91578                       New in version 2018.3.0.
91579
91580
91581
91582                     · output_loglevel (str) --
91583
91584                       Control the loglevel at which the output from the  com‐
91585                       mand is logged to the minion log.
91586
91587                       NOTE:
91588                          The  command  being  run will still be logged at the
91589                          debug loglevel regardless, unless quiet is used  for
91590                          this value.
91591
91592
91593                     · ignore_retcode  (bool)  -- If the exit code of the com‐
91594                       mand is nonzero, this is treated as an error condition,
91595                       and  the  output from the command will be logged to the
91596                       minion log. However, there are some  cases  where  pro‐
91597                       grams  use  the return code for signaling and a nonzero
91598                       exit code doesn't necessarily mean failure.  Pass  this
91599                       argument as True to skip logging the output if the com‐
91600                       mand has a nonzero exit code.
91601
91602                     · timeout (int) -- If  the  command  has  not  terminated
91603                       after timeout seconds, send the subprocess sigterm, and
91604                       if sigterm is ignored, follow up with sigkill
91605
91606                     · use_vt (bool) -- Use VT utils (saltstack) to stream the
91607                       command  output  more  interactively to the console and
91608                       the logs. This is experimental.
91609
91610                     · success_retcodes (list) -- .INDENT 2.0
91611
91612                     This parameter will be allow a list of
91613                       non-zero return codes that should be considered a  suc‐
91614                       cess.  If the return code returned from the run matches
91615                       any in the provided list, the return code will be over‐
91616                       ridden with zero.
91617
91618                     New in version Fluorine.
91619
91620
91621
91622              · stdin_raw_newlines (bool) -- .INDENT 2.0
91623
91624              False
91625                If True, Salt will not automatically convert the characters \n
91626                present in the stdin value to newlines.
91627
91628              New in version Fluorine.
91629
91630
91631
91632CLI Example:
91633
91634                 salt '*' cmd.script_retcode salt://scripts/runme.sh
91635                 salt '*' cmd.script_retcode salt://scripts/runme.sh 'arg1 arg2 "arg 3"'
91636                 salt '*' cmd.script_retcode salt://scripts/windows_task.ps1 args=' -Input c:\tmp\infile.txt' shell='powershell'
91637
91638              A string of standard input can be specified for the  command  to
91639              be  run  using  the stdin parameter. This can be useful in cases
91640              where sensitive information must be read from standard input.
91641
91642                 salt '*' cmd.script_retcode salt://scripts/runme.sh stdin='one\ntwo\nthree\nfour\nfive\n'
91643
91644       salt.modules.cmdmod.shell(cmd,   cwd=None,   stdin=None,    runas=None,
91645       group=None, shell='/bin/zsh', env=None, clean_env=False, template=None,
91646       rstrip=True,       umask=None,        output_encoding=None,        out‐
91647       put_loglevel=u'debug',   log_callback=None,   hide_output=False,  time‐
91648       out=None,        reset_system_locale=True,        ignore_retcode=False,
91649       saltenv=u'base',       use_vt=False,      bg=False,      password=None,
91650       prepend_path=None, success_retcodes=None, **kwargs)
91651              Execute the passed command and return the output as a string.
91652
91653              New in version 2015.5.0.
91654
91655
91656              Parameters
91657
91658                     · cmd (str) -- The command to run. ex: ls -lart /home
91659
91660                     · cwd (str) -- The directory from which  to  execute  the
91661                       command.  Defaults  to  the  home directory of the user
91662                       specified by runas (or the user  under  which  Salt  is
91663                       running if runas is not specified).
91664
91665                     · stdin (str) -- A string of standard input can be speci‐
91666                       fied for the command to be run using the stdin  parame‐
91667                       ter. This can be useful in cases where sensitive infor‐
91668                       mation must be read from standard input.
91669
91670                     · runas (str) --
91671
91672                       Specify an alternate  user  to  run  the  command.  The
91673                       default behavior is to run as the user under which Salt
91674                       is running. If running on a  Windows  minion  you  must
91675                       also  use  the  password  argument, and the target user
91676                       account must be in the Administrators group.
91677
91678                       WARNING:
91679                          For versions 2018.3.3  and  above  on  macosx  while
91680                          using  runas, to pass special characters to the com‐
91681                          mand you need to escape the characters on the shell.
91682
91683                          Example:
91684
91685                              cmd.shell 'echo '\''h=\"baz\"'\''' runas=macuser
91686
91687
91688                     · group (str) -- Group to run command as.  Not  currently
91689                       supported on Windows.
91690
91691                     · password (str) --
91692
91693                       Windows  only.  Required  when  specifying  runas. This
91694                       parameter will be ignored on non-Windows platforms.
91695
91696                       New in version 2016.3.0.
91697
91698
91699
91700                     · shell (int) -- Shell to execute under. Defaults to  the
91701                       system default shell.
91702
91703                     · bg  (bool) -- If True, run command in background and do
91704                       not await or deliver its results
91705
91706                     · env (dict) --
91707
91708                       Environment variables to be set prior to execution.
91709
91710                       NOTE:
91711                          When passing environment variables on the CLI,  they
91712                          should  be  passed as the string representation of a
91713                          dictionary.
91714
91715                              salt myminion cmd.shell 'some command' env='{"FOO": "bar"}'
91716
91717
91718                     · clean_env (bool) -- Attempt  to  clean  out  all  other
91719                       shell environment variables and set only those provided
91720                       in the 'env' argument to this function.
91721
91722                     · prepend_path (str) --
91723
91724                       $PATH segment to prepend (trailing ':'  not  necessary)
91725                       to $PATH
91726
91727                       New in version 2018.3.0.
91728
91729
91730
91731                     · template  (str)  -- If this setting is applied then the
91732                       named templating engine will  be  used  to  render  the
91733                       downloaded  file.  Currently jinja, mako, and wempy are
91734                       supported.
91735
91736                     · rstrip (bool) -- Strip all whitespace off  the  end  of
91737                       output before it is returned.
91738
91739                     · umask (str) -- The umask (in octal) to use when running
91740                       the command.
91741
91742                     · output_encoding (str) --
91743
91744                       Control the encoding used to decode the command's  out‐
91745                       put.
91746
91747                       NOTE:
91748                          This  should  not  need to be used in most cases. By
91749                          default, Salt will try to use the encoding  detected
91750                          from  the system locale, and will fall back to UTF-8
91751                          if this fails. This should only need to be  used  in
91752                          cases  where the output of the command is encoded in
91753                          something other than the system locale or UTF-8.
91754
91755                          To see the encoding Salt has detected from the  sys‐
91756                          tem  locale,  check the locale line in the output of
91757                          test.versions_report.
91758
91759                       New in version 2018.3.0.
91760
91761
91762
91763                     · output_loglevel (str) --
91764
91765                       Control the loglevel at which the output from the  com‐
91766                       mand is logged to the minion log.
91767
91768                       NOTE:
91769                          The  command  being  run will still be logged at the
91770                          debug loglevel regardless, unless quiet is used  for
91771                          this value.
91772
91773
91774                     · ignore_retcode  (bool)  -- If the exit code of the com‐
91775                       mand is nonzero, this is treated as an error condition,
91776                       and  the  output from the command will be logged to the
91777                       minion log. However, there are some  cases  where  pro‐
91778                       grams  use  the return code for signaling and a nonzero
91779                       exit code doesn't necessarily mean failure.  Pass  this
91780                       argument as True to skip logging the output if the com‐
91781                       mand has a nonzero exit code.
91782
91783                     · hide_output (bool) --
91784
91785                       If True, suppress stdout and stderr in the return data.
91786
91787                       NOTE:
91788                          This is separate from  output_loglevel,  which  only
91789                          handles how Salt logs to the minion log.
91790
91791                       New in version 2018.3.0.
91792
91793
91794
91795                     · timeout  (int) -- A timeout in seconds for the executed
91796                       process to return.
91797
91798                     · use_vt (bool) -- Use VT utils (saltstack) to stream the
91799                       command  output  more  interactively to the console and
91800                       the logs. This is experimental.
91801
91802              WARNING:
91803                 This passes the cmd argument directly to  the  shell  without
91804                 any  further  processing!  Be  absolutely  sure that you have
91805                 properly sanitized the command passed to this function and do
91806                 not use untrusted inputs.
91807
91808              Parameters
91809
91810                     · success_retcodes (list) -- .INDENT 2.0
91811
91812                     This parameter will be allow a list of
91813                       non-zero  return codes that should be considered a suc‐
91814                       cess.  If the return code returned from the run matches
91815                       any in the provided list, the return code will be over‐
91816                       ridden with zero.
91817
91818                     New in version Fluorine.
91819
91820
91821
91822              · stdin_raw_newlines (bool) -- .INDENT 2.0
91823
91824              False
91825                If True, Salt will not automatically convert the characters \n
91826                present in the stdin value to newlines.
91827
91828              New in version Fluorine.
91829
91830
91831
91832CLI Example:
91833
91834                 salt '*' cmd.shell "ls -l | awk '/foo/{print \$2}'"
91835
91836              The template arg can be set to 'jinja' or another supported tem‐
91837              plate engine to render the command arguments  before  execution.
91838              For example:
91839
91840                 salt '*' cmd.shell template=jinja "ls -l /tmp/{{grains.id}} | awk '/foo/{print \$2}'"
91841
91842              Specify an alternate shell with the shell parameter:
91843
91844                 salt '*' cmd.shell "Get-ChildItem C:\ " shell='powershell'
91845
91846              A  string  of standard input can be specified for the command to
91847              be run using the stdin parameter. This can be  useful  in  cases
91848              where sensitive information must be read from standard input.
91849
91850                 salt '*' cmd.shell "grep f" stdin='one\ntwo\nthree\nfour\nfive\n'
91851
91852              If an equal sign (=) appears in an argument to a Salt command it
91853              is interpreted as a keyword argument in the format key=val. That
91854              processing  can  be  bypassed  in  order  to  pass an equal sign
91855              through to the remote shell command by manually  specifying  the
91856              kwarg:
91857
91858                 salt '*' cmd.shell cmd='sed -e s/=/:/g'
91859
91860       salt.modules.cmdmod.shell_info(shell, list_modules=False)
91861              New in version 2016.11.0.
91862
91863
91864              Provides  information  about  a  shell or script languages which
91865              often use #!. The values returned are dependent on the shell  or
91866              scripting  languages  all  return  the installed, path, version,
91867              version_raw
91868
91869              Parameters
91870
91871                     · shell (str) -- Name of the shell. Support shells/script
91872                       languages include
91873
91874                     · cmd,  perl,  php,  powershell,  python,  ruby  and  zsh
91875                       (bash,) --
91876
91877                     · list_modules (bool) -- True to list  modules  available
91878                       to the shell.
91879
91880                     · only lists powershell modules. (Currently) --
91881
91882              Returns
91883                     A dictionary of information about the shell
91884
91885              Return type
91886                     dict
91887
91888                 {'version': '<2 or 3 numeric components dot-separated>',
91889                  'version_raw': '<full version string>',
91890                  'path': '<full path to binary>',
91891                  'installed': <True, False or None>,
91892                  '<attribute>': '<attribute value>'}
91893
91894              NOTE:
91895
91896                 · installed is always returned, if None or False also returns
91897                   error and may also return stdout for diagnostics.
91898
91899                 · version is for use in determine if a shell/script  language
91900                   has a particular feature set, not for package management.
91901
91902                 · The shell must be within the executable search path.
91903
91904              CLI Example:
91905
91906                 salt '*' cmd.shell_info bash
91907                 salt '*' cmd.shell_info powershell
91908
91909              Codeauthor
91910                     Damon Atkins <https://github.com/damon-atkins>
91911
91912       salt.modules.cmdmod.shells()
91913              Lists the valid shells on this system via the /etc/shells file
91914
91915              New in version 2015.5.0.
91916
91917
91918              CLI Example:
91919
91920                 salt '*' cmd.shells
91921
91922       salt.modules.cmdmod.tty(device, echo=u'')
91923              Echo a string to a specific tty
91924
91925              CLI Example:
91926
91927                 salt '*' cmd.tty tty0 'This is a test'
91928                 salt '*' cmd.tty pts3 'This is a test'
91929
91930       salt.modules.cmdmod.which(cmd)
91931              Returns  the path of an executable available on the minion, None
91932              otherwise
91933
91934              CLI Example:
91935
91936                 salt '*' cmd.which cat
91937
91938       salt.modules.cmdmod.which_bin(cmds)
91939              Returns the first command found in a list of commands
91940
91941              CLI Example:
91942
91943                 salt '*' cmd.which_bin '[pip2, pip, pip-python]'
91944
91945   salt.modules.composer
91946       Use composer to install PHP dependencies for a directory
91947
91948       salt.modules.composer.did_composer_install(dir)
91949              Test to see if the vendor directory exists in this directory
91950
91951              dir    Directory location of the composer.json file
91952
91953              CLI Example:
91954
91955                 salt '*' composer.did_composer_install /var/www/application
91956
91957       salt.modules.composer.install(directory,    composer=None,    php=None,
91958       runas=None,   prefer_source=None,   prefer_dist=None,  no_scripts=None,
91959       no_plugins=None,   optimize=None,   no_dev=None,   quiet=False,    com‐
91960       poser_home=u'/root', env=None)
91961              Install composer dependencies for a directory.
91962
91963              If  composer has not been installed globally making it available
91964              in the system PATH & making it executable, the composer and  php
91965              parameters  will  need to be set to the location of the executa‐
91966              bles.
91967
91968              directory
91969                     Directory location of the composer.json file.
91970
91971              composer
91972                     Location of the composer.phar file. If not  set  composer
91973                     will  just execute "composer" as if it is installed glob‐
91974                     ally.  (i.e. /path/to/composer.phar)
91975
91976              php    Location of the php  executable  to  use  with  composer.
91977                     (i.e. /usr/bin/php)
91978
91979              runas  Which system user to run composer as.
91980
91981              prefer_source
91982                     --prefer-source option of composer.
91983
91984              prefer_dist
91985                     --prefer-dist option of composer.
91986
91987              no_scripts
91988                     --no-scripts option of composer.
91989
91990              no_plugins
91991                     --no-plugins option of composer.
91992
91993              optimize
91994                     --optimize-autoloader option of composer. Recommended for
91995                     production.
91996
91997              no_dev --no-dev option for composer. Recommended for production.
91998
91999              quiet  --quiet option for composer. Whether  or  not  to  return
92000                     output from composer.
92001
92002              composer_home
92003                     $COMPOSER_HOME environment variable
92004
92005              env    A list of environment variables to be set prior to execu‐
92006                     tion.
92007
92008              CLI Example:
92009
92010                 salt '*' composer.install /var/www/application
92011
92012                 salt '*' composer.install /var/www/application             no_dev=True optimize=True
92013
92014       salt.modules.composer.selfupdate(composer=None,  php=None,  runas=None,
92015       quiet=False, composer_home=u'/root')
92016              Update composer itself.
92017
92018              If  composer has not been installed globally making it available
92019              in the system PATH & making it executable, the composer and  php
92020              parameters  will  need to be set to the location of the executa‐
92021              bles.
92022
92023              composer
92024                     Location of the composer.phar file. If not  set  composer
92025                     will  just execute "composer" as if it is installed glob‐
92026                     ally.  (i.e. /path/to/composer.phar)
92027
92028              php    Location of the php  executable  to  use  with  composer.
92029                     (i.e. /usr/bin/php)
92030
92031              runas  Which system user to run composer as.
92032
92033              quiet  --quiet  option  for  composer.  Whether or not to return
92034                     output from composer.
92035
92036              composer_home
92037                     $COMPOSER_HOME environment variable
92038
92039              CLI Example:
92040
92041                 salt '*' composer.selfupdate
92042
92043       salt.modules.composer.update(directory,    composer=None,     php=None,
92044       runas=None,   prefer_source=None,   prefer_dist=None,  no_scripts=None,
92045       no_plugins=None,   optimize=None,   no_dev=None,   quiet=False,    com‐
92046       poser_home=u'/root', env=None)
92047              Update composer dependencies for a directory.
92048
92049              If  composer  install  has  not yet been run, this runs composer
92050              install instead.
92051
92052              If composer has not been installed globally making it  available
92053              in  the system PATH & making it executable, the composer and php
92054              parameters will need to be set to the location of  the  executa‐
92055              bles.
92056
92057              directory
92058                     Directory location of the composer.json file.
92059
92060              composer
92061                     Location  of  the composer.phar file. If not set composer
92062                     will just execute "composer" as if it is installed  glob‐
92063                     ally.  (i.e. /path/to/composer.phar)
92064
92065              php    Location  of  the  php  executable  to use with composer.
92066                     (i.e. /usr/bin/php)
92067
92068              runas  Which system user to run composer as.
92069
92070              prefer_source
92071                     --prefer-source option of composer.
92072
92073              prefer_dist
92074                     --prefer-dist option of composer.
92075
92076              no_scripts
92077                     --no-scripts option of composer.
92078
92079              no_plugins
92080                     --no-plugins option of composer.
92081
92082              optimize
92083                     --optimize-autoloader option of composer. Recommended for
92084                     production.
92085
92086              no_dev --no-dev option for composer. Recommended for production.
92087
92088              quiet  --quiet  option  for  composer.  Whether or not to return
92089                     output from composer.
92090
92091              composer_home
92092                     $COMPOSER_HOME environment variable
92093
92094              env    A list of environment variables to be set prior to execu‐
92095                     tion.
92096
92097              CLI Example:
92098
92099                 salt '*' composer.update /var/www/application
92100
92101                 salt '*' composer.update /var/www/application             no_dev=True optimize=True
92102
92103   salt.modules.config
92104       Return config information
92105
92106       salt.modules.config.backup_mode(backup=u'')
92107              Return the backup mode
92108
92109              CLI Example:
92110
92111                 salt '*' config.backup_mode
92112
92113       salt.modules.config.dot_vals(value)
92114              Pass  in  a  configuration  value that should be preceded by the
92115              module name and a dot, this will  return  a  list  of  all  read
92116              key/value pairs
92117
92118              CLI Example:
92119
92120                 salt '*' config.dot_vals host
92121
92122       salt.modules.config.gather_bootstrap_script(bootstrap=None)
92123              Download the salt-bootstrap script, and return its location
92124
92125              bootstrap
92126                     URL of alternate bootstrap script
92127
92128              CLI Example:
92129
92130                 salt '*' config.gather_bootstrap_script
92131
92132       salt.modules.config.get(key,  default=u'',  delimiter=u':', merge=None,
92133       omit_opts=False,         omit_pillar=False,          omit_master=False,
92134       omit_grains=False)
92135              Attempt to retrieve the named value from the minion config file,
92136              pillar, grains or the master config. If the named value  is  not
92137              available,  return the value specified by default. If not speci‐
92138              fied, the default is an empty string.
92139
92140              Values can also be retrieved from  nested  dictionaries.  Assume
92141              the below data structure:
92142
92143                 {'pkg': {'apache': 'httpd'}}
92144
92145              To  retrieve  the  value  associated with the apache key, in the
92146              sub-dictionary corresponding to the pkg key, the following  com‐
92147              mand can be used:
92148
92149                 salt myminion config.get pkg:apache
92150
92151              The : (colon) is used to represent a nested dictionary level.
92152
92153              Changed  in  version 2015.5.0: The delimiter argument was added,
92154              to allow delimiters other than : to be used.
92155
92156
92157              This function traverses these data stores in this order, return‐
92158              ing the first match found:
92159
92160              · Minion configuration
92161
92162              · Minion's grains
92163
92164              · Minion's pillar data
92165
92166              · Master  configuration  (requires pillar_opts to be set to True
92167                in Minion config file in order to work)
92168
92169              This means that if there is a value that is going to be the same
92170              for  the majority of minions, it can be configured in the Master
92171              config file, and then overridden using the  grains,  pillar,  or
92172              Minion config file.
92173
92174              Adding config options to the Master or Minion configuration file
92175              is easy:
92176
92177                 my-config-option: value
92178                 cafe-menu:
92179                   - egg and bacon
92180                   - egg sausage and bacon
92181                   - egg and spam
92182                   - egg bacon and spam
92183                   - egg bacon sausage and spam
92184                   - spam bacon sausage and spam
92185                   - spam egg spam spam bacon and spam
92186                   - spam sausage spam spam bacon spam tomato and spam
92187
92188              NOTE:
92189                 Minion configuration options  built  into  Salt  (like  those
92190                 defined here) will always be defined in the Minion configura‐
92191                 tion and thus cannot be overridden by grains or pillar  data.
92192                 However,  additional (user-defined) configuration options (as
92193                 in the above example) will not be in the Minion configuration
92194                 by  default  and  thus  can be overridden using grains/pillar
92195                 data by leaving the option out of the minion config file.
92196
92197              Arguments
92198
92199              delimiter
92200                     New in version 2015.5.0.
92201
92202
92203                     Override the delimiter used to separate nested levels  of
92204                     a data structure.
92205
92206              merge  New in version 2015.5.0.
92207
92208
92209                     If passed, this parameter will change the behavior of the
92210                     function so that, instead of traversing each  data  store
92211                     above  in  order  and returning the first match, the data
92212                     stores are first merged together and then  searched.  The
92213                     pillar  data  is merged into the master config data, then
92214                     the grains are merged,  followed  by  the  Minion  config
92215                     data.   The resulting data structure is then searched for
92216                     a match. This allows for configurations to be more flexi‐
92217                     ble.
92218
92219                     NOTE:
92220                        The  merging  described above does not mean that grain
92221                        data will end up in the Minion's pillar data, or  pil‐
92222                        lar  data  will end up in the master config data, etc.
92223                        The data is just combined for the purposes of  search‐
92224                        ing an amalgam of the different data stores.
92225
92226                     The supported merge strategies are as follows:
92227
92228                     · recurse - If a key exists in both dictionaries, and the
92229                       new value is not a dictionary, it is  replaced.  Other‐
92230                       wise,  the  sub-dictionaries are merged together into a
92231                       single dictionary, recursively on down,  following  the
92232                       same criteria. For example:
92233
92234                          >>> dict1 = {'foo': {'bar': 1, 'qux': True},
92235                                       'hosts': ['a', 'b', 'c'],
92236                                       'only_x': None}
92237                          >>> dict2 = {'foo': {'baz': 2, 'qux': False},
92238                                       'hosts': ['d', 'e', 'f'],
92239                                       'only_y': None}
92240                          >>> merged
92241                          {'foo': {'bar': 1, 'baz': 2, 'qux': False},
92242                           'hosts': ['d', 'e', 'f'],
92243                           'only_dict1': None,
92244                           'only_dict2': None}
92245
92246                     · overwrite  -  If  a key exists in the top level of both
92247                       dictionaries, the new value completely  overwrites  the
92248                       old. For example:
92249
92250                          >>> dict1 = {'foo': {'bar': 1, 'qux': True},
92251                                       'hosts': ['a', 'b', 'c'],
92252                                       'only_x': None}
92253                          >>> dict2 = {'foo': {'baz': 2, 'qux': False},
92254                                       'hosts': ['d', 'e', 'f'],
92255                                       'only_y': None}
92256                          >>> merged
92257                          {'foo': {'baz': 2, 'qux': False},
92258                           'hosts': ['d', 'e', 'f'],
92259                           'only_dict1': None,
92260                           'only_dict2': None}
92261
92262              CLI Example:
92263
92264                 salt '*' config.get pkg:apache
92265                 salt '*' config.get lxc.container_profile:centos merge=recurse
92266
92267       salt.modules.config.items()
92268              Return  the  complete  config  from the currently running minion
92269              process.  This includes defaults for values not set in the  con‐
92270              fig file.
92271
92272              CLI Example:
92273
92274                 salt '*' config.items
92275
92276       salt.modules.config.manage_mode(mode)
92277              Return a mode value, normalized to a string
92278
92279              CLI Example:
92280
92281                 salt '*' config.manage_mode
92282
92283       salt.modules.config.merge(value,      default=u'',     omit_opts=False,
92284       omit_master=False, omit_pillar=False)
92285              Retrieves an option based on key, merging all matches.
92286
92287              Same as option() except that it merges all matches, rather  than
92288              taking the first match.
92289
92290              CLI Example:
92291
92292                 salt '*' config.merge schedule
92293
92294       salt.modules.config.option(value,     default=u'',     omit_opts=False,
92295       omit_master=False, omit_pillar=False)
92296              Pass in a generic option and receive  the  value  that  will  be
92297              assigned
92298
92299              CLI Example:
92300
92301                 salt '*' config.option redis.host
92302
92303       salt.modules.config.valid_fileproto(uri)
92304              Returns  a  boolean value based on whether or not the URI passed
92305              has a valid remote file protocol designation
92306
92307              CLI Example:
92308
92309                 salt '*' config.valid_fileproto salt://path/to/file
92310
92311   salt.modules.consul
92312       Interact with Consul
92313
92314       https://www.consul.io
92315
92316       salt.modules.consul.acl_clone(consul_url=None, token=None, **kwargs)
92317              Information about an ACL token.
92318
92319              Parameters
92320
92321                     · consul_url -- The Consul server URL.
92322
92323                     · id -- Unique identifier for the ACL to update.
92324
92325              Returns
92326                     Boolean, message of success or failure,  and  new  ID  of
92327                     cloned ACL.
92328
92329              CLI Example:
92330
92331                 salt '*' consul.acl_info id='c1c4d223-91cb-3d1f-1ee8-f2af9e7b6716'
92332
92333       salt.modules.consul.acl_create(consul_url=None, token=None, **kwargs)
92334              Create a new ACL token.
92335
92336              Parameters
92337
92338                     · consul_url -- The Consul server URL.
92339
92340                     · name -- Meaningful indicator of the ACL's purpose.
92341
92342                     · type  -- Type is either client or management. A manage‐
92343                       ment token is comparable to a root  user  and  has  the
92344                       ability to perform any action including creating, modi‐
92345                       fying, and deleting ACLs.
92346
92347                     · rules -- The Consul server URL.
92348
92349              Returns
92350                     Boolean & message of success or failure.
92351
92352              CLI Example:
92353
92354                 salt '*' consul.acl_create
92355
92356       salt.modules.consul.acl_delete(consul_url=None, token=None, **kwargs)
92357              Delete an ACL token.
92358
92359              Parameters
92360
92361                     · consul_url -- The Consul server URL.
92362
92363                     · id -- Unique identifier for the ACL to update.
92364
92365              Returns
92366                     Boolean & message of success or failure.
92367
92368              CLI Example:
92369
92370                 salt '*' consul.acl_delete id='c1c4d223-91cb-3d1f-1ee8-f2af9e7b6716'
92371
92372       salt.modules.consul.acl_info(consul_url=None, **kwargs)
92373              Information about an ACL token.
92374
92375              Parameters
92376
92377                     · consul_url -- The Consul server URL.
92378
92379                     · id -- Unique identifier for the ACL to update.
92380
92381              Returns
92382                     Information about the ACL requested.
92383
92384              CLI Example:
92385
92386                 salt '*' consul.acl_info id='c1c4d223-91cb-3d1f-1ee8-f2af9e7b6716'
92387
92388       salt.modules.consul.acl_list(consul_url=None, token=None, **kwargs)
92389              List the ACL tokens.
92390
92391              Parameters
92392                     consul_url -- The Consul server URL.
92393
92394              Returns
92395                     List of ACLs
92396
92397              CLI Example:
92398
92399                 salt '*' consul.acl_list
92400
92401       salt.modules.consul.acl_update(consul_url=None, token=None, **kwargs)
92402              Update an ACL token.
92403
92404              Parameters
92405
92406                     · consul_url -- The Consul server URL.
92407
92408                     · name -- Meaningful indicator of the ACL's purpose.
92409
92410                     · id -- Unique identifier for the ACL to update.
92411
92412                     · type -- Type is either client or management. A  manage‐
92413                       ment  token  is  comparable  to a root user and has the
92414                       ability to perform any action including creating, modi‐
92415                       fying, and deleting ACLs.
92416
92417                     · rules -- The Consul server URL.
92418
92419              Returns
92420                     Boolean & message of success or failure.
92421
92422              CLI Example:
92423
92424                 salt '*' consul.acl_update
92425
92426       salt.modules.consul.agent_check_deregister(consul_url=None, token=None,
92427       checkid=None)
92428              The agent will take care of deregistering  the  check  from  the
92429              Catalog.
92430
92431              Parameters
92432
92433                     · consul_url -- The Consul server URL.
92434
92435                     · checkid  -- The ID of the check to deregister from Con‐
92436                       sul.
92437
92438              Returns
92439                     Boolean and message indicating success or failure.
92440
92441              CLI Example:
92442
92443                 salt '*' consul.agent_check_deregister checkid='Memory Utilization'
92444
92445       salt.modules.consul.agent_check_fail(consul_url=None,       token=None,
92446       checkid=None, **kwargs)
92447              This endpoint is used with a check that is of the TTL type. When
92448              this is called, the status of the check is set to  critical  and
92449              the TTL clock is reset.
92450
92451              Parameters
92452
92453                     · consul_url -- The Consul server URL.
92454
92455                     · checkid  -- The ID of the check to deregister from Con‐
92456                       sul.
92457
92458                     · note -- A human-readable message with the status of the
92459                       check.
92460
92461              Returns
92462                     Boolean and message indicating success or failure.
92463
92464              CLI Example:
92465
92466                 salt '*' consul.agent_check_fail checkid='redis_check1' note='Forcing check into critical state.'
92467
92468       salt.modules.consul.agent_check_pass(consul_url=None,       token=None,
92469       checkid=None, **kwargs)
92470              This endpoint is used with a check that is of the TTL type. When
92471              this  is  called,  the status of the check is set to passing and
92472              the TTL clock is reset.
92473
92474              Parameters
92475
92476                     · consul_url -- The Consul server URL.
92477
92478                     · checkid -- The ID of the check to mark as passing.
92479
92480                     · note -- A human-readable message with the status of the
92481                       check.
92482
92483              Returns
92484                     Boolean and message indicating success or failure.
92485
92486              CLI Example:
92487
92488                 salt '*' consul.agent_check_pass checkid='redis_check1' note='Forcing check into passing state.'
92489
92490       salt.modules.consul.agent_check_register(consul_url=None,   token=None,
92491       **kwargs)
92492              The register endpoint is used to add a new check  to  the  local
92493              agent.
92494
92495              Parameters
92496
92497                     · consul_url -- The Consul server URL.
92498
92499                     · name -- The description of what the check is for.
92500
92501                     · id -- The unique name to use for the check, if not pro‐
92502                       vided 'name' is used.
92503
92504                     · notes -- Human readable description of the check.
92505
92506                     · script -- If script is provided, the check  type  is  a
92507                       script,  and  Consul will evaluate that script based on
92508                       the interval parameter.
92509
92510                     · http -- Check will perform an HTTP GET request  against
92511                       the  value  of HTTP (expected to be a URL) based on the
92512                       interval parameter.
92513
92514                     · ttl -- If a TTL type is used, then the TTL update  end‐
92515                       point  must be used periodically to update the state of
92516                       the check.
92517
92518                     · interval -- Interval at which the check should run.
92519
92520              Returns
92521                     Boolean and message indicating success or failure.
92522
92523              CLI Example:
92524
92525                 salt '*' consul.agent_check_register name='Memory Utilization' script='/usr/local/bin/check_mem.py' interval='15s'
92526
92527       salt.modules.consul.agent_check_warn(consul_url=None,       token=None,
92528       checkid=None, **kwargs)
92529              This endpoint is used with a check that is of the TTL type. When
92530              this is called, the status of the check is set  to  warning  and
92531              the TTL clock is reset.
92532
92533              Parameters
92534
92535                     · consul_url -- The Consul server URL.
92536
92537                     · checkid  -- The ID of the check to deregister from Con‐
92538                       sul.
92539
92540                     · note -- A human-readable message with the status of the
92541                       check.
92542
92543              Returns
92544                     Boolean and message indicating success or failure.
92545
92546              CLI Example:
92547
92548                 salt '*' consul.agent_check_warn checkid='redis_check1' note='Forcing check into warning state.'
92549
92550       salt.modules.consul.agent_checks(consul_url=None, token=None)
92551              Returns the checks the local agent is managing
92552
92553              Parameters
92554                     consul_url -- The Consul server URL.
92555
92556              Returns
92557                     Returns the checks the local agent is managing
92558
92559              CLI Example:
92560
92561                 salt '*' consul.agent_checks
92562
92563       salt.modules.consul.agent_join(consul_url=None,             token=None,
92564       address=None, **kwargs)
92565              Triggers the local agent to join a node
92566
92567              Parameters
92568
92569                     · consul_url -- The Consul server URL.
92570
92571                     · address -- The address for the agent to connect to.
92572
92573                     · wan -- Causes the agent to attempt to  join  using  the
92574                       WAN pool.
92575
92576              Returns
92577                     Boolean and message indicating success or failure.
92578
92579              CLI Example:
92580
92581                 salt '*' consul.agent_join address='192.168.1.1'
92582
92583       salt.modules.consul.agent_leave(consul_url=None, token=None, node=None)
92584              Used to instruct the agent to force a node into the left state.
92585
92586              Parameters
92587
92588                     · consul_url -- The Consul server URL.
92589
92590                     · node -- The node the agent will force into left state
92591
92592              Returns
92593                     Boolean and message indicating success or failure.
92594
92595              CLI Example:
92596
92597                 salt '*' consul.agent_leave node='web1.example.com'
92598
92599       salt.modules.consul.agent_maintenance(consul_url=None,      token=None,
92600       **kwargs)
92601              Manages node maintenance mode
92602
92603              Parameters
92604
92605                     · consul_url -- The Consul server URL.
92606
92607                     · enable -- The enable flag is required.  Acceptable val‐
92608                       ues  are  either  true  (to  enter maintenance mode) or
92609                       false (to resume normal operation).
92610
92611                     · reason -- If provided,  its  value  should  be  a  text
92612                       string  explaining the reason for placing the node into
92613                       maintenance mode.
92614
92615              Returns
92616                     Boolean and message indicating success or failure.
92617
92618              CLI Example:
92619
92620                 salt '*' consul.agent_maintenance enable='False' reason='Upgrade in progress'
92621
92622       salt.modules.consul.agent_members(consul_url=None,          token=None,
92623       **kwargs)
92624              Returns the members as seen by the local serf agent
92625
92626              Parameters
92627                     consul_url -- The Consul server URL.
92628
92629              Returns
92630                     Returns the members as seen by the local serf agent
92631
92632              CLI Example:
92633
92634                 salt '*' consul.agent_members
92635
92636       salt.modules.consul.agent_self(consul_url=None, token=None)
92637              Returns the local node configuration
92638
92639              Parameters
92640                     consul_url -- The Consul server URL.
92641
92642              Returns
92643                     Returns the local node configuration
92644
92645              CLI Example:
92646
92647                 salt '*' consul.agent_self
92648
92649       salt.modules.consul.agent_service_deregister(consul_url=None,
92650       token=None, serviceid=None)
92651              Used to remove a service.
92652
92653              Parameters
92654
92655                     · consul_url -- The Consul server URL.
92656
92657                     · serviceid -- A serviceid describing the service.
92658
92659              Returns
92660                     Boolean and message indicating success or failure.
92661
92662              CLI Example:
92663
92664                 salt '*' consul.agent_service_deregister serviceid='redis'
92665
92666       salt.modules.consul.agent_service_maintenance(consul_url=None,
92667       token=None, serviceid=None, **kwargs)
92668              Used to place a service into maintenance mode.
92669
92670              Parameters
92671
92672                     · consul_url -- The Consul server URL.
92673
92674                     · serviceid -- A name of the service.
92675
92676                     · enable -- Whether the service should be enabled or dis‐
92677                       abled.
92678
92679                     · reason -- A human readable message of why  the  service
92680                       was enabled or disabled.
92681
92682              Returns
92683                     Boolean and message indicating success or failure.
92684
92685              CLI Example:
92686
92687                 salt '*' consul.agent_service_deregister serviceid='redis' enable='True' reason='Down for upgrade'
92688
92689       salt.modules.consul.agent_service_register(consul_url=None, token=None,
92690       **kwargs)
92691              The used to add a new service, with an optional health check, to
92692              the local agent.
92693
92694              Parameters
92695
92696                     · consul_url -- The Consul server URL.
92697
92698                     · name -- A name describing the service.
92699
92700                     · address -- The address used by the service, defaults to
92701                       the address of the agent.
92702
92703                     · port -- The port used by the service.
92704
92705                     · id -- Unique ID to identify the service,  if  not  pro‐
92706                       vided the value of the name parameter is used.
92707
92708                     · tags -- Identifying tags for service, string or list.
92709
92710                     · script  --  If  script is provided, the check type is a
92711                       script, and Consul will evaluate that script  based  on
92712                       the interval parameter.
92713
92714                     · http  -- Check will perform an HTTP GET request against
92715                       the value of HTTP (expected to be a URL) based  on  the
92716                       interval parameter.
92717
92718                     · check_ttl -- If a TTL type is used, then the TTL update
92719                       endpoint must be used periodically to update the  state
92720                       of the check.
92721
92722                     · check_interval  --  Interval  at which the check should
92723                       run.
92724
92725              Returns
92726                     Boolean and message indicating success or failure.
92727
92728              CLI Example:
92729
92730                 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"
92731
92732       salt.modules.consul.agent_services(consul_url=None, token=None)
92733              Returns the services the local agent is managing
92734
92735              Parameters
92736                     consul_url -- The Consul server URL.
92737
92738              Returns
92739                     Returns the services the local agent is managing
92740
92741              CLI Example:
92742
92743                 salt '*' consul.agent_services
92744
92745       salt.modules.consul.catalog_datacenters(consul_url=None, token=None)
92746              Return list of available datacenters from catalog.
92747
92748              Parameters
92749                     consul_url -- The Consul server URL.
92750
92751              Returns
92752                     The list of available datacenters.
92753
92754              CLI Example:
92755
92756                 salt '*' consul.catalog_datacenters
92757
92758       salt.modules.consul.catalog_deregister(consul_url=None,     token=None,
92759       **kwargs)
92760              Deregisters a node, service, or check
92761
92762              Parameters
92763
92764                     · consul_url -- The Consul server URL.
92765
92766                     · node -- The node to deregister.
92767
92768                     · datacenter  --  By default, the datacenter of the agent
92769                       is queried; however, the dc can be provided  using  the
92770                       "dc" parameter.
92771
92772                     · checkid -- The ID of the health check to deregister.
92773
92774                     · serviceid -- The ID of the service to deregister.
92775
92776              Returns
92777                     Boolean & message of success or failure.
92778
92779              CLI Example:
92780
92781                 salt '*' consul.catalog_register node='node1' serviceid='redis_server1' checkid='redis_check1'
92782
92783       salt.modules.consul.catalog_node(consul_url=None,           token=None,
92784       node=None, **kwargs)
92785              Information about the registered node.
92786
92787              Parameters
92788
92789                     · consul_url -- The Consul server URL.
92790
92791                     · node -- The node to request information about.
92792
92793                     · dc -- By  default,  the  datacenter  of  the  agent  is
92794                       queried; however, the dc can be provided using the "dc"
92795                       parameter.
92796
92797              Returns
92798                     Information about the requested node.
92799
92800              CLI Example:
92801
92802                 salt '*' consul.catalog_service service='redis'
92803
92804       salt.modules.consul.catalog_nodes(consul_url=None,          token=None,
92805       **kwargs)
92806              Return list of available nodes from catalog.
92807
92808              Parameters
92809
92810                     · consul_url -- The Consul server URL.
92811
92812                     · dc  --  By  default,  the  datacenter  of  the agent is
92813                       queried; however, the dc can be provided using the "dc"
92814                       parameter.
92815
92816              Returns
92817                     The list of available nodes.
92818
92819              CLI Example:
92820
92821                 salt '*' consul.catalog_nodes
92822
92823       salt.modules.consul.catalog_register(consul_url=None,       token=None,
92824       **kwargs)
92825              Registers a new node, service, or check
92826
92827              Parameters
92828
92829                     · consul_url -- The Consul server URL.
92830
92831                     · dc -- By  default,  the  datacenter  of  the  agent  is
92832                       queried; however, the dc can be provided using the "dc"
92833                       parameter.
92834
92835                     · node -- The node to register.
92836
92837                     · address -- The address of the node.
92838
92839                     · service -- The service that will be registered.
92840
92841                     · service_address -- The address that the service listens
92842                       on.
92843
92844                     · service_port -- The port for the service.
92845
92846                     · service_id  --  A unique identifier for the service, if
92847                       this is not provided "name" will be used.
92848
92849                     · service_tags -- Any tags associated with the service.
92850
92851                     · check -- The name of the health check to register
92852
92853                     · check_status -- The initial status of the  check,  must
92854                       be one of unknown, passing, warning, or critical.
92855
92856                     · check_service  --  The  service  that the check is per‐
92857                       formed against.
92858
92859                     · check_id -- Unique identifier for the service.
92860
92861                     · check_notes -- An opaque field that is  meant  to  hold
92862                       human-readable text.
92863
92864              Returns
92865                     Boolean & message of success or failure.
92866
92867              CLI Example:
92868
92869                 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'
92870
92871       salt.modules.consul.catalog_service(consul_url=None,  token=None,  ser‐
92872       vice=None, **kwargs)
92873              Information about the registered service.
92874
92875              Parameters
92876
92877                     · consul_url -- The Consul server URL.
92878
92879                     · dc -- By  default,  the  datacenter  of  the  agent  is
92880                       queried; however, the dc can be provided using the "dc"
92881                       parameter.
92882
92883                     · tag -- Filter returned services with tag parameter.
92884
92885              Returns
92886                     Information about the requested service.
92887
92888              CLI Example:
92889
92890                 salt '*' consul.catalog_service service='redis'
92891
92892       salt.modules.consul.catalog_services(consul_url=None,       token=None,
92893       **kwargs)
92894              Return list of available services rom catalog.
92895
92896              Parameters
92897
92898                     · consul_url -- The Consul server URL.
92899
92900                     · dc  --  By  default,  the  datacenter  of  the agent is
92901                       queried; however, the dc can be provided using the "dc"
92902                       parameter.
92903
92904              Returns
92905                     The list of available services.
92906
92907              CLI Example:
92908
92909                 salt '*' consul.catalog_services
92910
92911       salt.modules.consul.delete(consul_url=None,    token=None,    key=None,
92912       **kwargs)
92913              Delete values from Consul
92914
92915              Parameters
92916
92917                     · consul_url -- The Consul server URL.
92918
92919                     · key -- The key to use as the  starting  point  for  the
92920                       list.
92921
92922                     · recurse  --  Delete values recursively beginning at the
92923                       value of key.
92924
92925                     · cas -- This flag is used to  turn  the  DELETE  into  a
92926                       Check-And-Set operation.
92927
92928              Returns
92929                     Boolean & message of success or failure.
92930
92931              CLI Example:
92932
92933                 salt '*' consul.delete key='web'
92934                 salt '*' consul.delete key='web' recurse='True'
92935
92936       salt.modules.consul.event_fire(consul_url=None,  token=None, name=None,
92937       **kwargs)
92938              List the ACL tokens.
92939
92940              Parameters
92941
92942                     · consul_url -- The Consul server URL.
92943
92944                     · name -- The name of the event to fire.
92945
92946                     · dc -- By  default,  the  datacenter  of  the  agent  is
92947                       queried; however, the dc can be provided using the "dc"
92948                       parameter.
92949
92950                     · node -- Filter by node name.
92951
92952                     · service -- Filter by service name.
92953
92954                     · tag -- Filter by tag name.
92955
92956              Returns
92957                     List of ACLs
92958
92959              CLI Example:
92960
92961                 salt '*' consul.event_fire name='deploy'
92962
92963       salt.modules.consul.event_list(consul_url=None, token=None, **kwargs)
92964              List the recent events.
92965
92966              Parameters
92967
92968                     · consul_url -- The Consul server URL.
92969
92970                     · name -- The name of the event to fire.
92971
92972              Returns
92973                     List of ACLs
92974
92975              CLI Example:
92976
92977                 salt '*' consul.event_list
92978
92979       salt.modules.consul.get(consul_url=None,     key=None,      token=None,
92980       recurse=False, decode=False, raw=False)
92981              Get key from Consul
92982
92983              Parameters
92984
92985                     · consul_url -- The Consul server URL.
92986
92987                     · key  --  The  key  to use as the starting point for the
92988                       list.
92989
92990                     · recurse -- Return values recursively beginning  at  the
92991                       value of key.
92992
92993                     · decode  --  By  default  values  are  stored  as Base64
92994                       encoded values, decode will return the whole  key  with
92995                       the value decoded.
92996
92997                     · raw -- Simply return the decoded value of the key.
92998
92999              Returns
93000                     The keys in Consul.
93001
93002              CLI Example:
93003
93004                 salt '*' consul.get key='web/key1'
93005                 salt '*' consul.get key='web' recurse=True
93006                 salt '*' consul.get key='web' recurse=True decode=True
93007
93008              By  default  values stored in Consul are base64 encoded, passing
93009              the decode option will show them as the decoded values.
93010
93011                 salt '*' consul.get key='web' recurse=True decode=True raw=True
93012
93013              By default Consult will return other information about the  key,
93014              the raw option will return only the raw value.
93015
93016       salt.modules.consul.health_checks(consul_url=None,   token=None,   ser‐
93017       vice=None, **kwargs)
93018              Health information about the registered service.
93019
93020              Parameters
93021
93022                     · consul_url -- The Consul server URL.
93023
93024                     · service -- The service to  request  health  information
93025                       about.
93026
93027                     · dc  --  By  default,  the  datacenter  of  the agent is
93028                       queried; however, the dc can be provided using the "dc"
93029                       parameter.
93030
93031              Returns
93032                     Health information about the requested node.
93033
93034              CLI Example:
93035
93036                 salt '*' consul.health_checks service='redis1'
93037
93038       salt.modules.consul.health_node(consul_url=None, token=None, node=None,
93039       **kwargs)
93040              Health information about the registered node.
93041
93042              Parameters
93043
93044                     · consul_url -- The Consul server URL.
93045
93046                     · node -- The node to request health information about.
93047
93048                     · dc -- By  default,  the  datacenter  of  the  agent  is
93049                       queried; however, the dc can be provided using the "dc"
93050                       parameter.
93051
93052              Returns
93053                     Health information about the requested node.
93054
93055              CLI Example:
93056
93057                 salt '*' consul.health_node node='node1'
93058
93059       salt.modules.consul.health_service(consul_url=None,  token=None,   ser‐
93060       vice=None, **kwargs)
93061              Health information about the registered service.
93062
93063              Parameters
93064
93065                     · consul_url -- The Consul server URL.
93066
93067                     · service  --  The  service to request health information
93068                       about.
93069
93070                     · dc -- By  default,  the  datacenter  of  the  agent  is
93071                       queried; however, the dc can be provided using the "dc"
93072                       parameter.
93073
93074                     · tag -- Filter returned services with tag parameter.
93075
93076                     · passing -- Filter results to only nodes with all checks
93077                       in the passing state.
93078
93079              Returns
93080                     Health information about the requested node.
93081
93082              CLI Example:
93083
93084                 salt '*' consul.health_service service='redis1'
93085
93086                 salt '*' consul.health_service service='redis1' passing='True'
93087
93088       salt.modules.consul.health_state(consul_url=None,           token=None,
93089       state=None, **kwargs)
93090              Returns the checks in the state provided on the path.
93091
93092              Parameters
93093
93094                     · consul_url -- The Consul server URL.
93095
93096                     · state -- The state to show checks  for.  The  supported
93097                       states are any, unknown, passing, warning, or critical.
93098                       The any state is a wildcard that can be used to  return
93099                       all checks.
93100
93101                     · dc  --  By  default,  the  datacenter  of  the agent is
93102                       queried; however, the dc can be provided using the "dc"
93103                       parameter.
93104
93105              Returns
93106                     The checks in the provided state.
93107
93108              CLI Example:
93109
93110                 salt '*' consul.health_state state='redis1'
93111
93112                 salt '*' consul.health_state service='redis1' passing='True'
93113
93114       salt.modules.consul.list_(consul_url=None,     token=None,    key=None,
93115       **kwargs)
93116              List keys in Consul
93117
93118              Parameters
93119
93120                     · consul_url -- The Consul server URL.
93121
93122                     · key -- The key to use as the  starting  point  for  the
93123                       list.
93124
93125              Returns
93126                     The list of keys.
93127
93128              CLI Example:
93129
93130                 salt '*' consul.list
93131                 salt '*' consul.list key='web'
93132
93133       salt.modules.consul.put(consul_url=None,      token=None,     key=None,
93134       value=None, **kwargs)
93135              Put values into Consul
93136
93137              Parameters
93138
93139                     · consul_url -- The Consul server URL.
93140
93141                     · key -- The key to use as the  starting  point  for  the
93142                       list.
93143
93144                     · value -- The value to set the key to.
93145
93146                     · flags  -- This can be used to specify an unsigned value
93147                       between 0 and 2^64-1. Clients can choose  to  use  this
93148                       however makes sense for their application.
93149
93150                     · cas  --  This  flag  is  used  to  turn  the PUT into a
93151                       Check-And-Set operation.
93152
93153                     · acquire -- This flag is used to turn  the  PUT  into  a
93154                       lock acquisition operation.
93155
93156                     · release  --  This  flag  is used to turn the PUT into a
93157                       lock release operation.
93158
93159              Returns
93160                     Boolean & message of success or failure.
93161
93162              CLI Example:
93163
93164                 salt '*' consul.put key='web/key1' value="Hello there"
93165
93166                 salt '*' consul.put key='web/key1' value="Hello there" acquire='d5d371f4-c380-5280-12fd-8810be175592'
93167
93168                 salt '*' consul.put key='web/key1' value="Hello there" release='d5d371f4-c380-5280-12fd-8810be175592'
93169
93170       salt.modules.consul.session_create(consul_url=None,         token=None,
93171       **kwargs)
93172              Used to create a session.
93173
93174              Parameters
93175
93176                     · consul_url -- The Consul server URL.
93177
93178                     · lockdelay  --  Duration  string  using a "s" suffix for
93179                       seconds.  The default is 15s.
93180
93181                     · node -- Must refer to a node  that  is  already  regis‐
93182                       tered,  if  specified. By default, the agent's own node
93183                       name is used.
93184
93185                     · name -- A human-readable name for the session
93186
93187                     · checks -- A list of associated  health  checks.  It  is
93188                       highly recommended that, if you override this list, you
93189                       include the default "serfHealth".
93190
93191                     · behavior -- Can be set to  either  release  or  delete.
93192                       This  controls  the  behavior when a session is invali‐
93193                       dated. By default, this is release, causing  any  locks
93194                       that  are  held to be released. Changing this to delete
93195                       causes any locks that are held to be deleted. delete is
93196                       useful for creating ephemeral key/value entries.
93197
93198                     · ttl  --  Session  is  invalidated  if it is not renewed
93199                       before the TTL expires
93200
93201              Returns
93202                     Boolean and message indicating success or failure.
93203
93204              CLI Example:
93205
93206                 salt '*' consul.session_create node='node1' name='my-session' behavior='delete' ttl='3600s'
93207
93208       salt.modules.consul.session_destroy(consul_url=None,  token=None,  ses‐
93209       sion=None, **kwargs)
93210              Destroy session
93211
93212              Parameters
93213
93214                     · consul_url -- The Consul server URL.
93215
93216                     · session -- The ID of the session to destroy.
93217
93218                     · dc  --  By  default,  the  datacenter  of  the agent is
93219                       queried; however, the dc can be provided using the "dc"
93220                       parameter.
93221
93222              Returns
93223                     Boolean & message of success or failure.
93224
93225              CLI Example:
93226
93227                 salt '*' consul.session_destroy session='c1c4d223-91cb-3d1f-1ee8-f2af9e7b6716'
93228
93229       salt.modules.consul.session_info(consul_url=None,    token=None,   ses‐
93230       sion=None, **kwargs)
93231              Information about a session
93232
93233              Parameters
93234
93235                     · consul_url -- The Consul server URL.
93236
93237                     · session -- The ID of the session to return  information
93238                       about.
93239
93240                     · dc  --  By  default,  the  datacenter  of  the agent is
93241                       queried; however, the dc can be provided using the "dc"
93242                       parameter.
93243
93244              Returns
93245                     Boolean & message of success or failure.
93246
93247              CLI Example:
93248
93249                 salt '*' consul.session_info session='c1c4d223-91cb-3d1f-1ee8-f2af9e7b6716'
93250
93251       salt.modules.consul.session_list(consul_url=None,           token=None,
93252       return_list=False, **kwargs)
93253              Used to list sessions.
93254
93255              Parameters
93256
93257                     · consul_url -- The Consul server URL.
93258
93259                     · dc -- By  default,  the  datacenter  of  the  agent  is
93260                       queried; however, the dc can be provided using the "dc"
93261                       parameter.
93262
93263                     · return_list -- By default, all  information  about  the
93264                       sessions  is  returned, using the return_list parameter
93265                       will return a list of session IDs.
93266
93267              Returns
93268                     A list of all available sessions.
93269
93270              CLI Example:
93271
93272                 salt '*' consul.session_list
93273
93274       salt.modules.consul.status_leader(consul_url=None, token=None)
93275              Returns the current Raft leader
93276
93277              Parameters
93278                     consul_url -- The Consul server URL.
93279
93280              Returns
93281                     The address of the Raft leader.
93282
93283              CLI Example:
93284
93285                 salt '*' consul.status_leader
93286
93287       salt.modules.consul.status_peers(consul_url, token=None)
93288              Returns the current Raft peer set
93289
93290              Parameters
93291                     consul_url -- The Consul server URL.
93292
93293              Returns
93294                     Retrieves the Raft peers for the datacenter in which  the
93295                     agent is running.
93296
93297              CLI Example:
93298
93299                 salt '*' consul.status_peers
93300
93301   salt.modules.container_resource
93302       Common resources for LXC and systemd-nspawn containers
93303
93304       New in version 2015.8.0.
93305
93306
93307       These  functions  are  not  designed to be called directly, but instead
93308       from the lxc, nspawn, and docker execution modules.  They  provide  for
93309       common logic to be re-used for common actions.
93310
93311       salt.modules.container_resource.cache_file(source)
93312              Wrapper  for cp.cache_file which raises an error if the file was
93313              unable to be cached.
93314
93315              CLI Example:
93316
93317                 salt myminion container_resource.cache_file salt://foo/bar/baz.txt
93318
93319       salt.modules.container_resource.copy_to(*args, **kwargs)
93320              Common logic for copying files to containers
93321
93322              path   path to the container  parent  (for  LXC  only)  default:
93323                     /var/lib/lxc (system default)
93324
93325              CLI Example:
93326
93327                 salt myminion container_resource.copy_to mycontainer /local/file/path /container/file/path container_type=docker exec_driver=nsenter
93328
93329       salt.modules.container_resource.run(*args, **kwargs)
93330              Common logic for running shell commands in containers
93331
93332              path   path  to  the  container  parent  (for LXC only) default:
93333                     /var/lib/lxc (system default)
93334
93335              CLI Example:
93336
93337                 salt myminion container_resource.run mycontainer 'ps aux' container_type=docker exec_driver=nsenter output=stdout
93338
93339   salt.modules.cp
93340       Minion side functions for salt-cp
93341
93342       salt.modules.cp.cache_dir(path,  saltenv=u'base',  include_empty=False,
93343       include_pat=None, exclude_pat=None)
93344              Download and cache everything under a directory from the master
93345
93346              include_pat
93347                     None  Glob  or regex to narrow down the files cached from
93348                     the given path. If matching with a regex, the regex  must
93349                     be  prefixed  with  E@,  otherwise the expression will be
93350                     interpreted as a glob.
93351
93352                     New in version 2014.7.0.
93353
93354
93355              exclude_pat
93356                     None Glob or regex to exclude certain  files  from  being
93357                     cached from the given path. If matching with a regex, the
93358                     regex must be prefixed with E@, otherwise the  expression
93359                     will be interpreted as a glob.
93360
93361                     NOTE:
93362                        If  used with include_pat, files matching this pattern
93363                        will be excluded from the subset of files  defined  by
93364                        include_pat.
93365
93366                     New in version 2014.7.0.
93367
93368
93369              CLI Examples:
93370
93371                 salt '*' cp.cache_dir salt://path/to/dir
93372                 salt '*' cp.cache_dir salt://path/to/dir include_pat='E@*.py$'
93373
93374       salt.modules.cp.cache_file(path, saltenv=u'base', source_hash=None)
93375              Used to cache a single file on the Minion
93376
93377              Returns the location of the new cached file on the Minion
93378
93379              source_hash
93380                     If  name  is an http(s) or ftp URL and the file exists in
93381                     the minion's file cache, this option  can  be  passed  to
93382                     keep  the  minion  from  re-downloading  the  file if the
93383                     cached copy matches the specified hash.
93384
93385                     New in version 2018.3.0.
93386
93387
93388              CLI Example:
93389
93390                 salt '*' cp.cache_file salt://path/to/file
93391
93392              There are  two  ways  of  defining  the  fileserver  environment
93393              (a.k.a.   saltenv)  from  which to cache the file. One is to use
93394              the saltenv parameter, and the other is  to  use  a  querystring
93395              syntax  in  the  salt:// URL. The below two examples are equiva‐
93396              lent:
93397
93398                 salt '*' cp.cache_file salt://foo/bar.conf saltenv=config
93399                 salt '*' cp.cache_file salt://foo/bar.conf?saltenv=config
93400
93401              If the path being cached is a salt:// URI, and the path does not
93402              exist, then False will be returned.
93403
93404              NOTE:
93405                 It  may  be necessary to quote the URL when using the querys‐
93406                 tring method, depending on the shell being used  to  run  the
93407                 command.
93408
93409       salt.modules.cp.cache_files(paths, saltenv=u'base')
93410              Used  to  gather  many files from the Master, the gathered files
93411              will be saved in the minion cachedir  reflective  to  the  paths
93412              retrieved from the Master
93413
93414              CLI Example:
93415
93416                 salt '*' cp.cache_files salt://pathto/file1,salt://pathto/file1
93417
93418              There  are  two  ways  of  defining  the  fileserver environment
93419              (a.k.a.  saltenv) from which to cache the files. One is  to  use
93420              the  saltenv  parameter,  and  the other is to use a querystring
93421              syntax in the salt:// URL. The below two  examples  are  equiva‐
93422              lent:
93423
93424                 salt '*' cp.cache_files salt://foo/bar.conf,salt://foo/baz.conf saltenv=config
93425                 salt '*' cp.cache_files salt://foo/bar.conf?saltenv=config,salt://foo/baz.conf?saltenv=config
93426
93427              The  querystring  method is less useful when all files are being
93428              cached from the same environment, but is a good way  of  caching
93429              files  from multiple different environments in the same command.
93430              For example, the below command will cache the  first  file  from
93431              the  config1  environment,  and  the second one from the config2
93432              environment.
93433
93434                 salt '*' cp.cache_files salt://foo/bar.conf?saltenv=config1,salt://foo/bar.conf?saltenv=config2
93435
93436              NOTE:
93437                 It may be necessary to quote the URL when using  the  querys‐
93438                 tring  method,  depending  on the shell being used to run the
93439                 command.
93440
93441       salt.modules.cp.cache_local_file(path)
93442              Cache a local file on the minion in the localfiles cache
93443
93444              CLI Example:
93445
93446                 salt '*' cp.cache_local_file /etc/hosts
93447
93448       salt.modules.cp.cache_master(saltenv=u'base')
93449              Retrieve all of the files on the master and cache them locally
93450
93451              CLI Example:
93452
93453                 salt '*' cp.cache_master
93454
93455       salt.modules.cp.envs()
93456              List available environments for fileserver
93457
93458              CLI Example
93459
93460                 salt '*' cp.envs
93461
93462       salt.modules.cp.get_dir(path,  dest,  saltenv=u'base',   template=None,
93463       gzip=None, **kwargs)
93464              Used to recursively copy a directory from the salt master
93465
93466              CLI Example:
93467
93468                 salt '*' cp.get_dir salt://path/to/dir/ /minion/dest
93469
93470              get_dir  supports  the  same  template  and  gzip  arguments  as
93471              get_file.
93472
93473       salt.modules.cp.get_file(path, dest,  saltenv=u'base',  makedirs=False,
93474       template=None, gzip=None, **kwargs)
93475              Changed in version 2018.3.0: dest can now be a directory
93476
93477
93478              Used to get a single file from the salt master
93479
93480              CLI Example:
93481
93482                 salt '*' cp.get_file salt://path/to/file /minion/dest
93483
93484              Template  rendering can be enabled on both the source and desti‐
93485              nation file names like so:
93486
93487                 salt '*' cp.get_file "salt://{{grains.os}}/vimrc" /etc/vimrc template=jinja
93488
93489              This example would instruct all Salt  minions  to  download  the
93490              vimrc  from a directory with the same name as their os grain and
93491              copy it to /etc/vimrc
93492
93493              For larger files, the cp.get_file module also supports gzip com‐
93494              pression.   Because  gzip  is CPU-intensive, this should only be
93495              used in scenarios where the compression ratio is very high (e.g.
93496              pretty-printed JSON or YAML files).
93497
93498              Use  the  gzip  named  argument  to enable it.  Valid values are
93499              1..9, where 1 is the lightest compression and 9 the heaviest.  1
93500              uses the least CPU on the master (and minion), 9 uses the most.
93501
93502              There  are  two  ways  of  defining  the  fileserver environment
93503              (a.k.a.  saltenv) from which to retrieve the file. One is to use
93504              the  saltenv  parameter,  and  the other is to use a querystring
93505              syntax in the salt:// URL. The below two  examples  are  equiva‐
93506              lent:
93507
93508                 salt '*' cp.get_file salt://foo/bar.conf /etc/foo/bar.conf saltenv=config
93509                 salt '*' cp.get_file salt://foo/bar.conf?saltenv=config /etc/foo/bar.conf
93510
93511              NOTE:
93512                 It  may  be necessary to quote the URL when using the querys‐
93513                 tring method, depending on the shell being used  to  run  the
93514                 command.
93515
93516       salt.modules.cp.get_file_str(path, saltenv=u'base')
93517              Download  a  file  from  a URL to the Minion cache directory and
93518              return the contents of that file
93519
93520              Returns False if Salt was unable to cache a file from a URL.
93521
93522              CLI Example:
93523
93524                 salt '*' cp.get_file_str salt://my/file
93525
93526       salt.modules.cp.get_template(path,       dest,       template=u'jinja',
93527       saltenv=u'base', makedirs=False, **kwargs)
93528              Render  a  file  as a template before setting it down.  Warning,
93529              order is not the same as in fileclient.cp for non  breaking  old
93530              API.
93531
93532              CLI Example:
93533
93534                 salt '*' cp.get_template salt://path/to/template /minion/dest
93535
93536       salt.modules.cp.get_url(path,         dest=u'',        saltenv=u'base',
93537       makedirs=False, source_hash=None)
93538              Changed in version 2018.3.0: dest can now be a directory
93539
93540
93541              Used to get a single file from a URL.
93542
93543              path   A URL to download a file from. Supported URL schemes are:
93544                     salt://,  http://,  https://, ftp://, s3://, swift:// and
93545                     file:// (local filesystem). If no scheme  was  specified,
93546                     this is equivalent of using file://.  If a file:// URL is
93547                     given, the function just returns absolute  path  to  that
93548                     file  on  a local filesystem.  The function returns False
93549                     if Salt was unable to fetch a file from a salt:// URL.
93550
93551              dest   The default behaviour is to write the fetched file to the
93552                     given  destination  path. If this parameter is omitted or
93553                     set as empty string (''), the function places the  remote
93554                     file  on  the  local  filesystem  inside the Minion cache
93555                     directory and returns the path to that file.
93556
93557                     NOTE:
93558                        To simply return the file contents instead, set desti‐
93559                        nation  to  None.  This  works  with salt://, http://,
93560                        https://  and  file://  URLs.  The  files  fetched  by
93561                        http:// and https:// will not be cached.
93562
93563              saltenv
93564                     base  Salt  fileserver envrionment from which to retrieve
93565                     the file. Ignored if path is not a salt:// URL.
93566
93567              source_hash
93568                     If path is an http(s) or ftp URL and the file  exists  in
93569                     the  minion's  file  cache,  this option can be passed to
93570                     keep the minion  from  re-downloading  the  file  if  the
93571                     cached copy matches the specified hash.
93572
93573                     New in version 2018.3.0.
93574
93575
93576              CLI Example:
93577
93578                 salt '*' cp.get_url salt://my/file /tmp/this_file_is_mine
93579                 salt '*' cp.get_url http://www.slashdot.org /tmp/index.html
93580
93581       salt.modules.cp.hash_file(path, saltenv=u'base')
93582              Return the hash of a file, to get the hash of a file on the salt
93583              master file server prepend the path with salt://<file on server>
93584              otherwise, prepend the file with / for a local file.
93585
93586              CLI Example:
93587
93588                 salt '*' cp.hash_file salt://path/to/file
93589
93590       salt.modules.cp.is_cached(path, saltenv=u'base')
93591              Return a boolean if the given path on the master has been cached
93592              on the minion
93593
93594              CLI Example:
93595
93596                 salt '*' cp.is_cached salt://path/to/file
93597
93598       salt.modules.cp.list_master(saltenv=u'base', prefix=u'')
93599              List all of the files stored on the master
93600
93601              CLI Example:
93602
93603                 salt '*' cp.list_master
93604
93605       salt.modules.cp.list_master_dirs(saltenv=u'base', prefix=u'')
93606              List all of the directories stored on the master
93607
93608              CLI Example:
93609
93610                 salt '*' cp.list_master_dirs
93611
93612       salt.modules.cp.list_master_symlinks(saltenv=u'base', prefix=u'')
93613              List all of the symlinks stored on the master
93614
93615              CLI Example:
93616
93617                 salt '*' cp.list_master_symlinks
93618
93619       salt.modules.cp.list_minion(saltenv=u'base')
93620              List all of the files cached on the minion
93621
93622              CLI Example:
93623
93624                 salt '*' cp.list_minion
93625
93626       salt.modules.cp.list_states(saltenv=u'base')
93627              List all of the available state modules in an environment
93628
93629              CLI Example:
93630
93631                 salt '*' cp.list_states
93632
93633       salt.modules.cp.push(path,    keep_symlinks=False,    upload_path=None,
93634       remove_source=False)
93635              WARNING Files pushed to the master will have global read permis‐
93636              sions..
93637
93638              Push a file from the minion up to the master, the file  will  be
93639              saved  to  the salt master in the master's minion files cachedir
93640              (defaults to /var/cache/salt/master/minions/minion-id/files)
93641
93642              Since this feature allows a minion to push a file up to the mas‐
93643              ter  server  it is disabled by default for security purposes. To
93644              enable, set file_recv to True in the master configuration  file,
93645              and restart the master.
93646
93647              keep_symlinks
93648                     Keep the path value without resolving its canonical form
93649
93650              upload_path
93651                     Provide a different path inside the master's minion files
93652                     cachedir
93653
93654              remove_source
93655                     Remove the source file on the minion
93656
93657                     New in version 2016.3.0.
93658
93659
93660              CLI Example:
93661
93662                 salt '*' cp.push /etc/fstab
93663                 salt '*' cp.push /etc/system-release keep_symlinks=True
93664                 salt '*' cp.push /etc/fstab upload_path='/new/path/fstab'
93665                 salt '*' cp.push /tmp/filename remove_source=True
93666
93667       salt.modules.cp.push_dir(path, glob=None, upload_path=None)
93668              Push a directory from the minion up to  the  master,  the  files
93669              will  be  saved  to the salt master in the master's minion files
93670              cachedir   (defaults   to    /var/cache/salt/master/minions/min‐
93671              ion-id/files).   It  also has a glob for matching specific files
93672              using globbing.
93673
93674              New in version 2014.7.0.
93675
93676
93677              Since this feature allows a minion to push files up to the  mas‐
93678              ter  server  it is disabled by default for security purposes. To
93679              enable, set file_recv to True in the master configuration  file,
93680              and restart the master.
93681
93682              upload_path
93683                     Provide  a  different  path and directory name inside the
93684                     master's minion files cachedir
93685
93686              CLI Example:
93687
93688                 salt '*' cp.push /usr/lib/mysql
93689                 salt '*' cp.push /usr/lib/mysql upload_path='/newmysql/path'
93690                 salt '*' cp.push_dir /etc/modprobe.d/ glob='*.conf'
93691
93692       salt.modules.cp.recv(files, dest)
93693              Used with salt-cp, pass the files dict, and the destination.
93694
93695              This function receives small fast copy files from the master via
93696              salt-cp.  It does not work via the CLI.
93697
93698       salt.modules.cp.recv_chunked(dest,     chunk,     append=False,    com‐
93699       pressed=True, mode=None)
93700              This function receives files copied to the minion using  salt-cp
93701              and is not intended to be used directly on the CLI.
93702
93703       salt.modules.cp.stat_file(path, saltenv=u'base', octal=True)
93704              Return  the  permissions  of a file, to get the permissions of a
93705              file on the salt  master  file  server  prepend  the  path  with
93706              salt://<file on server> otherwise, prepend the file with / for a
93707              local file.
93708
93709              CLI Example:
93710
93711                 salt '*' cp.stat_file salt://path/to/file
93712
93713   salt.modules.cpan
93714       Manage Perl modules using CPAN
93715
93716       New in version 2015.5.0.
93717
93718
93719       salt.modules.cpan.install(module)
93720              Install a Perl module from CPAN
93721
93722              CLI Example:
93723
93724                 salt '*' cpan.install Template::Alloy
93725
93726       salt.modules.cpan.list_()
93727              List installed Perl modules, and the version installed
93728
93729              CLI Example:
93730
93731                 salt '*' cpan.list
93732
93733       salt.modules.cpan.remove(module, details=False)
93734              Attempt to remove a Perl module that was  installed  from  CPAN.
93735              Because   the  cpan  command  doesn't  actually  support  "unin‐
93736              stall"-like functionality, this function will attempt to do what
93737              it can, with what it has from CPAN.
93738
93739              Until this function is declared stable, USE AT YOUR OWN RISK!
93740
93741              CLI Example:
93742
93743                 salt '*' cpan.remove Old::Package
93744
93745       salt.modules.cpan.show(module)
93746              Show information about a specific Perl module
93747
93748              CLI Example:
93749
93750                 salt '*' cpan.show Template::Alloy
93751
93752       salt.modules.cpan.show_config()
93753              Return a dict of CPAN configuration values
93754
93755              CLI Example:
93756
93757                 salt '*' cpan.show_config
93758
93759   salt.modules.cron
93760       Work with cron
93761
93762       NOTE:
93763          Salt  does  not escape cron metacharacters automatically. You should
93764          backslash-escape percent characters  and  any  other  metacharacters
93765          that might be interpreted incorrectly by the shell.
93766
93767       salt.modules.cron.list_tab(user)
93768              Return the contents of the specified user's crontab
93769
93770              CLI Example:
93771
93772                 salt '*' cron.list_tab root
93773
93774       salt.modules.cron.ls(user)
93775              This function is an alias of list_tab.
93776                 Return the contents of the specified user's crontab
93777
93778                 CLI Example:
93779
93780                     salt '*' cron.list_tab root
93781
93782       salt.modules.cron.raw_cron(user)
93783              Return the contents of the user's crontab
93784
93785              CLI Example:
93786
93787                 salt '*' cron.raw_cron root
93788
93789       salt.modules.cron.rm(user,  cmd, minute=None, hour=None, daymonth=None,
93790       month=None, dayweek=None, identifier=None)
93791              This function is an alias of rm_job.
93792                 Remove a cron job  for  a  specified  user.  If  any  of  the
93793                 day/time  params  are specified, the job will only be removed
93794                 if the specified params match.
93795
93796                 CLI Example:
93797
93798                     salt '*' cron.rm_job root /usr/local/weekly
93799                     salt '*' cron.rm_job root /usr/bin/foo dayweek=1
93800
93801       salt.modules.cron.rm_env(user, name)
93802              Remove cron environment variable for a specified user.
93803
93804              CLI Example:
93805
93806                 salt '*' cron.rm_env root MAILTO
93807
93808       salt.modules.cron.rm_job(user,  cmd,   minute=None,   hour=None,   day‐
93809       month=None, month=None, dayweek=None, identifier=None)
93810              Remove  a  cron job for a specified user. If any of the day/time
93811              params are specified, the job will only be removed if the speci‐
93812              fied params match.
93813
93814              CLI Example:
93815
93816                 salt '*' cron.rm_job root /usr/local/weekly
93817                 salt '*' cron.rm_job root /usr/bin/foo dayweek=1
93818
93819       salt.modules.cron.rm_special(user, cmd, special=None, identifier=None)
93820              Remove a special cron job for a specified user.
93821
93822              CLI Example:
93823
93824                 salt '*' cron.rm_special root /usr/bin/foo
93825
93826       salt.modules.cron.set_env(user, name, value=None)
93827              Set up an environment variable in the crontab.
93828
93829              CLI Example:
93830
93831                 salt '*' cron.set_env root MAILTO user@example.com
93832
93833       salt.modules.cron.set_job(user, minute, hour, daymonth, month, dayweek,
93834       cmd, commented=False, comment=None, identifier=None)
93835              Sets a cron job up for a specified user.
93836
93837              CLI Example:
93838
93839                 salt '*' cron.set_job root '*' '*' '*' '*' 1 /usr/local/weekly
93840
93841       salt.modules.cron.set_special(user, special, cmd, commented=False, com‐
93842       ment=None, identifier=None)
93843              Set up a special command in the crontab.
93844
93845              CLI Example:
93846
93847                 salt '*' cron.set_special root @hourly 'echo foobar'
93848
93849       salt.modules.cron.write_cron_file(user, path)
93850              Writes the contents of a file to a user's crontab
93851
93852              CLI Example:
93853
93854                 salt '*' cron.write_cron_file root /tmp/new_cron
93855
93856              Changed in version 2015.8.9.
93857
93858
93859              NOTE:
93860                 Some  OS' do not support specifying user via the crontab com‐
93861                 mand i.e. (Solaris, AIX)
93862
93863       salt.modules.cron.write_cron_file_verbose(user, path)
93864              Writes the contents of a file to a  user's  crontab  and  return
93865              error message on error
93866
93867              CLI Example:
93868
93869                 salt '*' cron.write_cron_file_verbose root /tmp/new_cron
93870
93871              Changed in version 2015.8.9.
93872
93873
93874              NOTE:
93875                 Some  OS' do not support specifying user via the crontab com‐
93876                 mand i.e. (Solaris, AIX)
93877
93878   salt.modules.csf
93879   Support for Config Server Firewall (CSF)
93880       maintainer
93881              Mostafa Hussein <mostafa.hussein91@gmail.com>
93882
93883       maturity
93884              new
93885
93886       platform
93887              Linux
93888
93889       salt.modules.csf.allow(ip,  port=None,  proto=u'tcp',  direction=u'in',
93890       port_origin=u'd', ip_origin=u's', ttl=None, comment=u'')
93891              Add  an rule to csf allowed hosts See _access_rule().  1- Add an
93892              IP: CLI Example:
93893
93894                 salt '*' csf.allow 127.0.0.1
93895                 salt '*' csf.allow 127.0.0.1 comment="Allow localhost"
93896
93897       salt.modules.csf.allow_port(port, proto=u'tcp', direction=u'both')
93898              Like allow_ports, but it  will  append  to  the  existing  entry
93899              instead  of replacing it.  Takes a single port instead of a list
93900              of ports.
93901
93902              CLI Example:
93903
93904                 salt '*' csf.allow_port 22 proto='tcp' direction='in'
93905
93906       salt.modules.csf.allow_ports(ports, proto=u'tcp', direction=u'in')
93907              Fully replace  the  incoming  or  outgoing  ports  line  in  the
93908              csf.conf file - e.g. TCP_IN, TCP_OUT, UDP_IN, UDP_OUT, etc.
93909
93910              CLI Example:
93911
93912                 salt '*' csf.allow_ports ports="[22,80,443,4505,4506]" proto='tcp' direction='in'
93913
93914       salt.modules.csf.build_directions(direction)
93915
93916       salt.modules.csf.deny(ip,   port=None,  proto=u'tcp',  direction=u'in',
93917       port_origin=u'd', ip_origin=u'd', ttl=None, comment=u'')
93918              Add an rule to csf denied hosts See _access_rule().  1- Deny  an
93919              IP: CLI Example:
93920
93921                 salt '*' csf.deny 127.0.0.1
93922                 salt '*' csf.deny 127.0.0.1 comment="Too localhosty"
93923
93924       salt.modules.csf.disable()
93925              Disable csf permanently CLI Example:
93926
93927                 salt '*' csf.disable
93928
93929       salt.modules.csf.disable_testing_mode()
93930
93931       salt.modules.csf.enable()
93932              Activate csf if not running CLI Example:
93933
93934                 salt '*' csf.enable
93935
93936       salt.modules.csf.enable_testing_mode()
93937
93938       salt.modules.csf.exists(method,  ip,  port=None,  proto=u'tcp',  direc‐
93939       tion=u'in', port_origin=u'd', ip_origin=u'd', ttl=None, comment=u'')
93940              Returns true a rule for the  ip  already  exists  based  on  the
93941              method supplied. Returns false if not found.  CLI Example:
93942
93943                 salt '*' csf.exists allow 1.2.3.4
93944                 salt '*' csf.exists tempdeny 1.2.3.4
93945
93946       salt.modules.csf.get_option(option)
93947
93948       salt.modules.csf.get_ports(proto=u'tcp', direction=u'in')
93949              Lists ports from csf.conf based on direction and protocol.  e.g.
93950              - TCP_IN, TCP_OUT, UDP_IN, UDP_OUT, etc..
93951
93952              CLI Example:
93953
93954                 salt '*' csf.allow_port 22 proto='tcp' direction='in'
93955
93956       salt.modules.csf.get_skipped_nics(ipv6=False)
93957
93958       salt.modules.csf.get_testing_status()
93959
93960       salt.modules.csf.reload()
93961              Restart csf CLI Example:
93962
93963                 salt '*' csf.reload
93964
93965       salt.modules.csf.remove_rule(method,   ip,   port=None,   proto=u'tcp',
93966       direction=u'in',   port_origin=u'd',   ip_origin=u's',  ttl=None,  com‐
93967       ment=u'')
93968
93969       salt.modules.csf.remove_temp_rule(ip)
93970
93971       salt.modules.csf.running()
93972              Check csf status CLI Example:
93973
93974                 salt '*' csf.running
93975
93976       salt.modules.csf.set_option(option, value)
93977
93978       salt.modules.csf.skip_nic(nic, ipv6=False)
93979
93980       salt.modules.csf.skip_nics(nics, ipv6=False)
93981
93982       salt.modules.csf.split_option(option)
93983
93984       salt.modules.csf.tempallow(ip=None,   ttl=None,    port=None,    direc‐
93985       tion=None, comment=u'')
93986              Add an rule to the temporary ip allow list.  See _access_rule().
93987              1- Add an IP: CLI Example:
93988
93989                 salt '*' csf.tempallow 127.0.0.1 3600 port=22 direction='in' comment='# Temp dev ssh access'
93990
93991       salt.modules.csf.tempdeny(ip=None, ttl=None, port=None, direction=None,
93992       comment=u'')
93993              Add  a  rule to the temporary ip deny list.  See _access_rule().
93994              1- Add an IP: CLI Example:
93995
93996                 salt '*' csf.tempdeny 127.0.0.1 300 port=22 direction='in' comment='# Brute force attempt'
93997
93998       salt.modules.csf.unallow(ip)
93999              Remove a rule from the csf denied hosts See _access_rule().   1-
94000              Deny an IP: CLI Example:
94001
94002                 salt '*' csf.unallow 127.0.0.1
94003
94004       salt.modules.csf.undeny(ip)
94005              Remove  a rule from the csf denied hosts See _access_rule().  1-
94006              Deny an IP: CLI Example:
94007
94008                 salt '*' csf.undeny 127.0.0.1
94009
94010   salt.modules.cyg
94011       Manage cygwin packages.
94012
94013       Module file to accompany the cyg state.
94014
94015       salt.modules.cyg.check_valid_package(package, cyg_arch=u'x86_64',  mir‐
94016       rors=None)
94017              Check if the package is valid on the given mirrors.
94018
94019              Parameters
94020
94021                     · package -- The name of the package
94022
94023                     · cyg_arch -- The cygwin architecture
94024
94025                     · mirrors -- any mirrors to check
94026
94027              Returns (bool): True if Valid, otherwise False
94028
94029              CLI Example:
94030
94031                 salt '*' cyg.check_valid_package <package name>
94032
94033       salt.modules.cyg.install(packages=None,     cyg_arch=u'x86_64',    mir‐
94034       rors=None)
94035              Install one or several packages.
94036
94037              packages
94038                     None The packages to install
94039
94040              cyg_arch
94041                     x86_64 Specify the architecture to  install  the  package
94042                     under Current options are x86 and x86_64
94043
94044              CLI Example:
94045
94046                 salt '*' cyg.install dos2unix
94047                 salt '*' cyg.install dos2unix mirrors="[{'http://mirror': 'http://url/to/public/key}]'
94048
94049       salt.modules.cyg.list_(package=u'', cyg_arch=u'x86_64')
94050              List locally installed packages.
94051
94052              package
94053                     '' package name to check. else all
94054
94055              cyg_arch :
94056                     Cygwin architecture to use Options are x86 and x86_64
94057
94058              CLI Example:
94059
94060                 salt '*' cyg.list
94061
94062       salt.modules.cyg.uninstall(packages, cyg_arch=u'x86_64', mirrors=None)
94063              Uninstall one or several packages.
94064
94065              packages
94066                     The packages to uninstall.
94067
94068              cyg_arch
94069                     x86_64  Specify  the  architecture  to remove the package
94070                     from Current options are x86 and x86_64
94071
94072              CLI Example:
94073
94074                 salt '*' cyg.uninstall dos2unix
94075                 salt '*' cyg.uninstall dos2unix mirrors="[{'http://mirror': 'http://url/to/public/key}]"
94076
94077       salt.modules.cyg.update(cyg_arch=u'x86_64', mirrors=None)
94078              Update all packages.
94079
94080              cyg_arch
94081                     x86_64 Specify the  cygwin  architecture  update  Current
94082                     options are x86 and x86_64
94083
94084              CLI Example:
94085
94086                 salt '*' cyg.update
94087                 salt '*' cyg.update dos2unix mirrors="[{'http://mirror': 'http://url/to/public/key}]"
94088
94089   salt.modules.daemontools
94090       daemontools  service  module.  This module will create daemontools type
94091       service watcher.
94092
94093       This module is compatible with the service states, so it can be used to
94094       maintain services using the provider argument:
94095
94096          myservice:
94097            service.running:
94098              - provider: daemontools
94099
94100       salt.modules.daemontools.available(name)
94101              Returns  True  if  the specified service is available, otherwise
94102              returns False.
94103
94104              CLI Example:
94105
94106                 salt '*' daemontools.available foo
94107
94108       salt.modules.daemontools.disabled(name)
94109              Return True if the named service is enabled, false otherwise
94110
94111              New in version 2015.5.6.
94112
94113
94114              CLI Example:
94115
94116                 salt '*' daemontools.disabled <service name>
94117
94118       salt.modules.daemontools.enabled(name, **kwargs)
94119              Return True if the named service is enabled, false  otherwise  A
94120              service is considered enabled if in your service directory: - an
94121              executable ./run file exist - a file named "down" does not exist
94122
94123              New in version 2015.5.7.
94124
94125
94126              name   Service name
94127
94128              CLI Example:
94129
94130                 salt '*' daemontools.enabled <service name>
94131
94132       salt.modules.daemontools.full_restart(name)
94133              Calls daemontools.restart() function
94134
94135              CLI Example:
94136
94137                 salt '*' daemontools.full_restart <service name>
94138
94139       salt.modules.daemontools.get_all()
94140              Return a list of all available services
94141
94142              CLI Example:
94143
94144                 salt '*' daemontools.get_all
94145
94146       salt.modules.daemontools.missing(name)
94147              The inverse of daemontools.available.  Returns True if the spec‐
94148              ified service is not available, otherwise returns False.
94149
94150              CLI Example:
94151
94152                 salt '*' daemontools.missing foo
94153
94154       salt.modules.daemontools.reload_(name)
94155              Wrapper for term()
94156
94157              CLI Example:
94158
94159                 salt '*' daemontools.reload <service name>
94160
94161       salt.modules.daemontools.restart(name)
94162              Restart service via daemontools. This will stop/start service
94163
94164              CLI Example:
94165
94166                 salt '*' daemontools.restart <service name>
94167
94168       salt.modules.daemontools.start(name)
94169              Starts service via daemontools
94170
94171              CLI Example:
94172
94173                 salt '*' daemontools.start <service name>
94174
94175       salt.modules.daemontools.status(name, sig=None)
94176              Return  the  status for a service via daemontools, return pid if
94177              running
94178
94179              CLI Example:
94180
94181                 salt '*' daemontools.status <service name>
94182
94183       salt.modules.daemontools.stop(name)
94184              Stops service via daemontools
94185
94186              CLI Example:
94187
94188                 salt '*' daemontools.stop <service name>
94189
94190       salt.modules.daemontools.term(name)
94191              Send a TERM to service via daemontools
94192
94193              CLI Example:
94194
94195                 salt '*' daemontools.term <service name>
94196
94197   salt.modules.data
94198       Manage a local persistent data structure that can  hold  any  arbitrary
94199       data specific to the minion
94200
94201       salt.modules.data.cas(key, value, old_value)
94202              Check and set a value in the minion datastore
94203
94204              CLI Example:
94205
94206                 salt '*' data.cas <key> <value> <old_value>
94207
94208       salt.modules.data.clear()
94209              Clear out all of the data in the minion datastore, this function
94210              is destructive!
94211
94212              CLI Example:
94213
94214                 salt '*' data.clear
94215
94216       salt.modules.data.dump(new_data)
94217              Replace the entire datastore with a passed data structure
94218
94219              CLI Example:
94220
94221                 salt '*' data.dump '{'eggs': 'spam'}'
94222
94223       salt.modules.data.get(key, default=None)
94224              Get a (list of) value(s) from the minion datastore
94225
94226              New in version 2015.8.0.
94227
94228
94229              CLI Example:
94230
94231                 salt '*' data.get key
94232                 salt '*' data.get '["key1", "key2"]'
94233
94234       salt.modules.data.has_key(key)
94235              Check if key is in the minion datastore
94236
94237              New in version 2015.8.0.
94238
94239
94240              CLI Example:
94241
94242                 salt '*' data.has_key <mykey>
94243
94244       salt.modules.data.items()
94245              Get items from the minion datastore
94246
94247              New in version 2015.8.0.
94248
94249
94250              CLI Example:
94251
94252                 salt '*' data.items
94253
94254       salt.modules.data.keys()
94255              Get all keys from the minion datastore
94256
94257              New in version 2015.8.0.
94258
94259
94260              CLI Example:
94261
94262                 salt '*' data.keys
94263
94264       salt.modules.data.load()
94265              Return all of the data in the minion datastore
94266
94267              CLI Example:
94268
94269                 salt '*' data.load
94270
94271       salt.modules.data.pop(key, default=None)
94272              Pop (return & delete) a value from the minion datastore
94273
94274              New in version 2015.5.2.
94275
94276
94277              CLI Example:
94278
94279                 salt '*' data.pop <key> "there was no val"
94280
94281       salt.modules.data.update(key, value)
94282              Update a key with a value in the minion datastore
94283
94284              CLI Example:
94285
94286                 salt '*' data.update <key> <value>
94287
94288       salt.modules.data.values()
94289              Get values from the minion datastore
94290
94291              New in version 2015.8.0.
94292
94293
94294              CLI Example:
94295
94296                 salt '*' data.values
94297
94298   salt.modules.datadog_api
94299       An execution module that interacts with the Datadog API
94300
94301       The following parameters are required for all functions.
94302
94303       api_key
94304              The datadog API key
94305
94306       app_key
94307              The datadog application key
94308
94309       Full argument reference is available on the Datadog API reference  page
94310       https://docs.datadoghq.com/api/
94311
94312       salt.modules.datadog_api.cancel_downtime(api_key=None,    app_key=None,
94313       scope=None, id=None)
94314              Cancel a downtime by id or by scope.
94315
94316              CLI Example:
94317
94318                 salt-call datadog.cancel_downtime scope='host:app01' \
94319                                                   api_key='0123456789' \
94320                                                   app_key='9876543210'`
94321
94322              Arguments - Either scope or id is required.
94323
94324              Parameters
94325
94326                     · id -- The downtime ID
94327
94328                     · scope -- The downtime scope
94329
94330       salt.modules.datadog_api.post_event(api_key=None,         app_key=None,
94331       title=None,  text=None,  date_happened=None,  priority=None, host=None,
94332       tags=None,            alert_type=None,            aggregation_key=None,
94333       source_type_name=None)
94334              Post an event to the Datadog stream.
94335
94336              CLI Example
94337
94338                 salt-call datadog.post_event api_key='0123456789' \
94339                                              app_key='9876543210' \
94340                                              title='Salt Highstate' \
94341                                              text="Salt highstate was run on $(salt-call grains.get id)" \
94342                                              tags='["service:salt", "event:highstate"]'
94343
94344              Required arguments
94345
94346              Parameters
94347
94348                     · title -- The event title. Limited to 100 characters.
94349
94350                     · text  -- The body of the event. Limited to 4000 charac‐
94351                       ters. The text supports markdown.
94352
94353              Optional arguments
94354
94355              Parameters
94356
94357                     · date_happened -- POSIX timestamp of the event.
94358
94359                     · priority -- The priority  of  the  event  ('normal'  or
94360                       'low').
94361
94362                     · host -- Host name to associate with the event.
94363
94364                     · tags -- A list of tags to apply to the event.
94365
94366                     · alert_type -- "error", "warning", "info" or "success".
94367
94368                     · aggregation_key  --  An  arbitrary  string  to  use for
94369                       aggregation, max length of 100 characters.
94370
94371                     · source_type_name -- The type of event being posted.
94372
94373       salt.modules.datadog_api.schedule_downtime(scope,         api_key=None,
94374       app_key=None,   monitor_id=None,  start=None,  end=None,  message=None,
94375       recurrence=None, timezone=None, test=False)
94376              Schedule downtime for a scope of monitors.
94377
94378              CLI Example:
94379
94380                 salt-call datadog.schedule_downtime 'host:app2' \
94381                                                     stop=$(date --date='30 minutes' +%s) \
94382                                                     app_key='0123456789' \
94383                                                     api_key='9876543210'
94384
94385              Optional arguments
94386
94387              Parameters
94388
94389                     · monitor_id -- The ID of the monitor
94390
94391                     · start -- Start time in seconds since the epoch
94392
94393                     · end -- End time in seconds since the epoch
94394
94395                     · message -- A message to send in a notification for this
94396                       downtime
94397
94398                     · recurrence -- Repeat this downtime periodically
94399
94400                     · timezone -- Specify the timezone
94401
94402   salt.modules.ddns
94403       Support for RFC 2136 dynamic DNS updates.
94404
94405       depends
94406
94407              · dnspython Python module
94408
94409       configuration
94410              If you want to use TSIG authentication for the server, there are
94411              a couple of optional configuration parameters made available  to
94412              support this (the keyname is only needed if the keyring contains
94413              more than one key):
94414
94415                 keyfile: keyring file (default=None)
94416                 keyname: key name in file (default=None)
94417                 keyalgorithm: algorithm used to create the key
94418                               (default='HMAC-MD5.SIG-ALG.REG.INT').
94419                     Other possible values: hmac-sha1, hmac-sha224, hmac-sha256,
94420                         hmac-sha384, hmac-sha512
94421
94422              The keyring file needs to be in json format  and  the  key  name
94423              needs to end with an extra period in the file, similar to this:
94424
94425                 {"keyname.": "keycontent"}
94426
94427       salt.modules.ddns.add_host(zone,      name,      ttl,     ip,     name‐
94428       server=u'127.0.0.1', replace=True, timeout=5, port=53, **kwargs)
94429              Add, replace, or update the A and PTR (reverse)  records  for  a
94430              host.
94431
94432              CLI Example:
94433
94434                 salt ns1 ddns.add_host example.com host1 60 10.1.1.1
94435
94436       salt.modules.ddns.delete(zone,   name,  rdtype=None,  data=None,  name‐
94437       server=u'127.0.0.1', timeout=5, port=53, **kwargs)
94438              Delete a DNS record.
94439
94440              CLI Example:
94441
94442                 salt ns1 ddns.delete example.com host1 A
94443
94444       salt.modules.ddns.delete_host(zone,   name,    nameserver=u'127.0.0.1',
94445       timeout=5, port=53, **kwargs)
94446              Delete the forward and reverse records for a host.
94447
94448              Returns true if any records are deleted.
94449
94450              CLI Example:
94451
94452                 salt ns1 ddns.delete_host example.com host1
94453
94454       salt.modules.ddns.update(zone,   name,   ttl,   rdtype,   data,   name‐
94455       server=u'127.0.0.1', timeout=5, replace=False, port=53, **kwargs)
94456              Add, replace, or update a DNS record.  nameserver must be an  IP
94457              address  and  the  minion  running  this module must have update
94458              privileges on that server.  If replace is  true,  first  deletes
94459              all records for this name and type.
94460
94461              CLI Example:
94462
94463                 salt ns1 ddns.update example.com host1 60 A 10.0.0.1
94464
94465   salt.modules.deb_apache
94466       Support for Apache
94467
94468       Please note: The functions in here are Debian-specific. Placing them in
94469       this separate file will allow them to load only  on  Debian-based  sys‐
94470       tems, while still loading under the apache namespace.
94471
94472       salt.modules.deb_apache.a2disconf(conf)
94473              New in version 2016.3.0.
94474
94475
94476              Runs a2disconf for the given conf.
94477
94478              This  will  only be functional on Debian-based operating systems
94479              (Ubuntu, Mint, etc).
94480
94481              CLI Examples:
94482
94483                 salt '*' apache.a2disconf security
94484
94485       salt.modules.deb_apache.a2dismod(mod)
94486              Runs a2dismod for the given mod.
94487
94488              This will only be functional on Debian-based  operating  systems
94489              (Ubuntu, Mint, etc).
94490
94491              CLI Examples:
94492
94493                 salt '*' apache.a2dismod vhost_alias
94494
94495       salt.modules.deb_apache.a2dissite(site)
94496              Runs a2dissite for the given site.
94497
94498              This  will  only be functional on Debian-based operating systems
94499              (Ubuntu, Mint, etc).
94500
94501              CLI Examples:
94502
94503                 salt '*' apache.a2dissite example.com
94504
94505       salt.modules.deb_apache.a2enconf(conf)
94506              New in version 2016.3.0.
94507
94508
94509              Runs a2enconf for the given conf.
94510
94511              This will only be functional on Debian-based  operating  systems
94512              (Ubuntu, Mint, etc).
94513
94514              CLI Examples:
94515
94516                 salt '*' apache.a2enconf security
94517
94518       salt.modules.deb_apache.a2enmod(mod)
94519              Runs a2enmod for the given mod.
94520
94521              This  will  only be functional on Debian-based operating systems
94522              (Ubuntu, Mint, etc).
94523
94524              CLI Examples:
94525
94526                 salt '*' apache.a2enmod vhost_alias
94527
94528       salt.modules.deb_apache.a2ensite(site)
94529              Runs a2ensite for the given site.
94530
94531              This will only be functional on Debian-based  operating  systems
94532              (Ubuntu, Mint, etc).
94533
94534              CLI Examples:
94535
94536                 salt '*' apache.a2ensite example.com
94537
94538       salt.modules.deb_apache.check_conf_enabled(conf)
94539              New in version 2016.3.0.
94540
94541
94542              Checks   to   see   if   the   specific   conf   symlink  is  in
94543              /etc/apache2/conf-enabled.
94544
94545              This will only be functional on Debian-based  operating  systems
94546              (Ubuntu, Mint, etc).
94547
94548              CLI Examples:
94549
94550                 salt '*' apache.check_conf_enabled security
94551                 salt '*' apache.check_conf_enabled security.conf
94552
94553       salt.modules.deb_apache.check_mod_enabled(mod)
94554              Checks   to   see   if   the   specific   mod   symlink   is  in
94555              /etc/apache2/mods-enabled.
94556
94557              This will only be functional on Debian-based  operating  systems
94558              (Ubuntu, Mint, etc).
94559
94560              CLI Examples:
94561
94562                 salt '*' apache.check_mod_enabled status
94563                 salt '*' apache.check_mod_enabled status.load
94564                 salt '*' apache.check_mod_enabled status.conf
94565
94566       salt.modules.deb_apache.check_site_enabled(site)
94567              Checks   to   see   if   the   specific   site   symlink  is  in
94568              /etc/apache2/sites-enabled.
94569
94570              This will only be functional on Debian-based  operating  systems
94571              (Ubuntu, Mint, etc).
94572
94573              CLI Examples:
94574
94575                 salt '*' apache.check_site_enabled example.com
94576                 salt '*' apache.check_site_enabled example.com.conf
94577
94578   salt.modules.deb_postgres
94579       Module to provide Postgres compatibility to salt for debian family spe‐
94580       cific tools.
94581
94582       salt.modules.deb_postgres.cluster_create(version,         name=u'main',
94583       port=None, locale=None, encoding=None, datadir=None)
94584              Adds a cluster to the Postgres server.
94585
94586              CLI Example:
94587
94588                 salt '*' postgres.cluster_create '9.3'
94589
94590                 salt '*' postgres.cluster_create '9.3' 'main'
94591
94592                 salt '*' postgres.cluster_create '9.3' locale='fr_FR'
94593
94594       salt.modules.deb_postgres.cluster_exists(version, name=u'main')
94595              Checks if a given version and name of a cluster exists.
94596
94597              CLI Example:
94598
94599                 salt '*' postgres.cluster_exists '9.3'
94600
94601                 salt '*' postgres.cluster_exists '9.3' 'main'
94602
94603       salt.modules.deb_postgres.cluster_list(verbose=False)
94604              Return  a  list of cluster of Postgres server (tuples of version
94605              and name).
94606
94607              CLI Example:
94608
94609                 salt '*' postgres.cluster_list
94610
94611                 salt '*' postgres.cluster_list verbose=True
94612
94613       salt.modules.deb_postgres.cluster_remove(version,         name=u'main',
94614       stop=False)
94615              Remove a cluster on a Postgres server. By default it doesn't try
94616              to stop the cluster.
94617
94618              CLI Example:
94619
94620                 salt '*' postgres.cluster_remove '9.3'
94621
94622                 salt '*' postgres.cluster_remove '9.3' 'main'
94623
94624                 salt '*' postgres.cluster_remove '9.3' 'main' stop=True
94625
94626   salt.modules.debbuild
94627       Debian Package builder system
94628
94629       New in version 2015.8.0.
94630
94631
94632       This system allows for all of the components to build  debs  safely  in
94633       chrooted environments. This also provides a function to generate debian
94634       repositories
94635
94636       This module implements the pkgbuild interface
94637
94638       salt.modules.debbuild.build(runas, tgt, dest_dir, spec, sources,  deps,
94639       env, template, saltenv=u'base', log_dir=u'/var/log/salt/pkgbuild')
94640              Given  the package destination directory, the tarball containing
94641              debian files (e.g. control) and package sources, use pbuilder to
94642              safely build the platform package
94643
94644              CLI Example:
94645
94646              Debian
94647
94648                 salt '*' pkgbuild.make_src_pkg deb-8-x86_64 /var/www/html
94649                         https://raw.githubusercontent.com/saltstack/libnacl/master/pkg/deb/python-libnacl.control
94650                         https://pypi.python.org/packages/source/l/libnacl/libnacl-1.3.5.tar.gz
94651
94652              This example command should build the libnacl package for Debian
94653              using pbuilder and place it in /var/www/html/ on the minion
94654
94655       salt.modules.debbuild.make_repo(repodir,     keyid=None,      env=None,
94656       use_passphrase=False,   gnupghome=u'/etc/salt/gpgkeys',  runas=u'root',
94657       timeout=15.0)
94658              Make a package repository and optionally sign  it  and  packages
94659              present
94660
94661              Given  the repodir (directory to create repository in), create a
94662              Debian repository and optionally sign it and  packages  present.
94663              This  state  is  best used with onchanges linked to your package
94664              building states.
94665
94666              repodir
94667                     The directory to find packages that will be in the repos‐
94668                     itory.
94669
94670              keyid  Changed in version 2016.3.0.
94671
94672
94673                     Optional  Key  ID  to use in signing packages and reposi‐
94674                     tory.  This consists of the last 8 hex digits of the  GPG
94675                     key ID.
94676
94677                     Utilizes  Public  and  Private keys associated with keyid
94678                     which have been loaded into  the  minion's  Pillar  data.
94679                     Leverages gpg-agent and gpg-preset-passphrase for caching
94680                     keys, etc.  These pillar values are assumed to  be  file‐
94681                     names  which  are  present  in gnupghome. The pillar keys
94682                     shown below have to match exactly.
94683
94684                     For example, contents from a Pillar data file with  named
94685                     Public and Private keys as follows:
94686
94687                        gpg_pkg_priv_keyname: gpg_pkg_key.pem
94688                        gpg_pkg_pub_keyname: gpg_pkg_key.pub
94689
94690              env    Changed in version 2016.3.0.
94691
94692
94693                     A  dictionary  of environment variables to be utilized in
94694                     creating the repository.
94695
94696              use_passphrase
94697                     False New in version 2016.3.0.
94698
94699
94700                     Use a passphrase with the signing key presented in keyid.
94701                     Passphrase  is  received  from Pillar data which could be
94702                     passed on the command line  with  pillar  parameter.  For
94703                     example:
94704
94705                        pillar='{ "gpg_passphrase" : "my_passphrase" }'
94706
94707              gnupghome
94708                     /etc/salt/gpgkeys New in version 2016.3.0.
94709
94710
94711                     Location  where  GPG  related files are stored, used with
94712                     keyid.
94713
94714              runas  root New in version 2016.3.0.
94715
94716
94717                     User to create the repository  as,  and  optionally  sign
94718                     packages.
94719
94720                     NOTE:
94721                        Ensure  the  user has correct permissions to any files
94722                        and directories which are to be utilized.
94723
94724              timeout
94725                     15.0 New in version 2016.3.4.
94726
94727
94728                     Timeout in seconds to wait for the prompt  for  inputting
94729                     the passphrase.
94730
94731              CLI Example:
94732
94733                 salt '*' pkgbuild.make_repo /var/www/html
94734
94735       salt.modules.debbuild.make_src_pkg(dest_dir,  spec,  sources, env=None,
94736       saltenv=u'base', runas=u'root')
94737              Create a platform specific source package from the  given  plat‐
94738              form spec/control file and sources
94739
94740              CLI Example:
94741
94742              Debian
94743
94744                 salt '*' pkgbuild.make_src_pkg /var/www/html/
94745                         https://raw.githubusercontent.com/saltstack/libnacl/master/pkg/deb/python-libnacl.control.tar.xz
94746                         https://pypi.python.org/packages/source/l/libnacl/libnacl-1.3.5.tar.gz
94747
94748              This example command should build the libnacl SOURCE package and
94749              place it in /var/www/html/ on the minion
94750
94751              dest_dir
94752                     Absolute path for directory to write source package
94753
94754              spec   Absolute path to spec file or equivalent
94755
94756              sources
94757                     Absolute path to source files  to  build  source  package
94758                     from
94759
94760              env    None A list  or dictionary of environment variables to be
94761                     set prior to execution.  Example:
94762
94763                        - env:
94764                            - DEB_BUILD_OPTIONS: 'nocheck'
94765
94766                     WARNING:
94767                        The above illustrates a common  PyYAML  pitfall,  that
94768                        yes,  no,  on,  off, true, and false are all loaded as
94769                        boolean True and False values, and must be enclosed in
94770                        quotes  to  be used as strings. More info on this (and
94771                        other) PyYAML idiosyncrasies can be found here.
94772
94773              saltenv: base
94774                 Salt environment variables
94775
94776              runas  root New in version fluorine.
94777
94778
94779                     User to create the files and directories
94780
94781                     NOTE:
94782                        Ensure the user has correct permissions to  any  files
94783                        and directories which are to be utilized.
94784
94785   salt.modules.debconfmod
94786       Support for Debconf
94787
94788       salt.modules.debconfmod.get_selections(fetchempty=True)
94789              Answers  to  debconf questions for all packages in the following
94790              format:
94791
94792                 {'package': [['question', 'type', 'value'], ...]}
94793
94794              CLI Example:
94795
94796                 salt '*' debconf.get_selections
94797
94798       salt.modules.debconfmod.set_(package, question, type, value, *extra)
94799              Set answers to debconf questions for a package.
94800
94801              CLI Example:
94802
94803                 salt '*' debconf.set <package> <question> <type> <value> [<value> ...]
94804
94805       salt.modules.debconfmod.set_file(path, saltenv=u'base', **kwargs)
94806              Set answers to debconf questions from a file.
94807
94808              CLI Example:
94809
94810                 salt '*' debconf.set_file salt://pathto/pkg.selections
94811
94812       salt.modules.debconfmod.set_template(path, template, context, defaults,
94813       saltenv=u'base', **kwargs)
94814              Set answers to debconf questions from a template.
94815
94816              path   location of the file containing the package selections
94817
94818              template
94819                     template format
94820
94821              context
94822                     variables to add to the template environment
94823
94824              default
94825                     default values for the template environment
94826
94827              CLI Example:
94828
94829                 salt '*' debconf.set_template salt://pathto/pkg.selections.jinja jinja None None
94830
94831       salt.modules.debconfmod.show(name)
94832              Answers to debconf questions for a package in the following for‐
94833              mat:
94834
94835                 [['question', 'type', 'value'], ...]
94836
94837              If debconf doesn't know about a package, we return None.
94838
94839              CLI Example:
94840
94841                 salt '*' debconf.show <package name>
94842
94843   salt.modules.debian_ip
94844       The networking module for Debian-based distros
94845
94846       References:
94847
94848       · http://www.debian.org/doc/manuals/debian-reference/ch05.en.html
94849
94850       salt.modules.debian_ip.apply_network_settings(**settings)
94851              Apply global network configuration.
94852
94853              CLI Example:
94854
94855                 salt '*' ip.apply_network_settings
94856
94857       salt.modules.debian_ip.build_bond(iface, **settings)
94858              Create a bond script in /etc/modprobe.d with the passed settings
94859              and load the bonding kernel module.
94860
94861              CLI Example:
94862
94863                 salt '*' ip.build_bond bond0 mode=balance-alb
94864
94865       salt.modules.debian_ip.build_interface(iface,    iface_type,   enabled,
94866       **settings)
94867              Build an interface script for a network interface.
94868
94869              CLI Example:
94870
94871                 salt '*' ip.build_interface eth0 eth <settings>
94872
94873       salt.modules.debian_ip.build_network_settings(**settings)
94874              Build the global network script.
94875
94876              CLI Example:
94877
94878                 salt '*' ip.build_network_settings <settings>
94879
94880       salt.modules.debian_ip.build_routes(iface, **settings)
94881              Add route scripts for a network interface using up commands.
94882
94883              CLI Example:
94884
94885                 salt '*' ip.build_routes eth0 <settings>
94886
94887       salt.modules.debian_ip.down(iface, iface_type)
94888              Shutdown a network interface
94889
94890              CLI Example:
94891
94892                 salt '*' ip.down eth0 eth
94893
94894       salt.modules.debian_ip.get_bond(iface)
94895              Return the content of a bond script
94896
94897              CLI Example:
94898
94899                 salt '*' ip.get_bond bond0
94900
94901       salt.modules.debian_ip.get_interface(iface)
94902              Return the contents of an interface script
94903
94904              CLI Example:
94905
94906                 salt '*' ip.get_interface eth0
94907
94908       salt.modules.debian_ip.get_network_settings()
94909              Return the contents of the global network script.
94910
94911              CLI Example:
94912
94913                 salt '*' ip.get_network_settings
94914
94915       salt.modules.debian_ip.get_routes(iface)
94916              Return the routes for the interface
94917
94918              CLI Example:
94919
94920                 salt '*' ip.get_routes eth0
94921
94922       salt.modules.debian_ip.up(iface, iface_type)
94923              Start up a network interface
94924
94925              CLI Example:
94926
94927                 salt '*' ip.up eth0 eth
94928
94929   salt.modules.debian_service
94930       Service support for Debian systems (uses update-rc.d and /sbin/service)
94931
94932       IMPORTANT:
94933          If you feel that Salt should be using this module to manage services
94934          on  a  minion, and it is using a different module (or gives an error
94935          similar to 'service.start' is not available), see here.
94936
94937       salt.modules.debian_service.available(name)
94938              Returns True if the specified service  is  available,  otherwise
94939              returns False.
94940
94941              CLI Example:
94942
94943                 salt '*' service.available sshd
94944
94945       salt.modules.debian_service.disable(name, **kwargs)
94946              Disable the named service to start at boot
94947
94948              CLI Example:
94949
94950                 salt '*' service.disable <service name>
94951
94952       salt.modules.debian_service.disabled(name)
94953              Return True if the named service is enabled, false otherwise
94954
94955              CLI Example:
94956
94957                 salt '*' service.disabled <service name>
94958
94959       salt.modules.debian_service.enable(name, **kwargs)
94960              Enable the named service to start at boot
94961
94962              CLI Example:
94963
94964                 salt '*' service.enable <service name>
94965
94966       salt.modules.debian_service.enabled(name, **kwargs)
94967              Return True if the named service is enabled, false otherwise
94968
94969              CLI Example:
94970
94971                 salt '*' service.enabled <service name>
94972
94973       salt.modules.debian_service.force_reload(name)
94974              Force-reload the named service
94975
94976              CLI Example:
94977
94978                 salt '*' service.force_reload <service name>
94979
94980       salt.modules.debian_service.get_all()
94981              Return all available boot services
94982
94983              CLI Example:
94984
94985                 salt '*' service.get_all
94986
94987       salt.modules.debian_service.get_disabled()
94988              Return a set of services that are installed but disabled
94989
94990              CLI Example:
94991
94992                 salt '*' service.get_disabled
94993
94994       salt.modules.debian_service.get_enabled()
94995              Return a list of service that are enabled on boot
94996
94997              CLI Example:
94998
94999                 salt '*' service.get_enabled
95000
95001       salt.modules.debian_service.missing(name)
95002              The inverse of service.available.  Returns True if the specified
95003              service is not available, otherwise returns False.
95004
95005              CLI Example:
95006
95007                 salt '*' service.missing sshd
95008
95009       salt.modules.debian_service.reload_(name)
95010              Reload the named service
95011
95012              CLI Example:
95013
95014                 salt '*' service.reload <service name>
95015
95016       salt.modules.debian_service.restart(name)
95017              Restart the named service
95018
95019              CLI Example:
95020
95021                 salt '*' service.restart <service name>
95022
95023       salt.modules.debian_service.start(name)
95024              Start the specified service
95025
95026              CLI Example:
95027
95028                 salt '*' service.start <service name>
95029
95030       salt.modules.debian_service.status(name, sig=None)
95031              Return the status for a service.  If the name contains globbing,
95032              a dict mapping service name to True/False values is returned.
95033
95034              Changed  in version 2018.3.0: The service name can now be a glob
95035              (e.g. salt*)
95036
95037
95038              Parameters
95039
95040                     · name (str) -- The name of the service to check
95041
95042                     · sig (str) -- Signature to use to find the  service  via
95043                       ps
95044
95045              Returns
95046                     True  if running, False otherwise dict: Maps service name
95047                     to True if running, False otherwise
95048
95049              Return type
95050                     bool
95051
95052              CLI Example:
95053
95054                 salt '*' service.status <service name> [service signature]
95055
95056       salt.modules.debian_service.stop(name)
95057              Stop the specified service
95058
95059              CLI Example:
95060
95061                 salt '*' service.stop <service name>
95062
95063   salt.modules.defaults
95064       Module to work with salt formula defaults files
95065
95066       salt.modules.defaults.deepcopy(source)
95067              Allows deep copy of objects in formulas.
95068                 By default, Python does not copy objects, it creates bindings
95069                 between a target and an object.
95070
95071              It  is more typical to use this in a templating language in for‐
95072              mulas, instead of directly on the command-line.
95073
95074       salt.modules.defaults.get(key, default=u'')
95075              defaults.get is used much like pillar.get except  that  it  will
95076              read  a  default  value  for  a  pillar  from  defaults.json  or
95077              defaults.yaml files that are stored in the root of a  salt  for‐
95078              mula.
95079
95080              CLI Example:
95081
95082                 salt '*' defaults.get core:users:root
95083
95084              The  defaults  is  computed  from pillar key. The first entry is
95085              considered as the formula namespace.
95086
95087              For  example,  querying  core:users:root  will   try   to   load
95088              salt://core/defaults.yaml and salt://core/defaults.json.
95089
95090       salt.modules.defaults.merge(dest,        src,        merge_lists=False,
95091       in_place=True)
95092              Allows deep merging of dicts in formulas.
95093
95094              merge_lists
95095                     False If True,  it  will  also  merge  lists  instead  of
95096                     replace their items.
95097
95098              in_place
95099                     True  If  True,  it  will merge into dest dict, if not it
95100                     will make a new copy from that dict and return it.
95101
95102                     CLI Example:
95103
95104                     salt '*' default.merge a=b d=e
95105
95106              It is more typical to use this in a templating language in  for‐
95107              mulas, instead of directly on the command-line.
95108
95109       salt.modules.defaults.update(dest,      defaults,     merge_lists=True,
95110       in_place=True)
95111              Allows to set defaults for group of  data  set  e.g.  group  for
95112              nodes.
95113                 This   function   is  a  combination  of  defaults.merge  and
95114                 defaults.deepcopy to avoid redundant in jinja.
95115
95116                 Example:
95117
95118                     group01:
95119                       defaults:
95120                         enabled: True
95121                         extra:
95122                           - test
95123                           - stage
95124                       nodes:
95125                         host01:
95126                           index: foo
95127                           upstream: bar
95128                         host02:
95129                           index: foo2
95130                           upstream: bar2
95131
95132                     {% do salt['defaults.update'](group01.nodes, group01.defaults) %}
95133
95134                 Each node will look like the following:
95135
95136                     host01:
95137                       enabled: True
95138                       index: foo
95139                       upstream: bar
95140                       extra:
95141                         - test
95142                         - stage
95143
95144              merge_lists
95145                     True If True, it will also merge lists instead of replace
95146                     their items.
95147
95148              in_place
95149                     True  If  True,  it will merge into dest dict.  if not it
95150                     will make a new copy from that dict and return it.
95151
95152              It is more typical to use this in a templating language in  for‐
95153              mulas, instead of directly on the command-line.
95154
95155   salt.modules.devmap
95156       Device-Mapper module
95157
95158       salt.modules.devmap.multipath_flush(device)
95159              Device-Mapper Multipath flush
95160
95161              CLI Example:
95162
95163                 salt '*' devmap.multipath_flush mpath1
95164
95165       salt.modules.devmap.multipath_list()
95166              Device-Mapper Multipath list
95167
95168              CLI Example:
95169
95170                 salt '*' devmap.multipath_list
95171
95172   salt.modules.dig
95173       Compendium  of generic DNS utilities.  The 'dig' command line tool must
95174       be installed in order to use this module.
95175
95176       salt.modules.dig.A(host, nameserver=None)
95177              Return the A record for host.
95178
95179              Always returns a list.
95180
95181              CLI Example:
95182
95183                 salt ns1 dig.A www.google.com
95184
95185       salt.modules.dig.AAAA(host, nameserver=None)
95186              Return the AAAA record for host.
95187
95188              Always returns a list.
95189
95190              CLI Example:
95191
95192                 salt ns1 dig.AAAA www.google.com
95193
95194       salt.modules.dig.MX(domain, resolve=False, nameserver=None)
95195              Return a list of lists for the MX of domain.
95196
95197              If the resolve argument is True, resolve IPs for the servers.
95198
95199              It's limited to one IP, because although in practice  it's  very
95200              rarely  a  round  robin,  it  is an acceptable configuration and
95201              pulling just one IP lets the data be similar to the non-resolved
95202              version.  If  you  think  an  MX has multiple IPs, don't use the
95203              resolver here, resolve them in a separate step.
95204
95205              CLI Example:
95206
95207                 salt ns1 dig.MX google.com
95208
95209       salt.modules.dig.NS(domain, resolve=True, nameserver=None)
95210              Return a list of IPs of the nameservers for domain
95211
95212              If resolve is False, don't resolve names.
95213
95214              CLI Example:
95215
95216                 salt ns1 dig.NS google.com
95217
95218       salt.modules.dig.SPF(domain, record=u'SPF', nameserver=None)
95219              Return the allowed IPv4 ranges in the SPF record for domain.
95220
95221              If record is SPF and the SPF record is  empty,  the  TXT  record
95222              will  be searched automatically. If you know the domain uses TXT
95223              and not SPF, specifying that will save a lookup.
95224
95225              CLI Example:
95226
95227                 salt ns1 dig.SPF google.com
95228
95229       salt.modules.dig.TXT(host, nameserver=None)
95230              Return the TXT record for host.
95231
95232              Always returns a list.
95233
95234              CLI Example:
95235
95236                 salt ns1 dig.TXT google.com
95237
95238       salt.modules.dig.check_ip(addr)
95239              Check if address is a valid IP. returns True if valid, otherwise
95240              False.
95241
95242              CLI Example:
95243
95244                 salt ns1 dig.check_ip 127.0.0.1
95245                 salt ns1 dig.check_ip 1111:2222:3333:4444:5555:6666:7777:8888
95246
95247   salt.modules.disk
95248       Module for managing disks and blockdevices
95249
95250       salt.modules.disk.blkid(device=None)
95251              Return  block device attributes: UUID, LABEL, etc. This function
95252              only works on systems where blkid is available.
95253
95254              CLI Example:
95255
95256                 salt '*' disk.blkid
95257                 salt '*' disk.blkid /dev/sda
95258
95259       salt.modules.disk.dump(device, args=None)
95260              Return all contents of dumpe2fs for a specified device
95261
95262              CLI Example:
95263                 salt '*' disk.dump /dev/sda1
95264
95265       salt.modules.disk.format_(device,   fs_type=u'ext4',   inode_size=None,
95266       lazy_itable_init=None, force=False)
95267              Format a filesystem onto a device
95268
95269              New in version 2016.11.0.
95270
95271
95272              device The device in which to create the new filesystem
95273
95274              fs_type
95275                     The type of filesystem to create
95276
95277              inode_size
95278                     Size of the inodes
95279
95280                     This option is only enabled for ext and xfs filesystems
95281
95282              lazy_itable_init
95283                     If  enabled  and  the  uninit_bg  feature is enabled, the
95284                     inode table will not  be  fully  initialized  by  mke2fs.
95285                     This  speeds up filesystem initialization noticeably, but
95286                     it  requires  the  kernel  to  finish  initializing   the
95287                     filesystem   in  the  background  when  the filesystem is
95288                     first mounted.   If  the  option  value  is  omitted,  it
95289                     defaults to 1 to enable lazy inode table zeroing.
95290
95291                     This option is only enabled for ext filesystems
95292
95293              force  Force  mke2fs  to create a filesystem, even if the speci‐
95294                     fied device is not a partition on a block special device.
95295                     This option is only enabled for ext and xfs filesystems
95296
95297                     This option is dangerous, use it with caution.
95298
95299              CLI Example:
95300
95301                 salt '*' disk.format /dev/sdX1
95302
95303       salt.modules.disk.fstype(device)
95304              Return the filesystem name of the specified device
95305
95306              New in version 2016.11.0.
95307
95308
95309              device The name of the device
95310
95311              CLI Example:
95312
95313                 salt '*' disk.fstype /dev/sdX1
95314
95315       salt.modules.disk.hdparms(disks, args=None)
95316              Retrieve  all  info's  for  all disks parse 'em into a nice dict
95317              (which, considering hdparms output, is quite a hassle)
95318
95319              New in version 2016.3.0.
95320
95321
95322              CLI Example:
95323                 salt '*' disk.hdparms /dev/sda
95324
95325       salt.modules.disk.hpa(disks, size=None)
95326              Get/set Host Protected Area settings
95327
95328              T13 INCITS 346-2001 (1367D) defines the BEER  (Boot  Engineering
95329              Extension Record) and PARTIES (Protected Area Run Time Interface
95330              Extension Services), allowing for a Host  Protected  Area  on  a
95331              disk.
95332
95333              It's  often  used by OEMS to hide parts of a disk, and for over‐
95334              provisioning SSD's
95335
95336              WARNING:
95337                 Setting the HPA might clobber your data, be very careful with
95338                 this on active disks!
95339
95340              New in version 2016.3.0.
95341
95342
95343              CLI Example:
95344
95345                 salt '*' disk.hpa /dev/sda
95346                 salt '*' disk.hpa /dev/sda 5%
95347                 salt '*' disk.hpa /dev/sda 10543256
95348
95349       salt.modules.disk.inodeusage(args=None)
95350              Return  inode usage information for volumes mounted on this min‐
95351              ion
95352
95353              CLI Example:
95354
95355                 salt '*' disk.inodeusage
95356
95357       salt.modules.disk.iostat(interval=1, count=5, disks=None)
95358              Gather and return (averaged) IO stats.
95359
95360              New in version 2016.3.0.
95361
95362
95363              Changed in version 2016.11.4: Added support for AIX
95364
95365
95366              CLI Example:
95367
95368                 salt '*' disk.iostat 1 5 disks=sda
95369
95370       salt.modules.disk.percent(args=None)
95371              Return partition information for volumes mounted on this minion
95372
95373              CLI Example:
95374
95375                 salt '*' disk.percent /var
95376
95377       salt.modules.disk.resize2fs(device)
95378              Resizes the filesystem.
95379
95380              CLI Example:
95381                 salt '*' disk.resize2fs /dev/sda1
95382
95383       salt.modules.disk.smart_attributes(dev, attributes=None, values=None)
95384              Fetch SMART attributes Providing attributes  will  deliver  only
95385              requested   attributes   Providing   values  will  deliver  only
95386              requested values for attributes
95387
95388              Default    is    the    Backblaze     recommended     set     (‐
95389              https://www.backblaze.com/blog/hard-drive-smart-stats/):
95390              (5,187,188,197,198)
95391
95392              New in version 2016.3.0.
95393
95394
95395              CLI Example:
95396
95397                 salt '*' disk.smart_attributes /dev/sda
95398                 salt '*' disk.smart_attributes /dev/sda attributes=(5,187,188,197,198)
95399
95400       salt.modules.disk.tune(device, **kwargs)
95401              Set attributes for the specified device
95402
95403              CLI Example:
95404
95405                 salt '*' disk.tune /dev/sda1 read-ahead=1024 read-write=True
95406
95407              Valid options are: read-ahead, filesystem-read-ahead, read-only,
95408              read-write.
95409
95410              See  the  blockdev(8) manpage for a more complete description of
95411              these options.
95412
95413       salt.modules.disk.usage(args=None)
95414              Return usage information for volumes mounted on this minion
95415
95416              Changed in version Fluorine: Default  for  SunOS  changed  to  1
95417              kilobyte blocks
95418
95419
95420              CLI Example:
95421
95422                 salt '*' disk.usage
95423
95424       salt.modules.disk.wipe(device)
95425              Remove the filesystem information
95426
95427              CLI Example:
95428
95429                 salt '*' disk.wipe /dev/sda1
95430
95431   salt.modules.djangomod
95432       Manage Django sites
95433
95434       salt.modules.djangomod.collectstatic(settings_module,     bin_env=None,
95435       no_post_process=False,   ignore=None,    dry_run=False,    clear=False,
95436       link=False,    no_default_ignore=False,    pythonpath=None,   env=None,
95437       runas=None)
95438              Collect static files from each of your applications into a  sin‐
95439              gle location that can easily be served in production.
95440
95441              CLI Example:
95442
95443                 salt '*' django.collectstatic <settings_module>
95444
95445       salt.modules.djangomod.command(settings_module,  command, bin_env=None,
95446       pythonpath=None, env=None, runas=None, *args, **kwargs)
95447              Run arbitrary django management command
95448
95449              CLI Example:
95450
95451                 salt '*' django.command <settings_module> <command>
95452
95453       salt.modules.djangomod.createsuperuser(settings_module,       username,
95454       email,    bin_env=None,   database=None,   pythonpath=None,   env=None,
95455       runas=None)
95456              Create a super user for the database.  This function defaults to
95457              use the --noinput flag which prevents the creation of a password
95458              for the superuser.
95459
95460              CLI Example:
95461
95462                 salt '*' django.createsuperuser <settings_module> user user@example.com
95463
95464       salt.modules.djangomod.loaddata(settings_module,              fixtures,
95465       bin_env=None, database=None, pythonpath=None, env=None)
95466              Load fixture data
95467
95468              Fixtures:
95469                     comma separated list of fixtures to load
95470
95471              CLI Example:
95472
95473                 salt '*' django.loaddata <settings_module> <comma delimited list of fixtures>
95474
95475       salt.modules.djangomod.syncdb(settings_module,            bin_env=None,
95476       migrate=False, database=None, pythonpath=None, env=None,  noinput=True,
95477       runas=None)
95478              Run syncdb
95479
95480              Execute  the  Django-Admin syncdb command, if South is available
95481              on the minion the migrate option can be passed as  True  calling
95482              the migrations to run after the syncdb completes
95483
95484              CLI Example:
95485
95486                 salt '*' django.syncdb <settings_module>
95487
95488   salt.modules.dnsmasq
95489       Module for managing dnsmasq
95490
95491       salt.modules.dnsmasq.fullversion()
95492              Shows installed version of dnsmasq and compile options.
95493
95494              CLI Example:
95495
95496                 salt '*' dnsmasq.fullversion
95497
95498       salt.modules.dnsmasq.get_config(config_file=u'/etc/dnsmasq.conf')
95499              Dumps all options from the config file.
95500
95501              config_file
95502                     The location of the config file from which to obtain con‐
95503                     tents.  Defaults to /etc/dnsmasq.conf.
95504
95505              CLI Examples:
95506
95507                 salt '*' dnsmasq.get_config
95508                 salt '*' dnsmasq.get_config config_file=/etc/dnsmasq.conf
95509
95510       salt.modules.dnsmasq.set_config(config_file=u'/etc/dnsmasq.conf',  fol‐
95511       low=True, **kwargs)
95512              Sets  a  value  or  a  set  of  values in the specified file. By
95513              default, if conf-dir is  configured  in  this  file,  salt  will
95514              attempt  to set the option in any file inside the conf-dir where
95515              it has already been enabled. If it does not find it  inside  any
95516              files, it will append it to the main config file. Setting follow
95517              to False will turn off this behavior.
95518
95519              If a config option currently appears  multiple  times  (such  as
95520              dhcp-host,  which  is specified at least once per host), the new
95521              option will be added to the end of the main config file (and not
95522              to  any  includes).  If  you  need an option added to a specific
95523              include file, specify it as the config_file.
95524
95525              Parameters
95526
95527                     · config_file (string)  --  config  file  where  settings
95528                       should be updated / added.
95529
95530                     · follow  (bool)  --  attempt  to  set  the config option
95531                       inside any  file  within  the  conf-dir  where  it  has
95532                       already been enabled.
95533
95534                     · kwargs  --  key value pairs that contain the configura‐
95535                       tion settings that you want set.
95536
95537              CLI Examples:
95538
95539                 salt '*' dnsmasq.set_config domain=mydomain.com
95540                 salt '*' dnsmasq.set_config follow=False domain=mydomain.com
95541                 salt '*' dnsmasq.set_config config_file=/etc/dnsmasq.conf domain=mydomain.com
95542
95543       salt.modules.dnsmasq.version()
95544              Shows installed version of dnsmasq.
95545
95546              CLI Example:
95547
95548                 salt '*' dnsmasq.version
95549
95550   salt.modules.dnsutil
95551       Compendium of generic DNS utilities.
95552
95553       NOTE:
95554          Some functions in the dnsutil execution module depend on dig.
95555
95556       salt.modules.dnsutil.A(host, nameserver=None)
95557              Return the A record(s) for host.
95558
95559              Always returns a list.
95560
95561              CLI Example:
95562
95563                 salt ns1 dnsutil.A www.google.com
95564
95565       salt.modules.dnsutil.AAAA(host, nameserver=None)
95566              Return the AAAA record(s) for host.
95567
95568              Always returns a list.
95569
95570              New in version 2014.7.5.
95571
95572
95573              CLI Example:
95574
95575                 salt ns1 dnsutil.AAAA www.google.com
95576
95577       salt.modules.dnsutil.MX(domain, resolve=False, nameserver=None)
95578              Return a list of lists for the MX of domain.
95579
95580              If the 'resolve' argument is True, resolve IPs for the servers.
95581
95582              It's limited to one IP, because although in practice  it's  very
95583              rarely  a  round  robin,  it  is an acceptable configuration and
95584              pulling just one IP lets the data be similar to the non-resolved
95585              version.  If  you  think  an  MX has multiple IPs, don't use the
95586              resolver here, resolve them in a separate step.
95587
95588              CLI Example:
95589
95590                 salt ns1 dnsutil.MX google.com
95591
95592       salt.modules.dnsutil.NS(domain, resolve=True, nameserver=None)
95593              Return a list of IPs of the nameservers for domain
95594
95595              If 'resolve' is False, don't resolve names.
95596
95597              CLI Example:
95598
95599                 salt ns1 dnsutil.NS google.com
95600
95601       salt.modules.dnsutil.SPF(domain, record=u'SPF', nameserver=None)
95602              Return the allowed IPv4 ranges in the SPF record for domain.
95603
95604              If record is SPF and the SPF record is  empty,  the  TXT  record
95605              will  be searched automatically. If you know the domain uses TXT
95606              and not SPF, specifying that will save a lookup.
95607
95608              CLI Example:
95609
95610                 salt ns1 dnsutil.SPF google.com
95611
95612       salt.modules.dnsutil.check_ip(ip_addr)
95613              Check that string ip_addr is a valid IP
95614
95615              CLI Example:
95616
95617                 salt ns1 dnsutil.check_ip 127.0.0.1
95618
95619       salt.modules.dnsutil.hosts_append(hostsfile=u'/etc/hosts',
95620       ip_addr=None, entries=None)
95621              Append a single line to the /etc/hosts file.
95622
95623              CLI Example:
95624
95625                 salt '*' dnsutil.hosts_append /etc/hosts 127.0.0.1 ad1.yuk.co,ad2.yuk.co
95626
95627       salt.modules.dnsutil.hosts_remove(hostsfile=u'/etc/hosts',
95628       entries=None)
95629              Remove a host from the /etc/hosts file. If doing so will leave a
95630              line  containing  only  an  IP  address,  then  the line will be
95631              deleted. This function  will  leave  comments  and  blank  lines
95632              intact.
95633
95634              CLI Examples:
95635
95636                 salt '*' dnsutil.hosts_remove /etc/hosts ad1.yuk.co
95637                 salt '*' dnsutil.hosts_remove /etc/hosts ad2.yuk.co,ad1.yuk.co
95638
95639       salt.modules.dnsutil.parse_hosts(hostsfile=u'/etc/hosts', hosts=None)
95640              Parse /etc/hosts file.
95641
95642              CLI Example:
95643
95644                 salt '*' dnsutil.parse_hosts
95645
95646       salt.modules.dnsutil.parse_zone(zonefile=None, zone=None)
95647              Parses  a  zone  file.  Can  be  passed raw zone data on the API
95648              level.
95649
95650              CLI Example:
95651
95652                 salt ns1 dnsutil.parse_zone /var/lib/named/example.com.zone
95653
95654       salt.modules.dnsutil.serial(zone=u'', update=False)
95655              Return, store and update a dns serial for your zone files.
95656
95657              zone: a keyword for a specific zone
95658
95659              update: store an updated version of the serial in a grain
95660
95661              If update is False,  the  function  will  retrieve  an  existing
95662              serial  or return the current date if no serial is stored. Noth‐
95663              ing will be stored
95664
95665              If update is True, the function will set the serial to the  cur‐
95666              rent  date if none exist or if the existing serial is for a pre‐
95667              vious date. If a serial for greater than  the  current  date  is
95668              already stored, the function will increment it.
95669
95670              This module stores the serial in a grain, you can explicitly set
95671              the stored value as a grain named dnsserial_<zone_name>.
95672
95673              CLI Example:
95674
95675                 salt ns1 dnsutil.serial example.com
95676
95677   salt.modules.dockercompose module
95678       Module to import docker-compose via saltstack
95679
95680       New in version 2016.3.0.
95681
95682
95683       maintainer
95684              Jean Praloran <jeanpralo@gmail.com>
95685
95686       maturity
95687              new
95688
95689       depends
95690              docker-compose>=1.5
95691
95692       platform
95693              all
95694
95695   Introduction
95696       This module allows one to deal with docker-compose file in a directory.
95697
95698       This is  a first version only, the following commands  are  missing  at
95699       the moment but will be built later on if the community is interested in
95700       this module:
95701
95702       · run
95703
95704       · logs
95705
95706       · port
95707
95708       · scale
95709
95710   Installation Prerequisites
95711       This  execution  module  requires  at  least  version  1.4.0  of   both
95712       docker-compose and Docker. docker-compose can easily be installed using
95713       pip.install:
95714
95715          salt myminion pip.install docker-compose>=1.5.0
95716
95717   How to use this module?
95718       In order to use the module if you have no docker-compose  file  on  the
95719       server  you  can  issue  the command create, it takes two arguments the
95720       path where the docker-compose.yml will be stored  and  the  content  of
95721       this latter:
95722
95723          # salt-call -l debug dockercompose.create /tmp/toto '
95724          database:
95725          image: mongo:3.0
95726          command: mongod --smallfiles --quiet --logpath=/dev/null
95727          '
95728
95729       Then  you  can  execute  a list of method defined at the bottom with at
95730       least one argument (the path where the docker-compose.yml will be read)
95731       and an optional python list which corresponds to the services names:
95732
95733          # salt-call -l debug dockercompose.up /tmp/toto
95734          # salt-call -l debug dockercompose.restart /tmp/toto '[database]'
95735          # salt-call -l debug dockercompose.stop /tmp/toto
95736          # salt-call -l debug dockercompose.rm /tmp/toto
95737
95738   Docker-compose method supported
95739       · up
95740
95741       · restart
95742
95743       · stop
95744
95745       · start
95746
95747       · pause
95748
95749       · unpause
95750
95751       · kill
95752
95753       · rm
95754
95755       · ps
95756
95757       · pull
95758
95759       · build
95760
95761   Functions
95762       ·
95763
95764         docker-compose.yml management
95765
95766                · dockercompose.create
95767
95768                · dockercompose.get
95769
95770       ·
95771
95772         Manage containers
95773
95774                · dockercompose.restart
95775
95776                · dockercompose.stop
95777
95778                · dockercompose.pause
95779
95780                · dockercompose.unpause
95781
95782                · dockercompose.start
95783
95784                · dockercompose.kill
95785
95786                · dockercompose.rm
95787
95788                · dockercompose.up
95789
95790       ·
95791
95792         Manage containers image:
95793
95794                · dockercompose.pull
95795
95796                · dockercompose.build
95797
95798       ·
95799
95800         Gather information about containers:
95801
95802                · dockercompose.ps
95803
95804       ·
95805
95806         Manage service definitions:
95807
95808                · dockercompose.service_create
95809
95810                · dockercompose.service_upsert
95811
95812                · dockercompose.service_remove
95813
95814                · dockercompose.service_set_tag
95815
95816   Detailed Function Documentation
95817       salt.modules.dockercompose.build(path, service_names=None)
95818              Build  image  for  containers  in  the docker-compose file, ser‐
95819              vice_names is a python list, if omitted  build  images  for  all
95820              containers.  Please  note that at the moment the module does not
95821              allow you to upload your Dockerfile,  nor  any  other  file  you
95822              could  need  with your docker-compose.yml, you will have to make
95823              sure the files you need are actually in the directory  specified
95824              in the build keyword
95825
95826              path   Path  where  the  docker-compose  file  is  stored on the
95827                     server
95828
95829              service_names
95830                     If specified will pull only the image for  the  specified
95831                     services
95832
95833              CLI Example:
95834
95835                 salt myminion dockercompose.build /path/where/docker-compose/stored
95836                 salt myminion dockercompose.build /path/where/docker-compose/stored '[janus]'
95837
95838       salt.modules.dockercompose.create(path, docker_compose)
95839              Create and validate a docker-compose file into a directory
95840
95841              path   Path  where the docker-compose file will be stored on the
95842                     server
95843
95844              docker_compose
95845                     docker_compose file
95846
95847              CLI Example:
95848
95849                 salt myminion dockercompose.create /path/where/docker-compose/stored content
95850
95851       salt.modules.dockercompose.get(path)
95852              Get the content of the docker-compose file into a directory
95853
95854              path   Path where the  docker-compose  file  is  stored  on  the
95855                     server
95856
95857              CLI Example:
95858
95859                 salt myminion dockercompose.get /path/where/docker-compose/stored
95860
95861       salt.modules.dockercompose.kill(path, service_names=None)
95862              Kill  containers  in the docker-compose file, service_names is a
95863              python list, if omitted kill all containers
95864
95865              path   Path where the  docker-compose  file  is  stored  on  the
95866                     server
95867
95868              service_names
95869                     If specified will kill only the specified services
95870
95871              CLI Example:
95872
95873                 salt myminion dockercompose.kill /path/where/docker-compose/stored
95874                 salt myminion dockercompose.kill /path/where/docker-compose/stored '[janus]'
95875
95876       salt.modules.dockercompose.pause(path, service_names=None)
95877              Pause  running  containers  in  the  docker-compose  file,  ser‐
95878              vice_names is a python list, if omitted pause all containers
95879
95880              path   Path where the  docker-compose  file  is  stored  on  the
95881                     server
95882
95883              service_names
95884                     If specified will pause only the specified services
95885
95886              CLI Example:
95887
95888                 salt myminion dockercompose.pause /path/where/docker-compose/stored
95889                 salt myminion dockercompose.pause /path/where/docker-compose/stored '[janus]'
95890
95891       salt.modules.dockercompose.ps(path)
95892              List  all  running  containers and report some information about
95893              them
95894
95895              path   Path where the  docker-compose  file  is  stored  on  the
95896                     server
95897
95898              CLI Example:
95899
95900                 salt myminion dockercompose.ps /path/where/docker-compose/stored
95901
95902       salt.modules.dockercompose.pull(path, service_names=None)
95903              Pull  image  for  containers  in  the  docker-compose file, ser‐
95904              vice_names is a python list, if omitted pull all images
95905
95906              path   Path where the  docker-compose  file  is  stored  on  the
95907                     server
95908
95909              service_names
95910                     If  specified  will pull only the image for the specified
95911                     services
95912
95913              CLI Example:
95914
95915                 salt myminion dockercompose.pull /path/where/docker-compose/stored
95916                 salt myminion dockercompose.pull /path/where/docker-compose/stored '[janus]'
95917
95918       salt.modules.dockercompose.restart(path, service_names=None)
95919              Restart container(s) in the docker-compose  file,  service_names
95920              is a python list, if omitted restart all containers
95921
95922              path   Path  where  the  docker-compose  file  is  stored on the
95923                     server
95924
95925              service_names
95926                     If specified will restart only the specified services
95927
95928              CLI Example:
95929
95930                 salt myminion dockercompose.restart /path/where/docker-compose/stored
95931                 salt myminion dockercompose.restart /path/where/docker-compose/stored '[janus]'
95932
95933       salt.modules.dockercompose.rm(path, service_names=None)
95934              Remove stopped  containers  in  the  docker-compose  file,  ser‐
95935              vice_names  is a python list, if omitted remove all stopped con‐
95936              tainers
95937
95938              path   Path where the  docker-compose  file  is  stored  on  the
95939                     server
95940
95941              service_names
95942                     If  specified will remove only the specified stopped ser‐
95943                     vices
95944
95945              CLI Example:
95946
95947                 salt myminion dockercompose.rm /path/where/docker-compose/stored
95948                 salt myminion dockercompose.rm /path/where/docker-compose/stored '[janus]'
95949
95950       salt.modules.dockercompose.service_create(path,  service_name,  defini‐
95951       tion)
95952              Create  the  definition  of  a docker-compose service This fails
95953              when the service already exists This does not  pull  or  up  the
95954              service This wil re-write your yaml file. Comments will be lost.
95955              Indentation is set to 2 spaces
95956
95957              path   Path where the  docker-compose  file  is  stored  on  the
95958                     server
95959
95960              service_name
95961                     Name of the service to create
95962
95963              definition
95964                     Service definition as yaml or json string
95965
95966              CLI Example:
95967
95968                 salt myminion dockercompose.service_create /path/where/docker-compose/stored service_name definition
95969
95970       salt.modules.dockercompose.service_remove(path, service_name)
95971              Remove  the definition of a docker-compose service This does not
95972              rm the container This wil re-write your yaml file. Comments will
95973              be lost. Indentation is set to 2 spaces
95974
95975              path   Path  where  the  docker-compose  file  is  stored on the
95976                     server
95977
95978              service_name
95979                     Name of the service to remove
95980
95981              CLI Example:
95982
95983                 salt myminion dockercompose.service_remove /path/where/docker-compose/stored service_name
95984
95985       salt.modules.dockercompose.service_set_tag(path, service_name, tag)
95986              Change the tag of a docker-compose service This does not pull or
95987              up  the  service This wil re-write your yaml file. Comments will
95988              be lost. Indentation is set to 2 spaces
95989
95990              path   Path where the  docker-compose  file  is  stored  on  the
95991                     server
95992
95993              service_name
95994                     Name of the service to remove
95995
95996              tag    Name  of the tag (often used as version) that the service
95997                     image should have
95998
95999              CLI Example:
96000
96001                 salt myminion dockercompose.service_create /path/where/docker-compose/stored service_name tag
96002
96003       salt.modules.dockercompose.service_upsert(path,  service_name,  defini‐
96004       tion)
96005              Create or update the definition of a docker-compose service This
96006              does not pull or up the service  This  wil  re-write  your  yaml
96007              file. Comments will be lost. Indentation is set to 2 spaces
96008
96009              path   Path  where  the  docker-compose  file  is  stored on the
96010                     server
96011
96012              service_name
96013                     Name of the service to create
96014
96015              definition
96016                     Service definition as yaml or json string
96017
96018              CLI Example:
96019
96020                 salt myminion dockercompose.service_upsert /path/where/docker-compose/stored service_name definition
96021
96022       salt.modules.dockercompose.start(path, service_names=None)
96023              Start containers in the docker-compose file, service_names is  a
96024              python list, if omitted start all containers
96025
96026              path   Path  where  the  docker-compose  file  is  stored on the
96027                     server
96028
96029              service_names
96030                     If specified will start only the specified services
96031
96032              CLI Example:
96033
96034                 salt myminion dockercompose.start /path/where/docker-compose/stored
96035                 salt myminion dockercompose.start /path/where/docker-compose/stored '[janus]'
96036
96037       salt.modules.dockercompose.stop(path, service_names=None)
96038              Stop  running  containers  in  the  docker-compose  file,   ser‐
96039              vice_names is a python list, if omitted stop all containers
96040
96041              path   Path  where  the  docker-compose  file  is  stored on the
96042                     server
96043
96044              service_names
96045                     If specified will stop only the specified services
96046
96047              CLI Example:
96048
96049                 salt myminion dockercompose.stop /path/where/docker-compose/stored
96050                 salt myminion dockercompose.stop  /path/where/docker-compose/stored '[janus]'
96051
96052       salt.modules.dockercompose.unpause(path, service_names=None)
96053              Un-Pause containers in the docker-compose file, service_names is
96054              a python list, if omitted unpause all containers
96055
96056              path   Path  where  the  docker-compose  file  is  stored on the
96057                     server
96058
96059              service_names
96060                     If specified will un-pause only the specified services
96061
96062              CLI Example:
96063
96064                 salt myminion dockercompose.pause /path/where/docker-compose/stored
96065                 salt myminion dockercompose.pause /path/where/docker-compose/stored '[janus]'
96066
96067       salt.modules.dockercompose.up(path, service_names=None)
96068              Create and start containers defined  in  the  docker-compose.yml
96069              file located in path, service_names is a python list, if omitted
96070              create and start all containers
96071
96072              path   Path where the  docker-compose  file  is  stored  on  the
96073                     server
96074
96075              service_names
96076                     If  specified  will  create  and start only the specified
96077                     services
96078
96079              CLI Example:
96080
96081                 salt myminion dockercompose.up /path/where/docker-compose/stored
96082                 salt myminion dockercompose.up /path/where/docker-compose/stored '[janus]'
96083
96084   salt.modules.dockermod
96085       Management of Docker Containers
96086
96087       New in version 2015.8.0.
96088
96089
96090       Changed in version 2017.7.0: This module has replaced the legacy docker
96091       execution module.
96092
96093
96094       depends
96095              docker Python module
96096
96097       NOTE:
96098          Older  releases  of  the  Python  bindings  for  Docker  were called
96099          docker-py in PyPI. All releases of docker, and releases of docker-py
96100          >=  1.6.0  are  supported.  These  python  bindings  can  easily  be
96101          installed using pip.install:
96102
96103              salt myminion pip.install docker
96104
96105          To upgrade from  docker-py  to  docker,  you  must  first  uninstall
96106          docker-py, and then install docker:
96107
96108              salt myminion pip.uninstall docker-py
96109              salt myminion pip.install docker
96110
96111   Authentication
96112       If  you  have previously performed a docker login from the minion, then
96113       the credentials saved in ~/.docker/config.json will  be  used  for  any
96114       actions  which  require authentication. If not, then credentials can be
96115       configured in Pillar data. The configuration schema is as follows:
96116
96117          docker-registries:
96118            <registry_url>:
96119              username: <username>
96120              password: <password>
96121
96122       For example:
96123
96124          docker-registries:
96125            hub:
96126              username: foo
96127              password: s3cr3t
96128
96129       NOTE:
96130          As of the 2016.3.7, 2016.11.4, and 2017.7.0 releases of  Salt,  cre‐
96131          dentials  for  the Docker Hub can be configured simply by specifying
96132          hub in place of the registry URL. In earlier releases, it is  neces‐
96133          sary  to  specify  the  actual registry URL for the Docker Hub (i.e.
96134          https://index.docker.io/v1/).
96135
96136       More than one registry can be configured. Salt  will  look  for  Docker
96137       credentials  in  the  docker-registries  Pillar key, as well as any key
96138       ending in -docker-registries. For example:
96139
96140          docker-registries:
96141            'https://mydomain.tld/registry:5000':
96142              username: foo
96143              password: s3cr3t
96144
96145          foo-docker-registries:
96146            https://index.foo.io/v1/:
96147              username: foo
96148              password: s3cr3t
96149
96150          bar-docker-registries:
96151            https://index.bar.io/v1/:
96152              username: foo
96153              password: s3cr3t
96154
96155       To login to the configured registries, use the  docker.login  function.
96156       This  only  needs  to  be  done  once for a given registry, and it will
96157       store/update the credentials in ~/.docker/config.json.
96158
96159       NOTE:
96160          For Salt releases before 2016.3.7 and 2016.11.4, docker.login is not
96161          available. Instead, Salt will try to authenticate using each of your
96162          configured registries for each push/pull, behavior which is not cor‐
96163          rect and has been resolved in newer releases.
96164
96165   Configuration Options
96166       The  following  configuration  options can be set to fine-tune how Salt
96167       uses Docker:
96168
96169       · docker.url: URL to the docker service (default: local socket).
96170
96171       · docker.version: API version to use (should not need to be  set  manu‐
96172         ally in the vast majority of cases)
96173
96174       · docker.exec_driver:   Execution   driver  to  use,  one  of  nsenter,
96175         lxc-attach, or docker-exec. See the Executing Commands Within a  Run‐
96176         ning  Container section for more details on how this config parameter
96177         is used.
96178
96179       These configuration options are retrieved using config.get  (click  the
96180       link for further information).
96181
96182   Executing Commands Within a Running Container
96183       NOTE:
96184          With  the  release  of  Docker 1.13.1, the Execution Driver has been
96185          removed.  Starting in versions 2016.3.6,  2016.11.4,  and  2017.7.0,
96186          Salt  defaults  to  using docker exec to run commands in containers,
96187          however for older Salt releases it will  be  necessary  to  set  the
96188          docker.exec_driver  config  option  to either docker-exec or nsenter
96189          for Docker versions 1.13.1 and newer.
96190
96191       Multiple methods exist for executing commands within Docker containers:
96192
96193       · lxc-attach: Default for older versions of docker
96194
96195       · nsenter: Enters container namespace to run command
96196
96197       · docker-exec: Native support for executing commands in Docker contain‐
96198         ers (added in Docker 1.3)
96199
96200       Adding    a    configuration    option    (see    config.get)    called
96201       docker.exec_driver will tell Salt which execution driver to use:
96202
96203          docker.exec_driver: docker-exec
96204
96205       If this configuration option is not found, Salt will use the  appropri‐
96206       ate  interface  (either  nsenter  or lxc-attach) based on the Execution
96207       Driver value returned from docker info. docker-exec will not be used by
96208       default,  as it is presently (as of version 1.6.2) only able to execute
96209       commands as the effective user of the container. Thus, if a USER direc‐
96210       tive  was  used  to  run as a non-privileged user, docker-exec would be
96211       unable to perform the action as root. Salt can still use docker-exec as
96212       an execution driver, but must be explicitly configured (as in the exam‐
96213       ple above) to do so at this time.
96214
96215       If possible, try to manually specify the execution driver, as  it  will
96216       save Salt a little work.
96217
96218       This execution module provides functions that shadow those from the cmd
96219       module. They are as follows:
96220
96221       · docker.retcode
96222
96223       · docker.run
96224
96225       · docker.run_all
96226
96227       · docker.run_stderr
96228
96229       · docker.run_stdout
96230
96231       · docker.script
96232
96233       · docker.script_retcode
96234
96235   Detailed Function Documentation
96236       class           salt.modules.dockermod.DockerJSONDecoder(encoding=None,
96237       object_hook=None,    parse_float=None,    parse_int=None,    parse_con‐
96238       stant=None, strict=True, object_pairs_hook=None)
96239
96240              decode(s, _w=None)
96241                     Return the Python representation of s (a str  or  unicode
96242                     instance containing a JSON document)
96243
96244       salt.modules.dockermod.apply_(name, mods=None, **kwargs)
96245              New in version Fluorine.
96246
96247
96248              Apply  states!  This  function  will call highstate or state.sls
96249              based on the arguments passed in, apply is intended  to  be  the
96250              main gateway for all state executions.
96251
96252              CLI Example:
96253
96254                 salt 'docker' docker.apply web01
96255                 salt 'docker' docker.apply web01 test
96256                 salt 'docker' docker.apply web01 test,pkgs
96257
96258       salt.modules.dockermod.build(path=None,    repository=None,   tag=None,
96259       cache=True, rm=True, api_response=False, fileobj=None, dockerfile=None,
96260       buildargs=None, image=None)
96261              Changed  in  version  2018.3.0:  If  the  built  image should be
96262              tagged, then the repository and tag must  now  be  passed  sepa‐
96263              rately  using  the  repository  and  tag  arguments, rather than
96264              together in the (now deprecated) image argument.
96265
96266
96267              Builds a docker image from a Dockerfile or a URL
96268
96269              path   Path to directory on the Minion containing a Dockerfile
96270
96271              repository
96272                     Optional repository name for the image being built
96273
96274                     New in version 2018.3.0.
96275
96276
96277              tag    latest Tag name for the image (required if repository  is
96278                     passed)
96279
96280                     New in version 2018.3.0.
96281
96282
96283              image  Deprecated  since  version  2018.3.0: Use both repository
96284                     and tag instead
96285
96286
96287              cache  True Set to False to force the build process not  to  use
96288                     the  Docker image cache, and pull all required intermedi‐
96289                     ate image layers
96290
96291              rm     True Remove intermediate containers created during build
96292
96293              api_response
96294                     False If True: an API_Response key will be present in the
96295                     return  data,  containing  the raw output from the Docker
96296                     API.
96297
96298              fileobj
96299                     Allows for a file-like object containing the contents  of
96300                     the Dockerfile to be passed in place of a file path argu‐
96301                     ment. This argument should not be used from the CLI, only
96302                     from other Salt code.
96303
96304              dockerfile
96305                     Allows  for  an  alternative  Dockerfile to be specified.
96306                     Path to alternative Dockefile is relative  to  the  build
96307                     path for the Docker container.
96308
96309                     New in version 2016.11.0.
96310
96311
96312              buildargs
96313                     A  dictionary  of  build arguments provided to the docker
96314                     build process.
96315
96316              RETURN DATA
96317
96318              A dictionary containing one or more of the following keys:
96319
96320              · Id - ID of the newly-built image
96321
96322              · Time_Elapsed - Time in seconds taken to perform the build
96323
96324              · Intermediate_Containers - IDs of containers created during the
96325                course of the build process
96326
96327                (Only present if rm=False)
96328
96329              ·
96330
96331                Images  - A dictionary containing one or more of the following
96332                keys:
96333
96334                       · Already_Pulled  -  Layers  that  that  were   already
96335                         present on the Minion
96336
96337                       · Pulled - Layers that that were pulled
96338
96339                (Only  present  if the image specified by the "repository" and
96340                "tag"  arguments  was  not  present  on  the  Minion,  or   if
96341                cache=False)
96342
96343              · Status  -  A  string  containing  a summary of the pull action
96344                (usually a message saying that an  image  was  downloaded,  or
96345                that it was up to date).
96346
96347                (Only  present  if the image specified by the "repository" and
96348                "tag"  arguments  was  not  present  on  the  Minion,  or   if
96349                cache=False)
96350
96351              CLI Example:
96352
96353                 salt myminion docker.build /path/to/docker/build/dir
96354                 salt myminion docker.build https://github.com/myuser/myrepo.git repository=myimage tag=latest
96355                 salt myminion docker.build /path/to/docker/build/dir dockerfile=Dockefile.different repository=myimage tag=dev
96356
96357       salt.modules.dockermod.call(name, function, *args, **kwargs)
96358              Executes a Salt function inside a running container
96359
96360              New in version 2016.11.0.
96361
96362
96363              The  container  does not need to have Salt installed, but Python
96364              is required.
96365
96366              name   Container name or ID
96367
96368              function
96369                     Salt execution module function
96370
96371              CLI Example:
96372
96373                 salt myminion docker.call test.ping
96374                 salt myminion test.arg arg1 arg2 key1=val1
96375                 salt myminion dockerng.call compassionate_mirzakhani test.arg arg1 arg2 key1=val1
96376
96377       salt.modules.dockermod.commit(name,  repository,   tag='latest',   mes‐
96378       sage=None, author=None, image=None)
96379              Changed  in version 2018.3.0: The repository and tag must now be
96380              passed separately using the repository and tag arguments, rather
96381              than together in the (now deprecated) image argument.
96382
96383
96384              Commits  a  container, thereby promoting it to an image. Equiva‐
96385              lent to running the docker commit Docker CLI command.
96386
96387              name   Container name or ID to commit
96388
96389              repository
96390                     Repository name for the image being committed
96391
96392                     New in version 2018.3.0.
96393
96394
96395              tag    latest Tag name for the image
96396
96397                     New in version 2018.3.0.
96398
96399
96400              image  Deprecated since version 2018.3.0:  Use  both  repository
96401                     and tag instead
96402
96403
96404              message
96405                     Commit message (Optional)
96406
96407              author Author name (Optional)
96408
96409              RETURN DATA
96410
96411              A dictionary containing the following keys:
96412
96413              · Id - ID of the newly-created image
96414
96415              · Image - Name of the newly-created image
96416
96417              · Time_Elapsed - Time in seconds taken to perform the commit
96418
96419              CLI Example:
96420
96421                 salt myminion docker.commit mycontainer myuser/myimage mytag
96422
96423       salt.modules.dockermod.compare_container(first, second, ignore=None)
96424              This function is an alias of compare_containers.
96425                 New in version 2017.7.0.
96426
96427
96428                 Changed in version 2018.3.0: Renamed from docker.compare_con‐
96429                 tainer  to  docker.compare_containers  (old   function   name
96430                 remains as an alias)
96431
96432
96433                 Compare  two containers' Config and and HostConfig and return
96434                 any differences between the two.
96435
96436                 first  Name or ID of first container
96437
96438                 second Name or ID of second container
96439
96440                 ignore A comma-separated list (or Python  list)  of  keys  to
96441                        ignore  when  comparing. This is useful when comparing
96442                        two otherwise identical containers which have  differ‐
96443                        ent hostnames.
96444
96445                 CLI Examples:
96446
96447                     salt myminion docker.compare_containers foo bar
96448                     salt myminion docker.compare_containers foo bar ignore=Hostname
96449
96450       salt.modules.dockermod.compare_container_networks(first, second)
96451              New in version 2018.3.0.
96452
96453
96454              Returns the differences between two containers' networks. When a
96455              network is only present one of the  two  containers,  that  net‐
96456              work's diff will simply be represented with True for the side of
96457              the diff in which the network is present) and False for the side
96458              of the diff in which the network is absent.
96459
96460              This  function  works by comparing the contents of both contain‐
96461              ers' Networks keys (under NetworkSettings) in  the  return  data
96462              from  docker.inspect_container.  Because  each  network contains
96463              some items that either A) only  set  at  runtime,  B)  naturally
96464              varying  from  container  to  container, or both, by default the
96465              following keys in each network are examined:
96466
96467              · Aliases
96468
96469              · Links
96470
96471              · IPAMConfig
96472
96473              The exception to this is if IPAMConfig is unset (i.e.  null)  in
96474              one  container but not the other. This happens when no static IP
96475              configuration is set,  and  automatic  IP  configuration  is  in
96476              effect.  So,  in order to report on changes between automatic IP
96477              configuration in one container and static  IP  configuration  in
96478              another  container  (as  we  need  to  do  for  the  docker_con‐
96479              tainer.running state), automatic IP configuration will  also  be
96480              checked in these cases.
96481
96482              This  function uses the docker.compare_container_networks minion
96483              config option to determine which keys to examine. This  provides
96484              flexibility  in the event that features added in a future Docker
96485              release necessitate changes to how Salt  compares  networks.  In
96486              these  cases, rather than waiting for a new Salt release one can
96487              just set docker.compare_container_networks.
96488
96489              NOTE:
96490                 The checks for automatic  IP  configuration  described  above
96491                 only  apply if IPAMConfig is among the keys set for static IP
96492                 checks in docker.compare_container_networks.
96493
96494              first  Name or ID of first container (old)
96495
96496              second Name or ID of second container (new)
96497
96498              CLI Example:
96499
96500                 salt myminion docker.compare_container_networks foo bar
96501
96502       salt.modules.dockermod.compare_containers(first, second, ignore=None)
96503              New in version 2017.7.0.
96504
96505
96506              Changed in version 2018.3.0:  Renamed  from  docker.compare_con‐
96507              tainer  to  docker.compare_containers (old function name remains
96508              as an alias)
96509
96510
96511              Compare two containers' Config and and HostConfig and return any
96512              differences between the two.
96513
96514              first  Name or ID of first container
96515
96516              second Name or ID of second container
96517
96518              ignore A comma-separated list (or Python list) of keys to ignore
96519                     when comparing. This is useful when comparing two  other‐
96520                     wise identical containers which have different hostnames.
96521
96522              CLI Examples:
96523
96524                 salt myminion docker.compare_containers foo bar
96525                 salt myminion docker.compare_containers foo bar ignore=Hostname
96526
96527       salt.modules.dockermod.compare_networks(first,   second,  ignore='Name,
96528       Id, Created, Containers')
96529              New in version 2018.3.0.
96530
96531
96532              Compare two networks and return any differences between the two
96533
96534              first  Name or ID of first container
96535
96536              second Name or ID of second container
96537
96538              ignore Name,Id,Created,Containers  A  comma-separated  list  (or
96539                     Python list) of keys to ignore when comparing.
96540
96541              CLI Example:
96542
96543                 salt myminion docker.compare_network foo bar
96544
96545       salt.modules.dockermod.connect_container_to_network(container,  net_id,
96546       **kwargs)
96547              New in version 2015.8.3.
96548
96549
96550              Changed in version 2017.7.0: Support for  ipv4_address  argument
96551              added
96552
96553
96554              Changed  in  version  2018.3.0:  All  arguments  are  now passed
96555              through to connect_container_to_network(), allowing for any  new
96556              arguments added to this function to be supported automagically.
96557
96558
96559              Connect       container       to      network.      See      the
96560              connect_container_to_network() docs for information on supported
96561              arguments.
96562
96563              container
96564                     Container name or ID
96565
96566              net_id Network name or ID
96567
96568              CLI Examples:
96569
96570                 salt myminion docker.connect_container_to_network web-1 mynet
96571                 salt myminion docker.connect_container_to_network web-1 mynet ipv4_address=10.20.0.10
96572                 salt myminion docker.connect_container_to_network web-1 1f9d2454d0872b68dd9e8744c6e7a4c66b86f10abaccc21e14f7f014f729b2bc
96573
96574       salt.modules.dockermod.connected(name, verbose=False)
96575              New in version 2018.3.0.
96576
96577
96578              Return  a  list  of running containers attached to the specified
96579              network
96580
96581              name   Network name
96582
96583              verbose
96584                     False If True, return extended info about each  container
96585                     (IP configuration, etc.)
96586
96587              CLI Example:
96588
96589                 salt myminion docker.connected net_name
96590
96591       salt.modules.dockermod.copy_from(name,  source,  dest, overwrite=False,
96592       makedirs=False)
96593              Copy a file from inside a container to the Minion
96594
96595              name   Container name
96596
96597              source Path of the file on the container's filesystem
96598
96599              dest   Destination on the Minion. Must be an absolute  path.  If
96600                     the  destination  is a directory, the file will be copied
96601                     into that directory.
96602
96603              overwrite
96604                     False Unless this option is set to True, then if  a  file
96605                     exists at the location specified by the dest argument, an
96606                     error will be raised.
96607
96608              makedirs
96609                     False Create the parent directory on the container if  it
96610                     does not already exist.
96611
96612              RETURN DATA
96613
96614              A boolean (True if successful, otherwise False)
96615
96616              CLI Example:
96617
96618                 salt myminion docker.copy_from mycontainer /var/log/nginx/access.log /home/myuser
96619
96620       salt.modules.dockermod.copy_to(name,  source,  dest,  exec_driver=None,
96621       overwrite=False, makedirs=False)
96622              Copy a file from the host into a container
96623
96624              name   Container name
96625
96626              source File to be copied to the container. Can be a  local  path
96627                     on the Minion or a remote file from the Salt fileserver.
96628
96629              dest   Destination  on  the container. Must be an absolute path.
96630                     If the destination is  a  directory,  the  file  will  be
96631                     copied into that directory.
96632
96633              exec_driver
96634                     None If not passed, the execution driver will be detected
96635                     as described above.
96636
96637              overwrite
96638                     False Unless this option is set to True, then if  a  file
96639                     exists at the location specified by the dest argument, an
96640                     error will be raised.
96641
96642              makedirs
96643                     False Create the parent directory on the container if  it
96644                     does not already exist.
96645
96646              RETURN DATA
96647
96648              A boolean (True if successful, otherwise False)
96649
96650              CLI Example:
96651
96652                 salt myminion docker.copy_to mycontainer /tmp/foo /root/foo
96653
96654       salt.modules.dockermod.create(*args, **kwargs)
96655              Create a new container
96656
96657              image  Image from which to create the container
96658
96659              name   Name  for the new container. If not provided, Docker will
96660                     randomly generate one for you (it will be included in the
96661                     return data).
96662
96663              start  False If True, start container after creating it
96664
96665                     New in version 2018.3.0.
96666
96667
96668              skip_translate
96669                     This  function  translates Salt CLI or SLS input into the
96670                     format which docker-py expects.  However,  in  the  event
96671                     that  Salt's  translation  logic  fails (due to potential
96672                     changes in the Docker Remote  API,  or  to  bugs  in  the
96673                     translation  code),  this  argument  can be used to exert
96674                     granular control over which arguments are translated  and
96675                     which are not.
96676
96677                     Pass  this  argument as a comma-separated list (or Python
96678                     list) of arguments, and translation for each passed argu‐
96679                     ment  name  will be skipped. Alternatively, pass True and
96680                     all translation will be skipped.
96681
96682                     Skipping tranlsation allows for arguments to be formatted
96683                     directly  in  the  format  which  docker-py expects. This
96684                     allows for API changes and other issues to be more easily
96685                     worked  around.  An  example of using this option to skip
96686                     translation would be:
96687
96688                        salt myminion docker.create image=centos:7.3.1611 skip_translate=environment environment="{'FOO': 'bar'}"
96689
96690                     See the following links for more information:
96691
96692                     · docker-py Low-level API
96693
96694                     · Docker Engine API
96695
96696              ignore_collisions
96697                     False Since many of docker-py's arguments differ in  name
96698                     from their CLI counterparts (with which most Docker users
96699                     are more familiar),  Salt  detects  usage  of  these  and
96700                     aliases  them  to the docker-py version of that argument.
96701                     However, if both the alias and the docker-py  version  of
96702                     the same argument (e.g. env and environment) are used, an
96703                     error will be raised. Set this argument to True  to  sup‐
96704                     press  these errors and keep the docker-py version of the
96705                     argument.
96706
96707              validate_ip_addrs
96708                     True For parameters which accept IP addresses  as  input,
96709                     IP  address validation will be performed. To disable, set
96710                     this to False
96711
96712              client_timeout
96713                     60 Timeout in seconds for the Docker client. This is  not
96714                     a timeout for this function, but for receiving a response
96715                     from the API.
96716
96717                     NOTE:
96718                        This is only used if Salt needs to pull the  requested
96719                        image.
96720
96721              CONTAINER CONFIGURATION ARGUMENTS
96722
96723              auto_remove (or rm)
96724                     False Enable auto-removal of the container on daemon side
96725                     when the container’s process exits (analogous to  running
96726                     a docker container with --rm on the CLI).
96727
96728                     Examples:
96729
96730                     · auto_remove=True
96731
96732                     · rm=True
96733
96734              binds  Files/directories  to  bind mount. Each bind mount should
96735                     be passed in one of the following formats:
96736
96737                     · <host_path>:<container_path>  -  host_path  is  mounted
96738                       within  the container as container_path with read-write
96739                       access.
96740
96741                     · <host_path>:<container_path>:<selinux_context>        -
96742                       host_path  is  mounted  within  the  container  as con‐
96743                       tainer_path with read-write access.  Additionally,  the
96744                       specified  selinux  context will be set within the con‐
96745                       tainer.
96746
96747                     · <host_path>:<container_path>:<read_only> - host_path is
96748                       mounted  within  the  container as container_path, with
96749                       the read-only or read-write setting explicitly defined.
96750
96751                     · <host_path>:<container_path>:<read_only>,<selinux_con‐
96752                       text>  -  host_path  is mounted within the container as
96753                       container_path, with the read-only or  read-write  set‐
96754                       ting  explicitly  defined.  Additionally, the specified
96755                       selinux context will be set within the container.
96756
96757                     <read_only> can be either ro for read-write access, or ro
96758                     for  read-only  access. When omitted, it is assumed to be
96759                     read-write.
96760
96761                     <selinux_context> can  be  z  if  the  volume  is  shared
96762                     between multiple containers, or Z if the volume should be
96763                     private.
96764
96765                     NOTE:
96766                        When both <read_only> and <selinux_context> are speci‐
96767                        fied, there must be a comma before <selinux_context>.
96768
96769                     Binds  can  be  expressed  as a comma-separated list or a
96770                     Python list, however in cases where  both  ro/rw  and  an
96771                     selinux  context  are specified, the binds must be speci‐
96772                     fied as a Python list.
96773
96774                     Examples:
96775
96776                     · binds=/srv/www:/var/www:ro
96777
96778                     · binds=/srv/www:/var/www:rw
96779
96780                     · binds=/srv/www:/var/www
96781
96782                     · binds="['/srv/www:/var/www:ro,Z']"
96783
96784                     · binds="['/srv/www:/var/www:rw,Z']"
96785
96786                     · binds=/srv/www:/var/www:Z
96787
96788                     NOTE:
96789                        The second and third examples above are equivalent  to
96790                        each other, as are the last two examples.
96791
96792              blkio_weight
96793                     Block IO weight (relative weight), accepts a weight value
96794                     between 10 and 1000.
96795
96796                     Example: blkio_weight=100
96797
96798              blkio_weight_device
96799                     Block IO weight (relative device weight), specified as  a
96800                     list of expressions in the format PATH:WEIGHT
96801
96802                     Example: blkio_weight_device=/dev/sda:100
96803
96804              cap_add
96805                     List  of capabilities to add within the container. Can be
96806                     passed as  a  comma-separated  list  or  a  Python  list.
96807                     Requires Docker 1.2.0 or newer.
96808
96809                     Examples:
96810
96811                     · cap_add=SYS_ADMIN,MKNOD
96812
96813                     · cap_add="[SYS_ADMIN, MKNOD]"
96814
96815              cap_drop
96816                     List of capabilities to drop within the container. Can be
96817                     passed as a comma-separated  string  or  a  Python  list.
96818                     Requires Docker 1.2.0 or newer.
96819
96820                     Examples:
96821
96822                     · cap_drop=SYS_ADMIN,MKNOD,
96823
96824                     · cap_drop="[SYS_ADMIN, MKNOD]"
96825
96826              command (or cmd)
96827                     Command to run in the container
96828
96829                     Example: command=bash or cmd=bash
96830
96831                     Changed in version 2015.8.1: cmd is now also accepted
96832
96833
96834              cpuset_cpus (or cpuset)
96835                     CPUs  on  which  which to allow execution, specified as a
96836                     string containing a range (e.g. 0-3) or a comma-separated
96837                     list of CPUs (e.g. 0,1).
96838
96839                     Examples:
96840
96841                     · cpuset_cpus="0-3"
96842
96843                     · cpuset="0,1"
96844
96845              cpuset_mems
96846                     Memory nodes on which which to allow execution, specified
96847                     as a string containing a range (e.g. 0-3) or a comma-sep‐
96848                     arated  list  of  MEMs (e.g. 0,1). Only effective on NUMA
96849                     systems.
96850
96851                     Examples:
96852
96853                     · cpuset_mems="0-3"
96854
96855                     · cpuset_mems="0,1"
96856
96857              cpu_group
96858                     The length of a CPU period in microseconds
96859
96860                     Example: cpu_group=100000
96861
96862              cpu_period
96863                     Microseconds of CPU time that the container can get in  a
96864                     CPU period
96865
96866                     Example: cpu_period=50000
96867
96868              cpu_shares
96869                     CPU  shares  (relative  weight),  specified as an integer
96870                     between 2 and 1024.
96871
96872                     Example: cpu_shares=512
96873
96874              detach False If True, run the container's command in  the  back‐
96875                     ground (daemon mode)
96876
96877                     Example: detach=True
96878
96879              devices
96880                     List of host devices to expose within the container
96881
96882                     Examples:
96883
96884                     · devices="/dev/net/tun,/dev/xvda1:/dev/xvda1,/dev/xvdb1:/dev/xvdb1:r"
96885
96886                     · devices="['/dev/net/tun',      '/dev/xvda1:/dev/xvda1',
96887                       '/dev/xvdb1:/dev/xvdb1:r']"
96888
96889              device_read_bps
96890                     Limit  read rate (bytes per second) from a device, speci‐
96891                     fied as a list of expressions in  the  format  PATH:RATE,
96892                     where  RATE  is  either  an integer number of bytes, or a
96893                     string ending in kb, mb, or gb.
96894
96895                     Examples:
96896
96897                     · device_read_bps="/dev/sda:1mb,/dev/sdb:5mb"
96898
96899                     · device_read_bps="['/dev/sda:100mb', '/dev/sdb:5mb']"
96900
96901              device_read_iops
96902                     Limit read rate (I/O per second) from a device, specified
96903                     as  a  list of expressions in the format PATH:RATE, where
96904                     RATE is a number of I/O operations.
96905
96906                     Examples:
96907
96908                     · device_read_iops="/dev/sda:1000,/dev/sdb:500"
96909
96910                     · device_read_iops="['/dev/sda:1000', '/dev/sdb:500']"
96911
96912              device_write_bps
96913                     Limit write rate (bytes per second) from a device, speci‐
96914                     fied  as  a  list of expressions in the format PATH:RATE,
96915                     where RATE is either an integer number  of  bytes,  or  a
96916                     string ending in kb, mb or gb.
96917
96918                     Examples:
96919
96920                     · device_write_bps="/dev/sda:100mb,/dev/sdb:50mb"
96921
96922                     · device_write_bps="['/dev/sda:100mb', '/dev/sdb:50mb']"
96923
96924              device_read_iops
96925                     Limit  write  rate (I/O per second) from a device, speci‐
96926                     fied as a list of expressions in  the  format  PATH:RATE,
96927                     where RATE is a number of I/O operations.
96928
96929                     Examples:
96930
96931                     · device_read_iops="/dev/sda:1000,/dev/sdb:500"
96932
96933                     · device_read_iops="['/dev/sda:1000', '/dev/sdb:500']"
96934
96935              dns    List  of  DNS nameservers. Can be passed as a comma-sepa‐
96936                     rated list or a Python list.
96937
96938                     Examples:
96939
96940                     · dns=8.8.8.8,8.8.4.4
96941
96942                     · dns="['8.8.8.8', '8.8.4.4']"
96943
96944                     NOTE:
96945                        To   skip   IP   address   validation,    use    vali‐
96946                        date_ip_addrs=False
96947
96948              dns_opt
96949                     Additional   options  to  be  added  to  the  container’s
96950                     resolv.conf file
96951
96952                     Example: dns_opt=ndots:9
96953
96954              dns_search
96955                     List of DNS search domains. Can be passed as a comma-sep‐
96956                     arated list or a Python list.
96957
96958                     Examples:
96959
96960                     · dns_search=foo1.domain.tld,foo2.domain.tld
96961
96962                     · dns_search="[foo1.domain.tld, foo2.domain.tld]"
96963
96964              domainname
96965                     The domain name to use for the container
96966
96967                     Example: domainname=domain.tld
96968
96969              entrypoint
96970                     Entrypoint  for  the  container.  Either  a  string (e.g.
96971                     "mycmd --arg1 --arg2") or a Python list (e.g.  "['mycmd',
96972                     '--arg1', '--arg2']")
96973
96974                     Examples:
96975
96976                     · entrypoint="cat access.log"
96977
96978                     · entrypoint="['cat', 'access.log']"
96979
96980              environment (or env)
96981                     Either  a  dictionary  of  environment variable names and
96982                     their values, or a Python list of strings in  the  format
96983                     VARNAME=value.
96984
96985                     Examples:
96986
96987                     · environment='VAR1=value,VAR2=value'
96988
96989                     · environment="['VAR1=value', 'VAR2=value']"
96990
96991                     · environment="{'VAR1': 'value', 'VAR2': 'value'}"
96992
96993              extra_hosts
96994                     Additional  hosts  to  add  to the container's /etc/hosts
96995                     file. Can be passed as a comma-separated list or a Python
96996                     list. Requires Docker 1.3.0 or newer.
96997
96998                     Examples:
96999
97000                     · extra_hosts=web1:10.9.8.7,web2:10.9.8.8
97001
97002                     · extra_hosts="['web1:10.9.8.7', 'web2:10.9.8.8']"
97003
97004                     · extra_hosts="{'web1': '10.9.8.7', 'web2': '10.9.8.8'}"
97005
97006                     NOTE:
97007                        To    skip    IP   address   validation,   use   vali‐
97008                        date_ip_addrs=False
97009
97010              group_add
97011                     List of additional group names and/or IDs that  the  con‐
97012                     tainer process will run as
97013
97014                     Examples:
97015
97016                     · group_add=web,network
97017
97018                     · group_add="['web', 'network']"
97019
97020              hostname
97021                     Hostname of the container. If not provided, and if a name
97022                     has been provided, the hostname will default to the  name
97023                     that was passed.
97024
97025                     Example: hostname=web1
97026
97027                     WARNING:
97028                        If  the  container  is started with network_mode=host,
97029                        the hostname will be overridden by the hostname of the
97030                        Minion.
97031
97032              interactive (or stdin_open): False
97033                     Leave stdin open, even if not attached
97034
97035                     Examples:
97036
97037                     · interactive=True
97038
97039                     · stdin_open=True
97040
97041              ipc_mode (or ipc)
97042                     Set  the IPC mode for the container. The default behavior
97043                     is to create a private IPC namespace for  the  container,
97044                     but this option can be used to change that behavior:
97045
97046                     · container:<container_name_or_id>  reuses  another  con‐
97047                       tainer shared memory, semaphores and message queues
97048
97049                     · host: use the host's shared memory, semaphores and mes‐
97050                       sage queues
97051
97052                     Examples:
97053
97054                     · ipc_mode=container:foo
97055
97056                     · ipc=host
97057
97058                     WARNING:
97059                        Using  host  gives  the container full access to local
97060                        shared memory and is therefore considered insecure.
97061
97062              isolation
97063                     Specifies the type of isolation technology used  by  con‐
97064                     tainers
97065
97066                     Example: isolation=hyperv
97067
97068                     NOTE:
97069                        The  default value on Windows server is process, while
97070                        the default value on  Windows  client  is  hyperv.  On
97071                        Linux, only default is supported.
97072
97073              labels (or label)
97074                     Add  metadata  to  the  container. Labels can be set both
97075                     with and without values:
97076
97077                     Examples:
97078
97079                     · labels=foo,bar=baz
97080
97081                     · labels="['foo', 'bar=baz']"
97082
97083                     Changed in version 2018.3.0: Labels both with and without
97084                     values  can now be mixed. Earlier releases only permitted
97085                     one method or the other.
97086
97087
97088              links  Link this container to another. Links should be specified
97089                     in the format <container_name_or_id>:<link_alias>. Multi‐
97090                     ple links can be passed, ether as a comma separated  list
97091                     or a Python list.
97092
97093                     Examples:
97094
97095                     · links=web1:link1,web2:link2,
97096
97097                     · links="['web1:link1', 'web2:link2']"
97098
97099                     · links="{'web1': 'link1', 'web2': 'link2'}"
97100
97101              log_driver
97102                     Set  container's  logging  driver. Requires Docker 1.6 or
97103                     newer.
97104
97105                     Example:
97106
97107                     · log_driver=syslog
97108
97109                     NOTE:
97110                        The logging driver feature was improved in Docker 1.13
97111                        introducing  option  name changes. Please see Docker's
97112                        Configure  logging  drivers  documentation  for   more
97113                        information.
97114
97115              log_opt
97116                     Config options for the log_driver config option. Requires
97117                     Docker 1.6 or newer.
97118
97119                     Example:
97120
97121                     · log_opt="syslog-address=tcp://192.168.0.42,sys‐
97122                       log-facility=daemon"
97123
97124                     · log_opt="['syslog-address=tcp://192.168.0.42',    'sys‐
97125                       log-facility=daemon']"
97126
97127                     · log_opt="{'syslog-address': 'tcp://192.168.0.42', 'sys‐
97128                       log-facility': 'daemon'}"
97129
97130              lxc_conf
97131                     Additional  LXC  configuration  parameters  to set before
97132                     starting the container.
97133
97134                     Examples:
97135
97136                     · lxc_conf="lxc.utsname=docker,lxc.arch=x86_64"
97137
97138                     · lxc_conf="['lxc.utsname=docker', 'lxc.arch=x86_64']"
97139
97140                     · lxc_conf="{'lxc.utsname':     'docker',     'lxc.arch':
97141                       'x86_64'}"
97142
97143                     NOTE:
97144                        These  LXC configuration parameters will only have the
97145                        desired effect if the container is using the LXC  exe‐
97146                        cution  driver,  which  has  been  deprecated for some
97147                        time.
97148
97149              mac_address
97150                     MAC address to use for the container. If not specified, a
97151                     random MAC address will be used.
97152
97153                     Example: mac_address=01:23:45:67:89:0a
97154
97155              mem_limit (or memory)
97156                     0  Memory  limit. Can be specified in bytes or using sin‐
97157                     gle-letter units (i.e. 512M, 2G, etc.). A value of 0 (the
97158                     default) means no memory limit.
97159
97160                     Examples:
97161
97162                     · mem_limit=512M
97163
97164                     · memory=1073741824
97165
97166              mem_swappiness
97167                     Tune a container's memory swappiness behavior. Accepts an
97168                     integer between 0 and 100.
97169
97170                     Example: mem_swappiness=60
97171
97172              memswap_limit (or memory_swap)
97173                     -1 Total memory limit (memory plus swap). Set  to  -1  to
97174                     disable swap. A value of 0 means no swap limit.
97175
97176                     Examples:
97177
97178                     · memswap_limit=1G
97179
97180                     · memory_swap=2147483648
97181
97182              network_disabled
97183                     False  If  True,  networking  will be disabled within the
97184                     container
97185
97186                     Example: network_disabled=True
97187
97188              network_mode
97189                     bridge One of the following:
97190
97191                     · bridge - Creates a new network stack for the  container
97192                       on the docker bridge
97193
97194                     · none  -  No  networking  (equivalent  of the Docker CLI
97195                       argument --net=none). Not to be confused with  Python's
97196                       None.
97197
97198                     · container:<name_or_id>  -  Reuses  another  container's
97199                       network stack
97200
97201                     · host - Use the host's network  stack  inside  the  con‐
97202                       tainer
97203
97204                       WARNING:
97205                          Using  host  mode gives the container full access to
97206                          the hosts system's services (such as D-Bus), and  is
97207                          therefore considered insecure.
97208
97209                     Examples:
97210
97211                     · network_mode=null
97212
97213                     · network_mode=container:web1
97214
97215              oom_kill_disable
97216                     Whether to disable OOM killer
97217
97218                     Example: oom_kill_disable=False
97219
97220              oom_score_adj
97221                     An  integer  value containing the score given to the con‐
97222                     tainer in order to tune OOM killer preferences
97223
97224                     Example: oom_score_adj=500
97225
97226              pid_mode
97227                     Set to host to use the  host  container's  PID  namespace
97228                     within the container. Requires Docker 1.5.0 or newer.
97229
97230                     Example: pid_mode=host
97231
97232              pids_limit
97233                     Set the container's PID limit. Set to -1 for unlimited.
97234
97235                     Example: pids_limit=2000
97236
97237              port_bindings (or publish)
97238                     Bind  exposed  ports  which  were exposed using the ports
97239                     argument to docker.create. These should be passed in  the
97240                     same  way as the --publish argument to the docker run CLI
97241                     command:
97242
97243                     · ip:hostPort:containerPort - Bind a specific IP and port
97244                       on the host to a specific port within the container.
97245
97246                     · ip::containerPort - Bind a specific IP and an ephemeral
97247                       port to a specific port within the container.
97248
97249                     · hostPort:containerPort - Bind a specific port on all of
97250                       the  host's  interfaces  to  a specific port within the
97251                       container.
97252
97253                     · containerPort - Bind an ephemeral port on  all  of  the
97254                       host's  interfaces  to  a specific port within the con‐
97255                       tainer.
97256
97257                     Multiple bindings can be separated by commas,  or  passed
97258                     as a Python list. The below two examples are equivalent:
97259
97260                     · port_bindings="5000:5000,2123:2123/udp,8080"
97261
97262                     · port_bindings="['5000:5000', '2123:2123/udp', 8080]"
97263
97264                     Port bindings can also include ranges:
97265
97266                     · port_bindings="14505-14506:4505-4506"
97267
97268                     NOTE:
97269                        When  specifying  a protocol, it must be passed in the
97270                        containerPort value, as seen in the examples above.
97271
97272              ports  A list of ports to expose on the container. Can be passed
97273                     as comma-separated list or a Python list. If the protocol
97274                     is omitted, the port will be assumed to be a TCP port.
97275
97276                     Examples:
97277
97278                     · ports=1111,2222/udp
97279
97280                     · ports="[1111, '2222/udp']"
97281
97282              privileged
97283                     False If True, runs the exec process with extended privi‐
97284                     leges
97285
97286                     Example: privileged=True
97287
97288              publish_all_ports (or publish_all): False
97289                     Publish all ports to the host
97290
97291                     Example: publish_all_ports=True
97292
97293              read_only
97294                     False  If  True, mount the container’s root filesystem as
97295                     read only
97296
97297                     Example: read_only=True
97298
97299              restart_policy (or restart)
97300                     Set a restart policy for the container. Must be passed as
97301                     a  string in the format policy[:retry_count] where policy
97302                     is one of  always,  unless-stopped,  or  on-failure,  and
97303                     retry_count  is  an  optional  limit  to  the  number  of
97304                     retries. The retry count is ignored when using the always
97305                     or unless-stopped restart policy.
97306
97307                     Examples:
97308
97309                     · restart_policy=on-failure:5
97310
97311                     · restart_policy=always
97312
97313              security_opt
97314                     Security  configuration  for  MLS systems such as SELinux
97315                     and AppArmor.  Can be passed as a comma-separated list or
97316                     a Python list.
97317
97318                     Examples:
97319
97320                     · security_opt=apparmor:unconfined,param2:value2
97321
97322                     · security_opt='["apparmor:unconfined", "param2:value2"]'
97323
97324                     IMPORTANT:
97325                        Some  security  options  can  contain commas. In these
97326                        cases, this argument must be passed as a Python  list,
97327                        as  splitting  by comma will result in an invalid con‐
97328                        figuration.
97329
97330                     NOTE:
97331                        See   the   documentation    for    security_opt    at
97332                        https://docs.docker.com/engine/reference/run/#security-configuration
97333
97334              shm_size
97335                     Size of /dev/shm
97336
97337                     Example: shm_size=128M
97338
97339              stop_signal
97340                     The signal used to stop the  container.  The  default  is
97341                     SIGTERM.
97342
97343                     Example: stop_signal=SIGRTMIN+3
97344
97345              stop_timeout
97346                     Timeout to stop the container, in seconds
97347
97348                     Example: stop_timeout=5
97349
97350              storage_opt
97351                     Storage driver options for the container
97352
97353                     Examples:
97354
97355                     · storage_opt='dm.basesize=40G'
97356
97357                     · storage_opt="['dm.basesize=40G']"
97358
97359                     · storage_opt="{'dm.basesize': '40G'}"
97360
97361              sysctls (or sysctl)
97362                     Set sysctl options for the container
97363
97364                     Examples:
97365
97366                     · sysctl='fs.nr_open=1048576,kernel.pid_max=32768'
97367
97368                     · sysctls="['fs.nr_open=1048576',                   'ker‐
97369                       nel.pid_max=32768']"
97370
97371                     · sysctls="{'fs.nr_open':  '1048576',   'kernel.pid_max':
97372                       '32768'}"
97373
97374              tmpfs  A  map  of container directories which should be replaced
97375                     by tmpfs mounts, and their corresponding  mount  options.
97376                     Can be passed as Python list of PATH:VALUE mappings, or a
97377                     Python dictionary. However, since commas  usually  appear
97378                     in  the  values,  this  option  cannot  be  passed  as  a
97379                     comma-separated list.
97380
97381                     Examples:
97382
97383                     · tmpfs="['/run:rw,noexec,nosuid,size=65536k',
97384                       '/var/lib/mysql:rw,noexec,nosuid,size=600m']"
97385
97386                     · tmpfs="{'/run':         'rw,noexec,nosuid,size=65536k',
97387                       '/var/lib/mysql': 'rw,noexec,nosuid,size=600m'}"
97388
97389              tty    False Attach TTYs
97390
97391                     Example: tty=True
97392
97393              ulimits (or ulimit)
97394                     List of ulimits. These limits should  be  passed  in  the
97395                     format  <ulimit_name>:<soft_limit>:<hard_limit>, with the
97396                     hard limit being optional. Can be passed as a comma-sepa‐
97397                     rated list or a Python list.
97398
97399                     Examples:
97400
97401                     · ulimits="nofile=1024:1024,nproc=60"
97402
97403                     · ulimits="['nofile=1024:1024', 'nproc=60']"
97404
97405              user   User under which to run exec process
97406
97407                     Example: user=foo
97408
97409              userns_mode (or user_ns_mode)
97410                     Sets  the  user  namsepace  mode, when the user namespace
97411                     remapping option is enabled.
97412
97413                     Example: userns_mode=host
97414
97415              volumes (or volume)
97416                     List of directories to expose as volumes. Can  be  passed
97417                     as a comma-separated list or a Python list.
97418
97419                     Examples:
97420
97421                     · volumes=/mnt/vol1,/mnt/vol2
97422
97423                     · volume="['/mnt/vol1', '/mnt/vol2']"
97424
97425              volumes_from
97426                     Container  names or IDs from which the container will get
97427                     volumes. Can be passed as a  comma-separated  list  or  a
97428                     Python list.
97429
97430                     Example:   volumes_from=foo,  volumes_from=foo,bar,  vol‐
97431                     umes_from="[foo, bar]"
97432
97433              volume_driver
97434                     Sets the container's volume driver
97435
97436                     Example: volume_driver=foobar
97437
97438              working_dir (or workdir)
97439                     Working directory inside the container
97440
97441                     Examples:
97442
97443                     · working_dir=/var/log/nginx
97444
97445                     · workdir=/var/www/myapp
97446
97447              RETURN DATA
97448
97449              A dictionary containing the following keys:
97450
97451              · Id - ID of the newly-created container
97452
97453              · Name - Name of the newly-created container
97454
97455              CLI Example:
97456
97457                 # Create a data-only container
97458                 salt myminion docker.create myuser/mycontainer volumes="/mnt/vol1,/mnt/vol2"
97459                 # Create a CentOS 7 container that will stay running once started
97460                 salt myminion docker.create centos:7 name=mycent7 interactive=True tty=True command=bash
97461
97462       salt.modules.dockermod.create_network(name,        skip_translate=None,
97463       ignore_collisions=False,   validate_ip_addrs=True,   client_timeout=60,
97464       **kwargs)
97465              Changed in version 2018.3.0: Support added for network  configu‐
97466              ration  options  other  than  driver and driver_opts, as well as
97467              IPAM configuration.
97468
97469
97470              Create a new network
97471
97472              NOTE:
97473                 This function supports all arguments  for  network  and  IPAM
97474                 pool  configuration  which  are  available for the release of
97475                 docker-py installed on the minion. For that reason, the argu‐
97476                 ments  described below in the NETWORK CONFIGURATION ARGUMENTS
97477                 and IP ADDRESS MANAGEMENT (IPAM) sections may not  accurately
97478                 reflect    what    is   available   on   the   minion.    The
97479                 docker.get_client_args function can  be  used  to  check  the
97480                 available  arguments  for  the installed version of docker-py
97481                 (they are found in the network_config  and  ipam_config  sec‐
97482                 tions  of  the return data), but Salt will not prevent a user
97483                 from attempting to use an argument which  is  unsupported  in
97484                 the  release  of  Docker  which is installed. In those cases,
97485                 network creation be attempted but will fail.
97486
97487              name   Network name
97488
97489              skip_translate
97490                     This function translates Salt CLI or SLS input  into  the
97491                     format  which  docker-py  expects.  However, in the event
97492                     that Salt's translation logic  fails  (due  to  potential
97493                     changes  in  the  Docker  Remote  API,  or to bugs in the
97494                     translation code), this argument can  be  used  to  exert
97495                     granular  control over which arguments are translated and
97496                     which are not.
97497
97498                     Pass this argument as a comma-separated list  (or  Python
97499                     list) of arguments, and translation for each passed argu‐
97500                     ment name will be skipped. Alternatively, pass  True  and
97501                     all translation will be skipped.
97502
97503                     Skipping tranlsation allows for arguments to be formatted
97504                     directly in the  format  which  docker-py  expects.  This
97505                     allows for API changes and other issues to be more easily
97506                     worked around. See the following links for more  informa‐
97507                     tion:
97508
97509                     · docker-py Low-level API
97510
97511                     · Docker Engine API
97512
97513                     New in version 2018.3.0.
97514
97515
97516              ignore_collisions
97517                     False  Since many of docker-py's arguments differ in name
97518                     from their CLI counterparts (with which most Docker users
97519                     are  more  familiar),  Salt  detects  usage  of these and
97520                     aliases them to the docker-py version of  that  argument.
97521                     However,  if  both the alias and the docker-py version of
97522                     the same argument  (e.g.  options  and  driver_opts)  are
97523                     used,  an error will be raised. Set this argument to True
97524                     to suppress these errors and keep the  docker-py  version
97525                     of the argument.
97526
97527                     New in version 2018.3.0.
97528
97529
97530              validate_ip_addrs
97531                     True  For  parameters which accept IP addresses as input,
97532                     IP address validation will be performed. To disable,  set
97533                     this to False
97534
97535                     NOTE:
97536                        When validating subnets, whether or not the IP portion
97537                        of the subnet is a valid subnet boundary will  not  be
97538                        checked.  The  IP  will portion will be validated, and
97539                        the subnet size will be checked to  confirm  it  is  a
97540                        valid number (1-32 for IPv4, 1-128 for IPv6).
97541
97542                     New in version 2018.3.0.
97543
97544
97545              NETWORK CONFIGURATION ARGUMENTS
97546
97547              driver Network driver
97548
97549                     Example: driver=macvlan
97550
97551              driver_opts (or driver_opt, or options)
97552                     Options  for  the  network driver. Either a dictionary of
97553                     option names and values or a Python list  of  strings  in
97554                     the format varname=value.
97555
97556                     Examples:
97557
97558                     · driver_opts='macvlan_mode=bridge,parent=eth0'
97559
97560                     · driver_opts="['macvlan_mode=bridge', 'parent=eth0']"
97561
97562                     · driver_opts="{'macvlan_mode':    'bridge',    'parent':
97563                       'eth0'}"
97564
97565              check_duplicate
97566                     True If True, checks for networks with  duplicate  names.
97567                     Since  networks  are primarily keyed based on a random ID
97568                     and not on the name,  and  network  name  is  strictly  a
97569                     user-friendly  alias  to  the  network  which is uniquely
97570                     identified using ID, there is no guaranteed way to  check
97571                     for  duplicates.  This  option  providess  a best effort,
97572                     checking for any networks which have the same  name,  but
97573                     it is not guaranteed to catch all name collisions.
97574
97575                     Example: check_duplicate=False
97576
97577              internal
97578                     False If True, restricts external access to the network
97579
97580                     Example: internal=True
97581
97582              labels Add  metadata to the network. Labels can be set both with
97583                     and without values:
97584
97585                     Examples (with values):
97586
97587                     · labels="label1=value1,label2=value2"
97588
97589                     · labels="['label1=value1', 'label2=value2']"
97590
97591                     · labels="{'label1': 'value1', 'label2': 'value2'}"
97592
97593                     Examples (without values):
97594
97595                     · labels=label1,label2
97596
97597                     · labels="['label1', 'label2']"
97598
97599              enable_ipv6 (or ipv6)
97600                     False Enable IPv6 on the network
97601
97602                     Example: enable_ipv6=True
97603
97604                     NOTE:
97605                        While it should go without saying, this argument  must
97606                        be  set  to True to configure an IPv6 subnet. Also, if
97607                        this option  is  turned  on  without  an  IPv6  subnet
97608                        explicitly  configured,  you  will get an error unless
97609                        you have set up  a  fixed  IPv6  subnet.  Consult  the
97610                        Docker IPv6 docs for information on how to do this.
97611
97612              attachable
97613                     False  If  True,  and the network is in the global scope,
97614                     non-service containers on worker nodes will  be  able  to
97615                     connect to the network.
97616
97617                     Example: attachable=True
97618
97619                     NOTE:
97620                        While support for this option was added in API version
97621                        1.24, its value was not added to the  inpsect  results
97622                        until  API  version 1.26.  The version of Docker which
97623                        is available for CentOS 7 runs API version 1.24, mean‐
97624                        ing that while Salt can pass this argument to the API,
97625                        it has no way of knowing  the  value  of  this  config
97626                        option in an existing Docker network.
97627
97628              scope  Specify the network's scope (local, global or swarm)
97629
97630                     Example: scope=local
97631
97632              ingress
97633                     False  If  True, create an ingress network which provides
97634                     the routing-mesh in swarm mode
97635
97636                     Example: ingress=True
97637
97638              IP ADDRESS MANAGEMENT (IPAM)
97639
97640              This function supports networks with either IPv4, or  both  IPv4
97641              and  IPv6. If configuring IPv4, then you can pass the IPAM argu‐
97642              ments as shown below, as individual arguments on the  Salt  CLI.
97643              However,  if  configuring  IPv4  and IPv6, the arguments must be
97644              passed as a list of dictionaries, in  the  ipam_pools  argument.
97645              See  the  CLI Examples below. These docs also have more informa‐
97646              tion on these arguments.
97647
97648              IPAM ARGUMENTS
97649
97650              ipam_driver
97651                     IPAM driver to use, if different from the default one
97652
97653                     Example: ipam_driver=foo
97654
97655              ipam_opts
97656                     Options for the  IPAM  driver.  Either  a  dictionary  of
97657                     option  names  and  values or a Python list of strings in
97658                     the format varname=value.
97659
97660                     Examples:
97661
97662                     · ipam_opts='foo=bar,baz=qux'
97663
97664                     · ipam_opts="['foo=bar', 'baz=quz']"
97665
97666                     · ipam_opts="{'foo': 'bar', 'baz': 'qux'}"
97667
97668              IPAM POOL ARGUMENTS
97669
97670              subnet Subnet in CIDR format that represents a network segment
97671
97672                     Example: subnet=192.168.50.0/25
97673
97674              iprange (or ip_range)
97675                     Allocate container IP from a sub-range within the subnet
97676
97677                     Subnet in CIDR format that represents a network segment
97678
97679                     Example: iprange=192.168.50.64/26
97680
97681              gateway
97682                     IPv4 gateway for the master subnet
97683
97684                     Example: gateway=192.168.50.1
97685
97686              aux_addresses (or aux_address)
97687                     A dictionary of mapping container names to  IP  addresses
97688                     which should be allocated for them should they connect to
97689                     the network. Either a dictionary of option names and val‐
97690                     ues   or   a   Python  list  of  strings  in  the  format
97691                     host=ipaddr.
97692
97693                     Examples:
97694
97695                     · aux_addresses='foo.bar.tld=192.168.50.10,hello.world.tld=192.168.50.11'
97696
97697                     · aux_addresses="['foo.bar.tld=192.168.50.10',
97698                       'hello.world.tld=192.168.50.11']"
97699
97700                     · aux_addresses="{'foo.bar.tld':         '192.168.50.10',
97701                       'hello.world.tld': '192.168.50.11'}"
97702
97703              CLI Examples:
97704
97705                 salt myminion docker.create_network web_network driver=bridge
97706                 # IPv4
97707                 salt myminion docker.create_network macvlan_network driver=macvlan driver_opts="{'parent':'eth0'}" gateway=172.20.0.1 subnet=172.20.0.0/24
97708                 # IPv4 and IPv6
97709                 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"}]'
97710
97711       salt.modules.dockermod.create_volume(name,                 driver=None,
97712       driver_opts=None)
97713              Create a new volume
97714
97715              New in version 2015.8.4.
97716
97717
97718              name   name of volume
97719
97720              driver Driver of the volume
97721
97722              driver_opts
97723                     Options for the driver volume
97724
97725              CLI Example:
97726
97727                 salt myminion docker.create_volume my_volume driver=local
97728
97729       salt.modules.dockermod.dangling(prune=False, force=False)
97730              Return top-level images (those on which no other images  depend)
97731              which do not have a tag assigned to them. These include:
97732
97733              · Images which were once tagged but were later untagged, such as
97734                those which were superseded by committing a  new  copy  of  an
97735                existing tagged image.
97736
97737              · Images which were loaded using docker.load (or the docker load
97738                Docker CLI command), but not tagged.
97739
97740              prune  False Remove these images
97741
97742              force  False If True, and if prune=True,  then  forcibly  remove
97743                     these images.
97744
97745              RETURN DATA
97746
97747              If prune=False, the return data will be a list of dangling image
97748              IDs.
97749
97750              If prune=True, the return data will be a  dictionary  with  each
97751              key being the ID of the dangling image, and the following infor‐
97752              mation for each image:
97753
97754              · Comment - Any error encountered when trying to  prune  a  dan‐
97755                gling image
97756
97757                (Only present if prune failed)
97758
97759              · Removed  -  A  boolean (True if prune was successful, False if
97760                not)
97761
97762              CLI Example:
97763
97764                 salt myminion docker.dangling
97765                 salt myminion docker.dangling prune=True
97766
97767       salt.modules.dockermod.depends(name)
97768              Returns the containers and images, if any, which depend  on  the
97769              given image
97770
97771              name   Name or ID of image
97772
97773              RETURN DATA
97774
97775              A dictionary containing the following keys:
97776
97777              · Containers  -  A list of containers which depend on the speci‐
97778                fied image
97779
97780              · Images - A list of IDs of images which depend on the specified
97781                image
97782
97783              CLI Example:
97784
97785                 salt myminion docker.depends myimage
97786                 salt myminion docker.depends 0123456789ab
97787
97788       salt.modules.dockermod.diff(name)
97789              Get  information on changes made to container's filesystem since
97790              it was created. Equivalent to running the docker diff Docker CLI
97791              command.
97792
97793              name   Container name or ID
97794
97795              RETURN DATA
97796
97797              A dictionary containing any of the following keys:
97798
97799              · Added - A list of paths that were added.
97800
97801              · Changed - A list of paths that were changed.
97802
97803              · Deleted - A list of paths that were deleted.
97804
97805              These keys will only be present if there were changes, so if the
97806              container has no differences the return dict will be empty.
97807
97808              CLI Example:
97809
97810                 salt myminion docker.diff mycontainer
97811
97812       salt.modules.dockermod.disconnect_all_containers_from_network(net‐
97813       work_id)
97814              New in version 2018.3.0.
97815
97816
97817              Runs  docker.disconnect_container_from_network on all containers
97818              connected to the specified network, and returns the names of all
97819              containers that were disconnected.
97820
97821              network_id
97822                     Network name or ID
97823
97824              CLI Examples:
97825
97826                 salt myminion docker.disconnect_all_containers_from_network mynet
97827                 salt myminion docker.disconnect_all_containers_from_network 1f9d2454d0872b68dd9e8744c6e7a4c66b86f10abaccc21e14f7f014f729b2bc
97828
97829       salt.modules.dockermod.disconnect_container_from_network(container,
97830       network_id)
97831              New in version 2015.8.3.
97832
97833
97834              Disconnect container from network
97835
97836              container
97837                     Container name or ID
97838
97839              network_id
97840                     Network name or ID
97841
97842              CLI Examples:
97843
97844                 salt myminion docker.disconnect_container_from_network web-1 mynet
97845                 salt myminion docker.disconnect_container_from_network web-1 1f9d2454d0872b68dd9e8744c6e7a4c66b86f10abaccc21e14f7f014f729b2bc
97846
97847       salt.modules.dockermod.exists(name)
97848              Check if a given container exists
97849
97850              name   Container name or ID
97851
97852              RETURN DATA
97853
97854              A boolean (True if the container exists, otherwise False)
97855
97856              CLI Example:
97857
97858                 salt myminion docker.exists mycontainer
97859
97860       salt.modules.dockermod.export(name,       path,        overwrite=False,
97861       makedirs=False, compression=None, **kwargs)
97862              Exports  a  container  to  a tar archive. It can also optionally
97863              compress that tar archive, and push it up to the Master.
97864
97865              name   Container name or ID
97866
97867              path   Absolute path on the Minion where the container  will  be
97868                     exported
97869
97870              overwrite
97871                     False  Unless  this option is set to True, then if a file
97872                     exists at the location specified by the path argument, an
97873                     error will be raised.
97874
97875              makedirs
97876                     False  If  True, then if the parent directory of the file
97877                     specified by the path argument does not exist, Salt  will
97878                     attempt to create it.
97879
97880              compression
97881                     None Can be set to any of the following:
97882
97883                     · gzip or gz for gzip compression
97884
97885                     · bzip2 or bz2 for bzip2 compression
97886
97887                     · xz  or  lzma  for XZ compression (requires xz-utils, as
97888                       well as the lzma module from Python 3.3,  available  in
97889                       Python 2 and Python 3.0-3.2 as backports.lzma)
97890
97891                     This  parameter  can  be omitted and Salt will attempt to
97892                     determine the compression type by examining the  filename
97893                     passed in the path parameter.
97894
97895              push   False If True, the container will be pushed to the master
97896                     using cp.push.
97897
97898                     NOTE:
97899                        This requires file_recv to be set to True on the  Mas‐
97900                        ter.
97901
97902              RETURN DATA
97903
97904              A dictionary will containing the following keys:
97905
97906              · Path - Path of the file that was exported
97907
97908              · Push - Reports whether or not the file was successfully pushed
97909                to the Master
97910
97911                (Only present if push=True)
97912
97913              · Size - Size of the file, in bytes
97914
97915              · Size_Human - Size of the file, in human-readable units
97916
97917              · Time_Elapsed - Time in seconds taken to perform the export
97918
97919              CLI Examples:
97920
97921                 salt myminion docker.export mycontainer /tmp/mycontainer.tar
97922                 salt myminion docker.export mycontainer /tmp/mycontainer.tar.xz push=True
97923
97924       salt.modules.dockermod.get_client_args(limit=None)
97925              New in version 2016.3.6,2016.11.4,2017.7.0.
97926
97927
97928              Changed in version 2017.7.0: Replaced the container config  args
97929              with the ones from the API's create_container function.
97930
97931
97932              Changed in version 2018.3.0: Added ability to limit the input to
97933              specific client functions
97934
97935
97936              Many functions in Salt have been written  to  support  the  full
97937              list  of  arguments  for  a  given  function  in  the  docker-py
97938              Low-level API. However, depending on the  version  of  docker-py
97939              installed  on  the  minion,  the available arguments may differ.
97940              This function will get the arguments for  various  functions  in
97941              the installed version of docker-py, to be used as a reference.
97942
97943              limit  An  optional  list  of  categories for which to limit the
97944                     return. This is useful if only a specific  set  of  argu‐
97945                     ments   is  desired,  and  also  keeps  other  function's
97946                     argspecs from needlessly being examined.
97947
97948              AVAILABLE LIMITS
97949
97950              · create_container - arguments  accepted  by  create_container()
97951                (used by docker.create)
97952
97953              · host_config - arguments accepted by create_host_config() (used
97954                to build the host config for docker.create)
97955
97956              · connect_container_to_network    -    arguments     used     by
97957                connect_container_to_network() to construct an endpoint config
97958                when     connecting     to     a     network     (used      by
97959                docker.connect_container_to_network)
97960
97961              · create_network  - arguments accepted by create_network() (used
97962                by docker.create_network)
97963
97964              · ipam_config - arguments used to create an IPAM pool  (used  by
97965                docker.create_network  in  the process of constructing an IPAM
97966                config dictionary)
97967
97968              CLI Example:
97969
97970                 salt myminion docker.get_client_args
97971                 salt myminion docker.get_client_args logs
97972                 salt myminion docker.get_client_args create_container,connect_container_to_network
97973
97974       salt.modules.dockermod.highstate(name, saltenv='base', **kwargs)
97975              Apply a highstate to the running container
97976
97977              New in version Fluorine.
97978
97979
97980              The container does not need to have Salt installed,  but  Python
97981              is required.
97982
97983              name   Container name or ID
97984
97985              saltenv
97986                     base  Specify  the environment from which to retrieve the
97987                     SLS indicated by the mods parameter.
97988
97989              CLI Example:
97990
97991                 salt myminion docker.highstate compassionate_mirzakhani
97992
97993       salt.modules.dockermod.history(name, quiet=False)
97994              Return the history for  an  image.  Equivalent  to  running  the
97995              docker history Docker CLI command.
97996
97997              name   Container name or ID
97998
97999              quiet  False  If  True, the return data will simply be a list of
98000                     the commands run to build the container.
98001
98002                        $ salt myminion docker.history nginx:latest quiet=True
98003                        myminion:
98004                            - FROM scratch
98005                            - ADD file:ef063ed0ae9579362871b9f23d2bc0781ef7cd4de6ac822052cf6c9c5a12b1e2 in /
98006                            - CMD [/bin/bash]
98007                            - MAINTAINER NGINX Docker Maintainers "docker-maint@nginx.com"
98008                            - apt-key adv --keyserver pgp.mit.edu --recv-keys 573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62
98009                            - echo "deb http://nginx.org/packages/mainline/debian/ wheezy nginx" >> /etc/apt/sources.list
98010                            - ENV NGINX_VERSION=1.7.10-1~wheezy
98011                            - apt-get update &&     apt-get install -y ca-certificates nginx=${NGINX_VERSION} &&     rm -rf /var/lib/apt/lists/*
98012                            - ln -sf /dev/stdout /var/log/nginx/access.log
98013                            - ln -sf /dev/stderr /var/log/nginx/error.log
98014                            - VOLUME [/var/cache/nginx]
98015                            - EXPOSE map[80/tcp:{} 443/tcp:{}]
98016                            - CMD [nginx -g daemon off;]
98017                                    https://github.com/saltstack/salt/pull/22421
98018
98019              RETURN DATA
98020
98021              If quiet=False, the return value will be a list of  dictionaries
98022              containing information about each step taken to build the image.
98023              The keys in each step include the following:
98024
98025              · Command - The command executed in this build step
98026
98027              · Id - Layer ID
98028
98029              · Size - Cumulative image size, in bytes
98030
98031              · Size_Human - Cumulative image size, in human-readable units
98032
98033              · Tags - Tag(s) assigned to this layer
98034
98035              · Time_Created_Epoch - Time this build step was completed (Epoch
98036                time)
98037
98038              · Time_Created_Local  - Time this build step was completed (Min‐
98039                ion's local timezone)
98040
98041              CLI Example:
98042
98043                 salt myminion docker.exists mycontainer
98044
98045       salt.modules.dockermod.images(verbose=False, **kwargs)
98046              Returns information about  the  Docker  images  on  the  Minion.
98047              Equivalent to running the docker images Docker CLI command.
98048
98049              all    False If True, untagged images will also be returned
98050
98051              verbose
98052                     False If True, a docker inspect will be run on each image
98053                     returned.
98054
98055              RETURN DATA
98056
98057              A dictionary with each key being an image  ID,  and  each  value
98058              some  general  info  about  that image (time created, size, tags
98059              associated with the image, etc.)
98060
98061              CLI Example:
98062
98063                 salt myminion docker.images
98064                 salt myminion docker.images all=True
98065
98066       salt.modules.dockermod.import_(source,    repository,     tag='latest',
98067       api_response=False, image=None)
98068              Changed  in version 2018.3.0: The repository and tag must now be
98069              passed separately using the repository and tag arguments, rather
98070              than together in the (now deprecated) image argument.
98071
98072
98073              Imports  content  from  a local tarball or a URL as a new docker
98074              image
98075
98076              source Content to import (URL or absolute path  to  a  tarball).
98077                     URL   can   be  a  file  on  the  Salt  fileserver  (i.e.
98078                     salt://path/to/rootfs/tarball.tar.xz. To  import  a  file
98079                     from a saltenv other than base (e.g. dev), pass it at the
98080                     end   of   the   URL   (ex.    salt://path/to/rootfs/tar‐
98081                     ball.tar.xz?saltenv=dev).
98082
98083              repository
98084                     Repository name for the image being imported
98085
98086                     New in version 2018.3.0.
98087
98088
98089              tag    latest Tag name for the image
98090
98091                     New in version 2018.3.0.
98092
98093
98094              image  Deprecated  since  version  2018.3.0: Use both repository
98095                     and tag instead
98096
98097
98098              api_response
98099                     False If True an api_response key will be present in  the
98100                     return  data,  containing  the raw output from the Docker
98101                     API.
98102
98103              RETURN DATA
98104
98105              A dictionary containing the following keys:
98106
98107              · Id - ID of the newly-created image
98108
98109              · Image - Name of the newly-created image
98110
98111              · Time_Elapsed - Time in seconds taken to perform the commit
98112
98113              CLI Example:
98114
98115                 salt myminion docker.import /tmp/cent7-minimal.tar.xz myuser/centos
98116                 salt myminion docker.import /tmp/cent7-minimal.tar.xz myuser/centos:7
98117                 salt myminion docker.import salt://dockerimages/cent7-minimal.tar.xz myuser/centos:7
98118
98119       salt.modules.dockermod.info()
98120              Returns a dictionary of system-wide information.  Equivalent  to
98121              running the docker info Docker CLI command.
98122
98123              CLI Example:
98124
98125                 salt myminion docker.info
98126
98127       salt.modules.dockermod.inspect(name)
98128              Changed  in  version  2017.7.0:  Volumes  and  networks  are now
98129              checked, in addition to containers and images.
98130
98131
98132              This is a generic container/image/volume/network inspecton func‐
98133              tion. It will run the following functions in order:
98134
98135              · docker.inspect_container
98136
98137              · docker.inspect_image
98138
98139              · docker.inspect_volume
98140
98141              · docker.inspect_network
98142
98143              The first of these to find a match will be returned.
98144
98145              name   Container/image/volume/network name or ID
98146
98147              RETURN DATA
98148
98149              A dictionary of container/image/volume/network information
98150
98151              CLI Example:
98152
98153                 salt myminion docker.inspect mycontainer
98154                 salt myminion docker.inspect busybox
98155
98156       salt.modules.dockermod.inspect_container(name)
98157              Retrieves  container  information.  Equivalent  to  running  the
98158              docker inspect Docker CLI command, but will only look  for  con‐
98159              tainer information.
98160
98161              name   Container name or ID
98162
98163              RETURN DATA
98164
98165              A dictionary of container information
98166
98167              CLI Example:
98168
98169                 salt myminion docker.inspect_container mycontainer
98170                 salt myminion docker.inspect_container 0123456789ab
98171
98172       salt.modules.dockermod.inspect_image(name)
98173              Retrieves  image  information.  Equivalent to running the docker
98174              inspect Docker CLI command, but will only look for image  infor‐
98175              mation.
98176
98177              NOTE:
98178                 To inspect an image, it must have been pulled from a registry
98179                 or built locally. Images on a Docker registry which have  not
98180                 been pulled cannot be inspected.
98181
98182              name   Image name or ID
98183
98184              RETURN DATA
98185
98186              A dictionary of image information
98187
98188              CLI Examples:
98189
98190                 salt myminion docker.inspect_image busybox
98191                 salt myminion docker.inspect_image centos:6
98192                 salt myminion docker.inspect_image 0123456789ab
98193
98194       salt.modules.dockermod.inspect_network(network_id)
98195              Inspect Network
98196
98197              network_id
98198                     ID of network
98199
98200              CLI Example:
98201
98202                 salt myminion docker.inspect_network 1f9d2454d0872b68dd9e8744c6e7a4c66b86f10abaccc21e14f7f014f729b2bc
98203
98204       salt.modules.dockermod.inspect_volume(name)
98205              Inspect Volume
98206
98207              New in version 2015.8.4.
98208
98209
98210              name   Name of volume
98211
98212              CLI Example:
98213
98214                 salt myminion docker.inspect_volume my_volume
98215
98216       salt.modules.dockermod.kill(*args, **kwargs)
98217              Kill  all processes in a running container instead of performing
98218              a graceful shutdown
98219
98220              name   Container name or ID
98221
98222              RETURN DATA
98223
98224              A dictionary will be returned, containing the following keys:
98225
98226              · status - A dictionary showing the prior state of the container
98227                as well as the new state
98228
98229              · result  -  A boolean noting whether or not the action was suc‐
98230                cessful
98231
98232              · comment - Only present if the container cannot be killed
98233
98234              CLI Example:
98235
98236                 salt myminion docker.kill mycontainer
98237
98238       salt.modules.dockermod.layers(name)
98239              Returns a list of the IDs of layers belonging to  the  specified
98240              image,  with  the  top-most  layer  (the one correspnding to the
98241              passed name) appearing last.
98242
98243              name   Image name or ID
98244
98245              CLI Example:
98246
98247                 salt myminion docker.layers centos:7
98248
98249       salt.modules.dockermod.list_containers(**kwargs)
98250              Returns a list of containers by name.  This  is  different  from
98251              docker.ps  in  that  docker.ps  returns its results organized by
98252              container ID.
98253
98254              all    False If True, stopped containers  will  be  included  in
98255                     return data
98256
98257              CLI Example:
98258
98259                 salt myminion docker.inspect_image <image>
98260
98261       salt.modules.dockermod.list_tags()
98262              Returns a list of tagged images
98263
98264              CLI Example:
98265
98266                 salt myminion docker.list_tags
98267
98268       salt.modules.dockermod.load(path,       repository=None,      tag=None,
98269       image=None)
98270              Changed in version 2018.3.0:  If  the  loaded  image  should  be
98271              tagged,  then  the  repository  and tag must now be passed sepa‐
98272              rately using the  repository  and  tag  arguments,  rather  than
98273              together in the (now deprecated) image argument.
98274
98275
98276              Load  a  tar  archive that was created using docker.save (or via
98277              the Docker CLI using docker save).
98278
98279              path   Path to docker tar archive. Path can be  a  file  on  the
98280                     Minion, or the URL of a file on the Salt fileserver (i.e.
98281                     salt://path/to/docker/saved/image.tar). To  load  a  file
98282                     from a saltenv other than base (e.g. dev), pass it at the
98283                     end   of   the   URL   (ex.    salt://path/to/rootfs/tar‐
98284                     ball.tar.xz?saltenv=dev).
98285
98286              repository
98287                     If specified, the topmost layer of the newly-loaded image
98288                     will be tagged with the specified repo using  docker.tag.
98289                     If  a  repository name is provided, then the tag argument
98290                     is also required.
98291
98292                     New in version 2018.3.0.
98293
98294
98295              tag    Tag name to go along with the  repository  name,  if  the
98296                     loaded image is to be tagged.
98297
98298                     New in version 2018.3.0.
98299
98300
98301              image  Deprecated  since  version  2018.3.0: Use both repository
98302                     and tag instead
98303
98304
98305              RETURN DATA
98306
98307              A dictionary will be returned, containing the following keys:
98308
98309              · Path - Path of the file that was saved
98310
98311              · Layers - A list containing the IDs of the  layers  which  were
98312                loaded.   Any  layers  in the file that was loaded, which were
98313                already present on the Minion, will not be included.
98314
98315              · Image - Name of tag applied to topmost layer
98316
98317                (Only present if tag was specified and tagging was successful)
98318
98319              · Time_Elapsed - Time in seconds taken to load the file
98320
98321              · Warning -  Message  describing  any  problems  encountered  in
98322                attemp to tag the topmost layer
98323
98324                (Only present if tag was specified and tagging failed)
98325
98326              CLI Example:
98327
98328                 salt myminion docker.load /path/to/image.tar
98329                 salt myminion docker.load salt://path/to/docker/saved/image.tar repository=myuser/myimage tag=mytag
98330
98331       salt.modules.dockermod.login(*registries)
98332              New in version 2016.3.7,2016.11.4,2017.7.0.
98333
98334
98335              Performs  a  docker login to authenticate to one or more config‐
98336              ured repositories. See the documentation at the top of this page
98337              to configure authentication credentials.
98338
98339              Multiple registry URLs (matching those configured in Pillar) can
98340              be passed, and Salt will attempt to login  to  just  those  reg‐
98341              istries.  If no registry URLs are provided, Salt will attempt to
98342              login to all configured registries.
98343
98344              RETURN DATA
98345
98346              A dictionary containing the following keys:
98347
98348              · Results - A dictionary mapping registry URLs to the  authenti‐
98349                cation  result.  True  means a successful login, False means a
98350                failed login.
98351
98352              · Errors - A list of errors encountered  during  the  course  of
98353                this function.
98354
98355              CLI Example:
98356
98357                 salt myminion docker.login
98358                 salt myminion docker.login hub
98359                 salt myminion docker.login hub https://mydomain.tld/registry/
98360
98361       salt.modules.dockermod.logs(name, **kwargs)
98362              Changed  in  version  2018.3.0:  Support  for all of docker-py's
98363              logs() function's arguments, with the exception of stream.
98364
98365
98366              Returns the logs for the container. An interface to  docker-py's
98367              logs() function.
98368
98369              name   Container name or ID
98370
98371              stdout True Return stdout lines
98372
98373              stderr True Return stdout lines
98374
98375              timestamps
98376                     False Show timestamps
98377
98378              tail   all  Output specified number of lines at the end of logs.
98379                     Either an integer number of lines or the string all.
98380
98381              since  Show logs since the specified  time,  passed  as  a  UNIX
98382                     epoch  timestamp.  Optionally, if timelib is installed on
98383                     the minion the timestamp can be passed as a string  which
98384                     will be resolved to a date using timelib.strtodatetime().
98385
98386              follow False  If  True,  this function will block until the con‐
98387                     tainer exits and  return  the  logs  when  it  does.  The
98388                     default  behavior  is to return what is in the log at the
98389                     time this function is executed.
98390
98391              CLI Examples:
98392
98393                 # All logs
98394                 salt myminion docker.logs mycontainer
98395                 # Last 100 lines of log
98396                 salt myminion docker.logs mycontainer tail=100
98397                 # Just stderr
98398                 salt myminion docker.logs mycontainer stdout=False
98399                 # Logs since a specific UNIX timestamp
98400                 salt myminion docker.logs mycontainer since=1511688459
98401                 # Flexible format for "since" argument (requires timelib)
98402                 salt myminion docker.logs mycontainer since='1 hour ago'
98403                 salt myminion docker.logs mycontainer since='1 week ago'
98404                 salt myminion docker.logs mycontainer since='1 fortnight ago'
98405
98406       salt.modules.dockermod.networks(names=None, ids=None)
98407              Changed in version 2017.7.0: The names and ids can be passed  as
98408              a comma-separated list now, as well as a Python list.
98409
98410
98411              Changed in version 2018.3.0: The Containers key for each network
98412              is no longer always empty.
98413
98414
98415              List existing networks
98416
98417              names  Filter by name
98418
98419              ids    Filter by id
98420
98421              CLI Example:
98422
98423                 salt myminion docker.networks names=network-web
98424                 salt myminion docker.networks ids=1f9d2454d0872b68dd9e8744c6e7a4c66b86f10abaccc21e14f7f014f729b2bc
98425
98426       salt.modules.dockermod.pause(*args, **kwargs)
98427              Pauses a container
98428
98429              name   Container name or ID
98430
98431              RETURN DATA
98432
98433              A dictionary will be returned, containing the following keys:
98434
98435              · status - A dictionary showing the prior state of the container
98436                as well as the new state
98437
98438              · result  -  A boolean noting whether or not the action was suc‐
98439                cessful
98440
98441              · comment - Only present if the container cannot be paused
98442
98443              CLI Example:
98444
98445                 salt myminion docker.pause mycontainer
98446
98447       salt.modules.dockermod.pid(name)
98448              Returns the PID of a container
98449
98450              name   Container name or ID
98451
98452              CLI Example:
98453
98454                 salt myminion docker.pid mycontainer
98455                 salt myminion docker.pid 0123456789ab
98456
98457       salt.modules.dockermod.port(name, private_port=None)
98458              Returns port mapping information for a given container.  Equiva‐
98459              lent to running the docker port Docker CLI command.
98460
98461              name   Container name or ID
98462
98463                     Changed in version Fluorine: This value can now be a pat‐
98464                     tern expression (using  the  pattern-matching  characters
98465                     defined  in  fnmatch).  If  a pattern expression is used,
98466                     this function will return a dictionary mapping  container
98467                     names  which  match the pattern to the mappings for those
98468                     containers. When no pattern expression is used, a dictio‐
98469                     nary  of  the  mappings  for the specified container name
98470                     will be returned.
98471
98472
98473              private_port
98474                     None If specified,  get  information  for  that  specific
98475                     port.  Can  be  specified  either  as a port number (i.e.
98476                     5000), or as  a  port  number  plus  the  protocol  (i.e.
98477                     5000/udp).
98478
98479                     If  this  argument  is omitted, all port mappings will be
98480                     returned.
98481
98482              RETURN DATA
98483
98484              A dictionary of port mappings, with the keys being the port  and
98485              the values being the mapping(s) for that port.
98486
98487              CLI Examples:
98488
98489                 salt myminion docker.port mycontainer
98490                 salt myminion docker.port mycontainer 5000
98491                 salt myminion docker.port mycontainer 5000/udp
98492
98493       salt.modules.dockermod.prune(containers=False,          networks=False,
98494       images=False, build=False, volumes=False, system=None, **filters)
98495              New in version Fluorine.
98496
98497
98498              Prune Docker's various subsystems
98499
98500              NOTE:
98501                 This requires docker-py version 2.1.0 or later.
98502
98503              containers
98504                     False If True, prunes stopped containers (documentation)
98505
98506              images False If True, prunes unused images (documentation)
98507
98508              networks
98509                     False  If  False,   prunes   unreferenced   networks   (‐
98510                     documentation)
98511
98512              build  False If True, clears the builder cache
98513
98514                     NOTE:
98515                        Only  supported in Docker 17.07.x and newer. Addition‐
98516                        ally, filters do not apply to this argument.
98517
98518              volumes
98519                     False   If   True,   prunes   unreferenced   volumes   (‐
98520                     documentation)
98521
98522              system If True, prunes containers, images, networks, and builder
98523                     cache.  Assumed to be True if none of containers, images,
98524                     networks, or build are set to True.
98525
98526                     NOTE:
98527                        volumes=True must still be used to prune volumes
98528
98529              filters
98530
98531                     · dangling=True  (images  only)  -  remove  only dangling
98532                       images
98533
98534                     · until=<timestamp> - only remove objects created  before
98535                       given  timestamp.  Not  applicable  to volumes. See the
98536                       documentation links above for examples  of  valid  time
98537                       expressions.
98538
98539                     · label  - only remove objects matching the label expres‐
98540                       sion. Valid expressions  include  labelname  or  label‐
98541                       name=value.
98542
98543              CLI Examples:
98544
98545                 salt myminion docker.prune system=True
98546                 salt myminion docker.prune system=True until=12h
98547                 salt myminion docker.prune images=True dangling=True
98548                 salt myminion docker.prune images=True label=foo,bar=baz
98549
98550       salt.modules.dockermod.ps_(filters=None, **kwargs)
98551              Returns  information  about the Docker containers on the Minion.
98552              Equivalent to running the docker ps Docker CLI command.
98553
98554              all    False If True, stopped containers will also be returned
98555
98556              host: False
98557                     If True, local host's network topology will be included
98558
98559              verbose
98560                     False If True, a docker inspect will be run on each  con‐
98561                     tainer returned.
98562
98563              filters: None
98564                     A  dictionary of filters to be processed on the container
98565                     list.  Available filters:
98566
98567                        · exited (int): Only containers  with  specified  exit
98568                          code
98569
98570                        · status  (str):  One  of restarting, running, paused,
98571                          exited
98572
98573                        · label (str): format either "key" or "key=value"
98574
98575              RETURN DATA
98576
98577              A dictionary with each key being an container ID, and each value
98578              some general info about that container (time created, name, com‐
98579              mand, etc.)
98580
98581              CLI Example:
98582
98583                 salt myminion docker.ps
98584                 salt myminion docker.ps all=True
98585                 salt myminion docker.ps filters="{'label': 'role=web'}"
98586
98587       salt.modules.dockermod.pull(image,             insecure_registry=False,
98588       api_response=False, client_timeout=60)
98589              Changed in version 2018.3.0: If no tag is specified in the image
98590              argument, all tags for the image will be pulled. For this reason
98591              is it recommended to pass image using the repo:tag notation.
98592
98593
98594              Pulls an image from a Docker registry
98595
98596              image  Image to be pulled
98597
98598              insecure_registry
98599                     False  If  True, the Docker client will permit the use of
98600                     insecure (non-HTTPS) registries.
98601
98602              api_response
98603                     False If True, an API_Response key will be present in the
98604                     return  data,  containing  the raw output from the Docker
98605                     API.
98606
98607                     NOTE:
98608                        This may result in a lot of  additional  return  data,
98609                        especially for larger images.
98610
98611              client_timeout
98612                     Timeout  in  seconds for the Docker client. This is not a
98613                     timeout for this function, but for receiving  a  response
98614                     from the API.
98615
98616              RETURN DATA
98617
98618              A dictionary will be returned, containing the following keys:
98619
98620              ·
98621
98622                Layers  - A dictionary containing one or more of the following
98623                keys:
98624
98625                       · Already_Pulled  -  Layers  that  that  were   already
98626                         present on the Minion
98627
98628                       · Pulled - Layers that that were pulled
98629
98630              · Status  -  A  string  containing  a summary of the pull action
98631                (usually a message saying that an  image  was  downloaded,  or
98632                that it was up to date).
98633
98634              · Time_Elapsed - Time in seconds taken to perform the pull
98635
98636              CLI Example:
98637
98638                 salt myminion docker.pull centos
98639                 salt myminion docker.pull centos:6
98640
98641       salt.modules.dockermod.push(image,             insecure_registry=False,
98642       api_response=False, client_timeout=60)
98643              Changed in version 2015.8.4: The Id and Image keys are no longer
98644              present  in  the  return  data.   This  is due to changes in the
98645              Docker Remote API.
98646
98647
98648              Pushes an image to a Docker registry. See the  documentation  at
98649              top of this page to configure authentication credentials.
98650
98651              image  Image  to  be  pushed.  If  just  the  repository name is
98652                     passed, then all tagged images  for  the  specified  repo
98653                     will  be  pushed. If the image name is passed in repo:tag
98654                     notation, only the specified image will be pushed.
98655
98656              insecure_registry
98657                     False If True, the Docker client will permit the  use  of
98658                     insecure (non-HTTPS) registries.
98659
98660              api_response
98661                     False If True, an API_Response key will be present in the
98662                     return data, containing the raw output  from  the  Docker
98663                     API.
98664
98665              client_timeout
98666                     Timeout  in  seconds for the Docker client. This is not a
98667                     timeout for this function, but for receiving  a  response
98668                     from the API.
98669
98670              RETURN DATA
98671
98672              A dictionary will be returned, containing the following keys:
98673
98674              ·
98675
98676                Layers  - A dictionary containing one or more of the following
98677                keys:
98678
98679                       · Already_Pushed  -  Layers  that  that  were   already
98680                         present on the Minion
98681
98682                       · Pushed - Layers that that were pushed
98683
98684              · Time_Elapsed - Time in seconds taken to perform the push
98685
98686              CLI Example:
98687
98688                 salt myminion docker.push myuser/mycontainer
98689                 salt myminion docker.push myuser/mycontainer:mytag
98690
98691       salt.modules.dockermod.remove_network(network_id)
98692              Remove a network
98693
98694              network_id
98695                     Network name or ID
98696
98697              CLI Examples:
98698
98699                 salt myminion docker.remove_network mynet
98700                 salt myminion docker.remove_network 1f9d2454d0872b68dd9e8744c6e7a4c66b86f10abaccc21e14f7f014f729b2bc
98701
98702       salt.modules.dockermod.remove_volume(name)
98703              Remove a volume
98704
98705              New in version 2015.8.4.
98706
98707
98708              name   Name of volume
98709
98710              CLI Example:
98711
98712                 salt myminion docker.remove_volume my_volume
98713
98714       salt.modules.dockermod.rename(name, new_name)
98715              New in version 2017.7.0.
98716
98717
98718              Renames  a  container. Returns True if successful, and raises an
98719              error if the API  returns  one.  If  unsuccessful  and  the  API
98720              returns  no  error  (should  not  happen),  then  False  will be
98721              returned.
98722
98723              name   Name or ID of existing container
98724
98725              new_name
98726                     New name to assign to container
98727
98728              CLI Example:
98729
98730                 salt myminion docker.rename foo bar
98731
98732       salt.modules.dockermod.resolve_image_id(name)
98733              New in version 2018.3.0.
98734
98735
98736              Given an image name (or partial image ID), return the full image
98737              ID.  If  no match is found among the locally-pulled images, then
98738              False will be returned.
98739
98740              CLI Examples:
98741
98742                 salt myminion docker.resolve_image_id foo
98743                 salt myminion docker.resolve_image_id foo:bar
98744                 salt myminion docker.resolve_image_id 36540f359ca3
98745
98746       salt.modules.dockermod.resolve_tag(name, tags=None, **kwargs)
98747              New in version 2017.7.2.
98748
98749
98750              Changed in version 2018.3.0: Instead of matching against  pulled
98751              tags  using  docker.list_tags, this function now simply inspects
98752              the passed image name using docker.inspect_image and returns the
98753              first matching tag. If no matching tags are found, it is assumed
98754              that the passed image is an untagged image ID, and the  full  ID
98755              is returned.
98756
98757
98758              Inspects the specified image name and returns the first matching
98759              tag in the inspect results. If the specified image is not pulled
98760              locally, this function will return False.
98761
98762              name   Image  name  to  resolve. If the image is found but there
98763                     are no tags, this means that the image name passed was an
98764                     untagged  image.  In  this  case  the  image  ID  will be
98765                     returned.
98766
98767              all    False If True, a  list  of  all  matching  tags  will  be
98768                     returned.  If  the  image is found but there are no tags,
98769                     then a list will still be returned, but  it  will  simply
98770                     contain the image ID.
98771
98772                     New in version 2018.3.0.
98773
98774
98775              tags   Deprecated  since  version  2018.3.0:  Ignored if passed,
98776                     will be removed in the Neon release.
98777
98778
98779              CLI Examples:
98780
98781                 salt myminion docker.resolve_tag busybox
98782                 salt myminion docker.resolve_tag centos:7 all=True
98783                 salt myminion docker.resolve_tag c9f378ac27d9
98784
98785       salt.modules.dockermod.restart(name, timeout=10)
98786              Restarts a container
98787
98788              name   Container name or ID
98789
98790              timeout
98791                     10 Timeout in seconds after which the container  will  be
98792                     killed (if it has not yet gracefully shut down)
98793
98794              RETURN DATA
98795
98796              A dictionary will be returned, containing the following keys:
98797
98798              · status - A dictionary showing the prior state of the container
98799                as well as the new state
98800
98801              · result - A boolean noting whether or not the action  was  suc‐
98802                cessful
98803
98804              · restarted  -  If  restart  was  successful,  this  key will be
98805                present and will be set to True.
98806
98807              CLI Examples:
98808
98809                 salt myminion docker.restart mycontainer
98810                 salt myminion docker.restart mycontainer timeout=20
98811
98812       salt.modules.dockermod.retcode(name, cmd, exec_driver=None, stdin=None,
98813       python_shell=True,  output_loglevel='debug',  use_vt=False, ignore_ret‐
98814       code=False, keep_env=None)
98815              Run cmd.retcode within a container
98816
98817              name   Container name or ID in which to run the command
98818
98819              cmd    Command to run
98820
98821              exec_driver
98822                     None If not passed, the execution driver will be detected
98823                     as described above.
98824
98825              stdin  None Standard input to be used for the command
98826
98827              output_loglevel
98828                     debug  Level at which to log the output from the command.
98829                     Set to quiet to suppress logging.
98830
98831              use_vt False Use SaltStack's utils.vt to stream output  to  con‐
98832                     sole.
98833
98834              keep_env
98835                     None  If not passed, only a sane default PATH environment
98836                     variable will be set. If True, all environment  variables
98837                     from  the  container's  host  will  be kept. Otherwise, a
98838                     comma-separated list  (or  Python  list)  of  environment
98839                     variable names can be passed, and those environment vari‐
98840                     ables will be kept.
98841
98842              CLI Example:
98843
98844                 salt myminion docker.retcode mycontainer 'ls -l /etc'
98845
98846       salt.modules.dockermod.rm_(*args, **kwargs)
98847              Removes a container
98848
98849              name   Container name or ID
98850
98851              force  False If True, the container will be killed first  before
98852                     removal, as the Docker API will not permit a running con‐
98853                     tainer to be removed. This option  is  set  to  False  by
98854                     default  to  prevent accidental removal of a running con‐
98855                     tainer.
98856
98857              stop   False If True, the container will be stopped first before
98858                     removal, as the Docker API will not permit a running con‐
98859                     tainer to be removed. This option  is  set  to  False  by
98860                     default  to  prevent accidental removal of a running con‐
98861                     tainer.
98862
98863                     New in version 2017.7.0.
98864
98865
98866              timeout
98867                     Optional timeout to be passed to docker.stop if  stopping
98868                     the container.
98869
98870                     New in version 2018.3.0.
98871
98872
98873              volumes
98874                     False Also remove volumes associated with container
98875
98876              RETURN DATA
98877
98878              A list of the IDs of containers which were removed
98879
98880              CLI Example:
98881
98882                 salt myminion docker.rm mycontainer
98883                 salt myminion docker.rm mycontainer force=True
98884
98885       salt.modules.dockermod.rmi(*names, **kwargs)
98886              Removes an image
98887
98888              name   Name (in repo:tag notation) or ID of image.
98889
98890              force  False If True, the image will be removed even if the Min‐
98891                     ion has containers created from that image
98892
98893              prune  True If  True,  untagged  parent  image  layers  will  be
98894                     removed as well, set this to False to keep them.
98895
98896              RETURN DATA
98897
98898              A  dictionary  will  be  returned,  containing the following two
98899              keys:
98900
98901              · Layers - A list of the IDs of image layers that were removed
98902
98903              · Tags - A list of the tags that were removed
98904
98905              · Errors - A list of any errors that were encountered
98906
98907              CLI Examples:
98908
98909                 salt myminion docker.rmi busybox
98910                 salt myminion docker.rmi busybox force=True
98911                 salt myminion docker.rmi foo bar baz
98912
98913       salt.modules.dockermod.run(name,  cmd,  exec_driver=None,   stdin=None,
98914       python_shell=True,  output_loglevel='debug',  use_vt=False, ignore_ret‐
98915       code=False, keep_env=None)
98916              Run cmd.run within a container
98917
98918              name   Container name or ID in which to run the command
98919
98920              cmd    Command to run
98921
98922              exec_driver
98923                     None If not passed, the execution driver will be detected
98924                     as described above.
98925
98926              stdin  None Standard input to be used for the command
98927
98928              output_loglevel
98929                     debug  Level at which to log the output from the command.
98930                     Set to quiet to suppress logging.
98931
98932              use_vt False Use SaltStack's utils.vt to stream output  to  con‐
98933                     sole.
98934
98935              keep_env
98936                     None  If not passed, only a sane default PATH environment
98937                     variable will be set. If True, all environment  variables
98938                     from  the  container's  host  will  be kept. Otherwise, a
98939                     comma-separated list  (or  Python  list)  of  environment
98940                     variable names can be passed, and those environment vari‐
98941                     ables will be kept.
98942
98943              CLI Example:
98944
98945                 salt myminion docker.run mycontainer 'ls -l /etc'
98946
98947       salt.modules.dockermod.run_all(name, cmd, exec_driver=None, stdin=None,
98948       python_shell=True,  output_loglevel='debug',  use_vt=False, ignore_ret‐
98949       code=False, keep_env=None)
98950              Run cmd.run_all within a container
98951
98952              NOTE:
98953                 While the command is run within the container, it  is  initi‐
98954                 ated  from the host. Therefore, the PID in the return dict is
98955                 from the host, not from the container.
98956
98957              name   Container name or ID in which to run the command
98958
98959              cmd    Command to run
98960
98961              exec_driver
98962                     None If not passed, the execution driver will be detected
98963                     as described above.
98964
98965              stdin  None Standard input to be used for the command
98966
98967              output_loglevel
98968                     debug  Level at which to log the output from the command.
98969                     Set to quiet to suppress logging.
98970
98971              use_vt False Use SaltStack's utils.vt to stream output  to  con‐
98972                     sole.
98973
98974              keep_env
98975                     None  If not passed, only a sane default PATH environment
98976                     variable will be set. If True, all environment  variables
98977                     from  the  container's  host  will  be kept. Otherwise, a
98978                     comma-separated list  (or  Python  list)  of  environment
98979                     variable names can be passed, and those environment vari‐
98980                     ables will be kept.
98981
98982              CLI Example:
98983
98984                 salt myminion docker.run_all mycontainer 'ls -l /etc'
98985
98986       salt.modules.dockermod.run_container(*args, **kwargs)
98987              New in version 2018.3.0.
98988
98989
98990              Equivalent to docker run on the Docker CLI. Runs the  container,
98991              waits for it to exit, and returns the container's logs when com‐
98992              plete.
98993
98994              NOTE:
98995                 Not  to  be  confused  with  docker.run,  which  provides   a
98996                 cmd.run-like  interface  for  executing commands in a running
98997                 container.
98998
98999              This function accepts the same arguments as docker.create,  with
99000              the  exception  of  start. In addition, it accepts the arguments
99001              from docker.logs, with the exception of follow, to  control  how
99002              logs  are returned. Finally, the bg argument described below can
99003              be used to optionally run the container in the  background  (the
99004              default behavior is to block until the container exits).
99005
99006              bg     False  If  True, this function will not wait for the con‐
99007                     tainer to exit and will not return its logs. It will how‐
99008                     ever  return  the  container's  name and ID, allowing for
99009                     docker.logs to be used to view the logs.
99010
99011                     NOTE:
99012                        The logs will be inaccessible once the container exits
99013                        if auto_remove is set to True, so keep this in mind.
99014
99015              replace
99016                     False If True, and if the named container already exists,
99017                     this will remove  the  existing  container.  The  default
99018                     behavior  is  to return a False result when the container
99019                     already exists.
99020
99021              force  False If True, and the named  container  already  exists,
99022                     and  replace is also set to True, then the container will
99023                     be forcibly removed.  Otherwise, the state will not  pro‐
99024                     ceed and will return a False result.
99025
99026              networks
99027                     Networks  to  which the container should be connected. If
99028                     automatic IP configuration is being  used,  the  networks
99029                     can  be a simple list of network names. If custom IP con‐
99030                     figuration is being used,  then  this  argument  must  be
99031                     passed as a dictionary.
99032
99033              CLI Examples:
99034
99035                 salt myminion docker.run_container myuser/myimage command=/usr/local/bin/myscript.sh
99036                 # Run container in the background
99037                 salt myminion docker.run_container myuser/myimage command=/usr/local/bin/myscript.sh bg=True
99038                 # Connecting to two networks using automatic IP configuration
99039                 salt myminion docker.run_container myuser/myimage command='perl /scripts/sync.py' networks=net1,net2
99040                 # net1 using automatic IP, net2 using static IPv4 address
99041                 salt myminion docker.run_container myuser/myimage command='perl /scripts/sync.py' networks='{"net1": {}, "net2": {"ipv4_address": "192.168.27.12"}}'
99042
99043       salt.modules.dockermod.run_stderr(name,      cmd,     exec_driver=None,
99044       stdin=None, python_shell=True,  output_loglevel='debug',  use_vt=False,
99045       ignore_retcode=False, keep_env=None)
99046              Run cmd.run_stderr within a container
99047
99048              name   Container name or ID in which to run the command
99049
99050              cmd    Command to run
99051
99052              exec_driver
99053                     None If not passed, the execution driver will be detected
99054                     as described above.
99055
99056              stdin  None Standard input to be used for the command
99057
99058              output_loglevel
99059                     debug Level at which to log the output from the  command.
99060                     Set to quiet to suppress logging.
99061
99062              use_vt False  Use  SaltStack's utils.vt to stream output to con‐
99063                     sole.
99064
99065              keep_env
99066                     None If not passed, only a sane default PATH  environment
99067                     variable  will be set. If True, all environment variables
99068                     from the container's host  will  be  kept.  Otherwise,  a
99069                     comma-separated  list  (or  Python  list)  of environment
99070                     variable names can be passed, and those environment vari‐
99071                     ables will be kept.
99072
99073              CLI Example:
99074
99075                 salt myminion docker.run_stderr mycontainer 'ls -l /etc'
99076
99077       salt.modules.dockermod.run_stdout(name,      cmd,     exec_driver=None,
99078       stdin=None, python_shell=True,  output_loglevel='debug',  use_vt=False,
99079       ignore_retcode=False, keep_env=None)
99080              Run cmd.run_stdout within a container
99081
99082              name   Container name or ID in which to run the command
99083
99084              cmd    Command to run
99085
99086              exec_driver
99087                     None If not passed, the execution driver will be detected
99088                     as described above.
99089
99090              stdin  None Standard input to be used for the command
99091
99092              output_loglevel
99093                     debug Level at which to log the output from the  command.
99094                     Set to quiet to suppress logging.
99095
99096              use_vt False  Use  SaltStack's utils.vt to stream output to con‐
99097                     sole.
99098
99099              keep_env
99100                     None If not passed, only a sane default PATH  environment
99101                     variable  will be set. If True, all environment variables
99102                     from the container's host  will  be  kept.  Otherwise,  a
99103                     comma-separated  list  (or  Python  list)  of environment
99104                     variable names can be passed, and those environment vari‐
99105                     ables will be kept.
99106
99107              CLI Example:
99108
99109                 salt myminion docker.run_stdout mycontainer 'ls -l /etc'
99110
99111       salt.modules.dockermod.save(name,         path,        overwrite=False,
99112       makedirs=False, compression=None, **kwargs)
99113              Saves an image and to a file on the minion. Equivalent  to  run‐
99114              ning  the docker save Docker CLI command, but unlike docker save
99115              this will also work on named images instead of just images IDs.
99116
99117              name   Name or ID of image. Specify a specific tag by using  the
99118                     repo:tag notation.
99119
99120              path   Absolute  path  on  the  Minion  where  the image will be
99121                     exported
99122
99123              overwrite
99124                     False Unless this option is set to True, then if the des‐
99125                     tination file exists an error will be raised.
99126
99127              makedirs
99128                     False  If  True, then if the parent directory of the file
99129                     specified by the path argument does not exist, Salt  will
99130                     attempt to create it.
99131
99132              compression
99133                     None Can be set to any of the following:
99134
99135                     · gzip or gz for gzip compression
99136
99137                     · bzip2 or bz2 for bzip2 compression
99138
99139                     · xz  or  lzma  for XZ compression (requires xz-utils, as
99140                       well as the lzma module from Python 3.3,  available  in
99141                       Python 2 and Python 3.0-3.2 as backports.lzma)
99142
99143                     This  parameter  can  be omitted and Salt will attempt to
99144                     determine the compression type by examining the  filename
99145                     passed in the path parameter.
99146
99147                     NOTE:
99148                        Since  the  Docker  API  does not support docker save,
99149                        compression will be a bit slower  with  this  function
99150                        than  with docker.export since the image(s) will first
99151                        be saved and then the compression done afterwards.
99152
99153              push   False If True, the container will be pushed to the master
99154                     using cp.push.
99155
99156                     NOTE:
99157                        This  requires file_recv to be set to True on the Mas‐
99158                        ter.
99159
99160              RETURN DATA
99161
99162              A dictionary will be returned, containing the following keys:
99163
99164              · Path - Path of the file that was saved
99165
99166              · Push - Reports whether or not the file was successfully pushed
99167                to the Master
99168
99169                (Only present if push=True)
99170
99171              · Size - Size of the file, in bytes
99172
99173              · Size_Human - Size of the file, in human-readable units
99174
99175              · Time_Elapsed - Time in seconds taken to perform the save
99176
99177              CLI Examples:
99178
99179                 salt myminion docker.save centos:7 /tmp/cent7.tar
99180                 salt myminion docker.save 0123456789ab cdef01234567 /tmp/saved.tar
99181
99182       salt.modules.dockermod.script(name,  source, saltenv='base', args=None,
99183       template=None, exec_driver=None,  stdin=None,  python_shell=True,  out‐
99184       put_loglevel='debug',        ignore_retcode=False,        use_vt=False,
99185       keep_env=None)
99186              Run cmd.script within a container
99187
99188              NOTE:
99189                 While the command is run within the container, it  is  initi‐
99190                 ated  from the host. Therefore, the PID in the return dict is
99191                 from the host, not from the container.
99192
99193              name   Container name or ID
99194
99195              source Path to the script. Can be a local path on the Minion  or
99196                     a remote file from the Salt fileserver.
99197
99198              args   A  string  containing  additional command-line options to
99199                     pass to the script.
99200
99201              template
99202                     None Templating engine to use on the script  before  run‐
99203                     ning.
99204
99205              exec_driver
99206                     None If not passed, the execution driver will be detected
99207                     as described above.
99208
99209              stdin  None Standard input to be used for the script
99210
99211              output_loglevel
99212                     debug Level at which to log the output from  the  script.
99213                     Set to quiet to suppress logging.
99214
99215              use_vt False  Use  SaltStack's utils.vt to stream output to con‐
99216                     sole.
99217
99218              keep_env
99219                     None If not passed, only a sane default PATH  environment
99220                     variable  will be set. If True, all environment variables
99221                     from the container's host  will  be  kept.  Otherwise,  a
99222                     comma-separated  list  (or  Python  list)  of environment
99223                     variable names can be passed, and those environment vari‐
99224                     ables will be kept.
99225
99226              CLI Example:
99227
99228                 salt myminion docker.script mycontainer salt://docker_script.py
99229                 salt myminion docker.script mycontainer salt://scripts/runme.sh 'arg1 arg2 "arg 3"'
99230                 salt myminion docker.script mycontainer salt://scripts/runme.sh stdin='one\ntwo\nthree\nfour\nfive\n' output_loglevel=quiet
99231
99232       salt.modules.dockermod.script_retcode(name,   source,   saltenv='base',
99233       args=None,      template=None,      exec_driver=None,       stdin=None,
99234       python_shell=True,    output_loglevel='debug',    ignore_retcode=False,
99235       use_vt=False, keep_env=None)
99236              Run cmd.script_retcode within a container
99237
99238              name   Container name or ID
99239
99240              source Path to the script. Can be a local path on the Minion  or
99241                     a remote file from the Salt fileserver.
99242
99243              args   A  string  containing  additional command-line options to
99244                     pass to the script.
99245
99246              template
99247                     None Templating engine to use on the script  before  run‐
99248                     ning.
99249
99250              exec_driver
99251                     None If not passed, the execution driver will be detected
99252                     as described above.
99253
99254              stdin  None Standard input to be used for the script
99255
99256              output_loglevel
99257                     debug Level at which to log the output from  the  script.
99258                     Set to quiet to suppress logging.
99259
99260              use_vt False  Use  SaltStack's utils.vt to stream output to con‐
99261                     sole.
99262
99263              keep_env
99264                     None If not passed, only a sane default PATH  environment
99265                     variable  will be set. If True, all environment variables
99266                     from the container's host  will  be  kept.  Otherwise,  a
99267                     comma-separated  list  (or  Python  list)  of environment
99268                     variable names can be passed, and those environment vari‐
99269                     ables will be kept.
99270
99271              CLI Example:
99272
99273                 salt myminion docker.script_retcode mycontainer salt://docker_script.py
99274                 salt myminion docker.script_retcode mycontainer salt://scripts/runme.sh 'arg1 arg2 "arg 3"'
99275                 salt myminion docker.script_retcode mycontainer salt://scripts/runme.sh stdin='one\ntwo\nthree\nfour\nfive\n' output_loglevel=quiet
99276
99277       salt.modules.dockermod.search(name, official=False, trusted=False)
99278              Searches the registry for an image
99279
99280              name   Search keyword
99281
99282              official
99283                     False Limit results to official builds
99284
99285              trusted
99286                     False Limit results to trusted builds
99287
99288              RETURN DATA
99289
99290              A  dictionary  with each key being the name of an image, and the
99291              following information for each image:
99292
99293              · Description - Image description
99294
99295              · Official - A boolean (True if an official build, False if not)
99296
99297              · Stars - Number of stars the image has on the registry
99298
99299              · Trusted - A boolean (True if a trusted build, False if not)
99300
99301              CLI Example:
99302
99303                 salt myminion docker.search centos
99304                 salt myminion docker.search centos official=True
99305
99306       salt.modules.dockermod.signal_(*args, **kwargs)
99307              Send a signal to a container. Signals can be either  strings  or
99308              numbers,  and are defined in the Standard Signals section of the
99309              signal(7) manpage. Run man 7 signal on a Linux  host  to  browse
99310              this manpage.
99311
99312              name   Container name or ID
99313
99314              signal Signal to send to container
99315
99316              RETURN DATA
99317
99318              If the signal was successfully sent, True will be returned. Oth‐
99319              erwise, an error will be raised.
99320
99321              CLI Example:
99322
99323                 salt myminion docker.signal mycontainer SIGHUP
99324
99325       salt.modules.dockermod.sls(name, mods=None, **kwargs)
99326              Apply the states defined by the specified  SLS  modules  to  the
99327              running container
99328
99329              New in version 2016.11.0.
99330
99331
99332              The  container  does not need to have Salt installed, but Python
99333              is required.
99334
99335              name   Container name or ID
99336
99337              mods   None A string containing comma-separated list of SLS with
99338                     defined states to apply to the container.
99339
99340              saltenv
99341                     base  Specify  the environment from which to retrieve the
99342                     SLS indicated by the mods parameter.
99343
99344              pillarenv
99345                     Specify a Pillar environment to  be  used  when  applying
99346                     states.  This  can  also be set in the minion config file
99347                     using the pillarenv option. When  neither  the  pillarenv
99348                     minion  config  option nor this CLI argument is used, all
99349                     Pillar environments will be merged together.
99350
99351                     New in version 2018.3.0.
99352
99353
99354              pillar Custom Pillar values, passed as a dictionary of key-value
99355                     pairs
99356
99357                     NOTE:
99358                        Values passed this way will override Pillar values set
99359                        via pillar_roots or an external Pillar source.
99360
99361                     New in version 2018.3.0.
99362
99363
99364              CLI Example:
99365
99366                 salt myminion docker.sls compassionate_mirzakhani mods=rails,web
99367
99368       salt.modules.dockermod.sls_build(repository, tag='latest',  base='open‐
99369       suse/python', mods=None, dryrun=False, **kwargs)
99370              Changed  in version 2018.3.0: The repository and tag must now be
99371              passed separately using the repository and tag arguments, rather
99372              than together in the (now deprecated) image argument.
99373
99374
99375              Build  a  Docker image using the specified SLS modules on top of
99376              base image
99377
99378              New in version 2016.11.0.
99379
99380
99381              The base image does not need to have Salt installed, but  Python
99382              is required.
99383
99384              repository
99385                     Repository name for the image to be built
99386
99387                     New in version 2018.3.0.
99388
99389
99390              tag    latest Tag name for the image to be built
99391
99392                     New in version 2018.3.0.
99393
99394
99395              name   Deprecated  since  version  2018.3.0: Use both repository
99396                     and tag instead
99397
99398
99399              base   opensuse/python Name or ID of the base image
99400
99401              mods   A string containing  comma-separated  list  of  SLS  with
99402                     defined states to apply to the base image.
99403
99404              saltenv
99405                     base  Specify  the environment from which to retrieve the
99406                     SLS indicated by the mods parameter.
99407
99408              pillarenv
99409                     Specify a Pillar environment to  be  used  when  applying
99410                     states.  This  can  also be set in the minion config file
99411                     using the pillarenv option. When  neither  the  pillarenv
99412                     minion  config  option nor this CLI argument is used, all
99413                     Pillar environments will be merged together.
99414
99415                     New in version 2018.3.0.
99416
99417
99418              pillar Custom Pillar values, passed as a dictionary of key-value
99419                     pairs
99420
99421                     NOTE:
99422                        Values passed this way will override Pillar values set
99423                        via pillar_roots or an external Pillar source.
99424
99425                     New in version 2018.3.0.
99426
99427
99428              dryrun: False
99429                     when set to True the container will not be  committed  at
99430                     the  end  of  the build. The dryrun succeed also when the
99431                     state contains errors.
99432
99433              RETURN DATA
99434
99435              A dictionary with the ID of the new  container.  In  case  of  a
99436              dryrun,  the  state  result  is  returned and the container gets
99437              removed.
99438
99439              CLI Example:
99440
99441                 salt myminion docker.sls_build imgname base=mybase mods=rails,web
99442
99443       salt.modules.dockermod.start_(*args, **kwargs)
99444              Start a container
99445
99446              name   Container name or ID
99447
99448              RETURN DATA
99449
99450              A dictionary will be returned, containing the following keys:
99451
99452              · status - A dictionary showing the prior state of the container
99453                as well as the new state
99454
99455              · result  -  A boolean noting whether or not the action was suc‐
99456                cessful
99457
99458              · comment - Only present if the container cannot be started
99459
99460              CLI Example:
99461
99462                 salt myminion docker.start mycontainer
99463
99464       salt.modules.dockermod.state(name)
99465              Returns the state of the container
99466
99467              name   Container name or ID
99468
99469              RETURN DATA
99470
99471              A string representing the current state of the container (either
99472              running, paused, or stopped)
99473
99474              CLI Example:
99475
99476                 salt myminion docker.state mycontainer
99477
99478       salt.modules.dockermod.stop(*args, **kwargs)
99479              Stops a running container
99480
99481              name   Container name or ID
99482
99483              unpause
99484                     False  If  True  and  the container is paused, it will be
99485                     unpaused before attempting to stop the container.
99486
99487              timeout
99488                     Timeout in seconds after  which  the  container  will  be
99489                     killed (if it has not yet gracefully shut down)
99490
99491                     Changed  in  version  2017.7.0:  If  this argument is not
99492                     passed,  then  the  container's  configuration  will   be
99493                     checked.   If   the   container  was  created  using  the
99494                     stop_timeout argument, then the configured  timeout  will
99495                     be used, otherwise the timeout will be 10 seconds.
99496
99497
99498              RETURN DATA
99499
99500              A dictionary will be returned, containing the following keys:
99501
99502              · status - A dictionary showing the prior state of the container
99503                as well as the new state
99504
99505              · result - A boolean noting whether or not the action  was  suc‐
99506                cessful
99507
99508              · comment - Only present if the container can not be stopped
99509
99510              CLI Examples:
99511
99512                 salt myminion docker.stop mycontainer
99513                 salt myminion docker.stop mycontainer unpause=True
99514                 salt myminion docker.stop mycontainer timeout=20
99515
99516       salt.modules.dockermod.tag_(name,       repository,       tag='latest',
99517       force=False, image=None)
99518              Changed in version 2018.3.0: The repository and tag must now  be
99519              passed separately using the repository and tag arguments, rather
99520              than together in the (now deprecated) image argument.
99521
99522
99523              Tag an image into a repository and return True. If the  tag  was
99524              unsuccessful, an error will be raised.
99525
99526              name   ID of image
99527
99528              repository
99529                     Repository name for the image to be built
99530
99531                     New in version 2018.3.0.
99532
99533
99534              tag    latest Tag name for the image to be built
99535
99536                     New in version 2018.3.0.
99537
99538
99539              image  Deprecated  since  version  2018.3.0: Use both repository
99540                     and tag instead
99541
99542
99543              force  False Force apply tag
99544
99545              CLI Example:
99546
99547                 salt myminion docker.tag 0123456789ab myrepo/mycontainer mytag
99548
99549       salt.modules.dockermod.top(name)
99550              Runs the docker top command on a specific container
99551
99552              name   Container name or ID
99553
99554              CLI Example:
99555
99556              RETURN DATA
99557
99558              A list of dictionaries containing information about each process
99559
99560                 salt myminion docker.top mycontainer
99561                 salt myminion docker.top 0123456789ab
99562
99563       salt.modules.dockermod.unpause(*args, **kwargs)
99564              Unpauses a container
99565
99566              name   Container name or ID
99567
99568              RETURN DATA
99569
99570              A dictionary will be returned, containing the following keys:
99571
99572              · status - A dictionary showing the prior state of the container
99573                as well as the new state
99574
99575              · result  -  A boolean noting whether or not the action was suc‐
99576                cessful
99577
99578              · comment - Only present if the container can not be unpaused
99579
99580              CLI Example:
99581
99582                 salt myminion docker.pause mycontainer
99583
99584       salt.modules.dockermod.version()
99585              Returns a dictionary of Docker version  information.  Equivalent
99586              to running the docker version Docker CLI command.
99587
99588              CLI Example:
99589
99590                 salt myminion docker.version
99591
99592       salt.modules.dockermod.volumes(filters=None)
99593              List existing volumes
99594
99595              New in version 2015.8.4.
99596
99597
99598              filters
99599                     There is one available filter: dangling=true
99600
99601              CLI Example:
99602
99603                 salt myminion docker.volumes filters="{'dangling': True}"
99604
99605       salt.modules.dockermod.wait(name,         ignore_already_stopped=False,
99606       fail_on_exit_status=False)
99607              Wait for the container to exit gracefully, and return  its  exit
99608              code
99609
99610              NOTE:
99611                 This function will block until the container is stopped.
99612
99613              name   Container name or ID
99614
99615              ignore_already_stopped
99616                     Boolean  flag  that prevents execution to fail, if a con‐
99617                     tainer is already stopped.
99618
99619              fail_on_exit_status
99620                     Boolean flag to report execution as failure if  exit_sta‐
99621                     tus is different than 0.
99622
99623              RETURN DATA
99624
99625              A dictionary will be returned, containing the following keys:
99626
99627              · status - A dictionary showing the prior state of the container
99628                as well as the new state
99629
99630              · result - A boolean noting whether or not the action  was  suc‐
99631                cessful
99632
99633              · exit_status - Exit status for the container
99634
99635              · comment - Only present if the container is already stopped
99636
99637              CLI Example:
99638
99639                 salt myminion docker.wait mycontainer
99640
99641   salt.modules.dpkg
99642       Support for DEB packages
99643
99644       salt.modules.dpkg.bin_pkg_info(path, saltenv=u'base')
99645              New in version 2015.8.0.
99646
99647
99648              Parses  RPM  metadata  and  returns  a dictionary of information
99649              about the package (name, version, etc.).
99650
99651              path   Path to the file. Can either be an  absolute  path  to  a
99652                     file  on  the  minion,  or  a  salt  fileserver URL (e.g.
99653                     salt://path/to/file.rpm).  If a salt  fileserver  URL  is
99654                     passed,  the file will be cached to the minion so that it
99655                     can be examined.
99656
99657              saltenv
99658                     base Salt fileserver envrionment from which  to  retrieve
99659                     the  package. Ignored if path is a local file path on the
99660                     minion.
99661
99662              CLI Example:
99663
99664                 salt '*' lowpkg.bin_pkg_info /root/foo-1.2.3-1ubuntu1_all.deb
99665                 salt '*' lowpkg.bin_pkg_info salt://foo-1.2.3-1ubuntu1_all.deb
99666
99667       salt.modules.dpkg.file_dict(*packages)
99668              List the files that belong to a package, grouped by package. Not
99669              specifying  any  packages  will return a list of _every_ file on
99670              the system's package database (not generally recommended).
99671
99672              CLI Examples:
99673
99674                 salt '*' lowpkg.file_list httpd
99675                 salt '*' lowpkg.file_list httpd postfix
99676                 salt '*' lowpkg.file_list
99677
99678       salt.modules.dpkg.file_list(*packages)
99679              List the files that belong to  a  package.  Not  specifying  any
99680              packages  will  return  a  list  of _every_ file on the system's
99681              package database (not generally recommended).
99682
99683              CLI Examples:
99684
99685                 salt '*' lowpkg.file_list httpd
99686                 salt '*' lowpkg.file_list httpd postfix
99687                 salt '*' lowpkg.file_list
99688
99689       salt.modules.dpkg.info(*packages, **kwargs)
99690              Returns a detailed summary of package information  for  provided
99691              package  names.  If no packages are specified, all packages will
99692              be returned.
99693
99694              New in version 2015.8.1.
99695
99696
99697              packages
99698                     The names of the packages for which  to  return  informa‐
99699                     tion.
99700
99701              failhard
99702                     Whether to throw an exception if none of the packages are
99703                     installed.  Defaults to True.
99704
99705                     New in version 2016.11.3.
99706
99707
99708              CLI example:
99709
99710                 salt '*' lowpkg.info
99711                 salt '*' lowpkg.info apache2 bash
99712                 salt '*' lowpkg.info 'php5*' failhard=false
99713
99714       salt.modules.dpkg.list_pkgs(*packages)
99715              List the packages currently installed in a dict:
99716
99717                 {'<package_name>': '<version>'}
99718
99719              External dependencies:
99720
99721                 Virtual package resolution requires aptitude. Because this function
99722                 uses dpkg, virtual packages will be reported as not installed.
99723
99724              CLI Example:
99725
99726                 salt '*' lowpkg.list_pkgs
99727                 salt '*' lowpkg.list_pkgs httpd
99728
99729       salt.modules.dpkg.unpurge(*packages)
99730              Change package selection for each package specified to 'install'
99731
99732              CLI Example:
99733
99734                 salt '*' lowpkg.unpurge curl
99735
99736   salt.modules.drac
99737       Manage Dell DRAC
99738
99739       salt.modules.drac.change_password(username, password, uid=None)
99740              Change users password
99741
99742              CLI Example:
99743
99744                 salt dell drac.change_password [USERNAME] [PASSWORD] [UID - optional]
99745                 salt dell drac.change_password diana secret
99746
99747       salt.modules.drac.create_user(username,     password,      permissions,
99748       users=None)
99749              Create user accounts
99750
99751              CLI Example:
99752
99753                 salt dell drac.create_user [USERNAME] [PASSWORD] [PRIVILEGES]
99754                 salt dell drac.create_user diana secret login,test_alerts,clear_logs
99755
99756              DRAC Privileges
99757
99758                     · login                   : Login to iDRAC
99759
99760                     · drac                    : Configure iDRAC
99761
99762                     · user_management         : Configure Users
99763
99764                     · clear_logs              : Clear Logs
99765
99766                     · server_control_commands  :  Execute Server Control Com‐
99767                       mands
99768
99769                     · console_redirection     : Access Console Redirection
99770
99771                     · virtual_media           : Access Virtual Media
99772
99773                     · test_alerts             : Test Alerts
99774
99775                     · debug_commands          : Execute Debug Commands
99776
99777       salt.modules.drac.delete_user(username, uid=None)
99778              Delete a user
99779
99780              CLI Example:
99781
99782                 salt dell drac.delete_user [USERNAME] [UID - optional]
99783                 salt dell drac.delete_user diana 4
99784
99785       salt.modules.drac.email_alerts(action)
99786              Enable/Disable email alerts
99787
99788              CLI Example:
99789
99790                 salt dell drac.email_alerts True
99791                 salt dell drac.email_alerts False
99792
99793       salt.modules.drac.list_users()
99794              List all DRAC users
99795
99796              CLI Example:
99797
99798                 salt dell drac.list_users
99799
99800       salt.modules.drac.nameservers(*ns)
99801              Configure the nameservers on the DRAC
99802
99803              CLI Example:
99804
99805                 salt dell drac.nameservers [NAMESERVERS]
99806                 salt dell drac.nameservers ns1.example.com ns2.example.com
99807
99808       salt.modules.drac.network_info()
99809              Return Network Configuration
99810
99811              CLI Example:
99812
99813                 salt dell drac.network_info
99814
99815       salt.modules.drac.server_hardreset()
99816              Performs a reset (reboot) operation on the managed server.
99817
99818              CLI Example:
99819
99820                 salt dell drac.server_hardreset
99821
99822       salt.modules.drac.server_poweroff()
99823              Powers down the managed server.
99824
99825              CLI Example:
99826
99827                 salt dell drac.server_poweroff
99828
99829       salt.modules.drac.server_poweron()
99830              Powers up the managed server.
99831
99832              CLI Example:
99833
99834                 salt dell drac.server_poweron
99835
99836       salt.modules.drac.server_pxe()
99837              Configure server to PXE perform a one off PXE boot
99838
99839              CLI Example:
99840
99841                 salt dell drac.server_pxe
99842
99843       salt.modules.drac.server_reboot()
99844              Issues a power-cycle  operation  on  the  managed  server.  This
99845              action  is  similar to pressing the power button on the system's
99846              front panel to power down and then power up the system.
99847
99848              CLI Example:
99849
99850                 salt dell drac.server_reboot
99851
99852       salt.modules.drac.set_network(ip, netmask, gateway)
99853              Configure Network
99854
99855              CLI Example:
99856
99857                 salt dell drac.set_network [DRAC IP] [NETMASK] [GATEWAY]
99858                 salt dell drac.set_network 192.168.0.2 255.255.255.0 192.168.0.1
99859
99860       salt.modules.drac.set_permissions(username, permissions, uid=None)
99861              Configure users permissions
99862
99863              CLI Example:
99864
99865                 salt dell drac.set_permissions [USERNAME] [PRIVILEGES] [USER INDEX - optional]
99866                 salt dell drac.set_permissions diana login,test_alerts,clear_logs 4
99867
99868              DRAC Privileges
99869
99870                     · login                   : Login to iDRAC
99871
99872                     · drac                    : Configure iDRAC
99873
99874                     · user_management         : Configure Users
99875
99876                     · clear_logs              : Clear Logs
99877
99878                     · server_control_commands : Execute Server  Control  Com‐
99879                       mands
99880
99881                     · console_redirection     : Access Console Redirection
99882
99883                     · virtual_media           : Access Virtual Media
99884
99885                     · test_alerts             : Test Alerts
99886
99887                     · debug_commands          : Execute Debug Commands
99888
99889       salt.modules.drac.set_snmp(community)
99890              Configure SNMP community string
99891
99892              CLI Example:
99893
99894                 salt dell drac.set_snmp [COMMUNITY]
99895                 salt dell drac.set_snmp public
99896
99897       salt.modules.drac.syslog(server, enable=True)
99898              Configure syslog remote logging, by default syslog will automat‐
99899              ically be enabled if a server is specified. However, if you want
99900              to  disable syslog you will need to specify a server followed by
99901              False
99902
99903              CLI Example:
99904
99905                 salt dell drac.syslog [SYSLOG IP] [ENABLE/DISABLE]
99906                 salt dell drac.syslog 0.0.0.0 False
99907
99908       salt.modules.drac.system_info()
99909              Return System information
99910
99911              CLI Example:
99912
99913                 salt dell drac.system_info
99914
99915   salt.modules.dracr
99916       Manage Dell DRAC.
99917
99918       New in version 2015.8.2.
99919
99920
99921       salt.modules.dracr.bare_rac_cmd(cmd,  host=None,   admin_username=None,
99922       admin_password=None)
99923
99924       salt.modules.dracr.change_password(username,     password,    uid=None,
99925       host=None, admin_username=None, admin_password=None, module=None)
99926              Change user's password
99927
99928              CLI Example:
99929
99930                 salt dell dracr.change_password [USERNAME] [PASSWORD] uid=[OPTIONAL]
99931                     host=<remote DRAC> admin_username=<DRAC user>
99932                     admin_password=<DRAC PW>
99933                 salt dell dracr.change_password diana secret
99934
99935              Note that if only a username is specified then this module  will
99936              look  up  details  for all 16 possible DRAC users.  This is time
99937              consuming, but might be necessary if one is not sure which  user
99938              slot  contains  the  one you want.  Many late-model Dell chassis
99939              have 'root' as UID 1, so if you can depend on that then  setting
99940              the  password  is much quicker.  Raises an error if the supplied
99941              password is greater than 20 chars.
99942
99943       salt.modules.dracr.create_user(username,     password,     permissions,
99944       users=None, host=None, admin_username=None, admin_password=None)
99945              Create user accounts
99946
99947              CLI Example:
99948
99949                 salt dell dracr.create_user [USERNAME] [PASSWORD] [PRIVILEGES]
99950                 salt dell dracr.create_user diana secret login,test_alerts,clear_logs
99951
99952              DRAC Privileges
99953
99954                     · login                   : Login to iDRAC
99955
99956                     · drac                    : Configure iDRAC
99957
99958                     · user_management         : Configure Users
99959
99960                     · clear_logs              : Clear Logs
99961
99962                     · server_control_commands  :  Execute Server Control Com‐
99963                       mands
99964
99965                     · console_redirection     : Access Console Redirection
99966
99967                     · virtual_media           : Access Virtual Media
99968
99969                     · test_alerts             : Test Alerts
99970
99971                     · debug_commands          : Execute Debug Commands
99972
99973       salt.modules.dracr.delete_user(username,      uid=None,      host=None,
99974       admin_username=None, admin_password=None)
99975              Delete a user
99976
99977              CLI Example:
99978
99979                 salt dell dracr.delete_user [USERNAME] [UID - optional]
99980                 salt dell dracr.delete_user diana 4
99981
99982       salt.modules.dracr.deploy_password(username,    password,    host=None,
99983       admin_username=None, admin_password=None, module=None)
99984              Change the QuickDeploy password, used for switches as well
99985
99986              CLI Example:
99987
99988                 salt dell dracr.deploy_password [USERNAME] [PASSWORD]
99989                     host=<remote DRAC> admin_username=<DRAC user>
99990                     admin_password=<DRAC PW>
99991                 salt dell dracr.change_password diana secret
99992
99993              Note that if only a username is specified then this module  will
99994              look  up  details  for all 16 possible DRAC users.  This is time
99995              consuming, but might be necessary if one is not sure which  user
99996              slot  contains  the  one you want.  Many late-model Dell chassis
99997              have 'root' as UID 1, so if you can depend on that then  setting
99998              the password is much quicker.
99999
100000       salt.modules.dracr.deploy_snmp(snmp,   host=None,  admin_username=None,
100001       admin_password=None, module=None)
100002              Change the QuickDeploy SNMP community string, used for  switches
100003              as well
100004
100005              CLI Example:
100006
100007                 salt dell dracr.deploy_snmp SNMP_STRING
100008                     host=<remote DRAC or CMC> admin_username=<DRAC user>
100009                     admin_password=<DRAC PW>
100010                 salt dell dracr.deploy_password diana secret
100011
100012       salt.modules.dracr.email_alerts(action, host=None, admin_username=None,
100013       admin_password=None)
100014              Enable/Disable email alerts
100015
100016              CLI Example:
100017
100018                 salt dell dracr.email_alerts True
100019                 salt dell dracr.email_alerts False
100020
100021       salt.modules.dracr.get_chassis_datacenter(host=None,        admin_user‐
100022       name=None, admin_password=None)
100023              Get the datacenter of the chassis.
100024
100025              host   The chassis host.
100026
100027              admin_username
100028                     The username used to access the chassis.
100029
100030              admin_password
100031                     The password used to access the chassis.
100032
100033              CLI Example:
100034
100035                 salt '*' dracr.set_chassis_location host=111.222.333.444
100036                    admin_username=root admin_password=secret
100037
100038       salt.modules.dracr.get_chassis_location(host=None, admin_username=None,
100039       admin_password=None)
100040              Get the location of the chassis.
100041
100042              host   The chassis host.
100043
100044              admin_username
100045                     The username used to access the chassis.
100046
100047              admin_password
100048                     The password used to access the chassis.
100049
100050              CLI Example:
100051
100052                 salt '*' dracr.set_chassis_location host=111.222.333.444
100053                    admin_username=root admin_password=secret
100054
100055       salt.modules.dracr.get_chassis_name(host=None,     admin_username=None,
100056       admin_password=None)
100057              Get the name of a chassis.
100058
100059              host   The chassis host.
100060
100061              admin_username
100062                     The username used to access the chassis.
100063
100064              admin_password
100065                     The password used to access the chassis.
100066
100067              CLI Example:
100068
100069                 salt '*' dracr.get_chassis_name host=111.222.333.444
100070                     admin_username=root admin_password=secret
100071
100072       salt.modules.dracr.get_dns_dracname(host=None,     admin_username=None,
100073       admin_password=None)
100074
100075       salt.modules.dracr.get_general(cfg_sec, cfg_var, host=None, admin_user‐
100076       name=None, admin_password=None)
100077
100078       salt.modules.dracr.get_slotname(slot,  host=None,  admin_username=None,
100079       admin_password=None)
100080              Get the name of a slot number in the chassis.
100081
100082              slot   The number of the slot for which to obtain the name.
100083
100084              host   The chassis host.
100085
100086              admin_username
100087                     The username used to access the chassis.
100088
100089              admin_password
100090                     The password used to access the chassis.
100091
100092              CLI Example:
100093
100094                 salt-call --local dracr.get_slotname 0 host=111.222.333.444
100095                    admin_username=root admin_password=secret
100096
100097       salt.modules.dracr.idrac_general(blade_name,    command,    idrac_pass‐
100098       word=None, host=None, admin_username=None, admin_password=None)
100099              Run  a  generic  racadm  command against a particular blade in a
100100              chassis.  Blades  are  usually  named  things  like  'server-1',
100101              'server-2', etc.  If the iDRAC has a different password than the
100102              CMC, then you can pass it with the idrac_password kwarg.
100103
100104              Parameters
100105
100106                     · blade_name -- Name of the blade to run the command on
100107
100108                     · command -- Command like to pass to racadm
100109
100110                     · idrac_password -- Password for the iDRAC  if  different
100111                       from the CMC
100112
100113                     · host -- Chassis hostname
100114
100115                     · admin_username -- CMC username
100116
100117                     · admin_password -- CMC password
100118
100119              Returns
100120                     stdout   if  the  retcode  is  0,  otherwise  a  standard
100121                     cmd.run_all dictionary
100122
100123              CLI Example:
100124
100125                 salt fx2 chassis.cmd idrac_general server-1 'get BIOS.SysProfileSettings'
100126
100127       salt.modules.dracr.inventory(host=None,            admin_username=None,
100128       admin_password=None)
100129
100130       salt.modules.dracr.list_slotnames(host=None,       admin_username=None,
100131       admin_password=None)
100132              List the names of all slots in the chassis.
100133
100134              host   The chassis host.
100135
100136              admin_username
100137                     The username used to access the chassis.
100138
100139              admin_password
100140                     The password used to access the chassis.
100141
100142              CLI Example:
100143
100144                 salt-call --local dracr.list_slotnames host=111.222.333.444
100145                     admin_username=root admin_password=secret
100146
100147       salt.modules.dracr.list_users(host=None,           admin_username=None,
100148       admin_password=None, module=None)
100149              List all DRAC users
100150
100151              CLI Example:
100152
100153                 salt dell dracr.list_users
100154
100155       salt.modules.dracr.nameservers(ns,    host=None,   admin_username=None,
100156       admin_password=None, module=None)
100157              Configure the nameservers on the DRAC
100158
100159              CLI Example:
100160
100161                 salt dell dracr.nameservers [NAMESERVERS]
100162                 salt dell dracr.nameservers ns1.example.com ns2.example.com
100163                     admin_username=root admin_password=calvin module=server-1
100164                     host=192.168.1.1
100165
100166       salt.modules.dracr.network_info(host=None,         admin_username=None,
100167       admin_password=None, module=None)
100168              Return Network Configuration
100169
100170              CLI Example:
100171
100172                 salt dell dracr.network_info
100173
100174       salt.modules.dracr.server_hardreset(host=None,     admin_username=None,
100175       admin_password=None, module=None)
100176              Performs a reset (reboot) operation on the managed server.
100177
100178              host   The chassis host.
100179
100180              admin_username
100181                     The username used to access the chassis.
100182
100183              admin_password
100184                     The password used to access the chassis.
100185
100186              module The element to hard reset on the chassis such as a blade.
100187                     If not provided, the chassis will be reset.
100188
100189              CLI Example:
100190
100191                 salt dell dracr.server_hardreset
100192                 salt dell dracr.server_hardreset module=server-1
100193
100194       salt.modules.dracr.server_power(status, host=None, admin_username=None,
100195       admin_password=None, module=None)
100196
100197              status One of 'powerup', 'powerdown', 'powercycle', 'hardreset',
100198                     'graceshutdown'
100199
100200              host   The chassis host.
100201
100202              admin_username
100203                     The username used to access the chassis.
100204
100205              admin_password
100206                     The password used to access the chassis.
100207
100208              module The  element to reboot on the chassis such as a blade. If
100209                     not provided, the chassis will be rebooted.
100210
100211              CLI Example:
100212
100213                 salt dell dracr.server_reboot
100214                 salt dell dracr.server_reboot module=server-1
100215
100216       salt.modules.dracr.server_poweroff(host=None,      admin_username=None,
100217       admin_password=None, module=None)
100218              Powers down the managed server.
100219
100220              host   The chassis host.
100221
100222              admin_username
100223                     The username used to access the chassis.
100224
100225              admin_password
100226                     The password used to access the chassis.
100227
100228              module The  element to power off on the chassis such as a blade.
100229                     If not provided, the chassis will be powered off.
100230
100231              CLI Example:
100232
100233                 salt dell dracr.server_poweroff
100234                 salt dell dracr.server_poweroff module=server-1
100235
100236       salt.modules.dracr.server_poweron(host=None,       admin_username=None,
100237       admin_password=None, module=None)
100238              Powers up the managed server.
100239
100240              host   The chassis host.
100241
100242              admin_username
100243                     The username used to access the chassis.
100244
100245              admin_password
100246                     The password used to access the chassis.
100247
100248              module The  element to power on located on the chassis such as a
100249                     blade. If not provided, the chassis will be powered on.
100250
100251              CLI Example:
100252
100253                 salt dell dracr.server_poweron
100254                 salt dell dracr.server_poweron module=server-1
100255
100256       salt.modules.dracr.server_powerstatus(host=None,   admin_username=None,
100257       admin_password=None, module=None)
100258              return the power status for the passed module
100259
100260              CLI Example:
100261
100262                 salt dell drac.server_powerstatus
100263
100264       salt.modules.dracr.server_pxe(host=None,           admin_username=None,
100265       admin_password=None)
100266              Configure server to PXE perform a one off PXE boot
100267
100268              CLI Example:
100269
100270                 salt dell dracr.server_pxe
100271
100272       salt.modules.dracr.server_reboot(host=None,        admin_username=None,
100273       admin_password=None, module=None)
100274              Issues  a  power-cycle  operation  on  the  managed server. This
100275              action is similar to pressing the power button on  the  system's
100276              front panel to power down and then power up the system.
100277
100278              host   The chassis host.
100279
100280              admin_username
100281                     The username used to access the chassis.
100282
100283              admin_password
100284                     The password used to access the chassis.
100285
100286              module The  element to reboot on the chassis such as a blade. If
100287                     not provided, the chassis will be rebooted.
100288
100289              CLI Example:
100290
100291                 salt dell dracr.server_reboot
100292                 salt dell dracr.server_reboot module=server-1
100293
100294       salt.modules.dracr.set_chassis_datacenter(location,          host=None,
100295       admin_username=None, admin_password=None)
100296              Set the location of the chassis.
100297
100298              location
100299                     The name of the datacenter to be set on the chassis.
100300
100301              host   The chassis host.
100302
100303              admin_username
100304                     The username used to access the chassis.
100305
100306              admin_password
100307                     The password used to access the chassis.
100308
100309              CLI Example:
100310
100311                 salt '*' dracr.set_chassis_datacenter datacenter-name host=111.222.333.444
100312                     admin_username=root admin_password=secret
100313
100314       salt.modules.dracr.set_chassis_location(location,            host=None,
100315       admin_username=None, admin_password=None)
100316              Set the location of the chassis.
100317
100318              location
100319                     The name of the location to be set on the chassis.
100320
100321              host   The chassis host.
100322
100323              admin_username
100324                     The username used to access the chassis.
100325
100326              admin_password
100327                     The password used to access the chassis.
100328
100329              CLI Example:
100330
100331                 salt '*' dracr.set_chassis_location location-name host=111.222.333.444
100332                     admin_username=root admin_password=secret
100333
100334       salt.modules.dracr.set_chassis_name(name,    host=None,     admin_user‐
100335       name=None, admin_password=None)
100336              Set the name of the chassis.
100337
100338              name   The name to be set on the chassis.
100339
100340              host   The chassis host.
100341
100342              admin_username
100343                     The username used to access the chassis.
100344
100345              admin_password
100346                     The password used to access the chassis.
100347
100348              CLI Example:
100349
100350                 salt '*' dracr.set_chassis_name my-chassis host=111.222.333.444
100351                     admin_username=root admin_password=secret
100352
100353       salt.modules.dracr.set_dns_dracname(name,     host=None,    admin_user‐
100354       name=None, admin_password=None)
100355
100356       salt.modules.dracr.set_general(cfg_sec,   cfg_var,   val,    host=None,
100357       admin_username=None, admin_password=None)
100358
100359       salt.modules.dracr.set_network(ip,    netmask,    gateway,   host=None,
100360       admin_username=None, admin_password=None)
100361              Configure Network on the CMC or individual iDRAC.  Use  set_nic‐
100362              cfg for blade and switch addresses.
100363
100364              CLI Example:
100365
100366                 salt dell dracr.set_network [DRAC IP] [NETMASK] [GATEWAY]
100367                 salt dell dracr.set_network 192.168.0.2 255.255.255.0 192.168.0.1
100368                     admin_username=root admin_password=calvin host=192.168.1.1
100369
100370       salt.modules.dracr.set_niccfg(ip=None,    netmask=None,   gateway=None,
100371       dhcp=False, host=None, admin_username=None,  admin_password=None,  mod‐
100372       ule=None)
100373
100374       salt.modules.dracr.set_nicvlan(vlan=None,     host=None,    admin_user‐
100375       name=None, admin_password=None, module=None)
100376
100377       salt.modules.dracr.set_permissions(username,   permissions,   uid=None,
100378       host=None, admin_username=None, admin_password=None)
100379              Configure users permissions
100380
100381              CLI Example:
100382
100383                 salt dell dracr.set_permissions [USERNAME] [PRIVILEGES]
100384                      [USER INDEX - optional]
100385                 salt dell dracr.set_permissions diana login,test_alerts,clear_logs 4
100386
100387              DRAC Privileges
100388
100389                     · login                   : Login to iDRAC
100390
100391                     · drac                    : Configure iDRAC
100392
100393                     · user_management         : Configure Users
100394
100395                     · clear_logs              : Clear Logs
100396
100397                     · server_control_commands  :  Execute Server Control Com‐
100398                       mands
100399
100400                     · console_redirection     : Access Console Redirection
100401
100402                     · virtual_media           : Access Virtual Media
100403
100404                     · test_alerts             : Test Alerts
100405
100406                     · debug_commands          : Execute Debug Commands
100407
100408       salt.modules.dracr.set_slotname(slot,  name,   host=None,   admin_user‐
100409       name=None, admin_password=None)
100410              Set the name of a slot in a chassis.
100411
100412              slot   The slot number to change.
100413
100414              name   The name to set. Can only be 15 characters long.
100415
100416              host   The chassis host.
100417
100418              admin_username
100419                     The username used to access the chassis.
100420
100421              admin_password
100422                     The password used to access the chassis.
100423
100424              CLI Example:
100425
100426                 salt '*' dracr.set_slotname 2 my-slotname host=111.222.333.444
100427                     admin_username=root admin_password=secret
100428
100429       salt.modules.dracr.set_snmp(community,  host=None, admin_username=None,
100430       admin_password=None)
100431              Configure CMC or individual iDRAC SNMP  community  string.   Use
100432              deploy_snmp for configuring chassis switch SNMP.
100433
100434              CLI Example:
100435
100436                 salt dell dracr.set_snmp [COMMUNITY]
100437                 salt dell dracr.set_snmp public
100438
100439       salt.modules.dracr.syslog(server,  enable=True,  host=None, admin_user‐
100440       name=None, admin_password=None, module=None)
100441              Configure syslog remote logging, by default syslog will automat‐
100442              ically be enabled if a server is specified. However, if you want
100443              to disable syslog you will need to specify a server followed  by
100444              False
100445
100446              CLI Example:
100447
100448                 salt dell dracr.syslog [SYSLOG IP] [ENABLE/DISABLE]
100449                 salt dell dracr.syslog 0.0.0.0 False
100450
100451       salt.modules.dracr.system_info(host=None,          admin_username=None,
100452       admin_password=None, module=None)
100453              Return System information
100454
100455              CLI Example:
100456
100457                 salt dell dracr.system_info
100458
100459       salt.modules.dracr.update_firmware(filename,   host=None,   admin_user‐
100460       name=None, admin_password=None)
100461              Updates firmware using local firmware file
100462
100463                 salt dell dracr.update_firmware firmware.exe
100464
100465              This  executes the following command on your FX2 (using username
100466              and password stored in the pillar data)
100467
100468                 racadm update –f firmware.exe -u user –p pass
100469
100470       salt.modules.dracr.update_firmware_nfs_or_cifs(filename,         share,
100471       host=None, admin_username=None, admin_password=None)
100472              Executes  the  following  for  CIFS (using username and password
100473              stored in the pillar data)
100474
100475                 racadm update -f <updatefile> -u user –p pass -l //IP-Address/share
100476
100477              Or for NFS (using username and password  stored  in  the  pillar
100478              data)
100479
100480                 racadm update -f <updatefile> -u user –p pass -l IP-address:/share
100481
100482              Salt command for CIFS:
100483
100484                 salt dell dracr.update_firmware_nfs_or_cifs          firmware.exe //IP-Address/share
100485
100486              Salt command for NFS:
100487
100488                 salt dell dracr.update_firmware_nfs_or_cifs          firmware.exe IP-address:/share
100489
100490   salt.modules.drbd
100491       DRBD administration module
100492
100493       salt.modules.drbd.overview()
100494              Show status of the DRBD devices, support two nodes only.
100495
100496              CLI Example:
100497
100498                 salt '*' drbd.overview
100499
100500   salt.modules.dummyproxy_package module
100501       Package support for the dummy proxy used by the test suite
100502
100503       salt.modules.dummyproxy_package.install(name=None, refresh=False, from‐
100504       repo=None, pkgs=None, sources=None, **kwargs)
100505
100506       salt.modules.dummyproxy_package.installed(name,           version=None,
100507       refresh=False,     fromrepo=None,     skip_verify=False,     pkgs=None,
100508       sources=None, **kwargs)
100509
100510       salt.modules.dummyproxy_package.list_pkgs(versions_as_list=False,
100511       **kwargs)
100512
100513       salt.modules.dummyproxy_package.remove(name=None, pkgs=None, **kwargs)
100514
100515       salt.modules.dummyproxy_package.upgrade(name=None,           pkgs=None,
100516       refresh=True, skip_verify=True, normalize=True, **kwargs)
100517
100518       salt.modules.dummyproxy_package.version(*names, **kwargs)
100519              Returns a string representing the package version  or  an  empty
100520              string if not installed. If more than one package name is speci‐
100521              fied, a dict of name/version pairs is returned.
100522
100523              CLI Example:
100524
100525                 salt '*' pkg.version <package name>
100526                 salt '*' pkg.version <package1> <package2> <package3> ...
100527
100528   salt.modules.dummyproxy_service module
100529       Provide the service module for the  dummy  proxy  used  in  integration
100530       tests
100531
100532       salt.modules.dummyproxy_service.enabled(name, sig=None)
100533              Only the 'redbull' service is 'enabled' in the test
100534
100535              New in version 2016.11.3.
100536
100537
100538       salt.modules.dummyproxy_service.get_all()
100539              Return a list of all available services
100540
100541              New in version 2016.11.3.
100542
100543
100544              CLI Example:
100545
100546                 salt '*' service.get_all
100547
100548       salt.modules.dummyproxy_service.list_()
100549              Return a list of all available services.
100550
100551              New in version 2016.11.3.
100552
100553
100554              CLI Example:
100555
100556                 salt '*' service.list
100557
100558       salt.modules.dummyproxy_service.restart(name, sig=None)
100559              Restart the specified service with dummy.
100560
100561              New in version 2016.11.3.
100562
100563
100564              CLI Example:
100565
100566                 salt '*' service.restart <service name>
100567
100568       salt.modules.dummyproxy_service.running(name, sig=None)
100569              Return whether this service is running.
100570
100571              New in version 2016.11.3.
100572
100573
100574       salt.modules.dummyproxy_service.start(name, sig=None)
100575              Start the specified service on the dummy
100576
100577              New in version 2016.11.3.
100578
100579
100580              CLI Example:
100581
100582                 salt '*' service.start <service name>
100583
100584       salt.modules.dummyproxy_service.status(name, sig=None)
100585              Return  the  status  for  a  service  via  dummy, returns a bool
100586              whether the service is running.
100587
100588              New in version 2016.11.3.
100589
100590
100591              CLI Example:
100592
100593                 salt '*' service.status <service name>
100594
100595       salt.modules.dummyproxy_service.stop(name, sig=None)
100596              Stop the specified service on the dummy
100597
100598              New in version 2016.11.3.
100599
100600
100601              CLI Example:
100602
100603                 salt '*' service.stop <service name>
100604
100605   salt.modules.ebuild
100606       Support for Portage
100607
100608       IMPORTANT:
100609          If you feel that Salt should be using this module to manage packages
100610          on  a  minion, and it is using a different module (or gives an error
100611          similar to 'pkg.install' is not available), see here.
100612
100613       optdepends
100614
100615              · portage Python adapter
100616
100617       For now all package names MUST include the package category, i.e. 'vim'
100618       will not work, 'app-editors/vim' will.
100619
100620       salt.modules.ebuild.check_db(*names, **kwargs)
100621              New in version 0.17.0.
100622
100623
100624              Returns  a  dict  containing  the following information for each
100625              specified package:
100626
100627              1. A key found, which will be a  boolean  value  denoting  if  a
100628                 match was found in the package database.
100629
100630              2. If  found is False, then a second key called suggestions will
100631                 be present, which will contain a list  of  possible  matches.
100632                 This  list will be empty if the package name was specified in
100633                 category/pkgname  format,  since  the  suggestions  are  only
100634                 intended  to  disambiguate ambiguous package names (ones sub‐
100635                 mitted without a category).
100636
100637              CLI Examples:
100638
100639                 salt '*' pkg.check_db <package1> <package2> <package3>
100640
100641       salt.modules.ebuild.check_extra_requirements(pkgname, pkgver)
100642              Check if the installed package already has  the  given  require‐
100643              ments.
100644
100645              CLI Example:
100646
100647                 salt '*' pkg.check_extra_requirements 'sys-devel/gcc' '~>4.1.2:4.1::gentoo[nls,fortran]'
100648
100649       salt.modules.ebuild.depclean(name=None,    slot=None,    fromrepo=None,
100650       pkgs=None)
100651              Portage has a function to remove unused dependencies. If a pack‐
100652              age  is  provided,  it will only removed the package if no other
100653              package depends on it.
100654
100655              name   The name of the package to be cleaned.
100656
100657              slot   Restrict the remove to a specific slot. Ignored  if  name
100658                     is None.
100659
100660              fromrepo
100661                     Restrict  the  remove to a specific slot. Ignored if name
100662                     is None.
100663
100664              pkgs   Clean multiple packages. slot and fromrepo arguments  are
100665                     ignored  if this argument is present. Must be passed as a
100666                     python list.
100667
100668              Return a list containing the removed packages:
100669
100670              CLI Example:
100671
100672                 salt '*' pkg.depclean <package name>
100673
100674       salt.modules.ebuild.ex_mod_init(low)
100675              If the config option ebuild.enforce_nice_config is set to  True,
100676              this   module   will   enforce   a   nice   tree  structure  for
100677              /etc/portage/package.*  configuration files.
100678
100679              New in version 0.17.0: Initial automatic enforcement added  when
100680              pkg is used on a Gentoo system.
100681
100682
100683              Changed  in version 2014.1.0-Hydrogen: Configure option added to
100684              make this behaviour optional, defaulting to off.
100685
100686
100687              SEE ALSO:
100688                 ebuild.ex_mod_init  is  called  automatically  when  a  state
100689                 invokes     a    pkg    state    on    a    Gentoo    system.
100690                 salt.states.pkg.mod_init()
100691
100692                 ebuild.ex_mod_init uses portage_config.enforce_nice_config to
100693                 do        the       lifting.        salt.modules.portage_con‐
100694                 fig.enforce_nice_config()
100695
100696              CLI Example:
100697
100698                 salt '*' pkg.ex_mod_init
100699
100700       salt.modules.ebuild.install(name=None,    refresh=False,     pkgs=None,
100701       sources=None,   slot=None,   fromrepo=None,   uses=None,  binhost=None,
100702       **kwargs)
100703              Changed in version 2015.8.12,2016.3.3,2016.11.0: On minions run‐
100704              ning  systemd>=205,  systemd-run(1)  is now used to isolate com‐
100705              mands which modify installed packages from the salt-minion  dae‐
100706              mon's  control  group. This is done to keep systemd from killing
100707              any emerge commands spawned by Salt when the salt-minion service
100708              is  restarted.  (see KillMode in the systemd.kill(5) manpage for
100709              more information). If desired, usage of  systemd-run(1)  can  be
100710              suppressed by setting a config option called systemd.scope, with
100711              a value of False (no quotes).
100712
100713
100714              Install the passed package(s),  add  refresh=True  to  sync  the
100715              portage tree before package is installed.
100716
100717              name   The  name  of the package to be installed. Note that this
100718                     parameter is ignored if either  "pkgs"  or  "sources"  is
100719                     passed.  Additionally,  please  note that this option can
100720                     only be used to emerge a package from the  portage  tree.
100721                     To  install  a  tbz2  package manually, use the "sources"
100722                     option described below.
100723
100724                     CLI Example:
100725
100726                        salt '*' pkg.install <package name>
100727
100728              refresh
100729                     Whether  or  not  to  sync  the   portage   tree   before
100730                     installing.
100731
100732              version
100733                     Install a specific version of the package, e.g. 1.0.9-r1.
100734                     Ignored if "pkgs" or "sources" is passed.
100735
100736              slot   Similar to version, but specifies  a  valid  slot  to  be
100737                     installed.  It  will install the latest available version
100738                     in the specified slot.  Ignored if "pkgs" or "sources" or
100739                     "version" is passed.
100740
100741                     CLI Example:
100742
100743                        salt '*' pkg.install sys-devel/gcc slot='4.4'
100744
100745              fromrepo
100746                     Similar  to  slot,  but specifies the repository from the
100747                     package will be installed. It  will  install  the  latest
100748                     available  version  in the specified repository.  Ignored
100749                     if "pkgs" or "sources" or "version" is passed.
100750
100751                     CLI Example:
100752
100753                        salt '*' pkg.install salt fromrepo='gentoo'
100754
100755              uses   Similar to slot,  but  specifies  a  list  of  use  flag.
100756                     Ignored if "pkgs" or "sources" or "version" is passed.
100757
100758                     CLI Example:
100759
100760                        salt '*' pkg.install sys-devel/gcc uses='["nptl","-nossp"]'
100761
100762              Multiple Package Installation Options:
100763
100764              pkgs   A list of packages to install from the portage tree. Must
100765                     be passed as a python list.
100766
100767                     CLI Example:
100768
100769                        salt '*' pkg.install pkgs='["foo","bar","~category/package:slot::repository[use]"]'
100770
100771              sources
100772                     A list of tbz2 packages to install. Must be passed  as  a
100773                     list of dicts, with the keys being package names, and the
100774                     values being the source URI or local path to the package.
100775
100776                     CLI Example:
100777
100778                        salt '*' pkg.install sources='[{"foo": "salt://foo.tbz2"},{"bar": "salt://bar.tbz2"}]'
100779
100780              binhost
100781                     has two options try and force.  try - tells emerge to try
100782                     and install the package from a configured binhost.  force
100783                     - forces emerge to install the  package  from  a  binhost
100784                     otherwise it fails out.
100785
100786              Returns a dict containing the new package names and versions:
100787
100788                 {'<package>': {'old': '<old-version>',
100789                                'new': '<new-version>'}}
100790
100791       salt.modules.ebuild.latest_version(*names, **kwargs)
100792              Return  the  latest  version  of the named package available for
100793              upgrade or installation. If more than one package name is speci‐
100794              fied, a dict of name/version pairs is returned.
100795
100796              CLI Example:
100797
100798                 salt '*' pkg.latest_version <package name>
100799                 salt '*' pkg.latest_version <package1> <package2> <package3> ...
100800
100801       salt.modules.ebuild.list_pkgs(versions_as_list=False, **kwargs)
100802              List the packages currently installed in a dict:
100803
100804                 {'<package_name>': '<version>'}
100805
100806              CLI Example:
100807
100808                 salt '*' pkg.list_pkgs
100809
100810       salt.modules.ebuild.list_upgrades(refresh=True, backtrack=3, **kwargs)
100811              List all available package upgrades.
100812
100813              refresh
100814                     Whether  or  not to sync the portage tree before checking
100815                     for upgrades.
100816
100817              backtrack
100818                     Specifies an integer number  of  times  to  backtrack  if
100819                     dependency  calculation  fails  due  to  a conflict or an
100820                     unsatisfied dependency (default: ´3´).
100821
100822              CLI Example:
100823
100824                 salt '*' pkg.list_upgrades
100825
100826       salt.modules.ebuild.porttree_matches(name)
100827              Returns a list containing the matches for a given  package  name
100828              from  the  portage  tree.  Note that the specific version of the
100829              package will not be provided for packages that have several ver‐
100830              sions  in  the  portage tree, but rather the name of the package
100831              (i.e. "dev-python/paramiko").
100832
100833       salt.modules.ebuild.purge(name=None,     slot=None,      fromrepo=None,
100834       pkgs=None, **kwargs)
100835              Changed in version 2015.8.12,2016.3.3,2016.11.0: On minions run‐
100836              ning systemd>=205, systemd-run(1) is now used  to  isolate  com‐
100837              mands  which modify installed packages from the salt-minion dae‐
100838              mon's control group. This is done to keep systemd  from  killing
100839              any emerge commands spawned by Salt when the salt-minion service
100840              is restarted. (see KillMode in the systemd.kill(5)  manpage  for
100841              more  information).  If  desired, usage of systemd-run(1) can be
100842              suppressed by setting a config option called systemd.scope, with
100843              a value of False (no quotes).
100844
100845
100846              Portage  does  not have a purge, this function calls remove fol‐
100847              lowed by depclean to emulate a purge process
100848
100849              name   The name of the package to be deleted.
100850
100851              slot   Restrict the remove to a specific slot. Ignored  if  name
100852                     is None.
100853
100854              fromrepo
100855                     Restrict  the  remove to a specific slot. Ignored if name
100856                     is None.
100857
100858              Multiple Package Options:
100859
100860              pkgs   Uninstall multiple packages. slot and fromrepo  arguments
100861                     are  ignored  if this argument is present. Must be passed
100862                     as a python list.
100863
100864              New in version 0.16.0.
100865
100866
100867              Returns a dict containing the changes.
100868
100869              CLI Example:
100870
100871                 salt '*' pkg.purge <package name>
100872                 salt '*' pkg.purge <package name> slot=4.4
100873                 salt '*' pkg.purge <package1>,<package2>,<package3>
100874                 salt '*' pkg.purge pkgs='["foo", "bar"]'
100875
100876       salt.modules.ebuild.refresh_db()
100877              Update the portage tree using the first  available  method  from
100878              the following list:
100879
100880              · emaint sync
100881
100882              · eix-sync
100883
100884              · emerge-webrsync
100885
100886              · emerge --sync
100887
100888              To  prevent the portage tree from being synced within one day of
100889              the previous sync, add the following pillar data for  this  min‐
100890              ion:
100891
100892                 portage:
100893                   sync_wait_one_day: True
100894
100895              CLI Example:
100896
100897                 salt '*' pkg.refresh_db
100898
100899       salt.modules.ebuild.remove(name=None,     slot=None,     fromrepo=None,
100900       pkgs=None, **kwargs)
100901              Changed in version 2015.8.12,2016.3.3,2016.11.0: On minions run‐
100902              ning  systemd>=205,  systemd-run(1)  is now used to isolate com‐
100903              mands which modify installed packages from the salt-minion  dae‐
100904              mon's  control  group. This is done to keep systemd from killing
100905              any emerge commands spawned by Salt when the salt-minion service
100906              is  restarted.  (see KillMode in the systemd.kill(5) manpage for
100907              more information). If desired, usage of  systemd-run(1)  can  be
100908              suppressed by setting a config option called systemd.scope, with
100909              a value of False (no quotes).
100910
100911
100912              Remove packages via emerge --unmerge.
100913
100914              name   The name of the package to be deleted.
100915
100916              slot   Restrict the remove to a specific slot. Ignored  if  name
100917                     is None.
100918
100919              fromrepo
100920                     Restrict  the  remove to a specific slot. Ignored if name
100921                     is None.
100922
100923              Multiple Package Options:
100924
100925              pkgs   Uninstall multiple packages. slot and fromrepo  arguments
100926                     are  ignored  if this argument is present. Must be passed
100927                     as a python list.
100928
100929              New in version 0.16.0.
100930
100931
100932              Returns a dict containing the changes.
100933
100934              CLI Example:
100935
100936                 salt '*' pkg.remove <package name>
100937                 salt '*' pkg.remove <package name> slot=4.4 fromrepo=gentoo
100938                 salt '*' pkg.remove <package1>,<package2>,<package3>
100939                 salt '*' pkg.remove pkgs='["foo", "bar"]'
100940
100941       salt.modules.ebuild.update(pkg,        slot=None,        fromrepo=None,
100942       refresh=False, binhost=None)
100943              Changed in version 2015.8.12,2016.3.3,2016.11.0: On minions run‐
100944              ning systemd>=205, systemd-run(1) is now used  to  isolate  com‐
100945              mands  which modify installed packages from the salt-minion dae‐
100946              mon's control group. This is done to keep systemd  from  killing
100947              any emerge commands spawned by Salt when the salt-minion service
100948              is restarted. (see KillMode in the systemd.kill(5)  manpage  for
100949              more  information).  If  desired, usage of systemd-run(1) can be
100950              suppressed by setting a config option called systemd.scope, with
100951              a value of False (no quotes).
100952
100953
100954              Updates the passed package (emerge --update package)
100955
100956              slot   Restrict  the update to a particular slot. It will update
100957                     to the latest version within the slot.
100958
100959              fromrepo
100960                     Restrict the update to a particular repository.  It  will
100961                     update to the latest version within the repository.
100962
100963              binhost
100964                     has two options try and force.  try - tells emerge to try
100965                     and install the package from a configured binhost.  force
100966                     -  forces  emerge  to  install the package from a binhost
100967                     otherwise it fails out.
100968
100969              Return a dict containing the new package names and versions:
100970
100971                 {'<package>': {'old': '<old-version>',
100972                                'new': '<new-version>'}}
100973
100974              CLI Example:
100975
100976                 salt '*' pkg.update <package name>
100977
100978       salt.modules.ebuild.upgrade(refresh=True, binhost=None, backtrack=3)
100979              Changed in version 2015.8.12,2016.3.3,2016.11.0: On minions run‐
100980              ning  systemd>=205,  systemd-run(1)  is now used to isolate com‐
100981              mands which modify installed packages from the salt-minion  dae‐
100982              mon's  control  group. This is done to keep systemd from killing
100983              any emerge commands spawned by Salt when the salt-minion service
100984              is  restarted.  (see KillMode in the systemd.kill(5) manpage for
100985              more information). If desired, usage of  systemd-run(1)  can  be
100986              suppressed by setting a config option called systemd.scope, with
100987              a value of False (no quotes).
100988
100989
100990              Run a full system upgrade (emerge -uDN @world)
100991
100992              binhost
100993                     has two options try and force.  try - tells emerge to try
100994                     and install the package from a configured binhost.  force
100995                     - forces emerge to install the  package  from  a  binhost
100996                     otherwise it fails out.
100997
100998              backtrack
100999                     Specifies  an  integer  number  of  times to backtrack if
101000                     dependency calculation fails due  to  a  conflict  or  an
101001                     unsatisfied dependency (default: ´3´).
101002
101003              Returns a dictionary containing the changes:
101004
101005                 {'<package>':  {'old': '<old-version>',
101006                                 'new': '<new-version>'}}
101007
101008              CLI Example:
101009
101010                 salt '*' pkg.upgrade
101011
101012       salt.modules.ebuild.upgrade_available(name)
101013              Check whether or not an upgrade is available for a given package
101014
101015              CLI Example:
101016
101017                 salt '*' pkg.upgrade_available <package name>
101018
101019       salt.modules.ebuild.version(*names, **kwargs)
101020              Returns  a  string  representing the package version or an empty
101021              string if not installed. If more than one package name is speci‐
101022              fied, a dict of name/version pairs is returned.
101023
101024              CLI Example:
101025
101026                 salt '*' pkg.version <package name>
101027                 salt '*' pkg.version <package1> <package2> <package3> ...
101028
101029       salt.modules.ebuild.version_clean(version)
101030              Clean the version string removing extra data.
101031
101032              CLI Example:
101033
101034                 salt '*' pkg.version_clean <version_string>
101035
101036       salt.modules.ebuild.version_cmp(pkg1, pkg2, **kwargs)
101037              Do  a  cmp-style comparison on two packages. Return -1 if pkg1 <
101038              pkg2, 0 if pkg1 == pkg2, and 1 if pkg1 > pkg2.  Return  None  if
101039              there was a problem making the comparison.
101040
101041              CLI Example:
101042
101043                 salt '*' pkg.version_cmp '0.2.4-0' '0.2.4.1-0'
101044
101045   salt.modules.eix
101046       Support for Eix
101047
101048       salt.modules.eix.sync()
101049              Sync portage/overlay trees and update the eix database
101050
101051              CLI Example:
101052
101053                 salt '*' eix.sync
101054
101055       salt.modules.eix.update()
101056              Update the eix database
101057
101058              CLI Example:
101059
101060                 salt '*' eix.update
101061
101062   salt.modules.elasticsearch
101063       Elasticsearch - A distributed RESTful search and analytics server
101064
101065       Module  to provide Elasticsearch compatibility to Salt (compatible with
101066       Elasticsearch version 1.5.2+)
101067
101068       New in version 2015.8.0.
101069
101070
101071       depends
101072              elasticsearch-py
101073
101074       configuration
101075              This module accepts connection configuration details  either  as
101076              parameters  or  as configuration settings in /etc/salt/minion on
101077              the relevant minions:
101078
101079                 elasticsearch:
101080                   host: '10.10.10.100:9200'
101081
101082                 elasticsearch-cluster:
101083                   hosts:
101084                     - '10.10.10.100:9200'
101085                     - '10.10.10.101:9200'
101086                     - '10.10.10.102:9200'
101087
101088                 elasticsearch-extra:
101089                   hosts:
101090                     - '10.10.10.100:9200'
101091                   use_ssl: True
101092                   verify_certs: True
101093                   ca_certs: /path/to/custom_ca_bundle.pem
101094                   number_of_shards: 1
101095                   number_of_replicas: 0
101096                   functions_blacklist:
101097                     - 'saltutil.find_job'
101098                     - 'pillar.items'
101099                     - 'grains.items'
101100                   proxies:
101101                     - http: http://proxy:3128
101102                     - https: http://proxy:1080
101103
101104              When specifying proxies the requests backend will  be  used  and
101105              the 'proxies' data structure is passed as-is to that module.
101106
101107              This  data  can  also be passed into pillar. Options passed into
101108              opts will overwrite options passed into pillar.
101109
101110              Some functionality might  be  limited  by  elasticsearch-py  and
101111              Elasticsearch server versions.
101112
101113       salt.modules.elasticsearch.alias_create(indices,   alias,   hosts=None,
101114       body=None, profile=None, source=None)
101115              Create an alias for a specific index/indices
101116
101117              indices
101118                     Single or multiple indices separated by comma,  use  _all
101119                     to perform the operation on all indices.
101120
101121              alias  Alias name
101122
101123              body   Optional  definition such as routing or filter as defined
101124                     in
101125                     https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-aliases.html
101126
101127              source URL of file specifying optional definition such as  rout‐
101128                     ing or filter. Cannot be used in combination with body.
101129
101130              CLI example:
101131
101132                 salt myminion elasticsearch.alias_create testindex_v1 testindex
101133
101134       salt.modules.elasticsearch.alias_delete(indices,  aliases,  hosts=None,
101135       body=None, profile=None, source=None)
101136              Delete an alias of an index
101137
101138              indices
101139                     Single or multiple indices separated by comma,  use  _all
101140                     to perform the operation on all indices.
101141
101142              aliases
101143                     Alias names separated by comma
101144
101145              CLI example:
101146
101147                 salt myminion elasticsearch.alias_delete testindex_v1 testindex
101148
101149       salt.modules.elasticsearch.alias_exists(aliases,          indices=None,
101150       hosts=None, profile=None)
101151              Return a boolean indicating whether given alias exists
101152
101153              indices
101154                     Single or multiple indices separated by comma,  use  _all
101155                     to perform the operation on all indices.
101156
101157              aliases
101158                     Alias names separated by comma
101159
101160              CLI example:
101161
101162                 salt myminion elasticsearch.alias_exists None testindex
101163
101164       salt.modules.elasticsearch.alias_get(indices=None,        aliases=None,
101165       hosts=None, profile=None)
101166              Check for the existence of an alias and if it exists, return it
101167
101168              indices
101169                     Single or multiple indices separated by comma,  use  _all
101170                     to perform the operation on all indices.
101171
101172              aliases
101173                     Alias names separated by comma
101174
101175              CLI example:
101176
101177                 salt myminion elasticsearch.alias_get testindex
101178
101179       salt.modules.elasticsearch.cluster_health(index=None, level=u'cluster',
101180       local=False, hosts=None, profile=None)
101181              New in version 2017.7.0.
101182
101183
101184              Return Elasticsearch cluster health.
101185
101186              index  Limit the information returned to a specific index
101187
101188              level  Specify the level of  detail  for  returned  information,
101189                     default   'cluster',   valid   choices   are:  'cluster',
101190                     'indices', 'shards'
101191
101192              local  Return local information, do not retrieve the state  from
101193                     master node
101194
101195              CLI example:
101196
101197                 salt myminion elasticsearch.cluster_health
101198
101199       salt.modules.elasticsearch.cluster_stats(nodes=None,  hosts=None,  pro‐
101200       file=None)
101201              New in version 2017.7.0.
101202
101203
101204              Return Elasticsearch cluster stats.
101205
101206              nodes  List of cluster nodes (id or name) to display stats  for.
101207                     Use _local for connected node, empty for all
101208
101209              CLI example:
101210
101211                 salt myminion elasticsearch.cluster_stats
101212
101213       salt.modules.elasticsearch.document_create(index,  doc_type, body=None,
101214       id=None, hosts=None, profile=None, source=None)
101215              Create a document in a specified index
101216
101217              index  Index name where the document should reside
101218
101219              doc_type
101220                     Type of the document
101221
101222              body   Document to store
101223
101224              source URL of file specifying document to store. Cannot be  used
101225                     in combination with body.
101226
101227              id     Optional   unique   document   identifier  for  specified
101228                     doc_type (empty for random)
101229
101230              CLI example:
101231
101232                 salt myminion elasticsearch.document_create testindex doctype1 '{}'
101233
101234       salt.modules.elasticsearch.document_delete(index,     doc_type,     id,
101235       hosts=None, profile=None)
101236              Delete a document from an index
101237
101238              index  Index name where the document resides
101239
101240              doc_type
101241                     Type of the document
101242
101243              id     Document identifier
101244
101245              CLI example:
101246
101247                 salt myminion elasticsearch.document_delete testindex doctype1 AUx-384m0Bug_8U80wQZ
101248
101249       salt.modules.elasticsearch.document_exists(index, id, doc_type=u'_all',
101250       hosts=None, profile=None)
101251              Return a boolean indicating whether given document exists
101252
101253              index  Index name where the document resides
101254
101255              id     Document identifier
101256
101257              doc_type
101258                     Type of the document, use _all to fetch the  first  docu‐
101259                     ment matching the ID across all types
101260
101261              CLI example:
101262
101263                 salt myminion elasticsearch.document_exists testindex AUx-384m0Bug_8U80wQZ
101264
101265       salt.modules.elasticsearch.document_get(index,   id,  doc_type=u'_all',
101266       hosts=None, profile=None)
101267              Check for the existence of a document and if it  exists,  return
101268              it
101269
101270              index  Index name where the document resides
101271
101272              id     Document identifier
101273
101274              doc_type
101275                     Type  of  the document, use _all to fetch the first docu‐
101276                     ment matching the ID across all types
101277
101278              CLI example:
101279
101280                 salt myminion elasticsearch.document_get testindex AUx-384m0Bug_8U80wQZ
101281
101282       salt.modules.elasticsearch.index_close(index,    allow_no_indices=True,
101283       expand_wildcards=u'open',   ignore_unavailable=True,  hosts=None,  pro‐
101284       file=None)
101285              New in version 2017.7.0.
101286
101287
101288              Close specified index.
101289
101290              index  Index to be closed
101291
101292              allow_no_indices
101293                     Whether  to  ignore  if  a  wildcard  indices  expression
101294                     resolves  into  no  concrete indices. (This includes _all
101295                     string or when no indices have been specified)
101296
101297              expand_wildcards
101298                     Whether to expand wildcard expression to concrete indices
101299                     that  are  open,  closed  or both., default ‘open’, valid
101300                     choices are: ‘open’, ‘closed’, ‘none’, ‘all’
101301
101302              ignore_unavailable
101303                     Whether specified concrete indices should be ignored when
101304                     unavailable (missing or closed)
101305
101306              CLI example:
101307
101308                 salt myminion elasticsearch.index_close testindex
101309
101310       salt.modules.elasticsearch.index_create(index,  body=None,  hosts=None,
101311       profile=None, source=None)
101312              Create an index
101313
101314              index  Index name
101315
101316              body   Index  definition,  such  as  settings  and  mappings  as
101317                     defined                                                in
101318                     https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-create-index.html
101319
101320              source URL  to  file specifying index definition. Cannot be used
101321                     in combination with body.
101322
101323              CLI example:
101324
101325                 salt myminion elasticsearch.index_create testindex
101326                 salt myminion elasticsearch.index_create testindex2 '{"settings" : {"index" : {"number_of_shards" : 3, "number_of_replicas" : 2}}}'
101327
101328       salt.modules.elasticsearch.index_delete(index,     hosts=None,     pro‐
101329       file=None)
101330              Delete an index
101331
101332              index  Index name
101333
101334              CLI example:
101335
101336                 salt myminion elasticsearch.index_delete testindex
101337
101338       salt.modules.elasticsearch.index_exists(index,     hosts=None,     pro‐
101339       file=None)
101340              Return a boolean indicating whether given index exists
101341
101342              index  Index name
101343
101344              CLI example:
101345
101346                 salt myminion elasticsearch.index_exists testindex
101347
101348       salt.modules.elasticsearch.index_get(index, hosts=None, profile=None)
101349              Check for the existence of an index and if it exists, return it
101350
101351              index  Index name
101352
101353              CLI example:
101354
101355                 salt myminion elasticsearch.index_get testindex
101356
101357       salt.modules.elasticsearch.index_open(index,     allow_no_indices=True,
101358       expand_wildcards=u'closed',  ignore_unavailable=True,  hosts=None, pro‐
101359       file=None)
101360              New in version 2017.7.0.
101361
101362
101363              Open specified index.
101364
101365              index  Index to be opened
101366
101367              allow_no_indices
101368                     Whether  to  ignore  if  a  wildcard  indices  expression
101369                     resolves  into  no  concrete indices. (This includes _all
101370                     string or when no indices have been specified)
101371
101372              expand_wildcards
101373                     Whether to expand wildcard expression to concrete indices
101374                     that  are  open, closed or both., default ‘closed’, valid
101375                     choices are: ‘open’, ‘closed’, ‘none’, ‘all’
101376
101377              ignore_unavailable
101378                     Whether specified concrete indices should be ignored when
101379                     unavailable (missing or closed)
101380
101381              CLI example:
101382
101383                 salt myminion elasticsearch.index_open testindex
101384
101385       salt.modules.elasticsearch.index_template_create(name,       body=None,
101386       hosts=None, profile=None, source=None)
101387              Create an index template
101388
101389              name   Index template name
101390
101391              body   Template      definition      as       specified       in
101392                     http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-templates.html
101393
101394              source URL to file specifying  template  definition.  Cannot  be
101395                     used in combination with body.
101396
101397              CLI example:
101398
101399                 salt myminion elasticsearch.index_template_create testindex_templ '{ "template": "logstash-*", "order": 1, "settings": { "number_of_shards": 1 } }'
101400
101401       salt.modules.elasticsearch.index_template_delete(name, hosts=None, pro‐
101402       file=None)
101403              Delete an index template (type) along with its data
101404
101405              name   Index template name
101406
101407              CLI example:
101408
101409                 salt myminion elasticsearch.index_template_delete testindex_templ user
101410
101411       salt.modules.elasticsearch.index_template_exists(name, hosts=None, pro‐
101412       file=None)
101413              Return a boolean indicating whether given index template exists
101414
101415              name   Index template name
101416
101417              CLI example:
101418
101419                 salt myminion elasticsearch.index_template_exists testindex_templ
101420
101421       salt.modules.elasticsearch.index_template_get(name,   hosts=None,  pro‐
101422       file=None)
101423              Retrieve template definition of index or index/type
101424
101425              name   Index template name
101426
101427              CLI example:
101428
101429                 salt myminion elasticsearch.index_template_get testindex_templ
101430
101431       salt.modules.elasticsearch.info(hosts=None, profile=None)
101432              New in version 2017.7.0.
101433
101434
101435              Return Elasticsearch information.
101436
101437              CLI example:
101438
101439                 salt myminion elasticsearch.info
101440                 salt myminion elasticsearch.info profile=elasticsearch-extra
101441
101442       salt.modules.elasticsearch.mapping_create(index,  doc_type,  body=None,
101443       hosts=None, profile=None, source=None)
101444              Create a mapping in a given index
101445
101446              index  Index for the mapping
101447
101448              doc_type
101449                     Name of the document type
101450
101451              body   Mapping       definition       as       specified      in
101452                     https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-put-mapping.html
101453
101454              source URL to file specifying mapping definition. Cannot be used
101455                     in combination with body.
101456
101457              CLI example:
101458
101459                 salt myminion elasticsearch.mapping_create testindex user '{ "user" : { "properties" : { "message" : {"type" : "string", "store" : true } } } }'
101460
101461       salt.modules.elasticsearch.mapping_delete(index, doc_type,  hosts=None,
101462       profile=None)
101463              Delete a mapping (type) along with its data. As of Elasticsearch
101464              5.0 this is no longer available.
101465
101466              index  Index for the mapping
101467
101468              doc_type
101469                     Name of the document type
101470
101471              CLI example:
101472
101473                 salt myminion elasticsearch.mapping_delete testindex user
101474
101475       salt.modules.elasticsearch.mapping_get(index,   doc_type,   hosts=None,
101476       profile=None)
101477              Retrieve mapping definition of index or index/type
101478
101479              index  Index for the mapping
101480
101481              doc_type
101482                     Name of the document type
101483
101484              CLI example:
101485
101486                 salt myminion elasticsearch.mapping_get testindex user
101487
101488       salt.modules.elasticsearch.node_info(nodes=None,   flat_settings=False,
101489       hosts=None, profile=None)
101490              New in version 2017.7.0.
101491
101492
101493              Return Elasticsearch node information.
101494
101495              nodes  List of cluster nodes (id or name) to display stats  for.
101496                     Use _local for connected node, empty for all
101497
101498              flat_settings
101499                     Flatten settings keys
101500
101501              CLI example:
101502
101503                 salt myminion elasticsearch.node_info flat_settings=True
101504
101505       salt.modules.elasticsearch.ping(allow_failure=False,  hosts=None,  pro‐
101506       file=None)
101507              New in version 2017.7.0.
101508
101509
101510              Test connection to Elasticsearch instance. This method does  not
101511              fail if not explicitly specified.
101512
101513              allow_failure
101514                     Throw exception if ping fails
101515
101516              CLI example:
101517
101518                 salt myminion elasticsearch.ping allow_failure=True
101519                 salt myminion elasticsearch.ping profile=elasticsearch-extra
101520
101521       salt.modules.elasticsearch.pipeline_create(id,  body,  hosts=None, pro‐
101522       file=None)
101523              New in version 2017.7.0.
101524
101525
101526              Create Ingest pipeline by supplied definition.  Available  since
101527              Elasticsearch 5.0.
101528
101529              id     Pipeline id
101530
101531              body   Pipeline       definition       as      specified      in
101532                     https://www.elastic.co/guide/en/elasticsearch/reference/master/pipeline.html
101533
101534              CLI example:
101535
101536                 salt myminion elasticsearch.pipeline_create mypipeline '{"description": "my custom pipeline", "processors": [{"set" : {"field": "collector_timestamp_millis", "value": "{{_ingest.timestamp}}"}}]}'
101537
101538       salt.modules.elasticsearch.pipeline_delete(id,     hosts=None,     pro‐
101539       file=None)
101540              New in version 2017.7.0.
101541
101542
101543              Delete Ingest pipeline. Available since Elasticsearch 5.0.
101544
101545              id     Pipeline id
101546
101547              CLI example:
101548
101549                 salt myminion elasticsearch.pipeline_delete mypipeline
101550
101551       salt.modules.elasticsearch.pipeline_get(id, hosts=None, profile=None)
101552              New in version 2017.7.0.
101553
101554
101555              Retrieve Ingest pipeline definition.  Available  since  Elastic‐
101556              search 5.0.
101557
101558              id     Pipeline id
101559
101560              CLI example:
101561
101562                 salt myminion elasticsearch.pipeline_get mypipeline
101563
101564       salt.modules.elasticsearch.pipeline_simulate(id,  body,  verbose=False,
101565       hosts=None, profile=None)
101566              New in version 2017.7.0.
101567
101568
101569              Simulate existing Ingest pipeline on  provided  data.  Available
101570              since Elasticsearch 5.0.
101571
101572              id     Pipeline id
101573
101574              body   Pipeline       definition       as      specified      in
101575                     https://www.elastic.co/guide/en/elasticsearch/reference/master/pipeline.html
101576
101577              verbose
101578                     Specify if the output should be more verbose
101579
101580              CLI example:
101581
101582                 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
101583
101584       salt.modules.elasticsearch.repository_create(name,   body,  hosts=None,
101585       profile=None)
101586              New in version 2017.7.0.
101587
101588
101589              Create repository for storing snapshots. Note that shared repos‐
101590              itory paths have to be specified in path.repo Elasticsearch con‐
101591              figuration option.
101592
101593              name   Repository name
101594
101595              body   Repository           definition           as           in
101596                     https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-snapshots.html
101597
101598              CLI example:
101599
101600                 salt myminion elasticsearch.repository_create testrepo '{"type":"fs","settings":{"location":"/tmp/test","compress":true}}'
101601
101602       salt.modules.elasticsearch.repository_delete(name,   hosts=None,   pro‐
101603       file=None)
101604              New in version 2017.7.0.
101605
101606
101607              Delete existing repository.
101608
101609              name   Repository name
101610
101611              CLI example:
101612
101613                 salt myminion elasticsearch.repository_delete testrepo
101614
101615       salt.modules.elasticsearch.repository_get(name,            local=False,
101616       hosts=None, profile=None)
101617              New in version 2017.7.0.
101618
101619
101620              Get existing repository details.
101621
101622              name   Repository name
101623
101624              local  Retrieve only local information, default is false
101625
101626              CLI example:
101627
101628                 salt myminion elasticsearch.repository_get testrepo
101629
101630       salt.modules.elasticsearch.repository_verify(name,   hosts=None,   pro‐
101631       file=None)
101632              New in version 2017.7.0.
101633
101634
101635              Obtain  list  of  cluster nodes which successfully verified this
101636              repository.
101637
101638              name   Repository name
101639
101640              CLI example:
101641
101642                 salt myminion elasticsearch.repository_verify testrepo
101643
101644       salt.modules.elasticsearch.search_template_create(id, body, hosts=None,
101645       profile=None)
101646              New in version 2017.7.0.
101647
101648
101649              Create search template by supplied definition
101650
101651              id     Template ID
101652
101653              body   Search template definition
101654
101655              CLI example:
101656
101657                 salt myminion elasticsearch.search_template_create mytemplate '{"template":{"query":{"match":{"title":"{{query_string}}"}}}}'
101658
101659       salt.modules.elasticsearch.search_template_delete(id,  hosts=None, pro‐
101660       file=None)
101661              New in version 2017.7.0.
101662
101663
101664              Delete existing search template definition.
101665
101666              id     Template ID
101667
101668              CLI example:
101669
101670                 salt myminion elasticsearch.search_template_delete mytemplate
101671
101672       salt.modules.elasticsearch.search_template_get(id,   hosts=None,   pro‐
101673       file=None)
101674              New in version 2017.7.0.
101675
101676
101677              Obtain existing search template definition.
101678
101679              id     Template ID
101680
101681              CLI example:
101682
101683                 salt myminion elasticsearch.search_template_get mytemplate
101684
101685       salt.modules.elasticsearch.snapshot_create(repository,        snapshot,
101686       body=None, hosts=None, profile=None)
101687              New in version 2017.7.0.
101688
101689
101690              Create snapshot in specified repository by supplied definition.
101691
101692              repository
101693                     Repository name
101694
101695              snapshot
101696                     Snapshot name
101697
101698              body   Snapshot           definition            as            in
101699                     https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-snapshots.html
101700
101701              CLI example:
101702
101703                 salt myminion elasticsearch.snapshot_create testrepo testsnapshot '{"indices":"index_1,index_2","ignore_unavailable":true,"include_global_state":false}'
101704
101705       salt.modules.elasticsearch.snapshot_delete(repository,        snapshot,
101706       hosts=None, profile=None)
101707              New in version 2017.7.0.
101708
101709
101710              Delete snapshot from specified repository.
101711
101712              repository
101713                     Repository name
101714
101715              snapshot
101716                     Snapshot name
101717
101718              CLI example:
101719
101720                 salt myminion elasticsearch.snapshot_delete testrepo testsnapshot
101721
101722       salt.modules.elasticsearch.snapshot_get(repository,           snapshot,
101723       ignore_unavailable=False, hosts=None, profile=None)
101724              New in version 2017.7.0.
101725
101726
101727              Obtain snapshot residing in specified repository.
101728
101729              repository
101730                     Repository name
101731
101732              snapshot
101733                     Snapshot name, use _all to obtain all snapshots in speci‐
101734                     fied repository
101735
101736              ignore_unavailable
101737                     Ignore unavailable snapshots
101738
101739              CLI example:
101740
101741                 salt myminion elasticsearch.snapshot_get testrepo testsnapshot
101742
101743       salt.modules.elasticsearch.snapshot_restore(repository,       snapshot,
101744       body=None, hosts=None, profile=None)
101745              New in version 2017.7.0.
101746
101747
101748              Restore existing snapshot in specified  repository  by  supplied
101749              definition.
101750
101751              repository
101752                     Repository name
101753
101754              snapshot
101755                     Snapshot name
101756
101757              body   Restore            definition            as            in
101758                     https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-snapshots.html
101759
101760              CLI example:
101761
101762                 salt myminion elasticsearch.snapshot_restore testrepo testsnapshot '{"indices":"index_1,index_2","ignore_unavailable":true,"include_global_state":true}'
101763
101764       salt.modules.elasticsearch.snapshot_status(repository=None,       snap‐
101765       shot=None, ignore_unavailable=False, hosts=None, profile=None)
101766              New in version 2017.7.0.
101767
101768
101769              Obtain status of all currently running snapshots.
101770
101771              repository
101772                     Particular repository to look for snapshots
101773
101774              snapshot
101775                     Snapshot name
101776
101777              ignore_unavailable
101778                     Ignore unavailable snapshots
101779
101780              CLI example:
101781
101782                 salt myminion elasticsearch.snapshot_status ignore_unavailable=True
101783
101784   salt.modules.environ
101785       Support for getting and setting the environment variables of  the  cur‐
101786       rent salt process.
101787
101788       salt.modules.environ.get(key, default=u'')
101789              Get a single salt process environment variable.
101790
101791              key    String used as the key for environment lookup.
101792
101793              default
101794                     If  the  key is not found in the environment, return this
101795                     value.  Default: ''
101796
101797              CLI Example:
101798
101799                 salt '*' environ.get foo
101800                 salt '*' environ.get baz default=False
101801
101802       salt.modules.environ.has_value(key, value=None)
101803              Determine whether the key exists in  the  current  salt  process
101804              environment  dictionary. Optionally compare the current value of
101805              the environment against the supplied value string.
101806
101807              key    Must be a string. Used as key for environment lookup.
101808
101809              value: Optional. If key exists in the environment,  compare  the
101810                     current  value  with  this value. Return True if they are
101811                     equal.
101812
101813              CLI Example:
101814
101815                 salt '*' environ.has_value foo
101816
101817       salt.modules.environ.item(keys, default=u'')
101818              Get one or more salt process environment variables.   Returns  a
101819              dict.
101820
101821              keys   Either a string or a list of strings that will be used as
101822                     the keys for environment lookup.
101823
101824              default
101825                     If the key is not found in the environment,  return  this
101826                     value.  Default: ''
101827
101828              CLI Example:
101829
101830                 salt '*' environ.item foo
101831                 salt '*' environ.item '[foo, baz]' default=None
101832
101833       salt.modules.environ.items()
101834              Return a dict of the entire environment set for the salt process
101835
101836              CLI Example:
101837
101838                 salt '*' environ.items
101839
101840       salt.modules.environ.setenv(environ,                false_unsets=False,
101841       clear_all=False, update_minion=False, permanent=False)
101842              Set multiple salt process environment  variables  from  a  dict.
101843              Returns a dict.
101844
101845              environ
101846                     Must  be  a  dict. The top-level keys of the dict are the
101847                     names of the environment variables  to  set.  Each  key's
101848                     value   must   be   a  string  or  False.  Refer  to  the
101849                     'false_unsets' parameter for behavior when a value set to
101850                     False.
101851
101852              false_unsets
101853                     If  a key's value is False and false_unsets is True, then
101854                     the key will be removed from the salt processes  environ‐
101855                     ment  dict  entirely.  If  a  key's  value  is  False and
101856                     false_unsets is not True, then the key's  value  will  be
101857                     set to an empty string.  Default: False
101858
101859              clear_all
101860                     USE WITH CAUTION! This option can unset environment vari‐
101861                     ables needed for salt to function properly.  If clear_all
101862                     is  True,  then  any environment variables not defined in
101863                     the environ dict will be deleted.  Default: False
101864
101865              update_minion
101866                     If  True,  apply  these  environ  changes  to  the   main
101867                     salt-minion  process.  If False, the environ changes will
101868                     only affect the current salt subprocess.  Default: False
101869
101870              permanent
101871                     On Windows minions this will set the environment variable
101872                     in the registry so that it is always added as an environ‐
101873                     ment variable when applications open. If you want to  set
101874                     the  variable to HKLM instead of HKCU just pass in "HKLM"
101875                     for this parameter. On all other minion types  this  will
101876                     be  ignored. Note: This will only take affect on applica‐
101877                     tions opened after this has been set.
101878
101879              CLI Example:
101880
101881                 salt '*' environ.setenv '{"foo": "bar", "baz": "quux"}'
101882                 salt '*' environ.setenv '{"a": "b", "c": False}' false_unsets=True
101883
101884       salt.modules.environ.setval(key,   val,   false_unsets=False,    perma‐
101885       nent=False)
101886              Set  a single salt process environment variable. Returns True on
101887              success.
101888
101889              key    The environment key to set. Must be a string.
101890
101891              val    The value to set. Must be a string or False. Refer to the
101892                     'false_unsets' parameter for behavior when set to False.
101893
101894              false_unsets
101895                     If  val  is  False and false_unsets is True, then the key
101896                     will be removed from the salt processes environment  dict
101897                     entirely.   If val is False and false_unsets is not True,
101898                     then the key's value will be  set  to  an  empty  string.
101899                     Default: False.
101900
101901              permanent
101902                     On Windows minions this will set the environment variable
101903                     in the registry so that it is always added as an environ‐
101904                     ment  variable when applications open. If you want to set
101905                     the variable to HKLM instead of HKCU just pass in  "HKLM"
101906                     for  this  parameter. On all other minion types this will
101907                     be ignored. Note: This will only take affect on  applica‐
101908                     tions opened after this has been set.
101909
101910              CLI Example:
101911
101912                 salt '*' environ.setval foo bar
101913                 salt '*' environ.setval baz val=False false_unsets=True
101914                 salt '*' environ.setval baz bar permanent=True
101915                 salt '*' environ.setval baz bar permanent=HKLM
101916
101917   salt.modules.eselect
101918       Support for eselect, Gentoo's configuration and management tool.
101919
101920       salt.modules.eselect.exec_action(module, action, module_parameter=None,
101921       action_parameter=None, state_only=False)
101922              Execute an arbitrary action on a module.
101923
101924              module name of the module to be executed
101925
101926              action name of the module's action to be run
101927
101928              module_parameter
101929                     additional params passed to the defined module
101930
101931              action_parameter
101932                     additional params passed to the defined action
101933
101934              state_only
101935                     don't return any output but only the  success/failure  of
101936                     the operation
101937
101938              CLI Example (updating the php implementation used for apache2):
101939
101940                 salt '*' eselect.exec_action php update action_parameter='apache2'
101941
101942       salt.modules.eselect.get_current_target(module,  module_parameter=None,
101943       action_parameter=None)
101944              Get the currently selected target for the given module.
101945
101946              module name of the module to be queried for its current target
101947
101948              module_parameter
101949                     additional params passed to the defined module
101950
101951              action_parameter
101952                     additional params passed to the 'show' action
101953
101954              CLI Example (current target of system-wide java-vm):
101955
101956                 salt '*' eselect.get_current_target java-vm action_parameter='system'
101957
101958              CLI Example (current target of kernel symlink):
101959
101960                 salt '*' eselect.get_current_target kernel
101961
101962       salt.modules.eselect.get_modules()
101963              List available eselect modules.
101964
101965              CLI Example:
101966
101967                 salt '*' eselect.get_modules
101968
101969       salt.modules.eselect.get_target_list(module, action_parameter=None)
101970              List available targets for the given module.
101971
101972              module name of the module to be queried for its targets
101973
101974              action_parameter
101975                     additional params passed to the defined action
101976
101977                     New in version 2016.11.0.
101978
101979
101980              CLI Example:
101981
101982                 salt '*' eselect.get_target_list kernel
101983
101984       salt.modules.eselect.set_target(module, target,  module_parameter=None,
101985       action_parameter=None)
101986              Set the target for the given module.  Target can be specified by
101987              index or name.
101988
101989              module name of the module for which a target should be set
101990
101991              target name of the target to be set for this module
101992
101993              module_parameter
101994                     additional params passed to the defined module
101995
101996              action_parameter
101997                     additional params passed to the defined action
101998
101999              CLI Example (setting target of system-wide java-vm):
102000
102001                 salt '*' eselect.set_target java-vm icedtea-bin-7 action_parameter='system'
102002
102003              CLI Example (setting target of kernel symlink):
102004
102005                 salt '*' eselect.set_target kernel linux-3.17.5-gentoo
102006
102007   salt.modules.esxi
102008       Glues the VMware vSphere Execution Module to the VMware ESXi Proxy Min‐
102009       ions to the esxi proxymodule.
102010
102011       New in version 2015.8.4.
102012
102013
102014       Depends: vSphere Remote Execution Module (salt.modules.vsphere)
102015
102016       For  documentation  on commands that you can direct to an ESXi host via
102017       proxy, look in the documentation for salt.modules.vsphere.
102018
102019       This execution module calls through to a function  in  the  ESXi  proxy
102020       module called ch_config, which looks up the function passed in the com‐
102021       mand parameter in salt.modules.vsphere and calls it.
102022
102023       To execute commands with an ESXi Proxy Minion using the vSphere  Execu‐
102024       tion Module, use the esxi.cmd <vsphere-function-name> syntax. Both args
102025       and kwargs needed for various vsphere execution module  functions  must
102026       be passed through in a kwarg- type manor.
102027
102028          salt 'esxi-proxy' esxi.cmd system_info
102029          salt 'exsi-proxy' esxi.cmd get_service_policy service_name='ssh'
102030
102031       salt.modules.esxi.cmd(command, *args, **kwargs)
102032
102033       salt.modules.esxi.get_details()
102034
102035   salt.modules.etcd_mod
102036       Execution module to work with etcd
102037
102038       depends
102039
102040              · python-etcd
102041
102042   Configuration
102043       To  work  with  an  etcd server you must configure an etcd profile. The
102044       etcd config can be set in either the Salt Minion configuration file  or
102045       in pillar:
102046
102047          my_etd_config:
102048            etcd.host: 127.0.0.1
102049            etcd.port: 4001
102050
102051       It  is  technically possible to configure etcd without using a profile,
102052       but this is not considered to be a best practice, especially when  mul‐
102053       tiple etcd servers or clusters are available.
102054
102055          etcd.host: 127.0.0.1
102056          etcd.port: 4001
102057
102058       NOTE:
102059          The  etcd  configuration  can  also be set in the Salt Master config
102060          file, but in order to use any etcd  configurations  defined  in  the
102061          Salt Master config, the pillar_opts must be set to True.
102062
102063          Be  aware that setting pillar_opts to True has security implications
102064          as this makes all master configuration  settings  available  in  all
102065          minion's pillars.
102066
102067       salt.modules.etcd_mod.get_(key, recurse=False, profile=None, **kwargs)
102068              New in version 2014.7.0.
102069
102070
102071              Get a value from etcd, by direct path.  Returns None on failure.
102072
102073              CLI Examples:
102074
102075                 salt myminion etcd.get /path/to/key
102076                 salt myminion etcd.get /path/to/key profile=my_etcd_config
102077                 salt myminion etcd.get /path/to/key recurse=True profile=my_etcd_config
102078                 salt myminion etcd.get /path/to/key host=127.0.0.1 port=2379
102079
102080       salt.modules.etcd_mod.ls_(path=u'/', profile=None, **kwargs)
102081              New in version 2014.7.0.
102082
102083
102084              Return  all  keys  and  dirs  inside a specific path. Returns an
102085              empty dict on failure.
102086
102087              CLI Example:
102088
102089                 salt myminion etcd.ls /path/to/dir/
102090                 salt myminion etcd.ls /path/to/dir/ profile=my_etcd_config
102091                 salt myminion etcd.ls /path/to/dir/ host=127.0.0.1 port=2379
102092
102093       salt.modules.etcd_mod.rm_(key, recurse=False, profile=None, **kwargs)
102094              New in version 2014.7.0.
102095
102096
102097              Delete a key from etcd.  Returns True if the  key  was  deleted,
102098              False if it was not and None if there was a failure.
102099
102100              CLI Example:
102101
102102                 salt myminion etcd.rm /path/to/key
102103                 salt myminion etcd.rm /path/to/key profile=my_etcd_config
102104                 salt myminion etcd.rm /path/to/key host=127.0.0.1 port=2379
102105                 salt myminion etcd.rm /path/to/dir recurse=True profile=my_etcd_config
102106
102107       salt.modules.etcd_mod.set_(key,  value,  profile=None, ttl=None, direc‐
102108       tory=False, **kwargs)
102109              New in version 2014.7.0.
102110
102111
102112              Set a key in etcd by direct path. Optionally, create a directory
102113              or set a TTL on the key.  Returns None on failure.
102114
102115              CLI Example:
102116
102117                 salt myminion etcd.set /path/to/key value
102118                 salt myminion etcd.set /path/to/key value profile=my_etcd_config
102119                 salt myminion etcd.set /path/to/key value host=127.0.0.1 port=2379
102120                 salt myminion etcd.set /path/to/dir '' directory=True
102121                 salt myminion etcd.set /path/to/key value ttl=5
102122
102123       salt.modules.etcd_mod.tree(path=u'/', profile=None, **kwargs)
102124              New in version 2014.7.0.
102125
102126
102127              Recurse  through  etcd  and  return all values.  Returns None on
102128              failure.
102129
102130              CLI Example:
102131
102132                 salt myminion etcd.tree
102133                 salt myminion etcd.tree profile=my_etcd_config
102134                 salt myminion etcd.tree host=127.0.0.1 port=2379
102135                 salt myminion etcd.tree /path/to/keys profile=my_etcd_config
102136
102137       salt.modules.etcd_mod.update(fields, path=u'', profile=None, **kwargs)
102138              New in version 2016.3.0.
102139
102140
102141              Sets a dictionary of values  in  one  call.   Useful  for  large
102142              updates  in  syndic  environments.  The dictionary can contain a
102143              mix of formats such as:
102144
102145                 {
102146                   '/some/example/key': 'bar',
102147                   '/another/example/key': 'baz'
102148                 }
102149
102150              Or it may be a straight dictionary, which will be  flattened  to
102151              look like the above format:
102152
102153                 {
102154                     'some': {
102155                         'example': {
102156                             'key': 'bar'
102157                         }
102158                     },
102159                     'another': {
102160                         'example': {
102161                             'key': 'baz'
102162                         }
102163                     }
102164                 }
102165
102166              You can even mix the two formats and it will be flattened to the
102167              first format.  Leading and trailing '/' will be removed.
102168
102169              Empty directories can be created by setting the value of the key
102170              to an empty dictionary.
102171
102172              The 'path' parameter will optionally set the root of the path to
102173              use.
102174
102175              CLI Example:
102176
102177                 salt myminion etcd.update "{'/path/to/key': 'baz', '/another/key': 'bar'}"
102178                 salt myminion etcd.update "{'/path/to/key': 'baz', '/another/key': 'bar'}" profile=my_etcd_config
102179                 salt myminion etcd.update "{'/path/to/key': 'baz', '/another/key': 'bar'}" host=127.0.0.1 port=2379
102180                 salt myminion etcd.update "{'/path/to/key': 'baz', '/another/key': 'bar'}" path='/some/root'
102181
102182       salt.modules.etcd_mod.watch(key,  recurse=False,  profile=None,   time‐
102183       out=0, index=None, **kwargs)
102184              New in version 2016.3.0.
102185
102186
102187              Makes  a  best effort to watch for a key or tree change in etcd.
102188              Returns a dict containing the new key value ( or None if the key
102189              was  deleted  ),  the  modifiedIndex of the key, whether the key
102190              changed or not, the path to the key that changed and whether  it
102191              is a directory or not.
102192
102193              If something catastrophic happens, returns {}
102194
102195              CLI Example:
102196
102197                 salt myminion etcd.watch /path/to/key
102198                 salt myminion etcd.watch /path/to/key timeout=10
102199                 salt myminion etcd.watch /patch/to/key profile=my_etcd_config index=10
102200                 salt myminion etcd.watch /patch/to/key host=127.0.0.1 port=2379
102201
102202   salt.modules.ethtool module
102203       Module for running ethtool command
102204
102205       New in version 2016.3.0.
102206
102207
102208       codeauthor
102209              Krzysztof Pawlowski <msciciel@msciciel.eu>
102210
102211       maturity
102212              new
102213
102214       depends
102215              python-ethtool
102216
102217       platform
102218              linux
102219
102220       salt.modules.ethtool.set_coalesce(devname, **kwargs)
102221              Changes the coalescing settings of the specified network device
102222
102223              CLI Example:
102224
102225                 salt '*' ethtool.set_coalesce <devname> [adaptive_rx=on|off] [adaptive_tx=on|off] [rx_usecs=N] [rx_frames=N]
102226                     [rx_usecs_irq=N] [rx_frames_irq=N] [tx_usecs=N] [tx_frames=N] [tx_usecs_irq=N] [tx_frames_irq=N]
102227                     [stats_block_usecs=N] [pkt_rate_low=N] [rx_usecs_low=N] [rx_frames_low=N] [tx_usecs_low=N] [tx_frames_low=N]
102228                     [pkt_rate_high=N] [rx_usecs_high=N] [rx_frames_high=N] [tx_usecs_high=N] [tx_frames_high=N]
102229                     [sample_interval=N]
102230
102231       salt.modules.ethtool.set_offload(devname, **kwargs)
102232              Changes  the offload parameters and other features of the speci‐
102233              fied network device
102234
102235              CLI Example:
102236
102237                 salt '*' ethtool.set_offload <devname> tcp_segmentation_offload=on
102238
102239       salt.modules.ethtool.set_ring(devname, **kwargs)
102240              Changes the rx/tx  ring  parameters  of  the  specified  network
102241              device
102242
102243              CLI Example:
102244
102245                 salt '*' ethtool.set_ring <devname> [rx=N] [rx_mini=N] [rx_jumbo=N] [tx=N]
102246
102247       salt.modules.ethtool.show_coalesce(devname)
102248              Queries the specified network device for coalescing information
102249
102250              CLI Example:
102251
102252                 salt '*' ethtool.show_coalesce <devname>
102253
102254       salt.modules.ethtool.show_driver(devname)
102255              Queries  the  specified  network  device  for  associated driver
102256              information
102257
102258              CLI Example:
102259
102260                 salt '*' ethtool.show_driver <devname>
102261
102262       salt.modules.ethtool.show_offload(devname)
102263              Queries the specified network device for the state  of  protocol
102264              offload and other features
102265
102266              CLI Example:
102267
102268                 salt '*' ethtool.show_offload <devname>
102269
102270       salt.modules.ethtool.show_ring(devname)
102271              Queries  the  specified  network device for rx/tx ring parameter
102272              information
102273
102274              CLI Example:
102275
102276                 salt '*' ethtool.show_ring <devname>
102277
102278   salt.modules.event
102279       Use the Salt Event System to fire events from the master to the  minion
102280       and vice-versa.
102281
102282       salt.modules.event.fire(data, tag)
102283              Fire an event on the local minion event bus. Data must be formed
102284              as a dict.
102285
102286              CLI Example:
102287
102288                 salt '*' event.fire '{"data":"my event data"}' 'tag'
102289
102290       salt.modules.event.fire_master(data, tag, preload=None)
102291              Fire an event off up to the master server
102292
102293              CLI Example:
102294
102295                 salt '*' event.fire_master '{"data":"my event data"}' 'tag'
102296
102297       salt.modules.event.send(tag, data=None,  preload=None,  with_env=False,
102298       with_grains=False, with_pillar=False, with_env_opts=False, **kwargs)
102299              Send an event to the Salt Master
102300
102301              New in version 2014.7.0.
102302
102303
102304              Parameters
102305
102306                     · tag  -- A tag to give the event.  Use slashes to create
102307                       a namespace for related events. E.g., myco/build/build‐
102308                       server1/start,         myco/build/buildserver1/success,
102309                       myco/build/buildserver1/failure.
102310
102311                     · data -- A dictionary of data  to  send  in  the  event.
102312                       This is free-form. Send any data points that are needed
102313                       for whoever is consuming the event.  Arguments  on  the
102314                       CLI  are interpreted as YAML so complex data structures
102315                       are possible.
102316
102317                     · with_env (Specify True to include all environment vari‐
102318                       ables,  or  specify a list of strings of variable names
102319                       to include.) -- Include environment variables from  the
102320                       current  shell  environment  in the event data as envi‐
102321                       ron.. This is a short-hand  for  working  with  systems
102322                       that  seed  the  environment with relevant data such as
102323                       Jenkins.
102324
102325                     · with_grains (Specify True to  include  all  grains,  or
102326                       specify  a  list of strings of grain names to include.)
102327                       -- Include grains from the current minion in the  event
102328                       data as grains.
102329
102330                     · with_pillar (Specify True to include all Pillar values,
102331                       or specify a list of strings of Pillar keys to include.
102332                       It is a best-practice to only specify a relevant subset
102333                       of Pillar data.) -- Include Pillar values from the cur‐
102334                       rent  minion in the event data as pillar. Remember Pil‐
102335                       lar data is often sensitive data so be careful. This is
102336                       useful  for  passing ephemeral Pillar values through an
102337                       event. Such as passing the pillar={} kwarg in state.sls
102338                       from  the  Master, through an event on the Minion, then
102339                       back to the Master.
102340
102341                     · with_env_opts (Specify True to include saltenv and pil‐
102342                       larenv  values  or  False  to  omit  them.)  -- Include
102343                       saltenv and pillarenv set on minion at the moment  when
102344                       event is send into event data.
102345
102346                     · kwargs  --  Any  additional keyword arguments passed to
102347                       this function will be interpreted  as  key-value  pairs
102348                       and included in the event data.  This provides a conve‐
102349                       nient alternative to YAML for simple values.
102350
102351              CLI Example:
102352
102353                 salt-call event.send myco/mytag foo=Foo bar=Bar
102354                 salt-call event.send 'myco/mytag' '{foo: Foo, bar: Bar}'
102355
102356              A convenient way to allow Jenkins to execute  salt-call  is  via
102357              sudo.  The following rule in sudoers will allow the jenkins user
102358              to run only the following command.
102359
102360              /etc/sudoers (allow preserving the environment):
102361
102362                 jenkins ALL=(ALL) NOPASSWD:SETENV: /usr/bin/salt-call event.send*
102363
102364              Call Jenkins via sudo (preserve the environment):
102365
102366                 sudo -E salt-call event.send myco/jenkins/build/success with_env=[BUILD_ID, BUILD_URL, GIT_BRANCH, GIT_COMMIT]
102367
102368   salt.modules.extfs
102369       Module for managing ext2/3/4 file systems
102370
102371       salt.modules.extfs.attributes(device, args=None)
102372              Return attributes from dumpe2fs for a specified device
102373
102374              CLI Example:
102375
102376                 salt '*' extfs.attributes /dev/sda1
102377
102378       salt.modules.extfs.blocks(device, args=None)
102379              Return block and inode info from dumpe2fs for a specified device
102380
102381              CLI Example:
102382
102383                 salt '*' extfs.blocks /dev/sda1
102384
102385       salt.modules.extfs.dump(device, args=None)
102386              Return all contents of dumpe2fs for a specified device
102387
102388              CLI Example:
102389
102390                 salt '*' extfs.dump /dev/sda1
102391
102392       salt.modules.extfs.mkfs(device, fs_type, **kwargs)
102393              Create a file system on the specified device
102394
102395              CLI Example:
102396
102397                 salt '*' extfs.mkfs /dev/sda1 fs_type=ext4 opts='acl,noexec'
102398
102399              Valid options are:
102400
102401              · block_size: 1024, 2048 or 4096
102402
102403              · check: check for bad blocks
102404
102405              · direct: use direct IO
102406
102407              · ext_opts: extended file system options (comma-separated)
102408
102409              · fragment_size: size of fragments
102410
102411              · force: setting force to True will cause mke2fs to specify  the
102412                -F  option  twice (it is already set once); this is truly dan‐
102413                gerous
102414
102415              · blocks_per_group: number of blocks in a block group
102416
102417              · number_of_groups: ext4 option for a virtual block group
102418
102419              · bytes_per_inode: set the bytes/inode ratio
102420
102421              · inode_size: size of the inode
102422
102423              · journal: set to True to create a journal (default on ext3/4)
102424
102425              · journal_opts: options for the fs journal (comma separated)
102426
102427              · blocks_file: read bad blocks from file
102428
102429              · label: label to apply to the file system
102430
102431              · reserved: percentage of blocks reserved for super-user
102432
102433              · last_dir: last mounted directory
102434
102435              · test: set to True to  not  actually  create  the  file  system
102436                (mke2fs -n)
102437
102438              · number_of_inodes: override default number of inodes
102439
102440              · creator_os: override "creator operating system" field
102441
102442              · opts: mount options (comma separated)
102443
102444              · revision: set the filesystem revision (default 1)
102445
102446              · super: write superblock and group descriptors only
102447
102448              · fs_type: set the filesystem type (REQUIRED)
102449
102450              · usage_type: how the filesystem is going to be used
102451
102452              · uuid: set the UUID for the file system
102453
102454              See  the  mke2fs(8)  manpage  for a more complete description of
102455              these options.
102456
102457       salt.modules.extfs.tune(device, **kwargs)
102458              Set attributes for the specified device (using tune2fs)
102459
102460              CLI Example:
102461
102462                 salt '*' extfs.tune /dev/sda1 force=True label=wildstallyns opts='acl,noexec'
102463
102464              Valid options are:
102465
102466              · max: max mount count
102467
102468              · count: mount count
102469
102470              · error: error behavior
102471
102472              · extended_opts: extended options (comma separated)
102473
102474              · force: force, even if there are errors (set to True)
102475
102476              · group: group name or gid that can use the reserved blocks
102477
102478              · interval: interval between checks
102479
102480              · journal: set to True to create a journal (default on ext3/4)
102481
102482              · journal_opts: options for the fs journal (comma separated)
102483
102484              · label: label to apply to the file system
102485
102486              · reserved: percentage of blocks reserved for super-user
102487
102488              · last_dir: last mounted directory
102489
102490              · opts: mount options (comma separated)
102491
102492              · feature: set or clear a feature (comma separated)
102493
102494              · mmp_check: mmp check interval
102495
102496              · reserved: reserved blocks count
102497
102498              · quota_opts: quota options (comma separated)
102499
102500              · time: time last checked
102501
102502              · user: user or uid who can use the reserved blocks
102503
102504              · uuid: set the UUID for the file system
102505
102506              See the mke2fs(8) manpage for a  more  complete  description  of
102507              these options.
102508
102509   salt.modules.file
102510       Manage  information about regular files, directories, and special files
102511       on the minion, set/read user, group, mode, and data
102512
102513       salt.modules.file.access(path, mode)
102514              New in version 2014.1.0.
102515
102516
102517              Test whether the Salt process has the specified  access  to  the
102518              file. One of the following modes must be specified:
102519
102520              CLI Example:
102521
102522                 salt '*' file.access /path/to/file f
102523                 salt '*' file.access /path/to/file x
102524
102525       salt.modules.file.append(path, *args, **kwargs)
102526              New in version 0.9.5.
102527
102528
102529              Append text to the end of a file
102530
102531              path   path to file
102532
102533              *args  strings to append to file
102534
102535              CLI Example:
102536
102537                 salt '*' file.append /etc/motd \
102538                         "With all thine offerings thou shalt offer salt." \
102539                         "Salt is what makes things taste bad when it isn't in them."
102540
102541                 Attention
102542
102543                        If you need to pass a string to append and that string
102544                        contains an equal sign, you must include the  argument
102545                        name, args.  For example:
102546
102547                     salt '*' file.append /etc/motd args='cheese=spam'
102548
102549                     salt '*' file.append /etc/motd args="['cheese=spam','spam=cheese']"
102550
102551       salt.modules.file.apply_template_on_contents(contents,  template,  con‐
102552       text, defaults, saltenv)
102553              Return the contents after applying the templating engine
102554
102555              contents
102556                     template string
102557
102558              template
102559                     template format
102560
102561              context
102562                     Overrides default context variables passed  to  the  tem‐
102563                     plate.
102564
102565              defaults
102566                     Default context passed to the template.
102567
102568              CLI Example:
102569
102570                 salt '*' file.apply_template_on_contents \
102571                     contents='This is a {{ template }} string.' \
102572                     template=jinja \
102573                     "context={}" "defaults={'template': 'cool'}" \
102574                     saltenv=base
102575
102576       salt.modules.file.basename(path)
102577              Returns the final component of a pathname
102578
102579              New in version 2015.5.0.
102580
102581
102582              This  can  be  useful  at  the CLI but is frequently useful when
102583              scripting.
102584
102585                 {%- set filename = salt['file.basename'](source_file) %}
102586
102587              CLI Example:
102588
102589                 salt '*' file.basename 'test/test.config'
102590
102591       salt.modules.file.blockreplace(path, marker_start=u'#--  start  managed
102592       zone   --',   marker_end=u'#--   end  managed  zone  --',  content=u'',
102593       append_if_not_found=False, prepend_if_not_found=False,  backup=u'.bak',
102594       dry_run=False, show_changes=True, append_newline=False)
102595              New in version 2014.1.0.
102596
102597
102598              Replace  content  of  a  text block in a file, delimited by line
102599              markers
102600
102601              A block of content delimited by comments  can  help  you  manage
102602              several   lines  entries  without  worrying  about  old  entries
102603              removal.
102604
102605              NOTE:
102606                 This function will store two copies  of  the  file  in-memory
102607                 (the  original  version  and  the edited version) in order to
102608                 detect changes and only edit the targeted file if necessary.
102609
102610              path   Filesystem path to the file to be edited
102611
102612              marker_start
102613                     The line content identifying a line as the start  of  the
102614                     content  block.  Note that the whole line containing this
102615                     marker will be considered, so whitespace or extra content
102616                     before or after the marker is included in final output
102617
102618              marker_end
102619                     The  line  content  identifying  the  end  of the content
102620                     block. As of versions 2017.7.5 and  2018.3.1,  everything
102621                     up  to  the text matching the marker will be replaced, so
102622                     it's important to ensure that your  marker  includes  the
102623                     beginning of the text you wish to replace.
102624
102625              content
102626                     The  content  to be used between the two lines identified
102627                     by marker_start and marker_stop.
102628
102629              append_if_not_found
102630                     False If markers are not found and set to True then,  the
102631                     markers and content will be appended to the file.
102632
102633              prepend_if_not_found
102634                     False  If markers are not found and set to True then, the
102635                     markers and content will be prepended to the file.
102636
102637              backup The file extension to use for a backup of the file if any
102638                     edit is made.  Set to False to skip making a backup.
102639
102640              dry_run
102641                     False If True, do not make any edits to the file and sim‐
102642                     ply return the changes that would be made.
102643
102644              show_changes
102645                     True Controls how changes are presented.  If  True,  this
102646                     function  will return a unified diff of the changes made.
102647                     If False, then it will return  a  boolean  (True  if  any
102648                     changes were made, otherwise False).
102649
102650              append_newline
102651                     False  Controls  whether  or not a newline is appended to
102652                     the content block. If the value of this argument is  True
102653                     then  a newline will be added to the content block. If it
102654                     is False, then a newline will not be added to the content
102655                     block. If it is None then a newline will only be added to
102656                     the content block if it does not already end  in  a  new‐
102657                     line.
102658
102659                     New in version 2016.3.4.
102660
102661
102662                     Changed  in version 2017.7.5,2018.3.1: New behavior added
102663                     when value is None.
102664
102665
102666                     Changed in version Fluorine: The default  value  of  this
102667                     argument will change to None to match the behavior of the
102668                     file.blockreplace state
102669
102670
102671              CLI Example:
102672
102673                 salt '*' file.blockreplace /etc/hosts '#-- start managed zone foobar : DO NOT EDIT --' \
102674                 '#-- end managed zone foobar --' $'10.0.1.1 foo.foobar\n10.0.1.2 bar.foobar' True
102675
102676       salt.modules.file.chattr(*files, **kwargs)
102677              New in version 2018.3.0.
102678
102679
102680              Change the attributes of files. This  function  accepts  one  or
102681              more files and the following options:
102682
102683              operator
102684                     Can   be   wither   add  or  remove.  Determines  whether
102685                     attributes should be added or removed from files
102686
102687              attributes
102688                     One or more of the  following  characters:  acdijstuADST,
102689                     representing attributes to add to/remove from files
102690
102691              version
102692                     a version number to assign to the file(s)
102693
102694              flags  One  or more of the following characters: RVf, represent‐
102695                     ing flags to assign to chattr (recurse, verbose, suppress
102696                     most errors)
102697
102698              CLI Example:
102699
102700                 salt '*' file.chattr foo1.txt foo2.txt operator=add attributes=ai
102701                 salt '*' file.chattr foo3.txt operator=remove attributes=i version=2
102702
102703       salt.modules.file.check_file_meta(name,  sfn, source, source_sum, user,
102704       group, mode, attrs, saltenv, contents=None)
102705              Check for the changes in the file metadata.
102706
102707              CLI Example:
102708
102709                 salt '*' file.check_file_meta /etc/httpd/conf.d/httpd.conf salt://http/httpd.conf '{hash_type: 'md5', 'hsum': <md5sum>}' root, root, '755' base
102710
102711              NOTE:
102712                 Supported hash types include sha512, sha384, sha256,  sha224,
102713                 sha1, and md5.
102714
102715              name   Path to file destination
102716
102717              sfn    Template-processed source file contents
102718
102719              source URL to file source
102720
102721              source_sum
102722                     File checksum information as a dictionary
102723
102724                        {hash_type: md5, hsum: <md5sum>}
102725
102726              user   Destination file user owner
102727
102728              group  Destination file group owner
102729
102730              mode   Destination file permissions mode
102731
102732              attrs  Destination file attributes
102733
102734                     New in version 2018.3.0.
102735
102736
102737              saltenv
102738                     Salt environment used to resolve source files
102739
102740              contents
102741                     File contents
102742
102743       salt.modules.file.check_hash(path, file_hash)
102744              Check if a file matches the given hash string
102745
102746              Returns True if the hash matches, otherwise False.
102747
102748              path   Path to a file local to the minion.
102749
102750              hash   The  hash to check against the file specified in the path
102751                     argument.
102752
102753                     Changed in version 2016.11.4.
102754
102755
102756                     For this and newer versions the  hash  can  be  specified
102757                     without     an     accompanying     hash    type    (e.g.
102758                     e138491e9d5b97023cea823fe17bac22),   but   for    earlier
102759                     releases it is necessary to also specify the hash type in
102760                     the      format      <hash_type>=<hash_value>       (e.g.
102761                     md5=e138491e9d5b97023cea823fe17bac22).
102762
102763              CLI Example:
102764
102765                 salt '*' file.check_hash /etc/fstab e138491e9d5b97023cea823fe17bac22
102766                 salt '*' file.check_hash /etc/fstab md5=e138491e9d5b97023cea823fe17bac22
102767
102768       salt.modules.file.check_managed(name,        source,       source_hash,
102769       source_hash_name,  user,  group,  mode,   attrs,   template,   context,
102770       defaults, saltenv, contents=None, skip_verify=False, **kwargs)
102771              Check to see what changes need to be made for a file
102772
102773              CLI Example:
102774
102775                 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
102776
102777       salt.modules.file.check_managed_changes(name,    source,   source_hash,
102778       source_hash_name,  user,  group,  mode,   attrs,   template,   context,
102779       defaults,  saltenv,  contents=None, skip_verify=False, keep_mode=False,
102780       **kwargs)
102781              Return a dictionary of what changes need to be made for a file
102782
102783              CLI Example:
102784
102785                 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
102786
102787       salt.modules.file.check_perms(name, ret, user, group, mode, attrs=None,
102788       follow_symlinks=False)
102789              Check  the  permissions on files, modify attributes and chown if
102790              needed. File  attributes  are  only  verified  if  lsattr(1)  is
102791              installed.
102792
102793              CLI Example:
102794
102795                 salt '*' file.check_perms /etc/sudoers '{}' root root 400 ai
102796
102797              Changed in version 2014.1.3: follow_symlinks option added
102798
102799
102800       salt.modules.file.chgrp(path, group)
102801              Change the group of a file
102802
102803              path   path to the file or directory
102804
102805              group  group owner
102806
102807              CLI Example:
102808
102809                 salt '*' file.chgrp /etc/passwd root
102810
102811       salt.modules.file.chown(path, user, group)
102812              Chown a file, pass the file the desired user and group
102813
102814              path   path to the file or directory
102815
102816              user   user owner
102817
102818              group  group owner
102819
102820              CLI Example:
102821
102822                 salt '*' file.chown /etc/passwd root root
102823
102824       salt.modules.file.comment(path, regex, char=u'#', backup=u'.bak')
102825              Deprecated since version 0.17.0: Use replace() instead.
102826
102827
102828              Comment out specified lines in a file
102829
102830              path   The full path to the file to be edited
102831
102832              regex  A  regular  expression used to find the lines that are to
102833                     be commented; this pattern will be wrapped in parenthesis
102834                     and  will  move  any preceding/trailing ^ or $ characters
102835                     outside the parenthesis (e.g., the pattern ^foo$ will  be
102836                     rewritten as ^(foo)$)
102837
102838              char   # The character to be inserted at the beginning of a line
102839                     in order to comment it out
102840
102841              backup .bak The file will be backed up  before  edit  with  this
102842                     file extension
102843
102844                     WARNING:
102845                        This  backup  will be overwritten each time sed / com‐
102846                        ment / uncomment is called. Meaning  the  backup  will
102847                        only be useful after the first invocation.
102848
102849              CLI Example:
102850
102851                 salt '*' file.comment /etc/modules pcspkr
102852
102853       salt.modules.file.comment_line(path,   regex,   char=u'#',   cmnt=True,
102854       backup=u'.bak')
102855              Comment or Uncomment a line in a text file.
102856
102857              Parameters
102858
102859                     · path -- string The full path to the text file.
102860
102861                     · regex -- string A regex expression that begins  with  ^
102862                       that  will find the line you wish to comment. Can be as
102863                       simple as ^color =
102864
102865                     · char -- string The character used to comment a line  in
102866                       the type of file you're referencing.  Default is #
102867
102868                     · cmnt  --  boolean  True  to  comment the line. False to
102869                       uncomment the line. Default is True.
102870
102871                     · backup -- string The file extension to give the  backup
102872                       file.  Default  is .bak Set to False/None to not keep a
102873                       backup.
102874
102875              Returns
102876                     boolean Returns True if successful, False if not
102877
102878              CLI Example:
102879
102880              The following example will comment out the pcspkr  line  in  the
102881              /etc/modules  file  using  the  default # character and create a
102882              backup file named modules.bak
102883
102884                 salt '*' file.comment_line '/etc/modules' '^pcspkr'
102885
102886              CLI Example:
102887
102888              The following example will uncomment the  log_level  setting  in
102889              minion  config  file  if  it  is set to either warning, info, or
102890              debug using the # character and create a backup file named  min‐
102891              ion.bk
102892
102893                 salt '*' file.comment_line 'C:\salt\conf\minion' '^log_level: (warning|info|debug)' '#' False '.bk'
102894
102895       salt.modules.file.contains(path, text)
102896              Deprecated since version 0.17.0: Use search() instead.
102897
102898
102899              Return True if the file at path contains text
102900
102901              CLI Example:
102902
102903                 salt '*' file.contains /etc/crontab 'mymaintenance.sh'
102904
102905       salt.modules.file.contains_glob(path, glob_expr)
102906              Deprecated since version 0.17.0: Use search() instead.
102907
102908
102909              Return True if the given glob matches a string in the named file
102910
102911              CLI Example:
102912
102913                 salt '*' file.contains_glob /etc/foobar '*cheese*'
102914
102915       salt.modules.file.contains_regex(path, regex, lchar=u'')
102916              Deprecated since version 0.17.0: Use search() instead.
102917
102918
102919              Return  True if the given regular expression matches on any line
102920              in the text of a given file.
102921
102922              If the lchar argument (leading char) is specified, it will strip
102923              lchar from the left side of each line before trying to match
102924
102925              CLI Example:
102926
102927                 salt '*' file.contains_regex /etc/crontab
102928
102929       salt.modules.file.copy(src, dst, recurse=False, remove_existing=False)
102930              Copy a file or directory from source to dst
102931
102932              In  order to copy a directory, the recurse flag is required, and
102933              will by default overwrite files in the destination with the same
102934              path,  and retain all other existing files. (similar to cp -r on
102935              unix)
102936
102937              remove_existing will remove all files in the  target  directory,
102938              and then copy files from the source.
102939
102940              NOTE:
102941                 The  copy  function  accepts paths that are local to the Salt
102942                 minion.  This function does not support salt://, http://,  or
102943                 the  other  additional  file  paths  that  are  supported  by
102944                 states.file.managed and states.file.recurse.
102945
102946              CLI Example:
102947
102948                 salt '*' file.copy /path/to/src /path/to/dst
102949                 salt '*' file.copy /path/to/src_dir /path/to/dst_dir recurse=True
102950                 salt '*' file.copy /path/to/src_dir /path/to/dst_dir recurse=True remove_existing=True
102951
102952       salt.modules.file.delete_backup(path, backup_id)
102953              New in version 0.17.0.
102954
102955
102956              Delete a previous version of a file that  was  backed  up  using
102957              Salt's file state backup system.
102958
102959              path   The path on the minion to check for backups
102960
102961              backup_id
102962                     The  numeric  id  for  the  backup you wish to delete, as
102963                     found using file.list_backups
102964
102965              CLI Example:
102966
102967                 salt '*' file.delete_backup /var/cache/salt/minion/file_backup/home/foo/bar/baz.txt 0
102968
102969       salt.modules.file.directory_exists(path)
102970              Tests to see if path is a valid directory.  Returns True/False.
102971
102972              CLI Example:
102973
102974                 salt '*' file.directory_exists /etc
102975
102976       salt.modules.file.dirname(path)
102977              Returns the directory component of a pathname
102978
102979              New in version 2015.5.0.
102980
102981
102982              This can be useful at the CLI  but  is  frequently  useful  when
102983              scripting.
102984
102985                 {%- from salt['file.dirname'](tpldir) + '/vars.jinja' import parent_vars %}
102986
102987              CLI Example:
102988
102989                 salt '*' file.dirname 'test/path/filename.config'
102990
102991       salt.modules.file.diskusage(path)
102992              Recursively calculate disk usage of path and return it in bytes
102993
102994              CLI Example:
102995
102996                 salt '*' file.diskusage /path/to/check
102997
102998       salt.modules.file.extract_hash(hash_fn,            hash_type=u'sha256',
102999       file_name=u'', source=u'', source_hash_name=None)
103000              Changed in version 2016.3.5: Prior to  this  version,  only  the
103001              file_name  argument  was  considered for filename matches in the
103002              hash file. This would be problematic for cases in which the user
103003              was  relying on a remote checksum file that they do not control,
103004              and they wished to use a different name for  that  file  on  the
103005              minion from the filename on the remote server (and in the check‐
103006              sum file). For example,  managing  /tmp/myfile.tar.gz  when  the
103007              remote  file  was at https://mydomain.tld/different_name.tar.gz.
103008              The file.managed state now also passes this function the  source
103009              URI  as  well  as  the source_hash_name (if specified). In cases
103010              where source_hash_name is specified, it  takes  precedence  over
103011              both  the  file_name  and  source.  When  it  is  not specified,
103012              file_name takes precedence over source. This allows  for  better
103013              capability for matching hashes.
103014
103015
103016              Changed  in  version 2016.11.0: File name and source URI matches
103017              are no longer disregarded when  source_hash_name  is  specified.
103018              They  will  be  used as fallback matches if there is no match to
103019              the source_hash_name value.
103020
103021
103022              This routine is called from the file.managed  state  to  pull  a
103023              hash  from  a remote file.  Regular expressions are used line by
103024              line on the source_hash file, to find a potential  candidate  of
103025              the  indicated hash type. This avoids many problems of arbitrary
103026              file layout rules. It specifically permits  pulling  hash  codes
103027              from debian *.dsc files.
103028
103029              If  no  exact  match  of a hash and filename are found, then the
103030              first hash found (if any) will be returned. If no hashes at  all
103031              are found, then None will be returned.
103032
103033              For example:
103034
103035                 openerp_7.0-latest-1.tar.gz:
103036                   file.managed:
103037                     - name: /tmp/openerp_7.0-20121227-075624-1_all.deb
103038                     - source: http://nightly.openerp.com/7.0/nightly/deb/openerp_7.0-20121227-075624-1.tar.gz
103039                     - source_hash: http://nightly.openerp.com/7.0/nightly/deb/openerp_7.0-20121227-075624-1.dsc
103040
103041              CLI Example:
103042
103043                 salt '*' file.extract_hash /path/to/hash/file sha512 /etc/foo
103044
103045       salt.modules.file.file_exists(path)
103046              Tests to see if path is a valid file.  Returns True/False.
103047
103048              CLI Example:
103049
103050                 salt '*' file.file_exists /etc/passwd
103051
103052       salt.modules.file.find(path, *args, **kwargs)
103053              Approximate  the Unix find(1) command and return a list of paths
103054              that meet the specified criteria.
103055
103056              The options include match criteria:
103057
103058                 name    = path-glob                 # case sensitive
103059                 iname   = path-glob                 # case insensitive
103060                 regex   = path-regex                # case sensitive
103061                 iregex  = path-regex                # case insensitive
103062                 type    = file-types                # match any listed type
103063                 user    = users                     # match any listed user
103064                 group   = groups                    # match any listed group
103065                 size    = [+-]number[size-unit]     # default unit = byte
103066                 mtime   = interval                  # modified since date
103067                 grep    = regex                     # search file contents
103068
103069              and/or actions:
103070
103071                 delete [= file-types]               # default type = 'f'
103072                 exec    = command [arg ...]         # where {} is replaced by pathname
103073                 print  [= print-opts]
103074
103075              and/or depth criteria:
103076
103077                 maxdepth = maximum depth to transverse in path
103078                 mindepth = minimum depth to transverse before checking files or directories
103079
103080              The default action is print=path
103081
103082              path-glob:
103083
103084                 *                = match zero or more chars
103085                 ?                = match any char
103086                 [abc]            = match a, b, or c
103087                 [!abc] or [^abc] = match anything except a, b, and c
103088                 [x-y]            = match chars x through y
103089                 [!x-y] or [^x-y] = match anything except chars x through y
103090                 {a,b,c}          = match a or b or c
103091
103092              path-regex: a Python Regex (regular expression) pattern to match
103093              pathnames
103094
103095              file-types: a string of one or more of the following:
103096
103097                 a: all file types
103098                 b: block device
103099                 c: character device
103100                 d: directory
103101                 p: FIFO (named pipe)
103102                 f: plain file
103103                 l: symlink
103104                 s: socket
103105
103106              users:  a space and/or comma separated list of user names and/or
103107              uids
103108
103109              groups: a space and/or  comma  separated  list  of  group  names
103110              and/or gids
103111
103112              size-unit:
103113
103114                 b: bytes
103115                 k: kilobytes
103116                 m: megabytes
103117                 g: gigabytes
103118                 t: terabytes
103119
103120              interval:
103121
103122                 [<num>w] [<num>d] [<num>h] [<num>m] [<num>s]
103123
103124                 where:
103125                     w: week
103126                     d: day
103127                     h: hour
103128                     m: minute
103129                     s: second
103130
103131              print-opts:  a  comma and/or space separated list of one or more
103132              of the following:
103133
103134                 group: group name
103135                 md5:   MD5 digest of file contents
103136                 mode:  file permissions (as integer)
103137                 mtime: last modification time (as time_t)
103138                 name:  file basename
103139                 path:  file absolute path
103140                 size:  file size in bytes
103141                 type:  file type
103142                 user:  user name
103143
103144              CLI Examples:
103145
103146                 salt '*' file.find / type=f name=\*.bak size=+10m
103147                 salt '*' file.find /var mtime=+30d size=+10m print=path,size,mtime
103148                 salt '*' file.find /var/log name=\*.[0-9] mtime=+30d size=+10m delete
103149
103150       salt.modules.file.get_devmm(name)
103151              Get major/minor info from a device
103152
103153              CLI Example:
103154
103155                 salt '*' file.get_devmm /dev/chr
103156
103157       salt.modules.file.get_diff(file1,  file2,  saltenv=u'base',  show_file‐
103158       names=True,  show_changes=True, template=False, source_hash_file1=None,
103159       source_hash_file2=None)
103160              Return unified diff of two files
103161
103162              file1  The first file to feed into the diff utility
103163
103164                     Changed in version 2018.3.0: Can now be either a local or
103165                     remote  file. In earlier releases, thuis had to be a file
103166                     local to the minion.
103167
103168
103169              file2  The second file to feed into the diff utility
103170
103171                     Changed in version 2018.3.0: Can now be either a local or
103172                     remote  file.  In earlier releases, this had to be a file
103173                     on the salt fileserver (i.e.  salt://somefile.txt)
103174
103175
103176              show_filenames
103177                     True Set to False to hide the filenames in  the  top  two
103178                     lines of the diff.
103179
103180              show_changes
103181                     True  If  set  to  False, and there are differences, then
103182                     instead  of  a  diff  a  simple  message   stating   that
103183                     show_changes is set to False will be returned.
103184
103185              template
103186                     False  Set  to  True if two templates are being compared.
103187                     This is not useful except for  within  states,  with  the
103188                     obfuscate_templates option set to True.
103189
103190                     New in version 2018.3.0.
103191
103192
103193              source_hash_file1
103194                     If file1 is an http(s)/ftp URL and the file exists in the
103195                     minion's file cache, this option can be  passed  to  keep
103196                     the  minion from re-downloading the archive if the cached
103197                     copy matches the specified hash.
103198
103199                     New in version 2018.3.0.
103200
103201
103202              source_hash_file2
103203                     If file2 is an http(s)/ftp URL and the file exists in the
103204                     minion's  file  cache,  this option can be passed to keep
103205                     the minion from re-downloading the archive if the  cached
103206                     copy matches the specified hash.
103207
103208                     New in version 2018.3.0.
103209
103210
103211              CLI Examples:
103212
103213                 salt '*' file.get_diff /home/fred/.vimrc salt://users/fred/.vimrc
103214                 salt '*' file.get_diff /tmp/foo.txt /tmp/bar.txt
103215
103216       salt.modules.file.get_gid(path, follow_symlinks=True)
103217              Return the id of the group that owns a given file
103218
103219              path   file or directory of which to get the gid
103220
103221              follow_symlinks
103222                     indicated if symlinks should be followed
103223
103224              CLI Example:
103225
103226                 salt '*' file.get_gid /etc/passwd
103227
103228              Changed in version 0.16.4: follow_symlinks option added
103229
103230
103231       salt.modules.file.get_group(path, follow_symlinks=True)
103232              Return the group that owns a given file
103233
103234              path   file or directory of which to get the group
103235
103236              follow_symlinks
103237                     indicated if symlinks should be followed
103238
103239              CLI Example:
103240
103241                 salt '*' file.get_group /etc/passwd
103242
103243              Changed in version 0.16.4: follow_symlinks option added
103244
103245
103246       salt.modules.file.get_hash(path, form=u'sha256', chunk_size=65536)
103247              Get the hash sum of a file
103248
103249              This is better than get_sum for the following reasons:
103250
103251                     · It does not read the entire file into memory.
103252
103253                     ·
103254
103255                       It  does  not  return  a  string on error. The returned
103256                       value of
103257                              get_sum cannot really be  trusted  since  it  is
103258                              vulnerable to collisions: get_sum(..., 'xyz') ==
103259                              'Hash xyz not supported'
103260
103261              path   path to the file or directory
103262
103263              form   desired sum format
103264
103265              chunk_size
103266                     amount to sum at once
103267
103268              CLI Example:
103269
103270                 salt '*' file.get_hash /etc/shadow
103271
103272       salt.modules.file.get_managed(name,  template,   source,   source_hash,
103273       source_hash_name, user, group, mode, attrs, saltenv, context, defaults,
103274       skip_verify=False, **kwargs)
103275              Return the managed file data for file.managed
103276
103277              name   location where the file lives on the server
103278
103279              template
103280                     template format
103281
103282              source managed source file
103283
103284              source_hash
103285                     hash of the source file
103286
103287              source_hash_name
103288                     When source_hash refers to a remote file, this  specifies
103289                     the filename to look for in that file.
103290
103291                     New in version 2016.3.5.
103292
103293
103294              user   Owner of file
103295
103296              group  Group owner of file
103297
103298              mode   Permissions of file
103299
103300              attrs  Attributes of file
103301
103302                     New in version 2018.3.0.
103303
103304
103305              context
103306                     Variables to add to the template context
103307
103308              defaults
103309                     Default values of for context_dict
103310
103311              skip_verify
103312                     If   True,  hash  verification  of  remote  file  sources
103313                     (http://, https://, ftp://)  will  be  skipped,  and  the
103314                     source_hash argument will be ignored.
103315
103316                     New in version 2016.3.0.
103317
103318
103319              CLI Example:
103320
103321                 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
103322
103323       salt.modules.file.get_mode(path, follow_symlinks=True)
103324              Return the mode of a file
103325
103326              path   file or directory of which to get the mode
103327
103328              follow_symlinks
103329                     indicated if symlinks should be followed
103330
103331              CLI Example:
103332
103333                 salt '*' file.get_mode /etc/passwd
103334
103335              Changed in version 2014.1.0: follow_symlinks option added
103336
103337
103338       salt.modules.file.get_selinux_context(path)
103339              Get an SELinux context from a given path
103340
103341              CLI Example:
103342
103343                 salt '*' file.get_selinux_context /etc/hosts
103344
103345       salt.modules.file.get_source_sum(file_name=u'',             source=u'',
103346       source_hash=None, source_hash_name=None, saltenv=u'base')
103347              New in version 2016.11.0.
103348
103349
103350              Used by file.get_managed to obtain the hash and hash  type  from
103351              the parameters specified below.
103352
103353              file_name
103354                     Optional  file  name  being  managed,  for  matching with
103355                     file.extract_hash.
103356
103357              source Source file,  as  used  in  file  and  other  states.  If
103358                     source_hash refers to a file containing hashes, then this
103359                     filename will be used to match a filename in  that  file.
103360                     If  the source_hash is a hash expression, then this argu‐
103361                     ment will be ignored.
103362
103363              source_hash
103364                     Hash file/expression, as used in file and  other  states.
103365                     If  this value refers to a remote URL or absolute path to
103366                     a local file, it will  be  cached  and  file.extract_hash
103367                     will be used to obtain a hash from it.
103368
103369              source_hash_name
103370                     Specific file name to look for when source_hash refers to
103371                     a remote file, used to disambiguate ambiguous matches.
103372
103373              saltenv
103374                     base Salt fileserver environment from which  to  retrieve
103375                     the  source_hash.  This  value  will  only  be  used when
103376                     source_hash refers to a file on the Salt fileserver (i.e.
103377                     one beginning with salt://).
103378
103379              CLI Example:
103380
103381                 salt '*' file.get_source_sum /tmp/foo.tar.gz source=http://mydomain.tld/foo.tar.gz source_hash=499ae16dcae71eeb7c3a30c75ea7a1a6
103382                 salt '*' file.get_source_sum /tmp/foo.tar.gz source=http://mydomain.tld/foo.tar.gz source_hash=https://mydomain.tld/hashes.md5
103383                 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
103384
103385       salt.modules.file.get_sum(path, form=u'sha256')
103386              Return  the  checksum for the given file. The following checksum
103387              algorithms are supported:
103388
103389              · md5
103390
103391              · sha1
103392
103393              · sha224
103394
103395              · sha256 (default)
103396
103397              · sha384
103398
103399              · sha512
103400
103401              path   path to the file or directory
103402
103403              form   desired sum format
103404
103405              CLI Example:
103406
103407                 salt '*' file.get_sum /etc/passwd sha512
103408
103409       salt.modules.file.get_uid(path, follow_symlinks=True)
103410              Return the id of the user that owns a given file
103411
103412              path   file or directory of which to get the uid
103413
103414              follow_symlinks
103415                     indicated if symlinks should be followed
103416
103417              CLI Example:
103418
103419                 salt '*' file.get_uid /etc/passwd
103420
103421              Changed in version 0.16.4: follow_symlinks option added
103422
103423
103424       salt.modules.file.get_user(path, follow_symlinks=True)
103425              Return the user that owns a given file
103426
103427              path   file or directory of which to get the user
103428
103429              follow_symlinks
103430                     indicated if symlinks should be followed
103431
103432              CLI Example:
103433
103434                 salt '*' file.get_user /etc/passwd
103435
103436              Changed in version 0.16.4: follow_symlinks option added
103437
103438
103439       salt.modules.file.gid_to_group(gid)
103440              Convert the group id to the group name on this system
103441
103442              gid    gid to convert to a group name
103443
103444              CLI Example:
103445
103446                 salt '*' file.gid_to_group 0
103447
103448       salt.modules.file.grep(path, pattern, *opts)
103449              Grep for a string in the specified file
103450
103451              NOTE:
103452                 This function's return value  is  slated  for  refinement  in
103453                 future versions of Salt
103454
103455              path   Path to the file to be searched
103456
103457                     NOTE:
103458                        Globbing is supported (i.e. /var/log/foo/*.log, but if
103459                        globbing is being used then the path should be  quoted
103460                        to  keep  the shell from attempting to expand the glob
103461                        expression.
103462
103463              pattern
103464                     Pattern to match. For example: test, or a[0-5]
103465
103466              opts   Additional command-line flags to pass to  the  grep  com‐
103467                     mand. For example: -v, or -i -B2
103468
103469                     NOTE:
103470                        The  options should come after a double-dash (as shown
103471                        in the examples below) to  keep  Salt's  own  argument
103472                        parser from interpreting them.
103473
103474              CLI Example:
103475
103476                 salt '*' file.grep /etc/passwd nobody
103477                 salt '*' file.grep /etc/sysconfig/network-scripts/ifcfg-eth0 ipaddr -- -i
103478                 salt '*' file.grep /etc/sysconfig/network-scripts/ifcfg-eth0 ipaddr -- -i -B2
103479                 salt '*' file.grep "/etc/sysconfig/network-scripts/*" ipaddr -- -i -l
103480
103481       salt.modules.file.group_to_gid(group)
103482              Convert the group to the gid on this system
103483
103484              group  group to convert to its gid
103485
103486              CLI Example:
103487
103488                 salt '*' file.group_to_gid root
103489
103490       salt.modules.file.is_blkdev(name)
103491              Check if a file exists and is a block device.
103492
103493              CLI Example:
103494
103495                 salt '*' file.is_blkdev /dev/blk
103496
103497       salt.modules.file.is_chrdev(name)
103498              Check if a file exists and is a character device.
103499
103500              CLI Example:
103501
103502                 salt '*' file.is_chrdev /dev/chr
103503
103504       salt.modules.file.is_fifo(name)
103505              Check if a file exists and is a FIFO.
103506
103507              CLI Example:
103508
103509                 salt '*' file.is_fifo /dev/fifo
103510
103511       salt.modules.file.is_link(path)
103512              Check if the path is a symbolic link
103513
103514              CLI Example:
103515
103516                 salt '*' file.is_link /path/to/link
103517
103518       salt.modules.file.join(*args)
103519              Return a normalized file system path for the underlying OS
103520
103521              New in version 2014.7.0.
103522
103523
103524              This  can  be  useful  at  the CLI but is frequently useful when
103525              scripting combining path variables:
103526
103527                 {% set www_root = '/var' %}
103528                 {% set app_dir = 'myapp' %}
103529
103530                 myapp_config:
103531                   file:
103532                     - managed
103533                     - name: {{ salt['file.join'](www_root, app_dir, 'config.yaml') }}
103534
103535              CLI Example:
103536
103537                 salt '*' file.join '/' 'usr' 'local' 'bin'
103538
103539       salt.modules.file.lchown(path, user, group)
103540              Chown a file, pass the file the desired user and  group  without
103541              following symlinks.
103542
103543              path   path to the file or directory
103544
103545              user   user owner
103546
103547              group  group owner
103548
103549              CLI Example:
103550
103551                 salt '*' file.chown /etc/passwd root root
103552
103553       salt.modules.file.line(path, content=None, match=None, mode=None, loca‐
103554       tion=None, before=None,  after=None,  show_changes=True,  backup=False,
103555       quiet=False, indent=True)
103556              New in version 2015.8.0.
103557
103558
103559              Edit  a  line  in  the  configuration file. The path and content
103560              arguments are required, as well as passing in one  of  the  mode
103561              options.
103562
103563              path   Filesystem path to the file to be edited.
103564
103565              content
103566                     Content of the line. Allowed to be empty if mode=delete.
103567
103568              match  Match  the  target  line for an action by a fragment of a
103569                     string or regular expression.
103570
103571                     If neither before nor after are provided,  and  match  is
103572                     also None, match becomes the content value.
103573
103574              mode   Defines  how to edit a line. One of the following options
103575                     is required:
103576
103577                     ·
103578
103579                       ensure If line does not exist, it will be  added.  This
103580                              is based on the content argument.
103581
103582                     ·
103583
103584                       replace
103585                              If line already exists, it will be replaced.
103586
103587                     ·
103588
103589                       delete Delete the line, once found.
103590
103591                     ·
103592
103593                       insert Insert a line.
103594
103595                     NOTE:
103596                        If  mode=insert is used, at least one of the following
103597                        options must also be  defined:  location,  before,  or
103598                        after.  If  location is used, it takes precedence over
103599                        the other two options.
103600
103601              location
103602                     Defines where to place content in  the  line.  Note  this
103603                     option  is  only used when mode=insert is specified. If a
103604                     location is passed in, it takes precedence over both  the
103605                     before and after kwargs. Valid locations are:
103606
103607                     ·
103608
103609                       start  Place the content at the beginning of the file.
103610
103611                     ·
103612
103613                       end    Place the content at the end of the file.
103614
103615              before Regular expression or an exact case-sensitive fragment of
103616                     the string.  This option is only  used  when  either  the
103617                     ensure or insert mode is defined.
103618
103619              after  Regular expression or an exact case-sensitive fragment of
103620                     the string.  This option is only  used  when  either  the
103621                     ensure or insert mode is defined.
103622
103623              show_changes
103624                     Output  a  unified diff of the old file and the new file.
103625                     If False return a  boolean  if  any  changes  were  made.
103626                     Default is True
103627
103628                     NOTE:
103629                        Using  this  option  will store two copies of the file
103630                        in-memory (the original version and  the  edited  ver‐
103631                        sion) in order to generate the diff.
103632
103633              backup Create  a backup of the original file with the extension:
103634                     "Year-Month-Day-Hour-Minutes-Seconds".
103635
103636              quiet  Do not raise any exceptions. E.g. ignore  the  fact  that
103637                     the  file  that  is tried to be edited does not exist and
103638                     nothing really happened.
103639
103640              indent Keep indentation with the previous line. This  option  is
103641                     not considered when the delete mode is specified.
103642
103643              CLI Example:
103644
103645                 salt '*' file.line /etc/nsswitch.conf "networks:        files dns" after="hosts:.*?" mode='ensure'
103646
103647              NOTE:
103648                 If  an  equal  sign (=) appears in an argument to a Salt com‐
103649                 mand, it is interpreted as a keyword argument in  the  format
103650                 of  key=val. That processing can be bypassed in order to pass
103651                 an equal sign through to the remote shell command by manually
103652                 specifying the kwarg:
103653
103654                     salt '*' file.line /path/to/file content="CREATEMAIL_SPOOL=no" match="CREATE_MAIL_SPOOL=yes" mode="replace"
103655
103656       salt.modules.file.link(src, path)
103657              New in version 2014.1.0.
103658
103659
103660              Create a hard link to a file
103661
103662              CLI Example:
103663
103664                 salt '*' file.link /path/to/file /path/to/link
103665
103666       salt.modules.file.list_backups(path, limit=None)
103667              New in version 0.17.0.
103668
103669
103670              Lists  the  previous  versions  of a file backed up using Salt's
103671              file state backup system.
103672
103673              path   The path on the minion to check for backups
103674
103675              limit  Limit the number of results to the most recent N backups
103676
103677              CLI Example:
103678
103679                 salt '*' file.list_backups /foo/bar/baz.txt
103680
103681       salt.modules.file.list_backups_dir(path, limit=None)
103682              Lists the previous versions  of  a  directory  backed  up  using
103683              Salt's file state backup system.
103684
103685              path   The directory on the minion to check for backups
103686
103687              limit  Limit the number of results to the most recent N backups
103688
103689              CLI Example:
103690
103691                 salt '*' file.list_backups_dir /foo/bar/baz/
103692
103693       salt.modules.file.lsattr(path)
103694              New in version 2018.3.0.
103695
103696
103697              Changed  in  version 2018.3.1: If lsattr is not installed on the
103698              system, None is returned.
103699
103700
103701              Changed in version 2018.3.4: If on AIX, None is returned even if
103702              in  filesystem  as  lsattr  on  AIX is not the same thing as the
103703              linux version.
103704
103705
103706              Obtain the modifiable attributes of the given file. If  path  is
103707              to a directory, an empty list is returned.
103708
103709              path   path to file to obtain attributes of. File/directory must
103710                     exist.
103711
103712              CLI Example:
103713
103714                 salt '*' file.lsattr foo1.txt
103715
103716       salt.modules.file.lstat(path)
103717              New in version 2014.1.0.
103718
103719
103720              Returns the lstat attributes for the given file or dir. Does not
103721              support symbolic links.
103722
103723              CLI Example:
103724
103725                 salt '*' file.lstat /path/to/file
103726
103727       salt.modules.file.makedirs_(path, user=None, group=None, mode=None)
103728              Ensure that the directory containing this path is available.
103729
103730              NOTE:
103731                 The  path must end with a trailing slash otherwise the direc‐
103732                 tory/directories will be created up to the parent  directory.
103733                 For example if path is /opt/code, then it would be treated as
103734                 /opt/ but if  the  path  ends  with  a  trailing  slash  like
103735                 /opt/code/, then it would be treated as /opt/code/.
103736
103737              CLI Example:
103738
103739                 salt '*' file.makedirs /opt/code/
103740
103741       salt.modules.file.makedirs_perms(name,      user=None,      group=None,
103742       mode=u'0755')
103743              Taken and modified from os.makedirs to set user, group and  mode
103744              for each directory created.
103745
103746              CLI Example:
103747
103748                 salt '*' file.makedirs_perms /opt/code
103749
103750       salt.modules.file.manage_file(name, sfn, ret, source, source_sum, user,
103751       group, mode, attrs,  saltenv,  backup,  makedirs=False,  template=None,
103752       show_changes=True,  contents=None, dir_mode=None, follow_symlinks=True,
103753       skip_verify=False,     keep_mode=False,      encoding=None,      encod‐
103754       ing_errors=u'strict', **kwargs)
103755              Checks  the destination against what was retrieved with get_man‐
103756              aged and makes the appropriate modifications (if necessary).
103757
103758              name   location to place the file
103759
103760              sfn    location of cached file on the minion
103761
103762                     This is the path to the file stored on the  minion.  This
103763                     file is placed on the minion using cp.cache_file.  If the
103764                     hash sum of that file matches the source_sum, we  do  not
103765                     transfer the file to the minion again.
103766
103767                     This  file is then grabbed and if it has template set, it
103768                     renders the file to be placed into the correct  place  on
103769                     the system using salt.files.utils.copyfile()
103770
103771              ret    The  initial state return data structure. Pass in None to
103772                     use the default structure.
103773
103774              source file reference on the master
103775
103776              source_sum
103777                     sum hash for source
103778
103779              user   user owner
103780
103781              group  group owner
103782
103783              backup backup_mode
103784
103785              attrs  attributes to be set on file: '' means remove all of them
103786
103787                     New in version 2018.3.0.
103788
103789
103790              makedirs
103791                     make directories if they do not exist
103792
103793              template
103794                     format of templating
103795
103796              show_changes
103797                     Include diff in state return
103798
103799              contents:
103800                     contents to be placed in the file
103801
103802              dir_mode
103803                     mode for directories created with makedirs
103804
103805              skip_verify
103806                     False If True, hash verification of remote  file  sources
103807                     (http://,  https://,  ftp://)  will  be  skipped, and the
103808                     source_hash argument will be ignored.
103809
103810                     New in version 2016.3.0.
103811
103812
103813              keep_mode
103814                     False If True, and the source is a  file  from  the  Salt
103815                     fileserver  (or  a local file on the minion), the mode of
103816                     the destination file will be  set  to  the  mode  of  the
103817                     source file.
103818
103819                     NOTE:
103820                        keep_mode does not work with salt-ssh.
103821
103822                        As  a  consequence of how the files are transferred to
103823                        the minion, and the inability to connect back  to  the
103824                        master  with salt-ssh, salt is unable to stat the file
103825                        as it exists on the fileserver and thus cannot  mirror
103826                        the mode on the salt-ssh minion
103827
103828              encoding
103829                     If  specified,  then the specified encoding will be used.
103830                     Otherwise, the file will  be  encoded  using  the  system
103831                     locale           (usually           UTF-8).           See
103832                     https://docs.python.org/3/library/codecs.html#standard-encodings
103833                     for the list of available encodings.
103834
103835                     New in version 2017.7.0.
103836
103837
103838              encoding_errors
103839                     'strict'       Default      is      `'strict'`.       See
103840                     https://docs.python.org/2/library/codecs.html#codec-base-classes
103841                     for the error handling schemes.
103842
103843                     New in version 2017.7.0.
103844
103845
103846              CLI Example:
103847
103848                 salt '*' file.manage_file /etc/httpd/conf.d/httpd.conf '' '{}' salt://http/httpd.conf '{hash_type: 'md5', 'hsum': <md5sum>}' root root '755' '' base ''
103849
103850              Changed in version 2014.7.0: follow_symlinks option added
103851
103852
103853       salt.modules.file.mkdir(dir_path, user=None, group=None, mode=None)
103854              Ensure that a directory is available.
103855
103856              CLI Example:
103857
103858                 salt '*' file.mkdir /opt/jetty/context
103859
103860       salt.modules.file.mknod(name,   ntype,   major=0,  minor=0,  user=None,
103861       group=None, mode=u'0600')
103862              New in version 0.17.0.
103863
103864
103865              Create a block device, character device, or fifo pipe.   Identi‐
103866              cal to the gnu mknod.
103867
103868              CLI Examples:
103869
103870                 salt '*' file.mknod /dev/chr c 180 31
103871                 salt '*' file.mknod /dev/blk b 8 999
103872                 salt '*' file.nknod /dev/fifo p
103873
103874       salt.modules.file.mknod_blkdev(name,     major,    minor,    user=None,
103875       group=None, mode=u'0660')
103876              New in version 0.17.0.
103877
103878
103879              Create a block device.
103880
103881              CLI Example:
103882
103883                 salt '*' file.mknod_blkdev /dev/blk 8 999
103884
103885       salt.modules.file.mknod_chrdev(name,    major,    minor,     user=None,
103886       group=None, mode=u'0660')
103887              New in version 0.17.0.
103888
103889
103890              Create a character device.
103891
103892              CLI Example:
103893
103894                 salt '*' file.mknod_chrdev /dev/chr 180 31
103895
103896       salt.modules.file.mknod_fifo(name, user=None, group=None, mode=u'0660')
103897              New in version 0.17.0.
103898
103899
103900              Create a FIFO pipe.
103901
103902              CLI Example:
103903
103904                 salt '*' file.mknod_fifo /dev/fifo
103905
103906       salt.modules.file.move(src, dst)
103907              Move a file or directory
103908
103909              CLI Example:
103910
103911                 salt '*' file.move /path/to/src /path/to/dst
103912
103913       salt.modules.file.normpath(path)
103914              Returns Normalize path, eliminating double slashes, etc.
103915
103916              New in version 2015.5.0.
103917
103918
103919              This  can  be  useful  at  the CLI but is frequently useful when
103920              scripting.
103921
103922                 {%- from salt['file.normpath'](tpldir + '/../vars.jinja') import parent_vars %}
103923
103924              CLI Example:
103925
103926                 salt '*' file.normpath 'a/b/c/..'
103927
103928       salt.modules.file.open_files(by_pid=False)
103929              Return a list of all physical open files on the system.
103930
103931              CLI Examples:
103932
103933                 salt '*' file.open_files
103934                 salt '*' file.open_files by_pid=True
103935
103936       salt.modules.file.pardir()
103937              Return the relative parent directory path symbol for  underlying
103938              OS
103939
103940              New in version 2014.7.0.
103941
103942
103943              This can be useful when constructing Salt Formulas.
103944
103945                 {% set pardir = salt['file.pardir']() %}
103946                 {% set final_path = salt['file.join']('subdir', pardir, 'confdir') %}
103947
103948              CLI Example:
103949
103950                 salt '*' file.pardir
103951
103952       salt.modules.file.patch(originalfile,      patchfile,      options=u'',
103953       dry_run=False)
103954              New in version 0.10.4.
103955
103956
103957              Apply a patch to a file or directory.
103958
103959              Equivalent to:
103960
103961                 patch <options> -i <patchfile> <originalfile>
103962
103963              Or, when a directory is patched:
103964
103965                 patch <options> -i <patchfile> -d <originalfile> -p0
103966
103967              originalfile
103968                     The full path to the file or directory to be patched
103969
103970              patchfile
103971                     A patch file to apply to originalfile
103972
103973              options
103974                     Options to pass to patch.
103975
103976              CLI Example:
103977
103978                 salt '*' file.patch /opt/file.txt /tmp/file.txt.patch
103979
103980       salt.modules.file.path_exists_glob(path)
103981              Tests to see if path after expansion is a valid  path  (file  or
103982              directory).   Expansion allows usage of ? * and character ranges
103983              []. Tilde expansion is not supported. Returns True/False.
103984
103985              New in version 2014.7.0.
103986
103987
103988              CLI Example:
103989
103990                 salt '*' file.path_exists_glob /etc/pam*/pass*
103991
103992       salt.modules.file.prepend(path, *args, **kwargs)
103993              New in version 2014.7.0.
103994
103995
103996              Prepend text to the beginning of a file
103997
103998              path   path to file
103999
104000              *args  strings to prepend to the file
104001
104002              CLI Example:
104003
104004                 salt '*' file.prepend /etc/motd \
104005                         "With all thine offerings thou shalt offer salt." \
104006                         "Salt is what makes things taste bad when it isn't in them."
104007
104008                 Attention
104009
104010                        If you need to pass a string to append and that string
104011                        contains  an equal sign, you must include the argument
104012                        name, args.  For example:
104013
104014                     salt '*' file.prepend /etc/motd args='cheese=spam'
104015
104016                     salt '*' file.prepend /etc/motd args="['cheese=spam','spam=cheese']"
104017
104018       salt.modules.file.psed(path, before, after, limit=u'',  backup=u'.bak',
104019       flags=u'gMS', escape_all=False, multi=False)
104020              Deprecated since version 0.17.0: Use replace() instead.
104021
104022
104023              Make a simple edit to a file (pure Python version)
104024
104025              Equivalent to:
104026
104027                 sed <backup> <options> "/<limit>/ s/<before>/<after>/<flags> <file>"
104028
104029              path   The full path to the file to be edited
104030
104031              before A pattern to find in order to replace with after
104032
104033              after  Text that will replace before
104034
104035              limit  ''  An initial pattern to search for before searching for
104036                     before
104037
104038              backup .bak The file will be backed up  before  edit  with  this
104039                     file  extension; WARNING: each time sed/comment/uncomment
104040                     is called will overwrite this backup
104041
104042              flags  gMS.INDENT 7.0
104043
104044              Flags to modify the search. Valid values are:
104045
104046                     · g: Replace all occurrences of the pattern, not just the
104047                       first.
104048
104049                     · I: Ignore case.
104050
104051                     · L:  Make  \w,  \W,  \b,  \B, \s and \S dependent on the
104052                       locale.
104053
104054                     · M: Treat multiple lines as a single line.
104055
104056                     · S: Make . match all characters, including newlines.
104057
104058                     · U: Make \w, \W, \b, \B, \d, \D, \s and \S dependent  on
104059                       Unicode.
104060
104061                     · X: Verbose (whitespace is ignored).
104062
104063       multi: False
104064              If True, treat the entire file as a single line
104065
104066       Forward  slashes and single quotes will be escaped automatically in the
104067       before and after patterns.
104068
104069       CLI Example:
104070
104071                 salt '*' file.sed /etc/httpd/httpd.conf 'LogLevel warn' 'LogLevel info'
104072
104073       salt.modules.file.read(path, binary=False)
104074              New in version 2017.7.0.
104075
104076
104077              Return the content of the file.
104078
104079              CLI Example:
104080
104081                 salt '*' file.read /path/to/file
104082
104083       salt.modules.file.readdir(path)
104084              New in version 2014.1.0.
104085
104086
104087              Return a list containing the contents of a directory
104088
104089              CLI Example:
104090
104091                 salt '*' file.readdir /path/to/dir/
104092
104093       salt.modules.file.readlink(path, canonicalize=False)
104094              New in version 2014.1.0.
104095
104096
104097              Return the path that a symlink points to If canonicalize is  set
104098              to True, then it return the final target
104099
104100              CLI Example:
104101
104102                 salt '*' file.readlink /path/to/link
104103
104104       salt.modules.file.remove(path)
104105              Remove  the  named  file. If a directory is supplied, it will be
104106              recursively deleted.
104107
104108              CLI Example:
104109
104110                 salt '*' file.remove /tmp/foo
104111
104112       salt.modules.file.rename(src, dst)
104113              Rename a file or directory
104114
104115              CLI Example:
104116
104117                 salt '*' file.rename /path/to/src /path/to/dst
104118
104119       salt.modules.file.replace(path, pattern, repl, count=0,  flags=8,  buf‐
104120       size=1,      append_if_not_found=False,     prepend_if_not_found=False,
104121       not_found_content=None,         backup=u'.bak',          dry_run=False,
104122       search_only=False,   show_changes=True,  ignore_if_missing=False,  pre‐
104123       serve_inode=True, backslash_literal=False)
104124              New in version 0.17.0.
104125
104126
104127              Replace occurrences of a pattern in a file. If  show_changes  is
104128              True,  then a diff of what changed will be returned, otherwise a
104129              True will be returned when changes are made, and False  when  no
104130              changes are made.
104131
104132              This is a pure Python implementation that wraps Python's sub().
104133
104134              path   Filesystem path to the file to be edited. If a symlink is
104135                     specified, it will be resolved to its target.
104136
104137              pattern
104138                     A  regular  expression,  to  be  matched  using  Python's
104139                     search().
104140
104141              repl   The replacement text
104142
104143              count  0  Maximum  number of pattern occurrences to be replaced.
104144                     If count is a positive integer n, only n occurrences will
104145                     be replaced, otherwise all occurrences will be replaced.
104146
104147              flags (list or int)
104148                     A  list  of  flags defined in the re module documentation
104149                     from the Python standard library. Each list  item  should
104150                     be  a  string  that  will correlate to the human-friendly
104151                     flag name. E.g., ['IGNORECASE', 'MULTILINE']. Optionally,
104152                     flags  may  be  an int, with a value corresponding to the
104153                     XOR (|) of all the desired flags. Defaults  to  8  (which
104154                     supports 'MULTILINE').
104155
104156              bufsize (int or str)
104157                     How  much  of the file to buffer into memory at once. The
104158                     default value 1 processes one line at a time. The special
104159                     value  file  may  be specified which will read the entire
104160                     file into memory before processing.
104161
104162              append_if_not_found
104163                     False New in version 2014.7.0.
104164
104165
104166                     If set to True, and pattern is not found, then  the  con‐
104167                     tent will be appended to the file.
104168
104169              prepend_if_not_found
104170                     False New in version 2014.7.0.
104171
104172
104173                     If set to True and pattern is not found, then the content
104174                     will be prepended to the file.
104175
104176              not_found_content
104177                     New in version 2014.7.0.
104178
104179
104180                     Content to use for append/prepend if not found.  If  None
104181                     (default), uses repl. Useful when repl uses references to
104182                     group in pattern.
104183
104184              backup .bak The file extension to use for a backup of  the  file
104185                     before editing. Set to False to skip making a backup.
104186
104187              dry_run
104188                     False  If  set  to  True,  no changes will be made to the
104189                     file, the function will  just  return  the  changes  that
104190                     would   have   been   made  (or  a  True/False  value  if
104191                     show_changes is set to False).
104192
104193              search_only
104194                     False If set to true, this no changes will  be  performed
104195                     on the file, and this function will simply return True if
104196                     the pattern was matched, and False if not.
104197
104198              show_changes
104199                     True If True, return a diff of changes  made.  Otherwise,
104200                     return True if changes were made, and False if not.
104201
104202                     NOTE:
104203                        Using this option will store two copies of the file in
104204                        memory (the original version and the  edited  version)
104205                        in  order  to generate the diff. This may not normally
104206                        be a concern, but could  impact  performance  if  used
104207                        with large files.
104208
104209              ignore_if_missing
104210                     False New in version 2015.8.0.
104211
104212
104213                     If set to True, this function will simply return False if
104214                     the file doesn't  exist.  Otherwise,  an  error  will  be
104215                     thrown.
104216
104217              preserve_inode
104218                     True New in version 2015.8.0.
104219
104220
104221                     Preserve  the  inode  of the file, so that any hard links
104222                     continue to share the inode with the  original  filename.
104223                     This  works  by  copying the file, reading from the copy,
104224                     and writing to the file at the original inode. If  False,
104225                     the file will be moved rather than copied, and a new file
104226                     will be written to a new inode, but  using  the  original
104227                     filename.  Hard  links  will then share an inode with the
104228                     backup, instead (if  using  backup  to  create  a  backup
104229                     copy).
104230
104231              backslash_literal
104232                     False New in version 2016.11.7.
104233
104234
104235                     Interpret backslashes as literal backslashes for the repl
104236                     and not escape characters.  This  will  help  when  using
104237                     append/prepend  so  that  the  backslashes are not inter‐
104238                     preted for the repl on the second run of the state.
104239
104240              If an equal sign (=) appears in an argument to a Salt command it
104241              is interpreted as a keyword argument in the format key=val. That
104242              processing can be bypassed  in  order  to  pass  an  equal  sign
104243              through  to  the remote shell command by manually specifying the
104244              kwarg:
104245
104246                 salt '*' file.replace /path/to/file pattern='=' repl=':'
104247                 salt '*' file.replace /path/to/file pattern="bind-address\s*=" repl='bind-address:'
104248
104249              CLI Examples:
104250
104251                 salt '*' file.replace /etc/httpd/httpd.conf pattern='LogLevel warn' repl='LogLevel info'
104252                 salt '*' file.replace /some/file pattern='before' repl='after' flags='[MULTILINE, IGNORECASE]'
104253
104254       salt.modules.file.restore_backup(path, backup_id)
104255              New in version 0.17.0.
104256
104257
104258              Restore a previous version of a file that was  backed  up  using
104259              Salt's file state backup system.
104260
104261              path   The path on the minion to check for backups
104262
104263              backup_id
104264                     The  numeric  id  for  the backup you wish to restore, as
104265                     found using file.list_backups
104266
104267              CLI Example:
104268
104269                 salt '*' file.restore_backup /foo/bar/baz.txt 0
104270
104271       salt.modules.file.restorecon(path, recursive=False)
104272              Reset the SELinux context on a given path
104273
104274              CLI Example:
104275
104276                 salt '*' file.restorecon /home/user/.ssh/authorized_keys
104277
104278       salt.modules.file.rmdir(path)
104279              New in version 2014.1.0.
104280
104281
104282              Remove the specified directory. Fails  if  a  directory  is  not
104283              empty.
104284
104285              CLI Example:
104286
104287                 salt '*' file.rmdir /tmp/foo/
104288
104289       salt.modules.file.search(path,     pattern,     flags=8,     bufsize=1,
104290       ignore_if_missing=False, multiline=False)
104291              New in version 0.17.0.
104292
104293
104294              Search for occurrences of a pattern in a file
104295
104296              Except for multiline, params are identical to replace().
104297
104298              multiline
104299                     If true, inserts 'MULTILINE' into flags and sets  bufsize
104300                     to 'file'.
104301
104302                     New in version 2015.8.0.
104303
104304
104305              CLI Example:
104306
104307                 salt '*' file.search /etc/crontab 'mymaintenance.sh'
104308
104309       salt.modules.file.sed(path,  before,  after, limit=u'', backup=u'.bak',
104310       options=u'-r -e', flags=u'g', escape_all=False, negate_match=False)
104311              Deprecated since version 0.17.0: Use replace() instead.
104312
104313
104314              Make a simple edit to a file
104315
104316              Equivalent to:
104317
104318                 sed <backup> <options> "/<limit>/ s/<before>/<after>/<flags> <file>"
104319
104320              path   The full path to the file to be edited
104321
104322              before A pattern to find in order to replace with after
104323
104324              after  Text that will replace before
104325
104326              limit  '' An initial pattern to search for before searching  for
104327                     before
104328
104329              backup .bak  The  file  will  be backed up before edit with this
104330                     file extension; WARNING: each time  sed/comment/uncomment
104331                     is called will overwrite this backup
104332
104333              options
104334                     -r -e Options to pass to sed
104335
104336              flags  g Flags to modify the sed search; e.g., i for case-insen‐
104337                     sitive pattern matching
104338
104339              negate_match
104340                     False Negate the search command (!)
104341
104342                     New in version 0.17.0.
104343
104344
104345              Forward slashes and single quotes will be escaped  automatically
104346              in the before and after patterns.
104347
104348              CLI Example:
104349
104350                 salt '*' file.sed /etc/httpd/httpd.conf 'LogLevel warn' 'LogLevel info'
104351
104352       salt.modules.file.sed_contains(path, text, limit=u'', flags=u'g')
104353              Deprecated since version 0.17.0: Use search() instead.
104354
104355
104356              Return  True  if the file at path contains text. Utilizes sed to
104357              perform the search (line-wise search).
104358
104359              Note: the p flag will be added to any flags you pass in.
104360
104361              CLI Example:
104362
104363                 salt '*' file.contains /etc/crontab 'mymaintenance.sh'
104364
104365       salt.modules.file.seek_read(path, size, offset)
104366              New in version 2014.1.0.
104367
104368
104369              Seek to a position on a file and read it
104370
104371              path   path to file
104372
104373              seek   amount to read at once
104374
104375              offset offset to start into the file
104376
104377              CLI Example:
104378
104379                 salt '*' file.seek_read /path/to/file 4096 0
104380
104381       salt.modules.file.seek_write(path, data, offset)
104382              New in version 2014.1.0.
104383
104384
104385              Seek to a position on a file and write to it
104386
104387              path   path to file
104388
104389              data   data to write to file
104390
104391              offset position in file to start writing
104392
104393              CLI Example:
104394
104395                 salt '*' file.seek_write /path/to/file 'some data' 4096
104396
104397       salt.modules.file.set_mode(path, mode)
104398              Set the mode of a file
104399
104400              path   file or directory of which to set the mode
104401
104402              mode   mode to set the path to
104403
104404              CLI Example:
104405
104406                 salt '*' file.set_mode /etc/passwd 0644
104407
104408       salt.modules.file.set_selinux_context(path,    user=None,    role=None,
104409       type=None, range=None)
104410              Set a specific SELinux label on a given path
104411
104412              CLI Example:
104413
104414                 salt '*' file.set_selinux_context path <user> <role> <type> <range>
104415                 salt '*' file.set_selinux_context /etc/yum.repos.d/epel.repo system_u object_r system_conf_t s0
104416
104417       salt.modules.file.source_list(source, source_hash, saltenv)
104418              Check the source list and return the source to use
104419
104420              CLI Example:
104421
104422                 salt '*' file.source_list salt://http/httpd.conf '{hash_type: 'md5', 'hsum': <md5sum>}' base
104423
104424       salt.modules.file.stats(path, hash_type=None, follow_symlinks=True)
104425              Return a dict containing the stats for a given file
104426
104427              CLI Example:
104428
104429                 salt '*' file.stats /etc/passwd
104430
104431       salt.modules.file.statvfs(path)
104432              New in version 2014.1.0.
104433
104434
104435              Perform  a  statvfs  call  against  the filesystem that the file
104436              resides on
104437
104438              CLI Example:
104439
104440                 salt '*' file.statvfs /path/to/file
104441
104442       salt.modules.file.symlink(src, path)
104443              Create a symbolic link (symlink, soft link) to a file
104444
104445              CLI Example:
104446
104447                 salt '*' file.symlink /path/to/file /path/to/link
104448
104449       salt.modules.file.touch(name, atime=None, mtime=None)
104450              New in version 0.9.5.
104451
104452
104453              Just like the touch command, create a file if it  doesn't  exist
104454              or simply update the atime and mtime if it already does.
104455
104456              atime: Access time in Unix epoch time
104457
104458              mtime: Last modification in Unix epoch time
104459
104460              CLI Example:
104461
104462                 salt '*' file.touch /var/log/emptyfile
104463
104464       salt.modules.file.truncate(path, length)
104465              New in version 2014.1.0.
104466
104467
104468              Seek  to  a  position on a file and delete everything after that
104469              point
104470
104471              path   path to file
104472
104473              length offset into file to truncate
104474
104475              CLI Example:
104476
104477                 salt '*' file.truncate /path/to/file 512
104478
104479       salt.modules.file.uid_to_user(uid)
104480              Convert a uid to a user name
104481
104482              uid    uid to convert to a username
104483
104484              CLI Example:
104485
104486                 salt '*' file.uid_to_user 0
104487
104488       salt.modules.file.uncomment(path, regex, char=u'#', backup=u'.bak')
104489              Deprecated since version 0.17.0: Use replace() instead.
104490
104491
104492              Uncomment specified commented lines in a file
104493
104494              path   The full path to the file to be edited
104495
104496              regex  A regular expression used to find the lines that  are  to
104497                     be  uncommented.   This regex should not include the com‐
104498                     ment character. A leading ^ character  will  be  stripped
104499                     for  convenience  (for easily switching between comment()
104500                     and uncomment()).
104501
104502              char   # The character to remove in order to uncomment a line
104503
104504              backup .bak The file will be backed up  before  edit  with  this
104505                     file  extension; WARNING: each time sed/comment/uncomment
104506                     is called will overwrite this backup
104507
104508              CLI Example:
104509
104510                 salt '*' file.uncomment /etc/hosts.deny 'ALL: PARANOID'
104511
104512       salt.modules.file.user_to_uid(user)
104513              Convert user name to a uid
104514
104515              user   user name to convert to its uid
104516
104517              CLI Example:
104518
104519                 salt '*' file.user_to_uid root
104520
104521       salt.modules.file.write(path, *args, **kwargs)
104522              New in version 2014.7.0.
104523
104524
104525              Write text to a file, overwriting any existing contents.
104526
104527              path   path to file
104528
104529              *args  strings to write to the file
104530
104531              CLI Example:
104532
104533                 salt '*' file.write /etc/motd \
104534                         "With all thine offerings thou shalt offer salt."
104535
104536                 Attention
104537
104538                        If you need to pass a string to append and that string
104539                        contains  an equal sign, you must include the argument
104540                        name, args.  For example:
104541
104542                     salt '*' file.write /etc/motd args='cheese=spam'
104543
104544                     salt '*' file.write /etc/motd args="['cheese=spam','spam=cheese']"
104545
104546   salt.modules.firewalld
104547       Support for firewalld.
104548
104549       New in version 2015.2.0.
104550
104551
104552       salt.modules.firewalld.add_interface(zone, interface, permanent=True)
104553              Bind an interface to a zone
104554
104555              New in version 2016.3.0.
104556
104557
104558              CLI Example:
104559
104560                 salt '*' firewalld.add_interface zone eth0
104561
104562       salt.modules.firewalld.add_masquerade(zone=None, permanent=True)
104563              Enable masquerade on a zone.  If zone is omitted,  default  zone
104564              will be used.
104565
104566              New in version 2015.8.0.
104567
104568
104569              CLI Example:
104570
104571                 salt '*' firewalld.add_masquerade
104572
104573              To enable masquerade on a specific zone
104574
104575                 salt '*' firewalld.add_masquerade dmz
104576
104577       salt.modules.firewalld.add_port(zone,  port, permanent=True, force_mas‐
104578       querade=None)
104579              Allow specific ports in a zone.
104580
104581              New in version 2015.8.0.
104582
104583
104584              CLI Example:
104585
104586                 salt '*' firewalld.add_port internal 443/tcp
104587
104588       salt.modules.firewalld.add_port_fwd(zone,  src,   dest,   proto=u'tcp',
104589       dstaddr=u'', permanent=True, force_masquerade=None)
104590              Add port forwarding.
104591
104592              New in version 2015.8.0.
104593
104594
104595              CLI Example:
104596
104597                 salt '*' firewalld.add_port_fwd public 80 443 tcp
104598
104599       salt.modules.firewalld.add_rich_rule(zone, rule, permanent=True)
104600              Add a rich rule to a zone
104601
104602              New in version 2016.11.0.
104603
104604
104605              CLI Example:
104606
104607                 salt '*' firewalld.add_rich_rule zone 'rule'
104608
104609       salt.modules.firewalld.add_service(service, zone=None, permanent=True)
104610              Add a service for zone. If zone is omitted, default zone will be
104611              used.
104612
104613              CLI Example:
104614
104615                 salt '*' firewalld.add_service ssh
104616
104617              To assign a service to a specific zone:
104618
104619                 salt '*' firewalld.add_service ssh my_zone
104620
104621       salt.modules.firewalld.add_service_port(service, port)
104622              Add a new port to the specified service.
104623
104624              New in version 2016.11.0.
104625
104626
104627              CLI Example:
104628
104629                 salt '*' firewalld.add_service_port zone 80
104630
104631       salt.modules.firewalld.add_service_protocol(service, protocol)
104632              Add a new protocol to the specified service.
104633
104634              New in version 2016.11.0.
104635
104636
104637              CLI Example:
104638
104639                 salt '*' firewalld.add_service_protocol zone ssh
104640
104641       salt.modules.firewalld.add_source(zone, source, permanent=True)
104642              Bind a source to a zone
104643
104644              New in version 2016.3.0.
104645
104646
104647              CLI Example:
104648
104649                 salt '*' firewalld.add_source zone 192.168.1.0/24
104650
104651       salt.modules.firewalld.allow_icmp(zone, icmp, permanent=True)
104652              Allow a specific ICMP type on a zone
104653
104654              New in version 2015.8.0.
104655
104656
104657              CLI Example:
104658
104659                 salt '*' firewalld.allow_icmp zone echo-reply
104660
104661       salt.modules.firewalld.block_icmp(zone, icmp, permanent=True)
104662              Block a specific ICMP type on a zone
104663
104664              New in version 2015.8.0.
104665
104666
104667              CLI Example:
104668
104669                 salt '*' firewalld.block_icmp zone echo-reply
104670
104671       salt.modules.firewalld.default_zone()
104672              Print default zone for connections and interfaces
104673
104674              CLI Example:
104675
104676                 salt '*' firewalld.default_zone
104677
104678       salt.modules.firewalld.delete_service(name, restart=True)
104679              Delete an existing service
104680
104681              CLI Example:
104682
104683                 salt '*' firewalld.delete_service my_service
104684
104685              By default firewalld will be reloaded. However, to avoid reload‐
104686              ing you need to specify the restart as False
104687
104688                 salt '*' firewalld.delete_service my_service False
104689
104690       salt.modules.firewalld.delete_zone(zone, restart=True)
104691              Delete an existing zone
104692
104693              CLI Example:
104694
104695                 salt '*' firewalld.delete_zone my_zone
104696
104697              By default firewalld will be reloaded. However, to avoid reload‐
104698              ing you need to specify the restart as False
104699
104700                 salt '*' firewalld.delete_zone my_zone False
104701
104702       salt.modules.firewalld.get_icmp_types(permanent=True)
104703              Print predefined icmptypes
104704
104705              CLI Example:
104706
104707                 salt '*' firewalld.get_icmp_types
104708
104709       salt.modules.firewalld.get_interfaces(zone, permanent=True)
104710              List interfaces bound to a zone
104711
104712              New in version 2016.3.0.
104713
104714
104715              CLI Example:
104716
104717                 salt '*' firewalld.get_interfaces zone
104718
104719       salt.modules.firewalld.get_masquerade(zone=None, permanent=True)
104720              Show if masquerading is enabled on a zone.  If zone is  omitted,
104721              default zone will be used.
104722
104723              CLI Example:
104724
104725                 salt '*' firewalld.get_masquerade zone
104726
104727       salt.modules.firewalld.get_rich_rules(zone, permanent=True)
104728              List rich rules bound to a zone
104729
104730              New in version 2016.11.0.
104731
104732
104733              CLI Example:
104734
104735                 salt '*' firewalld.get_rich_rules zone
104736
104737       salt.modules.firewalld.get_service_ports(service)
104738              List ports of a service.
104739
104740              New in version 2016.11.0.
104741
104742
104743              CLI Example:
104744
104745                 salt '*' firewalld.get_service_ports zone
104746
104747       salt.modules.firewalld.get_service_protocols(service)
104748              List protocols of a service.
104749
104750              New in version 2016.11.0.
104751
104752
104753              CLI Example:
104754
104755                 salt '*' firewalld.get_service_protocols zone
104756
104757       salt.modules.firewalld.get_services(permanent=True)
104758              Print predefined services
104759
104760              CLI Example:
104761
104762                 salt '*' firewalld.get_services
104763
104764       salt.modules.firewalld.get_sources(zone, permanent=True)
104765              List sources bound to a zone
104766
104767              New in version 2016.3.0.
104768
104769
104770              CLI Example:
104771
104772                 salt '*' firewalld.get_sources zone
104773
104774       salt.modules.firewalld.get_zones(permanent=True)
104775              Print predefined zones
104776
104777              CLI Example:
104778
104779                 salt '*' firewalld.get_zones
104780
104781       salt.modules.firewalld.list_all(zone=None, permanent=True)
104782              List everything added for or enabled in a zone
104783
104784              CLI Example:
104785
104786                 salt '*' firewalld.list_all
104787
104788              List a specific zone
104789
104790                 salt '*' firewalld.list_all my_zone
104791
104792       salt.modules.firewalld.list_icmp_block(zone, permanent=True)
104793              List ICMP blocks on a zone
104794
104795              New in version 2015.8.0.
104796
104797
104798              CLI Example:
104799
104800                 salt '*' firewlld.list_icmp_block zone
104801
104802       salt.modules.firewalld.list_port_fwd(zone, permanent=True)
104803              List port forwarding
104804
104805              New in version 2015.8.0.
104806
104807
104808              CLI Example:
104809
104810                 salt '*' firewalld.list_port_fwd public
104811
104812       salt.modules.firewalld.list_ports(zone, permanent=True)
104813              List all ports in a zone.
104814
104815              New in version 2015.8.0.
104816
104817
104818              CLI Example:
104819
104820                 salt '*' firewalld.list_ports
104821
104822       salt.modules.firewalld.list_services(zone=None, permanent=True)
104823              List services added for zone as a space separated list.  If zone
104824              is omitted, default zone will be used.
104825
104826              CLI Example:
104827
104828                 salt '*' firewalld.list_services
104829
104830              List a specific zone
104831
104832                 salt '*' firewalld.list_services my_zone
104833
104834       salt.modules.firewalld.list_zones(permanent=True)
104835              List everything added for or enabled in all zones
104836
104837              CLI Example:
104838
104839                 salt '*' firewalld.list_zones
104840
104841       salt.modules.firewalld.make_permanent()
104842              Make current runtime configuration permanent.
104843
104844              New in version 2016.3.0.
104845
104846
104847              CLI Example:
104848
104849                 salt '*' firewalld.make_permanent
104850
104851       salt.modules.firewalld.new_service(name, restart=True)
104852              Add a new service
104853
104854              CLI Example:
104855
104856                 salt '*' firewalld.new_service my_service
104857
104858              By default firewalld will be reloaded. However, to avoid reload‐
104859              ing you need to specify the restart as False
104860
104861                 salt '*' firewalld.new_service my_service False
104862
104863       salt.modules.firewalld.new_zone(zone, restart=True)
104864              Add a new zone
104865
104866              CLI Example:
104867
104868                 salt '*' firewalld.new_zone my_zone
104869
104870              By default firewalld will be reloaded. However, to avoid reload‐
104871              ing you need to specify the restart as False
104872
104873                 salt '*' firewalld.new_zone my_zone False
104874
104875       salt.modules.firewalld.reload_rules()
104876              Reload the firewall rules, which makes the permanent  configura‐
104877              tion the new runtime configuration without losing state informa‐
104878              tion.
104879
104880              New in version 2016.11.0.
104881
104882
104883              CLI Example:
104884
104885                 salt '*' firewalld.reload
104886
104887       salt.modules.firewalld.remove_interface(zone,     interface,     perma‐
104888       nent=True)
104889              Remove an interface bound to a zone
104890
104891              New in version 2016.3.0.
104892
104893
104894              CLI Example:
104895
104896                 salt '*' firewalld.remove_interface zone eth0
104897
104898       salt.modules.firewalld.remove_masquerade(zone=None, permanent=True)
104899              Remove  masquerade  on a zone.  If zone is omitted, default zone
104900              will be used.
104901
104902              New in version 2015.8.0.
104903
104904
104905              CLI Example:
104906
104907                 salt '*' firewalld.remove_masquerade
104908
104909              To remove masquerade on a specific zone
104910
104911                 salt '*' firewalld.remove_masquerade dmz
104912
104913       salt.modules.firewalld.remove_port(zone, port, permanent=True)
104914              Remove a specific port from a zone.
104915
104916              New in version 2015.8.0.
104917
104918
104919              CLI Example:
104920
104921                 salt '*' firewalld.remove_port internal 443/tcp
104922
104923       salt.modules.firewalld.remove_port_fwd(zone, src,  dest,  proto=u'tcp',
104924       dstaddr=u'', permanent=True)
104925              Remove Port Forwarding.
104926
104927              New in version 2015.8.0.
104928
104929
104930              CLI Example:
104931
104932                 salt '*' firewalld.remove_port_fwd public 80 443 tcp
104933
104934       salt.modules.firewalld.remove_rich_rule(zone, rule, permanent=True)
104935              Add a rich rule to a zone
104936
104937              New in version 2016.11.0.
104938
104939
104940              CLI Example:
104941
104942                 salt '*' firewalld.remove_rich_rule zone 'rule'
104943
104944       salt.modules.firewalld.remove_service(service,     zone=None,    perma‐
104945       nent=True)
104946              Remove a service from zone. This option can be specified  multi‐
104947              ple times.  If zone is omitted, default zone will be used.
104948
104949              CLI Example:
104950
104951                 salt '*' firewalld.remove_service ssh
104952
104953              To remove a service from a specific zone
104954
104955                 salt '*' firewalld.remove_service ssh dmz
104956
104957       salt.modules.firewalld.remove_service_port(service, port)
104958              Remove a port from the specified service.
104959
104960              New in version 2016.11.0.
104961
104962
104963              CLI Example:
104964
104965                 salt '*' firewalld.remove_service_port zone 80
104966
104967       salt.modules.firewalld.remove_service_protocol(service, protocol)
104968              Remove a protocol from the specified service.
104969
104970              New in version 2016.11.0.
104971
104972
104973              CLI Example:
104974
104975                 salt '*' firewalld.remove_service_protocol zone ssh
104976
104977       salt.modules.firewalld.remove_source(zone, source, permanent=True)
104978              Remove a source bound to a zone
104979
104980              New in version 2016.3.0.
104981
104982
104983              CLI Example:
104984
104985                 salt '*' firewalld.remove_source zone 192.168.1.0/24
104986
104987       salt.modules.firewalld.set_default_zone(zone)
104988              Set default zone
104989
104990              CLI Example:
104991
104992                 salt '*' firewalld.set_default_zone damian
104993
104994       salt.modules.firewalld.version()
104995              Return version from firewall-cmd
104996
104997              CLI Example:
104998
104999                 salt '*' firewalld.version
105000
105001   salt.modules.freebsd_sysctl
105002       Module for viewing and modifying sysctl parameters
105003
105004       salt.modules.freebsd_sysctl.assign(name, value)
105005              Assign a single sysctl parameter for this minion
105006
105007              CLI Example:
105008
105009                 salt '*' sysctl.assign net.inet.icmp.icmplim 50
105010
105011       salt.modules.freebsd_sysctl.get(name)
105012              Return a single sysctl parameter for this minion
105013
105014              CLI Example:
105015
105016                 salt '*' sysctl.get hw.physmem
105017
105018       salt.modules.freebsd_sysctl.persist(name,          value,          con‐
105019       fig=u'/etc/sysctl.conf')
105020              Assign and persist a simple sysctl parameter for this minion
105021
105022              CLI Example:
105023
105024                 salt '*' sysctl.persist net.inet.icmp.icmplim 50
105025                 salt '*' sysctl.persist coretemp_load NO config=/boot/loader.conf
105026
105027       salt.modules.freebsd_sysctl.show(config_file=False)
105028              Return a list of sysctl parameters for this minion
105029
105030              CLI Example:
105031
105032                 salt '*' sysctl.show
105033
105034   salt.modules.freebsd_update module
105035       Support for freebsd-update utility on FreeBSD.
105036
105037       New in version 2017.7.0.
105038
105039
105040       maintainer
105041              George Mamalakis <mamalos@gmail.com>
105042
105043       maturity
105044              new
105045
105046       platform
105047              FreeBSD
105048
105049       salt.modules.freebsd_update.fetch(**kwargs)
105050              New in version 2016.3.4.
105051
105052
105053              freebsd-update fetch wrapper. Based on the  currently  installed
105054              world  and  the  configuration  options set, fetch all available
105055              binary updates.
105056
105057              kwargs:
105058                     Parameters of freebsd-update command.
105059
105060       salt.modules.freebsd_update.ids(**kwargs)
105061              New in version 2016.3.4.
105062
105063
105064              freebsd-update IDS wrapper function. Compares the system against
105065              a "known good" index of the installed release.
105066
105067              kwargs:
105068                     Parameters of freebsd-update command.
105069
105070       salt.modules.freebsd_update.install(**kwargs)
105071              New in version 2016.3.4.
105072
105073
105074              freebsd-update   install  wrapper.  Install  the  most  recently
105075              fetched updates or upgrade.
105076
105077              kwargs:
105078                     Parameters of freebsd-update command.
105079
105080       salt.modules.freebsd_update.rollback(**kwargs)
105081              New in version 2016.3.4.
105082
105083
105084              freebsd-update rollback wrapper. Uninstalls  the  most  recently
105085              installed updates.
105086
105087              kwargs:
105088                     Parameters of freebsd-update command.
105089
105090       salt.modules.freebsd_update.update(**kwargs)
105091              New in version 2016.3.4.
105092
105093
105094              Command that simplifies freebsd-update by running freebsd-update
105095              fetch first and then freebsd-update install.
105096
105097              kwargs:
105098                     Parameters of freebsd-update command.
105099
105100       salt.modules.freebsd_update.upgrade(**kwargs)
105101              New in version 2016.3.4.
105102
105103
105104              Dummy function used only to print a message that upgrade is  not
105105              available.  The reason is that upgrade needs manual intervention
105106              and reboot, so even if used with:
105107                 yes | freebsd-upgrade -r VERSION
105108
105109              the additional freebsd-update install that needs  to  run  after
105110              the reboot cannot be implemented easily.
105111
105112              kwargs:
105113                     Parameters of freebsd-update command.
105114
105115   salt.modules.freebsdjail
105116       The jail module for FreeBSD
105117
105118       salt.modules.freebsdjail.fstab(jail)
105119              Display  contents of a fstab(5) file defined in specified jail's
105120              configuration. If no file is defined, return False.
105121
105122              CLI Example:
105123
105124                 salt '*' jail.fstab <jail name>
105125
105126       salt.modules.freebsdjail.get_enabled()
105127              Return which jails are set to be run
105128
105129              CLI Example:
105130
105131                 salt '*' jail.get_enabled
105132
105133       salt.modules.freebsdjail.is_enabled()
105134              See if jail service is actually enabled on boot
105135
105136              CLI Example:
105137
105138                 salt '*' jail.is_enabled <jail name>
105139
105140       salt.modules.freebsdjail.restart(jail=u'')
105141              Restart the specified jail or all, if none specified
105142
105143              CLI Example:
105144
105145                 salt '*' jail.restart [<jail name>]
105146
105147       salt.modules.freebsdjail.show_config(jail)
105148              Display specified jail's configuration
105149
105150              CLI Example:
105151
105152                 salt '*' jail.show_config <jail name>
105153
105154       salt.modules.freebsdjail.start(jail=u'')
105155              Start the specified jail or all, if none specified
105156
105157              CLI Example:
105158
105159                 salt '*' jail.start [<jail name>]
105160
105161       salt.modules.freebsdjail.status(jail)
105162              See if specified jail is currently running
105163
105164              CLI Example:
105165
105166                 salt '*' jail.status <jail name>
105167
105168       salt.modules.freebsdjail.stop(jail=u'')
105169              Stop the specified jail or all, if none specified
105170
105171              CLI Example:
105172
105173                 salt '*' jail.stop [<jail name>]
105174
105175       salt.modules.freebsdjail.sysctl()
105176              Dump all jail related kernel states (sysctl)
105177
105178              CLI Example:
105179
105180                 salt '*' jail.sysctl
105181
105182   salt.modules.freebsdkmod
105183       Module to manage FreeBSD kernel modules
105184
105185       salt.modules.freebsdkmod.available()
105186              Return a list of all available kernel modules
105187
105188              CLI Example:
105189
105190                 salt '*' kmod.available
105191
105192       salt.modules.freebsdkmod.check_available(mod)
105193              Check to see if the specified kernel module is available
105194
105195              CLI Example:
105196
105197                 salt '*' kmod.check_available vmm
105198
105199       salt.modules.freebsdkmod.is_loaded(mod)
105200              Check to see if the specified kernel module is loaded
105201
105202              CLI Example:
105203
105204                 salt '*' kmod.is_loaded vmm
105205
105206       salt.modules.freebsdkmod.load(mod, persist=False)
105207              Load the specified kernel module
105208
105209              mod    Name of the module to add
105210
105211              persist
105212                     Write the module to sysrc kld_modules to make it load  on
105213                     system reboot
105214
105215              CLI Example:
105216
105217                 salt '*' kmod.load bhyve
105218
105219       salt.modules.freebsdkmod.lsmod()
105220              Return a dict containing information about currently loaded mod‐
105221              ules
105222
105223              CLI Example:
105224
105225                 salt '*' kmod.lsmod
105226
105227       salt.modules.freebsdkmod.mod_list(only_persist=False)
105228              Return a list of the loaded module names
105229
105230              CLI Example:
105231
105232                 salt '*' kmod.mod_list
105233
105234       salt.modules.freebsdkmod.remove(mod, persist=False, comment=True)
105235              Remove the specified kernel module
105236
105237              mod    Name of module to remove
105238
105239              persist
105240                     Also remove module from /boot/loader.conf
105241
105242              comment
105243                     If   persist   is   set   don't    remove    line    from
105244                     /boot/loader.conf but only comment it
105245
105246              CLI Example:
105247
105248                 salt '*' kmod.remove vmm
105249
105250   salt.modules.freebsdpkg
105251       Remote package support using pkg_add(1)
105252
105253       IMPORTANT:
105254          If you feel that Salt should be using this module to manage packages
105255          on a minion, and it is using a different module (or gives  an  error
105256          similar to 'pkg.install' is not available), see here.
105257
105258       WARNING:
105259          This  module has been completely rewritten. Up to and including ver‐
105260          sion 0.17.0, it supported pkg_add(1), but checked for the  existence
105261          of  a  pkgng  local  database  and, if found,  would provide some of
105262          pkgng's functionality. The rewrite of this module  has  removed  all
105263          pkgng  support, and moved it to the pkgng execution module. For ver‐
105264          sions <= 0.17.0, the documentation here  should  not  be  considered
105265          accurate.  If your Minion is running one of these versions, then the
105266          documentation for this module can be viewed using the sys.doc  func‐
105267          tion:
105268
105269              salt bsdminion sys.doc pkg
105270
105271       This  module  acts  as  the  default package provider for FreeBSD 9 and
105272       older. If you need to use pkgng on a FreeBSD 9 system, you will need to
105273       override  the  pkg  provider by setting the providers parameter in your
105274       Minion config file, in order to use pkgng.
105275
105276          providers:
105277            pkg: pkgng
105278
105279       More information on pkgng support can be found in the documentation for
105280       the pkgng module.
105281
105282       This  module  will  respect the PACKAGEROOT and PACKAGESITE environment
105283       variables, if set, but these values can also be overridden  in  several
105284       ways:
105285
105286       1. Salt  configuration parameters. The configuration parameters freebs‐
105287          dpkg.PACKAGEROOT and freebsdpkg.PACKAGESITE are  recognized.   These
105288          config  parameters  are  looked  up using config.get and can thus be
105289          specified in the Master config file, Grains, Pillar, or in the  Min‐
105290          ion config file. Example:
105291
105292             freebsdpkg.PACKAGEROOT: ftp://ftp.freebsd.org/
105293             freebsdpkg.PACKAGESITE: ftp://ftp.freebsd.org/pub/FreeBSD/ports/ia64/packages-9-stable/Latest/
105294
105295       2. CLI arguments. Both the packageroot (used interchangeably with from‐
105296          repo for API compatibility) and packagesite CLI arguments are recog‐
105297          nized, and override their config counterparts from section 1 above.
105298
105299                 salt -G 'os:FreeBSD' pkg.install zsh fromrepo=ftp://ftp2.freebsd.org/
105300                 salt -G 'os:FreeBSD' pkg.install zsh packageroot=ftp://ftp2.freebsd.org/
105301                 salt -G 'os:FreeBSD' pkg.install zsh packagesite=ftp://ftp2.freebsd.org/pub/FreeBSD/ports/ia64/packages-9-stable/Latest/
105302
105303             .. note::
105304
105305                 These arguments can also be passed through in states:
105306
105307                 .. code-block:: yaml
105308
105309                     zsh:
105310                       pkg.installed:
105311                         - fromrepo: ftp://ftp2.freebsd.org/
105312
105313       salt.modules.freebsdpkg.file_dict(*packages)
105314              List the files that belong to a package, grouped by package. Not
105315              specifying any packages will return a list of  _every_  file  on
105316              the system's package database (not generally recommended).
105317
105318              CLI Examples:
105319
105320                 salt '*' pkg.file_list httpd
105321                 salt '*' pkg.file_list httpd postfix
105322                 salt '*' pkg.file_list
105323
105324       salt.modules.freebsdpkg.file_list(*packages)
105325              List  the  files  that  belong  to a package. Not specifying any
105326              packages will return a list of  _every_  file  on  the  system's
105327              package database (not generally recommended).
105328
105329              CLI Examples:
105330
105331                 salt '*' pkg.file_list httpd
105332                 salt '*' pkg.file_list httpd postfix
105333                 salt '*' pkg.file_list
105334
105335       salt.modules.freebsdpkg.install(name=None,     refresh=False,     from‐
105336       repo=None, pkgs=None, sources=None, **kwargs)
105337              Install package(s) using pkg_add(1)
105338
105339              name   The name of the package to be installed.
105340
105341              refresh
105342                     Whether or not to refresh  the  package  database  before
105343                     installing.
105344
105345              fromrepo or packageroot
105346                     Specify a package repository from which to install. Over‐
105347                     rides the system default,  as  well  as  the  PACKAGEROOT
105348                     environment variable.
105349
105350              packagesite
105351                     Specify  the  exact  directory  from which to install the
105352                     remote package.  Overrides  the  PACKAGESITE  environment
105353                     variable, if present.
105354
105355              Multiple Package Installation Options:
105356
105357              pkgs   A list of packages to install from a software repository.
105358                     Must be passed as a python list.
105359
105360                     CLI Example:
105361
105362                        salt '*' pkg.install pkgs='["foo", "bar"]'
105363
105364              sources
105365                     A list of packages to install. Must be passed as  a  list
105366                     of dicts, with the keys being package names, and the val‐
105367                     ues being the source URI or local path to the package.
105368
105369                     CLI Example:
105370
105371                        salt '*' pkg.install sources='[{"foo": "salt://foo.deb"}, {"bar": "salt://bar.deb"}]'
105372
105373              Return a dict containing the new package names and versions:
105374
105375                 {'<package>': {'old': '<old-version>',
105376                                'new': '<new-version>'}}
105377
105378              CLI Example:
105379
105380                 salt '*' pkg.install <package name>
105381
105382       salt.modules.freebsdpkg.latest_version(*names, **kwargs)
105383              pkg_add(1) is not capable of querying for  remote  packages,  so
105384              this function will always return results as if there is no pack‐
105385              age available for install or upgrade.
105386
105387              CLI Example:
105388
105389                 salt '*' pkg.latest_version <package name>
105390                 salt '*' pkg.latest_version <package1> <package2> <package3> ...
105391
105392       salt.modules.freebsdpkg.list_pkgs(versions_as_list=False,     with_ori‐
105393       gin=False, **kwargs)
105394              List the packages currently installed as a dict:
105395
105396                 {'<package_name>': '<version>'}
105397
105398              with_origin
105399                     False Return a nested dictionary containing both the ori‐
105400                     gin name and version for each installed package.
105401
105402                     New in version 2014.1.0.
105403
105404
105405              CLI Example:
105406
105407                 salt '*' pkg.list_pkgs
105408
105409       salt.modules.freebsdpkg.refresh_db()
105410              pkg_add(1) does not use a local database of available  packages,
105411              so  this  function simply returns True. it exists merely for API
105412              compatibility.
105413
105414              CLI Example:
105415
105416                 salt '*' pkg.refresh_db
105417
105418       salt.modules.freebsdpkg.remove(name=None, pkgs=None, **kwargs)
105419              Remove packages using pkg_delete(1)
105420
105421              name   The name of the package to be deleted.
105422
105423              Multiple Package Options:
105424
105425              pkgs   A list of packages to delete. Must be passed as a  python
105426                     list.  The  name parameter will be ignored if this option
105427                     is passed.
105428
105429              New in version 0.16.0.
105430
105431
105432              Returns a dict containing the changes.
105433
105434              CLI Example:
105435
105436                 salt '*' pkg.remove <package name>
105437                 salt '*' pkg.remove <package1>,<package2>,<package3>
105438                 salt '*' pkg.remove pkgs='["foo", "bar"]'
105439
105440       salt.modules.freebsdpkg.version(*names, **kwargs)
105441              Returns a string representing the package version  or  an  empty
105442              string if not installed. If more than one package name is speci‐
105443              fied, a dict of name/version pairs is returned.
105444
105445              with_origin
105446                     False Return a nested dictionary containing both the ori‐
105447                     gin name and version for each specified package.
105448
105449                     New in version 2014.1.0.
105450
105451
105452              CLI Example:
105453
105454                 salt '*' pkg.version <package name>
105455                 salt '*' pkg.version <package1> <package2> <package3> ...
105456
105457   salt.modules.freebsdports
105458       Install software from the FreeBSD ports(7) system
105459
105460       New in version 2014.1.0.
105461
105462
105463       This  module allows you to install ports using BATCH=yes to bypass con‐
105464       figuration prompts. It is recommended to use the ports state to install
105465       ports,  but it is also possible to use this module exclusively from the
105466       command line.
105467
105468          salt minion-id ports.config security/nmap IPV6=off
105469          salt minion-id ports.install security/nmap
105470
105471       salt.modules.freebsdports.config(name, reset=False, **kwargs)
105472              Modify configuration options for a given port. Multiple  options
105473              can  be  specified. To see the available options for a port, use
105474              ports.showconfig.
105475
105476              name   The port name, in category/name format
105477
105478              reset  False If True, runs a make rmconfig for the port,  clear‐
105479                     ing its configuration before setting the desired options
105480
105481              CLI Examples:
105482
105483                 salt '*' ports.config security/nmap IPV6=off
105484
105485       salt.modules.freebsdports.deinstall(name)
105486              De-install a port.
105487
105488              CLI Example:
105489
105490                 salt '*' ports.deinstall security/nmap
105491
105492       salt.modules.freebsdports.install(name, clean=True)
105493              Install a port from the ports tree. Installs using BATCH=yes for
105494              non-interactive building. To set  config  options  for  a  given
105495              port, use ports.config.
105496
105497              clean  True  If  True,  cleans after installation. Equivalent to
105498                     running make install clean BATCH=yes.
105499
105500              NOTE:
105501                 It may be helpful to run this function using the -t option to
105502                 set  a  higher  timeout, since compiling a port may cause the
105503                 Salt command to exceed the default timeout.
105504
105505              CLI Example:
105506
105507                 salt -t 1200 '*' ports.install security/nmap
105508
105509       salt.modules.freebsdports.list_all()
105510              Lists all ports available.
105511
105512              CLI Example:
105513
105514                 salt '*' ports.list_all
105515
105516              WARNING:
105517                 Takes a while to run, and returns a LOT of output
105518
105519       salt.modules.freebsdports.rmconfig(name)
105520              Clear the cached options for the  specified  port;  run  a  make
105521              rmconfig
105522
105523              name   The name of the port to clear
105524
105525              CLI Example:
105526
105527                 salt '*' ports.rmconfig security/nmap
105528
105529       salt.modules.freebsdports.search(name)
105530              Search  for  matches in the ports tree. Globs are supported, and
105531              the category is optional
105532
105533              CLI Examples:
105534
105535                 salt '*' ports.search 'security/*'
105536                 salt '*' ports.search 'security/n*'
105537                 salt '*' ports.search nmap
105538
105539              WARNING:
105540                 Takes a while to run
105541
105542       salt.modules.freebsdports.showconfig(name,               default=False,
105543       dict_return=False)
105544              Show the configuration options for a given port.
105545
105546              default
105547                     False  Show the default options for a port (not necessar‐
105548                     ily the same as the current configuration)
105549
105550              dict_return
105551                     False Instead of returning the output of make showconfig,
105552                     return the data in an dictionary
105553
105554              CLI Example:
105555
105556                 salt '*' ports.showconfig security/nmap
105557                 salt '*' ports.showconfig security/nmap default=True
105558
105559       salt.modules.freebsdports.update(extract=False)
105560              Update the ports tree
105561
105562              extract
105563                     False  If  True,  runs a portsnap extract after fetching,
105564                     should be used for first-time installation of  the  ports
105565                     tree.
105566
105567              CLI Example:
105568
105569                 salt '*' ports.update
105570
105571   salt.modules.freebsdservice
105572       The service module for FreeBSD
105573
105574       IMPORTANT:
105575          If you feel that Salt should be using this module to manage services
105576          on a minion, and it is using a different module (or gives  an  error
105577          similar to 'service.start' is not available), see here.
105578
105579       salt.modules.freebsdservice.available(name, jail=None)
105580              Check that the given service is available.
105581
105582              Changed in version 2016.3.4.
105583
105584
105585              jail: optional jid or jail name
105586
105587              CLI Example:
105588
105589                 salt '*' service.available sshd
105590
105591       salt.modules.freebsdservice.disable(name, **kwargs)
105592              Disable the named service to start at boot
105593
105594              Arguments the same as for enable()
105595
105596              Changed in version 2016.3.4.
105597
105598
105599              jail (optional keyword argument)
105600                     the jail's id or name
105601
105602              chroot (optional keyword argument)
105603                     the  jail's  chroot,  if  the  jail's /etc is not mounted
105604                     read-write
105605
105606              CLI Example:
105607
105608                 salt '*' service.disable <service name>
105609
105610       salt.modules.freebsdservice.disabled(name, **kwargs)
105611              Return True if the named service is enabled, false otherwise
105612
105613              CLI Example:
105614
105615                 salt '*' service.disabled <service name>
105616
105617       salt.modules.freebsdservice.enable(name, **kwargs)
105618              Enable the named service to start at boot
105619
105620              name   service name
105621
105622              config /etc/rc.conf Config file for managing service. If  config
105623                     value  is  empty  string,  then  /etc/rc.conf.d/<service>
105624                     used.  See man rc.conf(5) for details.
105625
105626                     Also  service.config  variable  can  be  used  to  change
105627                     default.
105628
105629              Changed in version 2016.3.4.
105630
105631
105632              jail (optional keyword argument)
105633                     the jail's id or name
105634
105635              chroot (optional keyword argument)
105636                     the  jail's  chroot,  if  the  jail's /etc is not mounted
105637                     read-write
105638
105639              CLI Example:
105640
105641                 salt '*' service.enable <service name>
105642
105643       salt.modules.freebsdservice.enabled(name, **kwargs)
105644              Return True if the named service is enabled, false otherwise
105645
105646              name   Service name
105647
105648              Changed in version 2016.3.4.
105649
105650
105651              Support for jail (representing jid or jail name)  keyword  argu‐
105652              ment in kwargs
105653
105654              CLI Example:
105655
105656                 salt '*' service.enabled <service name>
105657
105658       salt.modules.freebsdservice.get_all(jail=None)
105659              Return a list of all available services
105660
105661              Changed in version 2016.3.4.
105662
105663
105664              jail: optional jid or jail name
105665
105666              CLI Example:
105667
105668                 salt '*' service.get_all
105669
105670       salt.modules.freebsdservice.get_disabled(jail=None)
105671              Return  what  services are available but not enabled to start at
105672              boot
105673
105674              Changed in version 2016.3.4.
105675
105676
105677              Support for jail (representing jid or jail name)  keyword  argu‐
105678              ment in kwargs
105679
105680              CLI Example:
105681
105682                 salt '*' service.get_disabled
105683
105684       salt.modules.freebsdservice.get_enabled(jail=None)
105685              Return what services are set to run on boot
105686
105687              Changed in version 2016.3.4.
105688
105689
105690              Support  for  jail (representing jid or jail name) keyword argu‐
105691              ment in kwargs
105692
105693              CLI Example:
105694
105695                 salt '*' service.get_enabled
105696
105697       salt.modules.freebsdservice.missing(name, jail=None)
105698              The inverse of service.available.  Returns True if the specified
105699              service is not available, otherwise returns False.
105700
105701              Changed in version 2016.3.4.
105702
105703
105704              jail: optional jid or jail name
105705
105706              CLI Example:
105707
105708                 salt '*' service.missing sshd
105709
105710       salt.modules.freebsdservice.reload_(name, jail=None)
105711              Restart the named service
105712
105713              Changed in version 2016.3.4.
105714
105715
105716              jail: optional jid or jail name
105717
105718              CLI Example:
105719
105720                 salt '*' service.reload <service name>
105721
105722       salt.modules.freebsdservice.restart(name, jail=None)
105723              Restart the named service
105724
105725              Changed in version 2016.3.4.
105726
105727
105728              jail: optional jid or jail name
105729
105730              CLI Example:
105731
105732                 salt '*' service.restart <service name>
105733
105734       salt.modules.freebsdservice.start(name, jail=None)
105735              Start the specified service
105736
105737              Changed in version 2016.3.4.
105738
105739
105740              jail: optional jid or jail name
105741
105742              CLI Example:
105743
105744                 salt '*' service.start <service name>
105745
105746       salt.modules.freebsdservice.status(name, sig=None, jail=None)
105747              Return the status for a service.  If the name contains globbing,
105748              a dict mapping service name to True/False values is returned.
105749
105750              Changed in version 2016.3.4.
105751
105752
105753              Changed in version 2018.3.0: The service name can now be a  glob
105754              (e.g. salt*)
105755
105756
105757              Parameters
105758
105759                     · name (str) -- The name of the service to check
105760
105761                     · sig  (str)  -- Signature to use to find the service via
105762                       ps
105763
105764              Returns
105765                     True if running, False otherwise dict: Maps service  name
105766                     to True if running, False otherwise
105767
105768              Return type
105769                     bool
105770
105771              CLI Example:
105772
105773                 salt '*' service.status <service name> [service signature]
105774
105775       salt.modules.freebsdservice.stop(name, jail=None)
105776              Stop the specified service
105777
105778              Changed in version 2016.3.4.
105779
105780
105781              jail: optional jid or jail name
105782
105783              CLI Example:
105784
105785                 salt '*' service.stop <service name>
105786
105787   salt.modules.gem
105788       Manage ruby gems.
105789
105790       salt.modules.gem.install(gems,   ruby=None,  gem_bin=None,  runas=None,
105791       version=None,  rdoc=False,  ri=False,  pre_releases=False,  proxy=None,
105792       source=None)
105793              Installs one or several gems.
105794
105795              Parameters
105796
105797                     · gems -- string The gems to install
105798
105799                     · gem_bin  --  string  :  None Full path to gem binary to
105800                       use.
105801
105802                     · ruby -- string : None If RVM or  rbenv  are  installed,
105803                       the ruby version and gemset to use.  Ignored if gem_bin
105804                       is specified.
105805
105806                     · runas -- string : None The user to run gem as.
105807
105808                     · version -- string : None Specify the version to install
105809                       for  the  gem.  Doesn't play nice with multiple gems at
105810                       once
105811
105812                     · rdoc -- boolean : False Generate RDoc documentation for
105813                       the gem(s).
105814
105815                     · ri -- boolean : False Generate RI documentation for the
105816                       gem(s).
105817
105818                     · pre_releases -- boolean : False Include pre-releases in
105819                       the available versions
105820
105821                     · proxy  --  string  :  None Use the specified HTTP proxy
105822                       server   for    all    outgoing    traffic.     Format:
105823                       http://hostname[:port]
105824
105825              source None Use the specified HTTP gem source server to download
105826                     gem.  Format: http://hostname[:port]
105827
105828              CLI Example:
105829
105830                 salt '*' gem.install vagrant
105831
105832                 salt '*' gem.install redphone gem_bin=/opt/sensu/embedded/bin/gem
105833
105834       salt.modules.gem.list_(prefix=u'', ruby=None, runas=None, gem_bin=None)
105835              List locally installed gems.
105836
105837              Parameters
105838
105839                     · prefix -- string : Only list gems when the name matches
105840                       this prefix.
105841
105842                     · gem_bin  --  string  :  None Full path to gem binary to
105843                       use.
105844
105845                     · ruby -- string : None If RVM or  rbenv  are  installed,
105846                       the ruby version and gemset to use.  Ignored if gem_bin
105847                       is specified.
105848
105849                     · runas -- string : None The user to run gem as.
105850
105851              CLI Example:
105852
105853                 salt '*' gem.list
105854
105855       salt.modules.gem.list_upgrades(ruby=None, runas=None, gem_bin=None)
105856              New in version 2015.8.0.
105857
105858
105859              Check if an upgrade is available for installed gems
105860
105861              gem_bin
105862                     None Full path to gem binary to use.
105863
105864              ruby   None If RVM or rbenv are installed, the ruby version  and
105865                     gemset to use.  Ignored if gem_bin is specified.
105866
105867              runas  None The user to run gem as.
105868
105869              CLI Example:
105870
105871                 salt '*' gem.list_upgrades
105872
105873       salt.modules.gem.sources_add(source_uri,     ruby=None,     runas=None,
105874       gem_bin=None)
105875              Add a gem source.
105876
105877              Parameters
105878
105879                     · source_uri -- string The source URI to add.
105880
105881                     · gem_bin -- string : None Full path  to  gem  binary  to
105882                       use.
105883
105884                     · ruby  --  string  : None If RVM or rbenv are installed,
105885                       the ruby version and gemset to use.  Ignored if gem_bin
105886                       is specified.
105887
105888                     · runas -- string : None The user to run gem as.
105889
105890              CLI Example:
105891
105892                 salt '*' gem.sources_add http://rubygems.org/
105893
105894       salt.modules.gem.sources_list(ruby=None, runas=None, gem_bin=None)
105895              List the configured gem sources.
105896
105897              Parameters
105898
105899                     · gem_bin  --  string  :  None Full path to gem binary to
105900                       use.
105901
105902                     · ruby -- string : None If RVM or  rbenv  are  installed,
105903                       the ruby version and gemset to use.  Ignored if gem_bin
105904                       is specified.
105905
105906                     · runas -- string : None The user to run gem as.
105907
105908              CLI Example:
105909
105910                 salt '*' gem.sources_list
105911
105912       salt.modules.gem.sources_remove(source_uri,   ruby=None,    runas=None,
105913       gem_bin=None)
105914              Remove a gem source.
105915
105916              Parameters
105917
105918                     · source_uri -- string The source URI to remove.
105919
105920                     · gem_bin  --  string  :  None Full path to gem binary to
105921                       use.
105922
105923                     · ruby -- string : None If RVM or  rbenv  are  installed,
105924                       the ruby version and gemset to use.  Ignored if gem_bin
105925                       is specified.
105926
105927                     · runas -- string : None The user to run gem as.
105928
105929              CLI Example:
105930
105931                 salt '*' gem.sources_remove http://rubygems.org/
105932
105933       salt.modules.gem.uninstall(gems, ruby=None, runas=None, gem_bin=None)
105934              Uninstall one or several gems.
105935
105936              Parameters
105937
105938                     · gems -- string The gems to uninstall.
105939
105940                     · gem_bin -- string : None Full path  to  gem  binary  to
105941                       use.
105942
105943                     · ruby  --  string  : None If RVM or rbenv are installed,
105944                       the ruby version and gemset to use.  Ignored if gem_bin
105945                       is specified.
105946
105947                     · runas -- string : None The user to run gem as.
105948
105949              CLI Example:
105950
105951                 salt '*' gem.uninstall vagrant
105952
105953       salt.modules.gem.update(gems, ruby=None, runas=None, gem_bin=None)
105954              Update one or several gems.
105955
105956              Parameters
105957
105958                     · gems -- string The gems to update.
105959
105960                     · gem_bin  --  string  :  None Full path to gem binary to
105961                       use.
105962
105963                     · ruby -- string : None If RVM or  rbenv  are  installed,
105964                       the ruby version and gemset to use.  Ignored if gem_bin
105965                       is specified.
105966
105967                     · runas -- string : None The user to run gem as.
105968
105969              CLI Example:
105970
105971                 salt '*' gem.update vagrant
105972
105973       salt.modules.gem.update_system(version=u'',   ruby=None,    runas=None,
105974       gem_bin=None)
105975              Update rubygems.
105976
105977              Parameters
105978
105979                     · version -- string : (newest) The version of rubygems to
105980                       install.
105981
105982                     · gem_bin -- string : None Full path  to  gem  binary  to
105983                       use.
105984
105985                     · ruby  --  string  : None If RVM or rbenv are installed,
105986                       the ruby version and gemset to use.  Ignored if gem_bin
105987                       is specified.
105988
105989                     · runas -- string : None The user to run gem as.
105990
105991              CLI Example:
105992
105993                 salt '*' gem.update_system
105994
105995   salt.modules.genesis
105996       Module for managing container and VM images
105997
105998       New in version 2014.7.0.
105999
106000
106001       salt.modules.genesis.avail_platforms()
106002              Return which platforms are available
106003
106004              CLI Example:
106005
106006                 salt myminion genesis.avail_platforms
106007
106008       salt.modules.genesis.bootstrap(platform,    root,    img_format=u'dir',
106009       fs_format=u'ext2', fs_opts=None, arch=None, flavor=None, repo_url=None,
106010       static_qemu=None,    img_size=None,   mount_dir=None,   pkg_cache=None,
106011       pkgs=None,   exclude_pkgs=None,   epel_url=u'http://download.fedorapro
106012       ject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm')
106013              Create an image for a specific platform.
106014
106015              Please  note  that  this function MUST be run as root, as images
106016              that are created make files belonging to root.
106017
106018              platform
106019                     Which platform to use to create the image. Currently sup‐
106020                     ported platforms are rpm, deb and pacman.
106021
106022              root   Local path to create the root of the image filesystem.
106023
106024              img_format
106025                     Which  format  to  create  the image in. By default, just
106026                     copies files into a directory  on  the  local  filesystem
106027                     (dir). Future support will exist for sparse.
106028
106029              fs_format
106030                     When using a non-dir img_format, which filesystem to for‐
106031                     mat the image to. By default, ext2.
106032
106033              fs_opts
106034                     When using a non-dir img_format, a dict of  opts  may  be
106035                     specified.
106036
106037              arch   Architecture to install packages for, if supported by the
106038                     underlying bootstrap tool. Currently only used for deb.
106039
106040              flavor Which flavor of operating system to install. This  corre‐
106041                     lates to a specific directory on the distribution reposi‐
106042                     tories. For instance, wheezy on Debian.
106043
106044              repo_url
106045                     Mainly important for Debian-based repos. Base URL for the
106046                     mirror        to        install        from.       (e.x.:
106047                     http://ftp.debian.org/debian/)
106048
106049              static_qemu
106050                     Local path to the static qemu binary  required  for  this
106051                     arch.  (e.x.: /usr/bin/qemu-amd64-static)
106052
106053              pkg_confs
106054                     The location of the conf files to copy into the image, to
106055                     point the installer to the right repos and configuration.
106056
106057              img_size
106058                     If img_format is not dir, then the size of the image must
106059                     be specified.
106060
106061              mount_dir
106062                     If  img_format is not dir, then the image must be mounted
106063                     somewhere.  If the mount_dir is not  specified,  then  it
106064                     will  be created at /opt/salt-genesis.<random_uuid>. This
106065                     directory will be unmounted and removed when the  process
106066                     is finished.
106067
106068              pkg_cache
106069                     This  points to a directory containing a cache of package
106070                     files to be copied to the image. It does not need  to  be
106071                     specified.
106072
106073              pkgs   A  list  of  packages  to be installed on this image. For
106074                     RedHat, this will include yum, centos-release and iputils
106075                     by default.
106076
106077              exclude_pkgs
106078                     A  list of packages to be excluded. If you do not want to
106079                     install the defaults, you need to include  them  in  this
106080                     list.
106081
106082              epel_url
106083                     The URL to download the EPEL release package from.
106084
106085              CLI Examples:
106086
106087                 salt myminion genesis.bootstrap pacman /root/arch
106088                 salt myminion genesis.bootstrap rpm /root/redhat
106089                 salt myminion genesis.bootstrap deb /root/wheezy arch=amd64             flavor=wheezy static_qemu=/usr/bin/qemu-x86_64-static
106090
106091       salt.modules.genesis.ldd_deps(filename, ret=None)
106092              Recurse  through  a set of dependencies reported by ldd, to find
106093              associated dependencies.
106094
106095              Please  note  that  this  does  not  necessarily   resolve   all
106096              (non-package) dependencies for a file; but it does help.
106097
106098              CLI Example:
106099                 salt  myminion  genesis.ldd_deps  bash  salt  myminion  gene‐
106100                 sis.ldd_deps /bin/bash
106101
106102       salt.modules.genesis.mksls(fmt, src, dst=None)
106103              Convert an installation file/script to an  SLS  file.  Currently
106104              supports kickstart, preseed, and autoyast.
106105
106106              CLI Examples:
106107                 salt  <minion> genesis.mksls kickstart /path/to/kickstart.cfg
106108                 salt <minion> genesis.mksls kickstart  /path/to/kickstart.cfg
106109                 /path/to/dest.sls
106110
106111              New in version Beryllium.
106112
106113
106114       salt.modules.genesis.pack(name,  root,  path=None,  pack_format=u'tar',
106115       compress=u'bzip2')
106116              Pack up a directory structure, into a specific format
106117
106118              CLI Examples:
106119
106120                 salt myminion genesis.pack centos /root/centos
106121                 salt myminion genesis.pack centos /root/centos pack_format='tar'
106122
106123       salt.modules.genesis.unpack(name,   dest=None,   path=None,   pack_for‐
106124       mat=u'tar', compress=u'bz2')
106125              Unpack an image into a directory structure
106126
106127              CLI Example:
106128
106129                 salt myminion genesis.unpack centos /root/centos
106130
106131   salt.modules.gentoo_service
106132       Top level package command wrapper, used to translate the os detected by
106133       grains to the correct service manager
106134
106135       IMPORTANT:
106136          If you feel that Salt should be using this module to manage services
106137          on  a  minion, and it is using a different module (or gives an error
106138          similar to 'service.start' is not available), see here.
106139
106140       salt.modules.gentoo_service.available(name)
106141              Returns True if the specified service  is  available,  otherwise
106142              returns False.
106143
106144              CLI Example:
106145
106146                 salt '*' service.available sshd
106147
106148       salt.modules.gentoo_service.disable(name, **kwargs)
106149              Disable the named service to start at boot
106150
106151              CLI Example:
106152
106153                 salt '*' service.disable <service name> <runlevels=single-runlevel>
106154                 salt '*' service.disable <service name> <runlevels=[runlevel1,runlevel2]>
106155
106156       salt.modules.gentoo_service.disabled(name)
106157              Return True if the named service is enabled, false otherwise
106158
106159              CLI Example:
106160
106161                 salt '*' service.disabled <service name> <runlevels=[runlevel]>
106162
106163       salt.modules.gentoo_service.enable(name, **kwargs)
106164              Enable the named service to start at boot
106165
106166              CLI Example:
106167
106168                 salt '*' service.enable <service name> <runlevels=single-runlevel>
106169                 salt '*' service.enable <service name> <runlevels=[runlevel1,runlevel2]>
106170
106171       salt.modules.gentoo_service.enabled(name, **kwargs)
106172              Return True if the named service is enabled, false otherwise
106173
106174              CLI Example:
106175
106176                 salt '*' service.enabled <service name> <runlevels=single-runlevel>
106177                 salt '*' service.enabled <service name> <runlevels=[runlevel1,runlevel2]>
106178
106179       salt.modules.gentoo_service.get_all()
106180              Return all available boot services
106181
106182              CLI Example:
106183
106184                 salt '*' service.get_all
106185
106186       salt.modules.gentoo_service.get_disabled()
106187              Return a set of services that are installed but disabled
106188
106189              CLI Example:
106190
106191                 salt '*' service.get_disabled
106192
106193       salt.modules.gentoo_service.get_enabled()
106194              Return a list of service that are enabled on boot
106195
106196              CLI Example:
106197
106198                 salt '*' service.get_enabled
106199
106200       salt.modules.gentoo_service.missing(name)
106201              The inverse of service.available.  Returns True if the specified
106202              service is not available, otherwise returns False.
106203
106204              CLI Example:
106205
106206                 salt '*' service.missing sshd
106207
106208       salt.modules.gentoo_service.reload_(name)
106209              Reload the named service
106210
106211              CLI Example:
106212
106213                 salt '*' service.reload <service name>
106214
106215       salt.modules.gentoo_service.restart(name)
106216              Restart the named service
106217
106218              CLI Example:
106219
106220                 salt '*' service.restart <service name>
106221
106222       salt.modules.gentoo_service.start(name)
106223              Start the specified service
106224
106225              CLI Example:
106226
106227                 salt '*' service.start <service name>
106228
106229       salt.modules.gentoo_service.status(name, sig=None)
106230              Return the status for a service.  If the name contains globbing,
106231              a dict mapping service name to True/False values is returned.
106232
106233              Changed  in version 2018.3.0: The service name can now be a glob
106234              (e.g. salt*)
106235
106236
106237              Parameters
106238
106239                     · name (str) -- The name of the service to check
106240
106241                     · sig (str) -- Signature to use to find the  service  via
106242                       ps
106243
106244              Returns
106245                     True  if running, False otherwise dict: Maps service name
106246                     to True if running, False otherwise
106247
106248              Return type
106249                     bool
106250
106251              CLI Example:
106252
106253                 salt '*' service.status <service name> [service signature]
106254
106255       salt.modules.gentoo_service.stop(name)
106256              Stop the specified service
106257
106258              CLI Example:
106259
106260                 salt '*' service.stop <service name>
106261
106262       salt.modules.gentoo_service.zap(name)
106263              Resets service state
106264
106265              CLI Example:
106266
106267                 salt '*' service.zap <service name>
106268
106269   salt.modules.gentoolkitmod
106270       Support for Gentoolkit
106271
106272       salt.modules.gentoolkitmod.eclean_dist(destructive=False,         pack‐
106273       age_names=False,  size_limit=0,  time_limit=0,  fetch_restricted=False,
106274       exclude_file=u'/etc/eclean/distfiles.exclude')
106275              Clean obsolete portage sources
106276
106277              destructive
106278                     Only keep minimum for reinstallation
106279
106280              package_names
106281                     Protect all versions of installed packages. Only meaning‐
106282                     ful if used with destructive=True
106283
106284              size_limit <size>
106285                     Don't  delete  distfiles bigger than <size>.  <size> is a
106286                     size specification: "10M" is "ten megabytes",  "200K"  is
106287                     "two hundreds kilobytes", etc. Units are: G, M, K and B.
106288
106289              time_limit <time>
106290                     Don't delete distfiles files modified since <time> <time>
106291                     is an amount of time: "1y" is "one year",  "2w"  is  "two
106292                     weeks", etc. Units are: y (years), m (months), w (weeks),
106293                     d (days) and h (hours).
106294
106295              fetch_restricted
106296                     Protect fetch-restricted files. Only meaningful  if  used
106297                     with destructive=True
106298
106299              exclude_file
106300                     Path  to  exclusion  file.  Default  is /etc/eclean/dist‐
106301                     files.exclude This is the same default eclean-dist  uses.
106302                     Use None if this file exists and you want to ignore.
106303
106304              Returns  a  dict  containing  the cleaned, saved, and deprecated
106305              dists:
106306
106307                 {'cleaned': {<dist file>: <size>},
106308                  'deprecated': {<package>: <dist file>},
106309                  'saved': {<package>: <dist file>},
106310                  'total_cleaned': <size>}
106311
106312              CLI Example:
106313
106314                 salt '*' gentoolkit.eclean_dist destructive=True
106315
106316       salt.modules.gentoolkitmod.eclean_pkg(destructive=False,          pack‐
106317       age_names=False,     time_limit=0,     exclude_file=u'/etc/eclean/pack‐
106318       ages.exclude')
106319              Clean obsolete binary packages
106320
106321              destructive
106322                     Only keep minimum for reinstallation
106323
106324              package_names
106325                     Protect all versions of installed packages. Only meaning‐
106326                     ful if used with destructive=True
106327
106328              time_limit <time>
106329                     Don't delete distfiles files modified since <time> <time>
106330                     is an amount of time: "1y" is "one year",  "2w"  is  "two
106331                     weeks", etc. Units are: y (years), m (months), w (weeks),
106332                     d (days) and h (hours).
106333
106334              exclude_file
106335                     Path to  exclusion  file.  Default  is  /etc/eclean/pack‐
106336                     ages.exclude  This  is  the same default eclean-pkg uses.
106337                     Use None if this file exists and you want to ignore.
106338
106339              Returns a dict containing the cleaned binary packages:
106340
106341                 {'cleaned': {<dist file>: <size>},
106342                  'total_cleaned': <size>}
106343
106344              CLI Example:
106345
106346                 salt '*' gentoolkit.eclean_pkg destructive=True
106347
106348       salt.modules.gentoolkitmod.glsa_check_list(glsa_list)
106349              List the status of Gentoo Linux Security Advisories
106350
106351              glsa_list
106352                     can contain an arbitrary number of  GLSA  ids,  filenames
106353                     containing  GLSAs  or  the  special identifiers 'all' and
106354                     'affected'
106355
106356              Returns a dict containing glsa ids with a  description,  status,
106357              and CVEs:
106358
106359                 {<glsa_id>: {'description': <glsa_description>,
106360                  'status': <glsa status>,
106361                  'CVEs': [<list of CVEs>]}}
106362
106363              CLI Example:
106364
106365                 salt '*' gentoolkit.glsa_check_list 'affected'
106366
106367       salt.modules.gentoolkitmod.revdep_rebuild(lib=None)
106368              Fix up broken reverse dependencies
106369
106370              lib    Search  for reverse dependencies for a particular library
106371                     rather than every library on the system. It can be a full
106372                     path to a library or basic regular expression.
106373
106374              CLI Example:
106375
106376                 salt '*' gentoolkit.revdep_rebuild
106377
106378   salt.modules.git
106379       Support for the Git SCM
106380
106381       salt.modules.git.add(cwd,  filename, opts=u'', git_opts=u'', user=None,
106382       password=None, ignore_retcode=False, output_encoding=None)
106383              Changed in version 2015.8.0: The --verbose command line argument
106384              is now implied
106385
106386
106387              Interface to git-add(1)
106388
106389              cwd    The path to the git checkout
106390
106391              filename
106392                     The  location  of  the file/directory to add, relative to
106393                     cwd
106394
106395              opts   Any additional options to add to the command line,  in  a
106396                     single string
106397
106398                     NOTE:
106399                        On the Salt CLI, if the opts are preceded with a dash,
106400                        it is necessary to precede them with opts= (as in  the
106401                        CLI  examples  below)  to  avoid  causing  errors with
106402                        Salt's own argument parsing.
106403
106404              git_opts
106405                     Any additional options to add to git command itself  (not
106406                     the  add  subcommand), in a single string. This is useful
106407                     for passing -c to run git with temporary changes  to  the
106408                     git configuration.
106409
106410                     New in version 2017.7.0.
106411
106412
106413                     NOTE:
106414                        This is only supported in git 1.7.2 and newer.
106415
106416              user   User  under which to run the git command. By default, the
106417                     command is run by the user under which the minion is run‐
106418                     ning.
106419
106420              password
106421                        Windows  only.  Required  when  specifying  user. This
106422                        parameter will be ignored on non-Windows platforms.
106423
106424                     New in version 2016.3.4.
106425
106426
106427              ignore_retcode
106428                     False If True, do not log an error to the minion  log  if
106429                     the git command returns a nonzero exit status.
106430
106431                     New in version 2015.8.0.
106432
106433
106434              output_encoding
106435                     Use  this  option  to  specify  which  encoding to use to
106436                     decode the output from any git commands  which  are  run.
106437                     This should not be needed in most cases.
106438
106439                     NOTE:
106440                        This should only be needed if the files in the reposi‐
106441                        tory were created with  filenames  using  an  encoding
106442                        other than UTF-8 to handle Unicode characters.
106443
106444                     New in version 2018.3.1.
106445
106446
106447              CLI Examples:
106448
106449                 salt myminion git.add /path/to/repo foo/bar.py
106450                 salt myminion git.add /path/to/repo foo/bar.py opts='--dry-run'
106451
106452       salt.modules.git.archive(cwd,    output,    rev=u'HEAD',   prefix=None,
106453       git_opts=u'',  user=None,  password=None,  ignore_retcode=False,   out‐
106454       put_encoding=None, **kwargs)
106455              Changed  in version 2015.8.0: Returns True if successful, raises
106456              an error if not.
106457
106458
106459              Interface to git-archive(1), exports a tarball/zip file  of  the
106460              repository
106461
106462              cwd    The path to be archived
106463
106464                     NOTE:
106465                        git  archive  permits a partial archive to be created.
106466                        Thus, this path does not need to be the  root  of  the
106467                        git  repository.  Only  the files within the directory
106468                        specified by cwd (and its subdirectories) will  be  in
106469                        the  resulting archive. For example, if there is a git
106470                        checkout at /tmp/foo, then passing /tmp/foo/bar as the
106471                        cwd   will   result   in  just  the  files  underneath
106472                        /tmp/foo/bar to be exported as an archive.
106473
106474              output The path of the archive to be created
106475
106476              overwrite
106477                     False Unless set to True, Salt  will  over  overwrite  an
106478                     existing  archive  at  the  path  specified by the output
106479                     argument.
106480
106481                     New in version 2015.8.0.
106482
106483
106484              rev    HEAD The revision from which to create the archive
106485
106486              format Manually specify the file format  of  the  resulting  ar‐
106487                     chive. This argument can be omitted, and git archive will
106488                     attempt to guess the archive type (and compression)  from
106489                     the  filename.  zip,  tar, tar.gz, and tgz are extensions
106490                     that are recognized automatically, and git can be config‐
106491                     ured  to support other archive types with the addition of
106492                     git configuration keys.
106493
106494                     See the git-archive(1) manpage explanation of the  --for‐
106495                     mat argument (as well as the CONFIGURATION section of the
106496                     manpage) for further information.
106497
106498                     New in version 2015.8.0.
106499
106500
106501              prefix Prepend <prefix> to every filename  in  the  archive.  If
106502                     unspecified,  the  name of the directory at the top level
106503                     of the repository will be used as the prefix (e.g. if cwd
106504                     is  set  to /foo/bar/baz, the prefix will be baz, and the
106505                     resulting archive will contain a top-level  directory  by
106506                     that name).
106507
106508                     NOTE:
106509                        The  default  behavior  if the --prefix option for git
106510                        archive is not specified is to not prepend  a  prefix,
106511                        so  Salt's  behavior differs slightly from git archive
106512                        in this respect. Use prefix='' to  create  an  archive
106513                        with no prefix.
106514
106515                     Changed  in  version 2015.8.0: The behavior of this argu‐
106516                     ment has been changed slightly. As of this version, it is
106517                     necessary to include the trailing slash when specifying a
106518                     prefix, if the prefix is intended to create  a  top-level
106519                     directory.
106520
106521
106522              git_opts
106523                     Any  additional options to add to git command itself (not
106524                     the archive subcommand), in a single string. This is use‐
106525                     ful  for  passing -c to run git with temporary changes to
106526                     the git configuration.
106527
106528                     New in version 2017.7.0.
106529
106530
106531                     NOTE:
106532                        This is only supported in git 1.7.2 and newer.
106533
106534              user   User under which to run the git command. By default,  the
106535                     command is run by the user under which the minion is run‐
106536                     ning.
106537
106538              password
106539                        Windows only.  Required  when  specifying  user.  This
106540                        parameter will be ignored on non-Windows platforms.
106541
106542                     New in version 2016.3.4.
106543
106544
106545              ignore_retcode
106546                     False  If  True, do not log an error to the minion log if
106547                     the git command returns a nonzero exit status.
106548
106549                     New in version 2015.8.0.
106550
106551
106552              output_encoding
106553                     Use this option to  specify  which  encoding  to  use  to
106554                     decode  the  output  from any git commands which are run.
106555                     This should not be needed in most cases.
106556
106557                     NOTE:
106558                        This should only be needed if the files in the reposi‐
106559                        tory  were  created  with  filenames using an encoding
106560                        other than UTF-8 to handle Unicode characters.
106561
106562                     New in version 2018.3.1.
106563
106564
106565              CLI Example:
106566
106567                 salt myminion git.archive /path/to/repo /path/to/archive.tar
106568
106569       salt.modules.git.branch(cwd,   name=None,    opts=u'',    git_opts=u'',
106570       user=None, password=None, ignore_retcode=False, output_encoding=None)
106571              Interface to git-branch(1)
106572
106573              cwd    The path to the git checkout
106574
106575              name   Name of the branch on which to operate. If not specified,
106576                     the current branch will be assumed.
106577
106578              opts   Any additional options to add to the command line,  in  a
106579                     single string
106580
106581                     NOTE:
106582                        To create a branch based on something other than HEAD,
106583                        pass the name of the revision as opts. If the revision
106584                        is  in  the  format  remotename/branch, then this will
106585                        also set the remote tracking branch.
106586
106587                        Additionally, on the Salt CLI, if the  opts  are  pre‐
106588                        ceded  with  a  dash,  it is necessary to precede them
106589                        with opts= (as in the CLI  examples  below)  to  avoid
106590                        causing errors with Salt's own argument parsing.
106591
106592              git_opts
106593                     Any  additional options to add to git command itself (not
106594                     the branch subcommand), in a single string. This is  use‐
106595                     ful  for  passing -c to run git with temporary changes to
106596                     the git configuration.
106597
106598                     New in version 2017.7.0.
106599
106600
106601                     NOTE:
106602                        This is only supported in git 1.7.2 and newer.
106603
106604              user   User under which to run the git command. By default,  the
106605                     command is run by the user under which the minion is run‐
106606                     ning.
106607
106608              password
106609                        Windows only.  Required  when  specifying  user.  This
106610                        parameter will be ignored on non-Windows platforms.
106611
106612                     New in version 2016.3.4.
106613
106614
106615              ignore_retcode
106616                     False  If  True, do not log an error to the minion log if
106617                     the git command returns a nonzero exit status.
106618
106619                     New in version 2015.8.0.
106620
106621
106622              output_encoding
106623                     Use this option to  specify  which  encoding  to  use  to
106624                     decode  the  output  from any git commands which are run.
106625                     This should not be needed in most cases.
106626
106627                     NOTE:
106628                        This should only be needed if the files in the reposi‐
106629                        tory  were  created  with  filenames using an encoding
106630                        other than UTF-8 to handle Unicode characters.
106631
106632                     New in version 2018.3.1.
106633
106634
106635              CLI Examples:
106636
106637                 # Set remote tracking branch
106638                 salt myminion git.branch /path/to/repo mybranch opts='--set-upstream-to origin/mybranch'
106639                 # Create new branch
106640                 salt myminion git.branch /path/to/repo mybranch upstream/somebranch
106641                 # Delete branch
106642                 salt myminion git.branch /path/to/repo mybranch opts='-d'
106643                 # Rename branch (2015.8.0 and later)
106644                 salt myminion git.branch /path/to/repo newbranch opts='-m oldbranch'
106645
106646       salt.modules.git.checkout(cwd,   rev=None,    force=False,    opts=u'',
106647       git_opts=u'',   user=None,  password=None,  ignore_retcode=False,  out‐
106648       put_encoding=None)
106649              Interface to git-checkout(1)
106650
106651              cwd    The path to the git checkout
106652
106653              opts   Any additional options to add to the command line,  in  a
106654                     single string
106655
106656                     NOTE:
106657                        On the Salt CLI, if the opts are preceded with a dash,
106658                        it is necessary to precede them with opts= (as in  the
106659                        CLI  examples  below)  to  avoid  causing  errors with
106660                        Salt's own argument parsing.
106661
106662              git_opts
106663                     Any additional options to add to git command itself  (not
106664                     the  checkout  subcommand),  in  a single string. This is
106665                     useful for passing -c to run git with  temporary  changes
106666                     to the git configuration.
106667
106668                     New in version 2017.7.0.
106669
106670
106671                     NOTE:
106672                        This is only supported in git 1.7.2 and newer.
106673
106674              rev    The remote branch or revision to checkout.
106675
106676                     Changed in version 2015.8.0: Optional when using -b or -B
106677                     in opts.
106678
106679
106680              force  False Force a checkout even if there might be overwritten
106681                     changes
106682
106683              user   User  under which to run the git command. By default, the
106684                     command is run by the user under which the minion is run‐
106685                     ning.
106686
106687              password
106688                        Windows  only.  Required  when  specifying  user. This
106689                        parameter will be ignored on non-Windows platforms.
106690
106691                     New in version 2016.3.4.
106692
106693
106694              ignore_retcode
106695                     False If True, do not log an error to the minion  log  if
106696                     the git command returns a nonzero exit status.
106697
106698                     New in version 2015.8.0.
106699
106700
106701              output_encoding
106702                     Use  this  option  to  specify  which  encoding to use to
106703                     decode the output from any git commands  which  are  run.
106704                     This should not be needed in most cases.
106705
106706                     NOTE:
106707                        This should only be needed if the files in the reposi‐
106708                        tory were created with  filenames  using  an  encoding
106709                        other than UTF-8 to handle Unicode characters.
106710
106711                     New in version 2018.3.1.
106712
106713
106714              CLI Examples:
106715
106716                 # Checking out local local revisions
106717                 salt myminion git.checkout /path/to/repo somebranch user=jeff
106718                 salt myminion git.checkout /path/to/repo opts='testbranch -- conf/file1 file2'
106719                 salt myminion git.checkout /path/to/repo rev=origin/mybranch opts='--track'
106720                 # Checking out remote revision into new branch
106721                 salt myminion git.checkout /path/to/repo upstream/master opts='-b newbranch'
106722                 # Checking out current revision into new branch (2015.8.0 and later)
106723                 salt myminion git.checkout /path/to/repo opts='-b newbranch'
106724
106725       salt.modules.git.clone(cwd,      url=None,     name=None,     opts=u'',
106726       git_opts=u'', user=None, password=None, identity=None, https_user=None,
106727       https_pass=None,  ignore_retcode=False,  saltenv=u'base', output_encod‐
106728       ing=None)
106729              Interface to git-clone(1)
106730
106731              cwd    Location of git clone
106732
106733                     Changed in version 2015.8.0: If name is passed, then  the
106734                     clone will be made within this directory.
106735
106736
106737              url    The URL of the repository to be cloned
106738
106739                     Changed in version 2015.8.0: Argument renamed from repos‐
106740                     itory to url
106741
106742
106743              name   Optional alternate name for the top-level directory to be
106744                     created by the clone
106745
106746                     New in version 2015.8.0.
106747
106748
106749              opts   Any  additional  options to add to the command line, in a
106750                     single string
106751
106752              git_opts
106753                     Any additional options to add to git command itself  (not
106754                     the clone subcommand), in a single string. This is useful
106755                     for passing -c to run git with temporary changes  to  the
106756                     git configuration.
106757
106758                     New in version 2017.7.0.
106759
106760
106761                     NOTE:
106762                        This is only supported in git 1.7.2 and newer.
106763
106764              user   User  under which to run the git command. By default, the
106765                     command is run by the user under which the minion is run‐
106766                     ning.
106767
106768              password
106769                        Windows  only.  Required  when  specifying  user. This
106770                        parameter will be ignored on non-Windows platforms.
106771
106772                     New in version 2016.3.4.
106773
106774
106775              identity
106776                     Path to a private key to use for ssh URLs
106777
106778                     WARNING:
106779                        Unless  Salt  is  invoked  from   the   minion   using
106780                        salt-call,  the  key(s)  must  be  passphraseless. For
106781                        greater security with passphraseless private keys, see
106782                        the  sshd(8)  manpage  for information on securing the
106783                        keypair from the remote side  in  the  authorized_keys
106784                        file.
106785
106786                     Changed  in version 2015.8.7: Salt will no longer attempt
106787                     to use passphrase-protected keys unless invoked from  the
106788                     minion  using  salt-call, to prevent blocking waiting for
106789                     user input.
106790
106791
106792                     Key can also be specified as a SaltStack file server URL,
106793                     eg. salt://location/identity_file
106794
106795                     Changed in version 2016.3.0.
106796
106797
106798              https_user
106799                     Set  HTTP  Basic  Auth  username. Only accepted for HTTPS
106800                     URLs.
106801
106802                     New in version 20515.5.0.
106803
106804
106805              https_pass
106806                     Set HTTP Basic Auth password.  Only  accepted  for  HTTPS
106807                     URLs.
106808
106809                     New in version 2015.5.0.
106810
106811
106812              ignore_retcode
106813                     False  If  True, do not log an error to the minion log if
106814                     the git command returns a nonzero exit status.
106815
106816                     New in version 2015.8.0.
106817
106818
106819              saltenv
106820                     The default salt environment to pull sls files from
106821
106822                     New in version 2016.3.1.
106823
106824
106825              output_encoding
106826                     Use this option to  specify  which  encoding  to  use  to
106827                     decode  the  output  from any git commands which are run.
106828                     This should not be needed in most cases.
106829
106830                     NOTE:
106831                        This should only be needed if the files in the reposi‐
106832                        tory  were  created  with  filenames using an encoding
106833                        other than UTF-8 to handle Unicode characters.
106834
106835                     New in version 2018.3.1.
106836
106837
106838              CLI Example:
106839
106840                 salt myminion git.clone /path/to/repo_parent_dir git://github.com/saltstack/salt.git
106841
106842       salt.modules.git.commit(cwd,    message,    opts=u'',     git_opts=u'',
106843       user=None,  password=None,  filename=None,  ignore_retcode=False,  out‐
106844       put_encoding=None)
106845              Interface to git-commit(1)
106846
106847              cwd    The path to the git checkout
106848
106849              message
106850                     Commit message
106851
106852              opts   Any additional options to add to the command line,  in  a
106853                     single  string.   These  opts will be added to the end of
106854                     the git command being run.
106855
106856                     NOTE:
106857                        On the Salt CLI, if the opts are preceded with a dash,
106858                        it  is necessary to precede them with opts= (as in the
106859                        CLI examples  below)  to  avoid  causing  errors  with
106860                        Salt's own argument parsing.
106861
106862                        The -m option should not be passed here, as the commit
106863                        message will be defined by the message argument.
106864
106865              git_opts
106866                     Any additional options to add to git command itself  (not
106867                     the  commit subcommand), in a single string. This is use‐
106868                     ful for passing -c to run git with temporary  changes  to
106869                     the git configuration.
106870
106871                     New in version 2017.7.0.
106872
106873
106874                     NOTE:
106875                        This is only supported in git 1.7.2 and newer.
106876
106877              user   User  under which to run the git command. By default, the
106878                     command is run by the user under which the minion is run‐
106879                     ning.
106880
106881              password
106882                        Windows  only.  Required  when  specifying  user. This
106883                        parameter will be ignored on non-Windows platforms.
106884
106885                     New in version 2016.3.4.
106886
106887
106888              filename
106889                     The location of the file/directory to commit, relative to
106890                     cwd.   This argument is optional, and can be used to com‐
106891                     mit a file without first staging it.
106892
106893                     NOTE:
106894                        This argument only works on files  which  are  already
106895                        tracked by the git repository.
106896
106897                     New in version 2015.8.0.
106898
106899
106900              ignore_retcode
106901                     False  If  True, do not log an error to the minion log if
106902                     the git command returns a nonzero exit status.
106903
106904                     New in version 2015.8.0.
106905
106906
106907              output_encoding
106908                     Use this option to  specify  which  encoding  to  use  to
106909                     decode  the  output  from any git commands which are run.
106910                     This should not be needed in most cases.
106911
106912                     NOTE:
106913                        This should only be needed if the files in the reposi‐
106914                        tory  were  created  with  filenames using an encoding
106915                        other than UTF-8 to handle Unicode characters.
106916
106917                     New in version 2018.3.1.
106918
106919
106920              CLI Examples:
106921
106922                 salt myminion git.commit /path/to/repo 'The commit message'
106923                 salt myminion git.commit /path/to/repo 'The commit message' filename=foo/bar.py
106924
106925       salt.modules.git.config_get(key,  cwd=None,  user=None,  password=None,
106926       ignore_retcode=False, output_encoding=None, **kwargs)
106927              Get the value of a key in the git configuration file
106928
106929              key    The name of the configuration key to get
106930
106931                     Changed  in  version 2015.8.0: Argument renamed from set‐
106932                     ting_name to key
106933
106934
106935              cwd    The path to the git checkout
106936
106937                     Changed in version 2015.8.0: Now optional  if  global  is
106938                     set to True
106939
106940
106941              global False If True, query the global git configuration. Other‐
106942                     wise, only the local git configuration will be queried.
106943
106944                     New in version 2015.8.0.
106945
106946
106947              all    False If True, return a list of all values set  for  key.
106948                     If the key does not exist, None will be returned.
106949
106950                     New in version 2015.8.0.
106951
106952
106953              user   User  under which to run the git command. By default, the
106954                     command is run by the user under which the minion is run‐
106955                     ning.
106956
106957              password
106958                        Windows  only.  Required  when  specifying  user. This
106959                        parameter will be ignored on non-Windows platforms.
106960
106961                     New in version 2016.3.4.
106962
106963
106964              ignore_retcode
106965                     False If True, do not log an error to the minion  log  if
106966                     the git command returns a nonzero exit status.
106967
106968                     New in version 2015.8.0.
106969
106970
106971              output_encoding
106972                     Use  this  option  to  specify  which  encoding to use to
106973                     decode the output from any git commands  which  are  run.
106974                     This should not be needed in most cases.
106975
106976                     NOTE:
106977                        This should only be needed if the files in the reposi‐
106978                        tory were created with  filenames  using  an  encoding
106979                        other than UTF-8 to handle Unicode characters.
106980
106981                     New in version 2018.3.1.
106982
106983
106984              CLI Examples:
106985
106986                 salt myminion git.config_get user.name cwd=/path/to/repo
106987                 salt myminion git.config_get user.email global=True
106988                 salt myminion git.config_get core.gitproxy cwd=/path/to/repo all=True
106989
106990       salt.modules.git.config_get_regexp(key,   value_regex=None,   cwd=None,
106991       user=None, password=None,  ignore_retcode=False,  output_encoding=None,
106992       **kwargs)
106993              New in version 2015.8.0.
106994
106995
106996              Get  the  value  of  a key or keys in the git configuration file
106997              using regexes for more flexible matching. The return data  is  a
106998              dictionary   mapping  keys  to  lists  of  values  matching  the
106999              value_regex. If no values match, an  empty  dictionary  will  be
107000              returned.
107001
107002              key    Regex on which key names will be matched
107003
107004              value_regex
107005                     If  specified, return all values matching this regex. The
107006                     return data will be a dictionary mapping keys to lists of
107007                     values matching the regex.
107008
107009                     IMPORTANT:
107010                        Only  values  matching the value_regex will be part of
107011                        the return data. So, if key matches a  multivar,  then
107012                        it  is  possible  that  not  all of the values will be
107013                        returned. To get all values set for a multivar, simply
107014                        omit the value_regex argument.
107015
107016              cwd    The path to the git checkout
107017
107018              global False If True, query the global git configuration. Other‐
107019                     wise, only the local git configuration will be queried.
107020
107021              user   User under which to run the git command. By default,  the
107022                     command is run by the user under which the minion is run‐
107023                     ning.
107024
107025              password
107026                        Windows only.  Required  when  specifying  user.  This
107027                        parameter will be ignored on non-Windows platforms.
107028
107029                     New in version 2016.3.4.
107030
107031
107032              ignore_retcode
107033                     False  If  True, do not log an error to the minion log if
107034                     the git command returns a nonzero exit status.
107035
107036              output_encoding
107037                     Use this option to  specify  which  encoding  to  use  to
107038                     decode  the  output  from any git commands which are run.
107039                     This should not be needed in most cases.
107040
107041                     NOTE:
107042                        This should only be needed if the files in the reposi‐
107043                        tory  were  created  with  filenames using an encoding
107044                        other than UTF-8 to handle Unicode characters.
107045
107046                     New in version 2018.3.1.
107047
107048
107049              CLI Examples:
107050
107051                 # Matches any values for key 'foo.bar'
107052                 salt myminion git.config_get_regexp /path/to/repo foo.bar
107053                 # Matches any value starting with 'baz' set for key 'foo.bar'
107054                 salt myminion git.config_get_regexp /path/to/repo foo.bar 'baz.*'
107055                 # Matches any key starting with 'user.'
107056                 salt myminion git.config_get_regexp '^user\.' global=True
107057
107058       salt.modules.git.config_set(key, value=None,  multivar=None,  cwd=None,
107059       user=None,  password=None,  ignore_retcode=False, output_encoding=None,
107060       **kwargs)
107061              Changed in version 2015.8.0: Return  the  value(s)  of  the  key
107062              being set
107063
107064
107065              Set a key in the git configuration file
107066
107067              cwd    The  path  to the git checkout. Must be an absolute path,
107068                     or the word global to indicate that a global  key  should
107069                     be set.
107070
107071                     Changed  in  version 2014.7.0: Made cwd argument optional
107072                     if is_global=True
107073
107074
107075              key    The name of the configuration key to set
107076
107077                     Changed in version 2015.8.0: Argument renamed  from  set‐
107078                     ting_name to key
107079
107080
107081              value  The value to set for the specified key. Incompatible with
107082                     the multivar argument.
107083
107084                     Changed in version 2015.8.0: Argument renamed  from  set‐
107085                     ting_value to value
107086
107087
107088              add    False Add a value to a key, creating/updating a multivar
107089
107090                     New in version 2015.8.0.
107091
107092
107093              multivar
107094                     Set a multivar all at once. Values can be comma-separated
107095                     or passed as a Python list. Incompatible with  the  value
107096                     argument.
107097
107098                     New in version 2015.8.0.
107099
107100
107101              user   User  under which to run the git command. By default, the
107102                     command is run by the user under which the minion is run‐
107103                     ning.
107104
107105              password
107106                        Windows  only.  Required  when  specifying  user. This
107107                        parameter will be ignored on non-Windows platforms.
107108
107109                     New in version 2016.3.4.
107110
107111
107112              ignore_retcode
107113                     False If True, do not log an error to the minion  log  if
107114                     the git command returns a nonzero exit status.
107115
107116                     New in version 2015.8.0.
107117
107118
107119              global False If True, set a global variable
107120
107121              output_encoding
107122                     Use  this  option  to  specify  which  encoding to use to
107123                     decode the output from any git commands  which  are  run.
107124                     This should not be needed in most cases.
107125
107126                     NOTE:
107127                        This should only be needed if the files in the reposi‐
107128                        tory were created with  filenames  using  an  encoding
107129                        other than UTF-8 to handle Unicode characters.
107130
107131                     New in version 2018.3.1.
107132
107133
107134              CLI Examples:
107135
107136                 salt myminion git.config_set user.email me@example.com cwd=/path/to/repo
107137                 salt myminion git.config_set user.email foo@bar.com global=True
107138
107139       salt.modules.git.config_unset(key,      value_regex=None,     cwd=None,
107140       user=None, password=None,  ignore_retcode=False,  output_encoding=None,
107141       **kwargs)
107142              New in version 2015.8.0.
107143
107144
107145              Unset a key in the git configuration file
107146
107147              cwd    The  path  to the git checkout. Must be an absolute path,
107148                     or the word global to indicate that a global  key  should
107149                     be unset.
107150
107151              key    The name of the configuration key to unset
107152
107153              value_regex
107154                     Regular  expression that matches exactly one key, used to
107155                     delete a single value from a multivar. Ignored if all  is
107156                     set to True.
107157
107158              all    False  If True unset all values for a multivar. If False,
107159                     and key is a multivar, an error will be raised.
107160
107161              global False If True, unset set a global variable. Otherwise,  a
107162                     local variable will be unset.
107163
107164              user   User  under which to run the git command. By default, the
107165                     command is run by the user under which the minion is run‐
107166                     ning.
107167
107168              password
107169                        Windows  only.  Required  when  specifying  user. This
107170                        parameter will be ignored on non-Windows platforms.
107171
107172                     New in version 2016.3.4.
107173
107174
107175              ignore_retcode
107176                     False If True, do not log an error to the minion  log  if
107177                     the git command returns a nonzero exit status.
107178
107179              output_encoding
107180                     Use  this  option  to  specify  which  encoding to use to
107181                     decode the output from any git commands  which  are  run.
107182                     This should not be needed in most cases.
107183
107184                     NOTE:
107185                        This should only be needed if the files in the reposi‐
107186                        tory were created with  filenames  using  an  encoding
107187                        other than UTF-8 to handle Unicode characters.
107188
107189                     New in version 2018.3.1.
107190
107191
107192              CLI Example:
107193
107194                 salt myminion git.config_unset /path/to/repo foo.bar
107195                 salt myminion git.config_unset /path/to/repo foo.bar all=True
107196
107197       salt.modules.git.current_branch(cwd,      user=None,     password=None,
107198       ignore_retcode=False, output_encoding=None)
107199              Returns the current branch name of a local checkout. If HEAD  is
107200              detached,  return  the  SHA1  of the revision which is currently
107201              checked out.
107202
107203              cwd    The path to the git checkout
107204
107205              user   User under which to run the git command. By default,  the
107206                     command is run by the user under which the minion is run‐
107207                     ning.
107208
107209              password
107210                        Windows only.  Required  when  specifying  user.  This
107211                        parameter will be ignored on non-Windows platforms.
107212
107213                     New in version 2016.3.4.
107214
107215
107216              ignore_retcode
107217                     False  If  True, do not log an error to the minion log if
107218                     the git command returns a nonzero exit status.
107219
107220                     New in version 2015.8.0.
107221
107222
107223              output_encoding
107224                     Use this option to  specify  which  encoding  to  use  to
107225                     decode  the  output  from any git commands which are run.
107226                     This should not be needed in most cases.
107227
107228                     NOTE:
107229                        This should only be needed if the files in the reposi‐
107230                        tory  were  created  with  filenames using an encoding
107231                        other than UTF-8 to handle Unicode characters.
107232
107233                     New in version 2018.3.1.
107234
107235
107236              CLI Example:
107237
107238                 salt myminion git.current_branch /path/to/repo
107239
107240       salt.modules.git.describe(cwd, rev=u'HEAD',  user=None,  password=None,
107241       ignore_retcode=False, output_encoding=None)
107242              Returns  the  git-describe(1)  string (or the SHA1 hash if there
107243              are no tags) for the given revision.
107244
107245              cwd    The path to the git checkout
107246
107247              rev    HEAD The revision to describe
107248
107249              user   User under which to run the git command. By default,  the
107250                     command is run by the user under which the minion is run‐
107251                     ning.
107252
107253              password
107254                        Windows only.  Required  when  specifying  user.  This
107255                        parameter will be ignored on non-Windows platforms.
107256
107257                     New in version 2016.3.4.
107258
107259
107260              ignore_retcode
107261                     False  If  True, do not log an error to the minion log if
107262                     the git command returns a nonzero exit status.
107263
107264                     New in version 2015.8.0.
107265
107266
107267              output_encoding
107268                     Use this option to  specify  which  encoding  to  use  to
107269                     decode  the  output  from any git commands which are run.
107270                     This should not be needed in most cases.
107271
107272                     NOTE:
107273                        This should only be needed if the files in the reposi‐
107274                        tory  were  created  with  filenames using an encoding
107275                        other than UTF-8 to handle Unicode characters.
107276
107277                     New in version 2018.3.1.
107278
107279
107280              CLI Examples:
107281
107282                 salt myminion git.describe /path/to/repo
107283                 salt myminion git.describe /path/to/repo develop
107284
107285       salt.modules.git.diff(cwd,    item1=None,     item2=None,     opts=u'',
107286       git_opts=u'',  user=None,  password=None, no_index=False, cached=False,
107287       paths=None, output_encoding=None)
107288              New in version 2015.8.12,2016.3.3,2016.11.0.
107289
107290
107291              Interface to git-diff(1)
107292
107293              cwd    The path to the git checkout
107294
107295              item1 and item2
107296                     Revision(s) to pass to the git diff command. One or  both
107297                     of  these arguments may be ignored if some of the options
107298                     below are set to True. When cached is False, and no revi‐
107299                     sions are passed to this function, then the current work‐
107300                     ing  tree  will  be  compared  against  the  index  (i.e.
107301                     unstaged  changes).  When  two revisions are passed, they
107302                     will be compared to each other.
107303
107304              opts   Any additional options to add to the command line,  in  a
107305                     single string
107306
107307                     NOTE:
107308                        On the Salt CLI, if the opts are preceded with a dash,
107309                        it is necessary to precede them with opts= (as in  the
107310                        CLI  examples  below)  to  avoid  causing  errors with
107311                        Salt's own argument parsing.
107312
107313              git_opts
107314                     Any additional options to add to git command itself  (not
107315                     the  diff subcommand), in a single string. This is useful
107316                     for passing -c to run git with temporary changes  to  the
107317                     git configuration.
107318
107319                     New in version 2017.7.0.
107320
107321
107322                     NOTE:
107323                        This is only supported in git 1.7.2 and newer.
107324
107325              user   User  under which to run the git command. By default, the
107326                     command is run by the user under which the minion is run‐
107327                     ning.
107328
107329              password
107330                        Windows  only.  Required  when  specifying  user. This
107331                        parameter will be ignored on non-Windows platforms.
107332
107333                     New in version 2016.3.4.
107334
107335
107336              no_index
107337                     False When it is necessary to diff two files in the  same
107338                     repo against each other, and not diff two different revi‐
107339                     sions, set this option to True. If this is left False  in
107340                     these instances, then a normal git diff will be performed
107341                     against the index (i.e. unstaged changes), and  files  in
107342                     the  paths  option  will  be used to narrow down the diff
107343                     output.
107344
107345                     NOTE:
107346                        Requires Git 1.5.1 or newer. Additionally, when set to
107347                        True, item1 and item2 will be ignored.
107348
107349              cached False If True, compare staged changes to item1 (if speci‐
107350                     fied), otherwise compare them to the most recent commit.
107351
107352                     NOTE:
107353                        item2 is ignored if this option is is set to True.
107354
107355              paths  File paths to pass to the git diff command. Can be passed
107356                     as a comma-separated list or a Python list.
107357
107358              output_encoding
107359                     Use  this  option  to  specify  which  encoding to use to
107360                     decode the output from any git commands  which  are  run.
107361                     This should not be needed in most cases.
107362
107363                     NOTE:
107364                        This should only be needed if the files in the reposi‐
107365                        tory were created with  filenames  using  an  encoding
107366                        other than UTF-8 to handle Unicode characters.
107367
107368                     New in version 2018.3.1.
107369
107370
107371              CLI Example:
107372
107373                 # Perform diff against the index (staging area for next commit)
107374                 salt myminion git.diff /path/to/repo
107375                 # Compare staged changes to the most recent commit
107376                 salt myminion git.diff /path/to/repo cached=True
107377                 # Compare staged changes to a specific revision
107378                 salt myminion git.diff /path/to/repo mybranch cached=True
107379                 # Perform diff against the most recent commit (includes staged changes)
107380                 salt myminion git.diff /path/to/repo HEAD
107381                 # Diff two commits
107382                 salt myminion git.diff /path/to/repo abcdef1 aabbccd
107383                 # Diff two commits, only showing differences in the specified paths
107384                 salt myminion git.diff /path/to/repo abcdef1 aabbccd paths=path/to/file1,path/to/file2
107385                 # Diff two files with one being outside the working tree
107386                 salt myminion git.diff /path/to/repo no_index=True paths=path/to/file1,/absolute/path/to/file2
107387
107388       salt.modules.git.discard_local_changes(cwd, path=u'.', user=None, pass‐
107389       word=None, ignore_retcode=False, output_encoding=None)
107390              New in version Fluorine.
107391
107392
107393              Runs a git checkout -- <path> from the  directory  specified  by
107394              cwd.
107395
107396              cwd    The path to the git checkout
107397
107398              path   path relative to cwd (defaults to .)
107399
107400              user   User  under which to run the git command. By default, the
107401                     command is run by the user under which the minion is run‐
107402                     ning.
107403
107404              password
107405                     Windows only. Required when specifying user. This parame‐
107406                     ter will be ignored on non-Windows platforms.
107407
107408              ignore_retcode
107409                     False If True, do not log an error to the minion  log  if
107410                     the git command returns a nonzero exit status.
107411
107412              output_encoding
107413                     Use  this  option  to  specify  which  encoding to use to
107414                     decode the output from any git commands  which  are  run.
107415                     This should not be needed in most cases.
107416
107417                     NOTE:
107418                        This should only be needed if the files in the reposi‐
107419                        tory were created with  filenames  using  an  encoding
107420                        other than UTF-8 to handle Unicode characters.
107421
107422              CLI Example:
107423
107424                 salt myminion git.discard_local_changes /path/to/repo
107425                 salt myminion git.discard_local_changes /path/to/repo path=foo
107426
107427       salt.modules.git.fetch(cwd,  remote=None,  force=False,  refspecs=None,
107428       opts=u'',  git_opts=u'',   user=None,   password=None,   identity=None,
107429       ignore_retcode=False, saltenv=u'base', output_encoding=None)
107430              Changed  in  version  2015.8.2:  Return data is now a dictionary
107431              containing  information  on  branches   and   tags   that   were
107432              added/updated
107433
107434
107435              Interface to git-fetch(1)
107436
107437              cwd    The path to the git checkout
107438
107439              remote Optional  remote  name  to fetch. If not passed, then git
107440                     will  use  its   default   behavior   (as   detailed   in
107441                     git-fetch(1)).
107442
107443                     New in version 2015.8.0.
107444
107445
107446              force  Force the fetch even when it is not a fast-forward.
107447
107448                     New in version 2015.8.0.
107449
107450
107451              refspecs
107452                     Override  the  refspec(s)  configured for the remote with
107453                     this  argument.   Multiple  refspecs   can   be   passed,
107454                     comma-separated.
107455
107456                     New in version 2015.8.0.
107457
107458
107459              opts   Any  additional  options to add to the command line, in a
107460                     single string
107461
107462                     NOTE:
107463                        On the Salt CLI, if the opts are preceded with a dash,
107464                        it  is necessary to precede them with opts= (as in the
107465                        CLI examples  below)  to  avoid  causing  errors  with
107466                        Salt's own argument parsing.
107467
107468              git_opts
107469                     Any  additional options to add to git command itself (not
107470                     the fetch subcommand), in a single string. This is useful
107471                     for  passing  -c to run git with temporary changes to the
107472                     git configuration.
107473
107474                     New in version 2017.7.0.
107475
107476
107477                     NOTE:
107478                        This is only supported in git 1.7.2 and newer.
107479
107480              user   User under which to run the git command. By default,  the
107481                     command is run by the user under which the minion is run‐
107482                     ning.
107483
107484              password
107485                        Windows only.  Required  when  specifying  user.  This
107486                        parameter will be ignored on non-Windows platforms.
107487
107488                     New in version 2016.3.4.
107489
107490
107491              identity
107492                     Path to a private key to use for ssh URLs
107493
107494                     WARNING:
107495                        Unless   Salt   is   invoked  from  the  minion  using
107496                        salt-call, the  key(s)  must  be  passphraseless.  For
107497                        greater security with passphraseless private keys, see
107498                        the sshd(8) manpage for information  on  securing  the
107499                        keypair  from  the  remote side in the authorized_keys
107500                        file.
107501
107502                     Changed in version 2015.8.7: Salt will no longer  attempt
107503                     to  use passphrase-protected keys unless invoked from the
107504                     minion using salt-call, to prevent blocking  waiting  for
107505                     user input.
107506
107507
107508                     Key can also be specified as a SaltStack file server URL,
107509                     eg. salt://location/identity_file
107510
107511                     Changed in version 2016.3.0.
107512
107513
107514              ignore_retcode
107515                     False If True, do not log an error to the minion  log  if
107516                     the git command returns a nonzero exit status.
107517
107518                     New in version 2015.8.0.
107519
107520
107521              saltenv
107522                     The default salt environment to pull sls files from
107523
107524                     New in version 2016.3.1.
107525
107526
107527              output_encoding
107528                     Use  this  option  to  specify  which  encoding to use to
107529                     decode the output from any git commands  which  are  run.
107530                     This should not be needed in most cases.
107531
107532                     NOTE:
107533                        This should only be needed if the files in the reposi‐
107534                        tory were created with  filenames  using  an  encoding
107535                        other than UTF-8 to handle Unicode characters.
107536
107537                     New in version 2018.3.1.
107538
107539
107540              CLI Example:
107541
107542                 salt myminion git.fetch /path/to/repo upstream
107543                 salt myminion git.fetch /path/to/repo identity=/root/.ssh/id_rsa
107544
107545       salt.modules.git.init(cwd,     bare=False,     template=None,     sepa‐
107546       rate_git_dir=None,  shared=None,  opts=u'',  git_opts=u'',   user=None,
107547       password=None, ignore_retcode=False, output_encoding=None)
107548              Interface to git-init(1)
107549
107550              cwd    The path to the directory to be initialized
107551
107552              bare   False If True, init a bare repository
107553
107554                     New in version 2015.8.0.
107555
107556
107557              template
107558                     Set this argument to specify an alternate template direc‐
107559                     tory
107560
107561                     New in version 2015.8.0.
107562
107563
107564              separate_git_dir
107565                     Set this argument to specify an alternate $GIT_DIR
107566
107567                     New in version 2015.8.0.
107568
107569
107570              shared Set sharing permissions on git repo. See git-init(1)  for
107571                     more details.
107572
107573                     New in version 2015.8.0.
107574
107575
107576              opts   Any  additional  options to add to the command line, in a
107577                     single string
107578
107579                     NOTE:
107580                        On the Salt CLI, if the opts are preceded with a dash,
107581                        it  is necessary to precede them with opts= (as in the
107582                        CLI examples  below)  to  avoid  causing  errors  with
107583                        Salt's own argument parsing.
107584
107585              git_opts
107586                     Any  additional options to add to git command itself (not
107587                     the init subcommand), in a single string. This is  useful
107588                     for  passing  -c to run git with temporary changes to the
107589                     git configuration.
107590
107591                     New in version 2017.7.0.
107592
107593
107594                     NOTE:
107595                        This is only supported in git 1.7.2 and newer.
107596
107597              user   User under which to run the git command. By default,  the
107598                     command is run by the user under which the minion is run‐
107599                     ning.
107600
107601              password
107602                        Windows only.  Required  when  specifying  user.  This
107603                        parameter will be ignored on non-Windows platforms.
107604
107605                     New in version 2016.3.4.
107606
107607
107608              ignore_retcode
107609                     False  If  True, do not log an error to the minion log if
107610                     the git command returns a nonzero exit status.
107611
107612                     New in version 2015.8.0.
107613
107614
107615              output_encoding
107616                     Use this option to  specify  which  encoding  to  use  to
107617                     decode  the  output  from any git commands which are run.
107618                     This should not be needed in most cases.
107619
107620                     NOTE:
107621                        This should only be needed if the files in the reposi‐
107622                        tory  were  created  with  filenames using an encoding
107623                        other than UTF-8 to handle Unicode characters.
107624
107625                     New in version 2018.3.1.
107626
107627
107628              CLI Examples:
107629
107630                 salt myminion git.init /path/to/repo
107631                 # Init a bare repo (before 2015.8.0)
107632                 salt myminion git.init /path/to/bare/repo.git opts='--bare'
107633                 # Init a bare repo (2015.8.0 and later)
107634                 salt myminion git.init /path/to/bare/repo.git bare=True
107635
107636       salt.modules.git.is_worktree(cwd,   user=None,   password=None,    out‐
107637       put_encoding=None)
107638              New in version 2015.8.0.
107639
107640
107641              This  function  will  attempt  to  determine if cwd is part of a
107642              worktree by checking its .git to see if it is a file  containing
107643              a reference to another gitdir.
107644
107645              cwd    path to the worktree to be removed
107646
107647              user   User  under which to run the git command. By default, the
107648                     command is run by the user under which the minion is run‐
107649                     ning.
107650
107651              password
107652                        Windows  only.  Required  when  specifying  user. This
107653                        parameter will be ignored on non-Windows platforms.
107654
107655                     New in version 2016.3.4.
107656
107657
107658              output_encoding
107659                     Use this option to  specify  which  encoding  to  use  to
107660                     decode  the  output  from any git commands which are run.
107661                     This should not be needed in most cases.
107662
107663                     NOTE:
107664                        This should only be needed if the files in the reposi‐
107665                        tory  were  created  with  filenames using an encoding
107666                        other than UTF-8 to handle Unicode characters.
107667
107668                     New in version 2018.3.1.
107669
107670
107671              CLI Example:
107672
107673                 salt myminion git.is_worktree /path/to/repo
107674
107675       salt.modules.git.list_branches(cwd,  remote=False,   user=None,   pass‐
107676       word=None, ignore_retcode=False, output_encoding=None)
107677              New in version 2015.8.0.
107678
107679
107680              Return a list of branches
107681
107682              cwd    The path to the git checkout
107683
107684              remote False  If  True,  list  remote branches. Otherwise, local
107685                     branches will be listed.
107686
107687                     WARNING:
107688                        This option will only return remote branches of  which
107689                        the  local  checkout is aware, use git.fetch to update
107690                        remotes.
107691
107692              user   User under which to run the git command. By default,  the
107693                     command is run by the user under which the minion is run‐
107694                     ning.
107695
107696              password
107697                        Windows only.  Required  when  specifying  user.  This
107698                        parameter will be ignored on non-Windows platforms.
107699
107700                     New in version 2016.3.4.
107701
107702
107703              ignore_retcode
107704                     False  If  True, do not log an error to the minion log if
107705                     the git command returns a nonzero exit status.
107706
107707                     New in version 2015.8.0.
107708
107709
107710              output_encoding
107711                     Use this option to  specify  which  encoding  to  use  to
107712                     decode  the  output  from any git commands which are run.
107713                     This should not be needed in most cases.
107714
107715                     NOTE:
107716                        This should only be needed if the files in the reposi‐
107717                        tory  were  created  with  filenames using an encoding
107718                        other than UTF-8 to handle Unicode characters.
107719
107720                     New in version 2018.3.1.
107721
107722
107723              CLI Examples:
107724
107725                 salt myminion git.list_branches /path/to/repo
107726                 salt myminion git.list_branches /path/to/repo remote=True
107727
107728       salt.modules.git.list_tags(cwd, user=None,  password=None,  ignore_ret‐
107729       code=False, output_encoding=None)
107730              New in version 2015.8.0.
107731
107732
107733              Return a list of tags
107734
107735              cwd    The path to the git checkout
107736
107737              user   User  under which to run the git command. By default, the
107738                     command is run by the user under which the minion is run‐
107739                     ning.
107740
107741              password
107742                        Windows  only.  Required  when  specifying  user. This
107743                        parameter will be ignored on non-Windows platforms.
107744
107745                     New in version 2016.3.4.
107746
107747
107748              ignore_retcode
107749                     False If True, do not log an error to the minion  log  if
107750                     the git command returns a nonzero exit status.
107751
107752                     New in version 2015.8.0.
107753
107754
107755              output_encoding
107756                     Use  this  option  to  specify  which  encoding to use to
107757                     decode the output from any git commands  which  are  run.
107758                     This should not be needed in most cases.
107759
107760                     NOTE:
107761                        This should only be needed if the files in the reposi‐
107762                        tory were created with  filenames  using  an  encoding
107763                        other than UTF-8 to handle Unicode characters.
107764
107765                     New in version 2018.3.1.
107766
107767
107768              CLI Examples:
107769
107770                 salt myminion git.list_tags /path/to/repo
107771
107772       salt.modules.git.list_worktrees(cwd,   stale=False,   user=None,  pass‐
107773       word=None, output_encoding=None, **kwargs)
107774              New in version 2015.8.0.
107775
107776
107777              Returns information on worktrees
107778
107779              Changed in version 2015.8.4: Version 2.7.0 added the  list  sub‐
107780              command  to  git-worktree(1)  which provides a lot of additional
107781              information. The return data has been changed  to  include  this
107782              information, even for pre-2.7.0 versions of git. In addition, if
107783              a worktree has a detached head, then any tags which point to the
107784              worktree's HEAD will be included in the return data.
107785
107786
107787              NOTE:
107788                 By  default,  only worktrees for which the worktree directory
107789                 is still present are returned, but this can be changed  using
107790                 the all and stale arguments (described below).
107791
107792              cwd    The path to the git checkout
107793
107794              user   User  under which to run the git command. By default, the
107795                     command is run by the user under which the minion is run‐
107796                     ning.
107797
107798              password
107799                        Windows  only.  Required  when  specifying  user. This
107800                        parameter will be ignored on non-Windows platforms.
107801
107802                     New in version 2016.3.4.
107803
107804
107805              all    False If True, then return all  worktrees  tracked  under
107806                     $GIT_DIR/worktrees,  including  ones for which the gitdir
107807                     is no longer present.
107808
107809              stale  False If True, return only worktrees whose gitdir  is  no
107810                     longer present.
107811
107812              NOTE:
107813                 Only one of all and stale can be set to True.
107814
107815              output_encoding
107816                     Use  this  option  to  specify  which  encoding to use to
107817                     decode the output from any git commands  which  are  run.
107818                     This should not be needed in most cases.
107819
107820                     NOTE:
107821                        This should only be needed if the files in the reposi‐
107822                        tory were created with  filenames  using  an  encoding
107823                        other than UTF-8 to handle Unicode characters.
107824
107825                     New in version 2018.3.1.
107826
107827
107828              CLI Examples:
107829
107830                 salt myminion git.list_worktrees /path/to/repo
107831                 salt myminion git.list_worktrees /path/to/repo all=True
107832                 salt myminion git.list_worktrees /path/to/repo stale=True
107833
107834       salt.modules.git.ls_remote(cwd=None,     remote=u'origin',    ref=None,
107835       opts=u'',  git_opts=u'',   user=None,   password=None,   identity=None,
107836       https_user=None,  https_pass=None,  ignore_retcode=False, output_encod‐
107837       ing=None, saltenv=u'base')
107838              Interface to git-ls-remote(1). Returns the upstream hash  for  a
107839              remote reference.
107840
107841              cwd    The  path  to  the git checkout. Optional (and ignored if
107842                     present) when remote is set to a URL instead of a  remote
107843                     name.
107844
107845              remote origin  The  name of the remote to query. Can be the name
107846                     of a git remote (which exists in the git checkout defined
107847                     by the cwd parameter), or the URL of a remote repository.
107848
107849                     Changed in version 2015.8.0: Argument renamed from repos‐
107850                     itory to remote
107851
107852
107853              ref    The name of the ref to query. Optional, if not specified,
107854                     all  refs  are  returned. Can be a branch or tag name, or
107855                     the full name of the reference (for example, to  get  the
107856                     hash  for  a  Github pull request number 1234, ref can be
107857                     set to refs/pull/1234/head
107858
107859                     Changed in version 2015.8.0: Argument renamed from branch
107860                     to ref
107861
107862
107863                     Changed  in  version  2015.8.4: Defaults to returning all
107864                     refs instead of master.
107865
107866
107867              opts   Any additional options to add to the command line,  in  a
107868                     single string
107869
107870                     New in version 2015.8.0.
107871
107872
107873              git_opts
107874                     Any  additional options to add to git command itself (not
107875                     the ls-remote subcommand), in a single  string.  This  is
107876                     useful  for  passing -c to run git with temporary changes
107877                     to the git configuration.
107878
107879                     New in version 2017.7.0.
107880
107881
107882                     NOTE:
107883                        This is only supported in git 1.7.2 and newer.
107884
107885              user   User under which to run the git command. By default,  the
107886                     command is run by the user under which the minion is run‐
107887                     ning.
107888
107889              password
107890                        Windows only.  Required  when  specifying  user.  This
107891                        parameter will be ignored on non-Windows platforms.
107892
107893                     New in version 2016.3.4.
107894
107895
107896              identity
107897                     Path to a private key to use for ssh URLs
107898
107899                     WARNING:
107900                        Unless   Salt   is   invoked  from  the  minion  using
107901                        salt-call, the  key(s)  must  be  passphraseless.  For
107902                        greater security with passphraseless private keys, see
107903                        the sshd(8) manpage for information  on  securing  the
107904                        keypair  from  the  remote side in the authorized_keys
107905                        file.
107906
107907                     Changed in version 2015.8.7: Salt will no longer  attempt
107908                     to  use passphrase-protected keys unless invoked from the
107909                     minion using salt-call, to prevent blocking  waiting  for
107910                     user input.
107911
107912
107913                     Key can also be specified as a SaltStack file server URL,
107914                     eg. salt://location/identity_file
107915
107916                     Changed in version 2016.3.0.
107917
107918
107919              https_user
107920                     Set HTTP Basic Auth username.  Only  accepted  for  HTTPS
107921                     URLs.
107922
107923                     New in version 2015.5.0.
107924
107925
107926              https_pass
107927                     Set  HTTP  Basic  Auth  password. Only accepted for HTTPS
107928                     URLs.
107929
107930                     New in version 2015.5.0.
107931
107932
107933              ignore_retcode
107934                     False If True, do not log an error to the minion  log  if
107935                     the git command returns a nonzero exit status.
107936
107937                     New in version 2015.8.0.
107938
107939
107940              saltenv
107941                     The default salt environment to pull sls files from
107942
107943                     New in version 2016.3.1.
107944
107945
107946              output_encoding
107947                     Use  this  option  to  specify  which  encoding to use to
107948                     decode the output from any git commands  which  are  run.
107949                     This should not be needed in most cases.
107950
107951                     NOTE:
107952                        This should only be needed if the files in the reposi‐
107953                        tory were created with  filenames  using  an  encoding
107954                        other than UTF-8 to handle Unicode characters.
107955
107956                     New in version 2018.3.1.
107957
107958
107959              CLI Example:
107960
107961                 salt myminion git.ls_remote /path/to/repo origin master
107962                 salt myminion git.ls_remote remote=https://mydomain.tld/repo.git ref=mytag opts='--tags'
107963
107964       salt.modules.git.merge(cwd,     rev=None,    opts=u'',    git_opts=u'',
107965       user=None, password=None,  ignore_retcode=False,  output_encoding=None,
107966       **kwargs)
107967              Interface to git-merge(1)
107968
107969              cwd    The path to the git checkout
107970
107971              rev    Revision  to merge into the current branch. If not speci‐
107972                     fied, the remote tracking branch will be merged.
107973
107974                     New in version 2015.8.0.
107975
107976
107977              opts   Any additional options to add to the command line,  in  a
107978                     single string
107979
107980                     NOTE:
107981                        On the Salt CLI, if the opts are preceded with a dash,
107982                        it is necessary to precede them with opts= (as in  the
107983                        CLI  examples  below)  to  avoid  causing  errors with
107984                        Salt's own argument parsing.
107985
107986              git_opts
107987                     Any additional options to add to git command itself  (not
107988                     the merge subcommand), in a single string. This is useful
107989                     for passing -c to run git with temporary changes  to  the
107990                     git configuration.
107991
107992                     New in version 2017.7.0.
107993
107994
107995                     NOTE:
107996                        This is only supported in git 1.7.2 and newer.
107997
107998              user   User  under which to run the git command. By default, the
107999                     command is run by the user under which the minion is run‐
108000                     ning.
108001
108002              password
108003                        Windows  only.  Required  when  specifying  user. This
108004                        parameter will be ignored on non-Windows platforms.
108005
108006                     New in version 2016.3.4.
108007
108008
108009              ignore_retcode
108010                     False If True, do not log an error to the minion  log  if
108011                     the git command returns a nonzero exit status.
108012
108013                     New in version 2015.8.0.
108014
108015
108016              output_encoding
108017                     Use  this  option  to  specify  which  encoding to use to
108018                     decode the output from any git commands  which  are  run.
108019                     This should not be needed in most cases.
108020
108021                     NOTE:
108022                        This should only be needed if the files in the reposi‐
108023                        tory were created with  filenames  using  an  encoding
108024                        other than UTF-8 to handle Unicode characters.
108025
108026                     New in version 2018.3.1.
108027
108028
108029              CLI Example:
108030
108031                 # Fetch first...
108032                 salt myminion git.fetch /path/to/repo
108033                 # ... then merge the remote tracking branch
108034                 salt myminion git.merge /path/to/repo
108035                 # .. or merge another rev
108036                 salt myminion git.merge /path/to/repo rev=upstream/foo
108037
108038       salt.modules.git.merge_base(cwd,  refs=None,  octopus=False,  is_ances‐
108039       tor=False, independent=False, fork_point=None, opts=u'',  git_opts=u'',
108040       user=None,  password=None,  ignore_retcode=False, output_encoding=None,
108041       **kwargs)
108042              New in version 2015.8.0.
108043
108044
108045              Interface to git-merge-base(1).
108046
108047              cwd    The path to the git checkout
108048
108049              refs   Any refs/commits to check for a merge base. Can be passed
108050                     as a comma-separated list or a Python list.
108051
108052              all    False Return a list of all matching merge bases. Not com‐
108053                     patible with any of the below options except for octopus.
108054
108055              octopus
108056                     False If True, then this function will determine the best
108057                     common ancestors of all specified commits, in preparation
108058                     for an n-way merge.  See here for a  description  of  how
108059                     these bases are determined.
108060
108061                     Set  all  to True with this option to return all computed
108062                     merge bases, otherwise only the "best" will be returned.
108063
108064              is_ancestor
108065                     False If True, then instead of returning the merge  base,
108066                     return  a boolean telling whether or not the first commit
108067                     is an ancestor of the second commit.
108068
108069                     NOTE:
108070                        This option requires two commits to be passed.
108071
108072                     Changed in version 2015.8.2: Works properly in  git  ver‐
108073                     sions  older  than  1.8.0,  where  the  --is-ancestor CLI
108074                     option is not present.
108075
108076
108077              independent
108078                     False If True, this function will return the IDs  of  the
108079                     refs/commits  passed  which  cannot be reached by another
108080                     commit.
108081
108082              fork_point
108083                     If passed, then this  function  will  return  the  commit
108084                     where  the  commit  diverged  from  the  ref specified by
108085                     fork_point. If no fork point is found, None is returned.
108086
108087                     NOTE:
108088                        At most one commit is permitted  to  be  passed  if  a
108089                        fork_point  is  specified.  If  no commits are passed,
108090                        then HEAD is assumed.
108091
108092              opts   Any additional options to add to the command line,  in  a
108093                     single string
108094
108095                     NOTE:
108096                        On the Salt CLI, if the opts are preceded with a dash,
108097                        it is necessary to precede them with opts= (as in  the
108098                        CLI  examples  below)  to  avoid  causing  errors with
108099                        Salt's own argument parsing.
108100
108101                        This option should not be  necessary  unless  new  CLI
108102                        arguments  are  added to git-merge-base(1) and are not
108103                        yet supported in Salt.
108104
108105              git_opts
108106                     Any additional options to add to git command itself  (not
108107                     the  merge-base  subcommand), in a single string. This is
108108                     useful for passing -c to run git with  temporary  changes
108109                     to the git configuration.
108110
108111                     New in version 2017.7.0.
108112
108113
108114                     NOTE:
108115                        This is only supported in git 1.7.2 and newer.
108116
108117              user   User  under which to run the git command. By default, the
108118                     command is run by the user under which the minion is run‐
108119                     ning.
108120
108121              password
108122                        Windows  only.  Required  when  specifying  user. This
108123                        parameter will be ignored on non-Windows platforms.
108124
108125                     New in version 2016.3.4.
108126
108127
108128              ignore_retcode
108129                     False if True, do not log an error to the minion  log  if
108130                     the git command returns a nonzero exit status.
108131
108132              output_encoding
108133                     Use  this  option  to  specify  which  encoding to use to
108134                     decode the output from any git commands  which  are  run.
108135                     This should not be needed in most cases.
108136
108137                     NOTE:
108138                        This should only be needed if the files in the reposi‐
108139                        tory were created with  filenames  using  an  encoding
108140                        other than UTF-8 to handle Unicode characters.
108141
108142                     New in version 2018.3.1.
108143
108144
108145              CLI Examples:
108146
108147                 salt myminion git.merge_base /path/to/repo HEAD upstream/mybranch
108148                 salt myminion git.merge_base /path/to/repo 8f2e542,4ad8cab,cdc9886 octopus=True
108149                 salt myminion git.merge_base /path/to/repo refs=8f2e542,4ad8cab,cdc9886 independent=True
108150                 salt myminion git.merge_base /path/to/repo refs=8f2e542,4ad8cab is_ancestor=True
108151                 salt myminion git.merge_base /path/to/repo fork_point=upstream/master
108152                 salt myminion git.merge_base /path/to/repo refs=mybranch fork_point=upstream/master
108153
108154       salt.modules.git.merge_tree(cwd,   ref1,  ref2,  base=None,  user=None,
108155       password=None, ignore_retcode=False, output_encoding=None)
108156              New in version 2015.8.0.
108157
108158
108159              Interface to git-merge-tree(1), shows the merge results and con‐
108160              flicts from a 3-way merge without touching the index.
108161
108162              cwd    The path to the git checkout
108163
108164              ref1   First ref/commit to compare
108165
108166              ref2   Second ref/commit to compare
108167
108168              base   The  base  tree  to  use for the 3-way-merge. If not pro‐
108169                     vided, then git.merge_base will be invoked  on  ref1  and
108170                     ref2 to determine the merge base to use.
108171
108172              user   User  under which to run the git command. By default, the
108173                     command is run by the user under which the minion is run‐
108174                     ning.
108175
108176              password
108177                        Windows  only.  Required  when  specifying  user. This
108178                        parameter will be ignored on non-Windows platforms.
108179
108180                     New in version 2016.3.4.
108181
108182
108183              ignore_retcode
108184                     False if True, do not log an error to the minion  log  if
108185                     the git command returns a nonzero exit status.
108186
108187              output_encoding
108188                     Use  this  option  to  specify  which  encoding to use to
108189                     decode the output from any git commands  which  are  run.
108190                     This should not be needed in most cases.
108191
108192                     NOTE:
108193                        This should only be needed if the files in the reposi‐
108194                        tory were created with  filenames  using  an  encoding
108195                        other than UTF-8 to handle Unicode characters.
108196
108197                     New in version 2018.3.1.
108198
108199
108200              CLI Examples:
108201
108202                 salt myminion git.merge_tree /path/to/repo HEAD upstream/dev
108203                 salt myminion git.merge_tree /path/to/repo HEAD upstream/dev base=aaf3c3d
108204
108205       salt.modules.git.pull(cwd,  opts=u'',  git_opts=u'',  user=None,  pass‐
108206       word=None, identity=None, ignore_retcode=False,  saltenv=u'base',  out‐
108207       put_encoding=None)
108208              Interface to git-pull(1)
108209
108210              cwd    The path to the git checkout
108211
108212              opts   Any  additional  options to add to the command line, in a
108213                     single string
108214
108215                     NOTE:
108216                        On the Salt CLI, if the opts are preceded with a dash,
108217                        it  is necessary to precede them with opts= (as in the
108218                        CLI examples  below)  to  avoid  causing  errors  with
108219                        Salt's own argument parsing.
108220
108221              git_opts
108222                     Any  additional options to add to git command itself (not
108223                     the pull subcommand), in a single string. This is  useful
108224                     for  passing  -c to run git with temporary changes to the
108225                     git configuration.
108226
108227                     New in version 2017.7.0.
108228
108229
108230                     NOTE:
108231                        This is only supported in git 1.7.2 and newer.
108232
108233              user   User under which to run the git command. By default,  the
108234                     command is run by the user under which the minion is run‐
108235                     ning.
108236
108237              password
108238                        Windows only.  Required  when  specifying  user.  This
108239                        parameter will be ignored on non-Windows platforms.
108240
108241                     New in version 2016.3.4.
108242
108243
108244              identity
108245                     Path to a private key to use for ssh URLs
108246
108247                     WARNING:
108248                        Unless   Salt   is   invoked  from  the  minion  using
108249                        salt-call, the  key(s)  must  be  passphraseless.  For
108250                        greater security with passphraseless private keys, see
108251                        the sshd(8) manpage for information  on  securing  the
108252                        keypair  from  the  remote side in the authorized_keys
108253                        file.
108254
108255                     Changed in version 2015.8.7: Salt will no longer  attempt
108256                     to  use passphrase-protected keys unless invoked from the
108257                     minion using salt-call, to prevent blocking  waiting  for
108258                     user input.
108259
108260
108261                     Key can also be specified as a SaltStack file server URL,
108262                     eg. salt://location/identity_file
108263
108264                     Changed in version 2016.3.0.
108265
108266
108267              ignore_retcode
108268                     False If True, do not log an error to the minion  log  if
108269                     the git command returns a nonzero exit status.
108270
108271                     New in version 2015.8.0.
108272
108273
108274              saltenv
108275                     The default salt environment to pull sls files from
108276
108277                     New in version 2016.3.1.
108278
108279
108280              output_encoding
108281                     Use  this  option  to  specify  which  encoding to use to
108282                     decode the output from any git commands  which  are  run.
108283                     This should not be needed in most cases.
108284
108285                     NOTE:
108286                        This should only be needed if the files in the reposi‐
108287                        tory were created with  filenames  using  an  encoding
108288                        other than UTF-8 to handle Unicode characters.
108289
108290                     New in version 2018.3.1.
108291
108292
108293              CLI Example:
108294
108295                 salt myminion git.pull /path/to/repo opts='--rebase origin master'
108296
108297       salt.modules.git.push(cwd,     remote=None,     ref=None,     opts=u'',
108298       git_opts=u'',  user=None,  password=None,  identity=None,   ignore_ret‐
108299       code=False, saltenv=u'base', output_encoding=None, **kwargs)
108300              Interface to git-push(1)
108301
108302              cwd    The path to the git checkout
108303
108304              remote Name of the remote to which the ref should being pushed
108305
108306                     New in version 2015.8.0.
108307
108308
108309              ref    master Name of the ref to push
108310
108311                     NOTE:
108312                        Being  a refspec, this argument can include a colon to
108313                        define local and remote ref names.
108314
108315              opts   Any additional options to add to the command line,  in  a
108316                     single string
108317
108318                     NOTE:
108319                        On the Salt CLI, if the opts are preceded with a dash,
108320                        it is necessary to precede them with opts= (as in  the
108321                        CLI  examples  below)  to  avoid  causing  errors with
108322                        Salt's own argument parsing.
108323
108324              git_opts
108325                     Any additional options to add to git command itself  (not
108326                     the  push subcommand), in a single string. This is useful
108327                     for passing -c to run git with temporary changes  to  the
108328                     git configuration.
108329
108330                     New in version 2017.7.0.
108331
108332
108333                     NOTE:
108334                        This is only supported in git 1.7.2 and newer.
108335
108336              user   User  under which to run the git command. By default, the
108337                     command is run by the user under which the minion is run‐
108338                     ning.
108339
108340              password
108341                        Windows  only.  Required  when  specifying  user. This
108342                        parameter will be ignored on non-Windows platforms.
108343
108344                     New in version 2016.3.4.
108345
108346
108347              identity
108348                     Path to a private key to use for ssh URLs
108349
108350                     WARNING:
108351                        Unless  Salt  is  invoked  from   the   minion   using
108352                        salt-call,  the  key(s)  must  be  passphraseless. For
108353                        greater security with passphraseless private keys, see
108354                        the  sshd(8)  manpage  for information on securing the
108355                        keypair from the remote side  in  the  authorized_keys
108356                        file.
108357
108358                     Changed  in version 2015.8.7: Salt will no longer attempt
108359                     to use passphrase-protected keys unless invoked from  the
108360                     minion  using  salt-call, to prevent blocking waiting for
108361                     user input.
108362
108363
108364                     Key can also be specified as a SaltStack file server URL,
108365                     eg. salt://location/identity_file
108366
108367                     Changed in version 2016.3.0.
108368
108369
108370              ignore_retcode
108371                     False  If  True, do not log an error to the minion log if
108372                     the git command returns a nonzero exit status.
108373
108374                     New in version 2015.8.0.
108375
108376
108377              saltenv
108378                     The default salt environment to pull sls files from
108379
108380                     New in version 2016.3.1.
108381
108382
108383              output_encoding
108384                     Use this option to  specify  which  encoding  to  use  to
108385                     decode  the  output  from any git commands which are run.
108386                     This should not be needed in most cases.
108387
108388                     NOTE:
108389                        This should only be needed if the files in the reposi‐
108390                        tory  were  created  with  filenames using an encoding
108391                        other than UTF-8 to handle Unicode characters.
108392
108393                     New in version 2018.3.1.
108394
108395
108396              CLI Example:
108397
108398                 # Push master as origin/master
108399                 salt myminion git.push /path/to/repo origin master
108400                 # Push issue21 as upstream/develop
108401                 salt myminion git.push /path/to/repo upstream issue21:develop
108402                 # Delete remote branch 'upstream/temp'
108403                 salt myminion git.push /path/to/repo upstream :temp
108404
108405       salt.modules.git.rebase(cwd,  rev=u'master',  opts=u'',   git_opts=u'',
108406       user=None, password=None, ignore_retcode=False, output_encoding=None)
108407              Interface to git-rebase(1)
108408
108409              cwd    The path to the git checkout
108410
108411              rev    master The revision to rebase onto the current branch
108412
108413              opts   Any  additional  options to add to the command line, in a
108414                     single string
108415
108416                     NOTE:
108417                        On the Salt CLI, if the opts are preceded with a dash,
108418                        it  is necessary to precede them with opts= (as in the
108419                        CLI examples  below)  to  avoid  causing  errors  with
108420                        Salt's own argument parsing.
108421
108422              git_opts
108423                     Any  additional options to add to git command itself (not
108424                     the rebase subcommand), in a single string. This is  use‐
108425                     ful  for  passing -c to run git with temporary changes to
108426                     the git configuration.
108427
108428                     New in version 2017.7.0.
108429
108430
108431                     NOTE:
108432                        This is only supported in git 1.7.2 and newer.
108433
108434              user   User under which to run the git command. By default,  the
108435                     command is run by the user under which the minion is run‐
108436                     ning.
108437
108438              password
108439                        Windows only.  Required  when  specifying  user.  This
108440                        parameter will be ignored on non-Windows platforms.
108441
108442                     New in version 2016.3.4.
108443
108444
108445              ignore_retcode
108446                     False  If  True, do not log an error to the minion log if
108447                     the git command returns a nonzero exit status.
108448
108449                     New in version 2015.8.0.
108450
108451
108452              output_encoding
108453                     Use this option to  specify  which  encoding  to  use  to
108454                     decode  the  output  from any git commands which are run.
108455                     This should not be needed in most cases.
108456
108457                     NOTE:
108458                        This should only be needed if the files in the reposi‐
108459                        tory  were  created  with  filenames using an encoding
108460                        other than UTF-8 to handle Unicode characters.
108461
108462                     New in version 2018.3.1.
108463
108464
108465              CLI Example:
108466
108467                 salt myminion git.rebase /path/to/repo master
108468                 salt myminion git.rebase /path/to/repo 'origin master'
108469                 salt myminion git.rebase /path/to/repo origin/master opts='--onto newbranch'
108470
108471       salt.modules.git.remote_get(cwd,  remote=u'origin',  user=None,   pass‐
108472       word=None,    redact_auth=True,   ignore_retcode=False,   output_encod‐
108473       ing=None)
108474              Get the fetch and push URL for a specific remote
108475
108476              cwd    The path to the git checkout
108477
108478              remote origin Name of the remote to query
108479
108480              user   User under which to run the git command. By default,  the
108481                     command is run by the user under which the minion is run‐
108482                     ning.
108483
108484              password
108485                        Windows only.  Required  when  specifying  user.  This
108486                        parameter will be ignored on non-Windows platforms.
108487
108488                     New in version 2016.3.4.
108489
108490
108491              redact_auth
108492                     True Set to False to include the username/password if the
108493                     remote uses HTTPS Basic Auth. Otherwise, this information
108494                     will be redacted.
108495
108496                     WARNING:
108497                        Setting  this  to False will not only reveal any HTTPS
108498                        Basic Auth that is configured,  but  the  return  data
108499                        will  also be written to the job cache. When possible,
108500                        it is recommended to use SSH for authentication.
108501
108502                     New in version 2015.5.6.
108503
108504
108505              ignore_retcode
108506                     False If True, do not log an error to the minion  log  if
108507                     the git command returns a nonzero exit status.
108508
108509                     New in version 2015.8.0.
108510
108511
108512              output_encoding
108513                     Use  this  option  to  specify  which  encoding to use to
108514                     decode the output from any git commands  which  are  run.
108515                     This should not be needed in most cases.
108516
108517                     NOTE:
108518                        This should only be needed if the files in the reposi‐
108519                        tory were created with  filenames  using  an  encoding
108520                        other than UTF-8 to handle Unicode characters.
108521
108522                     New in version 2018.3.1.
108523
108524
108525              CLI Examples:
108526
108527                 salt myminion git.remote_get /path/to/repo
108528                 salt myminion git.remote_get /path/to/repo upstream
108529
108530       salt.modules.git.remote_refs(url,  heads=False,  tags=False, user=None,
108531       password=None,   identity=None,    https_user=None,    https_pass=None,
108532       ignore_retcode=False, output_encoding=None, saltenv=u'base', **kwargs)
108533              New in version 2015.8.0.
108534
108535
108536              Return  the  remote  refs  for  the specified URL by running git
108537              ls-remote.
108538
108539              url    URL of the remote repository
108540
108541              filter Optionally provide a ref name to git ls-remote. This  can
108542                     be  useful  to make this function run faster on reposito‐
108543                     ries with many branches/tags.
108544
108545                     New in version Fluorine.
108546
108547
108548              heads  False Restrict output to  heads.  Can  be  combined  with
108549                     tags.
108550
108551              tags   False  Restrict  output  to  tags.  Can  be combined with
108552                     heads.
108553
108554              user   User under which to run the git command. By default,  the
108555                     command is run by the user under which the minion is run‐
108556                     ning.
108557
108558              password
108559                        Windows only.  Required  when  specifying  user.  This
108560                        parameter will be ignored on non-Windows platforms.
108561
108562                     New in version 2016.3.4.
108563
108564
108565              identity
108566                     Path to a private key to use for ssh URLs
108567
108568                     WARNING:
108569                        Unless   Salt   is   invoked  from  the  minion  using
108570                        salt-call, the  key(s)  must  be  passphraseless.  For
108571                        greater security with passphraseless private keys, see
108572                        the sshd(8) manpage for information  on  securing  the
108573                        keypair  from  the  remote side in the authorized_keys
108574                        file.
108575
108576                     Changed in version 2015.8.7: Salt will no longer  attempt
108577                     to  use passphrase-protected keys unless invoked from the
108578                     minion using salt-call, to prevent blocking  waiting  for
108579                     user input.
108580
108581
108582                     Key can also be specified as a SaltStack file server URL,
108583                     eg. salt://location/identity_file
108584
108585                     Changed in version 2016.3.0.
108586
108587
108588              https_user
108589                     Set HTTP Basic Auth username.  Only  accepted  for  HTTPS
108590                     URLs.
108591
108592              https_pass
108593                     Set  HTTP  Basic  Auth  password. Only accepted for HTTPS
108594                     URLs.
108595
108596              ignore_retcode
108597                     False If True, do not log an error to the minion  log  if
108598                     the git command returns a nonzero exit status.
108599
108600              saltenv
108601                     The default salt environment to pull sls files from
108602
108603                     New in version 2016.3.1.
108604
108605
108606              output_encoding
108607                     Use  this  option  to  specify  which  encoding to use to
108608                     decode the output from any git commands  which  are  run.
108609                     This should not be needed in most cases.
108610
108611                     NOTE:
108612                        This should only be needed if the files in the reposi‐
108613                        tory were created with  filenames  using  an  encoding
108614                        other than UTF-8 to handle Unicode characters.
108615
108616                     New in version 2018.3.1.
108617
108618
108619              CLI Example:
108620
108621                 salt myminion git.remote_refs https://github.com/saltstack/salt.git
108622                 salt myminion git.remote_refs https://github.com/saltstack/salt.git filter=develop
108623
108624       salt.modules.git.remote_set(cwd,   url,   remote=u'origin',  user=None,
108625       password=None,   https_user=None,    https_pass=None,    push_url=None,
108626       push_https_user=None,  push_https_pass=None, ignore_retcode=False, out‐
108627       put_encoding=None)
108628
108629              cwd    The path to the git checkout
108630
108631              url    Remote URL to set
108632
108633              remote origin Name of the remote to set
108634
108635              push_url
108636                     If unset, the push URL will be  identical  to  the  fetch
108637                     URL.
108638
108639                     New in version 2015.8.0.
108640
108641
108642              user   User  under which to run the git command. By default, the
108643                     command is run by the user under which the minion is run‐
108644                     ning.
108645
108646              password
108647                        Windows  only.  Required  when  specifying  user. This
108648                        parameter will be ignored on non-Windows platforms.
108649
108650                     New in version 2016.3.4.
108651
108652
108653              https_user
108654                     Set HTTP Basic Auth username.  Only  accepted  for  HTTPS
108655                     URLs.
108656
108657                     New in version 2015.5.0.
108658
108659
108660              https_pass
108661                     Set  HTTP  Basic  Auth  password. Only accepted for HTTPS
108662                     URLs.
108663
108664                     New in version 2015.5.0.
108665
108666
108667              push_https_user
108668                     Set  HTTP  Basic  Auth  user  for  push_url.  Ignored  if
108669                     push_url is unset. Only accepted for HTTPS URLs.
108670
108671                     New in version 2015.8.0.
108672
108673
108674              push_https_pass
108675                     Set  HTTP  Basic  Auth  password for push_url. Ignored if
108676                     push_url is unset. Only accepted for HTTPS URLs.
108677
108678                     New in version 2015.8.0.
108679
108680
108681              ignore_retcode
108682                     False If True, do not log an error to the minion  log  if
108683                     the git command returns a nonzero exit status.
108684
108685                     New in version 2015.8.0.
108686
108687
108688              output_encoding
108689                     Use  this  option  to  specify  which  encoding to use to
108690                     decode the output from any git commands  which  are  run.
108691                     This should not be needed in most cases.
108692
108693                     NOTE:
108694                        This should only be needed if the files in the reposi‐
108695                        tory were created with  filenames  using  an  encoding
108696                        other than UTF-8 to handle Unicode characters.
108697
108698                     New in version 2018.3.1.
108699
108700
108701              CLI Examples:
108702
108703                 salt myminion git.remote_set /path/to/repo git@github.com:user/repo.git
108704                 salt myminion git.remote_set /path/to/repo git@github.com:user/repo.git remote=upstream
108705                 salt myminion git.remote_set /path/to/repo https://github.com/user/repo.git remote=upstream push_url=git@github.com:user/repo.git
108706
108707       salt.modules.git.remotes(cwd,         user=None,         password=None,
108708       redact_auth=True, ignore_retcode=False, output_encoding=None)
108709              Get fetch and push URLs for each remote in a git checkout
108710
108711              cwd    The path to the git checkout
108712
108713              user   User under which to run the git command. By default,  the
108714                     command is run by the user under which the minion is run‐
108715                     ning.
108716
108717              password
108718                        Windows only.  Required  when  specifying  user.  This
108719                        parameter will be ignored on non-Windows platforms.
108720
108721                     New in version 2016.3.4.
108722
108723
108724              redact_auth
108725                     True  Set  to  False to include the username/password for
108726                     authenticated remotes in the return data. Otherwise, this
108727                     information will be redacted.
108728
108729                     WARNING:
108730                        Setting  this  to False will not only reveal any HTTPS
108731                        Basic Auth that is configured,  but  the  return  data
108732                        will  also be written to the job cache. When possible,
108733                        it is recommended to use SSH for authentication.
108734
108735                     New in version 2015.5.6.
108736
108737
108738              ignore_retcode
108739                     False If True, do not log an error to the minion  log  if
108740                     the git command returns a nonzero exit status.
108741
108742                     New in version 2015.8.0.
108743
108744
108745              output_encoding
108746                     Use  this  option  to  specify  which  encoding to use to
108747                     decode the output from any git commands  which  are  run.
108748                     This should not be needed in most cases.
108749
108750                     NOTE:
108751                        This should only be needed if the files in the reposi‐
108752                        tory were created with  filenames  using  an  encoding
108753                        other than UTF-8 to handle Unicode characters.
108754
108755                     New in version 2018.3.1.
108756
108757
108758              CLI Example:
108759
108760                 salt myminion git.remotes /path/to/repo
108761
108762       salt.modules.git.reset(cwd,  opts=u'',  git_opts=u'',  user=None, pass‐
108763       word=None, ignore_retcode=False, output_encoding=None)
108764              Interface to git-reset(1), returns the stdout from the git  com‐
108765              mand
108766
108767              cwd    The path to the git checkout
108768
108769              opts   Any  additional  options to add to the command line, in a
108770                     single string
108771
108772                     NOTE:
108773                        On the Salt CLI, if the opts are preceded with a dash,
108774                        it  is necessary to precede them with opts= (as in the
108775                        CLI examples  below)  to  avoid  causing  errors  with
108776                        Salt's own argument parsing.
108777
108778              git_opts
108779                     Any  additional options to add to git command itself (not
108780                     the reset subcommand), in a single string. This is useful
108781                     for  passing  -c to run git with temporary changes to the
108782                     git configuration.
108783
108784                     New in version 2017.7.0.
108785
108786
108787                     NOTE:
108788                        This is only supported in git 1.7.2 and newer.
108789
108790              user   User under which to run the git command. By default,  the
108791                     command is run by the user under which the minion is run‐
108792                     ning.
108793
108794              password
108795                        Windows only.  Required  when  specifying  user.  This
108796                        parameter will be ignored on non-Windows platforms.
108797
108798                     New in version 2016.3.4.
108799
108800
108801              ignore_retcode
108802                     False  If  True, do not log an error to the minion log if
108803                     the git command returns a nonzero exit status.
108804
108805                     New in version 2015.8.0.
108806
108807
108808              output_encoding
108809                     Use this option to  specify  which  encoding  to  use  to
108810                     decode  the  output  from any git commands which are run.
108811                     This should not be needed in most cases.
108812
108813                     NOTE:
108814                        This should only be needed if the files in the reposi‐
108815                        tory  were  created  with  filenames using an encoding
108816                        other than UTF-8 to handle Unicode characters.
108817
108818                     New in version 2018.3.1.
108819
108820
108821              CLI Examples:
108822
108823                 # Soft reset to a specific commit ID
108824                 salt myminion git.reset /path/to/repo ac3ee5c
108825                 # Hard reset
108826                 salt myminion git.reset /path/to/repo opts='--hard origin/master'
108827
108828       salt.modules.git.rev_parse(cwd,   rev=None,   opts=u'',   git_opts=u'',
108829       user=None, password=None, ignore_retcode=False, output_encoding=None)
108830              New in version 2015.8.0.
108831
108832
108833              Interface to git-rev-parse(1)
108834
108835              cwd    The path to the git checkout
108836
108837              rev    Revision  to  parse. See the SPECIFYING REVISIONS section
108838                     of the git-rev-parse(1) manpage for  details  on  how  to
108839                     format this argument.
108840
108841                     This  argument  is optional when using the options in the
108842                     Options for Files section of  the  git-rev-parse(1)  man‐
108843                     page.
108844
108845              opts   Any  additional  options to add to the command line, in a
108846                     single string
108847
108848              git_opts
108849                     Any additional options to add to git command itself  (not
108850                     the  rev-parse  subcommand),  in a single string. This is
108851                     useful for passing -c to run git with  temporary  changes
108852                     to the git configuration.
108853
108854                     New in version 2017.7.0.
108855
108856
108857                     NOTE:
108858                        This is only supported in git 1.7.2 and newer.
108859
108860              user   User  under which to run the git command. By default, the
108861                     command is run by the user under which the minion is run‐
108862                     ning.
108863
108864              password
108865                        Windows  only.  Required  when  specifying  user. This
108866                        parameter will be ignored on non-Windows platforms.
108867
108868                     New in version 2016.3.4.
108869
108870
108871              ignore_retcode
108872                     False If True, do not log an error to the minion  log  if
108873                     the git command returns a nonzero exit status.
108874
108875              output_encoding
108876                     Use  this  option  to  specify  which  encoding to use to
108877                     decode the output from any git commands  which  are  run.
108878                     This should not be needed in most cases.
108879
108880                     NOTE:
108881                        This should only be needed if the files in the reposi‐
108882                        tory were created with  filenames  using  an  encoding
108883                        other than UTF-8 to handle Unicode characters.
108884
108885                     New in version 2018.3.1.
108886
108887
108888              CLI Examples:
108889
108890                 # Get the full SHA1 for HEAD
108891                 salt myminion git.rev_parse /path/to/repo HEAD
108892                 # Get the short SHA1 for HEAD
108893                 salt myminion git.rev_parse /path/to/repo HEAD opts='--short'
108894                 # Get the develop branch's upstream tracking branch
108895                 salt myminion git.rev_parse /path/to/repo 'develop@{upstream}' opts='--abbrev-ref'
108896                 # Get the SHA1 for the commit corresponding to tag v1.2.3
108897                 salt myminion git.rev_parse /path/to/repo 'v1.2.3^{commit}'
108898                 # Find out whether or not the repo at /path/to/repo is a bare repository
108899                 salt myminion git.rev_parse /path/to/repo opts='--is-bare-repository'
108900
108901       salt.modules.git.revision(cwd,   rev=u'HEAD',  short=False,  user=None,
108902       password=None, ignore_retcode=False, output_encoding=None)
108903              Returns the SHA1 hash of a given identifier (hash, branch,  tag,
108904              HEAD, etc.)
108905
108906              cwd    The path to the git checkout
108907
108908              rev    HEAD The revision
108909
108910              short  False If True, return an abbreviated SHA1 git hash
108911
108912              user   User  under which to run the git command. By default, the
108913                     command is run by the user under which the minion is run‐
108914                     ning.
108915
108916              password
108917                        Windows  only.  Required  when  specifying  user. This
108918                        parameter will be ignored on non-Windows platforms.
108919
108920                     New in version 2016.3.4.
108921
108922
108923              ignore_retcode
108924                     False If True, do not log an error to the minion  log  if
108925                     the git command returns a nonzero exit status.
108926
108927                     New in version 2015.8.0.
108928
108929
108930              output_encoding
108931                     Use  this  option  to  specify  which  encoding to use to
108932                     decode the output from any git commands  which  are  run.
108933                     This should not be needed in most cases.
108934
108935                     NOTE:
108936                        This should only be needed if the files in the reposi‐
108937                        tory were created with  filenames  using  an  encoding
108938                        other than UTF-8 to handle Unicode characters.
108939
108940                     New in version 2018.3.1.
108941
108942
108943              CLI Example:
108944
108945                 salt myminion git.revision /path/to/repo mybranch
108946
108947       salt.modules.git.rm_(cwd,  filename, opts=u'', git_opts=u'', user=None,
108948       password=None, ignore_retcode=False, output_encoding=None)
108949              Interface to git-rm(1)
108950
108951              cwd    The path to the git checkout
108952
108953              filename
108954                     The location of the file/directory to remove, relative to
108955                     cwd
108956
108957                     NOTE:
108958                        To  remove  a  directory,  -r must be part of the opts
108959                        parameter.
108960
108961              opts   Any additional options to add to the command line,  in  a
108962                     single string
108963
108964                     NOTE:
108965                        On the Salt CLI, if the opts are preceded with a dash,
108966                        it is necessary to precede them with opts= (as in  the
108967                        CLI  examples  below)  to  avoid  causing  errors with
108968                        Salt's own argument parsing.
108969
108970              git_opts
108971                     Any additional options to add to git command itself  (not
108972                     the  rm  subcommand),  in a single string. This is useful
108973                     for passing -c to run git with temporary changes  to  the
108974                     git configuration.
108975
108976                     New in version 2017.7.0.
108977
108978
108979                     NOTE:
108980                        This is only supported in git 1.7.2 and newer.
108981
108982              user   User  under which to run the git command. By default, the
108983                     command is run by the user under which the minion is run‐
108984                     ning.
108985
108986              password
108987                        Windows  only.  Required  when  specifying  user. This
108988                        parameter will be ignored on non-Windows platforms.
108989
108990                     New in version 2016.3.4.
108991
108992
108993              ignore_retcode
108994                     False If True, do not log an error to the minion  log  if
108995                     the git command returns a nonzero exit status.
108996
108997                     New in version 2015.8.0.
108998
108999
109000              output_encoding
109001                     Use  this  option  to  specify  which  encoding to use to
109002                     decode the output from any git commands  which  are  run.
109003                     This should not be needed in most cases.
109004
109005                     NOTE:
109006                        This should only be needed if the files in the reposi‐
109007                        tory were created with  filenames  using  an  encoding
109008                        other than UTF-8 to handle Unicode characters.
109009
109010                     New in version 2018.3.1.
109011
109012
109013              CLI Examples:
109014
109015                 salt myminion git.rm /path/to/repo foo/bar.py
109016                 salt myminion git.rm /path/to/repo foo/bar.py opts='--dry-run'
109017                 salt myminion git.rm /path/to/repo foo/baz opts='-r'
109018
109019       salt.modules.git.stash(cwd,   action=u'save',  opts=u'',  git_opts=u'',
109020       user=None, password=None, ignore_retcode=False, output_encoding=None)
109021              Interface to git-stash(1), returns the stdout from the git  com‐
109022              mand
109023
109024              cwd    The path to the git checkout
109025
109026              opts   Any  additional  options to add to the command line, in a
109027                     single string.  Use this to complete the git  stash  com‐
109028                     mand  by  adding  the  remaining  arguments  (i.e.  'save
109029                     <stash  comment>',  'apply  stash@{2}',  'show',   etc.).
109030                     Omitting this argument will simply run git stash.
109031
109032              git_opts
109033                     Any  additional options to add to git command itself (not
109034                     the stash subcommand), in a single string. This is useful
109035                     for  passing  -c to run git with temporary changes to the
109036                     git configuration.
109037
109038                     New in version 2017.7.0.
109039
109040
109041                     NOTE:
109042                        This is only supported in git 1.7.2 and newer.
109043
109044              user   User under which to run the git command. By default,  the
109045                     command is run by the user under which the minion is run‐
109046                     ning.
109047
109048              password
109049                        Windows only.  Required  when  specifying  user.  This
109050                        parameter will be ignored on non-Windows platforms.
109051
109052                     New in version 2016.3.4.
109053
109054
109055              ignore_retcode
109056                     False  If  True, do not log an error to the minion log if
109057                     the git command returns a nonzero exit status.
109058
109059                     New in version 2015.8.0.
109060
109061
109062              output_encoding
109063                     Use this option to  specify  which  encoding  to  use  to
109064                     decode  the  output  from any git commands which are run.
109065                     This should not be needed in most cases.
109066
109067                     NOTE:
109068                        This should only be needed if the files in the reposi‐
109069                        tory  were  created  with  filenames using an encoding
109070                        other than UTF-8 to handle Unicode characters.
109071
109072                     New in version 2018.3.1.
109073
109074
109075              CLI Examples:
109076
109077                 salt myminion git.stash /path/to/repo save opts='work in progress'
109078                 salt myminion git.stash /path/to/repo apply opts='stash@{1}'
109079                 salt myminion git.stash /path/to/repo drop opts='stash@{1}'
109080                 salt myminion git.stash /path/to/repo list
109081
109082       salt.modules.git.status(cwd,  user=None,   password=None,   ignore_ret‐
109083       code=False, output_encoding=None)
109084              Changed in version 2015.8.0: Return data has changed from a list
109085              of lists to a dictionary
109086
109087
109088              Returns the changes to the repository
109089
109090              cwd    The path to the git checkout
109091
109092              user   User under which to run the git command. By default,  the
109093                     command is run by the user under which the minion is run‐
109094                     ning.
109095
109096              password
109097                        Windows only.  Required  when  specifying  user.  This
109098                        parameter will be ignored on non-Windows platforms.
109099
109100                     New in version 2016.3.4.
109101
109102
109103              ignore_retcode
109104                     False  If  True, do not log an error to the minion log if
109105                     the git command returns a nonzero exit status.
109106
109107                     New in version 2015.8.0.
109108
109109
109110              output_encoding
109111                     Use this option to  specify  which  encoding  to  use  to
109112                     decode  the  output  from any git commands which are run.
109113                     This should not be needed in most cases.
109114
109115                     NOTE:
109116                        This should only be needed if the files in the reposi‐
109117                        tory  were  created  with  filenames using an encoding
109118                        other than UTF-8 to handle Unicode characters.
109119
109120                     New in version 2018.3.1.
109121
109122
109123              CLI Example:
109124
109125                 salt myminion git.status /path/to/repo
109126
109127       salt.modules.git.submodule(cwd,   command,   opts=u'',    git_opts=u'',
109128       user=None,    password=None,    identity=None,    ignore_retcode=False,
109129       saltenv=u'base', output_encoding=None, **kwargs)
109130              Changed in version 2015.8.0: Added the command argument to allow
109131              for  operations  other  than update to be run on submodules, and
109132              deprecated the init argument. To  do  a  submodule  update  with
109133              init=True moving forward, use command=update opts='--init'
109134
109135
109136              Interface to git-submodule(1)
109137
109138              cwd    The path to the submodule
109139
109140              command
109141                     Submodule  command to run, see git-submodule(1) <git sub‐
109142                     module> for more information.  Any  additional  arguments
109143                     after  the command (such as the URL when adding a submod‐
109144                     ule) must be passed in the opts parameter.
109145
109146                     New in version 2015.8.0.
109147
109148
109149              opts   Any additional options to add to the command line,  in  a
109150                     single string
109151
109152                     NOTE:
109153                        On the Salt CLI, if the opts are preceded with a dash,
109154                        it is necessary to precede them with opts= (as in  the
109155                        CLI  examples  below)  to  avoid  causing  errors with
109156                        Salt's own argument parsing.
109157
109158              git_opts
109159                     Any additional options to add to git command itself  (not
109160                     the  submodule  subcommand),  in a single string. This is
109161                     useful for passing -c to run git with  temporary  changes
109162                     to the git configuration.
109163
109164                     New in version 2017.7.0.
109165
109166
109167                     NOTE:
109168                        This is only supported in git 1.7.2 and newer.
109169
109170              init   False  If  True, ensures that new submodules are initial‐
109171                     ized
109172
109173                     Deprecated since version 2015.8.0: Pass init as the  com‐
109174                     mand  parameter, or include --init in the opts param with
109175                     command set to update.
109176
109177
109178              user   User under which to run the git command. By default,  the
109179                     command is run by the user under which the minion is run‐
109180                     ning.
109181
109182              password
109183                        Windows only.  Required  when  specifying  user.  This
109184                        parameter will be ignored on non-Windows platforms.
109185
109186                     New in version 2016.3.4.
109187
109188
109189              identity
109190                     Path to a private key to use for ssh URLs
109191
109192                     WARNING:
109193                        Unless   Salt   is   invoked  from  the  minion  using
109194                        salt-call, the  key(s)  must  be  passphraseless.  For
109195                        greater security with passphraseless private keys, see
109196                        the sshd(8) manpage for information  on  securing  the
109197                        keypair  from  the  remote side in the authorized_keys
109198                        file.
109199
109200                     Changed in version 2015.8.7: Salt will no longer  attempt
109201                     to  use passphrase-protected keys unless invoked from the
109202                     minion using salt-call, to prevent blocking  waiting  for
109203                     user input.
109204
109205
109206                     Key can also be specified as a SaltStack file server URL,
109207                     eg. salt://location/identity_file
109208
109209                     Changed in version 2016.3.0.
109210
109211
109212              ignore_retcode
109213                     False If True, do not log an error to the minion  log  if
109214                     the git command returns a nonzero exit status.
109215
109216                     New in version 2015.8.0.
109217
109218
109219              saltenv
109220                     The default salt environment to pull sls files from
109221
109222                     New in version 2016.3.1.
109223
109224
109225              output_encoding
109226                     Use  this  option  to  specify  which  encoding to use to
109227                     decode the output from any git commands  which  are  run.
109228                     This should not be needed in most cases.
109229
109230                     NOTE:
109231                        This should only be needed if the files in the reposi‐
109232                        tory were created with  filenames  using  an  encoding
109233                        other than UTF-8 to handle Unicode characters.
109234
109235                     New in version 2018.3.1.
109236
109237
109238              CLI Example:
109239
109240                 # Update submodule and ensure it is initialized (before 2015.8.0)
109241                 salt myminion git.submodule /path/to/repo/sub/repo init=True
109242                 # Update submodule and ensure it is initialized (2015.8.0 and later)
109243                 salt myminion git.submodule /path/to/repo/sub/repo update opts='--init'
109244
109245                 # Rebase submodule (2015.8.0 and later)
109246                 salt myminion git.submodule /path/to/repo/sub/repo update opts='--rebase'
109247
109248                 # Add submodule (2015.8.0 and later)
109249                 salt myminion git.submodule /path/to/repo/sub/repo add opts='https://mydomain.tld/repo.git'
109250
109251                 # Unregister submodule (2015.8.0 and later)
109252                 salt myminion git.submodule /path/to/repo/sub/repo deinit
109253
109254       salt.modules.git.symbolic_ref(cwd,     ref,    value=None,    opts=u'',
109255       git_opts=u'',  user=None,  password=None,  ignore_retcode=False,   out‐
109256       put_encoding=None)
109257              New in version 2015.8.0.
109258
109259
109260              Interface to git-symbolic-ref(1)
109261
109262              cwd    The path to the git checkout
109263
109264              ref    Symbolic ref to read/modify
109265
109266              value  If  passed,  then  the  symbolic  ref will be set to this
109267                     value and an empty string will be returned.
109268
109269                     If not passed, then the ref to which ref points  will  be
109270                     returned,  unless  --delete is included in opts (in which
109271                     case the symbolic ref will be deleted).
109272
109273              opts   Any additional options to add to the command line,  in  a
109274                     single string
109275
109276              git_opts
109277                     Any  additional options to add to git command itself (not
109278                     the symbolic-refs subcommand), in a single  string.  This
109279                     is  useful  for  passing  -c  to  run  git with temporary
109280                     changes to the git configuration.
109281
109282                     New in version 2017.7.0.
109283
109284
109285                     NOTE:
109286                        This is only supported in git 1.7.2 and newer.
109287
109288              user   User under which to run the git command. By default,  the
109289                     command is run by the user under which the minion is run‐
109290                     ning.
109291
109292              password
109293                        Windows only.  Required  when  specifying  user.  This
109294                        parameter will be ignored on non-Windows platforms.
109295
109296                     New in version 2016.3.4.
109297
109298
109299              ignore_retcode
109300                     False  If  True, do not log an error to the minion log if
109301                     the git command returns a nonzero exit status.
109302
109303                     New in version 2015.8.0.
109304
109305
109306              output_encoding
109307                     Use this option to  specify  which  encoding  to  use  to
109308                     decode  the  output  from any git commands which are run.
109309                     This should not be needed in most cases.
109310
109311                     NOTE:
109312                        This should only be needed if the files in the reposi‐
109313                        tory  were  created  with  filenames using an encoding
109314                        other than UTF-8 to handle Unicode characters.
109315
109316                     New in version 2018.3.1.
109317
109318
109319              CLI Examples:
109320
109321                 # Get ref to which HEAD is pointing
109322                 salt myminion git.symbolic_ref /path/to/repo HEAD
109323                 # Set/overwrite symbolic ref 'FOO' to local branch 'foo'
109324                 salt myminion git.symbolic_ref /path/to/repo FOO refs/heads/foo
109325                 # Delete symbolic ref 'FOO'
109326                 salt myminion git.symbolic_ref /path/to/repo FOO opts='--delete'
109327
109328       salt.modules.git.tag(cwd, name,  ref=u'HEAD',  message=None,  opts=u'',
109329       git_opts=u'',   user=None,  password=None,  ignore_retcode=False,  out‐
109330       put_encoding=None)
109331              New in version 2018.3.4.
109332
109333
109334              Interface to git-tag(1), adds and removes tags.
109335
109336              cwd    The path to the main git checkout or a linked worktree
109337
109338              name   Name of the tag
109339
109340              ref    HEAD Which ref to tag (defaults to local clone's HEAD)
109341
109342                     NOTE:
109343                        This argument is ignored when either -d or --delete is
109344                        present in the opts passed to this function.
109345
109346              message
109347                     Optional message to include with the tag. If provided, an
109348                     annotated tag will be created.
109349
109350              opts   Any additional options to add to the command line,  in  a
109351                     single string
109352
109353                     NOTE:
109354                        Additionally,  on  the  Salt CLI, if the opts are pre‐
109355                        ceded with a dash, it is  necessary  to  precede  them
109356                        with  opts=  (as  in  the CLI examples below) to avoid
109357                        causing errors with Salt's own argument parsing.
109358
109359              git_opts
109360                     Any additional options to add to git command itself  (not
109361                     the  worktree  subcommand),  in  a single string. This is
109362                     useful for passing -c to run git with  temporary  changes
109363                     to the git configuration.
109364
109365                     NOTE:
109366                        This is only supported in git 1.7.2 and newer.
109367
109368              user   User  under which to run the git command. By default, the
109369                     command is run by the user under which the minion is run‐
109370                     ning.
109371
109372              password
109373                     Windows only. Required when specifying user. This parame‐
109374                     ter will be ignored on non-Windows platforms.
109375
109376              ignore_retcode
109377                     False If True, do not log an error to the minion  log  if
109378                     the git command returns a nonzero exit status.
109379
109380              output_encoding
109381                     Use  this  option  to  specify  which  encoding to use to
109382                     decode the output from any git commands  which  are  run.
109383                     This should not be needed in most cases.
109384
109385                     NOTE:
109386                        This should only be needed if the files in the reposi‐
109387                        tory were created with  filenames  using  an  encoding
109388                        other than UTF-8 to handle Unicode characters.
109389
109390              CLI Example:
109391
109392                 # Create an non-annotated tag
109393                 salt myminion git.tag /path/to/repo v1.2
109394                 # Create an annotated tag
109395                 salt myminion git.tag /path/to/repo v1.2 message='Version 1.2'
109396                 # Delete the tag
109397                 salt myminion git.tag /path/to/repo v1.2 opts='-d'
109398
109399       salt.modules.git.version(versioninfo=False)
109400              New in version 2015.8.0.
109401
109402
109403              Returns the version of Git installed on the minion
109404
109405              versioninfo
109406                     False  If  True, return the version in a versioninfo list
109407                     (e.g. [2, 5, 0])
109408
109409              CLI Example:
109410
109411                 salt myminion git.version
109412
109413       salt.modules.git.worktree_add(cwd,       worktree_path,       ref=None,
109414       reset_branch=None,  force=None,  detach=False,  opts=u'', git_opts=u'',
109415       user=None, password=None,  ignore_retcode=False,  output_encoding=None,
109416       **kwargs)
109417              New in version 2015.8.0.
109418
109419
109420              Interface to git-worktree(1), adds a worktree
109421
109422              cwd    The path to the git checkout
109423
109424              worktree_path
109425                     Path to the new worktree. Can be either absolute, or rel‐
109426                     ative to cwd.
109427
109428              branch Name of new branch to create. If omitted, will be set  to
109429                     the  basename  of  the worktree_path. For example, if the
109430                     worktree_path is /foo/bar/baz, then branch will be baz.
109431
109432              ref    Name of the ref on which to base  the  new  worktree.  If
109433                     omitted,  then HEAD is use, and a new branch will be cre‐
109434                     ated, named for the basename of  the  worktree_path.  For
109435                     example,  if the worktree_path is /foo/bar/baz then a new
109436                     branch baz will be created, and pointed at HEAD.
109437
109438              reset_branch
109439                     False If False, then git-worktree(1) will fail to  create
109440                     the  worktree  if the targeted branch already exists. Set
109441                     this argument to True to reset  the  targeted  branch  to
109442                     point  at  ref,  and checkout the newly-reset branch into
109443                     the new worktree.
109444
109445              force  False By default, git-worktree(1)  will  not  permit  the
109446                     same  branch to be checked out in more than one worktree.
109447                     Set this argument to True to override this.
109448
109449              opts   Any additional options to add to the command line,  in  a
109450                     single string
109451
109452                     NOTE:
109453                        On the Salt CLI, if the opts are preceded with a dash,
109454                        it is necessary to precede them with  opts=  to  avoid
109455                        causing errors with Salt's own argument parsing.
109456
109457                        All  CLI  options for adding worktrees as of Git 2.5.0
109458                        are already supported by  this  function  as  of  Salt
109459                        2015.8.0, so using this argument is unnecessary unless
109460                        new CLI arguments are added to git-worktree(1) and are
109461                        not yet supported in Salt.
109462
109463              git_opts
109464                     Any  additional options to add to git command itself (not
109465                     the worktree subcommand), in a  single  string.  This  is
109466                     useful  for  passing -c to run git with temporary changes
109467                     to the git configuration.
109468
109469                     New in version 2017.7.0.
109470
109471
109472                     NOTE:
109473                        This is only supported in git 1.7.2 and newer.
109474
109475              user   User under which to run the git command. By default,  the
109476                     command is run by the user under which the minion is run‐
109477                     ning.
109478
109479              password
109480                        Windows only.  Required  when  specifying  user.  This
109481                        parameter will be ignored on non-Windows platforms.
109482
109483                     New in version 2016.3.4.
109484
109485
109486              ignore_retcode
109487                     False  If  True, do not log an error to the minion log if
109488                     the git command returns a nonzero exit status.
109489
109490                     New in version 2015.8.0.
109491
109492
109493              output_encoding
109494                     Use this option to  specify  which  encoding  to  use  to
109495                     decode  the  output  from any git commands which are run.
109496                     This should not be needed in most cases.
109497
109498                     NOTE:
109499                        This should only be needed if the files in the reposi‐
109500                        tory  were  created  with  filenames using an encoding
109501                        other than UTF-8 to handle Unicode characters.
109502
109503                     New in version 2018.3.1.
109504
109505
109506              CLI Examples:
109507
109508                 salt myminion git.worktree_add /path/to/repo/main ../hotfix ref=origin/master
109509                 salt myminion git.worktree_add /path/to/repo/main ../hotfix branch=hotfix21 ref=v2.1.9.3
109510
109511       salt.modules.git.worktree_prune(cwd,    dry_run=False,    verbose=True,
109512       expire=None,    opts=u'',   git_opts=u'',   user=None,   password=None,
109513       ignore_retcode=False, output_encoding=None)
109514              New in version 2015.8.0.
109515
109516
109517              Interface to git-worktree(1), prunes stale worktree  administra‐
109518              tive data from the gitdir
109519
109520              cwd    The path to the main git checkout or a linked worktree
109521
109522              dry_run
109523                     False  If True, then this function will report what would
109524                     have been pruned, but no changes will be made.
109525
109526              verbose
109527                     True Report all changes made. Set to  False  to  suppress
109528                     this output.
109529
109530              expire Only  prune  unused  worktree  data older than a specific
109531                     period of time.  The date format for  this  parameter  is
109532                     described  in the documentation for the gc.pruneWorktree‐
109533                     sExpire config param in the git-config(1) manpage.
109534
109535              opts   Any additional options to add to the command line,  in  a
109536                     single string
109537
109538                     NOTE:
109539                        On the Salt CLI, if the opts are preceded with a dash,
109540                        it is necessary to precede them with  opts=  to  avoid
109541                        causing errors with Salt's own argument parsing.
109542
109543                        All  CLI options for pruning worktrees as of Git 2.5.0
109544                        are already supported by  this  function  as  of  Salt
109545                        2015.8.0, so using this argument is unnecessary unless
109546                        new CLI arguments are added to git-worktree(1) and are
109547                        not yet supported in Salt.
109548
109549              git_opts
109550                     Any  additional options to add to git command itself (not
109551                     the worktree subcommand), in a  single  string.  This  is
109552                     useful  for  passing -c to run git with temporary changes
109553                     to the git configuration.
109554
109555                     New in version 2017.7.0.
109556
109557
109558                     NOTE:
109559                        This is only supported in git 1.7.2 and newer.
109560
109561              user   User under which to run the git command. By default,  the
109562                     command is run by the user under which the minion is run‐
109563                     ning.
109564
109565              password
109566                        Windows only.  Required  when  specifying  user.  This
109567                        parameter will be ignored on non-Windows platforms.
109568
109569                     New in version 2016.3.4.
109570
109571
109572              ignore_retcode
109573                     False  If  True, do not log an error to the minion log if
109574                     the git command returns a nonzero exit status.
109575
109576                     New in version 2015.8.0.
109577
109578
109579              output_encoding
109580                     Use this option to  specify  which  encoding  to  use  to
109581                     decode  the  output  from any git commands which are run.
109582                     This should not be needed in most cases.
109583
109584                     NOTE:
109585                        This should only be needed if the files in the reposi‐
109586                        tory  were  created  with  filenames using an encoding
109587                        other than UTF-8 to handle Unicode characters.
109588
109589                     New in version 2018.3.1.
109590
109591
109592              CLI Examples:
109593
109594                 salt myminion git.worktree_prune /path/to/repo
109595                 salt myminion git.worktree_prune /path/to/repo dry_run=True
109596                 salt myminion git.worktree_prune /path/to/repo expire=1.day.ago
109597
109598       salt.modules.git.worktree_rm(cwd, user=None, output_encoding=None)
109599              New in version 2015.8.0.
109600
109601
109602              Recursively removes the worktree located at cwd, returning  True
109603              if successful. This function will attempt to determine if cwd is
109604              actually a worktree by invoking  git.is_worktree.  If  the  path
109605              does  not correspond to a worktree, then an error will be raised
109606              and no action will be taken.
109607
109608              WARNING:
109609                 There is no undoing this action. Be VERY careful before  run‐
109610                 ning this function.
109611
109612              cwd    Path to the worktree to be removed
109613
109614              user   Used for path expansion when cwd is not an absolute path.
109615                     By default, when cwd is not absolute, the  path  will  be
109616                     assumed  to be relative to the home directory of the user
109617                     under which the minion is running.  Setting  this  option
109618                     will  change the home directory from which path expansion
109619                     is performed.
109620
109621              output_encoding
109622                     Use this option to  specify  which  encoding  to  use  to
109623                     decode  the  output  from any git commands which are run.
109624                     This should not be needed in most cases.
109625
109626                     NOTE:
109627                        This should only be needed if the files in the reposi‐
109628                        tory  were  created  with  filenames using an encoding
109629                        other than UTF-8 to handle Unicode characters.
109630
109631                     New in version 2018.3.1.
109632
109633
109634              CLI Examples:
109635
109636                 salt myminion git.worktree_rm /path/to/worktree
109637
109638   salt.modules.github module
109639       Module for interacting with the GitHub v3 API.
109640
109641       New in version 2016.3.0.
109642
109643
109644       depends
109645              PyGithub python module
109646
109647   Configuration
109648       Configure this module by specifying the name of a configuration profile
109649       in  the minion config, minion pillar, or master config. The module will
109650       use the 'github' key by default, if defined.
109651
109652       For example:
109653
109654          github:
109655            token: abc1234
109656            org_name: my_organization
109657
109658            # optional: some functions require a repo_name, which
109659            # can be set in the config file, or passed in at the CLI.
109660            repo_name: my_repo
109661
109662            # optional: it can be dangerous to change the privacy of a repository
109663            # in an automated way. set this to True to allow privacy modifications
109664            allow_repo_privacy_changes: False
109665
109666       salt.modules.github.add_repo(name,   description=None,   homepage=None,
109667       private=None,   has_issues=None,   has_wiki=None,   has_downloads=None,
109668       auto_init=None,  gitignore_template=None,  license_template=None,  pro‐
109669       file=u'github')
109670              Create a new github repository.
109671
109672              name   The name of the team to be created.
109673
109674              description
109675                     The description of the repository.
109676
109677              homepage
109678                     The URL with more information about the repository.
109679
109680              private
109681                     The visiblity of the repository. Note that private repos‐
109682                     itories require a paid GitHub account.
109683
109684              has_issues
109685                     Whether to enable issues for this repository.
109686
109687              has_wiki
109688                     Whether to enable the wiki for this repository.
109689
109690              has_downloads
109691                     Whether to enable downloads for this repository.
109692
109693              auto_init
109694                     Whether to create an initial commit with an empty README.
109695
109696              gitignore_template
109697                     The desired language or platform for  a  .gitignore,  e.g
109698                     "Haskell".
109699
109700              license_template
109701                     The  desired  LICENSE  template  to  apply,  e.g "mit" or
109702                     "mozilla".
109703
109704              profile
109705                     The name of the profile configuration to use. Defaults to
109706                     github.
109707
109708              CLI Example:
109709
109710                 salt myminion github.add_repo 'repo_name'
109711
109712              New in version 2016.11.0.
109713
109714
109715       salt.modules.github.add_team(name,  description=None,  repo_names=None,
109716       privacy=None, permission=None, profile=u'github')
109717              Create a new Github team within an organization.
109718
109719              name   The name of the team to be created.
109720
109721              description
109722                     The description of the team.
109723
109724              repo_names
109725                     The names of repositories to add the team to.
109726
109727              privacy
109728                     The level of privacy for the team,  can  be  'secret'  or
109729                     'closed'.
109730
109731              permission
109732                     The  default permission for new repositories added to the
109733                     team, can be 'pull', 'push' or 'admin'.
109734
109735              profile
109736                     The name of the profile configuration to use. Defaults to
109737                     github.
109738
109739              CLI Example:
109740
109741                 salt myminion github.add_team 'team_name'
109742
109743              New in version 2016.11.0.
109744
109745
109746       salt.modules.github.add_team_member(name, team_name, profile=u'github')
109747              Adds a team member to a team with team_name.
109748
109749              name   The name of the team member to add.
109750
109751              team_name
109752                     The name of the team of which to add the user.
109753
109754              profile
109755                     The name of the profile configuration to use. Defaults to
109756                     github.
109757
109758              CLI Example:
109759
109760                 salt myminion github.add_team_member 'user_name' 'team_name'
109761
109762              New in version 2016.11.0.
109763
109764
109765       salt.modules.github.add_team_repo(repo_name,      team_name,       pro‐
109766       file=u'github', permission=None)
109767              Adds a repository to a team with team_name.
109768
109769              repo_name
109770                     The name of the repository to add.
109771
109772              team_name
109773                     The name of the team of which to add the repository.
109774
109775              profile
109776                     The name of the profile configuration to use. Defaults to
109777                     github.
109778
109779              permission
109780                     The permission for team members  within  the  repository,
109781                     can  be  'pull', 'push' or 'admin'. If not specified, the
109782                     default permission specified on the team will be used.
109783
109784                     New in version 2017.7.0.
109785
109786
109787              CLI Example:
109788
109789                 salt myminion github.add_team_repo 'my_repo' 'team_name'
109790
109791              New in version 2016.11.0.
109792
109793
109794       salt.modules.github.add_user(name, profile=u'github')
109795              Add a GitHub user.
109796
109797              name   The user for which to obtain information.
109798
109799              profile
109800                     The name of the profile configuration to use. Defaults to
109801                     github.
109802
109803              CLI Example:
109804
109805                 salt myminion github.add_user github-handle
109806
109807       salt.modules.github.edit_repo(name,   description=None,  homepage=None,
109808       private=None, has_issues=None, has_wiki=None, has_downloads=None,  pro‐
109809       file=u'github')
109810              Updates an existing Github repository.
109811
109812              name   The name of the team to be created.
109813
109814              description
109815                     The description of the repository.
109816
109817              homepage
109818                     The URL with more information about the repository.
109819
109820              private
109821                     The visiblity of the repository. Note that private repos‐
109822                     itories require a paid GitHub account.
109823
109824              has_issues
109825                     Whether to enable issues for this repository.
109826
109827              has_wiki
109828                     Whether to enable the wiki for this repository.
109829
109830              has_downloads
109831                     Whether to enable downloads for this repository.
109832
109833              profile
109834                     The name of the profile configuration to use. Defaults to
109835                     github.
109836
109837              CLI Example:
109838
109839                 salt myminion github.add_repo 'repo_name'
109840
109841              New in version 2016.11.0.
109842
109843
109844       salt.modules.github.edit_team(name,   description=None,   privacy=None,
109845       permission=None, profile=u'github')
109846              Updates an existing Github team.
109847
109848              name   The name of the team to be edited.
109849
109850              description
109851                     The description of the team.
109852
109853              privacy
109854                     The level of privacy for the team,  can  be  'secret'  or
109855                     'closed'.
109856
109857              permission
109858                     The  default permission for new repositories added to the
109859                     team, can be 'pull', 'push' or 'admin'.
109860
109861              profile
109862                     The name of the profile configuration to use. Defaults to
109863                     github.
109864
109865              CLI Example:
109866
109867                 salt myminion github.edit_team 'team_name' description='Team description'
109868
109869              New in version 2016.11.0.
109870
109871
109872       salt.modules.github.get_issue(issue_number,     repo_name=None,    pro‐
109873       file=u'github', output=u'min')
109874              Return information about a single issue in a named repository.
109875
109876              New in version 2016.11.0.
109877
109878
109879              issue_number
109880                     The number of the issue to retrieve.
109881
109882              repo_name
109883                     The name of the repository from which to get  the  issue.
109884                     This  argument is required, either passed via the CLI, or
109885                     defined in the configured profile. A repo_name passed  as
109886                     a CLI argument will override the repo_name defined in the
109887                     configured profile, if provided.
109888
109889              profile
109890                     The name of the profile configuration to use. Defaults to
109891                     github.
109892
109893              output The  amount  of  data returned by each issue. Defaults to
109894                     min. Change to full to see all issue output.
109895
109896              CLI Example:
109897
109898                 salt myminion github.get_issue 514
109899                 salt myminion github.get_issue 514 repo_name=salt
109900
109901       salt.modules.github.get_issue_comments(issue_number,    repo_name=None,
109902       profile=u'github', since=None, output=u'min')
109903              Return  information  about  the  comments for a given issue in a
109904              named repository.
109905
109906              New in version 2016.11.0.
109907
109908
109909              issue_number
109910                     The number of the issue for which to retrieve comments.
109911
109912              repo_name
109913                     The name of the repository to which  the  issue  belongs.
109914                     This  argument is required, either passed via the CLI, or
109915                     defined in the configured profile. A repo_name passed  as
109916                     a CLI argument will override the repo_name defined in the
109917                     configured profile, if provided.
109918
109919              profile
109920                     The name of the profile configuration to use. Defaults to
109921                     github.
109922
109923              since  Only comments updated at or after this time are returned.
109924                     This   is   a   timestamp    in    ISO    8601    format:
109925                     YYYY-MM-DDTHH:MM:SSZ.
109926
109927              output The  amount  of  data returned by each issue. Defaults to
109928                     min. Change to full to see all issue output.
109929
109930              CLI Example:
109931
109932                 salt myminion github.get_issue_comments 514
109933                 salt myminion github.get_issue 514 repo_name=salt
109934
109935       salt.modules.github.get_issues(repo_name=None, profile=u'github', mile‐
109936       stone=None, state=u'open', assignee=None, creator=None, mentioned=None,
109937       labels=None,  sort=u'created',  direction=u'desc',   since=None,   out‐
109938       put=u'min', per_page=None)
109939              Returns  information for all issues in a given repository, based
109940              on the search options.
109941
109942              New in version 2016.11.0.
109943
109944
109945              repo_name
109946                     The name of the repository for which to list issues. This
109947                     argument  is  required,  either  passed  via  the CLI, or
109948                     defined in the configured profile. A repo_name passed  as
109949                     a CLI argument will override the repo_name defined in the
109950                     configured profile, if provided.
109951
109952              profile
109953                     The name of the profile configuration to use. Defaults to
109954                     github.
109955
109956              milestone
109957                     The number of a GitHub milestone, or a string of either *
109958                     or none.
109959
109960                     If a number is passed, it should refer to a milestone  by
109961                     its  number  field. Use the github.get_milestone function
109962                     to obtain a milestone's number.
109963
109964                     If the string * is passed, issues with any milestone  are
109965                     accepted.  If  the  string none is passed, issues without
109966                     milestones are returned.
109967
109968              state  Indicates the state of  the  issues  to  return.  Can  be
109969                     either open, closed, or all. Default is open.
109970
109971              assignee
109972                     Can be the name of a user. Pass in none (as a string) for
109973                     issues with no assigned user or * for issues assigned  to
109974                     any user.
109975
109976              creator
109977                     The user that created the issue.
109978
109979              mentioned
109980                     A user that's mentioned in the issue.
109981
109982              labels A  string  of  comma  separated label names. For example,
109983                     bug,ui,@high.
109984
109985              sort   What to sort results by. Can be either created,  updated,
109986                     or comments. Default is created.
109987
109988              direction
109989                     The  direction  of  the  sort. Can be either asc or desc.
109990                     Default is desc.
109991
109992              since  Only issues updated at or after this time  are  returned.
109993                     This    is    a    timestamp    in   ISO   8601   format:
109994                     YYYY-MM-DDTHH:MM:SSZ.
109995
109996              output The amount of data returned by each  issue.  Defaults  to
109997                     min. Change to full to see all issue output.
109998
109999              per_page
110000                     GitHub  paginates data in their API calls. Use this value
110001                     to increase or decrease the  number  of  issues  gathered
110002                     from  GitHub,  per  page. If not set, GitHub defaults are
110003                     used. Maximum is 100.
110004
110005              CLI Example:
110006
110007                 salt myminion github.get_issues my-github-repo
110008
110009       salt.modules.github.get_milestone(number=None,               name=None,
110010       repo_name=None, profile=u'github', output=u'min')
110011              Return  information  about a single milestone in a named reposi‐
110012              tory.
110013
110014              New in version 2016.11.0.
110015
110016
110017              number The number of the milestone  to  retrieve.  If  provided,
110018                     this option will be favored over name.
110019
110020              name   The name of the milestone to retrieve.
110021
110022              repo_name
110023                     The name of the repository for which to list issues. This
110024                     argument is required,  either  passed  via  the  CLI,  or
110025                     defined  in the configured profile. A repo_name passed as
110026                     a CLI argument will override the repo_name defined in the
110027                     configured profile, if provided.
110028
110029              profile
110030                     The name of the profile configuration to use. Defaults to
110031                     github.
110032
110033              output The amount of data returned by each  issue.  Defaults  to
110034                     min. Change to full to see all issue output.
110035
110036              CLI Example:
110037
110038                 salt myminion github.get_milestone 72
110039                 salt myminion github.get_milestone name=my_milestone
110040
110041       salt.modules.github.get_milestones(repo_name=None,   profile=u'github',
110042       state=u'open',   sort=u'due_on',    direction=u'asc',    output=u'min',
110043       per_page=None)
110044              Return information about milestones for a given repository.
110045
110046              New in version 2016.11.0.
110047
110048
110049              repo_name
110050                     The name of the repository for which to list issues. This
110051                     argument is required,  either  passed  via  the  CLI,  or
110052                     defined  in the configured profile. A repo_name passed as
110053                     a CLI argument will override the repo_name defined in the
110054                     configured profile, if provided.
110055
110056              profile
110057                     The name of the profile configuration to use. Defaults to
110058                     github.
110059
110060              state  The state of the milestone. Either open, closed, or  all.
110061                     Default is open.
110062
110063              sort   What  to  sort results by. Either due_on or completeness.
110064                     Default is due_on.
110065
110066              direction
110067                     The direction of the sort. Either asc or desc. Default is
110068                     asc.
110069
110070              output The  amount  of  data returned by each issue. Defaults to
110071                     min. Change to full to see all issue output.
110072
110073              per_page
110074                     GitHub paginates data in their API calls. Use this  value
110075                     to  increase  or  decrease  the number of issues gathered
110076                     from GitHub, per page. If not set,  GitHub  defaults  are
110077                     used.
110078
110079              CLI Example:
110080
110081                 salt myminion github.get_milestones
110082
110083       salt.modules.github.get_prs(repo_name=None,          profile=u'github',
110084       state=u'open',   head=None,    base=None,    sort=u'created',    direc‐
110085       tion=u'desc', output=u'min', per_page=None)
110086              Returns information for all pull requests in a given repository,
110087              based on the search options provided.
110088
110089              New in version 2017.7.0.
110090
110091
110092              repo_name
110093                     The name  of  the  repository  for  which  to  list  pull
110094                     requests.  This  argument  is required, either passed via
110095                     the  CLI,  or  defined  in  the  configured  profile.   A
110096                     repo_name  passed  as  a  CLI  argument will override the
110097                     repo_name defined in the configured profile, if provided.
110098
110099              profile
110100                     The name of the profile configuration to use. Defaults to
110101                     github.
110102
110103              state  Indicates  the  state of the pull requests to return. Can
110104                     be either open, closed, or all. Default is open.
110105
110106              head   Filter pull requests by head user and branch name in  the
110107                     format of user:ref-name. Example: 'github:new-script-for‐
110108                     mat'. Default is None.
110109
110110              base   Filter pulls by  base  branch  name.  Example:  gh-pages.
110111                     Default is None.
110112
110113              sort   What  to sort results by. Can be either created, updated,
110114                     popularity (comment count), or long-running (age, filter‐
110115                     ing  by  pull  requests  updated  within the last month).
110116                     Default is created.
110117
110118              direction
110119                     The direction of the sort. Can be  either  asc  or  desc.
110120                     Default is desc.
110121
110122              output The  amount  of  data  returned  by  each  pull  request.
110123                     Defaults to min.  Change to full to see all pull  request
110124                     output.
110125
110126              per_page
110127                     GitHub  paginates data in their API calls. Use this value
110128                     to increase or decrease the number of pull requests gath‐
110129                     ered  from  GitHub, per page. If not set, GitHub defaults
110130                     are used. Maximum is 100.
110131
110132              CLI Example:
110133
110134                 salt myminion github.get_prs
110135                 salt myminion github.get_prs base=2016.11
110136
110137       salt.modules.github.get_repo_info(repo_name,         profile=u'github',
110138       ignore_cache=False)
110139              Return information for a given repo.
110140
110141              New in version 2016.11.0.
110142
110143
110144              repo_name
110145                     The name of the repository.
110146
110147              profile
110148                     The name of the profile configuration to use. Defaults to
110149                     github.
110150
110151              CLI Example:
110152
110153                 salt myminion github.get_repo_info salt
110154                 salt myminion github.get_repo_info salt profile='my-github-profile'
110155
110156       salt.modules.github.get_repo_teams(repo_name, profile=u'github')
110157              Return teams belonging to a repository.
110158
110159              New in version 2017.7.0.
110160
110161
110162              repo_name
110163                     The name of the repository from which to retrieve teams.
110164
110165              profile
110166                     The name of the profile configuration to use. Defaults to
110167                     github.
110168
110169              CLI Example:
110170
110171                 salt myminion github.get_repo_teams salt
110172                 salt myminion github.get_repo_teams salt profile='my-github-profile'
110173
110174       salt.modules.github.get_team(name, profile=u'github')
110175              Returns  the  team details if a team with the given name exists,
110176              or None otherwise.
110177
110178              name   The team name for which to obtain information.
110179
110180              profile
110181                     The name of the profile configuration to use. Defaults to
110182                     github.
110183
110184              CLI Example:
110185
110186                 salt myminion github.get_team 'team_name'
110187
110188       salt.modules.github.get_user(name,                   profile=u'github',
110189       user_details=False)
110190              Get a GitHub user by name.
110191
110192              name   The user for which to obtain information.
110193
110194              profile
110195                     The name of the profile configuration to use. Defaults to
110196                     github.
110197
110198              user_details
110199                     Prints  user  information  details. Defaults to False. If
110200                     the user is already in the organization and  user_details
110201                     is  set  to False, the get_user function returns True. If
110202                     the user is not already present in the organization, user
110203                     details will be printed by default.
110204
110205              CLI Example:
110206
110207                 salt myminion github.get_user github-handle
110208                 salt myminion github.get_user github-handle user_details=true
110209
110210       salt.modules.github.is_team_member(name, team_name, profile=u'github')
110211              Returns  True  if the github user is in the team with team_name,
110212              or False otherwise.
110213
110214              name   The name of the user whose membership to check.
110215
110216              team_name
110217                     The name of the team to check membership in.
110218
110219              profile
110220                     The name of the profile configuration to use. Defaults to
110221                     github.
110222
110223              CLI Example:
110224
110225                 salt myminion github.is_team_member 'user_name' 'team_name'
110226
110227              New in version 2016.11.0.
110228
110229
110230       salt.modules.github.list_members_without_mfa(profile=u'github',
110231       ignore_cache=False)
110232              List all members (in lower case) without MFA turned on.
110233
110234              profile
110235                     The name of the profile configuration to use. Defaults to
110236                     github.
110237
110238              ignore_cache
110239                     Bypasses the use of cached team repos.
110240
110241              CLI Example:
110242
110243                 salt myminion github.list_members_without_mfa
110244
110245              New in version 2016.11.0.
110246
110247
110248       salt.modules.github.list_private_repos(profile=u'github')
110249              List  private  repositories  within  the organization. Dependent
110250              upon the access rights of the profile token.
110251
110252              New in version 2016.11.0.
110253
110254
110255              profile
110256                     The name of the profile configuration to use. Defaults to
110257                     github.
110258
110259              CLI Example:
110260
110261                 salt myminion github.list_private_repos
110262                 salt myminion github.list_private_repos profile='my-github-profile'
110263
110264       salt.modules.github.list_public_repos(profile=u'github')
110265              List public repositories within the organization.
110266
110267              New in version 2016.11.0.
110268
110269
110270              profile
110271                     The name of the profile configuration to use. Defaults to
110272                     github.
110273
110274              CLI Example:
110275
110276                 salt myminion github.list_public_repos
110277                 salt myminion github.list_public_repos profile='my-github-profile'
110278
110279       salt.modules.github.list_repos(profile=u'github')
110280              List all repositories within the organization.  Includes  public
110281              and  private repositories within the organization Dependent upon
110282              the access rights of the profile token.
110283
110284              New in version 2016.11.0.
110285
110286
110287              profile
110288                     The name of the profile configuration to use. Defaults to
110289                     github.
110290
110291              CLI Example:
110292
110293                 salt myminion github.list_repos
110294                 salt myminion github.list_repos profile='my-github-profile'
110295
110296       salt.modules.github.list_team_members(team_name,     profile=u'github',
110297       ignore_cache=False)
110298              Gets the names of team members in lower case.
110299
110300              team_name
110301                     The name of the team from which to list members.
110302
110303              profile
110304                     The name of the profile configuration to use. Defaults to
110305                     github.
110306
110307              ignore_cache
110308                     Bypasses the use of cached team members.
110309
110310              CLI Example:
110311
110312                 salt myminion github.list_team_members 'team_name'
110313
110314              New in version 2016.11.0.
110315
110316
110317       salt.modules.github.list_team_repos(team_name,       profile=u'github',
110318       ignore_cache=False)
110319              Gets the repo details for a given team as a dict from  repo_name
110320              to repo details.  Note that repo names are always in lower case.
110321
110322              team_name
110323                     The name of the team from which to list repos.
110324
110325              profile
110326                     The name of the profile configuration to use. Defaults to
110327                     github.
110328
110329              ignore_cache
110330                     Bypasses the use of cached team repos.
110331
110332              CLI Example:
110333
110334                 salt myminion github.list_team_repos 'team_name'
110335
110336              New in version 2016.11.0.
110337
110338
110339       salt.modules.github.list_teams(profile=u'github', ignore_cache=False)
110340              Lists all teams with the organization.
110341
110342              profile
110343                     The name of the profile configuration to use. Defaults to
110344                     github.
110345
110346              ignore_cache
110347                     Bypasses the use of cached teams.
110348
110349              CLI Example:
110350
110351                 salt myminion github.list_teams
110352
110353              New in version 2016.11.0.
110354
110355
110356       salt.modules.github.list_users(profile=u'github', ignore_cache=False)
110357              List all users within the organization.
110358
110359              profile
110360                     The name of the profile configuration to use. Defaults to
110361                     github.
110362
110363              ignore_cache
110364                     Bypasses the use of cached users.
110365
110366                     New in version 2016.11.0.
110367
110368
110369              CLI Example:
110370
110371                 salt myminion github.list_users
110372                 salt myminion github.list_users profile='my-github-profile'
110373
110374       salt.modules.github.remove_repo(name, profile=u'github')
110375              Remove a Github repository.
110376
110377              name   The name of the repository to be removed.
110378
110379              profile
110380                     The name of the profile configuration to use. Defaults to
110381                     github.
110382
110383              CLI Example:
110384
110385                 salt myminion github.remove_repo 'my-repo'
110386
110387              New in version 2016.11.0.
110388
110389
110390       salt.modules.github.remove_team(name, profile=u'github')
110391              Remove a github team.
110392
110393              name   The name of the team to be removed.
110394
110395              profile
110396                     The name of the profile configuration to use. Defaults to
110397                     github.
110398
110399              CLI Example:
110400
110401                 salt myminion github.remove_team 'team_name'
110402
110403              New in version 2016.11.0.
110404
110405
110406       salt.modules.github.remove_team_member(name,      team_name,       pro‐
110407       file=u'github')
110408              Removes a team member from a team with team_name.
110409
110410              name   The name of the team member to remove.
110411
110412              team_name
110413                     The name of the team from which to remove the user.
110414
110415              profile
110416                     The name of the profile configuration to use. Defaults to
110417                     github.
110418
110419              CLI Example:
110420
110421                 salt myminion github.remove_team_member 'user_name' 'team_name'
110422
110423              New in version 2016.11.0.
110424
110425
110426       salt.modules.github.remove_team_repo(repo_name,     team_name,     pro‐
110427       file=u'github')
110428              Removes a repository from a team with team_name.
110429
110430              repo_name
110431                     The name of the repository to remove.
110432
110433              team_name
110434                     The name of the team of which to remove the repository.
110435
110436              profile
110437                     The name of the profile configuration to use. Defaults to
110438                     github.
110439
110440              CLI Example:
110441
110442                 salt myminion github.remove_team_repo 'my_repo' 'team_name'
110443
110444              New in version 2016.11.0.
110445
110446
110447       salt.modules.github.remove_user(name, profile=u'github')
110448              Remove a Github user by name.
110449
110450              name   The user for which to obtain information.
110451
110452              profile
110453                     The name of the profile configuration to use. Defaults to
110454                     github.
110455
110456              CLI Example:
110457
110458                 salt myminion github.remove_user github-handle
110459
110460   salt.modules.glance
110461       Module for handling openstack glance calls.
110462
110463       optdepends
110464
110465              · glanceclient Python adapter
110466
110467       configuration
110468              This  module  is  not  usable  until the following are specified
110469              either in a pillar or in the minion's config file:
110470
110471                 keystone.user: admin
110472                 keystone.password: verybadpass
110473                 keystone.tenant: admin
110474                 keystone.insecure: False   #(optional)
110475                 keystone.auth_url: 'http://127.0.0.1:5000/v2.0/'
110476
110477              If configuration for multiple openstack  accounts  is  required,
110478              they  can  be  set  up  as different configuration profiles: For
110479              example:
110480
110481                 openstack1:
110482                   keystone.user: admin
110483                   keystone.password: verybadpass
110484                   keystone.tenant: admin
110485                   keystone.auth_url: 'http://127.0.0.1:5000/v2.0/'
110486
110487                 openstack2:
110488                   keystone.user: admin
110489                   keystone.password: verybadpass
110490                   keystone.tenant: admin
110491                   keystone.auth_url: 'http://127.0.0.2:5000/v2.0/'
110492
110493              With this configuration in place, any of  the  glance  functions
110494              can  make use of a configuration profile by declaring it explic‐
110495              itly.  For example:
110496
110497                 salt '*' glance.image_list profile=openstack1
110498
110499       salt.modules.glance.image_create(name,   location=None,   profile=None,
110500       visibility=None,   container_format=u'bare',  disk_format=u'raw',  pro‐
110501       tected=None)
110502              Create an image (glance image-create)
110503
110504              CLI Example, old format:
110505
110506                 salt '*' glance.image_create name=f16-jeos \
110507                          disk_format=qcow2 container_format=ovf
110508
110509              CLI Example, new format resembling Glance API v2:
110510
110511                 salt '*' glance.image_create name=f16-jeos visibility=public \
110512                          disk_format=qcow2 container_format=ovf
110513
110514              The parameter 'visibility' defaults to 'public'  if  not  speci‐
110515              fied.
110516
110517       salt.modules.glance.image_delete(id=None, name=None, profile=None)
110518              Delete an image (glance image-delete)
110519
110520              CLI Examples:
110521
110522                 salt '*' glance.image_delete c2eb2eb0-53e1-4a80-b990-8ec887eae7df
110523                 salt '*' glance.image_delete id=c2eb2eb0-53e1-4a80-b990-8ec887eae7df
110524                 salt '*' glance.image_delete name=f16-jeos
110525
110526       salt.modules.glance.image_list(id=None, profile=None, name=None)
110527              Return a list of available images (glance image-list)
110528
110529              CLI Example:
110530
110531                 salt '*' glance.image_list
110532
110533       salt.modules.glance.image_schema(profile=None)
110534              Returns  names  and descriptions of the schema "image"'s proper‐
110535              ties for this profile's instance of glance
110536
110537              CLI Example:
110538
110539                 salt '*' glance.image_schema
110540
110541       salt.modules.glance.image_show(id=None, name=None, profile=None)
110542              Return details about a specific image (glance image-show)
110543
110544              CLI Example:
110545
110546                 salt '*' glance.image_show
110547
110548       salt.modules.glance.image_update(id=None,   name=None,    profile=None,
110549       **kwargs)
110550              Update  properties of given image.  Known to work for: - min_ram
110551              (in MB) - protected (bool) - visibility ('public' or 'private')
110552
110553              CLI Example:
110554
110555                 salt '*' glance.image_update id=c2eb2eb0-53e1-4a80-b990-8ec887eae7df
110556                 salt '*' glance.image_update name=f16-jeos
110557
110558       salt.modules.glance.schema_get(name, profile=None)
110559
110560              Known valid names of schemas are:
110561
110562                     · image
110563
110564                     · images
110565
110566                     · member
110567
110568                     · members
110569
110570              CLI Example:
110571
110572                 salt '*' glance.schema_get name=f16-jeos
110573
110574   salt.modules.glanceng
110575       Glance module for interacting with OpenStack Glance
110576
110577       New in version 2018.3.0.
110578
110579
110580       :depends:shade
110581
110582       Example configuration
110583
110584          glance:
110585            cloud: default
110586
110587          glance:
110588            auth:
110589              username: admin
110590              password: password123
110591              user_domain_name: mydomain
110592              project_name: myproject
110593              project_domain_name: myproject
110594              auth_url: https://example.org:5000/v3
110595            identity_api_version: 3
110596
110597       salt.modules.glanceng.compare_changes(obj, **kwargs)
110598              Compare two dicts returning only keys that exist  in  the  first
110599              dict and are different in the second one
110600
110601       salt.modules.glanceng.get_openstack_cloud(auth=None)
110602              Return an openstack_cloud
110603
110604       salt.modules.glanceng.get_operator_cloud(auth=None)
110605              Return an operator_cloud
110606
110607       salt.modules.glanceng.image_create(auth=None, **kwargs)
110608              Create an image
110609
110610              CLI Example:
110611
110612                 salt '*' glanceng.image_create name=cirros file=cirros.raw disk_format=raw
110613                 salt '*' glanceng.image_create name=cirros file=cirros.raw disk_format=raw hw_scsi_model=virtio-scsi hw_disk_bus=scsi
110614
110615       salt.modules.glanceng.image_delete(auth=None, **kwargs)
110616              Delete an image
110617
110618              CLI Example:
110619
110620                 salt '*' glanceng.image_delete name=image1
110621                 salt '*' glanceng.image_delete name=0e4febc2a5ab4f2c8f374b054162506d
110622
110623       salt.modules.glanceng.image_get(auth=None, **kwargs)
110624              Get a single image
110625
110626              CLI Example:
110627
110628                 salt '*' glanceng.image_get name=image1
110629                 salt '*' glanceng.image_get name=0e4febc2a5ab4f2c8f374b054162506d
110630
110631       salt.modules.glanceng.image_list(auth=None, **kwargs)
110632              List images
110633
110634              CLI Example:
110635
110636                 salt '*' glanceng.image_list
110637                 salt '*' glanceng.image_list
110638
110639       salt.modules.glanceng.image_search(auth=None, **kwargs)
110640              Search for images
110641
110642              CLI Example:
110643
110644                 salt '*' glanceng.image_search name=image1
110645                 salt '*' glanceng.image_search
110646
110647       salt.modules.glanceng.setup_clouds(auth=None)
110648              Call  functions  to create Shade cloud objects in __context__ to
110649              take advantage  of  Shade's  in-memory  caching  across  several
110650              states
110651
110652       salt.modules.glanceng.update_image_properties(auth=None, **kwargs)
110653              Update properties for an image
110654
110655              CLI Example:
110656
110657                 salt '*' glanceng.update_image_properties name=image1 hw_scsi_model=virtio-scsi hw_disk_bus=scsi
110658                 salt '*' glanceng.update_image_properties name=0e4febc2a5ab4f2c8f374b054162506d min_ram=1024
110659
110660   salt.modules.glusterfs
110661       Manage a glusterfs pool
110662
110663       salt.modules.glusterfs.add_volume_bricks(name, bricks)
110664              Add brick(s) to an existing volume
110665
110666              name   Volume name
110667
110668              bricks List of bricks to add to the volume
110669
110670              CLI Example:
110671
110672                 salt '*' glusterfs.add_volume_bricks <volume> <bricks>
110673
110674       salt.modules.glusterfs.create_volume(name,     bricks,    stripe=False,
110675       replica=False,    device_vg=False,    transport=u'tcp',    start=False,
110676       force=False, arbiter=False)
110677              Create a glusterfs volume
110678
110679              name   Name of the gluster volume
110680
110681              bricks Bricks to create volume from, in <peer>:<brick path> for‐
110682                     mat.  For          multiple  bricks  use   list   format:
110683                     '["<peer1>:<brick1>",         "<peer2>:<brick2>"]'
110684
110685              stripe Stripe  count,  the number of bricks should be a multiple
110686                     of the stripe         count  for  a  distributed  striped
110687                     volume
110688
110689              replica
110690                     Replica  count, the number of bricks should be a multiple
110691                     of the         replica count for a distributed replicated
110692                     volume
110693
110694              arbiter
110695                     If  true,  specifies  volume should use arbiter brick(s).
110696                     Valid configuration limited to "replica 3 arbiter 1"  per
110697                     Gluster  documentation.  Every  third  brick in the brick
110698                     list         is used as an arbiter brick.
110699
110700                     New in version Fluorine.
110701
110702
110703              device_vg
110704                     If  true,  specifies  volume  should  use  block  backend
110705                     instead  of  regular          posix backend. Block device
110706                     backend volume does not support multiple         bricks
110707
110708              transport
110709                     Transport protocol  to  use,  can  be  'tcp',  'rdma'  or
110710                     'tcp,rdma'
110711
110712              start  Start the volume after creation
110713
110714              force  Force  volume  creation,  this  works even if creating in
110715                     root FS
110716
110717              CLI Examples:
110718
110719                 salt host1 glusterfs.create newvolume host1:/brick
110720
110721                 salt gluster1 glusterfs.create vol2 '["gluster1:/export/vol2/brick",         "gluster2:/export/vol2/brick"]' replica=2 start=True
110722
110723       salt.modules.glusterfs.delete_volume(target, stop=True)
110724              Deletes a gluster volume
110725
110726              target Volume to delete
110727
110728              stop   True If True, stop volume before delete
110729
110730              CLI Example:
110731
110732                 salt '*' glusterfs.delete_volume <volume>
110733
110734       salt.modules.glusterfs.disable_quota_volume(name)
110735              Disable quota on a glusterfs volume.
110736
110737              name   Name of the gluster volume
110738
110739              CLI Example:
110740
110741                 salt '*' glusterfs.disable_quota_volume <volume>
110742
110743       salt.modules.glusterfs.enable_quota_volume(name)
110744              Enable quota on a glusterfs volume.
110745
110746              name   Name of the gluster volume
110747
110748              CLI Example:
110749
110750                 salt '*' glusterfs.enable_quota_volume <volume>
110751
110752       salt.modules.glusterfs.get_max_op_version()
110753              New in version Fluorine.
110754
110755
110756              Returns the glusterfs volume's  max  op-version  value  Requires
110757              Glusterfs version > 3.9
110758
110759              CLI Example:
110760                 salt '*' glusterfs.get_max_op_version
110761
110762       salt.modules.glusterfs.get_op_version(name)
110763              New in version Fluorine.
110764
110765
110766              Returns the glusterfs volume op-version
110767
110768              name   Name of the glusterfs volume
110769
110770              CLI Example:
110771
110772                 salt '*' glusterfs.get_op_version <volume>
110773
110774       salt.modules.glusterfs.get_version()
110775              New in version Fluorine.
110776
110777
110778              Returns the version of glusterfs.  CLI Example:
110779                 salt '*' glusterfs.get_version
110780
110781       salt.modules.glusterfs.info(name=None)
110782              New in version 2015.8.4.
110783
110784
110785              Return gluster volume info.
110786
110787              name   Optional name to retrieve only information of one volume
110788
110789              CLI Example:
110790
110791                 salt '*' glusterfs.info
110792
110793       salt.modules.glusterfs.list_quota_volume(name)
110794              List quotas of glusterfs volume
110795
110796              name   Name of the gluster volume
110797
110798              CLI Example:
110799
110800                 salt '*' glusterfs.list_quota_volume <volume>
110801
110802       salt.modules.glusterfs.list_volumes()
110803              List configured volumes
110804
110805              CLI Example:
110806
110807                 salt '*' glusterfs.list_volumes
110808
110809       salt.modules.glusterfs.peer(name)
110810              Add another node into the peer list.
110811
110812              name   The remote host to probe.
110813
110814              CLI Example:
110815
110816                 salt 'one.gluster.*' glusterfs.peer two
110817
110818              GLUSTER  direct  CLI  example  (to  show what salt is sending to
110819              gluster):
110820                 $ gluster peer probe ftp2
110821
110822              GLUSTER CLI 3.4.4 return example (so we know what we  are  pars‐
110823              ing):
110824                     #if the "peer" is the local host: peer probe: success: on
110825                     localhost not needed
110826
110827                     #if the peer was just added: peer probe: success
110828
110829                     #if the peer was already part of the cluster: peer probe:
110830                     success: host ftp2 port 24007 already in peer list
110831
110832       salt.modules.glusterfs.peer_status()
110833              Return peer status information
110834
110835              The  return  value  is  a dictionary with peer UUIDs as keys and
110836              dicts of peer information as values. Hostnames are listed in one
110837              list. GlusterFS separates one of the hostnames but the only rea‐
110838              son for this seems to be which hostname happens to be used first
110839              in peering.
110840
110841              CLI Example:
110842
110843                 salt '*' glusterfs.peer_status
110844
110845              GLUSTER  direct  CLI  example  (to  show what salt is sending to
110846              gluster):
110847                 $ gluster peer status
110848
110849              GLUSTER CLI 3.4.4 return example (so we know what we  are  pars‐
110850              ing):
110851                 Number of Peers: 2
110852
110853                 Hostname:         ftp2        Port:        24007        Uuid:
110854                 cbcb256b-e66e-4ec7-a718-21082d396c24 State: Peer  in  Cluster
110855                 (Connected)
110856
110857                 Hostname:   ftp3  Uuid:  5ea10457-6cb2-427b-a770-7897509625e9
110858                 State: Peer in Cluster (Connected)
110859
110860       salt.modules.glusterfs.set_op_version(version)
110861              New in version Fluorine.
110862
110863
110864              Set the glusterfs volume op-version
110865
110866              version
110867                     Version to set the glusterfs volume op-version
110868
110869              CLI Example:
110870
110871                 salt '*' glusterfs.set_op_version <volume>
110872
110873       salt.modules.glusterfs.set_quota_volume(name,        path,        size,
110874       enable_quota=False)
110875              Set quota to glusterfs volume.
110876
110877              name   Name of the gluster volume
110878
110879              path   Folder path for restriction in volume ("/")
110880
110881              size   Hard-limit size of the volume (MB/GB)
110882
110883              enable_quota
110884                     Enable quota before set up restriction
110885
110886              CLI Example:
110887
110888                 salt '*' glusterfs.set_quota_volume <volume> <path> <size> enable_quota=True
110889
110890       salt.modules.glusterfs.start_volume(name, force=False)
110891              Start a gluster volume
110892
110893              name   Volume name
110894
110895              force  Force the volume start even if the volume is started
110896
110897              CLI Example:
110898
110899                 salt '*' glusterfs.start mycluster
110900
110901       salt.modules.glusterfs.status(name)
110902              Check the status of a gluster volume.
110903
110904              name   Volume name
110905
110906              CLI Example:
110907
110908                 salt '*' glusterfs.status myvolume
110909
110910       salt.modules.glusterfs.stop_volume(name, force=False)
110911              Stop a gluster volume
110912
110913              name   Volume name
110914
110915              force  Force stop the volume
110916
110917                     New in version 2015.8.4.
110918
110919
110920              CLI Example:
110921
110922                 salt '*' glusterfs.stop_volume mycluster
110923
110924       salt.modules.glusterfs.unset_quota_volume(name, path)
110925              Unset quota on glusterfs volume
110926
110927              name   Name of the gluster volume
110928
110929              path   Folder path for restriction in volume
110930
110931              CLI Example:
110932
110933                 salt '*' glusterfs.unset_quota_volume <volume> <path>
110934
110935   salt.modules.gnomedesktop
110936       GNOME implementations
110937
110938       salt.modules.gnomedesktop.get(schema=None,     key=None,     user=None,
110939       **kwargs)
110940              Get key in a particular GNOME schema
110941
110942              CLI Example:
110943
110944                 salt '*' gnome.get user=<username> schema=org.gnome.desktop.screensaver key=idle-activation-enabled
110945
110946       salt.modules.gnomedesktop.getClockFormat(**kwargs)
110947              Return the current clock format, either 12h or 24h format.
110948
110949              CLI Example:
110950
110951                 salt '*' gnome.getClockFormat user=<username>
110952
110953       salt.modules.gnomedesktop.getClockShowDate(**kwargs)
110954              Return the current setting, if the date is shown in the clock
110955
110956              CLI Example:
110957
110958                 salt '*' gnome.getClockShowDate user=<username>
110959
110960       salt.modules.gnomedesktop.getIdleActivation(**kwargs)
110961              Get whether the idle activation is enabled
110962
110963              CLI Example:
110964
110965                 salt '*' gnome.getIdleActivation user=<username>
110966
110967       salt.modules.gnomedesktop.getIdleDelay(**kwargs)
110968              Return the current idle delay setting in seconds
110969
110970              CLI Example:
110971
110972                 salt '*' gnome.getIdleDelay user=<username>
110973
110974       salt.modules.gnomedesktop.ping(**kwargs)
110975              A test to ensure the GNOME module is loaded
110976
110977              CLI Example:
110978
110979                 salt '*' gnome.ping user=<username>
110980
110981       salt.modules.gnomedesktop.setClockFormat(clockFormat, **kwargs)
110982              Set the clock format, either 12h or 24h format.
110983
110984              CLI Example:
110985
110986                 salt '*' gnome.setClockFormat <12h|24h> user=<username>
110987
110988       salt.modules.gnomedesktop.setClockShowDate(kvalue, **kwargs)
110989              Set whether the date is visible in the clock
110990
110991              CLI Example:
110992
110993                 salt '*' gnome.setClockShowDate <True|False> user=<username>
110994
110995       salt.modules.gnomedesktop.setIdleActivation(kvalue, **kwargs)
110996              Set whether the idle activation is enabled
110997
110998              CLI Example:
110999
111000                 salt '*' gnome.setIdleActivation <True|False> user=<username>
111001
111002       salt.modules.gnomedesktop.setIdleDelay(delaySeconds, **kwargs)
111003              Set the current idle delay setting in seconds
111004
111005              CLI Example:
111006
111007                 salt '*' gnome.setIdleDelay <seconds> user=<username>
111008
111009       salt.modules.gnomedesktop.set_(schema=None,    key=None,     user=None,
111010       value=None, **kwargs)
111011              Set key in a particular GNOME schema
111012
111013              CLI Example:
111014
111015                 salt '*' gnome.set user=<username> schema=org.gnome.desktop.screensaver key=idle-activation-enabled value=False
111016
111017   salt.modules.google_chat
111018       Module for sending messages to google chat.
111019
111020       New in version Fluorine.
111021
111022
111023       To  use  this module you need to configure a webhook in the google chat
111024       room where you would like the message to be sent, see:
111025          https://developers.google.com/hangouts/chat/how-tos/webhooks
111026
111027       salt.modules.google_chat.send_message(url, message)
111028              Send a message to the google chat room specified in the  webhook
111029              url.
111030
111031                 salt '*' google_chat.send_message "https://chat.googleapis.com/v1/spaces/example_space/messages?key=example_key" "This is a test message"
111032
111033   salt.modules.gpg
111034       Manage  a GPG keychains, add keys, create keys, retrieve keys from key‐
111035       servers.  Sign, encrypt and sign plus encrypt text and files.
111036
111037       New in version 2015.5.0.
111038
111039
111040       NOTE:
111041          The  python-gnupg  library  and  gpg  binary  are  required  to   be
111042          installed.
111043
111044       salt.modules.gpg.create_key(*args, **kwargs)
111045              Create a key in the GPG keychain
111046
111047              NOTE:
111048                 GPG  key generation requires a lot of entropy and randomness.
111049                 Difficult to do over a  remote  connection,  consider  having
111050                 another  process available which is generating randomness for
111051                 the machine.  Also especially difficult on virtual  machines,
111052                 consider the rng-tools package.
111053
111054                 The create_key process takes awhile so increasing the timeout
111055                 may be necessary, e.g. -t 15.
111056
111057              key_type
111058                     The type of the primary key to generate. It must be capa‐
111059                     ble of signing.  'RSA' or 'DSA'.
111060
111061              key_length
111062                     The length of the primary key in bits.
111063
111064              name_real
111065                     The  real  name of the user identity which is represented
111066                     by the key.
111067
111068              name_comment
111069                     A comment to attach to the user id.
111070
111071              name_email
111072                     An email address for the user.
111073
111074              subkey_type
111075                     The type of the secondary key to generate.
111076
111077              subkey_length
111078                     The length of the secondary key in bits.
111079
111080              expire_date
111081                     The expiration date for the  primary  and  any  secondary
111082                     key.    You   can  specify  an  ISO  date,  A  number  of
111083                     days/weeks/months/years, an  epoch  value,  or  0  for  a
111084                     non-expiring key.
111085
111086              use_passphrase
111087                     Whether  to  use  a  passphrase  with  the  signing  key.
111088                     Passphrase is received from Pillar.
111089
111090              user   Which user's keychain to access, defaults to user Salt is
111091                     running  as.  Passing the user as salt will set the GnuPG
111092                     home directory to the /etc/salt/gpgkeys.
111093
111094              gnupghome
111095                     Specify the location where GPG keyring and related  files
111096                     are stored.
111097
111098              CLI Example:
111099
111100                 salt -t 15 '*' gpg.create_key
111101
111102       salt.modules.gpg.decrypt(user=None,   text=None,   filename=None,  out‐
111103       put=None, use_passphrase=False, gnupghome=None, bare=False)
111104              Decrypt a message or file
111105
111106              user   Which user's keychain to access, defaults to user Salt is
111107                     running  as.  Passing the user as salt will set the GnuPG
111108                     home directory to the /etc/salt/gpgkeys.
111109
111110              text   The encrypted text to decrypt.
111111
111112              filename
111113                     The encrypted filename to decrypt.
111114
111115              output The filename where the decrypted data  will  be  written,
111116                     default is standard out.
111117
111118              use_passphrase
111119                     Whether  to  use  a  passphrase  with  the  signing  key.
111120                     Passphrase is received from Pillar.
111121
111122              gnupghome
111123                     Specify the location where GPG keyring and related  files
111124                     are stored.
111125
111126              bare   If True, return the (armored) decrypted block as a string
111127                     without the standard comment/res dict.
111128
111129              CLI Example:
111130
111131                 salt '*' gpg.decrypt filename='/path/to/important.file.gpg'
111132
111133                 salt '*' gpg.decrypt filename='/path/to/important.file.gpg' use_passphrase=True
111134
111135       salt.modules.gpg.delete_key(keyid=None,               fingerprint=None,
111136       delete_secret=False, user=None, gnupghome=None)
111137              Get a key from the GPG keychain
111138
111139              keyid  The keyid of the key to be deleted.
111140
111141              fingerprint
111142                     The fingerprint of the key to be deleted.
111143
111144              delete_secret
111145                     Whether  to  delete  a  corresponding secret key prior to
111146                     deleting the public key.  Secret  keys  must  be  deleted
111147                     before deleting any corresponding public keys.
111148
111149              user   Which user's keychain to access, defaults to user Salt is
111150                     running as.  Passing the user as salt will set the  GnuPG
111151                     home directory to the /etc/salt/gpgkeys.
111152
111153              gnupghome
111154                     Specify  the location where GPG keyring and related files
111155                     are stored.
111156
111157              CLI Example:
111158
111159                 salt '*' gpg.delete_key keyid=3FAD9F1E
111160
111161                 salt '*' gpg.delete_key fingerprint=53C96788253E58416D20BCD352952C84C3252192
111162
111163                 salt '*' gpg.delete_key keyid=3FAD9F1E user=username
111164
111165                 salt '*' gpg.delete_key keyid=3FAD9F1E user=username delete_secret=True
111166
111167       salt.modules.gpg.encrypt(user=None, recipients=None,  text=None,  file‐
111168       name=None,      output=None,      sign=None,      use_passphrase=False,
111169       gnupghome=None, bare=False)
111170              Encrypt a message or file
111171
111172              user   Which user's keychain to access, defaults to user Salt is
111173                     running  as.  Passing the user as salt will set the GnuPG
111174                     home directory to the /etc/salt/gpgkeys.
111175
111176              recipients
111177                     The fingerprints for those recipient  whom  the  data  is
111178                     being encrypted for.
111179
111180              text   The text to encrypt.
111181
111182              filename
111183                     The filename to encrypt.
111184
111185              output The  filename  where  the  signed  file  will be written,
111186                     default is standard out.
111187
111188              sign   Whether to sign, in addition to encrypt, the  data.  True
111189                     to  use default key or fingerprint to specify a different
111190                     key to sign with.
111191
111192              use_passphrase
111193                     Whether  to  use  a  passphrase  with  the  signing  key.
111194                     Passphrase is received from Pillar.
111195
111196              gnupghome
111197                     Specify  the location where GPG keyring and related files
111198                     are stored.
111199
111200              bare   If True, return the (armored) encrypted block as a string
111201                     without the standard comment/res dict.
111202
111203              CLI Example:
111204
111205                 salt '*' gpg.encrypt text='Hello there.  How are you?'
111206
111207                 salt '*' gpg.encrypt filename='/path/to/important.file'
111208
111209                 salt '*' gpg.encrypt filename='/path/to/important.file' use_passphrase=True
111210
111211       salt.modules.gpg.export_key(keyids=None,    secret=False,    user=None,
111212       gnupghome=None)
111213              Export a key from the GPG keychain
111214
111215              keyids The key ID(s) of the key(s) to be exported. Can be speci‐
111216                     fied  as  a  comma  separated  string or a list. Anything
111217                     which GnuPG itself accepts to identify a key - for  exam‐
111218                     ple, the key ID or the fingerprint could be used.
111219
111220              secret Export  the  secret key identified by the keyids informa‐
111221                     tion passed.
111222
111223              user   Which user's keychain to access, defaults to user Salt is
111224                     running  as.  Passing the user as salt will set the GnuPG
111225                     home directory to the /etc/salt/gpgkeys.
111226
111227              gnupghome
111228                     Specify the location where GPG keyring and related  files
111229                     are stored.
111230
111231              CLI Example:
111232
111233                 salt '*' gpg.export_key keyids=3FAD9F1E
111234
111235                 salt '*' gpg.export_key keyids=3FAD9F1E secret=True
111236
111237                 salt '*' gpg.export_key keyids="['3FAD9F1E','3FBD8F1E']" user=username
111238
111239       salt.modules.gpg.get_key(keyid=None,    fingerprint=None,    user=None,
111240       gnupghome=None)
111241              Get a key from the GPG keychain
111242
111243              keyid  The key ID (short or long) of the key to be retrieved.
111244
111245              fingerprint
111246                     The fingerprint of the key to be retrieved.
111247
111248              user   Which user's keychain to access, defaults to user Salt is
111249                     running  as.  Passing the user as salt will set the GnuPG
111250                     home directory to the /etc/salt/gpgkeys.
111251
111252              gnupghome
111253                     Specify the location where GPG keyring and related  files
111254                     are stored.
111255
111256              CLI Example:
111257
111258                 salt '*' gpg.get_key keyid=3FAD9F1E
111259
111260                 salt '*' gpg.get_key fingerprint=53C96788253E58416D20BCD352952C84C3252192
111261
111262                 salt '*' gpg.get_key keyid=3FAD9F1E user=username
111263
111264       salt.modules.gpg.get_secret_key(keyid=None,           fingerprint=None,
111265       user=None, gnupghome=None)
111266              Get a key from the GPG keychain
111267
111268              keyid  The key ID (short or long) of the key to be retrieved.
111269
111270              fingerprint
111271                     The fingerprint of the key to be retrieved.
111272
111273              user   Which user's keychain to access, defaults to user Salt is
111274                     running  as.  Passing the user as salt will set the GnuPG
111275                     home directory to the /etc/salt/gpgkeys.
111276
111277              gnupghome
111278                     Specify the location where GPG keyring and related  files
111279                     are stored.
111280
111281              CLI Example:
111282
111283                 salt '*' gpg.get_secret_key keyid=3FAD9F1E
111284
111285                 salt '*' gpg.get_secret_key fingerprint=53C96788253E58416D20BCD352952C84C3252192
111286
111287                 salt '*' gpg.get_secret_key keyid=3FAD9F1E user=username
111288
111289       salt.modules.gpg.import_key(*args, **kwargs)
111290              Import a key from text or file
111291
111292              text   The text containing to import.
111293
111294              filename
111295                     The filename containing the key to import.
111296
111297              user   Which user's keychain to access, defaults to user Salt is
111298                     running as.  Passing the user as salt will set the  GnuPG
111299                     home directory to the /etc/salt/gpgkeys.
111300
111301              gnupghome
111302                     Specify  the location where GPG keyring and related files
111303                     are stored.
111304
111305              CLI Example:
111306
111307                 salt '*' gpg.import_key text='-----BEGIN PGP PUBLIC KEY BLOCK-----\n ... -----END PGP PUBLIC KEY BLOCK-----'
111308                 salt '*' gpg.import_key filename='/path/to/public-key-file'
111309
111310       salt.modules.gpg.list_keys(user=None, gnupghome=None)
111311              List keys in GPG keychain
111312
111313              user   Which user's keychain to access, defaults to user Salt is
111314                     running  as.  Passing the user as salt will set the GnuPG
111315                     home directory to the /etc/salt/gpgkeys.
111316
111317              gnupghome
111318                     Specify the location where GPG keyring and related  files
111319                     are stored.
111320
111321              CLI Example:
111322
111323                 salt '*' gpg.list_keys
111324
111325       salt.modules.gpg.list_secret_keys(user=None, gnupghome=None)
111326              List secret keys in GPG keychain
111327
111328              user   Which user's keychain to access, defaults to user Salt is
111329                     running as.  Passing the user as salt will set the  GnuPG
111330                     home directory to the /etc/salt/gpgkeys.
111331
111332              gnupghome
111333                     Specify  the location where GPG keyring and related files
111334                     are stored.
111335
111336              CLI Example:
111337
111338                 salt '*' gpg.list_secret_keys
111339
111340       salt.modules.gpg.receive_keys(*args, **kwargs)
111341              Receive key(s) from keyserver and add them to keychain
111342
111343              keyserver
111344                     Keyserver to use for searching for GPG keys, defaults  to
111345                     pgp.mit.edu
111346
111347              keys   The  keyID(s)  to  retrieve  from  the keyserver.  Can be
111348                     specified as a comma separated string or a list.
111349
111350              user   Which user's keychain to access, defaults to user Salt is
111351                     running  as.  Passing the user as salt will set the GnuPG
111352                     home directory to the /etc/salt/gpgkeys.
111353
111354              gnupghome
111355                     Specify the location where GPG keyring and related  files
111356                     are stored.
111357
111358              CLI Example:
111359
111360                 salt '*' gpg.receive_keys keys='3FAD9F1E'
111361
111362                 salt '*' gpg.receive_keys keys="['3FAD9F1E','3FBD9F2E']"
111363
111364                 salt '*' gpg.receive_keys keys=3FAD9F1E user=username
111365
111366       salt.modules.gpg.search_keys(text, keyserver=None, user=None)
111367              Search keys from keyserver
111368
111369              text   Text  to  search  the  keyserver for, e.g. email address,
111370                     keyID or fingerprint.
111371
111372              keyserver
111373                     Keyserver to use for searching for GPG keys, defaults  to
111374                     pgp.mit.edu.
111375
111376              user   Which user's keychain to access, defaults to user Salt is
111377                     running as.  Passing the user as salt will set the  GnuPG
111378                     home directory to the /etc/salt/gpgkeys.
111379
111380              CLI Example:
111381
111382                 salt '*' gpg.search_keys user@example.com
111383
111384                 salt '*' gpg.search_keys user@example.com keyserver=keyserver.ubuntu.com
111385
111386                 salt '*' gpg.search_keys user@example.com keyserver=keyserver.ubuntu.com user=username
111387
111388       salt.modules.gpg.sign(user=None,  keyid=None, text=None, filename=None,
111389       output=None, use_passphrase=False, gnupghome=None)
111390              Sign message or file
111391
111392              user   Which user's keychain to access, defaults to user Salt is
111393                     running  as.  Passing the user as salt will set the GnuPG
111394                     home directory to the /etc/salt/gpgkeys.
111395
111396              keyid  The keyid of the key to set the trust level for, defaults
111397                     to first key in the secret keyring.
111398
111399              text   The text to sign.
111400
111401              filename
111402                     The filename to sign.
111403
111404              output The  filename  where  the  signed  file  will be written,
111405                     default is standard out.
111406
111407              use_passphrase
111408                     Whether  to  use  a  passphrase  with  the  signing  key.
111409                     Passphrase is received from Pillar.
111410
111411              gnupghome
111412                     Specify  the location where GPG keyring and related files
111413                     are stored.
111414
111415              CLI Example:
111416
111417                 salt '*' gpg.sign text='Hello there.  How are you?'
111418
111419                 salt '*' gpg.sign filename='/path/to/important.file'
111420
111421                 salt '*' gpg.sign filename='/path/to/important.file' use_passphrase=True
111422
111423       salt.modules.gpg.trust_key(keyid=None,                fingerprint=None,
111424       trust_level=None, user=None)
111425              Set the trust level for a key in GPG keychain
111426
111427              keyid  The keyid of the key to set the trust level for.
111428
111429              fingerprint
111430                     The fingerprint of the key to set the trust level for.
111431
111432              trust_level
111433                     The trust level to set for the specified key, must be one
111434                     of  the   following:   expired,   unknown,   not_trusted,
111435                     marginally, fully, ultimately
111436
111437              user   Which user's keychain to access, defaults to user Salt is
111438                     running as.  Passing the user as salt will set the  GnuPG
111439                     home directory to the /etc/salt/gpgkeys.
111440
111441              CLI Example:
111442
111443                 salt '*' gpg.trust_key keyid='3FAD9F1E' trust_level='marginally'
111444                 salt '*' gpg.trust_key fingerprint='53C96788253E58416D20BCD352952C84C3252192' trust_level='not_trusted'
111445                 salt '*' gpg.trust_key keys=3FAD9F1E trust_level='ultimately' user='username'
111446
111447       salt.modules.gpg.verify(text=None,       user=None,      filename=None,
111448       gnupghome=None, signature=None, trustmodel=None)
111449              Verify a message or file
111450
111451              text   The text to verify.
111452
111453              filename
111454                     The filename to verify.
111455
111456              user   Which user's keychain to access, defaults to user Salt is
111457                     running  as.  Passing the user as salt will set the GnuPG
111458                     home directory to the /etc/salt/gpgkeys.
111459
111460              gnupghome
111461                     Specify the location where GPG keyring and related  files
111462                     are stored.
111463
111464              signature
111465                     Specify the filename of a detached signature.
111466
111467                     New in version 2018.3.0.
111468
111469
111470              trustmodel
111471
111472                     Explicitly define the used trust model. One of:
111473
111474                            · pgp
111475
111476                            · classic
111477
111478                            · tofu
111479
111480                            · tofu+pgp
111481
111482                            · direct
111483
111484                            · always
111485
111486                            · auto
111487
111488                     New in version fluorine.
111489
111490
111491              CLI Example:
111492
111493                 salt '*' gpg.verify text='Hello there.  How are you?'
111494                 salt '*' gpg.verify filename='/path/to/important.file'
111495                 salt '*' gpg.verify filename='/path/to/important.file' use_passphrase=True
111496                 salt '*' gpg.verify filename='/path/to/important.file' trustmodel=direct
111497
111498   salt.modules.grafana4 module
111499       Module for working with the Grafana v4 API
111500
111501       New in version 2017.7.0.
111502
111503
111504       depends
111505              requests
111506
111507       configuration
111508              This module requires a configuration profile to be configured in
111509              the minion config, minion pillar, or master config.  The  module
111510              will use the 'grafana' key by default, if defined.
111511
111512              For example:
111513
111514                 grafana:
111515                     grafana_url: http://grafana.localhost
111516                     grafana_user: admin
111517                     grafana_password: admin
111518                     grafana_timeout: 3
111519
111520       salt.modules.grafana4.create_datasource(orgname=None,              pro‐
111521       file=u'grafana', **kwargs)
111522              Create a new datasource in an organisation.
111523
111524              name   Name of the data source.
111525
111526              type   Type of the datasource ('graphite', 'influxdb' etc.).
111527
111528              access Use proxy or direct.
111529
111530              url    The URL to the data source API.
111531
111532              user   Optional - user to authenticate with the data source.
111533
111534              password
111535                     Optional - password to authenticate with the data source.
111536
111537              database
111538                     Optional - database to use with the data source.
111539
111540              basicAuth
111541                     Optional - set to True to use HTTP basic auth to  authen‐
111542                     ticate with the data source.
111543
111544              basicAuthUser
111545                     Optional - HTTP basic auth username.
111546
111547              basicAuthPassword
111548                     Optional - HTTP basic auth password.
111549
111550              jsonData
111551                     Optional  - additional json data to post (eg. "timeInter‐
111552                     val").
111553
111554              isDefault
111555                     Optional - set data source as default.
111556
111557              withCredentials
111558                     Optional - Whether credentials such as  cookies  or  auth
111559                     headers should be sent with cross-site requests.
111560
111561              typeLogoUrl
111562                     Optional - Logo to use for this datasource.
111563
111564              orgname
111565                     Name  of the organization in which the data source should
111566                     be created.
111567
111568              profile
111569                     Configuration profile used  to  connect  to  the  Grafana
111570                     instance.  Default is 'grafana'.
111571
111572              CLI Example:
111573
111574                 salt '*' grafana4.create_datasource
111575
111576       salt.modules.grafana4.create_org(profile=u'grafana', **kwargs)
111577              Create a new organization.
111578
111579              name   Name of the organization.
111580
111581              profile
111582                     Configuration  profile  used  to  connect  to the Grafana
111583                     instance.  Default is 'grafana'.
111584
111585              CLI Example:
111586
111587                 salt '*' grafana4.create_org <name>
111588
111589       salt.modules.grafana4.create_org_user(orgname=None, profile=u'grafana',
111590       **kwargs)
111591              Add user to the organization.
111592
111593              loginOrEmail
111594                     Login or email of the user.
111595
111596              role
111597
111598                     Role of the user for this organization. Should be one of:
111599
111600                            · Admin
111601
111602                            · Editor
111603
111604                            · Read Only Editor
111605
111606                            · Viewer
111607
111608              orgname
111609                     Name of the organization in which users are added.
111610
111611              profile
111612                     Configuration  profile  used  to  connect  to the Grafana
111613                     instance.  Default is 'grafana'.
111614
111615              CLI Example:
111616
111617                 salt '*' grafana4.create_org_user <orgname> loginOrEmail=<loginOrEmail> role=<role>
111618
111619       salt.modules.grafana4.create_update_dashboard(orgname=None,        pro‐
111620       file=u'grafana', **kwargs)
111621              Create or update a dashboard.
111622
111623              dashboard
111624                     A dict that defines the dashboard to create/update.
111625
111626              overwrite
111627                     Whether  the  dashboard  should be overwritten if already
111628                     existing.
111629
111630              orgname
111631                     Name of the organization.
111632
111633              profile
111634                     Configuration profile used  to  connect  to  the  Grafana
111635                     instance.  Default is 'grafana'.
111636
111637              CLI Example:
111638
111639                 salt '*' grafana4.create_update_dashboard dashboard=<dashboard> overwrite=True orgname=<orgname>
111640
111641       salt.modules.grafana4.create_user(profile=u'grafana', **kwargs)
111642              Create a new user.
111643
111644              login  Login of the new user.
111645
111646              password
111647                     Password of the new user.
111648
111649              email  Email of the new user.
111650
111651              name   Optional - Full name of the new user.
111652
111653              profile
111654                     Configuration  profile  used  to  connect  to the Grafana
111655                     instance.  Default is 'grafana'.
111656
111657              CLI Example:
111658
111659                 salt '*' grafana4.create_user login=<login> password=<password> email=<email>
111660
111661       salt.modules.grafana4.delete_dashboard(slug,     orgname=None,     pro‐
111662       file=u'grafana')
111663              Delete a dashboard.
111664
111665              slug   Slug (name) of the dashboard.
111666
111667              orgname
111668                     Name of the organization.
111669
111670              profile
111671                     Configuration  profile  used  to  connect  to the Grafana
111672                     instance.  Default is 'grafana'.
111673
111674              CLI Example:
111675
111676                 salt '*' grafana4.delete_dashboard <slug>
111677
111678       salt.modules.grafana4.delete_datasource(datasourceid,     orgname=None,
111679       profile=u'grafana')
111680              Delete a datasource.
111681
111682              datasourceid
111683                     Id of the datasource.
111684
111685              profile
111686                     Configuration  profile  used  to  connect  to the Grafana
111687                     instance.  Default is 'grafana'.
111688
111689              CLI Example:
111690
111691                 salt '*' grafana4.delete_datasource <datasource_id>
111692
111693       salt.modules.grafana4.delete_org(orgid, profile=u'grafana')
111694              Delete an organization.
111695
111696              orgid  Id of the organization.
111697
111698              profile
111699                     Configuration profile used  to  connect  to  the  Grafana
111700                     instance.  Default is 'grafana'.
111701
111702              CLI Example:
111703
111704                 salt '*' grafana4.delete_org <org_id>
111705
111706       salt.modules.grafana4.delete_org_user(userid,     orgname=None,    pro‐
111707       file=u'grafana')
111708              Remove user from the organization.
111709
111710              userid Id of the user.
111711
111712              orgname
111713                     Name of the organization in which users are updated.
111714
111715              profile
111716                     Configuration profile used  to  connect  to  the  Grafana
111717                     instance.  Default is 'grafana'.
111718
111719              CLI Example:
111720
111721                 salt '*' grafana4.delete_org_user <user_id> <orgname>
111722
111723       salt.modules.grafana4.delete_user(userid, profile=u'grafana')
111724              Delete a user.
111725
111726              userid Id of the user.
111727
111728              profile
111729                     Configuration  profile  used  to  connect  to the Grafana
111730                     instance.  Default is 'grafana'.
111731
111732              CLI Example:
111733
111734                 salt '*' grafana4.delete_user <user_id>
111735
111736       salt.modules.grafana4.delete_user_org(userid,        orgid,        pro‐
111737       file=u'grafana')
111738              Remove a user from an organization.
111739
111740              userid Id of the user.
111741
111742              orgid  Id of the organization.
111743
111744              profile
111745                     Configuration  profile  used  to  connect  to the Grafana
111746                     instance.  Default is 'grafana'.
111747
111748              CLI Example:
111749
111750                 salt '*' grafana4.delete_user_org <user_id> <org_id>
111751
111752       salt.modules.grafana4.get_dashboard(slug,      orgname=None,       pro‐
111753       file=u'grafana')
111754              Get a dashboard.
111755
111756              slug   Slug (name) of the dashboard.
111757
111758              orgname
111759                     Name of the organization.
111760
111761              profile
111762                     Configuration  profile  used  to  connect  to the Grafana
111763                     instance.  Default is 'grafana'.
111764
111765              CLI Example:
111766
111767                 salt '*' grafana4.get_dashboard <slug>
111768
111769       salt.modules.grafana4.get_datasource(name,      orgname=None,      pro‐
111770       file=u'grafana')
111771              Show a single datasource in an organisation.
111772
111773              name   Name of the datasource.
111774
111775              orgname
111776                     Name of the organization.
111777
111778              profile
111779                     Configuration  profile  used  to  connect  to the Grafana
111780                     instance.  Default is 'grafana'.
111781
111782              CLI Example:
111783
111784                 salt '*' grafana4.get_datasource <name> <orgname>
111785
111786       salt.modules.grafana4.get_datasources(orgname=None, profile=u'grafana')
111787              List all datasources in an organisation.
111788
111789              orgname
111790                     Name of the organization.
111791
111792              profile
111793                     Configuration profile used  to  connect  to  the  Grafana
111794                     instance.  Default is 'grafana'.
111795
111796              CLI Example:
111797
111798                 salt '*' grafana4.get_datasources <orgname>
111799
111800       salt.modules.grafana4.get_org(name, profile=u'grafana')
111801              Show a single organization.
111802
111803              name   Name of the organization.
111804
111805              profile
111806                     Configuration  profile  used  to  connect  to the Grafana
111807                     instance.  Default is 'grafana'.
111808
111809              CLI Example:
111810
111811                 salt '*' grafana4.get_org <name>
111812
111813       salt.modules.grafana4.get_org_address(orgname=None, profile=u'grafana')
111814              Get the organization address.
111815
111816              orgname
111817                     Name of the organization in which users are updated.
111818
111819              profile
111820                     Configuration profile used  to  connect  to  the  Grafana
111821                     instance.  Default is 'grafana'.
111822
111823              CLI Example:
111824
111825                 salt '*' grafana4.get_org_address <orgname>
111826
111827       salt.modules.grafana4.get_org_prefs(orgname=None, profile=u'grafana')
111828              Get the organization preferences.
111829
111830              orgname
111831                     Name of the organization in which users are updated.
111832
111833              profile
111834                     Configuration  profile  used  to  connect  to the Grafana
111835                     instance.  Default is 'grafana'.
111836
111837              CLI Example:
111838
111839                 salt '*' grafana4.get_org_prefs <orgname>
111840
111841       salt.modules.grafana4.get_org_users(orgname=None, profile=u'grafana')
111842              Get the list of users that belong to the organization.
111843
111844              orgname
111845                     Name of the organization.
111846
111847              profile
111848                     Configuration profile used  to  connect  to  the  Grafana
111849                     instance.  Default is 'grafana'.
111850
111851              CLI Example:
111852
111853                 salt '*' grafana4.get_org_users <orgname>
111854
111855       salt.modules.grafana4.get_orgs(profile=u'grafana')
111856              List all organizations.
111857
111858              profile
111859                     Configuration  profile  used  to  connect  to the Grafana
111860                     instance.  Default is 'grafana'.
111861
111862              CLI Example:
111863
111864                 salt '*' grafana4.get_orgs
111865
111866       salt.modules.grafana4.get_user(login, profile=u'grafana')
111867              Show a single user.
111868
111869              login  Login of the user.
111870
111871              profile
111872                     Configuration profile used  to  connect  to  the  Grafana
111873                     instance.  Default is 'grafana'.
111874
111875              CLI Example:
111876
111877                 salt '*' grafana4.get_user <login>
111878
111879       salt.modules.grafana4.get_user_data(userid, profile=u'grafana')
111880              Get user data.
111881
111882              userid Id of the user.
111883
111884              profile
111885                     Configuration  profile  used  to  connect  to the Grafana
111886                     instance.  Default is 'grafana'.
111887
111888              CLI Example:
111889
111890                 salt '*' grafana4.get_user_data <user_id>
111891
111892       salt.modules.grafana4.get_user_orgs(userid, profile=u'grafana')
111893              Get the list of organisations a user belong to.
111894
111895              userid Id of the user.
111896
111897              profile
111898                     Configuration profile used  to  connect  to  the  Grafana
111899                     instance.  Default is 'grafana'.
111900
111901              CLI Example:
111902
111903                 salt '*' grafana4.get_user_orgs <user_id>
111904
111905       salt.modules.grafana4.get_users(profile=u'grafana')
111906              List all users.
111907
111908              profile
111909                     Configuration  profile  used  to  connect  to the Grafana
111910                     instance.  Default is 'grafana'.
111911
111912              CLI Example:
111913
111914                 salt '*' grafana4.get_users
111915
111916       salt.modules.grafana4.switch_org(orgname, profile=u'grafana')
111917              Switch the current organization.
111918
111919              name   Name of the organization to switch to.
111920
111921              profile
111922                     Configuration profile used  to  connect  to  the  Grafana
111923                     instance.  Default is 'grafana'.
111924
111925              CLI Example:
111926
111927                 salt '*' grafana4.switch_org <name>
111928
111929       salt.modules.grafana4.update_datasource(datasourceid,     orgname=None,
111930       profile=u'grafana', **kwargs)
111931              Update a datasource.
111932
111933              datasourceid
111934                     Id of the datasource.
111935
111936              name   Name of the data source.
111937
111938              type   Type of the datasource ('graphite', 'influxdb' etc.).
111939
111940              access Use proxy or direct.
111941
111942              url    The URL to the data source API.
111943
111944              user   Optional - user to authenticate with the data source.
111945
111946              password
111947                     Optional - password to authenticate with the data source.
111948
111949              database
111950                     Optional - database to use with the data source.
111951
111952              basicAuth
111953                     Optional - set to True to use HTTP basic auth to  authen‐
111954                     ticate with the data source.
111955
111956              basicAuthUser
111957                     Optional - HTTP basic auth username.
111958
111959              basicAuthPassword
111960                     Optional - HTTP basic auth password.
111961
111962              jsonData
111963                     Optional  - additional json data to post (eg. "timeInter‐
111964                     val").
111965
111966              isDefault
111967                     Optional - set data source as default.
111968
111969              withCredentials
111970                     Optional - Whether credentials such as  cookies  or  auth
111971                     headers should be sent with cross-site requests.
111972
111973              typeLogoUrl
111974                     Optional - Logo to use for this datasource.
111975
111976              profile
111977                     Configuration  profile  used  to  connect  to the Grafana
111978                     instance.  Default is 'grafana'.
111979
111980              CLI Example:
111981
111982                 salt '*' grafana4.update_datasource <datasourceid>
111983
111984       salt.modules.grafana4.update_org(orgid, profile=u'grafana', **kwargs)
111985              Update an existing organization.
111986
111987              orgid  Id of the organization.
111988
111989              name   New name of the organization.
111990
111991              profile
111992                     Configuration profile used  to  connect  to  the  Grafana
111993                     instance.  Default is 'grafana'.
111994
111995              CLI Example:
111996
111997                 salt '*' grafana4.update_org <org_id> name=<name>
111998
111999       salt.modules.grafana4.update_org_address(orgname=None,             pro‐
112000       file=u'grafana', **kwargs)
112001              Update the organization address.
112002
112003              orgname
112004                     Name of the organization in which users are updated.
112005
112006              address1
112007                     Optional - address1 of the org.
112008
112009              address2
112010                     Optional - address2 of the org.
112011
112012              city   Optional - city of the org.
112013
112014              zip_code
112015                     Optional - zip_code of the org.
112016
112017              state  Optional - state of the org.
112018
112019              country
112020                     Optional - country of the org.
112021
112022              profile
112023                     Configuration profile used  to  connect  to  the  Grafana
112024                     instance.  Default is 'grafana'.
112025
112026              CLI Example:
112027
112028                 salt '*' grafana4.update_org_address <orgname> country=<country>
112029
112030       salt.modules.grafana4.update_org_prefs(orgname=None,               pro‐
112031       file=u'grafana', **kwargs)
112032              Update the organization preferences.
112033
112034              orgname
112035                     Name of the organization in which users are updated.
112036
112037              theme  Selected theme for the org.
112038
112039              homeDashboardId
112040                     Home dashboard for the org.
112041
112042              timezone
112043                     Timezone for the org (one of: "browser", "utc", or "").
112044
112045              profile
112046                     Configuration profile used  to  connect  to  the  Grafana
112047                     instance.  Default is 'grafana'.
112048
112049              CLI Example:
112050
112051                 salt '*' grafana4.update_org_prefs <orgname> theme=<theme> timezone=<timezone>
112052
112053       salt.modules.grafana4.update_org_user(userid,     orgname=None,    pro‐
112054       file=u'grafana', **kwargs)
112055              Update user role in the organization.
112056
112057              userid Id of the user.
112058
112059              loginOrEmail
112060                     Login or email of the user.
112061
112062              role
112063
112064                     Role of the user for this organization. Should be one of:
112065
112066                            · Admin
112067
112068                            · Editor
112069
112070                            · Read Only Editor
112071
112072                            · Viewer
112073
112074              orgname
112075                     Name of the organization in which users are updated.
112076
112077              profile
112078                     Configuration profile used  to  connect  to  the  Grafana
112079                     instance.  Default is 'grafana'.
112080
112081              CLI Example:
112082
112083                 salt '*' grafana4.update_org_user <user_id> <orgname> loginOrEmail=<loginOrEmail> role=<role>
112084
112085       salt.modules.grafana4.update_user(userid, profile=u'grafana', **kwargs)
112086              Update an existing user.
112087
112088              userid Id of the user.
112089
112090              login  Optional - Login of the user.
112091
112092              email  Optional - Email of the user.
112093
112094              name   Optional - Full name of the user.
112095
112096              profile
112097                     Configuration  profile  used  to  connect  to the Grafana
112098                     instance.  Default is 'grafana'.
112099
112100              CLI Example:
112101
112102                 salt '*' grafana4.update_user <user_id> login=<login> email=<email>
112103
112104       salt.modules.grafana4.update_user_password(userid,  profile=u'grafana',
112105       **kwargs)
112106              Update a user password.
112107
112108              userid Id of the user.
112109
112110              password
112111                     New password of the user.
112112
112113              profile
112114                     Configuration  profile  used  to  connect  to the Grafana
112115                     instance.  Default is 'grafana'.
112116
112117              CLI Example:
112118
112119                 salt '*' grafana4.update_user_password <user_id> password=<password>
112120
112121       salt.modules.grafana4.update_user_permissions(userid,              pro‐
112122       file=u'grafana', **kwargs)
112123              Update a user password.
112124
112125              userid Id of the user.
112126
112127              isGrafanaAdmin
112128                     Whether user is a Grafana admin.
112129
112130              profile
112131                     Configuration  profile  used  to  connect  to the Grafana
112132                     instance.  Default is 'grafana'.
112133
112134              CLI Example:
112135
112136                 salt '*' grafana4.update_user_permissions <user_id> isGrafanaAdmin=<true|false>
112137
112138   salt.modules.grains
112139       Return/control aspects of the grains data
112140
112141       Grains set or altered with this module are stored in the 'grains'  file
112142       on the minions. By default, this file is located at: /etc/salt/grains
112143
112144       NOTE:
112145          This does NOT override any grains set in the minion config file.
112146
112147       salt.modules.grains.append(key, val, convert=False, delimiter=':')
112148              New in version 0.17.0.
112149
112150
112151              Append a value to a list in the grains config file. If the grain
112152              doesn't exist, the grain key is added and the value is  appended
112153              to the new grain as a list item.
112154
112155              key    The grain key to be appended to
112156
112157              val    The value to append to the grain key
112158
112159              convert
112160                     If  convert  is  True,  convert  non-list contents into a
112161                     list.   If  convert  is  False  and  the  grain  contains
112162                     non-list contents, an error is given. Defaults to False.
112163
112164              delimiter
112165                     The  key  can be a nested dict key. Use this parameter to
112166                     specify the delimiter you use, instead of the default  :.
112167                     You  can now append values to a list in nested dictionary
112168                     grains. If the list doesn't exist at this level, it  will
112169                     be created.
112170
112171                     New in version 2014.7.6.
112172
112173
112174              CLI Example:
112175
112176                 salt '*' grains.append key val
112177
112178       salt.modules.grains.delkey(key)
112179              New in version 2017.7.0.
112180
112181
112182              Remove  a  grain  completely  from  the  grain system, this will
112183              remove the grain key and value
112184
112185              key    The grain key from which to delete the value.
112186
112187              CLI Example:
112188
112189                 salt '*' grains.delkey key
112190
112191       salt.modules.grains.delval(key, destructive=False)
112192              New in version 0.17.0.
112193
112194
112195              Delete a grain value from the grains config file. This will just
112196              set the grain value to None. To completely remove the grain, run
112197              grains.delkey or pass destructive=True to grains.delval.
112198
112199              key    The grain key from which to delete the value.
112200
112201              destructive
112202                     Delete the key, too. Defaults to False.
112203
112204              CLI Example:
112205
112206                 salt '*' grains.delval key
112207
112208       salt.modules.grains.equals(key, value)
112209              Used to make sure the minion's grain key/value matches.
112210
112211              Returns True if matches otherwise False.
112212
112213              New in version 2017.7.0.
112214
112215
112216              CLI Example:
112217
112218                 salt '*' grains.equals fqdn <expected_fqdn>
112219                 salt '*' grains.equals systemd:version 219
112220
112221       salt.modules.grains.fetch(key,       default=u'',        delimiter=':',
112222       ordered=True)
112223              Attempt  to  retrieve  the named value from grains, if the named
112224              value is not available return the passed  default.  The  default
112225              return is an empty string.
112226
112227              The  value  can  also represent a value in a nested dict using a
112228              ":" delimiter for the dict. This means that if a dict in  grains
112229              looks like this:
112230
112231                 {'pkg': {'apache': 'httpd'}}
112232
112233              To  retrieve the value associated with the apache key in the pkg
112234              dict this key can be passed:
112235
112236                 pkg:apache
112237
112238              Parameters
112239
112240                     · delimiter --
112241
112242                       Specify an alternate delimiter to use when traversing a
112243                       nested  dict.   This is useful for when the desired key
112244                       contains a colon. See CLI example below for usage.
112245
112246                       New in version 2014.7.0.
112247
112248
112249
112250                     · ordered --
112251
112252                       Outputs an ordered dict if applicable (default: True)
112253
112254                       New in version 2016.11.0.
112255
112256
112257
112258              CLI Example:
112259
112260                 salt '*' grains.get pkg:apache
112261                 salt '*' grains.get abc::def|ghi delimiter='|'
112262
112263       salt.modules.grains.filter_by(lookup_dict,          grain=u'os_family',
112264       merge=None, default=u'default', base=None)
112265              New in version 0.17.0.
112266
112267
112268              Look up the given grain in a given dictionary for the current OS
112269              and return the result
112270
112271              Although this may occasionally be useful at the CLI, the primary
112272              intent  of  this function is for use in Jinja to make short work
112273              of creating lookup tables for OS-specific data. For example:
112274
112275                 {% set apache = salt['grains.filter_by']({
112276                     'Debian': {'pkg': 'apache2', 'srv': 'apache2'},
112277                     'RedHat': {'pkg': 'httpd', 'srv': 'httpd'},
112278                 }, default='Debian') %}
112279
112280                 myapache:
112281                   pkg.installed:
112282                     - name: {{ apache.pkg }}
112283                   service.running:
112284                     - name: {{ apache.srv }}
112285
112286              Values in the lookup table may be overridden by values  in  Pil‐
112287              lar.  An  example Pillar to override values in the example above
112288              could be as follows:
112289
112290                 apache:
112291                   lookup:
112292                     pkg: apache_13
112293                     srv: apache
112294
112295              The call to filter_by() would be modified as follows  to  refer‐
112296              ence those Pillar values:
112297
112298                 {% set apache = salt['grains.filter_by']({
112299                     ...
112300                 }, merge=salt['pillar.get']('apache:lookup')) %}
112301
112302              Parameters
112303
112304                     · lookup_dict --
112305
112306                       A  dictionary,  keyed by a grain, containing a value or
112307                       values relevant to systems  matching  that  grain.  For
112308                       example,  a  key  could  be the grain for an OS and the
112309                       value could the name of a package  on  that  particular
112310                       OS.
112311
112312                       Changed  in version 2016.11.0: The dictionary key could
112313                       be a globbing pattern. The  function  will  return  the
112314                       corresponding   lookup_dict  value  where  grain  value
112315                       matches the pattern. For example:
112316
112317                          # this will render 'got some salt' if Minion ID begins from 'salt'
112318                          salt '*' grains.filter_by '{salt*: got some salt, default: salt is not here}' id
112319
112320
112321
112322                     · grain --
112323
112324                       The name of a grain to match with the current  system's
112325                       grains. For example, the value of the "os_family" grain
112326                       for the current system could be  used  to  pull  values
112327                       from the lookup_dict dictionary.
112328
112329                       Changed  in version 2016.11.0: The grain value could be
112330                       a list. The function will return the lookup_dict  value
112331                       for  a first found item in the list matching one of the
112332                       lookup_dict keys.
112333
112334
112335
112336                     · merge -- A dictionary to merge with the results of  the
112337                       grain selection from lookup_dict. This allows Pillar to
112338                       override the values in the lookup_dict. This  could  be
112339                       useful,   for  example,  to  override  the  values  for
112340                       non-standard package names such as when using a differ‐
112341                       ent Python version from the default Python version pro‐
112342                       vided  by  the  OS  (e.g.,  python26-mysql  instead  of
112343                       python-mysql).
112344
112345                     · default --
112346
112347                       default  lookup_dict's  key  used if the grain does not
112348                       exists  or  if  the  grain  value  has  no   match   on
112349                       lookup_dict.  If unspecified the value is "default".
112350
112351                       New in version 2014.1.0.
112352
112353
112354
112355                     · base --
112356
112357                       A  lookup_dict  key  to use for a base dictionary.  The
112358                       grain-selected lookup_dict is merged over this and then
112359                       finally  the  merge  dictionary is merged.  This allows
112360                       common values for each case to be collected in the base
112361                       and  overridden  by  the grain selection dictionary and
112362                       the merge dictionary.  Default is unset.
112363
112364                       New in version 2015.5.0.
112365
112366
112367
112368              CLI Example:
112369
112370                 salt '*' grains.filter_by '{Debian: Debheads rule, RedHat: I love my hat}'
112371                 # this one will render {D: {E: I, G: H}, J: K}
112372                 salt '*' grains.filter_by '{A: B, C: {D: {E: F, G: H}}}' 'xxx' '{D: {E: I}, J: K}' 'C'
112373                 # next one renders {A: {B: G}, D: J}
112374                 salt '*' grains.filter_by '{default: {A: {B: C}, D: E}, F: {A: {B: G}}, H: {D: I}}' 'xxx' '{D: J}' 'F' 'default'
112375                 # next same as above when default='H' instead of 'F' renders {A: {B: C}, D: J}
112376
112377       salt.modules.grains.get(key, default=u'', delimiter=':', ordered=True)
112378              Attempt to retrieve the named value from grains,  if  the  named
112379              value  is  not  available return the passed default. The default
112380              return is an empty string.
112381
112382              The value can also represent a value in a nested  dict  using  a
112383              ":"  delimiter for the dict. This means that if a dict in grains
112384              looks like this:
112385
112386                 {'pkg': {'apache': 'httpd'}}
112387
112388              To retrieve the value associated with the apache key in the  pkg
112389              dict this key can be passed:
112390
112391                 pkg:apache
112392
112393              Parameters
112394
112395                     · delimiter --
112396
112397                       Specify an alternate delimiter to use when traversing a
112398                       nested dict.  This is useful for when the  desired  key
112399                       contains a colon. See CLI example below for usage.
112400
112401                       New in version 2014.7.0.
112402
112403
112404
112405                     · ordered --
112406
112407                       Outputs an ordered dict if applicable (default: True)
112408
112409                       New in version 2016.11.0.
112410
112411
112412
112413              CLI Example:
112414
112415                 salt '*' grains.get pkg:apache
112416                 salt '*' grains.get abc::def|ghi delimiter='|'
112417
112418       salt.modules.grains.get_or_set_hash(name,  length=8, chars=u'abcdefghi‐
112419       jklmnopqrstuvwxyz0123456789!@#$%^&*(-_=+)')
112420              Perform a one-time generation of a hash  and  write  it  to  the
112421              local  grains.   If  that  grain has already been set return the
112422              value instead.
112423
112424              This is useful for generating passwords or keys  that  are  spe‐
112425              cific  to a single minion that don't need to be stored somewhere
112426              centrally.
112427
112428              State Example:
112429
112430                 some_mysql_user:
112431                   mysql_user:
112432                     - present
112433                     - host: localhost
112434                     - password: {{ salt['grains.get_or_set_hash']('mysql:some_mysql_user') }}
112435
112436              CLI Example:
112437
112438                 salt '*' grains.get_or_set_hash 'django:SECRET_KEY' 50
112439
112440              WARNING:
112441                 This function could return strings which may contain  charac‐
112442                 ters  which  are  reserved  as directives by the YAML parser,
112443                 such as strings beginning with %. To avoid issues when  using
112444                 the  output  of  this  function  in  an  SLS  file containing
112445                 YAML+Jinja, surround the call with single quotes.
112446
112447       salt.modules.grains.has_value(key)
112448              Determine whether a key exists in the grains dictionary.
112449
112450              Given a grains dictionary that contains the following structure:
112451
112452                 {'pkg': {'apache': 'httpd'}}
112453
112454              One would determine if the apache key in the pkg dict exists by:
112455
112456                 pkg:apache
112457
112458              CLI Example:
112459
112460                 salt '*' grains.has_value pkg:apache
112461
112462       salt.modules.grains.item(*args, **kwargs)
112463              Return one or more grains
112464
112465              CLI Example:
112466
112467                 salt '*' grains.item os
112468                 salt '*' grains.item os osrelease oscodename
112469
112470              Sanitized CLI Example:
112471
112472                 salt '*' grains.item host sanitize=True
112473
112474       salt.modules.grains.items(sanitize=False)
112475              Return all of the minion's grains
112476
112477              CLI Example:
112478
112479                 salt '*' grains.items
112480
112481              Sanitized CLI Example:
112482
112483                 salt '*' grains.items sanitize=True
112484
112485       salt.modules.grains.ls()
112486              Return a list of all available grains
112487
112488              CLI Example:
112489
112490                 salt '*' grains.ls
112491
112492       salt.modules.grains.remove(key, val, delimiter=':')
112493              New in version 0.17.0.
112494
112495
112496              Remove a value from a list in the grains config file
112497
112498              key    The grain key to remove.
112499
112500              val    The value to remove.
112501
112502              delimiter
112503                     The key can be a nested dict key. Use this  parameter  to
112504                     specify  the delimiter you use, instead of the default :.
112505                     You can now append values to a list in nested  dictionary
112506                     grains.  If the list doesn't exist at this level, it will
112507                     be created.
112508
112509                     New in version 2015.8.2.
112510
112511
112512              CLI Example:
112513
112514                 salt '*' grains.remove key val
112515
112516       salt.modules.grains.set(key, val=u'',  force=False,  destructive=False,
112517       delimiter=':')
112518              Set  a  key  to  an  arbitrary value. It is used like setval but
112519              works with nested keys.
112520
112521              This function is conservative. It will only overwrite  an  entry
112522              if  its  value  and  the given one are not a list or a dict. The
112523              force parameter is used to allow overwriting in all cases.
112524
112525              New in version 2015.8.0.
112526
112527
112528              Parameters
112529
112530                     · force -- Force writing over existing entry if given  or
112531                       existing values are list or dict. Defaults to False.
112532
112533                     · destructive  --  If an operation results in a key being
112534                       removed, delete the key, too. Defaults to False.
112535
112536                     · delimiter -- Specify an alternate delimiter to use when
112537                       traversing a nested dict, the default being :
112538
112539              CLI Example:
112540
112541                 salt '*' grains.set 'apps:myApp:port' 2209
112542                 salt '*' grains.set 'apps:myApp' '{port: 2209}'
112543
112544       salt.modules.grains.setval(key, val, destructive=False)
112545              Set a grains value in the grains config file
112546
112547              key    The grain key to be set.
112548
112549              val    The value to set the grain key to.
112550
112551              destructive
112552                     If  an  operation  results in a key being removed, delete
112553                     the key, too.  Defaults to False.
112554
112555              CLI Example:
112556
112557                 salt '*' grains.setval key val
112558                 salt '*' grains.setval key "{'sub-key': 'val', 'sub-key2': 'val2'}"
112559
112560       salt.modules.grains.setvals(grains, destructive=False)
112561              Set new grains values in the grains config file
112562
112563              destructive
112564                     If an operation results in a key  being  removed,  delete
112565                     the key, too.  Defaults to False.
112566
112567              CLI Example:
112568
112569                 salt '*' grains.setvals "{'key1': 'val1', 'key2': 'val2'}"
112570
112571   salt.modules.groupadd
112572       Manage groups on Linux, OpenBSD and NetBSD
112573
112574       IMPORTANT:
112575          If  you  feel that Salt should be using this module to manage groups
112576          on a minion, and it is using a different module (or gives  an  error
112577          similar to 'group.info' is not available), see here.
112578
112579       salt.modules.groupadd.add(name, gid=None, system=False, root=None)
112580              Add the specified group
112581
112582              CLI Example:
112583
112584                 salt '*' group.add foo 3456
112585
112586       salt.modules.groupadd.adduser(name, username, root=None)
112587              Add a user in the group.
112588
112589              CLI Example:
112590
112591                 salt '*' group.adduser foo bar
112592
112593              Verifies  if  a  valid username 'bar' as a member of an existing
112594              group 'foo', if not then adds it.
112595
112596       salt.modules.groupadd.chgid(name, gid, root=None)
112597              Change the gid for a named group
112598
112599              CLI Example:
112600
112601                 salt '*' group.chgid foo 4376
112602
112603       salt.modules.groupadd.delete(name, root=None)
112604              Remove the named group
112605
112606              CLI Example:
112607
112608                 salt '*' group.delete foo
112609
112610       salt.modules.groupadd.deluser(name, username, root=None)
112611              Remove a user from the group.
112612
112613              CLI Example:
112614
112615                 salt '*' group.deluser foo bar
112616
112617              Removes a member user 'bar' from a group 'foo'. If group is  not
112618              present then returns True.
112619
112620       salt.modules.groupadd.getent(refresh=False)
112621              Return info on all groups
112622
112623              CLI Example:
112624
112625                 salt '*' group.getent
112626
112627       salt.modules.groupadd.info(name)
112628              Return information about a group
112629
112630              CLI Example:
112631
112632                 salt '*' group.info foo
112633
112634       salt.modules.groupadd.members(name, members_list, root=None)
112635              Replaces members of the group with a provided list.
112636
112637              CLI Example:
112638                 salt '*' group.members foo 'user1,user2,user3,...'
112639
112640              Replaces a membership list for a local group 'foo'.
112641                     foo:x:1234:user1,user2,user3,...
112642
112643   salt.modules.grub_legacy
112644       Support for GRUB Legacy
112645
112646       salt.modules.grub_legacy.conf()
112647              Parse GRUB conf file
112648
112649              CLI Example:
112650
112651                 salt '*' grub.conf
112652
112653       salt.modules.grub_legacy.version()
112654              Return server version from grub --version
112655
112656              CLI Example:
112657
112658                 salt '*' grub.version
112659
112660   salt.modules.guestfs
112661       Interact with virtual machine images via libguestfs
112662
112663       depends
112664
112665              · libguestfs
112666
112667       salt.modules.guestfs.mount(location, access=u'rw', root=None)
112668              Mount an image
112669
112670              CLI Example:
112671
112672                 salt '*' guest.mount /srv/images/fedora.qcow
112673
112674   salt.modules.hadoop
112675       Support for hadoop
112676
112677       maintainer
112678              Yann Jouanin <yann.jouanin@intelunix.fr>
112679
112680       maturity
112681              new
112682
112683       depends
112684
112685       platform
112686              linux
112687
112688       salt.modules.hadoop.dfs(command=None, *args)
112689              Execute a command on DFS
112690
112691              CLI Example:
112692
112693                 salt '*' hadoop.dfs ls /
112694
112695       salt.modules.hadoop.dfs_absent(path)
112696              Check if a file or directory is absent on the distributed FS.
112697
112698              CLI Example:
112699
112700                 salt '*' hadoop.dfs_absent /some_random_file
112701
112702              Returns True if the file is absent
112703
112704       salt.modules.hadoop.dfs_present(path)
112705              Check if a file or directory is present on the distributed FS.
112706
112707              CLI Example:
112708
112709                 salt '*' hadoop.dfs_present /some_random_file
112710
112711              Returns True if the file is present
112712
112713       salt.modules.hadoop.dfsadmin_report(arg=None)
112714              New in version Fluorine.
112715
112716
112717              Reports  basic  filesystem  information and statistics. Optional
112718              flags may be used to filter the list of displayed DataNodes.
112719
112720              arg    [live] [dead] [decommissioning]
112721
112722              CLI Example:
112723
112724                 salt '*' hadoop.dfsadmin -report
112725
112726       salt.modules.hadoop.namenode_format(force=None)
112727              Format a name node
112728
112729                 salt '*' hadoop.namenode_format force=True
112730
112731       salt.modules.hadoop.version()
112732              Return version from hadoop version
112733
112734              CLI Example:
112735
112736                 salt '*' hadoop.version
112737
112738   salt.modules.haproxyconn
112739       Support for haproxy
112740
112741       New in version 2014.7.0.
112742
112743
112744       salt.modules.haproxyconn.disable_server(name,                  backend,
112745       socket=u'/var/run/haproxy.sock')
112746              Disable server in haproxy.
112747
112748              name   Server to disable
112749
112750              backend
112751                     haproxy backend, or all backends if "*" is supplied
112752
112753              socket haproxy stats socket, default /var/run/haproxy.sock
112754
112755              CLI Example:
112756
112757                 salt '*' haproxy.disable_server db1.example.com mysql
112758
112759       salt.modules.haproxyconn.enable_server(name,                   backend,
112760       socket=u'/var/run/haproxy.sock')
112761              Enable Server in haproxy
112762
112763              name   Server to enable
112764
112765              backend
112766                     haproxy backend, or all backends if "*" is supplied
112767
112768              socket haproxy stats socket, default /var/run/haproxy.sock
112769
112770              CLI Example:
112771
112772                 salt '*' haproxy.enable_server web1.example.com www
112773
112774       salt.modules.haproxyconn.get_backend(backend,
112775       socket=u'/var/run/haproxy.sock')
112776              Receive information about a specific backend.
112777
112778              backend
112779                     haproxy backend
112780
112781              socket haproxy stats socket, default /var/run/haproxy.sock
112782
112783              CLI Example:
112784
112785                 salt '*' haproxy.get_backend mysql
112786
112787       salt.modules.haproxyconn.get_sessions(name,                    backend,
112788       socket=u'/var/run/haproxy.sock')
112789              New in version 2016.11.0.
112790
112791
112792              Get number of current sessions on server in backend (scur)
112793
112794              name   Server name
112795
112796              backend
112797                     haproxy backend
112798
112799              socket haproxy stats socket, default /var/run/haproxy.sock
112800
112801              CLI Example:
112802
112803                 salt '*' haproxy.get_sessions web1.example.com www
112804
112805       salt.modules.haproxyconn.get_weight(name,                      backend,
112806       socket=u'/var/run/haproxy.sock')
112807              Get server weight
112808
112809              name   Server name
112810
112811              backend
112812                     haproxy backend
112813
112814              socket haproxy stats socket, default /var/run/haproxy.sock
112815
112816              CLI Example:
112817
112818                 salt '*' haproxy.get_weight web1.example.com www
112819
112820       salt.modules.haproxyconn.list_backends(servers=True,
112821       socket=u'/var/run/haproxy.sock')
112822              List HaProxy Backends
112823
112824              socket haproxy stats socket, default /var/run/haproxy.sock
112825
112826              servers
112827                     list backends with servers
112828
112829              CLI Example:
112830
112831                 salt '*' haproxy.list_backends
112832
112833       salt.modules.haproxyconn.list_fron‐
112834       tends(socket=u'/var/run/haproxy.sock')
112835              List HaProxy frontends
112836
112837              socket haproxy stats socket, default /var/run/haproxy.sock
112838
112839              CLI Example:
112840
112841                 salt '*' haproxy.list_frontends
112842
112843       salt.modules.haproxyconn.list_servers(backend,
112844       socket=u'/var/run/haproxy.sock', objectify=False)
112845              List servers in haproxy backend.
112846
112847              backend
112848                     haproxy backend
112849
112850              socket haproxy stats socket, default /var/run/haproxy.sock
112851
112852              CLI Example:
112853
112854                 salt '*' haproxy.list_servers mysql
112855
112856       salt.modules.haproxyconn.set_state(name,        backend,         state,
112857       socket=u'/var/run/haproxy.sock')
112858              Force  a  server's administrative state to a new state. This can
112859              be useful to disable load balancing  and/or  any  traffic  to  a
112860              server.  Setting  the state to "ready" puts the server in normal
112861              mode, and the command is the equivalent of the  "enable  server"
112862              command.  Setting  the  state to "maint" disables any traffic to
112863              the server as well as any health checks. This is the  equivalent
112864              of  the  "disable  server"  command. Setting the mode to "drain"
112865              only removes the server from load balancing but still allows  it
112866              to  be checked and to accept new persistent connections. Changes
112867              are propagated to tracking servers if any.
112868
112869              name   Server name
112870
112871              backend
112872                     haproxy backend
112873
112874              state  A string of the state to set. Must be  'ready',  'drain',
112875                     or 'maint'
112876
112877              socket haproxy stats socket, default /var/run/haproxy.sock
112878
112879              CLI Example:
112880
112881                 salt '*' haproxy.set_state my_proxy_server my_backend ready
112882
112883       salt.modules.haproxyconn.set_weight(name,       backend,      weight=0,
112884       socket=u'/var/run/haproxy.sock')
112885              Set server weight
112886
112887              name   Server name
112888
112889              backend
112890                     haproxy backend
112891
112892              weight Server Weight
112893
112894              socket haproxy stats socket, default /var/run/haproxy.sock
112895
112896              CLI Example:
112897
112898                 salt '*' haproxy.set_weight web1.example.com www 13
112899
112900       salt.modules.haproxyconn.show_backends(socket=u'/var/run/haproxy.sock')
112901              Show HaProxy Backends
112902
112903              socket haproxy stats socket, default /var/run/haproxy.sock
112904
112905              CLI Example:
112906
112907                 salt '*' haproxy.show_backends
112908
112909       salt.modules.haproxyconn.show_fron‐
112910       tends(socket=u'/var/run/haproxy.sock')
112911              Show HaProxy frontends
112912
112913              socket haproxy stats socket, default /var/run/haproxy.sock
112914
112915              CLI Example:
112916
112917                 salt '*' haproxy.show_frontends
112918
112919       salt.modules.haproxyconn.wait_state(backend, server, value=u'up', time‐
112920       out=300, socket=u'/var/run/haproxy.sock')
112921              Wait for a specific server state
112922
112923              backend
112924                     haproxy backend
112925
112926              server targeted server
112927
112928              value  state value
112929
112930              timeout
112931                     timeout before giving up state value, default 5 min
112932
112933              socket haproxy stats socket, default /var/run/haproxy.sock
112934
112935              CLI Example:
112936
112937                 salt '*' haproxy.wait_state mysql server01 up 60
112938
112939   salt.modules.hashutil
112940       A collection of hashing and encoding functions
112941
112942       salt.modules.hashutil.base64_b64decode(instr)
112943              Decode a base64-encoded string using the "modern" Python  inter‐
112944              face
112945
112946              New in version 2016.3.0.
112947
112948
112949              CLI Example:
112950
112951                 salt '*' hashutil.base64_b64decode 'Z2V0IHNhbHRlZA=='
112952
112953       salt.modules.hashutil.base64_b64encode(instr)
112954              Encode a string as base64 using the "modern" Python interface.
112955
112956              Among  other possible differences, the "modern" encoder does not
112957              include newline ('n') characters in the encoded output.
112958
112959              New in version 2016.3.0.
112960
112961
112962              CLI Example:
112963
112964                 salt '*' hashutil.base64_b64encode 'get salted'
112965
112966       salt.modules.hashutil.base64_decodefile(instr, outfile)
112967              Decode a base64-encoded string and write the result to a file
112968
112969              New in version 2016.3.0.
112970
112971
112972              CLI Example:
112973
112974                 salt '*' hashutil.base64_decodefile instr='Z2V0IHNhbHRlZAo=' outfile='/path/to/binary_file'
112975
112976       salt.modules.hashutil.base64_decodestring(instr)
112977              Decode a base64-encoded string using the "legacy" Python  inter‐
112978              face
112979
112980              New in version 2014.7.0.
112981
112982
112983              CLI Example:
112984
112985                 salt '*' hashutil.base64_decodestring instr='Z2V0IHNhbHRlZAo='
112986
112987       salt.modules.hashutil.base64_encodefile(fname)
112988              Read  a file from the file system and return as a base64 encoded
112989              string
112990
112991              New in version 2016.3.0.
112992
112993
112994              Pillar example:
112995
112996                 path:
112997                   to:
112998                     data: |
112999                       {{ salt.hashutil.base64_encodefile('/path/to/binary_file') | indent(6) }}
113000
113001              The file.decode state function can be used to decode  this  data
113002              and write it to disk.
113003
113004              CLI Example:
113005
113006                 salt '*' hashutil.base64_encodefile /path/to/binary_file
113007
113008       salt.modules.hashutil.base64_encodestring(instr)
113009              Encode a string as base64 using the "legacy" Python interface.
113010
113011              Among  other possible differences, the "legacy" encoder includes
113012              a newline ('n') character after every 76 characters  and  always
113013              at the end of the encoded string.
113014
113015              New in version 2014.7.0.
113016
113017
113018              CLI Example:
113019
113020                 salt '*' hashutil.base64_encodestring 'get salted'
113021
113022       salt.modules.hashutil.digest(instr, checksum=u'md5')
113023              Return a checksum digest for a string
113024
113025              instr  A string
113026
113027              checksum
113028                     md5  The  hashing algorithm to use to generate checksums.
113029                     Valid options: md5, sha256, sha512.
113030
113031              CLI Example:
113032
113033                 salt '*' hashutil.digest 'get salted'
113034
113035       salt.modules.hashutil.digest_file(infile, checksum=u'md5')
113036              Return a checksum digest for a file
113037
113038              infile A file path
113039
113040              checksum
113041                     md5 The hashing algorithm to use to  generate  checksums.
113042                     Wraps the hashutil.digest execution function.
113043
113044              CLI Example:
113045
113046                 salt '*' hashutil.digest_file /path/to/file
113047
113048       salt.modules.hashutil.github_signature(string,   shared_secret,   chal‐
113049       lenge_hmac)
113050              Verify  a  challenging  hmac  signature  against  a   string   /
113051              shared-secret for github webhooks.
113052
113053              New in version 2017.7.0.
113054
113055
113056              Returns a boolean if the verification succeeded or failed.
113057
113058              CLI Example:
113059
113060                 salt '*' hashutil.github_signature '{"ref":....} ' 'shared secret' 'sha1=bc6550fc290acf5b42283fa8deaf55cea0f8c206'
113061
113062       salt.modules.hashutil.hmac_signature(string,    shared_secret,    chal‐
113063       lenge_hmac)
113064              Verify  a  challenging  hmac  signature  against  a   string   /
113065              shared-secret
113066
113067              New in version 2014.7.0.
113068
113069
113070              Returns a boolean if the verification succeeded or failed.
113071
113072              CLI Example:
113073
113074                 salt '*' hashutil.hmac_signature 'get salted' 'shared secret' 'eBWf9bstXg+NiP5AOwppB5HMvZiYMPzEM9W5YMm/AmQ='
113075
113076       salt.modules.hashutil.md5_digest(instr)
113077              Generate an md5 hash of a given string
113078
113079              New in version 2014.7.0.
113080
113081
113082              CLI Example:
113083
113084                 salt '*' hashutil.md5_digest 'get salted'
113085
113086       salt.modules.hashutil.sha256_digest(instr)
113087              Generate an sha256 hash of a given string
113088
113089              New in version 2014.7.0.
113090
113091
113092              CLI Example:
113093
113094                 salt '*' hashutil.sha256_digest 'get salted'
113095
113096       salt.modules.hashutil.sha512_digest(instr)
113097              Generate an sha512 hash of a given string
113098
113099              New in version 2014.7.0.
113100
113101
113102              CLI Example:
113103
113104                 salt '*' hashutil.sha512_digest 'get salted'
113105
113106   salt.modules.heat module
113107       Module for handling OpenStack Heat calls
113108
113109       New in version 2017.7.0.
113110
113111
113112       depends
113113
113114              · heatclient Python module
113115
113116       configuration
113117              This  module is not usable until the user, password, tenant, and
113118              auth URL are specified either in a pillar  or  in  the  minion's
113119              config file.  For example:
113120
113121                 keystone.user: admin
113122                 keystone.password: verybadpass
113123                 keystone.tenant: admin
113124                 keystone.insecure: False   #(optional)
113125                 keystone.auth_url: 'http://127.0.0.1:5000/v2.0/'
113126                 # Optional
113127                 keystone.region_name: 'RegionOne'
113128
113129              If  configuration  for  multiple OpenStack accounts is required,
113130              they can be set up  as  different  configuration  profiles:  For
113131              example:
113132
113133                 openstack1:
113134                   keystone.user: admin
113135                   keystone.password: verybadpass
113136                   keystone.tenant: admin
113137                   keystone.auth_url: 'http://127.0.0.1:5000/v2.0/'
113138
113139                 openstack2:
113140                   keystone.user: admin
113141                   keystone.password: verybadpass
113142                   keystone.tenant: admin
113143                   keystone.auth_url: 'http://127.0.0.2:5000/v2.0/'
113144
113145              With  this configuration in place, any of the heat functions can
113146              make use of a configuration profile by declaring it  explicitly.
113147              For example:
113148
113149                 salt '*' heat.flavor_list profile=openstack1
113150
113151       salt.modules.heat.create_stack(name=None,  template_file=None, environ‐
113152       ment=None, parameters=None, poll=0,  rollback=False,  timeout=60,  pro‐
113153       file=None, enviroment=None)
113154              Create a stack (heat stack-create)
113155
113156              name   Name of the new stack
113157
113158              template_file
113159                     File of template
113160
113161              environment
113162                     File of environment
113163
113164              parameters
113165                     Parameter dict used to create the stack
113166
113167              poll   Poll and report events until stack complete
113168
113169              rollback
113170                     Enable rollback on create failure
113171
113172              timeout
113173                     Stack creation timeout in minutes
113174
113175              profile
113176                     Profile to build on
113177
113178              CLI Example:
113179
113180                 salt '*' heat.create_stack name=mystack \
113181                          template_file=salt://template.yaml \
113182                          environment=salt://environment.yaml \
113183                          parameters="{"image": "Debian 8", "flavor": "m1.small"}" \
113184                          poll=5 rollback=False timeout=60 profile=openstack1
113185
113186              New in version 2017.7.5,2018.3.1: The spelling mistake in param‐
113187              eter enviroment was corrected to  environment.   The  misspelled
113188              version  is still supported for backward compatibility, but will
113189              be removed in Salt Neon.
113190
113191
113192       salt.modules.heat.delete_stack(name=None,  poll=0,   timeout=60,   pro‐
113193       file=None)
113194              Delete a stack (heat stack-delete)
113195
113196              name   Name of the stack
113197
113198              poll   Poll and report events until stack complete
113199
113200              timeout
113201                     Stack creation timeout in minute
113202
113203              profile
113204                     Profile to use
113205
113206              CLI Examples:
113207
113208                 salt '*' heat.delete_stack name=mystack poll=5 \
113209                          profile=openstack1
113210
113211       salt.modules.heat.list_stack(profile=None)
113212              Return a list of available stack (heat stack-list)
113213
113214              profile
113215                     Profile to use
113216
113217              CLI Example:
113218
113219                 salt '*' heat.list_stack profile=openstack1
113220
113221       salt.modules.heat.show_stack(name=None, profile=None)
113222              Return details about a specific stack (heat stack-show)
113223
113224              name   Name of the stack
113225
113226              profile
113227                     Profile to use
113228
113229              CLI Example:
113230
113231                 salt '*' heat.show_stack name=mystack profile=openstack1
113232
113233       salt.modules.heat.template_stack(name=None, profile=None)
113234              Return template a specific stack (heat stack-template)
113235
113236              name   Name of the stack
113237
113238              profile
113239                     Profile to use
113240
113241              CLI Example:
113242
113243                 salt '*' heat.template_stack name=mystack profile=openstack1
113244
113245       salt.modules.heat.update_stack(name=None,  template_file=None, environ‐
113246       ment=None, parameters=None, poll=0,  rollback=False,  timeout=60,  pro‐
113247       file=None, enviroment=None)
113248              Update a stack (heat stack-template)
113249
113250              name   Name of the  stack
113251
113252              template_file
113253                     File of template
113254
113255              environment
113256                     File of environment
113257
113258              parameters
113259                     Parameter dict used to update the stack
113260
113261              poll   Poll and report events until stack complete
113262
113263              rollback
113264                     Enable rollback on update failure
113265
113266              timeout
113267                     Stack creation timeout in minutes
113268
113269              profile
113270                     Profile to build on
113271
113272              CLI Example:
113273
113274                 salt '*' heat.update_stack name=mystack \
113275                          template_file=salt://template.yaml \
113276                          environment=salt://environment.yaml \
113277                          parameters="{"image": "Debian 8", "flavor": "m1.small"}" \
113278                          poll=5 rollback=False timeout=60 profile=openstack1
113279
113280              New in version 2017.7.5,2018.3.1: The spelling mistake in param‐
113281              eter enviroment was corrected to  environment.   The  misspelled
113282              version  is still supported for backward compatibility, but will
113283              be removed in Salt Neon.
113284
113285
113286   salt.modules.hg
113287       Support for the Mercurial SCM
113288
113289       salt.modules.hg.archive(cwd, output, rev=u'tip', fmt=None, prefix=None,
113290       user=None)
113291              Export a tarball from the repository
113292
113293              cwd    The path to the Mercurial repository
113294
113295              output The path to the archive tarball
113296
113297              rev: tip
113298                     The revision to create an archive from
113299
113300              fmt: None
113301                     Format of the resulting archive. Mercurial supports: tar,
113302                     tbz2, tgz, zip, uzip, and files formats.
113303
113304              prefix None Prepend <prefix>/ to every filename in the archive
113305
113306              user   None Run hg as a user other than what the minion runs as
113307
113308              If prefix is not specified it defaults to the  basename  of  the
113309              repo directory.
113310
113311              CLI Example:
113312
113313                 salt '*' hg.archive /path/to/repo output=/tmp/archive.tgz fmt=tgz
113314
113315       salt.modules.hg.clone(cwd,   repository,  opts=None,  user=None,  iden‐
113316       tity=None)
113317              Clone a new repository
113318
113319              cwd    The path to the Mercurial repository
113320
113321              repository
113322                     The hg URI of the repository
113323
113324              opts   None Any additional options to add to the command line
113325
113326              user   None Run hg as a user other than what the minion runs as
113327
113328              identity
113329                     None Private SSH key on the minion server for authentica‐
113330                     tion (ssh://)
113331
113332                     New in version 2015.5.0.
113333
113334
113335              CLI Example:
113336
113337                 salt '*' hg.clone /path/to/repo https://bitbucket.org/birkenfeld/sphinx
113338
113339       salt.modules.hg.describe(cwd, rev=u'tip', user=None)
113340              Mimic  git describe and return an identifier for the given revi‐
113341              sion
113342
113343              cwd    The path to the Mercurial repository
113344
113345              rev: tip
113346                     The path to the archive tarball
113347
113348              user   None Run hg as a user other than what the minion runs as
113349
113350              CLI Example:
113351
113352                 salt '*' hg.describe /path/to/repo
113353
113354       salt.modules.hg.pull(cwd, opts=None, user=None, identity=None,  reposi‐
113355       tory=None)
113356              Perform a pull on the given repository
113357
113358              cwd    The path to the Mercurial repository
113359
113360              repository
113361                     None  Perform  pull  from  the  repository different from
113362                     .hg/hgrc:[paths]:default
113363
113364              opts   None Any additional options to add to the command line
113365
113366              user   None Run hg as a user other than what the minion runs as
113367
113368              identity
113369                     None Private SSH key on the minion server for authentica‐
113370                     tion (ssh://)
113371
113372                     New in version 2015.5.0.
113373
113374
113375              CLI Example:
113376
113377                 salt '*' hg.pull /path/to/repo opts=-u
113378
113379       salt.modules.hg.revision(cwd, rev=u'tip', short=False, user=None)
113380              Returns  the long hash of a given identifier (hash, branch, tag,
113381              HEAD, etc)
113382
113383              cwd    The path to the Mercurial repository
113384
113385              rev: tip
113386                     The revision
113387
113388              short: False
113389                     Return an abbreviated commit hash
113390
113391              user   None Run hg as a user other than what the minion runs as
113392
113393              CLI Example:
113394
113395                 salt '*' hg.revision /path/to/repo mybranch
113396
113397       salt.modules.hg.status(cwd, opts=None, user=None)
113398              Show changed files of the given repository
113399
113400              cwd    The path to the Mercurial repository
113401
113402              opts   None Any additional options to add to the command line
113403
113404              user   None Run hg as a user other than what the minion runs as
113405
113406              CLI Example:
113407
113408                 salt '*' hg.status /path/to/repo
113409
113410       salt.modules.hg.update(cwd, rev, force=False, user=None)
113411              Update to a given revision
113412
113413              cwd    The path to the Mercurial repository
113414
113415              rev    The revision to update to
113416
113417              force  False Force an update
113418
113419              user   None Run hg as a user other than what the minion runs as
113420
113421              CLI Example:
113422
113423                 salt devserver1 hg.update /path/to/repo somebranch
113424
113425   salt.modules.hipchat
113426       Module for sending messages to hipchat.
113427
113428       New in version 2015.5.0.
113429
113430
113431       configuration
113432              This module can be used by either passing an api key and version
113433              directly or by specifying both in a configuration profile in the
113434              salt master/minion config.
113435
113436              It   is   possible    to    use    a    different    API    than
113437              http://api.hipchat.com,  by  specifying the API URL in config as
113438              api_url, or by passing the value directly.
113439
113440              For example:
113441
113442                 hipchat:
113443                   api_key: peWcBiMOS9HrZG15peWcBiMOS9HrZG15
113444                   api_version: v1
113445
113446              Custom API Example:
113447
113448                 hipchat:
113449                   api_url: http://api.hipchat.myteam.com
113450                   api_key: peWcBiMOS9HrZG15peWcBiMOS9HrZG15
113451                   api_version: v2
113452
113453       salt.modules.hipchat.find_room(name,    api_url=None,     api_key=None,
113454       api_version=None)
113455              Find a room by name and return it.
113456
113457              Parameters
113458
113459                     · name -- The room name.
113460
113461                     · api_url -- The HipChat API URL, if not specified in the
113462                       configuration.
113463
113464                     · api_key -- The HipChat admin api key.
113465
113466                     · api_version -- The HipChat api version, if  not  speci‐
113467                       fied in the configuration.
113468
113469              Returns
113470                     The room object.
113471
113472              CLI Example:
113473
113474                 salt '*' hipchat.find_room name="Development Room"
113475
113476                 salt '*' hipchat.find_room name="Development Room" api_key=peWcBiMOS9HrZG15peWcBiMOS9HrZG15 api_version=v1
113477
113478       salt.modules.hipchat.find_user(name,     api_url=None,    api_key=None,
113479       api_version=None)
113480              Find a user by name and return it.
113481
113482              Parameters
113483
113484                     · name -- The user name.
113485
113486                     · api_url -- The HipChat API URL, if not specified in the
113487                       configuration.
113488
113489                     · api_key -- The HipChat admin api key.
113490
113491                     · api_version  --  The HipChat api version, if not speci‐
113492                       fied in the configuration.
113493
113494              Returns
113495                     The user object.
113496
113497              CLI Example:
113498
113499                 salt '*' hipchat.find_user name="Thomas Hatch"
113500
113501                 salt '*' hipchat.find_user name="Thomas Hatch" api_key=peWcBiMOS9HrZG15peWcBiMOS9HrZG15 api_version=v1
113502
113503       salt.modules.hipchat.list_rooms(api_url=None,  api_key=None,   api_ver‐
113504       sion=None)
113505              List all HipChat rooms.
113506
113507              Parameters
113508
113509                     · api_url -- The HipChat API URL, if not specified in the
113510                       configuration.
113511
113512                     · api_key -- The HipChat admin api key.
113513
113514                     · api_version -- The HipChat api version, if  not  speci‐
113515                       fied in the configuration.
113516
113517              Returns
113518                     The room list.
113519
113520              CLI Example:
113521
113522                 salt '*' hipchat.list_rooms
113523
113524                 salt '*' hipchat.list_rooms api_key=peWcBiMOS9HrZG15peWcBiMOS9HrZG15 api_version=v1
113525
113526       salt.modules.hipchat.list_users(api_url=None,   api_key=None,  api_ver‐
113527       sion=None)
113528              List all HipChat users.
113529
113530              Parameters
113531
113532                     · api_url -- The HipChat API URL, if not specified in the
113533                       configuration.
113534
113535                     · api_key -- The HipChat admin api key.
113536
113537                     · api_version  --  The HipChat api version, if not speci‐
113538                       fied in the configuration.
113539
113540              Returns
113541                     The user list.
113542
113543              CLI Example:
113544
113545                 salt '*' hipchat.list_users
113546
113547                 salt '*' hipchat.list_users api_key=peWcBiMOS9HrZG15peWcBiMOS9HrZG15 api_version=v1
113548
113549       salt.modules.hipchat.send_message(room_id,     message,      from_name,
113550       api_url=None,    api_key=None,    api_version=None,    color=u'yellow',
113551       notify=False)
113552              Send a message to a HipChat room.
113553
113554              Parameters
113555
113556                     · room_id -- The room id or room name, either will work.
113557
113558                     · message -- The message to send to the HipChat room.
113559
113560                     · from_name -- Specify who the message is from.
113561
113562                     · api_url -- The HipChat api URL, if not specified in the
113563                       configuration.
113564
113565                     · api_key -- The HipChat api key, if not specified in the
113566                       configuration.
113567
113568                     · api_version -- The HipChat api version, if  not  speci‐
113569                       fied in the configuration.
113570
113571                     · color -- The color for the message, default: yellow.
113572
113573                     · notify -- Whether to notify the room, default: False.
113574
113575              Returns
113576                     Boolean if message was sent successfully.
113577
113578              CLI Example:
113579
113580                 salt '*' hipchat.send_message room_id="Development Room" message="Build is done" from_name="Build Server"
113581
113582                 salt '*' hipchat.send_message room_id="Development Room" message="Build failed" from_name="Build Server" color="red" notify=True
113583
113584   salt.modules.hosts
113585       Manage the information in the hosts file
113586
113587       salt.modules.hosts.add_host(ip, alias)
113588              Add  a  host  to an existing entry, if the entry is not in place
113589              then create it with the given host
113590
113591              CLI Example:
113592
113593                 salt '*' hosts.add_host <ip> <alias>
113594
113595       salt.modules.hosts.get_alias(ip)
113596              Return the list of aliases associated with an ip
113597
113598              Aliases (host names) are returned in the  order  in  which  they
113599              appear  in  the  hosts file.  If there are no aliases associated
113600              with the IP, an empty list is returned.
113601
113602              CLI Example:
113603
113604                 salt '*' hosts.get_alias <ip addr>
113605
113606       salt.modules.hosts.get_ip(host)
113607              Return the ip associated with the named host
113608
113609              CLI Example:
113610
113611                 salt '*' hosts.get_ip <hostname>
113612
113613       salt.modules.hosts.has_pair(ip, alias)
113614              Return true if the alias is set
113615
113616              CLI Example:
113617
113618                 salt '*' hosts.has_pair <ip> <alias>
113619
113620       salt.modules.hosts.list_hosts()
113621              Return the hosts found in the hosts file in this format:
113622
113623                 {'<ip addr>': ['alias1', 'alias2', ...]}
113624
113625              CLI Example:
113626
113627                 salt '*' hosts.list_hosts
113628
113629       salt.modules.hosts.rm_host(ip, alias)
113630              Remove a host entry from the hosts file
113631
113632              CLI Example:
113633
113634                 salt '*' hosts.rm_host <ip> <alias>
113635
113636       salt.modules.hosts.set_host(ip, alias)
113637              Set the host entry in the hosts file for the given ip, this will
113638              overwrite any previous entry for the given ip
113639
113640              Changed  in version 2016.3.0: If alias does not include any host
113641              names (it is the empty string or contains only whitespace),  all
113642              entries for the given IP address are removed.
113643
113644
113645              CLI Example:
113646
113647                 salt '*' hosts.set_host <ip> <alias>
113648
113649   salt.modules.htpasswd
113650       Support  for  htpasswd  command. Requires the apache2-utils package for
113651       Debian-based distros.
113652
113653       New in version 2014.1.0.
113654
113655
113656       The functions here will load inside the  webutil  module.  This  allows
113657       other functions that don't use htpasswd to use the webutil module name.
113658
113659       salt.modules.htpasswd.useradd(pwfile,    user,    password,   opts=u'',
113660       runas=None)
113661              Add a user to htpasswd file using the htpasswd command.  If  the
113662              htpasswd file does not exist, it will be created.
113663
113664              pwfile Path to htpasswd file
113665
113666              user   User name
113667
113668              password
113669                     User password
113670
113671              opts   Valid options that can be passed are:
113672
113673                        · n  Don't update file; display results on stdout.
113674
113675                        · m  Force MD5 encryption of the password (default).
113676
113677                        · d  Force CRYPT encryption of the password.
113678
113679                        · p  Do not encrypt the password (plaintext).
113680
113681                        · s  Force SHA encryption of the password.
113682
113683              runas  The system user to run htpasswd command with
113684
113685              CLI Examples:
113686
113687                 salt '*' webutil.useradd /etc/httpd/htpasswd larry badpassword
113688                 salt '*' webutil.useradd /etc/httpd/htpasswd larry badpass opts=ns
113689
113690       salt.modules.htpasswd.userdel(pwfile,         user,         runas=None,
113691       all_results=False)
113692              Delete a user from the specified htpasswd file.
113693
113694              pwfile Path to htpasswd file
113695
113696              user   User name
113697
113698              runas  The system user to run htpasswd command with
113699
113700              all_results
113701                     Return stdout, stderr, and retcode, not just stdout
113702
113703              CLI Examples:
113704
113705                 salt '*' webutil.userdel /etc/httpd/htpasswd larry
113706
113707       salt.modules.htpasswd.verify(pwfile,    user,    password,    opts=u'',
113708       runas=None)
113709              Return  True if the htpasswd file exists, the user has an entry,
113710              and their password matches.
113711
113712              pwfile Fully qualified path to htpasswd file
113713
113714              user   User name
113715
113716              password
113717                     User password
113718
113719              opts   Valid options that can be passed are:
113720
113721                        · m  Force MD5 encryption of the password (default).
113722
113723                        · d  Force CRYPT encryption of the password.
113724
113725                        · p  Do not encrypt the password (plaintext).
113726
113727                        · s  Force SHA encryption of the password.
113728
113729              runas  The system user to run htpasswd command with
113730
113731              CLI Examples:
113732
113733                 salt '*' webutil.verify /etc/httpd/htpasswd larry maybepassword
113734                 salt '*' webutil.verify /etc/httpd/htpasswd larry maybepassword opts=ns
113735
113736   salt.modules.http
113737       Module for making various web calls. Primarily  designed  for  webhooks
113738       and the like, but also useful for basic http testing.
113739
113740       New in version 2015.5.0.
113741
113742
113743       salt.modules.http.query(url, **kwargs)
113744              Query a resource, and decode the return data
113745
113746              Passes   through   all   the   parameters   described   in   the
113747              utils.http.query function:
113748
113749              salt.utils.http.query(url,      method=u'GET',      params=None,
113750              data=None,  data_file=None,  header_dict=None, header_list=None,
113751              header_file=None,   username=None,   password=None,   auth=None,
113752              decode=False,  decode_type=u'auto', status=False, headers=False,
113753              text=False, cookies=None, cookie_jar=None, cookie_format=u'lwp',
113754              persist_session=False,     session_cookie_jar=None,    data_ren‐
113755              der=False, data_renderer=None, header_render=False,  header_ren‐
113756              derer=None,   template_dict=None,   test=False,   test_url=None,
113757              node=u'minion',  port=80,   opts=None,   backend=None,   ca_bun‐
113758              dle=None,   verify_ssl=None,   cert=None,  text_out=None,  head‐
113759              ers_out=None,  decode_out=None,  stream=False,   streaming_call‐
113760              back=None,          header_callback=None,          handle=False,
113761              agent=u'Salt/2019.2.0',   hide_fields=None,    raise_error=True,
113762              **kwargs)
113763                     Query a resource, and decode the return data
113764
113765              CLI Example:
113766
113767                 salt '*' http.query http://somelink.com/
113768                 salt '*' http.query http://somelink.com/ method=POST             params='key1=val1&key2=val2'
113769                 salt '*' http.query http://somelink.com/ method=POST             data='<xml>somecontent</xml>'
113770
113771       salt.modules.http.update_ca_bundle(target=None,            source=None,
113772       merge_files=None)
113773              Update the local CA bundle file from a URL
113774
113775              New in version 2015.5.0.
113776
113777
113778              CLI Example:
113779
113780                 salt '*' http.update_ca_bundle
113781                 salt '*' http.update_ca_bundle target=/path/to/cacerts.pem
113782                 salt '*' http.update_ca_bundle source=https://example.com/cacerts.pem
113783
113784              If the target is not specified,  it  will  be  pulled  from  the
113785              ca_cert  configuration  variable  available to the minion. If it
113786              cannot be found there, it will be placed at  <<FILE_ROOTS>>/cac‐
113787              erts.pem.
113788
113789              If  the  source  is  not  specified,  it will be pulled from the
113790              ca_cert_url configuration variable available to the  minion.  If
113791              it cannot be found, it will be downloaded from the cURL website,
113792              using an http (not https) URL. USING THE DEFAULT URL  SHOULD  BE
113793              AVOIDED!
113794
113795              merge_files  may  also  be specified, which includes a string or
113796              list of strings representing a file or files to be  appended  to
113797              the end of the CA bundle, once it is downloaded.
113798
113799              CLI Example:
113800
113801                 salt '*' http.update_ca_bundle merge_files=/path/to/mycert.pem
113802
113803       salt.modules.http.wait_for_successful_query(url,          wait_for=300,
113804       **kwargs)
113805              Query a resource until a successful  response,  and  decode  the
113806              return data
113807
113808              CLI Example:
113809
113810                 salt '*' http.wait_for_successful_query http://somelink.com/ wait_for=160
113811
113812   salt.modules.ifttt
113813       Support for IFTTT
113814
113815       New in version 2015.8.0.
113816
113817
113818       Requires an api_key in /etc/salt/minion:
113819
113820       salt.modules.ifttt.trigger_event(event=None, **kwargs)
113821              Trigger a configured event in IFTTT.
113822
113823              Parameters
113824                     event -- The name of the event to trigger.
113825
113826              Returns
113827                     A  dictionary  with status, text, and error if result was
113828                     failure.
113829
113830   salt.modules.ilo
113831       Manage HP ILO
113832
113833       depends
113834              hponcfg (SmartStart Scripting Toolkit Linux Edition)
113835
113836       salt.modules.ilo.change_password(username, password)
113837              Reset a users password
113838
113839              CLI Example:
113840
113841                 salt '*' ilo.change_password damianMyerscough
113842
113843       salt.modules.ilo.change_username(old_username, new_username)
113844              Change a username
113845
113846              CLI Example:
113847
113848                 salt '*' ilo.change_username damian diana
113849
113850       salt.modules.ilo.configure_network(ip, netmask, gateway)
113851              Configure Network Interface
113852
113853              CLI Example:
113854
113855                 salt '*' ilo.configure_network [IP ADDRESS] [NETMASK] [GATEWAY]
113856
113857       salt.modules.ilo.configure_snmp(community,  snmp_port=161,   snmp_trap‐
113858       port=161)
113859              Configure SNMP
113860
113861              CLI Example:
113862
113863                 salt '*' ilo.configure_snmp [COMMUNITY STRING] [SNMP PORT] [SNMP TRAP PORT]
113864
113865       salt.modules.ilo.create_user(name, password, *privileges)
113866              Create user
113867
113868              CLI Example:
113869
113870                 salt '*' ilo.create_user damian secretagent VIRTUAL_MEDIA_PRIV
113871
113872              If  no  permissions  are  specify  the  user  will  only  have a
113873              read-only account.
113874
113875              Supported privelges:
113876
113877              · ADMIN_PRIV Enables the user to administer user accounts.
113878
113879              · REMOTE_CONS_PRIV Enables the user to access the Remote Console
113880                functionality.
113881
113882              · RESET_SERVER_PRIV  Enables the user to remotely manipulate the
113883                server power setting.
113884
113885              · VIRTUAL_MEDIA_PRIV Enables the user permission to  access  the
113886                virtual media functionality.
113887
113888              · CONFIG_ILO_PRIV Enables the user to configure iLO settings.
113889
113890       salt.modules.ilo.delete_ssh_key(username)
113891              Delete a users SSH key from the ILO
113892
113893              CLI Example:
113894
113895                 salt '*' ilo.delete_user_sshkey damian
113896
113897       salt.modules.ilo.delete_user(username)
113898              Delete a user
113899
113900              CLI Example:
113901
113902                 salt '*' ilo.delete_user damian
113903
113904       salt.modules.ilo.disable_dhcp()
113905              Disable DHCP
113906
113907              CLI Example:
113908
113909                 salt '*' ilo.disable_dhcp
113910
113911       salt.modules.ilo.disable_ssh()
113912              Disable the SSH daemon
113913
113914              CLI Example:
113915
113916                 salt '*' ilo.disable_ssh
113917
113918       salt.modules.ilo.enable_dhcp()
113919              Enable DHCP
113920
113921              CLI Example:
113922
113923                 salt '*' ilo.enable_dhcp
113924
113925       salt.modules.ilo.enable_ssh()
113926              Enable the SSH daemon
113927
113928              CLI Example:
113929
113930                 salt '*' ilo.enable_ssh
113931
113932       salt.modules.ilo.get_user(username)
113933              Returns local user information, excluding the password
113934
113935              CLI Example:
113936
113937                 salt '*' ilo.get_user damian
113938
113939       salt.modules.ilo.global_settings()
113940              Show global settings
113941
113942              CLI Example:
113943
113944                 salt '*' ilo.global_settings
113945
113946       salt.modules.ilo.list_users()
113947              List all users
113948
113949              CLI Example:
113950
113951                 salt '*' ilo.list_users
113952
113953       salt.modules.ilo.list_users_info()
113954              List all users in detail
113955
113956              CLI Example:
113957
113958                 salt '*' ilo.list_users_info
113959
113960       salt.modules.ilo.network()
113961              Grab the current network settings
113962
113963              CLI Example:
113964
113965                 salt '*' ilo.network
113966
113967       salt.modules.ilo.set_http_port(port=80)
113968              Configure the port HTTP should listen on
113969
113970              CLI Example:
113971
113972                 salt '*' ilo.set_http_port 8080
113973
113974       salt.modules.ilo.set_https_port(port=443)
113975              Configure the port HTTPS should listen on
113976
113977              CLI Example:
113978
113979                 salt '*' ilo.set_https_port 4334
113980
113981       salt.modules.ilo.set_ssh_key(public_key)
113982              Configure SSH public keys for specific users
113983
113984              CLI Example:
113985
113986                 salt '*' ilo.set_ssh_key "ssh-dss AAAAB3NzaC1kc3MAAACBA... damian"
113987
113988              The  SSH public key needs to be DSA and the last argument in the
113989              key needs to be the username (case-senstive) of  the  ILO  user‐
113990              name.
113991
113992       salt.modules.ilo.set_ssh_port(port=22)
113993              Enable SSH on a user defined port
113994
113995              CLI Example:
113996
113997                 salt '*' ilo.set_ssh_port 2222
113998
113999   salt.modules.icinga2 module
114000       Module to provide icinga2 compatibility to salt.
114001
114002       New in version 2017.7.0.
114003
114004
114005       depends
114006
114007              · icinga2 server
114008
114009       salt.modules.icinga2.generate_cert(domain)
114010              Generate an icinga2 client certificate and key.
114011
114012              Returns::
114013                     icinga2    pki    new-cert    --cn    domain.tld    --key
114014                     /etc/icinga2/pki/domain.tld.key                    --cert
114015                     /etc/icinga2/pki/domain.tld.crt
114016
114017              CLI Example:
114018
114019                 salt '*' icinga2.generate_cert domain.tld
114020
114021       salt.modules.icinga2.generate_ticket(domain)
114022              Generate and save an icinga2 ticket.
114023
114024              Returns::
114025                     icinga2 pki ticket --cn domain.tld
114026
114027              CLI Example:
114028
114029                 salt '*' icinga2.generate_ticket domain.tld
114030
114031       salt.modules.icinga2.node_setup(domain, master, ticket)
114032              Setup the icinga2 node.
114033
114034              Returns::
114035                     icinga2  node  setup  --ticket  TICKET_ID --endpoint mas‐
114036                     ter.domain.tld  --zone  domain.tld   --master_host   mas‐
114037                     ter.domain.tld                              --trustedcert
114038                     /etc/icinga2/pki/trusted-master.crt
114039
114040              CLI Example:
114041
114042                 salt '*' icinga2.node_setup domain.tld master.domain.tld TICKET_ID
114043
114044       salt.modules.icinga2.request_cert(domain, master, ticket, port)
114045              Request CA cert from master icinga2 node.
114046
114047              Returns::
114048                     icinga2 pki request --host master.domain.tld --port  5665
114049                     --ticket  TICKET_ID --key /etc/icinga2/pki/domain.tld.key
114050                     --cert   /etc/icinga2/pki/domain.tld.crt    --trustedcert
114051                     /etc/icinga2/pki/trusted-master.crt                  --ca
114052                     /etc/icinga2/pki/ca.crt
114053
114054              CLI Example:
114055
114056                 salt '*' icinga2.request_cert domain.tld master.domain.tld TICKET_ID
114057
114058       salt.modules.icinga2.save_cert(domain, master)
114059              Save the certificate for master icinga2 node.
114060
114061              Returns::
114062                     icinga2           pki           save-cert           --key
114063                     /etc/icinga2/pki/domain.tld.key                    --cert
114064                     /etc/icinga2/pki/domain.tld.crt             --trustedcert
114065                     /etc/icinga2/pki/trusted-master.crt      --host      mas‐
114066                     ter.domain.tld
114067
114068              CLI Example:
114069
114070                 salt '*' icinga2.save_cert domain.tld master.domain.tld
114071
114072   salt.modules.incron
114073       Work with incron
114074
114075       salt.modules.incron.list_tab(user)
114076              Return the contents of the specified user's incrontab
114077
114078              CLI Example:
114079
114080                 salt '*' incron.list_tab root
114081
114082       salt.modules.incron.ls(user)
114083              This function is an alias of list_tab.
114084                 Return the contents of the specified user's incrontab
114085
114086                 CLI Example:
114087
114088                     salt '*' incron.list_tab root
114089
114090       salt.modules.incron.raw_incron(user)
114091              Return the contents of the user's incrontab
114092
114093              CLI Example:
114094
114095                 salt '*' incron.raw_incron root
114096
114097       salt.modules.incron.raw_system_incron()
114098              Return the contents of the system wide incrontab
114099
114100              CLI Example:
114101
114102                 salt '*' incron.raw_system_incron
114103
114104       salt.modules.incron.rm(user, path, mask, cmd)
114105              This function is an alias of rm_job.
114106                 Remove a incron job for a  specified  user.  If  any  of  the
114107                 day/time  params  are specified, the job will only be removed
114108                 if the specified params match.
114109
114110                 CLI Example:
114111
114112                     salt '*' incron.rm_job root /path
114113
114114       salt.modules.incron.rm_job(user, path, mask, cmd)
114115              Remove a incron job for a specified user. If any of the day/time
114116              params are specified, the job will only be removed if the speci‐
114117              fied params match.
114118
114119              CLI Example:
114120
114121                 salt '*' incron.rm_job root /path
114122
114123       salt.modules.incron.set_job(user, path, mask, cmd)
114124              Sets an incron job up for a specified user.
114125
114126              CLI Example:
114127
114128                 salt '*' incron.set_job root '/root' 'IN_MODIFY' 'echo "$$ $@ $# $% $&"'
114129
114130       salt.modules.incron.write_incron_file(user, path)
114131              Writes the contents of a file to a user's incrontab
114132
114133              CLI Example:
114134
114135                 salt '*' incron.write_incron_file root /tmp/new_incron
114136
114137       salt.modules.incron.write_incron_file_verbose(user, path)
114138              Writes the contents of a file to a user's incrontab  and  return
114139              error message on error
114140
114141              CLI Example:
114142
114143                 salt '*' incron.write_incron_file_verbose root /tmp/new_incron
114144
114145   salt.modules.influx
114146       InfluxDB - A distributed time series database
114147
114148       Module  to  provide  InfluxDB  compatibility  to  Salt (compatible with
114149       InfluxDB version 0.9+)
114150
114151       depends
114152
114153              · influxdb Python module (>= 3.0.0)
114154
114155       configuration
114156              This module accepts connection configuration details  either  as
114157              parameters  or  as configuration settings in /etc/salt/minion on
114158              the relevant minions:
114159
114160                 influxdb.host: 'localhost'
114161                 influxdb.port: 8086
114162                 influxdb.user: 'root'
114163                 influxdb.password: 'root'
114164
114165              This data can also be passed into pillar.  Options  passed  into
114166              opts will overwrite options passed into pillar.
114167
114168              Most  functions  in this module allow you to override or provide
114169              some or all of these settings via keyword arguments:
114170
114171                 salt '*' influxdb.foo_function user='influxadmin' passwd='s3cr1t'
114172
114173              would override user and password while still using the  defaults
114174              for host and port.
114175
114176       salt.modules.influx.alter_retention_policy(database,   name,  duration,
114177       replication, default=False, **client_args)
114178              Modify an existing retention policy.
114179
114180              name   Name of the retention policy to modify.
114181
114182              database
114183                     Name of the database for which the retention  policy  was
114184                     defined.
114185
114186              duration
114187                     New duration of given retention policy.
114188
114189                     Durations  such as 1h, 90m, 12h, 7d, and 4w, are all sup‐
114190                     ported and mean 1 hour, 90 minutes, 12 hours, 7 day,  and
114191                     4  weeks,  respectively. For infinite retention – meaning
114192                     the data will never be deleted – use 'INF' for  duration.
114193                     The minimum retention period is 1 hour.
114194
114195              replication
114196                     New replication of given retention policy.
114197
114198                     This  determines how many independent copies of each data
114199                     point are stored in a cluster.
114200
114201              default
114202                     False Whether or  not  to  set  the  modified  policy  as
114203                     default.
114204
114205              CLI Example:
114206
114207                 salt '*' influxdb.alter_retention_policy metrics default 1d 1
114208
114209       salt.modules.influx.continuous_query_exists(database,             name,
114210       **client_args)
114211              Check if continuous query with given name exists  on  the  data‐
114212              base.
114213
114214              database
114215                     Name  of  the database for which the continuous query was
114216                     defined.
114217
114218              name   Name of the continuous query to check.
114219
114220              CLI Example:
114221
114222                 salt '*' influxdb.continuous_query_exists metrics default
114223
114224       salt.modules.influx.create_continuous_query(database,   name,    query,
114225       resample_time=None, coverage_period=None, **client_args)
114226              Create a continuous query.
114227
114228              database
114229                     Name  of the database for which the continuous query will
114230                     be created on.
114231
114232              name   Name of the continuous query to create.
114233
114234              query  The continuous query string.
114235
114236              resample_time
114237                     None Duration between continuous query resampling.
114238
114239              coverage_period
114240                     None Duration specifying time period per sample.
114241
114242              CLI Example:
114243
114244                 salt '*' influxdb.create_continuous_query mydb cq_month 'SELECT mean(*) INTO mydb.a_month.:MEASUREMENT FROM mydb.a_week./.*/ GROUP BY time(5m), *'
114245
114246       salt.modules.influx.create_db(name, **client_args)
114247              Create a database.
114248
114249              name   Name of the database to create.
114250
114251              CLI Example:
114252
114253                 salt '*' influxdb.create_db <name>
114254
114255       salt.modules.influx.create_retention_policy(database,  name,  duration,
114256       replication, default=False, **client_args)
114257              Create a retention policy.
114258
114259              database
114260                     Name  of the database for which the retention policy will
114261                     be created.
114262
114263              name   Name of the new retention policy.
114264
114265              duration
114266                     Duration of the new retention policy.
114267
114268                     Durations such as 1h, 90m, 12h, 7d, and 4w, are all  sup‐
114269                     ported  and mean 1 hour, 90 minutes, 12 hours, 7 day, and
114270                     4 weeks, respectively. For infinite retention  –  meaning
114271                     the  data will never be deleted – use 'INF' for duration.
114272                     The minimum retention period is 1 hour.
114273
114274              replication
114275                     Replication factor of the retention policy.
114276
114277                     This determines how many independent copies of each  data
114278                     point are stored in a cluster.
114279
114280              default
114281                     False Whether or not the policy as default will be set as
114282                     default.
114283
114284              CLI Example:
114285
114286                 salt '*' influxdb.create_retention_policy metrics default 1d 1
114287
114288       salt.modules.influx.create_user(name,       passwd,        admin=False,
114289       **client_args)
114290              Create a user.
114291
114292              name   Name of the user to create.
114293
114294              passwd Password of the new user.
114295
114296              admin  False Whether the user should have cluster administration
114297                     privileges or not.
114298
114299              CLI Example:
114300
114301                 salt '*' influxdb.create_user <name> <password>
114302                 salt '*' influxdb.create_user <name> <password> admin=True
114303
114304       salt.modules.influx.db_exists(name, **client_args)
114305              Checks if a database exists in InfluxDB.
114306
114307              name   Name of the database to check.
114308
114309              CLI Example:
114310
114311                 salt '*' influxdb.db_exists <name>
114312
114313       salt.modules.influx.drop_continuous_query(database,               name,
114314       **client_args)
114315              Drop a continuous query.
114316
114317              database
114318                     Name  of the database for which the continuous query will
114319                     be drop from.
114320
114321              name   Name of the continuous query to drop.
114322
114323              CLI Example:
114324
114325                 salt '*' influxdb.drop_continuous_query mydb my_cq
114326
114327       salt.modules.influx.drop_db(name, **client_args)
114328              Drop a database.
114329
114330              name   Name of the database to drop.
114331
114332              CLI Example:
114333
114334                 salt '*' influxdb.drop_db <name>
114335
114336       salt.modules.influx.drop_retention_policy(database,               name,
114337       **client_args)
114338              Drop a retention policy.
114339
114340              database
114341                     Name  of the database for which the retention policy will
114342                     be dropped.
114343
114344              name   Name of the retention policy to drop.
114345
114346              CLI Example:
114347
114348                 salt '*' influxdb.drop_retention_policy mydb mypr
114349
114350       salt.modules.influx.get_continuous_query(database, name, **client_args)
114351              Get an existing continuous query.
114352
114353              database
114354                     Name of the database for which the continuous  query  was
114355                     defined.
114356
114357              name   Name of the continuous query to get.
114358
114359              CLI Example:
114360
114361                 salt '*' influxdb.get_continuous_query mydb cq_month
114362
114363       salt.modules.influx.get_retention_policy(database, name, **client_args)
114364              Get an existing retention policy.
114365
114366              database
114367                     Name  of  the database for which the retention policy was
114368                     defined.
114369
114370              name   Name of the retention policy.
114371
114372              CLI Example:
114373
114374                 salt '*' influxdb.get_retention_policy metrics default
114375
114376       salt.modules.influx.grant_admin_privileges(name, **client_args)
114377              Grant cluster administration privileges to a user.
114378
114379              name   Name of  the  user  to  whom  admin  privileges  will  be
114380                     granted.
114381
114382              CLI Example:
114383
114384                 salt '*' influxdb.grant_admin_privileges <name>
114385
114386       salt.modules.influx.grant_privilege(database,    privilege,   username,
114387       **client_args)
114388              Grant a privilege on a database to a user.
114389
114390              database
114391                     Name of the database to grant the privilege on.
114392
114393              privilege
114394                     Privilege to grant. Can be  one  of  'read',  'write'  or
114395                     'all'.
114396
114397              username
114398                     Name of the user to grant the privilege to.
114399
114400       salt.modules.influx.list_dbs(**client_args)
114401              List all InfluxDB databases.
114402
114403              CLI Example:
114404
114405                 salt '*' influxdb.list_dbs
114406
114407       salt.modules.influx.list_privileges(name, **client_args)
114408              List privileges from a user.
114409
114410              name   Name of the user from whom privileges will be listed.
114411
114412              CLI Example:
114413
114414                 salt '*' influxdb.list_privileges <name>
114415
114416       salt.modules.influx.list_users(**client_args)
114417              List all users.
114418
114419              CLI Example:
114420
114421                 salt '*' influxdb.list_users
114422
114423       salt.modules.influx.query(database, query, **client_args)
114424              Execute a query.
114425
114426              database
114427                     Name of the database to query on.
114428
114429              query  InfluxQL query string.
114430
114431       salt.modules.influx.remove_user(name, **client_args)
114432              Remove a user.
114433
114434              name   Name of the user to remove
114435
114436              CLI Example:
114437
114438                 salt '*' influxdb.remove_user <name>
114439
114440       salt.modules.influx.retention_policy_exists(database,             name,
114441       **client_args)
114442              Check if retention policy with given name exists.
114443
114444              database
114445                     Name of the database for which the retention  policy  was
114446                     defined.
114447
114448              name   Name of the retention policy to check.
114449
114450              CLI Example:
114451
114452                 salt '*' influxdb.retention_policy_exists metrics default
114453
114454       salt.modules.influx.revoke_admin_privileges(name, **client_args)
114455              Revoke cluster administration privileges from a user.
114456
114457              name   Name  of  the  user  from  whom  admin privileges will be
114458                     revoked.
114459
114460              CLI Example:
114461
114462                 salt '*' influxdb.revoke_admin_privileges <name>
114463
114464       salt.modules.influx.revoke_privilege(database,   privilege,   username,
114465       **client_args)
114466              Revoke a privilege on a database from a user.
114467
114468              database
114469                     Name of the database to grant the privilege on.
114470
114471              privilege
114472                     Privilege  to  grant.  Can  be  one of 'read', 'write' or
114473                     'all'.
114474
114475              username
114476                     Name of the user to grant the privilege to.
114477
114478       salt.modules.influx.set_user_password(name, passwd, **client_args)
114479              Change password of a user.
114480
114481              name   Name of the user for whom to set the password.
114482
114483              passwd New password of the user.
114484
114485              CLI Example:
114486
114487                 salt '*' influxdb.set_user_password <name> <password>
114488
114489       salt.modules.influx.user_exists(name, **client_args)
114490              Check if a user exists.
114491
114492              name   Name of the user to check.
114493
114494              CLI Example:
114495
114496                 salt '*' influxdb.user_exists <name>
114497
114498       salt.modules.influx.user_info(name, **client_args)
114499              Get information about given user.
114500
114501              name   Name of the user for which to get information.
114502
114503              CLI Example:
114504
114505                 salt '*' influxdb.user_info <name>
114506
114507   salt.modules.influx08 module
114508       InfluxDB - A distributed time series database
114509
114510       Module to provide  InfluxDB  compatibility  to  Salt  (compatible  with
114511       InfluxDB version 0.5-0.8)
114512
114513       New in version 2014.7.0.
114514
114515
114516       depends
114517
114518              · influxdb Python module (>= 1.0.0)
114519
114520       configuration
114521              This  module  accepts connection configuration details either as
114522              parameters or as configuration settings in  /etc/salt/minion  on
114523              the relevant minions:
114524
114525                 influxdb08.host: 'localhost'
114526                 influxdb08.port: 8086
114527                 influxdb08.user: 'root'
114528                 influxdb08.password: 'root'
114529
114530              This  data  can  also be passed into pillar. Options passed into
114531              opts will overwrite options passed into pillar.
114532
114533       salt.modules.influx08.db_create(name,     user=None,     password=None,
114534       host=None, port=None)
114535              Create a database
114536
114537              name   Database name to create
114538
114539              user   The user to connect as
114540
114541              password
114542                     The password of the user
114543
114544              host   The host to connect to
114545
114546              port   The port to connect to
114547
114548              CLI Example:
114549
114550                 salt '*' influxdb08.db_create <name>
114551                 salt '*' influxdb08.db_create <name> <user> <password> <host> <port>
114552
114553       salt.modules.influx08.db_exists(name,     user=None,     password=None,
114554       host=None, port=None)
114555              Checks if a database exists in Influxdb
114556
114557              name   Database name to create
114558
114559              user   The user to connect as
114560
114561              password
114562                     The password of the user
114563
114564              host   The host to connect to
114565
114566              port   The port to connect to
114567
114568              CLI Example:
114569
114570                 salt '*' influxdb08.db_exists <name>
114571                 salt '*' influxdb08.db_exists <name> <user> <password> <host> <port>
114572
114573       salt.modules.influx08.db_list(user=None,   password=None,    host=None,
114574       port=None)
114575              List all InfluxDB databases
114576
114577              user   The user to connect as
114578
114579              password
114580                     The password of the user
114581
114582              host   The host to connect to
114583
114584              port   The port to connect to
114585
114586              CLI Example:
114587
114588                 salt '*' influxdb08.db_list
114589                 salt '*' influxdb08.db_list <user> <password> <host> <port>
114590
114591       salt.modules.influx08.db_remove(name,     user=None,     password=None,
114592       host=None, port=None)
114593              Remove a database
114594
114595              name   Database name to remove
114596
114597              user   The user to connect as
114598
114599              password
114600                     The password of the user
114601
114602              host   The host to connect to
114603
114604              port   The port to connect to
114605
114606              CLI Example:
114607
114608                 salt '*' influxdb08.db_remove <name>
114609                 salt '*' influxdb08.db_remove <name> <user> <password> <host> <port>
114610
114611       salt.modules.influx08.login_test(name,     password,     database=None,
114612       host=None, port=None)
114613              Checks if a credential pair can log in at all.
114614
114615              If  a  database  is  specified:  it will check for database user
114616              existence.  If a database is not specified: it  will  check  for
114617              cluster admin existence.
114618
114619              name   The user to connect as
114620
114621              password
114622                     The password of the user
114623
114624              database
114625                     The database to try to log in to
114626
114627              host   The host to connect to
114628
114629              port   The port to connect to
114630
114631              CLI Example:
114632
114633                 salt '*' influxdb08.login_test <name>
114634                 salt '*' influxdb08.login_test <name> <database>
114635                 salt '*' influxdb08.login_test <name> <database> <user> <password> <host> <port>
114636
114637       salt.modules.influx08.query(database, query, time_precision=u's', chun‐
114638       ked=False, user=None, password=None, host=None, port=None)
114639              Querying data
114640
114641              database
114642                     The database to query
114643
114644              query  Query to be executed
114645
114646              time_precision
114647                     Time precision to use ('s', 'm', or 'u')
114648
114649              chunked
114650                     Whether is chunked or not
114651
114652              user   The user to connect as
114653
114654              password
114655                     The password of the user
114656
114657              host   The host to connect to
114658
114659              port   The port to connect to
114660
114661              CLI Example:
114662
114663                 salt '*' influxdb08.query <database> <query>
114664                 salt '*' influxdb08.query <database> <query> <time_precision> <chunked> <user> <password> <host> <port>
114665
114666       salt.modules.influx08.retention_policy_add(database,  name,   duration,
114667       replication,   default=False,   user=None,   password=None,  host=None,
114668       port=None)
114669              Add a retention policy.
114670
114671              database
114672                     The database to operate on.
114673
114674              name   Name of the policy to modify.
114675
114676              duration
114677                     How long InfluxDB keeps the data.
114678
114679              replication
114680                     How many copies of the data are stored in the cluster.
114681
114682              default
114683                     Whether this policy should be the default or not. Default
114684                     is False.
114685
114686              CLI Example:
114687
114688                 salt '*' influxdb.retention_policy_add metrics default 1d 1
114689
114690       salt.modules.influx08.retention_policy_alter(database,  name, duration,
114691       replication,  default=False,   user=None,   password=None,   host=None,
114692       port=None)
114693              Modify an existing retention policy.
114694
114695              database
114696                     The database to operate on.
114697
114698              name   Name of the policy to modify.
114699
114700              duration
114701                     How long InfluxDB keeps the data.
114702
114703              replication
114704                     How many copies of the data are stored in the cluster.
114705
114706              default
114707                     Whether this policy should be the default or not. Default
114708                     is False.
114709
114710              CLI Example:
114711
114712                 salt '*' influxdb08.retention_policy_modify metrics default 1d 1
114713
114714       salt.modules.influx08.retention_policy_exists(database,           name,
114715       user=None, password=None, host=None, port=None)
114716              Check if a retention policy exists.
114717
114718              database
114719                     The database to operate on.
114720
114721              name   Name of the policy to modify.
114722
114723              CLI Example:
114724
114725                 salt '*' influxdb08.retention_policy_exists metrics default
114726
114727       salt.modules.influx08.retention_policy_get(database,  name,  user=None,
114728       password=None, host=None, port=None)
114729              Get an existing retention policy.
114730
114731              database
114732                     The database to operate on.
114733
114734              name   Name of the policy to modify.
114735
114736              CLI Example:
114737
114738                 salt '*' influxdb08.retention_policy_get metrics default
114739
114740       salt.modules.influx08.user_chpass(name,     passwd,      database=None,
114741       user=None, password=None, host=None, port=None)
114742              Change password for a cluster admin or a database user.
114743
114744              If  a  database is specified: it will update database user pass‐
114745              word.  If a database is not specified: it  will  update  cluster
114746              admin password.
114747
114748              name   User name for whom to change the password
114749
114750              passwd New password
114751
114752              database
114753                     The database on which to operate
114754
114755              user   The user to connect as
114756
114757              password
114758                     The password of the user
114759
114760              host   The host to connect to
114761
114762              port   The port to connect to
114763
114764              CLI Example:
114765
114766                 salt '*' influxdb08.user_chpass <name> <passwd>
114767                 salt '*' influxdb08.user_chpass <name> <passwd> <database>
114768                 salt '*' influxdb08.user_chpass <name> <passwd> <database> <user> <password> <host> <port>
114769
114770       salt.modules.influx08.user_create(name,      passwd,     database=None,
114771       user=None, password=None, host=None, port=None)
114772              Create a cluster admin or a database user.
114773
114774              If a database is specified: it will create database user.  If  a
114775              database is not specified: it will create a cluster admin.
114776
114777              name   User name for the new user to create
114778
114779              passwd Password for the new user to create
114780
114781              database
114782                     The database to create the user in
114783
114784              user   The user to connect as
114785
114786              password
114787                     The password of the user
114788
114789              host   The host to connect to
114790
114791              port   The port to connect to
114792
114793              CLI Example:
114794
114795                 salt '*' influxdb08.user_create <name> <passwd>
114796                 salt '*' influxdb08.user_create <name> <passwd> <database>
114797                 salt '*' influxdb08.user_create <name> <passwd> <database> <user> <password> <host> <port>
114798
114799       salt.modules.influx08.user_exists(name, database=None, user=None, pass‐
114800       word=None, host=None, port=None)
114801              Checks if a cluster admin or database user exists.
114802
114803              If a database is specified: it  will  check  for  database  user
114804              existence.   If  a  database is not specified: it will check for
114805              cluster admin existence.
114806
114807              name   User name
114808
114809              database
114810                     The database to check for the user to exist
114811
114812              user   The user to connect as
114813
114814              password
114815                     The password of the user
114816
114817              host   The host to connect to
114818
114819              port   The port to connect to
114820
114821              CLI Example:
114822
114823                 salt '*' influxdb08.user_exists <name>
114824                 salt '*' influxdb08.user_exists <name> <database>
114825                 salt '*' influxdb08.user_exists <name> <database> <user> <password> <host> <port>
114826
114827       salt.modules.influx08.user_list(database=None,     user=None,     pass‐
114828       word=None, host=None, port=None)
114829              List cluster admins or database users.
114830
114831              If  a database is specified: it will return database users list.
114832              If a database is not specified: it will  return  cluster  admins
114833              list.
114834
114835              database
114836                     The database to list the users from
114837
114838              user   The user to connect as
114839
114840              password
114841                     The password of the user
114842
114843              host   The host to connect to
114844
114845              port   The port to connect to
114846
114847              CLI Example:
114848
114849                 salt '*' influxdb08.user_list
114850                 salt '*' influxdb08.user_list <database>
114851                 salt '*' influxdb08.user_list <database> <user> <password> <host> <port>
114852
114853       salt.modules.influx08.user_remove(name, database=None, user=None, pass‐
114854       word=None, host=None, port=None)
114855              Remove a cluster admin or a database user.
114856
114857              If a database is specified: it will remove  the  database  user.
114858              If  a  database  is  not  specified:  it will remove the cluster
114859              admin.
114860
114861              name   User name to remove
114862
114863              database
114864                     The database to remove the user from
114865
114866              user   User name for the new user to delete
114867
114868              user   The user to connect as
114869
114870              password
114871                     The password of the user
114872
114873              host   The host to connect to
114874
114875              port   The port to connect to
114876
114877              CLI Example:
114878
114879                 salt '*' influxdb08.user_remove <name>
114880                 salt '*' influxdb08.user_remove <name> <database>
114881                 salt '*' influxdb08.user_remove <name> <database> <user> <password> <host> <port>
114882
114883   salt.modules.infoblox
114884       This module have been tested on infoblox API v1.2.1, other versions  of
114885       the API are likly workable.
114886
114887       depends
114888              libinfoblox, https://github.com/steverweber/libinfoblox
114889
114890              libinfoblox can be installed using pip install libinfoblox
114891
114892       API documents can be found on your infoblox server at:
114893          https://INFOBLOX/wapidoc
114894
114895       configuration
114896              The  following  configuration defaults can be defined (pillar or
114897              config files '/etc/salt/master.d/infoblox.conf'):
114898
114899                 infoblox.config:
114900                     api_sslverify: True
114901                     api_url: 'https://INFOBLOX/wapi/v1.2.1'
114902                     api_user: 'username'
114903                     api_key: 'password'
114904
114905              Many of the functions accept api_opts to override the  API  con‐
114906              fig.
114907
114908                 salt-call infoblox.get_host name=my.host.com             api_url: 'https://INFOBLOX/wapi/v1.2.1'             api_user=admin             api_key=passs
114909
114910       salt.modules.infoblox.create_a(data, **api_opts)
114911              Create A record.
114912
114913              This  is  a helper function to create_object.  See your infoblox
114914              API for full data format.
114915
114916              CLI Example:
114917
114918                 salt-call infoblox.create_a                     data =
114919                             name: 'fastlinux.math.example.ca'
114920                             ipv4addr: '127.0.0.1'
114921                             view: External
114922
114923       salt.modules.infoblox.create_cname(data, **api_opts)
114924              Create a cname record.
114925
114926              CLI Example:
114927
114928                 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"         }
114929
114930       salt.modules.infoblox.create_host(data, **api_opts)
114931              Add host record
114932
114933              Avoid   race   conditions,    use    func:nextavailableip    for
114934              ipv[4,6]addrs:
114935
114936              · func:nextavailableip:network/ZG54dfgsrDFEFfsfs‐
114937                LzA:10.0.0.0/8/default
114938
114939              · func:nextavailableip:10.0.0.0/8
114940
114941              · func:nextavailableip:10.0.0.0/8,external
114942
114943              · func:nextavailableip:10.0.0.3-10.0.0.10
114944
114945              See your infoblox API for full data format.
114946
114947              CLI Example:
114948
114949                 salt-call infoblox.create_host             data =
114950                         {'name': 'hostname.example.ca',
114951                         'aliases': ['hostname.math.example.ca'],
114952                     'extattrs': [{'Business Contact': {'value': 'example@example.ca'}},
114953                         {'Pol8 Classification': {'value': 'Restricted'}},
114954                         {'Primary OU': {'value': 'CS'}},
114955                         {'Technical Contact': {'value': 'example@example.ca'}}],
114956                     'ipv4addrs': [{'configure_for_dhcp': True,
114957                         'ipv4addr': 'func:nextavailableip:129.97.139.0/24',
114958                         'mac': '00:50:56:84:6e:ae'}],
114959                     'ipv6addrs': [], }
114960
114961       salt.modules.infoblox.create_ipv4_range(data, **api_opts)
114962              Create a ipv4 range
114963
114964              This is a helper function to create_object See your infoblox API
114965              for full data format.
114966
114967              CLI Example:
114968
114969                 salt-call infoblox.create_ipv4_range data={
114970                     start_addr: '129.97.150.160',
114971                     end_addr: '129.97.150.170'}
114972
114973       salt.modules.infoblox.create_object(object_type, data, **api_opts)
114974              Create raw infoblox object. This is a low level api call.
114975
114976              CLI Example:
114977
114978                 salt-call infoblox.update_object object_type=record:host  data={}
114979
114980       salt.modules.infoblox.delete_a(name=None,                ipv4addr=None,
114981       allow_array=False, **api_opts)
114982              Delete A record
114983
114984              If  the  A  record  is  used  as  a  round  robin  you  can  set
114985              allow_array=True to delete all records for the hostname.
114986
114987              CLI Examples:
114988
114989                 salt-call infoblox.delete_a name=abc.example.com
114990                 salt-call infoblox.delete_a ipv4addr=192.168.3.5
114991                 salt-call infoblox.delete_a name=acname.example.com allow_array=True
114992
114993       salt.modules.infoblox.delete_cname(name=None,           canonical=None,
114994       **api_opts)
114995              Delete CNAME. This is a helper call to delete_object.
114996
114997              If record is not found, return True
114998
114999              CLI Examples:
115000
115001                 salt-call infoblox.delete_cname name=example.example.com
115002                 salt-call infoblox.delete_cname canonical=example-ha-0.example.com
115003
115004       salt.modules.infoblox.delete_host(name=None,  mac=None,  ipv4addr=None,
115005       **api_opts)
115006              Delete host
115007
115008              CLI Example:
115009
115010                 salt-call infoblox.delete_host name=example.domain.com
115011                 salt-call infoblox.delete_host ipv4addr=123.123.122.12
115012                 salt-call infoblox.delete_host ipv4addr=123.123.122.12 mac=00:50:56:84:6e:ae
115013
115014       salt.modules.infoblox.delete_ipv4_range(start_addr=None, end_addr=None,
115015       **api_opts)
115016              Delete ip range.
115017
115018              CLI Example:
115019
115020                 salt-call infoblox.delete_ipv4_range start_addr=123.123.122.12
115021
115022       salt.modules.infoblox.delete_object(objref, **api_opts)
115023              Delete infoblox object. This is a low level api call.
115024
115025              CLI Example:
115026
115027                 salt-call infoblox.delete_object objref=[ref_of_object]
115028
115029       salt.modules.infoblox.diff_objects(obja, objb)
115030              Diff two complex infoblox  objects.   This  is  used  from  salt
115031              states to detect changes in objects.
115032
115033              Using  func:nextavailableip  will  not cause a diff if the ipad‐
115034              dress is in range
115035
115036       salt.modules.infoblox.get_a(name=None, ipv4addr=None, allow_array=True,
115037       **api_opts)
115038              Get A record
115039
115040              CLI Examples:
115041
115042                 salt-call infoblox.get_a name=abc.example.com
115043                 salt-call infoblox.get_a ipv4addr=192.168.3.5
115044
115045       salt.modules.infoblox.get_cname(name=None,              canonical=None,
115046       return_fields=None, **api_opts)
115047              Get CNAME information.
115048
115049              CLI Examples:
115050
115051                 salt-call infoblox.get_cname name=example.example.com
115052                 salt-call infoblox.get_cname canonical=example-ha-0.example.com
115053
115054       salt.modules.infoblox.get_host(name=None,   ipv4addr=None,    mac=None,
115055       return_fields=None, **api_opts)
115056              Get host information
115057
115058              CLI Examples:
115059
115060                 salt-call infoblox.get_host hostname.domain.ca
115061                 salt-call infoblox.get_host ipv4addr=123.123.122.12
115062                 salt-call infoblox.get_host mac=00:50:56:84:6e:ae
115063
115064       salt.modules.infoblox.get_host_advanced(name=None,       ipv4addr=None,
115065       mac=None, **api_opts)
115066              Get all host information
115067
115068              CLI Example:
115069
115070                 salt-call infoblox.get_host_advanced hostname.domain.ca
115071
115072       salt.modules.infoblox.get_host_domainname(name,           domains=None,
115073       **api_opts)
115074              Get host domain name
115075
115076              If  no domains are passed, the hostname is checked for a zone in
115077              infoblox, if no zone split on first dot.
115078
115079              If domains are provided, the best  match  out  of  the  list  is
115080              returned.
115081
115082              If none are found the return is None
115083
115084              dots at end of names are ignored.
115085
115086              CLI Example:
115087
115088                 salt-call uwl.get_host_domainname name=localhost.t.domain.com             domains=['domain.com', 't.domain.com.']
115089
115090                 # returns: t.domain.com
115091
115092       salt.modules.infoblox.get_host_hostname(name, domains=None, **api_opts)
115093              Get hostname
115094
115095              If  no domains are passed, the hostname is checked for a zone in
115096              infoblox, if no zone split on first dot.
115097
115098              If domains are provided, the best match out of the list is trun‐
115099              cated from the fqdn leaving the hostname.
115100
115101              If no matching domains are found the fqdn is returned.
115102
115103              dots at end of names are ignored.
115104
115105              CLI Examples:
115106
115107                 salt-call infoblox.get_host_hostname fqdn=localhost.xxx.t.domain.com             domains="['domain.com', 't.domain.com']"
115108                 #returns: localhost.xxx
115109
115110                 salt-call infoblox.get_host_hostname fqdn=localhost.xxx.t.domain.com
115111                 #returns: localhost
115112
115113       salt.modules.infoblox.get_host_ipv4(name=None,                mac=None,
115114       allow_array=False, **api_opts)
115115              Get ipv4 address from host record.
115116
115117              Use allow_array to return possible multiple values.
115118
115119              CLI Examples:
115120
115121                 salt-call infoblox.get_host_ipv4 host=localhost.domain.com
115122                 salt-call infoblox.get_host_ipv4 mac=00:50:56:84:6e:ae
115123
115124       salt.modules.infoblox.get_host_ipv4addr_info(ipv4addr=None,   mac=None,
115125       discovered_data=None, return_fields=None, **api_opts)
115126              Get host ipv4addr information
115127
115128              CLI Examples:
115129
115130                 salt-call infoblox.get_ipv4addr ipv4addr=123.123.122.12
115131                 salt-call infoblox.get_ipv4addr mac=00:50:56:84:6e:ae
115132                 salt-call infoblox.get_ipv4addr mac=00:50:56:84:6e:ae return_fields=host return_fields='mac,host,configure_for_dhcp,ipv4addr'
115133
115134       salt.modules.infoblox.get_host_ipv6addr_info(ipv6addr=None,   mac=None,
115135       discovered_data=None, return_fields=None, **api_opts)
115136              Get host ipv6addr information
115137
115138              CLI Example:
115139
115140                 salt-call infoblox.get_host_ipv6addr_info ipv6addr=2001:db8:85a3:8d3:1349:8a2e:370:7348
115141
115142       salt.modules.infoblox.get_host_mac(name=None,        allow_array=False,
115143       **api_opts)
115144              Get mac address from host record.
115145
115146              Use allow_array to return possible multiple values.
115147
115148              CLI Example:
115149
115150                 salt-call infoblox.get_host_mac host=localhost.domain.com
115151
115152       salt.modules.infoblox.get_ipv4_range(start_addr=None,    end_addr=None,
115153       return_fields=None, **api_opts)
115154              Get ip range
115155
115156              CLI Example:
115157
115158                 salt-call infoblox.get_ipv4_range start_addr=123.123.122.12
115159
115160       salt.modules.infoblox.get_network(ipv4addr=None,          network=None,
115161       return_fields=None, **api_opts)
115162              Get  list  of all networks. This is helpful when looking up sub‐
115163              nets to use with func:nextavailableip
115164
115165              This call is offen slow and not cached!
115166
115167              some   return_fields   comment,network,network_view,ddns_domain‐
115168              name,disable,enable_ddns
115169
115170              CLI Example:
115171
115172                 salt-call infoblox.get_network
115173
115174       salt.modules.infoblox.get_object(objref, data=None, return_fields=None,
115175       max_results=None, ensure_none_or_one_result=False, **api_opts)
115176              Get raw infoblox object. This is a low level api call.
115177
115178              CLI Example:
115179
115180                 salt-call infoblox.get_object objref=[_ref of object]
115181
115182       salt.modules.infoblox.is_ipaddr_in_ipfunc_range(ipaddr, ipfunc)
115183              Return true if the ipaddress is in the range of  the  nextavail‐
115184              ableip function
115185
115186              CLI Example:
115187
115188                 salt-call infoblox.is_ipaddr_in_ipfunc_range             ipaddr="10.0.2.2" ipfunc="func:nextavailableip:10.0.0.0/8"
115189
115190       salt.modules.infoblox.update_cname(name, data, **api_opts)
115191              Update CNAME. This is a helper call to update_object.
115192
115193              Find a CNAME _ref then call update_object with the record data.
115194
115195              CLI Example:
115196
115197                 salt-call infoblox.update_cname name=example.example.com data="{
115198                         'canonical':'example-ha-0.example.com',
115199                         'use_ttl':true,
115200                         'ttl':200,
115201                         'comment':'Salt managed CNAME'}"
115202
115203       salt.modules.infoblox.update_host(name, data, **api_opts)
115204              Update host record. This is a helper call to update_object.
115205
115206              Find a hosts _ref then call update_object with the record data.
115207
115208              CLI Example:
115209
115210                 salt-call infoblox.update_host name=fqdn data={}
115211
115212       salt.modules.infoblox.update_object(objref, data, **api_opts)
115213              Update raw infoblox object. This is a low level api call.
115214
115215              CLI Example:
115216
115217                 salt-call infoblox.update_object objref=[ref_of_object] data={}
115218
115219   salt.modules.ini_manage
115220       Edit ini files
115221
115222       maintainer
115223              <akilesh1597@gmail.com>
115224
115225       maturity
115226              new
115227
115228       depends
115229              re
115230
115231       platform
115232              all
115233
115234       (for example /etc/sysctl.conf)
115235
115236       salt.modules.ini_manage.get_ini(file_name, separator=u'=')
115237              Retrieve  whole structure from an ini file and return it as dic‐
115238              tionary.
115239
115240              API Example:
115241
115242                 import salt
115243                 sc = salt.client.get_local_client()
115244                 sc.cmd('target', 'ini.get_ini',
115245                        [path_to_ini_file])
115246
115247              CLI Example:
115248
115249                 salt '*' ini.get_ini /path/to/ini
115250
115251       salt.modules.ini_manage.get_option(file_name, section, option,  separa‐
115252       tor=u'=')
115253              Get  value  of a key from a section in an ini file. Returns None
115254              if no matching key was found.
115255
115256              API Example:
115257
115258                 import salt
115259                 sc = salt.client.get_local_client()
115260                 sc.cmd('target', 'ini.get_option',
115261                        [path_to_ini_file, section_name, option])
115262
115263              CLI Example:
115264
115265                 salt '*' ini.get_option /path/to/ini section_name option_name
115266
115267       salt.modules.ini_manage.get_section(file_name, section, separator=u'=')
115268              Retrieve a section from an ini file. Returns the section as dic‐
115269              tionary.  If  the  section  is not found, an empty dictionary is
115270              returned.
115271
115272              API Example:
115273
115274                 import salt
115275                 sc = salt.client.get_local_client()
115276                 sc.cmd('target', 'ini.get_section',
115277                        [path_to_ini_file, section_name])
115278
115279              CLI Example:
115280
115281                 salt '*' ini.get_section /path/to/ini section_name
115282
115283       salt.modules.ini_manage.remove_option(file_name, section, option, sepa‐
115284       rator=u'=')
115285              Remove  a  key/value pair from a section in an ini file. Returns
115286              the value of the removed key, or None if nothing was removed.
115287
115288              API Example:
115289
115290                 import salt
115291                 sc = salt.client.get_local_client()
115292                 sc.cmd('target', 'ini.remove_option',
115293                        [path_to_ini_file, section_name, option])
115294
115295              CLI Example:
115296
115297                 salt '*' ini.remove_option /path/to/ini section_name option_name
115298
115299       salt.modules.ini_manage.remove_section(file_name,   section,    separa‐
115300       tor=u'=')
115301              Remove  a section in an ini file. Returns the removed section as
115302              dictionary, or None if nothing was removed.
115303
115304              API Example:
115305
115306                 import salt
115307                 sc = salt.client.get_local_client()
115308                 sc.cmd('target', 'ini.remove_section',
115309                        [path_to_ini_file, section_name])
115310
115311              CLI Example:
115312
115313                 salt '*' ini.remove_section /path/to/ini section_name
115314
115315       salt.modules.ini_manage.set_option(file_name,  sections=None,   separa‐
115316       tor=u'=')
115317              Edit an ini file, replacing one or more sections. Returns a dic‐
115318              tionary containing the changes made.
115319
115320              file_name
115321                     path of ini_file
115322
115323              sections
115324                     None A dictionary representing the sections to be  edited
115325                     ini  file  The  keys are the section names and the values
115326                     are the dictionary containing the options If the ini file
115327                     does  not  contain sections the keys and values represent
115328                     the options
115329
115330              separator
115331                     = A character used to separate keys and values.  Standard
115332                     ini files use the "=" character.
115333
115334                     New in version 2016.11.0.
115335
115336
115337              API Example:
115338
115339                 import salt
115340                 sc = salt.client.get_local_client()
115341                 sc.cmd('target', 'ini.set_option',
115342                        ['path_to_ini_file', '{"section_to_change": {"key": "value"}}'])
115343
115344              CLI Example:
115345
115346                 salt '*' ini.set_option /path/to/ini '{section_foo: {key: value}}'
115347
115348   salt.modules.inspectlib package
115349   Submodules
115350   salt.modules.inspectlib.collector module
115351       class  salt.modules.inspectlib.collector.Inspector(cachedir=None,  pid‐
115352       dir=None, pidfilename=None)
115353
115354              DEFAULT_MINION_CONFIG_PATH = '/etc/salt/minion'
115355
115356              IGNORE_FS_TYPES = ['autofs', 'cifs', 'nfs', 'nfs4']
115357
115358              IGNORE_MOUNTS   =   ['proc',   'sysfs',   'devtmpfs',   'tmpfs',
115359              'fuse.gvfs-fuse-daemon']
115360
115361              IGNORE_PATHS  =  ['/tmp', '/var/tmp', '/lost+found', '/var/run',
115362              '/var/lib/rpm',  '/.snapshots',  '/.zfs',  '/etc/ssh',  '/root',
115363              '/home']
115364
115365              MODE = ['configuration', 'payload', 'all']
115366
115367              build(format='qcow2', path='/tmp')
115368                     Build an image using Kiwi.
115369
115370                     Parameters
115371
115372                            · format --
115373
115374                            · path --
115375
115376                     Returns
115377
115378
115379              create_snapshot()
115380                     Open new snapshot.
115381
115382                     Returns
115383
115384
115385              export(description, local=False, path='/tmp', format='qcow2')
115386                     Export description for Kiwi.
115387
115388                     Parameters
115389
115390                            · local --
115391
115392                            · path --
115393
115394                     Returns
115395
115396
115397              request_snapshot(mode, priority=19, **kwargs)
115398                     Take a snapshot of the system.
115399
115400              reuse_snapshot()
115401                     Open an existing, latest snapshot.
115402
115403                     Returns
115404
115405
115406              snapshot(mode)
115407                     Take a snapshot of the system.
115408
115409       salt.modules.inspectlib.collector.is_alive(pidfile)
115410              Check if PID is still alive.
115411
115412       salt.modules.inspectlib.collector.main(dbfile, pidfile, mode)
115413              Main analyzer routine.
115414
115415   salt.modules.inspectlib.dbhandle module
115416       class salt.modules.inspectlib.dbhandle.DBHandle(path)
115417
115418       class salt.modules.inspectlib.dbhandle.DBHandleBase(path)
115419              Handle  for  the  volatile database, which serves the purpose of
115420              caching the inspected data. This database can  be  destroyed  or
115421              corrupted, so it should be simply re-created from scratch.
115422
115423              close()
115424                     Close the database connection.
115425
115426              flush(table)
115427                     Flush the table.
115428
115429              open(new=False)
115430                     Init the database, if required.
115431
115432              purge()
115433                     Purge whole database.
115434
115435   salt.modules.inspectlib.exceptions module
115436       exception  salt.modules.inspectlib.exceptions.InspectorKiwiProcessorEx‐
115437       ception
115438              Kiwi builder/exporter exception.
115439
115440       exception salt.modules.inspectlib.exceptions.InspectorQueryException
115441              Exception that is only for the inspector query.
115442
115443       exception salt.modules.inspectlib.exceptions.InspectorSnapshotException
115444              Snapshot exception.
115445
115446       exception salt.modules.inspectlib.exceptions.SIException
115447              System information exception.
115448
115449   salt.modules.inspectlib.query module
115450       class salt.modules.inspectlib.query.Query(scope, cachedir=None)
115451              Query the system.  This class is actually puts all Salt features
115452              together,  so  there  would  be  no need to pick it from various
115453              places.
115454
115455              SCOPES  =  ['changes',  'configuration',  'identity',  'system',
115456              'software', 'services', 'payload', 'all']
115457
115458       class salt.modules.inspectlib.query.SysInfo(systype)
115459              System information.
115460
115461   Module contents
115462       class   salt.modules.inspectlib.EnvLoader(cachedir=None,   piddir=None,
115463       pidfilename=None)
115464              Load environment.
115465
115466              DB_FILE = '_minion_collector.db'
115467
115468              DEFAULT_CACHE_PATH = '/var/cache/salt'
115469
115470              DEFAULT_PID_PATH = '/var/run'
115471
115472              PID_FILE = '_minion_collector.pid'
115473
115474   salt.modules.inspectlib.entities module
115475       class salt.modules.inspectlib.entities.AllowedDir
115476              Allowed directories
115477
115478       class salt.modules.inspectlib.entities.IgnoredDir
115479              Ignored directories
115480
115481       class salt.modules.inspectlib.entities.Package
115482              Package.
115483
115484       class salt.modules.inspectlib.entities.PackageCfgFile
115485              Config file, belongs to the package
115486
115487       class salt.modules.inspectlib.entities.PayloadFile
115488              Payload file.
115489
115490   salt.modules.inspectlib.fsdb module
115491       codeauthor
115492              Bo Maryniuk <bo@suse.de>
115493
115494       class salt.modules.inspectlib.fsdb.CsvDB(path)
115495              File-based CSV database.  This database is  in-memory  operating
115496              relatively small plain text csv files.
115497
115498              close()
115499                     Close the database.
115500
115501                     Returns
115502
115503
115504              create_table_from_object(obj)
115505                     Create  a  table  from  the  object.   NOTE:  This method
115506                     doesn't stores anything.
115507
115508                     Parameters
115509                            obj --
115510
115511                     Returns
115512
115513
115514              delete(obj, matches=None, mt=None, lt=None, eq=None)
115515                     Delete object from the database.
115516
115517                     Parameters
115518
115519                            · obj --
115520
115521                            · matches --
115522
115523                            · mt --
115524
115525                            · lt --
115526
115527                            · eq --
115528
115529                     Returns
115530
115531
115532              flush(table)
115533                     Flush table.
115534
115535                     Parameters
115536                            table --
115537
115538                     Returns
115539
115540
115541              get(obj, matches=None, mt=None, lt=None, eq=None)
115542                     Get objects from the table.
115543
115544                     Parameters
115545
115546                            · table_name --
115547
115548                            · matches -- Regexp.
115549
115550                            · mt -- More than.
115551
115552                            · lt -- Less than.
115553
115554                            · eq -- Equals.
115555
115556                     Returns
115557
115558
115559              is_closed()
115560                     Return if the database is closed.
115561
115562                     Returns
115563
115564
115565              list() List all the databases on the given path.
115566
115567                     Returns
115568
115569
115570              list_tables()
115571                     Load existing tables and their descriptions.
115572
115573                     Returns
115574
115575
115576              new()  Create a new database and opens it.
115577
115578                     Returns
115579
115580
115581              open(dbname=None)
115582                     Open database from the path with the name or latest.   If
115583                     there are no yet databases, create a new implicitly.
115584
115585                     Returns
115586
115587
115588              purge(dbid)
115589                     Purge the database.
115590
115591                     Parameters
115592                            dbid --
115593
115594                     Returns
115595
115596
115597              store(obj, distinct=False)
115598                     Store an object in the table.
115599
115600                     Parameters
115601
115602                            · obj -- An object to store
115603
115604                            · distinct  --  Store object only if there is none
115605                              identical of such.  If at  least  one  field  is
115606                              different, store it.
115607
115608                     Returns
115609
115610
115611              update(obj, matches=None, mt=None, lt=None, eq=None)
115612                     Update object(s) in the database.
115613
115614                     Parameters
115615
115616                            · obj --
115617
115618                            · matches --
115619
115620                            · mt --
115621
115622                            · lt --
115623
115624                            · eq --
115625
115626                     Returns
115627
115628
115629       class salt.modules.inspectlib.fsdb.CsvDBEntity
115630              Serializable object for the table.
115631
115632   salt.modules.inspectlib.kiwiproc module
115633       class salt.modules.inspectlib.kiwiproc.KiwiExporter(grains, format)
115634              Exports system description as Kiwi configuration.
115635
115636              export(name)
115637                     Export to the Kiwi config.xml as text.
115638
115639                     Returns
115640
115641
115642              load(**descr)
115643                     Load data by keys.
115644
115645                     Parameters
115646                            data --
115647
115648                     Returns
115649
115650
115651   salt.modules.inspector module
115652       Module for full system inspection.
115653
115654       salt.modules.inspector.build(format=u'qcow2', path=u'/tmp/')
115655              Build  an image from a current system description.  The image is
115656              a system image can be output in bootable ISO or QCOW2 formats.
115657
115658              Node uses the image building library Kiwi to perform the  actual
115659              build.
115660
115661              Parameters:
115662
115663              · format:  Specifies  output  format:  "qcow2" or "iso. Default:
115664                qcow2.
115665
115666              · path: Specifies  output  path  where  to  store  built  image.
115667                Default: /tmp.
115668
115669              CLI Example:
115670
115671                 salt myminion inspector.build
115672                 salt myminion inspector.build format=iso path=/opt/builds/
115673
115674       salt.modules.inspector.delete(all=False, *databases)
115675              Remove description snapshots from the system.
115676
115677              ::parameter:  all.  Default: False. Remove all snapshots, if set
115678              to True.
115679
115680              CLI example:
115681
115682                 salt myminion inspector.delete <ID> <ID1> <ID2>..
115683                 salt myminion inspector.delete all=True
115684
115685       salt.modules.inspector.export(local=False,      path=u'/tmp',      for‐
115686       mat=u'qcow2')
115687              Export an image description for Kiwi.
115688
115689              Parameters:
115690
115691              · local:  Specifies True or False if the export has to be in the
115692                local file. Default: False.
115693
115694              ·
115695
115696                path: If local=True, then specifies the path where  file  with
115697                the Kiwi description is written.
115698                       Default: /tmp.
115699
115700              CLI Example:
115701
115702                 salt myminion inspector.export
115703                 salt myminion inspector.export format=iso path=/opt/builds/
115704
115705       salt.modules.inspector.inspect(mode=u'all', priority=19, **kwargs)
115706              Start node inspection and save the data to the database for fur‐
115707              ther query.
115708
115709              Parameters:
115710
115711              · mode: Clarify inspection  mode:  configuration,  payload,  all
115712                (default)
115713
115714                payload
115715
115716                       · filter: Comma-separated directories to track payload.
115717
115718              · priority:  (advanced)  Set priority of the inspection. Default
115719                is low priority.
115720
115721              CLI Example:
115722
115723                 salt '*' inspector.inspect
115724                 salt '*' inspector.inspect configuration
115725                 salt '*' inspector.inspect payload filter=/opt,/ext/oracle
115726
115727       salt.modules.inspector.query(*args, **kwargs)
115728              Query the node for specific information.
115729
115730              Parameters:
115731
115732              · scope: Specify scope of the query.
115733
115734                   · System: Return system data.
115735
115736                   · Software: Return software information.
115737
115738                   · Services: Return known services.
115739
115740                   ·
115741
115742                     Identity: Return user accounts information for this  sys‐
115743                     tem.
115744
115745                            accounts
115746                                   Can  be  either  'local', 'remote' or 'all'
115747                                   (equal to "local,remote").  Remote accounts
115748                                   cannot be resolved on all systems, but only
115749                                   those, which supports 'passwd -S -a'.
115750
115751                            disabled
115752                                   True (or False,  default)  to  return  only
115753                                   disabled accounts.
115754
115755                   ·
115756
115757                     payload: Payload scope parameters:
115758
115759                            filter Include only results which path starts from
115760                                   the filter string.
115761
115762                            time   Display  time  in  Unix  ticks  or   format
115763                                   according  to  the  configured TZ (default)
115764                                   Values: ticks, tz (default)
115765
115766                            size   Format size. Values: B, KB, MB, GB
115767
115768                            type   Include payload type.  Values  (comma-sepa‐
115769                                   rated):  directory  (or  dir),  link,  file
115770                                   (default)  Example  (returns   everything):
115771                                   type=directory,link,file
115772
115773                            owners Resolve UID/GID to an actual names or leave
115774                                   them  numeric  (default).    Values:   name
115775                                   (default), id
115776
115777                            brief  Return  just a list of payload elements, if
115778                                   True. Default: False.
115779
115780                   · all: Return all information (default).
115781
115782              CLI Example:
115783
115784                 salt '*' inspector.query scope=system
115785                 salt '*' inspector.query scope=payload type=file,link filter=/etc size=Kb brief=False
115786
115787       salt.modules.inspector.snapshots()
115788              List current description snapshots.
115789
115790              CLI Example:
115791
115792                 salt myminion inspector.snapshots
115793
115794   salt.modules.introspect
115795       Functions to perform introspection on a minion, and return  data  in  a
115796       format usable by Salt States
115797
115798       salt.modules.introspect.enabled_service_owners()
115799              Return  which  packages  own  each of the services that are cur‐
115800              rently enabled.
115801
115802              CLI Example:
115803                 salt myminion introspect.enabled_service_owners
115804
115805       salt.modules.introspect.running_service_owners(exclude=(u'/dev',
115806       u'/home', u'/media', u'/proc', u'/run', u'/sys/', u'/tmp', u'/var'))
115807              Determine  which packages own the currently running services. By
115808              default, excludes files whose full path starts with /dev, /home,
115809              /media, /proc, /run, /sys, /tmp and /var. This can be overridden
115810              by passing in a new list to exclude.
115811
115812              CLI Example:
115813                 salt myminion introspect.running_service_owners
115814
115815       salt.modules.introspect.service_highstate(requires=True)
115816              Return running and enabled services in a highstate structure. By
115817              default  also  returns  package dependencies for those services,
115818              which means that package definitions  must  be  created  outside
115819              this function. To drop the package dependencies, set requires to
115820              False.
115821
115822              CLI Example:
115823                 salt  myminion  introspect.service_highstate  salt   myminion
115824                 introspect.service_highstate requires=False
115825
115826   salt.modules.iosconfig module
115827       Cisco IOS configuration manipulation helpers
115828
115829       New in version Fluorine.
115830
115831
115832       This  module  provides  a  collection of helper functions for Cisco IOS
115833       style configuration manipulation. This module does  not  have  external
115834       dependencies and can be used from any Proxy or regular Minion.
115835
115836       salt.modules.iosconfig.clean(config=None, path=None, saltenv=u'base')
115837              Return  a clean version of the config, without any special signs
115838              (such as ! as an individual line) or empty lines, but just lines
115839              with  significant  value  in  the  configuration  of the network
115840              device.
115841
115842              config The configuration sent as text. This argument is  ignored
115843                     when path is configured.
115844
115845              path   Absolute or remote path from where to load the configura‐
115846                     tion text. This argument  allows  any  URI  supported  by
115847                     cp.get_url), e.g., salt://, https://, s3://, ftp:/, etc.
115848
115849              saltenv: base
115850                     Salt  fileserver  environment  from which to retrieve the
115851                     file.  Ignored if path is not a salt:// URL.
115852
115853              CLI Example:
115854
115855                 salt '*' iosconfig.clean path=salt://path/to/my/config.txt
115856                 salt '*' iosconfig.clean path=https://bit.ly/2mAdq7z
115857
115858       salt.modules.iosconfig.diff_text(candidate_config=None,          candi‐
115859       date_path=None,         running_config=None,         running_path=None,
115860       saltenv=u'base')
115861              Return the diff, as text, between the candidate and the  running
115862              config.
115863
115864              candidate_config
115865                     The  candidate  configuration sent as text. This argument
115866                     is ignored when candidate_path is set.
115867
115868              candidate_path
115869                     Absolute or remote path from where to load the  candidate
115870                     configuration  text.  This  argument  allows any URI sup‐
115871                     ported by cp.get_url), e.g.,  salt://,  https://,  s3://,
115872                     ftp:/, etc.
115873
115874              running_config
115875                     The  running configuration sent as text. This argument is
115876                     ignored when running_path is set.
115877
115878              running_path
115879                     Absolute or remote path from where  to  load  the  runing
115880                     configuration  text.  This  argument  allows any URI sup‐
115881                     ported by cp.get_url), e.g.,  salt://,  https://,  s3://,
115882                     ftp:/, etc.
115883
115884              saltenv: base
115885                     Salt  fileserver  environment  from which to retrieve the
115886                     file.  Ignored if candidate_path or running_path is not a
115887                     salt:// URL.
115888
115889              CLI Example:
115890
115891                 salt '*' iosconfig.diff_text candidate_path=salt://path/to/candidate.cfg running_path=salt://path/to/running.cfg
115892
115893       salt.modules.iosconfig.diff_tree(candidate_config=None,          candi‐
115894       date_path=None,         running_config=None,         running_path=None,
115895       saltenv=u'base')
115896              Return the diff, as Python dictionary, between the candidate and
115897              the running configuration.
115898
115899              candidate_config
115900                     The candidate configuration sent as text.  This  argument
115901                     is ignored when candidate_path is set.
115902
115903              candidate_path
115904                     Absolute  or remote path from where to load the candidate
115905                     configuration text. This argument  allows  any  URI  sup‐
115906                     ported  by  cp.get_url),  e.g., salt://, https://, s3://,
115907                     ftp:/, etc.
115908
115909              running_config
115910                     The running configuration sent as text. This argument  is
115911                     ignored when running_path is set.
115912
115913              running_path
115914                     Absolute  or  remote  path  from where to load the runing
115915                     configuration text. This argument  allows  any  URI  sup‐
115916                     ported  by  cp.get_url),  e.g., salt://, https://, s3://,
115917                     ftp:/, etc.
115918
115919              saltenv: base
115920                     Salt fileserver environment from which  to  retrieve  the
115921                     file.  Ignored if candidate_path or running_path is not a
115922                     salt:// URL.
115923
115924              CLI Example:
115925
115926                 salt '*' iosconfig.diff_tree candidate_path=salt://path/to/candidate.cfg running_path=salt://path/to/running.cfg
115927
115928       salt.modules.iosconfig.merge_diff(initial_config=None,             ini‐
115929       tial_path=None, merge_config=None, merge_path=None, saltenv=u'base')
115930              Return  the  merge diff, as text, after merging the merge config
115931              into the initial config.
115932
115933              initial_config
115934                     The initial configuration sent as text. This argument  is
115935                     ignored when initial_path is set.
115936
115937              initial_path
115938                     Absolute  or  remote  path from where to load the initial
115939                     configuration text. This argument  allows  any  URI  sup‐
115940                     ported  by  cp.get_url),  e.g., salt://, https://, s3://,
115941                     ftp:/, etc.
115942
115943              merge_config
115944                     The config to be merged into the initial config, sent  as
115945                     text. This argument is ignored when merge_path is set.
115946
115947              merge_path
115948                     Absolute or remote path from where to load the merge con‐
115949                     figuration text. This argument allows any  URI  supported
115950                     by  cp.get_url),  e.g.,  salt://, https://, s3://, ftp:/,
115951                     etc.
115952
115953              saltenv: base
115954                     Salt fileserver environment from which  to  retrieve  the
115955                     file.   Ignored  if  initial_path  or merge_path is not a
115956                     salt:// URL.
115957
115958              CLI Example:
115959
115960                 salt '*' iosconfig.merge_diff initial_path=salt://path/to/running.cfg merge_path=salt://path/to/merge.cfg
115961
115962       salt.modules.iosconfig.merge_text(initial_config=None,             ini‐
115963       tial_path=None, merge_config=None, merge_path=None, saltenv=u'base')
115964              Return   the   merge  result  of  the  initial_config  with  the
115965              merge_config, as plain text.
115966
115967              initial_config
115968                     The initial configuration sent as text. This argument  is
115969                     ignored when initial_path is set.
115970
115971              initial_path
115972                     Absolute  or  remote  path from where to load the initial
115973                     configuration text. This argument  allows  any  URI  sup‐
115974                     ported  by  cp.get_url),  e.g., salt://, https://, s3://,
115975                     ftp:/, etc.
115976
115977              merge_config
115978                     The config to be merged into the initial config, sent  as
115979                     text. This argument is ignored when merge_path is set.
115980
115981              merge_path
115982                     Absolute or remote path from where to load the merge con‐
115983                     figuration text. This argument allows any  URI  supported
115984                     by  cp.get_url),  e.g.,  salt://, https://, s3://, ftp:/,
115985                     etc.
115986
115987              saltenv: base
115988                     Salt fileserver environment from which  to  retrieve  the
115989                     file.   Ignored  if  initial_path  or merge_path is not a
115990                     salt:// URL.
115991
115992              CLI Example:
115993
115994                 salt '*' iosconfig.merge_text initial_path=salt://path/to/running.cfg merge_path=salt://path/to/merge.cfg
115995
115996       salt.modules.iosconfig.merge_tree(initial_config=None,             ini‐
115997       tial_path=None, merge_config=None, merge_path=None, saltenv=u'base')
115998              Return  the merge tree of the initial_config with the merge_con‐
115999              fig, as a Python dictionary.
116000
116001              initial_config
116002                     The initial configuration sent as text. This argument  is
116003                     ignored when initial_path is set.
116004
116005              initial_path
116006                     Absolute  or  remote  path from where to load the initial
116007                     configuration text. This argument  allows  any  URI  sup‐
116008                     ported  by  cp.get_url),  e.g., salt://, https://, s3://,
116009                     ftp:/, etc.
116010
116011              merge_config
116012                     The config to be merged into the initial config, sent  as
116013                     text. This argument is ignored when merge_path is set.
116014
116015              merge_path
116016                     Absolute or remote path from where to load the merge con‐
116017                     figuration text. This argument allows any  URI  supported
116018                     by  cp.get_url),  e.g.,  salt://, https://, s3://, ftp:/,
116019                     etc.
116020
116021              saltenv: base
116022                     Salt fileserver environment from which  to  retrieve  the
116023                     file.   Ignored  if  initial_path  or merge_path is not a
116024                     salt:// URL.
116025
116026              CLI Example:
116027
116028                 salt '*' iosconfig.merge_tree initial_path=salt://path/to/running.cfg merge_path=salt://path/to/merge.cfg
116029
116030       salt.modules.iosconfig.tree(config=None,  path=None,   with_tags=False,
116031       saltenv=u'base')
116032              Transform  Cisco  IOS  style  configuration to structured Python
116033              dictionary.  Depending on the value of the  with_tags  argument,
116034              this function may provide different views, valuable in different
116035              situations.
116036
116037              config The configuration sent as text. This argument is  ignored
116038                     when path is configured.
116039
116040              path   Absolute or remote path from where to load the configura‐
116041                     tion text. This argument  allows  any  URI  supported  by
116042                     cp.get_url), e.g., salt://, https://, s3://, ftp:/, etc.
116043
116044              with_tags: False
116045                     Whether this function should return a detailed view, with
116046                     tags.
116047
116048              saltenv: base
116049                     Salt fileserver environment from which  to  retrieve  the
116050                     file.  Ignored if path is not a salt:// URL.
116051
116052              CLI Example:
116053
116054                 salt '*' iosconfig.tree path=salt://path/to/my/config.txt
116055                 salt '*' iosconfig.tree path=https://bit.ly/2mAdq7z
116056
116057   salt.modules.ipmi
116058       Support  IPMI commands over LAN. This module does not talk to the local
116059       systems hardware through IPMI drivers. It uses a python module pyghmi.
116060
116061       depends
116062              Python module pyghmi.  You can install pyghmi using pip:
116063
116064                 pip install pyghmi
116065
116066       configuration
116067              The following configuration defaults can be  define  (pillar  or
116068              config files):
116069
116070                 ipmi.config:
116071                     api_host: 127.0.0.1
116072                     api_user: admin
116073                     api_pass: apassword
116074                     api_port: 623
116075                     api_kg: None
116076
116077              Usage can override the config defaults:
116078
116079                 salt-call ipmi.get_user api_host=myipmienabled.system
116080                                         api_user=admin api_pass=pass
116081                                         uid=1
116082
116083       salt.modules.ipmi.create_user(uid,  name,  password,  channel=14, call‐
116084       back=False, link_auth=True,  ipmi_msg=True,  privilege_level=u'adminis‐
116085       trator', **kwargs)
116086              create/ensure a user is created with provided settings.
116087
116088              Parameters
116089
116090                     · privilege_level  --  User  Privilege Limit. (Determines
116091                       the maximum privilege level that the user is allowed to
116092                       switch to on the specified channel.)  * callback * user
116093                       * operator * administrator * proprietary * no_access
116094
116095                     · kwargs -- .INDENT 2.0
116096
116097                     · api_host=127.0.0.1
116098
116099                     · api_user=admin
116100
116101                     · api_pass=example
116102
116103                     · api_port=623
116104
116105                     · api_kg=None
116106
116107
116108       CLI Examples:
116109
116110                 salt-call ipmi.create_user uid=2 name=steverweber api_host=172.168.0.7 api_pass=nevertell
116111
116112       salt.modules.ipmi.fast_connect_test(**kwargs)
116113              Returns True if connection success.   This  uses  an  aggressive
116114              timeout value!
116115
116116              Parameters
116117                     kwargs -- .INDENT 7.0
116118
116119              · api_host=127.0.0.1
116120
116121              · api_user=admin
116122
116123              · api_pass=example
116124
116125              · api_port=623
116126
116127              · api_kg=None
116128
116129
116130       CLI Examples:
116131
116132                 salt-call ipmi.fast_connect_test api_host=172.168.0.9
116133
116134       salt.modules.ipmi.get_bootdev(**kwargs)
116135              Get current boot device override information.
116136
116137              Provides  the  current requested boot device.  Be aware that not
116138              all IPMI devices support this.  Even  in  BMCs  that  claim  to,
116139              occasionally  the BIOS or UEFI fail to honor it. This is usually
116140              only applicable to the next reboot.
116141
116142              Parameters
116143                     kwargs -- .INDENT 7.0
116144
116145              · api_host=127.0.0.1
116146
116147              · api_user=admin
116148
116149              · api_pass=example
116150
116151              · api_port=623
116152
116153              · api_kg=None
116154
116155
116156       CLI Example:
116157
116158                 salt-call ipmi.get_bootdev api_host=127.0.0.1 api_user=admin api_pass=pass
116159
116160       salt.modules.ipmi.get_channel_access(channel=14,
116161       read_mode=u'non_volatile', **kwargs)
116162              :param        kwargs:api_host='127.0.0.1'       api_user='admin'
116163              api_pass='example' api_port=623
116164
116165              Parameters
116166
116167                     · channel -- number [1:7]
116168
116169                     · read_mode -- .INDENT 2.0
116170
116171                     · non_volatile  = get non-volatile Channel Access
116172
116173                     · volatile      = get present volatile  (active)  setting
116174                       of Channel Access
116175
116176
116177              · kwargs -- .INDENT 2.0
116178
116179              · api_host=127.0.0.1
116180
116181              · api_user=admin
116182
116183              · api_pass=example
116184
116185              · api_port=623
116186
116187              · api_kg=None
116188
116189
116190Return Data
116191                 A Python dict with the following keys/values:
116192
116193                     {
116194                         alerting:
116195                         per_msg_auth:
116196                         user_level_auth:
116197                         access_mode:{ (ONE OF)
116198                             0: 'disabled',
116199                             1: 'pre_boot',
116200                             2: 'always',
116201                             3: 'shared'
116202                         }
116203                         privilege_level: { (ONE OF)
116204                             1: 'callback',
116205                             2: 'user',
116206                             3: 'operator',
116207                             4: 'administrator',
116208                             5: 'proprietary',
116209                         }
116210                     }
116211
116212              CLI Examples:
116213
116214                 salt-call ipmi.get_channel_access channel=1
116215
116216       salt.modules.ipmi.get_channel_info(channel=14, **kwargs)
116217              Get channel info
116218
116219              Parameters
116220
116221                     · channel -- number [1:7]
116222
116223                     · kwargs -- .INDENT 2.0
116224
116225                     · api_host=127.0.0.1
116226
116227                     · api_user=admin
116228
116229                     · api_pass=example
116230
116231                     · api_port=623
116232
116233                     · api_kg=None
116234
116235
116236              Return Data
116237                     channel session supports
116238
116239                        - no_session: channel is session-less
116240                        - single: channel is single-session
116241                        - multi: channel is multi-session
116242                        - auto: channel is session-based (channel could alternate between
116243                            single- and multi-session operation, as can occur with a
116244                            serial/modem channel that supports connection mode auto-detect)
116245
116246              CLI Examples:
116247
116248                 salt-call ipmi.get_channel_info
116249
116250       salt.modules.ipmi.get_channel_max_user_count(channel=14, **kwargs)
116251              Get max users in channel
116252
116253              Parameters
116254
116255                     · channel -- number [1:7]
116256
116257                     · kwargs -- .INDENT 2.0
116258
116259                     · api_host=127.0.0.1
116260
116261                     · api_user=admin
116262
116263                     · api_pass=example
116264
116265                     · api_port=623
116266
116267                     · api_kg=None
116268
116269
116270       Returns
116271              int -- often 16
116272
116273       CLI Examples:
116274
116275                 salt-call ipmi.get_channel_max_user_count
116276
116277       salt.modules.ipmi.get_health(**kwargs)
116278              Get Summarize health
116279
116280              This provides a summary of the health of the managed system.  It
116281              additionally provides an iterable list of reasons  for  warning,
116282              critical, or failed assessments.
116283
116284              good health: {'badreadings': [], 'health': 0}
116285
116286              Parameters
116287                     kwargs -- .INDENT 7.0
116288
116289              · api_host=127.0.0.1
116290
116291              · api_user=admin
116292
116293              · api_pass=example
116294
116295              · api_port=623
116296
116297              · api_kg=None
116298
116299
116300       CLI Example:
116301
116302                 salt-call ipmi.get_health api_host=127.0.0.1 api_user=admin api_pass=pass
116303
116304       salt.modules.ipmi.get_power(**kwargs)
116305              Get current power state
116306
116307              The response, if successful, should contain 'powerstate' key and
116308              either 'on' or 'off' to indicate current state.
116309
116310              Parameters
116311                     kwargs -- .INDENT 7.0
116312
116313              · api_host=127.0.0.1
116314
116315              · api_user=admin
116316
116317              · api_pass=example
116318
116319              · api_port=623
116320
116321              · api_kg=None
116322
116323
116324       CLI Example:
116325
116326                 salt-call ipmi.get_power api_host=127.0.0.1 api_user=admin api_pass=pass
116327
116328       salt.modules.ipmi.get_sensor_data(**kwargs)
116329              Get sensor readings
116330
116331              Iterates sensor reading objects
116332
116333              Parameters
116334                     kwargs -- .INDENT 7.0
116335
116336              · api_host=127.0.0.1
116337
116338              · api_user=admin
116339
116340              · api_pass=example
116341
116342              · api_port=623
116343
116344              · api_kg=None
116345
116346
116347       CLI Example:
116348
116349                 salt-call ipmi.get_sensor_data api_host=127.0.0.1 api_user=admin api_pass=pass
116350
116351       salt.modules.ipmi.get_user(uid, channel=14, **kwargs)
116352              Get user from uid and access on channel
116353
116354              Parameters
116355
116356                     · uid -- user number [1:16]
116357
116358                     · channel -- number [1:7]
116359
116360                     · kwargs -- .INDENT 2.0
116361
116362                     · api_host=127.0.0.1
116363
116364                     · api_user=admin
116365
116366                     · api_pass=example
116367
116368                     · api_port=623
116369
116370                     · api_kg=None
116371
116372
116373       Return Data
116374
116375                 name: (str)
116376                 uid: (int)
116377                 channel: (int)
116378                 access:
116379                     - callback (bool)
116380                     - link_auth (bool)
116381                     - ipmi_msg (bool)
116382                     - privilege_level: (str)[callback, user, operatorm administrator,
116383                                             proprietary, no_access]
116384
116385              CLI Examples:
116386
116387                 salt-call ipmi.get_user uid=2
116388
116389       salt.modules.ipmi.get_user_access(uid, channel=14, **kwargs)
116390              Get user access
116391
116392              Parameters
116393
116394                     · uid -- user number [1:16]
116395
116396                     · channel -- number [1:7]
116397
116398                     · kwargs -- .INDENT 2.0
116399
116400                     · api_host=127.0.0.1
116401
116402                     · api_user=admin
116403
116404                     · api_pass=example
116405
116406                     · api_port=623
116407
116408                     · api_kg=None
116409
116410
116411       Return Data
116412
116413                 channel_info:
116414                     - max_user_count = maximum number of user IDs on this channel
116415                     - enabled_users = count of User ID slots presently in use
116416                     - users_with_fixed_names = count of user IDs with fixed names
116417                 access:
116418                     - callback
116419                     - link_auth
116420                     - ipmi_msg
116421                     - privilege_level: [reserved, callback, user, operator
116422                                        administrator, proprietary, no_access]
116423
116424              CLI Examples:
116425
116426                 salt-call ipmi.get_user_access uid=2
116427
116428       salt.modules.ipmi.get_user_name(uid,         return_none_on_error=True,
116429       **kwargs)
116430              Get user name
116431
116432              Parameters
116433
116434                     · uid -- user number [1:16]
116435
116436                     · return_none_on_error -- return None on error
116437
116438                     · kwargs -- .INDENT 2.0
116439
116440                     · api_host=127.0.0.1
116441
116442                     · api_user=admin
116443
116444                     · api_pass=example
116445
116446                     · api_port=623
116447
116448                     · api_kg=None
116449
116450
116451       CLI Examples:
116452
116453                 salt-call ipmi.get_user_name uid=2
116454
116455       salt.modules.ipmi.get_users(channel=14, **kwargs)
116456              get list of users and access information
116457
116458              Parameters
116459
116460                     · channel -- number [1:7]
116461
116462                     · kwargs -- .INDENT 2.0
116463
116464                     · api_host=127.0.0.1
116465
116466                     · api_user=admin
116467
116468                     · api_pass=example
116469
116470                     · api_port=623
116471
116472                     · api_kg=None
116473
116474
116475       Returns
116476
116477              · name: (str)
116478
116479              · uid: (int)
116480
116481              · channel: (int)
116482
116483              ·
116484
116485                access:
116486
116487                       · callback (bool)
116488
116489                       · link_auth (bool)
116490
116491                       · ipmi_msg (bool)
116492
116493                       · privilege_level:   (str)[callback,   user,  operatorm
116494                         administrator, proprietary, no_access]
116495
116496
116497       CLI Examples:
116498
116499                 salt-call ipmi.get_users api_host=172.168.0.7
116500
116501       salt.modules.ipmi.raw_command(netfn,   command,    bridge_request=None,
116502       data=(), retry=True, delay_xmit=None, **kwargs)
116503              Send raw ipmi command
116504
116505              This allows arbitrary IPMI bytes to be issued.  This is commonly
116506              used for certain vendor specific commands.
116507
116508              Parameters
116509
116510                     · netfn -- Net function number
116511
116512                     · command -- Command value
116513
116514                     · bridge_request -- The target slave address and  channel
116515                       number for the bridge request.
116516
116517                     · data -- Command data as a tuple or list
116518
116519                     · kwargs -- .INDENT 2.0
116520
116521                     · api_host=127.0.0.1
116522
116523                     · api_user=admin
116524
116525                     · api_pass=example
116526
116527                     · api_port=623
116528
116529                     · api_kg=None
116530
116531
116532       Returns
116533              dict -- The response from IPMI device
116534
116535       CLI Examples:
116536
116537                 salt-call ipmi.raw_command netfn=0x06 command=0x46 data=[0x02]
116538                 # this will return the name of the user with id 2 in bytes
116539
116540       salt.modules.ipmi.set_bootdev(bootdev=u'default',  persist=False, uefi‐
116541       boot=False, **kwargs)
116542              Set boot device to use on next reboot
116543
116544              Parameters
116545
116546                     · bootdev -- .INDENT 2.0
116547
116548                     · network: Request network boot
116549
116550                     · hd: Boot from hard drive
116551
116552                     · safe: Boot from hard drive, requesting 'safe mode'
116553
116554                     · optical: boot from CD/DVD/BD drive
116555
116556                     · setup: Boot into setup utility
116557
116558                     · default: remove any IPMI directed boot device request
116559
116560
116561              · persist -- If true, ask that system firmware use  this  device
116562                beyond next boot.  Be aware many systems do not honor this
116563
116564              · uefiboot  --  If true, request UEFI boot explicitly.  Strictly
116565                speaking, the spec suggests that if not set, the system should
116566                BIOS  boot  and  offers  no "don't care" option.  In practice,
116567                this flag not being set does not preclude  UEFI  boot  on  any
116568                system I've encountered.
116569
116570              · kwargs -- .INDENT 2.0
116571
116572              · api_host=127.0.0.1
116573
116574              · api_user=admin
116575
116576              · api_pass=example
116577
116578              · api_port=623
116579
116580              · api_kg=None
116581
116582
116583       Returns
116584              dict or True -- If callback is not provided, the response
116585
116586CLI Examples:
116587
116588                 salt-call ipmi.set_bootdev bootdev=network persist=True
116589
116590       salt.modules.ipmi.set_channel_access(channel=14,
116591       access_update_mode=u'non_volatile', alerting=False, per_msg_auth=False,
116592       user_level_auth=False,           access_mode=u'always',          privi‐
116593       lege_update_mode=u'non_volatile',     privilege_level=u'administrator',
116594       **kwargs)
116595              Set channel access
116596
116597              Parameters
116598
116599                     · channel -- number [1:7]
116600
116601                     · access_update_mode -- .INDENT 2.0
116602
116603                     · 'dont_change'  = don't set or change Channel Access
116604
116605                     · 'non_volatile' = set non-volatile Channel Access
116606
116607                     · 'volatile'     = set volatile (active) setting of Chan‐
116608                       nel Access
116609
116610
116611              · alerting --
116612
116613                PEF Alerting Enable/Disable
116614
116615                · True  = enable PEF Alerting
116616
116617                · False = disable PEF Alerting on this channel (Alert  Immedi‐
116618                  ate command can still be used to generate alerts)
116619
116620
116621              · per_msg_auth --
116622
116623                Per-message Authentication
116624
116625                · True  = enable
116626
116627                · False  = disable Per-message Authentication. [Authentication
116628                  required to  activate  any  session  on  this  channel,  but
116629                  authentication  not  used on subsequent packets for the ses‐
116630                  sion.]
116631
116632
116633              · user_level_auth --
116634
116635                User Level Authentication Enable/Disable
116636
116637                · True  = enable User Level  Authentication.  All  User  Level
116638                  commands are to be authenticated per the Authentication Type
116639                  that was negotiated when the session was activated.
116640
116641                · False = disable User Level Authentication. Allow User  Level
116642                  commands to be executed without being authenticated.  If the
116643                  option to  disable  User  Level  Command  authentication  is
116644                  accepted,  the  BMC  will accept packets with Authentication
116645                  Type set to None if they contain user level  commands.   For
116646                  outgoing  packets,  the  BMC returns responses with the same
116647                  Authentication Type that was used for the request.
116648
116649
116650              · access_mode --
116651
116652                Access Mode for IPMI messaging (PEF Alerting  is  enabled/dis‐
116653                abled separately from IPMI messaging)
116654
116655                · disabled = disabled for IPMI messaging
116656
116657                · pre_boot  = pre-boot only channel only available when system
116658                  is in a powered down state or in  BIOS  prior  to  start  of
116659                  boot.
116660
116661                · always    =  channel  always  available regardless of system
116662                  mode.  BIOS typically dedicates the serial connection to the
116663                  BMC.
116664
116665                · shared    =  same  as  always  available, but BIOS typically
116666                  leaves the serial port available for software use.
116667
116668
116669              · privilege_update_mode --
116670
116671                Channel Privilege Level Limit. This  value  sets  the  maximum
116672                privilege level that can be accepted on the specified channel.
116673
116674                · dont_change   =  don't set or change channel Privilege Level
116675                  Limit
116676
116677                · non_volatile = non-volatile Privilege Level Limit according
116678
116679                · volatile     = volatile setting of Privilege Level Limit
116680
116681
116682              · privilege_level --
116683
116684                Channel Privilege Level Limit
116685
116686                · reserved      = unused
116687
116688                · callback
116689
116690                · user
116691
116692                · operator
116693
116694                · administrator
116695
116696                · proprietary   = used by OEM
116697
116698
116699              · kwargs -- .INDENT 2.0
116700
116701              · api_host=127.0.0.1
116702
116703              · api_user=admin
116704
116705              · api_pass=example
116706
116707              · api_port=623
116708
116709              · api_kg=None
116710
116711
116712CLI Examples:
116713
116714                 salt-call ipmi.set_channel_access privilege_level='administrator'
116715
116716       salt.modules.ipmi.set_identify(on=True, duration=600, **kwargs)
116717              Request identify light
116718
116719              Request the identify light to turn off, on for a duration, or on
116720              indefinitely.  Other than error exceptions,
116721
116722              Parameters
116723
116724                     · on -- Set to True to force on or False to force off
116725
116726                     · duration  --  Set  if  wanting to request turn on for a
116727                       duration in seconds, None = indefinitely.
116728
116729                     · kwargs -- .INDENT 2.0
116730
116731                     · api_host=127.0.0.1
116732
116733                     · api_user=admin
116734
116735                     · api_pass=example
116736
116737                     · api_port=623
116738
116739                     · api_kg=None
116740
116741
116742       CLI Examples:
116743
116744                 salt-call ipmi.set_identify
116745
116746       salt.modules.ipmi.set_power(state=u'power_on', wait=True, **kwargs)
116747              Request power state change
116748
116749              Parameters
116750
116751                     · name -- .INDENT 2.0
116752
116753                     · power_on -- system turn on
116754
116755                     · power_off -- system turn off (without waiting for OS)
116756
116757                     · shutdown -- request OS proper shutdown
116758
116759                     · reset -- reset (without waiting for OS)
116760
116761                     · boot -- If system is off, then 'on', else 'reset'
116762
116763
116764              · ensure -- If (bool True), do not return until system  actually
116765                completes  requested  state  change  for  300  seconds.   If a
116766                non-zero (int), adjust the wait time to the  requested  number
116767                of seconds
116768
116769              · kwargs -- .INDENT 2.0
116770
116771              · api_host=127.0.0.1
116772
116773              · api_user=admin
116774
116775              · api_pass=example
116776
116777              · api_port=623
116778
116779              · api_kg=None
116780
116781
116782       Returns
116783              dict -- A dict describing the response retrieved
116784
116785CLI Examples:
116786
116787                 salt-call ipmi.set_power state=shutdown wait=True
116788
116789       salt.modules.ipmi.set_user_access(uid,    channel=14,    callback=True,
116790       link_auth=True,    ipmi_msg=True,     privilege_level=u'administrator',
116791       **kwargs)
116792              Set user access
116793
116794              Parameters
116795
116796                     · uid -- user number [1:16]
116797
116798                     · channel -- number [1:7]
116799
116800                     · callback --
116801
116802                       User Restricted to Callback
116803
116804                       · False  =  User  Privilege  Limit is determined by the
116805                         User Privilege Limit parameter, below, for both call‐
116806                         back and non-callback connections.
116807
116808                       · True   =  User  Privilege  Limit is determined by the
116809                         User Privilege Limit parameter for  callback  connec‐
116810                         tions,  but  is  restricted  to  Callback  level  for
116811                         non-callback connections. Thus, a user can only  ini‐
116812                         tiate  a Callback when they 'call in' to the BMC, but
116813                         once the callback connection has been made, the  user
116814                         could potentially establish a session as an Operator.
116815
116816
116817                     · link_auth  --  User  Link authentication enable/disable
116818                       (used to enable whether this user's name  and  password
116819                       information  will be used for link authentication, e.g.
116820                       PPP CHAP) for the given  channel.  Link  authentication
116821                       itself  is  a  global  setting  for  the channel and is
116822                       enabled/disabled  via  the  serial/modem  configuration
116823                       parameters.
116824
116825                     · ipmi_msg  --  User IPMI Messaging: (used to enable/dis‐
116826                       able whether this user's name and password  information
116827                       will  be  used  for IPMI Messaging. In this case, 'IPMI
116828                       Messaging' refers to the  ability  to  execute  generic
116829                       IPMI commands that are not associated with a particular
116830                       payload type. For example, if IPMI  Messaging  is  dis‐
116831                       abled for a user, but that user is enabled for activat‐
116832                       ing the SOL payload type, then IPMI commands associated
116833                       with  SOL  and session management, such as Get SOL Con‐
116834                       figuration Parameters and Close Session are  available,
116835                       but  generic  IPMI  commands  such  as Get SEL Time are
116836                       unavailable.)
116837
116838                     · privilege_level --
116839
116840                       User Privilege Limit. (Determines the maximum privilege
116841                       level  that  the  user  is  allowed to switch to on the
116842                       specified channel.)
116843
116844                       · callback
116845
116846                       · user
116847
116848                       · operator
116849
116850                       · administrator
116851
116852                       · proprietary
116853
116854                       · no_access
116855
116856
116857                     · kwargs -- .INDENT 2.0
116858
116859                     · api_host=127.0.0.1
116860
116861                     · api_user=admin
116862
116863                     · api_pass=example
116864
116865                     · api_port=623
116866
116867                     · api_kg=None
116868
116869
116870       CLI Examples:
116871
116872                 salt-call ipmi.set_user_access uid=2 privilege_level='operator'
116873
116874       salt.modules.ipmi.set_user_name(uid, name, **kwargs)
116875              Set user name
116876
116877              Parameters
116878
116879                     · uid -- user number [1:16]
116880
116881                     · name -- username (limit of 16bytes)
116882
116883                     · kwargs -- .INDENT 2.0
116884
116885                     · api_host=127.0.0.1
116886
116887                     · api_user=admin
116888
116889                     · api_pass=example
116890
116891                     · api_port=623
116892
116893                     · api_kg=None
116894
116895
116896       CLI Examples:
116897
116898                 salt-call ipmi.set_user_name uid=2 name='steverweber'
116899
116900       salt.modules.ipmi.set_user_password(uid,  mode=u'set_password',   pass‐
116901       word=None, **kwargs)
116902              Set user password and (modes)
116903
116904              Parameters
116905
116906                     · uid -- id number of user.  see: get_names_uid()['name']
116907
116908                     · mode -- .INDENT 2.0
116909
116910                     · disable       = disable user connections
116911
116912                     · enable        = enable user connections
116913
116914                     · set_password  = set or ensure password
116915
116916                     · test_password = test password is correct
116917
116918
116919              · password -- max 16 char string (optional when mode is [disable
116920                or enable])
116921
116922              · kwargs -- .INDENT 2.0
116923
116924              · api_host=127.0.0.1
116925
116926              · api_user=admin
116927
116928              · api_pass=example
116929
116930              · api_port=623
116931
116932              · api_kg=None
116933
116934
116935       Returns
116936              True on success when mode = test_password, return False  on  bad
116937              password
116938
116939CLI Example:
116940
116941                 salt-call ipmi.set_user_password api_host=127.0.0.1 api_user=admin api_pass=pass
116942                                                  uid=1 password=newPass
116943                 salt-call ipmi.set_user_password uid=1 mode=enable
116944
116945       salt.modules.ipmi.user_delete(uid, channel=14, **kwargs)
116946              Delete user (helper)
116947
116948              Parameters
116949
116950                     · uid -- user number [1:16]
116951
116952                     · channel -- number [1:7]
116953
116954                     · kwargs -- .INDENT 2.0
116955
116956                     · api_host=127.0.0.1
116957
116958                     · api_user=admin
116959
116960                     · api_pass=example
116961
116962                     · api_port=623
116963
116964                     · api_kg=None
116965
116966
116967       CLI Examples:
116968
116969                 salt-call ipmi.user_delete uid=2
116970
116971   salt.modules.ipset
116972       Support for ipset
116973
116974       salt.modules.ipset.add(setname=None,     entry=None,    family=u'ipv4',
116975       **kwargs)
116976              Append an entry to the specified set.
116977
116978              CLI Example:
116979
116980                 salt '*' ipset.add setname 192.168.1.26
116981
116982                 salt '*' ipset.add setname 192.168.0.3,AA:BB:CC:DD:EE:FF
116983
116984       salt.modules.ipset.check(set=None, entry=None, family=u'ipv4')
116985              Check that an entry exists in the specified set.
116986
116987              set    The ipset name
116988
116989              entry  An entry in the ipset.  This parameter can be a single IP
116990                     address,  a  range  of  IP  addresses, or a subnet block.
116991                     Example:
116992
116993                        192.168.0.1
116994                        192.168.0.2-192.168.0.19
116995                        192.168.0.0/25
116996
116997              family IP protocol version: ipv4 or ipv6
116998
116999              CLI Example:
117000
117001                 salt '*' ipset.check setname '192.168.0.1 comment "Hello"'
117002
117003       salt.modules.ipset.check_set(set=None, family=u'ipv4')
117004              Check that given ipset set exists.
117005
117006              New in version 2014.7.0.
117007
117008
117009              CLI Example:
117010
117011                 salt '*' ipset.check_set setname
117012
117013       salt.modules.ipset.delete(set=None,     entry=None,     family=u'ipv4',
117014       **kwargs)
117015              Delete an entry from the specified set.
117016
117017              CLI Example:
117018
117019                 salt '*' ipset.delete setname 192.168.0.3,AA:BB:CC:DD:EE:FF
117020
117021       salt.modules.ipset.delete_set(set=None, family=u'ipv4')
117022              New in version 2014.7.0.
117023
117024
117025              Delete ipset set.
117026
117027              CLI Example:
117028
117029                 salt '*' ipset.delete_set custom_set
117030
117031                 IPv6:
117032                 salt '*' ipset.delete_set custom_set family=ipv6
117033
117034       salt.modules.ipset.flush(set=None, family=u'ipv4')
117035              Flush entries in the specified set, Flush all sets if set is not
117036              specified.
117037
117038              CLI Example:
117039
117040                 salt '*' ipset.flush
117041
117042                 salt '*' ipset.flush set
117043
117044                 IPv6:
117045                 salt '*' ipset.flush
117046
117047                 salt '*' ipset.flush set
117048
117049       salt.modules.ipset.list_sets(family=u'ipv4')
117050              New in version 2014.7.0.
117051
117052
117053              List all ipset sets.
117054
117055              CLI Example:
117056
117057                 salt '*' ipset.list_sets
117058
117059       salt.modules.ipset.long_range(start, end)
117060
117061       salt.modules.ipset.new_set(set=None,   set_type=None,   family=u'ipv4',
117062       comment=False, **kwargs)
117063              New in version 2014.7.0.
117064
117065
117066              Create new custom set
117067
117068              CLI Example:
117069
117070                 salt '*' ipset.new_set custom_set list:set
117071
117072                 salt '*' ipset.new_set custom_set list:set comment=True
117073
117074                 IPv6:
117075                 salt '*' ipset.new_set custom_set list:set family=ipv6
117076
117077       salt.modules.ipset.rename_set(set=None, new_set=None, family=u'ipv4')
117078              New in version 2014.7.0.
117079
117080
117081              Delete ipset set.
117082
117083              CLI Example:
117084
117085                 salt '*' ipset.rename_set custom_set new_set=new_set_name
117086
117087                 IPv6:
117088                 salt '*' ipset.rename_set custom_set new_set=new_set_name family=ipv6
117089
117090       salt.modules.ipset.test(set=None, entry=None, family=u'ipv4', **kwargs)
117091              Test if an entry is in the specified set.
117092
117093              CLI Example:
117094
117095                 salt '*' ipset.test setname 192.168.0.2
117096
117097                 IPv6:
117098                 salt '*' ipset.test setname fd81:fc56:9ac7::/48
117099
117100       salt.modules.ipset.version()
117101              Return version from ipset --version
117102
117103              CLI Example:
117104
117105                 salt '*' ipset.version
117106
117107   salt.modules.iptables
117108       Support for iptables
117109
117110   Configuration Options
117111       The  following options can be set in the minion config, grains, pillar,
117112       or master config. The configuration is read using config.get.
117113
117114       · iptables.save_filters: List of REGEX strings to FILTER  OUT  matching
117115         lines
117116
117117         This  is  useful for filtering out chains, rules, etc that you do not
117118         wish to persist, such as ephemeral Docker rules.
117119
117120         The default is to not filter out anything.
117121
117122            iptables.save_filters:
117123              - "-j CATTLE_PREROUTING"
117124              - "-j DOCKER"
117125              - "-A POSTROUTING"
117126              - "-A CATTLE_POSTROUTING"
117127              - "-A FORWARD"
117128
117129       salt.modules.iptables.append(table=u'filter',  chain=None,   rule=None,
117130       family=u'ipv4')
117131              Append a rule to the specified table/chain.
117132
117133              This function accepts a rule in a standard iptables command for‐
117134              mat,
117135                     starting with the chain. Trying to force users  to  adapt
117136                     to  a new method of creating rules would be irritating at
117137                     best, and we already have a parser that can handle it.
117138
117139              CLI Example:
117140
117141                 salt '*' iptables.append filter INPUT \
117142                     rule='-m state --state RELATED,ESTABLISHED -j ACCEPT'
117143
117144                 IPv6:
117145                 salt '*' iptables.append filter INPUT \
117146                     rule='-m state --state RELATED,ESTABLISHED -j ACCEPT' \
117147                     family=ipv6
117148
117149       salt.modules.iptables.build_rule(table=u'filter',   chain=None,    com‐
117150       mand=None, position=u'', full=None, family=u'ipv4', **kwargs)
117151              Build  a  well-formatted  iptables rule based on kwargs. A table
117152              and chain are not required, unless full is True.
117153
117154              If full is True, then table, chain  and  command  are  required.
117155              command  may  be  specified  as either a short option ('I') or a
117156              long option (--insert). This will return the  iptables  command,
117157              exactly as it would be used from the command line.
117158
117159              If  a  position is required (as with -I or -D), it may be speci‐
117160              fied as position. This will only be useful if full is True.
117161
117162              If state is passed, it  will  be  ignored,  use  connstate.   If
117163              connstate  is  passed  in,  it  will automatically be changed to
117164              state.
117165
117166              To pass in jump options that doesn't take arguments, pass in  an
117167              empty string.
117168
117169              NOTE:
117170                 Whereas iptables will accept -p, --proto[c[o[l]]] as synonyms
117171                 of --protocol, if --proto  appears  in  an  iptables  command
117172                 after  the  appearance of -m policy, it is interpreted as the
117173                 --proto  option  of  the  policy  extension  (see  the  ipta‐
117174                 bles-extensions(8) man page).
117175
117176              CLI Examples:
117177
117178                 salt '*' iptables.build_rule match=state \
117179                     connstate=RELATED,ESTABLISHED jump=ACCEPT
117180
117181                 salt '*' iptables.build_rule filter INPUT command=I position=3 \
117182                     full=True match=state connstate=RELATED,ESTABLISHED jump=ACCEPT
117183
117184                 salt '*' iptables.build_rule filter INPUT command=A \
117185                     full=True match=state connstate=RELATED,ESTABLISHED \
117186                     source='127.0.0.1' jump=ACCEPT
117187
117188                 .. Invert Rules
117189                 salt '*' iptables.build_rule filter INPUT command=A \
117190                     full=True match=state connstate=RELATED,ESTABLISHED \
117191                     source='!127.0.0.1' jump=ACCEPT
117192
117193                 salt '*' iptables.build_rule filter INPUT command=A \
117194                     full=True match=state connstate=RELATED,ESTABLISHED \
117195                     destination='not 127.0.0.1' jump=ACCEPT
117196
117197                 IPv6:
117198                 salt '*' iptables.build_rule match=state \
117199                     connstate=RELATED,ESTABLISHED jump=ACCEPT \
117200                     family=ipv6
117201                 salt '*' iptables.build_rule filter INPUT command=I position=3 \
117202                     full=True match=state connstate=RELATED,ESTABLISHED jump=ACCEPT \
117203                     family=ipv6
117204
117205       salt.modules.iptables.check(table=u'filter',   chain=None,   rule=None,
117206       family=u'ipv4')
117207              Check for the existence of a rule in the table and chain
117208
117209              This function accepts a rule in a standard iptables command for‐
117210              mat,
117211                     starting  with  the chain. Trying to force users to adapt
117212                     to a new method of creating rules would be irritating  at
117213                     best, and we already have a parser that can handle it.
117214
117215              CLI Example:
117216
117217                 salt '*' iptables.check filter INPUT \
117218                     rule='-m state --state RELATED,ESTABLISHED -j ACCEPT'
117219
117220                 IPv6:
117221                 salt '*' iptables.check filter INPUT \
117222                     rule='-m state --state RELATED,ESTABLISHED -j ACCEPT' \
117223                     family=ipv6
117224
117225       salt.modules.iptables.check_chain(table=u'filter',   chain=None,   fam‐
117226       ily=u'ipv4')
117227              New in version 2014.1.0.
117228
117229
117230              Check for the existence of a chain in the table
117231
117232              CLI Example:
117233
117234                 salt '*' iptables.check_chain filter INPUT
117235
117236                 IPv6:
117237                 salt '*' iptables.check_chain filter INPUT family=ipv6
117238
117239       salt.modules.iptables.delete(table,     chain=None,      position=None,
117240       rule=None, family=u'ipv4')
117241
117242              Delete  a rule from the specified table/chain, specifying either
117243              the rule
117244                     in its entirety, or the rule's position in the chain.
117245
117246              This function accepts a rule in a standard iptables command for‐
117247              mat,
117248                     starting  with  the chain. Trying to force users to adapt
117249                     to a new method of creating rules would be irritating  at
117250                     best, and we already have a parser that can handle it.
117251
117252              CLI Examples:
117253
117254                 salt '*' iptables.delete filter INPUT position=3
117255                 salt '*' iptables.delete filter INPUT \
117256                     rule='-m state --state RELATED,ESTABLISHED -j ACCEPT'
117257
117258                 IPv6:
117259                 salt '*' iptables.delete filter INPUT position=3 family=ipv6
117260                 salt '*' iptables.delete filter INPUT \
117261                     rule='-m state --state RELATED,ESTABLISHED -j ACCEPT' \
117262                     family=ipv6
117263
117264       salt.modules.iptables.delete_chain(table=u'filter',   chain=None,  fam‐
117265       ily=u'ipv4')
117266              New in version 2014.1.0.
117267
117268
117269              Delete custom chain to the specified table.
117270
117271              CLI Example:
117272
117273                 salt '*' iptables.delete_chain filter CUSTOM_CHAIN
117274
117275                 IPv6:
117276                 salt '*' iptables.delete_chain filter CUSTOM_CHAIN family=ipv6
117277
117278       salt.modules.iptables.flush(table=u'filter', chain=u'', family=u'ipv4')
117279              Flush the chain in the specified table, flush all chains in  the
117280              specified table if not specified chain.
117281
117282              CLI Example:
117283
117284                 salt '*' iptables.flush filter INPUT
117285
117286                 IPv6:
117287                 salt '*' iptables.flush filter INPUT family=ipv6
117288
117289       salt.modules.iptables.get_policy(table=u'filter',    chain=None,   fam‐
117290       ily=u'ipv4')
117291              Return the current policy for the specified table/chain
117292
117293              CLI Example:
117294
117295                 salt '*' iptables.get_policy filter INPUT
117296
117297                 IPv6:
117298                 salt '*' iptables.get_policy filter INPUT family=ipv6
117299
117300       salt.modules.iptables.get_rules(family=u'ipv4')
117301              Return a data structure of the current, in-memory rules
117302
117303              CLI Example:
117304
117305                 salt '*' iptables.get_rules
117306
117307                 IPv6:
117308                 salt '*' iptables.get_rules family=ipv6
117309
117310       salt.modules.iptables.get_saved_policy(table=u'filter',     chain=None,
117311       conf_file=None, family=u'ipv4')
117312              Return the current policy for the specified table/chain
117313
117314              CLI Examples:
117315
117316                 salt '*' iptables.get_saved_policy filter INPUT
117317                 salt '*' iptables.get_saved_policy filter INPUT \
117318                     conf_file=/etc/iptables.saved
117319
117320                 IPv6:
117321                 salt '*' iptables.get_saved_policy filter INPUT family=ipv6
117322                 salt '*' iptables.get_saved_policy filter INPUT \
117323                     conf_file=/etc/iptables.saved family=ipv6
117324
117325       salt.modules.iptables.get_saved_rules(conf_file=None, family=u'ipv4')
117326              Return a data structure of the rules in the conf file
117327
117328              CLI Example:
117329
117330                 salt '*' iptables.get_saved_rules
117331
117332                 IPv6:
117333                 salt '*' iptables.get_saved_rules family=ipv6
117334
117335       salt.modules.iptables.insert(table=u'filter',     chain=None,     posi‐
117336       tion=None, rule=None, family=u'ipv4')
117337              Insert a rule into the specified table/chain, at  the  specified
117338              position.
117339
117340              This function accepts a rule in a standard iptables command for‐
117341              mat,
117342                     starting with the chain. Trying to force users  to  adapt
117343                     to  a new method of creating rules would be irritating at
117344                     best, and we already have a parser that can handle it.
117345
117346              If the position specified is a negative number, then the  insert
117347              will be
117348                     performed   counting  from  the  end  of  the  list.  For
117349                     instance, a position of -1 will insert the  rule  as  the
117350                     second  to  last rule. To insert a rule in the last posi‐
117351                     tion, use the append function instead.
117352
117353              CLI Examples:
117354
117355                 salt '*' iptables.insert filter INPUT position=3 \
117356                     rule='-m state --state RELATED,ESTABLISHED -j ACCEPT'
117357
117358                 IPv6:
117359                 salt '*' iptables.insert filter INPUT position=3 \
117360                     rule='-m state --state RELATED,ESTABLISHED -j ACCEPT' \
117361                     family=ipv6
117362
117363       salt.modules.iptables.new_chain(table=u'filter',    chain=None,    fam‐
117364       ily=u'ipv4')
117365              New in version 2014.1.0.
117366
117367
117368              Create new custom chain to the specified table.
117369
117370              CLI Example:
117371
117372                 salt '*' iptables.new_chain filter CUSTOM_CHAIN
117373
117374                 IPv6:
117375                 salt '*' iptables.new_chain filter CUSTOM_CHAIN family=ipv6
117376
117377       salt.modules.iptables.save(filename=None, family=u'ipv4')
117378              Save the current in-memory rules to disk
117379
117380              CLI Example:
117381
117382                 salt '*' iptables.save /etc/sysconfig/iptables
117383
117384                 IPv6:
117385                 salt '*' iptables.save /etc/sysconfig/iptables family=ipv6
117386
117387       salt.modules.iptables.set_policy(table=u'filter',    chain=None,   pol‐
117388       icy=None, family=u'ipv4')
117389              Set the current policy for the specified table/chain
117390
117391              CLI Example:
117392
117393                 salt '*' iptables.set_policy filter INPUT ACCEPT
117394
117395                 IPv6:
117396                 salt '*' iptables.set_policy filter INPUT ACCEPT family=ipv6
117397
117398       salt.modules.iptables.version(family=u'ipv4')
117399              Return version from iptables --version
117400
117401              CLI Example:
117402
117403                 salt '*' iptables.version
117404
117405                 IPv6:
117406                 salt '*' iptables.version family=ipv6
117407
117408   salt.modules.iwtools module
117409       Support for Wireless Tools for Linux
117410
117411       salt.modules.iwtools.list_interfaces(style=None)
117412              List all of the wireless interfaces
117413
117414              CLI Example:
117415                 salt minion iwtools.list_interfaces
117416
117417       salt.modules.iwtools.scan(iface, style=None)
117418              List networks on a wireless interface
117419
117420              CLI Examples:
117421                 salt minion  iwtools.scan  wlp3s0  salt  minion  iwtools.scan
117422                 wlp3s0 list
117423
117424       salt.modules.iwtools.set_mode(iface, mode)
117425              List networks on a wireless interface
117426
117427              CLI Example:
117428                 salt minion iwtools.set_mode wlp3s0 Managed
117429
117430   salt.modules.jboss7
117431       Module for managing JBoss AS 7 through the CLI interface.
117432
117433       New in version 2015.5.0.
117434
117435
117436       In order to run each function, jboss_config dictionary with the follow‐
117437       ing properties must be passed:
117438
117439              · cli_path:  the  path  to  jboss-cli   script,   for   example:
117440                '/opt/jboss/jboss-7.0/bin/jboss-cli.sh'
117441
117442              · controller:  the  IP address and port of controller, for exam‐
117443                ple: 10.11.12.13:9999
117444
117445              · cli_user: username to connect to jboss administration  console
117446                if necessary
117447
117448              · cli_password: password to connect to jboss administration con‐
117449                sole if necessary
117450
117451       Example:
117452
117453          jboss_config:
117454             cli_path: '/opt/jboss/jboss-7.0/bin/jboss-cli.sh'
117455             controller: 10.11.12.13:9999
117456             cli_user: 'jbossadm'
117457             cli_password: 'jbossadm'
117458
117459       salt.modules.jboss7.create_datasource(jboss_config,     name,     data‐
117460       source_properties, profile=None)
117461              Create datasource in running jboss instance
117462
117463              jboss_config
117464                     Configuration dictionary with properties specified above.
117465
117466              name   Datasource name
117467
117468              datasource_properties
117469
117470                     A dictionary of datasource properties to be created:
117471
117472                            · driver-name: mysql
117473
117474                            · connection-url:                               '‐
117475                              jdbc:mysql://localhost:3306/sampleDatabase'
117476
117477                            · jndi-name: 'java:jboss/datasources/sampleDS'
117478
117479                            · user-name: sampleuser
117480
117481                            · password: secret
117482
117483                            · min-pool-size: 3
117484
117485                            · use-java-context: True
117486
117487              profile
117488                     The profile name (JBoss domain mode only)
117489
117490              CLI Example:
117491
117492                 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}'
117493
117494       salt.modules.jboss7.create_simple_binding(jboss_config,   binding_name,
117495       value, profile=None)
117496              Create a simple jndi binding in the running jboss instance
117497
117498              jboss_config
117499                     Configuration dictionary with properties specified above.
117500
117501              binding_name
117502                     Binding name to be created
117503
117504              value  Binding value
117505
117506              profile
117507                     The profile name (JBoss domain mode only)
117508
117509              CLI Example:
117510
117511                 salt '*' jboss7.create_simple_binding \
117512                         '{"cli_path": "integration.modules.sysmod.SysModuleTest.test_valid_docs", \
117513                         "controller": "10.11.12.13:9999", "cli_user": "jbossadm", "cli_password": "jbossadm"}' \
117514                         my_binding_name my_binding_value
117515
117516       salt.modules.jboss7.deploy(jboss_config, source_file)
117517              Deploy the application on the jboss instance from the local file
117518              system where minion is running.
117519
117520              jboss_config
117521                     Configuration dictionary with properties specified above.
117522
117523              source_file
117524                     Source file to deploy from
117525
117526              CLI Example:
117527
117528                 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
117529
117530       salt.modules.jboss7.list_deployments(jboss_config)
117531              List all deployments on the jboss instance
117532
117533              jboss_config
117534                        Configuration  dictionary  with  properties  specified
117535                        above.
117536
117537                     CLI Example:
117538
117539                        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"}'
117540
117541       salt.modules.jboss7.read_datasource(jboss_config, name, profile=None)
117542              Read datasource properties in the running jboss instance.
117543
117544              jboss_config
117545                     Configuration dictionary with properties specified above.
117546
117547              name   Datasource name
117548
117549              profile
117550                     Profile name (JBoss domain mode only)
117551
117552              CLI Example:
117553
117554                 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"}'
117555
117556       salt.modules.jboss7.read_simple_binding(jboss_config,     binding_name,
117557       profile=None)
117558              Read jndi binding in the running jboss instance
117559
117560              jboss_config
117561                     Configuration dictionary with properties specified above.
117562
117563              binding_name
117564                     Binding name to be created
117565
117566              profile
117567                     The profile name (JBoss domain mode only)
117568
117569              CLI Example:
117570
117571
117572
117573                 salt '*' jboss7.read_simple_binding  '{"cli_path":  "integra‐
117574                 tion.modules.sysmod.SysModuleTest.test_valid_docs",     "con‐
117575                 troller":   "10.11.12.13:9999",    "cli_user":    "jbossadm",
117576                 "cli_password": "jbossadm"}' my_binding_name
117577
117578       salt.modules.jboss7.reload_(jboss_config, host=None)
117579              Reload running jboss instance
117580
117581              jboss_config
117582                     Configuration dictionary with properties specified above.
117583
117584              host   The  name  of  the  host.  JBoss  domain  mode only - and
117585                     required if running in domain mode.  The host name is the
117586                     "name" attribute of the "host" element in host.xml
117587
117588              CLI Example:
117589
117590                 salt '*' jboss7.reload '{"cli_path": "integration.modules.sysmod.SysModuleTest.test_valid_docs", "controller": "10.11.12.13:9999", "cli_user": "jbossadm", "cli_password": "jbossadm"}'
117591
117592       salt.modules.jboss7.remove_datasource(jboss_config, name, profile=None)
117593              Remove an existing datasource from the running jboss instance.
117594
117595              jboss_config
117596                     Configuration dictionary with properties specified above.
117597
117598              name   Datasource name
117599
117600              profile
117601                     The profile (JBoss domain mode only)
117602
117603              CLI Example:
117604
117605                 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
117606
117607       salt.modules.jboss7.status(jboss_config, host=None, server_config=None)
117608              Get status of running jboss instance.
117609
117610              jboss_config
117611                     Configuration dictionary with properties specified above.
117612
117613              host   The  name  of  the  host.  JBoss  domain  mode only - and
117614                     required if running in domain mode.  The host name is the
117615                     "name" attribute of the "host" element in host.xml
117616
117617              server_config
117618                     The  name  of the Server Configuration. JBoss Domain mode
117619                     only - and required if running in domain mode.
117620
117621              CLI Example:
117622
117623                 salt '*' jboss7.status '{"cli_path": "integration.modules.sysmod.SysModuleTest.test_valid_docs", "controller": "10.11.12.13:9999", "cli_user": "jbossadm", "cli_password": "jbossadm"}'
117624
117625       salt.modules.jboss7.stop_server(jboss_config, host=None)
117626              Stop running jboss instance
117627
117628              jboss_config
117629                     Configuration dictionary with properties specified above.
117630
117631              host   The name of the  host.  JBoss  domain  mode  only  -  and
117632                     required if running in domain mode.  The host name is the
117633                     "name" attribute of the "host" element in host.xml
117634
117635              CLI Example:
117636
117637                 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"}'
117638
117639       salt.modules.jboss7.undeploy(jboss_config, deployment)
117640              Undeploy the application from jboss instance
117641
117642              jboss_config
117643                     Configuration dictionary with properties specified above.
117644
117645              deployment
117646                     Deployment name to undeploy
117647
117648              CLI Example:
117649
117650                 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
117651
117652       salt.modules.jboss7.update_datasource(jboss_config,  name,  new_proper‐
117653       ties, profile=None)
117654              Update an existing datasource in running jboss instance.  If the
117655              property doesn't exist if will be created, if it does,  it  will
117656              be updated with the new value
117657
117658              jboss_config
117659                     Configuration dictionary with properties specified above.
117660
117661              name   Datasource name
117662
117663              new_properties
117664
117665                     A  dictionary of datasource properties to be updated. For
117666                     example:
117667
117668                            · driver-name: mysql
117669
117670                            · connection-url:                               '‐
117671                              jdbc:mysql://localhost:3306/sampleDatabase'
117672
117673                            · jndi-name: 'java:jboss/datasources/sampleDS'
117674
117675                            · user-name: sampleuser
117676
117677                            · password: secret
117678
117679                            · min-pool-size: 3
117680
117681                            · use-java-context: True
117682
117683              profile
117684                     The profile name (JBoss domain mode only)
117685
117686              CLI Example:
117687
117688                 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}'
117689
117690       salt.modules.jboss7.update_simple_binding(jboss_config,   binding_name,
117691       value, profile=None)
117692              Update the simple jndi binding in the running jboss instance
117693
117694              jboss_config
117695                     Configuration dictionary with properties specified above.
117696
117697              binding_name
117698                     Binding name to be updated
117699
117700              value  New binding value
117701
117702              profile
117703                     The profile name (JBoss domain mode only)
117704
117705              CLI Example:
117706
117707                 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
117708
117709   salt.modules.jboss7_cli
117710       Module for low-level interaction with JbossAS7 through CLI.
117711
117712       This module exposes two  ways  of  interaction  with  the  CLI,  either
117713       through commands or operations.
117714
117715       NOTE:
117716          Following             JBoss             documentation             (‐
117717          https://developer.jboss.org/wiki/CommandLineInterface):  "Operations
117718          are  considered  a  low level but comprehensive way to manage the AS
117719          controller, i.e. if it can't be done with  operations  it  can't  be
117720          done  in  any  other  way.   Commands,  on  the other hand, are more
117721          user-friendly in syntax, although most of them still translate  into
117722          operation requests and some of them even into a few composite opera‐
117723          tion requests, i.e. commands also simplify  some  management  opera‐
117724          tions from the user's point of view."
117725
117726       The  difference  between  calling a command or operation is in handling
117727       the result.  Commands return a zero return code if  operation  is  suc‐
117728       cessful  or  return non-zero return code and print an error to standard
117729       output in plain text, in case of an error.
117730
117731       Operations return a json-like structure, that contain more  information
117732       about  the  result.   In case of a failure, they also return a specific
117733       return code. This module parses the  output  from  the  operations  and
117734       returns  it  as  a  dictionary so that an execution of an operation can
117735       then be verified against specific errors.
117736
117737       In order to run each function, jboss_config dictionary with the follow‐
117738       ing properties must be passed:
117739
117740              · cli_path:   the   path   to  jboss-cli  script,  for  example:
117741                '/opt/jboss/jboss-7.0/bin/jboss-cli.sh'
117742
117743              · controller: the IP address and port of controller,  for  exam‐
117744                ple: 10.11.12.13:9999
117745
117746              · cli_user:  username to connect to jboss administration console
117747                if necessary
117748
117749              · cli_password: password to connect to jboss administration con‐
117750                sole if necessary
117751
117752       Example:
117753
117754          jboss_config:
117755             cli_path: '/opt/jboss/jboss-7.0/bin/jboss-cli.sh'
117756             controller: 10.11.12.13:9999
117757             cli_user: 'jbossadm'
117758             cli_password: 'jbossadm'
117759
117760       salt.modules.jboss7_cli.run_command(jboss_config,              command,
117761       fail_on_error=True)
117762              Execute a command against jboss instance through the CLI  inter‐
117763              face.
117764
117765              jboss_config
117766                     Configuration dictionary with properties specified above.
117767
117768              command
117769                     Command to execute against jboss instance
117770
117771              fail_on_error (default=True)
117772                     Is  true, raise CommandExecutionError exception if execu‐
117773                     tion fails.  If false, 'success' property of the returned
117774                     dictionary is set to False
117775
117776              CLI Example:
117777
117778                 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
117779
117780       salt.modules.jboss7_cli.run_operation(jboss_config,          operation,
117781       fail_on_error=True, retries=1)
117782              Execute an operation against  jboss  instance  through  the  CLI
117783              interface.
117784
117785              jboss_config
117786                     Configuration dictionary with properties specified above.
117787
117788              operation
117789                     An operation to execute against jboss instance
117790
117791              fail_on_error (default=True)
117792                     Is  true, raise CommandExecutionError exception if execu‐
117793                     tion fails.  If false, 'success' property of the returned
117794                     dictionary is set to False
117795
117796              retries:
117797                     Number  of retries in case of "JBAS012144: Could not con‐
117798                     nect to remote" error.
117799
117800              CLI Example:
117801
117802                 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
117803
117804   salt.modules.jenkinsmod module
117805       Module for controlling Jenkins
117806
117807       depends
117808              python-jenkins
117809
117810       New in version 2016.3.0.
117811
117812
117813       depends
117814              python-jenkins Python module (not to be confused with jenkins)
117815
117816       configuration
117817              This module can be used by either passing an api key and version
117818              directly or by specifying both in a configuration profile in the
117819              salt master/minion config.
117820
117821              For example:
117822
117823                 jenkins:
117824                   api_key: peWcBiMOS9HrZG15peWcBiMOS9HrZG15
117825
117826       salt.modules.jenkinsmod.build_job(name=None, parameters=None)
117827              Initiate a build for the provided job.
117828
117829              Parameters
117830
117831                     · name -- The name of the job is check if it exists.
117832
117833                     · parameters -- Parameters to send to the job.
117834
117835              Returns
117836                     True is successful, otherwise raise an exception.
117837
117838              CLI Example:
117839
117840                 salt '*' jenkins.build_job jobname
117841
117842       salt.modules.jenkinsmod.create_job(name=None,          config_xml=None,
117843       saltenv=u'base')
117844              Return the configuration file.
117845
117846              Parameters
117847
117848                     · name -- The name of the job is check if it exists.
117849
117850                     · config_xml  --  The configuration file to use to create
117851                       the job.
117852
117853                     · saltenv -- The environment to look for the file in.
117854
117855              Returns
117856                     The configuration file used for the job.
117857
117858              CLI Example:
117859
117860                 salt '*' jenkins.create_job jobname
117861
117862                 salt '*' jenkins.create_job jobname config_xml='salt://jenkins/config.xml'
117863
117864       salt.modules.jenkinsmod.delete_job(name=None)
117865              Return true is job is deleted successfully.
117866
117867              Parameters
117868                     name -- The name of the job to delete.
117869
117870              Returns
117871                     Return true if job is deleted successfully.
117872
117873              CLI Example:
117874
117875                 salt '*' jenkins.delete_job jobname
117876
117877       salt.modules.jenkinsmod.disable_job(name=None)
117878              Return true is job is disabled successfully.
117879
117880              Parameters
117881                     name -- The name of the job to disable.
117882
117883              Returns
117884                     Return true if job is disabled successfully.
117885
117886              CLI Example:
117887
117888                 salt '*' jenkins.disable_job jobname
117889
117890       salt.modules.jenkinsmod.enable_job(name=None)
117891              Return true is job is enabled successfully.
117892
117893              Parameters
117894                     name -- The name of the job to enable.
117895
117896              Returns
117897                     Return true if job is enabled successfully.
117898
117899              CLI Example:
117900
117901                 salt '*' jenkins.enable_job jobname
117902
117903       salt.modules.jenkinsmod.get_job_config(name=None)
117904              Return the current job configuration for the provided job.
117905
117906              Parameters
117907                     name -- The name of the job to return  the  configuration
117908                     for.
117909
117910              Returns
117911                     The configuration for the job specified.
117912
117913              CLI Example:
117914
117915                 salt '*' jenkins.get_job_config jobname
117916
117917       salt.modules.jenkinsmod.get_job_info(name=None)
117918              Return information about the Jenkins job.
117919
117920              Parameters
117921                     name -- The name of the job is check if it exists.
117922
117923              Returns
117924                     Information about the Jenkins job.
117925
117926              CLI Example:
117927
117928                 salt '*' jenkins.get_job_info jobname
117929
117930       salt.modules.jenkinsmod.get_jobs()
117931              Return the currently configured jobs.
117932
117933              Returns
117934                     The currently configured jobs.
117935
117936              CLI Example:
117937
117938                 salt '*' jenkins.get_jobs
117939
117940       salt.modules.jenkinsmod.get_version()
117941              Return version of Jenkins
117942
117943              Returns
117944                     The version of Jenkins
117945
117946              CLI Example:
117947
117948                 salt '*' jenkins.get_version
117949
117950       salt.modules.jenkinsmod.job_exists(name=None)
117951              Check whether the job exists in configured Jenkins jobs.
117952
117953              Parameters
117954                     name -- The name of the job is check if it exists.
117955
117956              Returns
117957                     True if job exists, False if job does not exist.
117958
117959              CLI Example:
117960
117961                 salt '*' jenkins.job_exists jobname
117962
117963       salt.modules.jenkinsmod.job_status(name=None)
117964              Return the current status, enabled or disabled, of the job.
117965
117966              Parameters
117967                     name -- The name of the job to return status for
117968
117969              Returns
117970                     Return true if enabled or false if disabled.
117971
117972              CLI Example:
117973
117974                 salt '*' jenkins.job_status jobname
117975
117976       salt.modules.jenkinsmod.plugin_installed(name)
117977              New in version 2016.11.0.
117978
117979
117980              Return if the plugin is installed for the provided plugin name.
117981
117982              Parameters
117983                     name  --  The  name of the parameter to confirm installa‐
117984                     tion.
117985
117986              Returns
117987                     True if plugin exists, False if plugin does not exist.
117988
117989              CLI Example:
117990
117991                 salt '*' jenkins.plugin_installed pluginName
117992
117993       salt.modules.jenkinsmod.run(script)
117994              New in version 2017.7.0.
117995
117996
117997              Execute a script on the jenkins master
117998
117999              Parameters
118000                     script -- The script
118001
118002              CLI Example:
118003
118004                 salt '*' jenkins.run 'Jenkins.instance.doSafeRestart()'
118005
118006       salt.modules.jenkinsmod.update_job(name=None,          config_xml=None,
118007       saltenv=u'base')
118008              Return the updated configuration file.
118009
118010              Parameters
118011
118012                     · name -- The name of the job is check if it exists.
118013
118014                     · config_xml  --  The configuration file to use to create
118015                       the job.
118016
118017                     · saltenv -- The environment to look for the file in.
118018
118019              Returns
118020                     The configuration file used for the job.
118021
118022              CLI Example:
118023
118024                 salt '*' jenkins.update_job jobname
118025
118026                 salt '*' jenkins.update_job jobname config_xml='salt://jenkins/config.xml'
118027
118028   salt.modules.jira_mod module
118029   JIRA Execution module
118030       New in version Fluorine.
118031
118032
118033       Execution module to manipulate JIRA tickets via Salt.
118034
118035       This module requires the jira Python library to be installed.
118036
118037       Configuration example:
118038
118039          jira:
118040            server: https://jira.atlassian.org
118041            username: salt
118042            password: pass
118043
118044       salt.modules.jira_mod.add_comment(issue_key, comment,  visibility=None,
118045       is_internal=False, server=None, username=None, password=None)
118046              Add  a  comment  to an existing ticket. Return True when it suc‐
118047              cessfully added the comment.
118048
118049              issue_key
118050                     The issue ID to add the comment to.
118051
118052              comment
118053                     The body of the comment to be added.
118054
118055              visibility: None
118056                     A dictionary having two keys:
118057
118058                     · type: is role (or group if the JIRA server has  config‐
118059                       ured comment visibility for groups).
118060
118061                     · value: the name of the role (or group) to which viewing
118062                       of this comment will be restricted.
118063
118064              is_internal: False
118065                     Whether a comment has to be marked as  Internal  in  Jira
118066                     Service Desk.
118067
118068              CLI Example:
118069
118070                 salt '*' jira.add_comment NE-123 'This is a comment'
118071
118072       salt.modules.jira_mod.assign_issue(issue_key,   assignee,  server=None,
118073       username=None, password=None)
118074              Assign the issue to an existing user. Return True when the issue
118075              has been properly assigned.
118076
118077              issue_key
118078                     The JIRA ID of the ticket to manipulate.
118079
118080              assignee
118081                     The name of the user to assign the ticket to.
118082
118083              CLI Example:
118084                 salt '*' jira.assign_issue NET-123 example_user
118085
118086       salt.modules.jira_mod.create_issue(project,  summary, description, tem‐
118087       plate_engine=u'jinja',  context=None,  defaults=None,  saltenv=u'base',
118088       issuetype=u'Bug',   priority=u'Normal',   labels=None,   assignee=None,
118089       server=None, username=None, password=None, **kwargs)
118090              Create a JIRA issue using the named settings.  Return  the  JIRA
118091              ticket ID.
118092
118093              project
118094                     The name of the project to attach the JIRA ticket to.
118095
118096              summary
118097                     The  summary  (title)  of  the JIRA ticket. When the tem‐
118098                     plate_engine argument is set to  a  proper  value  of  an
118099                     existing  Salt  template engine (e.g., jinja, mako, etc.)
118100                     it will render the summary before creating the ticket.
118101
118102              description
118103                     The full body description of the JIRA  ticket.  When  the
118104                     template_engine  argument  is set to a proper value of an
118105                     existing Salt template engine (e.g., jinja,  mako,  etc.)
118106                     it  will  render  the  description  before  creating  the
118107                     ticket.
118108
118109              template_engine: jinja
118110                     The name of the template engine to be used to render  the
118111                     values of the summary and description arguments. Default:
118112                     jinja.
118113
118114              context: None
118115                     The context  to  pass  when  rendering  the  summary  and
118116                     description.    This   argument   is  ignored  when  tem‐
118117                     plate_engine is set as None
118118
118119              defaults: None
118120                     Default values to pass to the Salt rendering pipeline for
118121                     the  summary and description arguments.  This argument is
118122                     ignored when template_engine is set as None.
118123
118124              saltenv: base
118125                     The Salt environment name (for the rendering system).
118126
118127              issuetype: Bug
118128                     The type of the JIRA ticket. Default: Bug.
118129
118130              priority: Normal
118131                     The priority of the JIRA ticket. Default: Normal.
118132
118133              labels: None
118134                     A list of labels to add to the ticket.
118135
118136              assignee: None
118137                     The name of the person to assign the ticket to.
118138
118139              CLI Examples:
118140
118141                 salt '*' jira.create_issue NET 'Ticket title' 'Ticket description'
118142                 salt '*' jira.create_issue NET 'Issue on {{ opts.id }}' 'Error detected on {{ opts.id }}' template_engine=jinja
118143
118144       salt.modules.jira_mod.issue_closed(issue_key,    server=None,     user‐
118145       name=None, password=None)
118146              Check if the issue is closed.
118147
118148              issue_key
118149                     The JIRA iD of the ticket to close.
118150
118151              Returns:
118152
118153              · True: the ticket exists and it is closed.
118154
118155              · False: the ticket exists and it has not been closed.
118156
118157              · None: the ticket does not exist.
118158
118159              CLI Example:
118160
118161                 salt '*' jira.issue_closed NE-123
118162
118163   salt.modules.junos
118164       Module to interact with Junos devices.
118165
118166       maturity
118167              new
118168
118169       dependencies
118170              junos-eznc, jxmlease
118171
118172       NOTE:
118173          Those  who  wish to use junos-eznc (PyEZ) version >= 2.1.0, must use
118174          the latest salt code from github until the next release.
118175
118176       Refer to junos for information on connecting to junos proxy.
118177
118178       salt.modules.junos.cli(command=None, **kwargs)
118179              Executes the CLI commands and returns the  output  in  specified
118180              format.     (default is text) The output can also be stored in a
118181              file.
118182
118183              command (required)
118184                     The command to execute on the Junos CLI
118185
118186              format text Format in which to get the CLI output  (either  text
118187                     or xml)
118188
118189              dev_timeout
118190                     30 The NETCONF RPC timeout (in seconds)
118191
118192              dest   Destination  file  where  the  RPC output is stored. Note
118193                     that the file will be stored on the proxy minion. To push
118194                     the files to the master use cp.push.
118195
118196              CLI Examples:
118197
118198                 salt 'device_name' junos.cli 'show system commit'
118199                 salt 'device_name' junos.cli 'show version' dev_timeout=40
118200                 salt 'device_name' junos.cli 'show system alarms' format=xml dest=/home/user/cli_output.txt
118201
118202       salt.modules.junos.commit(**kwargs)
118203              To commit the changes loaded in the candidate configuration.
118204
118205              dev_timeout
118206                     30 The NETCONF RPC timeout (in seconds)
118207
118208              comment
118209                     Provide a comment for the commit
118210
118211              confirm
118212                     Provide  time in minutes for commit confirmation. If this
118213                     option is specified, the commit will be  rolled  back  in
118214                     the  specified  amount  of time unless the commit is con‐
118215                     firmed.
118216
118217              sync   False When True, on dual control plane systems,  requests
118218                     that  the candidate configuration on one control plane be
118219                     copied to the other control plane,  checked  for  correct
118220                     syntax, and committed on both Routing Engines.
118221
118222              force_sync
118223                     False When True, on dual control plane systems, force the
118224                     candidate configuration on one control plane to be copied
118225                     to the other control plane.
118226
118227              full   When True, requires all the daemons to check and evaluate
118228                     the new configuration.
118229
118230              detail When True, return commit detail
118231
118232              CLI Examples:
118233
118234                 salt 'device_name' junos.commit comment='Commiting via saltstack' detail=True
118235                 salt 'device_name' junos.commit dev_timeout=60 confirm=10
118236                 salt 'device_name' junos.commit sync=True dev_timeout=90
118237
118238       salt.modules.junos.commit_check()
118239              Perform a commit check on the configuration
118240
118241              CLI Example:
118242
118243                 salt 'device_name' junos.commit_check
118244
118245       salt.modules.junos.diff(**kwargs)
118246              Returns the difference between the  candidate  and  the  current
118247              configuration
118248
118249              id     0 The rollback ID value (0-49)
118250
118251              CLI Example:
118252
118253                 salt 'device_name' junos.diff 3
118254
118255       salt.modules.junos.facts()
118256              Displays  the facts gathered during the connection.  These facts
118257              are also stored in Salt grains.
118258
118259              CLI Example:
118260
118261                 salt 'device_name' junos.facts
118262
118263       salt.modules.junos.facts_refresh()
118264              Reload the facts dictionary from the device. Usually only needed
118265              if,  the  device  configuration  is changed by some other actor.
118266              This function will also refresh the facts  stored  in  the  salt
118267              grains.
118268
118269              CLI Example:
118270
118271                 salt 'device_name' junos.facts_refresh
118272
118273       salt.modules.junos.file_copy(src=None, dest=None)
118274              Copies the file from the local device to the junos device
118275
118276              src    The source path where the file is kept.
118277
118278              dest   The destination path on the where the file will be copied
118279
118280              CLI Example:
118281
118282                 salt 'device_name' junos.file_copy /home/m2/info.txt info_copy.txt
118283
118284       salt.modules.junos.install_config(path=None, **kwargs)
118285              Installs the given configuration file into the candidate config‐
118286              uration.  Commits the changes if the commit checks or throws  an
118287              error.
118288
118289              path (required)
118290                     Path where the configuration/template file is present. If
118291                     the file has a .conf extension, the content is treated as
118292                     text  format.  If the file has a .xml extension, the con‐
118293                     tent is treated as XML format. If the  file  has  a  .set
118294                     extension,  the  content  is treated as Junos OS set com‐
118295                     mands.
118296
118297              mode   exclusive The mode in which the configuration is  locked.
118298                     Can be one of private, dynamic, batch, exclusive.
118299
118300              dev_timeout
118301                     30  Set  NETCONF  RPC  timeout.  Can be used for commands
118302                     which take a while to execute.
118303
118304              overwrite
118305                     False Set to True if you want this file is to  completely
118306                     replace the configuration file.
118307
118308              replace
118309                     False   Specify   whether  the  configuration  file  uses
118310                     replace: statements. If True, only those statements under
118311                     the replace tag will be changed.
118312
118313              format Determines the format of the contents
118314
118315              update False Compare a complete loaded configuration against the
118316                     candidate configuration. For each hierarchy level or con‐
118317                     figuration object that is different in the two configura‐
118318                     tions, the version in the loaded  configuration  replaces
118319                     the version in the candidate configuration. When the con‐
118320                     figuration is later committed, only system processes that
118321                     are  affected by the changed configuration elements parse
118322                     the new configuration. This action is supported from PyEZ
118323                     2.1.
118324
118325              comment
118326                     Provide a comment for the commit
118327
118328              confirm
118329                     Provide  time in minutes for commit confirmation. If this
118330                     option is specified, the commit will be  rolled  back  in
118331                     the  specified  amount  of time unless the commit is con‐
118332                     firmed.
118333
118334              diffs_file
118335                     Path to the file where the diff (difference in  old  con‐
118336                     figuration  and  the  committed  configuration)  will  be
118337                     stored. Note that the file will be stored  on  the  proxy
118338                     minion. To push the files to the master use cp.push.
118339
118340              template_vars
118341                     Variables  to  be  passed  into  the  template processing
118342                     engine in addition to those present in pillar, the minion
118343                     configuration,  grains,  etc.   You  may  reference these
118344                     variables in your template like so:
118345
118346                        {{ template_vars["var_name"] }}
118347
118348              CLI Examples:
118349
118350                 salt 'device_name' junos.install_config 'salt://production/network/routers/config.set'
118351                 salt 'device_name' junos.install_config 'salt://templates/replace_config.conf' replace=True comment='Committed via SaltStack'
118352                 salt 'device_name' junos.install_config 'salt://my_new_configuration.conf' dev_timeout=300 diffs_file='/salt/confs/old_config.conf' overwrite=True
118353                 salt 'device_name' junos.install_config 'salt://syslog_template.conf' template_vars='{"syslog_host": "10.180.222.7"}'
118354
118355       salt.modules.junos.install_os(path=None, **kwargs)
118356              Installs the given image on the device. After  the  installation
118357              is  complete     the device is rebooted, if reboot=True is given
118358              as a keyworded argument.
118359
118360              path (required)
118361                     Path where the image file is present on the proxy minion
118362
118363              dev_timeout
118364                     30 The NETCONF RPC timeout (in seconds)
118365
118366              reboot False Whether to reboot after installation
118367
118368              no_copy
118369                     False If True the software package will not be  SCP’d  to
118370                     the device
118371
118372              CLI Examples:
118373
118374                 salt 'device_name' junos.install_os 'salt://images/junos_image.tgz' reboot=True
118375                 salt 'device_name' junos.install_os 'salt://junos_16_1.tgz' dev_timeout=300
118376
118377       salt.modules.junos.load(path=None, **kwargs)
118378              Loads the configuration from the file provided onto the device.
118379
118380              path (required)
118381                     Path where the configuration/template file is present. If
118382                     the file has a .conf extension, the content is treated as
118383                     text  format.  If the file has a .xml extension, the con‐
118384                     tent is treated as XML format. If the  file  has  a  .set
118385                     extension,  the  content  is treated as Junos OS set com‐
118386                     mands.
118387
118388              overwrite
118389                     False Set to True if you want this file is to  completely
118390                     replace the configuration file.
118391
118392              replace
118393                     False   Specify   whether  the  configuration  file  uses
118394                     replace: statements. If True, only those statements under
118395                     the replace tag will be changed.
118396
118397              format Determines the format of the contents
118398
118399              update False Compare a complete loaded configuration against the
118400                     candidate configuration. For each hierarchy level or con‐
118401                     figuration object that is different in the two configura‐
118402                     tions, the version in the loaded  configuration  replaces
118403                     the version in the candidate configuration. When the con‐
118404                     figuration is later committed, only system processes that
118405                     are  affected by the changed configuration elements parse
118406                     the new configuration. This action is supported from PyEZ
118407                     2.1.
118408
118409              template_vars
118410                     Variables  to  be  passed  into  the  template processing
118411                     engine in addition to those present in pillar, the minion
118412                     configuration,  grains,  etc.   You  may  reference these
118413                     variables in your template like so:
118414
118415                        {{ template_vars["var_name"] }}
118416
118417              CLI Examples:
118418
118419                 salt 'device_name' junos.load 'salt://production/network/routers/config.set'
118420
118421                 salt 'device_name' junos.load 'salt://templates/replace_config.conf' replace=True
118422
118423                 salt 'device_name' junos.load 'salt://my_new_configuration.conf' overwrite=True
118424
118425                 salt 'device_name' junos.load 'salt://syslog_template.conf' template_vars='{"syslog_host": "10.180.222.7"}'
118426
118427       salt.modules.junos.lock()
118428              Attempts an exclusive lock on the candidate configuration.  This
118429              is a non-blocking call.
118430
118431              NOTE:
118432                 When   locking,   it   is   important  to  remember  to  call
118433                 junos.unlock once finished. If locking during  orchestration,
118434                 remember  to  include  a  step  in  the  orchestration job to
118435                 unlock.
118436
118437              CLI Example:
118438
118439                 salt 'device_name' junos.lock
118440
118441       salt.modules.junos.ping(dest_ip=None, **kwargs)
118442              Send a ping RPC to a device
118443
118444              dest_ip
118445                     The IP of the device to ping
118446
118447              dev_timeout
118448                     30 The NETCONF RPC timeout (in seconds)
118449
118450              rapid  False When True, executes ping at 100pps instead of 1pps
118451
118452              ttl    Maximum number of IP routers (IP  hops)  allowed  between
118453                     source and destination
118454
118455              routing_instance
118456                     Name of the routing instance to use to send the ping
118457
118458              interface
118459                     Interface used to send traffic
118460
118461              count  5 Number of packets to send
118462
118463              CLI Examples:
118464
118465                 salt 'device_name' junos.ping '8.8.8.8' count=5
118466                 salt 'device_name' junos.ping '8.8.8.8' ttl=1 rapid=True
118467
118468       salt.modules.junos.rollback(**kwargs)
118469              Roll back the last committed configuration changes and commit
118470
118471              id     0 The rollback ID value (0-49)
118472
118473              dev_timeout
118474                     30 The NETCONF RPC timeout (in seconds)
118475
118476              comment
118477                     Provide a comment for the commit
118478
118479              confirm
118480                     Provide  time in minutes for commit confirmation. If this
118481                     option is specified, the commit will be  rolled  back  in
118482                     the  specified  amount  of time unless the commit is con‐
118483                     firmed.
118484
118485              diffs_file
118486                     Path to the file where the diff (difference in  old  con‐
118487                     figuration  and  the  committed  configuration)  will  be
118488                     stored. Note that the file will be stored  on  the  proxy
118489                     minion. To push the files to the master use cp.push.
118490
118491              CLI Example:
118492
118493                 salt 'device_name' junos.rollback 10
118494
118495       salt.modules.junos.rpc(cmd=None, dest=None, **kwargs)
118496              This  function  executes  the  RPC  provided as arguments on the
118497              junos device.  The returned data can be stored in a file.
118498
118499              cmd    The RPC to be executed
118500
118501              dest   Destination file where the RPC  output  is  stored.  Note
118502                     that the file will be stored on the proxy minion. To push
118503                     the files to the master use cp.push.
118504
118505              format xml The format in which the RPC reply  is  received  from
118506                     the device
118507
118508              dev_timeout
118509                     30 The NETCONF RPC timeout (in seconds)
118510
118511              filter Used  with  the get-config RPC to get specific configura‐
118512                     tion
118513
118514              terse  False Amount of information you want
118515
118516              interface_name
118517                     Name of the interface to query
118518
118519              CLI Example:
118520
118521                 salt 'device' junos.rpc get_config /var/log/config.txt format=text filter='<configuration><system/></configuration>'
118522                 salt 'device' junos.rpc get-interface-information /home/user/interface.xml interface_name='lo0' terse=True
118523                 salt 'device' junos.rpc get-chassis-inventory
118524
118525       salt.modules.junos.set_hostname(hostname=None, **kwargs)
118526              Set the device's hostname
118527
118528              hostname
118529                     The name to be set
118530
118531              dev_timeout
118532                     30 The NETCONF RPC timeout (in seconds)
118533
118534              comment
118535                     Provide a comment to the commit
118536
118537              confirm
118538                     Provide time in minutes for commit confirmation. If  this
118539                     option  is  specified,  the commit will be rolled back in
118540                     the specified amount of time unless the  commit  is  con‐
118541                     firmed.
118542
118543              CLI Example:
118544
118545                 salt 'device_name' junos.set_hostname salt-device
118546
118547       salt.modules.junos.shutdown(**kwargs)
118548              Shut  down (power off) or reboot a device running Junos OS. This
118549              includes all Routing Engines in a  Virtual  Chassis  or  a  dual
118550              Routing Engine system.
118551
118552                 NOTE:
118553                     One  of  shutdown  or  reboot  must  be set to True or no
118554                     action will be taken.
118555
118556              shutdown
118557                     False Set this to  True  if  you  want  to  shutdown  the
118558                     machine. This is a safety mechanism so that the user does
118559                     not accidentally shutdown the junos device.
118560
118561              reboot False If True, reboot instead of shutting down
118562
118563              at     Used when rebooting, to specify the  date  and  time  the
118564                     reboot  should  take place. The value of this option must
118565                     match the JunOS CLI reboot syntax.
118566
118567              in_min Used when shutting down. Specify the delay  (in  minutes)
118568                     before the device will be shut down.
118569
118570              CLI Examples:
118571
118572                 salt 'device_name' junos.shutdown reboot=True
118573                 salt 'device_name' junos.shutdown shutdown=True in_min=10
118574                 salt 'device_name' junos.shutdown shutdown=True
118575
118576       salt.modules.junos.unlock()
118577              Unlocks the candidate configuration.
118578
118579              CLI Example:
118580
118581                 salt 'device_name' junos.unlock
118582
118583       salt.modules.junos.zeroize()
118584              Resets the device to default factory settings
118585
118586              CLI Example:
118587
118588                 salt 'device_name' junos.zeroize
118589
118590   salt.modules.k8s
118591       Salt module to manage Kubernetes cluster
118592
118593       New in version 2016.3.0.
118594
118595
118596       Roadmap:
118597
118598       · Add creation of K8S objects (pod, rc, service, ...)
118599
118600       · Add replace of K8S objects (pod, rc, service, ...)
118601
118602       · Add deletion of K8S objects (pod, rc, service, ...)
118603
118604       · Add rolling update
118605
118606       · Add (auto)scalling
118607
118608       salt.modules.k8s.create_namespace(name, apiserver_url=None)
118609              New in version 2016.3.0.
118610
118611
118612              Create  kubernetes namespace from the name, similar to the func‐
118613              tionality added to kubectl since v.1.2.0:
118614                 kubectl create namespaces namespace-name
118615
118616              CLI Example:
118617
118618                 salt '*' k8s.create_namespace namespace_name
118619
118620                 salt '*' k8s.create_namespace namespace_name http://kube-master.cluster.local
118621
118622       salt.modules.k8s.create_secret(namespace,    name,    sources,    apis‐
118623       erver_url=None, force=False, update=False, saltenv=u'base')
118624              New in version 2016.3.0.
118625
118626
118627              Create  k8s  secrets  in  the defined namespace from the list of
118628              files
118629
118630              CLI Example:
118631
118632                 salt '*' k8s.create_secret namespace_name secret_name sources
118633
118634                 salt '*' k8s.create_secret namespace_name secret_name sources
118635                 http://kube-master.cluster.local
118636
118637              sources are either dictionary of {name: path, name1: path} pairs
118638              or array of strings defining paths.
118639
118640              Example of paths array:
118641
118642
118643
118644              ['/full/path/filename',            "file:///full/path/filename",
118645              "salt://secret/storage/file.txt",  "http://user:password@secure‐
118646              site.com/secret-file.json"]
118647
118648              Example of dictionaries:
118649
118650
118651
118652              {"nameit":   '/full/path/fiename',  name2:  "salt://secret/stor‐
118653              age/file.txt"}
118654
118655              optional parameters accepted:
118656
118657              update=[false] default value is  false  if  set  to  false,  and
118658              secret  is  already  present  on  the  cluster - warning will be
118659              returned and no changes to the secret will be done.  In case  it
118660              is  set  to  "true"  and  secret is present but data is differ -
118661              secret will be updated.
118662
118663              force=[true] default value is true if the to False, secret  will
118664              not  be created in case one of the files is not valid kubernetes
118665              secret. e.g. capital letters in secret name or _ in  case  force
118666              is  set  to True, wrong files will be skipped but secret will be
118667              created any way.
118668
118669              saltenv=['base'] default value is base in case 'salt://' path is
118670              used, this parameter can change the visibility of files
118671
118672       salt.modules.k8s.delete_secret(namespace,   name,   apiserver_url=None,
118673       force=True)
118674              New in version 2016.3.0.
118675
118676
118677              Delete kubernetes secret in the defined namespace. Namespace  is
118678              the mandatory parameter as well as name.
118679
118680              CLI Example:
118681
118682                 salt '*' k8s.delete_secret namespace_name secret_name
118683
118684                 salt '*' k8s.delete_secret namespace_name secret_name http://kube-master.cluster.local
118685
118686       salt.modules.k8s.get_labels(node=None, apiserver_url=None)
118687              New in version 2016.3.0.
118688
118689
118690              Get labels from the current node
118691
118692              CLI Example:
118693
118694                 salt '*' k8s.get_labels
118695                 salt '*' k8s.get_labels kube-node.cluster.local http://kube-master.cluster.local
118696
118697       salt.modules.k8s.get_namespaces(namespace=u'', apiserver_url=None)
118698              New in version 2016.3.0.
118699
118700
118701              Get one or all kubernetes namespaces.
118702
118703              If  namespace  parameter  is  omitted,  all  namespaces  will be
118704              returned back to user, similar to following kubectl example:
118705
118706                 kubectl get namespaces -o json
118707
118708              In case namespace is set by user, the output will be similar  to
118709              the one from kubectl:
118710
118711                 kubectl get namespaces namespace_name -o json
118712
118713              CLI Example:
118714
118715                 salt '*' k8s.get_namespaces
118716                 salt '*' k8s.get_namespaces namespace_name http://kube-master.cluster.local
118717
118718       salt.modules.k8s.get_secrets(namespace,  name=u'',  apiserver_url=None,
118719       decode=False, brief=False)
118720              Get k8s namespaces
118721
118722              CLI Example:
118723
118724                 salt '*' k8s.get_secrets namespace_name
118725                 salt '*' k8s.get_secrets namespace_name secret_name http://kube-master.cluster.local
118726
118727       salt.modules.k8s.label_absent(name, node=None, apiserver_url=None)
118728              New in version 2016.3.0.
118729
118730
118731              Delete label to the current node
118732
118733              CLI Example:
118734
118735                 salt '*' k8s.label_absent hw/disktype
118736                 salt '*' k8s.label_absent hw/disktype kube-node.cluster.local http://kube-master.cluster.local
118737
118738       salt.modules.k8s.label_folder_absent(name,       node=None,       apis‐
118739       erver_url=None)
118740              New in version 2016.3.0.
118741
118742
118743              Delete label folder to the current node
118744
118745              CLI Example:
118746
118747                 salt '*' k8s.label_folder_absent hw
118748                 salt '*' k8s.label_folder_absent hw/ kube-node.cluster.local http://kube-master.cluster.local
118749
118750       salt.modules.k8s.label_present(name,     value,     node=None,    apis‐
118751       erver_url=None)
118752              New in version 2016.3.0.
118753
118754
118755              Set label to the current node
118756
118757              CLI Example:
118758
118759                 salt '*' k8s.label_present hw/disktype ssd
118760
118761                 salt '*' k8s.label_present hw/disktype ssd kube-node.cluster.local http://kube-master.cluster.local
118762
118763       salt.modules.k8s.update_secret(namespace,    name,    sources,    apis‐
118764       erver_url=None, force=True, saltenv=u'base')
118765              New in version 2016.3.0.
118766
118767
118768              alias to k8s.create_secret with update=true
118769
118770              CLI Example:
118771
118772                 salt '*' k8s.update_secret namespace_name secret_name sources [apiserver_url] [force=true] [update=false] [saltenv='base']
118773
118774              sources are either dictionary of {name: path, name1: path} pairs
118775              or array of strings defining paths.
118776
118777              Example of paths array:
118778
118779
118780
118781              ['/full/path/filename',            "file:///full/path/filename",
118782              "salt://secret/storage/file.txt",  "http://user:password@secure‐
118783              site.com/secret-file.json"]
118784
118785              Example of dictionaries:
118786
118787
118788
118789              {"nameit":  '/full/path/fiename',  name2:   "salt://secret/stor‐
118790              age/file.txt"}
118791
118792              optional parameters accepted:
118793
118794              force=[true]  default value is true if the to False, secret will
118795              not be created in case one of the files is not valid  kubernetes
118796              secret.  e.g.  capital letters in secret name or _ in case force
118797              is set to True, wrong files will be skipped but secret  will  be
118798              created any way.
118799
118800              saltenv=['base'] default value is base in case 'salt://' path is
118801              used, this parameter can change the visibility of files
118802
118803   salt.modules.kapacitor module
118804       Kapacitor execution module.
118805
118806       configuration
118807              This module accepts connection configuration details  either  as
118808              parameters  or  as configuration settings in /etc/salt/minion on
118809              the relevant minions:
118810
118811                 kapacitor.host: 'localhost'
118812                 kapacitor.port: 9092
118813
118814              New in version 2016.11.0.
118815
118816
118817              Also protocol and SSL settings could be configured:
118818
118819                 kapacitor.unsafe_ssl: 'false'
118820                 kapacitor.protocol: 'http'
118821
118822              New in version Fluorine.
118823
118824
118825              This data can also be passed into pillar.  Options  passed  into
118826              opts will overwrite options passed into pillar.
118827
118828       salt.modules.kapacitor.define_task(name,                   tick_script,
118829       task_type=u'stream',    database=None,     retention_policy=u'default',
118830       dbrps=None)
118831              Define a task. Serves as both create/update.
118832
118833              name   Name of the task.
118834
118835              tick_script
118836                     Path  to  the  TICK script for the task. Can be a salt://
118837                     source.
118838
118839              task_type
118840                     Task type. Defaults to 'stream'
118841
118842              dbrps  A  list  of   databases   and   retention   policies   in
118843                     "dbname"."rpname" format to fetch data from. For backward
118844                     compatibility,  the  value  of  'database'  and   'reten‐
118845                     tion_policy' will be merged as part of dbrps.
118846
118847                     New in version Fluorine.
118848
118849
118850              database
118851                     Which database to fetch data from.
118852
118853              retention_policy
118854                     Which  retention  policy  to fetch data from. Defaults to
118855                     'default'.
118856
118857              CLI Example:
118858
118859                 salt '*' kapacitor.define_task cpu salt://kapacitor/cpu.tick database=telegraf
118860
118861       salt.modules.kapacitor.delete_task(name)
118862              Delete a kapacitor task.
118863
118864              name   Name of the task to delete.
118865
118866              CLI Example:
118867
118868                 salt '*' kapacitor.delete_task cpu
118869
118870       salt.modules.kapacitor.disable_task(name)
118871              Disable a kapacitor task.
118872
118873              name   Name of the task to disable.
118874
118875              CLI Example:
118876
118877                 salt '*' kapacitor.disable_task cpu
118878
118879       salt.modules.kapacitor.enable_task(name)
118880              Enable a kapacitor task.
118881
118882              name   Name of the task to enable.
118883
118884              CLI Example:
118885
118886                 salt '*' kapacitor.enable_task cpu
118887
118888       salt.modules.kapacitor.get_task(name)
118889              Get a dict of data on a task.
118890
118891              name   Name of the task to get information about.
118892
118893              CLI Example:
118894
118895                 salt '*' kapacitor.get_task cpu
118896
118897       salt.modules.kapacitor.version(*args, **kwargs)
118898              Get the kapacitor version.
118899
118900   salt.modules.kerberos
118901       Manage Kerberos KDC
118902
118903       configuration
118904              In order to manage your KDC you will need to generate  a  keytab
118905              that can authenticate without requiring a password.
118906
118907          # ktadd -k /root/secure.keytab kadmin/admin kadmin/changepw
118908
118909       On the KDC minion you will need to add the following to the minion con‐
118910       figuration file so Salt knows what keytab to use and what principal  to
118911       authenticate as.
118912
118913          auth_keytab: /root/auth.keytab
118914          auth_principal: kadmin/admin
118915
118916       salt.modules.kerberos.create_keytab(name, keytab, enctypes=None)
118917              Create keytab
118918
118919              CLI Example:
118920
118921                 salt 'kdc.example.com' kerberos.create_keytab host/host1.example.com host1.example.com.keytab
118922
118923       salt.modules.kerberos.create_principal(name, enctypes=None)
118924              Create Principal
118925
118926              CLI Example:
118927
118928                 salt 'kdc.example.com' kerberos.create_principal host/example.com
118929
118930       salt.modules.kerberos.delete_principal(name)
118931              Delete Principal
118932
118933              CLI Example:
118934
118935                 salt 'kdc.example.com' kerberos.delete_principal host/example.com@EXAMPLE.COM
118936
118937       salt.modules.kerberos.get_policy(name)
118938              Get policy details
118939
118940              CLI Example:
118941
118942                 salt 'kdc.example.com' kerberos.get_policy my_policy
118943
118944       salt.modules.kerberos.get_principal(name)
118945              Get princial details
118946
118947              CLI Example:
118948
118949                 salt 'kdc.example.com' kerberos.get_principal root/admin
118950
118951       salt.modules.kerberos.get_privs()
118952              Current privileges
118953
118954              CLI Example:
118955
118956                 salt 'kdc.example.com' kerberos.get_privs
118957
118958       salt.modules.kerberos.list_policies()
118959              List policies
118960
118961              CLI Example:
118962
118963                 salt 'kdc.example.com' kerberos.list_policies
118964
118965       salt.modules.kerberos.list_principals()
118966              Get all principals
118967
118968              CLI Example:
118969
118970                 salt 'kde.example.com' kerberos.list_principals
118971
118972   salt.modules.kernelpkg_linux_apt
118973       Manage Linux kernel packages on APT-based systems
118974
118975       salt.modules.kernelpkg_linux_apt.active()
118976              Return the version of the running kernel.
118977
118978              CLI Example:
118979
118980                 salt '*' kernelpkg.active
118981
118982       salt.modules.kernelpkg_linux_apt.cleanup(keep_latest=True)
118983              Remove all unused kernel packages from the system.
118984
118985              keep_latest
118986                     True  In the event that the active kernel is not the lat‐
118987                     est one installed, setting this to True will  retain  the
118988                     latest  kernel package, in addition to the active one. If
118989                     False, all kernel packages other than the active one will
118990                     be removed.
118991
118992              CLI Example:
118993
118994                 salt '*' kernelpkg.cleanup
118995
118996       salt.modules.kernelpkg_linux_apt.latest_available()
118997              Return the version of the latest kernel from the package reposi‐
118998              tories.
118999
119000              CLI Example:
119001
119002                 salt '*' kernelpkg.latest_available
119003
119004       salt.modules.kernelpkg_linux_apt.latest_installed()
119005              Return the version of the latest installed kernel.
119006
119007              CLI Example:
119008
119009                 salt '*' kernelpkg.latest_installed
119010
119011              NOTE:
119012                 This function may not return the same value as active() if  a
119013                 new kernel has been installed and the system has not yet been
119014                 rebooted.  The needs_reboot() function exists to detect  this
119015                 condition.
119016
119017       salt.modules.kernelpkg_linux_apt.list_installed()
119018              Return a list of all installed kernels.
119019
119020              CLI Example:
119021
119022                 salt '*' kernelpkg.list_installed
119023
119024       salt.modules.kernelpkg_linux_apt.needs_reboot()
119025              Detect  if  a  new  kernel version has been installed but is not
119026              running.  Returns True if a new kernel is installed, False  oth‐
119027              erwise.
119028
119029              CLI Example:
119030
119031                 salt '*' kernelpkg.needs_reboot
119032
119033       salt.modules.kernelpkg_linux_apt.remove(release)
119034              Remove a specific version of the kernel.
119035
119036              release
119037                     The  release  number of an installed kernel. This must be
119038                     the   entire    release    number    as    returned    by
119039                     list_installed(), not the package name.
119040
119041              CLI Example:
119042
119043                 salt '*' kernelpkg.remove 4.4.0-70-generic
119044
119045       salt.modules.kernelpkg_linux_apt.upgrade(reboot=False, at_time=None)
119046              Upgrade the kernel and optionally reboot the system.
119047
119048              reboot False Request a reboot if a new kernel is available.
119049
119050              at_time
119051                     immediate  Schedule  the  reboot  at  some  point  in the
119052                     future. This argument is  ignored  if  reboot=False.  See
119053                     reboot() for more details on this argument.
119054
119055              CLI Example:
119056
119057                 salt '*' kernelpkg.upgrade
119058                 salt '*' kernelpkg.upgrade reboot=True at_time=1
119059
119060              NOTE:
119061                 An  immediate  reboot  often shuts down the system before the
119062                 minion has a chance to return, resulting in errors. A minimal
119063                 delay  (1 minute) is useful to ensure the result is delivered
119064                 to the master.
119065
119066       salt.modules.kernelpkg_linux_apt.upgrade_available()
119067              Detect if a new kernel version is available in the repositories.
119068              Returns True if a new kernel is available, False otherwise.
119069
119070              CLI Example:
119071
119072                 salt '*' kernelpkg.upgrade_available
119073
119074   salt.modules.kernelpkg_linux_yum
119075       Manage Linux kernel packages on YUM-based systems
119076
119077       salt.modules.kernelpkg_linux_yum.active()
119078              Return the version of the running kernel.
119079
119080              CLI Example:
119081
119082                 salt '*' kernelpkg.active
119083
119084       salt.modules.kernelpkg_linux_yum.cleanup(keep_latest=True)
119085              Remove all unused kernel packages from the system.
119086
119087              keep_latest
119088                     True  In the event that the active kernel is not the lat‐
119089                     est one installed, setting this to True will  retain  the
119090                     latest  kernel package, in addition to the active one. If
119091                     False, all kernel packages other than the active one will
119092                     be removed.
119093
119094              CLI Example:
119095
119096                 salt '*' kernelpkg.cleanup
119097
119098       salt.modules.kernelpkg_linux_yum.latest_available()
119099              Return the version of the latest kernel from the package reposi‐
119100              tories.
119101
119102              CLI Example:
119103
119104                 salt '*' kernelpkg.latest_available
119105
119106       salt.modules.kernelpkg_linux_yum.latest_installed()
119107              Return the version of the latest installed kernel.
119108
119109              CLI Example:
119110
119111                 salt '*' kernelpkg.latest_installed
119112
119113              NOTE:
119114                 This function may not return the same value as active() if  a
119115                 new kernel has been installed and the system has not yet been
119116                 rebooted.  The needs_reboot() function exists to detect  this
119117                 condition.
119118
119119       salt.modules.kernelpkg_linux_yum.list_installed()
119120              Return a list of all installed kernels.
119121
119122              CLI Example:
119123
119124                 salt '*' kernelpkg.list_installed
119125
119126       salt.modules.kernelpkg_linux_yum.needs_reboot()
119127              Detect  if  a  new  kernel version has been installed but is not
119128              running.  Returns True if a new kernel is installed, False  oth‐
119129              erwise.
119130
119131              CLI Example:
119132
119133                 salt '*' kernelpkg.needs_reboot
119134
119135       salt.modules.kernelpkg_linux_yum.remove(release)
119136              Remove a specific version of the kernel.
119137
119138              release
119139                     The  release  number of an installed kernel. This must be
119140                     the   entire    release    number    as    returned    by
119141                     list_installed(), not the package name.
119142
119143              CLI Example:
119144
119145                 salt '*' kernelpkg.remove 3.10.0-327.el7
119146
119147       salt.modules.kernelpkg_linux_yum.upgrade(reboot=False, at_time=None)
119148              Upgrade the kernel and optionally reboot the system.
119149
119150              reboot False Request a reboot if a new kernel is available.
119151
119152              at_time
119153                     immediate  Schedule  the  reboot  at  some  point  in the
119154                     future. This argument is  ignored  if  reboot=False.  See
119155                     reboot() for more details on this argument.
119156
119157              CLI Example:
119158
119159                 salt '*' kernelpkg.upgrade
119160                 salt '*' kernelpkg.upgrade reboot=True at_time=1
119161
119162              NOTE:
119163                 An  immediate  reboot  often shuts down the system before the
119164                 minion has a chance to return, resulting in errors. A minimal
119165                 delay  (1 minute) is useful to ensure the result is delivered
119166                 to the master.
119167
119168       salt.modules.kernelpkg_linux_yum.upgrade_available()
119169              Detect if a new kernel version is available in the repositories.
119170              Returns True if a new kernel is available, False otherwise.
119171
119172              CLI Example:
119173
119174                 salt '*' kernelpkg.upgrade_available
119175
119176   salt.modules.key
119177       Functions to view the minion's public key information
119178
119179       salt.modules.key.finger(hash_type=None)
119180              Return the minion's public key fingerprint
119181
119182              hash_type
119183                     The hash algorithm used to calculate the fingerprint
119184
119185              CLI Example:
119186
119187                 salt '*' key.finger
119188
119189       salt.modules.key.finger_master(hash_type=None)
119190              Return the fingerprint of the master's public key on the minion.
119191
119192              hash_type
119193                     The hash algorithm used to calculate the fingerprint
119194
119195              CLI Example:
119196
119197                 salt '*' key.finger_master
119198
119199   salt.modules.keyboard
119200       Module  for  managing  keyboards  on supported POSIX-like systems using
119201       systemd, or such as Redhat, Debian and Gentoo.
119202
119203       salt.modules.keyboard.get_sys()
119204              Get current system keyboard setting
119205
119206              CLI Example:
119207
119208                 salt '*' keyboard.get_sys
119209
119210       salt.modules.keyboard.get_x()
119211              Get current X keyboard setting
119212
119213              CLI Example:
119214
119215                 salt '*' keyboard.get_x
119216
119217       salt.modules.keyboard.set_sys(layout)
119218              Set current system keyboard setting
119219
119220              CLI Example:
119221
119222                 salt '*' keyboard.set_sys dvorak
119223
119224       salt.modules.keyboard.set_x(layout)
119225              Set current X keyboard setting
119226
119227              CLI Example:
119228
119229                 salt '*' keyboard.set_x dvorak
119230
119231   salt.modules.keystone
119232       Module for handling openstack keystone calls.
119233
119234       optdepends
119235
119236              · keystoneclient Python adapter
119237
119238       configuration
119239              This module is not usable  until  the  following  are  specified
119240              either in a pillar or in the minion's config file:
119241
119242                 keystone.user: admin
119243                 keystone.password: verybadpass
119244                 keystone.tenant: admin
119245                 keystone.tenant_id: f80919baedab48ec8931f200c65a50df
119246                 keystone.auth_url: 'http://127.0.0.1:5000/v2.0/'
119247
119248              OR (for token based authentication)
119249
119250                 keystone.token: 'ADMIN'
119251                 keystone.endpoint: 'http://127.0.0.1:35357/v2.0'
119252
119253              If  configuration  for  multiple openstack accounts is required,
119254              they can be set up  as  different  configuration  profiles.  For
119255              example:
119256
119257                 openstack1:
119258                   keystone.user: admin
119259                   keystone.password: verybadpass
119260                   keystone.tenant: admin
119261                   keystone.tenant_id: f80919baedab48ec8931f200c65a50df
119262                   keystone.auth_url: 'http://127.0.0.1:5000/v2.0/'
119263
119264                 openstack2:
119265                   keystone.user: admin
119266                   keystone.password: verybadpass
119267                   keystone.tenant: admin
119268                   keystone.tenant_id: f80919baedab48ec8931f200c65a50df
119269                   keystone.auth_url: 'http://127.0.0.2:5000/v2.0/'
119270
119271              With  this configuration in place, any of the keystone functions
119272              can make use of a configuration profile by declaring it  explic‐
119273              itly.  For example:
119274
119275                 salt '*' keystone.tenant_list profile=openstack1
119276
119277       salt.modules.keystone.api_version(profile=None, **connection_args)
119278              Returns the API version derived from endpoint's response.
119279
119280              CLI Example:
119281
119282                 salt '*' keystone.api_version
119283
119284       salt.modules.keystone.auth(profile=None, **connection_args)
119285              Set  up  keystone  credentials.  Only intended to be used within
119286              Keystone-enabled modules.
119287
119288              CLI Example:
119289
119290                 salt '*' keystone.auth
119291
119292       salt.modules.keystone.ec2_credentials_create(user_id=None,   name=None,
119293       tenant_id=None, tenant=None, profile=None, **connection_args)
119294              Create EC2-compatible credentials for user per tenant
119295
119296              CLI Examples:
119297
119298                 salt '*' keystone.ec2_credentials_create name=admin tenant=admin
119299
119300                 salt '*' keystone.ec2_credentials_create         user_id=c965f79c4f864eaaa9c3b41904e67082         tenant_id=722787eb540849158668370dc627ec5f
119301
119302       salt.modules.keystone.ec2_credentials_delete(user_id=None,   name=None,
119303       access_key=None, profile=None, **connection_args)
119304              Delete EC2-compatible credentials
119305
119306              CLI Examples:
119307
119308                 salt '*' keystone.ec2_credentials_delete         860f8c2c38ca4fab989f9bc56a061a64 access_key=5f66d2f24f604b8bb9cd28886106f442
119309
119310                 salt '*' keystone.ec2_credentials_delete name=admin         access_key=5f66d2f24f604b8bb9cd28886106f442
119311
119312       salt.modules.keystone.ec2_credentials_get(user_id=None,      name=None,
119313       access=None, profile=None, **connection_args)
119314              Return ec2_credentials for a user (keystone ec2-credentials-get)
119315
119316              CLI Examples:
119317
119318                 salt '*' keystone.ec2_credentials_get c965f79c4f864eaaa9c3b41904e67082 access=722787eb540849158668370
119319                 salt '*' keystone.ec2_credentials_get user_id=c965f79c4f864eaaa9c3b41904e67082 access=722787eb540849158668370
119320                 salt '*' keystone.ec2_credentials_get name=nova access=722787eb540849158668370dc627ec5f
119321
119322       salt.modules.keystone.ec2_credentials_list(user_id=None,     name=None,
119323       profile=None, **connection_args)
119324              Return a list of ec2_credentials for a specific  user  (keystone
119325              ec2-credentials-list)
119326
119327              CLI Examples:
119328
119329                 salt '*' keystone.ec2_credentials_list 298ce377245c4ec9b70e1c639c89e654
119330                 salt '*' keystone.ec2_credentials_list user_id=298ce377245c4ec9b70e1c639c89e654
119331                 salt '*' keystone.ec2_credentials_list name=jack
119332
119333       salt.modules.keystone.endpoint_create(service,  publicurl=None,  inter‐
119334       nalurl=None, adminurl=None, region=None, profile=None, url=None, inter‐
119335       face=None, **connection_args)
119336              Create an endpoint for an Openstack service
119337
119338              CLI Examples:
119339
119340                 salt 'v2' keystone.endpoint_create nova 'http://public/url' 'http://internal/url' 'http://adminurl/url' region
119341
119342                 salt 'v3' keystone.endpoint_create nova url='http://public/url' interface='public' region='RegionOne'
119343
119344       salt.modules.keystone.endpoint_delete(service,     region=None,    pro‐
119345       file=None, interface=None, **connection_args)
119346              Delete endpoints of an Openstack service
119347
119348              CLI Examples:
119349
119350                 salt 'v2' keystone.endpoint_delete nova [region=RegionOne]
119351
119352                 salt 'v3' keystone.endpoint_delete nova interface=admin [region=RegionOne]
119353
119354       salt.modules.keystone.endpoint_get(service, region=None,  profile=None,
119355       interface=None, **connection_args)
119356              Return a specific endpoint (keystone endpoint-get)
119357
119358              CLI Example:
119359
119360                 salt 'v2' keystone.endpoint_get nova [region=RegionOne]
119361
119362                 salt 'v3' keystone.endpoint_get nova interface=admin [region=RegionOne]
119363
119364       salt.modules.keystone.endpoint_list(profile=None, **connection_args)
119365              Return a list of available endpoints (keystone endpoints-list)
119366
119367              CLI Example:
119368
119369                 salt '*' keystone.endpoint_list
119370
119371       salt.modules.keystone.project_create(name,   domain,  description=None,
119372       enabled=True, profile=None, **connection_args)
119373              Create a keystone  project.   Overrides  keystone  tenant_create
119374              form api V2. For keystone api V3.
119375
119376              New in version 2016.11.0.
119377
119378
119379              name   The  project name, which must be unique within the owning
119380                     domain.
119381
119382              domain The domain name.
119383
119384              description
119385                     The project description.
119386
119387              enabled
119388                     Enables or disables the project.
119389
119390              profile
119391                     Configuration profile -  if  configuration  for  multiple
119392                     openstack accounts required.
119393
119394              CLI Examples:
119395
119396                 salt '*' keystone.project_create nova default description='Nova Compute Project'
119397                 salt '*' keystone.project_create test default enabled=False
119398
119399       salt.modules.keystone.project_delete(project_id=None,  name=None,  pro‐
119400       file=None, **connection_args)
119401              Delete a project (keystone project-delete).  Overrides  keystone
119402              tenant-delete form api V2. For keystone api V3 only.
119403
119404              New in version 2016.11.0.
119405
119406
119407              project_id
119408                     The project id.
119409
119410              name   The project name.
119411
119412              profile
119413                     Configuration  profile  -  if  configuration for multiple
119414                     openstack accounts required.
119415
119416              CLI Examples:
119417
119418                 salt '*' keystone.project_delete c965f79c4f864eaaa9c3b41904e67082
119419                 salt '*' keystone.project_delete project_id=c965f79c4f864eaaa9c3b41904e67082
119420                 salt '*' keystone.project_delete name=demo
119421
119422       salt.modules.keystone.project_get(project_id=None,   name=None,    pro‐
119423       file=None, **connection_args)
119424              Return a specific projects (keystone project-get) Overrides key‐
119425              stone tenant-get form api V2.  For keystone api V3 only.
119426
119427              New in version 2016.11.0.
119428
119429
119430              project_id
119431                     The project id.
119432
119433              name   The project name.
119434
119435              profile
119436                     Configuration profile -  if  configuration  for  multiple
119437                     openstack accounts required.
119438
119439              CLI Examples:
119440
119441                 salt '*' keystone.project_get c965f79c4f864eaaa9c3b41904e67082
119442                 salt '*' keystone.project_get project_id=c965f79c4f864eaaa9c3b41904e67082
119443                 salt '*' keystone.project_get name=nova
119444
119445       salt.modules.keystone.project_list(profile=None, **connection_args)
119446              Return  a  list  of available projects (keystone projects-list).
119447              Overrides keystone tenants-list form api V2.  For  keystone  api
119448              V3 only.
119449
119450              New in version 2016.11.0.
119451
119452
119453              profile
119454                     Configuration  profile  -  if  configuration for multiple
119455                     openstack accounts required.
119456
119457              CLI Example:
119458
119459                 salt '*' keystone.project_list
119460
119461       salt.modules.keystone.project_update(project_id=None,        name=None,
119462       description=None, enabled=None, profile=None, **connection_args)
119463              Update a tenant's information (keystone project-update) The fol‐
119464              lowing fields may be updated: name, description,  enabled.   Can
119465              only update name if targeting by ID
119466
119467              Overrides  keystone tenant_update form api V2.  For keystone api
119468              V3 only.
119469
119470              New in version 2016.11.0.
119471
119472
119473              project_id
119474                     The project id.
119475
119476              name   The project name, which must be unique within the  owning
119477                     domain.
119478
119479              description
119480                     The project description.
119481
119482              enabled
119483                     Enables or disables the project.
119484
119485              profile
119486                     Configuration  profile  -  if  configuration for multiple
119487                     openstack accounts required.
119488
119489              CLI Examples:
119490
119491                 salt '*' keystone.project_update name=admin enabled=True
119492                 salt '*' keystone.project_update c965f79c4f864eaaa9c3b41904e67082 name=admin email=admin@domain.com
119493
119494       salt.modules.keystone.role_create(name,     profile=None,     **connec‐
119495       tion_args)
119496              Create a named role.
119497
119498              CLI Example:
119499
119500                 salt '*' keystone.role_create admin
119501
119502       salt.modules.keystone.role_delete(role_id=None,     name=None,     pro‐
119503       file=None, **connection_args)
119504              Delete a role (keystone role-delete)
119505
119506              CLI Examples:
119507
119508                 salt '*' keystone.role_delete c965f79c4f864eaaa9c3b41904e67082
119509                 salt '*' keystone.role_delete role_id=c965f79c4f864eaaa9c3b41904e67082
119510                 salt '*' keystone.role_delete name=admin
119511
119512       salt.modules.keystone.role_get(role_id=None,  name=None,  profile=None,
119513       **connection_args)
119514              Return a specific roles (keystone role-get)
119515
119516              CLI Examples:
119517
119518                 salt '*' keystone.role_get c965f79c4f864eaaa9c3b41904e67082
119519                 salt '*' keystone.role_get role_id=c965f79c4f864eaaa9c3b41904e67082
119520                 salt '*' keystone.role_get name=nova
119521
119522       salt.modules.keystone.role_list(profile=None, **connection_args)
119523              Return a list of available roles (keystone role-list)
119524
119525              CLI Example:
119526
119527                 salt '*' keystone.role_list
119528
119529       salt.modules.keystone.service_create(name,    service_type,    descrip‐
119530       tion=None, profile=None, **connection_args)
119531              Add service to Keystone service catalog
119532
119533              CLI Examples:
119534
119535                 salt '*' keystone.service_create nova compute 'OpenStack Compute Service'
119536
119537       salt.modules.keystone.service_delete(service_id=None,  name=None,  pro‐
119538       file=None, **connection_args)
119539              Delete a service from Keystone service catalog
119540
119541              CLI Examples:
119542
119543                 salt '*' keystone.service_delete c965f79c4f864eaaa9c3b41904e67082
119544                 salt '*' keystone.service_delete name=nova
119545
119546       salt.modules.keystone.service_get(service_id=None,    name=None,   pro‐
119547       file=None, **connection_args)
119548              Return a specific services (keystone service-get)
119549
119550              CLI Examples:
119551
119552                 salt '*' keystone.service_get c965f79c4f864eaaa9c3b41904e67082
119553                 salt '*' keystone.service_get service_id=c965f79c4f864eaaa9c3b41904e67082
119554                 salt '*' keystone.service_get name=nova
119555
119556       salt.modules.keystone.service_list(profile=None, **connection_args)
119557              Return a list of available services (keystone services-list)
119558
119559              CLI Example:
119560
119561                 salt '*' keystone.service_list
119562
119563       salt.modules.keystone.tenant_create(name,             description=None,
119564       enabled=True, profile=None, **connection_args)
119565              Create a keystone tenant
119566
119567              CLI Examples:
119568
119569                 salt '*' keystone.tenant_create nova description='nova tenant'
119570                 salt '*' keystone.tenant_create test enabled=False
119571
119572       salt.modules.keystone.tenant_delete(tenant_id=None,   name=None,   pro‐
119573       file=None, **connection_args)
119574              Delete a tenant (keystone tenant-delete)
119575
119576              CLI Examples:
119577
119578                 salt '*' keystone.tenant_delete c965f79c4f864eaaa9c3b41904e67082
119579                 salt '*' keystone.tenant_delete tenant_id=c965f79c4f864eaaa9c3b41904e67082
119580                 salt '*' keystone.tenant_delete name=demo
119581
119582       salt.modules.keystone.tenant_get(tenant_id=None,    name=None,     pro‐
119583       file=None, **connection_args)
119584              Return a specific tenants (keystone tenant-get)
119585
119586              CLI Examples:
119587
119588                 salt '*' keystone.tenant_get c965f79c4f864eaaa9c3b41904e67082
119589                 salt '*' keystone.tenant_get tenant_id=c965f79c4f864eaaa9c3b41904e67082
119590                 salt '*' keystone.tenant_get name=nova
119591
119592       salt.modules.keystone.tenant_list(profile=None, **connection_args)
119593              Return a list of available tenants (keystone tenants-list)
119594
119595              CLI Example:
119596
119597                 salt '*' keystone.tenant_list
119598
119599       salt.modules.keystone.tenant_update(tenant_id=None, name=None, descrip‐
119600       tion=None, enabled=None, profile=None, **connection_args)
119601              Update a tenant's information (keystone tenant-update) The  fol‐
119602              lowing  fields  may be updated: name, description, enabled.  Can
119603              only update name if targeting by ID
119604
119605              CLI Examples:
119606
119607                 salt '*' keystone.tenant_update name=admin enabled=True
119608                 salt '*' keystone.tenant_update c965f79c4f864eaaa9c3b41904e67082 name=admin email=admin@domain.com
119609
119610       salt.modules.keystone.token_get(profile=None, **connection_args)
119611              Return the configured tokens (keystone token-get)
119612
119613              CLI Example:
119614
119615                 salt '*' keystone.token_get c965f79c4f864eaaa9c3b41904e67082
119616
119617       salt.modules.keystone.user_create(name,    password,    email,     ten‐
119618       ant_id=None,   enabled=True,  profile=None,  project_id=None,  descrip‐
119619       tion=None, **connection_args)
119620              Create a user (keystone user-create)
119621
119622              CLI Examples:
119623
119624                 salt '*' keystone.user_create name=jack password=zero email=jack@halloweentown.org         tenant_id=a28a7b5a999a455f84b1f5210264375e enabled=True
119625
119626       salt.modules.keystone.user_delete(user_id=None,     name=None,     pro‐
119627       file=None, **connection_args)
119628              Delete a user (keystone user-delete)
119629
119630              CLI Examples:
119631
119632                 salt '*' keystone.user_delete c965f79c4f864eaaa9c3b41904e67082
119633                 salt '*' keystone.user_delete user_id=c965f79c4f864eaaa9c3b41904e67082
119634                 salt '*' keystone.user_delete name=nova
119635
119636       salt.modules.keystone.user_get(user_id=None,  name=None,  profile=None,
119637       **connection_args)
119638              Return a specific users (keystone user-get)
119639
119640              CLI Examples:
119641
119642                 salt '*' keystone.user_get c965f79c4f864eaaa9c3b41904e67082
119643                 salt '*' keystone.user_get user_id=c965f79c4f864eaaa9c3b41904e67082
119644                 salt '*' keystone.user_get name=nova
119645
119646       salt.modules.keystone.user_list(profile=None, **connection_args)
119647              Return a list of available users (keystone user-list)
119648
119649              CLI Example:
119650
119651                 salt '*' keystone.user_list
119652
119653       salt.modules.keystone.user_password_update(user_id=None,     name=None,
119654       password=None, profile=None, **connection_args)
119655              Update a user's password (keystone user-password-update)
119656
119657              CLI Examples:
119658
119659                 salt '*' keystone.user_password_update c965f79c4f864eaaa9c3b41904e67082 password=12345
119660                 salt '*' keystone.user_password_update user_id=c965f79c4f864eaaa9c3b41904e67082 password=12345
119661                 salt '*' keystone.user_password_update name=nova password=12345
119662
119663       salt.modules.keystone.user_role_add(user_id=None,    user=None,    ten‐
119664       ant_id=None,  tenant=None,   role_id=None,   role=None,   profile=None,
119665       project_id=None, project_name=None, **connection_args)
119666              Add role for user in tenant (keystone user-role-add)
119667
119668              CLI Examples:
119669
119670                 salt '*' keystone.user_role_add user_id=298ce377245c4ec9b70e1c639c89e654 tenant_id=7167a092ece84bae8cead4bf9d15bb3b role_id=ce377245c4ec9b70e1c639c89e8cead4
119671                 salt '*' keystone.user_role_add user=admin tenant=admin role=admin
119672
119673       salt.modules.keystone.user_role_list(user_id=None,      tenant_id=None,
119674       user_name=None,   tenant_name=None,   profile=None,    project_id=None,
119675       project_name=None, **connection_args)
119676              Return a list of available user_roles (keystone user-roles-list)
119677
119678              CLI Examples:
119679
119680                 salt '*' keystone.user_role_list user_id=298ce377245c4ec9b70e1c639c89e654 tenant_id=7167a092ece84bae8cead4bf9d15bb3b
119681                 salt '*' keystone.user_role_list user_name=admin tenant_name=admin
119682
119683       salt.modules.keystone.user_role_remove(user_id=None,   user=None,  ten‐
119684       ant_id=None,  tenant=None,   role_id=None,   role=None,   profile=None,
119685       project_id=None, project_name=None, **connection_args)
119686              Remove role for user in tenant (keystone user-role-remove)
119687
119688              CLI Examples:
119689
119690                 salt '*' keystone.user_role_remove user_id=298ce377245c4ec9b70e1c639c89e654 tenant_id=7167a092ece84bae8cead4bf9d15bb3b role_id=ce377245c4ec9b70e1c639c89e8cead4
119691                 salt '*' keystone.user_role_remove user=admin tenant=admin role=admin
119692
119693       salt.modules.keystone.user_update(user_id=None,  name=None, email=None,
119694       enabled=None,   tenant=None,   profile=None,   project=None,   descrip‐
119695       tion=None, **connection_args)
119696              Update a user's information (keystone user-update) The following
119697              fields may be updated: name, email,  enabled,  tenant.   Because
119698              the name is one of the fields, a valid user id is required.
119699
119700              CLI Examples:
119701
119702                 salt '*' keystone.user_update user_id=c965f79c4f864eaaa9c3b41904e67082 name=newname
119703                 salt '*' keystone.user_update c965f79c4f864eaaa9c3b41904e67082 name=newname email=newemail@domain.com
119704
119705       salt.modules.keystone.user_verify_password(user_id=None,     name=None,
119706       password=None, profile=None, **connection_args)
119707              Verify a user's password
119708
119709              CLI Examples:
119710
119711                 salt '*' keystone.user_verify_password name=test password=foobar
119712                 salt '*' keystone.user_verify_password user_id=c965f79c4f864eaaa9c3b41904e67082 password=foobar
119713
119714   salt.modules.keystoneng
119715       Keystone module for interacting with OpenStack Keystone
119716
119717       New in version 2018.3.0.
119718
119719
119720       :depends:shade
119721
119722       Example configuration
119723
119724          keystone:
119725            cloud: default
119726
119727          keystone:
119728            auth:
119729              username: admin
119730              password: password123
119731              user_domain_name: mydomain
119732              project_name: myproject
119733              project_domain_name: myproject
119734              auth_url: https://example.org:5000/v3
119735            identity_api_version: 3
119736
119737       salt.modules.keystoneng.compare_changes(obj, **kwargs)
119738              Compare two dicts returning only keys that exist  in  the  first
119739              dict and are different in the second one
119740
119741       salt.modules.keystoneng.domain_create(auth=None, **kwargs)
119742              Create a domain
119743
119744              CLI Example:
119745
119746                 salt '*' keystoneng.domain_create name=domain1
119747
119748       salt.modules.keystoneng.domain_delete(auth=None, **kwargs)
119749              Delete a domain
119750
119751              CLI Example:
119752
119753                 salt '*' keystoneng.domain_delete name=domain1
119754                 salt '*' keystoneng.domain_delete name=b62e76fbeeff4e8fb77073f591cf211e
119755
119756       salt.modules.keystoneng.domain_get(auth=None, **kwargs)
119757              Get a single domain
119758
119759              CLI Example:
119760
119761                 salt '*' keystoneng.domain_get name=domain1
119762                 salt '*' keystoneng.domain_get name=b62e76fbeeff4e8fb77073f591cf211e
119763
119764       salt.modules.keystoneng.domain_list(auth=None, **kwargs)
119765              List domains
119766
119767              CLI Example:
119768
119769                 salt '*' keystoneng.domain_list
119770
119771       salt.modules.keystoneng.domain_search(auth=None, **kwargs)
119772              Search domains
119773
119774              CLI Example:
119775
119776                 salt '*' keystoneng.domain_search
119777                 salt '*' keystoneng.domain_search name=domain1
119778
119779       salt.modules.keystoneng.domain_update(auth=None, **kwargs)
119780              Update a domain
119781
119782              CLI Example:
119783
119784                 salt '*' keystoneng.domain_update name=domain1 new_name=newdomain
119785                 salt '*' keystoneng.domain_update name=domain1 enabled=True description='new description'
119786
119787       salt.modules.keystoneng.endpoint_create(auth=None, **kwargs)
119788              Create an endpoint
119789
119790              CLI Example:
119791
119792                 salt '*' keystoneng.endpoint_create interface=admin service=glance url=https://example.org:9292
119793                 salt '*' keystoneng.endpoint_create interface=public service=glance region=RegionOne url=https://example.org:9292
119794                 salt '*' keystoneng.endpoint_create interface=admin service=glance url=https://example.org:9292 enabled=True
119795
119796       salt.modules.keystoneng.endpoint_delete(auth=None, **kwargs)
119797              Delete an endpoint
119798
119799              CLI Example:
119800
119801                 salt '*' keystoneng.endpoint_delete id=3bee4bd8c2b040ee966adfda1f0bfca9
119802
119803       salt.modules.keystoneng.endpoint_get(auth=None, **kwargs)
119804              Get a single endpoint
119805
119806              CLI Example:
119807
119808                 salt '*' keystoneng.endpoint_get id=02cffaa173b2460f98e40eda3748dae5
119809
119810       salt.modules.keystoneng.endpoint_list(auth=None, **kwargs)
119811              List endpoints
119812
119813              CLI Example:
119814
119815                 salt '*' keystoneng.endpoint_list
119816
119817       salt.modules.keystoneng.endpoint_search(auth=None, **kwargs)
119818              Search endpoints
119819
119820              CLI Example:
119821
119822                 salt '*' keystoneng.endpoint_search
119823                 salt '*' keystoneng.endpoint_search id=02cffaa173b2460f98e40eda3748dae5
119824
119825       salt.modules.keystoneng.endpoint_update(auth=None, **kwargs)
119826              Update an endpoint
119827
119828              CLI Example:
119829
119830                 salt '*' keystoneng.endpoint_update endpoint_id=4f961ad09d2d48948896bbe7c6a79717 interface=public enabled=False
119831                 salt '*' keystoneng.endpoint_update endpoint_id=4f961ad09d2d48948896bbe7c6a79717 region=newregion
119832                 salt '*' keystoneng.endpoint_update endpoint_id=4f961ad09d2d48948896bbe7c6a79717 service_name_or_id=glance url=https://example.org:9292
119833
119834       salt.modules.keystoneng.get_entity(ent_type, **kwargs)
119835              Attempt to query Keystone for more information about an entity
119836
119837       salt.modules.keystoneng.get_openstack_cloud(auth=None)
119838              Return an openstack_cloud
119839
119840       salt.modules.keystoneng.get_operator_cloud(auth=None)
119841              Return an operator_cloud
119842
119843       salt.modules.keystoneng.group_create(auth=None, **kwargs)
119844              Create a group
119845
119846              CLI Example:
119847
119848                 salt '*' keystoneng.group_create name=group1
119849                 salt '*' keystoneng.group_create name=group2 domain=domain1 description='my group2'
119850
119851       salt.modules.keystoneng.group_delete(auth=None, **kwargs)
119852              Delete a group
119853
119854              CLI Example:
119855
119856                 salt '*' keystoneng.group_delete name=group1
119857                 salt '*' keystoneng.group_delete name=group2 domain_id=b62e76fbeeff4e8fb77073f591cf211e
119858                 salt '*' keystoneng.group_delete name=0e4febc2a5ab4f2c8f374b054162506d
119859
119860       salt.modules.keystoneng.group_get(auth=None, **kwargs)
119861              Get a single group
119862
119863              CLI Example:
119864
119865                 salt '*' keystoneng.group_get name=group1
119866                 salt '*' keystoneng.group_get name=group2 domain_id=b62e76fbeeff4e8fb77073f591cf211e
119867                 salt '*' keystoneng.group_get name=0e4febc2a5ab4f2c8f374b054162506d
119868
119869       salt.modules.keystoneng.group_list(auth=None, **kwargs)
119870              List groups
119871
119872              CLI Example:
119873
119874                 salt '*' keystoneng.group_list
119875                 salt '*' keystoneng.group_list domain_id=b62e76fbeeff4e8fb77073f591cf211e
119876
119877       salt.modules.keystoneng.group_search(auth=None, **kwargs)
119878              Search for groups
119879
119880              CLI Example:
119881
119882                 salt '*' keystoneng.group_search name=group1
119883                 salt '*' keystoneng.group_search domain_id=b62e76fbeeff4e8fb77073f591cf211e
119884
119885       salt.modules.keystoneng.group_update(auth=None, **kwargs)
119886              Update a group
119887
119888              CLI Example:
119889
119890                 salt '*' keystoneng.group_update name=group1 description='new description'
119891                 salt '*' keystoneng.group_create name=group2 domain_id=b62e76fbeeff4e8fb77073f591cf211e new_name=newgroupname
119892                 salt '*' keystoneng.group_create name=0e4febc2a5ab4f2c8f374b054162506d new_name=newgroupname
119893
119894       salt.modules.keystoneng.project_create(auth=None, **kwargs)
119895              Create a project
119896
119897              CLI Example:
119898
119899                 salt '*' keystoneng.project_create name=project1
119900                 salt '*' keystoneng.project_create name=project2 domain_id=b62e76fbeeff4e8fb77073f591cf211e
119901                 salt '*' keystoneng.project_create name=project3 enabled=False description='my project3'
119902
119903       salt.modules.keystoneng.project_delete(auth=None, **kwargs)
119904              Delete a project
119905
119906              CLI Example:
119907
119908                 salt '*' keystoneng.project_delete name=project1
119909                 salt '*' keystoneng.project_delete name=project2 domain_id=b62e76fbeeff4e8fb77073f591cf211e
119910                 salt '*' keystoneng.project_delete name=f315afcf12f24ad88c92b936c38f2d5a
119911
119912       salt.modules.keystoneng.project_get(auth=None, **kwargs)
119913              Get a single project
119914
119915              CLI Example:
119916
119917                 salt '*' keystoneng.project_get name=project1
119918                 salt '*' keystoneng.project_get name=project2 domain_id=b62e76fbeeff4e8fb77073f591cf211e
119919                 salt '*' keystoneng.project_get name=f315afcf12f24ad88c92b936c38f2d5a
119920
119921       salt.modules.keystoneng.project_list(auth=None, **kwargs)
119922              List projects
119923
119924              CLI Example:
119925
119926                 salt '*' keystoneng.project_list
119927                 salt '*' keystoneng.project_list domain_id=b62e76fbeeff4e8fb77073f591cf211e
119928
119929       salt.modules.keystoneng.project_search(auth=None, **kwargs)
119930              Search projects
119931
119932              CLI Example:
119933
119934                 salt '*' keystoneng.project_search
119935                 salt '*' keystoneng.project_search name=project1
119936                 salt '*' keystoneng.project_search domain_id=b62e76fbeeff4e8fb77073f591cf211e
119937
119938       salt.modules.keystoneng.project_update(auth=None, **kwargs)
119939              Update a project
119940
119941              CLI Example:
119942
119943                 salt '*' keystoneng.project_update name=project1 new_name=newproject
119944                 salt '*' keystoneng.project_update name=project2 enabled=False description='new description'
119945
119946       salt.modules.keystoneng.role_assignment_list(auth=None, **kwargs)
119947              List role assignments
119948
119949              CLI Example:
119950
119951                 salt '*' keystoneng.role_assignment_list
119952
119953       salt.modules.keystoneng.role_create(auth=None, **kwargs)
119954              Create a role
119955
119956              CLI Example:
119957
119958                 salt '*' keystoneng.role_create name=role1
119959                 salt '*' keystoneng.role_create name=role1 domain_id=b62e76fbeeff4e8fb77073f591cf211e
119960
119961       salt.modules.keystoneng.role_delete(auth=None, **kwargs)
119962              Delete a role
119963
119964              CLI Example:
119965
119966                 salt '*' keystoneng.role_delete name=role1 domain_id=b62e76fbeeff4e8fb77073f591cf211e
119967                 salt '*' keystoneng.role_delete name=1eb6edd5525e4ac39af571adee673559
119968
119969       salt.modules.keystoneng.role_get(auth=None, **kwargs)
119970              Get a single role
119971
119972              CLI Example:
119973
119974                 salt '*' keystoneng.role_get name=role1
119975                 salt '*' keystoneng.role_get name=role1 domain_id=b62e76fbeeff4e8fb77073f591cf211e
119976                 salt '*' keystoneng.role_get name=1eb6edd5525e4ac39af571adee673559
119977
119978       salt.modules.keystoneng.role_grant(auth=None, **kwargs)
119979              Grant a role in a project/domain to a user/group
119980
119981              CLI Example:
119982
119983                 salt '*' keystoneng.role_grant name=role1 user=user1 project=project1
119984                 salt '*' keystoneng.role_grant name=ddbe3e0ed74e4c7f8027bad4af03339d group=user1 project=project1 domain=domain1
119985                 salt '*' keystoneng.role_grant name=ddbe3e0ed74e4c7f8027bad4af03339d group=19573afd5e4241d8b65c42215bae9704 project=1dcac318a83b4610b7a7f7ba01465548
119986
119987       salt.modules.keystoneng.role_list(auth=None, **kwargs)
119988              List roles
119989
119990              CLI Example:
119991
119992                 salt '*' keystoneng.role_list
119993                 salt '*' keystoneng.role_list domain_id=b62e76fbeeff4e8fb77073f591cf211e
119994
119995       salt.modules.keystoneng.role_revoke(auth=None, **kwargs)
119996              Grant a role in a project/domain to a user/group
119997
119998              CLI Example:
119999
120000                 salt '*' keystoneng.role_revoke name=role1 user=user1 project=project1
120001                 salt '*' keystoneng.role_revoke name=ddbe3e0ed74e4c7f8027bad4af03339d group=user1 project=project1 domain=domain1
120002                 salt '*' keystoneng.role_revoke name=ddbe3e0ed74e4c7f8027bad4af03339d group=19573afd5e4241d8b65c42215bae9704 project=1dcac318a83b4610b7a7f7ba01465548
120003
120004       salt.modules.keystoneng.role_search(auth=None, **kwargs)
120005              Search roles
120006
120007              CLI Example:
120008
120009                 salt '*' keystoneng.role_search
120010                 salt '*' keystoneng.role_search name=role1
120011                 salt '*' keystoneng.role_search domain_id=b62e76fbeeff4e8fb77073f591cf211e
120012
120013       salt.modules.keystoneng.role_update(auth=None, **kwargs)
120014              Update a role
120015
120016              CLI Example:
120017
120018                 salt '*' keystoneng.role_update name=role1 new_name=newrole
120019                 salt '*' keystoneng.role_update name=1eb6edd5525e4ac39af571adee673559 new_name=newrole
120020
120021       salt.modules.keystoneng.service_create(auth=None, **kwargs)
120022              Create a service
120023
120024              CLI Example:
120025
120026                 salt '*' keystoneng.service_create name=glance type=image
120027                 salt '*' keystoneng.service_create name=glance type=image description="Image"
120028
120029       salt.modules.keystoneng.service_delete(auth=None, **kwargs)
120030              Delete a service
120031
120032              CLI Example:
120033
120034                 salt '*' keystoneng.service_delete name=glance
120035                 salt '*' keystoneng.service_delete name=39cc1327cdf744ab815331554430e8ec
120036
120037       salt.modules.keystoneng.service_get(auth=None, **kwargs)
120038              Get a single service
120039
120040              CLI Example:
120041
120042                 salt '*' keystoneng.service_get name=glance
120043                 salt '*' keystoneng.service_get name=75a5804638944b3ab54f7fbfcec2305a
120044
120045       salt.modules.keystoneng.service_list(auth=None, **kwargs)
120046              List services
120047
120048              CLI Example:
120049
120050                 salt '*' keystoneng.service_list
120051
120052       salt.modules.keystoneng.service_search(auth=None, **kwargs)
120053              Search services
120054
120055              CLI Example:
120056
120057                 salt '*' keystoneng.service_search
120058                 salt '*' keystoneng.service_search name=glance
120059                 salt '*' keystoneng.service_search name=135f0403f8e544dc9008c6739ecda860
120060
120061       salt.modules.keystoneng.service_update(auth=None, **kwargs)
120062              Update a service
120063
120064              CLI Example:
120065
120066                 salt '*' keystoneng.service_update name=cinder type=volumev2
120067                 salt '*' keystoneng.service_update name=cinder description='new description'
120068                 salt '*' keystoneng.service_update name=ab4d35e269f147b3ae2d849f77f5c88f enabled=False
120069
120070       salt.modules.keystoneng.setup_clouds(auth=None)
120071              Call  functions  to create Shade cloud objects in __context__ to
120072              take advantage  of  Shade's  in-memory  caching  across  several
120073              states
120074
120075       salt.modules.keystoneng.user_create(auth=None, **kwargs)
120076              Create a user
120077
120078              CLI Example:
120079
120080                 salt '*' keystoneng.user_create name=user1
120081                 salt '*' keystoneng.user_create name=user2 password=1234 enabled=False
120082                 salt '*' keystoneng.user_create name=user3 domain_id=b62e76fbeeff4e8fb77073f591cf211e
120083
120084       salt.modules.keystoneng.user_delete(auth=None, **kwargs)
120085              Delete a user
120086
120087              CLI Example:
120088
120089                 salt '*' keystoneng.user_delete name=user1
120090                 salt '*' keystoneng.user_delete name=user2 domain_id=b62e76fbeeff4e8fb77073f591cf211e
120091                 salt '*' keystoneng.user_delete name=a42cbbfa1e894e839fd0f584d22e321f
120092
120093       salt.modules.keystoneng.user_get(auth=None, **kwargs)
120094              Get a single user
120095
120096              CLI Example:
120097
120098                 salt '*' keystoneng.user_get name=user1
120099                 salt '*' keystoneng.user_get name=user1 domain_id=b62e76fbeeff4e8fb77073f591cf211e
120100                 salt '*' keystoneng.user_get name=02cffaa173b2460f98e40eda3748dae5
120101
120102       salt.modules.keystoneng.user_list(auth=None, **kwargs)
120103              List users
120104
120105              CLI Example:
120106
120107                 salt '*' keystoneng.user_list
120108                 salt '*' keystoneng.user_list domain_id=b62e76fbeeff4e8fb77073f591cf211e
120109
120110       salt.modules.keystoneng.user_search(auth=None, **kwargs)
120111              List users
120112
120113              CLI Example:
120114
120115                 salt '*' keystoneng.user_list
120116                 salt '*' keystoneng.user_list domain_id=b62e76fbeeff4e8fb77073f591cf211e
120117
120118       salt.modules.keystoneng.user_update(auth=None, **kwargs)
120119              Update a user
120120
120121              CLI Example:
120122
120123                 salt '*' keystoneng.user_update name=user1 enabled=False description='new description'
120124                 salt '*' keystoneng.user_update name=user1 new_name=newuser
120125
120126   salt.modules.kmod
120127       Module to manage Linux kernel modules
120128
120129       salt.modules.kmod.available()
120130              Return a list of all available kernel modules
120131
120132              CLI Example:
120133
120134                 salt '*' kmod.available
120135
120136       salt.modules.kmod.check_available(mod)
120137              Check to see if the specified kernel module is available
120138
120139              CLI Example:
120140
120141                 salt '*' kmod.check_available kvm
120142
120143       salt.modules.kmod.is_loaded(mod)
120144              Check to see if the specified kernel module is loaded
120145
120146              CLI Example:
120147
120148                 salt '*' kmod.is_loaded kvm
120149
120150       salt.modules.kmod.load(mod, persist=False)
120151              Load the specified kernel module
120152
120153              mod    Name of module to add
120154
120155              persist
120156                     Write  module  to  /etc/modules to make it load on system
120157                     reboot
120158
120159              CLI Example:
120160
120161                 salt '*' kmod.load kvm
120162
120163       salt.modules.kmod.lsmod()
120164              Return a dict containing information about currently loaded mod‐
120165              ules
120166
120167              CLI Example:
120168
120169                 salt '*' kmod.lsmod
120170
120171       salt.modules.kmod.mod_list(only_persist=False)
120172              Return a list of the loaded module names
120173
120174              only_persist
120175                     Only return the list of loaded persistent modules
120176
120177              CLI Example:
120178
120179                 salt '*' kmod.mod_list
120180
120181       salt.modules.kmod.remove(mod, persist=False, comment=True)
120182              Remove the specified kernel module
120183
120184              mod    Name of module to remove
120185
120186              persist
120187                     Also remove module from /etc/modules
120188
120189              comment
120190                     If persist is set don't remove line from /etc/modules but
120191                     only comment it
120192
120193              CLI Example:
120194
120195                 salt '*' kmod.remove kvm
120196
120197   salt.modules.kubernetes
120198       Module for handling kubernetes calls.
120199
120200       optdepends
120201
120202              · kubernetes Python client
120203
120204       configuration
120205              The k8s API settings are provided either in  a  pillar,  in  the
120206              minion's config file, or in master's config file:
120207
120208                 kubernetes.kubeconfig: '/path/to/kubeconfig'
120209                 kubernetes.kubeconfig-data: '<base64 encoded kubeconfig content'
120210                 kubernetes.context: 'context'
120211
120212       These  settings  can be overridden by adding context and `kubeconfig or
120213       kubeconfig_data parameters when calling a function.
120214
120215       The data format for kubernetes.kubeconfig-data value is the content  of
120216       kubeconfig base64 encoded in one line.
120217
120218       Only kubeconfig or kubeconfig-data should be provided. In case both are
120219       provided kubeconfig entry is preferred.
120220
120221          salt '*' kubernetes.nodes kubeconfig=/etc/salt/k8s/kubeconfig context=minikube
120222
120223       Changed in version Fluorine.
120224
120225
120226       WARNING:
120227          Configuration options changed in Fluorine. The following  configura‐
120228          tion options have been removed:
120229
120230          · kubernetes.user
120231
120232          · kubernetes.password
120233
120234          · kubernetes.api_url
120235
120236          · kubernetes.certificate-authority-data/file
120237
120238          · kubernetes.client-certificate-data/file
120239
120240          · kubernetes.client-key-data/file
120241
120242          Please use now:
120243
120244          · kubernetes.kubeconfig or kubernetes.kubeconfig-data
120245
120246          · kubernetes.context
120247
120248       salt.modules.kubernetes.configmaps(namespace=u'default', **kwargs)
120249              Return a list of kubernetes configmaps defined in the namespace
120250
120251              CLI Examples:
120252
120253                 salt '*' kubernetes.configmaps
120254                 salt '*' kubernetes.configmaps namespace=default
120255
120256       salt.modules.kubernetes.create_configmap(name,     namespace,     data,
120257       source=None, template=None, saltenv=u'base', **kwargs)
120258              Creates the kubernetes configmap as defined by the user.
120259
120260              CLI Examples:
120261
120262                 salt 'minion1' kubernetes.create_configmap             settings default '{"example.conf": "# example file"}'
120263
120264                 salt 'minion2' kubernetes.create_configmap             name=settings namespace=default data='{"example.conf": "# example file"}'
120265
120266       salt.modules.kubernetes.create_deployment(name,  namespace,   metadata,
120267       spec, source, template, saltenv, **kwargs)
120268              Creates the kubernetes deployment as defined by the user.
120269
120270       salt.modules.kubernetes.create_namespace(name, **kwargs)
120271              Creates a namespace with the specified name.
120272
120273              CLI Example:
120274                     salt '*' kubernetes.create_namespace salt salt '*' kuber‐
120275                     netes.create_namespace name=salt
120276
120277       salt.modules.kubernetes.create_pod(name,  namespace,  metadata,   spec,
120278       source, template, saltenv, **kwargs)
120279              Creates the kubernetes deployment as defined by the user.
120280
120281       salt.modules.kubernetes.create_secret(name,       namespace=u'default',
120282       data=None, source=None, template=None, saltenv=u'base', **kwargs)
120283              Creates the kubernetes secret as defined by the user.
120284
120285              CLI Examples:
120286
120287                 salt 'minion1' kubernetes.create_secret             passwords default '{"db": "letmein"}'
120288
120289                 salt 'minion2' kubernetes.create_secret             name=passwords namespace=default data='{"db": "letmein"}'
120290
120291       salt.modules.kubernetes.create_service(name, namespace, metadata, spec,
120292       source, template, saltenv, **kwargs)
120293              Creates the kubernetes service as defined by the user.
120294
120295       salt.modules.kubernetes.delete_configmap(name,    namespace=u'default',
120296       **kwargs)
120297              Deletes the kubernetes configmap defined by name and namespace
120298
120299              CLI Examples:
120300
120301                 salt '*' kubernetes.delete_configmap settings default
120302                 salt '*' kubernetes.delete_configmap name=settings namespace=default
120303
120304       salt.modules.kubernetes.delete_deployment(name,   namespace=u'default',
120305       **kwargs)
120306              Deletes the kubernetes deployment defined by name and namespace
120307
120308              CLI Examples:
120309
120310                 salt '*' kubernetes.delete_deployment my-nginx
120311                 salt '*' kubernetes.delete_deployment name=my-nginx namespace=default
120312
120313       salt.modules.kubernetes.delete_namespace(name, **kwargs)
120314              Deletes the kubernetes namespace defined by name
120315
120316              CLI Examples:
120317
120318                 salt '*' kubernetes.delete_namespace salt
120319                 salt '*' kubernetes.delete_namespace name=salt
120320
120321       salt.modules.kubernetes.delete_pod(name,          namespace=u'default',
120322       **kwargs)
120323              Deletes the kubernetes pod defined by name and namespace
120324
120325              CLI Examples:
120326
120327                 salt '*' kubernetes.delete_pod guestbook-708336848-5nl8c default
120328                 salt '*' kubernetes.delete_pod name=guestbook-708336848-5nl8c namespace=default
120329
120330       salt.modules.kubernetes.delete_secret(name,       namespace=u'default',
120331       **kwargs)
120332              Deletes the kubernetes secret defined by name and namespace
120333
120334              CLI Examples:
120335
120336                 salt '*' kubernetes.delete_secret confidential default
120337                 salt '*' kubernetes.delete_secret name=confidential namespace=default
120338
120339       salt.modules.kubernetes.delete_service(name,      namespace=u'default',
120340       **kwargs)
120341              Deletes the kubernetes service defined by name and namespace
120342
120343              CLI Examples:
120344
120345                 salt '*' kubernetes.delete_service my-nginx default
120346                 salt '*' kubernetes.delete_service name=my-nginx namespace=default
120347
120348       salt.modules.kubernetes.deployments(namespace=u'default', **kwargs)
120349              Return a list of kubernetes deployments defined in the namespace
120350
120351              CLI Examples:
120352
120353                 salt '*' kubernetes.deployments
120354                 salt '*' kubernetes.deployments namespace=default
120355
120356       salt.modules.kubernetes.namespaces(**kwargs)
120357              Return the names of the available namespaces
120358
120359              CLI Examples:
120360
120361                 salt '*' kubernetes.namespaces
120362                 salt '*' kubernetes.namespaces kubeconfig=/etc/salt/k8s/kubeconfig context=minikube
120363
120364       salt.modules.kubernetes.node(name, **kwargs)
120365              Return the details of the node identified by the specified name
120366
120367              CLI Examples:
120368
120369                 salt '*' kubernetes.node name='minikube'
120370
120371       salt.modules.kubernetes.node_add_label(node_name,           label_name,
120372       label_value, **kwargs)
120373              Set   the  value  of  the  label  identified  by  label_name  to
120374              label_value on the node identified by the name node_name.   Cre‐
120375              ates the lable if not present.
120376
120377              CLI Examples:
120378
120379                 salt '*' kubernetes.node_add_label node_name="minikube"             label_name="foo" label_value="bar"
120380
120381       salt.modules.kubernetes.node_labels(name, **kwargs)
120382              Return the labels of the node identified by the specified name
120383
120384              CLI Examples:
120385
120386                 salt '*' kubernetes.node_labels name="minikube"
120387
120388       salt.modules.kubernetes.node_remove_label(node_name,        label_name,
120389       **kwargs)
120390              Removes the label identified by label_name from the node identi‐
120391              fied by the name node_name.
120392
120393              CLI Examples:
120394
120395                 salt '*' kubernetes.node_remove_label node_name="minikube"             label_name="foo"
120396
120397       salt.modules.kubernetes.nodes(**kwargs)
120398              Return the names of the nodes composing the kubernetes cluster
120399
120400              CLI Examples:
120401
120402                 salt '*' kubernetes.nodes
120403                 salt '*' kubernetes.nodes kubeconfig=/etc/salt/k8s/kubeconfig context=minikube
120404
120405       salt.modules.kubernetes.ping(**kwargs)
120406              Checks connections with the kubernetes API server.  Returns True
120407              if the connection can be established, False otherwise.
120408
120409              CLI Example:
120410                     salt '*' kubernetes.ping
120411
120412       salt.modules.kubernetes.pods(namespace=u'default', **kwargs)
120413              Return a list of kubernetes pods defined in the namespace
120414
120415              CLI Examples:
120416
120417                 salt '*' kubernetes.pods
120418                 salt '*' kubernetes.pods namespace=default
120419
120420       salt.modules.kubernetes.replace_configmap(name, data, source=None, tem‐
120421       plate=None, saltenv=u'base', namespace=u'default', **kwargs)
120422              Replaces  an  existing  configmap with a new one defined by name
120423              and namespace with the specified data.
120424
120425              CLI Examples:
120426
120427                 salt 'minion1' kubernetes.replace_configmap             settings default '{"example.conf": "# example file"}'
120428
120429                 salt 'minion2' kubernetes.replace_configmap             name=settings namespace=default data='{"example.conf": "# example file"}'
120430
120431       salt.modules.kubernetes.replace_deployment(name,    metadata,     spec,
120432       source, template, saltenv, namespace=u'default', **kwargs)
120433              Replaces  an  existing deployment with a new one defined by name
120434              and namespace, having the specificed metadata and spec.
120435
120436       salt.modules.kubernetes.replace_secret(name,  data,  source=None,  tem‐
120437       plate=None, saltenv=u'base', namespace=u'default', **kwargs)
120438              Replaces  an  existing secret with a new one defined by name and
120439              namespace, having the specificed data.
120440
120441              CLI Examples:
120442
120443                 salt 'minion1' kubernetes.replace_secret             name=passwords data='{"db": "letmein"}'
120444
120445                 salt 'minion2' kubernetes.replace_secret             name=passwords namespace=saltstack data='{"db": "passw0rd"}'
120446
120447       salt.modules.kubernetes.replace_service(name, metadata,  spec,  source,
120448       template, old_service, saltenv, namespace=u'default', **kwargs)
120449              Replaces  an existing service with a new one defined by name and
120450              namespace, having the specificed metadata and spec.
120451
120452       salt.modules.kubernetes.secrets(namespace=u'default', **kwargs)
120453              Return a list of kubernetes secrets defined in the namespace
120454
120455              CLI Examples:
120456
120457                 salt '*' kubernetes.secrets
120458                 salt '*' kubernetes.secrets namespace=default
120459
120460       salt.modules.kubernetes.services(namespace=u'default', **kwargs)
120461              Return a list of kubernetes services defined in the namespace
120462
120463              CLI Examples:
120464
120465                 salt '*' kubernetes.services
120466                 salt '*' kubernetes.services namespace=default
120467
120468       salt.modules.kubernetes.show_configmap(name,      namespace=u'default',
120469       **kwargs)
120470              Return the kubernetes configmap defined by name and namespace.
120471
120472              CLI Examples:
120473
120474                 salt '*' kubernetes.show_configmap game-config default
120475                 salt '*' kubernetes.show_configmap name=game-config namespace=default
120476
120477       salt.modules.kubernetes.show_deployment(name,     namespace=u'default',
120478       **kwargs)
120479              Return the kubernetes deployment defined by name and namespace
120480
120481              CLI Examples:
120482
120483                 salt '*' kubernetes.show_deployment my-nginx default
120484                 salt '*' kubernetes.show_deployment name=my-nginx namespace=default
120485
120486       salt.modules.kubernetes.show_namespace(name, **kwargs)
120487              Return information for a given namespace defined by  the  speci‐
120488              fied name
120489
120490              CLI Examples:
120491
120492                 salt '*' kubernetes.show_namespace kube-system
120493
120494       salt.modules.kubernetes.show_pod(name, namespace=u'default', **kwargs)
120495              Return  POD  information  for  a  given  pod name defined in the
120496              namespace
120497
120498              CLI Examples:
120499
120500                 salt '*' kubernetes.show_pod guestbook-708336848-fqr2x
120501                 salt '*' kubernetes.show_pod guestbook-708336848-fqr2x namespace=default
120502
120503       salt.modules.kubernetes.show_secret(name,         namespace=u'default',
120504       decode=False, **kwargs)
120505              Return the kubernetes secret defined by name and namespace.  The
120506              secrets can be decoded if specified by the user.  Warning:  this
120507              has security implications.
120508
120509              CLI Examples:
120510
120511                 salt '*' kubernetes.show_secret confidential default
120512                 salt '*' kubernetes.show_secret name=confidential namespace=default
120513                 salt '*' kubernetes.show_secret name=confidential decode=True
120514
120515       salt.modules.kubernetes.show_service(name,        namespace=u'default',
120516       **kwargs)
120517              Return the kubernetes service defined by name and namespace
120518
120519              CLI Examples:
120520
120521                 salt '*' kubernetes.show_service my-nginx default
120522                 salt '*' kubernetes.show_service name=my-nginx namespace=default
120523
120524   salt.modules.launchctl
120525       Module for the management of MacOS systems that use launchd/launchctl
120526
120527       IMPORTANT:
120528          If you feel that Salt should be using this module to manage services
120529          on  a  minion, and it is using a different module (or gives an error
120530          similar to 'service.start' is not available), see here.
120531
120532       depends
120533
120534              · plistlib Python module
120535
120536       salt.modules.launchctl.available(job_label)
120537              Check that the given service is available.
120538
120539              CLI Example:
120540
120541                 salt '*' service.available com.openssh.sshd
120542
120543       salt.modules.launchctl.disabled(job_label, runas=None)
120544              Return True if the named service is disabled, false otherwise
120545
120546              CLI Example:
120547
120548                 salt '*' service.disabled <service label>
120549
120550       salt.modules.launchctl.enabled(job_label, runas=None)
120551              Return True if the named service is enabled, false otherwise
120552
120553              CLI Example:
120554
120555                 salt '*' service.enabled <service label>
120556
120557       salt.modules.launchctl.get_all()
120558              Return all installed services
120559
120560              CLI Example:
120561
120562                 salt '*' service.get_all
120563
120564       salt.modules.launchctl.missing(job_label)
120565              The inverse of service.available Check that the given service is
120566              not available.
120567
120568              CLI Example:
120569
120570                 salt '*' service.missing com.openssh.sshd
120571
120572       salt.modules.launchctl.restart(job_label, runas=None)
120573              Restart the named service
120574
120575              CLI Example:
120576
120577                 salt '*' service.restart <service label>
120578
120579       salt.modules.launchctl.start(job_label, runas=None)
120580              Start the specified service
120581
120582              CLI Example:
120583
120584                 salt '*' service.start <service label>
120585                 salt '*' service.start org.ntp.ntpd
120586                 salt '*' service.start /System/Library/LaunchDaemons/org.ntp.ntpd.plist
120587
120588       salt.modules.launchctl.status(name, runas=None)
120589              Return  the  status for a service via systemd.  If the name con‐
120590              tains globbing, a dict mapping service name to True/False values
120591              is returned.
120592
120593              Changed  in version 2018.3.0: The service name can now be a glob
120594              (e.g. salt*)
120595
120596
120597              Parameters
120598
120599                     · name (str) -- The name of the service to check
120600
120601                     · runas (str) -- User to run launchctl commands
120602
120603              Returns
120604                     True if running, False otherwise dict: Maps service  name
120605                     to True if running, False otherwise
120606
120607              Return type
120608                     bool
120609
120610              CLI Example:
120611
120612                 salt '*' service.status <service name>
120613
120614       salt.modules.launchctl.stop(job_label, runas=None)
120615              Stop the specified service
120616
120617              CLI Example:
120618
120619                 salt '*' service.stop <service label>
120620                 salt '*' service.stop org.ntp.ntpd
120621                 salt '*' service.stop /System/Library/LaunchDaemons/org.ntp.ntpd.plist
120622
120623   salt.modules.layman
120624       Support for Layman
120625
120626       salt.modules.layman.add(overlay)
120627              Add  the  given  overlay  from  the  cached  remote list to your
120628              locally installed overlays. Specify 'ALL' to  add  all  overlays
120629              from the remote list.
120630
120631              Return a list of the new overlay(s) added:
120632
120633              CLI Example:
120634
120635                 salt '*' layman.add <overlay name>
120636
120637       salt.modules.layman.delete(overlay)
120638              Remove  the  given overlay from the your locally installed over‐
120639              lays.  Specify 'ALL' to remove all overlays.
120640
120641              Return a list of the overlays(s) that were removed:
120642
120643              CLI Example:
120644
120645                 salt '*' layman.delete <overlay name>
120646
120647       salt.modules.layman.list_all()
120648              List all overlays, including remote ones.
120649
120650              Return a list of available overlays:
120651
120652              CLI Example:
120653
120654                 salt '*' layman.list_all
120655
120656       salt.modules.layman.list_local()
120657              List the locally installed overlays.
120658
120659              Return a list of installed overlays:
120660
120661              CLI Example:
120662
120663                 salt '*' layman.list_local
120664
120665       salt.modules.layman.sync(overlay=u'ALL')
120666              Update the specified overlay. Use 'ALL' to synchronize all over‐
120667              lays.  This is the default if no overlay is specified.
120668
120669              overlay
120670                     Name of the overlay to sync. (Defaults to 'ALL')
120671
120672              CLI Example:
120673
120674                 salt '*' layman.sync
120675
120676   salt.modules.ldap3
120677   Query and modify an LDAP database (alternative interface)
120678       New in version 2016.3.0.
120679
120680
120681       This  is  an  alternative to the ldap interface provided by the ldapmod
120682       execution module.
120683
120684       depends
120685
120686              · ldap Python module
120687
120688       exception salt.modules.ldap3.LDAPError(message, cause=None)
120689              Base class of all LDAP exceptions raised by backends.
120690
120691              This is only used for errors encountered while interacting  with
120692              the  LDAP server; usage errors (e.g., invalid backend name) will
120693              have a different type.
120694
120695              Variables
120696                     cause -- backend exception object, if applicable
120697
120698       salt.modules.ldap3.add(connect_spec, dn, attributes)
120699              Add an entry to an LDAP database.
120700
120701              Parameters
120702
120703                     · connect_spec -- See  the  documentation  for  the  con‐
120704                       nect_spec parameter for connect().
120705
120706                     · dn -- Distinguished name of the entry.
120707
120708                     · attributes  --  Non-empty  dict mapping each of the new
120709                       entry's attributes to a non-empty iterable of values.
120710
120711              Returns
120712                     True if successful, raises an exception otherwise.
120713
120714              CLI example:
120715
120716                 salt '*' ldap3.add "{
120717                     'url': 'ldaps://ldap.example.com/',
120718                     'bind': {
120719                         'method': 'simple',
120720                         'password': 'secret',
120721                     },
120722                 }" "dn='dc=example,dc=com'" "attributes={'example': 'values'}"
120723
120724       salt.modules.ldap3.change(connect_spec, dn, before, after)
120725              Modify an entry in an LDAP database.
120726
120727              This does the same thing as modify(), but with a simpler  inter‐
120728              face.  Instead of taking a list of directives, it takes a before
120729              and after view of an entry, determines the  differences  between
120730              the two, computes the directives, and executes them.
120731
120732              Any  attribute  value  present in before but missing in after is
120733              deleted.  Any attribute value present in after  but  missing  in
120734              before  is  added.   Any attribute value in the database that is
120735              not mentioned in either before or after  is  not  altered.   Any
120736              attribute  value  that  is  present  in both before and after is
120737              ignored, regardless of whether that attribute  value  exists  in
120738              the database.
120739
120740              Parameters
120741
120742                     · connect_spec  --  See  the  documentation  for the con‐
120743                       nect_spec parameter for connect().
120744
120745                     · dn -- Distinguished name of the entry.
120746
120747                     · before -- The expected state of the entry before  modi‐
120748                       fication.   This  is a dict mapping each attribute name
120749                       to an iterable of values.
120750
120751                     · after -- The desired state of the entry after modifica‐
120752                       tion.  This is a dict mapping each attribute name to an
120753                       iterable of values.
120754
120755              Returns
120756                     True if successful, raises an exception otherwise.
120757
120758              CLI example:
120759
120760                 salt '*' ldap3.change "{
120761                     'url': 'ldaps://ldap.example.com/',
120762                     'bind': {
120763                         'method': 'simple',
120764                         'password': 'secret'}
120765                 }" dn='cn=admin,dc=example,dc=com'
120766                 before="{'example_value': 'before_val'}"
120767                 after="{'example_value': 'after_val'}"
120768
120769       salt.modules.ldap3.connect(connect_spec=None)
120770              Connect and optionally bind to an LDAP server.
120771
120772              Parameters
120773                     connect_spec --
120774
120775                     This can be an LDAP connection object returned by a  pre‐
120776                     vious  call  to  connect() (in which case the argument is
120777                     simply returned), None (in which case an  empty  dict  is
120778                     used), or a dict with the following keys:
120779
120780                     ·
120781
120782                       'backend'
120783                              Optional;  default  depends on which Python LDAP
120784                              modules are installed.  Name of the Python  LDAP
120785                              module  to use.  Only 'ldap' is supported at the
120786                              moment.
120787
120788                     ·
120789
120790                       'url'  Optional; defaults to 'ldapi:///'.  URL  to  the
120791                              LDAP server.
120792
120793                     ·
120794
120795                       'bind' Optional;  defaults  to  None.  Describes how to
120796                              bind an identity to  the  LDAP  connection.   If
120797                              None,  an  anonymous  connection is made.  Valid
120798                              keys:
120799
120800                              ·
120801
120802                                'method'
120803                                       Optional;  defaults   to   None.    The
120804                                       authentication  method  to  use.  Valid
120805                                       values include but are not  necessarily
120806                                       limited  to 'simple', 'sasl', and None.
120807                                       If None,  an  anonymous  connection  is
120808                                       made.   Available methods depend on the
120809                                       chosen backend.
120810
120811                              ·
120812
120813                                'mechanism'
120814                                       Optional; defaults to 'EXTERNAL'.   The
120815                                       SASL  mechanism to use.  Ignored unless
120816                                       the method is 'sasl'.  Available  meth‐
120817                                       ods  depend  on  the chosen backend and
120818                                       the server's capabilities.
120819
120820                              ·
120821
120822                                'credentials'
120823                                       Optional; defaults to None.  An  object
120824                                       specific  to  the chosen SASL mechanism
120825                                       and backend that represents the authen‐
120826                                       tication  credentials.   Ignored unless
120827                                       the method is 'sasl'.
120828
120829                                       For the 'ldap' backend, this is a  dic‐
120830                                       tionary.   If  None,  an  empty dict is
120831                                       used.  Keys:
120832
120833                                       ·
120834
120835                                         'args' Optional; defaults to an empty
120836                                                list.   A list of arguments to
120837                                                pass  to  the  SASL  mechanism
120838                                                constructor.    See  the  SASL
120839                                                mechanism constructor documen‐
120840                                                tation in the ldap.sasl Python
120841                                                module.
120842
120843                                       ·
120844
120845                                         'kwargs'
120846                                                Optional; defaults to an empty
120847                                                dict.  A dict of keyword argu‐
120848                                                ments  to  pass  to  the  SASL
120849                                                mechanism   constructor.   See
120850                                                the SASL mechanism constructor
120851                                                documentation in the ldap.sasl
120852                                                Python module.
120853
120854                              ·
120855
120856                                'dn'   Optional; defaults to an empty  string.
120857                                       The distinguished name to bind.
120858
120859                              ·
120860
120861                                'password'
120862                                       Optional;  defaults to an empty string.
120863                                       Password for binding.  Ignored  if  the
120864                                       method is 'sasl'.
120865
120866                     ·
120867
120868                       'tls'  Optional;  defaults to None.  A backend-specific
120869                              object containing settings to  override  default
120870                              TLS behavior.
120871
120872                              For  the  'ldap'  backend, this is a dictionary.
120873                              Not all settings in  this  dictionary  are  sup‐
120874                              ported  by  all  versions  of python-ldap or the
120875                              underlying TLS library.  If None, an empty  dict
120876                              is used.  Possible keys:
120877
120878                              ·
120879
120880                                'starttls'
120881                                       If  present,  initiate a TLS connection
120882                                       using StartTLS.  (The value  associated
120883                                       with this key is ignored.)
120884
120885                              ·
120886
120887                                'cacertdir'
120888                                       Set  the path of the directory contain‐
120889                                       ing CA certificates.
120890
120891                              ·
120892
120893                                'cacertfile'
120894                                       Set the pathname of the CA  certificate
120895                                       file.
120896
120897                              ·
120898
120899                                'certfile'
120900                                       Set  the  pathname  of  the certificate
120901                                       file.
120902
120903                              ·
120904
120905                                'cipher_suite'
120906                                       Set the allowed cipher suite.
120907
120908                              ·
120909
120910                                'crlcheck'
120911                                       Set the CRL evaluation strategy.  Valid
120912                                       values are 'none', 'peer', and 'all'.
120913
120914                              ·
120915
120916                                'crlfile'
120917                                       Set the pathname of the CRL file.
120918
120919                              ·
120920
120921                                'dhfile'
120922                                       Set the pathname of the file containing
120923                                       the   parameters   for   Diffie-Hellman
120924                                       ephemeral key exchange.
120925
120926                              ·
120927
120928                                'keyfile'
120929                                       Set the pathname of the certificate key
120930                                       file.
120931
120932                              ·
120933
120934                                'newctx'
120935                                       If present, instruct the underlying TLS
120936                                       library  to  create  a new TLS context.
120937                                       (The value associated with this key  is
120938                                       ignored.)
120939
120940                              ·
120941
120942                                'protocol_min'
120943                                       Set the minimum protocol version.
120944
120945                              ·
120946
120947                                'random_file'
120948                                       Set  the  pathname  of  the random file
120949                                       when /dev/random and  /dev/urandom  are
120950                                       not available.
120951
120952                              ·
120953
120954                                'require_cert'
120955                                       Set  the certificate validation policy.
120956                                       Valid  values  are   'never',   'hard',
120957                                       'demand', 'allow', and 'try'.
120958
120959                     ·
120960
120961                       'opts' Optional;  defaults to None.  A backend-specific
120962                              object containing options for the backend.
120963
120964                              For the 'ldap' backend, this is a dictionary  of
120965                              OpenLDAP options to set.  If None, an empty dict
120966                              is used.  Each key is a the name of an  OpenLDAP
120967                              option  constant without the 'LDAP_OPT_' prefix,
120968                              then converted to lower case.
120969
120970
120971              Returns
120972                     an object representing an LDAP  connection  that  can  be
120973                     used as the connect_spec argument to any of the functions
120974                     in this module (to avoid the overhead of making and  ter‐
120975                     minating multiple connections).
120976
120977                     This  object  should be used as a context manager.  It is
120978                     safe to nest with statements.
120979
120980
120981              CLI example:
120982
120983                 salt '*' ldap3.connect "{
120984                     'url': 'ldaps://ldap.example.com/',
120985                     'bind': {
120986                         'method': 'simple',
120987                         'dn': 'cn=admin,dc=example,dc=com',
120988                         'password': 'secret'}
120989                 }"
120990
120991       salt.modules.ldap3.delete(connect_spec, dn)
120992              Delete an entry from an LDAP database.
120993
120994              Parameters
120995
120996                     · connect_spec -- See  the  documentation  for  the  con‐
120997                       nect_spec parameter for connect().
120998
120999                     · dn -- Distinguished name of the entry.
121000
121001              Returns
121002                     True if successful, raises an exception otherwise.
121003
121004              CLI example:
121005
121006                 salt '*' ldap3.delete "{
121007                     'url': 'ldaps://ldap.example.com/',
121008                     'bind': {
121009                         'method': 'simple',
121010                         'password': 'secret'}
121011                 }" dn='cn=admin,dc=example,dc=com'
121012
121013       salt.modules.ldap3.modify(connect_spec, dn, directives)
121014              Modify an entry in an LDAP database.
121015
121016              Parameters
121017
121018                     · connect_spec  --  See  the  documentation  for the con‐
121019                       nect_spec parameter for connect().
121020
121021                     · dn -- Distinguished name of the entry.
121022
121023                     · directives --
121024
121025                       Iterable of directives that indicate how to modify  the
121026                       entry.   Each  directive  is  a  tuple of the form (op,
121027                       attr, vals), where:
121028
121029                       · op identifies the modification operation to  perform.
121030                         One of:
121031
121032                         · 'add' to add one or more values to the attribute
121033
121034                         · 'delete'  to  delete some or all of the values from
121035                           the attribute.  If no  values  are  specified  with
121036                           this  operation,  all of the attribute's values are
121037                           deleted.  Otherwise,  only  the  named  values  are
121038                           deleted.
121039
121040                         · 'replace'  to replace all of the attribute's values
121041                           with zero or more new values
121042
121043                       · attr names the attribute to modify
121044
121045                       · vals is an iterable of values to add or delete
121046
121047
121048              Returns
121049                     True if successful, raises an exception otherwise.
121050
121051              CLI example:
121052
121053                 salt '*' ldap3.modify "{
121054                     'url': 'ldaps://ldap.example.com/',
121055                     'bind': {
121056                         'method': 'simple',
121057                         'password': 'secret'}
121058                 }" dn='cn=admin,dc=example,dc=com'
121059                 directives="('add', 'example', ['example_val'])"
121060
121061       salt.modules.ldap3.search(connect_spec, base, scope=u'subtree', filter‐
121062       str=u'(objectClass=*)', attrlist=None, attrsonly=0)
121063              Search an LDAP database.
121064
121065              Parameters
121066
121067                     · connect_spec  --  See  the  documentation  for the con‐
121068                       nect_spec parameter for connect().
121069
121070                     · base -- Distinguished name of the  entry  at  which  to
121071                       start the search.
121072
121073                     · scope --
121074
121075                       One of the following:
121076
121077                       ·
121078
121079                         'subtree'
121080                                Search the base and all of its descendants.
121081
121082                       ·
121083
121084                         'base' Search only the base itself.
121085
121086                       ·
121087
121088                         'onelevel'
121089                                Search only the base's immediate children.
121090
121091
121092                     · filterstr  --  String  representation  of the filter to
121093                       apply in the search.
121094
121095                     · attrlist -- Limit the returned attributes to  those  in
121096                       the  specified  list.   If None, all attributes of each
121097                       entry are returned.
121098
121099                     · attrsonly -- If non-zero, don't  return  any  attribute
121100                       values.
121101
121102              Returns
121103                     a  dict  of  results.   The dict is empty if there are no
121104                     results.  The dict maps  each  returned  entry's  distin‐
121105                     guished  name  to  a  dict that maps each of the matching
121106                     attribute names to a list of its values.
121107
121108              CLI example:
121109
121110                 salt '*' ldap3.search "{
121111                     'url': 'ldaps://ldap.example.com/',
121112                     'bind': {
121113                         'method': 'simple',
121114                         'dn': 'cn=admin,dc=example,dc=com',
121115                         'password': 'secret',
121116                     },
121117                 }" "base='dc=example,dc=com'"
121118
121119   salt.modules.ldapmod
121120       Salt interface to LDAP commands
121121
121122       depends
121123
121124              · ldap Python module
121125
121126       configuration
121127              In order to connect to LDAP, certain configuration  is  required
121128              in  the minion config on the LDAP server. The minimum configura‐
121129              tion items that must be set are:
121130
121131                 ldap.basedn: dc=acme,dc=com (example values, adjust to suit)
121132
121133              If your LDAP server requires authentication then you  must  also
121134              set:
121135
121136                 ldap.anonymous: False
121137                 ldap.binddn: admin
121138                 ldap.bindpw: password
121139
121140              In addition, the following optional values may be set:
121141
121142                 ldap.server: localhost (default=localhost, see warning below)
121143                 ldap.port: 389 (default=389, standard port)
121144                 ldap.tls: False (default=False, no TLS)
121145                 ldap.no_verify: False (default=False, verify TLS)
121146                 ldap.anonymous: True (default=True, bind anonymous)
121147                 ldap.scope: 2 (default=2, ldap.SCOPE_SUBTREE)
121148                 ldap.attrs: [saltAttr] (default=None, return all attributes)
121149
121150       WARNING:
121151          At  the  moment  this module only recommends connection to LDAP ser‐
121152          vices listening on localhost. This is deliberate to avoid the poten‐
121153          tially  dangerous  situation  of  multiple minions sending identical
121154          update commands to the same LDAP server. It's easy enough  to  over‐
121155          ride this behavior, but badness may ensue - you have been warned.
121156
121157       salt.modules.ldapmod.search(filter,  dn=None,  scope=None,  attrs=None,
121158       **kwargs)
121159              Run an arbitrary LDAP query and return the results.
121160
121161              CLI Example:
121162
121163                 salt 'ldaphost' ldap.search "filter=cn=myhost"
121164
121165              Return data:
121166
121167                 {'myhost': {'count': 1,
121168                             'results': [['cn=myhost,ou=hosts,o=acme,c=gb',
121169                                          {'saltKeyValue': ['ntpserver=ntp.acme.local',
121170                                                            'foo=myfoo'],
121171                                           'saltState': ['foo', 'bar']}]],
121172                             'time': {'human': '1.2ms', 'raw': '0.00123'}}}
121173
121174              Search and connection options can be  overridden  by  specifying
121175              the relevant option as key=value pairs, for example:
121176
121177                 salt 'ldaphost' ldap.search filter=cn=myhost dn=ou=hosts,o=acme,c=gb
121178                 scope=1 attrs='' server='localhost' port='7393' tls=True bindpw='ssh'
121179
121180   salt.modules.libcloud_compute module
121181   Apache Libcloud Compute Management
121182       Connection  module  for  Apache  Libcloud Compute management for a full
121183       list           of           supported            clouds,            see
121184       http://libcloud.readthedocs.io/en/latest/compute/supported_providers.html
121185
121186       Clouds include Amazon EC2, Azure, Google GCE, VMware, OpenStack Nova
121187
121188       New in version 2018.3.0.
121189
121190
121191       configuration
121192              This module uses a configuration profile  for  one  or  multiple
121193              cloud providers
121194
121195                 libcloud_compute:
121196                     profile_test1:
121197                       driver: google
121198                       key: service-account@googlecloud.net
121199                       secret: /path/to.key.json
121200                     profile_test2:
121201                       driver: arm
121202                       key: 12345
121203                       secret: mysecret
121204
121205       depends
121206              apache-libcloud
121207
121208       salt.modules.libcloud_compute.attach_volume(node_id,   volume_id,  pro‐
121209       file, device=None, **libcloud_kwargs)
121210              Attaches volume to node.
121211
121212              Parameters
121213
121214                     · node_id (str) -- Node ID to target
121215
121216                     · volume_id (str) -- Volume ID from which to attach
121217
121218                     · profile (str) -- The profile key
121219
121220                     · device (str) --  Where  the  device  is  exposed,  e.g.
121221                       '/dev/sdb'
121222
121223                     · libcloud_kwargs  (dict)  --  Extra  arguments  for  the
121224                       driver's attach_volume method
121225
121226              CLI Example:
121227
121228                 salt myminion libcloud_compute.detach_volume vol1 profile1
121229
121230       salt.modules.libcloud_compute.copy_image(source_region, image_id, name,
121231       profile, description=None, **libcloud_kwargs)
121232              Copies an image from a source region to the current region.
121233
121234              Parameters
121235
121236                     · source_region (str) -- Region to copy the node from.
121237
121238                     · image_id (str) -- Image to copy.
121239
121240                     · name (str) -- name for new image.
121241
121242                     · profile (str) -- The profile key
121243
121244                     · description -- description for new image.
121245
121246                     · libcloud_kwargs  (dict)  --  Extra  arguments  for  the
121247                       driver's copy_image method
121248
121249              CLI Example:
121250
121251                 salt myminion libcloud_compute.copy_image us-east1 image1 'new image' profile1
121252
121253       salt.modules.libcloud_compute.create_image(node_id,   name,    profile,
121254       description=None, **libcloud_kwargs)
121255              Create an image from a node
121256
121257              Parameters
121258
121259                     · node_id (str) -- Node to run the task on.
121260
121261                     · name (str) -- name for new image.
121262
121263                     · profile (str) -- The profile key
121264
121265                     · description (description) -- description for new image.
121266
121267                     · libcloud_kwargs  (dict)  --  Extra  arguments  for  the
121268                       driver's create_image method
121269
121270              CLI Example:
121271
121272                 salt myminion libcloud_compute.create_image server1 my_image profile1
121273                 salt myminion libcloud_compute.create_image server1 my_image profile1 description='test image'
121274
121275       salt.modules.libcloud_compute.create_key_pair(name,   profile,   **lib‐
121276       cloud_kwargs)
121277              Create a single key pair by name
121278
121279              Parameters
121280
121281                     · name (str) -- Name of the key pair to create.
121282
121283                     · profile (str) -- The profile key
121284
121285                     · libcloud_kwargs  (dict)  --  Extra  arguments  for  the
121286                       driver's create_key_pair method
121287
121288              CLI Example:
121289
121290                 salt myminion libcloud_compute.create_key_pair pair1 profile1
121291
121292       salt.modules.libcloud_compute.create_volume(size, name, profile,  loca‐
121293       tion_id=None, **libcloud_kwargs)
121294              Create a storage volume
121295
121296              Parameters
121297
121298                     · size (int) -- Size of volume in gigabytes (required)
121299
121300                     · name (str) -- Name of the volume to be created
121301
121302                     · location_id (str) -- Which data center to create a vol‐
121303                       ume in. If empty, undefined behavior will be  selected.
121304                       (optional)
121305
121306                     · profile (str) -- The profile key
121307
121308                     · libcloud_kwargs  (dict)  --  Extra  arguments  for  the
121309                       driver's list_volumes method
121310
121311              CLI Example:
121312
121313                 salt myminion libcloud_compute.create_volume 1000 vol1 profile1
121314
121315       salt.modules.libcloud_compute.create_volume_snapshot(volume_id,    pro‐
121316       file, name=None, **libcloud_kwargs)
121317              Create a storage volume snapshot
121318
121319              Parameters
121320
121321                     · volume_id  (str)  -- Volume ID from which to create the
121322                       new snapshot.
121323
121324                     · profile (str) -- The profile key
121325
121326                     · name (str) --  Name  of  the  snapshot  to  be  created
121327                       (optional)
121328
121329                     · libcloud_kwargs  (dict)  --  Extra  arguments  for  the
121330                       driver's create_volume_snapshot method
121331
121332              CLI Example:
121333
121334                 salt myminion libcloud_compute.create_volume_snapshot vol1 profile1
121335
121336       salt.modules.libcloud_compute.delete_image(image_id,  profile,   **lib‐
121337       cloud_kwargs)
121338              Delete an image of a node
121339
121340              Parameters
121341
121342                     · image_id (str) -- Image to delete
121343
121344                     · profile (str) -- The profile key
121345
121346                     · libcloud_kwargs  (dict)  --  Extra  arguments  for  the
121347                       driver's delete_image method
121348
121349              CLI Example:
121350
121351                 salt myminion libcloud_compute.delete_image image1 profile1
121352
121353       salt.modules.libcloud_compute.delete_key_pair(name,   profile,   **lib‐
121354       cloud_kwargs)
121355              Delete a key pair
121356
121357              Parameters
121358
121359                     · name (str) -- Key pair name.
121360
121361                     · profile (str) -- The profile key
121362
121363                     · libcloud_kwargs  (dict)  --  Extra  arguments  for  the
121364                       driver's import_key_pair_from_xxx method
121365
121366              CLI Example:
121367
121368                 salt myminion libcloud_compute.delete_key_pair pair1 profile1
121369
121370       salt.modules.libcloud_compute.destroy_node(node_id,   profile,   **lib‐
121371       cloud_kwargs)
121372              Destroy a node in the cloud
121373
121374              Parameters
121375
121376                     · node_id (str) -- Unique ID of the node to destroy
121377
121378                     · profile (str) -- The profile key
121379
121380                     · libcloud_kwargs  (dict)  --  Extra  arguments  for  the
121381                       driver's destroy_node method
121382
121383              CLI Example:
121384
121385                 salt myminion libcloud_compute.destry_node as-2346 profile1
121386
121387       salt.modules.libcloud_compute.destroy_volume(volume_id, profile, **lib‐
121388       cloud_kwargs)
121389              Destroy a volume.
121390
121391              Parameters
121392
121393                     · volume_id (str) -- Volume ID from which to destroy
121394
121395                     · profile (str) -- The profile key
121396
121397                     · libcloud_kwargs  (dict)  --  Extra  arguments  for  the
121398                       driver's destroy_volume method
121399
121400              CLI Example:
121401
121402                 salt myminion libcloud_compute.destroy_volume vol1 profile1
121403
121404       salt.modules.libcloud_compute.destroy_volume_snapshot(volume_id,  snap‐
121405       shot_id, profile, **libcloud_kwargs)
121406              Destroy a volume snapshot.
121407
121408              Parameters
121409
121410                     · volume_id  (str)  --  Volume ID from which the snapshot
121411                       belongs
121412
121413                     · snapshot_id (str) -- Volume Snapshot ID from  which  to
121414                       destroy
121415
121416                     · profile (str) -- The profile key
121417
121418                     · libcloud_kwargs  (dict)  --  Extra  arguments  for  the
121419                       driver's destroy_volume_snapshot method
121420
121421              CLI Example:
121422
121423                 salt myminion libcloud_compute.destroy_volume_snapshot snap1 profile1
121424
121425       salt.modules.libcloud_compute.detach_volume(volume_id, profile,  **lib‐
121426       cloud_kwargs)
121427              Detaches a volume from a node.
121428
121429              Parameters
121430
121431                     · volume_id (str) -- Volume ID from which to detach
121432
121433                     · profile (str) -- The profile key
121434
121435                     · libcloud_kwargs  (dict)  --  Extra  arguments  for  the
121436                       driver's detach_volume method
121437
121438              CLI Example:
121439
121440                 salt myminion libcloud_compute.detach_volume vol1 profile1
121441
121442       salt.modules.libcloud_compute.extra(method, profile, **libcloud_kwargs)
121443              Call an extended method on the driver
121444
121445              Parameters
121446
121447                     · method (str) -- Driver's method name
121448
121449                     · profile (str) -- The profile key
121450
121451                     · libcloud_kwargs  (dict)  --  Extra  arguments  for  the
121452                       driver's method
121453
121454              CLI Example:
121455
121456                 salt myminion libcloud_compute.extra ex_get_permissions google container_name=my_container object_name=me.jpg --out=yaml
121457
121458       salt.modules.libcloud_compute.get_image(image_id,    profile,    **lib‐
121459       cloud_kwargs)
121460              Get an image of a node
121461
121462              Parameters
121463
121464                     · image_id (str) -- Image to fetch
121465
121466                     · profile (str) -- The profile key
121467
121468                     · libcloud_kwargs  (dict)  --  Extra  arguments  for  the
121469                       driver's delete_image method
121470
121471              CLI Example:
121472
121473                 salt myminion libcloud_compute.get_image image1 profile1
121474
121475       salt.modules.libcloud_compute.get_key_pair(name,     profile,    **lib‐
121476       cloud_kwargs)
121477              Get a single key pair by name
121478
121479              Parameters
121480
121481                     · name (str) -- Name of the key pair to retrieve.
121482
121483                     · profile (str) -- The profile key
121484
121485                     · libcloud_kwargs  (dict)  --  Extra  arguments  for  the
121486                       driver's get_key_pair method
121487
121488              CLI Example:
121489
121490                 salt myminion libcloud_compute.get_key_pair pair1 profile1
121491
121492       salt.modules.libcloud_compute.import_key_pair(name,    key,    profile,
121493       key_type=None, **libcloud_kwargs)
121494              Import a new public key from string or a file path
121495
121496              Parameters
121497
121498                     · name (str) -- Key pair name.
121499
121500                     · key (str or path  str)  --  Public  key  material,  the
121501                       string or a path to a file
121502
121503                     · profile (str) -- The profile key
121504
121505                     · key_type  (str)  --  The  key pair type, either FILE or
121506                       STRING. Will detect if not provided and assume that  if
121507                       the  string is a path to an existing path it is a FILE,
121508                       else STRING.
121509
121510                     · libcloud_kwargs  (dict)  --  Extra  arguments  for  the
121511                       driver's import_key_pair_from_xxx method
121512
121513              CLI Example:
121514
121515                 salt myminion libcloud_compute.import_key_pair pair1 key_value_data123 profile1
121516                 salt myminion libcloud_compute.import_key_pair pair1 /path/to/key profile1
121517
121518       salt.modules.libcloud_compute.list_images(profile,    location_id=None,
121519       **libcloud_kwargs)
121520              Return a list of images for this cloud
121521
121522              Parameters
121523
121524                     · profile (str) -- The profile key
121525
121526                     · location_id (str) -- The location key, from  list_loca‐
121527                       tions
121528
121529                     · libcloud_kwargs  (dict)  --  Extra  arguments  for  the
121530                       driver's list_images method
121531
121532              CLI Example:
121533
121534                 salt myminion libcloud_compute.list_images profile1
121535
121536       salt.modules.libcloud_compute.list_key_pairs(profile,            **lib‐
121537       cloud_kwargs)
121538              List all the available key pair objects.
121539
121540              Parameters
121541
121542                     · profile (str) -- The profile key
121543
121544                     · libcloud_kwargs  (dict)  --  Extra  arguments  for  the
121545                       driver's list_key_pairs method
121546
121547              CLI Example:
121548
121549                 salt myminion libcloud_compute.list_key_pairs profile1
121550
121551       salt.modules.libcloud_compute.list_locations(profile,            **lib‐
121552       cloud_kwargs)
121553              Return a list of locations for this cloud
121554
121555              Parameters
121556
121557                     · profile (str) -- The profile key
121558
121559                     · libcloud_kwargs  (dict)  --  Extra  arguments  for  the
121560                       driver's list_locations method
121561
121562              CLI Example:
121563
121564                 salt myminion libcloud_compute.list_locations profile1
121565
121566       salt.modules.libcloud_compute.list_nodes(profile, **libcloud_kwargs)
121567              Return a list of nodes
121568
121569              Parameters
121570
121571                     · profile (str) -- The profile key
121572
121573                     · libcloud_kwargs  (dict)  --  Extra  arguments  for  the
121574                       driver's list_nodes method
121575
121576              CLI Example:
121577
121578                 salt myminion libcloud_compute.list_nodes profile1
121579
121580       salt.modules.libcloud_compute.list_sizes(profile,     location_id=None,
121581       **libcloud_kwargs)
121582              Return a list of node sizes
121583
121584              Parameters
121585
121586                     · profile (str) -- The profile key
121587
121588                     · location_id (str) -- The location key, from  list_loca‐
121589                       tions
121590
121591                     · libcloud_kwargs  (dict)  --  Extra  arguments  for  the
121592                       driver's list_sizes method
121593
121594              CLI Example:
121595
121596                 salt myminion libcloud_compute.list_sizes profile1
121597                 salt myminion libcloud_compute.list_sizes profile1 us-east1
121598
121599       salt.modules.libcloud_compute.list_volume_snapshots(volume_id, profile,
121600       **libcloud_kwargs)
121601              Return a list of storage volumes snapshots for this cloud
121602
121603              Parameters
121604
121605                     · volume_id (str) -- The volume identifier
121606
121607                     · profile (str) -- The profile key
121608
121609                     · libcloud_kwargs  (dict)  --  Extra  arguments  for  the
121610                       driver's list_volume_snapshots method
121611
121612              CLI Example:
121613
121614                 salt myminion libcloud_compute.list_volume_snapshots vol1 profile1
121615
121616       salt.modules.libcloud_compute.list_volumes(profile, **libcloud_kwargs)
121617              Return a list of storage volumes for this cloud
121618
121619              Parameters
121620
121621                     · profile (str) -- The profile key
121622
121623                     · libcloud_kwargs  (dict)  --  Extra  arguments  for  the
121624                       driver's list_volumes method
121625
121626              CLI Example:
121627
121628                 salt myminion libcloud_compute.list_volumes profile1
121629
121630       salt.modules.libcloud_compute.reboot_node(node_id,    profile,   **lib‐
121631       cloud_kwargs)
121632              Reboot a node in the cloud
121633
121634              Parameters
121635
121636                     · node_id (str) -- Unique ID of the node to reboot
121637
121638                     · profile (str) -- The profile key
121639
121640                     · libcloud_kwargs  (dict)  --  Extra  arguments  for  the
121641                       driver's reboot_node method
121642
121643              CLI Example:
121644
121645                 salt myminion libcloud_compute.reboot_node as-2346 profile1
121646
121647   salt.modules.libcloud_dns module
121648   Apache Libcloud DNS Management
121649       Connection module for Apache Libcloud DNS management
121650
121651       New in version 2016.11.0.
121652
121653
121654       configuration
121655              This module uses a configuration profile for one or multiple DNS
121656              providers
121657
121658                 libcloud_dns:
121659                     profile_test1:
121660                       driver: cloudflare
121661                       key: 12345
121662                       secret: mysecret
121663                     profile_test2:
121664                       driver: godaddy
121665                       key: 12345
121666                       secret: mysecret
121667                       shopper_id: 12345
121668
121669       depends
121670              apache-libcloud
121671
121672       salt.modules.libcloud_dns.create_record(name, zone_id, type, data, pro‐
121673       file)
121674              Create a new record.
121675
121676              Parameters
121677
121678                     · name (str) -- Record name without the domain name (e.g.
121679                       www).  Note: If you want to create a record for a  base
121680                       domain  name,  you should specify empty string ('') for
121681                       this argument.
121682
121683                     · zone_id (str) -- Zone where  the  requested  record  is
121684                       created.
121685
121686                     · type (str) -- DNS record type (A, AAAA, ...).
121687
121688                     · data  (str)  --  Data  for  the  record (depends on the
121689                       record type).
121690
121691                     · profile (str) -- The profile key
121692
121693              CLI Example:
121694
121695                 salt myminion libcloud_dns.create_record www google.com A 12.32.12.2 profile1
121696
121697       salt.modules.libcloud_dns.create_zone(domain, profile,  type=u'master',
121698       ttl=None)
121699              Create a new zone.
121700
121701              Parameters
121702
121703                     · domain (str) -- Zone domain name (e.g. example.com)
121704
121705                     · profile (str) -- The profile key
121706
121707                     · type (str) -- Zone type (master / slave).
121708
121709                     · ttl (int) -- TTL for new records. (optional)
121710
121711              CLI Example:
121712
121713                 salt myminion libcloud_dns.create_zone google.com profile1
121714
121715       salt.modules.libcloud_dns.delete_record(zone_id, record_id, profile)
121716              Delete a record.
121717
121718              Parameters
121719
121720                     · zone_id (str) -- Zone to delete.
121721
121722                     · record_id (str) -- Record to delete.
121723
121724                     · profile (str) -- The profile key
121725
121726              Return type
121727                     bool
121728
121729              CLI Example:
121730
121731                 salt myminion libcloud_dns.delete_record google.com www profile1
121732
121733       salt.modules.libcloud_dns.delete_zone(zone_id, profile)
121734              Delete a zone.
121735
121736              Parameters
121737
121738                     · zone_id (str) -- Zone to delete.
121739
121740                     · profile (str) -- The profile key
121741
121742              Return type
121743                     bool
121744
121745              CLI Example:
121746
121747                 salt myminion libcloud_dns.delete_zone google.com profile1
121748
121749       salt.modules.libcloud_dns.extra(method, profile, **libcloud_kwargs)
121750              Call an extended method on the driver
121751
121752              Parameters
121753
121754                     · method (str) -- Driver's method name
121755
121756                     · profile (str) -- The profile key
121757
121758                     · libcloud_kwargs  (dict)  --  Extra  arguments  for  the
121759                       driver's delete_container method
121760
121761              CLI Example:
121762
121763                 salt myminion libcloud_dns.extra ex_get_permissions google container_name=my_container object_name=me.jpg --out=yaml
121764
121765       salt.modules.libcloud_dns.get_bind_data(zone_id, profile)
121766              Export Zone to the BIND compatible format.
121767
121768              Parameters
121769
121770                     · zone_id (str) -- Zone to export.
121771
121772                     · profile (str) -- The profile key
121773
121774              Returns
121775                     Zone data in BIND compatible format.
121776
121777              Return type
121778                     str
121779
121780              CLI Example:
121781
121782                 salt myminion libcloud_dns.get_bind_data google.com profile1
121783
121784       salt.modules.libcloud_dns.get_record(zone_id, record_id, profile)
121785              Get record information for the given zone_id on the  given  pro‐
121786              file
121787
121788              Parameters
121789
121790                     · zone_id (str) -- Zone to export.
121791
121792                     · record_id (str) -- Record to delete.
121793
121794                     · profile (str) -- The profile key
121795
121796              CLI Example:
121797
121798                 salt myminion libcloud_dns.get_record google.com www profile1
121799
121800       salt.modules.libcloud_dns.get_zone(zone_id, profile)
121801              Get zone information for the given zone_id on the given profile
121802
121803              Parameters
121804
121805                     · zone_id (str) -- Zone to export.
121806
121807                     · profile (str) -- The profile key
121808
121809              CLI Example:
121810
121811                 salt myminion libcloud_dns.get_zone google.com profile1
121812
121813       salt.modules.libcloud_dns.list_record_types(profile)
121814              List available record types for the given profile, e.g. A, AAAA
121815
121816              Parameters
121817                     profile (str) -- The profile key
121818
121819              CLI Example:
121820
121821                 salt myminion libcloud_dns.list_record_types profile1
121822
121823       salt.modules.libcloud_dns.list_records(zone_id, profile, type=None)
121824              List records for the given zone_id on the given profile
121825
121826              Parameters
121827
121828                     · zone_id (str) -- Zone to export.
121829
121830                     · profile (str) -- The profile key
121831
121832                     · type (str) -- The record type, e.g. A, NS
121833
121834              CLI Example:
121835
121836                 salt myminion libcloud_dns.list_records google.com profile1
121837
121838       salt.modules.libcloud_dns.list_zones(profile)
121839              List zones for the given profile
121840
121841              Parameters
121842                     profile (str) -- The profile key
121843
121844              CLI Example:
121845
121846                 salt myminion libcloud_dns.list_zones profile1
121847
121848       salt.modules.libcloud_dns.update_zone(zone_id,     domain,     profile,
121849       type=u'master', ttl=None)
121850              Update an existing zone.
121851
121852              Parameters
121853
121854                     · zone_id (str) -- Zone ID to update.
121855
121856                     · domain (str) -- Zone domain name (e.g. example.com)
121857
121858                     · profile (str) -- The profile key
121859
121860                     · type (str) -- Zone type (master / slave).
121861
121862                     · ttl (int) -- TTL for new records. (optional)
121863
121864              CLI Example:
121865
121866                 salt myminion libcloud_dns.update_zone google.com google.com profile1 type=slave
121867
121868   salt.modules.libcloud_loadbalancer
121869   Apache Libcloud Load Balancer Management
121870       Connection module for Apache Libcloud Storage load balancer  management
121871       for      a      full      list     of     supported     clouds,     see
121872       http://libcloud.readthedocs.io/en/latest/loadbalancer/supported_providers.html
121873
121874       Clouds include Amazon ELB, ALB, Google, Aliyun, CloudStack, Softlayer
121875
121876       New in version 2018.3.0.
121877
121878
121879       configuration
121880              This  module  uses  a  configuration profile for one or multiple
121881              Storage providers
121882
121883                 libcloud_loadbalancer:
121884                     profile_test1:
121885                       driver: gce
121886                       key: GOOG0123456789ABCXYZ
121887                       secret: mysecret
121888                     profile_test2:
121889                       driver: alb
121890                       key: 12345
121891                       secret: mysecret
121892
121893       depends
121894              apache-libcloud
121895
121896       salt.modules.libcloud_loadbalancer.balancer_attach_member(balancer_id,
121897       ip, port, profile, extra=None, **libcloud_kwargs)
121898              Add a new member to the load balancer
121899
121900              Parameters
121901
121902                     · balancer_id  (str) -- id of a load balancer you want to
121903                       fetch
121904
121905                     · ip (str) -- IP address for the new member
121906
121907                     · port (int) -- Port for the new member
121908
121909                     · profile (str) -- The profile key
121910
121911                     · libcloud_kwargs  (dict)  --  Extra  arguments  for  the
121912                       driver's balancer_attach_member method
121913
121914              CLI Example:
121915
121916                 salt myminion libcloud_storage.balancer_attach_member balancer123 1.2.3.4 80 profile1
121917
121918       salt.modules.libcloud_loadbalancer.balancer_detach_member(balancer_id,
121919       member_id, profile, **libcloud_kwargs)
121920              Add a new member to the load balancer
121921
121922              Parameters
121923
121924                     · balancer_id (str) -- id of a load balancer you want  to
121925                       fetch
121926
121927                     · ip (str) -- IP address for the new member
121928
121929                     · port (int) -- Port for the new member
121930
121931                     · profile (str) -- The profile key
121932
121933                     · libcloud_kwargs  (dict)  --  Extra  arguments  for  the
121934                       driver's balancer_detach_member method
121935
121936              CLI Example:
121937
121938                 salt myminion libcloud_storage.balancer_detach_member balancer123 member123 profile1
121939
121940       salt.modules.libcloud_loadbalancer.create_balancer(name,  port,  proto‐
121941       col, profile, algorithm=None, members=None, **libcloud_kwargs)
121942              Create a new load balancer instance
121943
121944              Parameters
121945
121946                     · name (str) -- Name of the new load balancer (required)
121947
121948                     · port  (str) -- Port the load balancer should listen on,
121949                       defaults to 80
121950
121951                     · protocol (str) -- Loadbalancer  protocol,  defaults  to
121952                       http.
121953
121954                     · algorithm  (str)  -- Load balancing algorithm, defaults
121955                       to ROUND_ROBIN. See Algorithm type in Libcloud documen‐
121956                       tation for a full listing.
121957
121958                     · profile (str) -- The profile key
121959
121960                     · libcloud_kwargs  (dict)  --  Extra  arguments  for  the
121961                       driver's create_balancer method
121962
121963              Returns
121964                     The details of the new balancer
121965
121966              CLI Example:
121967
121968                 salt myminion libcloud_storage.create_balancer my_balancer 80 http profile1
121969
121970       salt.modules.libcloud_loadbalancer.destroy_balancer(balancer_id,   pro‐
121971       file, **libcloud_kwargs)
121972              Destroy a load balancer
121973
121974              Parameters
121975
121976                     · balancer_id  (str)  --  LoadBalancer ID which should be
121977                       used
121978
121979                     · profile (str) -- The profile key
121980
121981                     · libcloud_kwargs  (dict)  --  Extra  arguments  for  the
121982                       driver's destroy_balancer method
121983
121984              Returns
121985                     True if the destroy was successful, otherwise False.
121986
121987              Return type
121988                     bool
121989
121990              CLI Example:
121991
121992                 salt myminion libcloud_storage.destroy_balancer balancer_1 profile1
121993
121994       salt.modules.libcloud_loadbalancer.extra(method,     profile,    **lib‐
121995       cloud_kwargs)
121996              Call an extended method on the driver
121997
121998              Parameters
121999
122000                     · method (str) -- Driver's method name
122001
122002                     · profile (str) -- The profile key
122003
122004                     · libcloud_kwargs  (dict)  --  Extra  arguments  for  the
122005                       driver's method
122006
122007              CLI Example:
122008
122009                 salt myminion libcloud_loadbalancer.extra ex_get_permissions google container_name=my_container object_name=me.jpg --out=yaml
122010
122011       salt.modules.libcloud_loadbalancer.get_balancer(balancer_id,   profile,
122012       **libcloud_kwargs)
122013              Get the details for a load balancer by ID
122014
122015              Parameters
122016
122017                     · balancer_id (str) -- id of a load balancer you want  to
122018                       fetch
122019
122020                     · profile (str) -- The profile key
122021
122022                     · libcloud_kwargs  (dict)  --  Extra  arguments  for  the
122023                       driver's get_balancer method
122024
122025              Returns
122026                     the load balancer details
122027
122028              CLI Example:
122029
122030                 salt myminion libcloud_storage.get_balancer balancer123 profile1
122031
122032       salt.modules.libcloud_loadbalancer.get_balancer_by_name(name,  profile,
122033       **libcloud_kwargs)
122034              Get the details for a load balancer by name
122035
122036              Parameters
122037
122038                     · name (str) -- Name of a load balancer you want to fetch
122039
122040                     · profile (str) -- The profile key
122041
122042                     · libcloud_kwargs  (dict)  --  Extra  arguments  for  the
122043                       driver's list_balancers method
122044
122045              Returns
122046                     the load balancer details
122047
122048              CLI Example:
122049
122050                 salt myminion libcloud_storage.get_balancer_by_name my_balancer profile1
122051
122052       salt.modules.libcloud_loadbalancer.list_balancer_members(balancer_id,
122053       profile, **libcloud_kwargs)
122054              List the members of a load balancer
122055
122056              Parameters
122057
122058                     · balancer_id  (str) -- id of a load balancer you want to
122059                       fetch
122060
122061                     · profile (str) -- The profile key
122062
122063                     · libcloud_kwargs  (dict)  --  Extra  arguments  for  the
122064                       driver's list_balancer_members method
122065
122066              CLI Example:
122067
122068                 salt myminion libcloud_storage.list_balancer_members balancer123 profile1
122069
122070       salt.modules.libcloud_loadbalancer.list_balancers(profile,       **lib‐
122071       cloud_kwargs)
122072              Return a list of load balancers.
122073
122074              Parameters
122075
122076                     · profile (str) -- The profile key
122077
122078                     · libcloud_kwargs  (dict)  --  Extra  arguments  for  the
122079                       driver's list_balancers method
122080
122081              CLI Example:
122082
122083                 salt myminion libcloud_storage.list_balancers profile1
122084
122085       salt.modules.libcloud_loadbalancer.list_protocols(profile,       **lib‐
122086       cloud_kwargs)
122087              Return a list of supported protocols.
122088
122089              Parameters
122090
122091                     · profile (str) -- The profile key
122092
122093                     · libcloud_kwargs  (dict)  --  Extra  arguments  for  the
122094                       driver's list_protocols method
122095
122096              Returns
122097                     a list of supported protocols
122098
122099              Return type
122100                     list of str
122101
122102              CLI Example:
122103
122104                 salt myminion libcloud_storage.list_protocols profile1
122105
122106       salt.modules.libcloud_loadbalancer.list_supported_algorithms(profile,
122107       **libcloud_kwargs)
122108              Get the supported algorithms for a profile
122109
122110              Parameters
122111
122112                     · profile (str) -- The profile key
122113
122114                     · libcloud_kwargs  (dict)  --  Extra  arguments  for  the
122115                       driver's list_supported_algorithms method
122116
122117              Returns
122118                     The supported algorithms
122119
122120              CLI Example:
122121
122122                 salt myminion libcloud_storage.list_supported_algorithms profile1
122123
122124   salt.modules.libcloud_storage
122125   Apache Libcloud Storage Management
122126       Connection  module for Apache Libcloud Storage (object/blob) management
122127       for     a     full     list     of      supported      clouds,      see
122128       http://libcloud.readthedocs.io/en/latest/storage/supported_providers.html
122129
122130       Clouds include Amazon S3, Google Storage, Aliyun,  Azure  Blobs,  Ceph,
122131       OpenStack swift
122132
122133       New in version 2018.3.0.
122134
122135
122136       configuration
122137              This  module  uses  a  configuration profile for one or multiple
122138              Storage providers
122139
122140                 libcloud_storage:
122141                     profile_test1:
122142                       driver: google_storage
122143                       key: GOOG0123456789ABCXYZ
122144                       secret: mysecret
122145                     profile_test2:
122146                       driver: s3
122147                       key: 12345
122148                       secret: mysecret
122149
122150       depends
122151              apache-libcloud
122152
122153       salt.modules.libcloud_storage.create_container(container_name, profile,
122154       **libcloud_kwargs)
122155              Create a container in the cloud
122156
122157              Parameters
122158
122159                     · container_name (str) -- Container name
122160
122161                     · profile (str) -- The profile key
122162
122163                     · libcloud_kwargs  (dict)  --  Extra  arguments  for  the
122164                       driver's create_container method
122165
122166              CLI Example:
122167
122168                 salt myminion libcloud_storage.create_container MyFolder profile1
122169
122170       salt.modules.libcloud_storage.delete_container(container_name, profile,
122171       **libcloud_kwargs)
122172              Delete an object container in the cloud
122173
122174              Parameters
122175
122176                     · container_name (str) -- Container name
122177
122178                     · profile (str) -- The profile key
122179
122180                     · libcloud_kwargs  (dict)  --  Extra  arguments  for  the
122181                       driver's delete_container method
122182
122183              Returns
122184                     True  if  an  object  container  has  been   successfully
122185                     deleted, False otherwise.
122186
122187              Return type
122188                     bool
122189
122190              CLI Example:
122191
122192                 salt myminion libcloud_storage.delete_container MyFolder profile1
122193
122194       salt.modules.libcloud_storage.delete_object(container_name,
122195       object_name, profile, **libcloud_kwargs)
122196              Delete an object in the cloud
122197
122198              Parameters
122199
122200                     · container_name (str) -- Container name
122201
122202                     · object_name (str) -- Object name
122203
122204                     · profile (str) -- The profile key
122205
122206                     · libcloud_kwargs  (dict)  --  Extra  arguments  for  the
122207                       driver's delete_object method
122208
122209              Returns
122210                     True  if  an  object has been successfully deleted, False
122211                     otherwise.
122212
122213              Return type
122214                     bool
122215
122216              CLI Example:
122217
122218                 salt myminion libcloud_storage.delete_object MyFolder me.jpg profile1
122219
122220       salt.modules.libcloud_storage.download_object(container_name,
122221       object_name,   destination_path,   profile,   overwrite_existing=False,
122222       delete_on_failure=True, **libcloud_kwargs)
122223              Download an object to the specified destination path.
122224
122225              Parameters
122226
122227                     · container_name (str) -- Container name
122228
122229                     · object_name (str) -- Object name
122230
122231                     · destination_path (str) -- Full path  to  a  file  or  a
122232                       directory where the incoming file will be saved.
122233
122234                     · profile (str) -- The profile key
122235
122236                     · overwrite_existing  (bool)  --  True  to  overwrite  an
122237                       existing file, defaults to False.
122238
122239                     · delete_on_failure (bool) -- True to delete a  partially
122240                       downloaded  file  if  the  download  was not successful
122241                       (hash mismatch / file size).
122242
122243                     · libcloud_kwargs  (dict)  --  Extra  arguments  for  the
122244                       driver's download_object method
122245
122246              Returns
122247                     True if an object has been successfully downloaded, False
122248                     otherwise.
122249
122250              Return type
122251                     bool
122252
122253              CLI Example:
122254
122255                 salt myminion libcloud_storage.download_object MyFolder me.jpg /tmp/me.jpg profile1
122256
122257       salt.modules.libcloud_storage.extra(method, profile, **libcloud_kwargs)
122258              Call an extended method on the driver
122259
122260              Parameters
122261
122262                     · method (str) -- Driver's method name
122263
122264                     · profile (str) -- The profile key
122265
122266                     · libcloud_kwargs  (dict)  --  Extra  arguments  for  the
122267                       driver's delete_container method
122268
122269              CLI Example:
122270
122271                 salt myminion libcloud_storage.extra ex_get_permissions google container_name=my_container object_name=me.jpg --out=yaml
122272
122273       salt.modules.libcloud_storage.get_container(container_name,    profile,
122274       **libcloud_kwargs)
122275              List container details for the given container_name on the given
122276              profile
122277
122278              Parameters
122279
122280                     · container_name (str) -- Container name
122281
122282                     · profile (str) -- The profile key
122283
122284                     · libcloud_kwargs  (dict)  --  Extra  arguments  for  the
122285                       driver's get_container method
122286
122287              CLI Example:
122288
122289                 salt myminion libcloud_storage.get_container MyFolder profile1
122290
122291       salt.modules.libcloud_storage.get_container_object(container_name,
122292       object_name, profile, **libcloud_kwargs)
122293              Get  the  details  for a container object (file or object in the
122294              cloud)
122295
122296              Parameters
122297
122298                     · container_name (str) -- Container name
122299
122300                     · object_name (str) -- Object name
122301
122302                     · profile (str) -- The profile key
122303
122304                     · libcloud_kwargs  (dict)  --  Extra  arguments  for  the
122305                       driver's get_container_object method
122306
122307              CLI Example:
122308
122309                 salt myminion libcloud_storage.get_container_object MyFolder MyFile.xyz profile1
122310
122311       salt.modules.libcloud_storage.list_container_objects(container_name,
122312       profile, **libcloud_kwargs)
122313              List container objects (e.g. files) for the  given  container_id
122314              on the given profile
122315
122316              Parameters
122317
122318                     · container_name (str) -- Container name
122319
122320                     · profile (str) -- The profile key
122321
122322                     · libcloud_kwargs  (dict)  --  Extra  arguments  for  the
122323                       driver's list_container_objects method
122324
122325              CLI Example:
122326
122327                 salt myminion libcloud_storage.list_container_objects MyFolder profile1
122328
122329       salt.modules.libcloud_storage.list_containers(profile,           **lib‐
122330       cloud_kwargs)
122331              Return a list of containers.
122332
122333              Parameters
122334
122335                     · profile (str) -- The profile key
122336
122337                     · libcloud_kwargs  (dict)  --  Extra  arguments  for  the
122338                       driver's list_containers method
122339
122340              CLI Example:
122341
122342                 salt myminion libcloud_storage.list_containers profile1
122343
122344       salt.modules.libcloud_storage.upload_object(file_path,  container_name,
122345       object_name,   profile,   extra=None,  verify_hash=True,  headers=None,
122346       **libcloud_kwargs)
122347              Upload an object currently located on a disk.
122348
122349              Parameters
122350
122351                     · file_path (str) -- Path to the object on disk.
122352
122353                     · container_name (str) -- Destination container.
122354
122355                     · object_name (str) -- Object name.
122356
122357                     · profile (str) -- The profile key
122358
122359                     · verify_hash (bool) -- Verify hash
122360
122361                     · extra (dict) --  Extra  attributes  (driver  specific).
122362                       (optional)
122363
122364                     · headers  (dict)  -- (optional) Additional request head‐
122365                       ers, such as  CORS  headers.  For  example:  headers  =
122366                       {'Access-Control-Allow-Origin': 'http://mozilla.com'}
122367
122368                     · libcloud_kwargs  (dict)  --  Extra  arguments  for  the
122369                       driver's upload_object method
122370
122371              Returns
122372                     The object name in the cloud
122373
122374              Return type
122375                     str
122376
122377              CLI Example:
122378
122379                 salt myminion libcloud_storage.upload_object /file/to/me.jpg MyFolder me.jpg profile1
122380
122381   salt.modules.linux_acl
122382       Support for Linux File Access Control Lists
122383
122384       The Linux ACL module requires the getfacl and setfacl binaries.
122385
122386       salt.modules.linux_acl.delfacl(acl_type, acl_name=u'', *args, **kwargs)
122387              Remove specific FACL from the specified file(s)
122388
122389              CLI Examples:
122390
122391                 salt '*' acl.delfacl user myuser /tmp/house/kitchen
122392                 salt '*' acl.delfacl default:group mygroup /tmp/house/kitchen
122393                 salt '*' acl.delfacl d:u myuser /tmp/house/kitchen
122394                 salt '*' acl.delfacl g myuser /tmp/house/kitchen /tmp/house/livingroom
122395                 salt '*' acl.delfacl user myuser /tmp/house/kitchen recursive=True
122396
122397       salt.modules.linux_acl.getfacl(*args, **kwargs)
122398              Return (extremely verbose) map of FACLs on specified file(s)
122399
122400              CLI Examples:
122401
122402                 salt '*' acl.getfacl /tmp/house/kitchen
122403                 salt '*' acl.getfacl /tmp/house/kitchen /tmp/house/livingroom
122404                 salt '*' acl.getfacl /tmp/house/kitchen /tmp/house/livingroom recursive=True
122405
122406       salt.modules.linux_acl.modfacl(acl_type,    acl_name=u'',    perms=u'',
122407       *args, **kwargs)
122408              Add or modify a FACL for the specified file(s)
122409
122410              CLI Examples:
122411
122412                 salt '*' acl.modfacl user myuser rwx /tmp/house/kitchen
122413                 salt '*' acl.modfacl default:group mygroup rx /tmp/house/kitchen
122414                 salt '*' acl.modfacl d:u myuser 7 /tmp/house/kitchen
122415                 salt '*' acl.modfacl g mygroup 0 /tmp/house/kitchen /tmp/house/livingroom
122416                 salt '*' acl.modfacl user myuser rwx /tmp/house/kitchen recursive=True
122417                 salt '*' acl.modfacl user myuser rwx /tmp/house/kitchen raise_err=True
122418
122419       salt.modules.linux_acl.version()
122420              Return facl version from getfacl --version
122421
122422              CLI Example:
122423
122424                 salt '*' acl.version
122425
122426       salt.modules.linux_acl.wipefacls(*args, **kwargs)
122427              Remove all FACLs from the specified file(s)
122428
122429              CLI Examples:
122430
122431                 salt '*' acl.wipefacls /tmp/house/kitchen
122432                 salt '*' acl.wipefacls /tmp/house/kitchen /tmp/house/livingroom
122433                 salt '*' acl.wipefacls /tmp/house/kitchen /tmp/house/livingroom recursive=True
122434
122435   salt.modules.linux_ip module
122436       The networking module for Non-RH/Deb Linux distros
122437
122438       salt.modules.linux_ip.down(iface, iface_type=None)
122439              Shutdown a network interface
122440
122441              CLI Example:
122442
122443                 salt '*' ip.down eth0
122444
122445       salt.modules.linux_ip.get_interface(iface)
122446              Return the contents of an interface script
122447
122448              CLI Example:
122449
122450                 salt '*' ip.get_interface eth0
122451
122452       salt.modules.linux_ip.get_routes(iface=None)
122453              Return the current routing table
122454
122455              CLI Examples:
122456
122457                 salt '*' ip.get_routes
122458                 salt '*' ip.get_routes eth0
122459
122460       salt.modules.linux_ip.up(iface, iface_type=None)
122461              Start up a network interface
122462
122463              CLI Example:
122464
122465                 salt '*' ip.up eth0
122466
122467   salt.modules.linux_lvm
122468       Support for Linux LVM2
122469
122470       salt.modules.linux_lvm.fullversion()
122471              Return all version info from lvm version
122472
122473              CLI Example:
122474
122475                 salt '*' lvm.fullversion
122476
122477       salt.modules.linux_lvm.lvcreate(lvname,        vgname,       size=None,
122478       extents=None, snapshot=None, pv=None, thinvolume=False, thinpool=False,
122479       force=False, **kwargs)
122480              Create a new logical volume, with option for which physical vol‐
122481              ume to be used
122482
122483              CLI Examples:
122484
122485                 salt '*' lvm.lvcreate new_volume_name     vg_name size=10G
122486                 salt '*' lvm.lvcreate new_volume_name     vg_name extents=100 pv=/dev/sdb
122487                 salt '*' lvm.lvcreate new_snapshot        vg_name snapshot=volume_name size=3G
122488
122489              New in version to_complete.
122490
122491
122492              Support for thin pools and thin volumes
122493
122494              CLI Examples:
122495
122496                 salt '*' lvm.lvcreate new_thinpool_name   vg_name               size=20G thinpool=True
122497                 salt '*' lvm.lvcreate new_thinvolume_name vg_name/thinpool_name size=10G thinvolume=True
122498
122499       salt.modules.linux_lvm.lvdisplay(lvname=u'', quiet=False)
122500              Return information about the logical volume(s)
122501
122502              CLI Examples:
122503
122504                 salt '*' lvm.lvdisplay
122505                 salt '*' lvm.lvdisplay /dev/vg_myserver/root
122506
122507       salt.modules.linux_lvm.lvremove(lvname, vgname)
122508              Remove a given existing logical volume  from  a  named  existing
122509              volume group
122510
122511              CLI Example:
122512
122513                 salt '*' lvm.lvremove lvname vgname force=True
122514
122515       salt.modules.linux_lvm.lvresize(size=None, lvpath=None, extents=None)
122516              Return information about the logical volume(s)
122517
122518              CLI Examples:
122519
122520                 salt '*' lvm.lvresize +12M /dev/mapper/vg1-test
122521                 salt '*' lvm.lvresize lvpath=/dev/mapper/vg1-test extents=+100%FREE
122522
122523       salt.modules.linux_lvm.pvcreate(devices, override=True, **kwargs)
122524              Set a physical device to be used as an LVM physical volume
122525
122526              override
122527                     Skip devices, if they are already LVM physical volumes
122528
122529              CLI Examples:
122530
122531                 salt mymachine lvm.pvcreate /dev/sdb1,/dev/sdb2
122532                 salt mymachine lvm.pvcreate /dev/sdb1 dataalignmentoffset=7s
122533
122534       salt.modules.linux_lvm.pvdisplay(pvname=u'', real=False)
122535              Return information about the physical volume(s)
122536
122537              pvname physical device name
122538
122539              real   dereference any symlinks and report the real device
122540
122541                     New in version 2015.8.7.
122542
122543
122544              CLI Examples:
122545
122546                 salt '*' lvm.pvdisplay
122547                 salt '*' lvm.pvdisplay /dev/md0
122548
122549       salt.modules.linux_lvm.pvremove(devices, override=True)
122550              Remove a physical device being used as an LVM physical volume
122551
122552              override
122553                     Skip  devices, if they are already not used as LVM physi‐
122554                     cal volumes
122555
122556              CLI Examples:
122557
122558                 salt mymachine lvm.pvremove /dev/sdb1,/dev/sdb2
122559
122560       salt.modules.linux_lvm.version()
122561              Return LVM version from lvm version
122562
122563              CLI Example:
122564
122565                 salt '*' lvm.version
122566
122567       salt.modules.linux_lvm.vgcreate(vgname, devices, **kwargs)
122568              Create an LVM volume group
122569
122570              CLI Examples:
122571
122572                 salt mymachine lvm.vgcreate my_vg /dev/sdb1,/dev/sdb2
122573                 salt mymachine lvm.vgcreate my_vg /dev/sdb1 clustered=y
122574
122575       salt.modules.linux_lvm.vgdisplay(vgname=u'')
122576              Return information about the volume group(s)
122577
122578              CLI Examples:
122579
122580                 salt '*' lvm.vgdisplay
122581                 salt '*' lvm.vgdisplay nova-volumes
122582
122583       salt.modules.linux_lvm.vgextend(vgname, devices)
122584              Add physical volumes to an LVM volume group
122585
122586              CLI Examples:
122587
122588                 salt mymachine lvm.vgextend my_vg /dev/sdb1,/dev/sdb2
122589                 salt mymachine lvm.vgextend my_vg /dev/sdb1
122590
122591       salt.modules.linux_lvm.vgremove(vgname)
122592              Remove an LVM volume group
122593
122594              CLI Examples:
122595
122596                 salt mymachine lvm.vgremove vgname
122597                 salt mymachine lvm.vgremove vgname force=True
122598
122599   salt.modules.linux_sysctl
122600       Module for viewing and modifying sysctl parameters
122601
122602       salt.modules.linux_sysctl.assign(name, value)
122603              Assign a single sysctl parameter for this minion
122604
122605              CLI Example:
122606
122607                 salt '*' sysctl.assign net.ipv4.ip_forward 1
122608
122609       salt.modules.linux_sysctl.default_config()
122610              Linux hosts using systemd 207 or later  ignore  /etc/sysctl.conf
122611              and  only  load from /etc/sysctl.d/*.conf. This function will do
122612              the proper checks and return a default config file which will be
122613              valid  for  the  Minion.  Hosts  running systemd >= 207 will use
122614              /etc/sysctl.d/99-salt.conf.
122615
122616              CLI Example:
122617
122618                 salt -G 'kernel:Linux' sysctl.default_config
122619
122620       salt.modules.linux_sysctl.get(name)
122621              Return a single sysctl parameter for this minion
122622
122623              CLI Example:
122624
122625                 salt '*' sysctl.get net.ipv4.ip_forward
122626
122627       salt.modules.linux_sysctl.persist(name, value, config=None)
122628              Assign and persist a simple sysctl parameter for this minion. If
122629              config is not specified, a sensible default will be chosen using
122630              sysctl.default_config.
122631
122632              CLI Example:
122633
122634                 salt '*' sysctl.persist net.ipv4.ip_forward 1
122635
122636       salt.modules.linux_sysctl.show(config_file=False)
122637              Return a list of sysctl parameters for this minion
122638
122639              config: Pull the data from the system configuration file
122640                     instead of the live data.
122641
122642              CLI Example:
122643
122644                 salt '*' sysctl.show
122645
122646   salt.modules.localemod
122647       Module for managing locales on POSIX-like systems.
122648
122649       salt.modules.localemod.avail(locale)
122650              Check if a locale is available.
122651
122652              New in version 2014.7.0.
122653
122654
122655              CLI Example:
122656
122657                 salt '*' locale.avail 'en_US.UTF-8'
122658
122659       salt.modules.localemod.gen_locale(locale, **kwargs)
122660              Generate a locale. Options:
122661
122662              New in version 2014.7.0.
122663
122664
122665              Parameters
122666                     locale -- Any locale listed in /usr/share/i18n/locales or
122667                     /usr/share/i18n/SUPPORTED  for  Debian  and  Gentoo based
122668                     distributions, which require the charmap to be  specified
122669                     as part of the locale when generating it.
122670
122671              verbose
122672                     Show  extra  warnings  about  errors  that  are  normally
122673                     ignored.
122674
122675              CLI Example:
122676
122677                 salt '*' locale.gen_locale en_US.UTF-8
122678                 salt '*' locale.gen_locale 'en_IE.UTF-8 UTF-8'    # Debian/Gentoo only
122679
122680       salt.modules.localemod.get_locale()
122681              Get the current system locale
122682
122683              CLI Example:
122684
122685                 salt '*' locale.get_locale
122686
122687       salt.modules.localemod.list_avail()
122688              Lists available (compiled) locales
122689
122690              CLI Example:
122691
122692                 salt '*' locale.list_avail
122693
122694       salt.modules.localemod.set_locale(locale)
122695              Sets the current system locale
122696
122697              CLI Example:
122698
122699                 salt '*' locale.set_locale 'en_US.UTF-8'
122700
122701   salt.modules.locate
122702       Module for using the locate utilities
122703
122704       salt.modules.locate.locate(pattern, database=u'', limit=0, **kwargs)
122705              Performs a file lookup. Valid options (and their defaults) are:
122706
122707                 basename=False
122708                 count=False
122709                 existing=False
122710                 follow=True
122711                 ignore=False
122712                 nofollow=False
122713                 wholename=True
122714                 regex=False
122715                 database=<locate's default database>
122716                 limit=<integer, not set by default>
122717
122718              See the manpage for locate(1) for further explanation  of  these
122719              options.
122720
122721              CLI Example:
122722
122723                 salt '*' locate.locate
122724
122725       salt.modules.locate.stats()
122726              Returns statistics about the locate database
122727
122728              CLI Example:
122729
122730                 salt '*' locate.stats
122731
122732       salt.modules.locate.updatedb()
122733              Updates the locate database
122734
122735              CLI Example:
122736
122737                 salt '*' locate.updatedb
122738
122739       salt.modules.locate.version()
122740              Returns the version of locate
122741
122742              CLI Example:
122743
122744                 salt '*' locate.version
122745
122746   salt.modules.logadm
122747       Module for managing Solaris logadm based log rotations.
122748
122749       salt.modules.logadm.list_conf(conf_file=u'/etc/logadm.conf',
122750       log_file=None, include_unset=False)
122751              Show parsed configuration
122752
122753              New in version 2018.3.0.
122754
122755
122756              conf_file
122757                     string path to logadm.conf, defaults to /etc/logadm.conf
122758
122759              log_file
122760                     string optional show only one log file
122761
122762              include_unset
122763                     boolean include unset flags in output
122764
122765              CLI Example:
122766
122767                 salt '*' logadm.list_conf
122768                 salt '*' logadm.list_conf log=/var/log/syslog
122769                 salt '*' logadm.list_conf include_unset=False
122770
122771       salt.modules.logadm.remove(name, conf_file=u'/etc/logadm.conf')
122772              Remove log pattern from logadm
122773
122774              CLI Example:
122775
122776                 salt '*' logadm.remove myapplog
122777
122778       salt.modules.logadm.rotate(name,                          pattern=None,
122779       conf_file=u'/etc/logadm.conf', **kwargs)
122780              Set up pattern for logging.
122781
122782              name   string alias for entryname
122783
122784              pattern
122785                     string alias for log_file
122786
122787              conf_file
122788                     string optional path to alternative configuration file
122789
122790              kwargs boolean|string|int  optional additional flags and parame‐
122791                     ters
122792
122793              NOTE:
122794                 name and pattern were kept for backwards  compatibility  rea‐
122795                 sons.
122796
122797                 name  is  an  alias for the entryname argument, pattern is an
122798                 alias for log_file. These aliases will only be  used  if  the
122799                 entryname and log_file arguments are not passed.
122800
122801                 For a full list of arguments see `logadm.show_args`.
122802
122803              CLI Example:
122804
122805                 salt '*' logadm.rotate myapplog pattern='/var/log/myapp/*.log' count=7
122806                 salt '*' logadm.rotate myapplog log_file='/var/log/myapp/*.log' count=4 owner=myappd mode='0700'
122807
122808       salt.modules.logadm.show_args(*args, **kwargs)
122809              Show which arguments map to which flags and options.
122810
122811              New in version 2018.3.0.
122812
122813
122814              CLI Example:
122815
122816                 salt '*' logadm.show_args
122817
122818       salt.modules.logadm.show_conf(conf_file=u'/etc/logadm.conf', name=None)
122819              Show configuration
122820
122821              conf_file
122822                     string path to logadm.conf, defaults to /etc/logadm.conf
122823
122824              name   string optional show only a single entry
122825
122826              CLI Example:
122827
122828                 salt '*' logadm.show_conf
122829                 salt '*' logadm.show_conf name=/var/log/syslog
122830
122831   salt.modules.logmod module
122832   On-demand logging
122833       New in version 2017.7.0.
122834
122835
122836       The sole purpose of this module is logging messages in the (proxy) min‐
122837       ion.  It comes very handy when debugging complex Jinja  templates,  for
122838       example:
122839
122840          {%- for var in range(10) %}
122841            {%- do salt.log.info(var) -%}
122842          {%- endfor %}
122843
122844       CLI Example:
122845
122846          salt '*' log.error "Please don't do that, this module is not for CLI use!"
122847
122848       salt.modules.logmod.critical(message)
122849              Log message at level CRITICAL.
122850
122851       salt.modules.logmod.debug(message)
122852              Log message at level DEBUG.
122853
122854       salt.modules.logmod.error(message)
122855              Log message at level ERROR.
122856
122857       salt.modules.logmod.exception(message)
122858              Log message at level EXCEPTION.
122859
122860       salt.modules.logmod.info(message)
122861              Log message at level INFO.
122862
122863       salt.modules.logmod.warning(message)
122864              Log message at level WARNING.
122865
122866   salt.modules.logrotate
122867       Module for managing logrotate.
122868
122869       salt.modules.logrotate.get(key,   value=None,   conf_file=u'/etc/logro‐
122870       tate.conf')
122871              Get the value for a specific configuration line.
122872
122873              Parameters
122874
122875                     · key (str) -- The command or stanza block to configure.
122876
122877                     · value (str) -- The command  value  or  command  of  the
122878                       block specified by the key parameter.
122879
122880                     · conf_file (str) -- The logrotate configuration file.
122881
122882              Returns
122883                     The value for a specific configuration line.
122884
122885              Return type
122886                     bool|int|str
122887
122888              CLI Example:
122889
122890                 salt '*' logrotate.get rotate
122891
122892                 salt '*' logrotate.get /var/log/wtmp rotate /etc/logrotate.conf
122893
122894       salt.modules.logrotate.set_(key,          value,          setting=None,
122895       conf_file=u'/etc/logrotate.conf')
122896              Set a new value for a specific configuration line.
122897
122898              Parameters
122899
122900                     · key (str) -- The command or block to configure.
122901
122902                     · value (str) -- The command  value  or  command  of  the
122903                       block specified by the key parameter.
122904
122905                     · setting  (str)  --  The  command  value for the command
122906                       specified by the value parameter.
122907
122908                     · conf_file (str) -- The logrotate configuration file.
122909
122910              Returns
122911                     A boolean representing whether all changes succeeded.
122912
122913              Return type
122914                     bool
122915
122916              CLI Example:
122917
122918                 salt '*' logrotate.set rotate 2
122919
122920              Can also be used to set a single value inside a  multiline  con‐
122921              figuration  block. For instance, to change rotate in the follow‐
122922              ing block:
122923
122924                 /var/log/wtmp {
122925                     monthly
122926                     create 0664 root root
122927                     rotate 1
122928                 }
122929
122930              Use the following command:
122931
122932                 salt '*' logrotate.set /var/log/wtmp rotate 2
122933
122934              This module also has the ability to scan files inside an include
122935              directory, and make changes in the appropriate file.
122936
122937       salt.modules.logrotate.show_conf(conf_file=u'/etc/logrotate.conf')
122938              Show parsed configuration
122939
122940              Parameters
122941                     conf_file (str) -- The logrotate configuration file.
122942
122943              Returns
122944                     The parsed configuration.
122945
122946              Return type
122947                     dict
122948
122949              CLI Example:
122950
122951                 salt '*' logrotate.show_conf
122952
122953   salt.modules.lvs
122954       Support for LVS (Linux Virtual Server)
122955
122956       salt.modules.lvs.add_server(protocol=None,        service_address=None,
122957       server_address=None, packet_forward_method=u'dr', weight=1, **kwargs)
122958              Add a real server to a virtual service.
122959
122960              protocol
122961                     The service protocol(only support  tcp,  udp  and  fwmark
122962                     service).
122963
122964              service_address
122965                     The LVS service address.
122966
122967              server_address
122968                     The real server address.
122969
122970              packet_forward_method
122971                     The  LVS  packet forwarding method(dr for direct routing,
122972                     tunnel for tunneling, nat  for  network  access  transla‐
122973                     tion).
122974
122975              weight The  capacity   of a server relative to the others in the
122976                     pool.
122977
122978              CLI Example:
122979
122980                 salt '*' lvs.add_server tcp 1.1.1.1:80 192.168.0.11:8080 nat 1
122981
122982       salt.modules.lvs.add_service(protocol=None,       service_address=None,
122983       scheduler=u'wlc')
122984              Add a virtual service.
122985
122986              protocol
122987                     The  service  protocol(only  support  tcp, udp and fwmark
122988                     service).
122989
122990              service_address
122991                     The LVS service address.
122992
122993              scheduler
122994                     Algorithm for allocating TCP connections  and  UDP  data‐
122995                     grams to real servers.
122996
122997              CLI Example:
122998
122999                 salt '*' lvs.add_service tcp 1.1.1.1:80 rr
123000
123001       salt.modules.lvs.check_server(protocol=None,      service_address=None,
123002       server_address=None, **kwargs)
123003              Check the real server exists in the specified service.
123004
123005              CLI Example:
123006
123007                 salt '*' lvs.check_server tcp 1.1.1.1:80 192.168.0.11:8080
123008
123009       salt.modules.lvs.check_service(protocol=None,     service_address=None,
123010       **kwargs)
123011              Check the virtual service exists.
123012
123013              CLI Example:
123014
123015                 salt '*' lvs.check_service tcp 1.1.1.1:80
123016
123017       salt.modules.lvs.clear()
123018              Clear the virtual server table
123019
123020              CLI Example:
123021
123022                 salt '*' lvs.clear
123023
123024       salt.modules.lvs.delete_server(protocol=None,     service_address=None,
123025       server_address=None)
123026              Delete the realserver from the virtual service.
123027
123028              protocol
123029                     The service protocol(only support  tcp,  udp  and  fwmark
123030                     service).
123031
123032              service_address
123033                     The LVS service address.
123034
123035              server_address
123036                     The real server address.
123037
123038              CLI Example:
123039
123040                 salt '*' lvs.delete_server tcp 1.1.1.1:80 192.168.0.11:8080
123041
123042       salt.modules.lvs.delete_service(protocol=None, service_address=None)
123043              Delete the virtual service.
123044
123045              protocol
123046                     The  service  protocol(only  support  tcp, udp and fwmark
123047                     service).
123048
123049              service_address
123050                     The LVS service address.
123051
123052              CLI Example:
123053
123054                 salt '*' lvs.delete_service tcp 1.1.1.1:80
123055
123056       salt.modules.lvs.edit_server(protocol=None,       service_address=None,
123057       server_address=None, packet_forward_method=None, weight=None, **kwargs)
123058              Edit a real server to a virtual service.
123059
123060              protocol
123061                     The  service  protocol(only  support  tcp, udp and fwmark
123062                     service).
123063
123064              service_address
123065                     The LVS service address.
123066
123067              server_address
123068                     The real server address.
123069
123070              packet_forward_method
123071                     The LVS packet forwarding method(dr for  direct  routing,
123072                     tunnel  for  tunneling,  nat  for network access transla‐
123073                     tion).
123074
123075              weight The capacity  of a server relative to the others  in  the
123076                     pool.
123077
123078              CLI Example:
123079
123080                 salt '*' lvs.edit_server tcp 1.1.1.1:80 192.168.0.11:8080 nat 1
123081
123082       salt.modules.lvs.edit_service(protocol=None,      service_address=None,
123083       scheduler=None)
123084              Edit the virtual service.
123085
123086              protocol
123087                     The service protocol(only support  tcp,  udp  and  fwmark
123088                     service).
123089
123090              service_address
123091                     The LVS service address.
123092
123093              scheduler
123094                     Algorithm  for  allocating  TCP connections and UDP data‐
123095                     grams to real servers.
123096
123097              CLI Example:
123098
123099                 salt '*' lvs.edit_service tcp 1.1.1.1:80 rr
123100
123101       salt.modules.lvs.get_rules()
123102              Get the virtual server rules
123103
123104              CLI Example:
123105
123106                 salt '*' lvs.get_rules
123107
123108       salt.modules.lvs.list_(protocol=None, service_address=None)
123109              List the virtual server table if service_address is  not  speci‐
123110              fied. If a service_address is selected, list this service only.
123111
123112              CLI Example:
123113
123114                 salt '*' lvs.list
123115
123116       salt.modules.lvs.zero(protocol=None, service_address=None)
123117              Zero the packet, byte and rate counters in a service or all ser‐
123118              vices.
123119
123120              CLI Example:
123121
123122                 salt '*' lvs.zero
123123
123124   salt.modules.lxc
123125       Control Linux Containers via Salt
123126
123127       depends
123128              lxc package for distribution
123129
123130       lxc >= 1.0 (even beta alpha) is required
123131
123132       salt.modules.lxc.add_veth(name, interface_name, bridge=None, path=None)
123133              Add a veth to a container.  Note : this function doesn't  update
123134              the container config, just add the interface at runtime
123135
123136              name   Name of the container
123137
123138              interface_name
123139                     Name of the interface in the container
123140
123141              bridge Name  of  the bridge to attach the interface to (faculta‐
123142                     tive)
123143
123144              CLI Examples:
123145
123146                 salt '*' lxc.add_veth container_name eth1 br1
123147                 salt '*' lxc.add_veth container_name eth1
123148
123149       salt.modules.lxc.apply_network_profile(name,           network_profile,
123150       nic_opts=None, path=None)
123151              New in version 2015.5.0.
123152
123153
123154              Apply a network profile to a container
123155
123156              network_profile
123157                     profile name or default values (dict)
123158
123159              nic_opts
123160                     values to override in defaults (dict) indexed by nic card
123161                     names
123162
123163              path   path to the container parent
123164
123165                     New in version 2015.8.0.
123166
123167
123168              CLI Examples:
123169
123170                 salt 'minion' lxc.apply_network_profile web1 centos
123171                 salt 'minion' lxc.apply_network_profile web1 centos \
123172                         nic_opts="{'eth0': {'mac': 'xx:xx:xx:xx:xx:xx'}}"
123173                 salt 'minion' lxc.apply_network_profile web1 \
123174                         "{'eth0': {'mac': 'xx:xx:xx:xx:xx:yy'}}"
123175                         nic_opts="{'eth0': {'mac': 'xx:xx:xx:xx:xx:xx'}}"
123176
123177              The special case to disable use of ethernet nics:
123178
123179                 salt 'minion' lxc.apply_network_profile web1 centos \
123180                         "{eth0: {disable: true}}"
123181
123182       salt.modules.lxc.attachable(name, path=None)
123183              Return True if the named container can be attached  to  via  the
123184              lxc-attach command
123185
123186              path   path  to the container parent default: /var/lib/lxc (sys‐
123187                     tem default)
123188
123189                     New in version 2015.8.0.
123190
123191
123192              CLI Example:
123193
123194                 salt 'minion' lxc.attachable ubuntu
123195
123196       salt.modules.lxc.bootstrap(name,     config=None,     approve_key=True,
123197       install=True,    pub_key=None,    priv_key=None,    bootstrap_url=None,
123198       force_install=False,  unconditional_install=False,   path=None,   boot‐
123199       strap_delay=None, bootstrap_args=None, bootstrap_shell=None)
123200              Install and configure salt in a container.
123201
123202              config Minion  configuration  options.  By  default,  the master
123203                     option is set to the target host's master.
123204
123205              approve_key
123206                     Request a  pre-approval  of  the  generated  minion  key.
123207                     Requires  that  the  salt-master  be configured to either
123208                     auto-accept all keys or expect a signing request from the
123209                     target host. Default: True
123210
123211              path   path  to the container parent default: /var/lib/lxc (sys‐
123212                     tem default)
123213
123214                     New in version 2015.8.0.
123215
123216
123217              pub_key
123218                     Explicit  public  key  to   pressed   the   minion   with
123219                     (optional).   This  can  be either a filepath or a string
123220                     representing the key
123221
123222              priv_key
123223                     Explicit  private  key  to  pressed   the   minion   with
123224                     (optional).   This  can  be either a filepath or a string
123225                     representing the key
123226
123227              bootstrap_delay
123228                     Delay in seconds between end of  container  creation  and
123229                     bootstrapping.   Useful  when  waiting  for  container to
123230                     obtain a DHCP lease.
123231
123232                     New in version 2015.5.0.
123233
123234
123235              bootstrap_url
123236                     url, content or filepath to the salt bootstrap script
123237
123238              bootstrap_args
123239                     salt bootstrap script arguments
123240
123241              bootstrap_shell
123242                     shell to execute the script into
123243
123244              install
123245                     Whether to attempt a full installation of salt-minion  if
123246                     needed.
123247
123248              force_install
123249                     Force  installation even if salt-minion is detected, this
123250                     is the way to run vendor bootstrap scripts even if a salt
123251                     minion is already present in the container
123252
123253              unconditional_install
123254                     Run the script even if the container seems seeded
123255
123256              CLI Examples:
123257
123258                 salt 'minion' lxc.bootstrap container_name [config=config_data] \
123259                         [approve_key=(True|False)] [install=(True|False)]
123260
123261       salt.modules.lxc.clone(name,  orig, profile=None, network_profile=None,
123262       nic_opts=None, **kwargs)
123263              Create a new container as a clone of another container
123264
123265              name   Name of the container
123266
123267              orig   Name of the original container to be cloned
123268
123269              profile
123270                     Profile   to    use    in    container    cloning    (see
123271                     lxc.get_container_profile).  Values  in a profile will be
123272                     overridden by  the  Container  Cloning  Arguments  listed
123273                     below.
123274
123275              path   path   to   the   container   parent  directory  default:
123276                     /var/lib/lxc (system)
123277
123278                     New in version 2015.8.0.
123279
123280
123281              Container Cloning Arguments
123282
123283              snapshot
123284                     Use Copy On Write snapshots (LVM)
123285
123286              size   1G Size of the volume to create. Only applicable if back‐
123287                     ing=lvm.
123288
123289              backing
123290                     The  type  of  storage  to  use. Set to lvm to use an LVM
123291                     group.  Defaults to filesystem within /var/lib/lxc.
123292
123293              network_profile
123294                     Network profile to use for container
123295
123296                     New in version 2015.8.0.
123297
123298
123299              nic_opts
123300                     give extra opts overriding network profile values
123301
123302                     New in version 2015.8.0.
123303
123304
123305              CLI Examples:
123306
123307                 salt '*' lxc.clone myclone orig=orig_container
123308                 salt '*' lxc.clone myclone orig=orig_container snapshot=True
123309
123310       salt.modules.lxc.cloud_init(name, vm_=None, **kwargs)
123311              Thin wrapper to lxc.init to  be  used  from  the  saltcloud  lxc
123312              driver
123313
123314              name   Name  of  the container may be None and then guessed from
123315                     saltcloud mapping
123316
123317              vm_    saltcloud mapping defaults for the vm
123318
123319              CLI Example:
123320
123321                 salt '*' lxc.cloud_init foo
123322
123323       salt.modules.lxc.cloud_init_interface(name, vm_=None, **kwargs)
123324              Interface between salt.cloud.lxc driver and lxc.init  vm_  is  a
123325              mapping  of  vm  opts in the salt.cloud format as documented for
123326              the lxc driver.
123327
123328              This can be used either:
123329
123330              · from the salt cloud driver
123331
123332              · because you find the argument to give easier here  than  using
123333                directly lxc.init
123334
123335              WARNING:
123336                 BE REALLY CAREFUL CHANGING DEFAULTS !!!  IT'S A RETRO COMPAT‐
123337                 IBLE INTERFACE WITH THE SALT CLOUD DRIVER (ask kiorky).
123338
123339              name   name of the lxc container to create
123340
123341              pub_key
123342                     public key to preseed the minion with.  Can be  the  key‐
123343                     content or a filepath
123344
123345              priv_key
123346                     private  key to preseed the minion with.  Can be the key‐
123347                     content or a filepath
123348
123349              path   path  to  the  container   parent   directory   (default:
123350                     /var/lib/lxc)
123351
123352                     New in version 2015.8.0.
123353
123354
123355              profile
123356                     profile selection
123357
123358              network_profile
123359                     network profile selection
123360
123361              nic_opts
123362                     per  interface  settings compatibles with network profile
123363                     (ipv4/ipv6/link/gateway/mac/netmask)
123364
123365                     eg:
123366
123367                        - {'eth0': {'mac': '00:16:3e:01:29:40',
123368                                    'gateway': None, (default)
123369                                    'link': 'br0', (default)
123370                                    'gateway': None, (default)
123371                                    'netmask': '', (default)
123372                                    'ip': '22.1.4.25'}}
123373
123374              unconditional_install
123375                     given to lxc.bootstrap (see relative doc)
123376
123377              force_install
123378                     given to lxc.bootstrap (see relative doc)
123379
123380              config any extra argument for the salt minion config
123381
123382              dnsservers
123383                     list of DNS servers to set inside the container
123384
123385              dns_via_dhcp
123386                     do not set the dns servers, let them be set by the dhcp.
123387
123388              autostart
123389                     autostart the container at boot time
123390
123391              password
123392                     administrative password for the container
123393
123394              bootstrap_delay
123395                     delay before launching bootstrap script at Container init
123396
123397              WARNING:
123398                 Legacy but still supported options:
123399
123400                 from_container
123401                        which container we use  as  a  template  when  running
123402                        lxc.clone
123403
123404                 image  which template do we use when we are using lxc.create.
123405                        This is the default mode unless you specify  something
123406                        in from_container
123407
123408                 backing
123409                        which backing store to use.  Values can be: overlayfs,
123410                        dir(default), lvm, zfs, brtfs
123411
123412                 fstype When using a blockdevice level  backing  store,  which
123413                        filesystem to use on
123414
123415                 size   When  using  a  blockdevice level backing store, which
123416                        size for the filesystem to use on
123417
123418                 snapshot
123419                        Use snapshot when cloning the container source
123420
123421                 vgname if using LVM: vgname
123422
123423                 lvname if using LVM: lvname
123424
123425                 thinpool:
123426                        if using LVM: thinpool
123427
123428                 ip     ip for the primary nic
123429
123430                 mac    mac address for the primary nic
123431
123432                 netmask
123433                        netmask for the primary nic (24) =  vm_.get('netmask',
123434                        '24')
123435
123436                 bridge bridge for the primary nic (lxcbr0)
123437
123438                 gateway
123439                        network gateway for the container
123440
123441                 additional_ips
123442                        additional  ips which will be wired on the main bridge
123443                        (br0) which is connected to internet.  Be  aware  that
123444                        you  may  use manual virtual mac addresses providen by
123445                        you provider (online, ovh, etc).  This is  a  list  of
123446                        mappings  {ip: '', mac: '', netmask:''} Set gateway to
123447                        None and an interface with a gateway  to  escape  from
123448                        another interface that eth0.  eg:
123449
123450                            - {'mac': '00:16:3e:01:29:40',
123451                               'gateway': None, (default)
123452                               'link': 'br0', (default)
123453                               'netmask': '', (default)
123454                               'ip': '22.1.4.25'}
123455
123456                 users  administrative users for the container default: [root]
123457                        and [root, ubuntu] on ubuntu
123458
123459                 default_nic
123460                        name of the first interface,  you  should  really  not
123461                        override this
123462
123463              CLI Example:
123464
123465                 salt '*' lxc.cloud_init_interface foo
123466
123467       salt.modules.lxc.copy_to(name,     source,    dest,    overwrite=False,
123468       makedirs=False, path=None)
123469              Changed in version 2015.8.0: Function  renamed  from  lxc.cp  to
123470              lxc.copy_to  for  consistency with other container types. lxc.cp
123471              will continue to work, however.  For versions 2015.2.x and  ear‐
123472              lier, use lxc.cp.
123473
123474
123475              Copy a file or directory from the host into a container
123476
123477              name   Container name
123478
123479              source File to be copied to the container
123480
123481              path   path  to the container parent default: /var/lib/lxc (sys‐
123482                     tem default)
123483
123484                     New in version 2015.8.0.
123485
123486
123487              dest   Destination on the container. Must be an absolute path.
123488
123489                     Changed in version 2015.5.0:  If  the  destination  is  a
123490                     directory, the file will be copied into that directory.
123491
123492
123493              overwrite
123494                     False  Unless  this option is set to True, then if a file
123495                     exists at the location specified by the dest argument, an
123496                     error will be raised.
123497
123498                     New in version 2015.8.0.
123499
123500
123501              makedirs : False
123502                 Create  the  parent directory on the container if it does not
123503                 already exist.
123504
123505                 New in version 2015.5.0.
123506
123507
123508              CLI Example:
123509
123510                 salt 'minion' lxc.copy_to /tmp/foo /root/foo
123511                 salt 'minion' lxc.cp /tmp/foo /root/foo
123512
123513       salt.modules.lxc.create(name, config=None,  profile=None,  network_pro‐
123514       file=None, nic_opts=None, **kwargs)
123515              Create a new container.
123516
123517              name   Name of the container
123518
123519              config The  config  file  to  use for the container. Defaults to
123520                     system-wide config (usually in /etc/lxc/lxc.conf).
123521
123522              profile
123523                     Profile   to   use    in    container    creation    (see
123524                     lxc.get_container_profile).  Values  in a profile will be
123525                     overridden by the  Container  Creation  Arguments  listed
123526                     below.
123527
123528              network_profile
123529                     Network profile to use for container
123530
123531                     New in version 2015.5.0.
123532
123533
123534              Container Creation Arguments
123535
123536              template
123537                     The  template to use. For example, ubuntu or fedora.  For
123538                     a  full  list  of  available  templates,  check  out  the
123539                     lxc.templates function.
123540
123541                     Conflicts with the image argument.
123542
123543                     NOTE:
123544                        The  download  template  requires  the following three
123545                        parameters to be defined in options:
123546
123547                        · dist - The name of the distribution
123548
123549                        · release - Release name/version
123550
123551                        · arch - Architecture of the container
123552
123553                        The  available  images  can  be   listed   using   the
123554                        lxc.images function.
123555
123556              options
123557                     Template-specific  options to pass to the lxc-create com‐
123558                     mand. These correspond to the long options  (ones  begin‐
123559                     ning  with  two dashes) that the template script accepts.
123560                     For example:
123561
123562                        options='{"dist": "centos", "release": "6", "arch": "amd64"}'
123563
123564                     For available template options, refer to the lxc template
123565                     scripts     which     are    ususally    located    under
123566                     /usr/share/lxc/templates, or run lxc-create -t <template>
123567                     -h.
123568
123569              image  A  tar  archive  to  use as the rootfs for the container.
123570                     Conflicts with the template argument.
123571
123572              backing
123573                     The type of storage to use. Set to  lvm  to  use  an  LVM
123574                     group.  Defaults to filesystem within /var/lib/lxc.
123575
123576              fstype Filesystem type to use on LVM logical volume
123577
123578              size   1G Size of the volume to create. Only applicable if back‐
123579                     ing=lvm.
123580
123581              vgname lxc Name of the LVM volume group in which to  create  the
123582                     volume  for  this  container.  Only  applicable  if back‐
123583                     ing=lvm.
123584
123585              lvname Name of the LVM logical volume in  which  to  create  the
123586                     volume  for  this  container.  Only  applicable  if back‐
123587                     ing=lvm.
123588
123589              thinpool
123590                     Name of a pool volume that will be used  for  thin-provi‐
123591                     sioning this container. Only applicable if backing=lvm.
123592
123593              nic_opts
123594                     give extra opts overriding network profile values
123595
123596              path   parent   path   for   the  container  creation  (default:
123597                     /var/lib/lxc)
123598
123599              zfsroot
123600                     Name of the ZFS root in which to create  the  volume  for
123601                     this   container.    Only   applicable   if  backing=zfs.
123602                     (default: tank/lxc)
123603
123604                     New in version 2015.8.0.
123605
123606
123607       salt.modules.lxc.destroy(name, stop=False, path=None)
123608              Destroy the named container.
123609
123610              WARNING:
123611                 Destroys all data associated with the container.
123612
123613              path   path  to  the  container   parent   directory   (default:
123614                     /var/lib/lxc)
123615
123616                     New in version 2015.8.0.
123617
123618
123619              stop   False If True, the container will be destroyed even if it
123620                     is running/frozen.
123621
123622                     Changed in version 2015.5.0:  Default  value  changed  to
123623                     False.   This   more  closely  matches  the  behavior  of
123624                     lxc-destroy(1), and also makes it  less  likely  that  an
123625                     accidental  command will destroy a running container that
123626                     was being used for important things.
123627
123628
123629              CLI Examples:
123630
123631                 salt '*' lxc.destroy foo
123632                 salt '*' lxc.destroy foo stop=True
123633
123634       salt.modules.lxc.edit_conf(conf_file,             out_format=u'simple',
123635       read_only=False, lxc_config=None, **kwargs)
123636              Edit  an LXC configuration file. If a setting is already present
123637              inside the file, its value will be  replaced.  If  it  does  not
123638              exist,  it will be appended to the end of the file. Comments and
123639              blank lines will be kept in-tact if they already  exist  in  the
123640              file.
123641
123642              out_format:
123643                     Set  to simple if you need backward compatibility (multi‐
123644                     ple items for a simple key is not supported)
123645
123646              read_only:
123647                     return only the edited configuration without applying  it
123648                     to the underlying lxc configuration file
123649
123650              lxc_config:
123651                     List of dict containning lxc configuration items For net‐
123652                     work configuration, you also need to add  the  device  it
123653                     belongs to, otherwise it will default to eth0.  Also, any
123654                     change to a network parameter will result  in  the  whole
123655                     network  reconfiguration  to avoid mismatchs, be aware of
123656                     that !
123657
123658              After the file is edited, its  contents  will  be  returned.  By
123659              default,  it  will  be  returned  in  simple  format, meaning an
123660              unordered dict (which may not represent the actual file  order).
123661              Passing  in an out_format of commented will return a data struc‐
123662              ture which accurately represents the order and  content  of  the
123663              file.
123664
123665              CLI Example:
123666
123667                 salt 'minion' lxc.edit_conf /etc/lxc/mycontainer.conf \
123668                     out_format=commented lxc.network.type=veth
123669                 salt 'minion' lxc.edit_conf /etc/lxc/mycontainer.conf \
123670                     out_format=commented \
123671                     lxc_config="[{'lxc.network.name': 'eth0', \
123672                                   'lxc.network.ipv4': '1.2.3.4'},
123673                                  {'lxc.network.name': 'eth2', \
123674                                   'lxc.network.ipv4': '1.2.3.5',\
123675                                   'lxc.network.gateway': '1.2.3.1'}]"
123676
123677       salt.modules.lxc.exists(name, path=None)
123678              Returns whether the named container exists.
123679
123680              path   path   to   the   container  parent  directory  (default:
123681                     /var/lib/lxc)
123682
123683                     New in version 2015.8.0.
123684
123685
123686              CLI Example:
123687
123688                 salt '*' lxc.exists name
123689
123690       salt.modules.lxc.freeze(name, **kwargs)
123691              Freeze the named container
123692
123693              path   path  to  the   container   parent   directory   default:
123694                     /var/lib/lxc (system)
123695
123696                     New in version 2015.8.0.
123697
123698
123699              start  False If True and the container is stopped, the container
123700                     will be started before attempting to freeze.
123701
123702                     New in version 2015.5.0.
123703
123704
123705              use_vt run the command through VT
123706
123707                     New in version 2015.8.0.
123708
123709
123710              CLI Example:
123711
123712                 salt '*' lxc.freeze name
123713
123714       salt.modules.lxc.get_container_profile(name=None, **kwargs)
123715              New in version 2015.5.0.
123716
123717
123718              Gather a pre-configured set of container  configuration  parame‐
123719              ters. If no arguments are passed, an empty profile is returned.
123720
123721              Profiles can be defined in the minion or master config files, or
123722              in pillar or grains, and are loaded using  config.get.  The  key
123723              under   which  LXC  profiles  must  be  configured  is  lxc.con‐
123724              tainer_profile.profile_name. An example container profile  would
123725              be as follows:
123726
123727                 lxc.container_profile:
123728                   ubuntu:
123729                     template: ubuntu
123730                     backing: lvm
123731                     vgname: lxc
123732                     size: 1G
123733
123734              Parameters  set  in a profile can be overridden by passing addi‐
123735              tional container creation arguments (such as the ones passed  to
123736              lxc.create) to this function.
123737
123738              A profile can be defined either as the name of the profile, or a
123739              dictionary of variable names and values. See  the  LXC  Tutorial
123740              for more information on how to use LXC profiles.
123741
123742              CLI Example:
123743
123744                 salt-call lxc.get_container_profile centos
123745                 salt-call lxc.get_container_profile ubuntu template=ubuntu backing=overlayfs
123746
123747       salt.modules.lxc.get_network_profile(name=None, **kwargs)
123748              New in version 2015.5.0.
123749
123750
123751              Gather a pre-configured set of network configuration parameters.
123752              If no arguments are passed, the  following  default  profile  is
123753              returned:
123754
123755                 {'eth0': {'link': 'br0', 'type': 'veth', 'flags': 'up'}}
123756
123757              Profiles can be defined in the minion or master config files, or
123758              in pillar or grains, and are loaded using  config.get.  The  key
123759              under  which LXC profiles must be configured is lxc.network_pro‐
123760              file. An example network profile would be as follows:
123761
123762                 lxc.network_profile.centos:
123763                   eth0:
123764                     link: br0
123765                     type: veth
123766                     flags: up
123767
123768              To disable networking entirely:
123769
123770                 lxc.network_profile.centos:
123771                   eth0:
123772                     disable: true
123773
123774              Parameters set in a profile can be overridden by  passing  addi‐
123775              tional arguments to this function.
123776
123777              A  profile can be passed either as the name of the profile, or a
123778              dictionary of variable names and values. See  the  LXC  Tutorial
123779              for more information on how to use network profiles.
123780
123781              WARNING:
123782                 The  ipv4,  ipv6, gateway, and link (bridge) settings in net‐
123783                 work profiles will only work if the container  doesn't  rede‐
123784                 fine  the  network configuration (for example in /etc/syscon‐
123785                 fig/network-scripts/ifcfg-<interface_name> on RHEL/CentOS, or
123786                 /etc/network/interfaces on Debian/Ubuntu/etc.)
123787
123788              CLI Example:
123789
123790                 salt-call lxc.get_network_profile default
123791
123792       salt.modules.lxc.get_parameter(name, parameter, path=None)
123793              Returns the value of a cgroup parameter for a container
123794
123795              path   path   to   the   container   parent  directory  default:
123796                     /var/lib/lxc (system)
123797
123798                     New in version 2015.8.0.
123799
123800
123801              CLI Example:
123802
123803                 salt '*' lxc.get_parameter container_name memory.limit_in_bytes
123804
123805       salt.modules.lxc.get_pid(name, path=None)
123806              Returns a container pid.  Throw an exception  if  the  container
123807              isn't running.
123808
123809              CLI Example:
123810
123811                 salt '*' lxc.get_pid name
123812
123813       salt.modules.lxc.get_root_path(path)
123814              Get the configured lxc root for containers
123815
123816              New in version 2015.8.0.
123817
123818
123819              CLI Example:
123820
123821                 salt '*' lxc.get_root_path
123822
123823       salt.modules.lxc.images(dist=None)
123824              New in version 2015.5.0.
123825
123826
123827              List the available images for LXC's download template.
123828
123829              dist   None Filter results to a single Linux distribution
123830
123831              CLI Examples:
123832
123833                 salt myminion lxc.images
123834                 salt myminion lxc.images dist=centos
123835
123836       salt.modules.lxc.info(name, path=None)
123837              Returns information about a container
123838
123839              path   path   to   the   container   parent  directory  default:
123840                     /var/lib/lxc (system)
123841
123842                     New in version 2015.8.0.
123843
123844
123845              CLI Example:
123846
123847                 salt '*' lxc.info name
123848
123849       salt.modules.lxc.init(name,  config=None,  cpuset=None,  cpushare=None,
123850       memory=None,    profile=None,    network_profile=None,   nic_opts=None,
123851       cpu=None,   autostart=True,   password=None,   password_encrypted=None,
123852       users=None,  dnsservers=None,  searchdomains=None,  bridge=None,  gate‐
123853       way=None, pub_key=None,  priv_key=None,  force_install=False,  uncondi‐
123854       tional_install=False,  bootstrap_delay=None, bootstrap_args=None, boot‐
123855       strap_shell=None, bootstrap_url=None, **kwargs)
123856              Initialize a new container.
123857
123858              This is a partial idempotent function as if it is already provi‐
123859              sioned,  we will reset a bit the lxc configuration file but much
123860              of the hard work will be escaped as markers will prevent re-exe‐
123861              cution of harmful tasks.
123862
123863              name   Name of the container
123864
123865              image  A  tar  archive  to  use as the rootfs for the container.
123866                     Conflicts with the template argument.
123867
123868              cpus   Select a random number of cpu cores and assign it to  the
123869                     cpuset, if the cpuset option is set then this option will
123870                     be ignored
123871
123872              cpuset Explicitly define the cpus this container will  be  bound
123873                     to
123874
123875              cpushare
123876                     cgroups cpu shares
123877
123878              autostart
123879                     autostart container on reboot
123880
123881              memory cgroups memory limit, in MB
123882
123883                     Changed  in  version  2015.5.0: If no value is passed, no
123884                     limit is set. In earlier Salt versions, not passing  this
123885                     value  causes a 1024MB memory limit to be set, and it was
123886                     necessary to pass memory=0 to set no limit.
123887
123888
123889              gateway
123890                     the ipv4 gateway to use the  default  does  nothing  more
123891                     than lxcutils does
123892
123893              bridge the  bridge  to  use  the  default does nothing more than
123894                     lxcutils does
123895
123896              network_profile
123897                     Network profile to use for the container
123898
123899                     New in version 2015.5.0.
123900
123901
123902              nic_opts
123903                     Extra options for network interfaces, will override
123904
123905                     {"eth0":    {"hwaddr":    "aa:bb:cc:dd:ee:ff",    "ipv4":
123906                     "10.1.1.1", "ipv6": "2001:db8::ff00:42:8329"}}
123907
123908                     or
123909
123910                     {"eth0":    {"hwaddr":    "aa:bb:cc:dd:ee:ff",    "ipv4":
123911                     "10.1.1.1/24", "ipv6": "2001:db8::ff00:42:8329"}}
123912
123913              users  Users for which the  password  defined  in  the  password
123914                     param  should  be set. Can be passed as a comma separated
123915                     list or a python list.  Defaults to just the root user.
123916
123917              password
123918                     Set the initial password for the  users  defined  in  the
123919                     users parameter
123920
123921              password_encrypted
123922                     False  Set to True to denote a password hash instead of a
123923                     plaintext password
123924
123925                     New in version 2015.5.0.
123926
123927
123928              profile
123929                     A LXC profile (defined in config or pillar).  This can be
123930                     either  a real profile mapping or a string to retrieve it
123931                     in configuration
123932
123933              start  Start the newly-created container
123934
123935              dnsservers
123936                     list of dns servers to set in the container,  default  []
123937                     (no setting)
123938
123939              seed   Seed the container with the minion config. Default: True
123940
123941              install
123942                     If  salt-minion  is  not  already  installed, install it.
123943                     Default: True
123944
123945              config Optional config parameters. By default, the id is set  to
123946                     the name of the container.
123947
123948              master salt master (default to minion's master)
123949
123950              master_port
123951                     salt master port (default to minion's master port)
123952
123953              pub_key
123954                     Explicit   public   key   to   preseed  the  minion  with
123955                     (optional).  This can be either a filepath  or  a  string
123956                     representing the key
123957
123958              priv_key
123959                     Explicit   private   key   to  preseed  the  minion  with
123960                     (optional).  This can be either a filepath  or  a  string
123961                     representing the key
123962
123963              approve_key
123964                     If  explicit  preseeding  is not used; Attempt to request
123965                     key approval from the master. Default: True
123966
123967              path   path  to  the   container   parent   directory   default:
123968                     /var/lib/lxc (system)
123969
123970                     New in version 2015.8.0.
123971
123972
123973              clone_from
123974                     Original  from  which  to use a clone operation to create
123975                     the container.  Default: None
123976
123977              bootstrap_delay
123978                     Delay in seconds between end of  container  creation  and
123979                     bootstrapping.   Useful  when  waiting  for  container to
123980                     obtain a DHCP lease.
123981
123982                     New in version 2015.5.0.
123983
123984
123985              bootstrap_url
123986                     See lxc.bootstrap
123987
123988              bootstrap_shell
123989                     See lxc.bootstrap
123990
123991              bootstrap_args
123992                     See lxc.bootstrap
123993
123994              force_install
123995                     Force installation even if salt-minion is detected,  this
123996                     is the way to run vendor bootstrap scripts even if a salt
123997                     minion is already present in the container
123998
123999              unconditional_install
124000                     Run the script even if the container seems seeded
124001
124002              CLI Example:
124003
124004                 salt 'minion' lxc.init name [cpuset=cgroups_cpuset] \
124005                         [cpushare=cgroups_cpushare] [memory=cgroups_memory] \
124006                         [nic=nic_profile] [profile=lxc_profile] \
124007                         [nic_opts=nic_opts] [start=(True|False)] \
124008                         [seed=(True|False)] [install=(True|False)] \
124009                         [config=minion_config] [approve_key=(True|False) \
124010                         [clone_from=original] [autostart=True] \
124011                         [priv_key=/path_or_content] [pub_key=/path_or_content] \
124012                         [bridge=lxcbr0] [gateway=10.0.3.1] \
124013                         [dnsservers[dns1,dns2]] \
124014                         [users=[foo]] [password='secret'] \
124015                         [password_encrypted=(True|False)]
124016
124017       salt.modules.lxc.list_(extra=False, limit=None, path=None)
124018              List containers classified by state
124019
124020              extra  Also get per-container specific info.  This  will  change
124021                     the return data.  Instead of returning a list of contain‐
124022                     ers, a dictionary of containers and each container's out‐
124023                     put from lxc.info.
124024
124025              path   path   to   the   container   parent  directory  default:
124026                     /var/lib/lxc (system)
124027
124028                     New in version 2015.8.0.
124029
124030
124031              limit  Return output matching a specific state (frozen, running,
124032                     or stopped).
124033
124034                     New in version 2015.5.0.
124035
124036
124037              CLI Examples:
124038
124039                 salt '*' lxc.list
124040                 salt '*' lxc.list extra=True
124041                 salt '*' lxc.list limit=running
124042
124043       salt.modules.lxc.ls_(active=None, cache=True, path=None)
124044              Return a list of the containers available on the minion
124045
124046              path   path   to   the   container   parent  directory  default:
124047                     /var/lib/lxc (system)
124048
124049                     New in version 2015.8.0.
124050
124051
124052              active If True, return only active (i.e. running) containers
124053
124054                     New in version 2015.5.0.
124055
124056
124057              CLI Example:
124058
124059                 salt '*' lxc.ls
124060                 salt '*' lxc.ls active=True
124061
124062       salt.modules.lxc.read_conf(conf_file, out_format=u'simple')
124063              Read in an LXC configuration file. By default returns a  simple,
124064              unsorted  dict,  but  can  also return a more detailed structure
124065              including blank lines and comments.
124066
124067              out_format:
124068                     set to 'simple' if  you  need  the  old  and  unsupported
124069                     behavior.   This  won't  support  the multiple lxc values
124070                     (eg: multiple network nics)
124071
124072              CLI Examples:
124073
124074                 salt 'minion' lxc.read_conf /etc/lxc/mycontainer.conf
124075                 salt 'minion' lxc.read_conf /etc/lxc/mycontainer.conf out_format=commented
124076
124077       salt.modules.lxc.reboot(name, path=None)
124078              Reboot a container.
124079
124080              path   path to the container parent default: /var/lib/lxc  (sys‐
124081                     tem default)
124082
124083                     New in version 2015.8.0.
124084
124085
124086              CLI Examples:
124087
124088                 salt 'minion' lxc.reboot myvm
124089
124090       salt.modules.lxc.reconfigure(name,        cpu=None,        cpuset=None,
124091       cpushare=None,   memory=None,    profile=None,    network_profile=None,
124092       nic_opts=None, bridge=None, gateway=None, autostart=None, utsname=None,
124093       rootfs=None, path=None, **kwargs)
124094              Reconfigure a container.
124095
124096              This only applies to a few property
124097
124098              name   Name of the container.
124099
124100              utsname
124101                     utsname of the container.
124102
124103                     New in version 2016.3.0.
124104
124105
124106              rootfs rootfs of the container.
124107
124108                     New in version 2016.3.0.
124109
124110
124111              cpu    Select a random number of cpu cores and assign it to  the
124112                     cpuset, if the cpuset option is set then this option will
124113                     be ignored
124114
124115              cpuset Explicitly define the cpus this container will  be  bound
124116                     to
124117
124118              cpushare
124119                     cgroups cpu shares.
124120
124121              autostart
124122                     autostart container on reboot
124123
124124              memory cgroups  memory  limit,  in MB.  (0 for nolimit, None for
124125                     old default 1024MB)
124126
124127              gateway
124128                     the ipv4 gateway to use the  default  does  nothing  more
124129                     than lxcutils does
124130
124131              bridge the  bridge  to  use  the  default does nothing more than
124132                     lxcutils does
124133
124134              nic    Network interfaces profile (defined in config or pillar).
124135
124136              nic_opts
124137                     Extra options for network interfaces, will override
124138
124139                     {"eth0": {"mac": "aa:bb:cc:dd:ee:ff", "ipv4": "10.1.1.1",
124140                     "ipv6": "2001:db8::ff00:42:8329"}}
124141
124142                     or
124143
124144                     {"eth0":     {"mac":     "aa:bb:cc:dd:ee:ff",     "ipv4":
124145                     "10.1.1.1/24", "ipv6": "2001:db8::ff00:42:8329"}}
124146
124147              path   path to the container parent
124148
124149                     New in version 2015.8.0.
124150
124151
124152              CLI Example:
124153
124154                 salt-call -lall mc_lxc_fork.reconfigure foobar nic_opts="{'eth1': {'mac': '00:16:3e:dd:ee:44'}}" memory=4
124155
124156       salt.modules.lxc.restart(name, path=None, lxc_config=None, force=False)
124157              New in version 2015.5.0.
124158
124159
124160              Restart the named container. If the container was  not  running,
124161              the container will merely be started.
124162
124163              name   The name of the container
124164
124165              path   path   to   the   container   parent  directory  default:
124166                     /var/lib/lxc (system)
124167
124168                     New in version 2015.8.0.
124169
124170
124171              lxc_config
124172                     path to a lxc config file config  file  will  be  guessed
124173                     from container name otherwise
124174
124175                     New in version 2015.8.0.
124176
124177
124178              force  False  If  True,  the  container  will  be  force-stopped
124179                     instead of gracefully shut down
124180
124181              CLI Example:
124182
124183                 salt myminion lxc.restart name
124184
124185       salt.modules.lxc.retcode(name,      cmd,      no_start=False,      pre‐
124186       serve_state=True,       stdin=None,       python_shell=True,       out‐
124187       put_loglevel=u'debug', use_vt=False,  path=None,  ignore_retcode=False,
124188       chroot_fallback=False, keep_env=u'http_proxy, https_proxy, no_proxy')
124189              New in version 2015.5.0.
124190
124191
124192              Run cmd.retcode within a container
124193
124194              WARNING:
124195                 Many  shell builtins do not work, failing with stderr similar
124196                 to the following:
124197
124198                     lxc_container: No such file or directory - failed to exec 'command'
124199
124200                 The same error will be displayed in  stderr  if  the  command
124201                 being  run  does not exist. If the retcode is nonzero and not
124202                 what was expected, try using lxc.run_stderr or lxc.run_all.
124203
124204              name   Name of the container in which to run the command
124205
124206              cmd    Command to run
124207
124208              no_start
124209                     False If the container is not running, don't start it
124210
124211              preserve_state
124212                     True After running the command, return the  container  to
124213                     its previous state
124214
124215              path   path  to the container parent default: /var/lib/lxc (sys‐
124216                     tem default)
124217
124218                     New in version 2015.8.0.
124219
124220
124221              stdin  None Standard input to be used for the command
124222
124223              output_loglevel
124224                     debug Level at which to log the output from the  command.
124225                     Set to quiet to suppress logging.
124226
124227              use_vt False  Use  SaltStack's utils.vt to stream output to con‐
124228                     sole output=all.
124229
124230              keep_env
124231                     http_proxy,https_proxy,no_proxy A list  of  env  vars  to
124232                     preserve. May be passed as commma-delimited list.
124233
124234              chroot_fallback
124235                     if  the  container is not running, try to run the command
124236                     using chroot default: false
124237
124238              CLI Example:
124239
124240                 salt myminion lxc.retcode mycontainer 'ip addr show'
124241
124242       salt.modules.lxc.run(name,  cmd,  no_start=False,  preserve_state=True,
124243       stdin=None,  python_shell=True, output_loglevel=u'debug', use_vt=False,
124244       path=None,         ignore_retcode=False,         chroot_fallback=False,
124245       keep_env=u'http_proxy, https_proxy, no_proxy')
124246              New in version 2015.8.0.
124247
124248
124249              Run cmd.run within a container
124250
124251              WARNING:
124252                 Many  shell builtins do not work, failing with stderr similar
124253                 to the following:
124254
124255                     lxc_container: No such file or directory - failed to exec 'command'
124256
124257                 The same error will be displayed in  stderr  if  the  command
124258                 being run does not exist. If no output is returned using this
124259                 function, try using lxc.run_stderr or lxc.run_all.
124260
124261              name   Name of the container in which to run the command
124262
124263              cmd    Command to run
124264
124265              path   path to the container parent default: /var/lib/lxc  (sys‐
124266                     tem default)
124267
124268                     New in version 2015.8.0.
124269
124270
124271              no_start
124272                     False If the container is not running, don't start it
124273
124274              preserve_state
124275                     True  After  running the command, return the container to
124276                     its previous state
124277
124278              stdin  None Standard input to be used for the command
124279
124280              output_loglevel
124281                     debug Level at which to log the output from the  command.
124282                     Set to quiet to suppress logging.
124283
124284              use_vt False  Use  SaltStack's utils.vt to stream output to con‐
124285                     sole. Assumes output=all.
124286
124287              chroot_fallback
124288                     if the container is not running, try to run  the  command
124289                     using chroot default: false
124290
124291              keep_env
124292                     http_proxy,https_proxy,no_proxy  A  list  of  env vars to
124293                     preserve. May be passed as commma-delimited list.
124294
124295              CLI Example:
124296
124297                 salt myminion lxc.run mycontainer 'ifconfig -a'
124298
124299       salt.modules.lxc.run_all(name,      cmd,      no_start=False,      pre‐
124300       serve_state=True,       stdin=None,       python_shell=True,       out‐
124301       put_loglevel=u'debug', use_vt=False,  path=None,  ignore_retcode=False,
124302       chroot_fallback=False, keep_env=u'http_proxy, https_proxy, no_proxy')
124303              New in version 2015.5.0.
124304
124305
124306              Run cmd.run_all within a container
124307
124308              NOTE:
124309                 While  the  command is run within the container, it is initi‐
124310                 ated from the host. Therefore, the PID in the return dict  is
124311                 from the host, not from the container.
124312
124313              WARNING:
124314                 Many  shell builtins do not work, failing with stderr similar
124315                 to the following:
124316
124317                     lxc_container: No such file or directory - failed to exec 'command'
124318
124319                 The same error will be displayed in  stderr  if  the  command
124320                 being run does not exist.
124321
124322              name   Name of the container in which to run the command
124323
124324              path   path  to the container parent default: /var/lib/lxc (sys‐
124325                     tem default)
124326
124327                     New in version 2015.8.0.
124328
124329
124330              cmd    Command to run
124331
124332              no_start
124333                     False If the container is not running, don't start it
124334
124335              preserve_state
124336                     True After running the command, return the  container  to
124337                     its previous state
124338
124339              stdin  None Standard input to be used for the command
124340
124341              output_loglevel
124342                     debug  Level at which to log the output from the command.
124343                     Set to quiet to suppress logging.
124344
124345              use_vt False Use SaltStack's utils.vt to stream output  to  con‐
124346                     sole output=all.
124347
124348              keep_env
124349                     http_proxy,https_proxy,no_proxy  A  list  of  env vars to
124350                     preserve. May be passed as commma-delimited list.
124351
124352              chroot_fallback
124353                     if the container is not running, try to run  the  command
124354                     using chroot default: false
124355
124356              CLI Example:
124357
124358                 salt myminion lxc.run_all mycontainer 'ip addr show'
124359
124360       salt.modules.lxc.run_stderr(name,     cmd,     no_start=False,     pre‐
124361       serve_state=True,       stdin=None,       python_shell=True,       out‐
124362       put_loglevel=u'debug',  use_vt=False,  path=None, ignore_retcode=False,
124363       chroot_fallback=False, keep_env=u'http_proxy, https_proxy, no_proxy')
124364              New in version 2015.5.0.
124365
124366
124367              Run cmd.run_stderr within a container
124368
124369              WARNING:
124370                 Many shell builtins do not work, failing with stderr  similar
124371                 to the following:
124372
124373                     lxc_container: No such file or directory - failed to exec 'command'
124374
124375                 The  same  error  will  be displayed if the command being run
124376                 does not exist.
124377
124378              name   Name of the container in which to run the command
124379
124380              cmd    Command to run
124381
124382              path   path to the container parent default: /var/lib/lxc  (sys‐
124383                     tem default)
124384
124385                     New in version 2015.8.0.
124386
124387
124388              no_start
124389                     False If the container is not running, don't start it
124390
124391              preserve_state
124392                     True  After  running the command, return the container to
124393                     its previous state
124394
124395              stdin  None Standard input to be used for the command
124396
124397              output_loglevel
124398                     debug Level at which to log the output from the  command.
124399                     Set to quiet to suppress logging.
124400
124401              use_vt False  Use  SaltStack's utils.vt to stream output to con‐
124402                     sole output=all.
124403
124404              keep_env
124405                     http_proxy,https_proxy,no_proxy A list  of  env  vars  to
124406                     preserve. May be passed as commma-delimited list.
124407
124408              chroot_fallback
124409                     if  the  container is not running, try to run the command
124410                     using chroot default: false
124411
124412              CLI Example:
124413
124414                 salt myminion lxc.run_stderr mycontainer 'ip addr show'
124415
124416       salt.modules.lxc.run_stdout(name,     cmd,     no_start=False,     pre‐
124417       serve_state=True,       stdin=None,       python_shell=True,       out‐
124418       put_loglevel=u'debug', use_vt=False,  path=None,  ignore_retcode=False,
124419       chroot_fallback=False, keep_env=u'http_proxy, https_proxy, no_proxy')
124420              New in version 2015.5.0.
124421
124422
124423              Run cmd.run_stdout within a container
124424
124425              WARNING:
124426                 Many  shell builtins do not work, failing with stderr similar
124427                 to the following:
124428
124429                     lxc_container: No such file or directory - failed to exec 'command'
124430
124431                 The same error will be displayed in  stderr  if  the  command
124432                 being run does not exist. If no output is returned using this
124433                 function, try using lxc.run_stderr or lxc.run_all.
124434
124435              name   Name of the container in which to run the command
124436
124437              cmd    Command to run
124438
124439              path   path to the container parent default: /var/lib/lxc  (sys‐
124440                     tem default)
124441
124442                     New in version 2015.8.0.
124443
124444
124445              no_start
124446                     False If the container is not running, don't start it
124447
124448              preserve_state
124449                     True  After  running the command, return the container to
124450                     its previous state
124451
124452              stdin  None Standard input to be used for the command
124453
124454              output_loglevel
124455                     debug Level at which to log the output from the  command.
124456                     Set to quiet to suppress logging.
124457
124458              use_vt False  Use  SaltStack's utils.vt to stream output to con‐
124459                     sole output=all.
124460
124461              keep_env
124462                     http_proxy,https_proxy,no_proxy A list  of  env  vars  to
124463                     preserve. May be passed as commma-delimited list.
124464
124465              chroot_fallback
124466                     if  the  container is not running, try to run the command
124467                     using chroot default: false
124468
124469              CLI Example:
124470
124471                 salt myminion lxc.run_stdout mycontainer 'ifconfig -a'
124472
124473       salt.modules.lxc.running_systemd(name, cache=True, path=None)
124474              Determine if systemD is running
124475
124476              path   path to the container parent
124477
124478                     New in version 2015.8.0.
124479
124480
124481              CLI Example:
124482
124483                 salt '*' lxc.running_systemd ubuntu
124484
124485       salt.modules.lxc.search_lxc_bridge()
124486              Search the first bridge which is potentially  available  as  LXC
124487              bridge
124488
124489              CLI Example:
124490
124491                 salt '*' lxc.search_lxc_bridge
124492
124493       salt.modules.lxc.search_lxc_bridges()
124494              Search which bridges are potentially available as LXC bridges
124495
124496              CLI Example:
124497
124498                 salt '*' lxc.search_lxc_bridges
124499
124500       salt.modules.lxc.set_dns(name,   dnsservers=None,   searchdomains=None,
124501       path=None)
124502              Changed in version 2015.5.0: The  dnsservers  and  searchdomains
124503              parameters can now be passed as a comma-separated list.
124504
124505
124506              Update /etc/resolv.confo
124507
124508              path
124509                 path  to  the  container parent default: /var/lib/lxc (system
124510                 default)
124511
124512                 New in version 2015.8.0.
124513
124514
124515              CLI Example:
124516
124517                 salt myminion lxc.set_dns ubuntu "['8.8.8.8', '4.4.4.4']"
124518
124519       salt.modules.lxc.set_parameter(name, parameter, value, path=None)
124520              Set the value of a cgroup parameter for a container.
124521
124522              path   path  to  the   container   parent   directory   default:
124523                     /var/lib/lxc (system)
124524
124525                     New in version 2015.8.0.
124526
124527
124528              CLI Example:
124529
124530                 salt '*' lxc.set_parameter name parameter value
124531
124532       salt.modules.lxc.set_password(name,  users,  password,  encrypted=True,
124533       path=None)
124534              Changed in version 2015.5.0: Function renamed from  set_pass  to
124535              set_password.  Additionally,  this  function  now  supports (and
124536              defaults to using) a password hash instead of a plaintext  pass‐
124537              word.
124538
124539
124540              Set the password of one or more system users inside containers
124541
124542              users  Comma-separated  list (or python list) of users to change
124543                     password
124544
124545              password
124546                     Password to set for the specified user(s)
124547
124548              encrypted
124549                     True If true, password must be a password  hash.  Set  to
124550                     False to set a plaintext password (not recommended).
124551
124552                     New in version 2015.5.0.
124553
124554
124555              path   path   to   the   container   parent  directory  default:
124556                     /var/lib/lxc (system)
124557
124558                     New in version 2015.8.0.
124559
124560
124561              CLI Example:
124562
124563                 salt '*' lxc.set_pass container-name root '$6$uJ2uAyLU$KoI67t8As/0fXtJOPcHKGXmUpcoYUcVR2K6x93walnShTCQvjRwq25yIkiCBOqgbfdKQSFnAo28/ek6716vEV1'
124564                 salt '*' lxc.set_pass container-name root foo encrypted=False
124565
124566       salt.modules.lxc.start(name, **kwargs)
124567              Start the named container
124568
124569              path   path  to  the   container   parent   directory   default:
124570                     /var/lib/lxc (system)
124571
124572                     New in version 2015.8.0.
124573
124574
124575              lxc_config
124576                     path  to  a  lxc  config file config file will be guessed
124577                     from container name otherwise
124578
124579                     New in version 2015.8.0.
124580
124581
124582              use_vt run the command through VT
124583
124584                     New in version 2015.8.0.
124585
124586
124587              CLI Example:
124588
124589                 salt myminion lxc.start name
124590
124591       salt.modules.lxc.state(name, path=None)
124592              Returns the state of a container.
124593
124594              path   path  to  the  container   parent   directory   (default:
124595                     /var/lib/lxc)
124596
124597                     New in version 2015.8.0.
124598
124599
124600              CLI Example:
124601
124602                 salt '*' lxc.state name
124603
124604       salt.modules.lxc.stop(name, kill=False, path=None, use_vt=None)
124605              Stop the named container
124606
124607              path   path   to   the   container   parent  directory  default:
124608                     /var/lib/lxc (system)
124609
124610                     New in version 2015.8.0.
124611
124612
124613              kill: False
124614                     Do not wait for the container to stop, kill all tasks  in
124615                     the  container.   Older LXC versions will stop containers
124616                     like this irrespective of this argument.
124617
124618                     Changed in version 2015.5.0:  Default  value  changed  to
124619                     False
124620
124621
124622              use_vt run the command through VT
124623
124624                     New in version 2015.8.0.
124625
124626
124627              CLI Example:
124628
124629                 salt myminion lxc.stop name
124630
124631       salt.modules.lxc.systemd_running_state(name, path=None)
124632              Get the operational state of a systemd based container
124633
124634              path   path  to the container parent default: /var/lib/lxc (sys‐
124635                     tem default)
124636
124637                     New in version 2015.8.0.
124638
124639
124640              CLI Example:
124641
124642                 salt myminion lxc.systemd_running_state ubuntu
124643
124644       salt.modules.lxc.templates()
124645              New in version 2015.5.0.
124646
124647
124648              List the available LXC template scripts installed on the minion
124649
124650              CLI Examples:
124651
124652                 salt myminion lxc.templates
124653
124654       salt.modules.lxc.test_bare_started_state(name, path=None)
124655              Test if a non systemd container is fully  started  For  now,  it
124656              consists only to test if the container is attachable
124657
124658              path   path  to the container parent default: /var/lib/lxc (sys‐
124659                     tem default)
124660
124661                     New in version 2015.8.0.
124662
124663
124664              CLI Example:
124665
124666                 salt myminion lxc.test_bare_started_state ubuntu
124667
124668       salt.modules.lxc.test_sd_started_state(name, path=None)
124669              Test if a systemd container is fully started
124670
124671              path   path to the container parent default: /var/lib/lxc  (sys‐
124672                     tem default)
124673
124674                     New in version 2015.8.0.
124675
124676
124677              CLI Example:
124678
124679                 salt myminion lxc.test_sd_started_state ubuntu
124680
124681       salt.modules.lxc.unfreeze(name, path=None, use_vt=None)
124682              Unfreeze the named container.
124683
124684              path   path   to   the   container   parent  directory  default:
124685                     /var/lib/lxc (system)
124686
124687                     New in version 2015.8.0.
124688
124689
124690              use_vt run the command through VT
124691
124692                     New in version 2015.8.0.
124693
124694
124695              CLI Example:
124696
124697                 salt '*' lxc.unfreeze name
124698
124699       salt.modules.lxc.update_lxc_conf(name,    lxc_conf,     lxc_conf_unset,
124700       path=None)
124701              Edit LXC configuration options
124702
124703              path   path  to the container parent default: /var/lib/lxc (sys‐
124704                     tem default)
124705
124706                     New in version 2015.8.0.
124707
124708
124709              CLI Example:
124710
124711                 salt myminion lxc.update_lxc_conf ubuntu \
124712                         lxc_conf="[{'network.ipv4.ip':'10.0.3.5'}]" \
124713                         lxc_conf_unset="['lxc.utsname']"
124714
124715       salt.modules.lxc.version()
124716              Return the actual lxc client version
124717
124718              New in version 2015.8.0.
124719
124720
124721              CLI Example:
124722
124723                 salt '*' lxc.version
124724
124725       salt.modules.lxc.wait_started(name, path=None, timeout=300)
124726              Check that the system has fully inited
124727
124728              This is actually very important for systemD based containers
124729
124730              see https://github.com/saltstack/salt/issues/23847
124731
124732              path   path to the container parent default: /var/lib/lxc  (sys‐
124733                     tem default)
124734
124735                     New in version 2015.8.0.
124736
124737
124738              CLI Example:
124739
124740                 salt myminion lxc.wait_started ubuntu
124741
124742       salt.modules.lxc.write_conf(conf_file, conf)
124743              Write out an LXC configuration file
124744
124745              This  is  normally  only used internally. The format of the data
124746              structure   must   match   that   which   is    returned    from
124747              lxc.read_conf(), with out_format set to commented.
124748
124749              An example might look like:
124750
124751                 [
124752                     {'lxc.utsname': '$CONTAINER_NAME'},
124753                     '# This is a commented line\n',
124754                     '\n',
124755                     {'lxc.mount': '$CONTAINER_FSTAB'},
124756                     {'lxc.rootfs': {'comment': 'This is another test',
124757                                     'value': 'This is another test'}},
124758                     '\n',
124759                     {'lxc.network.type': 'veth'},
124760                     {'lxc.network.flags': 'up'},
124761                     {'lxc.network.link': 'br0'},
124762                     {'lxc.network.mac': '$CONTAINER_MACADDR'},
124763                     {'lxc.network.ipv4': '$CONTAINER_IPADDR'},
124764                     {'lxc.network.name': '$CONTAINER_DEVICENAME'},
124765                 ]
124766
124767              CLI Example:
124768
124769                 salt 'minion' lxc.write_conf /etc/lxc/mycontainer.conf \
124770                     out_format=commented
124771
124772   salt.modules.mac_assistive module
124773       This module allows you to manage assistive access on macOS minions with
124774       10.9+
124775
124776       New in version 2016.3.0.
124777
124778
124779          salt '*' assistive.install /usr/bin/osascript
124780
124781       salt.modules.mac_assistive.enable(app_id, enabled=True)
124782              Enable or disable an existing assistive access application.
124783
124784              app_id The bundle ID or command to set assistive access status.
124785
124786              enabled
124787                     Sets enabled or disabled status. Default is True.
124788
124789              CLI Example:
124790
124791                 salt '*' assistive.enable /usr/bin/osascript
124792                 salt '*' assistive.enable com.smileonmymac.textexpander enabled=False
124793
124794       salt.modules.mac_assistive.enabled(app_id)
124795              Check if a bundle ID or command is listed  in  assistive  access
124796              and enabled.
124797
124798              app_id The  bundle  ID  or  command to retrieve assistive access
124799                     status.
124800
124801              CLI Example:
124802
124803                 salt '*' assistive.enabled /usr/bin/osascript
124804                 salt '*' assistive.enabled com.smileonmymac.textexpander
124805
124806       salt.modules.mac_assistive.install(app_id, enable=True)
124807              Install a bundle ID or command as being allowed to use assistive
124808              access.
124809
124810              app_id The bundle ID or command to install for assistive access.
124811
124812              enabled
124813                     Sets enabled or disabled status. Default is True.
124814
124815              CLI Example:
124816
124817                 salt '*' assistive.install /usr/bin/osascript
124818                 salt '*' assistive.install com.smileonmymac.textexpander
124819
124820       salt.modules.mac_assistive.installed(app_id)
124821              Check  if  a bundle ID or command is listed in assistive access.
124822              This will not check to see if it's enabled.
124823
124824              app_id The bundle ID or command to check installed status.
124825
124826              CLI Example:
124827
124828                 salt '*' assistive.installed /usr/bin/osascript
124829                 salt '*' assistive.installed com.smileonmymac.textexpander
124830
124831       salt.modules.mac_assistive.remove(app_id)
124832              Remove a bundle ID or command as being allowed to use  assistive
124833              access.
124834
124835              app_id The  bundle ID or command to remove from assistive access
124836                     list.
124837
124838              CLI Example:
124839
124840                 salt '*' assistive.remove /usr/bin/osascript
124841                 salt '*' assistive.remove com.smileonmymac.textexpander
124842
124843   salt.modules.mac_brew module
124844       Homebrew for macOS
124845
124846       IMPORTANT:
124847          If you feel that Salt should be using this module to manage packages
124848          on  a  minion, and it is using a different module (or gives an error
124849          similar to 'pkg.install' is not available), see here.
124850
124851       salt.modules.mac_brew.available_version(*names, **kwargs)
124852              This function is an alias of latest_version.
124853                 Return the latest version of the named package available  for
124854                 upgrade or installation
124855
124856                 Currently  chooses  stable versions, falling back to devel if
124857                 that does not exist.
124858
124859                 CLI Example:
124860
124861                     salt '*' pkg.latest_version <package name>
124862                     salt '*' pkg.latest_version <package1> <package2> <package3>
124863
124864       salt.modules.mac_brew.info_installed(*names)
124865              Return the information of the named package(s) installed on  the
124866              system.
124867
124868              New in version 2016.3.1.
124869
124870
124871              names  The  names  of  the packages for which to return informa‐
124872                     tion.
124873
124874              CLI example:
124875
124876                 salt '*' pkg.info_installed <package1>
124877                 salt '*' pkg.info_installed <package1> <package2> <package3> ...
124878
124879       salt.modules.mac_brew.install(name=None,     pkgs=None,      taps=None,
124880       options=None, **kwargs)
124881              Install the passed package(s) with brew install
124882
124883              name   The  name  of the formula to be installed. Note that this
124884                     parameter is ignored if "pkgs" is passed.
124885
124886                     CLI Example:
124887
124888                        salt '*' pkg.install <package name>
124889
124890              taps   Unofficial  GitHub  repos  to  use  when   updating   and
124891                     installing formulas.
124892
124893                     CLI Example:
124894
124895                        salt '*' pkg.install <package name> tap='<tap>'
124896                        salt '*' pkg.install zlib taps='homebrew/dupes'
124897                        salt '*' pkg.install php54 taps='["josegonzalez/php", "homebrew/dupes"]'
124898
124899              options
124900                     Options to pass to brew. Only applies to initial install.
124901                     Due to how brew works, modifying chosen options  requires
124902                     a  full  uninstall followed by a fresh install. Note that
124903                     if "pkgs" is used, all options  will  be  passed  to  all
124904                     packages.  Unrecognized  options  for  a  package will be
124905                     silently ignored by brew.
124906
124907                     CLI Example:
124908
124909                        salt '*' pkg.install <package name> tap='<tap>'
124910                        salt '*' pkg.install php54 taps='["josegonzalez/php", "homebrew/dupes"]' options='["--with-fpm"]'
124911
124912              Multiple Package Installation Options:
124913
124914              pkgs   A list of formulas to install. Must be passed as a python
124915                     list.
124916
124917                     CLI Example:
124918
124919                        salt '*' pkg.install pkgs='["foo","bar"]'
124920
124921              Returns a dict containing the new package names and versions:
124922
124923                 {'<package>': {'old': '<old-version>',
124924                                'new': '<new-version>'}}
124925
124926              CLI Example:
124927
124928                 salt '*' pkg.install 'package package package'
124929
124930       salt.modules.mac_brew.latest_version(*names, **kwargs)
124931              Return  the  latest  version  of the named package available for
124932              upgrade or installation
124933
124934              Currently chooses stable versions, falling back to devel if that
124935              does not exist.
124936
124937              CLI Example:
124938
124939                 salt '*' pkg.latest_version <package name>
124940                 salt '*' pkg.latest_version <package1> <package2> <package3>
124941
124942       salt.modules.mac_brew.list_pkgs(versions_as_list=False, **kwargs)
124943              List the packages currently installed in a dict:
124944
124945                 {'<package_name>': '<version>'}
124946
124947              CLI Example:
124948
124949                 salt '*' pkg.list_pkgs
124950
124951       salt.modules.mac_brew.list_upgrades(refresh=True, **kwargs)
124952              Check whether or not an upgrade is available for all packages
124953
124954              CLI Example:
124955
124956                 salt '*' pkg.list_upgrades
124957
124958       salt.modules.mac_brew.refresh_db()
124959              Update the homebrew package repository.
124960
124961              CLI Example:
124962
124963                 salt '*' pkg.refresh_db
124964
124965       salt.modules.mac_brew.remove(name=None, pkgs=None, **kwargs)
124966              Removes packages with brew uninstall.
124967
124968              name   The name of the package to be deleted.
124969
124970              Multiple Package Options:
124971
124972              pkgs   A  list of packages to delete. Must be passed as a python
124973                     list. The name parameter will be ignored if  this  option
124974                     is passed.
124975
124976              New in version 0.16.0.
124977
124978
124979              Returns a dict containing the changes.
124980
124981              CLI Example:
124982
124983                 salt '*' pkg.remove <package name>
124984                 salt '*' pkg.remove <package1>,<package2>,<package3>
124985                 salt '*' pkg.remove pkgs='["foo", "bar"]'
124986
124987       salt.modules.mac_brew.upgrade(refresh=True)
124988              Upgrade outdated, unpinned brews.
124989
124990              refresh
124991                     Fetch  the  newest  version  of Homebrew and all formulae
124992                     from GitHub before installing.
124993
124994              Returns a dictionary containing the changes:
124995
124996                 {'<package>':  {'old': '<old-version>',
124997                                 'new': '<new-version>'}}
124998
124999              CLI Example:
125000
125001                 salt '*' pkg.upgrade
125002
125003       salt.modules.mac_brew.upgrade_available(pkg)
125004              Check whether or not an upgrade is available for a given package
125005
125006              CLI Example:
125007
125008                 salt '*' pkg.upgrade_available <package name>
125009
125010       salt.modules.mac_brew.version(*names, **kwargs)
125011              Returns a string representing the package version  or  an  empty
125012              string if not installed. If more than one package name is speci‐
125013              fied, a dict of name/version pairs is returned.
125014
125015              CLI Example:
125016
125017                 salt '*' pkg.version <package name>
125018                 salt '*' pkg.version <package1> <package2> <package3>
125019
125020   salt.modules.mac_defaults module
125021       Set defaults on Mac OS
125022
125023       salt.modules.mac_defaults.delete(domain, key, user=None)
125024              Delete a default from the system
125025
125026              CLI Example:
125027
125028                 salt '*' macdefaults.delete com.apple.CrashReporter DialogType
125029
125030                 salt '*' macdefaults.delete NSGlobalDomain ApplePersistence
125031
125032              domain The name of the domain to delete from
125033
125034              key    The key of the given domain to delete
125035
125036              user   The user to delete the defaults with
125037
125038       salt.modules.mac_defaults.read(domain, key, user=None)
125039              Write a default to the system
125040
125041              CLI Example:
125042
125043                 salt '*' macdefaults.read com.apple.CrashReporter DialogType
125044
125045                 salt '*' macdefaults.read NSGlobalDomain ApplePersistence
125046
125047              domain The name of the domain to read from
125048
125049              key    The key of the given domain to read from
125050
125051              user   The user to write the defaults to
125052
125053       salt.modules.mac_defaults.write(domain,  key,  value,   type=u'string',
125054       user=None)
125055              Write a default to the system
125056
125057              CLI Example:
125058
125059                 salt '*' macdefaults.write com.apple.CrashReporter DialogType Server
125060
125061                 salt '*' macdefaults.write NSGlobalDomain ApplePersistence True type=bool
125062
125063              domain The name of the domain to write to
125064
125065              key    The key of the given domain to write to
125066
125067              value  The value to write to the given key
125068
125069              type   The  type of value to be written, valid types are string,
125070                     data,   int[eger],   float,   bool[ean],   date,   array,
125071                     array-add, dict, dict-add
125072
125073              user   The user to write the defaults to
125074
125075   salt.modules.mac_desktop module
125076       macOS implementations of various commands in the "desktop" interface
125077
125078       salt.modules.mac_desktop.get_output_volume()
125079              Get the output volume (range 0 to 100)
125080
125081              CLI Example:
125082
125083                 salt '*' desktop.get_output_volume
125084
125085       salt.modules.mac_desktop.lock()
125086              Lock the desktop session
125087
125088              CLI Example:
125089
125090                 salt '*' desktop.lock
125091
125092       salt.modules.mac_desktop.say(*words)
125093              Say some words.
125094
125095              words  The words to execute the say command with.
125096
125097              CLI Example:
125098
125099                 salt '*' desktop.say <word0> <word1> ... <wordN>
125100
125101       salt.modules.mac_desktop.screensaver()
125102              Launch the screensaver.
125103
125104              CLI Example:
125105
125106                 salt '*' desktop.screensaver
125107
125108       salt.modules.mac_desktop.set_output_volume(volume)
125109              Set the volume of sound.
125110
125111              volume The level of volume. Can range from 0 to 100.
125112
125113              CLI Example:
125114
125115                 salt '*' desktop.set_output_volume <volume>
125116
125117   salt.modules.mac_group
125118       Manage groups on Mac OS 10.7+
125119
125120       salt.modules.mac_group.add(name, gid=None, **kwargs)
125121              Add the specified group
125122
125123              CLI Example:
125124
125125                 salt '*' group.add foo 3456
125126
125127       salt.modules.mac_group.adduser(group, name)
125128              Add a user in the group.
125129
125130              CLI Example:
125131
125132                 salt '*' group.adduser foo bar
125133
125134              Verifies  if  a  valid username 'bar' as a member of an existing
125135              group 'foo', if not then adds it.
125136
125137       salt.modules.mac_group.chgid(name, gid)
125138              Change the gid for a named group
125139
125140              CLI Example:
125141
125142                 salt '*' group.chgid foo 4376
125143
125144       salt.modules.mac_group.delete(name)
125145              Remove the named group
125146
125147              CLI Example:
125148
125149                 salt '*' group.delete foo
125150
125151       salt.modules.mac_group.deluser(group, name)
125152              Remove a user from the group
125153
125154              New in version 2016.3.0.
125155
125156
125157              CLI Example:
125158
125159                 salt '*' group.deluser foo bar
125160
125161              Removes a member user 'bar' from a group 'foo'. If group is  not
125162              present then returns True.
125163
125164       salt.modules.mac_group.getent(refresh=False)
125165              Return info on all groups
125166
125167              CLI Example:
125168
125169                 salt '*' group.getent
125170
125171       salt.modules.mac_group.info(name)
125172              Return information about a group
125173
125174              CLI Example:
125175
125176                 salt '*' group.info foo
125177
125178       salt.modules.mac_group.members(name, members_list)
125179              Replaces members of the group with a provided list.
125180
125181              New in version 2016.3.0.
125182
125183
125184              CLI Example:
125185                 salt '*' group.members foo 'user1,user2,user3,...'
125186
125187              Replaces a membership list for a local group 'foo'.
125188
125189   salt.modules.mac_keychain module
125190       Install certificates into the keychain on Mac OS
125191
125192       New in version 2016.3.0.
125193
125194
125195       salt.modules.mac_keychain.get_default_keychain(user=None,
125196       domain=u'user')
125197              Get the default keychain
125198
125199              user   The user to check the default keychain of
125200
125201              domain The domain  to  use  valid  values  are  user|system|com‐
125202                     mon|dynamic, the default is user
125203
125204              CLI Example:
125205
125206                 salt '*' keychain.get_default_keychain
125207
125208       salt.modules.mac_keychain.get_friendly_name(cert, password)
125209              Get the friendly name of the given certificate
125210
125211              cert   The certificate to install
125212
125213              password
125214                     The  password for the certificate being installed format‐
125215                     ted in the way described for openssl command in the  PASS
125216                     PHRASE ARGUMENTS section
125217
125218                     Note:  The  password given here will show up as plaintext
125219                     in the returned job info.
125220
125221              CLI Example:
125222
125223                 salt '*' keychain.get_friendly_name /tmp/test.p12 test123
125224
125225       salt.modules.mac_keychain.get_hash(name, password=None)
125226              Returns the hash of a certificate in the keychain.
125227
125228              name   The name of the certificate (which you can get from  key‐
125229                     chain.get_friendly_name) or the location of a p12 file.
125230
125231              password
125232                     The  password  that  is  used  in  the  certificate. Only
125233                     required if your passing a p12 file.  Note: This will  be
125234                     outputted to logs
125235
125236              CLI Example:
125237
125238                 salt '*' keychain.get_hash /tmp/test.p12 test123
125239
125240       salt.modules.mac_keychain.install(cert,          password,         key‐
125241       chain=u'/Library/Keychains/System.keychain',   allow_any=False,    key‐
125242       chain_password=None)
125243              Install a certificate
125244
125245              cert   The certificate to install
125246
125247              password
125248                     The  password for the certificate being installed format‐
125249                     ted in the way described for openssl command in the  PASS
125250                     PHRASE ARGUMENTS section.
125251
125252                     Note:  The  password given here will show up as plaintext
125253                     in the job returned info.
125254
125255              keychain
125256                     The keychain to install the certificate to, this defaults
125257                     to /Library/Keychains/System.keychain
125258
125259              allow_any
125260                     Allow  any application to access the imported certificate
125261                     without warning
125262
125263              keychain_password
125264                     If your keychain is likely to be locked pass the password
125265                     and it will be unlocked before running the import
125266
125267                     Note:  The  password given here will show up as plaintext
125268                     in the returned job info.
125269
125270              CLI Example:
125271
125272                 salt '*' keychain.install test.p12 test123
125273
125274       salt.modules.mac_keychain.list_certs(keychain=u'/Library/Keychains/Sys‐
125275       tem.keychain')
125276              List all of the installed certificates
125277
125278              keychain
125279                     The keychain to install the certificate to, this defaults
125280                     to /Library/Keychains/System.keychain
125281
125282              CLI Example:
125283
125284                 salt '*' keychain.list_certs
125285
125286       salt.modules.mac_keychain.set_default_keychain(keychain,
125287       domain=u'user', user=None)
125288              Set the default keychain
125289
125290              keychain
125291                     The location of the keychain to set as default
125292
125293              domain The  domain  to  use  valid  values  are user|system|com‐
125294                     mon|dynamic, the default is user
125295
125296              user   The user to set the default keychain as
125297
125298              CLI Example:
125299
125300                 salt '*' keychain.set_keychain /Users/fred/Library/Keychains/login.keychain
125301
125302       salt.modules.mac_keychain.uninstall(cert_name, keychain=u'/Library/Key‐
125303       chains/System.keychain', keychain_password=None)
125304              Uninstall a certificate from a keychain
125305
125306              cert_name
125307                     The name of the certificate to remove
125308
125309              keychain
125310                     The keychain to install the certificate to, this defaults
125311                     to /Library/Keychains/System.keychain
125312
125313              keychain_password
125314                     If your keychain is likely to be locked pass the password
125315                     and it will be unlocked before running the import
125316
125317                     Note:  The  password given here will show up as plaintext
125318                     in the returned job info.
125319
125320              CLI Example:
125321
125322                 salt '*' keychain.install test.p12 test123
125323
125324       salt.modules.mac_keychain.unlock_keychain(keychain, password)
125325              Unlock the given keychain with the password
125326
125327              keychain
125328                     The keychain to unlock
125329
125330              password
125331                     The password to use to unlock the keychain.
125332
125333                     Note: The password given here will show up  as  plaintext
125334                     in the returned job info.
125335
125336              CLI Example:
125337
125338                 salt '*' keychain.unlock_keychain /tmp/test.p12 test123
125339
125340   salt.modules.mac_package module
125341       Install pkg, dmg and .app applications on macOS minions.
125342
125343       salt.modules.mac_package.get_mpkg_ids(mpkg)
125344              Attempt to get the package IDs from a mounted .mpkg file
125345
125346              Parameters
125347                     mpkg (str) -- The location of the mounted mpkg file
125348
125349              Returns
125350                     List of package IDs
125351
125352              Return type
125353                     list
125354
125355              CLI Example:
125356
125357                 salt '*' macpackage.get_mpkg_ids /dev/disk2
125358
125359       salt.modules.mac_package.get_pkg_id(pkg)
125360              Attempt to get the package ID from a .pkg file
125361
125362              Parameters
125363                     pkg (str) -- The location of the pkg file
125364
125365              Returns
125366                     List of all of the package IDs
125367
125368              Return type
125369                     list
125370
125371              CLI Example:
125372
125373                 salt '*' macpackage.get_pkg_id /tmp/test.pkg
125374
125375       salt.modules.mac_package.install(pkg,            target=u'LocalSystem',
125376       store=False, allow_untrusted=False)
125377              Install a pkg file
125378
125379              Parameters
125380
125381                     · pkg (str) -- The package to install
125382
125383                     · target (str) -- The target  in  which  to  install  the
125384                       package to
125385
125386                     · store  (bool)  -- Should the package be installed as if
125387                       it was from the store?
125388
125389                     · allow_untrusted (bool) --  Allow  the  installation  of
125390                       untrusted packages?
125391
125392              Returns
125393                     A dictionary containing the results of the installation
125394
125395              Return type
125396                     dict
125397
125398              CLI Example:
125399
125400                 salt '*' macpackage.install test.pkg
125401
125402       salt.modules.mac_package.install_app(app, target=u'/Applications/')
125403              Install an app file by moving it into the specified Applications
125404              directory
125405
125406              Parameters
125407
125408                     · app (str) -- The location of the .app file
125409
125410                     · target (str) -- The target  in  which  to  install  the
125411                       package to Default is ''/Applications/''
125412
125413              Returns
125414                     The results of the rsync command
125415
125416              Return type
125417                     str
125418
125419              CLI Example:
125420
125421                 salt '*' macpackage.install_app /tmp/tmp.app /Applications/
125422
125423       salt.modules.mac_package.installed_pkgs()
125424              Return the list of installed packages on the machine
125425
125426              Returns
125427                     List of installed packages
125428
125429              Return type
125430                     list
125431
125432              CLI Example:
125433
125434                 salt '*' macpackage.installed_pkgs
125435
125436       salt.modules.mac_package.mount(dmg)
125437              Attempt  to  mount a dmg file to a temporary location and return
125438              the location of the pkg file inside
125439
125440              Parameters
125441                     dmg (str) -- The location of the dmg file to mount
125442
125443              Returns
125444
125445                     Tuple containing the results of the  command  along  with
125446                     the mount
125447                            point
125448
125449
125450              Return type
125451                     tuple
125452
125453              CLI Example:
125454
125455                 salt '*' macpackage.mount /tmp/software.dmg
125456
125457       salt.modules.mac_package.uninstall_app(app)
125458              Uninstall  an  app  file  by  removing  it from the Applications
125459              directory
125460
125461              Parameters
125462                     app (str) -- The location of the .app file
125463
125464              Returns
125465                     True if successful, otherwise False
125466
125467              Return type
125468                     bool
125469
125470              CLI Example:
125471
125472                 salt '*' macpackage.uninstall_app /Applications/app.app
125473
125474       salt.modules.mac_package.unmount(mountpoint)
125475              Attempt to unmount a dmg file from a temporary location
125476
125477              Parameters
125478                     mountpoint (str) -- The location of the mount point
125479
125480              Returns
125481                     The results of the hdutil detach command
125482
125483              Return type
125484                     str
125485
125486              CLI Example:
125487
125488                 salt '*' macpackage.unmount /dev/disk2
125489
125490   salt.modules.mac_pkgutil module
125491       Installer support for macOS.
125492
125493       Installer is the native .pkg/.mpkg package manager for macOS.
125494
125495       salt.modules.mac_pkgutil.forget(package_id)
125496              New in version 2016.3.0.
125497
125498
125499              Remove the receipt data about the specified  package.  Does  not
125500              remove files.
125501
125502              WARNING:
125503                 DO NOT use this command to fix broken package design
125504
125505              Parameters
125506                     package_id (str) -- The name of the package to forget
125507
125508              Returns
125509                     True if successful, otherwise False
125510
125511              Return type
125512                     bool
125513
125514              CLI Example:
125515
125516                 salt '*' pkgutil.forget com.apple.pkg.gcc4.2Leo
125517
125518       salt.modules.mac_pkgutil.install(source, package_id)
125519              Install a .pkg from an URI or an absolute path.
125520
125521              Parameters
125522
125523                     · source (str) -- The path to a package.
125524
125525                     · package_id (str) -- The package ID
125526
125527              Returns
125528                     True if successful, otherwise False
125529
125530              Return type
125531                     bool
125532
125533              CLI Example:
125534
125535                 salt '*' pkgutil.install source=/vagrant/build_essentials.pkg package_id=com.apple.pkg.gcc4.2Leo
125536
125537       salt.modules.mac_pkgutil.is_installed(package_id)
125538              Returns whether a given package id is installed.
125539
125540              Returns
125541                     True if installed, otherwise False
125542
125543              Return type
125544                     bool
125545
125546              CLI Example:
125547
125548                 salt '*' pkgutil.is_installed com.apple.pkg.gcc4.2Leo
125549
125550       salt.modules.mac_pkgutil.list_()
125551              List the installed packages.
125552
125553              Returns
125554                     A list of installed packages
125555
125556              Return type
125557                     list
125558
125559              CLI Example:
125560
125561                 salt '*' pkgutil.list
125562
125563   salt.modules.mac_ports module
125564       Support for MacPorts under macOS.
125565
125566       This module has some caveats.
125567
125568       1.  Updating  the  database of available ports is quite resource-inten‐
125569       sive.  However, refresh=True is the default  for  all  operations  that
125570       need  an  up-to-date  copy  of available ports.  Consider refresh=False
125571       when you are sure no db update is needed.
125572
125573       2. In some cases MacPorts doesn't always realize when another  copy  of
125574       itself is running and will gleefully tromp all over the available ports
125575       database.  This makes MacPorts behave in undefined ways until  a  fresh
125576       complete copy is retrieved.
125577
125578       Because  of  1 and 2 it is possible to get the salt-minion into a state
125579       where salt mac-machine pkg./something/ won't want to return.  Use
125580
125581       salt-run jobs.active
125582
125583       on the master to check for potentially long-running calls to port.
125584
125585       Finally, ports database updates are always handled with port selfupdate
125586       as opposed to port sync.  This makes sense in the MacPorts user commmu‐
125587       nity but may confuse experienced Linux admins as Linux package managers
125588       don't  upgrade  the  packaging  software  when doing a package database
125589       update.  In other words salt mac-machine pkg.refresh_db  is  more  like
125590       apt-get  update;  apt-get  upgrade  dpkg  apt-get  than  simply apt-get
125591       update.
125592
125593       salt.modules.mac_ports.available_version(*names, **kwargs)
125594              This function is an alias of latest_version.
125595                 Return the latest version of the named package available  for
125596                 upgrade or installation
125597
125598                 Options:
125599
125600                 refresh
125601                        Update ports with port selfupdate
125602
125603                 CLI Example:
125604
125605                     salt '*' pkg.latest_version <package name>
125606                     salt '*' pkg.latest_version <package1> <package2> <package3>
125607
125608       salt.modules.mac_ports.install(name=None,   refresh=False,   pkgs=None,
125609       **kwargs)
125610              Install the passed package(s) with port install
125611
125612              name   The name of the formula to be installed. Note  that  this
125613                     parameter is ignored if "pkgs" is passed.
125614
125615                     CLI Example:
125616
125617                        salt '*' pkg.install <package name>
125618
125619              version
125620                     Specify  a  version to pkg to install. Ignored if pkgs is
125621                     specified.
125622
125623                     CLI Example:
125624
125625                        salt '*' pkg.install <package name>
125626                        salt '*' pkg.install git-core version='1.8.5.5'
125627
125628              variant
125629                     Specify a variant to pkg to install. Ignored if  pkgs  is
125630                     specified.
125631
125632                     CLI Example:
125633
125634                        salt '*' pkg.install <package name>
125635                        salt '*' pkg.install git-core version='1.8.5.5' variant='+credential_osxkeychain+doc+pcre'
125636
125637              Multiple Package Installation Options:
125638
125639              pkgs   A list of formulas to install. Must be passed as a python
125640                     list.
125641
125642                     CLI Example:
125643
125644                        salt '*' pkg.install pkgs='["foo","bar"]'
125645                        salt '*' pkg.install pkgs='["foo@1.2","bar"]'
125646                        salt '*' pkg.install pkgs='["foo@1.2+ssl","bar@2.3"]'
125647
125648              Returns a dict containing the new package names and versions:
125649
125650                 {'<package>': {'old': '<old-version>',
125651                                'new': '<new-version>'}}
125652
125653              CLI Example:
125654
125655                 salt '*' pkg.install 'package package package'
125656
125657       salt.modules.mac_ports.latest_version(*names, **kwargs)
125658              Return the latest version of the  named  package  available  for
125659              upgrade or installation
125660
125661              Options:
125662
125663              refresh
125664                     Update ports with port selfupdate
125665
125666              CLI Example:
125667
125668                 salt '*' pkg.latest_version <package name>
125669                 salt '*' pkg.latest_version <package1> <package2> <package3>
125670
125671       salt.modules.mac_ports.list_pkgs(versions_as_list=False, **kwargs)
125672              List the packages currently installed in a dict:
125673
125674                 {'<package_name>': '<version>'}
125675
125676              CLI Example:
125677
125678                 salt '*' pkg.list_pkgs
125679
125680       salt.modules.mac_ports.list_upgrades(refresh=True, **kwargs)
125681              Check whether or not an upgrade is available for all packages
125682
125683              Options:
125684
125685              refresh
125686                     Update ports with port selfupdate
125687
125688              CLI Example:
125689
125690                 salt '*' pkg.list_upgrades
125691
125692       salt.modules.mac_ports.refresh_db()
125693              Update ports with port selfupdate
125694
125695              CLI Example:
125696
125697                 salt mac pkg.refresh_db
125698
125699       salt.modules.mac_ports.remove(name=None, pkgs=None, **kwargs)
125700              Removes packages with port uninstall.
125701
125702              name   The name of the package to be deleted.
125703
125704              Multiple Package Options:
125705
125706              pkgs   A  list of packages to delete. Must be passed as a python
125707                     list. The name parameter will be ignored if  this  option
125708                     is passed.
125709
125710              New in version 0.16.0.
125711
125712
125713              Returns a dict containing the changes.
125714
125715              CLI Example:
125716
125717                 salt '*' pkg.remove <package name>
125718                 salt '*' pkg.remove <package1>,<package2>,<package3>
125719                 salt '*' pkg.remove pkgs='["foo", "bar"]'
125720
125721       salt.modules.mac_ports.upgrade(refresh=True)
125722              Run a full upgrade using MacPorts 'port upgrade outdated'
125723
125724              Options:
125725
125726              refresh
125727                     Update ports with port selfupdate
125728
125729              Returns a dictionary containing the changes:
125730
125731                 {'<package>':  {'old': '<old-version>',
125732                                 'new': '<new-version>'}}
125733
125734              CLI Example:
125735
125736                 salt '*' pkg.upgrade
125737
125738       salt.modules.mac_ports.upgrade_available(pkg, refresh=True)
125739              Check whether or not an upgrade is available for a given package
125740
125741              CLI Example:
125742
125743                 salt '*' pkg.upgrade_available <package name>
125744
125745       salt.modules.mac_ports.version(*names, **kwargs)
125746              Returns  a  string  representing the package version or an empty
125747              string if not installed. If more than one package name is speci‐
125748              fied, a dict of name/version pairs is returned.
125749
125750              CLI Example:
125751
125752                 salt '*' pkg.version <package name>
125753                 salt '*' pkg.version <package1> <package2> <package3>
125754
125755   salt.modules.mac_power module
125756       Module for editing power settings on macOS
125757          New in version 2016.3.0.
125758
125759
125760       salt.modules.mac_power.get_computer_sleep()
125761              Display the amount of idle time until the computer sleeps.
125762
125763              Returns
125764                     A string representing the sleep settings for the computer
125765
125766              Return type
125767                     str
125768
125769              CLI Example:
125770
125771              ..code-block:: bash
125772                 salt '*' power.get_computer_sleep
125773
125774       salt.modules.mac_power.get_display_sleep()
125775              Display the amount of idle time until the display sleeps.
125776
125777              Returns
125778                     A string representing the sleep settings for the displey
125779
125780              Return type
125781                     str
125782
125783              CLI Example:
125784
125785              ..code-block:: bash
125786                 salt '*' power.get_display_sleep
125787
125788       salt.modules.mac_power.get_harddisk_sleep()
125789              Display the amount of idle time until the hard disk sleeps.
125790
125791              Returns
125792                     A  string  representing  the  sleep settings for the hard
125793                     disk
125794
125795              Return type
125796                     str
125797
125798              CLI Example:
125799
125800              ..code-block:: bash
125801                 salt '*' power.get_harddisk_sleep
125802
125803       salt.modules.mac_power.get_restart_freeze()
125804              Displays whether 'restart on freeze' is on or off if supported
125805
125806              Returns
125807                     A string value representing the "restart on freeze"  set‐
125808                     tings
125809
125810              Return type
125811                     string
125812
125813              CLI Example:
125814
125815                 salt '*' power.get_restart_freeze
125816
125817       salt.modules.mac_power.get_restart_power_failure()
125818              Displays whether 'restart on power failure' is on or off if sup‐
125819              ported
125820
125821              Returns
125822                     A string value representing the "restart on  power  fail‐
125823                     ure" settings
125824
125825              Return type
125826                     string
125827
125828              CLI Example:
125829
125830                 salt '*' power.get_restart_power_failure
125831
125832       salt.modules.mac_power.get_sleep()
125833              Displays  the amount of idle time until the machine sleeps. Set‐
125834              tings for Computer, Display, and Hard Disk are displayed.
125835
125836              Returns
125837                     A dictionary containing the sleep  status  for  Computer,
125838                     Display, and Hard Disk
125839
125840              Return type
125841                     dict
125842
125843              CLI Example:
125844
125845                 salt '*' power.get_sleep
125846
125847       salt.modules.mac_power.get_sleep_on_power_button()
125848              Displays whether 'allow power button to sleep computer' is on or
125849              off if supported
125850
125851              Returns
125852                     A string value representing the "allow  power  button  to
125853                     sleep computer" settings
125854
125855              Return type
125856                     string
125857
125858              CLI Example:
125859
125860                 salt '*' power.get_sleep_on_power_button
125861
125862       salt.modules.mac_power.get_wake_on_modem()
125863              Displays whether 'wake on modem' is on or off if supported
125864
125865              Returns
125866                     A string value representing the "wake on modem" settings
125867
125868              Return type
125869                     str
125870
125871              CLI Example:
125872
125873                 salt '*' power.get_wake_on_modem
125874
125875       salt.modules.mac_power.get_wake_on_network()
125876              Displays whether 'wake on network' is on or off if supported
125877
125878              Returns
125879                     A  string  value  representing the "wake on network" set‐
125880                     tings
125881
125882              Return type
125883                     string
125884
125885              CLI Example:
125886
125887                 salt '*' power.get_wake_on_network
125888
125889       salt.modules.mac_power.set_computer_sleep(minutes)
125890              Set the amount of idle time  until  the  computer  sleeps.  Pass
125891              "Never" of "Off" to never sleep.
125892
125893              Parameters
125894                     minutes -- Can be an integer between 1 and 180 or "Never"
125895                     or "Off"
125896
125897              Ptype  int, str
125898
125899              Returns
125900                     True if successful, False if not
125901
125902              Return type
125903                     bool
125904
125905              CLI Example:
125906
125907                 salt '*' power.set_computer_sleep 120
125908                 salt '*' power.set_computer_sleep off
125909
125910       salt.modules.mac_power.set_display_sleep(minutes)
125911              Set the amount of idle  time  until  the  display  sleeps.  Pass
125912              "Never" of "Off" to never sleep.
125913
125914              Parameters
125915                     minutes -- Can be an integer between 1 and 180 or "Never"
125916                     or "Off"
125917
125918              Ptype  int, str
125919
125920              Returns
125921                     True if successful, False if not
125922
125923              Return type
125924                     bool
125925
125926              CLI Example:
125927
125928                 salt '*' power.set_display_sleep 120
125929                 salt '*' power.set_display_sleep off
125930
125931       salt.modules.mac_power.set_harddisk_sleep(minutes)
125932              Set the amount of idle time  until  the  harddisk  sleeps.  Pass
125933              "Never" of "Off" to never sleep.
125934
125935              Parameters
125936                     minutes -- Can be an integer between 1 and 180 or "Never"
125937                     or "Off"
125938
125939              Ptype  int, str
125940
125941              Returns
125942                     True if successful, False if not
125943
125944              Return type
125945                     bool
125946
125947              CLI Example:
125948
125949                 salt '*' power.set_harddisk_sleep 120
125950                 salt '*' power.set_harddisk_sleep off
125951
125952       salt.modules.mac_power.set_restart_freeze(enabled)
125953              Specifies whether the server restarts automatically after a sys‐
125954              tem  freeze.  This setting doesn't seem to be editable. The com‐
125955              mand completes  successfully  but  the  setting  isn't  actually
125956              updated. This is probably a macOS. The functions remains in case
125957              they ever fix the bug.
125958
125959              Parameters
125960                     enabled (bool) -- True to enable, False to disable.  "On"
125961                     and  "Off"  are  also acceptable values. Additionally you
125962                     can pass 1 and 0 to represent True and False respectively
125963
125964              Returns
125965                     True if successful, False if not
125966
125967              Return type
125968                     bool
125969
125970              CLI Example:
125971
125972                 salt '*' power.set_restart_freeze True
125973
125974       salt.modules.mac_power.set_restart_power_failure(enabled)
125975              Set whether or not the computer will automatically restart after
125976              a power failure.
125977
125978              Parameters
125979                     enabled  (bool) -- True to enable, False to disable. "On"
125980                     and "Off" are also acceptable  values.  Additionally  you
125981                     can pass 1 and 0 to represent True and False respectively
125982
125983              Returns
125984                     True if successful, False if not
125985
125986              Return type
125987                     bool
125988
125989              CLI Example:
125990
125991                 salt '*' power.set_restart_power_failure True
125992
125993       salt.modules.mac_power.set_sleep(minutes)
125994              Sets  the amount of idle time until the machine sleeps. Sets the
125995              same value for Computer, Display, and Hard Disk. Pass "Never" or
125996              "Off" for computers that should never sleep.
125997
125998              Parameters
125999                     minutes -- Can be an integer between 1 and 180 or "Never"
126000                     or "Off"
126001
126002              Ptype  int, str
126003
126004              Returns
126005                     True if successful, False if not
126006
126007              Return type
126008                     bool
126009
126010              CLI Example:
126011
126012                 salt '*' power.set_sleep 120
126013                 salt '*' power.set_sleep never
126014
126015       salt.modules.mac_power.set_sleep_on_power_button(enabled)
126016              Set whether or not the power button can sleep the computer.
126017
126018              Parameters
126019                     enabled (bool) -- True to enable, False to disable.  "On"
126020                     and  "Off"  are  also acceptable values. Additionally you
126021                     can pass 1 and 0 to represent True and False respectively
126022
126023              Returns
126024                     True if successful, False if not
126025
126026              Return type
126027                     bool
126028
126029              CLI Example:
126030
126031                 salt '*' power.set_sleep_on_power_button True
126032
126033       salt.modules.mac_power.set_wake_on_modem(enabled)
126034              Set whether or not the computer will wake from sleep when  modem
126035              activity is detected.
126036
126037              Parameters
126038                     enabled  (bool) -- True to enable, False to disable. "On"
126039                     and "Off" are also acceptable  values.  Additionally  you
126040                     can pass 1 and 0 to represent True and False respectively
126041
126042              Returns
126043                     True if successful, False if not
126044
126045              Return type
126046                     bool
126047
126048              CLI Example:
126049
126050                 salt '*' power.set_wake_on_modem True
126051
126052       salt.modules.mac_power.set_wake_on_network(enabled)
126053              Set  whether  or not the computer will wake from sleep when net‐
126054              work activity is detected.
126055
126056              Parameters
126057                     enabled (bool) -- True to enable, False to disable.  "On"
126058                     and  "Off"  are  also acceptable values. Additionally you
126059                     can pass 1 and 0 to represent True and False respectively
126060
126061              Returns
126062                     True if successful, False if not
126063
126064              Return type
126065                     bool
126066
126067              CLI Example:
126068
126069                 salt '*' power.set_wake_on_network True
126070
126071   salt.modules.mac_service module
126072       The service module for macOS
126073
126074       New in version 2016.3.0.
126075
126076
126077       This module has support for services in the following locations.
126078
126079          /System/Library/LaunchDaemons/
126080          /System/Library/LaunchAgents/
126081          /Library/LaunchDaemons/
126082          /Library/LaunchAgents/
126083
126084          # As of version "Fluorine" support for user-specific services were added.
126085          /Users/foo/Library/LaunchAgents/
126086
126087       NOTE:
126088          As of the Fluorine release, if a service is located in a LaunchAgent
126089          path  and  a  runas  user is NOT specified, the current console user
126090          will be used to properly interact with the service.
126091
126092       salt.modules.mac_service.available(name)
126093              Check that the given service is available.
126094
126095              Parameters
126096                     name (str) -- The name of the service
126097
126098              Returns
126099                     True if the service is available, otherwise False
126100
126101              Return type
126102                     bool
126103
126104              CLI Example:
126105
126106                 salt '*' service.available com.openssh.sshd
126107
126108       salt.modules.mac_service.disable(name, runas=None)
126109              Disable a launchd service. Raises an error if the service  fails
126110              to be disabled
126111
126112              Parameters
126113
126114                     · name (str) -- Service label, file name, or full path
126115
126116                     · runas (str) -- User to run launchctl commands
126117
126118              Returns
126119                     True if successful or if the service is already disabled
126120
126121              Return type
126122                     bool
126123
126124              CLI Example:
126125
126126                 salt '*' service.disable org.cups.cupsd
126127
126128       salt.modules.mac_service.disabled(name, runas=None, domain=u'system')
126129              Check if the specified service is not enabled. This is the oppo‐
126130              site of service.enabled
126131
126132              Parameters
126133
126134                     · name (str) -- The name to look up
126135
126136                     · runas (str) -- User to run launchctl commands
126137
126138                     · domain (str) -- domain to check for disabled  services.
126139                       Default is system.
126140
126141              Returns
126142                     True  if  the specified service is NOT enabled, otherwise
126143                     False
126144
126145              Return type
126146                     bool
126147
126148              CLI Example:
126149
126150                 salt '*' service.disabled org.cups.cupsd
126151
126152       salt.modules.mac_service.enable(name, runas=None)
126153              Enable a launchd service. Raises an error if the  service  fails
126154              to be enabled
126155
126156              Parameters
126157
126158                     · name (str) -- Service label, file name, or full path
126159
126160                     · runas (str) -- User to run launchctl commands
126161
126162              Returns
126163                     True if successful or if the service is already enabled
126164
126165              Return type
126166                     bool
126167
126168              CLI Example:
126169
126170                 salt '*' service.enable org.cups.cupsd
126171
126172       salt.modules.mac_service.enabled(name, runas=None)
126173              Check if the specified service is enabled
126174
126175              Parameters
126176
126177                     · name (str) -- The name of the service to look up
126178
126179                     · runas (str) -- User to run launchctl commands
126180
126181              Returns
126182                     True if the specified service enabled, otherwise False
126183
126184              Return type
126185                     bool
126186
126187              CLI Example:
126188
126189                 salt '*' service.enabled org.cups.cupsd
126190
126191       salt.modules.mac_service.get_all(runas=None)
126192              Return  a list of services that are enabled or available. Can be
126193              used to find the name of a service.
126194
126195              Parameters
126196                     runas (str) -- User to run launchctl commands
126197
126198              Returns
126199                     A list of all the services available or enabled
126200
126201              Return type
126202                     list
126203
126204              CLI Example:
126205
126206                 salt '*' service.get_all
126207
126208       salt.modules.mac_service.get_enabled(runas=None)
126209              Return a list of all services that are enabled. Can be  used  to
126210              find the name of a service.
126211
126212              Parameters
126213                     runas (str) -- User to run launchctl commands
126214
126215              Returns
126216                     A list of all the services enabled on the system
126217
126218              Return type
126219                     list
126220
126221              CLI Example:
126222
126223                 salt '*' service.get_enabled
126224
126225       salt.modules.mac_service.launchctl(sub_cmd, *args, **kwargs)
126226              Run a launchctl command and raise an error if it fails
126227
126228              Parameters
126229
126230                     · sub_cmd (str) -- Sub command supplied to launchctl
126231
126232                     · args  (tuple)  -- Tuple containing additional arguments
126233                       to pass to launchctl
126234
126235                     · kwargs (dict) --  Dictionary  containing  arguments  to
126236                       pass to cmd.run_all
126237
126238                     · return_stdout  (bool)  --  A keyword argument.  If true
126239                       return the stdout of the launchctl command
126240
126241              Returns
126242                     True if successful, raise CommandExecutionError  if  not,
126243                     or the stdout of the launchctl command if requested
126244
126245              Return type
126246                     bool, str
126247
126248              CLI Example:
126249
126250                 salt '*' service.launchctl debug org.cups.cupsd
126251
126252       salt.modules.mac_service.list_(name=None, runas=None)
126253              Run launchctl list and return the output
126254
126255              Parameters
126256
126257                     · name (str) -- The name of the service to list
126258
126259                     · runas (str) -- User to run launchctl commands
126260
126261              Returns
126262                     If  a  name is passed returns information about the named
126263                     service, otherwise returns a list  of  all  services  and
126264                     pids
126265
126266              Return type
126267                     str
126268
126269              CLI Example:
126270
126271                 salt '*' service.list
126272                 salt '*' service.list org.cups.cupsd
126273
126274       salt.modules.mac_service.missing(name)
126275              The inverse of service.available Check that the given service is
126276              not available.
126277
126278              Parameters
126279                     name (str) -- The name of the service
126280
126281              Returns
126282                     True if the service is not available, otherwise False
126283
126284              Return type
126285                     bool
126286
126287              CLI Example:
126288
126289                 salt '*' service.missing com.openssh.sshd
126290
126291       salt.modules.mac_service.restart(name, runas=None)
126292              Unloads and reloads a launchd service.  Raises an error  if  the
126293              service fails to reload
126294
126295              Parameters
126296
126297                     · name (str) -- Service label, file name, or full path
126298
126299                     · runas (str) -- User to run launchctl commands
126300
126301              Returns
126302                     True if successful
126303
126304              Return type
126305                     bool
126306
126307              CLI Example:
126308
126309                 salt '*' service.restart org.cups.cupsd
126310
126311       salt.modules.mac_service.show(name)
126312              Show properties of a launchctl service
126313
126314              Parameters
126315                     name (str) -- Service label, file name, or full path
126316
126317              Returns
126318                     The service information if the service is found
126319
126320              Return type
126321                     dict
126322
126323              CLI Example:
126324
126325                 salt '*' service.show org.cups.cupsd  # service label
126326                 salt '*' service.show org.cups.cupsd.plist  # file name
126327                 salt '*' service.show /System/Library/LaunchDaemons/org.cups.cupsd.plist  # full path
126328
126329       salt.modules.mac_service.start(name, runas=None)
126330              Start  a  launchd service.  Raises an error if the service fails
126331              to start
126332
126333              NOTE:
126334                 To start a service in  macOS  the  service  must  be  enabled
126335                 first. Use service.enable to enable the service.
126336
126337              Parameters
126338
126339                     · name (str) -- Service label, file name, or full path
126340
126341                     · runas (str) -- User to run launchctl commands
126342
126343              Returns
126344                     True if successful or if the service is already running
126345
126346              Return type
126347                     bool
126348
126349              CLI Example:
126350
126351                 salt '*' service.start org.cups.cupsd
126352
126353       salt.modules.mac_service.status(name, sig=None, runas=None)
126354              Return the status for a service.
126355
126356              Parameters
126357
126358                     · name  (str) -- Used to find the service from launchctl.
126359                       Can be any part of the service name or a regex  expres‐
126360                       sion.
126361
126362                     · sig  (str) -- Find the service with status.pid instead.
126363                       Note that name must still be provided.
126364
126365                     · runas (str) -- User to run launchctl commands
126366
126367              Returns
126368                     The PID for the service if it is running, or 'loaded'  if
126369                     the service should not always have a PID, or otherwise an
126370                     empty string
126371
126372              Return type
126373                     str
126374
126375              CLI Example:
126376
126377                 salt '*' service.status cups
126378
126379       salt.modules.mac_service.stop(name, runas=None)
126380              Stop a launchd service.  Raises an error if the service fails to
126381              stop
126382
126383              NOTE:
126384                 Though  service.stop will unload a service in macOS, the ser‐
126385                 vice will start on next boot unless it is disabled. Use  ser‐
126386                 vice.disable to disable the service
126387
126388              Parameters
126389
126390                     · name (str) -- Service label, file name, or full path
126391
126392                     · runas (str) -- User to run launchctl commands
126393
126394              Returns
126395                     True if successful or if the service is already stopped
126396
126397              Return type
126398                     bool
126399
126400              CLI Example:
126401
126402                 salt '*' service.stop org.cups.cupsd
126403
126404   salt.modules.mac_shadow module
126405       Manage macOS local directory passwords and policies
126406
126407       New in version 2016.3.0.
126408
126409
126410       Note  that  it is usually better to apply password policies through the
126411       creation of a configuration profile.
126412
126413       salt.modules.mac_shadow.del_password(name)
126414              Deletes the account password
126415
126416              Parameters
126417                     name (str) -- The user name of the account
126418
126419              Returns
126420                     True if successful, otherwise False
126421
126422              Return type
126423                     bool
126424
126425              Raises CommandExecutionError on user  not  found  or  any  other
126426                     unknown error
126427
126428              CLI Example:
126429
126430                 salt '*' shadow.del_password username
126431
126432       salt.modules.mac_shadow.get_account_created(name)
126433              Get the date/time the account was created
126434
126435              Parameters
126436                     name (str) -- The username of the account
126437
126438              Returns
126439                     The   date/time   the  account  was  created  (yyyy-mm-dd
126440                     hh:mm:ss)
126441
126442              Return type
126443                     str
126444
126445              Raises CommandExecutionError on user  not  found  or  any  other
126446                     unknown error
126447
126448              CLI Example:
126449
126450                 salt '*' shadow.get_account_created admin
126451
126452       salt.modules.mac_shadow.get_change(name)
126453              Gets the date on which the password expires
126454
126455              Parameters
126456                     name (str) -- The name of the user account
126457
126458              Returns
126459                     The date the password will expire
126460
126461              Return type
126462                     str
126463
126464              Raises CommandExecutionError  on  user  not  found  or any other
126465                     unknown error
126466
126467              CLI Example:
126468
126469                 salt '*' shadow.get_change username
126470
126471       salt.modules.mac_shadow.get_expire(name)
126472              Gets the date on which the account expires
126473
126474              Parameters
126475                     name (str) -- The name of the user account
126476
126477              Returns
126478                     The date the account expires
126479
126480              Return type
126481                     str
126482
126483              Raises CommandExecutionError on user  not  found  or  any  other
126484                     unknown error
126485
126486              CLI Example:
126487
126488                 salt '*' shadow.get_expire username
126489
126490       salt.modules.mac_shadow.get_last_change(name)
126491              Get the date/time the account was changed
126492
126493              Parameters
126494                     name (str) -- The username of the account
126495
126496              Returns
126497                     The   date/time  the  account  was  modified  (yyyy-mm-dd
126498                     hh:mm:ss)
126499
126500              Return type
126501                     str
126502
126503              Raises CommandExecutionError on user  not  found  or  any  other
126504                     unknown error
126505
126506              CLI Example:
126507
126508                 salt '*' shadow.get_last_change admin
126509
126510       salt.modules.mac_shadow.get_login_failed_count(name)
126511              Get the the number of failed login attempts
126512
126513              Parameters
126514                     name (str) -- The username of the account
126515
126516              Returns
126517                     The number of failed login attempts
126518
126519              Return type
126520                     int
126521
126522              Raises CommandExecutionError  on  user  not  found  or any other
126523                     unknown error
126524
126525              CLI Example:
126526
126527                 salt '*' shadow.get_login_failed_count admin
126528
126529       salt.modules.mac_shadow.get_login_failed_last(name)
126530              Get the date/time of the last failed login attempt
126531
126532              Parameters
126533                     name (str) -- The username of the account
126534
126535              Returns
126536                     The date/time of the last failed login  attempt  on  this
126537                     account (yyyy-mm-dd hh:mm:ss)
126538
126539              Return type
126540                     str
126541
126542              Raises CommandExecutionError  on  user  not  found  or any other
126543                     unknown error
126544
126545              CLI Example:
126546
126547                 salt '*' shadow.get_login_failed_last admin
126548
126549       salt.modules.mac_shadow.get_maxdays(name)
126550              Get the maximum age of the password
126551
126552              Parameters
126553                     name (str) -- The username of the account
126554
126555              Returns
126556                     The maximum age of the password in days
126557
126558              Return type
126559                     int
126560
126561              Raises CommandExecutionError on user  not  found  or  any  other
126562                     unknown error
126563
126564              CLI Example:
126565
126566                 salt '*' shadow.get_maxdays admin 90
126567
126568       salt.modules.mac_shadow.info(name)
126569              Return information for the specified user
126570
126571              Parameters
126572                     name (str) -- The username
126573
126574              Returns
126575                     A dictionary containing the user's shadow information
126576
126577              Return type
126578                     dict
126579
126580              CLI Example:
126581
126582                 salt '*' shadow.info admin
126583
126584       salt.modules.mac_shadow.set_change(name, date)
126585              Sets  the  date  on which the password expires. The user will be
126586              required to change their password. Format is mm/dd/yyyy
126587
126588              Parameters
126589
126590                     · name (str) -- The name of the user account
126591
126592                     · date (date) -- The date the password will expire.  Must
126593                       be in mm/dd/yyyy format.
126594
126595              Returns
126596                     True if successful, otherwise False
126597
126598              Return type
126599                     bool
126600
126601              Raises CommandExecutionError  on  user  not  found  or any other
126602                     unknown error
126603
126604              CLI Example:
126605
126606                 salt '*' shadow.set_change username 09/21/2016
126607
126608       salt.modules.mac_shadow.set_expire(name, date)
126609              Sets the date on which the account expires. The user will not be
126610              able to login after this date. Date format is mm/dd/yyyy
126611
126612              Parameters
126613
126614                     · name (str) -- The name of the user account
126615
126616                     · date  (datetime)  --  The date the account will expire.
126617                       Format must be mm/dd/yyyy.
126618
126619              Returns
126620                     True if successful, False if not
126621
126622              Return type
126623                     bool
126624
126625              Raises CommandExecutionError on user  not  found  or  any  other
126626                     unknown error
126627
126628              CLI Example:
126629
126630                 salt '*' shadow.set_expire username 07/23/2015
126631
126632       salt.modules.mac_shadow.set_inactdays(name, days)
126633              Set  the  number  if inactive days before the account is locked.
126634              Not available in macOS
126635
126636              Parameters
126637
126638                     · name (str) -- The user name
126639
126640                     · days (int) -- The number of days
126641
126642              Returns
126643                     Will always return False until macOS supports  this  fea‐
126644                     ture.
126645
126646              Return type
126647                     bool
126648
126649              CLI Example:
126650
126651                 salt '*' shadow.set_inactdays admin 90
126652
126653       salt.modules.mac_shadow.set_maxdays(name, days)
126654              Set the maximum age of the password in days
126655
126656              Parameters
126657
126658                     · name (str) -- The username of the account
126659
126660                     · days (int) -- The maximum age of the account in days
126661
126662              Returns
126663                     True if successful, False if not
126664
126665              Return type
126666                     bool
126667
126668              Raises CommandExecutionError  on  user  not  found  or any other
126669                     unknown error
126670
126671              CLI Example:
126672
126673                 salt '*' shadow.set_maxdays admin 90
126674
126675       salt.modules.mac_shadow.set_mindays(name, days)
126676              Set the minimum password age in days. Not available in macOS.
126677
126678              Parameters
126679
126680                     · name (str) -- The user name
126681
126682                     · days (int) -- The number of days
126683
126684              Returns
126685                     Will always return False until macOS supports  this  fea‐
126686                     ture.
126687
126688              Return type
126689                     bool
126690
126691              CLI Example:
126692
126693                 salt '*' shadow.set_mindays admin 90
126694
126695       salt.modules.mac_shadow.set_password(name, password)
126696              Set  the  password for a named user (insecure, the password will
126697              be in the process list while the command is running)
126698
126699              Parameters
126700
126701                     · name (str) -- The name of  the  local  user,  which  is
126702                       assumed to be in the local directory service
126703
126704                     · password (str) -- The plaintext password to set
126705
126706              Returns
126707                     True if successful, otherwise False
126708
126709              Return type
126710                     bool
126711
126712              Raises CommandExecutionError  on  user  not  found  or any other
126713                     unknown error
126714
126715              CLI Example:
126716
126717                 salt '*' mac_shadow.set_password macuser macpassword
126718
126719       salt.modules.mac_shadow.set_warndays(name, days)
126720              Set the number of days before the password expires that the user
126721              will start to see a warning. Not available in macOS
126722
126723              Parameters
126724
126725                     · name (str) -- The user name
126726
126727                     · days (int) -- The number of days
126728
126729              Returns
126730                     Will  always  return False until macOS supports this fea‐
126731                     ture.
126732
126733              Return type
126734                     bool
126735
126736              CLI Example:
126737
126738                 salt '*' shadow.set_warndays admin 90
126739
126740   salt.modules.mac_softwareupdate module
126741       Support for the softwareupdate command on MacOS.
126742
126743       salt.modules.mac_softwareupdate.download(name)
126744              Download a named update so that it can be installed  later  with
126745              the update or update_all functions
126746
126747              Parameters
126748                     name (str) -- The update to download.
126749
126750              Returns
126751                     True if successful, otherwise False
126752
126753              Return type
126754                     bool
126755
126756              CLI Example:
126757
126758                 salt '*' softwareupdate.download <update name>
126759
126760       salt.modules.mac_softwareupdate.download_all(recommended=False,
126761       restart=True)
126762              Download all available updates so that  they  can  be  installed
126763              later with the update or update_all functions. It returns a list
126764              of updates that are now downloaded.
126765
126766              Parameters
126767
126768                     · recommended (bool) -- If set to True, only install  the
126769                       recommended  updates.  If  set  to  False (default) all
126770                       updates are installed.
126771
126772                     · restart (bool) -- Set this to False if you do not  want
126773                       to  install  updates that require a restart. Default is
126774                       True
126775
126776              Returns
126777                     A list containing all downloaded updates on the system.
126778
126779              Return type
126780                     list
126781
126782              CLI Example:
126783
126784                 salt '*' softwareupdate.download_all
126785
126786       salt.modules.mac_softwareupdate.get_catalog()
126787              New in version 2016.3.0.
126788
126789
126790              Get the current catalog being  used  for  update  lookups.  Will
126791              return  a  url if a custom catalog has been specified. Otherwise
126792              the word 'Default' will be returned
126793
126794              Returns
126795                     The catalog being used for update lookups
126796
126797              Return type
126798                     str
126799
126800              CLI Example:
126801
126802                 salt '*' softwareupdates.get_catalog
126803
126804       salt.modules.mac_softwareupdate.ignore(name)
126805              Ignore a specific program update. When an update is ignored  the
126806              '-'   and  version  number  at  the  end  will  be  omitted,  so
126807              "SecUpd2014-001-1.0"  becomes  "SecUpd2014-001".  It   will   be
126808              removed  automatically  if  present.  An  update is successfully
126809              ignored when it no longer shows up after list_updates.
126810
126811              Parameters
126812                     name -- The name of the update to add to the ignore list.
126813
126814              Ptype  str
126815
126816              Returns
126817                     True if successful, False if not
126818
126819              Return type
126820                     bool
126821
126822              CLI Example:
126823
126824                 salt '*' softwareupdate.ignore <update-name>
126825
126826       salt.modules.mac_softwareupdate.list_available(recommended=False,
126827       restart=False)
126828              List all available updates.
126829
126830              Parameters
126831
126832                     · recommended (bool) -- Show only recommended updates.
126833
126834                     · restart  (bool)  --  Show  only  updates that require a
126835                       restart.
126836
126837              Returns
126838                     Returns a dictionary containing the updates
126839
126840              Return type
126841                     dict
126842
126843              CLI Example:
126844
126845                 salt '*' softwareupdate.list_available
126846
126847       salt.modules.mac_softwareupdate.list_downloads()
126848              Return a list of all updates that have been downloaded locally.
126849
126850              Returns
126851                     A list of updates that have been downloaded
126852
126853              Return type
126854                     list
126855
126856              CLI Example:
126857
126858                 salt '*' softwareupdate.list_downloads
126859
126860       salt.modules.mac_softwareupdate.list_ignored()
126861              List all updates that have been  ignored.  Ignored  updates  are
126862              shown without the '-' and version number at the end, this is how
126863              the softwareupdate command works.
126864
126865              Returns
126866                     The list of ignored updates
126867
126868              Return type
126869                     list
126870
126871              CLI Example:
126872
126873                 salt '*' softwareupdate.list_ignored
126874
126875       salt.modules.mac_softwareupdate.reset_catalog()
126876              New in version 2016.3.0.
126877
126878
126879              Reset the Software Update Catalog to the default.
126880
126881              Returns
126882                     True if successful, False if not
126883
126884              Return type
126885                     bool
126886
126887              CLI Example:
126888
126889                 salt '*' softwareupdates.reset_catalog
126890
126891       salt.modules.mac_softwareupdate.reset_ignored()
126892              Make sure the ignored updates are not ignored anymore, returns a
126893              list of the updates that are no longer ignored.
126894
126895              Returns
126896                     True if the list was reset, Otherwise False
126897
126898              Return type
126899                     bool
126900
126901              CLI Example:
126902
126903                 salt '*' softwareupdate.reset_ignored
126904
126905       salt.modules.mac_softwareupdate.schedule_enable(enable)
126906              Enable/disable automatic update scheduling.
126907
126908              Parameters
126909                     enable  --  True/On/Yes/1  to  turn on automatic updates.
126910                     False/No/Off/0 to turn off  automatic  updates.  If  this
126911                     value is empty, the current status will be returned.
126912
126913              Type   bool str
126914
126915              Returns
126916                     True if scheduling is enabled, False if disabled
126917
126918              Return type
126919                     bool
126920
126921              CLI Example:
126922
126923                 salt '*' softwareupdate.schedule_enable on|off
126924
126925       salt.modules.mac_softwareupdate.schedule_enabled()
126926              Check the status of automatic update scheduling.
126927
126928              Returns
126929                     True if scheduling is enabled, False if disabled
126930
126931              Return type
126932                     bool
126933
126934              CLI Example:
126935
126936                 salt '*' softwareupdate.schedule_enabled
126937
126938       salt.modules.mac_softwareupdate.set_catalog(url)
126939              New in version 2016.3.0.
126940
126941
126942              Set the Software Update Catalog to the URL specified
126943
126944              Parameters
126945                     url (str) -- The url to the update catalog
126946
126947              Returns
126948                     True if successful, False if not
126949
126950              Return type
126951                     bool
126952
126953              CLI Example:
126954
126955                 salt '*' softwareupdates.set_catalog http://swupd.local:8888/index.sucatalog
126956
126957       salt.modules.mac_softwareupdate.update(name)
126958              Install a named update.
126959
126960              Parameters
126961                     name (str) -- The name of the of the update to install.
126962
126963              Returns
126964                     True if successfully updated, otherwise False
126965
126966              Return type
126967                     bool
126968
126969              CLI Example:
126970
126971                 salt '*' softwareupdate.update <update-name>
126972
126973       salt.modules.mac_softwareupdate.update_all(recommended=False,
126974       restart=True)
126975              Install all available updates. Returns a  dictionary  containing
126976              the name of the update and the status of its installation.
126977
126978              Parameters
126979
126980                     · recommended  (bool) -- If set to True, only install the
126981                       recommended updates. If  set  to  False  (default)  all
126982                       updates are installed.
126983
126984                     · restart  (bool) -- Set this to False if you do not want
126985                       to install updates that require a restart.  Default  is
126986                       True
126987
126988              Returns
126989                     A  dictionary  containing the updates that were installed
126990                     and the status of its installation. If  no  updates  were
126991                     installed an empty dictionary is returned.
126992
126993              Return type
126994                     dict
126995
126996              CLI Example:
126997
126998                 salt '*' softwareupdate.update_all
126999
127000       salt.modules.mac_softwareupdate.update_available(name)
127001              Check whether or not an update is available with a given name.
127002
127003              Parameters
127004                     name (str) -- The name of the update to look for
127005
127006              Returns
127007                     True if available, False if not
127008
127009              Return type
127010                     bool
127011
127012              CLI Example:
127013
127014                 salt '*' softwareupdate.update_available <update-name>
127015                 salt '*' softwareupdate.update_available "<update with whitespace>"
127016
127017   salt.modules.mac_sysctl module
127018       Module for viewing and modifying sysctl parameters
127019
127020       salt.modules.mac_sysctl.assign(name, value)
127021              Assign a single sysctl parameter for this minion
127022
127023              name   The name of the sysctl value to edit.
127024
127025              value  The sysctl value to apply.
127026
127027              CLI Example:
127028
127029                 salt '*' sysctl.assign net.inet.icmp.icmplim 50
127030
127031       salt.modules.mac_sysctl.get(name)
127032              Return a single sysctl parameter for this minion
127033
127034              name   The name of the sysctl value to display.
127035
127036              CLI Example:
127037
127038                 salt '*' sysctl.get hw.physmem
127039
127040       salt.modules.mac_sysctl.persist(name,            value,            con‐
127041       fig=u'/etc/sysctl.conf', apply_change=False)
127042              Assign and persist a simple sysctl parameter for this minion
127043
127044              name   The name of the sysctl value to edit.
127045
127046              value  The sysctl value to apply.
127047
127048              config The location of the sysctl configuration file.
127049
127050              apply_change
127051                     Default is False; Default behavior only creates or  edits
127052                     the  sysctl.conf  file.  If  apply  is  set  to True, the
127053                     changes are applied to the system.
127054
127055              CLI Example:
127056
127057                 salt '*' sysctl.persist net.inet.icmp.icmplim 50
127058                 salt '*' sysctl.persist coretemp_load NO config=/etc/sysctl.conf
127059
127060       salt.modules.mac_sysctl.show(config_file=False)
127061              Return a list of sysctl parameters for this minion
127062
127063              CLI Example:
127064
127065                 salt '*' sysctl.show
127066
127067   salt.modules.mac_system module
127068       System module for sleeping, restarting, and shutting down the system on
127069       Mac OS X
127070
127071       New in version 2016.3.0.
127072
127073
127074       WARNING:
127075          Using this module will enable atrun on the system if it is disabled.
127076
127077       salt.modules.mac_system.get_boot_arch()
127078              Get the kernel architecture setting from com.apple.Boot.plist
127079
127080              Returns
127081                     A string value representing the boot architecture setting
127082
127083              Return type
127084                     str
127085
127086              CLI Example:
127087
127088                 salt '*' system.get_boot_arch
127089
127090       salt.modules.mac_system.get_computer_name()
127091              Gets the computer name
127092
127093              Returns
127094                     The computer name
127095
127096              Return type
127097                     str
127098
127099              CLI Example:
127100
127101                 salt '*' system.get_computer_name
127102
127103       salt.modules.mac_system.get_disable_keyboard_on_lock()
127104              Get  whether  or  not the keyboard should be disabled when the X
127105              Serve enclosure lock is engaged.
127106
127107              Returns
127108                     True if disable keyboard on lock is on, False if off
127109
127110              Return type
127111                     bool
127112
127113              CLI Example:
127114
127115              ..code-block:: bash
127116                 salt '*' system.get_disable_keyboard_on_lock
127117
127118       salt.modules.mac_system.get_remote_events()
127119              Displays whether remote apple events are on or off.
127120
127121              Returns
127122                     True if remote apple events are on, False if off
127123
127124              Return type
127125                     bool
127126
127127              CLI Example:
127128
127129                 salt '*' system.get_remote_events
127130
127131       salt.modules.mac_system.get_remote_login()
127132              Displays whether remote login (SSH) is on or off.
127133
127134              Returns
127135                     True if remote login is on, False if off
127136
127137              Return type
127138                     bool
127139
127140              CLI Example:
127141
127142                 salt '*' system.get_remote_login
127143
127144       salt.modules.mac_system.get_restart_delay()
127145              Get the number of seconds after which the computer will start up
127146              after a power failure.
127147
127148              Returns
127149                     A  string  value  representing  the number of seconds the
127150                     system will delay restart after power loss
127151
127152              Return type
127153                     str
127154
127155              CLI Example:
127156
127157                 salt '*' system.get_restart_delay
127158
127159       salt.modules.mac_system.get_startup_disk()
127160              Displays the current startup disk
127161
127162              Returns
127163                     The current startup disk
127164
127165              Return type
127166                     str
127167
127168              CLI Example:
127169
127170                 salt '*' system.get_startup_disk
127171
127172       salt.modules.mac_system.get_subnet_name()
127173              Gets the local subnet name
127174
127175              Returns
127176                     The local subnet name
127177
127178              Return type
127179                     str
127180
127181              CLI Example:
127182
127183                 salt '*' system.get_subnet_name
127184
127185       salt.modules.mac_system.halt(at_time=None)
127186              Halt a running system
127187
127188              Parameters
127189                     at_time (str) --
127190
127191                     Any valid at  expression.  For  example,  some  valid  at
127192                     expressions could be:
127193
127194                     · noon
127195
127196                     · midnight
127197
127198                     · fri
127199
127200                     · 9:00 AM
127201
127202                     · 2:30 PM tomorrow
127203
127204                     · now + 10 minutes
127205
127206
127207              NOTE:
127208                 If  you  pass  a  time only, with no 'AM/PM' designation, you
127209                 have to double quote the parameter on the command  line.  For
127210                 example: '"14:00"'
127211
127212              CLI Example:
127213
127214                 salt '*' system.halt
127215                 salt '*' system.halt 'now + 10 minutes'
127216
127217       salt.modules.mac_system.list_startup_disks()
127218              List all valid startup disks on the system.
127219
127220              Returns
127221                     A list of valid startup disks
127222
127223              Return type
127224                     list
127225
127226              CLI Example:
127227
127228                 salt '*' system.list_startup_disks
127229
127230       salt.modules.mac_system.restart(at_time=None)
127231              Restart the system
127232
127233              Parameters
127234                     at_time (str) --
127235
127236                     Any  valid  at  expression.  For  example,  some valid at
127237                     expressions could be:
127238
127239                     · noon
127240
127241                     · midnight
127242
127243                     · fri
127244
127245                     · 9:00 AM
127246
127247                     · 2:30 PM tomorrow
127248
127249                     · now + 10 minutes
127250
127251
127252              NOTE:
127253                 If you pass a time only, with  no  'AM/PM'  designation,  you
127254                 have  to  double quote the parameter on the command line. For
127255                 example: '"14:00"'
127256
127257              CLI Example:
127258
127259                 salt '*' system.restart
127260                 salt '*' system.restart '12:00 PM fri'
127261
127262       salt.modules.mac_system.set_boot_arch(arch=u'default')
127263              Set the kernel to boot in 32 or 64 bit mode on next boot.
127264
127265              NOTE:
127266                 When this function fails with the  error  changes  to  kernel
127267                 architecture  failed  to  save!,  then  the  boot arch is not
127268                 updated.  This is either an Apple bug, not available  on  the
127269                 test system, or a result of system files being locked down in
127270                 macOS (SIP Protection).
127271
127272              Parameters
127273                     arch (str) --
127274
127275                     A string representing the  desired  architecture.  If  no
127276                     value   is  passed,  default  is  assumed.  Valid  values
127277                     include:
127278
127279                     · i386
127280
127281                     · x86_64
127282
127283                     · default
127284
127285
127286              Returns
127287                     True if successful, False if not
127288
127289              Return type
127290                     bool
127291
127292              CLI Example:
127293
127294                 salt '*' system.set_boot_arch i386
127295
127296       salt.modules.mac_system.set_computer_name(name)
127297              Set the computer name
127298
127299              Parameters
127300                     name (str) -- The new computer name
127301
127302              Returns
127303                     True if successful, False if not
127304
127305              Return type
127306                     bool
127307
127308              CLI Example:
127309
127310                 salt '*' system.set_computer_name "Mike's Mac"
127311
127312       salt.modules.mac_system.set_disable_keyboard_on_lock(enable)
127313              Get whether or not the keyboard should be disabled  when  the  X
127314              Serve enclosure lock is engaged.
127315
127316              Parameters
127317                     enable  (bool)  -- True to enable, False to disable. "On"
127318                     and "Off" are also acceptable  values.  Additionally  you
127319                     can pass 1 and 0 to represent True and False respectively
127320
127321              Returns
127322                     True if successful, False if not
127323
127324              Return type
127325                     bool
127326
127327              CLI Example:
127328
127329                 salt '*' system.set_disable_keyboard_on_lock False
127330
127331       salt.modules.mac_system.set_remote_events(enable)
127332              Set  whether the server responds to events sent by other comput‐
127333              ers (such as AppleScripts)
127334
127335              Parameters
127336                     enable (bool) -- True to enable, False to  disable.  "On"
127337                     and  "Off"  are  also acceptable values. Additionally you
127338                     can pass 1 and 0 to represent True and False respectively
127339
127340              Returns
127341                     True if successful, False if not
127342
127343              Return type
127344                     bool
127345
127346              CLI Example:
127347
127348                 salt '*' system.set_remote_events On
127349
127350       salt.modules.mac_system.set_remote_login(enable)
127351              Set the remote login (SSH) to either on or off.
127352
127353              Parameters
127354                     enable (bool) -- True to enable, False to  disable.  "On"
127355                     and  "Off"  are  also acceptable values. Additionally you
127356                     can pass 1 and 0 to represent True and False respectively
127357
127358              Returns
127359                     True if successful, False if not
127360
127361              Return type
127362                     bool
127363
127364              CLI Example:
127365
127366                 salt '*' system.set_remote_login True
127367
127368       salt.modules.mac_system.set_restart_delay(seconds)
127369              Set the number of seconds after which the computer will start up
127370              after a power failure.
127371
127372              WARNING:
127373                 This command fails with the following error:
127374
127375                 Error, IOServiceOpen returned 0x10000003
127376
127377                 The  setting  is  not updated. This is an apple bug. It seems
127378                 like it may only work on certain versions of  Mac  Server  X.
127379                 This  article explains the issue in more detail, though it is
127380                 quite old.
127381
127382                 http://lists.apple.com/archives/macos-x-server/2006/Jul/msg00967.html
127383
127384              Parameters
127385                     seconds  (int) -- The number of seconds. Must be a multi‐
127386                     ple of 30
127387
127388              Returns
127389                     True if successful, False if not
127390
127391              Return type
127392                     bool
127393
127394              CLI Example:
127395
127396                 salt '*' system.set_restart_delay 180
127397
127398       salt.modules.mac_system.set_startup_disk(path)
127399              Set the current startup disk to the  indicated  path.  Use  sys‐
127400              tem.list_startup_disks  to  find valid startup disks on the sys‐
127401              tem.
127402
127403              Parameters
127404                     path (str) -- The valid startup disk path
127405
127406              Returns
127407                     True if successful, False if not
127408
127409              Return type
127410                     bool
127411
127412              CLI Example:
127413
127414                 salt '*' system.set_startup_disk /System/Library/CoreServices
127415
127416       salt.modules.mac_system.set_subnet_name(name)
127417              Set the local subnet name
127418
127419              Parameters
127420                     name (str) -- The new local subnet name
127421
127422              NOTE:
127423                 Spaces are changed to dashes. Other  special  characters  are
127424                 removed.
127425
127426              Returns
127427                     True if successful, False if not
127428
127429              Return type
127430                     bool
127431
127432              CLI Example:
127433
127434                 The following will be set as 'Mikes-Mac'
127435                 salt '*' system.set_subnet_name "Mike's Mac"
127436
127437       salt.modules.mac_system.shutdown(at_time=None)
127438              Shutdown the system
127439
127440              Parameters
127441                     at_time (str) --
127442
127443                     Any  valid  at  expression.  For  example,  some valid at
127444                     expressions could be:
127445
127446                     · noon
127447
127448                     · midnight
127449
127450                     · fri
127451
127452                     · 9:00 AM
127453
127454                     · 2:30 PM tomorrow
127455
127456                     · now + 10 minutes
127457
127458
127459              NOTE:
127460                 If you pass a time only, with  no  'AM/PM'  designation,  you
127461                 have  to  double quote the parameter on the command line. For
127462                 example: '"14:00"'
127463
127464              CLI Example:
127465
127466                 salt '*' system.shutdown
127467                 salt '*' system.shutdown 'now + 1 hour'
127468
127469       salt.modules.mac_system.sleep(at_time=None)
127470              Sleep the system. If a user is active  on  the  system  it  will
127471              likely fail to sleep.
127472
127473              Parameters
127474                     at_time (str) --
127475
127476                     Any  valid  at  expression.  For  example,  some valid at
127477                     expressions could be:
127478
127479                     · noon
127480
127481                     · midnight
127482
127483                     · fri
127484
127485                     · 9:00 AM
127486
127487                     · 2:30 PM tomorrow
127488
127489                     · now + 10 minutes
127490
127491
127492              NOTE:
127493                 If you pass a time only, with  no  'AM/PM'  designation,  you
127494                 have  to  double quote the parameter on the command line. For
127495                 example: '"14:00"'
127496
127497              CLI Example:
127498
127499                 salt '*' system.sleep
127500                 salt '*' system.sleep '10:00 PM'
127501
127502   salt.modules.mac_timezone module
127503       Module for editing date/time settings on macOS
127504          New in version 2016.3.0.
127505
127506
127507       salt.modules.mac_timezone.get_date()
127508              Displays the current date
127509
127510              Returns
127511                     the system date
127512
127513              Return type
127514                     str
127515
127516              CLI Example:
127517
127518                 salt '*' timezone.get_date
127519
127520       salt.modules.mac_timezone.get_hwclock()
127521              Get current hardware clock setting (UTC or localtime)
127522
127523              CLI Example:
127524
127525                 salt '*' timezone.get_hwclock
127526
127527       salt.modules.mac_timezone.get_offset()
127528              Displays the current time zone offset
127529
127530              Returns
127531                     The current time zone offset
127532
127533              Return type
127534                     str
127535
127536              CLI Example:
127537
127538                 salt '*' timezone.get_offset
127539
127540       salt.modules.mac_timezone.get_time()
127541              Get the current system time.
127542
127543              Returns
127544                     The current time in 24 hour format
127545
127546              Return type
127547                     str
127548
127549              CLI Example:
127550
127551                 salt '*' timezone.get_time
127552
127553       salt.modules.mac_timezone.get_time_server()
127554              Display the currently set network time server.
127555
127556              Returns
127557                     the network time server
127558
127559              Return type
127560                     str
127561
127562              CLI Example:
127563
127564                 salt '*' timezone.get_time_server
127565
127566       salt.modules.mac_timezone.get_using_network_time()
127567              Display whether network time is on or off
127568
127569              Returns
127570                     True if network time is on, False if off
127571
127572              Return type
127573                     bool
127574
127575              CLI Example:
127576
127577                 salt '*' timezone.get_using_network_time
127578
127579       salt.modules.mac_timezone.get_zone()
127580              Displays the current time zone
127581
127582              Returns
127583                     The current time zone
127584
127585              Return type
127586                     str
127587
127588              CLI Example:
127589
127590                 salt '*' timezone.get_zone
127591
127592       salt.modules.mac_timezone.get_zonecode()
127593              Displays the current time zone abbreviated code
127594
127595              Returns
127596                     The current time zone code
127597
127598              Return type
127599                     str
127600
127601              CLI Example:
127602
127603                 salt '*' timezone.get_zonecode
127604
127605       salt.modules.mac_timezone.list_zones()
127606              Displays a list of available time zones. Use this list when set‐
127607              ting a time zone using timezone.set_zone
127608
127609              Returns
127610                     a list of time zones
127611
127612              Return type
127613                     list
127614
127615              CLI Example:
127616
127617                 salt '*' timezone.list_zones
127618
127619       salt.modules.mac_timezone.set_date(date)
127620              Set the current month, day, and year
127621
127622              Parameters
127623                     date (str) --
127624
127625                     The date to set. Valid date formats are:
127626
127627                     · %m:%d:%y
127628
127629                     · %m:%d:%Y
127630
127631                     · %m/%d/%y
127632
127633                     · %m/%d/%Y
127634
127635
127636              Returns
127637                     True if successful, False if not
127638
127639              Return type
127640                     bool
127641
127642              Raises SaltInvocationError on Invalid Date format
127643
127644              Raises CommandExecutionError on failure
127645
127646              CLI Example:
127647
127648                 salt '*' timezone.set_date 1/13/2016
127649
127650       salt.modules.mac_timezone.set_hwclock(clock)
127651              Sets the hardware clock to be either UTC or localtime
127652
127653              CLI Example:
127654
127655                 salt '*' timezone.set_hwclock UTC
127656
127657       salt.modules.mac_timezone.set_time(time)
127658              Sets the current time. Must be in 24 hour format.
127659
127660              Parameters
127661                     time  (str)  --  The  time to set in 24 hour format.  The
127662                     value must be double quoted. ie: '"17:46"'
127663
127664              Returns
127665                     True if successful, False if not
127666
127667              Return type
127668                     bool
127669
127670              Raises SaltInvocationError on Invalid Time format
127671
127672              Raises CommandExecutionError on failure
127673
127674              CLI Example:
127675
127676                 salt '*' timezone.set_time '"17:34"'
127677
127678       salt.modules.mac_time‐
127679       zone.set_time_server(time_server=u'time.apple.com')
127680              Designates  a  network  time server. Enter the IP address or DNS
127681              name for the network time server.
127682
127683              Parameters
127684                     time_server -- IP or DNS name of the network time server.
127685                     If  nothing  is passed the time server will be set to the
127686                     macOS default of 'time.apple.com'
127687
127688              Type   str
127689
127690              Returns
127691                     True if successful, False if not
127692
127693              Return type
127694                     bool
127695
127696              Raises CommandExecutionError on failure
127697
127698              CLI Example:
127699
127700                 salt '*' timezone.set_time_server time.acme.com
127701
127702       salt.modules.mac_timezone.set_using_network_time(enable)
127703              Set whether network time is on or off.
127704
127705              Parameters
127706                     enable -- True to enable, False to disable. Can also  use
127707                     'on' or 'off'
127708
127709              Type   str bool
127710
127711              Returns
127712                     True if successful, False if not
127713
127714              Return type
127715                     bool
127716
127717              Raises CommandExecutionError on failure
127718
127719              CLI Example:
127720
127721                 salt '*' timezone.set_using_network_time True
127722
127723       salt.modules.mac_timezone.set_zone(time_zone)
127724              Set  the  local time zone. Use timezone.list_zones to list valid
127725              time_zone arguments
127726
127727              Parameters
127728                     time_zone (str) -- The time zone to apply
127729
127730              Returns
127731                     True if successful, False if not
127732
127733              Return type
127734                     bool
127735
127736              Raises SaltInvocationError on Invalid Timezone
127737
127738              Raises CommandExecutionError on failure
127739
127740              CLI Example:
127741
127742                 salt '*' timezone.set_zone America/Denver
127743
127744       salt.modules.mac_timezone.zone_compare(time_zone)
127745              Compares the given timezone name with the system timezone name.
127746
127747              Returns
127748                     True if they are the same, False if not
127749
127750              Return type
127751                     bool
127752
127753              CLI Example:
127754
127755                 salt '*' timezone.zone_compare America/Boise
127756
127757   salt.modules.mac_user
127758       Manage users on Mac OS 10.7+
127759
127760       IMPORTANT:
127761          If you feel that Salt should be using this module to manage users on
127762          a minion, and it is using a different module (or gives an error sim‐
127763          ilar to 'user.info' is not available), see here.
127764
127765       salt.modules.mac_user.add(name,   uid=None,   gid=None,    groups=None,
127766       home=None, shell=None, fullname=None, createhome=True, **kwargs)
127767              Add a user to the minion
127768
127769              CLI Example:
127770
127771                 salt '*' user.add name <uid> <gid> <groups> <home> <shell>
127772
127773       salt.modules.mac_user.chfullname(name, fullname)
127774              Change the user's Full Name
127775
127776              CLI Example:
127777
127778                 salt '*' user.chfullname foo 'Foo Bar'
127779
127780       salt.modules.mac_user.chgid(name, gid)
127781              Change the default group of the user
127782
127783              CLI Example:
127784
127785                 salt '*' user.chgid foo 4376
127786
127787       salt.modules.mac_user.chgroups(name, groups, append=False)
127788              Change  the  groups  to  which  the  user belongs. Note that the
127789              user's primary group does not have  to  be  one  of  the  groups
127790              passed,  membership in the user's primary group is automatically
127791              assumed.
127792
127793              groups Groups to which the user should  belong,  can  be  passed
127794                     either as a python list or a comma-separated string
127795
127796              append Instead  of removing user from groups not included in the
127797                     groups parameter, just add user to any groups  for  which
127798                     they are not members
127799
127800              CLI Example:
127801
127802                 salt '*' user.chgroups foo wheel,root
127803
127804       salt.modules.mac_user.chhome(name, home, **kwargs)
127805              Change the home directory of the user
127806
127807              CLI Example:
127808
127809                 salt '*' user.chhome foo /Users/foo
127810
127811       salt.modules.mac_user.chshell(name, shell)
127812              Change the default shell of the user
127813
127814              CLI Example:
127815
127816                 salt '*' user.chshell foo /bin/zsh
127817
127818       salt.modules.mac_user.chuid(name, uid)
127819              Change the uid for a named user
127820
127821              CLI Example:
127822
127823                 salt '*' user.chuid foo 4376
127824
127825       salt.modules.mac_user.delete(name, remove=False, force=False)
127826              Remove a user from the minion
127827
127828              CLI Example:
127829
127830                 salt '*' user.delete name remove=True force=True
127831
127832       salt.modules.mac_user.disable_auto_login()
127833              New in version 2016.3.0.
127834
127835
127836              Disables auto login on the machine
127837
127838              Returns
127839                     True if successful, otherwise False
127840
127841              Return type
127842                     bool
127843
127844              CLI Example:
127845
127846                 salt '*' user.disable_auto_login
127847
127848       salt.modules.mac_user.enable_auto_login(name, password)
127849              New in version 2016.3.0.
127850
127851
127852              Configures the machine to auto login with the specified user
127853
127854              Parameters
127855
127856                     · name (str) -- The user account use for auto login
127857
127858                     · password (str) --
127859
127860                       The password to user for auto login
127861
127862                       New in version 2017.7.3.
127863
127864
127865
127866              Returns
127867                     True if successful, otherwise False
127868
127869              Return type
127870                     bool
127871
127872              CLI Example:
127873
127874                 salt '*' user.enable_auto_login stevej
127875
127876       salt.modules.mac_user.get_auto_login()
127877              New in version 2016.3.0.
127878
127879
127880              Gets the current setting for Auto Login
127881
127882              Returns
127883                     If  enabled,  returns  the  user  name, otherwise returns
127884                     False
127885
127886              Return type
127887                     str, bool
127888
127889              CLI Example:
127890
127891                 salt '*' user.get_auto_login
127892
127893       salt.modules.mac_user.getent(refresh=False)
127894              Return the list of all info for all users
127895
127896              CLI Example:
127897
127898                 salt '*' user.getent
127899
127900       salt.modules.mac_user.info(name)
127901              Return user information
127902
127903              CLI Example:
127904
127905                 salt '*' user.info root
127906
127907       salt.modules.mac_user.list_groups(name)
127908              Return a list of groups the named user belongs to.
127909
127910              name
127911                 The name of the user for which to list  groups.  Starting  in
127912                 Salt  2016.11.0,  all  groups  for the user, including groups
127913                 beginning with an underscore will be listed.
127914
127915                 Changed in version 2016.11.0.
127916
127917
127918              CLI Example:
127919
127920                 salt '*' user.list_groups foo
127921
127922       salt.modules.mac_user.list_users()
127923              Return a list of all users
127924
127925              CLI Example:
127926
127927                 salt '*' user.list_users
127928
127929       salt.modules.mac_user.primary_group(name)
127930              Return the primary group of the named user
127931
127932              New in version 2016.3.0.
127933
127934
127935              CLI Example:
127936
127937                 salt '*' user.primary_group saltadmin
127938
127939       salt.modules.mac_user.rename(name, new_name)
127940              Change the username for a named user
127941
127942              CLI Example:
127943
127944                 salt '*' user.rename name new_name
127945
127946   salt.modules.mac_xattr module
127947       This module allows you to manage extended attributes on files or direc‐
127948       tories
127949
127950          salt '*' xattr.list /path/to/file
127951
127952       salt.modules.mac_xattr.clear(path)
127953              Causes the all attributes on the file/directory to be removed
127954
127955              Parameters
127956                     path (str) -- The file(s) to get attributes from
127957
127958              Returns
127959                     True if successful, otherwise False
127960
127961              Raises CommandExecutionError  on  file  not  found  or any other
127962                     unknown error
127963
127964              CLI Example:
127965
127966                 salt '*' xattr.delete /path/to/file "com.test.attr"
127967
127968       salt.modules.mac_xattr.delete(path, attribute)
127969              Removes the given attribute from the file
127970
127971              Parameters
127972
127973                     · path (str) -- The file(s) to get attributes from
127974
127975                     · attribute (str) -- The attribute  name  to  be  deleted
127976                       from the file/directory
127977
127978              Returns
127979                     True if successful, otherwise False
127980
127981              Return type
127982                     bool
127983
127984              Raises CommandExecutionError  on  file  not found, attribute not
127985                     found, and any other unknown error
127986
127987              CLI Example:
127988
127989                 salt '*' xattr.delete /path/to/file "com.test.attr"
127990
127991       salt.modules.mac_xattr.list_(path, **kwargs)
127992              List all of the extended attributes on the given file/directory
127993
127994              Parameters
127995
127996                     · path (str) -- The file(s) to get attributes from
127997
127998                     · hex (bool) -- Return the values with forced hexadecimal
127999                       values
128000
128001              Returns
128002                     A  dictionary  containing  extended attributes and values
128003                     for the given file
128004
128005              Return type
128006                     dict
128007
128008              Raises CommandExecutionError on file  not  found  or  any  other
128009                     unknown error
128010
128011              CLI Example:
128012
128013                 salt '*' xattr.list /path/to/file
128014                 salt '*' xattr.list /path/to/file hex=True
128015
128016       salt.modules.mac_xattr.read(path, attribute, **kwargs)
128017              Read the given attributes on the given file/directory
128018
128019              Parameters
128020
128021                     · path (str) -- The file to get attributes from
128022
128023                     · attribute (str) -- The attribute to read
128024
128025                     · hex (bool) -- Return the values with forced hexadecimal
128026                       values
128027
128028              Returns
128029                     A string containing the value of the named attribute
128030
128031              Return type
128032                     str
128033
128034              Raises CommandExecutionError on file not  found,  attribute  not
128035                     found, and any other unknown error
128036
128037              CLI Example:
128038
128039                 salt '*' xattr.read /path/to/file com.test.attr
128040                 salt '*' xattr.read /path/to/file com.test.attr hex=True
128041
128042       salt.modules.mac_xattr.write(path, attribute, value, **kwargs)
128043              Causes the given attribute name to be assigned the given value
128044
128045              Parameters
128046
128047                     · path (str) -- The file(s) to get attributes from
128048
128049                     · attribute  (str) -- The attribute name to be written to
128050                       the file/directory
128051
128052                     · value (str)  --  The  value  to  assign  to  the  given
128053                       attribute
128054
128055                     · hex  (bool)  --  Set the values with forced hexadecimal
128056                       values
128057
128058              Returns
128059                     True if successful, otherwise False
128060
128061              Return type
128062                     bool
128063
128064              Raises CommandExecutionError on file  not  found  or  any  other
128065                     unknown error
128066
128067              CLI Example:
128068
128069                 salt '*' xattr.write /path/to/file "com.test.attr" "value"
128070
128071   salt.modules.makeconf
128072       Support for modifying make.conf under Gentoo
128073
128074       salt.modules.makeconf.append_cflags(value)
128075              Add to or create a new CFLAGS in the make.conf
128076
128077              Return a dict containing the new value for variable:
128078
128079                 {'<variable>': {'old': '<old-value>',
128080                                 'new': '<new-value>'}}
128081
128082              CLI Example:
128083
128084                 salt '*' makeconf.append_cflags '-pipe'
128085
128086       salt.modules.makeconf.append_cxxflags(value)
128087              Add to or create a new CXXFLAGS in the make.conf
128088
128089              Return a dict containing the new value for variable:
128090
128091                 {'<variable>': {'old': '<old-value>',
128092                                 'new': '<new-value>'}}
128093
128094              CLI Example:
128095
128096                 salt '*' makeconf.append_cxxflags '-pipe'
128097
128098       salt.modules.makeconf.append_emerge_default_opts(value)
128099              Add to or create a new EMERGE_DEFAULT_OPTS in the make.conf
128100
128101              Return a dict containing the new value for variable:
128102
128103                 {'<variable>': {'old': '<old-value>',
128104                                 'new': '<new-value>'}}
128105
128106              CLI Example:
128107
128108                 salt '*' makeconf.append_emerge_default_opts '--jobs'
128109
128110       salt.modules.makeconf.append_features(value)
128111              Add to or create a new FEATURES in the make.conf
128112
128113              Return a dict containing the new value for variable:
128114
128115                 {'<variable>': {'old': '<old-value>',
128116                                 'new': '<new-value>'}}
128117
128118              CLI Example:
128119
128120                 salt '*' makeconf.append_features 'webrsync-gpg'
128121
128122       salt.modules.makeconf.append_gentoo_mirrors(value)
128123              Add to or create a new GENTOO_MIRRORS in the make.conf
128124
128125              Return a dict containing the new value for variable:
128126
128127                 {'<variable>': {'old': '<old-value>',
128128                                 'new': '<new-value>'}}
128129
128130              CLI Example:
128131
128132                 salt '*' makeconf.append_gentoo_mirrors 'http://distfiles.gentoo.org'
128133
128134       salt.modules.makeconf.append_makeopts(value)
128135              Add to or create a new MAKEOPTS in the make.conf
128136
128137              Return a dict containing the new value for variable:
128138
128139                 {'<variable>': {'old': '<old-value>',
128140                                 'new': '<new-value>'}}
128141
128142              CLI Example:
128143
128144                 salt '*' makeconf.append_makeopts '-j3'
128145
128146       salt.modules.makeconf.append_var(var, value)
128147              Add to or create a new variable in the make.conf
128148
128149              Return a dict containing the new value for variable:
128150
128151                 {'<variable>': {'old': '<old-value>',
128152                                 'new': '<new-value>'}}
128153
128154              CLI Example:
128155
128156                 salt '*' makeconf.append_var 'LINGUAS' 'en'
128157
128158       salt.modules.makeconf.cflags_contains(value)
128159              Verify if CFLAGS variable contains a value in make.conf
128160
128161              Return True if value is set for var
128162
128163              CLI Example:
128164
128165                 salt '*' makeconf.cflags_contains '-pipe'
128166
128167       salt.modules.makeconf.chost_contains(value)
128168              Verify if CHOST variable contains a value in make.conf
128169
128170              Return True if value is set for var
128171
128172              CLI Example:
128173
128174                 salt '*' makeconf.chost_contains 'x86_64-pc-linux-gnu'
128175
128176       salt.modules.makeconf.cxxflags_contains(value)
128177              Verify if CXXFLAGS variable contains a value in make.conf
128178
128179              Return True if value is set for var
128180
128181              CLI Example:
128182
128183                 salt '*' makeconf.cxxflags_contains '-pipe'
128184
128185       salt.modules.makeconf.emerge_default_opts_contains(value)
128186              Verify  if  EMERGE_DEFAULT_OPTS  variable  contains  a  value in
128187              make.conf
128188
128189              Return True if value is set for var
128190
128191              CLI Example:
128192
128193                 salt '*' makeconf.emerge_default_opts_contains '--jobs'
128194
128195       salt.modules.makeconf.features_contains(value)
128196              Verify if FEATURES variable contains a value in make.conf
128197
128198              Return True if value is set for var
128199
128200              CLI Example:
128201
128202                 salt '*' makeconf.features_contains 'webrsync-gpg'
128203
128204       salt.modules.makeconf.gentoo_mirrors_contains(value)
128205              Verify if GENTOO_MIRRORS variable contains a value in make.conf
128206
128207              Return True if value is set for var
128208
128209              CLI Example:
128210
128211                 salt '*' makeconf.gentoo_mirrors_contains 'http://distfiles.gentoo.org'
128212
128213       salt.modules.makeconf.get_cflags()
128214              Get the value of CFLAGS variable in the make.conf
128215
128216              Return the value of the variable or None if the variable is  not
128217              in the make.conf
128218
128219              CLI Example:
128220
128221                 salt '*' makeconf.get_cflags
128222
128223       salt.modules.makeconf.get_chost()
128224              Get the value of CHOST variable in the make.conf
128225
128226              Return  the value of the variable or None if the variable is not
128227              in the make.conf
128228
128229              CLI Example:
128230
128231                 salt '*' makeconf.get_chost
128232
128233       salt.modules.makeconf.get_cxxflags()
128234              Get the value of CXXFLAGS variable in the make.conf
128235
128236              Return the value of the variable or None if the variable is  not
128237              in the make.conf
128238
128239              CLI Example:
128240
128241                 salt '*' makeconf.get_cxxflags
128242
128243       salt.modules.makeconf.get_emerge_default_opts()
128244              Get the value of EMERGE_DEFAULT_OPTS variable in the make.conf
128245
128246              Return  the value of the variable or None if the variable is not
128247              in the make.conf
128248
128249              CLI Example:
128250
128251                 salt '*' makeconf.get_emerge_default_opts
128252
128253       salt.modules.makeconf.get_features()
128254              Get the value of FEATURES variable in the make.conf
128255
128256              Return the value of the variable or None if the variable is  not
128257              in the make.conf
128258
128259              CLI Example:
128260
128261                 salt '*' makeconf.get_features
128262
128263       salt.modules.makeconf.get_gentoo_mirrors()
128264              Get the value of GENTOO_MIRRORS variable in the make.conf
128265
128266              Return  the value of the variable or None if the variable is not
128267              in the make.conf
128268
128269              CLI Example:
128270
128271                 salt '*' makeconf.get_gentoo_mirrors
128272
128273       salt.modules.makeconf.get_makeopts()
128274              Get the value of MAKEOPTS variable in the make.conf
128275
128276              Return the value of the variable or None if the variable is  not
128277              in the make.conf
128278
128279              CLI Example:
128280
128281                 salt '*' makeconf.get_makeopts
128282
128283       salt.modules.makeconf.get_sync()
128284              Get the value of SYNC variable in the make.conf
128285
128286              Return  the value of the variable or None if the variable is not
128287              in the make.conf
128288
128289              CLI Example:
128290
128291                 salt '*' makeconf.get_sync
128292
128293       salt.modules.makeconf.get_var(var)
128294              Get the value of a variable in make.conf
128295
128296              Return the value of the variable or None if the variable is  not
128297              in make.conf
128298
128299              CLI Example:
128300
128301                 salt '*' makeconf.get_var 'LINGUAS'
128302
128303       salt.modules.makeconf.makeopts_contains(value)
128304              Verify if MAKEOPTS variable contains a value in make.conf
128305
128306              Return True if value is set for var
128307
128308              CLI Example:
128309
128310                 salt '*' makeconf.makeopts_contains '-j3'
128311
128312       salt.modules.makeconf.remove_var(var)
128313              Remove a variable from the make.conf
128314
128315              Return a dict containing the new value for the variable:
128316
128317                 {'<variable>': {'old': '<old-value>',
128318                                 'new': '<new-value>'}}
128319
128320              CLI Example:
128321
128322                 salt '*' makeconf.remove_var 'LINGUAS'
128323
128324       salt.modules.makeconf.set_cflags(value)
128325              Set the CFLAGS variable
128326
128327              Return a dict containing the new value for variable:
128328
128329                 {'<variable>': {'old': '<old-value>',
128330                                 'new': '<new-value>'}}
128331
128332              CLI Example:
128333
128334                 salt '*' makeconf.set_cflags '-march=native -O2 -pipe'
128335
128336       salt.modules.makeconf.set_chost(value)
128337              Set the CHOST variable
128338
128339              Return a dict containing the new value for variable:
128340
128341                 {'<variable>': {'old': '<old-value>',
128342                                 'new': '<new-value>'}}
128343
128344              CLI Example:
128345
128346                 salt '*' makeconf.set_chost 'x86_64-pc-linux-gnu'
128347
128348       salt.modules.makeconf.set_cxxflags(value)
128349              Set the CXXFLAGS variable
128350
128351              Return a dict containing the new value for variable:
128352
128353                 {'<variable>': {'old': '<old-value>',
128354                                 'new': '<new-value>'}}
128355
128356              CLI Example:
128357
128358                 salt '*' makeconf.set_cxxflags '-march=native -O2 -pipe'
128359
128360       salt.modules.makeconf.set_emerge_default_opts(value)
128361              Set the EMERGE_DEFAULT_OPTS variable
128362
128363              Return a dict containing the new value for variable:
128364
128365                 {'<variable>': {'old': '<old-value>',
128366                                 'new': '<new-value>'}}
128367
128368              CLI Example:
128369
128370                 salt '*' makeconf.set_emerge_default_opts '--jobs'
128371
128372       salt.modules.makeconf.set_gentoo_mirrors(value)
128373              Set the GENTOO_MIRRORS variable
128374
128375              Return a dict containing the new value for variable:
128376
128377                 {'<variable>': {'old': '<old-value>',
128378                                 'new': '<new-value>'}}
128379
128380              CLI Example:
128381
128382                 salt '*' makeconf.set_gentoo_mirrors 'http://distfiles.gentoo.org'
128383
128384       salt.modules.makeconf.set_makeopts(value)
128385              Set the MAKEOPTS variable
128386
128387              Return a dict containing the new value for variable:
128388
128389                 {'<variable>': {'old': '<old-value>',
128390                                 'new': '<new-value>'}}
128391
128392              CLI Example:
128393
128394                 salt '*' makeconf.set_makeopts '-j3'
128395
128396       salt.modules.makeconf.set_sync(value)
128397              Set the SYNC variable
128398
128399              Return a dict containing the new value for variable:
128400
128401                 {'<variable>': {'old': '<old-value>',
128402                                 'new': '<new-value>'}}
128403
128404              CLI Example:
128405
128406                 salt '*' makeconf.set_sync 'rsync://rsync.namerica.gentoo.org/gentoo-portage'
128407
128408       salt.modules.makeconf.set_var(var, value)
128409              Set a variable in the make.conf
128410
128411              Return a dict containing the new value for variable:
128412
128413                 {'<variable>': {'old': '<old-value>',
128414                                 'new': '<new-value>'}}
128415
128416              CLI Example:
128417
128418                 salt '*' makeconf.set_var 'LINGUAS' 'en'
128419
128420       salt.modules.makeconf.sync_contains(value)
128421              Verify if SYNC variable contains a value in make.conf
128422
128423              Return True if value is set for var
128424
128425              CLI Example:
128426
128427                 salt '*' makeconf.sync_contains 'rsync://rsync.namerica.gentoo.org/gentoo-portage'
128428
128429       salt.modules.makeconf.trim_cflags(value)
128430              Remove a value from CFLAGS variable in the make.conf
128431
128432              Return a dict containing the new value for variable:
128433
128434                 {'<variable>': {'old': '<old-value>',
128435                                 'new': '<new-value>'}}
128436
128437              CLI Example:
128438
128439                 salt '*' makeconf.trim_cflags '-pipe'
128440
128441       salt.modules.makeconf.trim_cxxflags(value)
128442              Remove a value from CXXFLAGS variable in the make.conf
128443
128444              Return a dict containing the new value for variable:
128445
128446                 {'<variable>': {'old': '<old-value>',
128447                                 'new': '<new-value>'}}
128448
128449              CLI Example:
128450
128451                 salt '*' makeconf.trim_cxxflags '-pipe'
128452
128453       salt.modules.makeconf.trim_emerge_default_opts(value)
128454              Remove   a   value  from  EMERGE_DEFAULT_OPTS  variable  in  the
128455              make.conf
128456
128457              Return a dict containing the new value for variable:
128458
128459                 {'<variable>': {'old': '<old-value>',
128460                                 'new': '<new-value>'}}
128461
128462              CLI Example:
128463
128464                 salt '*' makeconf.trim_emerge_default_opts '--jobs'
128465
128466       salt.modules.makeconf.trim_features(value)
128467              Remove a value from FEATURES variable in the make.conf
128468
128469              Return a dict containing the new value for variable:
128470
128471                 {'<variable>': {'old': '<old-value>',
128472                                 'new': '<new-value>'}}
128473
128474              CLI Example:
128475
128476                 salt '*' makeconf.trim_features 'webrsync-gpg'
128477
128478       salt.modules.makeconf.trim_gentoo_mirrors(value)
128479              Remove a value from GENTOO_MIRRORS variable in the make.conf
128480
128481              Return a dict containing the new value for variable:
128482
128483                 {'<variable>': {'old': '<old-value>',
128484                                 'new': '<new-value>'}}
128485
128486              CLI Example:
128487
128488                 salt '*' makeconf.trim_gentoo_mirrors 'http://distfiles.gentoo.org'
128489
128490       salt.modules.makeconf.trim_makeopts(value)
128491              Remove a value from MAKEOPTS variable in the make.conf
128492
128493              Return a dict containing the new value for variable:
128494
128495                 {'<variable>': {'old': '<old-value>',
128496                                 'new': '<new-value>'}}
128497
128498              CLI Example:
128499
128500                 salt '*' makeconf.trim_makeopts '-j3'
128501
128502       salt.modules.makeconf.trim_var(var, value)
128503              Remove a value from a variable in the make.conf
128504
128505              Return a dict containing the new value for variable:
128506
128507                 {'<variable>': {'old': '<old-value>',
128508                                 'new': '<new-value>'}}
128509
128510              CLI Example:
128511
128512                 salt '*' makeconf.trim_var 'LINGUAS' 'en'
128513
128514       salt.modules.makeconf.var_contains(var, value)
128515              Verify if variable contains a value in make.conf
128516
128517              Return True if value is set for var
128518
128519              CLI Example:
128520
128521                 salt '*' makeconf.var_contains 'LINGUAS' 'en'
128522
128523   salt.modules.mandrill
128524   Mandrill
128525       Send out emails using the Mandrill API.
128526
128527       In the minion configuration file, the following block is required:
128528
128529          mandrill:
128530            key: <API_KEY>
128531
128532       New in version 2018.3.0.
128533
128534
128535       salt.modules.mandrill.send(message,  asynchronous=False,  ip_pool=None,
128536       send_at=None, api_url=None, api_version=None, api_key=None, **kwargs)
128537              Send out the email using the details from the message argument.
128538
128539              message
128540                     The  information  on  the  message to send. This argument
128541                     must be sent as dictionary with at fields as specified in
128542                     the Mandrill API documentation.
128543
128544              asynchronous: False
128545                     Enable  a  background  sending mode that is optimized for
128546                     bulk sending.  In asynchronous mode,  messages/send  will
128547                     immediately return a status of "queued" for every recipi‐
128548                     ent. To handle rejections when  sending  in  asynchronous
128549                     mode,  set  up a webhook for the 'reject' event. Defaults
128550                     to false for messages with no more  than  10  recipients;
128551                     messages  with  more  than  10 recipients are always sent
128552                     asynchronously, regardless of the value of asynchronous.
128553
128554              ip_pool
128555                     The name of the dedicated ip pool that should be used  to
128556                     send  the  message. If you do not have any dedicated IPs,
128557                     this parameter has no effect. If you specify a pool  that
128558                     does not exist, your default pool will be used instead.
128559
128560              send_at
128561                     When  this  message  should be sent as a UTC timestamp in
128562                     YYYY-MM-DD HH:MM:SS format. If you specify a time in  the
128563                     past, the message will be sent immediately. An additional
128564                     fee applies for scheduled email, and this feature is only
128565                     available to accounts with a positive balance.
128566
128567              NOTE:
128568                 Fur further details please consult the API documentation.
128569
128570              CLI Example:
128571
128572                 $ salt '*' mandrill.send message="{'subject': 'Hi', 'from_email': 'test@example.com', 'to': [{'email': 'recv@example.com', 'type': 'to'}]}"
128573
128574              message structure example (as YAML for readability):
128575
128576                 message:
128577                     text: |
128578                         This is the body of the email.
128579                         This is the second line.
128580                     subject: Email subject
128581                     from_name: Test At Example Dot Com
128582                     from_email: test@example.com
128583                     to:
128584                       - email: recv@example.com
128585                         type: to
128586                         name: Recv At Example Dot Com
128587                       - email: cc@example.com
128588                         type: cc
128589                         name: CC At Example Dot Com
128590                     important: true
128591                     track_clicks: true
128592                     track_opens: true
128593                     attachments:
128594                       - type: text/x-yaml
128595                         name: yaml_file.yml
128596                         content: aV9hbV9zdXBlcl9jdXJpb3VzOiB0cnVl
128597
128598              Output example:
128599
128600                 minion:
128601                     ----------
128602                     comment:
128603                     out:
128604                         |_
128605                           ----------
128606                           _id:
128607                               c4353540a3c123eca112bbdd704ab6
128608                           email:
128609                               recv@example.com
128610                           reject_reason:
128611                               None
128612                           status:
128613                               sent
128614                     result:
128615                         True
128616
128617   salt.modules.marathon module
128618       Module providing a simple management interface to a marathon cluster.
128619
128620       Currently this only works when run through a proxy minion.
128621
128622       New in version 2015.8.2.
128623
128624
128625       salt.modules.marathon.app(id)
128626              Return the current server configuration for the specified app.
128627
128628              CLI Example:
128629
128630                 salt marathon-minion-id marathon.app my-app
128631
128632       salt.modules.marathon.apps()
128633              Return a list of the currently installed app ids.
128634
128635              CLI Example:
128636
128637                 salt marathon-minion-id marathon.apps
128638
128639       salt.modules.marathon.has_app(id)
128640              Return whether the given app id is currently configured.
128641
128642              CLI Example:
128643
128644                 salt marathon-minion-id marathon.has_app my-app
128645
128646       salt.modules.marathon.info()
128647              Return  configuration  and status information about the marathon
128648              instance.
128649
128650              CLI Example:
128651
128652                 salt marathon-minion-id marathon.info
128653
128654       salt.modules.marathon.restart_app(id, restart=False, force=True)
128655              Restart the current server configuration for the specified app.
128656
128657              Parameters
128658
128659                     · restart -- Restart the app
128660
128661                     · force -- Override the current deployment
128662
128663              CLI Example:
128664
128665                 salt marathon-minion-id marathon.restart_app my-app
128666
128667              By default, this will only check if the app exists in  marathon.
128668              It  does  not check if there are any tasks associated with it or
128669              if the app is suspended.
128670
128671                 salt marathon-minion-id marathon.restart_app my-app true true
128672
128673              The restart option needs to be set to True to actually  issue  a
128674              rolling restart to marathon.
128675
128676              The  force  option  tells  marathon  to  ignore  the current app
128677              deployment if there is one.
128678
128679       salt.modules.marathon.rm_app(id)
128680              Remove the specified app from the server.
128681
128682              CLI Example:
128683
128684                 salt marathon-minion-id marathon.rm_app my-app
128685
128686       salt.modules.marathon.update_app(id, config)
128687              Update the specified app with the given configuration.
128688
128689              CLI Example:
128690
128691                 salt marathon-minion-id marathon.update_app my-app '<config yaml>'
128692
128693   salt.modules.match
128694       The match module allows for match routines to be run and determine tar‐
128695       get specs
128696
128697       salt.modules.match.compound(tgt, minion_id=None)
128698              Return True if the minion ID matches the given compound target
128699
128700              minion_id
128701                     Specify the minion ID to match against the target expres‐
128702                     sion
128703
128704                     New in version 2014.7.0.
128705
128706
128707              CLI Example:
128708
128709                 salt '*' match.compound 'L@cheese,foo and *'
128710
128711       salt.modules.match.data(tgt)
128712              Return True if the minion matches the given data target
128713
128714              CLI Example:
128715
128716                 salt '*' match.data 'spam:eggs'
128717
128718       salt.modules.match.filter_by(lookup,     tgt_type=u'compound',     min‐
128719       ion_id=None, default=u'default')
128720              Return the first match in a dictionary of target patterns
128721
128722              New in version 2014.7.0.
128723
128724
128725              CLI Example:
128726
128727                 salt '*' match.filter_by '{foo*: Foo!, bar*: Bar!}' minion_id=bar03
128728
128729              Pillar Example:
128730
128731                 # Filter the data for the current minion into a variable:
128732                 {% set roles = salt['match.filter_by']({
128733                     'web*': ['app', 'caching'],
128734                     'db*': ['db'],
128735                 }, default='web*') %}
128736
128737                 # Make the filtered data available to Pillar:
128738                 roles: {{ roles | yaml() }}
128739
128740       salt.modules.match.glob(tgt, minion_id=None)
128741              Return True if the minion ID matches the given glob target
128742
128743              minion_id
128744                     Specify the minion ID to match against the target expres‐
128745                     sion
128746
128747                     New in version 2014.7.0.
128748
128749
128750              CLI Example:
128751
128752                 salt '*' match.glob '*'
128753
128754       salt.modules.match.grain(tgt, delimiter=':')
128755              Return True if the minion matches the given  grain  target.  The
128756              delimiter argument can be used to specify a different delimiter.
128757
128758              CLI Example:
128759
128760                 salt '*' match.grain 'os:Ubuntu'
128761                 salt '*' match.grain 'ipv6|2001:db8::ff00:42:8329' delimiter='|'
128762
128763              delimiter
128764                     Specify  an  alternate delimiter to use when traversing a
128765                     nested dict
128766
128767                     New in version 2014.7.0.
128768
128769
128770              delim  Specify an alternate delimiter to use when  traversing  a
128771                     nested dict
128772
128773                     New in version 0.16.4.
128774
128775
128776                     Deprecated since version 2015.8.0.
128777
128778
128779       salt.modules.match.grain_pcre(tgt, delimiter=':')
128780              Return  True  if the minion matches the given grain_pcre target.
128781              The delimiter argument can be used to specify a different delim‐
128782              iter.
128783
128784              CLI Example:
128785
128786                 salt '*' match.grain_pcre 'os:Fedo.*'
128787                 salt '*' match.grain_pcre 'ipv6|2001:.*' delimiter='|'
128788
128789              delimiter
128790                     Specify  an  alternate delimiter to use when traversing a
128791                     nested dict
128792
128793                     New in version 2014.7.0.
128794
128795
128796              delim  Specify an alternate delimiter to use when  traversing  a
128797                     nested dict
128798
128799                     New in version 0.16.4.
128800
128801
128802                     Deprecated since version 2015.8.0.
128803
128804
128805       salt.modules.match.ipcidr(tgt)
128806              Return True if the minion matches the given ipcidr target
128807
128808              CLI Example:
128809
128810                 salt '*' match.ipcidr '192.168.44.0/24'
128811
128812              delimiter Pillar Example:
128813
128814                 '172.16.0.0/12':
128815                   - match: ipcidr
128816                   - nodeclass: internal
128817
128818       salt.modules.match.list_(tgt, minion_id=None)
128819              Return True if the minion ID matches the given list target
128820
128821              minion_id
128822                     Specify the minion ID to match against the target expres‐
128823                     sion
128824
128825                     New in version 2014.7.0.
128826
128827
128828              CLI Example:
128829
128830                 salt '*' match.list 'server1,server2'
128831
128832       salt.modules.match.pcre(tgt, minion_id=None)
128833              Return True if the minion ID matches the given pcre target
128834
128835              minion_id
128836                     Specify the minion ID to match against the target expres‐
128837                     sion
128838
128839                     New in version 2014.7.0.
128840
128841
128842              CLI Example:
128843
128844                 salt '*' match.pcre '.*'
128845
128846       salt.modules.match.pillar(tgt, delimiter=':')
128847              Return  True  if the minion matches the given pillar target. The
128848              delimiter argument can be used to specify a different delimiter.
128849
128850              CLI Example:
128851
128852                 salt '*' match.pillar 'cheese:foo'
128853                 salt '*' match.pillar 'clone_url|https://github.com/saltstack/salt.git' delimiter='|'
128854
128855              delimiter
128856                     Specify an alternate delimiter to use when  traversing  a
128857                     nested dict
128858
128859                     New in version 2014.7.0.
128860
128861
128862              delim  Specify  an  alternate delimiter to use when traversing a
128863                     nested dict
128864
128865                     New in version 0.16.4.
128866
128867
128868                     Deprecated since version 2015.8.0.
128869
128870
128871       salt.modules.match.pillar_pcre(tgt, delimiter=':')
128872              Return True if the minion matches the given pillar_pcre  target.
128873              The delimiter argument can be used to specify a different delim‐
128874              iter.
128875
128876              CLI Example:
128877
128878                 salt '*' match.pillar_pcre 'cheese:(swiss|american)'
128879                 salt '*' match.pillar_pcre 'clone_url|https://github\.com/.*\.git' delimiter='|'
128880
128881              delimiter
128882                     Specify an alternate delimiter to use when  traversing  a
128883                     nested dict
128884
128885                     New in version 2014.7.0.
128886
128887
128888              delim  Specify  an  alternate delimiter to use when traversing a
128889                     nested dict
128890
128891                     New in version 0.16.4.
128892
128893
128894                     Deprecated since version 2015.8.0.
128895
128896
128897       salt.modules.match.search_by(lookup,     tgt_type=u'compound',     min‐
128898       ion_id=None)
128899              Search a dictionary of target strings for matching targets
128900
128901              This  is the inverse of match.filter_by and allows matching val‐
128902              ues instead of matching keys. A minion can be matched by  multi‐
128903              ple entries.
128904
128905              New in version 2017.7.0.
128906
128907
128908              CLI Example:
128909
128910                 salt '*' match.search_by '{web: [node1, node2], db: [node2, node]}'
128911
128912              Pillar Example:
128913
128914                 {% set roles = salt.match.search_by({
128915                     'web': ['G@os_family:Debian not nodeX'],
128916                     'db': ['L@node2,node3 and G@datacenter:west'],
128917                     'caching': ['node3', 'node4'],
128918                 }) %}
128919
128920                 # Make the filtered data available to Pillar:
128921                 roles: {{ roles | yaml() }}
128922
128923   salt.modules.mattermost module
128924       Module for sending messages to Mattermost
128925
128926       New in version 2017.7.0.
128927
128928
128929       configuration
128930              This  module  can  be used by either passing an api_url and hook
128931              directly or by specifying both in a configuration profile in the
128932              salt master/minion config. For example:
128933
128934                 mattermost:
128935                   hook: peWcBiMOS9HrZG15peWcBiMOS9HrZG15
128936                   api_url: https://example.com
128937
128938       salt.modules.mattermost.post_message(message,    channel=None,    user‐
128939       name=None, api_url=None, hook=None)
128940              Send a message to a Mattermost channel.
128941
128942              Parameters
128943
128944                     · channel -- The channel name, either will work.
128945
128946                     · username -- The username of the poster.
128947
128948                     · message -- The message to send to the Mattermost  chan‐
128949                       nel.
128950
128951                     · api_url  -- The Mattermost api url, if not specified in
128952                       the configuration.
128953
128954                     · hook -- The Mattermost hook, if not  specified  in  the
128955                       configuration.
128956
128957              Returns
128958                     Boolean if message was sent successfully.
128959
128960              CLI Example:
128961
128962                 salt '*' mattermost.post_message message='Build is done'
128963
128964   salt.modules.mdadm
128965       Salt module to manage RAID arrays with mdadm
128966
128967       salt.modules.mdadm.add(name, device)
128968              Add new device to RAID array.
128969
128970              CLI Example:
128971
128972                 salt '*' raid.add /dev/md0 /dev/sda1
128973
128974       salt.modules.mdadm.assemble(name, devices, test_mode=False, **kwargs)
128975              Assemble a RAID device.
128976
128977              CLI Examples:
128978
128979                 salt '*' raid.assemble /dev/md0 ['/dev/xvdd', '/dev/xvde']
128980
128981              NOTE:
128982                 Adding test_mode=True as an argument will print out the mdadm
128983                 command that would have been run.
128984
128985              name   The name of the array to assemble.
128986
128987              devices
128988                     The list of devices comprising the array to assemble.
128989
128990              kwargs Optional arguments to be passed to mdadm.
128991
128992              returns
128993
128994                     test_mode=True:
128995                            Prints out the full command.
128996
128997                     test_mode=False (Default):
128998                            Executes command on the host(s) and prints out the
128999                            mdadm output.
129000
129001              For more info, read the mdadm manpage.
129002
129003       salt.modules.mdadm.create(name,  level,  devices,  metadata=u'default',
129004       test_mode=False, **kwargs)
129005              Create a RAID device.
129006
129007              Changed in version 2014.7.0.
129008
129009
129010              WARNING:
129011                 Use with CAUTION, as this function can be very destructive if
129012                 not used properly!
129013
129014              CLI Examples:
129015
129016                 salt '*' raid.create /dev/md0 level=1 chunk=256 devices="['/dev/xvdd', '/dev/xvde']" test_mode=True
129017
129018              NOTE:
129019                 Adding test_mode=True as an argument will print out the mdadm
129020                 command that would have been run.
129021
129022              name   The name of the array to create.
129023
129024              level  The RAID level to use when creating the raid.
129025
129026              devices
129027                     A list of devices used to build the array.
129028
129029              metadata
129030                     Version of metadata to use when creating the array.
129031
129032              kwargs Optional arguments to be passed to mdadm.
129033
129034              returns
129035
129036                     test_mode=True:
129037                            Prints out the full command.
129038
129039                     test_mode=False (Default):
129040                            Executes command on remote the host(s) and  Prints
129041                            out the mdadm output.
129042
129043              NOTE:
129044                 It  takes  time  to  create  a  RAID array. You can check the
129045                 progress in "resync_status:" field of the  results  from  the
129046                 following command:
129047
129048                     salt '*' raid.detail /dev/md0
129049
129050              For more info, read the mdadm(8) manpage
129051
129052       salt.modules.mdadm.destroy(device)
129053              Destroy a RAID device.
129054
129055              WARNING This will zero the superblock of all members of the RAID
129056              array..
129057
129058              CLI Example:
129059
129060                 salt '*' raid.destroy /dev/md0
129061
129062       salt.modules.mdadm.detail(device=u'/dev/md0')
129063              Show detail for a specified RAID device
129064
129065              CLI Example:
129066
129067                 salt '*' raid.detail '/dev/md0'
129068
129069       salt.modules.mdadm.examine(device)
129070              Show detail for a specified RAID component device
129071
129072              CLI Example:
129073
129074                 salt '*' raid.examine '/dev/sda1'
129075
129076       salt.modules.mdadm.list_()
129077              List the RAID devices.
129078
129079              CLI Example:
129080
129081                 salt '*' raid.list
129082
129083       salt.modules.mdadm.save_config()
129084              Save RAID configuration to config file.
129085
129086              Same as: mdadm --detail --scan >> /etc/mdadm/mdadm.conf
129087
129088              Fixes       this       issue       with       Ubuntu        REF:
129089              http://askubuntu.com/questions/209702/why-is-my-raid-dev-md1-showing-up-as-dev-md126-is-mdadm-conf-being-ignored
129090
129091              CLI Example:
129092
129093                 salt '*' raid.save_config
129094
129095       salt.modules.mdadm.stop()
129096              Shut down all arrays that can be shut down (i.e.  are  not  cur‐
129097              rently in use).
129098
129099              CLI Example:
129100
129101                 salt '*' raid.stop
129102
129103   salt.modules.mdata
129104       Module for managaging metadata in SmartOS Zones
129105
129106       New in version 2016.3.0.
129107
129108
129109       maintainer
129110              Jorge Schrauwen <sjorge@blackdot.be>
129111
129112       maturity
129113              new
129114
129115       platform
129116              smartos
129117
129118       salt.modules.mdata.delete_(*keyname)
129119              Delete metadata
129120
129121              prop   string name of property
129122
129123              CLI Example:
129124
129125                 salt '*' mdata.get salt:role
129126                 salt '*' mdata.get user-script salt:role
129127
129128       salt.modules.mdata.get_(*keyname)
129129              Get metadata
129130
129131              keyname
129132                     string name of key
129133
129134              NOTE:
129135                 If no keynames are specified, we get all (public) properties
129136
129137              CLI Example:
129138
129139                 salt '*' mdata.get salt:role
129140                 salt '*' mdata.get user-script salt:role
129141
129142       salt.modules.mdata.list_()
129143              List available metadata
129144
129145              CLI Example:
129146
129147                 salt '*' mdata.list
129148
129149       salt.modules.mdata.put_(keyname, val)
129150              Put metadata
129151
129152              prop   string name of property
129153
129154              val    string value to set
129155
129156              CLI Example:
129157
129158                 salt '*' mdata.list
129159
129160   salt.modules.memcached
129161       Module for Management of Memcached Keys
129162
129163       New in version 2014.1.0.
129164
129165
129166       salt.modules.memcached.add(key,  value,  host=u'127.0.0.1', port=11211,
129167       time=0, min_compress_len=0)
129168              Add a key to the memcached server,  but  only  if  it  does  not
129169              exist. Returns False if the key already exists.
129170
129171              CLI Example:
129172
129173                 salt '*' memcached.add <key> <value>
129174
129175       salt.modules.memcached.decrement(key,    delta=1,    host=u'127.0.0.1',
129176       port=11211)
129177              Decrement the value of a key
129178
129179              CLI Example:
129180
129181                 salt '*' memcached.decrement <key>
129182                 salt '*' memcached.decrement <key> 2
129183
129184       salt.modules.memcached.delete(key,    host=u'127.0.0.1',    port=11211,
129185       time=0)
129186              Delete a key from memcache server
129187
129188              CLI Example:
129189
129190                 salt '*' memcached.delete <key>
129191
129192       salt.modules.memcached.get(key, host=u'127.0.0.1', port=11211)
129193              Retrieve value for a key
129194
129195              CLI Example:
129196
129197                 salt '*' memcached.get <key>
129198
129199       salt.modules.memcached.increment(key,    delta=1,    host=u'127.0.0.1',
129200       port=11211)
129201              Increment the value of a key
129202
129203              CLI Example:
129204
129205                 salt '*' memcached.increment <key>
129206                 salt '*' memcached.increment <key> 2
129207
129208       salt.modules.memcached.replace(key,      value,      host=u'127.0.0.1',
129209       port=11211, time=0, min_compress_len=0)
129210              Replace a key on the memcached server. This only succeeds if the
129211              key already exists. This is the opposite of memcached.add
129212
129213              CLI Example:
129214
129215                 salt '*' memcached.replace <key> <value>
129216
129217       salt.modules.memcached.set_(key, value, host=u'127.0.0.1',  port=11211,
129218       time=0, min_compress_len=0)
129219              Set  a  key on the memcached server, overwriting the value if it
129220              exists.
129221
129222              CLI Example:
129223
129224                 salt '*' memcached.set <key> <value>
129225
129226       salt.modules.memcached.status(host=u'127.0.0.1', port=11211)
129227              Get memcached status
129228
129229              CLI Example:
129230
129231                 salt '*' memcached.status
129232
129233   salt.modules.mine
129234       The function cache system allows for data to be stored on the master so
129235       it can be easily read by other minions
129236
129237       salt.modules.mine.delete(fun)
129238              Remove  specific  function  contents  of minion. Returns True on
129239              success.
129240
129241              CLI Example:
129242
129243                 salt '*' mine.delete 'network.interfaces'
129244
129245       salt.modules.mine.flush()
129246              Remove all mine contents of minion. Returns True on success.
129247
129248              CLI Example:
129249
129250                 salt '*' mine.flush
129251
129252       salt.modules.mine.get(tgt, fun, tgt_type=u'glob', exclude_minion=False)
129253              Get data from  the  mine  based  on  the  target,  function  and
129254              tgt_type
129255
129256              Targets  can  be  matched  based on any standard matching system
129257              that can be matched on the master via these keywords:
129258
129259              · glob
129260
129261              · pcre
129262
129263              · grain
129264
129265              · grain_pcre
129266
129267              · compound
129268
129269              · pillar
129270
129271              · pillar_pcre
129272
129273              Note that all pillar matches, whether using the compound  match‐
129274              ing system or the pillar matching system, will be exact matches,
129275              with globbing disabled.
129276
129277              exclude_minion
129278                     Excludes the current minion from the result set
129279
129280              CLI Example:
129281
129282                 salt '*' mine.get '*' network.interfaces
129283                 salt '*' mine.get 'os:Fedora' network.interfaces grain
129284                 salt '*' mine.get 'G@os:Fedora and S@192.168.5.0/24' network.ipaddrs compound
129285
129286              SEE ALSO:
129287                 Retrieving Mine data from Pillar and Orchestrate
129288
129289                 This execution module is intended to be executed on  minions.
129290                 Master-side  operations  such  as  Pillar or Orchestrate that
129291                 require Mine data should use the Mine Runner module  instead;
129292                 it   can  be  invoked  from  a  Pillar  SLS  file  using  the
129293                 saltutil.runner module. For example:
129294
129295                     {% set minion_ips = salt.saltutil.runner('mine.get',
129296                         tgt='*',
129297                         fun='network.ip_addrs',
129298                         tgt_type='glob') %}
129299
129300       salt.modules.mine.get_docker(interfaces=None,   cidrs=None,   with_con‐
129301       tainer_id=False)
129302              Changed in version 2017.7.8,2018.3.3: When docker.update_mine is
129303              set to False for a given minion, no mine data will be  populated
129304              for that minion, and thus none will be returned for it.
129305
129306
129307              Changed  in version Fluorine: docker.update_mine now defaults to
129308              False
129309
129310
129311              Get all mine data for docker.ps and run an aggregation  routine.
129312              The  interfaces  parameter  allows  for  specifying  the network
129313              interfaces from which to select IP addresses. The cidrs  parame‐
129314              ter allows for specifying a list of subnets which the IP address
129315              must match.
129316
129317              with_container_id
129318                     Boolean, to expose container_id in the list of results
129319
129320                     New in version 2015.8.2.
129321
129322
129323              CLI Example:
129324
129325                 salt '*' mine.get_docker
129326                 salt '*' mine.get_docker interfaces='eth0'
129327                 salt '*' mine.get_docker interfaces='["eth0", "eth1"]'
129328                 salt '*' mine.get_docker cidrs='107.170.147.0/24'
129329                 salt '*' mine.get_docker cidrs='["107.170.147.0/24", "172.17.42.0/24"]'
129330                 salt '*' mine.get_docker interfaces='["eth0", "eth1"]' cidrs='["107.170.147.0/24", "172.17.42.0/24"]'
129331
129332       salt.modules.mine.send(func, *args, **kwargs)
129333              Send a specific function to the mine.
129334
129335              CLI Example:
129336
129337                 salt '*' mine.send network.ip_addrs eth0
129338                 salt '*' mine.send eth0_ip_addrs mine_function=network.ip_addrs eth0
129339
129340       salt.modules.mine.update(clear=False, mine_functions=None)
129341              Execute the configured functions and send the data  back  up  to
129342              the  master.   The  functions to be executed are merged from the
129343              master  config,  pillar  and  minion  config  under  the  option
129344              mine_functions:
129345
129346                 mine_functions:
129347                   network.ip_addrs:
129348                     - eth0
129349                   disk.usage: []
129350
129351              This function accepts the following arguments:
129352
129353              clear: False
129354                     Boolean  flag  specifying whether updating will clear the
129355                     existing mines, or will update. Default: False (update).
129356
129357              mine_functions
129358                     Update the mine data on  certain  functions  only.   This
129359                     feature  can be used when updating the mine for functions
129360                     that require refresh at different intervals than the rest
129361                     of  the  functions  specified under mine_functions in the
129362                     minion/master config or pillar.  A potential use would be
129363                     together with the scheduler, for example:
129364
129365                        schedule:
129366                          lldp_mine_update:
129367                            function: mine.update
129368                            kwargs:
129369                                mine_functions:
129370                                  net.lldp: []
129371                            hours: 12
129372
129373                     In  the  example  above,  the  mine for net.lldp would be
129374                     refreshed every 12 hours, while   network.ip_addrs  would
129375                     continue to be updated as specified in mine_interval.
129376
129377              The  function cache will be populated with information from exe‐
129378              cuting these functions
129379
129380              CLI Example:
129381
129382                 salt '*' mine.update
129383
129384       salt.modules.mine.valid()
129385              List valid entries in mine configuration.
129386
129387              CLI Example:
129388
129389                 salt '*' mine.valid
129390
129391   salt.modules.minion module
129392       Module to provide information about minions
129393
129394       salt.modules.minion.kill(timeout=15)
129395              Kill the salt minion.
129396
129397              timeout
129398                     int seconds to wait for the minion to die.
129399
129400              If you have a monitor that restarts  salt-minion  when  it  dies
129401              then this is a great way to restart after a minion upgrade.
129402
129403              CLI example:
129404
129405                 >$ salt minion[12] minion.kill
129406                 minion1:
129407                     ----------
129408                     killed:
129409                         7874
129410                     retcode:
129411                         0
129412                 minion2:
129413                     ----------
129414                     killed:
129415                         29071
129416                     retcode:
129417                         0
129418
129419              The  result of the salt command shows the process ID of the min‐
129420              ions and the results of a kill signal to the minion  in  as  the
129421              retcode value: 0 is success, anything else is a failure.
129422
129423       salt.modules.minion.list_()
129424              Return a list of accepted, denied, unaccepted and rejected keys.
129425              This is the same output as salt-key -L
129426
129427              CLI Example:
129428
129429                 salt 'master' minion.list
129430
129431       salt.modules.minion.restart()
129432              Kill and restart the salt minion.
129433
129434              The configuration key minion_restart_command is an argv list for
129435              the command to restart the minion.  If minion_restart_command is
129436              not specified or empty then the argv of the current process will
129437              be used.
129438
129439              if the configuration value minion_restart_command is not set and
129440              the -d (daemonize) argument is missing from argv then the minion
129441              will  be  killed  but will not be restarted and will require the
129442              parent  process  to  perform  the  restart.   This  behavior  is
129443              intended for managed salt minion processes.
129444
129445              CLI example:
129446
129447                 >$ salt minion[12] minion.restart
129448                 minion1:
129449                     ----------
129450                     comment:
129451                         - Restart using process argv:
129452                         -     /home/omniture/install/bin/salt-minion
129453                         -     -d
129454                         -     -c
129455                         -     /home/omniture/install/etc/salt
129456                     killed:
129457                         10070
129458                     restart:
129459                         ----------
129460                         stderr:
129461                         stdout:
129462                     retcode:
129463                         0
129464                 minion2:
129465                     ----------
129466                     comment:
129467                         - Using configuration minion_restart_command:
129468                         -     /home/omniture/install/bin/salt-minion
129469                         -     --not-an-option
129470                         -     -d
129471                         -     -c
129472                         -     /home/omniture/install/etc/salt
129473                         - Restart failed
129474                     killed:
129475                         10896
129476                     restart:
129477                         ----------
129478                         stderr:
129479                             Usage: salt-minion
129480
129481                             salt-minion: error: no such option: --not-an-option
129482                         stdout:
129483                     retcode:
129484                         64
129485
129486              The  result  of the command shows the process ID of minion1 that
129487              is shutdown (killed) and the results of the restart.   If  there
129488              is  a  failure in the restart it will be reflected in a non-zero
129489              retcode and possibly output in the stderr and/or  stdout  values
129490              along  with  addition  information  in  the  comment field as is
129491              demonstrated with minion2.
129492
129493   salt.modules.mod_random
129494   Provides access to randomness generators.
129495       New in version 2014.7.0.
129496
129497
129498       salt.modules.mod_random.get_str(length=20)
129499              New in version 2014.7.0.
129500
129501
129502              Returns a random string of the specified length.
129503
129504              length 20 Any valid number of bytes.
129505
129506              CLI Example:
129507
129508                 salt '*' random.get_str 128
129509
129510       salt.modules.mod_random.hash(value, algorithm=u'sha512')
129511              New in version 2014.7.0.
129512
129513
129514              Encodes a value with the specified encoder.
129515
129516              value  The value to be hashed.
129517
129518              algorithm
129519                     sha512 The algorithm to use. May be any  valid  algorithm
129520                     supported by hashlib.
129521
129522              CLI Example:
129523
129524                 salt '*' random.hash 'I am a string' md5
129525
129526       salt.modules.mod_random.rand_int(start=1, end=10, seed=None)
129527              Returns  a  random integer number between the start and end num‐
129528              ber.
129529
129530              start  1 Any valid integer number
129531
129532              end    10 Any valid integer number
129533
129534              seed : Optional hashable object
129535
129536              Changed in version Fluorine: Added seed  argument.  Will  return
129537              the same result when run with the same seed.
129538
129539
129540              CLI Example:
129541
129542                 salt '*' random.rand_int 1 10
129543
129544       salt.modules.mod_random.seed(range=10, hash=None)
129545              Returns  a  random number within a range. Optional hash argument
129546              can be any hashable object. If hash is omitted or None,  the  id
129547              of the minion is used.
129548
129549              hash: None
129550                     Any hashable object.
129551
129552              range: 10
129553                     Any valid integer number
129554
129555              CLI Example:
129556
129557                 salt '*' random.seed 10 hash=None
129558
129559       salt.modules.mod_random.shadow_hash(crypt_salt=None,     password=None,
129560       algorithm=u'sha512')
129561              Generates a salted hash suitable for /etc/shadow.
129562
129563              crypt_salt
129564                     None Salt to be used in the generation of  the  hash.  If
129565                     one is not provided, a random salt will be generated.
129566
129567              password
129568                     None  Value  to  be salted and hashed. If one is not pro‐
129569                     vided, a random password will be generated.
129570
129571              algorithm
129572                     sha512 Hash algorithm to use.
129573
129574              CLI Example:
129575
129576                 salt '*' random.shadow_hash 'My5alT' 'MyP@asswd' md5
129577
129578       salt.modules.mod_random.str_encode(value, encoder=u'base64')
129579              New in version 2014.7.0.
129580
129581
129582              value  The value to be encoded.
129583
129584              encoder
129585                     base64 The encoder to use on the subsequent string.
129586
129587              CLI Example:
129588
129589                 salt '*' random.str_encode 'I am a new string' base64
129590
129591   salt.modules.modjk
129592       Control   Modjk   via   the   Apache   Tomcat   "Status"   worker    (‐
129593       http://tomcat.apache.org/connectors-doc/reference/status.html)
129594
129595       Below  is  an example of the configuration needed for this module. This
129596       configuration data can be placed either in grains or pillar.
129597
129598       If using grains, this can be accomplished statically  or  via  a  grain
129599       module.
129600
129601       If  using  pillar, the yaml configuration can be placed directly into a
129602       pillar SLS file, making this both the easier and more dynamic method of
129603       configuring this module.
129604
129605          modjk:
129606            default:
129607              url: http://localhost/jkstatus
129608              user: modjk
129609              pass: secret
129610              realm: authentication realm for digest passwords
129611              timeout: 5
129612            otherVhost:
129613              url: http://otherVhost/jkstatus
129614              user: modjk
129615              pass: secret2
129616              realm: authentication realm2 for digest passwords
129617              timeout: 600
129618
129619       salt.modules.modjk.bulk_activate(workers, lbn, profile=u'default')
129620              Activate all the given workers in the specific load balancer
129621
129622              CLI Examples:
129623
129624                 salt '*' modjk.bulk_activate node1,node2,node3 loadbalancer1
129625                 salt '*' modjk.bulk_activate node1,node2,node3 loadbalancer1 other-profile
129626
129627                 salt '*' modjk.bulk_activate ["node1","node2","node3"] loadbalancer1
129628                 salt '*' modjk.bulk_activate ["node1","node2","node3"] loadbalancer1 other-profile
129629
129630       salt.modules.modjk.bulk_disable(workers, lbn, profile=u'default')
129631              Disable all the given workers in the specific load balancer
129632
129633              CLI Examples:
129634
129635                 salt '*' modjk.bulk_disable node1,node2,node3 loadbalancer1
129636                 salt '*' modjk.bulk_disable node1,node2,node3 loadbalancer1 other-profile
129637
129638                 salt '*' modjk.bulk_disable ["node1","node2","node3"] loadbalancer1
129639                 salt '*' modjk.bulk_disable ["node1","node2","node3"] loadbalancer1 other-profile
129640
129641       salt.modules.modjk.bulk_recover(workers, lbn, profile=u'default')
129642              Recover all the given workers in the specific load balancer
129643
129644              CLI Examples:
129645
129646                 salt '*' modjk.bulk_recover node1,node2,node3 loadbalancer1
129647                 salt '*' modjk.bulk_recover node1,node2,node3 loadbalancer1 other-profile
129648
129649                 salt '*' modjk.bulk_recover ["node1","node2","node3"] loadbalancer1
129650                 salt '*' modjk.bulk_recover ["node1","node2","node3"] loadbalancer1 other-profile
129651
129652       salt.modules.modjk.bulk_stop(workers, lbn, profile=u'default')
129653              Stop all the given workers in the specific load balancer
129654
129655              CLI Examples:
129656
129657                 salt '*' modjk.bulk_stop node1,node2,node3 loadbalancer1
129658                 salt '*' modjk.bulk_stop node1,node2,node3 loadbalancer1 other-profile
129659
129660                 salt '*' modjk.bulk_stop ["node1","node2","node3"] loadbalancer1
129661                 salt '*' modjk.bulk_stop ["node1","node2","node3"] loadbalancer1 other-profile
129662
129663       salt.modules.modjk.dump_config(profile=u'default')
129664              Dump the original configuration that was loaded from disk
129665
129666              CLI Examples:
129667
129668                 salt '*' modjk.dump_config
129669                 salt '*' modjk.dump_config other-profile
129670
129671       salt.modules.modjk.get_running(profile=u'default')
129672              Get the current running config (not from disk)
129673
129674              CLI Examples:
129675
129676                 salt '*' modjk.get_running
129677                 salt '*' modjk.get_running other-profile
129678
129679       salt.modules.modjk.lb_edit(lbn, settings, profile=u'default')
129680              Edit the loadbalancer settings
129681
129682              Note:
129683              http://tomcat.apache.org/connectors-doc/reference/status.html
129684              Data Parameters for the standard Update Action
129685
129686              CLI Examples:
129687
129688                 salt '*' modjk.lb_edit loadbalancer1 "{'vlr': 1, 'vlt': 60}"
129689                 salt '*' modjk.lb_edit loadbalancer1 "{'vlr': 1, 'vlt': 60}" other-profile
129690
129691       salt.modules.modjk.list_configured_members(lbn, profile=u'default')
129692              Return a list of member workers from the configuration files
129693
129694              CLI Examples:
129695
129696                 salt '*' modjk.list_configured_members loadbalancer1
129697                 salt '*' modjk.list_configured_members loadbalancer1 other-profile
129698
129699       salt.modules.modjk.recover_all(lbn, profile=u'default')
129700              Set  the  all the workers in lbn to recover and activate them if
129701              they are not
129702
129703              CLI Examples:
129704
129705                 salt '*' modjk.recover_all loadbalancer1
129706                 salt '*' modjk.recover_all loadbalancer1 other-profile
129707
129708       salt.modules.modjk.reset_stats(lbn, profile=u'default')
129709              Reset all runtime statistics for the load balancer
129710
129711              CLI Examples:
129712
129713                 salt '*' modjk.reset_stats loadbalancer1
129714                 salt '*' modjk.reset_stats loadbalancer1 other-profile
129715
129716       salt.modules.modjk.version(profile=u'default')
129717              Return the modjk version
129718
129719              CLI Examples:
129720
129721                 salt '*' modjk.version
129722                 salt '*' modjk.version other-profile
129723
129724       salt.modules.modjk.worker_activate(worker, lbn, profile=u'default')
129725              Set the worker to activate state in the lbn load balancer
129726
129727              CLI Examples:
129728
129729                 salt '*' modjk.worker_activate node1 loadbalancer1
129730                 salt '*' modjk.worker_activate node1 loadbalancer1 other-profile
129731
129732       salt.modules.modjk.worker_disable(worker, lbn, profile=u'default')
129733              Set the worker to disable state in the lbn load balancer
129734
129735              CLI Examples:
129736
129737                 salt '*' modjk.worker_disable node1 loadbalancer1
129738                 salt '*' modjk.worker_disable node1 loadbalancer1 other-profile
129739
129740       salt.modules.modjk.worker_edit(worker,     lbn,     settings,      pro‐
129741       file=u'default')
129742              Edit the worker settings
129743
129744              Note:
129745              http://tomcat.apache.org/connectors-doc/reference/status.html
129746              Data Parameters for the standard Update Action
129747
129748              CLI Examples:
129749
129750                 salt '*' modjk.worker_edit node1 loadbalancer1 "{'vwf': 500, 'vwd': 60}"
129751                 salt '*' modjk.worker_edit node1 loadbalancer1 "{'vwf': 500, 'vwd': 60}" other-profile
129752
129753       salt.modules.modjk.worker_recover(worker, lbn, profile=u'default')
129754              Set  the  worker to recover this module will fail if it is in OK
129755              state
129756
129757              CLI Examples:
129758
129759                 salt '*' modjk.worker_recover node1 loadbalancer1
129760                 salt '*' modjk.worker_recover node1 loadbalancer1 other-profile
129761
129762       salt.modules.modjk.worker_status(worker, profile=u'default')
129763              Return the state of the worker
129764
129765              CLI Examples:
129766
129767                 salt '*' modjk.worker_status node1
129768                 salt '*' modjk.worker_status node1 other-profile
129769
129770       salt.modules.modjk.worker_stop(worker, lbn, profile=u'default')
129771              Set the worker to stopped state in the lbn load balancer
129772
129773              CLI Examples:
129774
129775                 salt '*' modjk.worker_activate node1 loadbalancer1
129776                 salt '*' modjk.worker_activate node1 loadbalancer1 other-profile
129777
129778       salt.modules.modjk.workers(profile=u'default')
129779              Return a list of member workers and their status
129780
129781              CLI Examples:
129782
129783                 salt '*' modjk.workers
129784                 salt '*' modjk.workers other-profile
129785
129786   salt.modules.mongodb
129787       Module to provide MongoDB functionality to Salt
129788
129789       configuration
129790              This module uses PyMongo, and accepts configuration  details  as
129791              parameters as well as configuration settings:
129792
129793                 mongodb.host: 'localhost'
129794                 mongodb.port: 27017
129795                 mongodb.user: ''
129796                 mongodb.password: ''
129797
129798              This  data  can  also be passed into pillar. Options passed into
129799              opts will overwrite options passed into pillar.
129800
129801       salt.modules.mongodb.db_exists(name,     user=None,      password=None,
129802       host=None, port=None, authdb=None)
129803              Checks if a database exists in MongoDB
129804
129805              CLI Example:
129806
129807                 salt '*' mongodb.db_exists <name> <user> <password> <host> <port>
129808
129809       salt.modules.mongodb.db_list(user=None,    password=None,    host=None,
129810       port=None, authdb=None)
129811              List all MongoDB databases
129812
129813              CLI Example:
129814
129815                 salt '*' mongodb.db_list <user> <password> <host> <port>
129816
129817       salt.modules.mongodb.db_remove(name,     user=None,      password=None,
129818       host=None, port=None, authdb=None)
129819              Remove a MongoDB database
129820
129821              CLI Example:
129822
129823                 salt '*' mongodb.db_remove <name> <user> <password> <host> <port>
129824
129825       salt.modules.mongodb.find(collection,   query=None,   user=None,  pass‐
129826       word=None, host=None, port=None, database=u'admin', authdb=None)
129827              Find an object or list of objects in a collection
129828
129829              CLI Example:
129830
129831                 salt '*' mongodb.find mycollection '[{"foo": "FOO", "bar": "BAR"}]' <user> <password> <host> <port> <database>
129832
129833       salt.modules.mongodb.insert(objects,   collection,   user=None,   pass‐
129834       word=None, host=None, port=None, database=u'admin', authdb=None)
129835              Insert an object or list of objects into a collection
129836
129837              CLI Example:
129838
129839                 salt '*' mongodb.insert '[{"foo": "FOO", "bar": "BAR"}, {"foo": "BAZ", "bar": "BAM"}]' mycollection <user> <password> <host> <port> <database>
129840
129841       salt.modules.mongodb.remove(collection,  query=None,  user=None,  pass‐
129842       word=None, host=None, port=None, database=u'admin', w=1, authdb=None)
129843              Remove an object or list of objects into a collection
129844
129845              CLI Example:
129846
129847                 salt '*' mongodb.remove mycollection '[{"foo": "FOO", "bar": "BAR"}, {"foo": "BAZ", "bar": "BAM"}]' <user> <password> <host> <port> <database>
129848
129849       salt.modules.mongodb.update_one(objects, collection,  user=None,  pass‐
129850       word=None, host=None, port=None, database=u'admin', authdb=None)
129851              Update       an       object       into       a       collection
129852              http://api.mongodb.com/python/current/api/pymongo/collection.html#pymongo.collection.Collection.update_one
129853
129854              New in version 2016.11.0.
129855
129856
129857              CLI Example:
129858
129859                 salt '*' mongodb.update_one '{"_id": "my_minion"} {"bar": "BAR"}' mycollection <user> <password> <host> <port> <database>
129860
129861       salt.modules.mongodb.user_create(name,    passwd,    user=None,   pass‐
129862       word=None,  host=None,   port=None,   database=u'admin',   authdb=None,
129863       roles=None)
129864              Create a MongoDB user
129865
129866              CLI Example:
129867
129868                 salt '*' mongodb.user_create <user_name> <user_password> <roles> <user> <password> <host> <port> <database>
129869
129870       salt.modules.mongodb.user_exists(name,     user=None,    password=None,
129871       host=None, port=None, database=u'admin', authdb=None)
129872              Checks if a user exists in MongoDB
129873
129874              CLI Example:
129875
129876                 salt '*' mongodb.user_exists <name> <user> <password> <host> <port> <database>
129877
129878       salt.modules.mongodb.user_find(name,     user=None,      password=None,
129879       host=None, port=None, database=u'admin', authdb=None)
129880              Get single user from MongoDB
129881
129882              CLI Example:
129883
129884                 salt '*' mongodb.user_find <name> <user> <password> <host> <port> <database> <authdb>
129885
129886       salt.modules.mongodb.user_grant_roles(name, roles, database, user=None,
129887       password=None, host=None, port=None, authdb=None)
129888              Grant one or many roles to a MongoDB user
129889
129890              CLI Examples:
129891
129892                 salt '*' mongodb.user_grant_roles johndoe '["readWrite"]' dbname admin adminpwd localhost 27017
129893
129894                 salt '*' mongodb.user_grant_roles janedoe '[{"role": "readWrite", "db": "dbname" }, {"role": "read", "db": "otherdb"}]' dbname admin adminpwd localhost 27017
129895
129896       salt.modules.mongodb.user_list(user=None,   password=None,   host=None,
129897       port=None, database=u'admin', authdb=None)
129898              List users of a MongoDB database
129899
129900              CLI Example:
129901
129902                 salt '*' mongodb.user_list <user> <password> <host> <port> <database>
129903
129904       salt.modules.mongodb.user_remove(name,     user=None,    password=None,
129905       host=None, port=None, database=u'admin', authdb=None)
129906              Remove a MongoDB user
129907
129908              CLI Example:
129909
129910                 salt '*' mongodb.user_remove <name> <user> <password> <host> <port> <database>
129911
129912       salt.modules.mongodb.user_revoke_roles(name,      roles,      database,
129913       user=None, password=None, host=None, port=None, authdb=None)
129914              Revoke one or many roles to a MongoDB user
129915
129916              CLI Examples:
129917
129918                 salt '*' mongodb.user_revoke_roles johndoe '["readWrite"]' dbname admin adminpwd localhost 27017
129919
129920                 salt '*' mongodb.user_revoke_roles janedoe '[{"role": "readWrite", "db": "dbname" }, {"role": "read", "db": "otherdb"}]' dbname admin adminpwd localhost 27017
129921
129922       salt.modules.mongodb.user_roles_exists(name,      roles,      database,
129923       user=None, password=None, host=None, port=None, authdb=None)
129924              Checks if a user of a MongoDB database has specified roles
129925
129926              CLI Examples:
129927
129928                 salt '*' mongodb.user_roles_exists johndoe '["readWrite"]' dbname admin adminpwd localhost 27017
129929
129930                 salt '*' mongodb.user_roles_exists johndoe '[{"role": "readWrite", "db": "dbname" }, {"role": "read", "db": "otherdb"}]' dbname admin adminpwd localhost 27017
129931
129932       salt.modules.mongodb.version(user=None,    password=None,    host=None,
129933       port=None, database=u'admin', authdb=None)
129934              Get MongoDB instance version
129935
129936              CLI Example:
129937
129938                 salt '*' mongodb.version <user> <password> <host> <port> <database>
129939
129940   salt.modules.monit
129941       Monit  service  module.  This  module  will create a monit type service
129942       watcher.
129943
129944       salt.modules.monit.configtest()
129945              New in version 2016.3.0.
129946
129947
129948              Test monit configuration syntax
129949
129950              CLI Example:
129951
129952                 salt '*' monit.configtest
129953
129954       salt.modules.monit.id_(reset=False)
129955              New in version 2016.3.0.
129956
129957
129958              Return monit unique id.
129959
129960              reset  False Reset current id and generate a new  id  when  it's
129961                     True.
129962
129963              CLI Example:
129964
129965                 salt '*' monit.id [reset=True]
129966
129967       salt.modules.monit.monitor(name)
129968              monitor service via monit
129969
129970              CLI Example:
129971
129972                 salt '*' monit.monitor <service name>
129973
129974       salt.modules.monit.reload_()
129975              New in version 2016.3.0.
129976
129977
129978              Reload monit configuration
129979
129980              CLI Example:
129981
129982                 salt '*' monit.reload
129983
129984       salt.modules.monit.restart(name)
129985              Restart service via monit
129986
129987              CLI Example:
129988
129989                 salt '*' monit.restart <service name>
129990
129991       salt.modules.monit.start(name)
129992              CLI Example:
129993
129994                 salt '*' monit.start <service name>
129995
129996       salt.modules.monit.status(svc_name=u'')
129997              Display a process status from monit
129998
129999              CLI Example:
130000
130001                 salt '*' monit.status
130002                 salt '*' monit.status <service name>
130003
130004       salt.modules.monit.stop(name)
130005              Stops service via monit
130006
130007              CLI Example:
130008
130009                 salt '*' monit.stop <service name>
130010
130011       salt.modules.monit.summary(svc_name=u'')
130012              Display a summary from monit
130013
130014              CLI Example:
130015
130016                 salt '*' monit.summary
130017                 salt '*' monit.summary <service name>
130018
130019       salt.modules.monit.unmonitor(name)
130020              Unmonitor service via monit
130021
130022              CLI Example:
130023
130024                 salt '*' monit.unmonitor <service name>
130025
130026       salt.modules.monit.validate()
130027              New in version 2016.3.0.
130028
130029
130030              Check all services
130031
130032              CLI Example:
130033
130034                 salt '*' monit.validate
130035
130036       salt.modules.monit.version()
130037              New in version 2016.3.0.
130038
130039
130040              Return version from monit -V
130041
130042              CLI Example:
130043
130044                 salt '*' monit.version
130045
130046   salt.modules.moosefs
130047       Module for gathering and managing information about MooseFS
130048
130049       salt.modules.moosefs.dirinfo(path, opts=None)
130050              Return information on a directory located on the Moose
130051
130052              CLI Example:
130053
130054                 salt '*' moosefs.dirinfo /path/to/dir/ [-[n][h|H]]
130055
130056       salt.modules.moosefs.fileinfo(path)
130057              Return information on a file located on the Moose
130058
130059              CLI Example:
130060
130061                 salt '*' moosefs.fileinfo /path/to/dir/
130062
130063       salt.modules.moosefs.getgoal(path, opts=None)
130064              Return goal(s) for a file or directory
130065
130066              CLI Example:
130067
130068                 salt '*' moosefs.getgoal /path/to/file [-[n][h|H]]
130069                 salt '*' moosefs.getgoal /path/to/dir/ [-[n][h|H][r]]
130070
130071       salt.modules.moosefs.mounts()
130072              Return a list of current MooseFS mounts
130073
130074              CLI Example:
130075
130076                 salt '*' moosefs.mounts
130077
130078   salt.modules.mount
130079       Salt module to manage Unix mounts and the fstab file
130080
130081       salt.modules.mount.active(extended=False)
130082              List the active mounts.
130083
130084              CLI Example:
130085
130086                 salt '*' mount.active
130087
130088       salt.modules.mount.automaster(config=u'/etc/auto_salt')
130089              List the contents of the auto master
130090
130091              CLI Example:
130092
130093                 salt '*' mount.automaster
130094
130095       salt.modules.mount.delete_mount_cache(real_name)
130096              New in version 2018.3.0.
130097
130098
130099              Provide information if the path is mounted
130100
130101              CLI Example:
130102
130103                 salt '*' mount.delete_mount_cache /mnt/share
130104
130105       salt.modules.mount.filesystems(config=u'/etc/filesystems')
130106              New in version 2018.3.3.
130107
130108
130109              List the contents of the filesystems
130110
130111              CLI Example:
130112
130113                 salt '*' mount.filesystems
130114
130115       salt.modules.mount.fstab(config=u'/etc/fstab')
130116              Changed in version 2016.3.2.
130117
130118
130119              List the contents of the fstab
130120
130121              CLI Example:
130122
130123                 salt '*' mount.fstab
130124
130125       salt.modules.mount.is_fuse_exec(cmd)
130126              Returns  true if the command passed is a fuse mountable applica‐
130127              tion.
130128
130129              CLI Example:
130130
130131                 salt '*' mount.is_fuse_exec sshfs
130132
130133       salt.modules.mount.is_mounted(name)
130134              New in version 2014.7.0.
130135
130136
130137              Provide information if the path is mounted
130138
130139              CLI Example:
130140
130141                 salt '*' mount.is_mounted /mnt/share
130142
130143       salt.modules.mount.mount(name,   device,    mkmnt=False,    fstype=u'',
130144       opts=u'defaults', user=None, util=u'mount')
130145              Mount a device
130146
130147              CLI Example:
130148
130149                 salt '*' mount.mount /mnt/foo /dev/sdz1 True
130150
130151       salt.modules.mount.read_mount_cache(name)
130152              New in version 2018.3.0.
130153
130154
130155              Provide information if the path is mounted
130156
130157              CLI Example:
130158
130159                 salt '*' mount.read_mount_cache /mnt/share
130160
130161       salt.modules.mount.remount(name,   device,   mkmnt=False,   fstype=u'',
130162       opts=u'defaults', user=None)
130163              Attempt to remount a  device,  if  the  device  is  not  already
130164              mounted, mount is called
130165
130166              CLI Example:
130167
130168                 salt '*' mount.remount /mnt/foo /dev/sdz1 True
130169
130170       salt.modules.mount.rm_automaster(name,           device,           con‐
130171       fig=u'/etc/auto_salt')
130172              Remove the mount point from the auto_master
130173
130174              CLI Example:
130175
130176                 salt '*' mount.rm_automaster /mnt/foo /dev/sdg
130177
130178       salt.modules.mount.rm_filesystems(name, device,  config=u'/etc/filesys‐
130179       tems')
130180              New in version 2018.3.3.
130181
130182
130183              Remove the mount point from the filesystems
130184
130185              CLI Example:
130186
130187                 salt '*' mount.rm_filesystems /mnt/foo /dev/sdg
130188
130189       salt.modules.mount.rm_fstab(name, device, config=u'/etc/fstab')
130190              Changed in version 2016.3.2.
130191
130192
130193              Remove the mount point from the fstab
130194
130195              CLI Example:
130196
130197                 salt '*' mount.rm_fstab /mnt/foo /dev/sdg
130198
130199       salt.modules.mount.rm_vfstab(name, device, config=u'/etc/vfstab')
130200              New in version 2016.3.2.
130201
130202
130203              Remove the mount point from the vfstab
130204
130205              CLI Example:
130206
130207                 salt '*' mount.rm_vfstab /mnt/foo /device/c0t0d0p0
130208
130209       salt.modules.mount.set_automaster(name,  device, fstype, opts=u'', con‐
130210       fig=u'/etc/auto_salt', test=False, **kwargs)
130211              Verify that this mount is represented in the  auto_salt,  change
130212              the  mount  to  match the data passed, or add the mount if it is
130213              not present.
130214
130215              CLI Example:
130216
130217                 salt '*' mount.set_automaster /mnt/foo /dev/sdz1 ext4
130218
130219       salt.modules.mount.set_filesystems(name,  device,  vfstype,  opts=u'-',
130220       mount=u'true',          config=u'/etc/filesystems',         test=False,
130221       match_on=u'auto', **kwargs)
130222              New in version 2018.3.3.
130223
130224
130225              Verify that this mount is represented in the filesystems, change
130226              the  mount  to  match the data passed, or add the mount if it is
130227              not present on AIX
130228                 Provide information if the path is mounted
130229
130230              Parameters
130231
130232                     · name -- The name of the mount point where the device is
130233                       mounted.
130234
130235                     · device -- The device that is being mounted.
130236
130237                     · vfstype  --  The  file system that is used (AIX has two
130238                       fstypes, fstype and vfstype - similar to Linux fstype)
130239
130240                     · opts --  Additional  options  used  when  mounting  the
130241                       device.
130242
130243                     · mount -- Mount if not mounted, default True.
130244
130245                     · config -- Configuration file, default /etc/filesystems.
130246
130247                     · match -- File systems type to match on, default auto
130248
130249              CLI Example:
130250
130251                 salt '*' mount.set_filesystems /mnt/foo /dev/sdz1 jfs2
130252
130253       salt.modules.mount.set_fstab(name,  device,  fstype,  opts=u'defaults',
130254       dump=0, pass_num=0, config=u'/etc/fstab', test=False, match_on=u'auto',
130255       **kwargs)
130256              Verify  that  this mount is represented in the fstab, change the
130257              mount to match the data passed, or add the mount if  it  is  not
130258              present.
130259
130260              CLI Example:
130261
130262                 salt '*' mount.set_fstab /mnt/foo /dev/sdz1 ext4
130263
130264       salt.modules.mount.set_vfstab(name,    device,    fstype,    opts=u'-',
130265       device_fsck=u'-',    pass_fsck=u'-',     mount_at_boot=u'yes',     con‐
130266       fig=u'/etc/vfstab', test=False, match_on=u'auto', **kwargs)
130267              ..verionadded::  2016.3.2  Verify that this mount is represented
130268              in the fstab, change the mount to match the data passed, or  add
130269              the mount if it is not present.
130270
130271              CLI Example:
130272
130273                 salt '*' mount.set_vfstab /mnt/foo /device/c0t0d0p0 ufs
130274
130275       salt.modules.mount.swapoff(name)
130276              Deactivate a named swap mount
130277
130278              Changed in version 2016.3.2.
130279
130280
130281              CLI Example:
130282
130283                 salt '*' mount.swapoff /root/swapfile
130284
130285       salt.modules.mount.swapon(name, priority=None)
130286              Activate a swap disk
130287
130288              Changed in version 2016.3.2.
130289
130290
130291              CLI Example:
130292
130293                 salt '*' mount.swapon /root/swapfile
130294
130295       salt.modules.mount.swaps()
130296              Return a dict containing information on active swap
130297
130298              Changed in version 2016.3.2.
130299
130300
130301              CLI Example:
130302
130303                 salt '*' mount.swaps
130304
130305       salt.modules.mount.umount(name, device=None, user=None, util=u'mount')
130306              Attempt  to  unmount  a device by specifying the directory it is
130307              mounted on
130308
130309              CLI Example:
130310
130311                 salt '*' mount.umount /mnt/foo
130312
130313              New in version 2015.5.0.
130314
130315
130316                 salt '*' mount.umount /mnt/foo /dev/xvdc1
130317
130318       salt.modules.mount.vfstab(config=u'/etc/vfstab')
130319              New in version 2016.3.2.
130320
130321
130322              List the contents of the vfstab
130323
130324              CLI Example:
130325
130326                 salt '*' mount.vfstab
130327
130328       salt.modules.mount.write_mount_cache(real_name, device, mkmnt,  fstype,
130329       mount_opts)
130330              New in version 2018.3.0.
130331
130332
130333              Provide information if the path is mounted
130334
130335              Parameters
130336
130337                     · real_name -- The real name of the mount point where the
130338                       device is mounted.
130339
130340                     · device -- The device that is being mounted.
130341
130342                     · mkmnt -- Whether or not the mount point should be  cre‐
130343                       ated.
130344
130345                     · fstype -- The file system that is used.
130346
130347                     · mount_opts -- Additional options used when mounting the
130348                       device.
130349
130350              Returns
130351                     Boolean if message was sent successfully.
130352
130353              CLI Example:
130354
130355                 salt '*' mount.write_mount_cache /mnt/share /dev/sda1 False ext4 defaults,nosuid
130356
130357   salt.modules.mssql
130358       Module to provide MS SQL Server compatibility to salt.
130359
130360       depends
130361
130362              · FreeTDS
130363
130364              · pymssql Python module
130365
130366       configuration
130367              In order to connect to MS SQL Server, certain  configuration  is
130368              required in minion configs/pillars on the relevant minions. Some
130369              sample pillars might look like:
130370
130371                 mssql.server: 'localhost'
130372                 mssql.port:   1433
130373                 mssql.user:   'sysdba'
130374                 mssql.password:   'Some preferable complex password'
130375                 mssql.database: ''
130376
130377              The default for the port is '1433' and for the  database  is  ''
130378              (empty  string);  in  most cases they can be left at the default
130379              setting.  Options that are directly passed into  functions  will
130380              overwrite options from configs or pillars.
130381
130382       salt.modules.mssql.db_create(database,  containment=u'NONE',  new_data‐
130383       base_options=None, **kwargs)
130384              Creates a new database.  Does not  update  options  of  existing
130385              databases.  new_database_options can only be a list of strings
130386
130387              CLI Example:
130388
130389                 salt minion mssql.db_create DB_NAME
130390
130391       salt.modules.mssql.db_exists(database_name, **kwargs)
130392              Find if a specific database exists on the MS SQL server.
130393
130394              CLI Example:
130395
130396                 salt minion mssql.db_exists database_name='DBNAME'
130397
130398       salt.modules.mssql.db_list(**kwargs)
130399              Return the database list created on a MS SQL server.
130400
130401              CLI Example:
130402
130403                 salt minion mssql.db_list
130404
130405       salt.modules.mssql.db_remove(database_name, **kwargs)
130406              Drops  a  specific database from the MS SQL server.  It will not
130407              drop any of 'master', 'model', 'msdb' or 'tempdb'.
130408
130409              CLI Example:
130410
130411                 salt minion mssql.db_remove database_name='DBNAME'
130412
130413       salt.modules.mssql.login_create(login,         new_login_password=None,
130414       new_login_domain=u'',   new_login_roles=None,   new_login_options=None,
130415       **kwargs)
130416              Creates a new login.   Does  not  update  password  of  existing
130417              logins.   For  Windows authentication, provide new_login_domain.
130418              For SQL Server authentication, prvide new_login_password.  Since
130419              hashed passwords are varbinary values, if the new_login_password
130420              is 'int / long', it will be considered to be HASHED.
130421
130422              new_login_roles
130423                     a list of SERVER roles
130424
130425              new_login_options
130426                     a list of strings
130427
130428              CLI Example:
130429
130430                 salt minion mssql.login_create LOGIN_NAME database=DBNAME [new_login_password=PASSWORD]
130431
130432       salt.modules.mssql.login_exists(login, domain=u'', **kwargs)
130433              Find if a login exists in the MS SQL server.   domain,  if  pro‐
130434              vided, will be prepended to login
130435
130436              CLI Example:
130437
130438                 salt minion mssql.login_exists 'LOGIN'
130439
130440       salt.modules.mssql.login_remove(login, **kwargs)
130441              Removes an login.
130442
130443              CLI Example:
130444
130445                 salt minion mssql.login_remove LOGINNAME
130446
130447       salt.modules.mssql.role_create(role, owner=None, grants=None, **kwargs)
130448              Creates a new database role.  If no owner is specified, the role
130449              will be owned by the user that executes CREATE  ROLE,  which  is
130450              the  user  argument  or  mssql.user  option.   grants is list of
130451              strings.
130452
130453              CLI Example:
130454
130455                 salt minion mssql.role_create role=product01 owner=sysdba grants='["SELECT", "INSERT", "UPDATE", "DELETE", "EXECUTE"]'
130456
130457       salt.modules.mssql.role_exists(role, **kwargs)
130458              Checks if a role exists.
130459
130460              CLI Example:
130461
130462                 salt minion mssql.role_exists db_owner
130463
130464       salt.modules.mssql.role_list(**kwargs)
130465              Lists database roles.
130466
130467              CLI Example:
130468
130469                 salt minion mssql.role_list
130470
130471       salt.modules.mssql.role_remove(role, **kwargs)
130472              Remove a database role.
130473
130474              CLI Example:
130475
130476                 salt minion mssql.role_create role=test_role01
130477
130478       salt.modules.mssql.tsql_query(query, **kwargs)
130479              Run a SQL query and return query result as list of tuples, or  a
130480              list  of dictionaries if as_dict was passed, or an empty list if
130481              no data is available.
130482
130483              CLI Example:
130484
130485                 salt minion mssql.tsql_query 'SELECT @@version as version' as_dict=True
130486
130487       salt.modules.mssql.user_create(username, login=None, domain=u'',  data‐
130488       base=None, roles=None, options=None, **kwargs)
130489              Creates a new user.  If login is not specified, the user will be
130490              created without a login.  domain, if provided, will be prepended
130491              to username.  options can only be a list of strings
130492
130493              CLI Example:
130494
130495                 salt minion mssql.user_create USERNAME database=DBNAME
130496
130497       salt.modules.mssql.user_exists(username,   domain=u'',   database=None,
130498       **kwargs)
130499              Find if an user exists in a specific  database  on  the  MS  SQL
130500              server.  domain, if provided, will be prepended to username
130501
130502              CLI Example:
130503
130504                 salt minion mssql.user_exists 'USERNAME' [database='DBNAME']
130505
130506       salt.modules.mssql.user_list(**kwargs)
130507              Get the user list for a specific database on the MS SQL server.
130508
130509              CLI Example:
130510
130511                 salt minion mssql.user_list [database='DBNAME']
130512
130513       salt.modules.mssql.user_remove(username, **kwargs)
130514              Removes an user.
130515
130516              CLI Example:
130517
130518                 salt minion mssql.user_remove USERNAME database=DBNAME
130519
130520       salt.modules.mssql.version(**kwargs)
130521              Return the version of a MS SQL server.
130522
130523              CLI Example:
130524
130525                 salt minion mssql.version
130526
130527   salt.modules.msteams module
130528       Module for sending messages to MS Teams
130529
130530       New in version 2017.7.0.
130531
130532
130533       configuration
130534              This module can be used by either passing a hook_url directly or
130535              by specifying it in a configuration profile  in  the  salt  mas‐
130536              ter/minion config. For example:
130537
130538          msteams:
130539            hook_url: https://outlook.office.com/webhook/837
130540
130541       salt.modules.msteams.post_card(message,    hook_url=None,   title=None,
130542       theme_color=None)
130543              Send a message to an MS Teams channel.  :param message:      The
130544              message  to  send  to  the  MS  Teams channel.  :param hook_url:
130545              The Teams webhook URL, if not specified  in  the  configuration.
130546              :param  title:        Optional  title for the posted card :param
130547              theme_color:  Optional hex color highlight for the  posted  card
130548              :return:            Boolean if message was sent successfully.
130549
130550              CLI Example:
130551
130552                 salt '*' msteams.post_card message="Build is done"
130553
130554   salt.modules.munin
130555       Run munin plugins/checks from salt and format the output as data.
130556
130557       salt.modules.munin.list_plugins()
130558              List all the munin plugins
130559
130560              CLI Example:
130561
130562                 salt '*' munin.list_plugins
130563
130564       salt.modules.munin.run(plugins)
130565              Run one or more named munin plugins
130566
130567              CLI Example:
130568
130569                 salt '*' munin.run uptime
130570                 salt '*' munin.run uptime,cpu,load,memory
130571
130572       salt.modules.munin.run_all()
130573              Run all the munin plugins
130574
130575              CLI Example:
130576
130577                 salt '*' munin.run_all
130578
130579   salt.modules.mysql
130580       Module to provide MySQL compatibility to salt.
130581
130582       depends
130583
130584              · MySQLdb Python module
130585
130586       NOTE:
130587          On   CentOS   5   (and   possibly  RHEL  5)  both  MySQL-python  and
130588          python26-mysqldb need to be installed.
130589
130590       configuration
130591              In order to connect to MySQL, certain configuration is  required
130592              in /etc/salt/minion on the relevant minions. Some sample configs
130593              might look like:
130594
130595                 mysql.host: 'localhost'
130596                 mysql.port: 3306
130597                 mysql.user: 'root'
130598                 mysql.pass: ''
130599                 mysql.db: 'mysql'
130600                 mysql.unix_socket: '/tmp/mysql.sock'
130601                 mysql.charset: 'utf8'
130602
130603              You can also use a defaults file:
130604
130605                 mysql.default_file: '/etc/mysql/debian.cnf'
130606
130607       Changed in version 2014.1.0: 'charset' connection argument added.  This
130608       is a MySQL charset, not a python one.
130609
130610
130611       Changed  in version 0.16.2: Connection arguments from the minion config
130612       file can be overridden on the CLI by using the arguments defined  here.
130613       Additionally, it is now possible to setup a user with no password.
130614
130615
130616       salt.modules.mysql.alter_db(name,   character_set=None,   collate=None,
130617       **connection_args)
130618              Modify database using ALTER DATABASE  %(dbname)s  CHARACTER  SET
130619              %(charset)s COLLATE %(collation)s; query.
130620
130621              CLI Example:
130622
130623                 salt '*' mysql.alter_db testdb charset='latin1'
130624
130625       salt.modules.mysql.db_check(name, table=None, **connection_args)
130626              Repairs the full database or just a given table
130627
130628              CLI Example:
130629
130630                 salt '*' mysql.db_check dbname
130631                 salt '*' mysql.db_check dbname dbtable
130632
130633       salt.modules.mysql.db_create(name,   character_set=None,  collate=None,
130634       **connection_args)
130635              Adds a databases to the MySQL server.
130636
130637              name   The name of the database to manage
130638
130639              character_set
130640                     The character set, if left empty the MySQL  default  will
130641                     be used
130642
130643              collate
130644                     The  collation,  if  left empty the MySQL default will be
130645                     used
130646
130647              CLI Example:
130648
130649                 salt '*' mysql.db_create 'dbname'
130650                 salt '*' mysql.db_create 'dbname' 'utf8' 'utf8_general_ci'
130651
130652       salt.modules.mysql.db_exists(name, **connection_args)
130653              Checks if a database exists on the MySQL server.
130654
130655              CLI Example:
130656
130657                 salt '*' mysql.db_exists 'dbname'
130658
130659       salt.modules.mysql.db_get(name, **connection_args)
130660              Return a list of databases of a MySQL server  using  the  output
130661              from   the   SELECT  DEFAULT_CHARACTER_SET_NAME,  DEFAULT_COLLA‐
130662              TION_NAME      FROM      INFORMATION_SCHEMA.SCHEMATA       WHERE
130663              SCHEMA_NAME='dbname'; query.
130664
130665              CLI Example:
130666
130667                 salt '*' mysql.db_get test
130668
130669       salt.modules.mysql.db_list(**connection_args)
130670              Return  a  list  of databases of a MySQL server using the output
130671              from the SHOW DATABASES query.
130672
130673              CLI Example:
130674
130675                 salt '*' mysql.db_list
130676
130677       salt.modules.mysql.db_optimize(name, table=None, **connection_args)
130678              Optimizes the full database or just a given table
130679
130680              CLI Example:
130681
130682                 salt '*' mysql.db_optimize dbname
130683
130684       salt.modules.mysql.db_remove(name, **connection_args)
130685              Removes a databases from the MySQL server.
130686
130687              CLI Example:
130688
130689                 salt '*' mysql.db_remove 'dbname'
130690
130691       salt.modules.mysql.db_repair(name, table=None, **connection_args)
130692              Repairs the full database or just a given table
130693
130694              CLI Example:
130695
130696                 salt '*' mysql.db_repair dbname
130697
130698       salt.modules.mysql.db_tables(name, **connection_args)
130699              Shows the tables in the given MySQL database (if exists)
130700
130701              CLI Example:
130702
130703                 salt '*' mysql.db_tables 'database'
130704
130705       salt.modules.mysql.file_query(database, file_name, **connection_args)
130706              Run an arbitrary SQL query from the specified  file  and  return
130707              the the number of affected rows.
130708
130709              New in version 2017.7.0.
130710
130711
130712              database
130713                 database to run script inside
130714
130715              file_name
130716                 File  name  of  the  script.  This can be on the minion, or a
130717                 file that is reachable by the fileserver
130718
130719              CLI Example:
130720
130721                 salt '*' mysql.file_query mydb file_name=/tmp/sqlfile.sql
130722                 salt '*' mysql.file_query mydb file_name=salt://sqlfile.sql
130723
130724              Return data:
130725
130726                 {'query time': {'human': '39.0ms', 'raw': '0.03899'}, 'rows affected': 1L}
130727
130728       salt.modules.mysql.free_slave(**connection_args)
130729              Frees a slave from its master.  This is a WIP, do not use.
130730
130731              CLI Example:
130732
130733                 salt '*' mysql.free_slave
130734
130735       salt.modules.mysql.get_master_status(**connection_args)
130736              Retrieves the master status from the minion.
130737
130738              Returns:
130739
130740                 {'host.domain.com': {'Binlog_Do_DB': '',
130741                                  'Binlog_Ignore_DB': '',
130742                                  'File': 'mysql-bin.000021',
130743                                  'Position': 107}}
130744
130745              CLI Example:
130746
130747                 salt '*' mysql.get_master_status
130748
130749       salt.modules.mysql.get_slave_status(**connection_args)
130750              Retrieves the slave status from the minion.
130751
130752              Returns:
130753
130754                 {'host.domain.com': {'Connect_Retry': 60,
130755                                'Exec_Master_Log_Pos': 107,
130756                                'Last_Errno': 0,
130757                                'Last_Error': '',
130758                                'Last_IO_Errno': 0,
130759                                'Last_IO_Error': '',
130760                                'Last_SQL_Errno': 0,
130761                                'Last_SQL_Error': '',
130762                                'Master_Host': 'comet.scion-eng.com',
130763                                'Master_Log_File': 'mysql-bin.000021',
130764                                'Master_Port': 3306,
130765                                'Master_SSL_Allowed': 'No',
130766                                'Master_SSL_CA_File': '',
130767                                'Master_SSL_CA_Path': '',
130768                                'Master_SSL_Cert': '',
130769                                'Master_SSL_Cipher': '',
130770                                'Master_SSL_Key': '',
130771                                'Master_SSL_Verify_Server_Cert': 'No',
130772                                'Master_Server_Id': 1,
130773                                'Master_User': 'replu',
130774                                'Read_Master_Log_Pos': 107,
130775                                'Relay_Log_File': 'klo-relay-bin.000071',
130776                                'Relay_Log_Pos': 253,
130777                                'Relay_Log_Space': 553,
130778                                'Relay_Master_Log_File': 'mysql-bin.000021',
130779                                'Replicate_Do_DB': '',
130780                                'Replicate_Do_Table': '',
130781                                'Replicate_Ignore_DB': '',
130782                                'Replicate_Ignore_Server_Ids': '',
130783                                'Replicate_Ignore_Table': '',
130784                                'Replicate_Wild_Do_Table': '',
130785                                'Replicate_Wild_Ignore_Table': '',
130786                                'Seconds_Behind_Master': 0,
130787                                'Skip_Counter': 0,
130788                                'Slave_IO_Running': 'Yes',
130789                                'Slave_IO_State': 'Waiting for master to send event',
130790                                'Slave_SQL_Running': 'Yes',
130791                                'Until_Condition': 'None',
130792                                'Until_Log_File': '',
130793                                'Until_Log_Pos': 0}}
130794
130795              CLI Example:
130796
130797                 salt '*' mysql.get_slave_status
130798
130799       salt.modules.mysql.grant_add(grant, database, user,  host=u'localhost',
130800       grant_option=False, escape=True, ssl_option=False, **connection_args)
130801              Adds a grant to the MySQL server.
130802
130803              For database, make sure you specify database.table or database.*
130804
130805              CLI Example:
130806
130807                 salt '*' mysql.grant_add             'SELECT,INSERT,UPDATE,...' 'database.*' 'frank' 'localhost'
130808
130809       salt.modules.mysql.grant_exists(grant,  database,  user,  host=u'local‐
130810       host', grant_option=False, escape=True, **connection_args)
130811              Checks to see if a grant exists in the database
130812
130813              CLI Example:
130814
130815                 salt '*' mysql.grant_exists              'SELECT,INSERT,UPDATE,...' 'database.*' 'frank' 'localhost'
130816
130817       salt.modules.mysql.grant_revoke(grant,  database,  user,  host=u'local‐
130818       host', grant_option=False, escape=True, **connection_args)
130819              Removes a grant from the MySQL server.
130820
130821              CLI Example:
130822
130823                 salt '*' mysql.grant_revoke             'SELECT,INSERT,UPDATE' 'database.*' 'frank' 'localhost'
130824
130825       salt.modules.mysql.processlist(**connection_args)
130826              Retrieves  the  processlist from the MySQL server via "SHOW FULL
130827              PROCESSLIST".
130828
130829              Returns: a list of dicts, with each dict representing a process:
130830
130831                 {'Command': 'Query',
130832                 'Host': 'localhost',
130833                 'Id': 39,
130834                 'Info': 'SHOW FULL PROCESSLIST',
130835                 'Rows_examined': 0,
130836                 'Rows_read': 1,
130837                 'Rows_sent': 0,
130838                 'State': None,
130839                 'Time': 0,
130840                 'User': 'root',
130841                 'db': 'mysql'}
130842
130843              CLI Example:
130844
130845                 salt '*' mysql.processlist
130846
130847       salt.modules.mysql.query(database, query, **connection_args)
130848              Run an arbitrary SQL query and return the results or the  number
130849              of affected rows.
130850
130851              CLI Example:
130852
130853                 salt '*' mysql.query mydb "UPDATE mytable set myfield=1 limit 1"
130854
130855              Return data:
130856
130857                 {'query time': {'human': '39.0ms', 'raw': '0.03899'}, 'rows affected': 1L}
130858
130859              CLI Example:
130860
130861                 salt '*' mysql.query mydb "SELECT id,name,cash from users limit 3"
130862
130863              Return data:
130864
130865                 {'columns': ('id', 'name', 'cash'),
130866                     'query time': {'human': '1.0ms', 'raw': '0.001'},
130867                     'results': ((1L, 'User 1', Decimal('110.000000')),
130868                                 (2L, 'User 2', Decimal('215.636756')),
130869                                 (3L, 'User 3', Decimal('0.040000'))),
130870                     'rows returned': 3L}
130871
130872              CLI Example:
130873
130874                 salt '*' mysql.query mydb 'INSERT into users values (null,"user 4", 5)'
130875
130876              Return data:
130877
130878                 {'query time': {'human': '25.6ms', 'raw': '0.02563'}, 'rows affected': 1L}
130879
130880              CLI Example:
130881
130882                 salt '*' mysql.query mydb 'DELETE from users where id = 4 limit 1'
130883
130884              Return data:
130885
130886                 {'query time': {'human': '39.0ms', 'raw': '0.03899'}, 'rows affected': 1L}
130887
130888              Jinja  Example:  Run  a  query on mydb and use row 0, column 0's
130889              data.
130890
130891                 {{ salt['mysql.query']('mydb', 'SELECT info from mytable limit 1')['results'][0][0] }}
130892
130893       salt.modules.mysql.quote_identifier(identifier, for_grants=False)
130894              Return an identifier name (column, table, database, etc) escaped
130895              for MySQL
130896
130897              This means surrounded by "`" character and escaping this charac‐
130898              ter inside.  It  also  means  doubling  the  '%'  character  for
130899              MySQLdb internal usage.
130900
130901              Parameters
130902
130903                     · identifier -- the table, column or database identifier
130904
130905                     · for_grants  -- is False by default, when using database
130906                       names on grant queries you should set  it  to  True  to
130907                       also  escape  "_"  and  "%"  characters as requested by
130908                       MySQL. Note  that  theses  characters  should  only  be
130909                       escaped  when  requesting  grants on the database level
130910                       (my_%db.*)   but   not   for   table    level    grants
130911                       (my_%db.`foo`)
130912
130913              CLI Example:
130914
130915                 salt '*' mysql.quote_identifier 'foo`bar'
130916
130917       salt.modules.mysql.showglobal(**connection_args)
130918              Retrieves the show global variables from the minion.
130919
130920              Returns::
130921                     show global variables full dict
130922
130923              CLI Example:
130924
130925                 salt '*' mysql.showglobal
130926
130927       salt.modules.mysql.showvariables(**connection_args)
130928              Retrieves the show variables from the minion.
130929
130930              Returns::
130931                     show variables full dict
130932
130933              CLI Example:
130934
130935                 salt '*' mysql.showvariables
130936
130937       salt.modules.mysql.slave_lag(**connection_args)
130938              Return  the number of seconds that a slave SQL server is lagging
130939              behind the master, if the host is not a slave it will return -1.
130940              If  the  server  is configured to be a slave for replication but
130941              slave IO is not running then -2 will be returned. If  there  was
130942              an  error  connecting to the database or checking the slave sta‐
130943              tus, -3 will be returned.
130944
130945              CLI Example:
130946
130947                 salt '*' mysql.slave_lag
130948
130949       salt.modules.mysql.status(**connection_args)
130950              Return the status of a MySQL server using the  output  from  the
130951              SHOW STATUS query.
130952
130953              CLI Example:
130954
130955                 salt '*' mysql.status
130956
130957       salt.modules.mysql.tokenize_grant(grant)
130958              External wrapper function :param grant: :return: dict
130959
130960              CLI Example:
130961
130962                 salt '*' mysql.tokenize_grant             "GRANT SELECT, INSERT ON testdb.* TO 'testuser'@'localhost'"
130963
130964       salt.modules.mysql.user_chpass(user,  host=u'localhost', password=None,
130965       password_hash=None, allow_passwordless=False,  unix_socket=None,  pass‐
130966       word_column=None, **connection_args)
130967              Change password for a MySQL user
130968
130969              host   Host for which this user/password combo applies
130970
130971              password
130972                     The  password  to  set for the new user. Will take prece‐
130973                     dence over the password_hash option if  both  are  speci‐
130974                     fied.
130975
130976              password_hash
130977                     The  password  in hashed form. Be sure to quote the pass‐
130978                     word because YAML doesn't like the *. A password hash can
130979                     be obtained from the mysql command-line client like so:
130980
130981                        mysql> SELECT PASSWORD('mypass');
130982                        +-------------------------------------------+
130983                        | PASSWORD('mypass')                        |
130984                        +-------------------------------------------+
130985                        | *6C8989366EAF75BB670AD8EA7A7FC1176A95CEF4 |
130986                        +-------------------------------------------+
130987                        1 row in set (0.00 sec)
130988
130989              allow_passwordless
130990                     If  True,  then password and password_hash can be omitted
130991                     (or set to None) to permit a passwordless login.
130992
130993              New in version 0.16.2: The allow_passwordless option was added.
130994
130995
130996              CLI Examples:
130997
130998                 salt '*' mysql.user_chpass frank localhost newpassword
130999                 salt '*' mysql.user_chpass frank localhost password_hash='hash'
131000                 salt '*' mysql.user_chpass frank localhost allow_passwordless=True
131001
131002       salt.modules.mysql.user_create(user, host=u'localhost',  password=None,
131003       password_hash=None,  allow_passwordless=False, unix_socket=False, pass‐
131004       word_column=None, **connection_args)
131005              Creates a MySQL user
131006
131007              host   Host for which this user/password combo applies
131008
131009              password
131010                     The password to use for the new user.  Will  take  prece‐
131011                     dence  over  the  password_hash option if both are speci‐
131012                     fied.
131013
131014              password_hash
131015                     The password in hashed form. Be sure to quote  the  pass‐
131016                     word because YAML doesn't like the *. A password hash can
131017                     be obtained from the mysql command-line client like so:
131018
131019                        mysql> SELECT PASSWORD('mypass');
131020                        +-------------------------------------------+
131021                        | PASSWORD('mypass')                        |
131022                        +-------------------------------------------+
131023                        | *6C8989366EAF75BB670AD8EA7A7FC1176A95CEF4 |
131024                        +-------------------------------------------+
131025                        1 row in set (0.00 sec)
131026
131027              allow_passwordless
131028                     If True, then password and password_hash can  be  omitted
131029                     (or set to None) to permit a passwordless login.
131030
131031              unix_socket
131032                     If  True and allow_passwordless is True then will be used
131033                     unix_socket auth plugin.
131034
131035              New in version 0.16.2: The allow_passwordless option was added.
131036
131037
131038              CLI Examples:
131039
131040                 salt '*' mysql.user_create 'username' 'hostname' 'password'
131041                 salt '*' mysql.user_create 'username' 'hostname' password_hash='hash'
131042                 salt '*' mysql.user_create 'username' 'hostname' allow_passwordless=True
131043
131044       salt.modules.mysql.user_exists(user, host=u'localhost',  password=None,
131045       password_hash=None,    passwordless=False,   unix_socket=False,   pass‐
131046       word_column=None, **connection_args)
131047              Checks if a user exists on the MySQL  server.  A  login  can  be
131048              checked  to  see  if passwordless login is permitted by omitting
131049              password and password_hash, and using passwordless=True.
131050
131051              New in version 0.16.2: The passwordless option was added.
131052
131053
131054              CLI Example:
131055
131056                 salt '*' mysql.user_exists 'username' 'hostname' 'password'
131057                 salt '*' mysql.user_exists 'username' 'hostname' password_hash='hash'
131058                 salt '*' mysql.user_exists 'username' passwordless=True
131059                 salt '*' mysql.user_exists 'username' password_column='authentication_string'
131060
131061       salt.modules.mysql.user_grants(user,    host=u'localhost',    **connec‐
131062       tion_args)
131063              Shows the grants for the given MySQL user (if it exists)
131064
131065              CLI Example:
131066
131067                 salt '*' mysql.user_grants 'frank' 'localhost'
131068
131069       salt.modules.mysql.user_info(user,     host=u'localhost',     **connec‐
131070       tion_args)
131071              Get full info on a MySQL user
131072
131073              CLI Example:
131074
131075                 salt '*' mysql.user_info root localhost
131076
131077       salt.modules.mysql.user_list(**connection_args)
131078              Return a list of users on a MySQL server
131079
131080              CLI Example:
131081
131082                 salt '*' mysql.user_list
131083
131084       salt.modules.mysql.user_remove(user,    host=u'localhost',    **connec‐
131085       tion_args)
131086              Delete MySQL user
131087
131088              CLI Example:
131089
131090                 salt '*' mysql.user_remove frank localhost
131091
131092       salt.modules.mysql.verify_login(user, password=None, **connection_args)
131093              Attempt to login using the provided credentials.  If successful,
131094              return true.  Otherwise, return False.
131095
131096              CLI Example:
131097
131098                 salt '*' mysql.verify_login root password
131099
131100       salt.modules.mysql.version(**connection_args)
131101              Return the version of a MySQL server using the output  from  the
131102              SELECT VERSION() query.
131103
131104              CLI Example:
131105
131106                 salt '*' mysql.version
131107
131108   salt.modules.nacl
131109       This  module  helps  include encrypted passwords in pillars, grains and
131110       salt state files.
131111
131112       depends
131113              libnacl, https://github.com/saltstack/libnacl
131114
131115       This is often useful if you wish to store your pillars in  source  con‐
131116       trol  or  share  your  pillar  data with others that you trust. I don't
131117       advise making your pillars public regardless if they are  encrypted  or
131118       not.
131119
131120       When  generating  keys  and encrypting passwords use --local when using
131121       salt-call for extra security. Also consider using just the salt  runner
131122       nacl when encrypting pillar passwords.
131123
131124       configuration
131125              The  following  configuration  defaults can be define (pillar or
131126              config files) Avoid storing private keys in pillars! Ensure mas‐
131127              ter does not have pillar_opts=True:
131128
131129                 # cat /etc/salt/master.d/nacl.conf
131130                 nacl.config:
131131                     # NOTE: `key` and `key_file` have been renamed to `sk`, `sk_file`
131132                     # also `box_type` default changed from secretbox to sealedbox.
131133                     box_type: sealedbox                     (default)
131134                     sk_file: /etc/salt/pki/master/nacl      (default)
131135                     pk_file: /etc/salt/pki/master/nacl.pub  (default)
131136                     sk: None
131137                     pk: None
131138
131139              Usage can override the config defaults:
131140
131141                 salt-call nacl.enc sk_file=/etc/salt/pki/master/nacl pk_file=/etc/salt/pki/master/nacl.pub
131142
131143       The  nacl  lib  uses 32byte keys, these keys are base64 encoded to make
131144       your life more simple.  To generate your sk_file and pk_file use:
131145
131146          salt-call --local nacl.keygen sk_file=/etc/salt/pki/master/nacl
131147          # or if you want to work without files.
131148          salt-call --local nacl.keygen
131149          local:
131150              ----------
131151              pk:
131152                  /kfGX7PbWeu099702PBbKWLpG/9p06IQRswkdWHCDk0=
131153              sk:
131154                  SVWut5SqNpuPeNzb1b9y6b2eXg2PLIog43GBzp48Sow=
131155
131156       Now with your keypair, you can encrypt data:
131157
131158       You have two option, sealedbox or secretbox.
131159
131160       SecretBox  is  data  encrypted  using  private  key  pk.  Sealedbox  is
131161       encrypted using public key pk.
131162
131163       Recommend using Sealedbox because the one way encryption permits devel‐
131164       opers to encrypt data for source control but  not  decrypt.   Sealedbox
131165       only has one key that is for both encryption and decryption.
131166
131167          salt-call --local nacl.enc asecretpass pk=/kfGX7PbWeu099702PBbKWLpG/9p06IQRswkdWHCDk0=
131168          tqXzeIJnTAM9Xf0mdLcpEdklMbfBGPj2oTKmlgrm3S1DTVVHNnh9h8mU1GKllGq/+cYsk6m5WhGdk58=
131169
131170       To decrypt the data:
131171
131172          salt-call --local nacl.dec data='tqXzeIJnTAM9Xf0mdLcpEdklMbfBGPj2oTKmlgrm3S1DTVVHNnh9h8mU1GKllGq/+cYsk6m5WhGdk58='         sk='SVWut5SqNpuPeNzb1b9y6b2eXg2PLIog43GBzp48Sow='
131173
131174       When  the  keys  are defined in the master config you can use them from
131175       the nacl runner without extra parameters:
131176
131177          # cat /etc/salt/master.d/nacl.conf
131178          nacl.config:
131179              sk_file: /etc/salt/pki/master/nacl
131180              pk: 'cTIqXwnUiD1ulg4kXsbeCE7/NoeKEzd4nLeYcCFpd9k='
131181
131182          salt-run nacl.enc 'asecretpass'
131183          salt-run nacl.dec 'tqXzeIJnTAM9Xf0mdLcpEdklMbfBGPj2oTKmlgrm3S1DTVVHNnh9h8mU1GKllGq/+cYsk6m5WhGdk58='
131184
131185          # a salt developers minion could have pillar data that includes a nacl public key
131186          nacl.config:
131187              pk: '/kfGX7PbWeu099702PBbKWLpG/9p06IQRswkdWHCDk0='
131188
131189       The developer can then use a less-secure system to encrypt data.
131190
131191          salt-call --local nacl.enc apassword
131192
131193       Pillar files can include protected data that the salt master decrypts:
131194
131195          pillarexample:
131196              user: root
131197              password1: {{salt.nacl.dec('DRB7Q6/X5gGSRCTpZyxS6hlbWj0llUA+uaVyvou3vJ4=')|json}}
131198              cert_key: {{salt.nacl.dec_file('/srv/salt/certs/example.com/key.nacl')|json}}
131199              cert_key2: {{salt.nacl.dec_file('salt:///certs/example.com/key.nacl')|json}}
131200
131201       Larger files like certificates can be encrypted with:
131202
131203          salt-call nacl.enc_file /tmp/cert.crt out=/tmp/cert.nacl
131204          # or more advanced
131205          cert=$(cat /tmp/cert.crt)
131206          salt-call --out=newline_values_only nacl.enc_pub data="$cert" > /tmp/cert.nacl
131207
131208       In pillars rended with jinja be sure to include |json  so  line  breaks
131209       are encoded:
131210
131211          cert: "{{salt.nacl.dec('S2uogToXkgENz9...085KYt')|json}}"
131212
131213       In states rendered with jinja it is also good pratice to include |json:
131214
131215          {{sls}} private key:
131216              file.managed:
131217                  - name: /etc/ssl/private/cert.key
131218                  - mode: 700
131219                  - contents: "{{pillar['pillarexample']['cert_key']|json}}"
131220
131221       Optional small program to encrypt data without needing salt modules.
131222
131223          #!/bin/python3
131224          import sys, base64, libnacl.sealed
131225          pk = base64.b64decode('YOURPUBKEY')
131226          b = libnacl.sealed.SealedBox(pk)
131227          data = sys.stdin.buffer.read()
131228          print(base64.b64encode(b.encrypt(data)).decode())
131229
131230          echo 'apassword' | nacl_enc.py
131231
131232       salt.modules.nacl.dec(data, **kwargs)
131233              Alias to {box_type}_decrypt
131234
131235              box_type: secretbox, sealedbox(default)
131236
131237       salt.modules.nacl.dec_file(name, out=None, **kwargs)
131238              This  is a helper function to decrypt a file and return its con‐
131239              tents.
131240
131241              You can provide an optional output file using out
131242
131243              name can be a local file or when not using salt-run can be a url
131244              like salt://, https:// etc.
131245
131246              CLI Examples:
131247
131248                 salt-run nacl.dec_file name=/tmp/id_rsa.nacl
131249                 salt-call nacl.dec_file name=salt://crt/mycert.nacl out=/tmp/id_rsa
131250                 salt-run nacl.dec_file name=/tmp/id_rsa.nacl box_type=secretbox             sk_file=/etc/salt/pki/master/nacl.pub
131251
131252       salt.modules.nacl.enc(data, **kwargs)
131253              Alias to {box_type}_encrypt
131254
131255              box_type: secretbox, sealedbox(default)
131256
131257       salt.modules.nacl.enc_file(name, out=None, **kwargs)
131258              This  is a helper function to encrypt a file and return its con‐
131259              tents.
131260
131261              You can provide an optional output file using out
131262
131263              name can be a local file or when not using salt-run can be a url
131264              like salt://, https:// etc.
131265
131266              CLI Examples:
131267
131268                 salt-run nacl.enc_file name=/tmp/id_rsa
131269                 salt-call nacl.enc_file name=salt://crt/mycert out=/tmp/cert
131270                 salt-run nacl.enc_file name=/tmp/id_rsa box_type=secretbox             sk_file=/etc/salt/pki/master/nacl.pub
131271
131272       salt.modules.nacl.keygen(sk_file=None, pk_file=None, **kwargs)
131273              Use libnacl to generate a keypair.
131274
131275              If no sk_file is defined return a keypair.
131276
131277              If  only  the  sk_file is defined pk_file will use the same name
131278              with a postfix .pub.
131279
131280              When the sk_file is already existing, but pk_file  is  not.  The
131281              pk_file will be generated using the sk_file.
131282
131283              CLI Examples:
131284
131285                 salt-call nacl.keygen
131286                 salt-call nacl.keygen sk_file=/etc/salt/pki/master/nacl
131287                 salt-call nacl.keygen sk_file=/etc/salt/pki/master/nacl pk_file=/etc/salt/pki/master/nacl.pub
131288                 salt-call --local nacl.keygen
131289
131290       salt.modules.nacl.sealedbox_decrypt(data, **kwargs)
131291              Decrypt  data using a secret key that was encrypted using a pub‐
131292              lic key with nacl.sealedbox_encrypt.
131293
131294              CLI Examples:
131295
131296                 salt-call nacl.sealedbox_decrypt pEXHQM6cuaF7A=
131297                 salt-call --local nacl.sealedbox_decrypt data='pEXHQM6cuaF7A=' sk_file=/etc/salt/pki/master/nacl
131298                 salt-call --local nacl.sealedbox_decrypt data='pEXHQM6cuaF7A=' sk='YmFkcGFzcwo='
131299
131300       salt.modules.nacl.sealedbox_encrypt(data, **kwargs)
131301              Encrypt data using a public key generated from nacl.keygen.  The
131302              encryptd data can be decrypted using nacl.sealedbox_decrypt only
131303              with the secret key.
131304
131305              CLI Examples:
131306
131307                 salt-run nacl.sealedbox_encrypt datatoenc
131308                 salt-call --local nacl.sealedbox_encrypt datatoenc pk_file=/etc/salt/pki/master/nacl.pub
131309                 salt-call --local nacl.sealedbox_encrypt datatoenc pk='vrwQF7cNiNAVQVAiS3bvcbJUnF0cN6fU9YTZD9mBfzQ='
131310
131311       salt.modules.nacl.secretbox_decrypt(data, **kwargs)
131312              Decrypt data that  was  encrypted  using  nacl.secretbox_encrypt
131313              using the secret key that was generated from nacl.keygen.
131314
131315              CLI Examples:
131316
131317                 salt-call nacl.secretbox_decrypt pEXHQM6cuaF7A=
131318                 salt-call --local nacl.secretbox_decrypt data='pEXHQM6cuaF7A=' sk_file=/etc/salt/pki/master/nacl
131319                 salt-call --local nacl.secretbox_decrypt data='pEXHQM6cuaF7A=' sk='YmFkcGFzcwo='
131320
131321       salt.modules.nacl.secretbox_encrypt(data, **kwargs)
131322              Encrypt data using a secret key generated from nacl.keygen.  The
131323              same  secret  key  can  be  used  to  decrypt  the  data   using
131324              nacl.secretbox_decrypt.
131325
131326              CLI Examples:
131327
131328                 salt-run nacl.secretbox_encrypt datatoenc
131329                 salt-call --local nacl.secretbox_encrypt datatoenc sk_file=/etc/salt/pki/master/nacl
131330                 salt-call --local nacl.secretbox_encrypt datatoenc sk='YmFkcGFzcwo='
131331
131332   salt.modules.nagios
131333       Run nagios plugins/checks from salt and get the return as data.
131334
131335       salt.modules.nagios.list_plugins()
131336              List all the nagios plugins
131337
131338              CLI Example:
131339
131340                 salt '*' nagios.list_plugins
131341
131342       salt.modules.nagios.retcode(plugin, args=u'', key_name=None)
131343              Run one nagios plugin and return retcode of the execution
131344
131345       salt.modules.nagios.retcode_pillar(pillar_name)
131346              Run  one  or  more  nagios  plugins from pillar data and get the
131347              result of cmd.retcode The pillar have to be in this format:
131348
131349                 ------
131350                 webserver:
131351                     Ping_google:
131352                         - check_icmp: 8.8.8.8
131353                         - check_icmp: google.com
131354                     Load:
131355                         - check_load: -w 0.8 -c 1
131356                     APT:
131357                         - check_apt
131358                 -------
131359
131360              webserver is the role to check, the next keys are the group  and
131361              the items the check with the arguments if needed
131362
131363              You  must  to  group  different checks(one o more) and always it
131364              will return the highest value of all the checks
131365
131366              CLI Example:
131367
131368                 salt '*' nagios.retcode webserver
131369
131370       salt.modules.nagios.run(plugin, args=u'')
131371              Run nagios plugin and return all the data execution with cmd.run
131372
131373              CLI Example:
131374
131375                 salt '*' nagios.run check_apt
131376                 salt '*' nagios.run check_icmp '8.8.8.8'
131377
131378       salt.modules.nagios.run_all(plugin, args=u'')
131379              Run nagios  plugin  and  return  all  the  data  execution  with
131380              cmd.run_all
131381
131382       salt.modules.nagios.run_all_pillar(pillar_name)
131383              Run  one  or  more  nagios  plugins from pillar data and get the
131384              result of cmd.run_all The pillar have to be in this format:
131385
131386                 ------
131387                 webserver:
131388                     Ping_google:
131389                         - check_icmp: 8.8.8.8
131390                         - check_icmp: google.com
131391                     Load:
131392                         - check_load: -w 0.8 -c 1
131393                     APT:
131394                         - check_apt
131395                 -------
131396
131397              webserver is the role to check, the next keys are the group  and
131398              the items the check with the arguments if needed
131399
131400              You have to group different checks in a group
131401
131402              CLI Example:
131403
131404                 salt '*' nagios.run webserver
131405
131406       salt.modules.nagios.run_pillar(pillar_name)
131407              Run  one  or  more  nagios  plugins from pillar data and get the
131408              result of cmd.run The pillar have to be in this format:
131409
131410                 ------
131411                 webserver:
131412                     Ping_google:
131413                         - check_icmp: 8.8.8.8
131414                         - check_icmp: google.com
131415                     Load:
131416                         - check_load: -w 0.8 -c 1
131417                     APT:
131418                         - check_apt
131419                 -------
131420
131421              webserver is the role to check, the next keys are the group  and
131422              the items the check with the arguments if needed
131423
131424              You have to group different checks in a group
131425
131426              CLI Example:
131427
131428                 salt '*' nagios.run webserver
131429
131430   salt.modules.nagios_rpc
131431       Check Host & Service status from Nagios via JSON RPC.
131432
131433       New in version 2015.8.0.
131434
131435
131436       salt.modules.nagios_rpc.host_status(hostname=None, **kwargs)
131437              Check  status  of  a  particular  host  By  default statuses are
131438              returned in a numeric format.
131439
131440              Parameters:
131441
131442              hostname
131443                     The hostname to  check  the  status  of  the  service  in
131444                     Nagios.
131445
131446              numeric
131447                     Turn  to  false  in order to return status in text format
131448                     ('OK' instead of 0, 'Warning' instead of 1 etc)
131449
131450              Returns
131451                     status:     'OK', 'Warning', 'Critical' or 'Unknown'
131452
131453              CLI Example:
131454
131455                 salt '*' nagios_rpc.host_status hostname=webserver.domain.com
131456                 salt '*' nagios_rpc.host_status hostname=webserver.domain.com numeric=False
131457
131458       salt.modules.nagios_rpc.service_status(hostname=None,     service=None,
131459       **kwargs)
131460              Check  status of a particular service on a host on it in Nagios.
131461              By default statuses are returned in a numeric format.
131462
131463              Parameters:
131464
131465              hostname
131466                     The hostname to  check  the  status  of  the  service  in
131467                     Nagios.
131468
131469              service
131470                     The service to check the status of in Nagios.
131471
131472              numeric
131473                     Turn  to  false  in order to return status in text format
131474                     ('OK' instead of 0, 'Warning' instead of 1 etc)
131475
131476              Returns
131477                     status:     'OK', 'Warning', 'Critical' or 'Unknown'
131478
131479              CLI Example:
131480
131481                 salt '*' nagios_rpc.service_status hostname=webserver.domain.com service='HTTP'
131482                 salt '*' nagios_rpc.service_status hostname=webserver.domain.com service='HTTP' numeric=False
131483
131484   salt.modules.namecheap_dns module
131485       Namecheap DNS Management
131486
131487       New in version 2017.7.0.
131488
131489
131490   Prerequisites
131491       This module uses the requests  Python  module  to  communicate  to  the
131492       namecheap API.
131493
131494   Configuration
131495       The  Namecheap  username,  API  key and URL should be set in the minion
131496       configuration file, or in the Pillar data.
131497
131498          namecheap.name: companyname
131499          namecheap.key: a1b2c3d4e5f67a8b9c0d1e2f3
131500          namecheap.client_ip: 162.155.30.172
131501          #Real url
131502          namecheap.url: https://api.namecheap.com/xml.response
131503          #Sandbox url
131504          #namecheap.url: https://api.sandbox.namecheap.xml.response
131505
131506       salt.modules.namecheap_dns.get_hosts(sld, tld)
131507              Retrieves DNS host record settings for the requested domain.
131508
131509              returns a dictionary of information about the requested domain
131510
131511              sld    SLD of the domain name
131512
131513              tld    TLD of the domain name
131514
131515              CLI Example:
131516
131517                 salt 'my-minion' namecheap_domains_dns.get_hosts sld tld
131518
131519       salt.modules.namecheap_dns.get_list(sld, tld)
131520              Gets a list of DNS servers associated with the requested domain.
131521
131522              returns a dictionary of information about requested domain
131523
131524              sld    SLD of the domain name
131525
131526              tld    TLD of the domain name
131527
131528              CLI Example:
131529
131530                 salt 'my-minion' namecheap_domains_dns.get_list sld tld
131531
131532       salt.modules.namecheap_dns.set_custom(sld, tld, nameservers)
131533              Sets domain to use custom DNS servers.
131534
131535              returns True if the custom nameservers were set successfully
131536
131537              sld    SLD of the domain name
131538
131539              tld    TLD of the domain name
131540
131541              nameservers
131542                     array of strings  List of nameservers  to  be  associated
131543                     with this domain
131544
131545              CLI Example:
131546
131547                 salt 'my-minion' namecheap_domains_dns.set_custom sld tld nameserver
131548
131549       salt.modules.namecheap_dns.set_default(sld, tld)
131550              Sets  domain  to use namecheap default DNS servers. Required for
131551              free services like Host record management, URL forwarding, email
131552              forwarding, dynamic DNS and other value added services.
131553
131554              sld    SLD of the domain name
131555
131556              tld    TLD of the domain name
131557
131558              Returns  True  if  the  domain  was  successfully pointed at the
131559              default DNS servers.
131560
131561              CLI Example:
131562
131563                 salt 'my-minion' namecheap_domains_dns.set_default sld tld
131564
131565       salt.modules.namecheap_dns.set_hosts(sld, tld, hosts)
131566              Sets DNS host records settings for the requested domain.
131567
131568              returns True if the host records were set successfully
131569
131570              sld    SLD of the domain name
131571
131572              tld    TLD of the domain name
131573
131574              hosts  Must be passed as a list  of  Python  dictionaries,  with
131575                     each dictionary containing the following keys:
131576
131577                     · hostname
131578
131579                     · recordtype  - One of A, AAAA, CNAME, MX, MXE, TXT, URL,
131580                       URL301, or FRAME
131581
131582                     · address - URL or IP address
131583
131584                     · ttl - An integer between 60 and 60000 (default: 1800)
131585
131586                     Additonally, the mxpref key can be present, but  must  be
131587                     accompanied by an emailtype key.
131588
131589              CLI Example:
131590
131591                 salt 'my-minion' namecheap_domains_dns.set_hosts sld tld hosts
131592
131593   salt.modules.namecheap_domains module
131594       Namecheap Domain Management
131595
131596       New in version 2017.7.0.
131597
131598
131599   Prerequisites
131600       This  module  uses  the  requests  Python  module to communicate to the
131601       namecheap API.
131602
131603   Configuration
131604       The Namecheap username, API key and URL should be  set  in  the  minion
131605       configuration file, or in the Pillar data.
131606
131607          namecheap.name: companyname
131608          namecheap.key: a1b2c3d4e5f67a8b9c0d1e2f3
131609          namecheap.client_ip: 162.155.30.172
131610          #Real url
131611          namecheap.url: https://api.namecheap.com/xml.response
131612          #Sandbox url
131613          #namecheap.url: https://api.sandbox.namecheap.xml.response
131614
131615       salt.modules.namecheap_domains.check(*domains_to_check)
131616              Checks the availability of domains
131617
131618              domains_to_check
131619                     array of strings  List of domains to check
131620
131621              Returns  a  dictionary mapping the each domain name to a boolean
131622              denoting whether or not it is available.
131623
131624              CLI Example:
131625
131626                 salt 'my-minion' namecheap_domains.check domain-to-check
131627
131628       salt.modules.namecheap_domains.create(domain_name, years, **kwargs)
131629              Try to register the specified domain name
131630
131631              domain_name
131632                     The domain name to be registered
131633
131634              years  Number of years to register
131635
131636              Returns the following information:
131637
131638              · Whether or not the domain was renewed successfully
131639
131640              · Whether or not WhoisGuard is enabled
131641
131642              · Whether or not registration is instant
131643
131644              · The amount charged for registration
131645
131646              · The domain ID
131647
131648              · The order ID
131649
131650              · The transaction ID
131651
131652              CLI Example:
131653
131654                 salt 'my-minion' namecheap_domains.create my-domain-name 2
131655
131656       salt.modules.namecheap_domains.get_info(domain_name)
131657              Returns information about the requested domain
131658
131659              returns a dictionary of information about the domain_name
131660
131661              domain_name
131662                     string  Domain name to get information about
131663
131664              CLI Example:
131665
131666                 salt 'my-minion' namecheap_domains.get_info my-domain-name
131667
131668       salt.modules.namecheap_domains.get_list(list_type=None,
131669       search_term=None, page=None, page_size=None, sort_by=None)
131670              Returns  a  list of domains for the particular user as a list of
131671              objects offset by page length of page_size
131672
131673              list_type
131674                     ALL One of ALL, EXPIRING, EXPIRED
131675
131676              search_term
131677                     Keyword to look for on the domain list
131678
131679              page   1 Number of result page to return
131680
131681              page_size
131682                     20 Number of domains to be listed per page (minimum:  10,
131683                     maximum: 100)
131684
131685              sort_by
131686                     One of NAME, NAME_DESC, EXPIREDATE, EXPIREDATE_DESC, CRE‐
131687                     ATEDATE, or CREATEDATE_DESC
131688
131689              CLI Example:
131690
131691                 salt 'my-minion' namecheap_domains.get_list
131692
131693       salt.modules.namecheap_domains.get_tld_list()
131694              Returns a list of TLDs as objects
131695
131696              CLI Example:
131697
131698                 salt 'my-minion' namecheap_domains.get_tld_list
131699
131700       salt.modules.namecheap_domains.reactivate(domain_name)
131701              Try to reactivate the expired domain name
131702
131703              Returns the following information:
131704
131705              · Whether or not the domain was reactivated successfully
131706
131707              · The amount charged for reactivation
131708
131709              · The order ID
131710
131711              · The transaction ID
131712
131713              CLI Example:
131714
131715                 salt 'my-minion' namecheap_domains.reactivate my-domain-name
131716
131717       salt.modules.namecheap_domains.renew(domain_name,     years,     promo‐
131718       tion_code=None)
131719              Try  to renew the specified expiring domain name for a specified
131720              number of years
131721
131722              domain_name
131723                     The domain name to be renewed
131724
131725              years  Number of years to renew
131726
131727              Returns the following information:
131728
131729              · Whether or not the domain was renewed successfully
131730
131731              · The domain ID
131732
131733              · The order ID
131734
131735              · The transaction ID
131736
131737              · The amount charged for renewal
131738
131739              CLI Example:
131740
131741                 salt 'my-minion' namecheap_domains.renew my-domain-name 5
131742
131743   salt.modules.namecheap_ns module
131744       Namecheap Nameserver Management
131745
131746       New in version 2017.7.0.
131747
131748
131749   Prerequisites
131750       This module uses the requests  Python  module  to  communicate  to  the
131751       namecheap API.
131752
131753   Configuration
131754       The  Namecheap  username,  API  key and URL should be set in the minion
131755       configuration file, or in the Pillar data.
131756
131757          namecheap.name: companyname
131758          namecheap.key: a1b2c3d4e5f67a8b9c0d1e2f3
131759          namecheap.client_ip: 162.155.30.172
131760          #Real url
131761          namecheap.url: https://api.namecheap.com/xml.response
131762          #Sandbox url
131763          #namecheap.url: https://api.sandbox.namecheap.xml.response
131764
131765       salt.modules.namecheap_ns.create(sld, tld, nameserver, ip)
131766              Creates a new nameserver. Returns True  if  the  nameserver  was
131767              created successfully.
131768
131769              sld    SLD of the domain name
131770
131771              tld    TLD of the domain name
131772
131773              nameserver
131774                     Nameserver to create
131775
131776              ip     Nameserver IP address
131777
131778              CLI Example:
131779
131780                 salt '*' namecheap_domains_ns.create sld tld nameserver ip
131781
131782       salt.modules.namecheap_ns.delete(sld, tld, nameserver)
131783              Deletes a nameserver. Returns True if the nameserver was deleted
131784              successfully
131785
131786              sld    SLD of the domain name
131787
131788              tld    TLD of the domain name
131789
131790              nameserver
131791                     Nameserver to delete
131792
131793              CLI Example:
131794
131795                 salt '*' namecheap_domains_ns.delete sld tld nameserver
131796
131797       salt.modules.namecheap_ns.get_info(sld, tld, nameserver)
131798              Retrieves information about a registered nameserver. Returns the
131799              following information:
131800
131801              · IP Address set for the nameserver
131802
131803              · Domain name which was queried
131804
131805              · A list of nameservers and their statuses
131806
131807              sld    SLD of the domain name
131808
131809              tld    TLD of the domain name
131810
131811              nameserver
131812                     Nameserver to retrieve
131813
131814              CLI Example:
131815
131816                 salt '*' namecheap_domains_ns.get_info sld tld nameserver
131817
131818       salt.modules.namecheap_ns.update(sld, tld, nameserver, old_ip, new_ip)
131819              Deletes a nameserver. Returns True if the nameserver was updated
131820              successfully.
131821
131822              sld    SLD of the domain name
131823
131824              tld    TLD of the domain name
131825
131826              nameserver
131827                     Nameserver to create
131828
131829              old_ip Current ip address
131830
131831              new_ip New ip address
131832
131833              CLI Example:
131834
131835                 salt '*' namecheap_domains_ns.update sld tld nameserver old_ip new_ip
131836
131837   salt.modules.namecheap_ssl module
131838       Namecheap SSL Certificate Management
131839
131840       New in version 2017.7.0.
131841
131842
131843   Prerequisites
131844       This module uses the requests  Python  module  to  communicate  to  the
131845       namecheap API.
131846
131847   Configuration
131848       The  Namecheap  username,  API  key and URL should be set in the minion
131849       configuration file, or in the Pillar data.
131850
131851          namecheap.name: companyname
131852          namecheap.key: a1b2c3d4e5f67a8b9c0d1e2f3
131853          namecheap.client_ip: 162.155.30.172
131854          #Real url
131855          namecheap.url: https://api.namecheap.com/xml.response
131856          #Sandbox url
131857          #namecheap.url: https://api.sandbox.namecheap.xml.response
131858
131859       salt.modules.namecheap_ssl.activate(csr_file,           certificate_id,
131860       web_server_type,     approver_email=None,     http_dc_validation=False,
131861       **kwargs)
131862              Activates a newly-purchased SSL certificate. Returns  a  dictio‐
131863              nary of result values.
131864
131865              csr_file
131866                     Path to Certificate Signing Request file
131867
131868              certificate_id
131869                     Unique ID of the SSL certificate you wish to activate
131870
131871              web_server_type
131872                     The type of certificate format to return. Possible values
131873                     include:
131874
131875                     · apache2
131876
131877                     · apacheapachessl
131878
131879                     · apacheopenssl
131880
131881                     · apacheraven
131882
131883                     · apachessl
131884
131885                     · apachessleay
131886
131887                     · c2net
131888
131889                     · cobaltseries
131890
131891                     · cpanel
131892
131893                     · domino
131894
131895                     · dominogo4625
131896
131897                     · dominogo4626
131898
131899                     · ensim
131900
131901                     · hsphere
131902
131903                     · ibmhttp
131904
131905                     · iis
131906
131907                     · iis4
131908
131909                     · iis5
131910
131911                     · iplanet
131912
131913                     · ipswitch
131914
131915                     · netscape
131916
131917                     · other
131918
131919                     · plesk
131920
131921                     · tomcat
131922
131923                     · weblogic
131924
131925                     · website
131926
131927                     · webstar
131928
131929                     · zeusv3
131930
131931              approver_email
131932                     The email ID which is on the approver email list.
131933
131934                     NOTE:
131935                        http_dc_validation must be set to False if this option
131936                        is used.
131937
131938              http_dc_validation
131939                     False Whether or not to activate using HTTP-based valida‐
131940                     tion.
131941
131942              NOTE:
131943                 For other parameters which may be required, see here.
131944
131945              CLI Example:
131946
131947                 salt 'my-minion' namecheap_ssl.activate my-csr-file my-cert-id apachessl
131948
131949       salt.modules.namecheap_ssl.create(years,    certificate_type,    promo‐
131950       tion_code=None, sans_to_add=None)
131951              Creates  a  new  SSL certificate. Returns the following informa‐
131952              tion:
131953
131954              · Whether or not the SSL order was successful
131955
131956              · The certificate ID
131957
131958              · The order ID
131959
131960              · The transaction ID
131961
131962              · The amount charged for the order
131963
131964              · The date on which the certificate was created
131965
131966              · The date on which the certificate will expire
131967
131968              · The type of SSL certificate
131969
131970              · The number of years for which the certificate was purchased
131971
131972              · The current status of the SSL certificate
131973
131974              years  1 Number of years to register
131975
131976              certificate_type
131977                     Type of SSL Certificate. Possible values include:
131978
131979                     · EV Multi Domain SSL
131980
131981                     · EV SSL
131982
131983                     · EV SSL SGC
131984
131985                     · EssentialSSL
131986
131987                     · EssentialSSL Wildcard
131988
131989                     · InstantSSL
131990
131991                     · InstantSSL Pro
131992
131993                     · Multi Domain SSL
131994
131995                     · PositiveSSL
131996
131997                     · PositiveSSL Multi Domain
131998
131999                     · PositiveSSL Wildcard
132000
132001                     · PremiumSSL
132002
132003                     · PremiumSSL Wildcard
132004
132005                     · QuickSSL Premium
132006
132007                     · RapidSSL
132008
132009                     · RapidSSL Wildcard
132010
132011                     · SGC Supercert
132012
132013                     · SSL Web Server
132014
132015                     · SSL Webserver EV
132016
132017                     · SSL123
132018
132019                     · Secure Site
132020
132021                     · Secure Site Pro
132022
132023                     · Secure Site Pro with EV
132024
132025                     · Secure Site with EV
132026
132027                     · True BusinessID
132028
132029                     · True BusinessID Multi Domain
132030
132031                     · True BusinessID Wildcard
132032
132033                     · True BusinessID with EV
132034
132035                     · True BusinessID with EV Multi Domain
132036
132037                     · Unified Communications
132038
132039              promotional_code
132040                     An optional promo code to use when creating the  certifi‐
132041                     cate
132042
132043              sans_to_add
132044                     0  This parameter defines the number of add-on domains to
132045                     be purchased in addition to the default number of domains
132046                     included  with  a multi-domain certificate. Each certifi‐
132047                     cate that supports SANs has the default number of domains
132048                     included.  You  may  check  the default number of domains
132049                     included and the maximum number of domains  that  can  be
132050                     added to it in the table below.
132051
132052         ┌─────────┬───────────────┬───────────────┬───────────────┬───────────────┐
132053         │Provider │ Product name  │ Default  num‐ │ Maximum  num‐ │ Maximum  num‐ │
132054         │         │               │ ber        of │ ber  of total │ ber        of │
132055         │         │               │ domains       │ domains       │ domains  that │
132056         │         │               │ (domain  from │               │ can be passed │
132057         │         │               │ CSR        is │               │ in            │
132058         │         │               │ counted here) │               │ sans_to_add   │
132059         │         │               │               │               │ parameter     │
132060         ├─────────┼───────────────┼───────────────┼───────────────┼───────────────┤
132061         │Comodo   │ PositiveSSL   │ 3             │ 100           │ 97            │
132062         │         │ Multi-Domain  │               │               │               │
132063         ├─────────┼───────────────┼───────────────┼───────────────┼───────────────┤
132064         │Comodo   │ Multi-Domain  │ 3             │ 100           │ 97            │
132065         │         │ SSL           │               │               │               │
132066         ├─────────┼───────────────┼───────────────┼───────────────┼───────────────┤
132067         │Comodo   │ EV     Multi- │ 3             │ 100           │ 97            │
132068         │         │ Domain SSL    │               │               │               │
132069         ├─────────┼───────────────┼───────────────┼───────────────┼───────────────┤
132070         │Comodo   │ Unified  Com‐ │ 3             │ 100           │ 97            │
132071         │         │ munications   │               │               │               │
132072         ├─────────┼───────────────┼───────────────┼───────────────┼───────────────┤
132073         │GeoTrust │ QuickSSL Pre‐ │ 1             │ 1  domain + 4 │ The only sup‐ │
132074         │         │ mium          │               │ subdomains    │ ported  value │
132075         │         │               │               │               │ is 4          │
132076         ├─────────┼───────────────┼───────────────┼───────────────┼───────────────┤
132077         │GeoTrust │ True Busines‐ │ 5             │ 25            │ 20            │
132078         │         │ sID  with  EV │               │               │               │
132079         │         │ Multi-Domain  │               │               │               │
132080         ├─────────┼───────────────┼───────────────┼───────────────┼───────────────┤
132081         │GeoTrust │ True Business │ 5             │ 25            │ 20            │
132082         │         │ ID     Multi- │               │               │               │
132083         │         │ Domain        │               │               │               │
132084         ├─────────┼───────────────┼───────────────┼───────────────┼───────────────┤
132085         │Thawte   │ SSL       Web │ 1             │ 25            │ 24            │
132086         │         │ Server        │               │               │               │
132087         ├─────────┼───────────────┼───────────────┼───────────────┼───────────────┤
132088         │Thawte   │ SSL       Web │ 1             │ 25            │ 24            │
132089         │         │ Server   with │               │               │               │
132090         │         │ EV            │               │               │               │
132091         ├─────────┼───────────────┼───────────────┼───────────────┼───────────────┤
132092         │Thawte   │ SGC           │ 1             │ 25            │ 24            │
132093         │         │ Supercerts    │               │               │               │
132094         ├─────────┼───────────────┼───────────────┼───────────────┼───────────────┤
132095         │Symantec │ Secure   Site │ 1             │ 25            │ 24            │
132096         │         │ Pro with EV   │               │               │               │
132097         ├─────────┼───────────────┼───────────────┼───────────────┼───────────────┤
132098         │Symantec │ Secure   Site │ 1             │ 25            │ 24            │
132099         │         │ with EV       │               │               │               │
132100         ├─────────┼───────────────┼───────────────┼───────────────┼───────────────┤
132101         │Symantec │ Secure Site   │ 1             │ 25            │ 24            │
132102         ├─────────┼───────────────┼───────────────┼───────────────┼───────────────┤
132103         │Symantec │ Secure   Site │ 1             │ 25            │ 24            │
132104         │         │ Pro           │               │               │               │
132105         └─────────┴───────────────┴───────────────┴───────────────┴───────────────┘
132106
132107              CLI Example:
132108
132109                 salt 'my-minion' namecheap_ssl.create 2 RapidSSL
132110
132111       salt.modules.namecheap_ssl.get_info(certificate_id,      returncertifi‐
132112       cate=False, returntype=None)
132113              Retrieves  information  about  the  requested  SSL  certificate.
132114              Returns  a  dictionary  of information about the SSL certificate
132115              with two keys:
132116
132117              · ssl - Contains the metadata information
132118
132119              · certificate - Contains the details for the certificate such as
132120                the CSR, Approver, and certificate data
132121
132122              certificate_id
132123                     Unique ID of the SSL certificate
132124
132125              returncertificate
132126                     False Set to True to ask for the certificate in response
132127
132128              returntype
132129                     Optional type for the returned certificate. Can be either
132130                     "Individual" (for X.509 format) or "PKCS7"
132131
132132                     NOTE:
132133                        Required if returncertificate is True
132134
132135              CLI Example:
132136
132137                 salt 'my-minion' namecheap_ssl.get_info my-cert-id
132138
132139       salt.modules.namecheap_ssl.get_list(**kwargs)
132140              Returns a list of SSL certificates for a particular user
132141
132142              ListType
132143                     All Possible values:
132144
132145                     · All
132146
132147                     · Processing
132148
132149                     · EmailSent
132150
132151                     · TechnicalProblem
132152
132153                     · InProgress
132154
132155                     · Completed
132156
132157                     · Deactivated
132158
132159                     · Active
132160
132161                     · Cancelled
132162
132163                     · NewPurchase
132164
132165                     · NewRenewal
132166
132167                     SearchTerm
132168                            Keyword to look for on the SSL list
132169
132170                     Page   1 Page number to return
132171
132172                     PageSize
132173                            20 Total number of SSL certificates to display per
132174                            page (minimum: 10, maximum: 100)
132175
132176                     SoryBy One  of  PURCHASEDATE, PURCHASEDATE_DESC, SSLTYPE,
132177                            SSLTYPE_DESC, EXPIREDATETIME, EXPIREDATETIME_DESC,
132178                            Host_Name, or Host_Name_DESC
132179
132180              CLI Example:
132181
132182                 salt 'my-minion' namecheap_ssl.get_list Processing
132183
132184       salt.modules.namecheap_ssl.parse_csr(csr_file,        certificate_type,
132185       http_dc_validation=False)
132186              Parses the CSR. Returns a dictionary of result values.
132187
132188              csr_file
132189                     Path to Certificate Signing Request file
132190
132191              certificate_type
132192                     Type of SSL Certificate. Possible values include:
132193
132194                     · EV Multi Domain SSL
132195
132196                     · EV SSL
132197
132198                     · EV SSL SGC
132199
132200                     · EssentialSSL
132201
132202                     · EssentialSSL Wildcard
132203
132204                     · InstantSSL
132205
132206                     · InstantSSL Pro
132207
132208                     · Multi Domain SSL
132209
132210                     · PositiveSSL
132211
132212                     · PositiveSSL Multi Domain
132213
132214                     · PositiveSSL Wildcard
132215
132216                     · PremiumSSL
132217
132218                     · PremiumSSL Wildcard
132219
132220                     · QuickSSL Premium
132221
132222                     · RapidSSL
132223
132224                     · RapidSSL Wildcard
132225
132226                     · SGC Supercert
132227
132228                     · SSL Web Server
132229
132230                     · SSL Webserver EV
132231
132232                     · SSL123
132233
132234                     · Secure Site
132235
132236                     · Secure Site Pro
132237
132238                     · Secure Site Pro with EV
132239
132240                     · Secure Site with EV
132241
132242                     · True BusinessID
132243
132244                     · True BusinessID Multi Domain
132245
132246                     · True BusinessID Wildcard
132247
132248                     · True BusinessID with EV
132249
132250                     · True BusinessID with EV Multi Domain
132251
132252                     · Unified Communications
132253
132254              http_dc_validation
132255                     False Set to True if a Comodo certificate and  validation
132256                     should be done with files instead of emails and to return
132257                     the info to do so
132258
132259              CLI Example:
132260
132261                 salt 'my-minion' namecheap_ssl.parse_csr my-csr-file PremiumSSL
132262
132263       salt.modules.namecheap_ssl.reissue(csr_file,            certificate_id,
132264       web_server_type,     approver_email=None,     http_dc_validation=False,
132265       **kwargs)
132266              Reissues a purchased SSL certificate. Returns  a  dictionary  of
132267              result values.
132268
132269              csr_file
132270                     Path to Certificate Signing Request file
132271
132272              certificate_id
132273                     Unique ID of the SSL certificate you wish to activate
132274
132275              web_server_type
132276                     The type of certificate format to return. Possible values
132277                     include:
132278
132279                     · apache2
132280
132281                     · apacheapachessl
132282
132283                     · apacheopenssl
132284
132285                     · apacheraven
132286
132287                     · apachessl
132288
132289                     · apachessleay
132290
132291                     · c2net
132292
132293                     · cobaltseries
132294
132295                     · cpanel
132296
132297                     · domino
132298
132299                     · dominogo4625
132300
132301                     · dominogo4626
132302
132303                     · ensim
132304
132305                     · hsphere
132306
132307                     · ibmhttp
132308
132309                     · iis
132310
132311                     · iis4
132312
132313                     · iis5
132314
132315                     · iplanet
132316
132317                     · ipswitch
132318
132319                     · netscape
132320
132321                     · other
132322
132323                     · plesk
132324
132325                     · tomcat
132326
132327                     · weblogic
132328
132329                     · website
132330
132331                     · webstar
132332
132333                     · zeusv3
132334
132335              approver_email
132336                     The email ID which is on the approver email list.
132337
132338                     NOTE:
132339                        http_dc_validation must be set to False if this option
132340                        is used.
132341
132342              http_dc_validation
132343                     False Whether or not to activate using HTTP-based valida‐
132344                     tion.
132345
132346              NOTE:
132347                 For other parameters which may be required, see here.
132348
132349              CLI Example:
132350
132351                 salt 'my-minion' namecheap_ssl.reissue my-csr-file my-cert-id apachessl
132352
132353       salt.modules.namecheap_ssl.renew(years,    certificate_id,     certifi‐
132354       cate_type, promotion_code=None)
132355              Renews  an  SSL  certificate  if  it is ACTIVE and Expires <= 30
132356              days. Returns the following information:
132357
132358              · The certificate ID
132359
132360              · The order ID
132361
132362              · The transaction ID
132363
132364              · The amount charged for the order
132365
132366              years  1 Number of years to register
132367
132368              certificate_id
132369                     Unique ID of the SSL certificate you wish to renew
132370
132371              certificate_type
132372                     Type of SSL Certificate. Possible values include:
132373
132374                     · EV Multi Domain SSL
132375
132376                     · EV SSL
132377
132378                     · EV SSL SGC
132379
132380                     · EssentialSSL
132381
132382                     · EssentialSSL Wildcard
132383
132384                     · InstantSSL
132385
132386                     · InstantSSL Pro
132387
132388                     · Multi Domain SSL
132389
132390                     · PositiveSSL
132391
132392                     · PositiveSSL Multi Domain
132393
132394                     · PositiveSSL Wildcard
132395
132396                     · PremiumSSL
132397
132398                     · PremiumSSL Wildcard
132399
132400                     · QuickSSL Premium
132401
132402                     · RapidSSL
132403
132404                     · RapidSSL Wildcard
132405
132406                     · SGC Supercert
132407
132408                     · SSL Web Server
132409
132410                     · SSL Webserver EV
132411
132412                     · SSL123
132413
132414                     · Secure Site
132415
132416                     · Secure Site Pro
132417
132418                     · Secure Site Pro with EV
132419
132420                     · Secure Site with EV
132421
132422                     · True BusinessID
132423
132424                     · True BusinessID Multi Domain
132425
132426                     · True BusinessID Wildcard
132427
132428                     · True BusinessID with EV
132429
132430                     · True BusinessID with EV Multi Domain
132431
132432                     · Unified Communications
132433
132434              promotional_code
132435                     An optional promo code to use when renewing the  certifi‐
132436                     cate
132437
132438              CLI Example:
132439
132440                 salt 'my-minion' namecheap_ssl.renew 1 my-cert-id RapidSSL
132441
132442   salt.modules.namecheap_users module
132443       Namecheap User Management
132444
132445       New in version 2017.7.0.
132446
132447
132448   Prerequisites
132449       This  module  uses  the  requests  Python  module to communicate to the
132450       namecheap API.
132451
132452   Configuration
132453       The Namecheap username, API key and URL should be  set  in  the  minion
132454       configuration file, or in the Pillar data.
132455
132456          namecheap.name: companyname
132457          namecheap.key: a1b2c3d4e5f67a8b9c0d1e2f3
132458          namecheap.client_ip: 162.155.30.172
132459          #Real url
132460          namecheap.url: https://api.namecheap.com/xml.response
132461          #Sandbox url
132462          #namecheap.url: https://api.sandbox.namecheap.xml.response
132463
132464       salt.modules.namecheap_users.check_balances(minimum=100)
132465              Checks  if  the  provided minimum value is present in the user's
132466              account.
132467
132468              Returns a boolean. Returns False if the user's  account  balance
132469              is  less  than  the provided minimum or True if greater than the
132470              minimum.
132471
132472              minimum
132473                     100 The value to check
132474
132475              CLI Example:
132476
132477                 salt 'my-minion' namecheap_users.check_balances
132478                 salt 'my-minion' namecheap_users.check_balances minimum=150
132479
132480       salt.modules.namecheap_users.get_balances()
132481              Gets information about fund in the user's account.  This  method
132482              returns  the  following  information: Available Balance, Account
132483              Balance, Earned Amount, Withdrawable Amount and  Funds  Required
132484              for AutoRenew.
132485
132486              NOTE:
132487                 If  a  domain setup with automatic renewal is expiring within
132488                 the next 90  days,  the  FundsRequiredForAutoRenew  attribute
132489                 shows the amount needed in your Namecheap account to complete
132490                 auto renewal.
132491
132492              CLI Example:
132493
132494                 salt 'my-minion' namecheap_users.get_balances
132495
132496   salt.modules.napalm_acl module
132497   NAPALM ACL
132498       Generate and load ACL (firewall) configuration on network devices.
132499
132500       New in version 2017.7.0.
132501
132502
132503       codeauthor
132504              Mircea Ulinic <mircea@cloudflare.com>
132505
132506       maturity
132507              new
132508
132509       depends
132510              capirca, napalm
132511
132512       platform
132513              unix
132514
132515   Dependencies
132516       The firewall configuration is generated by Capirca.
132517
132518       To be able to load configuration on network devices, it requires NAPALM
132519       library   to   be   installed:    pip  install  napalm.   Please  check
132520       Installation for complete details.
132521
132522       salt.modules.napalm_acl.get_filter_pillar(filter_name,             pil‐
132523       lar_key=u'acl', pillarenv=None, saltenv=None)
132524              Helper  that can be used inside a state SLS, in order to get the
132525              filter configuration given its name.
132526
132527              filter_name
132528                     The name of the filter.
132529
132530              pillar_key
132531                     The root key of the whole policy config.
132532
132533              pillarenv
132534                     Query the master to generate fresh  pillar  data  on  the
132535                     fly, specifically from the requested pillar environment.
132536
132537              saltenv
132538                     Included     only    for    compatibility    with    pil‐
132539                     larenv_from_saltenv, and is otherwise ignored.
132540
132541       salt.modules.napalm_acl.get_term_pillar(filter_name,  term_name,   pil‐
132542       lar_key=u'acl', pillarenv=None, saltenv=None)
132543              Helper  that can be used inside a state SLS, in order to get the
132544              term configuration  given  its  name,  under  a  certain  filter
132545              uniquely identified by its name.
132546
132547              filter_name
132548                     The name of the filter.
132549
132550              term_name
132551                     The name of the term.
132552
132553              pillar_key: acl
132554                     The root key of the whole policy config. Default: acl.
132555
132556              pillarenv
132557                     Query  the  master  to  generate fresh pillar data on the
132558                     fly, specifically from the requested pillar environment.
132559
132560              saltenv
132561                     Included    only    for    compatibility    with     pil‐
132562                     larenv_from_saltenv, and is otherwise ignored.
132563
132564       salt.modules.napalm_acl.load_filter_config(*args, **kwargs)
132565              Generate and load the configuration of a policy filter.
132566
132567              NOTE:
132568                 The  order  of the terms is very important. The configuration
132569                 loaded on the device respects the order defined in the  terms
132570                 and/or inside the pillar.
132571
132572                 When  merging  the  terms  with the pillar data, consider the
132573                 prepend argument to make sure the order is correct!
132574
132575              filter_name
132576                     The name of the policy filter.
132577
132578              filter_options
132579                     Additional  filter  options.  These  options  are   plat‐
132580                     form-specific.  See the complete list of options.
132581
132582              terms  List  of  terms for this policy filter.  If not specified
132583                     or empty, will try to load  the  configuration  from  the
132584                     pillar, unless merge_pillar is set as False.
132585
132586              prepend: True
132587                     When merge_pillar is set as True, the final list of terms
132588                     generated by merging the  terms  from  terms  with  those
132589                     defined  in  the pillar (if any): new terms are prepended
132590                     at the beginning, while existing ones will  preserve  the
132591                     position.  To  add  the new terms at the end of the list,
132592                     set this argument to False.
132593
132594              pillar_key: acl
132595                     The key in the pillar containing the  default  attributes
132596                     values. Default: acl.
132597
132598              pillarenv
132599                     Query  the  master  to  generate fresh pillar data on the
132600                     fly, specifically from the requested pillar environment.
132601
132602              saltenv
132603                     Included    only    for    compatibility    with     pil‐
132604                     larenv_from_saltenv, and is otherwise ignored.
132605
132606              merge_pillar: True
132607                     Merge the CLI variables with the pillar. Default: True.
132608
132609                     The  merge  logic depends on the prepend argument and the
132610                     CLI has higher priority than the pillar.
132611
132612              only_lower_merge: False
132613                     Specify if it should merge only the terms fields.  Other‐
132614                     wise  it  will try to merge also filters fields. Default:
132615                     False.  This option requires merge_pillar,  otherwise  it
132616                     is ignored.
132617
132618              revision_id
132619                     Add a comment in the filter config having the description
132620                     for the changes applied.
132621
132622              revision_no
132623                     The revision count.
132624
132625              revision_date: True
132626                     Boolean flag: display the date when the filter configura‐
132627                     tion was generated. Default: True.
132628
132629              revision_date_format: %Y/%m/%d
132630                     The  date  format to be used when generating the perforce
132631                     data. Default: %Y/%m/%d (<year>/<month>/<day>).
132632
132633              test: False
132634                     Dry run? If set as True, will apply the  config,  discard
132635                     and  return  the changes.  Default: False and will commit
132636                     the changes on the device.
132637
132638              commit: True
132639                     Commit? Default: True.
132640
132641              debug: False
132642                     Debug mode. Will insert a new key under the  output  dic‐
132643                     tionary,  as  loaded_config containing the raw configura‐
132644                     tion loaded on the device.
132645
132646              The output is a dictionary having the same form as net.load_con‐
132647              fig.
132648
132649              CLI Example:
132650
132651                 salt 'edge01.bjm01' netacl.load_filter_config my-filter pillar_key=netacl debug=True
132652
132653              Output Example:
132654
132655                 edge01.bjm01:
132656                     ----------
132657                     already_configured:
132658                         False
132659                     comment:
132660                     diff:
132661                         [edit firewall]
132662                         +    family inet {
132663                         +        /*
132664                         +         ** $Date: 2017/03/22 $
132665                         +         **
132666                         +         */
132667                         +        filter my-filter {
132668                         +            interface-specific;
132669                         +            term my-term {
132670                         +                from {
132671                         +                    source-port [ 1234 1235 ];
132672                         +                }
132673                         +                then {
132674                         +                    reject;
132675                         +                }
132676                         +            }
132677                         +            term my-other-term {
132678                         +                from {
132679                         +                    protocol tcp;
132680                         +                    source-port 5678-5680;
132681                         +                }
132682                         +                then accept;
132683                         +            }
132684                         +        }
132685                         +    }
132686                     loaded_config:
132687                         firewall {
132688                             family inet {
132689                                 replace:
132690                                 /*
132691                                 ** $Date: 2017/03/22 $
132692                                 **
132693                                 */
132694                                 filter my-filter {
132695                                     interface-specific;
132696                                     term my-term {
132697                                         from {
132698                                             source-port [ 1234 1235 ];
132699                                         }
132700                                         then {
132701                                             reject;
132702                                         }
132703                                     }
132704                                     term my-other-term {
132705                                         from {
132706                                             protocol tcp;
132707                                             source-port 5678-5680;
132708                                         }
132709                                         then accept;
132710                                     }
132711                                 }
132712                             }
132713                         }
132714                     result:
132715                         True
132716
132717              The filter configuration has been loaded from the pillar, having
132718              the following structure:
132719
132720                 netacl:
132721                   - my-filter:
132722                       terms:
132723                         - my-term:
132724                             source_port:
132725                              - 1234
132726                              - 1235
132727                             action: reject
132728                         - my-other-term:
132729                             source_port:
132730                               - - 5678
132731                                 - 5680
132732                             protocol: tcp
132733                             action: accept
132734
132735       salt.modules.napalm_acl.load_policy_config(*args, **kwargs)
132736              Generate and load the configuration of the whole policy.
132737
132738              NOTE:
132739                 The order of the filters and their terms is  very  important.
132740                 The  configuration  loaded  on  the device respects the order
132741                 defined in the filters and/or inside the pillar.
132742
132743                 When merging the filters with the pillar data,  consider  the
132744                 prepend argument to make sure the order is correct!
132745
132746              filters
132747                     List  of  filters  for  this policy.  If not specified or
132748                     empty, will try to load the configuration from  the  pil‐
132749                     lar, unless merge_pillar is set as False.
132750
132751              prepend: True
132752                     When  merge_pillar is set as True, the final list of fil‐
132753                     ters generated by merging the filters from  filters  with
132754                     those  defined  in  the  pillar (if any): new filters are
132755                     prepended at the beginning, while existing ones will pre‐
132756                     serve  the position. To add the new filters at the end of
132757                     the list, set this argument to False.
132758
132759              pillar_key: acl
132760                     The key in the pillar containing the  default  attributes
132761                     values. Default: acl.
132762
132763              pillarenv
132764                     Query  the  master  to  generate fresh pillar data on the
132765                     fly, specifically from the requested pillar environment.
132766
132767              saltenv
132768                     Included    only    for    compatibility    with     pil‐
132769                     larenv_from_saltenv, and is otherwise ignored.
132770
132771              merge_pillar: True
132772                     Merge the CLI variables with the pillar. Default: True.
132773
132774                     The  merge  logic depends on the prepend argument and the
132775                     CLI has higher priority than the pillar.
132776
132777              only_lower_merge: False
132778                     Specify if it should merge only  the  filters  and  terms
132779                     fields.  Otherwise it will try to merge everything at the
132780                     policy  level.  Default:  False.   This  option  requires
132781                     merge_pillar, otherwise it is ignored.
132782
132783              revision_id
132784                     Add a comment in the policy config having the description
132785                     for the changes applied.
132786
132787              revision_no
132788                     The revision count.
132789
132790              revision_date: True
132791                     Boolean flag: display the date when the policy configura‐
132792                     tion was generated. Default: True.
132793
132794              revision_date_format: %Y/%m/%d
132795                     The  date  format to be used when generating the perforce
132796                     data. Default: %Y/%m/%d (<year>/<month>/<day>).
132797
132798              test: False
132799                     Dry run? If set as True, will apply the  config,  discard
132800                     and  return  the changes.  Default: False and will commit
132801                     the changes on the device.
132802
132803              commit: True
132804                     Commit? Default: True.
132805
132806              debug: False
132807                     Debug mode. Will insert a new key under the  output  dic‐
132808                     tionary,  as  loaded_config containing the raw configura‐
132809                     tion loaded on the device.
132810
132811              The output is a dictionary having the same form as net.load_con‐
132812              fig.
132813
132814              CLI Example:
132815
132816                 salt 'edge01.flw01' netacl.load_policy_config debug=True
132817
132818              Output Example:
132819
132820                 edge01.flw01:
132821                     ----------
132822                     already_configured:
132823                         False
132824                     comment:
132825                     diff:
132826                         ---
132827                         +++
132828                         @@ -1228,9 +1228,24 @@
132829                          !
132830                         +ipv4 access-list my-filter
132831                         + 10 remark my-term
132832                         + 20 deny tcp host 1.2.3.4 eq 1234 any
132833                         + 30 deny udp host 1.2.3.4 eq 1234 any
132834                         + 40 deny tcp host 1.2.3.4 eq 1235 any
132835                         + 50 deny udp host 1.2.3.4 eq 1235 any
132836                         + 60 remark my-other-term
132837                         + 70 permit tcp any range 5678 5680 any
132838                         +!
132839                         +!
132840                         +ipv4 access-list block-icmp
132841                         + 10 remark first-term
132842                         + 20 deny icmp any any
132843                          !
132844                     loaded_config:
132845                         ! $Date: 2017/03/22 $
132846                         no ipv4 access-list my-filter
132847                         ipv4 access-list my-filter
132848                          remark my-term
132849                          deny tcp host 1.2.3.4 eq 1234 any
132850                          deny udp host 1.2.3.4 eq 1234 any
132851                          deny tcp host 1.2.3.4 eq 1235 any
132852                          deny udp host 1.2.3.4 eq 1235 any
132853                          remark my-other-term
132854                          permit tcp any range 5678 5680 any
132855                         exit
132856                         no ipv4 access-list block-icmp
132857                         ipv4 access-list block-icmp
132858                          remark first-term
132859                          deny icmp any any
132860                         exit
132861                     result:
132862                         True
132863
132864              The policy configuration has been loaded from the pillar, having
132865              the following structure:
132866
132867                 acl:
132868                   - my-filter:
132869                       terms:
132870                         - my-term:
132871                             source_port:
132872                              - 1234
132873                              - 1235
132874                             protocol:
132875                               - tcp
132876                               - udp
132877                             source_address: 1.2.3.4
132878                             action: reject
132879                         - my-other-term:
132880                             source_port:
132881                               - [5678, 5680]
132882                             protocol: tcp
132883                             action: accept
132884                   - block-icmp:
132885                       terms:
132886                         - first-term:
132887                             protocol:
132888                               - icmp
132889                             action: reject
132890
132891       salt.modules.napalm_acl.load_term_config(*args, **kwargs)
132892              Generate and load the configuration of a policy term.
132893
132894              filter_name
132895                     The name of the policy filter.
132896
132897              term_name
132898                     The name of the term.
132899
132900              filter_options
132901                     Additional  filter  options.  These  options  are   plat‐
132902                     form-specific.  See the complete list of options.
132903
132904              pillar_key: acl
132905                     The  key  in the pillar containing the default attributes
132906                     values. Default: acl.  If the pillar contains the follow‐
132907                     ing structure:
132908
132909                        firewall:
132910                          - my-filter:
132911                              terms:
132912                                - my-term:
132913                                    source_port: 1234
132914                                    source_address:
132915                                        - 1.2.3.4/32
132916                                        - 5.6.7.8/32
132917
132918                     The pillar_key field would be specified as firewall.
132919
132920              pillarenv
132921                     Query  the  master  to  generate fresh pillar data on the
132922                     fly, specifically from the requested pillar environment.
132923
132924              saltenv
132925                     Included    only    for    compatibility    with     pil‐
132926                     larenv_from_saltenv, and is otherwise ignored.
132927
132928              merge_pillar: True
132929                     Merge the CLI variables with the pillar. Default: True.
132930
132931                     The properties specified through the CLI have higher pri‐
132932                     ority than the pillar.
132933
132934              revision_id
132935                     Add a comment in the term config having  the  description
132936                     for the changes applied.
132937
132938              revision_no
132939                     The revision count.
132940
132941              revision_date: True
132942                     Boolean  flag:  display the date when the term configura‐
132943                     tion was generated. Default: True.
132944
132945              revision_date_format: %Y/%m/%d
132946                     The date format to be used when generating  the  perforce
132947                     data. Default: %Y/%m/%d (<year>/<month>/<day>).
132948
132949              test: False
132950                     Dry  run?  If set as True, will apply the config, discard
132951                     and return the changes.  Default: False and  will  commit
132952                     the changes on the device.
132953
132954              commit: True
132955                     Commit? Default: True.
132956
132957              debug: False
132958                     Debug  mode.  Will insert a new key under the output dic‐
132959                     tionary, as loaded_config containing the  raw  configura‐
132960                     tion loaded on the device.
132961
132962              source_service
132963                     A special service to choose from. This is a helper so the
132964                     user is able to select a  source  just  using  the  name,
132965                     instead of specifying a source_port and protocol.
132966
132967                     As  this  module  is available on Unix platforms only, it
132968                     reads the IANA port assignment from /etc/services.
132969
132970                     If the user requires additional shortcuts  to  be  refer‐
132971                     enced,  they  can  add entries under /etc/services, which
132972                     can be managed using the file state.
132973
132974              destination_service
132975                     A special service to choose from. This is a helper so the
132976                     user  is  able  to  select  a source just using the name,
132977                     instead of specifying a  destination_port  and  protocol.
132978                     Allows the same options as source_service.
132979
132980              term_fields
132981                     Term attributes. To see what fields are supported, please
132982                     consult the list of supported  keywords.  Some  platforms
132983                     have a few other optional keywords.
132984
132985              NOTE:
132986                 The  following  fields are accepted (some being platform-spe‐
132987                 cific):
132988
132989                 · action
132990
132991                 · address
132992
132993                 · address_exclude
132994
132995                 · comment
132996
132997                 · counter
132998
132999                 · expiration
133000
133001                 · destination_address
133002
133003                 · destination_address_exclude
133004
133005                 · destination_port
133006
133007                 · destination_prefix
133008
133009                 · forwarding_class
133010
133011                 · forwarding_class_except
133012
133013                 · logging
133014
133015                 · log_name
133016
133017                 · loss_priority
133018
133019                 · option
133020
133021                 · policer
133022
133023                 · port
133024
133025                 · precedence
133026
133027                 · principals
133028
133029                 · protocol
133030
133031                 · protocol_except
133032
133033                 · qos
133034
133035                 · pan_application
133036
133037                 · routing_instance
133038
133039                 · source_address
133040
133041                 · source_address_exclude
133042
133043                 · source_port
133044
133045                 · source_prefix
133046
133047                 · verbatim
133048
133049                 · packet_length
133050
133051                 · fragment_offset
133052
133053                 · hop_limit
133054
133055                 · icmp_type
133056
133057                 · ether_type
133058
133059                 · traffic_class_count
133060
133061                 · traffic_type
133062
133063                 · translated
133064
133065                 · dscp_set
133066
133067                 · dscp_match
133068
133069                 · dscp_except
133070
133071                 · next_ip
133072
133073                 · flexible_match_range
133074
133075                 · source_prefix_except
133076
133077                 · destination_prefix_except
133078
133079                 · vpn
133080
133081                 · source_tag
133082
133083                 · destination_tag
133084
133085                 · source_interface
133086
133087                 · destination_interface
133088
133089                 · flattened
133090
133091                 · flattened_addr
133092
133093                 · flattened_saddr
133094
133095                 · flattened_daddr
133096
133097                 · priority
133098
133099              NOTE:
133100                 The following fields can be also a single value and a list of
133101                 values:
133102
133103                 · action
133104
133105                 · address
133106
133107                 · address_exclude
133108
133109                 · comment
133110
133111                 · destination_address
133112
133113                 · destination_address_exclude
133114
133115                 · destination_port
133116
133117                 · destination_prefix
133118
133119                 · forwarding_class
133120
133121                 · forwarding_class_except
133122
133123                 · logging
133124
133125                 · option
133126
133127                 · port
133128
133129                 · precedence
133130
133131                 · principals
133132
133133                 · protocol
133134
133135                 · protocol_except
133136
133137                 · pan_application
133138
133139                 · source_address
133140
133141                 · source_address_exclude
133142
133143                 · source_port
133144
133145                 · source_prefix
133146
133147                 · verbatim
133148
133149                 · icmp_type
133150
133151                 · ether_type
133152
133153                 · traffic_type
133154
133155                 · dscp_match
133156
133157                 · dscp_except
133158
133159                 · flexible_match_range
133160
133161                 · source_prefix_except
133162
133163                 · destination_prefix_except
133164
133165                 · source_tag
133166
133167                 · destination_tag
133168
133169                 · source_service
133170
133171                 · destination_service
133172
133173                 Example: destination_address can be either defined as:
133174
133175                     destination_address: 172.17.17.1/24
133176
133177                 or as a list of destination IP addresses:
133178
133179                     destination_address:
133180                         - 172.17.17.1/24
133181                         - 172.17.19.1/24
133182
133183                 or a list of services to be matched:
133184
133185                     source_service:
133186                         - ntp
133187                         - snmp
133188                         - ldap
133189                         - bgpd
133190
133191              NOTE:
133192                 The  port fields source_port and destination_port can be used
133193                 as above to select either a single value, either  a  list  of
133194                 values, but also they can select port ranges. Example:
133195
133196                     source_port:
133197                         - - 1000
133198                           - 2000
133199                         - - 3000
133200                           - 4000
133201
133202                 With  the configuration above, the user is able to select the
133203                 1000-2000 and 3000-4000 source port ranges.
133204
133205              The output is a dictionary having the same form as net.load_con‐
133206              fig.
133207
133208              CLI Example:
133209
133210                 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
133211
133212              Output Example:
133213
133214                 edge01.bjm01:
133215                     ----------
133216                     already_configured:
133217                         False
133218                     comment:
133219                         Configuration discarded.
133220                     diff:
133221                         [edit firewall]
133222                         +    family inet {
133223                         +        /*
133224                         +         ** $Date: 2017/03/22 $
133225                         +         **
133226                         +         */
133227                         +        filter filter-name {
133228                         +            interface-specific;
133229                         +            term term-name {
133230                         +                from {
133231                         +                    source-address {
133232                         +                        1.2.3.4/32;
133233                         +                    }
133234                         +                    destination-address {
133235                         +                        5.6.7.8/32;
133236                         +                    }
133237                         +                }
133238                         +                then accept;
133239                         +            }
133240                         +        }
133241                         +    }
133242                     loaded_config:
133243                         firewall {
133244                             family inet {
133245                                 replace:
133246                                 /*
133247                                 ** $Date: 2017/03/22 $
133248                                 **
133249                                 */
133250                                 filter filter-name {
133251                                     interface-specific;
133252                                     term term-name {
133253                                         from {
133254                                             source-address {
133255                                                 1.2.3.4/32;
133256                                             }
133257                                             destination-address {
133258                                                 5.6.7.8/32;
133259                                             }
133260                                         }
133261                                         then accept;
133262                                     }
133263                                 }
133264                             }
133265                         }
133266                     result:
133267                         True
133268
133269   salt.modules.napalm_bgp module
133270   NAPALM BGP
133271       Manages BGP configuration on network devices and provides statistics.
133272
133273       codeauthor
133274              Mircea   Ulinic   <mircea@cloudflare.com>  &  Jerome  Fleury  <‐
133275              jf@cloudflare.com>
133276
133277       maturity
133278              new
133279
133280       depends
133281              napalm
133282
133283       platform
133284              unix
133285
133286   Dependencies
133287       · napalm proxy minion
133288
133289       New in version 2016.11.0.
133290
133291
133292       salt.modules.napalm_bgp.config(*args, **kwargs)
133293              Provides the BGP configuration on the device.
133294
133295              Parameters
133296
133297                     · group -- Name of the group selected to display the con‐
133298                       figuration.
133299
133300                     · neighbor  --  IP Address of the neighbor to display the
133301                       configuration.  If the group parameter  is  not  speci‐
133302                       fied, the neighbor setting will be ignored.
133303
133304              Returns
133305                     A  dictionary  containing  the BGP configuration from the
133306                     network device. The keys of the main dictionary  are  the
133307                     group names.
133308
133309              Each group has the following properties:
133310
133311                 · type (string)
133312
133313                 · description (string)
133314
133315                 · apply_groups (string list)
133316
133317                 · multihop_ttl (int)
133318
133319                 · multipath (True/False)
133320
133321                 · local_address (string)
133322
133323                 · local_as (int)
133324
133325                 · remote_as (int)
133326
133327                 · import_policy (string)
133328
133329                 · export_policy (string)
133330
133331                 · remove_private_as (True/False)
133332
133333                 · prefix_limit (dictionary)
133334
133335                 · neighbors (dictionary)
133336
133337              Each neighbor in the dictionary of neighbors provides:
133338
133339                 · description (string)
133340
133341                 · import_policy (string)
133342
133343                 · export_policy (string)
133344
133345                 · local_address (string)
133346
133347                 · local_as (int)
133348
133349                 · remote_as (int)
133350
133351                 · authentication_key (string)
133352
133353                 · prefix_limit (dictionary)
133354
133355                 · route_reflector_client (True/False)
133356
133357                 · nhs (True/False)
133358
133359              CLI Example:
133360
133361                 salt '*' bgp.config # entire BGP config
133362                 salt '*' bgp.config PEERS-GROUP-NAME # provides detail only about BGP group PEERS-GROUP-NAME
133363                 salt '*' bgp.config PEERS-GROUP-NAME 172.17.17.1 # provides details only about BGP neighbor 172.17.17.1,
133364                 # configured in the group PEERS-GROUP-NAME
133365
133366              Output Example:
133367
133368                 {
133369                     'PEERS-GROUP-NAME':{
133370                         'type'          : 'external',
133371                         'description'   : 'Here we should have a nice description',
133372                         'apply_groups'  : ['BGP-PREFIX-LIMIT'],
133373                         'import_policy' : 'PUBLIC-PEER-IN',
133374                         'export_policy' : 'PUBLIC-PEER-OUT',
133375                         'remove_private': True,
133376                         'multipath'     : True,
133377                         'multihop_ttl'  : 30,
133378                         'neighbors'     : {
133379                             '192.168.0.1': {
133380                                 'description'   : 'Facebook [CDN]',
133381                                 'prefix_limit'  : {
133382                                     'inet': {
133383                                         'unicast': {
133384                                             'limit': 100,
133385                                             'teardown': {
133386                                                 'threshold' : 95,
133387                                                 'timeout'   : 5
133388                                             }
133389                                         }
133390                                     }
133391                                 }
133392                                 'peer-as'        : 32934,
133393                                 'route_reflector': False,
133394                                 'nhs'            : True
133395                             },
133396                             '172.17.17.1': {
133397                                 'description'   : 'Twitter [CDN]',
133398                                 'prefix_limit'  : {
133399                                     'inet': {
133400                                         'unicast': {
133401                                             'limit': 500,
133402                                             'no-validate': 'IMPORT-FLOW-ROUTES'
133403                                         }
133404                                     }
133405                                 }
133406                                 'peer_as'        : 13414
133407                                 'route_reflector': False,
133408                                 'nhs'            : False
133409                             }
133410                         }
133411                     }
133412                 }
133413
133414       salt.modules.napalm_bgp.neighbors(*args, **kwargs)
133415              Provides  details  regarding  the BGP sessions configured on the
133416              network device.
133417
133418              Parameters
133419                     neighbor -- IP Address of a specific neighbor.
133420
133421              Returns
133422                     A dictionary with the statistics of the all/selected  BGP
133423                     neighbors.  Outer dictionary keys represent the VRF name.
133424                     Keys of inner dictionary represent the AS numbers,  while
133425                     the  values are lists of dictionaries, having the follow‐
133426                     ing keys:
133427
133428                     · up (True/False)
133429
133430                     · local_as (int)
133431
133432                     · remote_as (int)
133433
133434                     · local_address (string)
133435
133436                     · routing_table (string)
133437
133438                     · local_address_configured (True/False)
133439
133440                     · local_port (int)
133441
133442                     · remote_address (string)
133443
133444                     · remote_port (int)
133445
133446                     · multihop (True/False)
133447
133448                     · multipath (True/False)
133449
133450                     · remove_private_as (True/False)
133451
133452                     · import_policy (string)
133453
133454                     · export_policy (string)
133455
133456                     · input_messages (int)
133457
133458                     · output_messages (int)
133459
133460                     · input_updates (int)
133461
133462                     · output_updates (int)
133463
133464                     · messages_queued_out (int)
133465
133466                     · connection_state (string)
133467
133468                     · previous_connection_state (string)
133469
133470                     · last_event (string)
133471
133472                     · suppress_4byte_as (True/False)
133473
133474                     · local_as_prepend (True/False)
133475
133476                     · holdtime (int)
133477
133478                     · configured_holdtime (int)
133479
133480                     · keepalive (int)
133481
133482                     · configured_keepalive (int)
133483
133484                     · active_prefix_count (int)
133485
133486                     · received_prefix_count (int)
133487
133488                     · accepted_prefix_count (int)
133489
133490                     · suppressed_prefix_count (int)
133491
133492                     · advertised_prefix_count (int)
133493
133494                     · flap_count (int)
133495
133496
133497              CLI Example:
133498
133499                 salt '*' bgp.neighbors  # all neighbors
133500                 salt '*' bgp.neighbors 172.17.17.1  # only session with BGP neighbor(s) 172.17.17.1
133501
133502              Output Example:
133503
133504                 {
133505                     'default': {
133506                         8121: [
133507                             {
133508                                 'up'                        : True,
133509                                 'local_as'                  : 13335,
133510                                 'remote_as'                 : 8121,
133511                                 'local_address'             : '172.101.76.1',
133512                                 'local_address_configured'  : True,
133513                                 'local_port'                : 179,
133514                                 'remote_address'            : '192.247.78.0',
133515                                 'router_id'                 : '192.168.0.1',
133516                                 'remote_port'               : 58380,
133517                                 'multihop'                  : False,
133518                                 'import_policy'             : '4-NTT-TRANSIT-IN',
133519                                 'export_policy'             : '4-NTT-TRANSIT-OUT',
133520                                 'input_messages'            : 123,
133521                                 'output_messages'           : 13,
133522                                 'input_updates'             : 123,
133523                                 'output_updates'            : 5,
133524                                 'messages_queued_out'       : 23,
133525                                 'connection_state'          : 'Established',
133526                                 'previous_connection_state' : 'EstabSync',
133527                                 'last_event'                : 'RecvKeepAlive',
133528                                 'suppress_4byte_as'         : False,
133529                                 'local_as_prepend'          : False,
133530                                 'holdtime'                  : 90,
133531                                 'configured_holdtime'       : 90,
133532                                 'keepalive'                 : 30,
133533                                 'configured_keepalive'      : 30,
133534                                 'active_prefix_count'       : 132808,
133535                                 'received_prefix_count'     : 566739,
133536                                 'accepted_prefix_count'     : 566479,
133537                                 'suppressed_prefix_count'   : 0,
133538                                 'advertise_prefix_count'    : 0,
133539                                 'flap_count'                : 27
133540                             }
133541                         ]
133542                     }
133543                 }
133544
133545   salt.modules.napalm_formula module
133546   NAPALM Formula helpers
133547       New in version Fluorine.
133548
133549
133550       This is an Execution Module providing helpers for various NAPALM formu‐
133551       las,      e.g.,      napalm-interfaces-formula,     napalm-bgp-formula,
133552       napalm-ntp-formula etc., meant to provide various helper  functions  to
133553       make the templates more readable.
133554
133555       salt.modules.napalm_formula.container_path(model,     key=None,    con‐
133556       tainer=None, delim=':')
133557              Return the list of all the possible paths in a  container,  down
133558              to  the  config  container.  This function can be used to verify
133559              that the model is  a  Python  object  correctly  structured  and
133560              respecting the OpenConfig hierarchy.
133561
133562              model  The OpenConfig-structured object to inspect.
133563
133564              delim: :
133565                     The  key  delimiter. In particular cases, it is indicated
133566                     to use // as : might be already used  in  various  cases,
133567                     e.g.,  IPv6  addresses, interface name (e.g., Juniper QFX
133568                     series), etc.
133569
133570              CLI Example:
133571
133572                 salt '*' napalm_formula.container_path "{'interfaces': {'interface': {'Ethernet1': {'config': {'name': 'Ethernet1'}}}}}"
133573
133574              The example above would return a list with  the  following  ele‐
133575              ment:  interfaces:interface:Ethernet1:config  which  is the only
133576              possible path in that hierarchy.
133577
133578              Other output examples:
133579
133580                 - interfaces:interface:Ethernet1:config
133581                 - interfaces:interface:Ethernet1:subinterfaces:subinterface:0:config
133582                 - interfaces:interface:Ethernet2:config
133583
133584       salt.modules.napalm_formula.defaults(model,   defaults_,   delim=u'//',
133585       flipped_merge=False)
133586              Apply  the  defaults to a Python dictionary having the structure
133587              as described in the OpenConfig standards.
133588
133589              model  The OpenConfig model to apply the defaults to.
133590
133591              defaults
133592                     The dictionary of defaults. This argument must equally be
133593                     structured with respect to the OpenConfig standards.
133594
133595                     For ease of use, the keys of these support glob matching,
133596                     therefore we don't have to provide the defaults for  each
133597                     entity  but  only  for  the  entity  type. See an example
133598                     below.
133599
133600              delim: //
133601                     The key delimiter to use. Generally, // should cover  all
133602                     the  possible  cases, and you don't need to override this
133603                     value.
133604
133605              flipped_merge: False
133606                     Whether should merge the model into the defaults, or  the
133607                     defaults  into the model. Default: False (merge the model
133608                     into the defaults, i.e., any defaults would be overridden
133609                     by the values from the model).
133610
133611              CLI Example:
133612
133613                 salt '*' napalm_formula.defaults "{'interfaces': {'interface': {'Ethernet1': {'config': {'name': 'Ethernet1'}}}}}" "{'interfaces': {'interface': {'*': {'config': {'enabled': True}}}}}"
133614
133615              As one can notice in the example above, the * corresponds to the
133616              interface name, therefore, the defaults will be applied  on  all
133617              the interfaces.
133618
133619       salt.modules.napalm_formula.dictupdate(dest,         upd,        recur‐
133620       sive_update=True, merge_lists=False)
133621              Recursive version of the default dict.update
133622
133623              Merges upd recursively into dest
133624
133625              If recursive_update=False, will use the classic dict.update,  or
133626              fall  back  on  a  manual merge (helpful for non-dict types like
133627              FunctionWrapper).
133628
133629              If merge_lists=True, will aggregate list object types instead of
133630              replace.   The  list in upd is added to the list in dest, so the
133631              resulting list is dest[key] + upd[key]. This behaviour  is  only
133632              activated     when     recursive_update=True.     By     default
133633              merge_lists=False.
133634
133635       salt.modules.napalm_formula.render_field(dictionary,             field,
133636       prepend=None, append=None, quotes=False, **opts)
133637              Render  a  field found under the field level of the hierarchy in
133638              the dictionary object.  This is useful to render a  field  in  a
133639              Jinja  template  without  worrying  that the hierarchy might not
133640              exist. For example if we do the following in  Jinja:  {{  inter‐
133641              faces.interface.Ethernet5.config.description  }} for the follow‐
133642              ing object: {'interfaces':  {'interface':  {'Ethernet1':  {'con‐
133643              fig': {'enabled': True}}}}} it would error, as the Ethernet5 key
133644              does not exist.  With this helper, we can skip  this  and  avoid
133645              existence checks. This must be however used with care.
133646
133647              dictionary
133648                     The dictionary to traverse.
133649
133650              field  The key name or part to traverse in the dictionary.
133651
133652              prepend: None
133653                     The  text  to  prepend  in front of the text. Usually, we
133654                     need to have the name of the field  too  when  generating
133655                     the configuration.
133656
133657              append: None
133658                     Text to append at the end.
133659
133660              quotes: False
133661                     Whether should wrap the text around quotes.
133662
133663              CLI Example:
133664
133665                 salt '*' napalm_formula.render_field "{'enabled': True}" enabled
133666                 # This would return the value of the ``enabled`` leaf key
133667                 salt '*' napalm_formula.render_field "{'enabled': True}" description
133668                 # This would not error
133669
133670              Jinja usage example:
133671
133672                 {%- set config = {'enabled': True, 'description': 'Interface description'} %}
133673                 {{ salt.napalm_formula.render_field(config, 'description', quotes=True) }}
133674
133675              The example above would be rendered on Arista / Cisco as:
133676
133677                 description "Interface description"
133678
133679              While  on  Junos (the semicolon is important to be added, other‐
133680              wise the configuration won't be accepted by Junos):
133681
133682                 description "Interface description";
133683
133684       salt.modules.napalm_formula.render_fields(dictionary, *fields, **opts)
133685              This function works similarly to render_field but for a list  of
133686              fields  from  the same dictionary, rendering, indenting and dis‐
133687              tributing them on separate lines.
133688
133689              dictionary
133690                     The dictionary to traverse.
133691
133692              fields A list of field names or paths in the dictionary.
133693
133694              indent: 0
133695                     The indentation to use, prepended to the rendered field.
133696
133697              separator: \n
133698                     The separator to use between fields.
133699
133700              CLI Example:
133701
133702                 salt '*' napalm_formula.render_fields "{'mtu': 68, 'description': 'Interface description'}" mtu description
133703
133704              Jinja usage example:
133705
133706                 {%- set config={'mtu': 68, 'description': 'Interface description'} %}
133707                 {{ salt.napalm_formula.render_fields(config, 'mtu', 'description', quotes=True) }}
133708
133709              The Jinja example above would generate the following  configura‐
133710              tion:
133711
133712                 mtu "68"
133713                 description "Interface description"
133714
133715       salt.modules.napalm_formula.setval(key, val, dict_=None, delim=':')
133716              Set  a value under the dictionary hierarchy identified under the
133717              key. The target 'foo/bar/baz' returns the  dictionary  hierarchy
133718              {'foo': {'bar': {'baz': {}}}}.
133719
133720              NOTE:
133721                 Currently this doesn't work with integers, i.e.  cannot build
133722                 lists dynamically.
133723
133724              CLI Example:
133725
133726                 salt '*' formula.setval foo:baz:bar True
133727
133728       salt.modules.napalm_formula.traverse(data,  key,  default=None,  delim‐
133729       iter=':')
133730              Traverse  a  dict  or list using a colon-delimited (or otherwise
133731              delimited, using the delimiter param) target string. The  target
133732              foo:bar:0   will  return  data['foo']['bar'][0]  if  this  value
133733              exists, and will otherwise return the dict in the default  argu‐
133734              ment.   Function  will  automatically determine the target type.
133735              The target foo:bar:0 will return data['foo']['bar'][0]  if  data
133736              like      {'foo':{'bar':['baz']}}     ,     if     data     like
133737              {'foo':{'bar':{'0':'baz'}}} then return data['foo']['bar']['0']
133738
133739              CLI Example:
133740
133741                 salt '*' napalm_formula.traverse "{'foo': {'bar': {'baz': True}}}" foo:baz:bar
133742
133743   salt.modules.napalm_mod module
133744   NAPALM helpers
133745       Helpers for the NAPALM modules.
133746
133747       New in version 2017.7.0.
133748
133749
133750       salt.modules.napalm_mod.alive(*args, **kwargs)
133751              Returns the alive status of the connection layer.  The output is
133752              a  dictionary  under  the  usual dictionary output of the NAPALM
133753              modules.
133754
133755              CLI Example:
133756
133757                 salt '*' napalm.alive
133758
133759              Output Example:
133760
133761                 result: True
133762                 out:
133763                     is_alive: False
133764                 comment: ''
133765
133766       salt.modules.napalm_mod.call(*args, **kwargs)
133767              Execute arbitrary methods from the NAPALM library.  To  see  the
133768              expected output, please consult the NAPALM documentation.
133769
133770              NOTE:
133771                 This feature is not recommended to be used in production.  It
133772                 should be used for testing only!
133773
133774              CLI Example:
133775
133776                 salt '*' napalm.call get_lldp_neighbors
133777                 salt '*' napalm.call get_firewall_policies
133778                 salt '*' napalm.call get_bgp_config group='my-group'
133779
133780       salt.modules.napalm_mod.compliance_report(*args, **kwargs)
133781              Return the compliance report.
133782
133783              filepath
133784                     The absolute path to the validation file.
133785
133786                     Changed in version Fluorine.
133787
133788
133789                     Beginning with release codename Fluorine,  this  function
133790                     has   been   enhanced,   to   be  able  to  leverage  the
133791                     multi-engine template rendering of Salt, besides the pos‐
133792                     sibility to retrieve the file source from remote systems,
133793                     the URL schemes supported being:
133794
133795                     · salt://
133796
133797                     · http:// and https://
133798
133799                     · ftp://
133800
133801                     · s3://
133802
133803                     · swift:/
133804
133805                     Or on the local file system (on the Minion).
133806
133807                     NOTE:
133808                        The rendering result does not necessarily need  to  be
133809                        YAML,  instead  it  can  be  any format interpreted by
133810                        Salt's rendering pipeline (including pure Python).
133811
133812              string New in version Fluorine.
133813
133814
133815                     The compliance report send as inline string, to  be  used
133816                     as  the  file  to send through the renderer system. Note,
133817                     not all renderer modules can work with strings; the  'py'
133818                     renderer requires a file, for example.
133819
133820              renderer: jinja|yaml
133821                     New in version Fluorine.
133822
133823
133824                     The renderer pipe to send the file through; this is over‐
133825                     ridden by a "she-bang" at the top of the file.
133826
133827              kwargs Changed in version Fluorine.
133828
133829
133830                     Keyword args to pass to Salt's  compile_template()  func‐
133831                     tion.
133832
133833              CLI Example:
133834
133835                 salt '*' napalm.compliance_report ~/validate.yml
133836                 salt '*' napalm.compliance_report salt://path/to/validator.sls
133837
133838              Validation File Example (pure YAML):
133839
133840                 - get_facts:
133841                     os_version: 4.17
133842
133843                 - get_interfaces_ip:
133844                     Management1:
133845                       ipv4:
133846                         10.0.2.14:
133847                           prefix_length: 24
133848                         _mode: strict
133849
133850              Validation File Example (as Jinja + YAML):
133851
133852                 - get_facts:
133853                     os_version: {{ grains.version }}
133854                 - get_interfaces_ip:
133855                     Loopback0:
133856                       ipv4:
133857                         {{ grains.lo0.ipv4 }}:
133858                           prefix_length: 24
133859                         _mode: strict
133860                 - get_bgp_neighbors: {{ pillar.bgp.neighbors }}
133861
133862              Output Example:
133863
133864                 device1:
133865                     ----------
133866                     comment:
133867                     out:
133868                         ----------
133869                         complies:
133870                             False
133871                         get_facts:
133872                             ----------
133873                             complies:
133874                                 False
133875                             extra:
133876                             missing:
133877                             present:
133878                                 ----------
133879                                 os_version:
133880                                     ----------
133881                                     actual_value:
133882                                         15.1F6-S1.4
133883                                     complies:
133884                                         False
133885                                     nested:
133886                                         False
133887                         get_interfaces_ip:
133888                             ----------
133889                             complies:
133890                                 False
133891                             extra:
133892                             missing:
133893                                 - Management1
133894                             present:
133895                                 ----------
133896                         skipped:
133897                     result:
133898                         True
133899
133900       salt.modules.napalm_mod.config_diff_text(source1=u'candidate',   candi‐
133901       date_path=None, source2=u'running', running_path=None)
133902              New in version Fluorine.
133903
133904
133905              Return the diff, as text, between the two  different  configura‐
133906              tion  sources.   The  sources  can be either specified using the
133907              source1 and source2 arguments when retrieving from  the  managed
133908              network device.
133909
133910              source1: candidate
133911                     The source from where to retrieve the configuration to be
133912                     compared with.  Available  options:  candidate,  running,
133913                     startup. Default: candidate.
133914
133915              candidate_path
133916                     Absolute  or remote path from where to load the candidate
133917                     configuration text. This argument  allows  any  URI  sup‐
133918                     ported  by  cp.get_url),  e.g., salt://, https://, s3://,
133919                     ftp:/, etc.
133920
133921              source2: running
133922                     The source from where to retrieve  the  configuration  to
133923                     compare  with.   Available  options:  candidate, running,
133924                     startup. Default: running.
133925
133926              running_path
133927                     Absolute or remote path from where  to  load  the  runing
133928                     configuration  text.  This  argument  allows any URI sup‐
133929                     ported by cp.get_url), e.g.,  salt://,  https://,  s3://,
133930                     ftp:/, etc.
133931
133932              saltenv: base
133933                     Salt  fileserver  environment  from which to retrieve the
133934                     file.  Ignored if candidate_path or running_path is not a
133935                     salt:// URL.
133936
133937              CLI Example:
133938
133939                 salt '*' napalm.config_diff_text
133940                 salt '*' napalm.config_diff_text candidate_path=https://bit.ly/2mAdq7z
133941                 # Would compare the running config with the configuration available at
133942                 # https://bit.ly/2mAdq7z
133943
133944       salt.modules.napalm_mod.config_diff_tree(source1=u'candidate',   candi‐
133945       date_path=None, source2=u'running', running_path=None)
133946              New in version Fluorine.
133947
133948
133949              Return the diff, as Python  dictionary,  between  two  different
133950              sources.   The sources can be either specified using the source1
133951              and source2 arguments when retrieving from the  managed  network
133952              device.
133953
133954              source1: candidate
133955                     The source from where to retrieve the configuration to be
133956                     compared with.  Available  options:  candidate,  running,
133957                     startup. Default: candidate.
133958
133959              candidate_path
133960                     Absolute  or remote path from where to load the candidate
133961                     configuration text. This argument  allows  any  URI  sup‐
133962                     ported  by  cp.get_url),  e.g., salt://, https://, s3://,
133963                     ftp:/, etc.
133964
133965              source2: running
133966                     The source from where to retrieve  the  configuration  to
133967                     compare  with.   Available  options:  candidate, running,
133968                     startup. Default: running.
133969
133970              running_path
133971                     Absolute or remote path from where  to  load  the  runing
133972                     configuration  text.  This  argument  allows any URI sup‐
133973                     ported by cp.get_url), e.g.,  salt://,  https://,  s3://,
133974                     ftp:/, etc.
133975
133976              saltenv: base
133977                     Salt  fileserver  environment  from which to retrieve the
133978                     file.  Ignored if candidate_path or running_path is not a
133979                     salt:// URL.
133980
133981              CLI Example:
133982
133983                 salt '*' napalm.config_diff_text
133984                 salt '*' napalm.config_diff_text candidate_path=https://bit.ly/2mAdq7z
133985                 # Would compare the running config with the configuration available at
133986                 # https://bit.ly/2mAdq7z
133987
133988              CLI Example:
133989
133990                 salt '*' napalm.config_diff_tree
133991                 salt '*' napalm.config_diff_tree running startup
133992
133993       salt.modules.napalm_mod.config_filter_lines(parent_regex,  child_regex,
133994       source=u'running')
133995              New in version Fluorine.
133996
133997
133998              Return a list of detailed matches, for the configuration  blocks
133999              (parent-child  relationship)  whose  parent respects the regular
134000              expressions configured via the parent_regex  argument,  and  the
134001              child  matches the child_regex regular expression. The result is
134002              a list of dictionaries with the following keys:
134003
134004              · match: a boolean value that tells whether child_regex  matched
134005                any children lines.
134006
134007              · parent: the parent line (as text).
134008
134009              · child:  the  child  line  (as text). If no child line matched,
134010                this field will be None.
134011
134012              NOTE:
134013                 This function is only  available  only  when  the  underlying
134014                 library  ciscoconfparse is installed. See ciscoconfparse mod‐
134015                 ule for more details.
134016
134017              parent_regex
134018                     The regular expression to match the parent  configuration
134019                     lines against.
134020
134021              child_regex
134022                     The  regular  expression to match the child configuration
134023                     lines against.
134024
134025              source: running
134026                     The configuration  type  to  retrieve  from  the  network
134027                     device.  Default:  running.  Available  options: running,
134028                     startup, candidate.
134029
134030              CLI Example:
134031
134032                 salt '*' napalm.config_filter_lines '^interface' 'ip address'
134033                 salt '*' napalm.config_filter_lines '^interface' 'shutdown' source=candidate
134034
134035       salt.modules.napalm_mod.config_find_lines(regex, source=u'running')
134036              New in version Fluorine.
134037
134038
134039              Return the configuration lines that match  the  regular  expres‐
134040              sions  from  the  regex argument. The configuration is read from
134041              the network device interrogated.
134042
134043              regex  The regular expression to match the  configuration  lines
134044                     against.
134045
134046              source: running
134047                     The  configuration  type  to  retrieve  from  the network
134048                     device. Default:  running.  Available  options:  running,
134049                     startup, candidate.
134050
134051              CLI Example:
134052
134053                 salt '*' napalm.config_find_lines '^interface Ethernet1\d'
134054
134055       salt.modules.napalm_mod.config_lines_w_child(parent_regex, child_regex,
134056       source=u'running')
134057                 New in version Fluorine.
134058
134059
134060              Return the configuration lines that match  the  regular  expres‐
134061              sions  from the parent_regex argument, having child lines match‐
134062              ing child_regex.  The configuration is  read  from  the  network
134063              device interrogated.
134064
134065              NOTE:
134066                 This  function  is  only  available  only when the underlying
134067                 library ciscoconfparse is installed. See ciscoconfparse  mod‐
134068                 ule for more details.
134069
134070              parent_regex
134071                     The  regular expression to match the parent configuration
134072                     lines against.
134073
134074              child_regex
134075                     The regular expression to match the  child  configuration
134076                     lines against.
134077
134078              source: running
134079                     The  configuration  type  to  retrieve  from  the network
134080                     device. Default:  running.  Available  options:  running,
134081                     startup, candidate.
134082
134083              CLI Example:
134084
134085                 salt '*' napalm.config_lines_w_child '^interface' 'ip address'
134086                 salt '*' napalm.config_lines_w_child '^interface' 'shutdown' source=candidate
134087
134088       salt.modules.napalm_mod.config_lines_wo_child(parent_regex,
134089       child_regex, source=u'running')
134090                 New in version Fluorine.
134091
134092
134093              Return the configuration lines that match  the  regular  expres‐
134094              sions from the parent_regex argument, having the child lines not
134095              matching child_regex.  The configuration is read from  the  net‐
134096              work device interrogated.
134097
134098              NOTE:
134099                 This  function  is  only  available  only when the underlying
134100                 library ciscoconfparse is installed. See ciscoconfparse  mod‐
134101                 ule for more details.
134102
134103              parent_regex
134104                     The  regular expression to match the parent configuration
134105                     lines against.
134106
134107              child_regex
134108                     The regular expression to match the  child  configuration
134109                     lines against.
134110
134111              source: running
134112                     The  configuration  type  to  retrieve  from  the network
134113                     device. Default:  running.  Available  options:  running,
134114                     startup, candidate.
134115
134116              CLI Example:
134117
134118                 salt '*' napalm.config_lines_wo_child '^interface' 'ip address'
134119                 salt '*' napalm.config_lines_wo_child '^interface' 'shutdown' source=candidate
134120
134121       salt.modules.napalm_mod.config_merge_diff(source=u'running', merge_con‐
134122       fig=None, merge_path=None, saltenv=u'base')
134123              New in version Fluorine.
134124
134125
134126              Return the merge diff, as text, after merging the  merge  config
134127              into  the  configuration  source  requested (without loading the
134128              config on the device).
134129
134130              source: running
134131                     The configuration  type  to  retrieve  from  the  network
134132                     device.  Default:  running.  Available  options: running,
134133                     startup, candidate.
134134
134135              merge_config
134136                     The config to be merged into the initial config, sent  as
134137                     text. This argument is ignored when merge_path is set.
134138
134139              merge_path
134140                     Absolute or remote path from where to load the merge con‐
134141                     figuration text. This argument allows any  URI  supported
134142                     by  cp.get_url),  e.g.,  salt://, https://, s3://, ftp:/,
134143                     etc.
134144
134145              saltenv: base
134146                     Salt fileserver environment from which  to  retrieve  the
134147                     file.  Ignored if merge_path is not a salt:// URL.
134148
134149              CLI Example:
134150
134151                 salt '*' napalm.config_merge_diff merge_path=salt://path/to/merge.cfg
134152
134153       salt.modules.napalm_mod.config_merge_text(source=u'running', merge_con‐
134154       fig=None, merge_path=None, saltenv=u'base')
134155              New in version Fluorine.
134156
134157
134158              Return the merge result of the configuration  from  source  with
134159              the merge configuration, as plain text (without loading the con‐
134160              fig on the device).
134161
134162              source: running
134163                     The configuration  type  to  retrieve  from  the  network
134164                     device.  Default:  running.  Available  options: running,
134165                     startup, candidate.
134166
134167              merge_config
134168                     The config to be merged into the initial config, sent  as
134169                     text. This argument is ignored when merge_path is set.
134170
134171              merge_path
134172                     Absolute or remote path from where to load the merge con‐
134173                     figuration text. This argument allows any  URI  supported
134174                     by  cp.get_url),  e.g.,  salt://, https://, s3://, ftp:/,
134175                     etc.
134176
134177              saltenv: base
134178                     Salt fileserver environment from which  to  retrieve  the
134179                     file.  Ignored if merge_path is not a salt:// URL.
134180
134181              CLI Example:
134182
134183                 salt '*' napalm.config_merge_text merge_path=salt://path/to/merge.cfg
134184
134185       salt.modules.napalm_mod.config_merge_tree(source=u'running', merge_con‐
134186       fig=None, merge_path=None, saltenv=u'base')
134187              New in version Fluorine.
134188
134189
134190              Return the merge tree of the initial_config with the  merge_con‐
134191              fig, as a Python dictionary.
134192
134193              source: running
134194                     The  configuration  type  to  retrieve  from  the network
134195                     device. Default:  running.  Available  options:  running,
134196                     startup, candidate.
134197
134198              merge_config
134199                     The  config to be merged into the initial config, sent as
134200                     text. This argument is ignored when merge_path is set.
134201
134202              merge_path
134203                     Absolute or remote path from where to load the merge con‐
134204                     figuration  text.  This argument allows any URI supported
134205                     by cp.get_url), e.g., salt://,  https://,  s3://,  ftp:/,
134206                     etc.
134207
134208              saltenv: base
134209                     Salt  fileserver  environment  from which to retrieve the
134210                     file.  Ignored if merge_path is not a salt:// URL.
134211
134212              CLI Example:
134213
134214                 salt '*' napalm.config_merge_tree merge_path=salt://path/to/merge.cfg
134215
134216       salt.modules.napalm_mod.config_tree(source=u'running', with_tags=False)
134217              New in version Fluorine.
134218
134219
134220              Transform Cisco IOS style  configuration  to  structured  Python
134221              dictionary.   Depending  on the value of the with_tags argument,
134222              this function may provide different views, valuable in different
134223              situations.
134224
134225              source: running
134226                     The  configuration  type  to  retrieve  from  the network
134227                     device. Default:  running.  Available  options:  running,
134228                     startup, candidate.
134229
134230              with_tags: False
134231                     Whether this function should return a detailed view, with
134232                     tags.
134233
134234              CLI Example:
134235
134236                 salt '*' napalm.config_tree
134237
134238       salt.modules.napalm_mod.junos_call(*args, **kwargs)
134239              New in version Fluorine.
134240
134241
134242              Execute an arbitrary function from the junos  execution  module.
134243              To  check  what  args  and kwargs you must send to the function,
134244              please consult the appropriate documentation.
134245
134246              fun    The name of the function. E.g., set_hostname.
134247
134248              args   List of arguments to send to the junos function invoked.
134249
134250              kwargs Dictionary of key-value arguments to  send  to  the  juno
134251                     function invoked.
134252
134253              CLI Example:
134254
134255                 salt '*' napalm.junos_fun cli 'show system commit'
134256
134257       salt.modules.napalm_mod.junos_cli(*args, **kwargs)
134258              New in version Fluorine.
134259
134260
134261              Execute  a  CLI  command  and return the output in the specified
134262              format.
134263
134264              command
134265                     The command to execute on the Junos CLI.
134266
134267              format: text
134268                     Format in which to get the CLI  output  (either  text  or
134269                     xml).
134270
134271              dev_timeout: 30
134272                     The NETCONF RPC timeout (in seconds).
134273
134274              dest   Destination  file  where  the  RPC output is stored. Note
134275                     that the file will be stored on the Proxy Minion. To push
134276                     the files to the Master, use cp.push.
134277
134278              CLI Example:
134279
134280                 salt '*' napalm.junos_cli 'show lldp neighbors'
134281
134282       salt.modules.napalm_mod.junos_commit(*args, **kwargs)
134283              New in version Fluorine.
134284
134285
134286              Commit the changes loaded in the candidate configuration.
134287
134288              dev_timeout: 30
134289                     The NETCONF RPC timeout (in seconds).
134290
134291              comment
134292                     Provide a comment for the commit.
134293
134294              confirm
134295                     Provide  time in minutes for commit confirmation. If this
134296                     option is specified, the commit will be  rolled  back  in
134297                     the  specified  amount  of time unless the commit is con‐
134298                     firmed.
134299
134300              sync: False
134301                     When True, on dual control plane systems,  requests  that
134302                     the  candidate  configuration  on  one  control  plane be
134303                     copied to the other control plane,  checked  for  correct
134304                     syntax, and committed on both Routing Engines.
134305
134306              force_sync: False
134307                     When  True, on dual control plane systems, force the can‐
134308                     didate configuration on one control plane to be copied to
134309                     the other control plane.
134310
134311              full   When True, requires all the daemons to check and evaluate
134312                     the new configuration.
134313
134314              detail When True, return commit detail.
134315
134316              CLI Examples:
134317
134318                 salt '*' napalm.junos_commit comment='Commitiing via Salt' detail=True
134319                 salt '*' napalm.junos_commit dev_timeout=60 confirm=10
134320                 salt '*' napalm.junos_commit sync=True dev_timeout=90
134321
134322       salt.modules.napalm_mod.junos_copy_file(*args, **kwargs)
134323              New in version Fluorine.
134324
134325
134326              Copies the file on the remote Junos device.
134327
134328              src    The source file path. This  argument  accepts  the  usual
134329                     Salt  URIs  (e.g.,  salt://,  http://,  https://,  s3://,
134330                     ftp://, etc.).
134331
134332              dst    The destination path on the  device  where  to  copy  the
134333                     file.
134334
134335              CLI Example:
134336
134337                 salt '*' napalm.junos_copy_file https://example.com/junos.cfg /var/tmp/myjunos.cfg
134338
134339       salt.modules.napalm_mod.junos_facts(*args, **kwargs)
134340              New in version Fluorine.
134341
134342
134343              The complete list of Junos facts collected by junos-eznc.
134344
134345              CLI Example:
134346
134347                 salt '*' napalm.junos_facts
134348
134349       salt.modules.napalm_mod.junos_install_os(*args, **kwargs)
134350              New in version Fluorine.
134351
134352
134353              Installs the given image on the device.
134354
134355              path   The image file source. This argument supports the follow‐
134356                     ing URIs:
134357
134358                     · Absolute path on the Minion.
134359
134360                     · salt:// to fetch from the Salt fileserver.
134361
134362                     · http:// and https://
134363
134364                     · ftp://
134365
134366                     · swift:/
134367
134368                     · s3://
134369
134370              dev_timeout: 30
134371                     The NETCONF RPC timeout (in seconds)
134372
134373              reboot: False
134374                     Whether to reboot the device after  the  installation  is
134375                     complete.
134376
134377              no_copy: False
134378                     If  True  the  software package will not be copied to the
134379                     remote device.
134380
134381              CLI Example:
134382
134383                 salt '*' napalm.junos_install_os salt://images/junos_16_1.tgz reboot=True
134384
134385       salt.modules.napalm_mod.junos_rpc(*args, **kwargs)
134386              New in version Fluorine.
134387
134388
134389              Execute an RPC request on the remote Junos device.
134390
134391              cmd    The RPC request to the executed.  To  determine  the  RPC
134392                     request,  you  can check the from the command line of the
134393                     device, by executing the usual command followed by | dis‐
134394                     play  xml  rpc,  e.g.,  show lldp neighbors | display xml
134395                     rpc.
134396
134397              dest   Destination file where the RPC  output  is  stored.  Note
134398                     that the file will be stored on the Proxy Minion. To push
134399                     the files to the Master, use cp.push Execution function.
134400
134401              format: xml
134402                     The format in which the RPC reply is  received  from  the
134403                     device.
134404
134405              dev_timeout: 30
134406                     The NETCONF RPC timeout.
134407
134408              filter Used  with  the  get-config RPC request to filter out the
134409                     config tree.
134410
134411              terse: False
134412                     Whether to return terse output.
134413
134414                     NOTE:
134415                        Some RPC requests may not support this argument.
134416
134417              interface_name
134418                     Name of the interface to query.
134419
134420              CLI Example:
134421
134422                 salt '*' napalm.junos_rpc get-lldp-neighbors-information
134423                 salt '*' napalm.junos_rcp get-config <configuration><system><ntp/></system></configuration>
134424
134425       salt.modules.napalm_mod.netmiko_args(*args, **kwargs)
134426              New in version Fluorine.
134427
134428
134429              Return the key-value arguments used for the authentication argu‐
134430              ments for the netmiko module.
134431
134432              When  running  in  a non-native NAPALM driver (e.g., panos, f5`,
134433              mos - either from https://github.com/napalm-automation-community
134434              or  defined  in user's own environment, one can specify the Net‐
134435              miko  device  type  (the  device_type  argument)  via  the  net‐
134436              miko_device_type_map configuration option / Pillar key, e.g.,
134437
134438                 netmiko_device_type_map:
134439                   f5: f5_ltm
134440                   dellos10: dell_os10
134441
134442              The  configuration  above defines the mapping between the NAPALM
134443              os Grain and the Netmiko  device_type,  e.g.,  when  the  NAPALM
134444              Grain  is f5, it would use the f5_ltm SSH Netmiko driver to exe‐
134445              cute commands over SSH on the remote network device.
134446
134447              CLI Example:
134448
134449                 salt '*' napalm.netmiko_args
134450
134451       salt.modules.napalm_mod.netmiko_call(*args, **kwargs)
134452              New in version Fluorine.
134453
134454
134455              Execute an arbitrary Netmiko method, passing the  authentication
134456              details from the existing NAPALM connection.
134457
134458              method The name of the Netmiko method to execute.
134459
134460              args   List of arguments to send to the Netmiko method specified
134461                     in method.
134462
134463              kwargs Key-value arguments to send  to  the  execution  function
134464                     specified in method.
134465
134466              CLI Example:
134467
134468                 salt '*' napalm.netmiko_call send_command 'show version'
134469
134470       salt.modules.napalm_mod.netmiko_commands(*args, **kwargs)
134471              New in version Fluorine.
134472
134473
134474              Invoke one or more commands to be executed on the remote device,
134475              via Netmiko.  Returns a list of strings, with  the  output  from
134476              each command.
134477
134478              commands
134479                     A list of commands to be executed.
134480
134481              expect_string
134482                     Regular  expression pattern to use for determining end of
134483                     output.  If left blank will default  to  being  based  on
134484                     router prompt.
134485
134486              delay_factor: 1
134487                     Multiplying factor used to adjust delays (default: 1).
134488
134489              max_loops: 500
134490                     Controls wait time in conjunction with delay_factor. Will
134491                     default to be based upon self.timeout.
134492
134493              auto_find_prompt: True
134494                     Whether it should try to auto-detect the prompt (default:
134495                     True).
134496
134497              strip_prompt: True
134498                     Remove   the  trailing  router  prompt  from  the  output
134499                     (default: True).
134500
134501              strip_command: True
134502                     Remove the echo of the command from the output  (default:
134503                     True).
134504
134505              normalize: True
134506                     Ensure  the  proper  enter  is  sent  at  end  of command
134507                     (default: True).
134508
134509              use_textfsm: False
134510                     Process command output through TextFSM template (default:
134511                     False).
134512
134513              CLI Example:
134514
134515                 salt '*' napalm.netmiko_commands 'show version' 'show interfaces'
134516
134517       salt.modules.napalm_mod.netmiko_config(*args, **kwargs)
134518              New in version Fluorine.
134519
134520
134521              Load  a list of configuration commands on the remote device, via
134522              Netmiko.
134523
134524              WARNING:
134525                 Please remember that netmiko does not have any rollback safe‐
134526                 guards  and  any configuration change will be directly loaded
134527                 into the running config if the platform doesn't have the con‐
134528                 cept of candidate config.
134529
134530                 On  Junos,  or other platforms that have this capability, the
134531                 changes will not be loaded into the running config,  and  the
134532                 user  must  set  the  commit argument to True to transfer the
134533                 changes from the candidate into  the  running  config  before
134534                 exiting.
134535
134536              config_commands
134537                     A  list  of  configuration  commands  to be loaded on the
134538                     remote device.
134539
134540              config_file
134541                     Read the configuration commands from a file. The file can
134542                     equally  be  a  template  that  can be rendered using the
134543                     engine of choice (see template_engine).
134544
134545                     This can be specified using  the  absolute  path  to  the
134546                     file, or using one of the following URL schemes:
134547
134548                     · salt://, to fetch the file from the Salt fileserver.
134549
134550                     · http:// or https://
134551
134552                     · ftp://
134553
134554                     · s3://
134555
134556                     · swift://
134557
134558              exit_config_mode: True
134559                     Determines  whether or not to exit config mode after com‐
134560                     plete.
134561
134562              delay_factor: 1
134563                     Factor to adjust delays.
134564
134565              max_loops: 150
134566                     Controls  wait  time  in  conjunction  with  delay_factor
134567                     (default: 150).
134568
134569              strip_prompt: False
134570                     Determines  whether  or not to strip the prompt (default:
134571                     False).
134572
134573              strip_command: False
134574                     Determines whether or not to strip the command  (default:
134575                     False).
134576
134577              config_mode_command
134578                     The command to enter into config mode.
134579
134580              commit: False
134581                     Commit  the configuration changes before exiting the con‐
134582                     fig mode. This option is by  default  disabled,  as  many
134583                     platforms don't have this capability natively.
134584
134585              CLI Example:
134586
134587                 salt '*' napalm.netmiko_config 'set system ntp peer 1.2.3.4' commit=True
134588                 salt '*' napalm.netmiko_config https://bit.ly/2sgljCB
134589
134590       salt.modules.napalm_mod.netmiko_conn(*args, **kwargs)
134591              New in version Fluorine.
134592
134593
134594              Return  the connection object with the network device, over Net‐
134595              miko, passing  the  authentication  details  from  the  existing
134596              NAPALM connection.
134597
134598              WARNING:
134599                 This  function  is not suitable for CLI usage, more rather to
134600                 be used in various Salt modules.
134601
134602              USAGE Example:
134603
134604                 conn = __salt__['napalm.netmiko_conn']()
134605                 res = conn.send_command('show interfaces')
134606                 conn.disconnect()
134607
134608       salt.modules.napalm_mod.netmiko_fun(*args, **kwargs)
134609              New in version Fluorine.
134610
134611
134612              Call an arbitrary function from the Netmiko module, passing  the
134613              authentication details from the existing NAPALM connection.
134614
134615              fun    The name of the function from the Netmiko to invoke.
134616
134617              args   List of arguments to send to the execution function spec‐
134618                     ified in fun.
134619
134620              kwargs Key-value arguments to send  to  the  execution  function
134621                     specified in fun.
134622
134623              CLI Example:
134624
134625                 salt '*' napalm.netmiko_fun send_command 'show version'
134626
134627       salt.modules.napalm_mod.netmiko_multi_call(*args, **kwargs)
134628              New in version Fluorine.
134629
134630
134631              Execute a list of arbitrary Netmiko methods, passing the authen‐
134632              tication details from the existing NAPALM connection.
134633
134634              methods
134635                     List of dictionaries with the following keys:
134636
134637                     · name: the name of the Netmiko function to invoke.
134638
134639                     · args: list of arguments to send to the name method.
134640
134641                     · kwargs: key-value arguments to send to the name method.
134642
134643              CLI Example:
134644
134645                 salt '*' napalm.netmiko_multi_call "{'name': 'send_command', 'args': ['show version']}" "{'name': 'send_command', 'args': ['show interfaces']}"
134646
134647       salt.modules.napalm_mod.nxos_api_config(*args, **kwargs)
134648                 New in version Fluorine.
134649
134650
134651              Configures the Nexus switch with the specified commands, via the
134652              NX-API.
134653
134654              commands
134655                     The  list  of configuration commands to load on the Nexus
134656                     switch.
134657
134658                     NOTE:
134659                        This argument is ignored when  config_file  is  speci‐
134660                        fied.
134661
134662              config_file
134663                     The  source  file  with  the configuration commands to be
134664                     sent to the device.
134665
134666                     The file can also be a  template  that  can  be  rendered
134667                     using  the  template engine of choice. This can be speci‐
134668                     fied using the absolute path to the file, or using one of
134669                     the following URL schemes:
134670
134671                     · salt://
134672
134673                     · https://
134674
134675                     · ftp:/
134676
134677                     · s3:/
134678
134679                     · swift://
134680
134681              template_engine: jinja
134682                     The  template  engine  to  use  when rendering the source
134683                     file. Default: jinja. To simply fetch  the  file  without
134684                     attempting to render, set this argument to None.
134685
134686              context: None
134687                     Variables to add to the template context.
134688
134689              defaults: None
134690                     Default values of the context dict.
134691
134692              saltenv: base
134693                     Salt  fileserver  environment  from which to retrieve the
134694                     file. Ignored if config_file is not a salt:// URL.
134695
134696              CLI Example:
134697
134698                 salt '*' napalm.nxos_api_config 'spanning-tree mode mstp'
134699                 salt '*' napalm.nxos_api_config config_file=https://bit.ly/2LGLcDy context="{'servers': ['1.2.3.4']}"
134700
134701       salt.modules.napalm_mod.nxos_api_rpc(*args, **kwargs)
134702              New in version Fluorine.
134703
134704
134705              Execute an arbitrary RPC request via the Nexus API.
134706
134707              commands
134708                     The RPC commands to be executed.
134709
134710              method: cli
134711                     The type of the response, i.e., raw text  (cli_ascii)  or
134712                     structured  document  (cli).  Defaults to cli (structured
134713                     data).
134714
134715              CLI Example:
134716
134717                 salt '*' napalm.nxos_api_rpc 'show version'
134718
134719       salt.modules.napalm_mod.nxos_api_show(*args, **kwargs)
134720              New in version Fluorine.
134721
134722
134723              Execute one or more show (non-configuration) commands.
134724
134725              commands
134726                     The commands to be executed.
134727
134728              raw_text: True
134729                     Whether to return raw text or structured data.
134730
134731              CLI Example:
134732
134733                 salt '*' napalm.nxos_api_show 'show version'
134734                 salt '*' napalm.nxos_api_show 'show bgp sessions' 'show processes' raw_text=False
134735
134736       salt.modules.napalm_mod.pyeapi_call(*args, **kwargs)
134737              New in version Fluorine.
134738
134739
134740              Invoke an arbitrary method from the pyeapi library.  This  func‐
134741              tion   forwards   the   existing   connection   details  to  the
134742              pyeapi.run_commands execution function.
134743
134744              method The name of the pyeapi method to invoke.
134745
134746              kwargs Key-value arguments to send to the pyeapi method.
134747
134748              CLI Example:
134749
134750                 salt '*' napalm.pyeapi_call run_commands 'show version' encoding=text
134751                 salt '*' napalm.pyeapi_call get_config as_string=True
134752
134753       salt.modules.napalm_mod.pyeapi_config(*args, **kwargs)
134754              New in version Fluorine.
134755
134756
134757              Configures the Arista switch with the  specified  commands,  via
134758              the  pyeapi library. This function forwards the existing connec‐
134759              tion details to the pyeapi.run_commands execution function.
134760
134761              commands
134762                     The list of configuration commands to load on the  Arista
134763                     switch.
134764
134765                     NOTE:
134766                        This  argument  is  ignored when config_file is speci‐
134767                        fied.
134768
134769              config_file
134770                     The source file with the  configuration  commands  to  be
134771                     sent to the device.
134772
134773                     The  file  can  also  be  a template that can be rendered
134774                     using the template engine of choice. This can  be  speci‐
134775                     fied using the absolute path to the file, or using one of
134776                     the following URL schemes:
134777
134778                     · salt://
134779
134780                     · https://
134781
134782                     · ftp:/
134783
134784                     · s3:/
134785
134786                     · swift://
134787
134788              template_engine: jinja
134789                     The template engine to  use  when  rendering  the  source
134790                     file.  Default:  jinja.  To simply fetch the file without
134791                     attempting to render, set this argument to None.
134792
134793              context: None
134794                     Variables to add to the template context.
134795
134796              defaults: None
134797                     Default values of the context dict.
134798
134799              saltenv: base
134800                     Salt fileserver environment from which  to  retrieve  the
134801                     file. Ignored if config_file is not a salt:// URL.
134802
134803              CLI Example:
134804
134805                 salt '*' napalm.pyeapi_config 'ntp server 1.2.3.4'
134806
134807       salt.modules.napalm_mod.pyeapi_conn(*args, **kwargs)
134808              New in version Fluorine.
134809
134810
134811              Return  the  connection  object  with  the  Arista  switch, over
134812              pyeapi, passing the authentication  details  from  the  existing
134813              NAPALM connection.
134814
134815              WARNING:
134816                 This  function  is not suitable for CLI usage, more rather to
134817                 be used in various Salt modules, to reusing  the  established
134818                 connection,  as  in  opposite to opening a new connection for
134819                 each task.
134820
134821              Usage example:
134822
134823                 conn = __salt__['napalm.pyeapi_conn']()
134824                 res1 = conn.run_commands('show version')
134825                 res2 = conn.get_config(as_string=True)
134826
134827       salt.modules.napalm_mod.pyeapi_nxos_api_args(**prev_kwargs)
134828              New in version Fluorine.
134829
134830
134831              Return the key-value arguments used for the authentication argu‐
134832              ments for the pyeapi execution module.
134833
134834              CLI Example:
134835
134836                 salt '*' napalm.pyeapi_nxos_api_args
134837
134838       salt.modules.napalm_mod.pyeapi_run_commands(*args, **kwargs)
134839              Execute  a list of commands on the Arista switch, via the pyeapi
134840              library.  This function forwards the existing connection details
134841              to the pyeapi.run_commands execution function.
134842
134843              commands
134844                     A list of commands to execute.
134845
134846              encoding: json
134847                     The  requested encoding of the command output. Valid val‐
134848                     ues for encoding are json (default) or text.
134849
134850              CLI Example:
134851
134852                 salt '*' napalm.pyeapi_run_commands 'show version' encoding=text
134853                 salt '*' napalm.pyeapi_run_commands 'show ip bgp neighbors'
134854
134855       salt.modules.napalm_mod.reconnect(*args, **kwargs)
134856              Reconnect the NAPALM proxy when the connection is dropped by the
134857              network  device.   The  connection can be forced to be restarted
134858              using the force argument.
134859
134860              NOTE:
134861                 This function can be used only when running proxy minions.
134862
134863              CLI Example:
134864
134865                 salt '*' napalm.reconnect
134866                 salt '*' napalm.reconnect force=True
134867
134868       salt.modules.napalm_mod.rpc(*args, **kwargs)
134869              New in version Fluorine.
134870
134871
134872              This is a wrapper to execute RPC  requests  on  various  network
134873              operating  systems  supported  by NAPALM, invoking the following
134874              functions for the NAPALM native drivers:
134875
134876              · napalm.junos_rpc for junos
134877
134878              · napalm.pyeapi_run_commands for eos
134879
134880              · napalm.nxos_api_rpc for nxos
134881
134882              · napalm.netmiko_commands for ios, iosxr, and nxos_ssh
134883
134884              command
134885                     The RPC command to execute. This depends on the nature of
134886                     the operating system.
134887
134888              kwargs Key-value  arguments  to be sent to the underlying Execu‐
134889                     tion function.
134890
134891              The function capabilities are extensible in the user environment
134892              via the napalm_rpc_map configuration option / Pillar, e.g.,
134893
134894                 napalm_rpc_map:
134895                   f5: napalm.netmiko_commands
134896                   panos: panos.call
134897
134898              The  mapping  above  reads: when the NAPALM os Grain is f5, then
134899              call napalm.netmiko_commands for RPC requests.
134900
134901              By default, if the user does not  specify  any  map,  non-native
134902              NAPALM drivers will invoke the napalm.netmiko_commands Execution
134903              function.
134904
134905              CLI Example:
134906
134907                 salt '*' napalm.rpc 'show version'
134908                 salt '*' napalm.rpc get-interfaces
134909
134910       salt.modules.napalm_mod.scp_get(remote_path,   local_path=u'',   recur‐
134911       sive=False, preserve_times=False, **kwargs)
134912              New in version Fluorine.
134913
134914
134915              Transfer files and directories from remote network device to the
134916              localhost of the Minion.
134917
134918              NOTE:
134919                 This function is only  available  only  when  the  underlying
134920                 library scp is installed. See scp module for more details.
134921
134922              remote_path
134923                     Path  to  retrieve from remote host. Since this is evalu‐
134924                     ated by scp on the remote host, shell wildcards and envi‐
134925                     ronment variables may be used.
134926
134927              recursive: False
134928                     Transfer files and directories recursively.
134929
134930              preserve_times: False
134931                     Preserve  mtime and atime of transferred files and direc‐
134932                     tories.
134933
134934              passphrase
134935                     Used for decrypting private keys.
134936
134937              pkey   An optional private key to use for authentication.
134938
134939              key_filename
134940                     The filename, or list of filenames, of  optional  private
134941                     key(s) and/or certificates to try for authentication.
134942
134943              timeout
134944                     An optional timeout (in seconds) for the TCP connect.
134945
134946              socket_timeout: 10
134947                     The channel socket timeout in seconds.
134948
134949              buff_size: 16384
134950                     The size of the SCP send buffer.
134951
134952              allow_agent: True
134953                     Set to False to disable connecting to the SSH agent.
134954
134955              look_for_keys: True
134956                     Set  to  False to disable searching for discoverable pri‐
134957                     vate key files in ~/.ssh/
134958
134959              banner_timeout
134960                     An optional timeout (in seconds) to wait for the SSH ban‐
134961                     ner to be presented.
134962
134963              auth_timeout
134964                     An optional timeout (in seconds) to wait for an authenti‐
134965                     cation response.
134966
134967              auto_add_policy: False
134968                     Automatically add the host to the known_hosts.
134969
134970              CLI Example:
134971
134972                 salt '*' napalm.scp_get /var/tmp/file /tmp/file auto_add_policy=True
134973
134974       salt.modules.napalm_mod.scp_put(files,     remote_path=None,     recur‐
134975       sive=False, preserve_times=False, saltenv=u'base', **kwargs)
134976              New in version Fluorine.
134977
134978
134979              Transfer files and directories to remote network device.
134980
134981              NOTE:
134982                 This  function  is  only  available  only when the underlying
134983                 library scp is installed. See scp module for more details.
134984
134985              files  A single path or a list of paths to be transferred.
134986
134987              remote_path
134988                     The path on the remote device where to store the files.
134989
134990              recursive: True
134991                     Transfer files and directories recursively.
134992
134993              preserve_times: False
134994                     Preserve mtime and atime of transferred files and  direc‐
134995                     tories.
134996
134997              saltenv: base
134998                     The  name  of the Salt environment. Ignored when files is
134999                     not a salt:// URL.
135000
135001              hostname
135002                     The hostname of the remote device.
135003
135004              port: 22
135005                     The port of the remote device.
135006
135007              username
135008                     The username  required  for  SSH  authentication  on  the
135009                     device.
135010
135011              password
135012                     Used  for  password  authentication.  It is also used for
135013                     private key decryption if passphrase is not given.
135014
135015              passphrase
135016                     Used for decrypting private keys.
135017
135018              pkey   An optional private key to use for authentication.
135019
135020              key_filename
135021                     The filename, or list of filenames, of  optional  private
135022                     key(s) and/or certificates to try for authentication.
135023
135024              timeout
135025                     An optional timeout (in seconds) for the TCP connect.
135026
135027              socket_timeout: 10
135028                     The channel socket timeout in seconds.
135029
135030              buff_size: 16384
135031                     The size of the SCP send buffer.
135032
135033              allow_agent: True
135034                     Set to False to disable connecting to the SSH agent.
135035
135036              look_for_keys: True
135037                     Set  to  False to disable searching for discoverable pri‐
135038                     vate key files in ~/.ssh/
135039
135040              banner_timeout
135041                     An optional timeout (in seconds) to wait for the SSH ban‐
135042                     ner to be presented.
135043
135044              auth_timeout
135045                     An optional timeout (in seconds) to wait for an authenti‐
135046                     cation response.
135047
135048              auto_add_policy: False
135049                     Automatically add the host to the known_hosts.
135050
135051              CLI Example:
135052
135053                 salt '*' napalm.scp_put /path/to/file /var/tmp/file auto_add_policy=True
135054
135055   salt.modules.napalm_network module
135056   NAPALM Network
135057       Basic methods for interaction with the network device through the  vir‐
135058       tual proxy 'napalm'.
135059
135060       codeauthor
135061              Mircea   Ulinic   <mircea@cloudflare.com>  &  Jerome  Fleury  <‐
135062              jf@cloudflare.com>
135063
135064       maturity
135065              new
135066
135067       depends
135068              napalm
135069
135070       platform
135071              unix
135072
135073   Dependencies
135074       · napalm proxy minion
135075
135076       New in version 2016.11.0.
135077
135078
135079       Changed in version 2017.7.0.
135080
135081
135082       salt.modules.napalm_network.arp(*args, **kwargs)
135083              NAPALM returns a list of dictionaries with details  of  the  ARP
135084              entries.
135085
135086              Parameters
135087
135088                     · interface -- interface name to filter on
135089
135090                     · ipaddr -- IP address to filter on
135091
135092                     · macaddr -- MAC address to filter on
135093
135094              Returns
135095                     List of the entries in the ARP table
135096
135097              CLI Example:
135098
135099                 salt '*' net.arp
135100                 salt '*' net.arp macaddr='5c:5e:ab:da:3c:f0'
135101
135102              Example output:
135103
135104                 [
135105                     {
135106                         'interface' : 'MgmtEth0/RSP0/CPU0/0',
135107                         'mac'       : '5c:5e:ab:da:3c:f0',
135108                         'ip'        : '172.17.17.1',
135109                         'age'       : 1454496274.84
135110                     },
135111                     {
135112                         'interface': 'MgmtEth0/RSP0/CPU0/0',
135113                         'mac'       : '66:0e:94:96:e0:ff',
135114                         'ip'        : '172.17.17.2',
135115                         'age'       : 1435641582.49
135116                     }
135117                 ]
135118
135119       salt.modules.napalm_network.blockreplace(marker_start, marker_end, con‐
135120       tent=u'',    append_if_not_found=False,     prepend_if_not_found=False,
135121       show_changes=True,  append_newline=False, source=u'running', path=None,
135122       test=False, commit=True, debug=False, replace=True)
135123              New in version Fluorine.
135124
135125
135126              Replace content of the configuration source,  delimited  by  the
135127              line markers.
135128
135129              A  block  of  content  delimited by comments can help you manage
135130              several lines without worrying about old entries removal.
135131
135132              marker_start
135133                     The line content identifying a line as the start  of  the
135134                     content  block.  Note that the whole line containing this
135135                     marker will be considered, so whitespace or extra content
135136                     before or after the marker is included in final output.
135137
135138              marker_end
135139                     The  line  content  identifying  a line as the end of the
135140                     content block.  Note that the whole line containing  this
135141                     marker will be considered, so whitespace or extra content
135142                     before or after the marker is included in final output.
135143
135144              content
135145                     The content to be used between the two  lines  identified
135146                     by marker_start and marker_stop.
135147
135148              append_if_not_found: False
135149                     If  markers are not found and set to True then, the mark‐
135150                     ers and content will be appended to the file.
135151
135152              prepend_if_not_found: False
135153                     If markers are not found and set to True then, the  mark‐
135154                     ers and content will be prepended to the file.
135155
135156              append_newline: False
135157                     Controls whether or not a newline is appended to the con‐
135158                     tent block.  If the value of this argument is True then a
135159                     newline  will  be  added  to  the content block. If it is
135160                     False, then a newline will not be added  to  the  content
135161                     block. If it is None then a newline will only be added to
135162                     the content block if it does not already end  in  a  new‐
135163                     line.
135164
135165              show_changes: True
135166                     Controls  how  changes are presented. If True, this func‐
135167                     tion will return the of the changes made.  If False, then
135168                     it  will return a boolean (True if any changes were made,
135169                     otherwise False).
135170
135171              source: running
135172                     The configuration source. Choose  from:  running,  candi‐
135173                     date, or startup. Default: running.
135174
135175              path: None
135176                     Save the temporary configuration to a specific path, then
135177                     read from there. This argument is optional, can  be  used
135178                     when  you  prefers a particular location of the temporary
135179                     file.
135180
135181              test: False
135182                     Dry run? If set as True, will apply the  config,  discard
135183                     and  return  the  changes. Default: False and will commit
135184                     the changes on the device.
135185
135186              commit: True
135187                     Commit the configuration changes? Default: True.
135188
135189              debug: False
135190                     Debug mode. Will insert a new key in the  output  dictio‐
135191                     nary,  as  loaded_config containing the raw configuration
135192                     loaded on the device.
135193
135194              replace: True
135195                     Load and replace the configuration. Default: True.
135196
135197              CLI Example:
135198
135199                 salt '*' net.blockreplace 'ntp' 'interface' ''
135200
135201       salt.modules.napalm_network.cancel_commit(jid)
135202              New in version Fluorine.
135203
135204
135205              Cancel a commit scheduled to be executed via the  commit_in  and
135206              commit_at    arguments    from    the    net.load_template    or
135207              net.load_config execution functions. The commit ID is  displayed
135208              when the commit is scheduled via the functions named above.
135209
135210              CLI Example:
135211
135212                 salt '*' net.cancel_commit 20180726083540640360
135213
135214       salt.modules.napalm_network.cli(*args, **kwargs)
135215              Returns  a dictionary with the raw output of all commands passed
135216              as arguments.
135217
135218              commands
135219                     List of commands to be executed on the device.
135220
135221              textfsm_parse: False
135222                     Try parsing the outputs using the TextFSM templates.
135223
135224                     New in version 2018.3.0.
135225
135226
135227                     NOTE:
135228                        This option can be also specified in the  minion  con‐
135229                        figuration file or pillar as napalm_cli_textfsm_parse.
135230
135231              textfsm_path
135232                     The  path  where the TextFSM templates can be found. This
135233                     option implies the  usage  of  the  TextFSM  index  file.
135234                     textfsm_path  can  be either absolute path on the server,
135235                     either  specified  using  the  following  URL   mschemes:
135236                     file://,   salt://,  http://,  https://,  ftp://,  s3://,
135237                     swift://.
135238
135239                     New in version 2018.3.0.
135240
135241
135242                     NOTE:
135243                        This needs to be a directory with  a  flat  structure,
135244                        having  an  index  file  (whose  name can be specified
135245                        using the index_file option) and a number  of  TextFSM
135246                        templates.
135247
135248                     NOTE:
135249                        This  option  can be also specified in the minion con‐
135250                        figuration file or pillar as textfsm_path.
135251
135252              textfsm_template
135253                     The path to a certain the TextFSM template.  This can  be
135254                     specified  using  the absolute path to the file, or using
135255                     one of the following URL schemes:
135256
135257                     · salt://, to fetch the  template  from  the  Salt  file‐
135258                       server.
135259
135260                     · http:// or https://
135261
135262                     · ftp://
135263
135264                     · s3://
135265
135266                     · swift://
135267
135268                     New in version 2018.3.0.
135269
135270
135271              textfsm_template_dict
135272                     A  dictionary  with the mapping between a command and the
135273                     corresponding TextFSM path to use to  extract  the  data.
135274                     The  TextFSM  paths  can  be specified as in textfsm_tem‐
135275                     plate.
135276
135277                     New in version 2018.3.0.
135278
135279
135280                     NOTE:
135281                        This option can be also specified in the  minion  con‐
135282                        figuration  file  or pillar as napalm_cli_textfsm_tem‐
135283                        plate_dict.
135284
135285              platform_grain_name: os
135286                     The name of the grain used to identify the platform  name
135287                     in the TextFSM index file. Default: os.
135288
135289                     New in version 2018.3.0.
135290
135291
135292                     NOTE:
135293                        This  option  can be also specified in the minion con‐
135294                        figuration file or pillar as textfsm_platform_grain.
135295
135296              platform_column_name: Platform
135297                     The column name used to identify the platform, exactly as
135298                     specified in the TextFSM index file.  Default: Platform.
135299
135300                     New in version 2018.3.0.
135301
135302
135303                     NOTE:
135304                        This  is  field is case sensitive, make sure to assign
135305                        the correct value to this option, exactly  as  defined
135306                        in the index file.
135307
135308                     NOTE:
135309                        This  option  can be also specified in the minion con‐
135310                        figuration file  or  pillar  as  textfsm_platform_col‐
135311                        umn_name.
135312
135313              index_file: index
135314                     The   name   of   the   TextFSM  index  file,  under  the
135315                     textfsm_path. Default: index.
135316
135317                     New in version 2018.3.0.
135318
135319
135320                     NOTE:
135321                        This option can be also specified in the  minion  con‐
135322                        figuration file or pillar as textfsm_index_file.
135323
135324              saltenv: base
135325                     Salt  fileserver  envrionment  from which to retrieve the
135326                     file.  Ignored if textfsm_path is not a salt:// URL.
135327
135328                     New in version 2018.3.0.
135329
135330
135331              include_empty: False
135332                     Include empty files under the textfsm_path.
135333
135334                     New in version 2018.3.0.
135335
135336
135337              include_pat
135338                     Glob or regex to narrow down the files  cached  from  the
135339                     given  path.  If matching with a regex, the regex must be
135340                     prefixed with E@, otherwise the expression will be inter‐
135341                     preted as a glob.
135342
135343                     New in version 2018.3.0.
135344
135345
135346              exclude_pat
135347                     Glob  or regex to exclude certain files from being cached
135348                     from the given path.  If matching with a regex, the regex
135349                     must  be  prefixed with E@, otherwise the expression will
135350                     be interpreted as a glob.
135351
135352                     New in version 2018.3.0.
135353
135354
135355                     NOTE:
135356                        If used with include_pat, files matching this  pattern
135357                        will  be  excluded from the subset of files defined by
135358                        include_pat.
135359
135360              CLI Example:
135361
135362                 salt '*' net.cli "show version" "show chassis fan"
135363
135364              CLI Example with TextFSM template:
135365
135366                 salt '*' net.cli textfsm_parse=True textfsm_path=salt://textfsm/
135367
135368              Example output:
135369
135370                 {
135371                     'show version and haiku':  'Hostname: re0.edge01.arn01
135372                                                   Model: mx480
135373                                                   Junos: 13.3R6.5
135374                                                     Help me, Obi-Wan
135375                                                     I just saw Episode Two
135376                                                     You're my only hope
135377                                                  ',
135378                     'show chassis fan' :   'Item                      Status   RPM     Measurement
135379                                               Top Rear Fan              OK       3840    Spinning at intermediate-speed
135380                                               Bottom Rear Fan           OK       3840    Spinning at intermediate-speed
135381                                               Top Middle Fan            OK       3900    Spinning at intermediate-speed
135382                                               Bottom Middle Fan         OK       3840    Spinning at intermediate-speed
135383                                               Top Front Fan             OK       3810    Spinning at intermediate-speed
135384                                               Bottom Front Fan          OK       3840    Spinning at intermediate-speed
135385                                              '
135386                 }
135387
135388              Example output with TextFSM parsing:
135389
135390                 {
135391                   "comment": "",
135392                   "result": true,
135393                   "out": {
135394                     "sh ver": [
135395                       {
135396                         "kernel": "9.1S3.5",
135397                         "documentation": "9.1S3.5",
135398                         "boot": "9.1S3.5",
135399                         "crypto": "9.1S3.5",
135400                         "chassis": "",
135401                         "routing": "9.1S3.5",
135402                         "base": "9.1S3.5",
135403                         "model": "mx960"
135404                       }
135405                     ]
135406                   }
135407                 }
135408
135409       salt.modules.napalm_network.commit(*args, **kwargs)
135410              Commits the configuration changes made on the network device.
135411
135412              CLI Example:
135413
135414                 salt '*' net.commit
135415
135416       salt.modules.napalm_network.compare_config(*args, **kwargs)
135417              Returns the difference between the running config and the candi‐
135418              date config.
135419
135420              CLI Example:
135421
135422                 salt '*' net.compare_config
135423
135424       salt.modules.napalm_network.config(*args, **kwargs)
135425              New in version 2017.7.0.
135426
135427
135428              Return  the  whole  configuration  of  the  network  device.  By
135429              default, it will return all possible configuration sources  sup‐
135430              ported by the network device.  At most, there will be:
135431
135432              · running config
135433
135434              · startup config
135435
135436              · candidate config
135437
135438              To return only one of the configurations, you can use the source
135439              argument.
135440
135441              source Which configuration type you want to display, default  is
135442                     all of them.
135443
135444                     Options:
135445
135446                     · running
135447
135448                     · candidate
135449
135450                     · startup
135451
135452              Returns
135453                     The  object  returned  is a dictionary with the following
135454                     keys:
135455
135456                     · running (string): Representation of the native  running
135457                       configuration.
135458
135459                     ·
135460
135461                       candidate (string): Representation of the native candi‐
135462                       date configuration.
135463                              If the device doesn't differentiate between run‐
135464                              ning  and  startup  configuration  this  will an
135465                              empty string.
135466
135467                     ·
135468
135469                       startup (string): Representation of the native  startup
135470                       configuration.
135471                              If the device doesn't differentiate between run‐
135472                              ning and  startup  configuration  this  will  an
135473                              empty string.
135474
135475
135476              CLI Example:
135477
135478                 salt '*' net.config
135479                 salt '*' net.config source=candidate
135480
135481       salt.modules.napalm_network.config_changed(*args, **kwargs)
135482              Will prompt if the configuration has been changed.
135483
135484              Returns
135485                     A  tuple  with a boolean that specifies if the config was
135486                     changed on the device.    And a string that provides more
135487                     details  of  the  reason  why  the  configuration was not
135488                     changed.
135489
135490              CLI Example:
135491
135492                 salt '*' net.config_changed
135493
135494       salt.modules.napalm_network.config_control(*args, **kwargs)
135495              Will check if the configuration  was  changed.   If  differences
135496              found,  will  try  to commit.  In case commit unsuccessful, will
135497              try to rollback.
135498
135499              Returns
135500                     A tuple with a boolean that specifies if the  config  was
135501                     changed/committed/rollbacked  on  the  device.     And  a
135502                     string that provides more details of the reason  why  the
135503                     configuration was not committed properly.
135504
135505              CLI Example:
135506
135507                 salt '*' net.config_control
135508
135509       salt.modules.napalm_network.confirm_commit(jid)
135510              New in version Fluorine.
135511
135512
135513              Confirm  a commit scheduled to be reverted via the revert_in and
135514              revert_at    arguments    from    the    net.load_template    or
135515              net.load_config  execution functions. The commit ID is displayed
135516              when the commit confirmed is scheduled via the  functions  named
135517              above.
135518
135519              CLI Example:
135520
135521                 salt '*' net.confirm_commit 20180726083540640360
135522
135523       salt.modules.napalm_network.connected(*args, **kwargs)
135524              Specifies if the connection to the device succeeded.
135525
135526              CLI Example:
135527
135528                 salt '*' net.connected
135529
135530       salt.modules.napalm_network.discard_config(*args, **kwargs)
135531              Discards the changes applied.
135532
135533              CLI Example:
135534
135535                 salt '*' net.discard_config
135536
135537       salt.modules.napalm_network.environment(*args, **kwargs)
135538              Returns the environment of the device.
135539
135540              CLI Example:
135541
135542                 salt '*' net.environment
135543
135544              Example output:
135545
135546                 {
135547                     'fans': {
135548                         'Bottom Rear Fan': {
135549                             'status': True
135550                         },
135551                         'Bottom Middle Fan': {
135552                             'status': True
135553                         },
135554                         'Top Middle Fan': {
135555                             'status': True
135556                         },
135557                         'Bottom Front Fan': {
135558                             'status': True
135559                         },
135560                         'Top Front Fan': {
135561                             'status': True
135562                         },
135563                         'Top Rear Fan': {
135564                             'status': True
135565                         }
135566                     },
135567                     'memory': {
135568                         'available_ram': 16349,
135569                         'used_ram': 4934
135570                     },
135571                     'temperature': {
135572                        'FPC 0 Exhaust A': {
135573                             'is_alert': False,
135574                             'temperature': 35.0,
135575                             'is_critical': False
135576                         }
135577                     },
135578                     'cpu': {
135579                         '1': {
135580                             '%usage': 19.0
135581                         },
135582                         '0': {
135583                             '%usage': 35.0
135584                         }
135585                     }
135586                 }
135587
135588       salt.modules.napalm_network.facts(*args, **kwargs)
135589              Returns  characteristics of the network device.  :return: a dic‐
135590              tionary with the following keys:
135591
135592                 · uptime - Uptime of the device in seconds.
135593
135594                 · vendor - Manufacturer of the device.
135595
135596                 · model - Device model.
135597
135598                 · hostname - Hostname of the device
135599
135600                 · fqdn - Fqdn of the device
135601
135602                 · os_version - String with the  OS  version  running  on  the
135603                   device.
135604
135605                 · serial_number - Serial number of the device
135606
135607                 · interface_list - List of the interfaces of the device
135608
135609              CLI Example:
135610
135611                 salt '*' net.facts
135612
135613              Example output:
135614
135615                 {
135616                     'os_version': '13.3R6.5',
135617                     'uptime': 10117140,
135618                     'interface_list': [
135619                         'lc-0/0/0',
135620                         'pfe-0/0/0',
135621                         'pfh-0/0/0',
135622                         'xe-0/0/0',
135623                         'xe-0/0/1',
135624                         'xe-0/0/2',
135625                         'xe-0/0/3',
135626                         'gr-0/0/10',
135627                         'ip-0/0/10'
135628                     ],
135629                     'vendor': 'Juniper',
135630                     'serial_number': 'JN131356FBFA',
135631                     'model': 'MX480',
135632                     'hostname': 're0.edge05.syd01',
135633                     'fqdn': 're0.edge05.syd01'
135634                 }
135635
135636       salt.modules.napalm_network.interfaces(*args, **kwargs)
135637              Returns details of the interfaces on the device.
135638
135639              Returns
135640                     Returns  a  dictionary  of dictionaries. The keys for the
135641                     first dictionary will be the interfaces in the devices.
135642
135643              CLI Example:
135644
135645                 salt '*' net.interfaces
135646
135647              Example output:
135648
135649                 {
135650                     'Management1': {
135651                         'is_up': False,
135652                         'is_enabled': False,
135653                         'description': '',
135654                         'last_flapped': -1,
135655                         'speed': 1000,
135656                         'mac_address': 'dead:beef:dead',
135657                     },
135658                     'Ethernet1':{
135659                         'is_up': True,
135660                         'is_enabled': True,
135661                         'description': 'foo',
135662                         'last_flapped': 1429978575.1554043,
135663                         'speed': 1000,
135664                         'mac_address': 'beef:dead:beef',
135665                     }
135666                 }
135667
135668       salt.modules.napalm_network.ipaddrs(*args, **kwargs)
135669              Returns IP addresses configured on the device.
135670
135671              Returns
135672                     A dictionary with the IPv4  and  IPv6  addresses  of  the
135673                     interfaces.   Returns  all configured IP addresses on all
135674                     interfaces as a dictionary of dictionaries.  Keys of  the
135675                     main  dictionary  represent  the  name  of the interface.
135676                     Values of the main dictionary represent are  dictionaries
135677                     that may consist of two keys 'ipv4' and 'ipv6' (one, both
135678                     or none) which are themselvs  dictionaries  with  the  IP
135679                     addresses as keys.
135680
135681              CLI Example:
135682
135683                 salt '*' net.ipaddrs
135684
135685              Example output:
135686
135687                 {
135688                     'FastEthernet8': {
135689                         'ipv4': {
135690                             '10.66.43.169': {
135691                                 'prefix_length': 22
135692                             }
135693                         }
135694                     },
135695                     'Loopback555': {
135696                         'ipv4': {
135697                             '192.168.1.1': {
135698                                 'prefix_length': 24
135699                             }
135700                         },
135701                         'ipv6': {
135702                             '1::1': {
135703                                 'prefix_length': 64
135704                             },
135705                             '2001:DB8:1::1': {
135706                                 'prefix_length': 64
135707                             },
135708                             'FE80::3': {
135709                                 'prefix_length': 'N/A'
135710                             }
135711                         }
135712                     }
135713                 }
135714
135715       salt.modules.napalm_network.lldp(*args, **kwargs)
135716              Returns a detailed view of the LLDP neighbors.
135717
135718              Parameters
135719                     interface -- interface name to filter on
135720
135721              Returns
135722                     A  dictionary  with  the LLDL neighbors. The keys are the
135723                     interfaces with LLDP activated on.
135724
135725              CLI Example:
135726
135727                 salt '*' net.lldp
135728                 salt '*' net.lldp interface='TenGigE0/0/0/8'
135729
135730              Example output:
135731
135732                 {
135733                     'TenGigE0/0/0/8': [
135734                         {
135735                             'parent_interface': 'Bundle-Ether8',
135736                             'interface_description': 'TenGigE0/0/0/8',
135737                             'remote_chassis_id': '8c60.4f69.e96c',
135738                             'remote_system_name': 'switch',
135739                             'remote_port': 'Eth2/2/1',
135740                             'remote_port_description': 'Ethernet2/2/1',
135741                             'remote_system_description': 'Cisco Nexus Operating System (NX-OS) Software 7.1(0)N1(1a)
135742                                   TAC support: http://www.cisco.com/tac
135743                                   Copyright (c) 2002-2015, Cisco Systems, Inc. All rights reserved.',
135744                             'remote_system_capab': 'B, R',
135745                             'remote_system_enable_capab': 'B'
135746                         }
135747                     ]
135748                 }
135749
135750       salt.modules.napalm_network.load_config(*args, **kwargs)
135751              Applies configuration changes on the device. It  can  be  loaded
135752              from  a file or from inline string.  If you send both a filename
135753              and a string containing the configuration, the file  has  higher
135754              precedence.
135755
135756              By  default  this function will commit the changes. If there are
135757              no changes, it does not commit and the  flag  already_configured
135758              will be set as True to point this out.
135759
135760              To  avoid committing the configuration, set the argument test to
135761              True and will discard (dry run).
135762
135763              To keep the changes but not commit, set commit to False.
135764
135765              To replace the config, set replace to True.
135766
135767              filename
135768                     Path to the file containing  the  desired  configuration.
135769                     This  can  be  specified  using  the absolute path to the
135770                     file, or using one of the following URL schemes:
135771
135772                     · salt://, to fetch the  template  from  the  Salt  file‐
135773                       server.
135774
135775                     · http:// or https://
135776
135777                     · ftp://
135778
135779                     · s3://
135780
135781                     · swift://
135782
135783                     Changed in version 2018.3.0.
135784
135785
135786              text   String  containing the desired configuration.  This argu‐
135787                     ment is ignored when filename is specified.
135788
135789              test: False
135790                     Dry run? If set as True, will apply the  config,  discard
135791                     and  return  the  changes. Default: False and will commit
135792                     the changes on the device.
135793
135794              commit: True
135795                     Commit? Default: True.
135796
135797              debug: False
135798                     Debug mode. Will insert a new key under the  output  dic‐
135799                     tionary,  as  loaded_config containing the raw configura‐
135800                     tion loaded on the device.
135801
135802                     New in version 2016.11.2.
135803
135804
135805              replace: False
135806                     Load and replace the configuration. Default: False.
135807
135808                     New in version 2016.11.2.
135809
135810
135811              commit_in: None
135812                     Commit the changes in a  specific  number  of  minutes  /
135813                     hours.  Example  of accepted formats: 5 (commit in 5 min‐
135814                     utes), 2m (commit in 2 minutes), 1h (commit  the  changes
135815                     in  1 hour)`, 5h30m (commit the changes in 5 hours and 30
135816                     minutes).
135817
135818                     NOTE:
135819                        This feature works on any platforms, as  it  does  not
135820                        rely  on  the native features of the network operating
135821                        system.
135822
135823                     NOTE:
135824                        After the command is executed and the diff is not sat‐
135825                        isfactory,  or  for any other reasons you have to dis‐
135826                        card the commit, you are  able  to  do  so  using  the
135827                        net.cancel_commit execution function, using the commit
135828                        ID returned by this function.
135829
135830                     WARNING:
135831                        Using this feature, Salt will load the exact  configu‐
135832                        ration you expect, however the diff may change in time
135833                        (i.e., if  an  user  applies  a  manual  configuration
135834                        change,  or a different process or command changes the
135835                        configuration in the meanwhile).
135836
135837                     New in version Fluorine.
135838
135839
135840              commit_at: None
135841                     Commit  the  changes  at  a  specific  time.  Example  of
135842                     accepted  formats:  1am  (will  commit the changes at the
135843                     next 1AM), 13:20 (will commit at 13:20), 1:20am, etc.
135844
135845                     NOTE:
135846                        This feature works on any platforms, as  it  does  not
135847                        rely  on  the native features of the network operating
135848                        system.
135849
135850                     NOTE:
135851                        After the command is executed and the diff is not sat‐
135852                        isfactory,  or  for any other reasons you have to dis‐
135853                        card the commit, you are  able  to  do  so  using  the
135854                        net.cancel_commit execution function, using the commit
135855                        ID returned by this function.
135856
135857                     WARNING:
135858                        Using this feature, Salt will load the exact  configu‐
135859                        ration you expect, however the diff may change in time
135860                        (i.e., if  an  user  applies  a  manual  configuration
135861                        change,  or a different process or command changes the
135862                        configuration in the meanwhile).
135863
135864                     New in version Fluorine.
135865
135866
135867              revert_in: None
135868                     Commit and revert the changes in  a  specific  number  of
135869                     minutes  / hours.  Example of accepted formats: 5 (revert
135870                     in 5 minutes), 2m (revert in 2 minutes), 1h  (revert  the
135871                     changes in 1 hour)`, 5h30m (revert the changes in 5 hours
135872                     and 30 minutes).
135873
135874                     NOTE:
135875                        To confirm  the  commit,  and  prevent  reverting  the
135876                        changes,    you    will    have    to    execute   the
135877                        net.confirm_commit  function,  using  the  commit   ID
135878                        returned by this function.
135879
135880                     WARNING:
135881                        This works on any platform, regardless if they have or
135882                        don't have native capabilities to confirming a commit.
135883                        However,  please be very cautious when using this fea‐
135884                        ture: on Junos (as it is the only NAPALM core platform
135885                        supporting  this  natively)  it executes a commit con‐
135886                        firmed as you would do from the command line.  All the
135887                        other  platforms  don't have this capability natively,
135888                        therefore the revert is done  via  Salt.  That  means,
135889                        your  device  needs to be reachable at the moment when
135890                        Salt will attempt to revert your changes. Be  cautious
135891                        when  pushing configuration changes that would prevent
135892                        you reach the device.
135893
135894                        Similarly, if an user or  a  different  process  apply
135895                        other  configuration changes in the meanwhile (between
135896                        the  moment  you  commit  and  till  the  changes  are
135897                        reverted), these changes would be equally reverted, as
135898                        Salt cannot be aware of them.
135899
135900                     New in version Fluorine.
135901
135902
135903              revert_at: None
135904                     Commit and revert the changes at a specific time. Example
135905                     of  accepted  formats:  1am  (will  commit and revert the
135906                     changes at the next 1AM), 13:20 (will commit  and  revert
135907                     at 13:20), 1:20am, etc.
135908
135909                     NOTE:
135910                        To  confirm  the  commit,  and  prevent  reverting the
135911                        changes,   you    will    have    to    execute    the
135912                        net.confirm_commit   function,  using  the  commit  ID
135913                        returned by this function.
135914
135915                     WARNING:
135916                        This works on any platform, regardless if they have or
135917                        don't have native capabilities to confirming a commit.
135918                        However, please be very cautious when using this  fea‐
135919                        ture: on Junos (as it is the only NAPALM core platform
135920                        supporting this natively) it executes  a  commit  con‐
135921                        firmed as you would do from the command line.  All the
135922                        other platforms don't have this  capability  natively,
135923                        therefore  the  revert  is  done via Salt. That means,
135924                        your device needs to be reachable at the  moment  when
135925                        Salt  will attempt to revert your changes. Be cautious
135926                        when pushing configuration changes that would  prevent
135927                        you reach the device.
135928
135929                        Similarly,  if  an  user  or a different process apply
135930                        other configuration changes in the meanwhile  (between
135931                        the  moment  you  commit  and  till  the  changes  are
135932                        reverted), these changes would be equally reverted, as
135933                        Salt cannot be aware of them.
135934
135935                     New in version Fluorine.
135936
135937
135938              saltenv: base
135939                     Specifies the Salt environment name.
135940
135941                     New in version 2018.3.0.
135942
135943
135944              Returns
135945                     a dictionary having the following keys:
135946
135947              · result  (bool):  if the config was applied successfully. It is
135948                False only in case  of  failure.  In  case      there  are  no
135949                changes to be applied and successfully performs all operations
135950                it is still True and so  will  be      the  already_configured
135951                flag (example below)
135952
135953              · comment (str): a message for the user
135954
135955              · already_configured  (bool):  flag  to  check  if there were no
135956                changes applied
135957
135958              · loaded_config (str): the configuration loaded on  the  device.
135959                Requires debug to be set as True
135960
135961              · diff (str): returns the config changes applied
135962
135963              CLI Example:
135964
135965                 salt '*' net.load_config text='ntp peer 192.168.0.1'
135966                 salt '*' net.load_config filename='/absolute/path/to/your/file'
135967                 salt '*' net.load_config filename='/absolute/path/to/your/file' test=True
135968                 salt '*' net.load_config filename='/absolute/path/to/your/file' commit=False
135969
135970              Example output:
135971
135972                 {
135973                     'comment': 'Configuration discarded.',
135974                     'already_configured': False,
135975                     'result': True,
135976                     'diff': '[edit interfaces xe-0/0/5]+   description "Adding a description";'
135977                 }
135978
135979       salt.modules.napalm_network.load_template(*args, **kwargs)
135980              Renders  a configuration template (default: Jinja) and loads the
135981              result on the device.
135982
135983              By default this function will commit the changes. If  there  are
135984              no  changes, it does not commit, discards he config and the flag
135985              already_configured will be set as True to point this out.
135986
135987              To avoid committing the configuration, set the argument test  to
135988              True and will discard (dry run).
135989
135990              To  preserve the changes, set commit to False.  However, this is
135991              recommended to be used only in exceptional cases when there  are
135992              applied  few  consecutive  states  and/or configuration changes.
135993              Otherwise the user might forget that the config DB is locked and
135994              the candidate config buffer is not cleared/merged in the running
135995              config.
135996
135997              To replace the config, set replace to True.
135998
135999              template_name
136000                     Identifies path to the template source.  The template can
136001                     be  either  stored on the local machine, either remotely.
136002                     The recommended location is under the file_roots as spec‐
136003                     ified in the master config file.  For example, let's sup‐
136004                     pose the file_roots is configured as:
136005
136006                        file_roots:
136007                          base:
136008                            - /etc/salt/states
136009
136010                     Placing   the   template   under    /etc/salt/states/tem‐
136011                     plates/example.jinja,  it  can  be  used  as  salt://tem‐
136012                     plates/example.jinja.  Alternatively,  for  local  files,
136013                     the user can specify the absolute path.  If remotely, the
136014                     source can be retrieved via http, https or ftp.
136015
136016                     Examples:
136017
136018                     · salt://my_template.jinja
136019
136020                     · /absolute/path/to/my_template.jinja
136021
136022                     · http://example.com/template.cheetah
136023
136024                     · https:/example.com/template.mako
136025
136026                     · ftp://example.com/template.py
136027
136028                     Changed in version Fluorine: This argument can  now  sup‐
136029                     port  a  list of templates to be rendered.  The resulting
136030                     configuration text is loaded at once, as a single config‐
136031                     uration chunk.
136032
136033
136034              template_source: None
136035                     Inline  config  template to be rendered and loaded on the
136036                     device.
136037
136038              template_hash: None
136039                     Hash of the template  file.  Format:  {hash_type:  'md5',
136040                     'hsum': <md5sum>}
136041
136042                     New in version 2016.11.2.
136043
136044
136045              context: None
136046                     Overrides  default  context  variables passed to the tem‐
136047                     plate.
136048
136049                     New in version Fluorine.
136050
136051
136052              template_hash_name: None
136053                     When template_hash refers to a remote file,  this  speci‐
136054                     fies the filename to look for in that file.
136055
136056                     New in version 2016.11.2.
136057
136058
136059              saltenv: base
136060                     Specifies  the template environment.  This will influence
136061                     the relative imports inside the templates.
136062
136063                     New in version 2016.11.2.
136064
136065
136066              template_engine: jinja
136067                     The following templates engines are supported:
136068
136069                     · cheetah
136070
136071                     · genshi
136072
136073                     · jinja
136074
136075                     · mako
136076
136077                     · py
136078
136079                     · wempy
136080
136081                     New in version 2016.11.2.
136082
136083
136084              skip_verify: True
136085                     If  True,  hash  verification  of  remote  file   sources
136086                     (http://,  https://,  ftp://)  will  be  skipped, and the
136087                     source_hash argument will be ignored.
136088
136089                     New in version 2016.11.2.
136090
136091
136092              test: False
136093                     Dry run? If set to True, will apply the  config,  discard
136094                     and  return  the changes.  Default: False and will commit
136095                     the changes on the device.
136096
136097              commit: True
136098                     Commit? (default: True)
136099
136100              debug: False
136101                     Debug mode. Will insert a new key under the  output  dic‐
136102                     tionary, as loaded_config containing the raw result after
136103                     the template was rendered.
136104
136105                     New in version 2016.11.2.
136106
136107
136108              replace: False
136109                     Load and replace the configuration.
136110
136111                     New in version 2016.11.2.
136112
136113
136114              commit_in: None
136115                     Commit the changes in a  specific  number  of  minutes  /
136116                     hours.  Example  of accepted formats: 5 (commit in 5 min‐
136117                     utes), 2m (commit in 2 minutes), 1h (commit  the  changes
136118                     in  1 hour)`, 5h30m (commit the changes in 5 hours and 30
136119                     minutes).
136120
136121                     NOTE:
136122                        This feature works on any platforms, as  it  does  not
136123                        rely  on  the native features of the network operating
136124                        system.
136125
136126                     NOTE:
136127                        After the command is executed and the diff is not sat‐
136128                        isfactory,  or  for any other reasons you have to dis‐
136129                        card the commit, you are  able  to  do  so  using  the
136130                        net.cancel_commit execution function, using the commit
136131                        ID returned by this function.
136132
136133                     WARNING:
136134                        Using this feature, Salt will load the exact  configu‐
136135                        ration you expect, however the diff may change in time
136136                        (i.e., if  an  user  applies  a  manual  configuration
136137                        change,  or a different process or command changes the
136138                        configuration in the meanwhile).
136139
136140                     New in version Fluorine.
136141
136142
136143              commit_at: None
136144                     Commit  the  changes  at  a  specific  time.  Example  of
136145                     accepted  formats:  1am  (will  commit the changes at the
136146                     next 1AM), 13:20 (will commit at 13:20), 1:20am, etc.
136147
136148                     NOTE:
136149                        This feature works on any platforms, as  it  does  not
136150                        rely  on  the native features of the network operating
136151                        system.
136152
136153                     NOTE:
136154                        After the command is executed and the diff is not sat‐
136155                        isfactory,  or  for any other reasons you have to dis‐
136156                        card the commit, you are  able  to  do  so  using  the
136157                        net.cancel_commit execution function, using the commit
136158                        ID returned by this function.
136159
136160                     WARNING:
136161                        Using this feature, Salt will load the exact  configu‐
136162                        ration you expect, however the diff may change in time
136163                        (i.e., if  an  user  applies  a  manual  configuration
136164                        change,  or a different process or command changes the
136165                        configuration in the meanwhile).
136166
136167                     New in version Fluorine.
136168
136169
136170              revert_in: None
136171                     Commit and revert the changes in  a  specific  number  of
136172                     minutes  / hours.  Example of accepted formats: 5 (revert
136173                     in 5 minutes), 2m (revert in 2 minutes), 1h  (revert  the
136174                     changes in 1 hour)`, 5h30m (revert the changes in 5 hours
136175                     and 30 minutes).
136176
136177                     NOTE:
136178                        To confirm  the  commit,  and  prevent  reverting  the
136179                        changes,    you    will    have    to    execute   the
136180                        net.confirm_commit  function,  using  the  commit   ID
136181                        returned by this function.
136182
136183                     WARNING:
136184                        This works on any platform, regardless if they have or
136185                        don't have native capabilities to confirming a commit.
136186                        However,  please be very cautious when using this fea‐
136187                        ture: on Junos (as it is the only NAPALM core platform
136188                        supporting  this  natively)  it executes a commit con‐
136189                        firmed as you would do from the command line.  All the
136190                        other  platforms  don't have this capability natively,
136191                        therefore the revert is done  via  Salt.  That  means,
136192                        your  device  needs to be reachable at the moment when
136193                        Salt will attempt to revert your changes. Be  cautious
136194                        when  pushing configuration changes that would prevent
136195                        you reach the device.
136196
136197                        Similarly, if an user or  a  different  process  apply
136198                        other  configuration changes in the meanwhile (between
136199                        the  moment  you  commit  and  till  the  changes  are
136200                        reverted), these changes would be equally reverted, as
136201                        Salt cannot be aware of them.
136202
136203                     New in version Fluorine.
136204
136205
136206              revert_at: None
136207                     Commit and revert the changes at a specific time. Example
136208                     of  accepted  formats:  1am  (will  commit and revert the
136209                     changes at the next 1AM), 13:20 (will commit  and  revert
136210                     at 13:20), 1:20am, etc.
136211
136212                     NOTE:
136213                        To  confirm  the  commit,  and  prevent  reverting the
136214                        changes,   you    will    have    to    execute    the
136215                        net.confirm_commit   function,  using  the  commit  ID
136216                        returned by this function.
136217
136218                     WARNING:
136219                        This works on any platform, regardless if they have or
136220                        don't have native capabilities to confirming a commit.
136221                        However, please be very cautious when using this  fea‐
136222                        ture: on Junos (as it is the only NAPALM core platform
136223                        supporting this natively) it executes  a  commit  con‐
136224                        firmed as you would do from the command line.  All the
136225                        other platforms don't have this  capability  natively,
136226                        therefore  the  revert  is  done via Salt. That means,
136227                        your device needs to be reachable at the  moment  when
136228                        Salt  will attempt to revert your changes. Be cautious
136229                        when pushing configuration changes that would  prevent
136230                        you reach the device.
136231
136232                        Similarly,  if  an  user  or a different process apply
136233                        other configuration changes in the meanwhile  (between
136234                        the  moment  you  commit  and  till  the  changes  are
136235                        reverted), these changes would be equally reverted, as
136236                        Salt cannot be aware of them.
136237
136238                     New in version Fluorine.
136239
136240
136241              defaults: None
136242                     Default variables/context passed to the template.
136243
136244                     New in version 2016.11.2.
136245
136246
136247              template_vars
136248                     Dictionary with the arguments/context to be used when the
136249                     template is rendered.
136250
136251                     NOTE:
136252                        Do not explicitly specify this argument.  This  repre‐
136253                        sents any other variable that will be sent to the tem‐
136254                        plate  rendering  system.   Please  see  the  examples
136255                        below!
136256
136257                     NOTE:
136258                        It  is more recommended to use the context argument to
136259                        avoid conflicts between  CLI  arguments  and  template
136260                        variables.
136261
136262              Returns
136263                     a dictionary having the following keys:
136264
136265              · result  (bool):  if the config was applied successfully. It is
136266                False only in case of failure. In case there are no changes to
136267                be  applied  and  successfully  performs  all operations it is
136268                still True and so will be the already_configured flag (example
136269                below)
136270
136271              · comment (str): a message for the user
136272
136273              · already_configured  (bool):  flag  to  check  if there were no
136274                changes applied
136275
136276              · loaded_config (str): the configuration loaded on  the  device,
136277                after rendering the template. Requires debug to be set as True
136278
136279              · diff (str): returns the config changes applied
136280
136281              The  template can use variables from the grains, pillar or opts,
136282              for example:
136283
136284                 {% set router_model = grains.get('model') -%}
136285                 {% set router_vendor = grains.get('vendor') -%}
136286                 {% set os_version = grains.get('version') -%}
136287                 {% set hostname = pillar.get('proxy', {}).get('host') -%}
136288                 {% if router_vendor|lower == 'juniper' %}
136289                 system {
136290                     host-name {{hostname}};
136291                 }
136292                 {% elif router_vendor|lower == 'cisco' %}
136293                 hostname {{hostname}}
136294                 {% endif %}
136295
136296              CLI Examples:
136297
136298                 salt '*' net.load_template set_ntp_peers peers=[192.168.0.1]  # uses NAPALM default templates
136299
136300                 # inline template:
136301                 salt -G 'os:junos' net.load_template template_source='system { host-name {{host_name}}; }'         host_name='MX480.lab'
136302
136303                 # inline template using grains info:
136304                 salt -G 'os:junos' net.load_template         template_source='system { host-name {{grains.model}}.lab; }'
136305                 # if the device is a MX480, the command above will set the hostname as: MX480.lab
136306
136307                 # inline template using pillar data:
136308                 salt -G 'os:junos' net.load_template template_source='system { host-name {{pillar.proxy.host}}; }'
136309
136310                 salt '*' net.load_template https://bit.ly/2OhSgqP hostname=example  # will commit
136311                 salt '*' net.load_template https://bit.ly/2OhSgqP hostname=example test=True  # dry run
136312
136313                 salt '*' net.load_template salt://templates/example.jinja debug=True  # Using the salt:// URI
136314
136315                 # render a mako template:
136316                 salt '*' net.load_template salt://templates/example.mako template_engine=mako debug=True
136317
136318                 # render remote template
136319                 salt -G 'os:junos' net.load_template http://bit.ly/2fReJg7 test=True debug=True peers=['192.168.0.1']
136320                 salt -G 'os:ios' net.load_template http://bit.ly/2gKOj20 test=True debug=True peers=['192.168.0.1']
136321
136322                 # render multiple templates at once
136323                 salt '*' net.load_template "['https://bit.ly/2OhSgqP', 'salt://templates/example.jinja']" context="{'hostname': 'example'}"
136324
136325              Example output:
136326
136327                 {
136328                     'comment': '',
136329                     'already_configured': False,
136330                     'result': True,
136331                     'diff': '[edit system]+  host-name edge01.bjm01',
136332                     'loaded_config': 'system { host-name edge01.bjm01; }''
136333                 }
136334
136335       salt.modules.napalm_network.mac(*args, **kwargs)
136336              Returns the MAC Address Table on the device.
136337
136338              Parameters
136339
136340                     · address -- MAC address to filter on
136341
136342                     · interface -- Interface name to filter on
136343
136344                     · vlan -- VLAN identifier
136345
136346              Returns
136347                     A list of dictionaries representing the  entries  in  the
136348                     MAC Address Table
136349
136350              CLI Example:
136351
136352                 salt '*' net.mac
136353                 salt '*' net.mac vlan=10
136354
136355              Example output:
136356
136357                 [
136358                     {
136359                         'mac'       : '00:1c:58:29:4a:71',
136360                         'interface' : 'xe-3/0/2',
136361                         'static'    : False,
136362                         'active'    : True,
136363                         'moves'     : 1,
136364                         'vlan'      : 10,
136365                         'last_move' : 1454417742.58
136366                     },
136367                     {
136368                         'mac'       : '8c:60:4f:58:e1:c1',
136369                         'interface' : 'xe-1/0/1',
136370                         'static'    : False,
136371                         'active'    : True,
136372                         'moves'     : 2,
136373                         'vlan'      : 42,
136374                         'last_move' : 1453191948.11
136375                     }
136376                 ]
136377
136378       salt.modules.napalm_network.optics(*args, **kwargs)
136379              New in version 2017.7.0.
136380
136381
136382              Fetches the power usage on the various transceivers installed on
136383              the network device (in dBm), and returns a  view  that  conforms
136384              with the OpenConfig model openconfig-platform-transceiver.yang.
136385
136386              Returns
136387
136388                     Returns a dictionary where the keys are as listed below:
136389
136390                            ·
136391
136392                              intf_name (unicode)
136393
136394                                     ·
136395
136396                                       physical_channels
136397
136398                                              ·
136399
136400                                                channels (list of dicts)
136401
136402                                                       · index (int)
136403
136404                                                       ·
136405
136406                                                         state
136407
136408                                                                ·
136409
136410                                                                  input_power
136411
136412                                                                         · instant
136413                                                                           (float)
136414
136415                                                                         · avg
136416                                                                           (float)
136417
136418                                                                         · min
136419                                                                           (float)
136420
136421                                                                         · max
136422                                                                           (float)
136423
136424                                                                ·
136425
136426                                                                  output_power
136427
136428                                                                         · instant
136429                                                                           (float)
136430
136431                                                                         · avg
136432                                                                           (float)
136433
136434                                                                         · min
136435                                                                           (float)
136436
136437                                                                         · max
136438                                                                           (float)
136439
136440                                                                ·
136441
136442                                                                  laser_bias_cur‐
136443                                                                  rent
136444
136445                                                                         · instant
136446                                                                           (float)
136447
136448                                                                         · avg
136449                                                                           (float)
136450
136451                                                                         · min
136452                                                                           (float)
136453
136454                                                                         · max
136455                                                                           (float)
136456
136457
136458              CLI Example:
136459
136460                 salt '*' net.optics
136461
136462       salt.modules.napalm_network.patch(patchfile,               options=u'',
136463       saltenv=u'base',   source_hash=None,  show_changes=True,  source=u'run‐
136464       ning', path=None, test=False, commit=True, debug=False, replace=True)
136465              New in version Fluorine.
136466
136467
136468              Apply a patch to the configuration source, and load  the  result
136469              into the running config of the device.
136470
136471              patchfile
136472                     A patch file to apply to the configuration source.
136473
136474              options
136475                     Options to pass to patch.
136476
136477              source_hash
136478                     If  the patch file (specified via the patchfile argument)
136479                     is an HTTP(S) or FTP URL and the file exists in the  min‐
136480                     ion's  file  cache, this option can be passed to keep the
136481                     minion from re-downloading the file if  the  cached  copy
136482                     matches the specified hash.
136483
136484              show_changes: True
136485                     Controls  how  changes are presented. If True, this func‐
136486                     tion will return the of the changes made.  If False, then
136487                     it  will return a boolean (True if any changes were made,
136488                     otherwise False).
136489
136490              source: running
136491                     The configuration source. Choose  from:  running,  candi‐
136492                     date, or startup. Default: running.
136493
136494              path: None
136495                     Save the temporary configuration to a specific path, then
136496                     read from there. This argument is optional, can the  user
136497                     prefers a particular location of the temporary file.
136498
136499              test: False
136500                     Dry  run?  If set as True, will apply the config, discard
136501                     and return the changes. Default: False  and  will  commit
136502                     the changes on the device.
136503
136504              commit: True
136505                     Commit the configuration changes? Default: True.
136506
136507              debug: False
136508                     Debug  mode.  Will insert a new key in the output dictio‐
136509                     nary, as loaded_config containing the  raw  configuration
136510                     loaded on the device.
136511
136512              replace: True
136513                     Load and replace the configuration. Default: True.
136514
136515              CLI Example:
136516
136517                 salt '*' net.patch https://example.com/running_config.patch
136518
136519       salt.modules.napalm_network.ping(*args, **kwargs)
136520              Executes  a  ping on the network device and returns a dictionary
136521              as a result.
136522
136523              destination
136524                     Hostname or IP address of remote host
136525
136526              source Source address of echo request
136527
136528              ttl    IP time-to-live  value  (IPv6  hop-limit  value)  (1..255
136529                     hops)
136530
136531              timeout
136532                     Maximum wait time after sending final packet (seconds)
136533
136534              size   Size of request packets (0..65468 bytes)
136535
136536              count  Number of ping requests to send (1..2000000000 packets)
136537
136538              vrf    VRF (routing instance) for ping attempt
136539
136540                     New in version 2016.11.4.
136541
136542
136543              CLI Example:
136544
136545                 salt '*' net.ping 8.8.8.8
136546                 salt '*' net.ping 8.8.8.8 ttl=3 size=65468
136547                 salt '*' net.ping 8.8.8.8 source=127.0.0.1 timeout=1 count=100
136548
136549       salt.modules.napalm_network.replace_pattern(pattern,   repl,   count=0,
136550       flags=8,             bufsize=1,              append_if_not_found=False,
136551       prepend_if_not_found=False,  not_found_content=None, search_only=False,
136552       show_changes=True,  backslash_literal=False,  source=None,   path=None,
136553       test=False, replace=True, debug=False, commit=True)
136554              New in version Fluorine.
136555
136556
136557              Replace occurrences of a pattern in the configuration source. If
136558              show_changes is True, then  a  diff  of  what  changed  will  be
136559              returned,  otherwise  a  True  will be returned when changes are
136560              made, and False when no changes are made.  This is a pure Python
136561              implementation that wraps Python's sub().
136562
136563              pattern
136564                     A  regular  expression,  to  be  matched  using  Python's
136565                     search().
136566
136567              repl   The replacement text.
136568
136569              count: 0
136570                     Maximum number of pattern occurrences to be replaced.  If
136571                     count is a positive integer n, only n occurrences will be
136572                     replaced, otherwise all occurrences will be replaced.
136573
136574              flags (list or int): 8
136575                     A list of flags defined in the  re  module  documentation
136576                     from  the  Python standard library. Each list item should
136577                     be a string that will  correlate  to  the  human-friendly
136578                     flag name. E.g., ['IGNORECASE', 'MULTILINE']. Optionally,
136579                     flags may be an int, with a value  corresponding  to  the
136580                     XOR  (|)  of  all the desired flags. Defaults to 8 (which
136581                     supports 'MULTILINE').
136582
136583              bufsize (int or str): 1
136584                     How much of the configuration to buffer  into  memory  at
136585                     once.  The  default value 1 processes one line at a time.
136586                     The special value file may be specified which  will  read
136587                     the entire file into memory before processing.
136588
136589              append_if_not_found: False
136590                     If  set  to True, and pattern is not found, then the con‐
136591                     tent will be appended to the file.
136592
136593              prepend_if_not_found: False
136594                     If set to True and pattern is not found, then the content
136595                     will be prepended to the file.
136596
136597              not_found_content
136598                     Content  to  use for append/prepend if not found. If None
136599                     (default), uses repl. Useful when repl uses references to
136600                     group in pattern.
136601
136602              search_only: False
136603                     If  set to true, this no changes will be performed on the
136604                     file, and this function will simply return  True  if  the
136605                     pattern was matched, and False if not.
136606
136607              show_changes: True
136608                     If True, return a diff of changes made. Otherwise, return
136609                     True if changes were made, and False if not.
136610
136611              backslash_literal: False
136612                     Interpret backslashes as literal backslashes for the repl
136613                     and  not  escape  characters.   This will help when using
136614                     append/prepend so that the  backslashes  are  not  inter‐
136615                     preted for the repl on the second run of the state.
136616
136617              source: running
136618                     The  configuration  source.  Choose from: running, candi‐
136619                     date, or startup. Default: running.
136620
136621              path   Save the temporary configuration to a specific path, then
136622                     read from there.
136623
136624              test: False
136625                     Dry  run?  If set as True, will apply the config, discard
136626                     and return the changes. Default: False  and  will  commit
136627                     the changes on the device.
136628
136629              commit: True
136630                     Commit the configuration changes? Default: True.
136631
136632              debug: False
136633                     Debug  mode.  Will insert a new key in the output dictio‐
136634                     nary, as loaded_config containing the  raw  configuration
136635                     loaded on the device.
136636
136637              replace: True
136638                     Load and replace the configuration. Default: True.
136639
136640              If an equal sign (=) appears in an argument to a Salt command it
136641              is interpreted as a keyword argument in the format key=val. That
136642              processing  can  be  bypassed  in  order  to  pass an equal sign
136643              through to the remote shell command by manually  specifying  the
136644              kwarg:
136645
136646                 salt '*' net.replace_pattern "bind-address\s*=" "bind-address:"
136647
136648              CLI Example:
136649
136650                 salt '*' net.replace_pattern PREFIX-LIST_NAME new-prefix-list-name
136651                 salt '*' net.replace_pattern bgp-group-name new-bgp-group-name count=1
136652
136653       salt.modules.napalm_network.rollback(*args, **kwargs)
136654              Rollbacks the configuration.
136655
136656              CLI Example:
136657
136658                 salt '*' net.rollback
136659
136660       salt.modules.napalm_network.save_config(source=None, path=None)
136661              New in version Fluorine.
136662
136663
136664              Save the configuration to a file on the local file system.
136665
136666              source: running
136667                     The  configuration  source.  Choose from: running, candi‐
136668                     date, startup. Default: running.
136669
136670              path   Absolute path to file where to  save  the  configuration.
136671                     To  push  the  files to the Master, use cp.push Execution
136672                     function.
136673
136674              CLI Example:
136675
136676                 salt '*' net.save_config source=running
136677
136678       salt.modules.napalm_network.traceroute(*args, **kwargs)
136679              Calls the method traceroute from the NAPALM  driver  object  and
136680              returns  a  dictionary with the result of the traceroute command
136681              executed on the device.
136682
136683              destination
136684                     Hostname or address of remote host
136685
136686              source Source address to use in outgoing traceroute packets
136687
136688              ttl    IP maximum time-to-live value (or IPv6 maximum  hop-limit
136689                     value)
136690
136691              timeout
136692                     Number of seconds to wait for response (seconds)
136693
136694              vrf    VRF (routing instance) for traceroute attempt
136695
136696                     New in version 2016.11.4.
136697
136698
136699              CLI Example:
136700
136701                 salt '*' net.traceroute 8.8.8.8
136702                 salt '*' net.traceroute 8.8.8.8 source=127.0.0.1 ttl=5 timeout=1
136703
136704   salt.modules.napalm_ntp module
136705   NAPALM NTP
136706       Manages NTP on network devices.
136707
136708       codeauthor
136709              Mircea   Ulinic   <mircea@cloudflare.com>  &  Jerome  Fleury  <‐
136710              jf@cloudflare.com>
136711
136712       maturity
136713              new
136714
136715       depends
136716              napalm
136717
136718       platform
136719              unix
136720
136721   Dependencies
136722       · NAPALM proxy minion
136723
136724       · NET basic features
136725
136726       SEE ALSO:
136727          NTP peers management state
136728
136729       New in version 2016.11.0.
136730
136731
136732       salt.modules.napalm_ntp.delete_peers(*args, **kwargs)
136733              Removes NTP peers configured on the device.
136734
136735              Parameters
136736
136737                     · peers --  list  of  IP  Addresses/Domain  Names  to  be
136738                       removed as NTP peers
136739
136740                     · (bool)  (commit)  --  discard loaded config. By default
136741                       test is False (will not dicard the changes)
136742
136743                     · (bool) -- commit loaded config. By  default  commit  is
136744                       True  (will  commit  the changes). Useful when the user
136745                       does not want to commit after each change, but after  a
136746                       couple.
136747
136748              By  default  this  function  will  commit the config changes (if
136749              any). To load without committing, use the commit option.  For  a
136750              dry run, use the test argument.
136751
136752              CLI Example:
136753
136754                 salt '*' ntp.delete_peers 8.8.8.8 time.apple.com
136755                 salt '*' ntp.delete_peers 172.17.17.1 test=True  # only displays the diff
136756                 salt '*' ntp.delete_peers 192.168.0.1 commit=False  # preserves the changes, but does not commit
136757
136758       salt.modules.napalm_ntp.delete_servers(*args, **kwargs)
136759              Removes NTP servers configured on the device.
136760
136761              Parameters
136762
136763                     · servers  --  list  of  IP  Addresses/Domain Names to be
136764                       removed as NTP servers
136765
136766                     · (bool) (commit) -- discard loaded  config.  By  default
136767                       test is False (will not dicard the changes)
136768
136769                     · (bool)  --  commit  loaded config. By default commit is
136770                       True (will commit the changes). Useful  when  the  user
136771                       does  not want to commit after each change, but after a
136772                       couple.
136773
136774              By default this function will  commit  the  config  changes  (if
136775              any). To load without committing, use the commit option. For dry
136776              run use the test argument.
136777
136778              CLI Example:
136779
136780                 salt '*' ntp.delete_servers 8.8.8.8 time.apple.com
136781                 salt '*' ntp.delete_servers 172.17.17.1 test=True  # only displays the diff
136782                 salt '*' ntp.delete_servers 192.168.0.1 commit=False  # preserves the changes, but does not commit
136783
136784       salt.modules.napalm_ntp.peers(*args, **kwargs)
136785              Returns a list the NTP peers configured on the network device.
136786
136787              Returns
136788                     configured NTP peers as list.
136789
136790              CLI Example:
136791
136792                 salt '*' ntp.peers
136793
136794              Example output:
136795
136796                 [
136797                     '192.168.0.1',
136798                     '172.17.17.1',
136799                     '172.17.17.2',
136800                     '2400:cb00:6:1024::c71b:840a'
136801                 ]
136802
136803       salt.modules.napalm_ntp.servers(*args, **kwargs)
136804              Returns a list of the configured NTP servers on the device.
136805
136806              CLI Example:
136807
136808                 salt '*' ntp.servers
136809
136810              Example output:
136811
136812                 [
136813                     '192.168.0.1',
136814                     '172.17.17.1',
136815                     '172.17.17.2',
136816                     '2400:cb00:6:1024::c71b:840a'
136817                 ]
136818
136819       salt.modules.napalm_ntp.set_peers(*args, **kwargs)
136820              Configures a list of NTP peers on the device.
136821
136822              Parameters
136823
136824                     · peers -- list of IP Addresses/Domain Names
136825
136826                     · (bool) (test) -- discard loaded config. By default test
136827                       is False (will not dicard the changes)
136828
136829              Commit commit (bool)
136830                     commit  loaded  config.  By  default commit is True (will
136831                     commit the changes). Useful when the user does  not  want
136832                     to commit after each change, but after a couple.
136833
136834              By  default  this  function  will  commit the config changes (if
136835              any). To load without committing, use the commit option. For dry
136836              run use the test argument.
136837
136838              CLI Example:
136839
136840                 salt '*' ntp.set_peers 192.168.0.1 172.17.17.1 time.apple.com
136841                 salt '*' ntp.set_peers 172.17.17.1 test=True  # only displays the diff
136842                 salt '*' ntp.set_peers 192.168.0.1 commit=False  # preserves the changes, but does not commit
136843
136844       salt.modules.napalm_ntp.set_servers(*args, **kwargs)
136845              Configures a list of NTP servers on the device.
136846
136847              Parameters
136848
136849                     · servers -- list of IP Addresses/Domain Names
136850
136851                     · (bool) (test) -- discard loaded config. By default test
136852                       is False (will not dicard the changes)
136853
136854              Commit commit (bool)
136855                     commit loaded config. By default  commit  is  True  (will
136856                     commit  the  changes). Useful when the user does not want
136857                     to commit after each change, but after a couple.
136858
136859              By default this function will  commit  the  config  changes  (if
136860              any). To load without committing, use the commit option. For dry
136861              run use the test argument.
136862
136863              CLI Example:
136864
136865                 salt '*' ntp.set_servers 192.168.0.1 172.17.17.1 time.apple.com
136866                 salt '*' ntp.set_servers 172.17.17.1 test=True  # only displays the diff
136867                 salt '*' ntp.set_servers 192.168.0.1 commit=False  # preserves the changes, but does not commit
136868
136869       salt.modules.napalm_ntp.stats(*args, **kwargs)
136870              Returns a dictionary containing synchronization details  of  the
136871              NTP peers.
136872
136873              Parameters
136874                     peer -- Returns only the details of a specific NTP peer.
136875
136876              Returns
136877                     a list of dictionaries, with the following keys:
136878
136879                     · remote
136880
136881                     · referenceid
136882
136883                     · synchronized
136884
136885                     · stratum
136886
136887                     · type
136888
136889                     · when
136890
136891                     · hostpoll
136892
136893                     · reachability
136894
136895                     · delay
136896
136897                     · offset
136898
136899                     · jitter
136900
136901
136902              CLI Example:
136903
136904                 salt '*' ntp.stats
136905
136906              Example output:
136907
136908                 [
136909                     {
136910                         'remote'        : '188.114.101.4',
136911                         'referenceid'   : '188.114.100.1',
136912                         'synchronized'  : True,
136913                         'stratum'       : 4,
136914                         'type'          : '-',
136915                         'when'          : '107',
136916                         'hostpoll'      : 256,
136917                         'reachability'  : 377,
136918                         'delay'         : 164.228,
136919                         'offset'        : -13.866,
136920                         'jitter'        : 2.695
136921                     }
136922                 ]
136923
136924   salt.modules.napalm_probes module
136925   NAPALM Probes
136926       Manages RPM/SLA probes on the network device.
136927
136928       codeauthor
136929              Mircea   Ulinic   <mircea@cloudflare.com>  &  Jerome  Fleury  <‐
136930              jf@cloudflare.com>
136931
136932       maturity
136933              new
136934
136935       depends
136936              napalm
136937
136938       platform
136939              unix
136940
136941   Dependencies
136942       · napalm proxy minion
136943
136944       · NET basic features
136945
136946       SEE ALSO:
136947          Probes configuration management state
136948
136949       New in version 2016.11.0.
136950
136951
136952       salt.modules.napalm_probes.config(*args, **kwargs)
136953              Returns the configuration of the RPM probes.
136954
136955              Returns
136956                     A dictionary containing the configuration of the  RPM/SLA
136957                     probes.
136958
136959              CLI Example:
136960
136961                 salt '*' probes.config
136962
136963              Output Example:
136964
136965                 {
136966                     'probe1':{
136967                         'test1': {
136968                             'probe_type'   : 'icmp-ping',
136969                             'target'       : '192.168.0.1',
136970                             'source'       : '192.168.0.2',
136971                             'probe_count'  : 13,
136972                             'test_interval': 3
136973                         },
136974                         'test2': {
136975                             'probe_type'   : 'http-ping',
136976                             'target'       : '172.17.17.1',
136977                             'source'       : '192.17.17.2',
136978                             'probe_count'  : 5,
136979                             'test_interval': 60
136980                         }
136981                     }
136982                 }
136983
136984       salt.modules.napalm_probes.delete_probes(*args, **kwargs)
136985              Removes  RPM/SLA probes from the network device.  Calls the con‐
136986              figuration template 'delete_probes'  from  the  NAPALM  library,
136987              providing as input a rich formatted dictionary with the configu‐
136988              ration details of the probes to be removed from  the  configura‐
136989              tion of the device.
136990
136991              Parameters
136992
136993                     · probes  -- Dictionary with a similar format as the out‐
136994                       put dictionary of  the  function  config(),  where  the
136995                       details are not necessary.
136996
136997                     · test -- Dry run? If set as True, will apply the config,
136998                       discard and return the changes. Default: False
136999
137000                     · commit -- Commit? (default: True) Sometimes it  is  not
137001                       needed  to  commit the config immediately after loading
137002                       the changes. E.g.: a state loads a couple of parts (add
137003                       /  remove  / update) and would not be optimal to commit
137004                       after each operation.  Also, from the CLI when the user
137005                       needs  to  apply the similar changes before committing,
137006                       can specify commit=False and will not discard the  con‐
137007                       fig.
137008
137009              Raises MergeConfigException  -- If there is an error on the con‐
137010                     figuration sent.
137011
137012              Returns
137013                     A dictionary having the following keys:
137014
137015              · result (bool): if the config was applied successfully.  It  is
137016                False only in case of failure. In case there are no changes to
137017                be applied and successfully  performs  all  operations  it  is
137018                still True and so will be the already_configured flag (example
137019                below)
137020
137021              · comment (str): a message for the user
137022
137023              · already_configured (bool): flag to  check  if  there  were  no
137024                changes applied
137025
137026              · diff (str): returns the config changes applied
137027
137028              Input example:
137029
137030                 probes = {
137031                     'existing_probe':{
137032                         'existing_test1': {},
137033                         'existing_test2': {}
137034                     }
137035                 }
137036
137037       salt.modules.napalm_probes.results(*args, **kwargs)
137038              Provides the results of the measurements of the RPM/SLA probes.
137039
137040              :return a dictionary with the results of the probes.
137041
137042              CLI Example:
137043
137044                 salt '*' probes.results
137045
137046              Output example:
137047
137048                 {
137049                     'probe1':  {
137050                         'test1': {
137051                             'last_test_min_delay'   : 63.120,
137052                             'global_test_min_delay' : 62.912,
137053                             'current_test_avg_delay': 63.190,
137054                             'global_test_max_delay' : 177.349,
137055                             'current_test_max_delay': 63.302,
137056                             'global_test_avg_delay' : 63.802,
137057                             'last_test_avg_delay'   : 63.438,
137058                             'last_test_max_delay'   : 65.356,
137059                             'probe_type'            : 'icmp-ping',
137060                             'rtt'                   : 63.138,
137061                             'last_test_loss'        : 0,
137062                             'round_trip_jitter'     : -59.0,
137063                             'target'                : '192.168.0.1',
137064                             'source'                : '192.168.0.2',
137065                             'probe_count'           : 15,
137066                             'current_test_min_delay': 63.138
137067                         },
137068                         'test2': {
137069                             'last_test_min_delay'   : 176.384,
137070                             'global_test_min_delay' : 169.226,
137071                             'current_test_avg_delay': 177.098,
137072                             'global_test_max_delay' : 292.628,
137073                             'current_test_max_delay': 180.055,
137074                             'global_test_avg_delay' : 177.959,
137075                             'last_test_avg_delay'   : 177.178,
137076                             'last_test_max_delay'   : 184.671,
137077                             'probe_type'            : 'icmp-ping',
137078                             'rtt'                   : 176.449,
137079                             'last_test_loss'        : 0,
137080                             'round_trip_jitter'     : -34.0,
137081                             'target'                : '172.17.17.1',
137082                             'source'                : '172.17.17.2',
137083                             'probe_count'           : 15,
137084                             'current_test_min_delay': 176.402
137085                         }
137086                     }
137087                 }
137088
137089       salt.modules.napalm_probes.schedule_probes(*args, **kwargs)
137090              Will  schedule the probes. On Cisco devices, it is not enough to
137091              define the probes, it is also necessary to schedule them.
137092
137093              This function calls the configuration  template  schedule_probes
137094              from  the  NAPALM  library,  providing as input a rich formatted
137095              dictionary with the names of the probes  and  the  tests  to  be
137096              scheduled.
137097
137098              Parameters
137099
137100                     · probes  -- Dictionary with a similar format as the out‐
137101                       put dictionary of  the  function  config(),  where  the
137102                       details are not necessary.
137103
137104                     · test -- Dry run? If set as True, will apply the config,
137105                       discard and return the changes. Default: False
137106
137107                     · commit -- Commit? (default: True) Sometimes it  is  not
137108                       needed  to  commit the config immediately after loading
137109                       the changes. E.g.: a state loads a couple of parts (add
137110                       /  remove  / update) and would not be optimal to commit
137111                       after each operation.  Also, from the CLI when the user
137112                       needs  to  apply the similar changes before committing,
137113                       can specify commit=False and will not discard the  con‐
137114                       fig.
137115
137116              Raises MergeConfigException  -- If there is an error on the con‐
137117                     figuration sent.
137118
137119              Returns
137120                     a dictionary having the following keys:
137121
137122              · result (bool): if the config was applied successfully.  It  is
137123                False only in case of failure. In case there are no changes to
137124                be applied and successfully  performs  all  operations  it  is
137125                still True and so will be the already_configured flag (example
137126                below)
137127
137128              · comment (str): a message for the user
137129
137130              · already_configured (bool): flag to  check  if  there  were  no
137131                changes applied
137132
137133              · diff (str): returns the config changes applied
137134
137135              Input example:
137136
137137                 probes = {
137138                     'new_probe':{
137139                         'new_test1': {},
137140                         'new_test2': {}
137141                     }
137142                 }
137143
137144       salt.modules.napalm_probes.set_probes(*args, **kwargs)
137145              Configures  RPM/SLA  probes on the device.  Calls the configura‐
137146              tion template 'set_probes' from the NAPALM library, providing as
137147              input a rich formatted dictionary with the configuration details
137148              of the probes to be configured.
137149
137150              Parameters
137151
137152                     · probes -- Dictionary formatted as  the  output  of  the
137153                       function config()
137154
137155                     · test -- Dry run? If set as True, will apply the config,
137156                       discard and return the changes. Default: False
137157
137158                     · commit -- Commit? (default: True) Sometimes it  is  not
137159                       needed  to  commit the config immediately after loading
137160                       the changes. E.g.: a state loads a couple of parts (add
137161                       /  remove  / update) and would not be optimal to commit
137162                       after each operation.  Also, from the CLI when the user
137163                       needs  to  apply the similar changes before committing,
137164                       can specify commit=False and will not discard the  con‐
137165                       fig.
137166
137167              Raises MergeConfigException  -- If there is an error on the con‐
137168                     figuration sent.
137169
137170              Return a dictionary having the following keys
137171
137172                     · result (bool): if the config was applied  successfully.
137173                       It  is False only in case of failure. In case there are
137174                       no changes to be applied and successfully performs  all
137175                       operations  it  is  still  True  and  so  will  be  the
137176                       already_configured flag (example below)
137177
137178                     · comment (str): a message for the user
137179
137180                     · already_configured (bool): flag to check if there  were
137181                       no changes applied
137182
137183                     · diff (str): returns the config changes applied
137184
137185              Input example - via state/script:
137186
137187                 probes = {
137188                     'new_probe':{
137189                         'new_test1': {
137190                             'probe_type'   : 'icmp-ping',
137191                             'target'       : '192.168.0.1',
137192                             'source'       : '192.168.0.2',
137193                             'probe_count'  : 13,
137194                             'test_interval': 3
137195                         },
137196                         'new_test2': {
137197                             'probe_type'   : 'http-ping',
137198                             'target'       : '172.17.17.1',
137199                             'source'       : '192.17.17.2',
137200                             'probe_count'  : 5,
137201                             'test_interval': 60
137202                         }
137203                     }
137204                 }
137205                 set_probes(probes)
137206
137207              CLI Example - to push cahnges on the fly (not recommended):
137208
137209                 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
137210
137211              Output example - for the CLI example above:
137212
137213                 junos_minion:
137214                     ----------
137215                     already_configured:
137216                         False
137217                     comment:
137218                         Configuration discarded.
137219                     diff:
137220                         [edit services rpm]
137221                              probe transit { ... }
137222                         +    probe new_probe {
137223                         +        test new_test1 {
137224                         +            probe-type icmp-ping;
137225                         +            target address 192.168.0.1;
137226                         +            probe-count 13;
137227                         +            test-interval 3;
137228                         +            source-address 192.168.0.2;
137229                         +        }
137230                         +    }
137231                     result:
137232                         True
137233
137234   salt.modules.napalm_route module
137235   NAPALM Route
137236       Retrieves route details from network devices.
137237
137238       codeauthor
137239              Mircea Ulinic <mircea@cloudflare.com>
137240
137241       maturity
137242              new
137243
137244       depends
137245              napalm
137246
137247       platform
137248              unix
137249
137250   Dependencies
137251       · NAPALM proxy minion
137252
137253       New in version 2016.11.0.
137254
137255
137256       salt.modules.napalm_route.show(*args, **kwargs)
137257              Displays  all details for a certain route learned via a specific
137258              protocol.  If the protocol is not  specified,  will  return  all
137259              possible routes.
137260
137261              NOTE:
137262                 This  function  return  the routes from the RIB.  In case the
137263                 destination prefix is too short, there may be too many routes
137264                 matched.   Therefore  in  cases of devices having a very high
137265                 number of routes it may be necessary  to  adjust  the  prefix
137266                 length and request using a longer prefix.
137267
137268              destination
137269                     destination prefix.
137270
137271              protocol (optional)
137272                     protocol used to learn the routes to the destination.
137273
137274              Changed in version 2017.7.0.
137275
137276
137277              CLI Example:
137278
137279                 salt 'my_router' route.show 172.16.0.0/25
137280                 salt 'my_router' route.show 172.16.0.0/25 bgp
137281
137282              Output example:
137283
137284                 {
137285                     '172.16.0.0/25': [
137286                         {
137287                             'protocol': 'BGP',
137288                             'last_active': True,
137289                             'current_active': True,
137290                             'age': 1178693,
137291                             'routing_table': 'inet.0',
137292                             'next_hop': '192.168.0.11',
137293                             'outgoing_interface': 'xe-1/1/1.100',
137294                             'preference': 170,
137295                             'selected_next_hop': False,
137296                             'protocol_attributes': {
137297                                 'remote_as': 65001,
137298                                 'metric': 5,
137299                                 'local_as': 13335,
137300                                 'as_path': '',
137301                                 'remote_address': '192.168.0.11',
137302                                 'metric2': 0,
137303                                 'local_preference': 0,
137304                                 'communities': [
137305                                     '0:2',
137306                                     'no-export'
137307                                 ],
137308                                 'preference2': -1
137309                             },
137310                             'inactive_reason': ''
137311                         },
137312                         {
137313                             'protocol': 'BGP',
137314                             'last_active': False,
137315                             'current_active': False,
137316                             'age': 2359429,
137317                             'routing_table': 'inet.0',
137318                             'next_hop': '192.168.0.17',
137319                             'outgoing_interface': 'xe-1/1/1.100',
137320                             'preference': 170,
137321                             'selected_next_hop': True,
137322                             'protocol_attributes': {
137323                                 'remote_as': 65001,
137324                                 'metric': 5,
137325                                 'local_as': 13335,
137326                                 'as_path': '',
137327                                 'remote_address': '192.168.0.17',
137328                                 'metric2': 0,
137329                                 'local_preference': 0,
137330                                 'communities': [
137331                                     '0:3',
137332                                     'no-export'
137333                                 ],
137334                                 'preference2': -1
137335                             },
137336                             'inactive_reason': 'Not Best in its group - Router ID'
137337                         }
137338                     ]
137339                 }
137340
137341   salt.modules.napalm_snmp module
137342   NAPALM SNMP
137343       Manages SNMP on network devices.
137344
137345       codeauthor
137346              Mircea Ulinic <mircea@cloudflare.com>
137347
137348       maturity
137349              new
137350
137351       depends
137352              napalm
137353
137354       platform
137355              unix
137356
137357   Dependencies
137358       · NAPALM proxy minion
137359
137360       · NET basic features
137361
137362       SEE ALSO:
137363          SNMP configuration management state
137364
137365       New in version 2016.11.0.
137366
137367
137368       salt.modules.napalm_snmp.config(*args, **kwargs)
137369              Returns the SNMP configuration
137370
137371              CLI Example:
137372
137373                 salt '*' snmp.config
137374
137375       salt.modules.napalm_snmp.remove_config(*args, **kwargs)
137376              Removes a configuration element from the SNMP configuration.
137377
137378              Parameters
137379
137380                     · chassis_id -- (optional) Chassis ID
137381
137382                     · community -- (optional) A dictionary having the follow‐
137383                       ing optional keys:
137384
137385              · acl (if any policy / ACL need to be set)
137386
137387              · mode: rw or ro. Default: ro
137388
137389              Parameters
137390
137391                     · contact -- Contact details
137392
137393                     · location -- Location
137394
137395                     · test -- Dry run? If set as True, will apply the config,
137396                       discard and return the changes. Default: False
137397
137398                     · commit  --  Commit? (default: True) Sometimes it is not
137399                       needed to commit the config immediately  after  loading
137400                       the changes. E.g.: a state loads a couple of parts (add
137401                       / remove / update) and would not be optimal  to  commit
137402                       after each operation.  Also, from the CLI when the user
137403                       needs to apply the similar changes  before  committing,
137404                       can  specify commit=False and will not discard the con‐
137405                       fig.
137406
137407              Raises MergeConfigException -- If there is an error on the  con‐
137408                     figuration sent.
137409
137410              Returns
137411                     A dictionary having the following keys:
137412
137413              · result  (bool):  if the config was applied successfully. It is
137414                False only in case of failure. In case there are no changes to
137415                be  applied  and  successfully  performs  all operations it is
137416                still True and so will be the already_configured flag (example
137417                below)
137418
137419              · comment (str): a message for the user
137420
137421              · already_configured  (bool):  flag  to  check  if there were no
137422                changes applied
137423
137424              · diff (str): returns the config changes applied
137425
137426              CLI Example:
137427
137428                 salt '*' snmp.remove_config community='abcd'
137429
137430       salt.modules.napalm_snmp.update_config(*args, **kwargs)
137431              Updates the SNMP configuration.
137432
137433              Parameters
137434
137435                     · chassis_id -- (optional) Chassis ID
137436
137437                     · community -- (optional) A dictionary having the follow‐
137438                       ing optional keys:
137439
137440              · acl (if any policy / ACL need to be set)
137441
137442              · mode: rw or ro. Default: ro
137443
137444              Parameters
137445
137446                     · contact -- Contact details
137447
137448                     · location -- Location
137449
137450                     · test -- Dry run? If set as True, will apply the config,
137451                       discard and return the changes. Default: False
137452
137453                     · commit -- Commit? (default: True) Sometimes it  is  not
137454                       needed  to  commit the config immediately after loading
137455                       the changes. E.g.: a state loads a couple of parts (add
137456                       /  remove  / update) and would not be optimal to commit
137457                       after each operation.  Also, from the CLI when the user
137458                       needs  to  apply the similar changes before committing,
137459                       can specify commit=False and will not discard the  con‐
137460                       fig.
137461
137462              Raises MergeConfigException  -- If there is an error on the con‐
137463                     figuration sent.
137464
137465              Return a dictionary having the following keys
137466
137467              · result (bool): if the config was applied successfully.  It  is
137468                False only in case of failure. In case there are no changes to
137469                be applied and successfully  performs  all  operations  it  is
137470                still True and so will be the already_configured flag (example
137471                below)
137472
137473              · comment (str): a message for the user
137474
137475              · already_configured (bool): flag to  check  if  there  were  no
137476                changes applied
137477
137478              · diff (str): returns the config changes applied
137479
137480              CLI Example:
137481
137482                 salt 'edge01.lon01' snmp.update_config location="Greenwich, UK" test=True
137483
137484              Output example (for the CLI example above):
137485
137486                 edge01.lon01:
137487                     ----------
137488                     already_configured:
137489                         False
137490                     comment:
137491                         Configuration discarded.
137492                     diff:
137493                         [edit snmp]
137494                         -  location "London, UK";
137495                         +  location "Greenwich, UK";
137496                     result:
137497                         True
137498
137499   salt.modules.napalm_users module
137500   NAPALM Users
137501       Manages the configuration of the users on network devices.
137502
137503       codeauthor
137504              Mircea Ulinic <mircea@cloudflare.com>
137505
137506       maturity
137507              new
137508
137509       depends
137510              napalm
137511
137512       platform
137513              unix
137514
137515   Dependencies
137516       · NAPALM proxy minion
137517
137518       SEE ALSO:
137519          Users management state
137520
137521       New in version 2016.11.0.
137522
137523
137524       salt.modules.napalm_users.config(*args, **kwargs)
137525              Returns the configuration of the users on the device
137526
137527              CLI Example:
137528
137529                 salt '*' users.config
137530
137531              Output example:
137532
137533                 {
137534                     'mircea': {
137535                         'level': 15,
137536                         'password': '$1$0P70xKPa$4jt5/10cBTckk6I/w/',
137537                         'sshkeys': [
137538                             'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4pFn+shPwTb2yELO4L7NtQrKOJXNeCl1je                    l9STXVaGnRAnuc2PXl35vnWmcUq6YbUEcgUTRzzXfmelJKuVJTJIlMXii7h2xkbQp0YZIEs4P                    8ipwnRBAxFfk/ZcDsN3mjep4/yjN56ejk345jhk345jk345jk341p3A/9LIL7l6YewLBCwJj6                    D+fWSJ0/YW+7oH17Fk2HH+tw0L5PcWLHkwA4t60iXn16qDbIk/ze6jv2hDGdCdz7oYQeCE55C                    CHOHMJWYfN3jcL4s0qv8/u6Ka1FVkV7iMmro7ChThoV/5snI4Ljf2wKqgHH7TfNaCfpU0WvHA                    nTs8zhOrGScSrtb mircea@master-roshi'
137539                         ]
137540                     }
137541                 }
137542
137543       salt.modules.napalm_users.delete_users(*args, **kwargs)
137544              Removes users from the configuration of network devices.
137545
137546              Parameters
137547
137548                     · users  --  Dictionary  formatted  as  the output of the
137549                       function config()
137550
137551                     · test -- Dry run? If set as True, will apply the config,
137552                       discard and return the changes. Default: False
137553
137554                     · commit  --  Commit? (default: True) Sometimes it is not
137555                       needed to commit the config immediately  after  loading
137556                       the changes. E.g.: a state loads a couple of parts (add
137557                       / remove / update) and would not be optimal  to  commit
137558                       after each operation.  Also, from the CLI when the user
137559                       needs to apply the similar changes  before  committing,
137560                       can  specify commit=False and will not discard the con‐
137561                       fig.
137562
137563              Raises MergeConfigException -- If there is an error on the  con‐
137564                     figuration sent.
137565
137566              Return a dictionary having the following keys
137567
137568                     · result  (bool): if the config was applied successfully.
137569                       It is False only in case of failure. In case there  are
137570                       no  changes to be applied and successfully performs all
137571                       operations  it  is  still  True  and  so  will  be  the
137572                       already_configured flag (example below)
137573
137574                     · comment (str): a message for the user
137575
137576                     · already_configured  (bool): flag to check if there were
137577                       no changes applied
137578
137579                     · diff (str): returns the config changes applied
137580
137581              CLI Example:
137582
137583                 salt '*' users.delete_users "{'mircea': {}}"
137584
137585       salt.modules.napalm_users.set_users(*args, **kwargs)
137586              Configures users on network devices.
137587
137588              Parameters
137589
137590                     · users -- Dictionary formatted  as  the  output  of  the
137591                       function config()
137592
137593                     · test -- Dry run? If set as True, will apply the config,
137594                       discard and return the changes. Default: False
137595
137596                     · commit -- Commit? (default: True) Sometimes it  is  not
137597                       needed  to  commit the config immediately after loading
137598                       the changes. E.g.: a state loads a couple of parts (add
137599                       /  remove  / update) and would not be optimal to commit
137600                       after each operation.  Also, from the CLI when the user
137601                       needs  to  apply the similar changes before committing,
137602                       can specify commit=False and will not discard the  con‐
137603                       fig.
137604
137605              Raises MergeConfigException  -- If there is an error on the con‐
137606                     figuration sent.
137607
137608              Return a dictionary having the following keys
137609
137610              · result (bool): if the config was applied successfully.  It  is
137611                False only in case of failure. In case there are no changes to
137612                be applied and successfully  performs  all  operations  it  is
137613                still True and so will be the already_configured flag (example
137614                below)
137615
137616              · comment (str): a message for the user
137617
137618              · already_configured (bool): flag to  check  if  there  were  no
137619                changes applied
137620
137621              · diff (str): returns the config changes applied
137622
137623              CLI Example:
137624
137625                 salt '*' users.set_users "{'mircea': {}}"
137626
137627   salt.modules.napalm_yang_mod module
137628   NAPALM YANG
137629       NAPALM YANG basic operations.
137630
137631       New in version 2017.7.0.
137632
137633
137634       salt.modules.napalm_yang_mod.compliance_report(*args, **kwargs)
137635              Return the compliance report using YANG objects.
137636
137637              data   Dictionary  structured  with respect to the models refer‐
137638                     enced.
137639
137640              models A list of models to be used when generating the config.
137641
137642              filepath
137643                     The absolute path to the validation file.
137644
137645              CLI Example:
137646
137647                 salt '*' napalm_yang.compliance_report {} models.openconfig_interfaces filepath=~/validate.yml
137648
137649              Output Example:
137650
137651                 {
137652                   "skipped": [],
137653                   "complies": true,
137654                   "get_interfaces_ip": {
137655                     "missing": [],
137656                     "complies": true,
137657                     "present": {
137658                       "ge-0/0/0.0": {
137659                         "complies": true,
137660                         "nested": true
137661                       }
137662                     },
137663                     "extra": []
137664                   }
137665                 }
137666
137667       salt.modules.napalm_yang_mod.diff(candidate, running, *models)
137668              Returns the difference between two configuration entities struc‐
137669              tured according to the YANG model.
137670
137671              NOTE:
137672                 This  function  is  recommended  to be used mostly as a state
137673                 helper.
137674
137675              candidate
137676                     First model to compare.
137677
137678              running
137679                     Second model to compare.
137680
137681              models A list of models to be used when comparing.
137682
137683              CLI Example:
137684
137685                 salt '*' napalm_yang.diff {} {} models.openconfig_interfaces
137686
137687              Output Example:
137688
137689                 {
137690                     "interfaces": {
137691                         "interface": {
137692                             "both": {
137693                                 "Port-Channel1": {
137694                                     "config": {
137695                                         "mtu": {
137696                                             "first": "0",
137697                                             "second": "9000"
137698                                         }
137699                                     }
137700                                 }
137701                             },
137702                             "first_only": [
137703                                 "Loopback0"
137704                             ],
137705                             "second_only": [
137706                                 "Loopback1"
137707                             ]
137708                         }
137709                     }
137710                 }
137711
137712       salt.modules.napalm_yang_mod.get_config(*args, **kwargs)
137713              Return the native config.
137714
137715              data   Dictionary structured with respect to the  models  refer‐
137716                     enced.
137717
137718              models A list of models to be used when generating the config.
137719
137720              profiles: None
137721                     Use  certain  profiles  to  generate  the config.  If not
137722                     specified, will use the platform default profile(s).
137723
137724              CLI Example:
137725
137726                 salt '*' napalm_yang.get_config {} models.openconfig_interfaces
137727
137728              Output Example:
137729
137730                 interface et1
137731                     ip address 192.168.1.1/24
137732                     description Uplink1
137733                     mtu 9000
137734                 interface et2
137735                     ip address 192.168.2.1/24
137736                     description Uplink2
137737                     mtu 9000
137738
137739       salt.modules.napalm_yang_mod.load_config(*args, **kwargs)
137740              Generate and load the config on the device using the  OpenConfig
137741              or IETF models and device profiles.
137742
137743              data   Dictionary  structured  with respect to the models refer‐
137744                     enced.
137745
137746              models A list of models to be used when generating the config.
137747
137748              profiles: None
137749                     Use certain profiles to  generate  the  config.   If  not
137750                     specified, will use the platform default profile(s).
137751
137752              test: False
137753                     Dry  run?  If set as True, will apply the config, discard
137754                     and return the changes. Default: False  and  will  commit
137755                     the changes on the device.
137756
137757              commit: True
137758                     Commit? Default: True.
137759
137760              debug: False
137761                     Debug  mode.  Will insert a new key under the output dic‐
137762                     tionary, as loaded_config containing the  raw  configura‐
137763                     tion loaded on the device.
137764
137765              replace: False
137766                     Should replace the config with the new generate one?
137767
137768              CLI Example:
137769
137770                 salt '*' napalm_yang.load_config {} models.openconfig_interfaces test=True debug=True
137771
137772              Output Example:
137773
137774                 device1:
137775                     ----------
137776                     already_configured:
137777                         False
137778                     comment:
137779                     diff:
137780                         [edit interfaces ge-0/0/0]
137781                         -   mtu 1400;
137782                         [edit interfaces ge-0/0/0 unit 0 family inet]
137783                         -       dhcp;
137784                         [edit interfaces lo0]
137785                         -    unit 0 {
137786                         -        description lo0.0;
137787                         -    }
137788                         +    unit 1 {
137789                         +        description "new loopback";
137790                         +    }
137791                     loaded_config:
137792                         <configuration>
137793                           <interfaces replace="replace">
137794                             <interface>
137795                               <name>ge-0/0/0</name>
137796                               <unit>
137797                                 <name>0</name>
137798                                 <family>
137799                                   <inet/>
137800                                 </family>
137801                                 <description>ge-0/0/0.0</description>
137802                               </unit>
137803                               <description>management interface</description>
137804                             </interface>
137805                             <interface>
137806                               <name>ge-0/0/1</name>
137807                               <disable/>
137808                               <description>ge-0/0/1</description>
137809                             </interface>
137810                             <interface>
137811                               <name>ae0</name>
137812                               <unit>
137813                                 <name>0</name>
137814                                 <vlan-id>100</vlan-id>
137815                                 <family>
137816                                   <inet>
137817                                     <address>
137818                                       <name>192.168.100.1/24</name>
137819                                     </address>
137820                                     <address>
137821                                       <name>172.20.100.1/24</name>
137822                                     </address>
137823                                   </inet>
137824                                 </family>
137825                                 <description>a description</description>
137826                               </unit>
137827                               <vlan-tagging/>
137828                               <unit>
137829                                 <name>1</name>
137830                                 <vlan-id>1</vlan-id>
137831                                 <family>
137832                                   <inet>
137833                                     <address>
137834                                       <name>192.168.101.1/24</name>
137835                                     </address>
137836                                   </inet>
137837                                 </family>
137838                                 <disable/>
137839                                 <description>ae0.1</description>
137840                               </unit>
137841                               <vlan-tagging/>
137842                               <unit>
137843                                 <name>2</name>
137844                                 <vlan-id>2</vlan-id>
137845                                 <family>
137846                                   <inet>
137847                                     <address>
137848                                       <name>192.168.102.1/24</name>
137849                                     </address>
137850                                   </inet>
137851                                 </family>
137852                                 <description>ae0.2</description>
137853                               </unit>
137854                               <vlan-tagging/>
137855                             </interface>
137856                             <interface>
137857                               <name>lo0</name>
137858                               <unit>
137859                                 <name>1</name>
137860                                 <description>new loopback</description>
137861                               </unit>
137862                               <description>lo0</description>
137863                             </interface>
137864                           </interfaces>
137865                         </configuration>
137866                     result:
137867                         True
137868
137869       salt.modules.napalm_yang_mod.parse(*args, **kwargs)
137870              Parse configuration from the device.
137871
137872              models A list of models to be used when parsing.
137873
137874              config: False
137875                     Parse config.
137876
137877              state: False
137878                     Parse state.
137879
137880              profiles: None
137881                     Use certain profiles to parse. If not specified, will use
137882                     the device default profile(s).
137883
137884              CLI Example:
137885
137886                 salt '*' napalm_yang.parse models.openconfig_interfaces
137887
137888              Output Example:
137889
137890                 {
137891                     "interfaces": {
137892                         "interface": {
137893                             ".local.": {
137894                                 "name": ".local.",
137895                                 "state": {
137896                                     "admin-status": "UP",
137897                                     "counters": {
137898                                         "in-discards": 0,
137899                                         "in-errors": 0,
137900                                         "out-errors": 0
137901                                     },
137902                                     "enabled": True,
137903                                     "ifindex": 0,
137904                                     "last-change": 0,
137905                                     "oper-status": "UP",
137906                                     "type": "softwareLoopback"
137907                                 },
137908                                 "subinterfaces": {
137909                                     "subinterface": {
137910                                         ".local..0": {
137911                                             "index": ".local..0",
137912                                             "state": {
137913                                                 "ifindex": 0,
137914                                                 "name": ".local..0"
137915                                             }
137916                                         }
137917                                     }
137918                                 }
137919                             },
137920                             "ae0": {
137921                                 "name": "ae0",
137922                                 "state": {
137923                                     "admin-status": "UP",
137924                                     "counters": {
137925                                         "in-discards": 0,
137926                                         "in-errors": 0,
137927                                         "out-errors": 0
137928                                     },
137929                                     "enabled": True,
137930                                     "ifindex": 531,
137931                                     "last-change": 255203,
137932                                     "mtu": 1518,
137933                                     "oper-status": "DOWN"
137934                                 },
137935                                 "subinterfaces": {
137936                                     "subinterface": {
137937                                         "ae0.0": {
137938                                             "index": "ae0.0",
137939                                             "state": {
137940                                                 "description": "ASDASDASD",
137941                                                 "ifindex": 532,
137942                                                 "name": "ae0.0"
137943                                             }
137944                                         }
137945                                         "ae0.32767": {
137946                                             "index": "ae0.32767",
137947                                             "state": {
137948                                                 "ifindex": 535,
137949                                                 "name": "ae0.32767"
137950                                             }
137951                                         }
137952                                     }
137953                                 }
137954                             },
137955                             "dsc": {
137956                                 "name": "dsc",
137957                                 "state": {
137958                                     "admin-status": "UP",
137959                                     "counters": {
137960                                         "in-discards": 0,
137961                                         "in-errors": 0,
137962                                         "out-errors": 0
137963                                     },
137964                                     "enabled": True,
137965                                     "ifindex": 5,
137966                                     "last-change": 0,
137967                                     "oper-status": "UP"
137968                                 }
137969                             },
137970                             "ge-0/0/0": {
137971                                 "name": "ge-0/0/0",
137972                                 "state": {
137973                                     "admin-status": "UP",
137974                                     "counters": {
137975                                         "in-broadcast-pkts": 0,
137976                                         "in-discards": 0,
137977                                         "in-errors": 0,
137978                                         "in-multicast-pkts": 0,
137979                                         "in-unicast-pkts": 16877,
137980                                         "out-broadcast-pkts": 0,
137981                                         "out-errors": 0,
137982                                         "out-multicast-pkts": 0,
137983                                         "out-unicast-pkts": 15742
137984                                     },
137985                                     "description": "management interface",
137986                                     "enabled": True,
137987                                     "ifindex": 507,
137988                                     "last-change": 258467,
137989                                     "mtu": 1400,
137990                                     "oper-status": "UP"
137991                                 },
137992                                 "subinterfaces": {
137993                                     "subinterface": {
137994                                         "ge-0/0/0.0": {
137995                                             "index": "ge-0/0/0.0",
137996                                             "state": {
137997                                                 "description": "ge-0/0/0.0",
137998                                                 "ifindex": 521,
137999                                                 "name": "ge-0/0/0.0"
138000                                             }
138001                                         }
138002                                     }
138003                                 }
138004                             }
138005                             "irb": {
138006                                 "name": "irb",
138007                                 "state": {
138008                                     "admin-status": "UP",
138009                                     "counters": {
138010                                         "in-discards": 0,
138011                                         "in-errors": 0,
138012                                         "out-errors": 0
138013                                     },
138014                                     "enabled": True,
138015                                     "ifindex": 502,
138016                                     "last-change": 0,
138017                                     "mtu": 1514,
138018                                     "oper-status": "UP",
138019                                     "type": "ethernetCsmacd"
138020                                 }
138021                             },
138022                             "lo0": {
138023                                 "name": "lo0",
138024                                 "state": {
138025                                     "admin-status": "UP",
138026                                     "counters": {
138027                                         "in-discards": 0,
138028                                         "in-errors": 0,
138029                                         "out-errors": 0
138030                                     },
138031                                     "description": "lo0",
138032                                     "enabled": True,
138033                                     "ifindex": 6,
138034                                     "last-change": 0,
138035                                     "oper-status": "UP",
138036                                     "type": "softwareLoopback"
138037                                 },
138038                                 "subinterfaces": {
138039                                     "subinterface": {
138040                                         "lo0.0": {
138041                                             "index": "lo0.0",
138042                                             "state": {
138043                                                 "description": "lo0.0",
138044                                                 "ifindex": 16,
138045                                                 "name": "lo0.0"
138046                                             }
138047                                         },
138048                                         "lo0.16384": {
138049                                             "index": "lo0.16384",
138050                                             "state": {
138051                                                 "ifindex": 21,
138052                                                 "name": "lo0.16384"
138053                                             }
138054                                         },
138055                                         "lo0.16385": {
138056                                             "index": "lo0.16385",
138057                                             "state": {
138058                                                 "ifindex": 22,
138059                                                 "name": "lo0.16385"
138060                                             }
138061                                         },
138062                                         "lo0.32768": {
138063                                             "index": "lo0.32768",
138064                                             "state": {
138065                                                 "ifindex": 248,
138066                                                 "name": "lo0.32768"
138067                                             }
138068                                         }
138069                                     }
138070                                 }
138071                             }
138072                         }
138073                     }
138074                 }
138075
138076   salt.modules.netaddress
138077       Module for getting information about network addresses.
138078
138079       New in version 2016.3.0.
138080
138081
138082       depends
138083              netaddr
138084
138085       salt.modules.netaddress.cidr_broadcast(cidr)
138086              Get the broadcast address associated with a CIDR address.
138087
138088              CLI example:
138089
138090                 salt myminion netaddress.cidr_netmask 192.168.0.0/20
138091
138092       salt.modules.netaddress.cidr_netmask(cidr)
138093              Get the netmask address associated with a CIDR address.
138094
138095              CLI example:
138096
138097                 salt myminion netaddress.cidr_netmask 192.168.0.0/20
138098
138099       salt.modules.netaddress.list_cidr_ips(cidr)
138100              Get a list of IP addresses from a CIDR.
138101
138102              CLI example:
138103
138104                 salt myminion netaddress.list_cidr_ips 192.168.0.0/20
138105
138106       salt.modules.netaddress.list_cidr_ips_ipv6(cidr)
138107              Get a list of IPv6 addresses from a CIDR.
138108
138109              CLI example:
138110
138111                 salt myminion netaddress.list_cidr_ips_ipv6 192.168.0.0/20
138112
138113   salt.modules.netbox module
138114   NetBox
138115       Module to query NetBox
138116
138117       codeauthor
138118              Zach Moody <zmoody@do.co>
138119
138120       maturity
138121              new
138122
138123       depends
138124              pynetbox
138125
138126       The following config should be in the minion config file. In  order  to
138127       work  with  secrets you should provide a token and path to your private
138128       key file:
138129
138130          netbox:
138131            url: <NETBOX_URL>
138132            token: <NETBOX_USERNAME_API_TOKEN (OPTIONAL)>
138133            keyfile: </PATH/TO/NETBOX/KEY (OPTIONAL)>
138134
138135       New in version 2018.3.0.
138136
138137
138138       salt.modules.netbox.create_circuit(name,   provider_id,   circuit_type,
138139       description=None)
138140              New in version Fluorine.
138141
138142
138143              Create a new Netbox circuit
138144
138145              name   Name of the circuit
138146
138147              provider_id
138148                     The netbox id of the circuit provider
138149
138150              circuit_type
138151                     The name of the circuit type
138152
138153              asn    The ASN of the circuit provider
138154
138155              description
138156                     The description of the circuit
138157
138158              CLI Example:
138159
138160                 salt myminion netbox.create_circuit NEW_CIRCUIT_01 Telia Transit 1299 "New Telia circuit"
138161
138162       salt.modules.netbox.create_circuit_provider(name, asn=None)
138163              New in version Fluorine.
138164
138165
138166              Create a new Netbox circuit provider
138167
138168              name   The name of the circuit provider
138169
138170              asn    The ASN of the circuit provider
138171
138172              CLI Example:
138173
138174                 salt myminion netbox.create_circuit_provider Telia 1299
138175
138176       salt.modules.netbox.create_circuit_termination(circuit,      interface,
138177       device, speed, xconnect_id=None, term_side=u'A')
138178              New in version Fluorine.
138179
138180
138181              Terminate a circuit on an interface
138182
138183              circuit
138184                     The name of the circuit
138185
138186              interface
138187                     The name of the interface to terminate on
138188
138189              device The name of the device the interface belongs to
138190
138191              speed  The speed of the circuit, in Kbps
138192
138193              xconnect_id
138194                     The cross-connect identifier
138195
138196              term_side
138197                     The side of the circuit termination
138198
138199              CLI Example:
138200
138201                 salt myminion netbox.create_circuit_termination NEW_CIRCUIT_01 xe-0/0/1 myminion 10000 xconnect_id=XCON01
138202
138203       salt.modules.netbox.create_circuit_type(name)
138204              New in version Fluorine.
138205
138206
138207              Create a new Netbox circuit type.
138208
138209              name   The name of the circuit type
138210
138211              CLI Example:
138212
138213                 salt myminion netbox.create_circuit_type Transit
138214
138215       salt.modules.netbox.create_device(name,  role,   model,   manufacturer,
138216       site)
138217              New in version Fluorine.
138218
138219
138220              Create  a  new device with a name, role, model, manufacturer and
138221              site.  All these components need to be already in Netbox.
138222
138223              name   The name of the device, e.g., edge_router
138224
138225              role   String of device role, e.g., router
138226
138227              model  String of device model, e.g., MX480
138228
138229              manufacturer
138230                     String of device manufacturer, e.g., Juniper
138231
138232              site   String of device site, e.g., BRU
138233
138234              CLI Example:
138235
138236                 salt myminion netbox.create_device edge_router router MX480 Juniper BRU
138237
138238       salt.modules.netbox.create_device_role(role, color)
138239              New in version Fluorine.
138240
138241
138242              Create a device role
138243
138244              role   String of device role, e.g., router
138245
138246              CLI Example:
138247
138248                 salt myminion netbox.create_device_role router
138249
138250       salt.modules.netbox.create_device_type(model, manufacturer)
138251              New in version Fluorine.
138252
138253
138254              Create a device type. If the manufacturer doesn't exist,  create
138255              a new manufacturer.
138256
138257              model  String of device model, e.g., MX480
138258
138259              manufacturer
138260                     String of device manufacturer, e.g., Juniper
138261
138262              CLI Example:
138263
138264                 salt myminion netbox.create_device_type MX480 Juniper
138265
138266       salt.modules.netbox.create_interface(device_name,       interface_name,
138267       mac_address=None, description=None,  enabled=None,  lag=None,  lag_par‐
138268       ent=None, form_factor=None)
138269              New in version Fluorine.
138270
138271
138272              Attach  an  interface to a device. If not all arguments are pro‐
138273              vided, they will default to Netbox defaults.
138274
138275              device_name
138276                     The name of the device, e.g., edge_router
138277
138278              interface_name
138279                     The name of the interface, e.g., TenGigE0/0/0/0
138280
138281              mac_address
138282                     String of mac address, e.g., 50:87:89:73:92:C8
138283
138284              description
138285                     String of interface description, e.g., NTT
138286
138287              enabled
138288                     String of boolean interface status, e.g., True
138289
138290              lag:   Boolean of interface lag status, e.g., True
138291
138292              lag_parent
138293                     String of interface lag parent name, e.g., ae13
138294
138295              form_factor
138296                     Integer of form factor id, obtained through _choices  API
138297                     endpoint, e.g., 200
138298
138299              CLI Example:
138300
138301                 salt myminion netbox.create_interface edge_router ae13 description="Core uplink"
138302
138303       salt.modules.netbox.create_interface_connection(interface_a,     inter‐
138304       face_b)
138305              New in version Fluorine.
138306
138307
138308              Create an interface connection between 2 interfaces
138309
138310              interface_a
138311                     Interface id for Side A
138312
138313              interface_b
138314                     Interface id for Side B
138315
138316              CLI Example:
138317
138318                 salt myminion netbox.create_interface_connection 123 456
138319
138320       salt.modules.netbox.create_inventory_item(device_name, item_name, manu‐
138321       facturer_name=None, serial=u'', part_id=u'', description=u'')
138322              New in version Fluorine.
138323
138324
138325              Add an inventory item to an existing device.
138326
138327              device_name
138328                     The name of the device, e.g., edge_router.
138329
138330              item_name
138331                     String of inventory item name, e.g., Transceiver.
138332
138333              manufacturer_name
138334                     String of inventory item manufacturer, e.g., Fiberstore.
138335
138336              serial String of inventory item serial, e.g., FS1238931.
138337
138338              part_id
138339                     String of inventory item part id, e.g., 740-01234.
138340
138341              description
138342                     String of inventory item description, e.g., SFP+-10G-LR.
138343
138344              CLI Example:
138345
138346                 salt myminion netbox.create_inventory_item edge_router Transceiver part_id=740-01234
138347
138348       salt.modules.netbox.create_ipaddress(ip_address,  family,  device=None,
138349       interface=None)
138350              New in version Fluorine.
138351
138352
138353              Add an IP address, and optionally attach it to an interface.
138354
138355              ip_address
138356                     The IP address and CIDR, e.g., 192.168.1.1/24
138357
138358              family Integer of IP family, e.g., 4
138359
138360              device The name of the device to attach IP to, e.g., edge_router
138361
138362              interface
138363                     The name of the interface to attach IP to, e.g., ae13
138364
138365              CLI Example:
138366
138367                 salt myminion netbox.create_ipaddress 192.168.1.1/24 4 device=edge_router interface=ae13
138368
138369       salt.modules.netbox.create_manufacturer(name)
138370              New in version Fluorine.
138371
138372
138373              Create a device manufacturer.
138374
138375              name   The name of the manufacturer, e.g., Juniper
138376
138377              CLI Example:
138378
138379                 salt myminion netbox.create_manufacturer Juniper
138380
138381       salt.modules.netbox.create_platform(platform)
138382              New in version Fluorine.
138383
138384
138385              Create a new device platform
138386
138387              platform
138388                     String of device platform, e.g., junos
138389
138390              CLI Example:
138391
138392                 salt myminion netbox.create_platform junos
138393
138394       salt.modules.netbox.create_site(site)
138395              New in version Fluorine.
138396
138397
138398              Create a new device site
138399
138400              site   String of device site, e.g., BRU
138401
138402              CLI Example:
138403
138404                 salt myminion netbox.create_site BRU
138405
138406       salt.modules.netbox.delete_interface(device_name, interface_name)
138407              New in version Fluorine.
138408
138409
138410              Delete an interface from a device.
138411
138412              device_name
138413                     The name of the device, e.g., edge_router.
138414
138415              interface_name
138416                     The name of the interface, e.g., ae13
138417
138418              CLI Example:
138419
138420                 salt myminion netbox.delete_interface edge_router ae13
138421
138422       salt.modules.netbox.delete_inventory_item(item_id)
138423              New in version Fluorine.
138424
138425
138426              Remove an item from a devices inventory. Identified by the  net‐
138427              box id
138428
138429              item_id
138430                     Integer of item to be deleted
138431
138432              CLI Example:
138433
138434                 salt myminion netbox.delete_inventory_item 1354
138435
138436       salt.modules.netbox.delete_ipaddress(ipaddr_id)
138437              New in version Fluorine.
138438
138439
138440              Delete  an  IP address. IP addresses in Netbox are a combination
138441              of address and the interface it is assigned to.
138442
138443              id     The Netbox id for the IP address.
138444
138445              CLI Example:
138446
138447                 salt myminion netbox.delete_ipaddress 9002
138448
138449       salt.modules.netbox.filter_(app, endpoint, **kwargs)
138450              Get a list of items from NetBox.
138451
138452              app    String of netbox app, e.g., dcim, circuits, ipam
138453
138454              endpoint
138455                     String of app endpoint, e.g., sites, regions, devices
138456
138457              kwargs Optional arguments that can be used to filter.  All  fil‐
138458                     ter  keywords are available in Netbox, which can be found
138459                     by surfing to the corresponding API endpoint, and  click‐
138460                     ing Filters. e.g., role=router
138461
138462              Returns a list of dictionaries
138463
138464                 salt myminion netbox.filter dcim devices status=1 role=router
138465
138466       salt.modules.netbox.get_(app, endpoint, id=None, **kwargs)
138467              Get a single item from NetBox.
138468
138469              app    String of netbox app, e.g., dcim, circuits, ipam
138470
138471              endpoint
138472                     String of app endpoint, e.g., sites, regions, devices
138473
138474              Returns a single dictionary
138475
138476              To get an item based on ID.
138477
138478                 salt myminion netbox.get dcim devices id=123
138479
138480              Or  using  named arguments that correspond with accepted filters
138481              on the NetBox endpoint.
138482
138483                 salt myminion netbox.get dcim devices name=my-router
138484
138485       salt.modules.netbox.get_circuit_provider(name, asn=None)
138486              New in version Fluorine.
138487
138488
138489              Get a circuit provider with a given name and optional ASN.
138490
138491              name   The name of the circuit provider
138492
138493              asn    The ASN of the circuit provider
138494
138495              CLI Example:
138496
138497                 salt myminion netbox.get_circuit_provider Telia 1299
138498
138499       salt.modules.netbox.get_interfaces(device_name=None, **kwargs)
138500              New in version Fluorine.
138501
138502
138503              Returns interfaces for a specific device using arbitrary  netbox
138504              filters
138505
138506              device_name
138507                     The name of the device, e.g., edge_router
138508
138509              kwargs Optional arguments to be used for filtering
138510
138511              CLI Example:
138512
138513                 salt myminion netbox.get_interfaces edge_router name="et-0/0/5"
138514
138515       salt.modules.netbox.get_ipaddresses(device_name=None, **kwargs)
138516              New in version Fluorine.
138517
138518
138519              Filters for an IP address using specified filters
138520
138521              device_name
138522                     The name of the device to check for the IP address
138523
138524              kwargs Optional arguments that can be used to filter, e.g., fam‐
138525                     ily=4
138526
138527              CLI Example:
138528
138529                 salt myminion netbox.get_ipaddresses device_name family=4
138530
138531       salt.modules.netbox.make_interface_child(device_name,   interface_name,
138532       parent_name)
138533              New in version Fluorine.
138534
138535
138536              Set an interface as part of a LAG.
138537
138538              device_name
138539                     The name of the device, e.g., edge_router.
138540
138541              interface_name
138542                     The  name  of  the interface to be attached to LAG, e.g.,
138543                     xe-1/0/2.
138544
138545              parent_name
138546                     The name of the LAG interface, e.g., ae13.
138547
138548              CLI Example:
138549
138550                 salt myminion netbox.make_interface_child xe-1/0/2 ae13
138551
138552       salt.modules.netbox.make_interface_lag(device_name, interface_name)
138553              New in version Fluorine.
138554
138555
138556              Update an interface to be a LAG.
138557
138558              device_name
138559                     The name of the device, e.g., edge_router.
138560
138561              interface_name
138562                     The name of the interface, e.g., ae13.
138563
138564              CLI Example:
138565
138566                 salt myminion netbox.make_interface_lag edge_router ae13
138567
138568       salt.modules.netbox.openconfig_interfaces(device_name=None)
138569              New in version Fluorine.
138570
138571
138572              Return  a  dictionary  structured   as   standardised   in   the
138573              openconfig-interfaces  YANG  model, containing physical and con‐
138574              figuration data available in Netbox, e.g.,  IP  addresses,  MTU,
138575              enabled / disabled, etc.
138576
138577              device_name: None
138578                     The  name  of the device to query the interface data for.
138579                     If not provided, will use the Minion ID.
138580
138581              CLI Example:
138582
138583                 salt '*' netbox.openconfig_interfaces
138584                 salt '*' netbox.openconfig_interfaces device_name=cr1.thn.lon
138585
138586       salt.modules.netbox.openconfig_lacp(device_name=None)
138587              New in version Fluorine.
138588
138589
138590              Return  a  dictionary  structured   as   standardised   in   the
138591              openconfig-lacp  YANG  model,  with  configuration data for Link
138592              Aggregation Control Protocol (LACP) for aggregate interfaces.
138593
138594              NOTE:
138595                 The interval and lacp_mode keys have the values set  as  SLOW
138596                 and ACTIVE respectively, as this data is not currently avail‐
138597                 able in Netbox, therefore defaulting to the values defined in
138598                 the   standard.   See  interval  and  lacp-mode  for  further
138599                 details.
138600
138601              device_name: None
138602                     The name of the device to query the LACP information for.
138603                     If not provided, will use the Minion ID.
138604
138605              CLI Example:
138606
138607                 salt '*' netbox.openconfig_lacp
138608                 salt '*' netbox.openconfig_lacp device_name=cr1.thn.lon
138609
138610       salt.modules.netbox.slugify(value)
138611              '    Slugify    given    value.     Credit    to   Djangoproject
138612              https://docs.djangoproject.com/en/2.0/_modules/django/utils/text/#slugify
138613
138614       salt.modules.netbox.update_device(name, **kwargs)
138615              New in version Fluorine.
138616
138617
138618              Add attributes to an existing device, identified by name.
138619
138620              name   The name of the device, e.g., edge_router
138621
138622              kwargs Arguments to change in device, e.g., serial=JN2932930
138623
138624              CLI Example:
138625
138626                 salt myminion netbox.update_device edge_router serial=JN2932920
138627
138628       salt.modules.netbox.update_interface(device_name,       interface_name,
138629       **kwargs)
138630              New in version Fluorine.
138631
138632
138633              Update an existing interface with new attributes.
138634
138635              device_name
138636                     The name of the device, e.g., edge_router
138637
138638              interface_name
138639                     The name of the interface, e.g., ae13
138640
138641              kwargs Arguments    to    change     in     interface,     e.g.,
138642                     mac_address=50:87:69:53:32:D0
138643
138644              CLI Example:
138645
138646                 salt myminion netbox.update_interface edge_router ae13 mac_address=50:87:69:53:32:D0
138647
138648   salt.modules.netbsd_sysctl
138649       Module for viewing and modifying sysctl parameters
138650
138651       salt.modules.netbsd_sysctl.assign(name, value)
138652              Assign a single sysctl parameter for this minion
138653
138654              CLI Example:
138655
138656                 salt '*' sysctl.assign net.inet.icmp.icmplim 50
138657
138658       salt.modules.netbsd_sysctl.get(name)
138659              Return a single sysctl parameter for this minion
138660
138661              CLI Example:
138662
138663                 salt '*' sysctl.get hw.physmem
138664
138665       salt.modules.netbsd_sysctl.persist(name,           value,          con‐
138666       fig=u'/etc/sysctl.conf')
138667              Assign and persist a simple sysctl parameter for this minion
138668
138669              CLI Example:
138670
138671                 salt '*' sysctl.persist net.inet.icmp.icmplim 50
138672
138673       salt.modules.netbsd_sysctl.show(config_file=False)
138674              Return a list of sysctl parameters for this minion
138675
138676              CLI Example:
138677
138678                 salt '*' sysctl.show
138679
138680   salt.modules.netbsdservice
138681       The service module for NetBSD
138682
138683       IMPORTANT:
138684          If you feel that Salt should be using this module to manage services
138685          on  a  minion, and it is using a different module (or gives an error
138686          similar to 'service.start' is not available), see here.
138687
138688       salt.modules.netbsdservice.available(name)
138689              Returns True if the specified service  is  available,  otherwise
138690              returns False.
138691
138692              CLI Example:
138693
138694                 salt '*' service.available sshd
138695
138696       salt.modules.netbsdservice.disable(name, **kwargs)
138697              Disable the named service to start at boot
138698
138699              CLI Example:
138700
138701                 salt '*' service.disable <service name>
138702
138703       salt.modules.netbsdservice.disabled(name)
138704              Return True if the named service is enabled, false otherwise
138705
138706              CLI Example:
138707
138708                 salt '*' service.disabled <service name>
138709
138710       salt.modules.netbsdservice.enable(name, **kwargs)
138711              Enable the named service to start at boot
138712
138713              CLI Example:
138714
138715                 salt '*' service.enable <service name>
138716
138717       salt.modules.netbsdservice.enabled(name, **kwargs)
138718              Return True if the named service is enabled, false otherwise
138719
138720              CLI Example:
138721
138722                 salt '*' service.enabled <service name>
138723
138724       salt.modules.netbsdservice.force_reload(name)
138725              Force-reload the named service
138726
138727              CLI Example:
138728
138729                 salt '*' service.force_reload <service name>
138730
138731       salt.modules.netbsdservice.get_all()
138732              Return all available boot services
138733
138734              CLI Example:
138735
138736                 salt '*' service.get_all
138737
138738       salt.modules.netbsdservice.get_disabled()
138739              Return a set of services that are installed but disabled
138740
138741              CLI Example:
138742
138743                 salt '*' service.get_disabled
138744
138745       salt.modules.netbsdservice.get_enabled()
138746              Return a list of service that are enabled on boot
138747
138748              CLI Example:
138749
138750                 salt '*' service.get_enabled
138751
138752       salt.modules.netbsdservice.missing(name)
138753              The inverse of service.available.  Returns True if the specified
138754              service is not available, otherwise returns False.
138755
138756              CLI Example:
138757
138758                 salt '*' service.missing sshd
138759
138760       salt.modules.netbsdservice.reload_(name)
138761              Reload the named service
138762
138763              CLI Example:
138764
138765                 salt '*' service.reload <service name>
138766
138767       salt.modules.netbsdservice.restart(name)
138768              Restart the named service
138769
138770              CLI Example:
138771
138772                 salt '*' service.restart <service name>
138773
138774       salt.modules.netbsdservice.start(name)
138775              Start the specified service
138776
138777              CLI Example:
138778
138779                 salt '*' service.start <service name>
138780
138781       salt.modules.netbsdservice.status(name, sig=None)
138782              Return the status for a service.  If the name contains globbing,
138783              a dict mapping service name to True/False values is returned.
138784
138785              Changed  in version 2018.3.0: The service name can now be a glob
138786              (e.g. salt*)
138787
138788
138789              Parameters
138790
138791                     · name (str) -- The name of the service to check
138792
138793                     · sig (str) -- Signature to use to find the  service  via
138794                       ps
138795
138796              Returns
138797                     True  if running, False otherwise dict: Maps service name
138798                     to True if running, False otherwise
138799
138800              Return type
138801                     bool
138802
138803              CLI Example:
138804
138805                 salt '*' service.status <service name> [service signature]
138806
138807       salt.modules.netbsdservice.stop(name)
138808              Stop the specified service
138809
138810              CLI Example:
138811
138812                 salt '*' service.stop <service name>
138813
138814   salt.modules.netmiko_mod
138815   Netmiko Execution Module
138816       New in version Fluorine.
138817
138818
138819       Execution module to interface the  connection  with  a  remote  network
138820       device. It is flexible enough to execute the commands both when running
138821       under a Netmiko Proxy Minion, as well as running under a Regular Minion
138822       by  specifying  the  connection arguments, i.e., device_type, ip, user‐
138823       name, password etc.
138824
138825       codeauthor
138826              Mircea  Ulinic   <ping@mirceaulinic.net>   &   Kirk   Byers   <‐
138827              ktbyers@twb-tech.com>
138828
138829       maturity
138830              new
138831
138832       depends
138833              netmiko
138834
138835       platform
138836              unix
138837
138838   Dependencies
138839       The netmiko proxy modules requires Netmiko to be installed: pip install
138840       netmiko.
138841
138842   Usage
138843       This module can equally be used via the  netmiko  Proxy  module  (check
138844       documentation),  or  directly  from an arbitrary (Proxy) Minion that is
138845       running on a server (computer) having access to the network device, and
138846       has the netmiko library installed.
138847
138848       When  running  outside  of  the netmiko Proxy (i.e., from another Proxy
138849       Minion type, or regular Minion), the netmiko connection  arguments  can
138850       be  either  specified  from the CLI when executing the command, or in a
138851       configuration block under the netmiko key  in  the  configuration  opts
138852       (i.e.,  (Proxy)  Minion configuration file), or Pillar. The module sup‐
138853       ports these simultaneously. These fields are the exact  same  supported
138854       by the netmiko Proxy Module:
138855
138856       · device_type  -  Class  selection  based  on  device  type.  Supported
138857         options:
138858
138859         · a10: A10 Networks
138860
138861         · accedian: Accedian Networks
138862
138863         · alcatel_aos: Alcatel AOS
138864
138865         · alcatel_sros: Alcatel SROS
138866
138867         · apresia_aeos: Apresia AEOS
138868
138869         · arista_eos: Arista EOS
138870
138871         · aruba_os: Aruba
138872
138873         · avaya_ers: Avaya ERS
138874
138875         · avaya_vsp: Avaya VSP
138876
138877         · brocade_fastiron: Brocade Fastiron
138878
138879         · brocade_netiron: Brocade Netiron
138880
138881         · brocade_nos: Brocade NOS
138882
138883         · brocade_vdx: Brocade NOS
138884
138885         · brocade_vyos: VyOS
138886
138887         · checkpoint_gaia: Check Point GAiA
138888
138889         · calix_b6: Calix B6
138890
138891         · ciena_saos: Ciena SAOS
138892
138893         · cisco_asa: Cisco SA
138894
138895         · cisco_ios: Cisco IOS
138896
138897         · cisco_nxos: Cisco NX-oS
138898
138899         · cisco_s300: Cisco S300
138900
138901         · cisco_tp: Cisco TpTcCe
138902
138903         · cisco_wlc: Cisco WLC
138904
138905         · cisco_xe: Cisco IOS
138906
138907         · cisco_xr: Cisco XR
138908
138909         · coriant: Coriant
138910
138911         · dell_force10: Dell Force10
138912
138913         · dell_os10: Dell OS10
138914
138915         · dell_powerconnect: Dell PowerConnect
138916
138917         · eltex: Eltex
138918
138919         · enterasys: Enterasys
138920
138921         · extreme: Extreme
138922
138923         · extreme_wing: Extreme Wing
138924
138925         · f5_ltm: F5 LTM
138926
138927         · fortinet: Fortinet
138928
138929         · generic_termserver: TerminalServer
138930
138931         · hp_comware: HP Comware
138932
138933         · hp_procurve: HP Procurve
138934
138935         · huawei: Huawei
138936
138937         · huawei_vrpv8: Huawei VRPV8
138938
138939         · juniper: Juniper Junos
138940
138941         · juniper_junos: Juniper Junos
138942
138943         · linux: Linux
138944
138945         · mellanox: Mellanox
138946
138947         · mrv_optiswitch: MrvOptiswitch
138948
138949         · netapp_cdot: NetAppcDot
138950
138951         · netscaler: Netscaler
138952
138953         · ovs_linux: OvsLinux
138954
138955         · paloalto_panos: PaloAlto Panos
138956
138957         · pluribus: Pluribus
138958
138959         · quanta_mesh: Quanta Mesh
138960
138961         · ruckus_fastiron: Ruckus Fastiron
138962
138963         · ubiquiti_edge: Ubiquiti Edge
138964
138965         · ubiquiti_edgeswitch: Ubiquiti Edge
138966
138967         · vyatta_vyos: VyOS
138968
138969         · vyos: VyOS
138970
138971         · brocade_fastiron_telnet: Brocade Fastiron over Telnet
138972
138973         · brocade_netiron_telnet: Brocade Netiron over Telnet
138974
138975         · cisco_ios_telnet: Cisco IOS over Telnet
138976
138977         · apresia_aeos_telnet: Apresia AEOS over Telnet
138978
138979         · arista_eos_telnet: Arista EOS over Telnet
138980
138981         · hp_procurve_telnet: HP Procurve over Telnet
138982
138983         · hp_comware_telnet: HP Comware over Telnet
138984
138985         · juniper_junos_telnet: Juniper Junos over Telnet
138986
138987         · calix_b6_telnet: Calix B6 over Telnet
138988
138989         · dell_powerconnect_telnet: Dell PowerConnect over Telnet
138990
138991         · generic_termserver_telnet: TerminalServer over Telnet
138992
138993         · extreme_telnet: Extreme Networks over Telnet
138994
138995         · ruckus_fastiron_telnet: Ruckus Fastiron over Telnet
138996
138997         · cisco_ios_serial: Cisco IOS over serial port
138998
138999       · ip - IP address of target device (not required if host is provided)
139000
139001       · host - Hostname of target device (not required if ip is provided)
139002
139003       · username  -  Username  to  authenticate  against  target  device,  if
139004         required
139005
139006       · password  -  Password  to  authenticate  against  target  device,  if
139007         required
139008
139009       · secret - The enable password if target device requires one
139010
139011       · port - The destination port used to connect to the target device
139012
139013       · global_delay_factor - Multiplication factor affecting Netmiko  delays
139014         (default: 1)
139015
139016       · use_keys - Connect to target device using SSH keys (default: False)
139017
139018       · key_file - Filename path of the SSH key file to use
139019
139020       · allow_agent - Enable use of SSH key-agent
139021
139022       · ssh_strict  -  Automatically  reject  unknown SSH host keys (default:
139023         False, which means unknown SSH host keys will be accepted)
139024
139025       · system_host_keys - Load host keys from the user's "known_hosts"  file
139026         (default: False)
139027
139028       · alt_host_keys  -  If  True,   host  keys will be loaded from the file
139029         specified in alt_key_file (default: False)
139030
139031       · alt_key_file - SSH host key file to use (if alt_host_keys=True)
139032
139033       · ssh_config_file - File name of OpenSSH configuration file
139034
139035       · timeout - Connection timeout, in seconds (default: 90)
139036
139037       · session_timeout - Set a timeout for  parallel  requests,  in  seconds
139038         (default: 60)
139039
139040       · keepalive  -  Send  SSH  keepalive packets at a specific interval, in
139041         seconds. Currently defaults to 0,  for  backwards  compatibility  (it
139042         will  not  attempt  to  keep the connection alive using the KEEPALIVE
139043         packets).
139044
139045       · default_enter - Character(s) to  send  to  correspond  to  enter  key
139046         (default: \n)
139047
139048       · response_return  -  Character(s)  to use in normalized return data to
139049         represent enter key (default: \n)
139050
139051       Example (when not running in a netmiko Proxy Minion):
139052
139053          netmiko:
139054            username: test
139055            password: test
139056
139057       In case the username and password are the same on any  device  you  are
139058       targeting,  the  block above (besides other parameters specific to your
139059       environment you might need) should suffice to be able to  execute  com‐
139060       mands from outside a netmiko Proxy, e.g.:
139061
139062          salt '*' netmiko.send_command 'show version' host=router1.example.com device_type=juniper
139063          salt '*' netmiko.send_config https://bit.ly/2sgljCB host=sw2.example.com device_type=cisco_ios
139064
139065       NOTE:
139066          Remember  that  the above applies only when not running in a netmiko
139067          Proxy Minion. If you want to use the <salt.proxy.netmiko_px>, please
139068          follow the documentation notes for a proper setup.
139069
139070       salt.modules.netmiko_mod.call(method, *args, **kwargs)
139071              Invoke an arbitrary Netmiko method.
139072
139073              method The name of the Netmiko method to invoke.
139074
139075              args   A list of arguments to send to the method invoked.
139076
139077              kwargs Key-value dictionary to send to the method invoked.
139078
139079       salt.modules.netmiko_mod.commit(**kwargs)
139080              Commit the configuration changes.
139081
139082              WARNING:
139083                 This function is supported only on the platforms that support
139084                 the commit operation.
139085
139086              CLI Example:
139087
139088                 salt '*' netmiko.commit
139089
139090       salt.modules.netmiko_mod.enter_config_mode(**kwargs)
139091              Enter into config mode.
139092
139093              config_command
139094                     Configuration command to send to the device.
139095
139096              pattern
139097                     Pattern to terminate reading of channel.
139098
139099              CLI Example:
139100
139101                 salt '*' netmiko.enter_config_mode
139102                 salt '*' netmiko.enter_config_mode device_type='juniper_junos' ip='192.168.0.1' username='example'
139103
139104       salt.modules.netmiko_mod.exit_config_mode(**kwargs)
139105              Exit from configuration mode.
139106
139107              exit_config
139108                     Command to exit configuration mode.
139109
139110              pattern
139111                     Pattern to terminate reading of channel.
139112
139113              CLI Example:
139114
139115                 salt '*' netmiko.exit_config_mode
139116                 salt '*' netmiko.exit_config_mode device_type='juniper' ip='192.168.0.1' username='example'
139117
139118       salt.modules.netmiko_mod.get_connection(**kwargs)
139119              Return the Netmiko connection object.
139120
139121              WARNING:
139122                 This function returns an unserializable object, hence  it  is
139123                 not  meant  to be used on the CLI. This should mainly be used
139124                 when invoked from other modules for the low level  connection
139125                 with the network device.
139126
139127              kwargs Key-value dictionary with the authentication details.
139128
139129              USAGE Example:
139130
139131                 conn = __salt__['netmiko.get_connection'](host='router1.example.com',
139132                                                           username='example',
139133                                                           password='example')
139134                 show_if = conn.send_command('show interfaces')
139135                 conn.disconnect()
139136
139137       salt.modules.netmiko_mod.multi_call(*methods, **kwargs)
139138              Invoke  multiple  Netmiko methods at once, and return their out‐
139139              put, as list.
139140
139141              methods
139142                     A list of dictionaries with the following keys:
139143
139144                     · name: the name of the Netmiko method to be executed.
139145
139146                     · args: list of arguments  to  be  sent  to  the  Netmiko
139147                       method.
139148
139149                     · kwargs:  dictionary of arguments to be sent to the Net‐
139150                       miko method.
139151
139152              kwargs Key-value dictionary with the  connection  details  (when
139153                     not running under a Proxy Minion).
139154
139155       salt.modules.netmiko_mod.send_command(command_string, **kwargs)
139156              Execute  command_string on the SSH channel using a pattern-based
139157              mechanism.  Generally used for show commands.  By  default  this
139158              method  will  keep  waiting  to  receive  data until the network
139159              device prompt is detected. The  current  network  device  prompt
139160              will be determined automatically.
139161
139162              command_string
139163                     The command to be executed on the remote device.
139164
139165              expect_string
139166                     Regular  expression pattern to use for determining end of
139167                     output.  If left blank will default  to  being  based  on
139168                     router prompt.
139169
139170              delay_factor: 1
139171                     Multiplying factor used to adjust delays (default: 1).
139172
139173              max_loops: 500
139174                     Controls wait time in conjunction with delay_factor. Will
139175                     default to be based upon self.timeout.
139176
139177              auto_find_prompt: True
139178                     Whether it should try to auto-detect the prompt (default:
139179                     True).
139180
139181              strip_prompt: True
139182                     Remove   the  trailing  router  prompt  from  the  output
139183                     (default: True).
139184
139185              strip_command: True
139186                     Remove the echo of the command from the output  (default:
139187                     True).
139188
139189              normalize: True
139190                     Ensure  the  proper  enter  is  sent  at  end  of command
139191                     (default: True).
139192
139193              use_textfsm: False
139194                     Process command output through TextFSM template (default:
139195                     False).
139196
139197              CLI Example:
139198
139199                 salt '*' netmiko.send_command 'show version'
139200                 salt '*' netmiko.send_command 'show_version' host='router1.example.com' username='example' device_type='cisco_ios'
139201
139202       salt.modules.netmiko_mod.send_command_timing(command_string, **kwargs)
139203              Execute  command_string  on  the SSH channel using a delay-based
139204              mechanism.  Generally used for show commands.
139205
139206              command_string
139207                     The command to be executed on the remote device.
139208
139209              delay_factor: 1
139210                     Multiplying factor used to adjust delays (default: 1).
139211
139212              max_loops: 500
139213                     Controls wait time in conjunction with delay_factor. Will
139214                     default to be based upon self.timeout.
139215
139216              strip_prompt: True
139217                     Remove   the  trailing  router  prompt  from  the  output
139218                     (default: True).
139219
139220              strip_command: True
139221                     Remove the echo of the command from the output  (default:
139222                     True).
139223
139224              normalize: True
139225                     Ensure  the  proper  enter  is  sent  at  end  of command
139226                     (default: True).
139227
139228              use_textfsm: False
139229                     Process command output through TextFSM template (default:
139230                     False).
139231
139232              CLI Example:
139233
139234                 salt '*' netmiko.send_command_timing 'show version'
139235                 salt '*' netmiko.send_command_timing 'show version' host='router1.example.com' username='example' device_type='arista_eos'
139236
139237       salt.modules.netmiko_mod.send_config(config_file=None,      config_com‐
139238       mands=None,   template_engine='jinja',   commit=False,    context=None,
139239       defaults=None, saltenv='base', **kwargs)
139240              Send  configuration  commands  down the SSH channel.  Return the
139241              configuration lines sent to the device.
139242
139243              The function is flexible to send the configuration from a  local
139244              or remote file, or simply the commands as list.
139245
139246              config_file
139247                     The  source  file  with  the configuration commands to be
139248                     sent to the device.
139249
139250                     The file can also be a  template  that  can  be  rendered
139251                     using the template engine of choice.
139252
139253                     This  can  be  specified  using  the absolute path to the
139254                     file, or using one of the following URL schemes:
139255
139256                     · salt://, to fetch the file from the Salt fileserver.
139257
139258                     · http:// or https://
139259
139260                     · ftp://
139261
139262                     · s3://
139263
139264                     · swift://
139265
139266              config_commands
139267                     Multiple configuration commands to be sent to the device.
139268
139269                     NOTE:
139270                        This argument is ignored when  config_file  is  speci‐
139271                        fied.
139272
139273              template_engine: jinja
139274                     The  template  engine  to  use  when rendering the source
139275                     file. Default: jinja. To simply fetch  the  file  without
139276                     attempting to render, set this argument to None.
139277
139278              commit: False
139279                     Commit  the configuration changes before exiting the con‐
139280                     fig mode. This option is by  default  disabled,  as  many
139281                     platforms don't have this capability natively.
139282
139283              context
139284                     Variables to add to the template context.
139285
139286              defaults
139287                     Default values of the context_dict.
139288
139289              exit_config_mode: True
139290                     Determines  whether or not to exit config mode after com‐
139291                     plete.
139292
139293              delay_factor: 1
139294                     Factor to adjust delays.
139295
139296              max_loops: 150
139297                     Controls  wait  time  in  conjunction  with  delay_factor
139298                     (default: 150).
139299
139300              strip_prompt: False
139301                     Determines  whether  or not to strip the prompt (default:
139302                     False).
139303
139304              strip_command: False
139305                     Determines whether or not to strip the command  (default:
139306                     False).
139307
139308              config_mode_command
139309                     The command to enter into config mode.
139310
139311              CLI Example:
139312
139313                 salt '*' netmiko.send_config config_commands="['interface GigabitEthernet3', 'no ip address']"
139314                 salt '*' netmiko.send_config config_commands="['snmp-server location {{ grains.location }}']"
139315                 salt '*' netmiko.send_config config_file=salt://config.txt
139316                 salt '*' netmiko.send_config config_file=https://bit.ly/2sgljCB device_type='cisco_ios' ip='1.2.3.4' username='example'
139317
139318   salt.modules.netscaler
139319       Module  to  provide  Citrix Netscaler compatibility to Salt (compatible
139320       with netscaler 9.2+)
139321
139322       New in version 2015.2.0.
139323
139324
139325       depends
139326
139327       · nsnitro Python module
139328
139329       NOTE:
139330          You can install nsnitro using:
139331
139332              pip install nsnitro
139333
139334       configuration
139335              This module accepts connection configuration details  either  as
139336              parameters,  or as configuration settings in /etc/salt/minion on
139337              the relevant minions
139338
139339                 netscaler.host: 1.2.3.4
139340                 netscaler.user: user
139341                 netscaler.pass: password
139342
139343              This data can also be passed into pillar.  Options  passed  into
139344              opts will overwrite options passed into pillar.
139345
139346       CLI Examples
139347              Calls  relying  on  configuration passed using /etc/salt/minion,
139348              grains, or pillars:
139349                 salt-call netscaler.server_exists server_name
139350
139351              Calls passing configuration as opts
139352                 salt-call         netscaler.server_exists         server_name
139353                 netscaler_host=1.2.3.4                netscaler_user=username
139354                 netscaler_pass=password   salt-call   netscaler.server_exists
139355                 server_name  netscaler_host=1.2.3.5  netscaler_user=username2
139356                 netscaler_pass=password2  salt-call   netscaler.server_enable
139357                 server_name2         netscaler_host=1.2.3.5         salt-call
139358                 netscaler.server_up    server_name3    netscaler_host=1.2.3.6
139359                 netscaler_useSSL=False
139360
139361       salt.modules.netscaler.server_add(s_name, s_ip, s_state=None, **connec‐
139362       tion_args)
139363              Add a server Note: The default server state is ENABLED
139364
139365              CLI Example:
139366
139367                 salt '*' netscaler.server_add 'serverName' 'serverIpAddress'
139368                 salt '*' netscaler.server_add 'serverName' 'serverIpAddress' 'serverState'
139369
139370       salt.modules.netscaler.server_delete(s_name, **connection_args)
139371              Delete a server
139372
139373              CLI Example:
139374
139375                 salt '*' netscaler.server_delete 'serverName'
139376
139377       salt.modules.netscaler.server_disable(s_name, **connection_args)
139378              Disable a server globally
139379
139380              CLI Example:
139381
139382                 salt '*' netscaler.server_disable 'serverName'
139383
139384       salt.modules.netscaler.server_enable(s_name, **connection_args)
139385              Enables a server globally
139386
139387              CLI Example:
139388
139389                 salt '*' netscaler.server_enable 'serverName'
139390
139391       salt.modules.netscaler.server_enabled(s_name, **connection_args)
139392              Check if a server is enabled globally
139393
139394              CLI Example:
139395
139396                 salt '*' netscaler.server_enabled 'serverName'
139397
139398       salt.modules.netscaler.server_exists(s_name,   ip=None,   s_state=None,
139399       **connection_args)
139400              Checks if a server exists
139401
139402              CLI Example:
139403
139404                 salt '*' netscaler.server_exists 'serverName'
139405
139406       salt.modules.netscaler.server_update(s_name, s_ip, **connection_args)
139407              Update a server's attributes
139408
139409              CLI Example:
139410
139411                 salt '*' netscaler.server_update 'serverName' 'serverIP'
139412
139413       salt.modules.netscaler.service_disable(s_name,  s_delay=None, **connec‐
139414       tion_args)
139415              Disable a service
139416
139417              CLI Example:
139418
139419                 salt '*' netscaler.service_disable 'serviceName'
139420                 salt '*' netscaler.service_disable 'serviceName' 'delayInSeconds'
139421
139422       salt.modules.netscaler.service_enable(s_name, **connection_args)
139423              Enable a service
139424
139425              CLI Example:
139426
139427                 salt '*' netscaler.service_enable 'serviceName'
139428
139429       salt.modules.netscaler.service_exists(s_name, **connection_args)
139430              Checks if a service exists
139431
139432              CLI Example:
139433
139434                 salt '*' netscaler.service_exists 'serviceName'
139435
139436       salt.modules.netscaler.service_up(s_name, **connection_args)
139437              Checks if a service is UP
139438
139439              CLI Example:
139440
139441                 salt '*' netscaler.service_up 'serviceName'
139442
139443       salt.modules.netscaler.servicegroup_add(sg_name,       sg_type=u'HTTP',
139444       **connection_args)
139445              Add  a  new  service group If no service type is specified, HTTP
139446              will be  used.   Most  common  service  types:  HTTP,  SSL,  and
139447              SSL_BRIDGE
139448
139449              CLI Example:
139450
139451                 salt '*' netscaler.servicegroup_add 'serviceGroupName'
139452                 salt '*' netscaler.servicegroup_add 'serviceGroupName' 'serviceGroupType'
139453
139454       salt.modules.netscaler.servicegroup_delete(sg_name, **connection_args)
139455              Delete a new service group
139456
139457              CLI Example:
139458
139459                 salt '*' netscaler.servicegroup_delete 'serviceGroupName'
139460
139461       salt.modules.netscaler.servicegroup_exists(sg_name,       sg_type=None,
139462       **connection_args)
139463              Checks if a service group exists
139464
139465              CLI Example:
139466
139467                 salt '*' netscaler.servicegroup_exists 'serviceGroupName'
139468
139469       salt.modules.netscaler.servicegroup_server_add(sg_name, s_name, s_port,
139470       **connection_args)
139471              Add a server:port member to a servicegroup
139472
139473              CLI Example:
139474
139475                 salt '*' netscaler.servicegroup_server_add 'serviceGroupName' 'serverName' 'serverPort'
139476
139477       salt.modules.netscaler.servicegroup_server_delete(sg_name,      s_name,
139478       s_port, **connection_args)
139479              Remove a server:port member from a servicegroup
139480
139481              CLI Example:
139482
139483                 salt '*' netscaler.servicegroup_server_delete 'serviceGroupName' 'serverName' 'serverPort'
139484
139485       salt.modules.netscaler.servicegroup_server_disable(sg_name,     s_name,
139486       s_port, **connection_args)
139487              Disable a server:port member of a servicegroup
139488
139489              CLI Example:
139490
139491                 salt '*' netscaler.servicegroup_server_disable 'serviceGroupName' 'serverName' 'serverPort'
139492
139493       salt.modules.netscaler.servicegroup_server_enable(sg_name,      s_name,
139494       s_port, **connection_args)
139495              Enable a server:port member of a servicegroup
139496
139497              CLI Example:
139498
139499                 salt '*' netscaler.servicegroup_server_enable 'serviceGroupName' 'serverName' 'serverPort'
139500
139501       salt.modules.netscaler.servicegroup_server_exists(sg_name,      s_name,
139502       s_port=None, **connection_args)
139503              Check if a server:port combination is a member of a servicegroup
139504
139505              CLI Example:
139506
139507                 salt '*' netscaler.servicegroup_server_exists 'serviceGroupName' 'serverName' 'serverPort'
139508
139509       salt.modules.netscaler.servicegroup_server_up(sg_name,  s_name, s_port,
139510       **connection_args)
139511              Check if a server:port combination is in state UP in a  service‐
139512              group
139513
139514              CLI Example:
139515
139516                 salt '*' netscaler.servicegroup_server_up 'serviceGroupName' 'serverName' 'serverPort'
139517
139518       salt.modules.netscaler.vserver_add(v_name, v_ip, v_port, v_type, **con‐
139519       nection_args)
139520              Add a new lb vserver
139521
139522              CLI Example:
139523
139524                 salt '*' netscaler.vserver_add 'vserverName' 'vserverIP' 'vserverPort' 'vserverType'
139525                 salt '*' netscaler.vserver_add 'alex.patate.chaude.443' '1.2.3.4' '443' 'SSL'
139526
139527       salt.modules.netscaler.vserver_delete(v_name, **connection_args)
139528              Delete a lb vserver
139529
139530              CLI Example:
139531
139532                 salt '*' netscaler.vserver_delete 'vserverName'
139533
139534       salt.modules.netscaler.vserver_exists(v_name,  v_ip=None,  v_port=None,
139535       v_type=None, **connection_args)
139536              Checks if a vserver exists
139537
139538              CLI Example:
139539
139540                 salt '*' netscaler.vserver_exists 'vserverName'
139541
139542       salt.modules.netscaler.vserver_servicegroup_add(v_name, sg_name, **con‐
139543       nection_args)
139544              Bind a servicegroup to a vserver
139545
139546              CLI Example:
139547
139548                 salt '*' netscaler.vserver_servicegroup_add 'vserverName' 'serviceGroupName'
139549
139550       salt.modules.netscaler.vserver_servicegroup_delete(v_name,     sg_name,
139551       **connection_args)
139552              Unbind a servicegroup from a vserver
139553
139554              CLI Example:
139555
139556                 salt '*' netscaler.vserver_servicegroup_delete 'vserverName' 'serviceGroupName'
139557
139558       salt.modules.netscaler.vserver_servicegroup_exists(v_name,     sg_name,
139559       **connection_args)
139560              Checks if a servicegroup is tied to a vserver
139561
139562              CLI Example:
139563
139564                 salt '*' netscaler.vserver_servicegroup_exists 'vserverName' 'serviceGroupName'
139565
139566       salt.modules.netscaler.vserver_sslcert_add(v_name,  sc_name,  **connec‐
139567       tion_args)
139568              Binds a SSL certificate to a vserver
139569
139570              CLI Example:
139571
139572                 salt '*' netscaler.vserver_sslcert_add 'vserverName' 'sslCertificateName'
139573
139574       salt.modules.netscaler.vserver_sslcert_delete(v_name,  sc_name,  **con‐
139575       nection_args)
139576              Unbinds a SSL certificate from a vserver
139577
139578              CLI Example:
139579
139580                 salt '*' netscaler.vserver_sslcert_delete 'vserverName' 'sslCertificateName'
139581
139582       salt.modules.netscaler.vserver_sslcert_exists(v_name,  sc_name,  **con‐
139583       nection_args)
139584              Checks if a SSL certificate is tied to a vserver
139585
139586              CLI Example:
139587
139588                 salt '*' netscaler.vserver_sslcert_exists 'vserverName' 'sslCertificateName'
139589
139590   salt.modules.network
139591       Module for gathering and managing network information
139592
139593       salt.modules.network.active_tcp()
139594              Return  a  dict containing information on all of the running TCP
139595              connections (currently linux and solaris only)
139596
139597              Changed in version 2015.8.4: Added support for SunOS
139598
139599
139600              CLI Example:
139601
139602                 salt '*' network.active_tcp
139603
139604       salt.modules.network.arp()
139605              Return the arp table from the minion
139606
139607              Changed in version 2015.8.0: Added support for SunOS
139608
139609
139610              CLI Example:
139611
139612                 salt '*' network.arp
139613
139614       salt.modules.network.calc_net(ip_addr, netmask=None)
139615              Returns the CIDR of a subnet based on an IP address (CIDR  nota‐
139616              tion supported) and optional netmask.
139617
139618              CLI Example:
139619
139620                 salt '*' network.calc_net 172.17.0.5 255.255.255.240
139621                 salt '*' network.calc_net 2a02:f6e:a000:80:84d8:8332:7866:4e07/64
139622
139623              New in version 2015.8.0.
139624
139625
139626       salt.modules.network.connect(host, port=None, **kwargs)
139627              Test  connectivity  to  a  host using a particular port from the
139628              minion.
139629
139630              New in version 2014.7.0.
139631
139632
139633              CLI Example:
139634
139635                 salt '*' network.connect archlinux.org 80
139636
139637                 salt '*' network.connect archlinux.org 80 timeout=3
139638
139639                 salt '*' network.connect archlinux.org 80 timeout=3 family=ipv4
139640
139641                 salt '*' network.connect google-public-dns-a.google.com port=53 proto=udp timeout=3
139642
139643       salt.modules.network.convert_cidr(cidr)
139644              returns the network and subnet mask of a cidr addr
139645
139646              New in version 2016.3.0.
139647
139648
139649              CLI Example:
139650
139651                 salt '*' network.convert_cidr 172.31.0.0/16
139652
139653       salt.modules.network.default_route(family=None)
139654              Return default route(s) from routing table
139655
139656              Changed in version 2015.8.0: Added support  for  SunOS  (Solaris
139657              10, Illumos, SmartOS)
139658
139659
139660              Changed in version 2016.11.4: Added support for AIX
139661
139662
139663              CLI Example:
139664
139665                 salt '*' network.default_route
139666
139667       salt.modules.network.dig(host)
139668              Performs a DNS lookup with dig
139669
139670              CLI Example:
139671
139672                 salt '*' network.dig archlinux.org
139673
139674       salt.modules.network.get_bufsize(iface)
139675              Return network buffer sizes as a dict (currently linux only)
139676
139677              CLI Example:
139678
139679                 salt '*' network.get_bufsize eth0
139680
139681       salt.modules.network.get_fqdn()
139682              Get fully qualified domain name
139683
139684              CLI Example:
139685
139686                 salt '*' network.get_fqdn
139687
139688       salt.modules.network.get_hostname()
139689              Get hostname
139690
139691              CLI Example:
139692
139693                 salt '*' network.get_hostname
139694
139695       salt.modules.network.get_route(ip)
139696              Return routing information for given destination ip
139697
139698              New in version 2015.5.3.
139699
139700
139701              Changed  in  version  2015.8.0: Added support for SunOS (Solaris
139702              10, Illumos, SmartOS) Added support for OpenBSD
139703
139704
139705              Changed in version 2016.11.4: Added support for AIX
139706
139707
139708              CLI Example:
139709
139710                 salt '*' network.get_route 10.10.10.10
139711
139712       salt.modules.network.hw_addr(iface)
139713              Return the hardware address (a.k.a. MAC  address)  for  a  given
139714              interface
139715
139716              CLI Example:
139717
139718                 salt '*' network.hw_addr eth0
139719
139720       salt.modules.network.hwaddr(iface)
139721              This function is an alias of hw_addr.
139722                 Return  the hardware address (a.k.a. MAC address) for a given
139723                 interface
139724
139725                 CLI Example:
139726
139727                     salt '*' network.hw_addr eth0
139728
139729       salt.modules.network.ifacestartswith(cidr)
139730              Retrieve the interface name from a specific CIDR
139731
139732              New in version 2016.11.0.
139733
139734
139735              CLI Example:
139736
139737                 salt '*' network.ifacestartswith 10.0
139738
139739       salt.modules.network.in_subnet(cidr)
139740              Returns True if  host  is  within  specified  subnet,  otherwise
139741              False.
139742
139743              CLI Example:
139744
139745                 salt '*' network.in_subnet 10.0.0.0/16
139746
139747       salt.modules.network.interface(iface)
139748              Return the inet address for a given interface
139749
139750              New in version 2014.7.0.
139751
139752
139753              CLI Example:
139754
139755                 salt '*' network.interface eth0
139756
139757       salt.modules.network.interface_ip(iface)
139758              Return the inet address for a given interface
139759
139760              New in version 2014.7.0.
139761
139762
139763              CLI Example:
139764
139765                 salt '*' network.interface_ip eth0
139766
139767       salt.modules.network.interfaces()
139768              Return  a  dictionary of information about all the interfaces on
139769              the minion
139770
139771              CLI Example:
139772
139773                 salt '*' network.interfaces
139774
139775       salt.modules.network.ip_addrs(interface=None,   include_loopback=False,
139776       cidr=None, type=None)
139777              Returns a list of IPv4 addresses assigned to the host. 127.0.0.1
139778              is ignored,  unless  'include_loopback=True'  is  indicated.  If
139779              'interface' is provided, then only IP addresses from that inter‐
139780              face will be returned.  Providing a CIDR via 'cidr="10.0.0.0/8"'
139781              will  return only the addresses which are within that subnet. If
139782              'type' is 'public', then only public addresses will be returned.
139783              Ditto for 'type'='private'.
139784
139785              CLI Example:
139786
139787                 salt '*' network.ip_addrs
139788
139789       salt.modules.network.ip_addrs6(interface=None,  include_loopback=False,
139790       cidr=None)
139791              Returns a list of IPv6 addresses assigned to the  host.  ::1  is
139792              ignored, unless 'include_loopback=True' is indicated. If 'inter‐
139793              face' is provided, then only IP addresses  from  that  interface
139794              will  be  returned.  Providing a CIDR via 'cidr="2000::/3"' will
139795              return only the addresses which are within that subnet.
139796
139797              CLI Example:
139798
139799                 salt '*' network.ip_addrs6
139800
139801       salt.modules.network.ip_in_subnet(ip_addr, cidr)
139802              Returns True if given IP is within specified  subnet,  otherwise
139803              False.
139804
139805              CLI Example:
139806
139807                 salt '*' network.ip_in_subnet 172.17.0.4 172.16.0.0/12
139808
139809       salt.modules.network.ipaddrs(interface=None,    include_loopback=False,
139810       cidr=None, type=None)
139811              This function is an alias of ip_addrs.
139812                 Returns a list  of  IPv4  addresses  assigned  to  the  host.
139813                 127.0.0.1 is ignored, unless 'include_loopback=True' is indi‐
139814                 cated. If 'interface' is provided,  then  only  IP  addresses
139815                 from  that  interface will be returned.  Providing a CIDR via
139816                 'cidr="10.0.0.0/8"' will return only the addresses which  are
139817                 within  that  subnet. If 'type' is 'public', then only public
139818                 addresses will be returned. Ditto for 'type'='private'.
139819
139820                 CLI Example:
139821
139822                     salt '*' network.ip_addrs
139823
139824       salt.modules.network.ipaddrs6(interface=None,   include_loopback=False,
139825       cidr=None)
139826              This function is an alias of ip_addrs6.
139827                 Returns a list of IPv6 addresses assigned to the host. ::1 is
139828                 ignored,  unless  'include_loopback=True'  is  indicated.  If
139829                 'interface'  is  provided,  then  only IP addresses from that
139830                 interface  will  be   returned.    Providing   a   CIDR   via
139831                 'cidr="2000::/3"'  will  return  only the addresses which are
139832                 within that subnet.
139833
139834                 CLI Example:
139835
139836                     salt '*' network.ip_addrs6
139837
139838       salt.modules.network.iphexval(ip)
139839              Retrieve the hexadecimal representation of an IP address
139840
139841              New in version 2016.11.0.
139842
139843
139844              CLI Example:
139845
139846                 salt '*' network.iphexval 10.0.0.1
139847
139848       salt.modules.network.is_loopback(ip_addr)
139849              Check if the given IP address is a loopback address
139850
139851              New in version 2014.7.0.
139852
139853
139854              Changed in version 2015.8.0: IPv6 support
139855
139856
139857              CLI Example:
139858
139859                 salt '*' network.is_loopback 127.0.0.1
139860
139861       salt.modules.network.is_private(ip_addr)
139862              Check if the given IP address is a private address
139863
139864              New in version 2014.7.0.
139865
139866
139867              Changed in version 2015.8.0: IPv6 support
139868
139869
139870              CLI Example:
139871
139872                 salt '*' network.is_private 10.0.0.3
139873
139874       salt.modules.network.mod_bufsize(iface, *args, **kwargs)
139875              Modify network interface buffers (currently linux only)
139876
139877              CLI Example:
139878
139879                 salt '*' network.mod_bufsize tx=<val> rx=<val> rx-mini=<val> rx-jumbo=<val>
139880
139881       salt.modules.network.mod_hostname(hostname)
139882              Modify hostname
139883
139884              Changed in version 2015.8.0: Added support  for  SunOS  (Solaris
139885              10, Illumos, SmartOS)
139886
139887
139888              CLI Example:
139889
139890                 salt '*' network.mod_hostname master.saltstack.com
139891
139892       salt.modules.network.netstat()
139893              Return information on open ports and states
139894
139895              NOTE:
139896                 On  BSD  minions,  the output contains PID info (where avail‐
139897                 able) for each netstat  entry,  fetched  from  sockstat/fstat
139898                 output.
139899
139900              Changed in version 2014.1.4: Added support for OpenBSD, FreeBSD,
139901              and NetBSD
139902
139903
139904              Changed in version 2015.8.0: Added support for SunOS
139905
139906
139907              Changed in version 2016.11.4: Added support for AIX
139908
139909
139910              CLI Example:
139911
139912                 salt '*' network.netstat
139913
139914       salt.modules.network.ping(host, timeout=False, return_boolean=False)
139915              Performs an ICMP ping to a host
139916
139917              Changed in version 2015.8.0: Added support for SunOS
139918
139919
139920              CLI Example:
139921
139922                 salt '*' network.ping archlinux.org
139923
139924              New in version 2015.5.0.
139925
139926
139927              Return a True or False instead of ping output.
139928
139929                 salt '*' network.ping archlinux.org return_boolean=True
139930
139931              Set the time to wait for a response in seconds.
139932
139933                 salt '*' network.ping archlinux.org timeout=3
139934
139935       salt.modules.network.reverse_ip(ip_addr)
139936              Returns the reversed IP address
139937
139938              Changed in version 2015.8.0: IPv6 support
139939
139940
139941              CLI Example:
139942
139943                 salt '*' network.reverse_ip 172.17.0.4
139944
139945       salt.modules.network.routes(family=None)
139946              Return currently configured routes from routing table
139947
139948              Changed in version 2015.8.0: Added support  for  SunOS  (Solaris
139949              10, Illumos, SmartOS)
139950
139951
139952              Changed in version 2016.11.4: Added support for AIX
139953
139954
139955              CLI Example:
139956
139957                 salt '*' network.routes
139958
139959       salt.modules.network.subnets(interfaces=None)
139960              Returns a list of IPv4 subnets to which the host belongs
139961
139962              CLI Example:
139963
139964                 salt '*' network.subnets
139965                 salt '*' network.subnets interfaces=eth1
139966
139967       salt.modules.network.subnets6()
139968              Returns a list of IPv6 subnets to which the host belongs
139969
139970              CLI Example:
139971
139972                 salt '*' network.subnets
139973
139974       salt.modules.network.traceroute(host)
139975              Performs a traceroute to a 3rd party host
139976
139977              Changed in version 2015.8.0: Added support for SunOS
139978
139979
139980              Changed in version 2016.11.4: Added support for AIX
139981
139982
139983              CLI Example:
139984
139985                 salt '*' network.traceroute archlinux.org
139986
139987       salt.modules.network.wol(mac, bcast=u'255.255.255.255', destport=9)
139988              Send Wake On Lan packet to a host
139989
139990              CLI Example:
139991
139992                 salt '*' network.wol 08-00-27-13-69-77
139993                 salt '*' network.wol 080027136977 255.255.255.255 7
139994                 salt '*' network.wol 08:00:27:13:69:77 255.255.255.255 7
139995
139996   salt.modules.neutron
139997       Module for handling OpenStack Neutron calls
139998
139999       depends
140000
140001              · neutronclient Python module
140002
140003       configuration
140004              This  module is not usable until the user, password, tenant, and
140005              auth URL are specified either in a pillar  or  in  the  minion's
140006              config file.  For example:
140007
140008                 keystone.user: 'admin'
140009                 keystone.password: 'password'
140010                 keystone.tenant: 'admin'
140011                 keystone.auth_url: 'http://127.0.0.1:5000/v2.0/'
140012                 keystone.region_name: 'RegionOne'
140013                 keystone.service_type: 'network'
140014
140015              If  configuration  for  multiple OpenStack accounts is required,
140016              they can be set up  as  different  configuration  profiles:  For
140017              example:
140018
140019                 openstack1:
140020                   keystone.user: 'admin'
140021                   keystone.password: 'password'
140022                   keystone.tenant: 'admin'
140023                   keystone.auth_url: 'http://127.0.0.1:5000/v2.0/'
140024                   keystone.region_name: 'RegionOne'
140025                   keystone.service_type: 'network'
140026
140027                 openstack2:
140028                   keystone.user: 'admin'
140029                   keystone.password: 'password'
140030                   keystone.tenant: 'admin'
140031                   keystone.auth_url: 'http://127.0.0.2:5000/v2.0/'
140032                   keystone.region_name: 'RegionOne'
140033                   keystone.service_type: 'network'
140034
140035              With  this  configuration in place, any of the neutron functions
140036              can make use of a configuration profile by declaring it  explic‐
140037              itly.  For example:
140038
140039                 salt '*' neutron.network_list profile=openstack1
140040
140041              To  use  keystoneauth1  instead  of  keystoneclient, include the
140042              use_keystoneauth option in the pillar or minion config.
140043
140044              NOTE:
140045                 this is required to use keystone v3 as for authentication.
140046
140047                 keystone.user: admin
140048                 keystone.password: verybadpass
140049                 keystone.tenant: admin
140050                 keystone.auth_url: 'http://127.0.0.1:5000/v3/'
140051                 keystone.region_name: 'RegionOne'
140052                 keystone.service_type: 'network'
140053                 keystone.use_keystoneauth: true
140054                 keystone.verify: '/path/to/custom/certs/ca-bundle.crt'
140055
140056              Note: by default the neutron module will attempt to  verify  its
140057              connection  utilizing  the  system  certificates. If you need to
140058              verify against another bundle of CA certificates or want to skip
140059              verification  altogether  you  will  need  to specify the verify
140060              option. You can specify True or False to verify (or not) against
140061              system  certificates,  a  path  to a bundle or CA certs to check
140062              against, or None to allow keystoneauth to search  for  the  cer‐
140063              tificates on its own.(defaults to True)
140064
140065       salt.modules.neutron.add_gateway_router(router,    ext_network,    pro‐
140066       file=None)
140067              Adds an external network gateway to the specified router
140068
140069              CLI Example:
140070
140071                 salt '*' neutron.add_gateway_router router-name ext-network-name
140072
140073              Parameters
140074
140075                     · router -- ID or name of the router
140076
140077                     · ext_network -- ID or name of the external  network  the
140078                       gateway
140079
140080                     · profile -- Profile to build on (Optional)
140081
140082              Returns
140083                     Added Gateway router information
140084
140085       salt.modules.neutron.add_interface_router(router, subnet, profile=None)
140086              Adds an internal network interface to the specified router
140087
140088              CLI Example:
140089
140090                 salt '*' neutron.add_interface_router router-name subnet-name
140091
140092              Parameters
140093
140094                     · router -- ID or name of the router
140095
140096                     · subnet -- ID or name of the subnet
140097
140098                     · profile -- Profile to build on (Optional)
140099
140100              Returns
140101                     Added interface information
140102
140103       salt.modules.neutron.create_firewall_rule(protocol,     action,    pro‐
140104       file=None, **kwargs)
140105              Creates a new firewall rule
140106
140107              CLI Example:
140108
140109                 salt '*' neutron.create_firewall_rule protocol action
140110                         tenant_id=TENANT_ID name=NAME description=DESCRIPTION ip_version=IP_VERSION
140111                         source_ip_address=SOURCE_IP_ADDRESS destination_ip_address=DESTINATION_IP_ADDRESS source_port=SOURCE_PORT
140112                         destination_port=DESTINATION_PORT shared=SHARED enabled=ENABLED
140113
140114              Parameters
140115
140116                     · protocol -- Protocol  for  the  firewall  rule,  choose
140117                       "tcp","udp","icmp" or "None".
140118
140119                     · action  -- Action for the firewall rule, choose "allow"
140120                       or "deny".
140121
140122                     · tenant_id -- The owner tenant ID. (Optional)
140123
140124                     · name -- Name for the firewall rule. (Optional)
140125
140126                     · description  --  Description  for  the  firewall  rule.
140127                       (Optional)
140128
140129                     · ip_version   --   IP   protocol  version,  default:  4.
140130                       (Optional)
140131
140132                     · source_ip_address  --  Source  IP  address  or  subnet.
140133                       (Optional)
140134
140135                     · destination_ip_address  --  Destination  IP  address or
140136                       subnet. (Optional)
140137
140138                     · source_port -- Source port (integer in  [1,  65535]  or
140139                       range in a:b). (Optional)
140140
140141                     · destination_port  --  Destination  port (integer in [1,
140142                       65535] or range in a:b). (Optional)
140143
140144                     · shared  --  Set  shared  to   True,   default:   False.
140145                       (Optional)
140146
140147                     · enabled   --   To  enable  this  rule,  default:  True.
140148                       (Optional)
140149
140150       salt.modules.neutron.create_floatingip(floating_network,     port=None,
140151       profile=None)
140152              Creates a new floatingIP
140153
140154              CLI Example:
140155
140156                 salt '*' neutron.create_floatingip network-name port-name
140157
140158              Parameters
140159
140160                     · floating_network  --  Network  name  or  ID to allocate
140161                       floatingIP from
140162
140163                     · port -- Of the port to be associated  with  the  float‐
140164                       ingIP (Optional)
140165
140166                     · profile -- Profile to build on (Optional)
140167
140168              Returns
140169                     Created floatingIP information
140170
140171       salt.modules.neutron.create_ikepolicy(name, profile=None, **kwargs)
140172              Creates a new IKEPolicy
140173
140174              CLI Example:
140175
140176                 salt '*' neutron.create_ikepolicy ikepolicy-name
140177                         phase1_negotiation_mode=main auth_algorithm=sha1
140178                         encryption_algorithm=aes-128 pfs=group5
140179
140180              Parameters
140181
140182                     · name -- Name of the IKE policy
140183
140184                     · phase1_negotiation_mode  -- IKE Phase1 negotiation mode
140185                       in lowercase, default: main (Optional)
140186
140187                     · auth_algorithm -- Authentication  algorithm  in  lower‐
140188                       case, default: sha1 (Optional)
140189
140190                     · encryption_algorithm  -- Encryption algorithm in lower‐
140191                       case.  default:aes-128 (Optional)
140192
140193                     · pfs -- Prefect Forward Security in lowercase,  default:
140194                       group5 (Optional)
140195
140196                     · units  --  IKE  lifetime  attribute.  default:  seconds
140197                       (Optional)
140198
140199                     · value  --  IKE  lifetime   attribute.   default:   3600
140200                       (Optional)
140201
140202                     · ike_version  --  IKE  version in lowercase, default: v1
140203                       (Optional)
140204
140205                     · profile -- Profile to build on (Optional)
140206
140207                     · kwargs --
140208
140209              Returns
140210                     Created IKE policy information
140211
140212       salt.modules.neutron.create_ipsec_site_connection(name,    ipsecpolicy,
140213       ikepolicy,   vpnservice,   peer_cidrs,   peer_address,   peer_id,  psk,
140214       admin_state_up=True, profile=None, **kwargs)
140215              Creates a new IPsecSiteConnection
140216
140217              CLI Example:
140218
140219                 salt '*' neutron.show_ipsec_site_connection connection-name
140220                         ipsec-policy-name ikepolicy-name vpnservice-name
140221                         192.168.XXX.XXX/24 192.168.XXX.XXX 192.168.XXX.XXX secret
140222
140223              Parameters
140224
140225                     · name -- Set friendly name for the connection
140226
140227                     · ipsecpolicy -- IPSec policy ID or name associated  with
140228                       this connection
140229
140230                     · ikepolicy -- IKE policy ID or name associated with this
140231                       connection
140232
140233                     · vpnservice -- VPN service instance ID or  name  associ‐
140234                       ated with this connection
140235
140236                     · peer_cidrs -- Remote subnet(s) in CIDR format
140237
140238                     · peer_address  --  Peer gateway public IPv4/IPv6 address
140239                       or FQDN
140240
140241                     · peer_id -- Peer router identity for authentication  Can
140242                       be IPv4/IPv6 address, e-mail address, key id, or FQDN
140243
140244                     · psk -- Pre-shared key string
140245
140246                     · initiator    --    Initiator    state   in   lowercase,
140247                       default:bi-directional
140248
140249                     · admin_state_up -- Set admin state up to true or  false,
140250                       default: True (Optional)
140251
140252                     · mtu -- size for the connection, default:1500 (Optional)
140253
140254                     · dpd_action    --   Dead   Peer   Detection   attribute:
140255                       hold/clear/disabled/ restart/restart-by-peer (Optional)
140256
140257                     · dpd_interval   --   Dead   Peer   Detection   attribute
140258                       (Optional)
140259
140260                     · dpd_timeout -- Dead Peer Detection attribute (Optional)
140261
140262                     · profile -- Profile to build on (Optional)
140263
140264              Returns
140265                     Created IPSec site connection information
140266
140267       salt.modules.neutron.create_ipsecpolicy(name, profile=None, **kwargs)
140268              Creates a new IPsecPolicy
140269
140270              CLI Example:
140271
140272                 salt '*' neutron.create_ipsecpolicy ipsecpolicy-name
140273                         transform_protocol=esp auth_algorithm=sha1
140274                         encapsulation_mode=tunnel encryption_algorithm=aes-128
140275
140276              Parameters
140277
140278                     · name -- Name of the IPSec policy
140279
140280                     · transform_protocol  -- Transform protocol in lowercase,
140281                       default: esp (Optional)
140282
140283                     · auth_algorithm -- Authentication  algorithm  in  lower‐
140284                       case, default: sha1 (Optional)
140285
140286                     · encapsulation_mode  -- Encapsulation mode in lowercase,
140287                       default: tunnel (Optional)
140288
140289                     · encryption_algorithm -- Encryption algorithm in  lower‐
140290                       case, default:aes-128 (Optional)
140291
140292                     · pfs  -- Prefect Forward Security in lowercase, default:
140293                       group5 (Optional)
140294
140295                     · units -- IPSec  lifetime  attribute.  default:  seconds
140296                       (Optional)
140297
140298                     · value   --  IPSec  lifetime  attribute.  default:  3600
140299                       (Optional)
140300
140301                     · profile -- Profile to build on (Optional)
140302
140303              Returns
140304                     Created IPSec policy information
140305
140306       salt.modules.neutron.create_network(name,              router_ext=None,
140307       admin_state_up=True,  network_type=None, physical_network=None, segmen‐
140308       tation_id=None, shared=None, profile=None)
140309              Creates a new network
140310
140311              CLI Example:
140312
140313                 salt '*' neutron.create_network network-name
140314                 salt '*' neutron.create_network network-name profile=openstack1
140315
140316              Parameters
140317
140318                     · name -- Name of network to create
140319
140320                     · admin_state_up -- should the state of  the  network  be
140321                       up?  default: True (Optional)
140322
140323                     · router_ext  -- True then if create the external network
140324                       (Optional)
140325
140326                     · network_type -- the Type of network that  the  provider
140327                       is such as GRE, VXLAN, VLAN, FLAT, or LOCAL (Optional)
140328
140329                     · physical_network -- the name of the physical network as
140330                       neutron knows it (Optional)
140331
140332                     · segmentation_id -- the vlan id or GRE id (Optional)
140333
140334                     · shared -- is the network shared or not (Optional)
140335
140336                     · profile -- Profile to build on (Optional)
140337
140338              Returns
140339                     Created network information
140340
140341       salt.modules.neutron.create_port(name,     network,     device_id=None,
140342       admin_state_up=True, profile=None)
140343              Creates a new port
140344
140345              CLI Example:
140346
140347                 salt '*' neutron.create_port network-name port-name
140348
140349              Parameters
140350
140351                     · name -- Name of port to create
140352
140353                     · network -- Network name or ID
140354
140355                     · device_id -- ID of device (Optional)
140356
140357                     · admin_state_up  -- Set admin state up to true or false,
140358                       default: true (Optional)
140359
140360                     · profile -- Profile to build on (Optional)
140361
140362              Returns
140363                     Created port information
140364
140365       salt.modules.neutron.create_router(name,              ext_network=None,
140366       admin_state_up=True, profile=None)
140367              Creates a new router
140368
140369              CLI Example:
140370
140371                 salt '*' neutron.create_router new-router-name
140372
140373              Parameters
140374
140375                     · name -- Name of router to create (must be first)
140376
140377                     · ext_network -- ID or name of the external for the gate‐
140378                       way (Optional)
140379
140380                     · admin_state_up -- Set admin state up to true or  false,
140381                       default:true (Optional)
140382
140383                     · profile -- Profile to build on (Optional)
140384
140385              Returns
140386                     Created router information
140387
140388       salt.modules.neutron.create_security_group(name=None, description=None,
140389       profile=None)
140390              Creates a new security group
140391
140392              CLI Example:
140393
140394                 salt '*' neutron.create_security_group security-group-name                 description='Security group for servers'
140395
140396              Parameters
140397
140398                     · name -- Name of security group (Optional)
140399
140400                     · description -- Description of security group (Optional)
140401
140402                     · profile -- Profile to build on (Optional)
140403
140404              Returns
140405                     Created security group information
140406
140407       salt.modules.neutron.create_security_group_rule(security_group,
140408       remote_group_id=None,        direction=u'ingress',       protocol=None,
140409       port_range_min=None,   port_range_max=None,   ethertype=u'IPv4',   pro‐
140410       file=None)
140411              Creates a new security group rule
140412
140413              CLI Example:
140414
140415                 salt '*' neutron.show_security_group_rule security-group-rule-id
140416
140417              Parameters
140418
140419                     · security_group -- Security group name or ID to add rule
140420
140421                     · remote_group_id  -- Remote security group name or ID to
140422                       apply rule (Optional)
140423
140424                     · direction  --  Direction  of  traffic:  ingress/egress,
140425                       default: ingress (Optional)
140426
140427                     · protocol  --  Protocol  of  packet:  null/icmp/tcp/udp,
140428                       default: null (Optional)
140429
140430                     · port_range_min -- Starting port range (Optional)
140431
140432                     · port_range_max -- Ending port range (Optional)
140433
140434                     · ethertype -- IPv4/IPv6, default: IPv4 (Optional)
140435
140436                     · profile -- Profile to build on (Optional)
140437
140438              Returns
140439                     Created security group rule information
140440
140441       salt.modules.neutron.create_subnet(network,  cidr,  name=None,  ip_ver‐
140442       sion=4, profile=None)
140443              Creates a new subnet
140444
140445              CLI Example:
140446
140447                 salt '*' neutron.create_subnet network-name 192.168.1.0/24
140448
140449              Parameters
140450
140451                     · network -- Network ID or name this subnet belongs to
140452
140453                     · cidr -- CIDR of subnet to create (Ex. '192.168.1.0/24')
140454
140455                     · name -- Name of the subnet to create (Optional)
140456
140457                     · ip_version  --  Version  to  use,  default  is  4(IPv4)
140458                       (Optional)
140459
140460                     · profile -- Profile to build on (Optional)
140461
140462              Returns
140463                     Created subnet information
140464
140465       salt.modules.neutron.create_vpnservice(subnet,      router,       name,
140466       admin_state_up=True, profile=None)
140467              Creates a new VPN service
140468
140469              CLI Example:
140470
140471                 salt '*' neutron.create_vpnservice router-name name
140472
140473              Parameters
140474
140475                     · subnet  -- Subnet unique identifier for the VPN service
140476                       deployment
140477
140478                     · router -- Router unique identifier for the VPN service
140479
140480                     · name -- Set a name for the VPN service
140481
140482                     · admin_state_up -- Set admin state up to true or  false,
140483                       default:True (Optional)
140484
140485                     · profile -- Profile to build on (Optional)
140486
140487              Returns
140488                     Created VPN service information
140489
140490       salt.modules.neutron.delete_firewall_rule(firewall_rule, profile=None)
140491              Deletes the specified firewall_rule
140492
140493              CLI Example:
140494
140495                 salt '*' neutron.delete_firewall_rule firewall-rule
140496
140497              Parameters
140498
140499                     · firewall_rule -- ID or name of firewall rule to delete
140500
140501                     · profile -- Profile to build on (Optional)
140502
140503              Returns
140504                     True(Succeed) or False
140505
140506       salt.modules.neutron.delete_floatingip(floatingip_id, profile=None)
140507              Deletes the specified floating IP
140508
140509              CLI Example:
140510
140511                 salt '*' neutron.delete_floatingip floatingip-id
140512
140513              Parameters
140514
140515                     · floatingip_id -- ID of floatingIP to delete
140516
140517                     · profile -- Profile to build on (Optional)
140518
140519              Returns
140520                     True(Succeed) or False
140521
140522       salt.modules.neutron.delete_ikepolicy(ikepolicy, profile=None)
140523              Deletes the specified IKEPolicy
140524
140525              CLI Example:
140526
140527                 salt '*' neutron.delete_ikepolicy ikepolicy-name
140528
140529              Parameters
140530
140531                     · ikepolicy -- ID or name of IKE policy to delete
140532
140533                     · profile -- Profile to build on (Optional)
140534
140535              Returns
140536                     True(Succeed) or False
140537
140538       salt.modules.neutron.delete_ipsec_site_connection(ipsec_site_connec‐
140539       tion, profile=None)
140540              Deletes the specified IPsecSiteConnection
140541
140542              CLI Example:
140543
140544                 salt '*' neutron.delete_ipsec_site_connection connection-name
140545
140546              Parameters
140547
140548                     · ipsec_site_connection -- ID or name of ipsec site  con‐
140549                       nection to delete
140550
140551                     · profile -- Profile to build on (Optional)
140552
140553              Returns
140554                     True(Succeed) or False
140555
140556       salt.modules.neutron.delete_ipsecpolicy(ipsecpolicy, profile=None)
140557              Deletes the specified IPsecPolicy
140558
140559              CLI Example:
140560
140561                 salt '*' neutron.delete_ipsecpolicy ipsecpolicy-name
140562
140563              Parameters
140564
140565                     · ipsecpolicy -- ID or name of IPSec policy to delete
140566
140567                     · profile -- Profile to build on (Optional)
140568
140569              Returns
140570                     True(Succeed) or False
140571
140572       salt.modules.neutron.delete_network(network, profile=None)
140573              Deletes the specified network
140574
140575              CLI Example:
140576
140577                 salt '*' neutron.delete_network network-name
140578                 salt '*' neutron.delete_network network-name profile=openstack1
140579
140580              Parameters
140581
140582                     · network -- ID or name of network to delete
140583
140584                     · profile -- Profile to build on (Optional)
140585
140586              Returns
140587                     True(Succeed) or False
140588
140589       salt.modules.neutron.delete_port(port, profile=None)
140590              Deletes the specified port
140591
140592              CLI Example:
140593
140594                 salt '*' neutron.delete_network port-name
140595                 salt '*' neutron.delete_network port-name profile=openstack1
140596
140597              Parameters
140598
140599                     · port -- port name or ID
140600
140601                     · profile -- Profile to build on (Optional)
140602
140603              Returns
140604                     True(Succeed) or False
140605
140606       salt.modules.neutron.delete_quota(tenant_id, profile=None)
140607              Delete the specified tenant's quota value
140608
140609              CLI Example:
140610
140611                 salt '*' neutron.update_quota tenant-id
140612                 salt '*' neutron.update_quota tenant-id profile=openstack1
140613
140614              Parameters
140615
140616                     · tenant_id -- ID of tenant to quota delete
140617
140618                     · profile -- Profile to build on (Optional)
140619
140620              Returns
140621                     True(Delete succeed) or False(Delete failed)
140622
140623       salt.modules.neutron.delete_router(router, profile=None)
140624              Delete the specified router
140625
140626              CLI Example:
140627
140628                 salt '*' neutron.delete_router router-name
140629
140630              Parameters
140631
140632                     · router -- ID or name of router to delete
140633
140634                     · profile -- Profile to build on (Optional)
140635
140636              Returns
140637                     True(Succeed) or False
140638
140639       salt.modules.neutron.delete_security_group(security_group,         pro‐
140640       file=None)
140641              Deletes the specified security group
140642
140643              CLI Example:
140644
140645                 salt '*' neutron.delete_security_group security-group-name
140646
140647              Parameters
140648
140649                     · security_group -- ID  or  name  of  security  group  to
140650                       delete
140651
140652                     · profile -- Profile to build on (Optional)
140653
140654              Returns
140655                     True(Succeed) or False
140656
140657       salt.modules.neutron.delete_security_group_rule(security_group_rule_id,
140658       profile=None)
140659              Deletes the specified security group rule
140660
140661              CLI Example:
140662
140663                 salt '*' neutron.delete_security_group_rule security-group-rule-id
140664
140665              Parameters
140666
140667                     · security_group_rule_id -- ID of security group rule  to
140668                       delete
140669
140670                     · profile -- Profile to build on (Optional)
140671
140672              Returns
140673                     True(Succeed) or False
140674
140675       salt.modules.neutron.delete_subnet(subnet, profile=None)
140676              Deletes the specified subnet
140677
140678              CLI Example:
140679
140680                 salt '*' neutron.delete_subnet subnet-name
140681                 salt '*' neutron.delete_subnet subnet-name profile=openstack1
140682
140683              Parameters
140684
140685                     · subnet -- ID or name of subnet to delete
140686
140687                     · profile -- Profile to build on (Optional)
140688
140689              Returns
140690                     True(Succeed) or False
140691
140692       salt.modules.neutron.delete_vpnservice(vpnservice, profile=None)
140693              Deletes the specified VPN service
140694
140695              CLI Example:
140696
140697                 salt '*' neutron.delete_vpnservice vpnservice-name
140698
140699              Parameters
140700
140701                     · vpnservice -- ID or name of vpn service to delete
140702
140703                     · profile -- Profile to build on (Optional)
140704
140705              Returns
140706                     True(Succeed) or False
140707
140708       salt.modules.neutron.get_quotas_tenant(profile=None)
140709              Fetches  tenant  info  in  server's  context for following quota
140710              operation
140711
140712              CLI Example:
140713
140714                 salt '*' neutron.get_quotas_tenant
140715                 salt '*' neutron.get_quotas_tenant profile=openstack1
140716
140717              Parameters
140718                     profile -- Profile to build on (Optional)
140719
140720              Returns
140721                     Quotas information
140722
140723       salt.modules.neutron.list_agents(profile=None)
140724              List agents.
140725
140726              CLI Example:
140727
140728                 salt '*' neutron.list_agents
140729
140730              Parameters
140731                     profile -- Profile to build on (Optional)
140732
140733              Returns
140734                     agents message.
140735
140736       salt.modules.neutron.list_extensions(profile=None)
140737              Fetches a list of all extensions on server side
140738
140739              CLI Example:
140740
140741                 salt '*' neutron.list_extensions
140742                 salt '*' neutron.list_extensions profile=openstack1
140743
140744              Parameters
140745                     profile -- Profile to build on (Optional)
140746
140747              Returns
140748                     List of extensions
140749
140750       salt.modules.neutron.list_firewall_rules(profile=None)
140751              Fetches a list of all firewall rules for a tenant CLI Example:
140752
140753                 salt '*' neutron.list_firewall_rules
140754
140755              Parameters
140756                     profile -- Profile to build on (Optional)
140757
140758              Returns
140759                     List of firewall rules
140760
140761       salt.modules.neutron.list_firewalls(profile=None)
140762              Fetches a list of all firewalls for a tenant CLI Example:
140763
140764                 salt '*' neutron.list_firewalls
140765
140766              Parameters
140767                     profile -- Profile to build on (Optional)
140768
140769              Returns
140770                     List of firewalls
140771
140772       salt.modules.neutron.list_floatingips(profile=None)
140773              Fetch a list of all floatingIPs for a tenant
140774
140775              CLI Example:
140776
140777                 salt '*' neutron.list_floatingips
140778                 salt '*' neutron.list_floatingips profile=openstack1
140779
140780              Parameters
140781                     profile -- Profile to build on (Optional)
140782
140783              Returns
140784                     List of floatingIP
140785
140786       salt.modules.neutron.list_ikepolicies(profile=None)
140787              Fetches a list of all configured IKEPolicies for a tenant
140788
140789              CLI Example:
140790
140791                 salt '*' neutron.list_ikepolicies
140792                 salt '*' neutron.list_ikepolicies profile=openstack1
140793
140794              Parameters
140795                     profile -- Profile to build on (Optional)
140796
140797              Returns
140798                     List of IKE policy
140799
140800       salt.modules.neutron.list_ipsec_site_connections(profile=None)
140801              Fetches all configured IPsec Site Connections for a tenant
140802
140803              CLI Example:
140804
140805                 salt '*' neutron.list_ipsec_site_connections
140806                 salt '*' neutron.list_ipsec_site_connections profile=openstack1
140807
140808              Parameters
140809                     profile -- Profile to build on (Optional)
140810
140811              Returns
140812                     List of IPSec site connection
140813
140814       salt.modules.neutron.list_ipsecpolicies(profile=None)
140815              Fetches a list of all configured IPsecPolicies for a tenant
140816
140817              CLI Example:
140818
140819                 salt '*' neutron.list_ipsecpolicies ipsecpolicy-name
140820                 salt '*' neutron.list_ipsecpolicies ipsecpolicy-name profile=openstack1
140821
140822              Parameters
140823                     profile -- Profile to build on (Optional)
140824
140825              Returns
140826                     List of IPSec policy
140827
140828       salt.modules.neutron.list_l3_agent_hosting_routers(router,         pro‐
140829       file=None)
140830              List L3 agents hosting a router.
140831
140832              CLI Example:
140833
140834                 salt '*' neutron.list_l3_agent_hosting_routers router
140835
140836              :param  router:router name or ID to query.  :param profile: Pro‐
140837              file to build on (Optional) :return: L3 agents message.
140838
140839       salt.modules.neutron.list_networks(profile=None)
140840              Fetches a list of all networks for a tenant
140841
140842              CLI Example:
140843
140844                 salt '*' neutron.list_networks
140845                 salt '*' neutron.list_networks profile=openstack1
140846
140847              Parameters
140848                     profile -- Profile to build on (Optional)
140849
140850              Returns
140851                     List of network
140852
140853       salt.modules.neutron.list_ports(profile=None)
140854              Fetches a list of all networks for a tenant
140855
140856              CLI Example:
140857
140858                 salt '*' neutron.list_ports
140859                 salt '*' neutron.list_ports profile=openstack1
140860
140861              Parameters
140862                     profile -- Profile to build on (Optional)
140863
140864              Returns
140865                     List of port
140866
140867       salt.modules.neutron.list_quotas(profile=None)
140868              Fetches all tenants quotas
140869
140870              CLI Example:
140871
140872                 salt '*' neutron.list_quotas
140873                 salt '*' neutron.list_quotas profile=openstack1
140874
140875              Parameters
140876                     profile -- Profile to build on (Optional)
140877
140878              Returns
140879                     List of quotas
140880
140881       salt.modules.neutron.list_routers(profile=None)
140882              Fetches a list of all routers for a tenant
140883
140884              CLI Example:
140885
140886                 salt '*' neutron.list_routers
140887                 salt '*' neutron.list_routers profile=openstack1
140888
140889              Parameters
140890                     profile -- Profile to build on (Optional)
140891
140892              Returns
140893                     List of router
140894
140895       salt.modules.neutron.list_security_group_rules(profile=None)
140896              Fetches a list of all security group rules for a tenant
140897
140898              CLI Example:
140899
140900                 salt '*' neutron.list_security_group_rules
140901                 salt '*' neutron.list_security_group_rules profile=openstack1
140902
140903              Parameters
140904                     profile -- Profile to build on (Optional)
140905
140906              Returns
140907                     List of security group rule
140908
140909       salt.modules.neutron.list_security_groups(profile=None)
140910              Fetches a list of all security groups for a tenant
140911
140912              CLI Example:
140913
140914                 salt '*' neutron.list_security_groups
140915                 salt '*' neutron.list_security_groups profile=openstack1
140916
140917              Parameters
140918                     profile -- Profile to build on (Optional)
140919
140920              Returns
140921                     List of security group
140922
140923       salt.modules.neutron.list_subnets(profile=None)
140924              Fetches a list of all networks for a tenant
140925
140926              CLI Example:
140927
140928                 salt '*' neutron.list_subnets
140929                 salt '*' neutron.list_subnets profile=openstack1
140930
140931              Parameters
140932                     profile -- Profile to build on (Optional)
140933
140934              Returns
140935                     List of subnet
140936
140937       salt.modules.neutron.list_vpnservices(retrieve_all=True,  profile=None,
140938       **kwargs)
140939              Fetches a list of all configured VPN services for a tenant
140940
140941              CLI Example:
140942
140943                 salt '*' neutron.list_vpnservices
140944
140945              Parameters
140946
140947                     · retrieve_all -- True or False, default: True (Optional)
140948
140949                     · profile -- Profile to build on (Optional)
140950
140951              Returns
140952                     List of VPN service
140953
140954       salt.modules.neutron.remove_gateway_router(router, profile=None)
140955              Removes an external network gateway from the specified router
140956
140957              CLI Example:
140958
140959                 salt '*' neutron.remove_gateway_router router-name
140960
140961              Parameters
140962
140963                     · router -- ID or name of router
140964
140965                     · profile -- Profile to build on (Optional)
140966
140967              Returns
140968                     True(Succeed) or False
140969
140970       salt.modules.neutron.remove_interface_router(router,    subnet,    pro‐
140971       file=None)
140972              Removes an internal network interface from the specified router
140973
140974              CLI Example:
140975
140976                 salt '*' neutron.remove_interface_router router-name subnet-name
140977
140978              Parameters
140979
140980                     · router -- ID or name of the router
140981
140982                     · subnet -- ID or name of the subnet
140983
140984                     · profile -- Profile to build on (Optional)
140985
140986              Returns
140987                     True(Succeed) or False
140988
140989       salt.modules.neutron.show_firewall(firewall, profile=None)
140990              Fetches information of a specific firewall rule
140991
140992              CLI Example:
140993
140994                 salt '*' neutron.show_firewall firewall
140995
140996              Parameters
140997
140998                     · firewall -- ID or name of firewall to look up
140999
141000                     · profile -- Profile to build on (Optional)
141001
141002              Returns
141003                     firewall information
141004
141005       salt.modules.neutron.show_firewall_rule(firewall_rule, profile=None)
141006              Fetches information of a specific firewall rule
141007
141008              CLI Example:
141009
141010                 salt '*' neutron.show_firewall_rule firewall-rule-name
141011
141012              Parameters
141013
141014                     · ipsecpolicy -- ID or name of firewall rule to look up
141015
141016                     · profile -- Profile to build on (Optional)
141017
141018              Returns
141019                     firewall rule information
141020
141021       salt.modules.neutron.show_floatingip(floatingip_id, profile=None)
141022              Fetches information of a certain floatingIP
141023
141024              CLI Example:
141025
141026                 salt '*' neutron.show_floatingip floatingip-id
141027
141028              Parameters
141029
141030                     · floatingip_id -- ID of floatingIP to look up
141031
141032                     · profile -- Profile to build on (Optional)
141033
141034              Returns
141035                     Floating IP information
141036
141037       salt.modules.neutron.show_ikepolicy(ikepolicy, profile=None)
141038              Fetches information of a specific IKEPolicy
141039
141040              CLI Example:
141041
141042                 salt '*' neutron.show_ikepolicy ikepolicy-name
141043
141044              Parameters
141045
141046                     · ikepolicy -- ID or name of ikepolicy to look up
141047
141048                     · profile -- Profile to build on (Optional)
141049
141050              Returns
141051                     IKE policy information
141052
141053       salt.modules.neutron.show_ipsec_site_connection(ipsec_site_connection,
141054       profile=None)
141055              Fetches information of a specific IPsecSiteConnection
141056
141057              CLI Example:
141058
141059                 salt '*' neutron.show_ipsec_site_connection connection-name
141060
141061              Parameters
141062
141063                     · ipsec_site_connection  -- ID or name of ipsec site con‐
141064                       nection to look up
141065
141066                     · profile -- Profile to build on (Optional)
141067
141068              Returns
141069                     IPSec site connection information
141070
141071       salt.modules.neutron.show_ipsecpolicy(ipsecpolicy, profile=None)
141072              Fetches information of a specific IPsecPolicy
141073
141074              CLI Example:
141075
141076                 salt '*' neutron.show_ipsecpolicy ipsecpolicy-name
141077
141078              Parameters
141079
141080                     · ipsecpolicy -- ID or name of IPSec policy to look up
141081
141082                     · profile -- Profile to build on (Optional)
141083
141084              Returns
141085                     IPSec policy information
141086
141087       salt.modules.neutron.show_network(network, profile=None)
141088              Fetches information of a certain network
141089
141090              CLI Example:
141091
141092                 salt '*' neutron.show_network network-name
141093                 salt '*' neutron.show_network network-name profile=openstack1
141094
141095              Parameters
141096
141097                     · network -- ID or name of network to look up
141098
141099                     · profile -- Profile to build on (Optional)
141100
141101              Returns
141102                     Network information
141103
141104       salt.modules.neutron.show_port(port, profile=None)
141105              Fetches information of a certain port
141106
141107              CLI Example:
141108
141109                 salt '*' neutron.show_port port-id
141110                 salt '*' neutron.show_port port-id profile=openstack1
141111
141112              Parameters
141113
141114                     · port -- ID or name of port to look up
141115
141116                     · profile -- Profile to build on (Optional)
141117
141118              Returns
141119                     Port information
141120
141121       salt.modules.neutron.show_quota(tenant_id, profile=None)
141122              Fetches information of a certain tenant's quotas
141123
141124              CLI Example:
141125
141126                 salt '*' neutron.show_quota tenant-id
141127                 salt '*' neutron.show_quota tenant-id profile=openstack1
141128
141129              Parameters
141130
141131                     · tenant_id -- ID of tenant
141132
141133                     · profile -- Profile to build on (Optional)
141134
141135              Returns
141136                     Quota information
141137
141138       salt.modules.neutron.show_router(router, profile=None)
141139              Fetches information of a certain router
141140
141141              CLI Example:
141142
141143                 salt '*' neutron.show_router router-name
141144
141145              Parameters
141146
141147                     · router -- ID or name of router to look up
141148
141149                     · profile -- Profile to build on (Optional)
141150
141151              Returns
141152                     Router information
141153
141154       salt.modules.neutron.show_security_group(security_group, profile=None)
141155              Fetches information of a certain security group
141156
141157              CLI Example:
141158
141159                 salt '*' neutron.show_security_group security-group-name
141160
141161              Parameters
141162
141163                     · security_group -- ID or name of security group to  look
141164                       up
141165
141166                     · profile -- Profile to build on (Optional)
141167
141168              Returns
141169                     Security group information
141170
141171       salt.modules.neutron.show_security_group_rule(security_group_rule_id,
141172       profile=None)
141173              Fetches information of a certain security group rule
141174
141175              CLI Example:
141176
141177                 salt '*' neutron.show_security_group_rule security-group-rule-id
141178
141179              Parameters
141180
141181                     · security_group_rule_id -- ID of security group rule  to
141182                       look up
141183
141184                     · profile -- Profile to build on (Optional)
141185
141186              Returns
141187                     Security group rule information
141188
141189       salt.modules.neutron.show_subnet(subnet, profile=None)
141190              Fetches information of a certain subnet
141191
141192              CLI Example:
141193
141194                 salt '*' neutron.show_subnet subnet-name
141195
141196              Parameters
141197
141198                     · subnet -- ID or name of subnet to look up
141199
141200                     · profile -- Profile to build on (Optional)
141201
141202              Returns
141203                     Subnet information
141204
141205       salt.modules.neutron.show_vpnservice(vpnservice,          profile=None,
141206       **kwargs)
141207              Fetches information of a specific VPN service
141208
141209              CLI Example:
141210
141211                 salt '*' neutron.show_vpnservice vpnservice-name
141212
141213              Parameters
141214
141215                     · vpnservice -- ID or name of vpn service to look up
141216
141217                     · profile -- Profile to build on (Optional)
141218
141219              Returns
141220                     VPN service information
141221
141222       salt.modules.neutron.update_firewall_rule(firewall_rule, protocol=None,
141223       action=None,      name=None,     description=None,     ip_version=None,
141224       source_ip_address=None, destination_ip_address=None,  source_port=None,
141225       destination_port=None, shared=None, enabled=None, profile=None)
141226              Update a firewall rule
141227
141228              CLI Example:
141229
141230                 salt '*' neutron.update_firewall_rule firewall_rule protocol=PROTOCOL action=ACTION
141231                         name=NAME description=DESCRIPTION ip_version=IP_VERSION
141232                         source_ip_address=SOURCE_IP_ADDRESS destination_ip_address=DESTINATION_IP_ADDRESS
141233                         source_port=SOURCE_PORT destination_port=DESTINATION_PORT shared=SHARED enabled=ENABLED
141234
141235              Parameters
141236
141237                     · firewall_rule -- ID or name of firewall rule to update.
141238
141239                     · protocol  --  Protocol  for  the  firewall rule, choose
141240                       "tcp","udp","icmp" or "None". (Optional)
141241
141242                     · action -- Action for the firewall rule, choose  "allow"
141243                       or "deny". (Optional)
141244
141245                     · name -- Name for the firewall rule. (Optional)
141246
141247                     · description  --  Description  for  the  firewall  rule.
141248                       (Optional)
141249
141250                     · ip_version  --  IP  protocol   version,   default:   4.
141251                       (Optional)
141252
141253                     · source_ip_address  --  Source  IP  address  or  subnet.
141254                       (Optional)
141255
141256                     · destination_ip_address --  Destination  IP  address  or
141257                       subnet. (Optional)
141258
141259                     · source_port  --  Source  port (integer in [1, 65535] or
141260                       range in a:b). (Optional)
141261
141262                     · destination_port -- Destination port  (integer  in  [1,
141263                       65535] or range in a:b). (Optional)
141264
141265                     · shared   --   Set   shared  to  True,  default:  False.
141266                       (Optional)
141267
141268                     · enabled  --  To  enable  this  rule,   default:   True.
141269                       (Optional)
141270
141271                     · profile -- Profile to build on (Optional)
141272
141273       salt.modules.neutron.update_floatingip(floatingip_id,  port=None,  pro‐
141274       file=None)
141275              Updates a floatingIP
141276
141277              CLI Example:
141278
141279                 salt '*' neutron.update_floatingip network-name port-name
141280
141281              Parameters
141282
141283                     · floatingip_id -- ID of floatingIP
141284
141285                     · port -- ID or name of port, to associate floatingip  to
141286                       None  or  do not specify to disassociate the floatingip
141287                       (Optional)
141288
141289                     · profile -- Profile to build on (Optional)
141290
141291              Returns
141292                     Value of updated floating IP information
141293
141294       salt.modules.neutron.update_network(network, name, profile=None)
141295              Updates a network
141296
141297              CLI Example:
141298
141299                 salt '*' neutron.update_network network-name new-network-name
141300
141301              Parameters
141302
141303                     · network -- ID or name of network to update
141304
141305                     · name -- Name of this network
141306
141307                     · profile -- Profile to build on (Optional)
141308
141309              Returns
141310                     Value of updated network information
141311
141312       salt.modules.neutron.update_port(port, name, admin_state_up=True,  pro‐
141313       file=None)
141314              Updates a port
141315
141316              CLI Example:
141317
141318                 salt '*' neutron.update_port port-name network-name new-port-name
141319
141320              Parameters
141321
141322                     · port -- Port name or ID
141323
141324                     · name -- Name of this port
141325
141326                     · admin_state_up  -- Set admin state up to true or false,
141327                       default: true (Optional)
141328
141329                     · profile -- Profile to build on (Optional)
141330
141331              Returns
141332                     Value of updated port information
141333
141334       salt.modules.neutron.update_quota(tenant_id, subnet=None,  router=None,
141335       network=None,  floatingip=None,  port=None,  security_group=None, secu‐
141336       rity_group_rule=None, profile=None)
141337              Update a tenant's quota
141338
141339              CLI Example:
141340
141341                 salt '*' neutron.update_quota tenant-id subnet=40 router=50
141342                                             network=10 floatingip=30 port=30
141343
141344              Parameters
141345
141346                     · tenant_id -- ID of tenant
141347
141348                     · subnet -- Value of subnet quota (Optional)
141349
141350                     · router -- Value of router quota (Optional)
141351
141352                     · network -- Value of network quota (Optional)
141353
141354                     · floatingip -- Value of floatingip quota (Optional)
141355
141356                     · port -- Value of port quota (Optional)
141357
141358                     · security_group -- Value of security group (Optional)
141359
141360                     · security_group_rule -- Value  of  security  group  rule
141361                       (Optional)
141362
141363                     · profile -- Profile to build on (Optional)
141364
141365              Returns
141366                     Value of updated quota
141367
141368       salt.modules.neutron.update_router(router,                   name=None,
141369       admin_state_up=None, profile=None, **kwargs)
141370              Updates a router
141371
141372              CLI Example:
141373
141374                 salt '*' neutron.update_router router_id name=new-router-name
141375                         admin_state_up=True
141376
141377              Parameters
141378
141379                     · router -- ID or name of router to update
141380
141381                     · name -- Name of this router
141382
141383                     · ext_network -- ID or name of the external for the gate‐
141384                       way (Optional)
141385
141386                     · admin_state_up  -- Set admin state up to true or false,
141387                       default: true (Optional)
141388
141389                     · profile -- Profile to build on (Optional)
141390
141391                     · kwargs --
141392
141393              Returns
141394                     Value of updated router information
141395
141396       salt.modules.neutron.update_security_group(security_group,   name=None,
141397       description=None, profile=None)
141398              Updates a security group
141399
141400              CLI Example:
141401
141402                 salt '*' neutron.update_security_group security-group-name                 new-security-group-name
141403
141404              Parameters
141405
141406                     · security_group  --  ID  or  name  of  security group to
141407                       update
141408
141409                     · name -- Name of this security group (Optional)
141410
141411                     · description -- Description of security group (Optional)
141412
141413                     · profile -- Profile to build on (Optional)
141414
141415              Returns
141416                     Value of updated security group information
141417
141418       salt.modules.neutron.update_subnet(subnet, name, profile=None)
141419              Updates a subnet
141420
141421              CLI Example:
141422
141423                 salt '*' neutron.update_subnet subnet-name new-subnet-name
141424
141425              Parameters
141426
141427                     · subnet -- ID or name of subnet to update
141428
141429                     · name -- Name of this subnet
141430
141431                     · profile -- Profile to build on (Optional)
141432
141433              Returns
141434                     Value of updated subnet information
141435
141436       salt.modules.neutron.update_vpnservice(vpnservice, desc, profile=None)
141437              Updates a VPN service
141438
141439              CLI Example:
141440
141441                 salt '*' neutron.update_vpnservice vpnservice-name desc='VPN Service1'
141442
141443              Parameters
141444
141445                     · vpnservice -- ID or name of vpn service to update
141446
141447                     · desc -- Set a description for the VPN service
141448
141449                     · profile -- Profile to build on (Optional)
141450
141451              Returns
141452                     Value of updated VPN service information
141453
141454   salt.modules.neutronng
141455       Neutron module for interacting with OpenStack Neutron
141456
141457       New in version 2018.3.0.
141458
141459
141460       :depends:shade
141461
141462       Example configuration
141463
141464          neutron:
141465            cloud: default
141466
141467          neutron:
141468            auth:
141469              username: admin
141470              password: password123
141471              user_domain_name: mydomain
141472              project_name: myproject
141473              project_domain_name: myproject
141474              auth_url: https://example.org:5000/v3
141475            identity_api_version: 3
141476
141477       salt.modules.neutronng.compare_changes(obj, **kwargs)
141478              Compare two dicts returning only keys that exist  in  the  first
141479              dict and are different in the second one
141480
141481       salt.modules.neutronng.get_openstack_cloud(auth=None)
141482              Return an openstack_cloud
141483
141484       salt.modules.neutronng.get_operator_cloud(auth=None)
141485              Return an operator_cloud
141486
141487       salt.modules.neutronng.list_networks(auth=None, **kwargs)
141488              List networks
141489
141490              filters
141491                     A Python dictionary of filter conditions to push down
141492
141493              CLI Example:
141494
141495                 salt '*' neutronng.list_networks
141496                 salt '*' neutronng.list_networks           filters='{"tenant_id": "1dcac318a83b4610b7a7f7ba01465548"}'
141497
141498       salt.modules.neutronng.list_subnets(auth=None, **kwargs)
141499              List subnets
141500
141501              filters
141502                     A Python dictionary of filter conditions to push down
141503
141504              CLI Example:
141505
141506                 salt '*' neutronng.list_subnets
141507                 salt '*' neutronng.list_subnets           filters='{"tenant_id": "1dcac318a83b4610b7a7f7ba01465548"}'
141508
141509       salt.modules.neutronng.network_create(auth=None, **kwargs)
141510              Create a network
141511
141512              name   Name of the network being created
141513
141514              shared False If True, set the network as shared
141515
141516              admin_state_up
141517                     True  If  True,  Set  the network administrative state to
141518                     "up"
141519
141520              external
141521                     False Control whether or not this network  is  externally
141522                     accessible
141523
141524              provider
141525                     An optional Python dictionary of network provider options
141526
141527              project_id
141528                     The project ID on which this network will be created
141529
141530              CLI Example:
141531
141532                 salt '*' neutronng.network_create name=network2           shared=True admin_state_up=True external=True
141533
141534                 salt '*' neutronng.network_create name=network3           provider='{"network_type": "vlan",                     "segmentation_id": "4010",                     "physical_network": "provider"}'           project_id=1dcac318a83b4610b7a7f7ba01465548
141535
141536       salt.modules.neutronng.network_delete(auth=None, **kwargs)
141537              Delete a network
141538
141539              name_or_id
141540                     Name or ID of the network being deleted
141541
141542              CLI Example:
141543
141544                 salt '*' neutronng.network_delete name_or_id=network1
141545                 salt '*' neutronng.network_delete name_or_id=1dcac318a83b4610b7a7f7ba01465548
141546
141547       salt.modules.neutronng.network_get(auth=None, **kwargs)
141548              Get a single network
141549
141550              filters
141551                     A Python dictionary of filter conditions to push down
141552
141553              CLI Example:
141554
141555                 salt '*' neutronng.network_get name=XLB4
141556
141557       salt.modules.neutronng.security_group_create(auth=None, **kwargs)
141558              Create  a  security  group.  Use  security_group_get  to  create
141559              default.
141560
141561              project_id
141562                     The project ID on which this security group will be  cre‐
141563                     ated
141564
141565              CLI Example:
141566
141567                 salt '*' neutronng.security_group_create name=secgroup1           description="Very secure security group"
141568                 salt '*' neutronng.security_group_create name=secgroup1           description="Very secure security group"           project_id=1dcac318a83b4610b7a7f7ba01465548
141569
141570       salt.modules.neutronng.security_group_delete(auth=None, **kwargs)
141571              Delete a security group
141572
141573              name_or_id
141574                     The name or unique ID of the security group
141575
141576              CLI Example:
141577
141578                 salt '*' neutronng.security_group_delete name_or_id=secgroup1
141579
141580       salt.modules.neutronng.security_group_get(auth=None, **kwargs)
141581              Get a single security group. This will create a default security
141582              group if one does not exist yet for a particular project id.
141583
141584              filters
141585                     A Python dictionary of filter conditions to push down
141586
141587              CLI Example:
141588
141589                 salt '*' neutronng.security_group_get           name=1dcac318a83b4610b7a7f7ba01465548
141590
141591                 salt '*' neutronng.security_group_get           name=default          filters='{"tenant_id":"2e778bb64ca64a199eb526b5958d8710"}'
141592
141593       salt.modules.neutronng.security_group_rule_create(auth=None, **kwargs)
141594              Create a rule in a security group
141595
141596              secgroup_name_or_id
141597                     The security group name or  ID  to  associate  with  this
141598                     security group rule. If a non-unique group name is given,
141599                     an exception is raised.
141600
141601              port_range_min
141602                     The minimum port number in the range that is  matched  by
141603                     the  security  group rule. If the protocol is TCP or UDP,
141604                     this  value  must  be  less  than   or   equal   to   the
141605                     port_range_max  attribute  value.  If nova is used by the
141606                     cloud provider for security groups, then a value of  None
141607                     will be transformed to -1.
141608
141609              port_range_max
141610                     The  maximum  port number in the range that is matched by
141611                     the security group  rule.  The  port_range_min  attribute
141612                     constrains  the port_range_max attribute. If nova is used
141613                     by the cloud provider for security groups, then  a  value
141614                     of None will be transformed to -1.
141615
141616              protocol
141617                     The  protocol that is matched by the security group rule.
141618                     Valid values are None, tcp, udp, and icmp.
141619
141620              remote_ip_prefix
141621                     The remote IP prefix to be associated with this  security
141622                     group rule.  This attribute matches the specified IP pre‐
141623                     fix as the source IP address of the IP packet.
141624
141625              remote_group_id
141626                     The remote group ID to be associated with  this  security
141627                     group rule
141628
141629              direction
141630                     Either  ingress  or  egress;  the  direction in which the
141631                     security group rule is applied. For a  compute  instance,
141632                     an  ingress  security  group  rule is applied to incoming
141633                     (ingress) traffic for that instance.  An egress  rule  is
141634                     applied to traffic leaving the instance
141635
141636              ethertype
141637                     Must  be  IPv4 or IPv6, and addresses represented in CIDR
141638                     must match the ingress or egress rules
141639
141640              project_id
141641                     Specify the project ID this security group will  be  cre‐
141642                     ated on (admin-only)
141643
141644              CLI Example:
141645
141646                 salt '*' neutronng.security_group_rule_create          secgroup_name_or_id=secgroup1
141647
141648                 salt '*' neutronng.security_group_rule_create          secgroup_name_or_id=secgroup2 port_range_min=8080          port_range_max=8080 direction='egress'
141649
141650                 salt '*' neutronng.security_group_rule_create          secgroup_name_or_id=c0e1d1ce-7296-405e-919d-1c08217be529          protocol=icmp project_id=1dcac318a83b4610b7a7f7ba01465548
141651
141652       salt.modules.neutronng.security_group_rule_delete(auth=None, **kwargs)
141653              Delete a security group
141654
141655              name_or_id
141656                     The unique ID of the security group rule
141657
141658              CLI Example:
141659
141660                 salt '*' neutronng.security_group_rule_delete name_or_id=1dcac318a83b4610b7a7f7ba01465548
141661
141662       salt.modules.neutronng.security_group_update(secgroup=None,  auth=None,
141663       **kwargs)
141664              Update a security group
141665
141666              secgroup
141667                     Name, ID or Raw Object of the security group to update
141668
141669              name   New name for the security group
141670
141671              description
141672                     New description for the security group
141673
141674              CLI Example:
141675
141676                 salt '*' neutronng.security_group_update secgroup=secgroup1           description="Very secure security group"
141677                 salt '*' neutronng.security_group_update secgroup=secgroup1           description="Very secure security group"           project_id=1dcac318a83b4610b7a7f7ba01465548
141678
141679       salt.modules.neutronng.setup_clouds(auth=None)
141680              Call functions to create Shade cloud objects in  __context__  to
141681              take  advantage  of  Shade's  in-memory  caching  across several
141682              states
141683
141684       salt.modules.neutronng.subnet_create(auth=None, **kwargs)
141685              Create a subnet
141686
141687              network_name_or_id
141688                     The unique name or ID  of  the  attached  network.  If  a
141689                     non-unique name is supplied, an exception is raised.
141690
141691              cidr   The CIDR
141692
141693              ip_version
141694                     The IP version, which is 4 or 6.
141695
141696              enable_dhcp
141697                     False  Set  to  True if DHCP is enabled and False if dis‐
141698                     abled
141699
141700              subnet_name
141701                     The name of the subnet
141702
141703              tenant_id
141704                     The ID of the tenant who owns the network. Only  adminis‐
141705                     trative  users  can  specify a tenant ID other than their
141706                     own.
141707
141708              allocation_pools
141709                     A list of dictionaries of the start and end addresses for
141710                     the allocation pools.
141711
141712              gateway_ip
141713                     The  gateway  IP  address.  When you specify both alloca‐
141714                     tion_pools and gateway_ip, you must ensure that the gate‐
141715                     way  IP  does  not  overlap with the specified allocation
141716                     pools.
141717
141718              disable_gateway_ip
141719                     False Set to True if gateway IP address is  disabled  and
141720                     False if enabled. It is not allowed with gateway_ip.
141721
141722              dns_nameservers
141723                     A list of DNS name servers for the subnet
141724
141725              host_routes
141726                     A list of host route dictionaries for the subnet
141727
141728              ipv6_ra_mode
141729                     IPv6   Router   Advertisement   mode.  Valid  values  are
141730                     dhcpv6-stateful, dhcpv6-stateless, or slaac.
141731
141732              ipv6_address_mode
141733                     IPv6 address  mode.  Valid  values  are  dhcpv6-stateful,
141734                     dhcpv6-stateless, or slaac.
141735
141736              use_default_subnetpool
141737                     If  True,  use  the  default subnetpool for ip_version to
141738                     obtain a CIDR. It is required to pass None  to  the  cidr
141739                     argument when enabling this option.
141740
141741              CLI Example:
141742
141743                 salt '*' neutronng.subnet_create network_name_or_id=network1
141744                   subnet_name=subnet1
141745
141746                 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
141747
141748                 salt '*' neutronng.subnet_create network_name_or_id=network1           subnet_name=subnet1 dns_nameservers='["8.8.8.8", "8.8.8.7"]'
141749
141750       salt.modules.neutronng.subnet_delete(auth=None, **kwargs)
141751              Delete a subnet
141752
141753              name   Name or ID of the subnet to update
141754
141755              CLI Example:
141756
141757                 salt '*' neutronng.subnet_delete name=subnet1
141758                 salt '*' neutronng.subnet_delete           name=1dcac318a83b4610b7a7f7ba01465548
141759
141760       salt.modules.neutronng.subnet_get(auth=None, **kwargs)
141761              Get a single subnet
141762
141763              filters
141764                     A Python dictionary of filter conditions to push down
141765
141766              CLI Example:
141767
141768                 salt '*' neutronng.subnet_get name=subnet1
141769
141770       salt.modules.neutronng.subnet_update(auth=None, **kwargs)
141771              Update a subnet
141772
141773              name_or_id
141774                     Name or ID of the subnet to update
141775
141776              subnet_name
141777                     The new name of the subnet
141778
141779              enable_dhcp
141780                     Set to True if DHCP is enabled and False if disabled
141781
141782              gateway_ip
141783                     The  gateway  IP  address.  When you specify both alloca‐
141784                     tion_pools and gateway_ip, you must ensure that the gate‐
141785                     way  IP  does  not  overlap with the specified allocation
141786                     pools.
141787
141788              disable_gateway_ip
141789                     False Set to True if gateway IP address is  disabled  and
141790                     False if enabled.  It is not allowed with gateway_ip.
141791
141792              allocation_pools
141793                     A list of dictionaries of the start and end addresses for
141794                     the allocation pools.
141795
141796              dns_nameservers
141797                     A list of DNS name servers for the subnet
141798
141799              host_routes
141800                     A list of host route dictionaries for the subnet
141801
141802                 salt '*' neutronng.subnet_update name=subnet1 subnet_name=subnet2
141803                 salt '*' neutronng.subnet_update name=subnet1 dns_nameservers='["8.8.8.8", "8.8.8.7"]'
141804
141805   salt.modules.nfs3
141806       Module for managing NFS version 3.
141807
141808       salt.modules.nfs3.add_export(exports=u'/etc/exports',        path=None,
141809       hosts=None, options=None)
141810              Add an export
141811
141812              CLI Example:
141813
141814                 salt '*' nfs3.add_export path='/srv/test' hosts='127.0.0.1' options=['rw']
141815
141816       salt.modules.nfs3.del_export(exports=u'/etc/exports', path=None)
141817              Remove an export
141818
141819              CLI Example:
141820
141821                 salt '*' nfs.del_export /media/storage
141822
141823       salt.modules.nfs3.list_exports(exports=u'/etc/exports')
141824              List configured exports
141825
141826              CLI Example:
141827
141828                 salt '*' nfs.list_exports
141829
141830       salt.modules.nfs3.reload_exports()
141831              Trigger a reload of the exports file to apply changes
141832
141833              CLI Example:
141834
141835                 salt '*' nfs3.reload_exports
141836
141837   salt.modules.nftables
141838       Support for nftables
141839
141840       salt.modules.nftables.append(table=u'filter',   chain=None,  rule=None,
141841       family=u'ipv4')
141842              Append a rule to the specified table & chain.
141843
141844              This function accepts a rule in a standard nftables command for‐
141845              mat,
141846                     starting  with  the chain. Trying to force users to adapt
141847                     to a new method of creating rules would be irritating  at
141848                     best, and we already have a parser that can handle it.
141849
141850              CLI Example:
141851
141852                 salt '*' nftables.append filter input \
141853                     rule='input tcp dport 22 log accept'
141854
141855                 IPv6:
141856                 salt '*' nftables.append filter input \
141857                     rule='input tcp dport 22 log accept' \
141858                     family=ipv6
141859
141860       salt.modules.nftables.build_rule(table=None,  chain=None, command=None,
141861       position=u'', full=None, family=u'ipv4', **kwargs)
141862              Build a well-formatted nftables rule based on kwargs.   A  table
141863              and chain are not required, unless full is True.
141864
141865              If  full  is  True,  then table, chain and command are required.
141866              command may be specified as either insert,  append,  or  delete.
141867              This  will  return  the nftables command, exactly as it would be
141868              used from the command line.
141869
141870              If a position is required (as with insert or delete), it may  be
141871              specified as position. This will only be useful if full is True.
141872
141873              If  connstate  is passed in, it will automatically be changed to
141874              state.
141875
141876              CLI Examples:
141877
141878                 salt '*' nftables.build_rule match=state \
141879                     connstate=RELATED,ESTABLISHED jump=ACCEPT
141880                 salt '*' nftables.build_rule filter input command=insert position=3 \
141881                     full=True match=state state=related,established jump=accept
141882
141883                 IPv6:
141884                 salt '*' nftables.build_rule match=state \
141885                     connstate=related,established jump=accept \
141886                     family=ipv6
141887                 salt '*' nftables.build_rule filter input command=insert position=3 \
141888                     full=True match=state state=related,established jump=accept \
141889                     family=ipv6
141890
141891       salt.modules.nftables.check(table=u'filter',   chain=None,   rule=None,
141892       family=u'ipv4')
141893              Check for the existence of a rule in the table and chain
141894
141895              This function accepts a rule in a standard nftables command for‐
141896              mat,
141897                     starting with the chain. Trying to force users  to  adapt
141898                     to  a new method of creating rules would be irritating at
141899                     best, and we already have a parser that can handle it.
141900
141901              CLI Example:
141902
141903                 salt '*' nftables.check filter input \
141904                     rule='input tcp dport 22 log accept'
141905
141906                 IPv6:
141907                 salt '*' nftables.check filter input \
141908                     rule='input tcp dport 22 log accept' \
141909                     family=ipv6
141910
141911       salt.modules.nftables.check_chain(table=u'filter',   chain=None,   fam‐
141912       ily=u'ipv4')
141913              New in version 2014.7.0.
141914
141915
141916              Check for the existence of a chain in the table
141917
141918              CLI Example:
141919
141920                 salt '*' nftables.check_chain filter input
141921
141922                 IPv6:
141923                 salt '*' nftables.check_chain filter input family=ipv6
141924
141925       salt.modules.nftables.check_table(table=None, family=u'ipv4')
141926              Check for the existence of a table
141927
141928              CLI Example:
141929
141930                 salt '*' nftables.check_table nat
141931
141932       salt.modules.nftables.delete(table,      chain=None,     position=None,
141933       rule=None, family=u'ipv4')
141934
141935              Delete a rule from  the  specified  table  &  chain,  specifying
141936              either the rule
141937                     in its entirety, or the rule's position in the chain.
141938
141939              This function accepts a rule in a standard nftables command for‐
141940              mat,
141941                     starting with the chain. Trying to force users  to  adapt
141942                     to  a new method of creating rules would be irritating at
141943                     best, and we already have a parser that can handle it.
141944
141945              CLI Examples:
141946
141947                 salt '*' nftables.delete filter input position=3
141948
141949                 salt '*' nftables.delete filter input \
141950                     rule='input tcp dport 22 log accept'
141951
141952                 IPv6:
141953                 salt '*' nftables.delete filter input position=3 family=ipv6
141954
141955                 salt '*' nftables.delete filter input \
141956                     rule='input tcp dport 22 log accept' \
141957                     family=ipv6
141958
141959       salt.modules.nftables.delete_chain(table=u'filter',  chain=None,   fam‐
141960       ily=u'ipv4')
141961              New in version 2014.7.0.
141962
141963
141964              Delete the chain from the specified table.
141965
141966              CLI Example:
141967
141968                 salt '*' nftables.delete_chain filter input
141969
141970                 salt '*' nftables.delete_chain filter foo
141971
141972                 IPv6:
141973                 salt '*' nftables.delete_chain filter input family=ipv6
141974
141975                 salt '*' nftables.delete_chain filter foo family=ipv6
141976
141977       salt.modules.nftables.delete_table(table, family=u'ipv4')
141978              New in version 2014.7.0.
141979
141980
141981              Create new custom table.
141982
141983              CLI Example:
141984
141985                 salt '*' nftables.delete_table filter
141986
141987                 IPv6:
141988                 salt '*' nftables.delete_table filter family=ipv6
141989
141990       salt.modules.nftables.flush(table=u'filter', chain=u'', family=u'ipv4')
141991              Flush  the chain in the specified table, flush all chains in the
141992              specified table if chain is not specified.
141993
141994              CLI Example:
141995
141996                 salt '*' nftables.flush filter
141997
141998                 salt '*' nftables.flush filter input
141999
142000                 IPv6:
142001                 salt '*' nftables.flush filter input family=ipv6
142002
142003       salt.modules.nftables.get_rule_handle(table=u'filter',      chain=None,
142004       rule=None, family=u'ipv4')
142005              Get the handle for a particular rule
142006
142007              This function accepts a rule in a standard nftables command for‐
142008              mat,
142009                     starting with the chain. Trying to force users  to  adapt
142010                     to  a new method of creating rules would be irritating at
142011                     best, and we already have a parser that can handle it.
142012
142013              CLI Example:
142014
142015                 salt '*' nftables.get_rule_handle filter input \
142016                     rule='input tcp dport 22 log accept'
142017
142018                 IPv6:
142019                 salt '*' nftables.get_rule_handle filter input \
142020                     rule='input tcp dport 22 log accept' \
142021                     family=ipv6
142022
142023       salt.modules.nftables.get_rules(family=u'ipv4')
142024              Return a data structure of the current, in-memory rules
142025
142026              CLI Example:
142027
142028                 salt '*' nftables.get_rules
142029
142030                 salt '*' nftables.get_rules family=ipv6
142031
142032       salt.modules.nftables.get_saved_rules(conf_file=None, family=u'ipv4')
142033              Return a data structure of the rules in the conf file
142034
142035              CLI Example:
142036
142037                 salt '*' nftables.get_saved_rules
142038
142039       salt.modules.nftables.insert(table=u'filter',     chain=None,     posi‐
142040       tion=None, rule=None, family=u'ipv4')
142041              Insert a rule into the specified table & chain, at the specified
142042              position.
142043
142044              If position is not specified, rule will  be  inserted  in  first
142045              position.
142046
142047              This function accepts a rule in a standard nftables command for‐
142048              mat,
142049                     starting with the chain. Trying to force users  to  adapt
142050                     to  a new method of creating rules would be irritating at
142051                     best, and we already have a parser that can handle it.
142052
142053              CLI Examples:
142054
142055                 salt '*' nftables.insert filter input \
142056                     rule='input tcp dport 22 log accept'
142057
142058                 salt '*' nftables.insert filter input position=3 \
142059                     rule='input tcp dport 22 log accept'
142060
142061                 IPv6:
142062                 salt '*' nftables.insert filter input \
142063                     rule='input tcp dport 22 log accept' \
142064                     family=ipv6
142065
142066                 salt '*' nftables.insert filter input position=3 \
142067                     rule='input tcp dport 22 log accept' \
142068                     family=ipv6
142069
142070       salt.modules.nftables.new_chain(table=u'filter',    chain=None,     ta‐
142071       ble_type=None, hook=None, priority=None, family=u'ipv4')
142072              New in version 2014.7.0.
142073
142074
142075              Create new chain to the specified table.
142076
142077              CLI Example:
142078
142079                 salt '*' nftables.new_chain filter input
142080
142081                 salt '*' nftables.new_chain filter input \
142082                         table_type=filter hook=input priority=0
142083
142084                 salt '*' nftables.new_chain filter foo
142085
142086                 IPv6:
142087                 salt '*' nftables.new_chain filter input family=ipv6
142088
142089                 salt '*' nftables.new_chain filter input \
142090                         table_type=filter hook=input priority=0 family=ipv6
142091
142092                 salt '*' nftables.new_chain filter foo family=ipv6
142093
142094       salt.modules.nftables.new_table(table, family=u'ipv4')
142095              New in version 2014.7.0.
142096
142097
142098              Create new custom table.
142099
142100              CLI Example:
142101
142102                 salt '*' nftables.new_table filter
142103
142104                 IPv6:
142105                 salt '*' nftables.new_table filter family=ipv6
142106
142107       salt.modules.nftables.save(filename=None, family=u'ipv4')
142108              Save the current in-memory rules to disk
142109
142110              CLI Example:
142111
142112                 salt '*' nftables.save /etc/nftables
142113
142114       salt.modules.nftables.version()
142115              Return version from nftables --version
142116
142117              CLI Example:
142118
142119                 salt '*' nftables.version
142120
142121   salt.modules.nginx
142122       Support for nginx
142123
142124       salt.modules.nginx.build_info()
142125              Return server and build arguments
142126
142127              CLI Example:
142128
142129                 salt '*' nginx.build_info
142130
142131       salt.modules.nginx.configtest()
142132              test configuration and exit
142133
142134              CLI Example:
142135
142136                 salt '*' nginx.configtest
142137
142138       salt.modules.nginx.signal(signal=None)
142139              Signals nginx to start, reload, reopen or stop.
142140
142141              CLI Example:
142142
142143                 salt '*' nginx.signal reload
142144
142145       salt.modules.nginx.status(url=u'http://127.0.0.1/status')
142146              Return  the  data  from  an  Nginx  status page as a dictionary.
142147              http://wiki.nginx.org/HttpStubStatusModule
142148
142149              url    The  URL   of   the   status   page.   Defaults   to   '‐
142150                     http://127.0.0.1/status'
142151
142152              CLI Example:
142153
142154                 salt '*' nginx.status
142155
142156       salt.modules.nginx.version()
142157              Return server version from nginx -v
142158
142159              CLI Example:
142160
142161                 salt '*' nginx.version
142162
142163   salt.modules.nilrt_ip module
142164       The networking module for NI Linux Real-Time distro
142165
142166       salt.modules.nilrt_ip.apply_network_settings(**settings)
142167              Apply global network configuration.
142168
142169              CLI Example:
142170
142171                 salt '*' ip.apply_network_settings
142172
142173       salt.modules.nilrt_ip.build_interface(iface,    iface_type,    enabled,
142174       **settings)
142175              Build an interface script for a network interface.
142176
142177              CLI Example:
142178
142179                 salt '*' ip.build_interface eth0 eth <settings>
142180
142181       salt.modules.nilrt_ip.build_network_settings(**settings)
142182              Build the global network script.
142183
142184              CLI Example:
142185
142186                 salt '*' ip.build_network_settings <settings>
142187
142188       salt.modules.nilrt_ip.disable(interface)
142189              Disable the specified interface
142190
142191              Change adapter mode to Disabled. If previous  adapter  mode  was
142192              EtherCAT, the target will need reboot.
142193
142194              Parameters
142195                     interface (str) -- interface label
142196
142197              Returns
142198                     True  if the service was disabled, otherwise an exception
142199                     will be thrown.
142200
142201              Return type
142202                     bool
142203
142204              CLI Example:
142205
142206                 salt '*' ip.disable interface-label
142207
142208       salt.modules.nilrt_ip.down(interface, iface_type=None)
142209              Disable the specified interface
142210
142211              Change adapter mode to Disabled. If previous  adapter  mode  was
142212              EtherCAT, the target will need reboot.
142213
142214              Parameters
142215                     interface (str) -- interface label
142216
142217              Returns
142218                     True  if the service was disabled, otherwise an exception
142219                     will be thrown.
142220
142221              Return type
142222                     bool
142223
142224              CLI Example:
142225
142226                 salt '*' ip.down interface-label
142227
142228       salt.modules.nilrt_ip.enable(interface)
142229              Enable the specified interface
142230
142231              Change adapter mode to TCP/IP.  If  previous  adapter  mode  was
142232              EtherCAT, the target will need reboot.
142233
142234              Parameters
142235                     interface (str) -- interface label
142236
142237              Returns
142238                     True  if  the service was enabled, otherwise an exception
142239                     will be thrown.
142240
142241              Return type
142242                     bool
142243
142244              CLI Example:
142245
142246                 salt '*' ip.enable interface-label
142247
142248       salt.modules.nilrt_ip.get_interface(iface)
142249              Returns details about given interface.
142250
142251              CLI Example:
142252
142253                 salt '*' ip.get_interface eth0
142254
142255       salt.modules.nilrt_ip.get_interfaces_details()
142256              Get details about all the interfaces on the minion
142257
142258              Returns
142259                     information about all interfaces omitting loopback
142260
142261              Return type
142262                     dictionary
142263
142264              CLI Example:
142265
142266                 salt '*' ip.get_interfaces_details
142267
142268       salt.modules.nilrt_ip.get_network_settings()
142269              Return the contents of the global network script.
142270
142271              CLI Example:
142272
142273                 salt '*' ip.get_network_settings
142274
142275       salt.modules.nilrt_ip.set_dhcp_linklocal_all(interface)
142276              Configure specified adapter to use DHCP with linklocal fallback
142277
142278              Change adapter mode to TCP/IP.  If  previous  adapter  mode  was
142279              EtherCAT, the target will need reboot.
142280
142281              Parameters
142282                     interface (str) -- interface label
142283
142284              Returns
142285                     True if the settings were applied, otherwise an exception
142286                     will be thrown.
142287
142288              Return type
142289                     bool
142290
142291              CLI Example:
142292
142293                 salt '*' ip.set_dhcp_linklocal_all interface-label
142294
142295       salt.modules.nilrt_ip.set_dhcp_only_all(interface)
142296              Configure specified adapter to use DHCP only
142297
142298              Change adapter mode to TCP/IP.  If  previous  adapter  mode  was
142299              EtherCAT, the target will need reboot.
142300
142301              Parameters
142302                     interface (str) -- interface label
142303
142304              Returns
142305                     True if the settings were applied, otherwise an exception
142306                     will be thrown.
142307
142308              Return type
142309                     bool
142310
142311              CLI Example:
142312
142313                 salt '*' ip.dhcp_only_all interface-label
142314
142315       salt.modules.nilrt_ip.set_ethercat(interface, master_id)
142316              Configure specified adapter to use  EtherCAT  adapter  mode.  If
142317              successful,  the  target  will need reboot if it doesn't already
142318              use EtherCAT adapter mode, otherwise will return true.
142319
142320              Parameters
142321
142322                     · interface -- interface label
142323
142324                     · master_id -- EtherCAT Master ID
142325
142326              Returns
142327                     True if the settings were applied, otherwise an exception
142328                     will be thrown.
142329
142330              CLI Example:
142331
142332                 salt '*' ip.set_ethercat interface-label master-id
142333
142334       salt.modules.nilrt_ip.set_linklocal_only_all(interface)
142335              Configure specified adapter to use linklocal only
142336
142337              Change  adapter  mode  to  TCP/IP.  If previous adapter mode was
142338              EtherCAT, the target will need reboot.
142339
142340              Parameters
142341                     interface (str) -- interface label
142342
142343              Returns
142344                     True if the settings were applied, otherwise an exception
142345                     will be thrown.
142346
142347              Return type
142348                     bool
142349
142350              CLI Example:
142351
142352                 salt '*' ip.linklocal_only_all interface-label
142353
142354       salt.modules.nilrt_ip.set_static_all(interface, address, netmask, gate‐
142355       way, nameservers)
142356              Configure specified adapter to use ipv4 manual settings
142357
142358              Change adapter mode to TCP/IP.  If  previous  adapter  mode  was
142359              EtherCAT, the target will need reboot.
142360
142361              Parameters
142362
142363                     · interface (str) -- interface label
142364
142365                     · address (str) -- ipv4 address
142366
142367                     · netmask (str) -- ipv4 netmask
142368
142369                     · gateway (str) -- ipv4 gateway
142370
142371                     · nameservers  (str) -- list of nameservers servers sepa‐
142372                       rated by spaces
142373
142374              Returns
142375                     True if the settings were applied, otherwise an exception
142376                     will be thrown.
142377
142378              Return type
142379                     bool
142380
142381              CLI Example:
142382
142383                 salt '*' ip.set_static_all interface-label address netmask gateway nameservers
142384
142385       salt.modules.nilrt_ip.up(interface, iface_type=None)
142386              Enable the specified interface
142387
142388              Change  adapter  mode  to  TCP/IP.  If previous adapter mode was
142389              EtherCAT, the target will need reboot.
142390
142391              Parameters
142392                     interface (str) -- interface label
142393
142394              Returns
142395                     True if the service was enabled, otherwise  an  exception
142396                     will be thrown.
142397
142398              Return type
142399                     bool
142400
142401              CLI Example:
142402
142403                 salt '*' ip.up interface-label
142404
142405   salt.modules.nix
142406   Work with Nix packages
142407       New in version 2017.7.0.
142408
142409
142410       Does  not  require the machine to be Nixos, just have Nix installed and
142411       available to use for the user running this command. Their profile  must
142412       be located in their home, under $HOME/.nix-profile/, and the nix store,
142413       unless specially set up, should be in /nix. To  easily  use  this  with
142414       multiple users or a root user, set up the nix-daemon.
142415
142416       This  module  exposes  most of the common nix operations. Currently not
142417       meant to be run as a pkg module, but explicitly as nix.*.
142418
142419       For more information on nix, see the nix documentation.
142420
142421       salt.modules.nix.collect_garbage()
142422              Completely removed all currently 'uninstalled' packages  in  the
142423              nix store.
142424
142425              Tells  the  user  how many store paths were removed and how much
142426              space was freed.
142427
142428              Returns
142429                     How much space was freed and how  many  derivations  were
142430                     removed
142431
142432              Return type
142433                     str
142434
142435              WARNING:
142436                 This is a destructive action on the nix store.
142437
142438                 salt '*' nix.collect_garbage
142439
142440       salt.modules.nix.install(*pkgs, **kwargs)
142441              Installs a single or multiple packages via nix
142442
142443              Parameters
142444
142445                     · pkgs (list(str)) -- packages to update
142446
142447                     · attributes  (bool) -- Pass the list of packages or sin‐
142448                       gle package as attribues, not package names.   default:
142449                       False
142450
142451              Returns
142452                     Installed packages. Example element: gcc-3.3.2
142453
142454              Return type
142455                     list(str)
142456
142457                 salt '*' nix.install package [package2 ...]
142458                 salt '*' nix.install attributes=True attr.name [attr.name2 ...]
142459
142460       salt.modules.nix.list_pkgs(installed=True, attributes=True)
142461              Lists  installed  packages. Due to how nix works, it defaults to
142462              just doing a nix-env -q.
142463
142464              Parameters
142465
142466                     · installed (bool) -- list only installed packages.  This
142467                       can  be a very long list (12,000+ elements), so caution
142468                       is advised.  Default: True
142469
142470                     · attributes (bool) -- show the attributes of  the  pack‐
142471                       ages when listing all packages.  Default: True
142472
142473              Returns
142474                     Packages   installed   or  available,  along  with  their
142475                     attributes.
142476
142477              Return type
142478                     list(list(str))
142479
142480                 salt '*' nix.list_pkgs
142481                 salt '*' nix.list_pkgs installed=False
142482
142483       salt.modules.nix.uninstall(*pkgs)
142484              Erases a package from the current nix  profile.  Nix  uninstalls
142485              work  differently  than other package managers, and the symlinks
142486              in the profile are removed, while the  actual  package  remains.
142487              There  is  also a nix.purge function, to clear the package cache
142488              of unused packages.
142489
142490              Parameters
142491                     pkgs (list(str)) -- List, single package to uninstall
142492
142493              Returns
142494                     Packages that have been uninstalled
142495
142496              Return type
142497                     list(str)
142498
142499                 salt '*' nix.uninstall pkg1 [pkg2 ...]
142500
142501       salt.modules.nix.upgrade(*pkgs)
142502              Runs an update operation on the specified packages, or all pack‐
142503              ages if none is specified.
142504
142505              Parameters
142506                     pkgs (list(str)) -- List of packages to update
142507
142508              Returns
142509                     The upgraded packages. Example element: ['libxslt-1.1.0',
142510                     'libxslt-1.1.10']
142511
142512              Return type
142513                     list(tuple(str, str))
142514
142515                 salt '*' nix.update
142516                 salt '*' nix.update pkgs=one,two
142517
142518   salt.modules.nova
142519       Module for handling OpenStack Nova calls
142520
142521       depends
142522
142523              · novaclient Python module
142524
142525       configuration
142526              This module is not usable until the user, password, tenant,  and
142527              auth  URL  are  specified  either in a pillar or in the minion's
142528              config file.  For example:
142529
142530                 keystone.user: admin
142531                 keystone.password: verybadpass
142532                 keystone.tenant: admin
142533                 keystone.auth_url: 'http://127.0.0.1:5000/v2.0/'
142534                 # Optional
142535                 keystone.region_name: 'RegionOne'
142536
142537              If configuration for multiple OpenStack  accounts  is  required,
142538              they  can  be  set  up  as different configuration profiles: For
142539              example:
142540
142541                 openstack1:
142542                   keystone.user: admin
142543                   keystone.password: verybadpass
142544                   keystone.tenant: admin
142545                   keystone.auth_url: 'http://127.0.0.1:5000/v2.0/'
142546
142547                 openstack2:
142548                   keystone.user: admin
142549                   keystone.password: verybadpass
142550                   keystone.tenant: admin
142551                   keystone.auth_url: 'http://127.0.0.2:5000/v2.0/'
142552
142553              With this configuration in place, any of the nova functions  can
142554              make  use of a configuration profile by declaring it explicitly.
142555              For example:
142556
142557                 salt '*' nova.flavor_list profile=openstack1
142558
142559              To use keystoneauth1  instead  of  keystoneclient,  include  the
142560              use_keystoneauth option in the pillar or minion config.
142561
142562              NOTE:
142563                 This is required to use keystone v3 as for authentication.
142564
142565                 keystone.user: admin
142566                 keystone.password: verybadpass
142567                 keystone.tenant: admin
142568                 keystone.auth_url: 'http://127.0.0.1:5000/v3/'
142569                 keystone.use_keystoneauth: true
142570                 keystone.verify: '/path/to/custom/certs/ca-bundle.crt'
142571
142572              NOTE:
142573                 By default the nova module will attempt to verify its connec‐
142574                 tion utilizing the system certificates. If you need to verify
142575                 against  another  bundle  of  CA certificates or want to skip
142576                 verification altogether you will need to specify  the  verify
142577                 option.  You  can  specify  True  or False to verify (or not)
142578                 against system certificates, a path to a bundle or  CA  certs
142579                 to check against, or None to allow keystoneauth to search for
142580                 the certificates on its own. (defaults to True)
142581
142582       salt.modules.nova.boot(name,  flavor_id=0,  image_id=0,   profile=None,
142583       timeout=300)
142584              Boot (create) a new instance
142585
142586              name   Name of the new instance (must be first)
142587
142588              flavor_id
142589                     Unique integer ID for the flavor
142590
142591              image_id
142592                     Unique integer ID for the image
142593
142594              timeout
142595                     How  long  to  wait, after creating the instance, for the
142596                     provider to return information about it (default 300 sec‐
142597                     onds).
142598
142599                     New in version 2014.1.0.
142600
142601
142602              CLI Example:
142603
142604                 salt '*' nova.boot myinstance flavor_id=4596 image_id=2
142605
142606              The  flavor_id  and  image_id are obtained from nova.flavor_list
142607              and nova.image_list
142608
142609                 salt '*' nova.flavor_list
142610                 salt '*' nova.image_list
142611
142612       salt.modules.nova.delete(instance_id, profile=None)
142613              Delete an instance
142614
142615              instance_id
142616                     ID of the instance to be deleted
142617
142618              CLI Example:
142619
142620                 salt '*' nova.delete 1138
142621
142622       salt.modules.nova.flavor_create(name,   flavor_id=0,   ram=0,   disk=0,
142623       vcpus=1, profile=None)
142624              Add a flavor to nova (nova flavor-create). The following parame‐
142625              ters are required:
142626
142627              name   Name of the new flavor (must be first)
142628
142629              flavor_id
142630                     Unique integer ID for the new flavor
142631
142632              ram    Memory size in MB
142633
142634              disk   Disk size in GB
142635
142636              vcpus  Number of vcpus
142637
142638              CLI Example:
142639
142640                 salt '*' nova.flavor_create myflavor flavor_id=6 ram=4096 disk=10 vcpus=1
142641
142642       salt.modules.nova.flavor_delete(flavor_id, profile=None)
142643              Delete a flavor from nova by id (nova flavor-delete)
142644
142645              CLI Example:
142646
142647                 salt '*' nova.flavor_delete 7
142648
142649       salt.modules.nova.flavor_list(profile=None)
142650              Return a list of available flavors (nova flavor-list)
142651
142652              CLI Example:
142653
142654                 salt '*' nova.flavor_list
142655
142656       salt.modules.nova.image_list(name=None, profile=None)
142657              Return a list of  available  images  (nova  images-list  +  nova
142658              image-show)  If a name is provided, only that image will be dis‐
142659              played.
142660
142661              CLI Examples:
142662
142663                 salt '*' nova.image_list
142664                 salt '*' nova.image_list myimage
142665
142666       salt.modules.nova.image_meta_delete(image_id=None,           name=None,
142667       keys=None, profile=None)
142668              Delete  a  key=value  pair  from the metadata for an image (nova
142669              image-meta set)
142670
142671              CLI Examples:
142672
142673                 salt '*' nova.image_meta_delete 6f52b2ff-0b31-4d84-8fd1-af45b84824f6 keys=cheese
142674                 salt '*' nova.image_meta_delete name=myimage keys=salad,beans
142675
142676       salt.modules.nova.image_meta_set(image_id=None,     name=None,     pro‐
142677       file=None, **kwargs)
142678              Sets  a  key=value  pair  in  the  metadata  for  an image (nova
142679              image-meta set)
142680
142681              CLI Examples:
142682
142683                 salt '*' nova.image_meta_set 6f52b2ff-0b31-4d84-8fd1-af45b84824f6 cheese=gruyere
142684                 salt '*' nova.image_meta_set name=myimage salad=pasta beans=baked
142685
142686       salt.modules.nova.keypair_add(name,  pubfile=None,  pubkey=None,   pro‐
142687       file=None)
142688              Add a keypair to nova (nova keypair-add)
142689
142690              CLI Examples:
142691
142692                 salt '*' nova.keypair_add mykey pubfile=/home/myuser/.ssh/id_rsa.pub
142693                 salt '*' nova.keypair_add mykey pubkey='ssh-rsa <key> myuser@mybox'
142694
142695       salt.modules.nova.keypair_delete(name, profile=None)
142696              Add a keypair to nova (nova keypair-delete)
142697
142698              CLI Example:
142699
142700                 salt '*' nova.keypair_delete mykey
142701
142702       salt.modules.nova.keypair_list(profile=None)
142703              Return a list of available keypairs (nova keypair-list)
142704
142705              CLI Example:
142706
142707                 salt '*' nova.keypair_list
142708
142709       salt.modules.nova.list_(profile=None)
142710              To  maintain  the  feel  of the nova command line, this function
142711              simply calls the server_list function.
142712
142713              CLI Example:
142714
142715                 salt '*' nova.list
142716
142717       salt.modules.nova.lock(instance_id, profile=None)
142718              Lock an instance
142719
142720              instance_id
142721                     ID of the instance to be locked
142722
142723              CLI Example:
142724
142725                 salt '*' nova.lock 1138
142726
142727       salt.modules.nova.resume(instance_id, profile=None)
142728              Resume an instance
142729
142730              instance_id
142731                     ID of the instance to be resumed
142732
142733              CLI Example:
142734
142735                 salt '*' nova.resume 1138
142736
142737       salt.modules.nova.secgroup_create(name, description, profile=None)
142738              Add a secgroup to nova (nova secgroup-create)
142739
142740              CLI Example:
142741
142742                 salt '*' nova.secgroup_create mygroup 'This is my security group'
142743
142744       salt.modules.nova.secgroup_delete(name, profile=None)
142745              Delete a secgroup to nova (nova secgroup-delete)
142746
142747              CLI Example:
142748
142749                 salt '*' nova.secgroup_delete mygroup
142750
142751       salt.modules.nova.secgroup_list(profile=None)
142752              Return a list of available security groups (nova items-list)
142753
142754              CLI Example:
142755
142756                 salt '*' nova.secgroup_list
142757
142758       salt.modules.nova.server_by_name(name, profile=None)
142759              Return information about a server
142760
142761              name   Server Name
142762
142763              CLI Example:
142764
142765                 salt '*' nova.server_by_name myserver profile=openstack
142766
142767       salt.modules.nova.server_list(profile=None)
142768              Return list of active servers
142769
142770              CLI Example:
142771
142772                 salt '*' nova.server_list
142773
142774       salt.modules.nova.server_list_detailed(profile=None)
142775              Return detailed list of active servers
142776
142777              CLI Example:
142778
142779                 salt '*' nova.server_list_detailed
142780
142781       salt.modules.nova.server_show(server_id, profile=None)
142782              Return detailed information for an active server
142783
142784              CLI Example:
142785
142786                 salt '*' nova.server_show <server_id>
142787
142788       salt.modules.nova.show(server_id, profile=None)
142789              To maintain the feel of the nova  command  line,  this  function
142790              simply calls the server_show function.
142791
142792              CLI Example:
142793
142794                 salt '*' nova.show
142795
142796       salt.modules.nova.suspend(instance_id, profile=None)
142797              Suspend an instance
142798
142799              instance_id
142800                     ID of the instance to be suspended
142801
142802              CLI Example:
142803
142804                 salt '*' nova.suspend 1138
142805
142806       salt.modules.nova.volume_attach(name, server_name, device=u'/dev/xvdb',
142807       profile=None, timeout=300)
142808              Attach a block storage volume
142809
142810              name   Name of the new volume to attach
142811
142812              server_name
142813                     Name of the server to attach to
142814
142815              device Name of the device on the server
142816
142817              profile
142818                     Profile to build on
142819
142820              CLI Example:
142821
142822                 salt '*' nova.volume_attach myblock slice.example.com profile=openstack
142823                 salt '*' nova.volume_attach myblock server.example.com device=/dev/xvdb profile=openstack
142824
142825       salt.modules.nova.volume_create(name,     size=100,      snapshot=None,
142826       voltype=None, profile=None)
142827              Create a block storage volume
142828
142829              name   Name of the new volume (must be first)
142830
142831              size   Volume size
142832
142833              snapshot
142834                     Block storage snapshot id
142835
142836              voltype
142837                     Type of storage
142838
142839              profile
142840                     Profile to build on
142841
142842              CLI Example:
142843
142844                 salt '*' nova.volume_create myblock size=300 profile=openstack
142845
142846       salt.modules.nova.volume_delete(name, profile=None)
142847              Destroy the volume
142848
142849              name   Name of the volume
142850
142851              profile
142852                     Profile to build on
142853
142854              CLI Example:
142855
142856                 salt '*' nova.volume_delete myblock profile=openstack
142857
142858       salt.modules.nova.volume_detach(name, profile=None, timeout=300)
142859              Attach a block storage volume
142860
142861              name   Name of the new volume to attach
142862
142863              server_name
142864                     Name of the server to detach from
142865
142866              profile
142867                     Profile to build on
142868
142869              CLI Example:
142870
142871                 salt '*' nova.volume_detach myblock profile=openstack
142872
142873       salt.modules.nova.volume_list(search_opts=None, profile=None)
142874              List storage volumes
142875
142876              search_opts
142877                     Dictionary of search options
142878
142879              profile
142880                     Profile to use
142881
142882              CLI Example:
142883
142884                 salt '*' nova.volume_list search_opts='{"display_name": "myblock"}' profile=openstack
142885
142886       salt.modules.nova.volume_show(name, profile=None)
142887              Create a block storage volume
142888
142889              name   Name of the volume
142890
142891              profile
142892                     Profile to use
142893
142894              CLI Example:
142895
142896                 salt '*' nova.volume_show myblock profile=openstack
142897
142898   salt.modules.npm
142899       Manage and query NPM packages.
142900
142901       salt.modules.npm.cache_clean(path=None,      runas=None,      env=None,
142902       force=False)
142903              Clean cached NPM packages.
142904
142905              If no path for a specific package is provided the  entire  cache
142906              will be cleared.
142907
142908              path   The  cache subpath to delete, or None to clear the entire
142909                     cache
142910
142911              runas  The user to run NPM with
142912
142913              env    Environment variables to set when invoking npm. Uses  the
142914                     same env format as the cmd.run execution function.
142915
142916              force  Force cleaning of cache.  Required for npm@5 and greater
142917
142918                     New in version 2016.11.6.
142919
142920
142921              CLI Example:
142922
142923                 salt '*' npm.cache_clean force=True
142924
142925       salt.modules.npm.cache_list(path=None, runas=None, env=None)
142926              List NPM cached packages.
142927
142928              If no path for a specific package is provided this will list all
142929              the cached packages.
142930
142931              path   The cache subpath to list, or None  to  list  the  entire
142932                     cache
142933
142934              runas  The user to run NPM with
142935
142936              env    Environment  variables to set when invoking npm. Uses the
142937                     same env format as the cmd.run execution function.
142938
142939              CLI Example:
142940
142941                 salt '*' npm.cache_clean
142942
142943       salt.modules.npm.cache_path(runas=None, env=None)
142944              List path of the NPM cache directory.
142945
142946              runas  The user to run NPM with
142947
142948              env    Environment variables to set when invoking npm. Uses  the
142949                     same env format as the cmd.run execution function.
142950
142951              CLI Example:
142952
142953                 salt '*' npm.cache_path
142954
142955       salt.modules.npm.install(pkg=None,   pkgs=None,  dir=None,  runas=None,
142956       registry=None, env=None, dry_run=False, silent=True)
142957              Install an NPM package.
142958
142959              If no directory is specified,  the  package  will  be  installed
142960              globally.  If  no  package  is specified, the dependencies (from
142961              package.json) of the package in  the  given  directory  will  be
142962              installed.
142963
142964              pkg    A package name in any format accepted by NPM, including a
142965                     version identifier
142966
142967              pkgs   A list of package names in the same format  as  the  name
142968                     parameter
142969
142970                     New in version 2014.7.0.
142971
142972
142973              dir    The  target directory in which to install the package, or
142974                     None for global installation
142975
142976              runas  The user to run NPM with
142977
142978              registry
142979                     The NPM registry to install the package from.
142980
142981                     New in version 2014.7.0.
142982
142983
142984              env    Environment variables to set when invoking npm. Uses  the
142985                     same env format as the cmd.run execution function.
142986
142987                     New in version 2014.7.0.
142988
142989
142990              silent Whether or not to run NPM install with --silent flag.
142991
142992                     New in version 2016.3.0.
142993
142994
142995              dry_run
142996                     Whether or not to run NPM install with --dry-run flag.
142997
142998                     New in version 2015.8.4.
142999
143000
143001              silent Whether or not to run NPM install with --silent flag.
143002
143003                     New in version 2015.8.5.
143004
143005
143006              CLI Example:
143007
143008                 salt '*' npm.install coffee-script
143009
143010                 salt '*' npm.install coffee-script@1.0.1
143011
143012       salt.modules.npm.list_(pkg=None,    dir=None,   runas=None,   env=None,
143013       depth=None)
143014              List installed NPM packages.
143015
143016              If no directory is specified, this will return the list of glob‐
143017              ally- installed packages.
143018
143019              pkg    Limit package listing by name
143020
143021              dir    The  directory whose packages will be listed, or None for
143022                     global installation
143023
143024              runas  The user to run NPM with
143025
143026                     New in version 2014.7.0.
143027
143028
143029              env    Environment variables to set when invoking npm. Uses  the
143030                     same env format as the cmd.run execution function.
143031
143032                     New in version 2014.7.0.
143033
143034
143035              depth  Limit the depth of the packages listed
143036
143037                     New in version 2016.11.6,2017.7.0.
143038
143039
143040              CLI Example:
143041
143042                 salt '*' npm.list
143043
143044       salt.modules.npm.uninstall(pkg, dir=None, runas=None, env=None)
143045              Uninstall an NPM package.
143046
143047              If  no  directory  is specified, the package will be uninstalled
143048              globally.
143049
143050              pkg    A package name in any format accepted by NPM
143051
143052              dir    The target directory from which to uninstall the package,
143053                     or None for global installation
143054
143055              runas  The user to run NPM with
143056
143057              env    Environment  variables to set when invoking npm. Uses the
143058                     same env format as the cmd.run execution function.
143059
143060                     New in version 2015.5.3.
143061
143062
143063              CLI Example:
143064
143065                 salt '*' npm.uninstall coffee-script
143066
143067   salt.modules.nspawn
143068       Manage nspawn containers
143069
143070       New in version 2015.8.0.
143071
143072
143073       systemd-nspawn(1) is a tool used to manage lightweight  namespace  con‐
143074       tainers.  This execution module provides several functions to help man‐
143075       age these containers.
143076
143077       Minions  running  systemd  >=  219  will  place   new   containers   in
143078       /var/lib/machines, while those running systemd < 219 will place them in
143079       /var/lib/container.
143080
143081       salt.modules.nspawn.bootstrap_container(name, dist=None, version=None)
143082              Bootstrap a container from package servers, if dist is None  the
143083              os  the  minion  is  running  as  will be created, otherwise the
143084              needed bootstrapping tools will need  to  be  available  on  the
143085              host.
143086
143087              CLI Example:
143088
143089                 salt myminion nspawn.bootstrap_container <name>
143090
143091       salt.modules.nspawn.bootstrap_salt(name, config=None, approve_key=True,
143092       install=True,    pub_key=None,    priv_key=None,    bootstrap_url=None,
143093       force_install=False, unconditional_install=False, bootstrap_delay=None,
143094       bootstrap_args=None, bootstrap_shell=None)
143095              Bootstrap a container from package servers, if dist is None  the
143096              os  the  minion  is  running  as  will be created, otherwise the
143097              needed bootstrapping tools will need  to  be  available  on  the
143098              host.
143099
143100              CLI Example:
143101
143102                 salt '*' nspawn.bootstrap_salt arch1
143103
143104       salt.modules.nspawn.copy_to(name, *args, **kwargs)
143105              Copy a file from the host into a container
143106
143107              name   Container name
143108
143109              source File to be copied to the container
143110
143111              dest   Destination on the container. Must be an absolute path.
143112
143113              overwrite
143114                     False  Unless  this option is set to True, then if a file
143115                     exists at the location specified by the dest argument, an
143116                     error will be raised.
143117
143118              makedirs : False
143119                 Create  the  parent directory on the container if it does not
143120                 already exist.
143121
143122              CLI Example:
143123
143124                 salt 'minion' nspawn.copy_to /tmp/foo /root/foo
143125
143126       salt.modules.nspawn.disable(name, *args, **kwargs)
143127              Set the named container to not be launched at boot
143128
143129              CLI Example:
143130
143131                 salt myminion nspawn.enable <name>
143132
143133       salt.modules.nspawn.enable(name, *args, **kwargs)
143134              Set the named container to be launched at boot
143135
143136              CLI Example:
143137
143138                 salt myminion nspawn.enable <name>
143139
143140       salt.modules.nspawn.exists(name)
143141              Returns true if the named container exists
143142
143143              CLI Example:
143144
143145                 salt myminion nspawn.exists <name>
143146
143147       salt.modules.nspawn.info(name, **kwargs)
143148              Return info about a container
143149
143150              NOTE:
143151                 The container must be running for machinectl to gather infor‐
143152                 mation about it. If the container is stopped, then this func‐
143153                 tion will start it.
143154
143155              start  False If True, then the  container  will  be  started  to
143156                     retrieve  the  info.  A Started key will be in the return
143157                     data if the container was started.
143158
143159              CLI Example:
143160
143161                 salt myminion nspawn.info arch1
143162                 salt myminion nspawn.info arch1 force_start=False
143163
143164       salt.modules.nspawn.list_all()
143165              Lists all nspawn containers
143166
143167              CLI Example:
143168
143169                 salt myminion nspawn.list_all
143170
143171       salt.modules.nspawn.list_running()
143172              Lists running nspawn containers
143173
143174              NOTE:
143175                 nspawn.list also works to list running containers
143176
143177              CLI Example:
143178
143179                 salt myminion nspawn.list_running
143180                 salt myminion nspawn.list
143181
143182       salt.modules.nspawn.list_stopped()
143183              Lists stopped nspawn containers
143184
143185              CLI Example:
143186
143187                 salt myminion nspawn.list_stopped
143188
143189       salt.modules.nspawn.pid(name, *args, **kwargs)
143190              Returns the PID of a container
143191
143192              name   Container name
143193
143194              CLI Example:
143195
143196                 salt myminion nspawn.pid arch1
143197
143198       salt.modules.nspawn.poweroff(name)
143199              Issue a clean shutdown to the container.  Equivalent to  running
143200              machinectl poweroff on the named container.
143201
143202              For convenience, running nspawn.stop``(as shown in the CLI exam‐
143203              ples below) is equivalent to running ``nspawn.poweroff.
143204
143205              NOTE:
143206                 machinectl poweroff is only supported in systemd >=  219.  On
143207                 earlier  systemd  versions, running this function will simply
143208                 issue a clean shutdown via systemctl.
143209
143210              CLI Examples:
143211
143212                 salt myminion nspawn.poweroff arch1
143213                 salt myminion nspawn.stop arch1
143214
143215       salt.modules.nspawn.pull_dkr(url, name, index)
143216              Execute a machinectl pull-dkr to download a docker image and add
143217              it to /var/lib/machines as a new container.
143218
143219              NOTE:
143220                 Requires systemd >= 219
143221
143222              url    URL from which to download the container
143223
143224              name   Name for the new container
143225
143226              index  URL  of  the Docker index server from which to pull (must
143227                     be an http:// or https:// URL).
143228
143229              CLI Examples:
143230
143231                 salt myminion nspawn.pull_dkr centos/centos6 cent6 index=https://get.docker.com
143232                 salt myminion nspawn.pull_docker centos/centos6 cent6 index=https://get.docker.com
143233
143234       salt.modules.nspawn.pull_raw(url, name, verify=False)
143235              Execute a machinectl pull-raw to download a .qcow2 or  raw  disk
143236              image, and add it to /var/lib/machines as a new container.
143237
143238              NOTE:
143239                 Requires systemd >= 219
143240
143241              url    URL from which to download the container
143242
143243              name   Name for the new container
143244
143245              verify False  Perform  signature or checksum verification on the
143246                     container. See the machinectl(1) man page (section titled
143247                     "Image   Transfer  Commands")  for  more  information  on
143248                     requirements for image verification. To perform signature
143249                     verification,  use verify=signature. For checksum verifi‐
143250                     cation, use verify=checksum. By default, no  verification
143251                     will be performed.
143252
143253              CLI Examples:
143254
143255                 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
143256
143257       salt.modules.nspawn.pull_tar(url, name, verify=False)
143258              Execute  a  machinectl  pull-raw  to  download  a .tar container
143259              image, and add it to /var/lib/machines as a new container.
143260
143261              NOTE:
143262                 Requires systemd >= 219
143263
143264              url    URL from which to download the container
143265
143266              name   Name for the new container
143267
143268              verify False Perform signature or checksum verification  on  the
143269                     container. See the machinectl(1) man page (section titled
143270                     "Image  Transfer  Commands")  for  more  information   on
143271                     requirements for image verification. To perform signature
143272                     verification, use verify=signature. For checksum  verifi‐
143273                     cation,  use verify=checksum. By default, no verification
143274                     will be performed.
143275
143276              CLI Examples:
143277
143278                 salt myminion nspawn.pull_tar http://foo.domain.tld/containers/archlinux-2015.02.01.tar.gz arch2
143279
143280       salt.modules.nspawn.reboot(name, *args, **kwargs)
143281              Reboot the container by sending a SIGINT to  its  init  process.
143282              Equivalent to running machinectl reboot on the named container.
143283
143284              For  convenience,  running  nspawn.restart  (as shown in the CLI
143285              examples below) is equivalent to running nspawn.reboot.
143286
143287              NOTE:
143288                 machinectl reboot is only supported in  systemd  >=  219.  On
143289                 earlier  systemd versions, running this function will instead
143290                 restart the container via systemctl.
143291
143292              CLI Examples:
143293
143294                 salt myminion nspawn.reboot arch1
143295                 salt myminion nspawn.restart arch1
143296
143297       salt.modules.nspawn.remove(name, *args, **kwargs)
143298              Remove the named container
143299
143300              WARNING:
143301                 This function will remove all data associated with  the  con‐
143302                 tainer.  It  will  not,  however, remove the btrfs subvolumes
143303                 created  by  pulling   container   images   (nspawn.pull_raw,
143304                 nspawn.pull_tar, nspawn.pull_dkr).
143305
143306              stop   False If True, the container will be destroyed even if it
143307                     is running/frozen.
143308
143309              CLI Examples:
143310
143311                 salt '*' nspawn.remove foo
143312                 salt '*' nspawn.remove foo stop=True
143313
143314       salt.modules.nspawn.retcode(name,     cmd,     no_start=False,     pre‐
143315       serve_state=True,       stdin=None,       python_shell=True,       out‐
143316       put_loglevel=u'debug',       use_vt=False,        ignore_retcode=False,
143317       keep_env=None)
143318              Run cmd.retcode within a container
143319
143320              name   Name of the container in which to run the command
143321
143322              cmd    Command to run
143323
143324              no_start
143325                     False If the container is not running, don't start it
143326
143327              preserve_state
143328                     True  After  running the command, return the container to
143329                     its previous state
143330
143331              stdin  None Standard input to be used for the command
143332
143333              output_loglevel
143334                     debug Level at which to log the output from the  command.
143335                     Set to quiet to suppress logging.
143336
143337              use_vt False  Use  SaltStack's utils.vt to stream output to con‐
143338                     sole. Assumes output=all.
143339
143340              keep_env
143341                     None If not passed, only a sane default PATH  environment
143342                     variable  will be set. If True, all environment variables
143343                     from the container's host  will  be  kept.  Otherwise,  a
143344                     comma-separated  list  (or  Python  list)  of environment
143345                     variable names can be passed, and those environment vari‐
143346                     ables will be kept.
143347
143348              CLI Example:
143349
143350                 salt myminion nspawn.retcode mycontainer 'ip addr show'
143351
143352       salt.modules.nspawn.run(name, cmd, no_start=False, preserve_state=True,
143353       stdin=None, python_shell=True, output_loglevel=u'debug',  use_vt=False,
143354       ignore_retcode=False, keep_env=None)
143355              Run cmd.run within a container
143356
143357              name   Name of the container in which to run the command
143358
143359              cmd    Command to run
143360
143361              no_start
143362                     False If the container is not running, don't start it
143363
143364              preserve_state
143365                     True  After  running the command, return the container to
143366                     its previous state
143367
143368              stdin  None Standard input to be used for the command
143369
143370              output_loglevel
143371                     debug Level at which to log the output from the  command.
143372                     Set to quiet to suppress logging.
143373
143374              use_vt False  Use  SaltStack's utils.vt to stream output to con‐
143375                     sole.
143376
143377              keep_env
143378                     None If not passed, only a sane default PATH  environment
143379                     variable  will be set. If True, all environment variables
143380                     from the container's host  will  be  kept.  Otherwise,  a
143381                     comma-separated  list  (or  Python  list)  of environment
143382                     variable names can be passed, and those environment vari‐
143383                     ables will be kept.
143384
143385              CLI Example:
143386
143387                 salt myminion nspawn.run mycontainer 'ifconfig -a'
143388
143389       salt.modules.nspawn.run_all(name,     cmd,     no_start=False,     pre‐
143390       serve_state=True,       stdin=None,       python_shell=True,       out‐
143391       put_loglevel=u'debug',        use_vt=False,       ignore_retcode=False,
143392       keep_env=None)
143393              Run cmd.run_all within a container
143394
143395              NOTE:
143396                 While the command is run within the container, it  is  initi‐
143397                 ated  from the host. Therefore, the PID in the return dict is
143398                 from the host, not from the container.
143399
143400              name   Name of the container in which to run the command
143401
143402              cmd    Command to run
143403
143404              no_start
143405                     False If the container is not running, don't start it
143406
143407              preserve_state
143408                     True After running the command, return the  container  to
143409                     its previous state
143410
143411              stdin  None Standard input to be used for the command
143412
143413              output_loglevel
143414                     debug  Level at which to log the output from the command.
143415                     Set to quiet to suppress logging.
143416
143417              use_vt False Use SaltStack's utils.vt to stream output  to  con‐
143418                     sole. Assumes output=all.
143419
143420              keep_env
143421                     None  If not passed, only a sane default PATH environment
143422                     variable will be set. If True, all environment  variables
143423                     from  the  container's  host  will  be kept. Otherwise, a
143424                     comma-separated list  (or  Python  list)  of  environment
143425                     variable names can be passed, and those environment vari‐
143426                     ables will be kept.
143427
143428              CLI Example:
143429
143430                 salt myminion nspawn.run_all mycontainer 'ip addr show'
143431
143432       salt.modules.nspawn.run_stderr(name,    cmd,    no_start=False,    pre‐
143433       serve_state=True,       stdin=None,       python_shell=True,       out‐
143434       put_loglevel=u'debug',       use_vt=False,        ignore_retcode=False,
143435       keep_env=None)
143436              Run cmd.run_stderr within a container
143437
143438              name   Name of the container in which to run the command
143439
143440              cmd    Command to run
143441
143442              no_start
143443                     False If the container is not running, don't start it
143444
143445              preserve_state
143446                     True  After  running the command, return the container to
143447                     its previous state
143448
143449              stdin  None Standard input to be used for the command
143450
143451              output_loglevel
143452                     debug Level at which to log the output from the  command.
143453                     Set to quiet to suppress logging.
143454
143455              use_vt False  Use  SaltStack's utils.vt to stream output to con‐
143456                     sole. Assumes output=all.
143457
143458              keep_env
143459                     None If not passed, only a sane default PATH  environment
143460                     variable  will be set. If True, all environment variables
143461                     from the container's host  will  be  kept.  Otherwise,  a
143462                     comma-separated  list  (or  Python  list)  of environment
143463                     variable names can be passed, and those environment vari‐
143464                     ables will be kept.
143465
143466              CLI Example:
143467
143468                 salt myminion nspawn.run_stderr mycontainer 'ip addr show'
143469
143470       salt.modules.nspawn.run_stdout(name,    cmd,    no_start=False,    pre‐
143471       serve_state=True,       stdin=None,       python_shell=True,       out‐
143472       put_loglevel=u'debug',        use_vt=False,       ignore_retcode=False,
143473       keep_env=None)
143474              Run cmd.run_stdout within a container
143475
143476              name   Name of the container in which to run the command
143477
143478              cmd    Command to run
143479
143480              no_start
143481                     False If the container is not running, don't start it
143482
143483              preserve_state
143484                     True After running the command, return the  container  to
143485                     its previous state
143486
143487              stdin  None Standard input to be used for the command
143488
143489              output_loglevel
143490                     debug  Level at which to log the output from the command.
143491                     Set to quiet to suppress logging.
143492
143493              use_vt False Use SaltStack's utils.vt to stream output  to  con‐
143494                     sole. Assumes output=all.
143495
143496              keep_env
143497                     None  If not passed, only a sane default PATH environment
143498                     variable will be set. If True, all environment  variables
143499                     from  the  container's  host  will  be kept. Otherwise, a
143500                     comma-separated list  (or  Python  list)  of  environment
143501                     variable names can be passed, and those environment vari‐
143502                     ables will be kept.
143503
143504              CLI Example:
143505
143506                 salt myminion nspawn.run_stdout mycontainer 'ifconfig -a'
143507
143508       salt.modules.nspawn.start(name, *args, **kwargs)
143509              Start the named container
143510
143511              CLI Example:
143512
143513                 salt myminion nspawn.start <name>
143514
143515       salt.modules.nspawn.state(name, *args, **kwargs)
143516              Return state of container (running or stopped)
143517
143518              CLI Example:
143519
143520                 salt myminion nspawn.state <name>
143521
143522       salt.modules.nspawn.terminate(name)
143523              Kill all processes in the  container  without  issuing  a  clean
143524              shutdown.   Equivalent  to  running  machinectl terminate on the
143525              named container.
143526
143527              For convenience, running nspawn.stop and passing  kill=True  (as
143528              shown  in  the  CLI  examples  below)  is  equivalent to running
143529              nspawn.terminate.
143530
143531              NOTE:
143532                 machinectl terminate is only supported in systemd >= 219.  On
143533                 earlier  systemd  versions, running this function will simply
143534                 issue a clean shutdown via systemctl.
143535
143536              CLI Examples:
143537
143538                 salt myminion nspawn.terminate arch1
143539                 salt myminion nspawn.stop arch1 kill=True
143540
143541   salt.modules.nxos module
143542       Execution module for Cisco NX OS Switches Proxy minions
143543
143544       New in version 2016.11.0.
143545
143546
143547       For documentation on setting up the nxos proxy minion look in the docu‐
143548       mentation for salt.proxy.nxos.
143549
143550       salt.modules.nxos.cmd(command, *args, **kwargs)
143551              run commands from __proxy__ salt.proxy.nxos
143552
143553              command
143554                     function from salt.proxy.nxos to run
143555
143556              args   positional args to pass to command function
143557
143558              kwargs key word arguments to pass to command function
143559
143560                 salt '*' nxos.cmd sendline 'show ver'
143561                 salt '*' nxos.cmd show_run
143562                 salt '*' nxos.cmd check_password username=admin password='$5$lkjsdfoi$blahblahblah' encrypted=True
143563
143564       salt.modules.nxos.system_info()
143565              Return system information for grains of the NX OS proxy minion
143566
143567                 salt '*' nxos.system_info
143568
143569   salt.modules.nxos_api module
143570       Execution module to manage Cisco Nexus Switches (NX-OS) over the NX-API
143571
143572       New in version Fluorine.
143573
143574
143575       Execution  module  used  to  interface the interaction with a remote or
143576       local Nexus switch whether we're running in a Proxy Minion  or  regular
143577       Minion (or regular Minion running directly on the Nexus switch).
143578
143579       codeauthor
143580              Mircea Ulinic <ping@mirceaulinic.net>
143581
143582       maturity
143583              new
143584
143585       platform
143586              any
143587
143588       NOTE:
143589          To  be  able to use this module you need to enable to NX-API on your
143590          switch, by executing feature nxapi in configuration mode.
143591
143592          Configuration example:
143593
143594              switch# conf t
143595              switch(config)# feature nxapi
143596
143597          To check that NX-API is properly enabled, execute show nxapi.
143598
143599          Output example:
143600
143601              switch# show nxapi
143602              nxapi enabled
143603              HTTPS Listen on port 443
143604
143605       NOTE:
143606          NX-API requires modern NXOS distributions, typically  at  least  7.0
143607          depending  on  the hardware. Due to reliability reasons it is recom‐
143608          mended to run the most recent version.
143609
143610          Check
143611          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
143612          for more details.
143613
143614   Usage
143615       This module can equally be  used  via  the  nxos_api  Proxy  module  or
143616       directly  from an arbitrary (Proxy) Minion that is running on a machine
143617       having access to the network device API. Given that there are no exter‐
143618       nal dependencies, this module can very well used when using the regular
143619       Salt Minion directly installed on the switch.
143620
143621       When running outside of the nxos_api Proxy (i.e.,  from  another  Proxy
143622       Minion type, or regular Minion), the NX-API connection arguments can be
143623       either specified from the CLI when executing the command, or in a  con‐
143624       figuration  block  under  the  nxos_api  key  in the configuration opts
143625       (i.e., (Proxy) Minion configuration file), or Pillar. The  module  sup‐
143626       ports  these  simultaneously. These fields are the exact same supported
143627       by the nxos_api Proxy Module:
143628
143629       transport: https
143630              Specifies the type of connection transport to use. Valid  values
143631              for the connection are http, and  https.
143632
143633       host: localhost
143634              The IP address or DNS host name of the connection device.
143635
143636       username: admin
143637              The  username  to  pass to the device to authenticate the NX-API
143638              connection.
143639
143640       password
143641              The password to pass to the device to  authenticate  the  NX-API
143642              connection.
143643
143644       port   The  TCP port of the endpoint for the NX-API connection. If this
143645              keyword is not specified, the  default  value  is  automatically
143646              determined  by  the  transport  type  (80  for  http, or 443 for
143647              https).
143648
143649       timeout: 60
143650              Time in seconds to wait for the device to respond.  Default:  60
143651              seconds.
143652
143653       verify: True
143654              Either  a  boolean,  in which case it controls whether we verify
143655              the NX-API TLS certificate, or a string, in which case  it  must
143656              be a path to a CA bundle to use. Defaults to True.
143657
143658              When  there  is  no  certificate configuration on the device and
143659              this option is set as True (default),  the  commands  will  fail
143660              with  the  following  error:  SSLError:  [SSL:  CERTIFICATE_VER‐
143661              IFY_FAILED] certificate verify  failed  (_ssl.c:581).   In  this
143662              case,  you  either need to configure a proper certificate on the
143663              device (recommended), or bypass the checks setting this argument
143664              as False with all the security risks considered.
143665
143666              Check
143667              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
143668              to see how to properly configure the certificate.
143669
143670       Example (when not running in a nxos_api Proxy Minion):
143671
143672          nxos_api:
143673            username: test
143674            password: test
143675
143676       In  case  the  username and password are the same on any device you are
143677       targeting, the block above (besides other parameters specific  to  your
143678       environment  you  might need) should suffice to be able to execute com‐
143679       mands from outside a nxos_api Proxy, e.g.:
143680
143681          salt-call --local nxos_api.show 'show lldp neighbors' raw_text
143682          # The command above is available when running in a regular Minion where Salt is installed
143683
143684          salt '*' nxos_api.show 'show version' raw_text=False
143685
143686       NOTE:
143687          Remember that the above applies only when not running in a  nxos_api
143688          Proxy  Minion.  If you want to use the nxos_api Proxy, please follow
143689          the documentation notes for a proper setup.
143690
143691       salt.modules.nxos_api.config(commands=None,   config_file=None,    tem‐
143692       plate_engine=u'jinja',  context=None,  defaults=None,  saltenv=u'base',
143693       **kwargs)
143694              Configures the Nexus switch with the specified commands.
143695
143696              This method is  used  to  send  configuration  commands  to  the
143697              switch.   It will take either a string or a list and prepend the
143698              necessary commands to put the session into config mode.
143699
143700              WARNING:
143701                 All the commands will  be  applied  directly  into  the  run‐
143702                 ning-config.
143703
143704              config_file
143705                     The  source  file  with  the configuration commands to be
143706                     sent to the device.
143707
143708                     The file can also be a  template  that  can  be  rendered
143709                     using the template engine of choice.
143710
143711                     This  can  be  specified  using  the absolute path to the
143712                     file, or using one of the following URL schemes:
143713
143714                     · salt://, to fetch the file from the Salt fileserver.
143715
143716                     · http:// or https://
143717
143718                     · ftp://
143719
143720                     · s3://
143721
143722                     · swift://
143723
143724              commands
143725                     The commands to send to the switch in  config  mode.   If
143726                     the  commands  argument  is a string it will be cast to a
143727                     list.  The list of commands will also be  prepended  with
143728                     the necessary commands to put the session in config mode.
143729
143730                     NOTE:
143731                        This  argument  is  ignored when config_file is speci‐
143732                        fied.
143733
143734              template_engine: jinja
143735                     The template engine to  use  when  rendering  the  source
143736                     file.  Default:  jinja.  To simply fetch the file without
143737                     attempting to render, set this argument to None.
143738
143739              context
143740                     Variables to add to the template context.
143741
143742              defaults
143743                     Default values of the context_dict.
143744
143745              transport: https
143746                     Specifies the type of connection transport to use.  Valid
143747                     values for the connection are http, and  https.
143748
143749              host: localhost
143750                     The IP address or DNS host name of the connection device.
143751
143752              username: admin
143753                     The  username  to  pass to the device to authenticate the
143754                     NX-API connection.
143755
143756              password
143757                     The password to pass to the device  to  authenticate  the
143758                     NX-API connection.
143759
143760              port   The  TCP  port of the endpoint for the NX-API connection.
143761                     If this keyword is not specified, the  default  value  is
143762                     automatically  determined  by  the transport type (80 for
143763                     http, or 443 for https).
143764
143765              timeout: 60
143766                     Time in seconds  to  wait  for  the  device  to  respond.
143767                     Default: 60 seconds.
143768
143769              verify: True
143770                     Either  a  boolean,  in which case it controls whether we
143771                     verify the NX-API TLS certificate, or a string, in  which
143772                     case it must be a path to a CA bundle to use. Defaults to
143773                     True.
143774
143775              CLI Example:
143776
143777                 salt '*' nxos_api.config commands="['spanning-tree mode mstp']"
143778                 salt '*' nxos_api.config config_file=salt://config.txt
143779                 salt '*' nxos_api.config config_file=https://bit.ly/2LGLcDy context="{'servers': ['1.2.3.4']}"
143780
143781       salt.modules.nxos_api.rpc(commands, method=u'cli', **kwargs)
143782              Execute an arbitrary RPC request via the Nexus API.
143783
143784              commands
143785                     The commands to be executed.
143786
143787              method: cli
143788                     The type of the response, i.e., raw text  (cli_ascii)  or
143789                     structured  document  (cli).  Defaults to cli (structured
143790                     data).
143791
143792              transport: https
143793                     Specifies the type of connection transport to use.  Valid
143794                     values for the connection are http, and  https.
143795
143796              host: localhost
143797                     The IP address or DNS host name of the connection device.
143798
143799              username: admin
143800                     The  username  to  pass to the device to authenticate the
143801                     NX-API connection.
143802
143803              password
143804                     The password to pass to the device  to  authenticate  the
143805                     NX-API connection.
143806
143807              port   The  TCP  port of the endpoint for the NX-API connection.
143808                     If this keyword is not specified, the  default  value  is
143809                     automatically  determined  by  the transport type (80 for
143810                     http, or 443 for https).
143811
143812              timeout: 60
143813                     Time in seconds  to  wait  for  the  device  to  respond.
143814                     Default: 60 seconds.
143815
143816              verify: True
143817                     Either  a  boolean,  in which case it controls whether we
143818                     verify the NX-API TLS certificate, or a string, in  which
143819                     case it must be a path to a CA bundle to use. Defaults to
143820                     True.
143821
143822              CLI Example:
143823
143824                 salt-call --local nxps_api.rpc 'show version'
143825
143826       salt.modules.nxos_api.show(commands, raw_text=True, **kwargs)
143827              Execute one or more show (non-configuration) commands.
143828
143829              commands
143830                     The commands to be executed.
143831
143832              raw_text: True
143833                     Whether to return raw text or structured data.
143834
143835              transport: https
143836                     Specifies the type of connection transport to use.  Valid
143837                     values for the connection are http, and  https.
143838
143839              host: localhost
143840                     The IP address or DNS host name of the connection device.
143841
143842              username: admin
143843                     The  username  to  pass to the device to authenticate the
143844                     NX-API connection.
143845
143846              password
143847                     The password to pass to the device  to  authenticate  the
143848                     NX-API connection.
143849
143850              port   The  TCP  port of the endpoint for the NX-API connection.
143851                     If this keyword is not specified, the  default  value  is
143852                     automatically  determined  by  the transport type (80 for
143853                     http, or 443 for https).
143854
143855              timeout: 60
143856                     Time in seconds  to  wait  for  the  device  to  respond.
143857                     Default: 60 seconds.
143858
143859              verify: True
143860                     Either  a  boolean,  in which case it controls whether we
143861                     verify the NX-API TLS certificate, or a string, in  which
143862                     case it must be a path to a CA bundle to use. Defaults to
143863                     True.
143864
143865              CLI Example:
143866
143867                 salt-call --local nxos_api.show 'show version'
143868                 salt '*' nxos_api.show 'show bgp sessions' 'show processes' raw_text=False
143869                 salt 'regular-minion' nxos_api.show 'show interfaces' host=sw01.example.com username=test password=test
143870
143871   salt.modules.omapi
143872       This module interacts with an ISC DHCP Server via OMAPI.  server_ip and
143873       server_port params may be set in the minion config or pillar:
143874
143875          omapi.server_ip: 127.0.0.1
143876          omapi.server_port: 7991
143877
143878       depends
143879              pypureomapi Python module
143880
143881       salt.modules.omapi.add_host(mac,    name=None,   ip=None,   ddns=False,
143882       group=None, supersede_host=False)
143883              Add a host object for the given mac.
143884
143885              CLI Example:
143886
143887                 salt dhcp-server omapi.add_host ab:ab:ab:ab:ab:ab name=host1
143888
143889              Add ddns-hostname and a fixed-ip statements:
143890
143891                 salt dhcp-server omapi.add_host ab:ab:ab:ab:ab:ab name=host1 ip=10.1.1.1 ddns=true
143892
143893       salt.modules.omapi.delete_host(mac=None, name=None)
143894              Delete the host with the given mac or name.
143895
143896              CLI Examples:
143897
143898                 salt dhcp-server omapi.delete_host name=host1
143899                 salt dhcp-server omapi.delete_host mac=ab:ab:ab:ab:ab:ab
143900
143901   salt.modules.openbsd_sysctl
143902       Module for viewing and modifying OpenBSD sysctl parameters
143903
143904       salt.modules.openbsd_sysctl.assign(name, value)
143905              Assign a single sysctl parameter for this minion
143906
143907              CLI Example:
143908
143909                 salt '*' sysctl.assign net.inet.ip.forwarding 1
143910
143911       salt.modules.openbsd_sysctl.get(name)
143912              Return a single sysctl parameter for this minion
143913
143914              CLI Example:
143915
143916                 salt '*' sysctl.get hw.physmem
143917
143918       salt.modules.openbsd_sysctl.persist(name,          value,          con‐
143919       fig=u'/etc/sysctl.conf')
143920              Assign and persist a simple sysctl parameter for this minion
143921
143922              CLI Example:
143923
143924                 salt '*' sysctl.persist net.inet.ip.forwarding 1
143925
143926       salt.modules.openbsd_sysctl.show(config_file=False)
143927              Return a list of sysctl parameters for this minion
143928
143929              CLI Example:
143930
143931                 salt '*' sysctl.show
143932
143933   salt.modules.openbsdpkg
143934       Package support for OpenBSD
143935
143936       NOTE:
143937          The package repository is configured on each host using /etc/instal‐
143938          lurl  from  OpenBSD  6.1  onwards.  Earlier   releases   relied   on
143939          /etc/pkg.conf.
143940
143941       Changed  in  version 2016.3.5: Package versions on OpenBSD are not nor‐
143942       mally specified explicitly; instead packages may be available in multi‐
143943       ple  flavors,  and  branches  which  are specified by the format of the
143944       package name. This module allows you to  use  the  same  formatting  as
143945       pkg_add(1),  and  will  select  the  empty flavor and default branch by
143946       default. Examples:
143947
143948          - rsync
143949          - vim--no_x11
143950          - ruby%2.3
143951
143952
143953       salt.modules.openbsdpkg.install(name=None,   pkgs=None,   sources=None,
143954       **kwargs)
143955              Install the passed package
143956
143957              Return a dict containing the new package names and versions:
143958
143959                 {'<package>': {'old': '<old-version>',
143960                                'new': '<new-version>'}}
143961
143962              CLI Example, Install one package:
143963
143964                 salt '*' pkg.install <package name>
143965
143966              CLI Example, Install more than one package:
143967
143968                 salt '*' pkg.install pkgs='["<package name>", "<package name>"]'
143969
143970              CLI  Example,  Install  more  than  one package from a alternate
143971              source (e.g.  salt file-server, HTTP, FTP, local filesystem):
143972
143973                 salt '*' pkg.install sources='[{"<pkg name>": "salt://pkgs/<pkg filename>"}]'
143974
143975       salt.modules.openbsdpkg.latest_version(*names, **kwargs)
143976              Return the latest version of the  named  package  available  for
143977              upgrade or installation. If more than one package name is speci‐
143978              fied, a dict of name/version pairs is returned.
143979
143980              If the latest version of a given package is  already  installed,
143981              an empty string will be returned for that package.
143982
143983              CLI Example:
143984
143985                 salt '*' pkg.latest_version <package name>
143986
143987       salt.modules.openbsdpkg.list_pkgs(versions_as_list=False, **kwargs)
143988              List the packages currently installed as a dict:
143989
143990                 {'<package_name>': '<version>'}
143991
143992              CLI Example:
143993
143994                 salt '*' pkg.list_pkgs
143995
143996       salt.modules.openbsdpkg.purge(name=None, pkgs=None, **kwargs)
143997              Remove a package and extra configuration files.
143998
143999              name   The name of the package to be deleted.
144000
144001              Multiple Package Options:
144002
144003              pkgs   A  list of packages to delete. Must be passed as a python
144004                     list. The name parameter will be ignored if  this  option
144005                     is passed.
144006
144007              New in version 0.16.0.
144008
144009
144010              Returns a dict containing the changes.
144011
144012              CLI Example:
144013
144014                 salt '*' pkg.purge <package name>
144015                 salt '*' pkg.purge <package1>,<package2>,<package3>
144016                 salt '*' pkg.purge pkgs='["foo", "bar"]'
144017
144018       salt.modules.openbsdpkg.remove(name=None,    pkgs=None,    purge=False,
144019       **kwargs)
144020              Remove a single package with pkg_delete
144021
144022              Multiple Package Options:
144023
144024              pkgs   A list of packages to delete. Must be passed as a  python
144025                     list.  The  name parameter will be ignored if this option
144026                     is passed.
144027
144028              New in version 0.16.0.
144029
144030
144031              Returns a dict containing the changes.
144032
144033              CLI Example:
144034
144035                 salt '*' pkg.remove <package name>
144036                 salt '*' pkg.remove <package1>,<package2>,<package3>
144037                 salt '*' pkg.remove pkgs='["foo", "bar"]'
144038
144039       salt.modules.openbsdpkg.upgrade(name=None, pkgs=None, **kwargs)
144040              Run a full package upgrade (pkg_add -u), or upgrade  a  specific
144041              package  if name or pkgs is provided.  name is ignored when pkgs
144042              is specified.
144043
144044              Returns a dictionary containing the changes:
144045
144046              New in version Fluorine.
144047
144048
144049                 {'<package>': {'old': '<old-version>',
144050                                'new': '<new-version>'}}
144051
144052              CLI Example:
144053
144054                 salt '*' pkg.upgrade
144055                 salt '*' pkg.upgrade python%2.7
144056
144057       salt.modules.openbsdpkg.upgrade_available(name)
144058              Check whether or not an upgrade is available for a given package
144059
144060              New in version Fluorine.
144061
144062
144063              CLI Example:
144064
144065                 salt '*' pkg.upgrade_available <package name>
144066
144067       salt.modules.openbsdpkg.version(*names, **kwargs)
144068              Returns a string representing the package version  or  an  empty
144069              string if not installed. If more than one package name is speci‐
144070              fied, a dict of name/version pairs is returned.
144071
144072              CLI Example:
144073
144074                 salt '*' pkg.version <package name>
144075                 salt '*' pkg.version <package1> <package2> <package3> ...
144076
144077   salt.modules.openbsdrcctl
144078       The rcctl service module for OpenBSD
144079
144080       salt.modules.openbsdrcctl.available(name)
144081              Return True if the named service is available.
144082
144083              CLI Example:
144084
144085                 salt '*' service.available sshd
144086
144087       salt.modules.openbsdrcctl.disable(name, **kwargs)
144088              Disable the named service to not start at boot.
144089
144090              CLI Example:
144091
144092                 salt '*' service.disable <service name>
144093
144094       salt.modules.openbsdrcctl.disabled(name)
144095              Return True if the named service is disabled at boot, False oth‐
144096              erwise.
144097
144098              CLI Example:
144099
144100                 salt '*' service.disabled <service name>
144101
144102       salt.modules.openbsdrcctl.enable(name, **kwargs)
144103              Enable the named service to start at boot.
144104
144105              flags  None Set optional flags to run the service with.
144106
144107              service.flags can be used to change the default flags.
144108
144109              CLI Example:
144110
144111                 salt '*' service.enable <service name>
144112                 salt '*' service.enable <service name> flags=<flags>
144113
144114       salt.modules.openbsdrcctl.enabled(name, **kwargs)
144115              Return True if the named service is enabled at boot and the pro‐
144116              vided flags match the configured ones  (if  any).  Return  False
144117              otherwise.
144118
144119              name   Service name
144120
144121              CLI Example:
144122
144123                 salt '*' service.enabled <service name>
144124                 salt '*' service.enabled <service name> flags=<flags>
144125
144126       salt.modules.openbsdrcctl.get_all()
144127              Return all installed services.
144128
144129              CLI Example:
144130
144131                 salt '*' service.get_all
144132
144133       salt.modules.openbsdrcctl.get_disabled()
144134              Return  what  services are available but not enabled to start at
144135              boot.
144136
144137              CLI Example:
144138
144139                 salt '*' service.get_disabled
144140
144141       salt.modules.openbsdrcctl.get_enabled()
144142              Return what services are set to run on boot.
144143
144144              CLI Example:
144145
144146                 salt '*' service.get_enabled
144147
144148       salt.modules.openbsdrcctl.missing(name)
144149              The inverse of service.available.  Return True if the named ser‐
144150              vice is not available.
144151
144152              CLI Example:
144153
144154                 salt '*' service.missing sshd
144155
144156       salt.modules.openbsdrcctl.reload_(name)
144157              Reload the named service.
144158
144159              CLI Example:
144160
144161                 salt '*' service.reload <service name>
144162
144163       salt.modules.openbsdrcctl.restart(name)
144164              Restart the named service.
144165
144166              CLI Example:
144167
144168                 salt '*' service.restart <service name>
144169
144170       salt.modules.openbsdrcctl.start(name)
144171              Start the named service.
144172
144173              CLI Example:
144174
144175                 salt '*' service.start <service name>
144176
144177       salt.modules.openbsdrcctl.status(name, sig=None)
144178              Return the status for a service, returns a bool whether the ser‐
144179              vice is running.
144180
144181              CLI Example:
144182
144183                 salt '*' service.status <service name>
144184
144185       salt.modules.openbsdrcctl.stop(name)
144186              Stop the named service.
144187
144188              CLI Example:
144189
144190                 salt '*' service.stop <service name>
144191
144192   salt.modules.openbsdservice
144193       The service module for OpenBSD
144194
144195       IMPORTANT:
144196          If you feel that Salt should be using this module to manage services
144197          on  a  minion, and it is using a different module (or gives an error
144198          similar to 'service.start' is not available), see here.
144199
144200       salt.modules.openbsdservice.available(name)
144201              New in version 2014.7.0.
144202
144203
144204              Returns True if the specified service  is  available,  otherwise
144205              returns False.
144206
144207              CLI Example:
144208
144209                 salt '*' service.available sshd
144210
144211       salt.modules.openbsdservice.disabled(name)
144212              New in version 2014.7.0.
144213
144214
144215              Return True if the named service is disabled, false otherwise
144216
144217              CLI Example:
144218
144219                 salt '*' service.disabled <service name>
144220
144221       salt.modules.openbsdservice.enabled(name, **kwargs)
144222              New in version 2014.7.0.
144223
144224
144225              Return True if the named service is enabled, false otherwise
144226
144227              CLI Example:
144228
144229                 salt '*' service.enabled <service name>
144230
144231       salt.modules.openbsdservice.get_all()
144232              New in version 2014.7.0.
144233
144234
144235              Return all available boot services
144236
144237              CLI Example:
144238
144239                 salt '*' service.get_all
144240
144241       salt.modules.openbsdservice.get_disabled()
144242              New in version 2014.7.0.
144243
144244
144245              Return a set of services that are installed but disabled
144246
144247              CLI Example:
144248
144249                 salt '*' service.get_disabled
144250
144251       salt.modules.openbsdservice.get_enabled()
144252              New in version 2014.7.0.
144253
144254
144255              Return a list of service that are enabled on boot
144256
144257              CLI Example:
144258
144259                 salt '*' service.get_enabled
144260
144261       salt.modules.openbsdservice.missing(name)
144262              New in version 2014.7.0.
144263
144264
144265              The inverse of service.available.  Returns True if the specified
144266              service is not available, otherwise returns False.
144267
144268              CLI Example:
144269
144270                 salt '*' service.missing sshd
144271
144272       salt.modules.openbsdservice.reload_(name)
144273              New in version 2014.7.0.
144274
144275
144276              Reload the named service
144277
144278              CLI Example:
144279
144280                 salt '*' service.reload <service name>
144281
144282       salt.modules.openbsdservice.restart(name)
144283              Restart the named service
144284
144285              CLI Example:
144286
144287                 salt '*' service.restart <service name>
144288
144289       salt.modules.openbsdservice.start(name)
144290              Start the specified service
144291
144292              CLI Example:
144293
144294                 salt '*' service.start <service name>
144295
144296       salt.modules.openbsdservice.status(name, sig=None)
144297              Return the status for a service.  If the name contains globbing,
144298              a dict mapping service name to True/False values is returned.
144299
144300              Changed  in version 2018.3.0: The service name can now be a glob
144301              (e.g. salt*)
144302
144303
144304              Parameters
144305
144306                     · name (str) -- The name of the service to check
144307
144308                     · sig (str) -- Signature to use to find the  service  via
144309                       ps
144310
144311              Returns
144312                     True  if running, False otherwise dict: Maps service name
144313                     to True if running, False otherwise
144314
144315              Return type
144316                     bool
144317
144318              CLI Example:
144319
144320                 salt '*' service.status <service name> [service signature]
144321
144322       salt.modules.openbsdservice.stop(name)
144323              Stop the specified service
144324
144325              CLI Example:
144326
144327                 salt '*' service.stop <service name>
144328
144329   salt.modules.openscap module
144330       Module for OpenSCAP Management
144331
144332       salt.modules.openscap.xccdf(params)
144333              Run oscap xccdf commands on minions.   It  uses  cp.push_dir  to
144334              upload  the  generated  files to the salt master in the master's
144335              minion files cachedir (defaults  to  /var/cache/salt/master/min‐
144336              ions/minion-id/files)
144337
144338              It needs file_recv set to True in the master configuration file.
144339
144340              CLI Example:
144341
144342                 salt '*'  openscap.xccdf "eval --profile Default /usr/share/openscap/scap-yast2sec-xccdf.xml"
144343
144344   salt.modules.openstack_config
144345       Modify, retrieve, or delete values from OpenStack configuration files.
144346
144347       maintainer
144348              Jeffrey C. Ollie <jeff@ocjtech.us>
144349
144350       maturity
144351              new
144352
144353       depends
144354
144355       platform
144356              linux
144357
144358       salt.modules.openstack_config.delete(filename, section, parameter)
144359              Delete a value from an OpenStack configuration file.
144360
144361              filename
144362                     The full path to the configuration file
144363
144364              section
144365                     The section from which to delete the parameter
144366
144367              parameter
144368                     The parameter to delete
144369
144370              CLI Example:
144371
144372                 salt-call openstack_config.delete /etc/keystone/keystone.conf sql connection
144373
144374       salt.modules.openstack_config.get(filename, section, parameter)
144375              Get a value from an OpenStack configuration file.
144376
144377              filename
144378                     The full path to the configuration file
144379
144380              section
144381                     The section from which to search for the parameter
144382
144383              parameter
144384                     The parameter to return
144385
144386              CLI Example:
144387
144388                 salt-call openstack_config.get /etc/keystone/keystone.conf sql connection
144389
144390       salt.modules.openstack_config.set_(filename, section, parameter, value)
144391              Set a value in an OpenStack configuration file.
144392
144393              filename
144394                     The full path to the configuration file
144395
144396              section
144397                     The section in which the parameter will be set
144398
144399              parameter
144400                     The parameter to change
144401
144402              value  The value to set
144403
144404              CLI Example:
144405
144406                 salt-call openstack_config.set /etc/keystone/keystone.conf sql connection foo
144407
144408   salt.modules.openstack_mng module
144409       Module for OpenStack Management
144410
144411       codeauthor
144412              Konrad Mosoń <mosonkonrad@gmail.com>
144413
144414       maturity
144415              new
144416
144417       depends
144418              openstack-utils
144419
144420       platform
144421              linux
144422
144423       salt.modules.openstack_mng.restart_service(service_name,   minimum_run‐
144424       ning_time=None)
144425              Restart OpenStack service immediately, or only if  it's  running
144426              longer than specified value
144427
144428              CLI Example:
144429
144430                 salt '*' openstack_mng.restart_service neutron
144431                 salt '*' openstack_mng.restart_service neutron minimum_running_time=600
144432
144433       salt.modules.openstack_mng.start_service(service_name)
144434              Start OpenStack service immediately
144435
144436              CLI Example:
144437
144438                 salt '*' openstack_mng.start_service neutron
144439
144440       salt.modules.openstack_mng.stop_service(service_name)
144441              Stop OpenStack service immediately
144442
144443              CLI Example:
144444
144445                 salt '*' openstack_mng.stop_service neutron
144446
144447   salt.modules.openvswitch module
144448       Support for Open vSwitch - module with basic Open vSwitch commands.
144449
144450       Suitable for setting up Openstack Neutron.
144451
144452       codeauthor
144453              Jiri Kotlin <jiri.kotlin@ultimum.io>
144454
144455       salt.modules.openvswitch.bridge_create(br, may_exist=True)
144456              Creates a new bridge.
144457
144458              Parameters
144459
144460                     · br -- A string - bridge name
144461
144462                     · may_exist  --  Bool,  if False - attempting to create a
144463                       bridge that exists returns False.
144464
144465              Returns
144466                     True on success, else False.
144467
144468              New in version 2016.3.0.
144469
144470
144471              CLI Example:
144472                 salt '*' openvswitch.bridge_create br0
144473
144474       salt.modules.openvswitch.bridge_delete(br, if_exists=True)
144475              Deletes bridge and all of  its  ports.
144476
144477              Parameters
144478
144479                     · br -- A string - bridge name
144480
144481                     · if_exists -- Bool, if False - attempting  to  delete  a
144482                       bridge that does not exist returns False.
144483
144484              Returns
144485                     True on success, else False.
144486
144487              New in version 2016.3.0.
144488
144489
144490              CLI Example:
144491                 salt '*' openvswitch.bridge_delete br0
144492
144493       salt.modules.openvswitch.bridge_exists(br)
144494              Tests whether bridge exists as a real or fake  bridge.
144495
144496              Returns
144497                     True if Bridge exists, else False.
144498
144499              New in version 2016.3.0.
144500
144501
144502              CLI Example:
144503                 salt '*' openvswitch.bridge_exists br0
144504
144505       salt.modules.openvswitch.bridge_list()
144506              Lists all existing real and fake bridges.
144507
144508              Returns
144509                     List of bridges (or empty list), False on failure.
144510
144511              New in version 2016.3.0.
144512
144513
144514              CLI Example:
144515                 salt '*' openvswitch.bridge_list
144516
144517       salt.modules.openvswitch.interface_get_options(port)
144518              Port's interface's optional parameters.
144519
144520              Parameters
144521                     port -- A string - port name.
144522
144523              Returns
144524                     String  containing  optional  parameters of port's inter‐
144525                     face, False on failure.
144526
144527              New in version 2016.3.0.
144528
144529
144530              CLI Example:
144531                 salt '*' openvswitch.interface_get_options tap0
144532
144533       salt.modules.openvswitch.interface_get_type(port)
144534              Type of port's interface.
144535
144536              Parameters
144537                     port -- A string - port name.
144538
144539              Returns
144540                     String - type of interface  or  empty  string,  False  on
144541                     failure.
144542
144543              New in version 2016.3.0.
144544
144545
144546              CLI Example:
144547                 salt '*' openvswitch.interface_get_type tap0
144548
144549       salt.modules.openvswitch.port_add(br, port, may_exist=False)
144550              Creates on bridge a new port named port.
144551
144552              Returns
144553                     True on success, else False.
144554
144555              Parameters
144556
144557                     · br -- A string - bridge name
144558
144559                     · port -- A string - port name
144560
144561                     · may_exist  --  Bool,  if False - attempting to create a
144562                       port that exists returns False.
144563
144564              New in version 2016.3.0.
144565
144566
144567              CLI Example:
144568                 salt '*' openvswitch.port_add br0 8080
144569
144570       salt.modules.openvswitch.port_create_gre(br, port, id, remote)
144571              Generic Routing Encapsulation - creates GRE tunnel between  end‐
144572              points.
144573
144574              Parameters
144575
144576                     · br -- A string - bridge name.
144577
144578                     · port -- A string - port name.
144579
144580                     · id  --  An  integer  - unsigned 32-bit number, tunnel's
144581                       key.
144582
144583                     · remote -- A string - remote endpoint's IP address.
144584
144585              Returns
144586                     True on success, else False.
144587
144588              New in version 2016.3.0.
144589
144590
144591              CLI Example:
144592                 salt   '*'   openvswitch.port_create_gre   br0   gre1    5001
144593                 192.168.1.10
144594
144595       salt.modules.openvswitch.port_create_vlan(br, port, id, internal=False)
144596              Isolate VM traffic using VLANs.
144597
144598              Parameters
144599
144600                     · br -- A string - bridge name.
144601
144602                     · port -- A string - port name.
144603
144604                     · id  --  An integer in the valid range 0 to 4095 (inclu‐
144605                       sive), name of VLAN.
144606
144607                     · internal -- A boolean to create an  internal  interface
144608                       if one does not exist.
144609
144610              Returns
144611                     True on success, else False.
144612
144613              New in version 2016.3.0.
144614
144615
144616              CLI Example:
144617                 salt '*' openvswitch.port_create_vlan br0 tap0 100
144618
144619       salt.modules.openvswitch.port_create_vxlan(br,    port,   id,   remote,
144620       dst_port=None)
144621              Virtual eXtensible Local Area Network  -  creates  VXLAN  tunnel
144622              between endpoints.
144623
144624              Parameters
144625
144626                     · br -- A string - bridge name.
144627
144628                     · port -- A string - port name.
144629
144630                     · id  --  An  integer  - unsigned 64-bit number, tunnel's
144631                       key.
144632
144633                     · remote -- A string - remote endpoint's IP address.
144634
144635                     · dst_port -- An integer - port to use when creating tun‐
144636                       nelport in the switch.
144637
144638              Returns
144639                     True on success, else False.
144640
144641              New in version 2016.3.0.
144642
144643
144644              CLI Example:
144645                 salt   '*'   openvswitch.port_create_vxlan   br0   vx1   5001
144646                 192.168.1.10 8472
144647
144648       salt.modules.openvswitch.port_get_tag(port)
144649              Lists tags of the port.
144650
144651              Parameters
144652                     port -- A string - port name.
144653
144654              Returns
144655                     List of tags (or empty list), False on failure.
144656
144657              New in version 2016.3.0.
144658
144659
144660              CLI Example:
144661                 salt '*' openvswitch.port_get_tag tap0
144662
144663       salt.modules.openvswitch.port_list(br)
144664              Lists all of the ports within bridge.
144665
144666              Parameters
144667                     br -- A string - bridge name.
144668
144669              Returns
144670                     List of bridges (or empty list), False on failure.
144671
144672              New in version 2016.3.0.
144673
144674
144675              CLI Example:
144676                 salt '*' openvswitch.port_list br0
144677
144678       salt.modules.openvswitch.port_remove(br, port, if_exists=True)
144679                 Deletes port.
144680
144681              Parameters
144682
144683                     · br -- A string - bridge name (If bridge is  None,  port
144684                       is removed from  whatever bridge contains it)
144685
144686                     · port -- A string - port name.
144687
144688                     · if_exists  --  Bool,  if False - attempting to delete a
144689                       por that  does  not exist returns False. (Default True)
144690
144691              Returns
144692                     True on success, else False.
144693
144694              New in version 2016.3.0.
144695
144696
144697              CLI Example:
144698                 salt '*' openvswitch.port_remove br0 8080
144699
144700   salt.modules.opkg module
144701       Support for Opkg
144702
144703       IMPORTANT:
144704          If you feel that Salt should be using this module to manage packages
144705          on  a  minion, and it is using a different module (or gives an error
144706          similar to 'pkg.install' is not available), see here.
144707
144708       NOTE:
144709          For version comparison support on opkg < 0.3.4, the opkg-utils pack‐
144710          age must be installed.
144711
144712       salt.modules.opkg.available_version(*names, **kwargs)
144713              Return  the  latest  version  of the named package available for
144714              upgrade or installation. If more than one package name is speci‐
144715              fied, a dict of name/version pairs is returned.
144716
144717              If  the  latest version of a given package is already installed,
144718              an empty string will be returned for that package.
144719
144720              CLI Example:
144721
144722                 salt '*' pkg.latest_version <package name>
144723                 salt '*' pkg.latest_version <package name>
144724                 salt '*' pkg.latest_version <package1> <package2> <package3> ...
144725
144726       salt.modules.opkg.del_repo(alias, **kwargs)
144727              Delete a repo from /etc/opkg/*.conf
144728
144729              If the file does not contain any other repo  configuration,  the
144730              file itself will be deleted.
144731
144732              CLI Examples:
144733
144734                 salt '*' pkg.del_repo alias
144735
144736       salt.modules.opkg.file_dict(*packages, **kwargs)
144737              List the files that belong to a package, grouped by package. Not
144738              specifying any packages will return a list of  _every_  file  on
144739              the system's package database (not generally recommended).
144740
144741              CLI Examples:
144742
144743                 salt '*' pkg.file_list httpd
144744                 salt '*' pkg.file_list httpd postfix
144745                 salt '*' pkg.file_list
144746
144747       salt.modules.opkg.file_list(*packages, **kwargs)
144748              List  the  files  that  belong  to a package. Not specifying any
144749              packages will return a list of  _every_  file  on  the  system's
144750              package database (not generally recommended).
144751
144752              CLI Examples:
144753
144754                 salt '*' pkg.file_list httpd
144755                 salt '*' pkg.file_list httpd postfix
144756                 salt '*' pkg.file_list
144757
144758       salt.modules.opkg.get_repo(alias, **kwargs)
144759              Display a repo from the /etc/opkg/*.conf
144760
144761              CLI Examples:
144762
144763                 salt '*' pkg.get_repo alias
144764
144765       salt.modules.opkg.hold(name=None, pkgs=None, sources=None, **kwargs)
144766              Set package in 'hold' state, meaning it will not be upgraded.
144767
144768              name   The name of the package, e.g., 'tmux'
144769
144770                     CLI Example:
144771
144772                        salt '*' pkg.hold <package name>
144773
144774              pkgs   A  list  of  packages to hold. Must be passed as a python
144775                     list.
144776
144777                     CLI Example:
144778
144779                        salt '*' pkg.hold pkgs='["foo", "bar"]'
144780
144781       salt.modules.opkg.info_installed(*names, **kwargs)
144782              Return the information of the named package(s), installed on the
144783              system.
144784
144785              New in version 2017.7.0.
144786
144787
144788              Parameters
144789
144790                     · names  --  Names  of  the  packages  to get information
144791                       about. If none are specified, will  return  information
144792                       for all installed packages.
144793
144794                     · attr --
144795
144796                       Comma-separated  package  attributes.  If  no 'attr' is
144797                       specified, all available attributes returned.
144798
144799                       Valid attributes are:
144800                              arch, conffiles,  conflicts,  depends,  descrip‐
144801                              tion,   filename,   group,  install_date_time_t,
144802                              md5sum,    packager,    provides,    recommends,
144803                              replaces, size, source, suggests, url, version
144804
144805
144806              CLI example:
144807
144808                 salt '*' pkg.info_installed
144809                 salt '*' pkg.info_installed attr=version,packager
144810                 salt '*' pkg.info_installed <package1>
144811                 salt '*' pkg.info_installed <package1> <package2> <package3> ...
144812                 salt '*' pkg.info_installed <package1> attr=version,packager
144813                 salt '*' pkg.info_installed <package1> <package2> <package3> ... attr=version,packager
144814
144815       salt.modules.opkg.install(name=None,      refresh=False,     pkgs=None,
144816       sources=None, reinstall=False, **kwargs)
144817              Install the passed package, add refresh=True to update the  opkg
144818              database.
144819
144820              name   The  name  of the package to be installed. Note that this
144821                     parameter is ignored if either  "pkgs"  or  "sources"  is
144822                     passed.  Additionally,  please  note that this option can
144823                     only be used to install packages from a software  reposi‐
144824                     tory.  To  install  a  package  file  manually,  use  the
144825                     "sources" option.
144826
144827                     CLI Example:
144828
144829                        salt '*' pkg.install <package name>
144830
144831              refresh
144832                     Whether or not to refresh  the  package  database  before
144833                     installing.
144834
144835              version
144836                     Install   a   specific   version  of  the  package,  e.g.
144837                     1.2.3~0ubuntu0. Ignored if "pkgs" or "sources" is passed.
144838
144839                     New in version 2017.7.0.
144840
144841
144842              reinstall
144843                     False Specifying reinstall=True  will  use  opkg  install
144844                     --force-reinstall  rather  than  simply  opkg install for
144845                     requested packages that are already installed.
144846
144847                     If a version is specified  with  the  requested  package,
144848                     then  opkg install --force-reinstall will only be used if
144849                     the installed version matches the requested version.
144850
144851                     New in version 2017.7.0.
144852
144853
144854              Multiple Package Installation Options:
144855
144856              pkgs   A list of packages to install from a software repository.
144857                     Must be passed as a python list.
144858
144859                     CLI Example:
144860
144861                        salt '*' pkg.install pkgs='["foo", "bar"]'
144862                        salt '*' pkg.install pkgs='["foo", {"bar": "1.2.3-0ubuntu0"}]'
144863
144864              sources
144865                     A  list  of  IPK packages to install. Must be passed as a
144866                     list of dicts, with the keys being package names, and the
144867                     values being the source URI or local path to the package.
144868                     Dependencies are automatically  resolved  and  marked  as
144869                     auto-installed.
144870
144871                     CLI Example:
144872
144873                        salt '*' pkg.install sources='[{"foo": "salt://foo.deb"},{"bar": "salt://bar.deb"}]'
144874
144875              install_recommends
144876                     Whether  to  install  the packages marked as recommended.
144877                     Default is True.
144878
144879              only_upgrade
144880                     Only upgrade the packages (disallow downgrades), if  they
144881                     are already installed. Default is False.
144882
144883                     New in version 2017.7.0.
144884
144885
144886              Returns a dict containing the new package names and versions:
144887
144888                 {'<package>': {'old': '<old-version>',
144889                                'new': '<new-version>'}}
144890
144891       salt.modules.opkg.latest_version(*names, **kwargs)
144892              Return  the  latest  version  of the named package available for
144893              upgrade or installation. If more than one package name is speci‐
144894              fied, a dict of name/version pairs is returned.
144895
144896              If  the  latest version of a given package is already installed,
144897              an empty string will be returned for that package.
144898
144899              CLI Example:
144900
144901                 salt '*' pkg.latest_version <package name>
144902                 salt '*' pkg.latest_version <package name>
144903                 salt '*' pkg.latest_version <package1> <package2> <package3> ...
144904
144905       salt.modules.opkg.list_pkgs(versions_as_list=False, **kwargs)
144906              List the packages currently installed in a dict:
144907
144908                 {'<package_name>': '<version>'}
144909
144910              CLI Example:
144911
144912                 salt '*' pkg.list_pkgs
144913                 salt '*' pkg.list_pkgs versions_as_list=True
144914
144915       salt.modules.opkg.list_repos(**kwargs)
144916              Lists all repos on /etc/opkg/*.conf
144917
144918              CLI Example:
144919
144920                 salt '*' pkg.list_repos
144921
144922       salt.modules.opkg.list_upgrades(refresh=True, **kwargs)
144923              List all available package upgrades.
144924
144925              CLI Example:
144926
144927                 salt '*' pkg.list_upgrades
144928
144929       salt.modules.opkg.mod_repo(alias, **kwargs)
144930              Modify one or more values for a repo.   If  the  repo  does  not
144931              exist, it will be created, so long as uri is defined.
144932
144933              The following options are available to modify a repo definition:
144934
144935              alias  alias by which opkg refers to the repo.
144936
144937              uri    the URI to the repo.
144938
144939              compressed
144940                     defines (True or False) if the index file is compressed
144941
144942              enabled
144943                     enable  or  disable (True or False) repository but do not
144944                     remove if disabled.
144945
144946              refresh
144947                     enable or disable (True or  False)  auto-refresh  of  the
144948                     repositories
144949
144950              CLI Examples:
144951
144952                 salt '*' pkg.mod_repo alias uri=http://new/uri
144953                 salt '*' pkg.mod_repo alias enabled=False
144954
144955       salt.modules.opkg.owner(*paths, **kwargs)
144956              Return the name of the package that owns the file. Multiple file
144957              paths can be passed.  Like  pkg.version  <salt.modules.opkg.ver‐
144958              sion, if a single path is passed, a string will be returned, and
144959              if multiple paths are passed, a dictionary of file/package  name
144960              pairs will be returned.
144961
144962              If  the file is not owned by a package, or is not present on the
144963              minion, then an empty string will be returned for that path.
144964
144965              CLI Example:
144966                 salt '*'  pkg.owner  /usr/bin/apachectl  salt  '*'  pkg.owner
144967                 /usr/bin/apachectl /usr/bin/basename
144968
144969       salt.modules.opkg.purge(name=None, pkgs=None, **kwargs)
144970              Package purges are not supported by opkg, this function is iden‐
144971              tical to pkg.remove.
144972
144973              name   The name of the package to be deleted.
144974
144975              Multiple Package Options:
144976
144977              pkgs   A list of packages to delete. Must be passed as a  python
144978                     list.  The  name parameter will be ignored if this option
144979                     is passed.
144980
144981              Returns a dict containing the changes.
144982
144983              CLI Example:
144984
144985                 salt '*' pkg.purge <package name>
144986                 salt '*' pkg.purge <package1>,<package2>,<package3>
144987                 salt '*' pkg.purge pkgs='["foo", "bar"]'
144988
144989       salt.modules.opkg.refresh_db(failhard=False, **kwargs)
144990              Updates the opkg database to latest packages based upon  reposi‐
144991              tories
144992
144993              Returns  a  dict,  with the keys being package databases and the
144994              values being the result of the update attempt. Values can be one
144995              of the following:
144996
144997              · True: Database updated successfully
144998
144999              · False: Problem updating database
145000
145001              failhard
145002                     If False, return results of failed lines as False for the
145003                     package database that encountered the  error.   If  True,
145004                     raise  an error with a list of the package databases that
145005                     encountered errors.
145006
145007                     New in version 2018.3.0.
145008
145009
145010              CLI Example:
145011
145012                 salt '*' pkg.refresh_db
145013
145014       salt.modules.opkg.remove(name=None, pkgs=None, **kwargs)
145015              Remove packages using opkg remove.
145016
145017              name   The name of the package to be deleted.
145018
145019              Multiple Package Options:
145020
145021              pkgs   A list of packages to delete. Must be passed as a  python
145022                     list.  The  name parameter will be ignored if this option
145023                     is passed.
145024
145025              remove_dependencies
145026                     Remove package and all dependencies
145027
145028                     New in version Fluorine.
145029
145030
145031              auto_remove_deps
145032                     Remove packages that were installed automatically to sat‐
145033                     isfy dependencies
145034
145035                     New in version Fluorine.
145036
145037
145038              Returns a dict containing the changes.
145039
145040              CLI Example:
145041
145042                 salt '*' pkg.remove <package name>
145043                 salt '*' pkg.remove <package1>,<package2>,<package3>
145044                 salt '*' pkg.remove pkgs='["foo", "bar"]'
145045                 salt '*' pkg.remove pkgs='["foo", "bar"]' remove_dependencies=True auto_remove_deps=True
145046
145047       salt.modules.opkg.unhold(name=None, pkgs=None, sources=None, **kwargs)
145048              Set package current in 'hold' state to install state, meaning it
145049              will be upgraded.
145050
145051              name   The name of the package, e.g., 'tmux'
145052
145053                     CLI Example:
145054
145055                        salt '*' pkg.unhold <package name>
145056
145057              pkgs   A list of packages to hold. Must be passed  as  a  python
145058                     list.
145059
145060                     CLI Example:
145061
145062                        salt '*' pkg.unhold pkgs='["foo", "bar"]'
145063
145064       salt.modules.opkg.upgrade(refresh=True, **kwargs)
145065              Upgrades all packages via opkg upgrade
145066
145067              Returns a dictionary containing the changes:
145068
145069                 {'<package>':  {'old': '<old-version>',
145070                                 'new': '<new-version>'}}
145071
145072              CLI Example:
145073
145074                 salt '*' pkg.upgrade
145075
145076       salt.modules.opkg.upgrade_available(name, **kwargs)
145077              Check whether or not an upgrade is available for a given package
145078
145079              CLI Example:
145080
145081                 salt '*' pkg.upgrade_available <package name>
145082
145083       salt.modules.opkg.version(*names, **kwargs)
145084              Returns  a  string  representing the package version or an empty
145085              string if not installed. If more than one package name is speci‐
145086              fied, a dict of name/version pairs is returned.
145087
145088              CLI Example:
145089
145090                 salt '*' pkg.version <package name>
145091                 salt '*' pkg.version <package1> <package2> <package3> ...
145092
145093       salt.modules.opkg.version_cmp(pkg1, pkg2, ignore_epoch=False, **kwargs)
145094              Do  a  cmp-style comparison on two packages. Return -1 if pkg1 <
145095              pkg2, 0 if pkg1 == pkg2, and 1 if pkg1 > pkg2.  Return  None  if
145096              there was a problem making the comparison.
145097
145098              ignore_epoch
145099                     False Set to True to ignore the epoch when comparing ver‐
145100                     sions
145101
145102                     New in version 2016.3.4.
145103
145104
145105              CLI Example:
145106
145107                 salt '*' pkg.version_cmp '0.2.4-0' '0.2.4.1-0'
145108
145109   salt.modules.opsgenie
145110       Module for sending data to OpsGenie
145111
145112       New in version 2018.3.0.
145113
145114
145115       configuration
145116              This module can be used in Reactor System for  posting  data  to
145117              OpsGenie as a remote-execution function.
145118
145119              For example:
145120
145121                 opsgenie_event_poster:
145122                   local.opsgenie.post_data:
145123                     - tgt: 'salt-minion'
145124                     - kwarg:
145125                         name: event.reactor
145126                         api_key: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
145127                         reason: {{ data['data']['reason'] }}
145128                         action_type: Create
145129
145130       salt.modules.opsgenie.post_data(api_key=None, name=u'OpsGenie Execution
145131       Module', reason=None, action_type=None)
145132              Post data to OpsGenie. It's designed for Salt's Event Reactor.
145133
145134              After configuring the sls reaction file as shown above, you  can
145135              trigger  the  module  with  your  designated tag (og-tag in this
145136              case).
145137
145138              CLI Example:
145139
145140                 salt-call event.send 'og-tag' '{"reason" : "Overheating CPU!"}'
145141
145142              Required parameters:
145143
145144              api_key
145145                     It's the API Key you've copied while  adding  integration
145146                     in OpsGenie.
145147
145148              reason It will be used as alert's default message in OpsGenie.
145149
145150              action_type
145151                     OpsGenie  supports  the  default  values Create/Close for
145152                     action_type. You can customize this field with OpsGenie's
145153                     custom  actions  for  other purposes like adding notes or
145154                     acknowledging alerts.
145155
145156              Optional parameters:
145157
145158              name   It will be used as alert's alias. If you want to use  the
145159                     close  functionality you must provide name field for both
145160                     states like in this case.
145161
145162   salt.modules.oracle
145163       Oracle DataBase connection module
145164
145165       maintainer
145166              Vladimir Bormotov <bormotov@gmail.com>
145167
145168       maturity
145169              new
145170
145171       depends
145172              cx_Oracle
145173
145174       platform
145175              all
145176
145177       configuration
145178              module provide connections for multiple Oracle DB instances.
145179
145180              OS Environment
145181
145182                 ORACLE_HOME: path to oracle product
145183                 PATH: path to Oracle Client libs need to be in PATH
145184
145185              pillar
145186
145187                 oracle:
145188                   dbs:
145189                     <db>:
145190                       uri: connection credentials in format:
145191                     user/password@host[:port]/sid[ servicename as {sysdba|sysoper}]
145192                       optional keyword servicename will determine whether it is a sid or service_name
145193                     <db>:
145194                       uri: .....
145195
145196       salt.modules.oracle.client_version()
145197              Oracle Client Version
145198
145199              CLI Example:
145200
145201                 salt '*' oracle.client_version
145202
145203       salt.modules.oracle.run_query(db, query)
145204              Run SQL query and return result
145205
145206              CLI Example:
145207
145208                 salt '*' oracle.run_query my_db "select * from my_table"
145209
145210       salt.modules.oracle.show_dbs(*dbs)
145211              Show databases configuration from pillar. Filter by *args
145212
145213              CLI Example:
145214
145215                 salt '*' oracle.show_dbs
145216                 salt '*' oracle.show_dbs my_db
145217
145218       salt.modules.oracle.show_env()
145219              Show Environment used by Oracle Client
145220
145221              CLI Example:
145222
145223                 salt '*' oracle.show_env
145224
145225              NOTE:
145226                 at first _connect() NLS_LANG will forced to '.AL32UTF8'
145227
145228       salt.modules.oracle.show_pillar(item=None)
145229              Show  Pillar  segment  oracle.*  and   subitem   with   notation
145230              "item:subitem"
145231
145232              CLI Example:
145233
145234                 salt '*' oracle.show_pillar
145235                 salt '*' oracle.show_pillar dbs:my_db
145236
145237       salt.modules.oracle.version(*dbs)
145238              Server Version (select banner  from v$version)
145239
145240              CLI Example:
145241
145242                 salt '*' oracle.version
145243                 salt '*' oracle.version my_db
145244
145245   salt.modules.osquery
145246       Support for OSQuery - https://osquery.io.
145247
145248       New in version 2015.8.0.
145249
145250
145251       salt.modules.osquery.acpi_tables(attrs=None, where=None)
145252              Return acpi_tables information from osquery
145253
145254              CLI Example:
145255
145256                 salt '*' osquery.acpi_tables
145257
145258       salt.modules.osquery.alf(attrs=None, where=None)
145259              Return alf information from osquery
145260
145261              CLI Example:
145262
145263                 salt '*' osquery.alf
145264
145265       salt.modules.osquery.alf_exceptions(attrs=None, where=None)
145266              Return alf_exceptions information from osquery
145267
145268              CLI Example:
145269
145270                 salt '*' osquery.alf_exceptions
145271
145272       salt.modules.osquery.alf_explicit_auths(attrs=None, where=None)
145273              Return alf_explicit_auths information from osquery
145274
145275              CLI Example:
145276
145277                 salt '*' osquery.alf_explicit_auths
145278
145279       salt.modules.osquery.alf_services(attrs=None, where=None)
145280              Return alf_services information from osquery
145281
145282              CLI Example:
145283
145284                 salt '*' osquery.alf_services
145285
145286       salt.modules.osquery.apps(attrs=None, where=None)
145287              Return apps information from osquery
145288
145289              CLI Example:
145290
145291                 salt '*' osquery.apps
145292
145293       salt.modules.osquery.apt_sources(attrs=None, where=None)
145294              Return apt_sources information from osquery
145295
145296              CLI Example:
145297
145298                 salt '*' osquery.apt_sources
145299
145300       salt.modules.osquery.arp_cache(attrs=None, where=None)
145301              Return arp_cache information from osquery
145302
145303              CLI Example:
145304
145305                 salt '*' osquery.arp_cache
145306
145307       salt.modules.osquery.block_devices(attrs=None, where=None)
145308              Return block_devices information from osquery
145309
145310              CLI Example:
145311
145312                 salt '*' osquery.block_devices
145313
145314       salt.modules.osquery.certificates(attrs=None, where=None)
145315              Return certificates information from osquery
145316
145317              CLI Example:
145318
145319                 salt '*' osquery.certificates
145320
145321       salt.modules.osquery.chrome_extensions(attrs=None, where=None)
145322              Return chrome_extensions information from osquery
145323
145324              CLI Example:
145325
145326                 salt '*' osquery.chrome_extensions
145327
145328       salt.modules.osquery.cpuid(attrs=None, where=None)
145329              Return cpuid information from osquery
145330
145331              CLI Example:
145332
145333                 salt '*' osquery.cpuid
145334
145335       salt.modules.osquery.crontab(attrs=None, where=None)
145336              Return crontab information from osquery
145337
145338              CLI Example:
145339
145340                 salt '*' osquery.crontab
145341
145342       salt.modules.osquery.deb_packages(attrs=None, where=None)
145343              Return deb_packages information from osquery
145344
145345              CLI Example:
145346
145347                 salt '*' osquery.deb_packages
145348
145349       salt.modules.osquery.etc_hosts(attrs=None, where=None)
145350              Return etc_hosts information from osquery
145351
145352              CLI Example:
145353
145354                 salt '*' osquery.etc_hosts
145355
145356       salt.modules.osquery.etc_services(attrs=None, where=None)
145357              Return etc_services information from osquery
145358
145359              CLI Example:
145360
145361                 salt '*' osquery.etc_services
145362
145363       salt.modules.osquery.file_(attrs=None, where=None)
145364              Return file information from osquery
145365
145366              CLI Example:
145367
145368                 salt '*' osquery.file
145369
145370       salt.modules.osquery.file_changes(attrs=None, where=None)
145371              Return file_changes information from osquery
145372
145373              CLI Example:
145374
145375                 salt '*' osquery.file_changes
145376
145377       salt.modules.osquery.firefox_addons(attrs=None, where=None)
145378              Return firefox_addons information from osquery
145379
145380              CLI Example:
145381
145382                 salt '*' osquery.firefox_addons
145383
145384       salt.modules.osquery.groups(attrs=None, where=None)
145385              Return groups information from osquery
145386
145387              CLI Example:
145388
145389                 salt '*' osquery.groups
145390
145391       salt.modules.osquery.hardware_events(attrs=None, where=None)
145392              Return hardware_events information from osquery
145393
145394              CLI Example:
145395
145396                 salt '*' osquery.hardware_events
145397
145398       salt.modules.osquery.hash_(attrs=None, where=None)
145399              Return hash information from osquery
145400
145401              CLI Example:
145402
145403                 salt '*' osquery.hash
145404
145405       salt.modules.osquery.homebrew_packages(attrs=None, where=None)
145406              Return homebrew_packages information from osquery
145407
145408              CLI Example:
145409
145410                 salt '*' osquery.homebrew_packages
145411
145412       salt.modules.osquery.interface_addresses(attrs=None, where=None)
145413              Return interface_addresses information from osquery
145414
145415              CLI Example:
145416
145417                 salt '*' osquery.interface_addresses
145418
145419       salt.modules.osquery.interface_details(attrs=None, where=None)
145420              Return interface_details information from osquery
145421
145422              CLI Example:
145423
145424                 salt '*' osquery.interface_details
145425
145426       salt.modules.osquery.iokit_devicetree(attrs=None, where=None)
145427              Return iokit_devicetree information from osquery
145428
145429              CLI Example:
145430
145431                 salt '*' osquery.iokit_devicetree
145432
145433       salt.modules.osquery.iokit_registry(attrs=None, where=None)
145434              Return iokit_registry information from osquery
145435
145436              CLI Example:
145437
145438                 salt '*' osquery.iokit_registry
145439
145440       salt.modules.osquery.kernel_extensions(attrs=None, where=None)
145441              Return kernel_extensions information from osquery
145442
145443              CLI Example:
145444
145445                 salt '*' osquery.kernel_extensions
145446
145447       salt.modules.osquery.kernel_info(attrs=None, where=None)
145448              Return kernel_info information from osquery
145449
145450              CLI Example:
145451
145452                 salt '*' osquery.kernel_info
145453
145454       salt.modules.osquery.kernel_integrity(attrs=None, where=None)
145455              Return kernel_integrity information from osquery
145456
145457              CLI Example:
145458
145459                 salt '*' osquery.kernel_integrity
145460
145461       salt.modules.osquery.kernel_modules(attrs=None, where=None)
145462              Return kernel_modules information from osquery
145463
145464              CLI Example:
145465
145466                 salt '*' osquery.kernel_modules
145467
145468       salt.modules.osquery.keychain_items(attrs=None, where=None)
145469              Return keychain_items information from osquery
145470
145471              CLI Example:
145472
145473                 salt '*' osquery.keychain_items
145474
145475       salt.modules.osquery.last(attrs=None, where=None)
145476              Return last information from osquery
145477
145478              CLI Example:
145479
145480                 salt '*' osquery.last
145481
145482       salt.modules.osquery.launchd(attrs=None, where=None)
145483              Return launchd information from osquery
145484
145485              CLI Example:
145486
145487                 salt '*' osquery.launchd
145488
145489       salt.modules.osquery.listening_ports(attrs=None, where=None)
145490              Return listening_ports information from osquery
145491
145492              CLI Example:
145493
145494                 salt '*' osquery.listening_ports
145495
145496       salt.modules.osquery.logged_in_users(attrs=None, where=None)
145497              Return logged_in_users information from osquery
145498
145499              CLI Example:
145500
145501                 salt '*' osquery.logged_in_users
145502
145503       salt.modules.osquery.memory_map(attrs=None, where=None)
145504              Return memory_map information from osquery
145505
145506              CLI Example:
145507
145508                 salt '*' osquery.memory_map
145509
145510       salt.modules.osquery.mounts(attrs=None, where=None)
145511              Return mounts information from osquery
145512
145513              CLI Example:
145514
145515                 salt '*' osquery.mounts
145516
145517       salt.modules.osquery.nfs_shares(attrs=None, where=None)
145518              Return nfs_shares information from osquery
145519
145520              CLI Example:
145521
145522                 salt '*' osquery.nfs_shares
145523
145524       salt.modules.osquery.nvram(attrs=None, where=None)
145525              Return nvram information from osquery
145526
145527              CLI Example:
145528
145529                 salt '*' osquery.nvram
145530
145531       salt.modules.osquery.os_version(attrs=None, where=None)
145532              Return os_version information from osquery
145533
145534              CLI Example:
145535
145536                 salt '*' osquery.os_version
145537
145538       salt.modules.osquery.osquery_extensions(attrs=None, where=None)
145539              Return osquery_extensions information from osquery
145540
145541              CLI Example:
145542
145543                 salt '*' osquery.osquery_extensions
145544
145545       salt.modules.osquery.osquery_flags(attrs=None, where=None)
145546              Return osquery_flags information from osquery
145547
145548              CLI Example:
145549
145550                 salt '*' osquery.osquery_flags
145551
145552       salt.modules.osquery.osquery_info(attrs=None, where=None)
145553              Return osquery_info information from osquery
145554
145555              CLI Example:
145556
145557                 salt '*' osquery.osquery_info
145558
145559       salt.modules.osquery.osquery_registry(attrs=None, where=None)
145560              Return osquery_registry information from osquery
145561
145562              CLI Example:
145563
145564                 salt '*' osquery.osquery_registry
145565
145566       salt.modules.osquery.passwd_changes(attrs=None, where=None)
145567              Return passwd_changes information from osquery
145568
145569              CLI Example:
145570
145571                 salt '*' osquery.passwd_changes
145572
145573       salt.modules.osquery.pci_devices(attrs=None, where=None)
145574              Return pci_devices information from osquery
145575
145576              CLI Example:
145577
145578                 salt '*' osquery.pci_devices
145579
145580       salt.modules.osquery.preferences(attrs=None, where=None)
145581              Return preferences information from osquery
145582
145583              CLI Example:
145584
145585                 salt '*' osquery.preferences
145586
145587       salt.modules.osquery.process_envs(attrs=None, where=None)
145588              Return process_envs information from osquery
145589
145590              CLI Example:
145591
145592                 salt '*' osquery.process_envs
145593
145594       salt.modules.osquery.process_memory_map(attrs=None, where=None)
145595              Return process_memory_map information from osquery
145596
145597              CLI Example:
145598
145599                 salt '*' osquery.process_memory_map
145600
145601       salt.modules.osquery.process_open_files(attrs=None, where=None)
145602              Return process_open_files information from osquery
145603
145604              CLI Example:
145605
145606                 salt '*' osquery.process_open_files
145607
145608       salt.modules.osquery.process_open_sockets(attrs=None, where=None)
145609              Return process_open_sockets information from osquery
145610
145611              CLI Example:
145612
145613                 salt '*' osquery.process_open_sockets
145614
145615       salt.modules.osquery.processes(attrs=None, where=None)
145616              Return processes information from osquery
145617
145618              CLI Example:
145619
145620                 salt '*' osquery.processes
145621
145622       salt.modules.osquery.quarantine(attrs=None, where=None)
145623              Return quarantine information from osquery
145624
145625              CLI Example:
145626
145627                 salt '*' osquery.quarantine
145628
145629       salt.modules.osquery.query(sql=None)
145630              Return time information from osquery
145631
145632              CLI Example:
145633
145634                 salt '*' osquery.query "select * from users;"
145635
145636       salt.modules.osquery.routes(attrs=None, where=None)
145637              Return routes information from osquery
145638
145639              CLI Example:
145640
145641                 salt '*' osquery.routes
145642
145643       salt.modules.osquery.rpm_packages(attrs=None, where=None)
145644              Return cpuid information from osquery
145645
145646              CLI Example:
145647
145648                 salt '*' osquery.rpm_packages
145649
145650       salt.modules.osquery.safari_extensions(attrs=None, where=None)
145651              Return safari_extensions information from osquery
145652
145653              CLI Example:
145654
145655                 salt '*' osquery.safari_extensions
145656
145657       salt.modules.osquery.shared_memory(attrs=None, where=None)
145658              Return shared_memory information from osquery
145659
145660              CLI Example:
145661
145662                 salt '*' osquery.shared_memory
145663
145664       salt.modules.osquery.shell_history(attrs=None, where=None)
145665              Return shell_history information from osquery
145666
145667              CLI Example:
145668
145669                 salt '*' osquery.shell_history
145670
145671       salt.modules.osquery.smbios_tables(attrs=None, where=None)
145672              Return smbios_tables information from osquery
145673
145674              CLI Example:
145675
145676                 salt '*' osquery.smbios_tables
145677
145678       salt.modules.osquery.startup_items(attrs=None, where=None)
145679              Return startup_items information from osquery
145680
145681              CLI Example:
145682
145683                 salt '*' osquery.startup_items
145684
145685       salt.modules.osquery.suid_bin(attrs=None, where=None)
145686              Return suid_bin information from osquery
145687
145688              CLI Example:
145689
145690                 salt '*' osquery.suid_bin
145691
145692       salt.modules.osquery.system_controls(attrs=None, where=None)
145693              Return system_controls information from osquery
145694
145695              CLI Example:
145696
145697                 salt '*' osquery.system_controls
145698
145699       salt.modules.osquery.time_(attrs=None)
145700              Return time information from osquery
145701
145702              CLI Example:
145703
145704                 salt '*' osquery.time
145705
145706       salt.modules.osquery.usb_devices(attrs=None, where=None)
145707              Return usb_devices information from osquery
145708
145709              CLI Example:
145710
145711                 salt '*' osquery.usb_devices
145712
145713       salt.modules.osquery.users(attrs=None, where=None)
145714              Return users information from osquery
145715
145716              CLI Example:
145717
145718                 salt '*' osquery.users
145719
145720       salt.modules.osquery.version()
145721              Return version of osquery
145722
145723              CLI Example:
145724
145725                 salt '*' osquery.version
145726
145727       salt.modules.osquery.xattr_where_from(attrs=None, where=None)
145728              Return xattr_where_from information from osquery
145729
145730              CLI Example:
145731
145732                 salt '*' osquery.xattr_where_from
145733
145734       salt.modules.osquery.xprotect_entries(attrs=None, where=None)
145735              Return xprotect_entries information from osquery
145736
145737              CLI Example:
145738
145739                 salt '*' osquery.xprotect_entries
145740
145741       salt.modules.osquery.xprotect_reports(attrs=None, where=None)
145742              Return xprotect_reports information from osquery
145743
145744              CLI Example:
145745
145746                 salt '*' osquery.xprotect_reports
145747
145748   salt.modules.out module
145749   Output Module
145750       New in version 2018.3.0.
145751
145752
145753       Execution  module  that  processes  JSON  serializable data and returns
145754       string having the format as processed by the outputters.
145755
145756       Although this does not bring much value on the CLI, it turns very handy
145757       in  applications  that  require  human readable data rather than Python
145758       objects.
145759
145760       For example, inside a Jinja template:
145761
145762          {{ salt.out.string_format(complex_object, out='highstate') }}
145763
145764       salt.modules.out.html_format(data, out=u'nested', opts=None, **kwargs)
145765              Return the formatted string as HTML.
145766
145767              data   The JSON serializable object.
145768
145769              out: nested
145770                     The name of the output to  use  to  transform  the  data.
145771                     Default: nested.
145772
145773              opts   Dictionary of configuration options. Default: __opts__.
145774
145775              kwargs Arguments to sent to the outputter module.
145776
145777              CLI Example:
145778
145779                 salt '*' out.html_format "{'key': 'value'}" out=yaml
145780
145781       salt.modules.out.out_format(data, out=u'nested', opts=None, **kwargs)
145782              Return the formatted outputter string for the Python object.
145783
145784              data   The JSON serializable object.
145785
145786              out: nested
145787                     The  name  of  the  output  to use to transform the data.
145788                     Default: nested.
145789
145790              opts   Dictionary of configuration options. Default: __opts__.
145791
145792              kwargs Arguments to sent to the outputter module.
145793
145794              CLI Example:
145795
145796                 salt '*' out.out_format "{'key': 'value'}"
145797
145798       salt.modules.out.string_format(data,     out=u'nested',      opts=None,
145799       **kwargs)
145800              Return  the outputter formatted string, removing the ANSI escape
145801              sequences.
145802
145803              data   The JSON serializable object.
145804
145805              out: nested
145806                     The name of the output to  use  to  transform  the  data.
145807                     Default: nested.
145808
145809              opts   Dictionary of configuration options. Default: __opts__.
145810
145811              kwargs Arguments to sent to the outputter module.
145812
145813              CLI Example:
145814
145815                 salt '*' out.string_format "{'key': 'value'}" out=table
145816
145817   salt.modules.pacman
145818       A   module   to   wrap   pacman  calls,  since  Arch  is  the  best  (‐
145819       https://wiki.archlinux.org/index.php/Arch_is_the_best)
145820
145821       IMPORTANT:
145822          If you feel that Salt should be using this module to manage packages
145823          on  a  minion, and it is using a different module (or gives an error
145824          similar to 'pkg.install' is not available), see here.
145825
145826       salt.modules.pacman.file_dict(*packages)
145827              List the files that belong to a package, grouped by package. Not
145828              specifying  any  packages  will return a list of _every_ file on
145829              the system's package database (not generally recommended).
145830
145831              CLI Examples:
145832
145833                 salt '*' pkg.file_list httpd
145834                 salt '*' pkg.file_list httpd postfix
145835                 salt '*' pkg.file_list
145836
145837       salt.modules.pacman.file_list(*packages)
145838              List the files that belong to  a  package.  Not  specifying  any
145839              packages  will  return  a  list  of _every_ file on the system's
145840              package database (not generally recommended).
145841
145842              CLI Examples:
145843
145844                 salt '*' pkg.file_list httpd
145845                 salt '*' pkg.file_list httpd postfix
145846                 salt '*' pkg.file_list
145847
145848       salt.modules.pacman.group_diff(name)
145849              New in version 2016.11.0.
145850
145851
145852              Lists which of a group's packages are installed  and  which  are
145853              not installed
145854
145855              Compatible   with   yumpkg.group_diff   for   easy   support  of
145856              state.pkg.group_installed
145857
145858              CLI Example:
145859
145860                 salt '*' pkg.group_diff 'xorg'
145861
145862       salt.modules.pacman.group_info(name)
145863              New in version 2016.11.0.
145864
145865
145866              Lists all packages in the specified group
145867
145868              CLI Example:
145869
145870                 salt '*' pkg.group_info 'xorg'
145871
145872       salt.modules.pacman.group_list()
145873              New in version 2016.11.0.
145874
145875
145876              Lists all groups known by pacman on this system
145877
145878              CLI Example:
145879
145880                 salt '*' pkg.group_list
145881
145882       salt.modules.pacman.install(name=None, refresh=False,  sysupgrade=None,
145883       pkgs=None, sources=None, **kwargs)
145884              Changed in version 2015.8.12,2016.3.3,2016.11.0: On minions run‐
145885              ning systemd>=205, systemd-run(1) is now used  to  isolate  com‐
145886              mands  which modify installed packages from the salt-minion dae‐
145887              mon's control group. This is done to keep systemd  from  killing
145888              any pacman commands spawned by Salt when the salt-minion service
145889              is restarted. (see KillMode in the systemd.kill(5)  manpage  for
145890              more  information).  If  desired, usage of systemd-run(1) can be
145891              suppressed by setting a config option called systemd.scope, with
145892              a value of False (no quotes).
145893
145894
145895              Install (pacman -S) the specified packag(s). Add refresh=True to
145896              install with -y, add sysupgrade=True to install with -u.
145897
145898              name   The name of the package to be installed. Note  that  this
145899                     parameter is ignored if either pkgs or sources is passed.
145900                     Additionally, please note that this option  can  only  be
145901                     used  to  install packages from a software repository. To
145902                     install a package file manually, use the sources option.
145903
145904                     CLI Example:
145905
145906                        salt '*' pkg.install <package name>
145907
145908              refresh
145909                     Whether or not to refresh  the  package  database  before
145910                     installing.
145911
145912              sysupgrade
145913                     Whether  or  not  to  upgrade  the system packages before
145914                     installing.  If refresh is set to True but sysupgrade  is
145915                     not specified, -u will be applied
145916
145917              Multiple Package Installation Options:
145918
145919              pkgs   A list of packages to install from a software repository.
145920                     Must be passed as a python list. A specific version  num‐
145921                     ber  can be specified by using a single-element dict rep‐
145922                     resenting the package and its version. As with  the  ver‐
145923                     sion parameter above, comparison operators can be used to
145924                     target a specific version of a package.
145925
145926                     CLI Examples:
145927
145928                        salt '*' pkg.install pkgs='["foo", "bar"]'
145929                        salt '*' pkg.install pkgs='["foo", {"bar": "1.2.3-4"}]'
145930                        salt '*' pkg.install pkgs='["foo", {"bar": "<1.2.3-4"}]'
145931
145932              sources
145933                     A list of packages to install. Must be passed as  a  list
145934                     of dicts, with the keys being package names, and the val‐
145935                     ues being the source URI or local path to the package.
145936
145937                     CLI Example:
145938
145939                        salt '*' pkg.install                 sources='[{"foo": "salt://foo.pkg.tar.xz"},                 {"bar": "salt://bar.pkg.tar.xz"}]'
145940
145941              Returns a dict containing the new package names and versions:
145942
145943                 {'<package>': {'old': '<old-version>',
145944                                'new': '<new-version>'}}
145945
145946       salt.modules.pacman.latest_version(*names, **kwargs)
145947              Return the latest version of the  named  package  available  for
145948              upgrade or installation. If more than one package name is speci‐
145949              fied, a dict of name/version pairs is returned.
145950
145951              If the latest version of a given package is  already  installed,
145952              an empty string will be returned for that package.
145953
145954              CLI Example:
145955
145956                 salt '*' pkg.latest_version <package name>
145957                 salt '*' pkg.latest_version <package1> <package2> <package3> ...
145958
145959       salt.modules.pacman.list_pkgs(versions_as_list=False, **kwargs)
145960              List the packages currently installed as a dict:
145961
145962                 {'<package_name>': '<version>'}
145963
145964              CLI Example:
145965
145966                 salt '*' pkg.list_pkgs
145967
145968       salt.modules.pacman.list_repo_pkgs(*args, **kwargs)
145969              Returns  all  available packages. Optionally, package names (and
145970              name globs) can be passed and the results will  be  filtered  to
145971              packages matching those names.
145972
145973              This  function can be helpful in discovering the version or repo
145974              to specify in a pkg.installed state.
145975
145976              The return data will be a dictionary mapping package names to  a
145977              list  of  version  numbers,  ordered  from  newest to oldest. If
145978              byrepo is set to True, then the return dictionary  will  contain
145979              repository  names at the top level, and each repository will map
145980              packages to lists of version numbers. For example:
145981
145982                 # With byrepo=False (default)
145983                 {
145984                     'bash': ['4.4.005-2'],
145985                     'nginx': ['1.10.2-2']
145986                 }
145987                 # With byrepo=True
145988                 {
145989                     'core': {
145990                         'bash': ['4.4.005-2']
145991                     },
145992                     'extra': {
145993                         'nginx': ['1.10.2-2']
145994                     }
145995                 }
145996
145997              fromrepo
145998                     None Only include results  from  the  specified  repo(s).
145999                     Multiple repos can be specified, comma-separated.
146000
146001              byrepo False When True, the return data for each package will be
146002                     organized by repository.
146003
146004              refresh
146005                     False When True, the package database will  be  refreshed
146006                     (i.e. pacman -Sy) before checking for available versions.
146007
146008              CLI Examples:
146009
146010                 salt '*' pkg.list_repo_pkgs
146011                 salt '*' pkg.list_repo_pkgs foo bar baz
146012                 salt '*' pkg.list_repo_pkgs 'samba4*' fromrepo=base,updates
146013                 salt '*' pkg.list_repo_pkgs 'python2-*' byrepo=True
146014
146015       salt.modules.pacman.list_upgrades(refresh=False, root=None, **kwargs)
146016              List all available package upgrades on this system
146017
146018              CLI Example:
146019
146020                 salt '*' pkg.list_upgrades
146021
146022       salt.modules.pacman.owner(*paths)
146023              New in version 2014.7.0.
146024
146025
146026              Return the name of the package that owns the file. Multiple file
146027              paths can be passed. Like  pkg.version,  if  a  single  path  is
146028              passed,  a  string  will  be returned, and if multiple paths are
146029              passed,  a  dictionary  of  file/package  name  pairs  will   be
146030              returned.
146031
146032              If  the file is not owned by a package, or is not present on the
146033              minion, then an empty string will be returned for that path.
146034
146035              CLI Example:
146036                 salt '*'  pkg.owner  /usr/bin/apachectl  salt  '*'  pkg.owner
146037                 /usr/bin/apachectl /usr/bin/zsh
146038
146039       salt.modules.pacman.purge(name=None, pkgs=None, **kwargs)
146040              Changed in version 2015.8.12,2016.3.3,2016.11.0: On minions run‐
146041              ning systemd>=205, systemd-run(1) is now used  to  isolate  com‐
146042              mands  which modify installed packages from the salt-minion dae‐
146043              mon's control group. This is done to keep systemd  from  killing
146044              any pacman commands spawned by Salt when the salt-minion service
146045              is restarted. (see KillMode in the systemd.kill(5)  manpage  for
146046              more  information).  If  desired, usage of systemd-run(1) can be
146047              suppressed by setting a config option called systemd.scope, with
146048              a value of False (no quotes).
146049
146050
146051              Recursively  remove  a  package  and all dependencies which were
146052              installed with it, this will call a pacman -Rsc
146053
146054              name   The name of the package to be deleted.
146055
146056              Multiple Package Options:
146057
146058              pkgs   A list of packages to delete. Must be passed as a  python
146059                     list.  The  name parameter will be ignored if this option
146060                     is passed.
146061
146062              New in version 0.16.0.
146063
146064
146065              Returns a dict containing the changes.
146066
146067              CLI Example:
146068
146069                 salt '*' pkg.purge <package name>
146070                 salt '*' pkg.purge <package1>,<package2>,<package3>
146071                 salt '*' pkg.purge pkgs='["foo", "bar"]'
146072
146073       salt.modules.pacman.refresh_db(root=None)
146074              Just run a pacman -Sy, return a dict:
146075
146076                 {'<database name>': Bool}
146077
146078              CLI Example:
146079
146080                 salt '*' pkg.refresh_db
146081
146082       salt.modules.pacman.remove(name=None, pkgs=None, **kwargs)
146083              Changed in version 2015.8.12,2016.3.3,2016.11.0: On minions run‐
146084              ning  systemd>=205,  systemd-run(1)  is now used to isolate com‐
146085              mands which modify installed packages from the salt-minion  dae‐
146086              mon's  control  group. This is done to keep systemd from killing
146087              any pacman commands spawned by Salt when the salt-minion service
146088              is  restarted.  (see KillMode in the systemd.kill(5) manpage for
146089              more information). If desired, usage of  systemd-run(1)  can  be
146090              suppressed by setting a config option called systemd.scope, with
146091              a value of False (no quotes).
146092
146093
146094              Remove packages with pacman -R.
146095
146096              name   The name of the package to be deleted.
146097
146098              Multiple Package Options:
146099
146100              pkgs   A list of packages to delete. Must be passed as a  python
146101                     list.  The  name parameter will be ignored if this option
146102                     is passed.
146103
146104              New in version 0.16.0.
146105
146106
146107              Returns a dict containing the changes.
146108
146109              CLI Example:
146110
146111                 salt '*' pkg.remove <package name>
146112                 salt '*' pkg.remove <package1>,<package2>,<package3>
146113                 salt '*' pkg.remove pkgs='["foo", "bar"]'
146114
146115       salt.modules.pacman.upgrade(refresh=False, root=None, **kwargs)
146116              Changed in version 2015.8.12,2016.3.3,2016.11.0: On minions run‐
146117              ning  systemd>=205,  systemd-run(1)  is now used to isolate com‐
146118              mands which modify installed packages from the salt-minion  dae‐
146119              mon's  control  group. This is done to keep systemd from killing
146120              any pacman commands spawned by Salt when the salt-minion service
146121              is  restarted.  (see KillMode in the systemd.kill(5) manpage for
146122              more information). If desired, usage of  systemd-run(1)  can  be
146123              suppressed by setting a config option called systemd.scope, with
146124              a value of False (no quotes).
146125
146126
146127              Run a full system upgrade, a pacman -Syu
146128
146129              refresh
146130                     Whether or not to refresh  the  package  database  before
146131                     installing.
146132
146133              Returns a dictionary containing the changes:
146134
146135                 {'<package>':  {'old': '<old-version>',
146136                                 'new': '<new-version>'}}
146137
146138              CLI Example:
146139
146140                 salt '*' pkg.upgrade
146141
146142       salt.modules.pacman.upgrade_available(name)
146143              Check whether or not an upgrade is available for a given package
146144
146145              CLI Example:
146146
146147                 salt '*' pkg.upgrade_available <package name>
146148
146149       salt.modules.pacman.version(*names, **kwargs)
146150              Returns  a  string  representing the package version or an empty
146151              string if not installed. If more than one package name is speci‐
146152              fied, a dict of name/version pairs is returned.
146153
146154              CLI Example:
146155
146156                 salt '*' pkg.version <package name>
146157                 salt '*' pkg.version <package1> <package2> <package3> ...
146158
146159   salt.modules.pagerduty
146160       Module for Firing Events via PagerDuty
146161
146162       New in version 2014.1.0.
146163
146164
146165       configuration
146166              This  module  can be used by specifying the name of a configura‐
146167              tion profile in the minion config, minion pillar, or master con‐
146168              fig.
146169
146170              For example:
146171
146172                 my-pagerduty-account:
146173                     pagerduty.api_key: F3Rbyjbve43rfFWf2214
146174                     pagerduty.subdomain: mysubdomain
146175
146176       salt.modules.pagerduty.create_event(service_key=None, description=None,
146177       details=None, incident_key=None, profile=None)
146178              Create an event in PagerDuty. Designed for use in states.
146179
146180              CLI Example:
146181
146182                 salt myminion pagerduty.create_event <service_key> <description> <details>         profile=my-pagerduty-account
146183
146184              The following parameters are required:
146185
146186              service_key
146187                     This key can be found by using pagerduty.list_services.
146188
146189              description
146190                     This is a short description of the event.
146191
146192              details
146193                     This can be a more detailed description of the event.
146194
146195              profile
146196                     This refers to the configuration profile to use  to  con‐
146197                     nect to the PagerDuty service.
146198
146199       salt.modules.pagerduty.list_escalation_policies(profile=None,
146200       api_key=None)
146201              This function is an alias of list_policies.
146202                 List escalation policies belonging to this account
146203
146204                 CLI Example:
146205                     salt    myminion    pagerduty.list_policies     my-pager‐
146206                     duty-account    salt    myminion   pagerduty.list_escala‐
146207                     tion_policies my-pagerduty-account
146208
146209       salt.modules.pagerduty.list_incidents(profile=None, api_key=None)
146210              List incidents belonging to this account
146211
146212              CLI Example:
146213                 salt myminion pagerduty.list_incidents my-pagerduty-account
146214
146215       salt.modules.pagerduty.list_maintenance_windows(profile=None,
146216       api_key=None)
146217              This function is an alias of list_windows.
146218                 List maintenance windows belonging to this account
146219
146220                 CLI Example:
146221                     salt myminion pagerduty.list_windows my-pagerduty-account
146222                     salt     myminion      pagerduty.list_maintenance_windows
146223                     my-pagerduty-account
146224
146225       salt.modules.pagerduty.list_policies(profile=None, api_key=None)
146226              List escalation policies belonging to this account
146227
146228              CLI Example:
146229                 salt  myminion  pagerduty.list_policies  my-pagerduty-account
146230                 salt  myminion  pagerduty.list_escalation_policies  my-pager‐
146231                 duty-account
146232
146233       salt.modules.pagerduty.list_schedules(profile=None, api_key=None)
146234              List schedules belonging to this account
146235
146236              CLI Example:
146237                 salt myminion pagerduty.list_schedules my-pagerduty-account
146238
146239       salt.modules.pagerduty.list_services(profile=None, api_key=None)
146240              List services belonging to this account
146241
146242              CLI Example:
146243                 salt myminion pagerduty.list_services my-pagerduty-account
146244
146245       salt.modules.pagerduty.list_users(profile=None, api_key=None)
146246              List users belonging to this account
146247
146248              CLI Example:
146249                 salt myminion pagerduty.list_users my-pagerduty-account
146250
146251       salt.modules.pagerduty.list_windows(profile=None, api_key=None)
146252              List maintenance windows belonging to this account
146253
146254              CLI Example:
146255                 salt   myminion  pagerduty.list_windows  my-pagerduty-account
146256                 salt  myminion  pagerduty.list_maintenance_windows  my-pager‐
146257                 duty-account
146258
146259   salt.modules.pagerduty_util
146260       Module for manageing PagerDuty resource
146261
146262       configuration
146263              This  module  can be used by specifying the name of a configura‐
146264              tion profile in the minion config, minion pillar, or master con‐
146265              fig.  The default configuration profile name is 'pagerduty.'
146266
146267              For example:
146268
146269                 pagerduty:
146270                     pagerduty.api_key: F3Rbyjbve43rfFWf2214
146271                     pagerduty.subdomain: mysubdomain
146272
146273       For            PagerDuty           API           details,           see
146274       https://developer.pagerduty.com/documentation/rest
146275
146276       salt.modules.pagerduty_util.create_or_update_resource(resource_name,
146277       identifier_fields,   data,   diff=None,   profile=u'pagerduty',  subdo‐
146278       main=None, api_key=None)
146279              create or  update  any  pagerduty  resource  Helper  method  for
146280              present().
146281
146282              Determining  if two resources are the same is different for dif‐
146283              ferent PD resource, so this method accepts a diff function.  The
146284              diff   function   will  be  invoked  as  diff(state_information,
146285              object_returned_from_pagerduty), and should  return  a  dict  of
146286              data  to  pass to the PagerDuty update API method, or None if no
146287              update is to be performed.  If no diff method is  provided,  the
146288              default  behavor  is  to scan the keys in the state_information,
146289              comparing the matching values in the object_returned_from_pager‐
146290              duty, and update any values that differ.  Examples
146291
146292              create_or_update_resource("user",   ["id","name","email"])  cre‐
146293              ate_or_update_resource("escalation_policies",     ["id","name"],
146294              diff=my_diff_function)
146295
146296       salt.modules.pagerduty_util.delete_resource(resource_name, key, identi‐
146297       fier_fields, profile=u'pagerduty', subdomain=None, api_key=None)
146298              delete any pagerduty resource
146299
146300              Helper method for absent() Example
146301
146302              delete_resource("users", key, ["id","name","email"]) # delete by
146303              id or name or email
146304
146305       salt.modules.pagerduty_util.get_escalation_policies(profile=u'pager‐
146306       duty', subdomain=None, api_key=None)
146307              List escalation_policies belonging to this account
146308
146309              CLI Example:
146310                 salt myminion pagerduty.get_escalation_policies
146311
146312       salt.modules.pagerduty_util.get_resource(resource_name,  key,   identi‐
146313       fier_fields, profile=u'pagerduty', subdomain=None, api_key=None)
146314              Get any single pagerduty resource by key.
146315
146316              We  allow flexible lookup by any of a list of identifier_fields.
146317              So, for example, you can look up users by email address or  name
146318              by calling:
146319                 get_resource('users', key, ['name', 'email'], ...)
146320
146321              This method is mainly used to translate state sls into pagerduty
146322              id's for dependent objects.  For example, a pagerduty escalation
146323              policy  contains  one or more schedules, which must be passed by
146324              their pagerduty id.  We look up the  schedules  by  name  (using
146325              this method), and then translate the names into id's.
146326
146327              This  method  is  implemented  by  getting  all  objects  of the
146328              resource  type  (cached  into  __context__),  then  brute  force
146329              searching  through the list and trying to match any of the iden‐
146330              tifier_fields.  The __context__ cache is purged after  any  cre‐
146331              ate, update or delete to the resource.
146332
146333       salt.modules.pagerduty_util.get_schedules(profile=u'pagerduty',  subdo‐
146334       main=None, api_key=None)
146335              List schedules belonging to this account
146336
146337              CLI Example:
146338                 salt myminion pagerduty.get_schedules
146339
146340       salt.modules.pagerduty_util.get_services(profile=u'pagerduty',   subdo‐
146341       main=None, api_key=None)
146342              List services belonging to this account
146343
146344              CLI Example:
146345                 salt myminion pagerduty.get_services
146346
146347       salt.modules.pagerduty_util.get_users(profile=u'pagerduty',      subdo‐
146348       main=None, api_key=None)
146349              List users belonging to this account
146350
146351              CLI Example:
146352                 salt myminion pagerduty.get_users
146353
146354       salt.modules.pagerduty_util.resource_absent(resource,           identi‐
146355       fier_fields,    profile=u'pagerduty',   subdomain=None,   api_key=None,
146356       **kwargs)
146357              Generic resource.absent state method.   Pagerduty state  modules
146358              should  be  a  thin wrapper over this method, with a custom diff
146359              function.
146360
146361              This method calls delete_resource() and formats the result as  a
146362              salt state return value.  Example
146363
146364              resource_absent("users", ["id","name","email"])
146365
146366       salt.modules.pagerduty_util.resource_present(resource,          identi‐
146367       fier_fields,    diff=None,    profile=u'pagerduty',     subdomain=None,
146368       api_key=None, **kwargs)
146369              Generic resource.present state method.   Pagerduty state modules
146370              should be a thin wrapper over this method, with  a  custom  diff
146371              function.
146372
146373              This  method  calls  create_or_update_resource() and formats the
146374              result as a salt state return value.  Example
146375
146376              resource_present("users", ["id","name","email"])
146377
146378   salt.modules.pam
146379       Support for pam
146380
146381       salt.modules.pam.read_file(file_name)
146382              This is just a test function, to make sure parsing works
146383
146384              CLI Example:
146385
146386                 salt '*' pam.read_file /etc/pam.d/login
146387
146388   salt.modules.panos
146389       Module to provide Palo Alto compatibility to Salt
146390
146391       codeauthor
146392              Spencer Ervin <spencer_ervin@hotmail.com>
146393
146394       maturity
146395              new
146396
146397       depends
146398              none
146399
146400       platform
146401              unix
146402
146403       New in version 2018.3.0.
146404
146405
146406   Configuration
146407       This module accepts connection configuration details either as  parame‐
146408       ters,  or as configuration settings in pillar as a Salt proxy.  Options
146409       passed into opts will be ignored if options are passed into pillar.
146410
146411       SEE ALSO:
146412          Palo Alto Proxy Module
146413
146414   About
146415       This execution module was designed to handle connections to a Palo Alto
146416       based  firewall.  This module adds support to send connections directly
146417       to the device through the XML API or through a brokered  connection  to
146418       Panorama.
146419
146420       salt.modules.panos.add_config_lock()
146421              Prevent  other  users from changing configuration until the lock
146422              is released.
146423
146424              CLI Example:
146425
146426                 salt '*' panos.add_config_lock
146427
146428       salt.modules.panos.check_antivirus()
146429              Get anti-virus information from PaloAlto Networks server
146430
146431              CLI Example:
146432
146433                 salt '*' panos.check_antivirus
146434
146435       salt.modules.panos.check_software()
146436              Get software information from PaloAlto Networks server.
146437
146438              CLI Example:
146439
146440                 salt '*' panos.check_software
146441
146442       salt.modules.panos.clear_commit_tasks()
146443              Clear all commit tasks.
146444
146445              CLI Example:
146446
146447                 salt '*' panos.clear_commit_tasks
146448
146449       salt.modules.panos.commit()
146450              Commits the candidate configuration to  the  running  configura‐
146451              tion.
146452
146453              CLI Example:
146454
146455                 salt '*' panos.commit
146456
146457       salt.modules.panos.deactivate_license(key_name=None)
146458              Deactivates  an  installed  license.   Required version 7.0.0 or
146459              greater.
146460
146461              key_name(str): The file name of the license key installed.
146462
146463              CLI Example:
146464
146465                 salt '*' panos.deactivate_license key_name=License_File_Name.key
146466
146467       salt.modules.panos.delete_license(key_name=None)
146468              Remove license keys on disk.
146469
146470              key_name(str): The file name of the license key to be deleted.
146471
146472              CLI Example:
146473
146474                 salt '*' panos.delete_license key_name=License_File_Name.key
146475
146476       salt.modules.panos.download_antivirus()
146477              Download the most recent anti-virus package.
146478
146479              CLI Example:
146480
146481                 salt '*' panos.download_antivirus
146482
146483       salt.modules.panos.download_software_file(filename=None, synch=False)
146484              Download software packages by filename.
146485
146486              Parameters
146487
146488                     · filename (str) -- The filename of  the  PANOS  file  to
146489                       download.
146490
146491                     · synch (bool) -- If true then the file will synch to the
146492                       peer unit.
146493
146494              CLI Example:
146495
146496                 salt '*' panos.download_software_file PanOS_5000-8.0.0
146497                 salt '*' panos.download_software_file PanOS_5000-8.0.0 True
146498
146499       salt.modules.panos.download_software_version(version=None, synch=False)
146500              Download software packages by version number.
146501
146502              Parameters
146503
146504                     · version (str) -- The version of the PANOS file to down‐
146505                       load.
146506
146507                     · synch (bool) -- If true then the file will synch to the
146508                       peer unit.
146509
146510              CLI Example:
146511
146512                 salt '*' panos.download_software_version 8.0.0
146513                 salt '*' panos.download_software_version 8.0.0 True
146514
146515       salt.modules.panos.fetch_license(auth_code=None)
146516              Get new license(s) using from the Palo Alto Network Server.
146517
146518              auth_code
146519                     The license authorization code.
146520
146521              CLI Example:
146522
146523                 salt '*' panos.fetch_license
146524                 salt '*' panos.fetch_license auth_code=foobar
146525
146526       salt.modules.panos.get_address(address=None, vsys=u'1')
146527              Get the candidate configuration for  the  specified  get_address
146528              object.  This will not return address objects that are marked as
146529              pre-defined objects.
146530
146531              address(str): The name of the address object.
146532
146533              vsys(str): The string representation of the VSYS ID.
146534
146535              CLI Example:
146536
146537                 salt '*' panos.get_address myhost
146538                 salt '*' panos.get_address myhost 3
146539
146540       salt.modules.panos.get_address_group(addressgroup=None, vsys=u'1')
146541              Get the candidate configuration for the specified address group.
146542              This   will  not  return  address  groups  that  are  marked  as
146543              pre-defined objects.
146544
146545              addressgroup(str): The name of the address group.
146546
146547              vsys(str): The string representation of the VSYS ID.
146548
146549              CLI Example:
146550
146551                 salt '*' panos.get_address_group foobar
146552                 salt '*' panos.get_address_group foobar 3
146553
146554       salt.modules.panos.get_admins_active()
146555              Show active administrators.
146556
146557              CLI Example:
146558
146559                 salt '*' panos.get_admins_active
146560
146561       salt.modules.panos.get_admins_all()
146562              Show all administrators.
146563
146564              CLI Example:
146565
146566                 salt '*' panos.get_admins_all
146567
146568       salt.modules.panos.get_antivirus_info()
146569              Show information about available anti-virus packages.
146570
146571              CLI Example:
146572
146573                 salt '*' panos.get_antivirus_info
146574
146575       salt.modules.panos.get_arp()
146576              Show ARP information.
146577
146578              CLI Example:
146579
146580                 salt '*' panos.get_arp
146581
146582       salt.modules.panos.get_cli_idle_timeout()
146583              Show timeout information for this administrative session.
146584
146585              CLI Example:
146586
146587                 salt '*' panos.get_cli_idle_timeout
146588
146589       salt.modules.panos.get_cli_permissions()
146590              Show cli administrative permissions.
146591
146592              CLI Example:
146593
146594                 salt '*' panos.get_cli_permissions
146595
146596       salt.modules.panos.get_disk_usage()
146597              Report filesystem disk space usage.
146598
146599              CLI Example:
146600
146601                 salt '*' panos.get_disk_usage
146602
146603       salt.modules.panos.get_dns_server_config()
146604              Get the DNS server configuration from the  candidate  configura‐
146605              tion.
146606
146607              CLI Example:
146608
146609                 salt '*' panos.get_dns_server_config
146610
146611       salt.modules.panos.get_domain_config()
146612              Get  the domain name configuration from the candidate configura‐
146613              tion.
146614
146615              CLI Example:
146616
146617                 salt '*' panos.get_domain_config
146618
146619       salt.modules.panos.get_dos_blocks()
146620              Show the DoS block-ip table.
146621
146622              CLI Example:
146623
146624                 salt '*' panos.get_dos_blocks
146625
146626       salt.modules.panos.get_fqdn_cache()
146627              Print FQDNs used in rules and their IPs.
146628
146629              CLI Example:
146630
146631                 salt '*' panos.get_fqdn_cache
146632
146633       salt.modules.panos.get_ha_config()
146634              Get the high availability configuration.
146635
146636              CLI Example:
146637
146638                 salt '*' panos.get_ha_config
146639
146640       salt.modules.panos.get_ha_link()
146641                 Show high-availability link-monitoring state.
146642
146643                 CLI Example:
146644
146645                 salt '*' panos.get_ha_link
146646
146647       salt.modules.panos.get_ha_path()
146648              Show high-availability path-monitoring state.
146649
146650              CLI Example:
146651
146652                 salt '*' panos.get_ha_path
146653
146654       salt.modules.panos.get_ha_state()
146655              Show high-availability state information.
146656
146657              CLI Example:
146658
146659                 salt '*' panos.get_ha_state
146660
146661       salt.modules.panos.get_ha_transitions()
146662              Show high-availability transition statistic information.
146663
146664              CLI Example:
146665
146666                 salt '*' panos.get_ha_transitions
146667
146668       salt.modules.panos.get_hostname()
146669              Get the hostname of the device.
146670
146671              CLI Example:
146672
146673                 salt '*' panos.get_hostname
146674
146675       salt.modules.panos.get_interface_counters(name=u'all')
146676              Get the counter statistics for interfaces.
146677
146678              Parameters
146679                     name (str) -- The name  of  the  interface  to  view.  By
146680                     default, all interface statistics are viewed.
146681
146682              CLI Example:
146683
146684                 salt '*' panos.get_interface_counters
146685                 salt '*' panos.get_interface_counters ethernet1/1
146686
146687       salt.modules.panos.get_interfaces(name=u'all')
146688              Show interface information.
146689
146690              Parameters
146691                     name  (str)  --  The  name  of  the interface to view. By
146692                     default, all interface statistics are viewed.
146693
146694              CLI Example:
146695
146696                 salt '*' panos.get_interfaces
146697                 salt '*' panos.get_interfaces ethernet1/1
146698
146699       salt.modules.panos.get_job(jid=None)
146700              List all a single job by ID.
146701
146702              jid    The ID of the job to retrieve.
146703
146704              CLI Example:
146705
146706                 salt '*' panos.get_job jid=15
146707
146708       salt.modules.panos.get_jobs(state=u'all')
146709              List all jobs on the device.
146710
146711              state  The state of the jobs to display. Valid options are  all,
146712                     pending,  or  processed.  Pending  jobs are jobs that are
146713                     currently in a running or waiting state.  Processed  jobs
146714                     are jobs that have completed execution.
146715
146716              CLI Example:
146717
146718                 salt '*' panos.get_jobs
146719                 salt '*' panos.get_jobs state=pending
146720
146721       salt.modules.panos.get_lacp()
146722              Show LACP state.
146723
146724              CLI Example:
146725
146726                 salt '*' panos.get_lacp
146727
146728       salt.modules.panos.get_license_info()
146729              Show information about owned license(s).
146730
146731              CLI Example:
146732
146733                 salt '*' panos.get_license_info
146734
146735       salt.modules.panos.get_license_tokens()
146736              Show license token files for manual license deactivation.
146737
146738              CLI Example:
146739
146740                 salt '*' panos.get_license_tokens
146741
146742       salt.modules.panos.get_lldp_config()
146743              Show lldp config for interfaces.
146744
146745              CLI Example:
146746
146747                 salt '*' panos.get_lldp_config
146748
146749       salt.modules.panos.get_lldp_counters()
146750              Show lldp counters for interfaces.
146751
146752              CLI Example:
146753
146754                 salt '*' panos.get_lldp_counters
146755
146756       salt.modules.panos.get_lldp_local()
146757              Show lldp local info for interfaces.
146758
146759              CLI Example:
146760
146761                 salt '*' panos.get_lldp_local
146762
146763       salt.modules.panos.get_lldp_neighbors()
146764              Show lldp neighbors info for interfaces.
146765
146766              CLI Example:
146767
146768                 salt '*' panos.get_lldp_neighbors
146769
146770       salt.modules.panos.get_local_admins()
146771              Show all local administrator accounts.
146772
146773              CLI Example:
146774
146775                 salt '*' panos.get_local_admins
146776
146777       salt.modules.panos.get_logdb_quota()
146778              Report the logdb quotas.
146779
146780              CLI Example:
146781
146782                 salt '*' panos.get_logdb_quota
146783
146784       salt.modules.panos.get_master_key()
146785              Get the master key properties.
146786
146787              CLI Example:
146788
146789                 salt '*' panos.get_master_key
146790
146791       salt.modules.panos.get_ntp_config()
146792              Get the NTP configuration from the candidate configuration.
146793
146794              CLI Example:
146795
146796                 salt '*' panos.get_ntp_config
146797
146798       salt.modules.panos.get_ntp_servers()
146799              Get list of configured NTP servers.
146800
146801              CLI Example:
146802
146803                 salt '*' panos.get_ntp_servers
146804
146805       salt.modules.panos.get_operational_mode()
146806              Show device operational mode setting.
146807
146808              CLI Example:
146809
146810                 salt '*' panos.get_operational_mode
146811
146812       salt.modules.panos.get_panorama_status()
146813              Show panorama connection status.
146814
146815              CLI Example:
146816
146817                 salt '*' panos.get_panorama_status
146818
146819       salt.modules.panos.get_permitted_ips()
146820              Get  the IP addresses that are permitted to establish management
146821              connections to the device.
146822
146823              CLI Example:
146824
146825                 salt '*' panos.get_permitted_ips
146826
146827       salt.modules.panos.get_platform()
146828              Get the platform model information and limitations.
146829
146830              CLI Example:
146831
146832                 salt '*' panos.get_platform
146833
146834       salt.modules.panos.get_predefined_application(application=None)
146835              Get the configuration for the specified pre-defined  application
146836              object. This will only return pre-defined application objects.
146837
146838              application(str):   The  name  of  the  pre-defined  application
146839              object.
146840
146841              CLI Example:
146842
146843                 salt '*' panos.get_predefined_application saltstack
146844
146845       salt.modules.panos.get_security_rule(rulename=None, vsys=u'1')
146846              Get the candidate configuration for the specified security rule.
146847
146848              rulename(str): The name of the security rule.
146849
146850              vsys(str): The string representation of the VSYS ID.
146851
146852              CLI Example:
146853
146854                 salt '*' panos.get_security_rule rule01
146855                 salt '*' panos.get_security_rule rule01 3
146856
146857       salt.modules.panos.get_service(service=None, vsys=u'1')
146858              Get  the  candidate  configuration  for  the  specified  service
146859              object.  This  will  not  return  services  that  are  marked as
146860              pre-defined objects.
146861
146862              service(str): The name of the service object.
146863
146864              vsys(str): The string representation of the VSYS ID.
146865
146866              CLI Example:
146867
146868                 salt '*' panos.get_service tcp-443
146869                 salt '*' panos.get_service tcp-443 3
146870
146871       salt.modules.panos.get_service_group(servicegroup=None, vsys=u'1')
146872              Get the candidate configuration for the specified service group.
146873              This   will  not  return  service  groups  that  are  marked  as
146874              pre-defined objects.
146875
146876              servicegroup(str): The name of the service group.
146877
146878              vsys(str): The string representation of the VSYS ID.
146879
146880              CLI Example:
146881
146882                 salt '*' panos.get_service_group foobar
146883                 salt '*' panos.get_service_group foobar 3
146884
146885       salt.modules.panos.get_session_info()
146886              Show device session statistics.
146887
146888              CLI Example:
146889
146890                 salt '*' panos.get_session_info
146891
146892       salt.modules.panos.get_snmp_config()
146893              Get the SNMP configuration from the device.
146894
146895              CLI Example:
146896
146897                 salt '*' panos.get_snmp_config
146898
146899       salt.modules.panos.get_software_info()
146900              Show information about available software packages.
146901
146902              CLI Example:
146903
146904                 salt '*' panos.get_software_info
146905
146906       salt.modules.panos.get_system_date_time()
146907              Get the system date/time.
146908
146909              CLI Example:
146910
146911                 salt '*' panos.get_system_date_time
146912
146913       salt.modules.panos.get_system_files()
146914              List important files in the system.
146915
146916              CLI Example:
146917
146918                 salt '*' panos.get_system_files
146919
146920       salt.modules.panos.get_system_info()
146921              Get the system information.
146922
146923              CLI Example:
146924
146925                 salt '*' panos.get_system_info
146926
146927       salt.modules.panos.get_system_services()
146928              Show system services.
146929
146930              CLI Example:
146931
146932                 salt '*' panos.get_system_services
146933
146934       salt.modules.panos.get_system_state(mask=None)
146935              Show the system state variables.
146936
146937              mask   Filters by a subtree or a wildcard.
146938
146939              CLI Example:
146940
146941                 salt '*' panos.get_system_state
146942                 salt '*' panos.get_system_state mask=cfg.ha.config.enabled
146943                 salt '*' panos.get_system_state mask=cfg.ha.*
146944
146945       salt.modules.panos.get_uncommitted_changes()
146946              Retrieve a list  of  all  uncommitted  changes  on  the  device.
146947              Requires PANOS version 8.0.0 or greater.
146948
146949              CLI Example:
146950
146951                 salt '*' panos.get_uncommitted_changes
146952
146953       salt.modules.panos.get_users_config()
146954              Get the local administrative user account configuration.
146955
146956              CLI Example:
146957
146958                 salt '*' panos.get_users_config
146959
146960       salt.modules.panos.get_vlans()
146961              Show all VLAN information.
146962
146963              CLI Example:
146964
146965                 salt '*' panos.get_vlans
146966
146967       salt.modules.panos.get_xpath(xpath=u'')
146968              Retrieve a specified xpath from the candidate configuration.
146969
146970              xpath(str): The specified xpath in the candidate configuration.
146971
146972              CLI Example:
146973
146974                 salt '*' panos.get_xpath /config/shared/service
146975
146976       salt.modules.panos.get_zone(zone=u'', vsys=u'1')
146977              Get the candidate configuration for the specified zone.
146978
146979              zone(str): The name of the zone.
146980
146981              vsys(str): The string representation of the VSYS ID.
146982
146983              CLI Example:
146984
146985                 salt '*' panos.get_zone trust
146986                 salt '*' panos.get_zone trust 2
146987
146988       salt.modules.panos.get_zones(vsys=u'1')
146989              Get all the zones in the candidate configuration.
146990
146991              vsys(str): The string representation of the VSYS ID.
146992
146993              CLI Example:
146994
146995                 salt '*' panos.get_zones
146996                 salt '*' panos.get_zones 2
146997
146998       salt.modules.panos.install_antivirus(version=None,        latest=False,
146999       synch=False, skip_commit=False)
147000              Install anti-virus packages.
147001
147002              Parameters
147003
147004                     · version (str) -- The  version  of  the  PANOS  file  to
147005                       install.
147006
147007                     · latest  (bool)  --  If true, the latest anti-virus file
147008                       will be installed.  The specified version  option  will
147009                       be ignored.
147010
147011                     · synch  (bool)  -- If true, the anti-virus will synch to
147012                       the peer unit.
147013
147014                     · skip_commit (bool) -- If true, the  install  will  skip
147015                       committing to the device.
147016
147017              CLI Example:
147018
147019                 salt '*' panos.install_antivirus 8.0.0
147020
147021       salt.modules.panos.install_license()
147022              Install the license key(s).
147023
147024              CLI Example:
147025
147026                 salt '*' panos.install_license
147027
147028       salt.modules.panos.install_software(version=None)
147029              Upgrade to a software package by version.
147030
147031              Parameters
147032                     version  (str)  --  The  version  of  the  PANOS  file to
147033                     install.
147034
147035              CLI Example:
147036
147037                 salt '*' panos.install_license 8.0.0
147038
147039       salt.modules.panos.reboot()
147040              Reboot a running system.
147041
147042              CLI Example:
147043
147044                 salt '*' panos.reboot
147045
147046       salt.modules.panos.refresh_fqdn_cache(force=False)
147047              Force refreshes all FQDNs used in rules.
147048
147049              force  Forces all fqdn refresh
147050
147051              CLI Example:
147052
147053                 salt '*' panos.refresh_fqdn_cache
147054                 salt '*' panos.refresh_fqdn_cache force=True
147055
147056       salt.modules.panos.remove_config_lock()
147057              Release config lock previously held.
147058
147059              CLI Example:
147060
147061                 salt '*' panos.remove_config_lock
147062
147063       salt.modules.panos.resolve_address(address=None, vsys=None)
147064              Resolve address  to  ip  address.   Required  version  7.0.0  or
147065              greater.
147066
147067              address
147068                     Address name you want to resolve.
147069
147070              vsys   The vsys name.
147071
147072              CLI Example:
147073
147074                 salt '*' panos.resolve_address foo.bar.com
147075                 salt '*' panos.resolve_address foo.bar.com vsys=2
147076
147077       salt.modules.panos.save_device_config(filename=None)
147078              Save device configuration to a named file.
147079
147080              filename
147081                     The filename to save the configuration to.
147082
147083              CLI Example:
147084
147085                 salt '*' panos.save_device_config foo.xml
147086
147087       salt.modules.panos.save_device_state()
147088              Save files needed to restore device to local disk.
147089
147090              CLI Example:
147091
147092                 salt '*' panos.save_device_state
147093
147094       salt.modules.panos.set_authentication_profile(profile=None,
147095       deploy=False)
147096              Set the authentication profile of the Palo Alto proxy minion.  A
147097              commit will be required before this is processed.
147098
147099              CLI Example:
147100
147101              Parameters
147102
147103                     · profile (str) -- The name of the authentication profile
147104                       to set.
147105
147106                     · deploy (bool) -- If true then commit the full candidate
147107                       configuration, if false only set pending change.
147108
147109                 salt '*' panos.set_authentication_profile foo
147110                 salt '*' panos.set_authentication_profile foo deploy=True
147111
147112       salt.modules.panos.set_hostname(hostname=None, deploy=False)
147113              Set the hostname of the Palo Alto proxy minion. A commit will be
147114              required before this is processed.
147115
147116              CLI Example:
147117
147118              Parameters
147119
147120                     · hostname (str) -- The hostname to set
147121
147122                     · deploy (bool) -- If true then commit the full candidate
147123                       configuration, if false only set pending change.
147124
147125                 salt '*' panos.set_hostname newhostname
147126                 salt '*' panos.set_hostname newhostname deploy=True
147127
147128       salt.modules.panos.set_management_http(enabled=True, deploy=False)
147129              Enables or disables the HTTP management service on the device.
147130
147131              CLI Example:
147132
147133              Parameters
147134
147135                     · enabled  (bool) -- If true the service will be enabled.
147136                       If false the service will be disabled.
147137
147138                     · deploy (bool) -- If true then commit the full candidate
147139                       configuration, if false only set pending change.
147140
147141                 salt '*' panos.set_management_http
147142                 salt '*' panos.set_management_http enabled=False deploy=True
147143
147144       salt.modules.panos.set_management_https(enabled=True, deploy=False)
147145              Enables or disables the HTTPS management service on the device.
147146
147147              CLI Example:
147148
147149              Parameters
147150
147151                     · enabled  (bool) -- If true the service will be enabled.
147152                       If false the service will be disabled.
147153
147154                     · deploy (bool) -- If true then commit the full candidate
147155                       configuration, if false only set pending change.
147156
147157                 salt '*' panos.set_management_https
147158                 salt '*' panos.set_management_https enabled=False deploy=True
147159
147160       salt.modules.panos.set_management_icmp(enabled=True, deploy=False)
147161              Enables or disables the ICMP management service on the device.
147162
147163              CLI Example:
147164
147165              Parameters
147166
147167                     · enabled  (bool) -- If true the service will be enabled.
147168                       If false the service will be disabled.
147169
147170                     · deploy (bool) -- If true then commit the full candidate
147171                       configuration, if false only set pending change.
147172
147173                 salt '*' panos.set_management_icmp
147174                 salt '*' panos.set_management_icmp enabled=False deploy=True
147175
147176       salt.modules.panos.set_management_ocsp(enabled=True, deploy=False)
147177              Enables  or  disables  the  HTTP  OCSP management service on the
147178              device.
147179
147180              CLI Example:
147181
147182              Parameters
147183
147184                     · enabled (bool) -- If true the service will be  enabled.
147185                       If false the service will be disabled.
147186
147187                     · deploy (bool) -- If true then commit the full candidate
147188                       configuration, if false only set pending change.
147189
147190                 salt '*' panos.set_management_ocsp
147191                 salt '*' panos.set_management_ocsp enabled=False deploy=True
147192
147193       salt.modules.panos.set_management_snmp(enabled=True, deploy=False)
147194              Enables or disables the SNMP management service on the device.
147195
147196              CLI Example:
147197
147198              Parameters
147199
147200                     · enabled (bool) -- If true the service will be  enabled.
147201                       If false the service will be disabled.
147202
147203                     · deploy (bool) -- If true then commit the full candidate
147204                       configuration, if false only set pending change.
147205
147206                 salt '*' panos.set_management_snmp
147207                 salt '*' panos.set_management_snmp enabled=False deploy=True
147208
147209       salt.modules.panos.set_management_ssh(enabled=True, deploy=False)
147210              Enables or disables the SSH management service on the device.
147211
147212              CLI Example:
147213
147214              Parameters
147215
147216                     · enabled (bool) -- If true the service will be  enabled.
147217                       If false the service will be disabled.
147218
147219                     · deploy (bool) -- If true then commit the full candidate
147220                       configuration, if false only set pending change.
147221
147222                 salt '*' panos.set_management_ssh
147223                 salt '*' panos.set_management_ssh enabled=False deploy=True
147224
147225       salt.modules.panos.set_management_telnet(enabled=True, deploy=False)
147226              Enables or disables the Telnet management service on the device.
147227
147228              CLI Example:
147229
147230              Parameters
147231
147232                     · enabled (bool) -- If true the service will be  enabled.
147233                       If false the service will be disabled.
147234
147235                     · deploy (bool) -- If true then commit the full candidate
147236                       configuration, if false only set pending change.
147237
147238                 salt '*' panos.set_management_telnet
147239                 salt '*' panos.set_management_telnet enabled=False deploy=True
147240
147241       salt.modules.panos.set_ntp_authentication(target=None,      authentica‐
147242       tion_type=None,  key_id=None,  authentication_key=None, algorithm=None,
147243       deploy=False)
147244              Set the NTP authentication of the Palo Alto proxy minion. A com‐
147245              mit will be required before this is processed.
147246
147247              CLI Example:
147248
147249              Parameters
147250
147251                     · target  (str) -- Determines the target of the authenti‐
147252                       cation. Valid options are primary, secondary, or both.
147253
147254                     · authentication_type (str) -- The authentication type to
147255                       be  used.  Valid  options  are  symmetric, autokey, and
147256                       none.
147257
147258                     · key_id (int) -- The NTP authentication key ID.
147259
147260                     · authentication_key (str) -- The authentication key.
147261
147262                     · algorithm (str) -- The algorithm type to be used for  a
147263                       symmetric key. Valid options are md5 and sha1.
147264
147265                     · deploy (bool) -- If true then commit the full candidate
147266                       configuration, if false only set pending change.
147267
147268                 salt '*' ntp.set_authentication target=both authentication_type=autokey
147269                 salt '*' ntp.set_authentication target=primary authentication_type=none
147270                 salt '*' ntp.set_authentication target=both authentication_type=symmetric key_id=15 authentication_key=mykey algorithm=md5
147271                 salt '*' ntp.set_authentication target=both authentication_type=symmetric key_id=15 authentication_key=mykey algorithm=md5 deploy=True
147272
147273       salt.modules.panos.set_ntp_servers(primary_server=None,            sec‐
147274       ondary_server=None, deploy=False)
147275              Set the NTP servers of the Palo Alto proxy minion. A commit will
147276              be required before this is processed.
147277
147278              CLI Example:
147279
147280              Parameters
147281
147282                     · primary_server (str)  --  The  primary  NTP  server  IP
147283                       address or FQDN.
147284
147285                     · secondary_server  (str)  -- The secondary NTP server IP
147286                       address or FQDN.
147287
147288                     · deploy (bool) -- If true then commit the full candidate
147289                       configuration, if false only set pending change.
147290
147291                 salt '*' ntp.set_servers 0.pool.ntp.org 1.pool.ntp.org
147292                 salt '*' ntp.set_servers primary_server=0.pool.ntp.org secondary_server=1.pool.ntp.org
147293                 salt '*' ntp.ser_servers 0.pool.ntp.org 1.pool.ntp.org deploy=True
147294
147295       salt.modules.panos.set_permitted_ip(address=None, deploy=False)
147296              Add an IPv4 address or network to the permitted IP list.
147297
147298              CLI Example:
147299
147300              Parameters
147301
147302                     · address  (str)  -- The IPv4 address or network to allow
147303                       access to add to the Palo Alto device.
147304
147305                     · deploy (bool) -- If true then commit the full candidate
147306                       configuration, if false only set pending change.
147307
147308                 salt '*' panos.set_permitted_ip 10.0.0.1
147309                 salt '*' panos.set_permitted_ip 10.0.0.0/24
147310                 salt '*' panos.set_permitted_ip 10.0.0.1 deploy=True
147311
147312       salt.modules.panos.set_timezone(tz=None, deploy=False)
147313              Set the timezone of the Palo Alto proxy minion. A commit will be
147314              required before this is processed.
147315
147316              CLI Example:
147317
147318              Parameters
147319
147320                     · tz (str) -- The name of the timezone to set.
147321
147322                     · deploy (bool) -- If true then commit the full candidate
147323                       configuration, if false only set pending change.
147324
147325                 salt '*' panos.set_timezone UTC
147326                 salt '*' panos.set_timezone UTC deploy=True
147327
147328       salt.modules.panos.shutdown()
147329              Shutdown a running system.
147330
147331              CLI Example:
147332
147333                 salt '*' panos.shutdown
147334
147335       salt.modules.panos.test_fib_route(ip=None, vr=u'vr1')
147336              Perform a route lookup within active route table (fib).
147337
147338              ip (str): The destination IP address to test.
147339
147340              vr (str): The name of the virtual router to test.
147341
147342              CLI Example:
147343
147344                 salt '*' panos.test_fib_route 4.2.2.2
147345                 salt '*' panos.test_fib_route 4.2.2.2 my-vr
147346
147347       salt.modules.panos.test_security_policy(sourcezone=None,   destination‐
147348       zone=None,  source=None,  destination=None,  protocol=None,  port=None,
147349       application=None, category=None, vsys=u'1', allrules=False)
147350              Checks  which  security  policy  as connection will match on the
147351              device.
147352
147353              sourcezone (str): The source zone matched  against  the  connec‐
147354              tion.
147355
147356              destinationzone  (str): The destination zone matched against the
147357              connection.
147358
147359              source (str): The source address.  This  must  be  a  single  IP
147360              address.
147361
147362              destination  (str): The destination address. This must be a sin‐
147363              gle IP address.
147364
147365              protocol (int): The protocol number for the connection. This  is
147366              the numerical representation of the protocol.
147367
147368              port (int): The port number for the connection.
147369
147370              application (str): The application that should be matched.
147371
147372              category (str): The category that should be matched.
147373
147374              vsys (int): The numerical representation of the VSYS ID.
147375
147376              allrules  (bool):  Show  all  potential  match rules until first
147377              allow rule.
147378
147379              CLI Example:
147380
147381                 salt '*' panos.test_security_policy sourcezone=trust destinationzone=untrust protocol=6 port=22
147382                 salt '*' panos.test_security_policy sourcezone=trust destinationzone=untrust protocol=6 port=22 vsys=2
147383
147384       salt.modules.panos.unlock_admin(username=None)
147385              Unlocks a locked administrator account.
147386
147387              username
147388                     Username of the administrator.
147389
147390              CLI Example:
147391
147392                 salt '*' panos.unlock_admin username=bob
147393
147394   salt.modules.parallels module
147395       Manage Parallels Desktop VMs with prlctl and prlsrvctl.  Only  some  of
147396       the prlctl commands implemented so far.  Of those that have been imple‐
147397       mented, not all of the options may have been provided yet.  For a  com‐
147398       plete reference, see the Parallels Desktop Reference Guide.
147399
147400       This  module  requires  the  prlctl  binary to be installed to run most
147401       functions.   To  run  parallels.prlsrvctl,  the  prlsrvctl  binary   is
147402       required.
147403
147404       What  has  not  been  implemented  yet  can  be accessed through paral‐
147405       lels.prlctl and parallels.prlsrvctl (note the preceding double dash  --
147406       as necessary):
147407
147408          salt '*' parallels.prlctl installtools macvm runas=macdev
147409          salt -- '*' parallels.prlctl capture 'macvm --file macvm.display.png' runas=macdev
147410          salt -- '*' parallels.prlsrvctl set '--mem-limit auto' runas=macdev
147411
147412       New in version 2016.3.0.
147413
147414
147415       salt.modules.parallels.clone(name,    new_name,    linked=False,   tem‐
147416       plate=False, runas=None)
147417              Clone a VM
147418
147419              New in version 2016.11.0.
147420
147421
147422              Parameters
147423
147424                     · name (str) -- Name/ID of VM to clone
147425
147426                     · new_name (str) -- Name of the new VM
147427
147428                     · linked (bool) -- Create a linked virtual machine.
147429
147430                     · template (bool) -- Create a  virtual  machine  template
147431                       instead of a real virtual machine.
147432
147433                     · runas (str) -- The user that the prlctl command will be
147434                       run as
147435
147436              Example:
147437
147438                 salt '*' parallels.clone macvm macvm_new runas=macdev
147439                 salt '*' parallels.clone macvm macvm_templ template=True runas=macdev
147440
147441       salt.modules.parallels.delete(name, runas=None)
147442              Delete a VM
147443
147444              New in version 2016.11.0.
147445
147446
147447              Parameters
147448
147449                     · name (str) -- Name/ID of VM to clone
147450
147451                     · runas (str) -- The user that the prlctl command will be
147452                       run as
147453
147454              Example:
147455
147456                 salt '*' parallels.exec macvm 'find /etc/paths.d' runas=macdev
147457
147458       salt.modules.parallels.delete_snapshot(name,   snap_name,   runas=None,
147459       all=False)
147460              Delete a snapshot
147461
147462              NOTE:
147463                 Deleting a snapshot from which other  snapshots  are  dervied
147464                 will not delete the derived snapshots
147465
147466              Parameters
147467
147468                     · name  (str)  --  Name/ID  of  VM whose snapshot will be
147469                       deleted
147470
147471                     · snap_name (str) -- Name/ID of snapshot to delete
147472
147473                     · runas (str) -- The user that the prlctl command will be
147474                       run as
147475
147476                     · all (bool) --
147477
147478                       Delete all snapshots having the name given
147479
147480                       New in version 2016.11.0.
147481
147482
147483
147484              Example:
147485
147486                 salt '*' parallels.delete_snapshot macvm 'unneeded snapshot' runas=macdev
147487                 salt '*' parallels.delete_snapshot macvm 'Snapshot for linked clone' all=True runas=macdev
147488
147489       salt.modules.parallels.exec_(name, command, runas=None)
147490              Run a command on a VM
147491
147492              Parameters
147493
147494                     · name (str) -- Name/ID of VM whose exec will be returned
147495
147496                     · command (str) -- Command to run on the VM
147497
147498                     · runas (str) -- The user that the prlctl command will be
147499                       run as
147500
147501              Example:
147502
147503                 salt '*' parallels.exec macvm 'find /etc/paths.d' runas=macdev
147504
147505       salt.modules.parallels.exists(name, runas=None)
147506              Query whether a VM exists
147507
147508              New in version 2016.11.0.
147509
147510
147511              Parameters
147512
147513                     · name (str) -- Name/ID of VM
147514
147515                     · runas (str) -- The user that the prlctl command will be
147516                       run as
147517
147518              Example:
147519
147520                 salt '*' parallels.exists macvm runas=macdev
147521
147522       salt.modules.parallels.list_snapshots(name, snap_name=None, tree=False,
147523       names=False, runas=None)
147524              List the snapshots
147525
147526              Parameters
147527
147528                     · name (str) -- Name/ID of VM  whose  snapshots  will  be
147529                       listed
147530
147531                     · snap_id  (str) -- Name/ID of snapshot to display infor‐
147532                       mation about.  If tree=True is also specified,  display
147533                       the  snapshot  subtree having this snapshot as the root
147534                       snapshot
147535
147536                     · tree (bool) -- List snapshots  in  tree  format  rather
147537                       than tabular format
147538
147539                     · names (bool) -- List snapshots as ID, name pairs
147540
147541                     · runas (str) -- The user that the prlctl command will be
147542                       run as
147543
147544              Example:
147545
147546                 salt '*' parallels.list_snapshots macvm runas=macdev
147547                 salt '*' parallels.list_snapshots macvm tree=True runas=macdev
147548                 salt '*' parallels.list_snapshots macvm snap_name=original runas=macdev
147549                 salt '*' parallels.list_snapshots macvm names=True runas=macdev
147550
147551       salt.modules.parallels.list_vms(name=None,    info=False,    all=False,
147552       args=None, runas=None, template=False)
147553              List information about the VMs
147554
147555              Parameters
147556
147557                     · name (str) --
147558
147559                       Name/ID of VM to list
147560
147561                       Changed   in   version  2016.11.0:  No  longer  implies
147562                       info=True
147563
147564
147565
147566                     · info (str) -- List extra information
147567
147568                     · all (bool) -- List all non-template VMs
147569
147570                     · args (tuple) -- Additional  arguments  given  to  prctl
147571                       list
147572
147573                     · runas (str) -- The user that the prlctl command will be
147574                       run as
147575
147576                     · template (bool) --
147577
147578                       List the available virtual machine templates.  The real
147579                       virtual machines will not be included in the output
147580
147581                       New in version 2016.11.0.
147582
147583
147584
147585              Example:
147586
147587                 salt '*' parallels.list_vms runas=macdev
147588                 salt '*' parallels.list_vms name=macvm info=True runas=macdev
147589                 salt '*' parallels.list_vms info=True runas=macdev
147590                 salt '*' parallels.list_vms ' -o uuid,status' all=True runas=macdev
147591
147592       salt.modules.parallels.prlctl(sub_cmd, args=None, runas=None)
147593              Execute a prlctl command
147594
147595              Parameters
147596
147597                     · sub_cmd (str) -- prlctl subcommand to execute
147598
147599                     · args   (str)   --  The  arguments  supplied  to  prlctl
147600                       <sub_cmd>
147601
147602                     · runas (str) -- The user that the prlctl command will be
147603                       run as
147604
147605              Example:
147606
147607                 salt '*' parallels.prlctl user list runas=macdev
147608                 salt '*' parallels.prlctl exec 'macvm uname' runas=macdev
147609                 salt -- '*' parallels.prlctl capture 'macvm --file macvm.display.png' runas=macdev
147610
147611       salt.modules.parallels.prlsrvctl(sub_cmd, args=None, runas=None)
147612              Execute a prlsrvctl command
147613
147614              New in version 2016.11.0.
147615
147616
147617              Parameters
147618
147619                     · sub_cmd (str) -- prlsrvctl subcommand to execute
147620
147621                     · args  (str)  --  The  arguments  supplied  to prlsrvctl
147622                       <sub_cmd>
147623
147624                     · runas (str) -- The user that the prlsrvctl command will
147625                       be run as
147626
147627              Example:
147628
147629                 salt '*' parallels.prlsrvctl info runas=macdev
147630                 salt '*' parallels.prlsrvctl usb list runas=macdev
147631                 salt -- '*' parallels.prlsrvctl set '--mem-limit auto' runas=macdev
147632
147633       salt.modules.parallels.reset(name, runas=None)
147634              Reset a VM by performing a hard shutdown and then a restart
147635
147636              Parameters
147637
147638                     · name (str) -- Name/ID of VM to reset
147639
147640                     · runas (str) -- The user that the prlctl command will be
147641                       run as
147642
147643              Example:
147644
147645                 salt '*' parallels.reset macvm runas=macdev
147646
147647       salt.modules.parallels.restart(name, runas=None)
147648              Restart a VM by gracefully shutting it down and then  restarting
147649              it
147650
147651              Parameters
147652
147653                     · name (str) -- Name/ID of VM to restart
147654
147655                     · runas (str) -- The user that the prlctl command will be
147656                       run as
147657
147658              Example:
147659
147660                 salt '*' parallels.restart macvm runas=macdev
147661
147662       salt.modules.parallels.revert_snapshot(name, snap_name, runas=None)
147663              Revert a VM to a snapshot
147664
147665              Parameters
147666
147667                     · name (str) -- Name/ID of VM to revert to a snapshot
147668
147669                     · snap_name (str) -- Name/ID of snapshot to revert to
147670
147671                     · runas (str) -- The user that the prlctl command will be
147672                       run as
147673
147674              Example:
147675
147676                 salt '*' parallels.revert_snapshot macvm base-with-updates runas=macdev
147677
147678       salt.modules.parallels.snapshot(name,     snap_name=None,    desc=None,
147679       runas=None)
147680              Create a snapshot
147681
147682              Parameters
147683
147684                     · name (str) -- Name/ID of VM to take a snapshot of
147685
147686                     · snap_name (str) -- Name of snapshot
147687
147688                     · desc (str) -- Description of snapshot
147689
147690                     · runas (str) -- The user that the prlctl command will be
147691                       run as
147692
147693              Example:
147694
147695                 salt '*' parallels.create_snapshot macvm snap_name=macvm-original runas=macdev
147696                 salt '*' parallels.create_snapshot macvm snap_name=macvm-updates desc='clean install with updates' runas=macdev
147697
147698       salt.modules.parallels.snapshot_id_to_name(name, snap_id, strict=False,
147699       runas=None)
147700              Attempt to convert a snapshot ID to a  snapshot  name.   If  the
147701              snapshot  has  no  name or if the ID is not found or invalid, an
147702              empty string will be returned
147703
147704              Parameters
147705
147706                     · name  (str)  --  Name/ID  of  VM  whose  snapshots  are
147707                       inspected
147708
147709                     · snap_id (str) -- ID of the snapshot
147710
147711                     · strict (bool) -- Raise an exception if a name cannot be
147712                       found for the given snap_id
147713
147714                     · runas (str) -- The user that the prlctl command will be
147715                       run as
147716
147717              Example data
147718
147719                 ID: {a5b8999f-5d95-4aff-82de-e515b0101b66}
147720                 Name: original
147721                 Date: 2016-03-04 10:50:34
147722                 Current: yes
147723                 State: poweroff
147724                 Description: original state
147725
147726              CLI Example:
147727
147728                 salt '*' parallels.snapshot_id_to_name macvm a5b8999f-5d95-4aff-82de-e515b0101b66 runas=macdev
147729
147730       salt.modules.parallels.snapshot_name_to_id(name,             snap_name,
147731       strict=False, runas=None)
147732              Attempt to convert a snapshot name to a  snapshot  ID.   If  the
147733              name  is  not  found  an  empty string is returned.  If multiple
147734              snapshots share the same name, a list will be returned
147735
147736              Parameters
147737
147738                     · name  (str)  --  Name/ID  of  VM  whose  snapshots  are
147739                       inspected
147740
147741                     · snap_name (str) -- Name of the snapshot
147742
147743                     · strict  (bool)  -- Raise an exception if multiple snap‐
147744                       shot IDs are found
147745
147746                     · runas (str) -- The user that the prlctl command will be
147747                       run as
147748
147749              CLI Example:
147750
147751                 salt '*' parallels.snapshot_id_to_name macvm original runas=macdev
147752
147753       salt.modules.parallels.start(name, runas=None)
147754              Start a VM
147755
147756              Parameters
147757
147758                     · name (str) -- Name/ID of VM to start
147759
147760                     · runas (str) -- The user that the prlctl command will be
147761                       run as
147762
147763              Example:
147764
147765                 salt '*' parallels.start macvm runas=macdev
147766
147767       salt.modules.parallels.status(name, runas=None)
147768              Status of a VM
147769
147770              Parameters
147771
147772                     · name (str) --  Name/ID  of  VM  whose  status  will  be
147773                       returned
147774
147775                     · runas (str) -- The user that the prlctl command will be
147776                       run as
147777
147778              Example:
147779
147780                 salt '*' parallels.status macvm runas=macdev
147781
147782       salt.modules.parallels.stop(name, kill=False, runas=None)
147783              Stop a VM
147784
147785              Parameters
147786
147787                     · name (str) -- Name/ID of VM to stop
147788
147789                     · kill (bool) -- Perform a hard shutdown
147790
147791                     · runas (str) -- The user that the prlctl command will be
147792                       run as
147793
147794              Example:
147795
147796                 salt '*' parallels.stop macvm runas=macdev
147797                 salt '*' parallels.stop macvm kill=True runas=macdev
147798
147799   salt.modules.parted
147800       Module for managing partitions on POSIX-like systems.
147801
147802       depends
147803
147804              · parted,  partprobe, lsblk (usually parted and util-linux pack‐
147805                ages)
147806
147807       Some functions may not be  available,  depending  on  your  version  of
147808       parted.
147809
147810       Check  the  manpage  for  parted(8) for more information, or the online
147811       docs at:
147812
147813       http://www.gnu.org/software/parted/manual/html_chapter/parted_2.html
147814
147815       In light of parted not directly supporting partition IDs, some of  this
147816       module has been written to utilize sfdisk instead. For further informa‐
147817       tion, please reference the man page for sfdisk(8).
147818
147819       salt.modules.parted.align_check(device, part_type, partition)
147820              Check  if  partition  satisfies  the  alignment  constraint   of
147821              part_type.  Type must be "minimal" or "optimal".
147822
147823              CLI Example:
147824
147825                 salt '*' partition.align_check /dev/sda minimal 1
147826
147827       salt.modules.parted.check(device, minor)
147828              Checks if the file system on partition <minor> has any errors.
147829
147830              CLI Example:
147831
147832                 salt '*' partition.check 1
147833
147834       salt.modules.parted.cp(device, from_minor, to_minor)
147835              Copies  the  file system on the partition <from-minor> to parti‐
147836              tion <to-minor>, deleting the original contents of the  destina‐
147837              tion partition.
147838
147839              CLI Example:
147840
147841                 salt '*' partition.cp /dev/sda 2 3
147842
147843       salt.modules.parted.exists(device=u'')
147844              Check to see if the partition exists
147845
147846              CLI Example:
147847
147848                 salt '*' partition.exists /dev/sdb1
147849
147850       salt.modules.parted.get_block_device()
147851              Retrieve a list of disk devices
147852
147853              New in version 2014.7.0.
147854
147855
147856              CLI Example:
147857
147858                 salt '*' partition.get_block_device
147859
147860       salt.modules.parted.get_id(device, minor)
147861              Prints the system ID for the partition. Some typical values are:
147862
147863                  b: FAT32 (vfat)
147864                  7: HPFS/NTFS
147865                 82: Linux Swap
147866                 83: Linux
147867                 8e: Linux LVM
147868                 fd: Linux RAID Auto
147869
147870              CLI Example:
147871
147872                 salt '*' partition.get_id /dev/sda 1
147873
147874       salt.modules.parted.list_(device, unit=None)
147875              Prints partition information of given <device>
147876
147877              CLI Examples:
147878
147879                 salt '*' partition.list /dev/sda
147880                 salt '*' partition.list /dev/sda unit=s
147881                 salt '*' partition.list /dev/sda unit=kB
147882
147883       salt.modules.parted.mkfs(device, fs_type)
147884              Makes  a file system <fs_type> on partition <device>, destroying
147885              all data that resides on that partition. <fs_type> must  be  one
147886              of  "ext2",  "fat32",  "fat16",  "linux-swap"  or "reiserfs" (if
147887              libreiserfs is installed)
147888
147889              CLI Example:
147890
147891                 salt '*' partition.mkfs /dev/sda2 fat32
147892
147893       salt.modules.parted.mklabel(device, label_type)
147894              Create a new disklabel (partition table) of label_type.
147895
147896              Type should be one  of  "aix",  "amiga",  "bsd",  "dvh",  "gpt",
147897              "loop", "mac", "msdos", "pc98", or "sun".
147898
147899              CLI Example:
147900
147901                 salt '*' partition.mklabel /dev/sda msdos
147902
147903       salt.modules.parted.mkpart(device, part_type, fs_type=None, start=None,
147904       end=None)
147905              Make a part_type partition for filesystem fs_type, beginning  at
147906              start  and  ending  at end (by default in megabytes).  part_type
147907              should be one of "primary", "logical", or "extended".
147908
147909              CLI Examples:
147910
147911                 salt '*' partition.mkpart /dev/sda primary fs_type=fat32 start=0 end=639
147912                 salt '*' partition.mkpart /dev/sda primary start=0 end=639
147913
147914       salt.modules.parted.mkpartfs(device, part_type, fs_type, start, end)
147915              Make a <part_type> partition with a new filesystem of <fs_type>,
147916              beginning  at  <start>  and  ending  at  <end>  (by  default  in
147917              megabytes).
147918
147919              <part_type>  should  be  one   of   "primary",   "logical",   or
147920              "extended".  <fs_type>  must be one of "ext2", "fat32", "fat16",
147921              "linux-swap" or "reiserfs" (if libreiserfs is installed)
147922
147923              CLI Example:
147924
147925                 salt '*' partition.mkpartfs /dev/sda logical ext2 440 670
147926
147927       salt.modules.parted.name(device, partition, name)
147928              Set the name of partition to name. This  option  works  only  on
147929              Mac, PC98, and GPT disklabels. The name can be placed in quotes,
147930              if necessary.
147931
147932              CLI Example:
147933
147934                 salt '*' partition.name /dev/sda 1 'My Documents'
147935
147936       salt.modules.parted.probe(*devices)
147937              Ask the kernel to update its local partition data. When no  args
147938              are specified all block devices are tried.
147939
147940              Caution:  Generally only works on devices with no mounted parti‐
147941              tions and may take a long time to return  if  specified  devices
147942              are in use.
147943
147944              CLI Examples:
147945
147946                 salt '*' partition.probe
147947                 salt '*' partition.probe /dev/sda
147948                 salt '*' partition.probe /dev/sda /dev/sdb
147949
147950       salt.modules.parted.rescue(device, start, end)
147951              Rescue a lost partition that was located somewhere between start
147952              and end.  If a partition is found, parted will ask if  you  want
147953              to create an entry for it in the partition table.
147954
147955              CLI Example:
147956
147957                 salt '*' partition.rescue /dev/sda 0 8056
147958
147959       salt.modules.parted.resize(device, minor, start, end)
147960              Resizes the partition with number <minor>.
147961
147962              The partition will start <start> from the beginning of the disk,
147963              and end <end> from the  beginning  of  the  disk.  resize  never
147964              changes  the  minor number.  Extended partitions can be resized,
147965              so long as the new extended partition  completely  contains  all
147966              logical partitions.
147967
147968              CLI Example:
147969
147970                 salt '*' partition.resize /dev/sda 3 200 850
147971
147972       salt.modules.parted.rm(device, minor)
147973              Removes the partition with number <minor>.
147974
147975              CLI Example:
147976
147977                 salt '*' partition.rm /dev/sda 5
147978
147979       salt.modules.parted.set_(device, minor, flag, state)
147980              Changes a flag on the partition with number <minor>.
147981
147982              A  flag  can  be  either  "on" or "off" (make sure to use proper
147983              quoting, see YAML Idiosyncrasies). Some or all  of  these  flags
147984              will be available, depending on what disk label you are using.
147985
147986              Valid  flags are: bios_grub, legacy_boot, boot, lba, root, swap,
147987              hidden, raid,
147988                     LVM, PALO, PREP, DIAG
147989
147990              CLI Example:
147991
147992                 salt '*' partition.set /dev/sda 1 boot '"on"'
147993
147994       salt.modules.parted.set_id(device, minor, system_id)
147995              Sets the system ID for the partition. Some typical values are:
147996
147997                  b: FAT32 (vfat)
147998                  7: HPFS/NTFS
147999                 82: Linux Swap
148000                 83: Linux
148001                 8e: Linux LVM
148002                 fd: Linux RAID Auto
148003
148004              CLI Example:
148005
148006                 salt '*' partition.set_id /dev/sda 1 83
148007
148008       salt.modules.parted.system_types()
148009              List the system types that are supported by the  installed  ver‐
148010              sion of sfdisk
148011
148012              CLI Example:
148013
148014                 salt '*' partition.system_types
148015
148016       salt.modules.parted.toggle(device, partition, flag)
148017
148018              Toggle  the  state of <flag> on <partition>. Valid flags are the
148019              same as
148020                     the set command.
148021
148022              CLI Example:
148023
148024                 salt '*' partition.toggle /dev/sda 1 boot
148025
148026   salt.modules.pcs module
148027   Configure a Pacemaker/Corosync cluster with PCS
148028       Configure Pacemaker/Cororsync  clusters  with  the  Pacemaker/Cororsync
148029       conifguration system (PCS)
148030
148031       depends
148032              pcs
148033
148034       New in version 2016.3.0.
148035
148036
148037       salt.modules.pcs.auth(nodes,  pcsuser=u'hacluster', pcspasswd=u'haclus‐
148038       ter', extra_args=None)
148039              Authorize nodes to the cluster
148040
148041              nodes  a list of nodes which should be authorized to the cluster
148042
148043              pcsuser
148044                     user for communitcation with PCS (default: hacluster)
148045
148046              pcspasswd
148047                     password for pcsuser (default: hacluster)
148048
148049              extra_args
148050                     list of extra option for the 'pcs cluster auth' command
148051
148052              CLI Example:
148053
148054                 salt '*' pcs.auth nodes='[ node1.example.org node2.example.org ]' pcsuser=hacluster pcspasswd=hoonetorg extra_args="[ '--force' ]"
148055
148056       salt.modules.pcs.cib_create(cibfile,            scope=u'configuration',
148057       extra_args=None)
148058              Create a CIB-file from the current CIB of the cluster
148059
148060              cibfile
148061                     name/path of the file containing the CIB
148062
148063              scope  specific section of the CIB (default: configuration)
148064
148065              extra_args
148066                     additional options for creating the CIB-file
148067
148068              CLI Example:
148069
148070                 salt '*' pcs.cib_create cibfile='/tmp/VIP_apache_1.cib' scope=False
148071
148072       salt.modules.pcs.cib_push(cibfile,              scope=u'configuration',
148073       extra_args=None)
148074              Push a CIB-file as the new CIB to the cluster
148075
148076              cibfile
148077                     name/path of the file containing the CIB
148078
148079              scope  specific section of the CIB (default: configuration)
148080
148081              extra_args
148082                     additional options for creating the CIB-file
148083
148084              CLI Example:
148085
148086                 salt '*' pcs.cib_push cibfile='/tmp/VIP_apache_1.cib' scope=False
148087
148088       salt.modules.pcs.cluster_node_add(node, extra_args=None)
148089              Add a node to the pacemaker cluster via pcs command
148090
148091              node   node that should be added
148092
148093              extra_args
148094                     list of extra option for the 'pcs cluster node add'  com‐
148095                     mand
148096
148097              CLI Example:
148098
148099                 salt '*' pcs.cluster_node_add node=node2.example.org
148100
148101       salt.modules.pcs.cluster_setup(nodes,     pcsclustername=u'pcscluster',
148102       extra_args=None)
148103              Setup pacemaker cluster via pcs command
148104
148105              nodes  a list of nodes which should be set up
148106
148107              pcsclustername
148108                     Name of the Pacemaker cluster (default: pcscluster)
148109
148110              extra_args
148111                     list of extra option for the 'pcs cluster setup' command
148112
148113              CLI Example:
148114
148115                 salt '*' pcs.cluster_setup nodes='[ node1.example.org node2.example.org ]' pcsclustername=pcscluster
148116
148117       salt.modules.pcs.config_show(cibfile=None)
148118              Show config of cluster
148119
148120              cibfile
148121                     name/path of the file containing the CIB
148122
148123              CLI Example:
148124
148125                 salt '*' pcs.config_show cibfile='/tmp/cib_for_galera'
148126
148127       salt.modules.pcs.is_auth(nodes)
148128              Check if nodes are already authorized
148129
148130              nodes  a list of nodes to be checked for  authorization  to  the
148131                     cluster
148132
148133              CLI Example:
148134
148135                 salt '*' pcs.is_auth nodes='[node1.example.org node2.example.org]'
148136
148137       salt.modules.pcs.item_create(item,  item_id,  item_type,  create=u'cre‐
148138       ate', extra_args=None, cibfile=None)
148139              Create an item via pcs command (mainly  for  use  with  the  pcs
148140              state module)
148141
148142              item   config, property, resource, constraint etc.
148143
148144              item_id
148145                     id of the item
148146
148147              item_type
148148                     item type
148149
148150              create create command (create or set f.e., default: create)
148151
148152              extra_args
148153                     additional options for the pcs command
148154
148155              cibfile
148156                     use cibfile instead of the live CIB
148157
148158       salt.modules.pcs.item_show(item,      item_id=None,     item_type=None,
148159       show=u'show', extra_args=None, cibfile=None)
148160              Show an item via pcs command (mainly for use with the pcs  state
148161              module)
148162
148163              item   config, property, resource, constraint etc.
148164
148165              item_id
148166                     id of the item
148167
148168              item_type
148169                     item type
148170
148171              show   show command (probably None, default: show)
148172
148173              extra_args
148174                     additional options for the pcs command
148175
148176              cibfile
148177                     use cibfile instead of the live CIB
148178
148179       salt.modules.pcs.prop_set(prop, value, extra_args=None, cibfile=None)
148180              Set the value of a cluster property
148181
148182              prop   name of the property
148183
148184              value  value of the property prop
148185
148186              extra_args
148187                     additional options for the pcs property command
148188
148189              cibfile
148190                     use cibfile instead of the live CIB
148191
148192              CLI Example:
148193
148194                 salt '*' pcs.prop_set prop='no-quorum-policy' value='ignore' cibfile='/tmp/2_node_cluster.cib'
148195
148196       salt.modules.pcs.prop_show(prop, extra_args=None, cibfile=None)
148197              Show the value of a cluster property
148198
148199              prop   name of the property
148200
148201              extra_args
148202                     additional options for the pcs property command
148203
148204              cibfile
148205                     use cibfile instead of the live CIB
148206
148207              CLI Example:
148208
148209                 salt '*' pcs.prop_show cibfile='/tmp/2_node_cluster.cib' prop='no-quorum-policy' cibfile='/tmp/2_node_cluster.cib'
148210
148211       salt.modules.pcs.resource_create(resource_id,            resource_type,
148212       resource_options=None, cibfile=None)
148213              Create a resource via pcs command
148214
148215              resource_id
148216                     name for the resource
148217
148218              resource_type
148219                     resource type (f.e. ocf:heartbeat:IPaddr2 or VirtualIP)
148220
148221              resource_options
148222                     additional options for creating the resource
148223
148224              cibfile
148225                     use cibfile instead of the live CIB for manipulation
148226
148227              CLI Example:
148228
148229                 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'
148230
148231       salt.modules.pcs.resource_show(resource_id,    extra_args=None,    cib‐
148232       file=None)
148233              Show a resource via pcs command
148234
148235              resource_id
148236                     name of the resource
148237
148238              extra_args
148239                     additional options for the pcs command
148240
148241              cibfile
148242                     use cibfile instead of the live CIB
148243
148244              CLI Example:
148245
148246                 salt '*' pcs.resource_show resource_id='galera' cibfile='/tmp/cib_for_galera.cib'
148247
148248       salt.modules.pcs.stonith_create(stonith_id,        stonith_device_type,
148249       stonith_device_options=None, cibfile=None)
148250              Create a stonith resource via pcs command
148251
148252              stonith_id
148253                     name for the stonith resource
148254
148255              stonith_device_type
148256                     name of the stonith agent fence_eps, fence_xvm f.e.
148257
148258              stonith_device_options
148259                     additional options for creating the stonith resource
148260
148261              cibfile
148262                     use cibfile instead of the live CIB for manipulation
148263
148264              CLI Example:
148265
148266                 salt '*' pcs.stonith_create stonith_id='eps_fence' stonith_device_type='fence_eps'
148267                                             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'
148268
148269       salt.modules.pcs.stonith_show(stonith_id,     extra_args=None,     cib‐
148270       file=None)
148271              Show the value of a cluster stonith
148272
148273              stonith_id
148274                     name for the stonith resource
148275
148276              extra_args
148277                     additional options for the pcs stonith command
148278
148279              cibfile
148280                     use cibfile instead of the live CIB
148281
148282              CLI Example:
148283
148284                 salt '*' pcs.stonith_show stonith_id='eps_fence' cibfile='/tmp/2_node_cluster.cib'
148285
148286   salt.modules.pdbedit
148287       Manage accounts in Samba's passdb using pdbedit
148288
148289       maintainer
148290              Jorge Schrauwen <sjorge@blackdot.be>
148291
148292       maturity
148293              new
148294
148295       platform
148296              posix
148297
148298       New in version 2017.7.0.
148299
148300
148301       salt.modules.pdbedit.create(login,   password,   password_hashed=False,
148302       machine_account=False)
148303              Create user account
148304
148305              login  string login name
148306
148307              password
148308                     string password
148309
148310              password_hashed
148311                     boolean set if password is a nt  hash  instead  of  plain
148312                     text
148313
148314              machine_account
148315                     boolean set to create a machine trust account instead
148316
148317              CLI Example:
148318
148319                 salt '*' pdbedit.create zoe 9764951149F84E770889011E1DC4A927 nthash
148320                 salt '*' pdbedit.create river  1sw4ll0w3d4bug
148321
148322       salt.modules.pdbedit.delete(login)
148323              Delete user account
148324
148325              login  string login name
148326
148327              CLI Example:
148328
148329                 salt '*' pdbedit.delete wash
148330
148331       salt.modules.pdbedit.generate_nt_hash(password)
148332              Generate a NT HASH
148333
148334              CLI Example:
148335
148336                 salt '*' pdbedit.generate_nt_hash my_passwd
148337
148338       salt.modules.pdbedit.get_user(login, hashes=False)
148339              Get user account details
148340
148341              login  string login name
148342
148343              hashes boolean include NTHASH and LMHASH in verbose output
148344
148345              CLI Example:
148346
148347                 salt '*' pdbedit.get kaylee
148348
148349       salt.modules.pdbedit.list_users(verbose=True, hashes=False)
148350              List user accounts
148351
148352              verbose
148353                     boolean return all information
148354
148355              hashes boolean include NT HASH and LM HASH in verbose output
148356
148357              CLI Example:
148358
148359                 salt '*' pdbedit.list
148360
148361       salt.modules.pdbedit.modify(login,         password=None,         pass‐
148362       word_hashed=False, domain=None, profile=None, script=None,  drive=None,
148363       homedir=None,  fullname=None,  account_desc=None, account_control=None,
148364       machine_sid=None,        user_sid=None,        reset_login_hours=False,
148365       reset_bad_password_count=False)
148366              Modify user account
148367
148368              login  string login name
148369
148370              password
148371                     string password
148372
148373              password_hashed
148374                     boolean  set  if  password  is a nt hash instead of plain
148375                     text
148376
148377              domain string users domain
148378
148379              profile
148380                     string profile path
148381
148382              script string logon script
148383
148384              drive  string home drive
148385
148386              homedir
148387                     string home directory
148388
148389              fullname
148390                     string full name
148391
148392              account_desc
148393                     string account description
148394
148395              machine_sid
148396                     string specify the machines new primary group SID or rid
148397
148398              user_sid
148399                     string specify the users new primary group SID or rid
148400
148401              account_control
148402                     string specify user account control properties
148403
148404                     NOTE:
148405                        Only the following  can  be  set:  -  N:  No  password
148406                        required  -  D:  Account  disabled - H: Home directory
148407                        required - L: Automatic Locking - X: Password does not
148408                        expire
148409
148410              reset_login_hours
148411                     boolean reset the users allowed logon hours
148412
148413              reset_bad_password_count
148414                     boolean reset the stored bad login counter
148415
148416              NOTE:
148417                 if  user is absent and password is provided, the user will be
148418                 created
148419
148420              CLI Example:
148421
148422                 salt '*' pdbedit.modify inara fullname='Inara Serra'
148423                 salt '*' pdbedit.modify simon password=r1v3r
148424                 salt '*' pdbedit.modify jane drive='V:' homedir='\\serenity\jane\profile'
148425                 salt '*' pdbedit.modify mal account_control=NX
148426
148427   salt.modules.pecl
148428       Manage PHP pecl extensions.
148429
148430       salt.modules.pecl.install(pecls,  defaults=False,   force=False,   pre‐
148431       ferred_state=u'stable')
148432              New in version 0.17.0.
148433
148434
148435              Installs one or several pecl extensions.
148436
148437              pecls  The pecl extensions to install.
148438
148439              defaults
148440                     Use  default  answers  for  extensions  such as pecl_http
148441                     which ask questions  before  installation.  Without  this
148442                     option,  the  pecl.installed state will hang indefinitely
148443                     when trying to install these extensions.
148444
148445              force  Whether to force the installed version or not
148446
148447              CLI Example:
148448
148449                 salt '*' pecl.install fuse
148450
148451       salt.modules.pecl.list_(channel=None)
148452              List installed pecl extensions.
148453
148454              CLI Example:
148455
148456                 salt '*' pecl.list
148457
148458       salt.modules.pecl.uninstall(pecls)
148459              Uninstall one or several pecl extensions.
148460
148461              pecls  The pecl extensions to uninstall.
148462
148463              CLI Example:
148464
148465                 salt '*' pecl.uninstall fuse
148466
148467       salt.modules.pecl.update(pecls)
148468              Update one or several pecl extensions.
148469
148470              pecls  The pecl extensions to update.
148471
148472              CLI Example:
148473
148474                 salt '*' pecl.update fuse
148475
148476   salt.modules.peeringdb module
148477   PeeringDB Module
148478       New in version Fluorine.
148479
148480
148481       Execution module for the basic interaction with the PeeringDB API.
148482
148483       While for GET operations (the functions prefixed by get_)  the  creden‐
148484       tials  are  optional,  there are some specific details that are visible
148485       only to authenticated users. Moreover,  the  credentials  are  required
148486       when adding or updating information. That means, the module can equally
148487       work out of the box without any further configuration with the  limita‐
148488       tions imposed by the PeeringDB API.
148489
148490       For     complete     API     documentation,     please     refer     to
148491       https://www.peeringdb.com/apidocs/.
148492
148493       Configuration (in the opts or Pillar):
148494
148495          peeringdb:
148496            username: salt
148497            password: 5@1t
148498
148499       salt.modules.peeringdb.get_fac(**kwargs)
148500              Return the details of the facility identified using  the  search
148501              filters specified in the query.
148502
148503              NOTE:
148504                 If  no  id  or filter arguments are specified, it will return
148505                 all the possible facilities registered in PeeringDB.
148506
148507                 The     available     filters     are     documented      at:
148508                 https://www.peeringdb.com/apidocs/#!/netfac/netfac_list
148509
148510              CLI Example:
148511
148512                 salt '*' peeringdb.get_fac id=1774
148513                 salt '*' peeringdb.get_fac state=UT
148514
148515       salt.modules.peeringdb.get_ix(**kwargs)
148516              Return the details of an IX (Internet Exchange) using the search
148517              filters specified in the query.
148518
148519              NOTE:
148520                 If no id or filter arguments are specified,  it  will  return
148521                 all the possible IXs registered in PeeringDB.
148522
148523                 The      available     filters     are     documented     at:
148524                 https://www.peeringdb.com/apidocs/#!/ix/ix_list
148525
148526              CLI Example:
148527
148528                 salt '*' peeringdb.get_ix id=1
148529                 salt '*' peeringdb.get_ix city='Milwaukee'
148530
148531       salt.modules.peeringdb.get_ixfac(**kwargs)
148532              Return the details of an IX (Internet Exchange)  facility  using
148533              the search filters specified in the query.
148534
148535              NOTE:
148536                 If  no  id  or filter arguments are specified, it will return
148537                 all the possible IX facilities registered in PeeringDB.
148538
148539                 The     available     filters     are     documented      at:
148540                 https://www.peeringdb.com/apidocs/#!/ixfac/ixfac_list
148541
148542              CLI Example:
148543
148544                 salt '*' peeringdb.get_ixfac id=1
148545                 salt '*' peeringdb.get_ixfac city='Milwaukee'
148546
148547       salt.modules.peeringdb.get_ixlan(**kwargs)
148548              Return  the  details  of an IX (Internet Exchange) together with
148549              the networks available in this  location  (and  their  details),
148550              using the search filters specified in the query.
148551
148552              NOTE:
148553                 If  no  id  or filter arguments are specified, it will return
148554                 all the possible IX LAN facilities registered in PeeringDB.
148555
148556                 The     available     filters     are     documented      at:
148557                 https://www.peeringdb.com/apidocs/#!/ixlan/ixlan_list
148558
148559              CLI Example:
148560
148561                 salt '*' peeringdb.get_ixlan id=780
148562                 salt '*' peeringdb.get_ixlan city='Milwaukee'
148563
148564       salt.modules.peeringdb.get_ixpfx(**kwargs)
148565              Return  the  details  of an IX (Internet Exchange) together with
148566              the PeeringDB IDs of the networks available  in  this  location,
148567              using the search filters specified in the query.
148568
148569              NOTE:
148570                 If  no  id  or filter arguments are specified, it will return
148571                 all the possible IX LAN facilities registered in PeeringDB.
148572
148573                 The     available     filters     are     documented      at:
148574                 https://www.peeringdb.com/apidocs/#!/ixpfx/ixpfx_list
148575
148576              CLI Example:
148577
148578                 salt '*' peeringdb.get_ixpfx id=780
148579                 salt '*' peeringdb.get_ixpfx city='Milwaukee'
148580
148581       salt.modules.peeringdb.get_net(**kwargs)
148582              Return the details of a network identified using the search fil‐
148583              ters specified in the query.
148584
148585              NOTE:
148586                 If no id or filter arguments are specified,  it  will  return
148587                 all the possible networks registered in PeeringDB.
148588
148589                 The      available     filters     are     documented     at:
148590                 https://www.peeringdb.com/apidocs/#!/net/net_list
148591
148592              CLI Example:
148593
148594                 salt '*' peeringdb.get_net id=4224
148595                 salt '*' peeringdb.get_net asn=13335
148596                 salt '*' peeringdb.get_net city='Salt Lake City'
148597                 salt '*' peeringdb.get_net name__startswith=GTT
148598
148599       salt.modules.peeringdb.get_netfac(**kwargs)
148600              Return the list of facilities  used  by  a  particular  network,
148601              given the id or other filters specified in the query.
148602
148603              NOTE:
148604                 If  no  id  or filter arguments are specified, it will return
148605                 all the possible network facilities registered in PeeringDB.
148606
148607                 The     available     filters     are     documented      at:
148608                 https://www.peeringdb.com/apidocs/#!/netfac/netfac_list
148609
148610              CLI Example:
148611
148612                 salt '*' peeringdb.get_netfac id=780
148613                 salt '*' peeringdb.get_netfac city='Milwaukee'
148614
148615       salt.modules.peeringdb.get_netixlan(**kwargs)
148616              Return  the IP addresses used by a particular network at all the
148617              IXs where it is available. The network is  selected  either  via
148618              the id argument or the other filters specified in the query.
148619
148620              NOTE:
148621                 If  no  id  or filter arguments are specified, it will return
148622                 all the possible IP addresses, of all networks, at  all  IXs,
148623                 registered in PeeringDB.
148624
148625                 The      available     filters     are     documented     at:
148626                 https://www.peeringdb.com/apidocs/#!/netixlan/netixlan_list
148627
148628              CLI Example:
148629
148630                 salt '*' peeringdb.get_netixlan asn=13335
148631                 salt '*' peeringdb.get_netixlan ipaddr4=185.1.114.25
148632
148633       salt.modules.peeringdb.get_org(**kwargs)
148634              Return the details of an organisation together with the networks
148635              available  in  this location, using the search filters specified
148636              in the query.
148637
148638              NOTE:
148639                 If no id or filter arguments are specified,  it  will  return
148640                 all the possible organisations registered in PeeringDB.
148641
148642                 The      available     filters     are     documented     at:
148643                 https://www.peeringdb.com/apidocs/#!/org/org_list
148644
148645              CLI Example:
148646
148647                 salt '*' peeringdb.get_org id=2
148648                 salt '*' peeringdb.get_org city=Duesseldorf
148649
148650       salt.modules.peeringdb.get_poc(**kwargs)
148651              Return the details of a person of  contact  together  using  the
148652              search filters specified in the query.
148653
148654              NOTE:
148655                 If  no  id  or filter arguments are specified, it will return
148656                 all the possible contacts registered in PeeringDB.
148657
148658                 The     available     filters     are     documented      at:
148659                 https://www.peeringdb.com/apidocs/#!/poc/poc_list
148660
148661              CLI Example:
148662
148663                 salt '*' peeringdb.get_poc id=6721
148664                 salt '*' peeringdb.get_poc email__contains='@cloudflare.com'
148665
148666   salt.modules.pf
148667       Control the OpenBSD packet filter (PF).
148668
148669       codeauthor
148670              Jasper Lievisse Adriaanse <j@jasper.la>
148671
148672       New in version Fluorine.
148673
148674
148675       salt.modules.pf.disable()
148676              Disable the Packet Filter.
148677
148678              CLI example:
148679
148680                 salt '*' pf.disable
148681
148682       salt.modules.pf.enable()
148683              Enable the Packet Filter.
148684
148685              CLI example:
148686
148687                 salt '*' pf.enable
148688
148689       salt.modules.pf.flush(modifier)
148690              Flush the specified packet filter parameters.
148691
148692              modifier:
148693                     Should be one of the following:
148694
148695                     · all
148696
148697                     · info
148698
148699                     · osfp
148700
148701                     · rules
148702
148703                     · sources
148704
148705                     · states
148706
148707                     · tables
148708
148709                     Please  refer to the OpenBSD pfctl(8) documentation for a
148710                     detailed explanation of each command.
148711
148712              CLI example:
148713
148714                 salt '*' pf.flush states
148715
148716       salt.modules.pf.load(file=u'/etc/pf.conf', noop=False)
148717              Load a ruleset from the specific file, overwriting the currently
148718              loaded ruleset.
148719
148720              file:  Full path to the file containing the ruleset.
148721
148722              noop:  Don't actually load the rules, just parse them.
148723
148724              CLI example:
148725
148726                 salt '*' pf.load /etc/pf.conf.d/lockdown.conf
148727
148728       salt.modules.pf.loglevel(level)
148729              Set  the  debug  level which limits the severity of log messages
148730              printed by pf(4).
148731
148732              level: Log level. Should be one of the following: emerg,  alert,
148733                     crit, err, warning, notice, info or debug.
148734
148735              CLI example:
148736
148737                 salt '*' pf.loglevel emerg
148738
148739       salt.modules.pf.show(modifier)
148740              Show filter parameters.
148741
148742              modifier:
148743                     Modifier  to apply for filtering. Only a useful subset of
148744                     what pfctl supports can be used with Salt.
148745
148746                     · rules
148747
148748                     · states
148749
148750                     · tables
148751
148752              CLI example:
148753
148754                 salt '*' pf.show rules
148755
148756       salt.modules.pf.table(command, table, **kwargs)
148757              Apply a command on the specified table.
148758
148759              table: Name of the table.
148760
148761              command:
148762                     Command to apply to the table. Supported commands are:
148763
148764                     · add
148765
148766                     · delete
148767
148768                     · expire
148769
148770                     · flush
148771
148772                     · kill
148773
148774                     · replace
148775
148776                     · show
148777
148778                     · test
148779
148780                     · zero
148781
148782                     Please refer to the OpenBSD pfctl(8) documentation for  a
148783                     detailed explanation of each command.
148784
148785              CLI example:
148786
148787                 salt '*' pf.table expire table=spam_hosts number=300
148788                 salt '*' pf.table add table=local_hosts addresses='["127.0.0.1", "::1"]'
148789
148790   salt.modules.philips_hue module
148791       Philips HUE lamps module for proxy.
148792
148793       New in version 2015.8.3.
148794
148795
148796   salt.modules.pillar
148797       Extract the pillar data for this minion
148798
148799       salt.modules.pillar.ext(external, pillar=None)
148800              Changed  in  version  2016.3.6,2016.11.3,2017.7.0: The supported
148801              ext_pillar types are now tunable using the  on_demand_ext_pillar
148802              config option. Earlier releases used a hard-coded default.
148803
148804
148805              Generate the pillar and apply an explicit external pillar
148806
148807              external
148808                     A  single  ext_pillar to add to the ext_pillar configura‐
148809                     tion. This must be passed as a single  section  from  the
148810                     ext_pillar  configuration  (see  CLI examples below). For
148811                     more complicated ext_pillar  configurations,  it  can  be
148812                     helpful  to  use the Python shell to load YAML configura‐
148813                     tion into a dictionary, and figure out
148814
148815                        >>> import salt.utils.yaml
148816                        >>> ext_pillar = salt.utils.yaml.safe_load("""
148817                        ... ext_pillar:
148818                        ...   - git:
148819                        ...     - issue38440 https://github.com/terminalmage/git_pillar:
148820                        ...       - env: base
148821                        ... """)
148822                        >>> ext_pillar
148823                        {'ext_pillar': [{'git': [{'mybranch https://github.com/myuser/myrepo': [{'env': 'base'}]}]}]}
148824                        >>> ext_pillar['ext_pillar'][0]
148825                        {'git': [{'mybranch https://github.com/myuser/myrepo': [{'env': 'base'}]}]}
148826
148827                     In the above example, the value to pass would be  {'git':
148828                     [{'mybranch  https://github.com/myuser/myrepo':  [{'env':
148829                     'base'}]}]}.  Note that this would need to be quoted when
148830                     passing on the CLI (as in the CLI examples below).
148831
148832              pillar None If specified, allows for a dictionary of pillar data
148833                     to be made available to pillar and ext_pillar  rendering.
148834                     These  pillar  variables will also override any variables
148835                     of the same name in pillar or ext_pillar.
148836
148837                     New in version 2015.5.0.
148838
148839
148840              CLI Examples:
148841
148842                 salt '*' pillar.ext '{libvirt: _}'
148843                 salt '*' pillar.ext "{'git': ['master https://github.com/myuser/myrepo']}"
148844                 salt '*' pillar.ext "{'git': [{'mybranch https://github.com/myuser/myrepo': [{'env': 'base'}]}]}"
148845
148846       salt.modules.pillar.fetch(key,  default=<type   'exceptions.KeyError'>,
148847       merge=False,  merge_nested_lists=None,  delimiter=':',  pillarenv=None,
148848       saltenv=None)
148849              New in version 0.14.
148850
148851
148852              Attempt to retrieve the named value from in-memory pillar  data.
148853              If  the  pillar key is not present in the in-memory pillar, then
148854              the value specified in the default option (described below) will
148855              be returned.
148856
148857              If  the  merge  parameter  is  set  to True, the default will be
148858              recursively merged into the returned pillar data.
148859
148860              The value can also represent a value in a nested  dict  using  a
148861              ":"  delimiter for the dict. This means that if a dict in pillar
148862              looks like this:
148863
148864                 {'pkg': {'apache': 'httpd'}}
148865
148866              To retrieve the value associated with the apache key in the  pkg
148867              dict this key can be passed as:
148868
148869                 pkg:apache
148870
148871              key    The pillar key to get value from
148872
148873              default
148874                     The  value  specified  by this option will be returned if
148875                     the desired pillar key does not exist.
148876
148877                     If a default value is specified, then it will be an empty
148878                     string, unless pillar_raise_on_missing is set to True, in
148879                     which case an error will be raised.
148880
148881              merge  False If True, the retrieved values will be  merged  into
148882                     the  passed  default.  When the default and the retrieved
148883                     value are both dictionaries,  the  dictionaries  will  be
148884                     recursively merged.
148885
148886                     New in version 2014.7.0.
148887
148888
148889                     Changed  in  version  2016.3.7,2016.11.4,2017.7.0: If the
148890                     default and the retrieved value are not of the same type,
148891                     then merging will be skipped and the retrieved value will
148892                     be returned. Earlier releases raised an  error  in  these
148893                     cases.
148894
148895
148896              merge_nested_lists
148897                     If set to False, lists nested within the retrieved pillar
148898                     dictionary will overwrite lists in  default.  If  set  to
148899                     True,  nested lists will be merged into lists in default.
148900                     If unspecified (the default), this  option  is  inherited
148901                     from the pillar_merge_lists minion config option.
148902
148903                     NOTE:
148904                        This option is ignored when merge is set to False.
148905
148906                     New in version 2016.11.6.
148907
148908
148909              delimiter
148910                     Specify  an  alternate delimiter to use when traversing a
148911                     nested dict.  This is useful for  when  the  desired  key
148912                     contains a colon. See CLI example below for usage.
148913
148914                     New in version 2014.7.0.
148915
148916
148917              pillarenv
148918                     If specified, this function will query the master to gen‐
148919                     erate fresh pillar data on the fly, specifically from the
148920                     requested  pillar environment. Note that this can produce
148921                     different pillar data than executing this function  with‐
148922                     out  an  environment,  as  its normal behavior is just to
148923                     return a value from minion's pillar data in memory (which
148924                     can be sourced from more than one pillar environment).
148925
148926                     Using  this  argument  will not affect the pillar data in
148927                     memory. It will however be slightly slower and  use  more
148928                     resources on the master due to the need for the master to
148929                     generate and send the  minion  fresh  pillar  data.  This
148930                     tradeoff  in  performance however allows for the use case
148931                     where pillar data is desired only from a single  environ‐
148932                     ment.
148933
148934                     New in version 2017.7.0.
148935
148936
148937              saltenv
148938                     Included     only    for    compatibility    with    pil‐
148939                     larenv_from_saltenv, and is otherwise ignored.
148940
148941                     New in version 2017.7.0.
148942
148943
148944              CLI Example:
148945
148946                 salt '*' pillar.get pkg:apache
148947                 salt '*' pillar.get abc::def|ghi delimiter='|'
148948
148949       salt.modules.pillar.file_exists(path, saltenv=None)
148950              New in version 2016.3.0.
148951
148952
148953              This is a master-only function. Calling from the minion  is  not
148954              supported.
148955
148956              Use  the  given  path and search relative to the pillar environ‐
148957              ments to see if a file exists at that path.
148958
148959              If the saltenv argument is given, restrict search to that  envi‐
148960              ronment only.
148961
148962              Will only work with pillar_roots, not external pillars.
148963
148964              Returns True if the file is found, and False otherwise.
148965
148966              path   The  path  to  the file in question. Will be treated as a
148967                     relative path
148968
148969              saltenv
148970                     Optional argument to restrict the search  to  a  specific
148971                     saltenv
148972
148973              CLI Example:
148974
148975                 salt '*' pillar.file_exists foo/bar.sls
148976
148977       salt.modules.pillar.filter_by(lookup_dict,      pillar,     merge=None,
148978       default=u'default', base=None)
148979              New in version 2017.7.0.
148980
148981
148982              Look up the given pillar in a given dictionary  and  return  the
148983              result
148984
148985              Parameters
148986
148987                     · lookup_dict --
148988
148989                       A  dictionary, keyed by a pillar, containing a value or
148990                       values relevant to systems matching  that  pillar.  For
148991                       example,  a  key  could  be a pillar for a role and the
148992                       value could the name of a package  on  that  particular
148993                       OS.
148994
148995                       The dictionary key can be a globbing pattern. The func‐
148996                       tion will return the  corresponding  lookup_dict  value
148997                       where  the pilalr value matches the  pattern. For exam‐
148998                       ple:
148999
149000                          # this will render 'got some salt' if ``role`` begins with 'salt'
149001                          salt '*' pillar.filter_by '{salt*: got some salt, default: salt is not here}' role
149002
149003
149004                     · pillar --
149005
149006                       The name of a pillar to match with the system's pillar.
149007                       For  example,  the  value of the "role" pillar could be
149008                       used to pull values from the lookup_dict dictionary.
149009
149010                       The pillar value can  be  a  list.  The  function  will
149011                       return  the lookup_dict value for a first found item in
149012                       the list matching one of the lookup_dict keys.
149013
149014
149015                     · merge -- A dictionary to merge with the results of  the
149016                       pillar  selection from lookup_dict. This allows another
149017                       dictionary to override the values in the lookup_dict.
149018
149019                     · default -- default lookup_dict's key used if the pillar
149020                       does  not  exist or if the pillar value has no match on
149021                       lookup_dict.  If unspecified the value is "default".
149022
149023                     · base -- A lookup_dict key to use for a base dictionary.
149024                       The pillar-selected lookup_dict is merged over this and
149025                       then finally the  merge  dictionary  is  merged.   This
149026                       allows  common  values for each case to be collected in
149027                       the base and overridden by the pillar selection dictio‐
149028                       nary and the merge dictionary.  Default is unset.
149029
149030              CLI Example:
149031
149032                 salt '*' pillar.filter_by '{web: Serve it up, db: I query, default: x_x}' role
149033
149034       salt.modules.pillar.get(key,    default=<type   'exceptions.KeyError'>,
149035       merge=False,  merge_nested_lists=None,  delimiter=':',  pillarenv=None,
149036       saltenv=None)
149037              New in version 0.14.
149038
149039
149040              Attempt  to retrieve the named value from in-memory pillar data.
149041              If the pillar key is not present in the in-memory  pillar,  then
149042              the value specified in the default option (described below) will
149043              be returned.
149044
149045              If the merge parameter is set  to  True,  the  default  will  be
149046              recursively merged into the returned pillar data.
149047
149048              The  value  can  also represent a value in a nested dict using a
149049              ":" delimiter for the dict. This means that if a dict in  pillar
149050              looks like this:
149051
149052                 {'pkg': {'apache': 'httpd'}}
149053
149054              To  retrieve the value associated with the apache key in the pkg
149055              dict this key can be passed as:
149056
149057                 pkg:apache
149058
149059              key    The pillar key to get value from
149060
149061              default
149062                     The value specified by this option will  be  returned  if
149063                     the desired pillar key does not exist.
149064
149065                     If a default value is specified, then it will be an empty
149066                     string, unless pillar_raise_on_missing is set to True, in
149067                     which case an error will be raised.
149068
149069              merge  False  If  True, the retrieved values will be merged into
149070                     the passed default. When the default  and  the  retrieved
149071                     value  are  both  dictionaries,  the dictionaries will be
149072                     recursively merged.
149073
149074                     New in version 2014.7.0.
149075
149076
149077                     Changed in version  2016.3.7,2016.11.4,2017.7.0:  If  the
149078                     default and the retrieved value are not of the same type,
149079                     then merging will be skipped and the retrieved value will
149080                     be  returned.  Earlier  releases raised an error in these
149081                     cases.
149082
149083
149084              merge_nested_lists
149085                     If set to False, lists nested within the retrieved pillar
149086                     dictionary  will  overwrite  lists  in default. If set to
149087                     True, nested lists will be merged into lists in  default.
149088                     If  unspecified  (the  default), this option is inherited
149089                     from the pillar_merge_lists minion config option.
149090
149091                     NOTE:
149092                        This option is ignored when merge is set to False.
149093
149094                     New in version 2016.11.6.
149095
149096
149097              delimiter
149098                     Specify an alternate delimiter to use when  traversing  a
149099                     nested  dict.   This  is  useful for when the desired key
149100                     contains a colon. See CLI example below for usage.
149101
149102                     New in version 2014.7.0.
149103
149104
149105              pillarenv
149106                     If specified, this function will query the master to gen‐
149107                     erate fresh pillar data on the fly, specifically from the
149108                     requested pillar environment. Note that this can  produce
149109                     different  pillar data than executing this function with‐
149110                     out an environment, as its normal  behavior  is  just  to
149111                     return a value from minion's pillar data in memory (which
149112                     can be sourced from more than one pillar environment).
149113
149114                     Using this argument will not affect the  pillar  data  in
149115                     memory.  It  will however be slightly slower and use more
149116                     resources on the master due to the need for the master to
149117                     generate  and  send  the  minion  fresh pillar data. This
149118                     tradeoff in performance however allows for the  use  case
149119                     where  pillar data is desired only from a single environ‐
149120                     ment.
149121
149122                     New in version 2017.7.0.
149123
149124
149125              saltenv
149126                     Included    only    for    compatibility    with     pil‐
149127                     larenv_from_saltenv, and is otherwise ignored.
149128
149129                     New in version 2017.7.0.
149130
149131
149132              CLI Example:
149133
149134                 salt '*' pillar.get pkg:apache
149135                 salt '*' pillar.get abc::def|ghi delimiter='|'
149136
149137       salt.modules.pillar.item(*args, **kwargs)
149138              New in version 0.16.2.
149139
149140
149141              Return  one  or  more  pillar  entries from the in-memory pillar
149142              data.
149143
149144              delimiter
149145                     Delimiter used to traverse nested dictionaries.
149146
149147                     NOTE:
149148                        This is different from pillar.get in that  no  default
149149                        value  can  be  specified.  pillar.get should probably
149150                        still be used in most cases to retrieve nested  pillar
149151                        values,  as  it  is a bit more flexible. One reason to
149152                        use this function instead  of  pillar.get  however  is
149153                        when  it  is  desirable to retrieve the values of more
149154                        than one key, since pillar.get can only  retrieve  one
149155                        key at a time.
149156
149157                     New in version 2015.8.0.
149158
149159
149160              pillarenv
149161                     If specified, this function will query the master to gen‐
149162                     erate fresh pillar data on the fly, specifically from the
149163                     requested  pillar environment. Note that this can produce
149164                     different pillar data than executing this function  with‐
149165                     out  an  environment,  as  its normal behavior is just to
149166                     return a value from minion's pillar data in memory (which
149167                     can be sourced from more than one pillar environment).
149168
149169                     Using  this  argument  will not affect the pillar data in
149170                     memory. It will however be slightly slower and  use  more
149171                     resources on the master due to the need for the master to
149172                     generate and send the  minion  fresh  pillar  data.  This
149173                     tradeoff  in  performance however allows for the use case
149174                     where pillar data is desired only from a single  environ‐
149175                     ment.
149176
149177                     New in version 2017.7.6,2018.3.1.
149178
149179
149180              saltenv
149181                     Included     only    for    compatibility    with    pil‐
149182                     larenv_from_saltenv, and is otherwise ignored.
149183
149184                     New in version 2017.7.6,2018.3.1.
149185
149186
149187              CLI Examples:
149188
149189                 salt '*' pillar.item foo
149190                 salt '*' pillar.item foo:bar
149191                 salt '*' pillar.item foo bar baz
149192
149193       salt.modules.pillar.items(*args, **kwargs)
149194              Calls the master for a fresh pillar  and  generates  the  pillar
149195              data on the fly
149196
149197              Contrast  with  raw() which returns the pillar data that is cur‐
149198              rently loaded into the minion.
149199
149200              pillar If specified, allows for a dictionary of pillar  data  to
149201                     be  made  available  to  pillar and ext_pillar rendering.
149202                     these pillar variables will also override  any  variables
149203                     of the same name in pillar or ext_pillar.
149204
149205                     New in version 2015.5.0.
149206
149207
149208              pillar_enc
149209                     If specified, the data passed in the pillar argument will
149210                     be passed through this renderer to decrypt it.
149211
149212                     NOTE:
149213                        This will decrypt on the minion side, so the specified
149214                        renderer  must  be  set  up  on the minion for this to
149215                        work. Alternatively, pillar data can be decrypted mas‐
149216                        ter-side. For more information, see the Pillar Encryp‐
149217                        tion documentation.  Pillar  data  that  is  decrypted
149218                        master-side,  is not decrypted until the end of pillar
149219                        compilation though, so minion-side decryption will  be
149220                        necessary  if  the  encrypted pillar data must be made
149221                        available in an decrypted state pillar/ext_pillar ren‐
149222                        dering.
149223
149224                     New in version 2017.7.0.
149225
149226
149227              pillarenv
149228                     Pass  a specific pillar environment from which to compile
149229                     pillar data.  If not specified, then  the  minion's  pil‐
149230                     larenv option is not used, and if that also is not speci‐
149231                     fied then all  configured  pillar  environments  will  be
149232                     merged into a single pillar dictionary and returned.
149233
149234                     New in version 2016.11.2.
149235
149236
149237              saltenv
149238                     Included     only    for    compatibility    with    pil‐
149239                     larenv_from_saltenv, and is otherwise ignored.
149240
149241              CLI Example:
149242
149243                 salt '*' pillar.items
149244
149245       salt.modules.pillar.keys(key, delimiter=':')
149246              New in version 2015.8.0.
149247
149248
149249              Attempt to retrieve a list of keys from the named value from the
149250              pillar.
149251
149252              The  value  can  also represent a value in a nested dict using a
149253              ":" delimiter for the dict, similar to how pillar.get works.
149254
149255              delimiter
149256                     Specify an alternate delimiter to use when  traversing  a
149257                     nested dict
149258
149259              CLI Example:
149260
149261                 salt '*' pillar.keys web:sites
149262
149263       salt.modules.pillar.ls(*args)
149264              New in version 2015.8.0.
149265
149266
149267              Calls  the  master for a fresh pillar, generates the pillar data
149268              on the fly (same as items()), but only shows the available  main
149269              keys.
149270
149271              CLI Examples:
149272
149273                 salt '*' pillar.ls
149274
149275       salt.modules.pillar.obfuscate(*args)
149276              New in version 2015.8.0.
149277
149278
149279              Same  as  items(),  but replace pillar values with a simple type
149280              indication.
149281
149282              This is useful to avoid displaying sensitive information on con‐
149283              sole  or flooding the console with long output, such as certifi‐
149284              cates.  For many debug or control purposes, the stakes lie  more
149285              in dispatching than in actual values.
149286
149287              In  case  the  value  is  itself  a collection type, obfuscation
149288              occurs within the value.  For mapping types, keys are not obfus‐
149289              cated.  Here are some examples:
149290
149291              · 'secret password' becomes '<str>'
149292
149293              · ['secret', 1] becomes ['<str>', '<int>']
149294
149295              · {'login':  'somelogin',  'pwd':  'secret'}  becomes  {'login':
149296                '<str>', 'pwd': '<str>'}
149297
149298              CLI Examples:
149299
149300                 salt '*' pillar.obfuscate
149301
149302       salt.modules.pillar.raw(key=None)
149303              Return the raw pillar data that is  currently  loaded  into  the
149304              minion.
149305
149306              Contrast  with  items() which calls the master to fetch the most
149307              up-to-date Pillar.
149308
149309              CLI Example:
149310
149311                 salt '*' pillar.raw
149312
149313              With the optional key argument, you can select a subtree of  the
149314              pillar raw data.:
149315
149316                 salt '*' pillar.raw key='roles'
149317
149318   salt.modules.pip
149319       Install Python packages with pip to either the system or a virtualenv
149320
149321   Windows Support
149322       New in version 2014.7.4.
149323
149324
149325       Salt  now  uses a portable python. As a result the entire pip module is
149326       now functional on the salt installation itself.  You  can  pip  install
149327       dependencies  for your custom modules. You can even upgrade salt itself
149328       using pip. For this to work properly,  you  must  specify  the  Current
149329       Working  Directory  (cwd) and the Pip Binary (bin_env) salt should use.
149330       The variable pip_bin can be either a virtualenv path or the path to the
149331       pip binary itself.
149332
149333       For  example,  the  following  command will list all software installed
149334       using pip to your current salt environment:
149335
149336          salt <minion> pip.list cwd='C:\salt\bin\Scripts' bin_env='C:\salt\bin\Scripts\pip.exe'
149337
149338       Specifying the cwd and bin_env options  ensures  you're  modifying  the
149339       salt  environment.  If  these are omitted, it will default to the local
149340       installation of python. If python is not installed locally it will fail
149341       saying it couldn't find pip.
149342
149343   State File Support
149344       This  functionality works in states as well. If you need to pip install
149345       colorama with a state, for example, the following will work:
149346
149347          install_colorama:
149348            pip.installed:
149349              - name: colorama
149350              - cwd: 'C:\salt\bin\scripts'
149351              - bin_env: 'C:\salt\bin\scripts\pip.exe'
149352              - upgrade: True
149353
149354   Upgrading Salt using Pip
149355       You can now update salt using pip to any version from the 2014.7 branch
149356       forward.  Previous version require recompiling some of the dependencies
149357       which is painful in windows.
149358
149359       To do this you just use pip with git to update to the version you  want
149360       and then restart the service. Here is a sample state file that upgrades
149361       salt to the head of the 2015.5 branch:
149362
149363          install_salt:
149364            pip.installed:
149365              - cwd: 'C:\salt\bin\scripts'
149366              - bin_env: 'C:\salt\bin\scripts\pip.exe'
149367              - editable: git+https://github.com/saltstack/salt@2015.5#egg=salt
149368              - upgrade: True
149369
149370          restart_service:
149371            service.running:
149372              - name: salt-minion
149373              - enable: True
149374              - watch:
149375                - pip: install_salt
149376
149377       NOTE:
149378          If you're having problems, you might try doubling the back  slashes.
149379          For example, cwd: 'C:\salt\bin\scripts'. Sometimes python thinks the
149380          single back slash is an escape character.
149381
149382       salt.modules.pip.freeze(bin_env=None,       user=None,        cwd=None,
149383       use_vt=False, env_vars=None, **kwargs)
149384              Return  a  list  of installed packages either globally or in the
149385              specified virtualenv
149386
149387              bin_env
149388                     Path to pip (or to a virtualenv). This  can  be  used  to
149389                     specify  the  path  to  the pip to use when more than one
149390                     Python release is installed  (e.g.   /usr/bin/pip-2.7  or
149391                     /usr/bin/pip-2.6. If a directory path is specified, it is
149392                     assumed to be a virtualenv.
149393
149394              user   The user under which to run pip
149395
149396              cwd    Directory from which to run pip
149397
149398              NOTE:
149399                 If the version of pip available is older than 8.0.3, the list
149400                 will not include the packages pip, wheel, setuptools, or dis‐
149401                 tribute even if they are installed.
149402
149403              CLI Example:
149404
149405                 salt '*' pip.freeze bin_env=/home/code/path/to/virtualenv
149406
149407       salt.modules.pip.install(pkgs=None,  requirements=None,   bin_env=None,
149408       use_wheel=False,   no_use_wheel=False,   log=None,   proxy=None,  time‐
149409       out=None,     editable=None,      find_links=None,      index_url=None,
149410       extra_index_url=None,  no_index=False,  mirrors=None,  build=None, tar‐
149411       get=None,     download=None,     download_cache=None,      source=None,
149412       upgrade=False,      force_reinstall=False,      ignore_installed=False,
149413       exists_action=None, no_deps=False, no_install=False, no_download=False,
149414       global_options=None,    install_options=None,    user=None,   cwd=None,
149415       pre_releases=False, cert=None,  allow_all_external=False,  allow_exter‐
149416       nal=None,     allow_unverified=None,    process_dependency_links=False,
149417       saltenv=u'base',   env_vars=None,   use_vt=False,    trusted_host=None,
149418       no_cache_dir=False, cache_dir=None, no_binary=None, **kwargs)
149419              Install packages with pip
149420
149421              Install  packages  individually or from a pip requirements file.
149422              Install packages globally or to a virtualenv.
149423
149424              pkgs   Comma separated list of packages to install
149425
149426              requirements
149427                     Path to requirements
149428
149429              bin_env
149430                     Path to pip (or to a virtualenv). This  can  be  used  to
149431                     specify  the  path  to  the pip to use when more than one
149432                     Python release is installed  (e.g.   /usr/bin/pip-2.7  or
149433                     /usr/bin/pip-2.6. If a directory path is specified, it is
149434                     assumed to be a virtualenv.
149435
149436                     NOTE:
149437                        For Windows, if  the  pip  module  is  being  used  to
149438                        upgrade the pip package, bin_env should be the path to
149439                        the virtualenv or to the python binary that should  be
149440                        used.   The pip command is unable to upgrade itself in
149441                        Windows.
149442
149443              use_wheel
149444                     Prefer wheel archives (requires pip>=1.4)
149445
149446              no_use_wheel
149447                     Force   to   not    use    wheel    archives    (requires
149448                     pip>=1.4,<10.0.0)
149449
149450              no_binary
149451                     Force  to not use binary packages (requires pip >= 7.0.0)
149452                     Accepts either :all:  to  disable  all  binary  packages,
149453                     :none:  to  empty  the  set, or one or more package names
149454                     with commas between them
149455
149456              log    Log file where a complete (maximum verbosity) record will
149457                     be kept
149458
149459              proxy  Specify       a       proxy       in       the       form
149460                     user:passwd@proxy.server:port. Note that  the  user:pass‐
149461                     word@  is optional and required only if you are behind an
149462                     authenticated      proxy.      If       you       provide
149463                     user@proxy.server:port  then  you  will be prompted for a
149464                     password.
149465
149466              timeout
149467                     Set the socket timeout (default 15 seconds)
149468
149469              editable
149470                     install         something         editable          (e.g.
149471                     git+https://github.com/worldcompany/djangoem
149472                     bed.git#egg=djangoembed)
149473
149474              find_links
149475                     URL to search for packages
149476
149477              index_url
149478                     Base URL of Python Package Index
149479
149480              extra_index_url
149481                     Extra URLs of package  indexes  to  use  in  addition  to
149482                     index_url
149483
149484              no_index
149485                     Ignore package index
149486
149487              mirrors
149488                     Specific  mirror  URL(s)  to  query  (automatically  adds
149489                     --use-mirrors)
149490
149491                     WARNING:
149492                        This option has been deprecated  and  removed  in  pip
149493                        version    7.0.0.    Please   use   index_url   and/or
149494                        extra_index_url instead.
149495
149496              build  Unpack packages into build dir
149497
149498              target Install packages into target dir
149499
149500              download
149501                     Download packages into  download  instead  of  installing
149502                     them
149503
149504              download_cache | cache_dir
149505                     Cache  downloaded packages in download_cache or cache_dir
149506                     dir
149507
149508              source Check out editable packages into source dir
149509
149510              upgrade
149511                     Upgrade all packages to the newest available version
149512
149513              force_reinstall
149514                     When upgrading, reinstall all packages even if  they  are
149515                     already up-to-date.
149516
149517              ignore_installed
149518                     Ignore the installed packages (reinstalling instead)
149519
149520              exists_action
149521                     Default  action  when  a  path  already exists: (s)witch,
149522                     (i)gnore, (w)ipe, (b)ackup
149523
149524              no_deps
149525                     Ignore package dependencies
149526
149527              no_install
149528                     Download and unpack  all  packages,  but  don't  actually
149529                     install them
149530
149531              no_download
149532                     Don't  download  any  packages,  just  install  the  ones
149533                     already  downloaded  (completes  an  install   run   with
149534                     --no-install)
149535
149536              install_options
149537                     Extra  arguments  to  be supplied to the setup.py install
149538                     command                    (e.g.                     like
149539                     --install-option='--install-scripts=/usr/local/bin').
149540                     Use multiple --install-option options  to  pass  multiple
149541                     options  to  setup.py install. If you are using an option
149542                     with a directory path, be sure to use absolute path.
149543
149544              global_options
149545                     Extra global options to be supplied to the setup.py  call
149546                     before the install command.
149547
149548              user   The user under which to run pip
149549
149550              cwd    Directory from which to run pip
149551
149552              pre_releases
149553                     Include pre-releases in the available versions
149554
149555              cert   Provide a path to an alternate CA bundle
149556
149557              allow_all_external
149558                     Allow the installation of all externally hosted files
149559
149560              allow_external
149561                     Allow  the installation of externally hosted files (comma
149562                     separated list)
149563
149564              allow_unverified
149565                     Allow the installation of insecure and unverifiable files
149566                     (comma separated list)
149567
149568              process_dependency_links
149569                     Enable the processing of dependency links
149570
149571              env_vars
149572                     Set  environment  variables  that some builds will depend
149573                     on. For example, a Python C-module may  have  a  Makefile
149574                     that  needs  INCLUDE_PATH  set  to  pick up a header file
149575                     while compiling.  This must be in the form of  a  dictio‐
149576                     nary or a mapping.
149577
149578                     Example:
149579
149580                        salt '*' pip.install django_app env_vars="{'CUSTOM_PATH': '/opt/django_app'}"
149581
149582              trusted_host
149583                     Mark  this  host as trusted, even though it does not have
149584                     valid or any HTTPS.
149585
149586              use_vt Use VT terminal emulation (see output while installing)
149587
149588              no_cache_dir
149589                     Disable the cache.
149590
149591              CLI Example:
149592
149593                 salt '*' pip.install <package name>,<package2 name>
149594                 salt '*' pip.install requirements=/path/to/requirements.txt
149595                 salt '*' pip.install <package name> bin_env=/path/to/virtualenv
149596                 salt '*' pip.install <package name> bin_env=/path/to/pip_bin
149597
149598              Complicated CLI example:
149599
149600                 salt '*' pip.install markdown,django                 editable=git+https://github.com/worldcompany/djangoembed.git#egg=djangoembed upgrade=True no_deps=True
149601
149602       salt.modules.pip.is_installed(pkgname=None,  bin_env=None,   user=None,
149603       cwd=None)
149604              New in version 2018.3.0.
149605
149606
149607              Filter  list  of  installed  apps from freeze and return True or
149608              False  if pkgname exists in the list of packages installed.
149609
149610              NOTE:
149611                 If the version of pip available  is  older  than  8.0.3,  the
149612                 packages  wheel,  setuptools,  and  distribute  will  not  be
149613                 reported by this function even if they are installed.  Unlike
149614                 pip.freeze,  this  function always reports the version of pip
149615                 which is installed.
149616
149617              CLI Example:
149618
149619                 salt '*' pip.is_installed salt
149620
149621       salt.modules.pip.list_(prefix=None, bin_env=None, user=None,  cwd=None,
149622       env_vars=None, **kwargs)
149623              Filter  list  of  installed apps from freeze and check to see if
149624              prefix exists in the list of packages installed.
149625
149626              NOTE:
149627                 If the version of pip available  is  older  than  8.0.3,  the
149628                 packages  wheel,  setuptools,  and  distribute  will  not  be
149629                 reported by this function even if they are installed.  Unlike
149630                 pip.freeze,  this  function always reports the version of pip
149631                 which is installed.
149632
149633              CLI Example:
149634
149635                 salt '*' pip.list salt
149636
149637       salt.modules.pip.list_all_versions(pkg,                   bin_env=None,
149638       include_alpha=False,  include_beta=False,  include_rc=False, user=None,
149639       cwd=None, index_url=None, extra_index_url=None)
149640              New in version 2017.7.3.
149641
149642
149643              List all available versions of a pip package
149644
149645              pkg    The package to check
149646
149647              bin_env
149648                     Path to pip (or to a virtualenv). This  can  be  used  to
149649                     specify  the  path  to  the pip to use when more than one
149650                     Python release is installed  (e.g.   /usr/bin/pip-2.7  or
149651                     /usr/bin/pip-2.6. If a directory path is specified, it is
149652                     assumed to be a virtualenv.
149653
149654              include_alpha
149655                     Include alpha versions in the list
149656
149657              include_beta
149658                     Include beta versions in the list
149659
149660              include_rc
149661                     Include release candidates versions in the list
149662
149663              user   The user under which to run pip
149664
149665              cwd    Directory from which to run pip
149666
149667              index_url
149668                     Base URL of Python Package Index
149669
149670              extra_index_url
149671                     Additional URL of Python Package Index
149672
149673              CLI Example:
149674
149675                 salt '*' pip.list_all_versions <package name>
149676
149677       salt.modules.pip.list_upgrades(bin_env=None, user=None, cwd=None)
149678              Check whether or not an upgrade is available for all packages
149679
149680              CLI Example:
149681
149682                 salt '*' pip.list_upgrades
149683
149684       salt.modules.pip.uninstall(pkgs=None, requirements=None,  bin_env=None,
149685       log=None,     proxy=None,     timeout=None,     user=None,    cwd=None,
149686       saltenv=u'base', use_vt=False)
149687              Uninstall packages individually or from a pip requirements file
149688
149689              pkgs   comma separated list of packages to install
149690
149691              requirements
149692                     Path to requirements file
149693
149694              bin_env
149695                     Path to pip (or to a virtualenv). This  can  be  used  to
149696                     specify  the  path  to  the pip to use when more than one
149697                     Python release is installed  (e.g.   /usr/bin/pip-2.7  or
149698                     /usr/bin/pip-2.6. If a directory path is specified, it is
149699                     assumed to be a virtualenv.
149700
149701              log    Log file where a complete (maximum verbosity) record will
149702                     be kept
149703
149704              proxy  Specify       a       proxy       in      the      format
149705                     user:passwd@proxy.server:port. Note that  the  user:pass‐
149706                     word@  is optional and required only if you are behind an
149707                     authenticated      proxy.       If      you       provide
149708                     user@proxy.server:port  then  you  will be prompted for a
149709                     password.
149710
149711              timeout
149712                     Set the socket timeout (default 15 seconds)
149713
149714              user   The user under which to run pip
149715
149716              cwd    Directory from which to run pip
149717
149718              use_vt Use VT terminal emulation (see output while installing)
149719
149720              CLI Example:
149721
149722                 salt '*' pip.uninstall <package name>,<package2 name>
149723                 salt '*' pip.uninstall requirements=/path/to/requirements.txt
149724                 salt '*' pip.uninstall <package name> bin_env=/path/to/virtualenv
149725                 salt '*' pip.uninstall <package name> bin_env=/path/to/pip_bin
149726
149727       salt.modules.pip.upgrade(bin_env=None,       user=None,       cwd=None,
149728       use_vt=False)
149729              New in version 2015.5.0.
149730
149731
149732              Upgrades outdated pip packages.
149733
149734              NOTE:
149735                 On Windows you can't update salt from pip using salt, so salt
149736                 will be skipped
149737
149738              Returns a dict containing the changes.
149739
149740                 {'<package>': {'old': '<old-version>',
149741                        'new': '<new-version>'}}
149742
149743              CLI Example:
149744
149745                 salt '*' pip.upgrade
149746
149747       salt.modules.pip.upgrade_available(pkg,    bin_env=None,     user=None,
149748       cwd=None)
149749              New in version 2015.5.0.
149750
149751
149752              Check whether or not an upgrade is available for a given package
149753
149754              CLI Example:
149755
149756                 salt '*' pip.upgrade_available <package name>
149757
149758       salt.modules.pip.version(bin_env=None)
149759              New in version 0.17.0.
149760
149761
149762              Returns the version of pip. Use bin_env to specify the path to a
149763              virtualenv and get the version of pip in that virtualenv.
149764
149765              If unable to detect the pip version, returns None.
149766
149767              CLI Example:
149768
149769                 salt '*' pip.version
149770
149771   salt.modules.pkg_resource
149772       Resources needed by pkg providers
149773
149774       salt.modules.pkg_resource.add_pkg(pkgs, name, pkgver)
149775              Add a package to a dict of installed packages.
149776
149777              CLI Example:
149778
149779                 salt '*' pkg_resource.add_pkg '{}' bind 9
149780
149781       salt.modules.pkg_resource.check_extra_requirements(pkgname, pkgver)
149782              Check if the installed package already has  the  given  require‐
149783              ments.     This    function    will   return   the   result   of
149784              pkg.check_extra_requirements if this  function  exists  for  the
149785              minion, otherwise it will return True.
149786
149787              CLI Example:
149788
149789                 salt '*' pkg_resource.check_extra_requirements <pkgname> <extra_requirements>
149790
149791       salt.modules.pkg_resource.format_pkg_list(packages,   versions_as_list,
149792       attr)
149793              Formats packages according to parameters for list_pkgs.
149794
149795       salt.modules.pkg_resource.format_version(epoch, version, release)
149796              Formats a version string for list_pkgs.
149797
149798       salt.modules.pkg_resource.pack_sources(sources, normalize=True)
149799              Accepts list of dicts (or a string representing a list of dicts)
149800              and packs the key/value pairs into a single dict.
149801
149802              '[{"foo":  "salt://foo.rpm"},  {"bar": "salt://bar.rpm"}]' would
149803              become {"foo": "salt://foo.rpm", "bar": "salt://bar.rpm"}
149804
149805              normalize
149806                     True Normalize the package name by removing the architec‐
149807                     ture,  if  the  architecture  of the package is different
149808                     from the architecture of the operating system. The  abil‐
149809                     ity to disable this behavior is useful for poorly-created
149810                     packages which include the architecture as an actual part
149811                     of  the  name,  such as kernel modules which match a spe‐
149812                     cific kernel version.
149813
149814                     New in version 2015.8.0.
149815
149816
149817              CLI Example:
149818
149819                 salt '*' pkg_resource.pack_sources '[{"foo": "salt://foo.rpm"}, {"bar": "salt://bar.rpm"}]'
149820
149821       salt.modules.pkg_resource.parse_targets(name=None,           pkgs=None,
149822       sources=None, saltenv=u'base', normalize=True, **kwargs)
149823              Parses  the input to pkg.install and returns back the package(s)
149824              to be installed. Returns a list of packages, as well as a string
149825              noting  whether  the packages are to come from a repository or a
149826              binary package.
149827
149828              CLI Example:
149829
149830                 salt '*' pkg_resource.parse_targets
149831
149832       salt.modules.pkg_resource.sort_pkglist(pkgs)
149833              Accepts a dict obtained from pkg.list_pkgs() and sorts in  place
149834              the  list  of  versions for any packages that have multiple ver‐
149835              sions installed, so that two package lists can  be  compared  to
149836              one another.
149837
149838              CLI Example:
149839
149840                 salt '*' pkg_resource.sort_pkglist '["3.45", "2.13"]'
149841
149842       salt.modules.pkg_resource.stringify(pkgs)
149843              Takes  a dict of package name/version information and joins each
149844              list of installed versions into a string.
149845
149846              CLI Example:
149847
149848                 salt '*' pkg_resource.stringify 'vim: 7.127'
149849
149850       salt.modules.pkg_resource.version(*names, **kwargs)
149851              Common interface for obtaining the version  of  installed  pack‐
149852              ages.
149853
149854              CLI Example:
149855
149856                 salt '*' pkg_resource.version vim
149857                 salt '*' pkg_resource.version foo bar baz
149858                 salt '*' pkg_resource.version 'python*'
149859
149860       salt.modules.pkg_resource.version_clean(verstr)
149861              Clean  the  version  string  removing extra data.  This function
149862              will simply try to call pkg.version_clean.
149863
149864              CLI Example:
149865
149866                 salt '*' pkg_resource.version_clean <version_string>
149867
149868   salt.modules.pkgin
149869       Package support for pkgin based systems, inspired from freebsdpkg  mod‐
149870       ule
149871
149872       IMPORTANT:
149873          If you feel that Salt should be using this module to manage packages
149874          on a minion, and it is using a different module (or gives  an  error
149875          similar to 'pkg.install' is not available), see here.
149876
149877       salt.modules.pkgin.available_version(*names, **kwargs)
149878              This function is an alias of latest_version.
149879                 Return  the latest version of the named package available for
149880                 upgrade or installation.
149881
149882                 If  the  latest  version  of  a  given  package  is   already
149883                 installed, an empty string will be returned for that package.
149884
149885                 CLI Example:
149886
149887                     salt '*' pkg.latest_version <package name>
149888                     salt '*' pkg.latest_version <package1> <package2> ...
149889
149890       salt.modules.pkgin.file_dict(*packages)
149891              List the files that belong to a package.
149892
149893              CLI Examples:
149894
149895                 salt '*' pkg.file_dict nginx
149896                 salt '*' pkg.file_dict nginx varnish
149897
149898       salt.modules.pkgin.file_list(package)
149899              List the files that belong to a package.
149900
149901              CLI Examples:
149902
149903                 salt '*' pkg.file_list nginx
149904
149905       salt.modules.pkgin.install(name=None,   refresh=False,   fromrepo=None,
149906       pkgs=None, sources=None, **kwargs)
149907              Install the passed package
149908
149909              name   The name of the package to be installed.
149910
149911              refresh
149912                     Whether or not to refresh  the  package  database  before
149913                     installing.
149914
149915              fromrepo
149916                     Specify a package repository to install from.
149917
149918              Multiple Package Installation Options:
149919
149920              pkgs   A list of packages to install from a software repository.
149921                     Must be passed as a python list.
149922
149923                     CLI Example:
149924
149925                        salt '*' pkg.install pkgs='["foo","bar"]'
149926
149927              sources
149928                     A list of packages to install. Must be passed as  a  list
149929                     of dicts, with the keys being package names, and the val‐
149930                     ues being the source URI or local path to the package.
149931
149932                     CLI Example:
149933
149934                        salt '*' pkg.install sources='[{"foo": "salt://foo.deb"},{"bar": "salt://bar.deb"}]'
149935
149936              Return a dict containing the new package names and versions:
149937
149938                 {'<package>': {'old': '<old-version>',
149939                                'new': '<new-version>'}}
149940
149941              CLI Example:
149942
149943                 salt '*' pkg.install <package name>
149944
149945       salt.modules.pkgin.latest_version(*names, **kwargs)
149946              Return the latest version of the  named  package  available  for
149947              upgrade or installation.
149948
149949              If  the  latest version of a given package is already installed,
149950              an empty string will be returned for that package.
149951
149952              CLI Example:
149953
149954                 salt '*' pkg.latest_version <package name>
149955                 salt '*' pkg.latest_version <package1> <package2> ...
149956
149957       salt.modules.pkgin.list_pkgs(versions_as_list=False, **kwargs)
149958              List the packages currently installed as a dict:
149959
149960                 {'<package_name>': '<version>'}
149961
149962              CLI Example:
149963
149964                 salt '*' pkg.list_pkgs
149965
149966       salt.modules.pkgin.list_upgrades(refresh=True, **kwargs)
149967              List all available package upgrades.
149968
149969              New in version 2018.3.0.
149970
149971
149972              refresh
149973                     Whether or not to refresh  the  package  database  before
149974                     installing.
149975
149976              CLI Example:
149977
149978                 salt '*' pkg.list_upgrades
149979
149980       salt.modules.pkgin.purge(name=None, pkgs=None, **kwargs)
149981              Package  purges are not supported, this function is identical to
149982              remove().
149983
149984              name   The name of the package to be deleted.
149985
149986              Multiple Package Options:
149987
149988              pkgs   A list of packages to delete. Must be passed as a  python
149989                     list.  The  name parameter will be ignored if this option
149990                     is passed.
149991
149992              New in version 0.16.0.
149993
149994
149995              Returns a dict containing the changes.
149996
149997              CLI Example:
149998
149999                 salt '*' pkg.purge <package name>
150000                 salt '*' pkg.purge <package1>,<package2>,<package3>
150001                 salt '*' pkg.purge pkgs='["foo", "bar"]'
150002
150003       salt.modules.pkgin.refresh_db(force=False)
150004              Use pkg update to get latest pkg_summary
150005
150006              force  Pass -f so that the cache is always refreshed.
150007
150008                     New in version 2018.3.0.
150009
150010
150011              CLI Example:
150012
150013                 salt '*' pkg.refresh_db
150014
150015       salt.modules.pkgin.remove(name=None, pkgs=None, **kwargs)
150016
150017              name   The name of the package to be deleted.
150018
150019              Multiple Package Options:
150020
150021              pkgs   A list of packages to delete. Must be passed as a  python
150022                     list.  The  name parameter will be ignored if this option
150023                     is passed.
150024
150025              New in version 0.16.0.
150026
150027
150028              Returns a list containing the removed packages.
150029
150030              CLI Example:
150031
150032                 salt '*' pkg.remove <package name>
150033                 salt '*' pkg.remove <package1>,<package2>,<package3>
150034                 salt '*' pkg.remove pkgs='["foo", "bar"]'
150035
150036       salt.modules.pkgin.search(pkg_name)
150037              Searches for an exact match using pkgin ^package$
150038
150039              CLI Example:
150040
150041                 salt '*' pkg.search 'mysql-server'
150042
150043       salt.modules.pkgin.upgrade(refresh=True, pkgs=None, **kwargs)
150044              Run pkg upgrade, if pkgin used. Otherwise do nothing
150045
150046              refresh
150047                     Whether or not to refresh  the  package  database  before
150048                     installing.
150049
150050              Multiple Package Upgrade Options:
150051
150052              pkgs   A list of packages to upgrade from a software repository.
150053                     Must be passed as a python list.
150054
150055                     CLI Example:
150056
150057                        salt '*' pkg.upgrade pkgs='["foo","bar"]'
150058
150059              Returns a dictionary containing the changes:
150060
150061                 {'<package>':  {'old': '<old-version>',
150062                                 'new': '<new-version>'}}
150063
150064              CLI Example:
150065
150066                 salt '*' pkg.upgrade
150067
150068       salt.modules.pkgin.version(*names, **kwargs)
150069              Returns a string representing the package version  or  an  empty
150070              string if not installed. If more than one package name is speci‐
150071              fied, a dict of name/version pairs is returned.
150072
150073              CLI Example:
150074
150075                 salt '*' pkg.version <package name>
150076                 salt '*' pkg.version <package1> <package2> <package3> ...
150077
150078   salt.modules.pkgng
150079       Support for pkgng, the new package manager for FreeBSD
150080
150081       IMPORTANT:
150082          If you feel that Salt should be using this module to manage packages
150083          on  a  minion, and it is using a different module (or gives an error
150084          similar to 'pkg.install' is not available), see here.
150085
150086       WARNING:
150087          This module has been completely rewritten. Up to and including  ver‐
150088          sion  0.17.x,  it was available as the pkgng module, (pkgng.install,
150089          pkgng.delete, etc.), but moving forward this module will  no  longer
150090          be  available  as  pkgng,  as  it will behave like a normal Salt pkg
150091          provider. The documentation below should not be considered to  apply
150092          to  this  module  in versions <= 0.17.x. If your minion is running a
150093          0.17.x release or older, then the documentation for this module  can
150094          be viewed using the sys.doc function:
150095
150096              salt bsdminion sys.doc pkgng
150097
150098       This  module  provides  an  interface to pkg(8). It acts as the default
150099       package provider for FreeBSD 10 and newer. For FreeBSD hosts which have
150100       been  upgraded to use pkgng, you will need to override the pkg provider
150101       by setting the providers parameter in your Minion config file, in order
150102       to use this module to manage packages, like so:
150103
150104          providers:
150105            pkg: pkgng
150106
150107       salt.modules.pkgng.audit(jail=None, chroot=None, root=None)
150108              Audits installed packages against known vulnerabilities
150109
150110              CLI Example:
150111
150112                 salt '*' pkg.audit
150113
150114              jail   Audit packages within the specified jail
150115
150116                     CLI Example:
150117
150118                        salt '*' pkg.audit jail=<jail name or id>
150119
150120              chroot Audit  packages  within  the specified chroot (ignored if
150121                     jail is specified)
150122
150123              root   Audit packages within the specified root (ignored if jail
150124                     is specified)
150125
150126                     CLI Example:
150127
150128                        salt '*' pkg.audit chroot=/path/to/chroot
150129
150130       salt.modules.pkgng.autoremove(jail=None,     chroot=None,    root=None,
150131       dryrun=False)
150132              Delete packages which were automatically installed as  dependen‐
150133              cies and are not required anymore.
150134
150135              dryrun Dry-run  mode.  The list of changes to packages is always
150136                     printed, but no changes are actually made.
150137
150138              CLI Example:
150139
150140                 salt '*' pkg.autoremove
150141                 salt '*' pkg.autoremove jail=<jail name or id>
150142                 salt '*' pkg.autoremove dryrun=True
150143                 salt '*' pkg.autoremove jail=<jail name or id> dryrun=True
150144
150145       salt.modules.pkgng.backup(file_name, jail=None, chroot=None, root=None)
150146              Export installed packages into yaml+mtree file
150147
150148              CLI Example:
150149
150150                 salt '*' pkg.backup /tmp/pkg
150151
150152              jail   Backup packages from the specified jail. Note  that  this
150153                     will  run the command within the jail, and so the path to
150154                     the backup file will be relative to the root of the jail
150155
150156                     CLI Example:
150157
150158                        salt '*' pkg.backup /tmp/pkg jail=<jail name or id>
150159
150160              chroot Backup packages from the  specified  chroot  (ignored  if
150161                     jail  is  specified). Note that this will run the command
150162                     within the chroot, and so the path  to  the  backup  file
150163                     will be relative to the root of the chroot.
150164
150165              root   Backup  packages from the specified root (ignored if jail
150166                     is specified). Note that this will run the command within
150167                     the root, and so the path to the backup file will be rel‐
150168                     ative to the root of the root.
150169
150170                     CLI Example:
150171
150172                        salt '*' pkg.backup /tmp/pkg chroot=/path/to/chroot
150173
150174       salt.modules.pkgng.check(jail=None,       chroot=None,       root=None,
150175       depends=False, recompute=False, checksum=False)
150176              Sanity checks installed packages
150177
150178              jail   Perform the sanity check in the specified jail
150179
150180                     CLI Example:
150181
150182                        salt '*' pkg.check jail=<jail name or id>
150183
150184              chroot Perform the sanity check in the specified chroot (ignored
150185                     if jail is specified)
150186
150187              root   Perform the sanity check in the specified  root  (ignored
150188                     if jail is specified)
150189
150190                     CLI Example:
150191
150192                        salt '*' pkg.check chroot=/path/to/chroot
150193
150194              Of the below, at least one must be set to True.
150195
150196              depends
150197                     Check for and install missing dependencies.
150198
150199                     CLI Example:
150200
150201                        salt '*' pkg.check recompute=True
150202
150203              recompute
150204                     Recompute sizes and checksums of installed packages.
150205
150206                     CLI Example:
150207
150208                        salt '*' pkg.check depends=True
150209
150210              checksum
150211                     Find invalid checksums for installed packages.
150212
150213                     CLI Example:
150214
150215                        salt '*' pkg.check checksum=True
150216
150217       salt.modules.pkgng.clean(jail=None,       chroot=None,       root=None,
150218       clean_all=False, dryrun=False)
150219              Cleans the local cache of fetched remote packages
150220
150221              CLI Example:
150222
150223                 salt '*' pkg.clean
150224
150225              jail   Cleans the package cache in the specified jail
150226
150227                     CLI Example:
150228
150229                        salt '*' pkg.clean jail=<jail name or id>
150230
150231              chroot Cleans the package cache in the specified chroot (ignored
150232                     if jail is specified)
150233
150234              root   Cleans  the  package cache in the specified root (ignored
150235                     if jail is specified)
150236
150237                     CLI Example:
150238
150239                        salt '*' pkg.clean chroot=/path/to/chroot
150240
150241              clean_all
150242                     Clean all packages from the local cache (not  just  those
150243                     that have been superseded by newer versions).
150244
150245                     CLI Example:
150246
150247
150248
150249                     salt '*' pkg.clean clean_all=True
150250
150251              dryrun Dry-run  mode. This list of changes to the local cache is
150252                     always printed, but no changes are actually made.
150253
150254                     CLI Example:
150255
150256                        salt '*' pkg.clean dryrun=True
150257
150258       salt.modules.pkgng.fetch(name,   jail=None,   chroot=None,   root=None,
150259       fetch_all=False,  quiet=False,  fromrepo=None,  glob=True, regex=False,
150260       pcre=False, local=False, depends=False)
150261              Fetches remote packages
150262
150263              CLI Example:
150264
150265                 salt '*' pkg.fetch <package name>
150266
150267              jail   Fetch package in the specified jail
150268
150269                     CLI Example:
150270
150271                        salt '*' pkg.fetch <package name> jail=<jail name or id>
150272
150273              chroot Fetch package in the specified chroot (ignored if jail is
150274                     specified)
150275
150276              root   Fetch  package  in the specified root (ignored if jail is
150277                     specified)
150278
150279                     CLI Example:
150280
150281                        salt '*' pkg.fetch <package name> chroot=/path/to/chroot
150282
150283              fetch_all
150284                     Fetch all packages.
150285
150286                     CLI Example:
150287
150288                        salt '*' pkg.fetch <package name> fetch_all=True
150289
150290              quiet  Quiet mode. Show less output.
150291
150292                     CLI Example:
150293
150294                        salt '*' pkg.fetch <package name> quiet=True
150295
150296              fromrepo
150297                     Fetches packages from the given  repo  if  multiple  repo
150298                     support is enabled. See pkg.conf(5).
150299
150300                     CLI Example:
150301
150302                        salt '*' pkg.fetch <package name> fromrepo=repo
150303
150304              glob   Treat pkg_name as a shell glob pattern.
150305
150306                     CLI Example:
150307
150308                        salt '*' pkg.fetch <package name> glob=True
150309
150310              regex  Treat pkg_name as a regular expression.
150311
150312                     CLI Example:
150313
150314                        salt '*' pkg.fetch <regular expression> regex=True
150315
150316              pcre   Treat pkg_name is an extended regular expression.
150317
150318                     CLI Example:
150319
150320                        salt '*' pkg.fetch <extended regular expression> pcre=True
150321
150322              local  Skip updating the repository catalogs with pkg-update(8).
150323                     Use the local cache only.
150324
150325                     CLI Example:
150326
150327                        salt '*' pkg.fetch <package name> local=True
150328
150329              depends
150330                     Fetch the package and its dependencies as well.
150331
150332                     CLI Example:
150333
150334                        salt '*' pkg.fetch <package name> depends=True
150335
150336       salt.modules.pkgng.hold(name=None, pkgs=None, **kwargs)
150337              Version-lock packages
150338
150339              NOTE:
150340                 This function is provided  primarily  for  compatibilty  with
150341                 some  parts  of  states.pkg.   Consider  using Consider using
150342                 pkg.lock instead. instead.
150343
150344              name   The name of the package to be held.
150345
150346              Multiple Package Options:
150347
150348              pkgs   A list of packages to hold. Must be passed  as  a  python
150349                     list.  The  name parameter will be ignored if this option
150350                     is passed.
150351
150352              Returns a dict containing the changes.
150353
150354              CLI Example:
150355
150356                 salt '*' pkg.hold <package name>
150357                 salt '*' pkg.hold pkgs='["foo", "bar"]'
150358
150359       salt.modules.pkgng.install(name=None,     fromrepo=None,     pkgs=None,
150360       sources=None,    jail=None,   chroot=None,   root=None,   orphan=False,
150361       force=False, glob=False, local=False, dryrun=False, quiet=False,  rein‐
150362       stall_requires=False, regex=False, pcre=False, batch=False, **kwargs)
150363              Install package(s) from a repository
150364
150365              name   The name of the package to install
150366
150367                     CLI Example:
150368
150369                        salt '*' pkg.install <package name>
150370
150371              jail   Install the package into the specified jail
150372
150373              chroot Install the package into the specified chroot (ignored if
150374                     jail is specified)
150375
150376              root   Install the package into the specified root  (ignored  if
150377                     jail is specified)
150378
150379              orphan Mark  the  installed package as orphan. Will be automati‐
150380                     cally removed if no other packages depend  on  them.  For
150381                     more information please refer to pkg-autoremove(8).
150382
150383                     CLI Example:
150384
150385                        salt '*' pkg.install <package name> orphan=True
150386
150387              force  Force  the  reinstallation  of  the  package  if  already
150388                     installed.
150389
150390                     CLI Example:
150391
150392                        salt '*' pkg.install <package name> force=True
150393
150394              glob   Treat the package names as shell glob patterns.
150395
150396                     CLI Example:
150397
150398                        salt '*' pkg.install <package name> glob=True
150399
150400              local  Do not update the repository catalogs with pkg-update(8).
150401                     A  value  of True here is equivalent to using the -U flag
150402                     with pkg install.
150403
150404                     CLI Example:
150405
150406                        salt '*' pkg.install <package name> local=True
150407
150408              dryrun Dru-run mode. The list of changes to packages  is  always
150409                     printed, but no changes are actually made.
150410
150411                     CLI Example:
150412
150413                        salt '*' pkg.install <package name> dryrun=True
150414
150415              quiet  Force quiet output, except when dryrun is used, where pkg
150416                     install  will  always  show  packages  to  be  installed,
150417                     upgraded or deleted.
150418
150419                     CLI Example:
150420
150421                        salt '*' pkg.install <package name> quiet=True
150422
150423              reinstall_requires
150424                     When  used  with  force,  reinstalls  any  packages  that
150425                     require the given package.
150426
150427                     CLI Example:
150428
150429                        salt '*' pkg.install <package name> reinstall_requires=True force=True
150430
150431                     Changed in version 2014.7.0:  require  kwarg  renamed  to
150432                     reinstall_requires
150433
150434
150435              fromrepo
150436                     In  multi-repo  mode,  override the pkg.conf ordering and
150437                     only attempt to download packages from the named  reposi‐
150438                     tory.
150439
150440                     CLI Example:
150441
150442                        salt '*' pkg.install <package name> fromrepo=repo
150443
150444              regex  Treat the package names as a regular expression
150445
150446                     CLI Example:
150447
150448                        salt '*' pkg.install <regular expression> regex=True
150449
150450              pcre   Treat the package names as extended regular expressions.
150451
150452                     CLI Example:
150453
150454
150455
150456              batch  Use  BATCH=true  for pkg install, skipping all questions.
150457                     Be careful when using in production.
150458
150459                     CLI Example:
150460
150461                        salt '*' pkg.install <package name> batch=True
150462
150463       salt.modules.pkgng.latest_version(*names, **kwargs)
150464              Return the latest version of the  named  package  available  for
150465              upgrade or installation. If more than one package name is speci‐
150466              fied, a dict of name/version pairs is returned.
150467
150468              If the latest version of a given package is  already  installed,
150469              an empty string will be returned for that package.
150470
150471              CLI Example:
150472
150473                 salt '*' pkg.latest_version <package name>
150474                 salt '*' pkg.latest_version <package name> jail=<jail name or id>
150475                 salt '*' pkg.latest_version <package name> chroot=/path/to/chroot
150476
150477       salt.modules.pkgng.list_locked(**kwargs)
150478              Query  the  package  database  those  packages  which are locked
150479              against reinstallation, modification or deletion.
150480
150481              Returns returns a list of package names with version strings
150482
150483              CLI Example:
150484
150485                 salt '*' pkg.list_locked
150486
150487              jail   List locked packages within the specified jail
150488
150489                     CLI Example:
150490
150491                        salt '*' pkg.list_locked jail=<jail name or id>
150492
150493              chroot List locked packages within the specified chroot (ignored
150494                     if jail is specified)
150495
150496                     CLI Example:
150497
150498                        salt '*' pkg.list_locked chroot=/path/to/chroot
150499
150500              root   List  locked  packages within the specified root (ignored
150501                     if jail is specified)
150502
150503                     CLI Example:
150504
150505                        salt '*' pkg.list_locked root=/path/to/chroot
150506
150507       salt.modules.pkgng.list_pkgs(versions_as_list=False,         jail=None,
150508       chroot=None, root=None, with_origin=False, **kwargs)
150509              List the packages currently installed as a dict:
150510
150511                 {'<package_name>': '<version>'}
150512
150513              jail   List the packages in the specified jail
150514
150515              chroot List  the  packages  in  the specified chroot (ignored if
150516                     jail is specified)
150517
150518              root   List the packages in the specified root (ignored if  jail
150519                     is specified)
150520
150521              with_origin
150522                     False Return a nested dictionary containing both the ori‐
150523                     gin name and version for each installed package.
150524
150525                     New in version 2014.1.0.
150526
150527
150528              CLI Example:
150529
150530                 salt '*' pkg.list_pkgs
150531                 salt '*' pkg.list_pkgs jail=<jail name or id>
150532                 salt '*' pkg.list_pkgs chroot=/path/to/chroot
150533
150534       salt.modules.pkgng.list_upgrades(refresh=True, **kwargs)
150535              List those packages for which an upgrade is available
150536
150537              The fromrepo argument is also supported, as used in pkg states.
150538
150539              CLI Example:
150540
150541                 salt '*' pkg.list_upgrades
150542
150543              jail   List upgrades within the specified jail
150544
150545                     CLI Example:
150546
150547                        salt '*' pkg.list_upgrades jail=<jail name or id>
150548
150549              chroot List upgrades within the  specified  chroot  (ignored  if
150550                     jail is specified)
150551
150552                     CLI Example:
150553
150554                        salt '*' pkg.list_upgrades chroot=/path/to/chroot
150555
150556              root   List  upgrades within the specified root (ignored if jail
150557                     is specified)
150558
150559                     CLI Example:
150560
150561                        salt '*' pkg.list_upgrades root=/path/to/chroot
150562
150563       salt.modules.pkgng.lock(name, **kwargs)
150564              Lock the named package against reinstallation,  modification  or
150565              deletion.
150566
150567              Returns True if the named package was successfully locked.
150568
150569              CLI Example:
150570
150571                 salt '*' pkg.lock <package name>
150572
150573              jail   Lock packages within the specified jail
150574
150575                     CLI Example:
150576
150577                        salt '*' pkg.lock <package name> jail=<jail name or id>
150578
150579              chroot Lock  packages  within  the  specified chroot (ignored if
150580                     jail is specified)
150581
150582                     CLI Example:
150583
150584                        salt '*' pkg.lock <package name> chroot=/path/to/chroot
150585
150586              root   Lock packages within the specified root (ignored if  jail
150587                     is specified)
150588
150589                     CLI Example:
150590
150591                        salt '*' pkg.lock <package name> root=/path/to/chroot
150592
150593       salt.modules.pkgng.locked(name, **kwargs)
150594              Query  the package database to determine if the named package is
150595              locked against reinstallation, modification or deletion.
150596
150597              Returns True if the named package is locked, False otherwise.
150598
150599              CLI Example:
150600
150601                 salt '*' pkg.locked <package name>
150602
150603              jail   Test if a package is locked within the specified jail
150604
150605                     CLI Example:
150606
150607                        salt '*' pkg.locked <package name> jail=<jail name or id>
150608
150609              chroot Test if a package is locked within the  specified  chroot
150610                     (ignored if jail is specified)
150611
150612                     CLI Example:
150613
150614                        salt '*' pkg.locked <package name> chroot=/path/to/chroot
150615
150616              root   Test  if  a  package  is locked within the specified root
150617                     (ignored if jail is specified)
150618
150619                     CLI Example:
150620
150621                        salt '*' pkg.locked <package name> root=/path/to/chroot
150622
150623       salt.modules.pkgng.parse_config(file_name=u'/usr/local/etc/pkg.conf')
150624              Return dict of uncommented global variables.
150625
150626              CLI Example:
150627
150628                 salt '*' pkg.parse_config
150629
150630              NOTE: not working properly right now
150631
150632       salt.modules.pkgng.refresh_db(jail=None,    chroot=None,     root=None,
150633       force=False)
150634              Refresh PACKAGESITE contents
150635
150636              NOTE:
150637                 This  function  can  accessed using pkg.update in addition to
150638                 pkg.refresh_db, to  more  closely  match  the  CLI  usage  of
150639                 pkg(8).
150640
150641              CLI Example:
150642
150643                 salt '*' pkg.refresh_db
150644
150645              jail   Refresh the pkg database within the specified jail
150646
150647              chroot Refresh  the  pkg  database  within  the specified chroot
150648                     (ignored if jail is specified)
150649
150650              root   Refresh  the  pkg  database  within  the  specified  root
150651                     (ignored if jail is specified)
150652
150653              force  Force  a  full download of the repository catalog without
150654                     regard to the respective ages of  the  local  and  remote
150655                     copies of the catalog.
150656
150657                     CLI Example:
150658
150659                        salt '*' pkg.refresh_db force=True
150660
150661       salt.modules.pkgng.remove(name=None, pkgs=None, jail=None, chroot=None,
150662       root=None, all_installed=False, force=False, glob=False,  dryrun=False,
150663       recurse=False, regex=False, pcre=False, **kwargs)
150664              Remove a package from the database and system
150665
150666              NOTE:
150667                 This  function  can  accessed using pkg.delete in addition to
150668                 pkg.remove, to more closely match the CLI usage of pkg(8).
150669
150670              name   The package to remove
150671
150672                     CLI Example:
150673
150674                        salt '*' pkg.remove <package name>
150675
150676              jail   Delete the package from the specified jail
150677
150678              chroot Delete the package from the specified chroot (ignored  if
150679                     jail is specified)
150680
150681              root   Delete  the  package  from the specified root (ignored if
150682                     jail is specified)
150683
150684              all_installed
150685                     Deletes all installed packages from the system  and  emp‐
150686                     ties the database. USE WITH CAUTION!
150687
150688                     CLI Example:
150689
150690                        salt '*' pkg.remove all all_installed=True force=True
150691
150692              force  Forces  packages to be removed despite leaving unresolved
150693                     dependencies.
150694
150695                     CLI Example:
150696
150697                        salt '*' pkg.remove <package name> force=True
150698
150699              glob   Treat the package names as shell glob patterns.
150700
150701                     CLI Example:
150702
150703                        salt '*' pkg.remove <package name> glob=True
150704
150705              dryrun Dry run mode. The list of packages to  delete  is  always
150706                     printed, but no packages are actually deleted.
150707
150708                     CLI Example:
150709
150710                        salt '*' pkg.remove <package name> dryrun=True
150711
150712              recurse
150713                     Delete  all  packages  that require the listed package as
150714                     well.
150715
150716                     CLI Example:
150717
150718                        salt '*' pkg.remove <package name> recurse=True
150719
150720              regex  Treat the package names as regular expressions.
150721
150722                     CLI Example:
150723
150724                        salt '*' pkg.remove <regular expression> regex=True
150725
150726              pcre   Treat the package names as extended regular expressions.
150727
150728                     CLI Example:
150729
150730                        salt '*' pkg.remove <extended regular expression> pcre=True
150731
150732       salt.modules.pkgng.restore(file_name,      jail=None,      chroot=None,
150733       root=None)
150734              Reads  archive  created by pkg backup -d and recreates the data‐
150735              base.
150736
150737              CLI Example:
150738
150739                 salt '*' pkg.restore /tmp/pkg
150740
150741              jail   Restore database to the specified jail.  Note  that  this
150742                     will  run the command within the jail, and so the path to
150743                     the file from which the pkg database will be restored  is
150744                     relative to the root of the jail.
150745
150746                     CLI Example:
150747
150748                        salt '*' pkg.restore /tmp/pkg jail=<jail name or id>
150749
150750              chroot Restore database to the specified chroot (ignored if jail
150751                     is specified). Note that this will run the command within
150752                     the  chroot,  and  so the path to the file from which the
150753                     pkg database will be restored is relative to the root  of
150754                     the chroot.
150755
150756              root   Restore  database  to the specified root (ignored if jail
150757                     is specified). Note that this will run the command within
150758                     the  root, and so the path to the file from which the pkg
150759                     database will be restored is relative to the root of  the
150760                     root.
150761
150762                     CLI Example:
150763
150764                        salt '*' pkg.restore /tmp/pkg chroot=/path/to/chroot
150765
150766       salt.modules.pkgng.search(name,   jail=None,   chroot=None,  root=None,
150767       exact=False,  glob=False,   regex=False,   pcre=False,   comment=False,
150768       desc=False,  full=False,  depends=False,  size=False, quiet=False, ori‐
150769       gin=False, prefix=False)
150770              Searches in remote package repositories
150771
150772              CLI Example:
150773
150774                 salt '*' pkg.search pattern
150775
150776              jail   Perform the search using the pkg.conf(5) from the  speci‐
150777                     fied jail
150778
150779                     CLI Example:
150780
150781                        salt '*' pkg.search pattern jail=<jail name or id>
150782
150783              chroot Perform  the search using the pkg.conf(5) from the speci‐
150784                     fied chroot (ignored if jail is specified)
150785
150786              root   Perform the search using the pkg.conf(5) from the  speci‐
150787                     fied root (ignored if jail is specified)
150788
150789                     CLI Example:
150790
150791                        salt '*' pkg.search pattern chroot=/path/to/chroot
150792
150793              exact  Treat pattern as exact pattern.
150794
150795                     CLI Example:
150796
150797                        salt '*' pkg.search pattern exact=True
150798
150799              glob   Treat pattern as a shell glob pattern.
150800
150801                     CLI Example:
150802
150803                        salt '*' pkg.search pattern glob=True
150804
150805              regex  Treat pattern as a regular expression.
150806
150807                     CLI Example:
150808
150809                        salt '*' pkg.search pattern regex=True
150810
150811              pcre   Treat pattern as an extended regular expression.
150812
150813                     CLI Example:
150814
150815                        salt '*' pkg.search pattern pcre=True
150816
150817              comment
150818                     Search  for  pattern  in  the  package  comment  one-line
150819                     description.
150820
150821                     CLI Example:
150822
150823                        salt '*' pkg.search pattern comment=True
150824
150825              desc   Search for pattern in the package description.
150826
150827                     CLI Example:
150828
150829                        salt '*' pkg.search pattern desc=True
150830
150831              full   Displays full information about the matching packages.
150832
150833                     CLI Example:
150834
150835                        salt '*' pkg.search pattern full=True
150836
150837              depends
150838                     Displays the dependencies of pattern.
150839
150840                     CLI Example:
150841
150842                        salt '*' pkg.search pattern depends=True
150843
150844              size   Displays the size of the package
150845
150846                     CLI Example:
150847
150848                        salt '*' pkg.search pattern size=True
150849
150850              quiet  Be quiet. Prints only the requested  information  without
150851                     displaying many hints.
150852
150853                     CLI Example:
150854
150855                        salt '*' pkg.search pattern quiet=True
150856
150857              origin Displays pattern origin.
150858
150859                     CLI Example:
150860
150861                        salt '*' pkg.search pattern origin=True
150862
150863              prefix Displays  the installation prefix for each package match‐
150864                     ing pattern.
150865
150866                     CLI Example:
150867
150868                        salt '*' pkg.search pattern prefix=True
150869
150870       salt.modules.pkgng.stats(local=False,     remote=False,      jail=None,
150871       chroot=None, root=None)
150872              Return pkgng stats.
150873
150874              CLI Example:
150875
150876                 salt '*' pkg.stats
150877
150878              local  Display stats only for the local package database.
150879
150880                     CLI Example:
150881
150882                        salt '*' pkg.stats local=True
150883
150884              remote Display stats only for the remote package database(s).
150885
150886                     CLI Example:
150887
150888                        salt '*' pkg.stats remote=True
150889
150890              jail   Retrieve stats from the specified jail.
150891
150892                     CLI Example:
150893
150894                        salt '*' pkg.stats jail=<jail name or id>
150895                        salt '*' pkg.stats jail=<jail name or id> local=True
150896                        salt '*' pkg.stats jail=<jail name or id> remote=True
150897
150898              chroot Retrieve stats from the specified chroot (ignored if jail
150899                     is specified).
150900
150901              root   Retrieve stats from the specified root (ignored  if  jail
150902                     is specified).
150903
150904                     CLI Example:
150905
150906                        salt '*' pkg.stats chroot=/path/to/chroot
150907                        salt '*' pkg.stats chroot=/path/to/chroot local=True
150908                        salt '*' pkg.stats chroot=/path/to/chroot remote=True
150909
150910       salt.modules.pkgng.unhold(name=None, pkgs=None, **kwargs)
150911              Remove version locks
150912
150913              NOTE:
150914                 This  function  is  provided  primarily for compatibilty with
150915                 some parts of states.pkg.  Consider using pkg.unlock instead.
150916
150917              name   The name of the package to be unheld
150918
150919              Multiple Package Options:
150920
150921              pkgs   A list of packages to unhold. Must be passed as a  python
150922                     list.  The  name parameter will be ignored if this option
150923                     is passed.
150924
150925              Returns a dict containing the changes.
150926
150927              CLI Example:
150928
150929                 salt '*' pkg.unhold <package name>
150930                 salt '*' pkg.unhold pkgs='["foo", "bar"]'
150931
150932       salt.modules.pkgng.unlock(name, **kwargs)
150933              Unlock the named package against reinstallation, modification or
150934              deletion.
150935
150936              Returns True if the named package was successfully unlocked.
150937
150938              CLI Example:
150939
150940                 salt '*' pkg.unlock <package name>
150941
150942              jail   Unlock packages within the specified jail
150943
150944                     CLI Example:
150945
150946                        salt '*' pkg.unlock <package name> jail=<jail name or id>
150947
150948              chroot Unlock  packages  within the specified chroot (ignored if
150949                     jail is specified)
150950
150951                     CLI Example:
150952
150953                        salt '*' pkg.unlock <package name> chroot=/path/to/chroot
150954
150955              root   Unlock packages within the  specified  root  (ignored  if
150956                     jail is specified)
150957
150958                     CLI Example:
150959
150960                        salt '*' pkg.unlock <package name> root=/path/to/chroot
150961
150962       salt.modules.pkgng.update_package_site(new_url)
150963              Updates remote package repo URL, PACKAGESITE var to be exact.
150964
150965              Must use http://, ftp://, or https:// protocol
150966
150967              CLI Example:
150968
150969                 salt '*' pkg.update_package_site http://127.0.0.1/
150970
150971       salt.modules.pkgng.updating(name,  jail=None,  chroot=None,  root=None,
150972       filedate=None, filename=None)
150973              ' Displays UPDATING entries of software packages
150974
150975              CLI Example:
150976
150977                 salt '*' pkg.updating foo
150978
150979              jail   Perform the action in the specified jail
150980
150981                     CLI Example:
150982
150983                        salt '*' pkg.updating foo jail=<jail name or id>
150984
150985              chroot Perform the action in the specified  chroot  (ignored  if
150986                     jail is specified)
150987
150988              root   Perform the action in the specified root (ignored if jail
150989                     is specified)
150990
150991                     CLI Example:
150992
150993                        salt '*' pkg.updating foo chroot=/path/to/chroot
150994
150995              filedate
150996                     Only entries newer than date are shown.  Use  a  YYYYMMDD
150997                     date format.
150998
150999                     CLI Example:
151000
151001                        salt '*' pkg.updating foo filedate=20130101
151002
151003              filename
151004                     Defines an alternative location of the UPDATING file.
151005
151006                     CLI Example:
151007
151008                        salt '*' pkg.updating foo filename=/tmp/UPDATING
151009
151010       salt.modules.pkgng.upgrade(*names, **kwargs)
151011              Upgrade  named  or all packages (run a pkg upgrade). If <package
151012              name> is omitted, the operation is executed on all packages.
151013
151014              Returns a dictionary containing the changes:
151015
151016                 {'<package>':  {'old': '<old-version>',
151017                                 'new': '<new-version>'}}
151018
151019              CLI Example:
151020
151021                 salt '*' pkg.upgrade <package name>
151022
151023              jail   Audit packages within the specified jail
151024
151025                     CLI Example:
151026
151027                        salt '*' pkg.upgrade <package name> jail=<jail name or id>
151028
151029              chroot Audit packages within the specified  chroot  (ignored  if
151030                     jail is specified)
151031
151032              root   Audit packages within the specified root (ignored if jail
151033                     is specified)
151034
151035                     CLI Example:
151036
151037                        salt '*' pkg.upgrade <package name> chroot=/path/to/chroot
151038
151039              Any of the below options can also be used with jail or chroot.
151040
151041              force  Force reinstalling/upgrading the whole set of packages.
151042
151043                     CLI Example:
151044
151045                        salt '*' pkg.upgrade <package name> force=True
151046
151047              local  Do not update the repository catalogs with pkg-update(8).
151048                     A  value  of True here is equivalent to using the -U flag
151049                     with pkg upgrade.
151050
151051                     CLI Example:
151052
151053                        salt '*' pkg.upgrade <package name> local=True
151054
151055              dryrun Dry-run mode: show what packages have updates  available,
151056                     but do not perform any upgrades. Repository catalogs will
151057                     be updated as usual  unless  the  local  option  is  also
151058                     given.
151059
151060                     CLI Example:
151061
151062                        salt '*' pkg.upgrade <package name> dryrun=True
151063
151064       salt.modules.pkgng.version(*names, **kwargs)
151065              Returns  a  string  representing the package version or an empty
151066              string if not installed. If more than one package name is speci‐
151067              fied, a dict of name/version pairs is returned.
151068
151069              NOTE:
151070                 This  function  can  accessed  using  pkg.info in addition to
151071                 pkg.version, to more closely match the CLI usage of pkg(8).
151072
151073              jail   Get package version information for the specified jail
151074
151075              chroot Get package version information for the specified  chroot
151076                     (ignored if jail is specified)
151077
151078              root   Get  package  version  information for the specified root
151079                     (ignored if jail is specified)
151080
151081              with_origin
151082                     False Return a nested dictionary containing both the ori‐
151083                     gin name and version for each specified package.
151084
151085                     New in version 2014.1.0.
151086
151087
151088              CLI Example:
151089
151090                 salt '*' pkg.version <package name>
151091                 salt '*' pkg.version <package name> jail=<jail name or id>
151092                 salt '*' pkg.version <package1> <package2> <package3> ...
151093
151094       salt.modules.pkgng.version_cmp(pkg1, pkg2, ignore_epoch=False)
151095              Do  a  cmp-style comparison on two packages. Return -1 if pkg1 <
151096              pkg2, 0 if pkg1 == pkg2, and 1 if pkg1 > pkg2.  Return  None  if
151097              there was a problem making the comparison.
151098
151099              CLI Example:
151100
151101                 salt '*' pkg.version_cmp '2.1.11' '2.1.12'
151102
151103       salt.modules.pkgng.which(path,  jail=None, chroot=None, root=None, ori‐
151104       gin=False, quiet=False)
151105              Displays which package installed a specific file
151106
151107              CLI Example:
151108
151109                 salt '*' pkg.which <file name>
151110
151111              jail   Perform the check in the specified jail
151112
151113                     CLI Example:
151114
151115                        salt '*' pkg.which <file name> jail=<jail name or id>
151116
151117              chroot Perform the check in the  specified  chroot  (ignored  if
151118                     jail is specified)
151119
151120              root   Perform  the check in the specified root (ignored if jail
151121                     is specified)
151122
151123                     CLI Example:
151124
151125                        salt '*' pkg.which <file name> chroot=/path/to/chroot
151126
151127              origin Shows the origin of the package instead of name-version.
151128
151129                     CLI Example:
151130
151131                        salt '*' pkg.which <file name> origin=True
151132
151133              quiet  Quiet output.
151134
151135                     CLI Example:
151136
151137                        salt '*' pkg.which <file name> quiet=True
151138
151139   salt.modules.pkgutil
151140       Pkgutil support for Solaris
151141
151142       IMPORTANT:
151143          If you feel that Salt should be using this module to manage packages
151144          on  a  minion, and it is using a different module (or gives an error
151145          similar to 'pkg.install' is not available), see here.
151146
151147       salt.modules.pkgutil.install(name=None,  refresh=False,   version=None,
151148       pkgs=None, **kwargs)
151149              Install packages using the pkgutil tool.
151150
151151              CLI Example:
151152
151153                 salt '*' pkg.install <package_name>
151154                 salt '*' pkg.install SMClgcc346
151155
151156              Multiple Package Installation Options:
151157
151158              pkgs   A  list  of  packages  to  install  from OpenCSW. Must be
151159                     passed as a python list.
151160
151161                     CLI Example:
151162
151163                        salt '*' pkg.install pkgs='["foo", "bar"]'
151164                        salt '*' pkg.install pkgs='["foo", {"bar": "1.2.3"}]'
151165
151166              Returns a dict containing the new package names and versions:
151167
151168                 {'<package>': {'old': '<old-version>',
151169                                'new': '<new-version>'}}
151170
151171       salt.modules.pkgutil.latest_version(*names, **kwargs)
151172              Return the latest version of the  named  package  available  for
151173              upgrade or installation. If more than one package name is speci‐
151174              fied, a dict of name/version pairs is returned.
151175
151176              If the latest version of a given package is  already  installed,
151177              an empty string will be returned for that package.
151178
151179              CLI Example:
151180
151181                 salt '*' pkgutil.latest_version CSWpython
151182                 salt '*' pkgutil.latest_version <package1> <package2> <package3> ...
151183
151184       salt.modules.pkgutil.list_pkgs(versions_as_list=False, **kwargs)
151185              List the packages currently installed as a dict:
151186
151187                 {'<package_name>': '<version>'}
151188
151189              CLI Example:
151190
151191                 salt '*' pkg.list_pkgs
151192                 salt '*' pkg.list_pkgs versions_as_list=True
151193
151194       salt.modules.pkgutil.list_upgrades(refresh=True, **kwargs)
151195              List all available package upgrades on this system
151196
151197              CLI Example:
151198
151199                 salt '*' pkgutil.list_upgrades
151200
151201       salt.modules.pkgutil.purge(name=None, pkgs=None, **kwargs)
151202              Package  purges are not supported, this function is identical to
151203              remove().
151204
151205              name   The name of the package to be deleted.
151206
151207              Multiple Package Options:
151208
151209              pkgs   A list of packages to delete. Must be passed as a  python
151210                     list.  The  name parameter will be ignored if this option
151211                     is passed.
151212
151213              New in version 0.16.0.
151214
151215
151216              Returns a dict containing the changes.
151217
151218              CLI Example:
151219
151220                 salt '*' pkg.purge <package name>
151221                 salt '*' pkg.purge <package1>,<package2>,<package3>
151222                 salt '*' pkg.purge pkgs='["foo", "bar"]'
151223
151224       salt.modules.pkgutil.refresh_db()
151225              Updates the pkgutil repo database (pkgutil -U)
151226
151227              CLI Example:
151228
151229                 salt '*' pkgutil.refresh_db
151230
151231       salt.modules.pkgutil.remove(name=None, pkgs=None, **kwargs)
151232              Remove a package and all its dependencies which are not  in  use
151233              by other packages.
151234
151235              name   The name of the package to be deleted.
151236
151237              Multiple Package Options:
151238
151239              pkgs   A  list of packages to delete. Must be passed as a python
151240                     list. The name parameter will be ignored if  this  option
151241                     is passed.
151242
151243              New in version 0.16.0.
151244
151245
151246              Returns a dict containing the changes.
151247
151248              CLI Example:
151249
151250                 salt '*' pkg.remove <package name>
151251                 salt '*' pkg.remove <package1>,<package2>,<package3>
151252                 salt '*' pkg.remove pkgs='["foo", "bar"]'
151253
151254       salt.modules.pkgutil.upgrade(refresh=True)
151255              Upgrade all of the packages to the latest available version.
151256
151257              Returns a dict containing the changes:
151258
151259                 {'<package>': {'old': '<old-version>',
151260                                'new': '<new-version>'}}
151261
151262              CLI Example:
151263
151264                 salt '*' pkgutil.upgrade
151265
151266       salt.modules.pkgutil.upgrade_available(name)
151267              Check if there is an upgrade available for a certain package
151268
151269              CLI Example:
151270
151271                 salt '*' pkgutil.upgrade_available CSWpython
151272
151273       salt.modules.pkgutil.version(*names, **kwargs)
151274              Returns  a  version if the package is installed, else returns an
151275              empty string
151276
151277              CLI Example:
151278
151279                 salt '*' pkgutil.version CSWpython
151280
151281   salt.modules.portage_config
151282       Configure portage(5)
151283
151284       salt.modules.portage_config.append_to_package_conf(conf,      atom=u'',
151285       flags=None, string=u'', overwrite=False)
151286              Append a string or a list of flags for a given package or DEPEND
151287              atom to a given configuration file.
151288
151289              CLI Example:
151290
151291                 salt '*' portage_config.append_to_package_conf use string="app-admin/salt ldap -libvirt"
151292                 salt '*' portage_config.append_to_package_conf use atom="> = app-admin/salt-0.14.1" flags="['ldap', '-libvirt']"
151293
151294       salt.modules.portage_config.append_use_flags(atom,   uses=None,   over‐
151295       write=False)
151296              Append a list of use flags for a given package or DEPEND atom
151297
151298              CLI Example:
151299
151300                 salt '*' portage_config.append_use_flags "app-admin/salt[ldap, -libvirt]"
151301                 salt '*' portage_config.append_use_flags ">=app-admin/salt-0.14.1" "['ldap', '-libvirt']"
151302
151303       salt.modules.portage_config.enforce_nice_config()
151304              Enforce a nice tree structure for /etc/portage/package.* config‐
151305              uration files.
151306
151307              SEE ALSO:
151308
151309                 salt.modules.ebuild.ex_mod_init()
151310                        for information on automatically running this when pkg
151311                        is used.
151312
151313              CLI Example:
151314
151315                 salt '*' portage_config.enforce_nice_config
151316
151317       salt.modules.portage_config.filter_flags(use,  use_expand_hidden,  use‐
151318       masked, useforced)
151319              New in version 2015.8.0.
151320
151321
151322              Filter function to remove hidden or otherwise not normally visi‐
151323              ble USE flags from a list.
151324
151325              @type  use:  list  @param use: the USE flag list to be filtered.
151326              @type use_expand_hidden: list @param  use_expand_hidden: list of
151327              flags  hidden.   @type usemasked: list @param usemasked: list of
151328              masked USE flags.  @type useforced: list @param  useforced:  the
151329              forced USE flags.  @rtype: list @return the filtered USE flags.
151330
151331       salt.modules.portage_config.get_all_cpv_use(cp)
151332              New in version 2015.8.0.
151333
151334
151335              Uses  portage  to  determine final USE flags and settings for an
151336              emerge.
151337
151338              @type cp: string @param cp: eg  cat/pkg  @rtype:  lists  @return
151339              use, use_expand_hidden, usemask, useforce
151340
151341       salt.modules.portage_config.get_cleared_flags(cp)
151342              New in version 2015.8.0.
151343
151344
151345              Uses  portage for compare use flags which is used for installing
151346              package and use flags which  now  exist  int  /etc/portage/pack‐
151347              age.use/
151348
151349              @type  cp:  string  @param cp: eg cat/pkg @rtype: tuple @rparam:
151350              tuple with two lists - list of used  flags  and  list  of  flags
151351              which will be used
151352
151353       salt.modules.portage_config.get_flags_from_package_conf(conf, atom)
151354              Get  flags  for  a  given package or DEPEND atom.  Warning: This
151355              only works if the configuration files tree  is  in  the  correct
151356              format (the one enforced by enforce_nice_config)
151357
151358              CLI Example:
151359
151360                 salt '*' portage_config.get_flags_from_package_conf license salt
151361
151362       salt.modules.portage_config.get_installed_use(cp, use=u'USE')
151363              New in version 2015.8.0.
151364
151365
151366              Gets the installed USE flags from the VARDB.
151367
151368              @type:  cp:  string  @param cp: cat/pkg @type use: string @param
151369              use: 1 of ["USE", "PKGUSE"] @rtype list @returns [] or the  list
151370              of IUSE flags
151371
151372       salt.modules.portage_config.get_iuse(cp)
151373              New in version 2015.8.0.
151374
151375
151376              Gets the current IUSE flags from the tree.
151377
151378              @type:  cpv:  string @param cpv: cat/pkg @rtype list @returns []
151379              or the list of IUSE flags
151380
151381       salt.modules.portage_config.get_missing_flags(conf, atom, flags)
151382              Find out which of the given flags are currently  not  set.   CLI
151383              Example:
151384
151385                 salt '*' portage_config.get_missing_flags use salt "['ldap', '-libvirt', 'openssl']"
151386
151387       salt.modules.portage_config.has_flag(conf, atom, flag)
151388              Verify  if  the given package or DEPEND atom has the given flag.
151389              Warning: This only works if the configuration files tree  is  in
151390              the correct format (the one enforced by enforce_nice_config)
151391
151392              CLI Example:
151393
151394                 salt '*' portage_config.has_flag license salt Apache-2.0
151395
151396       salt.modules.portage_config.has_use(atom, use)
151397              Verify  if  the  given  package or DEPEND atom has the given use
151398              flag.  Warning: This only works if the configuration files  tree
151399              is  in the correct format (the one enforced by enforce_nice_con‐
151400              fig)
151401
151402              CLI Example:
151403
151404                 salt '*' portage_config.has_use salt libvirt
151405
151406       salt.modules.portage_config.is_changed_uses(cp)
151407              New in version 2015.8.0.
151408
151409
151410              Uses portage for determine if the use flags of installed package
151411              is compatible with use flags in portage configs.
151412
151413              @type cp: string @param cp: eg cat/pkg
151414
151415       salt.modules.portage_config.is_present(conf, atom)
151416              Tell if a given package or DEPEND atom is present in the config‐
151417              uration files tree.  Warning: This only works if the  configura‐
151418              tion  files  tree  is in the correct format (the one enforced by
151419              enforce_nice_config)
151420
151421              CLI Example:
151422
151423                 salt '*' portage_config.is_present unmask salt
151424
151425   salt.modules.postfix
151426       Support for Postfix
151427
151428       This module is currently little more than a config file viewer and edi‐
151429       tor.  It  is  able  to read the master.cf file (which is one style) and
151430       files in the style of main.cf (which is a different style, that is used
151431       in multiple postfix configuration files).
151432
151433       The design of this module is such that when files are edited, a minimum
151434       of changes are made to them. Each file should look as if  it  has  been
151435       edited by hand; order, comments and whitespace are all preserved.
151436
151437       salt.modules.postfix.delete(queue_id)
151438              Delete message(s) from the mail queue
151439
151440              CLI Example:
151441
151442                 salt '*' postfix.delete 5C33CA0DEA
151443
151444                 salt '*' postfix.delete ALL
151445
151446       salt.modules.postfix.hold(queue_id)
151447              Put message(s) on hold from the mail queue
151448
151449              CLI Example:
151450
151451                 salt '*' postfix.hold 5C33CA0DEA
151452
151453                 salt '*' postfix.hold ALL
151454
151455       salt.modules.postfix.requeue(queue_id)
151456              Requeue message(s) in the mail queue
151457
151458              CLI Example:
151459
151460                 salt '*' postfix.requeue 5C33CA0DEA
151461
151462                 salt '*' postfix.requeue ALL
151463
151464       salt.modules.postfix.set_main(key, value, path=u'/etc/postfix/main.cf')
151465              Set a single config value in the main.cf file. If the value does
151466              not already exist, it will be appended to the end.
151467
151468              CLI Example:
151469                 salt <minion> postfix.set_main mailq_path /usr/bin/mailq
151470
151471       salt.modules.postfix.set_master(service,    conn_type,    private=u'y',
151472       unpriv=u'y',  chroot=u'y',  wakeup=u'n',  maxproc=u'100',  command=u'',
151473       write_conf=True, path=u'/etc/postfix/master.cf')
151474              Set a single config value in the master.cf file.  If  the  value
151475              does not already exist, it will be appended to the end.
151476
151477              Because  of  shell parsing issues, '-' cannot be set as a value,
151478              as is normal in the master.cf file; either 'y', 'n' or a  number
151479              should be used when calling this function from the command line.
151480              If the value used matches the default,  it  will  internally  be
151481              converted to a '-'. Calling this function from the Python API is
151482              not affected by this limitation
151483
151484              The settings and their default values, in  order,  are:  service
151485              (required),  conn_type  (required),  private  (y),  unpriv  (y),
151486              chroot (y), wakeup (n), maxproc (100), command (required).
151487
151488              By default, this function will write out the changes to the mas‐
151489              ter.cf  file, and then returns the full contents of the file. By
151490              setting the write_conf option to False, it will skip writing the
151491              file.
151492
151493              CLI Example:
151494                 salt <minion> postfix.set_master smtp inet n y n n 100 smtpd
151495
151496       salt.modules.postfix.show_main(path=u'/etc/postfix/main.cf')
151497              Return  a  dict  of  active config values. This does not include
151498              comments, spacing or order. Bear in mind that order is function‐
151499              ally  important  in the main.cf file, since keys can be referred
151500              to as variables. This means that the  data  returned  from  this
151501              function  should  not  be  used  for  direct modification of the
151502              main.cf file; other functions are available for that.
151503
151504              CLI Examples:
151505                 salt   <minion>   postfix.show_main   salt   <minion>   post‐
151506                 fix.show_main path=/path/to/main.cf
151507
151508       salt.modules.postfix.show_master(path=u'/etc/postfix/master.cf')
151509              Return  a  dict  of  active config values. This does not include
151510              comments, spacing or order.
151511
151512              The data returned from this function  should  not  be  used  for
151513              direct  modification  of  the  main.cf file; other functions are
151514              available for that.
151515
151516              CLI Examples:
151517                 salt  <minion>  postfix.show_master   salt   <minion>   post‐
151518                 fix.show_master path=/path/to/master.cf
151519
151520       salt.modules.postfix.show_queue()
151521              Show contents of the mail queue
151522
151523              CLI Example:
151524
151525                 salt '*' postfix.show_queue
151526
151527       salt.modules.postfix.unhold(queue_id)
151528              Set held message(s) in the mail queue to unheld
151529
151530              CLI Example:
151531
151532                 salt '*' postfix.unhold 5C33CA0DEA
151533
151534                 salt '*' postfix.unhold ALL
151535
151536   salt.modules.postgres
151537       Module to provide Postgres compatibility to salt.
151538
151539       configuration
151540              In  order  to  connect  to  Postgres,  certain  configuration is
151541              required in /etc/salt/minion on the relevant minions. Some  sam‐
151542              ple configs might look like:
151543
151544                 postgres.host: 'localhost'
151545                 postgres.port: '5432'
151546                 postgres.user: 'postgres' -> db user
151547                 postgres.pass: ''
151548                 postgres.maintenance_db: 'postgres'
151549
151550              The  default  for  the  maintenance_db is 'postgres' and in most
151551              cases it can be left at the default setting.  This data can also
151552              be  passed  into pillar. Options passed into opts will overwrite
151553              options passed into pillar
151554
151555       note   This module uses MD5 hashing which may  not  be  compliant  with
151556              certain security audits.
151557
151558       note   When  installing  postgres  from the official postgres repos, on
151559              certain linux distributions,  either  the  psql  or  the  initdb
151560              binary is not automatically placed on the path. Add a configura‐
151561              tion to the location of the postgres bin's path to the  relevant
151562              minion for this module:
151563
151564                 postgres.bins_dir: '/usr/pgsql-9.5/bin/'
151565
151566       salt.modules.postgres.available_extensions(user=None,        host=None,
151567       port=None, maintenance_db=None, password=None, runas=None)
151568              List available postgresql extensions
151569
151570              CLI Example:
151571
151572                 salt '*' postgres.available_extensions
151573
151574       salt.modules.postgres.create_extension(name,        if_not_exists=None,
151575       schema=None, ext_version=None, from_version=None, user=None, host=None,
151576       port=None, maintenance_db=None, password=None, runas=None)
151577              Install a postgresql extension
151578
151579              CLI Example:
151580
151581                 salt '*' postgres.create_extension 'adminpack'
151582
151583       salt.modules.postgres.create_metadata(name,           ext_version=None,
151584       schema=None,   user=None,  host=None,  port=None,  maintenance_db=None,
151585       password=None, runas=None)
151586              Get lifecycle information about an extension
151587
151588              CLI Example:
151589
151590                 salt '*' postgres.create_metadata adminpack
151591
151592       salt.modules.postgres.datadir_exists(name)
151593              New in version 2016.3.0.
151594
151595
151596              Checks if postgres data directory has been initialized
151597
151598              CLI Example:
151599
151600                 salt '*' postgres.datadir_exists '/var/lib/pgsql/data'
151601
151602              name   Name of the directory to check
151603
151604       salt.modules.postgres.datadir_init(name,  auth=u'password',  user=None,
151605       password=None,   encoding=u'UTF8',   locale=None,  waldir=None,  check‐
151606       sums=False, runas=None)
151607              New in version 2016.3.0.
151608
151609
151610              Initializes a postgres data directory
151611
151612              CLI Example:
151613
151614                 salt '*' postgres.datadir_init '/var/lib/pgsql/data'
151615
151616              name   The name of the directory to initialize
151617
151618              auth   The default authentication method for local connections
151619
151620              password
151621                     The password to set for the postgres user
151622
151623              user   The database superuser name
151624
151625              encoding
151626                     The default encoding for new databases
151627
151628              locale The default locale for new databases
151629
151630              waldir The transaction log (WAL) directory (default is  to  keep
151631                     WAL inside the data directory)
151632
151633                     New in version Fluorine.
151634
151635
151636              checksums
151637                     If  True,  the  cluster  will  be  created with data page
151638                     checksums.
151639
151640                     NOTE:
151641                        Data page checksums  are  supported  since  PostgreSQL
151642                        9.3.
151643
151644                     New in version Fluorine.
151645
151646
151647              runas  The  system  user  the  operation  should be performed on
151648                     behalf of
151649
151650       salt.modules.postgres.db_alter(name, user=None,  host=None,  port=None,
151651       maintenance_db=None,    password=None,   tablespace=None,   owner=None,
151652       owner_recurse=False, runas=None)
151653              Change tablespace or/and owner of database.
151654
151655              CLI Example:
151656
151657                 salt '*' postgres.db_alter dbname owner=otheruser
151658
151659       salt.modules.postgres.db_create(name, user=None, host=None,  port=None,
151660       maintenance_db=None,   password=None,  tablespace=None,  encoding=None,
151661       lc_collate=None, lc_ctype=None, owner=None, template=None, runas=None)
151662              Adds a databases to the Postgres server.
151663
151664              CLI Example:
151665
151666                 salt '*' postgres.db_create 'dbname'
151667
151668                 salt '*' postgres.db_create 'dbname' template=template_postgis
151669
151670       salt.modules.postgres.db_exists(name, user=None, host=None,  port=None,
151671       maintenance_db=None, password=None, runas=None)
151672              Checks if a database exists on the Postgres server.
151673
151674              CLI Example:
151675
151676                 salt '*' postgres.db_exists 'dbname'
151677
151678       salt.modules.postgres.db_list(user=None,  host=None, port=None, mainte‐
151679       nance_db=None, password=None, runas=None)
151680              Return dictionary with information about databases of a Postgres
151681              server.
151682
151683              CLI Example:
151684
151685                 salt '*' postgres.db_list
151686
151687       salt.modules.postgres.db_remove(name,  user=None, host=None, port=None,
151688       maintenance_db=None, password=None, runas=None)
151689              Removes a databases from the Postgres server.
151690
151691              CLI Example:
151692
151693                 salt '*' postgres.db_remove 'dbname'
151694
151695       salt.modules.postgres.drop_extension(name,              if_exists=None,
151696       restrict=None,  cascade=None,  user=None, host=None, port=None, mainte‐
151697       nance_db=None, password=None, runas=None)
151698              Drop an installed postgresql extension
151699
151700              CLI Example:
151701
151702                 salt '*' postgres.drop_extension 'adminpack'
151703
151704       salt.modules.postgres.get_available_extension(name,          user=None,
151705       host=None, port=None, maintenance_db=None, password=None, runas=None)
151706              Get info about an available postgresql extension
151707
151708              CLI Example:
151709
151710                 salt '*' postgres.get_available_extension plpgsql
151711
151712       salt.modules.postgres.get_installed_extension(name,          user=None,
151713       host=None, port=None, maintenance_db=None, password=None, runas=None)
151714              Get info about an installed postgresql extension
151715
151716              CLI Example:
151717
151718                 salt '*' postgres.get_installed_extension plpgsql
151719
151720       salt.modules.postgres.group_create(groupname,   user=None,   host=None,
151721       port=None,   maintenance_db=None,  password=None,  createdb=None,  cre‐
151722       ateroles=None,   encrypted=None,   login=None,   inherit=None,    supe‐
151723       ruser=None,     replication=None,    rolepassword=None,    groups=None,
151724       runas=None)
151725              Creates a Postgres group. A group is postgres is  similar  to  a
151726              user, but cannot login.
151727
151728              CLI Example:
151729
151730                 salt '*' postgres.group_create 'groupname' user='user' \
151731                         host='hostname' port='port' password='password' \
151732                         rolepassword='rolepassword'
151733
151734       salt.modules.postgres.group_remove(groupname,   user=None,   host=None,
151735       port=None, maintenance_db=None, password=None, runas=None)
151736              Removes a group from the Postgres server.
151737
151738              CLI Example:
151739
151740                 salt '*' postgres.group_remove 'groupname'
151741
151742       salt.modules.postgres.group_update(groupname,   user=None,   host=None,
151743       port=None,   maintenance_db=None,  password=None,  createdb=None,  cre‐
151744       ateroles=None,   encrypted=None,   inherit=None,   login=None,    supe‐
151745       ruser=None,     replication=None,    rolepassword=None,    groups=None,
151746       runas=None)
151747              Updates a postgres group
151748
151749              CLI Examples:
151750
151751                 salt '*' postgres.group_update 'username' user='user' \
151752                         host='hostname' port='port' password='password' \
151753                         rolepassword='rolepassword'
151754
151755       salt.modules.postgres.has_privileges(name,  object_name,   object_type,
151756       privileges=None,    grant_option=None,    prepend=u'public',    mainte‐
151757       nance_db=None,   user=None,   host=None,   port=None,    password=None,
151758       runas=None)
151759              New in version 2016.3.0.
151760
151761
151762              Check if a role has the specified privileges on an object
151763
151764              CLI Example:
151765
151766                 salt '*' postgres.has_privileges user_name table_name table \
151767                 SELECT,INSERT maintenance_db=db_name
151768
151769              name   Name  of  the  role whose privileges should be checked on
151770                     object_type
151771
151772              object_name
151773                     Name of the object on which the check is to be performed
151774
151775              object_type
151776                     The object type, which can be one of the following:
151777
151778                     · table
151779
151780                     · sequence
151781
151782                     · schema
151783
151784                     · tablespace
151785
151786                     · language
151787
151788                     · database
151789
151790                     · group
151791
151792                     · function
151793
151794              privileges
151795                     Comma separated list of privileges  to  check,  from  the
151796                     list below:
151797
151798                     · INSERT
151799
151800                     · CREATE
151801
151802                     · TRUNCATE
151803
151804                     · CONNECT
151805
151806                     · TRIGGER
151807
151808                     · SELECT
151809
151810                     · USAGE
151811
151812                     · TEMPORARY
151813
151814                     · UPDATE
151815
151816                     · EXECUTE
151817
151818                     · REFERENCES
151819
151820                     · DELETE
151821
151822                     · ALL
151823
151824              grant_option
151825                     If grant_option is set to True, the grant option check is
151826                     performed
151827
151828              prepend
151829                     Table and Sequence object types live under  a  schema  so
151830                     this  should  be  provided if the object is not under the
151831                     default public schema
151832
151833              maintenance_db
151834                     The database to connect to
151835
151836              user   database username if different from config or default
151837
151838              password
151839                     user password if any password for a specified user
151840
151841              host   Database host if different from config or default
151842
151843              port   Database port if different from config or default
151844
151845              runas  System user all operations should be performed on  behalf
151846                     of
151847
151848       salt.modules.postgres.installed_extensions(user=None,        host=None,
151849       port=None, maintenance_db=None, password=None, runas=None)
151850              List installed postgresql extensions
151851
151852              CLI Example:
151853
151854                 salt '*' postgres.installed_extensions
151855
151856       salt.modules.postgres.is_available_extension(name,           user=None,
151857       host=None, port=None, maintenance_db=None, password=None, runas=None)
151858              Test if a specific extension is available
151859
151860              CLI Example:
151861
151862                 salt '*' postgres.is_available_extension
151863
151864       salt.modules.postgres.is_installed_extension(name,           user=None,
151865       host=None, port=None, maintenance_db=None, password=None, runas=None)
151866              Test if a specific extension is installed
151867
151868              CLI Example:
151869
151870                 salt '*' postgres.is_installed_extension
151871
151872       salt.modules.postgres.language_create(name, maintenance_db,  user=None,
151873       host=None, port=None, password=None, runas=None)
151874              New in version 2016.3.0.
151875
151876
151877              Installs a language into a database
151878
151879              CLI Example:
151880
151881                 salt '*' postgres.language_create plpgsql dbname
151882
151883              name   Language to install
151884
151885              maintenance_db
151886                     The database to install the language in
151887
151888              user   database username if different from config or default
151889
151890              password
151891                     user password if any password for a specified user
151892
151893              host   Database host if different from config or default
151894
151895              port   Database port if different from config or default
151896
151897              runas  System  user all operations should be performed on behalf
151898                     of
151899
151900       salt.modules.postgres.language_exists(name, maintenance_db,  user=None,
151901       host=None, port=None, password=None, runas=None)
151902              New in version 2016.3.0.
151903
151904
151905              Checks if language exists in a database.
151906
151907              CLI Example:
151908
151909                 salt '*' postgres.language_exists plpgsql dbname
151910
151911              name   Language to check for
151912
151913              maintenance_db
151914                     The database to check in
151915
151916              user   database username if different from config or default
151917
151918              password
151919                     user password if any password for a specified user
151920
151921              host   Database host if different from config or default
151922
151923              port   Database port if different from config or default
151924
151925              runas  System  user all operations should be performed on behalf
151926                     of
151927
151928       salt.modules.postgres.language_list(maintenance_db,          user=None,
151929       host=None, port=None, password=None, runas=None)
151930              New in version 2016.3.0.
151931
151932
151933              Return a list of languages in a database.
151934
151935              CLI Example:
151936
151937                 salt '*' postgres.language_list dbname
151938
151939              maintenance_db
151940                     The database to check
151941
151942              user   database username if different from config or default
151943
151944              password
151945                     user password if any password for a specified user
151946
151947              host   Database host if different from config or default
151948
151949              port   Database port if different from config or default
151950
151951              runas  System  user all operations should be performed on behalf
151952                     of
151953
151954       salt.modules.postgres.language_remove(name, maintenance_db,  user=None,
151955       host=None, port=None, password=None, runas=None)
151956              New in version 2016.3.0.
151957
151958
151959              Removes a language from a database
151960
151961              CLI Example:
151962
151963                 salt '*' postgres.language_remove plpgsql dbname
151964
151965              name   Language to remove
151966
151967              maintenance_db
151968                     The database to install the language in
151969
151970              user   database username if different from config or default
151971
151972              password
151973                     user password if any password for a specified user
151974
151975              host   Database host if different from config or default
151976
151977              port   Database port if different from config or default
151978
151979              runas  System  user all operations should be performed on behalf
151980                     of
151981
151982       salt.modules.postgres.owner_to(dbname, ownername, user=None, host=None,
151983       port=None, password=None, runas=None)
151984              Set  the  owner  of  all  schemas,  functions, tables, views and
151985              sequences to the given username.
151986
151987              CLI Example:
151988
151989                 salt '*' postgres.owner_to 'dbname' 'username'
151990
151991       salt.modules.postgres.privileges_grant(name, object_name,  object_type,
151992       privileges=None,    grant_option=None,    prepend=u'public',    mainte‐
151993       nance_db=None,   user=None,   host=None,   port=None,    password=None,
151994       runas=None)
151995              New in version 2016.3.0.
151996
151997
151998              Grant privileges on a postgres object
151999
152000              CLI Example:
152001
152002                 salt '*' postgres.privileges_grant user_name table_name table \
152003                 SELECT,UPDATE maintenance_db=db_name
152004
152005              name   Name of the role to which privileges should be granted
152006
152007              object_name
152008                     Name of the object on which the grant is to be performed
152009
152010              object_type
152011                     The object type, which can be one of the following:
152012
152013                     · table
152014
152015                     · sequence
152016
152017                     · schema
152018
152019                     · tablespace
152020
152021                     · language
152022
152023                     · database
152024
152025                     · group
152026
152027                     · function
152028
152029              privileges
152030                     Comma  separated  list  of  privileges to grant, from the
152031                     list below:
152032
152033                     · INSERT
152034
152035                     · CREATE
152036
152037                     · TRUNCATE
152038
152039                     · CONNECT
152040
152041                     · TRIGGER
152042
152043                     · SELECT
152044
152045                     · USAGE
152046
152047                     · TEMPORARY
152048
152049                     · UPDATE
152050
152051                     · EXECUTE
152052
152053                     · REFERENCES
152054
152055                     · DELETE
152056
152057                     · ALL
152058
152059              grant_option
152060                     If grant_option is set to  True,  the  recipient  of  the
152061                     privilege can in turn grant it to others
152062
152063              prepend
152064                     Table  and  Sequence  object types live under a schema so
152065                     this should be provided if the object is  not  under  the
152066                     default public schema
152067
152068              maintenance_db
152069                     The database to connect to
152070
152071              user   database username if different from config or default
152072
152073              password
152074                     user password if any password for a specified user
152075
152076              host   Database host if different from config or default
152077
152078              port   Database port if different from config or default
152079
152080              runas  System  user all operations should be performed on behalf
152081                     of
152082
152083       salt.modules.postgres.privileges_list(name, object_type, prepend=u'pub‐
152084       lic',   maintenance_db=None,  user=None,  host=None,  port=None,  pass‐
152085       word=None, runas=None)
152086              New in version 2016.3.0.
152087
152088
152089              Return a list of privileges for the specified object.
152090
152091              CLI Example:
152092
152093                 salt '*' postgres.privileges_list table_name table maintenance_db=db_name
152094
152095              name   Name of the object for which the  permissions  should  be
152096                     returned
152097
152098              object_type
152099                     The object type, which can be one of the following:
152100
152101                     · table
152102
152103                     · sequence
152104
152105                     · schema
152106
152107                     · tablespace
152108
152109                     · language
152110
152111                     · database
152112
152113                     · group
152114
152115                     · function
152116
152117              prepend
152118                     Table  and  Sequence  object types live under a schema so
152119                     this should be provided if the object is  not  under  the
152120                     default public schema
152121
152122              maintenance_db
152123                     The database to connect to
152124
152125              user   database username if different from config or default
152126
152127              password
152128                     user password if any password for a specified user
152129
152130              host   Database host if different from config or default
152131
152132              port   Database port if different from config or default
152133
152134              runas  System  user all operations should be performed on behalf
152135                     of
152136
152137       salt.modules.postgres.privileges_revoke(name, object_name, object_type,
152138       privileges=None,   prepend=u'public',  maintenance_db=None,  user=None,
152139       host=None, port=None, password=None, runas=None)
152140              New in version 2016.3.0.
152141
152142
152143              Revoke privileges on a postgres object
152144
152145              CLI Example:
152146
152147                 salt '*' postgres.privileges_revoke user_name table_name table \
152148                 SELECT,UPDATE maintenance_db=db_name
152149
152150              name   Name of the role whose privileges should be revoked
152151
152152              object_name
152153                     Name of the object on which the revoke is to be performed
152154
152155              object_type
152156                     The object type, which can be one of the following:
152157
152158                     · table
152159
152160                     · sequence
152161
152162                     · schema
152163
152164                     · tablespace
152165
152166                     · language
152167
152168                     · database
152169
152170                     · group
152171
152172                     · function
152173
152174              privileges
152175                     Comma separated list of privileges to  revoke,  from  the
152176                     list below:
152177
152178                     · INSERT
152179
152180                     · CREATE
152181
152182                     · TRUNCATE
152183
152184                     · CONNECT
152185
152186                     · TRIGGER
152187
152188                     · SELECT
152189
152190                     · USAGE
152191
152192                     · TEMPORARY
152193
152194                     · UPDATE
152195
152196                     · EXECUTE
152197
152198                     · REFERENCES
152199
152200                     · DELETE
152201
152202                     · ALL
152203
152204              maintenance_db
152205                     The database to connect to
152206
152207              user   database username if different from config or default
152208
152209              password
152210                     user password if any password for a specified user
152211
152212              host   Database host if different from config or default
152213
152214              port   Database port if different from config or default
152215
152216              runas  System  user all operations should be performed on behalf
152217                     of
152218
152219       salt.modules.postgres.psql_query(query,      user=None,      host=None,
152220       port=None, maintenance_db=None, password=None, runas=None, write=False)
152221              Run  an SQL-Query and return the results as a list. This command
152222              only supports SELECT statements.  This limitation can be  worked
152223              around with a query like this:
152224
152225              WITH  updated AS (UPDATE pg_authid SET rolconnlimit = 2000 WHERE
152226              rolname =  'rolename'  RETURNING  rolconnlimit)  SELECT  *  FROM
152227              updated;
152228
152229              query  The query string.
152230
152231              user   Database username, if different from config or default.
152232
152233              host   Database host, if different from config or default.
152234
152235              port   Database port, if different from the config or default.
152236
152237              maintenance_db
152238                     The database to run the query against.
152239
152240              password
152241                     User password, if different from the config or default.
152242
152243              runas  User to run the command as.
152244
152245              write  Mark query as READ WRITE transaction.
152246
152247              CLI Example:
152248
152249                 salt '*' postgres.psql_query 'select * from pg_stat_activity'
152250
152251       salt.modules.postgres.role_get(name,  user=None,  host=None, port=None,
152252       maintenance_db=None, password=None, runas=None, return_password=False)
152253              Return a dict with information about users of a Postgres server.
152254
152255              Set return_password to True to get password hash in the result.
152256
152257              CLI Example:
152258
152259                 salt '*' postgres.role_get postgres
152260
152261       salt.modules.postgres.schema_create(dbname,      name,      owner=None,
152262       user=None, db_user=None, db_password=None, db_host=None, db_port=None)
152263              Creates a Postgres schema.
152264
152265              CLI Example:
152266
152267                 salt '*' postgres.schema_create dbname name owner='owner' \
152268                         user='user' \
152269                         db_user='user' db_password='password'
152270                         db_host='hostname' db_port='port'
152271
152272       salt.modules.postgres.schema_exists(dbname,       name,      user=None,
152273       db_user=None, db_password=None, db_host=None, db_port=None)
152274              Checks if a schema exists on the Postgres server.
152275
152276              CLI Example:
152277
152278                 salt '*' postgres.schema_exists dbname schemaname
152279
152280              dbname Database name we query on
152281
152282              name   Schema name we look for
152283
152284              user   The system user the  operation  should  be  performed  on
152285                     behalf of
152286
152287              db_user
152288                     database username if different from config or default
152289
152290              db_password
152291                     user password if any password for a specified user
152292
152293              db_host
152294                     Database host if different from config or default
152295
152296              db_port
152297                     Database port if different from config or default
152298
152299       salt.modules.postgres.schema_get(dbname, name, user=None, db_user=None,
152300       db_password=None, db_host=None, db_port=None)
152301              Return a dict with information about schemas in a database.
152302
152303              CLI Example:
152304
152305                 salt '*' postgres.schema_get dbname name
152306
152307              dbname Database name we query on
152308
152309              name   Schema name we look for
152310
152311              user   The system user the  operation  should  be  performed  on
152312                     behalf of
152313
152314              db_user
152315                     database username if different from config or default
152316
152317              db_password
152318                     user password if any password for a specified user
152319
152320              db_host
152321                     Database host if different from config or default
152322
152323              db_port
152324                     Database port if different from config or default
152325
152326       salt.modules.postgres.schema_list(dbname,    user=None,   db_user=None,
152327       db_password=None, db_host=None, db_port=None)
152328              Return a dict with information about schemas in a Postgres data‐
152329              base.
152330
152331              CLI Example:
152332
152333                 salt '*' postgres.schema_list dbname
152334
152335              dbname Database name we query on
152336
152337              user   The  system  user  the  operation  should be performed on
152338                     behalf of
152339
152340              db_user
152341                     database username if different from config or default
152342
152343              db_password
152344                     user password if any password for a specified user
152345
152346              db_host
152347                     Database host if different from config or default
152348
152349              db_port
152350                     Database port if different from config or default
152351
152352       salt.modules.postgres.schema_remove(dbname,      name,       user=None,
152353       db_user=None, db_password=None, db_host=None, db_port=None)
152354              Removes a schema from the Postgres server.
152355
152356              CLI Example:
152357
152358                 salt '*' postgres.schema_remove dbname schemaname
152359
152360              dbname Database name we work on
152361
152362              schemaname
152363                     The schema's name we'll remove
152364
152365              user   System  user all operations should be performed on behalf
152366                     of
152367
152368              db_user
152369                     database username if different from config or default
152370
152371              db_password
152372                     user password if any password for a specified user
152373
152374              db_host
152375                     Database host if different from config or default
152376
152377              db_port
152378                     Database port if different from config or default
152379
152380       salt.modules.postgres.tablespace_alter(name,   user=None,    host=None,
152381       port=None,     maintenance_db=None,    password=None,    new_name=None,
152382       new_owner=None, set_option=None, reset_option=None, runas=None)
152383              Change tablespace name, owner, or options.
152384
152385              CLI Example:
152386
152387                 salt '*' postgres.tablespace_alter tsname new_owner=otheruser
152388                 salt '*' postgres.tablespace_alter index_space new_name=fast_raid
152389                 salt '*' postgres.tablespace_alter test set_option="{'seq_page_cost': '1.1'}"
152390                 salt '*' postgres.tablespace_alter tsname reset_option=seq_page_cost
152391
152392              New in version 2015.8.0.
152393
152394
152395       salt.modules.postgres.tablespace_create(name,  location,  options=None,
152396       owner=None, user=None, host=None, port=None, maintenance_db=None, pass‐
152397       word=None, runas=None)
152398              Adds a tablespace to the Postgres server.
152399
152400              CLI Example:
152401
152402                 salt '*' postgres.tablespace_create tablespacename '/path/datadir'
152403
152404              New in version 2015.8.0.
152405
152406
152407       salt.modules.postgres.tablespace_exists(name,   user=None,   host=None,
152408       port=None, maintenance_db=None, password=None, runas=None)
152409              Checks if a tablespace exists on the Postgres server.
152410
152411              CLI Example:
152412
152413                 salt '*' postgres.tablespace_exists 'dbname'
152414
152415              New in version 2015.8.0.
152416
152417
152418       salt.modules.postgres.tablespace_list(user=None,  host=None, port=None,
152419       maintenance_db=None, password=None, runas=None)
152420              Return dictionary with information about tablespaces of a  Post‐
152421              gres server.
152422
152423              CLI Example:
152424
152425                 salt '*' postgres.tablespace_list
152426
152427              New in version 2015.8.0.
152428
152429
152430       salt.modules.postgres.tablespace_remove(name,   user=None,   host=None,
152431       port=None, maintenance_db=None, password=None, runas=None)
152432              Removes a tablespace from the Postgres server.
152433
152434              CLI Example:
152435
152436                 salt '*' postgres.tablespace_remove tsname
152437
152438              New in version 2015.8.0.
152439
152440
152441       salt.modules.postgres.user_create(username,    user=None,    host=None,
152442       port=None,   maintenance_db=None,  password=None,  createdb=None,  cre‐
152443       ateroles=None,      inherit=None,      login=None,      connlimit=None,
152444       encrypted=None,  superuser=None,  replication=None,  rolepassword=None,
152445       valid_until=None, groups=None, runas=None)
152446              Creates a Postgres user.
152447
152448              CLI Examples:
152449
152450                 salt '*' postgres.user_create 'username' user='user' \
152451                         host='hostname' port='port' password='password' \
152452                         rolepassword='rolepassword' valid_until='valid_until'
152453
152454       salt.modules.postgres.user_exists(name,      user=None,      host=None,
152455       port=None, maintenance_db=None, password=None, runas=None)
152456              Checks if a user exists on the Postgres server.
152457
152458              CLI Example:
152459
152460                 salt '*' postgres.user_exists 'username'
152461
152462       salt.modules.postgres.user_list(user=None,  host=None, port=None, main‐
152463       tenance_db=None, password=None, runas=None, return_password=False)
152464              Return a dict with information about users of a Postgres server.
152465
152466              Set return_password to True to get password hash in the result.
152467
152468              CLI Example:
152469
152470                 salt '*' postgres.user_list
152471
152472       salt.modules.postgres.user_remove(username,    user=None,    host=None,
152473       port=None, maintenance_db=None, password=None, runas=None)
152474              Removes a user from the Postgres server.
152475
152476              CLI Example:
152477
152478                 salt '*' postgres.user_remove 'username'
152479
152480       salt.modules.postgres.user_update(username,    user=None,    host=None,
152481       port=None,  maintenance_db=None,  password=None,  createdb=None,   cre‐
152482       ateroles=None,     encrypted=None,     superuser=None,    inherit=None,
152483       login=None,   connlimit=None,   replication=None,    rolepassword=None,
152484       valid_until=None, groups=None, runas=None)
152485              Updates a Postgres user.
152486
152487              CLI Examples:
152488
152489                 salt '*' postgres.user_update 'username' user='user' \
152490                         host='hostname' port='port' password='password' \
152491                         rolepassword='rolepassword' valid_until='valid_until'
152492
152493       salt.modules.postgres.version(user=None,  host=None, port=None, mainte‐
152494       nance_db=None, password=None, runas=None)
152495              Return the version of a Postgres server.
152496
152497              CLI Example:
152498
152499                 salt '*' postgres.version
152500
152501   salt.modules.poudriere
152502       Support for poudriere
152503
152504       salt.modules.poudriere.bulk_build(jail, pkg_file, keep=False)
152505              Run bulk build on poudriere server.
152506
152507              Return number of pkg builds, failures, and errors, on error dump
152508              to CLI
152509
152510              CLI Example:
152511
152512                 salt -N buildbox_group poudriere.bulk_build 90amd64 /root/pkg_list
152513
152514       salt.modules.poudriere.create_jail(name, arch, version=u'9.0-RELEASE')
152515              Creates a new poudriere jail if one does not exist
152516
152517              NOTE  creating  a new jail will take some time the master is not
152518              hanging
152519
152520              CLI Example:
152521
152522                 salt '*' poudriere.create_jail 90amd64 amd64
152523
152524       salt.modules.poudriere.create_ports_tree()
152525              Not working need to run portfetch non interactive
152526
152527       salt.modules.poudriere.delete_jail(name)
152528              Deletes poudriere jail with name
152529
152530              CLI Example:
152531
152532                 salt '*' poudriere.delete_jail 90amd64
152533
152534       salt.modules.poudriere.is_jail(name)
152535              Return True if jail exists False if not
152536
152537              CLI Example:
152538
152539                 salt '*' poudriere.is_jail <jail name>
152540
152541       salt.modules.poudriere.list_jails()
152542              Return a list of current jails managed by poudriere
152543
152544              CLI Example:
152545
152546                 salt '*' poudriere.list_jails
152547
152548       salt.modules.poudriere.list_ports()
152549              Return a list of current port trees managed by poudriere
152550
152551              CLI Example:
152552
152553                 salt '*' poudriere.list_ports
152554
152555       salt.modules.poudriere.make_pkgng_aware(jname)
152556              Make jail jname pkgng aware
152557
152558              CLI Example:
152559
152560                 salt '*' poudriere.make_pkgng_aware <jail name>
152561
152562       salt.modules.poudriere.parse_config(config_file=None)
152563              Returns a dict of poudriere main configuration definitions
152564
152565              CLI Example:
152566
152567                 salt '*' poudriere.parse_config
152568
152569       salt.modules.poudriere.update_jail(name)
152570              Run freebsd-update on name poudriere jail
152571
152572              CLI Example:
152573
152574                 salt '*' poudriere.update_jail freebsd:10:x86:64
152575
152576       salt.modules.poudriere.update_ports_tree(ports_tree)
152577              Updates the ports tree, either the  default  or  the  ports_tree
152578              specified
152579
152580              CLI Example:
152581
152582                 salt '*' poudriere.update_ports_tree staging
152583
152584       salt.modules.poudriere.version()
152585              Return poudriere version
152586
152587              CLI Example:
152588
152589                 salt '*' poudriere.version
152590
152591   salt.modules.powerpath
152592       powerpath support.
152593
152594       Assumes RedHat
152595
152596       salt.modules.powerpath.add_license(key)
152597              Add a license
152598
152599       salt.modules.powerpath.has_powerpath()
152600
152601       salt.modules.powerpath.list_licenses()
152602              returns a list of applied powerpath license keys
152603
152604       salt.modules.powerpath.remove_license(key)
152605              Remove a license
152606
152607   salt.modules.proxy module
152608       This module allows you to manage proxy settings
152609
152610          salt '*' network.get_http_proxy
152611
152612       salt.modules.proxy.get_ftp_proxy(network_service=u'Ethernet')
152613              Returns the current ftp proxy settings
152614
152615              network_service
152616                     The  network  service  to apply the changes to, this only
152617                     necessary on macOS
152618
152619              CLI Example:
152620
152621                 salt '*' proxy.get_ftp_proxy Ethernet
152622
152623       salt.modules.proxy.get_http_proxy(network_service=u'Ethernet')
152624              Returns the current http proxy settings
152625
152626              network_service
152627                     The network service to apply the changes  to,  this  only
152628                     necessary on macOS
152629
152630              CLI Example:
152631
152632                 salt '*' proxy.get_http_proxy Ethernet
152633
152634       salt.modules.proxy.get_https_proxy(network_service=u'Ethernet')
152635              Returns the current https proxy settings
152636
152637              network_service
152638                     The  network  service  to apply the changes to, this only
152639                     necessary on macOS
152640
152641              CLI Example:
152642
152643                 salt '*' proxy.get_https_proxy Ethernet
152644
152645       salt.modules.proxy.get_proxy_bypass(network_service=u'Ethernet')
152646              Returns the current domains that can bypass the proxy
152647
152648              network_service
152649                     The network service to get the bypass domains from,  this
152650                     is only necessary on macOS
152651
152652              CLI Example:
152653
152654                 salt '*' proxy.get_proxy_bypass
152655
152656       salt.modules.proxy.get_proxy_win()
152657              Gets  all  of  the proxy settings in one call, only available on
152658              Windows
152659
152660              CLI Example:
152661
152662                 salt '*' proxy.get_proxy_win
152663
152664       salt.modules.proxy.set_ftp_proxy(server,   port,    user=None,    pass‐
152665       word=None, network_service=u'Ethernet', bypass_hosts=None)
152666              Sets the ftp proxy settings
152667
152668              server The proxy server to use
152669
152670              port   The port used by the proxy server
152671
152672              user   The username to use for the proxy server if required
152673
152674              password
152675                     The password to use if required by the server
152676
152677              network_service
152678                     The  network  service  to apply the changes to, this only
152679                     necessary on macOS
152680
152681              bypass_hosts
152682                     The hosts that are allowed to by  pass  the  proxy.  Only
152683                     used  on  Windows  for other OS's use set_proxy_bypass to
152684                     edit the bypass hosts.
152685
152686              CLI Example:
152687
152688                 salt '*' proxy.set_ftp_proxy example.com 1080 user=proxy_user password=proxy_pass network_service=Ethernet
152689
152690       salt.modules.proxy.set_http_proxy(server,   port,   user=None,    pass‐
152691       word=None, network_service=u'Ethernet', bypass_hosts=None)
152692              Sets  the  http proxy settings. Note: On Windows this will over‐
152693              ride any other proxy settings you have, the preferred method  of
152694              updating proxies on windows is using set_proxy.
152695
152696              server The proxy server to use
152697
152698              port   The port used by the proxy server
152699
152700              user   The username to use for the proxy server if required
152701
152702              password
152703                     The password to use if required by the server
152704
152705              network_service
152706                     The  network  service  to apply the changes to, this only
152707                     necessary on macOS
152708
152709              bypass_hosts
152710                     The hosts that are allowed to by  pass  the  proxy.  Only
152711                     used  on  Windows  for other OS's use set_proxy_bypass to
152712                     edit the bypass hosts.
152713
152714              CLI Example:
152715
152716                 salt '*' proxy.set_http_proxy example.com 1080 user=proxy_user password=proxy_pass network_service=Ethernet
152717
152718       salt.modules.proxy.set_https_proxy(server,   port,   user=None,   pass‐
152719       word=None, network_service=u'Ethernet', bypass_hosts=None)
152720              Sets  the https proxy settings. Note: On Windows this will over‐
152721              ride any other proxy settings you have, the preferred method  of
152722              updating proxies on windows is using set_proxy.
152723
152724              server The proxy server to use
152725
152726              port   The port used by the proxy server
152727
152728              user   The username to use for the proxy server if required
152729
152730              password
152731                     The password to use if required by the server
152732
152733              network_service
152734                     The  network  service  to apply the changes to, this only
152735                     necessary on macOS
152736
152737              bypass_hosts
152738                     The hosts that are allowed to by  pass  the  proxy.  Only
152739                     used  on  Windows  for other OS's use set_proxy_bypass to
152740                     edit the bypass hosts.
152741
152742              CLI Example:
152743
152744                 salt '*' proxy.set_https_proxy example.com 1080 user=proxy_user password=proxy_pass network_service=Ethernet
152745
152746       salt.modules.proxy.set_proxy_bypass(domains,   network_service=u'Ether‐
152747       net')
152748              Sets the domains that can bypass the proxy
152749
152750              domains
152751                     An array of domains allowed to bypass the proxy
152752
152753              network_service
152754                     The  network  service  to apply the changes to, this only
152755                     necessary on macOS
152756
152757              CLI Example:
152758
152759                 salt '*' proxy.set_proxy_bypass "['127.0.0.1', 'localhost']"
152760
152761       salt.modules.proxy.set_proxy_win(server,       port,        types=None,
152762       bypass_hosts=None)
152763              Sets the http proxy settings, only works with Windows.
152764
152765              server The proxy server to use
152766
152767              password
152768                     The password to use if required by the server
152769
152770              types  The  types of proxy connections should be setup with this
152771                     server. Valid types are:
152772
152773                        · http
152774
152775                        · https
152776
152777                        · ftp
152778
152779              bypass_hosts
152780                     The hosts that are allowed to by pass the proxy.
152781
152782              CLI Example:
152783
152784                 salt '*' proxy.set_http_proxy example.com 1080 types="['http', 'https']"
152785
152786   salt.modules.ps
152787       A salt  interface  to  psutil,  a  system  and  process  library.   See
152788       http://code.google.com/p/psutil.
152789
152790       depends
152791
152792              · psutil Python module, version 0.3.0 or later
152793
152794              · python-utmp package (optional)
152795
152796       salt.modules.ps.boot_time(time_format=None)
152797              Return the boot time in number of seconds since the epoch began.
152798
152799              CLI Example:
152800
152801              time_format
152802                     Optionally   specify   a   strftime  format  string.  Use
152803                     time_format='%c' to get a  nicely-formatted  locale  spe‐
152804                     cific date and time (i.e. Fri May  2 19:08:32 2014).
152805
152806                     New in version 2014.1.4.
152807
152808
152809                 salt '*' ps.boot_time
152810
152811       salt.modules.ps.cpu_percent(interval=0.1, per_cpu=False)
152812              Return the percent of time the CPU is busy.
152813
152814              interval
152815                     the number of seconds to sample CPU usage over
152816
152817              per_cpu
152818                     if True return an array of CPU percent busy for each CPU,
152819                     otherwise aggregate all percents into one number
152820
152821              CLI Example:
152822
152823                 salt '*' ps.cpu_percent
152824
152825       salt.modules.ps.cpu_times(per_cpu=False)
152826              Return the percent of time the CPU spends in  each  state,  e.g.
152827              user, system, idle, nice, iowait, irq, softirq.
152828
152829              per_cpu
152830                     if  True return an array of percents for each CPU, other‐
152831                     wise aggregate all percents into one number
152832
152833              CLI Example:
152834
152835                 salt '*' ps.cpu_times
152836
152837       salt.modules.ps.disk_io_counters(device=None)
152838              Return disk I/O statistics.
152839
152840              CLI Example:
152841
152842                 salt '*' ps.disk_io_counters
152843
152844                 salt '*' ps.disk_io_counters device=sda1
152845
152846       salt.modules.ps.disk_partition_usage(all=False)
152847              Return a list of disk partitions plus the mount point,  filesys‐
152848              tem and usage statistics.
152849
152850              CLI Example:
152851
152852                 salt '*' ps.disk_partition_usage
152853
152854       salt.modules.ps.disk_partitions(all=False)
152855              Return  a list of disk partitions and their device, mount point,
152856              and filesystem type.
152857
152858              all    if set to False, only return local,  physical  partitions
152859                     (hard disk, USB, CD/DVD partitions).  If True, return all
152860                     filesystems.
152861
152862              CLI Example:
152863
152864                 salt '*' ps.disk_partitions
152865
152866       salt.modules.ps.disk_usage(path)
152867              Given a path, return a dict listing the total available space as
152868              well as the free space, and used space.
152869
152870              CLI Example:
152871
152872                 salt '*' ps.disk_usage /home
152873
152874       salt.modules.ps.get_pid_list()
152875              Return a list of process ids (PIDs) for all running processes.
152876
152877              CLI Example:
152878
152879                 salt '*' ps.get_pid_list
152880
152881       salt.modules.ps.get_users()
152882              Return logged-in users.
152883
152884              CLI Example:
152885
152886                 salt '*' ps.get_users
152887
152888       salt.modules.ps.kill_pid(pid, signal=15)
152889              Kill a process by PID.
152890
152891                 salt 'minion' ps.kill_pid pid [signal=signal_number]
152892
152893              pid    PID of process to kill.
152894
152895              signal Signal to send to the process. See manpage entry for kill
152896                     for possible values. Default: 15 (SIGTERM).
152897
152898              Example:
152899
152900              Send SIGKILL to process with PID 2000:
152901
152902                 salt 'minion' ps.kill_pid 2000 signal=9
152903
152904       salt.modules.ps.lsof(name)
152905              Retrieve the lsof information of the given process name.
152906
152907              CLI Example:
152908
152909                 salt '*' ps.lsof apache2
152910
152911       salt.modules.ps.netstat(name)
152912              Retrieve the netstat information of the given process name.
152913
152914              CLI Example:
152915
152916                 salt '*' ps.netstat apache2
152917
152918       salt.modules.ps.network_io_counters(interface=None)
152919              Return network I/O statistics.
152920
152921              CLI Example:
152922
152923                 salt '*' ps.network_io_counters
152924
152925                 salt '*' ps.network_io_counters interface=eth0
152926
152927       salt.modules.ps.num_cpus()
152928              Return the number of CPUs.
152929
152930              CLI Example:
152931
152932                 salt '*' ps.num_cpus
152933
152934       salt.modules.ps.pgrep(pattern, user=None, full=False)
152935              Return the pids for processes matching a pattern.
152936
152937              If full is true, the full command line is searched for a  match,
152938              otherwise only the name of the command is searched.
152939
152940                 salt '*' ps.pgrep pattern [user=username] [full=(true|false)]
152941
152942              pattern
152943                     Pattern to search for in the process list.
152944
152945              user   Limit matches to the given username. Default: All users.
152946
152947              full   A  boolean  value indicating whether only the name of the
152948                     command or  the  full  command  line  should  be  matched
152949                     against the pattern.
152950
152951              Examples:
152952
152953              Find all httpd processes on all 'www' minions:
152954
152955                 salt 'www.*' ps.pgrep httpd
152956
152957              Find all bash processes owned by user 'tom':
152958
152959                 salt '*' ps.pgrep bash user=tom
152960
152961       salt.modules.ps.pkill(pattern, user=None, signal=15, full=False)
152962              Kill processes matching a pattern.
152963
152964                 salt '*' ps.pkill pattern [user=username] [signal=signal_number] \
152965                         [full=(true|false)]
152966
152967              pattern
152968                     Pattern to search for in the process list.
152969
152970              user   Limit matches to the given username. Default: All users.
152971
152972              signal Signal  to send to the process(es). See manpage entry for
152973                     kill for possible values. Default: 15 (SIGTERM).
152974
152975              full   A boolean value indicating whether only the name  of  the
152976                     command  or  the  full  command  line  should  be matched
152977                     against the pattern.
152978
152979              Examples:
152980
152981              Send SIGHUP to all httpd processes on all 'www' minions:
152982
152983                 salt 'www.*' ps.pkill httpd signal=1
152984
152985              Send SIGKILL to all bash processes owned by user 'tom':
152986
152987                 salt '*' ps.pkill bash signal=9 user=tom
152988
152989       salt.modules.ps.proc_info(pid, attrs=None)
152990              Return a dictionary of information for a process id (PID).
152991
152992              CLI Example:
152993
152994                 salt '*' ps.proc_info 2322
152995                 salt '*' ps.proc_info 2322 attrs='["pid", "name"]'
152996
152997              pid    PID of process to query.
152998
152999              attrs  Optional list of desired process attributes.  The list of
153000                     possible     attributes     can     be     found    here:
153001                     http://pythonhosted.org/psutil/#psutil.Process
153002
153003       salt.modules.ps.psaux(name)
153004              Retrieve information corresponding to a "ps aux"  filtered  with
153005              the  given pattern. It could be just a name or a regular expres‐
153006              sion (using python search from "re" module).
153007
153008              CLI Example:
153009
153010                 salt '*' ps.psaux www-data.+apache2
153011
153012       salt.modules.ps.ss(name)
153013              Retrieve the ss information of the given process name.
153014
153015              CLI Example:
153016
153017                 salt '*' ps.ss apache2
153018
153019              New in version 2016.11.6.
153020
153021
153022       salt.modules.ps.swap_memory()
153023              New in version 2014.7.0.
153024
153025
153026              Return a dict that describes swap memory statistics.
153027
153028              NOTE:
153029                 This function is only available in psutil version  0.6.0  and
153030                 above.
153031
153032              CLI Example:
153033
153034                 salt '*' ps.swap_memory
153035
153036       salt.modules.ps.top(num_processes=5, interval=3)
153037              Return  a  list of top CPU consuming processes during the inter‐
153038              val.  num_processes = return the top N CPU  consuming  processes
153039              interval = the number of seconds to sample CPU usage over
153040
153041              CLI Examples:
153042
153043                 salt '*' ps.top
153044
153045                 salt '*' ps.top 5 10
153046
153047       salt.modules.ps.total_physical_memory()
153048              Return the total number of bytes of physical memory.
153049
153050              CLI Example:
153051
153052                 salt '*' ps.total_physical_memory
153053
153054       salt.modules.ps.virtual_memory()
153055              New in version 2014.7.0.
153056
153057
153058              Return  a  dict  that  describes  statistics about system memory
153059              usage.
153060
153061              NOTE:
153062                 This function is only available in psutil version  0.6.0  and
153063                 above.
153064
153065              CLI Example:
153066
153067                 salt '*' ps.virtual_memory
153068
153069   salt.modules.publish
153070       Publish a command from a minion to a target
153071
153072       salt.modules.publish.full_data(tgt,  fun,  arg=None,  tgt_type=u'glob',
153073       returner=u'', timeout=5)
153074              Return the full data about the publication, this is  invoked  in
153075              the same way as the publish function
153076
153077              CLI Example:
153078
153079                 salt system.example.com publish.full_data '*' cmd.run 'ls -la /tmp'
153080
153081                 Attention
153082
153083                        If you need to pass a value to a function argument and
153084                        that value contains an equal sign,  you  must  include
153085                        the argument name.  For example:
153086
153087                     salt '*' publish.full_data test.kwarg arg='cheese=spam'
153088
153089       salt.modules.publish.publish(tgt,   fun,   arg=None,  tgt_type=u'glob',
153090       returner=u'', timeout=5, via_master=None)
153091              Publish a command from the minion out to other minions.
153092
153093              Publications need to be enabled on the Salt master and the  min‐
153094              ion  needs  to  have permission to publish the command. The Salt
153095              master will also prevent  a  recursive  publication  loop,  this
153096              means  that  a  minion  cannot command another minion to command
153097              another minion as that would create an infinite command loop.
153098
153099              The tgt_type argument is used to pass a target other than a glob
153100              into the execution, the available options are:
153101
153102              · glob
153103
153104              · pcre
153105
153106              · grain
153107
153108              · grain_pcre
153109
153110              · pillar
153111
153112              · pillar_pcre
153113
153114              · ipcidr
153115
153116              · range
153117
153118              · compound
153119
153120              Changed  in  version  2017.7.0:  The expr_form argument has been
153121              renamed to tgt_type, earlier releases must use expr_form.
153122
153123
153124              Note that for pillar matches must be exact, both in  the  pillar
153125              matcher and the compound matcher. No globbing is supported.
153126
153127              The  arguments sent to the minion publish function are separated
153128              with commas. This means that for a minion  executing  a  command
153129              with multiple args it will look like this:
153130
153131                 salt system.example.com publish.publish '*' user.add 'foo,1020,1020'
153132                 salt system.example.com publish.publish 'os:Fedora' network.interfaces '' grain
153133
153134              CLI Example:
153135
153136                 salt system.example.com publish.publish '*' cmd.run 'ls -la /tmp'
153137
153138                 Attention
153139
153140                        If you need to pass a value to a function argument and
153141                        that value contains an equal sign,  you  must  include
153142                        the argument name.  For example:
153143
153144                     salt '*' publish.publish test.kwarg arg='cheese=spam'
153145
153146                 Multiple keyword arguments should be passed as a list.
153147
153148                     salt '*' publish.publish test.kwarg arg="['cheese=spam','spam=cheese']"
153149
153150              When  running  via  salt-call, the via_master flag may be set to
153151              specific which master the publication should be  sent  to.  Only
153152              one  master  may be specified. If unset, the publication will be
153153              sent only to the first master in minion configuration.
153154
153155       salt.modules.publish.runner(fun, arg=None, timeout=5)
153156              Execute a runner on the master and return the data from the run‐
153157              ner function
153158
153159              CLI Example:
153160
153161                 salt publish.runner manage.down
153162
153163   salt.modules.puppet
153164       Execute puppet routines
153165
153166       salt.modules.puppet.disable(message=None)
153167              New in version 2014.7.0.
153168
153169
153170              Disable the puppet agent
153171
153172              message
153173                     New in version 2015.5.2.
153174
153175
153176                     Disable message to send to puppet
153177
153178              CLI Example:
153179
153180                 salt '*' puppet.disable
153181                 salt '*' puppet.disable 'Disabled, contact XYZ before enabling'
153182
153183       salt.modules.puppet.enable()
153184              New in version 2014.7.0.
153185
153186
153187              Enable the puppet agent
153188
153189              CLI Example:
153190
153191                 salt '*' puppet.enable
153192
153193       salt.modules.puppet.fact(name, puppet=False)
153194              Run facter for a specific fact
153195
153196              CLI Example:
153197
153198                 salt '*' puppet.fact kernel
153199
153200       salt.modules.puppet.facts(puppet=False)
153201              Run facter and return the results
153202
153203              CLI Example:
153204
153205                 salt '*' puppet.facts
153206
153207       salt.modules.puppet.noop(*args, **kwargs)
153208              Execute  a  puppet  noop  run and return a dict with the stderr,
153209              stdout, return code, etc. Usage is the same as for puppet.run.
153210
153211              CLI Example:
153212
153213                 salt '*' puppet.noop
153214                 salt '*' puppet.noop tags=basefiles::edit,apache::server
153215                 salt '*' puppet.noop debug
153216                 salt '*' puppet.noop apply /a/b/manifest.pp modulepath=/a/b/modules tags=basefiles::edit,apache::server
153217
153218       salt.modules.puppet.plugin_sync()
153219              Runs a plugin sync between the puppet master and agent
153220
153221              CLI Example:
153222
153223                 salt '*' puppet.plugin_sync
153224
153225       salt.modules.puppet.run(*args, **kwargs)
153226              Execute a puppet run and return a dict with the stderr,  stdout,
153227              return code, etc. The first positional argument given is checked
153228              as  a  subcommand.  Following  positional  arguments  should  be
153229              ordered  with  arguments  required by the subcommand first, fol‐
153230              lowed by non-keyword arguments.  Tags are  specified  by  a  tag
153231              keyword    and    comma    separated    list   of   values.   --
153232              http://docs.puppetlabs.com/puppet/latest/reference/lang_tags.html
153233
153234              CLI Examples:
153235
153236                 salt '*' puppet.run
153237                 salt '*' puppet.run tags=basefiles::edit,apache::server
153238                 salt '*' puppet.run agent onetime no-daemonize no-usecacheonfailure no-splay ignorecache
153239                 salt '*' puppet.run debug
153240                 salt '*' puppet.run apply /a/b/manifest.pp modulepath=/a/b/modules tags=basefiles::edit,apache::server
153241
153242       salt.modules.puppet.status()
153243              New in version 2014.7.0.
153244
153245
153246              Display puppet agent status
153247
153248              CLI Example:
153249
153250                 salt '*' puppet.status
153251
153252       salt.modules.puppet.summary()
153253              New in version 2014.7.0.
153254
153255
153256              Show a summary of the last puppet agent run
153257
153258              CLI Example:
153259
153260                 salt '*' puppet.summary
153261
153262   salt.modules.purefa
153263       Management of Pure Storage FlashArray
153264
153265   Installation Prerequisites
153266       · You will need the purestorage python package in your python installa‐
153267         tion path that is running salt.
153268
153269            pip install purestorage
153270
153271       · Configure Pure Storage FlashArray authentication. Use one of the fol‐
153272         lowing three methods.
153273
153274         1. From the minion config
153275
153276            pure_tags:
153277              fa:
153278                san_ip: management vip or hostname for the FlashArray
153279                api_token: A valid api token for the FlashArray being managed
153280
153281         2. From environment (PUREFA_IP and PUREFA_API)
153282
153283         3. From the pillar (PUREFA_IP and PUREFA_API)
153284
153285       maintainer
153286              Simon Dodsley (simon@purestorage.com)
153287
153288       maturity
153289              new
153290
153291       requires
153292              purestorage
153293
153294       platform
153295              all
153296
153297       New in version 2018.3.0.
153298
153299
153300       salt.modules.purefa.hg_create(name, host=None, volume=None)
153301              Create a hostgroup on a Pure Storage FlashArray.
153302
153303              Will  return False if hostgroup already exists, or if named host
153304              or volume do not exist.
153305
153306              New in version 2018.3.0.
153307
153308
153309              name   string name of hostgroup (truncated to 63 characters)
153310
153311              host   string name of host to add to hostgroup
153312
153313              volume string name of volume to add to hostgroup
153314
153315              CLI Example:
153316
153317                 salt '*' purefa.hg_create foo host=bar volume=vol
153318
153319       salt.modules.purefa.hg_delete(name)
153320              Delete a hostgroup on a Pure  Storage  FlashArray  (removes  all
153321              volumes and hosts).
153322
153323              Will return False is hostgroup is already in a deleted state.
153324
153325              New in version 2018.3.0.
153326
153327
153328              name   string name of hostgroup
153329
153330              CLI Example:
153331
153332                 salt '*' purefa.hg_delete foo
153333
153334       salt.modules.purefa.hg_remove(name, volume=None, host=None)
153335              Remove  a  host and/or volume from a hostgroup on a Pure Storage
153336              FlashArray.
153337
153338              Will return False is hostgroup does not exist, or named host  or
153339              volume are not in the hostgroup.
153340
153341              New in version 2018.3.0.
153342
153343
153344              name   string name of hostgroup
153345
153346              volume string name of volume to remove from hostgroup
153347
153348              host   string name of host to remove from hostgroup
153349
153350              CLI Example:
153351
153352                 salt '*' purefa.hg_remove foo volume=test host=bar
153353
153354       salt.modules.purefa.hg_update(name, host=None, volume=None)
153355              Adds entries to a hostgroup on a Pure Storage FlashArray.
153356
153357              Will  return False is hostgroup doesn't exist, or host or volume
153358              do not exist.
153359
153360              New in version 2018.3.0.
153361
153362
153363              name   string name of hostgroup
153364
153365              host   string name of host to add to hostgroup
153366
153367              volume string name of volume to add to hostgroup
153368
153369              CLI Example:
153370
153371                 salt '*' purefa.hg_update foo host=bar volume=vol
153372
153373       salt.modules.purefa.host_create(name, iqn=None, wwn=None)
153374              Add a host on a Pure Storage FlashArray.
153375
153376              Will return False if host already exists, or the iSCSI or  Fibre
153377              Channel  parameters are not in a valid format.  See Pure Storage
153378              FlashArray documentation.
153379
153380              New in version 2018.3.0.
153381
153382
153383              name   string name of host (truncated to 63 characters)
153384
153385              iqn    string iSCSI IQN of host
153386
153387              wwn    string Fibre Channel WWN of host
153388
153389              CLI Example:
153390
153391                 salt '*' purefa.host_create foo iqn='<Valid iSCSI IQN>' wwn='<Valid WWN>'
153392
153393       salt.modules.purefa.host_delete(name)
153394              Delete a host on a Pure Storage FlashArray  (detaches  all  vol‐
153395              umes).
153396
153397              Will return False if the host doesn't exist.
153398
153399              New in version 2018.3.0.
153400
153401
153402              name   string name of host
153403
153404              CLI Example:
153405
153406                 salt '*' purefa.host_delete foo
153407
153408       salt.modules.purefa.host_update(name, iqn=None, wwn=None)
153409              Update a hosts port definitions on a Pure Storage FlashArray.
153410
153411              Will  return False if new port definitions are already in use by
153412              another host, or are not in a valid format.   See  Pure  Storage
153413              FlashArray documentation.
153414
153415              New in version 2018.3.0.
153416
153417
153418              name   string name of host
153419
153420              iqn    string Additional iSCSI IQN of host
153421
153422              wwn    string Additional Fibre Channel WWN of host
153423
153424              CLI Example:
153425
153426                 salt '*' purefa.host_update foo iqn='<Valid iSCSI IQN>' wwn='<Valid WWN>'
153427
153428       salt.modules.purefa.pg_create(name,   hostgroup=None,  host=None,  vol‐
153429       ume=None, enabled=True)
153430              Create a protection group on a Pure Storage FlashArray.
153431
153432              Will return False is the following cases:
153433
153434                     · Protection Grop already exists
153435
153436                     · Protection Group in a deleted state
153437
153438                     · More than one type is specified - protection groups are
153439                       for only hostgroups, hosts or volumes
153440
153441                     · Named type for protection group does not exist
153442
153443              New in version 2018.3.0.
153444
153445
153446              name   string name of protection group
153447
153448              hostgroup
153449                     string name of hostgroup to add to protection group
153450
153451              host   string name of host to add to protection group
153452
153453              volume string name of volume to add to protection group
153454
153455              CLI Example:
153456
153457                 salt '*' purefa.pg_create foo [hostgroup=foo | host=bar | volume=vol] enabled=[true | false]
153458
153459       salt.modules.purefa.pg_delete(name, eradicate=False)
153460              Delete a protecton group on a Pure Storage FlashArray.
153461
153462              Will  return  False  if protection group is already in a deleted
153463              state.
153464
153465              New in version 2018.3.0.
153466
153467
153468              name   string name of protection group
153469
153470              CLI Example:
153471
153472                 salt '*' purefa.pg_delete foo
153473
153474       salt.modules.purefa.pg_eradicate(name)
153475              Eradicate a deleted protecton group on a Pure  Storage  FlashAr‐
153476              ray.
153477
153478              Will return False if protection group is not in a deleted state.
153479
153480              New in version 2018.3.0.
153481
153482
153483              name   string name of protection group
153484
153485              CLI Example:
153486
153487                 salt '*' purefa.pg_eradicate foo
153488
153489       salt.modules.purefa.pg_remove(name,   hostgroup=None,  host=None,  vol‐
153490       ume=None)
153491              Remove a hostgroup, host or volume from a protection group on  a
153492              Pure Storage FlashArray.
153493
153494              Will return False in the following cases:
153495
153496                     · Protection group does not exist
153497
153498                     · Specified  type  is  not  currently associated with the
153499                       protection group
153500
153501              New in version 2018.3.0.
153502
153503
153504              name   string name of hostgroup
153505
153506              hostgroup
153507                     string name of hostgroup to remove from protection group
153508
153509              host   string name of host to remove from hostgroup
153510
153511              volume string name of volume to remove from hostgroup
153512
153513              CLI Example:
153514
153515                 salt '*' purefa.pg_remove foo [hostgroup=bar | host=test | volume=bar]
153516
153517       salt.modules.purefa.pg_update(name,  hostgroup=None,  host=None,   vol‐
153518       ume=None)
153519              Update a protection group on a Pure Storage FlashArray.
153520
153521              Will return False in the following cases:
153522
153523                     · Protection group does not exist
153524
153525                     · Incorrect  type  selected  for current protection group
153526                       type
153527
153528                     · Specified type does not exist
153529
153530              New in version 2018.3.0.
153531
153532
153533              name   string name of protection group
153534
153535              hostgroup
153536                     string name of hostgroup to add to protection group
153537
153538              host   string name of host to add to protection group
153539
153540              volume string name of volume to add to protection group
153541
153542              CLI Example:
153543
153544                 salt '*' purefa.pg_update foo [hostgroup=foo | host=bar | volume=vol]
153545
153546       salt.modules.purefa.snap_create(name, suffix=None)
153547              Create a volume snapshot on a Pure Storage FlashArray.
153548
153549              Will return False is volume selected to snap does not exist.
153550
153551              New in version 2018.3.0.
153552
153553
153554              name   string name of volume to snapshot
153555
153556              suffix string if specificed forces snapshot name suffix. If  not
153557                     specified defaults to timestamp.
153558
153559              CLI Example:
153560
153561                 salt '*' purefa.snap_create foo
153562                 salt '*' purefa.snap_create foo suffix=bar
153563
153564       salt.modules.purefa.snap_delete(name, suffix=None, eradicate=False)
153565              Delete a volume snapshot on a Pure Storage FlashArray.
153566
153567              Will return False if selected snapshot does not exist.
153568
153569              New in version 2018.3.0.
153570
153571
153572              name   string name of volume
153573
153574              suffix string name of snapshot
153575
153576              eradicate
153577                     boolean   Eradicate  snapshot  after  deletion  if  True.
153578                     Default is False
153579
153580              CLI Example:
153581
153582                 salt '*' purefa.snap_delete foo suffix=snap eradicate=True
153583
153584       salt.modules.purefa.snap_eradicate(name, suffix=None)
153585              Eradicate a deleted volume snapshot on a Pure  Storage  FlashAr‐
153586              ray.
153587
153588              Will return False if snapshot is not in a deleted state.
153589
153590              New in version 2018.3.0.
153591
153592
153593              name   string name of volume
153594
153595              suffix string name of snapshot
153596
153597              CLI Example:
153598
153599                 salt '*' purefa.snap_eradicate foo suffix=snap
153600
153601       salt.modules.purefa.snap_volume_create(name, target, overwrite=False)
153602              Create R/W volume from snapshot on a Pure Storage FlashArray.
153603
153604              Will  return False if target volume already exists and overwrite
153605              is not specified, or selected snapshot doesn't exist.
153606
153607              New in version 2018.3.0.
153608
153609
153610              name   string name of volume snapshot
153611
153612              target string name of clone volume
153613
153614              overwrite
153615                     boolean  overwrite  clone  if  already  exists  (default:
153616                     False)
153617
153618              CLI Example:
153619
153620                 salt '*' purefa.snap_volume_create foo.bar clone overwrite=True
153621
153622       salt.modules.purefa.volume_attach(name, host)
153623              Attach a volume to a host on a Pure Storage FlashArray.
153624
153625              Host and volume must exist or else will return False.
153626
153627              New in version 2018.3.0.
153628
153629
153630              name   string name of volume
153631
153632              host   string name of host
153633
153634              CLI Example:
153635
153636                 salt '*' purefa.volume_attach foo bar
153637
153638       salt.modules.purefa.volume_clone(name, target, overwrite=False)
153639              Clone an existing volume on a Pure Storage FlashArray.
153640
153641              Will return False if source volume doesn't exist, or target vol‐
153642              ume already exists and overwrite not specified.
153643
153644              New in version 2018.3.0.
153645
153646
153647              name   string name of volume
153648
153649              target string name of clone volume
153650
153651              overwrite
153652                     boolean  overwrite  clone  if  already  exists  (default:
153653                     False)
153654
153655              CLI Example:
153656
153657                 salt '*' purefa.volume_clone foo bar overwrite=True
153658
153659       salt.modules.purefa.volume_create(name, size=None)
153660              Create a volume on a Pure Storage FlashArray.
153661
153662              Will return False if volume already exists.
153663
153664              New in version 2018.3.0.
153665
153666
153667              name   string name of volume (truncated to 63 characters)
153668
153669              size   string if specificed capacity of volume. If not specified
153670                     default to 1G.  Refer to Pure Storage  documentation  for
153671                     formatting rules.
153672
153673              CLI Example:
153674
153675                 salt '*' purefa.volume_create foo
153676                 salt '*' purefa.volume_create foo size=10T
153677
153678       salt.modules.purefa.volume_delete(name, eradicate=False)
153679              Delete a volume on a Pure Storage FlashArray.
153680
153681              Will  return  False  if  volume  doesn't  exist  is already in a
153682              deleted state.
153683
153684              New in version 2018.3.0.
153685
153686
153687              name   string name of volume
153688
153689              eradicate
153690                     boolean Eradicate volume after deletion if True.  Default
153691                     is False
153692
153693              CLI Example:
153694
153695                 salt '*' purefa.volume_delete foo eradicate=True
153696
153697       salt.modules.purefa.volume_detach(name, host)
153698              Detach a volume from a host on a Pure Storage FlashArray.
153699
153700              Will  return  False if either host or volume do not exist, or if
153701              selected volume isn't already connected to the host.
153702
153703              New in version 2018.3.0.
153704
153705
153706              name   string name of volume
153707
153708              host   string name of host
153709
153710              CLI Example:
153711
153712                 salt '*' purefa.volume_detach foo bar
153713
153714       salt.modules.purefa.volume_eradicate(name)
153715              Eradicate a deleted volume on a Pure Storage FlashArray.
153716
153717              Will return False is volume is not in a deleted state.
153718
153719              New in version 2018.3.0.
153720
153721
153722              name   string name of volume
153723
153724              CLI Example:
153725
153726                 salt '*' purefa.volume_eradicate foo
153727
153728       salt.modules.purefa.volume_extend(name, size)
153729              Extend an existing volume on a Pure Storage FlashArray.
153730
153731              Will return False if new size is less than or equal to  existing
153732              size.
153733
153734              New in version 2018.3.0.
153735
153736
153737              name   string name of volume
153738
153739              size   string  New  capacity  of  volume.  Refer to Pure Storage
153740                     documentation for formatting rules.
153741
153742              CLI Example:
153743
153744                 salt '*' purefa.volume_extend foo 10T
153745
153746   salt.modules.purefb
153747       Management of Pure Storage FlashBlade
153748
153749   Installation Prerequisites
153750       · You will need the purity_fb python package in your  python  installa‐
153751         tion path that is running salt.
153752
153753            pip install purity_fb
153754
153755       · Configure Pure Storage FlashBlade authentication. Use one of the fol‐
153756         lowing three methods.
153757
153758         1. From the minion config
153759
153760            pure_tags:
153761              fb:
153762                san_ip: management vip or hostname for the FlashBlade
153763                api_token: A valid api token for the FlashBlade being managed
153764
153765         2. From environment (PUREFB_IP and PUREFB_API)
153766
153767         3. From the pillar (PUREFB_IP and PUREFB_API)
153768
153769       maintainer
153770              Simon Dodsley (simon@purestorage.com)
153771
153772       maturity
153773              new
153774
153775       requires
153776              purestorage
153777
153778       platform
153779              all
153780
153781       New in version Fluorine.
153782
153783
153784       salt.modules.purefb.fs_create(name,      size=None,       proto=u'NFS',
153785       nfs_rules=u'*(rw, no_root_squash)', snapshot=False)
153786              Create a filesystem on a Pure Storage FlashBlade.
153787
153788              Will return False if filesystem already exists.
153789
153790              New in version Fluorine.
153791
153792
153793              name   string name of filesystem (truncated to 63 characters)
153794
153795              proto  string  (Optional)  Sharing protocol (NFS, CIFS or HTTP).
153796                     If not specified default is NFS
153797
153798              snapshot: boolean
153799                     (Optional)  Are  snapshots  enabled  on  the  filesystem.
153800                     Default is False
153801
153802              nfs_rules
153803                     string  (Optional) export rules for NFS. If not specified
153804                     default is *(rw,no_root_squash). Refer  to  Pure  Storage
153805                     documentation for formatting rules.
153806
153807              size   string if specified capacity of filesystem. If not speci‐
153808                     fied default to 32G.  Refer to Pure Storage documentation
153809                     for formatting rules.
153810
153811              CLI Example:
153812
153813                 salt '*' purefb.fs_create foo proto=CIFS
153814                 salt '*' purefb.fs_create foo size=10T
153815
153816       salt.modules.purefb.fs_delete(name, eradicate=False)
153817              Delete a share on a Pure Storage FlashBlade.
153818
153819              Will return False if filesystem doesn't exist or is already in a
153820              deleted state.
153821
153822              New in version Fluorine.
153823
153824
153825              name   string name of filesystem
153826
153827              eradicate
153828                     boolean (Optional) Eradicate filesystem after deletion if
153829                     True. Default is False
153830
153831              CLI Example:
153832
153833                 salt '*' purefb.fs_delete foo eradicate=True
153834
153835       salt.modules.purefb.fs_eradicate(name)
153836              Eradicate a deleted filesystem on a Pure Storage FlashBlade.
153837
153838              Will return False is filesystem is not in a deleted state.
153839
153840              New in version Fluorine.
153841
153842
153843              name   string name of filesystem
153844
153845              CLI Example:
153846
153847                 salt '*' purefb.fs_eradicate foo
153848
153849       salt.modules.purefb.fs_extend(name, size)
153850              Resize an existing filesystem on a Pure Storage FlashBlade.
153851
153852              Will  return False if new size is less than or equal to existing
153853              size.
153854
153855              New in version Fluorine.
153856
153857
153858              name   string name of filesystem
153859
153860              size   string New capacity of filesystem.  Refer to Pure Storage
153861                     documentation for formatting rules.
153862
153863              CLI Example:
153864
153865                 salt '*' purefb.fs_extend foo 10T
153866
153867       salt.modules.purefb.fs_update(name, rules, snapshot=False)
153868              Update filesystem on a Pure Storage FlashBlade.
153869
153870              Allows  for  change of NFS export rules and enabling/disabled of
153871              snapshotting capability.
153872
153873              New in version Fluorine.
153874
153875
153876              name   string name of filesystem
153877
153878              rules  string NFS export rules  for  filesystem  Refer  to  Pure
153879                     Storage documentation for formatting rules.
153880
153881              snapshot: boolean
153882                     (Optional)  Enable/Disable  snapshots  on the filesystem.
153883                     Default is False
153884
153885              CLI Example:
153886
153887                 salt '*' purefb.fs_nfs_update foo rules='10.234.112.23(ro), 10.234.112.24(rw)' snapshot=True
153888
153889       salt.modules.purefb.snap_create(name, suffix=None)
153890              Create a filesystem snapshot on a Pure Storage FlashBlade.
153891
153892              Will return False if filesystem selected to snap does not exist.
153893
153894              New in version Fluorine.
153895
153896
153897              name   string name of filesystem to snapshot
153898
153899              suffix string if specificed forces snapshot name suffix. If  not
153900                     specified defaults to timestamp.
153901
153902              CLI Example:
153903
153904                 salt '*' purefb.snap_create foo
153905                 salt '*' purefb.snap_create foo suffix=bar
153906
153907       salt.modules.purefb.snap_delete(name, suffix=None, eradicate=False)
153908              Delete a filesystem snapshot on a Pure Storage FlashBlade.
153909
153910              Will return False if selected snapshot does not exist.
153911
153912              New in version Fluorine.
153913
153914
153915              name   string name of filesystem
153916
153917              suffix string name of snapshot
153918
153919              eradicate
153920                     boolean   Eradicate  snapshot  after  deletion  if  True.
153921                     Default is False
153922
153923              CLI Example:
153924
153925                 salt '*' purefb.snap_delete foo suffix=snap eradicate=True
153926
153927       salt.modules.purefb.snap_eradicate(name, suffix=None)
153928              Eradicate a deleted filesystem snapshot on a Pure Storage Flash‐
153929              Blade.
153930
153931              Will return False if snapshot is not in a deleted state.
153932
153933              New in version Fluorine.
153934
153935
153936              name   string name of filesystem
153937
153938              suffix string name of snapshot
153939
153940              CLI Example:
153941
153942                 salt '*' purefb.snap_eradicate foo suffix=snap
153943
153944   salt.modules.pushbullet module
153945       Module for sending messages to Pushbullet (https://www.pushbullet.com)
153946
153947       New in version 2015.8.0.
153948
153949
153950       Requires an api_key in /etc/salt/minion:
153951
153952       For example:
153953
153954          pushbullet:
153955            device: "Chrome"
153956            title: "Example push message"
153957            body: "Message body."
153958
153959       salt.modules.pushbullet.push_note(device=None, title=None, body=None)
153960              Pushing a text note.
153961
153962              Parameters
153963
153964                     · device -- Pushbullet target device
153965
153966                     · title -- Note title
153967
153968                     · body -- Note body
153969
153970              Returns
153971                     Boolean if message was sent successfully.
153972
153973              CLI Example:
153974
153975                 salt "*" pushbullet.push_note device="Chrome" title="Example title" body="Example body."
153976
153977   salt.modules.pushover_notify
153978       Module for sending messages to Pushover (https://www.pushover.net)
153979
153980       New in version 2016.3.0.
153981
153982
153983       configuration
153984              This module can be used by either passing an api key and version
153985              directly or by specifying both in a configuration profile in the
153986              salt master/minion config.
153987
153988              For example:
153989
153990                 pushover:
153991                   token: abAHuZyCLtdH8P4zhmFZmgUHUsv1ei8
153992
153993       salt.modules.pushover_notify.post_message(user=None,  device=None, mes‐
153994       sage=None,   title=None,   priority=None,   expire=None,    retry=None,
153995       sound=None, api_version=1, token=None)
153996              Send a message to a Pushover user or group.
153997
153998              Parameters
153999
154000                     · user  --  The  user or group to send to, must be key of
154001                       user or group not email address.
154002
154003                     · message -- The message to send to the PushOver user  or
154004                       group.
154005
154006                     · title -- Specify who the message is from.
154007
154008                     · priority -- The priority of the message, defaults to 0.
154009
154010                     · expire  --  The message should expire after N number of
154011                       seconds.
154012
154013                     · retry -- The number of  times  the  message  should  be
154014                       retried.
154015
154016                     · sound -- The sound to associate with the message.
154017
154018                     · api_version  -- The PushOver API version, if not speci‐
154019                       fied in the configuration.
154020
154021                     · token -- The PushOver token, if not  specified  in  the
154022                       configuration.
154023
154024              Returns
154025                     Boolean if message was sent successfully.
154026
154027              CLI Example:
154028
154029                 salt '*' pushover.post_message user='xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' title='Message from Salt' message='Build is done'
154030
154031                 salt '*' pushover.post_message user='xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' title='Message from Salt' message='Build is done' priority='2' expire='720' retry='5'
154032
154033   salt.modules.pw_group
154034       Manage groups on FreeBSD
154035
154036       IMPORTANT:
154037          If  you  feel that Salt should be using this module to manage groups
154038          on a minion, and it is using a different module (or gives  an  error
154039          similar to 'group.info' is not available), see here.
154040
154041       salt.modules.pw_group.add(name, gid=None, **kwargs)
154042              Add the specified group
154043
154044              CLI Example:
154045
154046                 salt '*' group.add foo 3456
154047
154048       salt.modules.pw_group.adduser(name, username)
154049              Add a user in the group.
154050
154051              CLI Example:
154052
154053                 salt '*' group.adduser foo bar
154054
154055              Verifies  if  a  valid username 'bar' as a member of an existing
154056              group 'foo', if not then adds it.
154057
154058       salt.modules.pw_group.chgid(name, gid)
154059              Change the gid for a named group
154060
154061              CLI Example:
154062
154063                 salt '*' group.chgid foo 4376
154064
154065       salt.modules.pw_group.delete(name)
154066              Remove the named group
154067
154068              CLI Example:
154069
154070                 salt '*' group.delete foo
154071
154072       salt.modules.pw_group.deluser(name, username)
154073              Remove a user from the group.
154074
154075              CLI Example:
154076
154077                 salt '*' group.deluser foo bar
154078
154079              Removes a member user 'bar' from a group 'foo'. If group is  not
154080              present then returns True.
154081
154082       salt.modules.pw_group.getent(refresh=False)
154083              Return info on all groups
154084
154085              CLI Example:
154086
154087                 salt '*' group.getent
154088
154089       salt.modules.pw_group.info(name)
154090              Return information about a group
154091
154092              CLI Example:
154093
154094                 salt '*' group.info foo
154095
154096       salt.modules.pw_group.members(name, members_list)
154097              Replaces members of the group with a provided list.
154098
154099              New in version 2015.5.4.
154100
154101
154102              CLI Example:
154103                 salt '*' group.members foo 'user1,user2,user3,...'
154104
154105              Replaces a membership list for a local group 'foo'.
154106                     foo:x:1234:user1,user2,user3,...
154107
154108   salt.modules.pw_user
154109       Manage users with the pw command
154110
154111       IMPORTANT:
154112          If you feel that Salt should be using this module to manage users on
154113          a minion, and it is using a different module (or gives an error sim‐
154114          ilar to 'user.info' is not available), see here.
154115
154116       salt.modules.pw_user.add(name,    uid=None,    gid=None,   groups=None,
154117       home=None, shell=None, unique=True, fullname=u'', roomnumber=u'', work‐
154118       phone=u'', homephone=u'', createhome=True, loginclass=None, **kwargs)
154119              Add a user to the minion
154120
154121              CLI Example:
154122
154123                 salt '*' user.add name <uid> <gid> <groups> <home> <shell>
154124
154125       salt.modules.pw_user.chfullname(name, fullname)
154126              Change the user's Full Name
154127
154128              CLI Example:
154129
154130                 salt '*' user.chfullname foo "Foo Bar"
154131
154132       salt.modules.pw_user.chgid(name, gid)
154133              Change the default group of the user
154134
154135              CLI Example:
154136
154137                 salt '*' user.chgid foo 4376
154138
154139       salt.modules.pw_user.chgroups(name, groups, append=False)
154140              Change the groups to which a user belongs
154141
154142              name   Username to modify
154143
154144              groups List  of  groups  to set for the user. Can be passed as a
154145                     comma-separated list or a Python list.
154146
154147              append False Set to True to append these groups  to  the  user's
154148                     existing  list of groups. Otherwise, the specified groups
154149                     will replace any existing groups for the user.
154150
154151              CLI Example:
154152
154153                 salt '*' user.chgroups foo wheel,root True
154154
154155       salt.modules.pw_user.chhome(name, home, persist=False)
154156              Set a new home directory for an existing user
154157
154158              name   Username to modify
154159
154160              home   New home directory to set
154161
154162              persist
154163                     False Set to True to prevent configuration files  in  the
154164                     new  home  directory  from being overwritten by the files
154165                     from the skeleton directory.
154166
154167              CLI Example:
154168
154169                 salt '*' user.chhome foo /home/users/foo True
154170
154171       salt.modules.pw_user.chhomephone(name, homephone)
154172              Change the user's Home Phone
154173
154174              CLI Example:
154175
154176                 salt '*' user.chhomephone foo "7735551234"
154177
154178       salt.modules.pw_user.chloginclass(name, loginclass, root=None)
154179              Change the default login class of the user
154180
154181              New in version 2016.3.5.
154182
154183
154184              CLI Example:
154185
154186                 salt '*' user.chloginclass foo staff
154187
154188       salt.modules.pw_user.chroomnumber(name, roomnumber)
154189              Change the user's Room Number
154190
154191              CLI Example:
154192
154193                 salt '*' user.chroomnumber foo 123
154194
154195       salt.modules.pw_user.chshell(name, shell)
154196              Change the default shell of the user
154197
154198              CLI Example:
154199
154200                 salt '*' user.chshell foo /bin/zsh
154201
154202       salt.modules.pw_user.chuid(name, uid)
154203              Change the uid for a named user
154204
154205              CLI Example:
154206
154207                 salt '*' user.chuid foo 4376
154208
154209       salt.modules.pw_user.chworkphone(name, workphone)
154210              Change the user's Work Phone
154211
154212              CLI Example:
154213
154214                 salt '*' user.chworkphone foo "7735550123"
154215
154216       salt.modules.pw_user.delete(name, remove=False, force=False)
154217              Remove a user from the minion
154218
154219              CLI Example:
154220
154221                 salt '*' user.delete name remove=True force=True
154222
154223       salt.modules.pw_user.get_loginclass(name)
154224              Get the login class of the user
154225
154226              New in version 2016.3.0.
154227
154228
154229              CLI Example:
154230
154231                 salt '*' user.get_loginclass foo
154232
154233       salt.modules.pw_user.getent(refresh=False)
154234              Return the list of all info for all users
154235
154236              CLI Example:
154237
154238                 salt '*' user.getent
154239
154240       salt.modules.pw_user.info(name)
154241              Return user information
154242
154243              CLI Example:
154244
154245                 salt '*' user.info root
154246
154247       salt.modules.pw_user.list_groups(name)
154248              Return a list of groups the named user belongs to
154249
154250              CLI Example:
154251
154252                 salt '*' user.list_groups foo
154253
154254       salt.modules.pw_user.list_users()
154255              Return a list of all users
154256
154257              CLI Example:
154258
154259                 salt '*' user.list_users
154260
154261       salt.modules.pw_user.rename(name, new_name)
154262              Change the username for a named user
154263
154264              CLI Example:
154265
154266                 salt '*' user.rename name new_name
154267
154268   salt.modules.pyenv
154269       Manage python installations with pyenv.
154270
154271       NOTE:
154272          Git needs to be installed and available via PATH if pyenv is  to  be
154273          installed automatically by the module.
154274
154275       New in version v2014.04.
154276
154277
154278       salt.modules.pyenv.default(python=None, runas=None)
154279              Returns or sets the currently defined default python.
154280
154281              python=None
154282                     The  version  to  set as the default. Should match one of
154283                     the versions listed by  pyenv.versions.  Leave  blank  to
154284                     return the current default.
154285
154286              CLI Example:
154287
154288                 salt '*' pyenv.default
154289                 salt '*' pyenv.default 2.0.0-p0
154290
154291       salt.modules.pyenv.do(cmdline=None, runas=None)
154292              Execute a python command with pyenv's shims from the user or the
154293              system.
154294
154295              CLI Example:
154296
154297                 salt '*' pyenv.do 'gem list bundler'
154298                 salt '*' pyenv.do 'gem list bundler' deploy
154299
154300       salt.modules.pyenv.do_with_python(python, cmdline, runas=None)
154301              Execute a python command with pyenv's  shims  using  a  specific
154302              python version.
154303
154304              CLI Example:
154305
154306                 salt '*' pyenv.do_with_python 2.0.0-p0 'gem list bundler'
154307                 salt '*' pyenv.do_with_python 2.0.0-p0 'gem list bundler' deploy
154308
154309       salt.modules.pyenv.install(runas=None, path=None)
154310              Install pyenv systemwide
154311
154312              CLI Example:
154313
154314                 salt '*' pyenv.install
154315
154316       salt.modules.pyenv.install_python(python, runas=None)
154317              Install a python implementation.
154318
154319              python The version of python to install, should match one of the
154320                     versions listed by pyenv.list
154321
154322              CLI Example:
154323
154324                 salt '*' pyenv.install_python 2.0.0-p0
154325
154326       salt.modules.pyenv.is_installed(runas=None)
154327              Check if pyenv is installed.
154328
154329              CLI Example:
154330
154331                 salt '*' pyenv.is_installed
154332
154333       salt.modules.pyenv.list_(runas=None)
154334              List the installable versions of python.
154335
154336              CLI Example:
154337
154338                 salt '*' pyenv.list
154339
154340       salt.modules.pyenv.rehash(runas=None)
154341              Run pyenv rehash to update the installed shims.
154342
154343              CLI Example:
154344
154345                 salt '*' pyenv.rehash
154346
154347       salt.modules.pyenv.uninstall_python(python, runas=None)
154348              Uninstall a python implementation.
154349
154350              python The version of python to uninstall. Should match  one  of
154351                     the versions listed by pyenv.versions
154352
154353              CLI Example:
154354
154355                 salt '*' pyenv.uninstall_python 2.0.0-p0
154356
154357       salt.modules.pyenv.update(runas=None, path=None)
154358              Updates the current versions of pyenv and python-Build
154359
154360              CLI Example:
154361
154362                 salt '*' pyenv.update
154363
154364       salt.modules.pyenv.versions(runas=None)
154365              List the installed versions of python.
154366
154367              CLI Example:
154368
154369                 salt '*' pyenv.versions
154370
154371   salt.modules.qemu_img
154372   Qemu-img Command Wrapper
154373       The qemu img command is wrapped for specific functions
154374
154375       depends
154376              qemu-img
154377
154378       salt.modules.qemu_img.convert(orig, dest, fmt)
154379              Convert an existing disk image to another format using qemu-img
154380
154381              CLI Example:
154382
154383                 salt '*' qemu_img.convert /path/to/original.img /path/to/new.img qcow2
154384
154385       salt.modules.qemu_img.make_image(location, size, fmt)
154386              Create  a blank virtual machine image file of the specified size
154387              in megabytes. The image can be created in any  format  supported
154388              by qemu
154389
154390              CLI Example:
154391
154392                 salt '*' qemu_img.make_image /tmp/image.qcow 2048 qcow2
154393                 salt '*' qemu_img.make_image /tmp/image.raw 10240 raw
154394
154395   salt.modules.qemu_nbd
154396       Qemu Command Wrapper
154397
154398       The  qemu  system  comes  with  powerful  tools,  such  as qemu-img and
154399       qemu-nbd which are used here to build up kvm images.
154400
154401       salt.modules.qemu_nbd.clear(mnt)
154402              Pass in the mnt dict returned from nbd_mount to unmount and dis‐
154403              connect  the  image  from  nbd.  If  all  of  the partitions are
154404              unmounted return an empty dict, otherwise return a dict contain‐
154405              ing the still mounted partitions
154406
154407              CLI Example:
154408
154409                 salt '*' qemu_nbd.clear '{"/mnt/foo": "/dev/nbd0p1"}'
154410
154411       salt.modules.qemu_nbd.connect(image)
154412              Activate nbd for an image file.
154413
154414              CLI Example:
154415
154416                 salt '*' qemu_nbd.connect /tmp/image.raw
154417
154418       salt.modules.qemu_nbd.init(image, root=None)
154419              Mount the named image via qemu-nbd and return the mounted roots
154420
154421              CLI Example:
154422
154423                 salt '*' qemu_nbd.init /srv/image.qcow2
154424
154425       salt.modules.qemu_nbd.mount(nbd, root=None)
154426              Pass in the nbd connection device location, mount all partitions
154427              and return a dict of mount points
154428
154429              CLI Example:
154430
154431                 salt '*' qemu_nbd.mount /dev/nbd0
154432
154433   salt.modules.quota
154434       Module for managing quotas on POSIX-like systems.
154435
154436       salt.modules.quota.get_mode(device)
154437              Report whether the quota system for this device is on or off
154438
154439              CLI Example:
154440
154441                 salt '*' quota.get_mode
154442
154443       salt.modules.quota.off(device)
154444              Turns off the quota system
154445
154446              CLI Example:
154447
154448                 salt '*' quota.off
154449
154450       salt.modules.quota.on(device)
154451              Turns on the quota system
154452
154453              CLI Example:
154454
154455                 salt '*' quota.on
154456
154457       salt.modules.quota.report(mount)
154458              Report on quotas for a specific volume
154459
154460              CLI Example:
154461
154462                 salt '*' quota.report /media/data
154463
154464       salt.modules.quota.set_(device, **kwargs)
154465              Calls out to setquota, for a specific user or group
154466
154467              CLI Example:
154468
154469                 salt '*' quota.set /media/data user=larry block-soft-limit=1048576
154470                 salt '*' quota.set /media/data group=painters file-hard-limit=1000
154471
154472       salt.modules.quota.stats()
154473              Runs the quotastats command, and returns the parsed output
154474
154475              CLI Example:
154476
154477                 salt '*' quota.stats
154478
154479       salt.modules.quota.warn()
154480              Runs the warnquota command, to send warning emails to users  who
154481              are over their quota limit.
154482
154483              CLI Example:
154484
154485                 salt '*' quota.warn
154486
154487   salt.modules.rabbitmq
154488       Module to provide RabbitMQ compatibility to Salt.  Todo: A lot, need to
154489       add cluster support, logging, and minion configuration data.
154490
154491       salt.modules.rabbitmq.add_user(name, password=None, runas=None)
154492              Add a rabbitMQ user via rabbitmqctl user_add <user> <password>
154493
154494              CLI Example:
154495
154496                 salt '*' rabbitmq.add_user rabbit_user password
154497
154498       salt.modules.rabbitmq.add_vhost(vhost, runas=None)
154499              Adds a vhost via rabbitmqctl add_vhost.
154500
154501              CLI Example:
154502
154503                 salt '*' rabbitmq add_vhost '<vhost_name>'
154504
154505       salt.modules.rabbitmq.change_password(name, password, runas=None)
154506              Changes a user's password.
154507
154508              CLI Example:
154509
154510                 salt '*' rabbitmq.change_password rabbit_user password
154511
154512       salt.modules.rabbitmq.check_password(name, password, runas=None)
154513              New in version 2016.3.0.
154514
154515
154516              Checks if a user's password is valid.
154517
154518              CLI Example:
154519
154520                 salt '*' rabbitmq.check_password rabbit_user password
154521
154522       salt.modules.rabbitmq.clear_password(name, runas=None)
154523              Removes a user's password.
154524
154525              CLI Example:
154526
154527                 salt '*' rabbitmq.clear_password rabbit_user
154528
154529       salt.modules.rabbitmq.cluster_status(runas=None)
154530              return rabbitmq cluster_status
154531
154532              CLI Example:
154533
154534                 salt '*' rabbitmq.cluster_status
154535
154536       salt.modules.rabbitmq.delete_policy(vhost, name, runas=None)
154537              Delete a policy based on rabbitmqctl clear_policy.
154538
154539              Reference: http://www.rabbitmq.com/ha.html
154540
154541              CLI Example:
154542
154543                 salt '*' rabbitmq.delete_policy / HA
154544
154545       salt.modules.rabbitmq.delete_user(name, runas=None)
154546              Deletes a user via rabbitmqctl delete_user.
154547
154548              CLI Example:
154549
154550                 salt '*' rabbitmq.delete_user rabbit_user
154551
154552       salt.modules.rabbitmq.delete_vhost(vhost, runas=None)
154553              Deletes a vhost rabbitmqctl delete_vhost.
154554
154555              CLI Example:
154556
154557                 salt '*' rabbitmq.delete_vhost '<vhost_name>'
154558
154559       salt.modules.rabbitmq.disable_plugin(name, runas=None)
154560              Disable a RabbitMQ plugin via the rabbitmq-plugins command.
154561
154562              CLI Example:
154563
154564                 salt '*' rabbitmq.disable_plugin foo
154565
154566       salt.modules.rabbitmq.enable_plugin(name, runas=None)
154567              Enable a RabbitMQ plugin via the rabbitmq-plugins command.
154568
154569              CLI Example:
154570
154571                 salt '*' rabbitmq.enable_plugin foo
154572
154573       salt.modules.rabbitmq.force_reset(runas=None)
154574              Forcefully Return a RabbitMQ node to its virgin state
154575
154576              CLI Example:
154577
154578                 salt '*' rabbitmq.force_reset
154579
154580       salt.modules.rabbitmq.join_cluster(host, user=u'rabbit', ram_node=None,
154581       runas=None)
154582              Join a rabbit cluster
154583
154584              CLI Example:
154585
154586                 salt '*' rabbitmq.join_cluster rabbit.example.com rabbit
154587
154588       salt.modules.rabbitmq.list_available_plugins(runas=None)
154589              Returns  a  list  of the names of all available plugins (enabled
154590              and disabled).
154591
154592              CLI Example:
154593
154594                 salt '*' rabbitmq.list_available_plugins
154595
154596       salt.modules.rabbitmq.list_enabled_plugins(runas=None)
154597              Returns a list of the names of the enabled plugins.
154598
154599              CLI Example:
154600
154601                 salt '*' rabbitmq.list_enabled_plugins
154602
154603       salt.modules.rabbitmq.list_permissions(vhost, runas=None)
154604              Lists permissions for vhost via rabbitmqctl list_permissions
154605
154606              CLI Example:
154607
154608                 salt '*' rabbitmq.list_permissions /myvhost
154609
154610       salt.modules.rabbitmq.list_policies(vhost=u'/', runas=None)
154611              Return a dictionary of policies nested by vhost and  name  based
154612              on the data returned from rabbitmqctl list_policies.
154613
154614              Reference: http://www.rabbitmq.com/ha.html
154615
154616              CLI Example:
154617
154618                 salt '*' rabbitmq.list_policies
154619
154620       salt.modules.rabbitmq.list_queues(runas=None, *args)
154621              Returns queue details of the / virtual host
154622
154623              CLI Example:
154624
154625                 salt '*' rabbitmq.list_queues messages consumers
154626
154627       salt.modules.rabbitmq.list_queues_vhost(vhost, runas=None, *args)
154628              Returns  queue  details  of specified virtual host. This command
154629              will consider first parameter as the vhost name and rest will be
154630              treated  as  queueinfoitem.  For getting details on vhost /, use
154631              list_queues instead).
154632
154633              CLI Example:
154634
154635                 salt '*' rabbitmq.list_queues messages consumers
154636
154637       salt.modules.rabbitmq.list_user_permissions(name, runas=None)
154638              List permissions for a user  via  rabbitmqctl  list_user_permis‐
154639              sions
154640
154641              CLI Example:
154642
154643                 salt '*' rabbitmq.list_user_permissions user
154644
154645       salt.modules.rabbitmq.list_users(runas=None)
154646              Return a list of users based off of rabbitmqctl user_list.
154647
154648              CLI Example:
154649
154650                 salt '*' rabbitmq.list_users
154651
154652       salt.modules.rabbitmq.list_vhosts(runas=None)
154653              Return a list of vhost based on rabbitmqctl list_vhosts.
154654
154655              CLI Example:
154656
154657                 salt '*' rabbitmq.list_vhosts
154658
154659       salt.modules.rabbitmq.plugin_is_enabled(name, runas=None)
154660              Return whether the plugin is enabled.
154661
154662              CLI Example:
154663
154664                 salt '*' rabbitmq.plugin_is_enabled rabbitmq_plugin_name
154665
154666       salt.modules.rabbitmq.policy_exists(vhost, name, runas=None)
154667              Return whether the policy exists based on rabbitmqctl list_poli‐
154668              cies.
154669
154670              Reference: http://www.rabbitmq.com/ha.html
154671
154672              CLI Example:
154673
154674                 salt '*' rabbitmq.policy_exists / HA
154675
154676       salt.modules.rabbitmq.reset(runas=None)
154677              Return a RabbitMQ node to its virgin state
154678
154679              CLI Example:
154680
154681                 salt '*' rabbitmq.reset
154682
154683       salt.modules.rabbitmq.set_permissions(vhost,     user,      conf=u'.*',
154684       write=u'.*', read=u'.*', runas=None)
154685              Sets permissions for vhost via rabbitmqctl set_permissions
154686
154687              CLI Example:
154688
154689                 salt '*' rabbitmq.set_permissions myvhost myuser
154690
154691       salt.modules.rabbitmq.set_policy(vhost, name, pattern, definition, pri‐
154692       ority=None, runas=None, apply_to=None)
154693              Set a policy based on rabbitmqctl set_policy.
154694
154695              Reference: http://www.rabbitmq.com/ha.html
154696
154697              CLI Example:
154698
154699                 salt '*' rabbitmq.set_policy / HA '.*' '{"ha-mode":"all"}'
154700
154701       salt.modules.rabbitmq.set_user_tags(name, tags, runas=None)
154702              Add user tags via rabbitmqctl set_user_tags
154703
154704              CLI Example:
154705
154706                 salt '*' rabbitmq.set_user_tags myadmin administrator
154707
154708       salt.modules.rabbitmq.start_app(runas=None)
154709              Start the RabbitMQ application.
154710
154711              CLI Example:
154712
154713                 salt '*' rabbitmq.start_app
154714
154715       salt.modules.rabbitmq.status(runas=None)
154716              return rabbitmq status
154717
154718              CLI Example:
154719
154720                 salt '*' rabbitmq.status
154721
154722       salt.modules.rabbitmq.stop_app(runas=None)
154723              Stops the RabbitMQ application, leaving the Erlang node running.
154724
154725              CLI Example:
154726
154727                 salt '*' rabbitmq.stop_app
154728
154729       salt.modules.rabbitmq.user_exists(name, runas=None)
154730              Return whether the user exists based on rabbitmqctl list_users.
154731
154732              CLI Example:
154733
154734                 salt '*' rabbitmq.user_exists rabbit_user
154735
154736       salt.modules.rabbitmq.vhost_exists(name, runas=None)
154737              Return  whether  the   vhost   exists   based   on   rabbitmqctl
154738              list_vhosts.
154739
154740              CLI Example:
154741
154742                 salt '*' rabbitmq.vhost_exists rabbit_host
154743
154744   salt.modules.raet_publish
154745       Publish a command from a minion to a target
154746
154747       salt.modules.raet_publish.full_data(tgt,         fun,         arg=None,
154748       tgt_type=u'glob', returner=u'', timeout=5)
154749              Return the full data about the publication, this is  invoked  in
154750              the same way as the publish function
154751
154752              CLI Example:
154753
154754                 salt system.example.com publish.full_data '*' cmd.run 'ls -la /tmp'
154755
154756                 Attention
154757
154758                        If you need to pass a value to a function argument and
154759                        that value contains an equal sign,  you  must  include
154760                        the argument name.  For example:
154761
154762                     salt '*' publish.full_data test.kwarg arg='cheese=spam'
154763
154764       salt.modules.raet_publish.publish(tgt, fun, arg=None, tgt_type=u'glob',
154765       returner=u'', timeout=5)
154766              Publish a command from the minion out to other minions.
154767
154768              Publications need to be enabled on the Salt master and the  min‐
154769              ion  needs  to  have permission to publish the command. The Salt
154770              master will also prevent  a  recursive  publication  loop,  this
154771              means  that  a  minion  cannot command another minion to command
154772              another minion as that would create an infinite command loop.
154773
154774              The tgt_type argument is used to pass a target other than a glob
154775              into the execution, the available options are:
154776
154777              · glob
154778
154779              · pcre
154780
154781              · grain
154782
154783              · grain_pcre
154784
154785              · pillar
154786
154787              · pillar_pcre
154788
154789              · ipcidr
154790
154791              · range
154792
154793              · compound
154794
154795              Changed  in  version  2017.7.0:  The expr_form argument has been
154796              renamed to tgt_type, earlier releases must use expr_form.
154797
154798
154799              The arguments sent to the minion publish function are  separated
154800              with  commas.  This  means that for a minion executing a command
154801              with multiple args it will look like this:
154802
154803                 salt system.example.com publish.publish '*' user.add 'foo,1020,1020'
154804                 salt system.example.com publish.publish 'os:Fedora' network.interfaces '' grain
154805
154806              CLI Example:
154807
154808                 salt system.example.com publish.publish '*' cmd.run 'ls -la /tmp'
154809
154810                 Attention
154811
154812                        If you need to pass a value to a function argument and
154813                        that  value  contains  an equal sign, you must include
154814                        the argument name.  For example:
154815
154816                     salt '*' publish.publish test.kwarg arg='cheese=spam'
154817
154818       salt.modules.raet_publish.runner(fun, arg=None, timeout=5)
154819              Execute a runner on the master and return the data from the run‐
154820              ner function
154821
154822              CLI Example:
154823
154824                 salt publish.runner manage.down
154825
154826   salt.modules.rallydev
154827       Support for RallyDev
154828
154829       New in version 2015.8.0.
154830
154831
154832       Requires a username and a password in /etc/salt/minion:
154833
154834       salt.modules.rallydev.list_items(name)
154835              List items of a particular type
154836
154837              CLI Examples:
154838
154839                 salt myminion rallydev.list_<item name>s
154840                 salt myminion rallydev.list_users
154841                 salt myminion rallydev.list_artifacts
154842
154843       salt.modules.rallydev.list_users()
154844              List the users
154845
154846              CLI Example:
154847
154848                 salt myminion rallydev.list_users
154849
154850       salt.modules.rallydev.query_item(name, query_string, order=u'Rank')
154851              Query  a  type of record for one or more items. Requires a valid
154852              query                        string.                         See
154853              https://rally1.rallydev.com/slm/doc/webservice/introduction.jsp
154854              for information on query syntax.
154855
154856              CLI Example:
154857
154858                 salt myminion rallydev.query_<item name> <query string> [<order>]
154859                 salt myminion rallydev.query_task '(Name contains github)'
154860                 salt myminion rallydev.query_task '(Name contains reactor)' Rank
154861
154862       salt.modules.rallydev.query_user(query_string, order=u'UserName')
154863              Update a user
154864
154865              CLI Example:
154866
154867                 salt myminion rallydev.query_user '(Name contains Jo)'
154868
154869       salt.modules.rallydev.show_artifact(id_)
154870              Show an artifact
154871
154872              CLI Example:
154873
154874                 salt myminion rallydev.show_artifact <artifact id>
154875
154876       salt.modules.rallydev.show_item(name, id_)
154877              Show an item
154878
154879              CLI Example:
154880
154881                 salt myminion rallydev.show_<item name> <item id>
154882
154883       salt.modules.rallydev.show_user(id_)
154884              Show a user
154885
154886              CLI Example:
154887
154888                 salt myminion rallydev.show_user <user id>
154889
154890       salt.modules.rallydev.update_item(name,  id_,  field=None,  value=None,
154891       postdata=None)
154892              Update  an  item. Either a field and a value, or a chunk of POST
154893              data, may be used, but not both.
154894
154895              CLI Example:
154896
154897                 salt myminion rallydev.update_<item name> <item id> field=<field> value=<value>
154898                 salt myminion rallydev.update_<item name> <item id> postdata=<post data>
154899
154900       salt.modules.rallydev.update_user(id_, field, value)
154901              Update a user
154902
154903              CLI Example:
154904
154905                 salt myminion rallydev.update_user <user id> <field> <new value>
154906
154907   salt.modules.random_org
154908       Module for retrieving random information from Random.org
154909
154910       New in version 2015.5.0.
154911
154912
154913       configuration
154914              This module can be used by either passing an api key and version
154915              directly or by specifying both in a configuration profile in the
154916              salt master/minion config.
154917
154918              For example:
154919
154920                 random_org:
154921                   api_key: 7be1402d-5719-5bd3-a306-3def9f135da5
154922                   api_version: 1
154923
154924       salt.modules.random_org.generateBlobs(api_key=None,   api_version=None,
154925       **kwargs)
154926              List all Slack users.
154927
154928              Parameters
154929
154930                     · api_key -- The Random.org api key.
154931
154932                     · api_version -- The Random.org api version.
154933
154934                     · format  -- Specifies the format in which the blobs will
154935                       be returned. Values allowed are base64 and hex.
154936
154937              Returns
154938                     The user list.
154939
154940              CLI Example:
154941
154942                 salt '*' get_integers number=5 min=1 max=6
154943
154944                 salt '*' get_integers number=5 min=1 max=6
154945
154946       salt.modules.random_org.generateDecimalFractions(api_key=None, api_ver‐
154947       sion=None, **kwargs)
154948              Generates true random decimal fractions
154949
154950              Parameters
154951
154952                     · api_key -- The Random.org api key.
154953
154954                     · api_version -- The Random.org api version.
154955
154956                     · number  --  How many random decimal fractions you need.
154957                       Must be within the [1,1e4] range.
154958
154959                     · decimalPlaces -- The number of decimal places  to  use.
154960                       Must be within the [1,20] range.
154961
154962                     · replacement  --  Specifies  whether  the random numbers
154963                       should be picked with replacement. The  default  (true)
154964                       will  cause  the numbers to be picked with replacement,
154965                       i.e., the resulting numbers may contain duplicate  val‐
154966                       ues (like a series of dice rolls). If you want the num‐
154967                       bers picked to be unique  (like  raffle  tickets  drawn
154968                       from a container), set this value to false.
154969
154970              Returns
154971                     A list of decimal fraction
154972
154973              CLI Example:
154974
154975                 salt '*' random_org.generateDecimalFractions number=10 decimalPlaces=4
154976
154977                 salt '*' random_org.generateDecimalFractions number=10 decimalPlaces=4 replacement=True
154978
154979       salt.modules.random_org.generateGaussians(api_key=None,        api_ver‐
154980       sion=None, **kwargs)
154981              This method generates true random numbers from a  Gaussian  dis‐
154982              tribution (also known as a normal distribution).
154983
154984              Parameters
154985
154986                     · api_key -- The Random.org api key.
154987
154988                     · api_version -- The Random.org api version.
154989
154990                     · number  --  How  many random numbers you need.  Must be
154991                       within the [1,1e4] range.
154992
154993                     · mean -- The distribution's mean.  Must  be  within  the
154994                       [-1e6,1e6] range.
154995
154996                     · standardDeviation -- The distribution's standard devia‐
154997                       tion. Must be within the [-1e6,1e6] range.
154998
154999                     · significantDigits -- The number of  significant  digits
155000                       to use. Must be within the [2,20] range.
155001
155002              Returns
155003                     The user list.
155004
155005              CLI Example:
155006
155007                 salt '*' random_org.generateGaussians number=10 mean=0.0 standardDeviation=1.0 significantDigits=8
155008
155009       salt.modules.random_org.generateIntegers(api_key=None,         api_ver‐
155010       sion=None, **kwargs)
155011              Generate random integers
155012
155013              Parameters
155014
155015                     · api_key -- The Random.org api key.
155016
155017                     · api_version -- The Random.org api version.
155018
155019                     · number -- The number of integers to generate
155020
155021                     · minimum -- The lower boundary for the range from  which
155022                       the  random  numbers will be picked. Must be within the
155023                       [-1e9,1e9] range.
155024
155025                     · maximum -- The upper boundary for the range from  which
155026                       the  random  numbers will be picked. Must be within the
155027                       [-1e9,1e9] range.
155028
155029                     · replacement -- Specifies  whether  the  random  numbers
155030                       should  be  picked with replacement. The default (true)
155031                       will cause the numbers to be picked  with  replacement,
155032                       i.e.,  the resulting numbers may contain duplicate val‐
155033                       ues (like a series of dice rolls). If you want the num‐
155034                       bers  picked  to  be  unique (like raffle tickets drawn
155035                       from a container), set this value to false.
155036
155037                     · base -- Specifies the base that will be used to display
155038                       the  numbers.  Values allowed are 2, 8, 10 and 16. This
155039                       affects the JSON types and formatting of the  resulting
155040                       data as discussed below.
155041
155042              Returns
155043                     A list of integers.
155044
155045              CLI Example:
155046
155047                 salt '*' random_org.generateIntegers number=5 minimum=1 maximum=6
155048
155049                 salt '*' random_org.generateIntegers number=5 minimum=2 maximum=255 base=2
155050
155051       salt.modules.random_org.generateStrings(api_key=None, api_version=None,
155052       **kwargs)
155053              Generate random strings.
155054
155055              Parameters
155056
155057                     · api_key -- The Random.org api key.
155058
155059                     · api_version -- The Random.org api version.
155060
155061                     · number -- The number of strings to generate.
155062
155063                     · length -- The length of each string. Must be within the
155064                       [1,20] range. All strings will be of the same length
155065
155066                     · characters -- A string that contains the set of charac‐
155067                       ters that are allowed to occur in the  random  strings.
155068                       The maximum number of characters is 80.
155069
155070                     · replacement  --  Specifies  whether  the random strings
155071                       should be picked with replacement. The  default  (true)
155072                       will  cause  the strings to be picked with replacement,
155073                       i.e., the resulting list of strings may contain  dupli‐
155074                       cates  (like  a  series of dice rolls). If you want the
155075                       strings to be unique (like raffle tickets drawn from  a
155076                       container), set this value to false.
155077
155078              Returns
155079                     A list of strings.
155080
155081              CLI Example:
155082
155083                 salt '*' random_org.generateStrings number=5 length=8 characters='abcdefghijklmnopqrstuvwxyz'
155084
155085                 salt '*' random_org.generateStrings number=10 length=16 characters'abcdefghijklmnopqrstuvwxyz'
155086
155087       salt.modules.random_org.generateUUIDs(api_key=None,   api_version=None,
155088       **kwargs)
155089              Generate a list of random UUIDs
155090
155091              Parameters
155092
155093                     · api_key -- The Random.org api key.
155094
155095                     · api_version -- The Random.org api version.
155096
155097                     · number -- How many random  UUIDs  you  need.   Must  be
155098                       within the [1,1e3] range.
155099
155100              Returns
155101                     A list of UUIDs
155102
155103              CLI Example:
155104
155105                 salt '*' random_org.generateUUIDs number=5
155106
155107       salt.modules.random_org.getUsage(api_key=None, api_version=None)
155108              Show current usages statistics
155109
155110              Parameters
155111
155112                     · api_key -- The Random.org api key.
155113
155114                     · api_version -- The Random.org api version.
155115
155116              Returns
155117                     The current usage statistics.
155118
155119              CLI Example:
155120
155121                 salt '*' random_org.getUsage
155122
155123                 salt '*' random_org.getUsage api_key=peWcBiMOS9HrZG15peWcBiMOS9HrZG15 api_version=1
155124
155125   salt.modules.rbac_solaris
155126       Module for Solaris' Role-Based Access Control
155127
155128       salt.modules.rbac_solaris.auth_add(user, auth)
155129              Add authorization to user
155130
155131              user   string username
155132
155133              auth   string authorization name
155134
155135              CLI Example:
155136
155137                 salt '*' rbac.auth_add martine solaris.zone.manage
155138                 salt '*' rbac.auth_add martine solaris.zone.manage,solaris.mail.mailq
155139
155140       salt.modules.rbac_solaris.auth_get(user, computed=True)
155141              List authorization for user
155142
155143              user   string username
155144
155145              computed
155146                     boolean  merge  results from auths command into data from
155147                     user_attr
155148
155149              CLI Example:
155150
155151                 salt '*' rbac.auth_get leo
155152
155153       salt.modules.rbac_solaris.auth_list()
155154              List all available authorization
155155
155156              CLI Example:
155157
155158                 salt '*' rbac.auth_list
155159
155160       salt.modules.rbac_solaris.auth_rm(user, auth)
155161              Remove authorization from user
155162
155163              user   string username
155164
155165              auth   string authorization name
155166
155167              CLI Example:
155168
155169                 salt '*' rbac.auth_rm jorge solaris.zone.manage
155170                 salt '*' rbac.auth_rm jorge solaris.zone.manage,solaris.mail.mailq
155171
155172       salt.modules.rbac_solaris.profile_add(user, profile)
155173              Add profile to user
155174
155175              user   string username
155176
155177              profile
155178                     string profile name
155179
155180              CLI Example:
155181
155182                 salt '*' rbac.profile_add martine 'Primary Administrator'
155183                 salt '*' rbac.profile_add martine 'User Management,User Security'
155184
155185       salt.modules.rbac_solaris.profile_get(user, default_hidden=True)
155186              List profiles for user
155187
155188              user   string username
155189
155190              default_hidden
155191                     boolean hide default profiles
155192
155193              CLI Example:
155194
155195                 salt '*' rbac.profile_get leo
155196                 salt '*' rbac.profile_get leo default_hidden=False
155197
155198       salt.modules.rbac_solaris.profile_list(default_only=False)
155199              List all available profiles
155200
155201              default_only
155202                     boolean return only default profile
155203
155204              CLI Example:
155205
155206                 salt '*' rbac.profile_list
155207
155208       salt.modules.rbac_solaris.profile_rm(user, profile)
155209              Remove profile from user
155210
155211              user   string username
155212
155213              profile
155214                     string profile name
155215
155216              CLI Example:
155217
155218                 salt '*' rbac.profile_rm jorge 'Primary Administrator'
155219                 salt '*' rbac.profile_rm jorge 'User Management,User Security'
155220
155221       salt.modules.rbac_solaris.role_add(user, role)
155222              Add role to user
155223
155224              user   string username
155225
155226              role   string role name
155227
155228              CLI Example:
155229
155230                 salt '*' rbac.role_add martine netcfg
155231                 salt '*' rbac.role_add martine netcfg,zfssnap
155232
155233       salt.modules.rbac_solaris.role_get(user)
155234              List roles for user
155235
155236              user   string username
155237
155238              CLI Example:
155239
155240                 salt '*' rbac.role_get leo
155241
155242       salt.modules.rbac_solaris.role_list()
155243              List all available roles
155244
155245              CLI Example:
155246
155247                 salt '*' rbac.role_list
155248
155249       salt.modules.rbac_solaris.role_rm(user, role)
155250              Remove role from user
155251
155252              user   string username
155253
155254              role   string role name
155255
155256              CLI Example:
155257
155258                 salt '*' rbac.role_rm jorge netcfg
155259                 salt '*' rbac.role_rm jorge netcfg,zfssnap
155260
155261   salt.modules.rbenv
155262       Manage ruby installations with rbenv. rbenv is supported on  Linux  and
155263       macOS.   rbenv  doesn't  work on Windows (and isn't really necessary on
155264       Windows as there is no system Ruby on Windows). On Windows, the RubyIn‐
155265       staller  and/or  Pik  are  both good alternatives to work with multiple
155266       versions of Ruby on the same box.
155267
155268       http://misheska.com/blog/2013/06/15/using-rbenv-to-manage-multiple-versions-of-ruby/
155269
155270       New in version 0.16.0.
155271
155272
155273       salt.modules.rbenv.default(ruby=None, runas=None)
155274              Returns or sets the currently defined default ruby
155275
155276              ruby   The  version  to  set as the default. Should match one of
155277                     the versions listed by rbenv.versions.   Leave  blank  to
155278                     return the current default.
155279
155280              CLI Example:
155281
155282                 salt '*' rbenv.default
155283                 salt '*' rbenv.default 2.0.0-p0
155284
155285       salt.modules.rbenv.do(cmdline, runas=None, env=None)
155286              Execute  a  ruby command with rbenv's shims from the user or the
155287              system
155288
155289              CLI Example:
155290
155291                 salt '*' rbenv.do 'gem list bundler'
155292                 salt '*' rbenv.do 'gem list bundler' deploy
155293
155294       salt.modules.rbenv.do_with_ruby(ruby, cmdline, runas=None)
155295              Execute a ruby command with rbenv's shims using a specific  ruby
155296              version
155297
155298              CLI Example:
155299
155300                 salt '*' rbenv.do_with_ruby 2.0.0-p0 'gem list bundler'
155301                 salt '*' rbenv.do_with_ruby 2.0.0-p0 'gem list bundler' runas=deploy
155302
155303       salt.modules.rbenv.install(runas=None, path=None)
155304              Install rbenv systemwide
155305
155306              CLI Example:
155307
155308                 salt '*' rbenv.install
155309
155310       salt.modules.rbenv.install_ruby(ruby, runas=None)
155311              Install a ruby implementation.
155312
155313              ruby   The  version  of Ruby to install, should match one of the
155314                     versions listed by rbenv.list
155315
155316              runas  The user under which to run rbenv. If not specified, then
155317                     rbenv  will  be  run as the user under which Salt is run‐
155318                     ning.
155319
155320              Additional environment variables can be configured in  pillar  /
155321              grains / master:
155322
155323                 rbenv:
155324                   build_env: 'CONFIGURE_OPTS="--no-tcmalloc" CFLAGS="-fno-tree-dce"'
155325
155326              CLI Example:
155327
155328                 salt '*' rbenv.install_ruby 2.0.0-p0
155329
155330       salt.modules.rbenv.is_installed(runas=None)
155331              Check if rbenv is installed
155332
155333              CLI Example:
155334
155335                 salt '*' rbenv.is_installed
155336
155337       salt.modules.rbenv.list_(runas=None)
155338              List the installable versions of ruby
155339
155340              runas  The user under which to run rbenv. If not specified, then
155341                     rbenv will be run as the user under which  Salt  is  run‐
155342                     ning.
155343
155344              CLI Example:
155345
155346                 salt '*' rbenv.list
155347
155348       salt.modules.rbenv.rehash(runas=None)
155349              Run rbenv rehash to update the installed shims
155350
155351              runas  The user under which to run rbenv. If not specified, then
155352                     rbenv will be run as the user under which  Salt  is  run‐
155353                     ning.
155354
155355              CLI Example:
155356
155357                 salt '*' rbenv.rehash
155358
155359       salt.modules.rbenv.uninstall_ruby(ruby, runas=None)
155360              Uninstall a ruby implementation.
155361
155362              ruby   The version of ruby to uninstall. Should match one of the
155363                     versions listed by rbenv.versions.
155364
155365              runas  The user under which to run rbenv. If not specified, then
155366                     rbenv  will  be  run as the user under which Salt is run‐
155367                     ning.
155368
155369              CLI Example:
155370
155371                 salt '*' rbenv.uninstall_ruby 2.0.0-p0
155372
155373       salt.modules.rbenv.update(runas=None, path=None)
155374              Updates the current versions of rbenv and ruby-build
155375
155376              runas  The user under which to run rbenv. If not specified, then
155377                     rbenv  will  be  run as the user under which Salt is run‐
155378                     ning.
155379
155380              CLI Example:
155381
155382                 salt '*' rbenv.update
155383
155384       salt.modules.rbenv.versions(runas=None)
155385              List the installed versions of ruby
155386
155387              CLI Example:
155388
155389                 salt '*' rbenv.versions
155390
155391   salt.modules.rdp
155392       Manage RDP Service on Windows servers
155393
155394       salt.modules.rdp.disable()
155395              Disable RDP the service on the server
155396
155397              CLI Example:
155398
155399                 salt '*' rdp.disable
155400
155401       salt.modules.rdp.disconnect_session(session_id)
155402              Disconnect a session.
155403
155404              New in version 2016.11.0.
155405
155406
155407              Parameters
155408                     session_id -- The numeric Id of the session.
155409
155410              Returns
155411                     A boolean representing whether the disconnect succeeded.
155412
155413              CLI Example:
155414
155415                 salt '*' rdp.disconnect_session session_id
155416
155417                 salt '*' rdp.disconnect_session 99
155418
155419       salt.modules.rdp.enable()
155420              Enable RDP the service on the server
155421
155422              CLI Example:
155423
155424                 salt '*' rdp.enable
155425
155426       salt.modules.rdp.get_session(session_id)
155427              Get information about a session.
155428
155429              New in version 2016.11.0.
155430
155431
155432              Parameters
155433                     session_id -- The numeric Id of the session.
155434
155435              Returns
155436                     A dictionary of session information.
155437
155438              CLI Example:
155439
155440                 salt '*' rdp.get_session session_id
155441
155442                 salt '*' rdp.get_session 99
155443
155444       salt.modules.rdp.list_sessions(logged_in_users_only=False)
155445              List information about the sessions.
155446
155447              New in version 2016.11.0.
155448
155449
155450              Parameters
155451                     logged_in_users_only -- If  True,  only  return  sessions
155452                     with users logged in.
155453
155454              Returns
155455                     A list containing dictionaries of session information.
155456
155457              CLI Example:
155458
155459                 salt '*' rdp.list_sessions
155460
155461       salt.modules.rdp.logoff_session(session_id)
155462              Initiate the logoff of a session.
155463
155464              New in version 2016.11.0.
155465
155466
155467              Parameters
155468                     session_id -- The numeric Id of the session.
155469
155470              Returns
155471                     A boolean representing whether the logoff succeeded.
155472
155473              CLI Example:
155474
155475                 salt '*' rdp.logoff_session session_id
155476
155477                 salt '*' rdp.logoff_session 99
155478
155479       salt.modules.rdp.status()
155480              Show if rdp is enabled on the server
155481
155482              CLI Example:
155483
155484                 salt '*' rdp.status
155485
155486   salt.modules.redis
155487       Module to provide redis functionality to Salt
155488
155489       New in version 2014.7.0.
155490
155491
155492       configuration
155493              This  module  requires the redis python module and uses the fol‐
155494              lowing defaults which may be overridden in the minion configura‐
155495              tion:
155496
155497          redis.host: 'salt'
155498          redis.port: 6379
155499          redis.db: 0
155500          redis.password: None
155501
155502       salt.modules.redismod.bgrewriteaof(host=None, port=None, db=None, pass‐
155503       word=None)
155504              Asynchronously rewrite the append-only file
155505
155506              CLI Example:
155507
155508                 salt '*' redis.bgrewriteaof
155509
155510       salt.modules.redismod.bgsave(host=None,   port=None,   db=None,   pass‐
155511       word=None)
155512              Asynchronously save the dataset to disk
155513
155514              CLI Example:
155515
155516                 salt '*' redis.bgsave
155517
155518       salt.modules.redismod.config_get(pattern=u'*',   host=None,  port=None,
155519       db=None, password=None)
155520              Get redis server configuration values
155521
155522              CLI Example:
155523
155524                 salt '*' redis.config_get
155525                 salt '*' redis.config_get port
155526
155527       salt.modules.redismod.config_set(name,  value,  host=None,   port=None,
155528       db=None, password=None)
155529              Set redis server configuration values
155530
155531              CLI Example:
155532
155533                 salt '*' redis.config_set masterauth luv_kittens
155534
155535       salt.modules.redismod.dbsize(host=None,   port=None,   db=None,   pass‐
155536       word=None)
155537              Return the number of keys in the selected database
155538
155539              CLI Example:
155540
155541                 salt '*' redis.dbsize
155542
155543       salt.modules.redismod.delete(*keys, **connection_args)
155544              Deletes the keys from redis, returns number of keys deleted
155545
155546              CLI Example:
155547
155548                 salt '*' redis.delete foo
155549
155550       salt.modules.redismod.exists(key, host=None, port=None, db=None,  pass‐
155551       word=None)
155552              Return true if the key exists in redis
155553
155554              CLI Example:
155555
155556                 salt '*' redis.exists foo
155557
155558       salt.modules.redismod.expire(key,    seconds,   host=None,   port=None,
155559       db=None, password=None)
155560              Set a keys time to live in seconds
155561
155562              CLI Example:
155563
155564                 salt '*' redis.expire foo 300
155565
155566       salt.modules.redismod.expireat(key,  timestamp,  host=None,  port=None,
155567       db=None, password=None)
155568              Set a keys expire at given UNIX time
155569
155570              CLI Example:
155571
155572                 salt '*' redis.expireat foo 1400000000
155573
155574       salt.modules.redismod.flushall(host=None,   port=None,  db=None,  pass‐
155575       word=None)
155576              Remove all keys from all databases
155577
155578              CLI Example:
155579
155580                 salt '*' redis.flushall
155581
155582       salt.modules.redismod.flushdb(host=None,  port=None,   db=None,   pass‐
155583       word=None)
155584              Remove all keys from the selected database
155585
155586              CLI Example:
155587
155588                 salt '*' redis.flushdb
155589
155590       salt.modules.redismod.get_key(key, host=None, port=None, db=None, pass‐
155591       word=None)
155592              Get redis key value
155593
155594              CLI Example:
155595
155596                 salt '*' redis.get_key foo
155597
155598       salt.modules.redismod.get_master_ip(host=None,     port=None,     pass‐
155599       word=None)
155600              Get host information about slave
155601
155602              CLI Example:
155603
155604                 salt '*' redis.get_master_ip
155605
155606       salt.modules.redismod.hdel(key, *fields, **options)
155607              Delete one of more hash fields.
155608
155609              New in version 2017.7.0.
155610
155611
155612              CLI Example:
155613
155614                 salt '*' redis.hdel foo_hash bar_field1 bar_field2
155615
155616       salt.modules.redismod.hexists(key,    field,    host=None,   port=None,
155617       db=None, password=None)
155618              Determine if a hash fields exists.
155619
155620              New in version 2017.7.0.
155621
155622
155623              CLI Example:
155624
155625                 salt '*' redis.hexists foo_hash bar_field
155626
155627       salt.modules.redismod.hget(key, field, host=None,  port=None,  db=None,
155628       password=None)
155629              Get specific field value from a redis hash, returns dict
155630
155631              CLI Example:
155632
155633                 salt '*' redis.hget foo_hash bar_field
155634
155635       salt.modules.redismod.hgetall(key, host=None, port=None, db=None, pass‐
155636       word=None)
155637              Get all fields and values from a redis hash, returns dict
155638
155639              CLI Example:
155640
155641                 salt '*' redis.hgetall foo_hash
155642
155643       salt.modules.redismod.hincrby(key,   field,   increment=1,   host=None,
155644       port=None, db=None, password=None)
155645              Increment the integer value of a hash field by the given number.
155646
155647              New in version 2017.7.0.
155648
155649
155650              CLI Example:
155651
155652                 salt '*' redis.hincrby foo_hash bar_field 5
155653
155654       salt.modules.redismod.hincrbyfloat(key,      field,      increment=1.0,
155655       host=None, port=None, db=None, password=None)
155656              Increment the float value of a hash field by the given number.
155657
155658              New in version 2017.7.0.
155659
155660
155661              CLI Example:
155662
155663                 salt '*' redis.hincrbyfloat foo_hash bar_field 5.17
155664
155665       salt.modules.redismod.hlen(key, host=None,  port=None,  db=None,  pass‐
155666       word=None)
155667              Returns number of fields of a hash.
155668
155669              New in version 2017.7.0.
155670
155671
155672              CLI Example:
155673
155674                 salt '*' redis.hlen foo_hash
155675
155676       salt.modules.redismod.hmget(key, *fields, **options)
155677              Returns the values of all the given hash fields.
155678
155679              New in version 2017.7.0.
155680
155681
155682              CLI Example:
155683
155684                 salt '*' redis.hmget foo_hash bar_field1 bar_field2
155685
155686       salt.modules.redismod.hmset(key, **fieldsvals)
155687              Sets multiple hash fields to multiple values.
155688
155689              New in version 2017.7.0.
155690
155691
155692              CLI Example:
155693
155694                 salt '*' redis.hmset foo_hash bar_field1=bar_value1 bar_field2=bar_value2
155695
155696       salt.modules.redismod.hscan(key,   cursor=0,   match=None,  count=None,
155697       host=None, port=None, db=None, password=None)
155698              Incrementally iterate hash fields and associated values.
155699
155700              New in version 2017.7.0.
155701
155702
155703              CLI Example:
155704
155705                 salt '*' redis.hscan foo_hash match='field_prefix_*' count=1
155706
155707       salt.modules.redismod.hset(key,  field,  value,  host=None,  port=None,
155708       db=None, password=None)
155709              Set the value of a hash field.
155710
155711              New in version 2017.7.0.
155712
155713
155714              CLI Example:
155715
155716                 salt '*' redis.hset foo_hash bar_field bar_value
155717
155718       salt.modules.redismod.hsetnx(key,  field,  value, host=None, port=None,
155719       db=None, password=None)
155720              Set the value of a hash field only if the field does not exist.
155721
155722              New in version 2017.7.0.
155723
155724
155725              CLI Example:
155726
155727                 salt '*' redis.hsetnx foo_hash bar_field bar_value
155728
155729       salt.modules.redismod.hvals(key, host=None, port=None,  db=None,  pass‐
155730       word=None)
155731              Return all the values in a hash.
155732
155733              New in version 2017.7.0.
155734
155735
155736              CLI Example:
155737
155738                 salt '*' redis.hvals foo_hash bar_field1 bar_value1
155739
155740       salt.modules.redismod.info(host=None,    port=None,    db=None,   pass‐
155741       word=None)
155742              Get information and statistics about the server
155743
155744              CLI Example:
155745
155746                 salt '*' redis.info
155747
155748       salt.modules.redismod.key_type(key,  host=None,   port=None,   db=None,
155749       password=None)
155750              Get redis key type
155751
155752              CLI Example:
155753
155754                 salt '*' redis.type foo
155755
155756       salt.modules.redismod.keys(pattern=u'*', host=None, port=None, db=None,
155757       password=None)
155758              Get redis keys, supports glob style patterns
155759
155760              CLI Example:
155761
155762                 salt '*' redis.keys
155763                 salt '*' redis.keys test*
155764
155765       salt.modules.redismod.lastsave(host=None,  port=None,  db=None,   pass‐
155766       word=None)
155767              Get the UNIX time in seconds of the last successful save to disk
155768
155769              CLI Example:
155770
155771                 salt '*' redis.lastsave
155772
155773       salt.modules.redismod.llen(key,  host=None,  port=None,  db=None, pass‐
155774       word=None)
155775              Get the length of a list in Redis
155776
155777              CLI Example:
155778
155779                 salt '*' redis.llen foo_list
155780
155781       salt.modules.redismod.lrange(key, start,  stop,  host=None,  port=None,
155782       db=None, password=None)
155783              Get a range of values from a list in Redis
155784
155785              CLI Example:
155786
155787                 salt '*' redis.lrange foo_list 0 10
155788
155789       salt.modules.redismod.ping(host=None,    port=None,    db=None,   pass‐
155790       word=None)
155791              Ping the server, returns False on connection errors
155792
155793              CLI Example:
155794
155795                 salt '*' redis.ping
155796
155797       salt.modules.redismod.save(host=None,   port=None,    db=None,    pass‐
155798       word=None)
155799              Synchronously save the dataset to disk
155800
155801              CLI Example:
155802
155803                 salt '*' redis.save
155804
155805       salt.modules.redismod.sentinel_get_master_ip(master,         host=None,
155806       port=None, password=None)
155807              Get ip for sentinel master
155808
155809              CLI Example:
155810
155811                 salt '*' redis.sentinel_get_master_ip 'mymaster'
155812
155813       salt.modules.redismod.set_key(key,   value,    host=None,    port=None,
155814       db=None, password=None)
155815              Set redis key value
155816
155817              CLI Example:
155818
155819                 salt '*' redis.set_key foo bar
155820
155821       salt.modules.redismod.shutdown(host=None,   port=None,  db=None,  pass‐
155822       word=None)
155823              Synchronously save the dataset to disk and then  shut  down  the
155824              server
155825
155826              CLI Example:
155827
155828                 salt '*' redis.shutdown
155829
155830       salt.modules.redismod.slaveof(master_host=None,       master_port=None,
155831       host=None, port=None, db=None, password=None)
155832              Make the server a slave of another instance, or  promote  it  as
155833              master
155834
155835              CLI Example:
155836
155837                 # Become slave of redis-n01.example.com:6379
155838                 salt '*' redis.slaveof redis-n01.example.com 6379
155839                 salt '*' redis.slaveof redis-n01.example.com
155840                 # Become master
155841                 salt '*' redis.slaveof
155842
155843       salt.modules.redismod.smembers(key,   host=None,   port=None,  db=None,
155844       password=None)
155845              Get members in a Redis set
155846
155847              CLI Example:
155848
155849                 salt '*' redis.smembers foo_set
155850
155851       salt.modules.redismod.time(host=None,   port=None,    db=None,    pass‐
155852       word=None)
155853              Return the current server UNIX time in seconds
155854
155855              CLI Example:
155856
155857                 salt '*' redis.time
155858
155859       salt.modules.redismod.zcard(key,  host=None,  port=None, db=None, pass‐
155860       word=None)
155861              Get the length of a sorted set in Redis
155862
155863              CLI Example:
155864
155865                 salt '*' redis.zcard foo_sorted
155866
155867       salt.modules.redismod.zrange(key, start,  stop,  host=None,  port=None,
155868       db=None, password=None)
155869              Get a range of values from a sorted set in Redis by index
155870
155871              CLI Example:
155872
155873                 salt '*' redis.zrange foo_sorted 0 10
155874
155875   salt.modules.reg
155876       Manage the Windows registry
155877
155878   Hives
155879       Hives are the main sections of the registry and all begin with the word
155880       HKEY.
155881
155882       · HKEY_LOCAL_MACHINE
155883
155884       · HKEY_CURRENT_USER
155885
155886       · HKEY_USER
155887
155888   Keys
155889       Keys are the folders in the registry. Keys can have  many  nested  sub‐
155890       keys. Keys can have a value assigned to them under the (Default)
155891
155892       When  passing a key on the CLI it must be quoted correctly depending on
155893       the backslashes being used (\ vs \\). The following are  valid  methods
155894       of passing the the key on the CLI:
155895
155896       Using single backslashes:
155897              "SOFTWARE\Python"  'SOFTWARE\Python' (will not work on a Windows
155898              Master)
155899
155900       Using double backslashes:
155901              SOFTWARE\\Python
155902
155903   Values or Entries
155904       Values or Entries are the name/data pairs beneath the keys and subkeys.
155905       All  keys  have  a default name/data pair. The name is (Default) with a
155906       displayed value of (value not set). The actual value is Null.  Example
155907
155908       The following example is an export from the Windows startup portion  of
155909       the registry:
155910
155911          [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]
155912          "RTHDVCPL"="\"C:\\Program Files\\Realtek\\Audio\\HDA\\RtkNGUI64.exe\" -s"
155913          "NvBackend"="\"C:\\Program Files (x86)\\NVIDIA Corporation\\Update Core\\NvBackend.exe\""
155914          "BTMTrayAgent"="rundll32.exe \"C:\\Program Files (x86)\\Intel\\Bluetooth\\btmshellex.dll\",TrayApp"
155915
155916       In this example these are the values for each:
155917
155918       Hive:  HKEY_LOCAL_MACHINE
155919
155920       Key and subkeys:
155921              SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run
155922
155923       Value:
155924
155925              ·
155926
155927                There are 3 value names:
155928
155929                       · RTHDVCPL
155930
155931                       · NvBackend
155932
155933                       · BTMTrayAgent
155934
155935              · Each value name has a corresponding value
155936
155937       depends
155938
155939              · salt.utils.win_reg
155940
155941       salt.modules.reg.broadcast_change()
155942              Refresh the windows environment.
155943
155944              NOTE:
155945                 This  will  only  effect  new processes and windows. Services
155946                 will not see the change until the system restarts.
155947
155948              Returns
155949                     True if successful, otherwise False
155950
155951              Return type
155952                     bool
155953
155954              CLI Example:
155955
155956                     salt '*' reg.broadcast_change
155957
155958       salt.modules.reg.delete_key_recursive(hive,     key,     use_32bit_reg‐
155959       istry=False)
155960              New in version 2015.5.4.
155961
155962
155963              Delete  a  registry  key  to  include all subkeys and value/data
155964              pairs.
155965
155966              Parameters
155967                     hive (str) --
155968
155969                     The name of the hive. Can be one of the following
155970
155971                        · HKEY_LOCAL_MACHINE or HKLM
155972
155973                        · HKEY_CURRENT_USER or HKCU
155974
155975                        · HKEY_USER or HKU
155976
155977                        · HKEY_CLASSES_ROOT or HKCR
155978
155979                        · HKEY_CURRENT_CONFIG or HKCC
155980
155981                     key (str):
155982                            The key to remove (looks like a path)
155983
155984                     use_32bit_registry (bool):
155985                            Deletes the 32bit portion of the registry on 64bit
155986                            installations. On 32bit machines this is ignored.
155987
155988
155989              Returns
155990
155991                     A  dictionary  listing the keys that deleted successfully
155992                     as well as
155993                            those that failed to delete.
155994
155995
155996              Return type
155997                     dict
155998
155999              CLI Example:
156000                 The following example will remove delete_me and all its  sub‐
156001                 keys from the SOFTWARE key in HKEY_LOCAL_MACHINE:
156002
156003                     salt '*' reg.delete_key_recursive HKLM SOFTWARE\\delete_me
156004
156005       salt.modules.reg.delete_value(hive,   key,  vname=None,  use_32bit_reg‐
156006       istry=False)
156007              Delete a registry value entry or the default value for a key.
156008
156009              Parameters
156010
156011                     · hive (str) --
156012
156013                       The name of the hive. Can be one of the following
156014
156015                          · HKEY_LOCAL_MACHINE or HKLM
156016
156017                          · HKEY_CURRENT_USER or HKCU
156018
156019                          · HKEY_USER or HKU
156020
156021                          · HKEY_CLASSES_ROOT or HKCR
156022
156023                          · HKEY_CURRENT_CONFIG or HKCC
156024
156025
156026                     · key (str) -- The key (looks like a path) to  the  value
156027                       name.
156028
156029                     · vname (str) -- The value name. These are the individual
156030                       name/data pairs under the key. If not passed,  the  key
156031                       (Default) value will be deleted.
156032
156033                     · use_32bit_registry  (bool) -- Deletes the 32bit portion
156034                       of  the  registry  on  64bit  installations.  On  32bit
156035                       machines this is ignored.
156036
156037              Returns
156038                     True if successful, otherwise False
156039
156040              Return type
156041                     bool
156042
156043              CLI Example:
156044
156045                     salt '*' reg.delete_value HKEY_CURRENT_USER 'SOFTWARE\\Salt' 'version'
156046
156047       salt.modules.reg.import_file(source, use_32bit_registry=False)
156048              Import  registry  settings  from  a Windows REG file by invoking
156049              REG.EXE.
156050
156051              New in version 2018.3.0.
156052
156053
156054              Parameters
156055
156056                     · source (str) -- The full path of the REG file. This can
156057                       be  either a local file path or a URL type supported by
156058                       salt (e.g. salt://salt_master_path)
156059
156060                     · use_32bit_registry (bool)  --  If  the  value  of  this
156061                       parameter  is  True  then the REG file will be imported
156062                       into the Windows 32 bit registry. Otherwise the Windows
156063                       64 bit registry will be used.
156064
156065              Returns
156066                     True if successful, otherwise an error is raised
156067
156068              Return type
156069                     bool
156070
156071              Raises
156072
156073                     · ValueError -- If the value of source is an invalid path
156074                       or otherwise causes cp.cache_file to return False
156075
156076                     · CommandExecutionError -- If reg.exe exits with a  non-0
156077                       exit code
156078
156079              CLI Example:
156080
156081                     salt machine1 reg.import_file salt://win/printer_config/110_Canon/postinstall_config.reg
156082
156083       salt.modules.reg.key_exists(hive, key, use_32bit_registry=False)
156084              Check that the key is found in the registry. This refers to keys
156085              and not value/data pairs.
156086
156087              Parameters
156088
156089                     · hive (str) -- The hive to connect to
156090
156091                     · key (str) -- The key to check
156092
156093                     · use_32bit_registry (bool) -- Look in the 32bit  portion
156094                       of the registry
156095
156096              Returns
156097                     True if exists, otherwise False
156098
156099              Return type
156100                     bool
156101
156102              CLI Example:
156103
156104                     salt '*' reg.key_exists HKLM SOFTWARE\Microsoft
156105
156106       salt.modules.reg.list_keys(hive, key=None, use_32bit_registry=False)
156107              Enumerates the subkeys in a registry key or hive.
156108
156109              Parameters
156110
156111                     · hive (str) --
156112
156113                       The name of the hive. Can be one of the following:
156114
156115                          · HKEY_LOCAL_MACHINE or HKLM
156116
156117                          · HKEY_CURRENT_USER or HKCU
156118
156119                          · HKEY_USER or HKU
156120
156121                          · HKEY_CLASSES_ROOT or HKCR
156122
156123                          · HKEY_CURRENT_CONFIG or HKCC
156124
156125
156126                     · key  (str)  -- The key (looks like a path) to the value
156127                       name. If a key is not passed, the keys under  the  hive
156128                       will be returned.
156129
156130                     · use_32bit_registry (bool) -- Accesses the 32bit portion
156131                       of the registry on  64  bit  installations.   On  32bit
156132                       machines this is ignored.
156133
156134              Returns
156135                     A list of keys/subkeys under the hive or key.
156136
156137              Return type
156138                     list
156139
156140              CLI Example:
156141
156142                     salt '*' reg.list_keys HKLM 'SOFTWARE'
156143
156144       salt.modules.reg.list_values(hive,  key=None, use_32bit_registry=False,
156145       include_default=True)
156146              Enumerates the values in a registry key or hive.
156147
156148              Parameters
156149
156150                     · hive (str) --
156151
156152                       The name of the hive. Can be one of the following:
156153
156154                          · HKEY_LOCAL_MACHINE or HKLM
156155
156156                          · HKEY_CURRENT_USER or HKCU
156157
156158                          · HKEY_USER or HKU
156159
156160                          · HKEY_CLASSES_ROOT or HKCR
156161
156162                          · HKEY_CURRENT_CONFIG or HKCC
156163
156164
156165                     · key (str) -- The key (looks like a path) to  the  value
156166                       name. If a key is not passed, the values under the hive
156167                       will be returned.
156168
156169                     · use_32bit_registry (bool) -- Accesses the 32bit portion
156170                       of  the  registry  on  64  bit installations.  On 32bit
156171                       machines this is ignored.
156172
156173                     · include_default (bool) -- Toggle whether to include the
156174                       '(Default)' value.
156175
156176              Returns
156177                     A list of values under the hive or key.
156178
156179              Return type
156180                     list
156181
156182              CLI Example:
156183
156184                     salt '*' reg.list_values HKLM 'SYSTEM\\CurrentControlSet\\Services\\Tcpip'
156185
156186       salt.modules.reg.read_value(hive,   key,   vname=None,   use_32bit_reg‐
156187       istry=False)
156188              Reads a registry value entry or the default value for a key.  To
156189              read the default value, don't pass vname
156190
156191              Parameters
156192
156193                     · hive (str) --
156194
156195                       The name of the hive. Can be one of the following:
156196
156197                       · HKEY_LOCAL_MACHINE or HKLM
156198
156199                       · HKEY_CURRENT_USER or HKCU
156200
156201                       · HKEY_USER or HKU
156202
156203                       · HKEY_CLASSES_ROOT or HKCR
156204
156205                       · HKEY_CURRENT_CONFIG or HKCC
156206
156207
156208                     · key  (str)  -- The key (looks like a path) to the value
156209                       name.
156210
156211                     · vname (str) -- The value name. These are the individual
156212                       name/data  pairs  under the key. If not passed, the key
156213                       (Default) value will be returned.
156214
156215                     · use_32bit_registry (bool) -- Accesses the 32bit portion
156216                       of  the  registry  on  64bit  installations.   On 32bit
156217                       machines this is ignored.
156218
156219              Returns
156220                     A dictionary containing the passed settings  as  well  as
156221                     the  value_data if successful. If unsuccessful, sets suc‐
156222                     cess to False.
156223
156224                     bool: Returns False if the key is not found
156225
156226                     If vname is not passed:
156227
156228                        · Returns the  first  unnamed  value  (Default)  as  a
156229                          string.
156230
156231                        · Returns none if first unnamed value is empty.
156232
156233
156234              Return type
156235                     dict
156236
156237              CLI Example:
156238                 The following will get the value of the version value name in
156239                 the HKEY_LOCAL_MACHINE\\SOFTWARE\\Salt key
156240
156241                     salt '*' reg.read_value HKEY_LOCAL_MACHINE 'SOFTWARE\Salt' 'version'
156242
156243              CLI Example:
156244                 The  following  will   get   the   default   value   of   the
156245                 HKEY_LOCAL_MACHINE\\SOFTWARE\\Salt key
156246
156247                     salt '*' reg.read_value HKEY_LOCAL_MACHINE 'SOFTWARE\Salt'
156248
156249       salt.modules.reg.set_value(hive,     key,    vname=None,    vdata=None,
156250       vtype=u'REG_SZ', use_32bit_registry=False, volatile=False)
156251              Sets a value in the registry. If vname is passed, it will be the
156252              value  for  that  value  name,  otherwise it will be the default
156253              value for the specified key
156254
156255              Parameters
156256
156257                     · hive (str) --
156258
156259                       The name of the hive. Can be one of the following
156260
156261                          · HKEY_LOCAL_MACHINE or HKLM
156262
156263                          · HKEY_CURRENT_USER or HKCU
156264
156265                          · HKEY_USER or HKU
156266
156267                          · HKEY_CLASSES_ROOT or HKCR
156268
156269                          · HKEY_CURRENT_CONFIG or HKCC
156270
156271
156272                     · key (str) -- The key (looks like a path) to  the  value
156273                       name.
156274
156275                     · vname (str) -- The value name. These are the individual
156276                       name/data pairs under the key. If not passed,  the  key
156277                       (Default) value will be set.
156278
156279                     · vdata (str, int, list, bytes) --
156280
156281                       The value you'd like to set. If a value name (vname) is
156282                       passed, this will be the data for that value  name.  If
156283                       not, this will be the (Default) value for the key.
156284
156285                       The  type  of data this parameter expects is determined
156286                       by the value type specified in  vtype.  The  correspon‐
156287                       dence is as follows:
156288
156289                          · REG_BINARY: Binary data (str in Py2, bytes in Py3)
156290
156291                          · REG_DWORD: int
156292
156293                          · REG_EXPAND_SZ: str
156294
156295                          · REG_MULTI_SZ: list of str
156296
156297                          · REG_QWORD: int
156298
156299                          · REG_SZ: str
156300
156301                          NOTE:
156302                              When  setting  REG_BINARY,  string  data will be
156303                              converted to binary.
156304
156305                       NOTE:
156306                          The type for the (Default) value  is  always  REG_SZ
156307                          and cannot be changed.
156308
156309                       NOTE:
156310                          This  parameter is optional. If vdata is not passed,
156311                          the  Key  will  be  created   with   no   associated
156312                          item/value pairs.
156313
156314
156315                     · vtype  (str)  -- The value type. The possible values of
156316                       the vtype parameter are indicated above in the descrip‐
156317                       tion of the vdata parameter.
156318
156319                     · use_32bit_registry  (bool) -- Sets the 32bit portion of
156320                       the registry on 64bit installations. On 32bit  machines
156321                       this is ignored.
156322
156323                     · volatile  (bool)  -- When this parameter has a value of
156324                       True, the registry key will be made volatile  (i.e.  it
156325                       will  not  persist  beyond a system reset or shutdown).
156326                       This parameter only has an effect when a key  is  being
156327                       created and at no other time.
156328
156329              Returns
156330                     True if successful, otherwise False
156331
156332              Return type
156333                     bool
156334
156335              CLI Example:
156336                 This  will set the version value to 2015.5.2 in the SOFTWARE‐
156337                 Salt key in the HKEY_LOCAL_MACHINE hive
156338
156339                     salt '*' reg.set_value HKEY_LOCAL_MACHINE 'SOFTWARE\Salt' 'version' '2015.5.2'
156340
156341              CLI Example:
156342                 This function is strict about the type of vdata. For instance
156343                 this  example  will  fail because vtype has a value of REG_SZ
156344                 and vdata has a type of int (as opposed to str as expected).
156345
156346                     salt '*' reg.set_value HKEY_LOCAL_MACHINE 'SOFTWARE\Salt' 'str_data' 1.2
156347
156348              CLI Example:
156349                 In this next example vdata is properly quoted and should suc‐
156350                 ceed.
156351
156352                     salt '*' reg.set_value HKEY_LOCAL_MACHINE 'SOFTWARE\Salt' 'str_data' vtype=REG_SZ vdata="'1.2'"
156353
156354              CLI Example:
156355                 This is an example of using vtype REG_BINARY.
156356
156357                     salt '*' reg.set_value HKEY_LOCAL_MACHINE 'SOFTWARE\Salt' 'bin_data' vtype=REG_BINARY vdata='Salty Data'
156358
156359              CLI Example:
156360                 An example of using vtype REG_MULTI_SZ is as follows:
156361
156362                     salt '*' reg.set_value HKEY_LOCAL_MACHINE 'SOFTWARE\Salt' 'list_data' vtype=REG_MULTI_SZ vdata='["Salt", "is", "great"]'
156363
156364   salt.modules.rest_package
156365       Package support for the REST example
156366
156367       salt.modules.rest_package.install(name=None,    refresh=False,    from‐
156368       repo=None, pkgs=None, sources=None, **kwargs)
156369
156370       salt.modules.rest_package.installed(name, version=None,  refresh=False,
156371       fromrepo=None, skip_verify=False, pkgs=None, sources=None, **kwargs)
156372
156373       salt.modules.rest_package.list_pkgs(versions_as_list=False, **kwargs)
156374
156375       salt.modules.rest_package.remove(name=None, pkgs=None, **kwargs)
156376
156377       salt.modules.rest_package.upgrade(refresh=True,       skip_verify=True,
156378       **kwargs)
156379
156380       salt.modules.rest_package.version(*names, **kwargs)
156381              Returns a string representing the package version  or  an  empty
156382              string if not installed. If more than one package name is speci‐
156383              fied, a dict of name/version pairs is returned.
156384
156385              CLI Example:
156386
156387                 salt '*' pkg.version <package name>
156388                 salt '*' pkg.version <package1> <package2> <package3> ...
156389
156390   salt.modules.rest_sample_utils module
156391       Utility functions for the rest_sample
156392
156393       salt.modules.rest_sample_utils.fix_outage()
156394              "Fix" the outage
156395
156396              CLI Example:
156397
156398                 salt 'rest-sample-proxy' rest_sample.fix_outage
156399
156400       salt.modules.rest_sample_utils.get_test_string()
156401              Helper function to test cross-calling to the __proxy__ dunder.
156402
156403              CLI Example:
156404
156405                 salt 'rest-sample-proxy' rest_sample.get_test_string
156406
156407   salt.modules.rest_service
156408       Provide the service module for the proxy-minion REST sample
156409
156410       salt.modules.rest_service.enabled(name, sig=None)
156411              Only the 'redbull' service is 'enabled' in the test
156412
156413              New in version 2015.8.1.
156414
156415
156416       salt.modules.rest_service.get_all()
156417              Return a list of all available services
156418
156419              New in version 2015.8.0.
156420
156421
156422              CLI Example:
156423
156424                 salt '*' service.get_all
156425
156426       salt.modules.rest_service.list_()
156427              Return a list of all available services.
156428
156429              CLI Example:
156430
156431                 salt '*' service.list
156432
156433       salt.modules.rest_service.restart(name, sig=None)
156434              Restart the specified service with rest_sample
156435
156436              New in version 2015.8.0.
156437
156438
156439              CLI Example:
156440
156441                 salt '*' service.restart <service name>
156442
156443       salt.modules.rest_service.running(name, sig=None)
156444              Return whether this service is running.
156445
156446              New in version 2015.8.0.
156447
156448
156449       salt.modules.rest_service.start(name, sig=None)
156450              Start the specified service on the rest_sample
156451
156452              New in version 2015.8.0.
156453
156454
156455              CLI Example:
156456
156457                 salt '*' service.start <service name>
156458
156459       salt.modules.rest_service.status(name, sig=None)
156460              Return the status for a service via rest_sample.   If  the  name
156461              contains  globbing,  a  dict  mapping service name to True/False
156462              values is returned.
156463
156464              New in version 2015.8.0.
156465
156466
156467              Changed in version 2018.3.0: The service name can now be a  glob
156468              (e.g. salt*)
156469
156470
156471              Parameters
156472
156473                     · name (str) -- The name of the service to check
156474
156475                     · sig (str) -- Not implemented
156476
156477              Returns
156478                     True  if running, False otherwise dict: Maps service name
156479                     to True if running, False otherwise
156480
156481              Return type
156482                     bool
156483
156484              CLI Example:
156485
156486                 salt '*' service.status <service name>
156487
156488       salt.modules.rest_service.stop(name, sig=None)
156489              Stop the specified service on the rest_sample
156490
156491              New in version 2015.8.0.
156492
156493
156494              CLI Example:
156495
156496                 salt '*' service.stop <service name>
156497
156498   salt.modules.restartcheck module
156499       checkrestart functionality for Debian and Red Hat Based systems
156500
156501       Identifies services (processes) that are linked against  deleted  files
156502       (for example after downloading an updated binary of a shared library).
156503
156504       Based on checkrestart script from debian-goodies (written  by Matt Zim‐
156505       merman      for      the      Debian      GNU/Linux       distribution,
156506       https://packages.debian.org/debian-goodies) and psdel by Sam Morris.
156507
156508       codeauthor
156509              Jiri Kotlin <jiri.kotlin@ultimum.io>
156510
156511       salt.modules.restartcheck.restartcheck(ignorelist=None, blacklist=None,
156512       excludepid=None, **kwargs)
156513              Analyzes files openeded by running processes and seeks for pack‐
156514              ages which need to be restarted.
156515
156516              Parameters
156517
156518                     · ignorelist -- string or list of packages to be ignored
156519
156520                     · blacklist -- string or list of file paths to be ignored
156521
156522                     · excludepid  --  string  or  list  of  process IDs to be
156523                       ignored
156524
156525                     · verbose -- boolean, enables extensive output
156526
156527                     · timeout -- int, timeout in minute
156528
156529              Returns
156530                     { 'result': False, 'comment': '<reason>'  }  String  with
156531                     checkrestart  output  if some package seems to need to be
156532                     restarted or if no packages need restarting.
156533
156534              Return type
156535                     Dict on error
156536
156537              New in version 2015.8.3.
156538
156539
156540              CLI Example:
156541                 salt '*' restartcheck.restartcheck
156542
156543   salt.modules.ret
156544       Module to integrate with the returner system and retrieve data sent  to
156545       a salt returner
156546
156547       salt.modules.ret.get_fun(returner, fun)
156548              Return info about last time fun was called on each minion
156549
156550              CLI Example:
156551
156552                 salt '*' ret.get_fun mysql network.interfaces
156553
156554       salt.modules.ret.get_jid(returner, jid)
156555              Return the information for a specified job id
156556
156557              CLI Example:
156558
156559                 salt '*' ret.get_jid redis 20421104181954700505
156560
156561       salt.modules.ret.get_jids(returner)
156562              Return a list of all job ids
156563
156564              CLI Example:
156565
156566                 salt '*' ret.get_jids mysql
156567
156568       salt.modules.ret.get_minions(returner)
156569              Return a list of all minions
156570
156571              CLI Example:
156572
156573                 salt '*' ret.get_minions mysql
156574
156575   salt.modules.rh_ip
156576       The networking module for RHEL/Fedora based distros
156577
156578       salt.modules.rh_ip.apply_network_settings(**settings)
156579              Apply global network configuration.
156580
156581              CLI Example:
156582
156583                 salt '*' ip.apply_network_settings
156584
156585       salt.modules.rh_ip.build_bond(iface, **settings)
156586              Create a bond script in /etc/modprobe.d with the passed settings
156587              and load the bonding kernel module.
156588
156589              CLI Example:
156590
156591                 salt '*' ip.build_bond bond0 mode=balance-alb
156592
156593       salt.modules.rh_ip.build_interface(iface, iface_type,  enabled,  **set‐
156594       tings)
156595              Build an interface script for a network interface.
156596
156597              CLI Example:
156598
156599                 salt '*' ip.build_interface eth0 eth <settings>
156600
156601       salt.modules.rh_ip.build_network_settings(**settings)
156602              Build the global network script.
156603
156604              CLI Example:
156605
156606                 salt '*' ip.build_network_settings <settings>
156607
156608       salt.modules.rh_ip.build_routes(iface, **settings)
156609              Build a route script for a network interface.
156610
156611              CLI Example:
156612
156613                 salt '*' ip.build_routes eth0 <settings>
156614
156615       salt.modules.rh_ip.down(iface, iface_type)
156616              Shutdown a network interface
156617
156618              CLI Example:
156619
156620                 salt '*' ip.down eth0
156621
156622       salt.modules.rh_ip.get_bond(iface)
156623              Return the content of a bond script
156624
156625              CLI Example:
156626
156627                 salt '*' ip.get_bond bond0
156628
156629       salt.modules.rh_ip.get_interface(iface)
156630              Return the contents of an interface script
156631
156632              CLI Example:
156633
156634                 salt '*' ip.get_interface eth0
156635
156636       salt.modules.rh_ip.get_network_settings()
156637              Return the contents of the global network script.
156638
156639              CLI Example:
156640
156641                 salt '*' ip.get_network_settings
156642
156643       salt.modules.rh_ip.get_routes(iface)
156644              Return the contents of the interface routes script.
156645
156646              CLI Example:
156647
156648                 salt '*' ip.get_routes eth0
156649
156650       salt.modules.rh_ip.up(iface, iface_type)
156651              Start up a network interface
156652
156653              CLI Example:
156654
156655                 salt '*' ip.up eth0
156656
156657   salt.modules.rh_service
156658       Service  support  for  RHEL-based  systems,  including support for both
156659       upstart and sysvinit
156660
156661       IMPORTANT:
156662          If you feel that Salt should be using this module to manage services
156663          on  a  minion, and it is using a different module (or gives an error
156664          similar to 'service.start' is not available), see here.
156665
156666       salt.modules.rh_service.available(name, limit=u'')
156667              Return True if the named service is available.   Use  the  limit
156668              param to restrict results to services of that type.
156669
156670              CLI Examples:
156671
156672                 salt '*' service.available sshd
156673                 salt '*' service.available sshd limit=upstart
156674                 salt '*' service.available sshd limit=sysvinit
156675
156676       salt.modules.rh_service.delete(name, **kwargs)
156677              Delete the named service
156678
156679              New in version 2016.3.
156680
156681
156682              CLI Example:
156683
156684                 salt '*' service.delete <service name>
156685
156686       salt.modules.rh_service.disable(name, **kwargs)
156687              Disable the named service to start at boot
156688
156689              CLI Example:
156690
156691                 salt '*' service.disable <service name>
156692
156693       salt.modules.rh_service.disabled(name)
156694              Check to see if the named service is disabled to start on boot
156695
156696              CLI Example:
156697
156698                 salt '*' service.disabled <service name>
156699
156700       salt.modules.rh_service.enable(name, **kwargs)
156701              Enable the named service to start at boot
156702
156703              CLI Example:
156704
156705                 salt '*' service.enable <service name>
156706
156707       salt.modules.rh_service.enabled(name, **kwargs)
156708              Check to see if the named service is enabled to start on boot
156709
156710              CLI Example:
156711
156712                 salt '*' service.enabled <service name>
156713
156714       salt.modules.rh_service.get_all(limit=u'')
156715              Return  all  installed services. Use the limit param to restrict
156716              results to services of that type.
156717
156718              CLI Example:
156719
156720                 salt '*' service.get_all
156721                 salt '*' service.get_all limit=upstart
156722                 salt '*' service.get_all limit=sysvinit
156723
156724       salt.modules.rh_service.get_disabled(limit=u'')
156725              Return the disabled services. Use the limit  param  to  restrict
156726              results to services of that type.
156727
156728              CLI Example:
156729
156730                 salt '*' service.get_disabled
156731                 salt '*' service.get_disabled limit=upstart
156732                 salt '*' service.get_disabled limit=sysvinit
156733
156734       salt.modules.rh_service.get_enabled(limit=u'')
156735              Return  the  enabled  services.  Use the limit param to restrict
156736              results to services of that type.
156737
156738              CLI Examples:
156739
156740                 salt '*' service.get_enabled
156741                 salt '*' service.get_enabled limit=upstart
156742                 salt '*' service.get_enabled limit=sysvinit
156743
156744       salt.modules.rh_service.missing(name, limit=u'')
156745              The inverse of service.available.  Return True if the named ser‐
156746              vice  is not available.  Use the limit param to restrict results
156747              to services of that type.
156748
156749              CLI Examples:
156750
156751                 salt '*' service.missing sshd
156752                 salt '*' service.missing sshd limit=upstart
156753                 salt '*' service.missing sshd limit=sysvinit
156754
156755       salt.modules.rh_service.reload_(name)
156756              Reload the named service
156757
156758              CLI Example:
156759
156760                 salt '*' service.reload <service name>
156761
156762       salt.modules.rh_service.restart(name)
156763              Restart the named service
156764
156765              CLI Example:
156766
156767                 salt '*' service.restart <service name>
156768
156769       salt.modules.rh_service.start(name)
156770              Start the specified service
156771
156772              CLI Example:
156773
156774                 salt '*' service.start <service name>
156775
156776       salt.modules.rh_service.status(name, sig=None)
156777              Return the status for a service.  If the name contains globbing,
156778              a dict mapping service name to True/False values is returned.
156779
156780              Changed  in version 2018.3.0: The service name can now be a glob
156781              (e.g. salt*)
156782
156783
156784              Parameters
156785
156786                     · name (str) -- The name of the service to check
156787
156788                     · sig (str) -- Signature to use to find the  service  via
156789                       ps
156790
156791              Returns
156792                     True  if running, False otherwise dict: Maps service name
156793                     to True if running, False otherwise
156794
156795              Return type
156796                     bool
156797
156798              CLI Example:
156799
156800                 salt '*' service.status <service name> [service signature]
156801
156802       salt.modules.rh_service.stop(name)
156803              Stop the specified service
156804
156805              CLI Example:
156806
156807                 salt '*' service.stop <service name>
156808
156809   salt.modules.riak
156810       Riak Salt Module
156811
156812       salt.modules.riak.cluster_commit()
156813              Commit Cluster Changes
156814
156815              Changed in version 2015.8.0.
156816
156817
156818              CLI Example:
156819
156820                 salt '*' riak.cluster_commit
156821
156822       salt.modules.riak.cluster_join(username, hostname)
156823              Join a Riak cluster
156824
156825              Changed in version 2015.8.0.
156826
156827
156828              CLI Example:
156829
156830                 salt '*' riak.cluster_join <user> <host>
156831
156832              username - The riak username to join the cluster hostname -  The
156833              riak hostname you are connecting to
156834
156835       salt.modules.riak.cluster_leave(username, hostname)
156836              Leave a Riak cluster
156837
156838              New in version 2015.8.0.
156839
156840
156841              CLI Example:
156842
156843                 salt '*' riak.cluster_leave <username> <host>
156844
156845              username  - The riak username to join the cluster hostname - The
156846              riak hostname you are connecting to
156847
156848       salt.modules.riak.cluster_plan()
156849              Review Cluster Plan
156850
156851              Changed in version 2015.8.0.
156852
156853
156854              CLI Example:
156855
156856                 salt '*' riak.cluster_plan
156857
156858       salt.modules.riak.member_status()
156859              Get cluster member status
156860
156861              Changed in version 2015.8.0.
156862
156863
156864              CLI Example:
156865
156866                 salt '*' riak.member_status
156867
156868       salt.modules.riak.services()
156869              List available services on a node
156870
156871              New in version 2015.8.0.
156872
156873
156874              CLI Example:
156875
156876                 salt '*' riak.services
156877
156878       salt.modules.riak.start()
156879              Start Riak
156880
156881              CLI Example:
156882
156883                 salt '*' riak.start
156884
156885       salt.modules.riak.status()
156886              Current node status
156887
156888              New in version 2015.8.0.
156889
156890
156891              CLI Example:
156892
156893                 salt '*' riak.status
156894
156895       salt.modules.riak.stop()
156896              Stop Riak
156897
156898              Changed in version 2015.8.0.
156899
156900
156901              CLI Example:
156902
156903                 salt '*' riak.stop
156904
156905       salt.modules.riak.test()
156906              Runs a test of a few standard Riak operations
156907
156908              New in version 2015.8.0.
156909
156910
156911              CLI Example:
156912
156913                 salt '*' riak.test
156914
156915   salt.modules.rpm
156916       Support for rpm
156917
156918       salt.modules.rpm.bin_pkg_info(path, saltenv=u'base')
156919              New in version 2015.8.0.
156920
156921
156922              Parses RPM metadata and  returns  a  dictionary  of  information
156923              about the package (name, version, etc.).
156924
156925              path   Path  to  the  file.  Can either be an absolute path to a
156926                     file on the  minion,  or  a  salt  fileserver  URL  (e.g.
156927                     salt://path/to/file.rpm).   If  a  salt fileserver URL is
156928                     passed, the file will be cached to the minion so that  it
156929                     can be examined.
156930
156931              saltenv
156932                     base  Salt  fileserver envrionment from which to retrieve
156933                     the package. Ignored if path is a local file path on  the
156934                     minion.
156935
156936              CLI Example:
156937
156938                 salt '*' lowpkg.bin_pkg_info /root/salt-2015.5.1-2.el7.noarch.rpm
156939                 salt '*' lowpkg.bin_pkg_info salt://salt-2015.5.1-2.el7.noarch.rpm
156940
156941       salt.modules.rpm.checksum(*paths)
156942              Return if the signature of a RPM file is valid.
156943
156944              CLI Example:
156945
156946                 salt '*' lowpkg.checksum /path/to/package1.rpm
156947                 salt '*' lowpkg.checksum /path/to/package1.rpm /path/to/package2.rpm
156948
156949       salt.modules.rpm.diff(package, path)
156950              Return  a  formatted diff between current file and original in a
156951              package.  NOTE: this function includes all files  (configuration
156952              and not), but does not work on binary content.
156953
156954              Parameters
156955
156956                     · package -- The name of the package
156957
156958                     · path -- Full path to the installed file
156959
156960              Returns
156961                     Difference or empty string. For binary files only a noti‐
156962                     fication.
156963
156964              CLI example:
156965
156966                 salt '*' lowpkg.diff apache2 /etc/apache2/httpd.conf
156967
156968       salt.modules.rpm.file_dict(*packages)
156969              List the files that belong to a package, sorted  by  group.  Not
156970              specifying  any  packages  will return a list of _every_ file on
156971              the system's rpm database (not generally recommended).
156972
156973              CLI Examples:
156974
156975                 salt '*' lowpkg.file_dict httpd
156976                 salt '*' lowpkg.file_dict httpd postfix
156977                 salt '*' lowpkg.file_dict
156978
156979       salt.modules.rpm.file_list(*packages)
156980              List the files that belong to  a  package.  Not  specifying  any
156981              packages  will return a list of _every_ file on the system's rpm
156982              database (not generally recommended).
156983
156984              CLI Examples:
156985
156986                 salt '*' lowpkg.file_list httpd
156987                 salt '*' lowpkg.file_list httpd postfix
156988                 salt '*' lowpkg.file_list
156989
156990       salt.modules.rpm.info(*packages, **kwargs)
156991              Return a detailed package(s) summary information.  If  no  pack‐
156992              ages specified, all packages will be returned.
156993
156994              Parameters
156995
156996                     · packages --
156997
156998                     · attr --
156999
157000                       Comma-separated  package  attributes.  If  no 'attr' is
157001                       specified, all available attributes returned.
157002
157003                       Valid attributes are:
157004                              version,    vendor,     release,     build_date,
157005                              build_date_time_t,                 install_date,
157006                              install_date_time_t,     build_host,      group,
157007                              source_rpm,  arch,  epoch, size, license, signa‐
157008                              ture, packager, url, summary, description.
157009
157010
157011                     · all_versions -- Return information  for  all  installed
157012                       versions of the packages
157013
157014              Returns
157015
157016
157017              CLI example:
157018
157019                 salt '*' lowpkg.info apache2 bash
157020                 salt '*' lowpkg.info apache2 bash attr=version
157021                 salt '*' lowpkg.info apache2 bash attr=version,build_date_iso,size
157022                 salt '*' lowpkg.info apache2 bash attr=version,build_date_iso,size all_versions=True
157023
157024       salt.modules.rpm.list_pkgs(*packages)
157025              List the packages currently installed in a dict:
157026
157027                 {'<package_name>': '<version>'}
157028
157029              CLI Example:
157030
157031                 salt '*' lowpkg.list_pkgs
157032
157033       salt.modules.rpm.modified(*packages, **flags)
157034              List the modified files that belong to a package. Not specifying
157035              any packages will return a list of _all_ modified files  on  the
157036              system's RPM database.
157037
157038              New in version 2015.5.0.
157039
157040
157041              CLI examples:
157042
157043                 salt '*' lowpkg.modified httpd
157044                 salt '*' lowpkg.modified httpd postfix
157045                 salt '*' lowpkg.modified
157046
157047       salt.modules.rpm.owner(*paths)
157048              Return the name of the package that owns the file. Multiple file
157049              paths can be passed. If a single path is passed, a  string  will
157050              be  returned,  and if multiple paths are passed, a dictionary of
157051              file/package name pairs will be returned.
157052
157053              If the file is not owned by a package, or is not present on  the
157054              minion, then an empty string will be returned for that path.
157055
157056              CLI Examples:
157057
157058                 salt '*' lowpkg.owner /usr/bin/apachectl
157059                 salt '*' lowpkg.owner /usr/bin/apachectl /etc/httpd/conf/httpd.conf
157060
157061       salt.modules.rpm.verify(*packages, **kwargs)
157062              Runs an rpm -Va on a system, and returns the results in a dict
157063
157064              Files with an attribute of config, doc, ghost, license or readme
157065              in the package header can be ignored using the ignore_types key‐
157066              word argument
157067
157068              CLI Example:
157069
157070                 salt '*' lowpkg.verify
157071                 salt '*' lowpkg.verify httpd
157072                 salt '*' lowpkg.verify httpd postfix
157073                 salt '*' lowpkg.verify httpd postfix ignore_types=['config','doc']
157074
157075       salt.modules.rpm.version_cmp(ver1, ver2, ignore_epoch=False)
157076              New in version 2015.8.9.
157077
157078
157079              Do  a  cmp-style comparison on two packages. Return -1 if ver1 <
157080              ver2, 0 if ver1 == ver2, and 1 if ver1 > ver2.  Return  None  if
157081              there was a problem making the comparison.
157082
157083              ignore_epoch
157084                     False Set to True to ignore the epoch when comparing ver‐
157085                     sions
157086
157087                     New in version 2015.8.10,2016.3.2.
157088
157089
157090              CLI Example:
157091
157092                 salt '*' pkg.version_cmp '0.2-001' '0.2.0.1-002'
157093
157094   salt.modules.rpmbuild
157095       RPM Package builder system
157096
157097       New in version 2015.8.0.
157098
157099
157100       This system allows for all of the components to build  rpms  safely  in
157101       chrooted  environments.  This  also provides a function to generate yum
157102       repositories
157103
157104       This module implements the pkgbuild interface
157105
157106       salt.modules.rpmbuild.build(runas, tgt, dest_dir, spec, sources,  deps,
157107       env, template, saltenv=u'base', log_dir=u'/var/log/salt/pkgbuild')
157108              Given  the  package  destination directory, the spec file source
157109              and package sources, use mock to safely build the rpm defined in
157110              the spec file
157111
157112              CLI Example:
157113
157114                 salt '*' pkgbuild.build mock epel-7-x86_64 /var/www/html
157115                             https://raw.githubusercontent.com/saltstack/libnacl/master/pkg/rpm/python-libnacl.spec
157116                             https://pypi.python.org/packages/source/l/libnacl/libnacl-1.3.5.tar.gz
157117
157118              This example command should build the libnacl package for rhel 7
157119              using user mock and place it in /var/www/html/ on the minion
157120
157121       salt.modules.rpmbuild.make_repo(repodir,     keyid=None,      env=None,
157122       use_passphrase=False,   gnupghome=u'/etc/salt/gpgkeys',  runas=u'root',
157123       timeout=15.0)
157124              Make a package repository and optionally sign packages present
157125
157126              Given the repodir, create a  yum  repository  out  of  the  rpms
157127              therein and optionally sign it and packages present, the name is
157128              directory to turn into a repo. This  state  is  best  used  with
157129              onchanges linked to your package building states.
157130
157131              repodir
157132                     The directory to find packages that will be in the repos‐
157133                     itory.
157134
157135              keyid  Changed in version 2016.3.0.
157136
157137
157138                     Optional Key ID to use in signing  packages  and  reposi‐
157139                     tory.   Utilizes  Public and Private keys associated with
157140                     keyid which have been loaded  into  the  minion's  Pillar
157141                     data.
157142
157143                     For  example, contents from a Pillar data file with named
157144                     Public and Private keys as follows:
157145
157146                        gpg_pkg_priv_key: |
157147                          -----BEGIN PGP PRIVATE KEY BLOCK-----
157148                          Version: GnuPG v1
157149
157150                          lQO+BFciIfQBCADAPCtzx7I5Rl32escCMZsPzaEKWe7bIX1em4KCKkBoX47IG54b
157151                          w82PCE8Y1jF/9Uk2m3RKVWp3YcLlc7Ap3gj6VO4ysvVz28UbnhPxsIkOlf2cq8qc
157152                          .
157153                          .
157154                          Ebe+8JCQTwqSXPRTzXmy/b5WXDeM79CkLWvuGpXFor76D+ECMRPv/rawukEcNptn
157155                          R5OmgHqvydEnO4pWbn8JzQO9YX/Us0SMHBVzLC8eIi5ZIopzalvX
157156                          =JvW8
157157                          -----END PGP PRIVATE KEY BLOCK-----
157158
157159                        gpg_pkg_priv_keyname: gpg_pkg_key.pem
157160
157161                        gpg_pkg_pub_key: |
157162                          -----BEGIN PGP PUBLIC KEY BLOCK-----
157163                          Version: GnuPG v1
157164
157165                          mQENBFciIfQBCADAPCtzx7I5Rl32escCMZsPzaEKWe7bIX1em4KCKkBoX47IG54b
157166                          w82PCE8Y1jF/9Uk2m3RKVWp3YcLlc7Ap3gj6VO4ysvVz28UbnhPxsIkOlf2cq8qc
157167                          .
157168                          .
157169                          bYP7t5iwJmQzRMyFInYRt77wkJBPCpJc9FPNebL9vlZcN4zv0KQta+4alcWivvoP
157170                          4QIxE+/+trC6QRw2m2dHk6aAeq/J0Sc7ilZufwnNA71hf9SzRIwcFXMsLx4iLlki
157171                          inNqW9c=
157172                          =s1CX
157173                          -----END PGP PUBLIC KEY BLOCK-----
157174
157175                        gpg_pkg_pub_keyname: gpg_pkg_key.pub
157176
157177              env    Changed in version 2016.3.0.
157178
157179
157180                     A dictionary of environment variables to be  utilized  in
157181                     creating the repository.
157182
157183                     NOTE:
157184                        This  parameter  is  not used for making yum reposito‐
157185                        ries.
157186
157187              use_passphrase
157188                     False New in version 2016.3.0.
157189
157190
157191                     Use a passphrase with the signing key presented in keyid.
157192                     Passphrase  is  received  from Pillar data which could be
157193                     passed on the command line  with  pillar  parameter.  For
157194                     example:
157195
157196                        pillar='{ "gpg_passphrase" : "my_passphrase" }'
157197
157198              gnupghome
157199                     /etc/salt/gpgkeys New in version 2016.3.0.
157200
157201
157202                     Location  where  GPG  related files are stored, used with
157203                     keyid.
157204
157205              runas  root New in version 2016.3.0.
157206
157207
157208                     User to create the repository  as,  and  optionally  sign
157209                     packages.
157210
157211                     NOTE:
157212                        Ensure  the  user has correct permissions to any files
157213                        and directories which are to be utilized.
157214
157215              timeout
157216                     15.0 New in version 2016.3.4.
157217
157218
157219                     Timeout in seconds to wait for the prompt  for  inputting
157220                     the passphrase.
157221
157222              CLI Example:
157223
157224                 salt '*' pkgbuild.make_repo /var/www/html/
157225
157226       salt.modules.rpmbuild.make_src_pkg(dest_dir,  spec,  sources, env=None,
157227       template=None, saltenv=u'base', runas=u'root')
157228              Create a source rpm from the given spec file and sources
157229
157230              CLI Example:
157231
157232                 salt '*' pkgbuild.make_src_pkg /var/www/html/
157233                         https://raw.githubusercontent.com/saltstack/libnacl/master/pkg/rpm/python-libnacl.spec
157234                         https://pypi.python.org/packages/source/l/libnacl/libnacl-1.3.5.tar.gz
157235
157236              This example command should build the libnacl SOURCE package and
157237              place it in /var/www/html/ on the minion
157238
157239              Changed in version 2017.7.0.
157240
157241
157242              dest_dir
157243                     The directory on the minion to place the built package(s)
157244
157245              spec   The location of the spec file (used for rpms)
157246
157247              sources
157248                     The list of package sources
157249
157250              env    A  dictionary of environment variables to be set prior to
157251                     execution.
157252
157253              template
157254                     Run the spec file through a  templating  engine  Optional
157255                     arguement,  allows for no templating engine used to be if
157256                     none is desired.
157257
157258              saltenv
157259                     The saltenv to use for files  downloaded  from  the  salt
157260                     filesever
157261
157262              runas  The user to run the build process as
157263
157264                     New in version 2018.3.3.
157265
157266
157267              NOTE:
157268                 using SHA256 as digest and minimum level dist el6
157269
157270   salt.modules.rsync
157271       Wrapper for rsync
157272
157273       New in version 2014.1.0.
157274
157275
157276       This  data  can  also  be passed into pillar.  Options passed into opts
157277       will overwrite options passed into pillar.
157278
157279       salt.modules.rsync.config(conf_path=u'/etc/rsyncd.conf')
157280              Changed in version 2016.3.0: Return data now contains  just  the
157281              contents of the rsyncd.conf as a string, instead of a dictionary
157282              as returned from cmd.run_all.
157283
157284
157285              Returns the contents of the rsync config file
157286
157287              conf_path
157288                     /etc/rsyncd.conf Path to the config file
157289
157290              CLI Example:
157291
157292                 salt '*' rsync.config
157293
157294       salt.modules.rsync.rsync(src,    dst,    delete=False,     force=False,
157295       update=False,    passwordfile=None,   exclude=None,   excludefrom=None,
157296       dryrun=False, rsh=None, additional_opts=None, saltenv=u'base')
157297                 Changed in version 2016.3.0: Return data  now  contains  just
157298                 the  output  of the rsync command, instead of a dictionary as
157299                 returned from cmd.run_all.
157300
157301
157302                 Rsync files from src to dst
157303
157304                 src    The source location where files will be rsynced from.
157305
157306                 dst    The destination location where files will  be  rsynced
157307                        to.
157308
157309                 delete False Whether to enable the rsync --delete flag, which
157310                        will delete extraneous files from dest dirs
157311
157312                 force  False Whether to enable the rsync --force flag,  which
157313                        will force deletion of dirs even if not empty.
157314
157315                 update False Whether to enable the rsync --update flag, which
157316                        forces rsync to skip any files which exist on the des‐
157317                        tination  and  have a modified time that is newer than
157318                        the source file.
157319
157320                 passwordfile
157321                        A file that contains a password for accessing an rsync
157322                        daemon.  The file should contain just the password.
157323
157324                 exclude
157325                        Whether to enable the rsync --exclude flag, which will
157326                        exclude files matching a PATTERN.
157327
157328                 excludefrom
157329                        Whether to enable the rsync --excludefrom flag,  which
157330                        will read exclude patterns from a file.
157331
157332                 dryrun False  Whether  to  enable  the  rsync --dry-run flag,
157333                        which will perform a trial run with no changes made.
157334
157335                 rsh    Whether to enable the rsync --rsh flag, to specify the
157336                        remote shell to use.
157337
157338                 additional_opts
157339                        Any additional rsync options, should be specified as a
157340                        list.
157341
157342              saltenv
157343                        Specify a salt fileserver environment to be used.
157344
157345                     CLI Example:
157346
157347                        salt '*' rsync.rsync /path/to/src /path/to/dest delete=True update=True passwordfile=/etc/pass.crt exclude=exclude/dir
157348                        salt '*' rsync.rsync /path/to/src delete=True excludefrom=/xx.ini
157349                        salt '*' rsync.rsync /path/to/src delete=True exclude='[exclude1/dir,exclude2/dir]' additional_opts='["--partial", "--bwlimit=5000"]'
157350
157351       salt.modules.rsync.version()
157352              Changed in version 2016.3.0: Return data now contains  just  the
157353              version  number as a string, instead of a dictionary as returned
157354              from cmd.run_all.
157355
157356
157357              Returns rsync version
157358
157359              CLI Example:
157360
157361                 salt '*' rsync.version
157362
157363   salt.modules.runit
157364       runit service module (http://smarden.org/runit)
157365
157366       This module is compatible with the service states, so it can be used to
157367       maintain services using the provider argument:
157368
157369          myservice:
157370            service:
157371              - running
157372              - provider: runit
157373
157374       Provides virtual service module on systems using runit as init.
157375
157376       Service management rules (sv command):
157377          service $n is ENABLED   if file SERVICE_DIR/$n/run exists service $n
157378          is AVAILABLE if ENABLED or if file AVAIL_SVR_DIR/$n/run exists  ser‐
157379          vice $n is DISABLED  if AVAILABLE but not ENABLED
157380
157381          SERVICE_DIR/$n is normally a symlink to a AVAIL_SVR_DIR/$n folder
157382
157383       Service auto-start/stop mechanism:
157384          sv  (auto)starts/stops  service  as soon as SERVICE_DIR/<service> is
157385          created/deleted, both on service creation or a boot time.
157386
157387          autostart feature is disabled if file  SERVICE_DIR/<n>/down  exists.
157388          This  does  not affect the current's service status (if already run‐
157389          ning) nor manual service management.
157390
157391       Service's alias:
157392          Service sva is an alias of service svc when  AVAIL_SVR_DIR/sva  sym‐
157393          links  to  folder  AVAIL_SVR_DIR/svc.  svc can't be enabled if it is
157394          already enabled through an alias already enabled, since sv files are
157395          stored in folder SERVICE_DIR/svc/.
157396
157397          XBPS  package  management uses a service's alias to provides service
157398          alternative(s), such as chrony and openntpd both aliased to ntpd.
157399
157400       salt.modules.runit.add_svc_avail_path(path)
157401              Add a path that may contain available services.  Return True  if
157402              added (or already present), False on error.
157403
157404              path   directory to add to AVAIL_SVR_DIRS
157405
157406       salt.modules.runit.available(name)
157407              Returns  True  if  the specified service is available, otherwise
157408              returns False.
157409
157410              name   the service's name
157411
157412              CLI Example:
157413
157414                 salt '*' runit.available <service name>
157415
157416       salt.modules.runit.disable(name, stop=False, **kwargs)
157417              Don't start service name at boot Returns True  if  operation  is
157418              successful
157419
157420              name   the service's name
157421
157422              stop   if True, also stops the service
157423
157424              CLI Example:
157425
157426                 salt '*' service.disable <name> [stop=True]
157427
157428       salt.modules.runit.disabled(name)
157429              Return True if the named service is disabled, False  otherwise
157430
157431              name   the service's name
157432
157433              CLI Example:
157434
157435                 salt '*' service.disabled <service name>
157436
157437       salt.modules.runit.enable(name, start=False, **kwargs)
157438              Start  service  name at boot.  Returns True if operation is suc‐
157439              cessful
157440
157441              name   the service's name
157442
157443              start  False If True, start the service once enabled.
157444
157445              CLI Example:
157446
157447                 salt '*' service.enable <name> [start=True]
157448
157449       salt.modules.runit.enabled(name)
157450              Return True if the named service is enabled, False otherwise
157451
157452              name   the service's name
157453
157454              CLI Example:
157455
157456                 salt '*' service.enabled <service name>
157457
157458       salt.modules.runit.full_restart(name)
157459              Calls runit.restart()
157460
157461              name   the service's name
157462
157463              CLI Example:
157464
157465                 salt '*' runit.full_restart <service name>
157466
157467       salt.modules.runit.get_all()
157468              Return a list of all available services
157469
157470              CLI Example:
157471
157472                 salt '*' runit.get_all
157473
157474       salt.modules.runit.get_disabled()
157475              Return a list of all disabled services
157476
157477              CLI Example:
157478
157479                 salt '*' service.get_disabled
157480
157481       salt.modules.runit.get_enabled()
157482              Return a list of all enabled services
157483
157484              CLI Example:
157485
157486                 salt '*' service.get_enabled
157487
157488       salt.modules.runit.get_svc_alias()
157489              Returns the list of service's name that are  aliased  and  their
157490              alias path(s)
157491
157492       salt.modules.runit.get_svc_avail_path()
157493              Return list of paths that may contain available services
157494
157495       salt.modules.runit.get_svc_broken_path(name=u'*')
157496              Return list of broken path(s) in SERVICE_DIR that match name
157497
157498              A path is broken if it is a broken symlink or can not be a runit
157499              service
157500
157501              name   a glob for service name. default is '*'
157502
157503              CLI Example:
157504
157505                 salt '*' runit.get_svc_broken_path <service name>
157506
157507       salt.modules.runit.missing(name)
157508              The inverse of runit.available.  Returns True if  the  specified
157509              service is not available, otherwise returns False.
157510
157511              name   the service's name
157512
157513              CLI Example:
157514
157515                 salt '*' runit.missing <service name>
157516
157517       salt.modules.runit.reload_(name)
157518              Reload service
157519
157520              name   the service's name
157521
157522              CLI Example:
157523
157524                 salt '*' runit.reload <service name>
157525
157526       salt.modules.runit.remove(name)
157527              Remove  the  service <name> from system.  Returns True if opera‐
157528              tion is successful.  The service will be also stopped.
157529
157530              name   the service's name
157531
157532              CLI Example:
157533
157534                 salt '*' service.remove <name>
157535
157536       salt.modules.runit.restart(name)
157537              Restart service
157538
157539              name   the service's name
157540
157541              CLI Example:
157542
157543                 salt '*' runit.restart <service name>
157544
157545       salt.modules.runit.show(name)
157546              Show properties of one or more units/jobs or the manager
157547
157548              name   the service's name
157549
157550              CLI Example:
157551                 salt '*' service.show <service name>
157552
157553       salt.modules.runit.start(name)
157554              Start service
157555
157556              name   the service's name
157557
157558              CLI Example:
157559
157560                 salt '*' runit.start <service name>
157561
157562       salt.modules.runit.status(name, sig=None)
157563              Return True if service is running
157564
157565              name   the service's name
157566
157567              sig    signature to identify with ps
157568
157569              CLI Example:
157570
157571                 salt '*' runit.status <service name>
157572
157573       salt.modules.runit.status_autostart(name)
157574              Return True if service <name> is autostarted by sv  (file  $ser‐
157575              vice_folder/down does not exist) NB: return False if the service
157576              is not enabled.
157577
157578              name   the service's name
157579
157580              CLI Example:
157581
157582                 salt '*' runit.status_autostart <service name>
157583
157584       salt.modules.runit.stop(name)
157585              Stop service
157586
157587              name   the service's name
157588
157589              CLI Example:
157590
157591                 salt '*' runit.stop <service name>
157592
157593   salt.modules.rvm
157594       Manage ruby installations and gemsets with RVM, the Ruby  Version  Man‐
157595       ager.
157596
157597       salt.modules.rvm.do(ruby, command, runas=None, cwd=None, env=None)
157598              Execute a command in an RVM controlled environment.
157599
157600              ruby   Which ruby to use
157601
157602              command
157603                     The rvm command to execute
157604
157605              runas  The  user  under which to run rvm. If not specified, then
157606                     rvm will be run as the user under which Salt is running.
157607
157608              cwd    The directory from which to run the rvm command. Defaults
157609                     to the user's home directory.
157610
157611              CLI Example:
157612
157613                 salt '*' rvm.do 2.0.0 <command>
157614
157615       salt.modules.rvm.gemset_copy(source, destination, runas=None)
157616              Copy all gems from one gemset to another.
157617
157618              source The  name  of the gemset to copy, complete with ruby ver‐
157619                     sion
157620
157621              destination
157622                     The destination gemset
157623
157624              runas  The user under which to run rvm. If not  specified,  then
157625                     rvm will be run as the user under which Salt is running.
157626
157627              CLI Example:
157628
157629                 salt '*' rvm.gemset_copy foobar bazquo
157630
157631       salt.modules.rvm.gemset_create(ruby, gemset, runas=None)
157632              Creates a gemset.
157633
157634              ruby   The ruby version for which to create the gemset
157635
157636              gemset The name of the gemset to create
157637
157638              runas  The  user  under which to run rvm. If not specified, then
157639                     rvm will be run as the user under which Salt is running.
157640
157641              CLI Example:
157642
157643                 salt '*' rvm.gemset_create 2.0.0 foobar
157644
157645       salt.modules.rvm.gemset_delete(ruby, gemset, runas=None)
157646              Delete a gemset
157647
157648              ruby   The ruby version to which the gemset belongs
157649
157650              gemset The gemset to delete
157651
157652              runas  The user under which to run rvm. If not  specified,  then
157653                     rvm will be run as the user under which Salt is running.
157654
157655              CLI Example:
157656
157657                 salt '*' rvm.gemset_delete 2.0.0 foobar
157658
157659       salt.modules.rvm.gemset_empty(ruby, gemset, runas=None)
157660              Remove all gems from a gemset.
157661
157662              ruby   The ruby version to which the gemset belongs
157663
157664              gemset The gemset to empty
157665
157666              runas  The  user  under which to run rvm. If not specified, then
157667                     rvm will be run as the user under which Salt is running.
157668
157669              CLI Example:
157670
157671                 salt '*' rvm.gemset_empty 2.0.0 foobar
157672
157673       salt.modules.rvm.gemset_list(ruby=u'default', runas=None)
157674              List all gemsets for the given ruby.
157675
157676              ruby   default The ruby version for which to list the gemsets
157677
157678              runas  The user under which to run rvm. If not  specified,  then
157679                     rvm will be run as the user under which Salt is running.
157680
157681              CLI Example:
157682
157683                 salt '*' rvm.gemset_list
157684
157685       salt.modules.rvm.gemset_list_all(runas=None)
157686              List all gemsets for all installed rubies.
157687
157688              Note that you must have set a default ruby before this can work.
157689
157690              runas  The  user  under which to run rvm. If not specified, then
157691                     rvm will be run as the user under which Salt is running.
157692
157693              CLI Example:
157694
157695                 salt '*' rvm.gemset_list_all
157696
157697       salt.modules.rvm.get(version=u'stable', runas=None)
157698              Update RVM
157699
157700              version
157701                     stable Which version of RVM to install, (e.g.  stable  or
157702                     head)
157703
157704              CLI Example:
157705
157706                 salt '*' rvm.get
157707
157708       salt.modules.rvm.install(runas=None)
157709              Install RVM system-wide
157710
157711              runas  The  user under which to run the rvm installer script. If
157712                     not specified, then it be run as  the  user  under  which
157713                     Salt is running.
157714
157715              CLI Example:
157716
157717                 salt '*' rvm.install
157718
157719       salt.modules.rvm.install_ruby(ruby, runas=None, opts=None, env=None)
157720              Install a ruby implementation.
157721
157722              ruby   The version of ruby to install
157723
157724              runas  The  user  under which to run rvm. If not specified, then
157725                     rvm will be run as the user under which Salt is running.
157726
157727              env    Environment to set for the install  command.  Useful  for
157728                     exporting compilation flags such as RUBY_CONFIGURE_OPTS
157729
157730              opts   List  of  options  to  pass  to the RVM installer (ie -C,
157731                     --patch, etc)
157732
157733              CLI Example:
157734
157735                 salt '*' rvm.install_ruby 1.9.3-p385
157736
157737       salt.modules.rvm.is_installed(runas=None)
157738              Check if RVM is installed.
157739
157740              CLI Example:
157741
157742                 salt '*' rvm.is_installed
157743
157744       salt.modules.rvm.list_(runas=None)
157745              List all rvm-installed rubies
157746
157747              runas  The user under which to run rvm. If not  specified,  then
157748                     rvm will be run as the user under which Salt is running.
157749
157750              CLI Example:
157751
157752                 salt '*' rvm.list
157753
157754       salt.modules.rvm.reinstall_ruby(ruby, runas=None, env=None)
157755              Reinstall a ruby implementation
157756
157757              ruby   The version of ruby to reinstall
157758
157759              runas  The  user  under which to run rvm. If not specified, then
157760                     rvm will be run as the user under which Salt is running.
157761
157762              CLI Example:
157763
157764                 salt '*' rvm.reinstall_ruby 1.9.3-p385
157765
157766       salt.modules.rvm.rubygems(ruby, version, runas=None)
157767              Installs a specific rubygems version in the given ruby
157768
157769              ruby   The ruby for which to install rubygems
157770
157771              version
157772                     The version of rubygems to install, or  'remove'  to  use
157773                     the version that ships with 1.9
157774
157775              runas  The  user  under which to run rvm. If not specified, then
157776                     rvm will be run as the user under which Salt is running.
157777
157778              CLI Example:
157779
157780                 salt '*' rvm.rubygems 2.0.0 1.8.24
157781
157782       salt.modules.rvm.set_default(ruby, runas=None)
157783              Set the default ruby
157784
157785              ruby   The version of ruby to make the default
157786
157787              runas  The user under which to run rvm. If not  specified,  then
157788                     rvm will be run as the user under which Salt is running.
157789
157790              CLI Example:
157791
157792                 salt '*' rvm.set_default 2.0.0
157793
157794       salt.modules.rvm.wrapper(ruby_string,    wrapper_prefix,    runas=None,
157795       *binaries)
157796              Install RVM wrapper scripts
157797
157798              ruby_string
157799                     Ruby/gemset to install wrappers for
157800
157801              wrapper_prefix
157802                     What to prepend to the  name  of  the  generated  wrapper
157803                     binaries
157804
157805              runas  The  user  under which to run rvm. If not specified, then
157806                     rvm will be run as the user under which Salt is running.
157807
157808              binaries
157809                     None The names of the binaries to  create  wrappers  for.
157810                     When nothing is given, wrappers for ruby, gem, rake, irb,
157811                     rdoc, ri and testrb are generated.
157812
157813              CLI Example:
157814
157815                 salt '*' rvm.wrapper <ruby_string> <wrapper_prefix>
157816
157817   salt.modules.s3
157818       Connection module for Amazon S3
157819
157820       configuration
157821              This module accepts explicit s3 credentials but can also utilize
157822              IAM  roles  assigned  to the instance through Instance Profiles.
157823              Dynamic credentials are then automatically obtained from AWS API
157824              and  no  further  configuration  is  necessary. More Information
157825              available at:
157826
157827                 http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html
157828
157829              If IAM roles are not used you need to specify them either  in  a
157830              pillar or in the minion's config file:
157831
157832                 s3.keyid: GKTADJGHEIQSXMKKRBJ08H
157833                 s3.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
157834
157835              (Note: this is literally the pillar key 's3.keyid' or the config
157836              option 's3.keyid', not "s3:n  keyid: blah".)
157837
157838              A service_url may also be specified in the configuration:
157839
157840                 s3.service_url: s3.amazonaws.com
157841
157842              A role_arn may also be specified in the configuration:
157843
157844                 s3.role_arn: arn:aws:iam::111111111111:role/my-role-to-assume
157845
157846              If a service_url is not specified,  the  default  is  s3.amazon‐
157847              aws.com.  This  may  appear in various documentation as an "end‐
157848              point". A comprehensive list for Amazon S3 may be found at:
157849
157850                 http://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region
157851
157852              The service_url will form the basis for the final endpoint  that
157853              is used to query the service.
157854
157855              Path style can be enabled:
157856                 s3.path_style: True
157857
157858              This  can  be useful if you need to use salt with a proxy for an
157859              s3 compatible storage
157860
157861              You can use either https protocol or http protocol:
157862                 s3.https_enable: True
157863
157864              SSL verification may also be turned off in the configuration:
157865                 s3.verify_ssl: False
157866
157867              This is required if using S3 bucket names that contain a period,
157868              as  these will not match Amazon's S3 wildcard certificates. Cer‐
157869              tificate verification is enabled by default.
157870
157871              AWS region may be specified in the configuration:
157872                 s3.location: eu-central-1
157873
157874              Default is us-east-1.
157875
157876              This module should be usable to query  other  S3-like  services,
157877              such as Eucalyptus.
157878
157879       depends
157880              requests
157881
157882       salt.modules.s3.delete(bucket,    path=None,   action=None,   key=None,
157883       keyid=None, service_url=None,  verify_ssl=None,  kms_keyid=None,  loca‐
157884       tion=None, role_arn=None, path_style=None, https_enable=None)
157885              Delete a bucket, or delete an object from a bucket.
157886
157887              CLI Example to delete a bucket:
157888
157889                 salt myminion s3.delete mybucket
157890
157891              CLI Example to delete an object from a bucket:
157892
157893                 salt myminion s3.delete mybucket remoteobject
157894
157895       salt.modules.s3.get(bucket=u'',       path=u'',       return_bin=False,
157896       action=None, local_file=None, key=None,  keyid=None,  service_url=None,
157897       verify_ssl=None,    kms_keyid=None,    location=None,    role_arn=None,
157898       path_style=None, https_enable=None)
157899              List the contents of a  bucket,  or  return  an  object  from  a
157900              bucket.  Set  return_bin  to True in order to retrieve an object
157901              wholesale.  Otherwise,  Salt  will  attempt  to  parse  an   XML
157902              response.
157903
157904              CLI Example to list buckets:
157905
157906                 salt myminion s3.get
157907
157908              CLI Example to list the contents of a bucket:
157909
157910                 salt myminion s3.get mybucket
157911
157912              CLI Example to return the binary contents of an object:
157913
157914                 salt myminion s3.get mybucket myfile.png return_bin=True
157915
157916              CLI  Example to save the binary contents of an object to a local
157917              file:
157918
157919                 salt myminion s3.get mybucket myfile.png local_file=/tmp/myfile.png
157920
157921              It is also possible to perform an action on a bucket. Currently,
157922              S3 supports the following actions:
157923
157924                 acl
157925                 cors
157926                 lifecycle
157927                 policy
157928                 location
157929                 logging
157930                 notification
157931                 tagging
157932                 versions
157933                 requestPayment
157934                 versioning
157935                 website
157936
157937              To perform an action on a bucket:
157938
157939                 salt myminion s3.get mybucket myfile.png action=acl
157940
157941       salt.modules.s3.head(bucket,   path=u'',   key=None,  keyid=None,  ser‐
157942       vice_url=None,    verify_ssl=None,    kms_keyid=None,    location=None,
157943       role_arn=None, path_style=None, https_enable=None)
157944              Return the metadata for a bucket, or an object in a bucket.
157945
157946              CLI Examples:
157947
157948                 salt myminion s3.head mybucket
157949                 salt myminion s3.head mybucket myfile.png
157950
157951       salt.modules.s3.put(bucket,  path=None,  return_bin=False, action=None,
157952       local_file=None,   key=None,   keyid=None,    service_url=None,    ver‐
157953       ify_ssl=None,     kms_keyid=None,     location=None,     role_arn=None,
157954       path_style=None, https_enable=None)
157955              Create a new bucket, or upload an object to a bucket.
157956
157957              CLI Example to create a bucket:
157958
157959                 salt myminion s3.put mybucket
157960
157961              CLI Example to upload an object to a bucket:
157962
157963                 salt myminion s3.put mybucket remotepath local_file=/path/to/file
157964
157965   salt.modules.s6 module
157966       s6 service module
157967
157968       This module is compatible with the service states, so it can be used to
157969       maintain services using the provider argument:
157970
157971          myservice:
157972            service:
157973              - running
157974              - provider: s6
157975
157976       Note that the enabled argument is not available with this provider.
157977
157978       codeauthor
157979              Marek Skrobacki <skrobul@skrobul.com>
157980
157981       salt.modules.s6.available(name)
157982              Returns  True  if  the specified service is available, otherwise
157983              returns False.
157984
157985              CLI Example:
157986
157987                 salt '*' s6.available foo
157988
157989       salt.modules.s6.full_restart(name)
157990              Calls s6.restart() function
157991
157992              CLI Example:
157993
157994                 salt '*' s6.full_restart <service name>
157995
157996       salt.modules.s6.get_all()
157997              Return a list of all available services
157998
157999              CLI Example:
158000
158001                 salt '*' s6.get_all
158002
158003       salt.modules.s6.missing(name)
158004              The inverse of s6.available.  Returns True if the specified ser‐
158005              vice is not available, otherwise returns False.
158006
158007              CLI Example:
158008
158009                 salt '*' s6.missing foo
158010
158011       salt.modules.s6.reload_(name)
158012              Send a HUP to service via s6
158013
158014              CLI Example:
158015
158016                 salt '*' s6.reload <service name>
158017
158018       salt.modules.s6.restart(name)
158019              Restart service via s6. This will stop/start service
158020
158021              CLI Example:
158022
158023                 salt '*' s6.restart <service name>
158024
158025       salt.modules.s6.start(name)
158026              Starts service via s6
158027
158028              CLI Example:
158029
158030                 salt '*' s6.start <service name>
158031
158032       salt.modules.s6.status(name, sig=None)
158033              Return the status for a service via s6, return pid if running
158034
158035              CLI Example:
158036
158037                 salt '*' s6.status <service name>
158038
158039       salt.modules.s6.stop(name)
158040              Stops service via s6
158041
158042              CLI Example:
158043
158044                 salt '*' s6.stop <service name>
158045
158046       salt.modules.s6.term(name)
158047              Send a TERM to service via s6
158048
158049              CLI Example:
158050
158051                 salt '*' s6.term <service name>
158052
158053   salt.modules.salt_proxy module
158054       Salt proxy module
158055
158056       New in version 2015.8.3.
158057
158058
158059       Module to deploy and manage salt-proxy processes on a minion.
158060
158061       salt.modules.salt_proxy.configure_proxy(proxyname, start=True)
158062              Create  the  salt  proxy  file  and  start  the proxy process if
158063              required
158064
158065              Parameters
158066
158067                     · proxyname -- Name to be used  for  this  proxy  (should
158068                       match entries in pillar)
158069
158070                     · start  --  Boolean  indicating if the process should be
158071                       started default = True
158072
158073              CLI Example:
158074
158075                 salt deviceminion salt_proxy.configure_proxy p8000
158076
158077       salt.modules.salt_proxy.is_running(proxyname)
158078              Check if the  salt-proxy  process  associated  with  this  proxy
158079              (name) is running.
158080
158081              Returns True if the process is running False otherwise
158082
158083              Parameters
158084                     proxyname -- String name of the proxy (p8000 for example)
158085
158086              CLI Example:
158087
158088                 salt deviceminion salt_proxy.is_running p8000
158089
158090   salt.modules.saltcheck
158091       A module for testing the logic of states and highstates
158092
158093       codeauthor
158094              William Cannon <william.cannon@gmail.com>
158095
158096       maturity
158097              new
158098
158099       Saltcheck  provides  unittest  like  functionality  requiring  only the
158100       knowledge of salt module execution and yaml.
158101
158102       In order to run state and highstate saltcheck tests a sub-folder  of  a
158103       state must be created and named saltcheck-tests.
158104
158105       Tests for a state should be created in files ending in *.tst and placed
158106       in the saltcheck-tests folder.
158107
158108       Multiple tests can be created in a file. Multiple *.tst  files  can  be
158109       created  in  the saltcheck-tests folder. Salt rendering is supported in
158110       test files (e.g. yaml + jinja). The id of a test works in the same man‐
158111       ner as in salt state files. They should be unique and descriptive.
158112
158113       Example file system layout:
158114
158115       Example:
158116
158117          echo-test-hello:
158118            module_and_function: test.echo
158119            args:
158120              - "hello"
158121            kwargs:
158122            assertion: assertEqual
158123            expected-return:  'hello'
158124
158125       class salt.modules.saltcheck.SaltCheck
158126              This class implements the saltcheck
158127
158128              call_salt_command(fun, args, kwargs)
158129                     Generic call of salt Caller command
158130
158131              static cast_expected_to_returned_type(expected, returned)
158132                     Determine the type of variable returned Cast the expected
158133                     to the type of variable returned
158134
158135              static get_state_search_path_list()
158136                     For the state file system, return  a  list  of  paths  to
158137                     search for states
158138
158139              run_test(test_dict)
158140                     Run a single saltcheck test
158141
158142       class salt.modules.saltcheck.StateTestLoader(search_paths)
158143              Class    loads    in    test    files    for    a   state   e.g.
158144              state_dir/saltcheck-tests/[1.tst, 2.tst, 3.tst]
158145
158146              add_test_files_for_sls(sls_path)
158147                     Adding test files
158148
158149              static convert_sls_to_path(sls)
158150                     Converting sls to paths
158151
158152              static convert_sls_to_paths(sls_list)
158153                     Converting sls to paths
158154
158155              gather_files(filepath)
158156                     Gather files for a test suite
158157
158158              load_file(filepath)
158159                     loads in one test file
158160
158161              load_file_salt_rendered(filepath)
158162                     loads in one test file
158163
158164              load_test_suite()
158165                     Load tests either from one file, or a set of files
158166
158167       salt.modules.saltcheck.run_highstate_tests()
158168              Execute all tests for a salt highstate and return results
158169
158170              CLI Example:
158171
158172                 salt '*' saltcheck.run_highstate_tests
158173
158174       salt.modules.saltcheck.run_state_tests(state)
158175              Execute all tests for a salt state  and  return  results  Nested
158176              states will also be tested
158177
158178              Parameters
158179                     state (str) -- the name of a user defined state
158180
158181              CLI Example:
158182
158183                 salt '*' saltcheck.run_state_tests postfix
158184
158185       salt.modules.saltcheck.run_test(**kwargs)
158186              Execute one saltcheck test and return result
158187
158188              Parameters
158189                     arg test (keyword) --
158190
158191              CLI Example:
158192
158193                 salt '*' saltcheck.run_test
158194                     test='{"module_and_function": "test.echo",
158195                            "assertion": "assertEqual",
158196                            "expected-return": "This works!",
158197                            "args":["This works!"] }'
158198
158199       salt.modules.saltcheck.update_master_cache()
158200              Updates  the  master  cache  onto  the  minion  -  transfers all
158201              salt-check-tests Should be done one time before  running  tests,
158202              and   if   tests   are  updated  Can  be  automated  by  setting
158203              "auto_update_master_cache: True" in minion config
158204
158205              CLI Example:
158206
158207                 salt '*' saltcheck.update_master_cache
158208
158209   salt.modules.saltcloudmod
158210       Control a salt cloud system
158211
158212       salt.modules.saltcloudmod.create(name, profile)
158213              Create the named vm
158214
158215              CLI Example:
158216
158217                 salt <minion-id> saltcloud.create webserver rackspace_centos_512
158218
158219   salt.modules.saltutil
158220       The Saltutil module is used to manage the  state  of  the  salt  minion
158221       itself. It is used to manage minion modules as well as automate updates
158222       to the salt minion.
158223
158224       depends
158225
158226              · esky Python module for update functionality
158227
158228       salt.modules.saltutil.clear_cache()
158229              Forcibly removes all caches on a minion.
158230
158231              New in version 2014.7.0.
158232
158233
158234              WARNING: The safest way to clear a  minion  cache  is  by  first
158235              stopping  the  minion  and  then deleting the cache files before
158236              restarting it.
158237
158238              CLI Example:
158239
158240                 salt '*' saltutil.clear_cache
158241
158242       salt.modules.saltutil.clear_job_cache(hours=24)
158243              Forcibly removes job cache folders and files on a minion.
158244
158245              New in version 2018.3.0.
158246
158247
158248              WARNING: The safest way to clear a  minion  cache  is  by  first
158249              stopping  the  minion  and  then deleting the cache files before
158250              restarting it.
158251
158252              CLI Example:
158253
158254                 salt '*' saltutil.clear_job_cache hours=12
158255
158256       salt.modules.saltutil.cmd(tgt,     fun,      arg=(),      timeout=None,
158257       tgt_type=u'glob', ret=u'', kwarg=None, ssh=False, **kwargs)
158258              Changed  in  version  2017.7.0:  The expr_form argument has been
158259              renamed to tgt_type, earlier releases must use expr_form.
158260
158261
158262              Assuming this minion is a master, execute a salt command
158263
158264              CLI Example:
158265
158266                 salt '*' saltutil.cmd
158267
158268       salt.modules.saltutil.cmd_iter(tgt,    fun,    arg=(),    timeout=None,
158269       tgt_type=u'glob', ret=u'', kwarg=None, ssh=False, **kwargs)
158270              Changed  in  version  2017.7.0:  The expr_form argument has been
158271              renamed to tgt_type, earlier releases must use expr_form.
158272
158273
158274              Assuming this minion is a master, execute a salt command
158275
158276              CLI Example:
158277
158278                 salt '*' saltutil.cmd_iter
158279
158280       salt.modules.saltutil.find_cached_job(jid)
158281              Return the data for a specific cached job  id.  Note  this  only
158282              works  if cache_jobs has previously been set to True on the min‐
158283              ion.
158284
158285              CLI Example:
158286
158287                 salt '*' saltutil.find_cached_job <job id>
158288
158289       salt.modules.saltutil.find_job(jid)
158290              Return the data for a specific job id that is currently running.
158291
158292              jid    The job id to search for and return data.
158293
158294              CLI Example:
158295
158296                 salt '*' saltutil.find_job <job id>
158297
158298              Note that the find_job function  only  returns  job  information
158299              when  the job is still running. If the job is currently running,
158300              the output looks something like this:
158301
158302                 # salt my-minion saltutil.find_job 20160503150049487736
158303                 my-minion:
158304                     ----------
158305                     arg:
158306                         - 30
158307                     fun:
158308                         test.sleep
158309                     jid:
158310                         20160503150049487736
158311                     pid:
158312                         9601
158313                     ret:
158314                     tgt:
158315                         my-minion
158316                     tgt_type:
158317                         glob
158318                     user:
158319                         root
158320
158321              If the job has already completed, the job cannot  be  found  and
158322              therefore  the function returns an empty dictionary, which looks
158323              like this on the CLI:
158324
158325                 # salt my-minion saltutil.find_job 20160503150049487736
158326                 my-minion:
158327                     ----------
158328
158329       salt.modules.saltutil.is_running(fun)
158330              If the named function is running return the data associated with
158331              it/them.  The argument can be a glob
158332
158333              CLI Example:
158334
158335                 salt '*' saltutil.is_running state.highstate
158336
158337       salt.modules.saltutil.kill_all_jobs()
158338              Sends a kill signal (SIGKILL 9) to all currently running jobs
158339
158340              CLI Example:
158341
158342                 salt '*' saltutil.kill_all_jobs
158343
158344       salt.modules.saltutil.kill_job(jid)
158345              Sends a kill signal (SIGKILL 9) to the named salt job's process
158346
158347              CLI Example:
158348
158349                 salt '*' saltutil.kill_job <job id>
158350
158351       salt.modules.saltutil.list_extmods()
158352              New in version 2017.7.0.
158353
158354
158355              List Salt modules which have been synced externally
158356
158357              CLI Examples:
158358
158359                 salt '*' saltutil.list_extmods
158360
158361       salt.modules.saltutil.mmodule(saltenv, fun, *args, **kwargs)
158362              Loads  minion  modules  from  an environment so that they can be
158363              used in pillars for that environment
158364
158365              CLI Example:
158366
158367                 salt '*' saltutil.mmodule base test.ping
158368
158369       salt.modules.saltutil.refresh_beacons()
158370              Signal the minion to refresh the beacons.
158371
158372              CLI Example:
158373
158374                 salt '*' saltutil.refresh_beacons
158375
158376       salt.modules.saltutil.refresh_grains(**kwargs)
158377              New in version 2016.3.6,2016.11.4,2017.7.0.
158378
158379
158380              Refresh the minion's grains without syncing custom  grains  mod‐
158381              ules from salt://_grains.
158382
158383              NOTE:
158384                 The  available  execution modules will be reloaded as part of
158385                 this proceess, as grains can affect which modules are  avail‐
158386                 able.
158387
158388              refresh_pillar
158389                     True  Set  to  False  to  keep  pillar  data  from  being
158390                     refreshed.
158391
158392              CLI Examples:
158393
158394                 salt '*' saltutil.refresh_grains
158395
158396       salt.modules.saltutil.refresh_matchers()
158397              Signal the minion to refresh its matchers.
158398
158399              CLI Example:
158400
158401                 salt '*' saltutil.refresh_matchers
158402
158403       salt.modules.saltutil.refresh_modules(**kwargs)
158404              Signal the minion to refresh the module and grain data
158405
158406              The default is to refresh module asynchronously. To block  until
158407              the module refresh is complete, set the 'async' flag to False.
158408
158409              CLI Example:
158410
158411                 salt '*' saltutil.refresh_modules
158412
158413       salt.modules.saltutil.refresh_pillar()
158414              Signal the minion to refresh the pillar data.
158415
158416              CLI Example:
158417
158418                 salt '*' saltutil.refresh_pillar
158419
158420       salt.modules.saltutil.regen_keys()
158421              Used to regenerate the minion keys.
158422
158423              CLI Example:
158424
158425                 salt '*' saltutil.regen_keys
158426
158427       salt.modules.saltutil.revoke_auth(preserve_minion_cache=False)
158428              The  minion sends a request to the master to revoke its own key.
158429              Note that the minion session will be revoked and the minion  may
158430              not  be  able  to  return the result of this command back to the
158431              master.
158432
158433              If the 'preserve_minion_cache' flag is set to True,  the  master
158434              cache for this minion will not be removed.
158435
158436              CLI Example:
158437
158438                 salt '*' saltutil.revoke_auth
158439
158440       salt.modules.saltutil.runner(name,         arg=None,        kwarg=None,
158441       full_return=False, saltenv=u'base', jid=None, **kwargs)
158442              Execute a runner function. This function must be run on the mas‐
158443              ter,  either  by  targeting  a  minion running on a master or by
158444              using salt-call on a master.
158445
158446              New in version 2014.7.0.
158447
158448
158449              name   The name of the function to run
158450
158451              kwargs Any keyword arguments to pass to the runner function
158452
158453              CLI Example:
158454
158455              In this example, assume that master_minion is a  minion  running
158456              on a master.
158457
158458                 salt master_minion saltutil.runner jobs.list_jobs
158459                 salt master_minion saltutil.runner test.arg arg="['baz']" kwarg="{'foo': 'bar'}"
158460
158461       salt.modules.saltutil.running()
158462              Return the data on all running salt processes on the minion
158463
158464              CLI Example:
158465
158466                 salt '*' saltutil.running
158467
158468       salt.modules.saltutil.signal_job(jid, sig)
158469              Sends a signal to the named salt job's process
158470
158471              CLI Example:
158472
158473                 salt '*' saltutil.signal_job <job id> 15
158474
158475       salt.modules.saltutil.sync_all(saltenv=None,              refresh=True,
158476       extmod_whitelist=None, extmod_blacklist=None)
158477              Changed in version 2015.8.11,2016.3.2:  On  masterless  minions,
158478              pillar modules are now synced, and refreshed when refresh is set
158479              to True.
158480
158481
158482              Sync down all of the dynamic modules from the file server for  a
158483              specific environment. This function synchronizes custom modules,
158484              states, beacons, grains, returners, output  modules,  renderers,
158485              and utils.
158486
158487              refresh
158488                     True  Also  refresh  the  execution modules and recompile
158489                     pillar data available to the minion. This refresh will be
158490                     performed  even if no new dynamic modules are synced. Set
158491                     to False to prevent this refresh.
158492
158493              IMPORTANT:
158494                 If this function is executed using a  module.run  state,  the
158495                 SLS  file will not have access to newly synced execution mod‐
158496                 ules unless a refresh argument is added to  the  state,  like
158497                 so:
158498
158499                     load_my_custom_module:
158500                       module.run:
158501                         - name: saltutil.sync_all
158502                         - refresh: True
158503
158504                 See  here for a more detailed explanation of why this is nec‐
158505                 essary.
158506
158507              extmod_whitelist
158508                     None dictionary of modules to sync based on type
158509
158510              extmod_blacklist
158511                     None dictionary of modules to blacklist based on type
158512
158513              CLI Examples:
158514
158515                 salt '*' saltutil.sync_all
158516                 salt '*' saltutil.sync_all saltenv=dev
158517                 salt '*' saltutil.sync_all saltenv=base,dev
158518                 salt '*' saltutil.sync_all extmod_whitelist={'modules': ['custom_module']}
158519
158520       salt.modules.saltutil.sync_beacons(saltenv=None,          refresh=True,
158521       extmod_whitelist=None, extmod_blacklist=None)
158522              New in version 2015.5.1.
158523
158524
158525              Sync beacons from salt://_beacons to the minion
158526
158527              saltenv
158528                     The  fileserver  environment  from which to sync. To sync
158529                     from more than one environment,  pass  a  comma-separated
158530                     list.
158531
158532                     If  not  passed,  then all environments configured in the
158533                     top files will be checked for beacons to sync. If no  top
158534                     files  are  found,  then  the  base  environment  will be
158535                     synced.
158536
158537              refresh
158538                     True If True, refresh the available beacons on  the  min‐
158539                     ion.  This  refresh will be performed even if no new bea‐
158540                     cons are synced. Set to False to prevent this refresh.
158541
158542              extmod_whitelist
158543                     None comma-seperated list of modules to sync
158544
158545              extmod_blacklist
158546                     None comma-seperated list of modules to  blacklist  based
158547                     on type
158548
158549              CLI Example:
158550
158551                 salt '*' saltutil.sync_beacons
158552                 salt '*' saltutil.sync_beacons saltenv=dev
158553                 salt '*' saltutil.sync_beacons saltenv=base,dev
158554
158555       salt.modules.saltutil.sync_clouds(saltenv=None,           refresh=True,
158556       extmod_whitelist=None, extmod_blacklist=None)
158557              New in version 2017.7.0.
158558
158559
158560              Sync cloud modules from salt://_cloud to the minion
158561
158562              saltenv
158563                     base The fileserver environment from which  to  sync.  To
158564                     sync  from  more than one environment, pass a comma-sepa‐
158565                     rated list.
158566
158567              refresh
158568                     True If True, refresh the available execution modules  on
158569                     the  minion.   This  refresh will be performed even if no
158570                     new utility modules are synced. Set to False  to  prevent
158571                     this refresh.
158572
158573              extmod_whitelist
158574                     None comma-seperated list of modules to sync
158575
158576              extmod_blacklist
158577                     None  comma-seperated  list of modules to blacklist based
158578                     on type
158579
158580              CLI Examples:
158581
158582                 salt '*' saltutil.sync_clouds
158583                 salt '*' saltutil.sync_clouds saltenv=dev
158584                 salt '*' saltutil.sync_clouds saltenv=base,dev
158585
158586       salt.modules.saltutil.sync_engines(saltenv=None,         refresh=False,
158587       extmod_whitelist=None, extmod_blacklist=None)
158588              New in version 2016.3.0.
158589
158590
158591              Sync engine modules from salt://_engines to the minion
158592
158593              saltenv
158594                     The  fileserver  environment  from which to sync. To sync
158595                     from more than one environment,  pass  a  comma-separated
158596                     list.
158597
158598                     If  not  passed,  then all environments configured in the
158599                     top files will be checked for engines to sync. If no  top
158600                     files  are  found,  then  the  base  environment  will be
158601                     synced.
158602
158603              refresh
158604                     True If True, refresh the available execution modules  on
158605                     the  minion.   This  refresh will be performed even if no
158606                     new engine modules are synced.  Set to False  to  prevent
158607                     this refresh.
158608
158609              extmod_whitelist
158610                     None comma-seperated list of modules to sync
158611
158612              extmod_blacklist
158613                     None  comma-seperated  list of modules to blacklist based
158614                     on type
158615
158616              CLI Examples:
158617
158618                 salt '*' saltutil.sync_engines
158619                 salt '*' saltutil.sync_engines saltenv=base,dev
158620
158621       salt.modules.saltutil.sync_grains(saltenv=None,           refresh=True,
158622       extmod_whitelist=None, extmod_blacklist=None)
158623              New in version 0.10.0.
158624
158625
158626              Sync grains modules from salt://_grains to the minion
158627
158628              saltenv
158629                     The  fileserver  environment  from which to sync. To sync
158630                     from more than one environment,  pass  a  comma-separated
158631                     list.
158632
158633                     If  not  passed,  then all environments configured in the
158634                     top files will be checked for grains modules to sync.  If
158635                     no top files are found, then the base environment will be
158636                     synced.
158637
158638              refresh
158639                     True If True, refresh the available execution modules and
158640                     recompile  pillar  data for the minion. This refresh will
158641                     be performed even if no new grains  modules  are  synced.
158642                     Set to False to prevent this refresh.
158643
158644              extmod_whitelist
158645                     None comma-seperated list of modules to sync
158646
158647              extmod_blacklist
158648                     None  comma-seperated  list of modules to blacklist based
158649                     on type
158650
158651              CLI Examples:
158652
158653                 salt '*' saltutil.sync_grains
158654                 salt '*' saltutil.sync_grains saltenv=dev
158655                 salt '*' saltutil.sync_grains saltenv=base,dev
158656
158657       salt.modules.saltutil.sync_log_handlers(saltenv=None,     refresh=True,
158658       extmod_whitelist=None, extmod_blacklist=None)
158659              New in version 2015.8.0.
158660
158661
158662              Sync log handlers from salt://_log_handlers to the minion
158663
158664              saltenv
158665                     The  fileserver  environment  from which to sync. To sync
158666                     from more than one environment,  pass  a  comma-separated
158667                     list.
158668
158669                     If  not  passed,  then all environments configured in the
158670                     top files will be checked for log handlers to sync. If no
158671                     top  files  are  found, then the base environment will be
158672                     synced.
158673
158674              refresh
158675                     True If True, refresh the available execution modules  on
158676                     the  minion.   This  refresh will be performed even if no
158677                     new log handlers are synced.  Set  to  False  to  prevent
158678                     this refresh.
158679
158680              extmod_whitelist
158681                     None comma-seperated list of modules to sync
158682
158683              extmod_blacklist
158684                     None  comma-seperated  list of modules to blacklist based
158685                     on type
158686
158687              CLI Examples:
158688
158689                 salt '*' saltutil.sync_log_handlers
158690                 salt '*' saltutil.sync_log_handlers saltenv=dev
158691                 salt '*' saltutil.sync_log_handlers saltenv=base,dev
158692
158693       salt.modules.saltutil.sync_matchers(saltenv=None,        refresh=False,
158694       extmod_whitelist=None, extmod_blacklist=None)
158695              New in version Flourine.
158696
158697
158698              Sync engine modules from salt://_matchers to the minion
158699
158700              saltenv
158701                     The  fileserver  environment  from which to sync. To sync
158702                     from more than one environment,  pass  a  comma-separated
158703                     list.
158704
158705                     If  not  passed,  then all environments configured in the
158706                     top files will be checked for engines to sync. If no  top
158707                     files  are  found,  then  the  base  environment  will be
158708                     synced.
158709
158710              refresh
158711                     True If True, refresh the available execution modules  on
158712                     the  minion.   This  refresh will be performed even if no
158713                     new matcher modules are synced.  Set to False to  prevent
158714                     this refresh.
158715
158716              extmod_whitelist
158717                     None comma-separated list of modules to sync
158718
158719              extmod_blacklist
158720                     None  comma-separated  list of modules to blacklist based
158721                     on type
158722
158723              CLI Examples:
158724
158725                 salt '*' saltutil.sync_matchers
158726                 salt '*' saltutil.sync_matchers saltenv=base,dev
158727
158728       salt.modules.saltutil.sync_modules(saltenv=None,          refresh=True,
158729       extmod_whitelist=None, extmod_blacklist=None)
158730              New in version 0.10.0.
158731
158732
158733              Sync execution modules from salt://_modules to the minion
158734
158735              saltenv
158736                     The  fileserver  environment  from which to sync. To sync
158737                     from more than one environment,  pass  a  comma-separated
158738                     list.
158739
158740                     If  not  passed,  then all environments configured in the
158741                     top files will be checked for execution modules to  sync.
158742                     If no top files are found, then the base environment will
158743                     be synced.
158744
158745              refresh
158746                     True If True, refresh the available execution modules  on
158747                     the  minion.   This  refresh will be performed even if no
158748                     new execution modules are synced. Set to False to prevent
158749                     this refresh.
158750
158751              IMPORTANT:
158752                 If  this  function  is executed using a module.run state, the
158753                 SLS file will not have access to newly synced execution  mod‐
158754                 ules  unless  a  refresh argument is added to the state, like
158755                 so:
158756
158757                     load_my_custom_module:
158758                       module.run:
158759                         - name: saltutil.sync_modules
158760                         - refresh: True
158761
158762                 See here for a more detailed explanation of why this is  nec‐
158763                 essary.
158764
158765              extmod_whitelist
158766                     None comma-seperated list of modules to sync
158767
158768              extmod_blacklist
158769                     None  comma-seperated  list of modules to blacklist based
158770                     on type
158771
158772              CLI Example:
158773
158774                 salt '*' saltutil.sync_modules
158775                 salt '*' saltutil.sync_modules saltenv=dev
158776                 salt '*' saltutil.sync_modules saltenv=base,dev
158777
158778       salt.modules.saltutil.sync_output(saltenv=None,           refresh=True,
158779       extmod_whitelist=None, extmod_blacklist=None)
158780              Sync outputters from salt://_output to the minion
158781
158782              saltenv
158783                     The  fileserver  environment  from which to sync. To sync
158784                     from more than one environment,  pass  a  comma-separated
158785                     list.
158786
158787                     If  not  passed,  then all environments configured in the
158788                     top files will be checked for outputters to sync.  If  no
158789                     top  files  are  found, then the base environment will be
158790                     synced.
158791
158792              refresh
158793                     True If True, refresh the available execution modules  on
158794                     the  minion.   This  refresh will be performed even if no
158795                     new outputters are synced.  Set to False to prevent  this
158796                     refresh.
158797
158798              extmod_whitelist
158799                     None comma-seperated list of modules to sync
158800
158801              extmod_blacklist
158802                     None  comma-seperated  list of modules to blacklist based
158803                     on type
158804
158805              CLI Examples:
158806
158807                 salt '*' saltutil.sync_output
158808                 salt '*' saltutil.sync_output saltenv=dev
158809                 salt '*' saltutil.sync_output saltenv=base,dev
158810
158811       salt.modules.saltutil.sync_outputters(saltenv=None,       refresh=True,
158812       extmod_whitelist=None, extmod_blacklist=None)
158813              This function is an alias of sync_output.
158814                 Sync outputters from salt://_output to the minion
158815
158816                 saltenv
158817                        The fileserver environment from which to sync. To sync
158818                        from more than one environment, pass a comma-separated
158819                        list.
158820
158821                        If not passed, then all environments configured in the
158822                        top files will be checked for outputters to  sync.  If
158823                        no top files are found, then the base environment will
158824                        be synced.
158825
158826                 refresh
158827                        True If True, refresh the available execution  modules
158828                        on the minion.  This refresh will be performed even if
158829                        no new outputters are synced.  Set to False to prevent
158830                        this refresh.
158831
158832                 extmod_whitelist
158833                        None comma-seperated list of modules to sync
158834
158835                 extmod_blacklist
158836                        None  comma-seperated  list  of  modules  to blacklist
158837                        based on type
158838
158839                 CLI Examples:
158840
158841                     salt '*' saltutil.sync_output
158842                     salt '*' saltutil.sync_output saltenv=dev
158843                     salt '*' saltutil.sync_output saltenv=base,dev
158844
158845       salt.modules.saltutil.sync_pillar(saltenv=None,           refresh=True,
158846       extmod_whitelist=None, extmod_blacklist=None)
158847              New in version 2015.8.11,2016.3.2.
158848
158849
158850              Sync  pillar  modules  from  the salt://_pillar directory on the
158851              Salt fileserver. This function is  environment-aware,  pass  the
158852              desired  environment  to grab the contents of the _pillar direc‐
158853              tory from that environment. The default environment, if none  is
158854              specified,  is base.
158855
158856              refresh
158857                     True  Also refresh the execution modules available to the
158858                     minion, and refresh pillar data.
158859
158860              extmod_whitelist
158861                     None comma-seperated list of modules to sync
158862
158863              extmod_blacklist
158864                     None comma-seperated list of modules to  blacklist  based
158865                     on type
158866
158867              NOTE:
158868                 This  function  will  raise  an error if executed on a tradi‐
158869                 tional (i.e.  not masterless) minion
158870
158871              CLI Examples:
158872
158873                 salt '*' saltutil.sync_pillar
158874                 salt '*' saltutil.sync_pillar saltenv=dev
158875
158876       salt.modules.saltutil.sync_proxymodules(saltenv=None,    refresh=False,
158877       extmod_whitelist=None, extmod_blacklist=None)
158878              New in version 2015.8.2.
158879
158880
158881              Sync proxy modules from salt://_proxy to the minion
158882
158883              saltenv
158884                     The  fileserver  environment  from which to sync. To sync
158885                     from more than one environment,  pass  a  comma-separated
158886                     list.
158887
158888                     If  not  passed,  then all environments configured in the
158889                     top files will be checked for proxy modules to  sync.  If
158890                     no top files are found, then the base environment will be
158891                     synced.
158892
158893              refresh
158894                     True If True, refresh the available execution modules  on
158895                     the  minion.   This  refresh will be performed even if no
158896                     new proxy modules are synced.  Set to  False  to  prevent
158897                     this refresh.
158898
158899              extmod_whitelist
158900                     None comma-seperated list of modules to sync
158901
158902              extmod_blacklist
158903                     None  comma-seperated  list of modules to blacklist based
158904                     on type
158905
158906              CLI Examples:
158907
158908                 salt '*' saltutil.sync_proxymodules
158909                 salt '*' saltutil.sync_proxymodules saltenv=dev
158910                 salt '*' saltutil.sync_proxymodules saltenv=base,dev
158911
158912       salt.modules.saltutil.sync_renderers(saltenv=None,        refresh=True,
158913       extmod_whitelist=None, extmod_blacklist=None)
158914              New in version 0.10.0.
158915
158916
158917              Sync renderers from salt://_renderers to the minion
158918
158919              saltenv
158920                     The  fileserver  environment  from which to sync. To sync
158921                     from more than one environment,  pass  a  comma-separated
158922                     list.
158923
158924                     If  not  passed,  then all environments configured in the
158925                     top files will be checked for renderers to  sync.  If  no
158926                     top  files  are  found, then the base environment will be
158927                     synced.
158928
158929              refresh
158930                     True If True, refresh the available execution modules  on
158931                     the  minion.   This  refresh will be performed even if no
158932                     new renderers are synced.  Set to False to  prevent  this
158933                     refresh. Set to False to prevent this refresh.
158934
158935              extmod_whitelist
158936                     None comma-seperated list of modules to sync
158937
158938              extmod_blacklist
158939                     None  comma-seperated  list of modules to blacklist based
158940                     on type
158941
158942              CLI Examples:
158943
158944                 salt '*' saltutil.sync_renderers
158945                 salt '*' saltutil.sync_renderers saltenv=dev
158946                 salt '*' saltutil.sync_renderers saltenv=base,dev
158947
158948       salt.modules.saltutil.sync_returners(saltenv=None,        refresh=True,
158949       extmod_whitelist=None, extmod_blacklist=None)
158950              New in version 0.10.0.
158951
158952
158953              Sync returners from salt://_returners to the minion
158954
158955              saltenv
158956                     The  fileserver  environment  from which to sync. To sync
158957                     from more than one environment,  pass  a  comma-separated
158958                     list.
158959
158960                     If  not  passed,  then all environments configured in the
158961                     top files will be checked for returners to  sync.  If  no
158962                     top  files  are  found, then the base environment will be
158963                     synced.
158964
158965              refresh
158966                     True If True, refresh the available execution modules  on
158967                     the  minion.   This  refresh will be performed even if no
158968                     new returners are synced. Set to False  to  prevent  this
158969                     refresh.
158970
158971              extmod_whitelist
158972                     None comma-seperated list of modules to sync
158973
158974              extmod_blacklist
158975                     None  comma-seperated  list of modules to blacklist based
158976                     on type
158977
158978              CLI Examples:
158979
158980                 salt '*' saltutil.sync_returners
158981                 salt '*' saltutil.sync_returners saltenv=dev
158982
158983       salt.modules.saltutil.sync_sdb(saltenv=None,     extmod_whitelist=None,
158984       extmod_blacklist=None)
158985              New in version 2015.5.8,2015.8.3.
158986
158987
158988              Sync sdb modules from salt://_sdb to the minion
158989
158990              saltenv
158991                     The  fileserver  environment  from which to sync. To sync
158992                     from more than one environment,  pass  a  comma-separated
158993                     list.
158994
158995                     If  not  passed,  then all environments configured in the
158996                     top files will be checked for sdb modules to sync. If  no
158997                     top  files  are  found, then the base environment will be
158998                     synced.
158999
159000              refresh
159001                     False This argument has no affect  and  is  included  for
159002                     consistency with the other sync functions.
159003
159004              extmod_whitelist
159005                     None comma-seperated list of modules to sync
159006
159007              extmod_blacklist
159008                     None  comma-seperated  list of modules to blacklist based
159009                     on type
159010
159011              CLI Example:
159012
159013                 salt '*' saltutil.sync_sdb
159014                 salt '*' saltutil.sync_sdb saltenv=dev
159015                 salt '*' saltutil.sync_sdb saltenv=base,dev
159016
159017       salt.modules.saltutil.sync_serializers(saltenv=None,      refresh=True,
159018       extmod_whitelist=None, extmod_blacklist=None)
159019              New in version Fluorine.
159020
159021
159022              Sync serializers from salt://_serializers to the minion
159023
159024              saltenv
159025                     The  fileserver  environment  from which to sync. To sync
159026                     from more than one environment,  pass  a  comma-separated
159027                     list.
159028
159029                     If  not  passed,  then all environments configured in the
159030                     top files will be checked for serializer modules to sync.
159031                     If no top files are found, then the base environment will
159032                     be synced.
159033
159034              refresh
159035                     True If True, refresh the available execution modules  on
159036                     the  minion.   This  refresh will be performed even if no
159037                     new serializer modules are synced. Set to False  to  pre‐
159038                     vent this refresh.
159039
159040              extmod_whitelist
159041                     None comma-seperated list of modules to sync
159042
159043              extmod_blacklist
159044                     None  comma-seperated  list of modules to blacklist based
159045                     on type
159046
159047              CLI Examples:
159048
159049                 salt '*' saltutil.sync_serializers
159050                 salt '*' saltutil.sync_serializers saltenv=dev
159051                 salt '*' saltutil.sync_serializers saltenv=base,dev
159052
159053       salt.modules.saltutil.sync_states(saltenv=None,           refresh=True,
159054       extmod_whitelist=None, extmod_blacklist=None)
159055              New in version 0.10.0.
159056
159057
159058              Sync state modules from salt://_states to the minion
159059
159060              saltenv
159061                     The  fileserver  environment  from which to sync. To sync
159062                     from more than one environment,  pass  a  comma-separated
159063                     list.
159064
159065                     If  not  passed,  then all environments configured in the
159066                     top files will be checked for state modules to  sync.  If
159067                     no top files are found, then the base environment will be
159068                     synced.
159069
159070              refresh
159071                     True If True, refresh the available states on the minion.
159072                     This  refresh will be performed even if no new state mod‐
159073                     ules are synced. Set to False to prevent this refresh.
159074
159075              extmod_whitelist
159076                     None comma-seperated list of modules to sync
159077
159078              extmod_blacklist
159079                     None comma-seperated list of modules to  blacklist  based
159080                     on type
159081
159082              CLI Examples:
159083
159084                 salt '*' saltutil.sync_states
159085                 salt '*' saltutil.sync_states saltenv=dev
159086                 salt '*' saltutil.sync_states saltenv=base,dev
159087
159088       salt.modules.saltutil.sync_thorium(saltenv=None,         refresh=False,
159089       extmod_whitelist=None, extmod_blacklist=None)
159090              New in version 2018.3.0.
159091
159092
159093              Sync Thorium modules from salt://_thorium to the minion
159094
159095              saltenv
159096                     The fileserver environment from which to  sync.  To  sync
159097                     from  more  than  one environment, pass a comma-separated
159098                     list.
159099
159100                     If not passed, then all environments  configured  in  the
159101                     top  files will be checked for engines to sync. If no top
159102                     files are  found,  then  the  base  environment  will  be
159103                     synced.
159104
159105              refresh: True
159106                     If  True,  refresh the available execution modules on the
159107                     minion.  This refresh will be performed even  if  no  new
159108                     Thorium modules are synced.  Set to False to prevent this
159109                     refresh.
159110
159111              extmod_whitelist
159112                     comma-seperated list of modules to sync
159113
159114              extmod_blacklist
159115                     comma-seperated list of modules  to  blacklist  based  on
159116                     type
159117
159118              CLI Examples:
159119
159120                 salt '*' saltutil.sync_thorium
159121                 salt '*' saltutil.sync_thorium saltenv=base,dev
159122
159123       salt.modules.saltutil.sync_utils(saltenv=None,            refresh=True,
159124       extmod_whitelist=None, extmod_blacklist=None)
159125              New in version 2014.7.0.
159126
159127
159128              Sync utility modules from salt://_utils to the minion
159129
159130              saltenv
159131                     The fileserver environment from which to  sync.  To  sync
159132                     from  more  than  one environment, pass a comma-separated
159133                     list.
159134
159135                     If not passed, then all environments  configured  in  the
159136                     top files will be checked for utility modules to sync. If
159137                     no top files are found, then the base environment will be
159138                     synced.
159139
159140              refresh
159141                     True  If True, refresh the available execution modules on
159142                     the minion.  This refresh will be performed  even  if  no
159143                     new  utility  modules are synced. Set to False to prevent
159144                     this refresh.
159145
159146              extmod_whitelist
159147                     None comma-seperated list of modules to sync
159148
159149              extmod_blacklist
159150                     None comma-seperated list of modules to  blacklist  based
159151                     on type
159152
159153              CLI Examples:
159154
159155                 salt '*' saltutil.sync_utils
159156                 salt '*' saltutil.sync_utils saltenv=dev
159157                 salt '*' saltutil.sync_utils saltenv=base,dev
159158
159159       salt.modules.saltutil.term_all_jobs()
159160              Sends a termination signal (SIGTERM 15) to all currently running
159161              jobs
159162
159163              CLI Example:
159164
159165                 salt '*' saltutil.term_all_jobs
159166
159167       salt.modules.saltutil.term_job(jid)
159168              Sends a termination signal (SIGTERM 15) to the named salt  job's
159169              process
159170
159171              CLI Example:
159172
159173                 salt '*' saltutil.term_job <job id>
159174
159175       salt.modules.saltutil.update(version=None)
159176              Update    the    salt   minion   from   the   URL   defined   in
159177              opts['update_url'] SaltStack, Inc  provides  the  latest  builds
159178              here: update_url: https://repo.saltstack.com/windows/
159179
159180              Be  aware  that  as of 2014-8-11 there's a bug in esky such that
159181              only the latest version available in the update_url can be down‐
159182              loaded and installed.
159183
159184              This  feature  requires  the  minion  to be running a bdist_esky
159185              build.
159186
159187              The version number is optional and  will  default  to  the  most
159188              recent version available at opts['update_url'].
159189
159190              Returns details about the transaction upon completion.
159191
159192              CLI Examples:
159193
159194                 salt '*' saltutil.update
159195                 salt '*' saltutil.update 0.10.3
159196
159197       salt.modules.saltutil.wheel(name, *args, **kwargs)
159198              Execute  a  wheel module and function. This function must be run
159199              against a minion that is local to the master.
159200
159201              New in version 2014.7.0.
159202
159203
159204              name   The name of the function to run
159205
159206              args   Any positional arguments to pass to the wheel function. A
159207                     common  example of this would be the match arg needed for
159208                     key functions.
159209
159210                     New in version v2015.8.11.
159211
159212
159213              kwargs Any keyword arguments to pass to the wheel function
159214
159215              CLI Example:
159216
159217                 salt my-local-minion saltutil.wheel key.accept jerry
159218                 salt my-local-minion saltutil.wheel minions.connected
159219
159220              NOTE:
159221                 Since this function must be run against a minion that is run‐
159222                 ning  locally on the master in order to get accurate returns,
159223                 if this function is run against minions that are not local to
159224                 the  master,  "empty" returns are expected. The remote minion
159225                 does not have access to  wheel  functions  and  their  return
159226                 data.
159227
159228   salt.modules.schedule
159229       Module for managing the Salt schedule on a minion
159230
159231       New in version 2014.7.0.
159232
159233
159234       salt.modules.schedule.add(name, **kwargs)
159235              Add a job to the schedule
159236
159237              CLI Example:
159238
159239                 salt '*' schedule.add job1 function='test.ping' seconds=3600
159240                 # If function have some arguments, use job_args
159241                 salt '*' schedule.add job2 function='cmd.run' job_args="['date >> /tmp/date.log']" seconds=60
159242
159243       salt.modules.schedule.build_schedule_item(name, **kwargs)
159244              Build a schedule job
159245
159246              CLI Example:
159247
159248                 salt '*' schedule.build_schedule_item job1 function='test.ping' seconds=3600
159249
159250       salt.modules.schedule.copy(name, target, **kwargs)
159251              Copy scheduled job to another minion or minions.
159252
159253              CLI Example:
159254
159255                 salt '*' schedule.copy jobname target
159256
159257       salt.modules.schedule.delete(name, **kwargs)
159258              Delete a job from the minion's schedule
159259
159260              CLI Example:
159261
159262                 salt '*' schedule.delete job1
159263
159264       salt.modules.schedule.disable(**kwargs)
159265              Disable all scheduled jobs on the minion
159266
159267              CLI Example:
159268
159269                 salt '*' schedule.disable
159270
159271       salt.modules.schedule.disable_job(name, **kwargs)
159272              Disable a job in the minion's schedule
159273
159274              CLI Example:
159275
159276                 salt '*' schedule.disable_job job1
159277
159278       salt.modules.schedule.enable(**kwargs)
159279              Enable all scheduled jobs on the minion
159280
159281              CLI Example:
159282
159283                 salt '*' schedule.enable
159284
159285       salt.modules.schedule.enable_job(name, **kwargs)
159286              Enable a job in the minion's schedule
159287
159288              CLI Example:
159289
159290                 salt '*' schedule.enable_job job1
159291
159292       salt.modules.schedule.is_enabled(name)
159293              List a Job only if its enabled
159294
159295              New in version 2015.5.3.
159296
159297
159298              CLI Example:
159299
159300                 salt '*' schedule.is_enabled name=job_name
159301
159302       salt.modules.schedule.list_(show_all=False,         show_disabled=True,
159303       where=None, return_yaml=True)
159304              List the jobs currently scheduled on the minion
159305
159306              CLI Example:
159307
159308                 salt '*' schedule.list
159309
159310                 # Show all jobs including hidden internal jobs
159311                 salt '*' schedule.list show_all=True
159312
159313                 # Hide disabled jobs from list of jobs
159314                 salt '*' schedule.list show_disabled=False
159315
159316       salt.modules.schedule.modify(name, **kwargs)
159317              Modify an existing job in the schedule
159318
159319              CLI Example:
159320
159321                 salt '*' schedule.modify job1 function='test.ping' seconds=3600
159322
159323       salt.modules.schedule.move(name, target, **kwargs)
159324              Move scheduled job to another minion or minions.
159325
159326              CLI Example:
159327
159328                 salt '*' schedule.move jobname target
159329
159330       salt.modules.schedule.postpone_job(name,    current_time,     new_time,
159331       **kwargs)
159332              Postpone a job in the minion's schedule
159333
159334              Current  time  and  new  time  should  be in date string format,
159335              default value is %Y-%m-%dT%H:%M:%S.
159336
159337              New in version 2018.3.0.
159338
159339
159340              CLI Example:
159341
159342                 salt '*' schedule.postpone_job job current_time new_time
159343
159344                 salt '*' schedule.postpone_job job current_time new_time time_fmt='%Y-%m-%dT%H:%M:%S'
159345
159346       salt.modules.schedule.purge(**kwargs)
159347              Purge all the jobs currently scheduled on the minion
159348
159349              CLI Example:
159350
159351                 salt '*' schedule.purge
159352
159353       salt.modules.schedule.reload_()
159354              Reload saved scheduled jobs on the minion
159355
159356              CLI Example:
159357
159358                 salt '*' schedule.reload
159359
159360       salt.modules.schedule.run_job(name, force=False)
159361              Run a scheduled job on the minion immediately
159362
159363              CLI Example:
159364
159365                 salt '*' schedule.run_job job1
159366
159367                 salt '*' schedule.run_job job1 force=True
159368                 Force the job to run even if it is disabled.
159369
159370       salt.modules.schedule.save(**kwargs)
159371              Save all scheduled jobs on the minion
159372
159373              CLI Example:
159374
159375                 salt '*' schedule.save
159376
159377       salt.modules.schedule.show_next_fire_time(name, **kwargs)
159378              Show the next fire time for scheduled job
159379
159380              New in version 2018.3.0.
159381
159382
159383              CLI Example:
159384
159385                 salt '*' schedule.show_next_fire_time job_name
159386
159387       salt.modules.schedule.skip_job(name, current_time, **kwargs)
159388              Skip a job in the minion's schedule at specified time.
159389
159390              Time to skip should be specified as date string format,  default
159391              value is %Y-%m-%dT%H:%M:%S.
159392
159393              New in version 2018.3.0.
159394
159395
159396              CLI Example:
159397
159398                 salt '*' schedule.skip_job job time
159399
159400   salt.modules.scp module
159401   SCP Module
159402       New in version Fluorine.
159403
159404
159405       Module to copy files via SCP
159406
159407       salt.modules.scp_mod.get(remote_path,  local_path=u'', recursive=False,
159408       preserve_times=False, **kwargs)
159409              Transfer files and directories from remote host to the localhost
159410              of the Minion.
159411
159412              remote_path
159413                     Path  to  retrieve from remote host. Since this is evalu‐
159414                     ated by scp on the remote host, shell wildcards and envi‐
159415                     ronment variables may be used.
159416
159417              recursive: False
159418                     Transfer files and directories recursively.
159419
159420              preserve_times: False
159421                     Preserve  mtime and atime of transferred files and direc‐
159422                     tories.
159423
159424              hostname
159425                     The hostname of the remote device.
159426
159427              port: 22
159428                     The port of the remote device.
159429
159430              username
159431                     The username  required  for  SSH  authentication  on  the
159432                     device.
159433
159434              password
159435                     Used  for  password  authentication.  It is also used for
159436                     private key decryption if passphrase is not given.
159437
159438              passphrase
159439                     Used for decrypting private keys.
159440
159441              pkey   An optional private key to use for authentication.
159442
159443              key_filename
159444                     The filename, or list of filenames, of  optional  private
159445                     key(s) and/or certificates to try for authentication.
159446
159447              timeout
159448                     An optional timeout (in seconds) for the TCP connect.
159449
159450              socket_timeout: 10
159451                     The channel socket timeout in seconds.
159452
159453              buff_size: 16384
159454                     The size of the SCP send buffer.
159455
159456              allow_agent: True
159457                     Set to False to disable connecting to the SSH agent.
159458
159459              look_for_keys: True
159460                     Set  to  False to disable searching for discoverable pri‐
159461                     vate key files in ~/.ssh/
159462
159463              banner_timeout
159464                     An optional timeout (in seconds) to wait for the SSH ban‐
159465                     ner to be presented.
159466
159467              auth_timeout
159468                     An optional timeout (in seconds) to wait for an authenti‐
159469                     cation response.
159470
159471              auto_add_policy: False
159472                     Automatically add the host to the known_hosts.
159473
159474              CLI Example:
159475
159476                 salt '*' scp.get /var/tmp/file /tmp/file hostname=10.10.10.1 auto_add_policy=True
159477
159478       salt.modules.scp_mod.put(files, remote_path=None, recursive=False, pre‐
159479       serve_times=False, saltenv=u'base', **kwargs)
159480              Transfer files and directories to remote host.
159481
159482              files  A single path or a list of paths to be transferred.
159483
159484              remote_path
159485                     The path on the remote device where to store the files.
159486
159487              recursive: True
159488                     Transfer files and directories recursively.
159489
159490              preserve_times: False
159491                     Preserve  mtime and atime of transferred files and direc‐
159492                     tories.
159493
159494              hostname
159495                     The hostname of the remote device.
159496
159497              port: 22
159498                     The port of the remote device.
159499
159500              username
159501                     The username  required  for  SSH  authentication  on  the
159502                     device.
159503
159504              password
159505                     Used  for  password  authentication.  It is also used for
159506                     private key decryption if passphrase is not given.
159507
159508              passphrase
159509                     Used for decrypting private keys.
159510
159511              pkey   An optional private key to use for authentication.
159512
159513              key_filename
159514                     The filename, or list of filenames, of  optional  private
159515                     key(s) and/or certificates to try for authentication.
159516
159517              timeout
159518                     An optional timeout (in seconds) for the TCP connect.
159519
159520              socket_timeout: 10
159521                     The channel socket timeout in seconds.
159522
159523              buff_size: 16384
159524                     The size of the SCP send buffer.
159525
159526              allow_agent: True
159527                     Set to False to disable connecting to the SSH agent.
159528
159529              look_for_keys: True
159530                     Set  to  False to disable searching for discoverable pri‐
159531                     vate key files in ~/.ssh/
159532
159533              banner_timeout
159534                     An optional timeout (in seconds) to wait for the SSH ban‐
159535                     ner to be presented.
159536
159537              auth_timeout
159538                     An optional timeout (in seconds) to wait for an authenti‐
159539                     cation response.
159540
159541              auto_add_policy: False
159542                     Automatically add the host to the known_hosts.
159543
159544              CLI Example:
159545
159546                 salt '*' scp.put /path/to/file /var/tmp/file hostname=server1 auto_add_policy=True
159547
159548   salt.modules.scsi
159549       SCSI administration module
159550
159551       salt.modules.scsi.ls_(get_size=True)
159552              List SCSI devices, with details
159553
159554              CLI Examples:
159555
159556                 salt '*' scsi.ls
159557                 salt '*' scsi.ls get_size=False
159558
159559              get_size
159560                     True Get the size information  for  scsi  devices.   This
159561                     option  should be set to False for older OS distributions
159562                     (RHEL6 and older) due to lack of  support  for  the  '-s'
159563                     option in lsscsi.
159564
159565                     New in version 2015.5.10.
159566
159567
159568       salt.modules.scsi.rescan_all(host)
159569              List scsi devices
159570
159571              CLI Example:
159572
159573                 salt '*' scsi.rescan_all 0
159574
159575   salt.modules.sdb
159576   Module for Manipulating Data via the Salt DB API
159577       salt.modules.sdb.delete(uri)
159578              Delete a value from a db, using a uri in the form of sdb://<pro‐
159579              file>/<key>.  If the uri provided does not start with sdb://  or
159580              the value is not successfully deleted, return False.
159581
159582              CLI Example:
159583
159584                 salt '*' sdb.delete sdb://mymemcached/foo
159585
159586       salt.modules.sdb.get(uri)
159587              Get  a  value  from a db, using a uri in the form of sdb://<pro‐
159588              file>/<key>. If the uri provided does  not  start  with  sdb://,
159589              then it will be returned as-is.
159590
159591              CLI Example:
159592
159593                 salt '*' sdb.get sdb://mymemcached/foo
159594
159595       salt.modules.sdb.get_or_set_hash(uri,    length=8,   chars=u'abcdefghi‐
159596       jklmnopqrstuvwxyz0123456789!@#$%^&*(-_=+)')
159597              Perform a one-time generation of a hash and write it to sdb.  If
159598              that value has already been set return the value instead.
159599
159600              This  is  useful  for generating passwords or keys that are spe‐
159601              cific to multiple minions that need to be stored somewhere  cen‐
159602              trally.
159603
159604              State Example:
159605
159606                 some_mysql_user:
159607                   mysql_user:
159608                     - present
159609                     - host: localhost
159610                     - password: '{{ salt['sdb.get_or_set_hash']('some_mysql_user_pass') }}'
159611
159612              CLI Example:
159613
159614                 salt '*' sdb.get_or_set_hash 'SECRET_KEY' 50
159615
159616              WARNING:
159617                 This  function could return strings which may contain charac‐
159618                 ters which are reserved as directives  by  the  YAML  parser,
159619                 such  as strings beginning with %. To avoid issues when using
159620                 the output  of  this  function  in  an  SLS  file  containing
159621                 YAML+Jinja, surround the call with single quotes.
159622
159623       salt.modules.sdb.set_(uri, value)
159624              Set  a  value  in  a  db, using a uri in the form of sdb://<pro‐
159625              file>/<key>.  If the uri provided does not start with sdb://  or
159626              the value is not successfully set, return False.
159627
159628              CLI Example:
159629
159630                 salt '*' sdb.set sdb://mymemcached/foo bar
159631
159632   salt.modules.seed
159633       Virtual machine image management tools
159634
159635       salt.modules.seed.apply_(path, id_=None, config=None, approve_key=True,
159636       install=True,    prep_install=False,    pub_key=None,    priv_key=None,
159637       mount_point=None)
159638              Seed  a  location  (disk image, directory, or block device) with
159639              the minion config, approve  the  minion's  key,  and/or  install
159640              salt-minion.
159641
159642              CLI Example:
159643
159644                 salt 'minion' seed.apply path id [config=config_data] \
159645                         [gen_key=(true|false)] [approve_key=(true|false)] \
159646                         [install=(true|false)]
159647
159648              path   Full path to the directory, device, or disk image  on the
159649                     target minion's file system.
159650
159651              id     Minion id with which to seed the path.
159652
159653              config Minion configuration options. By  default,  the  'master'
159654                     option is set to the target host's 'master'.
159655
159656              approve_key
159657                     Request  a  pre-approval  of  the  generated  minion key.
159658                     Requires that the salt-master  be  configured  to  either
159659                     auto-accept all keys or expect a signing request from the
159660                     target host. Default: true.
159661
159662              install
159663                     Install salt-minion, if absent. Default: true.
159664
159665              prep_install
159666                     Prepare the bootstrap script, but don't run it.  Default:
159667                     false
159668
159669       salt.modules.seed.mkconfig(config=None,       tmp=None,       id_=None,
159670       approve_key=True, pub_key=None, priv_key=None)
159671              Generate keys and config and put them in a tmp directory.
159672
159673              pub_key
159674                     absolute path or file content of  an  optional  preseeded
159675                     salt key
159676
159677              priv_key
159678                     absolute  path  or  file content of an optional preseeded
159679                     salt key
159680
159681              CLI Example:
159682
159683                 salt 'minion' seed.mkconfig [config=config_data] [tmp=tmp_dir] \
159684                         [id_=minion_id] [approve_key=(true|false)]
159685
159686       salt.modules.seed.prep_bootstrap(mpt)
159687              Update and get the random script to a random place
159688
159689              CLI Example:
159690
159691                 salt '*' seed.prep_bootstrap /tmp
159692
159693   salt.modules.selinux
159694       Execute calls on selinux
159695
159696       NOTE:
159697          This module requires the semanage, setsebool, and semodule  commands
159698          to  be  available on the minion. On RHEL-based distributions, ensure
159699          that the policycoreutils  and  policycoreutils-python  packages  are
159700          installed.  If  not  on a Fedora or RHEL-based distribution, consult
159701          the selinux documentation for your distribution to ensure  that  the
159702          proper packages are installed.
159703
159704       salt.modules.selinux.fcontext_add_or_delete_policy(action,  name, file‐
159705       type=None, sel_type=None, sel_user=None, sel_level=None)
159706              New in version 2017.7.0.
159707
159708
159709              Adds or deletes the SELinux policy  for  a  given  filespec  and
159710              other optional parameters.
159711
159712              Returns the result of the call to semanage.
159713
159714              Note that you don't have to remove an entry before setting a new
159715              one for a given filespec and filetype, as adding one with seman‐
159716              age  automatically  overwrites  a  previously configured SELinux
159717              context.
159718
159719              WARNING:
159720                 Use             selinux.fcontext_add_policy(),             or
159721                 selinux.fcontext_delete_policy().
159722
159723              Deprecated since version Fluorine.
159724
159725
159726              action The action to perform. Either add or delete.
159727
159728              name   filespec  of  the  file  or  directory.  Regex  syntax is
159729                     allowed.
159730
159731              file_type
159732                     The SELinux filetype specification. Use one of [a, f,  d,
159733                     c,  b, s, l, p]. See also man semanage-fcontext. Defaults
159734                     to 'a' (all files).
159735
159736              sel_type
159737                     SELinux context type. There are many.
159738
159739              sel_user
159740                     SELinux user. Use semanage login -l  to  determine  which
159741                     ones are available to you.
159742
159743              sel_level
159744                     The MLS range of the SELinux context.
159745
159746              CLI Example:
159747
159748                 salt '*' selinux.fcontext_add_or_delete_policy add my-policy
159749
159750       salt.modules.selinux.fcontext_add_policy(name,           filetype=None,
159751       sel_type=None, sel_user=None, sel_level=None)
159752              New in version Fluorine.
159753
159754
159755              Adds the SELinux policy for a given filespec and other  optional
159756              parameters.
159757
159758              Returns the result of the call to semanage.
159759
159760              Note that you don't have to remove an entry before setting a new
159761              one for a given filespec and filetype, as adding one with seman‐
159762              age  automatically  overwrites  a  previously configured SELinux
159763              context.
159764
159765              name   filespec of  the  file  or  directory.  Regex  syntax  is
159766                     allowed.
159767
159768              file_type
159769                     The  SELinux filetype specification. Use one of [a, f, d,
159770                     c, b, s, l, p]. See also man semanage-fcontext.  Defaults
159771                     to 'a' (all files).
159772
159773              sel_type
159774                     SELinux context type. There are many.
159775
159776              sel_user
159777                     SELinux  user.  Use  semanage login -l to determine which
159778                     ones are available to you.
159779
159780              sel_level
159781                     The MLS range of the SELinux context.
159782
159783              CLI Example:
159784
159785                 salt '*' selinux.fcontext_add_policy my-policy
159786
159787       salt.modules.selinux.fcontext_apply_policy(name, recursive=False)
159788              New in version 2017.7.0.
159789
159790
159791              Applies SElinux policies to filespec using restorecon [-R] file‐
159792              spec. Returns dict with changes if successful, the output of the
159793              restorecon command otherwise.
159794
159795              name   filespec of  the  file  or  directory.  Regex  syntax  is
159796                     allowed.
159797
159798              recursive
159799                     Recursively apply SELinux policies.
159800
159801              CLI Example:
159802
159803                 salt '*' selinux.fcontext_apply_policy my-policy
159804
159805       salt.modules.selinux.fcontext_delete_policy(name,        filetype=None,
159806       sel_type=None, sel_user=None, sel_level=None)
159807              New in version Fluorine.
159808
159809
159810              Deletes the SELinux  policy  for  a  given  filespec  and  other
159811              optional parameters.
159812
159813              Returns the result of the call to semanage.
159814
159815              Note that you don't have to remove an entry before setting a new
159816              one for a given filespec and filetype, as adding one with seman‐
159817              age  automatically  overwrites  a  previously configured SELinux
159818              context.
159819
159820              name   filespec of  the  file  or  directory.  Regex  syntax  is
159821                     allowed.
159822
159823              file_type
159824                     The  SELinux filetype specification. Use one of [a, f, d,
159825                     c, b, s, l, p]. See also man semanage-fcontext.  Defaults
159826                     to 'a' (all files).
159827
159828              sel_type
159829                     SELinux context type. There are many.
159830
159831              sel_user
159832                     SELinux  user.  Use  semanage login -l to determine which
159833                     ones are available to you.
159834
159835              sel_level
159836                     The MLS range of the SELinux context.
159837
159838              CLI Example:
159839
159840                 salt '*' selinux.fcontext_delete_policy my-policy
159841
159842       salt.modules.selinux.fcontext_get_policy(name,           filetype=None,
159843       sel_type=None, sel_user=None, sel_level=None)
159844              New in version 2017.7.0.
159845
159846
159847              Returns  the  current entry in the SELinux policy list as a dic‐
159848              tionary. Returns None if no exact match was found.
159849
159850              Returned keys are:
159851
159852              · filespec (the name supplied and matched)
159853
159854              · filetype (the descriptive name of the filetype supplied)
159855
159856              · sel_user, sel_role, sel_type, sel_level (the selinux context)
159857
159858              For a more in-depth explanation of the selinux  context,  go  to
159859              https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Security-Enhanced_Linux/chap-Security-Enhanced_Linux-SELinux_Contexts.html
159860
159861              name   filespec of  the  file  or  directory.  Regex  syntax  is
159862                     allowed.
159863
159864              filetype
159865                     The  SELinux filetype specification. Use one of [a, f, d,
159866                     c, b, s, l, p]. See also man semanage-fcontext.  Defaults
159867                     to 'a' (all files).
159868
159869              CLI Example:
159870
159871                 salt '*' selinux.fcontext_get_policy my-policy
159872
159873       salt.modules.selinux.fcontext_policy_is_applied(name, recursive=False)
159874              New in version 2017.7.0.
159875
159876
159877              Returns  an empty string if the SELinux policy for a given file‐
159878              spec is applied, returns string with differences in  policy  and
159879              actual situation otherwise.
159880
159881              name   filespec  of  the  file  or  directory.  Regex  syntax is
159882                     allowed.
159883
159884              CLI Example:
159885
159886                 salt '*' selinux.fcontext_policy_is_applied my-policy
159887
159888       salt.modules.selinux.filetype_id_to_string(filetype=u'a')
159889              New in version 2017.7.0.
159890
159891
159892              Translates SELinux filetype single-letter  representation  to  a
159893              more  human-readable  version  (which  is  also used in semanage
159894              fcontext -l).
159895
159896       salt.modules.selinux.getconfig()
159897              Return the selinux mode from the config file
159898
159899              CLI Example:
159900
159901                 salt '*' selinux.getconfig
159902
159903       salt.modules.selinux.getenforce()
159904              Return the mode selinux is running in
159905
159906              CLI Example:
159907
159908                 salt '*' selinux.getenforce
159909
159910       salt.modules.selinux.getsebool(boolean)
159911              Return the information on a specific selinux boolean
159912
159913              CLI Example:
159914
159915                 salt '*' selinux.getsebool virt_use_usb
159916
159917       salt.modules.selinux.getsemod(module)
159918              Return the information on a specific selinux module
159919
159920              CLI Example:
159921
159922                 salt '*' selinux.getsemod mysql
159923
159924              New in version 2016.3.0.
159925
159926
159927       salt.modules.selinux.install_semod(module_path)
159928              Install custom SELinux module from file
159929
159930              CLI Example:
159931
159932                 salt '*' selinux.install_semod [salt://]path/to/module.pp
159933
159934              New in version 2016.11.6.
159935
159936
159937       salt.modules.selinux.list_sebool()
159938              Return a structure listing all of the selinux  booleans  on  the
159939              system and what state they are in
159940
159941              CLI Example:
159942
159943                 salt '*' selinux.list_sebool
159944
159945       salt.modules.selinux.list_semod()
159946              Return  a  structure  listing  all of the selinux modules on the
159947              system and what state they are in
159948
159949              CLI Example:
159950
159951                 salt '*' selinux.list_semod
159952
159953              New in version 2016.3.0.
159954
159955
159956       salt.modules.selinux.port_add_policy(name,    sel_type=None,     proto‐
159957       col=None, port=None, sel_range=None)
159958              New in version Fluorine.
159959
159960
159961              Adds the SELinux policy for a given protocol and port.
159962
159963              Returns the result of the call to semanage.
159964
159965              name   The   protocol   and  port  spec.  Can  be  formatted  as
159966                     (tcp|udp)/(port|port-range).
159967
159968              sel_type
159969                     The SELinux Type. Required.
159970
159971              protocol
159972                     The protocol for the port, tcp or udp. Required  if  name
159973                     is not formatted.
159974
159975              port   The  port  or port range. Required if name is not format‐
159976                     ted.
159977
159978              sel_range
159979                     The SELinux MLS/MCS Security Range.
159980
159981              CLI Example:
159982
159983                 salt '*' selinux.port_add_policy add tcp/8080 http_port_t
159984                 salt '*' selinux.port_add_policy add foobar http_port_t protocol=tcp port=8091
159985
159986       salt.modules.selinux.port_delete_policy(name, protocol=None, port=None)
159987              New in version Fluorine.
159988
159989
159990              Deletes the SELinux policy for a given protocol and port.
159991
159992              Returns the result of the call to semanage.
159993
159994              name   The  protocol  and  port  spec.  Can  be   formatted   as
159995                     (tcp|udp)/(port|port-range).
159996
159997              protocol
159998                     The  protocol  for the port, tcp or udp. Required if name
159999                     is not formatted.
160000
160001              port   The port or port range. Required if name is  not  format‐
160002                     ted.
160003
160004              CLI Example:
160005
160006                 salt '*' selinux.port_delete_policy tcp/8080
160007                 salt '*' selinux.port_delete_policy foobar protocol=tcp port=8091
160008
160009       salt.modules.selinux.port_get_policy(name,     sel_type=None,    proto‐
160010       col=None, port=None)
160011              New in version Fluorine.
160012
160013
160014              Returns the current entry in the SELinux policy list as  a  dic‐
160015              tionary. Returns None if no exact match was found.
160016
160017              Returned keys are:
160018
160019              · sel_type (the selinux type)
160020
160021              · proto (the protocol)
160022
160023              · port (the port(s) and/or port range(s))
160024
160025              name   The   protocol   and  port  spec.  Can  be  formatted  as
160026                     (tcp|udp)/(port|port-range).
160027
160028              sel_type
160029                     The SELinux Type.
160030
160031              protocol
160032                     The protocol for the port, tcp or udp. Required  if  name
160033                     is not formatted.
160034
160035              port   The  port  or port range. Required if name is not format‐
160036                     ted.
160037
160038              CLI Example:
160039
160040                 salt '*' selinux.port_get_policy tcp/80
160041                 salt '*' selinux.port_get_policy foobar protocol=tcp port=80
160042
160043       salt.modules.selinux.remove_semod(module)
160044              Remove SELinux module
160045
160046              CLI Example:
160047
160048                 salt '*' selinux.remove_semod module_name
160049
160050              New in version 2016.11.6.
160051
160052
160053       salt.modules.selinux.selinux_fs_path(*args, **kwargs)
160054              Return the location of the SELinux VFS directory
160055
160056              CLI Example:
160057
160058                 salt '*' selinux.selinux_fs_path
160059
160060       salt.modules.selinux.setenforce(mode)
160061              Set the SELinux enforcing mode
160062
160063              CLI Example:
160064
160065                 salt '*' selinux.setenforce enforcing
160066
160067       salt.modules.selinux.setsebool(boolean, value, persist=False)
160068              Set the value for a boolean
160069
160070              CLI Example:
160071
160072                 salt '*' selinux.setsebool virt_use_usb off
160073
160074       salt.modules.selinux.setsebools(pairs, persist=False)
160075              Set the value of multiple booleans
160076
160077              CLI Example:
160078
160079                 salt '*' selinux.setsebools '{virt_use_usb: on, squid_use_tproxy: off}'
160080
160081       salt.modules.selinux.setsemod(module, state)
160082              Enable or disable an SELinux module.
160083
160084              CLI Example:
160085
160086                 salt '*' selinux.setsemod nagios Enabled
160087
160088              New in version 2016.3.0.
160089
160090
160091   salt.modules.sensehat
160092       Module for controlling the LED matrix or reading  environment  data  on
160093       the SenseHat of a Raspberry Pi.
160094
160095       New in version 2017.7.0.
160096
160097
160098       maintainer
160099              Benedikt  Werner  <1benediktwerner@gmail.com>, Joachim Werner <‐
160100              joe@suse.com>
160101
160102       maturity
160103              new
160104
160105       depends
160106              sense_hat Python module
160107
160108       The rotation of the Pi can be specified in a pillar.  This is useful if
160109       the  Pi  is  used upside down or sideways to correct the orientation of
160110       the image being shown.
160111
160112       Example:
160113
160114          sensehat:
160115              rotation: 90
160116
160117       salt.modules.sensehat.clear(color=None)
160118              Sets the LED matrix to a single color or turns all LEDs off.
160119
160120              CLI Example:
160121
160122                 salt 'raspberry' sensehat.clear
160123                 salt 'raspberry' sensehat.clear '[255, 0, 0]'
160124
160125       salt.modules.sensehat.get_humidity()
160126              Get the percentage of relative humidity from the  humidity  sen‐
160127              sor.
160128
160129       salt.modules.sensehat.get_pixel(x, y)
160130              Returns the color of a single pixel on the LED matrix.
160131
160132              x      The  x coordinate of the pixel. Ranges from 0 on the left
160133                     to 7 on the right.
160134
160135              y      The y coordinate of the pixel. Ranges from 0 at  the  top
160136                     to 7 at the bottom.
160137
160138              NOTE:
160139                 Please read the note for get_pixels
160140
160141       salt.modules.sensehat.get_pixels()
160142              Returns  a  list  of 64 smaller lists of [R, G, B] pixels repre‐
160143              senting the the currently displayed image on the LED matrix.
160144
160145              NOTE:
160146                 When using set_pixels the pixel values can  sometimes  change
160147                 when you read them again using get_pixels. This is because we
160148                 specify each pixel element as 8 bit numbers (0  to  255)  but
160149                 when  they're  passed into the Linux frame buffer for the LED
160150                 matrix the numbers are bit shifted down to fit into RGB  565.
160151                 5  bits  for  red, 6 bits for green and 5 bits for blue.  The
160152                 loss of binary precision when performing this  conversion  (3
160153                 bits  lost  for red, 2 for green and 3 for blue) accounts for
160154                 the discrepancies you see.
160155
160156                 The get_pixels method provides an accurate representation  of
160157                 how  the  pixels end up in frame buffer memory after you have
160158                 called set_pixels.
160159
160160       salt.modules.sensehat.get_pressure()
160161              Gets the current pressure in Millibars from the pressure sensor.
160162
160163       salt.modules.sensehat.get_temperature()
160164              Gets the temperature in degrees Celsius from the  humidity  sen‐
160165              sor.  Equivalent to calling get_temperature_from_humidity.
160166
160167              If  you get strange results try using get_temperature_from_pres‐
160168              sure.
160169
160170       salt.modules.sensehat.get_temperature_from_humidity()
160171              Gets the temperature in degrees Celsius from the  humidity  sen‐
160172              sor.
160173
160174       salt.modules.sensehat.get_temperature_from_pressure()
160175              Gets  the  temperature in degrees Celsius from the pressure sen‐
160176              sor.
160177
160178       salt.modules.sensehat.low_light(low_light=True)
160179              Sets the LED matrix to low light mode. Useful in a dark environ‐
160180              ment.
160181
160182              CLI Example:
160183
160184                 salt 'raspberry' sensehat.low_light
160185                 salt 'raspberry' sensehat.low_light False
160186
160187       salt.modules.sensehat.set_pixel(x, y, color)
160188              Sets a single pixel on the LED matrix to a specified color.
160189
160190              x      The  x coordinate of the pixel. Ranges from 0 on the left
160191                     to 7 on the right.
160192
160193              y      The y coordinate of the pixel. Ranges from 0 at  the  top
160194                     to 7 at the bottom.
160195
160196              color  The new color of the pixel as a list of [R, G, B] values.
160197
160198              CLI Example:
160199
160200                 salt 'raspberry' sensehat.set_pixel 0 0 '[255, 0, 0]'
160201
160202       salt.modules.sensehat.set_pixels(pixels)
160203              Sets the entire LED matrix based on a list of 64 pixel values
160204
160205              pixels A list of 64 [R, G, B] color values.
160206
160207       salt.modules.sensehat.show_image(image)
160208              Displays an 8 x 8 image on the LED matrix.
160209
160210              image  The path to the image to display. The image must be 8 x 8
160211                     pixels in size.
160212
160213              CLI Example:
160214
160215                 salt 'raspberry' sensehat.show_image /tmp/my_image.png
160216
160217       salt.modules.sensehat.show_letter(letter,              text_color=None,
160218       back_color=None)
160219              Displays a single letter on the LED matrix.
160220
160221              letter The letter to display
160222
160223              text_color
160224                     The  color  in  which  the  letter  is shown. Defaults to
160225                     '[255, 255, 255]' (white).
160226
160227              back_color
160228                     The background color of the display. Defaults to '[0,  0,
160229                     0]' (black).
160230
160231              CLI Example:
160232
160233                 salt 'raspberry' sensehat.show_letter O
160234                 salt 'raspberry' sensehat.show_letter X '[255, 0, 0]'
160235                 salt 'raspberry' sensehat.show_letter B '[0, 0, 255]' '[255, 255, 0]'
160236
160237       salt.modules.sensehat.show_message(message,              msg_type=None,
160238       text_color=None, back_color=None, scroll_speed=0.1)
160239              Displays a message on the LED matrix.
160240
160241              message
160242                     The message to display
160243
160244              msg_type
160245                     The type of the message. Changes the  appearance  of  the
160246                     message.
160247
160248                     Available types are:
160249
160250                        error:      red text
160251                        warning:    orange text
160252                        success:    green text
160253                        info:       blue text
160254
160255              scroll_speed
160256                     The speed at which the message moves over the LED matrix.
160257                     This value represents the time paused for between  shift‐
160258                     ing  the  text  to  the  left  by  one  column of pixels.
160259                     Defaults to '0.1'.
160260
160261              text_color
160262                     The color in which the  message  is  shown.  Defaults  to
160263                     '[255, 255, 255]' (white).
160264
160265              back_color
160266                     The  background color of the display. Defaults to '[0, 0,
160267                     0]' (black).
160268
160269              CLI Example:
160270
160271                 salt 'raspberry' sensehat.show_message 'Status ok'
160272                 salt 'raspberry' sensehat.show_message 'Something went wrong' error
160273                 salt 'raspberry' sensehat.show_message 'Red' text_color='[255, 0, 0]'
160274                 salt 'raspberry' sensehat.show_message 'Hello world' None '[0, 0, 255]' '[255, 255, 0]' 0.2
160275
160276   salt.modules.sensors
160277       Read lm-sensors
160278
160279       New in version 2014.1.3.
160280
160281
160282       salt.modules.sensors.sense(chip, fahrenheit=False)
160283              Gather lm-sensors data from a given chip
160284
160285              To determine the chip to query, use the  'sensors'  command  and
160286              see the leading line in the block.
160287
160288              Example:
160289
160290              /usr/bin/sensors
160291
160292              coretemp-isa-0000  Adapter:  ISA adapter Physical id 0:  +56.0°C
160293              (high = +87.0°C, crit = +105.0°C) Core 0:         +52.0°C  (high
160294              =  +87.0°C,  crit  =  +105.0°C) Core 1:         +50.0°C  (high =
160295              +87.0°C, crit =  +105.0°C)  Core  2:          +56.0°C   (high  =
160296              +87.0°C,  crit  =  +105.0°C)  Core  3:          +53.0°C  (high =
160297              +87.0°C, crit = +105.0°C)
160298
160299              Given the above, the chip is 'coretemp-isa-0000'.
160300
160301   salt.modules.serverdensity_device
160302   Wrapper around Server Density API
160303       New in version 2014.7.0.
160304
160305
160306       salt.modules.serverdensity_device.create(name, **params)
160307              Function to create device in Server Density. For more info,  see
160308              the API docs.
160309
160310              CLI Example:
160311
160312                 salt '*' serverdensity_device.create lama
160313                 salt '*' serverdensity_device.create rich_lama group=lama_band installedRAM=32768
160314
160315       salt.modules.serverdensity_device.delete(device_id)
160316              Delete  a  device from Server Density. For more information, see
160317              the API docs.
160318
160319              CLI Example:
160320
160321                 salt '*' serverdensity_device.delete 51f7eafcdba4bb235e000ae4
160322
160323       salt.modules.serverdensity_device.get_sd_auth(val,         sd_auth_pil‐
160324       lar_name=u'serverdensity')
160325              Returns  requested Server Density authentication value from pil‐
160326              lar.
160327
160328              CLI Example:
160329
160330                 salt '*' serverdensity_device.get_sd_auth <val>
160331
160332       salt.modules.serverdensity_device.install_agent(agent_key,   agent_ver‐
160333       sion=1)
160334              Function   downloads  Server  Density  installation  agent,  and
160335              installs sd-agent with agent_key. Optionally  the  agent_version
160336              would select the series to use (defaults on the v1 one).
160337
160338              CLI Example:
160339
160340                 salt '*' serverdensity_device.install_agent c2bbdd6689ff46282bdaa07555641498
160341                 salt '*' serverdensity_device.install_agent c2bbdd6689ff46282bdaa07555641498 2
160342
160343       salt.modules.serverdensity_device.ls(**params)
160344              List devices in Server Density
160345
160346              Results  will be filtered by any params passed to this function.
160347              For more information, see the API docs on listing and searching.
160348
160349              CLI Example:
160350
160351                 salt '*' serverdensity_device.ls
160352                 salt '*' serverdensity_device.ls name=lama
160353                 salt '*' serverdensity_device.ls name=lama group=lama_band installedRAM=32768
160354
160355       salt.modules.serverdensity_device.update(device_id, **params)
160356              Updates device information in Server Density. For more  informa‐
160357              tion see the API docs.
160358
160359              CLI Example:
160360
160361                 salt '*' serverdensity_device.update 51f7eafcdba4bb235e000ae4 name=lama group=lama_band
160362                 salt '*' serverdensity_device.update 51f7eafcdba4bb235e000ae4 name=better_lama group=rock_lamas swapSpace=512
160363
160364   salt.modules.servicenow module
160365       Module for execution of ServiceNow CI (configuration items)
160366
160367       New in version 2016.11.0.
160368
160369
160370       depends
160371              servicenow_rest python module
160372
160373       configuration
160374              Configure  this module by specifying the name of a configuration
160375              profile in the minion config, minion pillar, or  master  config.
160376              The module will use the 'servicenow' key by default, if defined.
160377
160378              For example:
160379
160380                 servicenow:
160381                   instance_name: ''
160382                   username: ''
160383                   password: ''
160384
160385       salt.modules.servicenow.delete_record(table, sys_id)
160386              Delete an existing record
160387
160388              Parameters
160389
160390                     · table (str) -- The table name, e.g. sys_user
160391
160392                     · sys_id (str) -- The unique ID of the record
160393
160394              CLI Example:
160395
160396                 salt myminion servicenow.delete_record sys_computer 2134566
160397
160398       salt.modules.servicenow.non_structured_query(table,         query=None,
160399       **kwargs)
160400              Run a non-structed (not a dict) query  on  a  servicenow  table.
160401              See
160402              http://wiki.servicenow.com/index.php?title=Encoded_Query_Strings#gsc.tab=0
160403              for help on constructing a non-structured query string.
160404
160405              Parameters
160406
160407                     · table (str) -- The table name, e.g. sys_user
160408
160409                     · query  (str)  -- The query to run (or use keyword argu‐
160410                       ments to filter data)
160411
160412              CLI Example:
160413
160414                 salt myminion servicenow.non_structured_query sys_computer 'role=web'
160415                 salt myminion servicenow.non_structured_query sys_computer role=web type=computer
160416
160417       salt.modules.servicenow.set_change_request_state(change_id,
160418       state=u'approved')
160419              Set the approval state of a change request/record
160420
160421              Parameters
160422
160423                     · change_id  (str)  -- The ID of the change request, e.g.
160424                       CHG123545
160425
160426                     · state (str) -- The target state, e.g. approved
160427
160428              CLI Example:
160429
160430                 salt myminion servicenow.set_change_request_state CHG000123 declined
160431                 salt myminion servicenow.set_change_request_state CHG000123 approved
160432
160433       salt.modules.servicenow.update_record_field(table,    sys_id,    field,
160434       value)
160435              Update the value of a record's field in a servicenow table
160436
160437              Parameters
160438
160439                     · table (str) -- The table name, e.g. sys_user
160440
160441                     · sys_id (str) -- The unique ID of the record
160442
160443                     · field (str) -- The new value
160444
160445                     · value (str) -- The new value
160446
160447              CLI Example:
160448
160449                 salt myminion servicenow.update_record_field sys_user 2348234 first_name jimmy
160450
160451   salt.modules.slack_notify
160452       Module for sending messages to Slack
160453
160454       New in version 2015.5.0.
160455
160456
160457       configuration
160458              This module can be used by either passing an api key and version
160459              directly or by specifying both in a configuration profile in the
160460              salt master/minion config.
160461
160462              For example:
160463
160464                 slack:
160465                   api_key: peWcBiMOS9HrZG15peWcBiMOS9HrZG15
160466
160467       salt.modules.slack_notify.call_hook(message,           attachment=None,
160468       color=u'good',  short=False,   identifier=None,   channel=None,   user‐
160469       name=None, icon_emoji=None)
160470              Send message to Slack incoming webhook.
160471
160472              Parameters
160473
160474                     · message -- The topic of message.
160475
160476                     · attachment  --  The  message to send to the Slacke Web‐
160477                       Hook.
160478
160479                     · color -- The color of border of left side
160480
160481                     · short -- An optional flag indicating whether the  value
160482                       is short enough to be displayed side-by-side with other
160483                       values.
160484
160485                     · identifier -- The identifier of WebHook.
160486
160487                     · channel -- The channel to use instead  of  the  WebHook
160488                       default.
160489
160490                     · username -- Username to use instead of WebHook default.
160491
160492                     · icon_emoji -- Icon to use instead of WebHook default.
160493
160494              Returns
160495                     Boolean if message was sent successfully.
160496
160497              CLI Example:
160498
160499                 salt '*' slack.call_hook message='Hello, from SaltStack'
160500
160501       salt.modules.slack_notify.find_room(name, api_key=None)
160502              Find a room by name and return it.
160503
160504              Parameters
160505
160506                     · name -- The room name.
160507
160508                     · api_key -- The Slack admin api key.
160509
160510              Returns
160511                     The room object.
160512
160513              CLI Example:
160514
160515                 salt '*' slack.find_room name="random"
160516
160517                 salt '*' slack.find_room name="random" api_key=peWcBiMOS9HrZG15peWcBiMOS9HrZG15
160518
160519       salt.modules.slack_notify.find_user(name, api_key=None)
160520              Find a user by name and return it.
160521
160522              Parameters
160523
160524                     · name -- The user name.
160525
160526                     · api_key -- The Slack admin api key.
160527
160528              Returns
160529                     The user object.
160530
160531              CLI Example:
160532
160533                 salt '*' slack.find_user name="ThomasHatch"
160534
160535                 salt '*' slack.find_user name="ThomasHatch" api_key=peWcBiMOS9HrZG15peWcBiMOS9HrZG15
160536
160537       salt.modules.slack_notify.list_rooms(api_key=None)
160538              List all Slack rooms.
160539
160540              Parameters
160541                     api_key -- The Slack admin api key.
160542
160543              Returns
160544                     The room list.
160545
160546              CLI Example:
160547
160548                 salt '*' slack.list_rooms
160549
160550                 salt '*' slack.list_rooms api_key=peWcBiMOS9HrZG15peWcBiMOS9HrZG15
160551
160552       salt.modules.slack_notify.list_users(api_key=None)
160553              List all Slack users.
160554
160555              Parameters
160556                     api_key -- The Slack admin api key.
160557
160558              Returns
160559                     The user list.
160560
160561              CLI Example:
160562
160563                 salt '*' slack.list_users
160564
160565                 salt '*' slack.list_users api_key=peWcBiMOS9HrZG15peWcBiMOS9HrZG15
160566
160567       salt.modules.slack_notify.post_message(channel,   message,   from_name,
160568       api_key=None, icon=None)
160569              Send a message to a Slack channel.
160570
160571              Parameters
160572
160573                     · channel -- The channel name, either will work.
160574
160575                     · message -- The message to send to the Slack channel.
160576
160577                     · from_name -- Specify who the message is from.
160578
160579                     · api_key -- The Slack api key, if not specified  in  the
160580                       configuration.
160581
160582                     · icon  --  URL  to  an image to use as the icon for this
160583                       message
160584
160585              Returns
160586                     Boolean if message was sent successfully.
160587
160588              CLI Example:
160589
160590                 salt '*' slack.post_message channel="Development Room" message="Build is done" from_name="Build Server"
160591
160592   salt.modules.slsutil
160593       Utility functions for use with or in SLS files
160594
160595       salt.modules.slsutil.deserialize(serializer,          stream_or_string,
160596       **mod_kwargs)
160597              Deserialize a Python object using a serializer module
160598
160599              CLI Example:
160600
160601                 salt '*' slsutil.deserialize 'json' '{"foo": "Foo!"}'
160602                 salt '*' --no-parse=stream_or_string slsutil.deserialize 'json' \
160603                     stream_or_string='{"foo": "Foo!"}'
160604
160605              Jinja Example:
160606
160607                 {% set python_object = salt.slsutil.deserialize('json',
160608                     '{"foo": "Foo!"}') %}
160609
160610       salt.modules.slsutil.merge(obj_a,    obj_b,   strategy=u'smart',   ren‐
160611       derer=u'yaml', merge_lists=False)
160612              Merge a data structure into another by choosing a merge strategy
160613
160614              Strategies:
160615
160616              · aggregate
160617
160618              · list
160619
160620              · overwrite
160621
160622              · recurse
160623
160624              · smart
160625
160626              CLI Example:
160627
160628                 salt '*' slsutil.merge '{foo: Foo}' '{bar: Bar}'
160629
160630       salt.modules.slsutil.merge_all(lst,       strategy=u'smart',       ren‐
160631       derer=u'yaml', merge_lists=False)
160632              New in version Fluorine.
160633
160634
160635              Merge a list of objects into each other in order
160636
160637              Parameters
160638
160639                     · lst (Iterable) -- List of objects to be merged.
160640
160641                     · strategy  (String) -- Merge strategy. See utils.dictup‐
160642                       date.
160643
160644                     · renderer (String) -- Renderer type. Used  to  determine
160645                       strategy when strategy is 'smart'.
160646
160647                     · merge_lists (Bool) -- Defines whether to merge embedded
160648                       object lists.
160649
160650              CLI Example:
160651
160652                 $ salt-call --output=txt slsutil.merge_all '[{foo: Foo}, {foo: Bar}]'
160653                 local: {u'foo': u'Bar'}
160654
160655       salt.modules.slsutil.renderer(path=None,   string=None,    default_ren‐
160656       derer=u'jinja|yaml', **kwargs)
160657              Parse a string or file through Salt's renderer system
160658
160659              Changed  in  version  2018.3.0:  Add support for Salt fileserver
160660              URIs.
160661
160662
160663              This is an open-ended function and can be used for a variety  of
160664              tasks.  It  makes use of Salt's "renderer pipes" system to run a
160665              string or file through a pipe of any of the loaded renderer mod‐
160666              ules.
160667
160668              Parameters
160669
160670                     · path  --  The  path to a file on Salt's fileserver (any
160671                       URIs supported by cp.get_url) or on the local file sys‐
160672                       tem.
160673
160674                     · string  --  An  inline string to be used as the file to
160675                       send through the renderer system. Note,  not  all  ren‐
160676                       derer  modules can work with strings; the 'py' renderer
160677                       requires a file, for example.
160678
160679                     · default_renderer -- The renderer pipe to send the  file
160680                       through;  this is overridden by a "she-bang" at the top
160681                       of the file.
160682
160683                     · kwargs -- Keyword args to pass to  Salt's  compile_tem‐
160684                       plate() function.
160685
160686              Keep  in  mind  the  goal  of each renderer when choosing a ren‐
160687              der-pipe; for example, the Jinja renderer processes a text  file
160688              and  produces  a  string,  however the YAML renderer processes a
160689              text file and produces a data structure.
160690
160691              One possible use is to allow writing "map files",  as  are  com‐
160692              monly  seen  in Salt formulas, but without tying the renderer of
160693              the map file to the renderer used in the  other  sls  files.  In
160694              other  words, a map file could use the Python renderer and still
160695              be included and used by  an  sls  file  that  uses  the  default
160696              'jinja|yaml' renderer.
160697
160698              For  example,  the  two  following  map  files produce identical
160699              results but one is written using the normal 'jinja|yaml' and the
160700              other is using 'py':
160701
160702                 #!jinja|yaml
160703                 {% set apache = salt.grains.filter_by({
160704                     ...normal jinja map file here...
160705                 }, merge=salt.pillar.get('apache:lookup')) %}
160706                 {{ apache | yaml() }}
160707
160708                 #!py
160709                 def run():
160710                     apache = __salt__.grains.filter_by({
160711                         ...normal map here but as a python dict...
160712                     }, merge=__salt__.pillar.get('apache:lookup'))
160713                     return apache
160714
160715              Regardless  of  which  of the above map files is used, it can be
160716              accessed from any other sls file by calling this  function.  The
160717              following is a usage example in Jinja:
160718
160719                 {% set apache = salt.slsutil.renderer('map.sls') %}
160720
160721              CLI Example:
160722
160723                 salt '*' slsutil.renderer salt://path/to/file
160724                 salt '*' slsutil.renderer /path/to/file
160725                 salt '*' slsutil.renderer /path/to/file.jinja 'jinja'
160726                 salt '*' slsutil.renderer /path/to/file.sls 'jinja|yaml'
160727                 salt '*' slsutil.renderer string='Inline template! {{ saltenv }}'
160728                 salt '*' slsutil.renderer string='Hello, {{ name }}.' name='world'
160729
160730       salt.modules.slsutil.serialize(serializer, obj, **mod_kwargs)
160731              Serialize a Python object using a serializer module
160732
160733              CLI Example:
160734
160735                 salt '*' --no-parse=obj slsutil.serialize 'json' obj="{'foo': 'Foo!'}
160736
160737              Jinja Example:
160738
160739                 {% set json_string = salt.slsutil.serialize('json',
160740                     {'foo': 'Foo!'}) %}
160741
160742       salt.modules.slsutil.update(dest,      upd,      recursive_update=True,
160743       merge_lists=False)
160744              Merge upd recursively into dest
160745
160746              If merge_lists=True, will aggregate list object types instead of
160747              replacing.   This   behavior   is  only  activated  when  recur‐
160748              sive_update=True.
160749
160750              CLI Example:
160751
160752                 salt '*' slsutil.update '{foo: Foo}' '{bar: Bar}'
160753
160754   salt.modules.smartos_imgadm
160755       Module for running imgadm command on SmartOS
160756
160757       salt.modules.smartos_imgadm.avail(search=None, verbose=False)
160758              Return a list of available images
160759
160760              search string search keyword
160761
160762              verbose
160763                     boolean (False) toggle verbose output
160764
160765              CLI Example:
160766
160767                 salt '*' imgadm.avail [percona]
160768                 salt '*' imgadm.avail verbose=True
160769
160770       salt.modules.smartos_imgadm.delete(uuid)
160771              Remove an installed image
160772
160773              uuid   string Specifies uuid to import
160774
160775              CLI Example:
160776
160777                 salt '*' imgadm.delete e42f8c84-bbea-11e2-b920-078fab2aab1f
160778
160779       salt.modules.smartos_imgadm.docker_to_uuid(uuid)
160780              Get the image uuid from an imported docker image
160781
160782              New in version Fluorine.
160783
160784
160785       salt.modules.smartos_imgadm.get(uuid)
160786              Return info on an installed image
160787
160788              uuid   string uuid of image
160789
160790              CLI Example:
160791
160792                 salt '*' imgadm.get e42f8c84-bbea-11e2-b920-078fab2aab1f
160793                 salt '*' imgadm.get plexinc/pms-docker:plexpass
160794
160795       salt.modules.smartos_imgadm.import_image(uuid, verbose=False)
160796              Import an image from the repository
160797
160798              uuid   string uuid to import
160799
160800              verbose
160801                     boolean (False) toggle verbose output
160802
160803              CLI Example:
160804
160805                 salt '*' imgadm.import e42f8c84-bbea-11e2-b920-078fab2aab1f [verbose=True]
160806
160807       salt.modules.smartos_imgadm.list_installed(verbose=False)
160808              Return a list of installed images
160809
160810              verbose
160811                     boolean (False) toggle verbose output
160812
160813              Changed in version Fluorine: Docker images are now also listed
160814
160815
160816              CLI Example:
160817
160818                 salt '*' imgadm.list
160819                 salt '*' imgadm.list docker=True
160820                 salt '*' imgadm.list verbose=True
160821
160822       salt.modules.smartos_imgadm.show(uuid)
160823              Show manifest of a given image
160824
160825              uuid   string uuid of image
160826
160827              CLI Example:
160828
160829                 salt '*' imgadm.show e42f8c84-bbea-11e2-b920-078fab2aab1f
160830                 salt '*' imgadm.show plexinc/pms-docker:plexpass
160831
160832       salt.modules.smartos_imgadm.source_add(source, source_type=u'imgapi')
160833              Add a new source
160834
160835              source string source url to add
160836
160837              source_trype
160838                     string (imgapi) source type, either imgapi or docker
160839
160840              New in version Fluorine.
160841
160842
160843              CLI Example:
160844
160845                 salt '*' imgadm.source_add https://updates.joyent.com
160846                 salt '*' imgadm.source_add https://docker.io docker
160847
160848       salt.modules.smartos_imgadm.source_delete(source)
160849              Delete a source
160850
160851              source string source url to delete
160852
160853              New in version Fluorine.
160854
160855
160856              CLI Example:
160857
160858                 salt '*' imgadm.source_delete https://updates.joyent.com
160859
160860       salt.modules.smartos_imgadm.sources(verbose=False)
160861              Return a list of available sources
160862
160863              verbose
160864                     boolean (False) toggle verbose output
160865
160866              New in version Fluorine.
160867
160868
160869              CLI Example:
160870
160871                 salt '*' imgadm.sources
160872
160873       salt.modules.smartos_imgadm.update_installed(uuid=u'')
160874              Gather info on unknown image(s) (locally installed)
160875
160876              uuid   string optional uuid of image
160877
160878              CLI Example:
160879
160880                 salt '*' imgadm.update [uuid]
160881
160882       salt.modules.smartos_imgadm.vacuum(verbose=False)
160883              Remove unused images
160884
160885              verbose
160886                     boolean (False) toggle verbose output
160887
160888              CLI Example:
160889
160890                 salt '*' imgadm.vacuum [verbose=True]
160891
160892       salt.modules.smartos_imgadm.version()
160893              Return imgadm version
160894
160895              CLI Example:
160896
160897                 salt '*' imgadm.version
160898
160899   salt.modules.smartos_nictagadm module
160900       Module for running nictagadm command on SmartOS  :maintainer:     Jorge
160901       Schrauwen <sjorge@blackdot.be> :maturity:      new :depends:       nic‐
160902       tagadm binary, dladm binary :platform:      smartos
160903
160904       ..versionadded:: 2016.11.0
160905
160906       salt.modules.smartos_nictagadm.add(name, mac, mtu=1500)
160907              Add a new nictag
160908
160909              name   string name of new nictag
160910
160911              mac    string mac of parent interface or 'etherstub' to create a
160912                     ether stub
160913
160914              mtu    int MTU (ignored for etherstubs)
160915
160916              CLI Example:
160917
160918                 salt '*' nictagadm.add storage0 etherstub
160919                 salt '*' nictagadm.add trunk0 'DE:AD:OO:OO:BE:EF' 9000
160920
160921       salt.modules.smartos_nictagadm.delete(name, force=False)
160922              Delete nictag
160923
160924              name   string nictag to delete
160925
160926              force  boolean force delete even if vms attached
160927
160928              CLI Example:
160929
160930                 salt '*' nictagadm.exists admin
160931
160932       salt.modules.smartos_nictagadm.exists(*nictag, **kwargs)
160933              Check if nictags exists
160934
160935              nictag string one or more nictags to check
160936
160937              verbose
160938                     boolean return list of nictags
160939
160940              CLI Example:
160941
160942                 salt '*' nictagadm.exists admin
160943
160944       salt.modules.smartos_nictagadm.list_nictags(include_etherstubs=True)
160945              List all nictags
160946
160947              include_etherstubs
160948                     boolean toggle include of etherstubs
160949
160950              CLI Example:
160951
160952                 salt '*' nictagadm.list
160953
160954       salt.modules.smartos_nictagadm.update(name, mac=None, mtu=None)
160955              Update a nictag
160956
160957              name   string name of nictag
160958
160959              mac    string optional new mac for nictag
160960
160961              mtu    int optional new MTU for nictag
160962
160963              CLI Example:
160964
160965                 salt '*' nictagadm.update trunk mtu=9000
160966
160967       salt.modules.smartos_nictagadm.vms(nictag)
160968              List all vms connect to nictag
160969
160970              nictag string name of nictag
160971
160972              CLI Example:
160973
160974                 salt '*' nictagadm.vms admin
160975
160976   salt.modules.smartos_virt
160977       virst compatibility module for managing VMs on SmartOS
160978
160979       salt.modules.smartos_virt.get_macs(domain)
160980              Return a list off MAC addresses from the named VM
160981
160982              CLI Example:
160983
160984                 salt '*' virt.get_macs <domain>
160985
160986       salt.modules.smartos_virt.init(**kwargs)
160987              Initialize a new VM
160988
160989              CLI Example:
160990
160991                 salt '*' virt.init image_uuid='...' alias='...' [...]
160992
160993       salt.modules.smartos_virt.list_active_vms()
160994              Return a list of uuids for active virtual machine on the minion
160995
160996              CLI Example:
160997
160998                 salt '*' virt.list_active_vms
160999
161000       salt.modules.smartos_virt.list_domains()
161001              Return a list of virtual machine names on the minion
161002
161003              CLI Example:
161004
161005                 salt '*' virt.list_domains
161006
161007       salt.modules.smartos_virt.list_inactive_vms()
161008              Return  a list of uuids for inactive virtual machine on the min‐
161009              ion
161010
161011              CLI Example:
161012
161013                 salt '*' virt.list_inactive_vms
161014
161015       salt.modules.smartos_virt.reboot(domain)
161016              Reboot a domain via ACPI request
161017
161018              CLI Example:
161019
161020                 salt '*' virt.reboot <domain>
161021
161022       salt.modules.smartos_virt.setmem(domain, memory)
161023              Change the amount of memory allocated to VM.  <memory> is to  be
161024              specified in MB.
161025
161026              Note for KVM : this would require a restart of the VM.
161027
161028              CLI Example:
161029
161030                 salt '*' virt.setmem <domain> 512
161031
161032       salt.modules.smartos_virt.shutdown(domain)
161033              Send a soft shutdown signal to the named vm
161034
161035              CLI Example:
161036
161037                 salt '*' virt.shutdown <domain>
161038
161039       salt.modules.smartos_virt.start(domain)
161040              Start a defined domain
161041
161042              CLI Example:
161043
161044                 salt '*' virt.start <domain>
161045
161046       salt.modules.smartos_virt.stop(domain)
161047              Hard  power down the virtual machine, this is equivalent to pow‐
161048              ering off the hardware.
161049
161050              CLI Example:
161051
161052                 salt '*' virt.destroy <domain>
161053
161054       salt.modules.smartos_virt.vm_info(domain)
161055              Return a dict with information about the specified VM on this CN
161056
161057              CLI Example:
161058
161059                 salt '*' virt.vm_info <domain>
161060
161061       salt.modules.smartos_virt.vm_virt_type(domain)
161062              Return VM virtualization type : OS or KVM
161063
161064              CLI Example:
161065
161066                 salt '*' virt.vm_virt_type <domain>
161067
161068   salt.modules.smartos_vmadm
161069       Module for running vmadm command on SmartOS
161070
161071       salt.modules.smartos_vmadm.create(from_file=None, **kwargs)
161072              Create a new vm
161073
161074              from_file
161075                     string json file to create the vm from -- if present, all
161076                     other options will be ignored
161077
161078              kwargs string|int|...  options to set for the vm
161079
161080              CLI Example:
161081
161082                 salt '*' vmadm.create from_file=/tmp/new_vm.json
161083                 salt '*' vmadm.create image_uuid='...' alias='...' nics='[{ "nic_tag": "admin", "ip": "198.51.100.123", ...}, {...}]' [...]
161084
161085       salt.modules.smartos_vmadm.create_snapshot(vm, name, key=u'uuid')
161086              Create snapshot of a vm
161087
161088              vm     string vm to be targeted
161089
161090              name   string.INDENT 7.0
161091
161092              snapshot name
161093                     The  snapname must be 64 characters or less and must only
161094                     contain alphanumeric characters and characters in the set
161095                     [-_.:%] to comply with ZFS restrictions.
161096
161097       key    string [uuid|alias|hostname] value type of 'vm' parameter
161098
161099       CLI Example:
161100
161101                 salt '*' vmadm.create_snapshot 186da9ab-7392-4f55-91a5-b8f1fe770543 baseline
161102                 salt '*' vmadm.create_snapshot nacl baseline key=alias
161103
161104       salt.modules.smartos_vmadm.delete(vm, key=u'uuid')
161105              Delete a vm
161106
161107              vm     string vm to be deleted
161108
161109              key    string [uuid|alias|hostname] value type of 'vm' parameter
161110
161111              CLI Example:
161112
161113                 salt '*' vmadm.delete 186da9ab-7392-4f55-91a5-b8f1fe770543
161114                 salt '*' vmadm.delete nacl key=alias
161115
161116       salt.modules.smartos_vmadm.delete_snapshot(vm, name, key=u'uuid')
161117              Delete snapshot of a vm
161118
161119              vm     string vm to be targeted
161120
161121              name   string.INDENT 7.0
161122
161123              snapshot name
161124                     The  snapname must be 64 characters or less and must only
161125                     contain alphanumeric characters and characters in the set
161126                     [-_.:%] to comply with ZFS restrictions.
161127
161128       key    string [uuid|alias|hostname] value type of 'vm' parameter
161129
161130       CLI Example:
161131
161132                 salt '*' vmadm.delete_snapshot 186da9ab-7392-4f55-91a5-b8f1fe770543 baseline
161133                 salt '*' vmadm.delete_snapshot nacl baseline key=alias
161134
161135       salt.modules.smartos_vmadm.get(vm, key=u'uuid')
161136              Output the JSON object describing a VM
161137
161138              vm     string vm to be targeted
161139
161140              key    string [uuid|alias|hostname] value type of 'vm' parameter
161141
161142              CLI Example:
161143
161144                 salt '*' vmadm.get 186da9ab-7392-4f55-91a5-b8f1fe770543
161145                 salt '*' vmadm.get nacl key=alias
161146
161147       salt.modules.smartos_vmadm.info(vm, info_type=u'all', key=u'uuid')
161148              Lookup info on running kvm
161149
161150              vm     string vm to be targeted
161151
161152              info_type
161153                     string                                  [all|block|block‐
161154                     stats|chardev|cpus|kvm|pci|spice|version|vnc]  info  type
161155                     to return
161156
161157              key    string [uuid|alias|hostname] value type of 'vm' parameter
161158
161159              CLI Example:
161160
161161                 salt '*' vmadm.info 186da9ab-7392-4f55-91a5-b8f1fe770543
161162                 salt '*' vmadm.info 186da9ab-7392-4f55-91a5-b8f1fe770543 vnc
161163                 salt '*' vmadm.info nacl key=alias
161164                 salt '*' vmadm.info nacl vnc key=alias
161165
161166       salt.modules.smartos_vmadm.list_vms(search=None,             sort=None,
161167       order=u'uuid, type, ram, state, alias', keyed=True)
161168              Return a list of VMs
161169
161170              search string vmadm filter property
161171
161172              sort   string vmadm sort (-s) property
161173
161174              order  string   vmadm   order   (-o)   property   --    Default:
161175                     uuid,type,ram,state,alias
161176
161177              keyed  boolean.INDENT 7.0
161178
161179              specified  if  the  output  should  be  an array (False) or dict
161180              (True)
161181                     For a dict the key is  the  first  item  from  the  order
161182                     parameter.  Note: If key is not unique last vm wins.
161183
161184       CLI Example:
161185
161186                 salt '*' vmadm.list
161187                 salt '*' vmadm.list order=alias,ram,cpu_cap sort=-ram,-cpu_cap
161188                 salt '*' vmadm.list search='type=KVM'
161189
161190       salt.modules.smartos_vmadm.lookup(search=None, order=None, one=False)
161191              Return a list of VMs using lookup
161192
161193              search string vmadm filter property
161194
161195              order  string    vmadm   order   (-o)   property   --   Default:
161196                     uuid,type,ram,state,alias
161197
161198              one    boolean return only one result (vmadm's -1)
161199
161200              CLI Example:
161201
161202                 salt '*' vmadm.lookup search='state=running'
161203                 salt '*' vmadm.lookup search='state=running' order=uuid,alias,hostname
161204                 salt '*' vmadm.lookup search='alias=nacl' one=True
161205
161206       salt.modules.smartos_vmadm.reboot(vm, force=False, key=u'uuid')
161207              Reboot a vm
161208
161209              vm     string vm to be rebooted
161210
161211              force  boolean force reboot of vm if true
161212
161213              key    string [uuid|alias|hostname] value type of 'vm' parameter
161214
161215              CLI Example:
161216
161217                 salt '*' vmadm.reboot 186da9ab-7392-4f55-91a5-b8f1fe770543
161218                 salt '*' vmadm.reboot 186da9ab-7392-4f55-91a5-b8f1fe770543 True
161219                 salt '*' vmadm.reboot vm=nacl key=alias
161220                 salt '*' vmadm.reboot vm=nina.example.org key=hostname
161221
161222       salt.modules.smartos_vmadm.receive(uuid, source)
161223              Receive a vm from a directory
161224
161225              uuid   string uuid of vm to be received
161226
161227              source string source directory
161228
161229              CLI Example:
161230
161231                 salt '*' vmadm.receive 186da9ab-7392-4f55-91a5-b8f1fe770543 /opt/backups
161232
161233       salt.modules.smartos_vmadm.reprovision(vm, image, key=u'uuid')
161234              Reprovision a vm
161235
161236              vm     string vm to be reprovisioned
161237
161238              image  string uuid of new image
161239
161240              key    string [uuid|alias|hostname] value type of 'vm' parameter
161241
161242              CLI Example:
161243
161244                 salt '*' vmadm.reprovision 186da9ab-7392-4f55-91a5-b8f1fe770543 c02a2044-c1bd-11e4-bd8c-dfc1db8b0182
161245                 salt '*' vmadm.reprovision nacl c02a2044-c1bd-11e4-bd8c-dfc1db8b0182 key=alias
161246
161247       salt.modules.smartos_vmadm.rollback_snapshot(vm, name, key=u'uuid')
161248              Rollback snapshot of a vm
161249
161250              vm     string vm to be targeted
161251
161252              name   string.INDENT 7.0
161253
161254              snapshot name
161255                     The snapname must be 64 characters or less and must  only
161256                     contain alphanumeric characters and characters in the set
161257                     [-_.:%] to comply with ZFS restrictions.
161258
161259       key    string [uuid|alias|hostname] value type of 'vm' parameter
161260
161261       CLI Example:
161262
161263                 salt '*' vmadm.rollback_snapshot 186da9ab-7392-4f55-91a5-b8f1fe770543 baseline
161264                 salt '*' vmadm.rollback_snapshot nacl baseline key=alias
161265
161266       salt.modules.smartos_vmadm.send(vm, target, key=u'uuid')
161267              Send a vm to a directory
161268
161269              vm     string vm to be sent
161270
161271              target string target directory
161272
161273              key    string [uuid|alias|hostname] value type of 'vm' parameter
161274
161275              CLI Example:
161276
161277                 salt '*' vmadm.send 186da9ab-7392-4f55-91a5-b8f1fe770543 /opt/backups
161278                 salt '*' vmadm.send vm=nacl target=/opt/backups key=alias
161279
161280       salt.modules.smartos_vmadm.start(vm, options=None, key=u'uuid')
161281              Start a vm
161282
161283              vm     string vm to be started
161284
161285              options
161286                     string optional additional options
161287
161288              key    string [uuid|alias|hostname] value type of 'vm' parameter
161289
161290              CLI Example:
161291
161292                 salt '*' vmadm.start 186da9ab-7392-4f55-91a5-b8f1fe770543
161293                 salt '*' vmadm.start 186da9ab-7392-4f55-91a5-b8f1fe770543 'order=c,once=d cdrom=/path/to/image.iso,ide'
161294                 salt '*' vmadm.start vm=nacl key=alias
161295                 salt '*' vmadm.start vm=nina.example.org key=hostname
161296
161297       salt.modules.smartos_vmadm.stop(vm, force=False, key=u'uuid')
161298              Stop a vm
161299
161300              vm     string vm to be stopped
161301
161302              force  boolean force stop of vm if true
161303
161304              key    string [uuid|alias|hostname] value type of 'vm' parameter
161305
161306              CLI Example:
161307
161308                 salt '*' vmadm.stop 186da9ab-7392-4f55-91a5-b8f1fe770543
161309                 salt '*' vmadm.stop 186da9ab-7392-4f55-91a5-b8f1fe770543 True
161310                 salt '*' vmadm.stop vm=nacl key=alias
161311                 salt '*' vmadm.stop vm=nina.example.org key=hostname
161312
161313       salt.modules.smartos_vmadm.sysrq(vm, action=u'nmi', key=u'uuid')
161314              Send non-maskable interrupt to vm or capture a screenshot
161315
161316              vm     string vm to be targeted
161317
161318              action string nmi or screenshot -- Default: nmi
161319
161320              key    string [uuid|alias|hostname] value type of 'vm' parameter
161321
161322              CLI Example:
161323
161324                 salt '*' vmadm.sysrq 186da9ab-7392-4f55-91a5-b8f1fe770543 nmi
161325                 salt '*' vmadm.sysrq 186da9ab-7392-4f55-91a5-b8f1fe770543 screenshot
161326                 salt '*' vmadm.sysrq nacl nmi key=alias
161327
161328       salt.modules.smartos_vmadm.update(vm,   from_file=None,    key=u'uuid',
161329       **kwargs)
161330              Update a new vm
161331
161332              vm     string vm to be updated
161333
161334              from_file
161335                     string json file to update the vm with -- if present, all
161336                     other options will be ignored
161337
161338              key    string [uuid|alias|hostname] value type of 'vm' parameter
161339
161340              kwargs string|int|...  options to update for the vm
161341
161342              CLI Example:
161343
161344                 salt '*' vmadm.update vm=186da9ab-7392-4f55-91a5-b8f1fe770543 from_file=/tmp/new_vm.json
161345                 salt '*' vmadm.update vm=nacl key=alias from_file=/tmp/new_vm.json
161346                 salt '*' vmadm.update vm=186da9ab-7392-4f55-91a5-b8f1fe770543 max_physical_memory=1024
161347
161348   salt.modules.smbios
161349       Interface to SMBIOS/DMI
161350
161351       (Parsing through dmidecode)
161352
161353   External References
161354       Desktop Management Interface (DMI)
161355       System Management BIOS
161356       DMIdecode
161357
161358
161359       salt.modules.smbios.get(string, clean=True)
161360              Get an individual DMI string from SMBIOS info
161361
161362              string
161363
161364                     The string to fetch. DMIdecode supports:
161365
161366                            · bios-vendor
161367
161368                            · bios-version
161369
161370                            · bios-release-date
161371
161372                            · system-manufacturer
161373
161374                            · system-product-name
161375
161376                            · system-version
161377
161378                            · system-serial-number
161379
161380                            · system-uuid
161381
161382                            · baseboard-manufacturer
161383
161384                            · baseboard-product-name
161385
161386                            · baseboard-version
161387
161388                            · baseboard-serial-number
161389
161390                            · baseboard-asset-tag
161391
161392                            · chassis-manufacturer
161393
161394                            · chassis-type
161395
161396                            · chassis-version
161397
161398                            · chassis-serial-number
161399
161400                            · chassis-asset-tag
161401
161402                            · processor-family
161403
161404                            · processor-manufacturer
161405
161406                            · processor-version
161407
161408                            · processor-frequency
161409
161410              clean
161411                     Don't return well-known false information
161412                     (invalid UUID's, serial 000000000's, etcetera)
161413                     Defaults to True
161414
161415
161416              CLI Example:
161417
161418                 salt '*' smbios.get system-uuid clean=False
161419
161420       salt.modules.smbios.records(rec_type=None, fields=None, clean=True)
161421              Return DMI records from SMBIOS
161422
161423              type   Return only records of type(s) The  SMBIOS  specification
161424                     defines the following DMI types:
161425
161426                                ┌─────┬────────────────────────────┐
161427                                │Type │ Information                │
161428                                ├─────┼────────────────────────────┤
161429                                │0    │ BIOS                       │
161430                                ├─────┼────────────────────────────┤
161431                                │1    │ System                     │
161432                                ├─────┼────────────────────────────┤
161433                                │2    │ Baseboard                  │
161434                                ├─────┼────────────────────────────┤
161435                                │3    │ Chassis                    │
161436                                ├─────┼────────────────────────────┤
161437                                │4    │ Processor                  │
161438                                ├─────┼────────────────────────────┤
161439                                │5    │ Memory Controller          │
161440                                ├─────┼────────────────────────────┤
161441                                │6    │ Memory Module              │
161442                                ├─────┼────────────────────────────┤
161443                                │7    │ Cache                      │
161444                                ├─────┼────────────────────────────┤
161445                                │8    │ Port Connector             │
161446                                ├─────┼────────────────────────────┤
161447                                │9    │ System Slots               │
161448                                ├─────┼────────────────────────────┤
161449                                │10   │ On Board Devices           │
161450                                ├─────┼────────────────────────────┤
161451                                │11   │ OEM Strings                │
161452                                ├─────┼────────────────────────────┤
161453                                │12   │ System       Configuration │
161454                                │     │ Options                    │
161455                                ├─────┼────────────────────────────┤
161456                                │13   │ BIOS Language              │
161457                                ├─────┼────────────────────────────┤
161458                                │14   │ Group Associations         │
161459                                ├─────┼────────────────────────────┤
161460                                │15   │ System Event Log           │
161461                                ├─────┼────────────────────────────┤
161462                                │16   │ Physical Memory Array      │
161463                                ├─────┼────────────────────────────┤
161464                                │17   │ Memory Device              │
161465                                ├─────┼────────────────────────────┤
161466                                │18   │ 32-bit Memory Error        │
161467                                ├─────┼────────────────────────────┤
161468                                │19   │ Memory    Array     Mapped │
161469                                │     │ Address                    │
161470                                ├─────┼────────────────────────────┤
161471                                │20   │ Memory    Device    Mapped │
161472                                │     │ Address                    │
161473                                ├─────┼────────────────────────────┤
161474                                │21   │ Built-in Pointing Device   │
161475                                ├─────┼────────────────────────────┤
161476                                │22   │ Portable Battery           │
161477                                ├─────┼────────────────────────────┤
161478                                │23   │ System Reset               │
161479                                ├─────┼────────────────────────────┤
161480                                │24   │ Hardware Security          │
161481                                ├─────┼────────────────────────────┤
161482                                │25   │ System Power Controls      │
161483                                ├─────┼────────────────────────────┤
161484                                │26   │ Voltage Probe              │
161485                                ├─────┼────────────────────────────┤
161486                                │27   │ Cooling Device             │
161487                                ├─────┼────────────────────────────┤
161488                                │28   │ Temperature Probe          │
161489                                ├─────┼────────────────────────────┤
161490                                │29   │ Electrical Current Probe   │
161491                                ├─────┼────────────────────────────┤
161492                                │30   │ Out-of-band Remote Access  │
161493                                ├─────┼────────────────────────────┤
161494                                │31   │ Boot Integrity Services    │
161495                                ├─────┼────────────────────────────┤
161496                                │32   │ System Boot                │
161497                                ├─────┼────────────────────────────┤
161498                                │33   │ 64-bit Memory Error        │
161499                                ├─────┼────────────────────────────┤
161500                                │34   │ Management Device          │
161501                                ├─────┼────────────────────────────┤
161502                                │35   │ Management  Device  Compo‐ │
161503                                │     │ nent                       │
161504                                ├─────┼────────────────────────────┤
161505                                │36   │ Management  Device Thresh‐ │
161506                                │     │ old Data                   │
161507                                ├─────┼────────────────────────────┤
161508                                │37   │ Memory Channel             │
161509                                ├─────┼────────────────────────────┤
161510                                │38   │ IPMI Device                │
161511                                ├─────┼────────────────────────────┤
161512                                │39   │ Power Supply               │
161513                                ├─────┼────────────────────────────┤
161514                                │40   │ Additional Information     │
161515                                ├─────┼────────────────────────────┤
161516                                │41   │ Onboard  Devices  Extended │
161517                                │     │ Information                │
161518                                ├─────┼────────────────────────────┤
161519                                │42   │ Management Controller Host │
161520                                │     │ Interface                  │
161521                                └─────┴────────────────────────────┘
161522
161523              clean
161524                     Don't return well-known false information
161525                     (invalid UUID's, serial 000000000's, etcetera)
161526                     Defaults to True
161527
161528
161529              CLI Example:
161530
161531                 salt '*' smbios.records clean=False
161532                 salt '*' smbios.records 14
161533                 salt '*' smbios.records 4 core_count,thread_count,current_speed
161534
161535   salt.modules.smf
161536       Service support for Solaris 10 and 11, should work with  other  systems
161537       that use SMF also. (e.g. SmartOS)
161538
161539       IMPORTANT:
161540          If you feel that Salt should be using this module to manage services
161541          on a minion, and it is using a different module (or gives  an  error
161542          similar to 'service.start' is not available), see here.
161543
161544       salt.modules.smf.available(name)
161545              Returns  True  if  the specified service is available, otherwise
161546              returns False.
161547
161548              We look up the name with the svcs command to get back  the  FMRI
161549              This allows users to use simpler service names
161550
161551              CLI Example:
161552
161553                 salt '*' service.available net-snmp
161554
161555       salt.modules.smf.disable(name, **kwargs)
161556              Disable the named service to start at boot
161557
161558              CLI Example:
161559
161560                 salt '*' service.disable <service name>
161561
161562       salt.modules.smf.disabled(name)
161563              Check to see if the named service is disabled to start on boot
161564
161565              CLI Example:
161566
161567                 salt '*' service.disabled <service name>
161568
161569       salt.modules.smf.enable(name, **kwargs)
161570              Enable the named service to start at boot
161571
161572              CLI Example:
161573
161574                 salt '*' service.enable <service name>
161575
161576       salt.modules.smf.enabled(name, **kwargs)
161577              Check to see if the named service is enabled to start on boot
161578
161579              CLI Example:
161580
161581                 salt '*' service.enabled <service name>
161582
161583       salt.modules.smf.get_all()
161584              Return all installed services
161585
161586              CLI Example:
161587
161588                 salt '*' service.get_all
161589
161590       salt.modules.smf.get_disabled()
161591              Return the disabled services
161592
161593              CLI Example:
161594
161595                 salt '*' service.get_disabled
161596
161597       salt.modules.smf.get_enabled()
161598              Return the enabled services
161599
161600              CLI Example:
161601
161602                 salt '*' service.get_enabled
161603
161604       salt.modules.smf.get_running()
161605              Return the running services
161606
161607              CLI Example:
161608
161609                 salt '*' service.get_running
161610
161611       salt.modules.smf.get_stopped()
161612              Return the stopped services
161613
161614              CLI Example:
161615
161616                 salt '*' service.get_stopped
161617
161618       salt.modules.smf.missing(name)
161619              The inverse of service.available.  Returns True if the specified
161620              service is not available, otherwise returns False.
161621
161622              CLI Example:
161623
161624                 salt '*' service.missing net-snmp
161625
161626       salt.modules.smf.reload_(name)
161627              Reload the named service
161628
161629              CLI Example:
161630
161631                 salt '*' service.reload <service name>
161632
161633       salt.modules.smf.restart(name)
161634              Restart the named service
161635
161636              CLI Example:
161637
161638                 salt '*' service.restart <service name>
161639
161640       salt.modules.smf.start(name)
161641              Start the specified service
161642
161643              CLI Example:
161644
161645                 salt '*' service.start <service name>
161646
161647       salt.modules.smf.status(name, sig=None)
161648              Return the status for a service.  If the name contains globbing,
161649              a dict mapping service name to True/False values is returned.
161650
161651              Changed  in version 2018.3.0: The service name can now be a glob
161652              (e.g. salt*)
161653
161654
161655              Parameters
161656
161657                     · name (str) -- The name of the service to check
161658
161659                     · sig (str) -- Not implemented
161660
161661              Returns
161662                     True if running, False otherwise dict: Maps service  name
161663                     to True if running, False otherwise
161664
161665              Return type
161666                     bool
161667
161668              CLI Example:
161669
161670                 salt '*' service.status <service name>
161671
161672       salt.modules.smf.stop(name)
161673              Stop the specified service
161674
161675              CLI Example:
161676
161677                 salt '*' service.stop <service name>
161678
161679   salt.modules.smtp
161680       Module for Sending Messages via SMTP
161681
161682       New in version 2014.7.0.
161683
161684
161685       depends
161686
161687              · smtplib python module
161688
161689       configuration
161690              This  module  can  be  used by either passing a jid and password
161691              directly to send_message, or by specifying the name of a config‐
161692              uration  profile  in the minion config, minion pillar, or master
161693              config.
161694
161695              For example:
161696
161697                 my-smtp-login:
161698                     smtp.server: smtp.domain.com
161699                     smtp.tls: True
161700                     smtp.sender: admin@domain.com
161701                     smtp.username: myuser
161702                     smtp.password: verybadpass
161703
161704              The resourcename refers to  the  resource  that  is  using  this
161705              account.  It is user-definable, and optional. The following con‐
161706              figurations are both valid:
161707
161708                 my-smtp-login:
161709                     smtp.server: smtp.domain.com
161710                     smtp.tls: True
161711                     smtp.sender: admin@domain.com
161712                     smtp.username: myuser
161713                     smtp.password: verybadpass
161714
161715                 another-smtp-login:
161716                     smtp.server: smtp.domain.com
161717                     smtp.tls: True
161718                     smtp.sender: admin@domain.com
161719                     smtp.username: myuser
161720                     smtp.password: verybadpass
161721
161722       salt.modules.smtp.send_msg(recipient, message,  subject=u'Message  from
161723       Salt',  sender=None, server=None, use_ssl=u'True', username=None, pass‐
161724       word=None, profile=None, attachments=None)
161725              Send a message to an SMTP recipient. Designed for use in states.
161726
161727              CLI Examples:
161728
161729                 salt '*' smtp.send_msg 'admin@example.com' 'This is a salt module test' profile='my-smtp-account'
161730                 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'
161731                 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']"
161732
161733   salt.modules.solaris_fmadm
161734       Module for running fmadm and fmdump on Solaris
161735
161736       maintainer
161737              Jorge Schrauwen <sjorge@blackdot.be>
161738
161739       maturity
161740              new
161741
161742       platform
161743              solaris,illumos
161744
161745       New in version 2016.3.0.
161746
161747
161748       salt.modules.solaris_fmadm.acquit(fmri)
161749              Acquit resource or acquit case
161750
161751              fmri: string
161752                     fmri or uuid
161753
161754              CLI Example:
161755
161756                 salt '*' fmadm.acquit fmri | uuid
161757
161758       salt.modules.solaris_fmadm.config()
161759              Display fault manager configuration
161760
161761              CLI Example:
161762
161763                 salt '*' fmadm.config
161764
161765       salt.modules.solaris_fmadm.faulty()
161766              Display list of faulty resources
161767
161768              CLI Example:
161769
161770                 salt '*' fmadm.faulty
161771
161772       salt.modules.solaris_fmadm.flush(fmri)
161773              Flush cached state for resource
161774
161775              fmri: string
161776                     fmri
161777
161778              CLI Example:
161779
161780                 salt '*' fmadm.flush fmri
161781
161782       salt.modules.solaris_fmadm.healthy()
161783              Return whether fmadm is reporting faults
161784
161785              CLI Example:
161786
161787                 salt '*' fmadm.healthy
161788
161789       salt.modules.solaris_fmadm.list_records(after=None, before=None)
161790              Display fault management logs
161791
161792              after  string filter events after time, see man fmdump for  for‐
161793                     mat
161794
161795              before string filter events before time, see man fmdump for for‐
161796                     mat
161797
161798              CLI Example:
161799
161800                 salt '*' fmadm.list
161801
161802       salt.modules.solaris_fmadm.load(path)
161803              Load specified fault manager module
161804
161805              path: string
161806                     path of fault manager module
161807
161808              CLI Example:
161809
161810                 salt '*' fmadm.load /module/path
161811
161812       salt.modules.solaris_fmadm.repaired(fmri)
161813              Notify fault manager that resource has been repaired
161814
161815              fmri: string
161816                     fmri
161817
161818              CLI Example:
161819
161820                 salt '*' fmadm.repaired fmri
161821
161822       salt.modules.solaris_fmadm.replaced(fmri)
161823              Notify fault manager that resource has been replaced
161824
161825              fmri: string
161826                     fmri
161827
161828              CLI Example:
161829
161830                 salt '*' fmadm.repaired fmri
161831
161832       salt.modules.solaris_fmadm.reset(module, serd=None)
161833              Reset module or sub-component
161834
161835              module: string
161836                     module to unload
161837
161838              serd   string serd sub module
161839
161840              CLI Example:
161841
161842                 salt '*' fmadm.reset software-response
161843
161844       salt.modules.solaris_fmadm.show(uuid)
161845              Display log details
161846
161847              uuid: string
161848                     uuid of fault
161849
161850              CLI Example:
161851
161852                 salt '*' fmadm.show 11b4070f-4358-62fa-9e1e-998f485977e1
161853
161854       salt.modules.solaris_fmadm.unload(module)
161855              Unload specified fault manager module
161856
161857              module: string
161858                     module to unload
161859
161860              CLI Example:
161861
161862                 salt '*' fmadm.unload software-response
161863
161864   salt.modules.solaris_group
161865       Manage groups on Solaris
161866
161867       IMPORTANT:
161868          If you feel that Salt should be using this module to  manage  groups
161869          on  a  minion, and it is using a different module (or gives an error
161870          similar to 'group.info' is not available), see here.
161871
161872       salt.modules.solaris_group.add(name, gid=None, **kwargs)
161873              Add the specified group
161874
161875              CLI Example:
161876
161877                 salt '*' group.add foo 3456
161878
161879       salt.modules.solaris_group.chgid(name, gid)
161880              Change the gid for a named group
161881
161882              CLI Example:
161883
161884                 salt '*' group.chgid foo 4376
161885
161886       salt.modules.solaris_group.delete(name)
161887              Remove the named group
161888
161889              CLI Example:
161890
161891                 salt '*' group.delete foo
161892
161893       salt.modules.solaris_group.getent(refresh=False)
161894              Return info on all groups
161895
161896              CLI Example:
161897
161898                 salt '*' group.getent
161899
161900       salt.modules.solaris_group.info(name)
161901              Return information about a group
161902
161903              CLI Example:
161904
161905                 salt '*' group.info foo
161906
161907   salt.modules.solaris_shadow
161908       Manage the password database on Solaris systems
161909
161910       IMPORTANT:
161911          If you feel that Salt should be using this module  to  manage  pass‐
161912          words  on  a minion, and it is using a different module (or gives an
161913          error similar to 'shadow.info' is not available), see here.
161914
161915       salt.modules.solaris_shadow.default_hash()
161916              Returns the default hash used for unset passwords
161917
161918              CLI Example:
161919
161920                 salt '*' shadow.default_hash
161921
161922       salt.modules.solaris_shadow.del_password(name)
161923              New in version 2015.8.8.
161924
161925
161926              Delete the password from name user
161927
161928              CLI Example:
161929
161930                 salt '*' shadow.del_password username
161931
161932       salt.modules.solaris_shadow.gen_password(password,     crypt_salt=None,
161933       algorithm=u'sha512')
161934              New in version 2015.8.8.
161935
161936
161937              Generate hashed password
161938
161939              NOTE:
161940                 When  called this function is called directly via remote-exe‐
161941                 cution, the password argument may be displayed  in  the  sys‐
161942                 tem's  process  list.  This may be a security risk on certain
161943                 systems.
161944
161945              password
161946                     Plaintext password to be hashed.
161947
161948              crypt_salt
161949                     Crpytographic salt. If not given,  a  random  8-character
161950                     salt will be generated.
161951
161952              algorithm
161953                     The following hash algorithms are supported:
161954
161955                     · md5
161956
161957                     · blowfish (not in mainline glibc, only available in dis‐
161958                       tros that add it)
161959
161960                     · sha256
161961
161962                     · sha512 (default)
161963
161964              CLI Example:
161965
161966                 salt '*' shadow.gen_password 'I_am_password'
161967                 salt '*' shadow.gen_password 'I_am_password' crypt_salt='I_am_salt' algorithm=sha256
161968
161969       salt.modules.solaris_shadow.info(name)
161970              Return information for the specified user
161971
161972              CLI Example:
161973
161974                 salt '*' shadow.info root
161975
161976       salt.modules.solaris_shadow.set_maxdays(name, maxdays)
161977              Set the maximum number of days during which a password is valid.
161978              See man passwd.
161979
161980              CLI Example:
161981
161982                 salt '*' shadow.set_maxdays username 90
161983
161984       salt.modules.solaris_shadow.set_mindays(name, mindays)
161985              Set the minimum number of days between password changes. See man
161986              passwd.
161987
161988              CLI Example:
161989
161990                 salt '*' shadow.set_mindays username 7
161991
161992       salt.modules.solaris_shadow.set_password(name, password)
161993              Set the password for a named user. The password must be a  prop‐
161994              erly  defined hash, the password hash can be generated with this
161995              command: openssl passwd -1 <plaintext password>
161996
161997              CLI Example:
161998
161999                 salt '*' shadow.set_password root $1$UYCIxa628.9qXjpQCjM4a..
162000
162001       salt.modules.solaris_shadow.set_warndays(name, warndays)
162002              Set the number of days of warning before a  password  change  is
162003              required.  See man passwd.
162004
162005              CLI Example:
162006
162007                 salt '*' shadow.set_warndays username 7
162008
162009   salt.modules.solaris_system
162010       Support for reboot, shutdown, etc
162011
162012       This module is assumes we are using solaris-like shutdown
162013
162014       New in version 2016.3.0.
162015
162016
162017       salt.modules.solaris_system.halt()
162018              Halt a running system
162019
162020              CLI Example:
162021
162022                 salt '*' system.halt
162023
162024       salt.modules.solaris_system.init(state)
162025              Change the system runlevel on sysV compatible systems
162026
162027              CLI Example:
162028
162029              state  string Init state
162030
162031                 salt '*' system.init 3
162032
162033       salt.modules.solaris_system.poweroff()
162034              Poweroff a running system
162035
162036              CLI Example:
162037
162038                 salt '*' system.poweroff
162039
162040       salt.modules.solaris_system.reboot(delay=0, message=None)
162041              Reboot the system
162042
162043              delay  int  Optional wait time in seconds before the system will
162044                     be rebooted.
162045
162046              message
162047                     string Optional message to broadcast before rebooting.
162048
162049              CLI Example:
162050
162051                 salt '*' system.reboot
162052                 salt '*' system.reboot 60 "=== system upgraded ==="
162053
162054       salt.modules.solaris_system.shutdown(delay=0, message=None)
162055              Shutdown a running system
162056
162057              delay  int Optional wait time in seconds before the system  will
162058                     be shutdown.
162059
162060              message
162061                     string Optional message to broadcast before rebooting.
162062
162063              CLI Example:
162064
162065                 salt '*' system.shutdown
162066                 salt '*' system.shutdown 60 "=== disk replacement ==="
162067
162068   salt.modules.solaris_user
162069       Manage users with the useradd command
162070
162071       IMPORTANT:
162072          If you feel that Salt should be using this module to manage users on
162073          a minion, and it is using a different module (or gives an error sim‐
162074          ilar to 'user.info' is not available), see here.
162075
162076       salt.modules.solaris_user.add(name,  uid=None,  gid=None,  groups=None,
162077       home=None, shell=None, unique=True, fullname=u'', roomnumber=u'', work‐
162078       phone=u'', homephone=u'', createhome=True, **kwargs)
162079              Add a user to the minion
162080
162081              CLI Example:
162082
162083                 salt '*' user.add name <uid> <gid> <groups> <home> <shell>
162084
162085       salt.modules.solaris_user.chfullname(name, fullname)
162086              Change the user's Full Name
162087
162088              CLI Example:
162089
162090                 salt '*' user.chfullname foo "Foo Bar"
162091
162092       salt.modules.solaris_user.chgid(name, gid)
162093              Change the default group of the user
162094
162095              CLI Example:
162096
162097                 salt '*' user.chgid foo 4376
162098
162099       salt.modules.solaris_user.chgroups(name, groups, append=False)
162100              Change the groups to which a user belongs
162101
162102              name   Username to modify
162103
162104              groups List  of  groups  to set for the user. Can be passed as a
162105                     comma-separated list or a Python list.
162106
162107              append False Set to True to append these groups  to  the  user's
162108                     existing  list of groups. Otherwise, the specified groups
162109                     will replace any existing groups for the user.
162110
162111              CLI Example:
162112
162113                 salt '*' user.chgroups foo wheel,root True
162114
162115       salt.modules.solaris_user.chhome(name, home, persist=False)
162116              Set a new home directory for an existing user
162117
162118              name   Username to modify
162119
162120              home   New home directory to set
162121
162122              persist
162123                     False Set to True to prevent configuration files  in  the
162124                     new  home  directory  from being overwritten by the files
162125                     from the skeleton directory.
162126
162127              CLI Example:
162128
162129                 salt '*' user.chhome foo /home/users/foo True
162130
162131       salt.modules.solaris_user.chhomephone(name, homephone)
162132              Change the user's Home Phone
162133
162134              CLI Example:
162135
162136                 salt '*' user.chhomephone foo "7735551234"
162137
162138       salt.modules.solaris_user.chroomnumber(name, roomnumber)
162139              Change the user's Room Number
162140
162141              CLI Example:
162142
162143                 salt '*' user.chroomnumber foo 123
162144
162145       salt.modules.solaris_user.chshell(name, shell)
162146              Change the default shell of the user
162147
162148              CLI Example:
162149
162150                 salt '*' user.chshell foo /bin/zsh
162151
162152       salt.modules.solaris_user.chuid(name, uid)
162153              Change the uid for a named user
162154
162155              CLI Example:
162156
162157                 salt '*' user.chuid foo 4376
162158
162159       salt.modules.solaris_user.chworkphone(name, workphone)
162160              Change the user's Work Phone
162161
162162              CLI Example:
162163
162164                 salt '*' user.chworkphone foo "7735550123"
162165
162166       salt.modules.solaris_user.delete(name, remove=False, force=False)
162167              Remove a user from the minion
162168
162169              CLI Example:
162170
162171                 salt '*' user.delete name remove=True force=True
162172
162173       salt.modules.solaris_user.getent(refresh=False)
162174              Return the list of all info for all users
162175
162176              CLI Example:
162177
162178                 salt '*' user.getent
162179
162180       salt.modules.solaris_user.info(name)
162181              Return user information
162182
162183              CLI Example:
162184
162185                 salt '*' user.info root
162186
162187       salt.modules.solaris_user.list_groups(name)
162188              Return a list of groups the named user belongs to
162189
162190              CLI Example:
162191
162192                 salt '*' user.list_groups foo
162193
162194       salt.modules.solaris_user.list_users()
162195              Return a list of all users
162196
162197              CLI Example:
162198
162199                 salt '*' user.list_users
162200
162201       salt.modules.solaris_user.rename(name, new_name)
162202              Change the username for a named user
162203
162204              CLI Example:
162205
162206                 salt '*' user.rename name new_name
162207
162208   salt.modules.solarisips
162209       IPS pkg support for Solaris
162210
162211       IMPORTANT:
162212          If you feel that Salt should be using this module to manage packages
162213          on  a  minion, and it is using a different module (or gives an error
162214          similar to 'pkg.install' is not available), see here.
162215
162216       This module provides support for Solaris 11 new  package  management  -
162217       IPS  (Image  Packaging  System).   This  is  the default pkg module for
162218       Solaris 11 (and later).
162219
162220       If you want to use also other packaging module (e.g. pkgutil)  together
162221       with  IPS,  you need to override the pkg provider in sls for each pack‐
162222       age:
162223
162224          mypackage:
162225            pkg.installed:
162226              - provider: pkgutil
162227
162228       Or you can override it globally by setting the providers  parameter  in
162229       your Minion config file like this:
162230
162231          providers:
162232            pkg: pkgutil
162233
162234       Or  you  can override it globally by setting the providers parameter in
162235       your Minion config file like this:
162236
162237          providers:
162238            pkg: pkgutil
162239
162240       salt.modules.solarisips.available_version(*names, **kwargs)
162241              This function is an alias of latest_version.
162242                 The available version of packages in the repository.  Accepts
162243                 full  or  partial  FMRI. Partial FMRI is returned if the full
162244                 FMRI could not be resolved.
162245
162246                 If  the  latest  version  of  a  given  package  is   already
162247                 installed, an empty string will be returned for that package.
162248
162249                 Please  use  pkg.latest_version  as  pkg.available_version is
162250                 being deprecated.
162251
162252                 Changed in version Fluorine:  Support  for  multiple  package
162253                 names added.
162254
162255
162256                 CLI Example:
162257
162258                     salt '*' pkg.latest_version bash
162259                     salt '*' pkg.latest_version pkg://solaris/entire
162260                     salt '*' pkg.latest_version postfix sendmail
162261
162262       salt.modules.solarisips.get_fmri(name, **kwargs)
162263              Returns FMRI from partial name. Returns empty string ('') if not
162264              found.  In case of multiple match, the function returns list  of
162265              all matched packages.
162266
162267              CLI Example:
162268
162269                 salt '*' pkg.get_fmri bash
162270
162271       salt.modules.solarisips.install(name=None,   refresh=False,  pkgs=None,
162272       version=None, test=False, **kwargs)
162273              Install the named package using the IPS  pkg  command.   Accepts
162274              full or partial FMRI.
162275
162276              Returns a dict containing the new package names and versions:
162277
162278                 {'<package>': {'old': '<old-version>',
162279                                'new': '<new-version>'}}
162280
162281              Multiple Package Installation Options:
162282
162283              pkgs   A list of packages to install. Must be passed as a python
162284                     list.
162285
162286              CLI Example:
162287
162288                 salt '*' pkg.install vim
162289                 salt '*' pkg.install pkg://solaris/editor/vim
162290                 salt '*' pkg.install pkg://solaris/editor/vim refresh=True
162291                 salt '*' pkg.install pkgs='["foo", "bar"]'
162292
162293       salt.modules.solarisips.is_installed(name, **kwargs)
162294              Returns True if the  package  is  installed.  Otherwise  returns
162295              False.   Name  can be full or partial FMRI.  In case of multiple
162296              match from partial FMRI name, it returns True.
162297
162298              CLI Example:
162299
162300                 salt '*' pkg.is_installed bash
162301
162302       salt.modules.solarisips.latest_version(*names, **kwargs)
162303              The available version of packages in  the  repository.   Accepts
162304              full  or partial FMRI. Partial FMRI is returned if the full FMRI
162305              could not be resolved.
162306
162307              If the latest version of a given package is  already  installed,
162308              an empty string will be returned for that package.
162309
162310              Please  use pkg.latest_version as pkg.available_version is being
162311              deprecated.
162312
162313              Changed in version Fluorine: Support for multiple package  names
162314              added.
162315
162316
162317              CLI Example:
162318
162319                 salt '*' pkg.latest_version bash
162320                 salt '*' pkg.latest_version pkg://solaris/entire
162321                 salt '*' pkg.latest_version postfix sendmail
162322
162323       salt.modules.solarisips.list_pkgs(versions_as_list=False, **kwargs)
162324              List the currently installed packages as a dict:
162325
162326                 {'<package_name>': '<version>'}
162327
162328              CLI Example:
162329
162330                 salt '*' pkg.list_pkgs
162331
162332       salt.modules.solarisips.list_upgrades(refresh=True, **kwargs)
162333              Lists all packages available for update.
162334
162335              When run in global zone, it reports only upgradable packages for
162336              the global zone.
162337
162338              When run in non-global zone, it can report more upgradable pack‐
162339              ages than pkg update -vn, because pkg update hides packages that
162340              require newer version of pkg://solaris/entire (which means  that
162341              they   can   be   upgraded   only  from  the  global  zone).  If
162342              pkg://solaris/entire is found in the list of upgrades, then  the
162343              global  zone  should be updated to get all possible updates. Use
162344              refresh=True to refresh the package database.
162345
162346              refresh
162347                     True Runs a full package database refresh before listing.
162348                     Set to False to disable running the refresh.
162349
162350                     Changed in version 2017.7.0.
162351
162352
162353                     In previous versions of Salt, refresh defaulted to False.
162354                     This was changed to  default  to  True  in  the  2017.7.0
162355                     release  to  make  the  behavior more consistent with the
162356                     other package modules, which all default to True.
162357
162358              CLI Example:
162359
162360                 salt '*' pkg.list_upgrades
162361                 salt '*' pkg.list_upgrades refresh=False
162362
162363       salt.modules.solarisips.normalize_name(name, **kwargs)
162364              Internal function. Normalizes pkg name to full FMRI before  run‐
162365              ning  pkg.install.  In  case of multiple matches or no match, it
162366              returns the name without modifications.
162367
162368              CLI Example:
162369
162370                 salt '*' pkg.normalize_name vim
162371
162372       salt.modules.solarisips.purge(name, **kwargs)
162373              Remove specified package. Accepts full or partial FMRI.
162374
162375              Returns a list containing the removed packages.
162376
162377              CLI Example:
162378
162379                 salt '*' pkg.purge <package name>
162380
162381       salt.modules.solarisips.refresh_db(full=False)
162382              Updates the remote repos database.
162383
162384              full : False
162385                 Set to True to force a refresh of the pkg DB  from  all  pub‐
162386                 lishers, regardless of the last refresh time.
162387
162388              CLI Example:
162389
162390                 salt '*' pkg.refresh_db
162391                 salt '*' pkg.refresh_db full=True
162392
162393       salt.modules.solarisips.remove(name=None, pkgs=None, **kwargs)
162394              Remove specified package. Accepts full or partial FMRI.  In case
162395              of multiple match, the command fails and won't modify the OS.
162396
162397              name   The name of the package to be deleted.
162398
162399              Multiple Package Options:
162400
162401              pkgs   A list of packages to delete. Must be passed as a  python
162402                     list.  The  name parameter will be ignored if this option
162403                     is passed.
162404
162405              Returns a list containing the removed packages.
162406
162407              CLI Example:
162408
162409                 salt '*' pkg.remove <package name>
162410                 salt '*' pkg.remove tcsh
162411                 salt '*' pkg.remove pkg://solaris/shell/tcsh
162412                 salt '*' pkg.remove pkgs='["foo", "bar"]'
162413
162414       salt.modules.solarisips.search(name, versions_as_list=False, **kwargs)
162415              Searches the repository for given pkg name.   The  name  can  be
162416              full  or  partial  FMRI. All matches are printed. Globs are also
162417              supported.
162418
162419              CLI Example:
162420
162421                 salt '*' pkg.search bash
162422
162423       salt.modules.solarisips.upgrade(refresh=False, **kwargs)
162424              Upgrade all packages to the latest possible version.   When  run
162425              in  global  zone,  it  updates  also  all  non-global zones.  In
162426              non-global zones upgrade is  limited  by  dependency  constrains
162427              linked to the version of pkg://solaris/entire.
162428
162429              Returns a dictionary containing the changes:
162430
162431                 {'<package>':  {'old': '<old-version>',
162432                                 'new': '<new-version>'}}
162433
162434              When  there is a failure, an explanation is also included in the
162435              error message, based on the return code of the pkg  update  com‐
162436              mand.
162437
162438              CLI Example:
162439
162440                 salt '*' pkg.upgrade
162441
162442       salt.modules.solarisips.upgrade_available(name)
162443              Check  if  there  is  an upgrade available for a certain package
162444              Accepts full or partial FMRI. Returns all matches found.
162445
162446              CLI Example:
162447
162448                 salt '*' pkg.upgrade_available apache-22
162449
162450       salt.modules.solarisips.version(*names, **kwargs)
162451              Common interface for obtaining the version  of  installed  pack‐
162452              ages.    Accepts   full   or   partial  FMRI.  If  called  using
162453              pkg_resource, full FMRI is required.  Partial FMRI  is  returned
162454              if the package is not installed.
162455
162456              CLI Example:
162457
162458                 salt '*' pkg.version vim
162459                 salt '*' pkg.version foo bar baz
162460                 salt '*' pkg_resource.version pkg://solaris/entire
162461
162462   salt.modules.solarispkg
162463       Package support for Solaris
162464
162465       IMPORTANT:
162466          If you feel that Salt should be using this module to manage packages
162467          on a minion, and it is using a different module (or gives  an  error
162468          similar to 'pkg.install' is not available), see here.
162469
162470       salt.modules.solarispkg.install(name=None,                sources=None,
162471       saltenv=u'base', **kwargs)
162472              Install the passed package. Can install packages from  the  fol‐
162473              lowing sources:
162474
162475              · Locally (package already exists on the minion
162476
162477              · HTTP/HTTPS server
162478
162479              · FTP server
162480
162481              · Salt master
162482
162483              Returns a dict containing the new package names and versions:
162484
162485                 {'<package>': {'old': '<old-version>',
162486                                'new': '<new-version>'}}
162487
162488              CLI Examples:
162489
162490                 # Installing a data stream pkg that already exists on the minion
162491
162492                 salt '*' pkg.install sources='[{"<pkg name>": "/dir/on/minion/<pkg filename>"}]'
162493                 salt '*' pkg.install sources='[{"SMClgcc346": "/var/spool/pkg/gcc-3.4.6-sol10-sparc-local.pkg"}]'
162494
162495                 # Installing a data stream pkg that exists on the salt master
162496
162497                 salt '*' pkg.install sources='[{"<pkg name>": "salt://pkgs/<pkg filename>"}]'
162498                 salt '*' pkg.install sources='[{"SMClgcc346": "salt://pkgs/gcc-3.4.6-sol10-sparc-local.pkg"}]'
162499
162500              CLI Example:
162501
162502                 # Installing a data stream pkg that exists on a HTTP server
162503                 salt '*' pkg.install sources='[{"<pkg name>": "http://packages.server.com/<pkg filename>"}]'
162504                 salt '*' pkg.install sources='[{"SMClgcc346": "http://packages.server.com/gcc-3.4.6-sol10-sparc-local.pkg"}]'
162505
162506              If  working with solaris zones and you want to install a package
162507              only in the global zone you can pass 'current_zone_only=True' to
162508              salt  to  have  the  package  only installed in the global zone.
162509              (Behind the scenes this is passing '-G' to the pkgadd  command.)
162510              Solaris  default when installing a package in the global zone is
162511              to install it in all zones. This overrides that and installs the
162512              package only in the global.
162513
162514              CLI Example:
162515
162516                 # Installing a data stream package only in the global zone:
162517                 salt 'global_zone' pkg.install sources='[{"SMClgcc346": "/var/spool/pkg/gcc-3.4.6-sol10-sparc-local.pkg"}]' current_zone_only=True
162518
162519              By default salt automatically provides an adminfile, to automate
162520              package installation, with these options set:
162521
162522                 email=
162523                 instance=quit
162524                 partial=nocheck
162525                 runlevel=nocheck
162526                 idepend=nocheck
162527                 rdepend=nocheck
162528                 space=nocheck
162529                 setuid=nocheck
162530                 conflict=nocheck
162531                 action=nocheck
162532                 basedir=default
162533
162534              You can override any of these options in two ways. First you can
162535              optionally  pass  any  of  the  options  as  a kwarg to the mod‐
162536              ule/state to override the default value or  you  can  optionally
162537              pass  the  'admin_source' option providing your own adminfile to
162538              the minions.
162539
162540              Note: You can find all of the possible options to provide to the
162541              adminfile by reading the admin man page:
162542
162543                 man -s 4 admin
162544
162545              CLI Example:
162546
162547                 # Overriding the 'instance' adminfile option when calling the module directly
162548                 salt '*' pkg.install sources='[{"<pkg name>": "salt://pkgs/<pkg filename>"}]' instance="overwrite"
162549
162550              SLS Example:
162551
162552                 # Overriding the 'instance' adminfile option when used in a state
162553
162554                 SMClgcc346:
162555                   pkg.installed:
162556                     - sources:
162557                       - SMClgcc346: salt://srv/salt/pkgs/gcc-3.4.6-sol10-sparc-local.pkg
162558                     - instance: overwrite
162559
162560              NOTE:
162561                 The  ID  declaration  is ignored, as the package name is read
162562                 from the sources parameter.
162563
162564              CLI Example:
162565
162566                 # Providing your own adminfile when calling the module directly
162567
162568                 salt '*' pkg.install sources='[{"<pkg name>": "salt://pkgs/<pkg filename>"}]' admin_source='salt://pkgs/<adminfile filename>'
162569
162570                 # Providing your own adminfile when using states
162571
162572                 <pkg name>:
162573                   pkg.installed:
162574                     - sources:
162575                       - <pkg name>: salt://pkgs/<pkg filename>
162576                     - admin_source: salt://pkgs/<adminfile filename>
162577
162578              NOTE:
162579                 The ID declaration is ignored, as the package  name  is  read
162580                 from the sources parameter.
162581
162582       salt.modules.solarispkg.latest_version(*names, **kwargs)
162583              Return  the  latest  version  of the named package available for
162584              upgrade or installation. If more than one package name is speci‐
162585              fied, a dict of name/version pairs is returned.
162586
162587              If  the  latest version of a given package is already installed,
162588              an empty string will be returned for that package.
162589
162590              CLI Example:
162591
162592                 salt '*' pkg.latest_version <package name>
162593                 salt '*' pkg.latest_version <package1> <package2> <package3> ...
162594
162595              NOTE: As package repositories are not  presently  supported  for
162596              Solaris pkgadd, this function will always return an empty string
162597              for a given package.
162598
162599       salt.modules.solarispkg.list_pkgs(versions_as_list=False, **kwargs)
162600              List the packages currently installed as a dict:
162601
162602                 {'<package_name>': '<version>'}
162603
162604              CLI Example:
162605
162606                 salt '*' pkg.list_pkgs
162607
162608       salt.modules.solarispkg.purge(name=None, pkgs=None, **kwargs)
162609              Package purges are not supported, this function is identical  to
162610              remove().
162611
162612              name   The name of the package to be deleted
162613
162614              Multiple Package Options:
162615
162616              pkgs   A  list of packages to delete. Must be passed as a python
162617                     list. The name parameter will be ignored if  this  option
162618                     is passed.
162619
162620              New in version 0.16.0.
162621
162622
162623              Returns a dict containing the changes.
162624
162625              CLI Example:
162626
162627                 salt '*' pkg.purge <package name>
162628                 salt '*' pkg.purge <package1>,<package2>,<package3>
162629                 salt '*' pkg.purge pkgs='["foo", "bar"]'
162630
162631       salt.modules.solarispkg.remove(name=None,  pkgs=None,  saltenv=u'base',
162632       **kwargs)
162633              Remove packages with pkgrm
162634
162635              name   The name of the package to be deleted
162636
162637              By default salt automatically provides an adminfile, to automate
162638              package removal, with these options set:
162639
162640                 email=
162641                 instance=quit
162642                 partial=nocheck
162643                 runlevel=nocheck
162644                 idepend=nocheck
162645                 rdepend=nocheck
162646                 space=nocheck
162647                 setuid=nocheck
162648                 conflict=nocheck
162649                 action=nocheck
162650                 basedir=default
162651
162652              You can override any of these options in two ways. First you can
162653              optionally pass any of the  options  as  a  kwarg  to  the  mod‐
162654              ule/state  to  override  the default value or you can optionally
162655              pass the 'admin_source' option providing your own  adminfile  to
162656              the minions.
162657
162658              Note: You can find all of the possible options to provide to the
162659              adminfile by reading the admin man page:
162660
162661                 man -s 4 admin
162662
162663              Multiple Package Options:
162664
162665              pkgs   A list of packages to delete. Must be passed as a  python
162666                     list.  The  name parameter will be ignored if this option
162667                     is passed.
162668
162669              New in version 0.16.0.
162670
162671
162672              Returns a dict containing the changes.
162673
162674              CLI Example:
162675
162676                 salt '*' pkg.remove <package name>
162677                 salt '*' pkg.remove SUNWgit
162678                 salt '*' pkg.remove <package1>,<package2>,<package3>
162679                 salt '*' pkg.remove pkgs='["foo", "bar"]'
162680
162681       salt.modules.solarispkg.upgrade_available(name)
162682              Check whether or not an upgrade is available for a given package
162683
162684              CLI Example:
162685
162686                 salt '*' pkg.upgrade_available <package name>
162687
162688       salt.modules.solarispkg.version(*names, **kwargs)
162689              Returns a string representing the package version  or  an  empty
162690              string if not installed. If more than one package name is speci‐
162691              fied, a dict of name/version pairs is returned.
162692
162693              CLI Example:
162694
162695                 salt '*' pkg.version <package name>
162696                 salt '*' pkg.version <package1> <package2> <package3> ...
162697
162698   salt.modules.solr
162699       Apache Solr Salt Module
162700
162701       Author: Jed Glazner Version: 0.2.1 Modified: 12/09/2011
162702
162703       This module uses HTTP requests to talk to the apache solr request  han‐
162704       dlers to gather information and report errors. Because of this the min‐
162705       ion doesn't necessarily need to reside on the actual slave.  However if
162706       you want to use the signal function the minion must reside on the phys‐
162707       ical solr host.
162708
162709       This module supports multi-core and standard setups.   Certain  methods
162710       are  master/slave  specific.   Make  sure you set the solr.type. If you
162711       have questions or want a feature request please ask.
162712
162713   Coming Features in 0.3
162714       1. Add command for checking for replication failures on slaves
162715
162716       2. Improve match_index_versions since it's pointless on busy solr  mas‐
162717          ters
162718
162719       3. Add  additional  local  fs checks for backups to make sure they suc‐
162720          ceeded
162721
162722   Override these in the minion config
162723       solr.cores
162724              A list of core names  e.g.  ['core1','core2'].   An  empty  list
162725              indicates non-multicore setup.
162726
162727       solr.baseurl
162728              The root level URL to access solr via HTTP
162729
162730       solr.request_timeout
162731              The  number  of  seconds  before  timing  out  an HTTP/HTTPS/FTP
162732              request. If nothing is specified then the python global  timeout
162733              setting is used.
162734
162735       solr.type
162736              Possible values are 'master' or 'slave'
162737
162738       solr.backup_path
162739              The  path  to store your backups. If you are using cores and you
162740              can specify to append the core name to the path  in  the  backup
162741              method.
162742
162743       solr.num_backups
162744              For  versions of solr >= 3.5. Indicates the number of backups to
162745              keep. This option is ignored if your version is less.
162746
162747       solr.init_script
162748              The full path to your init script with start/stop options
162749
162750       solr.dih.options
162751              A list of options to pass to the DIH.
162752
162753   Required Options for DIH
162754       clean  False Clear the index before importing
162755
162756       commit True Commit the documents to the index upon completion
162757
162758       optimize
162759              True Optimize the index after commit is complete
162760
162761       verbose
162762              True Get verbose output
162763
162764       salt.modules.solr.abort_import(handler, host=None, core_name=None, ver‐
162765       bose=False)
162766              MASTER  ONLY  Aborts an existing import command to the specified
162767              handler.  This command can only be run if the minion is  config‐
162768              ured with solr.type=master
162769
162770              handler
162771                     str The name of the data import handler.
162772
162773              host   str  (None)  The  solr host to query. __opts__['host'] is
162774                     default.
162775
162776              core   str (None) The core the handler belongs to.
162777
162778              verbose
162779                     boolean (False) Run the command with verbose output.
162780
162781              Return : dict<str,obj>:
162782
162783                 {'success':boolean, 'data':dict, 'errors':list, 'warnings':list}
162784
162785              CLI Example:
162786
162787                 salt '*' solr.abort_import dataimport None music {'clean':True}
162788
162789       salt.modules.solr.backup(host=None,                     core_name=None,
162790       append_core_to_path=False)
162791              Tell  solr  make a backup.  This method can be mis-leading since
162792              it uses the backup API.  If an error happens during  the  backup
162793              you  are  not notified.  The status: 'OK' in the response simply
162794              means that solr received the request successfully.
162795
162796              host   str (None) The solr host to  query.  __opts__['host']  is
162797                     default.
162798
162799              core_name
162800                     str  (None)  The  name  of  the solr core if using cores.
162801                     Leave this blank if you are not using  cores  or  if  you
162802                     want to check all cores.
162803
162804              append_core_to_path
162805                     boolean  (False)  If True add the name of the core to the
162806                     backup path. Assumes that minion backup path is not None.
162807
162808              Return : dict<str,obj>:
162809
162810                 {'success':boolean, 'data':dict, 'errors':list, 'warnings':list}
162811
162812              CLI Example:
162813
162814                 salt '*' solr.backup music
162815
162816       salt.modules.solr.core_status(host=None, core_name=None)
162817              MULTI-CORE HOSTS ONLY Get the status for a  given  core  or  all
162818              cores if no core is specified
162819
162820              host   str  (None)  The  solr host to query. __opts__['host'] is
162821                     default.
162822
162823              core_name
162824                     str The name of the core to reload
162825
162826              Return : dict<str,obj>:
162827
162828                 {'success':boolean, 'data':dict, 'errors':list, 'warnings':list}
162829
162830              CLI Example:
162831
162832                 salt '*' solr.core_status None music
162833
162834       salt.modules.solr.delta_import(handler,   host=None,    core_name=None,
162835       options=None, extra=None)
162836              Submits  an import command to the specified handler using speci‐
162837              fied options.  This command can only be run  if  the  minion  is
162838              configured with solr.type=master
162839
162840              handler
162841                     str The name of the data import handler.
162842
162843              host   str  (None)  The  solr host to query. __opts__['host'] is
162844                     default.
162845
162846              core   str (None) The core the handler belongs to.
162847
162848              options
162849                     dict (__opts__) A list of options such as clean, optimize
162850                     commit,  verbose,  and  pause_replication. leave blank to
162851                     use  __opts__  defaults.  options  will  be  merged  with
162852                     __opts__
162853
162854              extra  dict  ([]) Extra name value pairs to pass to the handler.
162855                     e.g. ["name=value"]
162856
162857              Return : dict<str,obj>:
162858
162859                 {'success':boolean, 'data':dict, 'errors':list, 'warnings':list}
162860
162861              CLI Example:
162862
162863                 salt '*' solr.delta_import dataimport None music {'clean':True}
162864
162865       salt.modules.solr.full_import(handler,    host=None,    core_name=None,
162866       options=None, extra=None)
162867              MASTER  ONLY  Submits an import command to the specified handler
162868              using specified options.  This command can only be  run  if  the
162869              minion is configured with solr.type=master
162870
162871              handler
162872                     str The name of the data import handler.
162873
162874              host   str  (None)  The  solr host to query. __opts__['host'] is
162875                     default.
162876
162877              core   str (None) The core the handler belongs to.
162878
162879              options
162880                     dict (__opts__) A list of options such as clean, optimize
162881                     commit,  verbose,  and  pause_replication. leave blank to
162882                     use  __opts__  defaults.  options  will  be  merged  with
162883                     __opts__
162884
162885              extra  dict  ([]) Extra name value pairs to pass to the handler.
162886                     e.g. ["name=value"]
162887
162888              Return : dict<str,obj>:
162889
162890                 {'success':boolean, 'data':dict, 'errors':list, 'warnings':list}
162891
162892              CLI Example:
162893
162894                 salt '*' solr.full_import dataimport None music {'clean':True}
162895
162896       salt.modules.solr.import_status(handler,   host=None,   core_name=None,
162897       verbose=False)
162898              Submits  an import command to the specified handler using speci‐
162899              fied options.  This command can only be run  if  the  minion  is
162900              configured with solr.type: 'master'
162901
162902              handler
162903                     str The name of the data import handler.
162904
162905              host   str  (None)  The  solr host to query. __opts__['host'] is
162906                     default.
162907
162908              core   str (None) The core the handler belongs to.
162909
162910              verbose
162911                     boolean (False) Specifies verbose output
162912
162913              Return : dict<str,obj>:
162914
162915                 {'success':boolean, 'data':dict, 'errors':list, 'warnings':list}
162916
162917              CLI Example:
162918
162919                 salt '*' solr.import_status dataimport None music False
162920
162921       salt.modules.solr.is_replication_enabled(host=None, core_name=None)
162922              SLAVE CALL Check for errors, and determine if a slave is  repli‐
162923              cating or not.
162924
162925              host   str  (None)  The  solr host to query. __opts__['host'] is
162926                     default.
162927
162928              core_name
162929                     str (None) The name of the  solr  core  if  using  cores.
162930                     Leave  this  blank  if  you are not using cores or if you
162931                     want to check all cores.
162932
162933              Return : dict<str,obj>:
162934
162935                 {'success':boolean, 'data':dict, 'errors':list, 'warnings':list}
162936
162937              CLI Example:
162938
162939                 salt '*' solr.is_replication_enabled music
162940
162941       salt.modules.solr.lucene_version(core_name=None)
162942              Gets the lucene version that solr is using. If you are running a
162943              multi-core  setup  you  should specify a core name since all the
162944              cores run under the same servlet container, they will  all  have
162945              the same version.
162946
162947              core_name
162948                     str  (None)  The  name  of  the solr core if using cores.
162949                     Leave this blank if you are not using  cores  or  if  you
162950                     want to check all cores.
162951
162952              Return: dict<str,obj>:
162953
162954                 {'success':boolean, 'data':dict, 'errors':list, 'warnings':list}
162955
162956              CLI Example:
162957
162958                 salt '*' solr.lucene_version
162959
162960       salt.modules.solr.match_index_versions(host=None, core_name=None)
162961              SLAVE  CALL  Verifies that the master and the slave versions are
162962              in sync by comparing the index version. If  you  are  constantly
162963              pushing  updates  the  index  the master and slave versions will
162964              seldom match. A solution to this  is  pause  indexing  every  so
162965              often  to allow the slave to replicate and then call this method
162966              before allowing indexing to resume.
162967
162968              host   str (None) The solr host to  query.  __opts__['host']  is
162969                     default.
162970
162971              core_name
162972                     str  (None)  The  name  of  the solr core if using cores.
162973                     Leave this blank if you are not using  cores  or  if  you
162974                     want to check all cores.
162975
162976              Return : dict<str,obj>:
162977
162978                 {'success':boolean, 'data':dict, 'errors':list, 'warnings':list}
162979
162980              CLI Example:
162981
162982                 salt '*' solr.match_index_versions music
162983
162984       salt.modules.solr.optimize(host=None, core_name=None)
162985              Search  queries  fast, but it is a very expensive operation. The
162986              ideal process is to run this with a master/slave  configuration.
162987              Then  you  can optimize the master, and push the optimized index
162988              to the slaves.  If you are running a single solr instance, or if
162989              you  are  going to run this on a slave be aware than search per‐
162990              formance will be horrible while this command is being run. Addi‐
162991              tionally  it  can  take a LONG time to run and your HTTP request
162992              may timeout. If that happens adjust your timeout settings.
162993
162994              host   str (None) The solr host to  query.  __opts__['host']  is
162995                     default.
162996
162997              core_name
162998                     str  (None)  The  name  of  the solr core if using cores.
162999                     Leave this blank if you are not using  cores  or  if  you
163000                     want to check all cores.
163001
163002              Return : dict<str,obj>:
163003
163004                 {'success':boolean, 'data':dict, 'errors':list, 'warnings':list}
163005
163006              CLI Example:
163007
163008                 salt '*' solr.optimize music
163009
163010       salt.modules.solr.ping(host=None, core_name=None)
163011              Does  a  health  check  on solr, makes sure solr can talk to the
163012              indexes.
163013
163014              host   str (None) The solr host to  query.  __opts__['host']  is
163015                     default.
163016
163017              core_name
163018                     str  (None)  The  name  of  the solr core if using cores.
163019                     Leave this blank if you are not using  cores  or  if  you
163020                     want to check all cores.
163021
163022              Return : dict<str,obj>:
163023
163024                 {'success':boolean, 'data':dict, 'errors':list, 'warnings':list}
163025
163026              CLI Example:
163027
163028                 salt '*' solr.ping music
163029
163030       salt.modules.solr.reload_core(host=None, core_name=None)
163031              MULTI-CORE  HOSTS  ONLY Load a new core from the same configura‐
163032              tion as an existing registered core.  While the  "new"  core  is
163033              initializing,  the  "old"  one will continue to accept requests.
163034              Once it has finished, all new request will go to the "new" core,
163035              and the "old" core will be unloaded.
163036
163037              host   str  (None)  The  solr host to query. __opts__['host'] is
163038                     default.
163039
163040              core_name
163041                     str The name of the core to reload
163042
163043              Return : dict<str,obj>:
163044
163045                 {'success':boolean, 'data':dict, 'errors':list, 'warnings':list}
163046
163047              CLI Example:
163048
163049                 salt '*' solr.reload_core None music
163050
163051              Return data is in the following format:
163052
163053                 {'success':bool, 'data':dict, 'errors':list, 'warnings':list}
163054
163055       salt.modules.solr.reload_import_config(handler,              host=None,
163056       core_name=None, verbose=False)
163057              MASTER  ONLY re-loads the handler config XML file.  This command
163058              can only be run if the minion is a 'master' type
163059
163060              handler
163061                     str The name of the data import handler.
163062
163063              host   str (None) The solr host to  query.  __opts__['host']  is
163064                     default.
163065
163066              core   str (None) The core the handler belongs to.
163067
163068              verbose
163069                     boolean (False) Run the command with verbose output.
163070
163071              Return : dict<str,obj>:
163072
163073                 {'success':boolean, 'data':dict, 'errors':list, 'warnings':list}
163074
163075              CLI Example:
163076
163077                 salt '*' solr.reload_import_config dataimport None music {'clean':True}
163078
163079       salt.modules.solr.replication_details(host=None, core_name=None)
163080              Get the full replication details.
163081
163082              host   str  (None)  The  solr host to query. __opts__['host'] is
163083                     default.
163084
163085              core_name
163086                     str (None) The name of the  solr  core  if  using  cores.
163087                     Leave  this  blank  if  you are not using cores or if you
163088                     want to check all cores.
163089
163090              Return : dict<str,obj>:
163091
163092                 {'success':boolean, 'data':dict, 'errors':list, 'warnings':list}
163093
163094              CLI Example:
163095
163096                 salt '*' solr.replication_details music
163097
163098       salt.modules.solr.set_is_polling(polling, host=None, core_name=None)
163099              SLAVE CALL Prevent  the  slaves  from  polling  the  master  for
163100              updates.
163101
163102              polling
163103                     boolean True will enable polling. False will disable it.
163104
163105              host   str  (None)  The  solr host to query. __opts__['host'] is
163106                     default.
163107
163108              core_name
163109                     str (None) The name of the  solr  core  if  using  cores.
163110                     Leave  this  blank  if  you are not using cores or if you
163111                     want to check all cores.
163112
163113              Return : dict<str,obj>:
163114
163115                 {'success':boolean, 'data':dict, 'errors':list, 'warnings':list}
163116
163117              CLI Example:
163118
163119                 salt '*' solr.set_is_polling False
163120
163121       salt.modules.solr.set_replication_enabled(status,            host=None,
163122       core_name=None)
163123              MASTER  ONLY  Sets  the  master to ignore poll requests from the
163124              slaves. Useful when you don't want the slaves replicating during
163125              indexing or when clearing the index.
163126
163127              status boolean  Sets  the  replication  status  to the specified
163128                     state.
163129
163130              host   str (None) The solr host to  query.  __opts__['host']  is
163131                     default.
163132
163133              core_name
163134                     str  (None)  The  name  of  the solr core if using cores.
163135                     Leave this blank if you are not using  cores  or  if  you
163136                     want to set the status on all cores.
163137
163138              Return : dict<str,obj>:
163139
163140                 {'success':boolean, 'data':dict, 'errors':list, 'warnings':list}
163141
163142              CLI Example:
163143
163144                 salt '*' solr.set_replication_enabled false, None, music
163145
163146       salt.modules.solr.signal(signal=None)
163147              Signals  Apache  Solr to start, stop, or restart. Obviously this
163148              is only going to work if the minion resides on  the  solr  host.
163149              Additionally  Solr  doesn't ship with an init script so one must
163150              be created.
163151
163152              signal str (None) The command to pass to the  apache  solr  init
163153                     valid values are 'start', 'stop', and 'restart'
163154
163155              CLI Example:
163156
163157                 salt '*' solr.signal restart
163158
163159       salt.modules.solr.version(core_name=None)
163160              Gets  the solr version for the core specified.  You should spec‐
163161              ify a core here as all the cores will run under the same servlet
163162              container and so will all have the same version.
163163
163164              core_name
163165                     str  (None)  The  name  of  the solr core if using cores.
163166                     Leave this blank if you are not using  cores  or  if  you
163167                     want to check all cores.
163168
163169              Return : dict<str,obj>:
163170
163171                 {'success':boolean, 'data':dict, 'errors':list, 'warnings':list}
163172
163173              CLI Example:
163174
163175                 salt '*' solr.version
163176
163177   salt.modules.solrcloud module
163178       Module for solrcloud configuration
163179
163180       New in version 2017.7.0.
163181
163182
163183       For  now,  module  is limited to http-exposed API. It doesn't implement
163184       config upload via Solr zkCli
163185
163186       salt.modules.solrcloud.BOOL_PROPS_LIST   =   [u'transient',   u'loadOn‐
163187       Startup']
163188              Collections      options      type     definition     Reference:
163189              https://cwiki.apache.org/confluence/display/solr/Collections+API#CollectionsAPI-api1
163190
163191       salt.modules.solrcloud.DICT_OPTIONS_LIST = [u'properties']
163192              Collection         unmodifiable        options        Reference:
163193              https://cwiki.apache.org/confluence/display/solr/Collections+API#CollectionsAPI-modifycoll
163194
163195       salt.modules.solrcloud.alias_exists(alias_name, **kwargs)
163196              Check alias existence
163197
163198              Additional parameters (kwargs) may be passed, they will be prox‐
163199              ied to http.query
163200
163201              CLI Example:
163202
163203                 salt '*' solrcloud.alias_exists my_alias
163204
163205       salt.modules.solrcloud.alias_get_collections(alias_name, **kwargs)
163206              Get collection list for an alias
163207
163208              Additional parameters (kwargs) may be passed, they will be prox‐
163209              ied to http.query
163210
163211              CLI Example:
163212
163213                 salt '*' solrcloud.alias_get my_alias
163214
163215       salt.modules.solrcloud.alias_set_collections(alias_name,        collec‐
163216       tions=None, **kwargs)
163217              Define an alias
163218
163219              Additional parameters (kwargs) may be passed, they will be prox‐
163220              ied to http.query
163221
163222              CLI Example:
163223
163224                 salt '*' solrcloud.alias_set my_alias collections=[collection1, colletion2]
163225
163226       salt.modules.solrcloud.cluster_status(**kwargs)
163227              Get cluster status
163228
163229              Additional parameters (kwargs) may be passed, they will be prox‐
163230              ied to http.query
163231
163232              CLI Example:
163233
163234                 salt '*' solrcloud.cluster_status
163235
163236       salt.modules.solrcloud.collection_backup(collection_name,     location,
163237       backup_name=None, **kwargs)
163238              Create a backup for a collection.
163239
163240              Additional parameters (kwargs) may be passed, they will be prox‐
163241              ied to http.query
163242
163243              CLI Example:
163244
163245                 salt '*' solrcloud.core_backup collection_name /mnt/nfs_backup
163246
163247       salt.modules.solrcloud.collection_backup_all(location,
163248       backup_name=None, **kwargs)
163249              Create a backup for all collection present on the server.
163250
163251              Additional parameters (kwargs) may be passed, they will be prox‐
163252              ied to http.query
163253
163254              CLI Example:
163255
163256                 salt '*' solrcloud.core_backup /mnt/nfs_backup
163257
163258       salt.modules.solrcloud.collection_check_options(options)
163259              Check collections options
163260
163261              CLI Example:
163262
163263                 salt '*' solrcloud.collection_check_options '{"replicationFactor":4}'
163264
163265       salt.modules.solrcloud.collection_create(collection_name, options=None,
163266       **kwargs)
163267              Create a collection,
163268
163269              Additional parameters (kwargs) may be passed, they will be prox‐
163270              ied to http.query
163271
163272              CLI Example:
163273
163274                 salt '*' solrcloud.collection_create collection_name
163275
163276              Collection creation options may be passed  using  the  "options"
163277              parameter.  Do not include option "name" since it already speci‐
163278              fied by the mandatory parameter "collection_name"
163279
163280                 salt '*' solrcloud.collection_create collection_name options={"replicationFactor":2, "numShards":3}
163281
163282              Cores options may  be  passed  using  the  "properties"  key  in
163283              options.  Do not include property "name"
163284
163285                 salt '*' solrcloud.collection_create collection_name options={"replicationFactor":2, "numShards":3,             "properties":{"dataDir":"/srv/solr/hugePartitionSollection"}}
163286
163287       salt.modules.solrcloud.collection_creation_options()
163288              Get collection option list that can only be defined at creation
163289
163290              CLI Example:
163291
163292                 salt '*' solrcloud.collection_creation_options
163293
163294       salt.modules.solrcloud.collection_exists(collection_name, **kwargs)
163295              Check if a collection exists
163296
163297              Additional parameters (kwargs) may be passed, they will be prox‐
163298              ied to http.query
163299
163300              CLI Example:
163301
163302                 salt '*' solrcloud.collection_exists collection_name
163303
163304       salt.modules.solrcloud.collection_get_options(collection_name,
163305       **kwargs)
163306              Get collection options
163307
163308              Additional parameters (kwargs) may be passed, they will be prox‐
163309              ied to http.query
163310
163311              CLI Example:
163312
163313                 salt '*' solrcloud.collection_get_options collection_name
163314
163315       salt.modules.solrcloud.collection_list(**kwargs)
163316              List all collections
163317
163318              Additional parameters (kwargs) may be passed, they will be prox‐
163319              ied to http.query
163320
163321              CLI Example:
163322
163323                 salt '*' solrcloud.collection_list
163324
163325       salt.modules.solrcloud.collection_reload(collection, **kwargs)
163326              Check if a collection exists
163327
163328              Additional parameters (kwargs) may be passed, they will be prox‐
163329              ied to http.query
163330
163331              CLI Example:
163332
163333                 salt '*' solrcloud.collection_reload collection_name
163334
163335       salt.modules.solrcloud.collection_set_options(collection_name, options,
163336       **kwargs)
163337              Change collection options
163338
163339              Additional parameters (kwargs) may be passed, they will be prox‐
163340              ied to http.query
163341
163342              Note that not every parameter can be  changed  after  collection
163343              creation
163344
163345              CLI Example:
163346
163347                 salt '*' solrcloud.collection_set_options collection_name options={"replicationFactor":4}
163348
163349       salt.modules.solrcloud.log = <salt.log.setup.SaltLoggingClass object>
163350              Core      properties      type      definition.       Reference:
163351              https://cwiki.apache.org/confluence/display/solr/Defining+core.properties
163352
163353   salt.modules.splunk
163354       Module for interop with the Splunk API
163355
163356       New in version 2016.3.0..
163357
163358
163359       depends
163360
163361              · splunk-sdk python module
163362
163363       configuration
163364              Configure  this module by specifying the name of a configuration
163365              profile in the minion config, minion pillar, or  master  config.
163366              The module will use the 'splunk' key by default, if defined.
163367
163368              For example:
163369
163370                 splunk:
163371                     username: alice
163372                     password: abc123
163373                     host: example.splunkcloud.com
163374                     port: 8080
163375
163376       salt.modules.splunk.create_user(email, profile=u'splunk', **kwargs)
163377              create a splunk user by name/email
163378
163379              CLI Example:
163380                 salt     myminion     splunk.create_user     user@example.com
163381                 roles=['user'] realname="Test User" name=testuser
163382
163383       salt.modules.splunk.delete_user(email, profile=u'splunk')
163384              Delete a splunk user by email
163385
163386              CLI Example:
163387                 salt myminion splunk_user.delete 'user@example.com'
163388
163389       salt.modules.splunk.get_user(email, profile=u'splunk', **kwargs)
163390              Get a splunk user by name/email
163391
163392              CLI Example:
163393                 salt     myminion     splunk.get_user      'user@example.com'
163394                 user_details=false      salt     myminion     splunk.get_user
163395                 'user@example.com' user_details=true
163396
163397       salt.modules.splunk.list_users(profile=u'splunk')
163398              List all users in the splunk DB
163399
163400              CLI Example:
163401                 salt myminion splunk.list_users
163402
163403       salt.modules.splunk.update_user(email, profile=u'splunk', **kwargs)
163404              Create a splunk user by email
163405
163406              CLI Example:
163407                 salt    myminion    splunk.update_user     example@domain.com
163408                 roles=['user'] realname="Test User"
163409
163410   salt.modules.splunk_search
163411       Module for interop with the Splunk API
163412
163413       New in version 2015.5.0.
163414
163415
163416       depends
163417
163418              · splunk-sdk python module
163419
163420       configuration
163421              Configure  this module by specifying the name of a configuration
163422              profile in the minion config, minion pillar, or  master  config.
163423              The module will use the 'splunk' key by default, if defined.
163424
163425              For example:
163426
163427                 splunk:
163428                     username: alice
163429                     password: abc123
163430                     host: example.splunkcloud.com
163431                     port: 8080
163432
163433       salt.modules.splunk_search.create(name, profile=u'splunk', **kwargs)
163434              Create a splunk search
163435
163436              CLI Example:
163437                 splunk_search.create 'my search name' search='error msg'
163438
163439       salt.modules.splunk_search.delete(name, profile=u'splunk')
163440              Delete a splunk search
163441
163442              CLI Example:
163443                 splunk_search.delete 'my search name'
163444
163445       salt.modules.splunk_search.get(name, profile=u'splunk')
163446              Get a splunk search
163447
163448              CLI Example:
163449                 splunk_search.get 'my search name'
163450
163451       salt.modules.splunk_search.list_(profile=u'splunk')
163452              List splunk searches (names only)
163453
163454              CLI Example:
163455                     splunk_search.list
163456
163457       salt.modules.splunk_search.list_all(prefix=None,  app=None, owner=None,
163458       description_contains=None, name_not_contains=None, profile=u'splunk')
163459              Get all splunk search details. Produces results that can be used
163460              to create an sls file.
163461
163462              if app or owner are specified, results will be limited to match‐
163463              ing saved searches.
163464
163465              if description_contains is specified, results will be limited to
163466              those  where  "description_contains  in  description" is true if
163467              name_not_contains is specified, results will be limited to those
163468              where "name_not_contains not in name" is true.
163469
163470              If  prefix parameter is given, alarm names in the output will be
163471              prepended with the prefix; alarms that have the prefix  will  be
163472              skipped.  This can be used to convert existing alarms to be man‐
163473              aged by salt, as follows:
163474
163475              CLI example:
163476
163477                 1.
163478
163479                    Make a backup of all existing searches
163480                           $ salt-call splunk_search.list_all --out=txt |  sed
163481                           "s/local: //" > legacy_searches.sls
163482
163483                 2.
163484
163485                    Get all searches with new prefixed names
163486                           $  salt-call  splunk_search.list_all "prefix=**MAN‐
163487                           AGED BY SALT** " --out=txt | sed  "s/local:  //"  >
163488                           managed_searches.sls
163489
163490                 3.
163491
163492                    Insert the managed searches into splunk
163493                           $ salt-call state.sls managed_searches.sls
163494
163495                 4. Manually verify that the new searches look right
163496
163497                 5. Delete  the  original  searches  $  sed  s/present/absent/
163498                    legacy_searches.sls   >    remove_legacy_searches.sls    $
163499                    salt-call state.sls remove_legacy_searches.sls
163500
163501                 6. Get  all  searches  again,  verify  no changes $ salt-call
163502                    splunk_search.list_all --out=txt |  sed  "s/local:  //"  >
163503                    final_searches.sls    $   diff   final_searches.sls   man‐
163504                    aged_searches.sls
163505
163506       salt.modules.splunk_search.update(name, profile=u'splunk', **kwargs)
163507              Update a splunk search
163508
163509              CLI Example:
163510                 splunk_search.update 'my search name' sharing=app
163511
163512   salt.modules.sqlite3
163513       Support for SQLite3
163514
163515       salt.modules.sqlite3.fetch(db=None, sql=None)
163516              Retrieve data from an sqlite3 db (returns all rows, be careful!)
163517
163518              CLI Example:
163519
163520                 salt '*' sqlite3.fetch /root/test.db 'SELECT * FROM test;'
163521
163522       salt.modules.sqlite3.indexes(db=None)
163523              Show all indices in the database, for people with poor  spelling
163524              skills
163525
163526              CLI Example:
163527
163528                 salt '*' sqlite3.indexes /root/test.db
163529
163530       salt.modules.sqlite3.indices(db=None)
163531              Show all indices in the database
163532
163533              CLI Example:
163534
163535                 salt '*' sqlite3.indices /root/test.db
163536
163537       salt.modules.sqlite3.modify(db=None, sql=None)
163538              Issue  an  SQL  query  to sqlite3 (with no return data), usually
163539              used to modify the database in some way (insert, delete, create,
163540              etc)
163541
163542              CLI Example:
163543
163544                 salt '*' sqlite3.modify /root/test.db 'CREATE TABLE test(id INT, testdata TEXT);'
163545
163546       salt.modules.sqlite3.sqlite_version()
163547              Return version of sqlite
163548
163549              CLI Example:
163550
163551                 salt '*' sqlite3.sqlite_version
163552
163553       salt.modules.sqlite3.tables(db=None)
163554              Show all tables in the database
163555
163556              CLI Example:
163557
163558                 salt '*' sqlite3.tables /root/test.db
163559
163560       salt.modules.sqlite3.version()
163561              Return version of pysqlite
163562
163563              CLI Example:
163564
163565                 salt '*' sqlite3.version
163566
163567   salt.modules.ssh
163568       Manage client ssh components
163569
163570       NOTE:
163571          This module requires the use of MD5 hashing. Certain security audits
163572          may not permit the use of MD5. For those cases, this  module  should
163573          be disabled or removed.
163574
163575       salt.modules.ssh.auth_keys(user=None,   config=u'.ssh/authorized_keys',
163576       fingerprint_hash_type=None)
163577              Return the authorized keys for users
163578
163579              CLI Example:
163580
163581                 salt '*' ssh.auth_keys
163582                 salt '*' ssh.auth_keys root
163583                 salt '*' ssh.auth_keys user=root
163584                 salt '*' ssh.auth_keys user="[user1, user2]"
163585
163586       salt.modules.ssh.check_key(user,  key,  enc,  comment,  options,   con‐
163587       fig=u'.ssh/authorized_keys',          cache_keys=None,          finger‐
163588       print_hash_type=None)
163589              Check to see if a key needs updating, returns "update", "add" or
163590              "exists"
163591
163592              CLI Example:
163593
163594                 salt '*' ssh.check_key <user> <key> <enc> <comment> <options>
163595
163596       salt.modules.ssh.check_key_file(user,    source,   config=u'.ssh/autho‐
163597       rized_keys', saltenv=u'base', fingerprint_hash_type=None)
163598              Check a keyfile from a source destination against the local keys
163599              and return the keys to change
163600
163601              CLI Example:
163602
163603                 salt '*' ssh.check_key_file root salt://ssh/keyfile
163604
163605       salt.modules.ssh.check_known_host(user=None,  hostname=None,  key=None,
163606       fingerprint=None, config=None, port=None, fingerprint_hash_type=None)
163607              Check the record in known_hosts file, either by its value or  by
163608              fingerprint  (it's  enough  to set up either key or fingerprint,
163609              you don't need to set up both).
163610
163611              If provided key or fingerprint doesn't match with stored  value,
163612              return  "update",  if no value is found for a given host, return
163613              "add", otherwise return "exists".
163614
163615              If neither key, nor fingerprint is defined, then additional val‐
163616              idation is not performed.
163617
163618              CLI Example:
163619
163620                 salt '*' ssh.check_known_host <user> <hostname> key='AAAA...FAaQ=='
163621
163622       salt.modules.ssh.get_known_host(user, hostname, config=None, port=None,
163623       fingerprint_hash_type=None)
163624              Deprecated       since       version        2018.3.0:        Use
163625              ssh.get_known_host_entries instead.
163626
163627
163628              Return information about known host from the configfile, if any.
163629              If there is no such key, return None.
163630
163631              CLI Example:
163632
163633                 salt '*' ssh.get_known_host <user> <hostname>
163634
163635       salt.modules.ssh.get_known_host_entries(user,  hostname,   config=None,
163636       port=None, fingerprint_hash_type=None)
163637              New in version 2018.3.0.
163638
163639
163640              Return information about known host entries from the configfile,
163641              if any.  If there are no entries for a matching hostname, return
163642              None.
163643
163644              CLI Example:
163645
163646                 salt '*' ssh.get_known_host_entries <user> <hostname>
163647
163648       salt.modules.ssh.hash_known_hosts(user=None, config=None)
163649              Hash all the hostnames in the known hosts file.
163650
163651              New in version 2014.7.0.
163652
163653
163654              user   hash known hosts of this user
163655
163656              config path  to known hosts file: can be absolute or relative to
163657                     user's home directory
163658
163659              CLI Example:
163660
163661                 salt '*' ssh.hash_known_hosts
163662
163663       salt.modules.ssh.host_keys(keydir=None, private=True, certs=True)
163664              Return the minion's host keys
163665
163666              CLI Example:
163667
163668                 salt '*' ssh.host_keys
163669                 salt '*' ssh.host_keys keydir=/etc/ssh
163670                 salt '*' ssh.host_keys keydir=/etc/ssh private=False
163671                 salt '*' ssh.host_keys keydir=/etc/ssh certs=False
163672
163673       salt.modules.ssh.key_is_encrypted(key)
163674              New in version 2015.8.7.
163675
163676
163677              Function to determine whether or not a private key is  encrypted
163678              with a passphrase.
163679
163680              Checks  key  for a Proc-Type header with ENCRYPTED in the value.
163681              If found, returns True, otherwise returns False.
163682
163683              CLI Example:
163684
163685                 salt '*' ssh.key_is_encrypted /root/id_rsa
163686
163687       salt.modules.ssh.recv_known_host(hostname,     enc=None,     port=None,
163688       hash_known_hosts=True, timeout=5, fingerprint_hash_type=None)
163689              Retrieve information about host public key from remote server
163690
163691              Deprecated        since        version       2018.3.0:       Use
163692              ssh.recv_known_host_entries instead.
163693
163694
163695              hostname
163696                     The name of the remote host (e.g. "github.com")
163697
163698              enc    Defines what type of key is being used, can  be  ed25519,
163699                     ecdsa ssh-rsa or ssh-dss
163700
163701              port   Optional  parameter, denoting the port of the remote host
163702                     on which an SSH daemon is running. By default the port 22
163703                     is used.
163704
163705              hash_known_hosts
163706                     True  Hash all hostnames and addresses in the known hosts
163707                     file.
163708
163709              timeout
163710                     int Set the timeout for connection attempts.  If  timeout
163711                     seconds  have elapsed since a connection was initiated to
163712                     a host or since the last time anything was read from that
163713                     host, then the connection is closed and the host in ques‐
163714                     tion considered unavailable.  Default is 5 seconds.
163715
163716                     New in version 2016.3.0.
163717
163718
163719              fingerprint_hash_type
163720                     The fingerprint hash type that  the  public  key  finger‐
163721                     prints  were  originally  hashed  with.  This defaults to
163722                     sha256 if not specified.
163723
163724                     New in version 2016.11.4.
163725
163726
163727                     Changed in version 2017.7.0:: default changed from md5 to
163728                     sha256
163729
163730
163731              CLI Example:
163732
163733                 salt '*' ssh.recv_known_host <hostname> enc=<enc> port=<port>
163734
163735       salt.modules.ssh.recv_known_host_entries(hostname, enc=None, port=None,
163736       hash_known_hosts=True, timeout=5, fingerprint_hash_type=None)
163737              New in version 2018.3.0.
163738
163739
163740              Retrieve information about host public keys from remote server
163741
163742              hostname
163743                     The name of the remote host (e.g. "github.com")
163744
163745              enc    Defines what type of key is being used, can  be  ed25519,
163746                     ecdsa ssh-rsa or ssh-dss
163747
163748              port   Optional  parameter, denoting the port of the remote host
163749                     on which an SSH daemon is running. By default the port 22
163750                     is used.
163751
163752              hash_known_hosts
163753                     True  Hash all hostnames and addresses in the known hosts
163754                     file.
163755
163756              timeout
163757                     int Set the timeout for connection attempts.  If  timeout
163758                     seconds  have elapsed since a connection was initiated to
163759                     a host or since the last time anything was read from that
163760                     host, then the connection is closed and the host in ques‐
163761                     tion considered unavailable.  Default is 5 seconds.
163762
163763              fingerprint_hash_type
163764                     The fingerprint hash type that  the  public  key  finger‐
163765                     prints  were  originally  hashed  with.  This defaults to
163766                     sha256 if not specified.
163767
163768                     New in version 2016.11.4.
163769
163770
163771                     Changed in version 2017.7.0:: default changed from md5 to
163772                     sha256
163773
163774
163775              CLI Example:
163776
163777                 salt '*' ssh.recv_known_host_entries <hostname> enc=<enc> port=<port>
163778
163779       salt.modules.ssh.rm_auth_key(user, key, config=u'.ssh/authorized_keys',
163780       fingerprint_hash_type=None)
163781              Remove an authorized key from the  specified  user's  authorized
163782              key file
163783
163784              CLI Example:
163785
163786                 salt '*' ssh.rm_auth_key <user> <key>
163787
163788       salt.modules.ssh.rm_auth_key_from_file(user,        source,        con‐
163789       fig=u'.ssh/authorized_keys',          saltenv=u'base',          finger‐
163790       print_hash_type=None)
163791              Remove  an  authorized  key from the specified user's authorized
163792              key file, using a file as source
163793
163794              CLI Example:
163795
163796                 salt '*' ssh.rm_auth_key_from_file <user> salt://ssh_keys/<user>.id_rsa.pub
163797
163798       salt.modules.ssh.rm_known_host(user=None,  hostname=None,  config=None,
163799       port=None)
163800              Remove all keys belonging to hostname from a known_hosts file.
163801
163802              CLI Example:
163803
163804                 salt '*' ssh.rm_known_host <user> <hostname>
163805
163806       salt.modules.ssh.set_auth_key(user,  key,  enc=u'ssh-rsa', comment=u'',
163807       options=None, config=u'.ssh/authorized_keys', cache_keys=None,  finger‐
163808       print_hash_type=None)
163809              Add  a key to the authorized_keys file. The "key" parameter must
163810              only be the string of text that is the encoded key. If  the  key
163811              begins  with "ssh-rsa" or ends with user@host, remove those from
163812              the key before passing it to this function.
163813
163814              CLI Example:
163815
163816                 salt '*' ssh.set_auth_key <user> '<key>' enc='dsa'
163817
163818       salt.modules.ssh.set_auth_key_from_file(user,       source,        con‐
163819       fig=u'.ssh/authorized_keys',          saltenv=u'base',          finger‐
163820       print_hash_type=None)
163821              Add a key to the authorized_keys  file,  using  a  file  as  the
163822              source.
163823
163824              CLI Example:
163825
163826                 salt '*' ssh.set_auth_key_from_file <user> salt://ssh_keys/<user>.id_rsa.pub
163827
163828       salt.modules.ssh.set_known_host(user=None,    hostname=None,    finger‐
163829       print=None,     key=None,     port=None,     enc=None,     config=None,
163830       hash_known_hosts=True, timeout=5, fingerprint_hash_type=None)
163831              Download  SSH public key from remote host "hostname", optionally
163832              validate its fingerprint against "fingerprint" variable and save
163833              the record in the known_hosts file.
163834
163835              If such a record does already exists in there, do nothing.
163836
163837              user   The user who owns the ssh authorized keys file to modify
163838
163839              hostname
163840                     The name of the remote host (e.g. "github.com")
163841
163842              fingerprint
163843                     The  fingerprint  of the key which must be present in the
163844                     known_hosts file (optional if key specified)
163845
163846              key    The public key which must be presented in the known_hosts
163847                     file (optional if fingerprint specified)
163848
163849              port   optional parameter, denoting the port of the remote host,
163850                     which will be used in case, if the  public  key  will  be
163851                     requested from it. By default the port 22 is used.
163852
163853              enc    Defines  what  type of key is being used, can be ed25519,
163854                     ecdsa ssh-rsa or ssh-dss
163855
163856              config The location of the authorized keys file relative to  the
163857                     user's home directory, defaults to ".ssh/known_hosts". If
163858                     no     user      is      specified,      defaults      to
163859                     "/etc/ssh/ssh_known_hosts".  If present, must be an abso‐
163860                     lute path when a user is not specified.
163861
163862              hash_known_hosts
163863                     True Hash all hostnames and addresses in the known  hosts
163864                     file.
163865
163866              timeout
163867                     int  Set the timeout for connection attempts.  If timeout
163868                     seconds have elapsed since a connection was initiated  to
163869                     a host or since the last time anything was read from that
163870                     host, then the connection is closed and the host in ques‐
163871                     tion considered unavailable.  Default is 5 seconds.
163872
163873                     New in version 2016.3.0.
163874
163875
163876              fingerprint_hash_type
163877                     The  public key fingerprint hash type that the public key
163878                     fingerprint was originally hashed with. This defaults  to
163879                     sha256 if not specified.
163880
163881                     New in version 2016.11.4.
163882
163883
163884                     Changed in version 2017.7.0:: default changed from md5 to
163885                     sha256
163886
163887
163888              CLI Example:
163889
163890                 salt '*' ssh.set_known_host <user> fingerprint='xx:xx:..:xx' enc='ssh-rsa' config='.ssh/known_hosts'
163891
163892       salt.modules.ssh.user_keys(user=None, pubfile=None, prvfile=None)
163893              Return the user's ssh keys on the minion
163894
163895              New in version 2014.7.0.
163896
163897
163898              CLI Example:
163899
163900                 salt '*' ssh.user_keys
163901                 salt '*' ssh.user_keys user=user1
163902                 salt '*' ssh.user_keys user=user1 pubfile=/home/user1/.ssh/id_rsa.pub prvfile=/home/user1/.ssh/id_rsa
163903                 salt '*' ssh.user_keys user=user1 prvfile=False
163904                 salt '*' ssh.user_keys user="['user1','user2'] pubfile=id_rsa.pub prvfile=id_rsa
163905
163906              As you can see you can tell Salt not to  read  from  the  user's
163907              private  (or public) key file by setting the file path to False.
163908              This can be useful to prevent Salt from publishing private  data
163909              via Salt Mine or others.
163910
163911   salt.modules.ssh_package module
163912       Service support for the REST example
163913
163914       salt.modules.ssh_package.install(name=None,     refresh=False,    from‐
163915       repo=None, pkgs=None, sources=None, **kwargs)
163916
163917       salt.modules.ssh_package.list_pkgs(versions_as_list=False, **kwargs)
163918
163919       salt.modules.ssh_package.remove(name=None, pkgs=None, **kwargs)
163920
163921   salt.modules.ssh_service module
163922       Provide the service module for the proxy-minion SSH sample
163923
163924       salt.modules.ssh_service.enabled(name, sig=None)
163925              Only the 'redbull' service is 'enabled' in the test
163926
163927       salt.modules.ssh_service.get_all()
163928              Return a list of all available services
163929
163930              CLI Example:
163931
163932                 salt '*' service.get_all
163933
163934       salt.modules.ssh_service.list_()
163935              Return a list of all available services.
163936
163937              CLI Example:
163938
163939                 salt '*' service.list
163940
163941       salt.modules.ssh_service.restart(name, sig=None)
163942              Restart the specified service with rest_sample CLI Example:
163943
163944                 salt '*' service.restart <service name>
163945
163946       salt.modules.ssh_service.running(name, sig=None)
163947              Return whether this service is running.
163948
163949       salt.modules.ssh_service.start(name, sig=None)
163950              Start the specified service on the ssh_sample
163951
163952              CLI Example:
163953
163954                 salt '*' service.start <service name>
163955
163956       salt.modules.ssh_service.status(name, sig=None)
163957              Return the status for a service via  ssh_sample.   If  the  name
163958              contains  globbing,  a  dict  mapping service name to True/False
163959              values is returned.
163960
163961              Changed in version 2018.3.0: The service name can now be a  glob
163962              (e.g. salt*)
163963
163964
163965              Parameters
163966
163967                     · name (str) -- The name of the service to check
163968
163969                     · sig (str) -- Not implemented
163970
163971              Returns
163972                     True  if running, False otherwise dict: Maps service name
163973                     to True if running, False otherwise
163974
163975              Return type
163976                     bool
163977
163978              CLI Example:
163979
163980                 salt '*' service.status <service name>
163981
163982       salt.modules.ssh_service.stop(name, sig=None)
163983              Stop the specified service on the rest_sample
163984
163985              CLI Example:
163986
163987                 salt '*' service.stop <service name>
163988
163989   salt.modules.snapper module
163990       Module to manage filesystem snapshots with snapper
163991
163992       New in version 2016.11.0.
163993
163994
163995       codeauthor
163996              Duncan Mac-Vicar P. <dmacvicar@suse.de>
163997
163998       codeauthor
163999              Pablo Suárez Hernández <psuarezhernandez@suse.de>
164000
164001       depends
164002              dbus Python module.
164003
164004       depends
164005              snapper http://snapper.io, available in most distros
164006
164007       maturity
164008              new
164009
164010       platform
164011              Linux
164012
164013       salt.modules.snapper.changed_files(config=u'root',        num_pre=None,
164014       num_post=None)
164015              Returns the files changed between two snapshots
164016
164017              config Configuration name.
164018
164019              num_pre
164020                     first snapshot ID to compare. Default is last snapshot
164021
164022              num_post
164023                     last snapshot ID to compare. Default is 0 (current state)
164024
164025              CLI example:
164026
164027                 salt '*' snapper.changed_files
164028                 salt '*' snapper.changed_files num_pre=19 num_post=20
164029
164030       salt.modules.snapper.create_baseline(tag=u'baseline', config=u'root')
164031              Creates a snapshot marked as baseline
164032
164033              tag    Tag name for the baseline
164034
164035              config Configuration name.
164036
164037              CLI Example:
164038
164039                 salt '*' snapper.create_baseline
164040                 salt '*' snapper.create_baseline my_custom_baseline
164041
164042       salt.modules.snapper.create_config(name=None,           subvolume=None,
164043       fstype=None, template=None, extra_opts=None)
164044              Creates a new Snapper configuration
164045
164046              name   Name of the new Snapper configuration.
164047
164048              subvolume
164049                     Path to the related subvolume.
164050
164051              fstype Filesystem type of the subvolume.
164052
164053              template
164054                     Configuration template to use. (Default: default)
164055
164056              extra_opts
164057                     Extra Snapper  configuration  opts  dictionary.  It  will
164058                     override  the  values  provided by the given template (if
164059                     any).
164060
164061              CLI example:
164062
164063                 salt '*' snapper.create_config name=myconfig subvolume=/foo/bar/ fstype=btrfs
164064                 salt '*' snapper.create_config name=myconfig subvolume=/foo/bar/ fstype=btrfs template="default"
164065                 salt '*' snapper.create_config name=myconfig subvolume=/foo/bar/ fstype=btrfs extra_opts='{"NUMBER_CLEANUP": False}'
164066
164067       salt.modules.snapper.create_snapshot(config=u'root',              snap‐
164068       shot_type=u'single',  pre_number=None,  description=None, cleanup_algo‐
164069       rithm=u'number', userdata=None, **kwargs)
164070              Creates an snapshot
164071
164072              config Configuration name.
164073
164074              snapshot_type
164075                     Specifies the type of the new snapshot.  Possible  values
164076                     are single, pre and post.
164077
164078              pre_number
164079                     For post snapshots the number of the pre snapshot must be
164080                     provided.
164081
164082              description
164083                     Description for the snapshot. If not given, the salt  job
164084                     will be used.
164085
164086              cleanup_algorithm
164087                     Set the cleanup algorithm for the snapshot.
164088
164089              number Deletes  old snapshots when a certain number of snapshots
164090                     is reached.
164091
164092              timeline
164093                     Deletes old snapshots  but  keeps  a  number  of  hourly,
164094                     daily, weekly, monthly and yearly snapshots.
164095
164096              empty-pre-post
164097                     Deletes pre/post snapshot pairs with empty diffs.
164098
164099              userdata
164100                     Set userdata for the snapshot (key-value pairs).
164101
164102              Returns the number of the created snapshot.
164103
164104              CLI example:
164105
164106                 salt '*' snapper.create_snapshot
164107
164108       salt.modules.snapper.delete_snapshot(snapshots_ids=None,           con‐
164109       fig=u'root')
164110              Deletes an snapshot
164111
164112              config Configuration name. (Default: root)
164113
164114              snapshots_ids
164115                     List of the snapshots IDs to be deleted.
164116
164117              CLI example:
164118
164119                 salt '*' snapper.delete_snapshot 54
164120                 salt '*' snapper.delete_snapshot config=root 54
164121                 salt '*' snapper.delete_snapshot config=root snapshots_ids=[54,55,56]
164122
164123       salt.modules.snapper.diff(config=u'root', filename=None,  num_pre=None,
164124       num_post=None)
164125              Returns the differences between two snapshots
164126
164127              config Configuration name.
164128
164129              filename
164130                     if not provided the showing differences between snapshots
164131                     for all "text" files
164132
164133              num_pre
164134                     first snapshot ID to compare. Default is last snapshot
164135
164136              num_post
164137                     last snapshot ID to compare. Default is 0 (current state)
164138
164139              CLI Example:
164140
164141                 salt '*' snapper.diff
164142                 salt '*' snapper.diff filename=/var/log/snapper.log num_pre=19 num_post=20
164143
164144       salt.modules.snapper.diff_jid(jid, config=u'root')
164145              Returns the changes applied by a jid
164146
164147              jid    The job id to lookup
164148
164149              config Configuration name.
164150
164151              CLI Example:
164152
164153                 salt '*' snapper.diff_jid jid=20160607130930720112
164154
164155       salt.modules.snapper.get_config(name=u'root')
164156              Retrieves all values from a given configuration
164157
164158              CLI example:
164159
164160                 salt '*' snapper.get_config
164161
164162       salt.modules.snapper.get_snapshot(number=0, config=u'root')
164163              Get detailed information about a given snapshot
164164
164165              CLI example:
164166
164167                 salt '*' snapper.get_snapshot 1
164168
164169       salt.modules.snapper.list_configs()
164170              List all available configs
164171
164172              CLI example:
164173
164174                 salt '*' snapper.list_configs
164175
164176       salt.modules.snapper.list_snapshots(config=u'root')
164177              List available snapshots
164178
164179              CLI example:
164180
164181                 salt '*' snapper.list_snapshots config=myconfig
164182
164183       salt.modules.snapper.modify_snapshot(snapshot_id=None,         descrip‐
164184       tion=None, userdata=None, cleanup=None, config=u'root')
164185              Modify attributes of an existing snapshot.
164186
164187              config Configuration name. (Default: root)
164188
164189              snapshot_id
164190                     ID of the snapshot to be modified.
164191
164192              cleanup
164193                     Change the cleanup method of the snapshot. (str)
164194
164195              description
164196                     Change the description of the snapshot. (str)
164197
164198              userdata
164199                     Change the userdata dictionary of the snapshot. (dict)
164200
164201              CLI example:
164202
164203                 salt '*' snapper.modify_snapshot 54 description="my snapshot description"
164204                 salt '*' snapper.modify_snapshot 54 description="my snapshot description"
164205                 salt '*' snapper.modify_snapshot 54 userdata='{"foo": "bar"}'
164206                 salt '*' snapper.modify_snapshot snapshot_id=54 cleanup="number"
164207
164208       salt.modules.snapper.run(function, *args, **kwargs)
164209              Runs  a  function from an execution module creating pre and post
164210              snapshots and associating the salt job id with  those  snapshots
164211              for easy undo and cleanup.
164212
164213              function
164214                     Salt function to call.
164215
164216              config Configuration name. (default: "root")
164217
164218              description
164219                     A description for the snapshots. (default: None)
164220
164221              userdata
164222                     Data to include in the snapshot metadata. (default: None)
164223
164224              cleanup_algorithm
164225                     Snapper cleanup algorithm. (default: "number")
164226
164227              *args  args for the function to call. (default: None)
164228
164229              **kwargs
164230                     kwargs for the function to call (default: None)
164231
164232              This   would  run append text to /etc/motd using the file.append
164233              module, and will create two snapshots, pre  and  post  with  the
164234              associated  metadata.  The  jid will be available as salt_jid in
164235              the userdata of the snapshot.
164236
164237              You can immediately see the changes
164238
164239              CLI Example:
164240
164241                 salt '*' snapper.run file.append args='["/etc/motd", "some text"]'
164242
164243       salt.modules.snapper.set_config(name=u'root', **kwargs)
164244              Set configuration values
164245
164246              CLI example:
164247
164248                 salt '*' snapper.set_config SYNC_ACL=True
164249
164250              Keys are case insensitive as they will be always  uppercased  to
164251              snapper convention. The above example is equivalent to:
164252
164253                 salt '*' snapper.set_config sync_acl=True
164254
164255       salt.modules.snapper.status(config=u'root',               num_pre=None,
164256       num_post=None)
164257              Returns a comparison between two snapshots
164258
164259              config Configuration name.
164260
164261              num_pre
164262                     first snapshot ID to compare. Default is last snapshot
164263
164264              num_post
164265                     last snapshot ID to compare. Default is 0 (current state)
164266
164267              CLI example:
164268
164269                 salt '*' snapper.status
164270                 salt '*' snapper.status num_pre=19 num_post=20
164271
164272       salt.modules.snapper.status_to_string(dbus_status)
164273              Converts a numeric dbus snapper status into a string
164274
164275              CLI Example:
164276
164277                 salt '*' snapper.status_to_string <dbus_status>
164278
164279       salt.modules.snapper.undo(config=u'root',   files=None,   num_pre=None,
164280       num_post=None)
164281              Undo   all  file  changes  that  happened  between  num_pre  and
164282              num_post, leaving the files into the state of num_pre.
164283
164284              WARNING:
164285                 If one of the files has changes after num_post, they will  be
164286                 overwritten  The  snapshots  are  used  to determine the file
164287                 list, but the current version of the files will be  overwrit‐
164288                 ten by the versions in num_pre.
164289
164290                 You  to  undo changes between num_pre and the current version
164291                 of the files use num_post=0.
164292
164293              CLI Example:
164294
164295                 salt '*' snapper.undo
164296
164297       salt.modules.snapper.undo_jid(jid, config=u'root')
164298              Undo the changes applied by a salt job
164299
164300              jid    The job id to lookup
164301
164302              config Configuration name.
164303
164304              CLI Example:
164305
164306                 salt '*' snapper.undo_jid jid=20160607130930720112
164307
164308   salt.modules.state
164309       Control the state system on the minion.
164310
164311   State Caching
164312       When a highstate is called, the minion automatically caches a  copy  of
164313       the last high data. If you then run a highstate with cache=True it will
164314       use that cached highdata  and  won't  hit  the  fileserver  except  for
164315       salt:// links in the states themselves.
164316
164317       salt.modules.state.apply_(mods=None, **kwargs)
164318              New in version 2015.5.0.
164319
164320
164321              This  function  will  call state.highstate or state.sls based on
164322              the arguments passed to this function.   It  exists  as  a  more
164323              intuitive way of applying states.
164324
164325              APPLYING ALL STATES CONFIGURED IN TOP.SLS (A.K.A. HIGHSTATE)
164326
164327              To apply all configured states, simply run state.apply:
164328
164329                 salt '*' state.apply
164330
164331              The following additional arguments are also accepted when apply‐
164332              ing all states configured in top.sls:
164333
164334              test   Run states in test-only (dry-run) mode
164335
164336              mock   The mock option allows for the state run to execute with‐
164337                     out  actually  calling  any  states.  This then returns a
164338                     mocked return which will show the requisite  ordering  as
164339                     well as fully validate the state run.
164340
164341                     New in version 2015.8.4.
164342
164343
164344              pillar Custom Pillar values, passed as a dictionary of key-value
164345                     pairs
164346
164347                        salt '*' state.apply stuff pillar='{"foo": "bar"}'
164348
164349                     NOTE:
164350                        Values passed this way will override Pillar values set
164351                        via pillar_roots or an external Pillar source.
164352
164353              exclude
164354                     Exclude specific states from execution. Accepts a list of
164355                     sls names, a comma-separated string of sls  names,  or  a
164356                     list of dictionaries containing sls or id keys. Glob-pat‐
164357                     terns may be used to match multiple states.
164358
164359                        salt '*' state.apply exclude=bar,baz
164360                        salt '*' state.apply exclude=foo*
164361                        salt '*' state.apply exclude="[{'id': 'id_to_exclude'}, {'sls': 'sls_to_exclude'}]"
164362
164363              queue  False Instead of failing immediately when  another  state
164364                     run is in progress, queue the new state run to begin run‐
164365                     ning once the other has finished.
164366
164367                     This option starts a new thread  for  each  queued  state
164368                     run, so use this option sparingly.
164369
164370              localconfig
164371                     Optionally, instead of using the minion config, load min‐
164372                     ion opts from the file specified by  this  argument,  and
164373                     then  merge them with the options from the minion config.
164374                     This functionality allows for specific states to  be  run
164375                     with  their  own  custom  minion configuration, including
164376                     different pillars, file_roots, etc.
164377
164378                        salt '*' state.apply localconfig=/path/to/minion.yml
164379
164380              APPLYING INDIVIDUAL SLS FILES (A.K.A. STATE.SLS)
164381
164382              To apply individual SLS files, pass them  as  a  comma-separated
164383              list:
164384
164385                 # Run the states configured in salt://stuff.sls (or salt://stuff/init.sls)
164386                 salt '*' state.apply stuff
164387                 # Run the states configured in salt://stuff.sls (or salt://stuff/init.sls)
164388                 # and salt://pkgs.sls (or salt://pkgs/init.sls).
164389                 salt '*' state.apply stuff,pkgs
164390
164391              The following additional arguments are also accepted when apply‐
164392              ing individual SLS files:
164393
164394              test   Run states in test-only (dry-run) mode
164395
164396              mock   The mock option allows for the state run to execute with‐
164397                     out  actually  calling  any  states.  This then returns a
164398                     mocked return which will show the requisite  ordering  as
164399                     well as fully validate the state run.
164400
164401                     New in version 2015.8.4.
164402
164403
164404              pillar Custom Pillar values, passed as a dictionary of key-value
164405                     pairs
164406
164407                        salt '*' state.apply stuff pillar='{"foo": "bar"}'
164408
164409                     NOTE:
164410                        Values passed this way will override Pillar values set
164411                        via pillar_roots or an external Pillar source.
164412
164413              queue  False  Instead  of failing immediately when another state
164414                     run is in progress, queue the new state run to begin run‐
164415                     ning once the other has finished.
164416
164417                     This  option  starts  a  new thread for each queued state
164418                     run, so use this option sparingly.
164419
164420              concurrent
164421                     False Execute state runs concurrently instead of serially
164422
164423                     WARNING:
164424                        This flag is potentially dangerous. It is designed for
164425                        use  when multiple state runs can safely be run at the
164426                        same time. Do not use this flag for performance  opti‐
164427                        mization.
164428
164429              saltenv
164430                     Specify  a  salt  fileserver  environment to be used when
164431                     applying states
164432
164433                     Changed in version 0.17.0: Argument name changed from env
164434                     to saltenv
164435
164436
164437                     Changed  in version 2014.7.0: If no saltenv is specified,
164438                     the minion config will  be  checked  for  an  environment
164439                     parameter  and  if  found,  it  will  be used. If none is
164440                     found, base will be used. In prior releases,  the  minion
164441                     config  was  not checked and base would always be assumed
164442                     when the saltenv was not explicitly set.
164443
164444
164445              pillarenv
164446                     Specify a Pillar environment to  be  used  when  applying
164447                     states.  This  can  also be set in the minion config file
164448                     using the pillarenv option. When  neither  the  pillarenv
164449                     minion  config  option nor this CLI argument is used, all
164450                     Pillar environments will be merged together.
164451
164452              localconfig
164453                     Optionally, instead of using the minion config, load min‐
164454                     ion  opts  from  the file specified by this argument, and
164455                     then merge them with the options from the minion  config.
164456                     This  functionality  allows for specific states to be run
164457                     with their own  custom  minion  configuration,  including
164458                     different pillars, file_roots, etc.
164459
164460                        salt '*' state.apply stuff localconfig=/path/to/minion.yml
164461
164462              sync_mods
164463                     If  specified,  the  desired  custom module types will be
164464                     synced prior to running the SLS files:
164465
164466                        salt '*' state.apply stuff sync_mods=states,modules
164467                        salt '*' state.apply stuff sync_mods=all
164468
164469                     NOTE:
164470                        This option is ignored when no SLS  files  are  speci‐
164471                        fied,  as  a  highstate automatically syncs all custom
164472                        module types.
164473
164474                     New in version 2017.7.8,2018.3.3,Fluorine.
164475
164476
164477       salt.modules.state.check_request(name=None)
164478              New in version 2015.5.0.
164479
164480
164481              Return the state request information, if any
164482
164483              CLI Example:
164484
164485                 salt '*' state.check_request
164486
164487       salt.modules.state.clear_cache()
164488              Clear out cached state files, forcing even cache runs to refresh
164489              the cache on the next state execution.
164490
164491              Remember that the state cache is completely disabled by default,
164492              this execution only applies if cache=True is used in states
164493
164494              CLI Example:
164495
164496                 salt '*' state.clear_cache
164497
164498       salt.modules.state.clear_request(name=None)
164499              New in version 2015.5.0.
164500
164501
164502              Clear out the state execution request without executing it
164503
164504              CLI Example:
164505
164506                 salt '*' state.clear_request
164507
164508       salt.modules.state.disable(states)
164509              Disable state runs.
164510
164511              CLI Example:
164512
164513                 salt '*' state.disable highstate
164514
164515                 salt '*' state.disable highstate,test.succeed_without_changes
164516
164517              NOTE:
164518                 To disable a state file from running provide  the  same  name
164519                 that would be passed in a state.sls call.
164520
164521                 salt '*' state.disable bind.config
164522
164523       salt.modules.state.enable(states)
164524              Enable state function or sls run
164525
164526              CLI Example:
164527
164528                 salt '*' state.enable highstate
164529
164530                 salt '*' state.enable test.succeed_without_changes
164531
164532              NOTE:
164533                 To  enable  a  state  file from running provide the same name
164534                 that would be passed in a state.sls call.
164535
164536                 salt '*' state.disable bind.config
164537
164538       salt.modules.state.event(tagmatch=u'*',     count=-1,      quiet=False,
164539       sock_dir=None, pretty=False, node=u'minion')
164540              Watch Salt's event bus and block until the given tag is matched
164541
164542              New in version 2016.3.0.
164543
164544
164545              Changed  in  version Fluorine: tagmatch can now be either a glob
164546              or regular expression.
164547
164548
164549              This is useful for utilizing Salt's event bus from shell scripts
164550              or for taking simple actions directly from the CLI.
164551
164552              Enable debug logging to see ignored events.
164553
164554              Parameters
164555
164556                     · tagmatch -- the event is written to stdout for each tag
164557                       that matches this glob or regular expression.
164558
164559                     · count -- this number is decremented for each event that
164560                       matches  the tagmatch parameter; pass -1 to listen for‐
164561                       ever.
164562
164563                     · quiet -- do not print to stdout; just block
164564
164565                     · sock_dir -- path to  the  Salt  master's  event  socket
164566                       file.
164567
164568                     · pretty -- Output the JSON all on a single line if False
164569                       (useful for shell tools); pretty-print the JSON  output
164570                       if True.
164571
164572                     · node -- Watch the minion-side or master-side event bus.
164573
164574              CLI Example:
164575
164576                 salt-call --local state.event pretty=True
164577
164578       salt.modules.state.get_pauses(jid=None)
164579              Get a report on all of the currently paused state runs and pause
164580              run settings.  Optionally send in a jid if you  only  desire  to
164581              see a single pause data set.
164582
164583       salt.modules.state.high(data, test=None, queue=False, **kwargs)
164584              Execute the compound calls stored in a single set of high data
164585
164586              This  function  is  mostly intended for testing the state system
164587              and is not likely to be needed in everyday usage.
164588
164589              CLI Example:
164590
164591                 salt '*' state.high '{"vim": {"pkg": ["installed"]}}'
164592
164593       salt.modules.state.highstate(test=None, queue=False, **kwargs)
164594              Retrieve the state data from the salt master for this minion and
164595              execute it
164596
164597              test   Run states in test-only (dry-run) mode
164598
164599              pillar Custom Pillar values, passed as a dictionary of key-value
164600                     pairs
164601
164602                        salt '*' state.highstate stuff pillar='{"foo": "bar"}'
164603
164604                     NOTE:
164605                        Values passed this way will override Pillar values set
164606                        via pillar_roots or an external Pillar source.
164607
164608                     Changed  in  version  2016.3.0:  GPG-encrypted CLI Pillar
164609                     data is now supported via the GPG renderer. See here  for
164610                     details.
164611
164612
164613              pillar_enc
164614                     Specify  which  renderer to use to decrypt encrypted data
164615                     located within the pillar value. Currently, only  gpg  is
164616                     supported.
164617
164618                     New in version 2016.3.0.
164619
164620
164621              exclude
164622                     Exclude specific states from execution. Accepts a list of
164623                     sls names, a comma-separated string of sls  names,  or  a
164624                     list of dictionaries containing sls or id keys. Glob-pat‐
164625                     terns may be used to match multiple states.
164626
164627                        salt '*' state.highstate exclude=bar,baz
164628                        salt '*' state.highstate exclude=foo*
164629                        salt '*' state.highstate exclude="[{'id': 'id_to_exclude'}, {'sls': 'sls_to_exclude'}]"
164630
164631              saltenv
164632                     Specify a salt fileserver environment  to  be  used  when
164633                     applying states
164634
164635                     Changed in version 0.17.0: Argument name changed from env
164636                     to saltenv.
164637
164638
164639                     Changed in version 2014.7.0: If no saltenv is  specified,
164640                     the minion config will be checked for a saltenv parameter
164641                     and if found, it will be used. If  none  is  found,  base
164642                     will  be  used.  In prior releases, the minion config was
164643                     not checked and base would always  be  assumed  when  the
164644                     saltenv was not explicitly set.
164645
164646
164647              pillarenv
164648                     Specify  a  Pillar  environment  to be used when applying
164649                     states. This can also be set in the  minion  config  file
164650                     using  the  pillarenv  option. When neither the pillarenv
164651                     minion config option nor this CLI argument is  used,  all
164652                     Pillar environments will be merged together.
164653
164654              queue  False  Instead  of failing immediately when another state
164655                     run is in progress, queue the new state run to begin run‐
164656                     ning once the other has finished.
164657
164658                     This  option  starts  a  new thread for each queued state
164659                     run, so use this option sparingly.
164660
164661              localconfig
164662                     Optionally, instead of using the minion config, load min‐
164663                     ion  opts  from  the file specified by this argument, and
164664                     then merge them with the options from the minion  config.
164665                     This  functionality  allows for specific states to be run
164666                     with their own  custom  minion  configuration,  including
164667                     different pillars, file_roots, etc.
164668
164669              mock   The mock option allows for the state run to execute with‐
164670                     out actually calling any  states.  This  then  returns  a
164671                     mocked  return  which will show the requisite ordering as
164672                     well as fully validate the state run.
164673
164674                     New in version 2015.8.4.
164675
164676
164677              CLI Examples:
164678
164679                 salt '*' state.highstate
164680
164681                 salt '*' state.highstate whitelist=sls1_to_run,sls2_to_run
164682                 salt '*' state.highstate exclude=sls_to_exclude
164683                 salt '*' state.highstate exclude="[{'id': 'id_to_exclude'}, {'sls': 'sls_to_exclude'}]"
164684
164685                 salt '*' state.highstate pillar="{foo: 'Foo!', bar: 'Bar!'}"
164686
164687       salt.modules.state.id_exists(ids,   mods,    test=None,    queue=False,
164688       **kwargs)
164689              Tests  for  the existence of a specific ID or list of IDs within
164690              the specified SLS file(s). Similar to state.sls_exists,  returns
164691              True or False. The default environment is base``, use saltenv to
164692              specify a different environment.
164693
164694              New in version Fluorine.
164695
164696
164697              saltenv
164698                     Specify a salt fileserver environment from which to  look
164699                     for the SLS files specified in the mods argument
164700
164701              CLI Example:
164702
164703                 salt '*' state.id_exists create_myfile,update_template filestate saltenv=dev
164704
164705       salt.modules.state.list_disabled()
164706              List the states which are currently disabled
164707
164708              CLI Example:
164709
164710                 salt '*' state.list_disabled
164711
164712       salt.modules.state.low(data, queue=False, **kwargs)
164713              Execute a single low data call
164714
164715              This  function  is  mostly intended for testing the state system
164716              and is not likely to be needed in everyday usage.
164717
164718              CLI Example:
164719
164720                 salt '*' state.low '{"state": "pkg", "fun": "installed", "name": "vi"}'
164721
164722       salt.modules.state.orchestrate(mods,    saltenv=u'base',     test=None,
164723       exclude=None, pillar=None, pillarenv=None)
164724              New in version 2016.11.0.
164725
164726
164727              Execute the orchestrate runner from a masterless minion.
164728
164729              SEE ALSO:
164730                 More Orchestrate documentation
164731
164732                 · Full Orchestrate Tutorial
164733
164734                 · Docs for the ``salt` state module <salt.states.saltmod>`
164735
164736              CLI Examples:
164737
164738                 salt-call --local state.orchestrate webserver
164739                 salt-call --local state.orchestrate webserver saltenv=dev test=True
164740                 salt-call --local state.orchestrate webserver saltenv=dev pillarenv=aws
164741
164742       salt.modules.state.pause(jid, state_id=None, duration=None)
164743              Set up a state id pause, this instructs a running state to pause
164744              at a given state id. This needs to pass in the jid of  the  run‐
164745              ning  state and can optionally pass in a duration in seconds. If
164746              a state_id is not passed then the jid referenced will be  paused
164747              at the beginning of the next state run.
164748
164749              The  given  state  id  is the id got a given state execution, so
164750              given a state that looks like this:
164751
164752                 vim:
164753                   pkg.installed: []
164754
164755              The state_id to pass to pause is vim
164756
164757              CLI Examples:
164758
164759                 salt '*' state.pause 20171130110407769519
164760                 salt '*' state.pause 20171130110407769519 vim
164761                 salt '*' state.pause 20171130110407769519 vim 20
164762
164763       salt.modules.state.pkg(pkg_path,   pkg_sum,    hash_type,    test=None,
164764       **kwargs)
164765              Execute  a packaged state run, the packaged state run will exist
164766              in a tarball available locally. This packaged state can be  gen‐
164767              erated using salt-ssh.
164768
164769              CLI Example:
164770
164771                 salt '*' state.pkg /tmp/salt_state.tgz 760a9353810e36f6d81416366fc426dc md5
164772
164773       salt.modules.state.request(mods=None, **kwargs)
164774              New in version 2015.5.0.
164775
164776
164777              Request  that  the local admin execute a state run via salt-call
164778              state.run_request.  All arguments match those of state.apply.
164779
164780              CLI Example:
164781
164782                 salt '*' state.request
164783                 salt '*' state.request stuff
164784                 salt '*' state.request stuff,pkgs
164785
164786       salt.modules.state.resume(jid, state_id=None)
164787              Remove a pause from a jid,  allowing  it  to  continue.  If  the
164788              state_id  is  not  specified  then  the  a general pause will be
164789              resumed.
164790
164791              The given state_id is the id got a  given  state  execution,  so
164792              given a state that looks like this:
164793
164794                 vim:
164795                   pkg.installed: []
164796
164797              The state_id to pass to rm_pause is vim
164798
164799              CLI Examples:
164800
164801                 salt '*' state.resume 20171130110407769519
164802                 salt '*' state.resume 20171130110407769519 vim
164803
164804       salt.modules.state.run_request(name=u'default', **kwargs)
164805              New in version 2015.5.0.
164806
164807
164808              Execute the pending state request
164809
164810              CLI Example:
164811
164812                 salt '*' state.run_request
164813
164814       salt.modules.state.running(concurrent=False)
164815              Return  a  list  of  strings that contain state return data if a
164816              state function is already running. This function is used to pre‐
164817              vent multiple state calls from being run at the same time.
164818
164819              CLI Example:
164820
164821                 salt '*' state.running
164822
164823       salt.modules.state.show_highstate(queue=False, **kwargs)
164824              Retrieve the highstate data from the salt master and display it
164825
164826              Custom Pillar data can be passed with the pillar kwarg.
164827
164828              CLI Example:
164829
164830                 salt '*' state.show_highstate
164831
164832       salt.modules.state.show_low_sls(mods, test=None, queue=False, **kwargs)
164833              Display  the  low data from a specific sls. The default environ‐
164834              ment is base, use saltenv to specify a different environment.
164835
164836              saltenv
164837                     Specify a salt fileserver environment  to  be  used  when
164838                     applying states
164839
164840              pillar Custom Pillar values, passed as a dictionary of key-value
164841                     pairs
164842
164843                        salt '*' state.show_low_sls stuff pillar='{"foo": "bar"}'
164844
164845                     NOTE:
164846                        Values passed this way will override Pillar values set
164847                        via pillar_roots or an external Pillar source.
164848
164849              pillarenv
164850                     Specify  a  Pillar  environment  to be used when applying
164851                     states. This can also be set in the  minion  config  file
164852                     using  the  pillarenv  option. When neither the pillarenv
164853                     minion config option nor this CLI argument is  used,  all
164854                     Pillar environments will be merged together.
164855
164856              CLI Example:
164857
164858                 salt '*' state.show_low_sls foo
164859                 salt '*' state.show_low_sls foo saltenv=dev
164860
164861       salt.modules.state.show_lowstate(queue=False, **kwargs)
164862              List out the low data that will be applied to this minion
164863
164864              CLI Example:
164865
164866                 salt '*' state.show_lowstate
164867
164868       salt.modules.state.show_sls(mods, test=None, queue=False, **kwargs)
164869              Display  the state data from a specific sls or list of sls files
164870              on the master. The default environment is base, use  saltenv  to
164871              specify a different environment.
164872
164873              This function does not support topfiles.  For top.sls please use
164874              show_top instead.
164875
164876              Custom Pillar data can be passed with the pillar kwarg.
164877
164878              saltenv
164879                     Specify a salt fileserver environment  to  be  used  when
164880                     applying states
164881
164882              pillarenv
164883                     Specify  a  Pillar  environment  to be used when applying
164884                     states. This can also be set in the  minion  config  file
164885                     using  the  pillarenv  option. When neither the pillarenv
164886                     minion config option nor this CLI argument is  used,  all
164887                     Pillar environments will be merged together.
164888
164889              CLI Example:
164890
164891                 salt '*' state.show_sls core,edit.vim saltenv=dev
164892
164893       salt.modules.state.show_state_usage(queue=False, **kwargs)
164894              Retrieve the highstate data from the salt master to analyse used
164895              and unused states
164896
164897              Custom Pillar data can be passed with the pillar kwarg.
164898
164899              CLI Example:
164900
164901                 salt '*' state.show_state_usage
164902
164903       salt.modules.state.show_states(queue=False, **kwargs)
164904              Returns the list of states that will be applied on highstate.
164905
164906              CLI Example:
164907
164908                 salt '*' state.show_states
164909
164910              New in version Fluorine.
164911
164912
164913       salt.modules.state.show_top(queue=False, **kwargs)
164914              Return the top data that the minion will use for a highstate
164915
164916              CLI Example:
164917
164918                 salt '*' state.show_top
164919
164920       salt.modules.state.single(fun, name, test=None, queue=False, **kwargs)
164921              Execute a single state function with the named  kwargs,  returns
164922              False if insufficient data is sent to the command
164923
164924              By default, the values of the kwargs will be parsed as YAML. So,
164925              you can specify lists values, or lists of single entry key-value
164926              maps, as you would in a YAML salt file. Alternatively, JSON for‐
164927              mat of keyword values is also supported.
164928
164929              CLI Example:
164930
164931                 salt '*' state.single pkg.installed name=vim
164932
164933       salt.modules.state.sls(mods,  test=None,   exclude=None,   queue=False,
164934       sync_mods=None, **kwargs)
164935              Execute the states in one or more SLS files
164936
164937              test   Run states in test-only (dry-run) mode
164938
164939              pillar Custom Pillar values, passed as a dictionary of key-value
164940                     pairs
164941
164942                        salt '*' state.sls stuff pillar='{"foo": "bar"}'
164943
164944                     NOTE:
164945                        Values passed this way will override  existing  Pillar
164946                        values  set  via  pillar_roots  or  an external Pillar
164947                        source.  Pillar values that are not  included  in  the
164948                        kwarg will not be overwritten.
164949
164950                     Changed  in  version  2016.3.0:  GPG-encrypted CLI Pillar
164951                     data is now supported via the GPG renderer. See here  for
164952                     details.
164953
164954
164955              pillar_enc
164956                     Specify  which  renderer to use to decrypt encrypted data
164957                     located within the pillar value. Currently, only  gpg  is
164958                     supported.
164959
164960                     New in version 2016.3.0.
164961
164962
164963              exclude
164964                     Exclude specific states from execution. Accepts a list of
164965                     sls names, a comma-separated string of sls  names,  or  a
164966                     list of dictionaries containing sls or id keys. Glob-pat‐
164967                     terns may be used to match multiple states.
164968
164969                        salt '*' state.sls foo,bar,baz exclude=bar,baz
164970                        salt '*' state.sls foo,bar,baz exclude=ba*
164971                        salt '*' state.sls foo,bar,baz exclude="[{'id': 'id_to_exclude'}, {'sls': 'sls_to_exclude'}]"
164972
164973              queue  False Instead of failing immediately when  another  state
164974                     run is in progress, queue the new state run to begin run‐
164975                     ning once the other has finished.
164976
164977                     This option starts a new thread  for  each  queued  state
164978                     run, so use this option sparingly.
164979
164980              concurrent
164981                     False Execute state runs concurrently instead of serially
164982
164983                     WARNING:
164984                        This flag is potentially dangerous. It is designed for
164985                        use when multiple state runs can safely be run at  the
164986                        same  time. Do not use this flag for performance opti‐
164987                        mization.
164988
164989              saltenv
164990                     Specify a salt fileserver environment  to  be  used  when
164991                     applying states
164992
164993                     Changed in version 0.17.0: Argument name changed from env
164994                     to saltenv.
164995
164996
164997                     Changed in version 2014.7.0: If no saltenv is  specified,
164998                     the  minion  config  will  be  checked for an environment
164999                     parameter and if found, it  will  be  used.  If  none  is
165000                     found,  base  will be used. In prior releases, the minion
165001                     config was not checked and base would always  be  assumed
165002                     when the saltenv was not explicitly set.
165003
165004
165005              pillarenv
165006                     Specify  a  Pillar  environment  to be used when applying
165007                     states. This can also be set in the  minion  config  file
165008                     using  the  pillarenv  option. When neither the pillarenv
165009                     minion config option nor this CLI argument is  used,  all
165010                     Pillar environments will be merged together.
165011
165012              localconfig
165013                 Optionally,  instead  of using the minion config, load minion
165014                 opts from the file specified by this argument, and then merge
165015                 them  with the options from the minion config. This function‐
165016                 ality allows for specific states to be  run  with  their  own
165017                 custom  minion  configuration,  including  different pillars,
165018                 file_roots, etc.
165019
165020              mock:  The mock option allows for the state run to execute with‐
165021                     out  actually  calling  any  states.  This then returns a
165022                     mocked return which will show the requisite  ordering  as
165023                     well as fully validate the state run.
165024
165025                     New in version 2015.8.4.
165026
165027
165028              sync_mods
165029                     If  specified,  the  desired  custom module types will be
165030                     synced prior to running the SLS files:
165031
165032                        salt '*' state.sls stuff sync_mods=states,modules
165033                        salt '*' state.sls stuff sync_mods=all
165034
165035                     New in version 2017.7.8,2018.3.3,Fluorine.
165036
165037
165038              CLI Example:
165039
165040                 salt '*' state.sls core,edit.vim dev
165041                 salt '*' state.sls core exclude="[{'id': 'id_to_exclude'}, {'sls': 'sls_to_exclude'}]"
165042
165043                 salt '*' state.sls myslsfile pillar="{foo: 'Foo!', bar: 'Bar!'}"
165044
165045       salt.modules.state.sls_exists(mods, test=None, queue=False, **kwargs)
165046              Tests for the existance the of a specific SLS  or  list  of  SLS
165047              files  on  the  master.  Similar  to state.show_sls, rather than
165048              returning state details, returns  True  or  False.  The  default
165049              environment is base, use saltenv to specify a different environ‐
165050              ment.
165051
165052              New in version Fluorine.
165053
165054
165055              saltenv
165056                     Specify a salt fileserver environment from which to  look
165057                     for the SLS files specified in the mods argument
165058
165059              CLI Example:
165060
165061                 salt '*' state.sls_exists core,edit.vim saltenv=dev
165062
165063       salt.modules.state.sls_id(id_, mods, test=None, queue=False, **kwargs)
165064              Call  a single ID from the named module(s) and handle all requi‐
165065              sites
165066
165067              The state ID comes before the module ID(s) on the command line.
165068
165069              id     ID to call
165070
165071              mods   Comma-delimited list of modules to search  for  given  id
165072                     and its requisites
165073
165074              New in version 2014.7.0.
165075
165076
165077              saltenv
165078                     base  Specify  a  salt  fileserver environment to be used
165079                     when applying states
165080
165081              pillarenv
165082                     Specify a Pillar environment to  be  used  when  applying
165083                     states.  This  can  also be set in the minion config file
165084                     using the pillarenv option. When  neither  the  pillarenv
165085                     minion  config  option nor this CLI argument is used, all
165086                     Pillar environments will be merged together.
165087
165088              pillar Custom Pillar values, passed as a dictionary of key-value
165089                     pairs
165090
165091                        salt '*' state.sls_id my_state my_module pillar='{"foo": "bar"}'
165092
165093                     NOTE:
165094                        Values  passed  this way will override existing Pillar
165095                        values set via  pillar_roots  or  an  external  Pillar
165096                        source.   Pillar  values  that are not included in the
165097                        kwarg will not be overwritten.
165098
165099                     New in version 2018.3.0.
165100
165101
165102              CLI Example:
165103
165104                 salt '*' state.sls_id my_state my_module
165105
165106                 salt '*' state.sls_id my_state my_module,a_common_module
165107
165108       salt.modules.state.soft_kill(jid, state_id=None)
165109              Set up a state run to die before executing the given  state  id,
165110              this  instructs  a running state to safely exit at a given state
165111              id. This needs to pass in the jid of the running  state.   If  a
165112              state_id  is  not  passed then the jid referenced will be safely
165113              exited at the beginning of the next state run.
165114
165115              The given state id is the id got a  given  state  execution,  so
165116              given a state that looks like this:
165117
165118                 vim:
165119                   pkg.installed: []
165120
165121              The state_id to pass to soft_kill is vim
165122
165123              CLI Examples:
165124
165125                 salt '*' state.soft_kill 20171130110407769519
165126                 salt '*' state.soft_kill 20171130110407769519 vim
165127
165128       salt.modules.state.template(tem, queue=False, **kwargs)
165129              Execute the information stored in a template file on the minion.
165130
165131              This function does not ask a master for a SLS file to render but
165132              instead directly processes the file at the provided path on  the
165133              minion.
165134
165135              CLI Example:
165136
165137                 salt '*' state.template '<Path to template on the minion>'
165138
165139       salt.modules.state.template_str(tem, queue=False, **kwargs)
165140              Execute the information stored in a string from an sls template
165141
165142              CLI Example:
165143
165144                 salt '*' state.template_str '<Template String>'
165145
165146       salt.modules.state.top(topfn, test=None, queue=False, **kwargs)
165147              Execute a specific top file instead of the default. This is use‐
165148              ful to apply configurations from a  different  environment  (for
165149              example, dev or prod), without modifying the default top file.
165150
165151              queue  False  Instead  of failing immediately when another state
165152                     run is in progress, queue the new state run to begin run‐
165153                     ning once the other has finished.
165154
165155                     This  option  starts  a  new thread for each queued state
165156                     run, so use this option sparingly.
165157
165158              saltenv
165159                     Specify a salt fileserver environment  to  be  used  when
165160                     applying states
165161
165162              pillarenv
165163                     Specify  a  Pillar  environment  to be used when applying
165164                     states. This can also be set in the  minion  config  file
165165                     using  the  pillarenv  option. When neither the pillarenv
165166                     minion config option nor this CLI argument is  used,  all
165167                     Pillar environments will be merged together.
165168
165169                     New in version 2017.7.0.
165170
165171
165172              CLI Example:
165173
165174                 salt '*' state.top reverse_top.sls
165175                 salt '*' state.top prod_top.sls exclude=sls_to_exclude
165176                 salt '*' state.top dev_top.sls exclude="[{'id': 'id_to_exclude'}, {'sls': 'sls_to_exclude'}]"
165177
165178   salt.modules.status
165179       Module  for  returning  various status data about a minion.  These data
165180       can be useful for compiling into stats later.
165181
165182       salt.modules.status.all_status()
165183              Return a composite of all status data and info for this  minion.
165184              Warning: There is a LOT here!
165185
165186              CLI Example:
165187
165188                 salt '*' status.all_status
165189
165190       salt.modules.status.cpuinfo()
165191              Changed in version 2016.3.2: Return the CPU info for this minion
165192
165193
165194              Changed in version 2016.11.4: Added support for AIX
165195
165196
165197              Changed  in version 2018.3.0: Added support for NetBSD and Open‐
165198              BSD
165199
165200
165201              CLI Example:
165202
165203                 salt '*' status.cpuinfo
165204
165205       salt.modules.status.cpustats()
165206              Return the CPU stats for this minion
165207
165208              Changed in version 2016.11.4: Added support for AIX
165209
165210
165211              Changed in version 2018.3.0: Added support for OpenBSD
165212
165213
165214              CLI Example:
165215
165216                 salt '*' status.cpustats
165217
165218       salt.modules.status.custom()
165219              Return a custom composite of status data and info for this  min‐
165220              ion,  based  on  the  minion config file. An example config like
165221              might be:
165222
165223                 status.cpustats.custom: [ 'cpu', 'ctxt', 'btime', 'processes' ]
165224
165225              Where status refers to status.py, cpustats is the function where
165226              we get our data, and custom is this function It is followed by a
165227              list of keys that we want returned.
165228
165229              This function is meant to replace  all_status(),  which  returns
165230              anything and everything, which we probably don't want.
165231
165232              By  default, nothing is returned. Warning: Depending on what you
165233              include, there can be a LOT here!
165234
165235              CLI Example:
165236
165237                 salt '*' status.custom
165238
165239       salt.modules.status.diskstats()
165240              Changed in version 2016.3.2: Return the disk stats for this min‐
165241              ion
165242
165243
165244              Changed in version 2016.11.4: Added support for AIX
165245
165246
165247              CLI Example:
165248
165249                 salt '*' status.diskstats
165250
165251       salt.modules.status.diskusage(*args)
165252              Return the disk usage for this minion
165253
165254              Usage:
165255
165256                 salt '*' status.diskusage [paths and/or filesystem types]
165257
165258              CLI Example:
165259
165260                 salt '*' status.diskusage         # usage for all filesystems
165261                 salt '*' status.diskusage / /tmp  # usage for / and /tmp
165262                 salt '*' status.diskusage ext?    # usage for ext[234] filesystems
165263                 salt '*' status.diskusage / ext?  # usage for / and all ext filesystems
165264
165265       salt.modules.status.loadavg()
165266              Return the load averages for this minion
165267
165268              Changed in version 2016.11.4: Added support for AIX
165269
165270
165271              CLI Example:
165272
165273                 salt '*' status.loadavg
165274
165275                 :raises CommandExecutionError: If the system cannot report loadaverages to Python
165276
165277       salt.modules.status.master(master=None, connected=True)
165278              New in version 2014.7.0.
165279
165280
165281              Return  the  connection status with master. Fire an event if the
165282              connection to master is not as expected. This function is  meant
165283              to  be  run via a scheduled job from the minion. If master_ip is
165284              an FQDN/Hostname, it must be resolvable to a valid IPv4 address.
165285
165286              Changed in version 2016.11.4: Added support for AIX
165287
165288
165289              CLI Example:
165290
165291                 salt '*' status.master
165292
165293       salt.modules.status.meminfo()
165294              Return the memory info for this minion
165295
165296              Changed in version 2016.11.4: Added support for AIX
165297
165298
165299              Changed in version 2018.3.0: Added support for OpenBSD
165300
165301
165302              CLI Example:
165303
165304                 salt '*' status.meminfo
165305
165306       salt.modules.status.netdev()
165307              Changed in version 2016.3.2: Return the network device stats for
165308              this minion
165309
165310
165311              Changed in version 2016.11.4: Added support for AIX
165312
165313
165314              CLI Example:
165315
165316                 salt '*' status.netdev
165317
165318       salt.modules.status.netstats()
165319              Return the network stats for this minion
165320
165321              Changed in version 2016.11.4: Added support for AIX
165322
165323
165324              Changed in version 2018.3.0: Added support for OpenBSD
165325
165326
165327              CLI Example:
165328
165329                 salt '*' status.netstats
165330
165331       salt.modules.status.nproc()
165332              Return the number of processing units available on this system
165333
165334              Changed in version 2016.11.4: Added support for AIX
165335
165336
165337              Changed  in  version 2018.3.0: Added support for Darwin, FreeBSD
165338              and OpenBSD
165339
165340
165341              CLI Example:
165342
165343                 salt '*' status.nproc
165344
165345       salt.modules.status.pid(sig)
165346              Return the PID or an empty string if the process is  running  or
165347              not.   Pass a signature to use to find the process via ps.  Note
165348              you can pass a Python-compatible regular  expression  to  return
165349              all pids of processes matching the regexp.
165350
165351              Changed in version 2016.11.4: Added support for AIX
165352
165353
165354              CLI Example:
165355
165356                 salt '*' status.pid <sig>
165357
165358       salt.modules.status.ping_master(master)
165359              New in version 2016.3.0.
165360
165361
165362              Sends  ping  request  to the given master. Fires '__master_fail‐
165363              back' event on success.  Returns bool result.
165364
165365              CLI Example:
165366
165367                 salt '*' status.ping_master localhost
165368
165369       salt.modules.status.procs()
165370              Return the process data
165371
165372              Changed in version 2016.11.4: Added support for AIX
165373
165374
165375              CLI Example:
165376
165377                 salt '*' status.procs
165378
165379       salt.modules.status.proxy_reconnect(proxy_name, opts=None)
165380              Forces proxy minion reconnection when not alive.
165381
165382              proxy_name
165383                     The virtual name of the proxy module.
165384
165385              opts: None
165386                     Opts dictionary. Not intended for CLI usage.
165387
165388              CLI Example:
165389                 salt '*' status.proxy_reconnect rest_sample
165390
165391       salt.modules.status.time_(format=u'%A, %d. %B %Y %I:%M%p')
165392              New in version 2016.3.0.
165393
165394
165395              Return the current time on the minion, formatted  based  on  the
165396              format parameter.
165397
165398              Default date format: Monday, 27. July 2015 07:55AM
165399
165400              CLI Example:
165401
165402                 salt '*' status.time
165403
165404                 salt '*' status.time '%s'
165405
165406       salt.modules.status.uptime()
165407              Return the uptime for this system.
165408
165409              Changed  in version 2015.8.9: The uptime function was changed to
165410              return a dictionary of easy-to-read key/value  pairs  containing
165411              uptime information, instead of the output from a cmd.run call.
165412
165413
165414              Changed in version 2016.11.0: Support for OpenBSD, FreeBSD, Net‐
165415              BSD, MacOS, and Solaris
165416
165417
165418              Changed in version 2016.11.4: Added support for AIX
165419
165420
165421              CLI Example:
165422
165423                 salt '*' status.uptime
165424
165425       salt.modules.status.version()
165426              Return the system version for this minion
165427
165428              Changed in version 2016.11.4: Added support for AIX
165429
165430
165431              Changed in version 2018.3.0: Added support for OpenBSD
165432
165433
165434              CLI Example:
165435
165436                 salt '*' status.version
165437
165438       salt.modules.status.vmstats()
165439              Changed in version 2016.3.2: Return the virtual memory stats for
165440              this minion
165441
165442
165443              Changed in version 2016.11.4: Added support for AIX
165444
165445
165446              CLI Example:
165447
165448                 salt '*' status.vmstats
165449
165450       salt.modules.status.w()
165451              Return  a  list  of logged in users for this minion, using the w
165452              command
165453
165454              CLI Example:
165455
165456                 salt '*' status.w
165457
165458   salt.modules.statuspage
165459   StatusPage
165460       Handle requests for the StatusPage API.
165461
165462       In the minion configuration file, the following block is required:
165463
165464          statuspage:
165465            api_key: <API_KEY>
165466            page_id: <PAGE_ID>
165467
165468       New in version 2017.7.0.
165469
165470
165471       salt.modules.statuspage.create(endpoint=u'incidents',     api_url=None,
165472       page_id=None, api_key=None, api_version=None, **kwargs)
165473              Insert a new entry under a specific endpoint.
165474
165475              endpoint: incidents
165476                     Insert under this specific endpoint.
165477
165478              page_id
165479                     Page ID. Can also be specified in the config file.
165480
165481              api_key
165482                     API key. Can also be specified in the config file.
165483
165484              api_version: 1
165485                     API version. Can also be specified in the config file.
165486
165487              api_url
165488                     Custom  API URL in case the user has a StatusPage service
165489                     running in a custom environment.
165490
165491              CLI Example:
165492
165493                 salt 'minion' statuspage.create endpoint='components' name='my component' group_id='993vgplshj12'
165494
165495              Example output:
165496
165497                 minion:
165498                     ----------
165499                     comment:
165500                     out:
165501                         ----------
165502                         created_at:
165503                             2017-01-05T19:35:27.135Z
165504                         description:
165505                             None
165506                         group_id:
165507                             993vgplshj12
165508                         id:
165509                             mjkmtt5lhdgc
165510                         name:
165511                             my component
165512                         page_id:
165513                             ksdhgfyiuhaa
165514                         position:
165515                             7
165516                         status:
165517                             operational
165518                         updated_at:
165519                             2017-01-05T19:35:27.135Z
165520                     result:
165521                         True
165522
165523       salt.modules.statuspage.delete(endpoint=u'incidents',          id=None,
165524       api_url=None, page_id=None, api_key=None, api_version=None)
165525              Remove an entry from an endpoint.
165526
165527              endpoint: incidents
165528                     Request a specific endpoint.
165529
165530              page_id
165531                     Page ID. Can also be specified in the config file.
165532
165533              api_key
165534                     API key. Can also be specified in the config file.
165535
165536              api_version: 1
165537                     API version. Can also be specified in the config file.
165538
165539              api_url
165540                     Custom  API URL in case the user has a StatusPage service
165541                     running in a custom environment.
165542
165543              CLI Example:
165544
165545                 salt 'minion' statuspage.delete endpoint='components' id='ftgks51sfs2d'
165546
165547              Example output:
165548
165549                 minion:
165550                     ----------
165551                     comment:
165552                     out:
165553                         None
165554                     result:
165555                         True
165556
165557       salt.modules.statuspage.retrieve(endpoint=u'incidents',   api_url=None,
165558       page_id=None, api_key=None, api_version=None)
165559              Retrieve a specific endpoint from the Statuspage API.
165560
165561              endpoint: incidents
165562                     Request a specific endpoint.
165563
165564              page_id
165565                     Page ID. Can also be specified in the config file.
165566
165567              api_key
165568                     API key. Can also be specified in the config file.
165569
165570              api_version: 1
165571                     API version. Can also be specified in the config file.
165572
165573              api_url
165574                     Custom  API URL in case the user has a StatusPage service
165575                     running in a custom environment.
165576
165577              CLI Example:
165578
165579                 salt 'minion' statuspage.retrieve components
165580
165581              Example output:
165582
165583                 minion:
165584                     ----------
165585                     comment:
165586                     out:
165587                         |_
165588                           ----------
165589                           backfilled:
165590                               False
165591                           created_at:
165592                               2015-01-26T20:25:02.702Z
165593                           id:
165594                               kh2qwjbheqdc36
165595                           impact:
165596                               major
165597                           impact_override:
165598                               None
165599                           incident_updates:
165600                               |_
165601                                 ----------
165602                                 affected_components:
165603                                     None
165604                                 body:
165605                                     We are currently investigating this issue.
165606                                 created_at:
165607                                     2015-01-26T20:25:02.849Z
165608                                 display_at:
165609                                     2015-01-26T20:25:02.849Z
165610                                 id:
165611                                     zvx7xz2z5skr
165612                                 incident_id:
165613                                     kh2qwjbheqdc36
165614                                 status:
165615                                     investigating
165616                                 twitter_updated_at:
165617                                     None
165618                                 updated_at:
165619                                     2015-01-26T20:25:02.849Z
165620                                 wants_twitter_update:
165621                                     False
165622                           monitoring_at:
165623                               None
165624                           name:
165625                               just testing some stuff
165626                           page_id:
165627                               ksdhgfyiuhaa
165628                           postmortem_body:
165629                               None
165630                           postmortem_body_last_updated_at:
165631                               None
165632                           postmortem_ignored:
165633                               False
165634                           postmortem_notified_subscribers:
165635                               False
165636                           postmortem_notified_twitter:
165637                               False
165638                           postmortem_published_at:
165639                               None
165640                           resolved_at:
165641                               None
165642                           scheduled_auto_completed:
165643                               False
165644                           scheduled_auto_in_progress:
165645                               False
165646                           scheduled_for:
165647                               None
165648                           scheduled_remind_prior:
165649                               False
165650                           scheduled_reminded_at:
165651                               None
165652                           scheduled_until:
165653                               None
165654                           shortlink:
165655                               http://stspg.io/voY
165656                           status:
165657                               investigating
165658                           updated_at:
165659                               2015-01-26T20:25:13.379Z
165660                     result:
165661                         True
165662
165663       salt.modules.statuspage.update(endpoint=u'incidents',          id=None,
165664       api_url=None, page_id=None, api_key=None, api_version=None, **kwargs)
165665              Update attribute(s) of a specific endpoint.
165666
165667              id     The unique ID of the enpoint entry.
165668
165669              endpoint: incidents
165670                     Endpoint name.
165671
165672              page_id
165673                     Page ID. Can also be specified in the config file.
165674
165675              api_key
165676                     API key. Can also be specified in the config file.
165677
165678              api_version: 1
165679                     API version. Can also be specified in the config file.
165680
165681              api_url
165682                     Custom  API URL in case the user has a StatusPage service
165683                     running in a custom environment.
165684
165685              CLI Example:
165686
165687                 salt 'minion' statuspage.update id=dz959yz2nd4l status=resolved
165688
165689              Example output:
165690
165691                 minion:
165692                     ----------
165693                     comment:
165694                     out:
165695                         ----------
165696                         created_at:
165697                             2017-01-03T15:25:30.718Z
165698                         description:
165699                             None
165700                         group_id:
165701                             993vgplshj12
165702                         id:
165703                             dz959yz2nd4l
165704                         name:
165705                             Management Portal
165706                         page_id:
165707                             xzwjjdw87vpf
165708                         position:
165709                             11
165710                         status:
165711                             resolved
165712                         updated_at:
165713                             2017-01-05T15:34:27.676Z
165714                     result:
165715                         True
165716
165717   salt.modules.supervisord
165718       Provide the service module for system supervisord or supervisord  in  a
165719       virtualenv
165720
165721       salt.modules.supervisord.add(name,      user=None,      conf_file=None,
165722       bin_env=None)
165723              Activates any updates in config for process/group.
165724
165725              user   user to run supervisorctl as
165726
165727              conf_file
165728                     path to supervisord config file
165729
165730              bin_env
165731                     path to supervisorctl bin  or  path  to  virtualenv  with
165732                     supervisor installed
165733
165734              CLI Example:
165735
165736                 salt '*' supervisord.add <name>
165737
165738       salt.modules.supervisord.custom(command,   user=None,   conf_file=None,
165739       bin_env=None)
165740              Run any custom supervisord command
165741
165742              user   user to run supervisorctl as
165743
165744              conf_file
165745                     path to supervisord config file
165746
165747              bin_env
165748                     path to supervisorctl bin  or  path  to  virtualenv  with
165749                     supervisor installed
165750
165751              CLI Example:
165752
165753                 salt '*' supervisord.custom "mstop '*gunicorn*'"
165754
165755       salt.modules.supervisord.options(name, conf_file=None)
165756              New in version 2014.1.0.
165757
165758
165759              Read  the  config file and return the config options for a given
165760              process
165761
165762              name   Name of the configured process
165763
165764              conf_file
165765                     path to supervisord config file
165766
165767              CLI Example:
165768
165769                 salt '*' supervisord.options foo
165770
165771       salt.modules.supervisord.remove(name,    user=None,     conf_file=None,
165772       bin_env=None)
165773              Removes process/group from active config
165774
165775              user   user to run supervisorctl as
165776
165777              conf_file
165778                     path to supervisord config file
165779
165780              bin_env
165781                     path  to  supervisorctl  bin  or  path to virtualenv with
165782                     supervisor installed
165783
165784              CLI Example:
165785
165786                 salt '*' supervisord.remove <name>
165787
165788       salt.modules.supervisord.reread(user=None,              conf_file=None,
165789       bin_env=None)
165790              Reload the daemon's configuration files
165791
165792              user   user to run supervisorctl as
165793
165794              conf_file
165795                     path to supervisord config file
165796
165797              bin_env
165798                     path  to  supervisorctl  bin  or  path to virtualenv with
165799                     supervisor installed
165800
165801              CLI Example:
165802
165803                 salt '*' supervisord.reread
165804
165805       salt.modules.supervisord.restart(name=u'all',                user=None,
165806       conf_file=None, bin_env=None)
165807              Restart  the  named  service.   Process  group  names should not
165808              include a trailing asterisk.
165809
165810              user   user to run supervisorctl as
165811
165812              conf_file
165813                     path to supervisord config file
165814
165815              bin_env
165816                     path to supervisorctl bin  or  path  to  virtualenv  with
165817                     supervisor installed
165818
165819              CLI Example:
165820
165821                 salt '*' supervisord.restart <service>
165822                 salt '*' supervisord.restart <group>:
165823
165824       salt.modules.supervisord.start(name=u'all',  user=None, conf_file=None,
165825       bin_env=None)
165826              Start the named service.  Process group names should not include
165827              a trailing asterisk.
165828
165829              user   user to run supervisorctl as
165830
165831              conf_file
165832                     path to supervisord config file
165833
165834              bin_env
165835                     path  to  supervisorctl  bin  or  path to virtualenv with
165836                     supervisor installed
165837
165838              CLI Example:
165839
165840                 salt '*' supervisord.start <service>
165841                 salt '*' supervisord.start <group>:
165842
165843       salt.modules.supervisord.status(name=None,  user=None,  conf_file=None,
165844       bin_env=None)
165845              List programs and its state
165846
165847              user   user to run supervisorctl as
165848
165849              conf_file
165850                     path to supervisord config file
165851
165852              bin_env
165853                     path  to  supervisorctl  bin  or  path to virtualenv with
165854                     supervisor installed
165855
165856              CLI Example:
165857
165858                 salt '*' supervisord.status
165859
165860       salt.modules.supervisord.status_raw(name=None,               user=None,
165861       conf_file=None, bin_env=None)
165862              Display the raw output of status
165863
165864              user   user to run supervisorctl as
165865
165866              conf_file
165867                     path to supervisord config file
165868
165869              bin_env
165870                     path  to  supervisorctl  bin  or  path to virtualenv with
165871                     supervisor installed
165872
165873              CLI Example:
165874
165875                 salt '*' supervisord.status_raw
165876
165877       salt.modules.supervisord.stop(name=u'all',  user=None,  conf_file=None,
165878       bin_env=None)
165879              Stop  the named service.  Process group names should not include
165880              a trailing asterisk.
165881
165882              user   user to run supervisorctl as
165883
165884              conf_file
165885                     path to supervisord config file
165886
165887              bin_env
165888                     path to supervisorctl bin  or  path  to  virtualenv  with
165889                     supervisor installed
165890
165891              CLI Example:
165892
165893                 salt '*' supervisord.stop <service>
165894                 salt '*' supervisord.stop <group>:
165895
165896       salt.modules.supervisord.update(user=None,              conf_file=None,
165897       bin_env=None, name=None)
165898              Reload config and add/remove/update as necessary
165899
165900              user   user to run supervisorctl as
165901
165902              conf_file
165903                     path to supervisord config file
165904
165905              bin_env
165906                     path to supervisorctl bin  or  path  to  virtualenv  with
165907                     supervisor installed
165908
165909              name   name  of the process group to update. if none then update
165910                     any process group that has changes
165911
165912              CLI Example:
165913
165914                 salt '*' supervisord.update
165915
165916   salt.modules.suse_apache
165917       Support for Apache
165918
165919       Please note: The functions in here are SUSE-specific. Placing  them  in
165920       this  separate file will allow them to load only on SUSE systems, while
165921       still loading under the apache namespace.
165922
165923       salt.modules.suse_apache.a2dismod(mod)
165924              Runs a2dismod for the given mod.
165925
165926              CLI Example:
165927
165928                 salt '*' apache.a2dismod vhost_alias
165929
165930       salt.modules.suse_apache.a2enmod(mod)
165931              Runs a2enmod for the given mod.
165932
165933              CLI Example:
165934
165935                 salt '*' apache.a2enmod vhost_alias
165936
165937       salt.modules.suse_apache.check_mod_enabled(mod)
165938              Checks to see if the specific apache mod is enabled.
165939
165940              This will only be functional on operating systems  that  support
165941              a2enmod -l to list the enabled mods.
165942
165943              CLI Example:
165944
165945                 salt '*' apache.check_mod_enabled status
165946
165947   salt.modules.svn
165948       Subversion SCM
165949
165950       salt.modules.svn.add(cwd,   targets,  user=None,  username=None,  pass‐
165951       word=None, *opts)
165952              Add files to be tracked by the Subversion working-copy checkout
165953
165954              cwd    The path to the Subversion repository
165955
165956              targets
165957                     None files and directories to  pass  to  the  command  as
165958                     arguments
165959
165960              user   None Run svn as a user other than what the minion runs as
165961
165962              username
165963                     None Connect to the Subversion server as another user
165964
165965              password
165966                     None Connect to the Subversion server with this password
165967
165968                     New in version 0.17.0.
165969
165970
165971              CLI Example:
165972
165973                 salt '*' svn.add /path/to/repo /path/to/new/file
165974
165975       salt.modules.svn.checkout(cwd,  remote,  target=None,  user=None, user‐
165976       name=None, password=None, *opts)
165977              Download a working copy  of  the  remote  Subversion  repository
165978              directory or file
165979
165980              cwd    The path to the Subversion repository
165981
165982              remote None URL to checkout
165983
165984              target None  The name to give the file or directory working copy
165985                     Default: svn uses the remote basename
165986
165987              user   None Run svn as a user other than what the minion runs as
165988
165989              username
165990                     None Connect to the Subversion server as another user
165991
165992              password
165993                     None Connect to the Subversion server with this password
165994
165995                     New in version 0.17.0.
165996
165997
165998              CLI Example:
165999
166000                 salt '*' svn.checkout /path/to/repo svn://remote/repo
166001
166002       salt.modules.svn.commit(cwd, targets=None, msg=None,  user=None,  user‐
166003       name=None, password=None, *opts)
166004              Commit  the  current  directory,  files,  or  directories to the
166005              remote Subversion repository
166006
166007              cwd    The path to the Subversion repository
166008
166009              targets
166010                     None files and directories to  pass  to  the  command  as
166011                     arguments Default: svn uses '.'
166012
166013              msg    None Message to attach to the commit log
166014
166015              user   None Run svn as a user other than what the minion runs as
166016
166017              username
166018                     None Connect to the Subversion server as another user
166019
166020              password
166021                     None Connect to the Subversion server with this password
166022
166023                     New in version 0.17.0.
166024
166025
166026              CLI Example:
166027
166028                 salt '*' svn.commit /path/to/repo
166029
166030       salt.modules.svn.diff(cwd,   targets=None,   user=None,  username=None,
166031       password=None, *opts)
166032              Return the diff of the current directory, files, or  directories
166033              from the remote Subversion repository
166034
166035              cwd    The path to the Subversion repository
166036
166037              targets
166038                     None  files  and  directories  to  pass to the command as
166039                     arguments Default: svn uses '.'
166040
166041              user   None Run svn as a user other than what the minion runs as
166042
166043              username
166044                     None Connect to the Subversion server as another user
166045
166046              password
166047                     None Connect to the Subversion server with this password
166048
166049                     New in version 0.17.0.
166050
166051
166052              CLI Example:
166053
166054                 salt '*' svn.diff /path/to/repo
166055
166056       salt.modules.svn.export(cwd,  remote,  target=None,  user=None,   user‐
166057       name=None, password=None, revision=u'HEAD', *opts)
166058              Create an unversioned copy of a tree.
166059
166060              cwd    The path to the Subversion repository
166061
166062              remote None URL and path to file or directory checkout
166063
166064              target None  The name to give the file or directory working copy
166065                     Default: svn uses the remote basename
166066
166067              user   None Run svn as a user other than what the minion runs as
166068
166069              username
166070                     None Connect to the Subversion server as another user
166071
166072              password
166073                     None Connect to the Subversion server with this password
166074
166075                     New in version 0.17.0.
166076
166077
166078              CLI Example:
166079
166080                 salt '*' svn.export /path/to/repo svn://remote/repo
166081
166082       salt.modules.svn.info(cwd,  targets=None,   user=None,   username=None,
166083       password=None, fmt=u'str')
166084              Display the Subversion information from the checkout.
166085
166086              cwd    The path to the Subversion repository
166087
166088              targets
166089                     None  files, directories, and URLs to pass to the command
166090                     as arguments svn uses '.' by default
166091
166092              user   None Run svn as a user other than what the minion runs as
166093
166094              username
166095                     None Connect to the Subversion server as another user
166096
166097              password
166098                     None Connect to the Subversion server with this password
166099
166100                     New in version 0.17.0.
166101
166102
166103              fmt    str How to fmt the output from info.   (str,  xml,  list,
166104                     dict)
166105
166106              CLI Example:
166107
166108                 salt '*' svn.info /path/to/svn/repo
166109
166110       salt.modules.svn.remove(cwd,   targets,   msg=None,   user=None,  user‐
166111       name=None, password=None, *opts)
166112              Remove files and directories from the Subversion repository
166113
166114              cwd    The path to the Subversion repository
166115
166116              targets
166117                     None files, directories, and URLs to pass to the  command
166118                     as arguments
166119
166120              msg    None Message to attach to the commit log
166121
166122              user   None Run svn as a user other than what the minion runs as
166123
166124              username
166125                     None Connect to the Subversion server as another user
166126
166127              password
166128                     None Connect to the Subversion server with this password
166129
166130                     New in version 0.17.0.
166131
166132
166133              CLI Example:
166134
166135                 salt '*' svn.remove /path/to/repo /path/to/repo/remove
166136
166137       salt.modules.svn.status(cwd,  targets=None,  user=None,  username=None,
166138       password=None, *opts)
166139              Display the status of the current directory, files, or  directo‐
166140              ries in the Subversion repository
166141
166142              cwd    The path to the Subversion repository
166143
166144              targets
166145                     None  files, directories, and URLs to pass to the command
166146                     as arguments Default: svn uses '.'
166147
166148              user   None Run svn as a user other than what the minion runs as
166149
166150              username
166151                     None Connect to the Subversion server as another user
166152
166153              password
166154                     None Connect to the Subversion server with this password
166155
166156                     New in version 0.17.0.
166157
166158
166159              CLI Example:
166160
166161                 salt '*' svn.status /path/to/repo
166162
166163       salt.modules.svn.switch(cwd,  remote,  target=None,  user=None,   user‐
166164       name=None, password=None, *opts)
166165              New in version 2014.1.0.
166166
166167
166168              Switch  a  working copy of a remote Subversion repository direc‐
166169              tory
166170
166171              cwd    The path to the Subversion repository
166172
166173              remote None URL to switch
166174
166175              target None The name to give the file or directory working  copy
166176                     Default: svn uses the remote basename
166177
166178              user   None Run svn as a user other than what the minion runs as
166179
166180              username
166181                     None Connect to the Subversion server as another user
166182
166183              password
166184                     None Connect to the Subversion server with this password
166185
166186              CLI Example:
166187
166188                 salt '*' svn.switch /path/to/repo svn://remote/repo
166189
166190       salt.modules.svn.update(cwd,  targets=None,  user=None,  username=None,
166191       password=None, *opts)
166192              Update the current directory, files,  or  directories  from  the
166193              remote Subversion repository
166194
166195              cwd    The path to the Subversion repository
166196
166197              targets
166198                     None  files  and  directories  to  pass to the command as
166199                     arguments Default: svn uses '.'
166200
166201              user   None Run svn as a user other than what the minion runs as
166202
166203              password
166204                     None Connect to the Subversion server with this password
166205
166206                     New in version 0.17.0.
166207
166208
166209              username
166210                     None Connect to the Subversion server as another user
166211
166212              CLI Example:
166213
166214                 salt '*' svn.update /path/to/repo
166215
166216   salt.modules.swarm
166217   Docker Swarm Module using Docker's Python SDK
166218       codeauthor
166219              Tyler Jones <jonestyler806@gmail.com>
166220
166221       New in version 2018.3.0.
166222
166223
166224       The Docker Swarm Module is used to manage and create Docker Swarms.
166225
166226   Dependencies
166227       · Docker installed on the host
166228
166229       · Docker python sdk >= 2.5.1
166230
166231   Docker Python SDK
166232          pip install -U docker
166233
166234       More information: https://docker-py.readthedocs.io/en/stable/
166235
166236       salt.modules.swarm.joinswarm(remote_addr=<type       'int'>,       lis‐
166237       ten_addr=<type 'int'>, token=<type 'str'>)
166238              Join a Swarm Worker to the cluster
166239
166240              remote_addr
166241                     The manager node you want to connect to for the swarm
166242
166243              listen_addr
166244                     Listen  address  used  for inter-manager communication if
166245                     the node gets promoted to manager, as well as determining
166246                     the  networking  interface used for the VXLAN Tunnel End‐
166247                     point (VTEP)
166248
166249              token  Either the manager join token or the worker  join  token.
166250                     You  can  get  the  worker  or manager token via salt '*'
166251                     swarm.swarm_tokens
166252
166253              CLI Example:
166254
166255                 salt '*' swarm.joinswarm remote_addr=192.168.50.10 listen_addr='0.0.0.0'             token='SWMTKN-1-64tux2g0701r84ofq93zppcih0pe081akq45owe9ts61f30x4t-06trjugdu7x2z47j938s54il'
166256
166257       salt.modules.swarm.leave_swarm(force=<type 'bool'>)
166258              Force the minion to leave the swarm
166259
166260              force  Will force the minion/worker/manager to leave the swarm
166261
166262              CLI Example:
166263
166264                 salt '*' swarm.leave_swarm force=False
166265
166266       salt.modules.swarm.node_ls(server=<type 'str'>)
166267              Displays Information about  Swarm  Nodes  with  passing  in  the
166268              server
166269
166270              server The minion/server name
166271
166272              CLI Example:
166273
166274                 salt '*' swarm.node_ls server=minion1
166275
166276       salt.modules.swarm.remove_node(node_id=<type     'str'>,    force=<type
166277       'bool'>)
166278              Remove a node from a swarm and the target needs to  be  a  swarm
166279              manager
166280
166281              node_id
166282                     The node id from the return of swarm.node_ls
166283
166284              force  Forcefully remove the node/minion from the service
166285
166286              CLI Example:
166287
166288                 salt '*' swarm.remove_node node_id=z4gjbe9rwmqahc2a91snvolm5 force=false
166289
166290       salt.modules.swarm.remove_service(service=<type 'str'>)
166291              Remove Swarm Service
166292
166293              service
166294                     The name of the service
166295
166296              CLI Example:
166297
166298                 salt '*' swarm.remove_service service=Test_Service
166299
166300       salt.modules.swarm.service_create(image=<type     'str'>,    name=<type
166301       'str'>, command=<type  'str'>,  hostname=<type  'str'>,  replicas=<type
166302       'int'>, target_port=<type 'int'>, published_port=<type 'int'>)
166303              Create Docker Swarm Service Create
166304
166305              image  The docker image
166306
166307              name   Is the service name
166308
166309              command
166310                     The docker command to run in the container at launch
166311
166312              hostname
166313                     The hostname of the containers
166314
166315              replicas
166316                     How many replicas you want running in the swarm
166317
166318              target_port
166319                     The target port on the container
166320
166321              published_port
166322                     port thats published on the host/os
166323
166324              CLI Example:
166325
166326                 salt '*' swarm.service_create image=httpd name=Test_Service             command=None hostname=salthttpd replicas=6 target_port=80 published_port=80
166327
166328       salt.modules.swarm.swarm_init(advertise_addr=<type     'str'>,     lis‐
166329       ten_addr=<type 'int'>, force_new_cluster=<type 'bool'>)
166330              Initalize Docker on Minion as a Swarm Manager
166331
166332              advertise_addr
166333                     The ip of the manager
166334
166335              listen_addr
166336                     Listen address used for inter-manager  communication,  as
166337                     well as determining the networking interface used for the
166338                     VXLAN Tunnel Endpoint (VTEP).   This  can  either  be  an
166339                     address/port combination in the form 192.168.1.1:4567, or
166340                     an interface followed by a port number, like eth0:4567
166341
166342              force_new_cluster
166343                     Force a new cluster if True is passed
166344
166345              CLI Example:
166346
166347                 salt '*' swarm.swarm_init advertise_addr='192.168.50.10' listen_addr='0.0.0.0' force_new_cluster=False
166348
166349       salt.modules.swarm.swarm_service_info(service_name=<type 'str'>)
166350              Swarm Service Information
166351
166352              service_name
166353                     The name of the service  that  you  want  information  on
166354                     about the service
166355
166356              CLI Example:
166357
166358                 salt '*' swarm.swarm_service_info service_name=Test_Service
166359
166360       salt.modules.swarm.swarm_tokens()
166361              Get the Docker Swarm Manager or Worker join tokens
166362
166363              CLI Example:
166364
166365                 salt '*' swarm.swarm_tokens
166366
166367       salt.modules.swarm.update_node(availability=<type               'str'>,
166368       node_name=<type 'str'>, role=<type 'str'>, node_id=<type  'str'>,  ver‐
166369       sion=<type 'int'>)
166370              Updates docker swarm nodes/needs to target a manager node/minion
166371
166372              availability
166373                     Drain or Active
166374
166375              node_name
166376                     minion/node
166377
166378              role   role of manager or worker
166379
166380              node_id
166381                     The Id and that can be obtained via swarm.node_ls
166382
166383              version
166384                     Is obtained by swarm.node_ls
166385
166386              CLI Example:
166387
166388                 salt '*' docker_util.update_node availability=drain node_name=minion2             role=worker node_id=3k9x7t8m4pel9c0nqr3iajnzp version=19
166389
166390   salt.modules.swift
166391       Module  for  handling  OpenStack Swift calls Author: Anthony Stanton <‐
166392       anthony.stanton@gmail.com>
166393
166394       Inspired by the S3 and Nova modules
166395
166396       depends
166397
166398              · swiftclient Python module
166399
166400       configuration
166401              This module is not usable until the user, tenant, auth URL,  and
166402              password  or auth_key are specified either in a pillar or in the
166403              minion's config file.  For example:
166404
166405                 keystone.user: admin
166406                 keystone.tenant: admin
166407                 keystone.auth_url: 'http://127.0.0.1:5000/v2.0/'
166408                 keystone.password: verybadpass
166409                 # or
166410                 keystone.auth_key: 203802934809284k2j34lkj2l3kj43k
166411
166412              If configuration for multiple OpenStack  accounts  is  required,
166413              they  can  be  set  up  as different configuration profiles: For
166414              example:
166415
166416                 openstack1:
166417                   keystone.user: admin
166418                   keystone.tenant: admin
166419                   keystone.auth_url: 'http://127.0.0.1:5000/v2.0/'
166420                   keystone.password: verybadpass
166421                   # or
166422                   keystone.auth_key: 203802934809284k2j34lkj2l3kj43k
166423
166424                 openstack2:
166425                   keystone.user: admin
166426                   keystone.tenant: admin
166427                   keystone.auth_url: 'http://127.0.0.2:5000/v2.0/'
166428                   keystone.password: verybadpass
166429                   # or
166430                   keystone.auth_key: 303802934809284k2j34lkj2l3kj43k
166431
166432              With this configuration in place, any of the swift functions can
166433              make  use of a configuration profile by declaring it explicitly.
166434              For example:
166435
166436                 salt '*' swift.get mycontainer myfile /tmp/file profile=openstack1
166437
166438              NOTE: For Rackspace cloud files setting keystone.auth_version  =
166439              1 is recommended.
166440
166441       salt.modules.swift.delete(cont, path=None, profile=None)
166442              Delete a container, or delete an object from a container.
166443
166444              CLI Example to delete a container:
166445
166446                 salt myminion swift.delete mycontainer
166447
166448              CLI Example to delete an object from a container:
166449
166450                 salt myminion swift.delete mycontainer remoteobject
166451
166452       salt.modules.swift.get(cont=None,      path=None,      local_file=None,
166453       return_bin=False, profile=None)
166454              List the contents of a container, or return  an  object  from  a
166455              container. Set return_bin to True in order to retrieve an object
166456              wholesale.  Otherwise,  Salt  will  attempt  to  parse  an   XML
166457              response.
166458
166459              CLI Example to list containers:
166460
166461                 salt myminion swift.get
166462
166463              CLI Example to list the contents of a container:
166464
166465                 salt myminion swift.get mycontainer
166466
166467              CLI Example to return the binary contents of an object:
166468
166469                 salt myminion swift.get mycontainer myfile.png return_bin=True
166470
166471              CLI  Example to save the binary contents of an object to a local
166472              file:
166473
166474                 salt myminion swift.get mycontainer myfile.png local_file=/tmp/myfile.png
166475
166476       salt.modules.swift.head()
166477
166478       salt.modules.swift.put(cont, path=None, local_file=None, profile=None)
166479              Create a new container, or upload an object to a container.
166480
166481              CLI Example to create a container:
166482
166483                 salt myminion swift.put mycontainer
166484
166485              CLI Example to upload an object to a container:
166486
166487                 salt myminion swift.put mycontainer remotepath local_file=/path/to/file
166488
166489   salt.modules.sysbench
166490       The 'sysbench' module is used to analyze the performance  of  the  min‐
166491       ions,  right  from  the  master!  It measures various system parameters
166492       such as CPU, Memory, File I/O, Threads and Mutex.
166493
166494       salt.modules.sysbench.cpu()
166495              Tests for the CPU performance of minions.
166496
166497              CLI Examples:
166498
166499                 salt '*' sysbench.cpu
166500
166501       salt.modules.sysbench.fileio()
166502              This tests for the file read and write operations Various  modes
166503              of operations are
166504
166505              · sequential write
166506
166507              · sequential rewrite
166508
166509              · sequential read
166510
166511              · random read
166512
166513              · random write
166514
166515              · random read and write
166516
166517              The  test  works  with 32 files with each file being 1Gb in size
166518              The test consumes a lot of time. Be patient!
166519
166520              CLI Examples:
166521
166522                 salt '*' sysbench.fileio
166523
166524       salt.modules.sysbench.memory()
166525              This tests the memory for read and write operations.
166526
166527              CLI Examples:
166528
166529                 salt '*' sysbench.memory
166530
166531       salt.modules.sysbench.mutex()
166532              Tests the implementation of mutex
166533
166534              CLI Examples:
166535
166536                 salt '*' sysbench.mutex
166537
166538       salt.modules.sysbench.ping()
166539
166540       salt.modules.sysbench.threads()
166541              This tests the performance of the processor's scheduler
166542
166543              CLI Example:
166544
166545                 salt '*' sysbench.threads
166546
166547   salt.modules.sysfs module
166548       Module for interfacing with SysFS
166549
166550       SEE ALSO:
166551          https://www.kernel.org/doc/Documentation/filesystems/sysfs.txt
166552
166553       New in version 2016.3.0.
166554
166555
166556       salt.modules.sysfs.attr(key, value=None)
166557              Access/write a SysFS attribute.  If the attribute is a  symlink,
166558              it's destination is returned
166559
166560              Returns
166561                     value or bool
166562
166563              CLI example:
166564
166565                        salt '*' sysfs.attr block/sda/queue/logical_block_size
166566
166567       salt.modules.sysfs.interfaces(root)
166568              Generate  a dictionary with all available interfaces relative to
166569              root.  Symlinks are not followed.
166570
166571              CLI example:
166572
166573                        salt '*' sysfs.interfaces block/bcache0/bcache
166574
166575              Output example:
166576
166577                        {
166578                           "r": [
166579                             "state",
166580                             "partial_stripes_expensive",
166581                             "writeback_rate_debug",
166582                             "stripe_size",
166583                             "dirty_data",
166584                             "stats_total/cache_hits",
166585                             "stats_total/cache_bypass_misses",
166586                             "stats_total/bypassed",
166587                             "stats_total/cache_readaheads",
166588                             "stats_total/cache_hit_ratio",
166589                             "stats_total/cache_miss_collisions",
166590                             "stats_total/cache_misses",
166591                             "stats_total/cache_bypass_hits",
166592                           ],
166593                           "rw": [
166594                             "writeback_rate",
166595                             "writeback_rate_update_seconds",
166596                             "cache_mode",
166597                             "writeback_delay",
166598                             "label",
166599                             "writeback_running",
166600                             "writeback_metadata",
166601                             "running",
166602                             "writeback_rate_p_term_inverse",
166603                             "sequential_cutoff",
166604                             "writeback_percent",
166605                             "writeback_rate_d_term",
166606                             "readahead"
166607                           ],
166608                           "w": [
166609                             "stop",
166610                             "clear_stats",
166611                             "attach",
166612                             "detach"
166613                           ]
166614                        }
166615
166616              NOTE:
166617
166618                 · 'r' interfaces are read-only
166619
166620                 · 'w' interfaces are write-only (e.g. actions)
166621
166622                 · 'rw' are interfaces that can both be read or written
166623
166624       salt.modules.sysfs.read(key, root=u'')
166625              Read from SysFS
166626
166627              Parameters
166628                     key -- file or path in SysFS; if key is a list then  root
166629                     will be prefixed on each key
166630
166631              Returns
166632                     the full (tree of) SysFS attributes under key
166633
166634              CLI example:
166635
166636                        salt '*' sysfs.read class/net/em1/statistics
166637
166638       salt.modules.sysfs.target(key, full=True)
166639              Return the basename of a SysFS key path
166640
166641              Parameters
166642
166643                     · key -- the location to resolve within SysFS
166644
166645                     · full -- full path instead of basename
166646
166647              Returns
166648                     fullpath or basename of path
166649
166650              CLI example:
166651
166652                        salt '*' sysfs.read class/ttyS0
166653
166654       salt.modules.sysfs.write(key, value)
166655              Write a SysFS attribute/action
166656
166657              CLI example:
166658
166659                        salt '*' sysfs.write devices/system/cpu/cpu0/cpufreq/scaling_governor 'performance'
166660
166661   salt.modules.syslog_ng
166662       Module for getting information about syslog-ng
166663
166664       maintainer
166665              Tibor Benke <btibi@sch.bme.hu>
166666
166667       maturity
166668              new
166669
166670       depends
166671              cmd
166672
166673       platform
166674              all
166675
166676       This  module  is  capable  of  managing  syslog-ng instances which were
166677       installed via a package manager or from source. Users can use a  direc‐
166678       tory  as  a parameter in the case of most functions, which contains the
166679       syslog-ng and syslog-ng-ctl binaries.
166680
166681       Syslog-ng can be installed via a package manager or from source. In the
166682       latter case, the syslog-ng and syslog-ng-ctl binaries are not available
166683       from the PATH, so users should set location of the sbin directory  with
166684       syslog_ng.set_binary_path.
166685
166686       Similarly,  users  can  specify  the location of the configuration file
166687       with syslog_ng.set_config_file, then the module will use it. If  it  is
166688       not set, syslog-ng uses the default configuration file.
166689
166690       class salt.modules.syslog_ng.Argument(value=u'')
166691              A  TypedParameterValue  has  one  or more Arguments. For example
166692              this can be the value of key_file.
166693
166694              Does not need examples.
166695
166696              build()
166697
166698       class   salt.modules.syslog_ng.Buildable(iterable,    join_body_on=u'',
166699       append_extra_newline=True)
166700              Base class of most classes, which have a build method.
166701
166702              It contains a common build function.
166703
166704              Does not need examples.
166705
166706              build()
166707                     Builds the textual representation of the whole configura‐
166708                     tion object with it's children.
166709
166710              build_body()
166711                     Builds the body of a syslog-ng configuration object.
166712
166713              build_header()
166714                     Builds the header of a syslog-ng configuration object.
166715
166716              build_tail()
166717                     Builds the tail of a syslog-ng configuration object.
166718
166719       class salt.modules.syslog_ng.GivenStatement(value, add_newline=True)
166720
166721              This statement returns a string without modification. It can  be
166722              used to
166723                     use existing configuration snippets.
166724
166725              Does not need examples.
166726
166727              build()
166728
166729       class salt.modules.syslog_ng.NamedStatement(type, id=u'', options=None)
166730              It  represents a configuration statement, which has a name, e.g.
166731              a source.
166732
166733              Does not need examples.
166734
166735       class salt.modules.syslog_ng.Option(type=u'', params=None)
166736              A Statement class contains Option instances.
166737
166738              An instance of Option can represent a file(), tcp(), udp(), etc.
166739              option.
166740
166741              Does not need examples.
166742
166743              add_parameter(param)
166744
166745              build()
166746
166747       class salt.modules.syslog_ng.Parameter(iterable=None, join_body_on=u'')
166748              An Option has one or more Parameter instances.
166749
166750              Does not need examples.
166751
166752       class              salt.modules.syslog_ng.ParameterValue(iterable=None,
166753       join_body_on=u'')
166754              A TypedParameter can have one or more values.
166755
166756              Does not need examples.
166757
166758       class salt.modules.syslog_ng.SimpleParameter(value=u'')
166759              A Parameter is a SimpleParameter, if it's just  a  simple  type,
166760              like a string.
166761
166762              For example:
166763
166764                 destination d_file {
166765                     file(
166766                         '/var/log/messages'
166767                     );
166768                 };
166769
166770              /var/log/messages is a SimpleParameter.
166771
166772              Does not need examples.
166773
166774              build()
166775
166776       class salt.modules.syslog_ng.SimpleParameterValue(value=u'')
166777              A  ParameterValuem which holds a simple type, like a string or a
166778              number.
166779
166780              For example in ip(127.0.0.1)  127.0.0.1  is  a  SimpleParameter‐
166781              Value.
166782
166783              Does not need examples.
166784
166785              build()
166786
166787       class   salt.modules.syslog_ng.Statement(type,   id=u'',  options=None,
166788       has_name=True)
166789              It represents a syslog-ng configuration statement, e.g.  source,
166790              destination, filter.
166791
166792              Does not need examples.
166793
166794              add_child(option)
166795
166796              build_header()
166797
166798              build_tail()
166799
166800       exception salt.modules.syslog_ng.SyslogNgError
166801
166802       class salt.modules.syslog_ng.TypedParameter(type=u'', values=None)
166803              A Parameter, which has a type:
166804
166805                 destination d_tcp {
166806                     tcp(
166807                         ip(127.0.0.1)
166808                     );
166809                 };
166810
166811              ip(127.0.0.1) is a TypedParameter.
166812
166813              Does not need examples.
166814
166815              add_value(value)
166816
166817              build()
166818
166819       class     salt.modules.syslog_ng.TypedParameterValue(type=u'',    argu‐
166820       ments=None)
166821              We have to go deeper...
166822
166823              A TypedParameter can have a 'parameter', which also have a type.
166824              For example key_file and cert_file:
166825
166826                 source demo_tls_source {
166827                     tcp(
166828                         ip(0.0.0.0)
166829                         port(1999)
166830                         tls(
166831                             key_file('/opt/syslog-ng/etc/syslog-ng/key.d/syslog-ng.key')
166832                             cert_file('/opt/syslog-ng/etc/syslog-ng/cert.d/syslog-ng.cert')
166833                         )
166834                     );
166835                 };
166836
166837              Does not need examples.
166838
166839              add_argument(arg)
166840
166841              build()
166842
166843       class salt.modules.syslog_ng.UnnamedStatement(type, options=None)
166844              It  represents  a  configuration statement, which doesn't have a
166845              name, e.g. a log path.
166846
166847              Does not need examples.
166848
166849       salt.modules.syslog_ng.config(name, config, write=True)
166850              Builds syslog-ng configuration. This function is intended to  be
166851              used from the state module, users should not use it directly!
166852
166853              name  :  the  id  of  the  Salt  document or it is the format of
166854              <statement name>.id config : the parsed YAML  code  write  :  if
166855              True,  it writes  the config into the configuration file, other‐
166856              wise just returns it
166857
166858              CLI Example:
166859
166860                 salt '*' syslog_ng.config name='s_local' config="[{'tcp':[{'ip':'127.0.0.1'},{'port':1233}]}]"
166861
166862       salt.modules.syslog_ng.config_test(syslog_ng_sbin_dir=None,        cfg‐
166863       file=None)
166864              Runs  syntax  check  against  cfgfile.  If syslog_ng_sbin_dir is
166865              specified, it is added to the PATH during the test.
166866
166867              CLI Example:
166868
166869                 salt '*' syslog_ng.config_test
166870                 salt '*' syslog_ng.config_test /home/user/install/syslog-ng/sbin
166871                 salt '*' syslog_ng.config_test /home/user/install/syslog-ng/sbin /etc/syslog-ng/syslog-ng.conf
166872
166873       salt.modules.syslog_ng.get_config_file()
166874              Returns  the  configuration  directory,  which   contains   sys‐
166875              log-ng.conf.
166876
166877              CLI Example:
166878
166879                 salt '*' syslog_ng.get_config_file
166880
166881       salt.modules.syslog_ng.modules(syslog_ng_sbin_dir=None)
166882              Returns  the  available modules. If syslog_ng_sbin_dir is speci‐
166883              fied, it is added to the PATH during the execution of  the  com‐
166884              mand syslog-ng.
166885
166886              CLI Example:
166887
166888                 salt '*' syslog_ng.modules
166889                 salt '*' syslog_ng.modules /home/user/install/syslog-ng/sbin
166890
166891       salt.modules.syslog_ng.reload_(name)
166892              Reloads  syslog-ng.  This  function  is intended to be used from
166893              states.
166894
166895              If syslog_ng.set_config_file, is called  before,  this  function
166896              will use the set binary path.
166897
166898              CLI Example:
166899
166900                 salt '*' syslog_ng.reload
166901
166902       salt.modules.syslog_ng.set_binary_path(name)
166903              Sets  the  path,  where  the syslog-ng binary can be found. This
166904              function is intended to be used from states.
166905
166906              If syslog-ng is installed via a  package  manager,  users  don't
166907              need to use this function.
166908
166909              CLI Example:
166910
166911                 salt '*' syslog_ng.set_binary_path name=/usr/sbin
166912
166913       salt.modules.syslog_ng.set_config_file(name)
166914              Sets  the  configuration's name. This function is intended to be
166915              used from states.
166916
166917              CLI Example:
166918
166919                 salt '*' syslog_ng.set_config_file name=/etc/syslog-ng
166920
166921       salt.modules.syslog_ng.set_parameters(version=None,   binary_path=None,
166922       config_file=None, *args, **kwargs)
166923              Sets variables.
166924
166925              CLI Example:
166926
166927                 salt '*' syslog_ng.set_parameters version='3.6'
166928                 salt '*' syslog_ng.set_parameters  binary_path=/home/user/install/syslog-ng/sbin config_file=/home/user/install/syslog-ng/etc/syslog-ng.conf
166929
166930       salt.modules.syslog_ng.start(name=None,      user=None,     group=None,
166931       chroot=None, caps=None, no_caps=False, pidfile=None, enable_core=False,
166932       fd_limit=None,  verbose=False, debug=False, trace=False, yydebug=False,
166933       persist_file=None, control=None, worker_threads=None)
166934              Ensures, that syslog-ng is started  via  the  given  parameters.
166935              This function is intended to be used from the state module.
166936
166937              Users  shouldn't  use  this  function,  if the service module is
166938              available on  their  system.  If  syslog_ng.set_config_file,  is
166939              called before, this function will use the set binary path.
166940
166941              CLI Example:
166942
166943                 salt '*' syslog_ng.start
166944
166945       salt.modules.syslog_ng.stats(syslog_ng_sbin_dir=None)
166946              Returns  statistics from the running syslog-ng instance. If sys‐
166947              log_ng_sbin_dir is specified, it is added to the PATH during the
166948              execution of the command syslog-ng-ctl.
166949
166950              CLI Example:
166951
166952                 salt '*' syslog_ng.stats
166953                 salt '*' syslog_ng.stats /home/user/install/syslog-ng/sbin
166954
166955       salt.modules.syslog_ng.stop(name=None)
166956              Kills  syslog-ng.  This function is intended to be used from the
166957              state module.
166958
166959              Users shouldn't use this function,  if  the  service  module  is
166960              available  on  their  system.   If  syslog_ng.set_config_file is
166961              called before, this function will use the set binary path.
166962
166963              CLI Example:
166964
166965                 salt '*' syslog_ng.stop
166966
166967       salt.modules.syslog_ng.version(syslog_ng_sbin_dir=None)
166968              Returns  the  version  of  the  installed  syslog-ng.  If   sys‐
166969              log_ng_sbin_dir is specified, it is added to the PATH during the
166970              execution of the command syslog-ng.
166971
166972              CLI Example:
166973
166974                 salt '*' syslog_ng.version
166975                 salt '*' syslog_ng.version /home/user/install/syslog-ng/sbin
166976
166977       salt.modules.syslog_ng.write_config(config, newlines=2)
166978              Writes the given parameter config into  the  config  file.  This
166979              function is intended to be used from states.
166980
166981              If  syslog_ng.set_config_file,  is  called before, this function
166982              will use the set config file.
166983
166984              CLI Example:
166985
166986                 salt '*' syslog_ng.write_config config='# comment'
166987
166988       salt.modules.syslog_ng.write_version(name)
166989              Removes the previous configuration file, then creates a new  one
166990              and  writes  the name line. This function is intended to be used
166991              from states.
166992
166993              If syslog_ng.set_config_file, is called  before,  this  function
166994              will use the set config file.
166995
166996              CLI Example:
166997
166998                 salt '*' syslog_ng.write_version name="3.6"
166999
167000   salt.modules.sysmod
167001       The  sys  module  provides information about the available functions on
167002       the minion
167003
167004       salt.modules.sysmod.argspec(module=u'')
167005              Return the argument specification of functions in Salt execution
167006              modules.
167007
167008              CLI Example:
167009
167010                 salt '*' sys.argspec pkg.install
167011                 salt '*' sys.argspec sys
167012                 salt '*' sys.argspec
167013
167014              Module names can be specified as globs.
167015
167016              New in version 2015.5.0.
167017
167018
167019                 salt '*' sys.argspec 'pkg.*'
167020
167021       salt.modules.sysmod.doc(*args)
167022              Return  the  docstrings  for  all modules. Optionally, specify a
167023              module or a function to narrow the selection.
167024
167025              The strings are aggregated into a single document on the  master
167026              for easy reading.
167027
167028              Multiple modules/functions can be specified.
167029
167030              CLI Example:
167031
167032                 salt '*' sys.doc
167033                 salt '*' sys.doc sys
167034                 salt '*' sys.doc sys.doc
167035                 salt '*' sys.doc network.traceroute user.info
167036
167037              Modules can be specified as globs.
167038
167039              New in version 2015.5.0.
167040
167041
167042                 salt '*' sys.doc 'sys.*'
167043                 salt '*' sys.doc 'sys.list_*'
167044
167045       salt.modules.sysmod.list_functions(*args, **kwargs)
167046              List the functions for all modules. Optionally, specify a module
167047              or modules from which to list.
167048
167049              CLI Example:
167050
167051                 salt '*' sys.list_functions
167052                 salt '*' sys.list_functions sys
167053                 salt '*' sys.list_functions sys user
167054
167055              Function names can be specified as globs.
167056
167057              New in version 2015.5.0.
167058
167059
167060                 salt '*' sys.list_functions 'sys.list_*'
167061
167062              New in version ?.
167063
167064
167065                 salt '*' sys.list_functions 'module.specific_function'
167066
167067       salt.modules.sysmod.list_modules(*args)
167068              List the modules loaded on the minion
167069
167070              New in version 2015.5.0.
167071
167072
167073              CLI Example:
167074
167075                 salt '*' sys.list_modules
167076
167077              Module names can be specified as globs.
167078
167079                 salt '*' sys.list_modules 's*'
167080
167081       salt.modules.sysmod.list_renderers(*args)
167082              List the renderers loaded on the minion
167083
167084              New in version 2015.5.0.
167085
167086
167087              CLI Example:
167088
167089                 salt '*' sys.list_renderers
167090
167091              Render names can be specified as globs.
167092
167093                 salt '*' sys.list_renderers 'yaml*'
167094
167095       salt.modules.sysmod.list_returner_functions(*args, **kwargs)
167096              List the functions for all returner modules. Optionally, specify
167097              a returner module or modules from which to list.
167098
167099              New in version 2014.7.0.
167100
167101
167102              CLI Example:
167103
167104                 salt '*' sys.list_returner_functions
167105                 salt '*' sys.list_returner_functions mysql
167106                 salt '*' sys.list_returner_functions mysql etcd
167107
167108              Returner names can be specified as globs.
167109
167110              New in version 2015.5.0.
167111
167112
167113                 salt '*' sys.list_returner_functions 'sqlite3.get_*'
167114
167115       salt.modules.sysmod.list_returners(*args)
167116              List the returners loaded on the minion
167117
167118              New in version 2014.7.0.
167119
167120
167121              CLI Example:
167122
167123                 salt '*' sys.list_returners
167124
167125              Returner names can be specified as globs.
167126
167127              New in version 2015.5.0.
167128
167129
167130                 salt '*' sys.list_returners 's*'
167131
167132       salt.modules.sysmod.list_runner_functions(*args, **kwargs)
167133              List the functions for all runner modules. Optionally, specify a
167134              runner module or modules from which to list.
167135
167136              New in version 2014.7.0.
167137
167138
167139              CLI Example:
167140
167141                 salt '*' sys.list_runner_functions
167142                 salt '*' sys.list_runner_functions state
167143                 salt '*' sys.list_runner_functions state virt
167144
167145              Runner function names can be specified as globs.
167146
167147              New in version 2015.5.0.
167148
167149
167150                 salt '*' sys.list_runner_functions 'state.*' 'virt.*'
167151
167152       salt.modules.sysmod.list_runners(*args)
167153              List the runners loaded on the minion
167154
167155              New in version 2014.7.0.
167156
167157
167158              CLI Example:
167159
167160                 salt '*' sys.list_runners
167161
167162              Runner names can be specified as globs.
167163
167164              New in version 2015.5.0.
167165
167166
167167                 salt '*' sys.list_runners 'm*'
167168
167169       salt.modules.sysmod.list_state_functions(*args, **kwargs)
167170              List the functions for all state modules. Optionally, specify  a
167171              state module or modules from which to list.
167172
167173              New in version 2014.7.0.
167174
167175
167176              CLI Example:
167177
167178                 salt '*' sys.list_state_functions
167179                 salt '*' sys.list_state_functions file
167180                 salt '*' sys.list_state_functions pkg user
167181
167182              State function names can be specified as globs.
167183
167184              New in version 2015.5.0.
167185
167186
167187                 salt '*' sys.list_state_functions 'file.*'
167188                 salt '*' sys.list_state_functions 'file.s*'
167189
167190              New in version ?.
167191
167192
167193                 salt '*' sys.list_state_functions 'module.specific_function'
167194
167195       salt.modules.sysmod.list_state_modules(*args)
167196              List the modules loaded on the minion
167197
167198              New in version 2014.7.0.
167199
167200
167201              CLI Example:
167202
167203                 salt '*' sys.list_state_modules
167204
167205              State module names can be specified as globs.
167206
167207              New in version 2015.5.0.
167208
167209
167210                 salt '*' sys.list_state_modules 'mysql_*'
167211
167212       salt.modules.sysmod.reload_modules()
167213              Tell the minion to reload the execution modules
167214
167215              CLI Example:
167216
167217                 salt '*' sys.reload_modules
167218
167219       salt.modules.sysmod.renderer_doc(*args)
167220              Return  the  docstrings for all renderers. Optionally, specify a
167221              renderer or a function to narrow the selection.
167222
167223              The strings are aggregated into a single document on the  master
167224              for easy reading.
167225
167226              Multiple renderers can be specified.
167227
167228              New in version 2015.5.0.
167229
167230
167231              CLI Example:
167232
167233                 salt '*' sys.renderer_doc
167234                 salt '*' sys.renderer_doc cheetah
167235                 salt '*' sys.renderer_doc jinja json
167236
167237              Renderer names can be specified as globs.
167238
167239                 salt '*' sys.renderer_doc 'c*' 'j*'
167240
167241       salt.modules.sysmod.returner_argspec(module=u'')
167242              Return  the argument specification of functions in Salt returner
167243              modules.
167244
167245              New in version 2015.5.0.
167246
167247
167248              CLI Example:
167249
167250                 salt '*' sys.returner_argspec xmpp
167251                 salt '*' sys.returner_argspec xmpp smtp
167252                 salt '*' sys.returner_argspec
167253
167254              Returner names can be specified as globs.
167255
167256                 salt '*' sys.returner_argspec 'sqlite3.*'
167257
167258       salt.modules.sysmod.returner_doc(*args)
167259              Return the docstrings for all returners. Optionally,  specify  a
167260              returner or a function to narrow the selection.
167261
167262              The  strings are aggregated into a single document on the master
167263              for easy reading.
167264
167265              Multiple returners/functions can be specified.
167266
167267              New in version 2014.7.0.
167268
167269
167270              CLI Example:
167271
167272                 salt '*' sys.returner_doc
167273                 salt '*' sys.returner_doc sqlite3
167274                 salt '*' sys.returner_doc sqlite3.get_fun
167275                 salt '*' sys.returner_doc sqlite3.get_fun etcd.get_fun
167276
167277              Returner names can be specified as globs.
167278
167279              New in version 2015.5.0.
167280
167281
167282                 salt '*' sys.returner_doc 'sqlite3.get_*'
167283
167284       salt.modules.sysmod.runner_argspec(module=u'')
167285              Return the argument specification of functions  in  Salt  runner
167286              modules.
167287
167288              New in version 2015.5.0.
167289
167290
167291              CLI Example:
167292
167293                 salt '*' sys.runner_argspec state
167294                 salt '*' sys.runner_argspec http
167295                 salt '*' sys.runner_argspec
167296
167297              Runner names can be specified as globs.
167298
167299                 salt '*' sys.runner_argspec 'winrepo.*'
167300
167301       salt.modules.sysmod.runner_doc(*args)
167302              Return  the  docstrings  for  all runners. Optionally, specify a
167303              runner or a function to narrow the selection.
167304
167305              The strings are aggregated into a single document on the  master
167306              for easy reading.
167307
167308              Multiple runners/functions can be specified.
167309
167310              New in version 2014.7.0.
167311
167312
167313              CLI Example:
167314
167315                 salt '*' sys.runner_doc
167316                 salt '*' sys.runner_doc cache
167317                 salt '*' sys.runner_doc cache.grains
167318                 salt '*' sys.runner_doc cache.grains mine.get
167319
167320              Runner names can be specified as globs.
167321
167322              New in version 2015.5.0.
167323
167324
167325                 salt '*' sys.runner_doc 'cache.clear_*'
167326
167327       salt.modules.sysmod.state_argspec(module=u'')
167328              Return  the  argument  specification  of functions in Salt state
167329              modules.
167330
167331              New in version 2015.5.0.
167332
167333
167334              CLI Example:
167335
167336                 salt '*' sys.state_argspec pkg.installed
167337                 salt '*' sys.state_argspec file
167338                 salt '*' sys.state_argspec
167339
167340              State names can be specified as globs.
167341
167342                 salt '*' sys.state_argspec 'pkg.*'
167343
167344       salt.modules.sysmod.state_doc(*args)
167345              Return the docstrings for  all  states.  Optionally,  specify  a
167346              state or a function to narrow the selection.
167347
167348              The  strings are aggregated into a single document on the master
167349              for easy reading.
167350
167351              Multiple states/functions can be specified.
167352
167353              New in version 2014.7.0.
167354
167355
167356              CLI Example:
167357
167358                 salt '*' sys.state_doc
167359                 salt '*' sys.state_doc service
167360                 salt '*' sys.state_doc service.running
167361                 salt '*' sys.state_doc service.running ipables.append
167362
167363              State names can be specified as globs.
167364
167365              New in version 2015.5.0.
167366
167367
167368                 salt '*' sys.state_doc 'service.*' 'iptables.*'
167369
167370       salt.modules.sysmod.state_schema(module=u'')
167371              Return a JSON Schema for the given state function(s)
167372
167373              New in version 2016.3.0.
167374
167375
167376              CLI Example:
167377
167378                 salt '*' sys.state_schema
167379                 salt '*' sys.state_schema pkg.installed
167380
167381   salt.modules.sysrc
167382       sysrc module for FreeBSD
167383
167384       salt.modules.sysrc.get(**kwargs)
167385              Return system rc configuration variables
167386
167387              CLI Example:
167388
167389                     salt '*' sysrc.get includeDefaults=True
167390
167391       salt.modules.sysrc.remove(name, **kwargs)
167392              Remove system rc configuration variables
167393
167394              CLI Example:
167395
167396                     salt '*' sysrc.remove name=sshd_enable
167397
167398       salt.modules.sysrc.set_(name, value, **kwargs)
167399              Set system rc configuration variables
167400
167401              CLI Example:
167402
167403                     salt '*' sysrc.set name=sshd_flags value="-p 2222"
167404
167405   salt.modules.system
167406       Support for reboot, shutdown, etc on POSIX-like systems.
167407
167408       NOTE:
167409          If you have configured a wrapper such as  molly-guard  to  intercept
167410          interactive  shutdown  commands,  be aware that calling system.halt,
167411          system.poweroff, system.reboot, and system.shutdown  with  salt-call
167412          will  hang  indefinitely  while  the  wrapper  script waits for user
167413          input. Calling them with salt will work as expected.
167414
167415       salt.modules.system.get_computer_desc()
167416              Get PRETTY_HOSTNAME value stored in  /etc/machine-info  If  this
167417              file doesn't exist or the variable doesn't exist return False.
167418
167419              Returns
167420                     Value of PRETTY_HOSTNAME if this does not exist False.
167421
167422              Return type
167423                     str
167424
167425              CLI Example:
167426
167427                 salt '*' system.get_computer_desc
167428
167429       salt.modules.system.get_computer_name()
167430              Get hostname.
167431
167432              CLI Example:
167433
167434                 salt '*' network.get_hostname
167435
167436       salt.modules.system.get_reboot_required_witnessed()
167437              Determine  if  at  any  time during the current boot session the
167438              salt minion witnessed an  event  indicating  that  a  reboot  is
167439              required.
167440
167441              Returns
167442                     True  if the a reboot request was witnessed, False other‐
167443                     wise
167444
167445              Return type
167446                     bool
167447
167448              CLI Example:
167449
167450                 salt '*' system.get_reboot_required_witnessed
167451
167452       salt.modules.system.get_system_date(utc_offset=None)
167453              Get the system date
167454
167455              Parameters
167456                     utc_offset (str) -- The utc offset  in  4  digit  (+0600)
167457                     format with an optional sign (+/-).  Will default to None
167458                     which will use the local timezone. To set the time  based
167459                     off  of  UTC use "'+0000'". Note: if being passed through
167460                     the command line will need to be quoted  twice  to  allow
167461                     negative offsets.
167462
167463              Returns
167464                     Returns the system date.
167465
167466              Return type
167467                     str
167468
167469              CLI Example:
167470
167471                 salt '*' system.get_system_date
167472
167473       salt.modules.system.get_system_date_time(utc_offset=None)
167474              Get the system date/time.
167475
167476              Parameters
167477                     utc_offset  (str)  --  The  utc offset in 4 digit (+0600)
167478                     format with an optional sign (+/-).  Will default to None
167479                     which  will use the local timezone. To set the time based
167480                     off of UTC use "'+0000'". Note: if being  passed  through
167481                     the  command  line  will need to be quoted twice to allow
167482                     negative offsets.
167483
167484              Returns
167485                     Returns the system time in YYYY-MM-DD hh:mm:ss format.
167486
167487              Return type
167488                     str
167489
167490              CLI Example:
167491
167492                 salt '*' system.get_system_date_time "'-0500'"
167493
167494       salt.modules.system.get_system_time(utc_offset=None)
167495              Get the system time.
167496
167497              Parameters
167498                     utc_offset (str) -- The utc offset  in  4  digit  (+0600)
167499                     format with an optional sign (+/-).  Will default to None
167500                     which will use the local timezone. To set the time  based
167501                     off  of  UTC use "'+0000'". Note: if being passed through
167502                     the command line will need to be quoted  twice  to  allow
167503                     negative offsets.
167504
167505              Returns
167506                     Returns the system time in HH:MM:SS AM/PM format.
167507
167508              Return type
167509                     str
167510
167511              CLI Example:
167512
167513                 salt '*' system.get_system_time
167514
167515       salt.modules.system.halt()
167516              Halt a running system
167517
167518              CLI Example:
167519
167520                 salt '*' system.halt
167521
167522       salt.modules.system.has_settable_hwclock()
167523              Returns True if the system has a hardware clock capable of being
167524              set from software.
167525
167526              CLI Example:
167527
167528              salt '*' system.has_settable_hwclock
167529
167530       salt.modules.system.init(runlevel)
167531              Change the system runlevel on sysV compatible systems
167532
167533              CLI Example:
167534
167535                 salt '*' system.init 3
167536
167537       salt.modules.system.poweroff()
167538              Poweroff a running system
167539
167540              CLI Example:
167541
167542                 salt '*' system.poweroff
167543
167544       salt.modules.system.reboot(at_time=None)
167545              Reboot the system
167546
167547              at_time
167548                     The wait time  in  minutes  before  the  system  will  be
167549                     rebooted.
167550
167551              CLI Example:
167552
167553                 salt '*' system.reboot
167554
167555       salt.modules.system.set_computer_desc(desc)
167556              Set  PRETTY_HOSTNAME value stored in /etc/machine-info This will
167557              create the file if it does not exist. If it is unable to  create
167558              or modify this file returns False.
167559
167560              Parameters
167561                     desc (str) -- The computer description
167562
167563              Returns
167564                     False on failure. True if successful.
167565
167566              CLI Example:
167567
167568                 salt '*' system.set_computer_desc "Michael's laptop"
167569
167570       salt.modules.system.set_computer_name(hostname)
167571              Modify hostname.
167572
167573              CLI Example:
167574
167575                 salt '*' system.set_computer_name master.saltstack.com
167576
167577       salt.modules.system.set_reboot_required_witnessed()
167578              This  function is used to remember that an event indicating that
167579              a reboot is required was witnessed. This function  writes  to  a
167580              temporary filesystem so the event gets cleared upon reboot.
167581
167582              Returns
167583                     True if successful, otherwise False
167584
167585              Return type
167586                     bool
167587
167588                 salt '*' system.set_reboot_required_witnessed
167589
167590       salt.modules.system.set_system_date(newdate, utc_offset=None)
167591              Set the system date. Use <mm-dd-yy> format for the date.
167592
167593              Parameters
167594                     newdate (str) --
167595
167596                     The date to set. Can be any of the following formats:
167597
167598                     · YYYY-MM-DD
167599
167600                     · MM-DD-YYYY
167601
167602                     · MM-DD-YY
167603
167604                     · MM/DD/YYYY
167605
167606                     · MM/DD/YY
167607
167608                     · YYYY/MM/DD
167609
167610
167611              CLI Example:
167612
167613                 salt '*' system.set_system_date '03-28-13'
167614
167615       salt.modules.system.set_system_date_time(years=None,       months=None,
167616       days=None, hours=None, minutes=None, seconds=None, utc_offset=None)
167617              Set the system date and time. Each argument is an element of the
167618              date, but not required. If an element is not passed, the current
167619              system value for that element will be used. For example, if  you
167620              don't pass the year, the current system year will be used. (Used
167621              by set_system_date and set_system_time)
167622
167623              Updates hardware clock, if  present,  in  addition  to  software
167624              (kernel) clock.
167625
167626              Parameters
167627
167628                     · years (int) -- Years digit, ie: 2015
167629
167630                     · months (int) -- Months digit: 1 - 12
167631
167632                     · days (int) -- Days digit: 1 - 31
167633
167634                     · hours (int) -- Hours digit: 0 - 23
167635
167636                     · minutes (int) -- Minutes digit: 0 - 59
167637
167638                     · seconds (int) -- Seconds digit: 0 - 59
167639
167640                     · utc_offset  (str)  -- The utc offset in 4 digit (+0600)
167641                       format with an optional sign (+/-).   Will  default  to
167642                       None which will use the local timezone. To set the time
167643                       based off of UTC use "'+0000'". Note: if  being  passed
167644                       through  the  command line will need to be quoted twice
167645                       to allow negative offsets.
167646
167647              Returns
167648                     True if successful. Otherwise False.
167649
167650              Return type
167651                     bool
167652
167653              CLI Example:
167654
167655                 salt '*' system.set_system_date_time 2015 5 12 11 37 53 "'-0500'"
167656
167657       salt.modules.system.set_system_time(newtime, utc_offset=None)
167658              Set the system time.
167659
167660              Parameters
167661
167662                     · newtime (str) --
167663
167664                       The time to set. Can be any of the  following  formats.
167665                       -  HH:MM:SS  AM/PM - HH:MM AM/PM - HH:MM:SS (24 hour) -
167666                       HH:MM (24 hour)
167667
167668                       Note that the  salt  command  line  parser  parses  the
167669                       date/time  before we obtain the argument (preventing us
167670                       from doing utc) Therefore the argument must  be  passed
167671                       in as a string.  Meaning you may have to quote the text
167672                       twice from the command line.
167673
167674
167675                     · utc_offset (str) -- The utc offset in 4  digit  (+0600)
167676                       format  with  an  optional sign (+/-).  Will default to
167677                       None which will use the local timezone. To set the time
167678                       based  off  of UTC use "'+0000'". Note: if being passed
167679                       through the command line will need to be  quoted  twice
167680                       to allow negative offsets.
167681
167682              Returns
167683                     Returns True if successful. Otherwise False.
167684
167685              Return type
167686                     bool
167687
167688              CLI Example:
167689
167690                 salt '*' system.set_system_time "'11:20'"
167691
167692       salt.modules.system.shutdown(at_time=None)
167693              Shutdown a running system
167694
167695              at_time
167696                     The  wait time in minutes before the system will be shut‐
167697                     down.
167698
167699              CLI Example:
167700
167701                 salt '*' system.shutdown 5
167702
167703   salt.modules.system_profiler
167704       System Profiler Module
167705
167706       Interface with macOS's command-line  System  Profiler  utility  to  get
167707       information about package receipts and installed applications.
167708
167709       New in version 2015.5.0.
167710
167711
167712       salt.modules.system_profiler.applications()
167713              Return  the  results  of  a call to system_profiler -xml -detail
167714              full SPApplicationsDataType as a dictionary.  Top-level keys  of
167715              the  dictionary  are  the names of each set of install receipts,
167716              since there can be multiple receipts with the same  name.   Con‐
167717              tents of each key are a list of dictionaries.
167718
167719              Note that this can take a long time depending on how many appli‐
167720              cations are installed on the target Mac.
167721
167722              CLI Example:
167723
167724                 salt '*' systemprofiler.applications
167725
167726       salt.modules.system_profiler.receipts()
167727              Return the results of a call  to  system_profiler  -xml  -detail
167728              full  SPInstallHistoryDataType  as a dictionary.  Top-level keys
167729              of the dictionary are the names of each set of install receipts,
167730              since  there  can be multiple receipts with the same name.  Con‐
167731              tents of each key are a list of dictionaries.
167732
167733              CLI Example:
167734
167735                 salt '*' systemprofiler.receipts
167736
167737   salt.modules.systemd
167738       Provides the service module for systemd
167739
167740       New in version 0.10.0.
167741
167742
167743       IMPORTANT:
167744          If you feel that Salt should be using this module to manage services
167745          on  a  minion, and it is using a different module (or gives an error
167746          similar to 'service.start' is not available), see here.
167747
167748       salt.modules.systemd.available(name)
167749              New in version 0.10.4.
167750
167751
167752              Check that the given service is available  taking  into  account
167753              template units.
167754
167755              CLI Example:
167756
167757                 salt '*' service.available sshd
167758
167759       salt.modules.systemd.disable(name, no_block=False, **kwargs)
167760              Changed in version 2015.8.12,2016.3.3,2016.11.0: On minions run‐
167761              ning systemd>=205, systemd-run(1) is now used  to  isolate  com‐
167762              mands run by this function from the salt-minion daemon's control
167763              group. This is done to avoid a race condition in cases where the
167764              salt-minion  service is restarted while a service is being modi‐
167765              fied. If desired, usage of systemd-run(1) can be  suppressed  by
167766              setting  a  config  option called systemd.scope, with a value of
167767              False (no quotes).
167768
167769
167770              Disable the named service to not start when the system boots
167771
167772              no_block
167773                     False Set to True to start the service using --no-block.
167774
167775                     New in version 2017.7.0.
167776
167777
167778              CLI Example:
167779
167780                 salt '*' service.disable <service name>
167781
167782       salt.modules.systemd.disabled(name)
167783              Return if the named service is disabled from starting on boot
167784
167785              CLI Example:
167786
167787                 salt '*' service.disabled <service name>
167788
167789       salt.modules.systemd.enable(name,     no_block=False,     unmask=False,
167790       unmask_runtime=False, **kwargs)
167791              Changed in version 2015.8.12,2016.3.3,2016.11.0: On minions run‐
167792              ning systemd>=205, systemd-run(1) is now used  to  isolate  com‐
167793              mands run by this function from the salt-minion daemon's control
167794              group. This is done to avoid a race condition in cases where the
167795              salt-minion  service is restarted while a service is being modi‐
167796              fied. If desired, usage of systemd-run(1) can be  suppressed  by
167797              setting  a  config  option called systemd.scope, with a value of
167798              False (no quotes).
167799
167800
167801              Enable the named service to start when the system boots
167802
167803              no_block
167804                     False Set to True to start the service using --no-block.
167805
167806                     New in version 2017.7.0.
167807
167808
167809              unmask False Set to True to remove  an  indefinite  mask  before
167810                     attempting to enable the service.
167811
167812                     New in version 2017.7.0: In previous releases, Salt would
167813                     simply unmask a service before enabling. This behavior is
167814                     no longer the default.
167815
167816
167817              unmask_runtime
167818                     False  Set  to  True  to  remove  a  runtime  mask before
167819                     attempting to enable the service.
167820
167821                     New in version 2017.7.0: In previous releases, Salt would
167822                     simply unmask a service before enabling. This behavior is
167823                     no longer the default.
167824
167825
167826              CLI Example:
167827
167828                 salt '*' service.enable <service name>
167829
167830       salt.modules.systemd.enabled(name, **kwargs)
167831              Return if the named service is enabled to start on boot
167832
167833              CLI Example:
167834
167835                 salt '*' service.enabled <service name>
167836
167837       salt.modules.systemd.execs()
167838              New in version 2014.7.0.
167839
167840
167841              Return a list of all files specified as ExecStart for  all  ser‐
167842              vices.
167843
167844              CLI Example:
167845                 salt '*' service.execs
167846
167847       salt.modules.systemd.force_reload(name,   no_block=True,  unmask=False,
167848       unmask_runtime=False)
167849              Changed in version 2015.8.12,2016.3.3,2016.11.0: On minions run‐
167850              ning  systemd>=205,  systemd-run(1)  is now used to isolate com‐
167851              mands run by this function from the salt-minion daemon's control
167852              group. This is done to avoid a race condition in cases where the
167853              salt-minion service is restarted while a service is being  modi‐
167854              fied.  If  desired, usage of systemd-run(1) can be suppressed by
167855              setting a config option called systemd.scope, with  a  value  of
167856              False (no quotes).
167857
167858
167859              New in version 0.12.0.
167860
167861
167862              Force-reload the specified service with systemd
167863
167864              no_block
167865                     False Set to True to start the service using --no-block.
167866
167867                     New in version 2017.7.0.
167868
167869
167870              unmask False  Set  to  True  to remove an indefinite mask before
167871                     attempting to force-reload the service.
167872
167873                     New in version 2017.7.0: In previous releases, Salt would
167874                     simply  unmask  a  service  before  force-reloading. This
167875                     behavior is no longer the default.
167876
167877
167878              unmask_runtime
167879                     False Set  to  True  to  remove  a  runtime  mask  before
167880                     attempting to force-reload the service.
167881
167882                     New in version 2017.7.0: In previous releases, Salt would
167883                     simply unmask  a  service  before  force-reloading.  This
167884                     behavior is no longer the default.
167885
167886
167887              CLI Example:
167888
167889                 salt '*' service.force_reload <service name>
167890
167891       salt.modules.systemd.get_all()
167892              Return a list of all available services
167893
167894              CLI Example:
167895
167896                 salt '*' service.get_all
167897
167898       salt.modules.systemd.get_disabled()
167899              Return a list of all disabled services
167900
167901              CLI Example:
167902
167903                 salt '*' service.get_disabled
167904
167905       salt.modules.systemd.get_enabled()
167906              Return a list of all enabled services
167907
167908              CLI Example:
167909
167910                 salt '*' service.get_enabled
167911
167912       salt.modules.systemd.get_running()
167913              Return a list of all running services, so far as systemd is con‐
167914              cerned
167915
167916              CLI Example:
167917
167918                 salt '*' service.get_running
167919
167920       salt.modules.systemd.get_static()
167921              New in version 2015.8.5.
167922
167923
167924              Return a list of all static services
167925
167926              CLI Example:
167927
167928                 salt '*' service.get_static
167929
167930       salt.modules.systemd.mask(name, runtime=False)
167931              New in version 2015.5.0.
167932
167933
167934              Changed in version 2015.8.12,2016.3.3,2016.11.0: On minions run‐
167935              ning  systemd>=205,  systemd-run(1)  is now used to isolate com‐
167936              mands run by this function from the salt-minion daemon's control
167937              group. This is done to avoid a race condition in cases where the
167938              salt-minion service is restarted while a service is being  modi‐
167939              fied.  If  desired, usage of systemd-run(1) can be suppressed by
167940              setting a config option called systemd.scope, with  a  value  of
167941              False (no quotes).
167942
167943
167944              Mask the specified service with systemd
167945
167946              runtime
167947                     False  Set  to  True  to mask this service only until the
167948                     next reboot
167949
167950                     New in version 2015.8.5.
167951
167952
167953              CLI Example:
167954
167955                 salt '*' service.mask foo
167956                 salt '*' service.mask foo runtime=True
167957
167958       salt.modules.systemd.masked(name, runtime=False)
167959              New in version 2015.8.0.
167960
167961
167962              Changed in version 2015.8.5: The return data for  this  function
167963              has changed. If the service is masked, the return value will now
167964              be the output of the systemctl is-enabled  command  (so  that  a
167965              persistent  mask  can  be distinguished from a runtime mask). If
167966              the service is not masked, then False will be returned.
167967
167968
167969              Changed in version 2017.7.0: This function now returns a boolean
167970              telling  the  user  whether  a mask specified by the new runtime
167971              argument is set. If runtime is False, this function will  return
167972              True  if an indefinite mask is set for the named service (other‐
167973              wise False will be returned). If runtime is False, this function
167974              will return True if a runtime mask is set, otherwise False.
167975
167976
167977              Check whether or not a service is masked
167978
167979              runtime
167980                     False Set to True to check for a runtime mask
167981
167982                     New in version 2017.7.0: In previous versions, this func‐
167983                     tion  would  simply  return  the  output   of   systemctl
167984                     is-enabled  when the service was found to be masked. How‐
167985                     ever, since it is possible to both have  both  indefinite
167986                     and runtime masks on a service simultaneously, this func‐
167987                     tion now only checks for runtime masks if  this  argument
167988                     is  set to True.  Otherwise, it will check for an indefi‐
167989                     nite mask.
167990
167991
167992              CLI Examples:
167993
167994                 salt '*' service.masked foo
167995                 salt '*' service.masked foo runtime=True
167996
167997       salt.modules.systemd.missing(name)
167998              New in version 2014.1.0.
167999
168000
168001              The inverse of service.available. Returns True if the  specified
168002              service is not available, otherwise returns False.
168003
168004              CLI Example:
168005
168006                 salt '*' service.missing sshd
168007
168008       salt.modules.systemd.reload_(name,     no_block=False,    unmask=False,
168009       unmask_runtime=False)
168010              Changed in version 2015.8.12,2016.3.3,2016.11.0: On minions run‐
168011              ning  systemd>=205,  systemd-run(1)  is now used to isolate com‐
168012              mands run by this function from the salt-minion daemon's control
168013              group. This is done to avoid a race condition in cases where the
168014              salt-minion service is restarted while a service is being  modi‐
168015              fied.  If  desired, usage of systemd-run(1) can be suppressed by
168016              setting a config option called systemd.scope, with  a  value  of
168017              False (no quotes).
168018
168019
168020              Reload the specified service with systemd
168021
168022              no_block
168023                     False Set to True to reload the service using --no-block.
168024
168025                     New in version 2017.7.0.
168026
168027
168028              unmask False  Set  to  True  to remove an indefinite mask before
168029                     attempting to reload the service.
168030
168031                     New in version 2017.7.0: In previous releases, Salt would
168032                     simply  unmask  a service before reloading. This behavior
168033                     is no longer the default.
168034
168035
168036              unmask_runtime
168037                     False Set  to  True  to  remove  a  runtime  mask  before
168038                     attempting to reload the service.
168039
168040                     New in version 2017.7.0: In previous releases, Salt would
168041                     simply unmask a service before reloading.  This  behavior
168042                     is no longer the default.
168043
168044
168045              CLI Example:
168046
168047                 salt '*' service.reload <service name>
168048
168049       salt.modules.systemd.restart(name,     no_block=False,    unmask=False,
168050       unmask_runtime=False)
168051              Changed in version 2015.8.12,2016.3.3,2016.11.0: On minions run‐
168052              ning  systemd>=205,  systemd-run(1)  is now used to isolate com‐
168053              mands run by this function from the salt-minion daemon's control
168054              group. This is done to avoid a race condition in cases where the
168055              salt-minion service is restarted while a service is being  modi‐
168056              fied.  If  desired, usage of systemd-run(1) can be suppressed by
168057              setting a config option called systemd.scope, with  a  value  of
168058              False (no quotes).
168059
168060
168061              Restart the specified service with systemd
168062
168063              no_block
168064                     False Set to True to start the service using --no-block.
168065
168066                     New in version 2017.7.0.
168067
168068
168069              unmask False  Set  to  True  to remove an indefinite mask before
168070                     attempting to restart the service.
168071
168072                     New in version 2017.7.0: In previous releases, Salt would
168073                     simply  unmask a service before restarting. This behavior
168074                     is no longer the default.
168075
168076
168077              unmask_runtime
168078                     False Set  to  True  to  remove  a  runtime  mask  before
168079                     attempting to restart the service.
168080
168081                     New in version 2017.7.0: In previous releases, Salt would
168082                     simply unmask a service before restarting. This  behavior
168083                     is no longer the default.
168084
168085
168086              CLI Example:
168087
168088                 salt '*' service.restart <service name>
168089
168090       salt.modules.systemd.show(name)
168091              New in version 2014.7.0.
168092
168093
168094              Show properties of one or more units/jobs or the manager
168095
168096              CLI Example:
168097                 salt '*' service.show <service name>
168098
168099       salt.modules.systemd.start(name,      no_block=False,     unmask=False,
168100       unmask_runtime=False)
168101              Changed in version 2015.8.12,2016.3.3,2016.11.0: On minions run‐
168102              ning  systemd>=205,  systemd-run(1)  is now used to isolate com‐
168103              mands run by this function from the salt-minion daemon's control
168104              group. This is done to avoid a race condition in cases where the
168105              salt-minion service is restarted while a service is being  modi‐
168106              fied.  If  desired, usage of systemd-run(1) can be suppressed by
168107              setting a config option called systemd.scope, with  a  value  of
168108              False (no quotes).
168109
168110
168111              Start the specified service with systemd
168112
168113              no_block
168114                     False Set to True to start the service using --no-block.
168115
168116                     New in version 2017.7.0.
168117
168118
168119              unmask False  Set  to  True  to remove an indefinite mask before
168120                     attempting to start the service.
168121
168122                     New in version 2017.7.0: In previous releases, Salt would
168123                     simply unmask a service before starting. This behavior is
168124                     no longer the default.
168125
168126
168127              unmask_runtime
168128                     False Set  to  True  to  remove  a  runtime  mask  before
168129                     attempting to start the service.
168130
168131                     New in version 2017.7.0: In previous releases, Salt would
168132                     simply unmask a service before starting. This behavior is
168133                     no longer the default.
168134
168135
168136              CLI Example:
168137
168138                 salt '*' service.start <service name>
168139
168140       salt.modules.systemd.status(name, sig=None)
168141              Return  the  status for a service via systemd.  If the name con‐
168142              tains globbing, a dict mapping service name to True/False values
168143              is returned.
168144
168145              Changed  in version 2018.3.0: The service name can now be a glob
168146              (e.g. salt*)
168147
168148
168149              Parameters
168150
168151                     · name (str) -- The name of the service to check
168152
168153                     · sig (str) -- Not implemented
168154
168155              Returns
168156                     True if running, False otherwise dict: Maps service  name
168157                     to True if running, False otherwise
168158
168159              Return type
168160                     bool
168161
168162              CLI Example:
168163
168164                 salt '*' service.status <service name> [service signature]
168165
168166       salt.modules.systemd.stop(name, no_block=False)
168167              Changed in version 2015.8.12,2016.3.3,2016.11.0: On minions run‐
168168              ning systemd>=205, systemd-run(1) is now used  to  isolate  com‐
168169              mands run by this function from the salt-minion daemon's control
168170              group. This is done to avoid a race condition in cases where the
168171              salt-minion  service is restarted while a service is being modi‐
168172              fied. If desired, usage of systemd-run(1) can be  suppressed  by
168173              setting  a  config  option called systemd.scope, with a value of
168174              False (no quotes).
168175
168176
168177              Stop the specified service with systemd
168178
168179              no_block
168180                     False Set to True to start the service using --no-block.
168181
168182                     New in version 2017.7.0.
168183
168184
168185              CLI Example:
168186
168187                 salt '*' service.stop <service name>
168188
168189       salt.modules.systemd.systemctl_reload()
168190              New in version 0.15.0.
168191
168192
168193              Reloads systemctl, an action  needed  whenever  unit  files  are
168194              updated.
168195
168196              CLI Example:
168197
168198                 salt '*' service.systemctl_reload
168199
168200       salt.modules.systemd.unmask_(name, runtime=False)
168201              New in version 2015.5.0.
168202
168203
168204              Changed in version 2015.8.12,2016.3.3,2016.11.0: On minions run‐
168205              ning systemd>=205, systemd-run(1) is now used  to  isolate  com‐
168206              mands run by this function from the salt-minion daemon's control
168207              group. This is done to avoid a race condition in cases where the
168208              salt-minion  service is restarted while a service is being modi‐
168209              fied. If desired, usage of systemd-run(1) can be  suppressed  by
168210              setting  a  config  option called systemd.scope, with a value of
168211              False (no quotes).
168212
168213
168214              Unmask the specified service with systemd
168215
168216              runtime
168217                     False Set to True to unmask this service only  until  the
168218                     next reboot
168219
168220                     New in version 2017.7.0: In previous versions, this func‐
168221                     tion would remove whichever mask was identified  by  run‐
168222                     ning systemctl is-enabled on the service.  However, since
168223                     it is possible to both have both indefinite  and  runtime
168224                     masks  on  a  service  simultaneously,  this function now
168225                     removes a runtime mask only when this argument is set  to
168226                     True, and otherwise removes an indefinite mask.
168227
168228
168229              CLI Example:
168230
168231                 salt '*' service.unmask foo
168232                 salt '*' service.unmask foo runtime=True
168233
168234   salt.modules.telegram
168235       Module for sending messages via Telegram.
168236
168237       configuration
168238              In  order to send a message via the Telegram, certain configura‐
168239              tion is required in /etc/salt/minion on the relevant minions  or
168240              in the pillar. Some sample configs might look like:
168241
168242                 telegram.chat_id: '123456789'
168243                 telegram.token: '00000000:xxxxxxxxxxxxxxxxxxxxxxxx'
168244
168245       salt.modules.telegram.post_message(message, chat_id=None, token=None)
168246              Send a message to a Telegram chat.
168247
168248              Parameters
168249
168250                     · message -- The message to send to the Telegram chat.
168251
168252                     · chat_id -- (optional) The Telegram chat id.
168253
168254                     · token -- (optional) The Telegram API token.
168255
168256              Returns
168257                     Boolean if message was sent successfully.
168258
168259              CLI Example:
168260
168261                 salt '*' telegram.post_message message="Hello Telegram!"
168262
168263   salt.modules.telemetry
168264       Connection module for Telemetry
168265
168266       New in version 2016.3.0.
168267
168268
168269       https://github.com/mongolab/mongolab-telemetry-api-docs/blob/master/alerts.md
168270
168271       configuration
168272              This module accepts explicit telemetry credentials or  can  also
168273              read  api key credentials from a pillar. More Information avail‐
168274              able here.
168275
168276       In the minion's config file:
168277
168278          telemetry.telemetry_api_keys:
168279            - abc123  # Key 1
168280            - efg321  # Backup Key 1
168281          telemetry_api_base_url: https://telemetry-api.mongolab.com/v0
168282
168283       depends
168284              requests
168285
168286       salt.modules.telemetry.create_alarm(deployment_id,  metric_name,  data,
168287       api_key=None, profile=u'telemetry')
168288              create an telemetry alarms.
168289
168290              data is a dict of alert configuration data.
168291
168292              Returns (bool success, str message) tuple.
168293
168294              CLI Example:
168295                 salt  myminion  telemetry.create_alarm  rs-ds033197  {}  pro‐
168296                 file=telemetry
168297
168298       salt.modules.telemetry.delete_alarms(deployment_id, alert_id=None, met‐
168299       ric_name=None, api_key=None, profile=u'telemetry')
168300
168301              delete  an alert specified by alert_id or if not specified blows
168302              away all the alerts
168303                     in the current deployment.
168304
168305              Returns (bool success, str message) tuple.
168306
168307              CLI Example:
168308                 salt  myminion   telemetry.delete_alarms   rs-ds033197   pro‐
168309                 file=telemetry
168310
168311       salt.modules.telemetry.get_alarms(deployment_id, profile=u'telemetry')
168312              get all the alarms set up against the current deployment
168313
168314              Returns dictionary of alarm information
168315
168316              CLI Example:
168317                 salt    myminion    telemetry.get_alarms   rs-ds033197   pro‐
168318                 file=telemetry
168319
168320       salt.modules.telemetry.get_alert_config(deployment_id,             met‐
168321       ric_name=None, api_key=None, profile=u'telemetry')
168322              Get  all alert definitions associated with a given deployment or
168323              if metric_name is specified, obtain the specific alert config
168324
168325              Returns dictionary or list of dictionaries.
168326
168327              CLI Example:
168328                 salt myminion telemetry.get_alert_config rs-ds033197 current‐
168329                 Connections    profile=telemetry    salt   myminion   teleme‐
168330                 try.get_alert_config rs-ds033197 profile=telemetry
168331
168332       salt.modules.telemetry.get_notification_channel_id(notify_channel, pro‐
168333       file=u'telemetry')
168334              Given  an  email address, creates a notification-channels if one
168335              is not found and also  returns  the  corresponding  notification
168336              channel id.
168337
168338              notify_channel
168339                     Email escalation policy
168340
168341              profile
168342                     A dict of telemetry config information.
168343
168344              CLI Example:
168345                 salt      myminion      telemetry.get_notification_channel_id
168346                 userx@company.com profile=telemetry
168347
168348       salt.modules.telemetry.update_alarm(deployment_id,  metric_name,  data,
168349       api_key=None, profile=u'telemetry')
168350              update  an  telemetry alarms. data is a dict of alert configura‐
168351              tion data.
168352
168353              Returns (bool success, str message) tuple.
168354
168355              CLI Example:
168356                 salt  myminion  telemetry.update_alarm  rs-ds033197  {}  pro‐
168357                 file=telemetry
168358
168359   salt.modules.temp
168360       Simple module for creating temporary directories and files
168361
168362       This is a thin wrapper around Pythons tempfile module
168363
168364       New in version 2015.8.0.
168365
168366
168367       salt.modules.temp.dir(suffix=u'', prefix=u'tmp', parent=None)
168368              Create a temporary directory
168369
168370              CLI Example:
168371
168372                 salt '*' temp.dir
168373                 salt '*' temp.dir prefix='mytemp-' parent='/var/run/'
168374
168375       salt.modules.temp.file(suffix=u'', prefix=u'tmp', parent=None)
168376              Create a temporary file
168377
168378              CLI Example:
168379
168380                 salt '*' temp.file
168381                 salt '*' temp.file prefix='mytemp-' parent='/var/run/'
168382
168383   salt.modules.test
168384       Module for running arbitrary tests
168385
168386       salt.modules.test.arg(*args, **kwargs)
168387              Print  out  the data passed into the function *args and `kwargs,
168388              this is used to both test the publication data and cli  argument
168389              passing,  but  also  to display the information available within
168390              the publication data.  Returns {"args": args, "kwargs": kwargs}.
168391
168392              CLI Example:
168393
168394                 salt '*' test.arg 1 "two" 3.1 txt="hello" wow='{a: 1, b: "hello"}'
168395
168396       salt.modules.test.arg_clean(*args, **kwargs)
168397              Like test.arg but cleans kwargs of the __pub* items CLI Example:
168398
168399                 salt '*' test.arg_clean 1 "two" 3.1 txt="hello" wow='{a: 1, b: "hello"}'
168400
168401       salt.modules.test.arg_repr(*args, **kwargs)
168402              Print out the data passed into the function *args  and  `kwargs,
168403              this  is used to both test the publication data and cli argument
168404              passing, but also to display the  information  available  within
168405              the  publication  data.   Returns {"args": repr(args), "kwargs":
168406              repr(kwargs)}.
168407
168408              CLI Example:
168409
168410                 salt '*' test.arg_repr 1 "two" 3.1 txt="hello" wow='{a: 1, b: "hello"}'
168411
168412       salt.modules.test.arg_type(*args, **kwargs)
168413              Print out the types of the args and kwargs. This is used to test
168414              the types of the args and kwargs passed down to the minion
168415
168416              CLI Example:
168417
168418                 salt '*' test.arg_type 1 'int'
168419
168420       salt.modules.test.assertion(assertion)
168421              Assert the given argument
168422
168423              CLI Example:
168424
168425                 salt '*' test.assertion False
168426
168427       salt.modules.test.attr_call()
168428              Call grains.items via the attribute
168429
168430              CLI Example:
168431
168432                 salt '*' test.attr_call
168433
168434       salt.modules.test.collatz(start)
168435              Execute  the collatz conjecture from the passed starting number,
168436              returns the sequence and the time it took to compute.  Used  for
168437              performance tests.
168438
168439              CLI Example:
168440
168441                 salt '*' test.collatz 3
168442
168443       salt.modules.test.conf_test()
168444              Return  the value for test.foo in the minion configuration file,
168445              or return the default value
168446
168447              CLI Example:
168448
168449                 salt '*' test.conf_test
168450
168451       salt.modules.test.cross_test(func, args=None)
168452              Execute a minion function via the __salt__ object  in  the  test
168453              module,  used  to verify that the minion functions can be called
168454              via the __salt__ module.
168455
168456              CLI Example:
168457
168458                 salt '*' test.cross_test file.gid_to_group 0
168459
168460       salt.modules.test.echo(text)
168461              Return a string - used for testing the connection
168462
168463              CLI Example:
168464
168465                 salt '*' test.echo 'foo bar baz quo qux'
168466
168467       salt.modules.test.exception(message=u'Test Exception')
168468              Raise an exception
168469
168470              Optionally provide an error message or output the full stack.
168471
168472              CLI Example:
168473
168474                 salt '*' test.exception 'Oh noes!'
168475
168476       salt.modules.test.false_()
168477              Always return False
168478
168479              CLI Example:
168480
168481                 salt '*' test.false
168482
168483       salt.modules.test.fib(num)
168484              Return the num-th Fibonacci number, and the time it took to com‐
168485              pute in seconds. Used for performance tests.
168486
168487              This function is designed to have terrible performance.
168488
168489              CLI Example:
168490
168491                 salt '*' test.fib 3
168492
168493       salt.modules.test.get_opts()
168494              Return the configuration options passed to this minion
168495
168496              CLI Example:
168497
168498                 salt '*' test.get_opts
168499
168500       salt.modules.test.kwarg(**kwargs)
168501              Print  out  the  data passed into the function **kwargs, this is
168502              used to both test the publication data and  cli  kwarg  passing,
168503              but  also to display the information available within the publi‐
168504              cation data.
168505
168506              CLI Example:
168507
168508                 salt '*' test.kwarg num=1 txt="two" env='{a: 1, b: "hello"}'
168509
168510       salt.modules.test.missing_func()
168511
168512       salt.modules.test.module_report()
168513              Return a dict containing all of the  execution  modules  with  a
168514              report on the overall availability via different references
168515
168516              CLI Example:
168517
168518                 salt '*' test.module_report
168519
168520       salt.modules.test.not_loaded()
168521              List the modules that were not loaded by the salt loader system
168522
168523              CLI Example:
168524
168525                 salt '*' test.not_loaded
168526
168527       salt.modules.test.opts_pkg()
168528              Return an opts package with the grains and opts for this minion.
168529              This is primarily used to create the  options  used  for  master
168530              side state compiling routines
168531
168532              CLI Example:
168533
168534                 salt '*' test.opts_pkg
168535
168536       salt.modules.test.outputter(data)
168537              Test the outputter, pass in data to return
168538
168539              CLI Example:
168540
168541                 salt '*' test.outputter foobar
168542
168543       salt.modules.test.ping()
168544              Used  to  make sure the minion is up and responding. Not an ICMP
168545              ping.
168546
168547              Returns True.
168548
168549              CLI Example:
168550
168551                 salt '*' test.ping
168552
168553       salt.modules.test.provider(module)
168554              Pass in a function name to discover what provider is being used
168555
168556              CLI Example:
168557
168558                 salt '*' test.provider service
168559
168560       salt.modules.test.providers()
168561              Return a dict of the provider names and the files that  provided
168562              them
168563
168564              CLI Example:
168565
168566                 salt '*' test.providers
168567
168568       salt.modules.test.raise_exception(name, *args, **kwargs)
168569              Raise an exception. Built-in exceptions and those in salt.excep‐
168570              tions can be raised by this test function. If no matching excep‐
168571              tion  is  found, then no exception will be raised and this func‐
168572              tion will return False.
168573
168574              This function is designed to test Salt's  exception  and  return
168575              code handling.
168576
168577              CLI Example:
168578
168579                 salt '*' test.raise_exception TypeError "An integer is required"
168580                 salt '*' test.raise_exception salt.exceptions.CommandExecutionError "Something went wrong"
168581
168582       salt.modules.test.rand_sleep(max=60)
168583              Sleep  for a random number of seconds, used to test long-running
168584              commands and minions returning at differing intervals
168585
168586              CLI Example:
168587
168588                 salt '*' test.rand_sleep 60
168589
168590       salt.modules.test.random_hash(size=9999999999, hash_type=None)
168591              New in version 2015.5.2.
168592
168593
168594              Changed in version 2018.3.0:  Function  has  been  renamed  from
168595              test.rand_str to test.random_hash
168596
168597
168598              Generates  a  random  number  between 1 and size, then returns a
168599              hash of that number. If no hash_type is  passed,  the  hash_type
168600              specified by the minion's hash_type config option is used.
168601
168602              CLI Example:
168603
168604                 salt '*' test.random_hash
168605                 salt '*' test.random_hash hash_type=sha512
168606
168607       salt.modules.test.retcode(code=42)
168608              Test that the returncode system is functioning correctly
168609
168610              CLI Example:
168611
168612                 salt '*' test.retcode 42
168613
168614       salt.modules.test.sleep(length)
168615              Instruct  the minion to initiate a process that will sleep for a
168616              given period of time.
168617
168618              CLI Example:
168619
168620                 salt '*' test.sleep 20
168621
168622       salt.modules.test.stack()
168623              Return the current stack trace
168624
168625              CLI Example:
168626
168627                 salt '*' test.stack
168628
168629       salt.modules.test.true_()
168630              Always return True
168631
168632              CLI Example:
168633
168634                 salt '*' test.true
168635
168636       salt.modules.test.try_(module, return_try_exception=False, **kwargs)
168637              Try to run a module command. On an exception  return  None.   If
168638              return_try_exception is set True return the exception.  This can
168639              be helpful in templates where running a  module  might  fail  as
168640              expected.
168641
168642              CLI Example:
168643
168644                 <pre>
168645                 {% for i in range(0,230) %}
168646                     {{ salt['test.try'](module='ipmi.get_users', bmc_host='172.2.2.'+i)|yaml(False) }}
168647                 {% endfor %}
168648                 </pre>
168649
168650       salt.modules.test.tty(*args, **kwargs)
168651              Deprecated! Moved to cmdmod.
168652
168653              CLI Example:
168654
168655                 salt '*' test.tty tty0 'This is a test'
168656                 salt '*' test.tty pts3 'This is a test'
168657
168658       salt.modules.test.version()
168659              Return the version of salt on the minion
168660
168661              CLI Example:
168662
168663                 salt '*' test.version
168664
168665       salt.modules.test.versions()
168666              This function is an alias of versions_report.
168667                 Returns versions of components used by salt
168668
168669                 CLI Example:
168670
168671                     salt '*' test.versions_report
168672
168673       salt.modules.test.versions_information()
168674              Report the versions of dependent and system software
168675
168676              CLI Example:
168677
168678                 salt '*' test.versions_information
168679
168680       salt.modules.test.versions_report()
168681              Returns versions of components used by salt
168682
168683              CLI Example:
168684
168685                 salt '*' test.versions_report
168686
168687   salt.modules.testinframod module
168688       This  module exposes the functionality of the TestInfra library for use
168689       with SaltStack in order to verify the state of your minions.  In  order
168690       to  allow for the addition of new resource types in TestInfra this mod‐
168691       ule dynamically generates wrappers for the various resources by iterat‐
168692       ing  over  the  values  in  the __all__ variable exposed by the testin‐
168693       fra.modules namespace.
168694
168695       salt.modules.testinframod.iptables(name, **methods)
168696              unicode(object='') -> unicode object unicode(string[, encoding[,
168697              errors]]) -> unicode object
168698
168699              Create  a  new  Unicode  object  from  the given encoded string.
168700              encoding  defaults  to  the  current  default  string  encoding.
168701              errors  can  be  'strict', 'replace' or 'ignore' and defaults to
168702              'strict'.
168703
168704       salt.modules.testinframod.puppet_resource(name, **methods)
168705              unicode(object='') -> unicode object unicode(string[, encoding[,
168706              errors]]) -> unicode object
168707
168708              Create  a  new  Unicode  object  from  the given encoded string.
168709              encoding  defaults  to  the  current  default  string  encoding.
168710              errors  can  be  'strict', 'replace' or 'ignore' and defaults to
168711              'strict'.
168712
168713       salt.modules.testinframod.mount_point(name, **methods)
168714              unicode(object='') -> unicode object unicode(string[, encoding[,
168715              errors]]) -> unicode object
168716
168717              Create  a  new  Unicode  object  from  the given encoded string.
168718              encoding  defaults  to  the  current  default  string  encoding.
168719              errors  can  be  'strict', 'replace' or 'ignore' and defaults to
168720              'strict'.
168721
168722       salt.modules.testinframod.group(name, **methods)
168723              unicode(object='') -> unicode object unicode(string[, encoding[,
168724              errors]]) -> unicode object
168725
168726              Create  a  new  Unicode  object  from  the given encoded string.
168727              encoding  defaults  to  the  current  default  string  encoding.
168728              errors  can  be  'strict', 'replace' or 'ignore' and defaults to
168729              'strict'.
168730
168731       salt.modules.testinframod.socket(name, **methods)
168732              unicode(object='') -> unicode object unicode(string[, encoding[,
168733              errors]]) -> unicode object
168734
168735              Create  a  new  Unicode  object  from  the given encoded string.
168736              encoding  defaults  to  the  current  default  string  encoding.
168737              errors  can  be  'strict', 'replace' or 'ignore' and defaults to
168738              'strict'.
168739
168740       salt.modules.testinframod.service(name, **methods)
168741              unicode(object='') -> unicode object unicode(string[, encoding[,
168742              errors]]) -> unicode object
168743
168744              Create  a  new  Unicode  object  from  the given encoded string.
168745              encoding  defaults  to  the  current  default  string  encoding.
168746              errors  can  be  'strict', 'replace' or 'ignore' and defaults to
168747              'strict'.
168748
168749       salt.modules.testinframod.package(name, **methods)
168750              unicode(object='') -> unicode object unicode(string[, encoding[,
168751              errors]]) -> unicode object
168752
168753              Create  a  new  Unicode  object  from  the given encoded string.
168754              encoding  defaults  to  the  current  default  string  encoding.
168755              errors  can  be  'strict', 'replace' or 'ignore' and defaults to
168756              'strict'.
168757
168758       salt.modules.testinframod.process(name, **methods)
168759              unicode(object='') -> unicode object unicode(string[, encoding[,
168760              errors]]) -> unicode object
168761
168762              Create  a  new  Unicode  object  from  the given encoded string.
168763              encoding  defaults  to  the  current  default  string  encoding.
168764              errors  can  be  'strict', 'replace' or 'ignore' and defaults to
168765              'strict'.
168766
168767       salt.modules.testinframod.sudo(name, **methods)
168768              unicode(object='') -> unicode object unicode(string[, encoding[,
168769              errors]]) -> unicode object
168770
168771              Create  a  new  Unicode  object  from  the given encoded string.
168772              encoding  defaults  to  the  current  default  string  encoding.
168773              errors  can  be  'strict', 'replace' or 'ignore' and defaults to
168774              'strict'.
168775
168776       salt.modules.testinframod.pip_package(name, **methods)
168777              unicode(object='') -> unicode object unicode(string[, encoding[,
168778              errors]]) -> unicode object
168779
168780              Create  a  new  Unicode  object  from  the given encoded string.
168781              encoding  defaults  to  the  current  default  string  encoding.
168782              errors  can  be  'strict', 'replace' or 'ignore' and defaults to
168783              'strict'.
168784
168785       salt.modules.testinframod.sysctl(name, **methods)
168786              unicode(object='') -> unicode object unicode(string[, encoding[,
168787              errors]]) -> unicode object
168788
168789              Create  a  new  Unicode  object  from  the given encoded string.
168790              encoding  defaults  to  the  current  default  string  encoding.
168791              errors  can  be  'strict', 'replace' or 'ignore' and defaults to
168792              'strict'.
168793
168794       salt.modules.testinframod.system_info(name, **methods)
168795              unicode(object='') -> unicode object unicode(string[, encoding[,
168796              errors]]) -> unicode object
168797
168798              Create  a  new  Unicode  object  from  the given encoded string.
168799              encoding  defaults  to  the  current  default  string  encoding.
168800              errors  can  be  'strict', 'replace' or 'ignore' and defaults to
168801              'strict'.
168802
168803       salt.modules.testinframod.ansible(name, **methods)
168804              unicode(object='') -> unicode object unicode(string[, encoding[,
168805              errors]]) -> unicode object
168806
168807              Create  a  new  Unicode  object  from  the given encoded string.
168808              encoding  defaults  to  the  current  default  string  encoding.
168809              errors  can  be  'strict', 'replace' or 'ignore' and defaults to
168810              'strict'.
168811
168812       salt.modules.testinframod.command(name, **methods)
168813              unicode(object='') -> unicode object unicode(string[, encoding[,
168814              errors]]) -> unicode object
168815
168816              Create  a  new  Unicode  object  from  the given encoded string.
168817              encoding  defaults  to  the  current  default  string  encoding.
168818              errors  can  be  'strict', 'replace' or 'ignore' and defaults to
168819              'strict'.
168820
168821       salt.modules.testinframod.facter(name, **methods)
168822              unicode(object='') -> unicode object unicode(string[, encoding[,
168823              errors]]) -> unicode object
168824
168825              Create  a  new  Unicode  object  from  the given encoded string.
168826              encoding  defaults  to  the  current  default  string  encoding.
168827              errors  can  be  'strict', 'replace' or 'ignore' and defaults to
168828              'strict'.
168829
168830       salt.modules.testinframod.file(name, **methods)
168831              unicode(object='') -> unicode object unicode(string[, encoding[,
168832              errors]]) -> unicode object
168833
168834              Create  a  new  Unicode  object  from  the given encoded string.
168835              encoding  defaults  to  the  current  default  string  encoding.
168836              errors  can  be  'strict', 'replace' or 'ignore' and defaults to
168837              'strict'.
168838
168839       salt.modules.testinframod.interface(name, **methods)
168840              unicode(object='') -> unicode object unicode(string[, encoding[,
168841              errors]]) -> unicode object
168842
168843              Create  a  new  Unicode  object  from  the given encoded string.
168844              encoding  defaults  to  the  current  default  string  encoding.
168845              errors  can  be  'strict', 'replace' or 'ignore' and defaults to
168846              'strict'.
168847
168848       salt.modules.testinframod.supervisor(name, **methods)
168849              unicode(object='') -> unicode object unicode(string[, encoding[,
168850              errors]]) -> unicode object
168851
168852              Create  a  new  Unicode  object  from  the given encoded string.
168853              encoding  defaults  to  the  current  default  string  encoding.
168854              errors  can  be  'strict', 'replace' or 'ignore' and defaults to
168855              'strict'.
168856
168857       salt.modules.testinframod.salt(name, **methods)
168858              unicode(object='') -> unicode object unicode(string[, encoding[,
168859              errors]]) -> unicode object
168860
168861              Create  a  new  Unicode  object  from  the given encoded string.
168862              encoding  defaults  to  the  current  default  string  encoding.
168863              errors  can  be  'strict', 'replace' or 'ignore' and defaults to
168864              'strict'.
168865
168866       salt.modules.testinframod.user(name, **methods)
168867              unicode(object='') -> unicode object unicode(string[, encoding[,
168868              errors]]) -> unicode object
168869
168870              Create  a  new  Unicode  object  from  the given encoded string.
168871              encoding  defaults  to  the  current  default  string  encoding.
168872              errors  can  be  'strict', 'replace' or 'ignore' and defaults to
168873              'strict'.
168874
168875   salt.modules.test_virtual
168876       Module for running arbitrary tests with a __virtual__ function
168877
168878       salt.modules.test_virtual.ping()
168879
168880   salt.modules.textfsm_mod module
168881   TextFSM
168882       New in version 2018.3.0.
168883
168884
168885       Execution module that processes plain  text  and  extracts  data  using
168886       TextFSM  templates.  The output is presented in JSON serializable data,
168887       and can be easily re-used in other modules, or directly inside the ren‐
168888       derer (Jinja, Mako, Genshi, etc.).
168889
168890       depends
168891
168892              · textfsm Python library
168893
168894       NOTE:
168895          For  Python 2/3 compatibility, it is more recommended to install the
168896          jtextfsm library: pip install jtextfsm.
168897
168898       salt.modules.textfsm_mod.extract(template_path,          raw_text=None,
168899       raw_text_file=None, saltenv='base')
168900              Extracts  the  data entities from the unstructured raw text sent
168901              as input and returns the  data  mapping,  processing  using  the
168902              TextFSM template.
168903
168904              template_path
168905                     The  path to the TextFSM template.  This can be specified
168906                     using the absolute path to the file, or using one of  the
168907                     following URL schemes:
168908
168909                     · salt://,  to  fetch  the  template  from the Salt file‐
168910                       server.
168911
168912                     · http:// or https://
168913
168914                     · ftp://
168915
168916                     · s3://
168917
168918                     · swift://
168919
168920              raw_text: None
168921                     The unstructured text to be parsed.
168922
168923              raw_text_file: None
168924                     Text file to read, having the raw text to be parsed using
168925                     the  TextFSM  template.  Supports the same URL schemes as
168926                     the template_path argument.
168927
168928              saltenv: base
168929                     Salt fileserver envrionment from which  to  retrieve  the
168930                     file.  Ignored if template_path is not a salt:// URL.
168931
168932              CLI Example:
168933
168934                 salt '*' textfsm.extract salt://textfsm/juniper_version_template raw_text_file=s3://junos_ver.txt
168935                 salt '*' textfsm.extract http://some-server/textfsm/juniper_version_template raw_text='Hostname: router.abc ... snip ...'
168936
168937              Jinja template example:
168938
168939                 {%- set raw_text = 'Hostname: router.abc ... snip ...' -%}
168940                 {%- set textfsm_extract = salt.textfsm.extract('https://some-server/textfsm/juniper_version_template', raw_text) -%}
168941
168942              Raw text example:
168943
168944                 Hostname: router.abc
168945                 Model: mx960
168946                 JUNOS Base OS boot [9.1S3.5]
168947                 JUNOS Base OS Software Suite [9.1S3.5]
168948                 JUNOS Kernel Software Suite [9.1S3.5]
168949                 JUNOS Crypto Software Suite [9.1S3.5]
168950                 JUNOS Packet Forwarding Engine Support (M/T Common) [9.1S3.5]
168951                 JUNOS Packet Forwarding Engine Support (MX Common) [9.1S3.5]
168952                 JUNOS Online Documentation [9.1S3.5]
168953                 JUNOS Routing Software Suite [9.1S3.5]
168954
168955              TextFSM Example:
168956
168957                 Value Chassis (\S+)
168958                 Value Required Model (\S+)
168959                 Value Boot (.*)
168960                 Value Base (.*)
168961                 Value Kernel (.*)
168962                 Value Crypto (.*)
168963                 Value Documentation (.*)
168964                 Value Routing (.*)
168965
168966                 Start
168967                 # Support multiple chassis systems.
168968                   ^\S+:$$ -> Continue.Record
168969                   ^${Chassis}:$$
168970                   ^Model: ${Model}
168971                   ^JUNOS Base OS boot \[${Boot}\]
168972                   ^JUNOS Software Release \[${Base}\]
168973                   ^JUNOS Base OS Software Suite \[${Base}\]
168974                   ^JUNOS Kernel Software Suite \[${Kernel}\]
168975                   ^JUNOS Crypto Software Suite \[${Crypto}\]
168976                   ^JUNOS Online Documentation \[${Documentation}\]
168977                   ^JUNOS Routing Software Suite \[${Routing}\]
168978
168979              Output example:
168980
168981                 {
168982                     "comment": "",
168983                     "result": true,
168984                     "out": [
168985                         {
168986                             "kernel": "9.1S3.5",
168987                             "documentation": "9.1S3.5",
168988                             "boot": "9.1S3.5",
168989                             "crypto": "9.1S3.5",
168990                             "chassis": "",
168991                             "routing": "9.1S3.5",
168992                             "base": "9.1S3.5",
168993                             "model": "mx960"
168994                         }
168995                     ]
168996                 }
168997
168998       salt.modules.textfsm_mod.index(command,       platform=None,      plat‐
168999       form_grain_name=None,  platform_column_name=None,   output=None,   out‐
169000       put_file=None,   textfsm_path=None,   index_file=None,  saltenv='base',
169001       include_empty=False, include_pat=None, exclude_pat=None)
169002              Dynamically identify the template required to extract the infor‐
169003              mation from the unstructured raw text.
169004
169005              The output has the same structure as the extract execution func‐
169006              tion, the difference being that index  is  capable  to  identify
169007              what template to use, based on the platform details and the com‐
169008              mand.
169009
169010              command
169011                     The command executed on the device, to get the output.
169012
169013              platform
169014                     The platform name, as defined in the TextFSM index file.
169015
169016                     NOTE:
169017                        For ease of use,  it  is  recommended  to  define  the
169018                        TextFSM  indexfile  with  values  that  can be matches
169019                        using the grains.
169020
169021              platform_grain_name
169022                     The name of the grain used to identify the platform  name
169023                     in the TextFSM index file.
169024
169025                     NOTE:
169026                        This  option  can be also specified in the minion con‐
169027                        figuration file or pillar as textfsm_platform_grain.
169028
169029                     NOTE:
169030                        This option is ignored when platform is specified.
169031
169032              platform_column_name: Platform
169033                     The column name used to identify the platform, exactly as
169034                     specified in the TextFSM index file.  Default: Platform.
169035
169036                     NOTE:
169037                        This  is  field is case sensitive, make sure to assign
169038                        the correct value to this option, exactly  as  defined
169039                        in the index file.
169040
169041                     NOTE:
169042                        This  option  can be also specified in the minion con‐
169043                        figuration file  or  pillar  as  textfsm_platform_col‐
169044                        umn_name.
169045
169046              output The  raw output from the device, to be parsed and extract
169047                     the structured data.
169048
169049              output_file
169050                     The path to a file that contains the raw output from  the
169051                     device, used to extract the structured data.  This option
169052                     supports  the  usual  Salt-specific   schemes:   file://,
169053                     salt://, http://, https://, ftp://, s3://, swift://.
169054
169055              textfsm_path
169056                     The  path  where the TextFSM templates can be found. This
169057                     can be either absolute path on the server, either  speci‐
169058                     fied  using  the following URL schemes: file://, salt://,
169059                     http://, https://, ftp://, s3://, swift://.
169060
169061                     NOTE:
169062                        This needs to be a directory with  a  flat  structure,
169063                        having  an  index  file  (whose  name can be specified
169064                        using the index_file option) and a number  of  TextFSM
169065                        templates.
169066
169067                     NOTE:
169068                        This  option  can be also specified in the minion con‐
169069                        figuration file or pillar as textfsm_path.
169070
169071              index_file: index
169072                     The  name  of  the  TextFSM   index   file,   under   the
169073                     textfsm_path. Default: index.
169074
169075                     NOTE:
169076                        This  option  can be also specified in the minion con‐
169077                        figuration file or pillar as textfsm_index_file.
169078
169079              saltenv: base
169080                     Salt fileserver envrionment from which  to  retrieve  the
169081                     file.  Ignored if textfsm_path is not a salt:// URL.
169082
169083              include_empty: False
169084                     Include empty files under the textfsm_path.
169085
169086              include_pat
169087                     Glob  or  regex  to narrow down the files cached from the
169088                     given path.  If matching with a regex, the regex must  be
169089                     prefixed with E@, otherwise the expression will be inter‐
169090                     preted as a glob.
169091
169092              exclude_pat
169093                     Glob or regex to exclude certain files from being  cached
169094                     from the given path.  If matching with a regex, the regex
169095                     must be prefixed with E@, otherwise the  expression  will
169096                     be interpreted as a glob.
169097
169098                     NOTE:
169099                        If  used with include_pat, files matching this pattern
169100                        will be excluded from the subset of files  defined  by
169101                        include_pat.
169102
169103              CLI Example:
169104
169105                 salt '*' textfsm.index 'sh ver' platform=Juniper output_file=salt://textfsm/juniper_version_example textfsm_path=salt://textfsm/
169106                 salt '*' textfsm.index 'sh ver' output_file=salt://textfsm/juniper_version_example textfsm_path=ftp://textfsm/ platform_column_name=Vendor
169107                 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
169108
169109              TextFSM index file example:
169110
169111              salt://textfsm/index
169112
169113                 Template, Hostname, Vendor, Command
169114                 juniper_version_template, .*, Juniper, sh[[ow]] ve[[rsion]]
169115
169116              The usage can be simplified, by defining (some of) the following
169117              options:  textfsm_platform_grain,  textfsm_path,   textfsm_plat‐
169118              form_column_name,  or  textfsm_index_file, in the (proxy) minion
169119              configuration file or pillar.
169120
169121              Configuration example:
169122
169123                 textfsm_platform_grain: vendor
169124                 textfsm_path: salt://textfsm/
169125                 textfsm_platform_column_name: Vendor
169126
169127              And the CLI usage becomes as simple as:
169128
169129                 salt '*' textfsm.index 'sh ver' output_file=salt://textfsm/juniper_version_example
169130
169131              Usgae inside a Jinja template:
169132
169133                 {%- set command = 'sh ver' -%}
169134                 {%- set output = salt.net.cli(command) -%}
169135                 {%- set textfsm_extract = salt.textfsm.index(command, output=output) -%}
169136
169137   salt.modules.timezone
169138       Module for managing timezone on POSIX-like systems.
169139
169140       salt.modules.timezone.get_hwclock()
169141              Get current hardware clock setting (UTC or localtime)
169142
169143              CLI Example:
169144
169145                 salt '*' timezone.get_hwclock
169146
169147       salt.modules.timezone.get_offset()
169148              Get current numeric timezone offset from UCT (i.e. -0700)
169149
169150              CLI Example:
169151
169152                 salt '*' timezone.get_offset
169153
169154       salt.modules.timezone.get_zone()
169155              Get current timezone (i.e. America/Denver)
169156
169157              Changed in version 2016.11.4.
169158
169159
169160              NOTE:
169161                 On AIX operating systems, Posix values can also  be  returned
169162                 'CST6CDT,M3.2.0/2:00:00,M11.1.0/2:00:00'
169163
169164              CLI Example:
169165
169166                 salt '*' timezone.get_zone
169167
169168       salt.modules.timezone.get_zonecode()
169169              Get current timezone (i.e. PST, MDT, etc)
169170
169171              CLI Example:
169172
169173                 salt '*' timezone.get_zonecode
169174
169175       salt.modules.timezone.set_hwclock(clock)
169176              Sets the hardware clock to be either UTC or localtime
169177
169178              CLI Example:
169179
169180                 salt '*' timezone.set_hwclock UTC
169181
169182       salt.modules.timezone.set_zone(timezone)
169183              Unlinks, then symlinks /etc/localtime to the set timezone.
169184
169185              The  timezone  is  crucial  to several system processes, each of
169186              which SHOULD be restarted (for  instance,  whatever  you  system
169187              uses as its cron and syslog daemons). This will not be automagi‐
169188              cally done and must be done manually!
169189
169190              CLI Example:
169191
169192                 salt '*' timezone.set_zone 'America/Denver'
169193
169194              Changed in version 2016.11.4.
169195
169196
169197              NOTE:
169198                 On AIX operating systems, Posix values are also allowed,  see
169199                 below
169200
169201                 salt '*' timezone.set_zone 'CST6CDT,M3.2.0/2:00:00,M11.1.0/2:00:00'
169202
169203       salt.modules.timezone.zone_compare(timezone)
169204              Compares  the given timezone name with the system timezone name.
169205              Checks the hash sum between the given timezone, and the one  set
169206              in  /etc/localtime.  Returns  True if names and hash sums match,
169207              and False if not.  Mostly useful for running state checks.
169208
169209              Changed in version 2016.3.0.
169210
169211
169212              NOTE:
169213                 On Solaris-link operating systems only a string comparison is
169214                 done.
169215
169216              Changed in version 2016.11.4.
169217
169218
169219              NOTE:
169220                 On AIX operating systems only a string comparison is done.
169221
169222              CLI Example:
169223
169224                 salt '*' timezone.zone_compare 'America/Denver'
169225
169226   salt.modules.tls
169227       A  salt module for SSL/TLS.  Can create a Certificate Authority (CA) or
169228       use Self-Signed certificates.
169229
169230       depends
169231              PyOpenSSL Python module (0.10 or later, 0.14 or later  for  X509
169232              extension support)
169233
169234       configuration
169235              Add  the  following values in /etc/salt/minion for the CA module
169236              to function properly:
169237
169238                 ca.cert_base_path: '/etc/pki'
169239
169240       CLI Example #1: Creating a CA, a server request and its signed certifi‐
169241       cate:
169242
169243          # salt-call tls.create_ca my_little \
169244          days=5 \
169245          CN='My Little CA' \
169246          C=US \
169247          ST=Utah \
169248          L=Salt Lake City \
169249          O=Saltstack \
169250          emailAddress=pleasedontemail@example.com
169251
169252          Created Private Key: "/etc/pki/my_little/my_little_ca_cert.key"
169253          Created CA "my_little_ca": "/etc/pki/my_little_ca/my_little_ca_cert.crt"
169254
169255          # salt-call tls.create_csr my_little CN=www.example.com
169256          Created Private Key: "/etc/pki/my_little/certs/www.example.com.key
169257          Created CSR for "www.example.com": "/etc/pki/my_little/certs/www.example.com.csr"
169258
169259          # salt-call tls.create_ca_signed_cert my_little CN=www.example.com
169260          Created Certificate for "www.example.com": /etc/pki/my_little/certs/www.example.com.crt"
169261
169262       CLI Example #2: Creating a client request and its signed certificate
169263
169264          # salt-call tls.create_csr my_little CN=DBReplica_No.1 cert_type=client
169265          Created Private Key: "/etc/pki/my_little/certs//DBReplica_No.1.key."
169266          Created CSR for "DBReplica_No.1": "/etc/pki/my_little/certs/DBReplica_No.1.csr."
169267
169268          # salt-call tls.create_ca_signed_cert my_little CN=DBReplica_No.1
169269          Created Certificate for "DBReplica_No.1": "/etc/pki/my_little/certs/DBReplica_No.1.crt"
169270
169271       CLI  Example  #3:  Creating both a server and client req + cert for the
169272       same CN
169273
169274          # salt-call tls.create_csr my_little CN=MasterDBReplica_No.2  \
169275              cert_type=client
169276          Created Private Key: "/etc/pki/my_little/certs/MasterDBReplica_No.2.key."
169277          Created CSR for "DBReplica_No.1": "/etc/pki/my_little/certs/MasterDBReplica_No.2.csr."
169278
169279          # salt-call tls.create_ca_signed_cert my_little CN=MasterDBReplica_No.2
169280          Created Certificate for "DBReplica_No.1": "/etc/pki/my_little/certs/DBReplica_No.1.crt"
169281
169282          # salt-call tls.create_csr my_little CN=MasterDBReplica_No.2 \
169283              cert_type=server
169284          Certificate "MasterDBReplica_No.2" already exists
169285
169286          (doh!)
169287
169288          # salt-call tls.create_csr my_little CN=MasterDBReplica_No.2 \
169289              cert_type=server type_ext=True
169290          Created Private Key: "/etc/pki/my_little/certs/DBReplica_No.1_client.key."
169291          Created CSR for "DBReplica_No.1": "/etc/pki/my_little/certs/DBReplica_No.1_client.csr."
169292
169293          # salt-call tls.create_ca_signed_cert my_little CN=MasterDBReplica_No.2
169294          Certificate "MasterDBReplica_No.2" already exists
169295
169296          (DOH!)
169297
169298          # salt-call tls.create_ca_signed_cert my_little CN=MasterDBReplica_No.2 \
169299              cert_type=server type_ext=True
169300          Created Certificate for "MasterDBReplica_No.2": "/etc/pki/my_little/certs/MasterDBReplica_No.2_server.crt"
169301
169302       CLI Example #4: Create a server req + cert with non-CN filename for the
169303       cert
169304
169305          # salt-call tls.create_csr my_little CN=www.anothersometh.ing \
169306              cert_type=server type_ext=True
169307          Created Private Key: "/etc/pki/my_little/certs/www.anothersometh.ing_server.key."
169308          Created CSR for "DBReplica_No.1": "/etc/pki/my_little/certs/www.anothersometh.ing_server.csr."
169309
169310          # salt-call tls_create_ca_signed_cert my_little CN=www.anothersometh.ing \
169311              cert_type=server cert_filename="something_completely_different"
169312          Created Certificate for "www.anothersometh.ing": /etc/pki/my_little/certs/something_completely_different.crt
169313
169314       salt.modules.tls.ca_exists(ca_name, cacert_path=None, ca_filename=None)
169315              Verify whether a Certificate Authority (CA) already exists
169316
169317              ca_name
169318                     name of the CA
169319
169320              cacert_path
169321                     absolute path to ca certificates root directory
169322
169323              ca_filename
169324                     alternative filename for the CA
169325
169326                     New in version 2015.5.3.
169327
169328
169329              CLI Example:
169330
169331                 salt '*' tls.ca_exists test_ca /etc/certs
169332
169333       salt.modules.tls.cert_base_path(cacert_path=None)
169334              Return the base path for certs from CLI or from options
169335
169336              cacert_path
169337                     absolute path to ca certificates root directory
169338
169339              CLI Example:
169340
169341                 salt '*' tls.cert_base_path
169342
169343       salt.modules.tls.cert_info(cert, digest=u'sha256')
169344              Return information for a particular certificate
169345
169346              cert   path to the certifiate PEM file or string
169347
169348                     Changed in version 2018.3.4.
169349
169350
169351              digest what digest to use for fingerprinting
169352
169353              CLI Example:
169354
169355                 salt '*' tls.cert_info /dir/for/certs/cert.pem
169356
169357       salt.modules.tls.create_ca(ca_name,  bits=2048,  days=365,  CN=u'local‐
169358       host',  C=u'US',  ST=u'Utah',  L=u'Salt  Lake  City',   O=u'SaltStack',
169359       OU=None,  emailAddress=None,  fixmode=False, cacert_path=None, ca_file‐
169360       name=None, digest=u'sha256', onlyif=None, unless=None, replace=False)
169361              Create a Certificate Authority (CA)
169362
169363              ca_name
169364                     name of the CA
169365
169366              bits   number of RSA key bits, default is 2048
169367
169368              days   number of days the CA will be valid, default is 365
169369
169370              CN     common name in the request, default is "localhost"
169371
169372              C      country, default is "US"
169373
169374              ST     state, default is "Utah"
169375
169376              L      locality, default is "Centerville", the city where  Salt‐
169377                     Stack originated
169378
169379              O      organization, default is "SaltStack"
169380
169381              OU     organizational unit, default is None
169382
169383              emailAddress
169384                     email address for the CA owner, default is None
169385
169386              cacert_path
169387                     absolute path to ca certificates root directory
169388
169389              ca_filename
169390                     alternative filename for the CA
169391
169392                     New in version 2015.5.3.
169393
169394
169395              digest The message digest algorithm. Must be a string describing
169396                     a   digest   algorithm   supported   by    OpenSSL    (by
169397                     EVP_get_digestbyname,  specifically).  For example, "md5"
169398                     or "sha1". Default: 'sha256'
169399
169400              replace
169401                     Replace this certificate even if it exists
169402
169403                     New in version 2015.5.1.
169404
169405
169406              Writes out a CA certificate based upon defined config values. If
169407              the  file already exists, the function just returns assuming the
169408              CA certificate already exists.
169409
169410              If the following values were set:
169411
169412                 ca.cert_base_path='/etc/pki'
169413                 ca_name='koji'
169414
169415              the resulting CA, and corresponding key, would be written in the
169416              following location:
169417
169418                 /etc/pki/koji/koji_ca_cert.crt
169419                 /etc/pki/koji/koji_ca_cert.key
169420
169421              CLI Example:
169422
169423                 salt '*' tls.create_ca test_ca
169424
169425       salt.modules.tls.create_ca_signed_cert(ca_name,   CN,   days=365,  cac‐
169426       ert_path=None,  ca_filename=None,  cert_path=None,  cert_filename=None,
169427       digest=u'sha256', cert_type=None, type_ext=False, replace=False)
169428              Create  a  Certificate  (CERT)  signed  by  a  named Certificate
169429              Authority (CA)
169430
169431              If the  certificate  file  already  exists,  the  function  just
169432              returns assuming the CERT already exists.
169433
169434              The CN must match an existing CSR generated by create_csr. If it
169435              does not, this method does nothing.
169436
169437              ca_name
169438                     name of the CA
169439
169440              CN     common name matching the certificate signing request
169441
169442              days   number of days certificate is valid, default  is  365  (1
169443                     year)
169444
169445              cacert_path
169446                     absolute path to ca certificates root directory
169447
169448              ca_filename
169449                     alternative filename for the CA
169450
169451                     New in version 2015.5.3.
169452
169453
169454              cert_path
169455                     full path to the certificates directory
169456
169457              cert_filename
169458                     alternative  filename  for  the  certificate, useful when
169459                     using special characters in the CN. If this option is set
169460                     it  will override the certificate filename output effects
169461                     of cert_type.  type_ext will be completely overridden.
169462
169463                     New in version 2015.5.3.
169464
169465
169466              digest The message digest algorithm. Must be a string describing
169467                     a    digest    algorithm   supported   by   OpenSSL   (by
169468                     EVP_get_digestbyname, specifically).  For example,  "md5"
169469                     or "sha1". Default: 'sha256'
169470
169471              replace
169472                     Replace this certificate even if it exists
169473
169474                     New in version 2015.5.1.
169475
169476
169477              cert_type
169478                     string. Either 'server' or 'client' (see create_csr() for
169479                     details).
169480
169481                     If create_csr(type_ext=True) this function must be called
169482                     with the same cert_type so it can find the CSR file.
169483
169484              NOTE:
169485                 create_csr() defaults to cert_type='server'; therefore, if it
169486                 was also called with type_ext, cert_type becomes  a  required
169487                 argument for create_ca_signed_cert()
169488
169489              type_ext
169490                     bool.  If  set True, use cert_type as an extension to the
169491                     CN when formatting the filename.
169492
169493                     e.g.:     some_subject_CN_server.crt     or     some_sub‐
169494                     ject_CN_client.crt
169495
169496                     This   facilitates  the  context  where  both  types  are
169497                     required for the same subject
169498
169499                     If cert_filename is not None,  setting  type_ext  has  no
169500                     effect
169501
169502              If the following values were set:
169503
169504                 ca.cert_base_path='/etc/pki'
169505                 ca_name='koji'
169506                 CN='test.egavas.org'
169507
169508              the resulting signed certificate would be written in the follow‐
169509              ing location:
169510
169511                 /etc/pki/koji/certs/test.egavas.org.crt
169512
169513              CLI Example:
169514
169515                 salt '*' tls.create_ca_signed_cert test localhost
169516
169517       salt.modules.tls.create_csr(ca_name,    bits=2048,     CN=u'localhost',
169518       C=u'US',  ST=u'Utah',  L=u'Salt  Lake  City',  O=u'SaltStack', OU=None,
169519       emailAddress=None,  subjectAltName=None,   cacert_path=None,   ca_file‐
169520       name=None,    csr_path=None,    csr_filename=None,    digest=u'sha256',
169521       type_ext=False, cert_type=u'server', replace=False)
169522              Create a Certificate Signing Request (CSR) for a particular Cer‐
169523              tificate Authority (CA)
169524
169525              ca_name
169526                     name of the CA
169527
169528              bits   number of RSA key bits, default is 2048
169529
169530              CN     common name in the request, default is "localhost"
169531
169532              C      country, default is "US"
169533
169534              ST     state, default is "Utah"
169535
169536              L      locality,  default is "Centerville", the city where Salt‐
169537                     Stack originated
169538
169539              O      organization, default is "SaltStack" NOTE: Must the  same
169540                     as CA certificate or an error will be raised
169541
169542              OU     organizational unit, default is None
169543
169544              emailAddress
169545                     email address for the request, default is None
169546
169547              subjectAltName
169548                     valid subjectAltNames in full form, e.g. to add DNS entry
169549                     you would call this function with this value:
169550
169551                     examples: ['DNS:somednsname.com',
169552                            'DNS:1.2.3.4',                       'IP:1.2.3.4',
169553                            'IP:2001:4801:7821:77:be76:4eff:fe11:e51',
169554                            'email:me@i.like.pie.com']
169555
169556              NOTE:
169557                 some libraries do not properly query  IP:  prefixes,  instead
169558                 looking  for  the given req. source with a DNS: prefix. To be
169559                 thorough, you may want to include both DNS: and  IP:  entries
169560                 if  you  are  using subjectAltNames for destinations for your
169561                 TLS connections.  e.g.: requests to https://1.2.3.4 will fail
169562                 from  python's requests library w/out the second entry in the
169563                 above list
169564
169565              New in version 2015.8.0.
169566
169567
169568              cert_type
169569                     Specify the  general  certificate  type.  Can  be  either
169570                     server  or client. Indicates the set of common extensions
169571                     added to the CSR.
169572
169573                        server: {
169574                           'basicConstraints': 'CA:FALSE',
169575                           'extendedKeyUsage': 'serverAuth',
169576                           'keyUsage': 'digitalSignature, keyEncipherment'
169577                        }
169578
169579                        client: {
169580                           'basicConstraints': 'CA:FALSE',
169581                           'extendedKeyUsage': 'clientAuth',
169582                           'keyUsage': 'nonRepudiation, digitalSignature, keyEncipherment'
169583                        }
169584
169585              type_ext
169586                     boolean.  Whether or not  to  extend  the  filename  with
169587                     CN_[cert_type]  This can be useful if a server and client
169588                     certificate are needed for the same CN. Defaults to False
169589                     to avoid introducing an unexpected file naming pattern
169590
169591                     The   files   normally   named   some_subject_CN.csr  and
169592                     some_subject_CN.key will then be saved
169593
169594              replace
169595                     Replace this signing request even if it exists
169596
169597                     New in version 2015.5.1.
169598
169599
169600              Writes out a Certificate  Signing  Request  (CSR)  If  the  file
169601              already  exists,  the  function  just  returns  assuming the CSR
169602              already exists.
169603
169604              If the following values were set:
169605
169606                 ca.cert_base_path='/etc/pki'
169607                 ca_name='koji'
169608                 CN='test.egavas.org'
169609
169610              the resulting CSR, and corresponding key, would  be  written  in
169611              the following location:
169612
169613                 /etc/pki/koji/certs/test.egavas.org.csr
169614                 /etc/pki/koji/certs/test.egavas.org.key
169615
169616              CLI Example:
169617
169618                 salt '*' tls.create_csr test
169619
169620       salt.modules.tls.create_empty_crl(ca_name,  cacert_path=None,  ca_file‐
169621       name=None, crl_file=None)
169622              Create an empty Certificate Revocation List.
169623
169624              New in version 2015.8.0.
169625
169626
169627              ca_name
169628                     name of the CA
169629
169630              cacert_path
169631                     absolute path to ca certificates root directory
169632
169633              ca_filename
169634                     alternative filename for the CA
169635
169636                     New in version 2015.5.3.
169637
169638
169639              crl_file
169640                     full path to the CRL file
169641
169642              CLI Example:
169643
169644                 salt '*' tls.create_empty_crl ca_name='koji'                 ca_filename='ca'                 crl_file='/etc/openvpn/team1/crl.pem'
169645
169646       salt.modules.tls.create_pkcs12(ca_name,   CN,   passphrase=u'',    cac‐
169647       ert_path=None, replace=False)
169648              Create  a  PKCS#12 browser certificate for a particular Certifi‐
169649              cate (CN)
169650
169651              ca_name
169652                     name of the CA
169653
169654              CN     common name matching the certificate signing request
169655
169656              passphrase
169657                     used to unlock the PKCS#12 certificate when  loaded  into
169658                     the browser
169659
169660              cacert_path
169661                     absolute path to ca certificates root directory
169662
169663              replace
169664                     Replace this certificate even if it exists
169665
169666                     New in version 2015.5.1.
169667
169668
169669              If the following values were set:
169670
169671                 ca.cert_base_path='/etc/pki'
169672                 ca_name='koji'
169673                 CN='test.egavas.org'
169674
169675              the resulting signed certificate would be written in the follow‐
169676              ing location:
169677
169678                 /etc/pki/koji/certs/test.egavas.org.p12
169679
169680              CLI Example:
169681
169682                 salt '*' tls.create_pkcs12 test localhost
169683
169684       salt.modules.tls.create_self_signed_cert(tls_dir=u'tls',     bits=2048,
169685       days=365,  CN=u'localhost',  C=u'US',  ST=u'Utah', L=u'Salt Lake City',
169686       O=u'SaltStack',    OU=None,    emailAddress=None,     cacert_path=None,
169687       cert_filename=None, digest=u'sha256', replace=False)
169688              Create a Self-Signed Certificate (CERT)
169689
169690              tls_dir
169691                     location  appended  to  the ca.cert_base_path, default is
169692                     'tls'
169693
169694              bits   number of RSA key bits, default is 2048
169695
169696              CN     common name in the request, default is "localhost"
169697
169698              C      country, default is "US"
169699
169700              ST     state, default is "Utah"
169701
169702              L      locality, default is "Centerville", the city where  Salt‐
169703                     Stack originated
169704
169705              O      organization,  default is "SaltStack" NOTE: Must the same
169706                     as CA certificate or an error will be raised
169707
169708              OU     organizational unit, default is None
169709
169710              emailAddress
169711                     email address for the request, default is None
169712
169713              cacert_path
169714                     absolute path to ca certificates root directory
169715
169716              digest The message digest algorithm. Must be a string describing
169717                     a    digest    algorithm   supported   by   OpenSSL   (by
169718                     EVP_get_digestbyname, specifically).  For example,  "md5"
169719                     or "sha1". Default: 'sha256'
169720
169721              replace
169722                     Replace this certificate even if it exists
169723
169724                     New in version 2015.5.1.
169725
169726
169727              Writes out a Self-Signed Certificate (CERT). If the file already
169728              exists, the function just returns.
169729
169730              If the following values were set:
169731
169732                 ca.cert_base_path='/etc/pki'
169733                 tls_dir='koji'
169734                 CN='test.egavas.org'
169735
169736              the resulting CERT, and corresponding key, would be  written  in
169737              the following location:
169738
169739                 /etc/pki/koji/certs/test.egavas.org.crt
169740                 /etc/pki/koji/certs/test.egavas.org.key
169741
169742              CLI Example:
169743
169744                 salt '*' tls.create_self_signed_cert
169745
169746              Passing options from the command line:
169747
169748                 salt 'minion' tls.create_self_signed_cert CN='test.mysite.org'
169749
169750       salt.modules.tls.get_ca(ca_name, as_text=False, cacert_path=None)
169751              Get the certificate path or content
169752
169753              ca_name
169754                     name of the CA
169755
169756              as_text
169757                     if  true,  return  the certificate content instead of the
169758                     path
169759
169760              cacert_path
169761                     absolute path to ca certificates root directory
169762
169763              CLI Example:
169764
169765                 salt '*' tls.get_ca test_ca as_text=False cacert_path=/etc/certs
169766
169767       salt.modules.tls.get_ca_signed_cert(ca_name,           CN=u'localhost',
169768       as_text=False, cacert_path=None, cert_filename=None)
169769              Get the certificate path or content
169770
169771              ca_name
169772                     name of the CA
169773
169774              CN     common name of the certificate
169775
169776              as_text
169777                     if  true,  return  the certificate content instead of the
169778                     path
169779
169780              cacert_path
169781                     absolute path to certificates root directory
169782
169783              cert_filename
169784                     alternative filename for  the  certificate,  useful  when
169785                     using special characters in the CN
169786
169787                     New in version 2015.5.3.
169788
169789
169790              CLI Example:
169791
169792                 salt '*' tls.get_ca_signed_cert test_ca CN=localhost as_text=False cacert_path=/etc/certs
169793
169794       salt.modules.tls.get_ca_signed_key(ca_name,            CN=u'localhost',
169795       as_text=False, cacert_path=None, key_filename=None)
169796              Get the certificate path or content
169797
169798              ca_name
169799                     name of the CA
169800
169801              CN     common name of the certificate
169802
169803              as_text
169804                     if true, return the certificate content  instead  of  the
169805                     path
169806
169807              cacert_path
169808                     absolute path to certificates root directory
169809
169810              key_filename
169811                     alternative  filename for the key, useful when using spe‐
169812                     cial characters
169813
169814                     New in version 2015.5.3.
169815
169816
169817                     in the CN
169818
169819              CLI Example:
169820
169821                 salt '*' tls.get_ca_signed_key                 test_ca CN=localhost                 as_text=False                 cacert_path=/etc/certs
169822
169823       salt.modules.tls.get_expiration_date(cert, date_format=u'%Y-%m-%d')
169824              New in version Fluorine.
169825
169826
169827              Get a certificate's expiration date
169828
169829              cert   Full path to the certificate
169830
169831              date_format
169832                     By default  this  will  return  the  expiration  date  in
169833                     YYYY-MM-DD  format, use this to specify a different strf‐
169834                     time format string. Note that the expiration time will be
169835                     in UTC.
169836
169837              CLI Examples:
169838
169839                 salt '*' tls.get_expiration_date /path/to/foo.crt
169840                 salt '*' tls.get_expiration_date /path/to/foo.crt date_format='%d/%m/%Y'
169841
169842       salt.modules.tls.get_extensions(cert_type)
169843              Fetch  X509  and  CSR extension definitions from tls:extensions:
169844              (common|server|client) or set them to standard defaults.
169845
169846              New in version 2015.8.0.
169847
169848
169849              cert_type:
169850                     The type of certificate such as server or client.
169851
169852              CLI Example:
169853
169854                 salt '*' tls.get_extensions client
169855
169856       salt.modules.tls.maybe_fix_ssl_version(ca_name,       cacert_path=None,
169857       ca_filename=None)
169858              Check  that  the X509 version is correct (was incorrectly set in
169859              previous salt versions).  This will fix the version if needed.
169860
169861              ca_name
169862                     ca authority name
169863
169864              cacert_path
169865                     absolute path to ca certificates root directory
169866
169867              ca_filename
169868                     alternative filename for the CA
169869
169870                     New in version 2015.5.3.
169871
169872
169873              CLI Example:
169874
169875                 salt '*' tls.maybe_fix_ssl_version test_ca /etc/certs
169876
169877       salt.modules.tls.revoke_cert(ca_name,  CN,  cacert_path=None,  ca_file‐
169878       name=None, cert_path=None, cert_filename=None, crl_file=None)
169879              Revoke a certificate.
169880
169881              New in version 2015.8.0.
169882
169883
169884              ca_name
169885                     Name of the CA.
169886
169887              CN     Common name matching the certificate signing request.
169888
169889              cacert_path
169890                     Absolute path to ca certificates root directory.
169891
169892              ca_filename
169893                     Alternative filename for the CA.
169894
169895              cert_path
169896                     Path to the cert file.
169897
169898              cert_filename
169899                     Alternative  filename  for  the  certificate, useful when
169900                     using special characters in the CN.
169901
169902              crl_file
169903                     Full path to the CRL file.
169904
169905              CLI Example:
169906
169907                 salt '*' tls.revoke_cert ca_name='koji'                 ca_filename='ca'                 crl_file='/etc/openvpn/team1/crl.pem'
169908
169909       salt.modules.tls.set_ca_path(cacert_path)
169910              If wanted, store the aforementioned cacert_path in context to be
169911              used as the basepath for further operations
169912
169913              CLI Example:
169914
169915                 salt '*' tls.set_ca_path /etc/certs
169916
169917   salt.modules.tomcat
169918       Support for Tomcat
169919
169920       This  module  uses  the manager webapp to manage Apache tomcat webapps.
169921       If the manager webapp is not configured some  of  the  functions  won't
169922       work.
169923
169924       configuration
169925
169926              · Java bin path should be in default path
169927
169928              · If ipv6 is enabled make sure you permit manager access to ipv6
169929                interface "0:0:0:0:0:0:0:1"
169930
169931              · If you are using tomcat.tar.gz it has to be installed or  sym‐
169932                linked under /opt, preferably using name tomcat
169933
169934              · "tomcat.signal  start/stop"  works  but  it  does  not use the
169935                startup scripts
169936
169937       The following grains/pillar should be set:
169938
169939          tomcat-manager:
169940            user: <username>
169941            passwd: <password>
169942
169943       or the old format:
169944
169945          tomcat-manager.user: <username>
169946          tomcat-manager.passwd: <password>
169947
169948       Also configure a user in the conf/tomcat-users.xml file:
169949
169950          <?xml version='1.0' encoding='utf-8'?>
169951          <tomcat-users>
169952              <role rolename="manager-script"/>
169953              <user username="tomcat" password="tomcat" roles="manager-script"/>
169954          </tomcat-users>
169955
169956       NOTE:
169957
169958          · More        information        about        tomcat        manager:
169959            http://tomcat.apache.org/tomcat-7.0-doc/manager-howto.html
169960
169961          · if  you  use only this module for deployments you've might want to
169962            strict access to the manager only from localhost  for  more  info:
169963            http://tomcat.apache.org/tomcat-7.0-doc/manager-howto.html#Configuring_Manager_Application_Access
169964
169965          · Tested on:
169966
169967            JVM Vendor:
169968                   Sun Microsystems Inc.
169969
169970            JVM Version:
169971                   1.6.0_43-b01
169972
169973            OS Architecture:
169974                   amd64
169975
169976            OS Name:
169977                   Linux
169978
169979            OS Version:
169980                   2.6.32-358.el6.x86_64
169981
169982            Tomcat Version:
169983                   Apache Tomcat/7.0.37
169984
169985       salt.modules.tomcat.deploy_war(war,        context,        force=u'no',
169986       url=u'http://localhost:8080/manager',   saltenv=u'base',   timeout=180,
169987       temp_war_location=None, version=True)
169988              Deploy a WAR file
169989
169990              war    absolute path to WAR file (should be  accessible  by  the
169991                     user running tomcat) or a path supported by the salt.mod‐
169992                     ules.cp.get_file function
169993
169994              context
169995                     the context path to deploy
169996
169997              force  False set True to deploy the webapp even one is  deployed
169998                     in the context
169999
170000              url    http://localhost:8080/manager  the URL of the server man‐
170001                     ager webapp
170002
170003              saltenv
170004                     base the environment for WAR file in  used  by  salt.mod‐
170005                     ules.cp.get_url function
170006
170007              timeout
170008                     180 timeout for HTTP request
170009
170010              temp_war_location
170011                     None use another location to temporarily copy to war file
170012                     by default the system's temp directory is used
170013
170014              version
170015                     '' Specify the war version.  If  this  argument  is  pro‐
170016                     vided,  it  overrides the version encoded in the war file
170017                     name, if one is present.
170018
170019                     Examples:
170020
170021                        salt '*' tomcat.deploy_war salt://salt-2015.8.6.war version=2015.08.r6
170022
170023                     New in version 2015.8.6.
170024
170025
170026              CLI Examples:
170027
170028              cp module
170029
170030                 salt '*' tomcat.deploy_war salt://application.war /api
170031                 salt '*' tomcat.deploy_war salt://application.war /api no
170032                 salt '*' tomcat.deploy_war salt://application.war /api yes http://localhost:8080/manager
170033
170034              minion local file system
170035
170036                 salt '*' tomcat.deploy_war /tmp/application.war /api
170037                 salt '*' tomcat.deploy_war /tmp/application.war /api no
170038                 salt '*' tomcat.deploy_war /tmp/application.war /api yes http://localhost:8080/manager
170039
170040       salt.modules.tomcat.extract_war_version(war)
170041              Extract the version from the war file name. There does not  seem
170042              to be a standard for encoding the version into the war file name
170043
170044              Examples:
170045
170046                 /path/salt-2015.8.6.war -> 2015.8.6
170047                 /path/V6R2013xD5.war -> None
170048
170049       salt.modules.tomcat.fullversion()
170050              Return all server information from catalina.sh version
170051
170052              CLI Example:
170053
170054                 salt '*' tomcat.fullversion
170055
170056       salt.modules.tomcat.leaks(url=u'http://localhost:8080/manager',   time‐
170057       out=180)
170058              Find memory leaks in tomcat
170059
170060              url    http://localhost:8080/manager the URL of the server  man‐
170061                     ager webapp
170062
170063              timeout
170064                     180 timeout for HTTP request
170065
170066              CLI Examples:
170067
170068                 salt '*' tomcat.leaks
170069
170070       salt.modules.tomcat.ls(url=u'http://localhost:8080/manager',      time‐
170071       out=180)
170072              list all the deployed webapps
170073
170074              url    http://localhost:8080/manager the URL of the server  man‐
170075                     ager webapp
170076
170077              timeout
170078                     180 timeout for HTTP request
170079
170080              CLI Examples:
170081
170082                 salt '*' tomcat.ls
170083                 salt '*' tomcat.ls http://localhost:8080/manager
170084
170085       salt.modules.tomcat.passwd(passwd, user=u'', alg=u'sha1', realm=None)
170086              This  function  replaces the $CATALINA_HOME/bin/digest.sh script
170087              convert a clear-text password  to  the  $CATALINA_BASE/conf/tom‐
170088              cat-users.xml format
170089
170090              CLI Examples:
170091
170092                 salt '*' tomcat.passwd secret
170093                 salt '*' tomcat.passwd secret tomcat sha1
170094                 salt '*' tomcat.passwd secret tomcat sha1 'Protected Realm'
170095
170096       salt.modules.tomcat.reload_(app,  url=u'http://localhost:8080/manager',
170097       timeout=180)
170098              Reload the webapp
170099
170100              app    the webapp context path
170101
170102              url    http://localhost:8080/manager the URL of the server  man‐
170103                     ager webapp
170104
170105              timeout
170106                     180 timeout for HTTP request
170107
170108              CLI Examples:
170109
170110                 salt '*' tomcat.reload /jenkins
170111                 salt '*' tomcat.reload /jenkins http://localhost:8080/manager
170112
170113       salt.modules.tomcat.serverinfo(url=u'http://localhost:8080/manager',
170114       timeout=180)
170115              return details about the server
170116
170117              url    http://localhost:8080/manager the URL of the server  man‐
170118                     ager webapp
170119
170120              timeout
170121                     180 timeout for HTTP request
170122
170123              CLI Examples:
170124
170125                 salt '*' tomcat.serverinfo
170126                 salt '*' tomcat.serverinfo http://localhost:8080/manager
170127
170128       salt.modules.tomcat.sessions(app, url=u'http://localhost:8080/manager',
170129       timeout=180)
170130              return the status of the webapp sessions
170131
170132              app    the webapp context path
170133
170134              url    http://localhost:8080/manager the URL of the server  man‐
170135                     ager webapp
170136
170137              timeout
170138                     180 timeout for HTTP request
170139
170140              CLI Examples:
170141
170142                 salt '*' tomcat.sessions /jenkins
170143                 salt '*' tomcat.sessions /jenkins http://localhost:8080/manager
170144
170145       salt.modules.tomcat.signal(signal=None)
170146              Signals catalina to start, stop, securestart, forcestop.
170147
170148              CLI Example:
170149
170150                 salt '*' tomcat.signal start
170151
170152       salt.modules.tomcat.start(app,    url=u'http://localhost:8080/manager',
170153       timeout=180)
170154              Start the webapp
170155
170156              app    the webapp context path
170157
170158              url    http://localhost:8080/manager the URL of the server  man‐
170159                     ager webapp
170160
170161              timeout
170162                     timeout for HTTP request
170163
170164              CLI Examples:
170165
170166                 salt '*' tomcat.start /jenkins
170167                 salt '*' tomcat.start /jenkins http://localhost:8080/manager
170168
170169       salt.modules.tomcat.status(url=u'http://localhost:8080/manager',  time‐
170170       out=180)
170171              Used to test if the tomcat manager is up
170172
170173              url    http://localhost:8080/manager the URL of the server  man‐
170174                     ager webapp
170175
170176              timeout
170177                     180 timeout for HTTP request
170178
170179              CLI Examples:
170180
170181                 salt '*' tomcat.status
170182                 salt '*' tomcat.status http://localhost:8080/manager
170183
170184       salt.modules.tomcat.status_webapp(app, url=u'http://localhost:8080/man‐
170185       ager', timeout=180)
170186              return the status of the webapp (stopped | running | missing)
170187
170188              app    the webapp context path
170189
170190              url    http://localhost:8080/manager the URL of the server  man‐
170191                     ager webapp
170192
170193              timeout
170194                     180 timeout for HTTP request
170195
170196              CLI Examples:
170197
170198                 salt '*' tomcat.status_webapp /jenkins
170199                 salt '*' tomcat.status_webapp /jenkins http://localhost:8080/manager
170200
170201       salt.modules.tomcat.stop(app,     url=u'http://localhost:8080/manager',
170202       timeout=180)
170203              Stop the webapp
170204
170205              app    the webapp context path
170206
170207              url    http://localhost:8080/manager the URL of the server  man‐
170208                     ager webapp
170209
170210              timeout
170211                     180 timeout for HTTP request
170212
170213              CLI Examples:
170214
170215                 salt '*' tomcat.stop /jenkins
170216                 salt '*' tomcat.stop /jenkins http://localhost:8080/manager
170217
170218       salt.modules.tomcat.undeploy(app, url=u'http://localhost:8080/manager',
170219       timeout=180)
170220              Undeploy a webapp
170221
170222              app    the webapp context path
170223
170224              url    http://localhost:8080/manager the URL of the server  man‐
170225                     ager webapp
170226
170227              timeout
170228                     180 timeout for HTTP request
170229
170230              CLI Examples:
170231
170232                 salt '*' tomcat.undeploy /jenkins
170233                 salt '*' tomcat.undeploy /jenkins http://localhost:8080/manager
170234
170235       salt.modules.tomcat.version()
170236              Return server version from catalina.sh version
170237
170238              CLI Example:
170239
170240                 salt '*' tomcat.version
170241
170242   salt.modules.trafficserver
170243       Apache Traffic Server execution module.
170244
170245       New in version 2015.8.0.
170246
170247
170248       traffic_ctl  is  used to execute individual Traffic Server commands and
170249       to script multiple commands in a shell.
170250
170251       salt.modules.trafficserver.alarms()
170252              List all alarm events that have not been acknowledged (cleared).
170253
170254                 salt '*' trafficserver.alarms
170255
170256       salt.modules.trafficserver.bounce_cluster()
170257              Bounce all Traffic Server nodes in the cluster. Bouncing Traffic
170258              Server  shuts  down  and  immediately  restarts  Traffic Server,
170259              node-by-node.
170260
170261                 salt '*' trafficserver.bounce_cluster
170262
170263       salt.modules.trafficserver.bounce_local(drain=False)
170264              Bounce Traffic Server on the local node. Bouncing Traffic Server
170265              shuts down and immediately restarts the Traffic Server node.
170266
170267              drain  This option modifies the restart behavior such that traf‐
170268                     fic_server is not shut down until the  number  of  active
170269                     client  connections  drops  to  the  number  given by the
170270                     proxy.config.restart.active_client_threshold   configura‐
170271                     tion variable.
170272
170273                 salt '*' trafficserver.bounce_local
170274                 salt '*' trafficserver.bounce_local drain=True
170275
170276       salt.modules.trafficserver.clear_alarms(alarm)
170277              Clear  (acknowledge) an alarm event. The arguments are “all” for
170278              all current alarms, a specific alarm number (e.g. ‘‘1’‘), or  an
170279              alarm    string    identifier    (e.g.   ‘’MGMT_ALARM_PROXY_CON‐
170280              FIG_ERROR’‘).
170281
170282                 salt '*' trafficserver.clear_alarms [all | #event | name]
170283
170284       salt.modules.trafficserver.clear_cluster()
170285              Clears accumulated statistics on all nodes in the cluster.
170286
170287                 salt '*' trafficserver.clear_cluster
170288
170289       salt.modules.trafficserver.clear_node()
170290              Clears accumulated statistics on the local node.
170291
170292                 salt '*' trafficserver.clear_node
170293
170294       salt.modules.trafficserver.match_config(regex)
170295              Display the current values of all configuration variables  whose
170296              names match the given regular expression.
170297
170298              New in version 2016.11.0.
170299
170300
170301                 salt '*' trafficserver.match_config regex
170302
170303       salt.modules.trafficserver.match_metric(regex)
170304              Display  the current values of all metrics whose names match the
170305              given regular expression.
170306
170307              New in version 2016.11.0.
170308
170309
170310                 salt '*' trafficserver.match_metric regex
170311
170312       salt.modules.trafficserver.offline(path)
170313              Mark a cache storage device as offline. The storage  is  identi‐
170314              fied  by  a  path  which  must match exactly a path specified in
170315              storage.config. This removes the  storage  from  the  cache  and
170316              redirects  requests  that  would have used this storage to other
170317              storage. This has exactly the same effect as a disk failure  for
170318              that storage. This does not persist across restarts of the traf‐
170319              fic_server process.
170320
170321                 salt '*' trafficserver.offline /path/to/cache
170322
170323       salt.modules.trafficserver.read_config(*args)
170324              Read Traffic Server configuration variable definitions.
170325
170326              New in version 2016.11.0.
170327
170328
170329                 salt '*' trafficserver.read_config proxy.config.http.keep_alive_post_out
170330
170331       salt.modules.trafficserver.read_metric(*args)
170332              Read Traffic Server one or more metrics.
170333
170334              New in version 2016.11.0.
170335
170336
170337                 salt '*' trafficserver.read_metric proxy.process.http.tcp_hit_count_stat
170338
170339       salt.modules.trafficserver.refresh()
170340              Initiate a Traffic Server configuration file  reread.  Use  this
170341              command to update the running configuration after any configura‐
170342              tion file modification.
170343
170344              The timestamp of the  last  reconfiguration  event  (in  seconds
170345              since  epoch)  is  published  in the proxy.node.config.reconfig‐
170346              ure_time metric.
170347
170348                 salt '*' trafficserver.refresh
170349
170350       salt.modules.trafficserver.restart_cluster()
170351              Restart  the  traffic_manager  process  and  the  traffic_server
170352              process on all the nodes in a cluster.
170353
170354                 salt '*' trafficserver.restart_cluster
170355
170356       salt.modules.trafficserver.restart_local(drain=False)
170357              Restart  the traffic_manager and traffic_server processes on the
170358              local node.
170359
170360              drain  This option modifies the restart behavior such that traf‐
170361                     fic_server  is  not  shut down until the number of active
170362                     client connections drops  to  the  number  given  by  the
170363                     proxy.config.restart.active_client_threshold   configura‐
170364                     tion variable.
170365
170366                 salt '*' trafficserver.restart_local
170367                 salt '*' trafficserver.restart_local drain=True
170368
170369       salt.modules.trafficserver.set_config(variable, value)
170370              Set the value of a Traffic Server configuration variable.
170371
170372              variable
170373                     Name of a Traffic Server configuration variable.
170374
170375              value  The new value to set.
170376
170377              New in version 2016.11.0.
170378
170379
170380                 salt '*' trafficserver.set_config proxy.config.http.keep_alive_post_out 0
170381
170382       salt.modules.trafficserver.shutdown()
170383              Shut down Traffic Server on the local node.
170384
170385                 salt '*' trafficserver.shutdown
170386
170387       salt.modules.trafficserver.startup()
170388              Start Traffic Server on the local node.
170389
170390                 salt '*' trafficserver.start
170391
170392       salt.modules.trafficserver.status()
170393              Show the current proxy server status, indicating if  we’re  run‐
170394              ning or not.
170395
170396                 salt '*' trafficserver.status
170397
170398       salt.modules.trafficserver.zero_cluster()
170399              Reset performance statistics to zero across the cluster.
170400
170401                 salt '*' trafficserver.zero_cluster
170402
170403       salt.modules.trafficserver.zero_node()
170404              Reset performance statistics to zero on the local node.
170405
170406                 salt '*' trafficserver.zero_cluster
170407
170408   salt.modules.travisci
170409       Commands for working with travisci.
170410
170411       depends
170412              pyOpenSSL >= 16.0.0
170413
170414       salt.modules.travisci.verify_webhook(signature, body)
170415              Verify the webhook signature from travisci
170416
170417              signature
170418                     The signature header from the webhook header
170419
170420              body   The full payload body from the webhook post
170421
170422              NOTE:
170423                 The body needs to be the urlencoded version of the body.
170424
170425              CLI Example:
170426
170427                 salt '*' travisci.verify_webhook 'M6NucCX5722bxisQs7e...' 'payload=%7B%22id%22%3A183791261%2C%22repository...'
170428
170429   salt.modules.tuned
170430       Interface to Red Hat tuned-adm module
170431
170432       maintainer
170433              Syed Ali <alicsyed@gmail.com>
170434
170435       maturity
170436              new
170437
170438       depends
170439              tuned-adm
170440
170441       platform
170442              Linux
170443
170444       salt.modules.tuned.active()
170445              Return current active profile
170446
170447              CLI Example:
170448
170449                 salt '*' tuned.active
170450
170451       salt.modules.tuned.list_()
170452              List the profiles available
170453
170454              CLI Example:
170455
170456                 salt '*' tuned.list
170457
170458       salt.modules.tuned.off()
170459              Turn off all profiles
170460
170461              CLI Example:
170462
170463                 salt '*' tuned.off
170464
170465       salt.modules.tuned.profile(profile_name)
170466              Activate specified profile
170467
170468              CLI Example:
170469
170470                 salt '*' tuned.profile virtual-guest
170471
170472   salt.modules.twilio_notify
170473       Module for notifications via Twilio
170474
170475       New in version 2014.7.0.
170476
170477
170478       depends
170479
170480              · twilio python module
170481
170482       configuration
170483              Configure  this module by specifying the name of a configuration
170484              profile in the minion config, minion pillar, or master config.
170485
170486              For example:
170487
170488                 my-twilio-account:
170489                     twilio.account_sid: AC32a3c83990934481addd5ce1659f04d2
170490                     twilio.auth_token: mytoken
170491
170492       salt.modules.twilio_notify.send_sms(profile, body, to, from_)
170493              Send an sms
170494
170495              CLI Example:
170496                 twilio.send_sms  twilio-account  'Test  sms'   '+18019999999'
170497                 '+18011111111'
170498
170499   salt.modules.udev
170500       Manage and query udev info
170501
170502       New in version 2015.8.0.
170503
170504
170505       salt.modules.udev.env(dev)
170506              Return all environment variables udev has for dev
170507
170508              CLI Example:
170509
170510                 salt '*' udev.env /dev/sda
170511                 salt '*' udev.env /sys/class/net/eth0
170512
170513       salt.modules.udev.exportdb()
170514              Return all the udev database
170515
170516              CLI Example:
170517
170518                 salt '*' udev.exportdb
170519
170520       salt.modules.udev.info(dev)
170521              Extract all info delivered by udevadm
170522
170523              CLI Example:
170524
170525                 salt '*' udev.info /dev/sda
170526                 salt '*' udev.info /sys/class/net/eth0
170527
170528       salt.modules.udev.links(dev)
170529              Return all udev-created device symlinks
170530
170531              CLI Example:
170532
170533                 salt '*' udev.links /dev/sda
170534                 salt '*' udev.links /sys/class/net/eth0
170535
170536       salt.modules.udev.name(dev)
170537              Return the actual dev name(s?) according to udev for dev
170538
170539              CLI Example:
170540
170541                 salt '*' udev.dev /dev/sda
170542                 salt '*' udev.dev /sys/class/net/eth0
170543
170544       salt.modules.udev.path(dev)
170545              Return the physical device path(s?) according to udev for dev
170546
170547              CLI Example:
170548
170549                 salt '*' udev.path /dev/sda
170550                 salt '*' udev.path /sys/class/net/eth0
170551
170552   salt.modules.upstart
170553       Module  for  the management of upstart systems. The Upstart system only
170554       supports service starting, stopping and restarting.
170555
170556       IMPORTANT:
170557          If you feel that Salt should be using this module to manage services
170558          on  a  minion, and it is using a different module (or gives an error
170559          similar to 'service.start' is not available), see here.
170560
170561       Currently (as of Ubuntu 12.04) there is no tool  available  to  disable
170562       Upstart  services (like update-rc.d). This[1] is the recommended way to
170563       disable an Upstart service. So we assume that all Upstart services that
170564       have not been disabled in this manner are enabled.
170565
170566       But  this  is  broken because we do not check to see that the dependent
170567       services are enabled. Otherwise we would  have  to  do  something  like
170568       parse  the  output of "initctl show-config" to determine if all service
170569       dependencies are enabled to start on boot. For example, see the  "start
170570       on"  condition  for the lightdm service below[2]. And this would be too
170571       hard. So we wait until the upstart developers have solved this problem.
170572       :)  This  is  to  say  that  an Upstart service that is enabled may not
170573       really be enabled.
170574
170575       Also, when an Upstart service is enabled, should the dependent services
170576       be  enabled too? Probably not. But there should be a notice about this,
170577       at least.
170578
170579       [1]
170580       http://upstart.ubuntu.com/cookbook/#disabling-a-job-from-automatically-starting
170581
170582       [2] example upstart configuration file:
170583
170584          lightdm
170585          emits login-session-start
170586          emits desktop-session-start
170587          emits desktop-shutdown
170588          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)
170589          stop on runlevel [016]
170590
170591       WARNING:
170592          This module should not be used on Red Hat systems.  For  these,  the
170593          rh_service  module  should  be  used,  as  it  supports  the  hybrid
170594          upstart/sysvinit system used in RHEL/CentOS 6.
170595
170596       salt.modules.upstart.available(name)
170597              Returns True if the specified service  is  available,  otherwise
170598              returns False.
170599
170600              CLI Example:
170601
170602                 salt '*' service.available sshd
170603
170604       salt.modules.upstart.disable(name, **kwargs)
170605              Disable the named service from starting on boot
170606
170607              CLI Example:
170608
170609                 salt '*' service.disable <service name>
170610
170611       salt.modules.upstart.disabled(name)
170612              Check to see if the named service is disabled to start on boot
170613
170614              CLI Example:
170615
170616                 salt '*' service.disabled <service name>
170617
170618       salt.modules.upstart.enable(name, **kwargs)
170619              Enable the named service to start at boot
170620
170621              CLI Example:
170622
170623                 salt '*' service.enable <service name>
170624
170625       salt.modules.upstart.enabled(name, **kwargs)
170626              Check to see if the named service is enabled to start on boot
170627
170628              CLI Example:
170629
170630                 salt '*' service.enabled <service name>
170631
170632       salt.modules.upstart.force_reload(name)
170633              Force-reload the named service
170634
170635              CLI Example:
170636
170637                 salt '*' service.force_reload <service name>
170638
170639       salt.modules.upstart.full_restart(name)
170640              Do a full restart (stop/start) of the named service
170641
170642              CLI Example:
170643
170644                 salt '*' service.full_restart <service name>
170645
170646       salt.modules.upstart.get_all()
170647              Return all installed services
170648
170649              CLI Example:
170650
170651                 salt '*' service.get_all
170652
170653       salt.modules.upstart.get_disabled()
170654              Return the disabled services
170655
170656              CLI Example:
170657
170658                 salt '*' service.get_disabled
170659
170660       salt.modules.upstart.get_enabled()
170661              Return the enabled services
170662
170663              CLI Example:
170664
170665                 salt '*' service.get_enabled
170666
170667       salt.modules.upstart.missing(name)
170668              The inverse of service.available.  Returns True if the specified
170669              service is not available, otherwise returns False.
170670
170671              CLI Example:
170672
170673                 salt '*' service.missing sshd
170674
170675       salt.modules.upstart.reload_(name)
170676              Reload the named service
170677
170678              CLI Example:
170679
170680                 salt '*' service.reload <service name>
170681
170682       salt.modules.upstart.restart(name)
170683              Restart the named service
170684
170685              CLI Example:
170686
170687                 salt '*' service.restart <service name>
170688
170689       salt.modules.upstart.start(name)
170690              Start the specified service
170691
170692              CLI Example:
170693
170694                 salt '*' service.start <service name>
170695
170696       salt.modules.upstart.status(name, sig=None)
170697              Return the status for a service.  If the name contains globbing,
170698              a dict mapping service name to True/False values is returned.
170699
170700              Changed  in version 2018.3.0: The service name can now be a glob
170701              (e.g. salt*)
170702
170703
170704              Parameters
170705
170706                     · name (str) -- The name of the service to check
170707
170708                     · sig (str) -- Signature to use to find the  service  via
170709                       ps
170710
170711              Returns
170712                     True  if running, False otherwise dict: Maps service name
170713                     to True if running, False otherwise
170714
170715              Return type
170716                     bool
170717
170718              CLI Example:
170719
170720                 salt '*' service.status <service name> [service signature]
170721
170722       salt.modules.upstart.stop(name)
170723              Stop the specified service
170724
170725              CLI Example:
170726
170727                 salt '*' service.stop <service name>
170728
170729   salt.modules.uptime
170730   Wrapper around uptime API
170731       salt.modules.uptime.check_exists(name)
170732              Check if a given URL is in being monitored by uptime
170733
170734              CLI Example:
170735
170736                 salt '*' uptime.check_exists http://example.org
170737
170738       salt.modules.uptime.checks_list()
170739              List URL checked by uptime
170740
170741              CLI Example:
170742
170743                 salt '*' uptime.checks_list
170744
170745       salt.modules.uptime.create(name, **params)
170746              Create a check on a given URL.
170747
170748              Additional parameters can be used and are  passed  to  API  (for
170749              example   interval,   maxTime,   etc).   See  the  documentation
170750              https://github.com/fzaninotto/uptime for  a  full  list  of  the
170751              parameters.
170752
170753              CLI Example:
170754
170755                 salt '*' uptime.create http://example.org
170756
170757       salt.modules.uptime.delete(name)
170758              Delete a check on a given URL
170759
170760              CLI Example:
170761
170762                 salt '*' uptime.delete http://example.org
170763
170764   salt.modules.useradd
170765       Manage users with the useradd command
170766
170767       IMPORTANT:
170768          If you feel that Salt should be using this module to manage users on
170769          a minion, and it is using a different module (or gives an error sim‐
170770          ilar to 'user.info' is not available), see here.
170771
170772       salt.modules.useradd.add(name,    uid=None,    gid=None,   groups=None,
170773       home=None, shell=None, unique=True, system=False,  fullname=u'',  room‐
170774       number=u'',  workphone=u'',  homephone=u'', other=u'', createhome=True,
170775       loginclass=None, root=None, nologinit=False)
170776              Add a user to the minion
170777
170778              CLI Example:
170779
170780                 salt '*' user.add name <uid> <gid> <groups> <home> <shell>
170781
170782       salt.modules.useradd.chfullname(name, fullname)
170783              Change the user's Full Name
170784
170785              CLI Example:
170786
170787                 salt '*' user.chfullname foo "Foo Bar"
170788
170789       salt.modules.useradd.chgid(name, gid, root=None)
170790              Change the default group of the user
170791
170792              CLI Example:
170793
170794                 salt '*' user.chgid foo 4376
170795
170796       salt.modules.useradd.chgroups(name, groups, append=False, root=None)
170797              Change the groups to which this user belongs
170798
170799              name   User to modify
170800
170801              groups Groups to set for the user
170802
170803              append False If True, append the specified group(s).  Otherwise,
170804                     this  function  will  replace  the user's groups with the
170805                     specified group(s).
170806
170807              CLI Examples:
170808
170809                 salt '*' user.chgroups foo wheel,root
170810                 salt '*' user.chgroups foo wheel,root append=True
170811
170812       salt.modules.useradd.chhome(name, home, persist=False, root=None)
170813              Change the home directory of the user, pass True for persist  to
170814              move  files  to the new home directory if the old home directory
170815              exist.
170816
170817              CLI Example:
170818
170819                 salt '*' user.chhome foo /home/users/foo True
170820
170821       salt.modules.useradd.chhomephone(name, homephone)
170822              Change the user's Home Phone
170823
170824              CLI Example:
170825
170826                 salt '*' user.chhomephone foo 7735551234
170827
170828       salt.modules.useradd.chloginclass(name, loginclass, root=None)
170829              Change the default login class of the user
170830
170831              NOTE:
170832                 This function only applies to OpenBSD systems.
170833
170834              CLI Example:
170835
170836                 salt '*' user.chloginclass foo staff
170837
170838       salt.modules.useradd.chother(name, other)
170839              Change the user's other GECOS attribute
170840
170841              CLI Example:
170842
170843                 salt '*' user.chother foobar
170844
170845       salt.modules.useradd.chroomnumber(name, roomnumber)
170846              Change the user's Room Number
170847
170848              CLI Example:
170849
170850                 salt '*' user.chroomnumber foo 123
170851
170852       salt.modules.useradd.chshell(name, shell, root=None)
170853              Change the default shell of the user
170854
170855              CLI Example:
170856
170857                 salt '*' user.chshell foo /bin/zsh
170858
170859       salt.modules.useradd.chuid(name, uid)
170860              Change the uid for a named user
170861
170862              CLI Example:
170863
170864                 salt '*' user.chuid foo 4376
170865
170866       salt.modules.useradd.chworkphone(name, workphone)
170867              Change the user's Work Phone
170868
170869              CLI Example:
170870
170871                 salt '*' user.chworkphone foo 7735550123
170872
170873       salt.modules.useradd.delete(name, remove=False, force=False, root=None)
170874              Remove a user from the minion
170875
170876              CLI Example:
170877
170878                 salt '*' user.delete name remove=True force=True
170879
170880       salt.modules.useradd.get_loginclass(name)
170881              Get the login class of the user
170882
170883              NOTE:
170884                 This function only applies to OpenBSD systems.
170885
170886              CLI Example:
170887
170888                 salt '*' user.get_loginclass foo
170889
170890       salt.modules.useradd.getent(refresh=False)
170891              Return the list of all info for all users
170892
170893              CLI Example:
170894
170895                 salt '*' user.getent
170896
170897       salt.modules.useradd.info(name)
170898              Return user information
170899
170900              CLI Example:
170901
170902                 salt '*' user.info root
170903
170904       salt.modules.useradd.list_groups(name)
170905              Return a list of groups the named user belongs to
170906
170907              CLI Example:
170908
170909                 salt '*' user.list_groups foo
170910
170911       salt.modules.useradd.list_users()
170912              Return a list of all users
170913
170914              CLI Example:
170915
170916                 salt '*' user.list_users
170917
170918       salt.modules.useradd.primary_group(name)
170919              Return the primary group of the named user
170920
170921              New in version 2016.3.0.
170922
170923
170924              CLI Example:
170925
170926                 salt '*' user.primary_group saltadmin
170927
170928       salt.modules.useradd.rename(name, new_name, root=None)
170929              Change the username for a named user
170930
170931              CLI Example:
170932
170933                 salt '*' user.rename name new_name
170934
170935   salt.modules.uwsgi
170936       uWSGI                           stats                            server
170937       https://uwsgi-docs.readthedocs.io/en/latest/StatsServer.html
170938
170939       maintainer
170940              Peter Baumgartner <pete@lincolnloop.com>
170941
170942       maturity
170943              new
170944
170945       platform
170946              all
170947
170948       salt.modules.uwsgi.stats(socket)
170949              Return the data from uwsgi --connect-and-read as a dictionary.
170950
170951              socket The socket the uWSGI stats server is listening on
170952
170953              CLI Example:
170954
170955                 salt '*' uwsgi.stats /var/run/mystatsserver.sock
170956
170957                 salt '*' uwsgi.stats 127.0.0.1:5050
170958
170959   salt.modules.vagrant
170960       Work with virtual machines managed by Vagrant.
170961
170962       New in version 2018.3.0.
170963
170964
170965       Mapping  between  a  Salt node id and the Vagrant machine name (and the
170966       path to the Vagrantfile where it is defined) is stored in  a  Salt  sdb
170967       database  on  the  Vagrant host (minion) machine.  In order to use this
170968       module, sdb must be configured. An SQLite database is  the  recommended
170969       storage    method.     The   URI   used   for   the   sdb   lookup   is
170970       "sdb://vagrant_sdb_data".
170971
170972       requirements:
170973
170974              · the VM host machine must have salt-minion, Vagrant  and  a  vm
170975                provider installed.
170976
170977              · the    VM    host   must   have   a   valid   definition   for
170978                sdb://vagrant_sdb_data
170979                 Configuration example:
170980
170981                     # file /etc/salt/minion.d/vagrant_sdb.conf
170982                     vagrant_sdb_data:
170983                       driver: sqlite3
170984                       database: /var/cache/salt/vagrant.sqlite
170985                       table: sdb
170986                       create_table: True
170987
170988       salt.modules.vagrant.destroy(name)
170989              Destroy and delete a virtual machine. (vagrant destroy -f)
170990
170991              This also removes the salt_id name defined by vagrant.init.
170992
170993              CLI Example:
170994
170995                 salt <host> vagrant.destroy <salt_id>
170996
170997       salt.modules.vagrant.get_machine_id(machine, cwd)
170998              returns the salt_id name of the Vagrant VM
170999
171000              Parameters
171001
171002                     · machine -- the Vagrant machine name
171003
171004                     · cwd -- the path to Vagrantfile
171005
171006              Returns
171007                     salt_id name
171008
171009       salt.modules.vagrant.get_ssh_config(name,  network_mask=u'',   get_pri‐
171010       vate_key=False)
171011              Retrieve hints of how you might connect to a Vagrant VM.
171012
171013              Parameters
171014
171015                     · name -- the salt_id of the machine
171016
171017                     · network_mask  --  a  CIDR  mask  to search for the VM's
171018                       address
171019
171020                     · get_private_key -- (default: False) return the key used
171021                       for ssh login
171022
171023              Returns
171024                     a dict of ssh login information for the VM
171025
171026              CLI Example:
171027
171028                 salt <host> vagrant.get_ssh_config <salt_id>
171029                 salt my_laptop vagrant.get_ssh_config quail1 network_mask=10.0.0.0/8 get_private_key=True
171030
171031              The returned dictionary contains:
171032
171033              · key_filename:  the name of the private key file on the VM host
171034                computer
171035
171036              · ssh_username:  the username to be used to log in to the VM
171037
171038              · ssh_host:  the IP address used to log in  to  the  VM.   (This
171039                will usually be 127.0.0.1)
171040
171041              · ssh_port:   the TCP port used to log in to the VM.  (This will
171042                often be 2222)
171043
171044              · [ip_address:]  (if network_mask is defined. see below)
171045
171046              · [private_key:]  (if get_private_key is True) the  private  key
171047                for ssh_username
171048
171049              About network_mask:
171050
171051              Vagrant  usually uses a redirected TCP port on its host computer
171052              to log in to a VM using ssh.  This redirected port  and  its  IP
171053              address  are "ssh_port" and "ssh_host".  The ssh_host is usually
171054              the localhost (127.0.0.1).  This makes it impossible for a third
171055              machine  (such  as a salt-cloud master) to contact the VM unless
171056              the VM has another network interface defined.  You will  usually
171057              want  a  bridged  network  defined by having a config.vm.network
171058              "public_network" statement in your Vagrantfile.
171059
171060              The IP address of the bridged adapter will typically be assigned
171061              by  DHCP and unknown to you, but you should be able to determine
171062              what IP network the address will be chosen from.  If you enter a
171063              CIDR  network  mask,  Salt will attempt to find the VM's address
171064              for you.  The host machine will send an  "ifconfig"  command  to
171065              the  VM  (using  ssh  to  ssh_host:ssh_port)  and  return the IP
171066              address of the first interface it can find  which  matches  your
171067              mask.
171068
171069       salt.modules.vagrant.get_vm_info(name)
171070              get the information for a VM.
171071
171072              Parameters
171073                     name -- salt_id name
171074
171075              Returns
171076                     dictionary of {'machine': x, 'cwd': y, ...}.
171077
171078       salt.modules.vagrant.init(name,   cwd=None,   machine=u'',  runas=None,
171079       start=False, vagrant_provider=u'', vm=None)
171080              Initialize a new Vagrant VM.
171081
171082              This inputs all the information needed to start  a  Vagrant  VM.
171083              These  settings are stored in a Salt sdb database on the Vagrant
171084              host minion and used to start, control, and query the guest VMs.
171085              The salt_id assigned here is the key field for that database and
171086              must be unique.
171087
171088              Parameters
171089
171090                     · name -- The salt_id name you will use to  control  this
171091                       VM
171092
171093                     · cwd  -- The path to the directory where the Vagrantfile
171094                       is located
171095
171096                     · machine -- The machine  name  in  the  Vagrantfile.  If
171097                       blank, the primary machine will be used.
171098
171099                     · runas  -- The username on the host who owns the Vagrant
171100                       work files.
171101
171102                     · start -- (default: False)  Start  the  virtual  machine
171103                       now.
171104
171105                     · vagrant_provider  --  The name of a Vagrant VM provider
171106                       (if not the default).
171107
171108                     · vm -- Optionally, all the above information may be sup‐
171109                       plied in this dictionary.
171110
171111              Returns
171112                     A string indicating success, or False.
171113
171114              CLI Example:
171115
171116                 salt <host> vagrant.init <salt_id> /path/to/Vagrantfile
171117                 salt my_laptop vagrant.init x1 /projects/bevy_master machine=quail1
171118
171119       salt.modules.vagrant.list_active_vms(cwd=None)
171120              Return a list of machine names for active virtual machine on the
171121              host, which are defined in  the  Vagrantfile  at  the  indicated
171122              path.
171123
171124              CLI Example:
171125
171126                 salt '*' vagrant.list_active_vms  cwd=/projects/project_1
171127
171128       salt.modules.vagrant.list_domains()
171129              Return  a list of the salt_id names of all available Vagrant VMs
171130              on this host without regard to the path where they are defined.
171131
171132              CLI Example:
171133
171134                 salt '*' vagrant.list_domains --log-level=info
171135
171136              The log shows information about all known  Vagrant  environments
171137              on  this  machine. This data is cached and may not be completely
171138              up-to-date.
171139
171140       salt.modules.vagrant.list_inactive_vms(cwd=None)
171141              Return a list of machine names for inactive virtual  machine  on
171142              the  host, which are defined in the Vagrantfile at the indicated
171143              path.
171144
171145              CLI Example:
171146
171147                 salt '*' virt.list_inactive_vms cwd=/projects/project_1
171148
171149       salt.modules.vagrant.pause(name)
171150              Pause (vagrant suspend) the named VM.
171151
171152              CLI Example:
171153
171154                 salt <host> vagrant.pause <salt_id>
171155
171156       salt.modules.vagrant.reboot(name, provision=False)
171157              Reboot a VM. (vagrant reload)
171158
171159              CLI Example:
171160
171161                 salt <host> vagrant.reboot <salt_id> provision=True
171162
171163              Parameters
171164
171165                     · name -- The salt_id name you will use to  control  this
171166                       VM
171167
171168                     · provision -- (False) also re-run the Vagrant provision‐
171169                       ing scripts.
171170
171171       salt.modules.vagrant.shutdown(name)
171172              Send a soft shutdown (vagrant halt) signal to the named vm.
171173
171174              This does the same thing as vagrant.stop. Other-VM control  mod‐
171175              ules use "stop" and "shutdown" to differentiate between hard and
171176              soft shutdowns.
171177
171178              CLI Example:
171179
171180                 salt <host> vagrant.shutdown <salt_id>
171181
171182       salt.modules.vagrant.start(name)
171183              Start (vagrant up) a virtual machine defined  by  salt_id  name.
171184              The   machine   must   have   been   previously   defined  using
171185              "vagrant.init".
171186
171187              CLI Example:
171188
171189                 salt <host> vagrant.start <salt_id>
171190
171191       salt.modules.vagrant.stop(name)
171192              Hard shutdown the virtual machine. (vagrant halt)
171193
171194              CLI Example:
171195
171196                 salt <host> vagrant.stop <salt_id>
171197
171198       salt.modules.vagrant.version()
171199              Return the version of Vagrant on the minion
171200
171201              CLI Example:
171202
171203                 salt '*' vagrant.version
171204
171205       salt.modules.vagrant.vm_state(name=u'', cwd=None)
171206              Return list of information for  all  the  vms  indicating  their
171207              state.
171208
171209              If you pass a VM name in as an argument then it will return info
171210              for just the named VM, otherwise it will return all VMs  defined
171211              by the Vagrantfile in the cwd directory.
171212
171213              CLI Example:
171214
171215                 salt '*' vagrant.vm_state <name>  cwd=/projects/project_1
171216
171217              returns  a  list  of  dictionaries  with  machine  name,  state,
171218              provider, and salt_id name.
171219
171220                 datum = {'machine': _, # Vagrant machine name,
171221                          'state': _, # string indicating machine state, like 'running'
171222                          'provider': _, # the Vagrant VM provider
171223                          'name': _} # salt_id name
171224
171225              Known bug: if there are multiple machines in  your  Vagrantfile,
171226              and  you  request  the  status of the primary machine, which you
171227              defined by leaving the machine parameter  blank,  then  you  may
171228              receive  the  status  of all of them.  Please specify the actual
171229              machine name for each VM if there are more than one.
171230
171231   salt.modules.varnish
171232       Support for Varnish
171233
171234       New in version 2014.7.0.
171235
171236
171237       NOTE:
171238          These functions are designed to work  with  all  implementations  of
171239          Varnish from 3.x onwards
171240
171241       salt.modules.varnish.ban(ban_expression)
171242              Add ban to the varnish cache
171243
171244              CLI Example:
171245
171246                 salt '*' varnish.ban ban_expression
171247
171248       salt.modules.varnish.ban_list()
171249              List varnish cache current bans
171250
171251              CLI Example:
171252
171253                 salt '*' varnish.ban_list
171254
171255       salt.modules.varnish.param_set(param, value)
171256              Set a param in varnish cache
171257
171258              CLI Example:
171259
171260                 salt '*' varnish.param_set param value
171261
171262       salt.modules.varnish.param_show(param=None)
171263              Show params of varnish cache
171264
171265              CLI Example:
171266
171267                 salt '*' varnish.param_show param
171268
171269       salt.modules.varnish.purge()
171270              Purge the varnish cache
171271
171272              CLI Example:
171273
171274                 salt '*' varnish.purge
171275
171276       salt.modules.varnish.version()
171277              Return server version from varnishd -V
171278
171279              CLI Example:
171280
171281                 salt '*' varnish.version
171282
171283   salt.modules.vault module
171284       Functions to interact with Hashicorp Vault.
171285
171286       maintainer
171287              SaltStack
171288
171289       maturity
171290              new
171291
171292       platform
171293              all
171294
171295       note   If  you see the following error, you'll need to upgrade requests
171296              to atleast 2.4.2
171297
171298          <timestamp> [salt.pillar][CRITICAL][14337] Pillar render error: Failed to load ext_pillar vault: {'error': "request() got an unexpected keyword argument 'json'"}
171299
171300       configuration
171301              The salt-master must be configured to allow peer-runner configu‐
171302              ration, as well as configuration for the module.
171303
171304              Add   this   segment   to  the  master  configuration  file,  or
171305              /etc/salt/master.d/vault.conf:
171306
171307                 vault:
171308                     url: https://vault.service.domain:8200
171309                     verify: /etc/ssl/certs/ca-certificates.crt
171310                     role_name: minion_role
171311                     auth:
171312                         method: approle
171313                         role_id: 11111111-2222-3333-4444-1111111111111
171314                         secret_id: 11111111-1111-1111-1111-1111111111111
171315                     policies:
171316                         - saltstack/minions
171317                         - saltstack/minion/{minion}
171318                         .. more policies
171319                     keys:
171320                         - n63/TbrQuL3xaIW7ZZpuXj/tIfnK1/MbVxO4vT3wYD2A
171321                         - S9OwCvMRhErEA4NVVELYBs6w/Me6+urgUr24xGK44Uy3
171322                         - F1j4b7JKq850NS6Kboiy5laJ0xY8dWJvB3fcwA+SraYl
171323                         - 1cYtvjKJNDVam9c7HNqJUfINk4PYyAXIpjkpN/sIuzPv
171324                         - 3pPK5X6vGtwLhNOFv1U2elahECz3HpRUfNXJFYLw6lid
171325
171326              url    Url to your Vault installation. Required.
171327
171328              verify For            details             please             see
171329                     http://docs.python-requests.org/en/master/user/advanced/#ssl-cert-verification
171330
171331                     New in version 2018.3.0.
171332
171333
171334              role_name
171335                     Role name for minion tokens created. If  omitted,  minion
171336                     tokens  will be created without any role, thus being able
171337                     to inherit any master token policy (including token  cre‐
171338                     ation capabilities). Optional.
171339
171340                     For             details            please            see:
171341                     https://www.vaultproject.io/api/auth/token/index.html#create-token
171342                     Example                                    configuration:
171343                     https://www.nomadproject.io/docs/vault-integration/index.html#vault-token-role-configuration
171344
171345              auth   Currently  only  token  and  approle  auth types are sup‐
171346                     ported. Required.
171347
171348                     Approle is the preferred way to authenticate  with  Vault
171349                     as  it provide some advanced options to control authenti‐
171350                     cation process.  Please  visit  Vault  documentation  for
171351                     more                                                info:
171352                     https://www.vaultproject.io/docs/auth/approle.html
171353
171354                     The token must be able to create tokens with the policies
171355                     that should be assigned to minions.
171356
171357                     You  can  still  use  the token auth via a OS environment
171358                     variable via this config example:
171359
171360                     And then export the VAULT_TOKEN variable in your OS:
171361
171362              policies
171363                     Policies that are assigned to minions when  requesting  a
171364                     token.  These can either be static, eg saltstack/minions,
171365                     or templated, eg saltstack/minion/{minion}.  {minion}  is
171366                     shorthand for grains[id].  Grains are also available, for
171367                     example like this: my-policies/{grains[os]}
171368
171369                     If a template contains a grain which evaluates to a list,
171370                     it  will be expanded into multiple policies. For example,
171371                     given the template saltstack/by-role/{grains[roles]}, and
171372                     a minion having these grains:
171373
171374                     The  minion  will have the policies saltstack/by-role/web
171375                     and saltstack/by-role/database. Note  however  that  list
171376                     members  which do not have simple string representations,
171377                     such as dictionaries or objects, do  not  work  and  will
171378                     throw  an  exception. Strings and numbers are examples of
171379                     types which work well.
171380
171381                     Optional. If policies is not  configured,  saltstack/min‐
171382                     ions and saltstack/{minion} are used as defaults.
171383
171384              keys   List  of  keys  to  use  to  unseal vault server with the
171385                     vault.unseal runner.
171386
171387              Add  this  segment  to  the  master   configuration   file,   or
171388              /etc/salt/master.d/peer_run.conf:
171389
171390                 peer_run:
171391                     .*:
171392                         - vault.generate_token
171393
171394       salt.modules.vault.delete_secret(path)
171395              Delete  secret  at the path in vault. The vault policy used must
171396              allow this.
171397
171398              CLI Example:
171399
171400                 salt '*' vault.delete_secret "secret/my/secret"
171401
171402       salt.modules.vault.list_secrets(path)
171403              List secret keys at the path in vault.  The  vault  policy  used
171404              must allow this.  The path should end with a trailing slash.
171405
171406              CLI Example:
171407
171408                 salt '*' vault.list_secrets "secret/my/"
171409
171410       salt.modules.vault.read_secret(path, key=None)
171411              Return the value of key at path in vault, or entire secret
171412
171413              Jinja Example:
171414
171415                 my-secret: {{ salt['vault'].read_secret('secret/my/secret', 'some-key') }}
171416
171417                 {% set supersecret = salt['vault'].read_secret('secret/my/secret') %}
171418                 secrets:
171419                     first: {{ supersecret.first }}
171420                     second: {{ supersecret.second }}
171421
171422       salt.modules.vault.write_raw(path, raw)
171423              Set  raw  data  at the path in vault. The vault policy used must
171424              allow this.
171425
171426              CLI Example:
171427
171428                 salt '*' vault.write_raw "secret/my/secret" '{"user":"foo","password": "bar"}'
171429
171430       salt.modules.vault.write_secret(path, **kwargs)
171431              Set secret at the path in vault.  The  vault  policy  used  must
171432              allow this.
171433
171434              CLI Example:
171435
171436                 salt '*' vault.write_secret "secret/my/secret" user="foo" password="bar"
171437
171438   salt.modules.vbox_guest
171439       VirtualBox Guest Additions installer
171440
171441       salt.modules.vbox_guest.additions_install(*args, **kwargs)
171442              Install  VirtualBox  Guest  Additions. Uses the CD, connected by
171443              VirtualBox.
171444
171445              To connect VirtualBox Guest Additions via  VirtualBox  graphical
171446              interface press 'Host+D' ('Host' is usually 'Right Ctrl').
171447
171448              See  https://www.virtualbox.org/manual/ch04.html#idp52733088 for
171449              more details.
171450
171451              CLI Example:
171452
171453                 salt '*' vbox_guest.additions_install
171454                 salt '*' vbox_guest.additions_install reboot=True
171455                 salt '*' vbox_guest.additions_install upgrade_os=True
171456
171457              Parameters
171458
171459                     · reboot (bool) -- reboot computer to complete  installa‐
171460                       tion
171461
171462                     · upgrade_os  (bool) -- upgrade OS (to ensure the latests
171463                       version of kernel and developer tools are installed)
171464
171465              Returns
171466                     version of VirtualBox  Guest  Additions  or  string  with
171467                     error
171468
171469       salt.modules.vbox_guest.additions_mount()
171470              Mount VirtualBox Guest Additions CD to the temp directory.
171471
171472              To  connect  VirtualBox Guest Additions via VirtualBox graphical
171473              interface press 'Host+D' ('Host' is usually 'Right Ctrl').
171474
171475              CLI Example:
171476
171477                 salt '*' vbox_guest.additions_mount
171478
171479              Returns
171480                     True or OSError exception
171481
171482       salt.modules.vbox_guest.additions_remove(**kwargs)
171483              Remove VirtualBox Guest Additions.
171484
171485              Firstly   it   tries   to   uninstall   itself   by    executing
171486              '/opt/VBoxGuestAdditions-VERSION/uninstall.run  uninstall'.   It
171487              uses the CD, connected by VirtualBox if it failes.
171488
171489              CLI Example:
171490
171491                 salt '*' vbox_guest.additions_remove
171492                 salt '*' vbox_guest.additions_remove force=True
171493
171494              Parameters
171495                     force (bool) -- force VirtualBox Guest Additions removing
171496
171497              Returns
171498                     True if VirtualBox Guest Additions were removed  success‐
171499                     fully else False
171500
171501       salt.modules.vbox_guest.additions_umount(mount_point)
171502              Unmount VirtualBox Guest Additions CD from the temp directory.
171503
171504              CLI Example:
171505
171506                 salt '*' vbox_guest.additions_umount
171507
171508              Parameters
171509                     mount_point  --  directory  VirtualBox Guest Additions is
171510                     mounted to
171511
171512              Returns
171513                     True or an string with error
171514
171515       salt.modules.vbox_guest.additions_version()
171516              Check VirtualBox Guest Additions version.
171517
171518              CLI Example:
171519
171520                 salt '*' vbox_guest.additions_version
171521
171522              Returns
171523                     version of VirtualBox Guest Additions or  False  if  they
171524                     are not installed
171525
171526       salt.modules.vbox_guest.grant_access_to_shared_folders_to(name,
171527       users=None)
171528              Grant access to auto-mounted shared folders to the users.
171529
171530              User is specified by it's name.  To  grant  access  for  several
171531              users  use  argument  users.  Access will be denied to the users
171532              not listed in users argument.
171533
171534              See    https://www.virtualbox.org/manual/ch04.html#sf_mount_auto
171535              for more details.
171536
171537              CLI Example:
171538
171539                 salt '*' vbox_guest.grant_access_to_shared_folders_to fred
171540                 salt '*' vbox_guest.grant_access_to_shared_folders_to users ['fred', 'roman']
171541
171542              Parameters
171543
171544                     · name  (str)  --  name  of  the  user to grant access to
171545                       auto-mounted shared folders to
171546
171547                     · users (list of str) -- list of names of users to  grant
171548                       access to auto-mounted shared folders to (if specified,
171549                       name will not be taken into account)
171550
171551              Returns
171552                     list of users who  have  access  to  auto-mounted  shared
171553                     folders
171554
171555       salt.modules.vbox_guest.list_shared_folders_users()
171556              List users who have access to auto-mounted shared folders.
171557
171558              See    https://www.virtualbox.org/manual/ch04.html#sf_mount_auto
171559              for more details.
171560
171561              CLI Example:
171562
171563                 salt '*' vbox_guest.list_shared_folders_users
171564
171565              Returns
171566                     list of users who  have  access  to  auto-mounted  shared
171567                     folders
171568
171569   salt.modules.vboxmanage module
171570       Support for VirtualBox using the VBoxManage command
171571
171572       New in version 2016.3.0.
171573
171574
171575       If  the  vboxdrv kernel module is not loaded, this module can automati‐
171576       cally load it by configuring autoload_vboxdrv in /etc/salt/minion:
171577
171578       The default for this setting is False.
171579
171580       depends
171581              virtualbox
171582
171583       salt.modules.vboxmanage.clonemedium(medium, uuid_in=None, file_in=None,
171584       uuid_out=None,   file_out=None,   mformat=None,   variant=None,  exist‐
171585       ing=False, **kwargs)
171586              Clone a new VM from an existing VM
171587
171588              CLI Example:
171589
171590                 salt 'hypervisor' vboxmanage.clonemedium <name> <new_name>
171591
171592       salt.modules.vboxmanage.clonevm(name=None,  uuid=None,   new_name=None,
171593       snapshot_uuid=None,  snapshot_name=None, mode=u'machine', options=None,
171594       basefolder=None, new_uuid=None, register=False, groups=None, **kwargs)
171595              Clone a new VM from an existing VM
171596
171597              CLI Example:
171598
171599                 salt 'hypervisor' vboxmanage.clonevm <name> <new_name>
171600
171601       salt.modules.vboxmanage.create(name, groups=None,  ostype=None,  regis‐
171602       ter=True, basefolder=None, new_uuid=None, **kwargs)
171603              Create a new VM
171604
171605              CLI Example:
171606
171607                 salt 'hypervisor' vboxmanage.create <name>
171608
171609       salt.modules.vboxmanage.destroy(name)
171610              Unregister and destroy a VM
171611
171612              CLI Example:
171613
171614                 salt '*' vboxmanage.destroy my_vm
171615
171616       salt.modules.vboxmanage.list_items(item,                 details=False,
171617       group_by=u'UUID')
171618              Return a list of a specific type of item.  The  following  items
171619              are available:
171620                 vms runningvms ostypes hostdvds hostfloppies intnets bridged‐
171621                 ifs  hostonlyifs  natnets  dhcpservers  hostinfo   hostcpuids
171622                 hddbackends hdds dvds floppies usbhost usbfilters systemprop‐
171623                 erties extpacks groups webcams screenshotformats
171624
171625              CLI Example:
171626
171627                 salt 'hypervisor' vboxmanage.items <item>
171628                 salt 'hypervisor' vboxmanage.items <item> details=True
171629                 salt 'hypervisor' vboxmanage.items <item> details=True group_by=Name
171630
171631              Some items do not display well, or at all, unless details is set
171632              to  True.  By  default, items are grouped by the UUID field, but
171633              not all items contain that field. In those cases, another  field
171634              must be specified.
171635
171636       salt.modules.vboxmanage.list_nodes()
171637              Return a list of registered VMs
171638
171639              CLI Example:
171640
171641                 salt '*' vboxmanage.list_nodes
171642
171643       salt.modules.vboxmanage.list_nodes_full()
171644              Return a list of registered VMs, with detailed information
171645
171646              CLI Example:
171647
171648                 salt '*' vboxmanage.list_nodes_full
171649
171650       salt.modules.vboxmanage.list_nodes_min()
171651              Return a list of registered VMs, with minimal information
171652
171653              CLI Example:
171654
171655                 salt '*' vboxmanage.list_nodes_min
171656
171657       salt.modules.vboxmanage.list_ostypes()
171658              List the available OS Types
171659
171660              CLI Example:
171661
171662                 salt '*' vboxmanage.list_ostypes
171663
171664       salt.modules.vboxmanage.register(filename)
171665              Register a VM
171666
171667              CLI Example:
171668
171669                 salt '*' vboxmanage.register my_vm_filename
171670
171671       salt.modules.vboxmanage.start(name)
171672              Start a VM
171673
171674              CLI Example:
171675
171676                 salt '*' vboxmanage.start my_vm
171677
171678       salt.modules.vboxmanage.stop(name)
171679              Stop a VM
171680
171681              CLI Example:
171682
171683                 salt '*' vboxmanage.stop my_vm
171684
171685       salt.modules.vboxmanage.unregister(name, delete=False)
171686              Unregister a VM
171687
171688              CLI Example:
171689
171690                 salt '*' vboxmanage.unregister my_vm_filename
171691
171692       salt.modules.vboxmanage.vboxcmd()
171693              Return the location of the VBoxManage command
171694
171695              CLI Example:
171696
171697                 salt '*' vboxmanage.vboxcmd
171698
171699   salt.modules.victorops
171700       Support for VictorOps
171701
171702       New in version 2015.8.0.
171703
171704
171705       Requires an api_key in /etc/salt/minion:
171706
171707       salt.modules.victorops.create_event(message_type=None,            rout‐
171708       ing_key=u'everybody', **kwargs)
171709              Create an event in VictorOps. Designed for use in states.
171710
171711              The following parameters are required:
171712
171713              Parameters
171714                     message_type -- One of the following values: INFO,  WARN‐
171715                     ING, ACKNOWLEDGEMENT, CRITICAL, RECOVERY.
171716
171717              The following parameters are optional:
171718
171719              Parameters
171720
171721                     · routing_key  --  The  key  for where messages should be
171722                       routed. By default, sent to 'everyone' route.
171723
171724                     · entity_id -- The name of alerting entity. If  not  pro‐
171725                       vided, a random name will be assigned.
171726
171727                     · timestamp  --  Timestamp  of the alert in seconds since
171728                       epoch. Defaults to the time the alert  is  received  at
171729                       VictorOps.
171730
171731              :param  timestamp_fmt             The  date format for the time‐
171732              stamp parameter.
171733
171734              Parameters
171735
171736                     · state_start_time -- The time this  entity  entered  its
171737                       current  state  (seconds  since epoch). Defaults to the
171738                       time alert is received.
171739
171740                     · state_start_time_fmt -- The date format for  the  time‐
171741                       stamp parameter.
171742
171743                     · state_message -- Any additional status information from
171744                       the alert item.
171745
171746                     · entity_is_host -- Used within VictorOps to  select  the
171747                       appropriate display format for the incident.
171748
171749                     · entity_display_name -- Used within VictorOps to display
171750                       a human-readable name for the entity.
171751
171752                     · ack_message -- A user entered comment for the  acknowl‐
171753                       edgment.
171754
171755                     · ack_author -- The user that acknowledged the incident.
171756
171757              Returns
171758                     A  dictionary  with  result,  entity_id,  and  message if
171759                     result was failure.
171760
171761              CLI Example:
171762
171763                 salt myminion victorops.create_event message_type='CRITICAL' routing_key='everyone'                  entity_id='hostname/diskspace'
171764
171765                 salt myminion victorops.create_event message_type='ACKNOWLEDGEMENT' routing_key='everyone'                  entity_id='hostname/diskspace' ack_message='Acknowledged' ack_author='username'
171766
171767                 salt myminion victorops.create_event message_type='RECOVERY' routing_key='everyone'                  entity_id='hostname/diskspace'
171768
171769              The following parameters are required:
171770                     message_type
171771
171772   salt.modules.virt
171773       Work with virtual machines managed by libvirt
171774
171775       depends
171776              libvirt Python module
171777
171778   Connection
171779       The connection to the virtualization host can be either  setup  in  the
171780       minion  configuration,  pillar  data  or overridden for each individual
171781       call.
171782
171783       By default, the libvirt connection  URL  will  be  guessed:  the  first
171784       available  libvirt hypervisor driver will be used. This can be overrid‐
171785       den like this:
171786
171787          virt:
171788            connection:
171789              uri: lxc:///
171790
171791       If the connection requires an authentication like for ESXi, this can be
171792       defined in the minion pillar data like this:
171793
171794          virt:
171795            connection:
171796              uri: esx://10.1.1.101/?no_verify=1&auto_answer=1
171797              auth:
171798                username: user
171799                password: secret
171800
171801   Connecting with SSH protocol
171802       Libvirt  can  connect  to  remote hosts using SSH using one of the ssh,
171803       libssh and libssh2 transports. Note that libssh2 is likely to  fail  as
171804       it  doesn't read the known_hosts file. Libvirt may also have been built
171805       without libssh or libssh2 support.
171806
171807       To use the SSH transport, on the minion setup an SSH agent with  a  key
171808       authorized on the remote libvirt machine.
171809
171810   Per call connection setup
171811       New in version Fluorine.
171812
171813
171814       All  the  calls  requiring the libvirt connection configuration as men‐
171815       tioned above can override this configuration using connection, username
171816       and password parameters.
171817
171818       This  means  that  the following will list the domains on the local LXC
171819       libvirt driver, whatever the virt:connection is.
171820
171821          salt 'hypervisor' virt.list_domains connection=lxc:///
171822
171823       The calls not using the libvirt connection setup are:
171824
171825       · seed_non_shared_migrate
171826
171827       · virt_type
171828
171829       · is_*hyper
171830
171831       · all migration functions
171832
171833       · libvirt ESX URI format
171834
171835       · libvirt URI format
171836
171837       · libvirt authentication configuration
171838
171839       salt.modules.virt.capabilities(**kwargs)
171840              Return the hypervisor connection capabilities.
171841
171842              Parameters
171843
171844                     · connection  --  libvirt  connection   URI,   overriding
171845                       defaults
171846
171847                     · username   --  username  to  connect  with,  overriding
171848                       defaults
171849
171850                     · password  --  password  to  connect  with,   overriding
171851                       defaults
171852
171853              New in version Fluorine.
171854
171855
171856              CLI Example:
171857
171858                 salt '*' virt.capabilities
171859
171860       salt.modules.virt.cpu_baseline(full=False, migratable=False, out=u'lib‐
171861       virt', **kwargs)
171862              Return the optimal 'custom' CPU baseline config for VM's on this
171863              minion
171864
171865              New in version 2016.3.0.
171866
171867
171868              Parameters
171869
171870                     · full -- Return all CPU features rather than the ones on
171871                       top of the closest CPU model
171872
171873                     · migratable -- Exclude CPU features that  are  unmigrat‐
171874                       able (libvirt 2.13+)
171875
171876                     · out -- 'libvirt' (default) for usable libvirt XML defi‐
171877                       nition, 'salt' for nice dict
171878
171879                     · connection --
171880
171881                       libvirt connection URI, overriding defaults
171882
171883                       New in version Fluorine.
171884
171885
171886
171887                     · username --
171888
171889                       username to connect with, overriding defaults
171890
171891                       New in version Fluorine.
171892
171893
171894
171895                     · password --
171896
171897                       password to connect with, overriding defaults
171898
171899                       New in version Fluorine.
171900
171901
171902
171903              CLI Example:
171904
171905                 salt '*' virt.cpu_baseline
171906
171907       salt.modules.virt.create_xml_path(path, **kwargs)
171908              Start a domain based on the XML-file path passed to the function
171909
171910              Parameters
171911
171912                     · path -- path to a file containing the libvirt XML defi‐
171913                       nition of the domain
171914
171915                     · connection --
171916
171917                       libvirt connection URI, overriding defaults
171918
171919                       New in version Fluorine.
171920
171921
171922
171923                     · username --
171924
171925                       username to connect with, overriding defaults
171926
171927                       New in version Fluorine.
171928
171929
171930
171931                     · password --
171932
171933                       password to connect with, overriding defaults
171934
171935                       New in version Fluorine.
171936
171937
171938
171939              CLI Example:
171940
171941                 salt '*' virt.create_xml_path <path to XML file on the node>
171942
171943       salt.modules.virt.create_xml_str(xml, **kwargs)
171944              Start a domain based on the XML passed to the function
171945
171946              Parameters
171947
171948                     · xml -- libvirt XML definition of the domain
171949
171950                     · connection --
171951
171952                       libvirt connection URI, overriding defaults
171953
171954                       New in version Fluorine.
171955
171956
171957
171958                     · username --
171959
171960                       username to connect with, overriding defaults
171961
171962                       New in version Fluorine.
171963
171964
171965
171966                     · password --
171967
171968                       password to connect with, overriding defaults
171969
171970                       New in version Fluorine.
171971
171972
171973
171974              CLI Example:
171975
171976                 salt '*' virt.create_xml_str <XML in string format>
171977
171978       salt.modules.virt.ctrl_alt_del(vm_, **kwargs)
171979              Sends CTRL+ALT+DEL to a VM
171980
171981              Parameters
171982
171983                     · vm -- domain name
171984
171985                     · connection --
171986
171987                       libvirt connection URI, overriding defaults
171988
171989                       New in version Fluorine.
171990
171991
171992
171993                     · username --
171994
171995                       username to connect with, overriding defaults
171996
171997                       New in version Fluorine.
171998
171999
172000
172001                     · password --
172002
172003                       password to connect with, overriding defaults
172004
172005                       New in version Fluorine.
172006
172007
172008
172009              CLI Example:
172010
172011                 salt '*' virt.ctrl_alt_del <domain>
172012
172013       salt.modules.virt.define_vol_xml_path(path, **kwargs)
172014              Define  a  volume based on the XML-file path passed to the func‐
172015              tion
172016
172017              Parameters
172018
172019                     · path -- path to a file containing the libvirt XML defi‐
172020                       nition of the volume
172021
172022                     · connection --
172023
172024                       libvirt connection URI, overriding defaults
172025
172026                       New in version Fluorine.
172027
172028
172029
172030                     · username --
172031
172032                       username to connect with, overriding defaults
172033
172034                       New in version Fluorine.
172035
172036
172037
172038                     · password --
172039
172040                       password to connect with, overriding defaults
172041
172042                       New in version Fluorine.
172043
172044
172045
172046              CLI Example:
172047
172048                 salt '*' virt.define_vol_xml_path <path to XML file on the node>
172049
172050       salt.modules.virt.define_vol_xml_str(xml, **kwargs)
172051              Define a volume based on the XML passed to the function
172052
172053              Parameters
172054
172055                     · xml -- libvirt XML definition of the storage volume
172056
172057                     · connection --
172058
172059                       libvirt connection URI, overriding defaults
172060
172061                       New in version Fluorine.
172062
172063
172064
172065                     · username --
172066
172067                       username to connect with, overriding defaults
172068
172069                       New in version Fluorine.
172070
172071
172072
172073                     · password --
172074
172075                       password to connect with, overriding defaults
172076
172077                       New in version Fluorine.
172078
172079
172080
172081              CLI Example:
172082
172083                 salt '*' virt.define_vol_xml_str <XML in string format>
172084
172085              The storage pool where the disk image will be defined is default
172086              unless changed with a configuration like this:
172087
172088                 virt:
172089                     storagepool: mine
172090
172091       salt.modules.virt.define_xml_path(path, **kwargs)
172092              Define a domain based on the XML-file path passed to  the  func‐
172093              tion
172094
172095              Parameters
172096
172097                     · path -- path to a file containing the libvirt XML defi‐
172098                       nition of the domain
172099
172100                     · connection --
172101
172102                       libvirt connection URI, overriding defaults
172103
172104                       New in version Fluorine.
172105
172106
172107
172108                     · username --
172109
172110                       username to connect with, overriding defaults
172111
172112                       New in version Fluorine.
172113
172114
172115
172116                     · password --
172117
172118                       password to connect with, overriding defaults
172119
172120                       New in version Fluorine.
172121
172122
172123
172124              CLI Example:
172125
172126                 salt '*' virt.define_xml_path <path to XML file on the node>
172127
172128       salt.modules.virt.define_xml_str(xml, **kwargs)
172129              Define a domain based on the XML passed to the function
172130
172131              Parameters
172132
172133                     · xml -- libvirt XML definition of the domain
172134
172135                     · connection --
172136
172137                       libvirt connection URI, overriding defaults
172138
172139                       New in version Fluorine.
172140
172141
172142
172143                     · username --
172144
172145                       username to connect with, overriding defaults
172146
172147                       New in version Fluorine.
172148
172149
172150
172151                     · password --
172152
172153                       password to connect with, overriding defaults
172154
172155                       New in version Fluorine.
172156
172157
172158
172159              CLI Example:
172160
172161                 salt '*' virt.define_xml_str <XML in string format>
172162
172163       salt.modules.virt.delete_snapshots(name, *names, **kwargs)
172164              Delete one or more snapshots of the given VM.
172165
172166              Parameters
172167
172168                     · name -- domain name
172169
172170                     · names -- names of the snapshots to remove
172171
172172                     · connection --
172173
172174                       libvirt connection URI, overriding defaults
172175
172176                       New in version Fluorine.
172177
172178
172179
172180                     · username --
172181
172182                       username to connect with, overriding defaults
172183
172184                       New in version Fluorine.
172185
172186
172187
172188                     · password --
172189
172190                       password to connect with, overriding defaults
172191
172192                       New in version Fluorine.
172193
172194
172195
172196              New in version 2016.3.0.
172197
172198
172199              CLI Example:
172200
172201                 salt '*' virt.delete_snapshots <domain> all=True
172202                 salt '*' virt.delete_snapshots <domain> <snapshot>
172203                 salt '*' virt.delete_snapshots <domain> <snapshot1> <snapshot2> ...
172204
172205       salt.modules.virt.domain_capabilities(emulator=None,         arch=None,
172206       machine=None, domain=None, **kwargs)
172207              Return  the domain capabilities given an emulator, architecture,
172208              machine or virtualization type.
172209
172210              New in version Fluorine.
172211
172212
172213              Parameters
172214
172215                     · emulator -- return the capabilities for the given  emu‐
172216                       lator binary
172217
172218                     · arch  --  return  the  capabilities  for  the given CPU
172219                       architecture
172220
172221                     · machine -- return the capabilities for the  given  emu‐
172222                       lated machine type
172223
172224                     · domain  -- return the capabilities for the given virtu‐
172225                       alization type.
172226
172227                     · connection  --  libvirt  connection   URI,   overriding
172228                       defaults
172229
172230                     · username   --  username  to  connect  with,  overriding
172231                       defaults
172232
172233                     · password  --  password  to  connect  with,   overriding
172234                       defaults
172235
172236              The  list of the possible emulator, arch, machine and domain can
172237              be found in the host capabilities output.
172238
172239              If none of the parameters is provided the libvirt default domain
172240              capabilities will be returned.
172241
172242              CLI Example:
172243
172244                 salt '*' virt.domain_capabilities arch='x86_64' domain='kvm'
172245
172246       salt.modules.virt.freecpu(**kwargs)
172247              Return  an  int  representing  the number of unallocated cpus on
172248              this hypervisor
172249
172250              Parameters
172251
172252                     · connection --
172253
172254                       libvirt connection URI, overriding defaults
172255
172256                       New in version Fluorine.
172257
172258
172259
172260                     · username --
172261
172262                       username to connect with, overriding defaults
172263
172264                       New in version Fluorine.
172265
172266
172267
172268                     · password --
172269
172270                       password to connect with, overriding defaults
172271
172272                       New in version Fluorine.
172273
172274
172275
172276              CLI Example:
172277
172278                 salt '*' virt.freecpu
172279
172280       salt.modules.virt.freemem(**kwargs)
172281              Return an int representing the amount of memory (in MB) that has
172282              not been given to virtual machines on this node
172283
172284              Parameters
172285
172286                     · connection --
172287
172288                       libvirt connection URI, overriding defaults
172289
172290                       New in version Fluorine.
172291
172292
172293
172294                     · username --
172295
172296                       username to connect with, overriding defaults
172297
172298                       New in version Fluorine.
172299
172300
172301
172302                     · password --
172303
172304                       password to connect with, overriding defaults
172305
172306                       New in version Fluorine.
172307
172308
172309
172310              CLI Example:
172311
172312                 salt '*' virt.freemem
172313
172314       salt.modules.virt.full_info(**kwargs)
172315              Return the node_info, vm_info and freemem
172316
172317              Parameters
172318
172319                     · connection --
172320
172321                       libvirt connection URI, overriding defaults
172322
172323                       New in version Fluorine.
172324
172325
172326
172327                     · username --
172328
172329                       username to connect with, overriding defaults
172330
172331                       New in version Fluorine.
172332
172333
172334
172335                     · password --
172336
172337                       password to connect with, overriding defaults
172338
172339                       New in version Fluorine.
172340
172341
172342
172343              CLI Example:
172344
172345                 salt '*' virt.full_info
172346
172347       salt.modules.virt.get_disks(vm_, **kwargs)
172348              Return the disks of a named vm
172349
172350              Parameters
172351
172352                     · vm -- name of the domain
172353
172354                     · connection --
172355
172356                       libvirt connection URI, overriding defaults
172357
172358                       New in version Fluorine.
172359
172360
172361
172362                     · username --
172363
172364                       username to connect with, overriding defaults
172365
172366                       New in version Fluorine.
172367
172368
172369
172370                     · password --
172371
172372                       password to connect with, overriding defaults
172373
172374                       New in version Fluorine.
172375
172376
172377
172378              CLI Example:
172379
172380                 salt '*' virt.get_disks <domain>
172381
172382       salt.modules.virt.get_graphics(vm_, **kwargs)
172383              Returns the information on vnc for a given vm
172384
172385              Parameters
172386
172387                     · vm -- name of the domain
172388
172389                     · connection --
172390
172391                       libvirt connection URI, overriding defaults
172392
172393                       New in version Fluorine.
172394
172395
172396
172397                     · username --
172398
172399                       username to connect with, overriding defaults
172400
172401                       New in version Fluorine.
172402
172403
172404
172405                     · password --
172406
172407                       password to connect with, overriding defaults
172408
172409                       New in version Fluorine.
172410
172411
172412
172413              CLI Example:
172414
172415                 salt '*' virt.get_graphics <domain>
172416
172417       salt.modules.virt.get_hypervisor()
172418              Returns the name of the hypervisor running on this node or None.
172419
172420              Detected hypervisors:
172421
172422              · kvm
172423
172424              · xen
172425
172426              CLI Example:
172427
172428                 salt '*' virt.get_hypervisor
172429
172430              New in version Fluorine: the function and the kvm and xen hyper‐
172431              visors support
172432
172433
172434       salt.modules.virt.get_macs(vm_, **kwargs)
172435              Return a list off MAC addresses from the named vm
172436
172437              Parameters
172438
172439                     · vm -- name of the domain
172440
172441                     · connection --
172442
172443                       libvirt connection URI, overriding defaults
172444
172445                       New in version Fluorine.
172446
172447
172448
172449                     · username --
172450
172451                       username to connect with, overriding defaults
172452
172453                       New in version Fluorine.
172454
172455
172456
172457                     · password --
172458
172459                       password to connect with, overriding defaults
172460
172461                       New in version Fluorine.
172462
172463
172464
172465              CLI Example:
172466
172467                 salt '*' virt.get_macs <domain>
172468
172469       salt.modules.virt.get_nics(vm_, **kwargs)
172470              Return info about the network interfaces of a named vm
172471
172472              Parameters
172473
172474                     · vm -- name of the domain
172475
172476                     · connection --
172477
172478                       libvirt connection URI, overriding defaults
172479
172480                       New in version Fluorine.
172481
172482
172483
172484                     · username --
172485
172486                       username to connect with, overriding defaults
172487
172488                       New in version Fluorine.
172489
172490
172491
172492                     · password --
172493
172494                       password to connect with, overriding defaults
172495
172496                       New in version Fluorine.
172497
172498
172499
172500              CLI Example:
172501
172502                 salt '*' virt.get_nics <domain>
172503
172504       salt.modules.virt.get_profiles(hypervisor=None, **kwargs)
172505              Return the virt profiles for hypervisor.
172506
172507              Currently there are profiles for:
172508
172509              · nic
172510
172511              · disk
172512
172513              Parameters
172514
172515                     · hypervisor -- override the default machine type.
172516
172517                     · connection --
172518
172519                       libvirt connection URI, overriding defaults
172520
172521                       New in version Fluorine.
172522
172523
172524
172525                     · username --
172526
172527                       username to connect with, overriding defaults
172528
172529                       New in version Fluorine.
172530
172531
172532
172533                     · password --
172534
172535                       password to connect with, overriding defaults
172536
172537                       New in version Fluorine.
172538
172539
172540
172541              CLI Example:
172542
172543                 salt '*' virt.get_profiles
172544                 salt '*' virt.get_profiles hypervisor=esxi
172545
172546       salt.modules.virt.get_xml(vm_, **kwargs)
172547              Returns the XML for a given vm
172548
172549              Parameters
172550
172551                     · vm -- domain name
172552
172553                     · connection --
172554
172555                       libvirt connection URI, overriding defaults
172556
172557                       New in version Fluorine.
172558
172559
172560
172561                     · username --
172562
172563                       username to connect with, overriding defaults
172564
172565                       New in version Fluorine.
172566
172567
172568
172569                     · password --
172570
172571                       password to connect with, overriding defaults
172572
172573                       New in version Fluorine.
172574
172575
172576
172577              CLI Example:
172578
172579                 salt '*' virt.get_xml <domain>
172580
172581       salt.modules.virt.init(name,  cpu,  mem,  image=None,   nic=u'default',
172582       interfaces=None,    hypervisor=None,    start=True,    disk=u'default',
172583       disks=None,  saltenv=u'base',  seed=True,  install=True,  pub_key=None,
172584       priv_key=None,         seed_cmd=u'seed.apply',        enable_vnc=False,
172585       enable_qcow=False, graphics=None, os_type=None, arch=None, **kwargs)
172586              Initialize a new vm
172587
172588              Parameters
172589
172590                     · name -- name of the virtual machine to create
172591
172592                     · cpu -- Number of virtual CPUs to assign to the  virtual
172593                       machine
172594
172595                     · mem  --  Amount  of  memory  to allocate to the virtual
172596                       machine in MiB.
172597
172598                     · image --
172599
172600                       Path to a disk image to use as the first disk (Default:
172601                       None).   Deprecated in favor of the disks parameter. To
172602                       set (or change) the image of a disk, add the  following
172603                       to the disks definitions:
172604
172605                          {
172606                              'name': 'name_of_disk_to_change',
172607                              'image': '/path/to/the/image'
172608                          }
172609
172610
172611                     · nic  --  NIC  profile to use (Default: 'default').  The
172612                       profile interfaces can be customized  /  extended  with
172613                       the  interfaces  parameter.  If set to None, no profile
172614                       will be used.
172615
172616                     · interfaces --
172617
172618                       List of dictionaries providing details on  the  network
172619                       interfaces  to  create.  These data are merged with the
172620                       ones from the nic profile. The structure of  each  dic‐
172621                       tionary  is  documented  in  Network Interfaces Defini‐
172622                       tions.
172623
172624                       New in version Fluorine.
172625
172626
172627
172628                     · hypervisor -- the virtual machine type. By default  the
172629                       value  will  be  computed according to the virtual host
172630                       capabilities.
172631
172632                     · start -- True to start the virtual machine after having
172633                       defined it (Default: True)
172634
172635                     · disk  --  Disk  profile to use (Default: 'default'). If
172636                       set to None, no profile will be used.
172637
172638                     · disks --
172639
172640                       List of dictionaries  providing  details  on  the  disk
172641                       devices to create.  These data are merged with the ones
172642                       from the disk profile. The structure of each dictionary
172643                       is documented in Disks Definitions.
172644
172645                       New in version Fluorine.
172646
172647
172648
172649                     · saltenv  --  Fileserver  environment (Default: 'base').
172650                       See cp module for more details
172651
172652                     · seed -- True to seed the disk image. Only used when the
172653                       image parameter is provided.  (Default: True)
172654
172655                     · install  --  install  salt  minion  if absent (Default:
172656                       True)
172657
172658                     · pub_key -- public key to seed with (Default: None)
172659
172660                     · priv_key -- public key to seed with (Default: None)
172661
172662                     · seed_cmd -- Salt command to execute to seed the  image.
172663                       (Default: 'seed.apply')
172664
172665                     · enable_vnc --
172666
172667                       True to setup a vnc display for the VM (Default: False)
172668
172669                       Deprecated in favor of the graphics parameter. Could be
172670                       replaced with the following:
172671
172672                          graphics={'type': 'vnc'}
172673
172674                       Deprecated since version Fluorine.
172675
172676
172677
172678                     · graphics --
172679
172680                       Dictionary providing details on the graphics device  to
172681                       create.  (Default:  None)  See  Graphics Definition for
172682                       more details on the possible values.
172683
172684                       New in version Fluorine.
172685
172686
172687
172688                     · os_type --
172689
172690                       type of virtualization as found in the  //os/type  ele‐
172691                       ment  of  the libvirt definition.  The default value is
172692                       taken from the host capabilities, with a preference for
172693                       hvm.
172694
172695                       New in version Fluorine.
172696
172697
172698
172699                     · arch --
172700
172701                       architecture  of the virtual machine. The default value
172702                       is taken from the  host  capabilities,  but  x86_64  is
172703                       prefed over i686.
172704
172705                       New in version Fluorine.
172706
172707
172708
172709                     · enable_qcow --
172710
172711                       True to create a QCOW2 overlay image, rather than copy‐
172712                       ing the image (Default: False).
172713
172714                       Deprecated in favor of disks parameter. Add the follow‐
172715                       ing to the disks definitions to create an overlay image
172716                       of a template disk image with an image set:
172717
172718                          {
172719                              'name': 'name_of_disk_to_change',
172720                              'overlay_image': True
172721                          }
172722
172723                       Deprecated since version Fluorine.
172724
172725
172726
172727                     · pool --
172728
172729                       Path of the folder where the image  files  are  located
172730                       for vmware/esx hypervisors.
172731
172732                       Deprecated in favor of disks parameter. Add the follow‐
172733                       ing to the disks definitions to set the  vmware  datas‐
172734                       tore of a disk image:
172735
172736                          {
172737                              'name': 'name_of_disk_to_change',
172738                              'pool': 'mydatastore'
172739                          }
172740
172741                       Deprecated since version Flurorine.
172742
172743
172744
172745                     · dmac --
172746
172747                       Default  MAC address to use for the network interfaces.
172748                       By default MAC addresses are automatically generated.
172749
172750                       Deprecated in favor of interfaces  parameter.  Add  the
172751                       following  to  the  interfaces definitions to force the
172752                       mac address of a NIC:
172753
172754                          {
172755                              'name': 'name_of_nic_to_change',
172756                              'mac': 'MY:MA:CC:ADD:RE:SS'
172757                          }
172758
172759                       Deprecated since version Fluorine.
172760
172761
172762
172763                     · config -- minion configuration  to  use  when  seeding.
172764                       See seed module for more details
172765
172766                     · boot_dev  --  String of space-separated devices to boot
172767                       from (Default: 'hd')
172768
172769                     · serial_type -- Serial device type. One of 'pty',  'tcp'
172770                       (Default: None)
172771
172772                     · telnet_port  -- Telnet port to use for serial device of
172773                       type tcp.
172774
172775                     · console -- True to add  a  console  device  along  with
172776                       serial one (Default: True)
172777
172778                     · connection --
172779
172780                       libvirt connection URI, overriding defaults
172781
172782                       New in version Fluorine.
172783
172784
172785
172786                     · username --
172787
172788                       username to connect with, overriding defaults
172789
172790                       New in version Fluorine.
172791
172792
172793
172794                     · password --
172795
172796                       password to connect with, overriding defaults
172797
172798                       New in version Fluorine.
172799
172800
172801              Network Interfaces Definitions
172802
172803              Network  interfaces dictionaries can contain the following prop‐
172804              erties:
172805
172806              name   Name of the network interface. This is only used as a key
172807                     to merge with the profile data
172808
172809              type   Network type. One of 'bridge', 'network'
172810
172811              source The network source, typically the bridge or network name
172812
172813              mac    The  desired  mac  address,  computed  if  None (Default:
172814                     None).
172815
172816              model  The network card model (Default: depends on the  hypervi‐
172817                     sor)
172818              Disks Definitions
172819
172820              Disk dictionaries can contain the following properties:
172821
172822              name   Name  of the disk. This is mostly used in the name of the
172823                     disk image and as a key to merge with the profile data.
172824
172825              format Format of the disk image, like  'qcow2',  'raw',  'vmdk'.
172826                     (Default: depends on the hypervisor)
172827
172828              size   Disk size in MiB
172829
172830              pool   Path to the folder or name of the pool where disks should
172831                     be created.  (Default: depends on hypervisor)
172832
172833              model  One of the  disk  busses  allowed  by  libvirt  (Default:
172834                     depends on hypervisor)
172835
172836                     See  the  libvirt  disk  element  documentation  for  the
172837                     allowed bus types.
172838
172839              image  Path to the image to use for the disk.  If  no  image  is
172840                     provided, an empty disk will be created (Default: None)
172841
172842              overlay_image
172843                     True  to  create a QCOW2 disk image with image as backing
172844                     file. If False the file pointed to by the image  property
172845                     will simply be copied. (Default: False)
172846
172847              source_file
172848                     Absolute  path  to  the disk image to use. Not to be con‐
172849                     fused with image parameter. This parameter is  useful  to
172850                     use  disk images that are created outside of this module.
172851                     Can also be None for  devices  that  have  no  associated
172852                     image like cdroms.
172853
172854              device Type  of  device  of  the  disk.  Can  be  one of 'disk',
172855                     'cdrom', 'floppy' or 'lun'.  (Default: 'disk')
172856              Graphics Definition
172857
172858              The graphics dictionnary can have the following properties:
172859
172860              type   Graphics type. The possible  values  are  none,  'spice',
172861                     'vnc' and other values allowed as a libvirt graphics type
172862                     (Default: None)
172863
172864                     See the libvirt graphics element documentation  for  more
172865                     details on the possible types.
172866
172867              port   Port  to  export  the  graphics on for vnc, spice and rdp
172868                     types.
172869
172870              tls_port
172871                     Port to export the graphics over a secured connection for
172872                     spice type.
172873
172874              listen Dictionary defining on what address to listen on for vnc,
172875                     spice and rdp.  It has a type property with  address  and
172876                     None  as possible values, and an address property holding
172877                     the IP or hostname to listen on.
172878
172879                     By default, not setting the listen part of the dictionary
172880                     will default to listen on all addresses.
172881              CLI Example.INDENT 7.0
172882
172883          salt 'hypervisor' virt.init vm_name 4 512 salt://path/to/image.raw
172884          salt 'hypervisor' virt.init vm_name 4 512 /var/lib/libvirt/images/img.raw
172885          salt 'hypervisor' virt.init vm_name 4 512 nic=profile disk=profile
172886
172887       The disk images will be created in an image folder within the directory
172888       defined   by   the   virt:images   option.   Its   default   value   is
172889       /srv/salt-images/ but this can changed with such a configuration:
172890
172891                 virt:
172892                     images: /data/my/vm/images/
172893
172894       salt.modules.virt.is_hyper()
172895              Returns  a  bool whether or not this node is a hypervisor of any
172896              kind
172897
172898              CLI Example:
172899
172900                 salt '*' virt.is_hyper
172901
172902       salt.modules.virt.is_kvm_hyper()
172903              Returns a bool whether or not this node is a KVM hypervisor
172904
172905              CLI Example:
172906
172907                 salt '*' virt.is_kvm_hyper
172908
172909              Deprecated since version Fluorine.
172910
172911
172912       salt.modules.virt.is_xen_hyper()
172913              Returns a bool whether or not this node is a XEN hypervisor
172914
172915              CLI Example:
172916
172917                 salt '*' virt.is_xen_hyper
172918
172919              Deprecated since version Fluorine.
172920
172921
172922       salt.modules.virt.list_active_vms(**kwargs)
172923              Return a list of names for active virtual machine on the minion
172924
172925              Parameters
172926
172927                     · connection --
172928
172929                       libvirt connection URI, overriding defaults
172930
172931                       New in version Fluorine.
172932
172933
172934
172935                     · username --
172936
172937                       username to connect with, overriding defaults
172938
172939                       New in version Fluorine.
172940
172941
172942
172943                     · password --
172944
172945                       password to connect with, overriding defaults
172946
172947                       New in version Fluorine.
172948
172949
172950
172951              CLI Example:
172952
172953                 salt '*' virt.list_active_vms
172954
172955       salt.modules.virt.list_domains(**kwargs)
172956              Return a list of available domains.
172957
172958              Parameters
172959
172960                     · connection --
172961
172962                       libvirt connection URI, overriding defaults
172963
172964                       New in version Fluorine.
172965
172966
172967
172968                     · username --
172969
172970                       username to connect with, overriding defaults
172971
172972                       New in version Fluorine.
172973
172974
172975
172976                     · password --
172977
172978                       password to connect with, overriding defaults
172979
172980                       New in version Fluorine.
172981
172982
172983
172984              CLI Example:
172985
172986                 salt '*' virt.list_domains
172987
172988       salt.modules.virt.list_inactive_vms(**kwargs)
172989              Return a list of names for inactive virtual machine on the  min‐
172990              ion
172991
172992              Parameters
172993
172994                     · connection --
172995
172996                       libvirt connection URI, overriding defaults
172997
172998                       New in version Fluorine.
172999
173000
173001
173002                     · username --
173003
173004                       username to connect with, overriding defaults
173005
173006                       New in version Fluorine.
173007
173008
173009
173010                     · password --
173011
173012                       password to connect with, overriding defaults
173013
173014                       New in version Fluorine.
173015
173016
173017
173018              CLI Example:
173019
173020                 salt '*' virt.list_inactive_vms
173021
173022       salt.modules.virt.list_networks(**kwargs)
173023              List all virtual networks.
173024
173025              Parameters
173026
173027                     · connection   --   libvirt  connection  URI,  overriding
173028                       defaults
173029
173030                     · username  --  username  to  connect  with,   overriding
173031                       defaults
173032
173033                     · password   --  password  to  connect  with,  overriding
173034                       defaults
173035
173036              New in version Fluorine.
173037
173038
173039              CLI Example:
173040
173041                 salt '*' virt.list_networks
173042
173043       salt.modules.virt.list_pools(**kwargs)
173044              List all storage pools.
173045
173046              Parameters
173047
173048                     · connection  --  libvirt  connection   URI,   overriding
173049                       defaults
173050
173051                     · username   --  username  to  connect  with,  overriding
173052                       defaults
173053
173054                     · password  --  password  to  connect  with,   overriding
173055                       defaults
173056
173057              New in version Fluorine.
173058
173059
173060              CLI Example:
173061
173062                 salt '*' virt.list_pools
173063
173064       salt.modules.virt.list_snapshots(domain=None, **kwargs)
173065              List available snapshots for certain vm or for all.
173066
173067              Parameters
173068
173069                     · domain -- domain name
173070
173071                     · connection --
173072
173073                       libvirt connection URI, overriding defaults
173074
173075                       New in version Fluorine.
173076
173077
173078
173079                     · username --
173080
173081                       username to connect with, overriding defaults
173082
173083                       New in version Fluorine.
173084
173085
173086
173087                     · password --
173088
173089                       password to connect with, overriding defaults
173090
173091                       New in version Fluorine.
173092
173093
173094
173095              New in version 2016.3.0.
173096
173097
173098              CLI Example:
173099
173100                 salt '*' virt.list_snapshots
173101                 salt '*' virt.list_snapshots <domain>
173102
173103       salt.modules.virt.migrate(vm_, target, ssh=False)
173104              Shared storage migration
173105
173106              Parameters
173107
173108                     · vm -- domain name
173109
173110                     · target -- target libvirt host name
173111
173112                     · ssh -- True to connect over ssh
173113
173114              CLI Example:
173115
173116                 salt '*' virt.migrate <domain> <target hypervisor>
173117
173118              A  tunnel data migration can be performed by setting this in the
173119              configuration:
173120
173121                 virt:
173122                     tunnel: True
173123
173124              For  more  details  on  tunnelled  data  migrations,  report  to
173125              https://libvirt.org/migration.html#transporttunnel
173126
173127       salt.modules.virt.migrate_non_shared(vm_, target, ssh=False)
173128              Attempt to execute non-shared storage "all" migration
173129
173130              Parameters
173131
173132                     · vm -- domain name
173133
173134                     · target -- target libvirt host name
173135
173136                     · ssh -- True to connect over ssh
173137
173138              CLI Example:
173139
173140                 salt '*' virt.migrate_non_shared <vm name> <target hypervisor>
173141
173142              A  tunnel data migration can be performed by setting this in the
173143              configuration:
173144
173145                 virt:
173146                     tunnel: True
173147
173148              For  more  details  on  tunnelled  data  migrations,  report  to
173149              https://libvirt.org/migration.html#transporttunnel
173150
173151       salt.modules.virt.migrate_non_shared_inc(vm_, target, ssh=False)
173152              Attempt to execute non-shared storage "all" migration
173153
173154              Parameters
173155
173156                     · vm -- domain name
173157
173158                     · target -- target libvirt host name
173159
173160                     · ssh -- True to connect over ssh
173161
173162              CLI Example:
173163
173164                 salt '*' virt.migrate_non_shared_inc <vm name> <target hypervisor>
173165
173166              A  tunnel data migration can be performed by setting this in the
173167              configuration:
173168
173169                 virt:
173170                     tunnel: True
173171
173172              For  more  details  on  tunnelled  data  migrations,  report  to
173173              https://libvirt.org/migration.html#transporttunnel
173174
173175       salt.modules.virt.network_define(name, bridge, forward, **kwargs)
173176              Create libvirt network.
173177
173178              Parameters
173179
173180                     · name -- Network name
173181
173182                     · bridge -- Bridge name
173183
173184                     · forward -- Forward mode(bridge, router, nat)
173185
173186                     · vport -- Virtualport type
173187
173188                     · tag -- Vlan tag
173189
173190                     · autostart -- Network autostart (default True)
173191
173192                     · start -- Network start (default True)
173193
173194                     · connection   --   libvirt  connection  URI,  overriding
173195                       defaults
173196
173197                     · username  --  username  to  connect  with,   overriding
173198                       defaults
173199
173200                     · password   --  password  to  connect  with,  overriding
173201                       defaults
173202
173203              CLI Example:
173204
173205                 salt '*' virt.network_define network main bridge openvswitch
173206
173207              New in version Fluorine.
173208
173209
173210       salt.modules.virt.network_info(name=None, **kwargs)
173211              Return informations on a virtual network provided its name.
173212
173213              Parameters
173214
173215                     · name -- virtual network name
173216
173217                     · connection  --  libvirt  connection   URI,   overriding
173218                       defaults
173219
173220                     · username   --  username  to  connect  with,  overriding
173221                       defaults
173222
173223                     · password  --  password  to  connect  with,   overriding
173224                       defaults
173225
173226              If no name is provided, return the infos for all defined virtual
173227              networks.
173228
173229              New in version Fluorine.
173230
173231
173232              CLI Example:
173233
173234                 salt '*' virt.network_info default
173235
173236       salt.modules.virt.network_set_autostart(name, state=u'on', **kwargs)
173237              Set the autostart flag on a virtual network so that the  network
173238              will start with the host system on reboot.
173239
173240              Parameters
173241
173242                     · name -- virtual network name
173243
173244                     · state  -- 'on' to auto start the network, anything else
173245                       to mark the virtual network not to be started when  the
173246                       host boots
173247
173248                     · connection   --   libvirt  connection  URI,  overriding
173249                       defaults
173250
173251                     · username  --  username  to  connect  with,   overriding
173252                       defaults
173253
173254                     · password   --  password  to  connect  with,  overriding
173255                       defaults
173256
173257              New in version Fluorine.
173258
173259
173260              CLI Example:
173261
173262                 salt "*" virt.network_set_autostart <pool> <on | off>
173263
173264       salt.modules.virt.network_start(name, **kwargs)
173265              Start a defined virtual network.
173266
173267              Parameters
173268
173269                     · name -- virtual network name
173270
173271                     · connection  --  libvirt  connection   URI,   overriding
173272                       defaults
173273
173274                     · username   --  username  to  connect  with,  overriding
173275                       defaults
173276
173277                     · password  --  password  to  connect  with,   overriding
173278                       defaults
173279
173280              New in version Fluorine.
173281
173282
173283              CLI Example:
173284
173285                 salt '*' virt.network_start default
173286
173287       salt.modules.virt.network_stop(name, **kwargs)
173288              Stop a defined virtual network.
173289
173290              Parameters
173291
173292                     · name -- virtual network name
173293
173294                     · connection   --   libvirt  connection  URI,  overriding
173295                       defaults
173296
173297                     · username  --  username  to  connect  with,   overriding
173298                       defaults
173299
173300                     · password   --  password  to  connect  with,  overriding
173301                       defaults
173302
173303              New in version Fluorine.
173304
173305
173306              CLI Example:
173307
173308                 salt '*' virt.network_stop default
173309
173310       salt.modules.virt.network_undefine(name, **kwargs)
173311              Remove a defined virtual network. This does not stop the virtual
173312              network.
173313
173314              Parameters
173315
173316                     · name -- virtual network name
173317
173318                     · connection   --   libvirt  connection  URI,  overriding
173319                       defaults
173320
173321                     · username  --  username  to  connect  with,   overriding
173322                       defaults
173323
173324                     · password   --  password  to  connect  with,  overriding
173325                       defaults
173326
173327              New in version Fluorine.
173328
173329
173330              CLI Example:
173331
173332                 salt '*' virt.network_undefine default
173333
173334       salt.modules.virt.node_info(**kwargs)
173335              Return a dict with information about this node
173336
173337              Parameters
173338
173339                     · connection --
173340
173341                       libvirt connection URI, overriding defaults
173342
173343                       New in version Fluorine.
173344
173345
173346
173347                     · username --
173348
173349                       username to connect with, overriding defaults
173350
173351                       New in version Fluorine.
173352
173353
173354
173355                     · password --
173356
173357                       password to connect with, overriding defaults
173358
173359                       New in version Fluorine.
173360
173361
173362
173363              CLI Example:
173364
173365                 salt '*' virt.node_info
173366
173367       salt.modules.virt.pause(vm_, **kwargs)
173368              Pause the named vm
173369
173370              Parameters
173371
173372                     · vm -- domain name
173373
173374                     · connection --
173375
173376                       libvirt connection URI, overriding defaults
173377
173378                       New in version Fluorine.
173379
173380
173381
173382                     · username --
173383
173384                       username to connect with, overriding defaults
173385
173386                       New in version Fluorine.
173387
173388
173389
173390                     · password --
173391
173392                       password to connect with, overriding defaults
173393
173394                       New in version Fluorine.
173395
173396
173397
173398              CLI Example:
173399
173400                 salt '*' virt.pause <domain>
173401
173402       salt.modules.virt.pool_build(name, **kwargs)
173403              Build a defined libvirt storage pool.
173404
173405              Parameters
173406
173407                     · name -- libvirt storage pool name
173408
173409                     · connection  --  libvirt  connection   URI,   overriding
173410                       defaults
173411
173412                     · username   --  username  to  connect  with,  overriding
173413                       defaults
173414
173415                     · password  --  password  to  connect  with,   overriding
173416                       defaults
173417
173418              New in version Fluorine.
173419
173420
173421              CLI Example:
173422
173423                 salt '*' virt.pool_build default
173424
173425       salt.modules.virt.pool_define(name,    ptype,    target=None,   permis‐
173426       sions=None, source_devices=None, source_dir=None,  source_adapter=None,
173427       source_hosts=None,   source_auth=None,   source_name=None,  source_for‐
173428       mat=None, transient=False, start=True, **kwargs)
173429              Create libvirt pool.
173430
173431              Parameters
173432
173433                     · name -- Pool name
173434
173435                     · ptype -- Pool type. See libvirt documentation  for  the
173436                       possible values.
173437
173438                     · target -- Pool full path target
173439
173440                     · permissions -- Permissions to set on the target folder.
173441                       This is mostly used for  filesystem-based  pool  types.
173442                       See  Permissions  definition  for  more details on this
173443                       structure.
173444
173445                     · source_devices --
173446
173447                       List of source devices for  pools  backed  by  physical
173448                       devices. (Default: None)
173449
173450                       Each  item  in  the  list is a dictionary with path and
173451                       optionally part_separator keys. The path is the  quali‐
173452                       fied name for iSCSI devices.
173453
173454                       Report  to  this  libvirt page for more informations on
173455                       the use of part_separator
173456
173457
173458                     · source_dir -- Path to the source directory for pools of
173459                       type dir, netfs or gluster.  (Default: None)
173460
173461                     · source_adapter --
173462
173463                       SCSI  source definition. The value is a dictionary with
173464                       type, name, parent, managed, parent_wwnn,  parent_wwpn,
173465                       parent_fabric_wwn, wwnn, wwpn and parent_address keys.
173466
173467                       The parent_address value is a dictionary with unique_id
173468                       and address keys.  The address represents a PCI address
173469                       and  is  itself a dictionary with domain, bus, slot and
173470                       function properties.  Report to this libvirt  page  for
173471                       the meaning and possible values of these properties.
173472
173473
173474                     · source_hosts  --  List  of  source  for pools backed by
173475                       storage from remote servers. Each item is the  hostname
173476                       optionally  followed  by the port separated by a colon.
173477                       (Default: None)
173478
173479                     · source_auth --
173480
173481                       Source authentication details. (Default: None)
173482
173483                       The value is  a  dictionary  with  type,  username  and
173484                       secret  keys.  The type can be one of ceph for Ceph RBD
173485                       or chap for iSCSI sources.
173486
173487                       The secret value links to a libvirt secret  object.  It
173488                       is  a  dictionary  with  type  and value keys. The type
173489                       value can be either uuid or usage.
173490
173491                       Examples:
173492
173493                          source_auth={
173494                              'type': 'ceph',
173495                              'username': 'admin',
173496                              'secret': {
173497                                  'type': 'uuid',
173498                                  'uuid': '2ec115d7-3a88-3ceb-bc12-0ac909a6fd87'
173499                              }
173500                          }
173501
173502                          source_auth={
173503                              'type': 'chap',
173504                              'username': 'myname',
173505                              'secret': {
173506                                  'type': 'usage',
173507                                  'uuid': 'mycluster_myname'
173508                              }
173509                          }
173510
173511
173512                     · source_name -- Identifier of name-based sources.
173513
173514                     · source_format --
173515
173516                       String representing the  source  format.  The  possible
173517                       values  are  depending  on the source type. See libvirt
173518                       documentation for the possible values.
173519
173520
173521                     · start -- Pool start (default True)
173522
173523                     · transient -- When True, the pool will be  automatically
173524                       undefined  after  being stopped.  Note that a transient
173525                       pool will force start to True. (Default: False)
173526
173527                     · connection  --  libvirt  connection   URI,   overriding
173528                       defaults
173529
173530                     · username   --  username  to  connect  with,  overriding
173531                       defaults
173532
173533                     · password  --  password  to  connect  with,   overriding
173534                       defaults
173535              Permissions definition
173536
173537              The  permissions  are  described  by a dictionary containing the
173538              following keys:
173539
173540              mode   The octal representation of  the  permissions.  (Default:
173541                     0711)
173542
173543              owner  the numeric user ID of the owner. (Default: from the par‐
173544                     ent folder)
173545
173546              group  the numeric ID of the group. (Default:  from  the  parent
173547                     folder)
173548
173549              label  the SELinux label. (Default: None)
173550              CLI Example:
173551
173552              Local folder pool:
173553
173554                 salt '*' virt.pool_define somepool dir target=/srv/mypool                                   permissions="{'mode': '0744' 'ower': 107, 'group': 107 }"
173555
173556              CIFS backed pool:
173557
173558                 salt '*' virt.pool_define myshare netfs source_format=cifs                                   source_dir=samba_share source_hosts="['example.com']" target=/mnt/cifs
173559
173560              New in version Fluorine.
173561
173562
173563       salt.modules.virt.pool_delete(name, fast=True, **kwargs)
173564              Delete the resources of a defined libvirt storage pool.
173565
173566              Parameters
173567
173568                     · name -- libvirt storage pool name
173569
173570                     · fast  --  if  set  to  False,  zeroes out all the data.
173571                       Default value is True.
173572
173573                     · connection  --  libvirt  connection   URI,   overriding
173574                       defaults
173575
173576                     · username   --  username  to  connect  with,  overriding
173577                       defaults
173578
173579                     · password  --  password  to  connect  with,   overriding
173580                       defaults
173581
173582              New in version Fluorine.
173583
173584
173585              CLI Example:
173586
173587                 salt '*' virt.pool_delete default
173588
173589       salt.modules.virt.pool_info(name=None, **kwargs)
173590              Return informations on a storage pool provided its name.
173591
173592              Parameters
173593
173594                     · name -- libvirt storage pool name
173595
173596                     · connection   --   libvirt  connection  URI,  overriding
173597                       defaults
173598
173599                     · username  --  username  to  connect  with,   overriding
173600                       defaults
173601
173602                     · password   --  password  to  connect  with,  overriding
173603                       defaults
173604
173605              If no name is provided, return the infos for all defined storage
173606              pools.
173607
173608              New in version Fluorine.
173609
173610
173611              CLI Example:
173612
173613                 salt '*' virt.pool_info default
173614
173615       salt.modules.virt.pool_list_volumes(name, **kwargs)
173616              List the volumes contained in a defined libvirt storage pool.
173617
173618              Parameters
173619
173620                     · name -- libvirt storage pool name
173621
173622                     · connection   --   libvirt  connection  URI,  overriding
173623                       defaults
173624
173625                     · username  --  username  to  connect  with,   overriding
173626                       defaults
173627
173628                     · password   --  password  to  connect  with,  overriding
173629                       defaults
173630
173631              New in version Fluorine.
173632
173633
173634              CLI Example:
173635
173636                 salt "*" virt.pool_list_volumes <pool>
173637
173638       salt.modules.virt.pool_refresh(name, **kwargs)
173639              Refresh a defined libvirt storage pool.
173640
173641              Parameters
173642
173643                     · name -- libvirt storage pool name
173644
173645                     · connection  --  libvirt  connection   URI,   overriding
173646                       defaults
173647
173648                     · username   --  username  to  connect  with,  overriding
173649                       defaults
173650
173651                     · password  --  password  to  connect  with,   overriding
173652                       defaults
173653
173654              New in version Fluorine.
173655
173656
173657              CLI Example:
173658
173659                 salt '*' virt.pool_refresh default
173660
173661       salt.modules.virt.pool_set_autostart(name, state=u'on', **kwargs)
173662              Set  the  autostart  flag  on a libvirt storage pool so that the
173663              storage pool will start with the host system on reboot.
173664
173665              Parameters
173666
173667                     · name -- libvirt storage pool name
173668
173669                     · state -- 'on' to auto start the pool, anything else  to
173670                       mark the pool not to be started when the host boots
173671
173672                     · connection   --   libvirt  connection  URI,  overriding
173673                       defaults
173674
173675                     · username  --  username  to  connect  with,   overriding
173676                       defaults
173677
173678                     · password   --  password  to  connect  with,  overriding
173679                       defaults
173680
173681              New in version Fluorine.
173682
173683
173684              CLI Example:
173685
173686                 salt "*" virt.pool_set_autostart <pool> <on | off>
173687
173688       salt.modules.virt.pool_start(name, **kwargs)
173689              Start a defined libvirt storage pool.
173690
173691              Parameters
173692
173693                     · name -- libvirt storage pool name
173694
173695                     · connection  --  libvirt  connection   URI,   overriding
173696                       defaults
173697
173698                     · username   --  username  to  connect  with,  overriding
173699                       defaults
173700
173701                     · password  --  password  to  connect  with,   overriding
173702                       defaults
173703
173704              New in version Fluorine.
173705
173706
173707              CLI Example:
173708
173709                 salt '*' virt.pool_start default
173710
173711       salt.modules.virt.pool_stop(name, **kwargs)
173712              Stop a defined libvirt storage pool.
173713
173714              Parameters
173715
173716                     · name -- libvirt storage pool name
173717
173718                     · connection   --   libvirt  connection  URI,  overriding
173719                       defaults
173720
173721                     · username  --  username  to  connect  with,   overriding
173722                       defaults
173723
173724                     · password   --  password  to  connect  with,  overriding
173725                       defaults
173726
173727              New in version Fluorine.
173728
173729
173730              CLI Example:
173731
173732                 salt '*' virt.pool_stop default
173733
173734       salt.modules.virt.pool_undefine(name, **kwargs)
173735              Remove a defined libvirt storage pool.  The  pool  needs  to  be
173736              stopped before calling.
173737
173738              Parameters
173739
173740                     · name -- libvirt storage pool name
173741
173742                     · connection   --   libvirt  connection  URI,  overriding
173743                       defaults
173744
173745                     · username  --  username  to  connect  with,   overriding
173746                       defaults
173747
173748                     · password   --  password  to  connect  with,  overriding
173749                       defaults
173750
173751              New in version Fluorine.
173752
173753
173754              CLI Example:
173755
173756                 salt '*' virt.pool_undefine default
173757
173758       salt.modules.virt.purge(vm_, dirs=False, removables=None, **kwargs)
173759              Recursively destroy and delete a virtual machine, pass True  for
173760              dir's  to  also  delete  the  directories containing the virtual
173761              machine disk images - USE WITH EXTREME CAUTION!
173762
173763              Pass removables=False to avoid deleting cdrom and floppy images.
173764              To  avoid  disruption,  the default but dangerous value is True.
173765              This will be changed to the safer False default value in Sodium.
173766
173767              Parameters
173768
173769                     · vm -- domain name
173770
173771                     · dirs -- pass True to remove containing directories
173772
173773                     · removables --
173774
173775                       pass True to remove removable devices
173776
173777                       New in version Fluorine.
173778
173779
173780
173781                     · connection --
173782
173783                       libvirt connection URI, overriding defaults
173784
173785                       New in version Fluorine.
173786
173787
173788
173789                     · username --
173790
173791                       username to connect with, overriding defaults
173792
173793                       New in version Fluorine.
173794
173795
173796
173797                     · password --
173798
173799                       password to connect with, overriding defaults
173800
173801                       New in version Fluorine.
173802
173803
173804
173805              CLI Example:
173806
173807                 salt '*' virt.purge <domain> removables=False
173808
173809       salt.modules.virt.reboot(name, **kwargs)
173810              Reboot a domain via ACPI request
173811
173812              Parameters
173813
173814                     · vm -- domain name
173815
173816                     · connection --
173817
173818                       libvirt connection URI, overriding defaults
173819
173820                       New in version Fluorine.
173821
173822
173823
173824                     · username --
173825
173826                       username to connect with, overriding defaults
173827
173828                       New in version Fluorine.
173829
173830
173831
173832                     · password --
173833
173834                       password to connect with, overriding defaults
173835
173836                       New in version Fluorine.
173837
173838
173839
173840              CLI Example:
173841
173842                 salt '*' virt.reboot <domain>
173843
173844       salt.modules.virt.reset(vm_, **kwargs)
173845              Reset a VM by emulating the reset button on a physical machine
173846
173847              Parameters
173848
173849                     · vm -- domain name
173850
173851                     · connection --
173852
173853                       libvirt connection URI, overriding defaults
173854
173855                       New in version Fluorine.
173856
173857
173858
173859                     · username --
173860
173861                       username to connect with, overriding defaults
173862
173863                       New in version Fluorine.
173864
173865
173866
173867                     · password --
173868
173869                       password to connect with, overriding defaults
173870
173871                       New in version Fluorine.
173872
173873
173874
173875              CLI Example:
173876
173877                 salt '*' virt.reset <domain>
173878
173879       salt.modules.virt.resume(vm_, **kwargs)
173880              Resume the named vm
173881
173882              Parameters
173883
173884                     · vm -- domain name
173885
173886                     · connection --
173887
173888                       libvirt connection URI, overriding defaults
173889
173890                       New in version Fluorine.
173891
173892
173893
173894                     · username --
173895
173896                       username to connect with, overriding defaults
173897
173898                       New in version Fluorine.
173899
173900
173901
173902                     · password --
173903
173904                       password to connect with, overriding defaults
173905
173906                       New in version Fluorine.
173907
173908
173909
173910              CLI Example:
173911
173912                 salt '*' virt.resume <domain>
173913
173914       salt.modules.virt.revert_snapshot(name,               vm_snapshot=None,
173915       cleanup=False, **kwargs)
173916              Revert  snapshot  to the previous from current (if available) or
173917              to the specific.
173918
173919              Parameters
173920
173921                     · name -- domain name
173922
173923                     · vm_snapshot -- name of the snapshot to revert
173924
173925                     · cleanup -- Remove all newer  than  reverted  snapshots.
173926                       Values: True or False (default False).
173927
173928                     · connection --
173929
173930                       libvirt connection URI, overriding defaults
173931
173932                       New in version Fluorine.
173933
173934
173935
173936                     · username --
173937
173938                       username to connect with, overriding defaults
173939
173940                       New in version Fluorine.
173941
173942
173943
173944                     · password --
173945
173946                       password to connect with, overriding defaults
173947
173948                       New in version Fluorine.
173949
173950
173951
173952              New in version 2016.3.0.
173953
173954
173955              CLI Example:
173956
173957                 salt '*' virt.revert <domain>
173958                 salt '*' virt.revert <domain> <snapshot>
173959
173960       salt.modules.virt.seed_non_shared_migrate(disks, force=False)
173961              Non  shared  migration requires that the disks be present on the
173962              migration destination, pass the disks information via this func‐
173963              tion,  to  the migration destination before executing the migra‐
173964              tion.
173965
173966              Parameters
173967
173968                     · disks  --  the  list  of  disk  data  as  provided   by
173969                       virt.get_disks
173970
173971                     · force  -- skip checking the compatibility of source and
173972                       target disk images if True. (default: False)
173973
173974              CLI Example:
173975
173976                 salt '*' virt.seed_non_shared_migrate <disks>
173977
173978       salt.modules.virt.set_autostart(vm_, state=u'on', **kwargs)
173979              Set the autostart flag on a VM so that the VM  will  start  with
173980              the host system on reboot.
173981
173982              Parameters
173983
173984                     · vm -- domain name
173985
173986                     · state  -- 'on' to auto start the pool, anything else to
173987                       mark the pool not to be started when the host boots
173988
173989                     · connection --
173990
173991                       libvirt connection URI, overriding defaults
173992
173993                       New in version Fluorine.
173994
173995
173996
173997                     · username --
173998
173999                       username to connect with, overriding defaults
174000
174001                       New in version Fluorine.
174002
174003
174004
174005                     · password --
174006
174007                       password to connect with, overriding defaults
174008
174009                       New in version Fluorine.
174010
174011
174012
174013              CLI Example:
174014
174015                 salt "*" virt.set_autostart <domain> <on | off>
174016
174017       salt.modules.virt.setmem(vm_, memory, config=False, **kwargs)
174018              Changes the amount of memory allocated to VM.  The  VM  must  be
174019              shutdown for this to work.
174020
174021              Parameters
174022
174023                     · vm -- name of the domain
174024
174025                     · memory -- memory amount to set in MB
174026
174027                     · config  -- if True then libvirt will be asked to modify
174028                       the config as well
174029
174030                     · connection --
174031
174032                       libvirt connection URI, overriding defaults
174033
174034                       New in version Fluorine.
174035
174036
174037
174038                     · username --
174039
174040                       username to connect with, overriding defaults
174041
174042                       New in version Fluorine.
174043
174044
174045
174046                     · password --
174047
174048                       password to connect with, overriding defaults
174049
174050                       New in version Fluorine.
174051
174052
174053
174054              CLI Example:
174055
174056                 salt '*' virt.setmem <domain> <size>
174057                 salt '*' virt.setmem my_domain 768
174058
174059       salt.modules.virt.setvcpus(vm_, vcpus, config=False, **kwargs)
174060              Changes the amount of vcpus allocated to  VM.  The  VM  must  be
174061              shutdown for this to work.
174062
174063              If  config  is  True then we ask libvirt to modify the config as
174064              well
174065
174066              Parameters
174067
174068                     · vm -- name of the domain
174069
174070                     · vcpus -- integer representing the number of CPUs to  be
174071                       assigned
174072
174073                     · config  -- if True then libvirt will be asked to modify
174074                       the config as well
174075
174076                     · connection --
174077
174078                       libvirt connection URI, overriding defaults
174079
174080                       New in version Fluorine.
174081
174082
174083
174084                     · username --
174085
174086                       username to connect with, overriding defaults
174087
174088                       New in version Fluorine.
174089
174090
174091
174092                     · password --
174093
174094                       password to connect with, overriding defaults
174095
174096                       New in version Fluorine.
174097
174098
174099
174100              CLI Example:
174101
174102                 salt '*' virt.setvcpus <domain> <amount>
174103                 salt '*' virt.setvcpus my_domain 4
174104
174105       salt.modules.virt.shutdown(vm_, **kwargs)
174106              Send a soft shutdown signal to the named vm
174107
174108              Parameters
174109
174110                     · vm -- domain name
174111
174112                     · connection --
174113
174114                       libvirt connection URI, overriding defaults
174115
174116                       New in version Fluorine.
174117
174118
174119
174120                     · username --
174121
174122                       username to connect with, overriding defaults
174123
174124                       New in version Fluorine.
174125
174126
174127
174128                     · password --
174129
174130                       password to connect with, overriding defaults
174131
174132                       New in version Fluorine.
174133
174134
174135
174136              CLI Example:
174137
174138                 salt '*' virt.shutdown <domain>
174139
174140       salt.modules.virt.snapshot(domain, name=None, suffix=None, **kwargs)
174141              Create a snapshot of a VM.
174142
174143              Parameters
174144
174145                     · domain -- domain name
174146
174147                     · name -- Name of the snapshot. If the name  is  omitted,
174148                       then  will  be  used original domain name with ISO 8601
174149                       time as a suffix.
174150
174151                     · suffix -- Add  suffix  for  the  new  name.  Useful  in
174152                       states,  where such snapshots can be distinguished from
174153                       manually created.
174154
174155                     · connection --
174156
174157                       libvirt connection URI, overriding defaults
174158
174159                       New in version Fluorine.
174160
174161
174162
174163                     · username --
174164
174165                       username to connect with, overriding defaults
174166
174167                       New in version Fluorine.
174168
174169
174170
174171                     · password --
174172
174173                       password to connect with, overriding defaults
174174
174175                       New in version Fluorine.
174176
174177
174178
174179              New in version 2016.3.0.
174180
174181
174182              CLI Example:
174183
174184                 salt '*' virt.snapshot <domain>
174185
174186       salt.modules.virt.start(name, **kwargs)
174187              Start a defined domain
174188
174189              Parameters
174190
174191                     · vm -- domain name
174192
174193                     · connection --
174194
174195                       libvirt connection URI, overriding defaults
174196
174197                       New in version Fluorine.
174198
174199
174200
174201                     · username --
174202
174203                       username to connect with, overriding defaults
174204
174205                       New in version Fluorine.
174206
174207
174208
174209                     · password --
174210
174211                       password to connect with, overriding defaults
174212
174213                       New in version Fluorine.
174214
174215
174216
174217              CLI Example:
174218
174219                 salt '*' virt.start <domain>
174220
174221       salt.modules.virt.stop(name, **kwargs)
174222              Hard power down the  virtual  machine,  this  is  equivalent  to
174223              pulling the power.
174224
174225              Parameters
174226
174227                     · vm -- domain name
174228
174229                     · connection --
174230
174231                       libvirt connection URI, overriding defaults
174232
174233                       New in version Fluorine.
174234
174235
174236
174237                     · username --
174238
174239                       username to connect with, overriding defaults
174240
174241                       New in version Fluorine.
174242
174243
174244
174245                     · password --
174246
174247                       password to connect with, overriding defaults
174248
174249                       New in version Fluorine.
174250
174251
174252
174253              CLI Example:
174254
174255                 salt '*' virt.stop <domain>
174256
174257       salt.modules.virt.undefine(vm_, **kwargs)
174258              Remove  a  defined  vm,  this does not purge the virtual machine
174259              image, and this only works if the vm is powered down
174260
174261              Parameters
174262
174263                     · vm -- domain name
174264
174265                     · connection --
174266
174267                       libvirt connection URI, overriding defaults
174268
174269                       New in version Fluorine.
174270
174271
174272
174273                     · username --
174274
174275                       username to connect with, overriding defaults
174276
174277                       New in version Fluorine.
174278
174279
174280
174281                     · password --
174282
174283                       password to connect with, overriding defaults
174284
174285                       New in version Fluorine.
174286
174287
174288
174289              CLI Example:
174290
174291                 salt '*' virt.undefine <domain>
174292
174293       salt.modules.virt.update(name,   cpu=0,    mem=0,    disk_profile=None,
174294       disks=None,     nic_profile=None,    interfaces=None,    graphics=None,
174295       live=True, **kwargs)
174296              Update the definition of an existing domain.
174297
174298              Parameters
174299
174300                     · name -- Name of the domain to update
174301
174302                     · cpu -- Number of virtual CPUs to assign to the  virtual
174303                       machine
174304
174305                     · mem  --  Amount  of  memory  to allocate to the virtual
174306                       machine in MiB.
174307
174308                     · disk_profile -- disk profile to use
174309
174310                     · disks -- Disk definitions as documented in  the  init()
174311                       function.   If  neither  the profile nor this parameter
174312                       are defined, the disk devices will not be changed. How‐
174313                       ever to clear disks set this parameter to empty list.
174314
174315                     · nic_profile -- network interfaces profile to use
174316
174317                     · interfaces  --  Network  interface definitions as docu‐
174318                       mented in the init() function.  If neither the  profile
174319                       nor  this  parameter are defined, the interface devices
174320                       will not be changed. However to  clear  network  inter‐
174321                       faces set this parameter to empty list.
174322
174323                     · graphics  --  The new graphics definition as defined in
174324                       Graphics Definition. If not set, the graphics will  not
174325                       be  changed.  To  remove  a  graphics  device, set this
174326                       parameter to {'type': 'none'}.
174327
174328                     · live -- False to avoid trying to live update the  defi‐
174329                       nition.  In  such a case, the new definition is applied
174330                       at the next start of the virtual machine. If True,  not
174331                       all  aspects of the definition can be live updated, but
174332                       as much as possible will be attempted. (Default: True)
174333
174334                     · connection  --  libvirt  connection   URI,   overriding
174335                       defaults
174336
174337                     · username   --  username  to  connect  with,  overriding
174338                       defaults
174339
174340                     · password  --  password  to  connect  with,   overriding
174341                       defaults
174342
174343              Returns
174344                     Returns  a  dictionary  indicating the status of what has
174345                     been done. It is structured in the following way:
174346
174347                        {
174348                          'definition': True,
174349                          'cpu': True,
174350                          'mem': True,
174351                          'disks': {'attached': [list of actually attached disks],
174352                                    'detached': [list of actually detached disks]},
174353                          'nics': {'attached': [list of actually attached nics],
174354                                   'detached': [list of actually detached nics]},
174355                          'errors': ['error messages for failures']
174356                        }
174357
174358
174359              New in version Fluorine.
174360
174361
174362              CLI Example:
174363
174364                 salt '*' virt.update domain cpu=2 mem=1024
174365
174366       salt.modules.virt.virt_type()
174367              Returns the virtual machine type as a string
174368
174369              CLI Example:
174370
174371                 salt '*' virt.virt_type
174372
174373       salt.modules.virt.vm_cputime(vm_=None, **kwargs)
174374              Return cputime used by the vms on this hyper in a list of dicts:
174375
174376              Parameters
174377
174378                     · vm -- domain name
174379
174380                     · connection --
174381
174382                       libvirt connection URI, overriding defaults
174383
174384                       New in version Fluorine.
174385
174386
174387
174388                     · username --
174389
174390                       username to connect with, overriding defaults
174391
174392                       New in version Fluorine.
174393
174394
174395
174396                     · password --
174397
174398                       password to connect with, overriding defaults
174399
174400                       New in version Fluorine.
174401
174402
174403
174404                 [
174405                     'your-vm': {
174406                         'cputime' <int>
174407                         'cputime_percent' <int>
174408                         },
174409                     ...
174410                     ]
174411
174412              If you pass a VM name in as an argument then it will return info
174413              for just the named VM, otherwise it will return all VMs.
174414
174415              CLI Example:
174416
174417                 salt '*' virt.vm_cputime
174418
174419       salt.modules.virt.vm_diskstats(vm_=None, **kwargs)
174420              Return  disk  usage  counters used by the vms on this hyper in a
174421              list of dicts:
174422
174423              Parameters
174424
174425                     · vm -- domain name
174426
174427                     · connection --
174428
174429                       libvirt connection URI, overriding defaults
174430
174431                       New in version Fluorine.
174432
174433
174434
174435                     · username --
174436
174437                       username to connect with, overriding defaults
174438
174439                       New in version Fluorine.
174440
174441
174442
174443                     · password --
174444
174445                       password to connect with, overriding defaults
174446
174447                       New in version Fluorine.
174448
174449
174450
174451                 [
174452                     'your-vm': {
174453                         'rd_req'   : 0,
174454                         'rd_bytes' : 0,
174455                         'wr_req'   : 0,
174456                         'wr_bytes' : 0,
174457                         'errs'     : 0
174458                         },
174459                     ...
174460                     ]
174461
174462              If you pass a VM name in as an argument then it will return info
174463              for just the named VM, otherwise it will return all VMs.
174464
174465              CLI Example:
174466
174467                 salt '*' virt.vm_blockstats
174468
174469       salt.modules.virt.vm_info(vm_=None, **kwargs)
174470              Return  detailed  information  about  the vms on this hyper in a
174471              list of dicts:
174472
174473              Parameters
174474
174475                     · vm -- name of the domain
174476
174477                     · connection --
174478
174479                       libvirt connection URI, overriding defaults
174480
174481                       New in version Fluorine.
174482
174483
174484
174485                     · username --
174486
174487                       username to connect with, overriding defaults
174488
174489                       New in version Fluorine.
174490
174491
174492
174493                     · password --
174494
174495                       password to connect with, overriding defaults
174496
174497                       New in version Fluorine.
174498
174499
174500
174501                 [
174502                     'your-vm': {
174503                         'cpu': <int>,
174504                         'maxMem': <int>,
174505                         'mem': <int>,
174506                         'state': '<state>',
174507                         'cputime' <int>
174508                         },
174509                     ...
174510                     ]
174511
174512              If you pass a VM name in as an argument then it will return info
174513              for just the named VM, otherwise it will return all VMs.
174514
174515              CLI Example:
174516
174517                 salt '*' virt.vm_info
174518
174519       salt.modules.virt.vm_netstats(vm_=None, **kwargs)
174520              Return  combined  network counters used by the vms on this hyper
174521              in a list of dicts:
174522
174523              Parameters
174524
174525                     · vm -- domain name
174526
174527                     · connection --
174528
174529                       libvirt connection URI, overriding defaults
174530
174531                       New in version Fluorine.
174532
174533
174534
174535                     · username --
174536
174537                       username to connect with, overriding defaults
174538
174539                       New in version Fluorine.
174540
174541
174542
174543                     · password --
174544
174545                       password to connect with, overriding defaults
174546
174547                       New in version Fluorine.
174548
174549
174550
174551                 [
174552                     'your-vm': {
174553                         'rx_bytes'   : 0,
174554                         'rx_packets' : 0,
174555                         'rx_errs'    : 0,
174556                         'rx_drop'    : 0,
174557                         'tx_bytes'   : 0,
174558                         'tx_packets' : 0,
174559                         'tx_errs'    : 0,
174560                         'tx_drop'    : 0
174561                         },
174562                     ...
174563                     ]
174564
174565              If you pass a VM name in as an argument then it will return info
174566              for just the named VM, otherwise it will return all VMs.
174567
174568              CLI Example:
174569
174570                 salt '*' virt.vm_netstats
174571
174572       salt.modules.virt.vm_state(vm_=None, **kwargs)
174573              Return list of all the vms and their state.
174574
174575              If you pass a VM name in as an argument then it will return info
174576              for just the named VM, otherwise it will return all VMs.
174577
174578              Parameters
174579
174580                     · vm -- name of the domain
174581
174582                     · connection --
174583
174584                       libvirt connection URI, overriding defaults
174585
174586                       New in version Fluorine.
174587
174588
174589
174590                     · username --
174591
174592                       username to connect with, overriding defaults
174593
174594                       New in version Fluorine.
174595
174596
174597
174598                     · password --
174599
174600                       password to connect with, overriding defaults
174601
174602                       New in version Fluorine.
174603
174604
174605
174606              CLI Example:
174607
174608                 salt '*' virt.vm_state <domain>
174609
174610   salt.modules.virtualenv
174611       Create virtualenv environments.
174612
174613       New in version 0.17.0.
174614
174615
174616       salt.modules.virtualenv_mod.create(path,      venv_bin=None,       sys‐
174617       tem_site_packages=False,  distribute=False,  clear=False,  python=None,
174618       extra_search_dir=None,  never_download=None,  prompt=None,   pip=False,
174619       symlinks=None,  upgrade=None, user=None, use_vt=False, saltenv=u'base',
174620       **kwargs)
174621              Create a virtualenv
174622
174623              path   The path to the virtualenv to be created
174624
174625              venv_bin
174626                     The name (and optionally path) of the virtualenv command.
174627                     This  can  also be set globally in the minion config file
174628                     as virtualenv.venv_bin.  Defaults to virtualenv.
174629
174630              system_site_packages
174631                     False Passthrough argument given to virtualenv or pyvenv
174632
174633              distribute
174634                     False Passthrough argument given to virtualenv
174635
174636              pip    False Install pip after creating a  virtual  environment.
174637                     Implies distribute=True
174638
174639              clear  False Passthrough argument given to virtualenv or pyvenv
174640
174641              python None (default) Passthrough argument given to virtualenv
174642
174643              extra_search_dir
174644                     None (default) Passthrough argument given to virtualenv
174645
174646              never_download
174647                     None  (default)  Passthrough argument given to virtualenv
174648                     if True
174649
174650              prompt None (default) Passthrough argument given  to  virtualenv
174651                     if not None
174652
174653              symlinks
174654                     None Passthrough argument given to pyvenv if True
174655
174656              upgrade
174657                     None Passthrough argument given to pyvenv if True
174658
174659              user   None Set ownership for the virtualenv
174660
174661                     NOTE:
174662                        On  Windows  you  must also pass a password parameter.
174663                        Additionally, the user must have  permissions  to  the
174664                        location  where  the virtual environment is being cre‐
174665                        ated
174666
174667              runas  None Set ownership for the virtualenv
174668
174669                     Deprecated since version 2014.1.0: user  should  be  used
174670                     instead
174671
174672
174673              use_vt False   Use  VT  terminal  emulation  (see  output  while
174674                     installing)
174675
174676                     New in version 2015.5.0.
174677
174678
174679              saltenv
174680                     'base' Specify a different environment. The default envi‐
174681                     ronment is base.
174682
174683                     New in version 2014.1.0.
174684
174685
174686              NOTE:
174687                 The  runas argument is deprecated as of 2014.1.0. user should
174688                 be used instead.
174689
174690              CLI Example:
174691
174692                 salt '*' virtualenv.create /path/to/new/virtualenv
174693
174694       salt.modules.virtualenv_mod.get_distribution_path(venv, distribution)
174695              Return the path to a distribution installed inside a virtualenv
174696
174697              New in version 2016.3.0.
174698
174699
174700              venv   Path to the virtualenv.
174701
174702              distribution
174703                     Name of  the  distribution.  Note,  all  non-alphanumeric
174704                     characters will be converted to dashes.
174705
174706              CLI Example:
174707
174708                 salt '*' virtualenv.get_distribution_path /path/to/my/venv my_distribution
174709
174710       salt.modules.virtualenv_mod.get_resource_content(venv,    package=None,
174711       resource=None)
174712              Return the content of a package resource installed inside a vir‐
174713              tualenv
174714
174715              New in version 2015.5.0.
174716
174717
174718              venv   Path to the virtualenv
174719
174720              package
174721                     Name of the package in which the resource resides
174722
174723                     New in version 2016.3.0.
174724
174725
174726              resource
174727                     Name  of  the  resource  of  which  the  content is to be
174728                     returned
174729
174730                     New in version 2016.3.0.
174731
174732
174733              CLI Example:
174734
174735                 salt '*' virtualenv.get_resource_content /path/to/my/venv my_package my/resource.xml
174736
174737       salt.modules.virtualenv_mod.get_resource_path(venv,       package=None,
174738       resource=None)
174739              Return  the  path  to a package resource installed inside a vir‐
174740              tualenv
174741
174742              New in version 2015.5.0.
174743
174744
174745              venv   Path to the virtualenv
174746
174747              package
174748                     Name of the package in which the resource resides
174749
174750                     New in version 2016.3.0.
174751
174752
174753              resource
174754                     Name of the resource of which the path is to be returned
174755
174756                     New in version 2016.3.0.
174757
174758
174759              CLI Example:
174760
174761                 salt '*' virtualenv.get_resource_path /path/to/my/venv my_package my/resource.xml
174762
174763       salt.modules.virtualenv_mod.get_site_packages(venv)
174764              Return the path to the site-packages directory of a virtualenv
174765
174766              venv   Path to the virtualenv.
174767
174768              CLI Example:
174769
174770                 salt '*' virtualenv.get_site_packages /path/to/my/venv
174771
174772   salt.modules.vmctl
174773       Manage vms running on the OpenBSD VMM hypervisor using vmctl(8).
174774
174775       New in version Fluorine.
174776
174777
174778       codeauthor
174779              Jasper Lievisse Adriaanse <jasper@openbsd.org>
174780
174781       NOTE:
174782          This module requires the vmd service to be running  on  the  OpenBSD
174783          target machine.
174784
174785       salt.modules.vmctl.create_disk(name, size)
174786              Create a VMM disk with the specified name and size.
174787
174788              size:  Size in megabytes, or use a specifier such as M, G, T.
174789
174790              CLI Example:
174791
174792                 salt '*' vmctl.create_disk /path/to/disk.img size=10G
174793
174794       salt.modules.vmctl.load(path)
174795              Load additional configuration from the specified file.
174796
174797              path   Path to the configuration file.
174798
174799              CLI Example:
174800
174801                 salt '*' vmctl.load path=/etc/vm.switches.conf
174802
174803       salt.modules.vmctl.reload()
174804              Remove all stopped VMs and reload configuration from the default
174805              configuration file.
174806
174807              CLI Example:
174808
174809                 salt '*' vmctl.reload
174810
174811       salt.modules.vmctl.reset(all=False, vms=False, switches=False)
174812              Reset the running state of VMM or a subsystem.
174813
174814              all:   Reset the running state.
174815
174816              switches:
174817                     Reset the configured switches.
174818
174819              vms:   Reset and terminate all VMs.
174820
174821              CLI Example:
174822
174823                 salt '*' vmctl.reset all=True
174824
174825       salt.modules.vmctl.start(name=None, id=None, bootpath=None,  disk=None,
174826       disks=None, local_iface=False, memory=None, nics=0, switch=None)
174827              Starts  a  VM  defined by the specified parameters.  When both a
174828              name and id are provided, the id is ignored.
174829
174830              name:  Name of the defined VM.
174831
174832              id:    VM id.
174833
174834              bootpath:
174835                     Path to a kernel or BIOS image to load.
174836
174837              disk:  Path to a single disk to use.
174838
174839              disks: List of multiple disks to use.
174840
174841              local_iface:
174842                     Whether to add a  local  network  interface.  See  "LOCAL
174843                     INTERFACES" in the vmctl(8) manual page for more informa‐
174844                     tion.
174845
174846              memory:
174847                     Memory size of the VM specified in megabytes.
174848
174849              switch:
174850                     Add a network interface that is attached to the specified
174851                     virtual switch on the host.
174852
174853              CLI Example:
174854
174855                 salt '*' vmctl.start 2   # start VM with id 2
174856                 salt '*' vmctl.start name=web1 bootpath='/bsd.rd' nics=2 memory=512M disk='/disk.img'
174857
174858       salt.modules.vmctl.status(name=None, id=None)
174859              List  VMs  running  on the host, or only the VM specified by id.
174860              When both a name and id are provided, the id is ignored.
174861
174862              name:  Name of the defined VM.
174863
174864              id:    VM id.
174865
174866              CLI Example:
174867
174868                 salt '*' vmctl.status           # to list all VMs
174869                 salt '*' vmctl.status name=web1 # to get a single VM
174870
174871       salt.modules.vmctl.stop(name=None, id=None)
174872              Stop (terminate) the VM identified by  the  given  id  or  name.
174873              When both a name and id are provided, the id is ignored.
174874
174875              name:  Name of the defined VM.
174876
174877              id:    VM id.
174878
174879              CLI Example:
174880
174881                 salt '*' vmctl.stop name=alpine
174882
174883   salt.modules.vsphere
174884       Manage VMware vCenter servers and ESXi hosts.
174885
174886       New in version 2015.8.4.
174887
174888
174889       codeauthor
174890              Alexandru Bleotu <alexandru.bleotu@morganstaley.com>
174891
174892   Dependencies
174893       · pyVmomi Python Module
174894
174895       · ESXCLI
174896
174897   pyVmomi
174898       PyVmomi can be installed via pip:
174899
174900          pip install pyVmomi
174901
174902       NOTE:
174903          Version  6.0 of pyVmomi has some problems with SSL error handling on
174904          certain versions of Python. If using version 6.0 of pyVmomi,  Python
174905          2.7.9,  or  newer must be present. This is due to an upstream depen‐
174906          dency in pyVmomi 6.0 that is not supported in Python versions 2.7 to
174907          2.7.8.  If  the version of Python is not in the supported range, you
174908          will need to install an earlier version of pyVmomi. See Issue #29537
174909          for more information.
174910
174911       Based  on the note above, to install an earlier version of pyVmomi than
174912       the version currently listed in PyPi, run the following:
174913
174914          pip install pyVmomi==5.5.0.2014.1.1
174915
174916       The 5.5.0.2014.1.1 is a known stable version that this original vSphere
174917       Execution Module was developed against.
174918
174919   ESXCLI
174920       Currently, about a third of the functions used in the vSphere Execution
174921       Module require the ESXCLI package be installed on the  machine  running
174922       the Proxy Minion process.
174923
174924       The  ESXCLI  package  is also referred to as the VMware vSphere CLI, or
174925       vCLI.  VMware  provides  vCLI  package  installation  instructions  for
174926       vSphere 5.5 and vSphere 6.0.
174927
174928       Once all of the required dependencies are in place and the vCLI package
174929       is installed, you can check to see if you can connect to your ESXi host
174930       or vCenter server by running the following command:
174931
174932          esxcli -s <host-location> -u <username> -p <password> system syslog config get
174933
174934       If  the connection was successful, ESXCLI was successfully installed on
174935       your system.  You should see output related to the ESXi  host's  syslog
174936       configuration.
174937
174938       NOTE:
174939          Be aware that some functionality in this execution module may depend
174940          on the type of license attached to a vCenter Server or ESXi host(s).
174941
174942          For example, certain services are only available to manipulate  ser‐
174943          vice  state  or  policies with a VMware vSphere Enterprise or Enter‐
174944          prise Plus license, while  others  are  available  with  a  Standard
174945          license.  The  ntpd  service  is  restricted  to  an Enterprise Plus
174946          license, while ssh is available via the Standard license.
174947
174948          Please see the vSphere Comparison page for more information.
174949
174950   About
174951       This execution module was designed to be  able  to  handle  connections
174952       both  to  a vCenter Server, as well as to an ESXi host. It utilizes the
174953       pyVmomi Python library and the ESXCLI package to run  remote  execution
174954       functions against either the defined vCenter server or the ESXi host.
174955
174956       Whether  or  not  the function runs against a vCenter Server or an ESXi
174957       host depends entirely upon the arguments passed into the function. Each
174958       function  requires a host location, username, and password. If the cre‐
174959       dentials provided apply to a vCenter Server, then the function will  be
174960       run  against  the vCenter Server. For example, when listing hosts using
174961       vCenter credentials, you'll get a list of hosts  associated  with  that
174962       vCenter Server:
174963
174964          # salt my-minion vsphere.list_hosts <vcenter-ip> <vcenter-user> <vcenter-password>
174965          my-minion:
174966          - esxi-1.example.com
174967          - esxi-2.example.com
174968
174969       However,  some functions should be used against ESXi hosts, not vCenter
174970       Servers.  Functionality such as getting a host's coredump network  con‐
174971       figuration should be performed against a host and not a vCenter server.
174972       If the authentication information you're using  is  against  a  vCenter
174973       server  and  not  an  ESXi  host, you can provide the host name that is
174974       associated with the vCenter server in the command, as a list, using the
174975       host_names or esxi_host kwarg. For example:
174976
174977          # salt my-minion vsphere.get_coredump_network_config <vcenter-ip> <vcenter-user>         <vcenter-password> esxi_hosts='[esxi-1.example.com, esxi-2.example.com]'
174978          my-minion:
174979          ----------
174980              esxi-1.example.com:
174981                  ----------
174982                  Coredump Config:
174983                      ----------
174984                      enabled:
174985                          False
174986              esxi-2.example.com:
174987                  ----------
174988                  Coredump Config:
174989                      ----------
174990                      enabled:
174991                          True
174992                      host_vnic:
174993                          vmk0
174994                      ip:
174995                          coredump-location.example.com
174996                      port:
174997                          6500
174998
174999       You  can  also  use  these  functions  against an ESXi host directly by
175000       establishing a connection to an ESXi host using  the  host's  location,
175001       username, and password. If ESXi connection credentials are used instead
175002       of vCenter credentials, the host_names and esxi_hosts arguments are not
175003       needed.
175004
175005          # salt my-minion vsphere.get_coredump_network_config esxi-1.example.com root <host-password>
175006          local:
175007          ----------
175008              10.4.28.150:
175009                  ----------
175010                  Coredump Config:
175011                      ----------
175012                      enabled:
175013                          True
175014                      host_vnic:
175015                          vmk0
175016                      ip:
175017                          coredump-location.example.com
175018                      port:
175019                          6500
175020
175021       salt.modules.vsphere.add_capacity_to_diskgroup(*args, **kwargs)
175022              Adds  capacity  disks to the disk group with the specified cache
175023              disk.
175024
175025              cache_disk_id
175026                     The canonical name of the cache disk.
175027
175028              capacity_disk_ids
175029                     A list containing canonical names of the  capacity  disks
175030                     to add.
175031
175032              safety_checks
175033                     Specify  whether  to  perform safety check or to skip the
175034                     checks and try  performing  the  required  task.  Default
175035                     value is True.
175036
175037              service_instance
175038                     Service   instance  (vim.ServiceInstance)  of  the  vCen‐
175039                     ter/ESXi host.  Default is None.
175040
175041                 salt '*' vsphere.add_capacity_to_diskgroup
175042                     cache_disk_id='naa.000000000000001'
175043                     capacity_disk_ids='[naa.000000000000002, naa.000000000000003]'
175044
175045       salt.modules.vsphere.add_license(*args, **kwargs)
175046              Adds a license to the vCenter or ESXi host
175047
175048              key    License key.
175049
175050              description
175051                     License description added in as a label.
175052
175053              safety_checks
175054                     Specify whether to perform safety check or  to  skip  the
175055                     checks and try performing the required task
175056
175057              service_instance
175058                     Service   instance  (vim.ServiceInstance)  of  the  vCen‐
175059                     ter/ESXi host.  Default is None.
175060
175061                 salt '*' vsphere.add_license key=<license_key> desc='License desc'
175062
175063       salt.modules.vsphere.assign_default_storage_policy_to_datastore(*args,
175064       **kwargs)
175065              Assigns a storage policy as the default policy to a datastore.
175066
175067              policy Name of the policy to assign.
175068
175069              datastore
175070                     Name  of the datastore to assign.  The datastore needs to
175071                     be visible to the VMware entity the proxy points to.
175072
175073              service_instance
175074                     Service instance (vim.ServiceInstance)  of  the  vCenter.
175075                     Default is None.
175076
175077                 salt '*' vsphere.assign_storage_policy_to_datastore
175078                     policy='policy name' datastore=ds1
175079
175080       salt.modules.vsphere.assign_license(*args, **kwargs)
175081              Assigns a license to an entity
175082
175083              license_key
175084                     Key  of  the license to assign See _get_entity docstrings
175085                     for format.
175086
175087              license_name
175088                     Display name of license
175089
175090              entity Dictionary representation of an entity
175091
175092              entity_display_name
175093                     Entity name used in logging
175094
175095              safety_checks
175096                     Specify whether to perform safety check or  to  skip  the
175097                     checks  and  try performing the required task. Default is
175098                     False.
175099
175100              service_instance
175101                     Service  instance  (vim.ServiceInstance)  of  the   vCen‐
175102                     ter/ESXi host.  Default is None.
175103
175104                 salt '*' vsphere.assign_license license_key=00000:00000
175105                     license name=test entity={type:cluster,datacenter:dc,cluster:cl}
175106
175107       salt.modules.vsphere.compare_vm_configs(new_config, current_config)
175108              Compares virtual machine current and new configuration, the cur‐
175109              rent is the one which is deployed now, and the new is the target
175110              config. Returns the differences between the objects in a dictio‐
175111              nary, the keys are the configuration parameter keys and the val‐
175112              ues are differences objects: either list or recursive difference
175113
175114              new_config:
175115                     New config dictionary with every available parameter
175116
175117              current_config
175118                     Currently deployed configuration
175119
175120       salt.modules.vsphere.configure_host_cache(*args, **kwargs)
175121              Configures the host cache on the selected host.
175122
175123              enabled
175124                     Boolean   flag  specifying  whether  the  host  cache  is
175125                     enabled.
175126
175127              datastore
175128                     Name of the datastore that contains the host cache.  Must
175129                     be set if enabled is true.
175130
175131              swap_size_MiB
175132                     Swap  size  in  Mibibytes.  Needs to be set if enabled is
175133                     true. Must be smaller than the datastore size.
175134
175135              service_instance
175136                     Service  instance  (vim.ServiceInstance)  of  the   vCen‐
175137                     ter/ESXi host.  Default is None.
175138
175139                 salt '*' vsphere.configure_host_cache enabled=False
175140
175141                 salt '*' vsphere.configure_host_cache enabled=True datastore=ds1
175142                     swap_size_MiB=1024
175143
175144       salt.modules.vsphere.coredump_network_enable(host,  username, password,
175145       enabled, protocol=None, port=None, esxi_hosts=None, credstore=None)
175146              Enable or disable ESXi core dump  collection.  Returns  True  if
175147              coredump  is  enabled  and  returns  False  if  core dump is not
175148              enabled. If there was an error, the  error  will  be  the  value
175149              printed in the Error key dictionary for the given host.
175150
175151              host   The location of the host.
175152
175153              username
175154                     The username used to login to the host, such as root.
175155
175156              password
175157                     The password used to login to the host.
175158
175159              enabled
175160                     Python True or False to enable or disable coredumps.
175161
175162              protocol
175163                     Optionally  set  to alternate protocol if the host is not
175164                     using the default protocol. Default protocol is https.
175165
175166              port   Optionally set to alternate port if the host is not using
175167                     the default port. Default port is 443.
175168
175169              esxi_hosts
175170                     If host is a vCenter host, then use esxi_hosts to execute
175171                     this function on a list of one or more ESXi machines.
175172
175173              credstore
175174                     Optionally set to path to the credential store file.
175175
175176              CLI Example:
175177
175178                 # Used for ESXi host connection information
175179                 salt '*' vsphere.coredump_network_enable my.esxi.host root bad-password True
175180
175181                 # Used for connecting to a vCenter Server
175182                 salt '*' vsphere.coredump_network_enable my.vcenter.location root bad-password True             esxi_hosts='[esxi-1.host.com, esxi-2.host.com]'
175183
175184       salt.modules.vsphere.create_cluster(*args, **kwargs)
175185              Creates a cluster.
175186
175187              Note: cluster_dict['name'] will be  overridden  by  the  cluster
175188              param value
175189
175190              config_dict
175191                     Dictionary with the config values of the new cluster.
175192
175193              datacenter
175194                     Name  of  datacenter  containing the cluster.  Ignored if
175195                     already contained by proxy  details.   Default  value  is
175196                     None.
175197
175198              cluster
175199                     Name  of  cluster.  Ignored if already contained by proxy
175200                     details.  Default value is None.
175201
175202              service_instance
175203                     Service instance (vim.ServiceInstance)  of  the  vCenter.
175204                     Default is None.
175205
175206                 # esxdatacenter proxy
175207                 salt '*' vsphere.create_cluster cluster_dict=$cluster_dict cluster=cl1
175208
175209                 # esxcluster proxy
175210                 salt '*' vsphere.create_cluster cluster_dict=$cluster_dict
175211
175212       salt.modules.vsphere.create_datacenter(*args, **kwargs)
175213              Creates a datacenter.
175214
175215              Supported proxies: esxdatacenter
175216
175217              datacenter_name
175218                     The datacenter name
175219
175220              service_instance
175221                     Service  instance  (vim.ServiceInstance)  of the vCenter.
175222                     Default is None.
175223
175224                 salt '*' vsphere.create_datacenter dc1
175225
175226       salt.modules.vsphere.create_diskgroup(*args, **kwargs)
175227              Creates disk group on an ESXi host with the specified cache  and
175228              capacity disks.
175229
175230              cache_disk_id
175231                     The canonical name of the disk to be used as a cache. The
175232                     disk must be ssd.
175233
175234              capacity_disk_ids
175235                     A list containing canonical names of the capacity  disks.
175236                     Must contain at least one id. Default is True.
175237
175238              safety_checks
175239                     Specify  whether  to  perform safety check or to skip the
175240                     checks and try  performing  the  required  task.  Default
175241                     value is True.
175242
175243              service_instance
175244                     Service   instance  (vim.ServiceInstance)  of  the  vCen‐
175245                     ter/ESXi host.  Default is None.
175246
175247                 salt '*' vsphere.create_diskgroup cache_disk_id='naa.000000000000001'
175248                     capacity_disk_ids='[naa.000000000000002, naa.000000000000003]'
175249
175250       salt.modules.vsphere.create_dvportgroup(*args, **kwargs)
175251              Creates a distributed virtual portgroup.
175252
175253              Note: The portgroup_name param will override  any  name  already
175254              set in portgroup_dict.
175255
175256              portgroup_dict
175257                     Dictionary with the config values the portgroup should be
175258                     created with (example in salt.states.dvs).
175259
175260              portgroup_name
175261                     Name of the portgroup to be created.
175262
175263              dvs    Name of the DVS that will contain the portgroup.
175264
175265              service_instance
175266                     Service instance (vim.ServiceInstance)  of  the  vCenter.
175267                     Default is None.
175268
175269                 salt '*' vsphere.create_dvportgroup portgroup_dict=<dict>
175270                     portgroup_name=pg1 dvs=dvs1
175271
175272       salt.modules.vsphere.create_dvs(*args, **kwargs)
175273              Creates a distributed virtual switch (DVS).
175274
175275              Note: The dvs_name param will override any name set in dvs_dict.
175276
175277              dvs_dict
175278                     Dict   representation   of   the   new  DVS  (example  in
175279                     salt.states.dvs)
175280
175281              dvs_name
175282                     Name of the DVS to be created.
175283
175284              service_instance
175285                     Service instance (vim.ServiceInstance)  of  the  vCenter.
175286                     Default is None.
175287
175288                 salt '*' vsphere.create_dvs dvs dict=$dvs_dict dvs_name=dvs_name
175289
175290       salt.modules.vsphere.create_storage_policy(*args, **kwargs)
175291              Creates a storage policy.
175292
175293              Supported capability types: scalar, set, range.
175294
175295              policy_name
175296                     Name  of the policy to create.  The value of the argument
175297                     will override any existing name in policy_dict.
175298
175299              policy_dict
175300                     Dictionary containing the changes to apply to the policy.
175301                     (example in salt.states.pbm)
175302
175303              service_instance
175304                     Service  instance  (vim.ServiceInstance)  of the vCenter.
175305                     Default is None.
175306
175307                 salt '*' vsphere.create_storage_policy policy_name='policy name'
175308                     policy_dict="$policy_dict"
175309
175310       salt.modules.vsphere.create_vm(*args, **kwargs)
175311              Creates a virtual machine container.
175312
175313              CLI Example:
175314
175315                 salt vm_minion vsphere.create_vm vm_name=vmname cpu='{count: 2, nested: True}' ...
175316
175317              vm_name
175318                     Name of the virtual machine
175319
175320              cpu    Properties of CPUs for freshly created machines
175321
175322              memory Memory size for freshly created machines
175323
175324              image  Virtual machine guest OS  version  identifier  VirtualMa‐
175325                     chineGuestOsIdentifier
175326
175327              version
175328                     Virtual machine container hardware version
175329
175330              datacenter
175331                     Datacenter  where  the  virtual  machine will be deployed
175332                     (mandatory)
175333
175334              datastore
175335                     Datastore where the virtual machine files will be placed
175336
175337              placement
175338                     Resource pool or cluster or host or folder where the vir‐
175339                     tual machine will be deployed
175340
175341              devices
175342                     interfaces
175343
175344                        interfaces:
175345                          adapter: 'Network adapter 1'
175346                          name: vlan100
175347                          switch_type: distributed or standard
175348                          adapter_type: vmxnet3 or vmxnet, vmxnet2, vmxnet3, e1000, e1000e
175349                          mac: '00:11:22:33:44:55'
175350                          connectable:
175351                            allow_guest_control: True
175352                            connected: True
175353                            start_connected: True
175354
175355                     disks
175356
175357                        disks:
175358                          adapter: 'Hard disk 1'
175359                          size: 16
175360                          unit: GB
175361                          address: '0:0'
175362                          controller: 'SCSI controller 0'
175363                          thin_provision: False
175364                          eagerly_scrub: False
175365                          datastore: 'myshare'
175366                          filename: 'vm/mydisk.vmdk'
175367
175368                     scsi_devices
175369
175370                        scsi_devices:
175371                          controller: 'SCSI controller 0'
175372                          type: paravirtual
175373                          bus_sharing: no_sharing
175374
175375                     serial_ports
175376
175377                        serial_ports:
175378                          adapter: 'Serial port 1'
175379                          type: network
175380                          backing:
175381                            uri: 'telnet://something:port'
175382                            direction: <client|server>
175383                            filename: 'service_uri'
175384                          connectable:
175385                            allow_guest_control: True
175386                            connected: True
175387                            start_connected: True
175388                          yield: False
175389
175390                     cd_drives
175391
175392                        cd_drives:
175393                          adapter: 'CD/DVD drive 0'
175394                          controller: 'IDE 0'
175395                          device_type: datastore_iso_file
175396                          datastore_iso_file:
175397                            path: path_to_iso
175398                          connectable:
175399                            allow_guest_control: True
175400                            connected: True
175401                            start_connected: True
175402
175403              advanced_config
175404                     Advanced  config  parameters  to  be  set for the virtual
175405                     machine
175406
175407       salt.modules.vsphere.create_vmfs_datastore(*args, **kwargs)
175408              Creates a ESXi host disk group  with  the  specified  cache  and
175409              capacity disks.
175410
175411              datastore_name
175412                     The name of the datastore to be created.
175413
175414              disk_id
175415                     The  disk  id  (canonical name) on which the datastore is
175416                     created.
175417
175418              vmfs_major_version
175419                     The VMFS major version.
175420
175421              safety_checks
175422                     Specify whether to perform safety check or  to  skip  the
175423                     checks  and  try performing the required task. Default is
175424                     True.
175425
175426              service_instance
175427                     Service  instance  (vim.ServiceInstance)  of  the   vCen‐
175428                     ter/ESXi host.  Default is None.
175429
175430                 salt '*' vsphere.create_vmfs_datastore datastore_name=ds1 disk_id=
175431                     vmfs_major_version=5
175432
175433       salt.modules.vsphere.delete_advanced_configs(*args, **kwargs)
175434              Removes extra config parameters from a virtual machine
175435
175436              vm_name
175437                     Virtual machine name
175438
175439              datacenter
175440                     Datacenter name where the virtual machine is available
175441
175442              advanced_configs
175443                     List of advanced config values to be removed
175444
175445              service_instance
175446                     vCenter service instance for connection and configuration
175447
175448       salt.modules.vsphere.delete_vm(*args, **kwargs)
175449              Deletes a virtual machine defined by name and placement
175450
175451              name   Name of the virtual machine
175452
175453              datacenter
175454                     Datacenter of the virtual machine
175455
175456              placement
175457                     Placement information of the virtual machine
175458
175459              service_instance
175460                     vCenter service instance for connection and configuration
175461
175462                 salt '*' vsphere.delete_vm name=my_vm datacenter=my_datacenter
175463
175464       salt.modules.vsphere.disconnect(*args, **kwargs)
175465              Disconnects from a vCenter or ESXi host
175466
175467              NOTE:
175468                 Should be used by state functions, not invoked directly.
175469
175470              service_instance
175471                     Service instance (vim.ServiceInstance)
175472
175473              CLI Example:
175474                 See note above.
175475
175476       salt.modules.vsphere.enable_firewall_ruleset(host,  username, password,
175477       ruleset_enable,      ruleset_name,      protocol=None,       port=None,
175478       esxi_hosts=None, credstore=None)
175479              Enable or disable an ESXi firewall rule set.
175480
175481              host   The location of the host.
175482
175483              username
175484                     The username used to login to the host, such as root.
175485
175486              password
175487                     The password used to login to the host.
175488
175489              ruleset_enable
175490                     True to enable the ruleset, false to disable.
175491
175492              ruleset_name
175493                     Name of ruleset to target.
175494
175495              protocol
175496                     Optionally  set  to alternate protocol if the host is not
175497                     using the default protocol. Default protocol is https.
175498
175499              port   Optionally set to alternate port if the host is not using
175500                     the default port. Default port is 443.
175501
175502              esxi_hosts
175503                     If host is a vCenter host, then use esxi_hosts to execute
175504                     this function on a list of one or more ESXi machines.
175505
175506              credstore
175507                     Optionally set to path to the credential store file.
175508
175509              Returns
175510                     A standard cmd.run_all dictionary, per host.
175511
175512              CLI Example:
175513
175514                 # Used for ESXi host connection information
175515                 salt '*' vsphere.enable_firewall_ruleset my.esxi.host root bad-password True 'syslog'
175516
175517                 # Used for connecting to a vCenter Server
175518                 salt '*' vsphere.enable_firewall_ruleset my.vcenter.location root bad-password True 'syslog'             esxi_hosts='[esxi-1.host.com, esxi-2.host.com]'
175519
175520       salt.modules.vsphere.erase_disk_partitions(*args, **kwargs)
175521              Erases the partitions on a disk.   The  disk  can  be  specified
175522              either by the canonical name, or by the scsi_address.
175523
175524              disk_id
175525                     Canonical   name   of   the   disk.   Either  disk_id  or
175526                     scsi_address needs to be  specified  (disk_id  supersedes
175527                     scsi_address.
175528
175529              scsi_address
175530                     Scsi  address of the disk.  disk_id or scsi_address needs
175531                     to be specified (disk_id supersedes scsi_address.
175532
175533              service_instance
175534                     Service  instance  (vim.ServiceInstance)  of  the   vCen‐
175535                     ter/ESXi host.  Default is None.
175536
175537                 salt '*' vsphere.erase_disk_partitions scsi_address='vmhaba0:C0:T0:L0'
175538
175539                 salt '*' vsphere.erase_disk_partitions disk_id='naa.000000000000001'
175540
175541       salt.modules.vsphere.esxcli_cmd(cmd_str,    host=None,   username=None,
175542       password=None,   protocol=None,   port=None,   esxi_hosts=None,   cred‐
175543       store=None)
175544              Run an ESXCLI command directly on the host or list of hosts.
175545
175546              host   The location of the host.
175547
175548              username
175549                     The username used to login to the host, such as root.
175550
175551              password
175552                     The password used to login to the host.
175553
175554              cmd_str
175555                     The  ESXCLI command to run. Note: This should not include
175556                     the -s, -u, -p, -h, --protocol, or --portnumber arguments
175557                     that  are frequently passed when using a bare ESXCLI com‐
175558                     mand from the command line.  Those arguments are  handled
175559                     by this function via the other args and kwargs.
175560
175561              protocol
175562                     Optionally  set  to alternate protocol if the host is not
175563                     using the default protocol. Default protocol is https.
175564
175565              port   Optionally set to alternate port if the host is not using
175566                     the default port. Default port is 443.
175567
175568              esxi_hosts
175569                     If host is a vCenter host, then use esxi_hosts to execute
175570                     this function on a list of one or more ESXi machines.
175571
175572              credstore
175573                     Optionally set to path to the credential store file.
175574
175575              CLI Example:
175576
175577                 # Used for ESXi host connection information
175578                 salt '*' vsphere.esxcli_cmd my.esxi.host root bad-password             'system coredump network get'
175579
175580                 # Used for connecting to a vCenter Server
175581                 salt '*' vsphere.esxcli_cmd my.vcenter.location root bad-password             'system coredump network get' esxi_hosts='[esxi-1.host.com, esxi-2.host.com]'
175582
175583       salt.modules.vsphere.get_advanced_configs(*args, **kwargs)
175584              Returns extra config parameters from a virtual machine  advanced
175585              config list
175586
175587              vm_name
175588                     Virtual machine name
175589
175590              datacenter
175591                     Datacenter name where the virtual machine is available
175592
175593              service_instance
175594                     vCenter service instance for connection and configuration
175595
175596       salt.modules.vsphere.get_coredump_network_config(host,  username, pass‐
175597       word, protocol=None, port=None, esxi_hosts=None, credstore=None)
175598              Retrieve information on ESXi or vCenter network dump  collection
175599              and format it into a dictionary.
175600
175601              host   The location of the host.
175602
175603              username
175604                     The username used to login to the host, such as root.
175605
175606              password
175607                     The password used to login to the host.
175608
175609              protocol
175610                     Optionally  set  to alternate protocol if the host is not
175611                     using the default protocol. Default protocol is https.
175612
175613              port   Optionally set to alternate port if the host is not using
175614                     the default port. Default port is 443.
175615
175616              esxi_hosts
175617                     If host is a vCenter host, then use esxi_hosts to execute
175618                     this function on a list of one or more ESXi machines.
175619
175620              credstore
175621                     Optionally set to path to the credential store file.
175622
175623              Returns
175624                     A dictionary with the network configuration, or, if  get‐
175625                     ting  the  network  config  failed,  a  an  error message
175626                     retrieved from the standard cmd.run_all  dictionary,  per
175627                     host.
175628
175629              CLI Example:
175630
175631                 # Used for ESXi host connection information
175632                 salt '*' vsphere.get_coredump_network_config my.esxi.host root bad-password
175633
175634                 # Used for connecting to a vCenter Server
175635                 salt '*' vsphere.get_coredump_network_config my.vcenter.location root bad-password             esxi_hosts='[esxi-1.host.com, esxi-2.host.com]'
175636
175637       salt.modules.vsphere.get_firewall_status(host, username, password, pro‐
175638       tocol=None, port=None, esxi_hosts=None, credstore=None)
175639              Show status of all firewall rule sets.
175640
175641              host   The location of the host.
175642
175643              username
175644                     The username used to login to the host, such as root.
175645
175646              password
175647                     The password used to login to the host.
175648
175649              protocol
175650                     Optionally set to alternate protocol if the host  is  not
175651                     using the default protocol. Default protocol is https.
175652
175653              port   Optionally set to alternate port if the host is not using
175654                     the default port. Default port is 443.
175655
175656              esxi_hosts
175657                     If host is a vCenter host, then use esxi_hosts to execute
175658                     this function on a list of one or more ESXi machines.
175659
175660              credstore
175661                     Optionally set to path to the credential store file.
175662
175663              Returns
175664                     Nested  dictionary  with  two  toplevel keys rulesets and
175665                     success success will be True or False depending on  query
175666                     success  rulesets  will  list the rulesets and their sta‐
175667                     tuses if success was true, per host.
175668
175669              CLI Example:
175670
175671                 # Used for ESXi host connection information
175672                 salt '*' vsphere.get_firewall_status my.esxi.host root bad-password
175673
175674                 # Used for connecting to a vCenter Server
175675                 salt '*' vsphere.get_firewall_status my.vcenter.location root bad-password             esxi_hosts='[esxi-1.host.com, esxi-2.host.com]'
175676
175677       salt.modules.vsphere.get_host_cache(*args, **kwargs)
175678              Returns the host cache configuration on the proxy host.
175679
175680              service_instance
175681                     Service  instance  (vim.ServiceInstance)  of  the   vCen‐
175682                     ter/ESXi host.  Default is None.
175683
175684                 salt '*' vsphere.get_host_cache
175685
175686       salt.modules.vsphere.get_proxy_type()
175687              Returns  the proxy type retrieved either from the pillar of from
175688              the proxy minion's config.  Returns <undefined> otherwise.
175689
175690              CLI Example:
175691
175692                 salt '*' vsphere.get_proxy_type
175693
175694       salt.modules.vsphere.get_service_instance_via_proxy(*args, **kwargs)
175695              Returns a service instance to the proxied endpoint (vCenter/ESXi
175696              host).
175697
175698              service_instance
175699                     Service  instance  (vim.ServiceInstance)  of the vCenter.
175700                     Default is None.
175701
175702              NOTE:
175703                 Should be used by state functions not invoked directly.
175704
175705              CLI Example:
175706                     See note above
175707
175708       salt.modules.vsphere.get_syslog_config(host, username, password, proto‐
175709       col=None, port=None, esxi_hosts=None, credstore=None)
175710              Retrieve the syslog configuration.
175711
175712              host   The location of the host.
175713
175714              username
175715                     The username used to login to the host, such as root.
175716
175717              password
175718                     The password used to login to the host.
175719
175720              protocol
175721                     Optionally  set  to alternate protocol if the host is not
175722                     using the default protocol. Default protocol is https.
175723
175724              port   Optionally set to alternate port if the host is not using
175725                     the default port. Default port is 443.
175726
175727              esxi_hosts
175728                     If host is a vCenter host, then use esxi_hosts to execute
175729                     this function on a list of one or more ESXi machines.
175730
175731              credstore
175732                     Optionally set to path to the credential store file.
175733
175734              Returns
175735                     Dictionary with keys and values corresponding to the sys‐
175736                     log configuration, per host.
175737
175738              CLI Example:
175739
175740                 # Used for ESXi host connection information
175741                 salt '*' vsphere.get_syslog_config my.esxi.host root bad-password
175742
175743                 # Used for connecting to a vCenter Server
175744                 salt '*' vsphere.get_syslog_config my.vcenter.location root bad-password             esxi_hosts='[esxi-1.host.com, esxi-2.host.com]'
175745
175746       salt.modules.vsphere.get_vm(*args, **kwargs)
175747              Returns vm object properties.
175748
175749              name   Name of the virtual machine.
175750
175751              datacenter
175752                     Datacenter name
175753
175754              vm_properties
175755                     List of vm properties.
175756
175757              traversal_spec
175758                     Traversal Spec object(s) for searching.
175759
175760              parent_ref
175761                     Container  Reference  object  for searching under a given
175762                     object.
175763
175764              service_instance
175765                     Service instance (vim.ServiceInstance)  of  the  vCenter.
175766                     Default is None.
175767
175768       salt.modules.vsphere.get_vm_config(*args, **kwargs)
175769              Queries  and  converts  the  virtual  machine  properties to the
175770              available format from the schema. If the  objects  attribute  is
175771              True  the  config  objects  will  have  extra  properties,  like
175772              'object' which  will  include  the  vim.vm.device.VirtualDevice,
175773              this is necessary for deletion and update actions.
175774
175775              name   Name of the virtual machine
175776
175777              datacenter
175778                     Datacenter's name where the virtual machine is available
175779
175780              objects
175781                     Indicates  whether to return the vmware object properties
175782                     (eg. object, key) or just the properties which can be set
175783
175784              service_instance
175785                     vCenter service instance for connection and configuration
175786
175787       salt.modules.vsphere.get_vm_config_file(*args, **kwargs)
175788              Queries  the   virtual   machine   config   file   and   returns
175789              vim.host.DatastoreBrowser.SearchResults  object  on success None
175790              on failure
175791
175792              name   Name of the virtual machine
175793
175794              datacenter
175795                     Datacenter name
175796
175797              datastore
175798                     Datastore where the virtual machine files are stored
175799
175800              service_instance
175801                     Service instance (vim.ServiceInstance)  of  the  vCenter.
175802                     Default is None.
175803
175804       salt.modules.vsphere.gets_service_instance_via_proxy(fn)
175805              Decorator  that  connects  to  a  target system (vCenter or ESXi
175806              host)  using  the  proxy  details  and  passes  the   connection
175807              (vim.ServiceInstance) to the decorated function.
175808
175809              Supported proxies: esxi, esxcluster, esxdatacenter.  Notes
175810
175811              1. The decorated function must have a service_instance parameter
175812              or a **kwarg type argument (name of argument is not  important);
175813              2.  If  the  service_instance  parameter is already defined, the
175814              value is passed through to the decorated  function;  3.  If  the
175815              service_instance  parameter  in  not  defined, the connection is
175816              created using the proxy details  and  the  service  instance  is
175817              returned.
175818
175819              CLI Example:
175820                     None, this is a decorator
175821
175822       salt.modules.vsphere.list_assigned_licenses(*args, **kwargs)
175823              Lists the licenses assigned to an entity
175824
175825              entity Dictionary  representation of an entity.  See _get_entity
175826                     docstrings for format.
175827
175828              entity_display_name
175829                     Entity name used in logging
175830
175831              license_keys:
175832                     List of license keys to be retrieved. Default is None.
175833
175834              service_instance
175835                     Service  instance  (vim.ServiceInstance)  of  the   vCen‐
175836                     ter/ESXi host.  Default is None.
175837
175838                 salt '*' vsphere.list_assigned_licenses
175839                     entity={type:cluster,datacenter:dc,cluster:cl}
175840                     entiy_display_name=cl
175841
175842       salt.modules.vsphere.list_capability_definitions(*args, **kwargs)
175843              Returns  a list of the metadata of all capabilities in the vCen‐
175844              ter.
175845
175846              service_instance
175847                     Service instance (vim.ServiceInstance)  of  the  vCenter.
175848                     Default is None.
175849
175850                 salt '*' vsphere.list_capabilities
175851
175852       salt.modules.vsphere.list_cluster(*args, **kwargs)
175853              Returns a dict representation of an ESX cluster.
175854
175855              datacenter
175856                     Name  of  datacenter  containing the cluster.  Ignored if
175857                     already contained by proxy  details.   Default  value  is
175858                     None.
175859
175860              cluster
175861                     Name  of  cluster.  Ignored if already contained by proxy
175862                     details.  Default value is None.
175863
175864              service_instance
175865                     Service instance (vim.ServiceInstance)  of  the  vCenter.
175866                     Default is None.
175867
175868                 # vcenter proxy
175869                 salt '*' vsphere.list_cluster datacenter=dc1 cluster=cl1
175870
175871                 # esxdatacenter proxy
175872                 salt '*' vsphere.list_cluster cluster=cl1
175873
175874                 # esxcluster proxy
175875                 salt '*' vsphere.list_cluster
175876
175877       salt.modules.vsphere.list_datacenters_via_proxy(*args, **kwargs)
175878              Returns  a  list  of dict representations of VMware datacenters.
175879              Connection is done via the proxy details.
175880
175881              Supported proxies: esxdatacenter
175882
175883              datacenter_names
175884                     List of datacenter names.  Default is None.
175885
175886              service_instance
175887                     Service instance (vim.ServiceInstance)  of  the  vCenter.
175888                     Default is None.
175889
175890                 salt '*' vsphere.list_datacenters_via_proxy
175891
175892                 salt '*' vsphere.list_datacenters_via_proxy dc1
175893
175894                 salt '*' vsphere.list_datacenters_via_proxy dc1,dc2
175895
175896                 salt '*' vsphere.list_datacenters_via_proxy datacenter_names=[dc1, dc2]
175897
175898       salt.modules.vsphere.list_datastores_via_proxy(*args, **kwargs)
175899              Returns a list of dict representations of the datastores visible
175900              to the proxy object. The list of datastores can be  filtered  by
175901              datastore  names,  backing disk ids (canonical names) or backing
175902              disk scsi addresses.
175903
175904              Supported proxy types: esxi, esxcluster, esxdatacenter
175905
175906              datastore_names
175907                     List of the names of datastores to filter on
175908
175909              backing_disk_ids
175910                     List of canonical names of the backing disks of the data‐
175911                     stores to filer.  Default is None.
175912
175913              backing_disk_scsi_addresses
175914                     List of scsi addresses of the backing disks of the datas‐
175915                     tores to filter.  Default is None.
175916
175917              service_instance
175918                     Service  instance  (vim.ServiceInstance)  of  the   vCen‐
175919                     ter/ESXi host.  Default is None.
175920
175921                 salt '*' vsphere.list_datastores_via_proxy
175922
175923                 salt '*' vsphere.list_datastores_via_proxy datastore_names=[ds1, ds2]
175924
175925       salt.modules.vsphere.list_default_storage_policy_of_datastore(*args,
175926       **kwargs)
175927              Returns a list of datastores assign the the storage policies.
175928
175929              datastore
175930                     Name of the datastore to assign.  The datastore needs  to
175931                     be visible to the VMware entity the proxy points to.
175932
175933              service_instance
175934                     Service  instance  (vim.ServiceInstance)  of the vCenter.
175935                     Default is None.
175936
175937                 salt '*' vsphere.list_default_storage_policy_of_datastore datastore=ds1
175938
175939       salt.modules.vsphere.list_default_vsan_policy(*args, **kwargs)
175940              Returns the default vsan storage policy.
175941
175942              service_instance
175943                     Service instance (vim.ServiceInstance)  of  the  vCenter.
175944                     Default is None.
175945
175946                 salt '*' vsphere.list_storage_policies
175947
175948                 salt '*' vsphere.list_storage_policy policy_names=[policy_name]
175949
175950       salt.modules.vsphere.list_disk_partitions(*args, **kwargs)
175951              Lists  the  partitions  on  a  disk.   The disk can be specified
175952              either by the canonical name, or by the scsi_address.
175953
175954              disk_id
175955                     Canonical  name  of  the   disk.    Either   disk_id   or
175956                     scsi_address  needs  to  be specified (disk_id supersedes
175957                     scsi_address.
175958
175959              scsi_address`
175960                     Scsi address of the disk.  disk_id or scsi_address  needs
175961                     to be specified (disk_id supersedes scsi_address.
175962
175963              service_instance
175964                     Service   instance  (vim.ServiceInstance)  of  the  vCen‐
175965                     ter/ESXi host.  Default is None.
175966
175967                 salt '*' vsphere.list_disk_partitions scsi_address='vmhaba0:C0:T0:L0'
175968
175969                 salt '*' vsphere.list_disk_partitions disk_id='naa.000000000000001'
175970
175971       salt.modules.vsphere.list_diskgroups(*args, **kwargs)
175972              Returns a list of disk group  dict  representation  on  an  ESXi
175973              host.   The  list  of  disk  groups can be filtered by the cache
175974              disks canonical names. If no  filtering  is  applied,  all  disk
175975              groups are returned.
175976
175977              cache_disk_ids:
175978                     List  of cache disk canonical names of the disk groups to
175979                     be retrieved.  Default is None.
175980
175981              use_proxy_details
175982                     Specify whether to use the proxy minion's details instead
175983                     of the arguments
175984
175985              service_instance
175986                     Service   instance  (vim.ServiceInstance)  of  the  vCen‐
175987                     ter/ESXi host.  Default is None.
175988
175989                 salt '*' vsphere.list_diskgroups
175990
175991                 salt '*' vsphere.list_diskgroups cache_disk_ids='[naa.000000000000001]'
175992
175993       salt.modules.vsphere.list_disks(*args, **kwargs)
175994              Returns a list of dict representations of the disks in  an  ESXi
175995              host.  The list of disks can be filtered by disk canonical names
175996              or scsi addresses.
175997
175998              disk_ids:
175999                     List of disk canonical names to be retrieved. Default  is
176000                     None.
176001
176002              scsi_addresses
176003                     List  of scsi addresses of disks to be retrieved. Default
176004                     is None
176005
176006              service_instance
176007                     Service  instance  (vim.ServiceInstance)  of  the   vCen‐
176008                     ter/ESXi host.  Default is None.
176009
176010                 salt '*' vsphere.list_disks
176011
176012                 salt '*' vsphere.list_disks disk_ids='[naa.00, naa.001]'
176013
176014                 salt '*' vsphere.list_disks
176015                     scsi_addresses='[vmhba0:C0:T0:L0, vmhba1:C0:T0:L0]'
176016
176017       salt.modules.vsphere.list_dvportgroups(*args, **kwargs)
176018              Returns  a  list  of distributed virtual switch portgroups.  The
176019              list can be filtered by the portgroup names or by the DVS.
176020
176021              dvs    Name of the DVS containing the portgroups.  Default value
176022                     is None.
176023
176024              portgroup_names
176025                     List  of  portgroup names to look for. If None, all port‐
176026                     groups are returned.  Default value is None
176027
176028              service_instance
176029                     Service instance (vim.ServiceInstance)  of  the  vCenter.
176030                     Default is None.
176031
176032                 salt '*' vsphere.list_dvporgroups
176033
176034                 salt '*' vsphere.list_dvportgroups dvs=dvs1
176035
176036                 salt '*' vsphere.list_dvportgroups portgroup_names=[pg1]
176037
176038                 salt '*' vsphere.list_dvportgroups dvs=dvs1 portgroup_names=[pg1]
176039
176040       salt.modules.vsphere.list_dvss(*args, **kwargs)
176041              Returns a list of distributed virtual switches (DVSs).  The list
176042              can be filtered by the datacenter or DVS names.
176043
176044              datacenter
176045                     The datacenter to look for DVSs  in.   Default  value  is
176046                     None.
176047
176048              dvs_names
176049                     List  of  DVS  names  to  look for. If None, all DVSs are
176050                     returned.  Default value is None.
176051
176052                 salt '*' vsphere.list_dvss
176053
176054                 salt '*' vsphere.list_dvss dvs_names=[dvs1,dvs2]
176055
176056       salt.modules.vsphere.list_hosts_via_proxy(*args, **kwargs)
176057              Returns a list of hosts for the the  specified  VMware  environ‐
176058              ment.  The  list  of  hosts  can  be filtered by datacenter name
176059              and/or cluster name
176060
176061              hostnames
176062                     Hostnames to filter on.
176063
176064              datacenter_name
176065                     Name of datacenter. Only hosts in this datacenter will be
176066                     retrieved.  Default is None.
176067
176068              cluster_name
176069                     Name  of  cluster.  Only  hosts  in  this cluster will be
176070                     retrieved. If a datacenter is  not  specified  the  first
176071                     cluster  with  this  name will be considerred. Default is
176072                     None.
176073
176074              service_instance
176075                     Service  instance  (vim.ServiceInstance)  of  the   vCen‐
176076                     ter/ESXi host.  Default is None.
176077
176078              CLI Example:
176079
176080                 salt '*' vsphere.list_hosts_via_proxy
176081
176082                 salt '*' vsphere.list_hosts_via_proxy hostnames=[esxi1.example.com]
176083
176084                 salt '*' vsphere.list_hosts_via_proxy datacenter=dc1 cluster=cluster1
176085
176086       salt.modules.vsphere.list_licenses(*args, **kwargs)
176087              Lists all licenses on a vCenter.
176088
176089              service_instance
176090                     Service   instance  (vim.ServiceInstance)  of  the  vCen‐
176091                     ter/ESXi host.  Default is None.
176092
176093                 salt '*' vsphere.list_licenses
176094
176095       salt.modules.vsphere.list_storage_policies(*args, **kwargs)
176096              Returns a list of storage policies.
176097
176098              policy_names
176099                     Names of policies to list.  If  None,  all  policies  are
176100                     listed.  Default is None.
176101
176102              service_instance
176103                     Service  instance  (vim.ServiceInstance)  of the vCenter.
176104                     Default is None.
176105
176106                 salt '*' vsphere.list_storage_policies
176107
176108                 salt '*' vsphere.list_storage_policy policy_names=[policy_name]
176109
176110       salt.modules.vsphere.list_uplink_dvportgroup(*args, **kwargs)
176111              Returns the uplink portgroup of a distributed virtual switch.
176112
176113              dvs    Name of the DVS containing the portgroup.
176114
176115              service_instance
176116                     Service instance (vim.ServiceInstance)  of  the  vCenter.
176117                     Default is None.
176118
176119                 salt '*' vsphere.list_uplink_dvportgroup dvs=dvs_name
176120
176121       salt.modules.vsphere.power_off_vm(*args, **kwargs)
176122              Powers off a virtual machine specified by it's name.
176123
176124              name   Name of the virtual machine
176125
176126              datacenter
176127                     Datacenter of the virtual machine
176128
176129              service_instance
176130                     Service  instance  (vim.ServiceInstance)  of the vCenter.
176131                     Default is None.
176132
176133                 salt '*' vsphere.power_off_vm name=my_vm
176134
176135       salt.modules.vsphere.power_on_vm(*args, **kwargs)
176136              Powers on a virtual machine specified by it's name.
176137
176138              name   Name of the virtual machine
176139
176140              datacenter
176141                     Datacenter of the virtual machine
176142
176143              service_instance
176144                     Service instance (vim.ServiceInstance)  of  the  vCenter.
176145                     Default is None.
176146
176147                 salt '*' vsphere.power_on_vm name=my_vm
176148
176149       salt.modules.vsphere.register_vm(*args, **kwargs)
176150              Registers  a virtual machine to the inventory with the given vmx
176151              file.  Returns comments and change list
176152
176153              name   Name of the virtual machine
176154
176155              datacenter
176156                     Datacenter of the virtual machine
176157
176158              placement
176159                     Placement dictionary of  the  virtual  machine,  host  or
176160                     cluster
176161
176162              vmx_path:
176163                     Full  path  to  the  vmx  file,  datastore name should be
176164                     included
176165
176166              service_instance
176167                     Service instance (vim.ServiceInstance)  of  the  vCenter.
176168                     Default is None.
176169
176170       salt.modules.vsphere.remove_capacity_from_diskgroup(*args, **kwargs)
176171              Remove  capacity  disks  from  the disk group with the specified
176172              cache disk.
176173
176174              cache_disk_id
176175                     The canonical name of the cache disk.
176176
176177              capacity_disk_ids
176178                     A list containing canonical names of the  capacity  disks
176179                     to add.
176180
176181              data_evacuation
176182                     Specifies  whether to gracefully evacuate the data on the
176183                     capacity disks before removing them from the disk  group.
176184                     Default value is True.
176185
176186              safety_checks
176187                     Specify  whether  to  perform safety check or to skip the
176188                     checks and try  performing  the  required  task.  Default
176189                     value is True.
176190
176191              service_instance
176192                     Service   instance  (vim.ServiceInstance)  of  the  vCen‐
176193                     ter/ESXi host.  Default is None.
176194
176195                 salt '*' vsphere.remove_capacity_from_diskgroup
176196                     cache_disk_id='naa.000000000000001'
176197                     capacity_disk_ids='[naa.000000000000002, naa.000000000000003]'
176198
176199       salt.modules.vsphere.remove_datastore(*args, **kwargs)
176200              Removes a datastore. If multiple datastores an error is raised.
176201
176202              datastore
176203                     Datastore name
176204
176205              service_instance
176206                     Service  instance  (vim.ServiceInstance)  of  the   vCen‐
176207                     ter/ESXi host.  Default is None.
176208
176209                 salt '*' vsphere.remove_datastore ds_name
176210
176211       salt.modules.vsphere.remove_diskgroup(*args, **kwargs)
176212              Remove the diskgroup with the specified cache disk.
176213
176214              cache_disk_id
176215                     The canonical name of the cache disk.
176216
176217              data_accessibility
176218                     Specifies  whether  to ensure data accessibility. Default
176219                     value is True.
176220
176221              service_instance
176222                     Service  instance  (vim.ServiceInstance)  of  the   vCen‐
176223                     ter/ESXi host.  Default is None.
176224
176225                 salt '*' vsphere.remove_diskgroup cache_disk_id='naa.000000000000001'
176226
176227       salt.modules.vsphere.remove_dvportgroup(*args, **kwargs)
176228              Removes a distributed virtual portgroup.
176229
176230              portgroup
176231                     Name of the portgroup to be removed.
176232
176233              dvs    Name of the DVS containing the portgroups.
176234
176235              service_instance
176236                     Service  instance  (vim.ServiceInstance)  of the vCenter.
176237                     Default is None.
176238
176239                 salt '*' vsphere.remove_dvportgroup portgroup=pg1 dvs=dvs1
176240
176241       salt.modules.vsphere.rename_datastore(*args, **kwargs)
176242              Renames a datastore. The datastore needs to be  visible  to  the
176243              proxy.
176244
176245              datastore_name
176246                     Current datastore name.
176247
176248              new_datastore_name
176249                     New datastore name.
176250
176251              service_instance
176252                     Service   instance  (vim.ServiceInstance)  of  the  vCen‐
176253                     ter/ESXi host.  Default is None.
176254
176255                 salt '*' vsphere.rename_datastore old_name new_name
176256
176257       salt.modules.vsphere.reset_syslog_config(host, username, password, pro‐
176258       tocol=None,   port=None,   syslog_config=None,  esxi_hosts=None,  cred‐
176259       store=None)
176260              Reset the syslog service to its default settings.
176261
176262              Valid syslog_config values are logdir,  loghost,  logdir-unique,
176263              default-rotate, default-size, default-timeout, or all for all of
176264              these.
176265
176266              host   The location of the host.
176267
176268              username
176269                     The username used to login to the host, such as root.
176270
176271              password
176272                     The password used to login to the host.
176273
176274              protocol
176275                     Optionally set to alternate protocol if the host  is  not
176276                     using the default protocol. Default protocol is https.
176277
176278              port   Optionally set to alternate port if the host is not using
176279                     the default port. Default port is 443.
176280
176281              syslog_config
176282                     List of parameters to reset, provided as  a  comma-delim‐
176283                     ited  string,  or 'all' to reset all syslog configuration
176284                     parameters. Required.
176285
176286              esxi_hosts
176287                     If host is a vCenter host, then use esxi_hosts to execute
176288                     this function on a list of one or more ESXi machines.
176289
176290              credstore
176291                     Optionally set to path to the credential store file.
176292
176293              Returns
176294                     Dictionary  with a top-level key of 'success' which indi‐
176295                     cates if all the parameters were  reset,  and  individual
176296                     keys  for  each  parameter  indicating which succeeded or
176297                     failed, per host.
176298
176299              CLI Example:
176300
176301              syslog_config can be passed as a quoted, comma-separated string,
176302              e.g.
176303
176304                 # Used for ESXi host connection information
176305                 salt '*' vsphere.reset_syslog_config my.esxi.host root bad-password             syslog_config='logdir,loghost'
176306
176307                 # Used for connecting to a vCenter Server
176308                 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]'
176309
176310       salt.modules.vsphere.set_advanced_configs(*args, **kwargs)
176311              Appends  extra  config  parameters to a virtual machine advanced
176312              config list
176313
176314              vm_name
176315                     Virtual machine name
176316
176317              datacenter
176318                     Datacenter name where the virtual machine is available
176319
176320              advanced_configs
176321                     Dictionary with advanced parameter key value pairs
176322
176323              service_instance
176324                     vCenter service instance for connection and configuration
176325
176326       salt.modules.vsphere.set_coredump_network_config(host, username,  pass‐
176327       word,     dump_ip,    protocol=None,    port=None,    host_vnic='vmk0',
176328       dump_port=6500, esxi_hosts=None, credstore=None)
176329              Set the network parameters for a  network  coredump  collection.
176330              Note  that  ESXi  requires  that the dumps first be enabled (see
176331              coredump_network_enable) before these parameters may be set.
176332
176333              host   The location of the host.
176334
176335              username
176336                     The username used to login to the host, such as root.
176337
176338              password
176339                     The password used to login to the host.
176340
176341              dump_ip
176342                     IP address of host that will accept the dump.
176343
176344              protocol
176345                     Optionally set to alternate protocol if the host  is  not
176346                     using the default protocol. Default protocol is https.
176347
176348              port   Optionally set to alternate port if the host is not using
176349                     the default port. Default port is 443.
176350
176351              esxi_hosts
176352                     If host is a vCenter host, then use esxi_hosts to execute
176353                     this function on a list of one or more ESXi machines.
176354
176355              host_vnic
176356                     Host  VNic port through which to communicate. Defaults to
176357                     vmk0.
176358
176359              dump_port
176360                     TCP port to use for the dump, defaults to 6500.
176361
176362              credstore
176363                     Optionally set to path to the credential store file.
176364
176365              Returns
176366                     A standard cmd.run_all  dictionary  with  a  success  key
176367                     added,  per  host.   success will be True if the set suc‐
176368                     ceeded, False otherwise.
176369
176370              CLI Example:
176371
176372                 # Used for ESXi host connection information
176373                 salt '*' vsphere.set_coredump_network_config my.esxi.host root bad-password 'dump_ip.host.com'
176374
176375                 # Used for connecting to a vCenter Server
176376                 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]'
176377
176378       salt.modules.vsphere.set_syslog_config(host, username,  password,  sys‐
176379       log_config,   config_value,  protocol=None,  port=None,  firewall=True,
176380       reset_service=True, esxi_hosts=None, credstore=None)
176381              Set the specified syslog configuration  parameter.  By  default,
176382              this function will reset the syslog service after the configura‐
176383              tion is set.
176384
176385              host   ESXi or vCenter host to connect to.
176386
176387              username
176388                     User to connect as, usually root.
176389
176390              password
176391                     Password to connect with.
176392
176393              syslog_config
176394                     Name of parameter to set (corresponds to the command line
176395                     switch for esxcli without the double dashes (--))
176396
176397                     Valid   syslog_config   values   are   logdir,   loghost,
176398                     default-rotate`,  ``default-size,  default-timeout,   and
176399                     logdir-unique.
176400
176401              config_value
176402                     Value  for  the  above parameter. For loghost, URLs or IP
176403                     addresses to use for logging. Multiple log servers can be
176404                     specified  by  listing them, comma-separated, but without
176405                     spaces before or after commas.
176406
176407                     (reference:
176408                     https://blogs.vmware.com/vsphere/2012/04/configuring-multiple-syslog-servers-for-esxi-5.html)
176409
176410              protocol
176411                     Optionally set to alternate protocol if the host  is  not
176412                     using the default protocol. Default protocol is https.
176413
176414              port   Optionally set to alternate port if the host is not using
176415                     the default port. Default port is 443.
176416
176417              firewall
176418                     Enable the firewall rule  set  for  syslog.  Defaults  to
176419                     True.
176420
176421              reset_service
176422                     After  a  successful  parameter  set,  reset the service.
176423                     Defaults to True.
176424
176425              esxi_hosts
176426                     If host is a vCenter host, then use esxi_hosts to execute
176427                     this function on a list of one or more ESXi machines.
176428
176429              credstore
176430                     Optionally set to path to the credential store file.
176431
176432              Returns
176433                     Dictionary  with a top-level key of 'success' which indi‐
176434                     cates if all the parameters were  reset,  and  individual
176435                     keys  for  each  parameter  indicating which succeeded or
176436                     failed, per host.
176437
176438              CLI Example:
176439
176440                 # Used for ESXi host connection information
176441                 salt '*' vsphere.set_syslog_config my.esxi.host root bad-password             loghost ssl://localhost:5432,tcp://10.1.0.1:1514
176442
176443                 # Used for connecting to a vCenter Server
176444                 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]'
176445
176446       salt.modules.vsphere.supports_proxies(*proxy_types)
176447              Decorator to specify which proxy types are supported by a  func‐
176448              tion
176449
176450              proxy_types:
176451                     Arbitrary  list  of  strings  with the supported types of
176452                     proxies
176453
176454       salt.modules.vsphere.syslog_service_reload(host,  username,   password,
176455       protocol=None, port=None, esxi_hosts=None, credstore=None)
176456              Reload the syslog service so it will pick up any changes.
176457
176458              host   The location of the host.
176459
176460              username
176461                     The username used to login to the host, such as root.
176462
176463              password
176464                     The password used to login to the host.
176465
176466              protocol
176467                     Optionally  set  to alternate protocol if the host is not
176468                     using the default protocol. Default protocol is https.
176469
176470              port   Optionally set to alternate port if the host is not using
176471                     the default port. Default port is 443.
176472
176473              esxi_hosts
176474                     If host is a vCenter host, then use esxi_hosts to execute
176475                     this function on a list of one or more ESXi machines.
176476
176477              credstore
176478                     Optionally set to path to the credential store file.
176479
176480              Returns
176481                     A standard cmd.run_all dictionary.  This dictionary  will
176482                     at least have a retcode key.  If retcode is 0 the command
176483                     was successful.
176484
176485              CLI Example:
176486
176487                 # Used for ESXi host connection information
176488                 salt '*' vsphere.syslog_service_reload my.esxi.host root bad-password
176489
176490                 # Used for connecting to a vCenter Server
176491                 salt '*' vsphere.syslog_service_reload my.vcenter.location root bad-password             esxi_hosts='[esxi-1.host.com, esxi-2.host.com]'
176492
176493       salt.modules.vsphere.test_vcenter_connection(*args, **kwargs)
176494              Checks if a connection is to a vCenter
176495
176496              CLI Example:
176497
176498                 salt '*' vsphere.test_vcenter_connection
176499
176500       salt.modules.vsphere.unregister_vm(*args, **kwargs)
176501              Unregisters a virtual machine defined by name and placement
176502
176503              name   Name of the virtual machine
176504
176505              datacenter
176506                     Datacenter of the virtual machine
176507
176508              placement
176509                     Placement information of the virtual machine
176510
176511              service_instance
176512                     vCenter service instance for connection and configuration
176513
176514                 salt '*' vsphere.unregister_vm name=my_vm datacenter=my_datacenter
176515
176516       salt.modules.vsphere.update_cluster(*args, **kwargs)
176517              Updates a cluster.
176518
176519              config_dict
176520                     Dictionary with the config values of the new cluster.
176521
176522              datacenter
176523                     Name of datacenter containing the  cluster.   Ignored  if
176524                     already  contained  by  proxy  details.  Default value is
176525                     None.
176526
176527              cluster
176528                     Name of cluster.  Ignored if already contained  by  proxy
176529                     details.  Default value is None.
176530
176531              service_instance
176532                     Service  instance  (vim.ServiceInstance)  of the vCenter.
176533                     Default is None.
176534
176535                 # esxdatacenter proxy
176536                 salt '*' vsphere.update_cluster cluster_dict=$cluster_dict cluster=cl1
176537
176538                 # esxcluster proxy
176539                 salt '*' vsphere.update_cluster cluster_dict=$cluster_dict
176540
176541       salt.modules.vsphere.update_dvportgroup(*args, **kwargs)
176542              Updates a distributed virtual portgroup.
176543
176544              portgroup_dict
176545                     Dictionary with the values the portgroup should be update
176546                     with (example in salt.states.dvs).
176547
176548              portgroup
176549                     Name of the portgroup to be updated.
176550
176551              dvs    Name of the DVS containing the portgroups.
176552
176553              service_instance
176554                     Service  instance  (vim.ServiceInstance)  of the vCenter.
176555                     Default is None.
176556
176557                 salt '*' vsphere.update_dvportgroup portgroup_dict=<dict>
176558                     portgroup=pg1
176559
176560                 salt '*' vsphere.update_dvportgroup portgroup_dict=<dict>
176561                     portgroup=pg1 dvs=dvs1
176562
176563       salt.modules.vsphere.update_dvs(*args, **kwargs)
176564              Updates a distributed virtual switch (DVS).
176565
176566              Note: Updating the product info, capability, uplinks of a DVS is
176567              not
176568                     supported  so  the corresponding entries in dvs_dict will
176569                     be ignored.
176570
176571              dvs_dict
176572                     Dictionary with the values the DVS should be update  with
176573                     (example in salt.states.dvs)
176574
176575              dvs    Name of the DVS to be updated.
176576
176577              service_instance
176578                     Service  instance  (vim.ServiceInstance)  of the vCenter.
176579                     Default is None.
176580
176581                 salt '*' vsphere.update_dvs dvs_dict=$dvs_dict dvs=dvs1
176582
176583       salt.modules.vsphere.update_storage_policy(*args, **kwargs)
176584              Updates a storage policy.
176585
176586              Supported capability types: scalar, set, range.
176587
176588              policy Name of the policy to update.
176589
176590              policy_dict
176591                     Dictionary containing the changes to apply to the policy.
176592                     (example in salt.states.pbm)
176593
176594              service_instance
176595                     Service  instance  (vim.ServiceInstance)  of the vCenter.
176596                     Default is None.
176597
176598                 salt '*' vsphere.update_storage_policy policy='policy name'
176599                     policy_dict="$policy_dict"
176600
176601       salt.modules.vsphere.update_vm(*args, **kwargs)
176602              Updates the configuration of the virtual machine if  the  config
176603              differs
176604
176605              vm_name
176606                     Virtual Machine name to be updated
176607
176608              cpu    CPU configuration options
176609
176610              memory Memory configuration options
176611
176612              version
176613                     Virtual machine container hardware version
176614
176615              image  Virtual  machine  guest  OS version identifier VirtualMa‐
176616                     chineGuestOsIdentifier
176617
176618              interfaces
176619                     Network interfaces configuration options
176620
176621              disks  Disks configuration options
176622
176623              scsi_devices
176624                     SCSI devices configuration options
176625
176626              serial_ports
176627                     Serial ports configuration options
176628
176629              datacenter
176630                     Datacenter where the virtual machine is available
176631
176632              datastore
176633                     Datastore where the  virtual  machine  config  files  are
176634                     available
176635
176636              cd_dvd_drives
176637                     CD/DVD drives configuration options
176638
176639              advanced_config
176640                     Advanced  config  parameters  to  be  set for the virtual
176641                     machine
176642
176643              service_instance
176644                     vCenter service instance for connection and configuration
176645
176646   salt.modules.win_autoruns
176647       Module for listing programs that automatically  run  on  startup  (very
176648       alpha...not tested on anything but my Win 7x64)
176649
176650       salt.modules.win_autoruns.list_()
176651              Get a list of automatically running programs
176652
176653              CLI Example:
176654
176655                 salt '*' autoruns.list
176656
176657   salt.modules.win_certutil module
176658       This  module  allows  you to install certificates into the windows cer‐
176659       tificate manager.
176660
176661          salt '*' certutil.add_store salt://cert.cer "TrustedPublisher"
176662
176663       salt.modules.win_certutil.add_store(source, store, saltenv=u'base')
176664              Add the given cert into the given Certificate Store
176665
176666              source The source certificate file  this  can  be  in  the  form
176667                     salt://path/to/file
176668
176669              store  The certificate store to add the certificate to
176670
176671              saltenv
176672                     The  salt  environment to use this is ignored if the path
176673                     is local
176674
176675              CLI Example:
176676
176677                 salt '*' certutil.add_store salt://cert.cer TrustedPublisher
176678
176679       salt.modules.win_certutil.del_store(source, store, saltenv=u'base')
176680              Delete the given cert into the given Certificate Store
176681
176682              source The source certificate file  this  can  be  in  the  form
176683                     salt://path/to/file
176684
176685              store  The certificate store to delete the certificate from
176686
176687              saltenv
176688                     The  salt  environment to use this is ignored if the path
176689                     is local
176690
176691              CLI Example:
176692
176693                 salt '*' certutil.del_store salt://cert.cer TrustedPublisher
176694
176695       salt.modules.win_certutil.get_cert_serial(cert_file)
176696              Get the serial number of a certificate file
176697
176698              cert_file
176699                     The certificate file to find the serial for
176700
176701              CLI Example:
176702
176703                 salt '*' certutil.get_cert_serial <certificate name>
176704
176705       salt.modules.win_certutil.get_stored_cert_serials(store)
176706              Get all of the certificate serials in the specified store
176707
176708              store  The store to get all the certificate serials from
176709
176710              CLI Example:
176711
176712                 salt '*' certutil.get_stored_cert_serials <store>
176713
176714   salt.modules.win_dacl
176715       Manage DACLs on Windows
176716
176717       depends
176718
176719              · winreg Python module
176720
176721       salt.modules.win_dacl.add_ace(path, objectType, user, permission,  ace‐
176722       type, propagation)
176723              add an ace to an object
176724
176725              path:      path    to    the    object    (i.e.    c:\temp\file,
176726              HKEY_LOCAL_MACHINE\SOFTWARE\KEY, etc) user: user to add  permis‐
176727              sion:   permissions for the user acetype:  either allow/deny for
176728              each user/permission (ALLOW,  DENY)  propagation:  how  the  ACE
176729              applies  to  children  for  Registry  Keys  and Directories(KEY,
176730              KEY&SUBKEYS, SUBKEYS)
176731
176732              CLI Example:
176733
176734                 allow domain\fakeuser full control on HKLM\\SOFTWARE\\somekey, propagate to this key and subkeys
176735                     salt 'myminion' win_dacl.add_ace 'HKEY_LOCAL_MACHINE\\SOFTWARE\\somekey' 'Registry' 'domain\fakeuser' 'FULLCONTROL' 'ALLOW' 'KEY&SUBKEYS'
176736
176737       salt.modules.win_dacl.check_ace(path,   objectType,    user,    permis‐
176738       sion=None, acetype=None, propagation=None, exactPermissionMatch=False)
176739              Checks a path to verify the ACE (access control entry) specified
176740              exists
176741
176742              Parameters
176743
176744                     · path -- path to the file/reg key
176745
176746                     · objectType -- The type of object (FILE, DIRECTORY, REG‐
176747                       ISTRY)
176748
176749                     · user -- user that the ACL is for
176750
176751                     · permission  --  permission  to test for (READ, FULLCON‐
176752                       TROL, etc)
176753
176754                     · acetype -- the type of ACE (ALLOW or DENY)
176755
176756                     · propagation -- the propagation type of the ACE  (FILES,
176757                       FOLDERS, KEY, KEY&SUBKEYS, SUBKEYS, etc)
176758
176759                     · exactPermissionMatch  -- the ACL must match exactly, IE
176760                       if READ is specified, the user must have  READ  exactly
176761                       and not FULLCONTROL (which also has the READ permission
176762                       obviously)
176763
176764              Returns (dict): 'Exists' true if the ACE  exists,  false  if  it
176765              does not
176766
176767              CLI Example:
176768
176769                 salt 'minion-id' win_dacl.check_ace c:  emp directory <username> fullcontrol
176770
176771       salt.modules.win_dacl.check_inheritance(path, objectType, user=None)
176772              Check a specified path to verify if inheritance is enabled
176773
176774              Parameters
176775
176776                     · path  -- path of the registry key or file system object
176777                       to check
176778
176779                     · objectType -- The type of object (FILE, DIRECTORY, REG‐
176780                       ISTRY)
176781
176782                     · user  --  if  provided, will consider only the ACEs for
176783                       that user
176784
176785              Returns (bool): 'Inheritance' of True/False
176786
176787              CLI Example:
176788
176789                 salt 'minion-id' win_dacl.check_inheritance c:  emp directory <username>
176790
176791       class salt.modules.win_dacl.daclConstants
176792              DACL constants used throughout the module
176793
176794              getAceTypeBit(t)
176795                     returns the acetype bit of a text value
176796
176797              getAceTypeText(t)
176798                     returns the textual representation of a acetype bit
176799
176800              getObjectTypeBit(t)
176801                     returns the bit value of the string object type
176802
176803              getPermissionBit(t, m)
176804                     returns a permission bit of the string  permission  value
176805                     for the specified object type
176806
176807              getPermissionText(t, m)
176808                     returns the permission textual representation of a speci‐
176809                     fied permission bit/object type
176810
176811              getPropagationBit(t, p)
176812                     returns the propagation bit of a text value
176813
176814              getPropagationText(t, p)
176815                     returns the textual representation of a propagation bit
176816
176817              getSecurityHkey(s)
176818                     returns the necessary string value for an  HKEY  for  the
176819                     win32security module
176820
176821              processPath(path, objectType)
176822
176823                     processes a path/object type combo and returns:
176824                            registry  types  with the correct HKEY text repre‐
176825                            sentation files/directories with environment vari‐
176826                            ables expanded
176827
176828       salt.modules.win_dacl.disable_inheritance(path, objectType, copy=True)
176829              Disable inheritance on an object
176830
176831              Parameters
176832
176833                     · path -- The path to the object
176834
176835                     · objectType -- The type of object (FILE, DIRECTORY, REG‐
176836                       ISTRY)
176837
176838                     · copy -- True will copy the Inherited ACEs to  the  DACL
176839                       before disabling inheritance
176840
176841              Returns (dict): A dictionary containing the results
176842
176843              CLI Example:
176844
176845                 salt 'minion-id' win_dacl.disable_inheritance c:        emp directory
176846
176847       salt.modules.win_dacl.enable_inheritance(path, objectType, clear=False)
176848              enable/disable inheritance on an object
176849
176850              Parameters
176851
176852                     · path -- The path to the object
176853
176854                     · objectType -- The type of object (FILE, DIRECTORY, REG‐
176855                       ISTRY)
176856
176857                     · clear -- True will remove non-Inherited ACEs  from  the
176858                       ACL
176859
176860              Returns (dict): A dictionary containing the results
176861
176862              CLI Example:
176863
176864                 salt 'minion-id' win_dacl.enable_inheritance c: emp directory
176865
176866       salt.modules.win_dacl.get(path, objectType, user=None)
176867              Get  the  ACL  of  an object. Will filter by user if one is pro‐
176868              vided.
176869
176870              Parameters
176871
176872                     · path -- The path to the object
176873
176874                     · objectType -- The type of object (FILE, DIRECTORY, REG‐
176875                       ISTRY)
176876
176877                     · user -- A user name to filter by
176878
176879              Returns (dict): A dictionary containing the ACL
176880
176881              CLI Example:
176882
176883                 salt 'minion-id' win_dacl.get c:        emp directory
176884
176885       salt.modules.win_dacl.rm_ace(path,  objectType,  user, permission=None,
176886       acetype=None, propagation=None)
176887              remove an ace to an object
176888
176889              path:     path    to    the    object    (i.e.     c:\temp\file,
176890              HKEY_LOCAL_MACHINE\SOFTWARE\KEY,  etc) user: user to remove per‐
176891              mission:  permissions for the user acetypes:  either  allow/deny
176892              for  each user/permission (ALLOW, DENY) propagation: how the ACE
176893              applies to  children  for  Registry  Keys  and  Directories(KEY,
176894              KEY&SUBKEYS, SUBKEYS)
176895
176896              If  any  of the optional parameters are omitted (or set to None)
176897              they act as wildcards.
176898
176899              CLI Example:
176900
176901                 remove allow domain\fakeuser full control on HKLM\\SOFTWARE\\somekey propagated to this key and subkeys
176902                     salt 'myminion' win_dacl.rm_ace 'Registry' 'HKEY_LOCAL_MACHINE\\SOFTWARE\\somekey' 'domain\fakeuser' 'FULLCONTROL' 'ALLOW' 'KEY&SUBKEYS'
176903
176904   salt.modules.win_disk
176905       Module for gathering disk information on Windows
176906
176907       depends
176908
176909              · win32api Python module
176910
176911       salt.modules.win_disk.usage()
176912              Return usage information for volumes mounted on this minion
176913
176914              CLI Example:
176915
176916                 salt '*' disk.usage
176917
176918   salt.modules.win_dism module
176919       Install features/packages for Windows using DISM, which is  useful  for
176920       minions not running server versions of Windows. Some functions are only
176921       available on Windows 10.
176922
176923       salt.modules.win_dism.add_capability(capability,           source=None,
176924       limit_access=False, image=None, restart=False)
176925              Install a capability
176926
176927              Parameters
176928
176929                     · capability (str) -- The capability to install
176930
176931                     · source  (Optional[str])  --  The optional source of the
176932                       capability. Default is set by group policy and  can  be
176933                       Windows Update.
176934
176935                     · limit_access (Optional[bool]) -- Prevent DISM from con‐
176936                       tacting Windows Update for the source package
176937
176938                     · image (Optional[str]) -- The path to the root directory
176939                       of  an  offline  Windows  image. If None is passed, the
176940                       running operating system is targeted. Default is None.
176941
176942                     · restart  (Optional[bool])  --  Reboot  the  machine  if
176943                       required by the install
176944
176945              Raises
176946
176947                     · NotImplementedError -- For all versions of Windows that
176948                       are not Windows 10
176949
176950                     · and later. Server editions of Windows use ServerManager
176951                       instead.
176952
176953              Returns
176954                     A dictionary containing the results of the command
176955
176956              Return type
176957                     dict
176958
176959              CLI Example:
176960
176961                 salt '*' dism.add_capability Tools.Graphics.DirectX~~~~0.0.1.0
176962
176963       salt.modules.win_dism.add_feature(feature,  package=None,  source=None,
176964       limit_access=False, enable_parent=False, image=None, restart=False)
176965              Install a feature using DISM
176966
176967              Parameters
176968
176969                     · feature (str) -- The feature to install
176970
176971                     · package (Optional[str]) -- The parent package  for  the
176972                       feature.  You  do not have to specify the package if it
176973                       is the  Windows  Foundation  Package.   Otherwise,  use
176974                       package to specify the parent package of the feature
176975
176976                     · source  (Optional[str])  --  The optional source of the
176977                       capability. Default is set by group policy and  can  be
176978                       Windows Update
176979
176980                     · limit_access (Optional[bool]) -- Prevent DISM from con‐
176981                       tacting Windows Update for the source package
176982
176983                     · enable_parent (Optional[bool]) -- True will enable  all
176984                       parent features of the specified feature
176985
176986                     · image (Optional[str]) -- The path to the root directory
176987                       of an offline Windows image. If  None  is  passed,  the
176988                       running operating system is targeted. Default is None.
176989
176990                     · restart  (Optional[bool])  --  Reboot  the  machine  if
176991                       required by the install
176992
176993              Returns
176994                     A dictionary containing the results of the command
176995
176996              Return type
176997                     dict
176998
176999              CLI Example:
177000
177001                 salt '*' dism.add_feature NetFx3
177002
177003       salt.modules.win_dism.add_package(package,   ignore_check=False,   pre‐
177004       vent_pending=False, image=None, restart=False)
177005              Install a package using DISM
177006
177007              Parameters
177008
177009                     · package (str) --
177010
177011                       The  package  to  install.  Can  be a .cab file, a .msu
177012                       file, or a folder
177013
177014                       NOTE:
177015                          An .msu package is supported only  when  the  target
177016                          image is offline, either mounted or applied.
177017
177018
177019                     · ignore_check  (Optional[bool])  -- Skip installation of
177020                       the package if the applicability checks fail
177021
177022                     · prevent_pending (Optional[bool]) -- Skip the  installa‐
177023                       tion of the package if there are pending online actions
177024
177025                     · image (Optional[str]) -- The path to the root directory
177026                       of an offline Windows image. If  None  is  passed,  the
177027                       running operating system is targeted.  Default is None.
177028
177029                     · restart  (Optional[bool])  --  Reboot  the  machine  if
177030                       required by the install
177031
177032              Returns
177033                     A dictionary containing the results of the command
177034
177035              Return type
177036                     dict
177037
177038              CLI Example:
177039
177040                 salt '*' dism.add_package C:\Packages\package.cab
177041
177042       salt.modules.win_dism.available_capabilities(image=None)
177043              List the capabilities available on the system
177044
177045              Parameters
177046                     image (Optional[str]) -- The path to the  root  directory
177047                     of  an offline Windows image. If None is passed, the run‐
177048                     ning operating system is targeted. Default is None.
177049
177050              Raises
177051
177052                     · NotImplementedError -- For all versions of Windows that
177053                       are not Windows 10
177054
177055                     · and later. Server editions of Windows use ServerManager
177056                       instead.
177057
177058              Returns
177059                     A list of available capabilities
177060
177061              Return type
177062                     list
177063
177064              CLI Example:
177065
177066                 salt '*' dism.installed_capabilities
177067
177068       salt.modules.win_dism.available_features(image=None)
177069              List the features available on the system
177070
177071              Parameters
177072                     image (Optional[str]) -- The path to the  root  directory
177073                     of  an offline Windows image. If None is passed, the run‐
177074                     ning operating system is targeted. Default is None.
177075
177076              Returns
177077                     A list of available features
177078
177079              Return type
177080                     list
177081
177082              CLI Example:
177083
177084                 salt '*' dism.available_features
177085
177086       salt.modules.win_dism.get_capabilities(image=None)
177087              List all capabilities on the system
177088
177089              Parameters
177090                     image (Optional[str]) -- The path to the  root  directory
177091                     of  an offline Windows image. If None is passed, the run‐
177092                     ning operating system is targeted. Default is None.
177093
177094              Raises
177095
177096                     · NotImplementedError -- For all versions of Windows that
177097                       are not Windows 10
177098
177099                     · and later. Server editions of Windows use ServerManager
177100                       instead.
177101
177102              Returns
177103                     A list of capabilities
177104
177105              Return type
177106                     list
177107
177108              CLI Example:
177109
177110                 salt '*' dism.get_capabilities
177111
177112       salt.modules.win_dism.get_features(package=None, image=None)
177113              List features on the system or in a package
177114
177115              Parameters
177116
177117                     · package (Optional[str]) --
177118
177119                       The full path to the package. Can be either a  package,
177120                       not to where the file is installed. You cannot use this
177121                       command to get package information for .msu files
177122
177123                       This can also be the name of a  package  as  listed  in
177124                       dism.installed_packages
177125
177126
177127                     · image (Optional[str]) -- The path to the root directory
177128                       of an offline Windows image. If  None  is  passed,  the
177129                       running operating system is targeted. Default is None.
177130
177131              Returns
177132                     A list of features
177133
177134              Return type
177135                     list
177136
177137              CLI Example:
177138
177139                     # Return all features on the system
177140                     salt '*' dism.get_features
177141
177142                     # Return all features in package.cab
177143                     salt '*' dism.get_features C:\packages\package.cab
177144
177145                     # Return all features in the calc package
177146                     salt '*' dism.get_features Microsoft.Windows.Calc.Demo~6595b6144ccf1df~x86~en~1.0.0.0
177147
177148       salt.modules.win_dism.installed_capabilities(image=None)
177149              List the capabilities installed on the system
177150
177151              Parameters
177152                     image  (Optional[str])  -- The path to the root directory
177153                     of an offline Windows image. If None is passed, the  run‐
177154                     ning operating system is targeted. Default is None.
177155
177156              Raises
177157
177158                     · NotImplementedError -- For all versions of Windows that
177159                       are not Windows 10
177160
177161                     · and later. Server editions of Windows use ServerManager
177162                       instead.
177163
177164              Returns
177165                     A list of installed capabilities
177166
177167              Return type
177168                     list
177169
177170              CLI Example:
177171
177172                 salt '*' dism.installed_capabilities
177173
177174       salt.modules.win_dism.installed_features(image=None)
177175              List the features installed on the system
177176
177177              Parameters
177178                     image  (Optional[str])  -- The path to the root directory
177179                     of an offline Windows image. If None is passed, the  run‐
177180                     ning operating system is targeted. Default is None.
177181
177182              Returns
177183                     A list of installed features
177184
177185              Return type
177186                     list
177187
177188              CLI Example:
177189
177190                 salt '*' dism.installed_features
177191
177192       salt.modules.win_dism.installed_packages(image=None)
177193              List the packages installed on the system
177194
177195              Parameters
177196                     image  (Optional[str])  -- The path to the root directory
177197                     of an offline Windows image. If None is passed, the  run‐
177198                     ning operating system is targeted. Default is None.
177199
177200              Returns
177201                     A list of installed packages
177202
177203              Return type
177204                     list
177205
177206              CLI Example:
177207
177208                 salt '*' dism.installed_packages
177209
177210       salt.modules.win_dism.package_info(package, image=None)
177211              Display information about a package
177212
177213              Parameters
177214
177215                     · package  (str)  -- The full path to the package. Can be
177216                       either a .cab file or a folder.  Should  point  to  the
177217                       original  source  of the package, not to where the file
177218                       is installed. You cannot use this command to get  pack‐
177219                       age information for .msu files
177220
177221                     · image (Optional[str]) -- The path to the root directory
177222                       of an offline Windows image. If  None  is  passed,  the
177223                       running operating system is targeted. Default is None.
177224
177225              Returns
177226                     A dictionary containing the results of the command
177227
177228              Return type
177229                     dict
177230
177231              CLI Example:
177232
177233                 salt '*' dism. package_info C:\packages\package.cab
177234
177235       salt.modules.win_dism.remove_capability(capability,         image=None,
177236       restart=False)
177237              Uninstall a capability
177238
177239              Parameters
177240
177241                     · capability (str) -- The capability to be removed
177242
177243                     · image (Optional[str]) -- The path to the root directory
177244                       of  an  offline  Windows  image. If None is passed, the
177245                       running operating system is targeted. Default is None.
177246
177247                     · restart  (Optional[bool])  --  Reboot  the  machine  if
177248                       required by the install
177249
177250              Raises
177251
177252                     · NotImplementedError -- For all versions of Windows that
177253                       are not Windows 10
177254
177255                     · and later. Server editions of Windows use ServerManager
177256                       instead.
177257
177258              Returns
177259                     A dictionary containing the results of the command
177260
177261              Return type
177262                     dict
177263
177264              CLI Example:
177265
177266                 salt '*' dism.remove_capability Tools.Graphics.DirectX~~~~0.0.1.0
177267
177268       salt.modules.win_dism.remove_feature(feature,     remove_payload=False,
177269       image=None, restart=False)
177270              Disables the feature.
177271
177272              Parameters
177273
177274                     · feature (str) -- The feature to uninstall
177275
177276                     · remove_payload (Optional[bool]) -- Remove the feature's
177277                       payload.  Must  supply  source  when  enabling  in  the
177278                       future.
177279
177280                     · image (Optional[str]) -- The path to the root directory
177281                       of  an  offline  Windows  image. If None is passed, the
177282                       running operating system is targeted. Default is None.
177283
177284                     · restart  (Optional[bool])  --  Reboot  the  machine  if
177285                       required by the install
177286
177287              Returns
177288                     A dictionary containing the results of the command
177289
177290              Return type
177291                     dict
177292
177293              CLI Example:
177294
177295                 salt '*' dism.remove_feature NetFx3
177296
177297       salt.modules.win_dism.remove_package(package,               image=None,
177298       restart=False)
177299              Uninstall a package
177300
177301              Parameters
177302
177303                     · package (str) -- The full path to the package.  Can  be
177304                       either  a  .cab  file  or a folder. Should point to the
177305                       original source of the package, not to where  the  file
177306                       is installed. This can also be the name of a package as
177307                       listed in dism.installed_packages
177308
177309                     · image (Optional[str]) -- The path to the root directory
177310                       of  an  offline  Windows  image. If None is passed, the
177311                       running operating system is targeted. Default is None.
177312
177313                     · restart  (Optional[bool])  --  Reboot  the  machine  if
177314                       required by the install
177315
177316              Returns
177317                     A dictionary containing the results of the command
177318
177319              Return type
177320                     dict
177321
177322              CLI Example:
177323
177324                 # Remove the Calc Package
177325                 salt '*' dism.remove_package Microsoft.Windows.Calc.Demo~6595b6144ccf1df~x86~en~1.0.0.0
177326
177327                 # Remove the package.cab (does not remove C:\packages\package.cab)
177328                 salt '*' dism.remove_package C:\packages\package.cab
177329
177330   salt.modules.win_dns_client
177331       Module for configuring DNS Client on Windows systems
177332
177333       salt.modules.win_dns_client.add_dns(ip,  interface=u'Local Area Connec‐
177334       tion', index=1)
177335              Add the DNS server to the network interface (index  starts  from
177336              1)
177337
177338              Note:  if  the  interface DNS is configured by DHCP, all the DNS
177339              servers will be removed from the interface and the requested DNS
177340              will be the only one
177341
177342              CLI Example:
177343
177344                 salt '*' win_dns_client.add_dns <ip> <interface> <index>
177345
177346       salt.modules.win_dns_client.dns_dhcp(interface=u'Local   Area   Connec‐
177347       tion')
177348              Configure the interface to get its DNS  servers  from  the  DHCP
177349              server
177350
177351              CLI Example:
177352
177353                 salt '*' win_dns_client.dns_dhcp <interface>
177354
177355       salt.modules.win_dns_client.get_dns_config(interface=u'Local  Area Con‐
177356       nection')
177357              Get the type of DNS configuration (dhcp / static)
177358
177359              CLI Example:
177360
177361                 salt '*' win_dns_client.get_dns_config 'Local Area Connection'
177362
177363       salt.modules.win_dns_client.get_dns_servers(interface=u'Local Area Con‐
177364       nection')
177365              Return  a  list  of  the configured DNS servers of the specified
177366              interface
177367
177368              CLI Example:
177369
177370                 salt '*' win_dns_client.get_dns_servers 'Local Area Connection'
177371
177372       salt.modules.win_dns_client.rm_dns(ip, interface=u'Local  Area  Connec‐
177373       tion')
177374              Remove the DNS server from the network interface
177375
177376              CLI Example:
177377
177378                 salt '*' win_dns_client.rm_dns <ip> <interface>
177379
177380   salt.modules.win_dsc
177381       Module  for working with Windows PowerShell DSC (Desired State Configu‐
177382       ration)
177383
177384       This module is Alpha
177385
177386       This module applies  DSC  Configurations  in  the  form  of  PowerShell
177387       scripts or MOF (Managed Object Format) schema files.
177388
177389       Use the psget module to manage PowerShell resources.
177390
177391       The  idea  is to leverage Salt to push DSC configuration scripts or MOF
177392       files to the Minion.
177393
177394       depends
177395
177396              · PowerShell 5.0
177397
177398       salt.modules.win_dsc.apply_config(path, source=None, salt_env=u'base')
177399              Run an compiled DSC configuration (a folder  containing  a  .mof
177400              file).  The  folder can be cached from the salt master using the
177401              source option.
177402
177403              Parameters
177404
177405                     · path (str) -- Local path to the directory that contains
177406                       the .mof configuration file to apply. Required.
177407
177408                     · source (str) -- Path to the directory that contains the
177409                       .mof file on the file_roots. The source directory  will
177410                       be  copied  to the path directory and then executed. If
177411                       the path and  source  directories  differ,  the  source
177412                       directory will be applied. If source is not passed, the
177413                       config located at path will be applied. Optional.
177414
177415                     · salt_env (str) -- The  salt  environment  to  use  when
177416                       copying your source.  Default is 'base'
177417
177418              Returns
177419                     True if successful, otherwise False
177420
177421              Return type
177422                     bool
177423
177424              CLI Example:
177425
177426              To apply a config that already exists on the the system
177427
177428                 salt '*' dsc.apply_config C:\\DSC\\WebSiteConfiguration
177429
177430              To cache a configuration from the master and apply it:
177431
177432                 salt '*' dsc.apply_config C:\\DSC\\WebSiteConfiguration salt://dsc/configs/WebSiteConfiguration
177433
177434       salt.modules.win_dsc.compile_config(path,       source=None,       con‐
177435       fig_name=None, config_data=None, config_data_source=None, script_param‐
177436       eters=None, salt_env=u'base')
177437              Compile a config from a PowerShell script (.ps1)
177438
177439              Parameters
177440
177441                     · path (str) -- Path (local) to the script that will cre‐
177442                       ate the  .mof  configuration  file.  If  no  source  is
177443                       passed, the file must exist locally. Required.
177444
177445                     · source  (str)  --  Path  to the script on file_roots to
177446                       cache at the location specified  by  path.  The  source
177447                       file  will  be  cached  locally  and  then executed. If
177448                       source is not passed, the config script located at path
177449                       will be compiled. Optional.
177450
177451                     · config_name  (str)  --  The  name  of the Configuration
177452                       within the script to apply. If the script contains mul‐
177453                       tiple configurations within the file a config_name must
177454                       be specified. If the config_name is not specified,  the
177455                       name  of  the  file  will be used as the config_name to
177456                       run. Optional.
177457
177458                     · config_data (str) --
177459
177460                       Configuration data in the form of  a  hash  table  that
177461                       will  be passed to the ConfigurationData parameter when
177462                       the config_name is compiled. This can be the path to  a
177463                       .psd1 file containing the proper hash table or the Pow‐
177464                       erShell code to create the hash table.
177465
177466                       New in version 2017.7.0.
177467
177468
177469
177470                     · config_data_source (str) --
177471
177472                       The path to the .psd1 file on file_roots  to  cache  at
177473                       the location specified by config_data. If this is spec‐
177474                       ified, config_data must be a local path  instead  of  a
177475                       hash table.
177476
177477                       New in version 2017.7.0.
177478
177479
177480
177481                     · script_parameters (str) --
177482
177483                       Any additional parameters expected by the configuration
177484                       script. These must be defined in the script itself.
177485
177486                       New in version 2017.7.0.
177487
177488
177489
177490                     · salt_env (str) -- The  salt  environment  to  use  when
177491                       copying the source.  Default is 'base'
177492
177493              Returns
177494                     A dictionary containing the results of the compilation
177495
177496              Return type
177497                     dict
177498
177499              CLI Example:
177500
177501              To  compile  a  config  from a script that already exists on the
177502              system:
177503
177504                 salt '*' dsc.compile_config C:\\DSC\\WebsiteConfig.ps1
177505
177506              To cache a config script to the system from the master and  com‐
177507              pile it:
177508
177509                 salt '*' dsc.compile_config C:\\DSC\\WebsiteConfig.ps1 salt://dsc/configs/WebsiteConfig.ps1
177510
177511       salt.modules.win_dsc.get_config()
177512              Get the current DSC Configuration
177513
177514              Returns
177515                     A  dictionary  representing  the DSC Configuration on the
177516                     machine
177517
177518              Return type
177519                     dict
177520
177521              Raises CommandExecutionError -- On failure
177522
177523              CLI Example:
177524
177525                 salt '*' dsc.get_config
177526
177527       salt.modules.win_dsc.get_config_status()
177528              Get the status of the current DSC Configuration
177529
177530              Returns
177531
177532                     A dictionary representing the status of the current DSC
177533                            Configuration on the machine
177534
177535
177536              Return type
177537                     dict
177538
177539              CLI Example:
177540
177541                 salt '*' dsc.get_config_status
177542
177543       salt.modules.win_dsc.get_lcm_config()
177544              Get the current Local Configuration Manager settings
177545
177546              Returns
177547
177548                     A dictionary representing the Local Configuration Manager
177549                     settings
177550                            on the machine
177551
177552
177553              Return type
177554                     dict
177555
177556              CLI Example:
177557
177558                 salt '*' dsc.get_lcm_config
177559
177560       salt.modules.win_dsc.remove_config(reset=False)
177561              Remove  the current DSC Configuration. Removes current, pending,
177562              and previous dsc configurations.
177563
177564              New in version 2017.7.5.
177565
177566
177567              Parameters
177568                     reset (bool) --
177569
177570                     Attempts to reset the DSC configuration by  removing  the
177571                     following from C:\Windows\System32\Configuration:
177572
177573                     · File: DSCStatusHistory.mof
177574
177575                     · File: DSCEngineCache.mof
177576
177577                     · Dir: ConfigurationStatus
177578
177579                     Default is False
177580
177581                     WARNING:
177582                        remove_config may fail to reset the DSC environment if
177583                        any of the files in the ConfigurationStatus directory.
177584                        If  you  wait a few minutes and run again, it may com‐
177585                        plete successfully.
177586
177587
177588              Returns
177589                     True if successful
177590
177591              Return type
177592                     bool
177593
177594              Raises CommandExecutionError -- On failure
177595
177596              CLI Example:
177597
177598                 salt '*' dsc.remove_config True
177599
177600       salt.modules.win_dsc.restore_config()
177601              Reapplies the previous configuration.
177602
177603              New in version 2017.7.5.
177604
177605
177606              NOTE:
177607                 The current configuration will be come the previous  configu‐
177608                 ration. If run a second time back-to-back it is like toggling
177609                 between two configs.
177610
177611              Returns
177612                     True if successfully restored
177613
177614              Return type
177615                     bool
177616
177617              Raises CommandExecutionError -- On failure
177618
177619              CLI Example:
177620
177621                 salt '*' dsc.restore_config
177622
177623       salt.modules.win_dsc.run_config(path,  source=None,   config_name=None,
177624       config_data=None,    config_data_source=None,   script_parameters=None,
177625       salt_env=u'base')
177626              Compile a DSC Configuration in the form of a  PowerShell  script
177627              (.ps1)  and  apply  it. The PowerShell script can be cached from
177628              the master using the source option. If there is  more  than  one
177629              config  within  the PowerShell script, the desired configuration
177630              can be applied by passing the name in the config option.
177631
177632              This command would be the equivalent of running dsc.compile_con‐
177633              fig followed by dsc.apply_config.
177634
177635              Parameters
177636
177637                     · path  (str)  -- The local path to the PowerShell script
177638                       that contains the DSC Configuration. Required.
177639
177640                     · source (str) -- The path to the script on file_roots to
177641                       cache  at  the  location  specified by path. The source
177642                       file will be  cached  locally  and  then  executed.  If
177643                       source is not passed, the config script located at path
177644                       will be compiled. Optional.
177645
177646                     · config_name (str) --  The  name  of  the  Configuration
177647                       within the script to apply. If the script contains mul‐
177648                       tiple configurations within the file a config_name must
177649                       be  specified. If the config_name is not specified, the
177650                       name of the file will be used  as  the  config_name  to
177651                       run. Optional.
177652
177653                     · config_data (str) --
177654
177655                       Configuration  data  in  the  form of a hash table that
177656                       will be passed to the ConfigurationData parameter  when
177657                       the  config_name is compiled. This can be the path to a
177658                       .psd1 file containing the proper hash table or the Pow‐
177659                       erShell code to create the hash table.
177660
177661                       New in version 2017.7.0.
177662
177663
177664
177665                     · config_data_source (str) --
177666
177667                       The  path  to  the .psd1 file on file_roots to cache at
177668                       the location specified by config_data. If this is spec‐
177669                       ified,  config_data  must  be a local path instead of a
177670                       hash table.
177671
177672                       New in version 2017.7.0.
177673
177674
177675
177676                     · script_parameters (str) --
177677
177678                       Any additional parameters expected by the configuration
177679                       script. These must be defined in the script itself.
177680
177681                       New in version 2017.7.0.
177682
177683
177684
177685                     · salt_env  (str)  --  The  salt  environment to use when
177686                       copying the source.  Default is 'base'
177687
177688              Returns
177689                     True if  successfully  compiled  and  applied,  otherwise
177690                     False
177691
177692              Return type
177693                     bool
177694
177695              CLI Example:
177696
177697              To  compile  a  config  from a script that already exists on the
177698              system:
177699
177700                 salt '*' dsc.run_config C:\\DSC\\WebsiteConfig.ps1
177701
177702              To cache a config script to the system from the master and  com‐
177703              pile it:
177704
177705                 salt '*' dsc.run_config C:\\DSC\\WebsiteConfig.ps1 salt://dsc/configs/WebsiteConfig.ps1
177706
177707       salt.modules.win_dsc.set_lcm_config(config_mode=None,              con‐
177708       fig_mode_freq=None,      refresh_freq=None,      reboot_if_needed=None,
177709       action_after_reboot=None,  refresh_mode=None, certificate_id=None, con‐
177710       figuration_id=None, allow_module_overwrite=None, debug_mode=False, sta‐
177711       tus_retention_days=None)
177712              For    detailed    descriptions    of    the   parameters   see:
177713              https://msdn.microsoft.com/en-us/PowerShell/DSC/metaConfig
177714
177715              config_mode (str): How the LCM applies the configuration.  Valid
177716              values
177717                     are:
177718
177719                     · ApplyOnly
177720
177721                     · ApplyAndMonitor
177722
177723                     · ApplyAndAutoCorrect
177724
177725              config_mode_freq  (int): How often, in minutes, the current con‐
177726              figuration
177727                     is checked and applied. Ignored if config_mode is set  to
177728                     ApplyOnly.  Default is 15.
177729
177730              refresh_mode  (str): How the LCM gets configurations. Valid val‐
177731              ues are:
177732
177733                 · Disabled
177734
177735                 · Push
177736
177737                 · Pull
177738
177739              refresh_freq (int): How often, in minutes, the  LCM  checks  for
177740              updated
177741                     configurations. (pull mode only) Default is 30.
177742
177743              reboot_if_needed (bool): Reboot the machine if needed after a
177744                     configuration is applied. Default is False.
177745
177746              action_after_reboot  (str):  Action  to take after reboot. Valid
177747              values
177748                     are:
177749
177750                     · ContinueConfiguration
177751
177752                     · StopConfiguration
177753
177754              certificate_id (guid): A GUID that specifies a certificate  used
177755              to
177756                     access the configuration: (pull mode)
177757
177758              configuration_id  (guid): A GUID that identifies the config file
177759              to get
177760                     from a pull server. (pull mode)
177761
177762              allow_module_overwrite (bool): New configs are allowed to  over‐
177763              write old
177764                     ones on the target node.
177765
177766              debug_mode (str): Sets the debug level. Valid values are:
177767
177768                 · None
177769
177770                 · ForceModuleImport
177771
177772                 · All
177773
177774              status_retention_days  (int):  Number  of days to keep status of
177775              the
177776                     current config.
177777
177778              NOTE:
177779                 Either config_mode_freq or refresh_freq needs to be a  multi‐
177780                 ple of the other. See documentation on MSDN for more details.
177781
177782              Returns
177783                     True if successful, otherwise False
177784
177785              Return type
177786                     bool
177787
177788              CLI Example:
177789
177790                 salt '*' dsc.set_lcm_config ApplyOnly
177791
177792       salt.modules.win_dsc.test_config()
177793              Tests the current applied DSC Configuration
177794
177795              Returns
177796                     True if successfully applied, otherwise False
177797
177798              Return type
177799                     bool
177800
177801              CLI Example:
177802
177803                 salt '*' dsc.test_config
177804
177805   salt.modules.win_file
177806       Manage  information  about  files  on  the minion, set/read user, group
177807       data, modify the ACL of files/directories
177808
177809       depends
177810
177811              · win32api
177812
177813              · win32file
177814
177815              · win32con
177816
177817              · salt.utils.win_dacl
177818
177819       exception salt.modules.win_file.WindowsError
177820
177821       salt.modules.win_file.check_perms(path,      ret=None,      owner=None,
177822       grant_perms=None, deny_perms=None, inheritance=True, reset=False)
177823              Check owner and permissions for the passed directory. This func‐
177824              tion checks the permissions and sets them, returning the changes
177825              made. Used by the file state to populate the return dict
177826
177827              Parameters
177828
177829                     · path (str) -- The full path to the directory.
177830
177831                     · ret  (dict)  --  A  dictionary to append changes to and
177832                       return. If not passed, will create a new dictionary  to
177833                       return.
177834
177835                     · owner (str) -- The owner to set for the directory.
177836
177837                     · grant_perms  (dict)  --  A  dictionary  containing  the
177838                       user/group and the basic  permissions  to  check/grant,
177839                       ie:  {'user':  {'perms': 'basic_permission'}}.  Default
177840                       is None.
177841
177842                     · deny_perms  (dict)  --  A  dictionary  containing   the
177843                       user/group  and  permissions  to check/deny. Default is
177844                       None.
177845
177846                     · inheritance (bool) -- True will check if inheritance is
177847                       enabled  and  enable  it. ``False will check if inheri‐
177848                       tance is disabled and disable it. Default is True.
177849
177850                     · reset (bool) -- True will show what permissions will be
177851                       removed  by  resetting the DACL. False will do nothing.
177852                       Default is False.
177853
177854              Returns
177855                     A dictionary of changes that have been made
177856
177857              Return type
177858                     dict
177859
177860              CLI Example:
177861
177862                 # To see changes to ``C:\Temp`` if the 'Users' group is given 'read & execute' permissions.
177863                 salt '*' file.check_perms C:\Temp\ {} Administrators "{'Users': {'perms': 'read_execute'}}"
177864
177865                 # Locally using salt call
177866                 salt-call file.check_perms C:\Temp\ {} Administrators "{'Users': {'perms': 'read_execute', 'applies_to': 'this_folder_only'}}"
177867
177868                 # Specify advanced attributes with a list
177869                 salt '*' file.check_perms C:\Temp\ {} Administrators "{'jsnuffy': {'perms': ['read_attributes', 'read_ea'], 'applies_to': 'files_only'}}"
177870
177871       salt.modules.win_file.chgrp(path, group)
177872              Change the group of a file
177873
177874              Under Windows, this will do nothing.
177875
177876              While a file in Windows does have a 'primary group', this rarely
177877              used  attribute  generally  has no bearing on permissions unless
177878              intentionally configured and is only used to support  Unix  com‐
177879              patibility features (e.g.  Services For Unix, NFS services).
177880
177881              Salt,  therefore, remaps this function to do nothing while still
177882              being compatible with Unix behavior. When managing Windows  sys‐
177883              tems,  this  function  is  superfluous and will generate an info
177884              level log entry if used directly.
177885
177886              If you do actually want to set the 'primary group'  of  a  file,
177887              use file
177888
177889              To set group permissions use file.set_perms
177890
177891              Parameters
177892
177893                     · path (str) -- The path to the file or directory
177894
177895                     · group (str) -- The group (unused)
177896
177897              Returns
177898                     None
177899
177900              CLI Example:
177901
177902                 salt '*' file.chpgrp c:\temp\test.txt administrators
177903
177904       salt.modules.win_file.chown(path,  user,  group=None, pgroup=None, fol‐
177905       low_symlinks=True)
177906              Chown a file, pass the file the desired user and group
177907
177908              Under Windows, the group parameter will be ignored.
177909
177910              This is because while files in Windows do have a 'primary group'
177911              property,  this  is rarely used.  It generally has no bearing on
177912              permissions unless intentionally configured and is most commonly
177913              used  to provide Unix compatibility (e.g. Services For Unix, NFS
177914              services).
177915
177916              If you do want to change the 'primary group' property and under‐
177917              stand the implications, pass the Windows only parameter, pgroup,
177918              instead.
177919
177920              Parameters
177921
177922                     · path (str) -- The path to the file or directory
177923
177924                     · user (str) -- The name of the user to own the file
177925
177926                     · group (str) -- The group (not used)
177927
177928                     · pgroup (str) -- The primary group to assign
177929
177930                     · follow_symlinks (bool) -- If the  object  specified  by
177931                       path  is  a  symlink, get attributes of the linked file
177932                       instead of the symlink itself. Default is True
177933
177934              Returns
177935                     True if successful, otherwise error
177936
177937              Return type
177938                     bool
177939
177940              CLI Example:
177941
177942                 salt '*' file.chown c:\temp\test.txt myusername
177943                 salt '*' file.chown c:\temp\test.txt myusername pgroup=Administrators
177944                 salt '*' file.chown c:\temp\test.txt myusername "pgroup='None'"
177945
177946       salt.modules.win_file.chpgrp(path, group)
177947              Change the group of a file
177948
177949              Under Windows, this will set the rarely used primary group of  a
177950              file.   This  generally  has  no  bearing  on permissions unless
177951              intentionally configured and is most commonly  used  to  provide
177952              Unix compatibility (e.g.  Services For Unix, NFS services).
177953
177954              Ensure you know what you are doing before using this function.
177955
177956              Parameters
177957
177958                     · path (str) -- The path to the file or directory
177959
177960                     · pgroup (str) -- The primary group to assign
177961
177962              Returns
177963                     True if successful, otherwise error
177964
177965              Return type
177966                     bool
177967
177968              CLI Example:
177969
177970                 salt '*' file.chpgrp c:\temp\test.txt Administrators
177971                 salt '*' file.chpgrp c:\temp\test.txt "'None'"
177972
177973       salt.modules.win_file.get_attributes(path)
177974              Return  a dictionary object with the Windows file attributes for
177975              a file.
177976
177977              Parameters
177978                     path (str) -- The path to the file or directory
177979
177980              Returns
177981                     A dictionary of file attributes
177982
177983              Return type
177984                     dict
177985
177986              CLI Example:
177987
177988                 salt '*' file.get_attributes c:\temp\a.txt
177989
177990       salt.modules.win_file.get_gid(path, follow_symlinks=True)
177991              Return the id of the group that owns a given file
177992
177993              Under Windows, this will return the uid of the file.
177994
177995              While a file in Windows does have a 'primary group', this rarely
177996              used  attribute  generally  has no bearing on permissions unless
177997              intentionally configured and is only used to support  Unix  com‐
177998              patibility features (e.g.  Services For Unix, NFS services).
177999
178000              Salt,  therefore,  remaps this function to provide functionality
178001              that somewhat resembles Unix behavior for API compatibility rea‐
178002              sons.  When managing Windows systems, this function is superflu‐
178003              ous and will generate an info level log entry if used directly.
178004
178005              If you do actually want to access the 'primary group' of a file,
178006              use file.get_pgid.
178007
178008              Parameters
178009
178010                     · path (str) -- The path to the file or directory
178011
178012                     · follow_symlinks  (bool)  --  If the object specified by
178013                       path is a symlink, get attributes of  the  linked  file
178014                       instead of the symlink itself. Default is True
178015
178016              Returns
178017                     The gid of the owner
178018
178019              Return type
178020                     str
178021
178022              CLI Example:
178023
178024                 salt '*' file.get_gid c:\temp\test.txt
178025
178026       salt.modules.win_file.get_group(path, follow_symlinks=True)
178027              Return the group that owns a given file
178028
178029              Under Windows, this will return the user (owner) of the file.
178030
178031              While a file in Windows does have a 'primary group', this rarely
178032              used attribute generally has no bearing  on  permissions  unless
178033              intentionally  configured  and is only used to support Unix com‐
178034              patibility features (e.g.  Services For Unix, NFS services).
178035
178036              Salt, therefore, remaps this function to  provide  functionality
178037              that somewhat resembles Unix behavior for API compatibility rea‐
178038              sons. When managing Windows systems, this function is  superflu‐
178039              ous and will generate an info level log entry if used directly.
178040
178041              If you do actually want to access the 'primary group' of a file,
178042              use file.get_pgroup.
178043
178044              Parameters
178045
178046                     · path (str) -- The path to the file or directory
178047
178048                     · follow_symlinks (bool) -- If the  object  specified  by
178049                       path  is  a  symlink, get attributes of the linked file
178050                       instead of the symlink itself. Default is True
178051
178052              Returns
178053                     The name of the owner
178054
178055              Return type
178056                     str
178057
178058              CLI Example:
178059
178060                 salt '*' file.get_group c:\temp\test.txt
178061
178062       salt.modules.win_file.get_mode(path)
178063              Return the mode of a file
178064
178065              Right now we're just returning  None  because  Windows'  doesn't
178066              have a mode like Linux
178067
178068              Parameters
178069                     path (str) -- The path to the file or directory
178070
178071              Returns
178072                     None
178073
178074              CLI Example:
178075
178076                 salt '*' file.get_mode /etc/passwd
178077
178078       salt.modules.win_file.get_pgid(path, follow_symlinks=True)
178079              Return  the id of the primary group that owns a given file (Win‐
178080              dows only)
178081
178082              This function will return the rarely used  primary  group  of  a
178083              file. This generally has no bearing on permissions unless inten‐
178084              tionally configured and is most commonly used  to  provide  Unix
178085              compatibility (e.g. Services For Unix, NFS services).
178086
178087              Ensure you know what you are doing before using this function.
178088
178089              Parameters
178090
178091                     · path (str) -- The path to the file or directory
178092
178093                     · follow_symlinks  (bool)  --  If the object specified by
178094                       path is a symlink, get attributes of  the  linked  file
178095                       instead of the symlink itself. Default is True
178096
178097              Returns
178098                     The gid of the primary group
178099
178100              Return type
178101                     str
178102
178103              CLI Example:
178104
178105                 salt '*' file.get_pgid c:\temp\test.txt
178106
178107       salt.modules.win_file.get_pgroup(path, follow_symlinks=True)
178108              Return  the  name  of  the  primary group that owns a given file
178109              (Windows only)
178110
178111              This function will return the rarely used  primary  group  of  a
178112              file. This generally has no bearing on permissions unless inten‐
178113              tionally configured and is most commonly used  to  provide  Unix
178114              compatibility (e.g. Services For Unix, NFS services).
178115
178116              Ensure you know what you are doing before using this function.
178117
178118              The  return  value  may  be 'None', e.g. if the user is not on a
178119              domain. This is a valid group - do not  confuse  this  with  the
178120              Salt/Python  value of None which means no value was returned. To
178121              be certain, use the get_pgid function which will return the SID,
178122              including for the system 'None' group.
178123
178124              Parameters
178125
178126                     · path (str) -- The path to the file or directory
178127
178128                     · follow_symlinks  (bool)  --  If the object specified by
178129                       path is a symlink, get attributes of  the  linked  file
178130                       instead of the symlink itself. Default is True
178131
178132              Returns
178133                     The name of the primary group
178134
178135              Return type
178136                     str
178137
178138              CLI Example:
178139
178140                 salt '*' file.get_pgroup c:\temp\test.txt
178141
178142       salt.modules.win_file.get_uid(path, follow_symlinks=True)
178143              Return the id of the user that owns a given file
178144
178145              Symlinks are followed by default to mimic Unix behavior. Specify
178146              follow_symlinks=False to turn off this behavior.
178147
178148              Parameters
178149
178150                     · path (str) -- The path to the file or directory
178151
178152                     · follow_symlinks (bool) -- If the  object  specified  by
178153                       path  is  a  symlink, get attributes of the linked file
178154                       instead of the symlink itself. Default is True
178155
178156              Returns
178157                     The uid of the owner
178158
178159              Return type
178160                     str
178161
178162              CLI Example:
178163
178164                 salt '*' file.get_uid c:\temp\test.txt
178165                 salt '*' file.get_uid c:\temp\test.txt follow_symlinks=False
178166
178167       salt.modules.win_file.get_user(path, follow_symlinks=True)
178168              Return the user that owns a given file
178169
178170              Symlinks are followed by default to mimic Unix behavior. Specify
178171              follow_symlinks=False to turn off this behavior.
178172
178173              Parameters
178174
178175                     · path (str) -- The path to the file or directory
178176
178177                     · follow_symlinks  (bool)  --  If the object specified by
178178                       path is a symlink, get attributes of  the  linked  file
178179                       instead of the symlink itself. Default is True
178180
178181              Returns
178182                     The name of the owner
178183
178184              Return type
178185                     str
178186
178187              CLI Example:
178188
178189                 salt '*' file.get_user c:\temp\test.txt
178190                 salt '*' file.get_user c:\temp\test.txt follow_symlinks=False
178191
178192       salt.modules.win_file.gid_to_group(gid)
178193              Convert the group id to the group name on this system
178194
178195              Under  Windows, because groups are just another ACL entity, this
178196              function behaves the same as uid_to_user.
178197
178198              For maintaining Windows systems, this  function  is  superfluous
178199              and  only  exists  for  API  compatibility  with  Unix.  Use the
178200              uid_to_user function instead; an info level log  entry  will  be
178201              generated if this function is used directly.
178202
178203              Parameters
178204                     gid (str) -- The gid of the group
178205
178206              Returns
178207                     The name of the group
178208
178209              Return type
178210                     str
178211
178212              CLI Example:
178213
178214                 salt '*' file.gid_to_group S-1-5-21-626487655-2533044672-482107328-1010
178215
178216       salt.modules.win_file.group_to_gid(group)
178217              Convert the group to the gid on this system
178218
178219              Under  Windows, because groups are just another ACL entity, this
178220              function behaves the same as  user_to_uid,  except  if  None  is
178221              given, '' is returned.
178222
178223              For  maintaining  Windows  systems, this function is superfluous
178224              and only  exists  for  API  compatibility  with  Unix.  Use  the
178225              user_to_uid  function  instead;  an info level log entry will be
178226              generated if this function is used directly.
178227
178228              Parameters
178229                     group (str) -- The name of the group
178230
178231              Returns
178232                     The gid of the group
178233
178234              Return type
178235                     str
178236
178237              CLI Example:
178238
178239                 salt '*' file.group_to_gid administrators
178240
178241       salt.modules.win_file.is_link(path)
178242              Check if the path is a symlink
178243
178244              This is only supported on Windows Vista or later.
178245
178246              Inline with Unix behavior, this function will raise an error  if
178247              the  path  is not a symlink, however, the error raised will be a
178248              SaltInvocationError, not an OSError.
178249
178250              Parameters
178251                     path (str) -- The path to a file or directory
178252
178253              Returns
178254                     True if path is a symlink, otherwise False
178255
178256              Return type
178257                     bool
178258
178259              CLI Example:
178260
178261                 salt '*' file.is_link /path/to/link
178262
178263       salt.modules.win_file.lchown(path, user, group=None, pgroup=None)
178264              Chown a file, pass the file the desired user and  group  without
178265              following any symlinks.
178266
178267              Under Windows, the group parameter will be ignored.
178268
178269              This is because while files in Windows do have a 'primary group'
178270              property, this is rarely used.  It generally has no  bearing  on
178271              permissions unless intentionally configured and is most commonly
178272              used to provide Unix compatibility (e.g. Services For Unix,  NFS
178273              services).
178274
178275              If you do want to change the 'primary group' property and under‐
178276              stand the implications, pass the Windows only parameter, pgroup,
178277              instead.
178278
178279              To  set  the  primary  group  to 'None', it must be specified in
178280              quotes.  Otherwise Salt will interpret it as the Python value of
178281              None  and  no  primary group changes will occur. See the example
178282              below.
178283
178284              Parameters
178285
178286                     · path (str) -- The path to the file or directory
178287
178288                     · user (str) -- The name of the user to own the file
178289
178290                     · group (str) -- The group (not used)
178291
178292                     · pgroup (str) -- The primary group to assign
178293
178294              Returns
178295                     True if successful, otherwise error
178296
178297              Return type
178298                     bool
178299
178300              CLI Example:
178301
178302                 salt '*' file.lchown c:\temp\test.txt myusername
178303                 salt '*' file.lchown c:\temp\test.txt myusername pgroup=Administrators
178304                 salt '*' file.lchown c:\temp\test.txt myusername "pgroup='None'"
178305
178306       salt.modules.win_file.makedirs_(path,   owner=None,   grant_perms=None,
178307       deny_perms=None, inheritance=True, reset=False)
178308              Ensure  that the parent directory containing this path is avail‐
178309              able.
178310
178311              Parameters
178312
178313                     · path (str) --
178314
178315                       The full path to the directory.
178316
178317                       NOTE:
178318                          The path must end with a  trailing  slash  otherwise
178319                          the  directory(s)  will  be created up to the parent
178320                          directory. For example if path is C:\temp\test, then
178321                          it would be treated as C:\temp\ but if the path ends
178322                          with a trailing slash like  C:\temp\test\,  then  it
178323                          would be treated as C:\temp\test\.
178324
178325
178326                     · owner  (str)  --  The  owner  of  the directory. If not
178327                       passed, it will be the account that created the  direc‐
178328                       tory, likely SYSTEM.
178329
178330                     · grant_perms (dict) --
178331
178332                       A  dictionary  containing  the user/group and the basic
178333                       permissions   to   grant,   ie:   {'user':    {'perms':
178334                       'basic_permission'}}.  You  can also set the applies_to
178335                       setting  here.  The  default  is   this_folder_subfold‐
178336                       ers_files.  Specify  another  applies_to  setting  like
178337                       this:
178338
178339                          {'user': {'perms': 'full_control', 'applies_to': 'this_folder'}}
178340
178341                       To set advanced permissions use a list  for  the  perms
178342                       parameter, ie:
178343
178344                          {'user': {'perms': ['read_attributes', 'read_ea'], 'applies_to': 'this_folder'}}
178345
178346
178347                     · deny_perms   (dict)  --  A  dictionary  containing  the
178348                       user/group and  permissions  to  deny  along  with  the
178349                       applies_to  setting.  Use  the same format used for the
178350                       grant_perms  parameter.  Remember,   deny   permissions
178351                       supersede grant permissions.
178352
178353                     · inheritance  (bool)  -- If True the object will inherit
178354                       permissions from the parent, if False, inheritance will
178355                       be disabled. Inheritance setting will not apply to par‐
178356                       ent directories if they must be created.
178357
178358                     · reset (bool) --
178359
178360                       If True the existing DACL will be cleared and  replaced
178361                       with  the  settings defined in this function. If False,
178362                       new entries will be  appended  to  the  existing  DACL.
178363                       Default is False.
178364
178365                       New in version 2018.3.0.
178366
178367
178368
178369              Returns
178370                     True if successful
178371
178372              Return type
178373                     bool
178374
178375              Raises CommandExecutionError -- If unsuccessful
178376
178377              CLI Example:
178378
178379                 # To grant the 'Users' group 'read & execute' permissions.
178380                 salt '*' file.makedirs C:\Temp\ Administrators "{'Users': {'perms': 'read_execute'}}"
178381
178382                 # Locally using salt call
178383                 salt-call file.makedirs C:\Temp\ Administrators "{'Users': {'perms': 'read_execute', 'applies_to': 'this_folder_only'}}"
178384
178385                 # Specify advanced attributes with a list
178386                 salt '*' file.makedirs C:\Temp\ Administrators "{'jsnuffy': {'perms': ['read_attributes', 'read_ea'], 'applies_to': 'this_folder_only'}}"
178387
178388       salt.modules.win_file.makedirs_perms(path,                  owner=None,
178389       grant_perms=None, deny_perms=None, inheritance=True, reset=True)
178390              Set owner and permissions for each directory created.
178391
178392              Parameters
178393
178394                     · path (str) -- The full path to the directory.
178395
178396                     · owner (str) -- The  owner  of  the  directory.  If  not
178397                       passed,  it will be the account that created the direc‐
178398                       tory, likely SYSTEM.
178399
178400                     · grant_perms (dict) --
178401
178402                       A dictionary containing the user/group  and  the  basic
178403                       permissions    to   grant,   ie:   {'user':   {'perms':
178404                       'basic_permission'}}. You can also set  the  applies_to
178405                       setting   here.  The  default  is  this_folder_subfold‐
178406                       ers_files.  Specify  another  applies_to  setting  like
178407                       this:
178408
178409                          {'user': {'perms': 'full_control', 'applies_to': 'this_folder'}}
178410
178411                       To  set  advanced  permissions use a list for the perms
178412                       parameter, ie:
178413
178414                          {'user': {'perms': ['read_attributes', 'read_ea'], 'applies_to': 'this_folder'}}
178415
178416
178417                     · deny_perms  (dict)  --  A  dictionary  containing   the
178418                       user/group  and  permissions  to  deny  along  with the
178419                       applies_to setting. Use the same format  used  for  the
178420                       grant_perms   parameter.   Remember,  deny  permissions
178421                       supersede grant permissions.
178422
178423                     · inheritance (bool) -- If True the object  will  inherit
178424                       permissions from the parent, if False, inheritance will
178425                       be disabled. Inheritance setting will not apply to par‐
178426                       ent directories if they must be created
178427
178428                     · reset (bool) --
178429
178430                       If  True the existing DACL will be cleared and replaced
178431                       with the settings defined in this function.  If  False,
178432                       new  entries  will  be  appended  to the existing DACL.
178433                       Default is False.
178434
178435                       New in version 2018.3.0.
178436
178437
178438
178439              Returns
178440                     True if successful, otherwise raises an error
178441
178442              Return type
178443                     bool
178444
178445              CLI Example:
178446
178447                 # To grant the 'Users' group 'read & execute' permissions.
178448                 salt '*' file.makedirs_perms C:\Temp\ Administrators "{'Users': {'perms': 'read_execute'}}"
178449
178450                 # Locally using salt call
178451                 salt-call file.makedirs_perms C:\Temp\ Administrators "{'Users': {'perms': 'read_execute', 'applies_to': 'this_folder_only'}}"
178452
178453                 # Specify advanced attributes with a list
178454                 salt '*' file.makedirs_perms C:\Temp\ Administrators "{'jsnuffy': {'perms': ['read_attributes', 'read_ea'], 'applies_to': 'this_folder_files'}}"
178455
178456       salt.modules.win_file.mkdir(path,     owner=None,     grant_perms=None,
178457       deny_perms=None, inheritance=True, reset=False)
178458              Ensure that the directory is available and permissions are set.
178459
178460              Parameters
178461
178462                     · path (str) -- The full path to the directory.
178463
178464                     · owner  (str)  --  The  owner  of  the directory. If not
178465                       passed, it will be the account that created the  direc‐
178466                       tory, likely SYSTEM
178467
178468                     · grant_perms (dict) --
178469
178470                       A  dictionary  containing  the user/group and the basic
178471                       permissions   to   grant,   ie:   {'user':    {'perms':
178472                       'basic_permission'}}.  You  can also set the applies_to
178473                       setting  here.  The  default  is   this_folder_subfold‐
178474                       ers_files.  Specify  another  applies_to  setting  like
178475                       this:
178476
178477                          {'user': {'perms': 'full_control', 'applies_to': 'this_folder'}}
178478
178479                       To set advanced permissions use a list  for  the  perms
178480                       parameter, ie:
178481
178482                          {'user': {'perms': ['read_attributes', 'read_ea'], 'applies_to': 'this_folder'}}
178483
178484
178485                     · deny_perms   (dict)  --  A  dictionary  containing  the
178486                       user/group and  permissions  to  deny  along  with  the
178487                       applies_to  setting.  Use  the same format used for the
178488                       grant_perms  parameter.  Remember,   deny   permissions
178489                       supersede grant permissions.
178490
178491                     · inheritance  (bool)  -- If True the object will inherit
178492                       permissions from the parent, if False, inheritance will
178493                       be disabled. Inheritance setting will not apply to par‐
178494                       ent directories if they must be created.
178495
178496                     · reset (bool) --
178497
178498                       If True the existing DACL will be cleared and  replaced
178499                       with  the  settings defined in this function. If False,
178500                       new entries will be  appended  to  the  existing  DACL.
178501                       Default is False.
178502
178503                       New in version 2018.3.0.
178504
178505
178506
178507              Returns
178508                     True if successful
178509
178510              Return type
178511                     bool
178512
178513              Raises CommandExecutionError -- If unsuccessful
178514
178515              CLI Example:
178516
178517                 # To grant the 'Users' group 'read & execute' permissions.
178518                 salt '*' file.mkdir C:\Temp\ Administrators "{'Users': {'perms': 'read_execute'}}"
178519
178520                 # Locally using salt call
178521                 salt-call file.mkdir C:\Temp\ Administrators "{'Users': {'perms': 'read_execute', 'applies_to': 'this_folder_only'}}"
178522
178523                 # Specify advanced attributes with a list
178524                 salt '*' file.mkdir C:\Temp\ Administrators "{'jsnuffy': {'perms': ['read_attributes', 'read_ea'], 'applies_to': 'this_folder_only'}}"
178525
178526       salt.modules.win_file.readlink(path)
178527              Return the path that a symlink points to
178528
178529              This is only supported on Windows Vista or later.
178530
178531              Inline  with Unix behavior, this function will raise an error if
178532              the path is not a symlink, however, the error raised will  be  a
178533              SaltInvocationError, not an OSError.
178534
178535              Parameters
178536                     path (str) -- The path to the symlink
178537
178538              Returns
178539                     The path that the symlink points to
178540
178541              Return type
178542                     str
178543
178544              CLI Example:
178545
178546                 salt '*' file.readlink /path/to/link
178547
178548       salt.modules.win_file.remove(path, force=False)
178549              Remove the named file or directory
178550
178551              Parameters
178552
178553                     · path  (str)  --  The  path  to the file or directory to
178554                       remove.
178555
178556                     · force  (bool)  --  Remove  even  if  marked  Read-Only.
178557                       Default is False
178558
178559              Returns
178560                     True if successful, False if unsuccessful
178561
178562              Return type
178563                     bool
178564
178565              CLI Example:
178566
178567                 salt '*' file.remove C:\Temp
178568
178569       salt.modules.win_file.set_attributes(path,  archive=None,  hidden=None,
178570       normal=None,  notIndexed=None,   readonly=None,   system=None,   tempo‐
178571       rary=None)
178572              Set  file attributes for a file.  Note that the normal attribute
178573              means that all others are false.  So setting it will  clear  all
178574              others.
178575
178576              Parameters
178577
178578                     · path (str) -- The path to the file or directory
178579
178580                     · archive  (bool)  -- Sets the archive attribute. Default
178581                       is None
178582
178583                     · hidden (bool) -- Sets the hidden attribute. Default  is
178584                       None
178585
178586                     · normal  (bool) -- Resets the file attributes. Cannot be
178587                       used in conjunction with any other  attribute.  Default
178588                       is None
178589
178590                     · notIndexed   (bool)  --  Sets  the  indexed  attribute.
178591                       Default is None
178592
178593                     · readonly (bool) -- Sets the readonly attribute. Default
178594                       is None
178595
178596                     · system  (bool) -- Sets the system attribute. Default is
178597                       None
178598
178599                     · temporary  (bool)  --  Sets  the  temporary  attribute.
178600                       Default is None
178601
178602              Returns
178603                     True if successful, otherwise False
178604
178605              Return type
178606                     bool
178607
178608              CLI Example:
178609
178610                 salt '*' file.set_attributes c:\temp\a.txt normal=True
178611                 salt '*' file.set_attributes c:\temp\a.txt readonly=True hidden=True
178612
178613       salt.modules.win_file.set_mode(path, mode)
178614              Set the mode of a file
178615
178616              This  just  calls  get_mode, which returns None because we don't
178617              use mode on Windows
178618
178619              Parameters
178620
178621                     · path -- The path to the file or directory
178622
178623                     · mode -- The mode (not used)
178624
178625              Returns
178626                     None
178627
178628              CLI Example:
178629
178630                 salt '*' file.set_mode /etc/passwd 0644
178631
178632       salt.modules.win_file.set_perms(path,                 grant_perms=None,
178633       deny_perms=None, inheritance=True, reset=False)
178634              Set permissions for the given path
178635
178636              Parameters
178637
178638                     · path (str) -- The full path to the directory.
178639
178640                     · grant_perms (dict) --
178641
178642                       A  dictionary  containing  the user/group and the basic
178643                       permissions   to   grant,   ie:   {'user':    {'perms':
178644                       'basic_permission'}}.  You  can also set the applies_to
178645                       setting   here.   The   default   for   applise_to   is
178646                       this_folder_subfolders_files.      Specify      another
178647                       applies_to setting like this:
178648
178649                          {'user': {'perms': 'full_control', 'applies_to': 'this_folder'}}
178650
178651                       To set advanced permissions use a list  for  the  perms
178652                       parameter, ie:
178653
178654                          {'user': {'perms': ['read_attributes', 'read_ea'], 'applies_to': 'this_folder'}}
178655
178656                       To  see  a  list of available attributes and applies to
178657                       settings see the documentation for salt.utils.win_dacl.
178658
178659                       A value of None will make no changes to the grant  por‐
178660                       tion of the DACL. Default is None.
178661
178662
178663                     · deny_perms (dict) --
178664
178665                       A  dictionary containing the user/group and permissions
178666                       to deny along with the applies_to setting. Use the same
178667                       format  used  for  the grant_perms parameter. Remember,
178668                       deny permissions supersede grant permissions.
178669
178670                       A value of None will make no changes to the  deny  por‐
178671                       tion of the DACL. Default is None.
178672
178673
178674                     · inheritance  (bool)  -- If True the object will inherit
178675                       permissions from the parent, if False, inheritance will
178676                       be disabled. Inheritance setting will not apply to par‐
178677                       ent directories if they must  be  created.  Default  is
178678                       False.
178679
178680                     · reset (bool) --
178681
178682                       If  True  the existing DCL will be cleared and replaced
178683                       with the settings defined in this function.  If  False,
178684                       new  entries  will  be  appended  to the existing DACL.
178685                       Default is False.
178686
178687                       New in version 2018.3.0.
178688
178689
178690
178691              Returns
178692                     True if successful
178693
178694              Return type
178695                     bool
178696
178697              Raises CommandExecutionError -- If unsuccessful
178698
178699              CLI Example:
178700
178701                 # To grant the 'Users' group 'read & execute' permissions.
178702                 salt '*' file.set_perms C:\Temp\ "{'Users': {'perms': 'read_execute'}}"
178703
178704                 # Locally using salt call
178705                 salt-call file.set_perms C:\Temp\ "{'Users': {'perms': 'read_execute', 'applies_to': 'this_folder_only'}}"
178706
178707                 # Specify advanced attributes with a list
178708                 salt '*' file.set_perms C:\Temp\ "{'jsnuffy': {'perms': ['read_attributes', 'read_ea'], 'applies_to': 'this_folder_only'}}"
178709
178710       salt.modules.win_file.stats(path,   hash_type=u'sha256',    follow_sym‐
178711       links=True)
178712              Return a dict containing the stats about a given file
178713
178714              Under Windows, gid will equal uid and group will equal user.
178715
178716              While a file in Windows does have a 'primary group', this rarely
178717              used attribute generally has no bearing  on  permissions  unless
178718              intentionally  configured  and is only used to support Unix com‐
178719              patibility features (e.g.  Services For Unix, NFS services).
178720
178721              Salt, therefore, remaps these properties to keep  some  kind  of
178722              compatibility  with  Unix  behavior.  If  the 'primary group' is
178723              required, it can be accessed in the pgroup and pgid properties.
178724
178725              Parameters
178726
178727                     · path (str) -- The path to the file or directory
178728
178729                     · hash_type (str) -- The type of hash to return
178730
178731                     · follow_symlinks (bool) -- If the  object  specified  by
178732                       path  is  a  symlink, get attributes of the linked file
178733                       instead of the symlink itself. Default is True
178734
178735              Returns
178736                     A dictionary of file/directory stats
178737
178738              Return type
178739                     dict
178740
178741              CLI Example:
178742
178743                 salt '*' file.stats /etc/passwd
178744
178745       salt.modules.win_file.symlink(src, link)
178746              Create a symbolic link to a file
178747
178748              This is only supported with Windows Vista or later and  must  be
178749              executed by a user with the SeCreateSymbolicLink privilege.
178750
178751              The  behavior of this function matches the Unix equivalent, with
178752              one exception - invalid symlinks cannot be created.  The  source
178753              path must exist.  If it doesn't, an error will be raised.
178754
178755              Parameters
178756
178757                     · src (str) -- The path to a file or directory
178758
178759                     · link (str) -- The path to the link
178760
178761              Returns
178762                     True if successful, otherwise False
178763
178764              Return type
178765                     bool
178766
178767              CLI Example:
178768
178769                 salt '*' file.symlink /path/to/file /path/to/link
178770
178771       salt.modules.win_file.uid_to_user(uid)
178772              Convert a uid to a user name
178773
178774              Parameters
178775                     uid (str) -- The user id to lookup
178776
178777              Returns
178778                     The name of the user
178779
178780              Return type
178781                     str
178782
178783              CLI Example:
178784
178785                 salt '*' file.uid_to_user S-1-5-21-626487655-2533044672-482107328-1010
178786
178787       salt.modules.win_file.user_to_uid(user)
178788              Convert user name to a uid
178789
178790              Parameters
178791                     user (str) -- The user to lookup
178792
178793              Returns
178794                     The user id of the user
178795
178796              Return type
178797                     str
178798
178799              CLI Example:
178800
178801                 salt '*' file.user_to_uid myusername
178802
178803   salt.modules.win_firewall
178804       Module for configuring Windows Firewall using netsh
178805
178806       salt.modules.win_firewall.add_rule(name,   localport,  protocol=u'tcp',
178807       action=u'allow', dir=u'in', remoteip=u'any')
178808              New in version 2015.5.0.
178809
178810
178811              Add a new inbound or outbound rule to the firewall policy
178812
178813              Parameters
178814
178815                     · name (str) -- The name of the rule. Must be unique  and
178816                       cannot be "all".  Required.
178817
178818                     · localport  (int)  -- The port the rule applies to. Must
178819                       be a number between 0 and 65535. Can be  a  range.  Can
178820                       specify multiple ports separated by commas. Required.
178821
178822                     · protocol (Optional[str]) --
178823
178824                       The protocol. Can be any of the following:
178825
178826                       · A number between 0 and 255
178827
178828                       · icmpv4
178829
178830                       · icmpv6
178831
178832                       · tcp
178833
178834                       · udp
178835
178836                       · any
178837
178838
178839                     · action (Optional[str]) --
178840
178841                       The action the rule performs. Can be any of the follow‐
178842                       ing:
178843
178844                       · allow
178845
178846                       · block
178847
178848                       · bypass
178849
178850
178851                     · dir (Optional[str]) -- The direction. Can be in or out.
178852
178853                     · remoteip (Optional [str]) --
178854
178855                       The remote IP. Can be any of the following:
178856
178857                       · any
178858
178859                       · localsubnet
178860
178861                       · dns
178862
178863                       · dhcp
178864
178865                       · wins
178866
178867                       · defaultgateway
178868
178869                       · Any valid IPv4 address (192.168.0.12)
178870
178871                       · Any           valid           IPv6            address
178872                         (2002:9b3b:1a31:4:208:74ff:fe39:6c43)
178873
178874                       · Any valid subnet (192.168.1.0/24)
178875
178876                       · Any      valid      range     of     IP     addresses
178877                         (192.168.0.1-192.168.0.12)
178878
178879                       · A list of valid IP addresses
178880
178881                       Can be combinations of the above separated by commas.
178882
178883
178884              Returns
178885                     True if successful
178886
178887              Return type
178888                     bool
178889
178890              Raises CommandExecutionError -- If the command fails
178891
178892              CLI Example:
178893
178894                 salt '*' firewall.add_rule 'test' '8080' 'tcp'
178895                 salt '*' firewall.add_rule 'test' '1' 'icmpv4'
178896                 salt '*' firewall.add_rule 'test_remote_ip' '8000' 'tcp' 'allow' 'in' '192.168.0.1'
178897
178898       salt.modules.win_firewall.delete_rule(name=None, localport=None, proto‐
178899       col=None, dir=None, remoteip=None)
178900              New in version 2015.8.0.
178901
178902
178903              Delete  an existing firewall rule identified by name and option‐
178904              ally by ports, protocols, direction, and remote IP.
178905
178906              Parameters
178907
178908                     · name (str) -- The name of the rule to  delete.  If  the
178909                       name  all  is  used you must specify additional parame‐
178910                       ters.
178911
178912                     · localport (Optional[str]) -- The port of the  rule.  If
178913                       protocol is not specified, protocol will be set to tcp
178914
178915                     · protocol  (Optional[str])  -- The protocol of the rule.
178916                       Default is tcp when localport is specified
178917
178918                     · dir (Optional[str]) -- The direction of the rule.
178919
178920                     · remoteip (Optional[str]) -- The remote IP of the rule.
178921
178922              Returns
178923                     True if successful
178924
178925              Return type
178926                     bool
178927
178928              Raises CommandExecutionError -- If the command fails
178929
178930              CLI Example:
178931
178932                 # Delete incoming tcp port 8080 in the rule named 'test'
178933                 salt '*' firewall.delete_rule 'test' '8080' 'tcp' 'in'
178934
178935                 # Delete the incoming tcp port 8000 from 192.168.0.1 in the rule named
178936                 # 'test_remote_ip'
178937                 salt '*' firewall.delete_rule 'test_remote_ip' '8000' 'tcp' 'in' '192.168.0.1'
178938
178939                 # Delete all rules for local port 80:
178940                 salt '*' firewall.delete_rule all 80 tcp
178941
178942                 # Delete a rule called 'allow80':
178943                 salt '*' firewall.delete_rule allow80
178944
178945       salt.modules.win_firewall.disable(profile=u'allprofiles')
178946              Disable firewall profile
178947
178948              Parameters
178949                     profile (Optional[str]) --
178950
178951                     The name of the profile to disable.  Default  is  allpro‐
178952                     files. Valid options are:
178953
178954                     · allprofiles
178955
178956                     · domainprofile
178957
178958                     · privateprofile
178959
178960                     · publicprofile
178961
178962
178963              Returns
178964                     True if successful
178965
178966              Return type
178967                     bool
178968
178969              Raises CommandExecutionError -- If the command fails
178970
178971              CLI Example:
178972
178973                 salt '*' firewall.disable
178974
178975       salt.modules.win_firewall.enable(profile=u'allprofiles')
178976              New in version 2015.5.0.
178977
178978
178979              Enable firewall profile
178980
178981              Parameters
178982                     profile (Optional[str]) --
178983
178984                     The  name  of  the  profile to enable. Default is allpro‐
178985                     files. Valid options are:
178986
178987                     · allprofiles
178988
178989                     · domainprofile
178990
178991                     · privateprofile
178992
178993                     · publicprofile
178994
178995
178996              Returns
178997                     True if successful
178998
178999              Return type
179000                     bool
179001
179002              Raises CommandExecutionError -- If the command fails
179003
179004              CLI Example:
179005
179006                 salt '*' firewall.enable
179007
179008       salt.modules.win_firewall.get_all_profiles(store=u'local')
179009              Gets all properties for all profiles in the specified store
179010
179011              New in version 2018.3.4.
179012
179013
179014              New in version Fluorine.
179015
179016
179017              Parameters
179018                     store (str) --
179019
179020                     The store to use. This is either the local firewall  pol‐
179021                     icy  or  the  policy defined by local group policy. Valid
179022                     options are:
179023
179024                     · lgpo
179025
179026                     · local
179027
179028                     Default is local
179029
179030
179031              Returns
179032                     A dictionary containing the specified settings  for  each
179033                     profile
179034
179035              Return type
179036                     dict
179037
179038              CLI Example:
179039
179040                 # Get all firewall settings for all profiles
179041                 salt * firewall.get_all_settings
179042
179043                 # Get all firewall settings for all profiles as defined by local group
179044                 # policy
179045
179046                 salt * firewall.get_all_settings lgpo
179047
179048       salt.modules.win_firewall.get_all_settings(domain, store=u'local')
179049              Gets  all the properties for the specified profile in the speci‐
179050              fied store
179051
179052              New in version 2018.3.4.
179053
179054
179055              New in version Fluorine.
179056
179057
179058              Parameters
179059
179060                     · profile (str) --
179061
179062                       The firewall profile to query. Valid options are:
179063
179064                       · domain
179065
179066                       · public
179067
179068                       · private
179069
179070
179071                     · store (str) --
179072
179073                       The store to use. This is  either  the  local  firewall
179074                       policy  or  the  policy  defined by local group policy.
179075                       Valid options are:
179076
179077                       · lgpo
179078
179079                       · local
179080
179081                       Default is local
179082
179083
179084              Returns
179085                     A dictionary containing the specified settings
179086
179087              Return type
179088                     dict
179089
179090              CLI Example:
179091
179092                 # Get all firewall settings for connections on the domain profile
179093                 salt * win_firewall.get_all_settings domain
179094
179095                 # Get all firewall settings for connections on the domain profile as
179096                 # defined by local group policy
179097                 salt * win_firewall.get_all_settings domain lgpo
179098
179099       salt.modules.win_firewall.get_config()
179100              Get the status of all the firewall profiles
179101
179102              Returns
179103                     A dictionary of all profiles on the system
179104
179105              Return type
179106                     dict
179107
179108              Raises CommandExecutionError -- If the command fails
179109
179110              CLI Example:
179111
179112                 salt '*' firewall.get_config
179113
179114       salt.modules.win_firewall.get_rule(name=u'all')
179115              New in version 2015.5.0.
179116
179117
179118              Display all matching rules as specified by name
179119
179120              Parameters
179121                     name (Optional[str]) -- The full name of  the  rule.  all
179122                     will return all rules. Default is all
179123
179124              Returns
179125                     A  dictionary  of  all rules or rules that match the name
179126                     exactly
179127
179128              Return type
179129                     dict
179130
179131              Raises CommandExecutionError -- If the command fails
179132
179133              CLI Example:
179134
179135                 salt '*' firewall.get_rule 'MyAppPort'
179136
179137       salt.modules.win_firewall.get_settings(profile,                section,
179138       store=u'local')
179139              Get  the  firewall  property  from  the specified profile in the
179140              specified store as returned by netsh advfirewall.
179141
179142              New in version 2018.3.4.
179143
179144
179145              New in version Fluorine.
179146
179147
179148              Parameters
179149
179150                     · profile (str) --
179151
179152                       The firewall profile to query. Valid options are:
179153
179154                       · domain
179155
179156                       · public
179157
179158                       · private
179159
179160
179161                     · section (str) --
179162
179163                       The property to  query  within  the  selected  profile.
179164                       Valid options are:
179165
179166                       · firewallpolicy : inbound/outbound behavior
179167
179168                       · logging : firewall logging settings
179169
179170                       · settings : firewall properties
179171
179172                       · state : firewalls state (on | off)
179173
179174
179175                     · store (str) --
179176
179177                       The  store  to  use.  This is either the local firewall
179178                       policy or the policy defined  by  local  group  policy.
179179                       Valid options are:
179180
179181                       · lgpo
179182
179183                       · local
179184
179185                       Default is local
179186
179187
179188              Returns
179189                     A  dictionary containing the properties for the specified
179190                     profile
179191
179192              Return type
179193                     dict
179194
179195              Raises
179196
179197                     · CommandExecutionError -- If an error occurs
179198
179199                     · ValueError -- If the parameters are incorrect
179200
179201              CLI Example:
179202
179203                 # Get the inbound/outbound firewall settings for connections on the
179204                 # local domain profile
179205                 salt * win_firewall.get_settings domain firewallpolicy
179206
179207                 # Get the inbound/outbound firewall settings for connections on the
179208                 # domain profile as defined by local group policy
179209                 salt * win_firewall.get_settings domain firewallpolicy lgpo
179210
179211       salt.modules.win_firewall.rule_exists(name)
179212              New in version 2016.11.6.
179213
179214
179215              Checks if a firewall rule exists in the firewall policy
179216
179217              Parameters
179218                     name (str) -- The name of the rule
179219
179220              Returns
179221                     True if exists, otherwise False
179222
179223              Return type
179224                     bool
179225
179226              CLI Example:
179227
179228                 # Is there a rule named RemoteDesktop
179229                 salt '*' firewall.rule_exists RemoteDesktop
179230
179231       salt.modules.win_firewall.set_firewall_settings(profile,  inbound=None,
179232       outbound=None, store=u'local')
179233              Set  the  firewall  inbound/outbound  settings for the specified
179234              profile and store
179235
179236              New in version 2018.3.4.
179237
179238
179239              New in version Fluorine.
179240
179241
179242              Parameters
179243
179244                     · profile (str) --
179245
179246                       The firewall profile to query. Valid options are:
179247
179248                       · domain
179249
179250                       · public
179251
179252                       · private
179253
179254
179255                     · inbound (str) --
179256
179257                       The inbound setting. If None  is  passed,  the  setting
179258                       will remain unchanged. Valid values are:
179259
179260                       · blockinbound
179261
179262                       · blockinboundalways
179263
179264                       · allowinbound
179265
179266                       · notconfigured
179267
179268                       Default is None
179269
179270
179271                     · outbound (str) --
179272
179273                       The  outbound  setting.  If None is passed, the setting
179274                       will remain unchanged. Valid values are:
179275
179276                       · allowoutbound
179277
179278                       · blockoutbound
179279
179280                       · notconfigured
179281
179282                       Default is None
179283
179284
179285                     · store (str) --
179286
179287                       The store to use. This is  either  the  local  firewall
179288                       policy  or  the  policy  defined by local group policy.
179289                       Valid options are:
179290
179291                       · lgpo
179292
179293                       · local
179294
179295                       Default is local
179296
179297
179298              Returns
179299                     True if successful
179300
179301              Return type
179302                     bool
179303
179304              Raises
179305
179306                     · CommandExecutionError -- If an error occurs
179307
179308                     · ValueError -- If the parameters are incorrect
179309
179310              CLI Example:
179311
179312                 # Set the inbound setting for the domain profile to block inbound
179313                 # connections
179314                 salt * firewall.set_firewall_settings domain='domain' inbound='blockinbound'
179315
179316                 # Set the outbound setting for the domain profile to allow outbound
179317                 # connections
179318                 salt * firewall.set_firewall_settings domain='domain' outbound='allowoutbound'
179319
179320                 # Set inbound/outbound settings for the domain profile in the group
179321                 # policy to block inbound and allow outbound
179322                 salt * firewall.set_firewall_settings domain='domain' inbound='blockinbound' outbound='allowoutbound' store='lgpo'
179323
179324       salt.modules.win_firewall.set_logging_settings(profile, setting, value,
179325       store=u'local')
179326              Configure logging settings for the Windows firewall.
179327
179328              New in version 2018.3.4.
179329
179330
179331              New in version Fluorine.
179332
179333
179334              Parameters
179335
179336                     · profile (str) --
179337
179338                       The firewall profile to configure. Valid options are:
179339
179340                       · domain
179341
179342                       · public
179343
179344                       · private
179345
179346
179347                     · setting (str) --
179348
179349                       The logging setting to configure. Valid options are:
179350
179351                       · allowedconnections
179352
179353                       · droppedconnections
179354
179355                       · filename
179356
179357                       · maxfilesize
179358
179359
179360                     · value (str) --
179361
179362                       The  value  to  apply  to the setting. Valid values are
179363                       dependent upon  the  setting  being  configured.  Valid
179364                       options are:
179365
179366                       allowedconnections:
179367
179368                          · enable
179369
179370                          · disable
179371
179372                          · notconfigured
179373
179374                       droppedconnections:
179375
179376                          · enable
179377
179378                          · disable
179379
179380                          · notconfigured
179381
179382                       filename:
179383
179384                          · Full path and name of the firewall log file
179385
179386                          · notconfigured
179387
179388                       maxfilesize:
179389
179390                          · 1 - 32767
179391
179392                          · notconfigured
179393
179394                       NOTE:
179395                          notconfigured  can  only be used when using the lgpo
179396                          store
179397
179398
179399                     · store (str) --
179400
179401                       The store to use. This is  either  the  local  firewall
179402                       policy  or  the  policy  defined by local group policy.
179403                       Valid options are:
179404
179405                       · lgpo
179406
179407                       · local
179408
179409                       Default is local
179410
179411
179412              Returns
179413                     True if successful
179414
179415              Return type
179416                     bool
179417
179418              Raises
179419
179420                     · CommandExecutionError -- If an error occurs
179421
179422                     · ValueError -- If the parameters are incorrect
179423
179424              CLI Example:
179425
179426                 # Log allowed connections and set that in local group policy
179427                 salt * firewall.set_logging_settings domain allowedconnections enable lgpo
179428
179429                 # Don't log dropped connections
179430                 salt * firewall.set_logging_settings profile=private setting=droppedconnections value=disable
179431
179432                 # Set the location of the log file
179433                 salt * firewall.set_logging_settings domain filename C:\windows\logs\firewall.log
179434
179435                 # You can also use environment variables
179436                 salt * firewall.set_logging_settings domain filename %systemroot%\system32\LogFiles\Firewall\pfirewall.log
179437
179438                 # Set the max file size of the log to 2048 Kb
179439                 salt * firewall.set_logging_settings domain maxfilesize 2048
179440
179441       salt.modules.win_firewall.set_settings(profile,     setting,     value,
179442       store=u'local')
179443              Configure firewall settings.
179444
179445              New in version 2018.3.4.
179446
179447
179448              New in version Fluorine.
179449
179450
179451              Parameters
179452
179453                     · profile (str) --
179454
179455                       The firewall profile to configure. Valid options are:
179456
179457                       · domain
179458
179459                       · public
179460
179461                       · private
179462
179463
179464                     · setting (str) --
179465
179466                       The firewall setting to configure. Valid options are:
179467
179468                       · localfirewallrules
179469
179470                       · localconsecrules
179471
179472                       · inboundusernotification
179473
179474                       · remotemanagement
179475
179476                       · unicastresponsetomulticast
179477
179478
179479                     · value (str) --
179480
179481                       The value to apply to the setting. Valid options are
179482
179483                       · enable
179484
179485                       · disable
179486
179487                       · notconfigured
179488
179489                       NOTE:
179490                          notconfigured  can  only be used when using the lgpo
179491                          store
179492
179493
179494                     · store (str) --
179495
179496                       The store to use. This is  either  the  local  firewall
179497                       policy  or  the  policy  defined by local group policy.
179498                       Valid options are:
179499
179500                       · lgpo
179501
179502                       · local
179503
179504                       Default is local
179505
179506
179507              Returns
179508                     True if successful
179509
179510              Return type
179511                     bool
179512
179513              Raises
179514
179515                     · CommandExecutionError -- If an error occurs
179516
179517                     · ValueError -- If the parameters are incorrect
179518
179519              CLI Example:
179520
179521                 # Merge local rules with those distributed through group policy
179522                 salt * firewall.set_settings domain localfirewallrules enable
179523
179524                 # Allow remote management of Windows Firewall
179525                 salt * firewall.set_settings domain remotemanagement enable
179526
179527       salt.modules.win_firewall.set_state(profile, state, store=u'local')
179528              Configure the firewall state.
179529
179530              New in version 2018.3.4.
179531
179532
179533              New in version Fluorine.
179534
179535
179536              Parameters
179537
179538                     · profile (str) --
179539
179540                       The firewall profile to configure. Valid options are:
179541
179542                       · domain
179543
179544                       · public
179545
179546                       · private
179547
179548
179549                     · state (str) --
179550
179551                       The firewall state. Valid options are:
179552
179553                       · on
179554
179555                       · off
179556
179557                       · notconfigured
179558
179559                       NOTE:
179560                          notconfigured can only be used when using  the  lgpo
179561                          store
179562
179563
179564                     · store (str) --
179565
179566                       The  store  to  use.  This is either the local firewall
179567                       policy or the policy defined  by  local  group  policy.
179568                       Valid options are:
179569
179570                       · lgpo
179571
179572                       · local
179573
179574                       Default is local
179575
179576
179577              Returns
179578                     True if successful
179579
179580              Return type
179581                     bool
179582
179583              Raises
179584
179585                     · CommandExecutionError -- If an error occurs
179586
179587                     · ValueError -- If the parameters are incorrect
179588
179589              CLI Example:
179590
179591                 # Turn the firewall off when the domain profile is active
179592                 salt * firewall.set_state domain off
179593
179594                 # Turn the firewall on when the public profile is active and set that in
179595                 # the local group policy
179596                 salt * firewall.set_state public on lgpo
179597
179598   salt.modules.win_groupadd
179599       Manage groups on Windows
179600
179601       IMPORTANT:
179602          If  you  feel that Salt should be using this module to manage groups
179603          on a minion, and it is using a different module (or gives  an  error
179604          similar to 'group.info' is not available), see here.
179605
179606       salt.modules.win_groupadd.add(name, **kwargs)
179607              Add the specified group
179608
179609              Parameters
179610                     name (str) -- The name of the group to add
179611
179612              Returns
179613                     True if successful, otherwise False
179614
179615              Return type
179616                     bool
179617
179618              CLI Example:
179619
179620                 salt '*' group.add foo
179621
179622       salt.modules.win_groupadd.adduser(name, username, **kwargs)
179623              Add a user to a group
179624
179625              Parameters
179626
179627                     · name (str) -- The name of the group to modify
179628
179629                     · username  (str)  --  The name of the user to add to the
179630                       group
179631
179632              Returns
179633                     True if successful, otherwise False
179634
179635              Return type
179636                     bool
179637
179638              CLI Example:
179639
179640                 salt '*' group.adduser foo username
179641
179642       salt.modules.win_groupadd.delete(name, **kwargs)
179643              Remove the named group
179644
179645              Parameters
179646                     name (str) -- The name of the group to remove
179647
179648              Returns
179649                     True if successful, otherwise False
179650
179651              Return type
179652                     bool
179653
179654              CLI Example:
179655
179656                 salt '*' group.delete foo
179657
179658       salt.modules.win_groupadd.deluser(name, username, **kwargs)
179659              Remove a user from a group
179660
179661              Parameters
179662
179663                     · name (str) -- The name of the group to modify
179664
179665                     · username (str) -- The name of the user to  remove  from
179666                       the group
179667
179668              Returns
179669                     True if successful, otherwise False
179670
179671              Return type
179672                     bool
179673
179674              CLI Example:
179675
179676                 salt '*' group.deluser foo username
179677
179678       salt.modules.win_groupadd.getent(refresh=False)
179679              Return info on all groups
179680
179681              Parameters
179682                     refresh  (bool)  --  Refresh  the  info for all groups in
179683                     __context__. If False only the groups in __context__ will
179684                     be  returned.  If  True the __context__ will be refreshed
179685                     with current data and returned.  Default is False
179686
179687              Returns
179688                     A list of groups and their information
179689
179690              CLI Example:
179691
179692                 salt '*' group.getent
179693
179694       salt.modules.win_groupadd.info(name)
179695              Return information about a group
179696
179697              Parameters
179698                     name (str) -- The name of the  group  for  which  to  get
179699                     information
179700
179701              Returns
179702                     A dictionary of information about the group
179703
179704              Return type
179705                     dict
179706
179707              CLI Example:
179708
179709                 salt '*' group.info foo
179710
179711       salt.modules.win_groupadd.list_groups(refresh=False)
179712              Return a list of groups
179713
179714              Parameters
179715                     refresh  (bool)  --  Refresh  the  info for all groups in
179716                     __context__. If False only the groups in __context__ will
179717                     be  returned.  If True, the __context__ will be refreshed
179718                     with current data and returned.  Default is False
179719
179720              Returns
179721                     A list of groups on the machine
179722
179723              Return type
179724                     list
179725
179726              CLI Example:
179727
179728                 salt '*' group.list_groups
179729
179730       salt.modules.win_groupadd.members(name, members_list, **kwargs)
179731              Ensure a group contains only the members in the list
179732
179733              Parameters
179734
179735                     · name (str) -- The name of the group to modify
179736
179737                     · members_list (str) -- A single user or  a  comma  sepa‐
179738                       rated  list  of  users. The group will contain only the
179739                       users specified in this list.
179740
179741              Returns
179742                     True if successful, otherwise False
179743
179744              Return type
179745                     bool
179746
179747              CLI Example:
179748
179749                 salt '*' group.members foo 'user1,user2,user3'
179750
179751   salt.modules.win_iis module
179752       Microsoft IIS site management via WebAdministration powershell module
179753
179754       maintainer
179755              Shane    Lee    <slee@saltstack.com>,    Robert     Booth     <‐
179756              rbooth@saltstack.com>
179757
179758       platform
179759              Windows
179760
179761       depends
179762              PowerShell
179763
179764       depends
179765              WebAdministration module (PowerShell) (IIS)
179766
179767       New in version 2016.3.0.
179768
179769
179770       salt.modules.win_iis.create_app(name, site, sourcepath, apppool=None)
179771              Create an IIS application.
179772
179773              NOTE:
179774                 This  function  only  validates against the application name,
179775                 and will return True even if the application  already  exists
179776                 with  a  different configuration. It will not modify the con‐
179777                 figuration of an existing application.
179778
179779              Parameters
179780
179781                     · name (str) -- The IIS application.
179782
179783                     · site (str) -- The IIS site name.
179784
179785                     · sourcepath (str) -- The physical path.
179786
179787                     · apppool (str) -- The name of the IIS application pool.
179788
179789              Returns
179790                     True if successful, otherwise False
179791
179792              Return type
179793                     bool
179794
179795              CLI Example:
179796
179797                 salt '*' win_iis.create_app name='app0' site='site0' sourcepath='C:\site0' apppool='site0'
179798
179799       salt.modules.win_iis.create_apppool(name)
179800              Create an IIS application pool.
179801
179802              NOTE:
179803                 This function only validates  against  the  application  pool
179804                 name,  and  will  return  True  even  if the application pool
179805                 already exists with a different configuration.  It  will  not
179806                 modify the configuration of an existing application pool.
179807
179808              Parameters
179809                     name (str) -- The name of the IIS application pool.
179810
179811              Returns
179812                     True if successful, otherwise False
179813
179814              Return type
179815                     bool
179816
179817              CLI Example:
179818
179819                 salt '*' win_iis.create_apppool name='MyTestPool'
179820
179821       salt.modules.win_iis.create_backup(name)
179822              Backup an IIS Configuration on the System.
179823
179824              New in version 2017.7.0.
179825
179826
179827              NOTE:
179828                 Backups are stored in the $env:Windir\System32\inetsrv\backup
179829                 folder.
179830
179831              Parameters
179832                     name (str) -- The name to give the backup
179833
179834              Returns
179835                     True if successful, otherwise False
179836
179837              Return type
179838                     bool
179839
179840              CLI Example:
179841
179842                 salt '*' win_iis.create_backup good_config_20170209
179843
179844       salt.modules.win_iis.create_binding(site,     hostheader=u'',     ipad‐
179845       dress=u'*', port=80, protocol=u'http', sslflags=None)
179846              Create an IIS Web Binding.
179847
179848              NOTE:
179849                 This  function  only  validates  against  the  binding  ipad‐
179850                 dress:port:hostheader combination, and will return True  even
179851                 if the binding already exists with a different configuration.
179852                 It will not modify the configuration of an existing binding.
179853
179854              Parameters
179855
179856                     · site (str) -- The IIS site name.
179857
179858                     · hostheader (str) -- The host  header  of  the  binding.
179859                       Usually a hostname.
179860
179861                     · ipaddress (str) -- The IP address of the binding.
179862
179863                     · port (int) -- The TCP port of the binding.
179864
179865                     · protocol (str) -- The application protocol of the bind‐
179866                       ing.
179867
179868                     · sslflags (str) -- The  flags  representing  certificate
179869                       type and storage of the binding.
179870
179871              Returns
179872                     True if successful, otherwise False
179873
179874              Return type
179875                     bool
179876
179877              CLI Example:
179878
179879                 salt '*' win_iis.create_binding site='site0' hostheader='example.com' ipaddress='*' port='80'
179880
179881       salt.modules.win_iis.create_cert_binding(name,   site,  hostheader=u'',
179882       ipaddress=u'*', port=443, sslflags=0)
179883              Assign a certificate to an IIS Web Binding.
179884
179885              New in version 2016.11.0.
179886
179887
179888              NOTE:
179889                 The web binding that the certificate  is  being  assigned  to
179890                 must already exist.
179891
179892              Parameters
179893
179894                     · name (str) -- The thumbprint of the certificate.
179895
179896                     · site (str) -- The IIS site name.
179897
179898                     · hostheader (str) -- The host header of the binding.
179899
179900                     · ipaddress (str) -- The IP address of the binding.
179901
179902                     · port (int) -- The TCP port of the binding.
179903
179904                     · sslflags  (int)  -- Flags representing certificate type
179905                       and certificate storage of the binding.
179906
179907              Returns
179908                     True if successful, otherwise False
179909
179910              Return type
179911                     bool
179912
179913              CLI Example:
179914
179915                 salt '*' win_iis.create_cert_binding name='AAA000' site='site0' hostheader='example.com' ipaddress='*' port='443'
179916
179917       salt.modules.win_iis.create_site(name, sourcepath,  apppool=u'',  host‐
179918       header=u'', ipaddress=u'*', port=80, protocol=u'http')
179919              Create a basic website in IIS.
179920
179921              NOTE:
179922                 This  function only validates against the site name, and will
179923                 return True even if the site already exists with a  different
179924                 configuration.  It  will  not  modify the configuration of an
179925                 existing site.
179926
179927              Parameters
179928
179929                     · name (str) -- The IIS site name.
179930
179931                     · sourcepath (str) -- The physical path of the IIS site.
179932
179933                     · apppool (str) -- The name of the IIS application pool.
179934
179935                     · hostheader (str) -- The host  header  of  the  binding.
179936                       Usually  the  hostname  or  website  name, ie: www.con‐
179937                       toso.com
179938
179939                     · ipaddress (str) -- The IP address of the binding.
179940
179941                     · port (int) -- The TCP port of the binding.
179942
179943                     · protocol (str) -- The application protocol of the bind‐
179944                       ing. (http, https, etc.)
179945
179946              Returns
179947                     True if successful, otherwise False.
179948
179949              Return type
179950                     bool
179951
179952              NOTE:
179953                 If  an  application  pool  is specified, and that application
179954                 pool does not already exist, it will be created.
179955
179956              CLI Example:
179957
179958                 salt '*' win_iis.create_site name='My Test Site' sourcepath='c:\stage' apppool='TestPool'
179959
179960       salt.modules.win_iis.create_vdir(name, site, sourcepath, app=u'/')
179961              Create an IIS virtual directory.
179962
179963              NOTE:
179964                 This function only validates against  the  virtual  directory
179965                 name,  and  will  return  True  even if the virtual directory
179966                 already exists with a different configuration.  It  will  not
179967                 modify the configuration of an existing virtual directory.
179968
179969              Parameters
179970
179971                     · name (str) -- The virtual directory name.
179972
179973                     · site (str) -- The IIS site name.
179974
179975                     · sourcepath (str) -- The physical path.
179976
179977                     · app (str) -- The IIS application.
179978
179979              Returns
179980                     True if successful, otherwise False
179981
179982              Return type
179983                     bool
179984
179985              CLI Example:
179986
179987                 salt '*' win_iis.create_vdir name='vd0' site='site0' sourcepath='C:\inetpub\vdirs\vd0'
179988
179989       salt.modules.win_iis.get_container_setting(name, container, settings)
179990              Get the value of the setting for the IIS container.
179991
179992              New in version 2016.11.0.
179993
179994
179995              Parameters
179996
179997                     · name (str) -- The name of the IIS container.
179998
179999                     · container  (str) -- The type of IIS container. The con‐
180000                       tainer types are: AppPools, Sites, SslBindings
180001
180002                     · settings (dict) -- A dictionary of  the  setting  names
180003                       and their values.
180004
180005              Returns
180006                     A dictionary of the provided settings and their values.
180007
180008              Return type
180009                     dict
180010
180011              CLI Example:
180012
180013                 salt '*' win_iis.get_container_setting name='MyTestPool' container='AppPools'
180014                     settings="['processModel.identityType']"
180015
180016       salt.modules.win_iis.get_webapp_settings(name, site, settings)
180017              New in version 2017.7.0.
180018
180019
180020              Get the value of the setting for the IIS web application.
180021
180022              NOTE:
180023                 Params are case sensitive
180024
180025              Parameters
180026
180027                     · name (str) -- The name of the IIS web application.
180028
180029                     · site  (str)  -- The site name contains the web applica‐
180030                       tion.  Example: Default Web Site
180031
180032                     · settings (str) -- A dictionary of the setting names and
180033                       their values.  Available settings: physicalPath, appli‐
180034                       cationPool, userName, password
180035
180036              Returns
180037                     A dictionary of the provided settings and their values.
180038
180039              Return type
180040                     dict
180041
180042              CLI Example:
180043
180044                 salt '*' win_iis.get_webapp_settings name='app0' site='Default Web Site'
180045                     settings="['physicalPath','applicationPool']"
180046
180047       salt.modules.win_iis.list_apppools()
180048              List all configured IIS application pools.
180049
180050              Returns
180051                     A dictionary of IIS application pools and their details.
180052
180053              Return type
180054                     dict
180055
180056              CLI Example:
180057
180058                 salt '*' win_iis.list_apppools
180059
180060       salt.modules.win_iis.list_apps(site)
180061              Get all configured IIS applications for the specified site.
180062
180063              Parameters
180064                     site (str) -- The IIS site name.
180065
180066              Returns: A dictionary of the application names and properties.
180067
180068              CLI Example:
180069
180070                 salt '*' win_iis.list_apps site
180071
180072       salt.modules.win_iis.list_backups()
180073              List the IIS Configuration Backups on the System.
180074
180075              New in version 2017.7.0.
180076
180077
180078              NOTE:
180079                 Backups are made when a configuration is edited. Manual back‐
180080                 ups  are  stored  in  the $env:Windir\System32\inetsrv\backup
180081                 folder.
180082
180083              Returns
180084                     A dictionary of IIS Configurations backed up on the  sys‐
180085                     tem.
180086
180087              Return type
180088                     dict
180089
180090              CLI Example:
180091
180092                 salt '*' win_iis.list_backups
180093
180094       salt.modules.win_iis.list_bindings(site)
180095              Get all configured IIS bindings for the specified site.
180096
180097              Parameters
180098                     site (str) -- The name if the IIS Site
180099
180100              Returns
180101                     A dictionary of the binding names and properties.
180102
180103              Return type
180104                     dict
180105
180106              CLI Example:
180107
180108                 salt '*' win_iis.list_bindings site
180109
180110       salt.modules.win_iis.list_cert_bindings(site)
180111              List certificate bindings for an IIS site.
180112
180113              New in version 2016.11.0.
180114
180115
180116              Parameters
180117                     site (str) -- The IIS site name.
180118
180119              Returns
180120                     A dictionary of the binding names and properties.
180121
180122              Return type
180123                     dict
180124
180125              CLI Example:
180126
180127                 salt '*' win_iis.list_bindings site
180128
180129       salt.modules.win_iis.list_sites()
180130              List all the currently deployed websites.
180131
180132              Returns
180133                     A dictionary of the IIS sites and their properties.
180134
180135              Return type
180136                     dict
180137
180138              CLI Example:
180139
180140                 salt '*' win_iis.list_sites
180141
180142       salt.modules.win_iis.list_vdirs(site, app=u'/')
180143              Get  all  configured  IIS  virtual directories for the specified
180144              site, or for the combination of site and application.
180145
180146              Parameters
180147
180148                     · site (str) -- The IIS site name.
180149
180150                     · app (str) -- The IIS application.
180151
180152              Returns
180153                     A dictionary of the virtual directory names  and  proper‐
180154                     ties.
180155
180156              Return type
180157                     dict
180158
180159              CLI Example:
180160
180161                 salt '*' win_iis.list_vdirs site
180162
180163       salt.modules.win_iis.list_worker_processes(apppool)
180164              Returns a list of worker processes that correspond to the passed
180165              application pool.
180166
180167              New in version 2017.7.0.
180168
180169
180170              Parameters
180171                     apppool (str) -- The application pool to query
180172
180173              Returns
180174                     A dictionary of worker processes with their process IDs
180175
180176              Return type
180177                     dict
180178
180179              CLI Example:
180180
180181                 salt '*' win_iis.list_worker_processes 'My App Pool'
180182
180183       salt.modules.win_iis.modify_binding(site,   binding,   hostheader=None,
180184       ipaddress=None, port=None, sslflags=None)
180185              Modify  an  IIS  Web Binding. Use site and binding to target the
180186              binding.
180187
180188              New in version 2017.7.0.
180189
180190
180191              Parameters
180192
180193                     · site (str) -- The IIS site name.
180194
180195                     · binding (str) -- The binding to edit. This is a  combi‐
180196                       nation  of  the IP address, port, and hostheader. It is
180197                       in the following format: ipaddress:port:hostheader. For
180198                       example, *:80: or *:80:salt.com
180199
180200                     · hostheader  (str)  --  The  host header of the binding.
180201                       Usually the hostname.
180202
180203                     · ipaddress (str) -- The IP address of the binding.
180204
180205                     · port (int) -- The TCP port of the binding.
180206
180207                     · sslflags (str) -- The  flags  representing  certificate
180208                       type and storage of the binding.
180209
180210              Returns
180211                     True if successful, otherwise False
180212
180213              Return type
180214                     bool
180215
180216              CLI Example:
180217
180218              The  following  will  seat  the host header of binding *:80: for
180219              site0 to example.com
180220
180221                 salt '*' win_iis.modify_binding site='site0' binding='*:80:' hostheader='example.com'
180222
180223       salt.modules.win_iis.modify_site(name, sourcepath=None, apppool=None)
180224              Modify a basic website in IIS.
180225
180226              New in version 2017.7.0.
180227
180228
180229              Parameters
180230
180231                     · name (str) -- The IIS site name.
180232
180233                     · sourcepath (str) -- The physical path of the IIS site.
180234
180235                     · apppool (str) -- The name of the IIS application pool.
180236
180237              Returns
180238                     True if successful, otherwise False.
180239
180240              Return type
180241                     bool
180242
180243              NOTE:
180244                 If an application pool is  specified,  and  that  application
180245                 pool does not already exist, it will be created.
180246
180247              CLI Example:
180248
180249                 salt '*' win_iis.modify_site name='My Test Site' sourcepath='c:\new_path' apppool='NewTestPool'
180250
180251       salt.modules.win_iis.remove_app(name, site)
180252              Remove an IIS application.
180253
180254              Parameters
180255
180256                     · name (str) -- The application name.
180257
180258                     · site (str) -- The IIS site name.
180259
180260              Returns
180261                     True if successful, otherwise False
180262
180263              Return type
180264                     bool
180265
180266              CLI Example:
180267
180268                 salt '*' win_iis.remove_app name='app0' site='site0'
180269
180270       salt.modules.win_iis.remove_apppool(name)
180271              Remove an IIS application pool.
180272
180273              Parameters
180274                     name (str) -- The name of the IIS application pool.
180275
180276              Returns
180277                     True if successful, otherwise False
180278
180279              Return type
180280                     bool
180281
180282              CLI Example:
180283
180284                 salt '*' win_iis.remove_apppool name='MyTestPool'
180285
180286       salt.modules.win_iis.remove_backup(name)
180287              Remove an IIS Configuration backup from the System.
180288
180289              New in version 2017.7.0.
180290
180291
180292              Parameters
180293                     name (str) -- The name of the backup to remove
180294
180295              Returns
180296                     True if successful, otherwise False
180297
180298              Return type
180299                     bool
180300
180301              CLI Example:
180302
180303                 salt '*' win_iis.remove_backup backup_20170209
180304
180305       salt.modules.win_iis.remove_binding(site,     hostheader=u'',     ipad‐
180306       dress=u'*', port=80)
180307              Remove an IIS binding.
180308
180309              Parameters
180310
180311                     · site (str) -- The IIS site name.
180312
180313                     · hostheader (str) -- The host header of the binding.
180314
180315                     · ipaddress (str) -- The IP address of the binding.
180316
180317                     · port (int) -- The TCP port of the binding.
180318
180319              Returns
180320                     True if successful, otherwise False
180321
180322              Return type
180323                     bool
180324
180325              CLI Example:
180326
180327                 salt '*' win_iis.remove_binding site='site0' hostheader='example.com' ipaddress='*' port='80'
180328
180329       salt.modules.win_iis.remove_cert_binding(name,  site,   hostheader=u'',
180330       ipaddress=u'*', port=443)
180331              Remove a certificate from an IIS Web Binding.
180332
180333              New in version 2016.11.0.
180334
180335
180336              NOTE:
180337                 This function only removes the certificate from the web bind‐
180338                 ing. It does not remove the web binding itself.
180339
180340              Parameters
180341
180342                     · name (str) -- The thumbprint of the certificate.
180343
180344                     · site (str) -- The IIS site name.
180345
180346                     · hostheader (str) -- The host header of the binding.
180347
180348                     · ipaddress (str) -- The IP address of the binding.
180349
180350                     · port (int) -- The TCP port of the binding.
180351
180352              Returns
180353                     True if successful, otherwise False
180354
180355              Return type
180356                     bool
180357
180358              CLI Example:
180359
180360                 salt '*' win_iis.remove_cert_binding name='AAA000' site='site0' hostheader='example.com' ipaddress='*' port='443'
180361
180362       salt.modules.win_iis.remove_site(name)
180363              Delete a website from IIS.
180364
180365              Parameters
180366                     name (str) -- The IIS site name.
180367
180368              Returns
180369                     True if successful, otherwise False
180370
180371              Return type
180372                     bool
180373
180374              NOTE:
180375                 This will not remove the application pool used by the site.
180376
180377              CLI Example:
180378
180379                 salt '*' win_iis.remove_site name='My Test Site'
180380
180381       salt.modules.win_iis.remove_vdir(name, site, app=u'/')
180382              Remove an IIS virtual directory.
180383
180384              Parameters
180385
180386                     · name (str) -- The virtual directory name.
180387
180388                     · site (str) -- The IIS site name.
180389
180390                     · app (str) -- The IIS application.
180391
180392              Returns
180393                     True if successful, otherwise False
180394
180395              Return type
180396                     bool
180397
180398              CLI Example:
180399
180400                 salt '*' win_iis.remove_vdir name='vdir0' site='site0'
180401
180402       salt.modules.win_iis.restart_apppool(name)
180403              Restart an IIS application pool.
180404
180405              New in version 2016.11.0.
180406
180407
180408              Parameters
180409                     name (str) -- The name of the IIS application pool.
180410
180411              Returns
180412                     True if successful, otherwise False
180413
180414              Return type
180415                     bool
180416
180417              CLI Example:
180418
180419                 salt '*' win_iis.restart_apppool name='MyTestPool'
180420
180421       salt.modules.win_iis.restart_site(name)
180422              Restart a Web Site in IIS.
180423
180424              New in version 2017.7.0.
180425
180426
180427              Parameters
180428                     name (str) -- The name of the website to restart.
180429
180430              Returns
180431                     True if successful, otherwise False
180432
180433              Return type
180434                     bool
180435
180436              CLI Example:
180437
180438                 salt '*' win_iis.restart_site name='My Test Site'
180439
180440       salt.modules.win_iis.set_container_setting(name, container, settings)
180441              Set the value of the setting for an IIS container.
180442
180443              New in version 2016.11.0.
180444
180445
180446              Parameters
180447
180448                     · name (str) -- The name of the IIS container.
180449
180450                     · container (str) -- The type of IIS container. The  con‐
180451                       tainer types are: AppPools, Sites, SslBindings
180452
180453                     · settings  (dict)  --  A dictionary of the setting names
180454                       and their values.
180455
180456              Returns
180457                     True if successful, otherwise False
180458
180459              Return type
180460                     bool
180461
180462              CLI Example:
180463
180464                 salt '*' win_iis.set_container_setting name='MyTestPool' container='AppPools'
180465                     settings="{'managedPipeLineMode': 'Integrated'}"
180466
180467       salt.modules.win_iis.set_webapp_settings(name, site, settings)
180468              New in version 2017.7.0.
180469
180470
180471              Configure an IIS application.
180472
180473              NOTE:
180474                 This function only configures an  existing  app.  Params  are
180475                 case sensitive.
180476
180477              Parameters
180478
180479                     · name (str) -- The IIS application.
180480
180481                     · site (str) -- The IIS site name.
180482
180483                     · settings (str) -- A dictionary of the setting names and
180484                       their values.  - physicalPath: The physical path of the
180485                       webapp.   -  applicationPool:  The application pool for
180486                       the webapp.  - userName: "connectAs" user  -  password:
180487                       "connectAs" password for user
180488
180489              Returns
180490                     A boolean representing whether all changes succeeded.
180491
180492              Return type
180493                     bool
180494
180495              CLI Example:
180496
180497                 salt '*' win_iis.set_webapp_settings name='app0' site='site0' settings="{'physicalPath': 'C:\site0', 'apppool': 'site0'}"
180498
180499       salt.modules.win_iis.start_apppool(name)
180500              Start an IIS application pool.
180501
180502              New in version 2017.7.0.
180503
180504
180505              Parameters
180506                     name (str) -- The name of the App Pool to start.
180507
180508              Returns
180509                     True if successful, otherwise False
180510
180511              Return type
180512                     bool
180513
180514              CLI Example:
180515
180516                 salt '*' win_iis.start_apppool name='MyTestPool'
180517
180518       salt.modules.win_iis.start_site(name)
180519              Start a Web Site in IIS.
180520
180521              New in version 2017.7.0.
180522
180523
180524              Parameters
180525                     name (str) -- The name of the website to start.
180526
180527              Returns
180528                     True if successful, otherwise False
180529
180530              Return type
180531                     bool
180532
180533              CLI Example:
180534
180535                 salt '*' win_iis.start_site name='My Test Site'
180536
180537       salt.modules.win_iis.stop_apppool(name)
180538              Stop an IIS application pool.
180539
180540              New in version 2017.7.0.
180541
180542
180543              Parameters
180544                     name (str) -- The name of the App Pool to stop.
180545
180546              Returns
180547                     True if successful, otherwise False
180548
180549              Return type
180550                     bool
180551
180552              CLI Example:
180553
180554                 salt '*' win_iis.stop_apppool name='MyTestPool'
180555
180556       salt.modules.win_iis.stop_site(name)
180557              Stop a Web Site in IIS.
180558
180559              New in version 2017.7.0.
180560
180561
180562              Parameters
180563                     name (str) -- The name of the website to stop.
180564
180565              Returns
180566                     True if successful, otherwise False
180567
180568              Return type
180569                     bool
180570
180571              CLI Example:
180572
180573                 salt '*' win_iis.stop_site name='My Test Site'
180574
180575   salt.modules.win_ip
180576       The networking module for Windows based systems
180577
180578       salt.modules.win_ip.disable(iface)
180579              Disable an interface
180580
180581              CLI Example:
180582
180583                 salt -G 'os_family:Windows' ip.disable 'Local Area Connection #2'
180584
180585       salt.modules.win_ip.enable(iface)
180586              Enable an interface
180587
180588              CLI Example:
180589
180590                 salt -G 'os_family:Windows' ip.enable 'Local Area Connection #2'
180591
180592       salt.modules.win_ip.get_all_interfaces()
180593              Return configs for all interfaces
180594
180595              CLI Example:
180596
180597                 salt -G 'os_family:Windows' ip.get_all_interfaces
180598
180599       salt.modules.win_ip.get_default_gateway()
180600              Set DNS source to DHCP on Windows
180601
180602              CLI Example:
180603
180604                 salt -G 'os_family:Windows' ip.get_default_gateway
180605
180606       salt.modules.win_ip.get_interface(iface)
180607              Return the configuration of a network interface
180608
180609              CLI Example:
180610
180611                 salt -G 'os_family:Windows' ip.get_interface 'Local Area Connection'
180612
180613       salt.modules.win_ip.get_subnet_length(mask)
180614              Convenience  function  to convert the netmask to the CIDR subnet
180615              length
180616
180617              CLI Example:
180618
180619                 salt -G 'os_family:Windows' ip.get_subnet_length 255.255.255.0
180620
180621       salt.modules.win_ip.is_disabled(iface)
180622              Returns True if interface is disabled, otherwise False
180623
180624              CLI Example:
180625
180626                 salt -G 'os_family:Windows' ip.is_disabled 'Local Area Connection #2'
180627
180628       salt.modules.win_ip.is_enabled(iface)
180629              Returns True if interface is enabled, otherwise False
180630
180631              CLI Example:
180632
180633                 salt -G 'os_family:Windows' ip.is_enabled 'Local Area Connection #2'
180634
180635       salt.modules.win_ip.raw_interface_configs()
180636              Return raw configs for all interfaces
180637
180638              CLI Example:
180639
180640                 salt -G 'os_family:Windows' ip.raw_interface_configs
180641
180642       salt.modules.win_ip.set_dhcp_all(iface)
180643              Set both IP Address and DNS to DHCP
180644
180645              CLI Example:
180646
180647                 salt -G 'os_family:Windows' ip.set_dhcp_all 'Local Area Connection'
180648
180649       salt.modules.win_ip.set_dhcp_dns(iface)
180650              Set DNS source to DHCP on Windows
180651
180652              CLI Example:
180653
180654                 salt -G 'os_family:Windows' ip.set_dhcp_dns 'Local Area Connection'
180655
180656       salt.modules.win_ip.set_dhcp_ip(iface)
180657              Set Windows NIC to get IP from DHCP
180658
180659              CLI Example:
180660
180661                 salt -G 'os_family:Windows' ip.set_dhcp_ip 'Local Area Connection'
180662
180663       salt.modules.win_ip.set_static_dns(iface, *addrs)
180664              Set static DNS configuration on a Windows NIC
180665
180666              Parameters
180667
180668                     · iface (str) -- The name of the interface to set
180669
180670                     · addrs -- One or more DNS servers to be added. To  clear
180671                       the  list  of  DNS  servers pass an empty list ([]). If
180672                       undefined or None no changes will be made.
180673
180674              Returns
180675                     A dictionary containing the new DNS settings
180676
180677              Return type
180678                     dict
180679
180680              CLI Example:
180681
180682                 salt -G 'os_family:Windows' ip.set_static_dns 'Local Area Connection' '192.168.1.1'
180683                 salt -G 'os_family:Windows' ip.set_static_dns 'Local Area Connection' '192.168.1.252' '192.168.1.253'
180684
180685       salt.modules.win_ip.set_static_ip(iface,      addr,       gateway=None,
180686       append=False)
180687              Set static IP configuration on a Windows NIC
180688
180689              iface  The name of the interface to manage
180690
180691              addr   IP  address  with  subnet  length  (ex. 10.1.2.3/24). The
180692                     ip.get_subnet_length function can be  used  to  calculate
180693                     the subnet length from a netmask.
180694
180695              gateway
180696                     None  If  specified,  the  default gateway will be set to
180697                     this value.
180698
180699              append False If True, this IP  address  will  be  added  to  the
180700                     interface. Default is False, which overrides any existing
180701                     configuration for the interface and sets addr as the only
180702                     address on the interface.
180703
180704              CLI Example:
180705
180706                 salt -G 'os_family:Windows' ip.set_static_ip 'Local Area Connection' 10.1.2.3/24 gateway=10.1.2.1
180707                 salt -G 'os_family:Windows' ip.set_static_ip 'Local Area Connection' 10.1.2.4/24 append=True
180708
180709   salt.modules.win_lgpo module
180710       Manage Local Policy on Windows
180711
180712       This  module allows configuring local group policy (i.e. gpedit.msc) on
180713       a Windows server.
180714
180715       New in version 2016.11.0.
180716
180717
180718   Administrative Templates
180719       Administrative template policies are dynamically  read  from  ADMX/ADML
180720       files on the server.
180721
180722   Windows Settings
180723       Policies  contained in the "Windows Settings" section of the gpedit.msc
180724       GUI are statically defined in this module. Each  policy  is  configured
180725       for  the section (Machine/User) in the module's _policy_info class. The
180726       _policy_info class contains a "policies" dict on how  the  module  will
180727       configure  the policy, where the policy resides in the GUI (for display
180728       purposes), data validation data, data transformation data, etc.
180729
180730   Current known limitations
180731       · At this time, start/shutdown scripts policies are displayed, but  are
180732         not configurable.
180733
180734       · Not all "Security Settings" policies exist in the _policy_info class
180735
180736       depends
180737
180738              · pywin32 Python module
180739
180740              · lxml
180741
180742              · uuid
180743
180744              · struct
180745
180746              · salt.utils.win_reg
180747
180748       salt.modules.win_lgpo.get(policy_class=None,           return_full_pol‐
180749       icy_names=True,   hierarchical_return=False,    adml_language=u'en-US',
180750       return_not_configured=False)
180751              Get a policy value
180752
180753              Parameters
180754
180755                     · policy_class  (str)  -- Some policies are both user and
180756                       computer, by default all policies will be  pulled,  but
180757                       this  can  be  used  to retrieve only a specific policy
180758                       class   User/USER/user   =   retrieve   user   policies
180759                       Machine/MACHINE/machine/Computer/COMPUTER/computer    =
180760                       retrieve machine/computer policies
180761
180762                     · return_full_policy_names (bool) -- True/False to return
180763                       the  policy name as it is seen in the gpedit.msc GUI or
180764                       to only return the policy key/id.
180765
180766                     · hierarchical_return (bool) -- True/False to return  the
180767                       policy  data in the hierarchy as seen in the gpedit.msc
180768                       GUI. The default of False will return data  split  only
180769                       into User/Computer configuration sections
180770
180771                     · adml_language  (str)  --  The  ADML language to use for
180772                       processing display/descriptive  names  and  enumeration
180773                       values of ADMX template data, defaults to en-US
180774
180775                     · return_not_configured  (bool) -- Include Administrative
180776                       Template policies that  are  'Not  Configured'  in  the
180777                       return data
180778
180779              Returns
180780                     A  dictionary containing the policy values for the speci‐
180781                     fied class
180782
180783              Return type
180784                     dict
180785
180786              CLI Example:
180787
180788                 salt '*' lgpo.get machine return_full_policy_names=True
180789
180790       salt.modules.win_lgpo.get_policy_info(policy_name,        policy_class,
180791       adml_language=u'en-US')
180792              Returns information about a specified policy
180793
180794              Parameters
180795
180796                     · policy_name (str) -- The name of the policy to lookup
180797
180798                     · policy_class   (str)  --  The  class  of  policy,  i.e.
180799                       machine, user, both
180800
180801                     · adml_language (str) -- The ADML  language  to  use  for
180802                       Administrative Template data lookup
180803
180804              Returns
180805                     Information about the specified policy
180806
180807              Return type
180808                     dict
180809
180810              CLI Example:
180811
180812                 salt '*' lgpo.get_policy_info 'Maximum password age' machine
180813
180814              You  can  use lgpo.get_policy_info to get all the possible names
180815              that could be used in a state file  or  from  the  command  line
180816              (along  with  elements  that  need to be set/etc). The key is to
180817              match the text you see in the gpedit.msc gui exactly,  including
180818              quotes  around words or phrases. The "full path" style is really
180819              only needed when there are multiple policies that use  the  same
180820              base  name.  For  example,  Access  data  sources across domains
180821              exists in ~10 different paths. If you put that through  get_pol‐
180822              icy_info  you'll get back a message that it is used for multiple
180823              policies and you need to be more specific.
180824
180825              CLI Example:
180826
180827                 salt-call --local lgpo.get_policy_info ShellRemoveOrderPrints_2 machine
180828
180829                 local:
180830                     ----------
180831                     message:
180832                     policy_aliases:
180833                         - Turn off the "Order Prints" picture task
180834                         - ShellRemoveOrderPrints_2
180835                         - System\Internet Communication Management\Internet Communication settings\Turn off the "Order Prints" picture task
180836                     policy_class:
180837                         machine
180838                     policy_elements:
180839                     policy_found:
180840                         True
180841                     policy_name:
180842                         ShellRemoveOrderPrints_2
180843                     rights_assignment:
180844                         False
180845
180846              Escaping can get tricky in cmd/Powershell. The following  is  an
180847              example of escaping in Powershell using backquotes:
180848
180849                 PS>salt-call --local lgpo.get_policy_info "Turn off the `\`"Order Prints`\`" picture task" machine
180850
180851                 local:
180852                     ----------
180853                     message:
180854                     policy_aliases:
180855                         - Turn off the "Order Prints" picture task
180856                         - ShellRemoveOrderPrints_2
180857                         - System\Internet Communication Management\Internet Communication settings\Turn off the "Order Prints" picture task
180858                     policy_class:
180859                         machine
180860                     policy_elements:
180861                     policy_found:
180862                         True
180863                     policy_name:
180864                         Turn off the "Order Prints" picture task
180865                     rights_assignment:
180866                         False
180867
180868              This  function can then be used to get the options available for
180869              specifying Group Policy Objects to be used in state files. Based
180870              on the above any of these should be usable:
180871
180872                 internet_communications_settings:
180873                   lgpo.set:
180874                     - computer_policy:
180875                         Turn off the "Order Prints" picture task: Enabled
180876
180877                 internet_communications_settings:
180878                   lgpo.set:
180879                     - computer_policy:
180880                         ShellRemoveOrderPrints_2: Enabled
180881
180882              When  using the full path, it might be a good idea to use single
180883              quotes around the path:
180884
180885                 internet_communications_settings:
180886                   lgpo.set:
180887                     - computer_policy:
180888                         'System\Internet Communication Management\Internet Communication settings\Turn off the "Order Prints" picture task': 'Enabled'
180889
180890              If you struggle to find the policy  from  get_policy_info  using
180891              the  name  as you see in gpedit.msc, the names such as "ShellRe‐
180892              moveOrderPrints_2" come from the .admx files. If you know  noth‐
180893              ing  about .admx/.adml relationships (ADML holds what you see in
180894              the GUI, ADMX holds the more technical details), then  this  may
180895              be  a  little bit too much info, but here is an example with the
180896              above policy using Powershell:
180897
180898                 PS>Get-ChildItem -Path C:\Windows\PolicyDefinitions -Recurse -Filter *.adml | Select-String "Order Prints"
180899
180900                 C:\windows\PolicyDefinitions\en-US\ICM.adml:152:      <string id="ShellRemoveOrderPrints">Turn off the "Order Prints" picture task</string>
180901                 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.
180902                 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.
180903                 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.
180904
180905              From this grep, we can see id "ShellRemoveOrderPrints" is the ID
180906              of  the  string used to describe this policy, then we search for
180907              it in the ADMX:
180908
180909                 PS>Get-ChildItem -Path C:\Windows\PolicyDefinitions -Recurse -Filter *.admx | Select-String "ShellRemoveOrderPrints"
180910
180911                 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">
180912                 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">
180913
180914              Now  we  have  two  to  pick  from.  And  if  you   notice   the
180915              class="Machine"  and class="User" (which details if it is a com‐
180916              puter policy or user policy respectively) the  ShellRemoveOrder‐
180917              Prints_2  is  the  "short  name"  we  could  use to pass through
180918              get_policy_info to see what the module itself is expecting.
180919
180920       salt.modules.win_lgpo.set_(computer_policy=None,      user_policy=None,
180921       cumulative_rights_assignments=True, adml_language=u'en-US')
180922              Set a local server policy.
180923
180924              Parameters
180925
180926                     · computer_policy (dict) --
180927
180928                       A  dictionary  of "policyname: value" pairs of computer
180929                       policies to set. 'value' should be how it is  displayed
180930                       in   the   gpedit  GUI,  i.e.   if  a  setting  can  be
180931                       'Enabled'/'Disabled', then that should be passed
180932
180933                       Administrative Template data may require  dicts  within
180934                       dicts,  to  specify  each element of the Administrative
180935                       Template policy.  Administrative Templates policies are
180936                       always cumulative.
180937
180938                       Policy names can be specified in a number of ways based
180939                       on the type of policy:
180940                          Windows Settings Policies:
180941                              These policies can be specified  using  the  GUI
180942                              display  name  or  the  key  name from the _pol‐
180943                              icy_info class in this module.  The GUI  display
180944                              name is also contained in the _policy_info class
180945                              in this module.
180946
180947                          Administrative Template Policies:
180948                              These can be specified using the policy name  as
180949                              displayed  in  the  GUI  (case  sensitive). Some
180950                              policies have the same  name,  but  a  different
180951                              location  (for  example,  "Access  data  sources
180952                              across domains"). These can be differentiated by
180953                              the  "path"  in  the  GUI (for example, "Windows
180954                              ComponentsInternet ExplorerInternet Control Pan‐
180955                              elSecurity  PageInternet ZoneAccess data sources
180956                              across domains").
180957
180958                              Additionally, policies can  be  specified  using
180959                              the  "name"  and  "id"  attributes from the ADMX
180960                              files.
180961
180962                              For Administrative Templates  that  have  policy
180963                              elements,  each  element  can be specified using
180964                              the text string as seen in the GUI or using  the
180965                              ID  attribute from the ADMX file. Due to the way
180966                              some of the GUI text is laid  out,  some  policy
180967                              element  names  could  include  descriptive text
180968                              that appears lbefore the policy element  in  the
180969                              GUI.
180970
180971                              Use  the get_policy_info function for the policy
180972                              name to view the element ID/names that the  mod‐
180973                              ule will accept.
180974
180975
180976                     · user_policy  (dict)  --  The  same  setup  as  the com‐
180977                       puter_policy, except with data to configure  the  local
180978                       user policy.
180979
180980                     · cumulative_rights_assignments (bool) --
180981
180982                       Determine  how user rights assignment policies are con‐
180983                       figured.
180984
180985                       If True, user right assignment specifications are  sim‐
180986                       ply added to the existing policy
180987
180988                       If  False,  only the users specified will get the right
180989                       (any existing will have the right revoked)
180990
180991
180992                     · adml_language (str) -- The language files  to  use  for
180993                       looking  up  Administrative  Template policy data (i.e.
180994                       how the policy is displayed in the  GUI).  Defaults  to
180995                       'en-US' (U.S. English).
180996
180997              Returns
180998                     True is successful, otherwise False
180999
181000              Return type
181001                     bool
181002
181003              CLI Example:
181004
181005                 salt '*' lgpo.set computer_policy="{'LockoutDuration': 2, 'RestrictAnonymous': 'Enabled', 'AuditProcessTracking': 'Succes, Failure'}"
181006
181007       salt.modules.win_lgpo.set_computer_policy(name,     setting,    cumula‐
181008       tive_rights_assignments=True, adml_language=u'en-US')
181009              Set a single computer policy
181010
181011              Parameters
181012
181013                     · name (str) -- The name of the policy to configure
181014
181015                     · setting (str) -- The setting  to  configure  the  named
181016                       policy with
181017
181018                     · cumulative_rights_assignments  (bool)  -- Determine how
181019                       user rights  assignment  policies  are  configured.  If
181020                       True,  user  right assignment specifications are simply
181021                       added to the existing policy. If False, only the  users
181022                       specified  will  get  the right (any existing will have
181023                       the right revoked)
181024
181025                     · adml_language (str) -- The language files  to  use  for
181026                       looking  up  Administrative  Template policy data (i.e.
181027                       how the policy is displayed in the GUI).   Defaults  to
181028                       'en-US' (U.S. English).
181029
181030              Returns
181031                     True if successful, otherwise False
181032
181033              Return type
181034                     bool
181035
181036              CLI Example:
181037
181038                 salt '*' lgpo.set_computer_policy LockoutDuration 1440
181039
181040       salt.modules.win_lgpo.set_user_policy(name,      setting,     adml_lan‐
181041       guage=u'en-US')
181042              Set a single user policy
181043
181044              Parameters
181045
181046                     · name (str) -- The name of the policy to configure
181047
181048                     · setting (str) -- The setting  to  configure  the  named
181049                       policy with
181050
181051                     · adml_language  (str)  --  The language files to use for
181052                       looking up Administrative Template  policy  data  (i.e.
181053                       how  the  policy  is displayed in the GUI). Defaults to
181054                       'en-US' (U.S. English).
181055
181056              Returns
181057                     True if successful, Otherwise False
181058
181059              Return type
181060                     bool
181061
181062              CLI Example:
181063
181064                 salt '*' lgpo.set_user_policy "Control Panel\Display\Disable the Display Control Panel" Enabled
181065
181066   salt.modules.win_license module
181067       This module allows you to manage windows licensing via slmgr.vbs
181068
181069          salt '*' license.install XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
181070
181071       salt.modules.win_license.activate()
181072              Attempt to activate the current machine via Windows Activation
181073
181074              CLI Example:
181075
181076                 salt '*' license.activate
181077
181078       salt.modules.win_license.info()
181079              Return information about the license, if the license is not cor‐
181080              rectly activated this will return None.
181081
181082              CLI Example:
181083
181084                 salt '*' license.info
181085
181086       salt.modules.win_license.install(product_key)
181087              Install the given product key
181088
181089              CLI Example:
181090
181091                 salt '*' license.install XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
181092
181093       salt.modules.win_license.installed(product_key)
181094              Check to see if the product key is already installed.
181095
181096              Note: This is not 100% accurate as we can only see the last
181097                     5 digits of the license.
181098
181099              CLI Example:
181100
181101                 salt '*' license.installed XXXXX-XXXXX-XXXXX-XXXXX-XXXXX
181102
181103       salt.modules.win_license.licensed()
181104              Return true if the current machine is licensed correctly
181105
181106              CLI Example:
181107
181108                 salt '*' license.licensed
181109
181110       salt.modules.win_license.uninstall()
181111              Uninstall the current product key
181112
181113              CLI Example:
181114
181115                 salt '*' license.uninstall
181116
181117   salt.modules.win_network
181118       Module for gathering and managing network information
181119
181120       salt.modules.win_network.connect(host, port=None, **kwargs)
181121              Test  connectivity  to  a  host using a particular port from the
181122              minion.
181123
181124              New in version 2016.3.0.
181125
181126
181127              CLI Example:
181128
181129                 salt '*' network.connect archlinux.org 80
181130
181131                 salt '*' network.connect archlinux.org 80 timeout=3
181132
181133                 salt '*' network.connect archlinux.org 80 timeout=3 family=ipv4
181134
181135                 salt '*' network.connect google-public-dns-a.google.com port=53 proto=udp timeout=3
181136
181137       salt.modules.win_network.dig(host)
181138              Performs a DNS lookup with dig
181139
181140              Note: dig must be installed on the Windows minion
181141
181142              CLI Example:
181143
181144                 salt '*' network.dig archlinux.org
181145
181146       salt.modules.win_network.get_route(ip)
181147              Return routing information for given destination ip
181148
181149              New in version 2016.11.5.
181150
181151
181152              CLI Example:
181153
181154                 salt '*' network.get_route 10.10.10.10
181155
181156       salt.modules.win_network.hw_addr(iface)
181157              Return the hardware address (a.k.a. MAC  address)  for  a  given
181158              interface
181159
181160              CLI Example:
181161
181162                 salt '*' network.hw_addr 'Wireless Connection #1'
181163
181164       salt.modules.win_network.hwaddr(iface)
181165              This function is an alias of hw_addr.
181166                 Return  the hardware address (a.k.a. MAC address) for a given
181167                 interface
181168
181169                 CLI Example:
181170
181171                     salt '*' network.hw_addr 'Wireless Connection #1'
181172
181173       salt.modules.win_network.in_subnet(cidr)
181174              Returns True if host is within specified subnet, otherwise False
181175
181176              CLI Example:
181177
181178                 salt '*' network.in_subnet 10.0.0.0/16
181179
181180       salt.modules.win_network.interfaces()
181181              Return a dictionary of information about all the  interfaces  on
181182              the minion
181183
181184              CLI Example:
181185
181186                 salt '*' network.interfaces
181187
181188       salt.modules.win_network.interfaces_names()
181189              Return a list of all the interfaces names
181190
181191              CLI Example:
181192
181193                 salt '*' network.interfaces_names
181194
181195       salt.modules.win_network.ip_addrs(interface=None,         include_loop‐
181196       back=False, cidr=None, type=None)
181197              Returns a list of IPv4 addresses assigned to the host.
181198
181199              interface
181200                     Only IP addresses from that interface will be returned.
181201
181202              include_loopback
181203                     False Include loopback 127.0.0.1 IPv4 address.
181204
181205              cidr
181206                        Describes subnet using CIDR  notation  and  only  IPv4
181207                        addresses that belong to this subnet will be returned.
181208
181209                     Changed in version Fluorine.
181210
181211
181212              type   If option set to 'public' then only public addresses will
181213                     be returned.  Ditto for 'private'.
181214
181215                     Changed in version Fluorine.
181216
181217
181218              CLI Example:
181219
181220                 salt '*' network.ip_addrs
181221                 salt '*' network.ip_addrs cidr=10.0.0.0/8
181222                 salt '*' network.ip_addrs cidr=192.168.0.0/16 type=private
181223
181224       salt.modules.win_network.ip_addrs6(interface=None,        include_loop‐
181225       back=False, cidr=None)
181226              Returns a list of IPv6 addresses assigned to the host.
181227
181228              interface
181229                     Only IP addresses from that interface will be returned.
181230
181231              include_loopback
181232                     False Include loopback ::1 IPv6 address.
181233
181234              cidr   Describes  subnet  using  CIDR  notation  and  only  IPv6
181235                     addresses that belong to this subnet will be returned.
181236
181237                     Changed in version Fluorine.
181238
181239
181240              CLI Example:
181241
181242                 salt '*' network.ip_addrs6
181243                 salt '*' network.ip_addrs6 cidr=2000::/3
181244
181245       salt.modules.win_network.ipaddrs(interface=None,          include_loop‐
181246       back=False, cidr=None, type=None)
181247              This function is an alias of ip_addrs.
181248                 Returns a list of IPv4 addresses assigned to the host.
181249
181250                 interface
181251                        Only   IP   addresses  from  that  interface  will  be
181252                        returned.
181253
181254                 include_loopback
181255                        False Include loopback 127.0.0.1 IPv4 address.
181256
181257                 cidr
181258                            Describes subnet using CIDR notation and only IPv4
181259                            addresses  that  belong  to  this  subnet  will be
181260                            returned.
181261
181262                        Changed in version Fluorine.
181263
181264
181265                 type   If option set to 'public' then only  public  addresses
181266                        will be returned.  Ditto for 'private'.
181267
181268                        Changed in version Fluorine.
181269
181270
181271                 CLI Example:
181272
181273                     salt '*' network.ip_addrs
181274                     salt '*' network.ip_addrs cidr=10.0.0.0/8
181275                     salt '*' network.ip_addrs cidr=192.168.0.0/16 type=private
181276
181277       salt.modules.win_network.ipaddrs6(interface=None,         include_loop‐
181278       back=False, cidr=None)
181279              This function is an alias of ip_addrs6.
181280                 Returns a list of IPv6 addresses assigned to the host.
181281
181282                 interface
181283                        Only  IP  addresses  from  that  interface   will   be
181284                        returned.
181285
181286                 include_loopback
181287                        False Include loopback ::1 IPv6 address.
181288
181289                 cidr   Describes  subnet  using  CIDR  notation and only IPv6
181290                        addresses that belong to this subnet will be returned.
181291
181292                        Changed in version Fluorine.
181293
181294
181295                 CLI Example:
181296
181297                     salt '*' network.ip_addrs6
181298                     salt '*' network.ip_addrs6 cidr=2000::/3
181299
181300       salt.modules.win_network.is_private(ip_addr)
181301              Check if the given IP address is a private address
181302
181303              New in version Fluorine.
181304
181305
181306              CLI Example:
181307
181308                 salt '*' network.is_private 10.0.0.3
181309
181310       salt.modules.win_network.netstat()
181311              Return information on open ports and states
181312
181313              CLI Example:
181314
181315                 salt '*' network.netstat
181316
181317       salt.modules.win_network.nslookup(host)
181318              Query DNS for information about a domain or ip address
181319
181320              CLI Example:
181321
181322                 salt '*' network.nslookup archlinux.org
181323
181324       salt.modules.win_network.ping(host,     timeout=False,     return_bool‐
181325       ean=False)
181326              Performs a ping to a host
181327
181328              CLI Example:
181329
181330                 salt '*' network.ping archlinux.org
181331
181332              New in version 2016.11.0.
181333
181334
181335              Return a True or False instead of ping output.
181336
181337                 salt '*' network.ping archlinux.org return_boolean=True
181338
181339              Set the time to wait for a response in seconds.
181340
181341                 salt '*' network.ping archlinux.org timeout=3
181342
181343       salt.modules.win_network.subnets()
181344              Returns a list of subnets to which the host belongs
181345
181346              CLI Example:
181347
181348                 salt '*' network.subnets
181349
181350       salt.modules.win_network.traceroute(host)
181351              Performs a traceroute to a 3rd party host
181352
181353              CLI Example:
181354
181355                 salt '*' network.traceroute archlinux.org
181356
181357   salt.modules.win_ntp
181358       Management of NTP servers on Windows
181359
181360       New in version 2014.1.0.
181361
181362
181363       salt.modules.win_ntp.get_servers()
181364              Get list of configured NTP servers
181365
181366              CLI Example:
181367
181368                 salt '*' ntp.get_servers
181369
181370       salt.modules.win_ntp.set_servers(*servers)
181371              Set Windows to use a list of NTP servers
181372
181373              CLI Example:
181374
181375                 salt '*' ntp.set_servers 'pool.ntp.org' 'us.pool.ntp.org'
181376
181377   salt.modules.win_path
181378       Manage the Windows System PATH
181379
181380       Note that not all Windows applications will rehash the PATH environment
181381       variable, Only the ones that listen  to  the  WM_SETTINGCHANGE  message
181382       http://support.microsoft.com/kb/104011
181383
181384       salt.modules.win_path.add(path, index=None, **kwargs)
181385              Add  the  directory  to  the  SYSTEM path in the index location.
181386              Returns True if successful, otherwise False.
181387
181388              path   Directory to add to path
181389
181390              index  Optionally specify an index at which to insert the direc‐
181391                     tory
181392
181393              rehash True  If  the registry was updated, and this value is set
181394                     to True, sends a WM_SETTINGCHANGE  broadcast  to  refresh
181395                     the environment variables. Set this to False to skip this
181396                     broadcast.
181397
181398              CLI Examples:
181399
181400                 # Will add to the beginning of the path
181401                 salt '*' win_path.add 'c:\python27' 0
181402
181403                 # Will add to the end of the path
181404                 salt '*' win_path.add 'c:\python27' index='-1'
181405
181406       salt.modules.win_path.exists(path)
181407              Check  if  the  directory  is  configured  in  the  SYSTEM  path
181408              Case-insensitive and ignores trailing backslash
181409
181410              Returns
181411                     boolean True if path exists, False if not
181412
181413              CLI Example:
181414
181415                 salt '*' win_path.exists 'c:\python27'
181416                 salt '*' win_path.exists 'c:\python27\'
181417                 salt '*' win_path.exists 'C:\pyThon27'
181418
181419       salt.modules.win_path.get_path()
181420              Returns a list of items in the SYSTEM path
181421
181422              CLI Example:
181423
181424                 salt '*' win_path.get_path
181425
181426       salt.modules.win_path.rehash()
181427              Send  a  WM_SETTINGCHANGE  Broadcast  to  Windows to refresh the
181428              Environment variables for new processes.
181429
181430              NOTE:
181431                 This will only affect new processes that aren't  launched  by
181432                 services.  To apply changes to the path to services, the host
181433                 must be restarted. The salt-minion, if running as a  service,
181434                 will  not  see changes to the environment until the system is
181435                 restarted. See MSDN Documentation
181436
181437              CLI Example:
181438
181439                 salt '*' win_path.rehash
181440
181441       salt.modules.win_path.remove(path, **kwargs)
181442              Remove the directory from the SYSTEM path
181443
181444              Returns
181445                     boolean True if successful, False if unsuccessful
181446
181447              rehash True If the registry was updated, and this value  is  set
181448                     to  True,  sends  a WM_SETTINGCHANGE broadcast to refresh
181449                     the environment variables. Set this to False to skip this
181450                     broadcast.
181451
181452              CLI Example:
181453
181454                 # Will remove C:\Python27 from the path
181455                 salt '*' win_path.remove 'c:\\python27'
181456
181457   salt.modules.win_pkg
181458       A module to manage software on Windows
181459
181460       IMPORTANT:
181461          If you feel that Salt should be using this module to manage packages
181462          on a minion, and it is using a different module (or gives  an  error
181463          similar to 'pkg.install' is not available), see here.
181464
181465       The  following  functions require the existence of a windows repository
181466       metadata DB, typically created by running pkg.refresh_db:
181467
181468       · pkg.get_repo_data
181469
181470       · pkg.install
181471
181472       · pkg.latest_version
181473
181474       · pkg.list_available
181475
181476       · pkg.list_pkgs
181477
181478       · pkg.list_upgrades
181479
181480       · pkg.remove
181481
181482       If a metadata DB does not already exist and one of these  functions  is
181483       run, then one will be created from the repo SLS files that are present.
181484
181485       As  the  creation  of  this  metadata  can  take  some  time,  the win‐
181486       repo_cache_expire_min minion config option  can  be  used  to  suppress
181487       refreshes when the metadata is less than a given number of seconds old.
181488
181489       NOTE:
181490          Version  numbers can be version number string, latest and Not Found,
181491          where Not Found means this module was not able to determine the ver‐
181492          sion  of  the software installed, it can also be used as the version
181493          number in sls definitions file in these cases. Versions numbers  are
181494          sorted in order of 0, Not Found, order version numbers, ..., latest.
181495
181496       salt.modules.win_pkg.compare_versions(ver1=u'', oper=u'==', ver2=u'')
181497              Compare software package versions
181498
181499              Parameters
181500
181501                     · ver1 (str) -- A software version to compare
181502
181503                     · oper (str) -- The operand to use to compare
181504
181505                     · ver2 (str) -- A software version to compare
181506
181507              Returns
181508                     True if the comparison is valid, otherwise False
181509
181510              Return type
181511                     bool
181512
181513              CLI Example:
181514
181515                 salt '*' pkg.compare_versions 1.2 >= 1.3
181516
181517       salt.modules.win_pkg.genrepo(**kwargs)
181518              Generate  package  metedata  db  based  on files within the win‐
181519              repo_source_dir
181520
181521              Kwargs:
181522                 saltenv (str): Salt environment. Default: base
181523
181524                 verbose (bool):
181525                        Return verbose data  structure  which  includes  'suc‐
181526                        cess_list',  a  list  of all sls files and the package
181527                        names contained within.  Default False.
181528
181529                 failhard (bool):
181530                        If True, an error will be raised if any repo SLS files
181531                        failed  to process. If False, no error will be raised,
181532                        and a dictionary containing the full results  will  be
181533                        returned.
181534
181535              NOTE:
181536
181537                 · Hidden directories (directories beginning with '.', such as
181538                   '.git') will be ignored.
181539
181540              Returns
181541                     A dictionary of the results of the command
181542
181543              Return type
181544                     dict
181545
181546              CLI Example:
181547
181548                 salt-run pkg.genrepo
181549                 salt -G 'os:windows' pkg.genrepo verbose=true failhard=false
181550                 salt -G 'os:windows' pkg.genrepo saltenv=base
181551
181552       salt.modules.win_pkg.get_repo_data(saltenv=u'base')
181553              Returns the existing package meteadata db. Will create it, if it
181554              does not exist, however will not refresh it.
181555
181556              Parameters
181557                     saltenv (str) -- Salt environment. Default base
181558
181559              Returns
181560                     A dict containing contents of metadata db.
181561
181562              Return type
181563                     dict
181564
181565              CLI Example:
181566
181567                 salt '*' pkg.get_repo_data
181568
181569       salt.modules.win_pkg.install(name=None,    refresh=False,    pkgs=None,
181570       **kwargs)
181571              Install the passed package(s) on the system using winrepo
181572
181573              Parameters
181574
181575                     · name (str) -- The  name  of  a  single  package,  or  a
181576                       comma-separated list of packages to install. (no spaces
181577                       after the commas)
181578
181579                     · refresh (bool) -- Boolean value representing whether or
181580                       not to refresh the winrepo db.  Default False.
181581
181582                     · pkgs (list) --
181583
181584                       A  list  of packages to install from a software reposi‐
181585                       tory. All packages listed under pkgs will be  installed
181586                       via a single command.
181587
181588                       You  can  specify  a  version  by passing the item as a
181589                       dict:
181590
181591                       CLI Example:
181592
181593                          # will install the latest version of foo and bar
181594                          salt '*' pkg.install pkgs='["foo", "bar"]'
181595
181596                          # will install the latest version of foo and version 1.2.3 of bar
181597                          salt '*' pkg.install pkgs='["foo", {"bar": "1.2.3"}]'
181598
181599
181600              Kwargs:
181601
181602                 version (str):
181603                        The specific version to install. If omitted, the  lat‐
181604                        est  version will be installed. Recommend for use when
181605                        installing a single package.
181606
181607                        If passed with a list of packages in the pkgs  parame‐
181608                        ter, the version will be ignored.
181609
181610                        CLI Example:
181611
181612                               # Version is ignored
181613                               salt '*' pkg.install pkgs="['foo', 'bar']" version=1.2.3
181614
181615                        If  passed  with  a  comma  separated list in the name
181616                        parameter, the version will apply to all  packages  in
181617                        the list.
181618
181619                        CLI Example:
181620
181621                               # Version 1.2.3 will apply to packages foo and bar
181622                               salt '*' pkg.install foo,bar version=1.2.3
181623
181624                 extra_install_flags (str):
181625                        Additional  install flags that will be appended to the
181626                        install_flags defined in the software definition file.
181627                        Only applies when single package is passed.
181628
181629                 saltenv (str):
181630                        Salt environment. Default 'base'
181631
181632                 report_reboot_exit_codes (bool):
181633                        If  the  installer  exits  with a recognized exit code
181634                        indicating that a reboot is required, the module func‐
181635                        tion
181636                            win_system.set_reboot_required_witnessed
181637
181638                        will be called, preserving the knowledge of this event
181639                        for the remainder of the current boot session. For the
181640                        time being, 3010 is the only recognized exit code. The
181641                        value of this param defaults to True.
181642
181643                        New in version 2016.11.0.
181644
181645
181646              Returns
181647                     Return a dict containing the new package names  and  ver‐
181648                     sions. If the package is already installed, an empty dict
181649                     is returned.
181650
181651                     If the package is installed by pkg.install:
181652
181653                        {'<package>': {'old': '<old-version>',
181654                                       'new': '<new-version>'}}
181655
181656
181657              Return type
181658                     dict
181659
181660              The following example will refresh the  winrepo  and  install  a
181661              single package, 7zip.
181662
181663              CLI Example:
181664
181665                 salt '*' pkg.install 7zip refresh=True
181666
181667              CLI Example:
181668
181669                 salt '*' pkg.install 7zip
181670                 salt '*' pkg.install 7zip,filezilla
181671                 salt '*' pkg.install pkgs='["7zip","filezilla"]'
181672
181673              WinRepo Definition File Examples:
181674
181675              The  following  example demonstrates the use of cache_file. This
181676              would be used if you have multiple installers in the same direc‐
181677              tory  that  use  the same install.ini file and you don't want to
181678              download the additional installers.
181679
181680                 ntp:
181681                   4.2.8:
181682                     installer: 'salt://win/repo/ntp/ntp-4.2.8-win32-setup.exe'
181683                     full_name: Meinberg NTP Windows Client
181684                     locale: en_US
181685                     reboot: False
181686                     cache_file: 'salt://win/repo/ntp/install.ini'
181687                     install_flags: '/USEFILE=C:\salt\var\cache\salt\minion\files\base\win\repo\ntp\install.ini'
181688                     uninstaller: 'NTP/uninst.exe'
181689
181690              The following example demonstrates  the  use  of  cache_dir.  It
181691              assumes  a  file named install.ini resides in the same directory
181692              as the installer.
181693
181694                 ntp:
181695                   4.2.8:
181696                     installer: 'salt://win/repo/ntp/ntp-4.2.8-win32-setup.exe'
181697                     full_name: Meinberg NTP Windows Client
181698                     locale: en_US
181699                     reboot: False
181700                     cache_dir: True
181701                     install_flags: '/USEFILE=C:\salt\var\cache\salt\minion\files\base\win\repo\ntp\install.ini'
181702                     uninstaller: 'NTP/uninst.exe'
181703
181704       salt.modules.win_pkg.latest_version(*names, **kwargs)
181705              Return the latest version of the  named  package  available  for
181706              upgrade or installation. If more than one package name is speci‐
181707              fied, a dict of name/version pairs is returned.
181708
181709              If the latest version of a given package is  already  installed,
181710              an empty string will be returned for that package.
181711
181712              Parameters
181713                     names (str) -- A single or multiple names to lookup
181714
181715              Kwargs:
181716                     saltenv  (str):  Salt  environment.  Default base refresh
181717                     (bool): Refresh package metadata. Default True
181718
181719              Returns
181720                     A dictionary of packages with the latest  version  avail‐
181721                     able
181722
181723              Return type
181724                     dict
181725
181726              CLI Example:
181727
181728                 salt '*' pkg.latest_version <package name>
181729                 salt '*' pkg.latest_version <package1> <package2> <package3> ...
181730
181731       salt.modules.win_pkg.list_available(*names, **kwargs)
181732              Return a list of available versions of the specified package.
181733
181734              Parameters
181735                     names (str) -- One or more package names
181736
181737              Kwargs:
181738                 saltenv (str): The salt environment to use. Default base.
181739
181740                 refresh (bool): Refresh package metadata. Default False.
181741
181742                 return_dict_always (bool):
181743                        Default  False  dict  when  a  single  package name is
181744                        queried.
181745
181746              Returns
181747                     The package name with its available versions
181748
181749              Return type
181750                     dict
181751
181752                 {'<package name>': ['<version>', '<version>', ]}
181753
181754              CLI Example:
181755
181756                 salt '*' pkg.list_available <package name> return_dict_always=True
181757                 salt '*' pkg.list_available <package name01> <package name02>
181758
181759       salt.modules.win_pkg.list_pkgs(versions_as_list=False,   include_compo‐
181760       nents=True, include_updates=True, **kwargs)
181761              List the packages currently installed.
181762
181763              NOTE:
181764                 To  view  installed  software  as displayed in the Add/Remove
181765                 Programs,  set  include_components  and  include_updates   to
181766                 False.
181767
181768              Parameters
181769
181770                     · versions_as_list  (bool)  --  Returns the versions as a
181771                       list
181772
181773                     · include_components (bool) -- Include sub components  of
181774                       installed software. Default is True
181775
181776                     · include_updates  (bool) -- Include software updates and
181777                       Windows updates. Default is True
181778
181779              Kwargs:
181780
181781                 saltenv (str):
181782                        The salt environment to use. Default base
181783
181784                 refresh (bool):
181785                        Refresh package metadata. Default False
181786
181787              Returns
181788                     A  dictionary  of  installed   software   with   versions
181789                     installed
181790
181791              Return type
181792                     dict
181793
181794                 {'<package_name>': '<version>'}
181795
181796              CLI Example:
181797
181798                 salt '*' pkg.list_pkgs
181799                 salt '*' pkg.list_pkgs versions_as_list=True
181800
181801       salt.modules.win_pkg.list_upgrades(refresh=True, **kwargs)
181802              List all available package upgrades on this system
181803
181804              Parameters
181805                     refresh (bool) -- Refresh package metadata. Default True
181806
181807              Kwargs:
181808                     saltenv (str): Salt environment. Default base
181809
181810              Returns
181811                     A dictionary of packages with available upgrades
181812
181813              Return type
181814                     dict
181815
181816              CLI Example:
181817
181818                 salt '*' pkg.list_upgrades
181819
181820       salt.modules.win_pkg.purge(name=None, pkgs=None, **kwargs)
181821              Package  purges are not supported, this function is identical to
181822              remove().
181823
181824              New in version 0.16.0.
181825
181826
181827              Parameters
181828
181829                     · name (str) -- The name of the package to be deleted.
181830
181831                     · version (str) -- The  version  of  the  package  to  be
181832                       deleted. If this option is used in combination with the
181833                       pkgs option below, then this version will be applied to
181834                       all targeted packages.
181835
181836                     · pkgs  (list)  --  A list of packages to delete. Must be
181837                       passed as a python list. The  name  parameter  will  be
181838                       ignored if this option is passed.
181839
181840              Kwargs:
181841                     saltenv  (str):  Salt  environment.  Default base refresh
181842                     (bool): Refresh package metadata. Default False
181843
181844              Returns
181845                     A dict containing the changes.
181846
181847              Return type
181848                     dict
181849
181850              CLI Example:
181851
181852                 salt '*' pkg.purge <package name>
181853                 salt '*' pkg.purge <package1>,<package2>,<package3>
181854                 salt '*' pkg.purge pkgs='["foo", "bar"]'
181855
181856       salt.modules.win_pkg.refresh_db(**kwargs)
181857              Generates the local software metadata  database  (winrepo.p)  on
181858              the  minion.   The  database  is  stored  in a serialized format
181859              located by default at the following location:
181860
181861              C:saltvarcachesaltminionfilesbasewinrepo-ngwinrepo.p
181862
181863              This module performs the following steps to generate  the  soft‐
181864              ware metadata database:
181865
181866              · Fetch   the   package   definition   files  (.sls)  from  win‐
181867                repo_source_dir (default salt://win/repo-ng) and cache them in
181868                <cachedir>files<saltenv><winrepo_source_dir> (default: C:salt‐
181869                varcachesaltminionfilesbasewinrepo-ng)
181870
181871              · Call pkg.genrepo to parse the  package  definition  files  and
181872                generate the repository metadata database file (winrepo.p)
181873
181874              · Return the report received from pkg.genrepo
181875
181876              The    default    winrepo    directory    on   the   master   is
181877              /srv/salt/win/repo-ng. All files that end with .sls in this  and
181878              all subdirectories will be used to generate the repository meta‐
181879              data database (winrepo.p).
181880
181881              NOTE:
181882
181883                 · Hidden directories (directories beginning with '.', such as
181884                   '.git') will be ignored.
181885
181886              NOTE:
181887                 There  is  no need to call pkg.refresh_db every time you work
181888                 with the pkg module. Automatic refresh will  occur  based  on
181889                 the following minion configuration settings:
181890
181891                 · winrepo_cache_expire_min
181892
181893                 · winrepo_cache_expire_max
181894
181895                 However,  if  the  package  definition files have changed, as
181896                 would be the case if you are developing a new package defini‐
181897                 tion, this function should be called to ensure the minion has
181898                 the latest information about packages available to it.
181899
181900              WARNING:
181901                 Directories  and  files  fetched  from   <winrepo_source_dir>
181902                 (/srv/salt/win/repo-ng)  will  be  processed  in alphabetical
181903                 order. If two or more software definition files  contain  the
181904                 same  name, the last one processed replaces all data from the
181905                 files processed before it.
181906
181907              For more information see Windows Software Repository
181908
181909              Arguments:
181910
181911              saltenv (str): Salt environment. Default: base
181912
181913              verbose (bool):
181914                     Return a verbose  data  structure  which  includes  'suc‐
181915                     cess_list', a list of all sls files and the package names
181916                     contained within.  Default is 'False'
181917
181918              failhard (bool):
181919                     If True, an error will be raised if any  repo  SLS  files
181920                     fails  to process. If False, no error will be raised, and
181921                     a  dictionary  containing  the  full  results   will   be
181922                     returned.
181923
181924              Returns
181925                     A  dictionary  containing  the  results  of  the database
181926                     refresh.
181927
181928              Return type
181929                     dict
181930
181931              NOTE:
181932                 A result with a total: 0 generally means that the  files  are
181933                 in  the wrong location on the master. Try running the follow‐
181934                 ing command on the minion:  salt-call  -l  debug  pkg.refresh
181935                 saltenv=base
181936
181937              WARNING:
181938                 When  calling  this  command from a state using module.run be
181939                 sure to pass failhard: False. Otherwise the state will report
181940                 failure if it encounters a bad software definition file.
181941
181942              CLI Example:
181943
181944                 salt '*' pkg.refresh_db
181945                 salt '*' pkg.refresh_db saltenv=base
181946
181947       salt.modules.win_pkg.remove(name=None, pkgs=None, **kwargs)
181948              Remove the passed package(s) from the system using winrepo
181949
181950              New in version 0.16.0.
181951
181952
181953              Parameters
181954
181955                     · name (str) -- The name(s) of the package(s) to be unin‐
181956                       stalled. Can be a single package or a  comma  delimited
181957                       list of packages, no spaces.
181958
181959                     · pkgs  (list)  --  A list of packages to delete. Must be
181960                       passed as a python list. The  name  parameter  will  be
181961                       ignored if this option is passed.
181962
181963              Kwargs:
181964
181965                 version (str):
181966                        The  version of the package to be uninstalled. If this
181967                        option is used to to uninstall multiple packages, then
181968                        this version will be applied to all targeted packages.
181969                        Recommended using  only  when  uninstalling  a  single
181970                        package. If this parameter is omitted, the latest ver‐
181971                        sion will be uninstalled.
181972
181973                 saltenv (str): Salt environment. Default base refresh (bool):
181974                 Refresh package metadata. Default False
181975
181976              Returns
181977                     Returns a dict containing the changes.
181978
181979                     If the package is removed by pkg.remove:
181980
181981                        {'<package>': {'old': '<old-version>',
181982                               'new': '<new-version>'}}
181983
181984                     If the package is already uninstalled:
181985                        {'<package>': {'current': 'not installed'}}
181986
181987
181988              Return type
181989                     dict
181990
181991              CLI Example:
181992
181993                 salt '*' pkg.remove <package name>
181994                 salt '*' pkg.remove <package1>,<package2>,<package3>
181995                 salt '*' pkg.remove pkgs='["foo", "bar"]'
181996
181997       salt.modules.win_pkg.upgrade(**kwargs)
181998              Upgrade all software. Currently not implemented
181999
182000              Kwargs:
182001                     saltenv (str): The salt environment to use. Default base.
182002                     refresh (bool): Refresh package metadata. Default True.
182003
182004              NOTE:
182005                 This feature is not yet implemented for Windows.
182006
182007              Returns
182008                     Empty dict, until implemented
182009
182010              Return type
182011                     dict
182012
182013              CLI Example:
182014
182015                 salt '*' pkg.upgrade
182016
182017       salt.modules.win_pkg.upgrade_available(name, **kwargs)
182018              Check whether or not an upgrade is available for a given package
182019
182020              Parameters
182021                     name (str) -- The name of a single package
182022
182023              Kwargs:
182024                     refresh (bool): Refresh package  metadata.  Default  True
182025                     saltenv (str): The salt environment. Default base
182026
182027              Returns
182028                     True if new version available, otherwise False
182029
182030              Return type
182031                     bool
182032
182033              CLI Example:
182034
182035                 salt '*' pkg.upgrade_available <package name>
182036
182037       salt.modules.win_pkg.version(*names, **kwargs)
182038              Returns  a  string  representing the package version or an empty
182039              string if not installed. If more than one package name is speci‐
182040              fied, a dict of name/version pairs is returned.
182041
182042              Parameters
182043                     name (str) -- One or more package names
182044
182045              Kwargs:
182046                     saltenv (str): The salt environment to use. Default base.
182047                     refresh (bool): Refresh package metadata. Default False.
182048
182049              Returns
182050                     version string when a single package is specified.  dict:
182051                     The package name(s) with the installed versions.
182052
182053              Return type
182054                     str
182055
182056                 {['<version>', '<version>', ]} OR
182057                 {'<package name>': ['<version>', '<version>', ]}
182058
182059              CLI Example:
182060
182061                 salt '*' pkg.version <package name>
182062                 salt '*' pkg.version <package name01> <package name02>
182063
182064   salt.modules.win_pki module
182065       Microsoft  certificate management via the PKI Client PowerShell module.
182066       https://technet.microsoft.com/en-us/itpro/powershell/windows/pkiclient/pkiclient
182067
182068       The  PKI  Client  PowerShell module is only available on Windows 8+ and
182069       Windows                          Server                          2012+.
182070       https://technet.microsoft.com/en-us/library/hh848636(v=wps.620).aspx
182071
182072       platform
182073              Windows
182074
182075       depends
182076
182077              · PowerShell 4
182078
182079              · PKI Client Module (Windows 8+ / Windows Server 2012+)
182080
182081       New in version 2016.11.0.
182082
182083
182084       salt.modules.win_pki.export_cert(name,  thumbprint, cert_format=u'cer',
182085       context=u'LocalMachine', store=u'My', password=u'')
182086              Export the certificate to a  file  from  the  given  certificate
182087              store.
182088
182089              Parameters
182090
182091                     · name  (str)  --  The  destination path for the exported
182092                       certificate file.
182093
182094                     · thumbprint (str) -- The thumbprint value of the  target
182095                       certificate.
182096
182097                     · cert_format  (str)  --  The certificate format. Specify
182098                       'cer' for X.509, or 'pfx' for PKCS #12.
182099
182100                     · context (str) -- The  name  of  the  certificate  store
182101                       location context.
182102
182103                     · store (str) -- The name of the certificate store.
182104
182105                     · password (str) -- The password of the certificate. Only
182106                       applicable to pfx format. Note that  if  used  interac‐
182107                       tively,  the  password will be seen by all minions.  To
182108                       protect the password, use a state and get the  password
182109                       from pillar.
182110
182111              Returns
182112                     A boolean representing whether all changes succeeded.
182113
182114              Return type
182115                     bool
182116
182117              CLI Example:
182118
182119                 salt '*' win_pki.export_cert name='C:\certs\example.cer' thumbprint='AAA000'
182120
182121       salt.modules.win_pki.get_cert_file(name,    cert_format=u'cer',   pass‐
182122       word=u'')
182123              Get the details of the certificate file.
182124
182125              Parameters
182126
182127                     · name (str) -- The filesystem path  of  the  certificate
182128                       file.
182129
182130                     · cert_format  (str)  --  The certificate format. Specify
182131                       'cer' for X.509, or 'pfx' for PKCS #12.
182132
182133                     · password (str) -- The password of the certificate. Only
182134                       applicable  to  pfx  format. Note that if used interac‐
182135                       tively, the password will be seen by all  minions.   To
182136                       protect  the password, use a state and get the password
182137                       from pillar.
182138
182139              Returns
182140                     A dictionary of the certificate thumbprints  and  proper‐
182141                     ties.
182142
182143              Return type
182144                     dict
182145
182146              CLI Example:
182147
182148                 salt '*' win_pki.get_cert_file name='C:\certs\example.cer'
182149
182150       salt.modules.win_pki.get_certs(context=u'LocalMachine', store=u'My')
182151              Get the available certificates in the given store.
182152
182153              Parameters
182154
182155                     · context  (str)  --  The  name  of the certificate store
182156                       location context.
182157
182158                     · store (str) -- The name of the certificate store.
182159
182160              Returns
182161                     A dictionary of the certificate thumbprints  and  proper‐
182162                     ties.
182163
182164              Return type
182165                     dict
182166
182167              CLI Example:
182168
182169                 salt '*' win_pki.get_certs
182170
182171       salt.modules.win_pki.get_stores()
182172              Get  the  certificate  location contexts and their corresponding
182173              stores.
182174
182175              Returns
182176                     A dictionary of the  certificate  location  contexts  and
182177                     stores.
182178
182179              Return type
182180                     dict
182181
182182              CLI Example:
182183
182184                 salt '*' win_pki.get_stores
182185
182186       salt.modules.win_pki.import_cert(name,     cert_format=u'cer',     con‐
182187       text=u'LocalMachine',   store=u'My',   exportable=True,   password=u'',
182188       saltenv=u'base')
182189              Import the certificate file into the given certificate store.
182190
182191              Parameters
182192
182193                     · name  (str)  --  The  path  of  the certificate file to
182194                       import.
182195
182196                     · cert_format (str) -- The  certificate  format.  Specify
182197                       'cer' for X.509, or 'pfx' for PKCS #12.
182198
182199                     · context  (str)  --  The  name  of the certificate store
182200                       location context.
182201
182202                     · store (str) -- The name of the certificate store.
182203
182204                     · exportable  (bool)   --   Mark   the   certificate   as
182205                       exportable. Only applicable to pfx format.
182206
182207                     · password (str) -- The password of the certificate. Only
182208                       applicable to pfx format. Note that  if  used  interac‐
182209                       tively,  the  password will be seen by all minions.  To
182210                       protect the password, use a state and get the  password
182211                       from pillar.
182212
182213                     · saltenv (str) -- The environment the file resides in.
182214
182215              Returns
182216                     A boolean representing whether all changes succeeded.
182217
182218              Return type
182219                     bool
182220
182221              CLI Example:
182222
182223                 salt '*' win_pki.import_cert name='salt://cert.cer'
182224
182225       salt.modules.win_pki.remove_cert(thumbprint,   context=u'LocalMachine',
182226       store=u'My')
182227              Remove the certificate from the given certificate store.
182228
182229              Parameters
182230
182231                     · thumbprint (str) -- The thumbprint value of the  target
182232                       certificate.
182233
182234                     · context  (str)  --  The  name  of the certificate store
182235                       location context.
182236
182237                     · store (str) -- The name of the certificate store.
182238
182239              Returns
182240                     A boolean representing whether all changes succeeded.
182241
182242              Return type
182243                     bool
182244
182245              CLI Example:
182246
182247                 salt '*' win_pki.remove_cert thumbprint='AAA000'
182248
182249       salt.modules.win_pki.test_cert(thumbprint,     context=u'LocalMachine',
182250       store=u'My', untrusted_root=False, dns_name=u'', eku=u'')
182251              Check the certificate for validity.
182252
182253              Parameters
182254
182255                     · thumbprint  (str) -- The thumbprint value of the target
182256                       certificate.
182257
182258                     · context (str) -- The  name  of  the  certificate  store
182259                       location context.
182260
182261                     · store (str) -- The name of the certificate store.
182262
182263                     · untrusted_root  (bool)  -- Whether the root certificate
182264                       is required to be trusted in chain building.
182265
182266                     · dns_name (str) -- The DNS name to verify as  valid  for
182267                       the certificate.
182268
182269                     · eku  (str) -- The enhanced key usage object identifiers
182270                       to verify for the certificate chain.
182271
182272              Returns
182273                     A boolean representing whether the certificate  was  con‐
182274                     sidered valid.
182275
182276              Return type
182277                     bool
182278
182279              CLI Example:
182280
182281                 salt '*' win_pki.test_cert thumbprint='AAA000' dns_name='example.test'
182282
182283   salt.modules.win_powercfg
182284       This  module allows you to control the power settings of a windows min‐
182285       ion via powercfg.
182286
182287       New in version 2015.8.0.
182288
182289
182290          # Set monitor to never turn off on Battery power
182291          salt '*' powercfg.set_monitor_timeout 0 power=dc
182292          # Set disk timeout to 120 minutes on AC power
182293          salt '*' powercfg.set_disk_timeout 120 power=ac
182294
182295       salt.modules.win_powercfg.get_disk_timeout(scheme=None)
182296              Get the current disk timeout of the given scheme
182297
182298              Parameters
182299                     scheme (str) --
182300
182301                     The scheme to use, leave as  None  to  use  the  current.
182302                     Default  is  None.  This can be the GUID or the Alias for
182303                     the Scheme. Known Aliases are:
182304
182305                        · SCHEME_BALANCED - Balanced
182306
182307                        · SCHEME_MAX - Power saver
182308
182309                        · SCHEME_MIN - High performance
182310
182311
182312              Returns
182313                     A dictionary of both the AC and DC settings
182314
182315              Return type
182316                     dict
182317
182318              CLI Example:
182319
182320                 salt '*' powercfg.get_disk_timeout
182321
182322       salt.modules.win_powercfg.get_hibernate_timeout(scheme=None)
182323              Get the current hibernate timeout of the given scheme
182324
182325                 scheme (str):
182326                        The scheme to use, leave as None to use  the  current.
182327                        Default is None. This can be the GUID or the Alias for
182328                        the Scheme. Known Aliases are:
182329
182330                            · SCHEME_BALANCED - Balanced
182331
182332                            · SCHEME_MAX - Power saver
182333
182334                            · SCHEME_MIN - High performance
182335
182336              Returns
182337                     A dictionary of both the AC and DC settings
182338
182339              Return type
182340                     dict
182341
182342              CLI Example:
182343
182344                 salt '*' powercfg.get_hibernate_timeout
182345
182346       salt.modules.win_powercfg.get_monitor_timeout(scheme=None)
182347              Get the current monitor timeout of the given scheme
182348
182349              Parameters
182350                     scheme (str) --
182351
182352                     The scheme to use, leave as  None  to  use  the  current.
182353                     Default  is  None.  This can be the GUID or the Alias for
182354                     the Scheme. Known Aliases are:
182355
182356                        · SCHEME_BALANCED - Balanced
182357
182358                        · SCHEME_MAX - Power saver
182359
182360                        · SCHEME_MIN - High performance
182361
182362
182363              Returns
182364                     A dictionary of both the AC and DC settings
182365
182366              Return type
182367                     dict
182368
182369              CLI Example:
182370
182371                 salt '*' powercfg.get_monitor_timeout
182372
182373       salt.modules.win_powercfg.get_standby_timeout(scheme=None)
182374              Get the current standby timeout of the given scheme
182375
182376                 scheme (str):
182377                        The scheme to use, leave as None to use  the  current.
182378                        Default is None. This can be the GUID or the Alias for
182379                        the Scheme. Known Aliases are:
182380
182381                            · SCHEME_BALANCED - Balanced
182382
182383                            · SCHEME_MAX - Power saver
182384
182385                            · SCHEME_MIN - High performance
182386
182387              Returns
182388                     A dictionary of both the AC and DC settings
182389
182390              Return type
182391                     dict
182392
182393              CLI Example:
182394
182395                 salt '*' powercfg.get_standby_timeout
182396
182397       salt.modules.win_powercfg.set_disk_timeout(timeout,        power=u'ac',
182398       scheme=None)
182399              Set the disk timeout in minutes for the given power scheme
182400
182401              Parameters
182402
182403                     · timeout  (int)  -- The amount of time in minutes before
182404                       the disk will timeout
182405
182406                     · power (str) --
182407
182408                       Set the value for AC or DC power. Default is ac.  Valid
182409                       options are:
182410
182411                          · ac (AC Power)
182412
182413                          · dc (Battery)
182414
182415
182416                     · scheme (str) --
182417
182418                       The  scheme  to  use, leave as None to use the current.
182419                       Default is None. This can be the GUID or the Alias  for
182420                       the Scheme. Known Aliases are:
182421
182422                          · SCHEME_BALANCED - Balanced
182423
182424                          · SCHEME_MAX - Power saver
182425
182426                          · SCHEME_MIN - High performance
182427
182428
182429              Returns
182430                     True if successful, otherwise False
182431
182432              Return type
182433                     bool
182434
182435              CLI Example:
182436
182437                 # Sets the disk timeout to 30 minutes on battery
182438                 salt '*' powercfg.set_disk_timeout 30 power=dc
182439
182440       salt.modules.win_powercfg.set_hibernate_timeout(timeout,   power=u'ac',
182441       scheme=None)
182442              Set the hibernate timeout in minutes for the given power scheme
182443
182444              Parameters
182445
182446                     · timeout (int) -- The amount of time in  minutes  before
182447                       the computer hibernates
182448
182449                     · power (str) --
182450
182451                       Set  the value for AC or DC power. Default is ac. Valid
182452                       options are:
182453
182454                          · ac (AC Power)
182455
182456                          · dc (Battery)
182457
182458
182459                     · scheme (str) --
182460
182461                       The scheme to use, leave as None to  use  the  current.
182462                       Default  is None. This can be the GUID or the Alias for
182463                       the Scheme. Known Aliases are:
182464
182465                          · SCHEME_BALANCED - Balanced
182466
182467                          · SCHEME_MAX - Power saver
182468
182469                          · SCHEME_MIN - High performance
182470
182471
182472              Returns
182473                     True if successful, otherwise False
182474
182475              Return type
182476                     bool
182477
182478              CLI Example:
182479
182480                 # Sets the hibernate timeout to 30 minutes on Battery
182481                 salt '*' powercfg.set_hibernate_timeout 30 power=dc
182482
182483       salt.modules.win_powercfg.set_monitor_timeout(timeout,     power=u'ac',
182484       scheme=None)
182485              Set the monitor timeout in minutes for the given power scheme
182486
182487              Parameters
182488
182489                     · timeout  (int)  -- The amount of time in minutes before
182490                       the monitor will timeout
182491
182492                     · power (str) --
182493
182494                       Set the value for AC or DC power. Default is ac.  Valid
182495                       options are:
182496
182497                          · ac (AC Power)
182498
182499                          · dc (Battery)
182500
182501
182502                     · scheme (str) --
182503
182504                       The  scheme  to  use, leave as None to use the current.
182505                       Default is None. This can be the GUID or the Alias  for
182506                       the Scheme. Known Aliases are:
182507
182508                          · SCHEME_BALANCED - Balanced
182509
182510                          · SCHEME_MAX - Power saver
182511
182512                          · SCHEME_MIN - High performance
182513
182514
182515              Returns
182516                     True if successful, otherwise False
182517
182518              Return type
182519                     bool
182520
182521              CLI Example:
182522
182523                 # Sets the monitor timeout to 30 minutes
182524                 salt '*' powercfg.set_monitor_timeout 30
182525
182526       salt.modules.win_powercfg.set_standby_timeout(timeout,     power=u'ac',
182527       scheme=None)
182528              Set the standby timeout in minutes for the given power scheme
182529
182530              Parameters
182531
182532                     · timeout (int) -- The amount of time in  minutes  before
182533                       the computer sleeps
182534
182535                     · power (str) --
182536
182537                       Set  the value for AC or DC power. Default is ac. Valid
182538                       options are:
182539
182540                          · ac (AC Power)
182541
182542                          · dc (Battery)
182543
182544
182545                     · scheme (str) --
182546
182547                       The scheme to use, leave as None to  use  the  current.
182548                       Default  is None. This can be the GUID or the Alias for
182549                       the Scheme. Known Aliases are:
182550
182551                          · SCHEME_BALANCED - Balanced
182552
182553                          · SCHEME_MAX - Power saver
182554
182555                          · SCHEME_MIN - High performance
182556
182557
182558              Returns
182559                     True if successful, otherwise False
182560
182561              Return type
182562                     bool
182563
182564              CLI Example:
182565
182566                 # Sets the system standby timeout to 30 minutes on Battery
182567                 salt '*' powercfg.set_standby_timeout 30 power=dc
182568
182569   salt.modules.win_psget module
182570       Module for managing PowerShell through PowerShellGet (PSGet)
182571
182572       depends
182573
182574              · PowerShell 5.0
182575
182576              · PSGet
182577
182578       Support for PowerShell
182579
182580       salt.modules.win_psget.avail_modules(desc=False)
182581              List available modules in registered Powershell module reposito‐
182582              ries.
182583
182584              Parameters
182585                     desc  (bool)  -- If True, the verbose description will be
182586                     returned.
182587
182588              CLI Example:
182589
182590                 salt 'win01' psget.avail_modules
182591                 salt 'win01' psget.avail_modules desc=True
182592
182593       salt.modules.win_psget.bootstrap()
182594              Make sure that nuget-anycpu.exe is installed.  This  will  down‐
182595              load the official nuget-anycpu.exe from the internet.
182596
182597              CLI Example:
182598
182599                 salt 'win01' psget.bootstrap
182600
182601       salt.modules.win_psget.get_repository(name)
182602              Get the details of a local PSGet repository
182603
182604              Parameters
182605                     name (str) -- Name of the repository
182606
182607              CLI Example:
182608
182609                 salt 'win01' psget.get_repository MyRepo
182610
182611       salt.modules.win_psget.install(name,              minimum_version=None,
182612       required_version=None, scope=None, repository=None)
182613              Install a Powershell module from powershell gallery on the  sys‐
182614              tem.
182615
182616              Parameters
182617
182618                     · name (str) -- Name of a Powershell module
182619
182620                     · minimum_version   (str)   --  The  maximum  version  to
182621                       install, e.g. 1.23.2
182622
182623                     · required_version (str) -- Install a specific version
182624
182625                     · scope (str) -- The scope to install the module to, e.g.
182626                       CurrentUser, Computer
182627
182628                     · repository  (str)  --  The  friendly  name of a private
182629                       repository, e.g. MyREpo
182630
182631              CLI Example:
182632
182633                 salt 'win01' psget.install PowerPlan
182634
182635       salt.modules.win_psget.list_modules(desc=False)
182636              List currently installed PSGet Modules on the system.
182637
182638              Parameters
182639                     desc (bool) -- If True, the verbose description  will  be
182640                     returned.
182641
182642              CLI Example:
182643
182644                 salt 'win01' psget.list_modules
182645                 salt 'win01' psget.list_modules desc=True
182646
182647       salt.modules.win_psget.register_repository(name,   location,  installa‐
182648       tion_policy=None)
182649              Register a PSGet repository on the local machine
182650
182651              Parameters
182652
182653                     · name (str) -- The name for the repository
182654
182655                     · location (str) -- The URI for the repository
182656
182657                     · installation_policy (str) --  The  installation  policy
182658                       for packages, e.g. Trusted, Untrusted
182659
182660              CLI Example:
182661
182662                 salt 'win01' psget.register_repository MyRepo https://myrepo.mycompany.com/packages
182663
182664       salt.modules.win_psget.remove(name)
182665              Remove a Powershell DSC module from the system.
182666
182667              Parameters
182668                     name (str) -- Name of a Powershell DSC module
182669
182670              CLI Example:
182671
182672                 salt 'win01' psget.remove PowerPlan
182673
182674       salt.modules.win_psget.update(name, maximum_version=None, required_ver‐
182675       sion=None)
182676              Update a PowerShell module to a specific version, or the newest
182677
182678              Parameters
182679
182680                     · name (str) -- Name of a Powershell module
182681
182682                     · maximum_version  (str)  --  The  maximum   version   to
182683                       install, e.g. 1.23.2
182684
182685                     · required_version (str) -- Install a specific version
182686
182687              CLI Example:
182688
182689                 salt 'win01' psget.update PowerPlan
182690
182691   salt.modules.win_repo
182692       Module to manage Windows software repo on a Standalone Minion
182693
182694       file_client: local must be set in the minion config file.
182695
182696       For documentation on Salt's Windows Repo feature, see here.
182697
182698       salt.modules.win_repo.genrepo()
182699              Generate winrepo_cachefile based on sls files in the winrepo_dir
182700
182701              CLI Example:
182702
182703                 salt-call winrepo.genrepo
182704
182705       salt.modules.win_repo.show_sls(name, saltenv=u'base')
182706              New in version 2015.8.0.
182707
182708
182709              Display  the  rendered  software  definition from a specific sls
182710              file in the local winrepo cache. This will parse all Jinja.  Run
182711              pkg.refresh_db  to pull the latest software definitions from the
182712              master.
182713
182714              NOTE:
182715                 This function does not ask a master for an sls file  to  ren‐
182716                 der. Instead it directly processes the file specified in name
182717
182718              Parameters
182719
182720                     · str  (saltenv) -- The name/path of the package you want
182721                       to view. This can be the
182722
182723                     · path to a file on the minion file system or a  file  on
182724                       the local (full) --
182725
182726                     · cache. (minion) --
182727
182728                     · str -- The default environment is base
182729
182730              Returns
182731                     Returns  a dictionary containing the rendered data struc‐
182732                     ture
182733
182734              Return type
182735                     dict
182736
182737              NOTE:
182738                 To use a file from the minion cache start from the local win‐
182739                 repo             root            (C:\salt\var\cache\salt\min‐
182740                 ion\files\base\win\repo-ng). If you have .sls files organized
182741                 in  subdirectories  you'll  have  to  denote them with .. For
182742                 example, if you have a test directory  in  the  winrepo  root
182743                 with  a gvim.sls file inside, would target that file like so:
182744                 test.gvim. Directories can be targeted as  well  as  long  as
182745                 they  contain  an init.sls inside. For example, if you have a
182746                 node directory with an init.sls inside, target that like  so:
182747                 node.
182748
182749              CLI Example:
182750
182751                 salt '*' winrepo.show_sls gvim
182752                 salt '*' winrepo.show_sls test.npp
182753                 salt '*' winrepo.show_sls C:\test\gvim.sls
182754
182755       salt.modules.win_repo.update_git_repos(clean=False)
182756              Checkout  git  repos containing Windows Software Package Defini‐
182757              tions.
182758
182759              IMPORTANT:
182760                 This function requires Git for Windows  to  be  installed  in
182761                 order  to  work.  When  installing,  make  sure  to select an
182762                 installation option which permits the git  executable  to  be
182763                 run from the Command Prompt.
182764
182765              clean  False Clean repo cachedirs which are not configured under
182766                     winrepo_remotes.
182767
182768                     NOTE:
182769                        This option only applies if either pygit2 or GitPython
182770                        is installed into Salt's bundled Python.
182771
182772                     WARNING:
182773                        This  argument  should  not be set to True if a mix of
182774                        git and non-git repo definitions are being used, as it
182775                        will  result  in  the  non-git  repo definitions being
182776                        removed.
182777
182778                     New in version 2015.8.0.
182779
182780
182781              CLI Example:
182782
182783                 salt-call winrepo.update_git_repos
182784
182785   salt.modules.win_servermanager
182786       Manage Windows features via the ServerManager  powershell  module.  Can
182787       list  available  and  installed  roles/features. Can install and remove
182788       roles/features.
182789
182790       maintainer
182791              Shane Lee <slee@saltstack.com>
182792
182793       platform
182794              Windows Server 2008R2 or greater
182795
182796       depends
182797              PowerShell module ServerManager
182798
182799       salt.modules.win_servermanager.install(feature,          recurse=False,
182800       restart=False, source=None, exclude=None)
182801              Install a feature
182802
182803              NOTE:
182804                 Some  features  require  reboot  after un/installation, if so
182805                 until the server is  restarted  other  features  can  not  be
182806                 installed!
182807
182808              NOTE:
182809                 Some  features  take a long time to complete un/installation,
182810                 set -t with a long timeout
182811
182812              Parameters
182813
182814                     · feature (str, list) --
182815
182816                       The name of the feature(s) to install. This  can  be  a
182817                       single  feature, a string of features in a comma delim‐
182818                       ited list (no spaces), or a list of features.
182819
182820                       New in version 2018.3.0: Added the ability  to  pass  a
182821                       list of features to be installed.
182822
182823
182824
182825                     · recurse  (Options[bool])  --  Install all sub-features.
182826                       Default is False
182827
182828                     · restart (Optional[bool]) -- Restarts the computer  when
182829                       installation  is complete, if required by the role/fea‐
182830                       ture installed. Will also trigger a reboot if  an  item
182831                       in  exclude  requires  a reboot to be properly removed.
182832                       Default is False
182833
182834                     · source (Optional[str]) -- Path to the source  files  if
182835                       missing  from  the  target  system. None means that the
182836                       system will use windows update  services  to  find  the
182837                       required files. Default is None
182838
182839                     · exclude (Optional[str]) --
182840
182841                       The  name of the feature to exclude when installing the
182842                       named feature. This can be a single feature,  a  string
182843                       of features in a comma-delimited list (no spaces), or a
182844                       list of features.
182845
182846                       WARNING:
182847                          As there is no exclude option for  the  Add-Windows‐
182848                          Feature  or  Install-WindowsFeature  PowerShell com‐
182849                          mands  the  features  named  in  exclude   will   be
182850                          installed  with  other sub-features and will then be
182851                          removed. If the feature named in ``exclude`` is  not
182852                          a  sub-feature of one of the installed items it will
182853                          still be removed.
182854
182855
182856              Returns
182857                     A dictionary containing the results of the install
182858
182859              Return type
182860                     dict
182861
182862              CLI Example:
182863
182864                 # Install the Telnet Client passing a single string
182865                 salt '*' win_servermanager.install Telnet-Client
182866
182867                 # Install the TFTP Client and the SNMP Service passing a comma-delimited
182868                 # string. Install all sub-features
182869                 salt '*' win_servermanager.install TFTP-Client,SNMP-Service recurse=True
182870
182871                 # Install the TFTP Client from d:\side-by-side
182872                 salt '*' win_servermanager.install TFTP-Client source=d:\\side-by-side
182873
182874                 # Install the XPS Viewer, SNMP Service, and Remote Access passing a
182875                 # list. Install all sub-features, but exclude the Web Server
182876                 salt '*' win_servermanager.install "['XPS-Viewer', 'SNMP-Service', 'RemoteAccess']" True recurse=True exclude="Web-Server"
182877
182878       salt.modules.win_servermanager.list_available()
182879              List available features to install
182880
182881              Returns
182882                     A list of available features as returned by the  Get-Win‐
182883                     dowsFeature PowerShell command
182884
182885              Return type
182886                     str
182887
182888              CLI Example:
182889
182890                 salt '*' win_servermanager.list_available
182891
182892       salt.modules.win_servermanager.list_installed()
182893              List  installed  features.  Supported on Windows Server 2008 and
182894              Windows 8 and newer.
182895
182896              Returns
182897                     A dictionary of installed features
182898
182899              Return type
182900                     dict
182901
182902              CLI Example:
182903
182904                 salt '*' win_servermanager.list_installed
182905
182906       salt.modules.win_servermanager.remove(feature,    remove_payload=False,
182907       restart=False)
182908              Remove an installed feature
182909
182910              NOTE:
182911                 Some features require a reboot after installation/uninstalla‐
182912                 tion. If one of these features are modified, then other  fea‐
182913                 tures  cannot  be  installed  until  the server is restarted.
182914                 Additionally, some features take a while to complete  instal‐
182915                 lation/uninstallation,  so  it  is  a good idea to use the -t
182916                 option to set a longer timeout.
182917
182918              Parameters
182919
182920                     · feature (str, list) --
182921
182922                       The name of the feature(s) to remove.  This  can  be  a
182923                       single  feature, a string of features in a comma delim‐
182924                       ited list (no spaces), or a list of features.
182925
182926                       New in version 2018.3.0: Added the ability  to  pass  a
182927                       list of features to be removed.
182928
182929
182930
182931                     · remove_payload  (Optional[bool]) -- True will cause the
182932                       feature to  be  removed  from  the  side-by-side  store
182933                       (%SystemDrive%:\Windows\WinSxS). Default is False
182934
182935                     · restart  (Optional[bool]) -- Restarts the computer when
182936                       uninstall is complete, if required by the  role/feature
182937                       removed. Default is False
182938
182939              Returns
182940                     A dictionary containing the results of the uninstall
182941
182942              Return type
182943                     dict
182944
182945              CLI Example:
182946
182947                 salt -t 600 '*' win_servermanager.remove Telnet-Client
182948
182949   salt.modules.win_service
182950       Windows Service module.
182951
182952       Changed in version 2016.11.0: - Rewritten to use PyWin32
182953
182954
182955       salt.modules.win_service.available(name)
182956              Check if a service is available on the system.
182957
182958              Parameters
182959                     name (str) -- The name of the service to check
182960
182961              Returns
182962                     True if the service is available, False otherwise
182963
182964              Return type
182965                     bool
182966
182967              CLI Example:
182968
182969                 salt '*' service.available <service name>
182970
182971       salt.modules.win_service.create(name,   bin_path,  exe_args=None,  dis‐
182972       play_name=None,         description=None,          service_type=u'own',
182973       start_type=u'manual',   start_delayed=False,   error_control=u'normal',
182974       load_order_group=None,  dependencies=None,  account_name=u'.\\LocalSys‐
182975       tem', account_password=None, run_interactive=False, **kwargs)
182976              Create the named service.
182977
182978              New in version 2015.8.0.
182979
182980
182981              Parameters
182982
182983                     · name  (str)  -- Specifies the service name. This is not
182984                       the display_name
182985
182986                     · bin_path (str) -- Specifies the  path  to  the  service
182987                       binary   file.   Backslashes   must   be  escaped,  eg:
182988                       C:\path\to\binary.exe
182989
182990                     · exe_args (str) -- Any additional arguments required  by
182991                       the service binary.
182992
182993                     · display_name  (str)  -- The name to be displayed in the
182994                       service manager. If not passed, the name will be used
182995
182996                     · description (str) -- A description of the service
182997
182998                     · service_type (str) --
182999
183000                       Specifies the  service  type.  Default  is  own.  Valid
183001                       options are as follows:
183002
183003                       · kernel: Driver service
183004
183005                       · filesystem: File system driver service
183006
183007                       · adapter: Adapter driver service (reserved)
183008
183009                       · recognizer: Recognizer driver service (reserved)
183010
183011                       · own (default): Service runs in its own process
183012
183013                       · share:  Service  shares  a  process  with one or more
183014                         other services
183015
183016
183017                     · start_type (str) --
183018
183019                       Specifies the service start type. Valid options are  as
183020                       follows:
183021
183022                       · boot: Device driver that is loaded by the boot loader
183023
183024                       · system:  Device  driver that is started during kernel
183025                         initialization
183026
183027                       · auto: Service that automatically starts
183028
183029                       · manual (default): Service must be started manually
183030
183031                       · disabled: Service cannot be started
183032
183033
183034                     · start_delayed (bool) -- Set the service to Auto(Delayed
183035                       Start). Only valid if the start_type is set to Auto. If
183036                       service_type is not passed, but the service is  already
183037                       set  to  Auto,  then  the  flag will be set. Default is
183038                       False
183039
183040                     · error_control (str) --
183041
183042                       The severity of the error, and action  taken,  if  this
183043                       service fails to start. Valid options are as follows:
183044
183045                       · normal (normal): Error is logged and a message box is
183046                         displayed
183047
183048                       · severe: Error  is  logged  and  computer  attempts  a
183049                         restart with the last known good configuration
183050
183051                       · critical:  Error  is  logged,  computer  attempts  to
183052                         restart with the last known good configuration,  sys‐
183053                         tem halts on failure
183054
183055                       · ignore:  Error  is  logged  and startup continues, no
183056                         notification is given to the user
183057
183058
183059                     · load_order_group (str) -- The name of  the  load  order
183060                       group to which this service belongs
183061
183062                     · dependencies  (list)  --  A  list  of  services or load
183063                       ordering groups that must start before this service
183064
183065                     · account_name (str) --
183066
183067                       The name of the account under which the service  should
183068                       run.  For  own  type  services  this  should  be in the
183069                       domain\username format. The following are  examples  of
183070                       valid built-in service accounts:
183071
183072                       · NT AuthorityLocalService
183073
183074                       · NT AuthorityNetworkService
183075
183076                       · NT AuthorityLocalSystem
183077
183078                       · .LocalSystem
183079
183080
183081                     · account_password  (str) -- The password for the account
183082                       name specified in account_name. For the above  built-in
183083                       accounts,  this  can be None. Otherwise a password must
183084                       be specified.
183085
183086                     · run_interactive (bool) -- If this setting is True,  the
183087                       service  will be allowed to interact with the user. Not
183088                       recommended for services that run with elevated  privi‐
183089                       leges.
183090
183091              Returns
183092                     A dictionary containing information about the new service
183093
183094              Return type
183095                     dict
183096
183097              CLI Example:
183098
183099                 salt '*' service.create <service name> <path to exe> display_name='<display name>'
183100
183101       salt.modules.win_service.create_win_salt_restart_task()
183102              Create a task in Windows task scheduler to enable restarting the
183103              salt-minion
183104
183105              Returns
183106                     True if successful, otherwise False
183107
183108              Return type
183109                     bool
183110
183111              CLI Example:
183112
183113                 salt '*' service.create_win_salt_restart_task()
183114
183115       salt.modules.win_service.delete(name, timeout=90)
183116              Delete the named service
183117
183118              Parameters
183119
183120                     · name (str) -- The name of the service to delete
183121
183122                     · timeout (int) --
183123
183124                       The time in seconds to  wait  for  the  service  to  be
183125                       deleted  before  returning. This is necessary because a
183126                       service must be  stopped  before  it  can  be  deleted.
183127                       Default is 90 seconds
183128
183129                       New in version 2017.7.9,2018.3.4.
183130
183131
183132
183133              Returns
183134
183135                     True if successful, otherwise False. Also returns True
183136                            if the service is not present
183137
183138
183139              Return type
183140                     bool
183141
183142              CLI Example:
183143
183144                 salt '*' service.delete <service name>
183145
183146       salt.modules.win_service.disable(name, **kwargs)
183147              Disable the named service to start at boot
183148
183149              Parameters
183150                     name (str) -- The name of the service to disable
183151
183152              Returns
183153                     True if disabled, False otherwise
183154
183155              Return type
183156                     bool
183157
183158              CLI Example:
183159
183160                 salt '*' service.disable <service name>
183161
183162       salt.modules.win_service.disabled(name)
183163              Check to see if the named service is disabled to start on boot
183164
183165              Parameters
183166                     name (str) -- The name of the service to check
183167
183168              Returns
183169                     True if the service is disabled
183170
183171              Return type
183172                     bool
183173
183174              CLI Example:
183175
183176                 salt '*' service.disabled <service name>
183177
183178       salt.modules.win_service.enable(name,               start_type=u'auto',
183179       start_delayed=False, **kwargs)
183180              Enable the named service to start at boot
183181
183182              Parameters
183183
183184                     · name (str) -- The name of the service to enable.
183185
183186                     · start_type (str) --
183187
183188                       Specifies the service start type. Valid options are  as
183189                       follows:
183190
183191                       · boot: Device driver that is loaded by the boot loader
183192
183193                       · system:  Device  driver that is started during kernel
183194                         initialization
183195
183196                       · auto: Service that automatically starts
183197
183198                       · manual: Service must be started manually
183199
183200                       · disabled: Service cannot be started
183201
183202
183203                     · start_delayed (bool) -- Set the service to Auto(Delayed
183204                       Start). Only valid if the start_type is set to Auto. If
183205                       service_type is not passed, but the service is  already
183206                       set to Auto, then the flag will be set.
183207
183208              Returns
183209                     True if successful, False otherwise
183210
183211              Return type
183212                     bool
183213
183214              CLI Example:
183215
183216                 salt '*' service.enable <service name>
183217
183218       salt.modules.win_service.enabled(name, **kwargs)
183219              Check to see if the named service is enabled to start on boot
183220
183221              Parameters
183222                     name (str) -- The name of the service to check
183223
183224              Returns
183225                     True if the service is set to start
183226
183227              Return type
183228                     bool
183229
183230              CLI Example:
183231
183232                 salt '*' service.enabled <service name>
183233
183234       salt.modules.win_service.execute_salt_restart_task()
183235              Run the Windows Salt restart task
183236
183237              Returns
183238                     True if successful, otherwise False
183239
183240              Return type
183241                     bool
183242
183243              CLI Example:
183244
183245                 salt '*' service.execute_salt_restart_task()
183246
183247       salt.modules.win_service.get_all()
183248              Return all installed services
183249
183250              Returns
183251                     Returns a list of all services on the system.
183252
183253              Return type
183254                     list
183255
183256              CLI Example:
183257
183258                 salt '*' service.get_all
183259
183260       salt.modules.win_service.get_disabled()
183261              Return  a  list  of  disabled services. Disabled is defined as a
183262              service that is marked 'Disabled' or 'Manual'.
183263
183264              Returns
183265                     A list of disabled services.
183266
183267              Return type
183268                     list
183269
183270              CLI Example:
183271
183272                 salt '*' service.get_disabled
183273
183274       salt.modules.win_service.get_enabled()
183275              Return a list of enabled services. Enabled is defined as a  ser‐
183276              vice that is marked to Auto Start.
183277
183278              Returns
183279                     A list of enabled services
183280
183281              Return type
183282                     list
183283
183284              CLI Example:
183285
183286                 salt '*' service.get_enabled
183287
183288       salt.modules.win_service.get_service_name(*args)
183289              The  Display  Name  is  what  is  displayed in Windows when ser‐
183290              vices.msc is executed.  Each Display Name has an associated Ser‐
183291              vice  Name  which is the actual name of the service.  This func‐
183292              tion allows you to discover the Service Name by returning a dic‐
183293              tionary  of Display Names and Service Names, or filter by adding
183294              arguments of Display Names.
183295
183296              If no args are passed, return a dict of all services  where  the
183297              keys  are  the service Display Names and the values are the Ser‐
183298              vice Names.
183299
183300              If arguments are passed, create a dict of Display Names and Ser‐
183301              vice Names
183302
183303              Returns
183304                     A dictionary of display names and service names
183305
183306              Return type
183307                     dict
183308
183309              CLI Examples:
183310
183311                 salt '*' service.get_service_name
183312                 salt '*' service.get_service_name 'Google Update Service (gupdate)' 'DHCP Client'
183313
183314       salt.modules.win_service.getsid(name)
183315              Return the SID for this windows service
183316
183317              Parameters
183318                     name (str) -- The name of the service for which to return
183319                     the SID
183320
183321              Returns
183322                     A string representing the SID for the service
183323
183324              Return type
183325                     str
183326
183327              CLI Example:
183328
183329                 salt '*' service.getsid <service name>
183330
183331       salt.modules.win_service.info(name)
183332              Get information about a service on the system
183333
183334              Parameters
183335                     name (str) -- The name of the service. This  is  not  the
183336                     display  name.  Use  get_service_name to find the service
183337                     name.
183338
183339              Returns
183340                     A dictionary containing information about the service.
183341
183342              Return type
183343                     dict
183344
183345              CLI Example:
183346
183347                 salt '*' service.info spooler
183348
183349       salt.modules.win_service.missing(name)
183350              The inverse of service.available.
183351
183352              Parameters
183353                     name (str) -- The name of the service to check
183354
183355              Returns
183356                     True if the service is missing, False otherwise
183357
183358              Return type
183359                     bool
183360
183361              CLI Example:
183362
183363                 salt '*' service.missing <service name>
183364
183365       salt.modules.win_service.modify(name,   bin_path=None,   exe_args=None,
183366       display_name=None,         description=None,         service_type=None,
183367       start_type=None,        start_delayed=None,         error_control=None,
183368       load_order_group=None,       dependencies=None,      account_name=None,
183369       account_password=None, run_interactive=None)
183370              Modify a service's parameters. Changes  will  not  be  made  for
183371              parameters that are not passed.
183372
183373              New in version 2016.11.0.
183374
183375
183376              Parameters
183377
183378                     · name  (str)  --  The  name of the service. Can be found
183379                       using the service.get_service_name function
183380
183381                     · bin_path (str) -- The path to the  service  executable.
183382                       Backslashes must be escaped, eg: C:\path\to\binary.exe
183383
183384                     · exe_args (str) -- Any arguments required by the service
183385                       executable
183386
183387                     · display_name (str) -- The name to display in  the  ser‐
183388                       vice manager
183389
183390                     · description (str) -- The description to display for the
183391                       service
183392
183393                     · service_type (str) --
183394
183395                       Specifies the  service  type.  Default  is  own.  Valid
183396                       options are as follows:
183397
183398                       · kernel: Driver service
183399
183400                       · filesystem: File system driver service
183401
183402                       · adapter: Adapter driver service (reserved)
183403
183404                       · recognizer: Recognizer driver service (reserved)
183405
183406                       · own (default): Service runs in its own process
183407
183408                       · share:  Service  shares  a  process  with one or more
183409                         other services
183410
183411
183412                     · start_type (str) --
183413
183414                       Specifies the service start type. Valid options are  as
183415                       follows:
183416
183417                       · boot: Device driver that is loaded by the boot loader
183418
183419                       · system:  Device  driver that is started during kernel
183420                         initialization
183421
183422                       · auto: Service that automatically starts
183423
183424                       · manual: Service must be started manually
183425
183426                       · disabled: Service cannot be started
183427
183428
183429                     · start_delayed (bool) -- Set the service to Auto(Delayed
183430                       Start). Only valid if the start_type is set to Auto. If
183431                       service_type is not passed, but the service is  already
183432                       set to Auto, then the flag will be set.
183433
183434                     · error_control (str) --
183435
183436                       The  severity  of  the error, and action taken, if this
183437                       service fails to start. Valid options are as follows:
183438
183439                       · normal: Error is logged and a  message  box  is  dis‐
183440                         played
183441
183442                       · severe:  Error  is  logged  and  computer  attempts a
183443                         restart with the last known good configuration
183444
183445                       · critical:  Error  is  logged,  computer  attempts  to
183446                         restart  with the last known good configuration, sys‐
183447                         tem halts on failure
183448
183449                       · ignore: Error is logged  and  startup  continues,  no
183450                         notification is given to the user
183451
183452
183453                     · load_order_group  (str)  --  The name of the load order
183454                       group to which this service belongs
183455
183456                     · dependencies (list) --  A  list  of  services  or  load
183457                       ordering groups that must start before this service
183458
183459                     · account_name (str) --
183460
183461                       The  name of the account under which the service should
183462                       run. For own  type  services  this  should  be  in  the
183463                       domain\username  format.  The following are examples of
183464                       valid built-in service accounts:
183465
183466                       · NT AuthorityLocalService
183467
183468                       · NT AuthorityNetworkService
183469
183470                       · NT AuthorityLocalSystem
183471
183472                       · .LocalSystem
183473
183474
183475                     · account_password (str) -- The password for the  account
183476                       name  specified in account_name. For the above built-in
183477                       accounts, this can be None. Otherwise a  password  must
183478                       be specified.
183479
183480                     · run_interactive  (bool) -- If this setting is True, the
183481                       service will be allowed to interact with the user.  Not
183482                       recommended  for services that run with elevated privi‐
183483                       leges.
183484
183485              Returns
183486                     a dictionary of changes made
183487
183488              Return type
183489                     dict
183490
183491              CLI Example:
183492
183493                 salt '*' service.modify spooler start_type=disabled
183494
183495       salt.modules.win_service.restart(name, timeout=90)
183496              Restart the named service. This issues a stop  command  followed
183497              by a start.
183498
183499              Parameters
183500
183501                     · name --
183502
183503                       The name of the service to restart.
183504
183505                       NOTE:
183506                          If  the  name passed is salt-minion a scheduled task
183507                          is created and executed to restart  the  salt-minion
183508                          service.
183509
183510
183511                     · timeout (int) --
183512
183513                       The time in seconds to wait for the service to stop and
183514                       start before returning. Default is 90 seconds
183515
183516                       NOTE:
183517                          The timeout is cumulative meaning it is  applied  to
183518                          the stop and then to the start command. A timeout of
183519                          90 could take up to 180 seconds if  the  service  is
183520                          long in stopping and starting
183521
183522                       New in version 2017.7.9,2018.3.4.
183523
183524
183525
183526              Returns
183527                     True if successful, otherwise False
183528
183529              Return type
183530                     bool
183531
183532              CLI Example:
183533
183534                 salt '*' service.restart <service name>
183535
183536       salt.modules.win_service.start(name, timeout=90)
183537              Start the specified service.
183538
183539              WARNING:
183540                 You  cannot  start a disabled service in Windows. If the ser‐
183541                 vice is disabled, it will be changed to Manual start.
183542
183543              Parameters
183544
183545                     · name (str) -- The name of the service to start
183546
183547                     · timeout (int) --
183548
183549                       The time in seconds to wait for the  service  to  start
183550                       before returning. Default is 90 seconds
183551
183552                       New in version 2017.7.9,2018.3.4.
183553
183554
183555
183556              Returns
183557
183558                     True if successful, otherwise False. Also returns True
183559                            if the service is already started
183560
183561
183562              Return type
183563                     bool
183564
183565              CLI Example:
183566
183567                 salt '*' service.start <service name>
183568
183569       salt.modules.win_service.status(name, *args, **kwargs)
183570              Return the status for a service.  If the name contains globbing,
183571              a dict mapping service name to True/False values is returned.
183572
183573              Changed in version 2018.3.0: The service name can now be a  glob
183574              (e.g. salt*)
183575
183576
183577              Parameters
183578                     name (str) -- The name of the service to check
183579
183580              Returns
183581                     True  if running, False otherwise dict: Maps service name
183582                     to True if running, False otherwise
183583
183584              Return type
183585                     bool
183586
183587              CLI Example:
183588
183589                 salt '*' service.status <service name>
183590
183591       salt.modules.win_service.stop(name, timeout=90)
183592              Stop the specified service
183593
183594              Parameters
183595
183596                     · name (str) -- The name of the service to stop
183597
183598                     · timeout (int) --
183599
183600                       The time in seconds to wait for  the  service  to  stop
183601                       before returning. Default is 90 seconds
183602
183603                       New in version 2017.7.9,2018.3.4.
183604
183605
183606
183607              Returns
183608
183609                     True if successful, otherwise False. Also returns True
183610                            if the service is already stopped
183611
183612
183613              Return type
183614                     bool
183615
183616              CLI Example:
183617
183618                 salt '*' service.stop <service name>
183619
183620   salt.modules.win_shadow
183621       Manage the shadow file
183622
183623       IMPORTANT:
183624          If  you  feel  that Salt should be using this module to manage pass‐
183625          words on a minion, and it is using a different module (or  gives  an
183626          error similar to 'shadow.info' is not available), see here.
183627
183628       salt.modules.win_shadow.info(name)
183629              Return  information  for the specified user This is just returns
183630              dummy data so that salt states can work.
183631
183632              Parameters
183633                     name (str) -- The name of the user account to show.
183634
183635              CLI Example:
183636
183637                 salt '*' shadow.info root
183638
183639       salt.modules.win_shadow.require_password_change(name)
183640              Require the user to change their password the next time they log
183641              in.
183642
183643              Parameters
183644                     name  --  The name of the user account to require a pass‐
183645                     word change.
183646
183647              Returns
183648                     True if successful. False if unsuccessful.
183649
183650              Return type
183651                     bool
183652
183653              CLI Example:
183654
183655                 salt '*' shadow.require_password_change <username>
183656
183657       salt.modules.win_shadow.set_expire(name, expire)
183658              Set the expiration date for a user account.
183659
183660              Parameters
183661
183662                     · name -- The name of the user account to edit.
183663
183664                     · expire -- The date the account will expire.
183665
183666              Returns
183667                     True if successful. False if unsuccessful.
183668
183669              Return type
183670                     bool
183671
183672              CLI Example:
183673
183674                 salt '*' shadow.set_expire <username> 2016/7/1
183675
183676       salt.modules.win_shadow.set_password(name, password)
183677              Set the password for a named user.
183678
183679              Parameters
183680
183681                     · name (str) -- The name of the user account
183682
183683                     · password (str) -- The new password
183684
183685              Returns
183686                     True if successful. False if unsuccessful.
183687
183688              Return type
183689                     bool
183690
183691              CLI Example:
183692
183693                 salt '*' shadow.set_password root mysecretpassword
183694
183695       salt.modules.win_shadow.unlock_account(name)
183696              Unlocks a user account.
183697
183698              Parameters
183699                     name -- The name of the user account to unlock.
183700
183701              Returns
183702                     True if successful. False if unsuccessful.
183703
183704              Return type
183705                     bool
183706
183707              CLI Example:
183708
183709                 salt '*' shadow.unlock_account <username>
183710
183711   salt.modules.win_smtp_server module
183712       Module for managing IIS SMTP server configuration on  Windows  servers.
183713       The Windows features 'SMTP-Server' and 'Web-WMI' must be installed.
183714
183715       depends
183716              wmi
183717
183718       salt.modules.win_smtp_server.get_connection_ip_list(as_wmi_for‐
183719       mat=False, server=u'SmtpSvc/1')
183720              Get the IPGrant list for the SMTP virtual server.
183721
183722              Parameters
183723
183724                     · as_wmi_format (bool) -- Returns the connection IPs as a
183725                       list in the format WMI expects.
183726
183727                     · server (str) -- The SMTP server name.
183728
183729              Returns
183730                     A dictionary of the IP and subnet pairs.
183731
183732              Return type
183733                     dict
183734
183735              CLI Example:
183736
183737                 salt '*' win_smtp_server.get_connection_ip_list
183738
183739       salt.modules.win_smtp_server.get_log_format(server=u'SmtpSvc/1')
183740              Get the active log format for the SMTP virtual server.
183741
183742              Parameters
183743                     server (str) -- The SMTP server name.
183744
183745              Returns
183746                     A string of the log format name.
183747
183748              Return type
183749                     str
183750
183751              CLI Example:
183752
183753                 salt '*' win_smtp_server.get_log_format
183754
183755       salt.modules.win_smtp_server.get_log_format_types()
183756              Get all available log format names and ids.
183757
183758              Returns
183759                     A dictionary of the log format names and ids.
183760
183761              Return type
183762                     dict
183763
183764              CLI Example:
183765
183766                 salt '*' win_smtp_server.get_log_format_types
183767
183768       salt.modules.win_smtp_server.get_relay_ip_list(server=u'SmtpSvc/1')
183769              Get the RelayIpList list for the SMTP virtual server.
183770
183771              Parameters
183772                     server (str) -- The SMTP server name.
183773
183774              Returns
183775                     A list of the relay IPs.
183776
183777              Return type
183778                     list
183779
183780              NOTE:
183781                 A  return  value of None corresponds to the restrictive 'Only
183782                 the list below' GUI parameter with an empty access list,  and
183783                 setting  an  empty list/tuple corresponds to the more permis‐
183784                 sive 'All except the list below' GUI parameter.
183785
183786              CLI Example:
183787
183788                 salt '*' win_smtp_server.get_relay_ip_list
183789
183790       salt.modules.win_smtp_server.get_server_setting(settings,
183791       server=u'SmtpSvc/1')
183792              Get the value of the setting for the SMTP virtual server.
183793
183794              Parameters
183795
183796                     · settings (str) -- A list of the setting names.
183797
183798                     · server (str) -- The SMTP server name.
183799
183800              Returns
183801                     A dictionary of the provided settings and their values.
183802
183803              Return type
183804                     dict
183805
183806              CLI Example:
183807
183808                 salt '*' win_smtp_server.get_server_setting settings="['MaxRecipients']"
183809
183810       salt.modules.win_smtp_server.get_servers()
183811              Get the SMTP virtual server names.
183812
183813              Returns
183814                     A list of the SMTP virtual servers.
183815
183816              Return type
183817                     list
183818
183819              CLI Example:
183820
183821                 salt '*' win_smtp_server.get_servers
183822
183823       salt.modules.win_smtp_server.set_connection_ip_list(addresses=None,
183824       grant_by_default=False, server=u'SmtpSvc/1')
183825              Set the IPGrant list for the SMTP virtual server.
183826
183827              Parameters
183828
183829                     · addresses (str) -- A dictionary of IP + subnet pairs.
183830
183831                     · grant_by_default (bool) -- Whether the addresses should
183832                       be a blacklist or whitelist.
183833
183834                     · server (str) -- The SMTP server name.
183835
183836              Returns
183837                     A boolean representing whether the change succeeded.
183838
183839              Return type
183840                     bool
183841
183842              CLI Example:
183843
183844                 salt '*' win_smtp_server.set_connection_ip_list addresses="{'127.0.0.1': '255.255.255.255'}"
183845
183846       salt.modules.win_smtp_server.set_log_format(log_format,
183847       server=u'SmtpSvc/1')
183848              Set the active log format for the SMTP virtual server.
183849
183850              Parameters
183851
183852                     · log_format (str) -- The log format name.
183853
183854                     · server (str) -- The SMTP server name.
183855
183856              Returns
183857                     A boolean representing whether the change succeeded.
183858
183859              Return type
183860                     bool
183861
183862              CLI Example:
183863
183864                 salt '*' win_smtp_server.set_log_format 'Microsoft IIS Log File Format'
183865
183866       salt.modules.win_smtp_server.set_relay_ip_list(addresses=None,
183867       server=u'SmtpSvc/1')
183868              Set the RelayIpList list for the SMTP virtual server.
183869
183870              Due  to the unusual way that Windows stores the relay IPs, it is
183871              advisable to retrieve the existing list you wish to set  from  a
183872              pre-configured server.
183873
183874              For  example, setting '127.0.0.1' as an allowed relay IP through
183875              the GUI would generate an actual relay IP list  similar  to  the
183876              following:
183877
183878                 ['24.0.0.128', '32.0.0.128', '60.0.0.128', '68.0.0.128', '1.0.0.0', '76.0.0.0',
183879                  '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',
183880                  '0.0.0.0', '76.0.0.128', '0.0.0.0', '0.0.0.0', '0.0.0.0', '0.0.0.0',
183881                  '255.255.255.255', '127.0.0.1']
183882
183883              NOTE:
183884                 Setting the list to None corresponds to the restrictive 'Only
183885                 the list below' GUI parameter with an empty access list  con‐
183886                 figured,  and  setting an empty list/tuple corresponds to the
183887                 more permissive 'All except the list below' GUI parameter.
183888
183889              Parameters
183890
183891                     · addresses (str) -- A list of the relay IPs.  The  order
183892                       of the list is important.
183893
183894                     · server (str) -- The SMTP server name.
183895
183896              Returns
183897                     A boolean representing whether the change succeeded.
183898
183899              Return type
183900                     bool
183901
183902              CLI Example:
183903
183904                 salt '*' win_smtp_server.set_relay_ip_list addresses="['192.168.1.1', '172.16.1.1']"
183905
183906       salt.modules.win_smtp_server.set_server_setting(settings,
183907       server=u'SmtpSvc/1')
183908              Set the value of the setting for the SMTP virtual server.
183909
183910              NOTE:
183911                 The setting names are case-sensitive.
183912
183913              Parameters
183914
183915                     · settings (str) -- A dictionary of the setting names and
183916                       their values.
183917
183918                     · server (str) -- The SMTP server name.
183919
183920              Returns
183921                     A boolean representing whether all changes succeeded.
183922
183923              Return type
183924                     bool
183925
183926              CLI Example:
183927
183928                 salt '*' win_smtp_server.set_server_setting settings="{'MaxRecipients': '500'}"
183929
183930   salt.modules.win_snmp module
183931       Module for managing SNMP service settings on Windows servers.  The Win‐
183932       dows feature 'SNMP-Service' must be installed.
183933
183934       salt.modules.win_snmp.get_agent_service_types()
183935              Get the sysServices types that can be configured.
183936
183937              Returns
183938                     A list of service types.
183939
183940              Return type
183941                     list
183942
183943              CLI Example:
183944
183945                 salt '*' win_snmp.get_agent_service_types
183946
183947       salt.modules.win_snmp.get_agent_settings()
183948              Determine the value of the  SNMP  sysContact,  sysLocation,  and
183949              sysServices settings.
183950
183951              Returns
183952                     A dictionary of the agent settings.
183953
183954              Return type
183955                     dict
183956
183957              CLI Example:
183958
183959                 salt '*' win_snmp.get_agent_settings
183960
183961       salt.modules.win_snmp.get_auth_traps_enabled()
183962              Determine  whether the host is configured to send authentication
183963              traps.
183964
183965              Returns
183966                     True if traps are enabled, otherwise False
183967
183968              Return type
183969                     bool
183970
183971              CLI Example:
183972
183973                 salt '*' win_snmp.get_auth_traps_enabled
183974
183975       salt.modules.win_snmp.get_community_names()
183976              Get the current accepted SNMP community names and their  permis‐
183977              sions.
183978
183979              If community names are being managed by Group Policy, those val‐
183980              ues will be returned instead like this:
183981
183982                 TestCommunity:
183983                     Managed by GPO
183984
183985              Community names managed  normally  will  denote  the  permission
183986              instead:
183987
183988                 TestCommunity:
183989                     Read Only
183990
183991              Returns
183992                     A dictionary of community names and permissions.
183993
183994              Return type
183995                     dict
183996
183997              CLI Example:
183998
183999                 salt '*' win_snmp.get_community_names
184000
184001       salt.modules.win_snmp.get_permission_types()
184002              Get the permission types that can be configured for communities.
184003
184004              Returns
184005                     A list of permission types.
184006
184007              Return type
184008                     list
184009
184010              CLI Example:
184011
184012                 salt '*' win_snmp.get_permission_types
184013
184014       salt.modules.win_snmp.set_agent_settings(contact=None,   location=None,
184015       services=None)
184016              Manage the SNMP sysContact, sysLocation,  and  sysServices  set‐
184017              tings.
184018
184019              Parameters
184020
184021                     · contact (str, optional) -- The SNMP contact.
184022
184023                     · location (str, optional) -- The SNMP location.
184024
184025                     · services  (list,  optional)  -- A list of selected ser‐
184026                       vices. The possible service  names  can  be  found  via
184027                       win_snmp.get_agent_service_types.   To disable all ser‐
184028                       vices pass a list of None, ie: ['None']
184029
184030              Returns
184031                     True if successful, otherwise False
184032
184033              Return type
184034                     bool
184035
184036              CLI Example:
184037
184038                 salt '*' win_snmp.set_agent_settings contact='Contact Name' location='Place' services="['Physical']"
184039
184040       salt.modules.win_snmp.set_auth_traps_enabled(status=True)
184041              Manage the sending of authentication traps.
184042
184043              Parameters
184044                     status (bool) -- True to enable traps. False to disable.
184045
184046              Returns
184047                     True if successful, otherwise False
184048
184049              Return type
184050                     bool
184051
184052              CLI Example:
184053
184054                 salt '*' win_snmp.set_auth_traps_enabled status='True'
184055
184056       salt.modules.win_snmp.set_community_names(communities)
184057              Manage the SNMP accepted community names and their permissions.
184058
184059              NOTE:
184060                 Settings managed by Group Policy will always take  precedence
184061                 over  those  set  using the SNMP interface. Therefore if this
184062                 function finds Group Policy settings it will raise a  Comman‐
184063                 dExecutionError
184064
184065              Parameters
184066                     communities  (dict)  --  A  dictionary  of SNMP community
184067                     names and permissions. The possible  permissions  can  be
184068                     found via win_snmp.get_permission_types.
184069
184070              Returns
184071                     True if successful, otherwise False
184072
184073              Return type
184074                     bool
184075
184076              Raises CommandExecutionError  -- If SNMP settings are being man‐
184077                     aged by Group Policy
184078
184079              CLI Example:
184080
184081                 salt '*' win_snmp.set_community_names communities="{'TestCommunity': 'Read Only'}'
184082
184083   salt.modules.win_status
184084       Module for returning various status data about a  minion.   These  data
184085       can be useful for compiling into stats later, or for problem solving if
184086       your minion is having problems.
184087
184088       New in version 0.12.0.
184089
184090
184091       depends
184092
184093              · wmi
184094
184095       class salt.modules.win_status.SYSTEM_PERFORMANCE_INFORMATION
184096
184097              AvailablePagedPoolPages
184098                     Structure/Union member
184099
184100              AvailablePages
184101                     Structure/Union member
184102
184103              CacheIoCount
184104                     Structure/Union member
184105
184106              CacheReadCount
184107                     Structure/Union member
184108
184109              CacheTransitionCount
184110                     Structure/Union member
184111
184112              CcCopyReadNoWait
184113                     Structure/Union member
184114
184115              CcCopyReadNoWaitMiss
184116                     Structure/Union member
184117
184118              CcCopyReadWait
184119                     Structure/Union member
184120
184121              CcCopyReadWaitMiss
184122                     Structure/Union member
184123
184124              CcDataFlushes
184125                     Structure/Union member
184126
184127              CcDataPages
184128                     Structure/Union member
184129
184130              CcDirtyPagesThreshold
184131                     Structure/Union member
184132
184133              CcFastMdlReadNoWait
184134                     Structure/Union member
184135
184136              CcFastMdlReadNotPossible
184137                     Structure/Union member
184138
184139              CcFastMdlReadResourceMiss
184140                     Structure/Union member
184141
184142              CcFastMdlReadWait
184143                     Structure/Union member
184144
184145              CcFastReadNoWait
184146                     Structure/Union member
184147
184148              CcFastReadNotPossible
184149                     Structure/Union member
184150
184151              CcFastReadResourceMiss
184152                     Structure/Union member
184153
184154              CcFastReadWait
184155                     Structure/Union member
184156
184157              CcLazyWriteIos
184158                     Structure/Union member
184159
184160              CcLazyWritePages
184161                     Structure/Union member
184162
184163              CcMapDataNoWait
184164                     Structure/Union member
184165
184166              CcMapDataNoWaitMiss
184167                     Structure/Union member
184168
184169              CcMapDataWait
184170                     Structure/Union member
184171
184172              CcMapDataWaitMiss
184173                     Structure/Union member
184174
184175              CcMdlReadNoWait
184176                     Structure/Union member
184177
184178              CcMdlReadNoWaitMiss
184179                     Structure/Union member
184180
184181              CcMdlReadWait
184182                     Structure/Union member
184183
184184              CcMdlReadWaitMiss
184185                     Structure/Union member
184186
184187              CcPinMappedDataCount
184188                     Structure/Union member
184189
184190              CcPinReadNoWait
184191                     Structure/Union member
184192
184193              CcPinReadNoWaitMiss
184194                     Structure/Union member
184195
184196              CcPinReadWait
184197                     Structure/Union member
184198
184199              CcPinReadWaitMiss
184200                     Structure/Union member
184201
184202              CcReadAheadIos
184203                     Structure/Union member
184204
184205              CcTotalDirtyPages
184206                     Structure/Union member
184207
184208              CommitLimit
184209                     Structure/Union member
184210
184211              CommittedPages
184212                     Structure/Union member
184213
184214              ContextSwitches
184215                     Structure/Union member
184216
184217              CopyOnWriteCount
184218                     Structure/Union member
184219
184220              DemandZeroCount
184221                     Structure/Union member
184222
184223              DirtyPagesWriteCount
184224                     Structure/Union member
184225
184226              DirtyWriteIoCount
184227                     Structure/Union member
184228
184229              FirstLevelTbFills
184230                     Structure/Union member
184231
184232              FreeSystemPtes
184233                     Structure/Union member
184234
184235              IdleProcessTime
184236                     Structure/Union member
184237
184238              IoOtherOperationCount
184239                     Structure/Union member
184240
184241              IoOtherTransferCount
184242                     Structure/Union member
184243
184244              IoReadOperationCount
184245                     Structure/Union member
184246
184247              IoReadTransferCount
184248                     Structure/Union member
184249
184250              IoWriteOperationCount
184251                     Structure/Union member
184252
184253              IoWriteTransferCount
184254                     Structure/Union member
184255
184256              MappedPagesWriteCount
184257                     Structure/Union member
184258
184259              MappedWriteIoCount
184260                     Structure/Union member
184261
184262              NonPagedPoolAllocs
184263                     Structure/Union member
184264
184265              NonPagedPoolFrees
184266                     Structure/Union member
184267
184268              NonPagedPoolLookasideHits
184269                     Structure/Union member
184270
184271              NonPagedPoolPages
184272                     Structure/Union member
184273
184274              PageFaultCount
184275                     Structure/Union member
184276
184277              PageReadCount
184278                     Structure/Union member
184279
184280              PageReadIoCount
184281                     Structure/Union member
184282
184283              PagedPoolAllocs
184284                     Structure/Union member
184285
184286              PagedPoolFrees
184287                     Structure/Union member
184288
184289              PagedPoolLookasideHits
184290                     Structure/Union member
184291
184292              PagedPoolPages
184293                     Structure/Union member
184294
184295              PeakCommitment
184296                     Structure/Union member
184297
184298              ResidentAvailablePages
184299                     Structure/Union member
184300
184301              ResidentPagedPoolPage
184302                     Structure/Union member
184303
184304              ResidentSystemCachePage
184305                     Structure/Union member
184306
184307              ResidentSystemCodePage
184308                     Structure/Union member
184309
184310              ResidentSystemDriverPage
184311                     Structure/Union member
184312
184313              SecondLevelTbFills
184314                     Structure/Union member
184315
184316              SharedCommittedPages
184317                     Structure/Union member
184318
184319              SystemCalls
184320                     Structure/Union member
184321
184322              TotalSystemCodePages
184323                     Structure/Union member
184324
184325              TotalSystemDriverPages
184326                     Structure/Union member
184327
184328              TransitionCount
184329                     Structure/Union member
184330
184331       salt.modules.win_status.cpuload()
184332              New in version 2015.8.0.
184333
184334
184335              Return the processor load as a percentage
184336
184337              CLI Example:
184338
184339                 salt '*' status.cpuload
184340
184341       salt.modules.win_status.cpustats()
184342              Return information about the CPU.
184343
184344              Returns
184345                     dict: A dictionary containing information about  the  CPU
184346                     stats
184347
184348              CLI Example:
184349
184350                 salt * status.cpustats
184351
184352       salt.modules.win_status.diskusage(human_readable=False, path=None)
184353              New in version 2015.8.0.
184354
184355
184356              Return the disk usage for this minion
184357
184358              human_readable
184359                     False If True, usage will be in KB/MB/GB etc.
184360
184361              CLI Example:
184362
184363                 salt '*' status.diskusage path=c:/salt
184364
184365       salt.modules.win_status.loadavg()
184366              Returns counter information related to the load of the machine
184367
184368              Returns
184369                     A dictionary of counters
184370
184371              Return type
184372                     dict
184373
184374              CLI Example:
184375
184376                 salt * status.loadavg
184377
184378       salt.modules.win_status.master(master=None, connected=True)
184379              New in version 2015.5.0.
184380
184381
184382              Fire  an  event if the minion gets disconnected from its master.
184383              This function is meant to be run via a scheduled  job  from  the
184384              minion.  If master_ip is an FQDN/Hostname, is must be resolvable
184385              to a valid IPv4 address.
184386
184387              CLI Example:
184388
184389                 salt '*' status.master
184390
184391       salt.modules.win_status.meminfo()
184392              Return information about physical and virtual memory on the sys‐
184393              tem
184394
184395              Returns
184396                     A dictionary of information about memory on the system
184397
184398              Return type
184399                     dict
184400
184401              CLI Example:
184402
184403                 salt * status.meminfo
184404
184405       salt.modules.win_status.procs(count=False)
184406              Return the process data
184407
184408              count  False  If True, this function will simply return the num‐
184409                     ber of processes.
184410
184411                     New in version 2015.8.0.
184412
184413
184414              CLI Example:
184415
184416                 salt '*' status.procs
184417                 salt '*' status.procs count
184418
184419       salt.modules.win_status.saltmem(human_readable=False)
184420              New in version 2015.8.0.
184421
184422
184423              Returns the amount of memory that salt is using
184424
184425              human_readable
184426                     False return the value in a nicely formatted number
184427
184428              CLI Example:
184429
184430                 salt '*' status.saltmem
184431                 salt '*' status.saltmem human_readable=True
184432
184433       salt.modules.win_status.uptime(human_readable=False)
184434              New in version 2015.8.0.
184435
184436
184437              Return the system uptime for the machine
184438
184439              Parameters
184440                     human_readable (bool) --
184441
184442                     Return uptime in human readable format if True, otherwise
184443                     return seconds. Default is False
184444
184445                     NOTE:
184446                        Human  readable  format  is  days, hours:min:sec. Days
184447                        will only be displayed if more than 0
184448
184449
184450              Returns
184451                     The uptime in seconds or human readable format  depending
184452                     on the value of human_readable
184453
184454              Return type
184455                     str
184456
184457              CLI Example:
184458
184459                 salt '*' status.uptime
184460                 salt '*' status.uptime human_readable=True
184461
184462       salt.modules.win_status.vmstats()
184463              Return information about the virtual memory on the machine
184464
184465              Returns
184466                     A dictionary of virtual memory stats
184467
184468              Return type
184469                     dict
184470
184471              CLI Example:
184472
184473                 salt * status.vmstats
184474
184475   salt.modules.win_system
184476       Module for managing windows systems.
184477
184478       depends
184479
184480              · pythoncom
184481
184482              · pywintypes
184483
184484              · win32api
184485
184486              · win32con
184487
184488              · win32net
184489
184490              · wmi
184491
184492       Support for reboot, shutdown, etc
184493
184494       salt.modules.win_system.get_computer_desc()
184495              Get the Windows computer description
184496
184497              Returns
184498                     Returns  the  computer  description  if  found. Otherwise
184499                     returns False.
184500
184501              Return type
184502                     str
184503
184504              CLI Example:
184505
184506                 salt 'minion-id' system.get_computer_desc
184507
184508       salt.modules.win_system.get_computer_name()
184509              Get the Windows computer name
184510
184511              Returns
184512                     Returns the computer name  if  found.  Otherwise  returns
184513                     False.
184514
184515              Return type
184516                     str
184517
184518              CLI Example:
184519
184520                 salt 'minion-id' system.get_computer_name
184521
184522       salt.modules.win_system.get_domain_workgroup()
184523              Get the domain or workgroup the computer belongs to.
184524
184525              New in version 2015.5.7.
184526
184527
184528              New in version 2015.8.2.
184529
184530
184531              Returns
184532                     The name of the domain or workgroup
184533
184534              Return type
184535                     str
184536
184537              CLI Example:
184538
184539                 salt 'minion-id' system.get_domain_workgroup
184540
184541       salt.modules.win_system.get_hostname()
184542              Get the hostname of the windows minion
184543
184544              New in version 2016.3.0.
184545
184546
184547              Returns
184548                     Returns the hostname of the windows minion
184549
184550              Return type
184551                     str
184552
184553              CLI Example:
184554
184555                 salt 'minion-id' system.get_hostname
184556
184557       salt.modules.win_system.get_pending_component_servicing()
184558              Determine  whether  there  are pending Component Based Servicing
184559              tasks that require a reboot.
184560
184561              New in version 2016.11.0.
184562
184563
184564              Returns
184565                     True if  there  are  pending  Component  Based  Servicing
184566                     tasks, otherwise False
184567
184568              Return type
184569                     bool
184570
184571              CLI Example:
184572
184573                 salt '*' system.get_pending_component_servicing
184574
184575       salt.modules.win_system.get_pending_computer_name()
184576              Get  a  pending  computer  name.  If  the computer name has been
184577              changed, and the change is pending a system reboot,  this  func‐
184578              tion will return the pending computer name. Otherwise, None will
184579              be returned. If there was an error retrieving the  pending  com‐
184580              puter name, False will be returned, and an error message will be
184581              logged to the minion log.
184582
184583              Returns
184584                     Returns the pending name if pending restart. Returns None
184585                     if not pending restart.
184586
184587              Return type
184588                     str
184589
184590              CLI Example:
184591
184592                 salt 'minion-id' system.get_pending_computer_name
184593
184594       salt.modules.win_system.get_pending_domain_join()
184595              Determine  whether  there  is  a pending domain join action that
184596              requires a reboot.
184597
184598              New in version 2016.11.0.
184599
184600
184601              Returns
184602                     True if there is a pending domain join action,  otherwise
184603                     False
184604
184605              Return type
184606                     bool
184607
184608              CLI Example:
184609
184610                 salt '*' system.get_pending_domain_join
184611
184612       salt.modules.win_system.get_pending_file_rename()
184613              Determine  whether there are pending file rename operations that
184614              require a reboot.
184615
184616              New in version 2016.11.0.
184617
184618
184619              Returns
184620                     True if there are pending file rename operations,  other‐
184621                     wise False
184622
184623              Return type
184624                     bool
184625
184626              CLI Example:
184627
184628                 salt '*' system.get_pending_file_rename
184629
184630       salt.modules.win_system.get_pending_reboot()
184631              Determine whether there is a reboot pending.
184632
184633              New in version 2016.11.0.
184634
184635
184636              Returns
184637                     True if the system is pending reboot, otherwise False
184638
184639              Return type
184640                     bool
184641
184642              CLI Example:
184643
184644                 salt '*' system.get_pending_reboot
184645
184646       salt.modules.win_system.get_pending_servermanager()
184647              Determine  whether  there  are pending Server Manager tasks that
184648              require a reboot.
184649
184650              New in version 2016.11.0.
184651
184652
184653              Returns
184654                     True if there are pending Server Manager tasks, otherwise
184655                     False
184656
184657              Return type
184658                     bool
184659
184660              CLI Example:
184661
184662                 salt '*' system.get_pending_servermanager
184663
184664       salt.modules.win_system.get_pending_update()
184665              Determine  whether  there  are  pending  updates  that require a
184666              reboot.
184667
184668              New in version 2016.11.0.
184669
184670
184671              Returns
184672                     True if there are pending updates, otherwise False
184673
184674              Return type
184675                     bool
184676
184677              CLI Example:
184678
184679                 salt '*' system.get_pending_update
184680
184681       salt.modules.win_system.get_reboot_required_witnessed()
184682              Determine if at any time during the  current  boot  session  the
184683              salt  minion  witnessed  an  event  indicating  that a reboot is
184684              required.
184685
184686              This function will return True if an install completed with exit
184687              code  3010  during  the current boot session and can be extended
184688              where appropriate in the future.
184689
184690              New in version 2016.11.0.
184691
184692
184693              Returns
184694                     True if the Requires reboot registry flag is  set  to  1,
184695                     otherwise False
184696
184697              Return type
184698                     bool
184699
184700              CLI Example:
184701
184702                 salt '*' system.get_reboot_required_witnessed
184703
184704       salt.modules.win_system.get_system_date()
184705              Get the Windows system date
184706
184707              Returns
184708                     Returns the system date
184709
184710              Return type
184711                     str
184712
184713              CLI Example:
184714
184715                 salt '*' system.get_system_date
184716
184717       salt.modules.win_system.get_system_info()
184718              Get system information.
184719
184720              Returns
184721                     Dictionary  containing  information  about  the system to
184722                     include name, description, version, etc...
184723
184724              Return type
184725                     dict
184726
184727              CLI Example:
184728
184729                 salt 'minion-id' system.get_system_info
184730
184731       salt.modules.win_system.get_system_time()
184732              Get the system time.
184733
184734              Returns
184735                     Returns the system time in HH:MM:SS AM/PM format.
184736
184737              Return type
184738                     str
184739
184740              CLI Example:
184741
184742                 salt 'minion-id' system.get_system_time
184743
184744       salt.modules.win_system.halt(timeout=5, in_seconds=False)
184745              Halt a running system.
184746
184747              Parameters
184748
184749                     · timeout (int) -- Number of seconds before  halting  the
184750                       system. Default is 5 seconds.
184751
184752                     · in_seconds (bool) --
184753
184754                       Whether to treat timeout as seconds or minutes.
184755
184756                       New in version 2015.8.0.
184757
184758
184759
184760              Returns
184761                     True if successful, otherwise False
184762
184763              Return type
184764                     bool
184765
184766              CLI Example:
184767
184768                 salt '*' system.halt 5 True
184769
184770       salt.modules.win_system.init(runlevel)
184771              Change  the  system  runlevel  on  sysV  compatible systems. Not
184772              applicable to Windows
184773
184774              CLI Example:
184775
184776                 salt '*' system.init 3
184777
184778       salt.modules.win_system.join_domain(domain,    username=None,     pass‐
184779       word=None, account_ou=None, account_exists=False, restart=False)
184780              Join  a  computer  to  an  Active  Directory  domain. Requires a
184781              reboot.
184782
184783              Parameters
184784
184785                     · domain (str) -- The domain to which the computer should
184786                       be joined, e.g.  example.com
184787
184788                     · username  (str)  --  Username  of  an  account which is
184789                       authorized to join computers to the  specified  domain.
184790                       Needs to be either fully qualified like user@domain.tld
184791                       or simply user
184792
184793                     · password (str) -- Password of the specified user
184794
184795                     · account_ou (str) -- The DN of the OU  below  which  the
184796                       account  for this computer should be created when join‐
184797                       ing      the       domain,       e.g.        ou=comput‐
184798                       ers,ou=departm_432,dc=my-company,dc=com
184799
184800                     · account_exists  (bool)  --  If set to True the computer
184801                       will only  join  the  domain  if  the  account  already
184802                       exists.  If  set  to False the computer account will be
184803                       created if it does not exist, otherwise it will use the
184804                       existing account. Default is False
184805
184806                     · restart (bool) --
184807
184808                       True will restart the computer after a successful join.
184809                       Default is False
184810
184811                       New in version 2015.8.2/2015.5.7.
184812
184813
184814
184815              Returns
184816                     Returns a dictionary if successful, otherwise False
184817
184818              Return type
184819                     dict
184820
184821              CLI Example:
184822
184823                 salt 'minion-id' system.join_domain domain='domain.tld' \
184824                                  username='joinuser' password='joinpassword' \
184825                                  account_ou='ou=clients,ou=org,dc=domain,dc=tld' \
184826                                  account_exists=False, restart=True
184827
184828       salt.modules.win_system.lock()
184829              Lock the workstation.
184830
184831              Returns
184832                     True if successful, otherwise False
184833
184834              Return type
184835                     bool
184836
184837              CLI Example:
184838
184839                 salt 'minion-id' system.lock
184840
184841       salt.modules.win_system.poweroff(timeout=5, in_seconds=False)
184842              Power off a running system.
184843
184844              Parameters
184845
184846                     · timeout (int) -- Number of seconds before powering  off
184847                       the system. Default is 5 seconds.
184848
184849                     · in_seconds (bool) --
184850
184851                       Whether to treat timeout as seconds or minutes.
184852
184853                       New in version 2015.8.0.
184854
184855
184856
184857              Returns
184858                     True if successful, otherwise False
184859
184860              Return type
184861                     bool
184862
184863              CLI Example:
184864
184865                 salt '*' system.poweroff 5
184866
184867       salt.modules.win_system.reboot(timeout=5,             in_seconds=False,
184868       wait_for_reboot=False, only_on_pending_reboot=False)
184869              Reboot a running system.
184870
184871              Parameters
184872
184873                     · timeout (int) -- The number of  minutes/seconds  before
184874                       rebooting the system. Use of minutes or seconds depends
184875                       on the value of in_seconds. Default is 5 minutes.
184876
184877                     · in_seconds (bool) -- .INDENT 2.0
184878
184879                     True will cause the timeout parameter to be in seconds.
184880                       False will be in minutes. Default is False.
184881
184882                     New in version 2015.8.0.
184883
184884
184885
184886              · wait_for_reboot (bool) --
184887
184888                True will sleep for timeout + 30 seconds after reboot has been
184889                initiated. This is useful for use in a highstate. For example,
184890                you may have states that you want  to  apply  only  after  the
184891                reboot.  Default is False.
184892
184893                New in version 2015.8.0.
184894
184895
184896
184897              · only_on_pending_reboot  (bool) -- If this is set to True, then
184898                the reboot will only proceed if the system reports  a  pending
184899                reboot.  Setting  this  parameter to True could be useful when
184900                calling this function from a final housekeeping state intended
184901                to  be executed at the end of a state run (using order: last).
184902                Default is False.
184903
184904       Returns
184905              True if successful (a reboot will occur), otherwise False
184906
184907       Return type
184908              bool
184909
184910       CLI Example:
184911
184912                 salt '*' system.reboot 5
184913                 salt '*' system.reboot 5 True
184914
184915              Invoking this function from a final housekeeping state:
184916
184917                 final_housekeeping:
184918                    module.run:
184919                       - name: system.reboot
184920                       - only_on_pending_reboot: True
184921                       - order: last
184922
184923       salt.modules.win_system.set_computer_desc(desc=None)
184924              Set the Windows computer description
184925
184926              Parameters
184927                     desc (str) -- The computer description
184928
184929              Returns
184930                     Description if successful, otherwise False
184931
184932              Return type
184933                     str
184934
184935              CLI Example:
184936
184937                 salt 'minion-id' system.set_computer_desc 'This computer belongs to Dave!'
184938
184939       salt.modules.win_system.set_computer_name(name)
184940              Set the Windows computer name
184941
184942              Parameters
184943                     name (str) -- The new name to give the computer. Requires
184944                     a reboot to take effect.
184945
184946              Returns
184947                     Returns  a dictionary containing the old and new names if
184948                     successful.  False if not.
184949
184950              Return type
184951                     dict
184952
184953              CLI Example:
184954
184955                 salt 'minion-id' system.set_computer_name 'DavesComputer'
184956
184957       salt.modules.win_system.set_hostname(hostname)
184958              Set the hostname of  the  windows  minion,  requires  a  restart
184959              before this will be updated.
184960
184961              New in version 2016.3.0.
184962
184963
184964              Parameters
184965                     hostname (str) -- The hostname to set
184966
184967              Returns
184968                     True if successful, otherwise False
184969
184970              Return type
184971                     bool
184972
184973              CLI Example:
184974
184975                 salt 'minion-id' system.set_hostname newhostname
184976
184977       salt.modules.win_system.set_reboot_required_witnessed()
184978              This  function is used to remember that an event indicating that
184979              a reboot is required was witnessed. This function relies on  the
184980              salt-minion's  ability to create the following volatile registry
184981              key in the HKLM hive:
184982                 SYSTEM\CurrentControlSet\Services\salt-minion\Volatile-Data
184983
184984              Because this registry key  is  volatile,  it  will  not  persist
184985              beyond the current boot session. Also, in the scope of this key,
184986              the name 'Reboot required' will be assigned the value of 1.
184987
184988              For the time being, this function  is  being  used  whenever  an
184989              install  completes with exit code 3010 and can be extended where
184990              appropriate in the future.
184991
184992              New in version 2016.11.0.
184993
184994
184995              Returns
184996                     True if successful, otherwise False
184997
184998              Return type
184999                     bool
185000
185001              CLI Example:
185002
185003                 salt '*' system.set_reboot_required_witnessed
185004
185005       salt.modules.win_system.set_system_date(newdate)
185006              Set the Windows system date. Use <mm-dd-yy> format for the date.
185007
185008              Parameters
185009                     newdate (str) --
185010
185011                     The date to set. Can be any of the following formats
185012
185013                     · YYYY-MM-DD
185014
185015                     · MM-DD-YYYY
185016
185017                     · MM-DD-YY
185018
185019                     · MM/DD/YYYY
185020
185021                     · MM/DD/YY
185022
185023                     · YYYY/MM/DD
185024
185025
185026              Returns
185027                     True if successful, otherwise False
185028
185029              Return type
185030                     bool
185031
185032              CLI Example:
185033
185034                 salt '*' system.set_system_date '03-28-13'
185035
185036       salt.modules.win_system.set_system_date_time(years=None,   months=None,
185037       days=None, hours=None, minutes=None, seconds=None)
185038              Set the system date and time. Each argument is an element of the
185039              date, but not required. If an element is not passed, the current
185040              system  value for that element will be used. For example, if you
185041              don't pass the year, the current system year will be used. (Used
185042              by set_system_date and set_system_time)
185043
185044              Parameters
185045
185046                     · years (int) -- Years digit, ie: 2015
185047
185048                     · months (int) -- Months digit: 1 - 12
185049
185050                     · days (int) -- Days digit: 1 - 31
185051
185052                     · hours (int) -- Hours digit: 0 - 23
185053
185054                     · minutes (int) -- Minutes digit: 0 - 59
185055
185056                     · seconds (int) -- Seconds digit: 0 - 59
185057
185058              Returns
185059                     True if successful, otherwise False
185060
185061              Return type
185062                     bool
185063
185064              CLI Example:
185065
185066                 salt '*' system.set_system_date_ time 2015 5 12 11 37 53
185067
185068       salt.modules.win_system.set_system_time(newtime)
185069              Set the system time.
185070
185071              Parameters
185072                     newtime (str) --
185073
185074                     The time to set. Can be any of the following formats:
185075
185076                     · HH:MM:SS AM/PM
185077
185078                     · HH:MM AM/PM
185079
185080                     · HH:MM:SS (24 hour)
185081
185082                     · HH:MM (24 hour)
185083
185084
185085              Returns
185086                     True if successful, otherwise False
185087
185088              Return type
185089                     bool
185090
185091              CLI Example:
185092
185093                 salt 'minion-id' system.set_system_time 12:01
185094
185095       salt.modules.win_system.shutdown(message=None,               timeout=5,
185096       force_close=True,   reboot=False,    in_seconds=False,    only_on_pend‐
185097       ing_reboot=False)
185098              Shutdown a running system.
185099
185100              Parameters
185101
185102                     · message  (str)  --  The  message to display to the user
185103                       before shutting down.
185104
185105                     · timeout (int) --
185106
185107                       The length of time (in seconds) that the shutdown  dia‐
185108                       log  box  should be displayed. While this dialog box is
185109                       displayed, the shutdown can be aborted using  the  sys‐
185110                       tem.shutdown_abort function.
185111
185112                       If timeout is not zero, InitiateSystemShutdown displays
185113                       a dialog box on the specified computer. The dialog  box
185114                       displays  the name of the user who called the function,
185115                       the message specified by the lpMessage  parameter,  and
185116                       prompts  the user to log off. The dialog box beeps when
185117                       it is created and remains on top of other windows (sys‐
185118                       tem modal). The dialog box can be moved but not closed.
185119                       A timer counts down the remaining time before the shut‐
185120                       down occurs.
185121
185122                       If timeout is zero, the computer shuts down immediately
185123                       without displaying the dialog box and cannot be stopped
185124                       by system.shutdown_abort.
185125
185126                       Default is 5 minutes
185127
185128
185129                     · in_seconds (bool) -- .INDENT 2.0
185130
185131                     True will cause the timeout parameter to be in seconds.
185132                       False will be in minutes. Default is False.
185133
185134                     New in version 2015.8.0.
185135
185136
185137
185138              · force_close  (bool) -- True will force close all open applica‐
185139                tions. False will display a dialog box instructing the user to
185140                close open applications. Default is True.
185141
185142              · reboot  (bool) -- True restarts the computer immediately after
185143                shutdown. False powers down the system. Default is False.
185144
185145              · only_on_pending_reboot (bool) -- If this is set to True,  then
185146                the shutdown will only proceed if the system reports a pending
185147                reboot. To optionally shutdown in a highstate, consider  using
185148                the shutdown state instead of this module.
185149
185150              · only_on_pending_reboot  -- If True the shutdown will only pro‐
185151                ceed if there is a reboot pending.  False  will  shutdown  the
185152                system. Default is False.
185153
185154       Returns
185155              True  if successful (a shutdown or reboot will occur), otherwise
185156              False
185157
185158       Return type
185159              bool
185160
185161       CLI Example:
185162
185163                 salt '*' system.shutdown "System will shutdown in 5 minutes"
185164
185165       salt.modules.win_system.shutdown_abort()
185166              Abort a shutdown. Only available while the dialog box  is  being
185167              displayed  to the user. Once the shutdown has initiated, it can‐
185168              not be aborted.
185169
185170              Returns
185171                     True if successful, otherwise False
185172
185173              Return type
185174                     bool
185175
185176              CLI Example:
185177
185178                 salt 'minion-id' system.shutdown_abort
185179
185180       salt.modules.win_system.shutdown_hard()
185181              Shutdown a running system with no timeout or warning.
185182
185183              Returns
185184                     True if successful, otherwise False
185185
185186              Return type
185187                     bool
185188
185189              CLI Example:
185190
185191                 salt '*' system.shutdown_hard
185192
185193       salt.modules.win_system.start_time_service()
185194              Start the Windows time service
185195
185196              Returns
185197                     True if successful, otherwise False
185198
185199              Return type
185200                     bool
185201
185202              CLI Example:
185203
185204                 salt '*' system.start_time_service
185205
185206       salt.modules.win_system.stop_time_service()
185207              Stop the Windows time service
185208
185209              Returns
185210                     True if successful, otherwise False
185211
185212              Return type
185213                     bool
185214
185215              CLI Example:
185216
185217                 salt '*' system.stop_time_service
185218
185219       salt.modules.win_system.unjoin_domain(username=None,     password=None,
185220       domain=None, workgroup=u'WORKGROUP', disable=False, restart=False)
185221              Unjoin  a  computer  from an Active Directory Domain. Requires a
185222              restart.
185223
185224              Parameters
185225
185226                     · username (str) --  Username  of  an  account  which  is
185227                       authorized  to  manage computer accounts on the domain.
185228                       Needs to be a fully qualified name like user@domain.tld
185229                       or domain.tld\user. If the domain is not specified, the
185230                       passed domain will be used.  If  the  computer  account
185231                       doesn't  need  to  be  disabled  after  the computer is
185232                       unjoined, this can be None.
185233
185234                     · password (str) -- The password of the specified user
185235
185236                     · domain (str) -- The domain from  which  to  unjoin  the
185237                       computer. Can be None
185238
185239                     · workgroup (str) --
185240
185241                       The workgroup to join the computer to. Default is WORK‐
185242                       GROUP
185243
185244                       New in version 2015.8.2/2015.5.7.
185245
185246
185247
185248                     · disable (bool) -- True to disable the computer  account
185249                       in Active Directory.  Default is False
185250
185251                     · restart (bool) --
185252
185253                       True will restart the computer after successful unjoin.
185254                       Default is False
185255
185256                       New in version 2015.8.2/2015.5.7.
185257
185258
185259
185260              Returns
185261                     Returns a dictionary if successful, otherwise False
185262
185263              Return type
185264                     dict
185265
185266              CLI Example:
185267
185268                 salt 'minion-id' system.unjoin_domain restart=True
185269
185270                 salt 'minion-id' system.unjoin_domain username='unjoinuser' \
185271                                  password='unjoinpassword' disable=True \
185272                                  restart=True
185273
185274   salt.modules.win_task module
185275       Windows Task Scheduler Module
185276
185277       A module for working with the Windows Task Scheduler.  You can add  and
185278       edit  existing tasks.  You can add and clear triggers and actions.  You
185279       can list all tasks, folders, triggers, and actions.
185280
185281       salt.modules.win_task.add_action(name=None,             location=u'\\',
185282       action_type=u'Execute', **kwargs)
185283              Add an action to a task.
185284
185285              Parameters
185286
185287                     · name  (str) -- The name of the task to which to add the
185288                       action.
185289
185290                     · location (str) -- A string value representing the loca‐
185291                       tion of the task.  Default is '\' which is the root for
185292                       the task scheduler (C:WindowsSystem32tasks).
185293
185294                     · action_type (str) --
185295
185296                       The type of action  to  add.  There  are  three  action
185297                       types.  Each  one requires its own set of Keyword Argu‐
185298                       ments (kwargs). Valid values are:
185299
185300                       · Execute
185301
185302                       · Email
185303
185304                       · Message
185305
185306
185307              Required arguments for each action_type:
185308
185309              Execute - Execute a command or an executable
185310
185311              Parameters
185312
185313                     · cmd (str) -- (required) The  command  /  executable  to
185314                       run.
185315
185316                     · arguments (str) --
185317
185318                       (optional) Arguments to be passed to the command / exe‐
185319                       cutable. To launch a script the first command will need
185320                       to  be  the interpreter for the script. For example, to
185321                       run a vbscript you would pass cscript.exe  in  the  cmd
185322                       parameter  and pass the script in the arguments parame‐
185323                       ter as follows:
185324
185325                       · cmd='cscript.exe' arguments='c:\scripts\myscript.vbs'
185326
185327                       Batch files do not  need  an  interpreter  and  may  be
185328                       passed to the cmd parameter directly.
185329
185330
185331                     · start_in (str) -- (optional) The current working direc‐
185332                       tory for the command.
185333
185334              Email - Send and email. Requires server, from, and to or cc.
185335
185336              Parameters
185337
185338                     · from (str) -- The sender
185339
185340                     · reply_to (str) -- Who to reply to
185341
185342                     · to (str) -- The recipient
185343
185344                     · cc (str) -- The CC recipient
185345
185346                     · bcc (str) -- The BCC recipient
185347
185348                     · subject (str) -- The subject of the email
185349
185350                     · body (str) -- The Message Body of the email
185351
185352                     · server (str) -- The server used to send the email
185353
185354                     · attachments (list) -- A list of attachments. These will
185355                       be  the  paths  to  the  files  to  attach. ie: attach‐
185356                       ments="['C:\attachment1.txt', 'C:\attachment2.txt']"
185357
185358              Message - Display a dialog box. The task must  be  set  to  "Run
185359              only when user is logged on" in order for the dialog box to dis‐
185360              play. Both parameters are required.
185361
185362              Parameters
185363
185364                     · title (str) -- The dialog box title.
185365
185366                     · message (str) -- The dialog box message body
185367
185368              Returns
185369                     True if successful, False if unsuccessful
185370
185371              Return type
185372                     bool
185373
185374              CLI Example:
185375
185376                 salt 'minion-id' task.add_action <task_name> cmd='del /Q /S C:\\Temp'
185377
185378       salt.modules.win_task.add_trigger(name=None,   location=u'\\',    trig‐
185379       ger_type=None,  trigger_enabled=True, start_date=None, start_time=None,
185380       end_date=None, end_time=None, random_delay=None,  repeat_interval=None,
185381       repeat_duration=None,     repeat_stop_at_duration_end=False,     execu‐
185382       tion_time_limit=None, delay=None, **kwargs)
185383
185384              Parameters
185385
185386                     · name (str) -- The name of the task to which to add  the
185387                       trigger.
185388
185389                     · location (str) -- A string value representing the loca‐
185390                       tion of the task.  Default is '\' which is the root for
185391                       the task scheduler (C:WindowsSystem32tasks).
185392
185393                     · trigger_type  (str)  --  The type of trigger to create.
185394                       This is defined when the trigger is created and  cannot
185395                       be changed later. Options are as follows:
185396
185397              · Event
185398
185399              · Once
185400
185401              · Daily
185402
185403              · Weekly
185404
185405              · Monthly
185406
185407              · MonthlyDay
185408
185409              · OnIdle
185410
185411              · OnTaskCreation
185412
185413              · OnBoot
185414
185415              · OnLogon
185416
185417              · OnSessionChange
185418
185419              Parameters
185420
185421                     · trigger_enabled  (bool) -- Boolean value that indicates
185422                       whether the trigger is enabled.
185423
185424                     · start_date (str) -- The date when the trigger is  acti‐
185425                       vated.  If no value is passed, the current date will be
185426                       used. Can be one of the following formats:
185427
185428              · %Y-%m-%d
185429
185430              · %m-%d-%y
185431
185432              · %m-%d-%Y
185433
185434              · %m/%d/%y
185435
185436              · %m/%d/%Y
185437
185438              · %Y/%m/%d
185439
185440              Parameters
185441                     start_time (str) -- The time when the  trigger  is  acti‐
185442                     vated.  If no value is passed, midnight will be used. Can
185443                     be one of the following formats:
185444
185445              · %I:%M:%S %p
185446
185447              · %I:%M %p
185448
185449              · %H:%M:%S
185450
185451              · %H:%M
185452
185453              Parameters
185454                     end_date (str) -- The date when the  trigger  is  deacti‐
185455                     vated.  The  trigger  cannot  start  the task after it is
185456                     deactivated. Can be one of the following formats:
185457
185458              · %Y-%m-%d
185459
185460              · %m-%d-%y
185461
185462              · %m-%d-%Y
185463
185464              · %m/%d/%y
185465
185466              · %m/%d/%Y
185467
185468              · %Y/%m/%d
185469
185470              Parameters
185471                     end_time (str) -- The time when the  trigger  is  deacti‐
185472                     vated. If the this is not passed with end_date it will be
185473                     set to midnight. Can be one of the following formats:
185474
185475              · %I:%M:%S %p
185476
185477              · %I:%M %p
185478
185479              · %H:%M:%S
185480
185481              · %H:%M
185482
185483              Parameters
185484                     random_delay (str) -- The delay  time  that  is  randomly
185485                     added to the start time of the trigger. Valid values are:
185486
185487              · 30 seconds
185488
185489              · 1 minute
185490
185491              · 30 minutes
185492
185493              · 1 hour
185494
185495              · 8 hours
185496
185497              · 1 day
185498
185499              Parameters
185500                     repeat_interval  (str) -- The amount of time between each
185501                     restart of the task. Valid values are:
185502
185503              · 5 minutes
185504
185505              · 10 minutes
185506
185507              · 15 minutes
185508
185509              · 30 minutes
185510
185511              · 1 hour
185512
185513              Parameters
185514                     repeat_duration  (str)  --  How  long  the   pattern   is
185515                     repeated. Valid values are:
185516
185517              · Indefinitely
185518
185519              · 15 minutes
185520
185521              · 30 minutes
185522
185523              · 1 hour
185524
185525              · 12 hours
185526
185527              · 1 day
185528
185529              Parameters
185530
185531                     · repeat_stop_at_duration_end  (bool)  --  Boolean  value
185532                       that indicates if a running instance  of  the  task  is
185533                       stopped at the end of the repetition pattern duration.
185534
185535                     · execution_time_limit  (str)  --  The  maximum amount of
185536                       time that the task launched by the trigger  is  allowed
185537                       to run. Valid values are:
185538
185539              · 30 minutes
185540
185541              · 1 hour
185542
185543              · 2 hours
185544
185545              · 4 hours
185546
185547              · 8 hours
185548
185549              · 12 hours
185550
185551              · 1 day
185552
185553              · 3 days (default)
185554
185555              Parameters
185556                     delay (str) --
185557
185558                     The  time the trigger waits after its activation to start
185559                     the task.  Valid values are:
185560
185561                     · 15 seconds
185562
185563                     · 30 seconds
185564
185565                     · 1 minute
185566
185567                     · 30 minutes
185568
185569                     · 1 hour
185570
185571                     · 8 hours
185572
185573                     · 1 day
185574
185575
185576              kwargs
185577
185578              There are optional keyword arguments determined by the  type  of
185579              trigger being defined. They are as follows:
185580
185581              Event
185582
185583              Parameters
185584                     subscription  (str)  -- An event definition in xml format
185585                     that fires the trigger. The easiest way to get this would
185586                     is  to create an event in windows task scheduler and then
185587                     copy the xml text.
185588
185589              Once
185590
185591              No special parameters required.
185592
185593              Daily
185594
185595              Parameters
185596                     days_interval (int) -- The interval between days  in  the
185597                     schedule.  An interval of 1 produces a daily schedule. An
185598                     interval of 2 produces an every-other day schedule. If no
185599                     interval  is  specified, 1 is used. Valid entries are 1 -
185600                     999.
185601
185602              Weekly
185603
185604              Parameters
185605                     weeks_interval (int) -- The interval between weeks in the
185606                     schedule.   An  interval of 1 produces a weekly schedule.
185607                     An interval of 2 produces an every-other  week  schedule.
185608                     If  no  interval  is specified, 1 is used.  Valid entries
185609                     are 1 - 52.
185610
185611              param list days_of_week: Sets the days of the week on which  the
185612              task
185613                     runs.  Should  be a list. ie: ['Monday','Wednesday','Fri‐
185614                     day']. Valid entries are the names of  the  days  of  the
185615                     week.
185616
185617              Monthly
185618
185619              Parameters
185620
185621                     · months_of_year  (list)  --  Sets the months of the year
185622                       during which the task  runs.  Should  be  a  list.  ie:
185623                       ['January','July']. Valid entries are the full names of
185624                       all the months.
185625
185626                     · days_of_month (list) -- Sets the days of the month dur‐
185627                       ing  which the task runs. Should be a list. ie: [1, 15,
185628                       'Last']. Options are all days of the month 1 -  31  and
185629                       the word 'Last' to indicate the last day of the month.
185630
185631                     · last_day_of_month  (bool)  --  Boolean value that indi‐
185632                       cates that the task runs on the last day of  the  month
185633                       regardless of the actual date of that day.
185634
185635              You  can  set  the  task  to run on the last day of the month by
185636              either including the word 'Last' in the list of days, or setting
185637              the parameter 'last_day_of_month` equal to True.
185638
185639              MonthlyDay
185640
185641              Parameters
185642
185643                     · months_of_year  (list)  --  Sets the months of the year
185644                       during which the task  runs.  Should  be  a  list.  ie:
185645                       ['January','July']. Valid entries are the full names of
185646                       all the months.
185647
185648                     · weeks_of_month (list) -- Sets the weeks  of  the  month
185649                       during  which  the  task  runs.  Should  be a list. ie:
185650                       ['First','Third']. Valid options are:
185651
185652              · First
185653
185654              · Second
185655
185656              · Third
185657
185658              · Fourth
185659
185660              Parameters
185661
185662                     · last_week_of_month (bool) -- Boolean value  that  indi‐
185663                       cates that the task runs on the last week of the month.
185664
185665                     · days_of_week (list) -- Sets the days of the week during
185666                       which the task runs.  Should  be  a  list.  ie:  ['Mon‐
185667                       day','Wednesday','Friday'].    Valid  entries  are  the
185668                       names of the days of the week.
185669
185670              OnIdle No special parameters required.
185671
185672              OnTaskCreation No special parameters required.
185673
185674              OnBoot No special parameters required.
185675
185676              OnLogon No special parameters required.
185677
185678              OnSessionChange
185679
185680              Parameters
185681
185682                     · session_user_name (str) -- Sets the user for the Termi‐
185683                       nal  Server  session.  When  a  session state change is
185684                       detected for this user, a task is  started.  To  detect
185685                       session  status  change  for any user, do not pass this
185686                       parameter.
185687
185688                     · state_change (str) -- Sets the kind of Terminal  Server
185689                       session  change that would trigger a task launch. Valid
185690                       options are:
185691
185692              · ConsoleConnect: When you connect to  a  user  session  (switch
185693                users)
185694
185695              · ConsoleDisconnect:  When you disconnect a user session (switch
185696                users)
185697
185698              · RemoteConnect: When a user connects via Remote Desktop
185699
185700              · RemoteDisconnect: When a user disconnects via Remote Desktop
185701
185702              · SessionLock: When the workstation is locked
185703
185704              · SessionUnlock: When the workstation is unlocked
185705
185706              NOTE:
185707                 Arguments are parsed by the YAML loader and  are  subject  to
185708                 yaml's idiosyncrasies. Therefore, time values in some formats
185709                 (%H:%M:%S and %H:%M) should to be quoted. See  YAML  IDIOSYN‐
185710                 CRASIES for more details.
185711
185712              Returns
185713                     True if successful, False if unsuccessful
185714
185715              Return type
185716                     bool
185717
185718              CLI Example:
185719
185720                 salt 'minion-id' task.add_trigger <task_name> trigger_type=Once trigger_enabled=True start_date=2016/12/1 start_time='"12:01"'
185721
185722       salt.modules.win_task.clear_triggers(name, location=u'\\')
185723              Remove all triggers from the task.
185724
185725              Parameters
185726
185727                     · name  (str) -- The name of the task from which to clear
185728                       all triggers.
185729
185730                     · location (str) -- A string value representing the loca‐
185731                       tion of the task.  Default is '\' which is the root for
185732                       the task scheduler (C:WindowsSystem32tasks).
185733
185734              Returns
185735                     True if successful, False if unsuccessful
185736
185737              Return type
185738                     bool
185739
185740              CLI Example:
185741
185742                 salt 'minion-id' task.clear_trigger <task_name>
185743
185744       salt.modules.win_task.create_folder(name, location=u'\\')
185745              Create a folder in which to create tasks.
185746
185747              Parameters
185748
185749                     · name (str) -- The name of the folder. This will be dis‐
185750                       played in the task scheduler.
185751
185752                     · location (str) -- A string value representing the loca‐
185753                       tion in which to create  the  folder.  Default  is  '\'
185754                       which is the root for the task scheduler (C:WindowsSys‐
185755                       tem32tasks).
185756
185757              Returns
185758                     True if successful, False if unsuccessful
185759
185760              Return type
185761                     bool
185762
185763              CLI Example:
185764
185765                 salt 'minion-id' task.create_folder <folder_name>
185766
185767       salt.modules.win_task.create_task(name,                 location=u'\\',
185768       user_name=u'System', password=None, force=False, **kwargs)
185769              Create  a new task in the designated location. This function has
185770              many keyword arguments that are not listed here. For  additional
185771              arguments see:
185772
185773              · edit_task()
185774
185775              · add_action()
185776
185777              · add_trigger()
185778
185779              Parameters
185780
185781                     · name  (str)  -- The name of the task. This will be dis‐
185782                       played in the task scheduler.
185783
185784                     · location (str) -- A string value representing the loca‐
185785                       tion  in which to create the task. Default is '\' which
185786                       is the  root  for  the  task  scheduler  (C:WindowsSys‐
185787                       tem32tasks).
185788
185789                     · user_name  (str) -- The user account under which to run
185790                       the task. To specify the 'System'  account,  use  'Sys‐
185791                       tem'. The password will be ignored.
185792
185793                     · password  (str)  -- The password to use for authentica‐
185794                       tion. This should set the task to run whether the  user
185795                       is logged in or not, but is currently not working.
185796
185797                     · force  (bool)  --  If  the  task  exists, overwrite the
185798                       existing task.
185799
185800              Returns
185801                     True if successful, False if unsuccessful
185802
185803              Return type
185804                     bool
185805
185806              CLI Example:
185807
185808                 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
185809
185810       salt.modules.win_task.create_task_from_xml(name,        location=u'\\',
185811       xml_text=None, xml_path=None, user_name=u'System', password=None)
185812              Create  a task based on XML. Source can be a file or a string of
185813              XML.
185814
185815              Parameters
185816
185817                     · name (str) -- The name of the task. This will  be  dis‐
185818                       played in the task scheduler.
185819
185820                     · location (str) -- A string value representing the loca‐
185821                       tion in which to create the task. Default is '\'  which
185822                       is  the  root  for  the  task  scheduler (C:WindowsSys‐
185823                       tem32tasks).
185824
185825                     · xml_text (str) -- A string of xml representing the task
185826                       to  be created.  This will be overridden by xml_path if
185827                       passed.
185828
185829                     · xml_path (str) -- The path to an XML file on the  local
185830                       system  containing  the xml that defines the task. This
185831                       will override xml_text
185832
185833                     · user_name (str) -- The user account under which to  run
185834                       the  task.  To  specify the 'System' account, use 'Sys‐
185835                       tem'. The password will be ignored.
185836
185837                     · password (str) -- The password to use  for  authentica‐
185838                       tion.  This should set the task to run whether the user
185839                       is logged in or not, but is currently not working.
185840
185841              Returns
185842                     True if successful, False if unsuccessful
185843
185844              Return type
185845                     bool
185846
185847              CLI Example:
185848
185849                 salt 'minion-id' task.create_task_from_xml <task_name> xml_path=C:\task.xml
185850
185851       salt.modules.win_task.delete_folder(name, location=u'\\')
185852              Delete a folder from the task scheduler.
185853
185854              Parameters
185855
185856                     · name (str) -- The name of the folder to delete.
185857
185858                     · location (str) -- A string value representing the loca‐
185859                       tion  of  the folder.  Default is '\' which is the root
185860                       for the task scheduler (C:WindowsSystem32tasks).
185861
185862              Returns
185863                     True if successful, False if unsuccessful
185864
185865              Return type
185866                     bool
185867
185868              CLI Example:
185869
185870                 salt 'minion-id' task.delete_folder <folder_name>
185871
185872       salt.modules.win_task.delete_task(name, location=u'\\')
185873              Delete a task from the task scheduler.
185874
185875              Parameters
185876
185877                     · name (str) -- The name of the task to delete.
185878
185879                     · location (str) -- A string value representing the loca‐
185880                       tion of the task.  Default is '\' which is the root for
185881                       the task scheduler (C:WindowsSystem32tasks).
185882
185883              Returns
185884                     True if successful, False if unsuccessful
185885
185886              Return type
185887                     bool
185888
185889              CLI Example:
185890
185891                 salt 'minion-id' task.delete_task <task_name>
185892
185893       salt.modules.win_task.edit_task(name=None,              location=u'\\',
185894       user_name=None,  password=None,  description=None,  enabled=None,  hid‐
185895       den=None, run_if_idle=None, idle_duration=None, idle_wait_timeout=None,
185896       idle_stop_on_end=None, idle_restart=None, ac_only=None, stop_if_on_bat‐
185897       teries=None,  wake_to_run=None,  run_if_network=None,  network_id=None,
185898       network_name=None,  allow_demand_start=None, start_when_available=None,
185899       restart_every=None,     restart_count=3,     execution_time_limit=None,
185900       force_stop=None, delete_after=None, multiple_instances=None, **kwargs)
185901              Edit  the  parameters  of a task. Triggers and Actions cannot be
185902              edited yet.
185903
185904              Parameters
185905
185906                     · name (str) -- The name of the task. This will  be  dis‐
185907                       played in the task scheduler.
185908
185909                     · location (str) -- A string value representing the loca‐
185910                       tion in which to create the task. Default is '\'  which
185911                       is  the  root  for  the  task  scheduler (C:WindowsSys‐
185912                       tem32tasks).
185913
185914                     · user_name (str) -- The user account under which to  run
185915                       the  task.  To  specify the 'System' account, use 'Sys‐
185916                       tem'. The password will be ignored.
185917
185918                     · password (str) -- The password to use  for  authentica‐
185919                       tion.  This should set the task to run whether the user
185920                       is logged in or not, but is currently not working.
185921
185922              NOTE:
185923                 The combination of user_name and password determine  how  the
185924                 task  runs.   For example, if a username is passed without at
185925                 password the task will only run when the user is  logged  in.
185926                 If a password is passed as well the task will run whether the
185927                 user is logged on or not. If you pass 'System' as  the  user‐
185928                 name  the  task  will run as the system account (the password
185929                 parameter is ignored.
185930
185931              Parameters
185932
185933                     · description (str) -- A  string  representing  the  text
185934                       that  will be displayed in the description field in the
185935                       task scheduler.
185936
185937                     · enabled (bool) -- A boolean value representing  whether
185938                       or not the task is enabled.
185939
185940                     · hidden  (bool)  -- A boolean value representing whether
185941                       or not the task is hidden.
185942
185943                     · run_if_idle (bool) -- Boolean value that indicates that
185944                       the  Task  Scheduler will run the task only if the com‐
185945                       puter is in an idle state.
185946
185947                     · idle_duration (str)  --  A  value  that  indicates  the
185948                       amount  of  time  that  the computer must be in an idle
185949                       state before the task is run. Valid values are:
185950
185951              · 1 minute
185952
185953              · 5 minutes
185954
185955              · 10 minutes
185956
185957              · 15 minutes
185958
185959              · 30 minutes
185960
185961              · 1 hour
185962
185963              Parameters
185964                     idle_wait_timeout (str) -- A  value  that  indicates  the
185965                     amount  of  time that the Task Scheduler will wait for an
185966                     idle condition to occur. Valid values are:
185967
185968              · Do not wait
185969
185970              · 1 minute
185971
185972              · 5 minutes
185973
185974              · 10 minutes
185975
185976              · 15 minutes
185977
185978              · 30 minutes
185979
185980              · 1 hour
185981
185982              · 2 hours
185983
185984              Parameters
185985
185986                     · idle_stop_on_end (bool) -- Boolean value that indicates
185987                       that  the Task Scheduler will terminate the task if the
185988                       idle condition ends before the task is completed.
185989
185990                     · idle_restart (bool) --  Boolean  value  that  indicates
185991                       whether  the task is restarted when the computer cycles
185992                       into an idle condition more than once.
185993
185994                     · ac_only (bool) -- Boolean value that indicates that the
185995                       Task  Scheduler  will  launch the task only while on AC
185996                       power.
185997
185998                     · stop_if_on_batteries (bool) -- Boolean value that indi‐
185999                       cates  that  the  task  will be stopped if the computer
186000                       begins to run on battery power.
186001
186002                     · wake_to_run (bool) -- Boolean value that indicates that
186003                       the  Task  Scheduler  will wake the computer when it is
186004                       time to run the task.
186005
186006                     · run_if_network (bool) -- Boolean value  that  indicates
186007                       that  the  Task Scheduler will run the task only when a
186008                       network is available.
186009
186010                     · network_id (guid) -- GUID value that identifies a  net‐
186011                       work profile.
186012
186013                     · network_name  (str)  -- Sets the name of a network pro‐
186014                       file. The name is used for display purposes.
186015
186016                     · allow_demand_start (bool) -- Boolean value  that  indi‐
186017                       cates  that the task can be started by using either the
186018                       Run command or the Context menu.
186019
186020                     · start_when_available (bool) -- Boolean value that indi‐
186021                       cates that the Task Scheduler can start the task at any
186022                       time after its scheduled time has passed.
186023
186024                     · restart_every -- A value that  specifies  the  interval
186025                       between task restart attempts. Valid values are:
186026
186027              · False (to disable)
186028
186029              · 1 minute
186030
186031              · 5 minutes
186032
186033              · 10 minutes
186034
186035              · 15 minutes
186036
186037              · 30 minutes
186038
186039              · 1 hour
186040
186041              · 2 hours
186042
186043              Parameters
186044
186045                     · restart_count  (int)  --  The  number of times the Task
186046                       Scheduler will attempt to restart the task. Valid  val‐
186047                       ues are integers 1 - 999.
186048
186049                     · execution_time_limit  --  The amount of time allowed to
186050                       complete the task. Valid values are:
186051
186052              · False (to disable)
186053
186054              · 1 hour
186055
186056              · 2 hours
186057
186058              · 4 hours
186059
186060              · 8 hours
186061
186062              · 12 hours
186063
186064              · 1 day
186065
186066              · 3 days
186067
186068              Parameters
186069
186070                     · force_stop (bool) -- Boolean value that indicates  that
186071                       the task may be terminated by using TerminateProcess.
186072
186073                     · delete_after -- The amount of time that the Task Sched‐
186074                       uler will  wait  before  deleting  the  task  after  it
186075                       expires.  Requires  a  trigger with an expiration date.
186076                       Valid values are:
186077
186078              · False (to disable)
186079
186080              · Immediately
186081
186082              · 30 days
186083
186084              · 90 days
186085
186086              · 180 days
186087
186088              · 365 days
186089
186090              Parameters
186091                     multiple_instances (str) -- Sets the policy that  defines
186092                     how  the  Task Scheduler deals with multiple instances of
186093                     the task. Valid values are:
186094
186095              · Parallel
186096
186097              · Queue
186098
186099              · No New Instance
186100
186101              · Stop Existing
186102
186103              Returns
186104                     True if successful, False if unsuccessful
186105
186106              Return type
186107                     bool
186108
186109              CLI Example:
186110
186111                 salt 'minion-id' task.edit_task <task_name> description='This task is awesome'
186112
186113       salt.modules.win_task.info(name, location=u'\\')
186114              Get the details about a task in the task scheduler.
186115
186116              Parameters
186117
186118                     · name (str) -- The name of the task for which to  return
186119                       the status
186120
186121                     · location (str) -- A string value representing the loca‐
186122                       tion of the task.  Default is '\' which is the root for
186123                       the task scheduler (C:WindowsSystem32tasks).
186124
186125              Returns
186126
186127
186128              Return type
186129                     dict
186130
186131              CLI Example:
186132
186133                 salt 'minion-id' task.info <task_name>
186134
186135       salt.modules.win_task.list_actions(name, location=u'\\')
186136              List  all  actions that pertain to a task in the specified loca‐
186137              tion.
186138
186139              Parameters
186140
186141                     · name (str) -- The name  of  the  task  for  which  list
186142                       actions.
186143
186144                     · location (str) -- A string value representing the loca‐
186145                       tion of the task from which to list actions. Default is
186146                       '\'  which  is  the root for the task scheduler (C:Win‐
186147                       dowsSystem32tasks).
186148
186149              Returns
186150                     Returns a list of actions.
186151
186152              Return type
186153                     list
186154
186155              CLI Example:
186156
186157                 salt 'minion-id' task.list_actions <task_name>
186158
186159       salt.modules.win_task.list_folders(location=u'\\')
186160              List all folders located in a  specific  location  in  the  task
186161              scheduler.
186162
186163              Parameters
186164                     location  (str) -- A string value representing the folder
186165                     from which you want to list tasks. Default is  '\'  which
186166                     is   the  root  for  the  task  scheduler  (C:WindowsSys‐
186167                     tem32tasks).
186168
186169              Returns
186170                     Returns a list of folders.
186171
186172              Return type
186173                     list
186174
186175              CLI Example:
186176
186177                 salt 'minion-id' task.list_folders
186178
186179       salt.modules.win_task.list_tasks(location=u'\\')
186180              List all tasks located in a specific location in the task sched‐
186181              uler.
186182
186183              Parameters
186184                     location  (str) -- A string value representing the folder
186185                     from which you want to list tasks. Default is  '\'  which
186186                     is   the  root  for  the  task  scheduler  (C:WindowsSys‐
186187                     tem32tasks).
186188
186189              Returns
186190                     Returns a list of tasks.
186191
186192              Return type
186193                     list
186194
186195              CLI Example:
186196
186197                 salt 'minion-id' task.list_tasks
186198
186199       salt.modules.win_task.list_triggers(name, location=u'\\')
186200              List all triggers that pertain to a task in the specified  loca‐
186201              tion.
186202
186203              Parameters
186204
186205                     · name (str) -- The name of the task for which list trig‐
186206                       gers.
186207
186208                     · location (str) -- A string value representing the loca‐
186209                       tion  of  the task from which to list triggers. Default
186210                       is '\' which is the root for the task scheduler (C:Win‐
186211                       dowsSystem32tasks).
186212
186213              Returns
186214                     Returns a list of triggers.
186215
186216              Return type
186217                     list
186218
186219              CLI Example:
186220
186221                 salt 'minion-id' task.list_triggers <task_name>
186222
186223       salt.modules.win_task.run(name, location=u'\\')
186224              Run a scheduled task manually.
186225
186226              Parameters
186227
186228                     · name (str) -- The name of the task to run.
186229
186230                     · location (str) -- A string value representing the loca‐
186231                       tion of the task.  Default is '\' which is the root for
186232                       the task scheduler (C:WindowsSystem32tasks).
186233
186234              Returns
186235                     True if successful, False if unsuccessful
186236
186237              Return type
186238                     bool
186239
186240              CLI Example:
186241
186242                 salt 'minion-id' task.list_run <task_name>
186243
186244       salt.modules.win_task.run_wait(name, location=u'\\')
186245              Run a scheduled task and return when the task finishes
186246
186247              Parameters
186248
186249                     · name (str) -- The name of the task to run.
186250
186251                     · location (str) -- A string value representing the loca‐
186252                       tion of the task.  Default is '\' which is the root for
186253                       the task scheduler (C:WindowsSystem32tasks).
186254
186255              Returns
186256                     True if successful, False if unsuccessful
186257
186258              Return type
186259                     bool
186260
186261              CLI Example:
186262
186263                 salt 'minion-id' task.list_run_wait <task_name>
186264
186265       salt.modules.win_task.status(name, location=u'\\')
186266              Determine  the  status  of a task. Is it Running, Queued, Ready,
186267              etc.
186268
186269              Parameters
186270
186271                     · name (str) -- The name of the task for which to  return
186272                       the status
186273
186274                     · location (str) -- A string value representing the loca‐
186275                       tion of the task.  Default is '\' which is the root for
186276                       the task scheduler (C:WindowsSystem32tasks).
186277
186278              Returns
186279                     The  current  status of the task. Will be one of the fol‐
186280                     lowing:
186281
186282              · Unknown
186283
186284              · Disabled
186285
186286              · Queued
186287
186288              · Ready
186289
186290              · Running
186291
186292              Return type
186293                     string
186294
186295              CLI Example:
186296
186297                 salt 'minion-id' task.list_status <task_name>
186298
186299       salt.modules.win_task.stop(name, location=u'\\')
186300              Stop a scheduled task.
186301
186302              Parameters
186303
186304                     · name (str) -- The name of the task to stop.
186305
186306                     · location (str) -- A string value representing the loca‐
186307                       tion of the task.  Default is '\' which is the root for
186308                       the task scheduler (C:WindowsSystem32tasks).
186309
186310              Returns
186311                     True if successful, False if unsuccessful
186312
186313              Return type
186314                     bool
186315
186316              CLI Example:
186317
186318                 salt 'minion-id' task.list_stop <task_name>
186319
186320   salt.modules.win_timezone
186321       Module for managing timezone on Windows systems.
186322
186323       class salt.modules.win_timezone.TzMapper(unix_to_win)
186324
186325              add(k, v)
186326
186327              get_unix(key, default=None)
186328
186329              get_win(key, default=None)
186330
186331              list_unix()
186332
186333              list_win()
186334
186335              remove(k)
186336
186337       salt.modules.win_timezone.get_hwclock()
186338              Get current hardware clock setting (UTC or localtime)
186339
186340              NOTE:
186341                 The hardware clock is always local time on  Windows  so  this
186342                 will always return "localtime"
186343
186344              CLI Example:
186345
186346                 salt '*' timezone.get_hwclock
186347
186348       salt.modules.win_timezone.get_offset()
186349              Get current numeric timezone offset from UTC (i.e. -0700)
186350
186351              Returns
186352                     Offset from UTC
186353
186354              Return type
186355                     str
186356
186357              CLI Example:
186358
186359                 salt '*' timezone.get_offset
186360
186361       salt.modules.win_timezone.get_zone()
186362              Get current timezone (i.e. America/Denver)
186363
186364              Returns
186365                     Timezone in unix format
186366
186367              Return type
186368                     str
186369
186370              CLI Example:
186371
186372                 salt '*' timezone.get_zone
186373
186374       salt.modules.win_timezone.get_zonecode()
186375              Get current timezone (i.e. PST, MDT, etc)
186376
186377              Returns
186378                     An abbreviated timezone code
186379
186380              Return type
186381                     str
186382
186383              CLI Example:
186384
186385                 salt '*' timezone.get_zonecode
186386
186387       salt.modules.win_timezone.list(unix_style=True)
186388              Return  a list of Timezones that this module supports. These can
186389              be in either Unix or Windows format.
186390
186391              New in version 2018.3.3.
186392
186393
186394              Parameters
186395                     unix_style (bool) -- True returns  Unix-style  timezones.
186396                     False returns Windows-style timezones. Default is True
186397
186398              Returns
186399                     A list of supported timezones
186400
186401              Return type
186402                     list
186403
186404              CLI Example:
186405
186406                 # Unix-style timezones
186407                 salt '*' timezone.list
186408
186409                 # Windows-style timezones
186410                 salt '*' timezone.list unix_style=False
186411
186412       salt.modules.win_timezone.set_hwclock(clock)
186413              Sets the hardware clock to be either UTC or localtime
186414
186415              NOTE:
186416                 The  hardware  clock  is always local time on Windows so this
186417                 will always return False
186418
186419              CLI Example:
186420
186421                 salt '*' timezone.set_hwclock UTC
186422
186423       salt.modules.win_timezone.set_zone(timezone)
186424              Sets the timezone using the tzutil.
186425
186426              Parameters
186427                     timezone (str) -- A valid timezone
186428
186429              Returns
186430                     True if successful, otherwise False
186431
186432              Return type
186433                     bool
186434
186435              Raises CommandExecutionError -- If invalid timezone is passed
186436
186437              CLI Example:
186438
186439                 salt '*' timezone.set_zone 'America/Denver'
186440
186441       salt.modules.win_timezone.zone_compare(timezone)
186442              Compares the given timezone with the  machine  timezone.  Mostly
186443              useful for running state checks.
186444
186445              Parameters
186446                     timezone (str) -- The timezone to compare. This can be in
186447                     Windows or Unix format. Can be any of the values returned
186448                     by the timezone.list function
186449
186450              Returns
186451                     True if they match, otherwise False
186452
186453              Return type
186454                     bool
186455
186456              Example:
186457
186458                 salt '*' timezone.zone_compare 'America/Denver'
186459
186460   salt.modules.win_useradd
186461       Module for managing Windows Users
186462
186463       IMPORTANT:
186464          If you feel that Salt should be using this module to manage users on
186465          a minion, and it is using a different module (or gives an error sim‐
186466          ilar to 'user.info' is not available), see here.
186467
186468       depends
186469
186470              · pythoncom
186471
186472              · pywintypes
186473
186474              · win32api
186475
186476              · win32con
186477
186478              · win32net
186479
186480              · win32netcon
186481
186482              · win32profile
186483
186484              · win32security
186485
186486              · win32ts
186487
186488              · wmi
186489
186490       NOTE:
186491          This  currently  only  works  with  local  user accounts, not domain
186492          accounts
186493
186494       salt.modules.win_useradd.add(name,    password=None,     fullname=None,
186495       description=None, groups=None, home=None, homedrive=None, profile=None,
186496       logonscript=None)
186497              Add a user to the minion.
186498
186499              Parameters
186500
186501                     · name (str) -- User name
186502
186503                     · password (str, optional) -- User's  password  in  plain
186504                       text.
186505
186506                     · fullname (str, optional) -- The user's full name.
186507
186508                     · description  (str,  optional) -- A brief description of
186509                       the user account.
186510
186511                     · groups (str, optional) -- A list of groups to  add  the
186512                       user to.  (see chgroups)
186513
186514                     · home  (str,  optional)  --  The path to the user's home
186515                       directory.
186516
186517                     · homedrive (str, optional) -- The drive letter to assign
186518                       to  the  home  directory. Must be the Drive Letter fol‐
186519                       lowed by a colon. ie: U:
186520
186521                     · profile (str, optional) -- An explicit path to  a  pro‐
186522                       file.  Can  be a UNC or a folder on the system. If left
186523                       blank, windows uses it's default profile directory.
186524
186525                     · logonscript (str, optional) -- Path to a  login  script
186526                       to run when the user logs on.
186527
186528              Returns
186529                     True if successful. False is unsuccessful.
186530
186531              Return type
186532                     bool
186533
186534              CLI Example:
186535
186536                 salt '*' user.add name password
186537
186538       salt.modules.win_useradd.addgroup(name, group)
186539              Add user to a group
186540
186541              Parameters
186542
186543                     · name (str) -- The user name to add to the group
186544
186545                     · group  (str)  --  The name of the group to which to add
186546                       the user
186547
186548              Returns
186549                     True if successful, otherwise False
186550
186551              Return type
186552                     bool
186553
186554              CLI Example:
186555
186556                 salt '*' user.addgroup jsnuffy 'Power Users'
186557
186558       salt.modules.win_useradd.chfullname(name, fullname)
186559              Change the full name of the user
186560
186561              Parameters
186562
186563                     · name (str) -- The user name for  which  to  change  the
186564                       full name
186565
186566                     · fullname (str) -- The new value for the full name
186567
186568              Returns
186569                     True if successful, otherwise False
186570
186571              Return type
186572                     bool
186573
186574              CLI Example:
186575
186576                 salt '*' user.chfullname user 'First Last'
186577
186578       salt.modules.win_useradd.chgroups(name, groups, append=True)
186579              Change the groups this user belongs to, add append=False to make
186580              the user a member of only the specified groups
186581
186582              Parameters
186583
186584                     · name (str) -- The user name for which to change groups
186585
186586                     · groups (str, list) -- A  single  group  or  a  list  of
186587                       groups  to assign to the user. For multiple groups this
186588                       can be a comma delimited string or a list.
186589
186590                     · append (bool, optional) -- True adds the passed  groups
186591                       to  the  user's  current  groups. False sets the user's
186592                       groups to the passed groups only. Default is True.
186593
186594              Returns
186595                     True if successful, otherwise False
186596
186597              Return type
186598                     bool
186599
186600              CLI Example:
186601
186602                 salt '*' user.chgroups jsnuffy Administrators,Users True
186603
186604       salt.modules.win_useradd.chhome(name, home, **kwargs)
186605              Change the home directory of the user, pass True for persist  to
186606              move  files  to the new home directory if the old home directory
186607              exist.
186608
186609              Parameters
186610
186611                     · name (str) -- The name of the user whose home directory
186612                       you wish to change
186613
186614                     · home (str) -- The new location of the home directory
186615
186616              Returns
186617                     True if successful, otherwise False
186618
186619              Return type
186620                     bool
186621
186622              CLI Example:
186623
186624                 salt '*' user.chhome foo \\fileserver\home\foo True
186625
186626       salt.modules.win_useradd.chprofile(name, profile)
186627              Change the profile directory of the user
186628
186629              Parameters
186630
186631                     · name  (str)  --  The name of the user whose profile you
186632                       wish to change
186633
186634                     · profile (str) -- The new location of the profile
186635
186636              Returns
186637                     True if successful, otherwise False
186638
186639              Return type
186640                     bool
186641
186642              CLI Example:
186643
186644                 salt '*' user.chprofile foo \\fileserver\profiles\foo
186645
186646       salt.modules.win_useradd.current(sam=False)
186647              Get the username that salt-minion is running under. If salt-min‐
186648              ion  is  running  as a service it should return the Local System
186649              account. If salt is running from  a  command  prompt  it  should
186650              return the username that started the command prompt.
186651
186652              New in version 2015.5.6.
186653
186654
186655              Parameters
186656                     sam  (bool,  optional) -- False returns just the username
186657                     without any domain notation. True returns the domain with
186658                     the username in the SAM format. Ie: domain\username
186659
186660              Returns
186661                     Returns username
186662
186663              Return type
186664                     str
186665
186666              CLI Example:
186667
186668                 salt '*' user.current
186669
186670       salt.modules.win_useradd.delete(name, purge=False, force=False)
186671              Remove a user from the minion
186672
186673              Parameters
186674
186675                     · name (str) -- The name of the user to delete
186676
186677                     · purge (bool, optional) -- Boolean value indicating that
186678                       the user profile should also be removed when  the  user
186679                       account  is deleted. If set to True the profile will be
186680                       removed. Default is False.
186681
186682                     · force (bool, optional) -- Boolean value indicating that
186683                       the  user account should be deleted even if the user is
186684                       logged in. True will log the user out and delete user.
186685
186686              Returns
186687                     True if successful, otherwise False
186688
186689              Return type
186690                     bool
186691
186692              CLI Example:
186693
186694                 salt '*' user.delete name
186695
186696       salt.modules.win_useradd.getUserSid(username)
186697              Get the Security ID for the user
186698
186699              Parameters
186700                     username (str) -- The user name for which to look up  the
186701                     SID
186702
186703              Returns
186704                     The user SID
186705
186706              Return type
186707                     str
186708
186709              CLI Example:
186710
186711                 salt '*' user.getUserSid jsnuffy
186712
186713       salt.modules.win_useradd.getent(refresh=False)
186714              Return the list of all info for all users
186715
186716              Parameters
186717                     refresh  (bool,  optional)  --  Refresh  the  cached user
186718                     information. Useful when used from within a  state  func‐
186719                     tion. Default is False.
186720
186721              Returns
186722                     A  dictionary  containing  information about all users on
186723                     the system
186724
186725              Return type
186726                     dict
186727
186728              CLI Example:
186729
186730                 salt '*' user.getent
186731
186732       salt.modules.win_useradd.info(name)
186733              Return user information
186734
186735              Parameters
186736                     name (str) -- Username for which to display information
186737
186738              Returns
186739
186740                     A dictionary containing user information
186741
186742                            · fullname
186743
186744                            · username
186745
186746                            · SID
186747
186748                            · passwd (will always return None)
186749
186750                            · comment (same  as  description,  left  here  for
186751                              backwards compatibility)
186752
186753                            · description
186754
186755                            · active
186756
186757                            · logonscript
186758
186759                            · profile
186760
186761                            · home
186762
186763                            · homedrive
186764
186765                            · groups
186766
186767                            · password_changed
186768
186769                            · successful_logon_attempts
186770
186771                            · failed_logon_attempts
186772
186773                            · last_logon
186774
186775                            · account_disabled
186776
186777                            · account_locked
186778
186779                            · password_never_expires
186780
186781                            · disallow_change_password
186782
186783                            · gid
186784
186785
186786              Return type
186787                     dict
186788
186789              CLI Example:
186790
186791                 salt '*' user.info jsnuffy
186792
186793       salt.modules.win_useradd.list_groups(name)
186794              Return a list of groups the named user belongs to
186795
186796              Parameters
186797                     name (str) -- The user name for which to list groups
186798
186799              Returns
186800                     A list of groups to which the user belongs
186801
186802              Return type
186803                     list
186804
186805              CLI Example:
186806
186807                 salt '*' user.list_groups foo
186808
186809       salt.modules.win_useradd.list_users()
186810              Return a list of all users on Windows
186811
186812              Returns
186813                     A list of all users on the system
186814
186815              Return type
186816                     list
186817
186818              CLI Example:
186819
186820                 salt '*' user.list_users
186821
186822       salt.modules.win_useradd.removegroup(name, group)
186823              Remove user from a group
186824
186825              Parameters
186826
186827                     · name (str) -- The user name to remove from the group
186828
186829                     · group  (str)  --  The  name  of the group from which to
186830                       remove the user
186831
186832              Returns
186833                     True if successful, otherwise False
186834
186835              Return type
186836                     bool
186837
186838              CLI Example:
186839
186840                 salt '*' user.removegroup jsnuffy 'Power Users'
186841
186842       salt.modules.win_useradd.rename(name, new_name)
186843              Change the username for a named user
186844
186845              Parameters
186846
186847                     · name (str) -- The user name to change
186848
186849                     · new_name (str) -- The new name for the current user
186850
186851              Returns
186852                     True if successful, otherwise False
186853
186854              Return type
186855                     bool
186856
186857              CLI Example:
186858
186859                 salt '*' user.rename jsnuffy jshmoe
186860
186861       salt.modules.win_useradd.setpassword(name, password)
186862              Set the user's password
186863
186864              Parameters
186865
186866                     · name (str) -- The user name for which to set the  pass‐
186867                       word
186868
186869                     · password (str) -- The new password
186870
186871              Returns
186872                     True if successful, otherwise False
186873
186874              Return type
186875                     bool
186876
186877              CLI Example:
186878
186879                 salt '*' user.setpassword jsnuffy sup3rs3cr3t
186880
186881       salt.modules.win_useradd.update(name,   password=None,   fullname=None,
186882       description=None,  home=None,  homedrive=None,  logonscript=None,  pro‐
186883       file=None,  expiration_date=None,  expired=None, account_disabled=None,
186884       unlock_account=None, password_never_expires=None, disallow_change_pass‐
186885       word=None)
186886              Updates settings for the windows user. Name is the only required
186887              parameter.  Settings will only be changed if  the  parameter  is
186888              passed a value.
186889
186890              New in version 2015.8.0.
186891
186892
186893              Parameters
186894
186895                     · name (str) -- The user name to update.
186896
186897                     · password  (str, optional) -- New user password in plain
186898                       text.
186899
186900                     · fullname (str, optional) -- The user's full name.
186901
186902                     · description (str, optional) -- A brief  description  of
186903                       the user account.
186904
186905                     · home  (str,  optional)  --  The path to the user's home
186906                       directory.
186907
186908                     · homedrive (str, optional) -- The drive letter to assign
186909                       to  the  home  directory. Must be the Drive Letter fol‐
186910                       lowed by a colon. ie: U:
186911
186912                     · logonscript (str, optional) -- The path  to  the  logon
186913                       script.
186914
186915                     · profile  (str, optional) -- The path to the user's pro‐
186916                       file directory.
186917
186918                     · expiration_date (date, optional) -- The date  and  time
186919                       when  the  account  expires.  Can  be a valid date/time
186920                       string. To set to never expire pass the string 'Never'.
186921
186922                     · expired (bool, optional) -- Pass  True  to  expire  the
186923                       account.  The  user  will  be  prompted to change their
186924                       password at the next logon.  Pass  False  to  mark  the
186925                       account  as 'not expired'. You can't use this to negate
186926                       the expiration if the  expiration  was  caused  by  the
186927                       account  expiring.  You'll  have  to change the expira‐
186928                       tion_date as well.
186929
186930                     · account_disabled (bool, optional) -- True disables  the
186931                       account. False enables the account.
186932
186933                     · unlock_account  (bool,  optional)  --  True  unlocks  a
186934                       locked user account.  False is ignored.
186935
186936                     · password_never_expires (bool, optional)  --  True  sets
186937                       the password to never expire. False allows the password
186938                       to expire.
186939
186940                     · disallow_change_password  (bool,  optional)   --   True
186941                       blocks  the  user  from  changing  the  password. False
186942                       allows the user to change the password.
186943
186944              Returns
186945                     True if successful. False is unsuccessful.
186946
186947              Return type
186948                     bool
186949
186950              CLI Example:
186951
186952                 salt '*' user.update bob password=secret profile=C:\Users\Bob
186953                          home=\server\homeshareob homedrive=U:
186954
186955   salt.modules.win_wua
186956       Module for managing Windows Updates using the Windows Update Agent.
186957
186958       List updates on the system using the following functions:
186959
186960       · win_wua.available
186961
186962       · win_wua.list
186963
186964       This is an easy way to find additional information about updates avail‐
186965       able to to the system, such as the GUID, KB number, or description.
186966
186967       Once you have the GUID or a KB number for the update you can get infor‐
186968       mation about the update, download, install, or uninstall it using these
186969       functions:
186970
186971       · win_wua.get
186972
186973       · win_wua.download
186974
186975       · win_wua.install
186976
186977       · win_wua.uninstall
186978
186979       The get function expects a name in the form of a GUID, KB, or Title and
186980       should return information about a single update.  The  other  functions
186981       accept  either  a  single  item  or  a  list  of  items  for  download‐
186982       ing/installing/uninstalling a specific list of items.
186983
186984       The win_wua.list and win_wua.get functions are  utility  functions.  In
186985       addition  to returning information about updates they can also download
186986       and install updates by setting download=True or install=True.  So, with
186987       py:func:win_wua.list   <salt.modules.win_wua.list_>  for  example,  you
186988       could run the function with the filters you want to see what is  avail‐
186989       able. Then just add install=True to install everything on that list.
186990
186991       If  you  want  to download, install, or uninstall specific updates, use
186992       win_wua.download, win_wua.install, or win_wua.uninstall. To update your
186993       system with the latest updates use win_wua.list and set install=True
186994
186995       You   can   also   adjust   the   Windows  Update  settings  using  the
186996       win_wua.set_wu_settings function. This function is  only  supported  on
186997       the following operating systems:
186998
186999       · Windows Vista / Server 2008
187000
187001       · Windows 7 / Server 2008R2
187002
187003       · Windows 8 / Server 2012
187004
187005       · Windows 8.1 / Server 2012R2
187006
187007       As  of  Windows  10  and Windows Server 2016, the ability to modify the
187008       Windows Update settings has been restricted. The settings can be  modi‐
187009       fied in the Local Group Policy using the lgpo module.
187010
187011       New in version 2015.8.0.
187012
187013
187014       depends
187015              salt.utils.win_update
187016
187017       salt.modules.win_wua.available(software=True,     drivers=True,    sum‐
187018       mary=False,    skip_installed=True,    skip_hidden=True,    skip_manda‐
187019       tory=False, skip_reboot=False, categories=None, severities=None)
187020              New in version 2017.7.0.
187021
187022
187023              List  updates  that  match  the passed criteria. This allows for
187024              more filter options than list(). Good  for  finding  a  specific
187025              GUID or KB.
187026
187027              Parameters
187028
187029                     · software  (bool)  --  Include  software  updates in the
187030                       results (default is True)
187031
187032                     · drivers (bool) -- Include driver updates in the results
187033                       (default is True)
187034
187035                     · summary (bool) -- .INDENT 2.0
187036
187037                     · True:  Return  a  summary of updates available for each
187038                       category.
187039
187040                     · False (default): Return a detailed  list  of  available
187041                       updates.
187042
187043
187044              · skip_installed   (bool)  --  Skip  updates  that  are  already
187045                installed. Default is False.
187046
187047              · skip_hidden (bool) -- Skip  updates  that  have  been  hidden.
187048                Default is True.
187049
187050              · skip_mandatory  (bool)  --  Skip mandatory updates. Default is
187051                False.
187052
187053              · skip_reboot (bool) -- Skip  updates  that  require  a  reboot.
187054                Default is False.
187055
187056              · categories (list) --
187057
187058                Specify  the categories to list. Must be passed as a list. All
187059                categories returned by default.
187060
187061                Categories include the following:
187062
187063                · Critical Updates
187064
187065                · Definition Updates
187066
187067                · Drivers (make sure you set drivers=True)
187068
187069                · Feature Packs
187070
187071                · Security Updates
187072
187073                · Update Rollups
187074
187075                · Updates
187076
187077                · Update Rollups
187078
187079                · Windows 7
187080
187081                · Windows 8.1
187082
187083                · Windows 8.1 drivers
187084
187085                · Windows 8.1 and later drivers
187086
187087                · Windows Defender
187088
187089
187090              · severities (list) --
187091
187092                Specify the severities to include. Must be passed as  a  list.
187093                All severities returned by default.
187094
187095                Severities include the following:
187096
187097                · Critical
187098
187099                · Important
187100
187101
187102       Returns
187103              Returns a dict containing either a summary or a list of updates:
187104
187105                 List of Updates:
187106                 {'<GUID>': {'Title': <title>,
187107                             'KB': <KB>,
187108                             'GUID': <the globally unique identifier for the update>
187109                             'Description': <description>,
187110                             'Downloaded': <has the update been downloaded>,
187111                             'Installed': <has the update been installed>,
187112                             'Mandatory': <is the update mandatory>,
187113                             'UserInput': <is user input required>,
187114                             'EULAAccepted': <has the EULA been accepted>,
187115                             'Severity': <update severity>,
187116                             'NeedsReboot': <is the update installed and awaiting reboot>,
187117                             'RebootBehavior': <will the update require a reboot>,
187118                             'Categories': [ '<category 1>',
187119                                             '<category 2>',
187120                                             ...]
187121                             }
187122                 }
187123
187124                 Summary of Updates:
187125                 {'Total': <total number of updates returned>,
187126                  'Available': <updates that are not downloaded or installed>,
187127                  'Downloaded': <updates that are downloaded but not installed>,
187128                  'Installed': <updates installed (usually 0 unless installed=True)>,
187129                  'Categories': { <category 1>: <total for that category>,
187130                                  <category 2>: <total for category 2>,
187131                                  ... }
187132                 }
187133
187134
187135       Return type
187136              dict
187137
187138       CLI Examples:
187139
187140                 # Normal Usage (list all software updates)
187141                 salt '*' win_wua.available
187142
187143                 # List all updates with categories of Critical Updates and Drivers
187144                 salt '*' win_wua.available categories=["Critical Updates","Drivers"]
187145
187146                 # List all Critical Security Updates
187147                 salt '*' win_wua.available categories=["Security Updates"] severities=["Critical"]
187148
187149                 # List all updates with a severity of Critical
187150                 salt '*' win_wua.available severities=["Critical"]
187151
187152                 # A summary of all available updates
187153                 salt '*' win_wua.available summary=True
187154
187155                 # A summary of all Feature Packs and Windows 8.1 Updates
187156                 salt '*' win_wua.available categories=["Feature Packs","Windows 8.1"] summary=True
187157
187158       salt.modules.win_wua.download(names)
187159              New in version 2017.7.0.
187160
187161
187162              Downloads  updates  that  match  the list of passed identifiers.
187163              It's easier to use this function by using list_updates and  set‐
187164              ting install=True.
187165
187166              Parameters
187167                     names (str, list) -- A single update or a list of updates
187168                     to download. This can be any  combination  of  GUIDs,  KB
187169                     numbers, or names. GUIDs or KBs are preferred.
187170
187171              NOTE:
187172                 An  error will be raised if there are more results than there
187173                 are items in the names parameter
187174
187175              Returns
187176                     A dictionary containing the details about the  downloaded
187177                     updates
187178
187179              Return type
187180                     dict
187181
187182              CLI Examples:
187183
187184                 # Normal Usage
187185                 salt '*' win_wua.download names=['12345678-abcd-1234-abcd-1234567890ab', 'KB2131233']
187186
187187       salt.modules.win_wua.get(name, download=False, install=False)
187188              New in version 2017.7.0.
187189
187190
187191              Returns details for the named update
187192
187193              Parameters
187194
187195                     · name  (str)  -- The name of the update you're searching
187196                       for. This can be the GUID, a KB number, or any part  of
187197                       the  name  of  the update. GUIDs and KBs are preferred.
187198                       Run list to get the GUID for the update you're  looking
187199                       for.
187200
187201                     · download (bool) -- Download the update returned by this
187202                       function. Run this function first to see if the  update
187203                       exists, then set download=True to download the update.
187204
187205                     · install  (bool)  -- Install the update returned by this
187206                       function. Run this function first to see if the  update
187207                       exists, then set install=True to install the update.
187208
187209              Returns
187210                     Returns  a  dict  containing a list of updates that match
187211                     the name if download and install are both set  to  False.
187212                     Should  usually be a single update, but can return multi‐
187213                     ple if a partial name is given.
187214
187215                     If download or install is set to true it will return  the
187216                     results of the operation.
187217
187218                        List of Updates:
187219                        {'<GUID>': {'Title': <title>,
187220                                    'KB': <KB>,
187221                                    'GUID': <the globally unique identifier for the update>
187222                                    'Description': <description>,
187223                                    'Downloaded': <has the update been downloaded>,
187224                                    'Installed': <has the update been installed>,
187225                                    'Mandatory': <is the update mandatory>,
187226                                    'UserInput': <is user input required>,
187227                                    'EULAAccepted': <has the EULA been accepted>,
187228                                    'Severity': <update severity>,
187229                                    'NeedsReboot': <is the update installed and awaiting reboot>,
187230                                    'RebootBehavior': <will the update require a reboot>,
187231                                    'Categories': [ '<category 1>',
187232                                                    '<category 2>',
187233                                                    ...]
187234                                    }
187235                        }
187236
187237
187238              Return type
187239                     dict
187240
187241              CLI Examples:
187242
187243                 # Recommended Usage using GUID without braces
187244                 # Use this to find the status of a specific update
187245                 salt '*' win_wua.get 12345678-abcd-1234-abcd-1234567890ab
187246
187247                 # Use the following if you don't know the GUID:
187248
187249                 # Using a KB number
187250                 # Not all updates have an associated KB
187251                 salt '*' win_wua.get KB3030298
187252
187253                 # Using part or all of the name of the update
187254                 # Could possibly return multiple results
187255                 # Not all updates have an associated KB
187256                 salt '*' win_wua.get 'Microsoft Camera Codec Pack'
187257
187258       salt.modules.win_wua.get_needs_reboot()
187259              Determines if the system needs to be rebooted.
187260
187261              Returns
187262                     True if the system requires a reboot, otherwise False
187263
187264              Return type
187265                     bool
187266
187267              CLI Examples:
187268
187269                 salt '*' win_wua.get_needs_reboot
187270
187271       salt.modules.win_wua.get_wu_settings()
187272              Get current Windows Update settings.
187273
187274              Returns
187275                     A dictionary of Windows Update settings:
187276
187277                     Featured Updates:
187278                            Boolean  value  that  indicates whether to display
187279                            notifications for featured updates.
187280
187281                     Group Policy Required (Read-only):
187282                            Boolean value that indicates whether Group  Policy
187283                            requires the Automatic Updates service.
187284
187285                     Microsoft Update:
187286                            Boolean  value  that  indicates whether to turn on
187287                            Microsoft Update for other Microsoft Products
187288
187289                     Needs Reboot:
187290                            Boolean value that indicates whether  the  machine
187291                            is in a reboot pending state.
187292
187293                     Non Admins Elevated:
187294                            Boolean  value that indicates whether non-adminis‐
187295                            trators can perform  some  update-related  actions
187296                            without administrator approval.
187297
187298                     Notification Level:
187299
187300                            Number 1 to 4 indicating the update level:
187301
187302                                   1. Never check for updates
187303
187304                                   2. Check  for  updates  but  let  me choose
187305                                      whether to download and install them
187306
187307                                   3. Download  updates  but  let  me   choose
187308                                      whether to install them
187309
187310                                   4. Install updates automatically
187311
187312                     Read Only (Read-only):
187313                            Boolean value that indicates whether the Automatic
187314                            Update settings are read-only.
187315
187316                     Recommended Updates:
187317                            Boolean value that indicates  whether  to  include
187318                            optional  or recommended updates when a search for
187319                            updates and installation of updates is performed.
187320
187321                     Scheduled Day:
187322                            Days  of  the  week  on  which  Automatic  Updates
187323                            installs or uninstalls updates.
187324
187325                     Scheduled Time:
187326                            Time  at which Automatic Updates installs or unin‐
187327                            stalls updates.
187328
187329
187330              Return type
187331                     dict
187332
187333              CLI Examples:
187334
187335                 salt '*' win_wua.get_wu_settings
187336
187337       salt.modules.win_wua.install(names)
187338              New in version 2017.7.0.
187339
187340
187341              Installs updates that match the list of identifiers. It  may  be
187342              easier to use the list_updates function and set install=True.
187343
187344              Parameters
187345                     names (str, list) -- A single update or a list of updates
187346                     to install. This can be any combination of GUIDs, KB num‐
187347                     bers, or names. GUIDs or KBs are preferred.
187348
187349              NOTE:
187350                 An  error will be raised if there are more results than there
187351                 are items in the names parameter
187352
187353              Returns
187354                     A dictionary containing the details about  the  installed
187355                     updates
187356
187357              Return type
187358                     dict
187359
187360              CLI Examples:
187361
187362                 # Normal Usage
187363                 salt '*' win_wua.install KB12323211
187364
187365       salt.modules.win_wua.list(software=True,  drivers=False, summary=False,
187366       skip_installed=True, categories=None, severities=None,  download=False,
187367       install=False)
187368              New in version 2017.7.0.
187369
187370
187371              Returns  a  detailed  list of available updates or a summary. If
187372              download or install is True the same  list  will  be  downloaded
187373              and/or installed.
187374
187375              Parameters
187376
187377                     · software  (bool)  --  Include  software  updates in the
187378                       results (default is True)
187379
187380                     · drivers (bool) -- Include driver updates in the results
187381                       (default is False)
187382
187383                     · summary (bool) -- .INDENT 2.0
187384
187385                     · True:  Return  a  summary of updates available for each
187386                       category.
187387
187388                     · False (default): Return a detailed  list  of  available
187389                       updates.
187390
187391
187392              · skip_installed (bool) -- Skip installed updates in the results
187393                (default is False)
187394
187395              · download (bool) -- (Overrides reporting  functionality)  Down‐
187396                load  the  list of updates returned by this function. Run this
187397                function first with download=False to see what will  be  down‐
187398                loaded, then set download=True to download the updates.
187399
187400              · install  (bool) -- (Overrides reporting functionality) Install
187401                the list of updates returned by this function. Run this  func‐
187402                tion  first  with install=False to see what will be installed,
187403                then set install=True to install the updates.
187404
187405              · categories (list) --
187406
187407                Specify the categories to list. Must be passed as a list.  All
187408                categories returned by default.
187409
187410                Categories include the following:
187411
187412                · Critical Updates
187413
187414                · Definition Updates
187415
187416                · Drivers (make sure you set drivers=True)
187417
187418                · Feature Packs
187419
187420                · Security Updates
187421
187422                · Update Rollups
187423
187424                · Updates
187425
187426                · Update Rollups
187427
187428                · Windows 7
187429
187430                · Windows 8.1
187431
187432                · Windows 8.1 drivers
187433
187434                · Windows 8.1 and later drivers
187435
187436                · Windows Defender
187437
187438
187439              · severities (list) --
187440
187441                Specify  the  severities to include. Must be passed as a list.
187442                All severities returned by default.
187443
187444                Severities include the following:
187445
187446                · Critical
187447
187448                · Important
187449
187450
187451       Returns
187452              Returns a dict containing either a summary or a list of updates:
187453
187454                 List of Updates:
187455                 {'<GUID>': {'Title': <title>,
187456                             'KB': <KB>,
187457                             'GUID': <the globally unique identifier for the update>
187458                             'Description': <description>,
187459                             'Downloaded': <has the update been downloaded>,
187460                             'Installed': <has the update been installed>,
187461                             'Mandatory': <is the update mandatory>,
187462                             'UserInput': <is user input required>,
187463                             'EULAAccepted': <has the EULA been accepted>,
187464                             'Severity': <update severity>,
187465                             'NeedsReboot': <is the update installed and awaiting reboot>,
187466                             'RebootBehavior': <will the update require a reboot>,
187467                             'Categories': [ '<category 1>',
187468                                             '<category 2>',
187469                                             ...]
187470                             }
187471                 }
187472
187473                 Summary of Updates:
187474                 {'Total': <total number of updates returned>,
187475                  'Available': <updates that are not downloaded or installed>,
187476                  'Downloaded': <updates that are downloaded but not installed>,
187477                  'Installed': <updates installed (usually 0 unless installed=True)>,
187478                  'Categories': { <category 1>: <total for that category>,
187479                                  <category 2>: <total for category 2>,
187480                                  ... }
187481                 }
187482
187483
187484       Return type
187485              dict
187486
187487       CLI Examples:
187488
187489                 # Normal Usage (list all software updates)
187490                 salt '*' win_wua.list
187491
187492                 # List all updates with categories of Critical Updates and Drivers
187493                 salt '*' win_wua.list categories=['Critical Updates','Drivers']
187494
187495                 # List all Critical Security Updates
187496                 salt '*' win_wua.list categories=['Security Updates'] severities=['Critical']
187497
187498                 # List all updates with a severity of Critical
187499                 salt '*' win_wua.list severities=['Critical']
187500
187501                 # A summary of all available updates
187502                 salt '*' win_wua.list summary=True
187503
187504                 # A summary of all Feature Packs and Windows 8.1 Updates
187505                 salt '*' win_wua.list categories=['Feature Packs','Windows 8.1'] summary=True
187506
187507       salt.modules.win_wua.set_wu_settings(level=None, recommended=None, fea‐
187508       tured=None, elevated=None, msupdate=None, day=None, time=None)
187509              Change Windows Update settings. If no parameters are passed, the
187510              current value will be returned.
187511
187512              Supported:
187513
187514                     · Windows Vista / Server 2008
187515
187516                     · Windows 7 / Server 2008R2
187517
187518                     · Windows 8 / Server 2012
187519
187520                     · Windows 8.1 / Server 2012R2
187521
187522              Parameters
187523
187524                     · level (int) --
187525
187526                       Number from 1 to 4 indicating the update level:
187527
187528                       1. Never check for updates
187529
187530                       2. Check for updates but let me choose whether to down‐
187531                          load and install them
187532
187533                       3. Download  updates  but  let  me  choose  whether  to
187534                          install them
187535
187536                       4. Install updates automatically
187537
187538
187539                     · recommended (bool)  --  Boolean  value  that  indicates
187540                       whether to include optional or recommended updates when
187541                       a search for updates and  installation  of  updates  is
187542                       performed.
187543
187544                     · featured (bool) -- Boolean value that indicates whether
187545                       to display notifications for featured updates.
187546
187547                     · elevated (bool) -- Boolean value that indicates whether
187548                       non-administrators   can  perform  some  update-related
187549                       actions without administrator approval.
187550
187551                     · msupdate (bool) -- Boolean value that indicates whether
187552                       to  turn  on Microsoft Update for other Microsoft prod‐
187553                       ucts
187554
187555                     · day (str) --
187556
187557                       Days of the week on which Automatic Updates installs or
187558                       uninstalls updates. Accepted values:
187559
187560                       · Everyday
187561
187562                       · Monday
187563
187564                       · Tuesday
187565
187566                       · Wednesday
187567
187568                       · Thursday
187569
187570                       · Friday
187571
187572                       · Saturday
187573
187574
187575                     · time  (str) -- Time at which Automatic Updates installs
187576                       or uninstalls updates. Must be in the ##:##  24hr  for‐
187577                       mat,  eg.  3:00  PM  would  be 15:00. Must be in 1 hour
187578                       increments.
187579
187580              Returns
187581                     Returns a dictionary containing the results.
187582
187583              Return type
187584                     dict
187585
187586              CLI Examples:
187587
187588                 salt '*' win_wua.set_wu_settings level=4 recommended=True featured=False
187589
187590       salt.modules.win_wua.uninstall(names)
187591              New in version 2017.7.0.
187592
187593
187594              Uninstall updates.
187595
187596              Parameters
187597                     names (str, list) -- A single update or a list of updates
187598                     to  uninstall.  This  can be any combination of GUIDs, KB
187599                     numbers, or names. GUIDs or KBs are preferred.
187600
187601              Returns
187602                     A dictionary containing the details about the uninstalled
187603                     updates
187604
187605              Return type
187606                     dict
187607
187608              CLI Examples:
187609
187610                 # Normal Usage
187611                 salt '*' win_wua.uninstall KB3121212
187612
187613                 # As a list
187614                 salt '*' win_wua.uninstall guid=['12345678-abcd-1234-abcd-1234567890ab', 'KB1231231']
187615
187616   salt.modules.x509
187617       Manage X509 certificates
187618
187619       New in version 2015.8.0.
187620
187621
187622       depends
187623              M2Crypto
187624
187625       salt.modules.x509.create_certificate(path=None,    text=False,    over‐
187626       write=True, ca_server=None, **kwargs)
187627              Create an X509 certificate.
187628
187629              path:  Path to write the certificate to.
187630
187631              text:  If True, return the PEM text without writing to  a  file.
187632                     Default False.
187633
187634              overwrite:
187635                     If  True(default),  create_certificate will overwrite the
187636                     entire pem file. Set False to preserve  existing  private
187637                     keys and dh params that may exist in the pem file.
187638
187639              kwargs:
187640                     Any of the properties below can be included as additional
187641                     keyword arguments.
187642
187643              ca_server:
187644                     Request a remotely signed certificate from ca_server. For
187645                     this  to  work,  a  signing_policy must be specified, and
187646                     that same policy must be configured on the ca_server. See
187647                     signing_policy  for  details.  Also  the salt master must
187648                     permit peers to call  the  sign_remote_certificate  func‐
187649                     tion.
187650
187651                     Example:
187652
187653                     /etc/salt/master.d/peer.conf
187654
187655                        peer:
187656                          .*:
187657                            - x509.sign_remote_certificate
187658
187659              subject properties:
187660                     Any  of  the  values below can be included to set subject
187661                     properties Any  other  subject  properties  supported  by
187662                     OpenSSL should also work.
187663
187664                     C:     2 letter Country code
187665
187666                     CN:    Certificate common name, typically the FQDN.
187667
187668                     Email: Email address
187669
187670                     GN:    Given Name
187671
187672                     L:     Locality
187673
187674                     O:     Organization
187675
187676                     OU:    Organization Unit
187677
187678                     SN:    SurName
187679
187680                     ST:    State or Province
187681
187682              signing_private_key:
187683                     A  path  or  string of the private key in PEM format that
187684                     will be used to sign this certificate. If  neither  sign‐
187685                     ing_cert,  public_key,  or  csr  are included, it will be
187686                     assumed that this is a self-signed certificate,  and  the
187687                     public  key  matching signing_private_key will be used to
187688                     create the certificate.
187689
187690              signing_private_key_passphrase:
187691                     Passphrase used to decrypt the signing_private_key.
187692
187693              signing_cert:
187694                     A certificate matching the private key that will be  used
187695                     to  sign  this  certificate. This is used to populate the
187696                     issuer  values  in  the  resulting  certificate.  Do  not
187697                     include this value for self-signed certificates.
187698
187699              public_key:
187700                     The  public  key to be included in this certificate. This
187701                     can be sourced from a public  key,  certificate,  csr  or
187702                     private  key. If a private key is used, the matching pub‐
187703                     lic key from the private key will be generated before any
187704                     processing is done. This means you can request a certifi‐
187705                     cate from a remote CA using a private key  file  as  your
187706                     public_key  and  only  the public key will be sent across
187707                     the network to the CA. If neither public_key or  csr  are
187708                     specified,  it will be assumed that this is a self-signed
187709                     certificate, and the public key derived from signing_pri‐
187710                     vate_key  will be used. Specify either public_key or csr,
187711                     not both. Because you can input a CSR as a public key  or
187712                     as  a  CSR, it is important to understand the difference.
187713                     If you import a CSR as a public key, only the public  key
187714                     will  be  added  to the certificate, subject or extension
187715                     information in the CSR will be lost.
187716
187717              public_key_passphrase:
187718                     If the public key is supplied as a private key,  this  is
187719                     the passphrase used to decrypt it.
187720
187721              csr:   A  file  or  PEM  string containing a certificate signing
187722                     request. This will be used to supply the subject,  exten‐
187723                     sions  and  public  key  of a certificate. Any subject or
187724                     extensions specified explicitly will overwrite any in the
187725                     CSR.
187726
187727              basicConstraints:
187728                     X509v3 Basic Constraints extension.
187729
187730              extensions:
187731                     The  following  arguments set X509v3 Extension values. If
187732                     the value starts with critical,  the  extension  will  be
187733                     marked as critical.
187734
187735                     Some  special  extensions  are  subjectKeyIdentifier  and
187736                     authorityKeyIdentifier.
187737
187738                     subjectKeyIdentifier can be an explicit value or  it  can
187739                     be  the  special  string  hash. hash will set the subjec‐
187740                     tKeyIdentifier equal to the SHA1 hash of the  modulus  of
187741                     the public key in this certificate. Note that this is not
187742                     the exact same hashing method used by OpenSSL when  using
187743                     the hash value.
187744
187745                     authorityKeyIdentifier   Use  values  acceptable  to  the
187746                     openssl  CLI  tools.  This  will  automatically  populate
187747                     authorityKeyIdentifier  with  the subjectKeyIdentifier of
187748                     signing_cert. If this is a self-signed cert these  values
187749                     will be the same.
187750
187751                     basicConstraints:
187752                            X509v3 Basic Constraints
187753
187754                     keyUsage:
187755                            X509v3 Key Usage
187756
187757                     extendedKeyUsage:
187758                            X509v3 Extended Key Usage
187759
187760                     subjectKeyIdentifier:
187761                            X509v3 Subject Key Identifier
187762
187763                     issuerAltName:
187764                            X509v3 Issuer Alternative Name
187765
187766                     subjectAltName:
187767                            X509v3 Subject Alternative Name
187768
187769                     crlDistributionPoints:
187770                            X509v3 CRL distribution points
187771
187772                     issuingDistributionPoint:
187773                            X509v3 Issuing Distribution Point
187774
187775                     certificatePolicies:
187776                            X509v3 Certificate Policies
187777
187778                     policyConstraints:
187779                            X509v3 Policy Constraints
187780
187781                     inhibitAnyPolicy:
187782                            X509v3 Inhibit Any Policy
187783
187784                     nameConstraints:
187785                            X509v3 Name Constraints
187786
187787                     noCheck:
187788                            X509v3 OCSP No Check
187789
187790                     nsComment:
187791                            Netscape Comment
187792
187793                     nsCertType:
187794                            Netscape Certificate Type
187795
187796              days_valid:
187797                     The number of days this certificate should be valid. This
187798                     sets the notAfter property of the  certificate.  Defaults
187799                     to 365.
187800
187801              version:
187802                     The  version of the X509 certificate. Defaults to 3. This
187803                     is automatically converted to the version value, so  ver‐
187804                     sion=3 sets the certificate version field to 0x2.
187805
187806              serial_number:
187807                     The serial number to assign to this certificate. If omit‐
187808                     ted a random serial number of size serial_bits is  gener‐
187809                     ated.
187810
187811              serial_bits:
187812                     The  number  of  bits  to  use when randomly generating a
187813                     serial number.  Defaults to 64.
187814
187815              algorithm:
187816                     The hashing algorithm to be used for  signing  this  cer‐
187817                     tificate.  Defaults to sha256.
187818
187819              copypath:
187820                     An  additional path to copy the resulting certificate to.
187821                     Can be used to maintain a copy of all certificates issued
187822                     for revocation purposes.
187823
187824              prepend_cn:
187825                     If  set  to  True, the CN and a dash will be prepended to
187826                     the copypath's filename.
187827
187828                     Example:
187829                            /etc/pki/issued_certs/www.exam‐
187830                            ple.com-DE:CA:FB:AD:00:00:00:00.crt
187831
187832              signing_policy:
187833                     A  signing policy that should be used to create this cer‐
187834                     tificate.  Signing policies should be defined in the min‐
187835                     ion  configuration, or in a minion pillar. It should be a
187836                     yaml formatted list of arguments which will override  any
187837                     arguments  passed to this function. If the minions key is
187838                     included in the signing  policy,  only  minions  matching
187839                     that  pattern (see match.glob and match.compound) will be
187840                     permitted to remotely request certificates from that pol‐
187841                     icy.
187842
187843                     Example:
187844
187845                        x509_signing_policies:
187846                          www:
187847                            - minions: 'www*'
187848                            - signing_private_key: /etc/pki/ca.key
187849                            - signing_cert: /etc/pki/ca.crt
187850                            - C: US
187851                            - ST: Utah
187852                            - L: Salt Lake City
187853                            - basicConstraints: "critical CA:false"
187854                            - keyUsage: "critical cRLSign, keyCertSign"
187855                            - subjectKeyIdentifier: hash
187856                            - authorityKeyIdentifier: keyid,issuer:always
187857                            - days_valid: 90
187858                            - copypath: /etc/pki/issued_certs/
187859
187860                     The above signing policy can be invoked with signing_pol‐
187861                     icy=www
187862
187863              CLI Example:
187864
187865                 salt '*' x509.create_certificate path=/etc/pki/myca.crt signing_private_key='/etc/pki/myca.key' csr='/etc/pki/myca.csr'}
187866
187867       salt.modules.x509.create_crl(path=None,    text=False,     signing_pri‐
187868       vate_key=None,  signing_private_key_passphrase=None, signing_cert=None,
187869       revoked=None, include_expired=False, days_valid=100, digest=u'')
187870              Create a CRL
187871
187872              Depends
187873
187874                     · PyOpenSSL Python module
187875
187876              path:  Path to write the crl to.
187877
187878              text:  If True, return the PEM text without writing to  a  file.
187879                     Default False.
187880
187881              signing_private_key:
187882                     A  path  or  string of the private key in PEM format that
187883                     will be used to sign this crl. This is required.
187884
187885              signing_private_key_passphrase:
187886                     Passphrase to decrypt the private key.
187887
187888              signing_cert:
187889                     A certificate matching the private key that will be  used
187890                     to sign this crl. This is required.
187891
187892              revoked:
187893                     A  list  of  dicts  containing  all  the  certificates to
187894                     revoke. Each dict represents one certificate. A dict must
187895                     contain  either  the  key serial_number with the value of
187896                     the serial number to revoke, or certificate  with  either
187897                     the PEM encoded text of the certificate, or a path to the
187898                     certificate to revoke.
187899
187900                     The dict can optionally contain the revocation_date  key.
187901                     If this key is omitted the revocation date will be set to
187902                     now. If should  be  a  string  in  the  format  "%Y-%m-%d
187903                     %H:%M:%S".
187904
187905                     The  dict  can also optionally contain the not_after key.
187906                     This is redundant if the certificate key is included.  If
187907                     the Certificate key is not included, this can be used for
187908                     the logic behind the include_expired parameter. If should
187909                     be a string in the format "%Y-%m-%d %H:%M:%S".
187910
187911                     The dict can also optionally contain the reason key. This
187912                     is the reason code for the revocation. Available  choices
187913                     are  unspecified,  keyCompromise,  CACompromise, affilia‐
187914                     tionChanged, superseded,  cessationOfOperation  and  cer‐
187915                     tificateHold.
187916
187917              include_expired:
187918                     Include  expired  certificates  in  the  CRL.  Default is
187919                     False.
187920
187921              days_valid:
187922                     The number of days that the CRL  should  be  valid.  This
187923                     sets the Next Update field in the CRL.
187924
187925              digest:
187926                     The  digest  to  use  for  signing  the CRL.  This has no
187927                     effect on versions of pyOpenSSL less than 0.14
187928
187929              CLI Example:
187930
187931                 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'}}"
187932
187933       salt.modules.x509.create_csr(path=None, text=False, **kwargs)
187934              Create a certificate signing request.
187935
187936              path:  Path to write the certificate to.
187937
187938              text:  If True, return the PEM text without writing to  a  file.
187939                     Default False.
187940
187941              algorithm:
187942                     The  hashing  algorithm  to  be  used  for  signing  this
187943                     request. Defaults to sha256.
187944
187945              kwargs:
187946                     The  subject,  extension  and  version   arguments   from
187947                     x509.create_certificate can be used.
187948
187949              CLI Example:
187950
187951                 salt '*' x509.create_csr path=/etc/pki/myca.csr public_key='/etc/pki/myca.key' CN='My Cert'
187952
187953       salt.modules.x509.create_private_key(path=None,  text=False, bits=2048,
187954       passphrase=None, cipher=u'aes_128_cbc', verbose=True)
187955              Creates a private key in PEM format.
187956
187957              path:  The path to write the file to, either path  or  text  are
187958                     required.
187959
187960              text:  If  True,  return the PEM text without writing to a file.
187961                     Default False.
187962
187963              bits:  Length of the private key in bits. Default 2048
187964
187965              passphrase:
187966                     Passphrase for encryting the private key
187967
187968              cipher:
187969                     Cipher for encrypting the private key. Has no  effect  if
187970                     passhprase is None.
187971
187972              verbose:
187973                     Provide visual feedback on stdout. Default True
187974
187975                     New in version 2016.11.0.
187976
187977
187978              CLI Example:
187979
187980                 salt '*' x509.create_private_key path=/etc/pki/mykey.key
187981
187982       salt.modules.x509.expired(certificate)
187983              Returns  a  dict containing limited details of a certificate and
187984              whether the certificate has expired.
187985
187986              New in version 2016.11.0.
187987
187988
187989              certificate:
187990                     The certificate to be read. Can be a path to  a  certifi‐
187991                     cate  file, or a string containing the PEM formatted text
187992                     of the certificate.
187993
187994              CLI Example:
187995
187996                 salt '*' x509.expired "/etc/pki/mycert.crt"
187997
187998       salt.modules.x509.get_pem_entries(glob_path)
187999              Returns a dict containing PEM entries in files matching a glob
188000
188001              glob_path:
188002                     A path to certificates to be read and returned.
188003
188004              CLI Example:
188005
188006                 salt '*' x509.get_pem_entries "/etc/pki/*.crt"
188007
188008       salt.modules.x509.get_pem_entry(text, pem_type=None)
188009              Returns a properly formatted PEM string from the input text fix‐
188010              ing any whitespace or line-break issues
188011
188012              text:  Text containing the X509 PEM entry to be returned or path
188013                     to a file containing the text.
188014
188015              pem_type:
188016                     If specified, this function will only return a pem  of  a
188017                     certain  type,  for example 'CERTIFICATE' or 'CERTIFICATE
188018                     REQUEST'.
188019
188020              CLI Example:
188021
188022                 salt '*' x509.get_pem_entry "-----BEGIN CERTIFICATE REQUEST-----MIICyzCC Ar8CAQI...-----END CERTIFICATE REQUEST"
188023
188024       salt.modules.x509.get_private_key_size(private_key, passphrase=None)
188025              Returns the bit length of a private key in PEM format.
188026
188027              private_key:
188028                     A path or PEM encoded string containing a private key.
188029
188030              CLI Example:
188031
188032                 salt '*' x509.get_private_key_size /etc/pki/mycert.key
188033
188034       salt.modules.x509.get_public_key(key, passphrase=None, asObj=False)
188035              Returns a string containing the public key in PEM format.
188036
188037              key:   A path or PEM encoded string containing a  CSR,  Certifi‐
188038                     cate  or  Private  Key  from  which  a  public key can be
188039                     retrieved.
188040
188041              CLI Example:
188042
188043                 salt '*' x509.get_public_key /etc/pki/mycert.cer
188044
188045       salt.modules.x509.get_signing_policy(signing_policy_name)
188046              Returns the details of a names  signing  policy,  including  the
188047              text  of  the  public key that will be used to sign it. Does not
188048              return the private key.
188049
188050              CLI Example:
188051
188052                 salt '*' x509.get_signing_policy www
188053
188054       salt.modules.x509.read_certificate(certificate)
188055              Returns a dict containing details of a certificate. Input can be
188056              a PEM string or file path.
188057
188058              certificate:
188059                     The  certificate  to be read. Can be a path to a certifi‐
188060                     cate file, or a string containing the PEM formatted  text
188061                     of the certificate.
188062
188063              CLI Example:
188064
188065                 salt '*' x509.read_certificate /etc/pki/mycert.crt
188066
188067       salt.modules.x509.read_certificates(glob_path)
188068              Returns a dict containing details of a all certificates matching
188069              a glob
188070
188071              glob_path:
188072                     A path to certificates to be read and returned.
188073
188074              CLI Example:
188075
188076                 salt '*' x509.read_certificates "/etc/pki/*.crt"
188077
188078       salt.modules.x509.read_crl(crl)
188079              Returns a dict containing details of  a  certificate  revocation
188080              list.  Input can be a PEM string or file path.
188081
188082              Depends
188083
188084                     · OpenSSL command line tool
188085
188086              csl:   A path or PEM encoded string containing the CSL to read.
188087
188088              CLI Example:
188089
188090                 salt '*' x509.read_crl /etc/pki/mycrl.crl
188091
188092       salt.modules.x509.read_csr(csr)
188093              Returns a dict containing details of a certificate request.
188094
188095              Depends
188096
188097                     · OpenSSL command line tool
188098
188099              csr:   A path or PEM encoded string containing the CSR to read.
188100
188101              CLI Example:
188102
188103                 salt '*' x509.read_csr /etc/pki/mycert.csr
188104
188105       salt.modules.x509.sign_remote_certificate(argdic, **kwargs)
188106              Request a certificate to be remotely signed according to a sign‐
188107              ing policy.
188108
188109              argdic:
188110                     A dict containing all the arguments to be passed into the
188111                     create_certificate function. This will become kwargs when
188112                     passed to create_certificate.
188113
188114              kwargs:
188115                     kwargs delivered from publish.publish
188116
188117              CLI Example:
188118
188119                 salt '*' x509.sign_remote_certificate argdic="{'public_key': '/etc/pki/www.key', 'signing_policy': 'www'}" __pub_id='www1'
188120
188121       salt.modules.x509.verify_crl(crl, cert)
188122              Validate a CRL against a certificate.   Parses  openssl  command
188123              line  output,  this  is a workaround for M2Crypto's inability to
188124              get them from CSR objects.
188125
188126              crl:   The CRL to verify
188127
188128              cert:  The certificate to verify the CRL against
188129
188130              CLI Example:
188131
188132                 salt '*' x509.verify_crl crl=/etc/pki/myca.crl cert=/etc/pki/myca.crt
188133
188134       salt.modules.x509.verify_private_key(private_key,           public_key,
188135       passphrase=None)
188136              Verify that 'private_key' matches 'public_key'
188137
188138              private_key:
188139                     The  private  key to verify, can be a string or path to a
188140                     private key in PEM format.
188141
188142              public_key:
188143                     The public key to verify, can be a string or  path  to  a
188144                     PEM formatted certificate, csr, or another private key.
188145
188146              passphrase:
188147                     Passphrase to decrypt the private key.
188148
188149              CLI Example:
188150
188151                 salt '*' x509.verify_private_key private_key=/etc/pki/myca.key \
188152                         public_key=/etc/pki/myca.crt
188153
188154       salt.modules.x509.verify_signature(certificate,   signing_pub_key=None,
188155       signing_pub_key_passphrase=None)
188156              Verify that certificate has been signed by signing_pub_key
188157
188158              certificate:
188159                     The certificate to verify. Can be a path or  string  con‐
188160                     taining a PEM formatted certificate.
188161
188162              signing_pub_key:
188163                     The  public  key  to verify, can be a string or path to a
188164                     PEM formatted certificate, csr, or private key.
188165
188166              signing_pub_key_passphrase:
188167                     Passphrase to the signing_pub_key if it is  an  encrypted
188168                     private key.
188169
188170              CLI Example:
188171
188172                 salt '*' x509.verify_signature /etc/pki/mycert.pem \
188173                         signing_pub_key=/etc/pki/myca.crt
188174
188175       salt.modules.x509.will_expire(certificate, days)
188176              Returns  a  dict containing details of a certificate and whether
188177              the certificate will expire in the  specified  number  of  days.
188178              Input can be a PEM string or file path.
188179
188180              New in version 2016.11.0.
188181
188182
188183              certificate:
188184                     The  certificate  to be read. Can be a path to a certifi‐
188185                     cate file, or a string containing the PEM formatted  text
188186                     of the certificate.
188187
188188              CLI Example:
188189
188190                 salt '*' x509.will_expire "/etc/pki/mycert.crt" days=30
188191
188192       salt.modules.x509.write_pem(text, path, overwrite=True, pem_type=None)
188193              Writes  out  a  PEM  string  fixing any formatting or whitespace
188194              issues before writing.
188195
188196              text:  PEM string input to be written out.
188197
188198              path:  Path of the file to write the pem out to.
188199
188200              overwrite:
188201                     If True(default), write_pem will overwrite the entire pem
188202                     file.  Set False to preserve existing private keys and dh
188203                     params that may exist in the pem file.
188204
188205              pem_type:
188206                     The PEM type to be saved, for example CERTIFICATE or PUB‐
188207                     LIC  KEY.  Adding  this  will  allow the function to take
188208                     input that may contain multiple pem types.
188209
188210              CLI Example:
188211
188212                 salt '*' x509.write_pem "-----BEGIN CERTIFICATE-----MIIGMzCCBBugA..." path=/etc/pki/mycert.crt
188213
188214   salt.modules.xapi
188215       This module (mostly) uses the XenAPI to manage Xen virtual machines.
188216
188217       Big fat warning: the XenAPI used in this file is the one  bundled  with
188218       Xen  Source,  NOT XenServer nor Xen Cloud Platform. As a matter of fact
188219       it will fail under those platforms. From what I've read, little work is
188220       needed  to  adapt  this code to XS/XCP, mostly playing with XenAPI ver‐
188221       sion, but as XCP is not taking precedence on Xen Source on  many  plat‐
188222       forms, please keep compatibility in mind.
188223
188224       Useful documentation:
188225
188226       . http://downloads.xen.org/Wiki/XenAPI/xenapi-1.0.6.pdf
188227
188228       salt.modules.xapi.freecpu()
188229              Return  an  int  representing  the number of unallocated cpus on
188230              this hypervisor
188231
188232              CLI Example:
188233
188234                 salt '*' virt.freecpu
188235
188236       salt.modules.xapi.freemem()
188237              Return an int representing the amount of  memory  that  has  not
188238              been given to virtual machines on this node
188239
188240              CLI Example:
188241
188242                 salt '*' virt.freemem
188243
188244       salt.modules.xapi.full_info()
188245              Return the node_info, vm_info and freemem
188246
188247              CLI Example:
188248
188249                 salt '*' virt.full_info
188250
188251       salt.modules.xapi.get_disks(vm_)
188252              Return the disks of a named vm
188253
188254              CLI Example:
188255
188256                 salt '*' virt.get_disks <vm name>
188257
188258       salt.modules.xapi.get_macs(vm_)
188259              Return a list off MAC addresses from the named vm
188260
188261              CLI Example:
188262
188263                 salt '*' virt.get_macs <vm name>
188264
188265       salt.modules.xapi.get_nics(vm_)
188266              Return info about the network interfaces of a named vm
188267
188268              CLI Example:
188269
188270                 salt '*' virt.get_nics <vm name>
188271
188272       salt.modules.xapi.is_hyper()
188273              Returns  a  bool whether or not this node is a hypervisor of any
188274              kind
188275
188276              CLI Example:
188277
188278                 salt '*' virt.is_hyper
188279
188280       salt.modules.xapi.list_domains()
188281              Return a list of virtual machine names on the minion
188282
188283              CLI Example:
188284
188285                 salt '*' virt.list_domains
188286
188287       salt.modules.xapi.migrate(vm_,   target,   live=1,   port=0,   node=-1,
188288       ssl=None, change_home_server=0)
188289              Migrates the virtual machine to another hypervisor
188290
188291              CLI Example:
188292
188293                 salt '*' virt.migrate <vm name> <target hypervisor> [live] [port] [node] [ssl] [change_home_server]
188294
188295              Optional values:
188296
188297              live   Use live migration
188298
188299              port   Use a specified port
188300
188301              node   Use specified NUMA node on target
188302
188303              ssl    use ssl connection for migration
188304
188305              change_home_server
188306                     change home server for managed domains
188307
188308       salt.modules.xapi.node_info()
188309              Return a dict with information about this node
188310
188311              CLI Example:
188312
188313                 salt '*' virt.node_info
188314
188315       salt.modules.xapi.pause(vm_)
188316              Pause the named vm
188317
188318              CLI Example:
188319
188320                 salt '*' virt.pause <vm name>
188321
188322       salt.modules.xapi.reboot(vm_)
188323              Reboot a domain via ACPI request
188324
188325              CLI Example:
188326
188327                 salt '*' virt.reboot <vm name>
188328
188329       salt.modules.xapi.reset(vm_)
188330              Reset a VM by emulating the reset button on a physical machine
188331
188332              CLI Example:
188333
188334                 salt '*' virt.reset <vm name>
188335
188336       salt.modules.xapi.resume(vm_)
188337              Resume the named vm
188338
188339              CLI Example:
188340
188341                 salt '*' virt.resume <vm name>
188342
188343       salt.modules.xapi.setmem(vm_, memory)
188344              Changes the amount of memory allocated to VM.
188345
188346              Memory is to be specified in MB
188347
188348              CLI Example:
188349
188350                 salt '*' virt.setmem myvm 768
188351
188352       salt.modules.xapi.setvcpus(vm_, vcpus)
188353              Changes the amount of vcpus allocated to VM.
188354
188355              vcpus is an int representing the number to be assigned
188356
188357              CLI Example:
188358
188359                 salt '*' virt.setvcpus myvm 2
188360
188361       salt.modules.xapi.shutdown(vm_)
188362              Send a soft shutdown signal to the named vm
188363
188364              CLI Example:
188365
188366                 salt '*' virt.shutdown <vm name>
188367
188368       salt.modules.xapi.start(config_)
188369              Start a defined domain
188370
188371              CLI Example:
188372
188373                 salt '*' virt.start <path to Xen cfg file>
188374
188375       salt.modules.xapi.stop(vm_)
188376              Hard  power  down  the  virtual  machine,  this is equivalent to
188377              pulling the power
188378
188379              CLI Example:
188380
188381                 salt '*' virt.stop <vm name>
188382
188383       salt.modules.xapi.vcpu_pin(vm_, vcpu, cpus)
188384              Set which CPUs a VCPU can use.
188385
188386              CLI Example:
188387
188388                 salt 'foo' virt.vcpu_pin domU-id 2 1
188389                 salt 'foo' virt.vcpu_pin domU-id 2 2-6
188390
188391       salt.modules.xapi.vm_cputime(vm_=None)
188392              Return cputime used by the vms on this hyper in a list of dicts:
188393
188394                 [
188395                     'your-vm': {
188396                         'cputime' <int>
188397                         'cputime_percent' <int>
188398                         },
188399                     ...
188400                     ]
188401
188402              If you pass a VM name in as an argument then it will return info
188403              for just the named VM, otherwise it will return all VMs.
188404
188405              CLI Example:
188406
188407                 salt '*' virt.vm_cputime
188408
188409       salt.modules.xapi.vm_diskstats(vm_=None)
188410              Return  disk  usage  counters used by the vms on this hyper in a
188411              list of dicts:
188412
188413                 [
188414                     'your-vm': {
188415                         'io_read_kbs'   : 0,
188416                         'io_write_kbs'  : 0
188417                         },
188418                     ...
188419                     ]
188420
188421              If you pass a VM name in as an argument then it will return info
188422              for just the named VM, otherwise it will return all VMs.
188423
188424              CLI Example:
188425
188426                 salt '*' virt.vm_diskstats
188427
188428       salt.modules.xapi.vm_info(vm_=None)
188429              Return detailed information about the vms.
188430
188431              If you pass a VM name in as an argument then it will return info
188432              for just the named VM, otherwise it will return all VMs.
188433
188434              CLI Example:
188435
188436                 salt '*' virt.vm_info
188437
188438       salt.modules.xapi.vm_netstats(vm_=None)
188439              Return combined network counters used by the vms on  this  hyper
188440              in a list of dicts:
188441
188442                 [
188443                     'your-vm': {
188444                         'io_read_kbs'           : 0,
188445                         'io_total_read_kbs'     : 0,
188446                         'io_total_write_kbs'    : 0,
188447                         'io_write_kbs'          : 0
188448                         },
188449                     ...
188450                     ]
188451
188452              If you pass a VM name in as an argument then it will return info
188453              for just the named VM, otherwise it will return all VMs.
188454
188455              CLI Example:
188456
188457                 salt '*' virt.vm_netstats
188458
188459       salt.modules.xapi.vm_state(vm_=None)
188460              Return list of all the vms and their state.
188461
188462              If you pass a VM name in as an argument then it will return info
188463              for just the named VM, otherwise it will return all VMs.
188464
188465              CLI Example:
188466
188467                 salt '*' virt.vm_state <vm name>
188468
188469   salt.modules.xbpspkg module
188470       Package support for XBPS package manager (used by VoidLinux)
188471
188472       New in version 2016.11.0.
188473
188474
188475       salt.modules.xbpspkg.add_repo(repo,                               conf‐
188476       file=u'/usr/share/xbps.d/15-saltstack.conf')
188477              Add an XBPS repository to the system.
188478
188479              repo   url of repo to add (persistent).
188480
188481              conffile
188482                     path  to  xbps  conf  file  to  add  this  repo  default:
188483                     /usr/share/xbps.d/15-saltstack.conf
188484
188485              CLI Examples:
188486
188487                 salt '*' pkg.add_repo <repo url> [conffile=/path/to/xbps/repo.conf]
188488
188489       salt.modules.xbpspkg.available_version(*names, **kwargs)
188490              Return  the  latest  version  of the named package available for
188491              upgrade or installation. If more than one package name is speci‐
188492              fied, a dict of name/version pairs is returned.
188493
188494              If  the  latest version of a given package is already installed,
188495              an empty string will be returned for that package.
188496
188497              CLI Example:
188498
188499                 salt '*' pkg.latest_version <package name>
188500                 salt '*' pkg.latest_version <package1> <package2> <package3> ...
188501
188502       salt.modules.xbpspkg.del_repo(repo)
188503              Remove an XBPS repository from the system.
188504
188505              repo   url of repo to remove (persistent).
188506
188507              CLI Examples:
188508
188509                 salt '*' pkg.del_repo <repo url>
188510
188511       salt.modules.xbpspkg.get_repo(repo, **kwargs)
188512              Display information about the repo.
188513
188514              CLI Examples:
188515
188516                 salt '*' pkg.get_repo 'repo-url'
188517
188518       salt.modules.xbpspkg.install(name=None,  refresh=False,  fromrepo=None,
188519       pkgs=None, sources=None, **kwargs)
188520              Install the passed package
188521
188522              name   The name of the package to be installed.
188523
188524              refresh
188525                     Whether  or  not  to  refresh the package database before
188526                     installing.
188527
188528              fromrepo
188529                     Specify a package repository (url) to install from.
188530
188531              Multiple Package Installation Options:
188532
188533              pkgs   A list of packages to install from a software repository.
188534                     Must be passed as a python list.
188535
188536                     CLI Example:
188537
188538                        salt '*' pkg.install pkgs='["foo","bar"]'
188539
188540              sources
188541                     A  list  of packages to install. Must be passed as a list
188542                     of dicts, with the keys being package names, and the val‐
188543                     ues being the source URI or local path to the package.
188544
188545                     CLI Example:
188546
188547                        salt '*' pkg.install sources='[{"foo": "salt://foo.deb"},{"bar": "salt://bar.deb"}]'
188548
188549              Return a dict containing the new package names and versions:
188550
188551                 {'<package>': {'old': '<old-version>',
188552                                'new': '<new-version>'}}
188553
188554              CLI Example:
188555
188556                 salt '*' pkg.install <package name>
188557
188558       salt.modules.xbpspkg.latest_version(*names, **kwargs)
188559              Return  the  latest  version  of the named package available for
188560              upgrade or installation. If more than one package name is speci‐
188561              fied, a dict of name/version pairs is returned.
188562
188563              If  the  latest version of a given package is already installed,
188564              an empty string will be returned for that package.
188565
188566              CLI Example:
188567
188568                 salt '*' pkg.latest_version <package name>
188569                 salt '*' pkg.latest_version <package1> <package2> <package3> ...
188570
188571       salt.modules.xbpspkg.list_pkgs(versions_as_list=False, **kwargs)
188572              List the packages currently installed as a dict:
188573
188574                 {'<package_name>': '<version>'}
188575
188576              CLI Example:
188577
188578                 salt '*' pkg.list_pkgs
188579
188580       salt.modules.xbpspkg.list_repos()
188581              List all repos known by XBPS
188582
188583              CLI Example:
188584
188585                 salt '*' pkg.list_repos
188586
188587       salt.modules.xbpspkg.list_upgrades(refresh=True)
188588              Check whether or not an upgrade is available for all packages
188589
188590              CLI Example:
188591
188592                 salt '*' pkg.list_upgrades
188593
188594       salt.modules.xbpspkg.refresh_db()
188595              Update list of available packages from installed repos
188596
188597              CLI Example:
188598
188599                 salt '*' pkg.refresh_db
188600
188601       salt.modules.xbpspkg.remove(name=None,    pkgs=None,    recursive=True,
188602       **kwargs)
188603
188604              name   The name of the package to be deleted.
188605
188606              recursive
188607                     Also  remove dependent packages (not required elsewhere).
188608                     Default mode: enabled.
188609
188610              Multiple Package Options:
188611
188612              pkgs   A list of packages to delete. Must be passed as a  python
188613                     list.  The  name parameter will be ignored if this option
188614                     is passed.
188615
188616              Returns a list containing the removed packages.
188617
188618              CLI Example:
188619
188620                 salt '*' pkg.remove <package name> [recursive=False]
188621                 salt '*' pkg.remove <package1>,<package2>,<package3> [recursive=False]
188622                 salt '*' pkg.remove pkgs='["foo", "bar"]' [recursive=False]
188623
188624       salt.modules.xbpspkg.upgrade(refresh=True)
188625              Run a full system upgrade
188626
188627              refresh
188628                     Whether or not to refresh  the  package  database  before
188629                     installing.  Default is True.
188630
188631              Returns a dictionary containing the changes:
188632
188633                 {'<package>':  {'old': '<old-version>',
188634                                 'new': '<new-version>'}}
188635
188636              CLI Example:
188637
188638                 salt '*' pkg.upgrade
188639
188640       salt.modules.xbpspkg.upgrade_available(name)
188641              Check whether or not an upgrade is available for a given package
188642
188643              CLI Example:
188644
188645                 salt '*' pkg.upgrade_available <package name>
188646
188647       salt.modules.xbpspkg.version(*names, **kwargs)
188648              Returns  a  string  representing the package version or an empty
188649              string if not installed. If more than one package name is speci‐
188650              fied, a dict of name/version pairs is returned.
188651
188652              CLI Example:
188653
188654                 salt '*' pkg.version <package name>
188655                 salt '*' pkg.version <package1> <package2> <package3> ...
188656
188657   salt.modules.xfs
188658       Module for managing XFS file systems.
188659
188660       salt.modules.xfs.defragment(device)
188661              Defragment mounted XFS filesystem.  In order to mount a filesys‐
188662              tem, device should be properly mounted and writable.
188663
188664              CLI Example:
188665
188666                 salt '*' xfs.defragment /dev/sda1
188667
188668       salt.modules.xfs.devices()
188669              Get known XFS formatted devices on the system.
188670
188671              CLI Example:
188672
188673                 salt '*' xfs.devices
188674
188675       salt.modules.xfs.dump(device,   destination,    level=0,    label=None,
188676       noerase=None)
188677              Dump filesystem device to the media (file, tape etc).
188678
188679              Required parameters:
188680
188681              · device: XFS device, content of which to be dumped.
188682
188683              · destination: Specifies a dump destination.
188684
188685              Valid options are:
188686
188687              · label:  Label  of  the dump. Otherwise automatically generated
188688                label is used.
188689
188690              · level: Specifies a dump level of 0 to 9.
188691
188692              · noerase: Pre-erase media.
188693
188694              Other options are not used in  order  to  let  xfsdump  use  its
188695              default  values,  as  they  are most optimal. See the xfsdump(8)
188696              manpage for a more complete description of these options.
188697
188698              CLI Example:
188699
188700                 salt '*' xfs.dump /dev/sda1 /detination/on/the/client
188701                 salt '*' xfs.dump /dev/sda1 /detination/on/the/client label='Company accountancy'
188702                 salt '*' xfs.dump /dev/sda1 /detination/on/the/client noerase=True
188703
188704       salt.modules.xfs.estimate(path)
188705              Estimate the space that an XFS filesystem will take.   For  each
188706              directory  estimate  the  space  that directory would take if it
188707              were copied to an XFS filesystem.   Estimation  does  not  cross
188708              mount points.
188709
188710              CLI Example:
188711
188712                 salt '*' xfs.estimate /path/to/file
188713                 salt '*' xfs.estimate /path/to/dir/*
188714
188715       salt.modules.xfs.info(device)
188716              Get filesystem geometry information.
188717
188718              CLI Example:
188719
188720                 salt '*' xfs.info /dev/sda1
188721
188722       salt.modules.xfs.inventory()
188723              Display XFS dump inventory without restoration.
188724
188725              CLI Example:
188726
188727                 salt '*' xfs.inventory
188728
188729       salt.modules.xfs.mkfs(device,   label=None,  ssize=None,  noforce=None,
188730       bso=None, gmo=None, ino=None, lso=None, rso=None, nmo=None, dso=None)
188731              Create a file system on the specified device. By  default  wipes
188732              out with force.
188733
188734              General options:
188735
188736              · label: Specify volume label.
188737
188738              · ssize: Specify the fundamental sector size of the filesystem.
188739
188740              · noforce:  Do  not  force create filesystem, if disk is already
188741                formatted.
188742
188743              Filesystem geometry options:
188744
188745              · bso: Block size options.
188746
188747              · gmo: Global metadata options.
188748
188749              ·
188750
188751                dso: Data section options. These options specify the location,
188752                size,
188753                       and  other  parameters  of  the  data  section  of  the
188754                       filesystem.
188755
188756              · ino: Inode options to specify the inode size of  the  filesys‐
188757                tem, and other inode allocation parameters.
188758
188759              · lso: Log section options.
188760
188761              · nmo: Naming options.
188762
188763              · rso: Realtime section options.
188764
188765              See  the  mkfs.xfs(8) manpage for a more complete description of
188766              corresponding options description.
188767
188768              CLI Example:
188769
188770                 salt '*' xfs.mkfs /dev/sda1
188771                 salt '*' xfs.mkfs /dev/sda1 dso='su=32k,sw=6' noforce=True
188772                 salt '*' xfs.mkfs /dev/sda1 dso='su=32k,sw=6' lso='logdev=/dev/sda2,size=10000b'
188773
188774       salt.modules.xfs.modify(device,     label=None,     lazy_counting=None,
188775       uuid=None)
188776              Modify parameters of an XFS filesystem.
188777
188778              CLI Example:
188779
188780                 salt '*' xfs.modify /dev/sda1 label='My backup' lazy_counting=False
188781                 salt '*' xfs.modify /dev/sda1 uuid=False
188782                 salt '*' xfs.modify /dev/sda1 uuid=True
188783
188784       salt.modules.xfs.prune_dump(sessionid)
188785              Prunes the dump session identified by the given session id.
188786
188787              CLI Example:
188788
188789                 salt '*' xfs.prune_dump b74a3586-e52e-4a4a-8775-c3334fa8ea2c
188790
188791   salt.modules.xmpp
188792       Module for Sending Messages via XMPP (a.k.a. Jabber)
188793
188794       New in version 2014.1.0.
188795
188796
188797       depends
188798
188799              · sleekxmpp>=1.3.1
188800
188801              · pyasn1
188802
188803              · pyasn1-modules
188804
188805              · dnspython
188806
188807       configuration
188808              This  module  can  be  used by either passing a jid and password
188809              directly to send_message, or by specifying the name of a config‐
188810              uration  profile  in the minion config, minion pillar, or master
188811              config.
188812
188813              For example:
188814
188815                 my-xmpp-login:
188816                     xmpp.jid: myuser@jabber.example.org/resourcename
188817                     xmpp.password: verybadpass
188818
188819              The resourcename refers to  the  resource  that  is  using  this
188820              account.  It is user-definable, and optional. The following con‐
188821              figurations are both valid:
188822
188823                 my-xmpp-login:
188824                     xmpp.jid: myuser@jabber.example.org/salt
188825                     xmpp.password: verybadpass
188826
188827                 my-xmpp-login:
188828                     xmpp.jid: myuser@jabber.example.org
188829                     xmpp.password: verybadpass
188830
188831       class salt.modules.xmpp.SendMsgBot(jid, password, recipient, msg)
188832
188833              classmethod create_multi(jid,  password,  msg,  recipients=None,
188834              rooms=None, nick=u'SaltStack Bot')
188835                     Alternate constructor that accept multiple recipients and
188836                     rooms
188837
188838              start(event)
188839
188840       class salt.modules.xmpp.SleekXMPPMUC(name='')
188841
188842              filter(record)
188843                     Determine if the specified record is to be logged.
188844
188845                     Is the specified record to be logged? Returns 0  for  no,
188846                     nonzero for yes. If deemed appropriate, the record may be
188847                     modified in-place.
188848
188849       salt.modules.xmpp.send_msg(recipient, message, jid=None, password=None,
188850       profile=None)
188851              Send a message to an XMPP recipient. Designed for use in states.
188852
188853              CLI Examples:
188854
188855                 xmpp.send_msg 'admins@xmpp.example.com' 'This is a salt module test'             profile='my-xmpp-account'
188856                 xmpp.send_msg 'admins@xmpp.example.com' 'This is a salt module test'             jid='myuser@xmpp.example.com/salt' password='verybadpass'
188857
188858       salt.modules.xmpp.send_msg_multi(message,  recipients=None, rooms=None,
188859       jid=None, password=None, nick=u'SaltStack Bot', profile=None)
188860              Send a message to an XMPP recipient,  support  send  message  to
188861              multiple recipients or chat room.
188862
188863              CLI Examples:
188864
188865                 xmpp.send_msg recipients=['admins@xmpp.example.com']             rooms=['secret@conference.xmpp.example.com']             'This is a salt module test'             profile='my-xmpp-account'
188866                 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'
188867
188868   salt.modules.yumpkg
188869       Support for YUM/DNF
188870
188871       IMPORTANT:
188872          If you feel that Salt should be using this module to manage packages
188873          on a minion, and it is using a different module (or gives  an  error
188874          similar to 'pkg.install' is not available), see here.
188875
188876       NOTE:
188877          DNF is fully supported as of version 2015.5.10 and 2015.8.4 (partial
188878          support for DNF was initially added in 2015.8.0), and  DNF  is  used
188879          automatically in place of YUM in Fedora 22 and newer.
188880
188881       class salt.modules.yumpkg.AvailablePackages(*args, **kwargs)
188882
188883       salt.modules.yumpkg.clean_metadata(**kwargs)
188884              New in version 2014.1.0.
188885
188886
188887              Cleans   local   yum   metadata.   Functionally   identical   to
188888              refresh_db().
188889
188890              CLI Example:
188891
188892                 salt '*' pkg.clean_metadata
188893
188894       salt.modules.yumpkg.del_repo(repo, basedir=None, **kwargs)
188895              Delete a repo from  <basedir>  (default  basedir:  all  dirs  in
188896              reposdir yum option).
188897
188898              If  the .repo file in which the repo exists does not contain any
188899              other repo configuration, the file itself will be deleted.
188900
188901              CLI Examples:
188902
188903                 salt '*' pkg.del_repo myrepo
188904                 salt '*' pkg.del_repo myrepo basedir=/path/to/dir
188905                 salt '*' pkg.del_repo myrepo basedir=/path/to/dir,/path/to/another/dir
188906
188907       salt.modules.yumpkg.diff(*paths)
188908              Return a formatted diff between current files and original in  a
188909              package.   NOTE: this function includes all files (configuration
188910              and not), but does not work on binary content.
188911
188912              Parameters
188913                     path -- Full path to the installed file
188914
188915              Returns
188916                     Difference string or raises  and  exception  if  examined
188917                     file is binary.
188918
188919              CLI example:
188920
188921                 salt '*' pkg.diff /etc/apache2/httpd.conf /etc/sudoers
188922
188923       salt.modules.yumpkg.download(*packages)
188924              New in version 2015.5.0.
188925
188926
188927              Download packages to the local disk. Requires yumdownloader from
188928              yum-utils package.
188929
188930              NOTE:
188931                 yum-utils will already be installed  on  the  minion  if  the
188932                 package was installed from the Fedora / EPEL repositories.
188933
188934              CLI example:
188935
188936                 salt '*' pkg.download httpd
188937                 salt '*' pkg.download httpd postfix
188938
188939       salt.modules.yumpkg.file_dict(*packages)
188940              New in version 2014.1.0.
188941
188942
188943              List the files that belong to a package, grouped by package. Not
188944              specifying any packages will return a list of every file on  the
188945              system's rpm database (not generally recommended).
188946
188947              CLI Examples:
188948
188949                 salt '*' pkg.file_list httpd
188950                 salt '*' pkg.file_list httpd postfix
188951                 salt '*' pkg.file_list
188952
188953       salt.modules.yumpkg.file_list(*packages)
188954              New in version 2014.1.0.
188955
188956
188957              List  the  files  that  belong  to a package. Not specifying any
188958              packages will return a list of every file on  the  system's  rpm
188959              database (not generally recommended).
188960
188961              CLI Examples:
188962
188963                 salt '*' pkg.file_list httpd
188964                 salt '*' pkg.file_list httpd postfix
188965                 salt '*' pkg.file_list
188966
188967       salt.modules.yumpkg.get_repo(name, basedir=None, **kwargs)
188968              Display  a  repo  from  <basedir>  (default basedir: all dirs in
188969              reposdir yum option).
188970
188971              CLI Examples:
188972
188973                 salt '*' pkg.get_repo myrepo
188974                 salt '*' pkg.get_repo myrepo basedir=/path/to/dir
188975                 salt '*' pkg.get_repo myrepo basedir=/path/to/dir,/path/to/another/dir
188976
188977       salt.modules.yumpkg.group_diff(name)
188978              New in version 2014.1.0.
188979
188980
188981              Changed  in  version  2016.3.0,2015.8.4,2015.5.10:   Environment
188982              groups are now supported. The key names have been renamed, simi‐
188983              lar to the changes made in pkg.group_info.
188984
188985
188986              Lists which of a group's packages are installed  and  which  are
188987              not installed
188988
188989              CLI Example:
188990
188991                 salt '*' pkg.group_diff 'Perl Support'
188992
188993       salt.modules.yumpkg.group_info(name, expand=False)
188994              New in version 2014.1.0.
188995
188996
188997              Changed  in version 2016.3.0,2015.8.4,2015.5.10: The return data
188998              has changed. A new key type has been added to distinguish  envi‐
188999              ronment  groups  from  package  groups. Also, keys for the group
189000              name and group ID  have  been  added.  The  mandatory  packages,
189001              optional  packages,  and default packages keys have been renamed
189002              to mandatory, optional, and default for accuracy, as environment
189003              groups  include  other  groups,  and not packages. Finally, this
189004              function now properly identifies conditional packages.
189005
189006
189007              Lists packages belonging to a certain group
189008
189009              name   Name of the group to query
189010
189011              expand False If the specified group  is  an  environment  group,
189012                     then  the group will be expanded and the return data will
189013                     include package names instead of group names.
189014
189015                     New in version 2016.3.0.
189016
189017
189018              CLI Example:
189019
189020                 salt '*' pkg.group_info 'Perl Support'
189021
189022       salt.modules.yumpkg.group_install(name, skip=(), include=(), **kwargs)
189023              New in version 2014.1.0.
189024
189025
189026              Install the passed package group(s). This is basically a wrapper
189027              around  pkg.install, which performs package group resolution for
189028              the user. This function is  currently  considered  experimental,
189029              and should be expected to undergo changes.
189030
189031              name   Package group to install. To install more than one group,
189032                     either use a comma-separated list or pass the value as  a
189033                     python list.
189034
189035                     CLI Examples:
189036
189037                        salt '*' pkg.group_install 'Group 1'
189038                        salt '*' pkg.group_install 'Group 1,Group 2'
189039                        salt '*' pkg.group_install '["Group 1", "Group 2"]'
189040
189041              skip   Packages  that would normally be installed by the package
189042                     group  ("default"  packages),   which   should   not   be
189043                     installed. Can be passed either as a comma-separated list
189044                     or a python list.
189045
189046                     CLI Examples:
189047
189048                        salt '*' pkg.group_install 'My Group' skip='foo,bar'
189049                        salt '*' pkg.group_install 'My Group' skip='["foo", "bar"]'
189050
189051              include
189052                     Packages which are included in a group, which  would  not
189053                     normally  be  installed by a yum groupinstall ("optional"
189054                     packages). Note that this will not enforce group  member‐
189055                     ship;  if  you  include packages which are not members of
189056                     the specified groups, they will still be installed.   Can
189057                     be  passed  either  as a comma-separated list or a python
189058                     list.
189059
189060                     CLI Examples:
189061
189062                        salt '*' pkg.group_install 'My Group' include='foo,bar'
189063                        salt '*' pkg.group_install 'My Group' include='["foo", "bar"]'
189064
189065              NOTE:
189066                 Because this is essentially a wrapper around pkg.install, any
189067                 argument  which  can  be  passed  to  pkg.install may also be
189068                 included here, and it will be passed along wholesale.
189069
189070       salt.modules.yumpkg.group_list()
189071              New in version 2014.1.0.
189072
189073
189074              Lists all groups known by yum on this system
189075
189076              CLI Example:
189077
189078                 salt '*' pkg.group_list
189079
189080       salt.modules.yumpkg.hold(name=None,  pkgs=None,  sources=None,  normal‐
189081       ize=True, **kwargs)
189082              New in version 2014.7.0.
189083
189084
189085              Version-lock packages
189086
189087              NOTE:
189088                 Requires  the  appropriate  versionlock  plugin package to be
189089                 installed:
189090
189091                 · On RHEL 5: yum-versionlock
189092
189093                 · On RHEL 6 & 7: yum-plugin-versionlock
189094
189095                 · On Fedora: python-dnf-plugins-extras-versionlock
189096
189097              name   The name of the package to be held.
189098
189099              Multiple Package Options:
189100
189101              pkgs   A list of packages to hold. Must be passed  as  a  python
189102                     list.  The  name parameter will be ignored if this option
189103                     is passed.
189104
189105              Returns a dict containing the changes.
189106
189107              CLI Example:
189108
189109                 salt '*' pkg.hold <package name>
189110                 salt '*' pkg.hold pkgs='["foo", "bar"]'
189111
189112       salt.modules.yumpkg.info_installed(*names, **kwargs)
189113              New in version 2015.8.1.
189114
189115
189116              Return the information of the named package(s), installed on the
189117              system.
189118
189119              Parameters
189120                     all_versions  --  Include information for all versions of
189121                     the packages installed on the minion.
189122
189123              CLI example:
189124
189125                 salt '*' pkg.info_installed <package1>
189126                 salt '*' pkg.info_installed <package1> <package2> <package3> ...
189127                 salt '*' pkg.info_installed <package1> <package2> <package3> all_versions=True
189128
189129       salt.modules.yumpkg.install(name=None,     refresh=False,     skip_ver‐
189130       ify=False,    pkgs=None,    sources=None,   downloadonly=False,   rein‐
189131       stall=False,   normalize=True,   update_holds=False,   saltenv=u'base',
189132       ignore_epoch=False, **kwargs)
189133              Changed in version 2015.8.12,2016.3.3,2016.11.0: On minions run‐
189134              ning systemd>=205, systemd-run(1) is now used  to  isolate  com‐
189135              mands  which modify installed packages from the salt-minion dae‐
189136              mon's control group. This is done to keep systemd  from  killing
189137              any  yum/dnf  commands spawned by Salt when the salt-minion ser‐
189138              vice is restarted. (see KillMode in the systemd.kill(5)  manpage
189139              for  more  information). If desired, usage of systemd-run(1) can
189140              be suppressed by setting a config option  called  systemd.scope,
189141              with a value of False (no quotes).
189142
189143
189144              Install the passed package(s), add refresh=True to clean the yum
189145              database before package is installed.
189146
189147              name   The name of the package to be installed. Note  that  this
189148                     parameter  is  ignored  if  either "pkgs" or "sources" is
189149                     passed. Additionally, please note that  this  option  can
189150                     only  be used to install packages from a software reposi‐
189151                     tory.  To  install  a  package  file  manually,  use  the
189152                     "sources" option.
189153
189154                     32-bit  packages  can  be  installed on 64-bit systems by
189155                     appending the  architecture  designation  (.i686,  .i586,
189156                     etc.) to the end of the package name.
189157
189158                     CLI Example:
189159
189160                        salt '*' pkg.install <package name>
189161
189162              refresh
189163                     Whether  or not to update the yum database before execut‐
189164                     ing.
189165
189166              reinstall
189167                     Specifying reinstall=True will use yum  reinstall  rather
189168                     than  yum install for requested packages that are already
189169                     installed.
189170
189171                     If a version is specified  with  the  requested  package,
189172                     then  yum  reinstall  will  only be used if the installed
189173                     version matches the requested version.
189174
189175                     Works with sources when the package header of the  source
189176                     can  be  matched  to the name and version of an installed
189177                     package.
189178
189179                     New in version 2014.7.0.
189180
189181
189182              skip_verify
189183                     Skip the GPG verification check (e.g., --nogpgcheck)
189184
189185              downloadonly
189186                     Only download the packages, do not install.
189187
189188              version
189189                     Install  a  specific  version  of   the   package,   e.g.
189190                     1.2.3-4.el5. Ignored if "pkgs" or "sources" is passed.
189191
189192                     Changed in version 2018.3.0: version can now contain com‐
189193                     parison operators (e.g. >1.2.3, <=2.0, etc.)
189194
189195
189196              update_holds
189197                     False If True, and this function would update the package
189198                     version,  any  packages  held using the yum/dnf "version‐
189199                     lock" plugin will be unheld so that they can be  updated.
189200                     Otherwise,  if  this  function  attempts to update a held
189201                     package, the held package(s) will be skipped and an error
189202                     will be raised.
189203
189204                     New in version 2016.11.0.
189205
189206
189207              setopt A  comma-separated  or  Python list of key=value options.
189208                     This list will be expanded and --setopt prepended to each
189209                     in the yum/dnf command that is run.
189210
189211                     CLI Example:
189212
189213                        salt '*' pkg.install foo setopt='obsoletes=0,plugins=0'
189214
189215                     New in version Fluorine.
189216
189217
189218              Repository Options:
189219
189220              fromrepo
189221                     Specify a package repository (or repositories) from which
189222                     to     install.      (e.g.,     yum     --disablerepo='*'
189223                     --enablerepo='somerepo')
189224
189225              enablerepo (ignored if fromrepo is specified)
189226                     Specify  a  disabled package repository (or repositories)
189227                     to enable.  (e.g., yum --enablerepo='somerepo')
189228
189229              disablerepo (ignored if fromrepo is specified)
189230                     Specify an enabled package repository  (or  repositories)
189231                     to disable.  (e.g., yum --disablerepo='somerepo')
189232
189233              disableexcludes
189234                     Disable  exclude from main, for a repo or for everything.
189235                     (e.g., yum --disableexcludes='main')
189236
189237                     New in version 2014.7.0.
189238
189239
189240              ignore_epoch
189241                     False Only used when the version of a package  is  speci‐
189242                     fied  using  a comparison operator (e.g. >4.1). If set to
189243                     True, then the epoch will be ignored when  comparing  the
189244                     currently-installed version to the desired version.
189245
189246                     New in version 2018.3.0.
189247
189248
189249              Multiple Package Installation Options:
189250
189251              pkgs   A list of packages to install from a software repository.
189252                     Must be passed as a python list. A specific version  num‐
189253                     ber  can be specified by using a single-element dict rep‐
189254                     resenting the package and its version.
189255
189256                     CLI Examples:
189257
189258                        salt '*' pkg.install pkgs='["foo", "bar"]'
189259                        salt '*' pkg.install pkgs='["foo", {"bar": "1.2.3-4.el5"}]'
189260
189261              sources
189262                     A list of RPM packages to install. Must be  passed  as  a
189263                     list of dicts, with the keys being package names, and the
189264                     values being the source URI or local path to the package.
189265
189266                     CLI Example:
189267
189268                        salt '*' pkg.install sources='[{"foo": "salt://foo.rpm"}, {"bar": "salt://bar.rpm"}]'
189269
189270              normalize
189271                     True Normalize the package name by removing the architec‐
189272                     ture.  This  is  useful for poorly created packages which
189273                     might include the architecture as an actual part  of  the
189274                     name such as kernel modules which match a specific kernel
189275                     version.
189276
189277                        salt -G role:nsd pkg.install gpfs.gplbin-2.6.32-279.31.1.el6.x86_64 normalize=False
189278
189279                     New in version 2014.7.0.
189280
189281
189282              diff_attr:
189283                     If a list of package attributes  is  specified,  returned
189284                     value will contain them, eg.:
189285
189286                        {'<package>': {
189287                            'old': {
189288                                'version': '<old-version>',
189289                                'arch': '<old-arch>'},
189290
189291                            'new': {
189292                                'version': '<new-version>',
189293                                'arch': '<new-arch>'}}}
189294
189295                     Valid  attributes  are:  epoch,  version,  release, arch,
189296                     install_date, install_date_time_t.
189297
189298                     If  all  is  specified,  all  valid  attributes  will  be
189299                     returned.
189300
189301                     New in version 2018.3.0.
189302
189303
189304              Returns a dict containing the new package names and versions:
189305
189306                 {'<package>': {'old': '<old-version>',
189307                                'new': '<new-version>'}}
189308
189309              If  an  attribute  list in diff_attr is specified, the dict will
189310              also contain any specified attribute, eg.:
189311
189312                 {'<package>': {
189313                     'old': {
189314                         'version': '<old-version>',
189315                         'arch': '<old-arch>'},
189316
189317                     'new': {
189318                         'version': '<new-version>',
189319                         'arch': '<new-arch>'}}}
189320
189321       salt.modules.yumpkg.latest_version(*names, **kwargs)
189322              Return the latest version of the  named  package  available  for
189323              upgrade or installation. If more than one package name is speci‐
189324              fied, a dict of name/version pairs is returned.
189325
189326              If the latest version of a given package is  already  installed,
189327              an empty string will be returned for that package.
189328
189329              A  specific  repo  can  be  requested using the fromrepo keyword
189330              argument, and the disableexcludes option is also supported.
189331
189332              New in version 2014.7.0: Support for the disableexcludes option
189333
189334
189335              CLI Example:
189336
189337                 salt '*' pkg.latest_version <package name>
189338                 salt '*' pkg.latest_version <package name> fromrepo=epel-testing
189339                 salt '*' pkg.latest_version <package name> disableexcludes=main
189340                 salt '*' pkg.latest_version <package1> <package2> <package3> ...
189341
189342       salt.modules.yumpkg.list_downloaded()
189343              New in version 2017.7.0.
189344
189345
189346              List prefetched packages downloaded by Yum in the local disk.
189347
189348              CLI example:
189349
189350                 salt '*' pkg.list_downloaded
189351
189352       salt.modules.yumpkg.list_holds(pattern=u'[\\w+]+(?:[.-][^-]+)*',
189353       full=True)
189354              Changed in version 2016.3.0,2015.8.4,2015.5.10: Function renamed
189355              from pkg.get_locked_pkgs to pkg.list_holds.
189356
189357
189358              List information on locked packages
189359
189360              NOTE:
189361                 Requires the appropriate versionlock  plugin  package  to  be
189362                 installed:
189363
189364                 · On RHEL 5: yum-versionlock
189365
189366                 · On RHEL 6 & 7: yum-plugin-versionlock
189367
189368                 · On Fedora: python-dnf-plugins-extras-versionlock
189369
189370              pattern
189371                     \w+(?:[.-][^-]+)*  Regular  expression  used to match the
189372                     package name
189373
189374              full   True Show the full hold definition including version  and
189375                     epoch.  Set to False to return just the name of the pack‐
189376                     age(s) being held.
189377
189378              CLI Example:
189379
189380                 salt '*' pkg.list_holds
189381                 salt '*' pkg.list_holds full=False
189382
189383       salt.modules.yumpkg.list_installed_patches()
189384              New in version 2017.7.0.
189385
189386
189387              List installed advisory patches on the system.
189388
189389              CLI Examples:
189390
189391                 salt '*' pkg.list_installed_patches
189392
189393       salt.modules.yumpkg.list_patches(refresh=False)
189394              New in version 2017.7.0.
189395
189396
189397              List all known advisory patches from available repos.
189398
189399              refresh
189400                     force a  refresh  if  set  to  True.   If  set  to  False
189401                     (default) it depends on yum if a refresh is executed.
189402
189403              CLI Examples:
189404
189405                 salt '*' pkg.list_patches
189406
189407       salt.modules.yumpkg.list_pkgs(versions_as_list=False, **kwargs)
189408              List the packages currently installed as a dict. By default, the
189409              dict contains versions as a comma separated string:
189410
189411                 {'<package_name>': '<version>[,<version>...]'}
189412
189413              versions_as_list:
189414                     If set to true, the versions are provided as a list
189415
189416                     {'<package_name>': ['<version>', '<version>']}
189417
189418              attr:  If a list of package attributes  is  specified,  returned
189419                     value will contain them in addition to version, eg.:
189420
189421                        {'<package_name>': [{'version' : 'version', 'arch' : 'arch'}]}
189422
189423                     Valid  attributes  are:  epoch,  version,  release, arch,
189424                     install_date, install_date_time_t.
189425
189426                     If  all  is  specified,  all  valid  attributes  will  be
189427                     returned.
189428                        New in version 2018.3.0.
189429
189430
189431              CLI Example:
189432
189433                 salt '*' pkg.list_pkgs
189434                 salt '*' pkg.list_pkgs attr=version,arch
189435                 salt '*' pkg.list_pkgs attr='["version", "arch"]'
189436
189437       salt.modules.yumpkg.list_repo_pkgs(*args, **kwargs)
189438              New in version 2014.1.0.
189439
189440
189441              Changed  in  version  2014.7.0:  All  available versions of each
189442              package are now returned. This required a slight modification to
189443              the  structure  of  the return dict. The return data shown below
189444              reflects the updated return dict structure. Note  that  packages
189445              which  are version-locked using pkg.hold will only show the cur‐
189446              rently-installed version, as locking a package will  make  other
189447              versions appear unavailable to yum/dnf.
189448
189449
189450              Changed  in  version 2017.7.0: By default, the versions for each
189451              package are no longer organized by repository.  To  get  results
189452              organized by repository, use byrepo=True.
189453
189454
189455              Returns  all  available packages. Optionally, package names (and
189456              name globs) can be passed and the results will  be  filtered  to
189457              packages  matching those names. This is recommended as it speeds
189458              up the function considerably.
189459
189460              WARNING:
189461                 Running this function on RHEL/CentOS 6 and  earlier  will  be
189462                 more  resource-intensive,  as  the  version of yum that ships
189463                 with older RHEL/CentOS has  no  yum  subcommand  for  listing
189464                 packages  from  a  repository. Thus, a yum list installed and
189465                 yum list available are run, which generates a lot of  output,
189466                 which must then be analyzed to determine which package infor‐
189467                 mation to include in the return data.
189468
189469              This function can be helpful in discovering the version or  repo
189470              to specify in a pkg.installed state.
189471
189472              The  return data will be a dictionary mapping package names to a
189473              list of version numbers,  ordered  from  newest  to  oldest.  If
189474              byrepo  is  set to True, then the return dictionary will contain
189475              repository names at the top level, and each repository will  map
189476              packages to lists of version numbers. For example:
189477
189478                 # With byrepo=False (default)
189479                 {
189480                     'bash': ['4.1.2-15.el6_5.2',
189481                              '4.1.2-15.el6_5.1',
189482                              '4.1.2-15.el6_4'],
189483                     'kernel': ['2.6.32-431.29.2.el6',
189484                                '2.6.32-431.23.3.el6',
189485                                '2.6.32-431.20.5.el6',
189486                                '2.6.32-431.20.3.el6',
189487                                '2.6.32-431.17.1.el6',
189488                                '2.6.32-431.11.2.el6',
189489                                '2.6.32-431.5.1.el6',
189490                                '2.6.32-431.3.1.el6',
189491                                '2.6.32-431.1.2.0.1.el6',
189492                                '2.6.32-431.el6']
189493                 }
189494                 # With byrepo=True
189495                 {
189496                     'base': {
189497                         'bash': ['4.1.2-15.el6_4'],
189498                         'kernel': ['2.6.32-431.el6']
189499                     },
189500                     'updates': {
189501                         'bash': ['4.1.2-15.el6_5.2', '4.1.2-15.el6_5.1'],
189502                         'kernel': ['2.6.32-431.29.2.el6',
189503                                    '2.6.32-431.23.3.el6',
189504                                    '2.6.32-431.20.5.el6',
189505                                    '2.6.32-431.20.3.el6',
189506                                    '2.6.32-431.17.1.el6',
189507                                    '2.6.32-431.11.2.el6',
189508                                    '2.6.32-431.5.1.el6',
189509                                    '2.6.32-431.3.1.el6',
189510                                    '2.6.32-431.1.2.0.1.el6']
189511                     }
189512                 }
189513
189514              fromrepo
189515                     None  Only  include  results  from the specified repo(s).
189516                     Multiple repos can be specified, comma-separated.
189517
189518              enablerepo (ignored if fromrepo is specified)
189519                     Specify a disabled package repository  (or  repositories)
189520                     to enable.  (e.g., yum --enablerepo='somerepo')
189521
189522                     New in version 2017.7.0.
189523
189524
189525              disablerepo (ignored if fromrepo is specified)
189526                     Specify  an  enabled package repository (or repositories)
189527                     to disable.  (e.g., yum --disablerepo='somerepo')
189528
189529                     New in version 2017.7.0.
189530
189531
189532              byrepo False When True, the return data for each package will be
189533                     organized by repository.
189534
189535                     New in version 2017.7.0.
189536
189537
189538              cacheonly
189539                     False  When  True, the repo information will be retrieved
189540                     from the cached repo  metadata.  This  is  equivalent  to
189541                     passing the -C option to yum/dnf.
189542
189543                     New in version 2017.7.0.
189544
189545
189546              setopt A  comma-separated  or  Python list of key=value options.
189547                     This list will be expanded and --setopt prepended to each
189548                     in the yum/dnf command that is run.
189549
189550                     New in version Fluorine.
189551
189552
189553              CLI Examples:
189554
189555                 salt '*' pkg.list_repo_pkgs
189556                 salt '*' pkg.list_repo_pkgs foo bar baz
189557                 salt '*' pkg.list_repo_pkgs 'samba4*' fromrepo=base,updates
189558                 salt '*' pkg.list_repo_pkgs 'python2-*' byrepo=True
189559
189560       salt.modules.yumpkg.list_repos(basedir=None)
189561              Lists  all repos in <basedir> (default: all dirs in reposdir yum
189562              option).
189563
189564              CLI Example:
189565
189566                 salt '*' pkg.list_repos
189567                 salt '*' pkg.list_repos basedir=/path/to/dir
189568                 salt '*' pkg.list_repos basedir=/path/to/dir,/path/to/another/dir
189569
189570       salt.modules.yumpkg.list_upgrades(refresh=True, **kwargs)
189571              Check whether or not an upgrade is available for all packages
189572
189573              The fromrepo, enablerepo, and  disablerepo  arguments  are  sup‐
189574              ported, as used in pkg states, and the disableexcludes option is
189575              also supported.
189576
189577              New in version 2014.7.0: Support for the disableexcludes option
189578
189579
189580              CLI Example:
189581
189582                 salt '*' pkg.list_upgrades
189583
189584       salt.modules.yumpkg.mod_repo(repo, basedir=None, **kwargs)
189585              Modify one or more values for a  repo.  If  the  repo  does  not
189586              exist,  it  will be created, so long as the following values are
189587              specified:
189588
189589              repo   name by which the yum refers to the repo
189590
189591              name   a human-readable name for the repo
189592
189593              baseurl
189594                     the URL for yum to reference
189595
189596              mirrorlist
189597                     the URL for yum to reference
189598
189599              Key/Value pairs may also be removed from a repo's  configuration
189600              by setting a key to a blank value. Bear in mind that a name can‐
189601              not be deleted, and a baseurl can only  be  deleted  if  a  mir‐
189602              rorlist is specified (or vice versa).
189603
189604              CLI Examples:
189605
189606                 salt '*' pkg.mod_repo reponame enabled=1 gpgcheck=1
189607                 salt '*' pkg.mod_repo reponame basedir=/path/to/dir enabled=1
189608                 salt '*' pkg.mod_repo reponame baseurl= mirrorlist=http://host.com/
189609
189610       salt.modules.yumpkg.modified(*packages, **flags)
189611              List the modified files that belong to a package. Not specifying
189612              any packages will return a list of _all_ modified files  on  the
189613              system's RPM database.
189614
189615              New in version 2015.5.0.
189616
189617
189618              Filtering by flags (True or False):
189619
189620              size   Include only files where size changed.
189621
189622              mode   Include only files which file's mode has been changed.
189623
189624              checksum
189625                     Include only files which MD5 checksum has been changed.
189626
189627              device Include only files which major and minor numbers has been
189628                     changed.
189629
189630              symlink
189631                     Include only files which are symbolic link contents.
189632
189633              owner  Include only files where owner has been changed.
189634
189635              group  Include only files where group has been changed.
189636
189637              time   Include only files where modification time  of  the  file
189638                     has been changed.
189639
189640              capabilities
189641                     Include  only  files  where  capabilities  differ or not.
189642                     Note: supported only on newer RPM versions.
189643
189644              CLI Examples:
189645
189646                 salt '*' pkg.modified
189647                 salt '*' pkg.modified httpd
189648                 salt '*' pkg.modified httpd postfix
189649                 salt '*' pkg.modified httpd owner=True group=False
189650
189651       salt.modules.yumpkg.normalize_name(name)
189652              Strips the architecture from the specified package name, if nec‐
189653              essary.  Circumstances where this would be done include:
189654
189655              · If  the  arch  is 32 bit and the package name ends in a 32-bit
189656                arch.
189657
189658              · If the arch matches the OS arch, or is noarch.
189659
189660              CLI Example:
189661
189662                 salt '*' pkg.normalize_name zsh.x86_64
189663
189664       salt.modules.yumpkg.owner(*paths)
189665              New in version 2014.7.0.
189666
189667
189668              Return the name of the package that owns the file. Multiple file
189669              paths  can  be  passed.  Like  pkg.version,  if a single path is
189670              passed, a string will be returned, and  if  multiple  paths  are
189671              passed,   a  dictionary  of  file/package  name  pairs  will  be
189672              returned.
189673
189674              If the file is not owned by a package, or is not present on  the
189675              minion, then an empty string will be returned for that path.
189676
189677              CLI Examples:
189678
189679                 salt '*' pkg.owner /usr/bin/apachectl
189680                 salt '*' pkg.owner /usr/bin/apachectl /etc/httpd/conf/httpd.conf
189681
189682       salt.modules.yumpkg.purge(name=None, pkgs=None, **kwargs)
189683              Changed in version 2015.8.12,2016.3.3,2016.11.0: On minions run‐
189684              ning systemd>=205, systemd-run(1) is now used  to  isolate  com‐
189685              mands  which modify installed packages from the salt-minion dae‐
189686              mon's control group. This is done to keep systemd  from  killing
189687              any  yum/dnf  commands spawned by Salt when the salt-minion ser‐
189688              vice is restarted. (see KillMode in the systemd.kill(5)  manpage
189689              for  more  information). If desired, usage of systemd-run(1) can
189690              be suppressed by setting a config option  called  systemd.scope,
189691              with a value of False (no quotes).
189692
189693
189694              Package  purges are not supported by yum, this function is iden‐
189695              tical to pkg.remove.
189696
189697              name   The name of the package to be purged
189698
189699              Multiple Package Options:
189700
189701              pkgs   A list of packages to delete. Must be passed as a  python
189702                     list.  The  name parameter will be ignored if this option
189703                     is passed.
189704
189705              New in version 0.16.0.
189706
189707
189708              Returns a dict containing the changes.
189709
189710              CLI Example:
189711
189712                 salt '*' pkg.purge <package name>
189713                 salt '*' pkg.purge <package1>,<package2>,<package3>
189714                 salt '*' pkg.purge pkgs='["foo", "bar"]'
189715
189716       salt.modules.yumpkg.refresh_db(**kwargs)
189717              Check the yum repos for updated packages
189718
189719              Returns:
189720
189721              · True: Updates are available
189722
189723              · False: An error occurred
189724
189725              · None: No updates are available
189726
189727              repo   Refresh just the specified repo
189728
189729              disablerepo
189730                     Do not refresh the specified repo
189731
189732              enablerepo
189733                     Refresh a disabled repo using this option
189734
189735              branch Add the specified branch when refreshing
189736
189737              disableexcludes
189738                     Disable the excludes defined in your config files.  Takes
189739                     one of three options: - all - disable all excludes - main
189740                     - disable excludes defined in [main] in yum.conf - repoid
189741                     - disable excludes defined for that repo
189742
189743              setopt A  comma-separated  or  Python list of key=value options.
189744                     This list will be expanded and --setopt prepended to each
189745                     in the yum/dnf command that is run.
189746
189747                     New in version Fluorine.
189748
189749
189750              CLI Example:
189751
189752                 salt '*' pkg.refresh_db
189753
189754       salt.modules.yumpkg.remove(name=None, pkgs=None, **kwargs)
189755              Changed in version 2015.8.12,2016.3.3,2016.11.0: On minions run‐
189756              ning systemd>=205, systemd-run(1) is now used  to  isolate  com‐
189757              mands  which modify installed packages from the salt-minion dae‐
189758              mon's control group. This is done to keep systemd  from  killing
189759              any  yum/dnf  commands spawned by Salt when the salt-minion ser‐
189760              vice is restarted. (see KillMode in the systemd.kill(5)  manpage
189761              for  more  information). If desired, usage of systemd-run(1) can
189762              be suppressed by setting a config option  called  systemd.scope,
189763              with a value of False (no quotes).
189764
189765
189766              Remove packages
189767
189768              name   The name of the package to be removed
189769
189770              Multiple Package Options:
189771
189772              pkgs   A  list of packages to delete. Must be passed as a python
189773                     list. The name parameter will be ignored if  this  option
189774                     is passed.
189775
189776              New in version 0.16.0.
189777
189778
189779              Returns a dict containing the changes.
189780
189781              CLI Example:
189782
189783                 salt '*' pkg.remove <package name>
189784                 salt '*' pkg.remove <package1>,<package2>,<package3>
189785                 salt '*' pkg.remove pkgs='["foo", "bar"]'
189786
189787       salt.modules.yumpkg.unhold(name=None,      pkgs=None,     sources=None,
189788       **kwargs)
189789              New in version 2014.7.0.
189790
189791
189792              Remove version locks
189793
189794              NOTE:
189795                 Requires the appropriate versionlock  plugin  package  to  be
189796                 installed:
189797
189798                 · On RHEL 5: yum-versionlock
189799
189800                 · On RHEL 6 & 7: yum-plugin-versionlock
189801
189802                 · On Fedora: python-dnf-plugins-extras-versionlock
189803
189804              name   The name of the package to be unheld
189805
189806              Multiple Package Options:
189807
189808              pkgs   A  list of packages to unhold. Must be passed as a python
189809                     list. The name parameter will be ignored if  this  option
189810                     is passed.
189811
189812              Returns a dict containing the changes.
189813
189814              CLI Example:
189815
189816                 salt '*' pkg.unhold <package name>
189817                 salt '*' pkg.unhold pkgs='["foo", "bar"]'
189818
189819       salt.modules.yumpkg.update(name=None,      pkgs=None,     refresh=True,
189820       skip_verify=False,  normalize=True,   minimal=False,   obsoletes=False,
189821       **kwargs)
189822              New in version Fluorine.
189823
189824
189825              Calls pkg.upgrade with obsoletes=False. Mirrors the CLI behavior
189826              of yum update.  See pkg.upgrade for further documentation.
189827
189828                 salt '*' pkg.update
189829
189830       salt.modules.yumpkg.upgrade(name=None,     pkgs=None,     refresh=True,
189831       skip_verify=False,   normalize=True,   minimal=False,   obsoletes=True,
189832       **kwargs)
189833              Run a full system upgrade (a yum upgrade  or  dnf  upgrade),  or
189834              upgrade  specified  packages.  If the packages aren't installed,
189835              they will not be installed.
189836
189837              Changed in version 2014.7.0.
189838
189839
189840              Changed in version 2015.8.12,2016.3.3,2016.11.0: On minions run‐
189841              ning  systemd>=205,  systemd-run(1)  is now used to isolate com‐
189842              mands which modify installed packages from the salt-minion  dae‐
189843              mon's  control  group. This is done to keep systemd from killing
189844              any yum/dnf commands spawned by Salt when the  salt-minion  ser‐
189845              vice  is restarted. (see KillMode in the systemd.kill(5) manpage
189846              for more information). If desired, usage of  systemd-run(1)  can
189847              be  suppressed  by setting a config option called systemd.scope,
189848              with a value of False (no quotes).
189849
189850
189851              Changed in version Fluorine: Added obsoletes and  minimal  argu‐
189852              ments
189853
189854
189855              Returns a dictionary containing the changes:
189856
189857                 {'<package>':  {'old': '<old-version>',
189858                                 'new': '<new-version>'}}
189859
189860              CLI Example:
189861
189862                 salt '*' pkg.upgrade
189863                 salt '*' pkg.upgrade name=openssl
189864
189865              Repository Options:
189866
189867              fromrepo
189868                     Specify a package repository (or repositories) from which
189869                     to     install.      (e.g.,     yum     --disablerepo='*'
189870                     --enablerepo='somerepo')
189871
189872              enablerepo (ignored if fromrepo is specified)
189873                     Specify  a  disabled package repository (or repositories)
189874                     to enable.  (e.g., yum --enablerepo='somerepo')
189875
189876              disablerepo (ignored if fromrepo is specified)
189877                     Specify an enabled package repository  (or  repositories)
189878                     to disable.  (e.g., yum --disablerepo='somerepo')
189879
189880              disableexcludes
189881                     Disable  exclude from main, for a repo or for everything.
189882                     (e.g., yum --disableexcludes='main')
189883
189884                     New in version 2014.7.
189885
189886
189887              name   The name of the package to be upgraded.  Note  that  this
189888                     parameter is ignored if "pkgs" is passed.
189889
189890                     32-bit  packages  can  be  upgraded  on 64-bit systems by
189891                     appending the  architecture  designation  (.i686,  .i586,
189892                     etc.) to the end of the package name.
189893
189894                     Warning:  if  you  forget  'name='  and  run  pkg.upgrade
189895                     openssl,  ALL  packages  are  upgraded.  This   will   be
189896                     addressed in next releases.
189897
189898                     CLI Example:
189899
189900                        salt '*' pkg.upgrade name=openssl
189901
189902                     New in version 2016.3.0.
189903
189904
189905              pkgs   A list of packages to upgrade from a software repository.
189906                     Must be passed as a python list. A specific version  num‐
189907                     ber  can be specified by using a single-element dict rep‐
189908                     resenting the package and its version. If the package was
189909                     not  already  installed  on  the  system,  it will not be
189910                     installed.
189911
189912                     CLI Examples:
189913
189914                        salt '*' pkg.upgrade pkgs='["foo", "bar"]'
189915                        salt '*' pkg.upgrade pkgs='["foo", {"bar": "1.2.3-4.el5"}]'
189916
189917                     New in version 2016.3.0.
189918
189919
189920              normalize
189921                     True Normalize the package name by removing the architec‐
189922                     ture.  This  is  useful for poorly created packages which
189923                     might include the architecture as an actual part  of  the
189924                     name such as kernel modules which match a specific kernel
189925                     version.
189926
189927                        salt -G role:nsd pkg.upgrade gpfs.gplbin-2.6.32-279.31.1.el6.x86_64 normalize=False
189928
189929                     New in version 2016.3.0.
189930
189931
189932              minimal
189933                     False Use upgrade-minimal instead of upgrade  (e.g.,  yum
189934                     upgrade-minimal) Goes to the 'newest' package match which
189935                     fixes a problem that affects your system.
189936
189937                        salt '*' pkg.upgrade minimal=True
189938
189939                     New in version Fluorine.
189940
189941
189942              obsoletes
189943                     True Controls wether yum/dnf should take  obsoletes  into
189944                     account  and  remove  them.  If set to False yum will use
189945                     update instead of  upgrade  and  dnf  will  be  run  with
189946                     --obsoletes=False
189947
189948                        salt '*' pkg.upgrade obsoletes=False
189949
189950                     New in version Fluorine.
189951
189952
189953              setopt A  comma-separated  or  Python list of key=value options.
189954                     This list will be expanded and --setopt prepended to each
189955                     in the yum/dnf command that is run.
189956
189957                     New in version Fluorine.
189958
189959
189960              NOTE:
189961                 To  add extra arguments to the yum upgrade command, pass them
189962                 as key word arguments.  For  arguments  without  assignments,
189963                 pass True
189964
189965                 salt '*' pkg.upgrade security=True exclude='kernel*'
189966
189967       salt.modules.yumpkg.upgrade_available(name, **kwargs)
189968              Check whether or not an upgrade is available for a given package
189969
189970              CLI Example:
189971
189972                 salt '*' pkg.upgrade_available <package name>
189973
189974       salt.modules.yumpkg.verify(*names, **kwargs)
189975              New in version 2014.1.0.
189976
189977
189978              Runs an rpm -Va on a system, and returns the results in a dict
189979
189980              Pass  options  to  modify  rpm  verify  behavior  using the ver‐
189981              ify_options keyword argument
189982
189983              Files with an attribute of config, doc, ghost, license or readme
189984              in the package header can be ignored using the ignore_types key‐
189985              word argument
189986
189987              CLI Example:
189988
189989                 salt '*' pkg.verify
189990                 salt '*' pkg.verify httpd
189991                 salt '*' pkg.verify 'httpd postfix'
189992                 salt '*' pkg.verify 'httpd postfix' ignore_types=['config','doc']
189993                 salt '*' pkg.verify 'httpd postfix' verify_options=['nodeps','nosize']
189994
189995       salt.modules.yumpkg.version(*names, **kwargs)
189996              Returns a string representing the package version  or  an  empty
189997              string if not installed. If more than one package name is speci‐
189998              fied, a dict of name/version pairs is returned.
189999
190000              CLI Example:
190001
190002                 salt '*' pkg.version <package name>
190003                 salt '*' pkg.version <package1> <package2> <package3> ...
190004
190005       salt.modules.yumpkg.version_cmp(pkg1, pkg2, ignore_epoch=False)
190006              New in version 2015.5.4.
190007
190008
190009              Do a cmp-style comparison on two packages. Return -1 if  pkg1  <
190010              pkg2,  0  if  pkg1 == pkg2, and 1 if pkg1 > pkg2. Return None if
190011              there was a problem making the comparison.
190012
190013              ignore_epoch
190014                     False Set to True to ignore the epoch when comparing ver‐
190015                     sions
190016
190017                     New in version 2015.8.10,2016.3.2.
190018
190019
190020              CLI Example:
190021
190022                 salt '*' pkg.version_cmp '0.2-001' '0.2.0.1-002'
190023
190024   salt.modules.zabbix module
190025       Support for Zabbix
190026
190027       optdepends
190028
190029              · zabbix server
190030
190031       configuration
190032              This module is not usable until the zabbix user and zabbix pass‐
190033              word are specified either in a pillar or in the minion's  config
190034              file. Zabbix url should be also specified.
190035
190036                 zabbix.user: Admin
190037                 zabbix.password: mypassword
190038                 zabbix.url: http://127.0.0.1/zabbix/api_jsonrpc.php
190039
190040              Connection arguments from the minion config file can be overrid‐
190041              den on the CLI by using arguments with _connection_ prefix.
190042
190043                 zabbix.apiinfo_version _connection_user=Admin _connection_password=zabbix _connection_url=http://host/zabbix/
190044
190045       codeauthor
190046              Jiri Kotlin <jiri.kotlin@ultimum.io>
190047
190048       salt.modules.zabbix.apiinfo_version(**connection_args)
190049              Retrieve the version of the Zabbix API.
190050
190051              New in version 2016.3.0.
190052
190053
190054              Parameters
190055
190056                     · _connection_user -- Optional - zabbix user (can also be
190057                       set in opts or pillar, see module's docstring)
190058
190059                     · _connection_password -- Optional - zabbix password (can
190060                       also be set in opts or pillar, see module's docstring)
190061
190062                     · _connection_url -- Optional - url  of  zabbix  frontend
190063                       (can  also  be  set  in opts, pillar, see module's doc‐
190064                       string)
190065
190066              Returns
190067                     On success string with Zabbix API version, False on fail‐
190068                     ure.
190069
190070              CLI Example:
190071                 salt '*' zabbix.apiinfo_version
190072
190073       salt.modules.zabbix.compare_params(defined,                   existing,
190074       return_old_value=False)
190075              New in version 2017.7.
190076
190077
190078              Compares  Zabbix  object  definition  against  existing   Zabbix
190079              object.
190080
190081              Parameters
190082
190083                     · defined  --  Zabbix  object  definition  taken from sls
190084                       file.
190085
190086                     · existing -- Existing Zabbix object taken from result of
190087                       an API call.
190088
190089                     · return_old_value  --  Default  False.  If True, returns
190090                       dict("old"=old_val, "new"=new_val)  for  rollback  pur‐
190091                       pose.
190092
190093              Returns
190094                     Params  that  are  different from existing object. Result
190095                     extended by object ID can be passed  directly  to  Zabbix
190096                     API update method.
190097
190098       salt.modules.zabbix.configuration_import(config_file,       rules=None,
190099       file_format=u'xml', **connection_args)
190100              New in version 2017.7.
190101
190102
190103              Imports Zabbix configuration specified in file to Zabbix server.
190104
190105              Parameters
190106
190107                     · config_file  --  File  with  Zabbix  config  (local  or
190108                       remote)
190109
190110                     · rules  --  Optional  -  Rules that have to be different
190111                       from default (defaults are the same as  in  Zabbix  web
190112                       UI.)
190113
190114                     · file_format -- Config file format (default: xml)
190115
190116                     · _connection_user -- Optional - zabbix user (can also be
190117                       set in opts or pillar, see module's docstring)
190118
190119                     · _connection_password -- Optional - zabbix password (can
190120                       also be set in opts or pillar, see module's docstring)
190121
190122                     · _connection_url  --  Optional  - url of zabbix frontend
190123                       (can also be set in opts,  pillar,  see  module's  doc‐
190124                       string)
190125
190126              CLI Example:
190127
190128                 salt '*' zabbix.configuration_import salt://zabbix/config/zabbix_templates.xml         "{'screens': {'createMissing': True, 'updateExisting': True}}"
190129
190130       salt.modules.zabbix.get_object_id_by_params(obj, params=None, **connec‐
190131       tion_args)
190132              New in version 2017.7.
190133
190134
190135              Get ID of single Zabbix object specified by its name.
190136
190137              Parameters
190138
190139                     · obj -- Zabbix object type
190140
190141                     · params -- Parameters by which object is uniquely  iden‐
190142                       tified
190143
190144                     · _connection_user -- Optional - zabbix user (can also be
190145                       set in opts or pillar, see module's docstring)
190146
190147                     · _connection_password -- Optional - zabbix password (can
190148                       also be set in opts or pillar, see module's docstring)
190149
190150                     · _connection_url  --  Optional  - url of zabbix frontend
190151                       (can also be set in opts,  pillar,  see  module's  doc‐
190152                       string)
190153
190154              Returns
190155                     object ID
190156
190157       salt.modules.zabbix.get_zabbix_id_mapper()
190158              New in version 2017.7.
190159
190160
190161              Make ZABBIX_ID_MAPPER constant available to state modules.
190162
190163              Returns
190164                     ZABBIX_ID_MAPPER
190165
190166       salt.modules.zabbix.host_create(host,   groups,  interfaces,  **connec‐
190167       tion_args)
190168              New in version 2016.3.0.
190169
190170
190171              Create new host
190172
190173              NOTE:
190174                 This function accepts all standard host  properties:  keyword
190175                 argument  names  differ depending on your zabbix version, see
190176                 here.
190177
190178              Parameters
190179
190180                     · host -- technical name of the host
190181
190182                     · groups -- groupids of host groups to add the host to
190183
190184                     · interfaces -- interfaces to be created for the host
190185
190186                     · _connection_user -- Optional - zabbix user (can also be
190187                       set in opts or pillar, see module's docstring)
190188
190189                     · _connection_password -- Optional - zabbix password (can
190190                       also be set in opts or pillar, see module's docstring)
190191
190192                     · _connection_url -- Optional - url  of  zabbix  frontend
190193                       (can  also  be  set  in opts, pillar, see module's doc‐
190194                       string)
190195
190196                     · visible_name -- string with visible name of  the  host,
190197                       use  'visible_name'  instead of 'name' parameter to not
190198                       mess with value supplied from Salt sls file.
190199
190200              return: ID of the created host.
190201
190202              CLI Example:
190203
190204                 salt '*' zabbix.host_create technicalname 4
190205                 interfaces='{type: 1, main: 1, useip: 1, ip: "192.168.3.1", dns: "", port: 10050}'
190206                 visible_name='Host Visible Name' inventory_mode=0 inventory='{"alias": "something"}'
190207
190208       salt.modules.zabbix.host_delete(hostids, **connection_args)
190209              Delete hosts.
190210
190211              New in version 2016.3.0.
190212
190213
190214              Parameters
190215
190216                     · hostids -- Hosts (hostids) to delete.
190217
190218                     · _connection_user -- Optional - zabbix user (can also be
190219                       set in opts or pillar, see module's docstring)
190220
190221                     · _connection_password -- Optional - zabbix password (can
190222                       also be set in opts or pillar, see module's docstring)
190223
190224                     · _connection_url -- Optional - url  of  zabbix  frontend
190225                       (can  also  be  set  in opts, pillar, see module's doc‐
190226                       string)
190227
190228              Returns
190229                     IDs of the deleted hosts.
190230
190231              CLI Example:
190232                 salt '*' zabbix.host_delete 10106
190233
190234       salt.modules.zabbix.host_exists(host=None,   hostid=None,    name=None,
190235       node=None, nodeids=None, **connection_args)
190236              Checks if at least one host that matches the given filter crite‐
190237              ria exists.
190238
190239              New in version 2016.3.0.
190240
190241
190242              Parameters
190243
190244                     · host -- technical name of the host
190245
190246                     · hostids -- Hosts (hostids) to delete.
190247
190248                     · name -- visible name of the host
190249
190250                     · node -- name of the node the hosts must belong to (zab‐
190251                       bix API < 2.4)
190252
190253                     · nodeids  --  IDs  of  the node the hosts must belong to
190254                       (zabbix API < 2.4)
190255
190256                     · _connection_user -- Optional - zabbix user (can also be
190257                       set in opts or pillar, see module's docstring)
190258
190259                     · _connection_password -- Optional - zabbix password (can
190260                       also be set in opts or pillar, see module's docstring)
190261
190262                     · _connection_url -- Optional - url  of  zabbix  frontend
190263                       (can  also  be  set  in opts, pillar, see module's doc‐
190264                       string)
190265
190266              Returns
190267                     IDs of the deleted hosts, False on failure.
190268
190269              CLI Example:
190270                 salt '*' zabbix.host_exists 'Zabbix server'
190271
190272       salt.modules.zabbix.host_get(host=None, name=None, hostids=None, **con‐
190273       nection_args)
190274              New in version 2016.3.0.
190275
190276
190277              Retrieve hosts according to the given parameters
190278
190279              NOTE:
190280                 This  function accepts all optional host.get parameters: key‐
190281                 word argument names differ depending on your zabbix  version,
190282                 see here.
190283
190284              Parameters
190285
190286                     · host -- technical name of the host
190287
190288                     · name -- visible name of the host
190289
190290                     · hostids -- ids of the hosts
190291
190292                     · _connection_user -- Optional - zabbix user (can also be
190293                       set in opts or pillar, see module's docstring)
190294
190295                     · _connection_password -- Optional - zabbix password (can
190296                       also be set in opts or pillar, see module's docstring)
190297
190298                     · _connection_url  --  Optional  - url of zabbix frontend
190299                       (can also be set in opts,  pillar,  see  module's  doc‐
190300                       string)
190301
190302              Returns
190303                     Array  with  convenient  hosts  details, False if no host
190304                     found or on failure.
190305
190306              CLI Example:
190307                 salt '*' zabbix.host_get 'Zabbix server'
190308
190309       salt.modules.zabbix.host_inventory_get(hostids, **connection_args)
190310              Retrieve host inventory according to the given parameters.  See:
190311              https://www.zabbix.com/documentation/2.4/manual/api/reference/host/object#host_inventory
190312
190313              New in version Fluorine.
190314
190315
190316              Parameters
190317
190318                     · hostids -- Return only  host  interfaces  used  by  the
190319                       given hosts.
190320
190321                     · _connection_user -- Optional - zabbix user (can also be
190322                       set in opts or pillar, see module's docstring)
190323
190324                     · _connection_password -- Optional - zabbix password (can
190325                       also be set in opts or pillar, see module's docstring)
190326
190327                     · _connection_url  --  Optional  - url of zabbix frontend
190328                       (can also be set in opts,  pillar,  see  module's  doc‐
190329                       string)
190330
190331              Returns
190332                     Array  with  host  interfaces details, False if no conve‐
190333                     nient host interfaces found or on failure.
190334
190335              CLI Example:
190336                 salt '*' zabbix.host_inventory_get 101054
190337
190338       salt.modules.zabbix.host_inventory_set(hostid, **connection_args)
190339              Update host inventory items  NOTE:  This  function  accepts  all
190340              standard   host:  keyword  argument  names  for  inventory  see:
190341              https://www.zabbix.com/documentation/2.4/manual/api/reference/host/object#host_inventory
190342
190343              New in version Fluorine.
190344
190345
190346              Parameters
190347
190348                     · hostid -- ID of the host to update
190349
190350                     · clear_old  -- Set to True in order to remove all exist‐
190351                       ing inventory items before setting the specified items
190352
190353                     · _connection_user -- Optional - zabbix user (can also be
190354                       set in opts or pillar, see module's docstring)
190355
190356                     · _connection_password -- Optional - zabbix password (can
190357                       also be set in opts or pillar, see module's docstring)
190358
190359                     · _connection_url -- Optional - url  of  zabbix  frontend
190360                       (can  also  be  set  in opts, pillar, see module's doc‐
190361                       string)
190362
190363              Returns
190364                     ID of the updated host, False on failure.
190365
190366              CLI Example:
190367                 salt '*' zabbix.host_inventory_set  101054  asset_tag=jml3322
190368                 type=vm clear_old=True
190369
190370       salt.modules.zabbix.host_list(**connection_args)
190371              Retrieve all hosts.
190372
190373              New in version 2016.3.0.
190374
190375
190376              Parameters
190377
190378                     · _connection_user -- Optional - zabbix user (can also be
190379                       set in opts or pillar, see module's docstring)
190380
190381                     · _connection_password -- Optional - zabbix password (can
190382                       also be set in opts or pillar, see module's docstring)
190383
190384                     · _connection_url  --  Optional  - url of zabbix frontend
190385                       (can also be set in opts,  pillar,  see  module's  doc‐
190386                       string)
190387
190388              Returns
190389                     Array with details about hosts, False on failure.
190390
190391              CLI Example:
190392                 salt '*' zabbix.host_list
190393
190394       salt.modules.zabbix.host_update(hostid, **connection_args)
190395              New in version 2016.3.0.
190396
190397
190398              Update existing hosts
190399
190400              NOTE:
190401                 This function accepts all standard host and host.update prop‐
190402                 erties: keyword argument names differ depending on your  zab‐
190403                 bix  version,  see the documentation for host objects and the
190404                 documentation for updating hosts.
190405
190406              Parameters
190407
190408                     · hostid -- ID of the host to update
190409
190410                     · _connection_user -- Optional - zabbix user (can also be
190411                       set in opts or pillar, see module's docstring)
190412
190413                     · _connection_password -- Optional - zabbix password (can
190414                       also be set in opts or pillar, see module's docstring)
190415
190416                     · _connection_url -- Optional - url  of  zabbix  frontend
190417                       (can  also  be  set  in opts, pillar, see module's doc‐
190418                       string)
190419
190420                     · visible_name -- string with visible name of  the  host,
190421                       use  'visible_name'  instead of 'name' parameter to not
190422                       mess with value supplied from Salt sls file.
190423
190424              Returns
190425                     ID of the updated host.
190426
190427              CLI Example:
190428                 salt '*' zabbix.host_update 10084 name='Zabbix server2'
190429
190430       salt.modules.zabbix.hostgroup_create(name, **connection_args)
190431              New in version 2016.3.0.
190432
190433
190434              Create a host group
190435
190436              NOTE:
190437                 This function accepts all  standard  host  group  properties:
190438                 keyword  argument  names differ depending on your zabbix ver‐
190439                 sion, see here.
190440
190441              Parameters
190442
190443                     · name -- name of the host group
190444
190445                     · _connection_user -- Optional - zabbix user (can also be
190446                       set in opts or pillar, see module's docstring)
190447
190448                     · _connection_password -- Optional - zabbix password (can
190449                       also be set in opts or pillar, see module's docstring)
190450
190451                     · _connection_url -- Optional - url  of  zabbix  frontend
190452                       (can  also  be  set  in opts, pillar, see module's doc‐
190453                       string)
190454
190455              Returns
190456                     ID of the created host group.
190457
190458              CLI Example:
190459                 salt '*' zabbix.hostgroup_create MyNewGroup
190460
190461       salt.modules.zabbix.hostgroup_delete(hostgroupids, **connection_args)
190462              Delete the host group.
190463
190464              New in version 2016.3.0.
190465
190466
190467              Parameters
190468
190469                     · hostgroupids -- IDs of the host groups to delete
190470
190471                     · _connection_user -- Optional - zabbix user (can also be
190472                       set in opts or pillar, see module's docstring)
190473
190474                     · _connection_password -- Optional - zabbix password (can
190475                       also be set in opts or pillar, see module's docstring)
190476
190477                     · _connection_url -- Optional - url  of  zabbix  frontend
190478                       (can  also  be  set  in opts, pillar, see module's doc‐
190479                       string)
190480
190481              Returns
190482                     ID of the deleted host groups, False on failure.
190483
190484              CLI Example:
190485                 salt '*' zabbix.hostgroup_delete 23
190486
190487       salt.modules.zabbix.hostgroup_exists(name=None,           groupid=None,
190488       node=None, nodeids=None, **connection_args)
190489              Checks  if at least one host group that matches the given filter
190490              criteria exists.
190491
190492              New in version 2016.3.0.
190493
190494
190495              Parameters
190496
190497                     · name -- names of the host groups
190498
190499                     · groupid -- host group IDs
190500
190501                     · node -- name of the node the host groups must belong to
190502                       (zabbix API < 2.4)
190503
190504                     · nodeids -- IDs of the nodes the host groups must belong
190505                       to (zabbix API < 2.4)
190506
190507                     · _connection_user -- Optional - zabbix user (can also be
190508                       set in opts or pillar, see module's docstring)
190509
190510                     · _connection_password -- Optional - zabbix password (can
190511                       also be set in opts or pillar, see module's docstring)
190512
190513                     · _connection_url -- Optional - url  of  zabbix  frontend
190514                       (can  also  be  set  in opts, pillar, see module's doc‐
190515                       string)
190516
190517              Returns
190518                     True if at least one host group exists, False if  not  or
190519                     on failure.
190520
190521              CLI Example:
190522                 salt '*' zabbix.hostgroup_exists MyNewGroup
190523
190524       salt.modules.zabbix.hostgroup_get(name=None,             groupids=None,
190525       hostids=None, **connection_args)
190526              New in version 2016.3.0.
190527
190528
190529              Retrieve host groups according to the given parameters
190530
190531              NOTE:
190532                 This function accepts all standard hostgroup.get properities:
190533                 keyword  argument  names differ depending on your zabbix ver‐
190534                 sion, see here.
190535
190536              Parameters
190537
190538                     · name -- names of the host groups
190539
190540                     · groupid -- host group IDs
190541
190542                     · node -- name of the node the host groups must belong to
190543
190544                     · nodeids -- IDs of the nodes the host groups must belong
190545                       to
190546
190547                     · hostids  --  return  only  host groups that contain the
190548                       given hosts
190549
190550                     · _connection_user -- Optional - zabbix user (can also be
190551                       set in opts or pillar, see module's docstring)
190552
190553                     · _connection_password -- Optional - zabbix password (can
190554                       also be set in opts or pillar, see module's docstring)
190555
190556                     · _connection_url -- Optional - url  of  zabbix  frontend
190557                       (can  also  be  set  in opts, pillar, see module's doc‐
190558                       string)
190559
190560              Returns
190561                     Array with host groups details, False  if  no  convenient
190562                     host group found or on failure.
190563
190564              CLI Example:
190565                 salt '*' zabbix.hostgroup_get MyNewGroup
190566
190567       salt.modules.zabbix.hostgroup_list(**connection_args)
190568              Retrieve all host groups.
190569
190570              New in version 2016.3.0.
190571
190572
190573              Parameters
190574
190575                     · _connection_user -- Optional - zabbix user (can also be
190576                       set in opts or pillar, see module's docstring)
190577
190578                     · _connection_password -- Optional - zabbix password (can
190579                       also be set in opts or pillar, see module's docstring)
190580
190581                     · _connection_url  --  Optional  - url of zabbix frontend
190582                       (can also be set in opts,  pillar,  see  module's  doc‐
190583                       string)
190584
190585              Returns
190586                     Array with details about host groups, False on failure.
190587
190588              CLI Example:
190589                 salt '*' zabbix.hostgroup_list
190590
190591       salt.modules.zabbix.hostgroup_update(groupid,    name=None,   **connec‐
190592       tion_args)
190593              New in version 2016.3.0.
190594
190595
190596              Update existing hosts group
190597
190598              NOTE:
190599                 This function accepts all  standard  host  group  properties:
190600                 keyword  argument  names differ depending on your zabbix ver‐
190601                 sion, see here.
190602
190603              Parameters
190604
190605                     · groupid -- ID of the host group to update
190606
190607                     · name -- name of the host group
190608
190609                     · _connection_user -- Optional - zabbix user (can also be
190610                       set in opts or pillar, see module's docstring)
190611
190612                     · _connection_password -- Optional - zabbix password (can
190613                       also be set in opts or pillar, see module's docstring)
190614
190615                     · _connection_url -- Optional - url  of  zabbix  frontend
190616                       (can  also  be  set  in opts, pillar, see module's doc‐
190617                       string)
190618
190619              Returns
190620                     IDs of updated host groups.
190621
190622              CLI Example:
190623                 salt '*' zabbix.hostgroup_update 24 name='Renamed Name'
190624
190625       salt.modules.zabbix.hostinterface_create(hostid, ip_, dns=u'',  main=1,
190626       if_type=1, useip=1, port=None, **connection_args)
190627              New in version 2016.3.0.
190628
190629
190630              Create new host interface
190631
190632              NOTE:
190633                 This function accepts all standard host group interface: key‐
190634                 word argument names differ depending on your zabbix  version,
190635                 see here.
190636
190637              Parameters
190638
190639                     · hostid -- ID of the host the interface belongs to
190640
190641                     · ip -- IP address used by the interface
190642
190643                     · dns -- DNS name used by the interface
190644
190645                     · main -- whether the interface is used as default on the
190646                       host (0 - not default, 1 - default)
190647
190648                     · port -- port number used by the interface
190649
190650                     · type -- Interface type (1 - agent; 2 - SNMP; 3 -  IPMI;
190651                       4 - JMX)
190652
190653                     · useip  --  Whether the connection should be made via IP
190654                       (0 - connect using host DNS name;  1  -  connect  using
190655                       host IP address for this host interface)
190656
190657                     · _connection_user -- Optional - zabbix user (can also be
190658                       set in opts or pillar, see module's docstring)
190659
190660                     · _connection_password -- Optional - zabbix password (can
190661                       also be set in opts or pillar, see module's docstring)
190662
190663                     · _connection_url  --  Optional  - url of zabbix frontend
190664                       (can also be set in opts,  pillar,  see  module's  doc‐
190665                       string)
190666
190667              Returns
190668                     ID of the created host interface, False on failure.
190669
190670              CLI Example:
190671                 salt '*' zabbix.hostinterface_create 10105 192.193.194.197
190672
190673       salt.modules.zabbix.hostinterface_delete(interfaceids,        **connec‐
190674       tion_args)
190675              Delete host interface
190676
190677              New in version 2016.3.0.
190678
190679
190680              Parameters
190681
190682                     · interfaceids -- IDs of the host interfaces to delete
190683
190684                     · _connection_user -- Optional - zabbix user (can also be
190685                       set in opts or pillar, see module's docstring)
190686
190687                     · _connection_password -- Optional - zabbix password (can
190688                       also be set in opts or pillar, see module's docstring)
190689
190690                     · _connection_url -- Optional - url  of  zabbix  frontend
190691                       (can  also  be  set  in opts, pillar, see module's doc‐
190692                       string)
190693
190694              Returns
190695                     ID of deleted host interfaces, False on failure.
190696
190697              CLI Example:
190698                 salt '*' zabbix.hostinterface_delete 50
190699
190700       salt.modules.zabbix.hostinterface_get(hostids, **connection_args)
190701              New in version 2016.3.0.
190702
190703
190704              Retrieve host groups according to the given parameters
190705
190706              NOTE:
190707                 This function accepts all standard hostinterface.get properi‐
190708                 ties:  keyword argument names differ depending on your zabbix
190709                 version, see here.
190710
190711              Parameters
190712
190713                     · hostids -- Return only  host  interfaces  used  by  the
190714                       given hosts.
190715
190716                     · _connection_user -- Optional - zabbix user (can also be
190717                       set in opts or pillar, see module's docstring)
190718
190719                     · _connection_password -- Optional - zabbix password (can
190720                       also be set in opts or pillar, see module's docstring)
190721
190722                     · _connection_url  --  Optional  - url of zabbix frontend
190723                       (can also be set in opts,  pillar,  see  module's  doc‐
190724                       string)
190725
190726              Returns
190727                     Array  with  host  interfaces details, False if no conve‐
190728                     nient host interfaces found or on failure.
190729
190730              CLI Example:
190731                 salt '*' zabbix.hostinterface_get 101054
190732
190733       salt.modules.zabbix.hostinterface_update(interfaceid,         **connec‐
190734       tion_args)
190735              New in version 2016.3.0.
190736
190737
190738              Update host interface
190739
190740              NOTE:
190741                 This  function  accepts  all  standard hostinterface: keyword
190742                 argument names differ depending on your zabbix  version,  see
190743                 here.
190744
190745              Parameters
190746
190747                     · interfaceid -- ID of the hostinterface to update
190748
190749                     · _connection_user -- Optional - zabbix user (can also be
190750                       set in opts or pillar, see module's docstring)
190751
190752                     · _connection_password -- Optional - zabbix password (can
190753                       also be set in opts or pillar, see module's docstring)
190754
190755                     · _connection_url  --  Optional  - url of zabbix frontend
190756                       (can also be set in opts,  pillar,  see  module's  doc‐
190757                       string)
190758
190759              Returns
190760                     ID of the updated host interface, False on failure.
190761
190762              CLI Example:
190763                 salt '*' zabbix.hostinterface_update 6 ip_=0.0.0.2
190764
190765       salt.modules.zabbix.mediatype_create(name,     mediatype,     **connec‐
190766       tion_args)
190767              Create new mediatype
190768
190769              NOTE:
190770                 This function accepts all standard mediatype properties: key‐
190771                 word  argument names differ depending on your zabbix version,
190772                 see here.
190773
190774              Parameters
190775
190776                     · mediatype -- media type - 0: email, 1: script, 2:  sms,
190777                       3: Jabber, 100: Ez Texting
190778
190779                     · exec_path  --  exec  path  - Required for script and Ez
190780                       Texting types, see Zabbix API docs
190781
190782                     · gsm_modem -- exec path - Required  for  sms  type,  see
190783                       Zabbix API docs
190784
190785                     · smtp_email  --  email  address from which notifications
190786                       will be sent, required for email type
190787
190788                     · smtp_helo -- SMTP HELO, required for email type
190789
190790                     · smtp_server -- SMTP server, required for email type
190791
190792                     · status -- whether  the  media  type  is  enabled  -  0:
190793                       enabled, 1: disabled
190794
190795                     · username  --  authentication  user, required for Jabber
190796                       and Ez Texting types
190797
190798                     · passwd -- authentication password, required for  Jabber
190799                       and Ez Texting types
190800
190801                     · _connection_user -- Optional - zabbix user (can also be
190802                       set in opts or pillar, see module's docstring)
190803
190804                     · _connection_password -- Optional - zabbix password (can
190805                       also be set in opts or pillar, see module's docstring)
190806
190807                     · _connection_url  --  Optional  - url of zabbix frontend
190808                       (can also be set in opts,  pillar,  see  module's  doc‐
190809                       string)
190810
190811              return: ID of the created mediatype.
190812
190813              CLI Example:
190814
190815                 salt '*' zabbix.mediatype_create 'Email' 0 smtp_email='noreply@example.com'
190816                 smtp_server='mailserver.example.com' smtp_helo='zabbix.example.com'
190817
190818       salt.modules.zabbix.mediatype_delete(mediatypeids, **connection_args)
190819              Delete mediatype
190820
190821              Parameters
190822
190823                     · interfaceids -- IDs of the mediatypes to delete
190824
190825                     · _connection_user -- Optional - zabbix user (can also be
190826                       set in opts or pillar, see module's docstring)
190827
190828                     · _connection_password -- Optional - zabbix password (can
190829                       also be set in opts or pillar, see module's docstring)
190830
190831                     · _connection_url  --  Optional  - url of zabbix frontend
190832                       (can also be set in opts,  pillar,  see  module's  doc‐
190833                       string)
190834
190835              Returns
190836                     ID of deleted mediatype, False on failure.
190837
190838              CLI Example:
190839                 salt '*' zabbix.mediatype_delete 3
190840
190841       salt.modules.zabbix.mediatype_get(name=None,  mediatypeids=None, **con‐
190842       nection_args)
190843              Retrieve mediatypes according to the given parameters.
190844
190845              Parameters
190846
190847                     · name -- Name or description of the mediatype
190848
190849                     · mediatypeids -- ids of the mediatypes
190850
190851                     · connection_args (optional) --
190852
190853                       _connection_user: zabbix user (can also be set in  opts
190854                       or  pillar,  see  module's docstring) _connection_pass‐
190855                       word: zabbix password (can also be set in opts or  pil‐
190856                       lar,  see  module's  docstring) _connection_url: url of
190857                       zabbix frontend (can also be set in opts or pillar, see
190858                       module's docstring)
190859
190860                       all optional mediatype.get parameters: keyword argument
190861                       names depends on your zabbix version, see:
190862
190863                       https://www.zabbix.com/documentation/2.2/manual/api/reference/mediatype/get
190864
190865
190866              Returns
190867                     Array with mediatype details, False if no mediatype found
190868                     or on failure.
190869
190870              CLI Example:
190871                 salt '*'  zabbix.mediatype_get  name='Email'  salt  '*'  zab‐
190872                 bix.mediatype_get mediatypeids="['1', '2', '3']"
190873
190874       salt.modules.zabbix.mediatype_update(mediatypeid,   name=False,   medi‐
190875       atype=False, **connection_args)
190876              Update existing mediatype
190877
190878              NOTE:
190879                 This function accepts all standard mediatype properties: key‐
190880                 word  argument names differ depending on your zabbix version,
190881                 see here.
190882
190883              Parameters
190884
190885                     · mediatypeid -- ID of the mediatype to update
190886
190887                     · _connection_user -- Optional - zabbix user (can also be
190888                       set in opts or pillar, see module's docstring)
190889
190890                     · _connection_password -- Optional - zabbix password (can
190891                       also be set in opts or pillar, see module's docstring)
190892
190893                     · _connection_url -- Optional - url  of  zabbix  frontend
190894                       (can  also  be  set  in opts, pillar, see module's doc‐
190895                       string)
190896
190897              Returns
190898                     IDs of the updated mediatypes, False on failure.
190899
190900              CLI Example:
190901                 salt '*' zabbix.usergroup_update 8 name="Email update"
190902
190903       salt.modules.zabbix.run_query(method, params, **connection_args)
190904              Send Zabbix API call
190905
190906              Parameters
190907
190908                     · method -- actual operation to perform via the API
190909
190910                     · params -- parameters required for specific method
190911
190912                     · connection_args (optional) --
190913
190914                       _connection_user: zabbix user (can also be set in  opts
190915                       or  pillar,  see  module's docstring) _connection_pass‐
190916                       word: zabbix password (can also be set in opts or  pil‐
190917                       lar,  see  module's  docstring) _connection_url: url of
190918                       zabbix frontend (can also be set in opts or pillar, see
190919                       module's docstring)
190920
190921                       all  optional template.get parameters: keyword argument
190922                       names depends on your zabbix version, see:
190923
190924                       https://www.zabbix.com/documentation/2.4/manual/api/reference/
190925
190926
190927              Returns
190928                     Response from Zabbix API
190929
190930              CLI Example:
190931                 salt  '*'  zabbix.run_query  proxy.create  '{"host": "zabbix‐
190932                 proxy.domain.com", "status": "5"}'
190933
190934       salt.modules.zabbix.substitute_params(input_object, extend_params=None,
190935       filter_key=u'name', **kwargs)
190936              New in version 2017.7.
190937
190938
190939              Go  through Zabbix object params specification and if needed get
190940              given object ID from Zabbix API and put it back as a value. Def‐
190941              inition  of the object is done via dict with keys "query_object"
190942              and "query_name".
190943
190944              Parameters
190945
190946                     · input_object -- Zabbix object type specified  in  state
190947                       file
190948
190949                     · extend_params -- Specify query with params
190950
190951                     · filter_key -- Custom filtering key (default: name)
190952
190953                     · _connection_user -- Optional - zabbix user (can also be
190954                       set in opts or pillar, see module's docstring)
190955
190956                     · _connection_password -- Optional - zabbix password (can
190957                       also be set in opts or pillar, see module's docstring)
190958
190959                     · _connection_url  --  Optional  - url of zabbix frontend
190960                       (can also be set in opts,  pillar,  see  module's  doc‐
190961                       string)
190962
190963              Returns
190964                     Params structure with values converted to string for fur‐
190965                     ther comparison purposes
190966
190967       salt.modules.zabbix.template_get(name=None,       host=None,       tem‐
190968       plateids=None, **connection_args)
190969              Retrieve templates according to the given parameters.
190970
190971              Parameters
190972
190973                     · host -- technical name of the template
190974
190975                     · name -- visible name of the template
190976
190977                     · hostids -- ids of the templates
190978
190979                     · connection_args (optional) --
190980
190981                       _connection_user:  zabbix user (can also be set in opts
190982                       or pillar, see  module's  docstring)  _connection_pass‐
190983                       word:  zabbix password (can also be set in opts or pil‐
190984                       lar, see module's docstring)  _connection_url:  url  of
190985                       zabbix frontend (can also be set in opts or pillar, see
190986                       module's docstring)
190987
190988                       all optional template.get parameters: keyword  argument
190989                       names depends on your zabbix version, see:
190990
190991                       https://www.zabbix.com/documentation/2.4/manual/api/reference/template/get
190992
190993
190994              Returns
190995                     Array with convenient template details, False if no  tem‐
190996                     plate found or on failure.
190997
190998              CLI Example:
190999                 salt  '*'  zabbix.template_get  name='Template OS Linux' salt
191000                 '*' zabbix.template_get templateids="['10050', '10001']"
191001
191002       salt.modules.zabbix.user_addmedia(userids, active, mediatypeid, period,
191003       sendto, severity, **connection_args)
191004              Add new media to multiple users.
191005
191006              New in version 2016.3.0.
191007
191008
191009              Parameters
191010
191011                     · userids -- ID of the user that uses the media
191012
191013                     · active  --  Whether  the media is enabled (0 enabled, 1
191014                       disabled)
191015
191016                     · mediatypeid -- ID of the media type used by the media
191017
191018                     · period -- Time when the notifications can be sent as  a
191019                       time period
191020
191021                     · sendto -- Address, user name or other identifier of the
191022                       recipient
191023
191024                     · severity -- Trigger severities  to  send  notifications
191025                       about
191026
191027                     · _connection_user -- Optional - zabbix user (can also be
191028                       set in opts or pillar, see module's docstring)
191029
191030                     · _connection_password -- Optional - zabbix password (can
191031                       also be set in opts or pillar, see module's docstring)
191032
191033                     · _connection_url  --  Optional  - url of zabbix frontend
191034                       (can also be set in opts,  pillar,  see  module's  doc‐
191035                       string)
191036
191037              Returns
191038                     IDs of the created media.
191039
191040              CLI Example:
191041                 salt   '*'   zabbix.user_addmedia  4  active=0  mediatypeid=1
191042                 period='1-7,00:00-24:00' sendto='support2@example.com' sever‐
191043                 ity=63
191044
191045       salt.modules.zabbix.user_create(alias,   passwd,   usrgrps,   **connec‐
191046       tion_args)
191047              New in version 2016.3.0.
191048
191049
191050              Create new zabbix user
191051
191052              NOTE:
191053                 This function accepts all standard user  properties:  keyword
191054                 argument  names  differ depending on your zabbix version, see
191055                 here.
191056
191057              Parameters
191058
191059                     · alias -- user alias
191060
191061                     · passwd -- user's password
191062
191063                     · usrgrps -- user groups to add the user to
191064
191065                     · _connection_user -- zabbix user (can  also  be  set  in
191066                       opts or pillar, see module's docstring)
191067
191068                     · _connection_password  --  zabbix  password (can also be
191069                       set in opts or pillar, see module's docstring)
191070
191071                     · _connection_url -- url of zabbix frontend (can also  be
191072                       set in opts or pillar, see module's docstring)
191073
191074                     · firstname  --  string  with  firstname of the user, use
191075                       'firstname' instead of 'name'  parameter  to  not  mess
191076                       with value supplied from Salt sls file.
191077
191078              Returns
191079                     On success string with id of the created user.
191080
191081              CLI Example:
191082                 salt  '*'  zabbix.user_create  james  password007  '[7,  12]'
191083                 firstname='James Bond'
191084
191085       salt.modules.zabbix.user_delete(users, **connection_args)
191086              Delete zabbix users.
191087
191088              New in version 2016.3.0.
191089
191090
191091              Parameters
191092
191093                     · users -- array of users (userids) to delete
191094
191095                     · _connection_user -- Optional - zabbix user (can also be
191096                       set in opts or pillar, see module's docstring)
191097
191098                     · _connection_password -- Optional - zabbix password (can
191099                       also be set in opts or pillar, see module's docstring)
191100
191101                     · _connection_url -- Optional - url  of  zabbix  frontend
191102                       (can  also  be  set  in opts, pillar, see module's doc‐
191103                       string)
191104
191105              Returns
191106                     On success array with userids of deleted users.
191107
191108              CLI Example:
191109                 salt '*' zabbix.user_delete 15
191110
191111       salt.modules.zabbix.user_deletemedia(mediaids, **connection_args)
191112              Delete media by id.
191113
191114              New in version 2016.3.0.
191115
191116
191117              Parameters
191118
191119                     · mediaids -- IDs of the media to delete
191120
191121                     · _connection_user -- Optional - zabbix user (can also be
191122                       set in opts or pillar, see module's docstring)
191123
191124                     · _connection_password -- Optional - zabbix password (can
191125                       also be set in opts or pillar, see module's docstring)
191126
191127                     · _connection_url -- Optional - url  of  zabbix  frontend
191128                       (can  also  be  set  in opts, pillar, see module's doc‐
191129                       string)
191130
191131              Returns
191132                     IDs of the deleted media, False on failure.
191133
191134              CLI Example:
191135                 salt '*' zabbix.user_deletemedia 27
191136
191137       salt.modules.zabbix.user_exists(alias, **connection_args)
191138              Checks if user with given alias exists.
191139
191140              New in version 2016.3.0.
191141
191142
191143              Parameters
191144
191145                     · alias -- user alias
191146
191147                     · _connection_user -- Optional - zabbix user (can also be
191148                       set in opts or pillar, see module's docstring)
191149
191150                     · _connection_password -- Optional - zabbix password (can
191151                       also be set in opts or pillar, see module's docstring)
191152
191153                     · _connection_url -- Optional - url  of  zabbix  frontend
191154                       (can  also  be  set  in opts, pillar, see module's doc‐
191155                       string)
191156
191157              Returns
191158                     True if user exists, else False.
191159
191160              CLI Example:
191161                 salt '*' zabbix.user_exists james
191162
191163       salt.modules.zabbix.user_get(alias=None,    userids=None,     **connec‐
191164       tion_args)
191165              Retrieve users according to the given parameters.
191166
191167              New in version 2016.3.0.
191168
191169
191170              Parameters
191171
191172                     · alias -- user alias
191173
191174                     · userids -- return only users with the given IDs
191175
191176                     · _connection_user -- Optional - zabbix user (can also be
191177                       set in opts or pillar, see module's docstring)
191178
191179                     · _connection_password -- Optional - zabbix password (can
191180                       also be set in opts or pillar, see module's docstring)
191181
191182                     · _connection_url  --  Optional  - url of zabbix frontend
191183                       (can also be set in opts,  pillar,  see  module's  doc‐
191184                       string)
191185
191186              Returns
191187                     Array  with details of convenient users, False on failure
191188                     of if no user found.
191189
191190              CLI Example:
191191                 salt '*' zabbix.user_get james
191192
191193       salt.modules.zabbix.user_getmedia(userids=None, **connection_args)
191194              New in version 2016.3.0.
191195
191196
191197              Retrieve media according to the given parameters
191198
191199              NOTE:
191200                 This function accepts all standard usermedia.get  properties:
191201                 keyword  argument  names differ depending on your zabbix ver‐
191202                 sion, see here.
191203
191204              Parameters
191205
191206                     · userids -- return only media that are used by the given
191207                       users
191208
191209                     · _connection_user -- Optional - zabbix user (can also be
191210                       set in opts or pillar, see module's docstring)
191211
191212                     · _connection_password -- Optional - zabbix password (can
191213                       also be set in opts or pillar, see module's docstring)
191214
191215                     · _connection_url  --  Optional  - url of zabbix frontend
191216                       (can also be set in opts,  pillar,  see  module's  doc‐
191217                       string)
191218
191219              Returns
191220                     List of retrieved media, False on failure.
191221
191222              CLI Example:
191223                 salt '*' zabbix.user_getmedia
191224
191225       salt.modules.zabbix.user_list(**connection_args)
191226              Retrieve all of the configured users.
191227
191228              New in version 2016.3.0.
191229
191230
191231              Parameters
191232
191233                     · _connection_user -- Optional - zabbix user (can also be
191234                       set in opts or pillar, see module's docstring)
191235
191236                     · _connection_password -- Optional - zabbix password (can
191237                       also be set in opts or pillar, see module's docstring)
191238
191239                     · _connection_url  --  Optional  - url of zabbix frontend
191240                       (can also be set in opts,  pillar,  see  module's  doc‐
191241                       string)
191242
191243              Returns
191244                     Array with user details.
191245
191246              CLI Example:
191247                 salt '*' zabbix.user_list
191248
191249       salt.modules.zabbix.user_update(userid, **connection_args)
191250              New in version 2016.3.0.
191251
191252
191253              Update existing users
191254
191255              NOTE:
191256                 This  function  accepts all standard user properties: keyword
191257                 argument names differ depending on your zabbix  version,  see
191258                 here.
191259
191260              Parameters
191261
191262                     · userid -- id of the user to update
191263
191264                     · _connection_user -- Optional - zabbix user (can also be
191265                       set in opts or pillar, see module's docstring)
191266
191267                     · _connection_password -- Optional - zabbix password (can
191268                       also be set in opts or pillar, see module's docstring)
191269
191270                     · _connection_url  --  Optional  - url of zabbix frontend
191271                       (can also be set in opts,  pillar,  see  module's  doc‐
191272                       string)
191273
191274              Returns
191275                     Id of the updated user on success.
191276
191277              CLI Example:
191278                 salt '*' zabbix.user_update 16 visible_name='James Brown'
191279
191280       salt.modules.zabbix.usergroup_create(name, **connection_args)
191281              New in version 2016.3.0.
191282
191283
191284              Create new user group
191285
191286              NOTE:
191287                 This  function  accepts  all  standard user group properties:
191288                 keyword argument names differ depending on your  zabbix  ver‐
191289                 sion, see here.
191290
191291              Parameters
191292
191293                     · name -- name of the user group
191294
191295                     · _connection_user -- Optional - zabbix user (can also be
191296                       set in opts or pillar, see module's docstring)
191297
191298                     · _connection_password -- Optional - zabbix password (can
191299                       also be set in opts or pillar, see module's docstring)
191300
191301                     · _connection_url  --  Optional  - url of zabbix frontend
191302                       (can also be set in opts,  pillar,  see  module's  doc‐
191303                       string)
191304
191305              Returns
191306                     IDs of the created user groups.
191307
191308              CLI Example:
191309                 salt '*' zabbix.usergroup_create GroupName
191310
191311       salt.modules.zabbix.usergroup_delete(usergroupids, **connection_args)
191312              New in version 2016.3.0.
191313
191314
191315              Parameters
191316
191317                     · usergroupids -- IDs of the user groups to delete
191318
191319                     · _connection_user -- Optional - zabbix user (can also be
191320                       set in opts or pillar, see module's docstring)
191321
191322                     · _connection_password -- Optional - zabbix password (can
191323                       also be set in opts or pillar, see module's docstring)
191324
191325                     · _connection_url  --  Optional  - url of zabbix frontend
191326                       (can also be set in opts,  pillar,  see  module's  doc‐
191327                       string)
191328
191329              Returns
191330                     IDs of the deleted user groups.
191331
191332              CLI Example:
191333                 salt '*' zabbix.usergroup_delete 28
191334
191335       salt.modules.zabbix.usergroup_exists(name=None,              node=None,
191336       nodeids=None, **connection_args)
191337              Checks if at least one user group that matches the given  filter
191338              criteria exists
191339
191340              New in version 2016.3.0.
191341
191342
191343              Parameters
191344
191345                     · name -- names of the user groups
191346
191347                     · node -- name of the node the user groups must belong to
191348                       (This will override the nodeids parameter.)
191349
191350                     · nodeids -- IDs of the nodes the user groups must belong
191351                       to
191352
191353                     · _connection_user -- Optional - zabbix user (can also be
191354                       set in opts or pillar, see module's docstring)
191355
191356                     · _connection_password -- Optional - zabbix password (can
191357                       also be set in opts or pillar, see module's docstring)
191358
191359                     · _connection_url  --  Optional  - url of zabbix frontend
191360                       (can also be set in opts,  pillar,  see  module's  doc‐
191361                       string)
191362
191363              Returns
191364                     True  if  at  least one user group that matches the given
191365                     filter criteria exists, else False.
191366
191367              CLI Example:
191368                 salt '*' zabbix.usergroup_exists Guests
191369
191370       salt.modules.zabbix.usergroup_get(name=None,            usrgrpids=None,
191371       userids=None, **connection_args)
191372              New in version 2016.3.0.
191373
191374
191375              Retrieve user groups according to the given parameters
191376
191377              NOTE:
191378                 This  function  accepts all usergroup_get properties: keyword
191379                 argument names differ depending on your zabbix  version,  see
191380                 here.
191381
191382              Parameters
191383
191384                     · name -- names of the user groups
191385
191386                     · usrgrpids -- return only user groups with the given IDs
191387
191388                     · userids  --  return  only  user groups that contain the
191389                       given users
191390
191391                     · _connection_user -- Optional - zabbix user (can also be
191392                       set in opts or pillar, see module's docstring)
191393
191394                     · _connection_password -- Optional - zabbix password (can
191395                       also be set in opts or pillar, see module's docstring)
191396
191397                     · _connection_url -- Optional - url  of  zabbix  frontend
191398                       (can  also  be  set  in opts, pillar, see module's doc‐
191399                       string)
191400
191401              Returns
191402                     Array with convenient user groups details,  False  if  no
191403                     user group found or on failure.
191404
191405              CLI Example:
191406                 salt '*' zabbix.usergroup_get Guests
191407
191408       salt.modules.zabbix.usergroup_list(**connection_args)
191409              Retrieve all enabled user groups.
191410
191411              New in version 2016.3.0.
191412
191413
191414              Parameters
191415
191416                     · _connection_user -- Optional - zabbix user (can also be
191417                       set in opts or pillar, see module's docstring)
191418
191419                     · _connection_password -- Optional - zabbix password (can
191420                       also be set in opts or pillar, see module's docstring)
191421
191422                     · _connection_url  --  Optional  - url of zabbix frontend
191423                       (can also be set in opts,  pillar,  see  module's  doc‐
191424                       string)
191425
191426              Returns
191427                     Array with enabled user groups details, False on failure.
191428
191429              CLI Example:
191430                 salt '*' zabbix.usergroup_list
191431
191432       salt.modules.zabbix.usergroup_update(usrgrpid, **connection_args)
191433              New in version 2016.3.0.
191434
191435
191436              Update existing user group
191437
191438              NOTE:
191439                 This  function  accepts  all  standard user group properties:
191440                 keyword argument names differ depending on your  zabbix  ver‐
191441                 sion, see here.
191442
191443              Parameters
191444
191445                     · usrgrpid -- ID of the user group to update.
191446
191447                     · _connection_user -- Optional - zabbix user (can also be
191448                       set in opts or pillar, see module's docstring)
191449
191450                     · _connection_password -- Optional - zabbix password (can
191451                       also be set in opts or pillar, see module's docstring)
191452
191453                     · _connection_url  --  Optional  - url of zabbix frontend
191454                       (can also be set in opts,  pillar,  see  module's  doc‐
191455                       string)
191456
191457              Returns
191458                     IDs of the updated user group, False on failure.
191459
191460              CLI Example:
191461                 salt '*' zabbix.usergroup_update 8 name=guestsRenamed
191462
191463       salt.modules.zabbix.usermacro_create(macro,  value,  hostid,  **connec‐
191464       tion_args)
191465              Create new host usermacro.
191466
191467              Parameters
191468
191469                     · macro -- name of the host usermacro
191470
191471                     · value -- value of the host usermacro
191472
191473                     · hostid -- hostid or templateid
191474
191475                     · _connection_user -- Optional - zabbix user (can also be
191476                       set in opts or pillar, see module's docstring)
191477
191478                     · _connection_password -- Optional - zabbix password (can
191479                       also be set in opts or pillar, see module's docstring)
191480
191481                     · _connection_url -- Optional - url  of  zabbix  frontend
191482                       (can  also  be  set  in opts, pillar, see module's doc‐
191483                       string)
191484
191485              return: ID of the created host usermacro.
191486
191487              CLI Example:
191488
191489                 salt '*' zabbix.usermacro_create '{$SNMP_COMMUNITY}' 'public' 1
191490
191491       salt.modules.zabbix.usermacro_createglobal(macro,   value,    **connec‐
191492       tion_args)
191493              Create new global usermacro.
191494
191495              Parameters
191496
191497                     · macro -- name of the global usermacro
191498
191499                     · value -- value of the global usermacro
191500
191501                     · _connection_user -- Optional - zabbix user (can also be
191502                       set in opts or pillar, see module's docstring)
191503
191504                     · _connection_password -- Optional - zabbix password (can
191505                       also be set in opts or pillar, see module's docstring)
191506
191507                     · _connection_url  --  Optional  - url of zabbix frontend
191508                       (can also be set in opts,  pillar,  see  module's  doc‐
191509                       string)
191510
191511              return: ID of the created global usermacro.
191512
191513              CLI Example:
191514
191515                 salt '*' zabbix.usermacro_createglobal '{$SNMP_COMMUNITY}' 'public'
191516
191517       salt.modules.zabbix.usermacro_delete(macroids, **connection_args)
191518              Delete host usermacros.
191519
191520              Parameters
191521
191522                     · macroids -- macroids of the host usermacros
191523
191524                     · _connection_user -- Optional - zabbix user (can also be
191525                       set in opts or pillar, see module's docstring)
191526
191527                     · _connection_password -- Optional - zabbix password (can
191528                       also be set in opts or pillar, see module's docstring)
191529
191530                     · _connection_url  --  Optional  - url of zabbix frontend
191531                       (can also be set in opts,  pillar,  see  module's  doc‐
191532                       string)
191533
191534              return: IDs of the deleted host usermacro.
191535
191536              CLI Example:
191537
191538                 salt '*' zabbix.usermacro_delete 21
191539
191540       salt.modules.zabbix.usermacro_deleteglobal(macroids, **connection_args)
191541              Delete global usermacros.
191542
191543              Parameters
191544
191545                     · macroids -- macroids of the global usermacros
191546
191547                     · _connection_user -- Optional - zabbix user (can also be
191548                       set in opts or pillar, see module's docstring)
191549
191550                     · _connection_password -- Optional - zabbix password (can
191551                       also be set in opts or pillar, see module's docstring)
191552
191553                     · _connection_url  --  Optional  - url of zabbix frontend
191554                       (can also be set in opts,  pillar,  see  module's  doc‐
191555                       string)
191556
191557              return: IDs of the deleted global usermacro.
191558
191559              CLI Example:
191560
191561                 salt '*' zabbix.usermacro_deleteglobal 21
191562
191563       salt.modules.zabbix.usermacro_get(macro=None,     hostids=None,    tem‐
191564       plateids=None,    hostmacroids=None,    globalmacroids=None,    global‐
191565       macro=False, **connection_args)
191566              Retrieve user macros according to the given parameters.
191567
191568              Parameters
191569
191570                     · macro -- name of the usermacro
191571
191572                     · hostids -- Return macros for the given hostids
191573
191574                     · templateids -- Return macros for the given templateids
191575
191576                     · hostmacroids  --  Return  macros  with  the given host‐
191577                       macroids
191578
191579                     · globalmacroids -- Return macros with the given  global‐
191580                       macroids (implies globalmacro=True)
191581
191582                     · globalmacro -- if True, returns only global macros
191583
191584                     · connection_args  (optional) -- _connection_user: zabbix
191585                       user (can also be set in opts or pillar,  see  module's
191586                       docstring)  _connection_password:  zabbix password (can
191587                       also be set in opts or pillar, see module's  docstring)
191588                       _connection_url:  url  of  zabbix frontend (can also be
191589                       set in opts or pillar, see module's docstring)
191590
191591              Returns
191592                     Array with usermacro details, False if no usermacro found
191593                     or on failure.
191594
191595              CLI Example:
191596                 salt '*' zabbix.usermacro_get macro='{$SNMP_COMMUNITY}'
191597
191598       salt.modules.zabbix.usermacro_update(hostmacroid,    value,   **connec‐
191599       tion_args)
191600              Update existing host usermacro.
191601
191602              Parameters
191603
191604                     · hostmacroid -- id of the host usermacro
191605
191606                     · value -- new value of the host usermacro
191607
191608                     · _connection_user -- Optional - zabbix user (can also be
191609                       set in opts or pillar, see module's docstring)
191610
191611                     · _connection_password -- Optional - zabbix password (can
191612                       also be set in opts or pillar, see module's docstring)
191613
191614                     · _connection_url -- Optional - url  of  zabbix  frontend
191615                       (can  also  be  set  in opts, pillar, see module's doc‐
191616                       string)
191617
191618              return: ID of the update host usermacro.
191619
191620              CLI Example:
191621
191622                 salt '*' zabbix.usermacro_update 1 'public'
191623
191624       salt.modules.zabbix.usermacro_updateglobal(globalmacroid, value, **con‐
191625       nection_args)
191626              Update existing global usermacro.
191627
191628              Parameters
191629
191630                     · globalmacroid -- id of the host usermacro
191631
191632                     · value -- new value of the host usermacro
191633
191634                     · _connection_user -- Optional - zabbix user (can also be
191635                       set in opts or pillar, see module's docstring)
191636
191637                     · _connection_password -- Optional - zabbix password (can
191638                       also be set in opts or pillar, see module's docstring)
191639
191640                     · _connection_url  --  Optional  - url of zabbix frontend
191641                       (can also be set in opts,  pillar,  see  module's  doc‐
191642                       string)
191643
191644              return: ID of the update global usermacro.
191645
191646              CLI Example:
191647
191648                 salt '*' zabbix.usermacro_updateglobal 1 'public'
191649
191650   salt.modules.zcbuildout
191651       Management of zc.buildout
191652
191653       New in version 2014.1.0.
191654
191655
191656       This module is inspired by minitage's buildout maker
191657
191658       NOTE:
191659          The  zc.buildout integration is still in beta; the API is subject to
191660          change
191661
191662   General notes
191663       You have those following methods:
191664
191665       · upgrade_bootstrap
191666
191667       · bootstrap
191668
191669       · run_buildout
191670
191671       · buildout
191672
191673       salt.modules.zcbuildout.bootstrap(*a, **kw)
191674              Run the buildout bootstrap dance (python bootstrap.py).
191675
191676              directory
191677                     directory to execute in
191678
191679              config alternative buildout configuration file to use
191680
191681              runas  User used to run buildout as
191682
191683              env    environment variables to set when running
191684
191685              buildout_ver
191686                     force a specific buildout version (1 | 2)
191687
191688              test_release
191689                     buildout accept test release
191690
191691              offline
191692                     are we executing buildout in offline mode
191693
191694              distribute
191695                     Forcing use of distribute
191696
191697              new_st Forcing use of setuptools >= 0.7
191698
191699              python path to a python executable to use in  place  of  default
191700                     (salt one)
191701
191702              onlyif Only execute cmd if statement on the host return 0
191703
191704              unless Do not execute cmd if statement on the host return 0
191705
191706              use_vt Use the new salt VT to stream output [experimental]
191707
191708              CLI Example:
191709
191710                 salt '*' buildout.bootstrap /srv/mybuildout
191711
191712       salt.modules.zcbuildout.buildout(*a, **kw)
191713              Run buildout in a directory.
191714
191715              directory
191716                     directory to execute in
191717
191718              config buildout config to use
191719
191720              parts  specific buildout parts to run
191721
191722              runas  user used to run buildout as
191723
191724              env    environment variables to set when running
191725
191726              buildout_ver
191727                     force a specific buildout version (1 | 2)
191728
191729              test_release
191730                     buildout accept test release
191731
191732              new_st Forcing use of setuptools >= 0.7
191733
191734              distribute
191735                     use distribute over setuptools if possible
191736
191737              offline
191738                     does buildout run offline
191739
191740              python python to use
191741
191742              debug  run buildout with -D debug flag
191743
191744              onlyif Only execute cmd if statement on the host return 0
191745
191746              unless Do not execute cmd if statement on the host return 0
191747
191748              newest run buildout in newest mode
191749
191750              verbose
191751                     run buildout in verbose mode (-vvvvv)
191752
191753              use_vt Use the new salt VT to stream output [experimental]
191754
191755              CLI Example:
191756
191757                 salt '*' buildout.buildout /srv/mybuildout
191758
191759       salt.modules.zcbuildout.run_buildout(*a, **kw)
191760              Run a buildout in a directory.
191761
191762              directory
191763                     directory to execute in
191764
191765              config alternative buildout configuration file to use
191766
191767              offline
191768                     are we executing buildout in offline mode
191769
191770              runas  user used to run buildout as
191771
191772              env    environment variables to set when running
191773
191774              onlyif Only execute cmd if statement on the host return 0
191775
191776              unless Do not execute cmd if statement on the host return 0
191777
191778              newest run buildout in newest mode
191779
191780              force  run buildout unconditionally
191781
191782              verbose
191783                     run buildout in verbose mode (-vvvvv)
191784
191785              use_vt Use the new salt VT to stream output [experimental]
191786
191787              CLI Example:
191788
191789                 salt '*' buildout.run_buildout /srv/mybuildout
191790
191791       salt.modules.zcbuildout.upgrade_bootstrap(*a, **kw)
191792              Upgrade current bootstrap.py with the last released one.
191793
191794              Indeed, when we first run a buildout, a common source of problem
191795              is to have a locally stale bootstrap, we just try to grab a  new
191796              copy
191797
191798              directory
191799                     directory to execute in
191800
191801              offline
191802                     are we executing buildout in offline mode
191803
191804              buildout_ver
191805                     forcing to use a specific buildout version (1 | 2)
191806
191807              onlyif Only execute cmd if statement on the host return 0
191808
191809              unless Do not execute cmd if statement on the host return 0
191810
191811              CLI Example:
191812
191813                 salt '*' buildout.upgrade_bootstrap /srv/mybuildout
191814
191815   salt.modules.zenoss
191816       Module for working with the Zenoss API
191817
191818       New in version 2016.3.0.
191819
191820
191821       depends
191822              requests
191823
191824       configuration
191825              This  module requires a 'zenoss' entry in the master/minion con‐
191826              fig.
191827
191828              For example:
191829
191830                 zenoss:
191831                   hostname: https://zenoss.example.com
191832                   username: admin
191833                   password: admin123
191834
191835       salt.modules.zenoss.add_device(device=None, device_class=None,  collec‐
191836       tor=u'localhost', prod_state=1000)
191837              A  function  to  connect to a zenoss server and add a new device
191838              entry.
191839
191840              Parameters
191841
191842                     · device -- (Optional)  Will  use  the  grain  'fqdn'  by
191843                       default.
191844
191845                     · device_class  -- (Optional) The device class to use. If
191846                       none, will determine based on kernel grain.
191847
191848                     · collector -- (Optional) The collector to use  for  this
191849                       device. Defaults to 'localhost'.
191850
191851                     · prod_state  --  (Optional)  The prodState to set on the
191852                       device. If none, defaults to 1000 ( production )
191853
191854              CLI Example:
191855                     salt '*' zenoss.add_device
191856
191857       salt.modules.zenoss.device_exists(device=None)
191858              Check to see if a device already exists in Zenoss.
191859
191860              Parameters
191861                     device -- (Optional) Will use the grain 'fqdn' by default
191862
191863              CLI Example:
191864                     salt '*' zenoss.device_exists
191865
191866       salt.modules.zenoss.find_device(device=None)
191867              Find a device in Zenoss. If device not found, returns None.
191868
191869              Parameters
191870                     device -- (Optional) Will use the grain 'fqdn' by default
191871
191872              CLI Example:
191873                     salt '*' zenoss.find_device
191874
191875       salt.modules.zenoss.set_prod_state(prod_state, device=None)
191876              A function to set the prod_state in zenoss.
191877
191878              Parameters
191879
191880                     · prod_state -- (Required) Integer value of the state
191881
191882                     · device -- (Optional)  Will  use  the  grain  'fqdn'  by
191883                       default.
191884
191885              CLI Example:
191886                     salt zenoss.set_prod_state 1000 hostname
191887
191888   salt.modules.zfs
191889       Module for running ZFS command
191890
191891       codeauthor
191892              Nitin   Madhok   <nmadhok@clemson.edu>,   Jorge   Schrauwen   <‐
191893              sjorge@blackdot.be>
191894
191895       maintainer
191896              Jorge Schrauwen <sjorge@blackdot.be>
191897
191898       maturity
191899              new
191900
191901       depends
191902              salt.utils.zfs
191903
191904       platform
191905              illumos,freebsd,linux
191906
191907       Changed in version 2018.3.1: Big refactor  to  remove  duplicate  code,
191908       better type converions and improved consistancy in output.
191909
191910
191911       salt.modules.zfs.bookmark(snapshot, bookmark)
191912              Creates a bookmark of the given snapshot
191913
191914              NOTE:
191915                 Bookmarks  mark  the point in time when the snapshot was cre‐
191916                 ated, and can be used as the incremental  source  for  a  zfs
191917                 send command.
191918
191919                 This  feature  must  be  enabled  to  be used. See zpool-fea‐
191920                 tures(5) for details on ZFS feature flags and  the  bookmarks
191921                 feature.
191922
191923              snapshot
191924                     string name of snapshot to bookmark
191925
191926              bookmark
191927                     string name of bookmark
191928
191929              New in version 2016.3.0.
191930
191931
191932              CLI Example:
191933
191934                 salt '*' zfs.bookmark myzpool/mydataset@yesterday myzpool/mydataset#complete
191935
191936       salt.modules.zfs.clone(name_a, name_b, **kwargs)
191937              Creates a clone of the given snapshot.
191938
191939              name_a string name of snapshot
191940
191941              name_b string name of filesystem or volume
191942
191943              create_parent
191944                     boolean creates all the non-existing parent datasets. any
191945                     property specified on  the  command  line  using  the  -o
191946                     option is ignored.
191947
191948              properties
191949                     dict additional zfs properties (-o)
191950
191951              NOTE:
191952                 ZFS  properties  can  be specified at the time of creation of
191953                 the filesystem  by  passing  an  additional  argument  called
191954                 "properties" and specifying the properties with their respec‐
191955                 tive values in the form of a python dictionary:
191956
191957                     properties="{'property1': 'value1', 'property2': 'value2'}"
191958
191959              New in version 2016.3.0.
191960
191961
191962              CLI Example:
191963
191964                 salt '*' zfs.clone myzpool/mydataset@yesterday myzpool/mydataset_yesterday
191965
191966       salt.modules.zfs.create(name, **kwargs)
191967              Create a ZFS File System.
191968
191969              name   string name of dataset or volume
191970
191971              volume_size
191972                     string if specified, a zvol will be created instead of  a
191973                     dataset
191974
191975              sparse boolean create sparse volume
191976
191977              create_parent
191978                     boolean creates all the non-existing parent datasets. any
191979                     property specified on  the  command  line  using  the  -o
191980                     option is ignored.
191981
191982              properties
191983                     dict additional zfs properties (-o)
191984
191985              NOTE:
191986                 ZFS  properties  can  be specified at the time of creation of
191987                 the filesystem  by  passing  an  additional  argument  called
191988                 "properties" and specifying the properties with their respec‐
191989                 tive values in the form of a python dictionary:
191990
191991                     properties="{'property1': 'value1', 'property2': 'value2'}"
191992
191993              New in version 2015.5.0.
191994
191995
191996              CLI Example:
191997
191998                 salt '*' zfs.create myzpool/mydataset [create_parent=True|False]
191999                 salt '*' zfs.create myzpool/mydataset properties="{'mountpoint': '/export/zfs', 'sharenfs': 'on'}"
192000                 salt '*' zfs.create myzpool/volume volume_size=1G [sparse=True|False]`
192001                 salt '*' zfs.create myzpool/volume volume_size=1G properties="{'volblocksize': '512'}" [sparse=True|False]
192002
192003       salt.modules.zfs.destroy(name, **kwargs)
192004              Destroy a ZFS File System.
192005
192006              name   string name of dataset, volume, or snapshot
192007
192008              force  boolean force an unmount of any file  systems  using  the
192009                     unmount -f command.
192010
192011              recursive
192012                     boolean recursively destroy all children. (-r)
192013
192014              recursive_all
192015                     boolean  recursively  destroy  all  dependents, including
192016                     cloned file systems outside the target hierarchy. (-R)
192017
192018              WARNING:
192019                 watch out when using recursive and recursive_all
192020
192021              New in version 2015.5.0.
192022
192023
192024              CLI Example:
192025
192026                 salt '*' zfs.destroy myzpool/mydataset [force=True|False]
192027
192028       salt.modules.zfs.diff(name_a, name_b=None, **kwargs)
192029              Display the difference between a snapshot of a given  filesystem
192030              and another snapshot of that filesystem from a later time or the
192031              current contents of the filesystem.
192032
192033              name_a string name of snapshot
192034
192035              name_b string (optional) name of snapshot or filesystem
192036
192037              show_changetime
192038                     boolean display the path's inode change time as the first
192039                     column of output. (default = True)
192040
192041              show_indication
192042                     boolean  display  an  indication  of  the  type  of file.
192043                     (default = True)
192044
192045              parsable
192046                     boolean if true we don't parse the timestamp  to  a  more
192047                     readable date (default = True)
192048
192049              New in version 2016.3.0.
192050
192051
192052              CLI Example:
192053
192054                 salt '*' zfs.diff myzpool/mydataset@yesterday myzpool/mydataset
192055
192056       salt.modules.zfs.exists(name, **kwargs)
192057              Check if a ZFS filesystem or volume or snapshot exists.
192058
192059              name   string name of dataset
192060
192061              type   string  also check if dataset is of a certain type, valid
192062                     choices are: filesystem, snapshot, volume,  bookmark,  or
192063                     all.
192064
192065              New in version 2015.5.0.
192066
192067
192068              CLI Example:
192069
192070                 salt '*' zfs.exists myzpool/mydataset
192071                 salt '*' zfs.exists myzpool/myvolume type=volume
192072
192073       salt.modules.zfs.get(*dataset, **kwargs)
192074              Displays properties for the given datasets.
192075
192076              dataset
192077                     string name of snapshot(s), filesystem(s), or volume(s)
192078
192079              properties
192080                     string   comma-separated  list  of  properties  to  list,
192081                     defaults to all
192082
192083              recursive
192084                     boolean recursively list children
192085
192086              depth  int recursively list children to depth
192087
192088              fields string comma-separated list of  fields  to  include,  the
192089                     name and property field will always be added
192090
192091              type   string  comma-separated  list  of types to display, where
192092                     type is one of filesystem, snapshot, volume, bookmark, or
192093                     all.
192094
192095              source string  comma-separated  list of sources to display. Must
192096                     be one of the following: local, default, inherited,  tem‐
192097                     porary, and none. The default value is all sources.
192098
192099              parsable
192100                     boolean   display  numbers  in  parsable  (exact)  values
192101                     (default = True)
192102
192103              NOTE:
192104                 If no datasets are specified, then the command displays prop‐
192105                 erties for all datasets on the system.
192106
192107              New in version 2016.3.0.
192108
192109
192110              CLI Example:
192111
192112                 salt '*' zfs.get
192113                 salt '*' zfs.get myzpool/mydataset [recursive=True|False]
192114                 salt '*' zfs.get myzpool/mydataset properties="sharenfs,mountpoint" [recursive=True|False]
192115                 salt '*' zfs.get myzpool/mydataset myzpool/myotherdataset properties=available fields=value depth=1
192116
192117       salt.modules.zfs.hold(tag, *snapshot, **kwargs)
192118              Adds  a  single  reference,  named with the tag argument, to the
192119              specified snapshot or snapshots.
192120
192121              NOTE:
192122                 Each snapshot has its own tag namespace,  and  tags  must  be
192123                 unique within that space.
192124
192125                 If  a  hold  exists  on  a snapshot, attempts to destroy that
192126                 snapshot by using the zfs destroy command return EBUSY.
192127
192128              tag    string name of tag
192129
192130              snapshot
192131                     string name of snapshot(s)
192132
192133              recursive
192134                     boolean specifies that a  hold  with  the  given  tag  is
192135                     applied  recursively  to  the snapshots of all descendent
192136                     file systems.
192137
192138              New in version 2016.3.0.
192139
192140
192141              Changed in version 2018.3.1.
192142
192143
192144              WARNING:
192145                 As  of  2018.3.1  the  tag  parameter  no  longer  accepts  a
192146                 comma-separated  value.  It's is now possible to create a tag
192147                 that contains a comma, this was impossible before.
192148
192149              CLI Example:
192150
192151                 salt '*' zfs.hold mytag myzpool/mydataset@mysnapshot [recursive=True]
192152                 salt '*' zfs.hold mytag myzpool/mydataset@mysnapshot myzpool/mydataset@myothersnapshot
192153
192154       salt.modules.zfs.holds(snapshot, **kwargs)
192155              Lists all existing user references for  the  given  snapshot  or
192156              snapshots.
192157
192158              snapshot
192159                     string name of snapshot
192160
192161              recursive
192162                     boolean lists the holds that are set on the named descen‐
192163                     dent snapshots also.
192164
192165              New in version 2016.3.0.
192166
192167
192168              CLI Example:
192169
192170                 salt '*' zfs.holds myzpool/mydataset@baseline
192171
192172       salt.modules.zfs.inherit(prop, name, **kwargs)
192173              Clears the specified property
192174
192175              prop   string name of property
192176
192177              name   string name of the filesystem, volume, or snapshot
192178
192179              recursive
192180                     boolean recursively inherit the given  property  for  all
192181                     children.
192182
192183              revert boolean  revert the property to the received value if one
192184                     exists; otherwise operate as if the  -S  option  was  not
192185                     specified.
192186
192187              New in version 2016.3.0.
192188
192189
192190              CLI Example:
192191
192192                 salt '*' zfs.inherit canmount myzpool/mydataset [recursive=True|False]
192193
192194       salt.modules.zfs.list_(name=None, **kwargs)
192195              Return a list of all datasets or a specified dataset on the sys‐
192196              tem and the values of their  used,  available,  referenced,  and
192197              mountpoint properties.
192198
192199              name   string name of dataset, volume, or snapshot
192200
192201              recursive
192202                     boolean recursively list children
192203
192204              depth  int limit recursion to depth
192205
192206              properties
192207                     string  comma-separated  list  of properties to list, the
192208                     name property will always be added
192209
192210              type   string comma-separated list of types  to  display,  where
192211                     type is one of filesystem, snapshot, volume, bookmark, or
192212                     all.
192213
192214              sort   string property to sort on (default = name)
192215
192216              order  string  [ascending|descending]  sort  order  (default   =
192217                     ascending)
192218
192219              parsable
192220                     boolean display numbers in parsable (exact) values
192221
192222              New in version 2015.5.0.
192223
192224
192225              CLI Example:
192226
192227                 salt '*' zfs.list
192228                 salt '*' zfs.list myzpool/mydataset [recursive=True|False]
192229                 salt '*' zfs.list myzpool/mydataset properties="sharenfs,mountpoint"
192230
192231       salt.modules.zfs.list_mount()
192232              List mounted zfs filesystems
192233
192234              New in version 2018.3.1.
192235
192236
192237              CLI Example:
192238
192239                 salt '*' zfs.list_mount
192240
192241       salt.modules.zfs.mount(name=None, **kwargs)
192242              Mounts ZFS file systems
192243
192244              name   string  name  of  the filesystem, having this set to None
192245                     will mount all filesystems. (this is the default)
192246
192247              overlay
192248                     boolean perform an overlay mount.
192249
192250              options
192251                     string optional comma-separated list of mount options  to
192252                     use temporarily for the duration of the mount.
192253
192254              New in version 2016.3.0.
192255
192256
192257              Changed in version 2018.3.1.
192258
192259
192260              WARNING:
192261                 Passing  '-a'  as  name  is deprecated and will be removed in
192262                 Sodium.
192263
192264              CLI Example:
192265
192266                 salt '*' zfs.mount
192267                 salt '*' zfs.mount myzpool/mydataset
192268                 salt '*' zfs.mount myzpool/mydataset options=ro
192269
192270       salt.modules.zfs.promote(name)
192271              Promotes a clone file system to no longer be  dependent  on  its
192272              "origin" snapshot.
192273
192274              NOTE:
192275                 This  makes  it  possible to destroy the file system that the
192276                 clone was created from.  The  clone  parent-child  dependency
192277                 relationship  is  reversed,  so  that  the origin file system
192278                 becomes a clone of the specified file system.
192279
192280                 The snapshot that was cloned, and any snapshots  previous  to
192281                 this snapshot, are now owned by the promoted clone. The space
192282                 they use moves from the origin file system  to  the  promoted
192283                 clone, so enough space must be available to accommodate these
192284                 snapshots. No new space is consumed by  this  operation,  but
192285                 the space accounting is adjusted. The promoted clone must not
192286                 have any conflicting snapshot names of its  own.  The  rename
192287                 subcommand can be used to rename any conflicting snapshots.
192288
192289              name   string name of clone-filesystem
192290
192291              New in version 2016.3.0.
192292
192293
192294              CLI Example:
192295
192296                 salt '*' zfs.promote myzpool/myclone
192297
192298       salt.modules.zfs.release(tag, *snapshot, **kwargs)
192299              Removes  a  single  reference, named with the tag argument, from
192300              the specified snapshot or snapshots.
192301
192302              NOTE:
192303                 The tag must already exist for  each  snapshot.   If  a  hold
192304                 exists  on  a  snapshot, attempts to destroy that snapshot by
192305                 using the zfs destroy command return EBUSY.
192306
192307              tag    string name of tag
192308
192309              snapshot
192310                     string name of snapshot(s)
192311
192312              recursive
192313                     boolean recursively releases a hold with the given tag on
192314                     the snapshots of all descendent file systems.
192315
192316              New in version 2016.3.0.
192317
192318
192319              Changed in version 2018.3.1.
192320
192321
192322              WARNING:
192323                 As  of  2018.3.1  the  tag  parameter  no  longer  accepts  a
192324                 comma-separated value.  It's is now possible to create a  tag
192325                 that contains a comma, this was impossible before.
192326
192327              CLI Example:
192328
192329                 salt '*' zfs.release mytag myzpool/mydataset@mysnapshot [recursive=True]
192330                 salt '*' zfs.release mytag myzpool/mydataset@mysnapshot myzpool/mydataset@myothersnapshot
192331
192332       salt.modules.zfs.rename(name, new_name, **kwargs)
192333              Rename or Relocate a ZFS File System.
192334
192335              name   string name of dataset, volume, or snapshot
192336
192337              new_name
192338                     string new name of dataset, volume, or snapshot
192339
192340              force  boolean  force  unmount  any  filesystems that need to be
192341                     unmounted in the process.
192342
192343              create_parent
192344                     boolean creates  all  the  nonexistent  parent  datasets.
192345                     Datasets created in this manner are automatically mounted
192346                     according to the mountpoint property inherited from their
192347                     parent.
192348
192349              recursive
192350                     boolean  recursively  rename the snapshots of all descen‐
192351                     dent datasets.  snapshots are the only dataset  that  can
192352                     be renamed recursively.
192353
192354              New in version 2015.5.0.
192355
192356
192357              CLI Example:
192358
192359                 salt '*' zfs.rename myzpool/mydataset myzpool/renameddataset
192360
192361       salt.modules.zfs.rollback(name, **kwargs)
192362              Roll back the given dataset to a previous snapshot.
192363
192364              name   string name of snapshot
192365
192366              recursive
192367                     boolean  destroy  any snapshots and bookmarks more recent
192368                     than the one specified.
192369
192370              recursive_all
192371                     boolean destroy any more recent snapshots and  bookmarks,
192372                     as well as any clones of those snapshots.
192373
192374              force  boolean  used  with  the -R option to force an unmount of
192375                     any clone file systems that are to be destroyed.
192376
192377              WARNING:
192378                 When a dataset is rolled back,  all  data  that  has  changed
192379                 since  the  snapshot is discarded, and the dataset reverts to
192380                 the state at the time of the snapshot. By default,  the  com‐
192381                 mand  refuses  to roll back to a snapshot other than the most
192382                 recent one.
192383
192384                 In order to do so, all intermediate snapshots  and  bookmarks
192385                 must be destroyed by specifying the -r option.
192386
192387              New in version 2016.3.0.
192388
192389
192390              CLI Example:
192391
192392                 salt '*' zfs.rollback myzpool/mydataset@yesterday
192393
192394       salt.modules.zfs.set(*dataset, **kwargs)
192395              Sets  the  property  or list of properties to the given value(s)
192396              for each dataset.
192397
192398              dataset
192399                     string name of snapshot(s), filesystem(s), or volume(s)
192400
192401              properties
192402                     string additional zfs properties pairs
192403
192404              NOTE:
192405                 properties are passed as key-value pairs. e.g.
192406                     compression=off
192407
192408              NOTE:
192409                 Only some properties can be edited.
192410
192411                 See the Properties section for more information on what prop‐
192412                 erties can be set and acceptable values.
192413
192414                 Numeric  values  can  be  specified  as exact values, or in a
192415                 human-readable form with a suffix of B, K, M, G, T, P, E (for
192416                 bytes, kilobytes, megabytes, gigabytes, terabytes, petabytes,
192417                 or exabytes respectively).
192418
192419              New in version 2016.3.0.
192420
192421
192422              CLI Example:
192423
192424                 salt '*' zfs.set myzpool/mydataset compression=off
192425                 salt '*' zfs.set myzpool/mydataset myzpool/myotherdataset compression=off
192426                 salt '*' zfs.set myzpool/mydataset myzpool/myotherdataset compression=lz4 canmount=off
192427
192428       salt.modules.zfs.snapshot(*snapshot, **kwargs)
192429              Creates snapshots with the given names.
192430
192431              snapshot
192432                     string name of snapshot(s)
192433
192434              recursive
192435                     boolean recursively create snapshots  of  all  descendent
192436                     datasets.
192437
192438              properties
192439                     dict additional zfs properties (-o)
192440
192441              NOTE:
192442                 ZFS  properties  can  be specified at the time of creation of
192443                 the filesystem  by  passing  an  additional  argument  called
192444                 "properties" and specifying the properties with their respec‐
192445                 tive values in the form of a python dictionary:
192446
192447                     properties="{'property1': 'value1', 'property2': 'value2'}"
192448
192449              New in version 2016.3.0.
192450
192451
192452              CLI Example:
192453
192454                 salt '*' zfs.snapshot myzpool/mydataset@yesterday [recursive=True]
192455                 salt '*' zfs.snapshot myzpool/mydataset@yesterday myzpool/myotherdataset@yesterday [recursive=True]
192456
192457       salt.modules.zfs.unmount(name, **kwargs)
192458              Unmounts ZFS file systems
192459
192460              name   string name of  the  filesystem,  you  can  use  None  to
192461                     unmount all mounted filesystems.
192462
192463              force  boolean forcefully unmount the file system, even if it is
192464                     currently in use.
192465
192466              WARNING:
192467                 Using -a for the name parameter will probably break your sys‐
192468                 tem, unless your rootfs is not on zfs.
192469
192470              New in version 2016.3.0.
192471
192472
192473              Changed in version 2018.3.1.
192474
192475
192476              WARNING:
192477                 Passing  '-a'  as  name  is deprecated and will be removed in
192478                 Sodium.
192479
192480              CLI Example:
192481
192482                 salt '*' zfs.unmount myzpool/mydataset [force=True|False]
192483
192484   salt.modules.zk_concurrency
192485   Concurrency controls in zookeeper
192486       depends
192487              kazoo
192488
192489       configuration
192490              See salt.modules.zookeeper for setup instructions.
192491
192492       This module allows you to acquire and release a slot. This is primarily
192493       useful  for  ensureing that no more than N hosts take a specific action
192494       at once. This can also be used to coordinate between masters.
192495
192496       salt.modules.zk_concurrency.lock(path, zk_hosts=None,  identifier=None,
192497       max_concurrency=1,  timeout=None,  ephemeral_lease=False,  force=False,
192498       profile=None,      scheme=None,      username=None,      password=None,
192499       default_acl=None)
192500              Get lock (with optional timeout)
192501
192502              path   The path in zookeeper where the lock is
192503
192504              zk_hosts
192505                     zookeeper connect string
192506
192507              identifier
192508                     Name  to identify this minion, if unspecified defaults to
192509                     the hostname
192510
192511              max_concurrency
192512                     Maximum number of lock holders
192513
192514              timeout
192515                     timeout to wait for the lock. A None timeout  will  block
192516                     forever
192517
192518              ephemeral_lease
192519                     Whether the locks in zookeper should be ephemeral
192520
192521              force  Forcibly acquire the lock regardless of available slots
192522
192523              Example:
192524
192525       salt.modules.zk_concurrency.lock_holders(path,  zk_hosts=None,  identi‐
192526       fier=None, max_concurrency=1, timeout=None, ephemeral_lease=False, pro‐
192527       file=None, scheme=None, username=None, password=None, default_acl=None)
192528              Return an un-ordered list of lock holders
192529
192530              path   The path in zookeeper where the lock is
192531
192532              zk_hosts
192533                     zookeeper connect string
192534
192535              identifier
192536                     Name  to identify this minion, if unspecified defaults to
192537                     hostname
192538
192539              max_concurrency
192540                     Maximum number of lock holders
192541
192542              timeout
192543                     timeout to wait for the lock. A None timeout  will  block
192544                     forever
192545
192546              ephemeral_lease
192547                     Whether the locks in zookeper should be ephemeral
192548
192549              Example:
192550
192551       salt.modules.zk_concurrency.party_members(path,          zk_hosts=None,
192552       min_nodes=1, blocking=False, profile=None, scheme=None,  username=None,
192553       password=None, default_acl=None)
192554              Get  the  List  of identifiers in a particular party, optionally
192555              waiting for the specified minimum number of nodes (min_nodes) to
192556              appear
192557
192558              path   The path in zookeeper where the lock is
192559
192560              zk_hosts
192561                     zookeeper connect string
192562
192563              min_nodes
192564                     The minimum number of nodes expected to be present in the
192565                     party
192566
192567              blocking
192568                     The  boolean  indicating  if  we  need  to  block   until
192569                     min_nodes are available
192570
192571              Example:
192572
192573       salt.modules.zk_concurrency.unlock(path,     zk_hosts=None,     identi‐
192574       fier=None, max_concurrency=1, ephemeral_lease=False, scheme=None,  pro‐
192575       file=None, username=None, password=None, default_acl=None)
192576              Remove lease from semaphore
192577
192578              path   The path in zookeeper where the lock is
192579
192580              zk_hosts
192581                     zookeeper connect string
192582
192583              identifier
192584                     Name  to identify this minion, if unspecified defaults to
192585                     hostname
192586
192587              max_concurrency
192588                     Maximum number of lock holders
192589
192590              timeout
192591                     timeout to wait for the lock. A None timeout  will  block
192592                     forever
192593
192594              ephemeral_lease
192595                     Whether the locks in zookeper should be ephemeral
192596
192597              Example:
192598
192599   salt.modules.znc
192600       znc - An advanced IRC bouncer
192601
192602       New in version 2014.7.0.
192603
192604
192605       Provides an interface to basic ZNC functionality
192606
192607       salt.modules.znc.buildmod(*modules)
192608              Build module using znc-buildmod
192609
192610              CLI Example:
192611
192612                 salt '*' znc.buildmod module.cpp [...]
192613
192614       salt.modules.znc.dumpconf()
192615              Write the active configuration state to config file
192616
192617              CLI Example:
192618
192619                 salt '*' znc.dumpconf
192620
192621       salt.modules.znc.rehashconf()
192622              Rehash the active configuration state from config file
192623
192624              CLI Example:
192625
192626                 salt '*' znc.rehashconf
192627
192628       salt.modules.znc.version()
192629              Return server version from znc --version
192630
192631              CLI Example:
192632
192633                 salt '*' znc.version
192634
192635   salt.modules.zoneadm
192636       Module for Solaris 10's zoneadm
192637
192638       maintainer
192639              Jorge Schrauwen <sjorge@blackdot.be>
192640
192641       maturity
192642              new
192643
192644       platform
192645              OmniOS,OpenIndiana,SmartOS,OpenSolaris,Solaris 10
192646
192647       New in version 2017.7.0.
192648
192649
192650       WARNING:
192651          Oracle Solaris 11's zoneadm is not supported by this module!
192652
192653       salt.modules.zoneadm.attach(zone, force=False, brand_opts=None)
192654              Attach the specified zone.
192655
192656              zone   string name of the zone
192657
192658              force  boolean force the zone into the "installed" state with no
192659                     validation
192660
192661              brand_opts
192662                     string brand specific options to pass
192663
192664              CLI Example:
192665
192666                 salt '*' zoneadm.attach lawrence
192667                 salt '*' zoneadm.attach lawrence True
192668
192669       salt.modules.zoneadm.boot(zone,       single=False,       altinit=None,
192670       smf_options=None)
192671              Boot (or activate) the specified zone.
192672
192673              zone   string name or uuid of the zone
192674
192675              single boolean   boots  only  to  milestone  svc:/milestone/sin‐
192676                     gle-user:default.
192677
192678              altinit
192679                     string valid path to an alternative executable to be  the
192680                     primordial process.
192681
192682              smf_options
192683                     string include two categories of options to control boot‐
192684                     ing behavior of the service management facility: recovery
192685                     options and messages options.
192686
192687              CLI Example:
192688
192689                 salt '*' zoneadm.boot clementine
192690                 salt '*' zoneadm.boot maeve single=True
192691                 salt '*' zoneadm.boot teddy single=True smf_options=verbose
192692
192693       salt.modules.zoneadm.clone(zone, source, snapshot=None)
192694              Install a zone by copying an existing installed zone.
192695
192696              zone   string name of the zone
192697
192698              source string zone to clone from
192699
192700              snapshot
192701                     string optional name of snapshot to use as source
192702
192703              CLI Example:
192704
192705                 salt '*' zoneadm.clone clementine dolores
192706
192707       salt.modules.zoneadm.detach(zone)
192708              Detach the specified zone.
192709
192710              zone   string name or uuid of the zone
192711
192712              CLI Example:
192713
192714                 salt '*' zoneadm.detach kissy
192715
192716       salt.modules.zoneadm.halt(zone)
192717              Halt the specified zone.
192718
192719              zone   string name or uuid of the zone
192720
192721              NOTE:
192722                 To cleanly shutdown the zone use the shutdown function.
192723
192724              CLI Example:
192725
192726                 salt '*' zoneadm.halt hector
192727
192728       salt.modules.zoneadm.install(zone, nodataset=False, brand_opts=None)
192729              Install the specified zone from the system.
192730
192731              zone   string name of the zone
192732
192733              nodataset
192734                     boolean do not create a ZFS file system
192735
192736              brand_opts
192737                     string brand specific options to pass
192738
192739              CLI Example:
192740
192741                 salt '*' zoneadm.install dolores
192742                 salt '*' zoneadm.install teddy True
192743
192744       salt.modules.zoneadm.list_zones(verbose=True,  installed=False, config‐
192745       ured=False, hide_global=True)
192746              List all zones
192747
192748              verbose
192749                     boolean display additional zone information
192750
192751              installed
192752                     boolean include installed zones in output
192753
192754              configured
192755                     boolean include configured zones in output
192756
192757              hide_global
192758                     boolean do not include global zone
192759
192760              CLI Example:
192761
192762                 salt '*' zoneadm.list
192763
192764       salt.modules.zoneadm.move(zone, zonepath)
192765              Move zone to new zonepath.
192766
192767              zone   string name or uuid of the zone
192768
192769              zonepath
192770                     string new zonepath
192771
192772              CLI Example:
192773
192774                 salt '*' zoneadm.move meave /sweetwater/meave
192775
192776       salt.modules.zoneadm.ready(zone)
192777              Prepares a zone for running applications.
192778
192779              zone   string name or uuid of the zone
192780
192781              CLI Example:
192782
192783                 salt '*' zoneadm.ready clementine
192784
192785       salt.modules.zoneadm.reboot(zone,      single=False,      altinit=None,
192786       smf_options=None)
192787              Restart the zone. This is equivalent to a halt boot sequence.
192788
192789              zone   string name or uuid of the zone
192790
192791              single boolean   boots  only  to  milestone  svc:/milestone/sin‐
192792                     gle-user:default.
192793
192794              altinit
192795                     string valid path to an alternative executable to be  the
192796                     primordial process.
192797
192798              smf_options
192799                     string include two categories of options to control boot‐
192800                     ing behavior of the service management facility: recovery
192801                     options and messages options.
192802
192803              CLI Example:
192804
192805                 salt '*' zoneadm.reboot dolores
192806                 salt '*' zoneadm.reboot teddy single=True
192807
192808       salt.modules.zoneadm.shutdown(zone,     reboot=False,     single=False,
192809       altinit=None, smf_options=None)
192810              Gracefully shutdown the specified zone.
192811
192812              zone   string name or uuid of the zone
192813
192814              reboot boolean reboot zone after shutdown (equivalent  of  shut‐
192815                     down -i6 -g0 -y)
192816
192817              single boolean   boots  only  to  milestone  svc:/milestone/sin‐
192818                     gle-user:default.
192819
192820              altinit
192821                     string valid path to an alternative executable to be  the
192822                     primordial process.
192823
192824              smf_options
192825                     string include two categories of options to control boot‐
192826                     ing behavior of the service management facility: recovery
192827                     options and messages options.
192828
192829              CLI Example:
192830
192831                 salt '*' zoneadm.shutdown peter
192832                 salt '*' zoneadm.shutdown armistice reboot=True
192833
192834       salt.modules.zoneadm.uninstall(zone)
192835              Uninstall the specified zone from the system.
192836
192837              zone   string name or uuid of the zone
192838
192839              WARNING:
192840                 The  -F  flag  is always used to avoid the prompts when unin‐
192841                 stalling.
192842
192843              CLI Example:
192844
192845                 salt '*' zoneadm.uninstall teddy
192846
192847       salt.modules.zoneadm.verify(zone)
192848              Check to make sure the configuration of the specified  zone  can
192849              safely be installed on the machine.
192850
192851              zone   string name of the zone
192852
192853              CLI Example:
192854
192855                 salt '*' zoneadm.verify dolores
192856
192857   salt.modules.zonecfg
192858       Module for Solaris 10's zonecfg
192859
192860       maintainer
192861              Jorge Schrauwen <sjorge@blackdot.be>
192862
192863       maturity
192864              new
192865
192866       platform
192867              OmniOS,OpenIndiana,SmartOS,OpenSolaris,Solaris 10
192868
192869       depend salt.modules.file
192870
192871       New in version 2017.7.0.
192872
192873
192874       WARNING:
192875          Oracle Solaris 11's zonecfg is not supported by this module!
192876
192877       salt.modules.zonecfg.add_resource(zone, resource_type, **kwargs)
192878              Add a resource
192879
192880              zone   string name of zone
192881
192882              resource_type
192883                     string type of resource
192884
192885              kwargs string|int|...  resource properties
192886
192887              CLI Example:
192888
192889                 salt '*' zonecfg.add_resource tallgeese rctl name=zone.max-locked-memory value='(priv=privileged,limit=33554432,action=deny)'
192890
192891       salt.modules.zonecfg.clear_property(zone, key)
192892              Clear a property
192893
192894              zone   string name of zone
192895
192896              key    string name of property
192897
192898              CLI Example:
192899
192900                 salt '*' zonecfg.clear_property deathscythe cpu-shares
192901
192902       salt.modules.zonecfg.create(zone, brand, zonepath, force=False)
192903              Create an in-memory configuration for the specified zone.
192904
192905              zone   string name of zone
192906
192907              brand  string brand name
192908
192909              zonepath
192910                     string path of zone
192911
192912              force  boolean overwrite configuration
192913
192914              CLI Example:
192915
192916                 salt '*' zonecfg.create deathscythe ipkg /zones/deathscythe
192917
192918       salt.modules.zonecfg.create_from_template(zone, template)
192919              Create an in-memory configuration from a template for the speci‐
192920              fied zone.
192921
192922              zone   string name of zone
192923
192924              template
192925                     string name of template
192926
192927              WARNING:
192928                 existing config will be overwritten!
192929
192930              CLI Example:
192931
192932                 salt '*' zonecfg.create_from_template leo tallgeese
192933
192934       salt.modules.zonecfg.delete(zone)
192935              Delete the specified configuration from memory and stable  stor‐
192936              age.
192937
192938              zone   string name of zone
192939
192940              CLI Example:
192941
192942                 salt '*' zonecfg.delete epyon
192943
192944       salt.modules.zonecfg.export(zone, path=None)
192945              Export the configuration from memory to stable storage.
192946
192947              zone   string name of zone
192948
192949              path   string path of file to export to
192950
192951              CLI Example:
192952
192953                 salt '*' zonecfg.export epyon
192954                 salt '*' zonecfg.export epyon /zones/epyon.cfg
192955
192956       salt.modules.zonecfg.import_(zone, path)
192957              Import the configuration to memory from stable storage.
192958
192959              zone   string name of zone
192960
192961              path   string path of file to export to
192962
192963              CLI Example:
192964
192965                 salt '*' zonecfg.import epyon /zones/epyon.cfg
192966
192967       salt.modules.zonecfg.info(zone, show_all=False)
192968              Display the configuration from memory
192969
192970              zone   string name of zone
192971
192972              show_all
192973                     boolean  also  include calculated values like capped-cpu,
192974                     cpu-shares, ...
192975
192976              CLI Example:
192977
192978                 salt '*' zonecfg.info tallgeese
192979
192980       salt.modules.zonecfg.remove_resource(zone, resource_type, resource_key,
192981       resource_value)
192982              Remove a resource
192983
192984              zone   string name of zone
192985
192986              resource_type
192987                     string type of resource
192988
192989              resource_key
192990                     string key for resource selection
192991
192992              resource_value
192993                     string value for resource selection
192994
192995              NOTE:
192996                 Set  resource_selector  to  None  for  resource  that  do not
192997                 require one.
192998
192999              CLI Example:
193000
193001                 salt '*' zonecfg.remove_resource tallgeese rctl name zone.max-locked-memory
193002
193003       salt.modules.zonecfg.set_property(zone, key, value)
193004              Set a property
193005
193006              zone   string name of zone
193007
193008              key    string name of property
193009
193010              value  string value of property
193011
193012              CLI Example:
193013
193014                 salt '*' zonecfg.set_property deathscythe cpu-shares 100
193015
193016       salt.modules.zonecfg.update_resource(zone,               resource_type,
193017       resource_selector, **kwargs)
193018              Add a resource
193019
193020              zone   string name of zone
193021
193022              resource_type
193023                     string type of resource
193024
193025              resource_selector
193026                     string unique resource identifier
193027
193028              kwargs string|int|...  resource properties
193029
193030              NOTE:
193031                 Set  resource_selector  to  None  for  resource  that  do not
193032                 require one.
193033
193034              CLI Example:
193035
193036                 salt '*' zonecfg.update_resource tallgeese rctl name name=zone.max-locked-memory value='(priv=privileged,limit=33554432,action=deny)'
193037
193038   salt.modules.zookeeper
193039   Zookeeper Module
193040       maintainer
193041              SaltStack
193042
193043       maturity
193044              new
193045
193046       platform
193047              all
193048
193049       depends
193050              kazoo
193051
193052       New in version 2018.3.0.
193053
193054
193055   Configuration
193056       configuration
193057              This module is not usable  until  the  following  are  specified
193058              either in a pillar or in the minion's config file:
193059
193060                 zookeeper:
193061                   hosts: zoo1,zoo2,zoo3
193062                   default_acl:
193063                     - username: daniel
193064                       password: test
193065                       read: true
193066                       write: true
193067                       create: true
193068                       delete: true
193069                       admin: true
193070                   username: daniel
193071                   password: test
193072
193073              If   configuration   for   multiple  zookeeper  environments  is
193074              required, they can be set up  as  different  configuration  pro‐
193075              files. For example:
193076
193077                 zookeeper:
193078                   prod:
193079                     hosts: zoo1,zoo2,zoo3
193080                     default_acl:
193081                       - username: daniel
193082                         password: test
193083                         read: true
193084                         write: true
193085                         create: true
193086                         delete: true
193087                         admin: true
193088                     username: daniel
193089                     password: test
193090                   dev:
193091                     hosts:
193092                       - dev1
193093                       - dev2
193094                       - dev3
193095                     default_acl:
193096                       - username: daniel
193097                         password: test
193098                         read: true
193099                         write: true
193100                         create: true
193101                         delete: true
193102                         admin: true
193103                     username: daniel
193104                     password: test
193105
193106       salt.modules.zookeeper.create(path,        value=u'',        acls=None,
193107       ephemeral=False,    sequence=False,    makepath=False,    profile=None,
193108       hosts=None,       scheme=None,       username=None,      password=None,
193109       default_acl=None)
193110              Create Znode
193111
193112              path   path of znode to create
193113
193114              value  value to assign to znode (Default: '')
193115
193116              acls   list of acl dictionaries to be assigned (Default: None)
193117
193118              ephemeral
193119                     indicate node is ephemeral (Default: False)
193120
193121              sequence
193122                     indicate node is suffixed with a unique  index  (Default:
193123                     False)
193124
193125              makepath
193126                     Create parent paths if they do not exist (Default: False)
193127
193128              profile
193129                     Configured   Zookeeper   profile   to  authenticate  with
193130                     (Default: None)
193131
193132              hosts  Lists of Zookeeper Hosts (Default: '127.0.0.1:2181)
193133
193134              scheme Scheme to authenticate with (Default: 'digest')
193135
193136              username
193137                     Username to authenticate (Default: None)
193138
193139              password
193140                     Password to authenticate (Default: None)
193141
193142              default_acl
193143                     Default acls to assign if a node is created in this  con‐
193144                     nection (Default: None)
193145
193146              CLI Example:
193147
193148                 salt minion1 zookeeper.create /test/name daniel profile=prod
193149
193150       salt.modules.zookeeper.delete(path,  version=-1,  recursive=False, pro‐
193151       file=None,  hosts=None,  scheme=None,   username=None,   password=None,
193152       default_acl=None)
193153              Delete znode
193154
193155              path   path to znode
193156
193157              version
193158                     only  delete  if  version  matches  (Default:  -1 (always
193159                     matches))
193160
193161              profile
193162                     Configured  Zookeeper  profile   to   authenticate   with
193163                     (Default: None)
193164
193165              hosts  Lists of Zookeeper Hosts (Default: '127.0.0.1:2181)
193166
193167              scheme Scheme to authenticate with (Default: 'digest')
193168
193169              username
193170                     Username to authenticate (Default: None)
193171
193172              password
193173                     Password to authenticate (Default: None)
193174
193175              default_acl
193176                     Default  acls to assign if a node is created in this con‐
193177                     nection (Default: None)
193178
193179              CLI Example:
193180
193181                 salt minion1 zookeeper.delete /test/name profile=prod
193182
193183       salt.modules.zookeeper.ensure_path(path,    acls=None,    profile=None,
193184       hosts=None,       scheme=None,       username=None,      password=None,
193185       default_acl=None)
193186              Ensure Znode path exists
193187
193188              path   Parent path to create
193189
193190              acls   list of acls dictionaries to be assigned (Default: None)
193191
193192              profile
193193                     Configured  Zookeeper  profile   to   authenticate   with
193194                     (Default: None)
193195
193196              hosts  Lists of Zookeeper Hosts (Default: '127.0.0.1:2181)
193197
193198              scheme Scheme to authenticate with (Default: 'digest')
193199
193200              username
193201                     Username to authenticate (Default: None)
193202
193203              password
193204                     Password to authenticate (Default: None)
193205
193206              default_acl
193207                     Default  acls to assign if a node is created in this con‐
193208                     nection (Default: None)
193209
193210              CLI Example:
193211
193212                 salt minion1 zookeeper.ensure_path /test/name profile=prod
193213
193214       salt.modules.zookeeper.exists(path,      profile=None,      hosts=None,
193215       scheme=None, username=None, password=None, default_acl=None)
193216              Check if path exists
193217
193218              path   path to check
193219
193220              profile
193221                     Configured   Zookeeper   profile   to  authenticate  with
193222                     (Default: None)
193223
193224              hosts  Lists of Zookeeper Hosts (Default: '127.0.0.1:2181)
193225
193226              scheme Scheme to authenticate with (Default: 'digest')
193227
193228              username
193229                     Username to authenticate (Default: None)
193230
193231              password
193232                     Password to authenticate (Default: None)
193233
193234              default_acl
193235                     Default acls to assign if a node is created in this  con‐
193236                     nection (Default: None)
193237
193238              CLI Example:
193239
193240                 salt minion1 zookeeper.exists /test/name profile=prod
193241
193242       salt.modules.zookeeper.get(path, profile=None, hosts=None, scheme=None,
193243       username=None, password=None, default_acl=None)
193244              Get value saved in znode
193245
193246              path   path to check
193247
193248              profile
193249                     Configured  Zookeeper  profile   to   authenticate   with
193250                     (Default: None)
193251
193252              hosts  Lists of Zookeeper Hosts (Default: '127.0.0.1:2181)
193253
193254              scheme Scheme to authenticate with (Default: 'digest')
193255
193256              username
193257                     Username to authenticate (Default: None)
193258
193259              password
193260                     Password to authenticate (Default: None)
193261
193262              default_acl
193263                     Default  acls to assign if a node is created in this con‐
193264                     nection (Default: None)
193265
193266              CLI Example:
193267
193268                 salt minion1 zookeeper.get /test/name profile=prod
193269
193270       salt.modules.zookeeper.get_acls(path,     profile=None,     hosts=None,
193271       scheme=None, username=None, password=None, default_acl=None)
193272              Get acls on a znode
193273
193274              path   path to znode
193275
193276              profile
193277                     Configured   Zookeeper   profile   to  authenticate  with
193278                     (Default: None)
193279
193280              hosts  Lists of Zookeeper Hosts (Default: '127.0.0.1:2181)
193281
193282              scheme Scheme to authenticate with (Default: 'digest')
193283
193284              username
193285                     Username to authenticate (Default: None)
193286
193287              password
193288                     Password to authenticate (Default: None)
193289
193290              default_acl
193291                     Default acls to assign if a node is created in this  con‐
193292                     nection (Default: None)
193293
193294              CLI Example:
193295
193296                 salt minion1 zookeeper.get_acls /test/name profile=prod
193297
193298       salt.modules.zookeeper.get_children(path,   profile=None,   hosts=None,
193299       scheme=None, username=None, password=None, default_acl=None)
193300              Get children in znode path
193301
193302              path   path to check
193303
193304              profile
193305                     Configured  Zookeeper  profile   to   authenticate   with
193306                     (Default: None)
193307
193308              hosts  Lists of Zookeeper Hosts (Default: '127.0.0.1:2181)
193309
193310              scheme Scheme to authenticate with (Default: 'digest')
193311
193312              username
193313                     Username to authenticate (Default: None)
193314
193315              password
193316                     Password to authenticate (Default: None)
193317
193318              default_acl
193319                     Default  acls to assign if a node is created in this con‐
193320                     nection (Default: None)
193321
193322              CLI Example:
193323
193324                 salt minion1 zookeeper.get_children /test profile=prod
193325
193326       salt.modules.zookeeper.make_digest_acl(username, password,  read=False,
193327       write=False, create=False, delete=False, admin=False, allperms=False)
193328              Generate acl object
193329
193330              NOTE:
193331                 This  is  heavily used in the zookeeper state and probably is
193332                 not useful as a cli module
193333
193334              username
193335                     username of acl
193336
193337              password
193338                     plain text password of acl
193339
193340              read   read acl
193341
193342              write  write acl
193343
193344              create create acl
193345
193346              delete delete acl
193347
193348              admin  admin acl
193349
193350              allperms
193351                     set all other acls to True
193352
193353              CLI Example:
193354
193355                 salt minion1 zookeeper.make_digest_acl username=daniel password=mypass allperms=True
193356
193357       salt.modules.zookeeper.set(path,   value,   version=-1,   profile=None,
193358       hosts=None,       scheme=None,       username=None,      password=None,
193359       default_acl=None)
193360              Update znode with new value
193361
193362              path   znode to update
193363
193364              value  value to set in znode
193365
193366              version
193367                     only update znode if version matches (Default: -1 (always
193368                     matches))
193369
193370              profile
193371                     Configured   Zookeeper   profile   to  authenticate  with
193372                     (Default: None)
193373
193374              hosts  Lists of Zookeeper Hosts (Default: '127.0.0.1:2181)
193375
193376              scheme Scheme to authenticate with (Default: 'digest')
193377
193378              username
193379                     Username to authenticate (Default: None)
193380
193381              password
193382                     Password to authenticate (Default: None)
193383
193384              default_acl
193385                     Default acls to assign if a node is created in this  con‐
193386                     nection (Default: None)
193387
193388              CLI Example:
193389
193390                 salt minion1 zookeeper.set /test/name gtmanfred profile=prod
193391
193392       salt.modules.zookeeper.set_acls(path,  acls,  version=-1, profile=None,
193393       hosts=None,      scheme=None,       username=None,       password=None,
193394       default_acl=None)
193395              Set acls on a znode
193396
193397              path   path to znode
193398
193399              acls   list of acl dictionaries to set on the znode
193400
193401              version
193402                     only  set  acls  if  version matches (Default: -1 (always
193403                     matches))
193404
193405              profile
193406                     Configured  Zookeeper  profile   to   authenticate   with
193407                     (Default: None)
193408
193409              hosts  Lists of Zookeeper Hosts (Default: '127.0.0.1:2181)
193410
193411              scheme Scheme to authenticate with (Default: 'digest')
193412
193413              username
193414                     Username to authenticate (Default: None)
193415
193416              password
193417                     Password to authenticate (Default: None)
193418
193419              default_acl
193420                     Default  acls to assign if a node is created in this con‐
193421                     nection (Default: None)
193422
193423              CLI Example:
193424
193425                 salt minion1 zookeeper.set_acls /test/name acls='[{"username": "gtmanfred", "password": "test", "all": True}]' profile=prod
193426
193427   salt.modules.zpool
193428       Module for running ZFS zpool command
193429
193430       codeauthor
193431              Nitin   Madhok   <nmadhok@clemson.edu>,   Jorge   Schrauwen   <‐
193432              sjorge@blackdot.be>
193433
193434       maintainer
193435              Jorge Schrauwen <sjorge@blackdot.be>
193436
193437       maturity
193438              new
193439
193440       depends
193441              salt.utils.zfs
193442
193443       platform
193444              illumos,freebsd,linux
193445
193446       Changed  in  version  2018.3.1:  Big refactor to remove duplicate code,
193447       better type converions and improved consistancy in output.
193448
193449
193450       salt.modules.zpool.add(zpool, *vdevs, **kwargs)
193451              Add the specified vdev's to the given storage pool
193452
193453              zpool  string Name of storage pool
193454
193455              vdevs  string One or more devices
193456
193457              force  boolean Forces use of device
193458
193459              CLI Example:
193460
193461                 salt '*' zpool.add myzpool /path/to/vdev1 /path/to/vdev2 [...]
193462
193463       salt.modules.zpool.attach(zpool, device, new_device, force=False)
193464              Attach specified device to zpool
193465
193466              zpool  string Name of storage pool
193467
193468              device string Existing device name too
193469
193470              new_device
193471                     string New device name (to be attached to device)
193472
193473              force  boolean Forces use of device
193474
193475              CLI Example:
193476
193477                 salt '*' zpool.attach myzpool /path/to/vdev1 /path/to/vdev2 [...]
193478
193479       salt.modules.zpool.clear(zpool, device=None)
193480              Clears device errors in a pool.
193481
193482              WARNING:
193483                 The device must not be part of an active pool configuration.
193484
193485              zpool  string name of storage pool
193486
193487              device string (optional) specific device to clear
193488
193489              New in version 2018.3.1.
193490
193491
193492              CLI Example:
193493
193494                 salt '*' zpool.clear mypool
193495                 salt '*' zpool.clear mypool /path/to/dev
193496
193497       salt.modules.zpool.create(zpool, *vdevs, **kwargs)
193498              New in version 2015.5.0.
193499
193500
193501              Create a simple zpool, a mirrored zpool, a zpool  having  nested
193502              VDEVs,  a  hybrid  zpool  with  cache, spare and log drives or a
193503              zpool with RAIDZ-1, RAIDZ-2 or RAIDZ-3
193504
193505              zpool  string Name of storage pool
193506
193507              vdevs  string One or move devices
193508
193509              force  boolean Forces use of vdevs, even if they appear  in  use
193510                     or specify a conflicting replication level.
193511
193512              mountpoint
193513                     string Sets the mount point for the root dataset
193514
193515              altroot
193516                     string Equivalent to "-o cachefile=none,altroot=root"
193517
193518              properties
193519                     dict Additional pool properties
193520
193521              filesystem_properties
193522                     dict Additional filesystem properties
193523
193524              createboot
193525                     boolean create a boot partition
193526
193527                     New in version 2018.3.0.
193528
193529
193530              CLI Examples:
193531
193532                 salt '*' zpool.create myzpool /path/to/vdev1 [...] [force=True|False]
193533                 salt '*' zpool.create myzpool mirror /path/to/vdev1 /path/to/vdev2 [...] [force=True|False]
193534                 salt '*' zpool.create myzpool raidz1 /path/to/vdev1 /path/to/vdev2 raidz2 /path/to/vdev3 /path/to/vdev4 /path/to/vdev5 [...] [force=True|False]
193535                 salt '*' zpool.create myzpool mirror /path/to/vdev1 [...] mirror /path/to/vdev2 /path/to/vdev3 [...] [force=True|False]
193536                 salt '*' zpool.create myhybridzpool mirror /tmp/file1 [...] log mirror /path/to/vdev1 [...] cache /path/to/vdev2 [...] spare /path/to/vdev3 [...] [force=True|False]
193537
193538              NOTE:
193539                 Zpool  properties can be specified at the time of creation of
193540                 the pool by passing an additional  argument  called  "proper‐
193541                 ties"  and  specifying  the  properties with their respective
193542                 values in the form of a python dictionary:
193543
193544                     properties="{'property1': 'value1', 'property2': 'value2'}"
193545
193546                 Filesystem properties can be specified at the  time  of  cre‐
193547                 ation  of  the  pool by passing an additional argument called
193548                 "filesystem_properties" and specifying  the  properties  with
193549                 their respective values in the form of a python dictionary:
193550
193551                     filesystem_properties="{'property1': 'value1', 'property2': 'value2'}"
193552
193553                 Example:
193554
193555                     salt '*' zpool.create myzpool /path/to/vdev1 [...] properties="{'property1': 'value1', 'property2': 'value2'}"
193556
193557              CLI Example:
193558
193559                 salt '*' zpool.create myzpool /path/to/vdev1 [...] [force=True|False]
193560                 salt '*' zpool.create myzpool mirror /path/to/vdev1 /path/to/vdev2 [...] [force=True|False]
193561                 salt '*' zpool.create myzpool raidz1 /path/to/vdev1 /path/to/vdev2 raidz2 /path/to/vdev3 /path/to/vdev4 /path/to/vdev5 [...] [force=True|False]
193562                 salt '*' zpool.create myzpool mirror /path/to/vdev1 [...] mirror /path/to/vdev2 /path/to/vdev3 [...] [force=True|False]
193563                 salt '*' zpool.create myhybridzpool mirror /tmp/file1 [...] log mirror /path/to/vdev1 [...] cache /path/to/vdev2 [...] spare /path/to/vdev3 [...] [force=True|False]
193564
193565       salt.modules.zpool.create_file_vdev(size, *vdevs)
193566              Creates file based virtual devices for a zpool
193567
193568              CLI Example:
193569
193570                 salt '*' zpool.create_file_vdev 7G /path/to/vdev1 [/path/to/vdev2] [...]
193571
193572              NOTE:
193573                 Depending on file size, the above command may take a while to
193574                 return.
193575
193576       salt.modules.zpool.destroy(zpool, force=False)
193577              Destroys a storage pool
193578
193579              zpool  string Name of storage pool
193580
193581              force  boolean Force destroy of pool
193582
193583              CLI Example:
193584
193585                 salt '*' zpool.destroy myzpool
193586
193587       salt.modules.zpool.detach(zpool, device)
193588              Detach specified device to zpool
193589
193590              zpool  string Name of storage pool
193591
193592              device string Device to detach
193593
193594              CLI Example:
193595
193596                 salt '*' zpool.detach myzpool /path/to/vdev1
193597
193598       salt.modules.zpool.exists(zpool)
193599              Check if a ZFS storage pool is active
193600
193601              zpool  string Name of storage pool
193602
193603              CLI Example:
193604
193605                 salt '*' zpool.exists myzpool
193606
193607       salt.modules.zpool.export(*pools, **kwargs)
193608              New in version 2015.5.0.
193609
193610
193611              Export storage pools
193612
193613              pools  string One or more storage pools to export
193614
193615              force  boolean Force export of storage pools
193616
193617              CLI Example:
193618
193619                 salt '*' zpool.export myzpool ... [force=True|False]
193620                 salt '*' zpool.export myzpool2 myzpool2 ... [force=True|False]
193621
193622       salt.modules.zpool.get(zpool,       prop=None,       show_source=False,
193623       parsable=True)
193624              New in version 2016.3.0.
193625
193626
193627              Retrieves the given list of properties
193628
193629              zpool  string Name of storage pool
193630
193631              prop   string Optional name of property to retrieve
193632
193633              show_source
193634                     boolean Show source of property
193635
193636              parsable
193637                     boolean Display numbers in parsable (exact) values
193638
193639                     New in version 2018.3.0.
193640
193641
193642              CLI Example:
193643
193644                 salt '*' zpool.get myzpool
193645
193646       salt.modules.zpool.healthy()
193647              Check if all zpools are healthy
193648
193649              New in version 2016.3.0.
193650
193651
193652              CLI Example:
193653
193654                 salt '*' zpool.healthy
193655
193656       salt.modules.zpool.history(zpool=None, internal=False, verbose=False)
193657              New in version 2016.3.0.
193658
193659
193660              Displays  the  command  history  of  the specified pools, or all
193661              pools if no pool is specified
193662
193663              zpool  string Optional storage pool
193664
193665              internal
193666                     boolean Toggle display of internally logged ZFS events
193667
193668              verbose
193669                     boolean Toggle display of the user  name,  the  hostname,
193670                     and the zone in which the operation was performed
193671
193672              CLI Example:
193673
193674                 salt '*' zpool.upgrade myzpool
193675
193676       salt.modules.zpool.import_(zpool=None, new_name=None, **kwargs)
193677              New in version 2015.5.0.
193678
193679
193680              Import storage pools or list pools available for import
193681
193682              zpool  string Optional name of storage pool
193683
193684              new_name
193685                     string Optional new name for the storage pool
193686
193687              mntopts
193688                     string  Comma-separated list of mount options to use when
193689                     mounting datasets within the pool.
193690
193691              force  boolean Forces import, even if the  pool  appears  to  be
193692                     potentially active.
193693
193694              altroot
193695                     string Equivalent to "-o cachefile=none,altroot=root"
193696
193697              dir    string  Searches  for  devices  or files in dir, multiple
193698                     dirs can be specified as follows: dir="dir1,dir2"
193699
193700              no_mount
193701                     boolean Import the pool without mounting  any  file  sys‐
193702                     tems.
193703
193704              only_destroyed
193705                     boolean  Imports  destroyed  pools  only.  This also sets
193706                     force=True.
193707
193708              recovery
193709                     bool|str false: do not try to recovery broken pools true:
193710                     try  to  recovery  the  pool  by  rolling back the latest
193711                     transactions test: check if a pool can be recovered,  but
193712                     don't  import  it nolog: allow import without log device,
193713                     recent transactions might be lost
193714
193715                     NOTE:
193716                        If feature flags are not support this  forced  to  the
193717                        default of 'false'
193718
193719                     WARNING:
193720                        When recovery is set to 'test' the result will be have
193721                        imported set to True if the pool can be imported.  The
193722                        pool might also be imported if the pool was not broken
193723                        to begin with.
193724
193725              properties
193726                     dict Additional pool properties
193727
193728              NOTE:
193729                 Zpool properties can be specified at the time of creation  of
193730                 the  pool  by  passing an additional argument called "proper‐
193731                 ties" and specifying the  properties  with  their  respective
193732                 values in the form of a python dictionary:
193733
193734                     properties="{'property1': 'value1', 'property2': 'value2'}"
193735
193736              CLI Example:
193737
193738                 salt '*' zpool.import [force=True|False]
193739                 salt '*' zpool.import myzpool [mynewzpool] [force=True|False]
193740                 salt '*' zpool.import myzpool dir='/tmp'
193741
193742       salt.modules.zpool.iostat(zpool=None, sample_time=5, parsable=True)
193743              Display I/O statistics for the given pools
193744
193745              zpool  string optional name of storage pool
193746
193747              sample_time
193748                     int  seconds to capture data before output default a sam‐
193749                     ple of 5 seconds is used
193750
193751              parsable
193752                     boolean display data  in  pythonc  values  (True,  False,
193753                     Bytes,...)
193754
193755              New in version 2016.3.0.
193756
193757
193758              Changed  in  version  2018.3.1:  Added `parsable` parameter that
193759              defaults to True
193760
193761
193762              CLI Example:
193763
193764                 salt '*' zpool.iostat myzpool
193765
193766       salt.modules.zpool.labelclear(device, force=False)
193767              New in version 2018.3.0.
193768
193769
193770              Removes ZFS label information from the specified device
193771
193772              device string Device name; must not be part of  an  active  pool
193773                     configuration.
193774
193775              force  boolean Treat exported or foreign devices as inactive
193776
193777              CLI Example:
193778
193779                 salt '*' zpool.labelclear /path/to/dev
193780
193781       salt.modules.zpool.list_(properties=u'size,  alloc,  free,  cap,  frag,
193782       health', zpool=None, parsable=True)
193783              New in version 2015.5.0.
193784
193785
193786              Return information about (all) storage pools
193787
193788              zpool  string optional name of storage pool
193789
193790              properties
193791                     string comma-separated list of properties to list
193792
193793              parsable
193794                     boolean display numbers in parsable (exact) values
193795
193796                     New in version 2018.3.0.
193797
193798
193799              NOTE:
193800                 The name property will always be  included,  while  the  frag
193801                 property will get removed if not available
193802
193803              zpool  string optional zpool
193804
193805              NOTE:
193806                 Multiple  storage  pool  can  be provded as a space separated
193807                 list
193808
193809              CLI Example:
193810
193811                 salt '*' zpool.list
193812                 salt '*' zpool.list zpool=tank
193813                 salt '*' zpool.list 'size,free'
193814                 salt '*' zpool.list 'size,free' tank
193815
193816       salt.modules.zpool.offline(zpool, *vdevs, **kwargs)
193817              New in version 2015.5.0.
193818
193819
193820              Ensure that the specified devices are offline
193821
193822              WARNING:
193823                 By default, the  OFFLINE  state  is  persistent.  The  device
193824                 remains  offline  when the system is rebooted. To temporarily
193825                 take a device offline, use temporary=True.
193826
193827              zpool  string name of storage pool
193828
193829              vdevs  string One or more devices
193830
193831              temporary
193832                     boolean Enable temporarily offline
193833
193834              CLI Example:
193835
193836                 salt '*' zpool.offline myzpool /path/to/vdev1 [...] [temporary=True|False]
193837
193838       salt.modules.zpool.online(zpool, *vdevs, **kwargs)
193839              New in version 2015.5.0.
193840
193841
193842              Ensure that the specified devices are online
193843
193844              zpool  string name of storage pool
193845
193846              vdevs  string one or more devices
193847
193848              expand boolean Expand the device to use all available space.
193849
193850                     NOTE:
193851                        If the device is part of a mirror or  raidz  then  all
193852                        devices  must  be  expanded  before the new space will
193853                        become available to the pool.
193854
193855              CLI Example:
193856
193857                 salt '*' zpool.online myzpool /path/to/vdev1 [...]
193858
193859       salt.modules.zpool.reguid(zpool)
193860              Generates a new unique identifier for the pool
193861
193862              WARNING:
193863                 You must ensure that all devices in this pool are online  and
193864                 healthy before performing this action.
193865
193866              zpool  string name of storage pool
193867
193868              New in version 2016.3.0.
193869
193870
193871              CLI Example:
193872
193873                 salt '*' zpool.reguid myzpool
193874
193875       salt.modules.zpool.reopen(zpool)
193876              Reopen all the vdevs associated with the pool
193877
193878              zpool  string name of storage pool
193879
193880              New in version 2016.3.0.
193881
193882
193883              CLI Example:
193884
193885                 salt '*' zpool.reopen myzpool
193886
193887       salt.modules.zpool.replace(zpool,      old_device,     new_device=None,
193888       force=False)
193889              Replaces old_device with new_device
193890
193891              NOTE:
193892                 This is equivalent to attaching new_device, waiting for it to
193893                 resilver, and then detaching old_device.
193894
193895                 The  size  of new_device must be greater than or equal to the
193896                 minimum size of all the devices in a mirror or raidz configu‐
193897                 ration.
193898
193899              zpool  string Name of storage pool
193900
193901              old_device
193902                     string Old device to replace
193903
193904              new_device
193905                     string Optional new device
193906
193907              force  boolean  Forces use of new_device, even if its appears to
193908                     be in use.
193909
193910              CLI Example:
193911
193912                 salt '*' zpool.replace myzpool /path/to/vdev1 /path/to/vdev2
193913
193914       salt.modules.zpool.scrub(zpool, stop=False, pause=False)
193915              Scrub a storage pool
193916
193917              zpool  string Name of storage pool
193918
193919              stop   boolean If True, cancel ongoing scrub
193920
193921              pause  boolean If True, pause ongoing scrub
193922
193923                     New in version 2018.3.0.
193924
193925
193926                     NOTE:
193927                        Pause is only available on recent versions of ZFS.
193928
193929                        If both pause and stop are True, then stop will win.
193930
193931              CLI Example:
193932
193933                 salt '*' zpool.scrub myzpool
193934
193935       salt.modules.zpool.set(zpool, prop, value)
193936              Sets the given property on the specified pool
193937
193938              zpool  string Name of storage pool
193939
193940              prop   string Name of property to set
193941
193942              value  string Value to set for the specified property
193943
193944              New in version 2016.3.0.
193945
193946
193947              CLI Example:
193948
193949                 salt '*' zpool.set myzpool readonly yes
193950
193951       salt.modules.zpool.split(zpool, newzpool, **kwargs)
193952              New in version 2018.3.0.
193953
193954
193955              Splits devices off pool creating newpool.
193956
193957              NOTE:
193958                 All vdevs in pool must be mirrors.  At the time of the split,
193959                 newzpool will be a replica of zpool.
193960
193961                 After splitting, do not forget to import the new pool!
193962
193963              zpool  string Name of storage pool
193964
193965              newzpool
193966                     string Name of new storage pool
193967
193968              mountpoint
193969                     string Sets the mount point for the root dataset
193970
193971              altroot
193972                     string Sets altroot for newzpool
193973
193974              properties
193975                     dict Additional pool properties for newzpool
193976
193977              CLI Examples:
193978
193979                 salt '*' zpool.split datamirror databackup
193980                 salt '*' zpool.split datamirror databackup altroot=/backup
193981
193982              NOTE:
193983                 Zpool  properties can be specified at the time of creation of
193984                 the pool by passing an additional  argument  called  "proper‐
193985                 ties"  and  specifying  the  properties with their respective
193986                 values in the form of a python dictionary:
193987
193988                     properties="{'property1': 'value1', 'property2': 'value2'}"
193989
193990                 Example:
193991
193992                     salt '*' zpool.split datamirror databackup properties="{'readonly': 'on'}"
193993
193994              CLI Example:
193995
193996                 salt '*' zpool.split datamirror databackup
193997                 salt '*' zpool.split datamirror databackup altroot=/backup
193998
193999       salt.modules.zpool.status(zpool=None)
194000              Return the status of the named zpool
194001
194002              zpool  string optional name of storage pool
194003
194004              New in version 2016.3.0.
194005
194006
194007              CLI Example:
194008
194009                 salt '*' zpool.status myzpool
194010
194011       salt.modules.zpool.upgrade(zpool=None, version=None)
194012              New in version 2016.3.0.
194013
194014
194015              Enables all supported features on the given pool
194016
194017              zpool  string Optional storage pool, applies to all otherwize
194018
194019              version
194020                     int Version to upgrade to, if unspecified upgrade to  the
194021                     highest possible
194022
194023              WARNING:
194024                 Once  this  is done, the pool will no longer be accessible on
194025                 systems that do not support  feature  flags.  See  zpool-fea‐
194026                 tures(5)  for details on compatibility with systems that sup‐
194027                 port feature flags, but do not support all  features  enabled
194028                 on the pool.
194029
194030              CLI Example:
194031
194032                 salt '*' zpool.upgrade myzpool
194033
194034   salt.modules.zypper
194035       Package support for openSUSE via the zypper package manager
194036
194037       depends
194038
194039              · rpm Python module.  Install with zypper install rpm-python
194040
194041       IMPORTANT:
194042          If you feel that Salt should be using this module to manage packages
194043          on a minion, and it is using a different module (or gives  an  error
194044          similar to 'pkg.install' is not available), see here.
194045
194046       class salt.modules.zypper.Wildcard(zypper)
194047              New in version 2017.7.0.
194048
194049
194050              Converts string wildcard to a zypper query.
194051
194052              '1.2.3.4*'   is  '1.2.3.4.whatever.is.here'  and  is  equal  to:
194053              '1.2.3.4 >= and < 1.2.3.5'
194054
194055              Parameters
194056                     ptn -- Pattern
194057
194058              Returns
194059                     Query range
194060
194061              Z_OP = [u'<', u'<=', u'=', u'>=', u'>']
194062
194063       salt.modules.zypper.add_lock(packages, **kwargs)
194064              Add a package lock. Specify packages to lock by exact name.
194065
194066              CLI Example:
194067
194068                 salt '*' pkg.add_lock <package name>
194069                 salt '*' pkg.add_lock <package1>,<package2>,<package3>
194070                 salt '*' pkg.add_lock pkgs='["foo", "bar"]'
194071
194072       salt.modules.zypper.clean_locks()
194073              Remove unused locks that do not currently (with regard to repos‐
194074              itories used) lock any package.
194075
194076              CLI Example:
194077
194078                 salt '*' pkg.clean_locks
194079
194080       salt.modules.zypper.del_repo(repo)
194081              Delete a repo.
194082
194083              CLI Examples:
194084
194085                 salt '*' pkg.del_repo alias
194086
194087       salt.modules.zypper.diff(*paths)
194088              Return  a formatted diff between current files and original in a
194089              package.  NOTE: this function includes all files  (configuration
194090              and not), but does not work on binary content.
194091
194092              Parameters
194093                     path -- Full path to the installed file
194094
194095              Returns
194096                     Difference  string  or  raises  and exception if examined
194097                     file is binary.
194098
194099              CLI example:
194100
194101                 salt '*' pkg.diff /etc/apache2/httpd.conf /etc/sudoers
194102
194103       salt.modules.zypper.download(*packages, **kwargs)
194104              Download packages to the local disk.
194105
194106              refresh
194107                     force a  refresh  if  set  to  True.   If  set  to  False
194108                     (default) it depends on zypper if a refresh is executed.
194109
194110              CLI example:
194111
194112                 salt '*' pkg.download httpd
194113                 salt '*' pkg.download httpd postfix
194114
194115       salt.modules.zypper.file_dict(*packages)
194116              List the files that belong to a package, grouped by package. Not
194117              specifying any packages will return a list of every file on  the
194118              system's rpm database (not generally recommended).
194119
194120              CLI Examples:
194121
194122                 salt '*' pkg.file_list httpd
194123                 salt '*' pkg.file_list httpd postfix
194124                 salt '*' pkg.file_list
194125
194126       salt.modules.zypper.file_list(*packages)
194127              List  the  files  that  belong  to a package. Not specifying any
194128              packages will return a list of every file on  the  system's  rpm
194129              database (not generally recommended).
194130
194131              CLI Examples:
194132
194133                 salt '*' pkg.file_list httpd
194134                 salt '*' pkg.file_list httpd postfix
194135                 salt '*' pkg.file_list
194136
194137       salt.modules.zypper.get_repo(repo, **kwargs)
194138              Display a repo.
194139
194140              CLI Example:
194141
194142                 salt '*' pkg.get_repo alias
194143
194144       salt.modules.zypper.info_available(*names, **kwargs)
194145              Return  the  information  of the named package available for the
194146              system.
194147
194148              refresh
194149                     force a refresh if set to  True  (default).   If  set  to
194150                     False  it  depends  on zypper if a refresh is executed or
194151                     not.
194152
194153              CLI example:
194154
194155                 salt '*' pkg.info_available <package1>
194156                 salt '*' pkg.info_available <package1> <package2> <package3> ...
194157
194158       salt.modules.zypper.info_installed(*names, **kwargs)
194159              Return the information of the named package(s), installed on the
194160              system.
194161
194162              Parameters
194163
194164                     · names  --  Names  of  the  packages  to get information
194165                       about.
194166
194167                     · attr --
194168
194169                       Comma-separated package attributes.  If  no  'attr'  is
194170                       specified, all available attributes returned.
194171
194172                       Valid attributes are:
194173                              version,     vendor,     release,    build_date,
194174                              build_date_time_t,                 install_date,
194175                              install_date_time_t,      build_host,     group,
194176                              source_rpm, arch, epoch, size,  license,  signa‐
194177                              ture, packager, url, summary, description.
194178
194179
194180                     · errors --
194181
194182                       Handle  RPM  field  errors. If 'ignore' is chosen, then
194183                       various mistakes are simply ignored  and  omitted  from
194184                       the  texts  or  strings.  If 'report' is chonen, then a
194185                       field with a mistake is not returned,  instead  a  'N/A
194186                       (broken)' (not available, broken) text is placed.
194187
194188                       Valid attributes are:
194189                              ignore, report
194190
194191
194192                     · all_versions -- Include information for all versions of
194193                       the packages installed on the minion.
194194
194195              CLI example:
194196
194197                 salt '*' pkg.info_installed <package1>
194198                 salt '*' pkg.info_installed <package1> <package2> <package3> ...
194199                 salt '*' pkg.info_installed <package1> <package2> <package3> all_versions=True
194200                 salt '*' pkg.info_installed <package1> attr=version,vendor all_versions=True
194201                 salt '*' pkg.info_installed <package1> <package2> <package3> ... attr=version,vendor
194202                 salt '*' pkg.info_installed <package1> <package2> <package3> ... attr=version,vendor errors=ignore
194203                 salt '*' pkg.info_installed <package1> <package2> <package3> ... attr=version,vendor errors=report
194204
194205       salt.modules.zypper.install(name=None,  refresh=False,   fromrepo=None,
194206       pkgs=None,  sources=None,  downloadonly=None,  skip_verify=False,  ver‐
194207       sion=None, ignore_repo_failure=False, **kwargs)
194208              Changed in version 2015.8.12,2016.3.3,2016.11.0: On minions run‐
194209              ning  systemd>=205,  systemd-run(1)  is now used to isolate com‐
194210              mands which modify installed packages from the salt-minion  dae‐
194211              mon's  control  group. This is done to keep systemd from killing
194212              any zypper commands spawned by Salt when the salt-minion service
194213              is  restarted.  (see KillMode in the systemd.kill(5) manpage for
194214              more information). If desired, usage of  systemd-run(1)  can  be
194215              suppressed by setting a config option called systemd.scope, with
194216              a value of False (no quotes).
194217
194218
194219              Install the passed package(s), add refresh=True to force a 'zyp‐
194220              per refresh' before package is installed.
194221
194222              name   The  name  of the package to be installed. Note that this
194223                     parameter is ignored if either pkgs or sources is passed.
194224                     Additionally,  please  note  that this option can only be
194225                     used to install packages from a software  repository.  To
194226                     install a package file manually, use the sources option.
194227
194228                     CLI Example:
194229
194230                        salt '*' pkg.install <package name>
194231
194232              refresh
194233                     force  a  refresh  if  set  to  True.   If  set  to False
194234                     (default) it depends on zypper if a refresh is executed.
194235
194236              fromrepo
194237                     Specify a package repository to install from.
194238
194239              downloadonly
194240                     Only download the packages, do not install.
194241
194242              skip_verify
194243                     Skip the GPG verification check (e.g., --no-gpg-checks)
194244
194245              version
194246                     Can be either a version number, or the combination  of  a
194247                     comparison  operator (<, >, <=, >=, =) and a version num‐
194248                     ber (ex. '>1.2.3-4').  This parameter is ignored if  pkgs
194249                     or sources is passed.
194250
194251              resolve_capabilities
194252                     If  this option is set to True zypper will take capabili‐
194253                     ties into account. In this case names which are just pro‐
194254                     vided by a package will get installed. Default is False.
194255
194256              Multiple Package Installation Options:
194257
194258              pkgs   A list of packages to install from a software repository.
194259                     Must be passed as a python list. A specific version  num‐
194260                     ber  can be specified by using a single-element dict rep‐
194261                     resenting the package and its version. As with  the  ver‐
194262                     sion parameter above, comparison operators can be used to
194263                     target a specific version of a package.
194264
194265                     CLI Examples:
194266
194267                        salt '*' pkg.install pkgs='["foo", "bar"]'
194268                        salt '*' pkg.install pkgs='["foo", {"bar": "1.2.3-4"}]'
194269                        salt '*' pkg.install pkgs='["foo", {"bar": "<1.2.3-4"}]'
194270
194271              sources
194272                     A list of RPM packages to install. Must be  passed  as  a
194273                     list of dicts, with the keys being package names, and the
194274                     values being the source URI or local path to the package.
194275
194276                     CLI Example:
194277
194278                        salt '*' pkg.install sources='[{"foo": "salt://foo.rpm"},{"bar": "salt://bar.rpm"}]'
194279
194280              ignore_repo_failure
194281                     Zypper returns error code 106 if one of the  repositories
194282                     are  not  available  for various reasons.  In case to set
194283                     strict check, this parameter needs to  be  set  to  True.
194284                     Default: False.
194285
194286              diff_attr:
194287                     If  a  list  of package attributes is specified, returned
194288                     value will contain them, eg.:
194289
194290                        {'<package>': {
194291                            'old': {
194292                                'version': '<old-version>',
194293                                'arch': '<old-arch>'},
194294
194295                            'new': {
194296                                'version': '<new-version>',
194297                                'arch': '<new-arch>'}}}
194298
194299                     Valid attributes  are:  epoch,  version,  release,  arch,
194300                     install_date, install_date_time_t.
194301
194302                     If  all  is  specified,  all  valid  attributes  will  be
194303                     returned.
194304
194305                     New in version 2018.3.0.
194306
194307
194308              Returns a dict containing the new package names and versions:
194309
194310                 {'<package>': {'old': '<old-version>',
194311                                'new': '<new-version>'}}
194312
194313              If an attribute list is specified in diff_attr,  the  dict  will
194314              also contain any specified attribute, eg.:
194315
194316                 {'<package>': {
194317                     'old': {
194318                         'version': '<old-version>',
194319                         'arch': '<old-arch>'},
194320
194321                     'new': {
194322                         'version': '<new-version>',
194323                         'arch': '<new-arch>'}}}
194324
194325       salt.modules.zypper.latest_version(*names, **kwargs)
194326              Return  the  latest  version  of the named package available for
194327              upgrade or installation. If more than one package name is speci‐
194328              fied, a dict of name/version pairs is returned.
194329
194330              If  the  latest version of a given package is already installed,
194331              an empty dict will be returned for that package.
194332
194333              refresh
194334                     force a refresh if set to  True  (default).   If  set  to
194335                     False  it  depends  on zypper if a refresh is executed or
194336                     not.
194337
194338              CLI example:
194339
194340                 salt '*' pkg.latest_version <package name>
194341                 salt '*' pkg.latest_version <package1> <package2> <package3> ...
194342
194343       salt.modules.zypper.list_downloaded()
194344              New in version 2017.7.0.
194345
194346
194347              List prefetched packages downloaded by Zypper in the local disk.
194348
194349              CLI example:
194350
194351                 salt '*' pkg.list_downloaded
194352
194353       salt.modules.zypper.list_installed_patches()
194354              New in version 2017.7.0.
194355
194356
194357              List installed advisory patches on the system.
194358
194359              CLI Examples:
194360
194361                 salt '*' pkg.list_installed_patches
194362
194363       salt.modules.zypper.list_installed_patterns()
194364              List installed patterns on the system.
194365
194366              CLI Examples:
194367
194368                 salt '*' pkg.list_installed_patterns
194369
194370       salt.modules.zypper.list_locks()
194371              List current package locks.
194372
194373              Return a dict containing the locked package with attributes:
194374
194375                 {'<package>': {'case_sensitive': '<case_sensitive>',
194376                                'match_type': '<match_type>'
194377                                'type': '<type>'}}
194378
194379              CLI Example:
194380
194381                 salt '*' pkg.list_locks
194382
194383       salt.modules.zypper.list_patches(refresh=False)
194384              New in version 2017.7.0.
194385
194386
194387              List all known advisory patches from available repos.
194388
194389              refresh
194390                     force a  refresh  if  set  to  True.   If  set  to  False
194391                     (default) it depends on zypper if a refresh is executed.
194392
194393              CLI Examples:
194394
194395                 salt '*' pkg.list_patches
194396
194397       salt.modules.zypper.list_patterns(refresh=False)
194398              List all known patterns from available repos.
194399
194400              refresh
194401                     force  a  refresh  if  set  to  True.   If  set  to False
194402                     (default) it depends on zypper if a refresh is executed.
194403
194404              CLI Examples:
194405
194406                 salt '*' pkg.list_patterns
194407
194408       salt.modules.zypper.list_pkgs(versions_as_list=False, **kwargs)
194409              List the packages currently installed as a dict. By default, the
194410              dict contains versions as a comma separated string:
194411
194412                 {'<package_name>': '<version>[,<version>...]'}
194413
194414              versions_as_list:
194415                     If set to true, the versions are provided as a list
194416
194417                     {'<package_name>': ['<version>', '<version>']}
194418
194419              attr:  If  a  list  of package attributes is specified, returned
194420                     value will contain them in addition to version, eg.:
194421
194422                        {'<package_name>': [{'version' : 'version', 'arch' : 'arch'}]}
194423
194424                     Valid attributes  are:  epoch,  version,  release,  arch,
194425                     install_date, install_date_time_t.
194426
194427                     If  all  is  specified,  all  valid  attributes  will  be
194428                     returned.
194429                        New in version 2018.3.0.
194430
194431
194432              removed:
194433                     not supported
194434
194435              purge_desired:
194436                     not supported
194437
194438              CLI Example:
194439
194440                 salt '*' pkg.list_pkgs
194441                 salt '*' pkg.list_pkgs attr=version,arch
194442                 salt '*' pkg.list_pkgs attr='["version", "arch"]'
194443
194444       salt.modules.zypper.list_products(all=False, refresh=False)
194445              List all available or installed SUSE products.
194446
194447              all    List all products available or only installed. Default is
194448                     False.
194449
194450              refresh
194451                     force  a  refresh  if  set  to  True.   If  set  to False
194452                     (default) it depends on zypper if a refresh is executed.
194453
194454              Includes handling for OEM products, which read the OEM  product‐
194455              line file and overwrite the release value.
194456
194457              CLI Examples:
194458
194459                 salt '*' pkg.list_products
194460                 salt '*' pkg.list_products all=True
194461
194462       salt.modules.zypper.list_provides(**kwargs)
194463              New in version 2018.3.0.
194464
194465
194466              List  package provides of installed packages as a dict.  {'<pro‐
194467              vided_name>': ['<package_name>', '<package_name>', ...]}
194468
194469              CLI Examples:
194470
194471                 salt '*' pkg.list_provides
194472
194473       salt.modules.zypper.list_repo_pkgs(*args, **kwargs)
194474              New in version 2017.7.5,2018.3.1.
194475
194476
194477              Returns all available packages. Optionally, package  names  (and
194478              name  globs)  can  be passed and the results will be filtered to
194479              packages matching those names. This is recommended as it  speeds
194480              up the function considerably.
194481
194482              This  function can be helpful in discovering the version or repo
194483              to specify in a pkg.installed state.
194484
194485              The return data will be a dictionary mapping package names to  a
194486              list  of  version  numbers,  ordered  from  newest to oldest. If
194487              byrepo is set to True, then the return dictionary  will  contain
194488              repository  names at the top level, and each repository will map
194489              packages to lists of version numbers. For example:
194490
194491                 # With byrepo=False (default)
194492                 {
194493                     'bash': ['4.3-83.3.1',
194494                              '4.3-82.6'],
194495                     'vim': ['7.4.326-12.1']
194496                 }
194497                 {
194498                     'OSS': {
194499                         'bash': ['4.3-82.6'],
194500                         'vim': ['7.4.326-12.1']
194501                     },
194502                     'OSS Update': {
194503                         'bash': ['4.3-83.3.1']
194504                     }
194505                 }
194506
194507              fromrepo
194508                     None Only include results  from  the  specified  repo(s).
194509                     Multiple repos can be specified, comma-separated.
194510
194511              byrepo False When True, the return data for each package will be
194512                     organized by repository.
194513
194514              CLI Examples:
194515
194516                 salt '*' pkg.list_repo_pkgs
194517                 salt '*' pkg.list_repo_pkgs foo bar baz
194518                 salt '*' pkg.list_repo_pkgs 'python2-*' byrepo=True
194519                 salt '*' pkg.list_repo_pkgs 'python2-*' fromrepo='OSS Updates'
194520
194521       salt.modules.zypper.list_repos()
194522              Lists all repos.
194523
194524              CLI Example:
194525
194526                 salt '*' pkg.list_repos
194527
194528       salt.modules.zypper.list_upgrades(refresh=True, **kwargs)
194529              List all available package upgrades on this system
194530
194531              refresh
194532                     force a refresh if set to  True  (default).   If  set  to
194533                     False it depends on zypper if a refresh is executed.
194534
194535              CLI Example:
194536
194537                 salt '*' pkg.list_upgrades
194538
194539       salt.modules.zypper.mod_repo(repo, **kwargs)
194540              Modify  one  or  more  values  for  a repo. If the repo does not
194541              exist, it will be created, so long as the following  values  are
194542              specified:
194543
194544              repo or alias
194545                     alias by which Zypper refers to the repo
194546
194547              url, mirrorlist or baseurl
194548                     the URL for Zypper to reference
194549
194550              enabled
194551                     Enable  or disable (True or False) repository, but do not
194552                     remove if disabled.
194553
194554              refresh
194555                     Enable or disable (True or  False)  auto-refresh  of  the
194556                     repository.
194557
194558              cache  Enable or disable (True or False) RPM files caching.
194559
194560              gpgcheck
194561                     Enable  or  disable  (True  or  False) GPG check for this
194562                     repository.
194563
194564              gpgautoimport
194565                     False If set to True, automatically trust and import pub‐
194566                     lic GPG key for the repository.
194567
194568              Key/Value  pairs may also be removed from a repo's configuration
194569              by setting a key to a blank value. Bear in mind that a name can‐
194570              not be deleted, and a URL can only be deleted if a mirrorlist is
194571              specified (or vice versa).
194572
194573              CLI Examples:
194574
194575                 salt '*' pkg.mod_repo alias alias=new_alias
194576                 salt '*' pkg.mod_repo alias url= mirrorlist=http://host.com/
194577
194578       salt.modules.zypper.modified(*packages, **flags)
194579              List the modified files that belong to a package. Not specifying
194580              any  packages  will return a list of _all_ modified files on the
194581              system's RPM database.
194582
194583              New in version 2015.5.0.
194584
194585
194586              Filtering by flags (True or False):
194587
194588              size   Include only files where size changed.
194589
194590              mode   Include only files which file's mode has been changed.
194591
194592              checksum
194593                     Include only files which MD5 checksum has been changed.
194594
194595              device Include only files which major and minor numbers has been
194596                     changed.
194597
194598              symlink
194599                     Include only files which are symbolic link contents.
194600
194601              owner  Include only files where owner has been changed.
194602
194603              group  Include only files where group has been changed.
194604
194605              time   Include  only  files  where modification time of the file
194606                     has been changed.
194607
194608              capabilities
194609                     Include only files  where  capabilities  differ  or  not.
194610                     Note: supported only on newer RPM versions.
194611
194612              CLI Examples:
194613
194614                 salt '*' pkg.modified
194615                 salt '*' pkg.modified httpd
194616                 salt '*' pkg.modified httpd postfix
194617                 salt '*' pkg.modified httpd owner=True group=False
194618
194619       salt.modules.zypper.normalize_name(name)
194620              Strips the architecture from the specified package name, if nec‐
194621              essary.  Circumstances where this would be done include:
194622
194623              · If the arch is 32 bit and the package name ends  in  a  32-bit
194624                arch.
194625
194626              · If the arch matches the OS arch, or is noarch.
194627
194628              CLI Example:
194629
194630                 salt '*' pkg.normalize_name zsh.x86_64
194631
194632       salt.modules.zypper.owner(*paths)
194633              Return the name of the package that owns the file. Multiple file
194634              paths can be passed. If a single path is passed, a  string  will
194635              be  returned,  and if multiple paths are passed, a dictionary of
194636              file/package name pairs will be returned.
194637
194638              If the file is not owned by a package, or is not present on  the
194639              minion, then an empty string will be returned for that path.
194640
194641              CLI Examples:
194642
194643                 salt '*' pkg.owner /usr/bin/apachectl
194644                 salt '*' pkg.owner /usr/bin/apachectl /etc/httpd/conf/httpd.conf
194645
194646       salt.modules.zypper.purge(name=None, pkgs=None, **kwargs)
194647              Changed in version 2015.8.12,2016.3.3,2016.11.0: On minions run‐
194648              ning systemd>=205, systemd-run(1) is now used  to  isolate  com‐
194649              mands  which modify installed packages from the salt-minion dae‐
194650              mon's control group. This is done to keep systemd  from  killing
194651              any zypper commands spawned by Salt when the salt-minion service
194652              is restarted. (see KillMode in the systemd.kill(5)  manpage  for
194653              more  information).  If  desired, usage of systemd-run(1) can be
194654              suppressed by setting a config option called systemd.scope, with
194655              a value of False (no quotes).
194656
194657
194658              Recursively  remove  a  package  and all dependencies which were
194659              installed with it, this will call a zypper -n remove -u
194660
194661              name   The name of the package to be deleted.
194662
194663              Multiple Package Options:
194664
194665              pkgs   A list of packages to delete. Must be passed as a  python
194666                     list.  The  name parameter will be ignored if this option
194667                     is passed.
194668
194669              New in version 0.16.0.
194670
194671
194672              Returns a dict containing the changes.
194673
194674              CLI Example:
194675
194676                 salt '*' pkg.purge <package name>
194677                 salt '*' pkg.purge <package1>,<package2>,<package3>
194678                 salt '*' pkg.purge pkgs='["foo", "bar"]'
194679
194680       salt.modules.zypper.refresh_db()
194681              Force a repository refresh by calling  zypper  refresh  --force,
194682              return a dict:
194683
194684                 {'<database name>': Bool}
194685
194686              CLI Example:
194687
194688                 salt '*' pkg.refresh_db
194689
194690       salt.modules.zypper.remove(name=None, pkgs=None, **kwargs)
194691              Changed in version 2015.8.12,2016.3.3,2016.11.0: On minions run‐
194692              ning systemd>=205, systemd-run(1) is now used  to  isolate  com‐
194693              mands  which modify installed packages from the salt-minion dae‐
194694              mon's control group. This is done to keep systemd  from  killing
194695              any zypper commands spawned by Salt when the salt-minion service
194696              is restarted. (see KillMode in the systemd.kill(5)  manpage  for
194697              more  information).  If  desired, usage of systemd-run(1) can be
194698              suppressed by setting a config option called systemd.scope, with
194699              a value of False (no quotes).
194700
194701
194702              Remove packages with zypper -n remove
194703
194704              name   The name of the package to be deleted.
194705
194706              Multiple Package Options:
194707
194708              pkgs   A  list of packages to delete. Must be passed as a python
194709                     list. The name parameter will be ignored if  this  option
194710                     is passed.
194711
194712              New in version 0.16.0.
194713
194714
194715              Returns a dict containing the changes.
194716
194717              CLI Example:
194718
194719                 salt '*' pkg.remove <package name>
194720                 salt '*' pkg.remove <package1>,<package2>,<package3>
194721                 salt '*' pkg.remove pkgs='["foo", "bar"]'
194722
194723       salt.modules.zypper.remove_lock(packages, **kwargs)
194724              Remove specified package lock.
194725
194726              CLI Example:
194727
194728                 salt '*' pkg.remove_lock <package name>
194729                 salt '*' pkg.remove_lock <package1>,<package2>,<package3>
194730                 salt '*' pkg.remove_lock pkgs='["foo", "bar"]'
194731
194732       salt.modules.zypper.resolve_capabilities(pkgs, refresh, **kwargs)
194733              New in version 2018.3.0.
194734
194735
194736              Convert  name  provides  in  pkgs  into  real  package  names if
194737              resolve_capabilities parameter  is  set  to  True.  In  case  of
194738              resolve_capabilities  is  set  to  False  the  package  list  is
194739              returned unchanged.
194740
194741              refresh
194742                     force a  refresh  if  set  to  True.   If  set  to  False
194743                     (default) it depends on zypper if a refresh is executed.
194744
194745              resolve_capabilities
194746                     If  this  option is set to True the input will be checked
194747                     if a package with this name exists. If not, this function
194748                     will  search  for  a package which provides this name. If
194749                     one is found the output is exchanged with the real  pack‐
194750                     age  name.  In case this option is set to False (Default)
194751                     the input will be returned unchanged.
194752
194753              CLI Examples:
194754
194755                 salt '*' pkg.resolve_capabilities resolve_capabilities=True w3m_ssl
194756
194757       salt.modules.zypper.search(criteria, refresh=False, **kwargs)
194758              List known packags, available to the system.
194759
194760              refresh
194761                     force a  refresh  if  set  to  True.   If  set  to  False
194762                     (default) it depends on zypper if a refresh is executed.
194763
194764              match (str)
194765                     One  of  exact,  words,  substrings.  Search for an exact
194766                     match or for the whole words only. Default to  substrings
194767                     to patch partial words.
194768
194769              provides (bool)
194770                     Search for packages which provide the search strings.
194771
194772              recommends (bool)
194773                     Search for packages which recommend the search strings.
194774
194775              requires (bool)
194776                     Search for packages which require the search strings.
194777
194778              suggests (bool)
194779                     Search for packages which suggest the search strings.
194780
194781              conflicts (bool)
194782                     Search packages conflicting with search strings.
194783
194784              obsoletes (bool)
194785                     Search for packages which obsolete the search strings.
194786
194787              file_list (bool)
194788                     Search for a match in the file list of packages.
194789
194790              search_descriptions (bool)
194791                     Search also in package summaries and descriptions.
194792
194793              case_sensitive (bool)
194794                     Perform case-sensitive search.
194795
194796              installed_only (bool)
194797                     Show only installed packages.
194798
194799              not_installed_only (bool)
194800                     Show only packages which are not installed.
194801
194802              details (bool)
194803                     Show version and repository
194804
194805              CLI Examples:
194806
194807                 salt '*' pkg.search <criteria>
194808
194809       salt.modules.zypper.upgrade(refresh=True,                 dryrun=False,
194810       dist_upgrade=False,  fromrepo=None,   novendorchange=False,   skip_ver‐
194811       ify=False, **kwargs)
194812              Changed in version 2015.8.12,2016.3.3,2016.11.0: On minions run‐
194813              ning systemd>=205, systemd-run(1) is now used  to  isolate  com‐
194814              mands  which modify installed packages from the salt-minion dae‐
194815              mon's control group. This is done to keep systemd  from  killing
194816              any zypper commands spawned by Salt when the salt-minion service
194817              is restarted. (see KillMode in the systemd.kill(5)  manpage  for
194818              more  information).  If  desired, usage of systemd-run(1) can be
194819              suppressed by setting a config option called systemd.scope, with
194820              a value of False (no quotes).
194821
194822
194823              Run a full system upgrade, a zypper upgrade
194824
194825              refresh
194826                     force  a  refresh  if  set  to True (default).  If set to
194827                     False it depends on zypper if a refresh is executed.
194828
194829              dryrun If set to True, it creates a debug solver  log  file  and
194830                     then  perform  a  dry-run  upgrade (no changes are made).
194831                     Default: False
194832
194833              dist_upgrade
194834                     Perform a system dist-upgrade. Default: False
194835
194836              fromrepo
194837                     Specify a list of package repositories to  upgrade  from.
194838                     Default: None
194839
194840              novendorchange
194841                     If set to True, no allow vendor changes. Default: False
194842
194843              skip_verify
194844                     Skip the GPG verification check (e.g., --no-gpg-checks)
194845
194846              Returns a dictionary containing the changes:
194847
194848                 {'<package>':  {'old': '<old-version>',
194849                                 'new': '<new-version>'}}
194850
194851              CLI Example:
194852
194853                 salt '*' pkg.upgrade
194854                 salt '*' pkg.upgrade dist-upgrade=True fromrepo='["MyRepoName"]' novendorchange=True
194855                 salt '*' pkg.upgrade dist-upgrade=True dryrun=True
194856
194857       salt.modules.zypper.upgrade_available(name, **kwargs)
194858              Check whether or not an upgrade is available for a given package
194859
194860              refresh
194861                     force  a  refresh  if  set  to True (default).  If set to
194862                     False it depends on zypper if a refresh  is  executed  or
194863                     not.
194864
194865              CLI Example:
194866
194867                 salt '*' pkg.upgrade_available <package name>
194868
194869       salt.modules.zypper.verify(*names, **kwargs)
194870              Runs an rpm -Va on a system, and returns the results in a dict
194871
194872              Files with an attribute of config, doc, ghost, license or readme
194873              in the package header can be ignored using the ignore_types key‐
194874              word argument
194875
194876              CLI Example:
194877
194878                 salt '*' pkg.verify
194879                 salt '*' pkg.verify httpd
194880                 salt '*' pkg.verify 'httpd postfix'
194881                 salt '*' pkg.verify 'httpd postfix' ignore_types=['config','doc']
194882
194883       salt.modules.zypper.version(*names, **kwargs)
194884              Returns  a  string  representing the package version or an empty
194885              dict if not installed. If more than one package name  is  speci‐
194886              fied, a dict of name/version pairs is returned.
194887
194888              CLI Example:
194889
194890                 salt '*' pkg.version <package name>
194891                 salt '*' pkg.version <package1> <package2> <package3> ...
194892
194893       salt.modules.zypper.version_cmp(ver1, ver2, ignore_epoch=False)
194894              New in version 2015.5.4.
194895
194896
194897              Do  a  cmp-style comparison on two packages. Return -1 if ver1 <
194898              ver2, 0 if ver1 == ver2, and 1 if ver1 > ver2.  Return  None  if
194899              there was a problem making the comparison.
194900
194901              ignore_epoch
194902                     False Set to True to ignore the epoch when comparing ver‐
194903                     sions
194904
194905                     New in version 2015.8.10,2016.3.2.
194906
194907
194908              CLI Example:
194909
194910                 salt '*' pkg.version_cmp '0.2-001' '0.2.0.1-002'
194911
194912   netapi modules
194913   rest_cherrypy
194914       · A REST API for Salt
194915
194916         · Authentication
194917
194918         · Usage
194919
194920         · Content negotiation
194921
194922       · Performance Expectations and Recommended Usage
194923
194924         · Long-Running HTTP Connections
194925
194926         · Timeouts
194927
194928         · Best Practices
194929
194930         · Performance Tuning
194931
194932         · Future Plans
194933
194934       · Deployment
194935
194936         · salt-api using the CherryPy server
194937
194938         · Using a WSGI-compliant web server
194939
194940       · REST URI Reference
194941
194942         · /
194943
194944         · /login
194945
194946         · /logout
194947
194948         · /minions
194949
194950         · /jobs
194951
194952         · /run
194953
194954         · /events
194955
194956         · /hook
194957
194958         · /keys
194959
194960         · /ws
194961
194962         · /stats
194963
194964   A REST API for Salt
194965       depends
194966
194967              · CherryPy Python module.
194968
194969                Note: there is a known SSL  traceback  for  CherryPy  versions
194970                3.2.5  through  3.7.x.  Please use version 3.2.3 or the latest
194971                10.x version instead.
194972
194973       optdepends
194974
194975              · ws4py Python module for websockets support.
194976
194977       client_libraries
194978
194979              · Java: https://github.com/SUSE/salt-netapi-client
194980
194981              · Python: https://github.com/saltstack/pepper
194982
194983       setup  All steps below are performed on the machine  running  the  Salt
194984              Master  daemon. Configuration goes into the Master configuration
194985              file.
194986
194987              1. Install salt-api. (This step varies between OS and Linux dis‐
194988                 tros.   Some  package  systems  have  a split package, others
194989                 include  salt-api  in  the  main  Salt  package.  Ensure  the
194990                 salt-api --version output matches the salt --version output.)
194991
194992              2. Install  CherryPy.  (Read  the  version caveat in the section
194993                 above.)
194994
194995              3. Optional: generate self-signed SSL certificates.
194996
194997                 Using a secure HTTPS connection is strongly recommended since
194998                 Salt  eauth  authentication credentials will be sent over the
194999                 wire.
195000
195001                 1. Install the PyOpenSSL package.
195002
195003                 2. Generate  a  self-signed  certificate   using   the   cre‐
195004                    ate_self_signed_cert() execution function.
195005
195006                       salt-call --local tls.create_self_signed_cert
195007
195008              4. Edit  the  master config to create at least one external auth
195009                 user or group following the full external auth instructions.
195010
195011              5. Edit the master config with  the  following  production-ready
195012                 example  to  enable  the  rest_cherrypy  module. (Adjust cert
195013                 paths as needed, or disable SSL (not recommended!).)
195014
195015                    rest_cherrypy:
195016                      port: 8000
195017                      ssl_crt: /etc/pki/tls/certs/localhost.crt
195018                      ssl_key: /etc/pki/tls/certs/localhost.key
195019
195020              6. Restart the salt-master daemon.
195021
195022              7. Start the salt-api daemon.
195023
195024       configuration
195025              All available configuration options are  detailed  below.  These
195026              settings  configure  the  CherryPy  HTTP server and do not apply
195027              when using an external server such as Apache or Nginx.
195028
195029              port   Required
195030
195031                     The port for the webserver to listen on.
195032
195033              host   0.0.0.0 The socket interface for the HTTP server to  lis‐
195034                     ten on.
195035
195036              debug  False  Starts the web server in development mode. It will
195037                     reload itself when the underlying  code  is  changed  and
195038                     will output more debugging info.
195039
195040              log_access_file
195041                     Path to a file to write HTTP access logs.
195042
195043                     New in version 2016.11.0.
195044
195045
195046              log_error_file
195047                     Path to a file to write HTTP error logs.
195048
195049                     New in version 2016.11.0.
195050
195051
195052              ssl_crt
195053                     The path to a SSL certificate. (See below)
195054
195055              ssl_key
195056                     The  path  to  the  private key for your SSL certificate.
195057                     (See below)
195058
195059              ssl_chain
195060                     (Optional when using PyOpenSSL) the certificate chain  to
195061                     pass to Context.load_verify_locations.
195062
195063              disable_ssl
195064                     A  flag to disable SSL. Warning: your Salt authentication
195065                     credentials will be sent in the clear!
195066
195067              webhook_disable_auth
195068                     False The Webhook URL requires authentication by  default
195069                     but external services cannot always be configured to send
195070                     authentication.  See the Webhook documentation  for  sug‐
195071                     gestions on securing this interface.
195072
195073              webhook_url
195074                     /hook  Configure  the  URL endpoint for the Webhook entry
195075                     point.
195076
195077              thread_pool
195078                     100 The number of worker threads to start up in the pool.
195079
195080              socket_queue_size
195081                     30 Specify the maximum  number  of  HTTP  connections  to
195082                     queue.
195083
195084              expire_responses
195085                     True  Whether  to  check for and kill HTTP responses that
195086                     have exceeded the default timeout.
195087
195088                     Deprecated since version 2016.11.9,2017.7.3,2018.3.0: The
195089                     "expire_responses"  configuration  setting,  which corre‐
195090                     sponds to the timeout_monitor setting in CherryPy, is  no
195091                     longer supported in CherryPy versions >= 12.0.0.
195092
195093
195094              max_request_body_size
195095                     1048576 Maximum size for the HTTP request body.
195096
195097              collect_stats
195098                     False  Collect  and  report statistics about the CherryPy
195099                     server
195100
195101                     Reports are available via the Stats URL.
195102
195103              stats_disable_auth
195104                     False Do not require authentication to access the  /stats
195105                     endpoint.
195106
195107                     New in version 2018.3.0.
195108
195109
195110              static A  filesystem  path  to  static HTML/JavaScript/CSS/image
195111                     assets.
195112
195113              static_path
195114                     /static The URL prefix to use when serving static  assets
195115                     out of the directory specified in the static setting.
195116
195117              enable_sessions
195118                     True Enable or disable all endpoints that rely on session
195119                     cookies. This can be useful to enforce only  header-based
195120                     authentication.
195121
195122                     New in version 2017.7.0.
195123
195124
195125              app    index.html A filesystem path to an HTML file that will be
195126                     served as a static file.  This is useful  for  bootstrap‐
195127                     ping a single-page JavaScript app.
195128
195129                     Warning!  If you set this option to a custom web applica‐
195130                     tion, anything that uses cookie-based  authentication  is
195131                     vulnerable to XSRF attacks.  Send the custom X-Auth-Token
195132                     header instead and consider disabling the enable_sessions
195133                     setting.
195134
195135                     Changed  in  version  2017.7.0:  Add  a  proof-of-concept
195136                     JavaScript single-page app.
195137
195138
195139              app_path
195140                     /app The URL prefix to use  for  serving  the  HTML  file
195141                     specified  in  the  app  setting. This should be a simple
195142                     name containing no slashes.
195143
195144                     Any path information after the specified path is ignored;
195145                     this  is  useful  for apps that utilize the HTML5 history
195146                     API.
195147
195148              root_prefix
195149                     / A URL path to the main entry point for the application.
195150                     This is useful for serving multiple applications from the
195151                     same URL.
195152
195153   Authentication
195154       Authentication is performed  by  passing  a  session  token  with  each
195155       request.  Tokens are generated via the Login URL.
195156
195157       The  token  may  be sent in one of two ways: as a custom header or as a
195158       session cookie. The latter is far more convenient for clients that sup‐
195159       port cookies.
195160
195161       · Include a custom header named X-Auth-Token.
195162
195163         For example, using curl:
195164
195165            curl -sSk https://localhost:8000/login \
195166                -H 'Accept: application/x-yaml' \
195167                -d username=saltdev \
195168                -d password=saltdev \
195169                -d eauth=pam
195170
195171         Copy  the  token  value  from the output and include it in subsequent
195172         requests:
195173
195174            curl -sSk https://localhost:8000 \
195175                -H 'Accept: application/x-yaml' \
195176                -H 'X-Auth-Token: 697adbdc8fe971d09ae4c2a3add7248859c87079'\
195177                -d client=local \
195178                -d tgt='*' \
195179                -d fun=test.ping
195180
195181       · Sent via a cookie. This option is a convenience for HTTP clients that
195182         automatically handle cookie support (such as browsers).
195183
195184         For example, using curl:
195185
195186            # Write the cookie file:
195187            curl -sSk https://localhost:8000/login \
195188                  -c ~/cookies.txt \
195189                  -H 'Accept: application/x-yaml' \
195190                  -d username=saltdev \
195191                  -d password=saltdev \
195192                  -d eauth=auto
195193
195194            # Read the cookie file:
195195            curl -sSk https://localhost:8000 \
195196                  -b ~/cookies.txt \
195197                  -H 'Accept: application/x-yaml' \
195198                  -d client=local \
195199                  -d tgt='*' \
195200                  -d fun=test.ping
195201
195202         Another example using the requests library in Python:
195203
195204            >>> import requests
195205            >>> session = requests.Session()
195206            >>> session.post('http://localhost:8000/login', json={
195207                'username': 'saltdev',
195208                'password': 'saltdev',
195209                'eauth': 'auto',
195210            })
195211            <Response [200]>
195212            >>> resp = session.post('http://localhost:8000', json=[{
195213                'client': 'local',
195214                'tgt': '*',
195215                'fun': 'test.arg',
195216                'arg': ['foo', 'bar'],
195217                'kwarg': {'baz': 'Baz!'},
195218            }])
195219            >>> resp.json()
195220            {u'return': [{
195221                ...snip...
195222            }]}
195223
195224       SEE ALSO:
195225          You can bypass the session handling via the Run URL.
195226
195227   Usage
195228       This interface directly exposes Salt's Python API.  Everything possible
195229       at the CLI is possible through the Python API. Commands are executed on
195230       the Salt Master.
195231
195232       The  root  URL  (/)  is RPC-like in that it accepts instructions in the
195233       request body for what Salt functions to execute, and the response  con‐
195234       tains the result of those function calls.
195235
195236       For example:
195237
195238          % curl -sSi https://localhost:8000         -H 'Content-type: application/json'         -d '[{
195239                  "client": "local",
195240                  "tgt": "*",
195241                  "fun": "test.ping"
195242              }]'
195243          HTTP/1.1 200 OK
195244          Content-Type: application/json
195245          [...snip...]
195246
195247          {"return": [{"jerry": true}]}
195248
195249       The  request  body  must  be an array of commands. Use this workflow to
195250       build a command:
195251
195252       1. Choose a client interface.
195253
195254       2. Choose a function.
195255
195256       3. Fill out the remaining parameters needed for the chosen client.
195257
195258       The client field is a reference to the  main  Python  classes  used  in
195259       Salt's  Python  API.  Read  the  full Client APIs documentation, but in
195260       short:
195261
195262       · "local" uses LocalClient which sends commands to Minions.  Equivalent
195263         to the salt CLI command.
195264
195265       · "runner"  uses  RunnerClient which invokes runner modules on the Mas‐
195266         ter. Equivalent to the salt-run CLI command.
195267
195268       · "wheel" uses WheelClient which invokes wheel modules on  the  Master.
195269         Wheel  modules do not have a direct CLI equivalent but they typically
195270         manage Master-side resources such as state files, pillar  files,  the
195271         Salt config files, and the key wheel module exposes similar function‐
195272         ality as the salt-key CLI command.
195273
195274       Most clients have variants like synchronous or  asynchronous  execution
195275       as  well  as  others  like batch execution. See the full list of client
195276       interfaces.
195277
195278       Each client requires different arguments and  sometimes  has  different
195279       syntax.   For example, LocalClient requires the tgt argument because it
195280       forwards the command to Minions and the other client interfaces do not.
195281       LocalClient  also  takes  arg  (array) and kwarg (dictionary) arguments
195282       because these values are sent to the Minions and used  to  execute  the
195283       requested  function  there.  RunnerClient  and WheelClient are executed
195284       directly on the Master and thus do not need or accept those arguments.
195285
195286       Read the method signatures in the client  documentation  linked  above,
195287       but hopefully an example will help illustrate the concept. This example
195288       causes Salt to execute two functions -- the test.arg execution function
195289       using  LocalClient and the test.arg runner function using RunnerClient;
195290       note the different structure for each command. The results for both are
195291       combined and returned as one response.
195292
195293          % curl -b ~/cookies.txt -sSi localhost:8000         -H 'Content-type: application/json'         -d '
195294          [
195295              {
195296                  "client": "local",
195297                  "tgt": "*",
195298                  "fun": "test.arg",
195299                  "arg": ["positional arg one", "positional arg two"],
195300                  "kwarg": {
195301                      "keyword arg one": "Hello from a minion",
195302                      "keyword arg two": "Hello again from a minion"
195303                  }
195304              },
195305              {
195306                  "client": "runner",
195307                  "fun": "test.arg",
195308                  "keyword arg one": "Hello from a master",
195309                  "keyword arg two": "Runners do not support positional args"
195310              }
195311          ]
195312          '
195313          HTTP/1.1 200 OK
195314          [...snip...]
195315          {
195316            "return": [
195317              {
195318                "jerry": {
195319                  "args": [
195320                    "positional arg one",
195321                    "positional arg two"
195322                  ],
195323                  "kwargs": {
195324                    "keyword arg one": "Hello from a minion",
195325                    "keyword arg two": "Hello again from a minion",
195326                    [...snip...]
195327                  }
195328                },
195329                [...snip; other minion returns here...]
195330              },
195331              {
195332                "args": [],
195333                "kwargs": {
195334                  "keyword arg two": "Runners do not support positional args",
195335                  "keyword arg one": "Hello from a master"
195336                }
195337              }
195338            ]
195339          }
195340
195341       One more example, this time with more commonly used functions:
195342
195343          curl -b /tmp/cookies.txt -sSi localhost:8000         -H 'Content-type: application/json'         -d '
195344          [
195345              {
195346                  "client": "local",
195347                  "tgt": "*",
195348                  "fun": "state.sls",
195349                  "kwarg": {
195350                      "mods": "apache",
195351                      "pillar": {
195352                          "lookup": {
195353                              "wwwdir": "/srv/httpd/htdocs"
195354                          }
195355                      }
195356                  }
195357              },
195358              {
195359                  "client": "runner",
195360                  "fun": "cloud.create",
195361                  "provider": "my-ec2-provider",
195362                  "instances": "my-centos-6",
195363                  "image": "ami-1624987f",
195364                  "delvol_on_destroy", true
195365              }
195366          ]
195367          '
195368          HTTP/1.1 200 OK
195369          [...snip...]
195370          {
195371            "return": [
195372              {
195373                "jerry": {
195374                  "pkg_|-install_apache_|-httpd_|-installed": {
195375                      [...snip full state return here...]
195376                  }
195377                }
195378                [...snip other minion returns here...]
195379              },
195380              {
195381                  [...snip full salt-cloud output here...]
195382              }
195383            ]
195384          }
195385
195386   Content negotiation
195387       This  REST interface is flexible in what data formats it will accept as
195388       well as what formats it will return (e.g., JSON, YAML, urlencoded).
195389
195390       · Specify the format of data in the request body by including the  Con‐
195391         tent-Type header.
195392
195393       · Specify the desired data format for the response body with the Accept
195394         header.
195395
195396       We recommend the JSON format for most HTTP requests. urlencoded data is
195397       simple  and cannot express complex data structures -- and that is often
195398       required for some Salt commands, such as starting a state run that uses
195399       Pillar  data. Salt's CLI tool can reformat strings passed in at the CLI
195400       into  complex  data  structures,  and  that  behavior  also  works  via
195401       salt-api, but that can be brittle and since salt-api can accept JSON it
195402       is best just to send JSON.
195403
195404       Here is an example of sending urlencoded data:
195405
195406          curl -sSik https://localhost:8000 \
195407              -b ~/cookies.txt \
195408              -d client=runner \
195409              -d fun='jobs.lookup_jid' \
195410              -d jid='20150129182456704682'
195411
195412          urlencoded data caveats
195413
195414          · Only a single command may be sent per HTTP request.
195415
195416          · Repeating the arg parameter multiple times will cause those param‐
195417            eters to be combined into a single list.
195418
195419            Note,  some popular frameworks and languages (notably jQuery, PHP,
195420            and Ruby on Rails) will automatically append empty  brackets  onto
195421            repeated        query        string        parameters.       E.g.,
195422            ?foo[]=fooone&foo[]=footwo.   This   is   not   supported;    send
195423            ?foo=fooone&foo=footwo instead, or send JSON or YAML.
195424
195425          A note about curl
195426
195427          The  -d flag to curl does not automatically urlencode data which can
195428          affect passwords and other data that contains characters  that  must
195429          be encoded. Use the --data-urlencode flag instead. E.g.:
195430
195431              curl -ksi http://localhost:8000/login \
195432              -H "Accept: application/json" \
195433              -d username='myapiuser' \
195434              --data-urlencode password='1234+' \
195435              -d eauth='pam'
195436
195437   Performance Expectations and Recommended Usage
195438       This module provides a thin wrapper around Salt's Python API. Executing
195439       a Salt command via rest_cherrypy is directly analogous to  executing  a
195440       Salt  command  via  Salt's CLI (which also uses the Python API) -- they
195441       share the same semantics, performance characteristics, and 98%  of  the
195442       same  code.  As a rule-of-thumb: if you wouldn't do it at the CLI don't
195443       do it via this API.
195444
195445   Long-Running HTTP Connections
195446       The CherryPy server is a production-ready, threading HTTP server  writ‐
195447       ten  in  Python.  Because it makes use of a thread pool to process HTTP
195448       requests it is not ideally suited to maintaining large numbers of  con‐
195449       current,  synchronous  connections.  On  moderate hardware with default
195450       settings it should top-out at around 30 to 50 concurrent connections.
195451
195452       That number of long-running, synchronous Salt  processes  is  also  not
195453       ideal. Like at the CLI, each Salt command run will start a process that
195454       instantiates its own LocalClient, which instantiates its  own  listener
195455       to the Salt event bus, and sends out its own periodic saltutil.find_job
195456       queries to determine if a Minion is  still  running  the  command.  Not
195457       exactly a lightweight operation.
195458
195459   Timeouts
195460       In  addition  to  the  above resource overhead for long-running connec‐
195461       tions, there are the usual HTTP  timeout  semantics  for  the  CherryPy
195462       server,  any HTTP client being used, as well as any hardware in between
195463       such as proxies, gateways, or load balancers. rest_cherrypy can be con‐
195464       figured  not  to  time-out long responses via the expire_responses set‐
195465       ting, and both LocalClient and  RunnerClient  have  their  own  timeout
195466       parameters that may be passed as top-level keywords:
195467
195468          curl -b /tmp/cookies.txt -sSi localhost:8000         -H 'Content-type: application/json'         -d '
195469          [
195470              {
195471                  "client": "local",
195472                  "tgt": "*",
195473                  "fun": "test.sleep",
195474                  "kwarg": {"length": 30},
195475                  "timeout": 60
195476              },
195477              {
195478                  "client": "runner",
195479                  "fun": "test.sleep",
195480                  "kwarg": {"s_time": 30},
195481                  "timeout": 60
195482              }
195483          ]
195484          '
195485
195486   Best Practices
195487       Given the performance overhead and HTTP timeouts for long-running oper‐
195488       ations described above, the most effective and most scalable way to use
195489       both  Salt  and  salt-api  is  to run commands asynchronously using the
195490       local_async, runner_async, and wheel_async clients.
195491
195492       Running asynchronous jobs results in being able to process 3x more com‐
195493       mands  per  second for LocalClient and 17x more commands per second for
195494       RunnerClient, in addition to  much  less  network  traffic  and  memory
195495       requirements.  Job returns can be fetched from Salt's job cache via the
195496       /jobs/<jid> endpoint, or they can be collected into a data store  using
195497       Salt's Returner system.
195498
195499       The  /events  endpoint  is specifically designed to handle long-running
195500       HTTP connections and it exposes Salt's event  bus  which  includes  job
195501       returns.   Watching  this  endpoint  first, then executing asynchronous
195502       Salt commands second, is the most lightweight and scalable way  to  use
195503       rest_cherrypy  while still receiving job returns in real-time. But this
195504       requires clients that can properly handle the  inherent  asynchronicity
195505       of that workflow.
195506
195507   Performance Tuning
195508       The  thread_pool and socket_queue_size settings can be used to increase
195509       the capacity of rest_cherrypy to handle incoming requests. Keep an  eye
195510       on RAM usage as well as available file handles while testing changes to
195511       these settings. As salt-api is a thin wrapper around Salt's Python API,
195512       also keep an eye on the performance of Salt when testing.
195513
195514   Future Plans
195515       Now  that Salt uses the Tornado concurrency library internally, we plan
195516       to improve performance in the API by taking advantage of existing  pro‐
195517       cesses and event listeners and to use lightweight coroutines to facili‐
195518       tate more simultaneous HTTP connections and better support for synchro‐
195519       nous  operations.  That effort can be tracked in issue 26505, but until
195520       that issue is closed rest_cherrypy will remain  the  officially  recom‐
195521       mended REST API.
195522
195523   Deployment
195524       The  rest_cherrypy  netapi module is a standard Python WSGI app. It can
195525       be deployed one of two ways.
195526
195527   salt-api using the CherryPy server
195528       The default configuration is to run this module using salt-api to start
195529       the   Python-based   CherryPy   server.  This  server  is  lightweight,
195530       multi-threaded, encrypted with SSL, and should  be  considered  produc‐
195531       tion-ready.  See the section above for performance expectations.
195532
195533   Using a WSGI-compliant web server
195534       This module may be deployed on any WSGI-compliant server such as Apache
195535       with mod_wsgi or Nginx with FastCGI, to name just two (there are many).
195536
195537       Note, external WSGI servers handle URLs, paths, and SSL certs directly.
195538       The  rest_cherrypy  configuration  options are ignored and the salt-api
195539       daemon does not need to be running at all. Remember Salt authentication
195540       credentials are sent in the clear unless SSL is being enforced!
195541
195542       An example Apache virtual host configuration:
195543
195544          <VirtualHost *:80>
195545              ServerName example.com
195546              ServerAlias *.example.com
195547
195548              ServerAdmin webmaster@example.com
195549
195550              LogLevel warn
195551              ErrorLog /var/www/example.com/logs/error.log
195552              CustomLog /var/www/example.com/logs/access.log combined
195553
195554              DocumentRoot /var/www/example.com/htdocs
195555
195556              WSGIScriptAlias / /path/to/salt/netapi/rest_cherrypy/wsgi.py
195557          </VirtualHost>
195558
195559   REST URI Reference
195560   /
195561       class salt.netapi.rest_cherrypy.app.LowDataAdapter
195562              The primary entry point to Salt's REST API
195563
195564              GET()  An explanation of the API with links of where to go next
195565
195566                     GET /
195567
195568                            Request Headers
195569
195570                                   · Accept -- the desired response format.
195571
195572                            Status Codes
195573
195574                                   · 200 -- success
195575
195576                                   · 401 -- authentication required
195577
195578                                   · 406  -- requested Content-Type not avail‐
195579                                     able
195580
195581                     Example request:
195582
195583                        curl -i localhost:8000
195584
195585                        GET / HTTP/1.1
195586                        Host: localhost:8000
195587                        Accept: application/json
195588
195589                     Example response:
195590
195591                        HTTP/1.1 200 OK
195592                        Content-Type: application/json
195593
195594              POST   Mock out specified imports.
195595
195596                     This allows autodoc to do its thing without having oodles
195597                     of  req'd installed libs. This doesn't work with import *
195598                     imports.
195599
195600                     This Mock class can be configured to  return  a  specific
195601                     values at specific names, if required.
195602
195603                     http://read-the-docs.readthedocs.org/en/latest/faq.html#i-get-import-errors-on-libraries-that-depend-on-c-modules
195604
195605   /login
195606       class salt.netapi.rest_cherrypy.app.Login(*args, **kwargs)
195607              Log in to receive a session token
195608
195609              Authentication information.
195610
195611              GET()  Present the login interface
195612
195613                     GET /login
195614                            An explanation of how to log in.
195615
195616                            Status Codes
195617
195618                                   · 200 -- success
195619
195620                                   · 401 -- authentication required
195621
195622                                   · 406 -- requested Content-Type not  avail‐
195623                                     able
195624
195625                     Example request:
195626
195627                        curl -i localhost:8000/login
195628
195629                        GET /login HTTP/1.1
195630                        Host: localhost:8000
195631                        Accept: text/html
195632
195633                     Example response:
195634
195635                        HTTP/1.1 200 OK
195636                        Content-Type: text/html
195637
195638              POST(**kwargs)
195639                     Authenticate against Salt's eauth system
195640
195641                     POST /login
195642
195643                            Request Headers
195644
195645                                   · X-Auth-Token  --  a  session  token  from
195646                                     Login.
195647
195648                                   · Accept -- the desired response format.
195649
195650                                   · Content-Type -- the format of the request
195651                                     body.
195652
195653                            Form Parameters
195654
195655                                   · eauth -- the eauth backend configured for
195656                                     the user
195657
195658                                   · username -- username
195659
195660                                   · password -- password
195661
195662                            Status Codes
195663
195664                                   · 200 -- success
195665
195666                                   · 401 -- authentication required
195667
195668                                   · 406 -- requested Content-Type not  avail‐
195669                                     able
195670
195671                     Example request:
195672
195673                        curl -si localhost:8000/login \
195674                            -c ~/cookies.txt \
195675                            -H "Accept: application/json" \
195676                            -H "Content-type: application/json" \
195677                            -d '{
195678                                "username": "saltuser",
195679                                "password": "saltuser",
195680                                "eauth": "auto"
195681                            }'
195682
195683                        POST / HTTP/1.1
195684                        Host: localhost:8000
195685                        Content-Length: 42
195686                        Content-Type: application/json
195687                        Accept: application/json
195688
195689                        {"username": "saltuser", "password": "saltuser", "eauth": "auto"}
195690
195691                     Example response:
195692
195693                        HTTP/1.1 200 OK
195694                        Content-Type: application/json
195695                        Content-Length: 206
195696                        X-Auth-Token: 6d1b722e
195697                        Set-Cookie: session_id=6d1b722e; expires=Sat, 17 Nov 2012 03:23:52 GMT; Path=/
195698
195699                        {"return": {
195700                            "token": "6d1b722e",
195701                            "start": 1363805943.776223,
195702                            "expire": 1363849143.776224,
195703                            "user": "saltuser",
195704                            "eauth": "pam",
195705                            "perms": [
195706                                "grains.*",
195707                                "status.*",
195708                                "sys.*",
195709                                "test.*"
195710                            ]
195711                        }}
195712
195713   /logout
195714       class salt.netapi.rest_cherrypy.app.Logout
195715              Class to remove or invalidate sessions
195716
195717              POST() Destroy  the currently active session and expire the ses‐
195718                     sion cookie
195719
195720   /minions
195721       class salt.netapi.rest_cherrypy.app.Minions
195722              Convenience URLs for working with minions
195723
195724              GET(mid=None)
195725                     A convenience URL for getting lists of minions or getting
195726                     minion details
195727
195728                     GET /minions/(mid)
195729
195730                            Request Headers
195731
195732                                   · X-Auth-Token  --  a  session  token  from
195733                                     Login.
195734
195735                                   · Accept -- the desired response format.
195736
195737                            Status Codes
195738
195739                                   · 200 -- success
195740
195741                                   · 401 -- authentication required
195742
195743                                   · 406 -- requested Content-Type not  avail‐
195744                                     able
195745
195746                     Example request:
195747
195748                        curl -i localhost:8000/minions/ms-3
195749
195750                        GET /minions/ms-3 HTTP/1.1
195751                        Host: localhost:8000
195752                        Accept: application/x-yaml
195753
195754                     Example response:
195755
195756                        HTTP/1.1 200 OK
195757                        Content-Length: 129005
195758                        Content-Type: application/x-yaml
195759
195760                        return:
195761                        - ms-3:
195762                            grains.items:
195763                                ...
195764
195765              POST(**kwargs)
195766                     Start an execution command and immediately return the job
195767                     id
195768
195769                     POST /minions
195770
195771                            Request Headers
195772
195773                                   · X-Auth-Token  --  a  session  token  from
195774                                     Login.
195775
195776                                   · Accept -- the desired response format.
195777
195778                                   · Content-Type -- the format of the request
195779                                     body.
195780
195781                            Response Headers
195782
195783                                   · Content-Type  --  the   format   of   the
195784                                     response  body;  depends  on  the  Accept
195785                                     request header.
195786
195787                            Status Codes
195788
195789                                   · 200 -- success
195790
195791                                   · 400 -- bad or malformed request
195792
195793                                   · 401 -- authentication required
195794
195795                                   · 406 -- requested Content-Type not  avail‐
195796                                     able
195797
195798                            Lowstate  data  describing  Salt  commands must be
195799                            sent in the request body. The client  option  will
195800                            be set to local_async().
195801
195802                     Example request:
195803
195804                        curl -sSi localhost:8000/minions \
195805                            -b ~/cookies.txt \
195806                            -H "Accept: application/x-yaml" \
195807                            -d '[{"tgt": "*", "fun": "status.diskusage"}]'
195808
195809                        POST /minions HTTP/1.1
195810                        Host: localhost:8000
195811                        Accept: application/x-yaml
195812                        Content-Type: application/json
195813
195814                        tgt=*&fun=status.diskusage
195815
195816                     Example response:
195817
195818                        HTTP/1.1 202 Accepted
195819                        Content-Length: 86
195820                        Content-Type: application/x-yaml
195821
195822                        return:
195823                        - jid: '20130603122505459265'
195824                          minions: [ms-4, ms-3, ms-2, ms-1, ms-0]
195825                        _links:
195826                          jobs:
195827                            - href: /jobs/20130603122505459265
195828
195829   /jobs
195830       class salt.netapi.rest_cherrypy.app.Jobs
195831
195832              GET(jid=None, timeout='')
195833                     A  convenience  URL  for  getting lists of previously run
195834                     jobs or getting the return from a single job
195835
195836                     GET /jobs/(jid)
195837                            List jobs or show a single job from the job cache.
195838
195839                            Request Headers
195840
195841                                   · X-Auth-Token  --  a  session  token  from
195842                                     Login.
195843
195844                                   · Accept -- the desired response format.
195845
195846                            Status Codes
195847
195848                                   · 200 -- success
195849
195850                                   · 401 -- authentication required
195851
195852                                   · 406  -- requested Content-Type not avail‐
195853                                     able
195854
195855                     Example request:
195856
195857                        curl -i localhost:8000/jobs
195858
195859                        GET /jobs HTTP/1.1
195860                        Host: localhost:8000
195861                        Accept: application/x-yaml
195862
195863                     Example response:
195864
195865                        HTTP/1.1 200 OK
195866                        Content-Length: 165
195867                        Content-Type: application/x-yaml
195868
195869                        return:
195870                        - '20121130104633606931':
195871                            Arguments:
195872                            - '3'
195873                            Function: test.fib
195874                            Start Time: 2012, Nov 30 10:46:33.606931
195875                            Target: jerry
195876                            Target-type: glob
195877
195878                     Example request:
195879
195880                        curl -i localhost:8000/jobs/20121130104633606931
195881
195882                        GET /jobs/20121130104633606931 HTTP/1.1
195883                        Host: localhost:8000
195884                        Accept: application/x-yaml
195885
195886                     Example response:
195887
195888                        HTTP/1.1 200 OK
195889                        Content-Length: 73
195890                        Content-Type: application/x-yaml
195891
195892                        info:
195893                        - Arguments:
195894                            - '3'
195895                            Function: test.fib
195896                            Minions:
195897                            - jerry
195898                            Start Time: 2012, Nov 30 10:46:33.606931
195899                            Target: '*'
195900                            Target-type: glob
195901                            User: saltdev
195902                            jid: '20121130104633606931'
195903                        return:
195904                        - jerry:
195905                            - - 0
195906                            - 1
195907                            - 1
195908                            - 2
195909                            - 6.9141387939453125e-06
195910
195911   /run
195912       class salt.netapi.rest_cherrypy.app.Run
195913              Run commands bypassing the normal session handling
195914
195915              salt-api does not enforce  authorization,  Salt's  eauth  system
195916              does  that.   Local/Runner/WheelClient all accept username/pass‐
195917              word/eauth or token kwargs that are then checked  by  the  eauth
195918              system.  The  session  mechanism in rest_cherrypy simply pairs a
195919              session with a Salt eauth token and then passes the token  kwarg
195920              in automatically.
195921
195922              If you already have a Salt eauth token, perhaps generated by the
195923              mk_token function in the Auth Runner module, then  there  is  no
195924              reason to use sessions.
195925
195926              This  endpoint  accepts either a username, password, eauth trio,
195927              or a token kwarg and does not make use of sessions at all.
195928
195929              POST(**kwargs)
195930                     Run commands bypassing the normal session handling  Other
195931                     than that this URL is identical to the root URL (/).
195932
195933                     POST /run
195934                            An array of lowstate data describing Salt commands
195935                            must be sent in the request body.
195936
195937                            Status Codes
195938
195939                                   · 200 -- success
195940
195941                                   · 400 -- bad or malformed request
195942
195943                                   · 401 -- authentication required
195944
195945                                   · 406 -- requested Content-Type not  avail‐
195946                                     able
195947
195948                     Example request:
195949
195950                        curl -sS localhost:8000/run \
195951                            -H 'Accept: application/x-yaml' \
195952                            -H 'Content-type: application/json' \
195953                            -d '[{
195954                                "client": "local",
195955                                "tgt": "*",
195956                                "fun": "test.ping",
195957                                "username": "saltdev",
195958                                "password": "saltdev",
195959                                "eauth": "auto"
195960                            }]'
195961
195962                     Or using a Salt Eauth token:
195963
195964                        curl -sS localhost:8000/run \
195965                            -H 'Accept: application/x-yaml' \
195966                            -H 'Content-type: application/json' \
195967                            -d '[{
195968                                "client": "local",
195969                                "tgt": "*",
195970                                "fun": "test.ping",
195971                                "token": "<salt eauth token here>"
195972                            }]'
195973
195974                        POST /run HTTP/1.1
195975                        Host: localhost:8000
195976                        Accept: application/x-yaml
195977                        Content-Length: 75
195978                        Content-Type: application/json
195979
195980                        [{"client": "local", "tgt": "*", "fun": "test.ping", "username": "saltdev", "password": "saltdev", "eauth": "auto"}]
195981
195982                     Example response:
195983
195984                        HTTP/1.1 200 OK
195985                        Content-Length: 73
195986                        Content-Type: application/x-yaml
195987
195988                        return:
195989                        - ms-0: true
195990                          ms-1: true
195991                          ms-2: true
195992                          ms-3: true
195993                          ms-4: true
195994
195995                     The /run enpoint can also be used to issue commands using
195996                     the salt-ssh subsystem.
195997
195998                     When using salt-ssh, eauth credentials should not be sup‐
195999                     plied.  Instead,  authentication should be handled by the
196000                     SSH layer itself. The use of the salt-ssh client does not
196001                     require  a  salt  master  to be running.  Instead, only a
196002                     roster file must be present  in  the  salt  configuration
196003                     directory.
196004
196005                     All SSH client requests are synchronous.
196006
196007                     Example SSH client request:
196008
196009                        curl -sS localhost:8000/run \
196010                            -H 'Accept: application/x-yaml' \
196011                            -d client='ssh' \
196012                            -d tgt='*' \
196013                            -d fun='test.ping'
196014
196015                        POST /run HTTP/1.1
196016                        Host: localhost:8000
196017                        Accept: application/x-yaml
196018                        Content-Length: 75
196019                        Content-Type: application/x-www-form-urlencoded
196020
196021                        client=ssh&tgt=*&fun=test.ping
196022
196023                     Example SSH response:
196024
196025                        return:
196026                        - silver:
196027                          fun: test.ping
196028                          fun_args: []
196029                          id: silver
196030                          jid: '20141203103525666185'
196031                          retcode: 0
196032                          return: true
196033                          success: true
196034
196035   /events
196036       class salt.netapi.rest_cherrypy.app.Events
196037              Expose the Salt event bus
196038
196039              The  event  bus  on  the  Salt master exposes a large variety of
196040              things, notably when executions are started on  the  master  and
196041              also when minions ultimately return their results. This URL pro‐
196042              vides a real-time window into a running Salt infrastructure.
196043
196044              SEE ALSO:
196045                 events
196046
196047              GET(token=None, salt_token=None)
196048                     An HTTP stream of the Salt master event bus
196049
196050                     This stream is formatted per the Server Sent Events (SSE)
196051                     spec. Each event is formatted as JSON.
196052
196053                     GET /events
196054
196055                            Status Codes
196056
196057                                   · 200 -- success
196058
196059                                   · 401 -- authentication required
196060
196061                                   · 406  -- requested Content-Type not avail‐
196062                                     able
196063
196064                            Query Parameters
196065
196066                                   · token --  optional  parameter  containing
196067                                     the  token  ordinarily  supplied  via the
196068                                     X-Auth-Token header  in  order  to  allow
196069                                     cross-domain requests in browsers that do
196070                                     not   include   CORS   support   in   the
196071                                     EventSource  API.  E.g., curl -NsS local‐
196072                                     host:8000/events?token=308650d
196073
196074                                   · salt_token -- optional parameter contain‐
196075                                     ing  a  raw  Salt  eauth token (not to be
196076                                     confused with the token returned from the
196077                                     /login   URL).  E.g.,  curl  -NsS  local‐
196078                                     host:8000/events?salt_token=30742765
196079
196080                     Example request:
196081
196082                        curl -NsS localhost:8000/events
196083
196084                        GET /events HTTP/1.1
196085                        Host: localhost:8000
196086
196087                     Example response:
196088
196089                     Note, the tag field is not part of the spec. SSE  compli‐
196090                     ant  clients  should ignore unknown fields. This addition
196091                     allows non-compliant clients to only  watch  for  certain
196092                     tags  without  having  to deserialze the JSON object each
196093                     time.
196094
196095                        HTTP/1.1 200 OK
196096                        Connection: keep-alive
196097                        Cache-Control: no-cache
196098                        Content-Type: text/event-stream;charset=utf-8
196099
196100                        retry: 400
196101
196102                        tag: salt/job/20130802115730568475/new
196103                        data: {'tag': 'salt/job/20130802115730568475/new', 'data': {'minions': ['ms-4', 'ms-3', 'ms-2', 'ms-1', 'ms-0']}}
196104
196105                        tag: salt/job/20130802115730568475/ret/jerry
196106                        data: {'tag': 'salt/job/20130802115730568475/ret/jerry', 'data': {'jid': '20130802115730568475', 'return': True, 'retcode': 0, 'success': True, 'cmd': '_return', 'fun': 'test.ping', 'id': 'ms-1'}}
196107
196108                     The event stream can be easily consumed via JavaScript:
196109
196110                        var source = new EventSource('/events');
196111                        source.onopen = function() { console.info('Listening ...') };
196112                        source.onerror = function(err) { console.error(err) };
196113                        source.onmessage = function(message) {
196114                            var saltEvent = JSON.parse(message.data);
196115                            console.log(saltEvent.tag, saltEvent.data);
196116                        };
196117
196118                     Note, the SSE stream is fast and completely  asynchronous
196119                     and  Salt is very fast. If a job is created using a regu‐
196120                     lar POST request, it is possible that the job return will
196121                     be  available  on  the SSE stream before the response for
196122                     the POST request arrives. It is important  to  take  that
196123                     asynchronicity  into  account  when designing an applica‐
196124                     tion. Below are some general guidelines.
196125
196126                     · Subscribe to  the  SSE  stream  _before_  creating  any
196127                       events.
196128
196129                     · Process  SSE  events  directly as they arrive and don't
196130                       wait for any other process to "complete" first (like an
196131                       ajax request).
196132
196133                     · Keep  a  buffer  of  events if the event stream must be
196134                       used for synchronous lookups.
196135
196136                     · Be cautious in writing Salt's event stream directly  to
196137                       the  DOM. It is very busy and can quickly overwhelm the
196138                       memory allocated to a browser tab.
196139
196140                     A full, working proof-of-concept  JavaScript  application
196141                     is  available adjacent to this file.  It can be viewed by
196142                     pointing a browser at the  /app  endpoint  in  a  running
196143                     rest_cherrypy instance.
196144
196145                     Or using CORS:
196146
196147                        var source = new EventSource('/events?token=ecd589e4e01912cf3c4035afad73426dbb8dba75', {withCredentials: true});
196148
196149                     It is also possible to consume the stream via the shell.
196150
196151                     Records  are separated by blank lines; the data: and tag:
196152                     prefixes will need to be removed manually before attempt‐
196153                     ing to unserialize the JSON.
196154
196155                     curl's  -N  flag  turns  off  input  buffering  which  is
196156                     required to process the stream incrementally.
196157
196158                     Here is a basic example of  printing  each  event  as  it
196159                     comes in:
196160
196161                        curl -NsS localhost:8000/events |\
196162                                while IFS= read -r line ; do
196163                                    echo $line
196164                                done
196165
196166                     Here is an example of using awk to filter events based on
196167                     tag:
196168
196169                        curl -NsS localhost:8000/events |\
196170                                awk '
196171                                    BEGIN { RS=""; FS="\\n" }
196172                                    $1 ~ /^tag: salt\/job\/[0-9]+\/new$/ { print $0 }
196173                                '
196174                        tag: salt/job/20140112010149808995/new
196175                        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"]}}
196176                        tag: 20140112010149808995
196177                        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"}}
196178
196179   /hook
196180       class salt.netapi.rest_cherrypy.app.Webhook
196181              A generic web hook entry point that fires  an  event  on  Salt's
196182              event bus
196183
196184              External  services can POST data to this URL to trigger an event
196185              in Salt.  For example, Amazon SNS, Jenkins-CI or  Travis-CI,  or
196186              GitHub web hooks.
196187
196188              NOTE:
196189                 Be mindful of security
196190
196191                 Salt's  Reactor can run any code. A Reactor SLS that responds
196192                 to a hook event is responsible for validating that the  event
196193                 came from a trusted source and contains valid data.
196194
196195                 This is a generic interface and securing it is up to you!
196196
196197                 This  URL  requires  authentication  however not all external
196198                 services can be configured to authenticate. For  this  reason
196199                 authentication can be selectively disabled for this URL. Fol‐
196200                 low best practices -- always use SSL, pass a secret key, con‐
196201                 figure  the  firewall  to  only  allow  traffic  from a known
196202                 source, etc.
196203
196204              The event data is taken from the request body. The  Content-Type
196205              header is respected for the payload.
196206
196207              The event tag is prefixed with salt/netapi/hook and the URL path
196208              is appended to the end. For example,  a  POST  request  sent  to
196209              /hook/mycompany/myapp/mydata  will produce a Salt event with the
196210              tag salt/netapi/hook/mycompany/myapp/mydata.
196211
196212              The following is an example .travis.yml file to  send  notifica‐
196213              tions to Salt of successful test runs:
196214
196215                 language: python
196216                 script: python -m unittest tests
196217                 after_success:
196218                     - |
196219                         curl -sSk https://saltapi-url.example.com:8000/hook/travis/build/success                         -d branch="${TRAVIS_BRANCH}"                         -d commit="${TRAVIS_COMMIT}"
196220
196221              SEE ALSO:
196222                 events, reactor
196223
196224              POST(*args, **kwargs)
196225                     Fire an event in Salt with a custom event tag and data
196226
196227                     POST /hook
196228
196229                            Status Codes
196230
196231                                   · 200 -- success
196232
196233                                   · 401 -- authentication required
196234
196235                                   · 406  -- requested Content-Type not avail‐
196236                                     able
196237
196238                                   · 413 -- request body is too large
196239
196240                     Example request:
196241
196242                        curl -sS localhost:8000/hook \
196243                            -H 'Content-type: application/json' \
196244                            -d '{"foo": "Foo!", "bar": "Bar!"}'
196245
196246                        POST /hook HTTP/1.1
196247                        Host: localhost:8000
196248                        Content-Length: 16
196249                        Content-Type: application/json
196250
196251                        {"foo": "Foo!", "bar": "Bar!"}
196252
196253                     Example response:
196254
196255                        HTTP/1.1 200 OK
196256                        Content-Length: 14
196257                        Content-Type: application/json
196258
196259                        {"success": true}
196260
196261                     As a practical example, an  internal  continuous-integra‐
196262                     tion  build server could send an HTTP POST request to the
196263                     URL   https://localhost:8000/hook/mycompany/build/success
196264                     which  contains  the result of a build and the SHA of the
196265                     version that was built as JSON. That would  then  produce
196266                     the  following  event  in Salt that could be used to kick
196267                     off a deployment via Salt's Reactor:
196268
196269                        Event fired at Fri Feb 14 17:40:11 2014
196270                        *************************
196271                        Tag: salt/netapi/hook/mycompany/build/success
196272                        Data:
196273                        {'_stamp': '2014-02-14_17:40:11.440996',
196274                            'headers': {
196275                                'X-My-Secret-Key': 'F0fAgoQjIT@W',
196276                                'Content-Length': '37',
196277                                'Content-Type': 'application/json',
196278                                'Host': 'localhost:8000',
196279                                'Remote-Addr': '127.0.0.1'},
196280                            'post': {'revision': 'aa22a3c4b2e7', 'result': True}}
196281
196282                     Salt's Reactor could listen for the event:
196283
196284                        reactor:
196285                          - 'salt/netapi/hook/mycompany/build/*':
196286                            - /srv/reactor/react_ci_builds.sls
196287
196288                     And finally deploy the new build:
196289
196290                        {% set secret_key = data.get('headers', {}).get('X-My-Secret-Key') %}
196291                        {% set build = data.get('post', {}) %}
196292
196293                        {% if secret_key == 'F0fAgoQjIT@W' and build.result == True %}
196294                        deploy_my_app:
196295                          cmd.state.sls:
196296                            - tgt: 'application*'
196297                            - arg:
196298                              - myapp.deploy
196299                            - kwarg:
196300                                pillar:
196301                                  revision: {{ revision }}
196302                        {% endif %}
196303
196304   /keys
196305       class salt.netapi.rest_cherrypy.app.Keys
196306              Convenience URLs for working with minion keys
196307
196308              New in version 2014.7.0.
196309
196310
196311              These URLs wrap the functionality provided by the key wheel mod‐
196312              ule functions.
196313
196314              GET(mid=None)
196315                     Show the list of minion keys or detail on a specific key
196316
196317                     New in version 2014.7.0.
196318
196319
196320                     GET /keys/(mid)
196321                            List all keys or show a specific key
196322
196323                            Request Headers
196324
196325                                   · X-Auth-Token  --  a  session  token  from
196326                                     Login.
196327
196328                                   · Accept -- the desired response format.
196329
196330                            Status Codes
196331
196332                                   · 200 -- success
196333
196334                                   · 401 -- authentication required
196335
196336                                   · 406 -- requested Content-Type not  avail‐
196337                                     able
196338
196339                     Example request:
196340
196341                        curl -i localhost:8000/keys
196342
196343                        GET /keys HTTP/1.1
196344                        Host: localhost:8000
196345                        Accept: application/x-yaml
196346
196347                     Example response:
196348
196349                        HTTP/1.1 200 OK
196350                        Content-Length: 165
196351                        Content-Type: application/x-yaml
196352
196353                        return:
196354                          local:
196355                          - master.pem
196356                          - master.pub
196357                          minions:
196358                          - jerry
196359                          minions_pre: []
196360                          minions_rejected: []
196361
196362                     Example request:
196363
196364                        curl -i localhost:8000/keys/jerry
196365
196366                        GET /keys/jerry HTTP/1.1
196367                        Host: localhost:8000
196368                        Accept: application/x-yaml
196369
196370                     Example response:
196371
196372                        HTTP/1.1 200 OK
196373                        Content-Length: 73
196374                        Content-Type: application/x-yaml
196375
196376                        return:
196377                          minions:
196378                            jerry: 51:93:b3:d0:9f:3a:6d:e5:28:67:c2:4b:27:d6:cd:2b
196379
196380              POST(**kwargs)
196381                     Easily generate keys for a minion and auto-accept the new
196382                     key
196383
196384                     Accepts all the same parameters as the key.gen_accept.
196385
196386                     NOTE:
196387                        A note about curl Avoid using  the  -i  flag  or  HTTP
196388                        headers  will  be  written  and produce an invalid tar
196389                        file.
196390
196391                     Example partial kickstart script to bootstrap a new  min‐
196392                     ion:
196393
196394                        %post
196395                        mkdir -p /etc/salt/pki/minion
196396                        curl -sSk https://localhost:8000/keys \
196397                                -d mid=jerry \
196398                                -d username=kickstart \
196399                                -d password=kickstart \
196400                                -d eauth=pam \
196401                            | tar -C /etc/salt/pki/minion -xf -
196402
196403                        mkdir -p /etc/salt/minion.d
196404                        printf 'master: 10.0.0.5\nid: jerry' > /etc/salt/minion.d/id.conf
196405                        %end
196406
196407                     POST /keys
196408                            Generate  a public and private key and return both
196409                            as a tarball
196410
196411                            Authentication credentials must be passed  in  the
196412                            request.
196413
196414                            Status Codes
196415
196416                                   · 200 -- success
196417
196418                                   · 401 -- authentication required
196419
196420                                   · 406  -- requested Content-Type not avail‐
196421                                     able
196422
196423                     Example request:
196424
196425                        curl -sSk https://localhost:8000/keys \
196426                                -d mid=jerry \
196427                                -d username=kickstart \
196428                                -d password=kickstart \
196429                                -d eauth=pam \
196430                                -o jerry-salt-keys.tar
196431
196432                        POST /keys HTTP/1.1
196433                        Host: localhost:8000
196434
196435                     Example response:
196436
196437                        HTTP/1.1 200 OK
196438                        Content-Length: 10240
196439                        Content-Disposition: attachment; filename="saltkeys-jerry.tar"
196440                        Content-Type: application/x-tar
196441
196442                        jerry.pub0000644000000000000000000000070300000000000010730 0ustar  00000000000000
196443
196444   /ws
196445       class salt.netapi.rest_cherrypy.app.WebsocketEndpoint
196446              Open a WebSocket connection to Salt's event bus
196447
196448              The event bus on the Salt master  exposes  a  large  variety  of
196449              things,  notably  when  executions are started on the master and
196450              also when minions ultimately return their results. This URL pro‐
196451              vides  a  real-time  window  into a running Salt infrastructure.
196452              Uses websocket as the transport mechanism.
196453
196454              SEE ALSO:
196455                 events
196456
196457              GET(token=None, **kwargs)
196458                     Return a websocket connection of Salt's event stream
196459
196460                     GET /ws/(token)
196461
196462                     Query format_events
196463                            The event stream will undergo server-side  format‐
196464                            ting   if   the  format_events  URL  parameter  is
196465                            included in the request. This  can  be  useful  to
196466                            avoid formatting on the client-side:
196467
196468                               curl -NsS <...snip...> localhost:8000/ws?format_events
196469
196470                     Reqheader X-Auth-Token
196471                            an authentication token from Login.
196472
196473                     Status 101
196474                            switching to the websockets protocol
196475
196476                     Status 401
196477                            authentication required
196478
196479                     Status 406
196480                            requested Content-Type not available
196481
196482                     Example request:
196483
196484                        curl -NsSk \
196485                            -H 'X-Auth-Token: ffedf49d' \
196486                            -H 'Host: localhost:8000' \
196487                            -H 'Connection: Upgrade' \
196488                            -H 'Upgrade: websocket' \
196489                            -H 'Origin: https://localhost:8000' \
196490                            -H 'Sec-WebSocket-Version: 13' \
196491                            -H 'Sec-WebSocket-Key: '"$(echo -n $RANDOM | base64)" \
196492                            localhost:8000/ws
196493
196494                        GET /ws HTTP/1.1
196495                        Connection: Upgrade
196496                        Upgrade: websocket
196497                        Host: localhost:8000
196498                        Origin: https://localhost:8000
196499                        Sec-WebSocket-Version: 13
196500                        Sec-WebSocket-Key: s65VsgHigh7v/Jcf4nXHnA==
196501                        X-Auth-Token: ffedf49d
196502
196503                     Example response:
196504
196505                        HTTP/1.1 101 Switching Protocols
196506                        Upgrade: websocket
196507                        Connection: Upgrade
196508                        Sec-WebSocket-Accept: mWZjBV9FCglzn1rIKJAxrTFlnJE=
196509                        Sec-WebSocket-Version: 13
196510
196511                     An  authentication token may optionally be passed as part
196512                     of the URL for browsers that cannot be configured to send
196513                     the authentication header or cookie:
196514
196515                        curl -NsS <...snip...> localhost:8000/ws/ffedf49d
196516
196517                     The event stream can be easily consumed via JavaScript:
196518
196519                        // Note, you must be authenticated!
196520                        var source = new Websocket('ws://localhost:8000/ws/d0ce6c1a');
196521                        source.onerror = function(e) { console.debug('error!', e); };
196522                        source.onmessage = function(e) { console.debug(e.data); };
196523
196524                        source.send('websocket client ready')
196525
196526                        source.close();
196527
196528                     Or  via  Python, using the Python module websocket-client
196529                     for example.
196530
196531                        # Note, you must be authenticated!
196532
196533                        from websocket import create_connection
196534
196535                        ws = create_connection('ws://localhost:8000/ws/d0ce6c1a')
196536                        ws.send('websocket client ready')
196537
196538                        # Look at https://pypi.python.org/pypi/websocket-client/ for more
196539                        # examples.
196540                        while listening_to_events:
196541                            print ws.recv()
196542
196543                        ws.close()
196544
196545                     Above examples show how to establish a websocket  connec‐
196546                     tion to Salt and activating real time updates from Salt's
196547                     event stream by signaling websocket client ready.
196548
196549   /stats
196550       class salt.netapi.rest_cherrypy.app.Stats
196551              Expose statistics on the running CherryPy server
196552
196553              GET()  Return a dump of statistics collected from  the  CherryPy
196554                     server
196555
196556                     GET /stats
196557
196558                            Request Headers
196559
196560                                   · X-Auth-Token  --  a  session  token  from
196561                                     Login.
196562
196563                                   · Accept -- the desired response format.
196564
196565                            Response Headers
196566
196567                                   · Content-Type  --  the   format   of   the
196568                                     response  body;  depends  on  the  Accept
196569                                     request header.
196570
196571                            Status Codes
196572
196573                                   · 200 -- success
196574
196575                                   · 401 -- authentication required
196576
196577                                   · 406 -- requested Content-Type not  avail‐
196578                                     able
196579
196580   rest_tornado
196581   A non-blocking REST API for Salt
196582       depends
196583
196584              · tornado Python module
196585
196586       configuration
196587              All  authentication  is done through Salt's external auth system
196588              which requires additional configuration not described here.
196589
196590       In order to run rest_tornado with the salt-master add the following  to
196591       the Salt master config file.
196592
196593          rest_tornado:
196594              # can be any port
196595              port: 8000
196596              # address to bind to (defaults to 0.0.0.0)
196597              address: 0.0.0.0
196598              # socket backlog
196599              backlog: 128
196600              ssl_crt: /etc/pki/api/certs/server.crt
196601              # no need to specify ssl_key if cert and key
196602              # are in one single file
196603              ssl_key: /etc/pki/api/certs/server.key
196604              debug: False
196605              disable_ssl: False
196606              webhook_disable_auth: False
196607              cors_origin: null
196608
196609   Authentication
196610       Authentication  is  performed  by  passing  a  session  token with each
196611       request.  Tokens are generated via the SaltAuthHandler URL.
196612
196613       The token may be sent in one of two ways:
196614
196615       · Include a custom header named X-Auth-Token.
196616
196617       · Sent via a cookie. This option is a convenience for HTTP clients that
196618         automatically handle cookie support (such as browsers).
196619
196620       SEE ALSO:
196621          You can bypass the session handling via the RunSaltAPIHandler URL.
196622
196623   CORS
196624       rest_tornado supports Cross-site HTTP requests out of the box. It is by
196625       default deactivated and controlled by the cors_origin config key.
196626
196627       You can allow all origins by settings cors_origin to *.
196628
196629       You can allow only one origin with this configuration:
196630
196631          rest_tornado:
196632              cors_origin: http://salt.yourcompany.com
196633
196634       You can also be more specific and select only a few allowed origins  by
196635       using a list. For example:
196636
196637          rest_tornado:
196638              cors_origin:
196639                  - http://salt.yourcompany.com
196640                  - http://salt-preprod.yourcampany.com
196641
196642       The  format  for  origin are full URL, with both scheme and port if not
196643       standard.
196644
196645       In this case, rest_tornado will check if the Origin header  is  in  the
196646       allowed  list  if  it's the case allow the origin. Else it will returns
196647       nothing, effectively preventing the origin to make request.
196648
196649       For reference, CORS is a mechanism used by browser to allow (or  disal‐
196650       low)  requests made from browser from a different origin than salt-api.
196651       It's complementary to Authentication and mandatory only if you plan  to
196652       use a salt client developed as a Javascript browser application.
196653
196654   Usage
196655       Commands  are  sent to a running Salt master via this module by sending
196656       HTTP requests to the URLs detailed below.
196657
196658          Content negotiation
196659
196660                 This REST interface is flexible in what data formats it  will
196661                 accept  as  well  as what formats it will return (e.g., JSON,
196662                 YAML, x-www-form-urlencoded).
196663
196664          · Specify the format of data in the request body  by  including  the
196665            Content-Type header.
196666
196667          · Specify  the  desired  data  format for the response body with the
196668            Accept header.
196669
196670       Data sent in POST and PUT requests  must be in the format of a list  of
196671       lowstate  dictionaries. This allows multiple commands to be executed in
196672       a single HTTP request.
196673
196674       lowstate
196675              A dictionary containing various keys that  instruct  Salt  which
196676              command  to  run,  where  that command lives, any parameters for
196677              that command, any authentication credentials, what  returner  to
196678              use, etc.
196679
196680              Salt  uses the lowstate data format internally in many places to
196681              pass command data between functions. Salt also uses lowstate for
196682              the LocalClient() Python API interface.
196683
196684       The  following example (in JSON format) causes Salt to execute two com‐
196685       mands:
196686
196687          [{
196688              "client": "local",
196689              "tgt": "*",
196690              "fun": "test.fib",
196691              "arg": ["10"]
196692          },
196693          {
196694              "client": "runner",
196695              "fun": "jobs.lookup_jid",
196696              "jid": "20130603122505459265"
196697          }]
196698
196699       Multiple commands in a Salt API request will be executed in serial  and
196700       makes  no  gaurantees  that  all  commands  will  run.  Meaning that if
196701       test.fib (from the example above) had an exception, the API would still
196702       execute "jobs.lookup_jid".
196703
196704       Responses  to  these lowstates are an in-order list of dicts containing
196705       the return data, a yaml response could look like:
196706
196707          - ms-1: true
196708            ms-2: true
196709          - ms-1: foo
196710            ms-2: bar
196711
196712       In the event of an exception while executing a command the  return  for
196713       that  lowstate  will be a string, for example if no minions matched the
196714       first lowstate we would get a return like:
196715
196716          - No minions matched the target. No command was sent, no jid was assigned.
196717          - ms-1: true
196718            ms-2: true
196719
196720          x-www-form-urlencoded
196721
196722                 Sending JSON or YAML in the request body is simple  and  most
196723                 flexible,  however  sending data in urlencoded format is also
196724                 supported with the caveats below. It is  the  default  format
196725                 for  HTML forms, many JavaScript libraries, and the curl com‐
196726                 mand.
196727
196728                 For example, the equivalent to running salt '*' test.ping  is
196729                 sending   fun=test.ping&arg&client=local&tgt=*  in  the  HTTP
196730                 request body.
196731
196732                 Caveats:
196733
196734          · Only a single command may be sent per HTTP request.
196735
196736          · Repeating the arg parameter multiple times will cause those param‐
196737            eters to be combined into a single list.
196738
196739            Note,  some popular frameworks and languages (notably jQuery, PHP,
196740            and Ruby on Rails) will automatically append empty  brackets  onto
196741            repeated  parameters.  E.g.,  arg=one,  arg=two  will  be  sent as
196742            arg[]=one, arg[]=two. This is not supported;  send  JSON  or  YAML
196743            instead.
196744
196745   A Websockets add-on to saltnado
196746       depends
196747
196748              · tornado Python module
196749
196750       In order to enable saltnado_websockets you must add websockets: True to
196751       your saltnado config block.
196752
196753          rest_tornado:
196754              # can be any port
196755              port: 8000
196756              ssl_crt: /etc/pki/api/certs/server.crt
196757              # no need to specify ssl_key if cert and key
196758              # are in one single file
196759              ssl_key: /etc/pki/api/certs/server.key
196760              debug: False
196761              disable_ssl: False
196762              websockets: True
196763
196764   All Events
196765       Exposes all "real-time" events from Salt's event  bus  on  a  websocket
196766       connection.   It  should  be  noted  that  "Real-time" here means these
196767       events are made available to the server as soon  as  any  salt  related
196768       action (changes to minions, new jobs etc) happens.  Clients are however
196769       assumed to be able to tolerate any network transport related latencies.
196770       Functionality  provided  by this endpoint is similar to the /events end
196771       point.
196772
196773       The event bus on the Salt master exposes a  large  variety  of  things,
196774       notably when executions are started on the master and also when minions
196775       ultimately return their results. This URL provides a  real-time  window
196776       into  a  running  Salt  infrastructure. Uses websocket as the transport
196777       mechanism.
196778
196779       Exposes GET method  to  return  websocket  connections.   All  requests
196780       should  include  an  auth token.  A way to obtain obtain authentication
196781       tokens is shown below.
196782
196783          % curl -si localhost:8000/login \
196784              -H "Accept: application/json" \
196785              -d username='salt' \
196786              -d password='salt' \
196787              -d eauth='pam'
196788
196789       Which results in the response
196790
196791          {
196792              "return": [{
196793                  "perms": [".*", "@runner", "@wheel"],
196794                  "start": 1400556492.277421,
196795                  "token": "d0ce6c1a37e99dcc0374392f272fe19c0090cca7",
196796                  "expire": 1400599692.277422,
196797                  "user": "salt",
196798                  "eauth": "pam"
196799              }]
196800          }
196801
196802       In      this      example       the       token       returned       is
196803       d0ce6c1a37e99dcc0374392f272fe19c0090cca7  and can be included in subse‐
196804       quent websocket requests (as part of the URL).
196805
196806       The event stream can be easily consumed via JavaScript:
196807
196808          // Note, you must be authenticated!
196809
196810          // Get the Websocket connection to Salt
196811          var source = new Websocket('wss://localhost:8000/all_events/d0ce6c1a37e99dcc0374392f272fe19c0090cca7');
196812
196813          // Get Salt's "real time" event stream.
196814          source.onopen = function() { source.send('websocket client ready'); };
196815
196816          // Other handlers
196817          source.onerror = function(e) { console.debug('error!', e); };
196818
196819          // e.data represents Salt's "real time" event data as serialized JSON.
196820          source.onmessage = function(e) { console.debug(e.data); };
196821
196822          // Terminates websocket connection and Salt's "real time" event stream on the server.
196823          source.close();
196824
196825       Or via Python, using the Python module  websocket-client  for  example.
196826       Or the tornado client.
196827
196828          # Note, you must be authenticated!
196829
196830          from websocket import create_connection
196831
196832          # Get the Websocket connection to Salt
196833          ws = create_connection('wss://localhost:8000/all_events/d0ce6c1a37e99dcc0374392f272fe19c0090cca7')
196834
196835          # Get Salt's "real time" event stream.
196836          ws.send('websocket client ready')
196837
196838
196839          # Simple listener to print results of Salt's "real time" event stream.
196840          # Look at https://pypi.python.org/pypi/websocket-client/ for more examples.
196841          while listening_to_events:
196842              print ws.recv()       #  Salt's "real time" event data as serialized JSON.
196843
196844          # Terminates websocket connection and Salt's "real time" event stream on the server.
196845          ws.close()
196846
196847          # Please refer to https://github.com/liris/websocket-client/issues/81 when using a self signed cert
196848
196849       Above examples show how to establish a websocket connection to Salt and
196850       activating real time updates from Salt's event stream by signaling web‐
196851       socket client ready.
196852
196853   Formatted Events
196854       Exposes  formatted  "real-time"  events from Salt's event bus on a web‐
196855       socket connection.  It should be  noted  that  "Real-time"  here  means
196856       these  events  are  made  available  to  the server as soon as any salt
196857       related action (changes to minions, new jobs etc) happens.  Clients are
196858       however  assumed  to  be able to tolerate any network transport related
196859       latencies.  Functionality provided by this endpoint is similar  to  the
196860       /events end point.
196861
196862       The  event  bus  on  the Salt master exposes a large variety of things,
196863       notably when executions are started on the master and also when minions
196864       ultimately  return  their results. This URL provides a real-time window
196865       into a running Salt infrastructure. Uses  websocket  as  the  transport
196866       mechanism.
196867
196868       Formatted  events parses the raw "real time" event stream and maintains
196869       a current view of the following:
196870
196871       · minions
196872
196873       · jobs
196874
196875       A change to the minions (such as addition, removal of keys  or  connec‐
196876       tion drops) or jobs is processed and clients are updated.  Since we use
196877       salt's presence events to track minions, please enable  presence_events
196878       and  set  a small value for the loop_interval in the salt master config
196879       file.
196880
196881       Exposes GET method  to  return  websocket  connections.   All  requests
196882       should  include  an  auth token.  A way to obtain obtain authentication
196883       tokens is shown below.
196884
196885          % curl -si localhost:8000/login \
196886              -H "Accept: application/json" \
196887              -d username='salt' \
196888              -d password='salt' \
196889              -d eauth='pam'
196890
196891       Which results in the response
196892
196893          {
196894              "return": [{
196895                  "perms": [".*", "@runner", "@wheel"],
196896                  "start": 1400556492.277421,
196897                  "token": "d0ce6c1a37e99dcc0374392f272fe19c0090cca7",
196898                  "expire": 1400599692.277422,
196899                  "user": "salt",
196900                  "eauth": "pam"
196901              }]
196902          }
196903
196904       In      this      example       the       token       returned       is
196905       d0ce6c1a37e99dcc0374392f272fe19c0090cca7  and can be included in subse‐
196906       quent websocket requests (as part of the URL).
196907
196908       The event stream can be easily consumed via JavaScript:
196909
196910          // Note, you must be authenticated!
196911
196912          // Get the Websocket connection to Salt
196913          var source = new Websocket('wss://localhost:8000/formatted_events/d0ce6c1a37e99dcc0374392f272fe19c0090cca7');
196914
196915          // Get Salt's "real time" event stream.
196916          source.onopen = function() { source.send('websocket client ready'); };
196917
196918          // Other handlers
196919          source.onerror = function(e) { console.debug('error!', e); };
196920
196921          // e.data represents Salt's "real time" event data as serialized JSON.
196922          source.onmessage = function(e) { console.debug(e.data); };
196923
196924          // Terminates websocket connection and Salt's "real time" event stream on the server.
196925          source.close();
196926
196927       Or via Python, using the Python module  websocket-client  for  example.
196928       Or the tornado client.
196929
196930          # Note, you must be authenticated!
196931
196932          from websocket import create_connection
196933
196934          # Get the Websocket connection to Salt
196935          ws = create_connection('wss://localhost:8000/formatted_events/d0ce6c1a37e99dcc0374392f272fe19c0090cca7')
196936
196937          # Get Salt's "real time" event stream.
196938          ws.send('websocket client ready')
196939
196940
196941          # Simple listener to print results of Salt's "real time" event stream.
196942          # Look at https://pypi.python.org/pypi/websocket-client/ for more examples.
196943          while listening_to_events:
196944              print ws.recv()       #  Salt's "real time" event data as serialized JSON.
196945
196946          # Terminates websocket connection and Salt's "real time" event stream on the server.
196947          ws.close()
196948
196949          # Please refer to https://github.com/liris/websocket-client/issues/81 when using a self signed cert
196950
196951       Above examples show how to establish a websocket connection to Salt and
196952       activating real time updates from Salt's event stream by signaling web‐
196953       socket client ready.
196954
196955   Example responses
196956       Minion  information is a dictionary keyed by each connected minion's id
196957       (mid), grains information for each minion is also included.
196958
196959       Minion information is sent in response to the following minion events:
196960
196961       ·
196962
196963         connection drops
196964
196965                · requires   running   manage.present    periodically    every
196966                  loop_interval seconds
196967
196968       · minion addition
196969
196970       · minon removal
196971
196972          # Not all grains are shown
196973          data: {
196974              "minions": {
196975                  "minion1": {
196976                      "id": "minion1",
196977                      "grains": {
196978                          "kernel": "Darwin",
196979                          "domain": "local",
196980                          "zmqversion": "4.0.3",
196981                          "kernelrelease": "13.2.0"
196982                      }
196983                  }
196984              }
196985          }
196986
196987       Job information is also tracked and delivered.
196988
196989       Job information is also a dictionary in which each job's information is
196990       keyed by salt's jid.
196991
196992          data: {
196993              "jobs": {
196994                  "20140609153646699137": {
196995                      "tgt_type": "glob",
196996                      "jid": "20140609153646699137",
196997                      "tgt": "*",
196998                      "start_time": "2014-06-09T15:36:46.700315",
196999                      "state": "complete",
197000                      "fun": "test.ping",
197001                      "minions": {
197002                          "minion1": {
197003                              "return": true,
197004                              "retcode": 0,
197005                              "success": true
197006                          }
197007                      }
197008                  }
197009              }
197010          }
197011
197012   Setup
197013   REST URI Reference
197014       · /
197015
197016       · /login
197017
197018       · /minions
197019
197020       · /jobs
197021
197022       · /run
197023
197024       · /events
197025
197026       · /hook
197027
197028   /
197029       salt.netapi.rest_tornado.saltnado.SaltAPIHandler
197030              alias of __builtin__.
197031
197032   /login
197033       salt.netapi.rest_tornado.saltnado.SaltAuthHandler
197034              alias of __builtin__.
197035
197036   /minions
197037       salt.netapi.rest_tornado.saltnado.MinionSaltAPIHandler
197038              alias of __builtin__.
197039
197040   /jobs
197041       salt.netapi.rest_tornado.saltnado.JobsSaltAPIHandler
197042              alias of __builtin__.
197043
197044   /run
197045       salt.netapi.rest_tornado.saltnado.RunSaltAPIHandler
197046              alias of __builtin__.
197047
197048   /events
197049       salt.netapi.rest_tornado.saltnado.EventsSaltAPIHandler
197050              alias of __builtin__.
197051
197052   /hook
197053       salt.netapi.rest_tornado.saltnado.WebhookSaltAPIHandler
197054              alias of __builtin__.
197055
197056   rest_wsgi
197057   A minimalist REST API for Salt
197058       This rest_wsgi module provides a no-frills REST interface  for  sending
197059       commands to the Salt master. There are no dependencies.
197060
197061       Extra  care  must  be taken when deploying this module into production.
197062       Please read this documentation in entirety.
197063
197064       All authentication is done through Salt's external auth system.
197065
197066   Usage
197067       · All requests must be sent to the root URL (/).
197068
197069       · All requests must be sent as a POST request with JSON content in  the
197070         request body.
197071
197072       · All responses are in JSON.
197073
197074       SEE ALSO:
197075          rest_cherrypy
197076
197077          The  rest_cherrypy  module  is more full-featured, production-ready,
197078          and has builtin security features.
197079
197080   Deployment
197081       The rest_wsgi netapi module is a standard Python WSGI app.  It  can  be
197082       deployed one of two ways.
197083
197084   Using a WSGI-compliant web server
197085       This module may be run via any WSGI-compliant production server such as
197086       Apache with mod_wsgi or Nginx with FastCGI.
197087
197088       It is strongly recommended that this app be used  with  a  server  that
197089       supports  HTTPS  encryption  since  raw Salt authentication credentials
197090       must be sent with every request. Any apps that access Salt through this
197091       interface  will  need  to  manually  manage  authentication credentials
197092       (either username and password or a Salt token). Tread carefully.
197093
197094   salt-api using a development-only server
197095       If   run   directly   via   the   salt-api   daemon   it    uses    the
197096       wsgiref.simple_server() that ships in the Python standard library. This
197097       is a single-threaded server that is intended for testing  and  develop‐
197098       ment.  This  server  does not use encryption; please note that raw Salt
197099       authentication credentials must be sent with every HTTP request.
197100
197101       Running this module via salt-api is not recommended!
197102
197103       In order to start this module via the  salt-api  daemon  the  following
197104       must be put into the Salt master config:
197105
197106          rest_wsgi:
197107              port: 8001
197108
197109   Usage examples
197110       POST / Example request for a basic test.ping:
197111
197112                 % curl -sS -i \
197113                         -H 'Content-Type: application/json' \
197114                         -d '[{"eauth":"pam","username":"saltdev","password":"saltdev","client":"local","tgt":"*","fun":"test.ping"}]' localhost:8001
197115
197116              Example response:
197117
197118                 HTTP/1.0 200 OK
197119                 Content-Length: 89
197120                 Content-Type: application/json
197121
197122                 {"return": [{"ms--4": true, "ms--3": true, "ms--2": true, "ms--1": true, "ms--0": true}]}
197123
197124              Example request for an asynchronous test.ping:
197125
197126                 % curl -sS -i \
197127                         -H 'Content-Type: application/json' \
197128                         -d '[{"eauth":"pam","username":"saltdev","password":"saltdev","client":"local_async","tgt":"*","fun":"test.ping"}]' localhost:8001
197129
197130              Example response:
197131
197132                 HTTP/1.0 200 OK
197133                 Content-Length: 103
197134                 Content-Type: application/json
197135
197136                 {"return": [{"jid": "20130412192112593739", "minions": ["ms--4", "ms--3", "ms--2", "ms--1", "ms--0"]}]}
197137
197138              Example request for looking up a job ID:
197139
197140                 % curl -sS -i \
197141                         -H 'Content-Type: application/json' \
197142                         -d '[{"eauth":"pam","username":"saltdev","password":"saltdev","client":"runner","fun":"jobs.lookup_jid","jid":"20130412192112593739"}]' localhost:8001
197143
197144              Example response:
197145
197146                 HTTP/1.0 200 OK
197147                 Content-Length: 89
197148                 Content-Type: application/json
197149
197150                 {"return": [{"ms--4": true, "ms--3": true, "ms--2": true, "ms--1": true, "ms--0": true}]}
197151
197152       form lowstate
197153              A list of lowstate data appropriate for the client interface you
197154              are calling.
197155
197156       status 200
197157              success
197158
197159       status 401
197160              authentication required
197161
197162   output modules
197163       Follow one of the below links for further information and examples
197164
197165                 ┌────────────────────┬────────────────────────────┐
197166highstate           │ Outputter  for  displaying │
197167                 │                    │ results of state runs      │
197168                 ├────────────────────┼────────────────────────────┤
197169json_out            │ Display   return  data  in │
197170                 │                    │ JSON format                │
197171                 ├────────────────────┼────────────────────────────┤
197172key                 │ Display salt-key output    │
197173                 ├────────────────────┼────────────────────────────┤
197174nested              │ Recursively display nested │
197175                 │                    │ data                       │
197176                 ├────────────────────┼────────────────────────────┤
197177newline_values_only │ Display values only, sepa‐ │
197178                 │                    │ rated by newlines          │
197179                 ├────────────────────┼────────────────────────────┤
197180no_out              │ Display no output          │
197181                 ├────────────────────┼────────────────────────────┤
197182no_return           │ Display output for minions │
197183                 │                    │ that did not return        │
197184                 ├────────────────────┼────────────────────────────┤
197185overstatestage      │ Display clean output of an │
197186                 │                    │ overstate stage            │
197187                 ├────────────────────┼────────────────────────────┤
197188pony                │ Display Pony  output  data │
197189                 │                    │ structure                  │
197190                 ├────────────────────┼────────────────────────────┤
197191pprint_out          │ Python        pretty-print │
197192                 │                    │ (pprint)                   │
197193                 ├────────────────────┼────────────────────────────┤
197194progress            │ Display return data  as  a │
197195                 │                    │ progress bar               │
197196                 ├────────────────────┼────────────────────────────┤
197197raw                 │ Display  raw  output  data │
197198                 │                    │ structure                  │
197199                 ├────────────────────┼────────────────────────────┤
197200table_out           │ Display output in a  table │
197201                 │                    │ format                     │
197202                 ├────────────────────┼────────────────────────────┤
197203txt                 │ Simple text outputter      │
197204                 ├────────────────────┼────────────────────────────┤
197205virt_query          │ virt.query outputter       │
197206                 ├────────────────────┼────────────────────────────┤
197207yaml_out            │ Display   return  data  in │
197208                 │                    │ YAML format                │
197209                 └────────────────────┴────────────────────────────┘
197210
197211   salt.output.highstate
197212   Outputter for displaying results of state runs
197213       The return data from the Highstate command is a standard data structure
197214       which is parsed by the highstate outputter to deliver a clean and read‐
197215       able set of information about the HighState run on minions.
197216
197217       Two configurations can be set to modify the highstate outputter.  These
197218       values can be set in the master config to change the output of the salt
197219       command or set in the  minion  config  to  change  the  output  of  the
197220       salt-call command.
197221
197222       state_verbose
197223              By  default  state_verbose is set to True, setting this to False
197224              will instruct the highstate outputter to  omit  displaying  any‐
197225              thing  in  green,  this means that nothing with a result of True
197226              and no changes will not be printed
197227
197228       state_output:
197229              The highstate outputter  has  six  output  modes,  full,  terse,
197230              mixed, changes and filter
197231
197232              · The  default  is set to full, which will display many lines of
197233                detailed information for each executed chunk.
197234
197235              · If terse is used, then the output is  greatly  simplified  and
197236                shown in only one line.
197237
197238              · If  mixed  is  used,  then  terse output will be used unless a
197239                state failed, in which case full output will be used.
197240
197241              · If changes is used, then terse output will be  used  if  there
197242                was  no  error  and  no changes, otherwise full output will be
197243                used.
197244
197245              · If filter is used, then either or both of two  different  fil‐
197246                ters can be used: exclude or terse.
197247
197248                   · for  exclude, state.highstate expects a list of states to
197249                     be excluded (or None) followed by True for  terse  output
197250                     or False for regular output.  Because of parsing nuances,
197251                     if only one of these is used, it  must  still  contain  a
197252                     comma. For instance: exclude=True,.
197253
197254                   · for terse, state.highstate expects simply True or False.
197255
197256                These can be set as such from the command line, or in the Salt
197257                config as state_output_exclude or state_output_terse,  respec‐
197258                tively.
197259
197260              The output modes have one modifier:
197261
197262              full_id,  terse_id, mixed_id, changes_id and filter_id If _id is
197263              used, then the corresponding form will be used,  but  the  value
197264              for  name  will  be  drawn from the state ID. This is useful for
197265              cases where the name value might be very long and hard to read.
197266
197267       state_tabular:
197268              If state_output uses the terse output, set this to True  for  an
197269              aligned output format.  If you wish to use a custom format, this
197270              can be set to a string.
197271
197272       Example usage:
197273
197274       If state_output: filter is set in the configuration file:
197275
197276          salt '*' state.highstate exclude=None,True
197277
197278       means to exclude no states from the highstate and turn on terse output.
197279
197280          salt twd state.highstate exclude=problemstate1,problemstate2,False
197281
197282       means to exclude states problemstate1 and problemstate2 from the  high‐
197283       state, and use regular output.
197284
197285       Example  output  for the above highstate call when top.sls defines only
197286       one other state to apply to minion twd:
197287
197288          twd:
197289
197290          Summary for twd
197291          ------------
197292          Succeeded: 1 (changed=1)
197293          Failed:    0
197294          ------------
197295          Total states run:     1
197296
197297       Example output with no special settings in configuration files:
197298
197299          myminion:
197300          ----------
197301                    ID: test.ping
197302              Function: module.run
197303                Result: True
197304               Comment: Module function test.ping executed
197305               Changes:
197306                        ----------
197307                        ret:
197308                            True
197309
197310          Summary for myminion
197311          ------------
197312          Succeeded: 1
197313          Failed:    0
197314          ------------
197315          Total:     0
197316
197317       salt.output.highstate.output(data, **kwargs)
197318              The HighState Outputter is  only  meant  to  be  used  with  the
197319              state.highstate  function,  or a function that returns highstate
197320              return data.
197321
197322   salt.output.json_out
197323   Display return data in JSON format
197324       configuration
197325              The output format can be  configured  in  two  ways:  Using  the
197326              --out-indent  CLI  flag  and  specifying a positive integer or a
197327              negative integer to group JSON from  each  minion  to  a  single
197328              line.
197329
197330              Or  setting  the  output_indent  setting in the Master or Minion
197331              configuration file with one of the following values:
197332
197333              · Null: put each minion return on a single line.
197334
197335              · pretty: use four-space indents and sort the keys.
197336
197337              · An integer: specify the indentation level.
197338
197339       Salt's outputters operate on a per-minion  basis.  Each  minion  return
197340       will be output as a single JSON object once it comes in to the master.
197341
197342       Some  JSON  parsers  can guess when an object ends and a new one begins
197343       but many can not. A good  way  to  differentiate  between  each  minion
197344       return  is  to use the single-line output format and to parse each line
197345       individually. Example output (truncated):
197346
197347          {"dave": {"en0": {"hwaddr": "02:b0:26:32:4c:69", ...}}}
197348          {"jerry": {"en0": {"hwaddr": "02:26:ab:0d:b9:0d", ...}}}
197349          {"kevin": {"en0": {"hwaddr": "02:6d:7f:ce:9f:ee", ...}}}
197350          {"mike": {"en0": {"hwaddr": "02:48:a2:4b:70:a0", ...}}}
197351          {"phill": {"en0": {"hwaddr": "02:1d:cc:a2:33:55", ...}}}
197352          {"stuart": {"en0": {"hwaddr": "02:9a:e0:ea:9e:3c", ...}}}
197353
197354       salt.output.json_out.output(data, **kwargs)
197355              Print the output data in JSON
197356
197357   salt.output.key
197358   Display salt-key output
197359       The salt-key command makes use of this outputter to format its output.
197360
197361       salt.output.key.output(data, **kwargs)
197362              Read in the dict structure generated by the salt key API methods
197363              and print the structure.
197364
197365   salt.output.nested
197366   Recursively display nested data
197367       This is the default outputter for most execution functions.
197368
197369       Example output:
197370
197371          myminion:
197372              ----------
197373              foo:
197374                  ----------
197375                  bar:
197376                      baz
197377                  dictionary:
197378                      ----------
197379                      abc:
197380                          123
197381                      def:
197382                          456
197383                  list:
197384                      - Hello
197385                      - World
197386
197387       class salt.output.nested.NestDisplay(retcode=0)
197388              Manage the nested display contents
197389
197390              display(ret, indent, prefix, out)
197391                     Recursively  iterate  down  through  data  structures  to
197392                     determine output
197393
197394              ustring(indent, color, msg, prefix=u'', suffix=u'', endc=None)
197395
197396       salt.output.nested.output(ret, **kwargs)
197397              Display ret data
197398
197399   salt.output.newline_values_only
197400   Display values only, separated by newlines
197401       New in version 2015.5.0.
197402
197403
197404       This outputter is designed for Salt CLI return data.  It  will  do  the
197405       following to the return dict:
197406
197407       1. Get just the values (ignoring the minion IDs).
197408
197409       2. Each value, if it is iterable, is split a separate line.
197410
197411       3. Each minion's values are separated by newlines.
197412
197413       This  results in a single string of return data containing all the val‐
197414       ues from the various minions.
197415
197416       WARNING:
197417          As noted above, this outputter will discard the minion  ID.  If  the
197418          minion  ID  is  important,  then  an outputter that returns the full
197419          return dictionary in a parsable format (such as  json,  pprint,,  or
197420          yaml) may be more suitable.
197421
197422   Example 1
197423   Input
197424          {
197425              'myminion': ['127.0.0.1', '10.0.0.1'],
197426              'second-minion': ['127.0.0.1', '10.0.0.2']
197427          }
197428
197429   Output
197430          127.0.0.1
197431          10.0.0.1
197432          127.0.0.1
197433          10.0.0.2
197434
197435   Example 2
197436   Input
197437          {
197438              'myminion': 8,
197439              'second-minion': 10
197440          }
197441
197442   Output
197443          8
197444          10
197445
197446       salt.output.newline_values_only.output(data, **kwargs)
197447              Display modified ret data
197448
197449   salt.output.no_out
197450   Display no output
197451       No output is produced when this outputter is selected
197452
197453       salt.output.no_out.output(ret, **kwargs)
197454              Don't  display  data.  Used  when you only are interested in the
197455              return.
197456
197457   salt.output.no_return
197458   Display output for minions that did not return
197459       This outputter is used to display notices about which minions failed to
197460       return  when a salt function is run with -v or --verbose. It should not
197461       be called directly from the CLI.
197462
197463       Example output:
197464
197465          virtucentos:
197466              Minion did not return
197467
197468       class salt.output.no_return.NestDisplay
197469              Create generator for nested output
197470
197471              display(ret, indent, prefix, out)
197472                     Recursively  iterate  down  through  data  structures  to
197473                     determine output
197474
197475       salt.output.no_return.output(ret, **kwargs)
197476              Display ret data
197477
197478   salt.output.overstatestage
197479   Display clean output of an overstate stage
197480       This outputter is used to display Orchestrate Runner stages, and should
197481       not be called directly.
197482
197483       salt.output.overstatestage.output(data, **kwargs)
197484              Format the data for printing stage information  from  the  over‐
197485              state system
197486
197487   salt.output.pony module
197488   Display Pony output data structure
197489       depends
197490
197491              · ponysay CLI program
197492
197493       Display  output from a pony. Ponies are better than cows because every‐
197494       body wants a pony.
197495
197496       Example output:
197497
197498          < {'local': True} >
197499           -----------------
197500           \
197501            \
197502             \
197503              ▄▄▄▄▄▄▄
197504              ▀▄▄████▄▄
197505            ▄▄▄█████▄█▄█▄█▄▄▄
197506           ██████▄▄▄█▄▄█████▄▄
197507           ▀▄▀ █████▄▄█▄▄█████
197508               ▄▄▄███████████▄▄▄
197509               ████▄▄▄▄▄▄███▄▄██           ▄▄▄▄▄▄▄
197510               ████▄████▄██▄▄███       ▄▄▄▄██▄▄▄▄▄▄
197511              █▄███▄▄█▄███▄▄██▄▀     ▄▄███████▄▄███▄▄
197512              ▀▄██████████████▄▄    ▄▄█▄▀▀▀▄▄█████▄▄██
197513                 ▀▀▀▀▀█████▄█▄█▄▄▄▄▄▄▄█     ▀▄████▄████
197514                      ████▄███▄▄▄▄▄▄▄▄▄     ▄▄█████▄███
197515                      ▀▄█▄█▄▄▄██▄▄▄▄▄██    ▄▄██▄██████
197516                       ▀▄████████████▄▀  ▄▄█▄██████▄▀
197517                        ██▄██▄▄▄▄█▄███▄ ███▄▄▄▄▄██▄▀
197518                        ██████  ▀▄▄█████ ▀████████
197519                       ▄▄▄▄███   ███████ ██████▄█▄▄
197520                       ███████   ████████▀▄▀███▄▄█▄▄
197521                     ▄██▄▄████   ████████   ▀▄██▀▄▄▀
197522                     █▄▄██████   █▄▄██████
197523                       █▄▄▄▄█       █▄▄▄▄█
197524
197525       salt.output.pony.output(data, **kwargs)
197526              Mane function
197527
197528   salt.output.pprint_out
197529   Python pretty-print (pprint)
197530       The python pretty-print system was once the default outputter. It  sim‐
197531       ply  passes  the  return  data through to pprint.pformat and prints the
197532       results.
197533
197534       Example output:
197535
197536          {'saltmine': {'foo': {'bar': 'baz',
197537                                'dictionary': {'abc': 123, 'def': 456},
197538                                'list': ['Hello', 'World']}}}
197539
197540       salt.output.pprint_out.output(data, **kwargs)
197541              Print out via pretty print
197542
197543   salt.output.progress
197544       Display return data as a progress bar
197545
197546       salt.output.progress.output(ret, bar, **kwargs)
197547              Update the progress bar
197548
197549       salt.output.progress.progress_iter(progress)
197550              Initialize and return a progress bar iter
197551
197552   salt.output.raw
197553   Display raw output data structure
197554       This outputter simply displays the output as a python  data  structure,
197555       by  printing a string representation of it. It is similar to the pprint
197556       outputter, only the data is not nicely formatted/indented.
197557
197558       This was the original outputter used by Salt before the outputter  sys‐
197559       tem was developed.
197560
197561       Example output:
197562
197563          {'myminion': {'foo': {'list': ['Hello', 'World'], 'bar': 'baz', 'dictionary': {'abc': 123, 'def': 456}}}}
197564
197565       salt.output.raw.output(data, **kwargs)
197566              Rather basic....
197567
197568   salt.output.table_out
197569   Display output in a table format
197570       New in version 2017.7.0.
197571
197572
197573       This outputter displays a sequence of rows as table.
197574
197575       Example output:
197576
197577          edge01.bjm01:
197578          ----------
197579              comment:
197580              ----------
197581              out:
197582              ----------
197583                  ______________________________________________________________________________
197584                  | Active | Interface | Last Move |        Mac        | Moves | Static | Vlan |
197585                  ______________________________________________________________________________
197586                  |  True  |  ae1.900  |    0.0    | 40:A6:77:5A:50:01 |   0   | False  | 111  |
197587                  ______________________________________________________________________________
197588                  |  True  |  ae1.111  |    0.0    | 64:16:8D:32:26:58 |   0   | False  | 111  |
197589                  ______________________________________________________________________________
197590                  |  True  |  ae1.111  |    0.0    | 8C:60:4F:73:2D:57 |   0   | False  | 111  |
197591                  ______________________________________________________________________________
197592                  |  True  |  ae1.111  |    0.0    | 8C:60:4F:73:2D:7C |   0   | False  | 111  |
197593                  ______________________________________________________________________________
197594                  |  True  |  ae1.222  |    0.0    | 8C:60:4F:73:2D:57 |   0   | False  | 222  |
197595                  ______________________________________________________________________________
197596                  |  True  |  ae1.222  |    0.0    | F4:0F:1B:76:9D:97 |   0   | False  | 222  |
197597                  ______________________________________________________________________________
197598              result:
197599              ----------
197600
197601       class   salt.output.table_out.TableDisplay(has_header=True,  row_delim‐
197602       iter=u'-', delim=u' | ',  justify=u'center',  separate_rows=True,  pre‐
197603       fix=u'| ', suffix=u' |', width=50, wrapfunc=None)
197604              Manage the table display content.
197605
197606              display(ret, indent, out, rows_key=None, labels_key=None)
197607                     Display table(s).
197608
197609              display_rows(rows, labels, indent)
197610                     Prepares row content and displays.
197611
197612              prepare_rows(rows, indent, has_header)
197613                     Prepare rows content to be displayed.
197614
197615              ustring(indent, color, msg, prefix=u'', suffix=u'', endc=None)
197616                     Build the unicode string to be displayed.
197617
197618              wrap_onspace(text)
197619                     When the text inside the column is longer then the width,
197620                     will split by space and continue on the next line.
197621
197622       salt.output.table_out.output(ret, **kwargs)
197623              Display the output as table.
197624
197625              Parameters
197626
197627                     · nested_indent (*) -- integer, specify the  left  align‐
197628                       ment.
197629
197630                     · has_header  (*)  -- boolean specifying if header should
197631                       be displayed. Default: True.
197632
197633                     · row_delimiter  (*)  --  character  to  separate   rows.
197634                       Default: _.
197635
197636                     · delim  (*) -- character to separate columns. Default: "
197637                       | ".
197638
197639                     · justify (*) -- text alignment. Default: center.
197640
197641                     · separate_rows (*) -- boolean specifying if row  separa‐
197642                       tor   will   be  displayed  between  consecutive  rows.
197643                       Default: True.
197644
197645                     · prefix (*) -- character at the beginning  of  the  row.
197646                       Default: "| ".
197647
197648                     · suffix (*) -- character at the end of the row. Default:
197649                       " |".
197650
197651                     · width (*) -- column max width. Default: 50.
197652
197653                     · rows_key (*) -- display the rows under a specific key.
197654
197655                     · labels_key (*) -- use the labels under a  certain  key.
197656                       Otherwise will try to use the dictionary keys (if any).
197657
197658                     · title  (*)  --  display  title  when  only one table is
197659                       selected (using the rows_key argument).
197660
197661   salt.output.txt
197662   Simple text outputter
197663       The txt outputter has been developed to make the output from shell com‐
197664       mands  on minions appear as they do when the command is executed on the
197665       minion.
197666
197667       salt.output.txt.output(data, **kwargs)
197668              Output the data in lines, very nice for running commands
197669
197670   salt.output.virt_query
197671   virt.query outputter
197672       Used to display the output from the virt.query runner.
197673
197674       salt.output.virt_query.output(data, **kwargs)
197675              Display output for the salt-run virt.query function
197676
197677   salt.output.yaml_out
197678   Display return data in YAML format
197679       This outputter defaults to printing in YAML block mode for better read‐
197680       ability.
197681
197682       Example output:
197683
197684          saltmine:
197685            foo:
197686              bar: baz
197687              dictionary:
197688                abc: 123
197689                def: 456
197690              list:
197691                - Hello
197692                - World
197693
197694       salt.output.yaml_out.output(data, **kwargs)
197695              Print out YAML using the block mode
197696
197697   pillar modules
197698                   ┌────────────────┬────────────────────────────┐
197699cmd_json        │ Execute a command and read │
197700                   │                │ the output as JSON.        │
197701                   ├────────────────┼────────────────────────────┤
197702cmd_yaml        │ Execute a command and read │
197703                   │                │ the output as YAML.        │
197704                   ├────────────────┼────────────────────────────┤
197705cmd_yamlex      │ Execute a command and read │
197706                   │                │ the output as YAMLEX.      │
197707                   ├────────────────┼────────────────────────────┤
197708cobbler         │ A module to pull data from │
197709                   │                │ Cobbler  via  its API into │
197710                   │                │ the Pillar dictionary      │
197711                   ├────────────────┼────────────────────────────┤
197712confidant       │ An external pillar  module │
197713                   │                │ for   getting  credentials │
197714                   │                │ from confidant.            │
197715                   ├────────────────┼────────────────────────────┤
197716consul_pillar   │ Use Consul K/V as a Pillar │
197717                   │                │ source  with values parsed │
197718                   │                │ as YAML                    │
197719                   ├────────────────┼────────────────────────────┤
197720csvpillar       │ Store key/value pairs in a │
197721                   │                │ CSV file                   │
197722                   ├────────────────┼────────────────────────────┤
197723digicert        │ Digicert  Pillar  Certifi‐ │
197724                   │                │ cates                      │
197725                   ├────────────────┼────────────────────────────┤
197726django_orm      │ Generate Pillar data  from │
197727                   │                │ Django  models through the │
197728                   │                │ Django ORM                 │
197729                   ├────────────────┼────────────────────────────┤
197730ec2_pillar      │ Retrieve EC2 instance data │
197731                   │                │ for  minions  for ec2_tags │
197732                   │                │ and ec2_tags_list          │
197733                   ├────────────────┼────────────────────────────┤
197734etcd_pillar     │ Use etcd data as a  Pillar │
197735                   │                │ source                     │
197736                   ├────────────────┼────────────────────────────┤
197737file_tree       │ The   file_tree   external │
197738                   │                │ pillar allows values  from │
197739                   │                │ all  files  in a directory │
197740                   │                │ tree  to  be  imported  as │
197741                   │                │ Pillar data.               │
197742                   ├────────────────┼────────────────────────────┤
197743foreman         │ A module to pull data from │
197744                   │                │ Foreman via its  API  into │
197745                   │                │ the Pillar dictionary      │
197746                   ├────────────────┼────────────────────────────┤
197747git_pillar      │ Use  a git repository as a │
197748                   │                │ Pillar source              │
197749                   ├────────────────┼────────────────────────────┤
197750gpg             │ Decrypt    pillar     data │
197751                   │                │ through  the  builtin  GPG │
197752                   │                │ renderer                   │
197753                   ├────────────────┼────────────────────────────┤
197754hg_pillar       │ Use    remote    Mercurial │
197755                   │                │ repository   as  a  Pillar │
197756                   │                │ source.                    │
197757                   ├────────────────┼────────────────────────────┤
197758hiera           │ Use hiera data as a Pillar │
197759                   │                │ source                     │
197760                   ├────────────────┼────────────────────────────┤
197761http_json       │ A module that adds data to │
197762                   │                │ the    Pillar    structure │
197763                   │                │ retrieved   by   an   http │
197764                   │                │ request                    │
197765                   ├────────────────┼────────────────────────────┤
197766http_yaml       │ A module that adds data to │
197767                   │                │ the    Pillar    structure │
197768                   │                │ retrieved   by   an   http │
197769                   │                │ request                    │
197770                   ├────────────────┼────────────────────────────┤
197771libvirt         │ Load  up  the libvirt keys │
197772                   │                │ into Pillar  for  a  given │
197773                   │                │ minion  if  said keys have │
197774                   │                │ been generated  using  the │
197775                   │                │ libvirt key runner         │
197776                   ├────────────────┼────────────────────────────┤
197777makostack       │ Simple  and  flexible YAML │
197778                   │                │ ext_pillar which can  read │
197779                   │                │ pillar from within pillar. │
197780                   ├────────────────┼────────────────────────────┤
197781mongo           │ Read  Pillar  data  from a │
197782                   │                │ mongodb collection         │
197783                   ├────────────────┼────────────────────────────┤
197784mysql           │ Retrieve  Pillar  data  by │
197785                   │                │ doing a MySQL query        │
197786                   ├────────────────┼────────────────────────────┤
197787netbox          │ A module that adds data to │
197788                   │                │ the Pillar structure  from │
197789                   │                │ a NetBox API.              │
197790                   ├────────────────┼────────────────────────────┤
197791neutron         │ Use Openstack Neutron data │
197792                   │                │ as a Pillar source.        │
197793                   ├────────────────┼────────────────────────────┤
197794nodegroups      │ Nodegroups Pillar          │
197795                   ├────────────────┼────────────────────────────┤
197796pepa            │ Pepa                       │
197797                   ├────────────────┼────────────────────────────┤
197798pillar_ldap     │ Use LDAP data as a  Pillar │
197799                   │                │ source                     │
197800                   └────────────────┴────────────────────────────┘
197801
197802
197803postgres        │ Retrieve  Pillar  data  by │
197804                   │                │ doing a postgres query     │
197805                   ├────────────────┼────────────────────────────┤
197806puppet          │ Execute an unmodified pup‐ │
197807                   │                │ pet_node_classifier    and │
197808                   │                │ read the output as YAML.   │
197809                   ├────────────────┼────────────────────────────┤
197810reclass_adapter │ Use the "reclass" database │
197811                   │                │ as a Pillar source         │
197812                   ├────────────────┼────────────────────────────┤
197813redismod        │ Read  pillar  data  from a │
197814                   │                │ Redis backend              │
197815                   ├────────────────┼────────────────────────────┤
197816s3              │ Copy pillar  data  from  a │
197817                   │                │ bucket in Amazon S3        │
197818                   ├────────────────┼────────────────────────────┤
197819saltclass       │ SaltClass Pillar Module    │
197820                   ├────────────────┼────────────────────────────┤
197821sql_base        │ Retrieve  Pillar  data  by │
197822                   │                │ doing a SQL query          │
197823                   ├────────────────┼────────────────────────────┤
197824sqlcipher       │ Retrieve  Pillar  data  by │
197825                   │                │ running a SQLCipher query  │
197826                   ├────────────────┼────────────────────────────┤
197827sqlite3         │ Retrieve  Pillar  data  by │
197828                   │                │ doing a SQLite3 query      │
197829                   ├────────────────┼────────────────────────────┤
197830stack           │ Simple and  flexible  YAML │
197831                   │                │ ext_pillar  which can read │
197832                   │                │ pillar from within pillar. │
197833                   ├────────────────┼────────────────────────────┤
197834svn_pillar      │ Clone a remote SVN reposi‐ │
197835                   │                │ tory  and use the filesys‐ │
197836                   │                │ tem as a Pillar source     │
197837                   ├────────────────┼────────────────────────────┤
197838varstack_pillar │ Use  Varstack  data  as  a │
197839                   │                │ Pillar source              │
197840                   ├────────────────┼────────────────────────────┤
197841vault           │ Vault Pillar Module        │
197842                   ├────────────────┼────────────────────────────┤
197843venafi          │ Venafi Pillar Certificates │
197844                   ├────────────────┼────────────────────────────┤
197845virtkey         │ Accept a key from a hyper‐ │
197846                   │                │ visor if the  virt  runner │
197847                   │                │ has  already  submitted an │
197848                   │                │ authorization request      │
197849                   ├────────────────┼────────────────────────────┤
197850vmware_pillar   │ Pillar data  from  vCenter │
197851                   │                │ or an ESXi host            │
197852                   └────────────────┴────────────────────────────┘
197853
197854   salt.pillar.cmd_json
197855       Execute  a  command  and read the output as JSON. The JSON data is then
197856       directly overlaid onto the minion's Pillar data.
197857
197858       salt.pillar.cmd_json.ext_pillar(minion_id, pillar, command)
197859              Execute a command and read the output as JSON
197860
197861   salt.pillar.cmd_yaml
197862       Execute a command and read the output as YAML. The YAML  data  is  then
197863       directly overlaid onto the minion's Pillar data
197864
197865       salt.pillar.cmd_yaml.ext_pillar(minion_id, pillar, command)
197866              Execute a command and read the output as YAML
197867
197868   salt.pillar.cmd_yamlex
197869       Execute a command and read the output as YAMLEX.
197870
197871       The YAMLEX data is then directly overlaid onto the minion's Pillar data
197872
197873       salt.pillar.cmd_yamlex.ext_pillar(minion_id, pillar, command)
197874              Execute a command and read the output as YAMLEX
197875
197876   salt.pillar.cobbler
197877       A  module to pull data from Cobbler via its API into the Pillar dictio‐
197878       nary
197879
197880   Configuring the Cobbler ext_pillar
197881       The same cobbler.* parameters are used for both the  Cobbler  tops  and
197882       Cobbler pillar modules.
197883
197884          ext_pillar:
197885          - cobbler:
197886              key: cobbler # Nest results within this key. By default, values are not nested.
197887              only: [parameters] # Add only these keys to pillar.
197888
197889          cobbler.url: https://example.com/cobbler_api #default is http://localhost/cobbler_api
197890          cobbler.user: username # default is no username
197891          cobbler.password: password # default is no password
197892
197893   Module Documentation
197894       salt.pillar.cobbler.ext_pillar(minion_id, pillar, key=None, only=())
197895              Read pillar data from Cobbler via its API.
197896
197897   salt.pillar.confidant
197898       An external pillar module for getting credentials from confidant.
197899
197900   Configuring the Confidant module
197901       The module can be configured via ext_pillar in the minion config:
197902
197903
197904
197905       ext_pillar:
197906
197907              ·
197908
197909                confidant:
197910
197911                       profile:
197912                              #  The  URL of the confidant web service url: '‐
197913                              https://confidant-production.example.com' #  The
197914                              context  to use for KMS authentication auth_con‐
197915                              text: from:  example-production-iad  to:  confi‐
197916                              dant-production-iad user_type: service # The KMS
197917                              master key to use for  authentication  auth_key:
197918                              "alias/authnz"  #  Cache file for KMS auth token
197919                              token_cache_file: /run/confidant/confidant_token
197920                              #  The  duration  of the validity of a token, in
197921                              minutes token_duration:  60  #  key,  keyid  and
197922                              region can be defined in the profile, but it's #
197923                              generally best to use IAM roles  or  environment
197924                              variables    for    AWS    #    auth.     keyid:
197925                              98nh9h9h908h09kjjk                          key:
197926                              jhf908gyeghehe0he0g8h9u0j0n0n09hj09h0    region:
197927                              us-east-1
197928
197929       depends
197930              confidant-common, confidant-client
197931
197932   Module Documentation
197933       salt.pillar.confidant.ext_pillar(minion_id, pillar, profile=None)
197934              Read pillar data from Confidant via its API.
197935
197936   salt.pillar.consul_pillar module
197937       Use Consul K/V as a Pillar source with values parsed as YAML
197938
197939       depends
197940
197941              · python-consul
197942
197943       In order to use an consul server, a profile must be created in the mas‐
197944       ter configuration file:
197945
197946          my_consul_config:
197947            consul.host: 127.0.0.1
197948            consul.port: 8500
197949            consul.token: b6376760-a8bb-edd5-fcda-33bc13bfc556
197950            consul.scheme: http
197951            consul.consistency: default
197952            consul.dc: dev
197953            consul.verify: True
197954
197955       All parameters are optional.
197956
197957       The consul.token requires python-consul >= 0.4.7.
197958
197959       If  you  have  a  multi-datacenter Consul cluster you can map your pil‐
197960       larenv``s to your data centers by providing a dictionary of mappings in
197961       ``consul.dc field:
197962
197963          my_consul_config:
197964            consul.dc:
197965              dev: us-east-1
197966              prod: us-west-1
197967
197968       In  the example above we specifying static mapping between Pillar envi‐
197969       ronments and data centers: the data for dev and  prod  Pillar  environ‐
197970       ments  will  be fetched from us-east-1 and us-west-1 datacenter respec‐
197971       tively.
197972
197973       In fact when consul.dc is set to dictionary keys are processed as regu‐
197974       lar expressions (that can capture named parameters) and values are pro‐
197975       cessed as string templates as per PEP 3101.
197976
197977          my_consul_config:
197978            consul.dc:
197979              ^dev-.*$: dev-datacenter
197980              ^(?P<region>.*)-prod$: prod-datacenter-{region}
197981
197982       This example  maps  all  Pillar  environments  starting  with  dev-  to
197983       dev-datacenter  whereas  Pillar environment like eu-prod will be mapped
197984       to prod-datacenter-eu.
197985
197986       Before evaluation patterns are sorted by length in descending order.
197987
197988       If Pillar environment names correspond to data center  names  a  single
197989       pattern can be used:
197990
197991          my_consul_config:
197992            consul.dc:
197993              ^(?P<env>.*)$: '{env}'
197994
197995       After  the  profile is created, configure the external pillar system to
197996       use it.  Optionally, a root may be specified.
197997
197998          ext_pillar:
197999            - consul: my_consul_config
198000
198001          ext_pillar:
198002            - consul: my_consul_config root=salt
198003
198004       Using these configuration profiles, multiple consul sources may also be
198005       used:
198006
198007          ext_pillar:
198008            - consul: my_consul_config
198009            - consul: my_other_consul_config
198010
198011       Either  the  minion_id,  or  the role, or the environment grain  may be
198012       used in the root path to expose minion-specific information  stored  in
198013       consul.
198014
198015          ext_pillar:
198016            - consul: my_consul_config root=salt/%(minion_id)s
198017            - consul: my_consul_config root=salt/%(role)s
198018            - consul: my_consul_config root=salt/%(environment)s
198019
198020       Minion-specific  values may override shared values when the minion-spe‐
198021       cific root appears after the shared root:
198022
198023          ext_pillar:
198024            - consul: my_consul_config root=salt-shared
198025            - consul: my_other_consul_config root=salt-private/%(minion_id)s
198026
198027       If using the role or environment grain in the consul key path, be  sure
198028       to define it using /etc/salt/grains, or similar:
198029
198030          role: my-minion-role
198031          environment: dev
198032
198033       It's  possible  to lock down where the pillar values are shared through
198034       minion targeting. Note that double quotes "  are  required  around  the
198035       target  value and cannot be used inside the matching statement. See the
198036       section on Compound Matchers for more examples.
198037
198038          ext_pillar:
198039            - consul: my_consul_config root=salt target="L@salt.example.com and G@osarch:x86_64"
198040
198041       The data from Consul can be merged into a nested key in Pillar.
198042
198043          ext_pillar:
198044            - consul: my_consul_config pillar_root=consul_data
198045
198046       By default, keys containing YAML data will be deserialized before being
198047       merged   into  Pillar.   This  behavior  can  be  disabled  by  setting
198048       expand_keys to false.
198049
198050          ext_pillar:
198051            - consul: my_consul_config expand_keys=false
198052
198053       salt.pillar.consul_pillar.consul_fetch(client, path)
198054              Query consul for all keys/values within base path
198055
198056       salt.pillar.consul_pillar.ext_pillar(minion_id, pillar, conf)
198057              Check consul for all data
198058
198059       salt.pillar.consul_pillar.fetch_tree(client, path, expand_keys)
198060              Grab data from consul, trim base path and remove any keys  which
198061              are folders. Take the remaining data and send it to be formatted
198062              in such a way as to be used as pillar data.
198063
198064       salt.pillar.consul_pillar.get_conn(opts, profile)
198065              Return a client object for accessing consul
198066
198067       salt.pillar.consul_pillar.pillar_format(ret, keys, value, expand_keys)
198068              Perform data formatting to be used as pillar data and  merge  it
198069              with the current pillar data
198070
198071   salt.pillar.csvpillar module
198072       Store key/value pairs in a CSV file
198073
198074       New in version 2016.11.0.
198075
198076
198077       Example configuration:
198078
198079          ext_pillar:
198080            - csv: /path/to/file.csv
198081
198082          # or
198083
198084          ext_pillar:
198085            - csv:
198086                path: /path/to/file.csv
198087                namespace: 'subkey'
198088                fieldnames:
198089                - col1
198090                - col2
198091                - col2
198092
198093       The  first  column must be minion IDs and the first row must be dictio‐
198094       nary keys.  E.g.:
198095
198096                               ┌───────┬──────┬───────┐
198097                               │id     │ role │ env   │
198098                               ├───────┼──────┼───────┤
198099                               │jerry  │ web  │ prod  │
198100                               ├───────┼──────┼───────┤
198101                               │stuart │ web  │ stage │
198102                               ├───────┼──────┼───────┤
198103                               │dave   │ web  │ qa    │
198104                               ├───────┼──────┼───────┤
198105                               │phil   │ db   │ prod  │
198106                               ├───────┼──────┼───────┤
198107                               │kevin  │ db   │ stage │
198108                               ├───────┼──────┼───────┤
198109                               │mike   │ db   │ qa    │
198110                               └───────┴──────┴───────┘
198111
198112       Will produce the following Pillar values for a minion named "jerry":
198113
198114          {
198115              'role': 'web',
198116              'env': 'prod',
198117          }
198118
198119       salt.pillar.csvpillar.ext_pillar(mid, pillar, path, idkey=u'id', names‐
198120       pace=None,       fieldnames=None,      restkey=None,      restval=None,
198121       dialect=u'excel')
198122              Read a CSV into Pillar
198123
198124              Parameters
198125
198126                     · path (str) -- Absolute path to a CSV file.
198127
198128                     · idkey (str) -- (Optional) The  column  name  of  minion
198129                       IDs.
198130
198131                     · namespace (str) -- (Optional) A pillar key to namespace
198132                       the values under.
198133
198134                     · fieldnames (list) -- (Optional) if the first row of the
198135                       CSV  is  not  column  names  they may be specified here
198136                       instead.
198137
198138   salt.pillar.digicert module
198139       Digicert Pillar Certificates
198140
198141       This module will only return pillar data if the digicert runner  module
198142       has already been used to create certificates.
198143
198144       To  configure  this module, set digicert to True in the ext_pillar sec‐
198145       tion of your master configuration file:
198146
198147          ext_pillar:
198148            - digicert: True
198149
198150       salt.pillar.digicert.ext_pillar(minion_id, pillar, conf)
198151              Return an existing set of certificates
198152
198153   salt.pillar.django_orm
198154       Generate Pillar data from Django models through the Django ORM
198155
198156       maintainer
198157              Micah Hausler <micah.hausler@gmail.com>
198158
198159       maturity
198160              new
198161
198162   Configuring the django_orm ext_pillar
198163       To use this module, your Django project must  be  on  the  salt  master
198164       server with database access. This assumes you are using virtualenv with
198165       all the project's requirements installed.
198166
198167          ext_pillar:
198168            - django_orm:
198169                pillar_name: my_application
198170                project_path: /path/to/project/
198171                settings_module: my_application.settings
198172                env_file: /path/to/env/file.sh
198173                # Optional: If your project is not using the system python,
198174                # add your virtualenv path below.
198175                env: /path/to/virtualenv/
198176
198177                django_app:
198178
198179                  # Required: the app that is included in INSTALLED_APPS
198180                  my_application.clients:
198181
198182                    # Required: the model name
198183                    Client:
198184
198185                      # Required: model field to use as the key in the rendered
198186                      # Pillar. Must be unique; must also be included in the
198187                      # ``fields`` list below.
198188                      name: shortname
198189
198190                      # Optional:
198191                      # See Django's QuerySet documentation for how to use .filter()
198192                      filter:  {'kw': 'args'}
198193
198194                      # Required: a list of field names
198195                      # List items will be used as arguments to the .values() method.
198196                      # See Django's QuerySet documentation for how to use .values()
198197                      fields:
198198                        - field_1
198199                        - field_2
198200
198201       This would return pillar data that would look like
198202
198203          my_application:
198204            my_application.clients:
198205              Client:
198206                client_1:
198207                  field_1: data_from_field_1
198208                  field_2: data_from_field_2
198209                client_2:
198210                  field_1: data_from_field_1
198211                  field_2: data_from_field_2
198212
198213       As another example, data from multiple database tables can  be  fetched
198214       using Django's regular lookup syntax. Note, using ManyToManyFields will
198215       not currently work since the return from values() changes  if  a  Many‐
198216       ToMany is present.
198217
198218          ext_pillar:
198219            - django_orm:
198220                pillar_name: djangotutorial
198221                project_path: /path/to/mysite
198222                settings_module: mysite.settings
198223
198224                django_app:
198225                  mysite.polls:
198226                    Choices:
198227                      name: poll__question
198228                      fields:
198229                        - poll__question
198230                        - poll__id
198231                        - choice_text
198232                        - votes
198233
198234   Module Documentation
198235       salt.pillar.django_orm.ext_pillar(minion_id,    pillar,    pillar_name,
198236       project_path,  settings_module,  django_app,  env=None,  env_file=None,
198237       *args, **kwargs)
198238              Connect  to a Django database through the ORM and retrieve model
198239              fields
198240
198241              Parameters
198242
198243                     · pillar_name (str) -- The  name  of  the  pillar  to  be
198244                       returned
198245
198246                     · project_path  (str)  --  The  full  path to your Django
198247                       project (the directory manage.py is in)
198248
198249                     · settings_module (str) -- The settings module  for  your
198250                       project. This can be found in your manage.py file
198251
198252                     · django_app  (str) -- A dictionary containing your apps,
198253                       models, and fields
198254
198255                     · env (str) -- The full path to the virtualenv  for  your
198256                       Django project
198257
198258                     · env_file  (str)  --  An optional bash file that sets up
198259                       your environment. The file is run in a  subprocess  and
198260                       the changed variables are then added
198261
198262   salt.pillar.ec2_pillar
198263       Retrieve EC2 instance data for minions for ec2_tags and ec2_tags_list
198264
198265       The  minion id must be the AWS instance-id or value in 'tag_match_key'.
198266       For example set  'tag_match_key'  to  'Name',  to  have  the  minion-id
198267       matched  against  the tag 'Name'. The tag contents must be unique.  The
198268       value of tag_match_value can be 'uqdn' or 'asis'. if 'uqdn' strips  any
198269       domain before comparison.
198270
198271       The  option  use_grain  can  be set to True.  This allows the use of an
198272       instance-id grain instead of the minion-id.  Since this is a  potential
198273       security  risk,  the configuration can be further expanded to include a
198274       list of minions that are trusted to only allow the alternate id of  the
198275       instances to specific hosts.  There is no glob matching at this time.
198276
198277       The  optional  'tag_list_key'  indicates  which keys should be added to
198278       'ec2_tags_list' and be split by tag_list_sep (default ;). If a tag  key
198279       is  included  in  'tag_list_key'  it is removed from ec2_tags. If a tag
198280       does not exist it is still included as an empty list.
198281          Note: restart the salt-master for changes to take effect.
198282
198283          ext_pillar:
198284            - ec2_pillar:
198285                tag_match_key: 'Name'
198286                tag_match_value: 'asis'
198287                tag_list_key:
198288                  - Role
198289                tag_list_sep: ';'
198290                use_grain: True
198291                minion_ids:
198292                  - trusted-minion-1
198293                  - trusted-minion-2
198294                  - trusted-minion-3
198295
198296       This is a very simple pillar that simply retrieves  the  instance  data
198297       from  AWS.   Currently the only portion implemented are EC2 tags, which
198298       returns a list of key/value pairs for all of the EC2 tags  assigned  to
198299       the instance.
198300
198301       salt.pillar.ec2_pillar.ext_pillar(minion_id,  pillar,  use_grain=False,
198302       minion_ids=None,      tag_match_key=None,      tag_match_value=u'asis',
198303       tag_list_key=None, tag_list_sep=u';')
198304              Execute a command and read the output as YAML
198305
198306   salt.pillar.etcd_pillar
198307       Use etcd data as a Pillar source
198308
198309       New in version 2014.7.0.
198310
198311
198312       depends
198313
198314              · python-etcd
198315
198316       In order to use an etcd server, a profile must be created in the master
198317       configuration file:
198318
198319          my_etcd_config:
198320            etcd.host: 127.0.0.1
198321            etcd.port: 4001
198322
198323       After the profile is created, configure the external pillar  system  to
198324       use it.  Optionally, a root may be specified.
198325
198326          ext_pillar:
198327            - etcd: my_etcd_config
198328
198329          ext_pillar:
198330            - etcd: my_etcd_config root=/salt
198331
198332       Using  these  configuration profiles, multiple etcd sources may also be
198333       used:
198334
198335          ext_pillar:
198336            - etcd: my_etcd_config
198337            - etcd: my_other_etcd_config
198338
198339       The minion_id may be used in the root path  to  expose  minion-specific
198340       information stored in etcd.
198341
198342          ext_pillar:
198343            - etcd: my_etcd_config root=/salt/%(minion_id)s
198344
198345       Minion-specific  values may override shared values when the minion-spe‐
198346       cific root appears after the shared root:
198347
198348          ext_pillar:
198349            - etcd: my_etcd_config root=/salt-shared
198350            - etcd: my_other_etcd_config root=/salt-private/%(minion_id)s
198351
198352       Using the configuration above, the following commands could be used  to
198353       share a key with all minions but override its value for a specific min‐
198354       ion:
198355
198356          etcdctl set /salt-shared/mykey my_value
198357          etcdctl set /salt-private/special_minion_id/mykey my_other_value
198358
198359       salt.pillar.etcd_pillar.ext_pillar(minion_id, pillar, conf)
198360              Check etcd for all data
198361
198362   salt.pillar.file_tree
198363       The file_tree external pillar allows values from all files in a  direc‐
198364       tory tree to be imported as Pillar data.
198365
198366       NOTE:
198367          This  is  an  external  pillar  and is subject to the rules and con‐
198368          straints governing external pillars.
198369
198370       New in version 2015.5.0.
198371
198372
198373       In this pillar, data is organized by  either  Minion  ID  or  Nodegroup
198374       name.   To  setup  pillar  data  for  a  specific  Minion,  place it in
198375       <root_dir>/hosts/<minion_id>.  To setup pillar data for an entire Node‐
198376       group,    place    it   in   <root_dir>/nodegroups/<node_group>   where
198377       <node_group> is the Nodegroup's name.
198378
198379   Example file_tree Pillar
198380   Master Configuration
198381          ext_pillar:
198382            - file_tree:
198383                root_dir: /srv/ext_pillar
198384                follow_dir_links: False
198385                keep_newline: True
198386
198387       The root_dir parameter is required and points to  the  directory  where
198388       files  for  each  host  are  stored.  The follow_dir_links parameter is
198389       optional and defaults to False. If follow_dir_links  is  set  to  True,
198390       this external pillar will follow symbolic links to other directories.
198391
198392       WARNING:
198393          Be careful when using follow_dir_links, as a recursive symlink chain
198394          will result in unexpected results.
198395
198396       Changed in version 2018.3.0: If root_dir is a relative path, it will be
198397       treated as relative to the pillar_roots of the environment specified by
198398       pillarenv. If an environment specifies multiple roots, this module will
198399       search  for  files  relative  to  all  of  them,  in order, merging the
198400       results.
198401
198402
198403       If keep_newline is set to True, then the pillar values for files ending
198404       in  newlines  will keep that newline. The default behavior is to remove
198405       the end-of-file newline. keep_newline should be turned on if the pillar
198406       data is intended to be used to deploy a file using contents_pillar with
198407       a file.managed state.
198408
198409       Changed in version 2015.8.4: The raw_data parameter has been renamed to
198410       keep_newline.  In  earlier  releases, raw_data must be used. Also, this
198411       parameter can now be a list of globs, allowing for more  granular  con‐
198412       trol over which pillar values keep their end-of-file newline. The globs
198413       match paths relative to the directories named for minion IDs and  node‐
198414       groups  underneath  the  root_dir (see the layout examples in the below
198415       sections).
198416
198417          ext_pillar:
198418            - file_tree:
198419                root_dir: /path/to/root/directory
198420                keep_newline:
198421                  - files/testdir/*
198422
198423
198424       NOTE:
198425          In earlier releases,  this  documentation  incorrectly  stated  that
198426          binary  files  would not affected by the keep_newline configuration.
198427          However, this module does not actually  distinguish  between  binary
198428          and text files.
198429
198430       Changed  in  version 2017.7.0: Templating/rendering has been added. You
198431       can now specify a default render pipeline and a black- and whitelist of
198432       (dis)allowed renderers.
198433
198434       template must be set to True for templating to happen.
198435
198436          ext_pillar:
198437            - file_tree:
198438              root_dir: /path/to/root/directory
198439              render_default: jinja|yaml
198440              renderer_blacklist:
198441                - gpg
198442              renderer_whitelist:
198443                - jinja
198444                - yaml
198445              template: True
198446
198447
198448   Assigning Pillar Data to Individual Hosts
198449       To  configure  pillar  data  for  each  host, this external pillar will
198450       recursively iterate over root_dir/hosts/id (where id is a  minion  ID),
198451       and  compile pillar data with each subdirectory as a dictionary key and
198452       each file as a value.
198453
198454       For example, the following root_dir tree:
198455
198456          ./hosts/
198457          ./hosts/test-host/
198458          ./hosts/test-host/files/
198459          ./hosts/test-host/files/testdir/
198460          ./hosts/test-host/files/testdir/file1.txt
198461          ./hosts/test-host/files/testdir/file2.txt
198462          ./hosts/test-host/files/another-testdir/
198463          ./hosts/test-host/files/another-testdir/symlink-to-file1.txt
198464
198465       will result in the following pillar tree for minion with ID test-host:
198466
198467          test-host:
198468              ----------
198469              apache:
198470                  ----------
198471                  config.d:
198472                      ----------
198473                      00_important.conf:
198474                          <important_config important_setting="yes" />
198475                      20_bob_extra.conf:
198476                          <bob_specific_cfg has_freeze_ray="yes" />
198477              corporate_app:
198478                  ----------
198479                  settings:
198480                      ----------
198481                      common_settings:
198482                          // This is the main settings file for the corporate
198483                          // internal web app
198484                          main_setting: probably
198485                      bob_settings:
198486                          role: bob
198487
198488       NOTE:
198489          The leaf data in the example shown is the  contents  of  the  pillar
198490          files.
198491
198492       salt.pillar.file_tree.ext_pillar(minion_id, pillar, root_dir=None, fol‐
198493       low_dir_links=False,     debug=False,     keep_newline=False,      ren‐
198494       der_default=None,   renderer_blacklist=None,   renderer_whitelist=None,
198495       template=False)
198496              Compile pillar data from the given root_dir  specific  to  Node‐
198497              group names and Minion IDs.
198498
198499              If  a Minion's ID is not found at <root_dir>/host/<minion_id> or
198500              if  it  is   not   included   in   any   Nodegroups   named   at
198501              <root_dir>/nodegroups/<node_group>,  no  pillar data provided by
198502              this pillar module will be available for that Minion.
198503
198504              Changed  in  version  2017.7.0:  Templating/rendering  has  been
198505              added.  You  can  now  specify  a  default render pipeline and a
198506              black- and whitelist of (dis)allowed renderers.
198507
198508              template must be set to True for templating to happen.
198509
198510                 ext_pillar:
198511                   - file_tree:
198512                     root_dir: /path/to/root/directory
198513                     render_default: jinja|yaml
198514                     renderer_blacklist:
198515                       - gpg
198516                     renderer_whitelist:
198517                       - jinja
198518                       - yaml
198519                     template: True
198520
198521
198522              Parameters
198523
198524                     · minion_id -- The ID of the Minion whose pillar data  is
198525                       to be collected
198526
198527                     · pillar -- Unused by the file_tree pillar module
198528
198529                     · root_dir --
198530
198531                       Filesystem  directory  used as the root for pillar data
198532                       (e.g.  /srv/ext_pillar)
198533
198534                       Changed in version 2018.3.0: If root_dir is a  relative
198535                       path,  it  will  be  treated  as  relative  to the pil‐
198536                       lar_roots of the environment specified by pillarenv. If
198537                       an  environment  specifies  multiple roots, this module
198538                       will search for files  relative  to  all  of  them,  in
198539                       order, merging the results.
198540
198541
198542
198543                     · follow_dir_links --
198544
198545                       Follow  symbolic  links to directories while collecting
198546                       pillar files.  Defaults to False.
198547
198548                       WARNING:
198549                          Care should be exercised when enabling  this  option
198550                          as  it  will  follow  links  that  point  outside of
198551                          root_dir.
198552
198553                       WARNING:
198554                          Symbolic links that lead to infinite  recursion  are
198555                          not filtered.
198556
198557
198558                     · debug  --  Enable debug information at log level debug.
198559                       Defaults to False.  This option may be useful  to  help
198560                       debug  errors when setting up the file_tree pillar mod‐
198561                       ule.
198562
198563                     · keep_newline --
198564
198565                       Preserve the end-of-file newline in files.  Defaults to
198566                       False.   This  option may either be a boolean or a list
198567                       of file globs (as defined by the Python  fnmatch  pack‐
198568                       age) for which end-of-file newlines are to be kept.
198569
198570                       keep_newline  should be turned on if the pillar data is
198571                       intended to  be  used  to  deploy  a  file  using  con‐
198572                       tents_pillar with a file.managed state.
198573
198574                       Changed in version 2015.8.4: The raw_data parameter has
198575                       been renamed  to  keep_newline.  In  earlier  releases,
198576                       raw_data  must be used. Also, this parameter can now be
198577                       a list of globs, allowing  for  more  granular  control
198578                       over  which  pillar  values keep their end-of-file new‐
198579                       line. The globs match paths relative to the directories
198580                       named  for  Minion  IDs and Nodegroup namess underneath
198581                       the root_dir.
198582
198583                          ext_pillar:
198584                            - file_tree:
198585                                root_dir: /srv/ext_pillar
198586                                keep_newline:
198587                                  - apache/config.d/*
198588                                  - corporate_app/settings/*
198589
198590
198591                       NOTE:
198592                          In earlier releases, this documentation  incorrectly
198593                          stated  that  binary files would not affected by the
198594                          keep_newline.  However, this module does  not  actu‐
198595                          ally distinguish between binary and text files.
198596
198597
198598                     · render_default --
198599
198600                       Override   Salt's   default  global  renderer  for  the
198601                       file_tree pillar.
198602
198603                          render_default: jinja
198604
198605
198606                     · renderer_blacklist --
198607
198608                       Disallow renderers for pillar files.
198609
198610                          renderer_blacklist:
198611                            - json
198612
198613
198614                     · renderer_whitelist --
198615
198616                       Allow renderers for pillar files.
198617
198618                          renderer_whitelist:
198619                            - yaml
198620                            - jinja
198621
198622
198623                     · template  --  Enable  templating   of   pillar   files.
198624                       Defaults to False.
198625
198626   salt.pillar.foreman
198627       A  module to pull data from Foreman via its API into the Pillar dictio‐
198628       nary
198629
198630   Configuring the Foreman ext_pillar
198631       Set the following Salt config  to  setup  Foreman  as  external  pillar
198632       source:
198633
198634          ext_pillar:
198635            - foreman:
198636                key: foreman # Nest results within this key
198637                only: ['hostgroup_name', 'parameters'] # Add only these keys to pillar
198638
198639          foreman.url: https://example.com/foreman_api
198640          foreman.user: username # default is admin
198641          foreman.password: password # default is changeme
198642
198643       The following options are optional:
198644
198645          foreman.api: apiversion # default is 2 (1 is not supported yet)
198646          foreman.verifyssl: False # default is True
198647          foreman.certfile: /etc/ssl/certs/mycert.pem # default is None
198648          foreman.keyfile: /etc/ssl/private/mykey.pem # default is None
198649          foreman.cafile: /etc/ssl/certs/mycert.ca.pem # default is None
198650          foreman.lookup_parameters: True # default is True
198651
198652       An  alternative  would  be  to use the Foreman modules integrating Salt
198653       features in the Smart Proxy and the webinterface.
198654
198655       Further information can be found on GitHub.
198656
198657   Module Documentation
198658       salt.pillar.foreman.ext_pillar(minion_id, pillar, key=None, only=())
198659              Read pillar data from Foreman via its API.
198660
198661   salt.pillar.git_pillar
198662   Use a git repository as a Pillar source
198663       This external pillar allows for a Pillar top file and Pillar SLS  files
198664       to be sourced from a git repository.
198665
198666       However,  since  git_pillar  does  not  have  an equivalent to the pil‐
198667       lar_roots parameter, configuration is slightly different. A Pillar  top
198668       file is required to be in the git repository and must still contain the
198669       relevant environment, like so:
198670
198671          base:
198672            '*':
198673              - foo
198674
198675       The branch/tag which maps to that environment must  then  be  specified
198676       along with the repo's URL. Configuration details can be found below.
198677
198678       IMPORTANT:
198679          Each branch/tag used for git_pillar must have its own top file. This
198680          is different from how the top file works  when  configuring  States.
198681          The  reason for this is that each git_pillar branch/tag is processed
198682          separately from the rest. Therefore, if the qa branch is to be  used
198683          for  git_pillar, it would need to have its own top file, with the qa
198684          environment defined within it, like this:
198685
198686              qa:
198687                'dev-*':
198688                  - bar
198689
198690          Additionally, while git_pillar allows for the branch/tag to be over‐
198691          ridden (see here), keep in mind that the top file must reference the
198692          actual environment name. It is common practice to make the  environ‐
198693          ment  in  a  git_pillar top file match the branch/tag name, but when
198694          remapping,  the  environment  of  course  no  longer   matches   the
198695          branch/tag, and the top file needs to be adjusted accordingly.  When
198696          expected Pillar values configured in git_pillar are missing, this is
198697          a  common misconfiguration that may be to blame, and is a good first
198698          step in troubleshooting.
198699
198700   Configuring git_pillar for Salt
198701       Beginning with Salt version 2015.8.0, pygit2 is now supported in  addi‐
198702       tion  to  GitPython.  The requirements for GitPython and pygit2 are the
198703       same as for GitFS, as described here.
198704
198705       IMPORTANT:
198706          git_pillar has its own set of global configuration parameters. While
198707          it  may seem intuitive to use the global gitfs configuration parame‐
198708          ters (gitfs_base, etc.) to manage git_pillar, this  will  not  work.
198709          The  main  difference for this is the fact that the different compo‐
198710          nents which use Salt's git backend code do not all function  identi‐
198711          cally.  For instance, in git_pillar it is necessary to specify which
198712          branch/tag to be used for git_pillar remotes. This  is  the  reverse
198713          behavior from gitfs, where branches/tags make up your environments.
198714
198715          See  here  for documentation on the git_pillar configuration options
198716          and their usage.
198717
198718       Here is an example git_pillar configuration:
198719
198720          ext_pillar:
198721            - git:
198722              # Use 'prod' instead of the branch name 'production' as the environment
198723              - production https://gitserver/git-pillar.git:
198724                - env: prod
198725              # Use 'dev' instead of the branch name 'develop' as the environment
198726              - develop https://gitserver/git-pillar.git:
198727                - env: dev
198728              # No per-remote config parameters (and no trailing colon), 'qa' will
198729              # be used as the environment
198730              - qa https://gitserver/git-pillar.git
198731              # SSH key authentication
198732              - master git@other-git-server:pillardata-ssh.git:
198733                # Pillar SLS files will be read from the 'pillar' subdirectory in
198734                # this repository
198735                - root: pillar
198736                - privkey: /path/to/key
198737                - pubkey: /path/to/key.pub
198738                - passphrase: CorrectHorseBatteryStaple
198739              # HTTPS authentication
198740              - master https://other-git-server/pillardata-https.git:
198741                - user: git
198742                - password: CorrectHorseBatteryStaple
198743
198744       The main difference  between  this  and  the  old  way  of  configuring
198745       git_pillar  is  that  multiple  remotes can be configured under one git
198746       section under ext_pillar. More than one git section can be used, but it
198747       is not necessary. Remotes will be evaluated sequentially.
198748
198749       Per-remote  configuration  parameters are supported (similar to gitfs),
198750       and global versions of the git_pillar configuration parameters can also
198751       be set.
198752
198753       To  remap  a  specific branch to a specific Pillar environment, use the
198754       env per-remote parameter:
198755
198756          ext_pillar:
198757            - git:
198758              - production https://gitserver/git-pillar.git:
198759                - env: prod
198760
198761       If __env__ is specified as the branch name, then git_pillar will decide
198762       which branch to use based on the following criteria:
198763
198764       · If  the  minion  has  a pillarenv configured, it will use that pillar
198765         environment. (2016.11.2 and later)
198766
198767       · Otherwise, if the minion has an environment configured, it  will  use
198768         that environment.
198769
198770       · Otherwise, the master's git_pillar_base will be used.
198771
198772       NOTE:
198773          The use of environment to choose the pillar environment dates from a
198774          time before the pillarenv parameter was added.  In a future release,
198775          it will be ignored and either the minion's pillarenv or the master's
198776          git_pillar_base will be used.
198777
198778       Here's an example of using __env__ as the git_pillar environment:
198779
198780          ext_pillar:
198781            - git:
198782              - __env__ https://gitserver/git-pillar.git:
198783                - root: pillar
198784
198785       The corresponding Pillar top file would look like this:
198786
198787          "{{saltenv}}":
198788            '*':
198789              - bar
198790
198791       With the addition of pygit2 support, git_pillar can now  interact  with
198792       authenticated remotes. Authentication works just like in gitfs (as out‐
198793       lined in the Git Fileserver Backend Walkthrough), only with the  global
198794       authenication parameter names prefixed with git_pillar instead of gitfs
198795       (e.g.  git_pillar_pubkey,  git_pillar_privkey,   git_pillar_passphrase,
198796       etc.).
198797
198798       NOTE:
198799          The  name parameter can be used to further differentiate between two
198800          remotes with the same URL and branch. When using  two  remotes  with
198801          the same URL, the name option is required.
198802
198803   How Multiple Remotes Are Handled
198804       As  noted  above,  multiple  remotes  can  be  included in the same git
198805       ext_pillar configuration. Consider the following:
198806
198807          my_etcd_config:
198808            etcd.host: 127.0.0.1
198809            etcd.port: 4001
198810
198811          ext_pillar:
198812            - etcd: my_etcd_config
198813            - git:
198814              - master https://mydomain.tld/foo.git:
198815                - root: pillar
198816              - master https://mydomain.tld/bar.git
198817              - master https://mydomain.tld/baz.git
198818              - dev https://mydomain.tld/qux.git
198819            - git:
198820              - master https://mydomain.tld/abc.git
198821              - dev https://mydomain.tld/123.git
198822
198823       To understand how pillar data from these repos will be  compiled,  it's
198824       important  to  know  how  Salt  will process them. The following points
198825       should be kept in mind:
198826
198827       1. Each ext_pillar is called separately from the  others.  So,  in  the
198828          above example, the etcd ext_pillar will be evaluated first, with the
198829          first group of git_pillar remotes evaluated next  (and  merged  into
198830          the  etcd  pillar  data).  Lastly,  the  second  group of git_pillar
198831          remotes will be evaluated, and then merged into the ext_pillar  data
198832          evaluated before it.
198833
198834       2. Within  a  single  group  of git_pillar remotes, each remote will be
198835          evaluated in order, with results merged together as each  remote  is
198836          evaluated.
198837
198838          NOTE:
198839             Prior  to  the  2017.7.0 release, remotes would be evaluated in a
198840             non-deterministic order.
198841
198842       3. By default, when a repo is evaluated, other remotes' which share its
198843          pillar  environment  will  have  their  files  made available to the
198844          remote being processed.
198845
198846       The first point should be straightforward enough, but  the  second  and
198847       third could use some additional clarification.
198848
198849       First, point #2. In the first group of git_pillar remotes, the top file
198850       and pillar SLS files in the foo remote will be evaluated first. The bar
198851       remote  will be evaluated next, and its results will be merged into the
198852       pillar data compiled when the foo remote was evaluated. As  the  subse‐
198853       quent  remotes  are  evaluated,  their  data will be merged in the same
198854       fashion.
198855
198856       But wait, don't these repositories belong to more than one pillar envi‐
198857       ronments?  Well, yes. The default method of generating pillar data com‐
198858       piles pillar data from all environments. This behavior can be  overrid‐
198859       den  using  a pillarenv.  Setting a pillarenv in the minion config file
198860       will make that minion tell the master to ignore any  pillar  data  from
198861       environments  which don't match that pillarenv. A pillarenv can also be
198862       specified for a given minion or set of minions when running states,  by
198863       using he pillarenv argument. The CLI pillarenv will override one set in
198864       the minion config file. So, assuming that a pillarenv of base  was  set
198865       for  a  minion, it would not get any of the pillar variables configured
198866       in the qux remote, since that remote is assigned to  the  dev  environ‐
198867       ment.  The  only  way to get its pillar data would be to specify a pil‐
198868       larenv of dev, which would mean that it would  then  ignore  any  items
198869       from the base pillarenv. A more detailed explanation of pillar environ‐
198870       ments can be found here.
198871
198872       Moving on to point #3, and looking at the example ext_pillar configura‐
198873       tion,  as  the foo remote is evaluated, it will also have access to the
198874       files from the bar and baz remotes, since all three are assigned to the
198875       base  pillar  environment.  So,  if  an  SLS file referenced by the foo
198876       remotes's top file does not  exist  in  the  foo  remote,  it  will  be
198877       searched  for  in  the  bar remote, followed by the baz remote. When it
198878       comes time to evaluate the bar remote, SLS files referenced by the  bar
198879       remote's  top file will first be looked for in the bar remote, followed
198880       by foo, and baz, and when the baz remote is processed, SLS  files  will
198881       be looked for in baz, followed by foo and bar. This "failover" logic is
198882       called a directory overlay, and it  is  also  used  by  file_roots  and
198883       :conf_minion`pillar_roots`. The ordering of which remote is checked for
198884       SLS files is determined by the order they are listed.  First the remote
198885       being  processed  is checked, then the others that share the same envi‐
198886       ronment are checked. However, before the 2017.7.0 release, since evalu‐
198887       ation  was unordered, the remote being processed would be checked, fol‐
198888       lowed in no specific order by the other  repos  which  share  the  same
198889       environment.
198890
198891       Beginning  with  the  2017.7.0  release,  this  behavior  of git_pillar
198892       remotes having access to files in other  repos  which  share  the  same
198893       environment can be disabled by setting git_pillar_includes to False. If
198894       this is done, then all git_pillar remotes  will  only  have  access  to
198895       their  own SLS files.  Another way of ensuring that a git_pillar remote
198896       will not have access to SLS files from other git_pillar  remotes  which
198897       share the same pillar environment is to put them in a separate git sec‐
198898       tion under ext_pillar. Look again at the example  configuration  above.
198899       In  the  second  group  of git_pillar remotes, the abc remote would not
198900       have access to the SLS files from the foo, bar, and  baz  remotes,  and
198901       vice-versa.
198902
198903   Mountpoints
198904       New in version 2017.7.0.
198905
198906
198907       Assume the following pillar top file:
198908
198909          base:
198910            'web*':
198911              - common
198912              - web.server.nginx
198913              - web.server.appdata
198914
198915       Now,  assume  that you would like to configure the web.server.nginx and
198916       web.server.appdata SLS files in separate  repos.  This  could  be  done
198917       using  the  following  ext_pillar configuration (assuming that git_pil‐
198918       lar_includes has not been set to False):
198919
198920          ext_pillar:
198921            - git:
198922              - master https://mydomain.tld/pillar-common.git
198923              - master https://mydomain.tld/pillar-nginx.git
198924              - master https://mydomain.tld/pillar-appdata.git
198925
198926       However, in order to get the files in the second and  third  git_pillar
198927       remotes to work, you would need to first create the directory structure
198928       underneath it (i.e. place them underneath web/server/  in  the  reposi‐
198929       tory).  This  also makes it tedious to reorganize the configuration, as
198930       changing web.server.nginx to web.nginx in the top  file  would  require
198931       you  to  also  move  the  SLS  files in the pillar-nginx up a directory
198932       level.
198933
198934       For these reasons, much like gitfs, git_pillar now supports  a  "mount‐
198935       point"  feature.  Using the following ext_pillar configuration, the SLS
198936       files in the second and third git_pillar remotes can be placed  in  the
198937       root of the git repository:
198938
198939          ext_pillar:
198940            - git:
198941              - master https://mydomain.tld/pillar-common.git
198942              - master https://mydomain.tld/pillar-nginx.git:
198943                - mountpoint: web/server/
198944              - master https://mydomain.tld/pillar-appdata.git:
198945                - mountpoint: web/server/
198946
198947       Now,  if  the  top  file  changed the SLS target from web.server.nginx,
198948       instead of reorganizing the git repository,  you  would  just  need  to
198949       adjust the mountpoint to web/ (and restart the salt-master daemon).
198950
198951       NOTE:
198952
198953          · Leading and trailing slashes on the mountpoints are optional.
198954
198955          · Use of the mountpoint feature requires that git_pillar_includes is
198956            not disabled.
198957
198958          · Content from mounted git_pillar repos can only be referenced by  a
198959            top file in the same pillar environment.
198960
198961          · Salt  versions  prior  to  2018.3.4 ignore the root parameter when
198962            mountpoint is set.
198963
198964   all_saltenvs
198965       New in version 2018.3.4.
198966
198967
198968       When __env__ is specified as the branch name,  all_saltenvs  per-remote
198969       configuration   parameter   overrides   the  logic  Salt  uses  to  map
198970       branches/tags to pillar environments (i.e. pillarenvs). This  allows  a
198971       single branch/tag to appear in all saltenvs. Example:
198972
198973          ext_pillar:
198974            - git:
198975              - __env__ https://mydomain.tld/top.git
198976                - all_saltenvs: master
198977              - __env__ https://mydomain.tld/pillar-nginx.git:
198978                - mountpoint: web/server/
198979              - __env__ https://mydomain.tld/pillar-appdata.git:
198980                - mountpoint: web/server/
198981
198982       salt.pillar.git_pillar.ext_pillar(minion_id, pillar, *repos)
198983              Checkout the ext_pillar sources and compile the resulting pillar
198984              SLS
198985
198986   salt.pillar.gpg module
198987       Decrypt pillar data through the builtin GPG renderer
198988
198989       In most cases, you'll want to make this the last external pillar  used.
198990       For  example,  to pair with the builtin stack pillar you could do some‐
198991       thing like this:
198992
198993          ext_pillar:
198994            - stack: /path/to/stack.cfg
198995            - gpg: {}
198996
198997       Set gpg_keydir in your config to adjust the homedir the renderer uses.
198998
198999       salt.pillar.gpg.ext_pillar(minion_id, pillar, *args, **kwargs)
199000
199001   salt.pillar.hg_pillar
199002       Use remote Mercurial repository as a Pillar source.
199003
199004       New in version 2015.8.0.
199005
199006
199007       The module depends on the hglib python module being available.  This is
199008       the same requirement as for hgfs_ so should not pose any extra hurdles.
199009
199010       This external Pillar source can be configured in the master config file
199011       as such:
199012
199013          ext_pillar:
199014            - hg: ssh://hg@example.co/user/repo
199015
199016       class salt.pillar.hg_pillar.Repo(repo_uri)
199017              Deal with remote hg (mercurial) repository for Pillar
199018
199019              close()
199020                     Cleanup mercurial command server
199021
199022              pull()
199023
199024              update(branch=u'default')
199025                     Ensure we are using the latest revision in the hg reposi‐
199026                     tory
199027
199028       salt.pillar.hg_pillar.ext_pillar(minion_id,        pillar,        repo,
199029       branch=u'default', root=None)
199030              Extract pillar from an hg repository
199031
199032       salt.pillar.hg_pillar.update(repo_uri)
199033              Execute an hg pull on all the repos
199034
199035   salt.pillar.hiera
199036       Use hiera data as a Pillar source
199037
199038       salt.pillar.hiera.ext_pillar(minion_id, pillar, conf)
199039              Execute hiera and return the data
199040
199041   salt.pillar.http_json module
199042       A module that adds data to the Pillar structure retrieved  by  an  http
199043       request
199044
199045   Configuring the HTTP_JSON ext_pillar
199046       Set  the  following  Salt  config to setup http json result as external
199047       pillar source:
199048
199049          ext_pillar:
199050            - http_json:
199051                url: http://example.com/api/minion_id
199052                ::TODO::
199053                username: username
199054                password: password
199055
199056       If the with_grains parameter is set, grain keys wrapped in can be  pro‐
199057       vided  (wrapped  in <> brackets) in the url in order to populate pillar
199058       data based on the grain value.
199059
199060          ext_pillar:
199061            - http_json:
199062                url: http://example.com/api/<nodename>
199063                with_grains: True
199064
199065       Changed in version 2018.3.0: If %s is present in the url,  it  will  be
199066       automatically replaced by the minion_id:
199067
199068          ext_pillar:
199069            - http_json:
199070                url: http://example.com/api/%s
199071
199072
199073   Module Documentation
199074       salt.pillar.http_json.ext_pillar(minion_id,         pillar,        url,
199075       with_grains=False)
199076              Read pillar data from HTTP response.
199077
199078              Parameters
199079
199080                     · url (str) -- Url to request.
199081
199082                     · with_grains (bool) -- Whether to substitute strings  in
199083                       the url with their grain values.
199084
199085              Returns
199086                     A dictionary of the pillar data to add.
199087
199088              Return type
199089                     dict
199090
199091   salt.pillar.http_yaml module
199092       A  module  that  adds data to the Pillar structure retrieved by an http
199093       request
199094
199095   Configuring the HTTP_YAML ext_pillar
199096       Set the following Salt config to setup an http endpoint as the external
199097       pillar source:
199098
199099          ext_pillar:
199100            - http_yaml:
199101                url: http://example.com/api/minion_id
199102                ::TODO::
199103                username: username
199104                password: password
199105
199106       If  the with_grains parameter is set, grain keys wrapped in can be pro‐
199107       vided (wrapped in <> brackets) in the url in order to  populate  pillar
199108       data based on the grain value.
199109
199110          ext_pillar:
199111            - http_yaml:
199112                url: http://example.com/api/<nodename>
199113                with_grains: True
199114
199115       Changed  in  version  2018.3.0: If %s is present in the url, it will be
199116       automatically replaced by the minion_id:
199117
199118          ext_pillar:
199119            - http_json:
199120                url: http://example.com/api/%s
199121
199122
199123   Module Documentation
199124       salt.pillar.http_yaml.ext_pillar(minion_id,        pillar,         url,
199125       with_grains=False)
199126              Read pillar data from HTTP response.
199127
199128              Parameters
199129
199130                     · url (str) -- Url to request.
199131
199132                     · with_grains  (bool) -- Whether to substitute strings in
199133                       the url with their grain values.
199134
199135              Returns
199136                     A dictionary of the pillar data to add.
199137
199138              Return type
199139                     dict
199140
199141   salt.pillar.libvirt
199142       Load up the libvirt keys into Pillar for a given minion  if  said  keys
199143       have been generated using the libvirt key runner
199144
199145       depends
199146              certtool
199147
199148       salt.pillar.libvirt.ext_pillar(minion_id, pillar, command)
199149              Read in the generated libvirt keys
199150
199151       salt.pillar.libvirt.gen_hyper_keys(minion_id,            country=u'US',
199152       state=u'Utah',  locality=u'Salt  Lake  City',   organization=u'Salted',
199153       expiration_days=u'365')
199154              Generate  the  keys to be used by libvirt hypervisors, this rou‐
199155              tine gens the keys and applies them to the pillar for the hyper‐
199156              visor minions
199157
199158   salt.pillar.makostack module
199159       Simple  and  flexible YAML ext_pillar which can read pillar from within
199160       pillar.
199161
199162       New in version 2016.3.0.
199163
199164
199165       This custom saltstack ext_pillar is a  direct  ripoff  of  the  'stack'
199166       ext_pillar, simply ported to use mako instead of jinja2 for templating.
199167
199168       It supports the following features:
199169
199170       · multiple  config  files that are mako templates with support for pil‐
199171         lar, __grains__, __salt__, __opts__ objects.
199172
199173       · a config file renders as an ordered list of files.  Unless  absolute,
199174         the paths of these files are relative to the current config file - if
199175         absolute, they will be treated literally.
199176
199177       · this list of files are read in order as mako templates  with  support
199178         for stack, pillar, __grains__, __salt__, __opts__ objects.
199179
199180       · all these rendered files are then parsed as yaml.
199181
199182       · then all yaml dicts are merged in order, with support for the follow‐
199183         ing.  merging strategies: merge-first, merge-last, remove, and  over‐
199184         write.
199185
199186       · stack  config  files  can be matched based on pillar, grains, or opts
199187         values, which make it possible  to  support  kind  of  self-contained
199188         environments.
199189
199190   Configuration in Salt
199191       Like  any  other external pillar, its configuration takes place through
199192       the ext_pillar key in the master config file.
199193
199194       However, you can configure MakoStack in 3 different ways:
199195
199196   Single config file
199197       This is the simplest option, you just need to set the path to your sin‐
199198       gle MakoStack config file like below:
199199
199200          ext_pillar:
199201            - makostack: /path/to/stack.cfg
199202
199203   List of config files
199204       You can also provide a list of config files:
199205
199206          ext_pillar:
199207            - makostack:
199208                - /path/to/stack1.cfg
199209                - /path/to/stack2.cfg
199210
199211   Select config files through grains|pillar|opts matching
199212       You  can  also  opt  for  a much more flexible configuration: MakoStack
199213       allows one to select the config files for the current minion  based  on
199214       matching values from either grains, or pillar, or opts objects.
199215
199216       Here  is  an  example  of  such  a configuration, which should speak by
199217       itself:
199218
199219          ext_pillar:
199220            - makostack:
199221                pillar:environment:
199222                  dev: /path/to/dev/stack.cfg
199223                  prod: /path/to/prod/stack.cfg
199224                grains:custom:grain:
199225                  value:
199226                    - /path/to/stack1.cfg
199227                    - /path/to/stack2.cfg
199228                opts:custom:opt:
199229                  value: /path/to/stack0.cfg
199230
199231   Grafting data from files to arbitrary namespaces
199232       An extended syntax for config files permits defining "graft points"  on
199233       a per-config-file basis.  As an example, if the file foo.cfg would pro‐
199234       duce the following:
199235
199236          foo:
199237            - bar
199238            - baz
199239
199240       and you specified the cfg file as /path/to/foo.cfg:yummy:fur, the  fol‐
199241       lowing would actually end up in pillar after all merging was complete:
199242
199243          yummy:
199244            fur:
199245              foo:
199246                - bar
199247                - baz
199248
199249   MakoStack configuration files
199250       The config files that are referenced in the above ext_pillar configura‐
199251       tion are mako templates which must render as a simple ordered  list  of
199252       yaml files that will then be merged to build pillar data.
199253
199254       Unless an absolute path name is specified, the path of these yaml files
199255       is assumed to be relative to the  directory  containing  the  MakoStack
199256       config  file.   If  a path begins with '/', however, it will be treated
199257       literally and can be anywhere on the filesystem.
199258
199259       The following variables are available in mako templating  of  makostack
199260       configuration files:
199261
199262       · pillar:  the  pillar  data (as passed by Salt to our ext_pillar func‐
199263         tion)
199264
199265       · minion_id: the minion id ;-)
199266
199267       · __opts__: a dictionary of mostly Salt configuration options
199268
199269       · __grains__: a dictionary of the grains of the minion making this pil‐
199270         lar call
199271
199272       · __salt__:  a dictionary of Salt module functions, useful so you don't
199273         have to duplicate functions that already exist  (note:  runs  on  the
199274         master)
199275
199276       So  you  can use all the power of mako to build your list of yaml files
199277       that will be merged in pillar data.
199278
199279       For example, you could have a MakoStack config file which looks like:
199280
199281          $ cat /path/to/stack/config.cfg
199282          core.yml
199283          osarchs/%{ __grains__['osarch'] }}.yml
199284          oscodenames/%{ __grains__['oscodename'] }.yml
199285          % for role in pillar.get('roles', []):
199286          roles/%{ role }.yml
199287          % endfor
199288          minions/%{ minion_id }.yml
199289
199290       And the whole directory structure could look like:
199291
199292          $ tree /path/to/stack/
199293          /path/to/stack/
199294          ├── config.cfg
199295          ├── core.yml
199296          ├── osarchs/
199297          │   ├── amd64.yml
199298          │   └── armhf.yml
199299          ├── oscodenames/
199300          │   ├── wheezy.yml
199301          │   └── jessie.yml
199302          ├── roles/
199303          │   ├── web.yml
199304          │   └── db.yml
199305          └── minions/
199306              ├── test-1-dev.yml
199307              └── test-2-dev.yml
199308
199309   Overall process
199310       In the above MakoStack configuration, given that test-1-dev  minion  is
199311       an  amd64  platform  running  Debian  Jessie, and which pillar roles is
199312       ["db"], the following yaml files would be merged in order:
199313
199314       · core.yml
199315
199316       · osarchs/amd64.yml
199317
199318       · oscodenames/jessie.yml
199319
199320       · roles/db.yml
199321
199322       · minions/test-1-dev.yml
199323
199324       Before merging, every files above will be  preprocessed  as  mako  tem‐
199325       plates.   The  following  variables are available in mako templating of
199326       yaml files:
199327
199328       · stack: the MakoStack pillar  data  object  that  has  currently  been
199329         merged (data from previous yaml files in MakoStack configuration)
199330
199331       · pillar:  the  pillar  data (as passed by Salt to our ext_pillar func‐
199332         tion)
199333
199334       · minion_id: the minion id ;-)
199335
199336       · __opts__: a dictionary of mostly Salt configuration options
199337
199338       · __grains__: a dictionary of the grains of the minion making this pil‐
199339         lar call
199340
199341       · __salt__:  a dictionary of Salt module functions, useful so you don't
199342         have to duplicate functions that already exist  (note:  runs  on  the
199343         master)
199344
199345       So  you  can  use  all the power of mako to build your pillar data, and
199346       even use other pillar values that has already been merged by  MakoStack
199347       (from previous yaml files in MakoStack configuration) through the stack
199348       variable.
199349
199350       Once a yaml file has been preprocessed by mako, we obtain a Python dict
199351       -  let's  call  it  yml_data - then, MakoStack will merge this yml_data
199352       dict in the main stack dict (which contains  already  merged  MakoStack
199353       pillar  data).   By  default,  MakoStack  will deeply merge yml_data in
199354       stack (similarly to the recurse  salt  pillar_source_merging_strategy),
199355       but 3 merging strategies are currently available for you to choose (see
199356       next section).
199357
199358       Once every yaml files have been processed, the stack dict will  contain
199359       your whole own pillar data, merged in order by MakoStack.  So MakoStack
199360       ext_pillar returns the stack dict, the contents  of  which  Salt  takes
199361       care  to  merge in with all of the other pillars and finally return the
199362       whole pillar to the minion.
199363
199364   Merging strategies
199365       The way the data from a new yaml_data dict is merged with the  existing
199366       stack  data  can  be controlled by specifying a merging strategy. Right
199367       now this strategy can either be merge-last (the default),  merge-first,
199368       remove, or overwrite.
199369
199370       Note  that  scalar  values  like  strings, integers, booleans, etc. are
199371       always evaluated using the overwrite strategy (other  strategies  don't
199372       make sense in that case).
199373
199374       The merging strategy can be set by including a dict in the form of:
199375
199376          __: <merging strategy>
199377
199378       as  the  first item of the dict or list.  This allows fine grained con‐
199379       trol over the merging process.
199380
199381   merge-last (default) strategy
199382       If the merge-last strategy is selected (the default), then  content  of
199383       dict  or list variables is merged recursively with previous definitions
199384       of this variable (similarly to  the  recurse  salt  pillar_source_merg‐
199385       ing_strategy).  This allows for extending previously defined data.
199386
199387   merge-first strategy
199388       If  the  merge-first  strategy is selected, then the content of dict or
199389       list variables are swapped between  the  yaml_data  and  stack  objects
199390       before being merged recursively with the merge-last previous strategy.
199391
199392   remove strategy
199393       If  the remove strategy is selected, then content of dict or list vari‐
199394       ables in stack are removed only if the corresponding item is present in
199395       the  yaml_data  dict.   This  allows for removing items from previously
199396       defined data.
199397
199398   overwrite strategy
199399       If the overwrite strategy is selected, then the content of dict or list
199400       variables in stack is overwritten by the content of yaml_data dict.  So
199401       this allows one to overwrite variables from previous definitions.
199402
199403   Merging examples
199404       Let's go through small examples that should  clarify  what's  going  on
199405       when a yaml_data dict is merged in the stack dict.
199406
199407       When you don't specify any strategy, the default merge-last strategy is
199408       selected:
199409
199410┌───────────────────────────┬─────────────────────────────┬─────────────────────────────┐
199411stack                      yaml_data                   stack (after merge)         │
199412├───────────────────────────┼─────────────────────────────┼─────────────────────────────┤
199413│                           │                             │                             │
199414│          users:           │           users:            │           users:            │
199415│            tom:           │             tom:            │             tom:            │
199416│              uid: 500     │               uid: 1000     │               uid: 1000     │
199417│              roles:       │               roles:        │               roles:        │
199418│                - sysadmin │                 - developer │                 - sysadmin  │
199419│            root:          │             mat:            │                 - developer │
199420│              uid: 0       │               uid: 1001     │             mat:            │
199421│                           │                             │               uid: 1001     │
199422│                           │                             │             root:           │
199423│                           │                             │               uid: 0        │
199424└───────────────────────────┴─────────────────────────────┴─────────────────────────────┘
199425
199426       Then you can select a custom merging strategy using the  __  key  in  a
199427       dict:
199428
199429┌───────────────────────────┬─────────────────────────────┬─────────────────────────────┐
199430stack                      yaml_data                   stack (after merge)         │
199431├───────────────────────────┼─────────────────────────────┼─────────────────────────────┤
199432│                           │                             │                             │
199433│          users:           │           users:            │           users:            │
199434│            tom:           │             __: merge-last  │             tom:            │
199435│              uid: 500     │             tom:            │               uid: 1000     │
199436│              roles:       │               uid: 1000     │               roles:        │
199437│                - sysadmin │               roles:        │                 - sysadmin  │
199438│            root:          │                 - developer │                 - developer │
199439│              uid: 0       │             mat:            │             mat:            │
199440│                           │               uid: 1001     │               uid: 1001     │
199441│                           │                             │             root:           │
199442│                           │                             │               uid: 0        │
199443├───────────────────────────┼─────────────────────────────┼─────────────────────────────┤
199444│                           │                             │                             │
199445│          users:           │           users:            │           users:            │
199446│            tom:           │             __: merge-first │             tom:            │
199447│              uid: 500     │             tom:            │               uid: 500      │
199448│              roles:       │               uid: 1000     │               roles:        │
199449│                - sysadmin │               roles:        │                 - developer │
199450│            root:          │                 - developer │                 - sysadmin  │
199451│              uid: 0       │             mat:            │             mat:            │
199452│                           │               uid: 1001     │               uid: 1001     │
199453│                           │                             │             root:           │
199454│                           │                             │               uid: 0        │
199455├───────────────────────────┼─────────────────────────────┼─────────────────────────────┤
199456│                           │                             │                             │
199457│          users:           │           users:            │           users:            │
199458│            tom:           │             __: remove      │             root:           │
199459│              uid: 500     │             tom:            │               uid: 0        │
199460│              roles:       │             mat:            │                             │
199461│                - sysadmin │                             │                             │
199462│            root:          │                             │                             │
199463│              uid: 0       │                             │                             │
199464├───────────────────────────┼─────────────────────────────┼─────────────────────────────┤
199465│                           │                             │                             │
199466│          users:           │           users:            │           users:            │
199467│            tom:           │             __: overwrite   │             tom:            │
199468│              uid: 500     │             tom:            │               uid: 1000     │
199469│              roles:       │               uid: 1000     │               roles:        │
199470│                - sysadmin │               roles:        │                 - developer │
199471│            root:          │                 - developer │             mat:            │
199472│              uid: 0       │             mat:            │               uid: 1001     │
199473│                           │               uid: 1001     │                             │
199474└───────────────────────────┴─────────────────────────────┴─────────────────────────────┘
199475
199476       You  can  also  select a custom merging strategy using a __ object in a
199477       list:
199478
199479      ┌───────────────────┬───────────────────────────────┬─────────────────────┐
199480stack              yaml_data                     stack (after merge) │
199481      ├───────────────────┼───────────────────────────────┼─────────────────────┤
199482      │                   │                               │                     │
199483      │          users:   │           users:              │           users:    │
199484      │            - tom  │             - __: merge-last  │             - tom   │
199485      │            - root │             - mat             │             - root  │
199486      │                   │                               │             - mat   │
199487      ├───────────────────┼───────────────────────────────┼─────────────────────┤
199488      │                   │                               │                     │
199489      │          users:   │           users:              │           users:    │
199490      │            - tom  │             - __: merge-first │             - mat   │
199491      │            - root │             - mat             │             - tom   │
199492      │                   │                               │             - root  │
199493      ├───────────────────┼───────────────────────────────┼─────────────────────┤
199494      │                   │                               │                     │
199495      │          users:   │           users:              │           users:    │
199496      │            - tom  │             - __: remove      │             - root  │
199497      │            - root │             - mat             │                     │
199498      │                   │             - tom             │                     │
199499      ├───────────────────┼───────────────────────────────┼─────────────────────┤
199500      │                   │                               │                     │
199501      │          users:   │           users:              │           users:    │
199502      │            - tom  │             - __: overwrite   │             - mat   │
199503      │            - root │             - mat             │                     │
199504      └───────────────────┴───────────────────────────────┴─────────────────────┘
199505
199506       salt.pillar.makostack.ext_pillar(minion_id, pillar, *args, **kwargs)
199507
199508   salt.pillar.mongo
199509       Read Pillar data from a mongodb collection
199510
199511       depends
199512              pymongo (for salt-master)
199513
199514       This module will load a node-specific pillar dictionary  from  a  mongo
199515       collection.  It  uses the node's id for lookups and can load either the
199516       whole document, or just a specific field from that document as the pil‐
199517       lar dictionary.
199518
199519   Salt Master Mongo Configuration
199520       The   module  shares  the  same  base  mongo  connection  variables  as
199521       salt.returners.mongo_return. These variables go in your  master  config
199522       file.
199523
199524          · mongo.db - The mongo database to connect to. Defaults to 'salt'.
199525
199526          · mongo.host  -  The mongo host to connect to. Supports replica sets
199527            by specifying all hosts in the set, comma-delimited.  Defaults  to
199528            'salt'.
199529
199530          · mongo.port  -  The  port  that  the  mongo database is running on.
199531            Defaults to 27017.
199532
199533          · mongo.user - The username for connecting to mongo.  Only  required
199534            if you are using mongo authentication. Defaults to ''.
199535
199536          · mongo.password  -  The  password  for  connecting  to  mongo. Only
199537            required if you are using mongo authentication. Defaults to ''.
199538
199539   Configuring the Mongo ext_pillar
199540       The Mongo ext_pillar takes advantage of the fact that the  Salt  Master
199541       configuration  file  is  yaml.  It  uses  a sub-dictionary of values to
199542       adjust specific features of the  pillar.  This  is  the  explicit  sin‐
199543       gle-line  dictionary notation for yaml. One may be able to get the eas‐
199544       ier-to-read multi-line dict to work correctly  with  some  experimenta‐
199545       tion.
199546
199547          ext_pillar:
199548            - mongo: {collection: vm, id_field: name, re_pattern: \.example\.com, fields: [customer_id, software, apache_vhosts]}
199549
199550       In  the  example  above,  we've decided to use the vm collection in the
199551       database to store the data. Minion ids are stored in the name field  on
199552       documents  in  that collection. And, since minion ids are FQDNs in most
199553       cases, we'll need to trim the domain name in order to find  the  minion
199554       by  hostname  in the collection. When we find a minion, return only the
199555       customer_id, software, and apache_vhosts fields, as that  will  contain
199556       the  data  we  want  for  a given node. They will be available directly
199557       inside the pillar dict in your SLS templates.
199558
199559   Module Documentation
199560       salt.pillar.mongo.ext_pillar(minion_id,  pillar,  collection=u'pillar',
199561       id_field=u'_id', re_pattern=None, re_replace=u'', fields=None)
199562              Connect  to  a  mongo database and read per-node pillar informa‐
199563              tion.
199564
199565              Parameters
199566
199567                     · collection (*) -- The mongodb collection to  read  data
199568                       from. Defaults to 'pillar'.
199569
199570                     · id_field (*) -- The field in the collection that repre‐
199571                       sents an individual minion id. Defaults to '_id'.
199572
199573                     · re_pattern (*) -- If your naming convention in the col‐
199574                       lection is shorter than the minion id, you can use this
199575                       to trim the name.  re_pattern will be used to match the
199576                       name,  and re_replace will be used to replace it. Back‐
199577                       refs are supported as they are in the  Python  standard
199578                       library.  If None, no mangling of the name will be per‐
199579                       formed - the  collection  will  be  searched  with  the
199580                       entire minion id. Defaults to None.
199581
199582                     · re_replace  (*) -- Use as the replacement value in node
199583                       ids matched with re_pattern. Defaults to ''. Feel  free
199584                       to use backreferences here.
199585
199586                     · fields  (*)  --  The specific fields in the document to
199587                       use for the pillar data. If None, will use  the  entire
199588                       document.  If  using the entire document, the _id field
199589                       will be converted to  string.  Be  careful  with  other
199590                       fields in the document as they must be string serializ‐
199591                       able. Defaults to None.
199592
199593   salt.pillar.mysql
199594       Retrieve Pillar data by doing a MySQL query
199595
199596       MariaDB provides Python  support  through  the  MySQL  Python  package.
199597       Therefore, you may use this module with both MySQL or MariaDB.
199598
199599       This module is a concrete implementation of the sql_base ext_pillar for
199600       MySQL.
199601
199602       maturity
199603              new
199604
199605       depends
199606              python-mysqldb
199607
199608       platform
199609              all
199610
199611   Configuring the mysql ext_pillar
199612       Use the 'mysql' key under ext_pillar for configuration of queries.
199613
199614       MySQL configuration of the MySQL  returner  is  being  used  (mysql.db,
199615       mysql.user, mysql.pass, mysql.port, mysql.host) for database connection
199616       info.
199617
199618       Required python modules: MySQLdb
199619
199620   Complete example
199621          mysql:
199622            user: 'salt'
199623            pass: 'super_secret_password'
199624            db: 'salt_db'
199625            port: 3306
199626            ssl:
199627              cert: /etc/mysql/client-cert.pem
199628              key: /etc/mysql/client-key.pem
199629
199630          ext_pillar:
199631            - mysql:
199632                fromdb:
199633                  query: 'SELECT col1,col2,col3,col4,col5,col6,col7
199634                            FROM some_random_table
199635                           WHERE minion_pattern LIKE %s'
199636                  depth: 5
199637                  as_list: True
199638                  with_lists: [1,3]
199639
199640       class salt.pillar.mysql.MySQLExtPillar
199641              This class receives and processes the database rows from MySQL.
199642
199643              extract_queries(args, kwargs)
199644                     This function normalizes the config block into a  set  of
199645                     queries we can use.  The return is a list of consistently
199646                     laid out dicts.
199647
199648       salt.pillar.mysql.ext_pillar(minion_id, pillar, *args, **kwargs)
199649              Execute queries against MySQL, merge and return as a dict
199650
199651   salt.pillar.netbox
199652       A module that adds data to the Pillar structure from a NetBox API.
199653
199654       New in version Fluorine.
199655
199656
199657   Configuring the NetBox ext_pillar
199658          ext_pillar:
199659            - netbox:
199660                api_url: http://netbox_url.com/api/
199661                api_token: 123abc
199662
199663       Create     a     token     in     your     NetBox      instance      at
199664       http://netbox_url.com/user/api-tokens/
199665
199666       The  following  options  are optional, and determine whether or not the
199667       module will attempt to configure the proxy pillar data for use with the
199668       napalm proxy-minion:
199669
199670          proxy_return: True
199671          proxy_username: admin
199672
199673       By  default,  this  module  will  query the NetBox API for the platform
199674       associated with the device, and use the 'NAPALM driver'  field  to  set
199675       the  napalm  proxy-minion driver. (Currently only 'napalm' is supported
199676       for drivertype.)
199677
199678       This module currently only supports the napalm proxy minion and assumes
199679       you  will use SSH keys to authenticate to the network device.  If pass‐
199680       word authentication is desired, it is  recommended  to  create  another
199681       proxy  key in pillar_roots (or git_pillar) with just the passwd key and
199682       use salt.renderers.gpg to encrypt the value.  If any additional options
199683       for  the  proxy setup are needed they should also be configured in pil‐
199684       lar_roots.
199685
199686       Other available options:
199687
199688       site_details: True
199689              Whether should retrieve details of the site the  device  belongs
199690              to.
199691
199692       site_prefixes: True
199693              Whether  should  retrieve  the  prefixes  of the site the device
199694              belongs to.
199695
199696       salt.pillar.netbox.ext_pillar(minion_id, pillar, *args, **kwargs)
199697              Query NetBox API for minion data
199698
199699   salt.pillar.neutron module
199700       Use Openstack Neutron data as a Pillar source. Will list  all  networks
199701       listed inside of Neutron, to all minions.
199702
199703       New in version 2015.5.1.
199704
199705
199706       depends
199707
199708              · python-neutronclient
199709
199710       A keystone profile must be used for the pillar to work (no generic key‐
199711       stone configuration here). For example:
199712
199713          my openstack_config:
199714            keystone.user: 'admin'
199715            keystone.password: 'password'
199716            keystone.tenant: 'admin'
199717            keystone.auth_url: 'http://127.0.0.1:5000/v2.0/'
199718            keystone.region_name: 'RegionOne'
199719            keystone.service_type: 'network'
199720
199721       After the profile is created, configure the external pillar  system  to
199722       use it.
199723
199724          ext_pillar:
199725            - neutron: my_openstack_config
199726
199727       Using  these  configuration profiles, multiple neutron sources may also
199728       be used:
199729
199730          ext_pillar:
199731            - neutron: my_openstack_config
199732            - neutron: my_other_openstack_config
199733
199734       By default, these networks will be returned as  a  pillar  item  called
199735       networks.  In  order  to have them returned under a different name, add
199736       the name after the Keystone profile name:
199737
199738          ext_pillar:
199739
199740                 · neutron: my_openstack_config neutron_networks
199741
199742       salt.pillar.neutron.ext_pillar(minion_id, pillar, conf)
199743              Check neutron for all data
199744
199745   salt.pillar.nodegroups
199746   Nodegroups Pillar
199747       Introspection: to which nodegroups does my minion belong?   Provides  a
199748       pillar  with  the  default  name of nodegroups which contains a list of
199749       nodegroups which match for a given minion.
199750
199751       New in version 2016.11.0.
199752
199753
199754   Command Line
199755          salt-call pillar.get nodegroups
199756          local:
199757              - class_infra
199758              - colo_sj
199759              - state_active
199760              - country_US
199761              - type_saltmaster
199762
199763   Configuring Nodegroups Pillar
199764          extension_modules: /srv/salt/ext
199765          ext_pillar:
199766            - nodegroups:
199767                pillar_name: 'nodegroups'
199768
199769       salt.pillar.nodegroups.ext_pillar(minion_id, pillar, pillar_name=None)
199770              A salt external pillar which provides the list of nodegroups  of
199771              which the minion is a member.
199772
199773              Parameters
199774
199775                     · minion_id -- used for compound matching nodegroups
199776
199777                     · pillar  -- provided by salt, but not used by nodegroups
199778                       ext_pillar
199779
199780                     · pillar_name -- optional name to  use  for  the  pillar,
199781                       defaults to 'nodegroups'
199782
199783              Returns
199784                     a  dictionary which is included by the salt master in the
199785                     pillars returned to the minion
199786
199787   salt.pillar.pepa
199788   Pepa
199789       Configuration templating for SaltStack using Hierarchical  substitution
199790       and Jinja.
199791
199792   Configuring Pepa
199793          extension_modules: /srv/salt/ext
199794
199795          ext_pillar:
199796            - pepa:
199797                resource: host                # Name of resource directory and sub-key in pillars
199798                sequence:                     # Sequence used for hierarchical substitution
199799                  - hostname:                 # Name of key
199800                      name: input             # Alias used for template directory
199801                      base_only: True         # Only use templates from Base environment, i.e. no staging
199802                  - default:
199803                  - environment:
199804                  - location..region:
199805                      name: region
199806                  - location..country:
199807                      name: country
199808                  - location..datacenter:
199809                      name: datacenter
199810                  - roles:
199811                  - osfinger:
199812                      name: os
199813                  - hostname:
199814                      name: override
199815                      base_only: True
199816                subkey: True                  # Create a sub-key in pillars, named after the resource in this case [host]
199817                subkey_only: True             # Only create a sub-key, and leave the top level untouched
199818
199819          pepa_roots:                         # Base directory for each environment
199820            base: /srv/pepa/base              # Path for base environment
199821            dev: /srv/pepa/base               # Associate dev with base
199822            qa: /srv/pepa/qa
199823            prod: /srv/pepa/prod
199824
199825          # Use a different delimiter for nested dictionaries, defaults to '..' since some keys may use '.' in the name
199826          #pepa_delimiter: ..
199827
199828          # Supply Grains for Pepa, this should **ONLY** be used for testing or validation
199829          #pepa_grains:
199830          #  environment: dev
199831
199832          # Supply Pillar for Pepa, this should **ONLY** be used for testing or validation
199833          #pepa_pillars:
199834          #  saltversion: 0.17.4
199835
199836          # Enable debug for Pepa, and keep Salt on warning
199837          #log_level: debug
199838
199839          #log_granular_levels:
199840          #  salt: warning
199841          #  salt.loaded.ext.pillar.pepa: debug
199842
199843       Pepa can also be used in Master-less SaltStack setup.
199844
199845   Command line
199846          usage: pepa.py [-h] [-c CONFIG] [-d] [-g GRAINS] [-p PILLAR] [-n] [-v]
199847                         hostname
199848
199849          positional arguments:
199850            hostname              Hostname
199851
199852          optional arguments:
199853            -h, --help            show this help message and exit
199854            -c CONFIG, --config CONFIG
199855                                  Configuration file
199856            -d, --debug           Print debug info
199857            -g GRAINS, --grains GRAINS
199858                                  Input Grains as YAML
199859            -p PILLAR, --pillar PILLAR
199860                                  Input Pillar as YAML
199861            -n, --no-color        No color output
199862            -v, --validate        Validate output
199863
199864   Templates
199865       Templates  is configuration for a host or software, that can use infor‐
199866       mation from Grains or Pillars. These can then be  used  for  hierarchi‐
199867       cally substitution.
199868
199869       Example File: host/input/test_example_com.yaml
199870
199871          location..region: emea
199872          location..country: nl
199873          location..datacenter: foobar
199874          environment: dev
199875          roles:
199876            - salt.master
199877          network..gateway: 10.0.0.254
199878          network..interfaces..eth0..hwaddr: 00:20:26:a1:12:12
199879          network..interfaces..eth0..dhcp: False
199880          network..interfaces..eth0..ipv4: 10.0.0.3
199881          network..interfaces..eth0..netmask: 255.255.255.0
199882          network..interfaces..eth0..fqdn: {{ hostname }}
199883          cobbler..profile: fedora-19-x86_64
199884
199885       As  you  see in this example you can use Jinja directly inside the tem‐
199886       plate.
199887
199888       Example File: host/region/amer.yaml
199889
199890          network..dns..servers:
199891            - 10.0.0.1
199892            - 10.0.0.2
199893          time..ntp..servers:
199894            - ntp1.amer.example.com
199895            - ntp2.amer.example.com
199896            - ntp3.amer.example.com
199897          time..timezone: America/Chihuahua
199898          yum..mirror: yum.amer.example.com
199899
199900       Each template is named after the value of the key using  lowercase  and
199901       all extended characters are replaced with underscore.
199902
199903       Example:
199904
199905       osfinger: Fedora-19
199906
199907       Would become:
199908
199909       fedora_19.yaml
199910
199911   Nested dictionaries
199912       In order to create nested dictionaries as output you can use double dot
199913       ".." as a delimiter. You can  change  this  using  "pepa_delimiter"  we
199914       choose double dot since single dot is already used by key names in some
199915       modules, and using ":" requires quoting in the YAML.
199916
199917       Example:
199918
199919          network..dns..servers:
199920            - 10.0.0.1
199921            - 10.0.0.2
199922          network..dns..options:
199923            - timeout:2
199924            - attempts:1
199925            - ndots:1
199926          network..dns..search:
199927            - example.com
199928
199929       Would become:
199930
199931          network:
199932            dns:
199933              servers:
199934                - 10.0.0.1
199935                - 10.0.0.2
199936              options:
199937                - timeout:2
199938                - attempts:1
199939                - ndots:1
199940              search:
199941                - example.com
199942
199943   Operators
199944       Operators can be used to merge/unset a list/hash  or  set  the  key  as
199945       immutable, so it can't be changed.
199946
199947                     ┌────────────┬────────────────────────────┐
199948                     │Operator    │ Description                │
199949                     ├────────────┼────────────────────────────┤
199950                     │merge()     │ Merge list or hash         │
199951                     ├────────────┼────────────────────────────┤
199952                     │unset()     │ Unset key                  │
199953                     ├────────────┼────────────────────────────┤
199954                     │immutable() │ Set  the key as immutable, │
199955                     │            │ so it can't be changed     │
199956                     ├────────────┼────────────────────────────┤
199957                     │imerge()    │ Set immutable and merge    │
199958                     ├────────────┼────────────────────────────┤
199959                     │iunset()    │ Set immutable and unset    │
199960                     └────────────┴────────────────────────────┘
199961
199962       Example:
199963
199964          network..dns..search..merge():
199965            - foobar.com
199966            - dummy.nl
199967          owner..immutable(): Operations
199968          host..printers..unset():
199969
199970   Validation
199971       Since it's very hard to test Jinja as is, the best approach is  to  run
199972       all  the permutations of input and validate the output, i.e. Unit Test‐
199973       ing.
199974
199975       To facilitate  this  in  Pepa  we  use  YAML,  Jinja  and  Cerberus  <‐
199976       https://github.com/nicolaiarocci/cerberus>.
199977
199978   Schema
199979       So this is a validation schema for network configuration, as you see it
199980       can be customized with Jinja just as Pepa templates.
199981
199982       This was designed to be run as a build job in Jenkins or similar  tool.
199983       You  can  provide  Grains/Pillar  input using either the config file or
199984       command line arguments.
199985
199986       File Example: host/validation/network.yaml
199987
199988          network..dns..search:
199989            type: list
199990            allowed:
199991              - example.com
199992
199993          network..dns..options:
199994            type: list
199995            allowed: ['timeout:2', 'attempts:1', 'ndots:1']
199996
199997          network..dns..servers:
199998            type: list
199999            schema:
200000              regex: ^([0-9]{1,3}\.){3}[0-9]{1,3}$
200001
200002          network..gateway:
200003            type: string
200004            regex: ^([0-9]{1,3}\.){3}[0-9]{1,3}$
200005
200006          {% if network.interfaces is defined %}
200007          {% for interface in network.interfaces %}
200008
200009          network..interfaces..{{ interface }}..dhcp:
200010            type: boolean
200011
200012          network..interfaces..{{ interface }}..fqdn:
200013            type: string
200014            regex: ^([a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?\.)+[a-zA-Z]{2,6}$
200015
200016          network..interfaces..{{ interface }}..hwaddr:
200017            type: string
200018            regex: ^([0-9a-f]{1,2}\:){5}[0-9a-f]{1,2}$
200019
200020          network..interfaces..{{ interface }}..ipv4:
200021            type: string
200022            regex: ^([0-9]{1,3}\.){3}[0-9]{1,3}$
200023
200024          network..interfaces..{{ interface }}..netmask:
200025            type: string
200026            regex: ^([0-9]{1,3}\.){3}[0-9]{1,3}$
200027
200028          {% endfor %}
200029          {% endif %}
200030
200031   Links
200032       For      more      examples      and      information      see       <‐
200033       https://github.com/mickep76/pepa>.
200034
200035       salt.pillar.pepa.ext_pillar(minion_id, pillar, resource, sequence, sub‐
200036       key=False, subkey_only=False)
200037              Evaluate Pepa templates
200038
200039       salt.pillar.pepa.key_value_to_tree(data)
200040              Convert key/value to tree
200041
200042       salt.pillar.pepa.validate(output, resource)
200043              Validate Pepa templates
200044
200045   salt.pillar.pillar_ldap
200046       Use LDAP data as a Pillar source
200047
200048       This pillar module executes a series of LDAP searches.   Data  returned
200049       by  these  searches  are  aggregated,  whereby  data  returned by later
200050       searches override data by previous searches with the same key.
200051
200052       The final result is merged with existing pillar data.
200053
200054       The configuration of this external pillar module is done via an  exter‐
200055       nal file which provides the actual configuration for the LDAP searches.
200056
200057   Configuring the LDAP ext_pillar
200058       The basic configuration is part of the master configuration.
200059
200060          ext_pillar:
200061            - pillar_ldap: /etc/salt/master.d/pillar_ldap.yaml
200062
200063       NOTE:
200064          When  placing the file in the master.d directory, make sure its name
200065          doesn't end in .conf, otherwise the salt-master process will attempt
200066          to parse its content.
200067
200068       WARNING:
200069          Make  sure  this  file  has very restrictive permissions, as it will
200070          contain possibly sensitive LDAP credentials!
200071
200072       The only required key in the master configuration is pillar_ldap point‐
200073       ing to a file containing the actual configuration.
200074
200075   Configuring the LDAP searches
200076       The file is processed using Salt's Renderers <renderers> which makes it
200077       possible to reference grains within the configuration.
200078
200079       WARNING:
200080          When using Jinja in this file, make sure to do it  in  a  way  which
200081          prevents  leaking  sensitive  information. A rogue minion could send
200082          arbitrary grains to trick the master  into  returning  secret  data.
200083          Use  only  the  'id'  grain  which  is verified through the minion's
200084          key/cert.
200085
200086   Map Mode
200087       The it-admins configuration below returns the Pillar it-admins by:
200088
200089       · filtering for: - members  of  the  group  it-admins  -  objects  with
200090         objectclass=user
200091
200092       · returning the data of users, where each user is a dictionary contain‐
200093         ing the configured string or list attributes.
200094
200095   Configuration
200096          salt-users:
200097            server:    ldap.company.tld
200098            port:      389
200099            tls:       true
200100            dn:        'dc=company,dc=tld'
200101            binddn:    'cn=salt-pillars,ou=users,dc=company,dc=tld'
200102            bindpw:    bi7ieBai5Ano
200103            referrals: false
200104            anonymous: false
200105            mode:      map
200106            dn:        'ou=users,dc=company,dc=tld'
200107            filter:    '(&(memberof=cn=it-admins,ou=groups,dc=company,dc=tld)(objectclass=user))'
200108            attrs:
200109              - cn
200110              - displayName
200111              - givenName
200112              - sn
200113            lists:
200114              - memberOf
200115
200116          search_order:
200117            - salt-users
200118
200119   Result
200120          {
200121              'salt-users': [
200122                  {
200123                      'cn': 'cn=johndoe,ou=users,dc=company,dc=tld',
200124                      'displayName': 'John Doe'
200125                      'givenName': 'John'
200126                      'sn': 'Doe'
200127                      'memberOf': [
200128                        'cn=it-admins,ou=groups,dc=company,dc=tld',
200129                        'cn=team01,ou=groups,dc=company'
200130                      ]
200131                  },
200132                  {
200133                      'cn': 'cn=janedoe,ou=users,dc=company,dc=tld',
200134                      'displayName': 'Jane Doe',
200135                      'givenName': 'Jane',
200136                      'sn': 'Doe',
200137                      'memberOf': [
200138                        'cn=it-admins,ou=groups,dc=company,dc=tld',
200139                        'cn=team02,ou=groups,dc=company'
200140                      ]
200141                  }
200142              ]
200143          }
200144
200145       salt.pillar.pillar_ldap.ext_pillar(minion_id, pillar, config_file)
200146              Execute LDAP searches and return the aggregated data
200147
200148   salt.pillar.postgres module
200149       Retrieve Pillar data by doing a postgres query
200150
200151       New in version 2017.7.0.
200152
200153
200154       maturity
200155              new
200156
200157       depends
200158              psycopg2
200159
200160       platform
200161              all
200162
200163   Complete Example
200164          postgres:
200165            user: 'salt'
200166            pass: 'super_secret_password'
200167            db: 'salt_db'
200168
200169          ext_pillar:
200170            - postgres:
200171                fromdb:
200172                  query: 'SELECT col1,col2,col3,col4,col5,col6,col7
200173                            FROM some_random_table
200174                           WHERE minion_pattern LIKE %s'
200175                  depth: 5
200176                  as_list: True
200177                  with_lists: [1,3]
200178
200179       class salt.pillar.postgres.POSTGRESExtPillar
200180              This class receives and processes the database rows  from  POST‐
200181              GRES.
200182
200183              extract_queries(args, kwargs)
200184                     This  function  normalizes the config block into a set of
200185                     queries we can use.  The return is a list of consistently
200186                     laid out dicts.
200187
200188       salt.pillar.postgres.ext_pillar(minion_id, pillar, *args, **kwargs)
200189              Execute queries against POSTGRES, merge and return as a dict
200190
200191   salt.pillar.puppet
200192       Execute  an  unmodified  puppet_node_classifier  and read the output as
200193       YAML. The YAML data is then directly overlaid onto the minion's  Pillar
200194       data.
200195
200196       salt.pillar.puppet.ext_pillar(minion_id, pillar, command)
200197              Execute an unmodified puppet_node_classifier and read the output
200198              as YAML
200199
200200   salt.pillar.reclass_adapter
200201       Use the "reclass" database as a Pillar source
200202
200203       This ext_pillar plugin provides access to the  reclass  database,  such
200204       that Pillar data for a specific minion are fetched using reclass.
200205
200206       You     can     find     more     information    about    reclass    at
200207       http://reclass.pantsfullofunix.net.
200208
200209       To use the plugin, add it to the ext_pillar list  in  the  Salt  master
200210       config  and  tell reclass by way of a few options how and where to find
200211       the inventory:
200212
200213          ext_pillar:
200214              - reclass:
200215                  storage_type: yaml_fs
200216                  inventory_base_uri: /srv/salt
200217
200218       This would cause reclass to read  the  inventory  from  YAML  files  in
200219       /srv/salt/nodes and /srv/salt/classes.
200220
200221       If  you  are  also using reclass as master_tops plugin, and you want to
200222       avoid having to specify the same information for both, use YAML anchors
200223       (take note of the differing data types for ext_pillar and master_tops):
200224
200225          reclass: &reclass
200226              storage_type: yaml_fs
200227              inventory_base_uri: /srv/salt
200228              reclass_source_path: ~/code/reclass
200229
200230          ext_pillar:
200231              - reclass: *reclass
200232
200233          master_tops:
200234              reclass: *reclass
200235
200236       If  you want to run reclass from source, rather than installing it, you
200237       can either let the master know via the PYTHONPATH environment variable,
200238       or by setting the configuration option, like in the example above.
200239
200240       salt.pillar.reclass_adapter.ext_pillar(minion_id, pillar, **kwargs)
200241              Obtain the Pillar data from reclass for the given minion_id.
200242
200243   salt.pillar.redismod
200244   Read pillar data from a Redis backend
200245       New in version 2014.7.0.
200246
200247
200248       depends
200249
200250              · redis Python module (on master)
200251
200252   Salt Master Redis Configuration
200253       The   module  shares  the  same  base  Redis  connection  variables  as
200254       salt.returners.redis_return. These variables go in your  master  config
200255       file.
200256
200257       · redis.db - The Redis database to use. Defaults to 0.
200258
200259       · redis.host - The Redis host to connect to. Defaults to 'salt'.
200260
200261       · redis.port  -  The  port  that  the  Redis  database is listening on.
200262         Defaults to 6379.
200263
200264       · redis.password - The password for  authenticating  with  Redis.  Only
200265         required if you are using master auth. Defaults to None.
200266
200267   Configuring the Redis ext_pillar
200268              ext_pillar:
200269                - redis: {function: key_value}
200270
200271       salt.pillar.redismod.ext_pillar(minion_id, pillar, function, **kwargs)
200272              Grabs external pillar data based on configured function
200273
200274       salt.pillar.redismod.key_json(minion_id, pillar, pillar_key=None)
200275              Pulls a string from redis and deserializes it from json. Deseri‐
200276              alized dictionary data loaded directly into top  level  if  pil‐
200277              lar_key is not set.
200278
200279              pillar_key
200280                     Pillar key to return data into
200281
200282       salt.pillar.redismod.key_value(minion_id,          pillar,         pil‐
200283       lar_key=u'redis_pillar')
200284              Looks for key in redis matching minion_id, returns  a  structure
200285              based on the data type of the redis key. String for string type,
200286              dict for hash type and lists for lists, sets and sorted sets.
200287
200288              pillar_key
200289                     Pillar key to return data into
200290
200291   salt.pillar.s3
200292       Copy pillar data from a bucket in Amazon S3
200293
200294       The S3 pillar can be configured in the master config file with the fol‐
200295       lowing options
200296
200297          ext_pillar:
200298            - s3:
200299                bucket: my.fancy.pillar.bucket
200300                keyid: KASKFJWAKJASJKDAJKSD
200301                key: ksladfDLKDALSFKSD93q032sdDasdfasdflsadkf
200302                multiple_env: False
200303                environment: base
200304                prefix: somewhere/overthere
200305                verify_ssl: True
200306                service_url: s3.amazonaws.com
200307                kms_keyid: 01234567-89ab-cdef-0123-4567890abcde
200308                s3_cache_expire: 30
200309                s3_sync_on_update: True
200310                path_style: False
200311                https_enable: True
200312
200313       The bucket parameter specifies the target S3 bucket. It is required.
200314
200315       The  keyid  parameter  specifies  the  key id to use when access the S3
200316       bucket.  If it is not  provided,  an  attempt  to  fetch  it  from  EC2
200317       instance meta-data will be made.
200318
200319       The  key  parameter specifies the key to use when access the S3 bucket.
200320       If it is not provided,  an  attempt  to  fetch  it  from  EC2  instance
200321       meta-data will be made.
200322
200323       The  multiple_env  defaults  to  False. It specifies whether the pillar
200324       should interpret top level folders as  pillar  environments  (see  mode
200325       section below).
200326
200327       The  environment defaults to 'base'. It specifies which environment the
200328       bucket represents when in single environments mode  (see  mode  section
200329       below). It is ignored if multiple_env is True.
200330
200331       The  prefix  defaults  to  ''.  It  specifies  a key prefix to use when
200332       searching for data in the bucket for the pillar. It works  when  multi‐
200333       ple_env  is True or False.  Essentially it tells ext_pillar to look for
200334       your pillar data in a 'subdirectory' of your S3 bucket
200335
200336       The verify_ssl parameter defaults to  True.  It  specifies  whether  to
200337       check  for valid S3 SSL certificates. NOTE If you use bucket names with
200338       periods, this must be set to False else an  invalid  certificate  error
200339       will be thrown (issue #12200).
200340
200341       The  service_url parameter defaults to 's3.amazonaws.com'. It specifies
200342       the base url to use for accessing S3.
200343
200344       The kms_keyid parameter is optional. It specifies the  ID  of  the  Key
200345       Management  Service  (KMS)  master  key  that  was  used to encrypt the
200346       object.
200347
200348       The s3_cache_expire parameter defaults to 30s. It specifies  expiration
200349       time of S3 metadata cache file.
200350
200351       The s3_sync_on_update parameter defaults to True. It specifies if cache
200352       is synced on update rather than jit.
200353
200354       The path_style parameter defaults to False. It specifies whether to use
200355       path style requests or dns style requests
200356
200357       The  https_enable  parameter  defaults to True. It specifies whether to
200358       use https protocol or http protocol
200359
200360       This pillar can operate in two modes, single environment per bucket  or
200361       multiple environments per bucket.
200362
200363       Single environment mode must have this bucket structure:
200364
200365          s3://<bucket name>/<prefix>/<files>
200366
200367       Multiple environment mode must have this bucket structure:
200368
200369          s3://<bucket name>/<prefix>/<environment>/<files>
200370
200371       If  you  wish to define your pillar data entirely within S3 it's recom‐
200372       mended that you use the prefix= parameter  and  specify  one  entry  in
200373       ext_pillar  for  each  environment rather than specifying multiple_env.
200374       This       is        due        to        issue        #22471        (‐
200375       https://github.com/saltstack/salt/issues/22471)
200376
200377       class  salt.pillar.s3.S3Credentials(key,  keyid,  bucket,  service_url,
200378       verify_ssl=True,   kms_keyid=None,   location=None,   path_style=False,
200379       https_enable=True)
200380
200381       salt.pillar.s3.ext_pillar(minion_id,    pillar,    bucket,    key=None,
200382       keyid=None, verify_ssl=True, location=None,  multiple_env=False,  envi‐
200383       ronment=u'base',    prefix=u'',    service_url=None,    kms_keyid=None,
200384       s3_cache_expire=30,      s3_sync_on_update=True,      path_style=False,
200385       https_enable=True)
200386              Execute a command and read the output as YAML
200387
200388   salt.pillar.saltclass
200389   SaltClass Pillar Module
200390          ext_pillar:
200391            - saltclass:
200392              - path: /srv/saltclass
200393
200394       For additional configuration instructions, see the saltclass module
200395
200396       salt.pillar.saltclass.ext_pillar(minion_id, pillar, *args, **kwargs)
200397              Compile pillar data
200398
200399   salt.pillar.sql_base module
200400       Retrieve Pillar data by doing a SQL query
200401
200402       This module is not meant to be used directly as an ext_pillar.  It is a
200403       place to put code common to PEP 249 compliant  SQL  database  adapters.
200404       It  exposes  a  python  ABC  that  can  be  subclassed for new database
200405       providers.
200406
200407       maturity
200408              new
200409
200410       platform
200411              all
200412
200413   Theory of sql_base ext_pillar
200414       Ok, here's the theory for how this works...
200415
200416       · First, any non-keyword args are processed in order.
200417
200418       · Then, remaining keywords are processed.
200419
200420       We do this so that it's backward compatible with older  configs.   Key‐
200421       word  arguments  are sorted before being appended, so that they're pre‐
200422       dictable, but they will always be applied last so overall it's moot.
200423
200424       For each of those items we process, it depends on the object type:
200425
200426       · Strings are executed as is and the pillar depth is determined by  the
200427         number of fields returned.
200428
200429       · A  list has the first entry used as the query, the second as the pil‐
200430         lar depth.
200431
200432       · A mapping uses the keys "query" and "depth" as the tuple
200433
200434       You can retrieve as many fields as you like, how they get used  depends
200435       on the exact settings.
200436
200437   Configuring a sql_base ext_pillar
200438       The  sql_base ext_pillar cannot be used directly, but shares query con‐
200439       figuration  with  its  implementations.  These  examples  use  a   fake
200440       'sql_base'  adapter,  which  should  be  replaced  with the name of the
200441       adapter you are using.
200442
200443       A list of queries can be passed in
200444
200445          ext_pillar:
200446            - sql_base:
200447                - "SELECT pillar,value FROM pillars WHERE minion_id = %s"
200448                - "SELECT pillar,value FROM more_pillars WHERE minion_id = %s"
200449
200450       Or you can pass in a mapping
200451
200452          ext_pillar:
200453            - sql_base:
200454                main: "SELECT pillar,value FROM pillars WHERE minion_id = %s"
200455                extras: "SELECT pillar,value FROM more_pillars WHERE minion_id = %s"
200456
200457       The query can be provided as a string as we have just shown,  but  they
200458       can be provided as lists
200459
200460          ext_pillar:
200461            - sql_base:
200462                - "SELECT pillar,value FROM pillars WHERE minion_id = %s"
200463                  2
200464
200465       Or as a mapping
200466
200467          ext_pillar:
200468            - sql_base:
200469                - query: "SELECT pillar,value FROM pillars WHERE minion_id = %s"
200470                  depth: 2
200471
200472       The  depth  defines  how the dicts are constructed.  Essentially if you
200473       query for fields a,b,c,d for each row you'll get:
200474
200475       · With depth 1: {a: {"b": b, "c": c, "d": d}}
200476
200477       · With depth 2: {a: {b: {"c": c, "d": d}}}
200478
200479       · With depth 3: {a: {b: {c: d}}}
200480
200481       Depth greater than 3 wouldn't be different from 3 itself.  Depth  of  0
200482       translates  to the largest depth needed, so 3 in this case.  (max depth
200483       == key count - 1)
200484
200485       Then they are merged in a similar way to  plain  pillar  data,  in  the
200486       order returned by the SQL database.
200487
200488       Thus subsequent results overwrite previous ones when they collide.
200489
200490       The  ignore_null option can be used to change the overwrite behavior so
200491       that only non-NULL values in subsequent results will  overwrite.   This
200492       can be used to selectively overwrite default values.
200493
200494          ext_pillar:
200495            - sql_base:
200496                - query: "SELECT pillar,value FROM pillars WHERE minion_id = 'default' and minion_id != %s"
200497                  depth: 2
200498                - query: "SELECT pillar,value FROM pillars WHERE minion_id = %s"
200499                  depth: 2
200500                  ignore_null: True
200501
200502       If  you specify as_list: True in the mapping expression it will convert
200503       collisions to lists.
200504
200505       If you specify with_lists: '...' in the mapping expression it will con‐
200506       vert  the  specified depths to list.  The string provided is a sequence
200507       numbers that are comma separated.  The string '1,3' will result in:
200508
200509          a,b,c,d,e,1  # field 1 same, field 3 differs
200510          a,b,c,f,g,2  # ^^^^
200511          a,z,h,y,j,3  # field 1 same, field 3 same
200512          a,z,h,y,k,4  # ^^^^
200513            ^   ^
200514
200515       These columns define list grouping
200516
200517          {a: [
200518                {c: [
200519                    {e: 1},
200520                    {g: 2}
200521                    ]
200522                },
200523                {h: [
200524                    {j: 3, k: 4 }
200525                    ]
200526                }
200527          ]}
200528
200529       The range for with_lists is 1 to number_of_fields, inclusive.   Numbers
200530       outside this range are ignored.
200531
200532       Finally,  if you pass the queries in via a mapping, the key will be the
200533       first level name where as passing them in as a list will place them  in
200534       the  root.   This  isolates  the query results into their own subtrees.
200535       This may be a help or hindrance to your aims and can be used as such.
200536
200537       You can basically use any SELECT query that gets you  the  information,
200538       you  could even do joins or subqueries in case your minion_id is stored
200539       elsewhere.  It is capable of handling single rows or multiple rows  per
200540       minion.
200541
200542       Configuration of the connection depends on the adapter in use.
200543
200544   More complete example for MySQL (to also show configuration)
200545          mysql:
200546            user: 'salt'
200547            pass: 'super_secret_password'
200548            db: 'salt_db'
200549
200550          ext_pillar:
200551            - mysql:
200552                fromdb:
200553                  query: 'SELECT col1,col2,col3,col4,col5,col6,col7
200554                            FROM some_random_table
200555                           WHERE minion_pattern LIKE %s'
200556                  depth: 5
200557                  as_list: True
200558                  with_lists: [1,3]
200559
200560       class salt.pillar.sql_base.SqlBaseExtPillar
200561              This  class  receives and processes the database rows in a data‐
200562              base agnostic way.
200563
200564              as_list = False
200565
200566              depth = 0
200567
200568              enter_root(root)
200569                     Set self.focus for kwarg queries
200570
200571              extract_queries(args, kwargs)
200572                     This function normalizes the config block into a  set  of
200573                     queries we can use.  The return is a list of consistently
200574                     laid out dicts.
200575
200576              fetch(minion_id, pillar, *args, **kwargs)
200577                     Execute queries, merge and return as a dict.
200578
200579              field_names = None
200580
200581              focus = None
200582
200583              ignore_null = False
200584
200585              num_fields = 0
200586
200587              process_fields(field_names, depth)
200588                     The primary purpose of this function is to store the  sql
200589                     field list and the depth to which we process.
200590
200591              process_results(rows)
200592                     This  function takes a list of database results and iter‐
200593                     ates over, merging them into a dict form.
200594
200595              result = None
200596
200597              with_lists = None
200598
200599   salt.pillar.sqlcipher module
200600       Retrieve Pillar data by running a SQLCipher query
200601
200602       New in version 2016.3.0.
200603
200604
200605       Python SQLCipher support is provided by the pysqlcipher Python package.
200606       You  need  this  module installed to query Pillar data from a SQLCipher
200607       database.
200608
200609       This module is a concrete implementation of the sql_base ext_pillar for
200610       SQLCipher.
200611
200612       maturity
200613              new
200614
200615       depends
200616              pysqlcipher (for py2) or pysqlcipher3 (for py3)
200617
200618       platform
200619              all
200620
200621   Configuring the sqlcipher ext_pillar
200622       Use the 'sqlcipher' key under ext_pillar for configuration of queries.
200623
200624       SQLCipher database connection configuration requires the following val‐
200625       ues configured in the master config:
200626
200627          · sqlcipher.database  -  The  SQLCipher  database  to  connect   to.
200628            Defaults to '/var/lib/salt/pillar-sqlcipher.db'.
200629
200630          · sqlcipher.pass - The SQLCipher database decryption password.
200631
200632          · sqlcipher.timeout - The connection timeout in seconds.
200633
200634       Example configuration
200635
200636          sqlcipher:
200637            database: /var/lib/salt/pillar-sqlcipher.db
200638            pass: strong_pass_phrase
200639            timeout: 5.0
200640
200641   Complete Example
200642          sqlcipher:
200643            database: '/var/lib/salt/pillar-sqlcipher.db'
200644            pass: strong_pass_phrase
200645            timeout: 5.0
200646
200647          ext_pillar:
200648            - sqlcipher:
200649                fromdb:
200650                  query: 'SELECT col1,col2,col3,col4,col5,col6,col7
200651                            FROM some_random_table
200652                           WHERE minion_pattern LIKE ?'
200653                  depth: 5
200654                  as_list: True
200655                  with_lists: [1,3]
200656
200657       class salt.pillar.sqlcipher.SQLCipherExtPillar
200658              This  class receives and processes the database rows from SQLCi‐
200659              pher.
200660
200661       salt.pillar.sqlcipher.ext_pillar(minion_id, pillar, *args, **kwargs)
200662              Execute queries against SQLCipher, merge and return as a dict
200663
200664   salt.pillar.sqlite3 module
200665       Retrieve Pillar data by doing a SQLite3 query
200666
200667       New in version 2015.8.0.
200668
200669
200670       sqlite3 is included in the stdlib since Python 2.5.
200671
200672       This module is a concrete implementation of the sql_base ext_pillar for
200673       SQLite3.
200674
200675       platform
200676              all
200677
200678   Configuring the sqlite3 ext_pillar
200679       Use the 'sqlite3' key under ext_pillar for configuration of queries.
200680
200681       SQLite3 database connection configuration requires the following values
200682       configured in the master config:
200683
200684       Note, timeout is in seconds.
200685
200686          sqlite3.database: /var/lib/salt/pillar.db
200687          sqlite3.timeout: 5.0
200688
200689   Complete Example
200690          sqlite3:
200691            database: '/var/lib/salt/pillar.db'
200692            timeout: 5.0
200693
200694          ext_pillar:
200695            - sqlite3:
200696                fromdb:
200697                  query: 'SELECT col1,col2,col3,col4,col5,col6,col7
200698                            FROM some_random_table
200699                           WHERE minion_pattern LIKE ?'
200700                  depth: 5
200701                  as_list: True
200702                  with_lists: [1,3]
200703
200704       class salt.pillar.sqlite3.SQLite3ExtPillar
200705              This  class  receives  and  processes  the  database  rows  from
200706              SQLite3.
200707
200708       salt.pillar.sqlite3.ext_pillar(minion_id, pillar, *args, **kwargs)
200709              Execute queries against SQLite3, merge and return as a dict
200710
200711   salt.pillar.stack
200712       Simple  and  flexible YAML ext_pillar which can read pillar from within
200713       pillar.
200714
200715       New in version 2016.3.0.
200716
200717
200718       PillarStack is a custom saltstack  ext_pillar  which  was  inspired  by
200719       varstack but is heavily based on Jinja2 for maximum flexibility.
200720
200721       Any   issue   should   be   reported   to   the  upstream  project  at:
200722       https://github.com/bbinet/pillarstack/issues
200723
200724       It supports the following features:
200725
200726       · multiple config files that are jinja2 templates with support for pil‐
200727         lar, __grains__, __salt__, __opts__ objects
200728
200729       · a  config  file  renders  as an ordered list of files (paths of these
200730         files are relative to the current config file)
200731
200732       · this list of files are read in ordered as jinja2 templates with  sup‐
200733         port for stack, pillar, __grains__, __salt__, __opts__ objects
200734
200735       · all these rendered files are then parsed as yaml
200736
200737       · then  all yaml dicts are merged in order with support for the follow‐
200738         ing merging strategies: merge-first, merge-last,  remove,  and  over‐
200739         write
200740
200741       · stack  config  files  can be matched based on pillar, grains, or opts
200742         values, which make it possible  to  support  kind  of  self-contained
200743         environments
200744
200745   Installation
200746       PillarStack  is  already  bundled  with  Salt since 2016.3.0 version so
200747       there is nothing to install from version 2016.3.0.
200748
200749       If you use an older Salt version or you want  to  override  PillarStack
200750       with a more recent one, follow the installation procedure below.
200751
200752       Installing  the  PillarStack  ext_pillar  is  as simple as dropping the
200753       stack.py file in the <extension_modules>/pillar directory (no  external
200754       python  module  required),  given that extension_modules is set in your
200755       salt-master                     configuration,                     see:
200756       http://docs.saltstack.com/en/latest/ref/configuration/master.html#extension-modules
200757
200758   Configuration in Salt
200759       Like any other external pillar, its configuration takes  place  through
200760       the ext_pillar key in the master config file.
200761
200762       However, you can configure PillarStack in 3 different ways:
200763
200764   Single config file
200765       This is the simplest option, you just need to set the path to your sin‐
200766       gle PillarStack config file like below:
200767
200768          ext_pillar:
200769            - stack: /path/to/stack.cfg
200770
200771   List of config files
200772       You can also provide a list of config files:
200773
200774          ext_pillar:
200775            - stack:
200776                - /path/to/stack1.cfg
200777                - /path/to/stack2.cfg
200778
200779   Select config files through grains|pillar|opts matching
200780       You can also opt for a much more  flexible  configuration:  PillarStack
200781       allows  one  to select the config files for the current minion based on
200782       matching values from either grains, or pillar, or opts objects.
200783
200784       Here is an example of such  a  configuration,  which  should  speak  by
200785       itself:
200786
200787          ext_pillar:
200788            - stack:
200789                pillar:environment:
200790                  dev: /path/to/dev/stack.cfg
200791                  prod: /path/to/prod/stack.cfg
200792                grains:custom:grain:
200793                  value:
200794                    - /path/to/stack1.cfg
200795                    - /path/to/stack2.cfg
200796                opts:custom:opt:
200797                  value: /path/to/stack0.cfg
200798
200799   PillarStack configuration files
200800       The config files that are referenced in the above ext_pillar configura‐
200801       tion are jinja2 templates which must render as a simple ordered list of
200802       yaml files that will then be merged to build pillar data.
200803
200804       The  path  of these yaml files must be relative to the directory of the
200805       PillarStack config file. These paths support unix style  pathname  pat‐
200806       tern      expansion      through     the     Python     glob     module
200807       <https://docs.python.org/2/library/glob.html>.
200808
200809       The following variables are available  in  jinja2  templating  of  Pil‐
200810       larStack configuration files:
200811
200812       · pillar:  the  pillar  data (as passed by Salt to our ext_pillar func‐
200813         tion)
200814
200815       · minion_id: the minion id ;-)
200816
200817       · __opts__: a dictionary of mostly Salt configuration options
200818
200819       · __grains__: a dictionary of the grains of the minion making this pil‐
200820         lar call
200821
200822       · __salt__:  a dictionary of Salt module functions, useful so you don't
200823         have to duplicate functions that already exist  (note:  runs  on  the
200824         master)
200825
200826       So you can use all the power of jinja2 to build your list of yaml files
200827       that will be merged in pillar data.
200828
200829       For example, you could have a PillarStack config file which looks like:
200830
200831          $ cat /path/to/stack/config.cfg
200832          core.yml
200833          common/*.yml
200834          osarchs/{{ __grains__['osarch'] }}.yml
200835          oscodenames/{{ __grains__['oscodename'] }}.yml
200836          {%- for role in pillar.get('roles', []) %}
200837          roles/{{ role }}.yml
200838          {%- endfor %}
200839          minions/{{ minion_id }}.yml
200840
200841       And the whole directory structure could look like:
200842
200843          $ tree /path/to/stack/
200844          /path/to/stack/
200845          ├── config.cfg
200846          ├── core.yml
200847          ├── common/
200848          │   ├── xxx.yml
200849          │   └── yyy.yml
200850          ├── osarchs/
200851          │   ├── amd64.yml
200852          │   └── armhf.yml
200853          ├── oscodenames/
200854          │   ├── wheezy.yml
200855          │   └── jessie.yml
200856          ├── roles/
200857          │   ├── web.yml
200858          │   └── db.yml
200859          └── minions/
200860              ├── test-1-dev.yml
200861              └── test-2-dev.yml
200862
200863   Overall process
200864       In the above PillarStack configuration, given that test-1-dev minion is
200865       an  amd64  platform  running  Debian  Jessie, and which pillar roles is
200866       ["db"], the following yaml files would be merged in order:
200867
200868       · core.yml
200869
200870       · common/xxx.yml
200871
200872       · common/yyy.yml
200873
200874       · osarchs/amd64.yml
200875
200876       · oscodenames/jessie.yml
200877
200878       · roles/db.yml
200879
200880       · minions/test-1-dev.yml
200881
200882       Before merging, every files above will be preprocessed as  Jinja2  tem‐
200883       plates.   The following variables are available in Jinja2 templating of
200884       yaml files:
200885
200886       · stack: the PillarStack pillar data object  that  has  currently  been
200887         merged (data from previous yaml files in PillarStack configuration)
200888
200889       · pillar:  the  pillar  data (as passed by Salt to our ext_pillar func‐
200890         tion)
200891
200892       · minion_id: the minion id ;-)
200893
200894       · __opts__: a dictionary of mostly Salt configuration options
200895
200896       · __grains__: a dictionary of the grains of the minion making this pil‐
200897         lar call
200898
200899       · __salt__:  a dictionary of Salt module functions, useful so you don't
200900         have to duplicate functions that already exist  (note:  runs  on  the
200901         master)
200902
200903       So  you  can use all the power of jinja2 to build your pillar data, and
200904       even use other pillar values that  has  already  been  merged  by  Pil‐
200905       larStack  (from  previous  yaml  files  in  PillarStack  configuration)
200906       through the stack variable.
200907
200908       Once a yaml file has been preprocessed by Jinja2, we  obtain  a  Python
200909       dict  -  let's  call  it  yml_data  - then, PillarStack will merge this
200910       yml_data dict in the main stack dict  (which  contains  already  merged
200911       PillarStack  pillar  data).   By default, PillarStack will deeply merge
200912       yml_data in stack (similarly to the  recurse  salt  pillar_source_merg‐
200913       ing_strategy), but 3 merging strategies are currently available for you
200914       to choose (see next section).
200915
200916       Once every yaml files have been processed, the stack dict will  contain
200917       your  whole  own  pillar data, merged in order by PillarStack.  So Pil‐
200918       larStack ext_pillar returns the stack dict, the contents of which  Salt
200919       takes care to merge in with all of the other pillars and finally return
200920       the whole pillar to the minion.
200921
200922   Merging strategies
200923       The way the data from a new yaml_data dict is merged with the  existing
200924       stack  data  can  be controlled by specifying a merging strategy. Right
200925       now this strategy can either be merge-last (the default),  merge-first,
200926       remove, or overwrite.
200927
200928       Note  that  scalar  values  like  strings, integers, booleans, etc. are
200929       always evaluated using the overwrite strategy (other  strategies  don't
200930       make sense in that case).
200931
200932       The merging strategy can be set by including a dict in the form of:
200933
200934          __: <merging strategy>
200935
200936       as  the  first item of the dict or list.  This allows fine grained con‐
200937       trol over the merging process.
200938
200939   merge-last (default) strategy
200940       If the merge-last strategy is selected (the default), then  content  of
200941       dict  or list variables is merged recursively with previous definitions
200942       of this variable (similarly to  the  recurse  salt  pillar_source_merg‐
200943       ing_strategy).  This allows for extending previously defined data.
200944
200945   merge-first strategy
200946       If  the  merge-first  strategy is selected, then the content of dict or
200947       list variables are swapped between  the  yaml_data  and  stack  objects
200948       before being merged recursively with the merge-last previous strategy.
200949
200950   remove strategy
200951       If  the remove strategy is selected, then content of dict or list vari‐
200952       ables in stack are removed only if the corresponding item is present in
200953       the  yaml_data  dict.   This  allows for removing items from previously
200954       defined data.
200955
200956   overwrite strategy
200957       If the overwrite strategy is selected, then the content of dict or list
200958       variables in stack is overwritten by the content of yaml_data dict.  So
200959       this allows one to overwrite variables from previous definitions.
200960
200961   Merging examples
200962       Let's go through small examples that should  clarify  what's  going  on
200963       when a yaml_data dict is merged in the stack dict.
200964
200965       When you don't specify any strategy, the default merge-last strategy is
200966       selected:
200967
200968┌───────────────────────────┬─────────────────────────────┬─────────────────────────────┐
200969stack                      yaml_data                   stack (after merge)         │
200970├───────────────────────────┼─────────────────────────────┼─────────────────────────────┤
200971│                           │                             │                             │
200972│          users:           │           users:            │           users:            │
200973│            tom:           │             tom:            │             tom:            │
200974│              uid: 500     │               uid: 1000     │               uid: 1000     │
200975│              roles:       │               roles:        │               roles:        │
200976│                - sysadmin │                 - developer │                 - sysadmin  │
200977│            root:          │             mat:            │                 - developer │
200978│              uid: 0       │               uid: 1001     │             mat:            │
200979│                           │                             │               uid: 1001     │
200980│                           │                             │             root:           │
200981│                           │                             │               uid: 0        │
200982└───────────────────────────┴─────────────────────────────┴─────────────────────────────┘
200983
200984       Then you can select a custom merging strategy using the  __  key  in  a
200985       dict:
200986
200987┌───────────────────────────┬─────────────────────────────┬─────────────────────────────┐
200988stack                      yaml_data                   stack (after merge)         │
200989└───────────────────────────┴─────────────────────────────┴─────────────────────────────┘
200990
200991│                           │                             │                             │
200992│          users:           │           users:            │           users:            │
200993│            tom:           │             __: merge-last  │             tom:            │
200994│              uid: 500     │             tom:            │               uid: 1000     │
200995│              roles:       │               uid: 1000     │               roles:        │
200996│                - sysadmin │               roles:        │                 - sysadmin  │
200997│            root:          │                 - developer │                 - developer │
200998│              uid: 0       │             mat:            │             mat:            │
200999│                           │               uid: 1001     │               uid: 1001     │
201000│                           │                             │             root:           │
201001│                           │                             │               uid: 0        │
201002├───────────────────────────┼─────────────────────────────┼─────────────────────────────┤
201003│                           │                             │                             │
201004│          users:           │           users:            │           users:            │
201005│            tom:           │             __: merge-first │             tom:            │
201006│              uid: 500     │             tom:            │               uid: 500      │
201007│              roles:       │               uid: 1000     │               roles:        │
201008│                - sysadmin │               roles:        │                 - developer │
201009│            root:          │                 - developer │                 - sysadmin  │
201010│              uid: 0       │             mat:            │             mat:            │
201011│                           │               uid: 1001     │               uid: 1001     │
201012│                           │                             │             root:           │
201013│                           │                             │               uid: 0        │
201014├───────────────────────────┼─────────────────────────────┼─────────────────────────────┤
201015│                           │                             │                             │
201016│          users:           │           users:            │           users:            │
201017│            tom:           │             __: remove      │             root:           │
201018│              uid: 500     │             tom:            │               uid: 0        │
201019│              roles:       │             mat:            │                             │
201020│                - sysadmin │                             │                             │
201021│            root:          │                             │                             │
201022│              uid: 0       │                             │                             │
201023├───────────────────────────┼─────────────────────────────┼─────────────────────────────┤
201024│                           │                             │                             │
201025│          users:           │           users:            │           users:            │
201026│            tom:           │             __: overwrite   │             tom:            │
201027│              uid: 500     │             tom:            │               uid: 1000     │
201028│              roles:       │               uid: 1000     │               roles:        │
201029│                - sysadmin │               roles:        │                 - developer │
201030│            root:          │                 - developer │             mat:            │
201031│              uid: 0       │             mat:            │               uid: 1001     │
201032│                           │               uid: 1001     │                             │
201033└───────────────────────────┴─────────────────────────────┴─────────────────────────────┘
201034
201035       You  can  also  select a custom merging strategy using a __ object in a
201036       list:
201037
201038      ┌───────────────────┬───────────────────────────────┬─────────────────────┐
201039stack              yaml_data                     stack (after merge) │
201040      ├───────────────────┼───────────────────────────────┼─────────────────────┤
201041      │                   │                               │                     │
201042      │          users:   │           users:              │           users:    │
201043      │            - tom  │             - __: merge-last  │             - tom   │
201044      │            - root │             - mat             │             - root  │
201045      │                   │                               │             - mat   │
201046      ├───────────────────┼───────────────────────────────┼─────────────────────┤
201047      │                   │                               │                     │
201048      │          users:   │           users:              │           users:    │
201049      │            - tom  │             - __: merge-first │             - mat   │
201050      │            - root │             - mat             │             - tom   │
201051      │                   │                               │             - root  │
201052      ├───────────────────┼───────────────────────────────┼─────────────────────┤
201053      │                   │                               │                     │
201054      │          users:   │           users:              │           users:    │
201055      │            - tom  │             - __: remove      │             - root  │
201056      │            - root │             - mat             │                     │
201057      │                   │             - tom             │                     │
201058      ├───────────────────┼───────────────────────────────┼─────────────────────┤
201059      │                   │                               │                     │
201060      │          users:   │           users:              │           users:    │
201061      │            - tom  │             - __: overwrite   │             - mat   │
201062      │            - root │             - mat             │                     │
201063      └───────────────────┴───────────────────────────────┴─────────────────────┘
201064
201065       salt.pillar.stack.ext_pillar(minion_id, pillar, *args, **kwargs)
201066
201067   salt.pillar.svn_pillar
201068       Clone a remote SVN repository and use the filesystem as a Pillar source
201069
201070       This external Pillar source can be configured in the master config file
201071       like so:
201072
201073          ext_pillar:
201074            - svn: trunk svn://svnserver/repo root=subdirectory
201075
201076       The  root=  parameter is optional and used to set the subdirectory from
201077       where to look for Pillar files (such as top.sls).
201078
201079       Changed in version 2014.7.0: The optional root parameter will be added.
201080
201081
201082       Note that this is not the same thing as configuring pillar  data  using
201083       the  pillar_roots  parameter.  The  branch referenced in the ext_pillar
201084       entry above (master), would evaluate to the base environment,  so  this
201085       branch needs to contain a top.sls with a base section in it, like this:
201086
201087          base:
201088            '*':
201089              - foo
201090
201091       To use other environments from the same SVN repo as svn_pillar sources,
201092       just add additional lines, like so:
201093
201094          ext_pillar:
201095            - svn: trunk svn://svnserver/repo
201096            - svn: dev svn://svnserver/repo
201097
201098       In this case, the dev branch would need its own top.sls with a dev sec‐
201099       tion in it, like this:
201100
201101          dev:
201102            '*':
201103              - bar
201104
201105       class   salt.pillar.svn_pillar.SvnPillar(branch,  repo_location,  root,
201106       opts)
201107              Deal with the remote SVN repository for Pillar
201108
201109              pillar_dir()
201110                     Returns the directory of the pillars (repo cache + branch
201111                     + root)
201112
201113              update()
201114
201115       salt.pillar.svn_pillar.ext_pillar(minion_id, pillar, repo_string)
201116              Execute a command and read the output as YAML
201117
201118   salt.pillar.varstack_pillar
201119       Use Varstack data as a Pillar source
201120
201121   Configuring Varstack
201122       Using  varstack  in  Salt is fairly simple. Just put the following into
201123       the config file of your master:
201124
201125          ext_pillar:
201126            - varstack: /etc/varstack.yaml
201127
201128       Varstack will then use /etc/varstack.yaml to determine which configura‐
201129       tion  data  to  return as pillar information. From there you can take a
201130       look at the README of varstack on how this file is evaluated.
201131
201132       salt.pillar.varstack_pillar.ext_pillar(minion_id, pillar, conf)
201133              Parse varstack data and return the result
201134
201135   salt.pillar.vault module
201136       Vault Pillar Module
201137
201138       maintainer
201139              SaltStack
201140
201141       maturity
201142              New
201143
201144       platform
201145              all
201146
201147       New in version 2016.11.0.
201148
201149
201150       This module allows pillar data to be stored in Hashicorp Vault.
201151
201152       Base configuration instructions are documented in the execution  module
201153       docs.  Below are noted extra configuration required for the pillar mod‐
201154       ule, but the base configuration must also be completed.
201155
201156       After the base Vault configuration is created,  add  the  configuration
201157       below to the ext_pillar section in the Salt master configuration.
201158
201159          ext_pillar:
201160            - vault: path=secret/salt
201161
201162       Each  key  needs  to  have  all  the key-value pairs with the names you
201163       require. Avoid naming every key 'password' as you they will collide:
201164
201165       If you want to nest results under a nesting_key name use the  following
201166       format:
201167
201168          ext_pillar:
201169
201170                 ·
201171
201172                   vault: conf: path=secret/salt nesting_key: vault_key_name
201173
201174          $ vault write secret/salt auth=my_password master=127.0.0.1
201175
201176       The above will result in two pillars being available, auth and master.
201177
201178       You  can  then use normal pillar requests to get each key pair directly
201179       from pillar root. Example:
201180
201181          $ salt-ssh '*' pillar.get auth
201182
201183       Multiple Vault sources may also be used:
201184
201185          ext_pillar:
201186            - vault: path=secret/salt
201187            - vault: path=secret/root
201188            - vault: path=secret/minions/{minion}/pass
201189
201190       You can also use nesting here as well.  Identical nesting keys will get
201191       merged.
201192
201193          ext_pillar:
201194            - vault:
201195                 conf: path=secret/salt
201196                 nesting_key: keyname1
201197            - vault:
201198                 conf: path=secret/root
201199                 nesting_key: keyname1
201200            - vault:
201201                 conf: path=secret/minions/{minion}/pass
201202                 nesting_key: keyname2
201203
201204       The  difference  between the return with and without the nesting key is
201205       shown below.  This example takes the  key  value  pairs  returned  from
201206       vault as follows:
201207
201208       path=secret/salt
201209
201210       Key             Value ---             ----- salt-passwd     badpasswd1
201211
201212       path=secret/root
201213
201214       Key              Value  ---              ----- root-passwd     rootbad‐
201215       passwd1
201216
201217       path=secret/minions/{minion}/pass
201218
201219       Key             Value ---             ----- minion-passwd    minionbad‐
201220       passwd1
201221
201222          #Nesting Key not defined
201223
201224          local:
201225              ----------
201226              salt-passwd:
201227                  badpasswd1
201228              root-passwd:
201229                  rootbadpasswd1
201230              minion-passwd:
201231                  minionbadpasswd1
201232
201233          #Nesting Key defined
201234
201235          local:
201236              ----------
201237              keyname1:
201238                  ----------
201239                      salt-passwd:
201240                          badpasswd1
201241                      root-passwd:
201242                          rootbadpasswd1
201243              keyname2:
201244                  ----------
201245                      minion-passwd:
201246                          minionbadpasswd1
201247
201248       salt.pillar.vault.ext_pillar(minion_id, pillar, conf, nesting_key=None)
201249              Get pillar data from Vault for the configuration conf.
201250
201251   salt.pillar.venafi module
201252       Venafi Pillar Certificates
201253
201254       This  module  will  only return pillar data if the venafi runner module
201255       has already been used to create certificates.
201256
201257       To configure this module, set venafi to True in the ext_pillar  section
201258       of your master configuration file:
201259
201260          ext_pillar:
201261            - venafi: True
201262
201263       salt.pillar.venafi.ext_pillar(minion_id, pillar, conf)
201264              Return an existing set of certificates
201265
201266   salt.pillar.virtkey
201267       Accept a key from a hypervisor if the virt runner has already submitted
201268       an authorization request
201269
201270       salt.pillar.virtkey.ext_pillar(hyper_id, pillar, name, key)
201271              Accept the key for the VM on the hyper, if authorized.
201272
201273   salt.pillar.vmware_pillar module
201274       Pillar data from vCenter or an ESXi host
201275
201276       New in version 2017.7.0.
201277
201278
201279       depends
201280
201281              · pyVmomi
201282
201283       This external pillar can pull attributes from objects in vCenter or  an
201284       ESXi host and provide those attributes as pillar data to minions.  This
201285       can allow for pillar based targeting of minions on  ESXi  host,  Datas‐
201286       tore,  VM configuration, etc.  This setup requires only the salt master
201287       have access to the vCenter server/ESXi hosts.
201288
201289       The pillar will return an empty dict if the 'os' or 'virtual' grain are
201290       not 'VMWare', 'ESXi', or 'VMWare ESXi'.
201291
201292   Defaults
201293       · The external pillar will search for Virtual Machines with the VM name
201294         matching the minion id.
201295
201296       · Data will be returned into the 'vmware' pillar key.
201297
201298       · The external pillar has a default set of  properties  to  return  for
201299         both VirtualMachine and HostSystem types.
201300
201301   Configuring the VMWare pillar
201302       The required minimal configuration in the salt master ext_pillar setup:
201303
201304          ext_pillar:
201305              - vmware:
201306                  host: <vcenter/esx host>
201307                  username: <user to connect with>
201308                  password: <password>
201309
201310       Optionally,  the  following  keyword  arguments  can  be  passed to the
201311       ext_pillar for customized configuration:
201312
201313          pillar_key
201314                 Optionally set the  pillar  key  to  return  the  data  into.
201315                 Default is vmware.
201316
201317          protocol
201318                 Optionally set to alternate protocol if the vCenter server or
201319                 ESX/ESXi host is not using the default protocol. Default pro‐
201320                 tocol is https.
201321
201322          port   Optionally  set  to  alternate  port if the vCenter server or
201323                 ESX/ESXi host is not using the default port. Default port  is
201324                 443.
201325
201326          property_name
201327                 Property  name  to  match the minion id against.  Defaults to
201328                 name.
201329
201330          property_types
201331                 Optionally specify a list of pyVmomi vim types to search  for
201332                 the  minion  id  in 'property_name'.  Default is ['VirtualMa‐
201333                 chine'].
201334
201335                 For example, to search both vim.VirtualMachine and  vim.Host‐
201336                 System object types:
201337
201338                     ext_pillar:
201339                         - vmware:
201340                             host: myesx
201341                             username: root
201342                             password: complex_password
201343                             property_types:
201344                               - VirtualMachine
201345                               - HostSystem
201346
201347                 Additionally,  the  list  of property types can be dicts, the
201348                 item of the dict being a list  specifying  the  attribute  to
201349                 return for that vim object type.
201350
201351                 The  pillar  will attempt to recurse the attribute and return
201352                 all child attributes.
201353
201354                 To explicitly specify deeper attributes without attempting to
201355                 recurse  an  attribute,  convert the list item to a dict with
201356                 the item of the dict being the child  attributes  to  return.
201357                 Follow  this  pattern to return attributes as deep within the
201358                 object as necessary.
201359
201360                 NOTE:
201361                     Be  careful  when  specifying  custom  attributes!   Many
201362                     attributes have objects as attributes which have the par‐
201363                     ent object as an attribute and which will cause the  pil‐
201364                     lar to fail due to the attempt to convert all sub-objects
201365                     recursively (i.e. infinite attribute loops).   Specifying
201366                     only the sub-attributes you would like returned will keep
201367                     the infinite recursion from occurring.
201368
201369                     A maximum recursion exception will occur in this case and
201370                     the pillar will not return as desired.
201371
201372                     ext_pillar:
201373                         - vmware:
201374                             host: myvcenter
201375                             username: my_user
201376                             password: my_pass
201377                             replace_default_attributes: True
201378                             property_types:
201379                               - VirtualMachine:
201380                                   - config:
201381                                      - bootOptions:
201382                                          - bootDelay
201383                                          - bootRetryDelay
201384                               - HostSystem:
201385                                   - datastore:
201386                                      - name
201387
201388                 The  above  ext_pillar example would return a pillar like the
201389                 following for a VirtualMachine object that's name matched the
201390                 minion id:
201391
201392                     vmware:
201393                       config:
201394                         bootOptions:
201395                           bootDelay: 1000
201396                           bootRetryDelay: 1000
201397
201398                 If  you were to retrieve these virtual machine attributes via
201399                 pyVmomi directly, this would be the same as
201400
201401                     vmObject.config.bootOptions.bootDelay
201402                     vmObject.config.bootOptionis.bootRetryDelay
201403
201404                 The above ext_pillar example would return a pillar  like  the
201405                 following  for  a  HostySystem object that's name matched the
201406                 minion id:
201407
201408                     vmware:
201409                       datastore:
201410                          - name: Datastore1
201411                          - name: Datastore2
201412
201413                 The 'datastore' property of a HostSystem object is a list  of
201414                 datastores, thus a list is returned.
201415
201416          replace_default_attributes
201417                 If  custom  attributes  are  specified  by the property_types
201418                 parameter,  replace_default_attributes  determines  if  those
201419                 will  be  added  to default attributes (False) or replace the
201420                 default attributes completely (True).  The default setting is
201421                 'False'.
201422
201423                 NOTE:
201424                     vCenter   "Custom  Attributes"  (i.e.  Annotations)  will
201425                     always be returned if it exists on the object as part  of
201426                     the pillar regardless of this setting.
201427
201428       salt.pillar.vmware_pillar.ext_pillar(minion_id, pillar, **kwargs)
201429              Check vmware/vcenter for all data
201430
201431   proxy modules
201432┌──────────────┬────────────────────────────────────────────────────────────────────────────────┐
201433arista_pyeapi │ Arista pyeapi                                                                  │
201434├──────────────┼────────────────────────────────────────────────────────────────────────────────┤
201435cimc          │ Proxy   Minion   interface                                                     │
201436│              │ module for managing  Cisco                                                     │
201437│              │ Integrated Management Con‐                                                     │
201438│              │ troller devices                                                                │
201439├──────────────┼────────────────────────────────────────────────────────────────────────────────┤
201440chronos       │ Chronos                                                                        │
201441├──────────────┼────────────────────────────────────────────────────────────────────────────────┤
201442cimc          │ Proxy   Minion   interface                                                     │
201443│              │ module  for managing Cisco                                                     │
201444│              │ Integrated Management Con‐                                                     │
201445│              │ troller devices                                                                │
201446├──────────────┼────────────────────────────────────────────────────────────────────────────────┤
201447cisconso      │ Proxy   Minion   interface                                                     │
201448│              │ module for managing (prac‐                                                     │
201449│              │ tically)    any    network                                                     │
201450│              │ device with Cisco  Network                                                     │
201451│              │ Services      Orchestrator                                                     │
201452│              │ (Cisco NSO).                                                                   │
201453├──────────────┼────────────────────────────────────────────────────────────────────────────────┤
201454dummy         │ This is a dummy proxy-min‐                                                     │
201455│              │ ion  designed  for testing                                                     │
201456│              │ the proxy  minion  subsys‐                                                     │
201457│              │ tem.                                                                           │
201458├──────────────┼────────────────────────────────────────────────────────────────────────────────┤
201459esxi          │ Proxy   Minion   interface                                                     │
201460│              │ module for managing VMware                                                     │
201461│              │ ESXi hosts.                                                                    │
201462├──────────────┼────────────────────────────────────────────────────────────────────────────────┤
201463fx2           │ Dell FX2 chassis                                                               │
201464├──────────────┼────────────────────────────────────────────────────────────────────────────────┤
201465junos         │ Interface   with  a  Junos                                                     │
201466│              │ device via proxy-minion.                                                       │
201467├──────────────┼────────────────────────────────────────────────────────────────────────────────┤
201468marathon      │ Marathon                                                                       │
201469├──────────────┼────────────────────────────────────────────────────────────────────────────────┤
201470napalm        │ NAPALM: Network Automation                                                     │
201471│              │ and        Programmability                                                     │
201472│              │ Abstraction   Layer   with                                                     │
201473│              │ Multivendor support                                                            │
201474├──────────────┼────────────────────────────────────────────────────────────────────────────────┤
201475netmiko_px    │ Netmiko                                                                        │
201476├──────────────┼────────────────────────────────────────────────────────────────────────────────┤
201477nxos          │ Proxy  Minion for Cisco NX                                                     │
201478│              │ OS Switches                                                                    │
201479├──────────────┼────────────────────────────────────────────────────────────────────────────────┤
201480nxos_api      │ Proxy  Minion  to   manage                                                     │
201481│              │ Cisco    Nexus    Switches                                                     │
201482│              │ (NX-OS) over the NX-API                                                        │
201483├──────────────┼────────────────────────────────────────────────────────────────────────────────┤
201484panos         │ Proxy   Minion   interface                                                     │
201485│              │ module  for  managing Palo                                                     │
201486│              │ Alto firewall devices                                                          │
201487├──────────────┼────────────────────────────────────────────────────────────────────────────────┤
201488philips_hue   │ Philips HUE  lamps  module                                                     │
201489│              │ for proxy.                                                                     │
201490├──────────────┼────────────────────────────────────────────────────────────────────────────────┤
201491rest_sample   │ This     is    a    simple                                                     │
201492│              │ proxy-minion  designed  to                                                     │
201493│              │ connect to and communicate                                                     │
201494│              │ with the bottle-based  web                                                     │
201495│              │ service    contained    in                                                     │
201496│              │ https://github.com/saltstack/salt-contrib/tree/master/proxyminion_rest_example
201497├──────────────┼────────────────────────────────────────────────────────────────────────────────┤
201498ssh_sample    │ This  is  a  simple proxy-minion designed to connect to and communicate with a │
201499│              │ server that exposes functionality via SSH.                                     │
201500└──────────────┴────────────────────────────────────────────────────────────────────────────────┘
201501
201502   salt.proxy.arista_pyeapi
201503   Arista pyeapi
201504       New in version Fluorine.
201505
201506
201507       Proxy module for managing Arista switches via the eAPI using the pyeapi
201508       library.
201509
201510       codeauthor
201511              Mircea Ulinic <ping@mirceaulinic.net>
201512
201513       maturity
201514              new
201515
201516       depends
201517              pyeapi
201518
201519       platform
201520              unix
201521
201522       NOTE:
201523          To  understand  how  to  correctly  enable  the eAPI on your switch,
201524          please check https://eos.arista.com/arista-eapi-101/.
201525
201526   Dependencies
201527       The pyeapi Proxy module requires pyeapi to be  installed:  pip  install
201528       pyeapi.
201529
201530   Pillar
201531       The  pyeapi  proxy  configuration  requires the following parameters in
201532       order to connect to the network device:
201533
201534       transport: https
201535              Specifies the type of connection transport to use. Valid  values
201536              for the connection are socket, http_local, http, and  https.
201537
201538       host: localhost
201539              The IP address or DNS host name of the connection device.
201540
201541       username: admin
201542              The username to pass to the device to authenticate the eAPI con‐
201543              nection.
201544
201545       password
201546              The password to pass to the device to authenticate the eAPI con‐
201547              nection.
201548
201549       port   The  TCP  port  of the endpoint for the eAPI connection. If this
201550              keyword is not specified, the  default  value  is  automatically
201551              determined  by  the  transport  type  (80  for  http, or 443 for
201552              https).
201553
201554       enablepwd
201555              The enable mode password if required by the destination node.
201556
201557       All the arguments may be optional, depending on your setup.
201558
201559   Proxy Pillar Example
201560          proxy:
201561            proxytype: pyeapi
201562            host: router1.example.com
201563            username: example
201564            password: example
201565
201566       salt.proxy.arista_pyeapi.call(method, *args, **kwargs)
201567              Calls an arbitrary pyeapi method.
201568
201569       salt.proxy.arista_pyeapi.conn()
201570              Return the connection object.
201571
201572       salt.proxy.arista_pyeapi.init(opts)
201573              Open the connection to the Arista switch over the eAPI.
201574
201575       salt.proxy.arista_pyeapi.initialized()
201576              Connection finished initializing?
201577
201578       salt.proxy.arista_pyeapi.ping()
201579              Connection open successfully?
201580
201581       salt.proxy.arista_pyeapi.shutdown(opts)
201582              Closes connection with the device.
201583
201584   salt.proxy.cimc module
201585   Proxy Minion interface module for managing Cisco Integrated Management Con‐
201586       troller devices
201587       New in version 2018.3.0.
201588
201589
201590       codeauthor
201591              Spencer Ervin <spencer_ervin@hotmail.com>
201592
201593       maturity
201594              new
201595
201596       depends
201597              none
201598
201599       platform
201600              unix
201601
201602       This  proxy  minion  enables  Cisco  Integrated  Management  Controller
201603       devices (hereafter referred to as simply 'cimc' devices to  be  treated
201604       individually like a Salt Minion.
201605
201606       The  cimc  proxy leverages the XML API functionality on the Cisco Inte‐
201607       grated Management Controller.  The Salt proxy must have access  to  the
201608       cimc on HTTPS (tcp/443).
201609
201610       More  in-depth  conceptual reading on Proxy Minions can be found in the
201611       Proxy Minion section of Salt's documentation.
201612
201613   Configuration
201614       To use this integration proxy module, please configure the following:
201615
201616   Pillar
201617       Proxy minions get their configuration from Salt's Pillar.  Every  proxy
201618       must  have  a  stanza  in Pillar and a reference in the Pillar top-file
201619       that matches the ID.
201620
201621          proxy:
201622            proxytype: cimc
201623            host: <ip or dns name of cimc host>
201624            username: <cimc username>
201625            password: <cimc password>
201626
201627   proxytype
201628       The proxytype key and value pair is critical, as it  tells  Salt  which
201629       interface to load from the proxy directory in Salt's install hierarchy,
201630       or from /srv/salt/_proxy on the Salt Master (if you have  created  your
201631       own proxy module, for example). To use this cimc Proxy Module, set this
201632       to cimc.
201633
201634   host
201635       The location, or ip/dns, of the cimc host. Required.
201636
201637   username
201638       The username used to login to the cimc host. Required.
201639
201640   password
201641       The password used to login to the cimc host. Required.
201642
201643       salt.proxy.cimc.get_config_resolver_class(cid=None, hierarchical=False)
201644              The configResolveClass method returns requested  managed  object
201645              in a given class.
201646
201647       salt.proxy.cimc.grains()
201648              Get the grains from the proxied device
201649
201650       salt.proxy.cimc.grains_refresh()
201651              Refresh the grains from the proxied device
201652
201653       salt.proxy.cimc.init(opts)
201654              This function gets called when the proxy starts up.
201655
201656       salt.proxy.cimc.initialized()
201657              Since  grains  are  loaded  in many different places and some of
201658              those places occur before the proxy can be  initialized,  return
201659              whether our init() function has been called
201660
201661       salt.proxy.cimc.logon()
201662              Logs into the cimc device and returns the session cookie.
201663
201664       salt.proxy.cimc.logout(cookie=None)
201665              Closes the session with the device.
201666
201667       salt.proxy.cimc.ping()
201668              Returns true if the device is reachable, else false.
201669
201670       salt.proxy.cimc.prepare_return(x)
201671              Converts the etree to dict
201672
201673       salt.proxy.cimc.set_config_modify(dn=None,   inconfig=None,  hierarchi‐
201674       cal=False)
201675              The configConfMo method configures the specified managed  object
201676              in a single subtree (for example, DN).
201677
201678       salt.proxy.cimc.shutdown()
201679              Shutdown  the  connection  to  the proxy device. For this proxy,
201680              shutdown is a no-op.
201681
201682   salt.proxy.chronos module
201683   Chronos
201684       Proxy minion for managing a Chronos cluster.
201685
201686   Dependencies
201687       · chronos execution module (salt.modules.chronos)
201688
201689   Pillar
201690       The chronos proxy configuration requires  a  'base_url'  property  that
201691       points to the chronos endpoint:
201692
201693          proxy:
201694            proxytype: chronos
201695            base_url: http://my-chronos-master.mydomain.com:4400
201696
201697       New in version 2015.8.2.
201698
201699
201700       salt.proxy.chronos.init(opts)
201701              Perform any needed setup.
201702
201703       salt.proxy.chronos.ping()
201704              Is the chronos api responding?
201705
201706       salt.proxy.chronos.shutdown(opts)
201707              For this proxy shutdown is a no-op
201708
201709   salt.proxy.cisconso
201710       Proxy  Minion  interface  module for managing (practically) any network
201711       device with Cisco Network Services Orchestrator (Cisco NSO). Cisco  NSO
201712       uses  a series of remote polling agents, APIs and SSH commands to fetch
201713       network configuration and represent it in a  data  model.   PyNSO,  the
201714       Python  module  used  by  this proxy minion does the task of converting
201715       native Python dictionaries into NETCONF/YANG syntax that the  REST  API
201716       for  Cisco NSO can then use to set the configuration of the target net‐
201717       work device.
201718
201719       Supported devices:
201720
201721              · A10 AX Series
201722
201723              · Arista 7150 Series
201724
201725              · Ciena 3000, 5000, ESM
201726
201727              · H3c S5800 Series
201728
201729              · Overture 1400, 2200, 5000, 5100, 6000
201730
201731              · Accedian MetroNID
201732
201733              · Avaya ERS 4000, SR8000, VSP 9000
201734
201735              ·
201736
201737                Cisco: APIC-DC, ASA, IOS, IOS XE, IOS XR, er, ME-4600, NX OS,
201738                       Prime Network Registrar, Quantum, StarOS, UCS ManagWSA
201739
201740              · Huawei: NE40E, quidway series, Enterprise  Network  Simulation
201741                Framework
201742
201743              · PaloAlto PA-2000, PA-3000, Virtualized Firewalls
201744
201745              · Adtran 900 Series
201746
201747              · Brocade ADX, MLX, Netiron, Vyatta
201748
201749              · Dell Force 10 Networking S-Series
201750
201751              · Infinera DTN-X Multi-Terabit Packet Optical Network Platform
201752
201753              · Pulsecom SuperG
201754
201755              · Adva 150CC Series
201756
201757              · CableLabs Converged Cable Access Platform
201758
201759              · Ericsson EFN324 Series, SE family
201760
201761              · Juniper: Contrail, EX, M, MX, QFX, SRX, Virtual SRX
201762
201763              · Quagga Routing Software
201764
201765              · Affirmed Networks
201766
201767              · Citrix Netscaler
201768
201769              · F5 BIG-IP
201770
201771              · NEC iPasolink
201772
201773              · Riverbed Steelhead Series
201774
201775              · Alcatel-Lucent 7XXX, SAM
201776
201777              · Clavister
201778
201779              · Fortinet
201780
201781              · Nominum DCS
201782
201783              · Sonus SBC 5000 Series
201784
201785              · Allied Telesys
201786
201787              · Open vSwitch
201788
201789       New in version 2016.11.0.
201790
201791
201792       codeauthor
201793              Anthony Shaw <anthony.shaw@dimensiondata.com>
201794
201795       This  proxy minion enables a consistent interface to fetch, control and
201796       maintain the configuration of network devices via  a  NETCONF-compliant
201797       control plane.  Cisco Network Services Orchestrator.
201798
201799       More  in-depth  conceptual reading on Proxy Minions can be found in the
201800       Proxy Minion section of Salt's documentation.
201801
201802   Dependencies
201803       · pynso Python module
201804
201805   PyNSO
201806       PyNSO can be installed via pip:
201807
201808          pip install pynso
201809
201810   Configuration
201811       To use this integration proxy module, please configure the following:
201812
201813   Pillar
201814       Proxy minions get their configuration from Salt's Pillar.  Every  proxy
201815       must  have  a  stanza  in Pillar and a reference in the Pillar top-file
201816       that matches the ID. At a minimum for communication with the NSO  host,
201817       the pillar should look like this:
201818
201819          proxy:
201820            proxytype: cisconso
201821            host: <ip or dns name of host>
201822            port: 8080
201823            use_ssl: false
201824            username: <username>
201825            password: password
201826
201827   proxytype
201828       The  proxytype  key  and value pair is critical, as it tells Salt which
201829       interface to load from the proxy directory in Salt's install hierarchy,
201830       or  from  /srv/salt/_proxy on the Salt Master (if you have created your
201831       own proxy module, for example). To use this Cisco NSO Proxy Module, set
201832       this to cisconso.
201833
201834   host
201835       The location, or IP/dns, of the Cisco NSO API host. Required.
201836
201837   username
201838       The  username  used  to  login  to  the  Cisco NSO host, such as admin.
201839       Required.
201840
201841   passwords
201842       The password for the given user. Required.
201843
201844   use_ssl
201845       Whether to use HTTPS messaging to speak to the API.
201846
201847   port
201848       The port that the Cisco NSO API is running on, 8080 by default
201849
201850   Salt Proxy
201851       After your pillar is in place, you can test the proxy.  The  proxy  can
201852       run  on  any  machine that has network connectivity to your Salt Master
201853       and to the Cisco NSO host in question. SaltStack  recommends  that  the
201854       machine  running  the  salt-proxy  process  also  run a regular minion,
201855       though it is not strictly necessary.
201856
201857       On the machine  that  will  run  the  proxy,  make  sure  there  is  an
201858       /etc/salt/proxy file with at least the following in it:
201859
201860          master: <ip or hostname of salt-master>
201861
201862       You can then start the salt-proxy process with:
201863
201864          salt-proxy --proxyid <id you want to give the host>
201865
201866       You  may  want  to  add  -l debug to run the above in the foreground in
201867       debug mode just to make sure everything is OK.
201868
201869       Next, accept the key for the proxy on your salt-master, just  like  you
201870       would for a regular minion:
201871
201872          salt-key -a <id you gave the cisconso host>
201873
201874       You can confirm that the pillar data is in place for the proxy:
201875
201876          salt <id> pillar.items
201877
201878       And  now  you should be able to ping the Cisco NSO host to make sure it
201879       is responding:
201880
201881          salt <id> test.ping
201882
201883       salt.proxy.cisconso.apply_rollback(datastore, name)
201884              Apply a system rollback
201885
201886              Parameters
201887
201888                     · datastore (DatastoreType (str enum).) -- The datastore,
201889                       e.g.  running,  operational.   One of the NETCONF store
201890                       IETF types
201891
201892                     · name (str) -- an ID of the rollback to restore
201893
201894       salt.proxy.cisconso.get_data(datastore, path)
201895              Get the configuration of the device tree at the given path
201896
201897              Parameters
201898
201899                     · datastore (DatastoreType (str enum).) -- The datastore,
201900                       e.g.  running,  operational.   One of the NETCONF store
201901                       IETF types
201902
201903                     · path (list of str OR tuple) -- The device path, a  list
201904                       of element names in order, comma separated
201905
201906              Returns
201907                     The network configuration at that tree
201908
201909              Return type
201910                     dict
201911
201912                 salt cisco-nso cisconso.get_data devices
201913
201914       salt.proxy.cisconso.get_rollback(name)
201915              Get the backup of stored a configuration rollback
201916
201917              Parameters
201918                     name (str) -- Typically an ID of the backup
201919
201920              Return type
201921                     str
201922
201923              Returns
201924                     the contents of the rollback snapshot
201925
201926       salt.proxy.cisconso.get_rollbacks()
201927              Get a list of stored configuration rollbacks
201928
201929       salt.proxy.cisconso.grains()
201930              Get the grains from the proxy device.
201931
201932       salt.proxy.cisconso.init(opts)
201933
201934       salt.proxy.cisconso.ping()
201935              Check  to  see  if  the host is responding. Returns False if the
201936              host didn't respond, True otherwise.
201937
201938              CLI Example:
201939
201940                 salt cisco-nso test.ping
201941
201942       salt.proxy.cisconso.set_data_value(datastore, path, data)
201943              Get a data entry in a datastore
201944
201945              Parameters
201946
201947                     · datastore (DatastoreType (str enum).) -- The datastore,
201948                       e.g.  running,  operational.   One of the NETCONF store
201949                       IETF types
201950
201951                     · path (list of str OR tuple) -- The device path  to  set
201952                       the  value  at, a list of element names in order, comma
201953                       separated
201954
201955                     · data (dict) -- The new value at the given path
201956
201957              Return type
201958                     bool
201959
201960              Returns
201961                     True if successful, otherwise error.
201962
201963       salt.proxy.cisconso.shutdown()
201964              Shutdown the connection to the proxy  device.  For  this  proxy,
201965              shutdown is a no-op.
201966
201967   salt.proxy.dummy module
201968       This is a dummy proxy-minion designed for testing the proxy minion sub‐
201969       system.
201970
201971       salt.proxy.dummy.fns()
201972
201973       salt.proxy.dummy.grains()
201974              Make up some grains
201975
201976       salt.proxy.dummy.grains_refresh()
201977              Refresh the grains
201978
201979       salt.proxy.dummy.init(opts)
201980
201981       salt.proxy.dummy.initialized()
201982              Since grains are loaded in many different  places  and  some  of
201983              those  places  occur before the proxy can be initialized, return
201984              whether our init() function has been called
201985
201986       salt.proxy.dummy.package_install(name, **kwargs)
201987              Install a "package" on the REST server
201988
201989       salt.proxy.dummy.package_list()
201990              List "packages" installed on the REST server
201991
201992       salt.proxy.dummy.package_remove(name)
201993              Remove a "package" on the REST server
201994
201995       salt.proxy.dummy.package_status(name)
201996              Check the installation status of a package on the REST server
201997
201998       salt.proxy.dummy.ping()
201999              Degenerate ping
202000
202001       salt.proxy.dummy.service_list()
202002              List "services" on the REST server
202003
202004       salt.proxy.dummy.service_restart(name)
202005              Restart a "service" on the REST server
202006
202007       salt.proxy.dummy.service_start(name)
202008              Start a "service" on the dummy server
202009
202010       salt.proxy.dummy.service_status(name)
202011              Check if a service is running on the REST server
202012
202013       salt.proxy.dummy.service_stop(name)
202014              Stop a "service" on the dummy server
202015
202016       salt.proxy.dummy.shutdown(opts)
202017              For this proxy shutdown is a no-op
202018
202019       salt.proxy.dummy.test_from_state()
202020              Test function so we have something to call from a state :return:
202021
202022       salt.proxy.dummy.upgrade()
202023              "Upgrade" packages
202024
202025       salt.proxy.dummy.uptodate()
202026              Call the REST endpoint to see if the packages  on  the  "server"
202027              are up to date.
202028
202029   salt.proxy.esxi
202030       Proxy Minion interface module for managing VMware ESXi hosts.
202031
202032       New in version 2015.8.4.
202033
202034
202035       Special  Note:  SaltStack thanks Adobe Corporation for their support in
202036       creating this Proxy Minion integration.
202037
202038       This proxy minion enables VMware ESXi (hereafter referred to as  simply
202039       'ESXi') hosts to be treated individually like a Salt Minion.
202040
202041       Since the ESXi host may not necessarily run on an OS capable of hosting
202042       a Python stack, the ESXi host can't run a Salt Minion directly.  Salt's
202043       "Proxy  Minion"  functionality enables you to designate another machine
202044       to host a minion process that "proxies"  communication  from  the  Salt
202045       Master.  The  master  does  not  know nor care that the target is not a
202046       "real" Salt Minion.
202047
202048       More in-depth conceptual reading on Proxy Minions can be found  in  the
202049       Proxy Minion section of Salt's documentation.
202050
202051   Dependencies
202052       · pyVmomi Python Module
202053
202054       · ESXCLI
202055
202056   pyVmomi
202057       PyVmomi can be installed via pip:
202058
202059          pip install pyVmomi
202060
202061       NOTE:
202062          Version  6.0 of pyVmomi has some problems with SSL error handling on
202063          certain versions of Python. If using version 6.0 of pyVmomi,  Python
202064          2.6,  Python  2.7.9,  or  newer  must  be present. This is due to an
202065          upstream dependency in pyVmomi 6.0 that is not supported  in  Python
202066          versions  2.7  to 2.7.8. If the version of Python is not in the sup‐
202067          ported range, you will need to install an earlier  version  of  pyV‐
202068          momi. See Issue #29537 for more information.
202069
202070       Based  on the note above, to install an earlier version of pyVmomi than
202071       the version currently listed in PyPi, run the following:
202072
202073          pip install pyVmomi==5.5.0.2014.1.1
202074
202075       The 5.5.0.2014.1.1 is a known stable version that  this  original  ESXi
202076       State Module was developed against.
202077
202078   ESXCLI
202079       Currently, about a third of the functions used in the vSphere Execution
202080       Module require the ESXCLI package be installed on the  machine  running
202081       the Proxy Minion process.
202082
202083       The  ESXCLI  package  is also referred to as the VMware vSphere CLI, or
202084       vCLI.  VMware  provides  vCLI  package  installation  instructions  for
202085       vSphere 5.5 and vSphere 6.0.
202086
202087       Once all of the required dependencies are in place and the vCLI package
202088       is installed, you can check to see if you can connect to your ESXi host
202089       or vCenter server by running the following command:
202090
202091          esxcli -s <host-location> -u <username> -p <password> system syslog config get
202092
202093       If  the connection was successful, ESXCLI was successfully installed on
202094       your system.  You should see output related to the ESXi  host's  syslog
202095       configuration.
202096
202097   Configuration
202098       To use this integration proxy module, please configure the following:
202099
202100   Pillar
202101       Proxy  minions  get their configuration from Salt's Pillar. Every proxy
202102       must have a stanza in Pillar and a reference  in  the  Pillar  top-file
202103       that matches the ID. At a minimum for communication with the ESXi host,
202104       the pillar should look like this:
202105
202106          proxy:
202107            proxytype: esxi
202108            host: <ip or dns name of esxi host>
202109            username: <ESXi username>
202110            passwords:
202111              - first_password
202112              - second_password
202113              - third_password
202114            credstore: <path to credential store>
202115
202116   proxytype
202117       The proxytype key and value pair is critical, as it  tells  Salt  which
202118       interface to load from the proxy directory in Salt's install hierarchy,
202119       or from /srv/salt/_proxy on the Salt Master (if you have  created  your
202120       own proxy module, for example). To use this ESXi Proxy Module, set this
202121       to esxi.
202122
202123   host
202124       The location, or ip/dns, of the ESXi host. Required.
202125
202126   username
202127       The username used to login to the ESXi host, such as root. Required.
202128
202129   passwords
202130       A list of passwords to be used to try and login to the  ESXi  host.  At
202131       least one password in this list is required.
202132
202133       The  proxy  integration  will  try the passwords listed in order. It is
202134       configured this way so you can have a regular password and the password
202135       you   may   be   updating   for   an   ESXi   host   either   via   the
202136       vsphere.update_host_password  execution  module  function  or  via  the
202137       esxi.password_present  state  function. This way, after the password is
202138       changed, you should not need to restart  the  proxy  minion--it  should
202139       just  pick  up  the the new password provided in the list. You can then
202140       change pillar at will to move that password to the front and retire the
202141       unused ones.
202142
202143       This also allows you to use any number of potential fallback passwords.
202144
202145       NOTE:
202146          When  a password is changed on the host to one in the list of possi‐
202147          ble passwords, the further down on the list  the  password  is,  the
202148          longer  individual  commands will take to return. This is due to the
202149          nature of pyVmomi's login system. We have  to  wait  for  the  first
202150          attempt to fail before trying the next password on the list.
202151
202152          This  scenario  is  especially true, and even slower, when the proxy
202153          minion first starts. If the correct password is not the first  pass‐
202154          word  on  the  list,  it  may  take  up to a minute for test.ping to
202155          respond with a True result. Once the initial authorization  is  com‐
202156          plete, the responses for commands will be a little faster.
202157
202158          To  avoid  these longer waiting periods, SaltStack recommends moving
202159          the correct password to the top of the list and restarting the proxy
202160          minion at your earliest convenience.
202161
202162   protocol
202163       If  the  ESXi host is not using the default protocol, set this value to
202164       an alternate protocol. Default is https.
202165
202166   port
202167       If the ESXi host is not using the default port, set this  value  to  an
202168       alternate port. Default is 443.
202169
202170   credstore
202171       If  the ESXi host is using an untrusted SSL certificate, set this value
202172       to the file path where the credential store is located.  This  file  is
202173       passed to esxcli. Default is <HOME>/.vmware/credstore/vicredentials.xml
202174       on Linux and <APPDATA>/VMware/credstore/vicredentials.xml on Windows.
202175
202176       NOTE:
202177          HOME variable is sometimes not set for processes running  as  system
202178          services.  If you want to rely on the default credential store loca‐
202179          tion, make sure HOME is set for the proxy process.
202180
202181   Salt Proxy
202182       After your pillar is in place, you can test the proxy.  The  proxy  can
202183       run  on  any  machine that has network connectivity to your Salt Master
202184       and to the ESXi host in question. SaltStack recommends that the machine
202185       running  the salt-proxy process also run a regular minion, though it is
202186       not strictly necessary.
202187
202188       On the machine  that  will  run  the  proxy,  make  sure  there  is  an
202189       /etc/salt/proxy file with at least the following in it:
202190
202191          master: <ip or hostname of salt-master>
202192
202193       You can then start the salt-proxy process with:
202194
202195          salt-proxy --proxyid <id you want to give the host>
202196
202197       You  may  want  to  add  -l debug to run the above in the foreground in
202198       debug mode just to make sure everything is OK.
202199
202200       Next, accept the key for the proxy on your salt-master, just  like  you
202201       would for a regular minion:
202202
202203          salt-key -a <id you gave the esxi host>
202204
202205       You can confirm that the pillar data is in place for the proxy:
202206
202207          salt <id> pillar.items
202208
202209       And  now  you  should  be able to ping the ESXi host to make sure it is
202210       responding:
202211
202212          salt <id> test.ping
202213
202214       At this point you can execute one-off commands against  the  host.  For
202215       example, you can get the ESXi host's system information:
202216
202217          salt <id> esxi.cmd system_info
202218
202219       Note that you don't need to provide credentials or an ip/hostname. Salt
202220       knows to use the credentials you stored in Pillar.
202221
202222       It's  important  to  understand  how  this  particular   proxy   works.
202223       Salt.modules.vsphere  is  a standard Salt execution module. If you pull
202224       up the docs for it you'll see that almost every function in the  module
202225       takes credentials and a target host. When credentials and a host aren't
202226       passed, Salt runs commands through pyVmomi against the  local  machine.
202227       If  you  wanted,  you  could run functions from this module on any host
202228       where an appropriate version of pyVmomi is  installed,  and  that  host
202229       would reach out over the network and communicate with the ESXi host.
202230
202231       esxi.cmd  acts  as a "shim" between the execution module and the proxy.
202232       Its first parameter is always the function  from  salt.modules.vsphere.
202233       If  the  function  takes  more  positional or keyword arguments you can
202234       append them to the call. It's this shim that speaks to  the  ESXi  host
202235       through  the  proxy,  arranging  for the credentials and hostname to be
202236       pulled from the Pillar section for this Proxy Minion.
202237
202238       Because of the presence of the shim, to lookup documentation  for  what
202239       functions  you  can use to interface with the ESXi host, you'll want to
202240       look in salt.modules.vsphere instead of salt.modules.esxi.
202241
202242   States
202243       Associated states are thoroughly documented in  salt.states.esxi.  Look
202244       there  to  find  an  example structure for Pillar as well as an example
202245       .sls file for standing up an ESXi host from scratch.
202246
202247       salt.proxy.esxi.ch_config(cmd, *args, **kwargs)
202248              This function is called by the salt.modules.esxi.cmd  shim.   It
202249              then  calls  whatever  is  passed  in  cmd  inside the salt.mod‐
202250              ules.vsphere module.  Passes the return through from the vsphere
202251              module.
202252
202253              cmd    The command to call inside salt.modules.vsphere
202254
202255              args   Arguments that need to be passed to that command.
202256
202257              kwargs Keyword arguments that need to be passed to that command.
202258
202259       salt.proxy.esxi.find_credentials(host)
202260              Cycle  through all the possible credentials and return the first
202261              one that works.
202262
202263       salt.proxy.esxi.get_details()
202264              Return the proxy details
202265
202266       salt.proxy.esxi.grains()
202267              Get the grains from the proxy device.
202268
202269       salt.proxy.esxi.grains_refresh()
202270              Refresh the grains from the proxy device.
202271
202272       salt.proxy.esxi.init(opts)
202273              This function gets called when the proxy  starts  up.  For  ESXi
202274              devices,  the  host,  login credentials, and, if configured, the
202275              protocol and port are cached.
202276
202277       salt.proxy.esxi.is_connected_via_vcenter()
202278
202279       salt.proxy.esxi.ping()
202280              Returns True if connection is to be done via a vCenter (no  con‐
202281              nection  is  attempted).  Check to see if the host is responding
202282              when connecting directly via an ESXi host.
202283
202284              CLI Example:
202285
202286                 salt esxi-host test.ping
202287
202288       salt.proxy.esxi.shutdown()
202289              Shutdown the connection to the proxy  device.  For  this  proxy,
202290              shutdown is a no-op.
202291
202292   salt.proxy.fx2
202293   Dell FX2 chassis
202294       New in version 2015.8.2.
202295
202296
202297       Proxy minion interface module for managing Dell FX2 chassis (Dell Chas‐
202298       sis Management Controller version 1.2 and above,  iDRAC8  version  2.00
202299       and above)
202300
202301   Dependencies
202302       · iDRAC Remote execution module (salt.modules.dracr)
202303
202304       · Chassis command shim (salt.modules.chassis)
202305
202306       · Dell Chassis States (salt.states.dellchassis)
202307
202308       · Dell's racadm command line interface to CMC and iDRAC devices.
202309
202310       Special  Note:  SaltStack thanks Adobe Corporation for their support in
202311       creating this proxy minion integration.
202312
202313       This proxy minion enables Dell FX2 and FX2s (hereafter referred  to  as
202314       simply  "chassis",  "CMC", or "FX2") chassis to be treated individually
202315       like a salt-minion.
202316
202317       Since the CMC embedded in the chassis does not run  an  OS  capable  of
202318       hosting  a  Python  stack,  the  chassis  can't  run a minion directly.
202319       Salt's "Proxy Minion" functionality enables you  to  designate  another
202320       machine  to host a minion process that "proxies" communication from the
202321       salt-master.  The master does not know nor care that the target is  not
202322       a real minion.
202323
202324       More  in-depth  conceptual reading on Proxy Minions can be found in the
202325       Proxy Minion section of Salt's documentation.
202326
202327       To configure this integration, follow these steps:
202328
202329   Pillar
202330       Proxy minions get their configuration from Salt's Pillar.  Every  proxy
202331       must  have  a  stanza  in Pillar, and a reference in the Pillar topfile
202332       that matches the ID.  At a minimum for communication with  the  chassis
202333       the pillar should look like this:
202334
202335          proxy:
202336            host: <ip or dns name of chassis controller>
202337            admin_username: <iDRAC username for the CMC, usually 'root'>
202338            fallback_admin_username: <username to try if the first fails>
202339            passwords:
202340              - first_password
202341              - second_password
202342              - third-password
202343            proxytype: fx2
202344
202345       The  proxytype line above is critical, it tells Salt which interface to
202346       load from the proxy directory in  Salt's  install  hierarchy,  or  from
202347       /srv/salt/_proxy on the salt-master (if you have created your own proxy
202348       module, for example).
202349
202350       The proxy integration will try the passwords listed in  order.   It  is
202351       configured  this  way  so  you can have a regular password, a potential
202352       fallback password, and the third password can be the one you intend  to
202353       change  the  chassis to use.  This way, after it is changed, you should
202354       not need to restart the proxy minion--it should just pick up the  third
202355       password  in the list.  You can then change pillar at will to move that
202356       password to the front and retire the unused ones.
202357
202358       Beware, many Dell CMC and iDRAC units  are  configured  to  lockout  IP
202359       addresses  or  users after too many failed password attempts.  This can
202360       generate user panic in the form of "I no longer know what the  password
202361       is!!!".   To  mitigate panic try the web interface from a different IP,
202362       or setup a emergency administrator user  in  the  CMC  before  doing  a
202363       wholesale password rotation.
202364
202365       The automatic lockout can be disabled via Salt with the following:
202366
202367          salt <cmc> chassis.cmd set_general cfgRacTuning cfgRacTuneIpBlkEnable 0
202368
202369       and then verified with
202370
202371          salt <cmc> chassis.cmd get_general cfgRacTuning cfgRacTuneIpBlkEnable
202372
202373   salt-proxy
202374       After  your  pillar is in place, you can test the proxy.  The proxy can
202375       run on any machine that has network connectivity  to  your  salt-master
202376       and to the chassis in question.  SaltStack recommends that this machine
202377       also run a regular minion, though it is not strictly necessary.
202378
202379       On the machine  that  will  run  the  proxy,  make  sure  there  is  an
202380       /etc/salt/proxy file with at least the following in it:
202381
202382          master: <ip or hostname of salt-master>
202383
202384       You can start the proxy with
202385
202386          salt-proxy --proxyid <id you want to give the chassis>
202387
202388       You  may  want  to  add  -l debug to run the above in the foreground in
202389       debug mode just to make sure everything is OK.
202390
202391       Next, accept the key for the proxy on your salt-master, just  like  you
202392       would for a regular minion:
202393
202394          salt-key -a <id you want to give the chassis>
202395
202396       You can confirm that the pillar data is in place for the proxy:
202397
202398          salt <id> pillar.items
202399
202400       And  now  you  should  be  able  to ping the chassis to make sure it is
202401       responding:
202402
202403          salt <id> test.ping
202404
202405       At this point you can execute one-off  commands  against  the  chassis.
202406       For example, you can get the chassis inventory:
202407
202408          salt <id> chassis.cmd inventory
202409
202410       Note  that  you  don't  need  to provide credentials or an ip/hostname.
202411       Salt knows to use the credentials you stored in Pillar.
202412
202413       It's  important  to  understand  how  this  particular   proxy   works.
202414       Salt.modules.dracr is a standard Salt execution module.  If you pull up
202415       the docs for it you'll see that almost every  function  in  the  module
202416       takes  credentials  and  a  target  host.   When credentials and a host
202417       aren't passed, Salt runs racadm against  the  local  machine.   If  you
202418       wanted  you  could  run functions from this module on any host where an
202419       appropriate version of racadm is installed, and that host  would  reach
202420       out over the network and communicate with the chassis.
202421
202422       Chassis.cmd  acts  as  a  "shim"  between  the execution module and the
202423       proxy.  It's first parameter is  always  the  function  from  salt.mod‐
202424       ules.dracr  to  execute.  If the function takes more positional or key‐
202425       word arguments you can append them to the call.  It's  this  shim  that
202426       speaks  to the chassis through the proxy, arranging for the credentials
202427       and hostname to be pulled from the pillar section for this  proxy  min‐
202428       ion.
202429
202430       Because  of  the presence of the shim, to lookup documentation for what
202431       functions you can use to interface with the  chassis,  you'll  want  to
202432       look in salt.modules.dracr instead of salt.modules.chassis.
202433
202434   States
202435       Associated states are thoroughly documented in salt.states.dellchassis.
202436       Look there to find an example structure for pillar as well as an  exam‐
202437       ple .sls file for standing up a Dell Chassis from scratch.
202438
202439       salt.proxy.fx2.admin_password()
202440              Return the admin_password in the DETAILS dictionary, or 'calvin'
202441              (the Dell default) if there is none present
202442
202443       salt.proxy.fx2.admin_username()
202444              Return the admin_username in the DETAILS dictionary, or root  if
202445              there is none present
202446
202447       salt.proxy.fx2.chconfig(cmd, *args, **kwargs)
202448              This  function  is  called by the salt.modules.chassis.cmd shim.
202449              It then calls whatever is passed in  cmd  inside  the  salt.mod‐
202450              ules.dracr module.
202451
202452              Parameters
202453
202454                     · cmd -- The command to call inside salt.modules.dracr
202455
202456                     · args  --  Arguments that need to be passed to that com‐
202457                       mand
202458
202459                     · kwargs -- Keyword arguments that need to be  passed  to
202460                       that command
202461
202462              Returns
202463                     Passthrough the return from the dracr module.
202464
202465       salt.proxy.fx2.find_credentials()
202466              Cycle  through all the possible credentials and return the first
202467              one that works
202468
202469       salt.proxy.fx2.grains()
202470              Get the grains from the proxied device
202471
202472       salt.proxy.fx2.grains_refresh()
202473              Refresh the grains from the proxied device
202474
202475       salt.proxy.fx2.host()
202476
202477       salt.proxy.fx2.init(opts)
202478              This function gets called when the proxy starts  up.   We  check
202479              opts  to  see  if a fallback user and password are supplied.  If
202480              they are present, and the primary credentials don't  work,  then
202481              we try the backup before failing.
202482
202483              Whichever  set  of credentials works is placed in the persistent
202484              DETAILS dictionary and will be used  for  further  communication
202485              with the chassis.
202486
202487       salt.proxy.fx2.ping()
202488              Is the chassis responding?
202489
202490              Returns
202491                     Returns  False if the chassis didn't respond, True other‐
202492                     wise.
202493
202494       salt.proxy.fx2.shutdown(opts)
202495              Shutdown the connection to the proxied device.  For  this  proxy
202496              shutdown is a no-op.
202497
202498   salt.proxy.junos
202499       Interface  with  a Junos device via proxy-minion. To connect to a junos
202500       device via junos proxy, specify the host information in the  pillar  in
202501       '/srv/pillar/details.sls'
202502
202503          proxy:
202504            proxytype: junos
202505            host: <ip or dns name of host>
202506            username: <username>
202507            port: 830
202508            password: <secret>
202509
202510       In '/srv/pillar/top.sls' map the device details with the proxy name.
202511
202512          base:
202513            'vmx':
202514              - details
202515
202516       After storing the device information in the pillar, configure the proxy
202517       in '/etc/salt/proxy'
202518
202519          master: <ip or hostname of salt-master>
202520
202521       Run the salt proxy via the following command:
202522
202523          salt-proxy --proxyid=vmx
202524
202525       salt.proxy.junos.alive(opts)
202526              Validate and  return  the  connection  status  with  the  remote
202527              device.
202528
202529              New in version 2018.3.0.
202530
202531
202532       salt.proxy.junos.conn()
202533
202534       salt.proxy.junos.get_serialized_facts()
202535
202536       salt.proxy.junos.init(opts)
202537              Open  the connection to the Junos device, login, and bind to the
202538              Resource class
202539
202540       salt.proxy.junos.initialized()
202541
202542       salt.proxy.junos.ping()
202543              Ping?  Pong!
202544
202545       salt.proxy.junos.proxytype()
202546              Returns the name of this proxy
202547
202548       salt.proxy.junos.shutdown(opts)
202549              This is called when the proxy-minion is exiting to make sure the
202550              connection to the device is closed cleanly.
202551
202552   salt.proxy.marathon module
202553   Marathon
202554       Proxy minion for managing a Marathon cluster.
202555
202556   Dependencies
202557       · marathon execution module (salt.modules.marathon)
202558
202559   Pillar
202560       The  marathon  proxy  configuration requires a 'base_url' property that
202561       points to the marathon endpoint:
202562
202563          proxy:
202564            proxytype: marathon
202565            base_url: http://my-marathon-master.mydomain.com:8080
202566
202567       New in version 2015.8.2.
202568
202569
202570       salt.proxy.marathon.init(opts)
202571              Perform any needed setup.
202572
202573       salt.proxy.marathon.ping()
202574              Is the marathon api responding?
202575
202576       salt.proxy.marathon.shutdown(opts)
202577              For this proxy shutdown is a no-op
202578
202579   salt.proxy.napalm
202580   NAPALM: Network Automation and Programmability Abstraction Layer with  Mul‐
202581       tivendor support
202582       New in version 2016.11.0.
202583
202584
202585       Proxy minion for managing network devices via NAPALM library.
202586
202587       codeauthor
202588              Mircea   Ulinic   <mircea@cloudflare.com>  &  Jerome  Fleury  <‐
202589              jf@cloudflare.com>
202590
202591       maturity
202592              new
202593
202594       depends
202595              napalm
202596
202597       platform
202598              unix
202599
202600   Dependencies
202601       The napalm proxy module requires NAPALM library to be  installed:   pip
202602       install napalm Please check Installation for complete details.
202603
202604       NOTE:
202605          Beginning  with  Salt  release  2017.7.3,  it  is recommended to use
202606          napalm >= 2.0.0. The library has  been  unified  into  a  monolithic
202607          package,  as  in  opposite to separate packages per driver. For more
202608          details you can check this document.  While it will still work  with
202609          the  old packages, bear in mind that the NAPALM core team will main‐
202610          tain only the main napalm package.
202611
202612          Moreover, for additional capabilities, the users can always define a
202613          library  that  extends  NAPALM's base capabilities and configure the
202614          provider option (see below).
202615
202616   Pillar
202617       The napalm proxy configuration requires  the  following  parameters  in
202618       order to connect to the network device:
202619
202620       driver Specifies  the  network device operating system.  For a complete
202621              list of the supported operating  systems  please  refer  to  the
202622              NAPALM Read the Docs page.
202623
202624       host   The  IP  Address  or  FQDN to use when connecting to the device.
202625              Alternatively, the following field names can  be  used  instead:
202626              hostname, fqdn, ip.
202627
202628       username
202629              The username to be used when connecting to the device.
202630
202631       passwd The password needed to establish the connection.
202632
202633              NOTE:
202634                 This  field  may not be mandatory when working with SSH-based
202635                 drivers, and the username has a SSH key  properly  configured
202636                 on the device targeted to be managed.
202637
202638       optional_args
202639              Dictionary with the optional arguments.  Check the complete list
202640              of supported optional arguments.
202641
202642       always_alive: True
202643              In certain less dynamic  environments,  maintaining  the  remote
202644              connection  permanently  open  with  the  network  device is not
202645              always beneficial. In that case, the user can select to initial‐
202646              ize the connection only when needed, by specifying this field to
202647              false.  Default: true (maintains the connection with the  remote
202648              network device).
202649
202650              New in version 2017.7.0.
202651
202652
202653       provider: napalm_base
202654              The library that provides the get_network_device function.  This
202655              option is useful when the  user  has  more  specific  needs  and
202656              requires  to  extend  the  NAPALM  capabilities  using a private
202657              library implementation.  The only constraint is that the  alter‐
202658              native  library  needs  to  have the get_network_device function
202659              available.
202660
202661              New in version 2017.7.1.
202662
202663
202664       multiprocessing: False
202665              Overrides the multiprocessing option,  per  proxy  minion.   The
202666              multiprocessing option must be turned off for SSH-based proxies.
202667              However, some  NAPALM  drivers  (e.g.  Arista,  NX-OS)  are  not
202668              SSH-based.  As multiple proxy minions may share the same config‐
202669              uration file, this option permits the configuration of the  mul‐
202670              tiprocessing option more specifically, for some proxy minions.
202671
202672              New in version 2017.7.2.
202673
202674
202675       Proxy pillar file example:
202676
202677          proxy:
202678            proxytype: napalm
202679            driver: junos
202680            host: core05.nrt02
202681            username: my_username
202682            passwd: my_password
202683            optional_args:
202684              port: 12201
202685
202686       Example using a user-specific library, extending NAPALM's capabilities,
202687       e.g. custom_napalm_base:
202688
202689          proxy:
202690            proxytype: napalm
202691            driver: ios
202692            fqdn: cr1.th2.par.as1234.net
202693            username: salt
202694            password: ''
202695            provider: custom_napalm_base
202696
202697       SEE ALSO:
202698
202699          · NAPALM grains: select network devices based on their  characteris‐
202700            tics
202701
202702          · NET module: network basic features
202703
202704          · Network  config  state:  Manage  the configuration using arbitrary
202705            templates
202706
202707          · NAPALM YANG state: Manage the configuration according to the  YANG
202708            models (OpenConfig/IETF)
202709
202710          · Network ACL module: Generate and load ACL (firewall) configuration
202711
202712          · Network ACL state: Manage the firewall configuration
202713
202714          · NTP operational and configuration management module
202715
202716          · BGP operational and configuration management module
202717
202718          · Routes details
202719
202720          · SNMP configuration module
202721
202722          · Users configuration management
202723
202724       NOTE:
202725          Beginning  with  release  codename Fluorine, any NAPALM command exe‐
202726          cuted  when  running  under  a  NAPALM  Proxy  Minion  supports  the
202727          force_reconnect magic argument.
202728
202729          Proxy  Minions generally establish a connection with the remote net‐
202730          work device at the time of the Minion startup and that connection is
202731          going to be used forever.
202732
202733          If  one  would  need  execute a command on the device but connecting
202734          using different parameters (due to various causes, e.g.,  unable  to
202735          authenticate  the user specified in the Pillar as the authentication
202736          system - say TACACS+ is not available, or the DNS resolver  is  cur‐
202737          rently  down  and  would  like  to  temporarily  use  the IP address
202738          instead, etc.), it implies updating the Pillar data  and  restarting
202739          the  Proxy  Minion  process restart.  In particular cases like that,
202740          you can pass the  force_reconnect=True  keyword  argument,  together
202741          with  the  alternative connection details, to enforce the command to
202742          be executed over a separate connection.
202743
202744          For example, if the usual command is salt '*' net.arp, you  can  use
202745          the  following  to  connect using a different username instead: salt
202746          '*' net.arp username=my-alt-usr force_reconnect=True.
202747
202748       salt.proxy.napalm.alive(opts)
202749              Return the connection status with the remote device.
202750
202751              New in version 2017.7.0.
202752
202753
202754       salt.proxy.napalm.call(method, *args, **kwargs)
202755              Calls a  specific  method  from  the  network  driver  instance.
202756              Please  check  the readthedocs page for the updated list of get‐
202757              ters.
202758
202759              Parameters
202760
202761                     · method -- specifies the name of the method to be called
202762
202763                     · params -- contains the mapping between the name and the
202764                       values of the parameters needed to call the method
202765
202766              Returns
202767                     A dictionary with three keys:
202768
202769              · result (True/False): if the operation succeeded
202770
202771              · out (object): returns the object as-is from the call
202772
202773              · comment  (string):  provides  more  details  in  case the call
202774                failed
202775
202776              · traceback (string): complete traceback in case  of  exception.
202777                Please submit an issue including this traceback on the correct
202778                driver repo and make sure to read the FAQ
202779
202780              Example:
202781
202782                 __proxy__['napalm.call']('cli'
202783                                          **{
202784                                             'commands': [
202785                                                 'show version',
202786                                                 'show chassis fan'
202787                                             ]
202788                                          })
202789
202790       salt.proxy.napalm.fns()
202791              Method called by NAPALM grains module.
202792
202793       salt.proxy.napalm.get_device()
202794              Returns the network device object.
202795
202796       salt.proxy.napalm.get_grains()
202797              Retrieve facts from the network device.
202798
202799       salt.proxy.napalm.grains_refresh()
202800              Refresh the grains.
202801
202802       salt.proxy.napalm.init(opts)
202803              Opens the connection with the network device.
202804
202805       salt.proxy.napalm.initialized()
202806              Connection finished initializing?
202807
202808       salt.proxy.napalm.ping()
202809              Connection open successfully?
202810
202811       salt.proxy.napalm.shutdown(opts)
202812              Closes connection with the device.
202813
202814   salt.proxy.netmiko_px
202815   Netmiko
202816       New in version Fluorine.
202817
202818
202819       Proxy module for managing network devices via Netmiko.
202820
202821       codeauthor
202822              Mircea  Ulinic   <ping@mirceaulinic.net>   &   Kirk   Byers   <‐
202823              ktbyers@twb-tech.com>
202824
202825       maturity
202826              new
202827
202828       depends
202829              netmiko
202830
202831       platform
202832              unix
202833
202834   Dependencies
202835       The netmiko proxy modules requires Netmiko to be installed: pip install
202836       netmiko.
202837
202838   Pillar
202839       The netmiko proxy configuration requires the  following  parameters  in
202840       order to connect to the network device:
202841
202842       · device_type  -  Class  selection  based  on  device  type.  Supported
202843         options:
202844
202845         · a10: A10 Networks
202846
202847         · accedian: Accedian Networks
202848
202849         · alcatel_aos: Alcatel AOS
202850
202851         · alcatel_sros: Alcatel SROS
202852
202853         · apresia_aeos: Apresia AEOS
202854
202855         · arista_eos: Arista EOS
202856
202857         · aruba_os: Aruba
202858
202859         · avaya_ers: Avaya ERS
202860
202861         · avaya_vsp: Avaya VSP
202862
202863         · brocade_fastiron: Brocade Fastiron
202864
202865         · brocade_netiron: Brocade Netiron
202866
202867         · brocade_nos: Brocade NOS
202868
202869         · brocade_vdx: Brocade NOS
202870
202871         · brocade_vyos: VyOS
202872
202873         · checkpoint_gaia: Check Point GAiA
202874
202875         · calix_b6: Calix B6
202876
202877         · ciena_saos: Ciena SAOS
202878
202879         · cisco_asa: Cisco SA
202880
202881         · cisco_ios: Cisco IOS
202882
202883         · cisco_nxos: Cisco NX-oS
202884
202885         · cisco_s300: Cisco S300
202886
202887         · cisco_tp: Cisco TpTcCe
202888
202889         · cisco_wlc: Cisco WLC
202890
202891         · cisco_xe: Cisco IOS
202892
202893         · cisco_xr: Cisco XR
202894
202895         · coriant: Coriant
202896
202897         · dell_force10: Dell Force10
202898
202899         · dell_os10: Dell OS10
202900
202901         · dell_powerconnect: Dell PowerConnect
202902
202903         · eltex: Eltex
202904
202905         · enterasys: Enterasys
202906
202907         · extreme: Extreme
202908
202909         · extreme_wing: Extreme Wing
202910
202911         · f5_ltm: F5 LTM
202912
202913         · fortinet: Fortinet
202914
202915         · generic_termserver: TerminalServer
202916
202917         · hp_comware: HP Comware
202918
202919         · hp_procurve: HP Procurve
202920
202921         · huawei: Huawei
202922
202923         · huawei_vrpv8: Huawei VRPV8
202924
202925         · juniper: Juniper Junos
202926
202927         · juniper_junos: Juniper Junos
202928
202929         · linux: Linux
202930
202931         · mellanox: Mellanox
202932
202933         · mrv_optiswitch: MrvOptiswitch
202934
202935         · netapp_cdot: NetAppcDot
202936
202937         · netscaler: Netscaler
202938
202939         · ovs_linux: OvsLinux
202940
202941         · paloalto_panos: PaloAlto Panos
202942
202943         · pluribus: Pluribus
202944
202945         · quanta_mesh: Quanta Mesh
202946
202947         · ruckus_fastiron: Ruckus Fastiron
202948
202949         · ubiquiti_edge: Ubiquiti Edge
202950
202951         · ubiquiti_edgeswitch: Ubiquiti Edge
202952
202953         · vyatta_vyos: VyOS
202954
202955         · vyos: VyOS
202956
202957         · brocade_fastiron_telnet: Brocade Fastiron over Telnet
202958
202959         · brocade_netiron_telnet: Brocade Netiron over Telnet
202960
202961         · cisco_ios_telnet: Cisco IOS over Telnet
202962
202963         · apresia_aeos_telnet: Apresia AEOS over Telnet
202964
202965         · arista_eos_telnet: Arista EOS over Telnet
202966
202967         · hp_procurve_telnet: HP Procurve over Telnet
202968
202969         · hp_comware_telnet: HP Comware over Telnet
202970
202971         · juniper_junos_telnet: Juniper Junos over Telnet
202972
202973         · calix_b6_telnet: Calix B6 over Telnet
202974
202975         · dell_powerconnect_telnet: Dell PowerConnect over Telnet
202976
202977         · generic_termserver_telnet: TerminalServer over Telnet
202978
202979         · extreme_telnet: Extreme Networks over Telnet
202980
202981         · ruckus_fastiron_telnet: Ruckus Fastiron over Telnet
202982
202983         · cisco_ios_serial: Cisco IOS over serial port
202984
202985       · ip - IP address of target device (not required if host is provided)
202986
202987       · host - Hostname of target device (not required if ip is provided)
202988
202989       · username  -  Username  to  authenticate  against  target  device,  if
202990         required
202991
202992       · password  -  Password  to  authenticate  against  target  device,  if
202993         required
202994
202995       · secret - The enable password if target device requires one
202996
202997       · port - The destination port used to connect to the target device
202998
202999       · global_delay_factor - Multiplication factor affecting Netmiko  delays
203000         (default: 1)
203001
203002       · use_keys - Connect to target device using SSH keys (default: False)
203003
203004       · key_file - Filename path of the SSH key file to use
203005
203006       · allow_agent - Enable use of SSH key-agent
203007
203008       · ssh_strict  -  Automatically  reject  unknown SSH host keys (default:
203009         False, which means unknown SSH host keys will be accepted)
203010
203011       · system_host_keys - Load host keys from the user's "known_hosts"  file
203012         (default: False)
203013
203014       · alt_host_keys  -  If  True,   host  keys will be loaded from the file
203015         specified in alt_key_file (default: False)
203016
203017       · alt_key_file - SSH host key file to use (if alt_host_keys=True)
203018
203019       · ssh_config_file - File name of OpenSSH configuration file
203020
203021       · timeout - Connection timeout, in seconds (default: 90)
203022
203023       · session_timeout - Set a timeout for  parallel  requests,  in  seconds
203024         (default: 60)
203025
203026       · keepalive  -  Send  SSH  keepalive packets at a specific interval, in
203027         seconds. Currently defaults to 0,  for  backwards  compatibility  (it
203028         will  not  attempt  to  keep the connection alive using the KEEPALIVE
203029         packets).
203030
203031       · default_enter - Character(s) to  send  to  correspond  to  enter  key
203032         (default: \n)
203033
203034       · response_return  -  Character(s)  to use in normalized return data to
203035         represent enter key (default: \n)
203036
203037       · always_alive - In certain less dynamic environments, maintaining  the
203038         remote  connection  permanently  open  with the network device is not
203039         always beneficial. In that case, the user can  select  to  initialize
203040         the  connection only when needed, by setting this option to False. By
203041         default this option is set to True (maintains the connection with the
203042         remote network device)
203043
203044       · multiprocessing  -  Overrides  the  multiprocessing option, per proxy
203045         minion, as the Netmiko communication channel is mainly SSH  (default:
203046         False)
203047
203048   Proxy Pillar Example
203049          proxy:
203050            proxytype: netmiko
203051            device_type: juniper_junos
203052            host: router1.example.com
203053            username: example
203054            password: example
203055
203056          proxy:
203057            proxytype: netmiko
203058            device_type: cisco_ios
203059            ip: 1.2.3.4
203060            username: test
203061            use_keys: true
203062            secret: w3@k
203063
203064       salt.proxy.netmiko_px.alive(opts)
203065              Return the connection status with the network device.
203066
203067       salt.proxy.netmiko_px.args()
203068              Return the Netmiko device args.
203069
203070       salt.proxy.netmiko_px.call(method, *args, **kwargs)
203071              Calls an arbitrary netmiko method.
203072
203073       salt.proxy.netmiko_px.conn()
203074              Return the connection object.
203075
203076       salt.proxy.netmiko_px.init(opts)
203077              Open  the  connection to the network device managed through net‐
203078              miko.
203079
203080       salt.proxy.netmiko_px.initialized()
203081              Connection finished initializing?
203082
203083       salt.proxy.netmiko_px.ping()
203084              Connection open successfully?
203085
203086       salt.proxy.netmiko_px.shutdown(opts)
203087              Closes connection with the device.
203088
203089   salt.proxy.nxos module
203090       Proxy Minion for Cisco NX OS Switches
203091
203092       The Cisco NX OS Proxy Minion uses the built in SSHConnection module  in
203093       salt.utils.vt_helper
203094
203095       To configure the proxy minion:
203096
203097          proxy:
203098            proxytype: nxos
203099            host: 192.168.187.100
203100            username: admin
203101            password: admin
203102            prompt_name: switch
203103            ssh_args: '-o PubkeyAuthentication=no'
203104            key_accept: True
203105
203106       proxytype
203107              (REQUIRED) Use this proxy minion nxos
203108
203109       host   (REQUIRED) ip address or hostname to connect to
203110
203111       username
203112              (REQUIRED) username to login with
203113
203114       password
203115              (REQUIRED) password to use to login with
203116
203117       prompt_name
203118              (REQUIRED, this or prompt_regex below, but not both) The name in
203119              the prompt on the switch.   Recommended  to  use  your  device's
203120              hostname.
203121
203122       prompt_regex
203123              (REQUIRED,  this  or  prompt_name above, but not both) A regular
203124              expression that matches the prompt on the switch and  any  other
203125              possible  prompt  at which you need the proxy minion to continue
203126              sending input.  This feature was specifically developed for sit‐
203127              uations  where the switch may ask for confirmation.  prompt_name
203128              above would not match these, and so the session would timeout.
203129
203130              Example:
203131
203132                 dc01-switch-01#.*|\(y\/n\)\?.*
203133
203134              This should match
203135
203136                 dc01-switch-01#
203137
203138              or
203139
203140                 Flash complete.  Reboot this switch (y/n)? [n]
203141
203142              If neither prompt_name nor prompt_regex is specified the  prompt
203143              will be defaulted to
203144
203145                 .+#$
203146
203147              which  should  match any number of characters followed by a # at
203148              the end of the line.  This may  be  far  too  liberal  for  most
203149              installations.
203150
203151       ssh_args
203152              Any extra args to use to connect to the switch.
203153
203154       key_accept
203155              Whether or not to accept a the host key of the switch on initial
203156              login.  Defaults to False.
203157
203158       The functions from the proxy minion can be run from the  salt  command‐
203159       line using the salt.modules.nxos execution module.
203160
203161       salt.proxy.nxos.add_config(lines)
203162              Add one or more config lines to the switch running config
203163
203164                 salt '*' nxos.cmd add_config 'snmp-server community TESTSTRINGHERE group network-operator'
203165
203166              NOTE:
203167                 For more than one config added per command, lines should be a
203168                 list.
203169
203170       salt.proxy.nxos.check_password(username, password, encrypted=False)
203171              Check if passed password is the one assigned to user
203172
203173       salt.proxy.nxos.check_role(username, role)
203174              Check if user is assigned a specific role on switch
203175
203176                 salt '*' nxos.cmd check_role username=admin role=network-admin
203177
203178       salt.proxy.nxos.delete_config(lines)
203179              Delete one or more config lines to the switch running config
203180
203181                 salt '*' nxos.cmd delete_config 'snmp-server community TESTSTRINGHERE group network-operator'
203182
203183              NOTE:
203184                 For more than one config deleted per command, lines should be
203185                 a list.
203186
203187       salt.proxy.nxos.find(pattern)
203188              Find all instances where the pattern is in the running command
203189
203190                 salt '*' nxos.cmd find '^snmp-server.*$'
203191
203192              NOTE:
203193                 This  uses the re.MULTILINE regex format for python, and runs
203194                 the regex against the whole show_run output.
203195
203196       salt.proxy.nxos.get_roles(username)
203197              Get roles that the username is assigned from switch
203198
203199       salt.proxy.nxos.get_user(username)
203200              Get username line from switch
203201
203202       salt.proxy.nxos.grains()
203203              Get grains for proxy minion
203204
203205       salt.proxy.nxos.grains_refresh()
203206              Refresh the grains from the proxy device.
203207
203208       salt.proxy.nxos.init(opts=None)
203209              Required.  Can be used to initialize the server connection.
203210
203211       salt.proxy.nxos.initialized()
203212
203213       salt.proxy.nxos.ping()
203214              Ping the device on the other end of the connection
203215
203216       salt.proxy.nxos.remove_user(username)
203217              Remove user from switch
203218
203219                 salt '*' nxos.cmd remove_user username=daniel
203220
203221       salt.proxy.nxos.replace(old_value, new_value, full_match=False)
203222              Replace string or full line matches in switch's running config
203223
203224              If full_match is set to True, then the whole line will  need  to
203225              be matched as part of the old value.
203226
203227                 salt '*' nxos.cmd replace 'TESTSTRINGHERE' 'NEWTESTSTRINGHERE'
203228
203229       salt.proxy.nxos.sendline(command)
203230              Run command through switch's cli
203231
203232       salt.proxy.nxos.set_password(username,    password,    encrypted=False,
203233       role=None, crypt_salt=None, algorithm=u'sha256')
203234              Set users password on switch
203235
203236                 salt '*' nxos.cmd set_password admin TestPass
203237                 salt '*' nxos.cmd set_password admin \
203238                     password='$5$2fWwO2vK$s7.Hr3YltMNHuhywQQ3nfOd.gAPHgs3SOBYYdGT3E.A' \
203239                     encrypted=True
203240
203241       salt.proxy.nxos.set_role(username, role)
203242              Assign role to username
203243
203244                 salt '*' nxos.cmd set_role username=daniel role=vdc-admin
203245
203246       salt.proxy.nxos.show_run()
203247              Shortcut to run show run on switch
203248
203249                 salt '*' nxos.cmd show_run
203250
203251       salt.proxy.nxos.show_ver()
203252              Shortcut to run show ver on switch
203253
203254                 salt '*' nxos.cmd show_ver
203255
203256       salt.proxy.nxos.shutdown(opts)
203257              Disconnect
203258
203259       salt.proxy.nxos.system_info()
203260              Return system information for grains of the NX OS proxy minion
203261
203262                 salt '*' nxos.system_info
203263
203264       salt.proxy.nxos.unset_role(username, role)
203265              Remove role from username
203266
203267                 salt '*' nxos.cmd unset_role username=daniel role=vdc-admin
203268
203269   salt.proxy.nxos_api module
203270       Proxy Minion to manage Cisco Nexus Switches (NX-OS) over the NX-API
203271
203272       New in version Fluorine.
203273
203274
203275       Proxy module for managing Cisco Nexus switches via the NX-API.
203276
203277       codeauthor
203278              Mircea Ulinic <ping@mirceaulinic.net>
203279
203280       maturity
203281              new
203282
203283       platform
203284              any
203285
203286   Usage
203287       NOTE:
203288          To be able to use this module you need to enable to NX-API  on  your
203289          switch, by executing feature nxapi in configuration mode.
203290
203291          Configuration example:
203292
203293              switch# conf t
203294              switch(config)# feature nxapi
203295
203296          To check that NX-API is properly enabled, execute show nxapi.
203297
203298          Output example:
203299
203300              switch# show nxapi
203301              nxapi enabled
203302              HTTPS Listen on port 443
203303
203304       NOTE:
203305          NX-API  requires  modern  NXOS distributions, typically at least 7.0
203306          depending on the hardware. Due to reliability reasons it  is  recom‐
203307          mended to run the most recent version.
203308
203309          Check
203310          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
203311          for more details.
203312
203313   Pillar
203314       The  nxos_api  proxy configuration requires the following parameters in
203315       order to connect to the network switch:
203316
203317       transport: https
203318              Specifies the type of connection transport to use. Valid  values
203319              for the connection are http, and  https.
203320
203321       host: localhost
203322              The IP address or DNS host name of the connection device.
203323
203324       username: admin
203325              The  username  to  pass to the device to authenticate the NX-API
203326              connection.
203327
203328       password
203329              The password to pass to the device to  authenticate  the  NX-API
203330              connection.
203331
203332       port   The  TCP port of the endpoint for the NX-API connection. If this
203333              keyword is not specified, the  default  value  is  automatically
203334              determined  by  the  transport  type  (80  for  http, or 443 for
203335              https).
203336
203337       timeout: 60
203338              Time in seconds to wait for the device to respond.  Default:  60
203339              seconds.
203340
203341       verify: True
203342              Either  a  boolean,  in which case it controls whether we verify
203343              the NX-API TLS certificate, or a string, in which case  it  must
203344              be a path to a CA bundle to use. Defaults to True.
203345
203346              When  there  is  no  certificate configuration on the device and
203347              this option is set as True (default),  the  commands  will  fail
203348              with  the  following  error:  SSLError:  [SSL:  CERTIFICATE_VER‐
203349              IFY_FAILED] certificate verify  failed  (_ssl.c:581).   In  this
203350              case,  you  either need to configure a proper certificate on the
203351              device (recommended), or bypass the checks setting this argument
203352              as False with all the security risks considered.
203353
203354              Check
203355              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
203356              to see how to properly configure the certificate.
203357
203358       All the arguments may be optional, depending on your setup.
203359
203360   Proxy Pillar Example
203361          proxy:
203362            proxytype: nxos_api
203363            host: switch1.example.com
203364            username: example
203365            password: example
203366
203367       salt.proxy.nxos_api.get_conn_args()
203368              Returns the connection arguments of the Proxy Minion.
203369
203370       salt.proxy.nxos_api.init(opts)
203371              Open the connection to the Nexsu switch over the NX-API.
203372
203373              As  the  communication  is HTTP based, there is no connection to
203374              maintain, however, in order to test the  connectivity  and  make
203375              sure  we  are  able  to bring up this Minion, we are executing a
203376              very simple command (show clock) which doesn't  come  with  much
203377              overhead  and  it's  sufficient to confirm we are indeed able to
203378              connect to the NX-API endpoint as configured.
203379
203380       salt.proxy.nxos_api.initialized()
203381              Connection finished initializing?
203382
203383       salt.proxy.nxos_api.ping()
203384              Connection open successfully?
203385
203386       salt.proxy.nxos_api.rpc(commands, method=u'cli', **kwargs)
203387              Executes an RPC request over the NX-API.
203388
203389       salt.proxy.nxos_api.shutdown(opts)
203390              Closes connection with the device.
203391
203392   salt.proxy.panos module
203393   Proxy Minion interface module for managing Palo Alto firewall devices
203394       New in version 2018.3.0.
203395
203396
203397       codeauthor
203398              Spencer Ervin <spencer_ervin@hotmail.com>
203399
203400       maturity
203401              new
203402
203403       depends
203404              none
203405
203406       platform
203407              unix
203408
203409       This proxy minion enables Palo Alto firewalls (hereafter referred to as
203410       simply 'panos') to be treated individually like a Salt Minion.
203411
203412       The  panos  proxy  leverages the XML API functionality on the Palo Alto
203413       firewall. The Salt proxy must have access to the Palo Alto firewall  on
203414       HTTPS (tcp/443).
203415
203416       More  in-depth  conceptual reading on Proxy Minions can be found in the
203417       Proxy Minion section of Salt's documentation.
203418
203419   Configuration
203420       To use this integration proxy module, please configure the following:
203421
203422   Pillar
203423       Proxy minions get their configuration from Salt's Pillar.  Every  proxy
203424       must  have  a  stanza  in Pillar and a reference in the Pillar top-file
203425       that matches the ID. There are four connection  options  available  for
203426       the panos proxy module.
203427
203428       · Direct Device (Password)
203429
203430       · Direct Device (API Key)
203431
203432       · Panorama Pass-Through (Password)
203433
203434       · Panorama Pass-Through (API Key)
203435
203436   Direct Device (Password)
203437       The  direct  device  configuration  configures  the  proxy  to  connect
203438       directly to the device with username and password.
203439
203440          proxy:
203441            proxytype: panos
203442            host: <ip or dns name of panos host>
203443            username: <panos username>
203444            password: <panos password>
203445
203446   proxytype
203447       The proxytype key and value pair is critical, as it  tells  Salt  which
203448       interface to load from the proxy directory in Salt's install hierarchy,
203449       or from /srv/salt/_proxy on the Salt Master (if you have  created  your
203450       own  proxy  module,  for  example). To use this panos Proxy Module, set
203451       this to panos.
203452
203453   host
203454       The location, or ip/dns, of the panos host. Required.
203455
203456   username
203457       The username used to login to the panos host. Required.
203458
203459   password
203460       The password used to login to the panos host. Required.
203461
203462   Direct Device (API Key)
203463       Palo Alto devices allow for access to the XML API with a generated 'API
203464       key'_ instead of username and password.
203465
203466          proxy:
203467            proxytype: panos
203468            host: <ip or dns name of panos host>
203469            apikey: <panos generated api key>
203470
203471   proxytype
203472       The  proxytype  key  and value pair is critical, as it tells Salt which
203473       interface to load from the proxy directory in Salt's install hierarchy,
203474       or  from  /srv/salt/_proxy on the Salt Master (if you have created your
203475       own proxy module, for example). To use this  panos  Proxy  Module,  set
203476       this to panos.
203477
203478   host
203479       The location, or ip/dns, of the panos host. Required.
203480
203481   apikey
203482       The generated XML API key for the panos host. Required.
203483
203484   Panorama Pass-Through (Password)
203485       The  Panorama  pass-through  method  sends  all connections through the
203486       Panorama management system. It passes the connections to the  appropri‐
203487       ate device using the serial number of the Palo Alto firewall.
203488
203489       This  option will reduce the number of connections that must be present
203490       for the proxy server. It will only require a connection to the Panorama
203491       server.
203492
203493       The  username  and  password will be for authentication to the Panorama
203494       server, not the panos device.
203495
203496          proxy:
203497            proxytype: panos
203498            serial: <serial number of panos host>
203499            host: <ip or dns name of the panorama server>
203500            username: <panorama server username>
203501            password: <panorama server password>
203502
203503   proxytype
203504       The proxytype key and value pair is critical, as it  tells  Salt  which
203505       interface to load from the proxy directory in Salt's install hierarchy,
203506       or from /srv/salt/_proxy on the Salt Master (if you have  created  your
203507       own  proxy  module,  for  example). To use this panos Proxy Module, set
203508       this to panos.
203509
203510   serial
203511       The serial number of the panos host. Required.
203512
203513   host
203514       The location, or ip/dns, of the Panorama server. Required.
203515
203516   username
203517       The username used to login to the Panorama server. Required.
203518
203519   password
203520       The password used to login to the Panorama server. Required.
203521
203522   Panorama Pass-Through (API Key)
203523       The Panorama server can also utilize a generated 'API key'_ for authen‐
203524       tication.
203525
203526          proxy:
203527            proxytype: panos
203528            serial: <serial number of panos host>
203529            host: <ip or dns name of the panorama server>
203530            apikey: <panos generated api key>
203531
203532   proxytype
203533       The  proxytype  key  and value pair is critical, as it tells Salt which
203534       interface to load from the proxy directory in Salt's install hierarchy,
203535       or  from  /srv/salt/_proxy on the Salt Master (if you have created your
203536       own proxy module, for example). To use this  panos  Proxy  Module,  set
203537       this to panos.
203538
203539   serial
203540       The serial number of the panos host. Required.
203541
203542   host
203543       The location, or ip/dns, of the Panorama server. Required.
203544
203545   apikey
203546       The generated XML API key for the Panorama server. Required.
203547
203548       salt.proxy.panos.call(payload=None)
203549              This function captures the query string and sends it to the Palo
203550              Alto device.
203551
203552       salt.proxy.panos.grains()
203553              Get the grains from the proxied device
203554
203555       salt.proxy.panos.grains_refresh()
203556              Refresh the grains from the proxied device
203557
203558       salt.proxy.panos.init(opts)
203559              This function gets called when the proxy starts  up.  For  panos
203560              devices,  a determination is made on the connection type and the
203561              appropriate connection details that must be cached.
203562
203563       salt.proxy.panos.initialized()
203564              Since grains are loaded in many different  places  and  some  of
203565              those  places  occur before the proxy can be initialized, return
203566              whether our init() function has been called
203567
203568       salt.proxy.panos.is_required_version(required_version=u'0.0.0')
203569              Because different versions of Palo Alto support  different  com‐
203570              mand sets, this function will return true if the current version
203571              of Palo Alto supports the required command.
203572
203573       salt.proxy.panos.ping()
203574              Returns true if the device is reachable, else false.
203575
203576       salt.proxy.panos.shutdown()
203577              Shutdown the connection to the proxy  device.  For  this  proxy,
203578              shutdown is a no-op.
203579
203580   salt.proxy.philips_hue module
203581       Philips HUE lamps module for proxy.
203582
203583       New in version 2015.8.3.
203584
203585
203586       First  create  a  new  user on the Hue bridge by following the Meet hue
203587       instructions.
203588
203589       To configure the proxy minion:
203590
203591          proxy:
203592            proxytype: philips_hue
203593            host: [hostname or ip]
203594            user: [username]
203595
203596       class salt.proxy.philips_hue.Const
203597              Constants for the lamp operations.
203598
203599              COLOR_BLUE = {u'hue': 46920, u'sat': 254}
203600
203601              COLOR_DAYLIGHT = {u'xy': [0.3806, 0.3576]}
203602
203603              COLOR_GREEN = {u'hue': 25500, u'sat': 254}
203604
203605              COLOR_ORANGE = {u'hue': 12000, u'sat': 254}
203606
203607              COLOR_PINK = {u'xy': [0.3688, 0.2095]}
203608
203609              COLOR_PURPLE = {u'xy': [0.3787, 0.1724]}
203610
203611              COLOR_RED = {u'hue': 0, u'sat': 254}
203612
203613              COLOR_WHITE = {u'xy': [0.3227, 0.329]}
203614
203615              COLOR_YELLOW = {u'xy': [0.4432, 0.5154]}
203616
203617              LAMP_OFF = {u'on': False, u'transitiontime': 0}
203618
203619              LAMP_ON = {u'on': True, u'transitiontime': 0}
203620
203621       salt.proxy.philips_hue.call_alert(*args, **kwargs)
203622              Lamp alert
203623
203624              Options:
203625
203626              · id: Specifies a device ID. Can be  a  comma-separated  values.
203627                All, if omitted.
203628
203629              · on: Turns on or off an alert. Default is True.
203630
203631              CLI Example:
203632
203633                 salt '*' hue.alert
203634                 salt '*' hue.alert id=1
203635                 salt '*' hue.alert id=1,2,3 on=false
203636
203637       salt.proxy.philips_hue.call_blink(*args, **kwargs)
203638              Blink  a  lamp.  If  lamp is ON, then blink ON-OFF-ON, otherwise
203639              OFF-ON-OFF.
203640
203641              Options:
203642
203643              · id: Specifies a device ID. Can be  a  comma-separated  values.
203644                All, if omitted.
203645
203646              · pause: Time in seconds. Can be less than 1, i.e. 0.7, 0.5 sec.
203647
203648              CLI Example:
203649
203650                 salt '*' hue.blink id=1
203651                 salt '*' hue.blink id=1,2,3
203652
203653       salt.proxy.philips_hue.call_brightness(*args, **kwargs)
203654              Set an effect to the lamp.
203655
203656              Arguments:
203657
203658              · value: 0~255 brightness of the lamp.
203659
203660              Options:
203661
203662              · id:  Specifies  a  device ID. Can be a comma-separated values.
203663                All, if omitted.
203664
203665              · transition: Transition 0~200. Default 0.
203666
203667              CLI Example:
203668
203669                 salt '*' hue.brightness value=100
203670                 salt '*' hue.brightness id=1 value=150
203671                 salt '*' hue.brightness id=1,2,3 value=255
203672
203673       salt.proxy.philips_hue.call_color(*args, **kwargs)
203674              Set a color to the lamp.
203675
203676              Options:
203677
203678              · id: Specifies a device ID. Can be  a  comma-separated  values.
203679                All, if omitted.
203680
203681              ·
203682
203683                color:  Fixed  color.  Values  are:  red, green, blue, orange,
203684                pink, white,
203685                       yellow, daylight, purple. Default white.
203686
203687              · transition: Transition 0~200.
203688
203689              Advanced:
203690
203691              ·
203692
203693                gamut: XY coordinates. Use gamut according to the Philips  HUE
203694                devices documentation.
203695                       More:
203696                       http://www.developers.meethue.com/documentation/hue-xy-values
203697
203698              CLI Example:
203699
203700                 salt '*' hue.color
203701                 salt '*' hue.color id=1
203702                 salt '*' hue.color id=1,2,3 oolor=red transition=30
203703                 salt '*' hue.color id=1 gamut=0.3,0.5
203704
203705       salt.proxy.philips_hue.call_effect(*args, **kwargs)
203706              Set an effect to the lamp.
203707
203708              Options:
203709
203710              · id:  Specifies  a  device ID. Can be a comma-separated values.
203711                All, if omitted.
203712
203713              · type: Type of the effect. Possible values are "none" or  "col‐
203714                orloop". Default "none".
203715
203716              CLI Example:
203717
203718                 salt '*' hue.effect
203719                 salt '*' hue.effect id=1
203720                 salt '*' hue.effect id=1,2,3 type=colorloop
203721
203722       salt.proxy.philips_hue.call_lights(*args, **kwargs)
203723              Get info about all available lamps.
203724
203725              Options:
203726
203727              · id:  Specifies  a  device ID. Can be a comma-separated values.
203728                All, if omitted.
203729
203730              CLI Example:
203731
203732                 salt '*' hue.lights
203733                 salt '*' hue.lights id=1
203734                 salt '*' hue.lights id=1,2,3
203735
203736       salt.proxy.philips_hue.call_ping(*args, **kwargs)
203737              Ping the lamps by issuing a short inversion blink to all  avail‐
203738              able devices.
203739
203740              CLI Example:
203741
203742                 salt '*' hue.ping
203743
203744       salt.proxy.philips_hue.call_rename(*args, **kwargs)
203745              Rename a device.
203746
203747              Options:
203748
203749              · id: Specifies a device ID. Only one device at a time.
203750
203751              · title: Title of the device.
203752
203753              CLI Example:
203754
203755                 salt '*' hue.rename id=1 title='WC for cats'
203756
203757       salt.proxy.philips_hue.call_status(*args, **kwargs)
203758              Return the status of the lamps.
203759
203760              Options:
203761
203762              · id:  Specifies  a  device ID. Can be a comma-separated values.
203763                All, if omitted.
203764
203765              CLI Example:
203766
203767                 salt '*' hue.status
203768                 salt '*' hue.status id=1
203769                 salt '*' hue.status id=1,2,3
203770
203771       salt.proxy.philips_hue.call_switch(*args, **kwargs)
203772              Switch lamp ON/OFF.
203773
203774              If no particular state is passed, then lamp will be switched  to
203775              the opposite state.
203776
203777              Options:
203778
203779              · id:  Specifies  a  device ID. Can be a comma-separated values.
203780                All, if omitted.
203781
203782              · on: True or False. Inverted current, if omitted
203783
203784              CLI Example:
203785
203786                 salt '*' hue.switch
203787                 salt '*' hue.switch id=1
203788                 salt '*' hue.switch id=1,2,3 on=True
203789
203790       salt.proxy.philips_hue.call_temperature(*args, **kwargs)
203791              Set      the      mired      color      temperature.       More:
203792              http://en.wikipedia.org/wiki/Mired
203793
203794              Arguments:
203795
203796              · value: 150~500.
203797
203798              Options:
203799
203800              · id:  Specifies  a  device ID. Can be a comma-separated values.
203801                All, if omitted.
203802
203803              CLI Example:
203804
203805                 salt '*' hue.temperature value=150
203806                 salt '*' hue.temperature value=150 id=1
203807                 salt '*' hue.temperature value=150 id=1,2,3
203808
203809       salt.proxy.philips_hue.init(cnf)
203810              Initialize the module.
203811
203812       salt.proxy.philips_hue.ping(*args, **kw)
203813              Ping the lamps.
203814
203815       salt.proxy.philips_hue.shutdown(opts, *args, **kw)
203816              Shuts down the service.
203817
203818   salt.proxy.rest_sample
203819       This is a simple proxy-minion designed to connect  to  and  communicate
203820       with      the     bottle-based     web     service     contained     in
203821       https://github.com/saltstack/salt-contrib/tree/master/proxyminion_rest_example
203822
203823       salt.proxy.rest_sample.alive(opts)
203824
203825       salt.proxy.rest_sample.fix_outage()
203826
203827       salt.proxy.rest_sample.fns()
203828
203829       salt.proxy.rest_sample.grains()
203830              Get the grains from the proxied device
203831
203832       salt.proxy.rest_sample.grains_refresh()
203833              Refresh the grains from the proxied device
203834
203835       salt.proxy.rest_sample.id(opts)
203836              Return  a  unique  ID  for  this proxy minion.  This ID MUST NOT
203837              CHANGE.  If it changes while the proxy is running the  salt-mas‐
203838              ter will get really confused and may stop talking to this minion
203839
203840       salt.proxy.rest_sample.init(opts)
203841
203842       salt.proxy.rest_sample.initialized()
203843              Since  grains  are  loaded  in many different places and some of
203844              those places occur before the proxy can be  initialized,  return
203845              whether our init() function has been called
203846
203847       salt.proxy.rest_sample.package_install(name, **kwargs)
203848              Install a "package" on the REST server
203849
203850       salt.proxy.rest_sample.package_list()
203851              List "packages" installed on the REST server
203852
203853       salt.proxy.rest_sample.package_remove(name)
203854              Remove a "package" on the REST server
203855
203856       salt.proxy.rest_sample.package_status(name)
203857              Check the installation status of a package on the REST server
203858
203859       salt.proxy.rest_sample.ping()
203860              Is the REST server up?
203861
203862       salt.proxy.rest_sample.service_list()
203863              List "services" on the REST server
203864
203865       salt.proxy.rest_sample.service_restart(name)
203866              Restart a "service" on the REST server
203867
203868       salt.proxy.rest_sample.service_start(name)
203869              Start a "service" on the REST server
203870
203871       salt.proxy.rest_sample.service_status(name)
203872              Check if a service is running on the REST server
203873
203874       salt.proxy.rest_sample.service_stop(name)
203875              Stop a "service" on the REST server
203876
203877       salt.proxy.rest_sample.shutdown(opts)
203878              For this proxy shutdown is a no-op
203879
203880       salt.proxy.rest_sample.test_from_state()
203881              Test function so we have something to call from a state :return:
203882
203883       salt.proxy.rest_sample.uptodate(name)
203884              Call  the  REST  endpoint to see if the packages on the "server"
203885              are up to date.
203886
203887   salt.proxy.ssh_sample
203888       This is a simple proxy-minion designed to connect  to  and  communicate
203889       with  a server that exposes functionality via SSH.  This can be used as
203890       an option when the device does not provide an api over HTTP and doesn't
203891       have the python stack to run a minion.
203892
203893       salt.proxy.ssh_sample.fns()
203894
203895       salt.proxy.ssh_sample.grains()
203896              Get the grains from the proxied device
203897
203898       salt.proxy.ssh_sample.grains_refresh()
203899              Refresh the grains from the proxied device
203900
203901       salt.proxy.ssh_sample.init(opts)
203902              Required.  Can be used to initialize the server connection.
203903
203904       salt.proxy.ssh_sample.initialized()
203905              Since  grains  are  loaded  in many different places and some of
203906              those places occur before the proxy can be  initialized,  return
203907              whether our init() function has been called
203908
203909       salt.proxy.ssh_sample.package_install(name, **kwargs)
203910              Install a "package" on the ssh server
203911
203912       salt.proxy.ssh_sample.package_list()
203913              List  "packages" by executing a command via ssh This function is
203914              called in response to the salt command
203915
203916              ..code-block::bash
203917                     salt target_minion pkg.list_pkgs
203918
203919       salt.proxy.ssh_sample.package_remove(name)
203920              Remove a "package" on the ssh server
203921
203922       salt.proxy.ssh_sample.parse(out)
203923              Extract json from out.
203924
203925              Parameter
203926                     out: Type string. The data returned by the ssh command.
203927
203928       salt.proxy.ssh_sample.ping()
203929              Required.  Ping the device on the other end of the connection
203930
203931       salt.proxy.ssh_sample.service_list()
203932              Start a "service" on the ssh server
203933
203934              New in version 2015.8.2.
203935
203936
203937       salt.proxy.ssh_sample.service_restart(name)
203938              Restart a "service" on the ssh server
203939
203940              New in version 2015.8.2.
203941
203942
203943       salt.proxy.ssh_sample.service_start(name)
203944              Start a "service" on the ssh server
203945
203946              New in version 2015.8.2.
203947
203948
203949       salt.proxy.ssh_sample.service_stop(name)
203950              Stop a "service" on the ssh server
203951
203952              New in version 2015.8.2.
203953
203954
203955       salt.proxy.ssh_sample.shutdown(opts)
203956              Disconnect
203957
203958   queue modules
203959                     ┌──────────────┬──────────────────────────┐
203960pgjsonb_queue │ New in version 2016.3.0. │
203961                     ├──────────────┼──────────────────────────┤
203962sqlite_queue  │ New in version 2014.7.0. │
203963                     └──────────────┴──────────────────────────┘
203964
203965   salt.queues.pgjsonb_queue module
203966       New in version 2016.3.0.
203967
203968
203969       This is a queue with postgres as the backend.  It uses the jsonb  store
203970       to store information for queues.
203971
203972       depends
203973              python-psycopg2
203974
203975       To enable this queue, the following needs to be configured in your mas‐
203976       ter config. These are the defaults:
203977
203978          queue.pgjsonb.host: 'salt'
203979          queue.pgjsonb.user: 'salt'
203980          queue.pgjsonb.pass: 'salt'
203981          queue.pgjsonb.db: 'salt'
203982          queue.pgjsonb.port: 5432
203983
203984       Use the following Pg database schema:
203985
203986          CREATE DATABASE  salt WITH ENCODING 'utf-8';
203987
203988          --
203989          -- Table structure for table `salt`
203990          --
203991          DROP TABLE IF EXISTS salt;
203992          CREATE OR REPLACE TABLE salt(
203993             id SERIAL PRIMARY KEY,
203994             data jsonb NOT NULL
203995          );
203996
203997          salt-run queue.insert test '{"name": "redis", "host": "172.16.0.8", "port": 6379}' backend=pgjsonb
203998          salt-run queue.process_queue test all backend=pgjsonb
203999
204000       salt.queues.pgjsonb_queue.delete(queue, items)
204001              Delete an item or items from a queue
204002
204003       salt.queues.pgjsonb_queue.handle_queue_creation(queue)
204004
204005       salt.queues.pgjsonb_queue.insert(queue, items)
204006              Add an item or items to a queue
204007
204008       salt.queues.pgjsonb_queue.list_items(queue)
204009              List contents of a queue
204010
204011       salt.queues.pgjsonb_queue.list_length(queue)
204012              Provide the number of items in a queue
204013
204014       salt.queues.pgjsonb_queue.list_queues()
204015              Return a list of Salt Queues on the Salt Master
204016
204017       salt.queues.pgjsonb_queue.pop(queue, quantity=1, is_runner=False)
204018              Pop one or more or all items from the queue return them.
204019
204020   salt.queues.sqlite_queue module
204021       New in version 2014.7.0.
204022
204023
204024       This is the default local master  event  queue  built  on  sqlite.   By
204025       default,  an  sqlite3  database file is created in the sqlite_queue_dir
204026       which is found at:
204027
204028          /var/cache/salt/master/queues
204029
204030       It's  possible  to  store  the  sqlite3  database  files   by   setting
204031       sqlite_queue_dir to another location:
204032
204033          sqlite_queue_dir: /home/myuser/salt/master/queues
204034
204035       salt.queues.sqlite_queue.delete(queue, items)
204036              Delete an item or items from a queue
204037
204038       salt.queues.sqlite_queue.insert(queue, items)
204039              Add an item or items to a queue
204040
204041       salt.queues.sqlite_queue.list_items(queue)
204042              List contents of a queue
204043
204044       salt.queues.sqlite_queue.list_length(queue)
204045              Provide the number of items in a queue
204046
204047       salt.queues.sqlite_queue.list_queues()
204048              Return a list of Salt Queues on the Salt Master
204049
204050       salt.queues.sqlite_queue.pop(queue, quantity=1, is_runner=False)
204051              Pop one or more or all items from the queue return them.
204052
204053   roster modules
204054                     ┌─────────────┬────────────────────────────┐
204055ansible      │ Read  in an Ansible inven‐ │
204056                     │             │ tory file or script        │
204057                     ├─────────────┼────────────────────────────┤
204058cache        │ The cache roster  provides │
204059                     │             │ a  flexible  interface  to │
204060                     │             │ the Salt  Masters'  minion │
204061                     │             │ cache  to  access  regular │
204062                     │             │ minions over salt-ssh.     │
204063                     ├─────────────┼────────────────────────────┤
204064cloud        │ Use the cloud cache on the │
204065                     │             │ master   to   derive  IPv4 │
204066                     │             │ addresses based on  minion │
204067                     │             │ ID.                        │
204068                     ├─────────────┼────────────────────────────┤
204069clustershell │ This roster resolves host‐ │
204070                     │             │ name  in  a  pdsh/cluster‐ │
204071                     │             │ shell style.               │
204072                     ├─────────────┼────────────────────────────┤
204073flat         │ Read  in the roster from a │
204074                     │             │ flat file using  the  ren‐ │
204075                     │             │ derer system               │
204076                     ├─────────────┼────────────────────────────┤
204077range        │ This  roster resolves tar‐ │
204078                     │             │ gets from a range server.  │
204079                     ├─────────────┼────────────────────────────┤
204080scan         │ Scan a netmask  or  ipaddr │
204081                     │             │ for open ssh ports         │
204082                     ├─────────────┼────────────────────────────┤
204083sshconfig    │ Parses  roster entries out │
204084                     │             │ of  Host  directives  from │
204085                     │             │ SSH config                 │
204086                     ├─────────────┼────────────────────────────┤
204087terraform    │ Dynamic  roster  from ter‐ │
204088                     │             │ raform current state       │
204089                     └─────────────┴────────────────────────────┘
204090
204091   salt.roster.ansible
204092       Read in an Ansible inventory file or script
204093
204094       Flat inventory files should be in the regular ansible inventory format.
204095
204096          [servers]
204097          salt.gtmanfred.com ansible_ssh_user=gtmanfred ansible_ssh_host=127.0.0.1 ansible_ssh_port=22 ansible_ssh_pass='password'
204098
204099          [desktop]
204100          home ansible_ssh_user=gtmanfred ansible_ssh_host=12.34.56.78 ansible_ssh_port=23 ansible_ssh_pass='password'
204101
204102          [computers:children]
204103          desktop
204104          servers
204105
204106          [names:vars]
204107          http_port=80
204108
204109       then salt-ssh can be used to hit any of them
204110
204111          [~]# salt-ssh -N all test.ping
204112          salt.gtmanfred.com:
204113              True
204114          home:
204115              True
204116          [~]# salt-ssh -N desktop test.ping
204117          home:
204118              True
204119          [~]# salt-ssh -N computers test.ping
204120          salt.gtmanfred.com:
204121              True
204122          home:
204123              True
204124          [~]# salt-ssh salt.gtmanfred.com test.ping
204125          salt.gtmanfred.com:
204126              True
204127
204128       There is also the option of specifying a dynamic inventory, and  gener‐
204129       ating it on the fly
204130
204131          #!/bin/bash
204132          echo '{
204133            "servers": [
204134              "salt.gtmanfred.com"
204135            ],
204136            "desktop": [
204137              "home"
204138            ],
204139            "computers": {
204140              "hosts": [],
204141              "children": [
204142                "desktop",
204143                "servers"
204144              ]
204145            },
204146            "_meta": {
204147              "hostvars": {
204148                "salt.gtmanfred.com": {
204149                  "ansible_ssh_user": "gtmanfred",
204150                  "ansible_ssh_host": "127.0.0.1",
204151                  "ansible_sudo_pass": "password",
204152                  "ansible_ssh_port": 22
204153                },
204154                "home": {
204155                  "ansible_ssh_user": "gtmanfred",
204156                  "ansible_ssh_host": "12.34.56.78",
204157                  "ansible_sudo_pass": "password",
204158                  "ansible_ssh_port": 23
204159                }
204160              }
204161            }
204162          }'
204163
204164       This  is  the  format  that an inventory script needs to output to work
204165       with ansible, and thus here.
204166
204167          [~]# salt-ssh --roster-file /etc/salt/hosts salt.gtmanfred.com test.ping
204168          salt.gtmanfred.com:
204169                  True
204170
204171       Any of the [groups] or direct hostnames will return.  The 'all' is spe‐
204172       cial, and returns everything.
204173
204174       salt.roster.ansible.targets(tgt, tgt_type=u'glob', **kwargs)
204175              Return  the  targets  from  the  ansible inventory_file Default:
204176              /etc/salt/roster
204177
204178   salt.roster.cache
204179       The cache roster provides a flexible interface  to  the  Salt  Masters'
204180       minion cache to access regular minions over salt-ssh.
204181
204182       New in version 2017.7.0: .IP · 2 grains, pillar, mine data matching
204183
204184       · SDB URLs
204185
204186       · IPv6 support
204187
204188       · roster_order per config key
204189
204190       · default order changed to industry-wide best practices
204191
204192       · CIDR range selection
204193
204194
204195   Targeting
204196       This  roster  supports  all  matching and targeting of the Salt Master.
204197       The matching will be done using only the Salt Master's cache.
204198
204199   The Roster Order
204200       The roster's composition can be configured using roster_order.  In  the
204201       roster_order you can define any roster key and fill it with a parameter
204202       overriding the one in roster_defaults:
204203
204204          roster_order:
204205              host: id          # use the minion id as hostname
204206
204207       You can define lists of parameters as well, the first result  from  the
204208       list will become the value.
204209
204210   Selecting a host
204211          # default
204212          roster_order:
204213              host:
204214                - ipv6-private  # IPv6 addresses in private ranges
204215                - ipv6-global   # IPv6 addresses in global ranges
204216                - ipv4-private  # IPv4 addresses in private ranges
204217                - ipv4-public   # IPv4 addresses in public ranges
204218                - ipv4-local    # loopback addresses
204219
204220       This  is the default roster_order.  It prefers IPv6 over IPv4 addresses
204221       and private addresses over public ones.   The  relevant  data  will  be
204222       fetched from the cache in-order, and the first match will fill the host
204223       key.
204224
204225       Other address selection parameters are also possible:
204226
204227          roster_order:
204228            host:
204229              - global|public|private|local    # Both IPv6 and IPv4 addresses in that range
204230              - 2000::/3                       # CIDR networks, both IPv4 and IPv6 are supported
204231
204232   Using cached data
204233       Several cached libraries can be selected using the library: ``  prefix,
204234       followed by the library key.  This can be referenced using the same ``:
204235       syntax as e.g. pillar.get.  Lists of references are also supported dur‐
204236       ing the lookup, as are Salt SDB URLs.
204237
204238       This should be especially useful for the other roster keys:
204239
204240          roster_order:
204241            host:
204242              - grain: fqdn_ip4                # Lookup this grain
204243              - mine: network.ip_addrs         # Mine data lookup works the same
204244
204245            password: sdb://vault/ssh_pass     # Salt SDB URLs are also supported
204246
204247            user:
204248              - pillar: ssh:auth:user          # Lookup this pillar key
204249              - sdb://osenv/USER               # Lookup this env var through sdb
204250
204251            priv:
204252              - pillar:                        # Lists are also supported
204253                  - salt:ssh:private_key
204254                  - ssh:auth:private_key
204255
204256       salt.roster.cache.targets(tgt, tgt_type=u'glob', **kwargs)
204257              Return  the  targets  from  the Salt Masters' minion cache.  All
204258              targets and matchers are supported.
204259
204260              The resulting roster can be configured  using  roster_order  and
204261              roster_default.
204262
204263   salt.roster.cloud
204264       Use  the  cloud  cache  on the master to derive IPv4 addresses based on
204265       minion ID.
204266
204267       This roster requires that the minion in question was created  using  at
204268       least  the  2015.5.0  version of Salt Cloud. Starting with the 2015.5.0
204269       release, Salt Cloud maintains an index of minions that it  creates  and
204270       deletes.  This index tracks the provider and profile configuration used
204271       to provision the minion, including authentication information. So  long
204272       as  this  configuration  remains current, it can be used by Salt SSH to
204273       log into any minion in the index.
204274
204275       To connect as a user other than root, modify  the  cloud  configuration
204276       file  usually  located at /etc/salt/cloud. For example, add the follow‐
204277       ing:
204278
204279          ssh_username: my_user
204280          sudo: True
204281
204282       salt.roster.cloud.extract_ipv4(roster_order, ipv4)
204283              Extract the preferred IP address from the ipv4 grain
204284
204285       salt.roster.cloud.targets(tgt, tgt_type=u'glob', **kwargs)
204286              Return the targets from the flat  yaml  file,  checks  opts  for
204287              location but defaults to /etc/salt/roster
204288
204289   salt.roster.clustershell
204290       This roster resolves hostname in a pdsh/clustershell style.
204291
204292       depends
204293              clustershell, https://github.com/cea-hpc/clustershell
204294
204295       When you want to use host globs for target matching, use --roster clus‐
204296       tershell. For example:
204297
204298          salt-ssh --roster clustershell 'server_[1-10,21-30],test_server[5,7,9]' test.ping
204299
204300       salt.roster.clustershell.targets(tgt, tgt_type=u'glob', **kwargs)
204301              Return the targets
204302
204303   salt.roster.flat
204304       Read in the roster from a flat file using the renderer system
204305
204306       salt.roster.flat.targets(tgt, tgt_type=u'glob', **kwargs)
204307              Return the targets from the flat  yaml  file,  checks  opts  for
204308              location but defaults to /etc/salt/roster
204309
204310   salt.roster.range module
204311       This roster resolves targets from a range server.
204312
204313       depends
204314              seco.range, https://github.com/ytoolshed/range
204315
204316       When  you  want  to use a range query for target matching, use --roster
204317       range. For example:
204318
204319          salt-ssh --roster range '%%%example.range.cluster' test.ping
204320
204321       salt.roster.range.target_glob(tgt, hosts)
204322
204323       salt.roster.range.target_range(tgt, hosts)
204324
204325       salt.roster.range.targets(tgt, tgt_type=u'range', **kwargs)
204326              Return the targets from a range query
204327
204328   salt.roster.scan
204329       Scan a netmask or ipaddr for open ssh ports
204330
204331       class salt.roster.scan.RosterMatcher(tgt, tgt_type)
204332              Matcher for the roster data structure
204333
204334              targets()
204335                     Return ip addrs based on netmask, sitting in  the  "glob"
204336                     spot because it is the default
204337
204338       salt.roster.scan.targets(tgt, tgt_type=u'glob', **kwargs)
204339              Return  the  targets  from  the  flat yaml file, checks opts for
204340              location but defaults to /etc/salt/roster
204341
204342   salt.roster.sshconfig
204343       Parses roster entries out of Host directives from SSH config
204344
204345          salt-ssh --roster sshconfig '*' -r "echo hi"
204346
204347       class salt.roster.sshconfig.RosterMatcher(raw, tgt, tgt_type)
204348              Matcher for the roster data structure
204349
204350              get_data(minion)
204351                     Return the configured ip
204352
204353              ret_glob_minions()
204354                     Return minions that match via glob
204355
204356              targets()
204357                     Execute the correct tgt_type routine and return
204358
204359       salt.roster.sshconfig.parse_ssh_config(lines)
204360              Parses lines from the SSH config to create roster targets.
204361
204362              Parameters
204363                     lines -- Individual lines from the ssh config file
204364
204365              Returns
204366                     Dictionary of targets in similar style to the flat roster
204367
204368       salt.roster.sshconfig.targets(tgt, tgt_type=u'glob', **kwargs)
204369              Return the targets from the flat  yaml  file,  checks  opts  for
204370              location but defaults to /etc/salt/roster
204371
204372   salt.roster.terraform
204373   Dynamic roster from terraform current state
204374       This  roster module allows you dynamically generate the roster from the
204375       terraform resources defined with the Terraform Salt provider.
204376
204377       It exposes all salt_host resources with  the  same  attributes  to  the
204378       salt-ssh  roster,  making it completely independent of the type of ter‐
204379       raform resource, and providing the  integration  using  terraform  con‐
204380       structs with interpolation.
204381
204382   Basic Example
204383       Given a simple salt-ssh tree with a Saltfile:
204384
204385          salt-ssh:
204386            config_dir: etc/salt
204387            max_procs: 30
204388            wipe_ssh: True
204389
204390       and etc/salt/master:
204391
204392          root_dir: .
204393            file_roots:
204394              base:
204395                - srv/salt
204396            pillar_roots:
204397              base:
204398                - srv/pillar
204399            roster: terraform
204400
204401       In  the  same  folder  as  your  Saltfile,  create  terraform file with
204402       resources like cloud instances, virtual machines, etc. For every single
204403       one  of  those  that  you  want to manage with Salt, create a salt_host
204404       resource:
204405
204406          resource "salt_host" "dbminion" {
204407            salt_id = "dbserver"
204408            host = "${libvirt_domain.vm-db.network_interface.0.addresses.0}"
204409            user = "root"
204410            passwd = "linux"
204411          }
204412
204413       You can use the count attribute to create multiple roster entries  with
204414       a  single  definition.  Please refer to the Terraform Salt provider for
204415       more detailed examples.
204416
204417       salt.roster.terraform.targets(tgt, tgt_type=u'glob', **kwargs)
204418              Returns the roster from the terraform state  file,  checks  opts
204419              for location, but defaults to terraform.tfstate
204420
204421   runner modules
204422                    ┌──────────────┬────────────────────────────┐
204423asam          │ Novell ASAM Runner         │
204424                    ├──────────────┼────────────────────────────┤
204425auth          │ Authentication  runner for │
204426                    │              │ creating,  deleting,   and │
204427                    │              │ managing eauth tokens.     │
204428                    ├──────────────┼────────────────────────────┤
204429bgp           │ BGP Finder                 │
204430                    ├──────────────┼────────────────────────────┤
204431cache         │ Return  cached  data  from │
204432                    │              │ minions                    │
204433                    ├──────────────┼────────────────────────────┤
204434cloud         │ The Salt Cloud Runner      │
204435                    ├──────────────┼────────────────────────────┤
204436ddns          │ Dynamic DNS Runner         │
204437                    ├──────────────┼────────────────────────────┤
204438digicertapi   │ Support for Digicert.      │
204439                    ├──────────────┼────────────────────────────┤
204440doc           │ A runner module to collect │
204441                    │              │ and   display  the  inline │
204442                    │              │ documentation   from   the │
204443                    │              │ various module types       │
204444                    ├──────────────┼────────────────────────────┤
204445drac          │ Manage  Dell DRAC from the │
204446                    │              │ Master                     │
204447                    ├──────────────┼────────────────────────────┤
204448error         │ Error generator to  enable │
204449                    │              │ integration   testing   of │
204450                    │              │ salt runner error handling │
204451                    ├──────────────┼────────────────────────────┤
204452event         │ Module for sending  events │
204453                    │              │ using the runner system.   │
204454                    ├──────────────┼────────────────────────────┤
204455f5            │ Runner  to provide F5 Load │
204456                    │              │ Balancer functionality     │
204457                    ├──────────────┼────────────────────────────┤
204458fileserver    │ Directly manage  the  Salt │
204459                    │              │ fileserver plugins         │
204460                    ├──────────────┼────────────────────────────┤
204461git_pillar    │ Runner  module to directly │
204462                    │              │ manage  the  git  external │
204463                    │              │ pillar                     │
204464                    ├──────────────┼────────────────────────────┤
204465http          │ Module  for making various │
204466                    │              │ web calls.                 │
204467                    ├──────────────┼────────────────────────────┤
204468jobs          │ A  convenience  system  to │
204469                    │              │ manage  jobs,  both active │
204470                    │              │ and already run            │
204471                    ├──────────────┼────────────────────────────┤
204472launchd       │ Manage launchd plist files │
204473                    ├──────────────┼────────────────────────────┤
204474lxc           │ Control  Linux  Containers │
204475                    │              │ via Salt                   │
204476                    ├──────────────┼────────────────────────────┤
204477manage        │ General  management  func‐ │
204478                    │              │ tions for salt, tools like │
204479                    │              │ seeing  what  hosts are up │
204480                    │              │ and what hosts are down    │
204481                    ├──────────────┼────────────────────────────┤
204482mattermost    │ Module  for  sending  mes‐ │
204483                    │              │ sages to Mattermost        │
204484                    ├──────────────┼────────────────────────────┤
204485mine          │ A  runner  to  access data │
204486                    │              │ from the salt mine         │
204487                    ├──────────────┼────────────────────────────┤
204488nacl          │ This module helps  include │
204489                    │              │ encrypted   passwords   in │
204490                    │              │ pillars, grains  and  salt │
204491                    │              │ state files.               │
204492                    ├──────────────┼────────────────────────────┤
204493net           │ NET Finder                 │
204494                    ├──────────────┼────────────────────────────┤
204495network       │ Network  tools to run from │
204496                    │              │ the Master                 │
204497                    ├──────────────┼────────────────────────────┤
204498pagerduty     │ Runner Module  for  Firing │
204499                    │              │ Events via PagerDuty       │
204500                    ├──────────────┼────────────────────────────┤
204501pillar        │ Functions to interact with │
204502                    │              │ the pillar compiler on the │
204503                    │              │ master                     │
204504                    ├──────────────┼────────────────────────────┤
204505pkg           │ Package  helper  functions │
204506                    │              │ using salt.modules.pkg     
204507                    ├──────────────┼────────────────────────────┤
204508queue         │ General   management   and │
204509                    │              │ processing of queues.      │
204510                    ├──────────────┼────────────────────────────┤
204511reactor       │ A  convenience  system  to │
204512                    │              │ manage reactors            │
204513                    ├──────────────┼────────────────────────────┤
204514salt          │ This runner  makes  Salt's │
204515                    │              │ execution  modules  avail‐ │
204516                    │              │ able on the salt master.   │
204517                    ├──────────────┼────────────────────────────┤
204518saltutil      │ The  Saltutil  runner   is │
204519                    │              │ used  to sync custom types │
204520                    │              │ to the Master.             │
204521                    ├──────────────┼────────────────────────────┤
204522sdb           │ Runner  for  setting   and │
204523                    │              │ querying  data via the sdb │
204524                    │              │ API on the master          │
204525                    ├──────────────┼────────────────────────────┤
204526smartos_vmadm │ Runner for SmartOS minions │
204527                    │              │ control vmadm              │
204528                    ├──────────────┼────────────────────────────┤
204529spacewalk     │ Spacewalk Runner           │
204530                    ├──────────────┼────────────────────────────┤
204531ssh           │ A  Runner module interface │
204532                    │              │ on  top  of  the  salt-ssh │
204533                    │              │ Python API.                │
204534                    ├──────────────┼────────────────────────────┤
204535state         │ Execute      orchestration │
204536                    │              │ functions                  │
204537                    ├──────────────┼────────────────────────────┤
204538survey        │ A general map/reduce style │
204539                    │              │ salt  runner for aggregat‐ │
204540                    │              │ ing  results  returned  by │
204541                    │              │ several different minions. │
204542                    ├──────────────┼────────────────────────────┤
204543test          │ This  runner  is used only │
204544                    │              │ for  test   purposes   and │
204545                    │              │ servers no production pur‐ │
204546                    │              │ pose                       │
204547                    ├──────────────┼────────────────────────────┤
204548thin          │ The thin runner is used to │
204549                    │              │ manage  the salt thin sys‐ │
204550                    │              │ tems.                      │
204551                    ├──────────────┼────────────────────────────┤
204552vault         │                            │
204553                    │              │        maintainer          
204554                    │              │               SaltStack    │
204555                    ├──────────────┼────────────────────────────┤
204556venafiapi     │ Support for Venafi         │
204557                    ├──────────────┼────────────────────────────┤
204558virt          │ Control  virtual  machines │
204559                    │              │ via Salt                   │
204560                    ├──────────────┼────────────────────────────┤
204561vistara       │ Vistara Runner             │
204562                    ├──────────────┼────────────────────────────┤
204563winrepo       │ Runner  to  manage Windows │
204564                    │              │ software repo              │
204565                    └──────────────┴────────────────────────────┘
204566
204567   salt.runners.asam
204568   Novell ASAM Runner
204569       New in version Beryllium.
204570
204571
204572       Runner to interact with Novell ASAM Fan-Out Driver
204573
204574       codeauthor
204575              Nitin Madhok <nmadhok@clemson.edu>
204576
204577       To use this runner, set up the Novell Fan-Out Driver URL, username  and
204578       password   in   the   master   configuration   at  /etc/salt/master  or
204579       /etc/salt/master.d/asam.conf:
204580
204581          asam:
204582            prov1.domain.com
204583              username: "testuser"
204584              password: "verybadpass"
204585            prov2.domain.com
204586              username: "testuser"
204587              password: "verybadpass"
204588
204589       NOTE:
204590          Optionally, protocol and port can be specified if the Fan-Out Driver
204591          server  is  not  using  the defaults. Default is protocol: https and
204592          port: 3451.
204593
204594       salt.runners.asam.add_platform(name, platform_set, server_url)
204595              To add an ASAM platform using the specified ASAM platform set on
204596              the Novell Fan-Out Driver
204597
204598              CLI Example:
204599
204600                 salt-run asam.add_platform my-test-vm test-platform-set prov1.domain.com
204601
204602       salt.runners.asam.list_platform_sets(server_url)
204603              To  list  all  ASAM  platform sets present on the Novell Fan-Out
204604              Driver
204605
204606              CLI Example:
204607
204608                 salt-run asam.list_platform_sets prov1.domain.com
204609
204610       salt.runners.asam.list_platforms(server_url)
204611              To list all ASAM platforms present on the Novell Fan-Out Driver
204612
204613              CLI Example:
204614
204615                 salt-run asam.list_platforms prov1.domain.com
204616
204617       salt.runners.asam.remove_platform(name, server_url)
204618              To remove specified ASAM platform from the Novell Fan-Out Driver
204619
204620              CLI Example:
204621
204622                 salt-run asam.remove_platform my-test-vm prov1.domain.com
204623
204624   salt.runners.auth
204625       Authentication  runner  for  creating,  deleting,  and  managing  eauth
204626       tokens.
204627
204628       New in version 2016.11.0.
204629
204630
204631       salt.runners.auth.del_token(token)
204632              Delete an eauth token by name
204633
204634              CLI Example:
204635
204636                 salt-run auth.del_token 6556760736e4077daa601baec2b67c24
204637
204638       salt.runners.auth.mk_token(**load)
204639              Create an eauth token using provided credentials
204640
204641              Non-root  users may specify an expiration date -- if allowed via
204642              the token_expire_user_override setting -- by  passing  an  addi‐
204643              tional  token_expire param. This overrides the token_expire set‐
204644              ting of the same name in the Master config and  is  how  long  a
204645              token should live in seconds.
204646
204647              CLI Example:
204648
204649                 salt-run auth.mk_token username=saltdev password=saltdev eauth=auto
204650
204651                 # Create a token valid for three years.
204652                 salt-run auth.mk_token username=saltdev password=saltdev eauth=auto \
204653                     token_expire=94670856
204654
204655                 # Calculate the number of seconds using expr.
204656                 salt-run auth.mk_token username=saltdev password=saltdev eauth=auto \
204657                     token_expire=$(expr \( 365 \* 24 \* 60 \* 60 \) \* 3)
204658
204659   salt.runners.bgp
204660   BGP Finder
204661       New in version 2017.7.0.
204662
204663
204664       Runner to search BGP neighbors details.
204665
204666   Configuration
204667       · Minion (proxy) config
204668            The  bgp.neighbors  function  must  be  appened  in  the  list  of
204669            mine_functions:
204670
204671                mine_functions:
204672                  bgp.neighbors: []
204673
204674            Which instructs Salt to cache the data returned by  the  neighbors
204675            function from the NAPALM BGP module.
204676
204677            How often the mines are refreshed, can be specified using:
204678
204679                mine_interval: <X minutes>
204680
204681       · Master config
204682            By  default the following options can be configured on the master.
204683            They are not mandatory, but available in case the user has differ‐
204684            ent requirements.
204685
204686            tgt: * From  what  minions will collect the mine data.  Default: *
204687                   (collect mine data from all minions)
204688
204689            tgt_type: glob
204690                   Minion matching expression form. Default: glob.
204691
204692            return_fields
204693                   What fields to return in the output.  It  can  display  all
204694                   the  fields from the neighbors function from the NAPALM BGP
204695                   module.
204696
204697                   Some fields cannot be removed:
204698
204699                   · as_number: the AS number of the neighbor
204700
204701                   · device: the minion ID
204702
204703                   · neighbor_address: the neighbor remote IP address
204704
204705                   By default, the following extra fields are  returned  (dis‐
204706                   played):
204707
204708                   · connection_stats: connection stats, as described below
204709
204710                   · import_policy: the name of the import policy
204711
204712                   · export_policy: the name of the export policy
204713
204714                   Special fields:
204715
204716                   · vrf: return the name of the VRF.
204717
204718                   · connection_stats: returning an output of the form <State>
204719                     <Active>/<Received>/<Accepted>/<Damped>,   e.g.    Estab‐
204720                     lished  398/399/399/0  similar  to  the usual output from
204721                     network devices.
204722
204723                   · interface_description: matches the neighbor details  with
204724                     the  corresponding interface and returns its description.
204725                     This will reuse functionality from the net runner, so the
204726                     user  needs to enable the mines as specified in the docu‐
204727                     mentation.
204728
204729                   · interface_name: matches the  neighbor  details  with  the
204730                     corresponding interface and returns the name.  Similar to
204731                     interface_description, this will reuse functionality from
204732                     the  net runner, so the user needs to enable the mines as
204733                     specified in the documentation.
204734
204735            display: True
204736                   Display on the screen or return structured object? Default:
204737                   True (return on the CLI).
204738
204739            outputter: table
204740                   Specify  the  outputter  name  when  displaying on the CLI.
204741                   Default: table.
204742
204743            Configuration example:
204744
204745                runners:
204746                  bgp:
204747                    tgt: 'edge*'
204748                    tgt_type: 'glob'
204749                    return_fields:
204750                      - up
204751                      - connection_state
204752                      - previous_connection_state
204753                      - suppress_4byte_as
204754                      - holdtime
204755                      - flap_count
204756                    outputter: yaml
204757
204758       salt.runners.bgp.neighbors(*asns, **kwargs)
204759              Search for BGP neighbors details in the mines of the  bgp.neigh‐
204760              bors function.
204761
204762              Arguments:
204763
204764              asns   A  list  of  AS  numbers  to search for.  The runner will
204765                     return only the neighbors of these AS numbers.
204766
204767              device Filter by device name (minion ID).
204768
204769              ip     Search BGP neighbor using the IP address.   In  multi-VRF
204770                     environments,  the  same IP address could be used by more
204771                     than one neighbors, in different routing tables.
204772
204773              network
204774                     Search neighbors within a certain IP network.
204775
204776              title  Custom title.
204777
204778              display: True
204779                     Display  on  the  screen  or  return  structured  object?
204780                     Default: True (return on the CLI).
204781
204782              outputter: table
204783                     Specify  the  outputter  name when displaying on the CLI.
204784                     Default: table.
204785
204786              In addition, any field from the output of the neighbors function
204787              from the NAPALM BGP module can be used as a filter.
204788
204789              CLI Example:
204790
204791                 salt-run bgp.neighbors 13335 15169
204792                 salt-run bgp.neighbors 13335 ip=172.17.19.1
204793                 salt-run bgp.neighbors multipath=True
204794                 salt-run bgp.neighbors up=False export_policy=my-export-policy multihop=False
204795                 salt-run bgp.neighbors network=192.168.0.0/16
204796
204797              Output example:
204798
204799                 BGP Neighbors for 13335, 15169
204800                 ________________________________________________________________________________________________________________________________________________________________
204801                 |    Device    | AS Number |         Neighbor Address        | State|#Active/Received/Accepted/Damped |         Policy IN         |         Policy OUT         |
204802                 ________________________________________________________________________________________________________________________________________________________________
204803                 | edge01.bjm01 |   13335   |          172.17.109.11          |        Established 0/398/398/0         |       import-policy       |        export-policy       |
204804                 ________________________________________________________________________________________________________________________________________________________________
204805                 | edge01.bjm01 |   13335   |          172.17.109.12          |       Established 397/398/398/0        |       import-policy       |        export-policy       |
204806                 ________________________________________________________________________________________________________________________________________________________________
204807                 | edge01.flw01 |   13335   |          192.168.172.11         |        Established 1/398/398/0         |       import-policy       |        export-policy       |
204808                 ________________________________________________________________________________________________________________________________________________________________
204809                 | edge01.oua01 |   13335   |          172.17.109.17          |          Established 0/0/0/0           |       import-policy       |        export-policy       |
204810                 ________________________________________________________________________________________________________________________________________________________________
204811                 | edge01.bjm01 |   15169   |             2001::1             |       Established 102/102/102/0        |       import-policy       |        export-policy       |
204812                 ________________________________________________________________________________________________________________________________________________________________
204813                 | edge01.bjm01 |   15169   |             2001::2             |       Established 102/102/102/0        |       import-policy       |        export-policy       |
204814                 ________________________________________________________________________________________________________________________________________________________________
204815                 | edge01.tbg01 |   13335   |          192.168.172.17         |          Established 0/1/1/0           |       import-policy       |        export-policy       |
204816                 ________________________________________________________________________________________________________________________________________________________________
204817
204818   salt.runners.cache
204819       Return cached data from minions
204820
204821       salt.runners.cache.clear_all(tgt=None, tgt_type=u'glob')
204822              Changed  in  version  2017.7.0:  The expr_form argument has been
204823              renamed to tgt_type, earlier releases must use expr_form.
204824
204825
204826              Clear the cached pillar, grains, and mine data of  the  targeted
204827              minions
204828
204829              CLI Example:
204830
204831                 salt-run cache.clear_all
204832
204833       salt.runners.cache.clear_git_lock(role, remote=None, **kwargs)
204834              New in version 2015.8.2.
204835
204836
204837              Remove  the update locks for Salt components (gitfs, git_pillar,
204838              winrepo) which use gitfs backend code from salt.utils.gitfs.
204839
204840              NOTE:
204841                 Running cache.clear_all will not include this function as  it
204842                 does for pillar, grains, and mine.
204843
204844                 Additionally, executing this function with a role of gitfs is
204845                 equivalent to running  salt-run  fileserver.clear_lock  back‐
204846                 end=git.
204847
204848              role   Which  type of lock to remove (gitfs, git_pillar, or win‐
204849                     repo)
204850
204851              remote If specified, then any remotes which contain  the  passed
204852                     string  will  have  their  lock  cleared.  For example, a
204853                     remote value of github will  remove  the  lock  from  all
204854                     github.com remotes.
204855
204856              type   update,checkout,mountpoint  The  types  of lock to clear.
204857                     Can be one or more of update, checkout,  and  mountpoint,
204858                     and  can  be passed either as a comma-separated or Python
204859                     list.
204860
204861                     New in version 2015.8.8.
204862
204863
204864                     Changed in version 2018.3.0: mountpoint lock type added
204865
204866
204867              CLI Examples:
204868
204869                 salt-run cache.clear_git_lock gitfs
204870                 salt-run cache.clear_git_lock git_pillar
204871                 salt-run cache.clear_git_lock git_pillar type=update
204872                 salt-run cache.clear_git_lock git_pillar type=update,checkout
204873                 salt-run cache.clear_git_lock git_pillar type='["update", "mountpoint"]'
204874
204875       salt.runners.cache.clear_grains(tgt=None, tgt_type=u'glob')
204876              Changed in version 2017.7.0: The  expr_form  argument  has  been
204877              renamed to tgt_type, earlier releases must use expr_form.
204878
204879
204880              Clear the cached grains data of the targeted minions
204881
204882              CLI Example:
204883
204884                 salt-run cache.clear_grains
204885
204886       salt.runners.cache.clear_mine(tgt=None, tgt_type=u'glob')
204887              Changed  in  version  2017.7.0:  The expr_form argument has been
204888              renamed to tgt_type, earlier releases must use expr_form.
204889
204890
204891              Clear the cached mine data of the targeted minions
204892
204893              CLI Example:
204894
204895                 salt-run cache.clear_mine
204896
204897       salt.runners.cache.clear_mine_func(tgt=None,          tgt_type=u'glob',
204898       clear_mine_func_flag=None)
204899              Changed  in  version  2017.7.0:  The expr_form argument has been
204900              renamed to tgt_type, earlier releases must use expr_form.
204901
204902
204903              Clear the cached mine function data of the targeted minions
204904
204905              CLI Example:
204906
204907                 salt-run cache.clear_mine_func tgt='*' clear_mine_func_flag='network.interfaces'
204908
204909       salt.runners.cache.clear_pillar(tgt=None, tgt_type=u'glob')
204910              Changed in version 2017.7.0: The  expr_form  argument  has  been
204911              renamed to tgt_type, earlier releases must use expr_form.
204912
204913
204914              Clear the cached pillar data of the targeted minions
204915
204916              CLI Example:
204917
204918                 salt-run cache.clear_pillar
204919
204920       salt.runners.cache.cloud(tgt, provider=None)
204921              Return cloud cache data for target.
204922
204923              NOTE:
204924                 Only works with glob matching
204925
204926              tgt    Glob Target to match minion ids
204927
204928              provider
204929                     Cloud Provider
204930
204931              CLI Example:
204932
204933                 salt-run cache.cloud 'salt*'
204934                 salt-run cache.cloud glance.example.org provider=openstack
204935
204936       salt.runners.cache.fetch(bank, key, cachedir=None)
204937              Fetch data from a salt.cache bank.
204938
204939              CLI Example:
204940
204941                 salt-run cache.fetch cloud/active/ec2/myec2 myminion cachedir=/var/cache/salt/
204942
204943       salt.runners.cache.flush(bank, key=None, cachedir=None)
204944              Remove  the key from the cache bank with all the key content. If
204945              no key is specified remove the entire bank  with  all  keys  and
204946              sub-banks inside.
204947
204948              CLI Examples:
204949
204950                 salt-run cache.flush cloud/active/ec2/myec2 cachedir=/var/cache/salt/
204951                 salt-run cache.flush cloud/active/ec2/myec2 myminion cachedir=/var/cache/salt/
204952
204953       salt.runners.cache.grains(tgt=None, tgt_type=u'glob', **kwargs)
204954              Changed  in  version  2017.7.0:  The expr_form argument has been
204955              renamed to tgt_type, earlier releases must use expr_form.
204956
204957
204958              Return cached grains of the targeted minions.
204959
204960              tgt    Target to match minion ids.
204961
204962                     Changed in version 2017.7.5,2018.3.0: The tgt argument is
204963                     now  required  to display cached grains. If not used, the
204964                     function will not return grains. This  optional  argument
204965                     will become mandatory in the Salt Sodium release.
204966
204967
204968              tgt_type
204969                     The  type of targeting to use for matching, such as glob,
204970                     list, etc.
204971
204972              CLI Example:
204973
204974                 salt-run cache.grains '*'
204975
204976       salt.runners.cache.list_(bank, cachedir=None)
204977              Lists entries stored in the specified bank.
204978
204979              CLI Example:
204980
204981                 salt-run cache.list cloud/active/ec2/myec2 cachedir=/var/cache/salt/
204982
204983       salt.runners.cache.mine(tgt=None, tgt_type=u'glob', **kwargs)
204984              Changed in version 2017.7.0: The  expr_form  argument  has  been
204985              renamed to tgt_type, earlier releases must use expr_form.
204986
204987
204988              Return cached mine data of the targeted minions
204989
204990              CLI Example:
204991
204992                 salt-run cache.mine
204993
204994       salt.runners.cache.pillar(tgt=None, tgt_type=u'glob', **kwargs)
204995              Changed  in  version  2017.7.0:  The expr_form argument has been
204996              renamed to tgt_type, earlier releases must use expr_form.
204997
204998
204999              Return cached pillars of the targeted minions
205000
205001              CLI Example:
205002
205003                 salt-run cache.pillar
205004
205005       salt.runners.cache.store(bank, key, data, cachedir=None)
205006              Lists entries stored in the specified bank.
205007
205008              CLI Example:
205009
205010                 salt-run cache.store mycache mykey 'The time has come the walrus said'
205011
205012   salt.runners.cloud
205013   The Salt Cloud Runner
205014       This runner wraps the functionality of salt  cloud  making  salt  cloud
205015       routines available to all internal apis via the runner system
205016
205017       salt.runners.cloud.action(func=None,   cloudmap=None,   instances=None,
205018       provider=None, instance=None, opts=None, **kwargs)
205019              Execute a single action on the given map/provider/instance
205020
205021              CLI Example:
205022
205023                 salt-run cloud.action start my-salt-vm
205024
205025       salt.runners.cloud.create(provider, instances, opts=None, **kwargs)
205026              Create an instance using Salt Cloud
205027
205028              CLI Example:
205029
205030                 salt-run cloud.create my-ec2-config myinstance             image=ami-1624987f size='t1.micro' ssh_username=ec2-user             securitygroup=default delvol_on_destroy=True
205031
205032       salt.runners.cloud.destroy(instances, opts=None)
205033              Destroy the named vm(s)
205034
205035       salt.runners.cloud.full_query(query_type=u'list_nodes_full')
205036              List all available cloud provider data
205037
205038       salt.runners.cloud.list_images(provider=u'all')
205039              List cloud provider images for the given providers
205040
205041       salt.runners.cloud.list_locations(provider=u'all')
205042              List cloud provider sizes for the given providers
205043
205044       salt.runners.cloud.list_sizes(provider=u'all')
205045              List cloud provider sizes for the given providers
205046
205047       salt.runners.cloud.map_run(path=None, opts=None, **kwargs)
205048              Execute a salt cloud map file
205049
205050       salt.runners.cloud.profile(prof=None,    instances=None,     opts=None,
205051       **kwargs)
205052              Create  a  cloud  vm  with  the  given  profile  and  instances,
205053              instances can be a list or comma-delimited string
205054
205055              CLI Example:
205056
205057                 salt-run cloud.profile prof=my-ec2 instances=node1,node2,node3
205058
205059       salt.runners.cloud.query(query_type=u'list_nodes')
205060              List cloud provider data for all providers
205061
205062       salt.runners.cloud.select_query(query_type=u'list_nodes_select')
205063              List selected nodes
205064
205065   salt.runners.ddns
205066   Dynamic DNS Runner
205067       New in version Beryllium.
205068
205069
205070       Runner to interact with DNS server and create/delete/update DNS records
205071
205072       codeauthor
205073              Nitin Madhok <nmadhok@clemson.edu>
205074
205075       salt.runners.ddns.add_host(zone, name, ttl, ip, keyname, keyfile, name‐
205076       server, timeout, port=53, keyalgorithm=u'hmac-md5')
205077              Create both A and PTR (reverse) records for a host.
205078
205079              CLI Example:
205080
205081                 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
205082
205083       salt.runners.ddns.create(zone,  name,  ttl, rdtype, data, keyname, key‐
205084       file, nameserver, timeout, port=53, keyalgorithm=u'hmac-md5')
205085              Create a DNS record. The nameserver must be an  IP  address  and
205086              the  master  running  this runner must have create privileges on
205087              that server.
205088
205089              CLI Example:
205090
205091                 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
205092
205093       salt.runners.ddns.delete(zone,  name,  keyname,  keyfile,   nameserver,
205094       timeout, rdtype=None, data=None, port=53, keyalgorithm=u'hmac-md5')
205095              Delete a DNS record.
205096
205097              CLI Example:
205098
205099                 salt-run ddns.delete domain.com my-test-vm my-tsig-key /etc/salt/tsig.keyring 10.0.0.1 5 A
205100
205101       salt.runners.ddns.delete_host(zone, name, keyname, keyfile, nameserver,
205102       timeout, port=53, keyalgorithm=u'hmac-md5')
205103              Delete both forward (A) and reverse (PTR)  records  for  a  host
205104              only if the forward (A) record exists.
205105
205106              CLI Example:
205107
205108                 salt-run ddns.delete_host domain.com my-test-vm my-tsig-key /etc/salt/tsig.keyring 10.0.0.1 5
205109
205110       salt.runners.ddns.update(zone,  name,  ttl, rdtype, data, keyname, key‐
205111       file,   nameserver,   timeout,   replace=False,    port=53,    keyalgo‐
205112       rithm=u'hmac-md5')
205113              Replace,  or  update  a DNS record. The nameserver must be an IP
205114              address and the master running  this  runner  must  have  update
205115              privileges on that server.
205116
205117              NOTE:
205118                 If replace is set to True, all records for this name and type
205119                 will  first  be  deleted  and  then  recreated.  Default   is
205120                 replace=False.
205121
205122              CLI Example:
205123
205124                 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
205125
205126   salt.runners.digicertapi
205127       Support  for  Digicert.   Heavily  based on the Venafi runner by Joseph
205128       Hall (jphall@saltstack.com).
205129
205130       Before using this module you need to  register  an  account  with  Dig‐
205131       icert's CertCentral.
205132
205133       Login  to  CertCentral,  ensure  you  have  a payment method configured
205134       and/or there are adequate funds attached to your  account.   Click  the
205135       Account item in the left sidebar, and select Account Access.  The right
205136       hand pane should show "Account Access" and a link to create an API key.
205137       Create  a new API key and assign it to the user that should be attached
205138       to requests coming from Salt.
205139
205140       NOTE CertCentral will not show the API key again after revealing it the
205141       first  time.   Make  sure  you  copy  it right away or you will have to
205142       revoke it and generate a new one.
205143
205144       Now open /etc/salt/master and add the API key as shown below.
205145
205146          digicert:
205147            api_key: ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABC
205148
205149       Restart your Salt Master.
205150
205151       You can also include default values of the following variables to  help
205152       with creating CSRs:
205153
205154          digicert:
205155            api_key: ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABC
205156            shatype: sha256
205157
205158       This  API currently only supports RSA key types.  Support for other key
205159       types will be added if interest warrants.
205160
205161       salt.runners.digicertapi.del_cached_domain(domains)
205162              Delete cached domains from the master
205163
205164              CLI Example:
205165
205166                 salt-run digicert.del_cached_domain domain1.example.com,domain2.example.com
205167
205168       salt.runners.digicertapi.gen_csr(minion_id, dns_name,  organization_id,
205169       ou_name=None, key_len=2048, shatype=u'sha256', password=None)
205170              CLI Example:
205171
205172                 salt-run digicert.gen_csr <minion_id> <dns_name>
205173
205174       salt.runners.digicertapi.gen_key(minion_id,     dns_name=None,    pass‐
205175       word=None, key_len=2048)
205176              Generate and return a private_key. If a dns_name is  passed  in,
205177              the private_key will be cached under that name.
205178
205179              CLI Example:
205180
205181                 salt-run digicert.gen_key <minion_id> [dns_name] [password]
205182
205183       salt.runners.digicertapi.get_certificate(order_id=None,        certifi‐
205184       cate_id=None, minion_id=None, cert_format=u'pem_all', filename=None)
205185              Retrieve a certificate by order_id or certificate_id  and  write
205186              it to stdout or a filename.
205187
205188              A list of permissible cert_formats is here:
205189                     https://www.digicert.com/services/v2/documentation/appendix-certificate-formats
205190
205191              CLI Example:
205192
205193                 salt-run digicert.get_certificate order_id=48929454 cert_format=apache
205194
205195              Including a 'filename' will write the certificate to the desired
205196              file.   Note  that  some cert formats are zipped files, and some
205197              are binary.
205198
205199              If the certificate has  not  been  issued,  this  function  will
205200              return  the  order details inside of which will be a status (one
205201              of pending, rejected,  processing,  issued,  revoked,  canceled,
205202              needs_csr, and needs_approval)
205203
205204              If  for  some reason you want to pipe the output of this command
205205              to a file or other command you will want to leave off the  file‐
205206              name  argument and make sure to include --no-color so there will
205207              be no terminal ANSI escape sequences.
205208
205209       salt.runners.digicertapi.get_org_details(organization_id)
205210              Return the details for an organization
205211
205212              CLI Example:
205213
205214                 salt-run digicert.get_org_details 34
205215
205216              Returns a dictionary with the org details, or with  'error'  and
205217              'status' keys.
205218
205219       salt.runners.digicertapi.list_domain_cache()
205220              List domains that have been cached
205221
205222              CLI Example:
205223
205224                 salt-run digicert.list_domain_cache
205225
205226       salt.runners.digicertapi.list_domains(container_id=None)
205227              List  domains  that  CertCentral  knows about. You can filter by
205228              container_id (also  known  as  "Division")  by  passing  a  con‐
205229              tainer_id.
205230
205231              CLI Example:
205232
205233                 salt-run digicert.list_domains
205234
205235       salt.runners.digicertapi.list_orders(status=None)
205236              List certificate orders made to CertCentral.
205237
205238              CLI Example:
205239
205240                 salt-run digicert.list_orders
205241
205242       salt.runners.digicertapi.list_organizations(container_id=None,
205243       include_validation=True)
205244              List organizations that CertCentral knows about. You can  filter
205245              by  container_id  (also  known  as "Division") by passing a con‐
205246              tainer_id.  This  function  returns  validation  information  by
205247              default; pass include_validation=False to turn it off.
205248
205249              CLI Example:
205250
205251                 salt-run digicert.list_organizations
205252
205253       salt.runners.digicertapi.list_requests(status=None)
205254              List certificate requests made to CertCentral. You can filter by
205255              status: pending, approved, rejected
205256
205257              CLI Example:
205258
205259                 salt-run digicert.list_requests pending
205260
205261       salt.runners.digicertapi.order_certificate(minion_id,      common_name,
205262       organization_id,   validity_years,   cert_key_passphrase=None,   signa‐
205263       ture_hash=None, key_len=2048, dns_names=None,  organization_units=None,
205264       server_platform=None,  custom_expiration_date=None, comments=None, dis‐
205265       able_renewal_notifications=False,               product_type_hint=None,
205266       renewal_of_order_id=None)
205267              Order  a  certificate.   Requires  that an Organization has been
205268              created inside Digicert's CertCentral.
205269
205270              See         here         for         API          documentation:
205271              https://www.digicert.com/services/v2/documentation/order/order-ssl-determinator
205272
205273              CLI Example:
205274
205275                 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'
205276
205277              This runner can also be used to renew a certificate  by  passing
205278              renewal_of_order_id.   Previous  order  details can be retrieved
205279              with digicertapi.list_orders.
205280
205281       salt.runners.digicertapi.show_csrs()
205282              Show certificate requests for this API key
205283
205284              CLI Example:
205285
205286                 salt-run digicert.show_csrs
205287
205288       salt.runners.digicertapi.show_organization(domain)
205289              Show organization information, especially the company id
205290
205291              CLI Example:
205292
205293                 salt-run digicert.show_company example.com
205294
205295       salt.runners.digicertapi.show_rsa(minion_id, dns_name)
205296              Show a private RSA key
205297
205298              CLI Example:
205299
205300                 salt-run digicert.show_rsa myminion domain.example.com
205301
205302   salt.runners.doc
205303       A runner module to collect and display the  inline  documentation  from
205304       the various module types
205305
205306       salt.runners.doc.execution()
205307              Collect  all  the sys.doc output from each minion and return the
205308              aggregate
205309
205310              CLI Example:
205311
205312                 salt-run doc.execution
205313
205314       salt.runners.doc.runner()
205315              Return all inline documentation for runner modules
205316
205317              CLI Example:
205318
205319                 salt-run doc.runner
205320
205321       salt.runners.doc.wheel()
205322              Return all inline documentation for wheel modules
205323
205324              CLI Example:
205325
205326                 salt-run doc.wheel
205327
205328   salt.runners.drac
205329       Manage Dell DRAC from the Master
205330
205331       The login credentials need to be configured in the Salt master configu‐
205332       ration file.
205333
205334       salt.runners.drac.poweroff(hostname,  timeout=20,  username=None, pass‐
205335       word=None)
205336              Power server off
205337
205338              CLI Example:
205339
205340                 salt-run drac.poweroff example.com
205341
205342       salt.runners.drac.poweron(hostname,  timeout=20,  username=None,  pass‐
205343       word=None)
205344              Power server on
205345
205346              CLI Example:
205347
205348                 salt-run drac.poweron example.com
205349
205350       salt.runners.drac.pxe(hostname,    timeout=20,   username=None,   pass‐
205351       word=None)
205352              Connect to the Dell DRAC and have the boot order set to PXE  and
205353              power cycle the system to PXE boot
205354
205355              CLI Example:
205356
205357                 salt-run drac.pxe example.com
205358
205359       salt.runners.drac.reboot(hostname,   timeout=20,  username=None,  pass‐
205360       word=None)
205361              Reboot a server using the Dell DRAC
205362
205363              CLI Example:
205364
205365                 salt-run drac.reboot example.com
205366
205367       salt.runners.drac.version(hostname,  timeout=20,  username=None,  pass‐
205368       word=None)
205369              Display the version of DRAC
205370
205371              CLI Example:
205372
205373                 salt-run drac.version example.com
205374
205375   salt.runners.error
205376       Error generator to enable integration testing of salt runner error han‐
205377       dling
205378
205379       salt.runners.error.error(name=None, message=u'')
205380              If name is None Then return empty dict
205381
205382              Otherwise raise an exception with __name__  from  name,  message
205383              from message
205384
205385              CLI Example:
205386
205387                 salt-run error
205388                 salt-run error.error name="Exception" message="This is an error."
205389
205390   salt.runners.event
205391       Module for sending events using the runner system.
205392
205393       New in version 2016.11.0.
205394
205395
205396       salt.runners.event.send(tag, data=None)
205397              Send an event with the given tag and data.
205398
205399              This  is  useful  for sending events directly to the master from
205400              the shell with salt-run. It is also  quite  useful  for  sending
205401              events  in  orchestration  states where the fire_event requisite
205402              isn't sufficient because it does not support sending custom data
205403              with the event.
205404
205405              Note  that  event  tags  will not be namespaced like events sent
205406              with the fire_event  requisite!  Whereas  events  produced  from
205407              fire_event   are   prefixed  with  salt/state_result/<jid>/<min‐
205408              ion_id>/<name>, events sent using this runner module  will  have
205409              no such prefix. Make sure your reactors don't expect a prefix!
205410
205411              Parameters
205412
205413                     · tag -- the tag to send with the event
205414
205415                     · data -- an optional dictionary of data to send with the
205416                       event
205417
205418              CLI Example:
205419
205420                 salt-run event.send my/custom/event '{"foo": "bar"}'
205421
205422              Orchestration Example:
205423
205424                 # orch/command.sls
205425
205426                 run_a_command:
205427                   salt.function:
205428                     - name: cmd.run
205429                     - tgt: my_minion
205430                     - arg:
205431                       - exit {{ pillar['exit_code'] }}
205432
205433                 send_success_event:
205434                   salt.runner:
205435                     - name: event.send
205436                     - tag: my_event/success
205437                     - data:
205438                         foo: bar
205439                     - require:
205440                       - salt: run_a_command
205441
205442                 send_failure_event:
205443                   salt.runner:
205444                     - name: event.send
205445                     - tag: my_event/failure
205446                     - data:
205447                         baz: qux
205448                     - onfail:
205449                       - salt: run_a_command
205450
205451                 salt-run state.orchestrate orch.command pillar='{"exit_code": 0}'
205452                 salt-run state.orchestrate orch.command pillar='{"exit_code": 1}'
205453
205454   salt.runners.f5
205455       Runner to provide F5 Load Balancer functionality
205456
205457       depends
205458
205459              · pycontrol Python module
205460
205461       configuration
205462              In order to connect to a F5 Load Balancer, you must  specify  in
205463              the  Salt master configuration the currently available load bal‐
205464              ancers
205465
205466                 load_balancers:
205467                   bigip1.example.com
205468                     username: admin
205469                     password: secret
205470                   bigip2.example.com:
205471                     username: admin
205472                     password: secret
205473
205474       class salt.runners.f5.F5Mgmt(lb, username, password)
205475
205476              add_pool_member(name, port, pool_name)
205477                     Add a node to a pool
205478
205479              check_member_pool(member, pool_name)
205480                     Check a pool member exists in a specific pool
205481
205482              check_pool(name)
205483                     Check to see if a pool exists
205484
205485              check_virtualserver(name)
205486                     Check to see if a virtual server exists
205487
205488              create_pool(name, method=u'ROUND_ROBIN')
205489                     Create a pool on the F5 load balancer
205490
205491              create_vs(name, ip, port, protocol, profile, pool_name)
205492                     Create a virtual server
205493
205494              lbmethods()
205495                     List all the load balancer methods
205496
205497       salt.runners.f5.add_pool_member(lb, name, port, pool_name)
205498              Add a node to a pool
205499
205500              CLI Examples:
205501
205502                 salt-run f5.add_pool_member load_balancer 10.0.0.1 80 my_pool
205503
205504       salt.runners.f5.check_member_pool(lb, member, pool_name)
205505              Check a pool member exists in a specific pool
205506
205507              CLI Examples:
205508
205509                 salt-run f5.check_member_pool load_balancer 10.0.0.1 my_pool
205510
205511       salt.runners.f5.check_pool(lb, name)
205512              Check to see if a pool exists
205513
205514              CLI Examples:
205515
205516                 salt-run f5.check_pool load_balancer pool_name
205517
205518       salt.runners.f5.check_virtualserver(lb, name)
205519              Check to see if a virtual server exists
205520
205521              CLI Examples:
205522
205523                 salt-run f5.check_virtualserver load_balancer virtual_server
205524
205525       salt.runners.f5.create_pool(lb, name, method=u'ROUND_ROBIN')
205526              Create a pool on the F5 load balancer
205527
205528              CLI Examples:
205529
205530                 salt-run f5.create_pool load_balancer pool_name loadbalance_method
205531                 salt-run f5.create_pool load_balancer my_pool ROUND_ROBIN
205532
205533       salt.runners.f5.create_vs(lb,  name,  ip,  port,   protocol,   profile,
205534       pool_name)
205535              Create a virtual server
205536
205537              CLI Examples:
205538
205539                 salt-run f5.create_vs lbalancer vs_name 10.0.0.1 80 tcp http poolname
205540
205541   salt.runners.fileserver
205542       Directly manage the Salt fileserver plugins
205543
205544       salt.runners.fileserver.clear_cache(backend=None)
205545              New in version 2015.5.0.
205546
205547
205548              Clear  the  fileserver  cache from VCS fileserver backends (git,
205549              hg, svn). Executing this runner with no arguments will clear the
205550              cache  for  all enabled VCS fileserver backends, but this can be
205551              narrowed using the backend argument.
205552
205553              backend
205554                     Only clear the update lock for the specified  backend(s).
205555                     If  all passed backends start with a minus sign (-), then
205556                     these backends will be excluded from  the  enabled  back‐
205557                     ends.  However,  if  there  is a mix of backends with and
205558                     without a minus sign (ex:  backend=-roots,git)  then  the
205559                     ones starting with a minus sign will be disregarded.
205560
205561              CLI Example:
205562
205563                 salt-run fileserver.clear_cache
205564                 salt-run fileserver.clear_cache backend=git,hg
205565                 salt-run fileserver.clear_cache hg
205566                 salt-run fileserver.clear_cache -roots
205567
205568       salt.runners.fileserver.clear_file_list_cache(saltenv=None,       back‐
205569       end=None)
205570              New in version 2016.11.0.
205571
205572
205573              The Salt fileserver caches  the  files/directories/symlinks  for
205574              each  fileserver  backend and environment as they are requested.
205575              This is done to help the fileserver scale better.  Without  this
205576              caching,  when  hundreds/thousands of minions simultaneously ask
205577              the master what files are available, this would cause  the  mas‐
205578              ter's CPU load to spike as it obtains the same information sepa‐
205579              rately for each minion.
205580
205581              saltenv
205582                     By default, this runner will clear the file  list  caches
205583                     for  all environments. This argument allows for a list of
205584                     environments to be passed,  to  clear  more  selectively.
205585                     This  list  can  be  passed  either  as a comma-separated
205586                     string, or a Python list.
205587
205588              backend
205589                     Similar to the  saltenv  parameter,  this  argument  will
205590                     restrict  the cache clearing to specific fileserver back‐
205591                     ends (the default behavior is to clear from  all  enabled
205592                     fileserver backends). This list can be passed either as a
205593                     comma-separated string, or a Python list.
205594
205595              Since the ability to clear these caches  is  often  required  by
205596              users writing custom runners which add/remove files, this runner
205597              can easily be called from within a custom runner  using  any  of
205598              the following examples:
205599
205600                 # Clear all file list caches
205601                 __salt__['fileserver.clear_file_list_cache']()
205602                 # Clear just the 'base' saltenv file list caches
205603                 __salt__['fileserver.clear_file_list_cache'](saltenv='base')
205604                 # Clear just the 'base' saltenv file list caches from just the 'roots'
205605                 # fileserver backend
205606                 __salt__['fileserver.clear_file_list_cache'](saltenv='base', backend='roots')
205607                 # Clear all file list caches from the 'roots' fileserver backend
205608                 __salt__['fileserver.clear_file_list_cache'](backend='roots')
205609
205610              NOTE:
205611                 In runners, the __salt__ dictionary will likely be renamed to
205612                 __runner__ in a future Salt  release  to  distinguish  runner
205613                 functions  from  remote  execution functions. See this GitHub
205614                 issue for discussion/updates on this.
205615
205616              If using Salt's Python API (not a runner), the  following  exam‐
205617              ples are equivalent to the ones above:
205618
205619                 import salt.config
205620                 import salt.runner
205621
205622                 opts = salt.config.master_config('/etc/salt/master')
205623                 opts['fun'] = 'fileserver.clear_file_list_cache'
205624
205625                 # Clear all file list_caches
205626                 opts['arg'] = []  # No arguments
205627                 runner = salt.runner.Runner(opts)
205628                 cleared = runner.run()
205629
205630                 # Clear just the 'base' saltenv file list caches
205631                 opts['arg'] = ['base', None]
205632                 runner = salt.runner.Runner(opts)
205633                 cleared = runner.run()
205634
205635                 # Clear just the 'base' saltenv file list caches from just the 'roots'
205636                 # fileserver backend
205637                 opts['arg'] = ['base', 'roots']
205638                 runner = salt.runner.Runner(opts)
205639                 cleared = runner.run()
205640
205641                 # Clear all file list caches from the 'roots' fileserver backend
205642                 opts['arg'] = [None, 'roots']
205643                 runner = salt.runner.Runner(opts)
205644                 cleared = runner.run()
205645
205646              This  function  will return a dictionary showing a list of envi‐
205647              ronments which were cleared for each backend.  An  empty  return
205648              dictionary means that no changes were made.
205649
205650              CLI Examples:
205651
205652                 # Clear all file list caches
205653                 salt-run fileserver.clear_file_list_cache
205654                 # Clear just the 'base' saltenv file list caches
205655                 salt-run fileserver.clear_file_list_cache saltenv=base
205656                 # Clear just the 'base' saltenv file list caches from just the 'roots'
205657                 # fileserver backend
205658                 salt-run fileserver.clear_file_list_cache saltenv=base backend=roots
205659                 # Clear all file list caches from the 'roots' fileserver backend
205660                 salt-run fileserver.clear_file_list_cache backend=roots
205661
205662       salt.runners.fileserver.clear_lock(backend=None, remote=None)
205663              New in version 2015.5.0.
205664
205665
205666              Clear  the  fileserver  update lock from VCS fileserver backends
205667              (git, hg, svn). This should only need to be done if a fileserver
205668              update  was interrupted and a remote is not updating (generating
205669              a warning in the Master's log file). Executing this runner  with
205670              no  arguments  will remove all update locks from all enabled VCS
205671              fileserver backends, but this can be narrowed by using the  fol‐
205672              lowing arguments:
205673
205674              backend
205675                     Only clear the update lock for the specified backend(s).
205676
205677              remote If  specified,  then any remotes which contain the passed
205678                     string will have  their  lock  cleared.  For  example,  a
205679                     remote  value  of  github  will  remove the lock from all
205680                     github.com remotes.
205681
205682              CLI Example:
205683
205684                 salt-run fileserver.clear_lock
205685                 salt-run fileserver.clear_lock backend=git,hg
205686                 salt-run fileserver.clear_lock backend=git remote=github
205687                 salt-run fileserver.clear_lock remote=bitbucket
205688
205689       salt.runners.fileserver.dir_list(saltenv=u'base', backend=None)
205690              Return a list of directories in the given environment
205691
205692              saltenv
205693                     base The salt fileserver environment to be listed
205694
205695              backend
205696                     Narrow fileserver backends to a  subset  of  the  enabled
205697                     ones. If all passed backends start with a minus sign (-),
205698                     then these backends will be  excluded  from  the  enabled
205699                     backends. However, if there is a mix of backends with and
205700                     without a minus sign (ex:  backend=-roots,git)  then  the
205701                     ones starting with a minus sign will be disregarded.
205702
205703                     New in version 2015.5.0.
205704
205705
205706              CLI Example:
205707
205708                 salt-run fileserver.dir_list
205709                 salt-run fileserver.dir_list saltenv=prod
205710                 salt-run fileserver.dir_list saltenv=dev backend=git
205711                 salt-run fileserver.dir_list base hg,roots
205712                 salt-run fileserver.dir_list -git
205713
205714       salt.runners.fileserver.empty_dir_list(saltenv=u'base', backend=None)
205715              New in version 2015.5.0.
205716
205717
205718              Return a list of empty directories in the given environment
205719
205720              saltenv
205721                     base The salt fileserver environment to be listed
205722
205723              backend
205724                     Narrow  fileserver  backends  to  a subset of the enabled
205725                     ones. If all passed backends start with a minus sign (-),
205726                     then  these  backends  will  be excluded from the enabled
205727                     backends. However, if there is a mix of backends with and
205728                     without  a  minus  sign (ex: backend=-roots,git) then the
205729                     ones starting with a minus sign will be disregarded.
205730
205731                     NOTE:
205732                        Some backends (such as git  and  hg)  do  not  support
205733                        empty  directories.   So, passing backend=git or back‐
205734                        end=hg will result in an empty list being returned.
205735
205736              CLI Example:
205737
205738                 salt-run fileserver.empty_dir_list
205739                 salt-run fileserver.empty_dir_list saltenv=prod
205740                 salt-run fileserver.empty_dir_list backend=roots
205741
205742       salt.runners.fileserver.envs(backend=None, sources=False)
205743              Return the available fileserver environments. If no  backend  is
205744              provided, then the environments for all configured backends will
205745              be returned.
205746
205747              backend
205748                     Narrow fileserver backends to a  subset  of  the  enabled
205749                     ones.
205750
205751                     Changed in version 2015.5.0: If all passed backends start
205752                     with a minus  sign  (-),  then  these  backends  will  be
205753                     excluded  from the enabled backends. However, if there is
205754                     a mix of backends with and  without  a  minus  sign  (ex:
205755                     backend=-roots,git)  then  the ones starting with a minus
205756                     sign will be disregarded.
205757
205758                     Additionally, fileserver backends can now be passed as  a
205759                     comma-separated list. In earlier versions, they needed to
205760                     be  passed  as  a  python  list  (ex:  backend="['roots',
205761                     'git']")
205762
205763
205764              CLI Example:
205765
205766                 salt-run fileserver.envs
205767                 salt-run fileserver.envs backend=roots,git
205768                 salt-run fileserver.envs git
205769
205770       salt.runners.fileserver.file_list(saltenv=u'base', backend=None)
205771              Return a list of files from the salt fileserver
205772
205773              saltenv
205774                     base The salt fileserver environment to be listed
205775
205776              backend
205777                     Narrow  fileserver  backends  to  a subset of the enabled
205778                     ones. If all passed backends start with a minus sign (-),
205779                     then  these  backends  will  be excluded from the enabled
205780                     backends. However, if there is a mix of backends with and
205781                     without  a  minus  sign (ex: backend=-roots,git) then the
205782                     ones starting with a minus sign will be disregarded.
205783
205784                     New in version 2015.5.0.
205785
205786
205787              CLI Examples:
205788
205789                 salt-run fileserver.file_list
205790                 salt-run fileserver.file_list saltenv=prod
205791                 salt-run fileserver.file_list saltenv=dev backend=git
205792                 salt-run fileserver.file_list base hg,roots
205793                 salt-run fileserver.file_list -git
205794
205795       salt.runners.fileserver.lock(backend=None, remote=None)
205796              New in version 2015.5.0.
205797
205798
205799              Set a fileserver update lock for VCS fileserver  backends  (git,
205800              hg, svn).
205801
205802              NOTE:
205803                 This  will only operate on enabled backends (those configured
205804                 in fileserver_backend).
205805
205806              backend
205807                     Only set the update lock for the specified backend(s).
205808
205809              remote If not None, then any remotes which  contain  the  passed
205810                     string  will  have  their  lock  cleared.  For example, a
205811                     remote value of *github.com* will remove  the  lock  from
205812                     all github.com remotes.
205813
205814              CLI Example:
205815
205816                 salt-run fileserver.lock
205817                 salt-run fileserver.lock backend=git,hg
205818                 salt-run fileserver.lock backend=git remote='*github.com*'
205819                 salt-run fileserver.lock remote=bitbucket
205820
205821       salt.runners.fileserver.symlink_list(saltenv=u'base', backend=None)
205822              Return a list of symlinked files and dirs
205823
205824              saltenv
205825                     base The salt fileserver environment to be listed
205826
205827              backend
205828                     Narrow  fileserver  backends  to  a subset of the enabled
205829                     ones. If all passed backends start with a minus sign (-),
205830                     then  these  backends  will  be excluded from the enabled
205831                     backends. However, if there is a mix of backends with and
205832                     without  a  minus  sign (ex: backend=-roots,git) then the
205833                     ones starting with a minus sign will be disregarded.
205834
205835                     New in version 2015.5.0.
205836
205837
205838              CLI Example:
205839
205840                 salt-run fileserver.symlink_list
205841                 salt-run fileserver.symlink_list saltenv=prod
205842                 salt-run fileserver.symlink_list saltenv=dev backend=git
205843                 salt-run fileserver.symlink_list base hg,roots
205844                 salt-run fileserver.symlink_list -git
205845
205846       salt.runners.fileserver.update(backend=None)
205847              Update the fileserver cache. If no backend is provided, then the
205848              cache for all configured backends will be updated.
205849
205850              backend
205851                     Narrow  fileserver  backends  to  a subset of the enabled
205852                     ones.
205853
205854                     Changed in version 2015.5.0: If all passed backends start
205855                     with  a  minus  sign  (-),  then  these  backends will be
205856                     excluded from the enabled backends. However, if there  is
205857                     a  mix  of  backends  with  and without a minus sign (ex:
205858                     backend=-roots,git) then the ones starting with  a  minus
205859                     sign will be disregarded.
205860
205861                     Additionally,  fileserver backends can now be passed as a
205862                     comma-separated list. In earlier versions, they needed to
205863                     be  passed  as  a  python  list  (ex:  backend="['roots',
205864                     'git']")
205865
205866
205867              CLI Example:
205868
205869                 salt-run fileserver.update
205870                 salt-run fileserver.update backend=roots,git
205871
205872   salt.runners.git_pillar
205873       Runner module to directly manage the git external pillar
205874
205875       salt.runners.git_pillar.update(branch=None, repo=None)
205876              New in version 2014.1.0.
205877
205878
205879              Changed in version 2015.8.4: This runner function  now  supports
205880              the  git_pillar  configuration  schema  introduced  in 2015.8.0.
205881              Additionally, the branch and repo can now be omitted  to  update
205882              all  git_pillar  remotes.  The return data has also changed to a
205883              dictionary. The values will be True only  if  new  commits  were
205884              fetched,  and  False if there were errors or no new commits were
205885              fetched.
205886
205887
205888              Changed in version 2018.3.0: The return for a  given  git_pillar
205889              remote  will now be None when no changes were fetched. False now
205890              is reserved only for instances in which there were errors.
205891
205892
205893              Fetch one or all configured git_pillar remotes.
205894
205895              NOTE:
205896                 This will not fast-forward the  git_pillar  cachedir  on  the
205897                 master. All it does is perform a git fetch. If this runner is
205898                 executed with -l debug, you may see a log message  that  says
205899                 that the repo is up-to-date. Keep in mind that Salt automati‐
205900                 cally fetches git_pillar repos roughly every 60  seconds  (or
205901                 whatever  loop_interval  is  set to). So, it is possible that
205902                 the repo was fetched automatically in the time  between  when
205903                 changes  were  pushed  to  the repo, and when this runner was
205904                 executed. When in doubt, simply  refresh  pillar  data  using
205905                 saltutil.refresh_pillar  and then use pillar.item to check if
205906                 the pillar data has changed as expected.
205907
205908              CLI Example:
205909
205910                 # Update specific branch and repo
205911                 salt-run git_pillar.update branch='branch' repo='https://foo.com/bar.git'
205912                 # Update all repos
205913                 salt-run git_pillar.update
205914                 # Run with debug logging
205915                 salt-run git_pillar.update -l debug
205916
205917   salt.runners.http
205918       Module for making various web calls. Primarily  designed  for  webhooks
205919       and the like, but also useful for basic http testing.
205920
205921       New in version 2015.5.0.
205922
205923
205924       salt.runners.http.query(url, output=True, **kwargs)
205925              Query a resource, and decode the return data
205926
205927              Passes   through   all   the   parameters   described   in   the
205928              utils.http.query function:
205929
205930              CLI Example:
205931
205932                 salt-run http.query http://somelink.com/
205933                 salt-run http.query http://somelink.com/ method=POST             params='key1=val1&key2=val2'
205934                 salt-run http.query http://somelink.com/ method=POST             data='<xml>somecontent</xml>'
205935
205936       salt.runners.http.update_ca_bundle(target=None,            source=None,
205937       merge_files=None)
205938              Update the local CA bundle file from a URL
205939
205940              New in version 2015.5.0.
205941
205942
205943              CLI Example:
205944
205945                 salt-run http.update_ca_bundle
205946                 salt-run http.update_ca_bundle target=/path/to/cacerts.pem
205947                 salt-run http.update_ca_bundle source=https://example.com/cacerts.pem
205948
205949              If  the  target  is  not  specified,  it will be pulled from the
205950              ca_cert configuration variable available to the  master.  If  it
205951              cannot  be found there, it will be placed at <<FILE_ROOTS>>/cac‐
205952              erts.pem.
205953
205954              If the source is not specified,  it  will  be  pulled  from  the
205955              ca_cert_url  configuration  variable available to the master. If
205956              it cannot be found, it will be downloaded from the cURL website,
205957              using  an  http (not https) URL. USING THE DEFAULT URL SHOULD BE
205958              AVOIDED!
205959
205960              merge_files may also be specified, which includes  a  string  or
205961              list  of  strings representing a file or files to be appended to
205962              the end of the CA bundle, once it is downloaded.
205963
205964              CLI Example:
205965
205966                 salt-run http.update_ca_bundle merge_files=/path/to/mycert.pem
205967
205968   salt.runners.jobs
205969       A convenience system to manage jobs, both active and already run
205970
205971       salt.runners.jobs.active(display_progress=False)
205972              Return a report on all actively running jobs from a job id  cen‐
205973              tric perspective
205974
205975              CLI Example:
205976
205977                 salt-run jobs.active
205978
205979       salt.runners.jobs.exit_success(jid, ext_source=None)
205980              Check if a job has been executed and exit successfully
205981
205982              jid    The jid to look up.
205983
205984              ext_source
205985                     The external job cache to use. Default: None.
205986
205987              CLI Example:
205988
205989                 salt-run jobs.exit_success 20160520145827701627
205990
205991       salt.runners.jobs.last_run(ext_source=None,    outputter=None,    meta‐
205992       data=None, function=None, target=None, display_progress=False)
205993              New in version 2015.8.0.
205994
205995
205996              List all detectable jobs and associated functions
205997
205998              CLI Example:
205999
206000                 salt-run jobs.last_run
206001                 salt-run jobs.last_run target=nodename
206002                 salt-run jobs.last_run function='cmd.run'
206003                 salt-run jobs.last_run metadata="{'foo': 'bar'}"
206004
206005       salt.runners.jobs.list_job(jid,          ext_source=None,          dis‐
206006       play_progress=False)
206007              List a specific job given by its jid
206008
206009              ext_source
206010                     If provided, specifies which external job cache to use.
206011
206012              display_progress
206013                     False If True, fire progress events.
206014
206015                     New in version 2015.8.8.
206016
206017
206018              CLI Example:
206019
206020                 salt-run jobs.list_job 20130916125524463507
206021                 salt-run jobs.list_job 20130916125524463507 --out=pprint
206022
206023       salt.runners.jobs.list_jobs(ext_source=None,            outputter=None,
206024       search_metadata=None,     search_function=None,     search_target=None,
206025       start_time=None, end_time=None, display_progress=False)
206026              List all detectable jobs and associated functions
206027
206028              ext_source
206029                     If provided, specifies which external job cache to use.
206030
206031              FILTER OPTIONS
206032
206033              NOTE:
206034                 If  more  than  one  of the below options are used, only jobs
206035                 which match all of the filters will be returned.
206036
206037              search_metadata
206038                     Specify a dictionary to match to the job's  metadata.  If
206039                     any  of the key-value pairs in this dictionary match, the
206040                     job will be returned.  Example:
206041
206042                        salt-run jobs.list_jobs search_metadata='{"foo": "bar", "baz": "qux"}'
206043
206044              search_function
206045                     Can be passed as a string or a list. Returns  jobs  which
206046                     match  the specified function. Globbing is allowed. Exam‐
206047                     ple:
206048
206049                        salt-run jobs.list_jobs search_function='test.*'
206050                        salt-run jobs.list_jobs search_function='["test.*", "pkg.install"]'
206051
206052                     Changed in version 2015.8.8:  Multiple  targets  can  now
206053                     also be passed as a comma-separated list.  For example:
206054
206055                        salt-run jobs.list_jobs search_function='test.*,pkg.install'
206056
206057
206058              search_target
206059                     Can  be  passed as a string or a list. Returns jobs which
206060                     match the specified minion  name.  Globbing  is  allowed.
206061                     Example:
206062
206063                        salt-run jobs.list_jobs search_target='*.mydomain.tld'
206064                        salt-run jobs.list_jobs search_target='["db*", "myminion"]'
206065
206066                     Changed  in  version  2015.8.8:  Multiple targets can now
206067                     also be passed as a comma-separated list.  For example:
206068
206069                        salt-run jobs.list_jobs search_target='db*,myminion'
206070
206071
206072              start_time
206073                     Accepts any timestamp supported by  the  dateutil  Python
206074                     module  (if  this  module is not installed, this argument
206075                     will be ignored). Returns jobs which started  after  this
206076                     timestamp.
206077
206078              end_time
206079                     Accepts  any  timestamp  supported by the dateutil Python
206080                     module (if this module is not  installed,  this  argument
206081                     will  be ignored). Returns jobs which started before this
206082                     timestamp.
206083
206084              CLI Example:
206085
206086                 salt-run jobs.list_jobs
206087                 salt-run jobs.list_jobs search_function='test.*' search_target='localhost' search_metadata='{"bar": "foo"}'
206088                 salt-run jobs.list_jobs start_time='2015, Mar 16 19:00' end_time='2015, Mar 18 22:00'
206089
206090       salt.runners.jobs.list_jobs_filter(count,         filter_find_job=True,
206091       ext_source=None, outputter=None, display_progress=False)
206092              List all detectable jobs and associated functions
206093
206094              ext_source
206095                     The external job cache to use. Default: None.
206096
206097              CLI Example:
206098
206099                 salt-run jobs.list_jobs_filter 50
206100                 salt-run jobs.list_jobs_filter 100 filter_find_job=False
206101
206102       salt.runners.jobs.lookup_jid(jid, ext_source=None, returned=True, miss‐
206103       ing=False, display_progress=False)
206104              Return the printout from a previously executed job
206105
206106              jid    The jid to look up.
206107
206108              ext_source
206109                     The external job cache to use. Default: None.
206110
206111              returned
206112                     True If True, include the minions that  did  return  from
206113                     the command.
206114
206115                     New in version 2015.8.0.
206116
206117
206118              missing
206119                     False  If  True,  include the minions that did not return
206120                     from the command.
206121
206122              display_progress
206123                     False If True, fire progress events.
206124
206125                     New in version 2015.5.0.
206126
206127
206128              CLI Example:
206129
206130                 salt-run jobs.lookup_jid 20130916125524463507
206131                 salt-run jobs.lookup_jid 20130916125524463507 --out=highstate
206132
206133       salt.runners.jobs.print_job(jid, ext_source=None)
206134              Print a specific job's detail given by it's jid,  including  the
206135              return data.
206136
206137              CLI Example:
206138
206139                 salt-run jobs.print_job 20130916125524463507
206140
206141   salt.runners.launchd
206142       Manage launchd plist files
206143
206144       salt.runners.launchd.write_launchd_plist(program)
206145              Write a launchd plist for managing salt-master or salt-minion
206146
206147              CLI Example:
206148
206149                 salt-run launchd.write_launchd_plist salt-master
206150
206151   salt.runners.lxc
206152       Control Linux Containers via Salt
206153
206154       depends
206155              lxc execution module
206156
206157       salt.runners.lxc.cloud_init(names, host=None, quiet=False, **kwargs)
206158              Wrapper for using lxc.init in saltcloud compatibility mode
206159
206160              names  Name of the containers, supports a single name or a comma
206161                     delimited list of names.
206162
206163              host   Minion to start the container on. Required.
206164
206165              path   path to the container parent default: /var/lib/lxc  (sys‐
206166                     tem default)
206167
206168                     New in version 2015.8.0.
206169
206170
206171              saltcloud_mode
206172                     init the container with the saltcloud opts format instead
206173
206174       salt.runners.lxc.find_guest(name, quiet=False, path=None)
206175              Returns the host for a container.
206176
206177              path   path  to the container parent default: /var/lib/lxc (sys‐
206178                     tem default)
206179
206180                     New in version 2015.8.0.
206181
206182
206183                 salt-run lxc.find_guest name
206184
206185       salt.runners.lxc.find_guests(names, path=None)
206186              Return a dict of hosts and named guests
206187
206188              path   path to the container parent default: /var/lib/lxc  (sys‐
206189                     tem default)
206190
206191                     New in version 2015.8.0.
206192
206193
206194       salt.runners.lxc.freeze(name, quiet=False, path=None)
206195              Freeze the named container
206196
206197              path   path  to the container parent default: /var/lib/lxc (sys‐
206198                     tem default)
206199
206200                     New in version 2015.8.0.
206201
206202
206203                 salt-run lxc.freeze name
206204
206205       salt.runners.lxc.info(name, quiet=False, path=None)
206206              Returns information about a container.
206207
206208              path   path to the container parent default: /var/lib/lxc  (sys‐
206209                     tem default)
206210
206211                     New in version 2015.8.0.
206212
206213
206214                 salt-run lxc.info name
206215
206216       salt.runners.lxc.init(names,      host=None,      saltcloud_mode=False,
206217       quiet=False, **kwargs)
206218              Initialize a new container
206219
206220                 salt-run lxc.init name host=minion_id [cpuset=cgroups_cpuset] \
206221                         [cpushare=cgroups_cpushare] [memory=cgroups_memory] \
206222                         [template=lxc_template_name] [clone=original name] \
206223                         [profile=lxc_profile] [network_proflile=network_profile] \
206224                         [nic=network_profile] [nic_opts=nic_opts] \
206225                         [start=(true|false)] [seed=(true|false)] \
206226                         [install=(true|false)] [config=minion_config] \
206227                         [snapshot=(true|false)]
206228
206229              names  Name of the containers, supports a single name or a comma
206230                     delimited list of names.
206231
206232              host   Minion on which to initialize the container (required)
206233
206234              path   path  to the container parent default: /var/lib/lxc (sys‐
206235                     tem default)
206236
206237                     New in version 2015.8.0.
206238
206239
206240              saltcloud_mode
206241                     init the container with the saltcloud opts format instead
206242                     See lxc.init_interface module documentation
206243
206244              cpuset cgroups cpuset.
206245
206246              cpushare
206247                     cgroups cpu shares.
206248
206249              memory cgroups memory limit, in MB
206250
206251                     Changed  in  version  2015.5.0: If no value is passed, no
206252                     limit is set. In earlier Salt versions, not passing  this
206253                     value  causes a 1024MB memory limit to be set, and it was
206254                     necessary to pass memory=0 to set no limit.
206255
206256
206257              template
206258                     Name of LXC template on which to base this container
206259
206260              clone  Clone this container from an existing container
206261
206262              profile
206263                     A LXC profile (defined in config or pillar).
206264
206265              network_profile
206266                     Network profile to use for the container
206267
206268                     New in version 2015.5.2.
206269
206270
206271              nic    Deprecated since version  2015.5.0:  Use  network_profile
206272                     instead
206273
206274
206275              nic_opts
206276                     Extra options for network interfaces. E.g.:
206277
206278                     {"eth0": {"mac": "aa:bb:cc:dd:ee:ff", "ipv4": "10.1.1.1",
206279                     "ipv6": "2001:db8::ff00:42:8329"}}
206280
206281              start  Start the newly created container.
206282
206283              seed   Seed the container with the minion  config  and  autosign
206284                     its key.  Default: true
206285
206286              install
206287                     If  salt-minion  is  not  already  installed, install it.
206288                     Default: true
206289
206290              config Optional config parameters. By default, the id is set  to
206291                     the name of the container.
206292
206293       salt.runners.lxc.list_(host=None, quiet=False, path=None)
206294              List  defined  containers (running, stopped, and frozen) for the
206295              named (or all) host(s).
206296
206297              path   path to the container parent default: /var/lib/lxc  (sys‐
206298                     tem default)
206299
206300                     New in version 2015.8.0.
206301
206302
206303                 salt-run lxc.list [host=minion_id]
206304
206305       salt.runners.lxc.purge(name, delete_key=True, quiet=False, path=None)
206306              Purge  the named container and delete its minion key if present.
206307              WARNING: Destroys all data associated with the container.
206308
206309              path   path to the container parent default: /var/lib/lxc  (sys‐
206310                     tem default)
206311
206312                     New in version 2015.8.0.
206313
206314
206315                 salt-run lxc.purge name
206316
206317       salt.runners.lxc.start(name, quiet=False, path=None)
206318              Start the named container.
206319
206320              path   path  to the container parent default: /var/lib/lxc (sys‐
206321                     tem default)
206322
206323                     New in version 2015.8.0.
206324
206325
206326                 salt-run lxc.start name
206327
206328       salt.runners.lxc.stop(name, quiet=False, path=None)
206329              Stop the named container.
206330
206331              path   path to the container parent default: /var/lib/lxc  (sys‐
206332                     tem default)
206333
206334                     New in version 2015.8.0.
206335
206336
206337                 salt-run lxc.stop name
206338
206339       salt.runners.lxc.unfreeze(name, quiet=False, path=None)
206340              Unfreeze the named container
206341
206342              path   path  to the container parent default: /var/lib/lxc (sys‐
206343                     tem default)
206344
206345                     New in version 2015.8.0.
206346
206347
206348                 salt-run lxc.unfreeze name
206349
206350   salt.runners.manage
206351       General management functions for salt, tools like seeing what hosts are
206352       up and what hosts are down
206353
206354       salt.runners.manage.alived(subset=None, show_ip=False, show_ipv4=None)
206355              New in version 2015.8.0.
206356
206357
206358              Changed  in  version Fluorine: The 'show_ipv4' argument has been
206359              renamed to 'show_ip' as  it  now  includes  IPv6  addresses  for
206360              IPv6-connected minions.
206361
206362
206363              Print  a  list  of  all  minions that are up according to Salt's
206364              presence detection (no commands will be sent to minions)
206365
206366              subset None Pass in  a  CIDR  range  to  filter  minions  by  IP
206367                     address.
206368
206369              show_ip
206370                     False  Also show the IP address each minion is connecting
206371                     from.
206372
206373              CLI Example:
206374
206375                 salt-run manage.alived
206376
206377       salt.runners.manage.allowed(subset=None, show_ip=False, show_ipv4=None)
206378              New in version 2015.8.0.
206379
206380
206381              Changed in version Fluorine: The 'show_ipv4' argument  has  been
206382              renamed  to  'show_ip'  as  it  now  includes IPv6 addresses for
206383              IPv6-connected minions.
206384
206385
206386              Print a list of all minions that  are  up  according  to  Salt's
206387              presence detection (no commands will be sent to minions)
206388
206389              subset None  Pass  in  a  CIDR  range  to  filter  minions by IP
206390                     address.
206391
206392              show_ip
206393                     False Also show the IP address each minion is  connecting
206394                     from.
206395
206396              CLI Example:
206397
206398                 salt-run manage.allowed
206399
206400       salt.runners.manage.bootstrap(version=u'develop',          script=None,
206401       hosts=u'', script_args=u'',  roster=u'flat',  ssh_user=None,  ssh_pass‐
206402       word=None,  ssh_priv_key=None,  tmp_dir=u'/tmp/.bootstrap',  http_back‐
206403       end=u'tornado')
206404              Bootstrap minions with salt-bootstrap
206405
206406              version
206407                     develop Git tag of version to install
206408
206409              script https://bootstrap.saltstack.com URL containing the script
206410                     to execute
206411
206412              hosts  Comma-separated              hosts              [example:
206413                     hosts='host1.local,host2.local'].  These  hosts  need  to
206414                     exist in the specified roster.
206415
206416              script_args
206417                     Any  additional  arguments  that  you want to pass to the
206418                     script.
206419
206420                     New in version 2016.11.0.
206421
206422
206423              roster flat The roster to use for  Salt  SSH.  More  information
206424                     about roster files can be found in Salt's Roster Documen‐
206425                     tation.
206426
206427                     A full list of roster types, see the builtin roster  mod‐
206428                     ules documentation.
206429
206430                     New in version 2016.11.0.
206431
206432
206433              ssh_user
206434                     If user isn't found in the roster, a default SSH user can
206435                     be set here.  Keep in mind that ssh_user will  not  over‐
206436                     ride the roster user value if it is already defined.
206437
206438                     New in version 2016.11.0.
206439
206440
206441              ssh_password
206442                     If  passwd isn't found in the roster, a default SSH pass‐
206443                     word can be set here. Keep in mind that ssh_password will
206444                     not  override  the  roster  passwd value if it is already
206445                     defined.
206446
206447                     New in version 2016.11.0.
206448
206449
206450              ssh_privkey
206451                     If priv isn't found in the roster, a default SSH  private
206452                     key  can be set here. Keep in mind that ssh_password will
206453                     not override the roster passwd value  if  it  is  already
206454                     defined.
206455
206456                     New in version 2016.11.0.
206457
206458
206459              tmp_dir
206460                     /tmp/.bootstrap  The  temporary directory to download the
206461                     bootstrap script in. This directory  will  have  -<uuid4>
206462                     appended     to     it.    For    example:    /tmp/.boot‐
206463                     strap-a19a728e-d40a-4801-aba9-d00655c143a7/
206464
206465                     New in version 2016.11.0.
206466
206467
206468              http_backend
206469                     tornado The  backend  library  to  use  to  download  the
206470                     script.  If  you  need  to  use  a file:/// URL, then you
206471                     should set this to urllib2.
206472
206473                     New in version 2016.11.0.
206474
206475
206476              CLI Example:
206477
206478                 salt-run manage.bootstrap hosts='host1,host2'
206479                 salt-run manage.bootstrap hosts='host1,host2' version='v0.17'
206480                 salt-run manage.bootstrap hosts='host1,host2' version='v0.17'             script='https://bootstrap.saltstack.com/develop'
206481
206482       salt.runners.manage.bootstrap_psexec(hosts=u'',    master=None,    ver‐
206483       sion=None,   arch=u'win32',  installer_url=None,  username=None,  pass‐
206484       word=None)
206485              Bootstrap Windows minions via PsExec.
206486
206487              hosts  Comma separated list of hosts to deploy the Windows  Salt
206488                     minion.
206489
206490              master Address  of  the Salt master passed as an argument to the
206491                     installer.
206492
206493              version
206494                     Point release of installer to download. Defaults  to  the
206495                     most recent.
206496
206497              arch   Architecture of installer to download. Defaults to win32.
206498
206499              installer_url
206500                     URL  of minion installer executable. Defaults to the lat‐
206501                     est version from https://repo.saltstack.com/windows/
206502
206503              username
206504                     Optional user name for login on remote computer.
206505
206506              password
206507                     Password for optional username. If omitted,  PsExec  will
206508                     prompt for one to be entered for each host.
206509
206510              CLI Example:
206511
206512                 salt-run manage.bootstrap_psexec hosts='host1,host2'
206513                 salt-run manage.bootstrap_psexec hosts='host1,host2' version='0.17' username='DOMAIN\Administrator'
206514                 salt-run manage.bootstrap_psexec hosts='host1,host2' installer_url='http://exampledomain/salt-installer.exe'
206515
206516       salt.runners.manage.down(removekeys=False,  tgt=u'*', tgt_type=u'glob',
206517       timeout=None, gather_job_timeout=None)
206518              Changed in version 2017.7.0: The  expr_form  argument  has  been
206519              renamed to tgt_type, earlier releases must use expr_form.
206520
206521
206522              Print  a  list  of  all  the  down  or unresponsive salt minions
206523              Optionally remove keys of down minions
206524
206525              CLI Example:
206526
206527                 salt-run manage.down
206528                 salt-run manage.down removekeys=True
206529                 salt-run manage.down tgt="webservers" tgt_type="nodegroup"
206530
206531       salt.runners.manage.get_stats(estate=None, stack=u'road')
206532              Print the stack stats
206533
206534              estate None The name of the target estate. Master stats would be
206535                     requested by default
206536
206537              stack  'road'  Show  stats  on either road or lane stack Allowed
206538                     values are 'road' or 'lane'.
206539
206540              CLI Example:
206541
206542                 salt-run manage.get_stats [estate=alpha_minion] [stack=lane]
206543
206544       salt.runners.manage.joined(subset=None, show_ip=False, show_ipv4=None)
206545              New in version 2015.8.0.
206546
206547
206548              Changed in version Fluorine: The 'show_ipv4' argument  has  been
206549              renamed  to  'show_ip'  as  it  now  includes IPv6 addresses for
206550              IPv6-connected minions.
206551
206552
206553              Print a list of all minions that  are  up  according  to  Salt's
206554              presence detection (no commands will be sent to minions)
206555
206556              subset None  Pass  in  a  CIDR  range  to  filter  minions by IP
206557                     address.
206558
206559              show_ip
206560                     False Also show the IP address each minion is  connecting
206561                     from.
206562
206563              CLI Example:
206564
206565                 salt-run manage.joined
206566
206567       salt.runners.manage.key_regen()
206568              This  routine  is used to regenerate all keys in an environment.
206569              This is invasive! ALL KEYS  IN  THE  SALT  ENVIRONMENT  WILL  BE
206570              REGENERATED!!
206571
206572              The  key_regen  routine sends a command out to minions to revoke
206573              the master key and remove all minion keys, it then  removes  all
206574              keys from the master and prompts the user to restart the master.
206575              The minions will all reconnect and keys will be placed in  pend‐
206576              ing.
206577
206578              After the master is restarted and minion keys are in the pending
206579              directory execute a salt-key -A command to accept  the  regener‐
206580              ated minion keys.
206581
206582              The  master  must be restarted within 60 seconds of running this
206583              command or the minions will think there is something wrong  with
206584              the keys and abort.
206585
206586              Only  Execute  this runner after upgrading minions and master to
206587              0.15.1 or higher!
206588
206589              CLI Example:
206590
206591                 salt-run manage.key_regen
206592
206593       salt.runners.manage.lane_stats(estate=None)
206594              Print the estate manor lane stack stats
206595
206596              estate None The name of the target estate. Master stats would be
206597                     requested by default
206598
206599              CLI Example:
206600
206601                 salt-run manage.lane_stats [estate=alpha_minion]
206602
206603       salt.runners.manage.list_not_state(subset=None,          show_ip=False,
206604       show_ipv4=None, state=None)
206605              New in version 2015.8.0.
206606
206607
206608              Changed in version Fluorine: The 'show_ipv4' argument  has  been
206609              renamed  to  'show_ip'  as  it  now  includes IPv6 addresses for
206610              IPv6-connected minions.
206611
206612
206613              Print a list of all minions that are NOT up according to  Salt's
206614              presence detection (no commands will be sent to minions)
206615
206616              subset None  Pass  in  a  CIDR  range  to  filter  minions by IP
206617                     address.
206618
206619              show_ip
206620                     False Also show the IP address each minion is  connecting
206621                     from.
206622
206623              state  'available'  Show minions being in specific state that is
206624                     one of  'available',  'joined',  'allowed',  'alived'  or
206625                     'reaped'.
206626
206627              CLI Example:
206628
206629                 salt-run manage.list_not_state
206630
206631       salt.runners.manage.list_state(subset=None,              show_ip=False,
206632       show_ipv4=None, state=None)
206633              New in version 2015.8.0.
206634
206635
206636              Changed in version Fluorine: The 'show_ipv4' argument  has  been
206637              renamed  to  'show_ip'  as  it  now  includes IPv6 addresses for
206638              IPv6-connected minions.
206639
206640
206641              Print a list of all minions that  are  up  according  to  Salt's
206642              presence detection (no commands will be sent to minions)
206643
206644              subset None  Pass  in  a  CIDR  range  to  filter  minions by IP
206645                     address.
206646
206647              show_ip
206648                     False Also show the IP address each minion is  connecting
206649                     from.
206650
206651              state  'available'  Show minions being in specific state that is
206652                     one of  'available',  'joined',  'allowed',  'alived'  or
206653                     'reaped'.
206654
206655              CLI Example:
206656
206657                 salt-run manage.list_state
206658
206659       salt.runners.manage.not_alived(subset=None,              show_ip=False,
206660       show_ipv4=None)
206661              New in version 2015.8.0.
206662
206663
206664              Changed in version Fluorine: The 'show_ipv4' argument  has  been
206665              renamed  to  'show_ip'  as  it  now  includes IPv6 addresses for
206666              IPv6-connected minions.
206667
206668
206669              Print a list of all minions that are NOT up according to  Salt's
206670              presence detection (no commands will be sent)
206671
206672              subset None  Pass  in  a  CIDR  range  to  filter  minions by IP
206673                     address.
206674
206675              show_ip
206676                     False Also show the IP address each minion is  connecting
206677                     from.
206678
206679              CLI Example:
206680
206681                 salt-run manage.not_alived
206682
206683       salt.runners.manage.not_allowed(subset=None,             show_ip=False,
206684       show_ipv4=None)
206685              New in version 2015.8.0.
206686
206687
206688              Changed in version Fluorine: The 'show_ipv4' argument  has  been
206689              renamed  to  'show_ip'  as  it  now  includes IPv6 addresses for
206690              IPv6-connected minions.
206691
206692
206693              Print a list of all minions that are NOT up according to  Salt's
206694              presence detection (no commands will be sent)
206695
206696              subset None  Pass  in  a  CIDR  range  to  filter  minions by IP
206697                     address.
206698
206699              show_ip
206700                     False Also show the IP address each minion is  connecting
206701                     from.
206702
206703              CLI Example:
206704
206705                 salt-run manage.not_allowed
206706
206707       salt.runners.manage.not_joined(subset=None,              show_ip=False,
206708       show_ipv4=None)
206709              New in version 2015.8.0.
206710
206711
206712              Changed in version Fluorine: The 'show_ipv4' argument  has  been
206713              renamed  to  'show_ip'  as  it  now  includes IPv6 addresses for
206714              IPv6-connected minions.
206715
206716
206717              Print a list of all minions that are NOT up according to  Salt's
206718              presence detection (no commands will be sent)
206719
206720              subset None  Pass  in  a  CIDR  range  to  filter  minions by IP
206721                     address.
206722
206723              show_ip
206724                     False Also show the IP address each minion is  connecting
206725                     from.
206726
206727              CLI Example:
206728
206729                 salt-run manage.not_joined
206730
206731       salt.runners.manage.not_present(subset=None,             show_ip=False,
206732       show_ipv4=None)
206733              New in version 2015.5.0.
206734
206735
206736              Changed in version Fluorine: The 'show_ipv4' argument  has  been
206737              renamed  to  'show_ip'  as  it  now  includes IPv6 addresses for
206738              IPv6-connected minions.
206739
206740
206741              Print a list of all minions that are NOT up according to  Salt's
206742              presence detection (no commands will be sent)
206743
206744              subset None  Pass  in  a  CIDR  range  to  filter  minions by IP
206745                     address.
206746
206747              show_ip
206748                     False Also show the IP address each minion is  connecting
206749                     from.
206750
206751              CLI Example:
206752
206753                 salt-run manage.not_present
206754
206755       salt.runners.manage.not_reaped(subset=None,              show_ip=False,
206756       show_ipv4=None)
206757              New in version 2015.8.0.
206758
206759
206760              Changed in version Fluorine: The 'show_ipv4' argument  has  been
206761              renamed  to  'show_ip'  as  it  now  includes IPv6 addresses for
206762              IPv6-connected minions.
206763
206764
206765              Print a list of all minions that are NOT up according to  Salt's
206766              presence detection (no commands will be sent)
206767
206768              subset None  Pass  in  a  CIDR  range  to  filter  minions by IP
206769                     address.
206770
206771              show_ip
206772                     False Also show the IP address each minion is  connecting
206773                     from.
206774
206775              CLI Example:
206776
206777                 salt-run manage.not_reaped
206778
206779       salt.runners.manage.present(subset=None, show_ip=False, show_ipv4=None)
206780              Changed  in  version Fluorine: The 'show_ipv4' argument has been
206781              renamed to 'show_ip' as  it  now  includes  IPv6  addresses  for
206782              IPv6-connected minions.
206783
206784
206785              Print  a  list  of  all  minions that are up according to Salt's
206786              presence detection (no commands will be sent to minions)
206787
206788              subset None Pass in  a  CIDR  range  to  filter  minions  by  IP
206789                     address.
206790
206791              show_ip
206792                     False  Also show the IP address each minion is connecting
206793                     from.
206794
206795              CLI Example:
206796
206797                 salt-run manage.present
206798
206799       salt.runners.manage.reaped(subset=None, show_ip=False, show_ipv4=None)
206800              New in version 2015.8.0.
206801
206802
206803              Changed in version Fluorine: The 'show_ipv4' argument  has  been
206804              renamed  to  'show_ip'  as  it  now  includes IPv6 addresses for
206805              IPv6-connected minions.
206806
206807
206808              Print a list of all minions that  are  up  according  to  Salt's
206809              presence detection (no commands will be sent to minions)
206810
206811              subset None  Pass  in  a  CIDR  range  to  filter  minions by IP
206812                     address.
206813
206814              show_ip
206815                     False Also show the IP address each minion is  connecting
206816                     from.
206817
206818              CLI Example:
206819
206820                 salt-run manage.reaped
206821
206822       salt.runners.manage.road_stats(estate=None)
206823              Print the estate road stack stats
206824
206825              estate None The name of the target estate. Master stats would be
206826                     requested by default
206827
206828              CLI Example:
206829
206830                 salt-run manage.road_stats [estate=alpha_minion]
206831
206832       salt.runners.manage.safe_accept(target, tgt_type=u'glob')
206833              Changed in version 2017.7.0: The  expr_form  argument  has  been
206834              renamed to tgt_type, earlier releases must use expr_form.
206835
206836
206837              Accept a minion's public key after checking the fingerprint over
206838              salt-ssh
206839
206840              CLI Example:
206841
206842                 salt-run manage.safe_accept my_minion
206843                 salt-run manage.safe_accept minion1,minion2 tgt_type=list
206844
206845       salt.runners.manage.status(output=True,   tgt=u'*',   tgt_type=u'glob',
206846       timeout=None, gather_job_timeout=None)
206847              Changed  in  version  2017.7.0:  The expr_form argument has been
206848              renamed to tgt_type, earlier releases must use expr_form.
206849
206850
206851              Print the status of all known salt minions
206852
206853              CLI Example:
206854
206855                 salt-run manage.status
206856                 salt-run manage.status tgt="webservers" tgt_type="nodegroup"
206857                 salt-run manage.status timeout=5 gather_job_timeout=10
206858
206859       salt.runners.manage.up(tgt=u'*',    tgt_type=u'glob',     timeout=None,
206860       gather_job_timeout=None)
206861              Changed  in  version  2017.7.0:  The expr_form argument has been
206862              renamed to tgt_type, earlier releases must use expr_form.
206863
206864
206865              Print a list of all of the minions that are up
206866
206867              CLI Example:
206868
206869                 salt-run manage.up
206870                 salt-run manage.up tgt="webservers" tgt_type="nodegroup"
206871                 salt-run manage.up timeout=5 gather_job_timeout=10
206872
206873       salt.runners.manage.versions()
206874              Check the version of active minions
206875
206876              CLI Example:
206877
206878                 salt-run manage.versions
206879
206880   salt.runners.mattermost
206881       Note for 2017.7 releases!
206882
206883       Due to the salt.runners.config  module  not  being  available  in  this
206884       release  series,  importing  the  salt.runners.config  module  from the
206885       develop branch is required to make this module work.
206886
206887       Ref: Mattermost  runner  failing  to  retrieve  config  values  due  to
206888       unavailable config runner #43479
206889
206890       Module for sending messages to Mattermost
206891
206892       New in version 2017.7.0.
206893
206894
206895       configuration
206896              This  module  can  be used by either passing an api_url and hook
206897              directly or by specifying both in a configuration profile in the
206898              salt master/minion config. For example:
206899
206900                 mattermost:
206901                   hook: peWcBiMOS9HrZG15peWcBiMOS9HrZG15
206902                   api_url: https://example.com
206903
206904       salt.runners.mattermost.post_event(event,  channel=None, username=None,
206905       api_url=None, hook=None)
206906              Send an event to a Mattermost channel.  :param channel:      The
206907              channel  name,  either will work.  :param username:    The user‐
206908              name of the poster.  :param event:       The event  to  send  to
206909              the  Mattermost channel.  :param api_url:     The Mattermost api
206910              url, if  not  specified  in  the  configuration.   :param  hook:
206911              The  Mattermost  hook,  if  not  specified in the configuration.
206912              :return:            Boolean if message was sent successfully.
206913
206914       salt.runners.mattermost.post_message(message,    channel=None,    user‐
206915       name=None, api_url=None, hook=None)
206916              Send a message to a Mattermost channel.  :param channel:     The
206917              channel name, either will work.  :param username:     The  user‐
206918              name  of the poster.  :param message:     The message to send to
206919              the Mattermost channel.  :param api_url:     The Mattermost  api
206920              url,  if  not  specified  in  the  configuration.   :param hook:
206921              The Mattermost hook, if  not  specified  in  the  configuration.
206922              :return:            Boolean if message was sent successfully.
206923
206924              CLI Example:
206925
206926                 salt-run mattermost.post_message message='Build is done'
206927
206928   salt.runners.mine
206929       A runner to access data from the salt mine
206930
206931       salt.runners.mine.get(tgt, fun, tgt_type=u'glob')
206932              Gathers  the  data from the specified minions' mine, pass in the
206933              target, function to look up and the target type
206934
206935              CLI Example:
206936
206937                 salt-run mine.get '*' network.interfaces
206938
206939       salt.runners.mine.update(tgt, tgt_type=u'glob', clear=False, mine_func‐
206940       tions=None)
206941              New in version 2017.7.0.
206942
206943
206944              Update the mine data on a certain group of minions.
206945
206946              tgt    Which minions to target for the execution.
206947
206948              tgt_type: glob
206949                     The type of tgt.
206950
206951              clear: False
206952                     Boolean  flag  specifying whether updating will clear the
206953                     existing mines, or will update. Default: False (update).
206954
206955              mine_functions
206956                     Update the mine data on  certain  functions  only.   This
206957                     feature  can be used when updating the mine for functions
206958                     that require refresh at different intervals than the rest
206959                     of  the  functions  specified under mine_functions in the
206960                     minion/master config or pillar.
206961
206962              CLI Example:
206963
206964                 salt-run mine.update '*'
206965                 salt-run mine.update 'juniper-edges' tgt_type='nodegroup'
206966
206967   salt.runners.nacl
206968       This module helps include encrypted passwords in  pillars,  grains  and
206969       salt state files.
206970
206971       depends
206972              libnacl, https://github.com/saltstack/libnacl
206973
206974       This  is  often useful if you wish to store your pillars in source con‐
206975       trol or share your pillar data with others  that  you  trust.  I  don't
206976       advise  making  your pillars public regardless if they are encrypted or
206977       not.
206978
206979       configuration
206980              The following configuration defaults can be  define  (pillar  or
206981              config files) Avoid storing private keys in pillars! Ensure mas‐
206982              ter does not have pillar_opts=True:
206983
206984                 # cat /etc/salt/master.d/nacl.conf
206985                 nacl.config:
206986                     # NOTE: `key` and `key_file` have been renamed to `sk`, `sk_file`
206987                     # also `box_type` default changed from secretbox to sealedbox.
206988                     box_type: sealedbox                     (default)
206989                     sk_file: /etc/salt/pki/master/nacl      (default)
206990                     pk_file: /etc/salt/pki/master/nacl.pub  (default)
206991                     sk: None
206992                     pk: None
206993
206994              Usage can override the config defaults:
206995
206996                 salt-run nacl.enc sk_file=/etc/salt/pki/master/nacl pk_file=/etc/salt/pki/master/nacl.pub
206997
206998       The nacl lib uses 32byte keys, these keys are base64  encoded  to  make
206999       your life more simple.  To generate your sk_file and pk_file use:
207000
207001          salt-run nacl.keygen sk_file=/etc/salt/pki/master/nacl
207002          # or if you want to work without files.
207003          salt-run nacl.keygen
207004          local:
207005              ----------
207006              pk:
207007                  /kfGX7PbWeu099702PBbKWLpG/9p06IQRswkdWHCDk0=
207008              sk:
207009                  SVWut5SqNpuPeNzb1b9y6b2eXg2PLIog43GBzp48Sow=
207010
207011       Now with your keypair, you can encrypt data:
207012
207013       You have two option, sealedbox or secretbox.
207014
207015       SecretBox  is  data  encrypted  using  private  key  pk.  Sealedbox  is
207016       encrypted using public key pk.
207017
207018       Recommend using Sealedbox because the one way encryption permits devel‐
207019       opers  to  encrypt  data for source control but not decrypt.  Sealedbox
207020       only has one key that is for both encryption and decryption.
207021
207022          salt-run nacl.enc asecretpass pk=/kfGX7PbWeu099702PBbKWLpG/9p06IQRswkdWHCDk0=
207023          tqXzeIJnTAM9Xf0mdLcpEdklMbfBGPj2oTKmlgrm3S1DTVVHNnh9h8mU1GKllGq/+cYsk6m5WhGdk58=
207024
207025       To decrypt the data:
207026
207027          salt-run nacl.dec data='tqXzeIJnTAM9Xf0mdLcpEdklMbfBGPj2oTKmlgrm3S1DTVVHNnh9h8mU1GKllGq/+cYsk6m5WhGdk58='         sk='SVWut5SqNpuPeNzb1b9y6b2eXg2PLIog43GBzp48Sow='
207028
207029       When the keys are defined in the master config you can  use  them  from
207030       the nacl runner without extra parameters:
207031
207032          # cat /etc/salt/master.d/nacl.conf
207033          nacl.config:
207034              sk_file: /etc/salt/pki/master/nacl
207035              pk: 'cTIqXwnUiD1ulg4kXsbeCE7/NoeKEzd4nLeYcCFpd9k='
207036
207037          salt-run nacl.enc 'asecretpass'
207038          salt-run nacl.dec 'tqXzeIJnTAM9Xf0mdLcpEdklMbfBGPj2oTKmlgrm3S1DTVVHNnh9h8mU1GKllGq/+cYsk6m5WhGdk58='
207039
207040          # a salt developers minion could have pillar data that includes a nacl public key
207041          nacl.config:
207042              pk: '/kfGX7PbWeu099702PBbKWLpG/9p06IQRswkdWHCDk0='
207043
207044       The developer can then use a less-secure system to encrypt data.
207045
207046          salt-run nacl.enc apassword
207047
207048       Pillar files can include protected data that the salt master decrypts:
207049
207050          pillarexample:
207051              user: root
207052              password1: {{salt.nacl.dec('DRB7Q6/X5gGSRCTpZyxS6hlbWj0llUA+uaVyvou3vJ4=')|json}}
207053              cert_key: {{salt.nacl.dec_file('/srv/salt/certs/example.com/key.nacl')|json}}
207054              cert_key2: {{salt.nacl.dec_file('salt:///certs/example.com/key.nacl')|json}}
207055
207056       Larger files like certificates can be encrypted with:
207057
207058          salt-run nacl.enc_file /tmp/cert.crt out=/tmp/cert.nacl
207059
207060       salt.runners.nacl.dec(data, **kwargs)
207061              Alias to {box_type}_decrypt
207062
207063              box_type: secretbox, sealedbox(default)
207064
207065       salt.runners.nacl.dec_file(name, out=None, **kwargs)
207066              This  is a helper function to decrypt a file and return its con‐
207067              tents.
207068
207069              You can provide an optional output file using out
207070
207071              name can be a local file or when not using salt-run can be a url
207072              like salt://, https:// etc.
207073
207074              CLI Examples:
207075
207076                 salt-run nacl.dec_file name=/tmp/id_rsa.nacl
207077                 salt-run nacl.dec_file name=/tmp/id_rsa.nacl box_type=secretbox             sk_file=/etc/salt/pki/master/nacl.pub
207078
207079       salt.runners.nacl.enc(data, **kwargs)
207080              Alias to {box_type}_encrypt
207081
207082              box_type: secretbox, sealedbox(default)
207083
207084       salt.runners.nacl.enc_file(name, out=None, **kwargs)
207085              This  is a helper function to encrypt a file and return its con‐
207086              tents.
207087
207088              You can provide an optional output file using out
207089
207090              name can be a local file or when not using salt-run can be a url
207091              like salt://, https:// etc.
207092
207093              CLI Examples:
207094
207095                 salt-run nacl.enc_file name=/tmp/id_rsa
207096                 salt-run nacl.enc_file name=/tmp/id_rsa box_type=secretbox             sk_file=/etc/salt/pki/master/nacl.pub
207097
207098       salt.runners.nacl.keygen(sk_file=None, pk_file=None, **kwargs)
207099              Use libnacl to generate a keypair.
207100
207101              If no sk_file is defined return a keypair.
207102
207103              If  only  the  sk_file is defined pk_file will use the same name
207104              with a postfix .pub.
207105
207106              When the sk_file is already existing, but pk_file  is  not.  The
207107              pk_file will be generated using the sk_file.
207108
207109              CLI Examples:
207110
207111                 salt-run nacl.keygen
207112                 salt-run nacl.keygen sk_file=/etc/salt/pki/master/nacl
207113                 salt-run nacl.keygen sk_file=/etc/salt/pki/master/nacl pk_file=/etc/salt/pki/master/nacl.pub
207114                 salt-run nacl.keygen
207115
207116       salt.runners.nacl.sealedbox_decrypt(data, **kwargs)
207117              Decrypt  data using a secret key that was encrypted using a pub‐
207118              lic key with nacl.sealedbox_encrypt.
207119
207120              CLI Examples:
207121
207122                 salt-run nacl.sealedbox_decrypt pEXHQM6cuaF7A=
207123                 salt-run nacl.sealedbox_decrypt data='pEXHQM6cuaF7A=' sk_file=/etc/salt/pki/master/nacl
207124                 salt-run nacl.sealedbox_decrypt data='pEXHQM6cuaF7A=' sk='YmFkcGFzcwo='
207125
207126       salt.runners.nacl.sealedbox_encrypt(data, **kwargs)
207127              Encrypt data using a public key generated from nacl.keygen.  The
207128              encryptd data can be decrypted using nacl.sealedbox_decrypt only
207129              with the secret key.
207130
207131              CLI Examples:
207132
207133                 salt-run nacl.sealedbox_encrypt datatoenc
207134
207135       salt.runners.nacl.secretbox_decrypt(data, **kwargs)
207136              Decrypt data that  was  encrypted  using  nacl.secretbox_encrypt
207137              using the secret key that was generated from nacl.keygen.
207138
207139              CLI Examples:
207140
207141                 salt-run nacl.secretbox_decrypt pEXHQM6cuaF7A=
207142                 salt-run nacl.secretbox_decrypt data='pEXHQM6cuaF7A=' sk_file=/etc/salt/pki/master/nacl
207143                 salt-run nacl.secretbox_decrypt data='pEXHQM6cuaF7A=' sk='YmFkcGFzcwo='
207144
207145       salt.runners.nacl.secretbox_encrypt(data, **kwargs)
207146              Encrypt data using a secret key generated from nacl.keygen.  The
207147              same  secret  key  can  be  used  to  decrypt  the  data   using
207148              nacl.secretbox_decrypt.
207149
207150              CLI Examples:
207151
207152                 salt-run nacl.secretbox_encrypt datatoenc
207153                 salt-run nacl.secretbox_encrypt datatoenc sk_file=/etc/salt/pki/master/nacl
207154                 salt-run nacl.secretbox_encrypt datatoenc sk='YmFkcGFzcwo='
207155
207156   salt.runners.net
207157   NET Finder
207158       New in version 2017.7.0.
207159
207160
207161       A runner to find network details easily and fast.  It's smart enough to
207162       know what you are looking for.
207163
207164   Configuration
207165       · Minion (proxy) config
207166            To have the complete features, one needs to add the following mine
207167            configuration in the minion (proxy) config file:
207168
207169                mine_functions:
207170                  net.ipaddrs: []
207171                  net.lldp: []
207172                  net.mac: []
207173                  net.arp: []
207174                  net.interfaces: []
207175
207176            Which   instructs   Salt   to  cache  the  data  returned  by  the
207177            NAPALM-functions.  While they are not mandatory,  the  less  func‐
207178            tions configured, the less details will be found by the runner.
207179
207180            How often the mines are refreshed, can be specified using:
207181
207182                mine_interval: <X minutes>
207183
207184       · Master config
207185            By  default the following options can be configured on the master.
207186            They are not necessary, but available in case the user has differ‐
207187            ent requirements.
207188
207189            target: *
207190                   From  what  minions  will collect the mine data. Default: *
207191                   (collect from all minions).
207192
207193            expr_form: glob
207194                   Minion matching expression form. Default: glob.
207195
207196            ignore_interfaces
207197                   A list of interfaces name to ignore. By default  will  con‐
207198                   sider all interfaces.
207199
207200            display: True
207201                   Display on the screen or return structured object? Default:
207202                   True (return on the CLI).
207203
207204            outputter: table
207205                   Specify the outputter name  when  displaying  on  the  CLI.
207206                   Default: table.
207207
207208            Configuration example:
207209
207210                runners:
207211                  net.find:
207212                    target: 'edge*'
207213                    expr_form: 'glob'
207214                    ignore_interfaces:
207215                      - lo0
207216                      - em1
207217                      - jsrv
207218                      - fxp0
207219                    outputter: yaml
207220
207221       salt.runners.net.find(addr, best=True, display=True)
207222              Search  in  all  possible  entities (Interfaces, MAC tables, ARP
207223              tables, LLDP neighbors), using the following mine functions:
207224
207225              · net.mac
207226
207227              · net.arp
207228
207229              · net.lldp
207230
207231              · net.ipaddrs
207232
207233              · net.interfaces
207234
207235              This function has the advantage that it knows where to look, but
207236              the  output  might  become  quite  long  as returns all possible
207237              matches.
207238
207239              Optional arguments:
207240
207241              best: True
207242                     Return only the best match with the  interfaces  IP  net‐
207243                     works when the saerching pattern is a valid IP Address or
207244                     Network.
207245
207246              display: True
207247                     Display  on  the  screen  or  return  structured  object?
207248                     Default: True (return on the CLI).
207249
207250              CLI Example:
207251
207252                 $ sudo salt-run net.find 10.10.10.7
207253
207254              Output Example:
207255
207256                 Details for all interfaces that include network 10.10.10.7/32 - only best match returned
207257                 ________________________________________________________________________________________________________________________
207258                 |    Device    | Interface | Interface Description |  UP  | Enabled | Speed [Mbps] |    MAC Address    |  IP Addresses |
207259                 ________________________________________________________________________________________________________________________
207260                 | edge01.flw01 |    irb    |                       | True |   True  |      -1      | 5C:5E:AB:AC:52:B4 | 10.10.10.1/22 |
207261                 ________________________________________________________________________________________________________________________
207262
207263                 ARP Entries for IP 10.10.10.7
207264                 _____________________________________________________________________________
207265                 |    Device    |     Interface     |        MAC        |     IP     |  Age  |
207266                 _____________________________________________________________________________
207267                 | edge01.flw01 | irb.349 [ae0.349] | 2C:60:0C:2A:4C:0A | 10.10.10.7 | 832.0 |
207268                 _____________________________________________________________________________
207269
207270       salt.runners.net.findarp(device=None,     interface=None,     mac=None,
207271       ip=None, display=True)
207272              Search for entries in the ARP tables using  the  following  mine
207273              functions:
207274
207275              · net.arp
207276
207277              Optional arguments:
207278
207279              device Return interface data from a certain device only.
207280
207281              interface
207282                     Return data selecting by interface name.
207283
207284              mac    Search using a specific MAC Address.
207285
207286              ip     Search using a specific IP Address.
207287
207288              display: True
207289                     Display  on  the  screen  or  return  structured  object?
207290                     Default: True, will return on the CLI.
207291
207292              CLI Example:
207293
207294                 $ sudo salt-run net.findarp mac=8C:60:0F:78:EC:41
207295
207296              Output Example:
207297
207298                 ARP Entries for MAC 8C:60:0F:78:EC:41
207299                 ________________________________________________________________________________
207300                 |    Device    |     Interface     |        MAC        |       IP      |  Age  |
207301                 ________________________________________________________________________________
207302                 | edge01.bjm01 | irb.171 [ae0.171] | 8C:60:0F:78:EC:41 | 172.172.17.19 | 956.0 |
207303                 ________________________________________________________________________________
207304
207305       salt.runners.net.findmac(device=None,     mac=None,     interface=None,
207306       vlan=None, display=True)
207307              Search in the MAC Address tables, using the following mine func‐
207308              tions:
207309
207310              · net.mac
207311
207312              Optional arguments:
207313
207314              device Return interface data from a certain device only.
207315
207316              interface
207317                     Return data selecting by interface name.
207318
207319              mac    Search using a specific MAC Address.
207320
207321              vlan   Search using a VLAN ID.
207322
207323              display: True
207324                     Display  on  the  screen  or  return  structured  object?
207325                     Default: True, will return on the CLI.
207326
207327              CLI Example:
207328
207329                 $ sudo salt-run net.findmac mac=8C:60:0F:78:EC:41
207330
207331              Output Example:
207332
207333                 MAC Address(es)
207334                 _____________________________________________________________________________________________
207335                 |    Device    | Interface |        MAC        | VLAN | Static | Active | Moves | Last move |
207336                 _____________________________________________________________________________________________
207337                 | edge01.bjm01 |  ae0.171  | 8C:60:0F:78:EC:41 | 171  | False  |  True  |   0   |    0.0    |
207338                 _____________________________________________________________________________________________
207339
207340       salt.runners.net.interfaces(device=None,   interface=None,  title=None,
207341       pattern=None, ipnet=None, best=True, display=True)
207342              Search for interfaces details in the following mine functions:
207343
207344              · net.interfaces
207345
207346              · net.ipaddrs
207347
207348              Optional arguments:
207349
207350              device Return interface data from a certain device only.
207351
207352              interface
207353                     Return data selecting by interface name.
207354
207355              pattern
207356                     Return interfaces that contain a certain pattern in their
207357                     description.
207358
207359              ipnet  Return  interfaces  whose  IP networks associated include
207360                     this IP network.
207361
207362              best: True
207363                     When ipnet is specified, this argument says if the runner
207364                     should  return  only the best match (the output will con‐
207365                     tain at most one row). Default:  True  (return  only  the
207366                     best match).
207367
207368              display: True
207369                     Display  on  the  screen  or  return  structured  object?
207370                     Default: True (return on the CLI).
207371
207372              title  Display a custom title for the table.
207373
207374              CLI Example:
207375
207376                 $ sudo salt-run net.interfaces interface=vt-0/0/10
207377
207378              Output Example:
207379
207380                 Details for interface xe-0/0/0
207381                 _________________________________________________________________________________________________________________
207382                 |    Device    | Interface | Interface Description |  UP  | Enabled | Speed [Mbps] | MAC Address | IP Addresses |
207383                 _________________________________________________________________________________________________________________
207384                 | edge01.bjm01 | vt-0/0/10 |                       | True |   True  |     1000     |             |              |
207385                 _________________________________________________________________________________________________________________
207386                 | edge01.flw01 | vt-0/0/10 |                       | True |   True  |     1000     |             |              |
207387                 _________________________________________________________________________________________________________________
207388                 | edge01.pos01 | vt-0/0/10 |                       | True |   True  |     1000     |             |              |
207389                 _________________________________________________________________________________________________________________
207390                 | edge01.oua01 | vt-0/0/10 |                       | True |   True  |     1000     |             |              |
207391                 _________________________________________________________________________________________________________________
207392
207393       salt.runners.net.lldp(device=None,  interface=None,  title=None,   pat‐
207394       tern=None, chassis=None, display=True)
207395              Search  in  the  LLDP  neighbors, using the following mine func‐
207396              tions:
207397
207398              · net.lldp
207399
207400              Optional arguments:
207401
207402              device Return interface data from a certain device only.
207403
207404              interface
207405                     Return data selecting by interface name.
207406
207407              pattern
207408                     Return LLDP neighbors that have contain this  pattern  in
207409                     one of the following fields:
207410
207411                     · Remote Port ID
207412
207413                     · Remote Port Description
207414
207415                     · Remote System Name
207416
207417                     · Remote System Description
207418
207419              chassis
207420                     Search using a specific Chassis ID.
207421
207422              display: True
207423                     Display  on  the  screen  or  return  structured  object?
207424                     Default: True (return on the CLI).
207425
207426              display: True
207427                     Display  on  the  screen  or  return  structured  object?
207428                     Default: True (return on the CLI).
207429
207430              title  Display a custom title for the table.
207431
207432              CLI Example:
207433
207434                 $ sudo salt-run net.lldp pattern=Ethernet1/48
207435
207436              Output Example:
207437
207438                 Pattern "Ethernet1/48" found in one of the following LLDP details
207439                 _________________________________________________________________________________________________________________________________________________________________________________________
207440                 |    Device    | Interface | Parent Interface | Remote Chassis ID | Remote Port ID | Remote Port Description |   Remote System Name   |            Remote System Description            |
207441                 _________________________________________________________________________________________________________________________________________________________________________________________
207442                 | 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),  |
207443                 |              |           |                  |                   |                |                         |                        | Version 7.3(0)N7(5), RELEASE SOFTWARE Copyright |
207444                 |              |           |                  |                   |                |                         |                        |  (c) 2002-2012 by Cisco Systems, Inc. Compiled  |
207445                 |              |           |                  |                   |                |                         |                        |                2/17/2016 22:00:00               |
207446                 _________________________________________________________________________________________________________________________________________________________________________________________
207447                 | 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),  |
207448                 |              |           |                  |                   |                |                         |                        | Version 7.3(0)N7(5), RELEASE SOFTWARE Copyright |
207449                 |              |           |                  |                   |                |                         |                        |  (c) 2002-2012 by Cisco Systems, Inc. Compiled  |
207450                 |              |           |                  |                   |                |                         |                        |                2/17/2016 22:00:00               |
207451                 _________________________________________________________________________________________________________________________________________________________________________________________
207452                 | 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),  |
207453                 |              |           |                  |                   |                |                         |                        | Version 7.3(0)N7(5), RELEASE SOFTWARE Copyright |
207454                 |              |           |                  |                   |                |                         |                        |  (c) 2002-2012 by Cisco Systems, Inc. Compiled  |
207455                 |              |           |                  |                   |                |                         |                        |                2/17/2016 22:00:00               |
207456                 _________________________________________________________________________________________________________________________________________________________________________________________
207457
207458       salt.runners.net.multi_find(*patterns, **kwargs)
207459              Execute  multiple  search  tasks.  This function is based on the
207460              find function.  Depending on the search items, some  information
207461              might overlap.
207462
207463              Optional arguments:
207464
207465              best: True
207466                     Return  only  the  best match with the interfaces IP net‐
207467                     works when the saerching pattern is a valid IP Address or
207468                     Network.
207469
207470              display: True
207471                     Display  on  the  screen  or  return  structured  object?
207472                     Default: True (return on the CLI).
207473
207474              CLI Example:
207475
207476                 $ sudo salt-run net.multi_find Ethernet1/49 xe-0/1/2
207477
207478              Output Example:
207479
207480                 Pattern "Ethernet1/49" found in one of the following LLDP details
207481
207482                     -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
207483                     |    Device    | Interface | Parent Interface | Remote Chassis ID | Remote Port Description | Remote Port ID |          Remote System Description          |   Remote System Name   |
207484                     -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
207485                     | 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 |
207486                     -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
207487
207488                 Details for interface xe-0/1/2
207489
207490                     -----------------------------------------------------------------------------------------------------------------------
207491                     |    Device    | Interface | Interface Description | IP Addresses | Enabled |  UP  |    MAC Address    | Speed [Mbps] |
207492                     -----------------------------------------------------------------------------------------------------------------------
207493                     | edge01.oua04 |  xe-0/1/2 |     ae1 sw01.oua04    |              |   True  | True | BE:EF:DE:AD:BE:EF |    10000     |
207494                     -----------------------------------------------------------------------------------------------------------------------
207495
207496                 LLDP Neighbors for interface xe-0/1/2
207497
207498                     -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
207499                     |    Device    | Interface | Parent Interface | Remote Chassis ID | Remote Port Description | Remote Port ID |          Remote System Description          |   Remote System Name   |
207500                     -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
207501                     | 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 |
207502                     -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
207503
207504   salt.runners.network
207505       Network tools to run from the Master
207506
207507       salt.runners.network.wol(mac, bcast=u'255.255.255.255', destport=9)
207508              Send a "Magic Packet" to wake up a Minion
207509
207510              CLI Example:
207511
207512                 salt-run network.wol 08-00-27-13-69-77
207513                 salt-run network.wol 080027136977 255.255.255.255 7
207514                 salt-run network.wol 08:00:27:13:69:77 255.255.255.255 7
207515
207516       salt.runners.network.wollist(maclist,  bcast=u'255.255.255.255',  dest‐
207517       port=9)
207518              Send  a  "Magic Packet" to wake up a list of Minions.  This list
207519              must contain one MAC hardware address per line
207520
207521              CLI Example:
207522
207523                 salt-run network.wollist '/path/to/maclist'
207524                 salt-run network.wollist '/path/to/maclist' 255.255.255.255 7
207525                 salt-run network.wollist '/path/to/maclist' 255.255.255.255 7
207526
207527       salt.runners.network.wolmatch(tgt,                    tgt_type=u'glob',
207528       bcast=u'255.255.255.255', destport=9)
207529              Send a "Magic Packet" to wake up Minions that are matched in the
207530              grains cache
207531
207532              CLI Example:
207533
207534                 salt-run network.wolmatch minion_id
207535                 salt-run network.wolmatch 192.168.0.0/16 tgt_type='ipcidr' bcast=255.255.255.255 destport=7
207536
207537   salt.runners.pagerduty
207538       Runner Module for Firing Events via PagerDuty
207539
207540       New in version 2014.1.0.
207541
207542
207543       configuration
207544              This module can be used by specifying the name of  a  configura‐
207545              tion profile in the master config.
207546
207547              For example:
207548
207549                 my-pagerduty-account:
207550                     pagerduty.api_key: F3Rbyjbve43rfFWf2214
207551                     pagerduty.subdomain: mysubdomain
207552
207553       salt.runners.pagerduty.create_event(service_key=None, description=None,
207554       details=None, incident_key=None, profile=None)
207555              Create an event in PagerDuty. Designed for use in states.
207556
207557              CLI Example:
207558
207559                 salt-run pagerduty.create_event <service_key> <description> <details>         profile=my-pagerduty-account
207560
207561              The following parameters are required:
207562
207563              service_key
207564                     This key can be found by using pagerduty.list_services.
207565
207566              description
207567                     This is a short description of the event.
207568
207569              details
207570                     This can be a more detailed description of the event.
207571
207572              profile
207573                     This refers to the configuration profile to use  to  con‐
207574                     nect to the PagerDuty service.
207575
207576       salt.runners.pagerduty.list_escalation_policies(profile=None,
207577       api_key=None)
207578              This function is an alias of list_policies.
207579                 List escalation policies belonging to this account
207580
207581                 CLI Example:
207582                     salt-run   pagerduty.list_policies   my-pagerduty-account
207583                     salt-run   pagerduty.list_escalation_policies   my-pager‐
207584                     duty-account
207585
207586       salt.runners.pagerduty.list_incidents(profile=None, api_key=None)
207587              List incidents belonging to this account
207588
207589              CLI Example:
207590                 salt-run pagerduty.list_incidents my-pagerduty-account
207591
207592       salt.runners.pagerduty.list_maintenance_windows(profile=None,
207593       api_key=None)
207594              This function is an alias of list_windows.
207595                 List maintenance windows belonging to this account
207596
207597                 CLI Example:
207598                     salt-run    pagerduty.list_windows   my-pagerduty-account
207599                     salt-run   pagerduty.list_maintenance_windows   my-pager‐
207600                     duty-account
207601
207602       salt.runners.pagerduty.list_policies(profile=None, api_key=None)
207603              List escalation policies belonging to this account
207604
207605              CLI Example:
207606                 salt-run     pagerduty.list_policies     my-pagerduty-account
207607                 salt-run     pagerduty.list_escalation_policies     my-pager‐
207608                 duty-account
207609
207610       salt.runners.pagerduty.list_schedules(profile=None, api_key=None)
207611              List schedules belonging to this account
207612
207613              CLI Example:
207614                 salt-run pagerduty.list_schedules my-pagerduty-account
207615
207616       salt.runners.pagerduty.list_services(profile=None, api_key=None)
207617              List services belonging to this account
207618
207619              CLI Example:
207620                 salt-run pagerduty.list_services my-pagerduty-account
207621
207622       salt.runners.pagerduty.list_users(profile=None, api_key=None)
207623              List users belonging to this account
207624
207625              CLI Example:
207626                 salt-run pagerduty.list_users my-pagerduty-account
207627
207628       salt.runners.pagerduty.list_windows(profile=None, api_key=None)
207629              List maintenance windows belonging to this account
207630
207631              CLI Example:
207632                 salt-run pagerduty.list_windows my-pagerduty-account salt-run
207633                 pagerduty.list_maintenance_windows my-pagerduty-account
207634
207635   salt.runners.pillar
207636       Functions to interact with the pillar compiler on the master
207637
207638       salt.runners.pillar.show_pillar(minion=u'*', **kwargs)
207639              Returns the compiled pillar either of a specific minion or  just
207640              the global available pillars. This function assumes that no min‐
207641              ion has the id *.  Function also accepts pillarenv as  attribute
207642              in order to limit to a specific pillar branch of git
207643
207644              CLI Example:
207645
207646              shows minion specific pillar:
207647
207648                 salt-run pillar.show_pillar 'www.example.com'
207649
207650              shows global pillar:
207651
207652                 salt-run pillar.show_pillar
207653
207654              shows global pillar for 'dev' pillar environment: (note that not
207655              specifying pillarenv will merge all  pillar  environments  using
207656              the master config option pillar_source_merging_strategy.)
207657
207658                 salt-run pillar.show_pillar 'pillarenv=dev'
207659
207660              shows  global  pillar  for 'dev' pillar environment and specific
207661              pillarenv = dev:
207662
207663                 salt-run pillar.show_pillar 'saltenv=dev' 'pillarenv=dev'
207664
207665              API Example:
207666
207667                 import salt.config
207668                 import salt.runner
207669                 opts = salt.config.master_config('/etc/salt/master')
207670                 runner = salt.runner.RunnerClient(opts)
207671                 pillar = runner.cmd('pillar.show_pillar', [])
207672                 print(pillar)
207673
207674       salt.runners.pillar.show_top(minion=None, saltenv=u'base')
207675              Returns the compiled top data for pillar for a specific  minion.
207676              If no minion is specified, we use the first minion we find.
207677
207678              CLI Example:
207679
207680                 salt-run pillar.show_top
207681
207682   salt.runners.pkg
207683       Package helper functions using salt.modules.pkg
207684
207685       New in version 2015.8.0.
207686
207687
207688       salt.runners.pkg.list_upgrades(jid,       style=u'group',       output‐
207689       ter=u'nested', ext_source=None)
207690              Show list of available pkg upgrades  using  a  specified  format
207691              style
207692
207693              CLI Example:
207694
207695                 salt-run pkg.list_upgrades jid=20141120114114417719 style=group
207696
207697   salt.runners.queue
207698   General management and processing of queues.
207699       This runner facilitates interacting with various queue backends such as
207700       the included sqlite3 queue or the planned AWS SQS and Redis queues
207701
207702       The queue functions such as insert, delete, and pop  can  be  used  for
207703       typical management of the queue.
207704
207705       The  process_queue function pops the requested number of items from the
207706       queue and creates a Salt Event that can then be processed by a Reactor.
207707       The process_queue function can be called manually, or can be configured
207708       to run on a schedule with the Salt Scheduler or regular system cron. It
207709       is  also  possible to use the peer system to allow a minion to call the
207710       runner.
207711
207712       This runner, as well as the Queues system, is not api  stable  at  this
207713       time.
207714
207715       There are many things that could potentially be done with queues within
207716       Salt.  For the time being the focus will be on queueing  infrastructure
207717       actions  on  specific  minions.  The queues generally will be populated
207718       with minion IDs.  When the  process_queue  runner  function  is  called
207719       events  are created on the Salt Event bus that indicate the queue and a
207720       list of one or more minion IDs. The reactor is set up to match on event
207721       tags for a specific queue and then take infrastructure actions on those
207722       minion IDs. These actions might be to delete the minion's key from  the
207723       master, use salt-cloud to destroy the vm, or some other custom action.
207724
207725   Queued runners
207726       Using the Salt Queues, references to the commandline arguments of other
207727       runners can be saved to be processed later.  The queue runners  require
207728       a queue backend that can store json data (default: pgjsonb).
207729
207730       Once the queue is setup, the runner_queue will need to be configured.
207731
207732          runner_queue:
207733            queue: runners
207734            backend: pgjsonb
207735
207736       NOTE:
207737          only the queue is required, this defaults to using pgjsonb
207738
207739       Once  this  is set, then the following can be added to the scheduler on
207740       the master and it will run the specified amount of  commands  per  time
207741       period.
207742
207743          schedule:
207744            runner queue:
207745              schedule:
207746                function: queue.process_runner
207747                minutes: 1
207748                kwargs:
207749                  quantity: 2
207750
207751       The  above  configuration  will pop 2 runner jobs off the runner queue,
207752       and then run them.  And it will do this every minute, unless there  are
207753       any  jobs  that are still running from the last time the process_runner
207754       task was executed.
207755
207756       salt.runners.queue.delete(queue, items, backend=u'sqlite')
207757              Delete an item or items from a queue
207758
207759              CLI Example:
207760
207761                 salt-run queue.delete myqueue myitem
207762                 salt-run queue.delete myqueue myitem backend=sqlite
207763                 salt-run queue.delete myqueue "['item1', 'item2', 'item3']"
207764
207765       salt.runners.queue.insert(queue, items, backend=u'sqlite')
207766              Add an item or items to a queue
207767
207768              CLI Example:
207769
207770                 salt-run queue.insert myqueue myitem
207771                 salt-run queue.insert myqueue "['item1', 'item2', 'item3']"
207772                 salt-run queue.insert myqueue myitem backend=sqlite
207773                 salt-run queue.insert myqueue "['item1', 'item2', 'item3']" backend=sqlite
207774
207775       salt.runners.queue.insert_runner(fun,      args=None,      kwargs=None,
207776       queue=None, backend=None)
207777              Insert  a reference to a runner into the queue so that it can be
207778              run later.
207779
207780              fun    The runner function that is going to be run
207781
207782              args   list or comma-seperated string of args to send to fun
207783
207784              kwargs dictionary of keyword arguments to send to fun
207785
207786              queue  queue to insert the runner reference into
207787
207788              backend
207789                     backend that to use for the queue
207790
207791              CLI Example:
207792
207793                 salt-run queue.insert_runner test.stdout_print
207794                 salt-run queue.insert_runner event.send test_insert_runner kwargs='{"data": {"foo": "bar"}}'
207795
207796       salt.runners.queue.list_items(queue, backend=u'sqlite')
207797              List contents of a queue
207798
207799              CLI Example:
207800
207801                 salt-run queue.list_items myqueue
207802                 salt-run queue.list_items myqueue backend=sqlite
207803
207804       salt.runners.queue.list_length(queue, backend=u'sqlite')
207805              Provide the number of items in a queue
207806
207807              CLI Example:
207808
207809                 salt-run queue.list_length myqueue
207810                 salt-run queue.list_length myqueue backend=sqlite
207811
207812       salt.runners.queue.list_queues(backend=u'sqlite')
207813              Return a list of Salt Queues on the backend
207814
207815              CLI Example:
207816
207817                 salt-run queue.list_queues
207818                 salt-run queue.list_queues backend=sqlite
207819
207820       salt.runners.queue.pop(queue,  quantity=1,  backend=u'sqlite',  is_run‐
207821       ner=False)
207822              Pop one or more or all items from a queue
207823
207824              CLI Example:
207825
207826                 salt-run queue.pop myqueue
207827                 salt-run queue.pop myqueue 6
207828                 salt-run queue.pop myqueue all
207829                 salt-run queue.pop myqueue 6 backend=sqlite
207830                 salt-run queue.pop myqueue all backend=sqlite
207831
207832       salt.runners.queue.process_queue(queue,  quantity=1, backend=u'sqlite',
207833       is_runner=False)
207834              Pop items off a queue and create an event on the Salt event  bus
207835              to be processed by a Reactor.
207836
207837              CLI Example:
207838
207839                 salt-run queue.process_queue myqueue
207840                 salt-run queue.process_queue myqueue 6
207841                 salt-run queue.process_queue myqueue all backend=sqlite
207842
207843       salt.runners.queue.process_runner(quantity=1, queue=None, backend=None)
207844              Process queued runners
207845
207846              quantity
207847                     number of runners to process
207848
207849              queue  queue to insert the runner reference into
207850
207851              backend
207852                     backend that to use for the queue
207853
207854              CLI Example:
207855
207856                 salt-run queue.process_runner
207857                 salt-run queue.process_runner 5
207858
207859   salt.runners.reactor
207860       A convenience system to manage reactors
207861
207862       Beginning  in  the 2017.7 release, the reactor runner requires that the
207863       reactor system is running.  This  is  accomplished  one  of  two  ways,
207864       either  by  having  reactors  configured or by including reactor in the
207865       engine configuration for the Salt master.
207866
207867
207868
207869          engines:
207870
207871                 · reactor
207872
207873       salt.runners.reactor.add(event, reactors, saltenv=u'base', test=None)
207874              Add a new reactor
207875
207876              CLI Example:
207877
207878                 salt-run reactor.add 'salt/cloud/*/destroyed' reactors='/srv/reactor/destroy/*.sls'
207879
207880       salt.runners.reactor.delete(event, saltenv=u'base', test=None)
207881              Delete a reactor
207882
207883              CLI Example:
207884
207885                 salt-run reactor.delete 'salt/cloud/*/destroyed'
207886
207887       salt.runners.reactor.list_(saltenv=u'base', test=None)
207888              List currently configured reactors
207889
207890              CLI Example:
207891
207892                 salt-run reactor.list
207893
207894   salt.runners.salt
207895       This runner makes Salt's execution modules available on the  salt  mas‐
207896       ter.
207897
207898       New in version 2016.11.0.
207899
207900
207901       Salt's execution modules are normally available on the salt minion. Use
207902       this runner to call execution modules on the salt master.  Salt  execu‐
207903       tion modules are the functions called by the salt command.
207904
207905       Execution modules can be called with salt-run:
207906
207907          salt-run salt.cmd test.ping
207908          # call functions with arguments and keyword arguments
207909          salt-run salt.cmd test.arg 1 2 3 key=value a=1
207910
207911       Execution modules are also available to salt runners:
207912
207913          __salt__['salt.cmd'](fun=fun, args=args, kwargs=kwargs)
207914
207915       salt.runners.salt.cmd(fun, *args, **kwargs)
207916              Changed in version 2018.3.0: Added with_pillar argument
207917
207918
207919              Execute  fun  with  the  given  args  and kwargs.  Parameter fun
207920              should be the string name of the execution module to call.
207921
207922              NOTE:
207923                 Execution modules will be loaded every time this function  is
207924                 called.   Additionally,  keep in mind that since runners exe‐
207925                 cute on the master, custom execution modules will need to  be
207926                 synced  to  the  master using salt-run saltutil.sync_modules,
207927                 otherwise they will not be available.
207928
207929              with_pillar
207930                     False If True, pillar data will be compiled for the  mas‐
207931                     ter
207932
207933                     NOTE:
207934                        To  target  the master in the pillar top file, keep in
207935                        mind that the default id  for  the  master  is  <host‐
207936                        name>_master.  This can be overridden by setting an id
207937                        configuration parameter in the master config file.
207938
207939              CLI example:
207940
207941                 salt-run salt.cmd test.ping
207942                 # call functions with arguments and keyword arguments
207943                 salt-run salt.cmd test.arg 1 2 3 a=1
207944                 salt-run salt.cmd mymod.myfunc with_pillar=True
207945
207946       salt.runners.salt.execute(tgt,     fun,      arg=(),      timeout=None,
207947       tgt_type=u'glob', ret=u'', jid=u'', kwarg=None, **kwargs)
207948              New in version 2017.7.0.
207949
207950
207951              Execute fun on all minions matched by tgt and tgt_type.  Parame‐
207952              ter fun is the name of execution module function to call.
207953
207954              This function should mainly be used as a helper for runner  mod‐
207955              ules,  in  order  to  avoid  redundant  code.  For example, when
207956              inside a runner one needs to execute a certain function on arbi‐
207957              trary groups of minions, only has to:
207958
207959                 ret1 = __salt__['salt.execute']('*', 'mod.fun')
207960                 ret2 = __salt__['salt.execute']('my_nodegroup', 'mod2.fun2', tgt_type='nodegroup')
207961
207962              It can also be used to schedule jobs directly on the master, for
207963              example:
207964
207965                 schedule:
207966                     collect_bgp_stats:
207967                         function: salt.execute
207968                         args:
207969                             - edge-routers
207970                             - bgp.neighbors
207971                         kwargs:
207972                             tgt_type: nodegroup
207973                         days: 1
207974                         returner: redis
207975
207976   salt.runners.saltutil
207977       The Saltutil runner is used to sync custom types to the Master. See the
207978       saltutil module for documentation on managing updates to minions.
207979
207980       New in version 2016.3.0.
207981
207982
207983       salt.runners.saltutil.sync_all(saltenv=u'base',  extmod_whitelist=None,
207984       extmod_blacklist=None)
207985              Sync all custom types
207986
207987              saltenv
207988                     base The fileserver environment from which  to  sync.  To
207989                     sync  from  more than one environment, pass a comma-sepa‐
207990                     rated list.
207991
207992              extmod_whitelist
207993                     None dictionary of modules to sync based on type
207994
207995              extmod_blacklist
207996                     None dictionary of modules to blacklist based on type
207997
207998              CLI Example:
207999
208000                 salt-run saltutil.sync_all
208001                 salt-run saltutil.sync_all extmod_whitelist={'runners': ['custom_runner'], 'grains': []}
208002
208003       salt.runners.saltutil.sync_cache(saltenv=u'base',
208004       extmod_whitelist=None, extmod_blacklist=None)
208005              New in version 2017.7.0.
208006
208007
208008              Sync cache modules from salt://_cache to the master
208009
208010              saltenv
208011                     base  The  fileserver  environment from which to sync. To
208012                     sync from more than one environment, pass  a  comma-sepa‐
208013                     rated list.
208014
208015              extmod_whitelist
208016                     None comma-seperated list of modules to sync
208017
208018              extmod_blacklist
208019                     None  comma-seperated  list of modules to blacklist based
208020                     on type
208021
208022              CLI Example:
208023
208024                 salt-run saltutil.sync_cache
208025
208026       salt.runners.saltutil.sync_clouds(saltenv=u'base',
208027       extmod_whitelist=None, extmod_blacklist=None)
208028              New in version 2017.7.0.
208029
208030
208031              Sync cloud modules from salt://_clouds to the master
208032
208033              saltenv
208034                     base  The  fileserver  environment from which to sync. To
208035                     sync from more than one environment, pass  a  comma-sepa‐
208036                     rated list.
208037
208038              extmod_whitelist
208039                     None comma-seperated list of modules to sync
208040
208041              extmod_blacklist
208042                     None  comma-seperated  list of modules to blacklist based
208043                     on type
208044
208045              CLI Example:
208046
208047                 salt-run saltutil.sync_clouds
208048
208049       salt.runners.saltutil.sync_eauth_tokens(saltenv=u'base',
208050       extmod_whitelist=None, extmod_blacklist=None)
208051              New in version 2018.3.0.
208052
208053
208054              Sync eauth token modules from salt://_tokens to the master
208055
208056              saltenv
208057                     base  The  fileserver  environment from which to sync. To
208058                     sync from more than one environment, pass  a  comma-sepa‐
208059                     rated list.
208060
208061              extmod_whitelist
208062                     None comma-seperated list of modules to sync
208063
208064              extmod_blacklist
208065                     None  comma-seperated  list of modules to blacklist based
208066                     on type
208067
208068              CLI Example:
208069
208070                 salt-run saltutil.sync_eauth_tokens
208071
208072       salt.runners.saltutil.sync_engines(saltenv=u'base',
208073       extmod_whitelist=None, extmod_blacklist=None)
208074              Sync engines from salt://_engines to the master
208075
208076              saltenv
208077                     base  The  fileserver  environment from which to sync. To
208078                     sync from more than one environment, pass  a  comma-sepa‐
208079                     rated list.
208080
208081              extmod_whitelist
208082                     None comma-seperated list of modules to sync
208083
208084              extmod_blacklist
208085                     None  comma-seperated  list of modules to blacklist based
208086                     on type
208087
208088              CLI Example:
208089
208090                 salt-run saltutil.sync_engines
208091
208092       salt.runners.saltutil.sync_fileserver(saltenv=u'base',
208093       extmod_whitelist=None, extmod_blacklist=None)
208094              New in version 2018.3.0.
208095
208096
208097              Sync fileserver modules from salt://_fileserver to the master
208098
208099              saltenv
208100                     base  The  fileserver  environment from which to sync. To
208101                     sync from more than one environment, pass  a  comma-sepa‐
208102                     rated list.
208103
208104              extmod_whitelist
208105                     None comma-seperated list of modules to sync
208106
208107              extmod_blacklist
208108                     None  comma-seperated  list of modules to blacklist based
208109                     on type
208110
208111              CLI Example:
208112
208113                 salt-run saltutil.sync_fileserver
208114
208115       salt.runners.saltutil.sync_grains(saltenv=u'base',
208116       extmod_whitelist=None, extmod_blacklist=None)
208117              Sync grains modules from salt://_grains to the master
208118
208119              saltenv
208120                     base  The  fileserver  environment from which to sync. To
208121                     sync from more than one environment, pass  a  comma-sepa‐
208122                     rated list.
208123
208124              extmod_whitelist
208125                     None comma-seperated list of modules to sync
208126
208127              extmod_blacklist
208128                     None  comma-seperated  list of modules to blacklist based
208129                     on type
208130
208131              CLI Example:
208132
208133                 salt-run saltutil.sync_grains
208134
208135       salt.runners.saltutil.sync_modules(saltenv=u'base',
208136       extmod_whitelist=None, extmod_blacklist=None)
208137              Sync execution modules from salt://_modules to the master
208138
208139              saltenv
208140                     base  The  fileserver  environment from which to sync. To
208141                     sync from more than one environment, pass  a  comma-sepa‐
208142                     rated list.
208143
208144              extmod_whitelist
208145                     None comma-seperated list of modules to sync
208146
208147              extmod_blacklist
208148                     None  comma-seperated  list of modules to blacklist based
208149                     on type
208150
208151              CLI Example:
208152
208153                 salt-run saltutil.sync_modules
208154
208155       salt.runners.saltutil.sync_output(saltenv=u'base',
208156       extmod_whitelist=None, extmod_blacklist=None)
208157              Sync output modules from salt://_output to the master
208158
208159              saltenv
208160                     base  The  fileserver  environment from which to sync. To
208161                     sync from more than one environment, pass  a  comma-sepa‐
208162                     rated list.
208163
208164              extmod_whitelist
208165                     None comma-seperated list of modules to sync
208166
208167              extmod_blacklist
208168                     None  comma-seperated  list of modules to blacklist based
208169                     on type
208170
208171              CLI Example:
208172
208173                 salt-run saltutil.sync_output
208174
208175       salt.runners.saltutil.sync_pillar(saltenv=u'base',
208176       extmod_whitelist=None, extmod_blacklist=None)
208177              Sync pillar modules from salt://_pillar to the master
208178
208179              saltenv
208180                     base  The  fileserver  environment from which to sync. To
208181                     sync from more than one environment, pass  a  comma-sepa‐
208182                     rated list.
208183
208184              extmod_whitelist
208185                     None comma-seperated list of modules to sync
208186
208187              extmod_blacklist
208188                     None  comma-seperated  list of modules to blacklist based
208189                     on type
208190
208191              CLI Example:
208192
208193                 salt-run saltutil.sync_pillar
208194
208195       salt.runners.saltutil.sync_proxymodules(saltenv=u'base',
208196       extmod_whitelist=None, extmod_blacklist=None)
208197              Sync proxy modules from salt://_proxy to the master
208198
208199              saltenv
208200                     base  The  fileserver  environment from which to sync. To
208201                     sync from more than one environment, pass  a  comma-sepa‐
208202                     rated list.
208203
208204              extmod_whitelist
208205                     None comma-seperated list of modules to sync
208206
208207              extmod_blacklist
208208                     None  comma-seperated  list of modules to blacklist based
208209                     on type
208210
208211              CLI Example:
208212
208213                 salt-run saltutil.sync_proxy
208214
208215       salt.runners.saltutil.sync_queues(saltenv=u'base',
208216       extmod_whitelist=None, extmod_blacklist=None)
208217              Sync queue modules from salt://_queues to the master
208218
208219              saltenv
208220                     base  The  fileserver  environment from which to sync. To
208221                     sync from more than one environment, pass  a  comma-sepa‐
208222                     rated list.
208223
208224              extmod_whitelist
208225                     None comma-seperated list of modules to sync
208226
208227              extmod_blacklist
208228                     None  comma-seperated  list of modules to blacklist based
208229                     on type
208230
208231              CLI Example:
208232
208233                 salt-run saltutil.sync_queues
208234
208235       salt.runners.saltutil.sync_renderers(saltenv=u'base',
208236       extmod_whitelist=None, extmod_blacklist=None)
208237              Sync renderer modules from from salt://_renderers to the master
208238
208239              saltenv
208240                     base  The  fileserver  environment from which to sync. To
208241                     sync from more than one environment, pass  a  comma-sepa‐
208242                     rated list.
208243
208244              extmod_whitelist
208245                     None comma-seperated list of modules to sync
208246
208247              extmod_blacklist
208248                     None  comma-seperated  list of modules to blacklist based
208249                     on type
208250
208251              CLI Example:
208252
208253                 salt-run saltutil.sync_renderers
208254
208255       salt.runners.saltutil.sync_returners(saltenv=u'base',
208256       extmod_whitelist=None, extmod_blacklist=None)
208257              Sync returner modules from salt://_returners to the master
208258
208259              saltenv
208260                     base  The  fileserver  environment from which to sync. To
208261                     sync from more than one environment, pass  a  comma-sepa‐
208262                     rated list.
208263
208264              extmod_whitelist
208265                     None comma-seperated list of modules to sync
208266
208267              extmod_blacklist
208268                     None  comma-seperated  list of modules to blacklist based
208269                     on type
208270
208271              CLI Example:
208272
208273                 salt-run saltutil.sync_returners
208274
208275       salt.runners.saltutil.sync_roster(saltenv=u'base',
208276       extmod_whitelist=None, extmod_blacklist=None)
208277              New in version 2017.7.0.
208278
208279
208280              Sync roster modules from salt://_roster to the master
208281
208282              saltenv
208283                     base  The  fileserver  environment from which to sync. To
208284                     sync from more than one environment, pass  a  comma-sepa‐
208285                     rated list.
208286
208287              extmod_whitelist
208288                     None comma-seperated list of modules to sync
208289
208290              extmod_blacklist
208291                     None  comma-seperated  list of modules to blacklist based
208292                     on type
208293
208294              CLI Example:
208295
208296                 salt-run saltutil.sync_roster
208297
208298       salt.runners.saltutil.sync_runners(saltenv=u'base',
208299       extmod_whitelist=None, extmod_blacklist=None)
208300              Sync runners from salt://_runners to the master
208301
208302              saltenv
208303                     base  The  fileserver  environment from which to sync. To
208304                     sync from more than one environment, pass  a  comma-sepa‐
208305                     rated list.
208306
208307              extmod_whitelist
208308                     None comma-seperated list of modules to sync
208309
208310              extmod_blacklist
208311                     None  comma-seperated  list of modules to blacklist based
208312                     on type
208313
208314              CLI Example:
208315
208316                 salt-run saltutil.sync_runners
208317
208318       salt.runners.saltutil.sync_sdb(saltenv=u'base',  extmod_whitelist=None,
208319       extmod_blacklist=None)
208320              New in version 2017.7.0.
208321
208322
208323              Sync sdb modules from salt://_sdb to the master
208324
208325              saltenv
208326                     base  The  fileserver  environment from which to sync. To
208327                     sync from more than one environment, pass  a  comma-sepa‐
208328                     rated list.
208329
208330              extmod_whitelist
208331                     None comma-seperated list of modules to sync
208332
208333              extmod_blacklist
208334                     None  comma-seperated  list of modules to blacklist based
208335                     on type
208336
208337              CLI Example:
208338
208339                 salt-run saltutil.sync_sdb
208340
208341       salt.runners.saltutil.sync_serializers(saltenv=u'base',
208342       extmod_whitelist=None, extmod_blacklist=None)
208343              New in version Fluorine.
208344
208345
208346              Sync serializer modules from salt://_serializers to the master
208347
208348              saltenv
208349                     base  The  fileserver  environment from which to sync. To
208350                     sync from more than one environment, pass  a  comma-sepa‐
208351                     rated list.
208352
208353              extmod_whitelist
208354                     None comma-seperated list of modules to sync
208355
208356              extmod_blacklist
208357                     None  comma-seperated  list of modules to blacklist based
208358                     on type
208359
208360              CLI Example:
208361
208362                 salt-run saltutil.sync_utils
208363
208364       salt.runners.saltutil.sync_states(saltenv=u'base',
208365       extmod_whitelist=None, extmod_blacklist=None)
208366              Sync state modules from salt://_states to the master
208367
208368              saltenv
208369                     base  The  fileserver  environment from which to sync. To
208370                     sync from more than one environment, pass  a  comma-sepa‐
208371                     rated list.
208372
208373              extmod_whitelist
208374                     None comma-seperated list of modules to sync
208375
208376              extmod_blacklist
208377                     None  comma-seperated  list of modules to blacklist based
208378                     on type
208379
208380              CLI Example:
208381
208382                 salt-run saltutil.sync_states
208383
208384       salt.runners.saltutil.sync_thorium(saltenv=u'base',
208385       extmod_whitelist=None, extmod_blacklist=None)
208386              New in version 2018.3.0.
208387
208388
208389              Sync Thorium from salt://_thorium to the master
208390
208391              saltenv: base
208392                     The  fileserver  environment  from which to sync. To sync
208393                     from more than one environment,  pass  a  comma-separated
208394                     list.
208395
208396              extmod_whitelist
208397                     comma-seperated list of modules to sync
208398
208399              extmod_blacklist
208400                     comma-seperated  list  of  modules  to blacklist based on
208401                     type
208402
208403              CLI Example:
208404
208405                 salt-run saltutil.sync_thorium
208406
208407       salt.runners.saltutil.sync_tops(saltenv=u'base', extmod_whitelist=None,
208408       extmod_blacklist=None)
208409              New in version 2016.3.7,2016.11.4,2017.7.0.
208410
208411
208412              Sync master_tops modules from salt://_tops to the master
208413
208414              saltenv
208415                     base  The  fileserver  environment from which to sync. To
208416                     sync from more than one environment, pass  a  comma-sepa‐
208417                     rated list.
208418
208419              CLI Example:
208420
208421                 salt-run saltutil.sync_tops
208422
208423       salt.runners.saltutil.sync_utils(saltenv=u'base',
208424       extmod_whitelist=None, extmod_blacklist=None)
208425              New in version 2016.11.0.
208426
208427
208428              Sync utils modules from salt://_utils to the master
208429
208430              saltenv
208431                     base The fileserver environment from which  to  sync.  To
208432                     sync  from  more than one environment, pass a comma-sepa‐
208433                     rated list.
208434
208435              extmod_whitelist
208436                     None comma-seperated list of modules to sync
208437
208438              extmod_blacklist
208439                     None comma-seperated list of modules to  blacklist  based
208440                     on type
208441
208442              CLI Example:
208443
208444                 salt-run saltutil.sync_utils
208445
208446       salt.runners.saltutil.sync_wheel(saltenv=u'base',
208447       extmod_whitelist=None, extmod_blacklist=None)
208448              Sync wheel modules from salt://_wheel to the master
208449
208450              saltenv
208451                     base The fileserver environment from which  to  sync.  To
208452                     sync  from  more than one environment, pass a comma-sepa‐
208453                     rated list.
208454
208455              extmod_whitelist
208456                     None comma-seperated list of modules to sync
208457
208458              extmod_blacklist
208459                     None comma-seperated list of modules to  blacklist  based
208460                     on type
208461
208462              CLI Example:
208463
208464                 salt-run saltutil.sync_wheel
208465
208466   salt.runners.sdb
208467       Runner for setting and querying data via the sdb API on the master
208468
208469       salt.runners.sdb.delete(uri)
208470              Delete a value from a db, using a uri in the form of sdb://<pro‐
208471              file>/<key>.  If the uri provided does not start with sdb://  or
208472              the value is not successfully deleted, return False.
208473
208474              CLI Example:
208475
208476                 salt-run sdb.delete sdb://mymemcached/foo
208477
208478       salt.runners.sdb.get(uri)
208479              Get  a  value  from a db, using a uri in the form of sdb://<pro‐
208480              file>/<key>. If the uri provided does  not  start  with  sdb://,
208481              then it will be returned as-is.
208482
208483              CLI Example:
208484
208485                 salt-run sdb.get sdb://mymemcached/foo
208486
208487       salt.runners.sdb.get_or_set_hash(uri,    length=8,   chars=u'abcdefghi‐
208488       jklmnopqrstuvwxyz0123456789!@#$%^&*(-_=+)')
208489              Perform a one-time generation of a hash and write it to sdb.  If
208490              that value has already been set return the value instead.
208491
208492              This  is  useful  for generating passwords or keys that are spe‐
208493              cific to multiple minions that need to be stored somewhere  cen‐
208494              trally.
208495
208496              CLI Example:
208497
208498                 salt-run sdb.get_or_set_hash 'SECRET_KEY' 50
208499
208500              WARNING:
208501                 This  function could return strings which may contain charac‐
208502                 ters which are reserved as directives  by  the  YAML  parser,
208503                 such  as strings beginning with %. To avoid issues when using
208504                 the output  of  this  function  in  an  SLS  file  containing
208505                 YAML+Jinja, surround the call with single quotes.
208506
208507       salt.runners.sdb.set_(uri, value)
208508              Set  a  value  in  a  db, using a uri in the form of sdb://<pro‐
208509              file>/<key>.  If the uri provided does not start with sdb://  or
208510              the value is not successfully set, return False.
208511
208512              CLI Example:
208513
208514                 salt-run sdb.set sdb://mymemcached/foo bar
208515
208516   salt.runners.smartos_vmadm
208517       Runner for SmartOS minions control vmadm
208518
208519       salt.runners.smartos_vmadm.get(search, one=True)
208520              Return information for vms
208521
208522              search string filter vms, see the execution module.
208523
208524              one    boolean return only one vm
208525
208526              NOTE:
208527                 If  the search parameter does not contain an equal (=) symbol
208528                 it will be assumed it will be tried as  uuid,  hostname,  and
208529                 alias.
208530
208531              CLI Example:
208532
208533                 salt-run vmadm.get 91244bba-1146-e4ec-c07e-e825e0223aa9
208534                 salt-run vmadm.get search='alias=saskia'
208535
208536       salt.runners.smartos_vmadm.is_running(search)
208537              Return true if vm is running
208538
208539              search string filter vms, see the execution module.
208540
208541              NOTE:
208542                 If  the search parameter does not contain an equal (=) symbol
208543                 it will be assumed it will be tried as  uuid,  hostname,  and
208544                 alias.
208545
208546              NOTE:
208547                 If  multiple  vms are matched, the result will be true of ALL
208548                 vms are running
208549
208550              CLI Example:
208551
208552                 salt-run vmadm.is_running 91244bba-1146-e4ec-c07e-e825e0223aa9
208553                 salt-run vmadm.is_running search='alias=julia'
208554
208555       salt.runners.smartos_vmadm.list_vms(search=None, verbose=False)
208556              List all vms
208557
208558              search string filter vms, see the execution module
208559
208560              verbose
208561                     boolean print additional information about the vm
208562
208563              CLI Example:
208564
208565                 salt-run vmadm.list
208566                 salt-run vmadm.list search='type=KVM'
208567                 salt-run vmadm.list verbose=True
208568
208569       salt.runners.smartos_vmadm.nodes(verbose=False)
208570              List all compute nodes
208571
208572              verbose
208573                     boolean print additional information about the node  e.g.
208574                     platform version, hvm capable, ...
208575
208576              CLI Example:
208577
208578                 salt-run vmadm.nodes
208579                 salt-run vmadm.nodes verbose=True
208580
208581       salt.runners.smartos_vmadm.reboot(search, one=True, force=False)
208582              Reboot one or more vms
208583
208584              search string filter vms, see the execution module.
208585
208586              one    boolean reboot only one vm
208587
208588              force  boolean force reboot, faster but no graceful shutdown
208589
208590              NOTE:
208591                 If  the search parameter does not contain an equal (=) symbol
208592                 it will be assumed it will be tried as  uuid,  hostname,  and
208593                 alias.
208594
208595              CLI Example:
208596
208597                 salt-run vmadm.reboot 91244bba-1146-e4ec-c07e-e825e0223aa9
208598                 salt-run vmadm.reboot search='alias=marije'
208599                 salt-run vmadm.reboot search='type=KVM' one=False
208600
208601       salt.runners.smartos_vmadm.start(search, one=True)
208602              Start one or more vms
208603
208604              search string filter vms, see the execution module.
208605
208606              one    boolean start only one vm
208607
208608              NOTE:
208609                 If  the search parameter does not contain an equal (=) symbol
208610                 it will be assumed it will be tried as  uuid,  hostname,  and
208611                 alias.
208612
208613              CLI Example:
208614
208615                 salt-run vmadm.start 91244bba-1146-e4ec-c07e-e825e0223aa9
208616                 salt-run vmadm.start search='alias=jiska'
208617                 salt-run vmadm.start search='type=KVM' one=False
208618
208619       salt.runners.smartos_vmadm.stop(search, one=True)
208620              Stop one or more vms
208621
208622              search string filter vms, see the execution module.
208623
208624              one    boolean stop only one vm
208625
208626              NOTE:
208627                 If  the search parameter does not contain an equal (=) symbol
208628                 it will be assumed it will be tried as  uuid,  hostname,  and
208629                 alias.
208630
208631              CLI Example:
208632
208633                 salt-run vmadm.stop 91244bba-1146-e4ec-c07e-e825e0223aa9
208634                 salt-run vmadm.stop search='alias=jody'
208635                 salt-run vmadm.stop search='type=KVM' one=False
208636
208637   salt.runners.spacewalk
208638   Spacewalk Runner
208639       New in version 2016.3.0.
208640
208641
208642       Runner to interact with Spacewalk using Spacewalk API
208643
208644       codeauthor
208645              Nitin    Madhok   <nmadhok@clemson.edu>,   Joachim   Werner   <‐
208646              joe@suse.com>, Benedikt Werner <1benediktwerner@gmail.com>
208647
208648       maintainer
208649              Benedikt Werner <1benediktwerner@gmail.com>
208650
208651       To use this runner, set up the Spacewalk URL, username and password  in
208652       the   master   configuration   at  /etc/salt/master  or  /etc/salt/mas‐
208653       ter.d/spacewalk.conf:
208654
208655          spacewalk:
208656            spacewalk01.domain.com:
208657              username: 'testuser'
208658              password: 'verybadpass'
208659            spacewalk02.domain.com:
208660              username: 'testuser'
208661              password: 'verybadpass'
208662
208663       NOTE:
208664          Optionally, protocol can be specified if the spacewalk server is not
208665          using the defaults. Default is protocol: https.
208666
208667       salt.runners.spacewalk.addGroupsToKey(server, activation_key, groups)
208668              Add server groups to a activation key
208669
208670              CLI Example:
208671
208672                 salt-run spacewalk.addGroupsToKey spacewalk01.domain.com 1-my-key '[group1, group2]'
208673
208674       salt.runners.spacewalk.api(server, command, *args, **kwargs)
208675              Call the Spacewalk xmlrpc api.
208676
208677              CLI Example:
208678
208679                 salt-run spacewalk.api spacewalk01.domain.com systemgroup.create MyGroup Description
208680                 salt-run spacewalk.api spacewalk01.domain.com systemgroup.create arguments='["MyGroup", "Description"]'
208681
208682              State Example:
208683
208684                 create_group:
208685                   salt.runner:
208686                     - name: spacewalk.api
208687                     - server: spacewalk01.domain.com
208688                     - command: systemgroup.create
208689                     - arguments:
208690                       - MyGroup
208691                       - Description
208692
208693       salt.runners.spacewalk.deleteAllActivationKeys(server)
208694              Delete all activation keys from Spacewalk
208695
208696              CLI Example:
208697
208698                 salt-run spacewalk.deleteAllActivationKeys spacewalk01.domain.com
208699
208700       salt.runners.spacewalk.deleteAllGroups(server)
208701              Delete all server groups from Spacewalk
208702
208703       salt.runners.spacewalk.deleteAllSystems(server)
208704              Delete all systems from Spacewalk
208705
208706              CLI Example:
208707
208708                 salt-run spacewalk.deleteAllSystems spacewalk01.domain.com
208709
208710       salt.runners.spacewalk.unregister(name, server_url)
208711              Unregister specified server from Spacewalk
208712
208713              CLI Example:
208714
208715                 salt-run spacewalk.unregister my-test-vm spacewalk01.domain.com
208716
208717   salt.runners.ssh
208718       A Runner module interface on top of the salt-ssh Python API.
208719
208720       This  allows  for  programmatic use from salt-api, the Reactor, Orches‐
208721       trate, etc.
208722
208723       salt.runners.ssh.cmd(tgt, fun, arg=(), timeout=None,  tgt_type=u'glob',
208724       kwarg=None)
208725              New in version 2015.5.0.
208726
208727
208728              Changed  in  version  2017.7.0:  The expr_form argument has been
208729              renamed to tgt_type, earlier releases must use expr_form.
208730
208731
208732              Execute a single command via the salt-ssh subsystem  and  return
208733              all routines at once
208734
208735              A wrapper around the SSHClient.cmd method.
208736
208737   salt.runners.state
208738       Execute orchestration functions
208739
208740       salt.runners.state.event(tagmatch=u'*',      count=-1,     quiet=False,
208741       sock_dir=None, pretty=False, node=u'master')
208742              Watch Salt's event bus and block until the given tag is matched
208743
208744              New in version 2014.7.0.
208745
208746
208747              Changed in version Fluorine: tagmatch can now be either  a  glob
208748              or regular expression.
208749
208750
208751              This is useful for utilizing Salt's event bus from shell scripts
208752              or for taking simple actions directly from the CLI.
208753
208754              Enable debug logging to see ignored events.
208755
208756              Parameters
208757
208758                     · tagmatch -- the event is written to stdout for each tag
208759                       that matches this glob or regular expression.
208760
208761                     · count -- this number is decremented for each event that
208762                       matches the tagmatch parameter; pass -1 to listen  for‐
208763                       ever.
208764
208765                     · quiet -- do not print to stdout; just block
208766
208767                     · sock_dir  --  path  to  the  Salt master's event socket
208768                       file.
208769
208770                     · pretty -- Output the JSON all on a single line if False
208771                       (useful  for shell tools); pretty-print the JSON output
208772                       if True.
208773
208774                     · node -- Watch the minion-side or master-side event bus.
208775
208776              CLI Examples:
208777
208778                 # Reboot a minion and run highstate when it comes back online
208779                 salt 'jerry' system.reboot && \\
208780                     salt-run state.event 'salt/minion/jerry/start' count=1 quiet=True && \\
208781                     salt 'jerry' state.highstate
208782
208783                 # Reboot multiple minions and run highstate when all are back online
208784                 salt -L 'kevin,stewart,dave' system.reboot && \\
208785                     salt-run state.event 'salt/minion/*/start' count=3 quiet=True && \\
208786                     salt -L 'kevin,stewart,dave' state.highstate
208787
208788                 # Watch the event bus forever in a shell while-loop.
208789                 salt-run state.event | while read -r tag data; do
208790                     echo $tag
208791                     echo $data | jq --color-output .
208792                 done
208793
208794              SEE ALSO:
208795                 See
208796                 https://github.com/saltstack/salt/blob/develop/tests/eventlisten.sh
208797                 for an example of usage within a shell script.
208798
208799       salt.runners.state.orchestrate(mods,    saltenv=u'base',     test=None,
208800       exclude=None,  pillar=None, pillarenv=None, pillar_enc=None, orchestra‐
208801       tion_jid=None)
208802              New in version 0.17.0.
208803
208804
208805              Execute a state run from the master, used as a powerful  orches‐
208806              tration system.
208807
208808              SEE ALSO:
208809                 More Orchestrate documentation
208810
208811                 · Full Orchestrate Tutorial
208812
208813                 · Docs for the master-side state module
208814
208815              CLI Examples:
208816
208817                 salt-run state.orchestrate webserver
208818                 salt-run state.orchestrate webserver saltenv=dev test=True
208819                 salt-run state.orchestrate webserver saltenv=dev pillarenv=aws
208820
208821              Changed  in  version  2014.1.1: Runner renamed from state.sls to
208822              state.orchestrate
208823
208824
208825              Changed in version 2014.7.0: Runner uses the pillar variable
208826
208827
208828              Changed in version develop: Runner uses the pillar_enc  variable
208829              that allows renderers to render the pillar.  This is usable when
208830              supplying the contents of a file as pillar, and  the  file  con‐
208831              tains gpg-encrypted entries.
208832
208833
208834              SEE ALSO:
208835                 GPG renderer documentation
208836
208837              CLI Examples:
208838
208839                 salt-run state.orchestrate webserver pillar_enc=gpg pillar="$(cat somefile.json)"
208840
208841       salt.runners.state.orchestrate_high(data,  test=None, queue=False, pil‐
208842       lar=None, **kwargs)
208843              Execute a single state orchestration routine
208844
208845              New in version 2015.5.0.
208846
208847
208848              CLI Example:
208849
208850                 salt-run state.orchestrate_high '{
208851                     stage_one:
208852                         {salt.state: [{tgt: "db*"}, {sls: postgres_setup}]},
208853                     stage_two:
208854                         {salt.state: [{tgt: "web*"}, {sls: apache_setup}, {
208855                             require: [{salt: stage_one}],
208856                         }]},
208857                     }'
208858
208859       salt.runners.state.orchestrate_show_sls(mods,          saltenv=u'base',
208860       test=None, exclude=None, pillar=None, pillarenv=None, pillar_enc=None)
208861              Display  the  state  data  from  a  specific sls, or list of sls
208862              files, after being render using the master minion.
208863
208864              Note, the master minion adds a "_master" suffix to  it's  minion
208865              id.
208866
208867              SEE ALSO:
208868                 The state.show_sls module function
208869
208870              CLI Example:
208871                 salt-run   state.orch_show_sls  my-orch-formula.my-orch-state
208872                 'pillar={ nodegroup: ng1 }'
208873
208874       salt.runners.state.orchestrate_single(fun,       name,       test=None,
208875       queue=False, pillar=None, **kwargs)
208876              Execute a single state orchestration routine
208877
208878              New in version 2015.5.0.
208879
208880
208881              CLI Example:
208882
208883                 salt-run state.orchestrate_single fun=salt.wheel name=key.list_all
208884
208885       salt.runners.state.pause(jid, state_id=None, duration=None)
208886              Set up a state id pause, this instructs a running state to pause
208887              at a given state id. This needs to pass in the jid of  the  run‐
208888              ning state and can optionally pass in a duration in seconds.
208889
208890       salt.runners.state.resume(jid, state_id=None)
208891              Remove a pause from a jid, allowing it to continue
208892
208893       salt.runners.state.rm_pause(jid, state_id=None)
208894              This function is an alias of resume.
208895                 Remove a pause from a jid, allowing it to continue
208896
208897       salt.runners.state.set_pause(jid, state_id=None, duration=None)
208898              This function is an alias of pause.
208899                 Set  up  a  state id pause, this instructs a running state to
208900                 pause at a given state id. This needs to pass in the  jid  of
208901                 the  running  state  and can optionally pass in a duration in
208902                 seconds.
208903
208904       salt.runners.state.soft_kill(jid, state_id=None)
208905              Set up a state run to die before executing the given  state  id,
208906              this  instructs  a running state to safely exit at a given state
208907              id. This needs to pass in the jid of the running  state.   If  a
208908              state_id  is  not  passed then the jid referenced will be safely
208909              exited at the beginning of the next state run.
208910
208911   salt.runners.survey
208912       A general map/reduce style salt runner for aggregating results returned
208913       by several different minions.
208914
208915       New in version 2014.7.0.
208916
208917
208918       Aggregated  results  are  sorted  by the size of the minion pools which
208919       returned matching results.
208920
208921       Useful for playing the game: "some of these things  are  not  like  the
208922       others..."   when  identifying  discrepancies in a large infrastructure
208923       managed by salt.
208924
208925       salt.runners.survey.diff(*args, **kwargs)
208926              Return the DIFFERENCE of the result sets returned by each match‐
208927              ing minion pool
208928
208929              New in version 2014.7.0.
208930
208931
208932              These  pools  are  determined  from  the  aggregated  and sorted
208933              results of a salt command.
208934
208935              This command displays the "diffs" as a series of  2-way  differ‐
208936              ences  -- namely the difference between the FIRST displayed min‐
208937              ion pool (according to sort order) and  EACH  SUBSEQUENT  minion
208938              pool result set.
208939
208940              Differences  are  displayed according to the Python difflib.uni‐
208941              fied_diff()  as  in  the  case  of  the  salt  execution  module
208942              file.get_diff.
208943
208944              This  command  is  submitted via a salt runner using the general
208945              form:
208946
208947                 salt-run survey.diff [survey_sort=up/down] <target>
208948                              <salt-execution-module> <salt-execution-module parameters>
208949
208950              Optionally  accept  a  survey_sort=  parameter.  Default:   sur‐
208951              vey_sort=down
208952
208953              CLI Example #1: (Example to display the "differences of files")
208954
208955                 salt-run survey.diff survey_sort=up "*" cp.get_file_str file:///etc/hosts
208956
208957       salt.runners.survey.hash(*args, **kwargs)
208958              Return  the MATCHING minion pools from the aggregated and sorted
208959              results of a salt command
208960
208961              New in version 2014.7.0.
208962
208963
208964              This command is submitted via a salt runner  using  the  general
208965              form:
208966
208967                 salt-run survey.hash [survey_sort=up/down] <target>
208968                           <salt-execution-module> <salt-execution-module parameters>
208969
208970              Optionally   accept  a  survey_sort=  parameter.  Default:  sur‐
208971              vey_sort=down
208972
208973              CLI Example #1: (functionally equivalent to salt-run manage.up)
208974
208975                 salt-run survey.hash "*" test.ping
208976
208977              CLI Example #2: (find an "outlier" minion config file)
208978
208979                 salt-run survey.hash "*" file.get_hash /etc/salt/minion survey_sort=up
208980
208981   salt.runners.test
208982       This runner is used only for test purposes and  servers  no  production
208983       purpose
208984
208985       salt.runners.test.arg(*args, **kwargs)
208986              Output the given args and kwargs
208987
208988              Kwargs will be filtered for 'private' keynames.
208989
208990       salt.runners.test.get_opts()
208991              New in version 2018.3.0.
208992
208993
208994              Return the configuration options of the master.
208995
208996              CLI Example:
208997
208998                 salt-run test.get_opts
208999
209000       salt.runners.test.metasyntactic(locality=u'us')
209001              Return common metasyntactic variables for the given locality
209002
209003       salt.runners.test.raw_arg(*args, **kwargs)
209004              Output the given args and kwargs
209005
209006       salt.runners.test.sleep(s_time=10)
209007              Sleep t seconds, then return True
209008
209009       salt.runners.test.stdout_print()
209010              Print 'foo' and return 'bar'
209011
209012       salt.runners.test.stream()
209013              Return True
209014
209015   salt.runners.thin
209016       The thin runner is used to manage the salt thin systems.
209017
209018       Salt  Thin  is a transport-less version of Salt that can be used to run
209019       routines in a standalone way. This runner has tools which generate  the
209020       standalone salt system for easy consumption.
209021
209022       salt.runners.thin.generate(extra_mods=u'',             overwrite=False,
209023       so_mods=u'',      python2_bin=u'python2',       python3_bin=u'python3',
209024       absonly=True, compress=u'gzip')
209025              Generate  the  salt-thin  tarball  and print the location of the
209026              tarball Optional additional mods to include (e.g. mako)  can  be
209027              supplied  as a comma delimited string.  Permits forcing an over‐
209028              write of the output file as well.
209029
209030              CLI Example:
209031
209032                 salt-run thin.generate
209033                 salt-run thin.generate mako
209034                 salt-run thin.generate mako,wempy 1
209035                 salt-run thin.generate overwrite=1
209036
209037       salt.runners.thin.generate_min(extra_mods=u'',         overwrite=False,
209038       so_mods=u'', python2_bin=u'python2', python3_bin=u'python3')
209039              Generate  the  salt-thin  tarball  and print the location of the
209040              tarball Optional additional mods to include (e.g. mako)  can  be
209041              supplied  as a comma delimited string.  Permits forcing an over‐
209042              write of the output file as well.
209043
209044              CLI Example:
209045
209046                 salt-run thin.generate_min
209047
209048   salt.runners.vault
209049       maintainer
209050              SaltStack
209051
209052       maturity
209053              new
209054
209055       platform
209056              all
209057
209058       Runner functions supporting the Vault modules.  Configuration  instruc‐
209059       tions are documented in the execution module docs.
209060
209061       salt.runners.vault.generate_token(minion_id,    signature,    imperson‐
209062       ated_by_master=False)
209063              Generate a Vault token for minion minion_id
209064
209065              minion_id
209066                     The id of the minion that requests a token
209067
209068              signature
209069                     Cryptographic signature which validates that the  request
209070                     is  indeed  sent by the minion (or the master, see imper‐
209071                     sonated_by_master).
209072
209073              impersonated_by_master
209074                     If the master needs to create a token on  behalf  of  the
209075                     minion, this is True. This happens when the master gener‐
209076                     ates minion pillars.
209077
209078       salt.runners.vault.show_policies(minion_id)
209079              Show the Vault policies that are applied to tokens for the given
209080              minion
209081
209082              minion_id
209083                     The minions id
209084
209085              CLI Example:
209086
209087                 salt-run vault.show_policies myminion
209088
209089       salt.runners.vault.unseal()
209090              Unseal Vault server
209091
209092              This  function uses the 'keys' from the 'vault' configuration to
209093              unseal vault server
209094
209095              vault:
209096
209097                     keys:
209098
209099                            · n63/TbrQuL3xaIW7ZZpuXj/tIfnK1/MbVxO4vT3wYD2A
209100
209101                            · S9OwCvMRhErEA4NVVELYBs6w/Me6+urgUr24xGK44Uy3
209102
209103                            · F1j4b7JKq850NS6Kboiy5laJ0xY8dWJvB3fcwA+SraYl
209104
209105                            · 1cYtvjKJNDVam9c7HNqJUfINk4PYyAXIpjkpN/sIuzPv
209106
209107                            · 3pPK5X6vGtwLhNOFv1U2elahECz3HpRUfNXJFYLw6lid
209108
209109              CLI Examples:
209110
209111                 salt-run vault.unseal
209112
209113   salt.runners.venafiapi
209114       Support for Venafi
209115
209116       Before using this module you need to register an account  with  Venafi,
209117       and configure it in your master configuration file.
209118
209119       First,  you  need  to  add  a  placeholder  to the master file. This is
209120       because the module will not load unless it finds  an  api_key  setting,
209121       valid or not.  Open up /etc/salt/master and add:
209122
209123          venafi:
209124            api_key: None
209125
209126       Then  register  your email address with Venafi using the following com‐
209127       mand:
209128
209129          salt-run venafi.register <youremail@yourdomain.com>
209130
209131       This command will not return an api_key to you; that will  be  sent  to
209132       you  via  email  from  Venafi. Once you have received that key, open up
209133       your master file and set the api_key to it:
209134
209135          venafi:
209136            api_key: abcdef01-2345-6789-abcd-ef0123456789
209137
209138       salt.runners.venafiapi.del_cached_domain(domains)
209139              Delete cached domains from the master
209140
209141              CLI Example:
209142
209143                 salt-run venafi.del_cached_domain domain1.example.com,domain2.example.com
209144
209145       salt.runners.venafiapi.gen_csr(minion_id,  dns_name,   zone=u'default',
209146       country=None,  state=None,  loc=None,  org=None,  org_unit=None,  pass‐
209147       word=None)
209148              Generate a csr using the host's private_key.  Analogous to:
209149
209150                 VCert gencsr -cn [CN Value] -o "Beta Organization" -ou "Beta Group"             -l "Palo Alto" -st "California" -c US
209151
209152              CLI Example:
209153
209154                 salt-run venafi.gen_csr <minion_id> <dns_name>
209155
209156       salt.runners.venafiapi.gen_key(minion_id,                dns_name=None,
209157       zone=u'default', password=None)
209158              Generate  and return an private_key. If a dns_name is passed in,
209159              the private_key will be cached under that name. The type of  key
209160              and  the  parameters  used  to generate the key are based on the
209161              default certificate use policy  associated  with  the  specified
209162              zone.
209163
209164              CLI Example:
209165
209166                 salt-run venafi.gen_key <minion_id> [dns_name] [zone] [password]
209167
209168       salt.runners.venafiapi.get_zone_id(zone_name)
209169              Get the zone ID for the given zone name
209170
209171              CLI Example:
209172
209173                 salt-run venafi.get_zone_id default
209174
209175       salt.runners.venafiapi.list_domain_cache()
209176              List domains that have been cached
209177
209178              CLI Example:
209179
209180                 salt-run venafi.list_domain_cache
209181
209182       salt.runners.venafiapi.pickup(id_)
209183              Show certificate requests for this API key
209184
209185              CLI Example:
209186
209187                 salt-run venafi.show_cert 01234567-89ab-cdef-0123-456789abcdef
209188
209189       salt.runners.venafiapi.register(email)
209190              Register a new user account
209191
209192              CLI Example:
209193
209194                 salt-run venafi.register email@example.com
209195
209196       salt.runners.venafiapi.renew(minion_id, dns_name=None, zone=u'default',
209197       request_id=None, country=u'US', state=u'California', loc=u'Palo  Alto',
209198       org=u'Beta   Organization',   org_unit=u'Beta   Group',  password=None,
209199       zone_id=None)
209200              Request a new certificate
209201
209202              Uses the following command:
209203
209204                 VCert enroll -z <zone> -k <api key> -cn <domain name>
209205
209206              CLI Example:
209207
209208                 salt-run venafi.request <minion_id> <dns_name>
209209
209210       salt.runners.venafiapi.request(minion_id,                dns_name=None,
209211       zone=u'default',  request_id=None,  country=u'US', state=u'California',
209212       loc=u'Palo Alto',  org=u'Beta  Organization',  org_unit=u'Beta  Group',
209213       password=None, zone_id=None)
209214              Request a new certificate
209215
209216              Uses the following command:
209217
209218                 VCert enroll -z <zone> -k <api key> -cn <domain name>
209219
209220              CLI Example:
209221
209222                 salt-run venafi.request <minion_id> <dns_name>
209223
209224       salt.runners.venafiapi.show_cert(id_)
209225              Show certificate requests for this API key
209226
209227              CLI Example:
209228
209229                 salt-run venafi.show_cert 01234567-89ab-cdef-0123-456789abcdef
209230
209231       salt.runners.venafiapi.show_company(domain)
209232              Show company information, especially the company id
209233
209234              CLI Example:
209235
209236                 salt-run venafi.show_company example.com
209237
209238       salt.runners.venafiapi.show_csrs()
209239              Show certificate requests for this API key
209240
209241              CLI Example:
209242
209243                 salt-run venafi.show_csrs
209244
209245       salt.runners.venafiapi.show_policies()
209246              Show zone details for the API key owner's company
209247
209248              CLI Example:
209249
209250                 salt-run venafi.show_zones
209251
209252       salt.runners.venafiapi.show_rsa(minion_id, dns_name)
209253              Show a private RSA key
209254
209255              CLI Example:
209256
209257                 salt-run venafi.show_rsa myminion domain.example.com
209258
209259       salt.runners.venafiapi.show_zones()
209260              Show zone details for the API key owner's company
209261
209262              CLI Example:
209263
209264                 salt-run venafi.show_zones
209265
209266   salt.runners.virt
209267       Control virtual machines via Salt
209268
209269       salt.runners.virt.force_off(name)
209270              Force power down the named virtual machine
209271
209272       salt.runners.virt.host_info(host=None)
209273              Return information about the host connected to this master
209274
209275       salt.runners.virt.init(name,   cpu,   mem,   image,  hypervisor=u'kvm',
209276       host=None,   seed=True,   nic=u'default',   install=True,   start=True,
209277       disk=u'default',           saltenv=u'base',           enable_vnc=False,
209278       seed_cmd=u'seed.apply', enable_qcow=False)
209279              This routine is used to create a new virtual machine. This  rou‐
209280              tines takes a number of options to determine what the newly cre‐
209281              ated virtual machine will look like.
209282
209283              name   The mandatory name of the new virtual machine.  The  name
209284                     option  is  also  the minion id, all minions must have an
209285                     id.
209286
209287              cpu    The number of  cpus  to  allocate  to  this  new  virtual
209288                     machine.
209289
209290              mem    The amount of memory to allocate to this virtual machine.
209291                     The number is interpreted in megabytes.
209292
209293              image  The network location of the virtual machine  image,  com‐
209294                     monly  a location on the salt fileserver, but http, https
209295                     and ftp can also be used.
209296
209297              hypervisor
209298                     The hypervisor  to  use  for  the  new  virtual  machine.
209299                     Default is kvm.
209300
209301              host   The  host  to use for the new virtual machine, if this is
209302                     omitted Salt will automatically detect what host to use.
209303
209304              seed   Set to False to prevent Salt from seeding the new virtual
209305                     machine.
209306
209307              nic    The  nic  profile  to  use, defaults to the "default" nic
209308                     profile which assumes a single network interface  per  VM
209309                     associated with the "br0" bridge on the master.
209310
209311              install
209312                     Set  to False to prevent Salt from installing a minion on
209313                     the new VM before it spins up.
209314
209315              disk   The disk profile to use
209316
209317              saltenv
209318                     The Salt environment to use
209319
209320              enable_vnc
209321                     Whether a VNC screen is attached to resulting VM. Default
209322                     is False.
209323
209324              seed_cmd
209325                     If  seed  is  True, use this execution module function to
209326                     seed new VM.  Default is seed.apply.
209327
209328              enable_qcow
209329                     Clone disk image as a copy-on-write  qcow2  image,  using
209330                     downloaded image as backing file.
209331
209332       salt.runners.virt.list(host=None, quiet=False, hyper=None)
209333              List  the  virtual  machines  on each host, this is a simplified
209334              query, showing only the virtual machine names belonging to  each
209335              host.   A  single host can be passed in to specify an individual
209336              host to list.
209337
209338       salt.runners.virt.migrate(name, target=u'')
209339              Migrate a VM from one host to another. This  routine  will  just
209340              start  the  migration  and display information on how to look up
209341              the progress.
209342
209343       salt.runners.virt.next_host()
209344              Return the host to  use  for  the  next  autodeployed  VM.  This
209345              queries  the available host and executes some math the determine
209346              the most "available" next host.
209347
209348       salt.runners.virt.pause(name)
209349              Pause the named VM
209350
209351       salt.runners.virt.purge(name, delete_key=True)
209352              Destroy the named VM
209353
209354       salt.runners.virt.query(host=None, quiet=False)
209355              Query the virtual machines.  When  called  without  options  all
209356              hosts  are  detected and a full query is returned. A single host
209357              can be passed in to specify an individual host to query.
209358
209359       salt.runners.virt.reset(name)
209360              Force power down and restart an existing VM
209361
209362       salt.runners.virt.resume(name)
209363              Resume a paused VM
209364
209365       salt.runners.virt.start(name)
209366              Start a named virtual machine
209367
209368       salt.runners.virt.vm_info(name, quiet=False)
209369              Return the information on the named VM
209370
209371   salt.runners.vistara
209372       Vistara Runner
209373
209374       Runner to interact with the  Vistara  (http://www.vistarait.com/)  REST
209375       API
209376
209377       codeauthor
209378              Brad Thurber <brad.thurber@gmail.com>
209379
209380       To use this runner, the Vistara client_id and Vistara oauth2 client_key
209381       and client_secret must be set in the master config.
209382
209383       For example /etc/salt/master.d/_vistara.conf:
209384
209385          vistara:
209386            client_id: client_012345
209387            client_key: N0tReallyaR3alKeyButShouldB12345
209388            client_secret: ThisI5AreallyLongsecretKeyIwonderwhyTheyMakethemSoBigTheseDays00
209389
209390       salt.runners.vistara.delete_device(name, safety_on=True)
209391              Deletes a device from Vistara based on DNS name or partial name.
209392              By default, delete_device will only perform the delete if a sin‐
209393              gle host is returned. Set safety_on=False to delete all  matches
209394              (up to default API search page size)
209395
209396              CLI Example:
209397
209398                 salt-run vistara.delete_device 'hostname-101.mycompany.com'
209399                 salt-run vistara.delete_device 'hostname-101'
209400                 salt-run vistara.delete_device 'hostname-1' safety_on=False
209401
209402   salt.runners.winrepo
209403       Runner to manage Windows software repo
209404
209405       salt.runners.winrepo.genrepo(opts=None, fire_event=True)
209406              Generate winrepo_cachefile based on sls files in the winrepo_dir
209407
209408              opts   Specify an alternate opts dict. Should not be used unless
209409                     this function is imported into an execution module.
209410
209411              fire_event
209412                     True Fire an event on failure. Only supported on the mas‐
209413                     ter.
209414
209415              CLI Example:
209416
209417                 salt-run winrepo.genrepo
209418
209419       salt.runners.winrepo.update_git_repos(opts=None,  clean=False,  master‐
209420       less=False)
209421              Checkout git repos containing Windows Software  Package  Defini‐
209422              tions
209423
209424              opts   Specify an alternate opts dict. Should not be used unless
209425                     this function is imported into an execution module.
209426
209427              clean  False Clean repo cachedirs which are not configured under
209428                     winrepo_remotes.
209429
209430                     WARNING:
209431                        This  argument  should  not be set to True if a mix of
209432                        git and non-git repo definitions are being used, as it
209433                        will  result  in  the  non-git  repo definitions being
209434                        removed.
209435
209436                     New in version 2015.8.0.
209437
209438
209439              CLI Examples:
209440
209441                 salt-run winrepo.update_git_repos
209442                 salt-run winrepo.update_git_repos clean=True
209443
209444   sdb modules
209445                      ──────────────────────────────────────────
209446                       cache        cache Module
209447                      ──────────────────────────────────────────
209448                       confidant    An SDB module for  getting
209449                                    credentials   from  confi‐
209450                                    dant.
209451                      ──────────────────────────────────────────
209452                       consul       Consul sdb Module
209453                      ──────────────────────────────────────────
209454                       couchdb      CouchDB sdb Module
209455                      ──────────────────────────────────────────
209456                       env          Environment sdb Module
209457                      ──────────────────────────────────────────
209458                       etcd_db      etcd Database Module
209459                      ──────────────────────────────────────────
209460                       keyring_db   Keyring Database Module
209461                      ──────────────────────────────────────────
209462                       memcached    Memcached sdb Module
209463                      ──────────────────────────────────────────
209464                       redis_sdb    Redis SDB module
209465                      ──────────────────────────────────────────
209466                       rest         Generic REST API SDB  Mod‐
209467                                    ule
209468                      ──────────────────────────────────────────
209469                       sqlite3      SQLite sdb Module
209470                      ──────────────────────────────────────────
209471                       tism         tISM   -   the   Immutable
209472                                    Secrets Manager SDB Module
209473                      ──────────────────────────────────────────
209474                       vault        Vault SDB Module
209475                      ──────────────────────────────────────────
209476                       yaml         Pull  sdb  values  from  a
209477                                    YAML file
209478                      ┌───────────┬────────────────────────────┐
209479                      │           │                            │
209480   salt.sdb.cache modu│le          │                            │
209481       cache Module   │           │                            │
209482                      │           │                            │
209483       maintainer     │           │                            │
209484              SaltStac│k           │                            │
209485                      │           │                            │
209486       maturity       │           │                            │
209487              New     │           │                            │
209488                      │           │                            │
209489       platform       │           │                            │
209490              all     │           │                            │
209491                      │           │                            │
209492       New in version │2017.7.0.   │                            │
209493                      │           │                            │
209494                      │           │                            │
209495       This module pro│vides access│to Salt's cache subsystem.  │
209496                      │           │                            │
209497       Like all sdb mo│dules, the c│ache module requires a config│uration profile
209498       to be configure│d in either │the minion  or  master  confi│guration  file.
209499       This profile re│quires very │little. In the example:      │
209500                      │           │                            │
209501          mastercloudc│ache:       │                            │
209502            driver: ca│che         │                            │
209503            bank: clou│d/active/ec2│/my-ec2-conf/saltmaster      │
209504            cachedir: │/var/cache/s│alt                          │
209505                      │           │                            │
209506       The  driver  re│fers  to the│cache module, bank refers to│the cache bank
209507       that contains t│he data and │cachedir (optional), if used,│points  to  an
209508       alternate direc│tory for cac│he data storage.             │
209509                      │           │                            │
209510          master_ip: s│db://masterc│loudcache/public_ips         │
209511                      │           │                            │
209512       It  is  also  p│ossible  to │override both the bank and c│achedir options
209513       inside the SDB │URI:        │                            │
209514                      │           │                            │
209515          master_ip: s│db://masterc│loudcache/public_ips?cachedir│=/var/cache/salt
209516                      │           │                            │
209517       For this reason│, both the b│ank and the cachedir options │can be  omitted
209518       from  the  SDB │profile. How│ever, if the bank option is o│mitted, it must
209519       be specified in│the URI:   │                            │
209520                      │           │                            │
209521          master_ip: s│db://masterc│loudcache/public_ips?bank=clo│ud/active/ec2/my-ec2-conf/saltmaster
209522                      │           │                            │
209523       salt.sdb.cache.│delete(key, │service=None, profile=None)  
209524              Get a va│lue from the│cache service               │
209525                      │           │                            │
209526       salt.sdb.cache.│get(key, ser│vice=None, profile=None)     
209527              Get a va│lue from the│cache service               │
209528                      │           │                            │
209529       salt.sdb.cache.│set_(key, va│lue, service=None, profile=No│ne)
209530              Set a ke│y/value pair│in the cache service        │
209531                      │           │                            │
209532   salt.sdb.confidant │           │                            │
209533       An SDB module f│or getting c│redentials from confidant.   │
209534                      │           │                            │
209535   Configuring the Con│fidant modul│e                            
209536       The module can │be configure│d via sdb in the minion confi│g:
209537                      │           │                            │
209538          confidant:  │           │                            │
209539            driver: co│nfidant     │                            │
209540            # The URL │of the confi│dant web service             │
209541            url: 'http│s://confidan│t-production.example.com'    │
209542            # The cont│ext to use f│or KMS authentication        │
209543            auth_conte│xt:         │                            │
209544              from: ex│ample-produc│tion-iad                     │
209545              to: conf│idant-produc│tion-iad                     │
209546              user_typ│e: service  │                            │
209547            # The KMS │master key t│o use for authentication     │
209548            auth_key: │"alias/authn│z"                           │
209549            # Cache fi│le for KMS a│uth token                    │
209550            token_cach│e_file: /run│/confidant/confidant_token   │
209551            # The dura│tion of the │validity of a token, in minut│es
209552            token_dura│tion: 60    │                            │
209553            # key, key│id and regio│n can be defined in the profi│le, but it's generally
209554            # best to │use IAM role│s or environment variables fo│r AWS auth.
209555            keyid: 98n│h9h9h908h09k│jjk                          │
209556            key: jhf90│8gyeghehe0he│0g8h9u0j0n0n09hj09h0         │
209557            region: us│-east-1     │                            │
209558                      │           │                            │
209559       depends        │           │                            │
209560              confidan│t-common, co│nfidant-client               │
209561                      │           │                            │
209562   Module Documentatio│n           │                            │
209563       salt.sdb.confid│ant.get(key,profile=None)               
209564              Read pil│lar data fro│m Confidant via its API.     │
209565                      │           │                            │
209566              CLI Exam│ple:        │                            │
209567                 salt │myminion sdb│.get 'sdb://confidant/credent│ials'
209568                      │           │                            │
209569              Valid ke│ys are: cred│entials, credentials_metadata│, result.  cre‐
209570              dentials│ returns  a│ dict  of  joined credential│_pairs, creden‐
209571              tials_me│tadata retur│ns a dict of metadata relevan│t to  the  cre‐
209572              dentials│ mapped  to│the confidant service, and r│esult returns a
209573              bool tha│t can be use│d to determine if the sdb cal│l succeeded  or
209574              failed  │to  fetch  c│redentials  from  confidant  │(or  from local
209575              cache). │If result is│false, the data in credentia│ls  or  creden‐
209576              tials_me│tadata can't│be trusted.                 │
209577                      │           │                            │
209578   salt.sdb.consul mod│ule         │                            │
209579       Consul sdb Modu│le          │                            │
209580                      │           │                            │
209581       maintainer     │           │                            │
209582              SaltStac│k           │                            │
209583                      │           │                            │
209584       maturity       │           │                            │
209585              New     │           │                            │
209586                      │           │                            │
209587       platform       │           │                            │
209588              all     │           │                            │
209589                      │           │                            │
209590       This module all│ows access t│o Consul using an sdb:// URI │
209591                      │           │                            │
209592       Like  all  sdb │modules, the│Consul module requires a con│figuration pro‐
209593       file to be conf│igured in ei│ther  the  minion  or  master│ configuration
209594       file. This prof│ile requires│very little. For example:   │
209595                      │           │                            │
209596          myconsul:   │           │                            │
209597            driver: co│nsul        │                            │
209598            host: 127.│0.0.1       │                            │
209599            port: 8500│           │                            │
209600            token: b63│76760-a8bb-e│dd5-fcda-33bc13bfc556        │
209601            scheme: ht│tp          │                            │
209602            consistenc│y: default  │                            │
209603            dc: dev   │           │                            │
209604            verify: Tr│ue          │                            │
209605                      │           │                            │
209606       The driver refe│rs to the Co│nsul module, all other option│s are optional.
209607       For            │    option │               details      │          see:
209608       https://python-│consul.readt│hedocs.io/en/latest/#consul
209609                      │           │                            │
209610       salt.sdb.consul│.get(key, pr│ofile=None)                  
209611                      │           │                            │
209612       salt.sdb.consul│.get_conn(pr│ofile)                       
209613              Return a│client obje│ct for accessing consul      │
209614                      │           │                            │
209615       salt.sdb.consul│.set_(key, v│alue, profile=None)          
209616                      │           │                            │
209617   salt.sdb.couchdb   │           │                            │
209618       CouchDB sdb Mod│ule         │                            │
209619                      │           │                            │
209620       maintainer     │           │                            │
209621              SaltStac│k           │                            │
209622                      │           │                            │
209623       maturity       │           │                            │
209624              New     │           │                            │
209625                      │           │                            │
209626       depends        │           │                            │
209627              python2-│couchdb     │                            │
209628                      │           │                            │
209629       platform       │           │                            │
209630              all     │           │                            │
209631                      │           │                            │
209632       This  allow int│eraction bet│ween Salt and a CouchDB [couc│hdb.apache.org]
209633       database. It us│es salt's sd│b system to allow for inserts│and  retrevals
209634       using the sdb:/│/ prefix in │salt configuration files.    │
209635                      │           │                            │
209636       To  use  the  c│ouchbase  sd│b module, it must first be co│nfigured in the
209637       salt master or │minion confi│g. The following arguments ar│e required:
209638                      │           │                            │
209639          couchdb_sdb:│           │                            │
209640            driver: co│uchdb       │                            │
209641            host: loca│lhost       │                            │
209642            port: 5984│           │                            │
209643            database: │salt_sdb    │                            │
209644                      │           │                            │
209645       One could then │query the Co│uchDB instance via an sdb:// │URI such as the
209646       following:     │           │                            │
209647                      │           │                            │
209648          password: sd│b://couchdb_│sdb/mykey                    │
209649                      │           │                            │
209650       To  use  this i│nterface, yo│u must track IDs on your own │or have another
209651       source to do th│e map-reduce│logic necessary to  calculat│e  the  ID  you
209652       wish to fetch. │           │                            │
209653                      │           │                            │
209654       Additional  con│tributions  │to  build true map-reduce fun│ctionality into
209655       this module wou│ld be welcom│e.                           │
209656                      │           │                            │
209657       salt.sdb.couchd│b.get(key, p│rofile=None)                 
209658              Get a va│lue from cou│chdb by id                   │
209659                      │           │                            │
209660       salt.sdb.couchd│b.set_(key, │value, profile=None)         
209661              Set a ke│y/value pair│in couchdb                  │
209662                      │           │                            │
209663   salt.sdb.env module│           │                            │
209664       Environment sdb│Module     │                            │
209665                      │           │                            │
209666       maintainer     │           │                            │
209667              SaltStac│k           │                            │
209668                      │           │                            │
209669       maturity       │           │                            │
209670              New     │           │                            │
209671                      │           │                            │
209672       depends        │           │                            │
209673              None    │           │                            │
209674                      │           │                            │
209675       platform       │           │                            │
209676              all     │           │                            │
209677                      │           │                            │
209678       This module all│ows access t│o environment variables using│an sdb:// URI.
209679                      │           │                            │
209680       Example configu│ration for t│his module:                  │
209681                      │           │                            │
209682          osenv:      │           │                            │
209683            driver: en│v           │                            │
209684                      │           │                            │
209685   WARNING:           │           │                            │
209686       OS environment │variables wi│ll be available to  read  via│ SDB.   Please
209687       make  sure  you│don't have │any sensitive data in your en│vironment vari‐
209688       ables!!        │           │                            │
209689                      │           │                            │
209690       Example usage o│f sdb env mo│dule:                        │
209691                      │           │                            │
209692          set some env│var:       │                            │
209693            cmd.run:  │           │                            │
209694              - name: │echo {{ salt│['sdb.set']('sdb://osenv/foo'│, 'bar') }}
209695              - order:│1          │                            │
209696                      │           │                            │
209697          {% if salt['│sdb.get']('s│db://osenv/foo') == 'bar' %} │
209698          always-chang│es-and-succe│eds:                         │
209699            test.succe│ed_with_chan│ges:                         │
209700              - name: │foo         │                            │
209701          {% else %}  │           │                            │
209702          always-chang│es-and-fails│:                            │
209703            test.fail_│with_changes│:                            │
209704              - name: │foo         │                            │
209705          {% endif  %}│           │                            │
209706                      │           │                            │
209707       The above examp│le will retu│rn success.                  │
209708                      │           │                            │
209709       The env sdb mod│ule can also│be used with salt cloud.  As│suming you have
209710       exported  the  │environment │variable  named  compute  (a│nd  have  osenv
209711       defined).  The │example belo│w will look for the salt  clo│ud  config  key
209712       compute_name in│the environ│ment:                        │
209713                      │           │                            │
209714          my-openstack│-config:    │                            │
209715            compute_na│me: sdb://os│env/compute                  │
209716            ..snip    │           │                            │
209717                      │           │                            │
209718       salt.sdb.env.ge│t(key, profi│le=None)                     
209719              Get a va│lue         │                            │
209720                      │           │                            │
209721       salt.sdb.env.se│t_(key, valu│e, profile=None)             
209722              Set a ke│y/value pair│                            │
209723                      │           │                            │
209724   salt.sdb.etcd_db   │           │                            │
209725       etcd Database M│odule       │                            │
209726                      │           │                            │
209727       maintainer     │           │                            │
209728              SaltStac│k           │                            │
209729                      │           │                            │
209730       maturity       │           │                            │
209731              New     │           │                            │
209732                      │           │                            │
209733       depends        │           │                            │
209734              python-e│tcd         │                            │
209735                      │           │                            │
209736       platform       │           │                            │
209737              all     │           │                            │
209738                      │           │                            │
209739       New in version │2015.5.0.   │                            │
209740                      │           │                            │
209741                      │           │                            │
209742       This  module  a│llows  acces│s  to the etcd database using│an sdb:// URI.
209743       This package is│located at │https://pypi.python.org/pypi/│python-etcd.
209744                      │           │                            │
209745       Like all sdb mo│dules, the e│tcd module requires a configu│ration  profile
209746       to  be  configu│red  in  eit│her the minion or master conf│iguration file.
209747       This profile re│quires very │little. In the example:      │
209748                      │           │                            │
209749          myetcd:     │           │                            │
209750            driver: et│cd          │                            │
209751            etcd.host:│127.0.0.1  │                            │
209752            etcd.port:│2379       │                            │
209753                      │           │                            │
209754       The driver refe│rs to the et│cd module, etcd.host refers t│o the host that
209755       is  hosting  th│e etcd datab│ase and etcd.port refers to t│he port on that
209756       host.          │           │                            │
209757                      │           │                            │
209758          password: sd│b://myetcd/m│ypassword                    │
209759                      │           │                            │
209760       salt.sdb.etcd_d│b.delete(key│, service=None, profile=None)
209761              Get a va│lue from the│etcd service                │
209762                      │           │                            │
209763       salt.sdb.etcd_d│b.get(key, s│ervice=None, profile=None)   
209764              Get a va│lue from the│etcd service                │
209765                      │           │                            │
209766       salt.sdb.etcd_d│b.set_(key, │value, service=None, profile=│None)
209767              Set a ke│y/value pair│in the etcd service         │
209768                      │           │                            │
209769   salt.sdb.keyring_db│           │                            │
209770       Keyring Databas│e Module    │                            │
209771                      │           │                            │
209772       maintainer     │           │                            │
209773              SaltStac│k           │                            │
209774                      │           │                            │
209775       maturity       │           │                            │
209776              New     │           │                            │
209777                      │           │                            │
209778       depends        │           │                            │
209779              keyring │           │                            │
209780                      │           │                            │
209781       platform       │           │                            │
209782              all     │           │                            │
209783                      │           │                            │
209784       This module all│ows access t│o the keyring package using a│n  sdb://  URI.
209785       This package is│located at │https://pypi.python.org/pypi/│keyring.
209786                      │           │                            │
209787       Care must be ta│ken when usi│ng keyring. Not all keyend ba│ckends are sup‐
209788       ported on all o│perating sys│tems. Also, many backends req│uire  an  agent
209789       to  be  running│ in  order │to work. For instance, the "│Secret Service"
209790       backend require│s a compatib│le agent  such  as  gnome-key│ring-daemon  or
209791       kwallet  to  be│running. Th│e keyczar backend does not se│em to enjoy the
209792       benefits of an │agent, and s│o using it  will  require  ei│ther  that  the
209793       password  is ty│ped in manua│lly (which is unreasonable fo│r the salt-min‐
209794       ion and salt-ma│ster daemons│, especially in production) o│r an  agent  is
209795       written for it.│           │                            │
209796                      │           │                            │
209797       Like  all sdb m│odules, the │keyring module requires a con│figuration pro‐
209798       file to be conf│igured in ei│ther  the  minion  or  master│ configuration
209799       file. This prof│ile requires│very little. In the example:│
209800                      │           │                            │
209801          mykeyring:  │           │                            │
209802            driver: ke│yring       │                            │
209803            service: s│ystem       │                            │
209804                      │           │                            │
209805       The  driver ref│ers to the k│eyring module, service refers│to the service
209806       that will be us│ed inside of│keyring (which may be likene│d unto a  data‐
209807       base  table)  a│nd  mykeyrin│g refers to the name that wil│l appear in the
209808       URI:           │           │                            │
209809                      │           │                            │
209810          password: sd│b://mykeyrin│g/mypassword                 │
209811                      │           │                            │
209812       The underlying │backend conf│iguration must  be  configure│d  via  keyring
209813       itself. For exa│mples and do│cumentation, see keyring:    │
209814                      │           │                            │
209815       https://pypi.py│thon.org/pyp│i/keyring
209816                      │           │                            │
209817       New in version │2014.1.4.   │                            │
209818                      │           │                            │
209819                      │           │                            │
209820       salt.sdb.keyrin│g_db.get(key│, service=None, profile=None)
209821              Get a va│lue from a k│eyring service               │
209822                      │           │                            │
209823       salt.sdb.keyrin│g_db.set_(ke│y, value, service=None, profi│le=None)
209824              Set a ke│y/value pair│in a keyring service        │
209825                      │           │                            │
209826   salt.sdb.memcached │           │                            │
209827       Memcached sdb M│odule       │                            │
209828                      │           │                            │
209829       maintainer     │           │                            │
209830              SaltStac│k           │                            │
209831                      │           │                            │
209832       maturity       │           │                            │
209833              New     │           │                            │
209834                      │           │                            │
209835       depends        │           │                            │
209836              python-m│emcached    │                            │
209837                      │           │                            │
209838       platform       │           │                            │
209839              all     │           │                            │
209840                      │           │                            │
209841       This  module al│lows access │to memcached using an sdb:// │URI. This pack‐
209842       age is located │at https://p│ypi.python.org/pypi/python-me│mcached.
209843                      │           │                            │
209844       Like all sdb mo│dules, the m│emcached  module  requires  a│ configuration
209845       profile  to  be│configured │in either the minion or maste│r configuration
209846       file. This prof│ile requires│very little. In the example:│
209847                      │           │                            │
209848          mymemcache: │           │                            │
209849            driver: me│mcached     │                            │
209850            host: loca│lhost       │                            │
209851            port: 1121│1           │                            │
209852                      │           │                            │
209853       The driver refers to the memcached module, host and port the  memcached
209854       server  to connect to (defaults to localhost and 11211, and mymemcached
209855       refers to the name that will appear in the URI:
209856
209857          password: sdb://mymemcached/mykey
209858
209859       salt.sdb.memcached.get(key, profile=None)
209860              Get a value from memcached
209861
209862       salt.sdb.memcached.set_(key, value, profile=None)
209863              Set a key/value pair in memcached
209864
209865   salt.sdb.redis_sdb module
209866   Redis SDB module
209867          New in version Fluorine.
209868
209869
209870       This module allows access to Redis  using an sdb:// URI.
209871
209872       Like all SDB modules, the Redis module requires a configuration profile
209873       to  be  configured  in  either the minion or master configuration file.
209874       This profile requires very little. For example:
209875
209876          sdb_redis:
209877            driver: redis
209878            host: 127.0.0.1
209879            port: 6379
209880            password: pass
209881            db: 1
209882
209883       The driver refers to the Redis module, all other options are  optional.
209884       For option details see: https://redis-py.readthedocs.io/en/latest/.
209885
209886       salt.sdb.redis_sdb.delete(key, profile=None)
209887              Delete a key from the Redis SDB.
209888
209889       salt.sdb.redis_sdb.get(key, profile=None)
209890              Get a value from the Redis SDB.
209891
209892       salt.sdb.redis_sdb.set_(key, value, profile=None)
209893              Set a value into the Redis SDB.
209894
209895   salt.sdb.rest module
209896       Generic REST API SDB Module
209897
209898       maintainer
209899              SaltStack
209900
209901       maturity
209902              New
209903
209904       platform
209905              all
209906
209907       New in version 2015.8.0.
209908
209909
209910       This module allows access to a REST interface using an sdb:// URI.
209911
209912       Like all REST modules, the REST module requires a configuration profile
209913       to be configured in either the minion  or  master  configuration  file.
209914       This profile requires very little. In the example:
209915
209916          my-rest-api:
209917            driver: rest
209918            urls:
209919              url: https://api.github.com/
209920            keys:
209921              url: https://api.github.com/users/{{user}}/keys
209922              backend: requests
209923
209924       The  driver refers to the REST module, and must be set to rest in order
209925       to use this driver. Each of the other items inside this block refers to
209926       a  separate  set of HTTP items, including a URL and any options associ‐
209927       ated with it.  The options used here should match the options available
209928       in salt.utils.http.query().
209929
209930       In  order to call the urls item in the example, the following reference
209931       can be made inside a configuration file:
209932
209933          github_urls: sdb://my-rest-api/urls
209934
209935       Key/Value pairs may also be used with this driver, and merged into  the
209936       URL using the configured renderer (jinja, by default). For instance, in
209937       order to use the keys item in the example, the following reference  can
209938       be made:
209939
209940          github_urls: sdb://my-rest-api/keys?user=myuser
209941
209942       This will cause the following URL to actually be called:
209943
209944          https://api.github.com/users/myuser/keys
209945
209946       Key/Value  pairs  will  NOT  be passed through as GET data. If GET data
209947       needs to be sent to the URL, then it should be configured  in  the  SDB
209948       configuration block.  For instance:
209949
209950          another-rest-api:
209951            driver: rest
209952            user_data:
209953              url: https://api.example.com/users/
209954              params:
209955                user: myuser
209956
209957       salt.sdb.rest.get(key, service=None, profile=None)
209958              Get a value from the REST interface
209959
209960       salt.sdb.rest.query(key, value=None, service=None, profile=None)
209961              Get a value from the REST interface
209962
209963       salt.sdb.rest.set_(key, value, service=None, profile=None)
209964              Set a key/value pair in the REST interface
209965
209966   salt.sdb.sqlite3
209967       SQLite sdb Module
209968
209969       maintainer
209970              SaltStack
209971
209972       maturity
209973              New
209974
209975       platform
209976              all
209977
209978       This module allows access to sqlite3 using an sdb:// URI
209979
209980       Like  all sdb modules, the sqlite3 module requires a configuration pro‐
209981       file to be configured in either  the  minion  or  master  configuration
209982       file. This profile requires very little. For example:
209983
209984          mysqlite:
209985            driver: sqlite3
209986            database: /tmp/sdb.sqlite
209987            table: sdb
209988            create_table: True
209989
209990       The driver refers to the sqlite3 module, database refers to the sqlite3
209991       database file. table is the table within the db that will hold keys and
209992       values  (defaults  to  sdb).  The database and table will be created if
209993       they do not exist.
209994
209995   Advanced Usage:
209996       Instead of a table name, it is possible to provide  custom  SQL  state‐
209997       ments to create the table(s) and get and set values.
209998
209999       salt.sdb.sqlite3.get(key, profile=None)
210000              Get a value from sqlite3
210001
210002       salt.sdb.sqlite3.set_(key, value, profile=None)
210003              Set a key/value pair in sqlite3
210004
210005   salt.sdb.tism module
210006       tISM - the Immutable Secrets Manager SDB Module
210007
210008       maintainer
210009              tISM
210010
210011       maturity
210012              New
210013
210014       platform
210015              all
210016
210017       New in version 2017.7.0.
210018
210019
210020       This module will decrypt PGP encrypted secrets against a tISM server.
210021
210022          sdb://<profile>/<encrypted secret>
210023
210024          sdb://tism/hQEMAzJ+GfdAB3KqAQf9E3cyvrPEWR1sf1tMvH0nrJ0bZa9kDFLPxvtwAOqlRiNp0F7IpiiVRF+h+sW5Mb4ffB1TElMzQ+/G5ptd6CjmgBfBsuGeajWmvLEi4lC6/9v1rYGjjLeOCCcN4Dl5AHlxUUaSrxB8akTDvSAnPvGhtRTZqDlltl5UEHsyYXM8RaeCrBw5Or1yvC9Ctx2saVp3xmALQvyhzkUv5pTb1mH0I9Z7E0ian07ZUOD+pVacDAf1oQcPpqkeNVTQQ15EP0fDuvnW+a0vxeLhkbFLfnwqhqEsvFxVFLHVLcs2ffE5cceeOMtVo7DS9fCtkdZr5hR7a+86n4hdKfwDMFXiBwSIPMkmY980N/H30L/r50+CBkuI/u4M2pXDcMYsvvt4ajCbJn91qaQ7BDI=
210025
210026       A  profile  must be setup in the minion configuration or pillar. If you
210027       want to use sdb in a runner or pillar you must also place a profile  in
210028       the master configuration.
210029
210030          tism:
210031            driver: tism
210032            url: https://my.tismd:8080/decrypt
210033            token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhZG1pbiI6MSwiZXhwIjoxNTg1MTExNDYwLCJqdGkiOiI3NnA5cWNiMWdtdmw4Iiwia2V5cyI6WyJBTEwiXX0.RtAhG6Uorf5xnSf4Ya_GwJnoHkCsql4r1_hiOeDSLzo
210034
210035       salt.sdb.tism.get(key, service=None, profile=None)
210036              Get a decrypted secret from the tISMd API
210037
210038   salt.sdb.vault module
210039       Vault SDB Module
210040
210041       maintainer
210042              SaltStack
210043
210044       maturity
210045              New
210046
210047       platform
210048              all
210049
210050       New in version 2016.11.0.
210051
210052
210053       This module allows access to Hashicorp Vault using an sdb:// URI.
210054
210055       Base  configuration instructions are documented in the execution module
210056       docs.  Below are noted extra configuration required for the sdb module,
210057       but the base configuration must also be completed.
210058
210059       Like all sdb modules, the vault module requires a configuration profile
210060       to be configured in either the minion configuration file or  a  pillar.
210061       This profile requires only setting the driver parameter to vault:
210062
210063          myvault:
210064            driver: vault
210065
210066       Once configured you can access data using a URL such as:
210067
210068          password: sdb://myvault/secret/passwords/mypassword
210069
210070       In  this URL, myvault refers to the configuration profile, secret/pass‐
210071       words is the path where the data resides, and mypassword is the key  of
210072       the data to return.
210073
210074       The above URI is analogous to running the following vault command:
210075
210076          $ vault read -field=mypassword secret/passwords
210077
210078       salt.sdb.vault.get(key, profile=None)
210079              Get a value from the vault service
210080
210081       salt.sdb.vault.set_(key, value, profile=None)
210082              Set a key/value pair in the vault service
210083
210084   salt.sdb.yaml module
210085       Pull sdb values from a YAML file
210086
210087       maintainer
210088              SaltStack
210089
210090       maturity
210091              New
210092
210093       platform
210094              all
210095
210096       New in version 2017.7.0.
210097
210098
210099       Configuration:
210100
210101          my-yaml-file:
210102            driver: yaml
210103            files:
210104              - /path/to/foo.yaml
210105              - /path/to/bar.yaml
210106
210107       The files are merged together and the result is searched using the same
210108       mechanism Salt uses for searching Grains and Pillar data structures.
210109
210110       Optional configuration:
210111
210112          my-yaml-file:
210113            driver: yaml
210114            files:
210115              - /path/to/foo.yaml
210116              - /path/to/bar.yaml
210117            merge:
210118              strategy: smart
210119              merge_list: false
210120            gpg: true
210121
210122       Setting the gpg option to true (default is false) will decrypt embedded
210123       GPG-encrypted data using the GPG renderer.
210124
210125       salt.sdb.yaml.get(key, profile=None)
210126              Get a value from the dictionary
210127
210128       salt.sdb.yaml.set_(*args, **kwargs)
210129              Setting a value is not supported; edit the YAML files directly
210130
210131   serializer modules
210132                      ┌─────────────┬──────────────────────────┐
210133configparser │ salt.serializers.config‐ │
210134                      │             │ parser                   │
210135                      ├─────────────┼──────────────────────────┤
210136json         │ salt.serializers.json    │
210137                      ├─────────────┼──────────────────────────┤
210138msgpack      │ salt.serializers.msgpack │
210139                      ├─────────────┼──────────────────────────┤
210140python       │ salt.serializers.python  │
210141                      ├─────────────┼──────────────────────────┤
210142yaml         │ salt.serializers.yaml    │
210143                      ├─────────────┼──────────────────────────┤
210144yamlex       │ salt.serializers.yamlex  │
210145                      └─────────────┴──────────────────────────┘
210146
210147   salt.serializers.configparser module
210148   salt.serializers.configparser
210149       New in version 2016.3.0.
210150
210151
210152       Implements a configparser serializer.
210153
210154       salt.serializers.configparser.deserialize(stream_or_string, **options)
210155              Deserialize any string or stream like object into a Python  data
210156              structure.
210157
210158              Parameters
210159
210160                     · stream_or_string -- stream or string to deserialize.
210161
210162                     · options -- options given to lower configparser module.
210163
210164       salt.serializers.configparser.serialize(obj, **options)
210165              Serialize  Python  data  to  a  configparser formatted string or
210166              file.
210167
210168              Parameters
210169
210170                     · obj -- the data structure to serialize
210171
210172                     · options -- options given to lower configparser module.
210173
210174   salt.serializers.json
210175   salt.serializers.json
210176       Implements JSON serializer.
210177
210178       It's just a wrapper around json (or simplejson if available).
210179
210180       salt.serializers.json.deserialize(stream_or_string, **options)
210181              Deserialize any string or stream like object into a Python  data
210182              structure.
210183
210184              Parameters
210185
210186                     · stream_or_string -- stream or string to deserialize.
210187
210188                     · options  -- options given to lower json/simplejson mod‐
210189                       ule.
210190
210191       salt.serializers.json.serialize(obj, **options)
210192              Serialize Python data to JSON.
210193
210194              Parameters
210195
210196                     · obj -- the data structure to serialize
210197
210198                     · options -- options given to lower json/simplejson  mod‐
210199                       ule.
210200
210201   salt.serializers.msgpack
210202   salt.serializers.msgpack
210203       Implements MsgPack serializer.
210204
210205       salt.serializers.msgpack.deserialize(stream_or_string, **options)
210206              Deserialize  any string of stream like object into a Python data
210207              structure.
210208
210209              Parameters
210210
210211                     · stream_or_string -- stream or string to deserialize.
210212
210213                     · options -- options given to lower msgpack module.
210214
210215       salt.serializers.msgpack.serialize(obj, **options)
210216              Serialize Python data to MsgPack.
210217
210218              Parameters
210219
210220                     · obj -- the data structure to serialize
210221
210222                     · options -- options given to lower msgpack module.
210223
210224   salt.serializers.python module
210225   salt.serializers.python
210226       New in version 2016.3.0.
210227
210228
210229       Implements a Python serializer (via pprint.format)
210230
210231       salt.serializers.python.serialize(obj, **options)
210232              Serialize Python data to a  Python  string  representation  (via
210233              pprint.format)
210234
210235              Parameters
210236
210237                     · obj -- the data structure to serialize
210238
210239                     · options -- options given to pprint.format
210240
210241   salt.serializers.yaml
210242   salt.serializers.yaml
210243       Implements YAML serializer.
210244
210245       Underneath,  it  is based on pyyaml and use the safe dumper and loader.
210246       It also use C bindings if they are available.
210247
210248       salt.serializers.yaml.deserialize(stream_or_string, **options)
210249              Deserialize any string of stream like object into a Python  data
210250              structure.
210251
210252              Parameters
210253
210254                     · stream_or_string -- stream or string to deserialize.
210255
210256                     · options -- options given to lower yaml module.
210257
210258       salt.serializers.yaml.serialize(obj, **options)
210259              Serialize Python data to YAML.
210260
210261              Parameters
210262
210263                     · obj -- the data structure to serialize
210264
210265                     · options -- options given to lower yaml module.
210266
210267   salt.serializers.yamlex
210268   salt.serializers.yamlex
210269       YAMLEX  is  a  format  that allows for things like sls files to be more
210270       intuitive.
210271
210272       It's an extension of YAML that implements all  the  salt  magic:  -  it
210273       implies omap for any dict like.  - it implies that string like data are
210274       str, not unicode - ...
210275
210276       For example, the file states.sls has this contents:
210277
210278          foo:
210279            bar: 42
210280            baz: [1, 2, 3]
210281
210282       The file can be parsed into Python like this
210283
210284          from salt.serializers import yamlex
210285
210286          with open('state.sls', 'r') as stream:
210287              obj = yamlex.deserialize(stream)
210288
210289       Check that obj is an OrderedDict
210290
210291          from salt.utils.odict import OrderedDict
210292
210293          assert isinstance(obj, dict)
210294          assert isinstance(obj, OrderedDict)
210295
210296       yamlex __repr__ and __str__ objects' methods render YAML understandable
210297       string. It means that they are template friendly.
210298
210299          print '{0}'.format(obj)
210300
210301       returns:
210302
210303          {foo: {bar: 42, baz: [1, 2, 3]}}
210304
210305       and they are still valid YAML:
210306
210307          from salt.serializers import yaml
210308          yml_obj = yaml.deserialize(str(obj))
210309          assert yml_obj == obj
210310
210311       yamlex implements also custom tags:
210312
210313       !aggregate
210314              this tag allows structures aggregation.
210315
210316          For example:
210317
210318              placeholder: !aggregate foo
210319              placeholder: !aggregate bar
210320              placeholder: !aggregate baz
210321
210322          is rendered as
210323
210324              placeholder: [foo, bar, baz]
210325
210326       !reset
210327              this tag flushes the computing value.
210328
210329              placeholder: {!aggregate foo: {foo: 42}}
210330              placeholder: {!aggregate foo: {bar: null}}
210331              !reset placeholder: {!aggregate foo: {baz: inga}}
210332
210333          is roughly equivalent to
210334
210335              placeholder: {!aggregate foo: {baz: inga}}
210336
210337       Document is defacto an aggregate mapping.
210338
210339       salt.serializers.yamlex.deserialize(stream_or_string, **options)
210340              Deserialize  any string of stream like object into a Python data
210341              structure.
210342
210343              Parameters
210344
210345                     · stream_or_string -- stream or string to deserialize.
210346
210347                     · options -- options given to lower yaml module.
210348
210349       salt.serializers.yamlex.serialize(obj, **options)
210350              Serialize Python data to YAML.
210351
210352              Parameters
210353
210354                     · obj -- the data structure to serialize
210355
210356                     · options -- options given to lower yaml module.
210357
210358   state modules
210359              ┌──────────────────────────┬────────────────────────────┐
210360acme                      │ ACME / Let's Encrypt  cer‐ │
210361              │                          │ tificate management state  │
210362              ├──────────────────────────┼────────────────────────────┤
210363alias                     │ Configuration   of   email │
210364              │                          │ aliases                    │
210365              ├──────────────────────────┼────────────────────────────┤
210366alternatives              │ Configuration    of    the │
210367              │                          │ alternatives system        │
210368              ├──────────────────────────┼────────────────────────────┤
210369ansiblegate               │ Execution  of Ansible mod‐ │
210370              │                          │ ules from within states    │
210371              ├──────────────────────────┼────────────────────────────┤
210372apache                    │ Apache state               │
210373              ├──────────────────────────┼────────────────────────────┤
210374apache_conf               │ Manage Apache Confs        │
210375              ├──────────────────────────┼────────────────────────────┤
210376apache_module             │ Manage Apache Modules      │
210377              ├──────────────────────────┼────────────────────────────┤
210378apache_site               │ Manage Apache Sites        │
210379              ├──────────────────────────┼────────────────────────────┤
210380aptpkg                    │ Package management  opera‐ │
210381              │                          │ tions specific to APT- and │
210382              │                          │ DEB-based systems          │
210383              ├──────────────────────────┼────────────────────────────┤
210384archive                   │ Extract an archive         │
210385              ├──────────────────────────┼────────────────────────────┤
210386artifactory               │ This state downloads arti‐ │
210387              │                          │ facts from artifactory.    │
210388              ├──────────────────────────┼────────────────────────────┤
210389at                        │ Configuration   disposable │
210390              │                          │ regularly scheduled  tasks │
210391              │                          │ for at.                    │
210392              ├──────────────────────────┼────────────────────────────┤
210393augeas                    │ Configuration   management │
210394              │                          │ using Augeas               │
210395              ├──────────────────────────┼────────────────────────────┤
210396aws_sqs                   │ Manage SQS Queues          │
210397              ├──────────────────────────┼────────────────────────────┤
210398beacon                    │ Management  of  the   Salt │
210399              │                          │ beacons                    │
210400              ├──────────────────────────┼────────────────────────────┤
210401bigip                     │ A state module designed to │
210402              │                          │ enforce     load-balancing │
210403              │                          │ configurations    for   F5 │
210404              │                          │ Big-IP entities.           │
210405              ├──────────────────────────┼────────────────────────────┤
210406blockdev                  │ Management    of     Block │
210407              │                          │ Devices                    │
210408              ├──────────────────────────┼────────────────────────────┤
210409boto3_elasticache         │ Manage   Elasticache  with │
210410              │                          │ boto3                      │
210411              ├──────────────────────────┼────────────────────────────┤
210412boto3_route53             │ Manage   Route53   records │
210413              │                          │ with Boto 3                │
210414              ├──────────────────────────┼────────────────────────────┤
210415boto_apigateway           │ Manage   Apigateway   Rest │
210416              │                          │ APIs                       │
210417              ├──────────────────────────┼────────────────────────────┤
210418boto_asg                  │ Manage Autoscale Groups    │
210419              ├──────────────────────────┼────────────────────────────┤
210420boto_cfn                  │ Connection module for Ama‐ │
210421              │                          │ zon Cloud Formation        │
210422              ├──────────────────────────┼────────────────────────────┤
210423boto_cloudfront           │ Manage  CloudFront distri‐ │
210424              │                          │ butions                    │
210425              ├──────────────────────────┼────────────────────────────┤
210426boto_cloudtrail           │ Manage CloudTrail Objects  │
210427              ├──────────────────────────┼────────────────────────────┤
210428boto_cloudwatch_alarm     │ Manage Cloudwatch alarms   │
210429              ├──────────────────────────┼────────────────────────────┤
210430boto_cloudwatch_event     │ Manage CloudTrail Objects  │
210431              ├──────────────────────────┼────────────────────────────┤
210432boto_cognitoidentity      │ Manage     CognitoIdentity │
210433              │                          │ Functions                  │
210434              ├──────────────────────────┼────────────────────────────┤
210435boto_datapipeline         │ Manage Data Pipelines      │
210436              ├──────────────────────────┼────────────────────────────┤
210437boto_dynamodb             │ Manage DynamoDB Tables     │
210438              ├──────────────────────────┼────────────────────────────┤
210439boto_ec2                  │ Manage EC2                 │
210440              ├──────────────────────────┼────────────────────────────┤
210441boto_elasticache          │ Manage Elasticache         │
210442              ├──────────────────────────┼────────────────────────────┤
210443boto_elasticsearch_domain │ Manage       Elasticsearch │
210444              │                          │ Domains                    │
210445              ├──────────────────────────┼────────────────────────────┤
210446boto_elb                  │ Manage ELBs                │
210447              ├──────────────────────────┼────────────────────────────┤
210448boto_elbv2                │ Manage   AWS   Application │
210449              │                          │ Load Balancer              │
210450              ├──────────────────────────┼────────────────────────────┤
210451boto_iam                  │ Manage IAM objects         │
210452              ├──────────────────────────┼────────────────────────────┤
210453boto_iam_role             │ Manage IAM roles           │
210454              ├──────────────────────────┼────────────────────────────┤
210455boto_iot                  │ Manage IoT Objects         │
210456              ├──────────────────────────┼────────────────────────────┤
210457boto_kinesis              │ Manage Kinesis Streams     │
210458              ├──────────────────────────┼────────────────────────────┤
210459boto_kms                  │ Manage KMS keys, key poli‐ │
210460              │                          │ cies and grants.           │
210461              ├──────────────────────────┼────────────────────────────┤
210462boto_lambda               │ Manage Lambda Functions    │
210463              ├──────────────────────────┼────────────────────────────┤
210464boto_lc                   │ Manage  Launch  Configura‐ │
210465              │                          │ tions                      │
210466              ├──────────────────────────┼────────────────────────────┤
210467boto_rds                  │ Manage RDSs                │
210468              ├──────────────────────────┼────────────────────────────┤
210469boto_route53              │ Manage Route53 records     │
210470              ├──────────────────────────┼────────────────────────────┤
210471boto_s3_bucket            │ Manage S3 Buckets          │
210472              ├──────────────────────────┼────────────────────────────┤
210473boto_secgroup             │ Manage Security Groups     │
210474              ├──────────────────────────┼────────────────────────────┤
210475boto_sns                  │ Manage SNS Topics          │
210476              ├──────────────────────────┼────────────────────────────┤
210477boto_sqs                  │ Manage SQS Queues          │
210478              ├──────────────────────────┼────────────────────────────┤
210479boto_vpc                  │ Manage VPCs                │
210480              ├──────────────────────────┼────────────────────────────┤
210481bower                     │ Installation    of   Bower │
210482              │                          │ Packages                   │
210483              ├──────────────────────────┼────────────────────────────┤
210484cabal                     │ Installation   of    Cabal │
210485              │                          │ Packages                   │
210486              ├──────────────────────────┼────────────────────────────┤
210487ceph                      │ Manage ceph with salt.     │
210488              ├──────────────────────────┼────────────────────────────┤
210489chef                      │ Execute Chef client runs   │
210490              ├──────────────────────────┼────────────────────────────┤
210491chocolatey                │ Manage  Chocolatey package │
210492              │                          │ installs ..                │
210493              ├──────────────────────────┼────────────────────────────┤
210494chronos_job               │ Configure Chronos jobs via │
210495              │                          │ a salt proxy.              │
210496              ├──────────────────────────┼────────────────────────────┤
210497cimc                      │ A  state  module to manage │
210498              │                          │ Cisco UCS chassis devices. │
210499              ├──────────────────────────┼────────────────────────────┤
210500cisconso                  │ State module for Cisco NSO │
210501              │                          │ Proxy minions              │
210502              ├──────────────────────────┼────────────────────────────┤
210503cloud                     │ Using  states  instead  of │
210504              │                          │ maps to deploy clouds      │
210505              ├──────────────────────────┼────────────────────────────┤
210506cmd                       │ Execution   of   arbitrary │
210507              │                          │ commands                   │
210508              ├──────────────────────────┼────────────────────────────┤
210509composer                  │ Installation  of  Composer │
210510              │                          │ Packages                   │
210511              ├──────────────────────────┼────────────────────────────┤
210512cron                      │ Management  of  cron,  the │
210513              │                          │ Unix command scheduler     │
210514              ├──────────────────────────┼────────────────────────────┤
210515csf                       │ CSF Ip tables management   │
210516              ├──────────────────────────┼────────────────────────────┤
210517cyg                       │ Installation   of   Cygwin │
210518              │                          │ packages.                  │
210519              ├──────────────────────────┼────────────────────────────┤
210520ddns                      │ Dynamic DNS updates        │
210521              ├──────────────────────────┼────────────────────────────┤
210522debconfmod                │ Management   of    debconf │
210523              │                          │ selections                 │
210524              ├──────────────────────────┼────────────────────────────┤
210525dellchassis               │ Manage  chassis  via  Salt │
210526              │                          │ Proxies.                   │
210527              ├──────────────────────────┼────────────────────────────┤
210528disk                      │ Disk monitoring state      │
210529              ├──────────────────────────┼────────────────────────────┤
210530docker_container          │ Management of Docker  con‐ │
210531              │                          │ tainers                    │
210532              ├──────────────────────────┼────────────────────────────┤
210533docker_image              │ Management    of    Docker │
210534              │                          │ images                     │
210535              ├──────────────────────────┼────────────────────────────┤
210536docker_network            │ Management of Docker  net‐ │
210537              │                          │ works                      │
210538              ├──────────────────────────┼────────────────────────────┤
210539docker_volume             │ Management  of Docker vol‐ │
210540              │                          │ umes                       │
210541              ├──────────────────────────┼────────────────────────────┤
210542drac                      │ Management of Dell DRAC    │
210543              ├──────────────────────────┼────────────────────────────┤
210544elasticsearch             │ State  module  to   manage │
210545              │                          │ Elasticsearch.             │
210546              ├──────────────────────────┼────────────────────────────┤
210547elasticsearch_index       │ State   module  to  manage │
210548              │                          │ Elasticsearch indices      │
210549              ├──────────────────────────┼────────────────────────────┤
210550elasticsearch_index_tem‐  │ State   module  to  manage │
210551plate                     │ Elasticsearch  index  tem‐ │
210552              │                          │ plates                     │
210553              ├──────────────────────────┼────────────────────────────┤
210554environ                   │ Support  for  getting  and │
210555              │                          │ setting  the   environment │
210556              │                          │ variables  of  the current │
210557              │                          │ salt process.              │
210558              ├──────────────────────────┼────────────────────────────┤
210559eselect                   │ Management of Gentoo  con‐ │
210560              │                          │ figuration using eselect   │
210561              ├──────────────────────────┼────────────────────────────┤
210562etcd_mod                  │ Manage etcd Keys           │
210563              ├──────────────────────────┼────────────────────────────┤
210564ethtool                   │ Configuration  of  network │
210565              │                          │ device                     │
210566              ├──────────────────────────┼────────────────────────────┤
210567esxi                      │ Manage VMware ESXi Hosts.  │
210568              ├──────────────────────────┼────────────────────────────┤
210569event                     │ Send events through Salt's │
210570              │                          │ event  system during state │
210571              │                          │ runs                       │
210572              ├──────────────────────────┼────────────────────────────┤
210573file                      │ Operations   on    regular │
210574              │                          │ files,    special   files, │
210575              │                          │ directories, and symlinks  │
210576              ├──────────────────────────┼────────────────────────────┤
210577firewall                  │ State  to  check  firewall │
210578              │                          │ configurations             │
210579              ├──────────────────────────┼────────────────────────────┤
210580firewalld                 │ Management of firewalld    │
210581              ├──────────────────────────┼────────────────────────────┤
210582gem                       │ Installation  of Ruby mod‐ │
210583              │                          │ ules packaged as gems      │
210584              ├──────────────────────────┼────────────────────────────┤
210585git                       │ States   to   manage   git │
210586              │                          │ repositories  and git con‐ │
210587              │                          │ figuration                 │
210588              ├──────────────────────────┼────────────────────────────┤
210589github                    │ Github User State Module   │
210590              ├──────────────────────────┼────────────────────────────┤
210591glance                    │ Managing Images  in  Open‐ │
210592              │                          │ Stack Glance               │
210593              ├──────────────────────────┼────────────────────────────┤
210594glance_image              │ Management   of  OpenStack │
210595              │                          │ Glance Images              │
210596              ├──────────────────────────┼────────────────────────────┤
210597glusterfs                 │ Manage GlusterFS pool.     │
210598              ├──────────────────────────┼────────────────────────────┤
210599gnomedesktop              │ Configuration of the GNOME │
210600              │                          │ desktop                    │
210601              ├──────────────────────────┼────────────────────────────┤
210602gpg                       │ Management of the GPG key‐ │
210603              │                          │ chains                     │
210604              ├──────────────────────────┼────────────────────────────┤
210605grafana                   │ Manage Grafana Dashboards  │
210606              ├──────────────────────────┼────────────────────────────┤
210607grafana4_dashboard        │ Manage Grafana v4.0  Dash‐ │
210608              │                          │ boards                     │
210609              ├──────────────────────────┼────────────────────────────┤
210610grafana4_datasource       │ Manage  Grafana  v4.0 data │
210611              │                          │ sources                    │
210612              ├──────────────────────────┼────────────────────────────┤
210613grafana4_org              │ Manage Grafana v4.0 orgs   │
210614              ├──────────────────────────┼────────────────────────────┤
210615grafana4_user             │ Manage Grafana v4.0 users  │
210616              ├──────────────────────────┼────────────────────────────┤
210617grafana_dashboard         │ Manage Grafana v2.0  Dash‐ │
210618              │                          │ boards                     │
210619              ├──────────────────────────┼────────────────────────────┤
210620grafana_datasource        │ Manage  Grafana  v2.0 data │
210621              │                          │ sources                    │
210622              ├──────────────────────────┼────────────────────────────┤
210623grains                    │ Manage grains on the  min‐ │
210624              │                          │ ion                        │
210625              ├──────────────────────────┼────────────────────────────┤
210626group                     │ Management of user groups  │
210627              ├──────────────────────────┼────────────────────────────┤
210628heat                      │ Management of Heat         │
210629              ├──────────────────────────┼────────────────────────────┤
210630hg                        │ Interaction with Mercurial │
210631              │                          │ repositories               │
210632              ├──────────────────────────┼────────────────────────────┤
210633hipchat                   │ Send a message to Hipchat  │
210634              ├──────────────────────────┼────────────────────────────┤
210635host                      │ Management  of   addresses │
210636              │                          │ and names in hosts file    │
210637              ├──────────────────────────┼────────────────────────────┤
210638htpasswd                  │ Support  for htpasswd mod‐ │
210639              │                          │ ule.                       │
210640              ├──────────────────────────┼────────────────────────────┤
210641http                      │ HTTP monitoring states     │
210642              ├──────────────────────────┼────────────────────────────┤
210643icinga2                   │ Icinga2 state              │
210644              ├──────────────────────────┼────────────────────────────┤
210645ifttt                     │ Trigger an event in IFTTT  │
210646              ├──────────────────────────┼────────────────────────────┤
210647incron                    │ Management of incron,  the │
210648              │                          │ inotify cron               │
210649              ├──────────────────────────┼────────────────────────────┤
210650influxdb08_database       │ Management of Influxdb 0.8 │
210651              │                          │ databases                  │
210652              ├──────────────────────────┼────────────────────────────┤
210653influxdb08_user           │ Management of InfluxDB 0.8 │
210654              │                          │ users                      │
210655              ├──────────────────────────┼────────────────────────────┤
210656influxdb_continuous_query │ Management   of   Influxdb │
210657              │                          │ continuous queries         │
210658              ├──────────────────────────┼────────────────────────────┤
210659influxdb_database         │ Management   of   Influxdb │
210660              │                          │ databases                  │
210661              ├──────────────────────────┼────────────────────────────┤
210662influxdb_retention_policy │ Management   of   Influxdb │
210663              │                          │ retention policies         │
210664              └──────────────────────────┴────────────────────────────┘
210665
210666
210667
210668influxdb_user             │ Management   of   InfluxDB │
210669              │                          │ users                      │
210670              ├──────────────────────────┼────────────────────────────┤
210671infoblox_a                │ Infoblox  A  record manag‐ │
210672              │                          │ ment.                      │
210673              ├──────────────────────────┼────────────────────────────┤
210674infoblox_cname            │ Infoblox CNAME managment.  │
210675              ├──────────────────────────┼────────────────────────────┤
210676infoblox_host_record      │ Infoblox host record  man‐ │
210677              │                          │ agment.                    │
210678              ├──────────────────────────┼────────────────────────────┤
210679infoblox_range            │ Infoblox  host record man‐ │
210680              │                          │ agment.                    │
210681              ├──────────────────────────┼────────────────────────────┤
210682ini_manage                │ Manage ini files           │
210683              ├──────────────────────────┼────────────────────────────┤
210684ipmi                      │ Manage IPMI  devices  over │
210685              │                          │ LAN                        │
210686              ├──────────────────────────┼────────────────────────────┤
210687ipset                     │ Management of ipsets       │
210688              ├──────────────────────────┼────────────────────────────┤
210689iptables                  │ Management of iptables     │
210690              ├──────────────────────────┼────────────────────────────┤
210691jboss7                    │ Manage JBoss 7 Application │
210692              │                          │ Server via CLI interface   │
210693              ├──────────────────────────┼────────────────────────────┤
210694jenkins                   │ Management of Jenkins      │
210695              ├──────────────────────────┼────────────────────────────┤
210696junos                     │ State modules to  interact │
210697              │                          │ with Junos devices.        │
210698              ├──────────────────────────┼────────────────────────────┤
210699kapacitor                 │ Kapacitor state module.    │
210700              ├──────────────────────────┼────────────────────────────┤
210701kernelpkg                 │ Manage kernel packages and │
210702              │                          │ active kernel version      │
210703              ├──────────────────────────┼────────────────────────────┤
210704keyboard                  │ Management   of   keyboard │
210705              │                          │ layouts                    │
210706              ├──────────────────────────┼────────────────────────────┤
210707keystone                  │ Management   of   Keystone │
210708              │                          │ users                      │
210709              ├──────────────────────────┼────────────────────────────┤
210710keystone_domain           │ Management  of   OpenStack │
210711              │                          │ Keystone Domains           │
210712              ├──────────────────────────┼────────────────────────────┤
210713keystone_endpoint         │ Management   of  OpenStack │
210714              │                          │ Keystone Endpoints         │
210715              ├──────────────────────────┼────────────────────────────┤
210716keystone_group            │ Management  of   OpenStack │
210717              │                          │ Keystone Groups            │
210718              ├──────────────────────────┼────────────────────────────┤
210719keystone_project          │ Management   of  OpenStack │
210720              │                          │ Keystone Projects          │
210721              ├──────────────────────────┼────────────────────────────┤
210722keystone_role             │ Management  of   OpenStack │
210723              │                          │ Keystone Roles             │
210724              ├──────────────────────────┼────────────────────────────┤
210725keystone_role_grant       │ Management   of  OpenStack │
210726              │                          │ Keystone Role Grants       │
210727              ├──────────────────────────┼────────────────────────────┤
210728keystone_service          │ Management  of   OpenStack │
210729              │                          │ Keystone Services          │
210730              ├──────────────────────────┼────────────────────────────┤
210731keystone_user             │ Management   of  OpenStack │
210732              │                          │ Keystone Users             │
210733              ├──────────────────────────┼────────────────────────────┤
210734kmod                      │ Loading and  unloading  of │
210735              │                          │ kernel modules             │
210736              ├──────────────────────────┼────────────────────────────┤
210737kubernetes                │ Manage          kubernetes │
210738              │                          │ resources as salt states   │
210739              ├──────────────────────────┼────────────────────────────┤
210740layman                    │ Management of Gentoo Over‐ │
210741              │                          │ lays using layman          │
210742              ├──────────────────────────┼────────────────────────────┤
210743ldap                      │ Manage  entries in an LDAP │
210744              │                          │ database                   │
210745              ├──────────────────────────┼────────────────────────────┤
210746libcloud_dns              │ Manage  DNS  records   and │
210747              │                          │ zones using libcloud       │
210748              ├──────────────────────────┼────────────────────────────┤
210749libcloud_loadbalancer     │ Apache  Libcloud Load Bal‐ │
210750              │                          │ ancer State                │
210751              ├──────────────────────────┼────────────────────────────┤
210752libcloud_storage          │ Apache  Libcloud   Storage │
210753              │                          │ State                      │
210754              ├──────────────────────────┼────────────────────────────┤
210755linux_acl                 │ Linux  File Access Control │
210756              │                          │ Lists                      │
210757              ├──────────────────────────┼────────────────────────────┤
210758locale                    │ Management     of     lan‐ │
210759              │                          │ guages/locales             │
210760              ├──────────────────────────┼────────────────────────────┤
210761logadm                    │ Management  of  logs using │
210762              │                          │ Solaris logadm.            │
210763              ├──────────────────────────┼────────────────────────────┤
210764logrotate                 │ Module for managing logro‐ │
210765              │                          │ tate.                      │
210766              ├──────────────────────────┼────────────────────────────┤
210767loop                      │ Loop state                 │
210768              ├──────────────────────────┼────────────────────────────┤
210769lvm                       │ Management  of Linux logi‐ │
210770              │                          │ cal volumes                │
210771              ├──────────────────────────┼────────────────────────────┤
210772lvs_server                │ Management of  LVS  (Linux │
210773              │                          │ Virtual    Server)    Real │
210774              │                          │ Server                     │
210775              ├──────────────────────────┼────────────────────────────┤
210776lvs_service               │ Management of  LVS  (Linux │
210777              │                          │ Virtual Server) Service    │
210778              ├──────────────────────────┼────────────────────────────┤
210779lxc                       │ Manage Linux Containers    │
210780              ├──────────────────────────┼────────────────────────────┤
210781mac_assistive             │ Allows   you   to   manage │
210782              │                          │ assistive access on  macOS │
210783              │                          │ minions with 10.9+         │
210784              ├──────────────────────────┼────────────────────────────┤
210785mac_defaults              │ Writing/reading   defaults │
210786              │                          │ from a macOS minion        │
210787              ├──────────────────────────┼────────────────────────────┤
210788mac_keychain              │ Installing of certificates │
210789              │                          │ to the keychain            │
210790              ├──────────────────────────┼────────────────────────────┤
210791mac_package               │ Installing   of   mac  pkg │
210792              │                          │ files                      │
210793              ├──────────────────────────┼────────────────────────────┤
210794mac_xattr                 │ Allows   you   to   manage │
210795              │                          │ extended   attributes   on │
210796              │                          │ files or directories       │
210797              ├──────────────────────────┼────────────────────────────┤
210798makeconf                  │ Management    of    Gentoo │
210799              │                          │ make.conf                  │
210800              ├──────────────────────────┼────────────────────────────┤
210801marathon_app              │ Configure   Marathon  apps │
210802              │                          │ via a salt proxy.          │
210803              ├──────────────────────────┼────────────────────────────┤
210804mdadm                     │ Managing   software   RAID │
210805              │                          │ with mdadm                 │
210806              ├──────────────────────────┼────────────────────────────┤
210807memcached                 │ States  for  Management of │
210808              │                          │ Memcached Keys             │
210809              ├──────────────────────────┼────────────────────────────┤
210810modjk                     │ State  to  control  Apache │
210811              │                          │ modjk                      │
210812              ├──────────────────────────┼────────────────────────────┤
210813modjk_worker              │ Manage modjk workers       │
210814              ├──────────────────────────┼────────────────────────────┤
210815module                    │ Execution  of Salt modules │
210816              │                          │ from within states         │
210817              ├──────────────────────────┼────────────────────────────┤
210818mongodb_database          │ Management   of    MongoDB │
210819              │                          │ Databases                  │
210820              ├──────────────────────────┼────────────────────────────┤
210821mongodb_user              │ Management    of   MongoDB │
210822              │                          │ Users                      │
210823              ├──────────────────────────┼────────────────────────────┤
210824monit                     │ Monit state                │
210825              ├──────────────────────────┼────────────────────────────┤
210826mount                     │ Mounting of filesystems    │
210827              ├──────────────────────────┼────────────────────────────┤
210828msteams                   │ Send a message card to Mi‐ │
210829              │                          │ crosoft Teams              │
210830              ├──────────────────────────┼────────────────────────────┤
210831mysql_database            │ Management  of MySQL data‐ │
210832              │                          │ bases (schemas)            │
210833              ├──────────────────────────┼────────────────────────────┤
210834mysql_grants              │ Management of MySQL grants │
210835              │                          │ (user permissions)         │
210836              ├──────────────────────────┼────────────────────────────┤
210837mysql_query               │ Execution of MySQL queries │
210838              ├──────────────────────────┼────────────────────────────┤
210839mysql_user                │ Management of MySQL users  │
210840              ├──────────────────────────┼────────────────────────────┤
210841netacl                    │ Network ACL                │
210842              ├──────────────────────────┼────────────────────────────┤
210843netconfig                 │ Network Config             │
210844              ├──────────────────────────┼────────────────────────────┤
210845netntp                    │ Network NTP                │
210846              ├──────────────────────────┼────────────────────────────┤
210847netsnmp                   │ Network SNMP               │
210848              ├──────────────────────────┼────────────────────────────┤
210849netusers                  │ Network Users              │
210850              ├──────────────────────────┼────────────────────────────┤
210851network                   │ Configuration  of  network │
210852              │                          │ interfaces                 │
210853              ├──────────────────────────┼────────────────────────────┤
210854netyang                   │ NAPALM YANG state          │
210855              ├──────────────────────────┼────────────────────────────┤
210856neutron_network           │ Management  of   OpenStack │
210857              │                          │ Neutron Networks           │
210858              ├──────────────────────────┼────────────────────────────┤
210859neutron_secgroup          │ Management   of  OpenStack │
210860              │                          │ Neutron Security Groups    │
210861              ├──────────────────────────┼────────────────────────────┤
210862neutron_secgroup_rule     │ Management  of   OpenStack │
210863              │                          │ Neutron   Security   Group │
210864              │                          │ Rules                      │
210865              ├──────────────────────────┼────────────────────────────┤
210866neutron_subnet            │ Management  of   OpenStack │
210867              │                          │ Neutron Subnets            │
210868              ├──────────────────────────┼────────────────────────────┤
210869nfs_export                │ Management of NFS exports  │
210870              ├──────────────────────────┼────────────────────────────┤
210871nftables                  │ Management of nftables     │
210872              ├──────────────────────────┼────────────────────────────┤
210873npm                       │ Installation  of NPM Pack‐ │
210874              │                          │ ages                       │
210875              ├──────────────────────────┼────────────────────────────┤
210876ntp                       │ Management of NTP servers  │
210877              ├──────────────────────────┼────────────────────────────┤
210878nxos                      │ State module for Cisco  NX │
210879              │                          │ OS Switches Proxy minions  │
210880              ├──────────────────────────┼────────────────────────────┤
210881openstack_config          │ Manage  OpenStack configu‐ │
210882              │                          │ ration file settings.      │
210883              ├──────────────────────────┼────────────────────────────┤
210884openvswitch_bridge        │ Management of Open vSwitch │
210885              │                          │ bridges.                   │
210886              ├──────────────────────────┼────────────────────────────┤
210887openvswitch_port          │ Management of Open vSwitch │
210888              │                          │ ports.                     │
210889              ├──────────────────────────┼────────────────────────────┤
210890opsgenie                  │ Create/Close an  alert  in │
210891              │                          │ OpsGenie                   │
210892              ├──────────────────────────┼────────────────────────────┤
210893pagerduty                 │ Create  an Event in Pager‐ │
210894              │                          │ Duty                       │
210895              ├──────────────────────────┼────────────────────────────┤
210896pagerduty_escalation_pol‐ │ Manage  PagerDuty  escala‐ │
210897icy                       │ tion policies.             │
210898              ├──────────────────────────┼────────────────────────────┤
210899pagerduty_schedule        │ Manage  PagerDuty   sched‐ │
210900              │                          │ ules.                      │
210901              ├──────────────────────────┼────────────────────────────┤
210902pagerduty_service         │ Manage PagerDuty services  │
210903              ├──────────────────────────┼────────────────────────────┤
210904pagerduty_user            │ Manage PagerDuty users.    │
210905              ├──────────────────────────┼────────────────────────────┤
210906panos                     │ A  state  module to manage │
210907              │                          │ Palo Alto network devices. │
210908              ├──────────────────────────┼────────────────────────────┤
210909pcs                       │ Management    of     Pace‐ │
210910              │                          │ maker/Corosync    clusters │
210911              │                          │ with PCS                   │
210912              ├──────────────────────────┼────────────────────────────┤
210913pecl                      │ Installation of PHP Exten‐ │
210914              │                          │ sions Using pecl           │
210915              ├──────────────────────────┼────────────────────────────┤
210916pdbedit                   │ Manage accounts in Samba's │
210917              │                          │ passdb using pdbedit       │
210918              ├──────────────────────────┼────────────────────────────┤
210919pip_state                 │ Installation   of   Python │
210920              │                          │ Packages Using pip         │
210921              ├──────────────────────────┼────────────────────────────┤
210922pkg                       │ Installation  of  packages │
210923              │                          │ using OS package  managers │
210924              │                          │ such as yum or apt-get     │
210925              ├──────────────────────────┼────────────────────────────┤
210926pkgbuild                  │ The  pkgbuild state is the │
210927              │                          │ front  of   Salt   package │
210928              │                          │ building backend.          │
210929              ├──────────────────────────┼────────────────────────────┤
210930pkgng                     │ Manage package remote repo │
210931              │                          │ using FreeBSD pkgng        │
210932              ├──────────────────────────┼────────────────────────────┤
210933pkgrepo                   │ Management              of │
210934              │                          │ APT/DNF/YUM/Zypper package │
210935              │                          │ repos                      │
210936              ├──────────────────────────┼────────────────────────────┤
210937portage_config            │ Management   of    Portage │
210938              │                          │ package  configuration  on │
210939              │                          │ Gentoo                     │
210940              ├──────────────────────────┼────────────────────────────┤
210941ports                     │ Manage software from Free‐ │
210942              │                          │ BSD ports                  │
210943              ├──────────────────────────┼────────────────────────────┤
210944postgres_cluster          │ Management  of  PostgreSQL │
210945              │                          │ clusters                   │
210946              ├──────────────────────────┼────────────────────────────┤
210947postgres_database         │ Management  of  PostgreSQL │
210948              │                          │ databases                  │
210949              ├──────────────────────────┼────────────────────────────┤
210950postgres_extension        │ Management  of  PostgreSQL │
210951              │                          │ extensions                 │
210952              ├──────────────────────────┼────────────────────────────┤
210953postgres_group            │ Management  of  PostgreSQL │
210954              │                          │ groups (roles)             │
210955              ├──────────────────────────┼────────────────────────────┤
210956postgres_initdb           │ Initialization   of  Post‐ │
210957              │                          │ greSQL data directory      │
210958              ├──────────────────────────┼────────────────────────────┤
210959postgres_language         │ Management  of  PostgreSQL │
210960              │                          │ languages                  │
210961              ├──────────────────────────┼────────────────────────────┤
210962postgres_privileges       │ Management  of  PostgreSQL │
210963              │                          │ Privileges                 │
210964              ├──────────────────────────┼────────────────────────────┤
210965postgres_schema           │ Management  of  PostgreSQL │
210966              │                          │ schemas                    │
210967              ├──────────────────────────┼────────────────────────────┤
210968postgres_tablespace       │ Management  of  PostgreSQL │
210969              │                          │ tablespace                 │
210970              ├──────────────────────────┼────────────────────────────┤
210971postgres_user             │ Management  of  PostgreSQL │
210972              │                          │ users (roles)              │
210973              ├──────────────────────────┼────────────────────────────┤
210974powerpath                 │ Powerpath    configuration │
210975              │                          │ support                    │
210976              ├──────────────────────────┼────────────────────────────┤
210977probes                    │ Network Probes             │
210978              ├──────────────────────────┼────────────────────────────┤
210979process                   │ Process Management         │
210980              ├──────────────────────────┼────────────────────────────┤
210981proxy                     │ Allows you to manage proxy │
210982              │                          │ settings on minions        │
210983              ├──────────────────────────┼────────────────────────────┤
210984pushover                  │ Send a message to PushOver │
210985              ├──────────────────────────┼────────────────────────────┤
210986pyenv                     │ Managing  python installa‐ │
210987              │                          │ tions with pyenv           │
210988              ├──────────────────────────┼────────────────────────────┤
210989pyrax_queues              │ Manage Rackspace Queues    │
210990              ├──────────────────────────┼────────────────────────────┤
210991quota                     │ Management of POSIX Quotas │
210992              ├──────────────────────────┼────────────────────────────┤
210993rabbitmq_cluster          │ Manage RabbitMQ Clusters   │
210994              ├──────────────────────────┼────────────────────────────┤
210995rabbitmq_plugin           │ Manage RabbitMQ Plugins    │
210996              ├──────────────────────────┼────────────────────────────┤
210997rabbitmq_policy           │ Manage RabbitMQ Policies   │
210998              ├──────────────────────────┼────────────────────────────┤
210999rabbitmq_user             │ Manage RabbitMQ Users      │
211000              ├──────────────────────────┼────────────────────────────┤
211001rabbitmq_vhost            │ Manage  RabbitMQ   Virtual │
211002              │                          │ Hosts                      │
211003              ├──────────────────────────┼────────────────────────────┤
211004rbac_solaris              │ Management of Solaris RBAC │
211005              ├──────────────────────────┼────────────────────────────┤
211006rbenv                     │ Managing   Ruby  installa‐ │
211007              │                          │ tions with rbenv           │
211008              ├──────────────────────────┼────────────────────────────┤
211009rdp                       │ Manage RDP Service on Win‐ │
211010              │                          │ dows servers               │
211011              ├──────────────────────────┼────────────────────────────┤
211012redismod                  │ Management of Redis server │
211013              ├──────────────────────────┼────────────────────────────┤
211014reg                       │ Manage  the  Windows  reg‐ │
211015              │                          │ istry                      │
211016              ├──────────────────────────┼────────────────────────────┤
211017rsync                     │ State to synchronize files │
211018              │                          │ and    directories    with │
211019              │                          │ rsync.                     │
211020              ├──────────────────────────┼────────────────────────────┤
211021rvm                       │ Managing  Ruby   installa‐ │
211022              │                          │ tions   and  gemsets  with │
211023              │                          │ Ruby Version Manager (RVM) │
211024              ├──────────────────────────┼────────────────────────────┤
211025salt_proxy                │ Salt proxy state           │
211026              ├──────────────────────────┼────────────────────────────┤
211027saltmod                   │ Control the  Salt  command │
211028              │                          │ interface                  │
211029              ├──────────────────────────┼────────────────────────────┤
211030schedule                  │ Management   of  the  Salt │
211031              │                          │ scheduler                  │
211032              ├──────────────────────────┼────────────────────────────┤
211033selinux                   │ Management   of    SELinux │
211034              │                          │ rules                      │
211035              ├──────────────────────────┼────────────────────────────┤
211036serverdensity_device      │ Monitor Server with Server │
211037              │                          │ Density                    │
211038              ├──────────────────────────┼────────────────────────────┤
211039service                   │ Starting or restarting  of │
211040              │                          │ services and daemons       │
211041              ├──────────────────────────┼────────────────────────────┤
211042slack                     │ Send a message to Slack    │
211043              ├──────────────────────────┼────────────────────────────┤
211044smartos                   │ Management    of   SmartOS │
211045              │                          │ Standalone Compute Nodes   │
211046              ├──────────────────────────┼────────────────────────────┤
211047smtp                      │ Sending Messages via SMTP  │
211048              ├──────────────────────────┼────────────────────────────┤
211049snapper                   │ Managing  implicit   state │
211050              │                          │ and  baselines using snap‐ │
211051              │                          │ shots                      │
211052              ├──────────────────────────┼────────────────────────────┤
211053solrcloud                 │ States for solrcloud alias │
211054              │                          │ and  collection configura‐ │
211055              │                          │ tion                       │
211056              ├──────────────────────────┼────────────────────────────┤
211057splunk                    │ Splunk User State Module   │
211058              ├──────────────────────────┼────────────────────────────┤
211059splunk_search             │ Splunk Search State Module │
211060              ├──────────────────────────┼────────────────────────────┤
211061sqlite3                   │ Management   of    SQLite3 │
211062              │                          │ databases                  │
211063              ├──────────────────────────┼────────────────────────────┤
211064ssh_auth                  │ Control  of entries in SSH │
211065              │                          │ authorized_key files       │
211066              ├──────────────────────────┼────────────────────────────┤
211067ssh_known_hosts           │ Control of SSH known_hosts │
211068              │                          │ entries                    │
211069              ├──────────────────────────┼────────────────────────────┤
211070stateconf                 │ Stateconf System           │
211071              ├──────────────────────────┼────────────────────────────┤
211072status                    │ Minion status monitoring   │
211073              └──────────────────────────┴────────────────────────────┘
211074
211075statuspage                │ StatusPage                 │
211076              ├──────────────────────────┼────────────────────────────┤
211077supervisord               │ Interaction    with    the │
211078              │                          │ Supervisor daemon          │
211079              ├──────────────────────────┼────────────────────────────┤
211080svn                       │ Manage SVN repositories    │
211081              ├──────────────────────────┼────────────────────────────┤
211082sysctl                    │ Configuration of the  ker‐ │
211083              │                          │ nel using sysctl           │
211084              ├──────────────────────────┼────────────────────────────┤
211085syslog_ng                 │ State module for syslog_ng │
211086              ├──────────────────────────┼────────────────────────────┤
211087sysrc                     │ State to work with sysrc   │
211088              ├──────────────────────────┼────────────────────────────┤
211089telemetry_alert           │ Manage   Telemetry   alert │
211090              │                          │ configurations             │
211091              ├──────────────────────────┼────────────────────────────┤
211092test                      │ Test States                │
211093              ├──────────────────────────┼────────────────────────────┤
211094testinframod              │                            │
211095              ├──────────────────────────┼────────────────────────────┤
211096timezone                  │ Management of timezones    │
211097              ├──────────────────────────┼────────────────────────────┤
211098tls                       │ Enforce state for SSL/TLS  │
211099              ├──────────────────────────┼────────────────────────────┤
211100tomcat                    │ Manage Apache  Tomcat  web │
211101              │                          │ applications               │
211102              ├──────────────────────────┼────────────────────────────┤
211103trafficserver             │ Control   Apache   Traffic │
211104              │                          │ Server                     │
211105              ├──────────────────────────┼────────────────────────────┤
211106tuned                     │ Interface   to   Red   Hat │
211107              │                          │ tuned-adm module           │
211108              ├──────────────────────────┼────────────────────────────┤
211109uptime                    │ Monitor  Web  Server  with │
211110              │                          │ Uptime                     │
211111              ├──────────────────────────┼────────────────────────────┤
211112user                      │ Management     of     user │
211113              │                          │ accounts                   │
211114              ├──────────────────────────┼────────────────────────────┤
211115vagrant                   │ Manage Vagrant VMs         │
211116              ├──────────────────────────┼────────────────────────────┤
211117vault                     │ States     for    managing │
211118              │                          │ Hashicorp Vault.           │
211119              ├──────────────────────────┼────────────────────────────┤
211120vbox_guest                │ VirtualBox Guest Additions │
211121              │                          │ installer state            │
211122              ├──────────────────────────┼────────────────────────────┤
211123victorops                 │ Create  an  Event  in Vic‐ │
211124              │                          │ torOps                     │
211125              ├──────────────────────────┼────────────────────────────┤
211126virt                      │ Manage virt                │
211127              ├──────────────────────────┼────────────────────────────┤
211128virtualenv_mod            │ Setup of Python virtualenv │
211129              │                          │ sandboxes.                 │
211130              ├──────────────────────────┼────────────────────────────┤
211131win_certutil              │ Installing of certificates │
211132              │                          │ to the Windows Certificate │
211133              │                          │ Manager                    │
211134              ├──────────────────────────┼────────────────────────────┤
211135win_dacl                  │ Windows Object Access Con‐ │
211136              │                          │ trol Lists                 │
211137              ├──────────────────────────┼────────────────────────────┤
211138win_dism                  │ Installing of Windows fea‐ │
211139              │                          │ tures using DISM           │
211140              ├──────────────────────────┼────────────────────────────┤
211141win_dns_client            │ Module for configuring DNS │
211142              │                          │ Client on Windows systems  │
211143              ├──────────────────────────┼────────────────────────────┤
211144win_firewall              │ State for configuring Win‐ │
211145              │                          │ dows Firewall              │
211146              ├──────────────────────────┼────────────────────────────┤
211147win_iis                   │ Microsoft IIS site manage‐ │
211148              │                          │ ment                       │
211149              ├──────────────────────────┼────────────────────────────┤
211150win_lgpo                  │ Manage Windows Local Group │
211151              │                          │ Policy                     │
211152              ├──────────────────────────┼────────────────────────────┤
211153win_license               │ Installation  and  activa‐ │
211154              │                          │ tion of windows licenses   │
211155              ├──────────────────────────┼────────────────────────────┤
211156win_network               │ Configuration  of  network │
211157              │                          │ interfaces    on   Windows │
211158              │                          │ hosts                      │
211159              ├──────────────────────────┼────────────────────────────┤
211160win_path                  │ Manage the Windows  System │
211161              │                          │ PATH                       │
211162              ├──────────────────────────┼────────────────────────────┤
211163win_pki                   │ Microsoft certificate man‐ │
211164              │                          │ agement via the Pki Power‐ │
211165              │                          │ Shell module.              │
211166              ├──────────────────────────┼────────────────────────────┤
211167win_powercfg              │ This  module allows you to │
211168              │                          │ control the power settings │
211169              │                          │ of  a  windows  minion via │
211170              │                          │ powercfg.                  │
211171              ├──────────────────────────┼────────────────────────────┤
211172win_servermanager         │ Manage  Windows   features │
211173              │                          │ via the ServerManager pow‐ │
211174              │                          │ ershell module.            │
211175              ├──────────────────────────┼────────────────────────────┤
211176win_smtp_server           │ Module  for  managing  IIS │
211177              │                          │ SMTP  server configuration │
211178              │                          │ on Windows servers.        │
211179              ├──────────────────────────┼────────────────────────────┤
211180win_snmp                  │ Module for  managing  SNMP │
211181              │                          │ service  settings  on Win‐ │
211182              │                          │ dows servers.              │
211183              ├──────────────────────────┼────────────────────────────┤
211184win_system                │ Management of Windows sys‐ │
211185              │                          │ tem information            │
211186              ├──────────────────────────┼────────────────────────────┤
211187win_wua                   │ Installation   of  Windows │
211188              │                          │ Updates using the  Windows │
211189              │                          │ Update Agent               │
211190              ├──────────────────────────┼────────────────────────────┤
211191winrepo                   │ Manage   Windows   Package │
211192              │                          │ Repository                 │
211193              ├──────────────────────────┼────────────────────────────┤
211194x509                      │ Manage X509 Certificates   │
211195              ├──────────────────────────┼────────────────────────────┤
211196xmpp                      │ Sending Messages over XMPP │
211197              ├──────────────────────────┼────────────────────────────┤
211198zabbix_action             │ New in version 2017.7.     │
211199              ├──────────────────────────┼────────────────────────────┤
211200zabbix_host               │ Management    of    Zabbix │
211201              │                          │ hosts.                     │
211202              ├──────────────────────────┼────────────────────────────┤
211203zabbix_hostgroup          │ Management  of Zabbix host │
211204              │                          │ groups.                    │
211205              ├──────────────────────────┼────────────────────────────┤
211206zabbix_mediatype          │ Management of Zabbix medi‐ │
211207              │                          │ atypes.                    │
211208              ├──────────────────────────┼────────────────────────────┤
211209zabbix_template           │ New in version 2017.7.     │
211210              ├──────────────────────────┼────────────────────────────┤
211211zabbix_user               │ Management    of    Zabbix │
211212              │                          │ users.                     │
211213              ├──────────────────────────┼────────────────────────────┤
211214zabbix_usergroup          │ Management of Zabbix  user │
211215              │                          │ groups.                    │
211216              ├──────────────────────────┼────────────────────────────┤
211217zabbix_valuemap           │ New in version 2017.7.     │
211218              ├──────────────────────────┼────────────────────────────┤
211219zcbuildout                │ Management of zc.buildout  │
211220              ├──────────────────────────┼────────────────────────────┤
211221zenoss                    │ State to manage monitoring │
211222              │                          │ in Zenoss.                 │
211223              ├──────────────────────────┼────────────────────────────┤
211224zk_concurrency            │ Control   concurrency   of │
211225              │                          │ steps  within state execu‐ │
211226              │                          │ tion using zookeeper       │
211227              ├──────────────────────────┼────────────────────────────┤
211228zfs                       │ States  for  managing  zfs │
211229              │                          │ datasets                   │
211230              ├──────────────────────────┼────────────────────────────┤
211231zone                      │ Management    of   Solaris │
211232              │                          │ Zones                      │
211233              ├──────────────────────────┼────────────────────────────┤
211234zookeeper                 │                            │
211235              │                          │        depends             
211236              │                          │               kazoo        │
211237              ├──────────────────────────┼────────────────────────────┤
211238zpool                     │ States for managing zpools │
211239              └──────────────────────────┴────────────────────────────┘
211240
211241   salt.states.acme module
211242   ACME / Let's Encrypt certificate management state
211243       See also the module documentation
211244
211245          reload-gitlab:
211246            cmd.run:
211247              - name: gitlab-ctl hup
211248
211249          dev.example.com:
211250            acme.cert:
211251              - aliases:
211252                - gitlab.example.com
211253              - email: acmemaster@example.com
211254              - webroot: /opt/gitlab/embedded/service/gitlab-rails/public
211255              - renew: 14
211256              - fire_event: acme/dev.example.com
211257              - onchanges_in:
211258                - cmd: reload-gitlab
211259
211260       salt.states.acme.cert(name,  aliases=None,  email=None,   webroot=None,
211261       test_cert=False,  renew=None, keysize=None, server=None, owner=u'root',
211262       group=u'root', mode=u'0640', certname=None,  preferred_challenges=None,
211263       tls_sni_01_port=None,    tls_sni_01_address=None,    http_01_port=None,
211264       http_01_address=None, dns_plugin=None, dns_plugin_credentials=None)
211265              Obtain/renew a certificate  from  an  ACME  CA,  probably  Let's
211266              Encrypt.
211267
211268              Parameters
211269
211270                     · name  --  Common  Name  of the certificate (DNS name of
211271                       certificate)
211272
211273                     · aliases -- subjectAltNames  (Additional  DNS  names  on
211274                       certificate)
211275
211276                     · email  --  e-mail  address  for  interaction  with ACME
211277                       provider
211278
211279                     · webroot -- True or a full path  to  webroot.  Otherwise
211280                       use standalone mode
211281
211282                     · test_cert  --  Request  a  certificate  from  the Happy
211283                       Hacker Fake CA (mutually exclusive with 'server')
211284
211285                     · renew -- True/'force' to force a renewal, or  a  window
211286                       of renewal before expiry in days
211287
211288                     · keysize -- RSA key bits
211289
211290                     · server -- API endpoint to talk to
211291
211292                     · owner -- owner of the private key file
211293
211294                     · group -- group of the private key file
211295
211296                     · mode -- mode of the private key file
211297
211298                     · certname -- Name of the certificate to save
211299
211300                     · preferred_challenges  -- A sorted, comma delimited list
211301                       of the preferred challenge to use during  authorization
211302                       with the most preferred challenge listed first.
211303
211304                     · tls_sni_01_port  --  Port  used during tls-sni-01 chal‐
211305                       lenge. This only affects the port Certbot listens on. A
211306                       conforming ACME server will still attempt to connect on
211307                       port 443.
211308
211309                     · tls_sni_01_address -- The address the server listens to
211310                       during tls-sni-01 challenge.
211311
211312                     · http_01_port  --  Port  used  in the http-01 challenge.
211313                       This only affects the port Certbot listens on.  A  con‐
211314                       forming  ACME  server  will still attempt to connect on
211315                       port 80.
211316
211317                     · https_01_address -- The address the server  listens  to
211318                       during http-01 challenge.
211319
211320                     · dns_plugin  --  Name  of a DNS plugin to use (currently
211321                       only 'cloudflare')
211322
211323                     · dns_plugin_credentials -- Path to the credentials  file
211324                       if required by the specified DNS plugin
211325
211326   salt.states.alias
211327       Configuration of email aliases
211328
211329       The  mail  aliases  file can be managed to contain definitions for spe‐
211330       cific email aliases:
211331
211332          username:
211333            alias.present:
211334              - target: user@example.com
211335
211336          thomas:
211337            alias.present:
211338              - target: thomas@example.com
211339
211340       The default alias file is set to /etc/aliases,  as  defined  in  Salt's
211341       config  execution  module.  To  change  the alias file from the default
211342       location, set the following in your minion config:
211343
211344          aliases.file: /my/alias/file
211345
211346       salt.states.alias.absent(name)
211347              Ensure that the named alias is absent
211348
211349              name   The alias to remove
211350
211351       salt.states.alias.present(name, target)
211352              Ensures that the named alias is present with the given target or
211353              list of targets. If the alias exists but the target differs from
211354              the previous entry, the target(s) will be  overwritten.  If  the
211355              alias does not exist, the alias will be created.
211356
211357              name   The local user/address to assign an alias to
211358
211359              target The forwarding address
211360
211361   salt.states.alternatives
211362       Configuration of the alternatives system
211363
211364       Control the alternatives system
211365
211366          {% set my_hadoop_conf = '/opt/hadoop/conf' %}
211367
211368          {{ my_hadoop_conf }}:
211369            file.directory
211370
211371          hadoop-0.20-conf:
211372            alternatives.install:
211373              - name: hadoop-0.20-conf
211374              - link: /etc/hadoop-0.20/conf
211375              - path: {{ my_hadoop_conf }}
211376              - priority: 30
211377              - require:
211378                - file: {{ my_hadoop_conf }}
211379
211380          hadoop-0.20-conf:
211381            alternatives.remove:
211382              - name: hadoop-0.20-conf
211383              - path: {{ my_hadoop_conf }}
211384
211385       salt.states.alternatives.auto(name)
211386              New in version 0.17.0.
211387
211388
211389              Instruct  alternatives  to  use  the  highest  priority path for
211390              <name>
211391
211392              name   is the master name for this link group (e.g. pager)
211393
211394       salt.states.alternatives.install(name, link, path, priority)
211395              Install new alternative for defined <name>
211396
211397              name   is the master name for this link group (e.g. pager)
211398
211399              link   is  the  symlink  pointing  to  /etc/alternatives/<name>.
211400                     (e.g. /usr/bin/pager)
211401
211402              path   is  the location of the new alternative target.  NB: This
211403                     file   /   directory   must   already    exist.     (e.g.
211404                     /usr/bin/less)
211405
211406              priority
211407                     is  an  integer;  options with higher numbers have higher
211408                     priority in automatic mode.
211409
211410       salt.states.alternatives.remove(name, path)
211411              Removes installed alternative for defined <name> and  <path>  or
211412              fallback to default alternative, if some defined before.
211413
211414              name   is the master name for this link group (e.g. pager)
211415
211416              path   is  the  location of one of the alternative target files.
211417                     (e.g. /usr/bin/less)
211418
211419       salt.states.alternatives.set_(name, path)
211420              New in version 0.17.0.
211421
211422
211423              Sets alternative for <name> to <path>, if <path> is  defined  as
211424              an alternative for <name>.
211425
211426              name   is the master name for this link group (e.g. pager)
211427
211428              path   is  the  location of one of the alternative target files.
211429                     (e.g. /usr/bin/less)
211430
211431                 foo:
211432                   alternatives.set:
211433                     - path: /usr/bin/foo-2.0
211434
211435   salt.states.ansiblegate
211436   Execution of Ansible modules from within states
211437       With ansible.call these states allow individual Ansible module calls to
211438       be made via states. To call an Ansible module function use a module.run
211439       state:
211440
211441          some_set_of_tasks:
211442            ansible:
211443              - system.ping
211444              - packaging.os.zypper
211445                - name: emacs
211446                - state: installed
211447
211448       class salt.states.ansiblegate.AnsibleState
211449              Ansible state caller.
211450
211451              get_args(argset)
211452                     Get args and kwargs from the argset.
211453
211454                     Parameters
211455                            argset --
211456
211457                     Returns
211458
211459
211460       salt.states.ansiblegate.playbooks(name,   rundir=None,   git_repo=None,
211461       git_kwargs=None, ansible_kwargs=None)
211462              Run Ansible Playbooks
211463
211464              Parameters
211465
211466                     · name  --  path  to  playbook.  This  can be relative to
211467                       rundir or the git repo
211468
211469                     · rundir -- location to run ansible-playbook from.
211470
211471                     · git_repo -- git repository to clone for  ansible  play‐
211472                       books.   This is cloned using the git.latest state, and
211473                       is cloned to the rundir if specified, otherwise  it  is
211474                       clone to the cache_dir
211475
211476                     · git_kwargs  -- extra kwargs to pass to git.latest state
211477                       module besides the name and target
211478
211479                     · ansible_kwargs -- extra kwargs to pass to ansible.play‐
211480                       books execution module besides the name and target
211481
211482              Returns
211483                     Ansible playbook output.
211484
211485                 run nginx install:
211486                   ansible.playbooks:
211487                     - name: install.yml
211488                     - git_repo: git://github.com/gituser/playbook.git
211489                     - git_kwargs:
211490                         rev: master
211491
211492   salt.states.apache
211493       Apache state
211494
211495       New in version 2014.7.0.
211496
211497
211498       Allows  for inputting a yaml dictionary into a file for apache configu‐
211499       ration files.
211500
211501       The variable this is special and signifies what should be included with
211502       the above word between angle brackets (<>).
211503
211504          /etc/httpd/conf.d/website.com.conf:
211505            apache.configfile:
211506              - config:
211507                - VirtualHost:
211508                    this: '*:80'
211509                    ServerName:
211510                      - website.com
211511                    ServerAlias:
211512                      - www.website.com
211513                      - dev.website.com
211514                    ErrorLog: logs/website.com-error_log
211515                    CustomLog: logs/website.com-access_log combined
211516                    DocumentRoot: /var/www/vhosts/website.com
211517                    Directory:
211518                      this: /var/www/vhosts/website.com
211519                      Order: Deny,Allow
211520                      Deny from: all
211521                      Allow from:
211522                        - 127.0.0.1
211523                        - 192.168.100.0/24
211524                      Options:
211525                        - Indexes
211526                        - FollowSymlinks
211527                      AllowOverride: All
211528
211529       Changed in version 2018.3.
211530
211531
211532       Allows  having  the same section container multiple times (e.g. <Direc‐
211533       tory /path/to/dir>).
211534
211535       YAML structure stays the same only replace dictionary with a list.
211536
211537       When a section container does not have  mandatory  attribute,  such  as
211538       <Else>,  it  still  needs keyword this with empty string (or "" if nicer
211539       output is required - without space).
211540
211541          /etc/httpd/conf.d/website.com.conf:
211542            apache.configfile:
211543              - config:
211544                - VirtualHost:
211545                    - this: '*:80'
211546                    - ServerName:
211547                      - website.com
211548                    - DocumentRoot: /var/www/vhosts/website.com
211549                    - Directory:
211550                        this: /var/www/vhosts/website.com
211551                        Order: Deny,Allow
211552                        Deny from: all
211553                        Allow from:
211554                          - 127.0.0.1
211555                          - 192.168.100.0/24
211556                        Options:
211557                          - Indexes
211558                          - FollowSymlinks
211559                        AllowOverride: All
211560                    - Directory:
211561                      - this: /var/www/vhosts/website.com/private
211562                      - Order: Deny,Allow
211563                      - Deny from: all
211564                      - Allow from:
211565                        - 127.0.0.1
211566                        - 192.168.100.0/24
211567                      - If:
211568                          this: some condition
211569                          do: something
211570                      - Else:
211571                          this:
211572                          do: something else
211573                      - Else:
211574                          this: ""
211575                          do: another thing
211576
211577       salt.states.apache.configfile(name, config)
211578
211579   salt.states.apache_conf module
211580       Manage Apache Confs
211581
211582       New in version 2016.3.0.
211583
211584
211585       Enable and disable apache confs.
211586
211587          Enable security conf:
211588            apache_conf.enabled:
211589              - name: security
211590
211591          Disable security conf:
211592            apache_conf.disabled:
211593              - name: security
211594
211595       salt.states.apache_conf.disabled(name)
211596              Ensure an Apache conf is disabled.
211597
211598              name   Name of the Apache conf
211599
211600       salt.states.apache_conf.enabled(name)
211601              Ensure an Apache conf is enabled.
211602
211603              name   Name of the Apache conf
211604
211605   salt.states.apache_module
211606       Manage Apache Modules
211607
211608       New in version 2014.7.0.
211609
211610
211611       Enable and disable apache modules.
211612
211613          Enable cgi module:
211614            apache_module.enabled:
211615              - name: cgi
211616
211617          Disable cgi module:
211618            apache_module.disabled:
211619              - name: cgi
211620
211621       salt.states.apache_module.disabled(name)
211622              Ensure an Apache module is disabled.
211623
211624              New in version 2016.3.0.
211625
211626
211627              name   Name of the Apache module
211628
211629       salt.states.apache_module.enabled(name)
211630              Ensure an Apache module is enabled.
211631
211632              New in version 2016.3.0.
211633
211634
211635              name   Name of the Apache module
211636
211637   salt.states.apache_site module
211638       Manage Apache Sites
211639
211640       New in version 2016.3.0.
211641
211642
211643       Enable and disable apache sites.
211644
211645          Enable default site:
211646            apache_site.enabled:
211647              - name: default
211648
211649          Disable default site:
211650            apache_site.disabled:
211651              - name: default
211652
211653       salt.states.apache_site.disabled(name)
211654              Ensure an Apache site is disabled.
211655
211656              name   Name of the Apache site
211657
211658       salt.states.apache_site.enabled(name)
211659              Ensure an Apache site is enabled.
211660
211661              name   Name of the Apache site
211662
211663   salt.states.aptpkg
211664   Package management operations specific to APT- and DEB-based systems
211665       salt.states.aptpkg.held(name)
211666              Set package in 'hold' state, meaning it will not be upgraded.
211667
211668              name   The name of the package, e.g., 'tmux'
211669
211670   salt.states.archive
211671       Extract an archive
211672
211673       New in version 2014.1.0.
211674
211675
211676       salt.states.archive.extracted(name,      source,      source_hash=None,
211677       source_hash_name=None,   source_hash_update=False,   skip_verify=False,
211678       password=None,  options=None,  list_options=None,  force=False,   over‐
211679       write=False,   clean=False,   user=None,  group=None,  if_missing=None,
211680       trim_output=False,       use_cmd_unzip=None,        extract_perms=True,
211681       enforce_toplevel=True,  enforce_ownership_on=None, archive_format=None,
211682       **kwargs)
211683              New in version 2014.1.0.
211684
211685
211686              Changed in version 2016.11.0: This  state  has  been  rewritten.
211687              Some arguments are new to this release and will not be available
211688              in the 2016.3 release cycle (and  earlier).   Additionally,  the
211689              ZIP  Archive  Handling section below applies specifically to the
211690              2016.11.0 release (and newer).
211691
211692
211693              Ensure that an archive is extracted to a specific directory.
211694
211695              IMPORTANT:
211696                 Changes for 2016.11.0
211697
211698                 In earlier releases, this state would rely on the  if_missing
211699                 argument to determine whether or not the archive needed to be
211700                 extracted. When this argument was not passed, then the  state
211701                 would just assume if_missing is the same as the name argument
211702                 (i.e. the parent directory into which the  archive  would  be
211703                 extracted).
211704
211705                 This  caused  a  number of annoyances. One such annoyance was
211706                 the need to know beforehand a path that would result from the
211707                 extraction  of  the  archive,  and setting if_missing to that
211708                 directory, like so:
211709
211710                     extract_myapp:
211711                       archive.extracted:
211712                         - name: /var/www
211713                         - source: salt://apps/src/myapp-16.2.4.tar.gz
211714                         - user: www
211715                         - group: www
211716                         - if_missing: /var/www/myapp-16.2.4
211717
211718                 If /var/www already  existed,  this  would  effectively  make
211719                 if_missing  a  required argument, just to get Salt to extract
211720                 the archive.
211721
211722                 Some users worked around this by adding the top-level  direc‐
211723                 tory of the archive to the end of the name argument, and then
211724                 used --strip or --strip-components to remove  that  top-level
211725                 dir when extracting:
211726
211727                     extract_myapp:
211728                       archive.extracted:
211729                         - name: /var/www/myapp-16.2.4
211730                         - source: salt://apps/src/myapp-16.2.4.tar.gz
211731                         - user: www
211732                         - group: www
211733
211734                 With  the  rewrite  for  2016.11.0,  these workarounds are no
211735                 longer necessary. if_missing is still a  supported  argument,
211736                 but it is no longer required. The equivalent SLS in 2016.11.0
211737                 would be:
211738
211739                     extract_myapp:
211740                       archive.extracted:
211741                         - name: /var/www
211742                         - source: salt://apps/src/myapp-16.2.4.tar.gz
211743                         - user: www
211744                         - group: www
211745
211746                 Salt now uses a function called archive.list to get a list of
211747                 files/directories in the archive. Using this information, the
211748                 state can now check the minion to see if any paths are  miss‐
211749                 ing,  and  know  whether  or  not  the  archive  needs  to be
211750                 extracted. This makes the if_missing argument unnecessary  in
211751                 most use cases.
211752
211753              IMPORTANT:
211754                 ZIP Archive Handling
211755
211756                 Note: this information applies to 2016.11.0 and later.
211757
211758                 Salt has two different functions for extracting ZIP archives:
211759
211760                 1. archive.unzip,  which  uses  Python's  zipfile  module  to
211761                    extract ZIP files.
211762
211763                 2. archive.cmd_unzip, which uses the  unzip  CLI  command  to
211764                    extract ZIP files.
211765
211766                 Salt  will  prefer  the  use  of  archive.cmd_unzip  when CLI
211767                 options are specified (via the options  argument),  and  will
211768                 otherwise  prefer  the  archive.unzip  function.  Use  of ar‐
211769                 chive.cmd_unzip  can  be  forced  however  by   setting   the
211770                 use_cmd_unzip  argument  to  True.  By contrast, setting this
211771                 argument to False will  force  usage  of  archive.unzip.  For
211772                 example:
211773
211774                     /var/www:
211775                       archive.extracted:
211776                         - source: salt://foo/bar/myapp.zip
211777                         - use_cmd_unzip: True
211778
211779                 When use_cmd_unzip is omitted, Salt will choose which extrac‐
211780                 tion function to use based on  the  source  archive  and  the
211781                 arguments  passed  to the state. When in doubt, simply do not
211782                 set this argument; it is provided as a  means  of  overriding
211783                 the logic Salt uses to decide which function to use.
211784
211785                 There  are  differences  in  the  features  available in both
211786                 extraction functions. These are detailed below.
211787
211788                 · Command-line options (only supported by  archive.cmd_unzip)
211789                   -  When  the options argument is used, archive.cmd_unzip is
211790                   the only function that can be used to extract the  archive.
211791                   Therefore,  if use_cmd_unzip is specified and set to False,
211792                   and options is also set, the state will not proceed.
211793
211794                 · Permissions - Due to an upstream bug in Python, permissions
211795                   are  not  preserved  when  the  zipfile  module  is used to
211796                   extract an archive.   As  of  the  2016.11.0  release,  ar‐
211797                   chive.unzip  (as  well  as this state) has an extract_perms
211798                   argument which,  when  set  to  True  (the  default),  will
211799                   attempt   to   match   the  permissions  of  the  extracted
211800                   files/directories to those defined within the  archive.  To
211801                   disable  this  functionality and have the state not attempt
211802                   to preserve the  permissions  from  the  ZIP  archive,  set
211803                   extract_perms to False:
211804
211805                       /var/www:
211806                         archive.extracted:
211807                           - source: salt://foo/bar/myapp.zip
211808                           - extract_perms: False
211809
211810              name   Directory into which the archive should be extracted
211811
211812              source Archive to be extracted
211813
211814                     NOTE:
211815                        This  argument uses the same syntax as its counterpart
211816                        in the file.managed state.
211817
211818              source_hash
211819                     Hash of source file, or file with  list  of  hash-to-file
211820                     mappings
211821
211822                     NOTE:
211823                        This  argument uses the same syntax as its counterpart
211824                        in the file.managed state.
211825
211826                     Changed in version 2016.11.0: If this argument  specifies
211827                     the  hash  itself,  instead of a URI to a file containing
211828                     hashes, the hash type can now be omitted  and  Salt  will
211829                     determine  the hash type based on the length of the hash.
211830                     For example, both of the  below  states  are  now  valid,
211831                     while before only the second one would be:
211832
211833
211834                        foo_app:
211835                          archive.extracted:
211836                            - name: /var/www
211837                            - source: https://mydomain.tld/foo.tar.gz
211838                            - source_hash: 3360db35e682f1c5f9c58aa307de16d41361618c
211839
211840                        bar_app:
211841                          archive.extracted:
211842                            - name: /var/www
211843                            - source: https://mydomain.tld/bar.tar.gz
211844                            - source_hash: sha1=5edb7d584b82ddcbf76e311601f5d4442974aaa5
211845
211846              source_hash_name
211847                     When  source_hash refers to a hash file, Salt will try to
211848                     find the correct hash by matching the  filename  part  of
211849                     the  source  URI.  When  managing a file with a source of
211850                     salt://files/foo.tar.gz, then the  following  line  in  a
211851                     hash file would match:
211852
211853                        acbd18db4cc2f85cedef654fccc4a4d8    foo.tar.gz
211854
211855                     This line would also match:
211856
211857                        acbd18db4cc2f85cedef654fccc4a4d8    ./dir1/foo.tar.gz
211858
211859                     However, sometimes a hash file will include multiple sim‐
211860                     ilar paths:
211861
211862                        37b51d194a7513e45b56f6524f2d51f2    ./dir1/foo.txt
211863                        acbd18db4cc2f85cedef654fccc4a4d8    ./dir2/foo.txt
211864                        73feffa4b7f6bb68e44cf984c85f6e88    ./dir3/foo.txt
211865
211866                     In cases like this, Salt may match  the  incorrect  hash.
211867                     This  argument can be used to tell Salt which filename to
211868                     match, to ensure that the correct hash is identified. For
211869                     example:
211870
211871                        /var/www:
211872                          archive.extracted:
211873                            - source: https://mydomain.tld/dir2/foo.tar.gz
211874                            - source_hash: https://mydomain.tld/hashes
211875                            - source_hash_name: ./dir2/foo.tar.gz
211876
211877                     NOTE:
211878                        This  argument  must  contain  the full filename entry
211879                        from the checksum file, as this argument is  meant  to
211880                        disambiguate  matches for multiple files that have the
211881                        same basename. So, in the example above, simply  using
211882                        foo.txt would not match.
211883
211884                     New in version 2016.11.0.
211885
211886
211887              source_hash_update
211888                     False  Set this to True if archive should be extracted if
211889                     source_hash has changed. This would extract regardless of
211890                     the if_missing parameter.
211891
211892                     New in version 2016.3.0.
211893
211894
211895              skip_verify
211896                     False  If  True, hash verification of remote file sources
211897                     (http://, https://, ftp://)  will  be  skipped,  and  the
211898                     source_hash argument will be ignored.
211899
211900                     New in version 2016.3.4.
211901
211902
211903              keep_source
211904                     True  For  source  archives not local to the minion (i.e.
211905                     from the Salt fileserver  or  a  remote  source  such  as
211906                     http(s)  or  ftp), Salt will need to download the archive
211907                     to the minion cache before  they  can  be  extracted.  To
211908                     remove  the downloaded archive after extraction, set this
211909                     argument to False.
211910
211911                     New in version 2017.7.3.
211912
211913
211914              keep   True Same as keep_source, kept  for  backward-compatibil‐
211915                     ity.
211916
211917                     NOTE:
211918                        If  both  keep_source  and keep are used, keep will be
211919                        ignored.
211920
211921              password
211922                     For ZIP archives only. Password used for extraction.
211923
211924                     New in version 2016.3.0.
211925
211926
211927                     Changed  in  version  2016.11.0:  The   newly-added   ar‐
211928                     chive.is_encrypted  function will be used to determine if
211929                     the archive is password-protected. If  it  is,  then  the
211930                     password  argument will be required for the state to pro‐
211931                     ceed.
211932
211933
211934              options
211935                     For tar and zip archives only.  This option can  be  used
211936                     to  specify  a  string of additional arguments to pass to
211937                     the tar/zip command.
211938
211939                     If this argument  is  not  used,  then  the  minion  will
211940                     attempt to use Python's native tarfile/zipfile support to
211941                     extract it. For zip archives,  this  argument  is  mostly
211942                     used to overwrite exsiting files with o.
211943
211944                     Using  this  argument means that the tar or unzip command
211945                     will be used, which is less platform-independent, so keep
211946                     this in mind when using this option; the CLI options must
211947                     be valid options for the tar/unzip implementation on  the
211948                     minion's OS.
211949
211950                     New in version 2016.11.0.
211951
211952
211953                     Changed  in version 2015.8.11,2016.3.2: XZ-compressed tar
211954                     archives no longer require J to manually be  set  in  the
211955                     options,  they  are now detected automatically and decom‐
211956                     pressed using the xz CLI command and extracted using  tar
211957                     xvf. This is a more platform-independent solution, as not
211958                     all  tar  implementations  support  the  J  argument  for
211959                     extracting archives.
211960
211961
211962                     NOTE:
211963                        For  tar  archives, main operators like -x, --extract,
211964                        --get, -c and -f/--file should not be used here.
211965
211966              list_options
211967                     For tar archives only. This state  uses  archive.list  to
211968                     discover  the  contents  of the source archive so that it
211969                     knows which file paths should exist on the minion if  the
211970                     archive has already been extracted. For the vast majority
211971                     of tar archives, archive.list "just works". Archives com‐
211972                     pressed  using gzip, bzip2, and xz/lzma (with the help of
211973                     the xz CLI command) are supported automatically. However,
211974                     for  archives  compressed  using other compression types,
211975                     CLI options must be passed to archive.list.
211976
211977                     This argument will be passed through to  archive.list  as
211978                     its  options  argument,  to allow it to successfully list
211979                     the archive's contents. For  the  vast  majority  of  ar‐
211980                     chives,  this  argument  should  not  need to be used, it
211981                     should only be needed in cases where the state fails with
211982                     an error stating that the archive's contents could not be
211983                     listed.
211984
211985                     New in version 2016.11.0.
211986
211987
211988              force  False If a path that should be occupied by a file in  the
211989                     extracted  result is instead a directory (or vice-versa),
211990                     the state will fail. Set this argument to True  to  force
211991                     these  paths  to be removed in order to allow the archive
211992                     to be extracted.
211993
211994                     WARNING:
211995                        Use this option very carefully.
211996
211997                     New in version 2016.11.0.
211998
211999
212000              overwrite
212001                     False Set this  to  True  to  force  the  archive  to  be
212002                     extracted.  This  is  useful  for  cases  where the file‐
212003                     names/directories have not changed, but  the  content  of
212004                     the files have.
212005
212006                     New in version 2016.11.1.
212007
212008
212009              clean  False  Set this to True to remove any top-level files and
212010                     recursively remove any top-level directory  paths  before
212011                     extracting.
212012
212013                     NOTE:
212014                        Files will only be cleaned first if extracting the ar‐
212015                        chive is deemed necessary, either by paths missing  on
212016                        the minion, or if overwrite is set to True.
212017
212018                     New in version 2016.11.1.
212019
212020
212021              user   The  user  to  own  each extracted file. Not available on
212022                     Windows.
212023
212024                     New in version 2015.8.0.
212025
212026
212027                     Changed in version 2016.3.0:  When  used  in  combination
212028                     with  if_missing,  ownership  will  only  be  enforced if
212029                     if_missing is a directory.
212030
212031
212032                     Changed in version 2016.11.0: Ownership will be  enforced
212033                     only  on  the  file/directory  paths found by running ar‐
212034                     chive.list on the source  archive.  An  alternative  root
212035                     directory  on which to enforce ownership can be specified
212036                     using the enforce_ownership_on argument.
212037
212038
212039              group  The group to own each extracted file.  Not  available  on
212040                     Windows.
212041
212042                     New in version 2015.8.0.
212043
212044
212045                     Changed  in  version  2016.3.0:  When used in combination
212046                     with if_missing,  ownership  will  only  be  enforced  if
212047                     if_missing is a directory.
212048
212049
212050                     Changed  in version 2016.11.0: Ownership will be enforced
212051                     only on the file/directory paths  found  by  running  ar‐
212052                     chive.list  on  the  source  archive. An alternative root
212053                     directory on which to enforce ownership can be  specified
212054                     using the enforce_ownership_on argument.
212055
212056
212057              if_missing
212058                     If specified, this path will be checked, and if it exists
212059                     then the archive will not be extracted. This path can  be
212060                     either  a directory or a file, so this option can also be
212061                     used to check for a semaphore file and conditionally skip
212062                     extraction.
212063
212064                     Changed  in  version  2016.3.0:  When used in combination
212065                     with  either  user  or  group,  ownership  will  only  be
212066                     enforced when if_missing is a directory.
212067
212068
212069                     Changed in version 2016.11.0: Ownership enforcement is no
212070                     longer tied to this argument, it is  simply  checked  for
212071                     existence  and  extraction  will  be  skipped  if  if  is
212072                     present.
212073
212074
212075              trim_output
212076                     False Useful for archives with many files in  them.  This
212077                     can  either  be set to True (in which case only the first
212078                     100 files extracted will be in the state results), or  it
212079                     can  be set to an integer for more exact control over the
212080                     max number of files to include in the state results.
212081
212082                     New in version 2016.3.0.
212083
212084
212085              use_cmd_unzip
212086                     False Set to True for zip files to force usage of the ar‐
212087                     chive.cmd_unzip function to extract.
212088
212089                     New in version 2016.11.0.
212090
212091
212092              extract_perms
212093                     True  For  ZIP archives only. When using archive.unzip to
212094                     extract ZIP archives, Salt works around an  upstream  bug
212095                     in   Python   to   set   the   permissions  on  extracted
212096                     files/directories to match those encoded into the ZIP ar‐
212097                     chive.  Set  this  argument  to  False to skip this work‐
212098                     around.
212099
212100                     New in version 2016.11.0.
212101
212102
212103              enforce_toplevel
212104                     True This option will enforce a single directory  at  the
212105                     top  level of the source archive, to prevent extracting a
212106                     'tar-bomb'. Set this argument to False to allow  archives
212107                     with  files (or multiple directories) at the top level to
212108                     be extracted.
212109
212110                     New in version 2016.11.0.
212111
212112
212113              enforce_ownership_on
212114                     When user or group is specified,  Salt  will  default  to
212115                     enforcing   permissions   on   the  file/directory  paths
212116                     detected by running archive.list on the  source  archive.
212117                     Use  this  argument  to specify an alternate directory on
212118                     which ownership should be enforced.
212119
212120                     NOTE:
212121                        This path must be within the  path  specified  by  the
212122                        name argument.
212123
212124                     New in version 2016.11.0.
212125
212126
212127              archive_format
212128                     One of tar, zip, or rar.
212129
212130                     Changed  in  version  2016.11.0:  If omitted, the archive
212131                     format will be guessed based on the value of  the  source
212132                     argument.  If  the minion is running a release older than
212133                     2016.11.0, this option is required.
212134
212135
212136              Examples
212137
212138              1. tar with lmza (i.e. xz) compression:
212139
212140                    graylog2-server:
212141                      archive.extracted:
212142                        - name: /opt/
212143                        - source: https://github.com/downloads/Graylog2/graylog2-server/graylog2-server-0.9.6p1.tar.lzma
212144                        - source_hash: md5=499ae16dcae71eeb7c3a30c75ea7a1a6
212145
212146              2. tar archive with flag for verbose output, and enforcement  of
212147                 user/group ownership:
212148
212149                    graylog2-server:
212150                      archive.extracted:
212151                        - name: /opt/
212152                        - source: https://github.com/downloads/Graylog2/graylog2-server/graylog2-server-0.9.6p1.tar.gz
212153                        - source_hash: md5=499ae16dcae71eeb7c3a30c75ea7a1a6
212154                        - options: v
212155                        - user: foo
212156                        - group: foo
212157
212158              3. tar  archive,  with source_hash_update set to True to prevent
212159                 state from attempting extraction unless the source_hash  dif‐
212160                 fers from the previous time the archive was extracted:
212161
212162                    graylog2-server:
212163                      archive.extracted:
212164                        - name: /opt/
212165                        - source: https://github.com/downloads/Graylog2/graylog2-server/graylog2-server-0.9.6p1.tar.lzma
212166                        - source_hash: md5=499ae16dcae71eeb7c3a30c75ea7a1a6
212167                        - source_hash_update: True
212168
212169   salt.states.artifactory
212170       This state downloads artifacts from artifactory.
212171
212172       salt.states.artifactory.downloaded(name,  artifact, target_dir=u'/tmp',
212173       target_file=None, use_literal_group_id=False)
212174              Ensures that the artifact from artifactory exists at given loca‐
212175              tion.  If  it  doesn't  exist, then it will be downloaded. If it
212176              already exists then the checksum of  existing  file  is  checked
212177              against  checksum  in  artifactory.  If it is different then the
212178              step will fail.
212179
212180              artifact
212181                     Details of the artifact to be  downloaded  from  artifac‐
212182                     tory. Various options are:
212183
212184                     · artifactory_url: URL of the artifactory instance
212185
212186                     · repository: Repository in artifactory
212187
212188                     · artifact_id: Artifact ID
212189
212190                     · group_id: Group ID
212191
212192                     · packaging: Packaging
212193
212194                     · classifier: Classifier
212195
212196                     ·
212197
212198                       version: Version
212199                              One  of  the  following: - Version to download -
212200                              latest - Download the  latest  release  of  this
212201                              artifact - latest_snapshot - Download the latest
212202                              snapshot for this artifact
212203
212204                     · username: Artifactory username
212205
212206                     · password: Artifactory password
212207
212208              target_dir
212209                     Directory where the artifact  should  be  downloaded.  By
212210                     default it is downloaded to /tmp directory.
212211
212212              target_file
212213                     Target file to download artifact to. By default file name
212214                     is resolved by artifactory.
212215
212216              An example to download an artifact to a specific file:
212217
212218                 jboss_module_downloaded:
212219                   artifactory.downloaded:
212220                    - artifact:
212221                        artifactory_url: http://artifactory.intranet.example.com/artifactory
212222                        repository: 'libs-release-local'
212223                        artifact_id: 'module'
212224                        group_id: 'com.company.module'
212225                        packaging: 'jar'
212226                        classifier: 'sources'
212227                        version: '1.0'
212228                    - target_file: /opt/jboss7/modules/com/company/lib/module.jar
212229
212230              Download artifact to the  folder  (automatically  resolves  file
212231              name):
212232
212233                 jboss_module_downloaded:
212234                   artifactory.downloaded:
212235                    - artifact:
212236                         artifactory_url: http://artifactory.intranet.example.com/artifactory
212237                         repository: 'libs-release-local'
212238                         artifact_id: 'module'
212239                         group_id: 'com.company.module'
212240                         packaging: 'jar'
212241                         classifier: 'sources'
212242                         version: '1.0'
212243                    - target_dir: /opt/jboss7/modules/com/company/lib
212244
212245   salt.states.at
212246   Configuration disposable regularly scheduled tasks for at.
212247       The  at  state can be add disposable regularly scheduled tasks for your
212248       system.
212249
212250       salt.states.at.absent(name, jobid=None, **kwargs)
212251              Changed in version 2017.7.0.
212252
212253
212254              Remove a job from queue
212255
212256              jobid: string|int
212257                     Specific jobid to remove
212258
212259              tag    string Job's tag
212260
212261              runas  string Runs user-specified jobs
212262
212263              kwargs Addition kwargs can be provided to filter jobs.  See out‐
212264                     put of at.jobcheck for more.
212265
212266                 example1:
212267                   at.absent:
212268
212269              WARNING:
212270                 this will remove all jobs!
212271
212272                 example2:
212273                   at.absent:
212274                     - year: 13
212275
212276                 example3:
212277                   at.absent:
212278                     - tag: rose
212279
212280                 example4:
212281                   at.absent:
212282                     - tag: rose
212283                     - day: 13
212284                     - hour: 16
212285
212286                 example5:
212287                   at.absent:
212288                     - jobid: 4
212289
212290       salt.states.at.mod_watch(name, **kwargs)
212291              The at watcher, called to invoke the watch command.
212292
212293              NOTE:
212294                 This  state  exists  to support special handling of the watch
212295                 requisite. It should not be called directly.
212296
212297                 Parameters for this function should be set by the state being
212298                 triggered.
212299
212300              name   The name of the atjob
212301
212302       salt.states.at.present(name,  timespec,  tag=None, user=None, job=None,
212303       unique_tag=False)
212304              Changed in version 2017.7.0.
212305
212306
212307              Add a job to queue.
212308
212309              job    string Command to run.
212310
212311              timespec
212312                     string The 'timespec' follows the  format  documented  in
212313                     the at(1) manpage.
212314
212315              tag    string Make a tag for the job.
212316
212317              user   string The user to run the at job
212318
212319              unique_tag
212320                     boolean  If  set  to  True job will not be added if a job
212321                     with the tag exists.
212322
212323                 rose:
212324                   at.present:
212325                     - job: 'echo "I love saltstack" > love'
212326                     - timespec: '9:09 11/09/13'
212327                     - tag: love
212328                     - user: jam
212329
212330       salt.states.at.watch(name,  timespec,  tag=None,  user=None,  job=None,
212331       unique_tag=False)
212332              New in version 2017.7.0.
212333
212334
212335              Add an at job if trigger by watch
212336
212337              job    string Command to run.
212338
212339              timespec
212340                     string  The  'timespec'  follows the format documented in
212341                     the at(1) manpage.
212342
212343              tag    string Make a tag for the job.
212344
212345              user   string The user to run the at job
212346
212347              unique_tag
212348                     boolean If set to True job will not be  added  if  a  job
212349                     with the tag exists.
212350
212351                 minion_restart:
212352                   at.watch:
212353                     - job: 'salt-call --local service.restart salt-minion'
212354                     - timespec: 'now +1 min'
212355                     - tag: minion_restart
212356                     - unique_tag: trye
212357                     - watch:
212358                         - file: /etc/salt/minion
212359
212360   salt.states.augeas
212361       Configuration management using Augeas
212362
212363       New in version 0.17.0.
212364
212365
212366       This state requires the augeas Python module.
212367
212368       Augeas can be used to manage configuration files.
212369
212370       WARNING:
212371          Minimal  installations  of  Debian and Ubuntu have been seen to have
212372          packaging bugs with python-augeas, causing the augeas module to fail
212373          to  import.  If  the minion has the augeas module installed, and the
212374          state fails with a comment saying that  the  state  is  unavailable,
212375          first  restart the salt-minion service. If the problem persists past
212376          that, the following command can be run from the master to  determine
212377          what is causing the import to fail:
212378
212379              salt minion-id cmd.run 'python -c "from augeas import Augeas"'
212380
212381          For  affected  Debian/Ubuntu hosts, installing libpython2.7 has been
212382          known to resolve the issue.
212383
212384       salt.states.augeas.change(name, context=None, changes=None,  lens=None,
212385       load_path=None, **kwargs)
212386              New in version 2014.7.0.
212387
212388
212389              This state replaces setvalue().
212390
212391              Issue changes to Augeas, optionally for a specific context, with
212392              a specific lens.
212393
212394              name   State name
212395
212396              context
212397                     A file path, prefixed by /files.  Should  resolve  to  an
212398                     actual  file (not an arbitrary augeas path). This is used
212399                     to avoid duplicating the file name for each item  in  the
212400                     changes  list (for example, set bind 0.0.0.0 in the exam‐
212401                     ple below operates on the file specified by context).  If
212402                     context  is not specified, a file path prefixed by /files
212403                     should be included with the set command.
212404
212405                     The file path is examined to determine if  the  specified
212406                     changes are already present.
212407
212408                        redis-conf:
212409                          augeas.change:
212410                            - context: /files/etc/redis/redis.conf
212411                            - changes:
212412                              - set bind 0.0.0.0
212413                              - set maxmemory 1G
212414
212415              changes
212416                     List of changes that are issued to Augeas. Available com‐
212417                     mands are set, setm, mv/move, ins/insert, and rm/remove.
212418
212419              lens   The lens to use, needs to be suffixed  with  .lns,  e.g.:
212420                     Nginx.lns.   See  the  list  of stock lenses shipped with
212421                     Augeas.
212422
212423              New in version 2016.3.0.
212424
212425
212426              load_path
212427                     A list of directories that modules should be searched in.
212428                     This  is  in  addition  to the standard load path and the
212429                     directories in AUGEAS_LENS_LIB.
212430
212431              Usage examples:
212432
212433              Set the bind parameter in /etc/redis/redis.conf:
212434
212435                 redis-conf:
212436                   augeas.change:
212437                     - changes:
212438                       - set /files/etc/redis/redis.conf/bind 0.0.0.0
212439
212440              NOTE:
212441                 Use the context parameter to specify the  file  you  want  to
212442                 manipulate.  This  way  you don't have to include this in the
212443                 changes every time:
212444
212445                     redis-conf:
212446                       augeas.change:
212447                         - context: /files/etc/redis/redis.conf
212448                         - changes:
212449                           - set bind 0.0.0.0
212450                           - set databases 4
212451                           - set maxmemory 1G
212452
212453              Augeas is aware of a lot of common configuration files and their
212454              syntax.   It  knows  the  difference between for example ini and
212455              yaml files, but also files with very specific syntax,  like  the
212456              hosts  file.  This  is  done with lenses, which provide mappings
212457              between the Augeas tree and the file.
212458
212459              There are many preconfigured lenses that  come  with  Augeas  by
212460              default, and they specify the common locations for configuration
212461              files. So most of the time Augeas will know how to manipulate  a
212462              file.  In  the  event  that  you  need to manipulate a file that
212463              Augeas doesn't know about, you can specify the lens to use  like
212464              this:
212465
212466                 redis-conf:
212467                   augeas.change:
212468                     - lens: redis.lns
212469                     - context: /files/etc/redis/redis.conf
212470                     - changes:
212471                       - set bind 0.0.0.0
212472
212473              NOTE:
212474                 Even  though  Augeas  knows  that  /etc/redis/redis.conf is a
212475                 Redis configuration file and knows how to  parse  it,  it  is
212476                 recommended  to  specify  the lens anyway. This is because by
212477                 default, Augeas loads all known lenses and  their  associated
212478                 file paths. All these files are parsed when Augeas is loaded,
212479                 which can take some time. When specifying a lens,  Augeas  is
212480                 loaded  with  only  that lens, which speeds things up quite a
212481                 bit.
212482
212483              A more complex example, this adds an entry to the services  file
212484              for Zabbix, and removes an obsolete service:
212485
212486                 zabbix-service:
212487                   augeas.change:
212488                     - lens: services.lns
212489                     - context: /files/etc/services
212490                     - changes:
212491                       - ins service-name after service-name[last()]
212492                       - set service-name[last()] "zabbix-agent"
212493                       - set "service-name[. = 'zabbix-agent']/port" 10050
212494                       - set "service-name[. = 'zabbix-agent']/protocol" tcp
212495                       - set "service-name[. = 'zabbix-agent']/#comment" "Zabbix Agent service"
212496                       - rm "service-name[. = 'im-obsolete']"
212497                     - unless: grep "zabbix-agent" /etc/services
212498
212499              WARNING:
212500                 Don't  forget the unless here, otherwise it will fail on next
212501                 runs because the service is already defined. Additionally you
212502                 have   to  quote  lines  containing  service-name[.  =  'zab‐
212503                 bix-agent'] otherwise augeas_cfg execute will fail because it
212504                 will receive more parameters than expected.
212505
212506              NOTE:
212507                 Order  is  important  when defining a service with Augeas, in
212508                 this case it's port, protocol and  #comment.  For  more  info
212509                 about the lens check services lens documentation.
212510
212511              http://augeas.net/docs/references/lenses/files/services-aug.html#Services.record
212512
212513   salt.states.aws_sqs
212514       Manage SQS Queues
212515
212516       Create and destroy SQS queues. Be aware that this interacts  with  Ama‐
212517       zon's services, and so may incur charges.
212518
212519       This  module uses the awscli tool provided by Amazon. This can be down‐
212520       loaded from pip. Also check the documentation for awscli for configura‐
212521       tion information.
212522
212523          myqueue:
212524              aws_sqs.exists:
212525                  - region: eu-west-1
212526
212527       salt.states.aws_sqs.absent(name, region, user=None, opts=False)
212528              Remove the named SQS queue if it exists.
212529
212530              name   Name of the SQS queue.
212531
212532              region Region to remove the queue from
212533
212534              user   Name of the user performing the SQS operations
212535
212536              opts   Include  additional arguments and options to the aws com‐
212537                     mand line
212538
212539       salt.states.aws_sqs.exists(name, region, user=None, opts=False)
212540              Ensure the SQS queue exists.
212541
212542              name   Name of the SQS queue.
212543
212544              region Region to create the queue
212545
212546              user   Name of the user performing the SQS operations
212547
212548              opts   Include additional arguments and options to the aws  com‐
212549                     mand line
212550
212551   salt.states.beacon
212552   Management of the Salt beacons
212553       New in version 2015.8.0.
212554
212555
212556          ps:
212557            beacon.present:
212558              - save: True
212559              - enable: False
212560              - services:
212561                  salt-master: running
212562                  apache2: stopped
212563
212564          sh:
212565            beacon.present: []
212566
212567          load:
212568            beacon.present:
212569              - averages:
212570                  1m:
212571                    - 0.0
212572                    - 2.0
212573                  5m:
212574                    - 0.0
212575                    - 1.5
212576                  15m:
212577                    - 0.1
212578                    - 1.0
212579
212580       salt.states.beacon.absent(name, save=False, **kwargs)
212581              Ensure beacon is absent.
212582
212583              name   The name of the beacon ensured absent.
212584
212585              save   True/False, if True the beacons.conf file be updated too.
212586                     Default is False.
212587
212588       salt.states.beacon.disabled(name, **kwargs)
212589              Disable a beacon.
212590
212591              name   The name of the beacon to disable.
212592
212593       salt.states.beacon.enabled(name, **kwargs)
212594              Enable a beacon.
212595
212596              name   The name of the beacon to enable.
212597
212598       salt.states.beacon.present(name, save=False, **kwargs)
212599              Ensure beacon is configured with the included beacon data.
212600
212601              name   The name of the beacon ensure is configured.
212602
212603              save   True/False, if True the beacons.conf file be updated too.
212604                     Default is False.
212605
212606   salt.states.bigip
212607       A state module designed to enforce load-balancing configurations for F5
212608       Big-IP entities.
212609
212610              maturity
212611                     develop
212612
212613              platform
212614                     f5_bigip_11.6
212615
212616       salt.states.bigip.add_pool_member(hostname, username,  password,  name,
212617       member)
212618              A  function to connect to a bigip device and add a new member to
212619              an existing pool.
212620
212621              hostname
212622                     The host/address of the bigip device
212623
212624              username
212625                     The iControl REST username
212626
212627              password
212628                     The iControl REST password
212629
212630              name   The name of the pool to modify
212631
212632              member The member to add to the pool
212633
212634       salt.states.bigip.create_monitor(hostname,  username,  password,  moni‐
212635       tor_type, name, **kwargs)
212636              A function to connect to a bigip device and create a monitor.
212637
212638              hostname
212639                     The host/address of the bigip device
212640
212641              username
212642                     The iControl REST username
212643
212644              password
212645                     The iControl REST password
212646
212647              monitor_type
212648                     The type of monitor to create
212649
212650              name   The name of the monitor to create
212651
212652              kwargs [ arg=val ] ...
212653
212654                     Consult F5 BIGIP user guide for specific options for each
212655                     monitor type.  Typically, tmsh arg names are used.
212656
212657       salt.states.bigip.create_node(hostname,   username,   password,   name,
212658       address)
212659              Create a new node if it does not already exist.
212660
212661              hostname
212662                     The host/address of the bigip device
212663
212664              username
212665                     The iControl REST username
212666
212667              password
212668                     The iControl REST password
212669
212670              name   The name of the node to create
212671
212672              address
212673                     The address of the node
212674
212675       salt.states.bigip.create_pool(hostname,  username, password, name, mem‐
212676       bers=None,  allow_nat=None,  allow_snat=None,  description=None,  gate‐
212677       way_failsafe_device=None,                 ignore_persisted_weight=None,
212678       ip_tos_to_client=None, ip_tos_to_server=None,  link_qos_to_client=None,
212679       link_qos_to_server=None,    load_balancing_mode=None,   min_active_mem‐
212680       bers=None, min_up_members=None, min_up_members_action=None, min_up_mem‐
212681       bers_checking=None,             monitor=None,            profiles=None,
212682       queue_depth_limit=None,                 queue_on_connection_limit=None,
212683       queue_time_limit=None,  reselect_tries=None,  service_down_action=None,
212684       slow_ramp_time=None)
212685              Create a new node if it does not already exist.
212686
212687              hostname
212688                     The host/address of the bigip device
212689
212690              username
212691                     The iControl REST username
212692
212693              password
212694                     The iControl REST password
212695
212696              name   The name of the pool to create
212697
212698              members
212699                     List of members to be added to the pool
212700
212701              allow_nat
212702                     [yes | no]
212703
212704              allow_snat
212705                     [yes | no]
212706
212707              description
212708                     [string]
212709
212710              gateway_failsafe_device
212711                     [string]
212712
212713              ignore_persisted_weight
212714                     [enabled | disabled]
212715
212716              ip_tos_to_client
212717                     [pass-through | [integer]]
212718
212719              ip_tos_to_server
212720                     [pass-through | [integer]]
212721
212722              link_qos_to_client
212723                     [pass-through | [integer]]
212724
212725              link_qos_to_server
212726                     [pass-through | [integer]]
212727
212728              load_balancing_mode
212729                     [dynamic-ratio-member     |     dynamic-ratio-node      |
212730                     fastest-app-response   |   fastest-node  |  least-connec‐
212731                     tions-members | least-connections-node | least-sessions |
212732                     observed-member  |  observed-node  |  predictive-member |
212733                     predictive-node   |   ratio-least-connections-member    |
212734                     ratio-least-connections-node  | ratio-member | ratio-node
212735                     | ratio-session |  round-robin  |  weighted-least-connec‐
212736                     tions-member | weighted-least-connections-node]
212737
212738              min_active_members
212739                     [integer]
212740
212741              min_up_members
212742                     [integer]
212743
212744              min_up_members_action
212745                     [failover | reboot | restart-all]
212746
212747              min_up_members_checking
212748                     [enabled | disabled]
212749
212750              monitor
212751                     [name]
212752
212753              profiles
212754                     [none | profile_name]
212755
212756              queue_depth_limit
212757                     [integer]
212758
212759              queue_on_connection_limit
212760                     [enabled | disabled]
212761
212762              queue_time_limit
212763                     [integer]
212764
212765              reselect_tries
212766                     [integer]
212767
212768              service_down_action
212769                     [drop | none | reselect | reset]
212770
212771              slow_ramp_time
212772                     [integer]
212773
212774       salt.states.bigip.create_profile(hostname,   username,  password,  pro‐
212775       file_type, name, **kwargs)
212776              A function to connect to a bigip device and create a profile.
212777
212778              hostname
212779                     The host/address of the bigip device
212780
212781              username
212782                     The iControl REST username
212783
212784              password
212785                     The iControl REST password
212786
212787              profile_type
212788                     The type of profile to create
212789
212790              name   The name of the profile to create
212791
212792              kwargs [ arg=val ] ...
212793
212794                     Consult F5 BIGIP user guide for specific options for each
212795                     profile type.  Typically, tmsh arg names are used.
212796
212797              Special  Characters |, , and : must be escaped using \ when used
212798              within strings.
212799
212800       salt.states.bigip.create_virtual(hostname,  username,  password,  name,
212801       destination,    pool=None,    address_status=None,   auto_lasthop=None,
212802       bwc_policy=None,        cmp_enabled=None,        connection_limit=None,
212803       dhcp_relay=None,      description=None,      fallback_persistence=None,
212804       flow_eviction_policy=None, gtm_score=None,  ip_forward=None,  ip_proto‐
212805       col=None,   internal=None,   twelve_forward=None,   last_hop_pool=None,
212806       mask=None, mirror=None, nat64=None, persist=None, profiles=None,  poli‐
212807       cies=None,   rate_class=None,   rate_limit=None,  rate_limit_mode=None,
212808       rate_limit_dst=None,          rate_limit_src=None,          rules=None,
212809       related_rules=None,  reject=None,  source=None, source_address_transla‐
212810       tion=None, source_port=None, virtual_state=None,  traffic_classes=None,
212811       translate_address=None, translate_port=None, vlans=None)
212812              A  function  to  connect  to a bigip device and create a virtual
212813              server if it does not already exists.
212814
212815              hostname
212816                     The host/address of the bigip device
212817
212818              username
212819                     The iControl REST username
212820
212821              password
212822                     The iControl REST password
212823
212824              name   The name of the virtual to create
212825
212826              destination
212827                     [ [virtual_address_name:port] | [ipv4:port] | [ipv6.port]
212828                     ]
212829
212830              pool   [ [pool_name] | none]
212831
212832              address_status
212833                     [yes | no]
212834
212835              auto_lasthop
212836                     [default | enabled | disabled ]
212837
212838              bwc_policy
212839                     [none] | string]
212840
212841              cmp_enabled
212842                     [yes | no]
212843
212844              dhcp_relay
212845                     [yes | no}
212846
212847              connection_limit
212848                     [integer]
212849
212850              description
212851                     [string]
212852
212853              state  [disabled | enabled]
212854
212855              fallback_persistence
212856                     [none | [profile name] ]
212857
212858              flow_eviction_policy
212859                     [none | [eviction policy name] ]
212860
212861              gtm_score
212862                     [integer]
212863
212864              ip_forward
212865                     [yes | no]
212866
212867              ip_protocol
212868                     [any | protocol]
212869
212870              internal
212871                     [yes | no]
212872
212873              twelve_forward(12-forward)
212874                     [yes | no]
212875
212876              last_hop-pool
212877                     [ [pool_name] | none]
212878
212879              mask   { [ipv4] | [ipv6] }
212880
212881              mirror { [disabled | enabled | none] }
212882
212883              nat64  [enabled | disabled]
212884
212885              persist
212886                     [list]
212887
212888              profiles
212889                     [none | default | list ]
212890
212891              policies
212892                     [none | default | list ]
212893
212894              rate_class
212895                     [name]
212896
212897              rate_limit
212898                     [integer]
212899
212900              rate_limit-mode
212901                     [destination    |    object    |   object-destination   |
212902                     object-source  |  object-source-destination  |  source  |
212903                     source-destination]
212904
212905              rate_limit-dst
212906                     [integer]
212907
212908              rate_limit-src
212909                     [integer]
212910
212911              rules  [none | list ]
212912
212913              related_rules
212914                     [none | list ]
212915
212916              reject [yes | no]
212917
212918              source { [ipv4[/prefixlen]] | [ipv6[/prefixlen]] }
212919
212920              source_address_translation
212921                     [none | snat:pool_name | lsn | automap | dictionary ]
212922
212923              source_port
212924                     [change | preserve | preserve-strict]
212925
212926              state  [enabled | disabled]
212927
212928              traffic_classes
212929                     [none | default | list ]
212930
212931              translate_address
212932                     [enabled | disabled]
212933
212934              translate_port
212935                     [enabled | disabled]
212936
212937              vlans  [none | default | dictionary]
212938
212939                     vlan_ids
212940                            [ list]
212941
212942                     enabled
212943                            [ true | false ]
212944
212945       salt.states.bigip.delete_monitor(hostname,  username,  password,  moni‐
212946       tor_type, name)
212947              Modify an existing monitor.  If it does exists, only the parame‐
212948              ters specified will be enforced.
212949
212950              hostname
212951                     The host/address of the bigip device
212952
212953              username
212954                     The iControl REST username
212955
212956              password
212957                     The iControl REST password
212958
212959              monitor_type
212960                     The type of monitor to create
212961
212962              name   The name of the monitor to create
212963
212964              kwargs [ arg=val ] ...
212965
212966                     Consult F5 BIGIP user guide for specific options for each
212967                     monitor type.  Typically, tmsh arg names are used.
212968
212969       salt.states.bigip.delete_node(hostname, username, password, name)
212970              Delete an existing node.
212971
212972              hostname
212973                     The host/address of the bigip device
212974
212975              username
212976                     The iControl REST username
212977
212978              password
212979                     The iControl REST password
212980
212981              name   The name of the node which will be deleted.
212982
212983       salt.states.bigip.delete_pool(hostname, username, password, name)
212984              Delete an existing pool.
212985
212986              hostname
212987                     The host/address of the bigip device
212988
212989              username
212990                     The iControl REST username
212991
212992              password
212993                     The iControl REST password
212994
212995              name   The name of the pool which will be deleted
212996
212997       salt.states.bigip.delete_pool_member(hostname,   username,    password,
212998       name, member)
212999              Delete an existing pool member.
213000
213001              hostname
213002                     The host/address of the bigip device
213003
213004              username
213005                     The iControl REST username
213006
213007              password
213008                     The iControl REST password
213009
213010              name   The name of the pool to be modified
213011
213012              member The name of the member to delete from the pool
213013
213014       salt.states.bigip.delete_profile(hostname,   username,  password,  pro‐
213015       file_type, name)
213016              Modify an existing profile.  If it does exists, only the parame‐
213017              ters specified will be enforced.
213018
213019              hostname
213020                     The host/address of the bigip device
213021
213022              username
213023                     The iControl REST username
213024
213025              password
213026                     The iControl REST password
213027
213028              profile_type
213029                     The type of profile to create
213030
213031              name   The name of the profile to create
213032
213033              kwargs [ arg=val ] ...
213034
213035                     Consult F5 BIGIP user guide for specific options for each
213036                     profile type.  Typically, tmsh arg names are used.
213037
213038       salt.states.bigip.delete_virtual(hostname, username, password, name)
213039              Delete an existing virtual.
213040
213041              hostname
213042                     The host/address of the bigip device
213043
213044              username
213045                     The iControl REST username
213046
213047              password
213048                     The iControl REST password
213049
213050              name   The name of the virtual which will be deleted
213051
213052       salt.states.bigip.list_monitor(hostname,  username,   password,   moni‐
213053       tor_type, name)
213054              A function to list an exsiting monitor.
213055
213056              hostname
213057                     The host/address of the bigip device
213058
213059              username
213060                     The iControl REST username
213061
213062              password
213063                     The iControl REST password
213064
213065              monitor_type
213066                     The type of monitor to list
213067
213068              name   The name of the monitor to list
213069
213070       salt.states.bigip.list_node(hostname, username, password, name)
213071              A  function  to  connect  to  a bigip device and list a specific
213072              node.
213073
213074              hostname
213075                     The host/address of the bigip device
213076
213077              username
213078                     The iControl REST username
213079
213080              password
213081                     The iControl REST password
213082
213083              name   The name of the node to list.
213084
213085       salt.states.bigip.list_pool(hostname, username, password, name)
213086              A function to connect to a bigip  device  and  list  a  specific
213087              pool.
213088
213089              hostname
213090                     The host/address of the bigip device
213091
213092              username
213093                     The iControl REST username
213094
213095              password
213096                     The iControl REST password
213097
213098              name   The name of the pool to list.
213099
213100       salt.states.bigip.list_profile(hostname,   username,   password,   pro‐
213101       file_type, name)
213102              A function to list an existing profile.
213103
213104              hostname
213105                     The host/address of the bigip device
213106
213107              username
213108                     The iControl REST username
213109
213110              password
213111                     The iControl REST password
213112
213113              profile_type
213114                     The type of profile to list
213115
213116              name   The name of the profile to list
213117
213118       salt.states.bigip.list_virtual(hostname, username, password, name)
213119              A function to list a specific virtual.
213120
213121              hostname
213122                     The host/address of the bigip device
213123
213124              username
213125                     The iControl REST username
213126
213127              password
213128                     The iControl REST password
213129
213130              name   The name of the virtual to list
213131
213132       salt.states.bigip.manage_monitor(hostname,  username,  password,  moni‐
213133       tor_type, name, **kwargs)
213134              Create a new monitor if a monitor of this type and name does not
213135              already exists.  If it does exists, only the  parameters  speci‐
213136              fied will be enforced.
213137
213138              hostname
213139                     The host/address of the bigip device
213140
213141              username
213142                     The iControl REST username
213143
213144              password
213145                     The iControl REST password
213146
213147              monitor_type
213148                     The type of monitor to create
213149
213150              name   The name of the monitor to create
213151
213152              kwargs [ arg=val ] ...
213153
213154                     Consult F5 BIGIP user guide for specific options for each
213155                     monitor type.  Typically, tmsh arg names are used.
213156
213157       salt.states.bigip.manage_node(hostname,   username,   password,   name,
213158       address,  connection_limit=None,  description=None, dynamic_ratio=None,
213159       logging=None, monitor=None, rate_limit=None, ratio=None,  session=None,
213160       node_state=None)
213161              Manages  a  node  of a given bigip device.  If the node does not
213162              exist it will be created, otherwise, only the  properties  which
213163              are different than the existing will be updated.
213164
213165              hostname
213166                     The host/address of the bigip device
213167
213168              username
213169                     The iControl REST username
213170
213171              password
213172                     The iControl REST password
213173
213174              name   The name of the node to manage.
213175
213176              address
213177                     The address of the node
213178
213179              connection_limit
213180                     [integer]
213181
213182              description
213183                     [string]
213184
213185              dynam  c_ratio:        [integer]
213186
213187              logging
213188                     [enabled | disabled]
213189
213190              monitor
213191                     [[name] | none | default]
213192
213193              rate_limit
213194                     [integer]
213195
213196              ratio  [integer]
213197
213198              session
213199                     [user-enabled | user-disabled]
213200
213201              node_state (state)
213202                     [user-down | user-up ]
213203
213204       salt.states.bigip.manage_pool(hostname,   username,   password,   name,
213205       allow_nat=None,   allow_snat=None,   description=None,    gateway_fail‐
213206       safe_device=None,  ignore_persisted_weight=None, ip_tos_to_client=None,
213207       ip_tos_to_server=None,                         link_qos_to_client=None,
213208       link_qos_to_server=None,    load_balancing_mode=None,   min_active_mem‐
213209       bers=None, min_up_members=None, min_up_members_action=None, min_up_mem‐
213210       bers_checking=None,             monitor=None,            profiles=None,
213211       queue_depth_limit=None,                 queue_on_connection_limit=None,
213212       queue_time_limit=None,  reselect_tries=None,  service_down_action=None,
213213       slow_ramp_time=None)
213214              Create a new pool if it does not already exist. Pool members are
213215              managed separately. Only the parameters specified are enforced.
213216
213217              hostname
213218                     The host/address of the bigip device
213219
213220              username
213221                     The iControl REST username
213222
213223              password
213224                     The iControl REST password
213225
213226              name   The name of the pool to create
213227
213228              allow_nat
213229                     [yes | no]
213230
213231              allow_snat
213232                     [yes | no]
213233
213234              description
213235                     [string]
213236
213237              gateway_failsafe_device
213238                     [string]
213239
213240              ignore_persisted_weight
213241                     [enabled | disabled]
213242
213243              ip_tos_to_client
213244                     [pass-through | [integer]]
213245
213246              ip_tos_to_server
213247                     [pass-through | [integer]]
213248
213249              link_qos_to_client
213250                     [pass-through | [integer]]
213251
213252              link_qos_to_server
213253                     [pass-through | [integer]]
213254
213255              load_balancing_mode
213256                     [dynamic-ratio-member      |     dynamic-ratio-node     |
213257                     fastest-app-response  |  fastest-node   |   least-connec‐
213258                     tions-members | least-connections-node | least-sessions |
213259                     observed-member |  observed-node  |  predictive-member  |
213260                     predictive-node    |   ratio-least-connections-member   |
213261                     ratio-least-connections-node | ratio-member |  ratio-node
213262                     |  ratio-session  |  round-robin | weighted-least-connec‐
213263                     tions-member | weighted-least-connections-node]
213264
213265              min_active_members
213266                     [integer]
213267
213268              min_up_members
213269                     [integer]
213270
213271              min_up_members_action
213272                     [failover | reboot | restart-all]
213273
213274              min_up_members_checking
213275                     [enabled | disabled]
213276
213277              monitor
213278                     [name]
213279
213280              profiles
213281                     [none | profile_name]
213282
213283              queue_depth_limit
213284                     [integer]
213285
213286              queue_on_connection_limit
213287                     [enabled | disabled]
213288
213289              queue_time_limit
213290                     [integer]
213291
213292              reselect_tries
213293                     [integer]
213294
213295              service_down_action
213296                     [drop | none | reselect | reset]
213297
213298              slow_ramp_time
213299                     [integer]
213300
213301       salt.states.bigip.manage_pool_members(hostname,   username,   password,
213302       name, members)
213303              Manage  the members of an existing pool.  This function replaces
213304              all current pool members.  Only  the  parameters  specified  are
213305              enforced.
213306
213307              hostname
213308                     The host/address of the bigip device
213309
213310              username
213311                     The iControl REST username
213312
213313              password
213314                     The iControl REST password
213315
213316              name   The name of the pool to modify
213317
213318              members
213319                     list of pool members to manage.
213320
213321       salt.states.bigip.manage_profile(hostname,   username,  password,  pro‐
213322       file_type, name, **kwargs)
213323              Create a new profile if a monitor of this type and name does not
213324              already  exists.   If it does exists, only the parameters speci‐
213325              fied will be enforced.
213326
213327              hostname
213328                     The host/address of the bigip device
213329
213330              username
213331                     The iControl REST username
213332
213333              password
213334                     The iControl REST password
213335
213336              profile_type
213337                     The type of profile to create
213338
213339              name   The name of the profile to create
213340
213341              kwargs [ arg=val ] ...
213342
213343                     Consult F5 BIGIP user guide for specific options for each
213344                     profile type.  Typically, tmsh arg names are used.
213345
213346       salt.states.bigip.manage_virtual(hostname,  username,  password,  name,
213347       destination,   pool=None,    address_status=None,    auto_lasthop=None,
213348       bwc_policy=None,        cmp_enabled=None,        connection_limit=None,
213349       dhcp_relay=None,      description=None,      fallback_persistence=None,
213350       flow_eviction_policy=None,  gtm_score=None,  ip_forward=None, ip_proto‐
213351       col=None,   internal=None,   twelve_forward=None,   last_hop_pool=None,
213352       mask=None,  mirror=None, nat64=None, persist=None, profiles=None, poli‐
213353       cies=None,  rate_class=None,   rate_limit=None,   rate_limit_mode=None,
213354       rate_limit_dst=None,          rate_limit_src=None,          rules=None,
213355       related_rules=None, reject=None,  source=None,  source_address_transla‐
213356       tion=None,  source_port=None, virtual_state=None, traffic_classes=None,
213357       translate_address=None, translate_port=None, vlans=None)
213358              Manage a virtual server.  If a virtual does not exists  it  will
213359              be  created,  otherwise  only  the  parameters specified will be
213360              enforced.
213361
213362              hostname
213363                     The host/address of the bigip device
213364
213365              username
213366                     The iControl REST username
213367
213368              password
213369                     The iControl REST password
213370
213371              name   The name of the virtual to create
213372
213373              destination
213374                     [ [virtual_address_name:port] | [ipv4:port] | [ipv6.port]
213375                     ]
213376
213377              pool   [ [pool_name] | none]
213378
213379              address_status
213380                     [yes | no]
213381
213382              auto_lasthop
213383                     [default | enabled | disabled ]
213384
213385              bwc_policy
213386                     [none] | string]
213387
213388              cmp_enabled
213389                     [yes | no]
213390
213391              dhcp_relay
213392                     [yes | no}
213393
213394              connection_limit
213395                     [integer]
213396
213397              description
213398                     [string]
213399
213400              state  [disabled | enabled]
213401
213402              fallback_persistence
213403                     [none | [profile name] ]
213404
213405              flow_eviction_policy
213406                     [none | [eviction policy name] ]
213407
213408              gtm_score
213409                     [integer]
213410
213411              ip_forward
213412                     [yes | no]
213413
213414              ip_protocol
213415                     [any | protocol]
213416
213417              internal
213418                     [yes | no]
213419
213420              twelve_forward(12-forward)
213421                     [yes | no]
213422
213423              last_hop-pool
213424                     [ [pool_name] | none]
213425
213426              mask   { [ipv4] | [ipv6] }
213427
213428              mirror { [disabled | enabled | none] }
213429
213430              nat64  [enabled | disabled]
213431
213432              persist
213433                     [list]
213434
213435              profiles
213436                     [none | default | list ]
213437
213438              policies
213439                     [none | default | list ]
213440
213441              rate_class
213442                     [name]
213443
213444              rate_limit
213445                     [integer]
213446
213447              rate_limit-mode
213448                     [destination    |    object    |   object-destination   |
213449                     object-source  |  object-source-destination  |  source  |
213450                     source-destination]
213451
213452              rate_limit-dst
213453                     [integer]
213454
213455              rate_limit-src
213456                     [integer]
213457
213458              rules  [none | list ]
213459
213460              related_rules
213461                     [none | list ]
213462
213463              reject [yes | no]
213464
213465              source { [ipv4[/prefixlen]] | [ipv6[/prefixlen]] }
213466
213467              source_address_translation
213468                     [none | snat:pool_name | lsn | automap | dictionary ]
213469
213470              source_port
213471                     [change | preserve | preserve-strict]
213472
213473              state  [enabled | disabled]
213474
213475              traffic_classes
213476                     [none | default | list ]
213477
213478              translate_address
213479                     [enabled | disabled]
213480
213481              translate_port
213482                     [enabled | disabled]
213483
213484              vlans  [none | default | dictionary]
213485
213486                     vlan_ids
213487                            [ list]
213488
213489                     enabled
213490                            [ true | false ]
213491
213492       salt.states.bigip.modify_monitor(hostname,  username,  password,  moni‐
213493       tor_type, name, **kwargs)
213494              Modify an existing monitor.  If it does exists, only the parame‐
213495              ters specified will be enforced.
213496
213497              hostname
213498                     The host/address of the bigip device
213499
213500              username
213501                     The iControl REST username
213502
213503              password
213504                     The iControl REST password
213505
213506              monitor_type
213507                     The type of monitor to create
213508
213509              name   The name of the monitor to create
213510
213511              kwargs [ arg=val ] ...
213512
213513                     Consult F5 BIGIP user guide for specific options for each
213514                     monitor type.  Typically, tmsh arg names are used.
213515
213516       salt.states.bigip.modify_node(hostname, username, password, name,  con‐
213517       nection_limit=None, description=None, dynamic_ratio=None, logging=None,
213518       monitor=None,      rate_limit=None,      ratio=None,      session=None,
213519       node_state=None)
213520              Modify  an  existing node. Only a node which already exists will
213521              be modified and only the parameters specified will be enforced.
213522
213523              hostname
213524                     The host/address of the bigip device
213525
213526              username
213527                     The iControl REST username
213528
213529              password
213530                     The iControl REST password
213531
213532              name   The name of the node to modify
213533
213534              connection_limit
213535                     [integer]
213536
213537              description
213538                     [string]
213539
213540              dynamic_ratio
213541                     [integer]
213542
213543              logging
213544                     [enabled | disabled]
213545
213546              monitor
213547                     [[name] | none | default]
213548
213549              rate_limit
213550                     [integer]
213551
213552              ratio  [integer]
213553
213554              session
213555                     [user-enabled | user-disabled]
213556
213557              node_state (state)
213558                     [user-down | user-up ]
213559
213560       salt.states.bigip.modify_pool(hostname,   username,   password,   name,
213561       allow_nat=None,    allow_snat=None,   description=None,   gateway_fail‐
213562       safe_device=None, ignore_persisted_weight=None,  ip_tos_to_client=None,
213563       ip_tos_to_server=None,                         link_qos_to_client=None,
213564       link_qos_to_server=None,   load_balancing_mode=None,    min_active_mem‐
213565       bers=None, min_up_members=None, min_up_members_action=None, min_up_mem‐
213566       bers_checking=None,            monitor=None,             profiles=None,
213567       queue_depth_limit=None,                 queue_on_connection_limit=None,
213568       queue_time_limit=None,  reselect_tries=None,  service_down_action=None,
213569       slow_ramp_time=None)
213570              Modify  an  existing  pool. Pool members are managed separately.
213571              Only the parameters specified are enforced.
213572
213573              hostname
213574                     The host/address of the bigip device
213575
213576              username
213577                     The iControl REST username
213578
213579              password
213580                     The iControl REST password
213581
213582              name   The name of the pool to create
213583
213584              allow_nat
213585                     [yes | no]
213586
213587              allow_snat
213588                     [yes | no]
213589
213590              description
213591                     [string]
213592
213593              gateway_failsafe_device
213594                     [string]
213595
213596              ignore_persisted_weight
213597                     [enabled | disabled]
213598
213599              ip_tos_to_client
213600                     [pass-through | [integer]]
213601
213602              ip_tos_to_server
213603                     [pass-through | [integer]]
213604
213605              link_qos_to_client
213606                     [pass-through | [integer]]
213607
213608              link_qos_to_server
213609                     [pass-through | [integer]]
213610
213611              load_balancing_mode
213612                     [dynamic-ratio-member     |     dynamic-ratio-node      |
213613                     fastest-app-response   |   fastest-node  |  least-connec‐
213614                     tions-members | least-connections-node | least-sessions |
213615                     observed-member  |  observed-node  |  predictive-member |
213616                     predictive-node   |   ratio-least-connections-member    |
213617                     ratio-least-connections-node  | ratio-member | ratio-node
213618                     | ratio-session |  round-robin  |  weighted-least-connec‐
213619                     tions-member | weighted-least-connections-node]
213620
213621              min_active_members
213622                     [integer]
213623
213624              min_up_members
213625                     [integer]
213626
213627              min_up_members_action
213628                     [failover | reboot | restart-all]
213629
213630              min_up_members_checking
213631                     [enabled | disabled]
213632
213633              monitor
213634                     [name]
213635
213636              profiles
213637                     [none | profile_name]
213638
213639              queue_depth_limit
213640                     [integer]
213641
213642              queue_on_connection_limit
213643                     [enabled | disabled]
213644
213645              queue_time_limit
213646                     [integer]
213647
213648              reselect_tries
213649                     [integer]
213650
213651              service_down_action
213652                     [drop | none | reselect | reset]
213653
213654              slow_ramp_time
213655                     [integer]
213656
213657       salt.states.bigip.modify_pool_member(hostname,    username,   password,
213658       name,      member,       connection_limit=None,       description=None,
213659       dynamic_ratio=None,  inherit_profile=None,  logging=None, monitor=None,
213660       priority_group=None, profiles=None, rate_limit=None,  ratio=None,  ses‐
213661       sion=None, member_state=None)
213662              A  function  to connect to a bigip device and modify a member of
213663              an existing pool.
213664
213665              hostname
213666                     The host/address of the bigip device
213667
213668              username
213669                     The iControl REST username
213670
213671              password
213672                     The iControl REST password
213673
213674              name   The name of the pool to modify
213675
213676              member The member modify
213677
213678              connection_limit
213679                     [integer]
213680
213681              description
213682                     [string]
213683
213684              dynamic_ratio
213685                     [integer]
213686
213687              inherit_profile
213688                     [enabled | disabled]
213689
213690              logging
213691                     [enabled | disabled]
213692
213693              monitor
213694                     [name]
213695
213696              priority_group
213697                     [integer]
213698
213699              profiles
213700                     [none | profile_name]
213701
213702              rate_limit
213703                     [integer]
213704
213705              ratio  [integer]
213706
213707              session
213708                     [user-enabled | user-disabled]
213709
213710              member_state (state)
213711                     [ user-up | user-down ]
213712
213713       salt.states.bigip.modify_profile(hostname,  username,  password,   pro‐
213714       file_type, name, **kwargs)
213715              Modify an existing profile.  If it does exists, only the parame‐
213716              ters specified will be enforced.
213717
213718              hostname
213719                     The host/address of the bigip device
213720
213721              username
213722                     The iControl REST username
213723
213724              password
213725                     The iControl REST password
213726
213727              profile_type
213728                     The type of profile to create
213729
213730              name   The name of the profile to create
213731
213732              kwargs [ arg=val ] ...
213733
213734                     Consult F5 BIGIP user guide for specific options for each
213735                     monitor type.  Typically, tmsh arg names are used.
213736
213737       salt.states.bigip.modify_virtual(hostname,  username,  password,  name,
213738       destination,   pool=None,    address_status=None,    auto_lasthop=None,
213739       bwc_policy=None,        cmp_enabled=None,        connection_limit=None,
213740       dhcp_relay=None,      description=None,      fallback_persistence=None,
213741       flow_eviction_policy=None,  gtm_score=None,  ip_forward=None, ip_proto‐
213742       col=None,   internal=None,   twelve_forward=None,   last_hop_pool=None,
213743       mask=None,  mirror=None, nat64=None, persist=None, profiles=None, poli‐
213744       cies=None,  rate_class=None,   rate_limit=None,   rate_limit_mode=None,
213745       rate_limit_dst=None,          rate_limit_src=None,          rules=None,
213746       related_rules=None, reject=None,  source=None,  source_address_transla‐
213747       tion=None,  source_port=None, virtual_state=None, traffic_classes=None,
213748       translate_address=None, translate_port=None, vlans=None)
213749              Modify an virtual server.  modify  an  existing  virtual.   Only
213750              parameters specified will be enforced.
213751
213752              hostname
213753                     The host/address of the bigip device
213754
213755              username
213756                     The iControl REST username
213757
213758              password
213759                     The iControl REST password
213760
213761              name   The name of the virtual to create
213762
213763              destination
213764                     [ [virtual_address_name:port] | [ipv4:port] | [ipv6.port]
213765                     ]
213766
213767              pool   [ [pool_name] | none]
213768
213769              address_status
213770                     [yes | no]
213771
213772              auto_lasthop
213773                     [default | enabled | disabled ]
213774
213775              bwc_policy
213776                     [none] | string]
213777
213778              cmp_enabled
213779                     [yes | no]
213780
213781              dhcp_relay
213782                     [yes | no}
213783
213784              connection_limit
213785                     [integer]
213786
213787              description
213788                     [string]
213789
213790              state  [disabled | enabled]
213791
213792              fallback_persistence
213793                     [none | [profile name] ]
213794
213795              flow_eviction_policy
213796                     [none | [eviction policy name] ]
213797
213798              gtm_score
213799                     [integer]
213800
213801              ip_forward
213802                     [yes | no]
213803
213804              ip_protocol
213805                     [any | protocol]
213806
213807              internal
213808                     [yes | no]
213809
213810              twelve_forward(12-forward)
213811                     [yes | no]
213812
213813              last_hop-pool
213814                     [ [pool_name] | none]
213815
213816              mask   { [ipv4] | [ipv6] }
213817
213818              mirror { [disabled | enabled | none] }
213819
213820              nat64  [enabled | disabled]
213821
213822              persist
213823                     [list]
213824
213825              profiles
213826                     [none | default | list ]
213827
213828              policies
213829                     [none | default | list ]
213830
213831              rate_class
213832                     [name]
213833
213834              rate_limit
213835                     [integer]
213836
213837              rate_limit-mode
213838                     [destination   |   object    |    object-destination    |
213839                     object-source  |  object-source-destination  |  source  |
213840                     source-destination]
213841
213842              rate_limit_dst
213843                     [integer]
213844
213845              rate_limit_src
213846                     [integer]
213847
213848              rules  [none | list ]
213849
213850              related_rules
213851                     [none | list ]
213852
213853              reject [yes | no]
213854
213855              source { [ipv4[/prefixlen]] | [ipv6[/prefixlen]] }
213856
213857              source_address_translation
213858                     [none | snat:pool_name | lsn | automap | dictionary ]
213859
213860              source_port
213861                     [change | preserve | preserve-strict]
213862
213863              state  [enabled | disabled]
213864
213865              traffic_classes
213866                     [none | default | list ]
213867
213868              translate_address
213869                     [enabled | disabled]
213870
213871              translate_port
213872                     [enabled | disabled]
213873
213874              vlans  [none | default | dictionary ]
213875
213876                     vlan_ids
213877                            [ list]
213878
213879                     enabled
213880                            [ true | false ]
213881
213882   salt.states.blockdev
213883       Management of Block Devices
213884
213885       A state module to manage blockdevices
213886
213887          /dev/sda:
213888            blockdev.tuned:
213889              - read-only: True
213890
213891          master-data:
213892            blockdev.tuned:
213893              - name: /dev/vg/master-data
213894              - read-only: True
213895              - read-ahead: 1024
213896
213897       New in version 2014.7.0.
213898
213899
213900       salt.states.blockdev.formatted(name,   fs_type=u'ext4',    force=False,
213901       **kwargs)
213902              Manage filesystems of partitions.
213903
213904              name   The name of the block device
213905
213906              fs_type
213907                     The filesystem it should be formatted as
213908
213909              force  Force  mke2fs  to create a filesystem, even if the speci‐
213910                     fied device is not a partition on a block special device.
213911                     This option is only enabled for ext and xfs filesystems
213912
213913                     This option is dangerous, use it with caution.
213914
213915                     New in version 2016.11.0.
213916
213917
213918       salt.states.blockdev.tuned(name, **kwargs)
213919              Manage options of block device
213920
213921              name   The name of the block device
213922
213923              opts:
213924
213925                     ·
213926
213927                       read-ahead
213928                              Read-ahead buffer size
213929
213930                     ·
213931
213932                       filesystem-read-ahead
213933                              Filesystem Read-ahead buffer size
213934
213935                     ·
213936
213937                       read-only
213938                              Set Read-Only
213939
213940                     ·
213941
213942                       read-write
213943                              Set Read-Write
213944
213945   salt.states.boto3_elasticache module
213946   Manage Elasticache with boto3
213947       New in version 2017.7.0.
213948
213949
213950       Create,  destroy  and  update  Elasticache clusters. Be aware that this
213951       interacts with Amazon's services, and so may incur charges.
213952
213953       This module uses boto3 behind the scenes - as a result it inherits  any
213954       limitations  it  boto3's  implementation  of  the  AWS API.  It is also
213955       designed to as directly as possible leverage boto3's  parameter  naming
213956       and       semantics.        This       allows      one      to      use
213957       http://boto3.readthedocs.io/en/latest/reference/services/elasticache.html
213958       as an excellent source for details too involved to reiterate here.
213959
213960       Note:   This module is designed to be transparent ("intentionally igno‐
213961       rant" is the phrase I used to describe it to my boss) to new AWS / boto
213962       options - since all AWS API params are passed directly through both the
213963       state and executions modules, any new args to existing functions  which
213964       become  available after this documentation is written should work imme‐
213965       diately.
213966
213967       Brand new API calls, of course, would still require new functions to be
213968       added :)
213969
213970       This  module accepts explicit elasticache credentials but can also uti‐
213971       lize IAM roles assigned to  the  instance  through  Instance  Profiles.
213972       Dynamic credentials are then automatically obtained from AWS API and no
213973       further configuration is  necessary.   More  information  is  available
213974       here.
213975
213976       If  IAM  roles are not used you need to specify them either in a pillar
213977       file or in the minion's config file:
213978
213979          elasticache.keyid: GKTADJGHEIQSXMKKRBJ08H
213980          elasticache.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
213981
213982       It's also possible to specify key, keyid  and  region  via  a  profile,
213983       either passed in as a dict, or as a string to pull from pillars or min‐
213984       ion config:
213985
213986          myprofile:
213987            keyid: GKTADJGHEIQSXMKKRBJ08H
213988            key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
213989              region: us-east-1
213990
213991          Ensure myelasticache exists:
213992            boto3_elasticache.present:
213993              - name: myelasticache
213994              - engine: redis
213995              - cache_node_type: cache.t1.micro
213996              - num_cache_nodes: 1
213997              - notification_topic_arn: arn:aws:sns:us-east-1:879879:my-sns-topic
213998              - region: us-east-1
213999              - keyid: GKTADJGHEIQSXMKKRBJ08H
214000              - key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
214001
214002          # Using a profile from pillars
214003          Ensure myelasticache exists:
214004            boto3_elasticache.present:
214005              - name: myelasticache
214006              - engine: redis
214007              - cache_node_type: cache.t1.micro
214008              - num_cache_nodes: 1
214009              - notification_topic_arn: arn:aws:sns:us-east-1:879879:my-sns-topic
214010              - region: us-east-1
214011              - profile: myprofile
214012
214013          # Passing in a profile
214014          Ensure myelasticache exists:
214015            boto3_elasticache.present:
214016              - name: myelasticache
214017              - engine: redis
214018              - cache_node_type: cache.t1.micro
214019              - num_cache_nodes: 1
214020              - notification_topic_arn: arn:aws:sns:us-east-1:879879:my-sns-topic
214021              - region: us-east-1
214022              - profile:
214023                  keyid: GKTADJGHEIQSXMKKRBJ08H
214024                  key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
214025
214026       salt.states.boto3_elasticache.cache_cluster_absent(name,      wait=600,
214027       region=None, key=None, keyid=None, profile=None, **args)
214028              Ensure a given cache cluster is deleted.
214029
214030              name   Name of the cache cluster.
214031
214032              wait   Integer describing how long, in seconds, to wait for con‐
214033                     firmation from AWS that the resource is  in  the  desired
214034                     state.  Zero meaning to return success or failure immedi‐
214035                     ately of course.  Note that waiting for  the  cluster  to
214036                     become available is generally the better course, as fail‐
214037                     ure to do so will often lead to subsequent failures  when
214038                     managing dependent resources.
214039
214040              CacheClusterId
214041                     The  node  group  (shard)  identifier.  Note:  In general
214042                     this parameter is not needed, as 'name' is used  if  it's
214043                     not provided.
214044
214045              FinalSnapshotIdentifier
214046                     The user-supplied name of a final cache cluster snapshot.
214047                     This is the unique name  that  identifies  the  snapshot.
214048                     ElastiCache  creates  the  snapshot, and then deletes the
214049                     cache cluster immediately afterward.
214050
214051              region Region to connect to.
214052
214053              key    Secret key to be used.
214054
214055              keyid  Access key to be used.
214056
214057              profile
214058                     A dict with region,  key  and  keyid,  or  a  pillar  key
214059                     (string) that contains a dict with region, key and keyid.
214060
214061       salt.states.boto3_elasticache.cache_cluster_present(name,     wait=900,
214062       security_groups=None, region=None, key=None, keyid=None,  profile=None,
214063       **args)
214064              Ensure a given cache cluster exists.
214065
214066              name   Name of the cache cluster (cache cluster id).
214067
214068              wait   Integer describing how long, in seconds, to wait for con‐
214069                     firmation from AWS that the resource is  in  the  desired
214070                     state.  Zero meaning to return success or failure immedi‐
214071                     ately of course.  Note that waiting for  the  cluster  to
214072                     become available is generally the better course, as fail‐
214073                     ure to do so will often lead to subsequent failures  when
214074                     managing dependent resources.
214075
214076              security_groups
214077                     One  or more VPC security groups (names and/or IDs) asso‐
214078                     ciated with the cache cluster.
214079
214080                     NOTE:
214081                        This is additive with any sec groups provided via  the
214082                        SecurityGroupIds  parameter below.  Use this parameter
214083                        ONLY when you are creating a cluster in a VPC.
214084
214085              CacheClusterId
214086                     The node group  (shard)  identifier.  This  parameter  is
214087                     stored as a lowercase string.
214088
214089                     Constraints:
214090
214091                     · A  name  must contain from 1 to 20 alphanumeric charac‐
214092                       ters or hyphens.
214093
214094                     · The first character must be a letter.
214095
214096                     · A name cannot end with a hyphen or contain two consecu‐
214097                       tive hyphens.
214098
214099                     NOTE:
214100                        In  general this parameter is not needed, as 'name' is
214101                        used if it's not provided.
214102
214103              ReplicationGroupId
214104                     The ID of the replication group to which this cache clus‐
214105                     ter  should  belong.  If this parameter is specified, the
214106                     cache cluster is added to the specified replication group
214107                     as  a  read  replica;  otherwise,  the cache cluster is a
214108                     standalone primary that is not part  of  any  replication
214109                     group.   If  the  specified replication group is Multi-AZ
214110                     enabled and the Availability Zone is not  specified,  the
214111                     cache  cluster is created in Availability Zones that pro‐
214112                     vide the best spread of read replicas across Availability
214113                     Zones.
214114
214115              AZMode Specifies whether the nodes in this Memcached cluster are
214116                     created in a single Availability Zone or  created  across
214117                     multiple  Availability  Zones in the cluster's region. If
214118                     the AZMode and PreferredAvailabilityZones are not  speci‐
214119                     fied, ElastiCache assumes single-az mode.
214120
214121                     NOTE:
214122                        This  parameter  is ONLY supported for Memcached cache
214123                        clusters.
214124
214125              PreferredAvailabilityZone
214126                     The EC2 Availability Zone in which the cache  cluster  is
214127                     created.   All  nodes  belonging  to this Memcached cache
214128                     cluster are placed in the preferred Availability Zone. If
214129                     you  want to create your nodes across multiple Availabil‐
214130                     ity Zones, use PreferredAvailabilityZones.
214131
214132                     Default:  System chosen Availability Zone.
214133
214134              PreferredAvailabilityZones
214135                     A list of the Availability Zones in which cache nodes are
214136                     created. The order of the zones in the list is not impor‐
214137                     tant.  The number of Availability Zones listed must equal
214138                     the value of NumCacheNodes.  If you want all the nodes in
214139                     the same Availability Zone, use PreferredAvailabilityZone
214140                     instead,  or  repeat the Availability Zone multiple times
214141                     in the list.
214142
214143                     Default:  System chosen Availability Zones.
214144
214145                     NOTE:
214146                        This option is ONLY supported on Memcached.
214147
214148                        If you are creating your cache cluster  in  an  Amazon
214149                        VPC  (recommended) you can only locate nodes in Avail‐
214150                        ability Zones that are associated with the subnets  in
214151                        the selected subnet group.
214152
214153              NumCacheNodes
214154                     The  initial  (integer)  number  of  cache nodes that the
214155                     cache cluster has.
214156
214157                     NOTE:
214158                        For clusters running Redis, this value must be 1.
214159
214160                        For clusters running Memcached,  this  value  must  be
214161                        between 1 and 20.
214162
214163              CacheNodeType
214164                     The  compute and memory capacity of the nodes in the node
214165                     group (shard).  Valid node types (and pricing  for  them)
214166                     are           exhaustively          described          at
214167                     https://aws.amazon.com/elasticache/pricing/
214168
214169                     NOTE:
214170                            All T2 instances must be created in a VPC
214171
214172                        Redis backup/restore is not supported for Redis (clus‐
214173                        ter mode disabled) T1 and T2 instances. Backup/restore
214174                        is  supported  on  Redis  (cluster  mode  enabled)  T2
214175                        instances.
214176
214177                        Redis  Append-only  files  (AOF)  functionality is not
214178                        supported for T1 or T2 instances.
214179
214180              Engine The name of the cache engine to be used  for  this  cache
214181                     cluster.  Valid values for this parameter are:  memcached
214182                     | redis
214183
214184              EngineVersion
214185                     The version number of the cache engine  to  be  used  for
214186                     this  cache  cluster.  To view the supported cache engine
214187                     versions, use the DescribeCacheEngineVersions operation.
214188
214189                     NOTE:
214190                        You can upgrade to a newer engine version but you can‐
214191                        not  downgrade  to  an  earlier engine version. If you
214192                        want to use an earlier engine version, you must delete
214193                        the  existing  cache  cluster or replication group and
214194                        create it anew with the earlier engine version.
214195
214196              CacheParameterGroupName
214197                     The name of the parameter group to  associate  with  this
214198                     cache  cluster.  If this argument is omitted, the default
214199                     parameter group for the specified engine  is  used.   You
214200                     cannot   use   any   parameter   group  which  has  clus‐
214201                     ter-enabled='yes' when creating a cluster.
214202
214203              CacheSubnetGroupName
214204                     The name of the Cache Subnet Group to  be  used  for  the
214205                     cache cluster.  Use this parameter ONLY when you are cre‐
214206                     ating a cache cluster within a VPC.
214207
214208                     NOTE:
214209                        If you're going to launch your cluster  in  an  Amazon
214210                        VPC,  you  need  to  create  a subnet group before you
214211                        start creating a cluster.
214212
214213              CacheSecurityGroupNames
214214                     A list of Cache Security Group names  to  associate  with
214215                     this cache cluster.  Use this parameter ONLY when you are
214216                     creating a cache cluster outside of a VPC.
214217
214218              SecurityGroupIds
214219                     One or more VPC security groups associated with the cache
214220                     cluster.  Use this parameter ONLY when you are creating a
214221                     cache cluster within a VPC.
214222
214223              Tags   A list of tags to be added to this resource.   Note  that
214224                     due to shortcomings in the AWS API for Elasticache, these
214225                     can only be set during resource creation - later  modifi‐
214226                     cation is not (currently) supported.
214227
214228              SnapshotArns
214229                     A   single-element   string  list  containing  an  Amazon
214230                     Resource Name (ARN) that uniquely identifies a Redis  RDB
214231                     snapshot  file  stored in Amazon S3. The snapshot file is
214232                     used to populate the node group (shard).  The  Amazon  S3
214233                     object name in the ARN cannot contain any commas.
214234
214235                     NOTE:
214236                        This  parameter  is ONLY valid if the Engine parameter
214237                        is redis.
214238
214239              SnapshotName
214240                     The name of a Redis snapshot from which to  restore  data
214241                     into  the  new  node  group  (shard). The snapshot status
214242                     changes to restoring while the new node group (shard)  is
214243                     being created.
214244
214245                     NOTE:
214246                        This  parameter  is ONLY valid if the Engine parameter
214247                        is redis.
214248
214249              PreferredMaintenanceWindow
214250                     Specifies the weekly time range during which  maintenance
214251                     on  the cache cluster is permitted.  It is specified as a
214252                     range in the format  ddd:hh24:mi-ddd:hh24:mi  (24H  Clock
214253                     UTC).   The  minimum  maintenance  window  is a 60 minute
214254                     period.  Valid values for ddd are:  sun, mon,  tue,  wed,
214255                     thu, fri, sat
214256
214257                     Example:  sun:23:00-mon:01:30
214258
214259              Port   The  port number on which each of the cache nodes accepts
214260                     connections.
214261
214262                     Default:  6379
214263
214264              NotificationTopicArn
214265                     The Amazon Resource Name (ARN) of the Amazon Simple Noti‐
214266                     fication  Service  (SNS) topic to which notifications are
214267                     sent.
214268
214269                     NOTE:
214270                        The Amazon SNS topic owner must be  the  same  as  the
214271                        cache cluster owner.
214272
214273              AutoMinorVersionUpgrade
214274                     This (boolean) parameter is currently disabled.
214275
214276              SnapshotRetentionLimit
214277                     The  number  of  days for which ElastiCache retains auto‐
214278                     matic snapshots before deleting them.
214279
214280                     Default:  0 (i.e., automatic  backups  are  disabled  for
214281                     this cache cluster).
214282
214283                     NOTE:
214284                        This  parameter  is ONLY valid if the Engine parameter
214285                        is redis.
214286
214287              SnapshotWindow
214288                     The daily time range (in UTC)  during  which  ElastiCache
214289                     begins  taking  a  daily  snapshot  of  your  node  group
214290                     (shard).  If you do not specify this  parameter,  Elasti‐
214291                     Cache automatically chooses an appropriate time range.
214292
214293                     Example:  05:00-09:00
214294
214295                     NOTE:
214296                        This  parameter  is ONLY valid if the Engine parameter
214297                        is redis.
214298
214299              AuthToken
214300                     The password used to access a password protected server.
214301
214302                     Password constraints:
214303
214304                     · Must be only printable ASCII characters.
214305
214306                     · Must be at least 16 characters and  no  more  than  128
214307                       characters in length.
214308
214309                     · Cannot  contain  any  of the following characters: '/',
214310                       '"', or "@".
214311
214312              CacheNodeIdsToRemove
214313                     A list of cache node IDs to be removed. A node  ID  is  a
214314                     numeric identifier (0001, 0002, etc.).  This parameter is
214315                     only valid when NumCacheNodes is less than  the  existing
214316                     number of cache nodes.  The number of cache node IDs sup‐
214317                     plied in this parameter must match the difference between
214318                     the  existing  number  of  cache  nodes in the cluster or
214319                     pending cache nodes, whichever is greater, and the  value
214320                     of NumCacheNodes in the request.
214321
214322              NewAvailabilityZones
214323                     The  list  of  Availability Zones where the new Memcached
214324                     cache nodes are created.  This parameter  is  only  valid
214325                     when NumCacheNodes in the request is greater than the sum
214326                     of the number of active cache nodes  and  the  number  of
214327                     cache  nodes  pending  creation (which may be zero).  The
214328                     number of Availability Zones supplied in this  list  must
214329                     match the cache nodes being added in this request.  Note:
214330                     This option is only supported on Memcached clusters.
214331
214332              NotificationTopicStatus
214333                     The status of the SNS notification topic.   Notifications
214334                     are sent only if the status is active.
214335
214336                     Valid values:  active | inactive
214337
214338              region Region to connect to.
214339
214340              key    Secret key to be used.
214341
214342              keyid  Access key to be used.
214343
214344              profile
214345                     A  dict  with  region,  key  and  keyid,  or a pillar key
214346                     (string) that contains a dict with region, key and keyid.
214347
214348       salt.states.boto3_elasticache.cache_subnet_group_absent(name,
214349       region=None, key=None, keyid=None, profile=None, **args)
214350              Ensure a given cache subnet group is deleted.
214351
214352              name   Name of the cache subnet group.
214353
214354              CacheSubnetGroupName
214355                     A  name  for  the  cache subnet group.  Note:  In general
214356                     this parameter is not needed, as 'name' is used  if  it's
214357                     not provided.
214358
214359              region Region to connect to.
214360
214361              key    Secret key to be used.
214362
214363              keyid  Access key to be used.
214364
214365              profile
214366                     A  dict  with  region,  key  and  keyid,  or a pillar key
214367                     (string) that contains a dict with region, key and keyid.
214368
214369       salt.states.boto3_elasticache.cache_subnet_group_present(name,     sub‐
214370       nets=None, region=None, key=None, keyid=None, profile=None, **args)
214371              Ensure cache subnet group exists.
214372
214373              name   A  name  for the cache subnet group. This value is stored
214374                     as a lowercase string.   Constraints:   Must  contain  no
214375                     more than 255 alphanumeric characters or hyphens.
214376
214377              subnets
214378                     A  list  of  VPC  subnets  (IDs, Names, or a mix) for the
214379                     cache subnet group.
214380
214381              CacheSubnetGroupName
214382                     A name for the cache subnet group. This value  is  stored
214383                     as  a  lowercase  string.   Constraints:  Must contain no
214384                     more than 255 alphanumeric characters or hyphens.   Note:
214385                     In  general  this  parameter  is not needed, as 'name' is
214386                     used if it's not provided.
214387
214388              CacheSubnetGroupDescription
214389                     A description for the cache subnet group.
214390
214391              SubnetIds
214392                     A list of VPC subnet IDs  for  the  cache  subnet  group.
214393                     This is ADDITIVE with 'subnets' above.
214394
214395              region Region to connect to.
214396
214397              key    Secret key to be used.
214398
214399              keyid  Access key to be used.
214400
214401              profile
214402                     A  dict  with  region,  key  and  keyid,  or a pillar key
214403                     (string) that contains a dict with region, key and keyid.
214404
214405       salt.states.boto3_elasticache.replication_group_absent(name,  wait=600,
214406       region=None, key=None, keyid=None, profile=None, **args)
214407              Ensure a given replication group is deleted.
214408
214409              name   Name of the replication group.
214410
214411              wait   Integer describing how long, in seconds, to wait for con‐
214412                     firmation from AWS that the resource is  in  the  desired
214413                     state.  Zero meaning to return success or failure immedi‐
214414                     ately of course.  Note that waiting for  the  cluster  to
214415                     become available is generally the better course, as fail‐
214416                     ure to do so will often lead to subsequent failures  when
214417                     managing dependent resources.
214418
214419              ReplicationGroupId
214420                     The replication group identifier.  Note:  In general this
214421                     parameter is not needed, as 'name' is used  if  it's  not
214422                     provided.
214423
214424              RetainPrimaryCluster
214425                     If set to true, all of the read replicas are deleted, but
214426                     the primary node is retained.
214427
214428              FinalSnapshotIdentifier
214429                     The name of a final node group (shard) snapshot.  Elasti‐
214430                     Cache  creates  the snapshot from the primary node in the
214431                     cluster, rather than one of  the  replicas;  this  is  to
214432                     ensure  that  it  captures  the freshest data.  After the
214433                     final snapshot is taken, the replication group is immedi‐
214434                     ately deleted.
214435
214436              region Region to connect to.
214437
214438              key    Secret key to be used.
214439
214440              keyid  Access key to be used.
214441
214442              profile
214443                     A  dict  with  region,  key  and  keyid,  or a pillar key
214444                     (string) that contains a dict with region, key and keyid.
214445
214446       salt.states.boto3_elasticache.replication_group_present(name, wait=900,
214447       security_groups=None,  region=None, key=None, keyid=None, profile=None,
214448       **args)
214449              Ensure a replication group exists and is in the given state.
214450
214451              name   Name of replication group
214452
214453              wait   Integer describing how long, in seconds, to wait for con‐
214454                     firmation  from  AWS  that the resource is in the desired
214455                     state.  Zero meaning to return success or failure immedi‐
214456                     ately  of  course.   Note that waiting for the cluster to
214457                     become available is generally the better course, as fail‐
214458                     ure  to do so will often lead to subsequent failures when
214459                     managing dependent resources.
214460
214461              security_groups
214462                     One or more VPC security groups (names and/or IDs)  asso‐
214463                     ciated with the cache cluster.
214464
214465                     NOTE:
214466                        This  is additive with any sec groups provided via the
214467                        SecurityGroupIds parameter below.  Use this  parameter
214468                        ONLY when you are creating a cluster in a VPC.
214469
214470              ReplicationGroupId
214471                     The  replication  group  identifier.  This  parameter  is
214472                     stored as a lowercase string.
214473
214474                     Constraints:
214475
214476                     · A name must contain from 1 to 20  alphanumeric  charac‐
214477                       ters or hyphens.
214478
214479                     · The first character must be a letter.
214480
214481                     · A name cannot end with a hyphen or contain two consecu‐
214482                       tive hyphens.
214483
214484                     NOTE:
214485                        In general this parameter is not needed, as 'name'  is
214486                        used if it's not provided.
214487
214488              ReplicationGroupDescription
214489                     A user-created description for the replication group.
214490
214491              PrimaryClusterId
214492                     The  identifier  of  the cache cluster that serves as the
214493                     primary for this replication group.  This  cache  cluster
214494                     must  already exist and have a status of available.  This
214495                     parameter is not required if  NumCacheClusters,  NumNode‐
214496                     Groups, or ReplicasPerNodeGroup is specified.
214497
214498              AutomaticFailoverEnabled
214499                     Specifies  whether  a  read-only replica is automatically
214500                     promoted to read/write primary if  the  existing  primary
214501                     fails.  If true, Multi-AZ is enabled for this replication
214502                     group. If false, Multi-AZ is disabled for  this  replica‐
214503                     tion group.
214504
214505                     Default:  False
214506
214507                     NOTE:
214508                        AutomaticFailoverEnabled  must  be  enabled  for Redis
214509                        (cluster mode enabled) replication groups.
214510
214511                        ElastiCache Multi-AZ replication groups  is  not  sup‐
214512                        ported on:
214513
214514                        · Redis versions earlier than 2.8.6.
214515
214516                        · Redis (cluster mode disabled): T1 and T2 node types.
214517
214518                        · Redis (cluster mode enabled): T2 node types.
214519
214520              NumCacheClusters
214521                     The  number  of clusters this replication group initially
214522                     has.  This parameter is not used if there  is  more  than
214523                     one  node  group (shard). You should use ReplicasPerNode‐
214524                     Group instead.  If Multi-AZ is enabled  ,  the  value  of
214525                     this parameter must be at least 2.  The maximum permitted
214526                     value for NumCacheClusters is 6 (primary  plus  5  repli‐
214527                     cas).
214528
214529              PreferredCacheClusterAZs
214530                     A list of EC2 Availability Zones in which the replication
214531                     group's cache clusters are  created.  The  order  of  the
214532                     Availability  Zones  in  the  list  is the order in which
214533                     clusters are allocated. The primary cluster is created in
214534                     the  first AZ in the list.  This parameter is not used if
214535                     there is more than one node group  (shard).   You  should
214536                     use NodeGroupConfiguration instead.  The number of Avail‐
214537                     ability  Zones  listed  must  equal  the  value  of  Num‐
214538                     CacheClusters.
214539
214540                     Default:  System chosen Availability Zones.
214541
214542                     NOTE:
214543                        If  you are creating your replication group in an Ama‐
214544                        zon VPC (recommended), you can only locate cache clus‐
214545                        ters in Availability Zones associated with the subnets
214546                        in the selected subnet group.
214547
214548              NumNodeGroups
214549                     An optional parameter that specifies the number  of  node
214550                     groups  (shards)  for  this  Redis (cluster mode enabled)
214551                     replication group.  For  Redis  (cluster  mode  disabled)
214552                     either omit this parameter or set it to 1.
214553
214554                     Default:  1
214555
214556              ReplicasPerNodeGroup
214557                     An  optional  parameter  that  specifies  the  number  of
214558                     replica nodes in each node group  (shard).  Valid  values
214559                     are:  0 to 5
214560
214561              NodeGroupConfiguration
214562                     A  list of node group (shard) configuration options. Each
214563                     node  group  (shard)  configuration  has  the  following:
214564                     Slots, PrimaryAvailabilityZone, ReplicaAvailabilityZones,
214565                     ReplicaCount.  If you're creating a Redis  (cluster  mode
214566                     disabled)  or  a Redis (cluster mode enabled) replication
214567                     group, you can use this parameter to configure  one  node
214568                     group (shard) or you can omit this parameter.  For fiddly
214569                     details of the expected data layout of  this  param,  see
214570                     http://boto3.readthedocs.io/en/latest/reference/services/elasticache.html?#ElastiCache.Client.create_replication_group
214571
214572              CacheNodeType
214573                     The compute and memory capacity of the nodes in the  node
214574                     group                    (shard).                     See
214575                     https://aws.amazon.com/elasticache/pricing/  for  current
214576                     sizing, prices, and constraints.
214577
214578              Engine The  name  of  the  cache engine to be used for the cache
214579                     clusters in this replication group.
214580
214581              EngineVersion
214582                     The version number of the cache engine to be used for the
214583                     cache  clusters  in  this  replication group. To view the
214584                     supported    cache    engine    versions,     use     the
214585                     DescribeCacheEngineVersions operation.
214586
214587                     NOTE:
214588                        You can upgrade to a newer engine version but you can‐
214589                        not downgrade to an earlier  engine  version.  If  you
214590                        want to use an earlier engine version, you must delete
214591                        the existing cache cluster or  replication  group  and
214592                        create it anew with the earlier engine version.
214593
214594              CacheParameterGroupName
214595                     The  name  of  the parameter group to associate with this
214596                     replication group.  If  this  argument  is  omitted,  the
214597                     default cache parameter group for the specified engine is
214598                     used.
214599
214600                     NOTE:
214601                        If you are running Redis version 3.2.4 or later,  only
214602                        one  node  group  (shard),  and  want to use a default
214603                        parameter group, we recommend  that  you  specify  the
214604                        parameter group by name.
214605
214606                        To  create a Redis (cluster mode disabled) replication
214607                        group, use CacheParameterGroupName=default.redis3.2
214608
214609                        To create a Redis (cluster mode  enabled)  replication
214610                        group,             use            CacheParameterGroup‐
214611                        Name=default.redis3.2.cluster.on
214612
214613              CacheSubnetGroupName
214614                     The name of the cache subnet group to  be  used  for  the
214615                     replication group.
214616
214617                     NOTE:
214618                        If  you're  going  to launch your cluster in an Amazon
214619                        VPC, you need to create a s  group  before  you  start
214620                        creating  a cluster. For more information, see Subnets
214621                        and Subnet Groups.
214622
214623              CacheSecurityGroupNames
214624                     A list of cache security group names  to  associate  with
214625                     this replication group.
214626
214627              SecurityGroupIds
214628                     One  or  more  Amazon VPC security groups associated with
214629                     this replication group.  Use this parameter only when you
214630                     are creating a replication group in an VPC.
214631
214632              Tags   A  list  of tags to be added to this resource.  Note that
214633                     due to shortcomings in the AWS API for Elasticache, these
214634                     can  only be set during resource creation - later modifi‐
214635                     cation is not (currently) supported.
214636
214637              SnapshotArns
214638                     A list of ARNs that uniquely identify the Redis RDB snap‐
214639                     shot files stored in Amazon S3.  These snapshot files are
214640                     used to populate the replication group.   The  Amazon  S3
214641                     object  name  in  the  ARN cannot contain any commas. The
214642                     list must match the number of node groups (shards) in the
214643                     replication group, which means you cannot repartition.
214644
214645                     NOTE:
214646                        This  parameter  is only valid if the Engine parameter
214647                        is redis.
214648
214649              SnapshotName
214650                     The name of a snapshot from which to  restore  data  into
214651                     the  new  replication group.  The snapshot status changes
214652                     to restoring while the new  replication  group  is  being
214653                     created.   Note:   This  parameter  is  only valid if the
214654                     Engine parameter is redis.
214655
214656              PreferredMaintenanceWindow
214657                     Specifies the weekly time range during which  maintenance
214658                     on  the  cluster is performed. It is specified as a range
214659                     in the format ddd:hh24:mi-ddd:hh24:mi  (24H  Clock  UTC).
214660                     The  minimum  maintenance  window  is a 60 minute period.
214661                     Valid values for ddd are:  sun, mon, tue, wed, thu,  fri,
214662                     sat
214663
214664                     Example:  sun:23:00-mon:01:30
214665
214666              Port   The  port  number on which each member of the replication
214667                     group accepts connections.
214668
214669              NotificationTopicArn
214670                     The ARN of an SNS topic to which notifications are sent.
214671
214672                     NOTE:
214673                        The SNS topic owner must be  the  same  as  the  cache
214674                        cluster owner.
214675
214676              AutoMinorVersionUpgrade
214677                     This parameter is currently disabled.
214678
214679              SnapshotRetentionLimit
214680                     The  number  of  days  for  which ElastiCache will retain
214681                     automatic snapshots before deleting them.
214682
214683                     Default:  0 (that is, automatic backups are disabled  for
214684                     this cache cluster).
214685
214686                     NOTE:
214687                        This  parameter  is only valid if the Engine parameter
214688                        is redis.
214689
214690              SnapshotWindow
214691                     The daily time range (in UTC)  during  which  ElastiCache
214692                     begins  taking  a  daily  snapshot  of  your  node  group
214693                     (shard).  If you do not specify this  parameter,  Elasti‐
214694                     Cache automatically chooses an appropriate time range.
214695
214696                     Example:  05:00-09:00
214697
214698                     NOTE:
214699                        This  parameter  is only valid if the Engine parameter
214700                        is redis.
214701
214702              AuthToken
214703                     The password used to access a password protected  server.
214704                     Password constraints:
214705
214706                     · Must be only printable ASCII characters.
214707
214708                     · Must  be  at  least  16 characters and no more than 128
214709                       characters in length.
214710
214711                     · Cannot contain any of the  following  characters:  '/',
214712                       '"', or "@".
214713
214714              SnapshottingClusterId
214715                     The  cache  cluster ID that is used as the daily snapshot
214716                     source for the replication group.
214717
214718              NotificationTopicStatus
214719                     The status of the SNS notification topic.   Notifications
214720                     are  sent  only  if  the status is active.  Valid values:
214721                     active | inactive
214722
214723              region Region to connect to.
214724
214725              key    Secret key to be used.
214726
214727              keyid  Access key to be used.
214728
214729              profile
214730                     A dict with region,  key  and  keyid,  or  a  pillar  key
214731                     (string) that contains a dict with region, key and keyid.
214732
214733   salt.states.boto3_route53 module
214734       Manage Route53 records with Boto 3
214735
214736       New in version 2017.7.0.
214737
214738
214739       Create  and  delete  Route53 records. Be aware that this interacts with
214740       Amazon's services, and so may incur charges.
214741
214742       This module uses boto3, which can be installed via package, or pip.
214743
214744       This module accepts explicit route53 credentials but can  also  utilize
214745       IAM  roles  assigned to the instance through Instance Profiles. Dynamic
214746       credentials are then automatically obtained from AWS API and no further
214747       configuration is necessary. More information available here.
214748
214749       If  IAM  roles are not used you need to specify them either in a pillar
214750       file or in the minion's config file:
214751
214752          route53.keyid: GKTADJGHEIQSXMKKRBJ08H
214753          route53.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
214754
214755       It's also possible to specify key, keyid  and  region  via  a  profile,
214756       either passed in as a dict, or as a string to pull from pillars or min‐
214757       ion config:
214758
214759          myprofile:
214760            keyid: GKTADJGHEIQSXMKKRBJ08H
214761            key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
214762            region: us-east-1
214763
214764          An exciting new AWS Route 53 Hosted Zone:
214765            boto_route53.hosted_zone_present:
214766              - Name: example.com.
214767              - PrivateZone: true
214768              - VPCs:
214769                - VPCName: MyLittleVPC
214770                  VPCRegion: us-east-1
214771                - VPCId: vpc-12345678
214772              - region: us-east-1
214773              - keyid: GKTADJGHEIQSXMKKRBJ08H
214774              - key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
214775
214776          mycnamerecord:
214777            boto_route53.rr_present:
214778              - Name: test.example.com.
214779              - ResourceRecords:
214780                - my-elb.us-east-1.elb.amazonaws.com.
214781              - DomainName: example.com.
214782              - TTL: 60
214783              - Type: CNAME
214784              - region: us-east-1
214785              - keyid: GKTADJGHEIQSXMKKRBJ08H
214786              - key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
214787
214788       salt.states.boto3_route53.hosted_zone_absent(name, Name=None,  Private‐
214789       Zone=False, region=None, key=None, keyid=None, profile=None)
214790              Ensure the Route53 Hostes Zone described is absent
214791
214792              name   The name of the state definition.
214793
214794              Name   The  name of the domain. This should be a fully-specified
214795                     domain, and should terminate with a period.  If not  pro‐
214796                     vided, the value of name will be used.
214797
214798              PrivateZone
214799                     Set True if deleting a private hosted zone.
214800
214801       salt.states.boto3_route53.hosted_zone_present(name, Name=None, Private‐
214802       Zone=False, CallerReference=None, Comment=None, VPCs=None, region=None,
214803       key=None, keyid=None, profile=None)
214804              Ensure a hosted zone exists with the given attributes.
214805
214806              name   The name of the state definition.
214807
214808              Name   The  name of the domain. This should be a fully-specified
214809                     domain, and should terminate with a period. This  is  the
214810                     name  you  have registered with your DNS registrar. It is
214811                     also the name you will delegate from  your  registrar  to
214812                     the  Amazon  Route  53  delegation  servers  returned  in
214813                     response to this request.  If not provided, the value  of
214814                     name will be used.
214815
214816              PrivateZone
214817                     Set  True  if  creating  a private hosted zone.  If true,
214818                     then 'VPCs' is also required.
214819
214820              Comment
214821                     Any comments you want to include about the hosted zone.
214822
214823              CallerReference
214824                     A unique string that  identifies  the  request  and  that
214825                     allows  create_hosted_zone()  calls to be retried without
214826                     the risk of executing the operation  twice.   This  helps
214827                     ensure  idempotency  across  state  calls,  but can cause
214828                     issues if a zone is deleted and then an attempt  is  made
214829                     to  recreate  it  with  the same CallerReference.  If not
214830                     provided, a unique UUID will be generated at  each  state
214831                     run,  which can potentially lead to duplicate zones being
214832                     created if the state is run again while the previous zone
214833                     creation  is still in PENDING status (which can occasion‐
214834                     ally take several minutes to clear).  Maximum  length  of
214835                     128.
214836
214837              VPCs   A  list  of dicts, each dict composed of a VPCRegion, and
214838                     either a VPCId or a VPCName.  Note  that  this  param  is
214839                     ONLY used if PrivateZone == True
214840
214841                     VPCId  When  creating  a  private hosted zone, either the
214842                            VPC ID or VPC Name to associate with is  required.
214843                            Exclusive with VPCName.
214844
214845                     VPCName
214846                            When  creating  a  private hosted zone, either the
214847                            VPC ID or VPC Name to associate with is  required.
214848                            Exclusive with VPCId.
214849
214850                     VPCRegion
214851                            When creating a private hosted zone, the region of
214852                            the associated VPC is required.  If not  provided,
214853                            an  effort will be made to determine it from VPCId
214854                            or VPCName, if possible.   This  will  fail  if  a
214855                            given  VPCName  exists in multiple regions visible
214856                            to the bound account, in which case you'll need to
214857                            provide an explicit value for VPCRegion.
214858
214859       salt.states.boto3_route53.rr_absent(name,   HostedZoneId=None,  Domain‐
214860       Name=None, PrivateZone=False, Name=None, Type=None, SetIdentifier=None,
214861       region=None, key=None, keyid=None, profile=None)
214862              Ensure the Route53 record is deleted.
214863
214864              name   The  name of the state definition.  This will be used for
214865                     Name if the latter is not provided.
214866
214867              HostedZoneId
214868                     The ID of the zone to delete the record from.   Exclusive
214869                     with DomainName.
214870
214871              DomainName
214872                     The  domain  name  of the zone to delete the record from.
214873                     Exclusive with HostedZoneId.
214874
214875              PrivateZone
214876                     Set to True if the RR to be removed is in a private zone,
214877                     False if public.
214878
214879              Name   Name of the resource record.
214880
214881              Type   The record type (A, NS, MX, TXT, etc.)
214882
214883              SetIdentifier
214884                     Valid  for  Weighted,  Latency, Geolocation, and Failover
214885                     resource record sets only.  An identifier that  differen‐
214886                     tiates  among multiple resource record sets that have the
214887                     same combination of DNS name  and  type.   The  value  of
214888                     SetIdentifier must be unique for each resource record set
214889                     that has the same combination of DNS name and type.  Omit
214890                     SetIdentifier for any other types of record sets.
214891
214892              region The region to connect to.
214893
214894              key    Secret key to be used.
214895
214896              keyid  Access key to be used.
214897
214898              profile
214899                     Dict,  or  pillar  key pointing to a dict, containing AWS
214900                     region/key/keyid.
214901
214902       salt.states.boto3_route53.rr_present(name,  HostedZoneId=None,  Domain‐
214903       Name=None, PrivateZone=False, Name=None, Type=None, SetIdentifier=None,
214904       Weight=None, Region=None,  GeoLocation=None,  Failover=None,  TTL=None,
214905       ResourceRecords=None, AliasTarget=None, HealthCheckId=None, TrafficPol‐
214906       icyInstanceId=None, region=None, key=None, keyid=None, profile=None)
214907              Ensure the Route53 record is present.
214908
214909              name   The name of the state definition.  This will be used  for
214910                     Name if the latter is not provided.
214911
214912              HostedZoneId
214913                     The ID of a zone to create the record in.  Exclusive with
214914                     DomainName.
214915
214916              DomainName
214917                     The domain name of  a  zone  to  create  the  record  in.
214918                     Exclusive with HostedZoneId.
214919
214920              PrivateZone
214921                     Set to True if the resource record should be in a private
214922                     zone, False if public.
214923
214924              Name   Name of the Route 53 resource record being managed.
214925
214926              Type   The record type (A, NS, MX, TXT, etc.)
214927
214928              SetIdentifier
214929                     Valid for Weighted, Latency,  Geolocation,  and  Failover
214930                     resource  record sets only.  An identifier that differen‐
214931                     tiates among multiple resource record sets that have  the
214932                     same  combination  of  DNS  name  and type.  The value of
214933                     SetIdentifier must be unique for each resource record set
214934                     that  has the same combination of DNS name and type. Omit
214935                     SetIdentifier for any other types of record sets.
214936
214937              Weight Valid for Weighted  resource  record  sets  only.   Among
214938                     resource  record  sets  that have the same combination of
214939                     DNS name and type, a value that determines the proportion
214940                     of DNS queries that Amazon Route 53 responds to using the
214941                     current resource record set. Amazon Route  53  calculates
214942                     the  sum of the weights for the resource record sets that
214943                     have the same combination of DNS name  and  type.  Amazon
214944                     Route 53 then responds to queries based on the ratio of a
214945                     resource's weight to the total.
214946
214947                     Note the following:
214948
214949                     · You must specify a value for  the  Weight  element  for
214950                       every weighted resource record set.
214951
214952                     · You  can  only  specify one ResourceRecord per weighted
214953                       resource record set.
214954
214955                     · You can't  create  latency,  failover,  or  geolocation
214956                       resource  record sets that have the same values for the
214957                       Name and Type  elements  as  weighted  resource  record
214958                       sets.
214959
214960                     · You  can  create  a  maximum  of  100 weighted resource
214961                       record sets that have the same values for the Name  and
214962                       Type elements.
214963
214964                     · For  weighted  (but not weighted alias) resource record
214965                       sets, if you set Weight to 0 for a resource record set,
214966                       Amazon  Route  53  never  responds  to queries with the
214967                       applicable value for that resource  record  set.   How‐
214968                       ever,  if  you  set Weight to 0 for all resource record
214969                       sets that have the same combination  of  DNS  name  and
214970                       type,  traffic  is  routed  to all resources with equal
214971                       probability.  The effect of setting Weight to 0 is dif‐
214972                       ferent  when  you associate health checks with weighted
214973                       resource record sets. For more information, see Options
214974                       for  Configuring  Amazon  Route  53  Active-Active  and
214975                       Active-Passive Failover in the Amazon Route  53  Devel‐
214976                       oper Guide.
214977
214978              Region Valid  for  Latency-based resource record sets only.  The
214979                     Amazon EC2 Region where the resource that is specified in
214980                     this  resource record set resides. The resource typically
214981                     is an AWS resource, such as an EC2  instance  or  an  ELB
214982                     load  balancer,  and is referred to by an IP address or a
214983                     DNS domain name, depending on the record type.
214984
214985              GeoLocation
214986                     Geo location resource record sets only.  A dict that lets
214987                     you control how Route 53 responds to DNS queries based on
214988                     the geographic origin of the query.  For example, if  you
214989                     want all queries from Africa to be routed to a web server
214990                     with an IP address  of  192.0.2.111,  create  a  resource
214991                     record set with a Type of A and a ContinentCode of AF.
214992
214993                        ContinentCode
214994                            The two-letter code for the continent.
214995                            Valid values: AF | AN | AS | EU | OC | NA | SA
214996                            Constraint: Specifying ContinentCode with either CountryCode or SubdivisionCode
214997                                        returns an InvalidInput error.
214998                        CountryCode
214999                            The two-letter code for the country.
215000                        SubdivisionCode
215001                            The code for the subdivision, for example, a state in the United States or a
215002                            province in Canada.
215003
215004                     Notes
215005
215006                     · Creating  geolocation  and  geolocation  alias resource
215007                       record sets in private hosted zones is not supported.
215008
215009                     · If you create separate resource record sets  for  over‐
215010                       lapping  geographic  regions (for example, one resource
215011                       record set for a continent and one for a country on the
215012                       same  continent),  priority  goes  to the smallest geo‐
215013                       graphic region. This allows you to route  most  queries
215014                       for  a  continent  to one resource and to route queries
215015                       for  a  country  on  that  continent  to  a   different
215016                       resource.
215017
215018                     · You  can't  create two geolocation resource record sets
215019                       that specify the same geographic location.
215020
215021                     · The value * in the CountryCode element matches all geo‐
215022                       graphic locations that aren't specified in other geolo‐
215023                       cation resource record sets that have the  same  values
215024                       for the Name and Type elements.
215025
215026                     · Geolocation works by mapping IP addresses to locations.
215027                       However, some IP addresses aren't mapped to  geographic
215028                       locations,  so  even if you create geolocation resource
215029                       record sets that cover  all  seven  continents,  Amazon
215030                       Route  53  will receive some DNS queries from locations
215031                       that it can't identify.  We recommend that you create a
215032                       resource  record set for which the value of CountryCode
215033                       is *, which handles both queries that come  from  loca‐
215034                       tions   for   which  you  haven't  created  geolocation
215035                       resource record sets and queries from IP addresses that
215036                       aren't  mapped  to a location.  If you don't create a *
215037                       resource record set, Amazon  Route  53  returns  a  "no
215038                       answer" response for queries from those locations.
215039
215040                     · You  can't  create non-geolocation resource record sets
215041                       that have the same values for the Name  and  Type  ele‐
215042                       ments as geolocation resource record sets.
215043
215044              TTL    The resource record cache time to live (TTL), in seconds.
215045                     Note the following:
215046
215047                     · If you're creating an alias resource record  set,  omit
215048                       TTL.  Amazon  Route  53  uses  the value of TTL for the
215049                       alias target.
215050
215051                     · If you're associating this resource record set  with  a
215052                       health  check  (if  you're  adding a HealthCheckId ele‐
215053                       ment), we recommend that you specify a TTL of  60  sec‐
215054                       onds  or  less so clients respond quickly to changes in
215055                       health status.
215056
215057                     · All of the resource record sets in a group of weighted,
215058                       latency,  geolocation, or failover resource record sets
215059                       must have the same value for TTL.
215060
215061                     · If a group of weighted resource  record  sets  includes
215062                       one  or  more  weighted  alias resource record sets for
215063                       which the alias target is an ELB load balancer, we rec‐
215064                       ommend  that you specify a TTL of 60 seconds for all of
215065                       the non-alias weighted resource record sets  that  have
215066                       the  same  name  and type. Values other than 60 seconds
215067                       (the TTL for load balancers) will change the effect  of
215068                       the values that you specify for Weight.
215069
215070              ResourceRecords
215071                     A  list,  containing  one or more values for the resource
215072                     record.  No single value  can  exceed  4,000  characters.
215073                     For  details on how to format values for different record
215074                     types, see Supported DNS Resource  Record  Types  in  the
215075                     Amazon Route 53 Developer Guide.
215076
215077                     Note:  You can specify more than one value for all record
215078                     types except CNAME and SOA.
215079
215080                     It is also possible to pass "magic" strings  as  resource
215081                     record   values.    This   functionality  can  easily  be
215082                     extended, but for the moment supports the following:
215083                        'magic:ec2_instance_tag:some_tag_name:some_string:some_instance_attr'
215084
215085                     This  tells  salt  to  lookup  an EC2 instance with a tag
215086                     'some_tag_name' which has  the  value  'some_string'  and
215087                     substitute  the  'some_instance_attr'  attribute  of that
215088                     instance as the resource record value being evaluated.
215089
215090                     This should work generally for any EC2 instance tags,  as
215091                     long as the instance attribute being fetched is available
215092                     to getattr(instance, 'attribute') as  seen  in  the  code
215093                     below.  Anything else will most likely require this func‐
215094                     tion to be extended to handle it.
215095
215096                     The canonical use-case for this (at least at our site) is
215097                     to  query the Name tag (which we always populate with the
215098                     host's FQDN) to lookup the public or private IPs bound to
215099                     the instance, so we can then automgically create Route 53
215100                     records for them.
215101
215102              AliasTarget
215103                     The rules governing how to define an AliasTarget for  the
215104                     various  supported use-cases are obtuse beyond reason and
215105                     attempting   to   paraphrase   them   (or   even   worse,
215106                     cut-and-paste  them in their entirety) would be silly and
215107                     counterproductive.  If you need this feature,  then  Read
215108                     The Fine Materials at the Boto 3 Route 53 page and/or the
215109                     AWS Route 53 docs and suss them for  yourself  -  I  sure
215110                     won't claim to understand them partcularly well.
215111
215112              region The region to connect to.
215113
215114              key    Secret key to be used.
215115
215116              keyid  Access key to be used.
215117
215118              profile
215119                     Dict,  or  pillar  key pointing to a dict, containing AWS
215120                     region/key/keyid.
215121
215122   salt.states.boto_apigateway module
215123   Manage Apigateway Rest APIs
215124       New in version 2016.11.0.
215125
215126
215127       depends
215128
215129              · boto >= 2.8.0
215130
215131              · boto3 >= 1.2.1
215132
215133              · botocore >= 1.4.49
215134
215135       Create and destroy rest apis depending on a swagger version  2  defini‐
215136       tion file.  Be aware that this interacts with Amazon's services, and so
215137       may incur charges.
215138
215139       This module uses boto3, which can be installed via package, or pip.
215140
215141       This module accepts explicit vpc credentials but can also  utilize  IAM
215142       roles  assigned to the instance through Instance Profiles. Dynamic cre‐
215143       dentials are then automatically obtained from AWS API  and  no  further
215144       configuration is necessary. More information available here.
215145
215146       If  IAM  roles are not used you need to specify them either in a pillar
215147       file or in the minion's config file:
215148
215149          vpc.keyid: GKTADJGHEIQSXMKKRBJ08H
215150          vpc.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
215151
215152       It's also possible to specify key, keyid  and  region  via  a  profile,
215153       either passed in as a dict, or as a string to pull from pillars or min‐
215154       ion config:
215155
215156          myprofile:
215157            keyid: GKTADJGHEIQSXMKKRBJ08H
215158            key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
215159            region: us-east-1
215160
215161          Ensure Apigateway API exists:
215162            boto_apigateway.present:
215163              - name: myfunction
215164              - region: us-east-1
215165              - keyid: GKTADJGHEIQSXMKKRBJ08H
215166              - key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
215167
215168       salt.states.boto_apigateway.absent(name,     api_name,      stage_name,
215169       nuke_api=False, region=None, key=None, keyid=None, profile=None)
215170              Ensure   the  stage_name  associated  with  the  given  api_name
215171              deployed by boto_apigateway's present state is removed.  If  the
215172              currently  associated  deployment to the given stage_name has no
215173              other stages associated with it, the  deployment  will  also  be
215174              removed.
215175
215176              name   Name of the swagger file in YAML format
215177
215178              api_name
215179                     Name  of  the  rest  api  on  AWS ApiGateway to ensure is
215180                     absent.
215181
215182              stage_name
215183                     Name of the stage to be removed irrespective of the swag‐
215184                     ger  file  content.  If the current deployment associated
215185                     with the stage_name has no other stages  associated  with
215186                     it, the deployment will also be removed.
215187
215188              nuke_api
215189                     If  True,  removes  the  API  itself only if there are no
215190                     other stages associated with any other  deployments  once
215191                     the given stage_name is removed.
215192
215193              region Region to connect to.
215194
215195              key    Secret key to be used.
215196
215197              keyid  Access key to be used.
215198
215199              profile
215200                     A  dict  with  region,  key  and  keyid,  or a pillar key
215201                     (string) that contains a dict with region, key and keyid.
215202
215203       salt.states.boto_apigateway.present(name,    api_name,    swagger_file,
215204       stage_name,          api_key_required,         lambda_integration_role,
215205       lambda_region=None,   stage_variables=None,   region=None,    key=None,
215206       keyid=None,              profile=None,             lambda_funcname_for‐
215207       mat=u'{stage}_{api}_{resource}_{method}',   authorization_type=u'NONE',
215208       error_response_template=None, response_template=None)
215209              Ensure  the spcified api_name with the corresponding swaggerfile
215210              is deployed to the given stage_name in AWS ApiGateway.
215211
215212              this state currently only supports ApiGateway  integration  with
215213              AWS  Lambda, and CORS support is handled through a Mock integra‐
215214              tion.
215215
215216              There may be multiple  deployments  for  the  API  object,  each
215217              deployment  is  tagged with a description (i.e. unique label) in
215218              pretty printed json format consisting of the following  key/val‐
215219              ues.
215220
215221                 {
215222                     "api_name": api_name,
215223                     "swagger_file": basename_of_swagger_file
215224                     "swagger_file_md5sum": md5sum_of_swagger_file,
215225                     "swagger_info_object": info_object_content_in_swagger_file
215226                 }
215227
215228              Please  note  that  the  name of the lambda function to be inte‐
215229              grated will be derived via the  provided  lambda_funcname_format
215230              parameters:
215231
215232              · the  default  lambda_funcname_format is a string with the fol‐
215233                lowing                   substitutable                   keys:
215234                "{stage}_{api}_{resource}_{method}".   The  user can choose to
215235                reorder the known keys.
215236
215237              · the stage key corresponds to the stage_name passed in.
215238
215239              · the api key corresponds to the api_name passed in.
215240
215241              · the resource corresponds to the resource path defined  in  the
215242                passed swagger file.
215243
215244              · the  method  corresponds  to  the  method  for a resource path
215245                defined in the passed swagger file.
215246
215247              For the  default  lambda_funcname_format,  given  the  following
215248              input:
215249
215250                 api_name = '  Test    Service'
215251                 stage_name = 'alpha'
215252                 basePath = '/api'
215253                 path = '/a/{b}/c'
215254                 method = 'POST'
215255
215256              We will end up with the following Lambda Function Name that will
215257              be looked up: 'test_service_alpha_a_b_c_post'
215258
215259              The canconicalization of these input parameters is done  in  the
215260              following order:
215261
215262              1. lambda_funcname_format is formatted with the input parameters
215263                 as passed,
215264
215265              2. resulting string is stripped for leading/trailing spaces,
215266
215267              3. path parameter's curly braces are removed from  the  resource
215268                 path,
215269
215270              4. consecutive  spaces  and  forward  slashes  in  the paths are
215271                 replaced with '_'
215272
215273              5. consecutive '_' are replaced with '_'
215274
215275              Please note that for error response handling, the  swagger  file
215276              must  have  an  error  response model with the following schema.
215277              The lambda functions should throw exceptions for  any  non  suc‐
215278              cessful  responses.   An optional pattern field can be specified
215279              in errorMessage field to aid the response mapping from Lambda to
215280              the proper error return status codes.
215281
215282                 Error:
215283                   type: object
215284                   properties:
215285                     stackTrace:
215286                       type: array
215287                       items:
215288                         type: array
215289                         items:
215290                           type: string
215291                       description: call stack
215292                   errorType:
215293                     type: string
215294                     description: error type
215295                   errorMessage:
215296                     type: string
215297                     description: |
215298                       Error message, will be matched based on pattern.
215299                       If no pattern is specified, the default pattern used for response mapping will be +*.
215300
215301              name   The name of the state definition
215302
215303              api_name
215304                     The name of the rest api that we want to ensure exists in
215305                     AWS API Gateway
215306
215307              swagger_file
215308                     Name of the location of the swagger rest  api  definition
215309                     file in YAML format.
215310
215311              stage_name
215312                     Name of the stage we want to be associated with the given
215313                     api_name and swagger_file definition
215314
215315              api_key_required
215316                     True or False - whether the API Key is required  to  call
215317                     API methods
215318
215319              lambda_integration_role
215320                     The  name  or ARN of the IAM role that the AWS ApiGateway
215321                     assumes when it executes your lambda function  to  handle
215322                     incoming requests
215323
215324              lambda_region
215325                     The  region where we expect to find the lambda functions.
215326                     This is used to determine the region where we should look
215327                     for  the  Lambda  Function for integration purposes.  The
215328                     region determination is based on the following priority:
215329
215330                     1. lambda_region as passed in (is not None)
215331
215332                     2. if lambda_region is None,  use  the  region  as  if  a
215333                        boto_lambda  function were executed without explicitly
215334                        specifying lambda region.
215335
215336                     3. if region determined in  (2)  is  different  than  the
215337                        region  used  by  boto_apigateway  functions,  a final
215338                        lookup will be  attempted  using  the  boto_apigateway
215339                        region.
215340
215341              stage_variables
215342                     A  dict  with variables and their values, or a pillar key
215343                     (string) that contains a dict with  variables  and  their
215344                     values.   key  and  values  in  the dict must be strings.
215345                     {'string': 'string'}
215346
215347              region Region to connect to.
215348
215349              key    Secret key to be used.
215350
215351              keyid  Access key to be used.
215352
215353              profile
215354                     A dict with region,  key  and  keyid,  or  a  pillar  key
215355                     (string) that contains a dict with region, key and keyid.
215356
215357              lambda_funcname_format
215358                     Please  review  the  earlier  example for the usage.  The
215359                     only  substituable  keys  in  the  funcname  format   are
215360                     {stage},  {api}, {resource}, {method}.  Any other keys or
215361                     positional subsitution parameters will be flagged  as  an
215362                     invalid input.
215363
215364              authorization_type
215365                     This field can be either 'NONE', or 'AWS_IAM'.  This will
215366                     be applied to all methods in the given swagger spec file.
215367                     Default is set to 'NONE'
215368
215369              error_response_template
215370                     String  value  that defines the response template mapping
215371                     that should be applied in cases error occurs.   Refer  to
215372                     AWS          documentation          for          details:
215373                     http://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-mapping-template-reference.html
215374
215375                     If set to None, the following default value is used:
215376
215377                        '#set($inputRoot = $input.path('$'))\n'
215378                        '{\n'
215379                        '  "errorMessage" : "$inputRoot.errorMessage",\n'
215380                        '  "errorType" : "$inputRoot.errorType",\n'
215381                        '  "stackTrace" : [\n'
215382                        '#foreach($stackTrace in $inputRoot.stackTrace)\n'
215383                        '    [\n'
215384                        '#foreach($elem in $stackTrace)\n'
215385                        '      "$elem"\n'
215386                        '#if($foreach.hasNext),#end\n'
215387                        '#end\n'
215388                        '    ]\n'
215389                        '#if($foreach.hasNext),#end\n'
215390                        '#end\n'
215391                        '  ]\n'
215392
215393                     New in version 2017.7.0.
215394
215395
215396              response_template
215397                     String  value  that defines the response template mapping
215398                     applied in case of success (including OPTIONS method)  If
215399                     set  to  None, empty ({}) template is assumed, which will
215400                     transfer response from the lambda function as is.
215401
215402                     New in version 2017.7.0.
215403
215404
215405       salt.states.boto_apigateway.usage_plan_absent(name,          plan_name,
215406       region=None, key=None, keyid=None, profile=None)
215407              Ensures usage plan identified by name is no longer present
215408
215409              New in version 2017.7.0.
215410
215411
215412              name   name of the state
215413
215414              plan_name
215415                     name of the plan to remove
215416
215417                 usage plan absent:
215418                   boto_apigateway.usage_plan_absent:
215419                     - plan_name: my_usage_plan
215420                     - profile: my_profile
215421
215422       salt.states.boto_apigateway.usage_plan_association_absent(name,
215423       plan_name, api_stages, region=None, key=None, keyid=None, profile=None)
215424              Ensures usage plan identified by name is removed  from  provided
215425              api_stages  If  a  plan  is  associated  to stages not listed in
215426              api_stages parameter, those associations remain intact.
215427
215428              New in version 2017.7.0.
215429
215430
215431              name   name of the state
215432
215433              plan_name
215434                     name of the plan to use
215435
215436              api_stages
215437                     list of dictionaries, where each dictionary  consists  of
215438                     the following keys:
215439
215440                     apiId  apiId of the api to detach usage plan from
215441
215442                     stage  stage name of the api to detach usage plan from
215443
215444                 UsagePlanAssociationAbsent:
215445                   boto_apigateway.usage_plan_association_absent:
215446                     - plan_name: my_plan
215447                     - api_stages:
215448                       - apiId: 9kb0404ec0
215449                         stage: my_stage
215450                       - apiId: l9v7o2aj90
215451                         stage: my_stage
215452                     - profile: my_profile
215453
215454       salt.states.boto_apigateway.usage_plan_association_present(name,
215455       plan_name, api_stages, region=None, key=None, keyid=None, profile=None)
215456              Ensures usage plan identified  by  name  is  added  to  provided
215457              api_stages
215458
215459              New in version 2017.7.0.
215460
215461
215462              name   name of the state
215463
215464              plan_name
215465                     name of the plan to use
215466
215467              api_stages
215468                     list  of  dictionaries, where each dictionary consists of
215469                     the following keys:
215470
215471                     apiId  apiId of the api to attach usage plan to
215472
215473                     stage  stage name of the api to attach usage plan to
215474
215475                 UsagePlanAssociationPresent:
215476                   boto_apigateway.usage_plan_association_present:
215477                     - plan_name: my_plan
215478                     - api_stages:
215479                       - apiId: 9kb0404ec0
215480                         stage: my_stage
215481                       - apiId: l9v7o2aj90
215482                         stage: my_stage
215483                     - profile: my_profile
215484
215485       salt.states.boto_apigateway.usage_plan_present(name,         plan_name,
215486       description=None,  throttle=None,  quota=None,  region=None,  key=None,
215487       keyid=None, profile=None)
215488              Ensure the spcifieda usage plan with the  corresponding  metrics
215489              is deployed
215490
215491              New in version 2017.7.0.
215492
215493
215494              name   name of the state
215495
215496              plan_name
215497                     [Required] name of the usage plan
215498
215499              throttle
215500                     [Optional]  throttling  parameters expressed as a dictio‐
215501                     nary.  If provided, at least one of the throttling param‐
215502                     eters must be present
215503
215504                     rateLimit
215505                            rate  per second at which capacity bucket is popu‐
215506                            lated
215507
215508                     burstLimit
215509                            maximum rate allowed
215510
215511              quota  [Optional] quota on the number of api calls permitted  by
215512                     the plan.  If provided, limit and period must be present
215513
215514                     limit  [Required]  number  of  calls  permitted per quota
215515                            period
215516
215517                     offset [Optional] number of calls to be  subtracted  from
215518                            the limit at the beginning of the period
215519
215520                     period [Required]  period to which quota applies. Must be
215521                            DAY, WEEK or MONTH
215522
215523                 UsagePlanPresent:
215524                   boto_apigateway.usage_plan_present:
215525                     - plan_name: my_usage_plan
215526                     - throttle:
215527                         rateLimit: 70
215528                         burstLimit: 100
215529                     - quota:
215530                         limit: 1000
215531                         offset: 0
215532                         period: DAY
215533                     - profile: my_profile
215534
215535   salt.states.boto_asg
215536   Manage Autoscale Groups
215537       New in version 2014.7.0.
215538
215539
215540       Create and destroy autoscale groups. Be aware that this interacts  with
215541       Amazon's services, and so may incur charges.
215542
215543       This module uses boto, which can be installed via package, or pip.
215544
215545       This module accepts explicit autoscale credentials but can also utilize
215546       IAM roles assigned to the instance through Instance  Profiles.  Dynamic
215547       credentials are then automatically obtained from AWS API and no further
215548       configuration is necessary. More Information available at:
215549
215550          http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html
215551
215552       If IAM roles are not used you need to specify them either in  a  pillar
215553       or in the minion's config file:
215554
215555          asg.keyid: GKTADJGHEIQSXMKKRBJ08H
215556          asg.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
215557
215558       It's  also  possible  to  specify  key, keyid and region via a profile,
215559       either as a passed in dict, or as a string to pull from pillars or min‐
215560       ion config:
215561
215562          myprofile:
215563              keyid: GKTADJGHEIQSXMKKRBJ08H
215564              key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
215565              region: us-east-1
215566
215567          Ensure myasg exists:
215568            boto_asg.present:
215569              - name: myasg
215570              - launch_config_name: mylc
215571              - availability_zones:
215572                - us-east-1a
215573                - us-east-1b
215574              - min_size: 1
215575              - max_size: 1
215576              - desired_capacity: 1
215577              - load_balancers:
215578                - myelb
215579              - suspended_processes:
215580                  - AddToLoadBalancer
215581                  - AlarmNotification
215582              - scaling_policies
215583                  - adjustment_type: ChangeInCapacity
215584                  - as_name: api-production-iad
215585                  - cooldown: 1800
215586                  - min_adjustment_step: None
215587                  - name: ScaleDown
215588                  - scaling_adjustment: -1
215589              - region: us-east-1
215590              - keyid: GKTADJGHEIQSXMKKRBJ08H
215591              - key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
215592
215593          # Using a profile from pillars.
215594          Ensure myasg exists:
215595            boto_asg.present:
215596              - name: myasg
215597              - launch_config_name: mylc
215598              - availability_zones:
215599                - us-east-1a
215600                - us-east-1b
215601              - min_size: 1
215602              - max_size: 1
215603              - desired_capacity: 1
215604              - load_balancers:
215605                - myelb
215606              - profile: myprofile
215607
215608          # Passing in a profile.
215609          Ensure myasg exists:
215610            boto_asg.present:
215611              - name: myasg
215612              - launch_config_name: mylc
215613              - availability_zones:
215614                - us-east-1a
215615                - us-east-1b
215616              - min_size: 1
215617              - max_size: 1
215618              - desired_capacity: 1
215619              - load_balancers:
215620                - myelb
215621              - profile:
215622                  keyid: GKTADJGHEIQSXMKKRBJ08H
215623                  key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
215624                  region: us-east-1
215625
215626          # Deleting an autoscale group with running instances.
215627          Ensure myasg is deleted:
215628            boto_asg.absent:
215629              - name: myasg
215630              # If instances exist, we must force the deletion of the asg.
215631              - force: True
215632
215633       It's  possible  to  specify  cloudwatch alarms that will be setup along
215634       with the ASG. Note the alarm name will be the name  attribute  defined,
215635       plus the ASG resource name.
215636
215637          Ensure myasg exists:
215638            boto_asg.present:
215639              - name: myasg
215640              - launch_config_name: mylc
215641              - availability_zones:
215642                - us-east-1a
215643                - us-east-1b
215644              - min_size: 1
215645              - max_size: 1
215646              - desired_capacity: 1
215647              - load_balancers:
215648                - myelb
215649              - profile: myprofile
215650              - alarms:
215651                  CPU:
215652                    name: 'ASG CPU **MANAGED BY SALT**'
215653                    attributes:
215654                      metric: CPUUtilization
215655                      namespace: AWS/EC2
215656                      statistic: Average
215657                      comparison: '>='
215658                      threshold: 65.0
215659                      period: 60
215660                      evaluation_periods: 30
215661                      unit: null
215662                      description: 'ASG CPU'
215663                      alarm_actions: [ 'arn:aws:sns:us-east-1:12345:myalarm' ]
215664                      insufficient_data_actions: []
215665                      ok_actions: [ 'arn:aws:sns:us-east-1:12345:myalarm' ]
215666
215667       You can also use alarms from pillars, and override values from the pil‐
215668       lar  alarms  by  setting  overrides  on   the   resource.   Note   that
215669       'boto_asg_alarms' will be used as a default value for all resources, if
215670       defined and can be used to ensure alarms are  always  set  for  an  ASG
215671       resource.
215672
215673       Setting the alarms in a pillar:
215674
215675          my_asg_alarm:
215676            CPU:
215677              name: 'ASG CPU **MANAGED BY SALT**'
215678              attributes:
215679                metric: CPUUtilization
215680                namespace: AWS/EC2
215681                statistic: Average
215682                comparison: '>='
215683                threshold: 65.0
215684                period: 60
215685                evaluation_periods: 30
215686                unit: null
215687                description: 'ASG CPU'
215688                alarm_actions: [ 'arn:aws:sns:us-east-1:12345:myalarm' ]
215689                insufficient_data_actions: []
215690                ok_actions: [ 'arn:aws:sns:us-east-1:12345:myalarm' ]
215691
215692       Overriding the alarm values on the resource:
215693
215694          Ensure myasg exists:
215695            boto_asg.present:
215696              - name: myasg
215697              - launch_config_name: mylc
215698              - availability_zones:
215699                - us-east-1a
215700                - us-east-1b
215701              - min_size: 1
215702              - max_size: 1
215703              - desired_capacity: 1
215704              - load_balancers:
215705                - myelb
215706              - profile: myprofile
215707              - alarms_from_pillar: my_asg_alarm
215708              # override CPU:attributes:threshold
215709              - alarms:
215710                  CPU:
215711                    attributes:
215712                      threshold: 50.0
215713
215714       salt.states.boto_asg.absent(name,  force=False,  region=None, key=None,
215715       keyid=None, profile=None, remove_lc=False)
215716              Ensure the named autoscale group is deleted.
215717
215718              name   Name of the autoscale group.
215719
215720              force  Force deletion of autoscale group.
215721
215722              remove_lc
215723                     Delete the launch config as well.
215724
215725              region The region to connect to.
215726
215727              key    Secret key to be used.
215728
215729              keyid  Access key to be used.
215730
215731              profile
215732                     A dict with region,  key  and  keyid,  or  a  pillar  key
215733                     (string) that contains a dict with region, key and keyid.
215734
215735       salt.states.boto_asg.present(name,    launch_config_name,    availabil‐
215736       ity_zones,  min_size,  max_size,   launch_config=None,   desired_capac‐
215737       ity=None,          load_balancers=None,          default_cooldown=None,
215738       health_check_type=None, health_check_period=None, placement_group=None,
215739       vpc_zone_identifier=None,    subnet_names=None,   tags=None,   termina‐
215740       tion_policies=None,  termination_policies_from_pillar=u'boto_asg_termi‐
215741       nation_policies',    suspended_processes=None,   scaling_policies=None,
215742       scaling_policies_from_pillar=u'boto_asg_scaling_policies',       sched‐
215743       uled_actions=None,      scheduled_actions_from_pillar=u'boto_asg_sched‐
215744       uled_actions',   alarms=None,    alarms_from_pillar=u'boto_asg_alarms',
215745       region=None, key=None, keyid=None, profile=None, notification_arn=None,
215746       notification_arn_from_pillar=u'boto_asg_notification_arn',    notifica‐
215747       tion_types=None,    notification_types_from_pillar=u'boto_asg_notifica‐
215748       tion_types')
215749              Ensure the autoscale group exists.
215750
215751              name   Name of the autoscale group.
215752
215753              launch_config_name
215754                     Name of the launch config to use for the group.   Or,  if
215755                     launch_config  is specified, this will be the launch con‐
215756                     fig name's prefix.  (see below)
215757
215758              launch_config
215759                     A dictionary of launch config attributes.  If  specified,
215760                     a  launch  config  will be used or created, matching this
215761                     set of attributes, and the autoscale group will be set to
215762                     use  that  launch config.  The launch config name will be
215763                     the launch_config_name followed by a hyphen followed by a
215764                     hash of the launch_config dict contents.  Example:
215765
215766                        my_asg:
215767                          boto_asg.present:
215768                          - launch_config:
215769                            - ebs_optimized: false
215770                            - instance_profile_name: my_iam_profile
215771                            - kernel_id: ''
215772                            - ramdisk_id: ''
215773                            - key_name: my_ssh_key
215774                            - image_name: aws2015091-hvm
215775                            - instance_type: c3.xlarge
215776                            - instance_monitoring: false
215777                            - security_groups:
215778                              - my_sec_group_01
215779                              - my_sec_group_02
215780
215781              availability_zones
215782                     List of availability zones for the group.
215783
215784              min_size
215785                     Minimum size of the group.
215786
215787              max_size
215788                     Maximum size of the group.
215789
215790              desired_capacity
215791                     The desired capacity of the group.
215792
215793              load_balancers
215794                     List  of  load balancers for the group. Once set this can
215795                     not be updated (Amazon restriction).
215796
215797              default_cooldown
215798                     Number of seconds  after  a  Scaling  Activity  completes
215799                     before any further scaling activities can start.
215800
215801              health_check_type
215802                     The  service  you want the health status from, Amazon EC2
215803                     or Elastic Load Balancer (EC2 or ELB).
215804
215805              health_check_period
215806                     Length of time in seconds after a new EC2 instance  comes
215807                     into  service  that  Auto  Scaling  starts  checking  its
215808                     health.
215809
215810              placement_group
215811                     Physical location of your cluster placement group created
215812                     in  Amazon  EC2. Once set this can not be updated (Amazon
215813                     restriction).
215814
215815              vpc_zone_identifier
215816                     A list of the subnet identifiers of the  Virtual  Private
215817                     Cloud.
215818
215819              subnet_names
215820                     For  VPC,  a  list  of  subnet  names (NOT subnet IDs) to
215821                     deploy into.  Exclusive with vpc_zone_identifier.
215822
215823              tags   A list of tags. Example:
215824
215825                        - key: 'key'
215826                          value: 'value'
215827                          propagate_at_launch: true
215828
215829              termination_policies
215830                     A list of termination policies. Valid values are:
215831
215832                     · OldestInstance
215833
215834                     · NewestInstance
215835
215836                     · OldestLaunchConfiguration
215837
215838                     · ClosestToNextInstanceHour
215839
215840                     · Default
215841
215842                     If no value is specified, the Default value is used.
215843
215844              termination_policies_from_pillar:
215845                     name of pillar dict that contains termination policy set‐
215846                     tings.    Termination  policies defined for this specific
215847                     state will override those from pillar.
215848
215849              suspended_processes
215850                     List    of    processes    to    be    suspended.     see
215851                     http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/US_SuspendResume.html
215852
215853              scaling_policies
215854                     List of scaling policies.   Each  policy  is  a  dict  of
215855                     key-values                  described                  by
215856                     https://boto.readthedocs.io/en/latest/ref/autoscale.html#boto.ec2.autoscale.policy.ScalingPolicy
215857
215858              scaling_policies_from_pillar:
215859                     name  of  pillar  dict  that contains scaling policy set‐
215860                     tings.   Scaling policies defined for this specific state
215861                     will override those from pillar.
215862
215863              scheduled_actions:
215864                     a  dictionary  of scheduled actions. Each key is the name
215865                     of scheduled action  and  each  value  is  dictionary  of
215866                     options. For example:
215867
215868                        - scheduled_actions:
215869                            scale_up_at_10:
215870                                desired_capacity: 4
215871                                min_size: 3
215872                                max_size: 5
215873                                recurrence: "0 9 * * 1-5"
215874                            scale_down_at_7:
215875                                desired_capacity: 1
215876                                min_size: 1
215877                                max_size: 1
215878                                recurrence: "0 19 * * 1-5"
215879
215880              scheduled_actions_from_pillar:
215881                     name  of pillar dict that contains scheduled_actions set‐
215882                     tings. Scheduled actions for  this  specific  state  will
215883                     override those from pillar.
215884
215885              alarms:
215886                     a  dictionary  of name->boto_cloudwatch_alarm sections to
215887                     be associated with this ASG.  All  attributes  should  be
215888                     specified  except  for  dimension which will be automati‐
215889                     cally set to this ASG.
215890
215891                     See  the  salt.states.boto_cloudwatch_alarm   state   for
215892                     information about these attributes.
215893
215894                     If  any  alarm  actions  include   ":self:"  this will be
215895                     replaced with the asg name.  For  example,  alarm_actions
215896                     reading "['scaling_policy:self:ScaleUp']" will map to the
215897                     arn for this asg's scaling policy  named  "ScaleUp".   In
215898                     addition,  any  alarms  that  have only scaling_policy as
215899                     actions will be ignored if min_size is equal to  max_size
215900                     for this ASG.
215901
215902              alarms_from_pillar:
215903                     name   of  pillar  dict  that  contains  alarm  settings.
215904                     Alarms defined for  this  specific  state  will  override
215905                     those from pillar.
215906
215907              region The region to connect to.
215908
215909              key    Secret key to be used.
215910
215911              keyid  Access key to be used.
215912
215913              profile
215914                     A  dict  with  region,  key  and  keyid,  or a pillar key
215915                     (string) that contains a dict with region, key and keyid.
215916
215917              notification_arn
215918                     The AWS arn that notifications will be sent to
215919
215920              notification_arn_from_pillar
215921                     name of the pillar  dict  that  contains  notifcation_arn
215922                     settings.   A  notification_arn defined for this specific
215923                     state will override the one from pillar.
215924
215925              notification_types
215926                     A list of event names that will trigger  a  notification.
215927                     The list of valid notification types is:
215928
215929                     · autoscaling:EC2_INSTANCE_LAUNCH
215930
215931                     · autoscaling:EC2_INSTANCE_LAUNCH_ERROR
215932
215933                     · autoscaling:EC2_INSTANCE_TERMINATE
215934
215935                     · autoscaling:EC2_INSTANCE_TERMINATE_ERROR
215936
215937                     · autoscaling:TEST_NOTIFICATION
215938
215939              notification_types_from_pillar
215940                     name  of  the pillar dict that contains notifcation_types
215941                     settings.  notification_types defined for  this  specific
215942                     state will override those from the pillar.
215943
215944   salt.states.boto_cfn
215945       Connection module for Amazon Cloud Formation
215946
215947       New in version 2015.8.0.
215948
215949
215950       depends
215951              boto
215952
215953       configuration
215954              This  module  accepts explicit AWS credentials but can also uti‐
215955              lize IAM roles assigned to the instance  through  Instance  Pro‐
215956              files.  Dynamic credentials are then automatically obtained from
215957              AWS API and no further configuration is necessary. More Informa‐
215958              tion                         available                        at
215959              http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html
215960
215961              If  IAM  roles are not used you need to specify them either in a
215962              pillar or in the minion's config file:
215963
215964                 keyid: GKTADJGHEIQSXMKKRBJ08H
215965                 key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
215966
215967                 stack-present:
215968                   boto_cfn.present:
215969                     - name: mystack
215970                     - template_body: salt://base/mytemplate.json
215971                     - disable_rollback: true
215972                     - region: eu-west-1
215973                     - keyid: 'AKIAJHTMIQ2ASDFLASDF'
215974                     - key: 'fdkjsafkljsASSADFalkfjasdf'
215975
215976                 stack-absent:
215977                   boto_cfn.absent:
215978                     - name: mystack
215979
215980       salt.states.boto_cfn.absent(name,  region=None,  key=None,  keyid=None,
215981       profile=None)
215982              Ensure cloud formation stack is absent.
215983
215984              name (string) – The name of the stack to delete.
215985
215986              region (string) - Region to connect to.
215987
215988              key (string) - Secret key to be used.
215989
215990              keyid (string) - Access key to be used.
215991
215992              profile  (dict) - A dict with region, key and keyid, or a pillar
215993              key (string) that contains a dict with region, key and keyid.
215994
215995       salt.states.boto_cfn.present(name,       template_body=None,       tem‐
215996       plate_url=None,  parameters=None, notification_arns=None, disable_roll‐
215997       back=None,   timeout_in_minutes=None,   capabilities=None,   tags=None,
215998       on_failure=None,     stack_policy_body=None,     stack_policy_url=None,
215999       use_previous_template=None,       stack_policy_during_update_body=None,
216000       stack_policy_during_update_url=None, region=None, key=None, keyid=None,
216001       profile=None)
216002              Ensure cloud formation stack is present.
216003
216004              name (string) - Name of the stack.
216005
216006              template_body (string) – Structure containing the template body.
216007              Can also be loaded from a file by using salt://.
216008
216009              template_url (string) – Location of file containing the template
216010              body. The URL must point to a template located in an  S3  bucket
216011              in the same region as the stack.
216012
216013              parameters  (list)  –  A  list  of key/value tuples that specify
216014              input parameters for the stack. A 3-tuple (key, value, bool) may
216015              be used to specify the UsePreviousValue option.
216016
216017              notification_arns (list) – The Simple Notification Service (SNS)
216018              topic ARNs to publish stack related events.  You can  find  your
216019              SNS topic ARNs using the SNS_console or your Command Line Inter‐
216020              face (CLI).
216021
216022              disable_rollback (bool) – Indicates whether or not  to  rollback
216023              on failure.
216024
216025              timeout_in_minutes  (integer) – The amount of time that can pass
216026              before the stack status becomes CREATE_FAILED;  if  DisableRoll‐
216027              back  is  not  set  or is set to False, the stack will be rolled
216028              back.
216029
216030              capabilities (list) – The list of capabilities you want to allow
216031              in  the stack. Currently, the only valid capability is ‘CAPABIL‐
216032              ITY_IAM’.
216033
216034              tags (dict) – A set of user-defined Tags to associate with  this
216035              stack,  represented  by  key/value  pairs.  Tags defined for the
216036              stack are propagated to EC2 resources that are created  as  part
216037              of the stack. A maximum number of 10 tags can be specified.
216038
216039              on_failure  (string)  –  Determines what action will be taken if
216040              stack creation fails. This must be one of: DO_NOTHING, ROLLBACK,
216041              or  DELETE. You can specify either OnFailure or DisableRollback,
216042              but not both.
216043
216044              stack_policy_body (string) – Structure containing the stack pol‐
216045              icy body. Can also be loaded from a file by using salt://.
216046
216047              stack_policy_url  (string)  –  Location of a file containing the
216048              stack policy. The URL must point to a policy  (max  size:  16KB)
216049              located  in  an S3 bucket in the same region as the stack.If you
216050              pass StackPolicyBody and StackPolicyURL, only StackPolicyBody is
216051              used.
216052
216053              use_previous_template  (boolean)  – Used only when templates are
216054              not the same. Set to True to use the previous  template  instead
216055              of uploading a new one via TemplateBody or TemplateURL.
216056
216057              stack_policy_during_update_body  (string)  – Used only when tem‐
216058              plates are not the  same.  Structure  containing  the  temporary
216059              overriding  stack  policy body. If you pass StackPolicyDuringUp‐
216060              dateBody  and  StackPolicyDuringUpdateURL,   only   StackPolicy‐
216061              DuringUpdateBody  is  used.  Can  also  be loaded from a file by
216062              using salt://.
216063
216064              stack_policy_during_update_url (string) – Used  only  when  tem‐
216065              plates  are not the same. Location of a file containing the tem‐
216066              porary overriding stack policy. The URL must point to  a  policy
216067              (max  size:  16KB) located in an S3 bucket in the same region as
216068              the stack. If you pass StackPolicyDuringUpdateBody and StackPol‐
216069              icyDuringUpdateURL, only StackPolicyDuringUpdateBody is used.
216070
216071              region (string) - Region to connect to.
216072
216073              key (string) - Secret key to be used.
216074
216075              keyid (string) - Access key to be used.
216076
216077              profile  (dict) - A dict with region, key and keyid, or a pillar
216078              key (string) that contains a dict with region, key and keyid.
216079
216080   salt.states.boto_cloudfront
216081       Manage CloudFront distributions
216082
216083       New in version 2018.3.0.
216084
216085
216086       Create, update and destroy CloudFront distributions.
216087
216088       This module accepts explicit AWS credentials but can also  utilize  IAM
216089       roles assigned to the instance through Instance Profiles.  Dynamic cre‐
216090       dentials are then automatically obtained from AWS API  and  no  further
216091       configuration is necessary.  More information available here.
216092
216093       If  IAM roles are not used you need to specify them, either in a pillar
216094       file or in the minion's config file:
216095
216096          cloudfront.keyid: GKTADJGHEIQSXMKKRBJ08H
216097          cloudfront.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
216098
216099       It's also possible to specify key, keyid, and  region  via  a  profile,
216100       either  passed in as a dict, or a string to pull from pillars or minion
216101       config:
216102
216103          myprofile:
216104              keyid: GKTADJGHEIQSXMKKRBJ08H
216105              key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
216106              region: us-east-1
216107
216108          aws:
216109              region:
216110                  us-east-1:
216111                      profile:
216112                          keyid: GKTADJGHEIQSXMKKRBJ08H
216113                          key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
216114                          region: us-east-1
216115
216116       depends
216117              boto3
216118
216119       salt.states.boto_cloudfront.present(name,  config,  tags,  region=None,
216120       key=None, keyid=None, profile=None)
216121              Ensure the CloudFront distribution is present.
216122
216123              name (string)
216124                     Name of the CloudFront distribution
216125
216126              config (dict)
216127                     Configuration for the distribution
216128
216129              tags (dict)
216130                     Tags to associate with the distribution
216131
216132              region (string)
216133                     Region to connect to
216134
216135              key (string)
216136                     Secret key to use
216137
216138              keyid (string)
216139                     Access key to use
216140
216141              profile (dict or string)
216142                     A  dict  with  region,  key,  and  keyid, or a pillar key
216143                     (string) that contains such a dict.
216144
216145              Example:
216146
216147                 Manage my_distribution CloudFront distribution:
216148                     boto_cloudfront.present:
216149                       - name: my_distribution
216150                       - config:
216151                           Comment: 'partial config shown, most parameters elided'
216152                           Enabled: True
216153                       - tags:
216154                           testing_key: testing_value
216155
216156   salt.states.boto_cloudtrail module
216157   Manage CloudTrail Objects
216158       New in version 2016.3.0.
216159
216160
216161       Create and destroy CloudTrail objects. Be  aware  that  this  interacts
216162       with Amazon's services, and so may incur charges.
216163
216164       depends
216165
216166              · boto
216167
216168              · boto3
216169
216170       The dependencies listed above can be installed via package or pip.
216171
216172       This  module  accepts explicit vpc credentials but can also utilize IAM
216173       roles assigned to the instance through Instance Profiles. Dynamic  cre‐
216174       dentials  are  then  automatically obtained from AWS API and no further
216175       configuration is necessary. More information available here.
216176
216177       If IAM roles are not used you need to specify them either in  a  pillar
216178       file or in the minion's config file:
216179
216180          vpc.keyid: GKTADJGHEIQSXMKKRBJ08H
216181          vpc.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
216182
216183       It's  also  possible  to  specify  key, keyid and region via a profile,
216184       either passed in as a dict, or as a string to pull from pillars or min‐
216185       ion config:
216186
216187          myprofile:
216188              keyid: GKTADJGHEIQSXMKKRBJ08H
216189              key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
216190                  region: us-east-1
216191
216192          Ensure trail exists:
216193              boto_cloudtrail.present:
216194                  - Name: mytrail
216195                  - S3BucketName: mybucket
216196                  - S3KeyPrefix: prefix
216197                  - region: us-east-1
216198                  - keyid: GKTADJGHEIQSXMKKRBJ08H
216199                  - key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
216200
216201       salt.states.boto_cloudtrail.absent(name,  Name,  region=None, key=None,
216202       keyid=None, profile=None)
216203              Ensure trail with passed properties is absent.
216204
216205              name   The name of the state definition.
216206
216207              Name   Name of the trail.
216208
216209              region Region to connect to.
216210
216211              key    Secret key to be used.
216212
216213              keyid  Access key to be used.
216214
216215              profile
216216                     A dict with region,  key  and  keyid,  or  a  pillar  key
216217                     (string) that contains a dict with region, key and keyid.
216218
216219       salt.states.boto_cloudtrail.present(name, Name, S3BucketName, S3KeyPre‐
216220       fix=None, SnsTopicName=None, IncludeGlobalServiceEvents=True,  IsMulti‐
216221       RegionTrail=None,   EnableLogFileValidation=False,   CloudWatchLogsLog‐
216222       GroupArn=None,  CloudWatchLogsRoleArn=None,  KmsKeyId=None,  LoggingEn‐
216223       abled=True, Tags=None, region=None, key=None, keyid=None, profile=None)
216224              Ensure trail exists.
216225
216226              name   The name of the state definition
216227
216228              Name   Name of the trail.
216229
216230              S3BucketName
216231                     Specifies the name of the Amazon S3 bucket designated for
216232                     publishing log files.
216233
216234              S3KeyPrefix
216235                     Specifies the Amazon S3 key prefix that comes  after  the
216236                     name  of  the  bucket  you  have  designated for log file
216237                     delivery.
216238
216239              SnsTopicName
216240                     Specifies the name of the Amazon SNS  topic  defined  for
216241                     notification  of log file delivery. The maximum length is
216242                     256 characters.
216243
216244              IncludeGlobalServiceEvents
216245                     Specifies whether the trail  is  publishing  events  from
216246                     global services such as IAM to the log files.
216247
216248              EnableLogFileValidation
216249                     Specifies   whether  log  file  integrity  validation  is
216250                     enabled. The default is false.
216251
216252              CloudWatchLogsLogGroupArn
216253                     Specifies a log group name using an Amazon Resource  Name
216254                     (ARN),  a unique identifier that represents the log group
216255                     to which CloudTrail logs will be delivered. Not  required
216256                     unless you specify CloudWatchLogsRoleArn.
216257
216258              CloudWatchLogsRoleArn
216259                     Specifies  the  role  for the CloudWatch Logs endpoint to
216260                     assume to write to a user's log group.
216261
216262              KmsKeyId
216263                     Specifies the KMS key ID  to  use  to  encrypt  the  logs
216264                     delivered by CloudTrail. The value can be a an alias name
216265                     prefixed by "alias/", a fully specified ARN to an  alias,
216266                     a  fully  specified  ARN  to  a key, or a globally unique
216267                     identifier.
216268
216269              LoggingEnabled
216270                     Whether logging should be enabled for the trail
216271
216272              Tags   A dictionary of tags that should be set on the trail
216273
216274              region Region to connect to.
216275
216276              key    Secret key to be used.
216277
216278              keyid  Access key to be used.
216279
216280              profile
216281                     A dict with region,  key  and  keyid,  or  a  pillar  key
216282                     (string) that contains a dict with region, key and keyid.
216283
216284   salt.states.boto_cloudwatch_alarm
216285       Manage Cloudwatch alarms
216286
216287       New in version 2014.7.0.
216288
216289
216290       Create and destroy cloudwatch alarms. Be aware that this interacts with
216291       Amazon's services, and so may incur charges.
216292
216293       This module uses boto, which can be installed via package, or pip.
216294
216295       This module accepts explicit credentials but can also utilize IAM roles
216296       assigned to the instance through Instance Profiles. Dynamic credentials
216297       are then automatically obtained from AWS API and no further  configura‐
216298       tion is necessary. More Information available at:
216299
216300       http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html
216301
216302       If IAM roles are not used you need to specify them either in  a  pillar
216303       or in the minion's config file:
216304
216305          cloudwatch.keyid: GKTADJGHEIQSXMKKRBJ08H
216306          cloudwatch.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
216307
216308       It's  also  possible  to  specify  key, keyid and region via a profile,
216309       either as a passed in dict, or as a string to pull from pillars or min‐
216310       ion config:
216311
216312          myprofile:
216313            keyid: GKTADJGHEIQSXMKKRBJ08H
216314            key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
216315            region: us-east-1
216316
216317          my test alarm:
216318            boto_cloudwatch_alarm.present:
216319              - name: my test alarm
216320              - attributes:
216321                  metric: ApproximateNumberOfMessagesVisible
216322                  namespace: AWS/SQS
216323                  statistic: Average
216324                  comparison: ">="
216325                  threshold: 20000.0
216326                  period: 60
216327                  evaluation_periods: 1
216328                  description: test alarm via salt
216329                  dimensions:
216330                    QueueName:
216331                      - the-sqs-queue-name
216332                  alarm_actions:
216333                    - arn:aws:sns:us-east-1:1111111:myalerting-action
216334
216335       salt.states.boto_cloudwatch_alarm.absent(name,  region=None,  key=None,
216336       keyid=None, profile=None)
216337              Ensure the named cloudwatch alarm is deleted.
216338
216339              name   Name of the alarm.
216340
216341              region Region to connect to.
216342
216343              key    Secret key to be used.
216344
216345              keyid  Access key to be used.
216346
216347              profile
216348                     A dict with region,  key  and  keyid,  or  a  pillar  key
216349                     (string) that contains a dict with region, key and keyid.
216350
216351       salt.states.boto_cloudwatch_alarm.present(name,             attributes,
216352       region=None, key=None, keyid=None, profile=None)
216353              Ensure the cloudwatch alarm exists.
216354
216355              name   Name of the alarm
216356
216357              attributes
216358                     A dict of key/value cloudwatch alarm attributes.
216359
216360              region Region to connect to.
216361
216362              key    Secret key to be used.
216363
216364              keyid  Access key to be used.
216365
216366              profile
216367                     A dict with region,  key  and  keyid,  or  a  pillar  key
216368                     (string) that contains a dict with region, key and keyid.
216369
216370   salt.states.boto_cloudwatch_event module
216371   Manage CloudTrail Objects
216372       New in version 2016.11.0.
216373
216374
216375       Create and destroy CloudWatch event rules. Be aware that this interacts
216376       with Amazon's services, and so may incur charges.
216377
216378       This module uses boto3, which can be installed via package, or pip.
216379
216380       This module accepts explicit vpc credentials but can also  utilize  IAM
216381       roles  assigned to the instance through Instance Profiles. Dynamic cre‐
216382       dentials are then automatically obtained from AWS API  and  no  further
216383       configuration is necessary. More information available here.
216384
216385       If  IAM  roles are not used you need to specify them either in a pillar
216386       file or in the minion's config file:
216387
216388          cloudwatch_event.keyid: GKTADJGHEIQSXMKKRBJ08H
216389          cloudwatch_event.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
216390
216391       It's also possible to specify key, keyid  and  region  via  a  profile,
216392       either passed in as a dict, or as a string to pull from pillars or min‐
216393       ion config:
216394
216395          myprofile:
216396              keyid: GKTADJGHEIQSXMKKRBJ08H
216397              key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
216398                  region: us-east-1
216399
216400          Ensure event rule exists:
216401              boto_cloudwatch_event.present:
216402                  - Name: mytrail
216403                  - ScheduleExpression: 'rate(120 minutes)'
216404                  - State: 'DISABLED'
216405                  - Targets:
216406                    - Id: "target1"
216407                      Arn: "arn:aws:lambda:us-west-1:124456715622:function:my_function"
216408                      Input: '{"arbitrary": "json"}'
216409                  - region: us-east-1
216410                  - keyid: GKTADJGHEIQSXMKKRBJ08H
216411                  - key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
216412
216413       salt.states.boto_cloudwatch_event.absent(name, Name=None,  region=None,
216414       key=None, keyid=None, profile=None)
216415              Ensure CloudWatch event rule with passed properties is absent.
216416
216417              name   The name of the state definition.
216418
216419              Name   Name  of  the  event  rule.  Defaults to the value of the
216420                     'name' param if not provided.
216421
216422              region Region to connect to.
216423
216424              key    Secret key to be used.
216425
216426              keyid  Access key to be used.
216427
216428              profile
216429                     A dict with region,  key  and  keyid,  or  a  pillar  key
216430                     (string) that contains a dict with region, key and keyid.
216431
216432       salt.states.boto_cloudwatch_event.present(name,  Name=None, ScheduleEx‐
216433       pression=None,   EventPattern=None,   Description=None,   RoleArn=None,
216434       State=None,   Targets=None,  region=None,  key=None,  keyid=None,  pro‐
216435       file=None)
216436              Ensure trail exists.
216437
216438              name   The name of the state definition
216439
216440              Name   Name of the event rule.  Defaults to  the  value  of  the
216441                     'name' param if not provided.
216442
216443              ScheduleExpression
216444                     The  scheduling  expression. For example, cron(0 20 * * ?
216445                     *), "rate(5 minutes)"
216446
216447              EventPattern
216448                     The event pattern.
216449
216450              Description
216451                     A description of the rule
216452
216453              State  Indicates whether the rule is ENABLED or DISABLED.
216454
216455              RoleArn
216456                     The Amazon Resource Name (ARN) of the IAM role associated
216457                     with the rule.
216458
216459              Targets
216460                     A list of rresources to be invoked when the rule is trig‐
216461                     gered.
216462
216463              region Region to connect to.
216464
216465              key    Secret key to be used.
216466
216467              keyid  Access key to be used.
216468
216469              profile
216470                     A dict with region,  key  and  keyid,  or  a  pillar  key
216471                     (string) that contains a dict with region, key and keyid.
216472
216473   salt.states.boto_cognitoidentity module
216474   Manage CognitoIdentity Functions
216475       New in version 2016.11.0.
216476
216477
216478       Create  and  destroy CognitoIdentity identity pools. Be aware that this
216479       interacts with Amazon's services, and so may incur charges.
216480
216481       This module uses boto3, which can be installed via package, or pip.
216482
216483       This module accepts explicit vpc credentials but can also  utilize  IAM
216484       roles  assigned to the instance through Instance Profiles. Dynamic cre‐
216485       dentials are then automatically obtained from AWS API  and  no  further
216486       configuration is necessary. More information available here.
216487
216488       If  IAM  roles are not used you need to specify them either in a pillar
216489       file or in the minion's config file:
216490
216491          vpc.keyid: GKTADJGHEIQSXMKKRBJ08H
216492          vpc.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
216493
216494       It's also possible to specify key, keyid  and  region  via  a  profile,
216495       either passed in as a dict, or as a string to pull from pillars or min‐
216496       ion config:
216497
216498          myprofile:
216499              keyid: GKTADJGHEIQSXMKKRBJ08H
216500              key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
216501                  region: us-east-1
216502
216503          Ensure function exists:
216504              boto_cognitoidentity.pool_present:
216505                  - PoolName: my_identity_pool
216506                  - region: us-east-1
216507                  - keyid: GKTADJGHEIQSXMKKRBJ08H
216508                  - key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
216509
216510       salt.states.boto_cognitoidentity.pool_absent(name,    IdentityPoolName,
216511       RemoveAllMatched=False,   region=None,   key=None,   keyid=None,   pro‐
216512       file=None)
216513              Ensure cognito identity pool with passed properties is absent.
216514
216515              name   The name of the state definition.
216516
216517              IdentityPoolName
216518                     Name of the Cognito Identity Pool.  Please note that this
216519                     may  match  multiple  pools  with the same given name, in
216520                     which case, all will be removed.
216521
216522              RemoveAllMatched
216523                     If True, all identity pools with the  matching  Identity‐
216524                     PoolName  will  be  removed.  If False and there are more
216525                     than one identity pool with  the  matching  IdentityPool‐
216526                     Name,  no  action  will  be taken.  If False and there is
216527                     only one identity pool with  the  matching  IdentityPool‐
216528                     Name, the identity pool will be removed.
216529
216530              region Region to connect to.
216531
216532              key    Secret key to be used.
216533
216534              keyid  Access key to be used.
216535
216536              profile
216537                     A  dict  with  region,  key  and  keyid,  or a pillar key
216538                     (string) that contains a dict with region, key and keyid.
216539
216540       salt.states.boto_cognitoidentity.pool_present(name,   IdentityPoolName,
216541       AuthenticatedRole, AllowUnauthenticatedIdentities=False, Unauthenticat‐
216542       edRole=None, SupportedLoginProviders=None,  DeveloperProviderName=None,
216543       OpenIdConnectProviderARNs=None, region=None, key=None, keyid=None, pro‐
216544       file=None)
216545              Ensure Cognito Identity Pool exists.
216546
216547              name   The name of the state definition
216548
216549              IdentityPoolName
216550                     Name of the Cognito Identity Pool
216551
216552              AuthenticatedRole
216553                     An IAM role name or ARN that will be associated with tem‐
216554                     porary AWS credentials for an authenticated cognito iden‐
216555                     tity.
216556
216557              AllowUnauthenticatedIdentities
216558                     Whether to allow anonymous user identities
216559
216560              UnauthenticatedRole
216561                     An IAM role name or ARN  that  will  be  associated  with
216562                     anonymous user identities
216563
216564              SupportedLoginProviders
216565                     A dictionary or pillar that contains key:value pairs map‐
216566                     ping provider names to provider app IDs.
216567
216568              DeveloperProviderName
216569                     A string which is the domain by which Cognito will  refer
216570                     to  your  users.   This  name  acts as a placeholder that
216571                     allows your backend and the Cognito service  to  communi‐
216572                     cate  about  the developer provider.  Once you have set a
216573                     developer provider name, you cannot  change  it.   Please
216574                     take care in setting this parameter.
216575
216576              OpenIdConnectProviderARNs
216577                     A list or pillar name that contains a list of OpenID Con‐
216578                     nect provider ARNs.
216579
216580              region Region to connect to.
216581
216582              key    Secret key to be used.
216583
216584              keyid  Access key to be used.
216585
216586              profile
216587                     A dict with region,  key  and  keyid,  or  a  pillar  key
216588                     (string) that contains a dict with region, key and keyid.
216589
216590   salt.states.boto_datapipeline module
216591       Manage Data Pipelines
216592
216593       New in version 2016.3.0.
216594
216595
216596       Be  aware  that this interacts with Amazon's services, and so may incur
216597       charges.
216598
216599       This module uses boto3, which can be installed via package, or pip.
216600
216601       This module accepts explicit AWS credentials but can also  utilize  IAM
216602       roles  assigned to the instance through Instance Profiles. Dynamic cre‐
216603       dentials are then automatically obtained from AWS API  and  no  further
216604       configuration is necessary. More information available here.
216605
216606       If  IAM  roles are not used you need to specify them either in a pillar
216607       file or in the minion's config file:
216608
216609          datapipeline.keyid: GKTADJGHEIQSXMKKRBJ08H
216610          datapipeline.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
216611
216612       It's also possible to specify key, keyid  and  region  via  a  profile,
216613       either passed in as a dict, or as a string to pull from pillars or min‐
216614       ion config:
216615
216616          myprofile:
216617            keyid: GKTADJGHEIQSXMKKRBJ08H
216618            key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
216619            region: us-east-1
216620
216621          Ensure daily data pipeline exists:
216622            boto_datapipeline.present:
216623              - name: my-datapipeline
216624              - pipeline_objects:
216625                  DefaultSchedule:
216626                    name: Every 1 day
216627                    fields:
216628                      period: 1 Day
216629                      type: Schedule
216630                      startAt: FIRST_ACTIVATION_DATE_TIME
216631              - parameter_values:
216632                  myDDBTableName: my-dynamo-table
216633
216634       salt.states.boto_datapipeline.absent(name,    region=None,    key=None,
216635       keyid=None, profile=None)
216636              Ensure a pipeline with the service_name does not exist
216637
216638              name   Name  of  the  service to ensure a data pipeline does not
216639                     exist for.
216640
216641              region Region to connect to.
216642
216643              key    Secret key to be used.
216644
216645              keyid  Access key to be used.
216646
216647              profile
216648                     A dict with region,  key  and  keyid,  or  a  pillar  key
216649                     (string) that contains a dict with region, key and keyid.
216650
216651       salt.states.boto_datapipeline.present(name,      pipeline_objects=None,
216652       pipeline_objects_from_pillars=u'boto_datapipeline_pipeline_objects',
216653       parameter_objects=None,      parameter_objects_from_pillars=u'boto_dat‐
216654       apipeline_parameter_objects',   parameter_values=None,   parameter_val‐
216655       ues_from_pillars=u'boto_datapipeline_parameter_values',    region=None,
216656       key=None, keyid=None, profile=None)
216657              Ensure the data pipeline exists with matching definition.
216658
216659              name   Name of the service to ensure a data pipeline exists for.
216660
216661              pipeline_objects
216662                     Pipeline objects to use. Will override objects read  from
216663                     pillars.
216664
216665              pipeline_objects_from_pillars
216666                     The pillar key to use for lookup.
216667
216668              parameter_objects
216669                     Parameter objects to use. Will override objects read from
216670                     pillars.
216671
216672              parameter_objects_from_pillars
216673                     The pillar key to use for lookup.
216674
216675              parameter_values
216676                     Parameter values to use. Will override values  read  from
216677                     pillars.
216678
216679              parameter_values_from_pillars
216680                     The pillar key to use for lookup.
216681
216682              region Region to connect to.
216683
216684              key    Secret key to be used.
216685
216686              keyid  Access key to be used.
216687
216688              profile
216689                     A  dict  with  region,  key  and  keyid,  or a pillar key
216690                     (string) that contains a dict with region, key and keyid.
216691
216692   salt.states.boto_dynamodb
216693   Manage DynamoDB Tables
216694       New in version 2015.5.0.
216695
216696
216697       Create and destroy DynamoDB tables. Be aware that this  interacts  with
216698       Amazon's services, and so may incur charges.
216699
216700       This module uses boto, which can be installed via package, or pip.
216701
216702       This  module accepts explicit DynamoDB credentials but can also utilize
216703       IAM roles assigned to the instance through Instance  Profiles.  Dynamic
216704       credentials are then automatically obtained from AWS API and no further
216705       configuration is necessary. More information available here.
216706
216707       If IAM roles are not used you need to specify them either in  a  pillar
216708       file or in the minion's config file:
216709
216710          keyid: GKTADJGHEIQSXMKKRBJ08H
216711          key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
216712          region: us-east-1
216713
216714       It's  also  possible  to  specify  key, keyid and region via a profile,
216715       either passed in as a dict, or as a string to pull from pillars or min‐
216716       ion config:
216717
216718          myprofile:
216719              keyid: GKTADJGHEIQSXMKKRBJ08H
216720              key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
216721                  region: us-east-1
216722
216723          Ensure DynamoDB table does not exist:
216724            boto_dynamodb.absent:
216725              - table_name: new_table
216726              - keyid: GKTADJGHEIQSXMKKRBJ08H
216727              - key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
216728              - region: us-east-1
216729
216730          Ensure DynamoDB table exists:
216731            boto_dynamodb.present:
216732              - table_name: new_table
216733              - read_capacity_units: 1
216734              - write_capacity_units: 2
216735              - hash_key: primary_id
216736              - hash_key_data_type: N
216737              - range_key: start_timestamp
216738              - range_key_data_type: N
216739              - keyid: GKTADJGHEIQSXMKKRBJ08H
216740              - key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
216741              - region: us-east-1
216742              - local_indexes:
216743                  - index:
216744                      - name: "primary_id_end_timestamp_index"
216745                      - hash_key: primary_id
216746                      - hash_key_data_type: N
216747                      - range_key: end_timestamp
216748                      - range_key_data_type: N
216749              - global_indexes:
216750                  - index:
216751                      - name: "name_end_timestamp_index"
216752                      - hash_key: name
216753                      - hash_key_data_type: S
216754                      - range_key: end_timestamp
216755                      - range_key_data_type: N
216756                      - read_capacity_units: 3
216757                      - write_capacity_units: 4
216758
216759       It's  possible  to  specify  cloudwatch alarms that will be setup along
216760       with the DynamoDB table. Note the alarm name will  be  defined  by  the
216761       name attribute provided, plus the DynamoDB resource name.
216762
216763          Ensure DynamoDB table exists:
216764            boto_dynamodb.present:
216765              - name: new_table
216766              - read_capacity_units: 1
216767              - write_capacity_units: 2
216768              - hash_key: primary_id
216769              - hash_key_data_type: N
216770              - range_key: start_timestamp
216771              - range_key_data_type: N
216772              - alarms:
216773                   ConsumedWriteCapacityUnits:
216774                      name: 'DynamoDB ConsumedWriteCapacityUnits **MANAGED BY SALT**'
216775                      attributes:
216776                        metric: ConsumedWriteCapacityUnits
216777                        namespace: AWS/DynamoDB
216778                        statistic: Sum
216779                        comparison: '>='
216780                        # threshold_percent is used to calculate the actual threshold
216781                        # based on the provisioned capacity for the table.
216782                        threshold_percent: 0.75
216783                        period: 300
216784                        evaluation_periods: 2
216785                        unit: Count
216786                        description: 'DynamoDB ConsumedWriteCapacityUnits'
216787                        alarm_actions: [ 'arn:aws:sns:us-east-1:1234:my-alarm' ]
216788                        insufficient_data_actions: []
216789                        ok_actions: [ 'arn:aws:sns:us-east-1:1234:my-alarm' ]
216790              - keyid: GKTADJGHEIQSXMKKRBJ08H
216791              - key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
216792              - region: us-east-1
216793
216794       You can also use alarms from pillars, and override values from the pil‐
216795       lar  alarms  by  setting  overrides  on   the   resource.   Note   that
216796       'boto_dynamodb_alarms'  will  be  used  as  a  default  value  for  all
216797       resources, if defined and can be used to ensure alarms are  always  set
216798       for a resource.
216799
216800       Setting the alarms in a pillar:
216801
216802          boto_dynamodb_alarms:
216803            ConsumedWriteCapacityUnits:
216804              name: 'DynamoDB ConsumedWriteCapacityUnits **MANAGED BY SALT**'
216805              attributes:
216806                metric: ConsumedWriteCapacityUnits
216807                namespace: AWS/DynamoDB
216808                statistic: Sum
216809                comparison: '>='
216810                # threshold_percent is used to calculate the actual threshold
216811                # based on the provisioned capacity for the table.
216812                threshold_percent: 0.75
216813                period: 300
216814                evaluation_periods: 2
216815                unit: Count
216816                description: 'DynamoDB ConsumedWriteCapacityUnits'
216817                alarm_actions: [ 'arn:aws:sns:us-east-1:1234:my-alarm' ]
216818                insufficient_data_actions: []
216819                ok_actions: [ 'arn:aws:sns:us-east-1:1234:my-alarm' ]
216820
216821          Ensure DynamoDB table exists:
216822            boto_dynamodb.present:
216823              - name: new_table
216824              - read_capacity_units: 1
216825              - write_capacity_units: 2
216826              - hash_key: primary_id
216827              - hash_key_data_type: N
216828              - range_key: start_timestamp
216829              - range_key_data_type: N
216830              - alarms:
216831                   ConsumedWriteCapacityUnits:
216832                      attributes:
216833                        threshold_percent: 0.90
216834                        period: 900
216835
216836       exception salt.states.boto_dynamodb.GsiNotUpdatableError
216837              Raised when a global secondary index cannot be updated.
216838
216839       salt.states.boto_dynamodb.absent(name,      region=None,      key=None,
216840       keyid=None, profile=None)
216841              Ensure the DynamoDB table does not exist.
216842
216843              name   Name of the DynamoDB table.
216844
216845              region Region to connect to.
216846
216847              key    Secret key to be used.
216848
216849              keyid  Access key to be used.
216850
216851              profile
216852                     A dict with region,  key  and  keyid,  or  a  pillar  key
216853                     (string) that contains a dict with region, key and keyid.
216854
216855       salt.states.boto_dynamodb.present(name=None,           table_name=None,
216856       region=None,   key=None,    keyid=None,    profile=None,    read_capac‐
216857       ity_units=None,         write_capacity_units=None,         alarms=None,
216858       alarms_from_pillar=u'boto_dynamodb_alarms',              hash_key=None,
216859       hash_key_data_type=None,    range_key=None,   range_key_data_type=None,
216860       local_indexes=None,    global_indexes=None,    backup_configs_from_pil‐
216861       lars=u'boto_dynamodb_backup_configs')
216862              Ensure  the  DynamoDB  table  exists.  Table  throughput  can be
216863              updated after table creation.
216864
216865              Global secondary indexes (GSIs) are  managed  with  some  excep‐
216866              tions:
216867
216868              · If  a  GSI deletion is detected, a failure will occur (deletes
216869                should be done manually in the AWS console).
216870
216871              · If multiple GSIs are added in a single Salt  call,  a  failure
216872                will  occur  (boto supports one creation at a time). Note that
216873                this only applies after table creation; multiple GSIs  can  be
216874                created during table creation.
216875
216876              · Updates  to  existing  GSIs are limited to read/write capacity
216877                only (DynamoDB limitation).
216878
216879              name   Name of the DynamoDB table
216880
216881              table_name
216882                     Name of the DynamoDB table (deprecated)
216883
216884              region Region to connect to.
216885
216886              key    Secret key to be used.
216887
216888              keyid  Access key to be used.
216889
216890              profile
216891                     A dict with region,  key  and  keyid,  or  a  pillar  key
216892                     (string) that contains a dict with region, key and keyid.
216893
216894              read_capacity_units
216895                     The read throughput for this table
216896
216897              write_capacity_units
216898                     The write throughput for this table
216899
216900              hash_key
216901                     The  name  of the attribute that will be used as the hash
216902                     key for this table
216903
216904              hash_key_data_type
216905                     The DynamoDB datatype of the hash key
216906
216907              range_key
216908                     The name of the attribute that will be used as the  range
216909                     key for this table
216910
216911              range_key_data_type
216912                     The DynamoDB datatype of the range key
216913
216914              local_indexes
216915                     The local indexes you would like to create
216916
216917              global_indexes
216918                     The global indexes you would like to create
216919
216920              backup_configs_from_pillars
216921                     Pillars to use to configure DataPipeline backups
216922
216923   salt.states.boto_ec2
216924       Manage EC2
216925
216926       New in version 2015.8.0.
216927
216928
216929       This  module  provides  an interface to the Elastic Compute Cloud (EC2)
216930       service from AWS.
216931
216932       The below code creates a key pair:
216933
216934          create-key-pair:
216935            boto_ec2.key_present:
216936              - name: mykeypair
216937              - save_private: /root/
216938              - region: eu-west-1
216939              - keyid: GKTADJGHEIQSXMKKRBJ08H
216940              - key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
216941
216942          import-key-pair:
216943             boto_ec2.key_present:
216944              - name: mykeypair
216945              - upload_public: 'ssh-rsa AAAA'
216946              - keyid: GKTADJGHEIQSXMKKRBJ08H
216947              - key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
216948
216949       You can also use salt:// in order to define the public key.
216950
216951          import-key-pair:
216952             boto_ec2.key_present:
216953              - name: mykeypair
216954              - upload_public: salt://mybase/public_key.pub
216955              - keyid: GKTADJGHEIQSXMKKRBJ08H
216956              - key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
216957
216958       The below code deletes a key pair:
216959
216960          delete-key-pair:
216961            boto_ec2.key_absent:
216962              - name: mykeypair
216963              - region: eu-west-1
216964              - keyid: GKTADJGHEIQSXMKKRBJ08H
216965              - key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
216966
216967       salt.states.boto_ec2.eni_absent(name,  release_eip=False,  region=None,
216968       key=None, keyid=None, profile=None)
216969              Ensure the EC2 ENI is absent.
216970
216971              New in version 2016.3.0.
216972
216973
216974              name   Name tag associated with the ENI.
216975
216976              release_eip
216977                     True/False - release any EIP associated with the ENI
216978
216979              region Region to connect to.
216980
216981              key    Secret key to be used.
216982
216983              keyid  Access key to be used.
216984
216985              profile
216986                     A  dict  with  region,  key  and  keyid,  or a pillar key
216987                     (string) that contains a dict with region, key and keyid.
216988
216989       salt.states.boto_ec2.eni_present(name,       subnet_id=None,       sub‐
216990       net_name=None,  private_ip_address=None, description=None, groups=None,
216991       source_dest_check=True, allocate_eip=None, arecords=None,  region=None,
216992       key=None, keyid=None, profile=None)
216993              Ensure the EC2 ENI exists.
216994
216995              New in version 2016.3.0.
216996
216997
216998              name   Name tag associated with the ENI.
216999
217000              subnet_id
217001                     The VPC subnet ID the ENI will exist within.
217002
217003              subnet_name
217004                     The VPC subnet name the ENI will exist within.
217005
217006              private_ip_address
217007                     The  private  ip  address to use for this ENI. If this is
217008                     not specified AWS will automatically assign a private  IP
217009                     address  to  the ENI. Must be specified at creation time;
217010                     will be ignored afterward.
217011
217012              description
217013                     Description of the key.
217014
217015              groups A list of security groups to apply to the ENI.
217016
217017              source_dest_check
217018                     Boolean specifying whether source/destination checking is
217019                     enabled on the ENI.
217020
217021              allocate_eip
217022                     allocate and associate an EIP to the ENI. Could be 'stan‐
217023                     dard' to allocate Elastic IP to EC2 region  or  'vpc'  to
217024                     get it for a particular VPC
217025
217026                     Changed in version 2016.11.0.
217027
217028
217029              arecords
217030                     A  list  of  arecord dicts with attributes needed for the
217031                     DNS     add_record     state.      By     default     the
217032                     boto_route53.add_record   state   will   be  used,  which
217033                     requires: name,  zone,  ttl,  and  identifier.   See  the
217034                     boto_route53    state   for   information   about   these
217035                     attributes.  Other DNS modules can be called by  specify‐
217036                     ing the provider keyword.  By default, the private ENI IP
217037                     address will be used, set 'public: True' in  the  arecord
217038                     dict to use the ENI's public IP address
217039
217040                     New in version 2016.3.0.
217041
217042
217043              region Region to connect to.
217044
217045              key    Secret key to be used.
217046
217047              keyid  Access key to be used.
217048
217049              profile
217050                     A  dict  with  region,  key  and  keyid,  or a pillar key
217051                     (string) that contains a dict with region, key and keyid.
217052
217053       salt.states.boto_ec2.instance_absent(name,          instance_name=None,
217054       instance_id=None, release_eip=False, region=None, key=None, keyid=None,
217055       profile=None, filters=None)
217056              Ensure an EC2 instance does not exist (is stopped and removed).
217057
217058              Changed in version 2016.11.0.
217059
217060
217061              name   (string) - The name of the state definition.
217062
217063              instance_name
217064                     (string) - The name of the instance.
217065
217066              instance_id
217067                     (string) - The ID of the instance.
217068
217069              release_eip
217070                     (bool)   - Release any associated  EIPs  during  termina‐
217071                     tion.
217072
217073              region (string) - Region to connect to.
217074
217075              key    (string) - Secret key to be used.
217076
217077              keyid  (string) - Access key to be used.
217078
217079              profile
217080                     (variable) - A dict with region, key and keyid, or a pil‐
217081                     lar key (string) that contains a dict  with  region,  key
217082                     and keyid.
217083
217084              filters
217085                     (dict)  - A dict of additional filters to use in matching
217086                     the instance to delete.
217087
217088              YAML example fragment:
217089
217090                 - filters:
217091                     vpc-id: vpc-abcdef12
217092
217093       salt.states.boto_ec2.instance_present(name,         instance_name=None,
217094       instance_id=None,     image_id=None,     image_name=None,    tags=None,
217095       key_name=None,          security_groups=None,           user_data=None,
217096       instance_type=None,  placement=None,  kernel_id=None,  ramdisk_id=None,
217097       vpc_id=None,  vpc_name=None,  monitoring_enabled=None,  subnet_id=None,
217098       subnet_name=None,  private_ip_address=None, block_device_map=None, dis‐
217099       able_api_termination=None,   instance_initiated_shutdown_behavior=None,
217100       placement_group=None, client_token=None, security_group_ids=None, secu‐
217101       rity_group_names=None,       additional_info=None,        tenancy=None,
217102       instance_profile_arn=None,     instance_profile_name=None,    ebs_opti‐
217103       mized=None, network_interfaces=None, network_interface_name=None,  net‐
217104       work_interface_id=None,    attributes=None,   target_state=None,   pub‐
217105       lic_ip=None,   allocation_id=None,   allocate_eip=False,   region=None,
217106       key=None, keyid=None, profile=None)
217107              Ensure  an EC2 instance is running with the given attributes and
217108              state.
217109
217110              name   (string) - The name of the state definition.  Recommended
217111                     that  this  match  the instance_name attribute (generally
217112                     the FQDN of the instance).
217113
217114              instance_name
217115                     (string) - The name of the instance, generally its  FQDN.
217116                     Exclusive with 'instance_id'.
217117
217118              instance_id
217119                     (string)  - The ID of the instance (if known).  Exclusive
217120                     with 'instance_name'.
217121
217122              image_id
217123                     (string) – The ID of the AMI image to run.
217124
217125              image_name
217126                     (string) – The name of the AMI image to run.
217127
217128              tags   (dict) - Tags to apply to the instance.
217129
217130              key_name
217131                     (string) – The name of the key pair with which to  launch
217132                     instances.
217133
217134              security_groups
217135                     (list of strings) – The names of the EC2 classic security
217136                     groups with which to associate instances
217137
217138              user_data
217139                     (string) – The Base64-encoded MIME user data to  be  made
217140                     available to the instance(s) in this reservation.
217141
217142              instance_type
217143                     (string)  –  The  EC2 instance size/type.  Note that only
217144                     certain types are compatible with HVM based AMIs.
217145
217146              placement
217147                     (string) – The Availability Zone to launch  the  instance
217148                     into.
217149
217150              kernel_id
217151                     (string)  – The ID of the kernel with which to launch the
217152                     instances.
217153
217154              ramdisk_id
217155                     (string) – The ID of the RAM disk with  which  to  launch
217156                     the instances.
217157
217158              vpc_id (string) - The ID of a VPC to attach the instance to.
217159
217160              vpc_name
217161                     (string) - The name of a VPC to attach the instance to.
217162
217163              monitoring_enabled
217164                     (bool)  –  Enable  detailed  CloudWatch monitoring on the
217165                     instance.
217166
217167              subnet_id
217168                     (string) – The ID of the subnet within  which  to  launch
217169                     the instances for VPC.
217170
217171              subnet_name
217172                     (string)  – The name of the subnet within which to launch
217173                     the instances for VPC.
217174
217175              private_ip_address
217176                     (string) – If you’re using VPC, you  can  optionally  use
217177                     this  parameter  to assign the instance a specific avail‐
217178                     able IP address from the subnet (e.g., 10.0.0.25).
217179
217180              block_device_map
217181                     (boto.ec2.blockdevicemapping.BlockDeviceMapping)   –    A
217182                     BlockDeviceMapping data structure describing the EBS vol‐
217183                     umes associated with the Image.
217184
217185              disable_api_termination
217186                     (bool) – If True, the instances will be locked  and  will
217187                     not be able to be terminated via the API.
217188
217189              instance_initiated_shutdown_behavior
217190                     (string) – Specifies whether the instance stops or termi‐
217191                     nates on instance-initiated shutdown. Valid values are:
217192
217193                     · 'stop'
217194
217195                     · 'terminate'
217196
217197              placement_group
217198                     (string) – If specified, this is the name of  the  place‐
217199                     ment group in which the instance(s) will be launched.
217200
217201              client_token
217202                     (string)  – Unique, case-sensitive identifier you provide
217203                     to ensure idempotency of the request.  Maximum  64  ASCII
217204                     characters.
217205
217206              security_group_ids
217207                     (list  of  strings)  – The IDs of the VPC security groups
217208                     with which to associate instances.
217209
217210              security_group_names
217211                     (list of strings) – The names of the VPC security  groups
217212                     with which to associate instances.
217213
217214              additional_info
217215                     (string)  –  Specifies  additional  information  to  make
217216                     available to the instance(s).
217217
217218              tenancy
217219                     (string) – The  tenancy  of  the  instance  you  want  to
217220                     launch. An instance with a tenancy of ‘dedicated’ runs on
217221                     single-tenant hardware and can only be  launched  into  a
217222                     VPC. Valid values are:”default” or “dedicated”.  NOTE: To
217223                     use dedicated tenancy you MUST specify a VPC subnet-ID as
217224                     well.
217225
217226              instance_profile_arn
217227                     (string)  –  The  Amazon  resource  name (ARN) of the IAM
217228                     Instance Profile (IIP) to associate with the instances.
217229
217230              instance_profile_name
217231                     (string) – The name of the IAM Instance Profile (IIP)  to
217232                     associate with the instances.
217233
217234              ebs_optimized
217235                     (bool)  –  Whether the instance is optimized for EBS I/O.
217236                     This optimization provides dedicated throughput to Amazon
217237                     EBS  and  a  tuned configuration stack to provide optimal
217238                     EBS I/O performance. This  optimization  isn’t  available
217239                     with all instance types.
217240
217241              network_interfaces
217242                     (boto.ec2.networkinterface.NetworkInterfaceCollection)  –
217243                     A NetworkInterfaceCollection  data  structure  containing
217244                     the ENI specifications for the instance.
217245
217246              network_interface_name
217247                        (string)  -  The  name of Elastic Network Interface to
217248                        attach
217249
217250                     New in version 2016.11.0.
217251
217252
217253              network_interface_id
217254                        (string) - The id  of  Elastic  Network  Interface  to
217255                        attach
217256
217257                     New in version 2016.11.0.
217258
217259
217260              attributes
217261                     (dict)  -  Instance attributes and value to be applied to
217262                     the instance.  Available options are:
217263
217264                     · instanceType - A valid instance type (m1.small)
217265
217266                     · kernel - Kernel ID (None)
217267
217268                     · ramdisk - Ramdisk ID (None)
217269
217270                     · userData - Base64 encoded String (None)
217271
217272                     · disableApiTermination - Boolean (true)
217273
217274                     · instanceInitiatedShutdownBehavior - stop|terminate
217275
217276                     · blockDeviceMapping   -   List   of   strings   -    ie:
217277                       [‘/dev/sda=false’]
217278
217279                     · sourceDestCheck - Boolean (true)
217280
217281                     · groupSet - Set of Security Groups or IDs
217282
217283                     · ebsOptimized - Boolean (false)
217284
217285                     · sriovNetSupport - String - ie: ‘simple’
217286
217287              target_state
217288                     (string)  -  The  desired  target  state of the instance.
217289                     Available options are:
217290
217291                     · running
217292
217293                     · stopped
217294
217295                     Note that this option is currently UNIMPLEMENTED.
217296
217297              public_ip:
217298                     (string) - The IP of a previously allocated EIP  address,
217299                     which  will  be  attached  to  the instance.  EC2 Classic
217300                     instances  ONLY  -  for  VCP  pass  in  an  allocation_id
217301                     instead.
217302
217303              allocation_id:
217304                     (string)  - The ID of a previously allocated EIP address,
217305                     which will be attached to the  instance.   VPC  instances
217306                     ONLY - for Classic pass in a public_ip instead.
217307
217308              allocate_eip:
217309                     (bool)  -  Allocate and attach an EIP on-the-fly for this
217310                     instance.  Note you'll want to releaase this address when
217311                     terminating  the  instance,  either  manually  or via the
217312                     'release_eip' flag to 'instance_absent'.
217313
217314              region (string) - Region to connect to.
217315
217316              key    (string) - Secret key to be used.
217317
217318              keyid  (string) - Access key to be used.
217319
217320              profile
217321                     (variable) - A dict with region, key and keyid, or a pil‐
217322                     lar  key  (string)  that contains a dict with region, key
217323                     and keyid.
217324
217325              New in version 2016.3.0.
217326
217327
217328       salt.states.boto_ec2.key_absent(name,      region=None,       key=None,
217329       keyid=None, profile=None)
217330              Deletes a key pair
217331
217332       salt.states.boto_ec2.key_present(name,  save_private=None,  upload_pub‐
217333       lic=None, region=None, key=None, keyid=None, profile=None)
217334              Ensure key pair is present.
217335
217336       salt.states.boto_ec2.private_ips_absent(name,            network_inter‐
217337       face_name=None,  network_interface_id=None,  private_ip_addresses=None,
217338       region=None, key=None, keyid=None, profile=None)
217339              Ensure an ENI does not have secondary private ip addresses asso‐
217340              ciated with it
217341
217342              name   (String) - State definition name
217343
217344              network_interface_id
217345                     (String)   -   The  EC2  network  interface  id,  example
217346                     eni-123456789
217347
217348              private_ip_addresses
217349                     (List or String) - The secondary private  ip  address(es)
217350                     that should be absent on the ENI.
217351
217352              region (string) - Region to connect to.
217353
217354              key    (string) - Secret key to be used.
217355
217356              keyid  (string) - Access key to be used.
217357
217358              profile
217359                     (variable) - A dict with region, key and keyid, or a pil‐
217360                     lar key (string) that contains a dict  with  region,  key
217361                     and keyid.
217362
217363       salt.states.boto_ec2.private_ips_present(name,           network_inter‐
217364       face_name=None,  network_interface_id=None,  private_ip_addresses=None,
217365       allow_reassignment=False,   region=None,   key=None,  keyid=None,  pro‐
217366       file=None)
217367              Ensure an ENI has secondary private ip addresses associated with
217368              it
217369
217370              name   (String) - State definition name
217371
217372              network_interface_id
217373                     (String)   -   The  EC2  network  interface  id,  example
217374                     eni-123456789
217375
217376              private_ip_addresses
217377                     (List or String) - The secondary private  ip  address(es)
217378                     that should be present on the ENI.
217379
217380              allow_reassignment
217381                     (Boolean) - If true, will reassign a secondary private ip
217382                     address associated with another ENI. If false, state will
217383                     fail  if  the  secondary private ip address is associated
217384                     with another ENI.
217385
217386              region (string) - Region to connect to.
217387
217388              key    (string) - Secret key to be used.
217389
217390              keyid  (string) - Access key to be used.
217391
217392              profile
217393                     (variable) - A dict with region, key and keyid, or a pil‐
217394                     lar  key  (string)  that contains a dict with region, key
217395                     and keyid.
217396
217397       salt.states.boto_ec2.snapshot_created(name,  ami_name,   instance_name,
217398       wait_until_available=True, wait_timeout_seconds=300, **kwargs)
217399              Create a snapshot from the given instance
217400
217401              New in version 2016.3.0.
217402
217403
217404       salt.states.boto_ec2.volume_absent(name,     volume_name=None,     vol‐
217405       ume_id=None,   instance_name=None,    instance_id=None,    device=None,
217406       region=None, key=None, keyid=None, profile=None)
217407              Ensure the EC2 volume is detached and absent.
217408
217409              New in version 2016.11.0.
217410
217411
217412              name   State definition name.
217413
217414              volume_name
217415                     Name tag associated with the volume.  For safety, if this
217416                     matches more than one volume, the state  will  refuse  to
217417                     apply.
217418
217419              volume_id
217420                     Resource ID of the volume.
217421
217422              instance_name
217423                     Only  remove  volume  if  it is attached to instance with
217424                     this Name tag.  Exclusive with  'instance_id'.   Requires
217425                     'device'.
217426
217427              instance_id
217428                     Only  remove  volume  if it is attached to this instance.
217429                     Exclusive with 'instance_name'.  Requires 'device'.
217430
217431              device Match  by  device  rather  than  ID.   Requires  one   of
217432                     'instance_name' or 'instance_id'.
217433
217434              region Region to connect to.
217435
217436              key    Secret key to be used.
217437
217438              keyid  Access key to be used.
217439
217440              profile
217441                     A  dict  with  region,  key  and  keyid,  or a pillar key
217442                     (string) that contains a dict with region, key and keyid.
217443
217444       salt.states.boto_ec2.volume_present(name,    volume_name=None,     vol‐
217445       ume_id=None,    instance_name=None,    instance_id=None,   device=None,
217446       size=None,     snapshot_id=None,      volume_type=None,      iops=None,
217447       encrypted=False,  kms_key_id=None,  region=None,  key=None, keyid=None,
217448       profile=None)
217449              Ensure the EC2 volume is present and attached.
217450
217451              name   State definition name.
217452
217453              volume_name
217454                     The Name tag value for the volume. If no volume with that
217455                     matching name tag is found, a new volume will be created.
217456                     If multiple volumes are matched, the state will fail.
217457
217458              volume_id
217459                     Resource ID of the volume. Exclusive with 'volume_name'.
217460
217461              instance_name
217462                     Attach volume to instance with this Name tag.   Exclusive
217463                     with 'instance_id'.
217464
217465              instance_id
217466                     Attach  volume  to instance with this ID.  Exclusive with
217467                     'instance_name'.
217468
217469              device The device on the instance through which  the  volume  is
217470                     exposed (e.g. /dev/sdh)
217471
217472              size   The  size  of  the new volume, in GiB. If you're creating
217473                     the volume from a snapshot and  don't  specify  a  volume
217474                     size, the default is the snapshot size. Optionally speci‐
217475                     fied at volume creation time; will be ignored  afterward.
217476                     Requires 'volume_name'.
217477
217478              snapshot_id
217479                     The  snapshot  ID  from which the new Volume will be cre‐
217480                     ated. Optionally specified at volume creation time;  will
217481                     be ignored afterward. Requires 'volume_name'.
217482
217483              volume_type
217484                     The  type  of  the volume. Optionally specified at volume
217485                     creation time; will be ignored afterward.  Requires 'vol‐
217486                     ume_name'.  Valid volume types for AWS can be found here:
217487                     http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html
217488
217489              iops   The provisioned IOPS you want to associate with this vol‐
217490                     ume. Optionally specified at volume creation  time;  will
217491                     be ignored afterward. Requires 'volume_name'.
217492
217493              encrypted
217494                     Specifies whether the volume should be encrypted. Option‐
217495                     ally specified at volume creation time; will  be  ignored
217496                     afterward. Requires 'volume_name'.
217497
217498              kms_key_id
217499                     If encrypted is True, this KMS Key ID may be specified to
217500                     encrypt volume with this key.   Optionally  specified  at
217501                     volume   creation   time;   will  be  ignored  afterward.
217502                     Requires              'volume_name'.                e.g.:
217503                     arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef
217504
217505              region Region to connect to.
217506
217507              key    Secret key to be used.
217508
217509              keyid  Access key to be used.
217510
217511              profile
217512                     A dict with region,  key  and  keyid,  or  a  pillar  key
217513                     (string) that contains a dict with region, key and keyid.
217514
217515       salt.states.boto_ec2.volumes_tagged(name,      tag_maps,     authorita‐
217516       tive=False, region=None, key=None, keyid=None, profile=None)
217517              Ensure EC2 volume(s) matching the given filters have the defined
217518              tags.
217519
217520              New in version 2016.11.0.
217521
217522
217523              name   State definition name.
217524
217525              tag_maps
217526                     List  of  dicts of filters and tags, where 'filters' is a
217527                     dict suitable for passing to the  'filters'  argument  of
217528                     boto_ec2.get_all_volumes(),  and 'tags' is a dict of tags
217529                     to be set on volumes as matched  by  the  given  filters.
217530                     The  filter syntax is extended to permit passing either a
217531                     list   of   volume_ids   or   an   instance_name    (with
217532                     instance_name being the Name tag of the instance to which
217533                     the desired volumes are mapped).   Each  mapping  in  the
217534                     list  is  applied separately, so multiple sets of volumes
217535                     can be all tagged differently with one call to this func‐
217536                     tion.
217537
217538              YAML example fragment:
217539
217540                 - filters:
217541                     attachment.instance_id: i-abcdef12
217542                   tags:
217543                     Name: dev-int-abcdef12.aws-foo.com
217544                 - filters:
217545                     attachment.device: /dev/sdf
217546                   tags:
217547                     ManagedSnapshots: true
217548                     BillingGroup: bubba.hotep@aws-foo.com
217549                 - filters:
217550                     instance_name: prd-foo-01.aws-foo.com
217551                   tags:
217552                     Name: prd-foo-01.aws-foo.com
217553                     BillingGroup: infra-team@aws-foo.com
217554                 - filters:
217555                     volume_ids: [ vol-12345689, vol-abcdef12 ]
217556                   tags:
217557                     BillingGroup: infra-team@aws-foo.com
217558
217559              authoritative
217560                     Should  un-declared tags currently set on matched volumes
217561                     be deleted?  Boolean.
217562
217563              region Region to connect to.
217564
217565              key    Secret key to be used.
217566
217567              keyid  Access key to be used.
217568
217569              profile
217570                     A dict with region,  key  and  keyid,  or  a  pillar  key
217571                     (string) that contains a dict with region, key and keyid.
217572
217573   salt.states.boto_elasticache
217574   Manage Elasticache
217575       New in version 2014.7.0.
217576
217577
217578       Create,  destroy  and  update  Elasticache clusters. Be aware that this
217579       interacts with Amazon's services, and so may incur charges.
217580
217581       Note: This module currently only  supports  creation  and  deletion  of
217582       elasticache  resources and will not modify clusters when their configu‐
217583       ration changes in your state files.
217584
217585       This module uses boto, which can be installed via package, or pip.
217586
217587       This module accepts explicit elasticache credentials but can also  uti‐
217588       lize  IAM  roles  assigned  to  the instance through Instance Profiles.
217589       Dynamic credentials are then automatically obtained from AWS API and no
217590       further configuration is necessary. More information available here.
217591
217592       If  IAM  roles are not used you need to specify them either in a pillar
217593       file or in the minion's config file:
217594
217595          elasticache.keyid: GKTADJGHEIQSXMKKRBJ08H
217596          elasticache.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
217597
217598       It's also possible to specify key, keyid  and  region  via  a  profile,
217599       either passed in as a dict, or as a string to pull from pillars or min‐
217600       ion config:
217601
217602          myprofile:
217603            keyid: GKTADJGHEIQSXMKKRBJ08H
217604            key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
217605              region: us-east-1
217606
217607          Ensure myelasticache exists:
217608            boto_elasticache.present:
217609              - name: myelasticache
217610              - engine: redis
217611              - cache_node_type: cache.t1.micro
217612              - num_cache_nodes: 1
217613              - notification_topic_arn: arn:aws:sns:us-east-1:879879:my-sns-topic
217614              - region: us-east-1
217615              - keyid: GKTADJGHEIQSXMKKRBJ08H
217616              - key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
217617
217618          # Using a profile from pillars
217619          Ensure myelasticache exists:
217620            boto_elasticache.present:
217621              - name: myelasticache
217622              - engine: redis
217623              - cache_node_type: cache.t1.micro
217624              - num_cache_nodes: 1
217625              - notification_topic_arn: arn:aws:sns:us-east-1:879879:my-sns-topic
217626              - region: us-east-1
217627              - profile: myprofile
217628
217629          # Passing in a profile
217630          Ensure myelasticache exists:
217631            boto_elasticache.present:
217632              - name: myelasticache
217633              - engine: redis
217634              - cache_node_type: cache.t1.micro
217635              - num_cache_nodes: 1
217636              - notification_topic_arn: arn:aws:sns:us-east-1:879879:my-sns-topic
217637              - region: us-east-1
217638              - profile:
217639                  keyid: GKTADJGHEIQSXMKKRBJ08H
217640                  key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
217641
217642       salt.states.boto_elasticache.absent(name,    wait=True,    region=None,
217643       key=None, keyid=None, profile=None)
217644              Ensure the named elasticache cluster is deleted.
217645
217646              name   Name of the cache cluster.
217647
217648              wait   Boolean. Wait for confirmation from boto that the cluster
217649                     is in the deleting state.
217650
217651              region Region to connect to.
217652
217653              key    Secret key to be used.
217654
217655              keyid  Access key to be used.
217656
217657              profile
217658                     A dict with region,  key  and  keyid,  or  a  pillar  key
217659                     (string) that contains a dict with region, key and keyid.
217660
217661       salt.states.boto_elasticache.cache_cluster_absent(*args, **kwargs)
217662
217663       salt.states.boto_elasticache.cache_cluster_present(*args, **kwargs)
217664
217665       salt.states.boto_elasticache.creategroup(name,      primary_cluster_id,
217666       replication_group_description,   wait=None,   region=None,    key=None,
217667       keyid=None, profile=None)
217668              Ensure the a replication group is create.
217669
217670              name   Name of replication group
217671
217672              wait   Waits for the group to be available
217673
217674              primary_cluster_id
217675                     Name of the master cache node
217676
217677              replication_group_description
217678                     Description for the group
217679
217680              region Region to connect to.
217681
217682              key    Secret key to be used.
217683
217684              keyid  Access key to be used.
217685
217686              profile
217687                     A  dict  with  region,  key  and  keyid,  or a pillar key
217688                     (string) that contains a dict with region, key and keyid.
217689
217690       salt.states.boto_elasticache.present(name,                 engine=None,
217691       cache_node_type=None,     num_cache_nodes=None,    preferred_availabil‐
217692       ity_zone=None, port=None, cache_parameter_group_name=None,  cache_secu‐
217693       rity_group_names=None,    replication_group_id=None,    auto_minor_ver‐
217694       sion_upgrade=True,         security_group_ids=None,          cache_sub‐
217695       net_group_name=None,  engine_version=None, notification_topic_arn=None,
217696       preferred_maintenance_window=None,  wait=None,  region=None,  key=None,
217697       keyid=None, profile=None)
217698              Ensure the cache cluster exists.
217699
217700              name   Name of the cache cluster (cache cluster id).
217701
217702              engine The  name  of  the cache engine to be used for this cache
217703                     cluster. Valid values are memcached or redis.
217704
217705              cache_node_type
217706                     The compute and memory capacity of the nodes in the cache
217707                     cluster.    cache.t1.micro,   cache.m1.small,  etc.  See:
217708                     https://boto.readthedocs.io/en/latest/ref/elasticache.html#boto.elasticache.layer1.ElastiCacheConnection.create_cache_cluster
217709
217710              num_cache_nodes
217711                     The  number  of  cache  nodes that the cache cluster will
217712                     have.
217713
217714              preferred_availability_zone
217715                     The EC2 Availability Zone in which the cache cluster will
217716                     be created.  All cache nodes belonging to a cache cluster
217717                     are placed in the preferred availability zone.
217718
217719              port   The port number on which each of  the  cache  nodes  will
217720                     accept connections.
217721
217722              cache_parameter_group_name
217723                     The  name  of the cache parameter group to associate with
217724                     this cache cluster. If  this  argument  is  omitted,  the
217725                     default  cache  parameter  group for the specified engine
217726                     will be used.
217727
217728              cache_security_group_names
217729                     A list of cache security group names  to  associate  with
217730                     this  cache cluster. Use this parameter only when you are
217731                     creating a cluster outside of a VPC.
217732
217733              replication_group_id
217734                     The replication group to which this cache cluster  should
217735                     belong. If this parameter is specified, the cache cluster
217736                     will be added to the specified  replication  group  as  a
217737                     read  replica;  otherwise,  the  cache  cluster will be a
217738                     standalone primary that is not part  of  any  replication
217739                     group.
217740
217741              auto_minor_version_upgrade
217742                     Determines  whether minor engine upgrades will be applied
217743                     automatically to the cache cluster during the maintenance
217744                     window.  A  value of True allows these upgrades to occur;
217745                     False disables automatic upgrades.
217746
217747              security_group_ids
217748                     One or more VPC security groups associated with the cache
217749                     cluster.  Use this parameter only when you are creating a
217750                     cluster in a VPC.
217751
217752              cache_subnet_group_name
217753                     The name of the cache subnet group to  be  used  for  the
217754                     cache cluster.  Use this parameter only when you are cre‐
217755                     ating a cluster in a VPC.
217756
217757              engine_version
217758                     The version number of the cache engine  to  be  used  for
217759                     this cluster.
217760
217761              notification_topic_arn
217762                     The Amazon Resource Name (ARN) of the Amazon Simple Noti‐
217763                     fication Service (SNS) topic to which notifications  will
217764                     be  sent.  The Amazon SNS topic owner must be the same as
217765                     the cache cluster owner.
217766
217767              preferred_maintenance_window
217768                     The weekly time range (in UTC) during which system  main‐
217769                     tenance can occur. Example: sun:05:00-sun:09:00
217770
217771              wait   Boolean. Wait for confirmation from boto that the cluster
217772                     is in the available state.
217773
217774              region Region to connect to.
217775
217776              key    Secret key to be used.
217777
217778              keyid  Access key to be used.
217779
217780              profile
217781                     A dict with region,  key  and  keyid,  or  a  pillar  key
217782                     (string) that contains a dict with region, key and keyid.
217783
217784       salt.states.boto_elasticache.replication_group_absent(name,  tags=None,
217785       region=None, key=None, keyid=None, profile=None)
217786
217787       salt.states.boto_elasticache.replication_group_present(*args, **kwargs)
217788
217789       salt.states.boto_elasticache.subnet_group_absent(name,       tags=None,
217790       region=None, key=None, keyid=None, profile=None)
217791
217792       salt.states.boto_elasticache.subnet_group_present(name,            sub‐
217793       net_ids=None,    subnet_names=None,    description=None,     tags=None,
217794       region=None, key=None, keyid=None, profile=None)
217795              Ensure ElastiCache subnet group exists.
217796
217797              New in version 2015.8.0.
217798
217799
217800              name   The  name for the ElastiCache subnet group. This value is
217801                     stored as a lowercase string.
217802
217803              subnet_ids
217804                     A list of VPC subnet IDs  for  the  cache  subnet  group.
217805                     Exclusive with subnet_names.
217806
217807              subnet_names
217808                     A  list  of  VPC subnet names for the cache subnet group.
217809                     Exclusive with subnet_ids.
217810
217811              description
217812                     Subnet group description.
217813
217814              tags   A list of tags.
217815
217816              region Region to connect to.
217817
217818              key    Secret key to be used.
217819
217820              keyid  Access key to be used.
217821
217822              profile
217823                     A dict with region,  key  and  keyid,  or  a  pillar  key
217824                     (string) that contains a dict with region, key and keyid.
217825
217826   salt.states.boto_elasticsearch_domain module
217827   Manage Elasticsearch Domains
217828       New in version 2016.11.0.
217829
217830
217831       Create  and destroy Elasticsearch domains. Be aware that this interacts
217832       with Amazon's services, and so may incur charges.
217833
217834       This module uses boto3, which can be installed via package, or pip.
217835
217836       This module accepts explicit vpc credentials but can also  utilize  IAM
217837       roles  assigned to the instance through Instance Profiles. Dynamic cre‐
217838       dentials are then automatically obtained from AWS API  and  no  further
217839       configuration is necessary. More information available here.
217840
217841       If  IAM  roles are not used you need to specify them either in a pillar
217842       file or in the minion's config file:
217843
217844          vpc.keyid: GKTADJGHEIQSXMKKRBJ08H
217845          vpc.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
217846
217847       It's also possible to specify key, keyid  and  region  via  a  profile,
217848       either passed in as a dict, or as a string to pull from pillars or min‐
217849       ion config:
217850
217851          myprofile:
217852            keyid: GKTADJGHEIQSXMKKRBJ08H
217853            key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
217854            region: us-east-1
217855
217856          Ensure domain exists:
217857              boto_elasticsearch_domain.present:
217858                  - DomainName: mydomain
217859                  - profile='user-credentials'
217860                  - ElasticsearchVersion: "2.3"
217861                  - ElasticsearchClusterConfig:
217862                      InstanceType": "t2.micro.elasticsearch"
217863                      InstanceCount: 1
217864                      DedicatedMasterEnabled: False
217865                      ZoneAwarenessEnabled: False
217866                  - EBSOptions:
217867                      EBSEnabled: True
217868                      VolumeType: "gp2"
217869                      VolumeSize: 10
217870                      Iops: 0
217871                  - AccessPolicies:
217872                      Version: "2012-10-17"
217873                      Statement:
217874                        - Effect: "Allow"
217875                        - Principal:
217876                            AWS: "*"
217877                        - Action:
217878                          - "es:*"
217879                        - Resource: "arn:aws:es:*:111111111111:domain/mydomain/*"
217880                        - Condition:
217881                            IpAddress:
217882                              "aws:SourceIp":
217883                                - "127.0.0.1"
217884                                - "127.0.0.2"
217885                  - SnapshotOptions:
217886                      AutomatedSnapshotStartHour: 0
217887                  - AdvancedOptions:
217888                      rest.action.multi.allow_explicit_index": "true"
217889                  - Tags:
217890                      a: "b"
217891                  - region: us-east-1
217892                  - keyid: GKTADJGHEIQSXMKKRBJ08H
217893                  - key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
217894
217895       salt.states.boto_elasticsearch_domain.absent(name,          DomainName,
217896       region=None, key=None, keyid=None, profile=None)
217897              Ensure domain with passed properties is absent.
217898
217899              name   The name of the state definition.
217900
217901              DomainName
217902                     Name of the domain.
217903
217904              region Region to connect to.
217905
217906              key    Secret key to be used.
217907
217908              keyid  Access key to be used.
217909
217910              profile
217911                     A  dict  with  region,  key  and  keyid,  or a pillar key
217912                     (string) that contains a dict with region, key and keyid.
217913
217914       salt.states.boto_elasticsearch_domain.present(name,  DomainName,  Elas‐
217915       ticsearchClusterConfig=None,    EBSOptions=None,   AccessPolicies=None,
217916       SnapshotOptions=None,  AdvancedOptions=None,  Tags=None,   region=None,
217917       key=None, keyid=None, profile=None, ElasticsearchVersion=u'1.5')
217918              Ensure domain exists.
217919
217920              name   The name of the state definition
217921
217922              DomainName
217923                     Name of the domain.
217924
217925              ElasticsearchClusterConfig
217926                     Configuration options for an Elasticsearch domain. Speci‐
217927                     fies the instance type and number  of  instances  in  the
217928                     domain cluster.
217929
217930                     InstanceType  (string)  -- The instance type for an Elas‐
217931                     ticsearch cluster.
217932
217933                     InstanceCount (integer) -- The number of instances in the
217934                     specified domain cluster.
217935
217936                     DedicatedMasterEnabled  (boolean)  --  A boolean value to
217937                     indicate whether a dedicated master node is enabled.  See
217938                     About Dedicated Master Nodes for more information.
217939
217940                     ZoneAwarenessEnabled  (boolean)  --  A  boolean  value to
217941                     indicate whether zone awareness  is  enabled.  See  About
217942                     Zone Awareness for more information.
217943
217944                     DedicatedMasterType  (string)  -- The instance type for a
217945                     dedicated master node.
217946
217947                     DedicatedMasterCount (integer) -- Total number  of  dedi‐
217948                     cated  master nodes, active and on standby, for the clus‐
217949                     ter.
217950
217951              EBSOptions
217952                     Options to enable, disable and specify the type and  size
217953                     of EBS storage volumes.
217954
217955                     EBSEnabled (boolean) -- Specifies whether EBS-based stor‐
217956                     age is enabled.
217957
217958                     VolumeType (string) --  Specifies  the  volume  type  for
217959                     EBS-based storage.
217960
217961                     VolumeSize (integer) -- Integer to specify the size of an
217962                     EBS volume.
217963
217964                     Iops (integer) -- Specifies the IOPD  for  a  Provisioned
217965                     IOPS EBS volume (SSD).
217966
217967              AccessPolicies
217968                     IAM access policy
217969
217970              SnapshotOptions
217971                     Option to set time, in UTC format, of the daily automated
217972                     snapshot.  Default value is 0 hours.
217973
217974                     AutomatedSnapshotStartHour  (integer)  --  Specifies  the
217975                     time, in UTC format, when the service takes a daily auto‐
217976                     mated snapshot of  the  specified  Elasticsearch  domain.
217977                     Default value is 0 hours.
217978
217979              AdvancedOptions
217980                     Option  to allow references to indices in an HTTP request
217981                     body. Must be false when configuring access to individual
217982                     sub-resources. By default, the value is true .
217983
217984              region Region to connect to.
217985
217986              key    Secret key to be used.
217987
217988              keyid  Access key to be used.
217989
217990              profile
217991                     A  dict  with  region,  key  and  keyid,  or a pillar key
217992                     (string) that contains a dict with region, key and keyid.
217993
217994              ElasticsearchVersion
217995                     String of format X.Y to specify version for the  Elastic‐
217996                     search domain eg.  "1.5" or "2.3".
217997
217998   salt.states.boto_elb
217999       Manage ELBs
218000
218001       New in version 2014.7.0.
218002
218003
218004       Create  and  destroy  ELBs.  Be aware that this interacts with Amazon's
218005       services, and so may incur charges.
218006
218007       This module uses boto, which can be installed via package, or pip.
218008
218009       This module accepts explicit elb credentials but can also  utilize  IAM
218010       roles  assigned to the instance through Instance Profiles. Dynamic cre‐
218011       dentials are then automatically obtained from AWS API  and  no  further
218012       configuration is necessary. More information available here.
218013
218014       If  IAM  roles are not used you need to specify them either in a pillar
218015       file or in the minion's config file:
218016
218017          elb.keyid: GKTADJGHEIQSXMKKRBJ08H
218018          elb.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
218019
218020       It's also possible to specify key, keyid  and  region  via  a  profile,
218021       either passed in as a dict, or as a string to pull from pillars or min‐
218022       ion config:
218023
218024          myprofile:
218025              keyid: GKTADJGHEIQSXMKKRBJ08H
218026              key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
218027              region: us-east-1
218028
218029          Ensure myelb ELB exists:
218030              boto_elb.present:
218031                  - name: myelb
218032                  - region: us-east-1
218033                  - availability_zones:
218034                      - us-east-1a
218035                      - us-east-1c
218036                      - us-east-1d
218037                  - keyid: GKTADJGHEIQSXMKKRBJ08H
218038                  - key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
218039                  - listeners:
218040                      - elb_port: 443
218041                        instance_port: 80
218042                        elb_protocol: HTTPS
218043                        instance_protocol: HTTP
218044                        certificate: 'arn:aws:iam::1111111:server-certificate/mycert'
218045                        policies:
218046                            - my-ssl-policy
218047                            - cookie-policy
218048                      - elb_port: 8210
218049                        instance_port: 8210
218050                        elb_protocol: TCP
218051                  - backends:
218052                      - instance_port: 80
218053                        policies:
218054                            - enable-proxy-protocol
218055                  - health_check:
218056                      target: 'HTTP:80/'
218057                  - attributes:
218058                      cross_zone_load_balancing:
218059                        enabled: true
218060                      access_log:
218061                        enabled: true
218062                        s3_bucket_name: 'mybucket'
218063                        s3_bucket_prefix: 'my-logs'
218064                        emit_interval: 5
218065                      connecting_settings:
218066                        idle_timeout: 60
218067                  - cnames:
218068                      - name: mycname.example.com.
218069                        zone: example.com.
218070                        ttl: 60
218071                      - name: myothercname.example.com.
218072                        zone: example.com.
218073                  - security_groups:
218074                      - my-security-group
218075                  - policies:
218076                      - policy_name: my-ssl-policy
218077                        policy_type: SSLNegotiationPolicyType
218078                        policy:
218079                          Protocol-TLSv1.2: true
218080                          Protocol-SSLv3: false
218081                          Server-Defined-Cipher-Order: true
218082                          ECDHE-ECDSA-AES128-GCM-SHA256: true
218083                      - policy_name: cookie-policy
218084                        policy_type: LBCookieStickinessPolicyType
218085                        policy: {}  # no policy means this is a session cookie
218086                      - policy_name: enable-proxy-protocol
218087                        policy_type: ProxyProtocolPolicyType
218088                        policy:
218089                          ProxyProtocol: true
218090
218091          # Using a profile from pillars
218092          Ensure myelb ELB exists:
218093              boto_elb.present:
218094                  - name: myelb
218095                  - region: us-east-1
218096                  - profile: myelbprofile
218097
218098          # Passing in a profile
218099          Ensure myelb ELB exists:
218100              boto_elb.present:
218101                  - name: myelb
218102                  - region: us-east-1
218103                  - profile:
218104                      keyid: GKTADJGHEIQSXMKKRBJ08H
218105                      key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
218106
218107       It's possible to specify attributes from pillars by specifying  a  pil‐
218108       lar.  You can override the values defined in the pillard by setting the
218109       attributes on the resource. The module will use the default pillar  key
218110       'boto_elb_attributes',  which  allows you to set default attributes for
218111       all ELB resources.
218112
218113       Setting the attributes pillar:
218114
218115          my_elb_attributes:
218116            cross_zone_load_balancing:
218117              enabled: true
218118            connection_draining:
218119              enabled: true
218120              timeout: 20
218121            access_log:
218122              enabled: true
218123              s3_bucket_name: 'mybucket'
218124              s3_bucket_prefix: 'my-logs'
218125              emit_interval: 5
218126
218127       Overriding the attribute values on the resource:
218128
218129          Ensure myelb ELB exists:
218130              boto_elb.present:
218131                  - name: myelb
218132                  - region: us-east-1
218133                  - attributes_from_pillar: my_elb_attributes
218134                  # override cross_zone_load_balancing:enabled
218135                  - attributes:
218136                      cross_zone_load_balancing:
218137                        enabled: false
218138                  - profile: myelbprofile
218139
218140       It's possible to specify cloudwatch alarms that  will  be  setup  along
218141       with the ELB. Note the alarm name will be defined by the name attribute
218142       provided, plus the ELB resource name.
218143
218144          Ensure myelb ELB exists:
218145              boto_elb.present:
218146                  - name: myelb
218147                  - region: us-east-1
218148                  - profile: myelbprofile
218149                  - alarms:
218150                      UnHealthyHostCount:
218151                        name: 'ELB UnHealthyHostCount **MANAGED BY SALT**'
218152                        attributes:
218153                          metric: UnHealthyHostCount
218154                          namespace: AWS/ELB
218155                          statistic: Average
218156                          comparison: '>='
218157                          threshold: 1.0
218158                          period: 600
218159                          evaluation_periods: 6
218160                          unit: null
218161                          description: ELB UnHealthyHostCount
218162                          alarm_actions: ['arn:aws:sns:us-east-1:12345:myalarm']
218163                          insufficient_data_actions: []
218164                          ok_actions: ['arn:aws:sns:us-east-1:12345:myalarm']
218165
218166       You can also use alarms from pillars, and override values from the pil‐
218167       lar   alarms   by   setting   overrides  on  the  resource.  Note  that
218168       'boto_elb_alarms' will be used as a default value for all resources, if
218169       defined and can be used to ensure alarms are always set for a resource.
218170
218171       Setting the alarms in a pillar:
218172
218173          my_elb_alarm:
218174            UnHealthyHostCount:
218175              name: 'ELB UnHealthyHostCount **MANAGED BY SALT**'
218176              attributes:
218177                metric: UnHealthyHostCount
218178                namespace: AWS/ELB
218179                statistic: Average
218180                comparison: '>='
218181                threshold: 1.0
218182                period: 600
218183                evaluation_periods: 6
218184                unit: null
218185                description: ELB UnHealthyHostCount
218186                alarm_actions: ['arn:aws:sns:us-east-1:12345:myalarm']
218187                insufficient_data_actions: []
218188                ok_actions: ['arn:aws:sns:us-east-1:12345:myalarm']
218189
218190       Overriding the alarm values on the resource:
218191
218192          Ensure myelb ELB exists:
218193              boto_elb.present:
218194                  - name: myelb
218195                  - region: us-east-1
218196                  - profile: myelbprofile
218197                  - alarms_from_pillar: my_elb_alarm
218198                  # override UnHealthyHostCount:attributes:threshold
218199                  - alarms:
218200                      UnHealthyHostCount:
218201                        attributes:
218202                          threshold: 2.0
218203
218204       Tags can also be set:
218205
218206       New in version 2016.3.0.
218207
218208
218209          Ensure myelb ELB exists:
218210              boto_elb.present:
218211                  - name: myelb
218212                  - region: us-east-1
218213                  - profile: myelbprofile
218214                  - tags:
218215                      MyTag: 'My Tag Value'
218216                      OtherTag: 'My Other Value'
218217
218218       salt.states.boto_elb.absent(name,  region=None,  key=None,  keyid=None,
218219       profile=None)
218220              Ensure an ELB does not exist
218221
218222              name   name of the ELB
218223
218224       salt.states.boto_elb.present(name, listeners,  availability_zones=None,
218225       subnets=None,  subnet_names=None, security_groups=None, scheme=u'inter‐
218226       net-facing', health_check=None,  attributes=None,  attributes_from_pil‐
218227       lar=u'boto_elb_attributes',  cnames=None, alarms=None, alarms_from_pil‐
218228       lar=u'boto_elb_alarms',        policies=None,        policies_from_pil‐
218229       lar=u'boto_elb_policies',    backends=None,    region=None,   key=None,
218230       keyid=None,      profile=None,      wait_for_sync=True,      tags=None,
218231       instance_ids=None, instance_names=None)
218232              Ensure the ELB exists.
218233
218234              name   Name of the ELB.
218235
218236              availability_zones
218237                     A list of availability zones for this ELB.
218238
218239              listeners
218240                     A list of listener lists; example:
218241
218242                        [
218243                            ['443', 'HTTPS', 'arn:aws:iam::1111111:server-certificate/mycert'],
218244                            ['8443', '80', 'HTTPS', 'HTTP', 'arn:aws:iam::1111111:server-certificate/mycert']
218245                        ]
218246
218247              subnets
218248                     A  list of subnet IDs in your VPC to attach to your Load‐
218249                     Balancer.
218250
218251              subnet_names
218252                     A list of subnet names in your  VPC  to  attach  to  your
218253                     LoadBalancer.
218254
218255              security_groups
218256                     The  security groups assigned to your LoadBalancer within
218257                     your VPC. Must be passed either as a list or a comma-sep‐
218258                     arated string.
218259
218260                     For example, a list:
218261
218262                        - security_groups:
218263                          - secgroup-one
218264                          - secgroup-two
218265
218266                     Or as a comma-separated string:
218267
218268                        - security_groups: secgroup-one,secgroup-two
218269
218270              scheme The  type of a LoadBalancer, internet-facing or internal.
218271                     Once set, can not be modified.
218272
218273              health_check
218274                     A dict defining the health check for this ELB.
218275
218276              attributes
218277                     A dict defining  the  attributes  to  set  on  this  ELB.
218278                     Unknown keys will be silently ignored.
218279
218280                     See the salt.modules.boto_elb.set_attributes function for
218281                     recognized attributes.
218282
218283              attributes_from_pillar
218284                     name   of   pillar   dict   that   contains   attributes.
218285                     Attributes  defined for this specific state will override
218286                     those from pillar.
218287
218288              cnames A list of cname dicts with attributes needed for the  DNS
218289                     add_record state.  By default the boto_route53.add_record
218290                     state will be used, which requires: name, zone, ttl,  and
218291                     identifier.   See  the boto_route53 state for information
218292                     about these attributes.  Other DNS modules can be  called
218293                     by specifying the provider keyword.  the cnames dict will
218294                     be passed to the state as kwargs.
218295
218296                     See the salt.states.boto_route53  state  for  information
218297                     about these attributes.
218298
218299              alarms:
218300                     a  dictionary  of name->boto_cloudwatch_alarm sections to
218301                     be associated with this ELB.  All  attributes  should  be
218302                     specified  except  for  dimension which will be automati‐
218303                     cally set to this ELB.
218304
218305                     See  the  salt.states.boto_cloudwatch_alarm   state   for
218306                     information about these attributes.
218307
218308              alarms_from_pillar:
218309                     name   of  pillar  dict  that  contains  alarm  settings.
218310                     Alarms defined for  this  specific  state  will  override
218311                     those from pillar.
218312
218313              region Region to connect to.
218314
218315              key    Secret key to be used.
218316
218317              keyid  Access key to be used.
218318
218319              profile
218320                     A  dict  with  region,  key  and  keyid,  or a pillar key
218321                     (string) that contains a dict with region, key and keyid.
218322
218323              wait_for_sync
218324                     Wait for an INSYNC change status from Route53.
218325
218326              tags   dict of tags
218327
218328              instance_ids
218329                     list of instance ids.  The state will ensure that  these,
218330                     and  ONLY  these,  instances are registered with the ELB.
218331                     This is additive with instance_names.
218332
218333              instance_names
218334                     list of instance  names.   The  state  will  ensure  that
218335                     these,  and ONLY these, instances are registered with the
218336                     ELB.  This is additive with instance_ids.
218337
218338       salt.states.boto_elb.register_instances(name,  instances,  region=None,
218339       key=None, keyid=None, profile=None)
218340              Add  EC2  instance(s)  to  an Elastic Load Balancer. Removing an
218341              instance from the instances list does not  remove  it  from  the
218342              ELB.
218343
218344              name   The  name  of  the  Elastic  Load  Balancer  to  add  EC2
218345                     instances to.
218346
218347              instances
218348                     A list of EC2 instance IDs that this  Elastic  Load  Bal‐
218349                     ancer  should distribute traffic to. This state will only
218350                     ever append new  instances  to  the  ELB.  EC2  instances
218351                     already  associated  with this ELB will not be removed if
218352                     they are not in the instances list.
218353
218354              New in version 2015.8.0.
218355
218356
218357                 add-instances:
218358                   boto_elb.register_instances:
218359                     - name: myloadbalancer
218360                     - instances:
218361                       - instance-id1
218362                       - instance-id2
218363
218364   salt.states.boto_elbv2 module
218365       Manage AWS Application Load Balancer
218366
218367       New in version 2017.7.0.
218368
218369
218370       Add and remove targets from an ALB target group.
218371
218372       This module uses boto3, which can be installed via package, or pip.
218373
218374       This module accepts explicit alb credentials but can also  utilize  IAM
218375       roles  assigned to the instance through Instance Profiles. Dynamic cre‐
218376       dentials are then automatically obtained from AWS API  and  no  further
218377       configuration is necessary. More information available here.
218378
218379       If  IAM  roles are not used you need to specify them either in a pillar
218380       file or in the minion's config file:
218381
218382          elbv2.keyid: GKTADJGHEIQSXMKKRBJ08H
218383          elbv2.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
218384          elbv2.region: us-west-2
218385
218386       It's also possible to specify key, keyid  and  region  via  a  profile,
218387       either passed in as a dict, or as a string to pull from pillars or min‐
218388       ion config:
218389
218390          myprofile:
218391              keyid: GKTADJGHEIQSXMKKRBJ08H
218392              key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
218393              region: us-east-1
218394
218395       salt.states.boto_elbv2.create_target_group(name,    protocol,     port,
218396       vpc_id,     region=None,     key=None,     keyid=None,    profile=None,
218397       health_check_protocol=u'HTTP',       health_check_port=u'traffic-port',
218398       health_check_path=u'/',               health_check_interval_seconds=30,
218399       health_check_timeout_seconds=5,              healthy_threshold_count=5,
218400       unhealthy_threshold_count=2, **kwargs)
218401              New in version 2017.11.0.
218402
218403
218404              Create target group if not present.
218405
218406              name   (string) - The name of the target group.
218407
218408              protocol
218409                     (string) - The protocol to use for routing traffic to the
218410                     targets
218411
218412              port   (int) - The port on which the  targets  receive  traffic.
218413                     This port is used unless you specify a port override when
218414                     registering the traffic.
218415
218416              vpc_id (string) - The identifier of the  virtual  private  cloud
218417                     (VPC).
218418
218419              health_check_protocol
218420                     (string)  - The protocol the load balancer uses when per‐
218421                     forming health check on targets. The default is the  HTTP
218422                     protocol.
218423
218424              health_check_port
218425                     (string)  - The port the load balancer uses when perform‐
218426                     ing health checks  on  targets.  The  default  is  'traf‐
218427                     fic-port',  which indicates the port on which each target
218428                     receives traffic from the load balancer.
218429
218430              health_check_path
218431                     (string) - The ping path that is the destination  on  the
218432                     targets for health checks. The default is /.
218433
218434              health_check_interval_seconds
218435                     (integer)  -  The approximate amount of time, in seconds,
218436                     between  health  checks  of  an  individual  target.  The
218437                     default is 30 seconds.
218438
218439              health_check_timeout_seconds
218440                     (integer)  - The amount of time, in seconds, during which
218441                     no response from a target means a  failed  health  check.
218442                     The default is 5 seconds.
218443
218444              healthy_threshold_count
218445                     (integer)  - The number of consecutive health checks suc‐
218446                     cesses required before considering  an  unhealthy  target
218447                     healthy. The default is 5.
218448
218449              unhealthy_threshold_count
218450                     (integer)  - The number of consecutive health check fail‐
218451                     ures required before considering a target unhealthy.  The
218452                     default is 2.
218453
218454              returns
218455                     (bool) - True on success, False on failure.
218456
218457              CLI example:
218458
218459                 create-target:
218460
218461                        boto_elb2.create_targets_group:
218462
218463                               · name: myALB
218464
218465                               · protocol: https
218466
218467                               · port: 443
218468
218469                               · vpc_id: myVPC
218470
218471       salt.states.boto_elbv2.delete_target_group(name, region=None, key=None,
218472       keyid=None, profile=None)
218473              Delete target group.
218474
218475              name   (string)  -  The  Amazon  Resource  Name  (ARN)  of   the
218476                     resource.
218477
218478              returns
218479                     (bool) - True on success, False on failure.
218480
218481              CLI example:
218482
218483                 check-target:
218484                   boto_elb2.delete_targets_group:
218485                     - name: myALB
218486                     - protocol: https
218487                     - port: 443
218488                     - vpc_id: myVPC
218489
218490       salt.states.boto_elbv2.targets_deregistered(name, targets, region=None,
218491       key=None, keyid=None, profile=None, **kwargs)
218492              Remove targets to an Application Load Balancer target group.
218493
218494              name   The ARN of the Application Load Balancer Target Group  to
218495                     remove targets from.
218496
218497              targets
218498                     A  list of target IDs or a string of a single target reg‐
218499                     istered to the target group to be removed
218500
218501              New in version Unknown.
218502
218503
218504                 remove-targets:
218505                   boto_elb.targets_deregistered:
218506                     - name: arn:myloadbalancer
218507                     - targets:
218508                       - instance-id1
218509                       - instance-id2
218510
218511       salt.states.boto_elbv2.targets_registered(name,  targets,  region=None,
218512       key=None, keyid=None, profile=None, **kwargs)
218513              New in version 2017.7.0.
218514
218515
218516              Add  targets  to an Application Load Balancer target group. This
218517              state will not remove targets.
218518
218519              name   The ARN of the Application Load Balancer Target Group  to
218520                     add targets to.
218521
218522              targets
218523                     A  list of target IDs or a string of a single target that
218524                     this target group should distribute traffic to.
218525
218526                 add-targets:
218527                   boto_elb.targets_registered:
218528                     - name: arn:myloadbalancer
218529                     - targets:
218530                       - instance-id1
218531                       - instance-id2
218532
218533   salt.states.boto_iam
218534   Manage IAM objects
218535       New in version 2015.8.0.
218536
218537
218538       This module uses boto, which can be installed via package, or pip.
218539
218540       This module accepts explicit IAM credentials but can also  utilize  IAM
218541       roles  assigned to the instance through Instance Profiles. Dynamic cre‐
218542       dentials are then automatically obtained from AWS API  and  no  further
218543       configuration is necessary. More information available here.
218544
218545       It's  also  possible  to  specify  key, keyid and region via a profile,
218546       either passed in as a dict, or as a string to pull from pillars or min‐
218547       ion config:
218548
218549          delete-user:
218550            boto_iam.user_absent:
218551              - name: myuser
218552              - delete_keys: true
218553
218554          delete-keys:
218555            boto_iam.keys_absent:
218556              - access_keys:
218557                - 'AKIAJHTMIQ2ASDFLASDF'
218558                - 'PQIAJHTMIQ2ASRTLASFR'
218559              - user_name: myuser
218560
218561          create-user:
218562            boto_iam.user_present:
218563              - name: myuser
218564              - policies:
218565                  mypolicy: |
218566                      {
218567                          "Version": "2012-10-17",
218568                          "Statement": [{
218569                          "Effect": "Allow",
218570                          "Action": "*",
218571                          "Resource": "*"}]
218572                      }
218573              - password: NewPassword$$1
218574              - region: eu-west-1
218575              - keyid: 'AKIAJHTMIQ2ASDFLASDF'
218576              - key: 'fdkjsafkljsASSADFalkfjasdf'
218577
218578          create-group:
218579            boto_iam.group_present:
218580              - name: mygroup
218581              - users:
218582                - myuser
218583                - myuser1
218584              - policies:
218585                  mypolicy: |
218586                      {
218587                          "Version": "2012-10-17",
218588                          "Statement": [{
218589                          "Effect": "Allow",
218590                          "Action": "*",
218591                          "Resource": "*"}]
218592                      }
218593              - region: eu-west-1
218594              - keyid: 'AKIAJHTMIQ2ASDFLASDF'
218595              - key: 'safsdfsal;fdkjsafkljsASSADFalkfj'
218596
218597          change-policy:
218598            boto_iam.account_policy:
218599              - change_password: True
218600              - region: eu-west-1
218601              - keyid: 'AKIAJHTMIQ2ASDFLASDF'
218602              - key: 'safsdfsal;fdkjsafkljsASSADFalkfj'
218603
218604          create server certificate:
218605            boto_iam.server_cert_present:
218606              - name: mycert
218607              - public_key: salt://base/mycert.crt
218608              - private_key: salt://base/mycert.key
218609              - cert_chain: salt://base/mycert_chain.crt
218610              - region: eu-west-1
218611              - keyid: 'AKIAJHTMIQ2ASDFLASDF'
218612              - key: 'fdkjsafkljsASSADFalkfjasdf'
218613
218614          delete server certificate:
218615            boto_iam.server_cert_absent:
218616              - name: mycert
218617
218618          create keys for user:
218619            boto_iam.keys_present:
218620              - name: myusername
218621              - number: 2
218622              - save_dir: /root
218623              - region: eu-west-1
218624              - keyid: 'AKIAJHTMIQ2ASDFLASDF'
218625              - key: 'fdkjsafkljsASSADFalkfjasdf'
218626
218627          create policy:
218628            boto_iam.policy_present:
218629              - name: myname
218630              - policy_document: '{"MyPolicy": "Statement": [{"Action": ["sqs:*"], "Effect": "Allow", "Resource": ["arn:aws:sqs:*:*:*"], "Sid": "MyPolicySqs1"}]}'
218631              - region: eu-west-1
218632              - keyid: 'AKIAJHTMIQ2ASDFLASDF'
218633              - key: 'fdkjsafkljsASSADFalkfjasdf'
218634
218635          add-saml-provider:
218636            boto_iam.saml_provider_present:
218637              - name: my_saml_provider
218638              - saml_metadata_document: salt://base/files/provider.xml
218639              - keyid: 'AKIAJHTMIQ2ASDFLASDF'
218640              - key: 'safsdfsal;fdkjsafkljsASSADFalkfj'
218641
218642       salt.states.boto_iam.account_policy(name=None,
218643       allow_users_to_change_password=None,    hard_expiry=None,     max_pass‐
218644       word_age=None,   minimum_password_length=None,   password_reuse_preven‐
218645       tion=None,   require_lowercase_characters=None,   require_numbers=None,
218646       require_symbols=None,  require_uppercase_characters=None,  region=None,
218647       key=None, keyid=None, profile=None)
218648              Change account policy.
218649
218650              New in version 2015.8.0.
218651
218652
218653              name (string)
218654                     The name of the account policy
218655
218656              allow_users_to_change_password (bool)
218657                     Allows all IAM users in your account to use the AWS  Man‐
218658                     agement Console to change their own passwords.
218659
218660              hard_expiry (bool)
218661                     Prevents  IAM  users  from  setting  a new password after
218662                     their password has expired.
218663
218664              max_password_age (int)
218665                     The number of days that an IAM user password is valid.
218666
218667              minimum_password_length (int)
218668                     The minimum number of characters allowed in an  IAM  user
218669                     password.
218670
218671              password_reuse_prevention (int)
218672                     Specifies the number of previous passwords that IAM users
218673                     are prevented from reusing.
218674
218675              require_lowercase_characters (bool)
218676                     Specifies whether IAM  user  passwords  must  contain  at
218677                     least  one  lowercase  character from the ISO basic Latin
218678                     alphabet (a to z).
218679
218680              require_numbers (bool)
218681                     Specifies whether IAM  user  passwords  must  contain  at
218682                     least one numeric character (0 to 9).
218683
218684              require_symbols (bool)
218685                     Specifies  whether  IAM  user  passwords  must contain at
218686                     least one of the following non-alphanumeric characters: !
218687                     @ # $ % ^ & * ( ) _ + - = [ ] { } | '
218688
218689              require_uppercase_characters (bool)
218690                     Specifies  whether  IAM  user  passwords  must contain at
218691                     least one uppercase character from the  ISO  basic  Latin
218692                     alphabet (A to Z).
218693
218694              region (string)
218695                     Region to connect to.
218696
218697              key (string)
218698                     Secret key to be used.
218699
218700              keyid (string)
218701                     Access key to be used.
218702
218703              profile (dict)
218704                     A  dict  with  region,  key  and  keyid,  or a pillar key
218705                     (string)
218706
218707       salt.states.boto_iam.group_absent(name,     region=None,      key=None,
218708       keyid=None, profile=None)
218709              New in version 2015.8.0.
218710
218711
218712              Ensure the IAM group is absent.
218713
218714              name (string)
218715                     The name of the group.
218716
218717              region (string)
218718                     Region to connect to.
218719
218720              key (string)
218721                     Secret key to be used.
218722
218723              keyid (string)
218724                     Access key to be used.
218725
218726              profile (dict)
218727                     A  dict  with  region,  key  and  keyid,  or a pillar key
218728                     (string) that contains a dict with region, key and keyid.
218729
218730       salt.states.boto_iam.group_present(name,      policies=None,      poli‐
218731       cies_from_pillars=None,  managed_policies=None,  users=None, path=u'/',
218732       region=None, key=None, keyid=None, profile=None, delete_policies=True)
218733              New in version 2015.8.0.
218734
218735
218736              Ensure the IAM group is present
218737
218738              name (string)
218739                     The name of the new group.
218740
218741              path (string)
218742                     The path for the group, defaults to '/'
218743
218744              policies (dict)
218745                     A dict of IAM group policy documents.
218746
218747              policies_from_pillars (list)
218748                     A list of pillars that contain role policy  dicts.  Poli‐
218749                     cies  in  the pillars will be merged in the order defined
218750                     in the list and key conflicts will be  handled  by  later
218751                     defined  keys  overriding earlier defined keys. The poli‐
218752                     cies defined  here  will  be  merged  with  the  policies
218753                     defined  in  the policies argument. If keys conflict, the
218754                     keys in the policies  argument  will  override  the  keys
218755                     defined in policies_from_pillars.
218756
218757              managed_policies (list)
218758                     A list of policy names or ARNs that should be attached to
218759                     this group.
218760
218761              users (list)
218762                     A list of users to be added to the group.
218763
218764              region (string)
218765                     Region to connect to.
218766
218767              key (string)
218768                     Secret key to be used.
218769
218770              keyid (string)
218771                     Access key to be used.
218772
218773              profile (dict)
218774                     A dict with region,  key  and  keyid,  or  a  pillar  key
218775                     (string) that contains a dict with region, key and keyid.
218776
218777              delete_policies (boolean)
218778                     Delete  or  detach  existing policies that are not in the
218779                     given list of policies.  Default value is True. If  False
218780                     is  specified,  existing  policies will not be deleted or
218781                     detached allowing manual modifications on the  IAM  group
218782                     to be persistent.
218783
218784       salt.states.boto_iam.keys_absent(access_keys,  user_name,  region=None,
218785       key=None, keyid=None, profile=None)
218786              New in version 2015.8.0.
218787
218788
218789              Ensure the IAM user access_key_id is absent.
218790
218791              access_key_id (list)
218792                     A list of access key ids
218793
218794              user_name (string)
218795                     The username of the user
218796
218797              region (string)
218798                     Region to connect to.
218799
218800              key (string)
218801                     Secret key to be used.
218802
218803              keyid (string)
218804                     Access key to be used.
218805
218806              profile (dict)
218807                     A dict with region,  key  and  keyid,  or  a  pillar  key
218808                     (string) that contains a dict with region, key and keyid.
218809
218810       salt.states.boto_iam.keys_present(name,  number, save_dir, region=None,
218811       key=None,         keyid=None,          profile=None,          save_for‐
218812       mat=u'{2}\n{0}\n{3}\n{1}\n')
218813              New in version 2015.8.0.
218814
218815
218816              Ensure the IAM access keys are present.
218817
218818              name (string)
218819                     The name of the new user.
218820
218821              number (int)
218822                     Number of keys that user should have.
218823
218824              save_dir (string)
218825                     The  directory  that the key/keys will be saved. Keys are
218826                     saved to a file named according to the username privided.
218827
218828              region (string)
218829                     Region to connect to.
218830
218831              key (string)
218832                     Secret key to be used.
218833
218834              keyid (string)
218835                     Access key to be used.
218836
218837              profile (dict)
218838                     A dict with region,  key  and  keyid,  or  a  pillar  key
218839                     (string) that contains a dict with region, key and keyid.
218840
218841              save_format (dict)
218842                     Save  format  is repeated for each key. Default format is
218843                     "{2}n{0}n{3}n{1}n", where {0} and  {1}  are  placeholders
218844                     for  new key_id and key respectively, whereas {2} and {3}
218845                     are "key_id-{number}" and 'key-{number}' strings kept for
218846                     compatibility.
218847
218848       salt.states.boto_iam.policy_absent(name,     region=None,     key=None,
218849       keyid=None, profile=None)
218850              New in version 2015.8.0.
218851
218852
218853              Ensure the IAM managed policy with the specified name is absent
218854
218855              name (string)
218856                     The name of the new policy.
218857
218858              region (string)
218859                     Region to connect to.
218860
218861              key (string)
218862                     Secret key to be used.
218863
218864              keyid (string)
218865                     Access key to be used.
218866
218867              profile (dict)
218868                     A dict with region,  key  and  keyid,  or  a  pillar  key
218869                     (string) that contains a dict with region, key and keyid.
218870
218871       salt.states.boto_iam.policy_present(name,  policy_document,  path=None,
218872       description=None, region=None, key=None, keyid=None, profile=None)
218873              New in version 2015.8.0.
218874
218875
218876              Ensure the IAM managed policy is present
218877
218878              name (string)
218879                     The name of the new policy.
218880
218881              policy_document (dict)
218882                     The document of the new policy
218883
218884              path (string)
218885                     The path in which the policy will be created. Default  is
218886                     '/'.
218887
218888              description (string)
218889                     Description
218890
218891              region (string)
218892                     Region to connect to.
218893
218894              key (string)
218895                     Secret key to be used.
218896
218897              keyid (string)
218898                     Access key to be used.
218899
218900              profile (dict)
218901                     A  dict  with  region,  key  and  keyid,  or a pillar key
218902                     (string) that contains a dict with region, key and keyid.
218903
218904       salt.states.boto_iam.saml_provider_absent(name, region=None,  key=None,
218905       keyid=None, profile=None)
218906              New in version 2016.11.0.
218907
218908
218909              Ensure the SAML provider with the specified name is absent.
218910
218911              name (string)
218912                     The name of the SAML provider.
218913
218914              saml_metadata_document (string)
218915                     The xml document of the SAML provider.
218916
218917              region (string)
218918                     Region to connect to.
218919
218920              key (string)
218921                     Secret key to be used.
218922
218923              keyid (string)
218924                     Access key to be used.
218925
218926              profile (dict)
218927                     A  dict  with  region,  key  and  keyid,  or a pillar key
218928                     (string) that contains a dict with region, key and keyid.
218929
218930       salt.states.boto_iam.saml_provider_present(name,    saml_metadata_docu‐
218931       ment, region=None, key=None, keyid=None, profile=None)
218932              New in version 2016.11.0.
218933
218934
218935              Ensure the SAML provider with the specified name is present.
218936
218937              name (string)
218938                     The name of the SAML provider.
218939
218940              saml_metadata_document (string)
218941                     The xml document of the SAML provider.
218942
218943              region (string)
218944                     Region to connect to.
218945
218946              key (string)
218947                     Secret key to be used.
218948
218949              keyid (string)
218950                     Access key to be used.
218951
218952              profile (dict)
218953                     A  dict  with  region,  key  and  keyid,  or a pillar key
218954                     (string) that contains a dict with region, key and keyid.
218955
218956       salt.states.boto_iam.server_cert_absent(name,  region=None,   key=None,
218957       keyid=None, profile=None)
218958              Deletes a server certificate.
218959
218960              New in version 2015.8.0.
218961
218962
218963              name (string)
218964                     The  name  for the server certificate. Do not include the
218965                     path in this value.
218966
218967              region (string)
218968                     The name of the region to connect to.
218969
218970              key (string)
218971                     The key to be used in order to connect
218972
218973              keyid (string)
218974                     The keyid to be used in order to connect
218975
218976              profile (string)
218977                     The profile that contains a dict of region, key, keyid
218978
218979       salt.states.boto_iam.server_cert_present(name, public_key, private_key,
218980       cert_chain=None,  path=None,  region=None,  key=None,  keyid=None, pro‐
218981       file=None)
218982              Crete server certificate.
218983
218984              New in version 2015.8.0.
218985
218986
218987              name (string)
218988                     The name for the server certificate. Do not  include  the
218989                     path in this value.
218990
218991              public_key (string)
218992                     The contents of the public key certificate in PEM-encoded
218993                     format.
218994
218995              private_key (string)
218996                     The contents of the private key in PEM-encoded format.
218997
218998              cert_chain (string)
218999                     The contents of the certificate chain. This is  typically
219000                     a  concatenation  of  the PEM-encoded public key certifi‐
219001                     cates of the chain.
219002
219003              path (string)
219004                     The path for the server certificate.
219005
219006              region (string)
219007                     The name of the region to connect to.
219008
219009              key (string)
219010                     The key to be used in order to connect
219011
219012              keyid (string)
219013                     The keyid to be used in order to connect
219014
219015              profile (string)
219016                     The profile that contains a dict of region, key, keyid
219017
219018       salt.states.boto_iam.user_absent(name,                delete_keys=True,
219019       delete_mfa_devices=True,  delete_profile=True,  region=None,  key=None,
219020       keyid=None, profile=None)
219021              New in version 2015.8.0.
219022
219023
219024              Ensure the IAM user is absent. User cannot be deleted if it  has
219025              keys.
219026
219027              name (string)
219028                     The name of the new user.
219029
219030              delete_keys (bool)
219031                     Delete all keys from user.
219032
219033              delete_mfa_devices (bool)
219034                     Delete all mfa devices from user.
219035
219036                     New in version 2016.3.0.
219037
219038
219039              delete_profile (bool)
219040                     Delete profile from user.
219041
219042                     New in version 2016.3.0.
219043
219044
219045              region (string)
219046                     Region to connect to.
219047
219048              key (string)
219049                     Secret key to be used.
219050
219051              keyid (string)
219052                     Access key to be used.
219053
219054              profile (dict)
219055                     A  dict  with  region,  key  and  keyid,  or a pillar key
219056                     (string) that contains a dict with region, key and keyid.
219057
219058       salt.states.boto_iam.user_present(name,      policies=None,       poli‐
219059       cies_from_pillars=None,      managed_policies=None,      password=None,
219060       path=None, region=None, key=None, keyid=None, profile=None)
219061              New in version 2015.8.0.
219062
219063
219064              Ensure the IAM user is present
219065
219066              name (string)
219067                     The name of the new user.
219068
219069              policies (dict)
219070                     A dict of IAM group policy documents.
219071
219072              policies_from_pillars (list)
219073                     A list of pillars that contain role policy  dicts.  Poli‐
219074                     cies  in  the pillars will be merged in the order defined
219075                     in the list and key conflicts will be  handled  by  later
219076                     defined  keys  overriding earlier defined keys. The poli‐
219077                     cies defined  here  will  be  merged  with  the  policies
219078                     defined  in  the policies argument. If keys conflict, the
219079                     keys in the policies  argument  will  override  the  keys
219080                     defined in policies_from_pillars.
219081
219082              managed_policies (list)
219083                     A  list  of  managed  policy names or ARNs that should be
219084                     attached to this user.
219085
219086              password (string)
219087                     The password for the new user. Must comply  with  account
219088                     policy.
219089
219090              path (string)
219091                     The path of the user. Default is '/'.
219092
219093                     New in version 2015.8.2.
219094
219095
219096              region (string)
219097                     Region to connect to.
219098
219099              key (string)
219100                     Secret key to be used.
219101
219102              keyid (string)
219103                     Access key to be used.
219104
219105              profile (dict)
219106                     A  dict  with  region,  key  and  keyid,  or a pillar key
219107                     (string) that contains a dict with region, key and keyid.
219108
219109   salt.states.boto_iam_role
219110   Manage IAM roles
219111       New in version 2014.7.0.
219112
219113
219114       This module uses boto, which can be installed via package, or pip.
219115
219116       This module accepts explicit IAM credentials but can also  utilize  IAM
219117       roles  assigned to the instance through Instance Profiles. Dynamic cre‐
219118       dentials are then automatically obtained from AWS API  and  no  further
219119       configuration is necessary. More information available here.
219120
219121       If  IAM  roles are not used you need to specify them either in a pillar
219122       file or in the minion's config file:
219123
219124          iam.keyid: GKTADJGHEIQSXMKKRBJ08H
219125          iam.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
219126
219127       It's also possible to specify key, keyid  and  region  via  a  profile,
219128       either passed in as a dict, or as a string to pull from pillars or min‐
219129       ion config:
219130
219131          myprofile:
219132              keyid: GKTADJGHEIQSXMKKRBJ08H
219133              key: askjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
219134              region: us-east-1
219135
219136       Creating a role will automatically create an instance profile and asso‐
219137       ciate  it  with  the role. This is the default behavior of the AWS con‐
219138       sole.
219139
219140          myrole:
219141              boto_iam_role.present:
219142                  - region: us-east-1
219143                  - key: GKTADJGHEIQSXMKKRBJ08H
219144                  - keyid: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
219145                  - policies_from_pillars:
219146                      - shared_iam_bootstrap_policy
219147                  - policies:
219148                      MySQSPolicy:
219149                          Statement:
219150                            - Action:
219151                                  - sqs:*
219152                              Effect: Allow
219153                              Resource:
219154                                  - arn:aws:sqs:*:*:*
219155                              Sid: MyPolicySQS1
219156                      MyS3Policy:
219157                          Statement:
219158                            - Action:
219159                                  - s3:GetObject
219160                              Effect: Allow
219161                              Resource:
219162                                  - arn:aws:s3:*:*:mybucket/*
219163
219164          # Using a credentials profile from pillars
219165          myrole:
219166              boto_iam_role.present:
219167                  - profile: myiamprofile
219168
219169          # Passing in a credentials profile
219170          myrole:
219171              boto_iam_role.present:
219172                  - profile:
219173                      key: GKTADJGHEIQSXMKKRBJ08H
219174                      keyid: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
219175                      region: us-east-1
219176
219177       If delete_policies: False is specified, existing policies that are  not
219178       in  the  given list of policies will not be deleted. This allows manual
219179       modifications on the IAM role to be persistent. This functionality  was
219180       added in 2015.8.0.
219181
219182       NOTE:
219183          When  using  the  profile parameter and region is set outside of the
219184          profile group, region is ignored and a default region will be used.
219185
219186          If region is missing from the profile data set,  us-east-1  will  be
219187          used as the default region.
219188
219189       salt.states.boto_iam_role.absent(name,      region=None,      key=None,
219190       keyid=None, profile=None)
219191              Ensure the IAM role is deleted.
219192
219193              name   Name of the IAM role.
219194
219195              region Region to connect to.
219196
219197              key    Secret key to be used.
219198
219199              keyid  Access key to be used.
219200
219201              profile
219202                     A dict with region,  key  and  keyid,  or  a  pillar  key
219203                     (string) that contains a dict with region, key and keyid.
219204
219205       salt.states.boto_iam_role.present(name,    policy_document=None,   pol‐
219206       icy_document_from_pillars=None,   path=None,    policies=None,    poli‐
219207       cies_from_pillars=None,   managed_policies=None,   create_instance_pro‐
219208       file=True,    region=None,    key=None,    keyid=None,    profile=None,
219209       delete_policies=True)
219210              Ensure the IAM role exists.
219211
219212              name   Name of the IAM role.
219213
219214              policy_document
219215                     The policy that grants an entity permission to assume the
219216                     role.                                                (See
219217                     https://boto.readthedocs.io/en/latest/ref/iam.html#boto.iam.connection.IAMConnection.create_role)
219218
219219              policy_document_from_pillars
219220                     A pillar key that contains a role  policy  document.  The
219221                     statements  defined here will be appended with the policy
219222                     document statements defined in the policy_document  argu‐
219223                     ment.
219224
219225                     New in version 2017.7.0.
219226
219227
219228              path   The    path   to   the   role/instance   profile.    (See
219229                     https://boto.readthedocs.io/en/latest/ref/iam.html#boto.iam.connection.IAMConnection.create_role)
219230
219231              policies
219232                     A dict of IAM role policies.
219233
219234              policies_from_pillars
219235                     A  list  of pillars that contain role policy dicts. Poli‐
219236                     cies in the pillars will be merged in the  order  defined
219237                     in  the  list  and key conflicts will be handled by later
219238                     defined keys overriding earlier defined keys.  The  poli‐
219239                     cies  defined  here  will  be  merged  with  the policies
219240                     defined in the policies argument. If keys  conflict,  the
219241                     keys  in  the  policies  argument  will override the keys
219242                     defined in policies_from_pillars.
219243
219244              managed_policies
219245                     A list of  (AWS  or  Customer)  managed  policies  to  be
219246                     attached to the role.
219247
219248              create_instance_profile
219249                     A boolean of whether or not to create an instance profile
219250                     and associate it with this role.
219251
219252              region Region to connect to.
219253
219254              key    Secret key to be used.
219255
219256              keyid  Access key to be used.
219257
219258              profile
219259                     A dict with region,  key  and  keyid,  or  a  pillar  key
219260                     (string) that contains a dict with region, key and keyid.
219261
219262              delete_policies
219263                     Deletes  existing policies that are not in the given list
219264                     of policies. Default value is True. If  False  is  speci‐
219265                     fied, existing policies will not be deleted allowing man‐
219266                     ual modifications on the IAM role to be persistent.
219267
219268                     New in version 2015.8.0.
219269
219270
219271   salt.states.boto_iot module
219272   Manage IoT Objects
219273       New in version 2016.3.0.
219274
219275
219276       Create and destroy IoT objects. Be aware that this interacts with  Ama‐
219277       zon's services, and so may incur charges.
219278
219279       depends
219280
219281              · boto
219282
219283              · boto3
219284
219285       The dependencies listed above can be installed via package or pip.
219286
219287       This  module  accepts explicit vpc credentials but can also utilize IAM
219288       roles assigned to the instance through Instance Profiles. Dynamic  cre‐
219289       dentials  are  then  automatically obtained from AWS API and no further
219290       configuration is necessary. More information available here.
219291
219292       If IAM roles are not used you need to specify them either in  a  pillar
219293       file or in the minion's config file:
219294
219295          vpc.keyid: GKTADJGHEIQSXMKKRBJ08H
219296          vpc.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
219297
219298       It's  also  possible  to  specify  key, keyid and region via a profile,
219299       either passed in as a dict, or as a string to pull from pillars or min‐
219300       ion config:
219301
219302          myprofile:
219303              keyid: GKTADJGHEIQSXMKKRBJ08H
219304              key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
219305                  region: us-east-1
219306
219307          Ensure policy exists:
219308              boto_iot.policy_present:
219309                  - policyName: mypolicy
219310                  - policyDocument:
219311                      Version: "2012-10-17"
219312                      Statement:
219313                        Action:
219314                          - iot:Publish
219315                        Resource:
219316                          - "*"
219317                        Effect: "Allow"
219318                  - region: us-east-1
219319                  - keyid: GKTADJGHEIQSXMKKRBJ08H
219320                  - key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
219321
219322          Ensure topic rule exists:
219323              boto_iot.topic_rule_present:
219324                  - ruleName: myrule
219325                  - sql: "SELECT * FROM 'iot/test'"
219326                  - description: 'test rule'
219327                  - ruleDisabled: false
219328                  - actions:
219329                    - lambda:
219330                        functionArn: "arn:aws:us-east-1:1234:function/functionname"
219331                  - region: us-east-1
219332                  - keyid: GKTADJGHEIQSXMKKRBJ08H
219333                  - key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
219334
219335       salt.states.boto_iot.policy_absent(name,    policyName,    region=None,
219336       key=None, keyid=None, profile=None)
219337              Ensure policy with passed properties is absent.
219338
219339              name   The name of the state definition.
219340
219341              policyName
219342                     Name of the policy.
219343
219344              region Region to connect to.
219345
219346              key    Secret key to be used.
219347
219348              keyid  Access key to be used.
219349
219350              profile
219351                     A dict with region,  key  and  keyid,  or  a  pillar  key
219352                     (string) that contains a dict with region, key and keyid.
219353
219354       salt.states.boto_iot.policy_attached(name,    policyName,    principal,
219355       region=None, key=None, keyid=None, profile=None)
219356              Ensure policy is attached to the given principal.
219357
219358              name   The name of the state definition
219359
219360              policyName
219361                     Name of the policy.
219362
219363              principal
219364                     The principal which can be a certificate ARN or a Cognito
219365                     ID.
219366
219367              region Region to connect to.
219368
219369              key    Secret key to be used.
219370
219371              keyid  Access key to be used.
219372
219373              profile
219374                     A  dict  with  region,  key  and  keyid,  or a pillar key
219375                     (string) that contains a dict with region, key and keyid.
219376
219377       salt.states.boto_iot.policy_detached(name,    policyName,    principal,
219378       region=None, key=None, keyid=None, profile=None)
219379              Ensure policy is attached to the given principal.
219380
219381              name   The name of the state definition.
219382
219383              policyName
219384                     Name of the policy.
219385
219386              principal
219387                     The principal which can be a certificate ARN or a Cognito
219388                     ID.
219389
219390              region Region to connect to.
219391
219392              key    Secret key to be used.
219393
219394              keyid  Access key to be used.
219395
219396              profile
219397                     A dict with region,  key  and  keyid,  or  a  pillar  key
219398                     (string) that contains a dict with region, key and keyid.
219399
219400       salt.states.boto_iot.policy_present(name,  policyName,  policyDocument,
219401       region=None, key=None, keyid=None, profile=None)
219402              Ensure policy exists.
219403
219404              name   The name of the state definition
219405
219406              policyName
219407                     Name of the policy.
219408
219409              policyDocument
219410                     The JSON document that describes the policy.  The  length
219411                     of the policyDocument must be a minimum length of 1, with
219412                     a maximum length of 2048, excluding whitespace.
219413
219414              region Region to connect to.
219415
219416              key    Secret key to be used.
219417
219418              keyid  Access key to be used.
219419
219420              profile
219421                     A dict with region,  key  and  keyid,  or  a  pillar  key
219422                     (string) that contains a dict with region, key and keyid.
219423
219424       salt.states.boto_iot.thing_type_absent(name,             thingTypeName,
219425       region=None, key=None, keyid=None, profile=None)
219426              Ensure thing type with passed properties is absent.
219427
219428              New in version 2016.11.0.
219429
219430
219431              name   The name of the state definition.
219432
219433              thingTypeName
219434                     Name of the thing type.
219435
219436              region Region to connect to.
219437
219438              key    Secret key to be used.
219439
219440              keyid  Access key to be used.
219441
219442              profile
219443                     A dict with region,  key  and  keyid,  or  a  pillar  key
219444                     (string) that contains a dict with region, key and keyid.
219445
219446       salt.states.boto_iot.thing_type_present(name, thingTypeName, thingType‐
219447       Description,    searchableAttributesList,    region=None,     key=None,
219448       keyid=None, profile=None)
219449              Ensure thing type exists.
219450
219451              New in version 2016.11.0.
219452
219453
219454              name   The name of the state definition
219455
219456              thingTypeName
219457                     Name of the thing type
219458
219459              thingTypeDescription
219460                     Description of the thing type
219461
219462              searchableAttributesList
219463                     List  of  string  attributes  that are searchable for the
219464                     thing type
219465
219466              region Region to connect to.
219467
219468              key    Secret key to be used.
219469
219470              keyid  Access key to be used
219471
219472              profile
219473                     A dict with region, key, keyid, or a pillar key  (string)
219474                     that contains a dict with region, key, and keyid
219475
219476       salt.states.boto_iot.topic_rule_absent(name,   ruleName,   region=None,
219477       key=None, keyid=None, profile=None)
219478              Ensure topic rule with passed properties is absent.
219479
219480              name   The name of the state definition.
219481
219482              ruleName
219483                     Name of the policy.
219484
219485              region Region to connect to.
219486
219487              key    Secret key to be used.
219488
219489              keyid  Access key to be used.
219490
219491              profile
219492                     A dict with region,  key  and  keyid,  or  a  pillar  key
219493                     (string) that contains a dict with region, key and keyid.
219494
219495       salt.states.boto_iot.topic_rule_present(name,  ruleName,  sql, actions,
219496       description=u'', ruleDisabled=False, region=None, key=None, keyid=None,
219497       profile=None)
219498              Ensure topic rule exists.
219499
219500              name   The name of the state definition
219501
219502              ruleName
219503                     Name of the rule.
219504
219505              sql    The SQL statement used to query the topic.
219506
219507              actions
219508                     The actions associated with the rule.
219509
219510              description
219511                     The description of the rule.
219512
219513              ruleDisable
219514                     Specifies whether the rule is disabled.
219515
219516              region Region to connect to.
219517
219518              key    Secret key to be used.
219519
219520              keyid  Access key to be used.
219521
219522              profile
219523                     A  dict  with  region,  key  and  keyid,  or a pillar key
219524                     (string) that contains a dict with region, key and keyid.
219525
219526   salt.states.boto_kinesis module
219527   Manage Kinesis Streams
219528       New in version 2017.7.0.
219529
219530
219531       Create and destroy Kinesis streams. Be aware that this  interacts  with
219532       Amazon's services, and so may incur charges.
219533
219534       This module uses boto3, which can be installed via package, or pip.
219535
219536       This  module  accepts explicit Kinesis credentials but can also utilize
219537       IAM roles assigned to the instance through Instance  Profiles.  Dynamic
219538       credentials are then automatically obtained from AWS API and no further
219539       configuration is necessary. More information available here.
219540
219541       If IAM roles are not used you need to specify them either in  a  pillar
219542       file or in the minion's config file:
219543
219544          keyid: GKTADJGHEIQSXMKKRBJ08H
219545          key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
219546          region: us-east-1
219547
219548       It's  also  possible  to  specify  key, keyid and region via a profile,
219549       either passed in as a dict, or as a string to pull from pillars or min‐
219550       ion config:
219551
219552          myprofile:
219553              keyid: GKTADJGHEIQSXMKKRBJ08H
219554              key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
219555                  region: us-east-1
219556
219557          Ensure Kinesis stream does not exist:
219558            boto_kinesis.absent:
219559              - name: new_stream
219560              - keyid: GKTADJGHEIQSXMKKRBJ08H
219561              - key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
219562              - region: us-east-1
219563
219564          Ensure Kinesis stream exists:
219565            boto_kinesis.present:
219566              - name: new_stream
219567              - retention_hours: 168
219568              - enhanced_monitoring: ['ALL']
219569              - num_shards: 2
219570              - keyid: GKTADJGHEIQSXMKKRBJ08H
219571              - key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
219572              - region: us-east-1
219573
219574       salt.states.boto_kinesis.absent(name,       region=None,      key=None,
219575       keyid=None, profile=None)
219576              Delete the kinesis stream, if it exists.
219577
219578              name (string)
219579                     Stream name
219580
219581              region (string)
219582                     Region to connect to.
219583
219584              key (string)
219585                     Secret key to be used.
219586
219587              keyid (string)
219588                     Access key to be used.
219589
219590              profile (dict)
219591                     A dict with region,  key  and  keyid,  or  a  pillar  key
219592                     (string) that contains a dict with region, key and keyid.
219593
219594       salt.states.boto_kinesis.present(name,            retention_hours=None,
219595       enhanced_monitoring=None,       num_shards=None,       do_reshard=True,
219596       region=None, key=None, keyid=None, profile=None)
219597              Ensure the kinesis stream is properly configured and scaled.
219598
219599              name (string)
219600                     Stream name
219601
219602              retention_hours (int)
219603                     Retain  data  for this many hours.  AWS allows minimum 24
219604                     hours, maximum 168 hours.
219605
219606              enhanced_monitoring (list of string)
219607                     Turn on enhanced monitoring for the specified shard-level
219608                     metrics.   Pass in ['ALL'] or True for all metrics, [] or
219609                     False for no metrics.   Turn  on  individual  metrics  by
219610                     passing  in  a  list:  ['IncomingBytes', 'OutgoingBytes']
219611                     Note that if only some metrics are supplied, the  remain‐
219612                     ing metrics will be turned off.
219613
219614              num_shards (int)
219615                     Reshard  stream  (if  necessary) to this number of shards
219616                     !!!!! Resharding is expensive! Each split  or  merge  can
219617                     take  up  to  30 seconds, and the reshard method balances
219618                     the partition space evenly.  Resharding from N to N+1 can
219619                     require  2N  operations.   Resharding is much faster with
219620                     powers of 2 (e.g. 2^N to 2^N+1) !!!!!
219621
219622              do_reshard (boolean)
219623                     If set to False,  this  script  will  NEVER  reshard  the
219624                     stream, regardless of other input. Useful for testing.
219625
219626              region (string)
219627                     Region to connect to.
219628
219629              key (string)
219630                     Secret key to be used.
219631
219632              keyid (string)
219633                     Access key to be used.
219634
219635              profile (dict)
219636                     A  dict  with  region,  key  and  keyid,  or a pillar key
219637                     (string) that contains a dict with region, key and keyid.
219638
219639   salt.states.boto_kms
219640       Manage KMS keys, key policies and grants.
219641
219642       New in version 2015.8.0.
219643
219644
219645       Be aware that this interacts with Amazon's services, and so  may  incur
219646       charges.
219647
219648       This module uses boto, which can be installed via package, or pip.
219649
219650       This  module  accepts explicit kms credentials but can also utilize IAM
219651       roles assigned to the instance through Instance Profiles. Dynamic  cre‐
219652       dentials  are  then  automatically obtained from AWS API and no further
219653       configuration is necessary. More information available here.
219654
219655       If IAM roles are not used you need to specify them either in  a  pillar
219656       file or in the minion's config file:
219657
219658          elb.keyid: GKTADJGHEIQSXMKKRBJ08H
219659          elb.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
219660
219661       It's  also  possible  to  specify  key, keyid and region via a profile,
219662       either passed in as a dict, or as a string to pull from pillars or min‐
219663       ion config:
219664
219665          myprofile:
219666              keyid: GKTADJGHEIQSXMKKRBJ08H
219667              key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
219668              region: us-east-1
219669
219670          Ensure mykey key exists:
219671            boto_kms.key_present:
219672              - name: mykey
219673              - region: us-east-1
219674
219675          # Using a profile from pillars
219676          Ensure mykey key exists:
219677            boto_kms.key_present:
219678              - name: mykey
219679              - region: us-east-1
219680              - profile: myprofile
219681
219682          # Passing in a profile
219683          Ensure mykey key exists:
219684            boto_key.key_present:
219685              - name: mykey
219686              - region: us-east-1
219687              - profile:
219688                  keyid: GKTADJGHEIQSXMKKRBJ08H
219689                  key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
219690
219691       salt.states.boto_kms.key_present(name,     policy,    description=None,
219692       key_usage=None, grants=None,  manage_grants=False,  key_rotation=False,
219693       enabled=True, region=None, key=None, keyid=None, profile=None)
219694              Ensure  the KMS key exists. KMS keys can not be deleted, so this
219695              function must be used to ensure the key is enabled or disabled.
219696
219697              name   Name of the key.
219698
219699              policy Key usage policy.
219700
219701              description
219702                     Description of the key.
219703
219704              key_usage
219705                     Specifies the intended use of the key. Can only be set on
219706                     creation,  defaults to ENCRYPT_DECRYPT, which is also the
219707                     only supported option.
219708
219709              grants A list of grants to  apply  to  the  key.  Not  currently
219710                     implemented.
219711
219712              manage_grants
219713                     Whether  or not to manage grants. False by default, which
219714                     will not manage any grants.
219715
219716              key_rotation
219717                     Whether or not key rotation is enabled for the key. False
219718                     by default.
219719
219720              enabled
219721                     Whether or not the key is enabled. True by default.
219722
219723              region Region to connect to.
219724
219725              key    Secret key to be used.
219726
219727              keyid  Access key to be used.
219728
219729              profile
219730                     A  dict  with  region,  key  and  keyid,  or a pillar key
219731                     (string) that contains a dict with region, key and keyid.
219732
219733   salt.states.boto_lambda module
219734   Manage Lambda Functions
219735       New in version 2016.3.0.
219736
219737
219738       Create and destroy Lambda Functions. Be aware that this interacts  with
219739       Amazon's services, and so may incur charges.
219740
219741       depends
219742
219743              · boto
219744
219745              · boto3
219746
219747       The dependencies listed above can be installed via package or pip.
219748
219749       This  module  accepts explicit vpc credentials but can also utilize IAM
219750       roles assigned to the instance through Instance Profiles. Dynamic  cre‐
219751       dentials  are  then  automatically obtained from AWS API and no further
219752       configuration is necessary. More information available here.
219753
219754       If IAM roles are not used you need to specify them either in  a  pillar
219755       file or in the minion's config file:
219756
219757          vpc.keyid: GKTADJGHEIQSXMKKRBJ08H
219758          vpc.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
219759
219760       It's  also  possible  to  specify  key, keyid and region via a profile,
219761       either passed in as a dict, or as a string to pull from pillars or min‐
219762       ion config:
219763
219764          myprofile:
219765              keyid: GKTADJGHEIQSXMKKRBJ08H
219766              key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
219767                  region: us-east-1
219768
219769          Ensure function exists:
219770              boto_lambda.function_present:
219771                  - FunctionName: myfunction
219772                  - Runtime: python2.7
219773                  - Role: iam_role_name
219774                  - Handler: entry_function
219775                  - ZipFile: code.zip
219776                  - S3Bucket: bucketname
219777                  - S3Key: keyname
219778                  - S3ObjectVersion: version
219779                  - Description: "My Lambda Function"
219780                  - Timeout: 3
219781                  - MemorySize: 128
219782                  - region: us-east-1
219783                  - keyid: GKTADJGHEIQSXMKKRBJ08H
219784                  - key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
219785
219786       salt.states.boto_lambda.alias_absent(name,      FunctionName,     Name,
219787       region=None, key=None, keyid=None, profile=None)
219788              Ensure alias with passed properties is absent.
219789
219790              name   The name of the state definition.
219791
219792              FunctionName
219793                     Name of the function.
219794
219795              Name   Name of the alias.
219796
219797              region Region to connect to.
219798
219799              key    Secret key to be used.
219800
219801              keyid  Access key to be used.
219802
219803              profile
219804                     A dict with region,  key  and  keyid,  or  a  pillar  key
219805                     (string) that contains a dict with region, key and keyid.
219806
219807       salt.states.boto_lambda.alias_present(name,  FunctionName,  Name, Func‐
219808       tionVersion, Description=u'', region=None, key=None,  keyid=None,  pro‐
219809       file=None)
219810              Ensure alias exists.
219811
219812              name   The name of the state definition.
219813
219814              FunctionName
219815                     Name  of  the  function  for  which you want to create an
219816                     alias.
219817
219818              Name   The name of the alias to be created.
219819
219820              FunctionVersion
219821                     Function version for which you are creating the alias.
219822
219823              Description
219824                     A short, user-defined function description.  Lambda  does
219825                     not  use  this  value. Assign a meaningful description as
219826                     you see fit.
219827
219828              region Region to connect to.
219829
219830              key    Secret key to be used.
219831
219832              keyid  Access key to be used.
219833
219834              profile
219835                     A dict with region,  key  and  keyid,  or  a  pillar  key
219836                     (string) that contains a dict with region, key and keyid.
219837
219838       salt.states.boto_lambda.event_source_mapping_absent(name,
219839       EventSourceArn, FunctionName, region=None, key=None,  keyid=None,  pro‐
219840       file=None)
219841              Ensure event source mapping with passed properties is absent.
219842
219843              name   The name of the state definition.
219844
219845              EventSourceArn
219846                     ARN of the event source.
219847
219848              FunctionName
219849                     Name of the lambda function.
219850
219851              region Region to connect to.
219852
219853              key    Secret key to be used.
219854
219855              keyid  Access key to be used.
219856
219857              profile
219858                     A  dict  with  region,  key  and  keyid,  or a pillar key
219859                     (string) that contains a dict with region, key and keyid.
219860
219861       salt.states.boto_lambda.event_source_mapping_present(name,
219862       EventSourceArn,  FunctionName,  StartingPosition,  Enabled=True, Batch‐
219863       Size=100, region=None, key=None, keyid=None, profile=None)
219864              Ensure event source mapping exists.
219865
219866              name   The name of the state definition.
219867
219868              EventSourceArn
219869                     The Amazon Resource Name (ARN) of the Amazon  Kinesis  or
219870                     the Amazon DynamoDB stream that is the event source.
219871
219872              FunctionName
219873                     The  Lambda function to invoke when AWS Lambda detects an
219874                     event on the stream.
219875
219876                     You can specify an unqualified function name  (for  exam‐
219877                     ple, "Thumbnail") or you can specify Amazon Resource Name
219878                     (ARN)     of     the     function      (for      example,
219879                     "arn:aws:lambda:us-west-2:account-id:function:Thumb‐
219880                     Nail"). AWS Lambda also allows you to  specify  only  the
219881                     account  ID  qualifier  (for  example, "account-id:Thumb‐
219882                     nail"). Note that the length constraint applies  only  to
219883                     the  ARN.  If  you  specify only the function name, it is
219884                     limited to 64 character in length.
219885
219886              StartingPosition
219887                     The position in the stream where AWS Lambda should  start
219888                     reading.  (TRIM_HORIZON | LATEST)
219889
219890              Enabled
219891                     Indicates  whether  AWS  Lambda  should begin polling the
219892                     event source. By default, Enabled is true.
219893
219894              BatchSize
219895                     The largest  number  of  records  that  AWS  Lambda  will
219896                     retrieve  from  your event source at the time of invoking
219897                     your function. Your function receives an event  with  all
219898                     the retrieved records. The default is 100 records.
219899
219900              region Region to connect to.
219901
219902              key    Secret key to be used.
219903
219904              keyid  Access key to be used.
219905
219906              profile
219907                     A  dict  with  region,  key  and  keyid,  or a pillar key
219908                     (string) that contains a dict with region, key and keyid.
219909
219910       salt.states.boto_lambda.function_absent(name,             FunctionName,
219911       region=None, key=None, keyid=None, profile=None)
219912              Ensure function with passed properties is absent.
219913
219914              name   The name of the state definition.
219915
219916              FunctionName
219917                     Name of the function.
219918
219919              region Region to connect to.
219920
219921              key    Secret key to be used.
219922
219923              keyid  Access key to be used.
219924
219925              profile
219926                     A  dict  with  region,  key  and  keyid,  or a pillar key
219927                     (string) that contains a dict with region, key and keyid.
219928
219929       salt.states.boto_lambda.function_present(name,  FunctionName,  Runtime,
219930       Role,  Handler,  ZipFile=None,  S3Bucket=None, S3Key=None, S3ObjectVer‐
219931       sion=None,   Description=u'',   Timeout=3,   MemorySize=128,    Permis‐
219932       sions=None,  RoleRetries=5,  region=None,  key=None,  keyid=None,  pro‐
219933       file=None, VpcConfig=None, Environment=None)
219934              Ensure function exists.
219935
219936              name   The name of the state definition
219937
219938              FunctionName
219939                     Name of the Function.
219940
219941              Runtime
219942                     The  Runtime  environment  for  the  function.   One   of
219943                     'nodejs', 'java8', or 'python2.7'
219944
219945              Role   The name or ARN of the IAM role that the function assumes
219946                     when it executes your function to access  any  other  AWS
219947                     resources.
219948
219949              Handler
219950                     The  function within your code that Lambda calls to begin
219951                     execution. For Node.js  it  is  the  module-name.*export*
219952                     value  in  your  function.  For  Java,  it  can  be pack‐
219953                     age.classname::handler or package.class-name.
219954
219955              ZipFile
219956                     A path to a .zip file containing your deployment package.
219957                     If  this  is  specified,  S3Bucket  and S3Key must not be
219958                     specified.
219959
219960              S3Bucket
219961                     Amazon S3 bucket name where the .zip file containing your
219962                     package  is  stored.  If this is specified, S3Key must be
219963                     specified and ZipFile must NOT be specified.
219964
219965              S3Key  The Amazon S3 object (the deployment  package)  key  name
219966                     you  want  to upload. If this is specified, S3Key must be
219967                     specified and ZipFile must NOT be specified.
219968
219969              S3ObjectVersion
219970                     The version of S3 object to use. Optional, should only be
219971                     specified if S3Bucket and S3Key are specified.
219972
219973              Description
219974                     A  short,  user-defined function description. Lambda does
219975                     not use this value. Assign a  meaningful  description  as
219976                     you see fit.
219977
219978              Timeout
219979                     The function execution time at which Lambda should termi‐
219980                     nate this function. Because the execution time  has  cost
219981                     implications,  we  recommend  you set this value based on
219982                     your expected execution time.  The default is 3 seconds.
219983
219984              MemorySize
219985                     The amount of memory, in  MB,  your  function  is  given.
219986                     Lambda  uses  this memory size to infer the amount of CPU
219987                     and memory allocated  to  your  function.  Your  function
219988                     use-case determines your CPU and memory requirements. For
219989                     example, a database operation might need less memory com‐
219990                     pared  to an image processing function. The default value
219991                     is 128 MB. The value must be a multiple of 64 MB.
219992
219993              VpcConfig
219994                     If your Lambda function accesses resources in a VPC,  you
219995                     must provide this parameter identifying the list of secu‐
219996                     rity group IDs/Names and subnet IDs/Name.  These must all
219997                     belong to the same VPC.  This is a dict of the form:
219998
219999                        VpcConfig:
220000                          SecurityGroupNames:
220001                            - mysecgroup1
220002                            - mysecgroup2
220003                          SecurityGroupIds:
220004                            - sg-abcdef1234
220005                          SubnetNames:
220006                            - mysubnet1
220007                          SubnetIds:
220008                            - subnet-1234abcd
220009                            - subnet-abcd1234
220010
220011                     If  VpcConfig  is provided at all, you MUST pass at least
220012                     one security group and one subnet.
220013
220014              Permissions
220015                     A list of permission definitions to be added to the func‐
220016                     tion's policy
220017
220018              RoleRetries
220019                     IAM  Roles may take some time to propagate to all regions
220020                     once created.  During that  time  function  creation  may
220021                     fail;  this state will atuomatically retry this number of
220022                     times. The default is 5.
220023
220024              Environment
220025                     The parent object that contains your  environment's  con‐
220026                     figuration settings.  This is a dictionary of the form:
220027
220028                        {
220029                            'Variables': {
220030                                'VariableName': 'VariableValue'
220031                            }
220032                        }
220033
220034                     New in version 2017.7.0.
220035
220036
220037              region Region to connect to.
220038
220039              key    Secret key to be used.
220040
220041              keyid  Access key to be used.
220042
220043              profile
220044                     A  dict  with  region,  key  and  keyid,  or a pillar key
220045                     (string) that contains a dict with region, key and keyid.
220046
220047   salt.states.boto_lc
220048       Manage Launch Configurations
220049
220050       New in version 2014.7.0.
220051
220052
220053       Create and destroy Launch Configurations. Be aware that this  interacts
220054       with Amazon's services, and so may incur charges.
220055
220056       A  limitation of this module is that you can not modify launch configu‐
220057       rations once they have been created. If a launch configuration with the
220058       specified  name exists, this module will always report success, even if
220059       the specified configuration doesn't match. This is due to a  limitation
220060       in Amazon's launch configuration API, as it only allows launch configu‐
220061       rations to be created and deleted.
220062
220063       Also note that a launch configuration that's in  use  by  an  autoscale
220064       group  can  not be deleted until the autoscale group is no longer using
220065       it. This may affect the way in which you want to order your states.
220066
220067       This module uses boto, which can be installed via package, or pip.
220068
220069       This module accepts explicit autoscale credentials but can also utilize
220070       IAM  roles  assigned to the instance through Instance Profiles. Dynamic
220071       credentials are then automatically obtained from AWS API and no further
220072       configuration is necessary. More information available here.
220073
220074       If  IAM  roles are not used you need to specify them either in a pillar
220075       file or in the minion's config file:
220076
220077          asg.keyid: GKTADJGHEIQSXMKKRBJ08H
220078          asg.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
220079
220080       It's also possible to specify key, keyid  and  region  via  a  profile,
220081       either passed in as a dict, or as a string to pull from pillars or min‐
220082       ion config:
220083
220084          myprofile:
220085              keyid: GKTADJGHEIQSXMKKRBJ08H
220086              key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
220087              region: us-east-1
220088
220089       Credential information is shared with autoscale groups as  launch  con‐
220090       figurations  and  autoscale  groups  are  completely  dependent on each
220091       other.
220092
220093          Ensure mylc exists:
220094            boto_lc.present:
220095              - name: mylc
220096              - image_id: ami-0b9c9f62
220097              - key_name: mykey
220098              - security_groups:
220099                  - mygroup
220100              - instance_type: m1.small
220101              - instance_monitoring: true
220102              - block_device_mappings:
220103                  - '/dev/sda1':
220104                      size: 20
220105                      volume_type: 'io1'
220106                      iops: 220
220107                      delete_on_termination: true
220108              - cloud_init:
220109                  boothooks:
220110                    'disable-master.sh': |
220111                      #!/bin/bash
220112                      echo "manual" > /etc/init/salt-master.override
220113                  scripts:
220114                    'run_salt.sh': |
220115                      #!/bin/bash
220116
220117                      add-apt-repository -y ppa:saltstack/salt
220118                      apt-get update
220119                      apt-get install -y salt-minion
220120                      salt-call state.highstate
220121              - region: us-east-1
220122              - keyid: GKTADJGHEIQSXMKKRBJ08H
220123              - key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
220124
220125          # Using a profile from pillars.
220126          Ensure mylc exists:
220127            boto_lc.present:
220128              - name: mylc
220129              - image_id: ami-0b9c9f62
220130              - profile: myprofile
220131
220132          # Passing in a profile.
220133          Ensure mylc exists:
220134            boto_lc.present:
220135              - name: mylc
220136              - image_id: ami-0b9c9f62
220137              - profile:
220138                  keyid: GKTADJGHEIQSXMKKRBJ08H
220139                  key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
220140                  region: us-east-1
220141
220142       salt.states.boto_lc.absent(name,  region=None,  key=None,   keyid=None,
220143       profile=None)
220144              Ensure the named launch configuration is deleted.
220145
220146              name   Name of the launch configuration.
220147
220148              region The region to connect to.
220149
220150              key    Secret key to be used.
220151
220152              keyid  Access key to be used.
220153
220154              profile
220155                     A  dict  with  region,  key  and  keyid,  or a pillar key
220156                     (string) that contains a dict with region, key and keyid.
220157
220158       salt.states.boto_lc.present(name, image_id, key_name=None, vpc_id=None,
220159       vpc_name=None,  security_groups=None,  user_data=None, cloud_init=None,
220160       instance_type=u'm1.small',       kernel_id=None,       ramdisk_id=None,
220161       block_device_mappings=None,  delete_on_termination=None, instance_moni‐
220162       toring=False,  spot_price=None,  instance_profile_name=None,  ebs_opti‐
220163       mized=False,  associate_public_ip_address=None,  region=None, key=None,
220164       keyid=None, profile=None)
220165              Ensure the launch configuration exists.
220166
220167              name   Name of the launch configuration.
220168
220169              image_id
220170                     AMI to use for instances. AMI must exist or  creation  of
220171                     the launch configuration will fail.
220172
220173              key_name
220174                     Name  of  the EC2 key pair to use for instances. Key must
220175                     exist or creation of the launch configuration will fail.
220176
220177              vpc_id The VPC id where the security groups  are  defined.  Only
220178                     necessary  when  using  named  security groups that exist
220179                     outside of the  default  VPC.   Mutually  exclusive  with
220180                     vpc_name.
220181
220182              vpc_name
220183                     Name  of  the  VPC where the security groups are defined.
220184                     Only Necessary when  using  named  security  groups  that
220185                     exist  outside  of  the  default VPC.  Mutually exclusive
220186                     with vpc_id.
220187
220188              security_groups
220189                     List of Names or security  group  id’s  of  the  security
220190                     groups  with  which to associate the EC2 instances or VPC
220191                     instances, respectively. Security groups must  exist,  or
220192                     creation of the launch configuration will fail.
220193
220194              user_data
220195                     The user data available to launched EC2 instances.
220196
220197              cloud_init
220198                     A  dict  of cloud_init configuration. Currently supported
220199                     keys:  boothooks,  scripts  and  cloud-config.   Mutually
220200                     exclusive with user_data.
220201
220202              instance_type
220203                     The instance type. ex: m1.small.
220204
220205              kernel_id
220206                     The kernel id for the instance.
220207
220208              ramdisk_id
220209                     The RAM disk ID for the instance.
220210
220211              block_device_mappings
220212                     A dict of block device mappings that contains a dict with
220213                     volume_type,    delete_on_termination,    iops,     size,
220214                     encrypted, snapshot_id.
220215
220216                     volume_type
220217                            Indicates  what  volume  type to use. Valid values
220218                            are standard, io1, gp2.  Default is standard.
220219
220220                     delete_on_termination
220221                            Whether the volume should be explicitly marked for
220222                            deletion  when  its instance is terminated (True),
220223                            or left around (False).  If not provided, or  None
220224                            is explicitly passed, the default AWS behaviour is
220225                            used, which is True for ROOT volumes of instances,
220226                            and False for all others.
220227
220228                     iops   For  Provisioned IOPS (SSD) volumes only. The num‐
220229                            ber of I/O operations per second (IOPS) to  provi‐
220230                            sion for the volume.
220231
220232                     size   Desired volume size (in GiB).
220233
220234                     encrypted
220235                            Indicates  whether the volume should be encrypted.
220236                            Encrypted  EBS  volumes  must   be   attached   to
220237                            instances that support Amazon EBS encryption. Vol‐
220238                            umes that are created from encrypted snapshots are
220239                            automatically encrypted. There is no way to create
220240                            an encrypted volume from an  unencrypted  snapshot
220241                            or  an  unencrypted volume from an encrypted snap‐
220242                            shot.
220243
220244              instance_monitoring
220245                     Whether instances in group  are  launched  with  detailed
220246                     monitoring.
220247
220248              spot_price
220249                     The  spot  price you are bidding. Only applies if you are
220250                     building an autoscaling group with spot instances.
220251
220252              instance_profile_name
220253                     The name  or  the  Amazon  Resource  Name  (ARN)  of  the
220254                     instance  profile  associated  with  the IAM role for the
220255                     instance. Instance profile must exist or the creation  of
220256                     the launch configuration will fail.
220257
220258              ebs_optimized
220259                     Specifies  whether  the instance is optimized for EBS I/O
220260                     (true) or not (false).
220261
220262              associate_public_ip_address
220263                     Used for Auto Scaling groups that launch  instances  into
220264                     an  Amazon  Virtual  Private  Cloud. Specifies whether to
220265                     assign a public IP address to each instance launched in a
220266                     Amazon VPC.
220267
220268              region The region to connect to.
220269
220270              key    Secret key to be used.
220271
220272              keyid  Access key to be used.
220273
220274              profile
220275                     A  dict  with  region,  key  and  keyid,  or a pillar key
220276                     (string) that contains a dict with region, key and keyid.
220277
220278   salt.states.boto_rds
220279   Manage RDSs
220280       New in version 2015.8.0.
220281
220282
220283       Create and destroy RDS instances. Be aware  that  this  interacts  with
220284       Amazon's services, and so may incur charges.
220285
220286       This module uses boto, which can be installed via package, or pip.
220287
220288       This  module  accepts explicit rds credentials but can also utilize IAM
220289       roles assigned to the instance through Instance Profiles. Dynamic  cre‐
220290       dentials  are  then  automatically obtained from AWS API and no further
220291       configuration is necessary. More information available here.
220292
220293       If IAM roles are not used you need to specify them either in  a  pillar
220294       file or in the minion's config file:
220295
220296          rds.keyid: GKTADJGHEIQSXMKKRBJ08H
220297          rds.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
220298
220299       It's  also  possible  to  specify  key, keyid and region via a profile,
220300       either passed in as a dict, or as a string to pull from pillars or min‐
220301       ion config:
220302
220303          myprofile:
220304              keyid: GKTADJGHEIQSXMKKRBJ08H
220305              key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
220306                  region: us-east-1
220307
220308          Ensure myrds RDS exists:
220309            boto_rds.present:
220310              - name: myrds
220311              - allocated_storage: 5
220312              - storage_type: standard
220313              - db_instance_class: db.t2.micro
220314              - engine: MySQL
220315              - master_username: myuser
220316              - master_user_password: mypass
220317              - region: us-east-1
220318              - keyid: GKTADJGHEIQSXMKKRBJ08H
220319              - key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
220320              - tags:
220321                  key: value
220322
220323          Ensure parameter group exists:
220324              create-parameter-group:
220325                boto_rds.parameter_present:
220326                  - name: myparametergroup
220327                  - db_parameter_group_family: mysql5.6
220328                  - description: "parameter group family"
220329                  - parameters:
220330                    - binlog_cache_size: 32768
220331                    - binlog_checksum: CRC32
220332                  - region: eu-west-1
220333
220334       depends
220335              boto3
220336
220337       salt.states.boto_rds.absent(name,             skip_final_snapshot=None,
220338       final_db_snapshot_identifier=None,  tags=None,  wait_for_deletion=True,
220339       timeout=180, region=None, key=None, keyid=None, profile=None)
220340              Ensure RDS instance is absent.
220341
220342              name   Name of the RDS instance.
220343
220344              skip_final_snapshot
220345                     Whether  a  final  db  snapshot  is  created  before  the
220346                     instance is deleted.  If True, no  snapshot  is  created.
220347                     If  False,  a  snapshot  is  created  before deleting the
220348                     instance.
220349
220350              final_db_snapshot_identifier
220351                     If a final snapshot is requested, this is the  identifier
220352                     used for that snapshot.
220353
220354              tags   A dict of tags.
220355
220356              wait_for_deletion (bool)
220357                     Wait for the RDS instance to be deleted completely before
220358                     finishing the state.
220359
220360              timeout (in seconds)
220361                     The amount of time that can pass before raising an Excep‐
220362                     tion.
220363
220364              region Region to connect to.
220365
220366              key    Secret key to be used.
220367
220368              keyid  Access key to be used.
220369
220370              profile
220371                     A  dict  with  region,  key  and  keyid,  or a pillar key
220372                     (string) that contains a dict with region, key and keyid.
220373
220374       salt.states.boto_rds.parameter_present(name, db_parameter_group_family,
220375       description,      parameters=None,      apply_method=u'pending-reboot',
220376       tags=None, region=None, key=None, keyid=None, profile=None)
220377              Ensure DB parameter group exists and update parameters.
220378
220379              name   The name for the parameter group.
220380
220381              db_parameter_group_family
220382                     The DB parameter group family name. A DB parameter  group
220383                     can  be  associated  with  one  and only one DB parameter
220384                     group family, and can be applied only to  a  DB  instance
220385                     running  a  database engine and engine version compatible
220386                     with that DB parameter group family.
220387
220388              description
220389                     Parameter group description.
220390
220391              parameters
220392                     The DB parameters that need to be changed of type dictio‐
220393                     nary.
220394
220395              apply_method
220396                     The  apply-immediate  method can be used only for dynamic
220397                     parameters; the pending-reboot method can  be  used  with
220398                     MySQL  and  Oracle  DB  instances  for  either dynamic or
220399                     static parameters. For Microsoft SQL Server DB instances,
220400                     the  pending-reboot  method  can  be used only for static
220401                     parameters.
220402
220403              tags   A dict of tags.
220404
220405              region Region to connect to.
220406
220407              key    Secret key to be used.
220408
220409              keyid  Access key to be used.
220410
220411              profile
220412                     A dict with region,  key  and  keyid,  or  a  pillar  key
220413                     (string) that contains a dict with region, key and keyid.
220414
220415       salt.states.boto_rds.present(name,                   allocated_storage,
220416       db_instance_class,   engine,   master_username,   master_user_password,
220417       db_name=None,   storage_type=None,  db_security_groups=None,  vpc_secu‐
220418       rity_group_ids=None, vpc_security_groups=None,  availability_zone=None,
220419       db_subnet_group_name=None, preferred_maintenance_window=None, db_param‐
220420       eter_group_name=None,      db_cluster_identifier=None,      tde_creden‐
220421       tial_arn=None,   tde_credential_password=None,  storage_encrypted=None,
220422       kms_keyid=None,   backup_retention_period=None,   preferred_backup_win‐
220423       dow=None,      port=None,      multi_az=None,      engine_version=None,
220424       auto_minor_version_upgrade=None,     license_model=None,     iops=None,
220425       option_group_name=None,    character_set_name=None,   publicly_accessi‐
220426       ble=None,  wait_status=None,   tags=None,   copy_tags_to_snapshot=None,
220427       region=None,   domain=None,   key=None,  keyid=None,  monitoring_inter‐
220428       val=None, monitoring_role_arn=None,  domain_iam_role_name=None,  promo‐
220429       tion_tier=None, profile=None)
220430              Ensure RDS instance exists.
220431
220432              name   Name of the RDS state definition.
220433
220434              allocated_storage
220435                     The  amount  of  storage  (in  gigabytes) to be initially
220436                     allocated for the database instance.
220437
220438              db_instance_class
220439                     The compute and memory capacity  of  the  Amazon  RDS  DB
220440                     instance.
220441
220442              engine The  name  of  the  database  engine  to be used for this
220443                     instance. Supported engine  types  are:  MySQL,  mariadb,
220444                     oracle-se1,     oracle-se,    oracle-ee,    sqlserver-ee,
220445                     sqlserver-se, sqlserver-ex, sqlserver-web,  postgres  and
220446                     aurora. For more information, please see the engine argu‐
220447                     ment in the Boto3 RDS create_db_instance documentation.
220448
220449              master_username
220450                     The name of master user for the client DB instance.
220451
220452              master_user_password
220453                     The password for the master database  user.  Can  be  any
220454                     printable ASCII character except "/", '"', or "@".
220455
220456              db_name
220457                     The  meaning  of  this parameter differs according to the
220458                     database engine you use.  See the Boto3 RDS documentation
220459                     to  determine  the  appropriate value for your configura‐
220460                     tion.
220461                     https://boto3.readthedocs.io/en/latest/reference/services/rds.html#RDS.Client.create_db_instance
220462
220463              storage_type
220464                     Specifies the storage type to be associated with  the  DB
220465                     instance.   Options  are  standard,  gp2  and io1. If you
220466                     specify io1, you must also include a value for  the  Iops
220467                     parameter.
220468
220469              db_security_groups
220470                     A  list  of  DB security groups to associate with this DB
220471                     instance.
220472
220473              vpc_security_group_ids
220474                     A list of EC2 VPC security group IDs  to  associate  with
220475                     this DB instance.
220476
220477              vpc_security_groups
220478                     A  list  of EC2 VPC security groups (IDs or Name tags) to
220479                     associate with this DB instance.
220480
220481              availability_zone
220482                     The EC2 Availability Zone that the database instance will
220483                     be created in.
220484
220485              db_subnet_group_name
220486                     A DB subnet group to associate with this DB instance.
220487
220488              preferred_maintenance_window
220489                     The  weekly time range (in UTC) during which system main‐
220490                     tenance can occur.
220491
220492              db_parameter_group_name
220493                     A DB parameter group to associate with this DB instance.
220494
220495              db_cluster_identifier
220496                     If the DB instance is a member of a DB cluster,  contains
220497                     the name of the DB cluster that the DB instance is a mem‐
220498                     ber of.
220499
220500              tde_credential_arn
220501                     The ARN from the Key Store with  which  the  instance  is
220502                     associated for TDE encryption.
220503
220504              tde_credential_password
220505                     The  password  to use for TDE encryption if an encryption
220506                     key is not used.
220507
220508              storage_encrypted
220509                     Specifies whether the DB instance is encrypted.
220510
220511              kms_keyid
220512                     If storage_encrypted is true, the KMS key identifier  for
220513                     the encrypted DB instance.
220514
220515              backup_retention_period
220516                     The  number  of  days  for  which  automated  backups are
220517                     retained.
220518
220519              preferred_backup_window
220520                     The daily time range during which automated  backups  are
220521                     created if automated backups are enabled.
220522
220523              port   The  port  number  on  which the database accepts connec‐
220524                     tions.
220525
220526              multi_az
220527                     Specifies if the DB instance is  a  Multi-AZ  deployment.
220528                     You cannot set the AvailabilityZone parameter if the Mul‐
220529                     tiAZ parameter is set to true.
220530
220531              engine_version
220532                     The version number of the database engine to use.
220533
220534              auto_minor_version_upgrade
220535                     Indicates that minor  engine  upgrades  will  be  applied
220536                     automatically  to  the DB instance during the maintenance
220537                     window.
220538
220539              license_model
220540                     License model information for this DB instance.
220541
220542              iops   The amount of Provisioned IOPS  (input/output  operations
220543                     per   second)  to  be  initially  allocated  for  the  DB
220544                     instance.
220545
220546              option_group_name
220547                     Indicates that the DB instance should be associated  with
220548                     the specified option group.
220549
220550              character_set_name
220551                     For  supported  engines,  indicates  that the DB instance
220552                     should be associated with the specified CharacterSet.
220553
220554              publicly_accessible
220555                     Specifies the accessibility options for the DB  instance.
220556                     A  value  of  true  specifies an Internet-facing instance
220557                     with a publicly resolvable DNS name, which resolves to  a
220558                     public IP address. A value of false specifies an internal
220559                     instance with a DNS name that resolves to  a  private  IP
220560                     address.
220561
220562              wait_status
220563                     Wait  for  the  RDS  instance  to  reach a desired status
220564                     before finishing the state. Available states:  available,
220565                     modifying, backing-up
220566
220567              tags   A dict of tags.
220568
220569              copy_tags_to_snapshot
220570                     Specifies whether tags are copied from the DB instance to
220571                     snapshots of the DB instance.
220572
220573              region Region to connect to.
220574
220575              domain The identifier of the Active Directory Domain.
220576
220577              key    AWS secret key to be used.
220578
220579              keyid  AWS access key to be used.
220580
220581              monitoring_interval
220582                     The interval, in seconds, between  points  when  Enhanced
220583                     Monitoring metrics are collected for the DB instance.
220584
220585              monitoring_role_arn
220586                     The  ARN  for  the  IAM  role  that  permits  RDS to send
220587                     Enhanced Monitoring metrics to CloudWatch Logs.
220588
220589              domain_iam_role_name
220590                     Specify the name of the IAM role to be used  when  making
220591                     API calls to the Directory Service.
220592
220593              promotion_tier
220594                     A  value  that  specifies  the  order  in which an Aurora
220595                     Replica is promoted to the primary instance after a fail‐
220596                     ure  of  the existing primary instance. For more informa‐
220597                     tion, see Fault Tolerance for an Aurora DB Cluster .
220598
220599              profile
220600                     A dict with region,  key  and  keyid,  or  a  pillar  key
220601                     (string) that contains a dict with region, key and keyid.
220602
220603       salt.states.boto_rds.replica_present(name,                      source,
220604       db_instance_class=None,       availability_zone=None,        port=None,
220605       auto_minor_version_upgrade=None,   iops=None,   option_group_name=None,
220606       publicly_accessible=None, tags=None, region=None, key=None, keyid=None,
220607       profile=None, db_parameter_group_name=None)
220608              Ensure RDS replica exists.
220609
220610                 Ensure myrds replica RDS exists:
220611                   boto_rds.create_replica:
220612                     - name: myreplica
220613                     - source: mydb
220614
220615       salt.states.boto_rds.subnet_group_absent(name,  tags=None, region=None,
220616       key=None, keyid=None, profile=None)
220617
220618       salt.states.boto_rds.subnet_group_present(name,    description,    sub‐
220619       net_ids=None,   subnet_names=None,  tags=None,  region=None,  key=None,
220620       keyid=None, profile=None)
220621              Ensure DB subnet group exists.
220622
220623              name   The name for the DB subnet group. This value is stored as
220624                     a lowercase string.
220625
220626              subnet_ids
220627                     A  list  of  the  EC2 Subnet IDs for the DB subnet group.
220628                     Either subnet_ids or subnet_names must be provided.
220629
220630              subnet_names
220631                     A list of The EC2 Subnet names for the DB  subnet  group.
220632                     Either subnet_ids or subnet_names must be provided.
220633
220634              description
220635                     Subnet group description.
220636
220637              tags   A dict of tags.
220638
220639              region Region to connect to.
220640
220641              key    Secret key to be used.
220642
220643              keyid  Access key to be used.
220644
220645              profile
220646                     A  dict  with  region,  key  and  keyid,  or a pillar key
220647                     (string) that contains a dict with region, key and keyid.
220648
220649   salt.states.boto_route53
220650       Manage Route53 records
220651
220652       New in version 2014.7.0.
220653
220654
220655       Create and delete Route53 records. Be aware that  this  interacts  with
220656       Amazon's services, and so may incur charges.
220657
220658       This module uses boto, which can be installed via package, or pip.
220659
220660       This  module  accepts explicit route53 credentials but can also utilize
220661       IAM roles assigned to the instance through Instance  Profiles.  Dynamic
220662       credentials are then automatically obtained from AWS API and no further
220663       configuration is necessary. More information available here.
220664
220665       If IAM roles are not used you need to specify them either in  a  pillar
220666       file or in the minion's config file:
220667
220668          route53.keyid: GKTADJGHEIQSXMKKRBJ08H
220669          route53.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
220670
220671       It's  also  possible  to  specify  key, keyid and region via a profile,
220672       either passed in as a dict, or as a string to pull from pillars or min‐
220673       ion config:
220674
220675          myprofile:
220676            keyid: GKTADJGHEIQSXMKKRBJ08H
220677            key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
220678            region: us-east-1
220679
220680          mycnamerecord:
220681            boto_route53.present:
220682              - name: test.example.com.
220683              - value: my-elb.us-east-1.elb.amazonaws.com.
220684              - zone: example.com.
220685              - ttl: 60
220686              - record_type: CNAME
220687              - region: us-east-1
220688              - keyid: GKTADJGHEIQSXMKKRBJ08H
220689              - key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
220690
220691          # Using a profile from pillars
220692          myarecord:
220693            boto_route53.present:
220694              - name: test.example.com.
220695              - value: 1.1.1.1
220696              - zone: example.com.
220697              - ttl: 60
220698              - record_type: A
220699              - region: us-east-1
220700              - profile: myprofile
220701
220702          # Passing in a profile
220703          myarecord:
220704            boto_route53.present:
220705              - name: test.example.com.
220706              - value: 1.1.1.1
220707              - zone: example.com.
220708              - ttl: 60
220709              - record_type: A
220710              - region: us-east-1
220711              - profile:
220712                  keyid: GKTADJGHEIQSXMKKRBJ08H
220713                  key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
220714
220715       salt.states.boto_route53.absent(name,    zone,   record_type,   identi‐
220716       fier=None,    region=None,    key=None,    keyid=None,    profile=None,
220717       wait_for_sync=True, split_dns=False, private_zone=False)
220718              Ensure the Route53 record is deleted.
220719
220720              name   Name of the record.
220721
220722              zone   The zone to delete the record from.
220723
220724              record_type
220725                     The record type (A, NS, MX, TXT, etc.)
220726
220727              identifier
220728                     An identifier to match for deletion.
220729
220730              region The region to connect to.
220731
220732              key    Secret key to be used.
220733
220734              keyid  Access key to be used.
220735
220736              profile
220737                     A  dict  with  region,  key  and  keyid,  or a pillar key
220738                     (string) that contains a dict with region, key and keyid.
220739
220740              wait_for_sync
220741                     Wait for an INSYNC change status from Route53.
220742
220743              split_dns
220744                     Route53 supports a public and private DNS zone  with  the
220745                     same names.
220746
220747              private_zone
220748                     If using split_dns, specify if this is the private zone.
220749
220750       salt.states.boto_route53.hosted_zone_absent(name,     domain_name=None,
220751       region=None, key=None, keyid=None, profile=None)
220752              Ensure the Route53 Hostes Zone described is absent
220753
220754              name   The name of the state definition.
220755
220756              domain_name
220757                     The FQDN (including final period) of the  zone  you  wish
220758                     absent.  If not provided, the value of name will be used.
220759
220760       salt.states.boto_route53.hosted_zone_present(name,    domain_name=None,
220761       private_zone=False,    caller_ref=None,    comment=u'',    vpc_id=None,
220762       vpc_name=None, vpc_region=None, region=None, key=None, keyid=None, pro‐
220763       file=None)
220764              Ensure a hosted zone exists with the given attributes. Note that
220765              most  things cannot be modified once a zone is created - it must
220766              be deleted and re-spun to update these attributes:
220767
220768              · private_zone (AWS API limitation).
220769
220770              · comment (the appropriate call exists in the  AWS  API  and  in
220771                boto3, but has not, as of this writing, been added to boto2).
220772
220773              · vpc_id  (same  story  -  we really need to rewrite this module
220774                with boto3)
220775
220776              · vpc_name (really just a pointer to vpc_id anyway).
220777
220778              · vpc_region (again, supported in boto3 but not boto2).
220779
220780              If you need the ability to update these attributes,  please  use
220781              the newer boto3_route53 module instead.
220782
220783              name   The name of the state definition.
220784
220785              domain_name
220786                     The  name  of  the  domain. This must be fully-qualified,
220787                     terminating with a period.  This is  the  name  you  have
220788                     registered  with  your  domain registrar.  It is also the
220789                     name you will delegate from your registrar to the  Amazon
220790                     Route  53 delegation servers returned in response to this
220791                     request.  Defaults to the value of name if not provided.
220792
220793              private_zone
220794                     Set True if creating a private hosted zone.
220795
220796              caller_ref
220797                     A unique string that  identifies  the  request  and  that
220798                     allows  create_hosted_zone()  calls to be retried without
220799                     the risk of executing the operation  twice.   This  helps
220800                     ensure  idempotency  across  state  calls,  but can cause
220801                     issues if a zone is deleted and then an attempt  is  made
220802                     to  recreate  it  with  the same caller_ref.  If not pro‐
220803                     vided, a unique UUID will be generated at each state run,
220804                     which  avoids  the  risk  of the above (transient) error.
220805                     This option is generally not needed.  Maximum  length  of
220806                     128.
220807
220808              comment
220809                     Any comments you want to include about the hosted zone.
220810
220811              vpc_id When creating a private hosted zone, either the VPC ID or
220812                     VPC Name to associate with is required.   Exclusive  with
220813                     vpe_name.  Ignored when creating a non-private zone.
220814
220815              vpc_name
220816                     When creating a private hosted zone, either the VPC ID or
220817                     VPC Name to associate with is required.   Exclusive  with
220818                     vpe_id.  Ignored when creating a non-private zone.
220819
220820              vpc_region
220821                     When  creating  a  private hosted zone, the region of the
220822                     associated VPC is required.  If not provided,  an  effort
220823                     will  be  made  to  determine it from vpc_id or vpc_name,
220824                     where possible.  If this fails, you'll need to provide an
220825                     explicit  value for this option.  Ignored when creating a
220826                     non-private zone.
220827
220828       salt.states.boto_route53.present(name,   value,   zone,    record_type,
220829       ttl=None,  identifier=None,  region=None,  key=None,  keyid=None,  pro‐
220830       file=None, wait_for_sync=True, split_dns=False, private_zone=False)
220831              Ensure the Route53 record is present.
220832
220833              name   Name of the record.
220834
220835              value
220836
220837                     Value of the record. As a special case, you can pass in:
220838                            private:<Name tag> to have the function autodeter‐
220839                            mine  the private IP public:<Name tag> to have the
220840                            function autodetermine the public IP
220841
220842              zone   The zone to create the record in.
220843
220844              record_type
220845                     The record type (A, NS, MX, TXT, etc.)
220846
220847              ttl    The time to live for the record.
220848
220849              identifier
220850                     The unique identifier to use for this record.
220851
220852              region The region to connect to.
220853
220854              key    Secret key to be used.
220855
220856              keyid  Access key to be used.
220857
220858              profile
220859                     A dict with region,  key  and  keyid,  or  a  pillar  key
220860                     (string) that contains a dict with region, key and keyid.
220861
220862              wait_for_sync
220863                     Wait  for  an  INSYNC  change  status from Route53 before
220864                     returning success.
220865
220866              split_dns
220867                     Route53 supports parallel public and  private  DNS  zones
220868                     with the same name.
220869
220870              private_zone
220871                     If using split_dns, specify if this is the private zone.
220872
220873       salt.states.boto_route53.rr_absent(*args, **kwargs)
220874
220875       salt.states.boto_route53.rr_present(*args, **kwargs)
220876
220877   salt.states.boto_s3_bucket module
220878   Manage S3 Buckets
220879       New in version 2016.3.0.
220880
220881
220882       Create  and  destroy S3 buckets. Be aware that this interacts with Ama‐
220883       zon's services, and so may incur charges.
220884
220885       depends
220886
220887              · boto
220888
220889              · boto3
220890
220891       The dependencies listed above can be installed via package or pip.
220892
220893       This module accepts explicit vpc credentials but can also  utilize  IAM
220894       roles  assigned to the instance through Instance Profiles. Dynamic cre‐
220895       dentials are then automatically obtained from AWS API  and  no  further
220896       configuration is necessary. More information available here.
220897
220898       If  IAM  roles are not used you need to specify them either in a pillar
220899       file or in the minion's config file:
220900
220901          vpc.keyid: GKTADJGHEIQSXMKKRBJ08H
220902          vpc.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
220903
220904       It's also possible to specify key, keyid  and  region  via  a  profile,
220905       either passed in as a dict, or as a string to pull from pillars or min‐
220906       ion config:
220907
220908          myprofile:
220909              keyid: GKTADJGHEIQSXMKKRBJ08H
220910              key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
220911              region: us-east-1
220912
220913          Ensure bucket exists:
220914              boto_s3_bucket.present:
220915                  - Bucket: mybucket
220916                  - LocationConstraint: EU
220917                  - ACL:
220918                    - GrantRead: "uri=http://acs.amazonaws.com/groups/global/AllUsers"
220919                  - CORSRules:
220920                    - AllowedHeaders: []
220921                      AllowedMethods: ["GET"]
220922                      AllowedOrigins: ["*"]
220923                      ExposeHeaders: []
220924                      MaxAgeSeconds: 123
220925                  - LifecycleConfiguration:
220926                    - Expiration:
220927                        Days: 123
220928                      ID: "idstring"
220929                      Prefix: "prefixstring"
220930                      Status: "enabled",
220931                      ID: "lc1"
220932                      Transitions:
220933                        - Days: 123
220934                          StorageClass: "GLACIER"
220935                      NoncurrentVersionTransitions:
220936                        - NoncurrentDays: 123
220937                          StorageClass: "GLACIER"
220938                      NoncurrentVersionExpiration:
220939                        NoncurrentDays: 123
220940                  - Logging:
220941                      TargetBucket: log_bucket
220942                      TargetPrefix: prefix
220943                      TargetGrants:
220944                        - Grantee:
220945                            DisplayName: "string"
220946                            EmailAddress: "string"
220947                            ID: "string"
220948                            Type: "AmazonCustomerByEmail"
220949                            URI: "string"
220950                          Permission: "READ"
220951                  - NotificationConfiguration:
220952                      LambdaFunctionConfiguration:
220953                        - Id: "string"
220954                          LambdaFunctionArn: "string"
220955                          Events:
220956                            - "s3:ObjectCreated:*"
220957                          Filter:
220958                            Key:
220959                              FilterRules:
220960                                - Name: "prefix"
220961                                  Value: "string"
220962                  - Policy:
220963                      Version: "2012-10-17"
220964                      Statement:
220965                        - Sid: "String"
220966                          Effect: "Allow"
220967                          Principal:
220968                            AWS: "arn:aws:iam::133434421342:root"
220969                          Action: "s3:PutObject"
220970                          Resource: "arn:aws:s3:::my-bucket/*"
220971                  - Replication:
220972                      Role: myrole
220973                      Rules:
220974                        - ID: "string"
220975                          Prefix: "string"
220976                          Status: "Enabled"
220977                          Destination:
220978                            Bucket: "arn:aws:s3:::my-bucket"
220979                  - RequestPayment:
220980                      Payer: Requester
220981                  - Tagging:
220982                      tag_name: tag_value
220983                      tag_name_2: tag_value
220984                  - Versioning:
220985                      Status: "Enabled"
220986                  - Website:
220987                      ErrorDocument:
220988                        Key: "error.html"
220989                      IndexDocument:
220990                        Suffix: "index.html"
220991                      RedirectAllRequestsTo:
220992                        Hostname: "string"
220993                        Protocol: "http"
220994                      RoutingRules:
220995                        - Condition:
220996                            HttpErrorCodeReturnedEquals: "string"
220997                            KeyPrefixEquals: "string"
220998                          Redirect:
220999                            HostName: "string"
221000                            HttpRedirectCode: "string"
221001                            Protocol: "http"
221002                            ReplaceKeyPrefixWith: "string"
221003                            ReplaceKeyWith: "string"
221004                  - region: us-east-1
221005                  - keyid: GKTADJGHEIQSXMKKRBJ08H
221006                  - key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
221007
221008       salt.states.boto_s3_bucket.absent(name,      Bucket,       Force=False,
221009       region=None, key=None, keyid=None, profile=None)
221010              Ensure bucket with passed properties is absent.
221011
221012              name   The name of the state definition.
221013
221014              Bucket Name of the bucket.
221015
221016              Force  Empty the bucket first if necessary - Boolean.
221017
221018              region Region to connect to.
221019
221020              key    Secret key to be used.
221021
221022              keyid  Access key to be used.
221023
221024              profile
221025                     A  dict  with  region,  key  and  keyid,  or a pillar key
221026                     (string) that contains a dict with region, key and keyid.
221027
221028       salt.states.boto_s3_bucket.present(name,      Bucket,      LocationCon‐
221029       straint=None,  ACL=None,  CORSRules=None,  LifecycleConfiguration=None,
221030       Logging=None,  NotificationConfiguration=None,  Policy=None,   Replica‐
221031       tion=None,  RequestPayment=None,  Tagging=None,  Versioning=None,  Web‐
221032       site=None, region=None, key=None, keyid=None, profile=None)
221033              Ensure bucket exists.
221034
221035              name   The name of the state definition
221036
221037              Bucket Name of the bucket.
221038
221039              LocationConstraint
221040                     'EU'|'eu-west-1'|'us-west-1'|'us-west-2'|'ap-south‐
221041                     east-1'|'ap-southeast-2'|'ap-north‐
221042                     east-1'|'sa-east-1'|'cn-north-1'|'eu-central-1'
221043
221044              ACL    The permissions on a bucket using  access  control  lists
221045                     (ACL).
221046
221047              CORSRules
221048                     The cors configuration for a bucket.
221049
221050              LifecycleConfiguration
221051                     Lifecycle configuration for your bucket
221052
221053              Logging
221054                     The  logging  parameters for a bucket and to specify per‐
221055                     missions for who can view and modify the logging  parame‐
221056                     ters.
221057
221058              NotificationConfiguration
221059                     notifications of specified events for a bucket
221060
221061              Policy Policy on the bucket
221062
221063              Replication
221064                     Replication  rules.  You  can add as many as 1,000 rules.
221065                     Total replication configuration size can be up to 2 MB
221066
221067              RequestPayment
221068                     The  request  payment  configuration  for  a  bucket.  By
221069                     default,  the  bucket  owner  pays for downloads from the
221070                     bucket. This configuration parameter enables  the  bucket
221071                     owner  (only)  to  specify that the person requesting the
221072                     download will be charged for the download
221073
221074              Tagging
221075                     A dictionary of tags that should be set on the bucket
221076
221077              Versioning
221078                     The versioning state of the bucket
221079
221080              Website
221081                     The website configuration of the bucket
221082
221083              region Region to connect to.
221084
221085              key    Secret key to be used.
221086
221087              keyid  Access key to be used.
221088
221089              profile
221090                     A dict with region,  key  and  keyid,  or  a  pillar  key
221091                     (string) that contains a dict with region, key and keyid.
221092
221093   salt.states.boto_secgroup
221094   Manage Security Groups
221095       New in version 2014.7.0.
221096
221097
221098       Create  and  destroy Security Groups. Be aware that this interacts with
221099       Amazon's services, and so may incur charges.
221100
221101       This module uses boto, which can be installed via package, or pip.
221102
221103       This module accepts explicit EC2 credentials but can also  utilize  IAM
221104       roles  assigned to the instance through Instance Profiles. Dynamic cre‐
221105       dentials are then automatically obtained from AWS API  and  no  further
221106       configuration is necessary. More information available here.
221107
221108       If  IAM  roles are not used you need to specify them either in a pillar
221109       file or in the minion's config file:
221110
221111          secgroup.keyid: GKTADJGHEIQSXMKKRBJ08H
221112          secgroup.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
221113
221114       It's also possible to specify key, keyid  and  region  via  a  profile,
221115       either passed in as a dict, or as a string to pull from pillars or min‐
221116       ion config:
221117
221118          myprofile:
221119              keyid: GKTADJGHEIQSXMKKRBJ08H
221120              key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
221121              region: us-east-1
221122
221123          Ensure mysecgroup exists:
221124              boto_secgroup.present:
221125                  - name: mysecgroup
221126                  - description: My security group
221127                  - vpc_name: myvpc
221128                  - rules:
221129                      - ip_protocol: tcp
221130                        from_port: 80
221131                        to_port: 80
221132                        cidr_ip:
221133                          - 10.0.0.0/8
221134                          - 192.168.0.0/16
221135                      - ip_protocol: tcp
221136                        from_port: 8080
221137                        to_port: 8090
221138                        cidr_ip:
221139                          - 10.0.0.0/8
221140                          - 192.168.0.0/16
221141                      - ip_protocol: icmp
221142                        from_port: -1
221143                        to_port: -1
221144                        source_group_name: mysecgroup
221145                      - ip_protocol: tcp
221146                        from_port: 8080
221147                        to_port: 8080
221148                        source_group_name: MyOtherSecGroup
221149                        source_group_name_vpc: MyPeeredVPC
221150                  - rules_egress:
221151                      - ip_protocol: all
221152                        from_port: -1
221153                        to_port: -1
221154                        cidr_ip:
221155                          - 10.0.0.0/8
221156                          - 192.168.0.0/16
221157                  - tags:
221158                      SomeTag: 'My Tag Value'
221159                      SomeOtherTag: 'Other Tag Value'
221160                  - region: us-east-1
221161                  - keyid: GKTADJGHEIQSXMKKRBJ08H
221162                  - key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
221163
221164          # Using a profile from pillars
221165          Ensure mysecgroup exists:
221166              boto_secgroup.present:
221167                  - name: mysecgroup
221168                  - description: My security group
221169                  - profile: myprofile
221170
221171          # Passing in a profile
221172          Ensure mysecgroup exists:
221173              boto_secgroup.present:
221174                  - name: mysecgroup
221175                  - description: My security group
221176                  - profile:
221177                      keyid: GKTADJGHEIQSXMKKRBJ08H
221178                      key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
221179                      region: us-east-1
221180
221181       NOTE:
221182          When using the profile parameter and region is set  outside  of  the
221183          profile group, region is ignored and a default region will be used.
221184
221185          If  region  is  missing from the profile data set, us-east-1 will be
221186          used as the default region.
221187
221188       salt.states.boto_secgroup.absent(name,   vpc_id=None,    vpc_name=None,
221189       region=None, key=None, keyid=None, profile=None)
221190              Ensure a security group with the specified name does not exist.
221191
221192              name   Name of the security group.
221193
221194              vpc_id The  ID  of the VPC to remove the security group from, if
221195                     any. Exclusive with vpc_name.
221196
221197              vpc_name
221198                     The name of the VPC to remove the security group from, if
221199                     any. Exclusive with vpc_name.
221200
221201                     New in version 2016.3.0.
221202
221203
221204              region Region to connect to.
221205
221206              key    Secret key to be used.
221207
221208              keyid  Access key to be used.
221209
221210              profile
221211                     A  dict  with  region,  key  and  keyid,  or a pillar key
221212                     (string) that contains a dict with region, key and keyid.
221213
221214                     New in version 2016.3.0.
221215
221216
221217       salt.states.boto_secgroup.present(name,    description,    vpc_id=None,
221218       vpc_name=None,              rules=None,              rules_egress=None,
221219       delete_ingress_rules=True,    delete_egress_rules=True,    region=None,
221220       key=None, keyid=None, profile=None, tags=None)
221221              Ensure the security group exists with the specified rules.
221222
221223              name   Name of the security group.
221224
221225              description
221226                     A description of this security group.
221227
221228              vpc_id The  ID  of  the  VPC to create the security group in, if
221229                     any. Exclusive with vpc_name.
221230
221231              vpc_name
221232                     The name of the VPC to create the security group  in,  if
221233                     any. Exclusive with vpc_id.
221234
221235                     New in version 2016.3.0.
221236
221237
221238                     New in version 2015.8.2.
221239
221240
221241              rules  A   list   of  ingress  rule  dicts.  If  not  specified,
221242                     rules=None, the ingress rules will be unmanaged.  If  set
221243                     to  an  empty  list,  [],  then all ingress rules will be
221244                     removed.
221245
221246              rules_egress
221247                     A  list  of  egress  rule  dicts.   If   not   specified,
221248                     rules_egress=None, the egress rules will be unmanaged. If
221249                     set to an empty list, [], then all egress rules  will  be
221250                     removed.
221251
221252              delete_ingress_rules
221253                     Some  tools  (EMR  comes  to mind) insist on adding rules
221254                     on-the-fly, which salt will happily remove  on  the  next
221255                     run.   Set  this  param  to False to avoid deleting rules
221256                     which were added outside of salt.
221257
221258              delete_egress_rules
221259                     Some tools (EMR comes to mind)  insist  on  adding  rules
221260                     on-the-fly,  which  salt  will happily remove on the next
221261                     run.  Set this param to False  to  avoid  deleting  rules
221262                     which were added outside of salt.
221263
221264              region Region to connect to.
221265
221266              key    Secret key to be used.
221267
221268              keyid  Access key to be used.
221269
221270              profile
221271                     A  dict  with  region,  key  and  keyid,  or a pillar key
221272                     (string) that contains  a  dict  with  region,  key,  and
221273                     keyid.
221274
221275              tags   List  of  key:value  pairs of tags to set on the security
221276                     group
221277
221278                     New in version 2016.3.0.
221279
221280
221281   salt.states.boto_sns
221282       Manage SNS Topics
221283
221284       Create and destroy SNS topics. Be aware that this interacts  with  Ama‐
221285       zon's services, and so may incur charges.
221286
221287       This module uses boto, which can be installed via package, or pip.
221288
221289       This  module  accepts explicit AWS credentials but can also utilize IAM
221290       roles assigned to the instance through Instance Profiles. Dynamic  cre‐
221291       dentials  are  then  automatically obtained from AWS API and no further
221292       configuration is necessary. More information available here.
221293
221294       If IAM roles are not used you need to specify them either in  a  pillar
221295       file or in the minion's config file:
221296
221297          sns.keyid: GKTADJGHEIQSXMKKRBJ08H
221298          sns.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
221299
221300       It's  also  possible  to  specify  key, keyid and region via a profile,
221301       either passed in as a dict, or as a string to pull from pillars or min‐
221302       ion config:
221303
221304          myprofile:
221305              keyid: GKTADJGHEIQSXMKKRBJ08H
221306              key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
221307              region: us-east-1
221308
221309          mytopic:
221310              boto_sns.present:
221311                  - region: us-east-1
221312                  - keyid: GKTADJGHEIQSXMKKRBJ08H
221313                  - key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
221314
221315          # Using a profile from pillars
221316          mytopic:
221317              boto_sns.present:
221318                  - region: us-east-1
221319                  - profile: mysnsprofile
221320
221321          # Passing in a profile
221322          mytopic:
221323              boto_sns.present:
221324                  - region: us-east-1
221325                  - profile:
221326                      keyid: GKTADJGHEIQSXMKKRBJ08H
221327                      key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
221328
221329       salt.states.boto_sns.absent(name,  region=None,  key=None,  keyid=None,
221330       profile=None, unsubscribe=False)
221331              Ensure the named sns topic is deleted.
221332
221333              name   Name of the SNS topic.
221334
221335              region Region to connect to.
221336
221337              key    Secret key to be used.
221338
221339              keyid  Access key to be used.
221340
221341              profile
221342                     A dict with region,  key  and  keyid,  or  a  pillar  key
221343                     (string) that contains a dict with region, key and keyid.
221344
221345              unsubscribe
221346                     If  True,  unsubscribe  all subcriptions to the SNS topic
221347                     before deleting the SNS topic
221348
221349                     New in version 2016.11.0.
221350
221351
221352       salt.states.boto_sns.present(name,   subscriptions=None,   region=None,
221353       key=None, keyid=None, profile=None)
221354              Ensure the SNS topic exists.
221355
221356              name   Name of the SNS topic.
221357
221358              subscriptions
221359                     List of SNS subscriptions.
221360
221361                     Each  subscription  is  a  dictionary with a protocol and
221362                     endpoint key:
221363
221364                        [
221365                        {'protocol': 'https', 'endpoint': 'https://www.example.com/sns-endpoint'},
221366                        {'protocol': 'sqs', 'endpoint': 'arn:aws:sqs:us-west-2:123456789012:MyQueue'}
221367                        ]
221368
221369              region Region to connect to.
221370
221371              key    Secret key to be used.
221372
221373              keyid  Access key to be used.
221374
221375              profile
221376                     A dict with region,  key  and  keyid,  or  a  pillar  key
221377                     (string) that contains a dict with region, key and keyid.
221378
221379   salt.states.boto_sqs
221380       Manage SQS Queues
221381
221382       New in version 2014.7.0.
221383
221384
221385       Create  and  destroy SQS queues. Be aware that this interacts with Ama‐
221386       zon's services, and so may incur charges.
221387
221388       This module uses boto, which can be installed via package, or pip.
221389
221390       This module accepts explicit SQS credentials but can also  utilize  IAM
221391       roles  assigned to the instance through Instance Profiles. Dynamic cre‐
221392       dentials are then automatically obtained from AWS API  and  no  further
221393       configuration is necessary. More information available here.
221394
221395       If  IAM  roles are not used you need to specify them either in a pillar
221396       file or in the minion's config file:
221397
221398          sqs.keyid: GKTADJGHEIQSXMKKRBJ08H
221399          sqs.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
221400
221401       It's also possible to specify key, keyid  and  region  via  a  profile,
221402       either passed in as a dict, or as a string to pull from pillars or min‐
221403       ion config:
221404
221405          myprofile:
221406              keyid: GKTADJGHEIQSXMKKRBJ08H
221407              key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
221408              region: us-east-1
221409
221410          myqueue:
221411              boto_sqs.present:
221412                  - region: us-east-1
221413                  - keyid: GKTADJGHEIQSXMKKRBJ08H
221414                  - key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
221415                  - attributes:
221416                      ReceiveMessageWaitTimeSeconds: 20
221417
221418          # Using a profile from pillars
221419          myqueue:
221420              boto_sqs.present:
221421                  - region: us-east-1
221422                  - profile: mysqsprofile
221423
221424          # Passing in a profile
221425          myqueue:
221426              boto_sqs.present:
221427                  - region: us-east-1
221428                  - profile:
221429                      keyid: GKTADJGHEIQSXMKKRBJ08H
221430                      key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
221431
221432       salt.states.boto_sqs.absent(name,  region=None,  key=None,  keyid=None,
221433       profile=None)
221434              Ensure the named sqs queue is deleted.
221435
221436              name   Name of the SQS queue.
221437
221438              region Region to connect to.
221439
221440              key    Secret key to be used.
221441
221442              keyid  Access key to be used.
221443
221444              profile
221445                     A  dict  with  region,  key  and  keyid,  or a pillar key
221446                     (string) that contains a dict with region, key and keyid.
221447
221448       salt.states.boto_sqs.present(name,    attributes=None,     region=None,
221449       key=None, keyid=None, profile=None)
221450              Ensure the SQS queue exists.
221451
221452              name   Name of the SQS queue.
221453
221454              attributes
221455                     A dict of key/value SQS attributes.
221456
221457              region Region to connect to.
221458
221459              key    Secret key to be used.
221460
221461              keyid  Access key to be used.
221462
221463              profile
221464                     A  dict  with  region,  key  and  keyid,  or a pillar key
221465                     (string) that contains a dict with region, key and keyid.
221466
221467   salt.states.boto_vpc
221468   Manage VPCs
221469       New in version 2015.8.0.
221470
221471
221472       depends
221473
221474       · boto >= 2.8.0
221475
221476       · boto3 >= 1.2.6
221477
221478       Create and destroy VPCs. Be aware that  this  interacts  with  Amazon's
221479       services, and so may incur charges.
221480
221481       This  module  accepts explicit vpc credentials but can also utilize IAM
221482       roles assigned to the instance through Instance Profiles. Dynamic  cre‐
221483       dentials  are  then  automatically obtained from AWS API and no further
221484       configuration is necessary. More information available here.
221485
221486       If IAM roles are not used you need to specify them either in  a  pillar
221487       file or in the minion's config file:
221488
221489          vpc.keyid: GKTADJGHEIQSXMKKRBJ08H
221490          vpc.key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
221491
221492       It's  also  possible  to  specify  key, keyid and region via a profile,
221493       either passed in as a dict, or as a string to pull from pillars or min‐
221494       ion config:
221495
221496          myprofile:
221497            keyid: GKTADJGHEIQSXMKKRBJ08H
221498            key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
221499            region: us-east-1
221500
221501          aws:
221502            region:
221503              us-east-1:
221504                profile:
221505                  keyid: GKTADJGHEIQSXMKKRBJ08H
221506                  key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
221507                  region: us-east-1
221508
221509          Ensure VPC exists:
221510            boto_vpc.present:
221511              - name: myvpc
221512              - cidr_block: 10.10.11.0/24
221513              - dns_hostnames: True
221514              - region: us-east-1
221515              - keyid: GKTADJGHEIQSXMKKRBJ08H
221516              - key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
221517
221518          Ensure subnet exists:
221519            boto_vpc.subnet_present:
221520              - name: mysubnet
221521              - vpc_id: vpc-123456
221522              - cidr_block: 10.0.0.0/16
221523              - region: us-east-1
221524              - profile: myprofile
221525
221526          {% set profile = salt['pillar.get']('aws:region:us-east-1:profile' ) %}
221527          Ensure internet gateway exists:
221528            boto_vpc.internet_gateway_present:
221529              - name: myigw
221530              - vpc_name: myvpc
221531              - profile: {{ profile }}
221532
221533          Ensure route table exists:
221534            boto_vpc.route_table_present:
221535              - name: my_route_table
221536              - vpc_id: vpc-123456
221537              - routes:
221538                - destination_cidr_block: 0.0.0.0/0
221539                  instance_id: i-123456
221540                - subnet_names:
221541                  - subnet1
221542                  - subnet2
221543                - region: us-east-1
221544                - profile:
221545                  keyid: GKTADJGHEIQSXMKKRBJ08H
221546                  key: askdjghsdfjkghWupUjasdflkdfklgjsdfjajkghs
221547
221548       New in version 2016.11.0.
221549
221550
221551       Request,  accept  and delete VPC peering connections.  VPC peering con‐
221552       nections can be named allowing the name to be used throughout the state
221553       file.  Following  example shows how to request and accept a VPC peering
221554       connection.
221555
221556          accept the vpc peering connection:
221557            boto_vpc.accept_vpc_peering_connection:
221558              - conn_name: salt_vpc_peering
221559              - region: us-west-2
221560              - require:
221561                - boto_vpc: request a vpc peering connection
221562
221563          request a vpc peering connection:
221564            boto_vpc.request_vpc_peering_connection:
221565              - requester_vpc_id: vpc-4a3d522e
221566              - peer_vpc_id: vpc-ae81e9ca
221567              - region: us-west-2
221568              - conn_name: salt_vpc_peering
221569
221570       VPC peering connections need not be named. In this case the VPC peering
221571       connection ID should be used in the state file.
221572
221573          accept the vpc peering connection:
221574            boto_vpc.accept_vpc_peering_connection:
221575              - conn_id: pcx-1873c371
221576              - region: us-west-2
221577
221578       VPC peering connections can be deleted, as shown below.
221579
221580          delete a named vpc peering connection:
221581            boto_vpc.delete_vpc_peering_connection:
221582              - conn_name: salt_vpc_peering
221583
221584       Delete also accepts a VPC peering connection id.
221585
221586          delete a vpc peering connection by id:
221587            boto_vpc.delete_vpc_peering_connection:
221588              - conn_id: pcx-1873c371
221589
221590       salt.states.boto_vpc.absent(name,   tags=None,  region=None,  key=None,
221591       keyid=None, profile=None)
221592              Ensure VPC with passed properties is absent.
221593
221594              name   Name of the VPC.
221595
221596              tags   A list of tags. All tags must match.
221597
221598              region Region to connect to.
221599
221600              key    Secret key to be used.
221601
221602              keyid  Access key to be used.
221603
221604              profile
221605                     A dict with region,  key  and  keyid,  or  a  pillar  key
221606                     (string) that contains a dict with region, key and keyid.
221607
221608       salt.states.boto_vpc.accept_vpc_peering_connection(name=None,
221609       conn_id=None, conn_name=None, region=None, key=None,  keyid=None,  pro‐
221610       file=None)
221611              Accept  a  VPC  pending requested peering connection between two
221612              VPCs.
221613
221614              name   Name of this state
221615
221616              conn_id
221617                     The connection ID to accept.  Exclusive  with  conn_name.
221618                     String type.
221619
221620              conn_name
221621                     The  name of the VPC peering connection to accept. Exclu‐
221622                     sive with conn_id. String type.
221623
221624              region Region to connect to.
221625
221626              key    Secret key to be used.
221627
221628              keyid  Access key to be used.
221629
221630              profile
221631                     A dict with region,  key  and  keyid,  or  a  pillar  key
221632                     (string) that contains a dict with region, key and keyid.
221633
221634              New in version 2016.11.0.
221635
221636
221637              Example:
221638
221639                 boto_vpc.accept_vpc_peering_connection:
221640                   - conn_name: salt_peering_connection
221641
221642                 # usage with vpc peering connection id and region
221643                 boto_vpc.accept_vpc_peering_connection:
221644                   - conn_id: pbx-1873d472
221645                   - region: us-west-2
221646
221647       salt.states.boto_vpc.delete_vpc_peering_connection(name,  conn_id=None,
221648       conn_name=None, region=None, key=None, keyid=None, profile=None)
221649
221650              name   Name of the state
221651
221652              conn_id
221653                     ID of the peering connection to delete.   Exclusive  with
221654                     conn_name.
221655
221656              conn_name
221657                     The  name of the peering connection to delete.  Exclusive
221658                     with conn_id.
221659
221660              region Region to connect to.
221661
221662              key    Secret key to be used.
221663
221664              keyid  Access key to be used.
221665
221666              profile
221667                     A dict with region,  key  and  keyid,  or  a  pillar  key
221668                     (string) that contains a dict with region, key and keyid.
221669
221670              New in version 2016.11.0.
221671
221672
221673              Example:
221674
221675                 delete a vpc peering connection:
221676                   boto_vpc.delete_vpc_peering_connection:
221677                     - region: us-west-2
221678                     - conn_id: pcx-4613b12e
221679
221680              Connection  name  can  be specified (instead of ID).  Specifying
221681              both conn_name and conn_id will result in an error.
221682
221683                 delete a vpc peering connection:
221684                   boto_vpc.delete_vpc_peering_connection:
221685                     - conn_name: salt_vpc_peering
221686
221687       salt.states.boto_vpc.dhcp_options_absent(name=None,
221688       dhcp_options_id=None, region=None, key=None, keyid=None, profile=None)
221689              Ensure a set of DHCP options with the given settings exist.
221690
221691              name   (string) Name of the DHCP options set.
221692
221693              dhcp_options_id
221694                     (string) Id of the DHCP options set.
221695
221696              region (string) Region to connect to.
221697
221698              key    (string) Secret key to be used.
221699
221700              keyid  (string) Access key to be used.
221701
221702              profile
221703                     (various)  A dict with region, key and keyid, or a pillar
221704                     key (string) that contains a dict with  region,  key  and
221705                     keyid.
221706
221707              New in version 2016.3.0.
221708
221709
221710       salt.states.boto_vpc.dhcp_options_present(name,   dhcp_options_id=None,
221711       vpc_name=None, vpc_id=None, domain_name=None, domain_name_servers=None,
221712       ntp_servers=None,   netbios_name_servers=None,  netbios_node_type=None,
221713       tags=None, region=None, key=None, keyid=None, profile=None)
221714              Ensure a set of DHCP options  with  the  given  settings  exist.
221715              Note  that  the  current  implementation only SETS values during
221716              option set creation.  It is unable  to  update  option  sets  in
221717              place,  and  thus  merely  verifies the set exists via the given
221718              name and/or dhcp_options_id param.
221719
221720              name   (string) Name of the DHCP options.
221721
221722              vpc_name
221723                     (string) Name of a VPC to which  the  options  should  be
221724                     associated.  Either vpc_name or vpc_id must be provided.
221725
221726              vpc_id (string) Id of a VPC to which the options should be asso‐
221727                     ciated.  Either vpc_name or vpc_id must be provided.
221728
221729              domain_name
221730                     (string) Domain name to be assiciated  with  this  option
221731                     set.
221732
221733              domain_name_servers
221734                     (list of strings) The IP address(es) of up to four domain
221735                     name servers.
221736
221737              ntp_servers
221738                     (list of strings)  The  IP  address(es)  of  up  to  four
221739                     desired NTP servers.
221740
221741              netbios_name_servers
221742                     (list  of  strings) The IP address(es) of up to four Net‐
221743                     BIOS name servers.
221744
221745              netbios_node_type
221746                     (string) The NetBIOS node type (1, 2, 4, or 8).  For more
221747                     information  about the allowed values, see RFC 2132.  The
221748                     recommended is 2 at this time  (broadcast  and  multicast
221749                     are currently not supported).
221750
221751              tags   (dict of key:value pairs) A set of tags to be added.
221752
221753              region (string) Region to connect to.
221754
221755              key    (string) Secret key to be used.
221756
221757              keyid  (string) Access key to be used.
221758
221759              profile
221760                     (various)  A dict with region, key and keyid, or a pillar
221761                     key (string) that contains a dict with  region,  key  and
221762                     keyid.
221763
221764              New in version 2016.3.0.
221765
221766
221767       salt.states.boto_vpc.internet_gateway_absent(name,        detach=False,
221768       region=None, key=None, keyid=None, profile=None)
221769              Ensure the named internet gateway is absent.
221770
221771              name   Name of the internet gateway.
221772
221773              detach First  detach  the  internet  gateway  from  a  VPC,   if
221774                     attached.
221775
221776              region Region to connect to.
221777
221778              key    Secret key to be used.
221779
221780              keyid  Access key to be used.
221781
221782              profile
221783                     A  dict  with  region,  key  and  keyid,  or a pillar key
221784                     (string) that contains a dict with region, key and keyid.
221785
221786       salt.states.boto_vpc.internet_gateway_present(name,      vpc_name=None,
221787       vpc_id=None,   tags=None,   region=None,   key=None,  keyid=None,  pro‐
221788       file=None)
221789              Ensure an internet gateway exists.
221790
221791              name   Name of the internet gateway.
221792
221793              vpc_name
221794                     Name of the VPC to which the internet gateway  should  be
221795                     attached.
221796
221797              vpc_id Id  of  the  VPC  to which the internet_gateway should be
221798                     attached.  Only one of vpc_name or  vpc_id  may  be  pro‐
221799                     vided.
221800
221801              tags   A list of tags.
221802
221803              region Region to connect to.
221804
221805              key    Secret key to be used.
221806
221807              keyid  Access key to be used.
221808
221809              profile
221810                     A  dict  with  region,  key  and  keyid,  or a pillar key
221811                     (string) that contains a dict with region, key and keyid.
221812
221813       salt.states.boto_vpc.nat_gateway_absent(name=None,    subnet_name=None,
221814       subnet_id=None,   region=None,   key=None,   keyid=None,  profile=None,
221815       wait_for_delete_retries=0)
221816              Ensure the nat gateway in the named subnet is absent.
221817
221818              This function requires boto3.
221819
221820              New in version 2016.11.0.
221821
221822
221823              name   Name of the state.
221824
221825              subnet_name
221826                     Name of the subnet within which the  nat  gateway  should
221827                     exist
221828
221829              subnet_id
221830                     Id  of  the  subnet  within  which the nat gateway should
221831                     exist.  Either subnet_name or subnet_id must be provided.
221832
221833              region Region to connect to.
221834
221835              key    Secret key to be used.
221836
221837              keyid  Access key to be used.
221838
221839              profile
221840                     A dict with region,  key  and  keyid,  or  a  pillar  key
221841                     (string) that contains a dict with region, key and keyid.
221842
221843              wait_for_delete_retries
221844                     NAT  gateway  may take some time to be go into deleted or
221845                     failed state.  During the  deletion  process,  subsequent
221846                     release of elastic IPs may fail; this state will automat‐
221847                     ically retry this number of times to ensure the NAT gate‐
221848                     way  is  in  deleted  or  failed state before proceeding.
221849                     Default is set to 0 for backward compatibility.
221850
221851       salt.states.boto_vpc.nat_gateway_present(name,  subnet_name=None,  sub‐
221852       net_id=None,  region=None,  key=None, keyid=None, profile=None, alloca‐
221853       tion_id=None)
221854              Ensure a nat gateway exists within the specified subnet
221855
221856              This function requires boto3.
221857
221858              New in version 2016.11.0.
221859
221860
221861              Example:
221862
221863                 boto_vpc.nat_gateway_present:
221864                   - subnet_name: my-subnet
221865
221866              name   Name of the state
221867
221868              subnet_name
221869                     Name of the subnet within which the  nat  gateway  should
221870                     exist
221871
221872              subnet_id
221873                     Id  of  the  subnet  within  which the nat gateway should
221874                     exist.  Either subnet_name or subnet_id must be provided.
221875
221876              allocation_id
221877                     If specified, the elastic IP address referenced by the ID
221878                     is  associated with the gateway. Otherwise, a new alloca‐
221879                     tion_id is created and used.
221880
221881              region Region to connect to.
221882
221883              key    Secret key to be used.
221884
221885              keyid  Access key to be used.
221886
221887              profile
221888                     A dict with region,  key  and  keyid,  or  a  pillar  key
221889                     (string) that contains a dict with region, key and keyid.
221890
221891       salt.states.boto_vpc.present(name,  cidr_block,  instance_tenancy=None,
221892       dns_support=None, dns_hostnames=None, tags=None, region=None, key=None,
221893       keyid=None, profile=None)
221894              Ensure VPC exists.
221895
221896              name   Name of the VPC.
221897
221898              cidr_block
221899                     The   range   of   IPs   in  CIDR  format,  for  example:
221900                     10.0.0.0/24. Block size must be between /16 and /28  net‐
221901                     mask.
221902
221903              instance_tenancy
221904                     Instances  launched  in  this VPC will be ingle-tenant or
221905                     dedicated hardware.
221906
221907              dns_support
221908                     Indicates whether the DNS resolution is supported for the
221909                     VPC.
221910
221911              dns_hostnames
221912                     Indicates  whether  the instances launched in the VPC get
221913                     DNS hostnames.
221914
221915              tags   A list of tags.
221916
221917              region Region to connect to.
221918
221919              key    Secret key to be used.
221920
221921              keyid  Access key to be used.
221922
221923              profile
221924                     A dict with region,  key  and  keyid,  or  a  pillar  key
221925                     (string) that contains a dict with region, key and keyid.
221926
221927       salt.states.boto_vpc.request_vpc_peering_connection(name,
221928       requester_vpc_id=None,    requester_vpc_name=None,    peer_vpc_id=None,
221929       peer_vpc_name=None,  conn_name=None,  peer_owner_id=None,  region=None,
221930       key=None, keyid=None, profile=None)
221931
221932              name   Name of the state
221933
221934              requester_vpc_id
221935                     ID   of    the    requesting    VPC.    Exclusive    with
221936                     requester_vpc_name. String type.
221937
221938              requester_vpc_name
221939                     Name   tag   of   the  requesting  VPC.   Exclusive  with
221940                     requester_vpc_id.  String type.
221941
221942              peer_vpc_id
221943                     ID of the VPC tp crete VPC peering connection with.  This
221944                     can   be   a  VPC  in  another  account.  Exclusive  with
221945                     peer_vpc_name. String type.
221946
221947              peer_vpc_name
221948                     Name tag of the VPC tp crete VPC peering connection with.
221949                     This  can  only be a VPC the same account. Exclusive with
221950                     peer_vpc_id.  String type.
221951
221952              conn_name
221953                     The (optional) name to use for this VPC  peering  connec‐
221954                     tion. String type.
221955
221956              peer_owner_id
221957                     ID  of  the  owner  of the peer VPC. String type. If this
221958                     isn't supplied AWS uses your  account  ID.   Required  if
221959                     peering to a different account.
221960
221961              region Region to connect to.
221962
221963              key    Secret key to be used.
221964
221965              keyid  Access key to be used.
221966
221967              profile
221968                     A  dict  with  region,  key  and  keyid,  or a pillar key
221969                     (string) that contains a dict with region, key and keyid.
221970
221971              New in version 2016.11.0.
221972
221973
221974              Example:
221975
221976                 request a vpc peering connection:
221977                   boto_vpc.request_vpc_peering_connection:
221978                     - requester_vpc_id: vpc-4b3522e
221979                     - peer_vpc_id: vpc-ae83f9ca
221980                     - conn_name: salt_peering_connection
221981
221982       salt.states.boto_vpc.route_table_absent(name,  region=None,   key=None,
221983       keyid=None, profile=None)
221984              Ensure the named route table is absent.
221985
221986              name   Name of the route table.
221987
221988              region Region to connect to.
221989
221990              key    Secret key to be used.
221991
221992              keyid  Access key to be used.
221993
221994              profile
221995                     A  dict  with  region,  key  and  keyid,  or a pillar key
221996                     (string) that contains a dict with region, key and keyid.
221997
221998       salt.states.boto_vpc.route_table_present(name,           vpc_name=None,
221999       vpc_id=None,     routes=None,    subnet_ids=None,    subnet_names=None,
222000       tags=None, region=None, key=None, keyid=None, profile=None)
222001              Ensure route table with routes exists and  is  associated  to  a
222002              VPC.
222003
222004              This function requires boto3 to be installed if nat gatewyas are
222005              specified.
222006
222007              Example:
222008
222009                 boto_vpc.route_table_present:
222010                   - name: my_route_table
222011                   - vpc_id: vpc-123456
222012                   - routes:
222013                     - destination_cidr_block: 0.0.0.0/0
222014                       internet_gateway_name: InternetGateway
222015                     - destination_cidr_block: 10.10.11.0/24
222016                       instance_id: i-123456
222017                     - destination_cidr_block: 10.10.12.0/24
222018                       interface_id: eni-123456
222019                     - destination_cidr_block: 10.10.13.0/24
222020                       instance_name: mygatewayserver
222021                   - subnet_names:
222022                     - subnet1
222023                     - subnet2
222024
222025              name   Name of the route table.
222026
222027              vpc_name
222028                     Name of the VPC with which  the  route  table  should  be
222029                     associated.
222030
222031              vpc_id Id  of the VPC with which the route table should be asso‐
222032                     ciated.  Either vpc_name or vpc_id must be provided.
222033
222034              routes A list of routes.  Each route has a cidr and a target.
222035
222036              subnet_ids
222037                     A list of subnet ids to associate
222038
222039              subnet_names
222040                     A list of subnet names to associate
222041
222042              tags   A list of tags.
222043
222044              region Region to connect to.
222045
222046              key    Secret key to be used.
222047
222048              keyid  Access key to be used.
222049
222050              profile
222051                     A dict with region,  key  and  keyid,  or  a  pillar  key
222052                     (string) that contains a dict with region, key and keyid.
222053
222054       salt.states.boto_vpc.subnet_absent(name=None,           subnet_id=None,
222055       region=None, key=None, keyid=None, profile=None)
222056              Ensure subnet with passed properties is absent.
222057
222058              name   Name of the subnet.
222059
222060              region Region to connect to.
222061
222062              key    Secret key to be used.
222063
222064              keyid  Access key to be used.
222065
222066              profile
222067                     A dict with region,  key  and  keyid,  or  a  pillar  key
222068                     (string) that contains a dict with region, key and keyid.
222069
222070       salt.states.boto_vpc.subnet_present(name,   cidr_block,  vpc_name=None,
222071       vpc_id=None, availability_zone=None, tags=None, region=None,  key=None,
222072       keyid=None,  profile=None,  route_table_id=None, route_table_name=None,
222073       auto_assign_public_ipv4=False)
222074              Ensure a subnet exists.
222075
222076              name   Name of the subnet.
222077
222078              cidr_block
222079                     The range if IPs for the  subnet,  in  CIDR  format.  For
222080                     example:  10.0.0.0/24. Block size must be between /16 and
222081                     /28 netmask.
222082
222083              vpc_name
222084                     Name of the VPC in which the  subnet  should  be  placed.
222085                     Either vpc_name or vpc_id must be provided.
222086
222087              vpc_id Id  of  the  VPC  in  which  the subnet should be placed.
222088                     Either vpc_name or vpc_id must be provided.
222089
222090              availability_zone
222091                     AZ in which the subnet should be placed.
222092
222093              tags   A list of tags.
222094
222095              route_table_id
222096                     A route table ID to explicitly associate the subnet with.
222097                     If  both  route_table_id  and route_table_name are speci‐
222098                     fied, route_table_id will take precedence.
222099
222100                     New in version 2016.11.0.
222101
222102
222103              route_table_name
222104                     A route table name to  explicitly  associate  the  subnet
222105                     with.   If  both  route_table_id and route_table_name are
222106                     specified, route_table_id will take precedence.
222107
222108                     New in version 2016.11.0.
222109
222110
222111              region Region to connect to.
222112
222113              key    Secret key to be used.
222114
222115              keyid  Access key to be used.
222116
222117              profile
222118                     A dict with region,  key  and  keyid,  or  a  pillar  key
222119                     (string) that contains a dict with region, key and keyid.
222120
222121       salt.states.boto_vpc.vpc_peering_connection_absent(name,  conn_id=None,
222122       conn_name=None, region=None, key=None, keyid=None, profile=None)
222123
222124       salt.states.boto_vpc.vpc_peering_connection_present(name,
222125       requester_vpc_id=None,    requester_vpc_name=None,    peer_vpc_id=None,
222126       peer_vpc_name=None,  conn_name=None,  peer_owner_id=None,  region=None,
222127       key=None, keyid=None, profile=None)
222128
222129              name   Name of the state
222130
222131              requester_vpc_id
222132                     ID    of    the    requesting    VPC.    Exclusive   with
222133                     requester_vpc_name.
222134
222135              requester_vpc_name
222136                     Name  tag  of  the  requesting   VPC.    Exclusive   with
222137                     requester_vpc_id.
222138
222139              peer_vpc_id
222140                     ID  of the VPC tp crete VPC peering connection with. This
222141                     can  be  a  VPC  in  another  account.   Exclusive   with
222142                     peer_vpc_name.
222143
222144              peer_vpc_name
222145                     Name tag of the VPC tp crete VPC peering connection with.
222146                     This can only be a VPC in the same account, else  resolv‐
222147                     ing   it  into  a  vpc  ID  will  fail.   Exclusive  with
222148                     peer_vpc_id.
222149
222150              conn_name
222151                     The name to use for this VPC peering connection.
222152
222153              peer_owner_id
222154                     ID of the owner of the peer VPC. Defaults to your account
222155                     ID,  so  a  value  is required if peering with a VPC in a
222156                     different account.
222157
222158              region Region to connect to.
222159
222160              key    Secret key to be used.
222161
222162              keyid  Access key to be used.
222163
222164              profile
222165                     A dict with region,  key  and  keyid,  or  a  pillar  key
222166                     (string) that contains a dict with region, key and keyid.
222167
222168              New in version 2016.11.0.
222169
222170
222171              Example:
222172
222173                 ensure peering twixt local vpc and the other guys:
222174                   boto_vpc.vpc_peering_connection_present:
222175                     - requester_vpc_name: my_local_vpc
222176                     - peer_vpc_name: some_other_guys_vpc
222177                     - conn_name: peering_from_here_to_there
222178                     - peer_owner_id: 012345654321
222179
222180   salt.states.bower
222181   Installation of Bower Packages
222182       These states manage the installed packages using Bower.  Note that npm,
222183       git and bower must be installed for these states to  be  available,  so
222184       bower  states should include requisites to pkg.installed states for the
222185       packages which provide npm and git (simply npm and git in most  cases),
222186       and npm.installed state for the package which provides bower.
222187
222188       Example:
222189
222190          npm:
222191            pkg.installed
222192          git:
222193            pkg.installed
222194          bower:
222195            npm.installed
222196            require:
222197              - pkg: npm
222198              - pkg: git
222199
222200          underscore:
222201            bower.installed:
222202              - dir: /path/to/project
222203              - require:
222204                - npm: bower
222205
222206       salt.states.bower.bootstrap(name, user=None)
222207              Bootstraps a frontend distribution.
222208
222209              Will execute 'bower install' on the specified directory.
222210
222211              user   The user to run Bower with
222212
222213       salt.states.bower.installed(name, dir, pkgs=None, user=None, env=None)
222214              Verify that the given package is installed and is at the correct
222215              version (if specified).
222216
222217                 underscore:
222218                   bower.installed:
222219                     - dir: /path/to/project
222220                     - user: someuser
222221
222222                 jquery#2.0:
222223                   bower.installed:
222224                     - dir: /path/to/project
222225
222226              name   The package to install
222227
222228              dir    The target directory in which to install the package
222229
222230              pkgs   A list of packages to install with a single Bower invoca‐
222231                     tion; specifying this argument will ignore the name argu‐
222232                     ment
222233
222234              user   The user to run Bower with
222235
222236              env    A list of environment variables to be set prior to execu‐
222237                     tion. The format is the same as the cmd.run.  state func‐
222238                     tion.
222239
222240       salt.states.bower.pruned(name, user=None, env=None)
222241              New in version 2017.7.0.
222242
222243
222244              Cleans up local bower_components directory.
222245
222246              Will execute 'bower prune' on the  specified  directory  (param:
222247              name)
222248
222249              user   The user to run Bower with
222250
222251       salt.states.bower.removed(name, dir, user=None)
222252              Verify that the given package is not installed.
222253
222254              dir    The target directory in which to install the package
222255
222256              user   The user to run Bower with
222257
222258   salt.states.cabal
222259   Installation of Cabal Packages
222260       New in version 2015.8.0.
222261
222262
222263       These  states  manage  the  installed packages for Haskell using cabal.
222264       Note that cabal-install must be installed for these states to be avail‐
222265       able,  so  cabal  states  should include a requisite to a pkg.installed
222266       state for the package which provides cabal (cabal-install  in  case  of
222267       Debian based distributions). Example:
222268
222269          .. code-block:: yaml
222270
222271          cabal-install:
222272                 pkg.installed
222273
222274          ShellCheck:
222275
222276                 cabal.installed:
222277
222278                        · require: - pkg: cabal-install
222279
222280       salt.states.cabal.installed(name,         pkgs=None,         user=None,
222281       install_global=False, env=None)
222282              Verify that the given package is installed and is at the correct
222283              version (if specified).
222284
222285                 ShellCheck-0.3.5:
222286                   cabal:
222287                     - installed:
222288
222289              name   The package to install
222290
222291              user   The user to run cabal install with
222292
222293              install_global
222294                     Install package globally instead of locally
222295
222296              env    A list of environment variables to be set prior to execu‐
222297                     tion. The format is the same as the cmd.run.  state func‐
222298                     tion.
222299
222300       salt.states.cabal.removed(name, user=None, env=None)
222301              Verify that given package is not installed.
222302
222303   salt.states.ceph module
222304       Manage ceph with salt.
222305
222306       New in version 2016.11.0.
222307
222308
222309       salt.states.ceph.quorum(name, **kwargs)
222310              Quorum state
222311
222312              This  state  checks  the  mon daemons are in quorum. It does not
222313              alter the cluster but can be used in formula as a dependency for
222314              many cluster operations.
222315
222316              Example usage in sls file:
222317
222318                 quorum:
222319                   sesceph.quorum:
222320                     - require:
222321                       - sesceph: mon_running
222322
222323   salt.states.chef
222324   Execute Chef client runs
222325       Run chef-client or chef-solo
222326
222327          my-chef-run:
222328            chef.client:
222329              - override-runlist: 'demo1,demo2'
222330              - server: 'https://chef.domain.com'
222331
222332          default-chef-run:
222333            chef.client: []
222334
222335          my-solo-run:
222336            chef.solo:
222337              - environment: dev
222338
222339       salt.states.chef.client(name, **kwargs)
222340
222341              name   Unique identifier for the state. Does not affect the Chef
222342                     run.
222343
222344              server The chef server URL
222345
222346              client_key
222347                     Set the client key file location
222348
222349              config The configuration file to use
222350
222351              config-file-jail
222352                     Directory under which config  files  are  allowed  to  be
222353                     loaded  (no  client.rb or knife.rb outside this path will
222354                     be loaded).
222355
222356              environment
222357                     Set the Chef Environment on the node
222358
222359              group  Group to set privilege to
222360
222361              json-attributes
222362                     Load attributes from a JSON file or URL
222363
222364              localmode
222365                     Point chef-client at local repository if True
222366
222367              log_level
222368                     Set the log level (debug, info, warn, error, fatal)
222369
222370              logfile
222371                     Set the log file location
222372
222373              node-name
222374                     The node name for this client
222375
222376              override-runlist
222377                     Replace current run list with specified items for a  sin‐
222378                     gle run
222379
222380              pid    Set     the    PID    file    location,    defaults    to
222381                     /tmp/chef-client.pid
222382
222383              run-lock-timeout
222384                     Set maximum duration to wait for another  client  run  to
222385                     finish, default is indefinitely.
222386
222387              runlist
222388                     Permanently replace current run list with specified items
222389
222390              user   User to set privilege to
222391
222392              validation_key
222393                     Set  the validation key file location, used for register‐
222394                     ing new clients
222395
222396       salt.states.chef.solo(name, **kwargs)
222397
222398              name   Unique identifier for the state. Does not affect the Chef
222399                     run.
222400
222401              config The configuration file to use
222402
222403              environment
222404                     Set the Chef Environment on the node
222405
222406              group  Group to set privilege to
222407
222408              json-attributes
222409                     Load attributes from a JSON file or URL
222410
222411              log_level
222412                     Set the log level (debug, info, warn, error, fatal)
222413
222414              logfile
222415                     Set the log file location
222416
222417              node-name
222418                     The node name for this client
222419
222420              override-runlist
222421                     Replace  current run list with specified items for a sin‐
222422                     gle run
222423
222424              recipe-url
222425                     Pull down a remote gzipped tarball of recipes  and  untar
222426                     it to the cookbook cache
222427
222428              run-lock-timeout
222429                     Set  maximum  duration  to wait for another client run to
222430                     finish, default is indefinitely.
222431
222432              user   User to set privilege to
222433
222434   salt.states.chocolatey module
222435       Manage Chocolatey package installs
222436
222437       NOTE:
222438          Chocolatey pulls data  from  the  Chocolatey  internet  database  to
222439          determine  current  versions,  find available versions, etc. This is
222440          normally a slow operation and  may  be  optimized  by  specifying  a
222441          local, smaller chocolatey repo.
222442
222443       salt.states.chocolatey.installed(name,    version=None,    source=None,
222444       force=False,     pre_versions=False,      install_args=None,      over‐
222445       ride_args=False,   force_x86=False,   package_args=None,   allow_multi‐
222446       ple=False)
222447              Installs a package if not already installed
222448
222449              Parameters
222450
222451                     · name (str) -- The name of the package to be  installed.
222452                       Required.
222453
222454                     · version  (str)  --  Install  a  specific version of the
222455                       package. Defaults to latest version. If the version  is
222456                       different  to the one installed then the specified ver‐
222457                       sion will be installed. Default is None.
222458
222459                     · source (str) -- Chocolatey repository (directory, share
222460                       or  remote URL, feed).  Defaults to the official Choco‐
222461                       latey feed. Default is None.
222462
222463                     · force (bool) -- Reinstall the  current  version  of  an
222464                       existing  package.  Do  not  use  with  allow_multiple.
222465                       Default is False.
222466
222467                     · pre_versions (bool) --  Include  pre-release  packages.
222468                       Default is False.
222469
222470                     · install_args  (str)  --  Install  arguments you want to
222471                       pass to the installation process, i.e  product  key  or
222472                       feature list. Default is None.
222473
222474                     · override_args  (bool)  --  Set  to  True if you want to
222475                       override the original install arguments (for the native
222476                       installer)  in  the package and use your own. When this
222477                       is set to False install_args will be  appended  to  the
222478                       end of the default arguments. Default is False.
222479
222480                     · force_x86  (bool)  -- Force x86 (32bit) installation on
222481                       64 bit systems. Default is False.
222482
222483                     · package_args (str) -- Arguments you want to pass to the
222484                       package. Default is None.
222485
222486                     · allow_multiple (bool) --
222487
222488                       Allow   mulitiple   versions   of  the  package  to  be
222489                       installed. Do not use with force. Does  not  work  with
222490                       all packages. Default is False.
222491
222492                       New in version 2017.7.0.
222493
222494
222495
222496                 Installsomepackage:
222497                   chocolatey.installed:
222498                     - name: packagename
222499                     - version: '12.04'
222500                     - source: 'mychocolatey/source'
222501                     - force: True
222502
222503       salt.states.chocolatey.uninstalled(name,       version=None,      unin‐
222504       stall_args=None, override_args=False)
222505              Uninstalls a package
222506
222507              name   The name of the package to be uninstalled
222508
222509              version
222510                     Uninstalls a specific version of the package. Defaults to
222511                     latest version installed.
222512
222513              uninstall_args
222514                     A  list  of  uninstall  arguments you want to pass to the
222515                     uninstallation process i.e product key or feature list
222516
222517              override_args
222518                     Set to true if you want to override  the  original  unin‐
222519                     stall arguments ( for the native uninstaller)in the pack‐
222520                     age and use your own.  When this is set  to  False  unin‐
222521                     stall_args  will  be  appended  to the end of the default
222522                     arguments
222523
222524       salt.states.chocolatey.upgraded(name,    version=None,     source=None,
222525       force=False,      pre_versions=False,      install_args=None,     over‐
222526       ride_args=False, force_x86=False, package_args=None)
222527              Upgrades a package. Will install the package if not installed.
222528
222529              New in version 2018.3.0.
222530
222531
222532              Parameters
222533
222534                     · name (str) -- The name of the package to be  installed.
222535                       Required.
222536
222537                     · version  (str)  --  Install  a  specific version of the
222538                       package. Defaults to latest version. If the version  is
222539                       greater  than the one installed then the specified ver‐
222540                       sion will be installed. Default is None.
222541
222542                     · source (str) -- Chocolatey repository (directory, share
222543                       or  remote URL, feed).  Defaults to the official Choco‐
222544                       latey feed. Default is None.
222545
222546                     · force (bool) -- True will reinstall an existing package
222547                       with the same version.  Default is False.
222548
222549                     · pre_versions  (bool)  --  True  will nclude pre-release
222550                       packages. Default is False.
222551
222552                     · install_args (str) -- Install  arguments  you  want  to
222553                       pass  to  the  installation process, i.e product key or
222554                       feature list. Default is None.
222555
222556                     · override_args (bool) -- True will override the original
222557                       install  arguments  (for  the  native installer) in the
222558                       package and use those specified in install_args.  False
222559                       will  append  install_args  to  the  end of the default
222560                       arguments. Default is False.
222561
222562                     · force_x86 (bool) -- True forces 32bit  installation  on
222563                       64 bit systems. Default is False.
222564
222565                     · package_args (str) -- Arguments you want to pass to the
222566                       package. Default is None.
222567
222568                 upgrade_some_package:
222569                   chocolatey.upgraded:
222570                     - name: packagename
222571                     - version: '12.04'
222572                     - source: 'mychocolatey/source'
222573
222574   salt.states.chronos_job module
222575       Configure Chronos jobs via a salt proxy.
222576
222577          my_job:
222578            chronos_job.config:
222579              - config:
222580                  schedule: "R//PT2S"
222581                  command: "echo 'hi'"
222582                  owner: "me@example.com"
222583
222584       New in version 2015.8.2.
222585
222586
222587       salt.states.chronos_job.absent(name)
222588              Ensure that the chronos job with the given name is not present.
222589
222590              Parameters
222591                     name -- The app name
222592
222593              Returns
222594                     A standard Salt changes dictionary
222595
222596       salt.states.chronos_job.config(name, config)
222597              Ensure that the chronos job with the given name is  present  and
222598              is configured to match the given config values.
222599
222600              Parameters
222601
222602                     · name -- The job name
222603
222604                     · config -- The configuration to apply (dict)
222605
222606              Returns
222607                     A standard Salt changes dictionary
222608
222609   salt.states.cimc
222610       A state module to manage Cisco UCS chassis devices.
222611
222612       codeauthor
222613              Spencer Ervin <spencer_ervin@hotmail.com>
222614
222615       maturity
222616              new
222617
222618       depends
222619              none
222620
222621       platform
222622              unix
222623
222624   About
222625       This state module was designed to handle connections to a Cisco Unified
222626       Computing System (UCS) chassis. This module relies on  the  CIMC  proxy
222627       module to interface with the device.
222628
222629       SEE ALSO:
222630          CIMC Proxy Module
222631
222632       salt.states.cimc.hostname(name, hostname=None)
222633              Ensures that the hostname is set to the specified value.
222634
222635              New in version Fluorine.
222636
222637
222638              name: The name of the module function to execute.
222639
222640              hostname(str): The hostname of the server.
222641
222642              SLS Example:
222643
222644                 set_name:
222645                   cimc.hostname:
222646                     - hostname: foobar
222647
222648       salt.states.cimc.logging_levels(name, remote=None, local=None)
222649              Ensures  that the logging levels are set on the device. The log‐
222650              ging levels must match the following options: emergency,  alert,
222651              critical, error, warning, notice, informational, debug.
222652
222653              New in version Fluorine.
222654
222655
222656              name: The name of the module function to execute.
222657
222658              remote(str): The logging level for SYSLOG logs.
222659
222660              local(str): The logging level for the local device.
222661
222662              SLS Example:
222663
222664                 logging_levels:
222665                   cimc.logging_levels:
222666                     - remote: informational
222667                     - local: notice
222668
222669       salt.states.cimc.ntp(name, servers)
222670              Ensures  that  the  NTP servers are configured. Servers are pro‐
222671              vided as an individual string or  list  format.  Only  four  NTP
222672              servers will be reviewed. Any entries past four will be ignored.
222673
222674              name: The name of the module function to execute.
222675
222676              servers(str, list): The IP address or FQDN of the NTP servers.
222677
222678              SLS Example:
222679
222680                 ntp_configuration_list:
222681                   cimc.ntp:
222682                     - servers:
222683                       - foo.bar.com
222684                       - 10.10.10.10
222685
222686                 ntp_configuration_str:
222687                   cimc.ntp:
222688                     - servers: foo.bar.com
222689
222690       salt.states.cimc.power_configuration(name, policy=None, delayType=None,
222691       delayValue=None)
222692              Ensures that the power configuration is configured on  the  sys‐
222693              tem. This is only available on some C-Series servers.
222694
222695              New in version Fluorine.
222696
222697
222698              name: The name of the module function to execute.
222699
222700              policy(str):  The  action  to  be  taken  when  chassis power is
222701              restored after an unexpected power loss. This can be one of  the
222702              following:
222703                 reset:  The  server is allowed to boot up normally when power
222704                 is restored. The server can restart immediately  or,  option‐
222705                 ally, after a fixed or random delay.
222706
222707                 stay-off:  The  server  remains  off  until  it  is  manually
222708                 restarted.
222709
222710                 last-state: The server restarts and the  system  attempts  to
222711                 restore  any  processes  that  were  running before power was
222712                 lost.
222713
222714              delayType(str): If the selected policy is reset, the restart can
222715              be delayed with this option. This can be one of the following:
222716                 fixed: The server restarts after a fixed delay.
222717
222718                 random: The server restarts after a random delay.
222719
222720              delayValue(int):  If  a  fixed  delay  is selected, once chassis
222721              power is restored and the Cisco IMC has finished rebooting,  the
222722              system waits for the specified number of seconds before restart‐
222723              ing the server. Enter an integer between 0 and 240.
222724
222725              SLS Example:
222726
222727                 reset_power:
222728                   cimc.power_configuration:
222729                     - policy: reset
222730                     - delayType: fixed
222731                     - delayValue: 0
222732
222733                 power_off:
222734                   cimc.power_configuration:
222735                     - policy: stay-off
222736
222737       salt.states.cimc.syslog(name, primary=None, secondary=None)
222738              Ensures that the syslog servers are set to the specified values.
222739              A value of None will be ignored.
222740
222741              name: The name of the module function to execute.
222742
222743              primary(str):  The  IP  address  or  FQDN  of the primary syslog
222744              server.
222745
222746              secondary(str): The IP address or FQDN of the  secondary  syslog
222747              server.
222748
222749              SLS Example:
222750
222751                 syslog_configuration:
222752                   cimc.syslog:
222753                     - primary: 10.10.10.10
222754                     - secondary: foo.bar.com
222755
222756       salt.states.cimc.user(name,  id=u'',  user=u'', priv=u'', password=u'',
222757       status=u'active')
222758              Ensures that a user is configured on the device.  Due  to  being
222759              unable to verify the user password. This is a forced operation.
222760
222761              New in version Fluorine.
222762
222763
222764              name: The name of the module function to execute.
222765
222766              id(int): The user ID slot on the device.
222767
222768              user(str): The username of the user.
222769
222770              priv(str): The privilege level of the user.
222771
222772              password(str): The password of the user.
222773
222774              status(str):  The  status  of  the user. Can be either active or
222775              inactive.
222776
222777              SLS Example:
222778
222779                 user_configuration:
222780                   cimc.user:
222781                     - id: 11
222782                     - user: foo
222783                     - priv: admin
222784                     - password: mypassword
222785                     - status: active
222786
222787   salt.states.cisconso
222788       State module for Cisco NSO Proxy minions
222789
222790       For documentation on setting up the cisconso proxy minion look  in  the
222791       documentation for salt.proxy.cisconso.
222792
222793       salt.states.cisconso.value_present(name, datastore, path, config)
222794              Ensure a specific value exists at a given path
222795
222796              Parameters
222797
222798                     · name (str) -- The name for this rule
222799
222800                     · datastore (DatastoreType (str enum).) -- The datastore,
222801                       e.g. running, operational.  One of  the  NETCONF  store
222802                       IETF types
222803
222804                     · path (list, str OR tuple) -- The device path to set the
222805                       value at, a list of element names in order, / separated
222806
222807                     · config (dict) -- The new value at the given path
222808
222809              Examples:
222810
222811                 enable pap auth:
222812                   cisconso.config_present:
222813                     - name: enable_pap_auth
222814                     - datastore: running
222815                     - path: devices/device/ex0/config/sys/interfaces/serial/ppp0/authentication
222816                     - config:
222817                         authentication:
222818                             method: pap
222819                             "list-name": foobar
222820
222821   salt.states.cloud
222822   Using states instead of maps to deploy clouds
222823       New in version 2014.1.0.
222824
222825
222826       Use this minion to spin up a cloud instance:
222827
222828          my-ec2-instance:
222829            cloud.profile:
222830              my-ec2-config
222831
222832       salt.states.cloud.absent(name, onlyif=None, unless=None)
222833              Ensure that no instances with the specified names exist.
222834
222835              CAUTION: This is a destructive state, which will search all con‐
222836              figured cloud providers for the named instance, and destroy it.
222837
222838              name   The name of the instance to destroy
222839
222840              onlyif Do run the state only if is unless succeed
222841
222842              unless Do not run the state at least unless succeed
222843
222844       salt.states.cloud.present(name,       cloud_provider,      onlyif=None,
222845       unless=None, opts=None, **kwargs)
222846              Spin up a single instance on a cloud provider, using salt-cloud.
222847              This  state  does  not take a profile argument; rather, it takes
222848              the arguments that would normally be configured as part  of  the
222849              state.
222850
222851              Note  that while this function does take any configuration argu‐
222852              ment that would normally be used to create an instance, it  will
222853              not  verify  the  state of any of those arguments on an existing
222854              instance. Stateful properties of an instance should  be  config‐
222855              ured  using  their  own  individual  state  (i.e., cloud.tagged,
222856              cloud.untagged, etc).
222857
222858              name   The name of the instance to create
222859
222860              cloud_provider
222861                     The name of the cloud provider to use
222862
222863              onlyif Do run the state only if is unless succeed
222864
222865              unless Do not run the state at least unless succeed
222866
222867              opts   Any extra opts that need to be used
222868
222869       salt.states.cloud.profile(name,  profile,   onlyif=None,   unless=None,
222870       opts=None, **kwargs)
222871              Create a single instance on a cloud provider, using a salt-cloud
222872              profile.
222873
222874              Note that while profiles used this function do take any configu‐
222875              ration  argument  that  would  normally  be  used  to  create an
222876              instance using a profile, this state will not verify  the  state
222877              of  any  of  those  arguments  on an existing instance. Stateful
222878              properties of an instance should be configured using  their  own
222879              individual state (i.e., cloud.tagged, cloud.untagged, etc).
222880
222881              name   The name of the instance to create
222882
222883              profile
222884                     The name of the cloud profile to use
222885
222886              onlyif Do run the state only if is unless succeed
222887
222888              unless Do not run the state at least unless succeed
222889
222890              kwargs Any profile override or addition
222891
222892              opts   Any extra opts that need to be used
222893
222894       salt.states.cloud.volume_absent(name, provider=None, **kwargs)
222895              Check that a block volume exists.
222896
222897       salt.states.cloud.volume_attached(name,   server_name,   provider=None,
222898       **kwargs)
222899              Check if a block volume is attached.
222900
222901       salt.states.cloud.volume_detached(name,               server_name=None,
222902       provider=None, **kwargs)
222903              Check if a block volume is attached.
222904
222905              Returns True if server or Volume do not exist.
222906
222907       salt.states.cloud.volume_present(name, provider=None, **kwargs)
222908              Check that a block volume exists.
222909
222910   salt.states.cmd
222911   Execution of arbitrary commands
222912       The cmd state module manages the enforcement of executed commands, this
222913       state can tell a command to run under certain circumstances.
222914
222915       A simple example to execute a command:
222916
222917          # Store the current date in a file
222918          'date > /tmp/salt-run':
222919            cmd.run
222920
222921       Only run if another execution failed, in this case truncate  syslog  if
222922       there is no disk space:
222923
222924          '> /var/log/messages/:
222925            cmd.run:
222926              - unless: echo 'foo' > /tmp/.test && rm -f /tmp/.test
222927
222928       Only  run if the file specified by creates does not exist, in this case
222929       touch /tmp/foo if it does not exist:
222930
222931          touch /tmp/foo:
222932            cmd.run:
222933              - creates: /tmp/foo
222934
222935       creates also accepts a list of files:
222936
222937          "echo 'foo' | tee /tmp/bar > /tmp/baz":
222938            cmd.run:
222939              - creates:
222940                - /tmp/bar
222941                - /tmp/baz
222942
222943       NOTE:
222944          The creates option was added to version 2014.7.0
222945
222946       Sometimes when running a command that starts  up  a  daemon,  the  init
222947       script  doesn't  return properly which causes Salt to wait indefinitely
222948       for a response.  In situations like this try the following:
222949
222950          run_installer:
222951            cmd.run:
222952              - name: /tmp/installer.bin > /dev/null 2>&1
222953
222954       Salt determines whether the cmd state is successfully enforced based on
222955       the  exit  code  returned by the command. If the command returns a zero
222956       exit code,  then  salt  determines  that  the  state  was  successfully
222957       enforced.  If the script returns a non-zero exit code, then salt deter‐
222958       mines that it failed to successfully enforce the state.  If  a  command
222959       returns  a  non-zero exit code but you wish to treat this as a success,
222960       then you must place the command in a script and explicitly set the exit
222961       code of the script to zero.
222962
222963       Please note that the success or failure of the state is not affected by
222964       whether a state change occurred nor the stateful argument.
222965
222966       When executing a command or script, the state (i.e., changed or not) of
222967       the  command  is unknown to Salt's state system. Therefore, by default,
222968       the cmd state assumes that any command execution results in  a  changed
222969       state.
222970
222971       This  means  that  if  a cmd state is watched by another state then the
222972       state that's watching will always be executed due to the changed  state
222973       in the cmd state.
222974
222975   Using the Stateful Argument
222976       Many  state  functions  in this module now also accept a stateful argu‐
222977       ment.  If stateful is specified to be true then it is assumed that  the
222978       command  or script will determine its own state and communicate it back
222979       by following a simple protocol described below:
222980
222981       1. If there's nothing in the stdout of  the  command,  then  assume  no
222982          changes.  Otherwise,  the  stdout must be either in JSON or its last
222983          non-empty line must be a string of key=value pairs delimited by spa‐
222984          ces (no spaces on either side of =).
222985
222986       2. If  it's  JSON  then  it  must  be a JSON object (e.g., {}). If it's
222987          key=value  pairs  then  quoting  may  be  used  to  include  spaces.
222988          (Python's shlex module is used to parse the key=value string)
222989
222990          Two special keys or attributes are recognized in the output:
222991
222992             changed: bool (i.e., 'yes', 'no', 'true', 'false', case-insensitive)
222993             comment: str  (i.e., any string)
222994
222995          So,  only  if  changed is True then assume the command execution has
222996          changed the state, and any other key values  or  attributes  in  the
222997          output will be set as part of the changes.
222998
222999       3. If  there's  a  comment  then  it will be used as the comment of the
223000          state.
223001
223002          Here's an example of how one might write a shell script for use with
223003          a stateful command:
223004
223005             #!/bin/bash
223006             #
223007             echo "Working hard..."
223008
223009             # writing the state line
223010             echo  # an empty line here so the next line will be the last.
223011             echo "changed=yes comment='something has changed' whatever=123"
223012
223013          And an example SLS file using this module:
223014
223015             Run myscript:
223016               cmd.run:
223017                 - name: /path/to/myscript
223018                 - cwd: /
223019                 - stateful: True
223020
223021             Run only if myscript changed something:
223022               cmd.run:
223023                 - name: echo hello
223024                 - cwd: /
223025                 - onchanges:
223026                     - cmd: Run myscript
223027
223028          Note  that if the second cmd.run state also specifies stateful: True
223029          it can then be watched by some other states as well.
223030
223031       4. The stateful argument can optionally include a test_name parameter.
223032
223033          This is used to specify a command to run in test mode.  This command
223034          should  return  stateful  data for changes that would be made by the
223035          command in the name parameter.
223036
223037          New in version 2015.2.0.
223038
223039
223040             Run myscript:
223041               cmd.run:
223042                 - name: /path/to/myscript
223043                 - cwd: /
223044                 - stateful:
223045                   - test_name: /path/to/myscript test
223046
223047             Run masterscript:
223048               cmd.script:
223049                 - name: masterscript
223050                 - source: salt://path/to/masterscript
223051                 - cwd: /
223052                 - stateful:
223053                   - test_name: masterscript test
223054
223055   Should I use cmd.run or cmd.wait?
223056       NOTE:
223057          Use cmd.run together with onchanges instead of cmd.wait.
223058
223059       These two states are often confused. The important  thing  to  remember
223060       about  them  is that cmd.run states are run each time the SLS file that
223061       contains them is applied. If it is more desirable  to  have  a  command
223062       that  only runs after some other state changes, then cmd.wait does just
223063       that. cmd.wait is designed to watch other states, and is executed  when
223064       the state it is watching changes. Example:
223065
223066          /usr/local/bin/postinstall.sh:
223067            cmd.wait:
223068              - watch:
223069                - pkg: mycustompkg
223070            file.managed:
223071              - source: salt://utils/scripts/postinstall.sh
223072
223073          mycustompkg:
223074            pkg.installed:
223075              - require:
223076                - file: /usr/local/bin/postinstall.sh
223077
223078       cmd.wait  itself  does not do anything; all functionality is inside its
223079       mod_watch function, which is called by watch on changes.
223080
223081       The preferred format is using the onchanges Requisite, which  works  on
223082       cmd.run  as  well as on any other state. The example would then look as
223083       follows:
223084
223085          /usr/local/bin/postinstall.sh:
223086            cmd.run:
223087              - onchanges:
223088                - pkg: mycustompkg
223089            file.managed:
223090              - source: salt://utils/scripts/postinstall.sh
223091
223092          mycustompkg:
223093            pkg.installed:
223094              - require:
223095                - file: /usr/local/bin/postinstall.sh
223096
223097   How do I create an environment from a pillar map?
223098       The map that comes from a pillar can be directly consumed  by  the  env
223099       option!  To use it, one may pass it like this. Example:
223100
223101          printenv:
223102            cmd.run:
223103              - env: {{ salt['pillar.get']('example:key', {}) }}
223104
223105       salt.states.cmd.call(name,   func,   args=(),   kws=None,  onlyif=None,
223106       unless=None, creates=None, output_loglevel=u'debug', hide_output=False,
223107       use_vt=False, **kwargs)
223108              Invoke a pre-defined Python function with arguments specified in
223109              the state declaration. This  function  is  mainly  used  by  the
223110              salt.renderers.pydsl renderer.
223111
223112              The  interpretation of onlyif and unless arguments are identical
223113              to those of cmd.run, and all other  arguments(cwd,  runas,  ...)
223114              allowed  by  cmd.run are allowed here, except that their effects
223115              apply only to the commands specified in onlyif and unless rather
223116              than to the function to be invoked.
223117
223118              In addition, the stateful argument has no effects here.
223119
223120              The  return value of the invoked function will be interpreted as
223121              follows.
223122
223123              If it's a dictionary then it will be passed through to the state
223124              system, which expects it to have the usual structure returned by
223125              any salt state function.
223126
223127              Otherwise, the return value  (denoted  as  result  in  the  code
223128              below)  is  expected  to be a JSON serializable object, and this
223129              dictionary is returned:
223130
223131                 {
223132                     'name': name
223133                     'changes': {'retval': result},
223134                     'result': True if result is None else bool(result),
223135                     'comment': result if isinstance(result, six.string_types) else ''
223136                 }
223137
223138       salt.states.cmd.mod_run_check(cmd_kwargs, onlyif, unless, creates)
223139              Execute the onlyif and unless logic.  Return a result dict if: *
223140              onlyif  failed  (onlyif  !=  0) * unless succeeded (unless == 0)
223141              else return True
223142
223143       salt.states.cmd.mod_watch(name, **kwargs)
223144              Execute a cmd function based on a watch call
223145
223146              NOTE:
223147                 This state exists to support special handling  of  the  watch
223148                 requisite. It should not be called directly.
223149
223150                 Parameters for this function should be set by the state being
223151                 triggered.
223152
223153       salt.states.cmd.run(name,   onlyif=None,   unless=None,   creates=None,
223154       cwd=None,  runas=None,  shell=None, env=None, prepend_path=None, state‐
223155       ful=False,  umask=None,  output_loglevel=u'debug',   hide_output=False,
223156       timeout=None,    ignore_timeout=False,    use_vt=False,    success_ret‐
223157       codes=None, **kwargs)
223158              Run a command if certain circumstances are met.  Use cmd.wait if
223159              you want to use the watch requisite.
223160
223161              name   The  command  to  execute, remember that the command will
223162                     execute with the path and permissions of the salt-minion.
223163
223164              onlyif A command to run as a check, run the named  command  only
223165                     if the command passed to the onlyif option returns a zero
223166                     exit status
223167
223168              unless A command to run as a check, only run the  named  command
223169                     if  the  command  passed  to  the unless option returns a
223170                     non-zero exit status
223171
223172              cwd    The current working directory to execute the command  in,
223173                     defaults to /root
223174
223175              runas  The user name to run the command as
223176
223177              shell  The  shell  to  use  for execution, defaults to the shell
223178                     grain
223179
223180              env    A list of environment variables to be set prior to execu‐
223181                     tion.  Example:
223182
223183                        script-foo:
223184                          cmd.run:
223185                            - env:
223186                              - BATCH: 'yes'
223187
223188                     WARNING:
223189                        The  above  illustrates  a common PyYAML pitfall, that
223190                        yes, no, on, off, true, and false are  all  loaded  as
223191                        boolean True and False values, and must be enclosed in
223192                        quotes to be used as strings. More info on  this  (and
223193                        other) PyYAML idiosyncrasies can be found here.
223194
223195                     Variables  as  values  are not evaluated. So $PATH in the
223196                     following example is a literal '$PATH':
223197
223198                        script-bar:
223199                          cmd.run:
223200                            - env: "PATH=/some/path:$PATH"
223201
223202                     One can still use the existing $PATH by using  a  bit  of
223203                     Jinja:
223204
223205                        {% set current_path = salt['environ.get']('PATH', '/bin:/usr/bin') %}
223206
223207                        mycommand:
223208                          cmd.run:
223209                            - name: ls -l /
223210                            - env:
223211                              - PATH: {{ [current_path, '/my/special/bin']|join(':') }}
223212
223213              prepend_path
223214                     $PATH  segment to prepend (trailing ':' not necessary) to
223215                     $PATH. This is an easier alternative to the  Jinja  work‐
223216                     around.
223217
223218                     New in version 2018.3.0.
223219
223220
223221              stateful
223222                     The  command  being  executed  is expected to return data
223223                     about executing a state. For more  information,  see  the
223224                     Using the "Stateful" Argument section.
223225
223226              umask  The umask (in octal) to use when running the command.
223227
223228              output_loglevel
223229                     debug  Control  the loglevel at which the output from the
223230                     command is logged to the minion log.
223231
223232                     NOTE:
223233                        The command being run will  still  be  logged  at  the
223234                        debug  loglevel  regardless,  unless quiet is used for
223235                        this value.
223236
223237              hide_output
223238                     False Suppress stdout and stderr in the state's results.
223239
223240                     NOTE:
223241                        This is separate from output_loglevel, which only han‐
223242                        dles how Salt logs to the minion log.
223243
223244                     New in version 2018.3.0.
223245
223246
223247              quiet  This  option  no longer has any functionality and will be
223248                     removed, please set output_loglevel to quiet to  suppress
223249                     logging of the command.
223250
223251                     Deprecated since version 2014.1.0.
223252
223253
223254              timeout
223255                     If  the command has not terminated after timeout seconds,
223256                     send the subprocess sigterm, and if sigterm  is  ignored,
223257                     follow up with sigkill
223258
223259              ignore_timeout
223260                     Ignore  the timeout of commands, which is useful for run‐
223261                     ning nohup processes.
223262
223263                     New in version 2015.8.0.
223264
223265
223266              creates
223267                     Only run if the file or files specified by creates do not
223268                     exist.
223269
223270                     New in version 2014.7.0.
223271
223272
223273              use_vt False Use VT utils (saltstack) to stream the command out‐
223274                     put more interactively to the console and the logs.  This
223275                     is experimental.
223276
223277              bg     False If True, run command in background and do not await
223278                     or deliver its results.
223279
223280                     New in version 2016.3.6.
223281
223282
223283              success_retcodes: This parameter will be allow a list of
223284                        non-zero return codes that should be considered a suc‐
223285                        cess.   If  the  return  code  returned  from  the run
223286                        matches any in the provided list, the return code will
223287                        be overridden with zero.
223288
223289                     New in version Fluorine.
223290
223291
223292              NOTE:
223293                 cmd.run  supports the usage of reload_modules. This function‐
223294                 ality allows you to force Salt to  reload  all  modules.  You
223295                 should only use reload_modules if your cmd.run does some sort
223296                 of installation (such as pip), if you do not reload the  mod‐
223297                 ules  future  items  in your state which rely on the software
223298                 being installed will fail.
223299
223300                     getpip:
223301                       cmd.run:
223302                         - name: /usr/bin/python /usr/local/sbin/get-pip.py
223303                         - unless: which pip
223304                         - require:
223305                           - pkg: python
223306                           - file: /usr/local/sbin/get-pip.py
223307                         - reload_modules: True
223308
223309       salt.states.cmd.script(name, source=None,  template=None,  onlyif=None,
223310       unless=None,  creates=None, cwd=None, runas=None, shell=None, env=None,
223311       stateful=False,   umask=None,    timeout=None,    use_vt=False,    out‐
223312       put_loglevel=u'debug',  hide_output=False, defaults=None, context=None,
223313       success_retcodes=None, **kwargs)
223314              Download a script and execute it with specified arguments.
223315
223316              source The location of the script to download. If  the  file  is
223317                     located on the master in the directory named spam, and is
223318                     called eggs, the source string is salt://spam/eggs
223319
223320              template
223321                     If this setting is  applied  then  the  named  templating
223322                     engine  will  be used to render the downloaded file. Cur‐
223323                     rently jinja, mako, and wempy are supported
223324
223325              name   Either "cmd arg1 arg2 arg3..." (cmd is  not  used)  or  a
223326                     source "salt://...".
223327
223328              onlyif Run  the  named command only if the command passed to the
223329                     onlyif option returns true
223330
223331              unless Run the named command only if the command passed  to  the
223332                     unless option returns false
223333
223334              cwd    The  current working directory to execute the command in,
223335                     defaults to /root
223336
223337              runas  The name of the user to run the command as
223338
223339              shell  The shell to use for execution. The  default  is  set  in
223340                     grains['shell']
223341
223342              env    A list of environment variables to be set prior to execu‐
223343                     tion.  Example:
223344
223345                        salt://scripts/foo.sh:
223346                          cmd.script:
223347                            - env:
223348                              - BATCH: 'yes'
223349
223350                     WARNING:
223351                        The above illustrates a common  PyYAML  pitfall,  that
223352                        yes,  no,  on,  off, true, and false are all loaded as
223353                        boolean True and False values, and must be enclosed in
223354                        quotes  to  be used as strings. More info on this (and
223355                        other) PyYAML idiosyncrasies can be found here.
223356
223357                     Variables as values are not evaluated. So  $PATH  in  the
223358                     following example is a literal '$PATH':
223359
223360                        salt://scripts/bar.sh:
223361                          cmd.script:
223362                            - env: "PATH=/some/path:$PATH"
223363
223364                     One  can  still  use the existing $PATH by using a bit of
223365                     Jinja:
223366
223367                        {% set current_path = salt['environ.get']('PATH', '/bin:/usr/bin') %}
223368
223369                        mycommand:
223370                          cmd.run:
223371                            - name: ls -l /
223372                            - env:
223373                              - PATH: {{ [current_path, '/my/special/bin']|join(':') }}
223374
223375              saltenv
223376                     base The Salt environment to use
223377
223378              umask  The umask (in octal) to use when running the command.
223379
223380              stateful
223381                     The command being executed is  expected  to  return  data
223382                     about  executing  a  state. For more information, see the
223383                     Using the "Stateful" Argument section.
223384
223385              timeout
223386                     If the command has not terminated after timeout  seconds,
223387                     send  the  subprocess sigterm, and if sigterm is ignored,
223388                     follow up with sigkill
223389
223390              args   String of command line args to pass to the script.   Only
223391                     used  if  no args are specified as part of the name argu‐
223392                     ment. To pass a string containing  spaces  in  YAML,  you
223393                     will need to doubly-quote it:  "arg1 'arg two' arg3"
223394
223395              creates
223396                     Only run if the file or files specified by creates do not
223397                     exist.
223398
223399                     New in version 2014.7.0.
223400
223401
223402              use_vt Use VT utils (saltstack) to  stream  the  command  output
223403                     more  interactively to the console and the logs.  This is
223404                     experimental.
223405
223406              context
223407                     New in version 2016.3.0.
223408
223409
223410                     Overrides default context variables passed  to  the  tem‐
223411                     plate.
223412
223413              defaults
223414                     New in version 2016.3.0.
223415
223416
223417                     Default context passed to the template.
223418
223419              output_loglevel
223420                     debug  Control  the loglevel at which the output from the
223421                     command is logged to the minion log.
223422
223423                     NOTE:
223424                        The command being run will  still  be  logged  at  the
223425                        debug  loglevel  regardless,  unless quiet is used for
223426                        this value.
223427
223428              hide_output
223429                     False Suppress stdout and stderr in the state's results.
223430
223431                     NOTE:
223432                        This is separate from output_loglevel, which only han‐
223433                        dles how Salt logs to the minion log.
223434
223435                     New in version 2018.3.0.
223436
223437
223438              success_retcodes: This parameter will be allow a list of
223439                        non-zero return codes that should be considered a suc‐
223440                        cess.  If  the  return  code  returned  from  the  run
223441                        matches any in the provided list, the return code will
223442                        be overridden with zero.
223443
223444                     New in version Fluorine.
223445
223446
223447       salt.states.cmd.wait(name,  onlyif=None,   unless=None,   creates=None,
223448       cwd=None,  runas=None,  shell=None, env=(), stateful=False, umask=None,
223449       output_loglevel=u'debug', hide_output=False, use_vt=False, success_ret‐
223450       codes=None, **kwargs)
223451              Run the given command only if the watch statement calls it.
223452
223453              NOTE:
223454                 Use cmd.run together with onchanges instead of cmd.wait.
223455
223456              name   The  command  to  execute, remember that the command will
223457                     execute with the path and permissions of the salt-minion.
223458
223459              onlyif A command to run as a check, run the named  command  only
223460                     if the command passed to the onlyif option returns true
223461
223462              unless A  command  to run as a check, only run the named command
223463                     if the command passed to the unless option returns false
223464
223465              cwd    The current working directory to execute the command  in,
223466                     defaults to /root
223467
223468              runas  The user name to run the command as
223469
223470              shell  The shell to use for execution, defaults to /bin/sh
223471
223472              env    A list of environment variables to be set prior to execu‐
223473                     tion.  Example:
223474
223475                        script-foo:
223476                          cmd.wait:
223477                            - env:
223478                              - BATCH: 'yes'
223479
223480                     WARNING:
223481                        The above illustrates a common  PyYAML  pitfall,  that
223482                        yes,  no,  on,  off, true, and false are all loaded as
223483                        boolean True and False values, and must be enclosed in
223484                        quotes  to  be used as strings. More info on this (and
223485                        other) PyYAML idiosyncrasies can be found here.
223486
223487                     Variables as values are not evaluated. So  $PATH  in  the
223488                     following example is a literal '$PATH':
223489
223490                        script-bar:
223491                          cmd.wait:
223492                            - env: "PATH=/some/path:$PATH"
223493
223494                     One  can  still  use the existing $PATH by using a bit of
223495                     Jinja:
223496
223497                        {% set current_path = salt['environ.get']('PATH', '/bin:/usr/bin') %}
223498
223499                        mycommand:
223500                          cmd.run:
223501                            - name: ls -l /
223502                            - env:
223503                              - PATH: {{ [current_path, '/my/special/bin']|join(':') }}
223504
223505              umask  The umask (in octal) to use when running the command.
223506
223507              stateful
223508                     The command being executed is  expected  to  return  data
223509                     about  executing  a  state. For more information, see the
223510                     Using the "Stateful" Argument section.
223511
223512              creates
223513                     Only run if the file or files specified by creates do not
223514                     exist.
223515
223516                     New in version 2014.7.0.
223517
223518
223519              output_loglevel
223520                     debug  Control  the loglevel at which the output from the
223521                     command is logged to the minion log.
223522
223523                     NOTE:
223524                        The command being run will  still  be  logged  at  the
223525                        debug  loglevel  regardless,  unless quiet is used for
223526                        this value.
223527
223528              hide_output
223529                     False Suppress stdout and stderr in the state's results.
223530
223531                     NOTE:
223532                        This is separate from output_loglevel, which only han‐
223533                        dles how Salt logs to the minion log.
223534
223535                     New in version 2018.3.0.
223536
223537
223538              use_vt Use  VT  utils  (saltstack)  to stream the command output
223539                     more interactively to the console and the logs.  This  is
223540                     experimental.
223541
223542              success_retcodes: This parameter will be allow a list of
223543                        non-zero return codes that should be considered a suc‐
223544                        cess.  If  the  return  code  returned  from  the  run
223545                        matches any in the provided list, the return code will
223546                        be overridden with zero.
223547
223548                     New in version Fluorine.
223549
223550
223551       salt.states.cmd.wait_call(name, func, args=(),  kws=None,  onlyif=None,
223552       unless=None,    creates=None,    stateful=False,   use_vt=False,   out‐
223553       put_loglevel=u'debug', hide_output=False, **kwargs)
223554
223555       salt.states.cmd.wait_script(name,      source=None,      template=None,
223556       onlyif=None,  unless=None,  cwd=None, runas=None, shell=None, env=None,
223557       stateful=False,  umask=None,  use_vt=False,   output_loglevel=u'debug',
223558       hide_output=False, **kwargs)
223559              Download  a script from a remote source and execute it only if a
223560              watch statement calls it.
223561
223562              source The source script being downloaded to  the  minion,  this
223563                     source  script  is  hosted on the salt master server.  If
223564                     the file is located on the master in the directory  named
223565                     spam,   and   is   called  eggs,  the  source  string  is
223566                     salt://spam/eggs
223567
223568              template
223569                     If this setting is  applied  then  the  named  templating
223570                     engine  will  be used to render the downloaded file, cur‐
223571                     rently jinja, mako, and wempy are supported
223572
223573              name   The command to execute, remember that  the  command  will
223574                     execute with the path and permissions of the salt-minion.
223575
223576              onlyif A  command  to run as a check, run the named command only
223577                     if the command passed to the onlyif option returns true
223578
223579              unless A command to run as a check, only run the  named  command
223580                     if the command passed to the unless option returns false
223581
223582              cwd    The  current working directory to execute the command in,
223583                     defaults to /root
223584
223585              runas  The user name to run the command as
223586
223587              shell  The shell to use for execution,  defaults  to  the  shell
223588                     grain
223589
223590              env    A list of environment variables to be set prior to execu‐
223591                     tion.  Example:
223592
223593                        salt://scripts/foo.sh:
223594                          cmd.wait_script:
223595                            - env:
223596                              - BATCH: 'yes'
223597
223598                     WARNING:
223599                        The above illustrates a common  PyYAML  pitfall,  that
223600                        yes,  no,  on,  off, true, and false are all loaded as
223601                        boolean True and False values, and must be enclosed in
223602                        quotes  to  be used as strings. More info on this (and
223603                        other) PyYAML idiosyncrasies can be found here.
223604
223605                     Variables as values are not evaluated. So  $PATH  in  the
223606                     following example is a literal '$PATH':
223607
223608                        salt://scripts/bar.sh:
223609                          cmd.wait_script:
223610                            - env: "PATH=/some/path:$PATH"
223611
223612                     One  can  still  use the existing $PATH by using a bit of
223613                     Jinja:
223614
223615                        {% set current_path = salt['environ.get']('PATH', '/bin:/usr/bin') %}
223616
223617                        mycommand:
223618                          cmd.run:
223619                            - name: ls -l /
223620                            - env:
223621                              - PATH: {{ [current_path, '/my/special/bin']|join(':') }}
223622
223623              umask  The umask (in octal) to use when running the command.
223624
223625              stateful
223626                     The command being executed is  expected  to  return  data
223627                     about  executing  a  state. For more information, see the
223628                     Using the "Stateful" Argument section.
223629
223630              use_vt Use VT utils (saltstack) to  stream  the  command  output
223631                     more  interactively to the console and the logs.  This is
223632                     experimental.
223633
223634              output_loglevel
223635                     debug Control the loglevel at which the output  from  the
223636                     command is logged to the minion log.
223637
223638                     NOTE:
223639                        The  command  being  run  will  still be logged at the
223640                        debug loglevel regardless, unless quiet  is  used  for
223641                        this value.
223642
223643              hide_output
223644                     False Suppress stdout and stderr in the state's results.
223645
223646                     NOTE:
223647                        This is separate from output_loglevel, which only han‐
223648                        dles how Salt logs to the minion log.
223649
223650                     New in version 2018.3.0.
223651
223652
223653              success_retcodes: This parameter will be allow a list of
223654                        non-zero return codes that should be considered a suc‐
223655                        cess.   If  the  return  code  returned  from  the run
223656                        matches any in the provided list, the return code will
223657                        be overridden with zero.
223658
223659                     New in version Fluorine.
223660
223661
223662   salt.states.composer
223663   Installation of Composer Packages
223664       These  states  manage the installed packages for composer for PHP. Note
223665       that either composer is installed and accessible via a bin directory or
223666       you can pass the location of composer in the state.
223667
223668          get-composer:
223669            cmd.run:
223670              - name: 'CURL=`which curl`; $CURL -sS https://getcomposer.org/installer | php'
223671              - unless: test -f /usr/local/bin/composer
223672              - cwd: /root/
223673
223674          install-composer:
223675            cmd.wait:
223676              - name: mv /root/composer.phar /usr/local/bin/composer
223677              - cwd: /root/
223678              - watch:
223679                - cmd: get-composer
223680
223681          /path/to/project:
223682            composer.installed:
223683              - no_dev: true
223684              - require:
223685                - cmd: install-composer
223686
223687
223688          # Without composer installed in your PATH
223689          # Note: composer.phar must be executable for state to work properly
223690          /path/to/project:
223691            composer.installed:
223692              - composer: /path/to/composer.phar
223693              - php: /usr/local/bin/php
223694              - no_dev: true
223695
223696       salt.states.composer.installed(name,      composer=None,      php=None,
223697       user=None,   prefer_source=None,   prefer_dist=None,   no_scripts=None,
223698       no_plugins=None,    optimize=None,   no_dev=None,   quiet=False,   com‐
223699       poser_home=u'/root', always_check=True, env=None)
223700              Verify that the correct versions of  composer  dependencies  are
223701              present.
223702
223703              name   Directory location of the composer.json file.
223704
223705              composer
223706                     Location  of  the composer.phar file. If not set composer
223707                     will just execute composer as if it  is  installed  glob‐
223708                     ally.  (i.e. /path/to/composer.phar)
223709
223710              php    Location  of  the  php  executable  to use with composer.
223711                     (i.e. /usr/bin/php)
223712
223713              user   Which system user to run composer as.
223714
223715                     New in version 2014.1.4.
223716
223717
223718              prefer_source
223719                     --prefer-source option of composer.
223720
223721              prefer_dist
223722                     --prefer-dist option of composer.
223723
223724              no_scripts
223725                     --no-scripts option of composer.
223726
223727              no_plugins
223728                     --no-plugins option of composer.
223729
223730              optimize
223731                     --optimize-autoloader option of composer. Recommended for
223732                     production.
223733
223734              no_dev --no-dev option for composer. Recommended for production.
223735
223736              quiet  --quiet  option  for  composer.  Whether or not to return
223737                     output from composer.
223738
223739              composer_home
223740                     $COMPOSER_HOME environment variable
223741
223742              always_check
223743                     If True, always run composer install  in  the  directory.
223744                     This  is  the  default behavior.  If False, only run com‐
223745                     poser install if there is no vendor directory present.
223746
223747              env    A list of environment variables to be set prior to execu‐
223748                     tion.
223749
223750       salt.states.composer.update(name,  composer=None,  php=None, user=None,
223751       prefer_source=None, prefer_dist=None, no_scripts=None, no_plugins=None,
223752       optimize=None,    no_dev=None,   quiet=False,   composer_home=u'/root',
223753       env=None)
223754              Composer update the directory to ensure we have the latest  ver‐
223755              sions of all project dependencies.
223756
223757              name   Directory location of the composer.json file.
223758
223759              composer
223760                     Location  of  the composer.phar file. If not set composer
223761                     will just execute composer as if it  is  installed  glob‐
223762                     ally.  (i.e. /path/to/composer.phar)
223763
223764              php    Location  of  the  php  executable  to use with composer.
223765                     (i.e. /usr/bin/php)
223766
223767              user   Which system user to run composer as.
223768
223769                     New in version 2014.1.4.
223770
223771
223772              prefer_source
223773                     --prefer-source option of composer.
223774
223775              prefer_dist
223776                     --prefer-dist option of composer.
223777
223778              no_scripts
223779                     --no-scripts option of composer.
223780
223781              no_plugins
223782                     --no-plugins option of composer.
223783
223784              optimize
223785                     --optimize-autoloader option of composer. Recommended for
223786                     production.
223787
223788              no_dev --no-dev option for composer. Recommended for production.
223789
223790              quiet  --quiet  option  for  composer.  Whether or not to return
223791                     output from composer.
223792
223793              composer_home
223794                     $COMPOSER_HOME environment variable
223795
223796              env    A list of environment variables to be set prior to execu‐
223797                     tion.
223798
223799   salt.states.cron
223800   Management of cron, the Unix command scheduler
223801       Cron declarations require a number of parameters. The following are the
223802       parameters used by Salt to define the various timing values for a  cron
223803       job:
223804
223805       · minute
223806
223807       · hour
223808
223809       · daymonth
223810
223811       · month
223812
223813       · dayweek  (0  to 6 are Sunday through Saturday, 7 can also be used for
223814         Sunday)
223815
223816       WARNING:
223817          Any timing arguments not specified take a value  of  *.  This  means
223818          that  setting  hour  to 5, while not defining the minute param, will
223819          result in Salt adding a job that will execute every minute between 5
223820          and 6 A.M.!
223821
223822          Additionally,  the default user for these states is root. Therefore,
223823          if the cron job is for another user, it is necessary to specify that
223824          user with the user parameter.
223825
223826       A  long  time  ago  (before 2014.2), when making changes to an existing
223827       cron job, the name declaration is the parameter used to uniquely  iden‐
223828       tify the job, so if an existing cron that looks like this:
223829
223830          date > /tmp/crontest:
223831            cron.present:
223832              - user: root
223833              - minute: 5
223834
223835       Is changed to this:
223836
223837          date > /tmp/crontest:
223838            cron.present:
223839              - user: root
223840              - minute: 7
223841              - hour: 2
223842
223843       Then  the  existing  cron  will  be updated, but if the cron command is
223844       changed, then a new cron job will be added to the user's crontab.
223845
223846       The current behavior is still relying on that mechanism,  but  you  can
223847       also specify an identifier to identify your crontabs:
223848
223849          date > /tmp/crontest:
223850            cron.present:
223851              - identifier: SUPERCRON
223852              - user: root
223853              - minute: 7
223854              - hour: 2
223855
223856       New in version 2014.1.2.
223857
223858
223859       And, some months later, you modify it:
223860
223861          superscript > /tmp/crontest:
223862            cron.present:
223863              - identifier: SUPERCRON
223864              - user: root
223865              - minute: 3
223866              - hour: 4
223867
223868       New in version 2014.1.2.
223869
223870
223871       The  old  date  >  /tmp/crontest  will  be  replaced  by  superscript >
223872       /tmp/crontest.
223873
223874       Additionally, Salt also supports running a cron every  x  minutes  very
223875       similarly  to  the Unix convention of using */5 to have a job run every
223876       five minutes. In Salt, this looks like:
223877
223878          date > /tmp/crontest:
223879            cron.present:
223880              - user: root
223881              - minute: '*/5'
223882
223883       The job will now run every 5 minutes.
223884
223885       Additionally, the temporal parameters (minute, hour, etc.) can be  ran‐
223886       domized by using random instead of using a specific value. For example,
223887       by using the random keyword in the minute parameter of  a  cron  state,
223888       the  same cron job can be pushed to hundreds or thousands of hosts, and
223889       they would each use a randomly-generated minute. This  can  be  helpful
223890       when  the cron job accesses a network resource, and it is not desirable
223891       for all hosts to run the job concurrently.
223892
223893          /path/to/cron/script:
223894            cron.present:
223895              - user: root
223896              - minute: random
223897              - hour: 2
223898
223899       New in version 0.16.0.
223900
223901
223902       Since Salt assumes a value of * for  unspecified  temporal  parameters,
223903       adding  a  parameter  to the state and setting it to random will change
223904       that value from * to a randomized numeric value. However, if that field
223905       in  the cron entry on the minion already contains a numeric value, then
223906       using the random keyword will not modify it.
223907
223908       Added the opportunity  to  set  a  job  with  a  special  keyword  like
223909       '@reboot'  or  '@hourly'.  Quotes  must  be used, otherwise PyYAML will
223910       strip the '@' sign.
223911
223912          /path/to/cron/script:
223913            cron.present:
223914              - user: root
223915              - special: '@hourly'
223916
223917       The script will be executed every reboot if cron  daemon  support  this
223918       option.
223919
223920          /path/to/cron/otherscript:
223921            cron.absent:
223922              - user: root
223923              - special: '@daily'
223924
223925       This counter part definition will ensure than a job with a special key‐
223926       word is not set.
223927
223928       salt.states.cron.absent(name,  user=u'root',   identifier=False,   spe‐
223929       cial=None, **kwargs)
223930              Verifies that the specified cron job is absent for the specified
223931              user; only the name is matched when removing a cron job.
223932
223933              name   The command that should be absent in the user crontab.
223934
223935              user   The name of the user whose crontab needs to be  modified,
223936                     defaults to the root user
223937
223938              identifier
223939                     Custom-defined  identifier for tracking the cron line for
223940                     future crontab edits. This defaults to the state name
223941
223942              special
223943                     The  special  keyword  used  in  the  job  (eg.  @reboot,
223944                     @hourly...).   Quotes must be used, otherwise PyYAML will
223945                     strip the '@' sign.
223946
223947       salt.states.cron.env_absent(name, user=u'root')
223948              Verifies that the specified environment variable is absent  from
223949              the crontab for the specified user
223950
223951              name   The  name  of the environment variable to remove from the
223952                     user crontab
223953
223954              user   The name of the user whose crontab needs to be  modified,
223955                     defaults to the root user
223956
223957       salt.states.cron.env_present(name, value=None, user=u'root')
223958              Verifies  that  the specified environment variable is present in
223959              the crontab for the specified user.
223960
223961              name   The name of the environment variable to set in  the  user
223962                     crontab
223963
223964              user   The  name of the user whose crontab needs to be modified,
223965                     defaults to the root user
223966
223967              value  The value to set for the given environment variable
223968
223969       salt.states.cron.file(name,   source_hash=u'',   source_hash_name=None,
223970       user=u'root', template=None, context=None, replace=True, defaults=None,
223971       backup=u'', **kwargs)
223972              Provides file.managed-like functionality (templating, etc.)  for
223973              a pre-made crontab file, to be assigned to a given user.
223974
223975              name   The  source  file  to be used as the crontab. This source
223976                     file can be hosted on either the salt master  server,  or
223977                     on  an  HTTP or FTP server.  For files hosted on the salt
223978                     file server, if the file is located on the master in  the
223979                     directory  named  spam,  and  is  called eggs, the source
223980                     string is salt://spam/eggs
223981
223982                     If the file is hosted on a HTTP or FTP  server  then  the
223983                     source_hash argument is also required
223984
223985              source_hash
223986                     This  can  be  either a file which contains a source hash
223987                     string for the source,  or  a  source  hash  string.  The
223988                     source  hash string is the hash algorithm followed by the
223989                     hash of the file: md5=e138491e9d5b97023cea823fe17bac22
223990
223991              source_hash_name
223992                     When source_hash refers to a hash file, Salt will try  to
223993                     find  the correct hash by matching the filename/URI asso‐
223994                     ciated with that hash. By default, Salt will look for the
223995                     filename  being  managed.  When  managing  a file at path
223996                     /tmp/foo.txt, then the following  line  in  a  hash  file
223997                     would match:
223998
223999                        acbd18db4cc2f85cedef654fccc4a4d8    foo.txt
224000
224001                     However, sometimes a hash file will include multiple sim‐
224002                     ilar paths:
224003
224004                        37b51d194a7513e45b56f6524f2d51f2    ./dir1/foo.txt
224005                        acbd18db4cc2f85cedef654fccc4a4d8    ./dir2/foo.txt
224006                        73feffa4b7f6bb68e44cf984c85f6e88    ./dir3/foo.txt
224007
224008                     In cases like this, Salt may match  the  incorrect  hash.
224009                     This  argument can be used to tell Salt which filename to
224010                     match, to ensure that the correct hash is identified. For
224011                     example:
224012
224013                        foo_crontab:
224014                          cron.file:
224015                            - name: https://mydomain.tld/dir2/foo.txt
224016                            - source_hash: https://mydomain.tld/hashes
224017                            - source_hash_name: ./dir2/foo.txt
224018
224019                     NOTE:
224020                        This  argument  must  contain  the full filename entry
224021                        from the checksum file, as this argument is  meant  to
224022                        disambiguate  matches for multiple files that have the
224023                        same basename. So, in the example above, simply  using
224024                        foo.txt would not match.
224025
224026                     New in version 2016.3.5.
224027
224028
224029              user   The  user  to  whom  the crontab should be assigned. This
224030                     defaults to root.
224031
224032              template
224033                     If this setting is  applied  then  the  named  templating
224034                     engine  will  be used to render the downloaded file. Cur‐
224035                     rently, jinja and mako are supported.
224036
224037              context
224038                     Overrides default context variables passed  to  the  tem‐
224039                     plate.
224040
224041              replace
224042                     If  the  crontab  should  be replaced, if False then this
224043                     command will be ignored if a crontab exists for the spec‐
224044                     ified user. Default is True.
224045
224046              defaults
224047                     Default context passed to the template.
224048
224049              backup Overrides the default backup mode for the user's crontab.
224050
224051       salt.states.cron.present(name,  user=u'root',  minute=u'*',  hour=u'*',
224052       daymonth=u'*', month=u'*', dayweek=u'*', comment=None, commented=False,
224053       identifier=False, special=None)
224054              Verifies  that  the specified cron job is present for the speci‐
224055              fied user.  It is recommended to use identifier.  Otherwise  the
224056              cron  job  is  installed twice if you change the name.  For more
224057              advanced information about what exactly can be set in  the  cron
224058              timing  parameters, check your cron system's documentation. Most
224059              Unix-like systems' cron  documentation  can  be  found  via  the
224060              crontab man page: man 5 crontab.
224061
224062              name   The command that should be executed by the cron job.
224063
224064              user   The  name of the user whose crontab needs to be modified,
224065                     defaults to the root user
224066
224067              minute The information to be set into the minute  section,  this
224068                     can  be  any  string  supported by your cron system's the
224069                     minute field. Default is *
224070
224071              hour   The information to be set in the hour section. Default is
224072                     *
224073
224074              daymonth
224075                     The  information  to  be set in the day of month section.
224076                     Default is *
224077
224078              month  The information to be set in the month  section.  Default
224079                     is *
224080
224081              dayweek
224082                     The  information  to  be  set in the day of week section.
224083                     Default is *
224084
224085              comment
224086                     User comment to be added on line previous the cron job
224087
224088              commented
224089                     The cron job is set commented (prefixed with #DISABLED#).
224090                     Defaults to False.
224091
224092                     New in version 2016.3.0.
224093
224094
224095              identifier
224096                     Custom-defined  identifier for tracking the cron line for
224097                     future crontab edits. This defaults to the state name
224098
224099              special
224100                     A special keyword to specify  periodicity  (eg.  @reboot,
224101                     @hourly...).   Quotes must be used, otherwise PyYAML will
224102                     strip the '@' sign.
224103
224104                     New in version 2016.3.0.
224105
224106
224107   salt.states.csf module
224108   CSF Ip tables management
224109       depends
224110
224111              · csf utility
224112
224113       configuration
224114              See http://download.configserver.com/csf/install.txt  for  setup
224115              instructions.
224116
224117          Simply allow/deny rules:
224118            csf.rule_present:
224119              ip: 1.2.3.4
224120              method: allow
224121
224122       salt.states.csf.nics_skip(name, nics, ipv6)
224123              Alias for csf.nics_skipped
224124
224125       salt.states.csf.nics_skipped(name, nics, ipv6=False)
224126
224127              name   Meaningless arg, but required for state.
224128
224129              nics   A list of nics to skip.
224130
224131              ipv6   Boolean.  Set to true if you want to skip the ipv6 inter‐
224132                     face. Default false (ipv4).
224133
224134       salt.states.csf.option_present(name, value, reload=False)
224135              Ensure the state of a particular option/setting in csf.
224136
224137              name   The option name in csf.conf
224138
224139              value  The value it should be set to.
224140
224141              reload Boolean. If set to true, csf will be reloaded after.
224142
224143       salt.states.csf.ports_open(name, ports, proto=u'tcp', direction=u'in')
224144              Ensure ports are open for a protocol, in a  direction.   e.g.  -
224145              proto='tcp',  direction='in'  would set the values for TCP_IN in
224146              the csf.conf file.
224147
224148              ports  A list of ports that should be open.
224149
224150              proto  The protocol. May be one  of  'tcp',  'udp',  'tcp6',  or
224151                     'udp6'.
224152
224153              direction
224154                     Choose  'in',  'out', or both to indicate the port should
224155                     be opened for inbound traffic, outbound traffic, or both.
224156
224157       salt.states.csf.rule_absent(name,  method,   port=None,   proto=u'tcp',
224158       direction=u'in',     port_origin=u'd',     ip_origin=u's',    ttl=None,
224159       reload=False)
224160              Ensure iptable is not present.
224161
224162              name   The ip address or CIDR for the rule.
224163
224164              method The type of rule.  Either 'allow' or 'deny'.
224165
224166              port   Optional port to be open or closed for the iptables rule.
224167
224168              proto  The protocol. Either 'tcp', 'udp'.   Only  applicable  if
224169                     port is specified.
224170
224171              direction
224172                     The  diretion  of  traffic  to apply the rule to.  Either
224173                     'in', or 'out'. Only applicable if port is specified.
224174
224175              port_origin
224176                     Specifies either the source or destination port is  rele‐
224177                     vant for this rule. Only applicable if port is specified.
224178                     Either 's', or 'd'.
224179
224180              ip_origin
224181                     Specifies whether the ip  in  this  rule  refers  to  the
224182                     source or destination ip. Either 's', or 'd'. Only appli‐
224183                     cable if port is specified.
224184
224185              ttl    How long the rule should exist. If supplied,  csf.tempal‐
224186                     low() or csf.tempdeny()` are used.
224187
224188              reload Reload the csf service after applying this rule.  Default
224189                     false.
224190
224191       salt.states.csf.rule_present(name,  method,  port=None,   proto=u'tcp',
224192       direction=u'in',   port_origin=u'd',   ip_origin=u's',  ttl=None,  com‐
224193       ment=u'', reload=False)
224194              Ensure iptable rule exists.
224195
224196              name   The ip address or CIDR for the rule.
224197
224198              method The type of rule.  Either 'allow' or 'deny'.
224199
224200              port   Optional port to be open or closed for the iptables rule.
224201
224202              proto  The protocol. Either 'tcp', or 'udp'.  Only applicable if
224203                     port is specified.
224204
224205              direction
224206                     The  diretion  of  traffic  to apply the rule to.  Either
224207                     'in', or 'out'. Only applicable if port is specified.
224208
224209              port_origin
224210                     Specifies either the source or destination port is  rele‐
224211                     vant for this rule. Only applicable if port is specified.
224212                     Either 's', or 'd'.
224213
224214              ip_origin
224215                     Specifies whether the ip  in  this  rule  refers  to  the
224216                     source or destination ip. Either 's', or 'd'. Only appli‐
224217                     cable if port is specified.
224218
224219              ttl    How long the rule should exist. If supplied,  csf.tempal‐
224220                     low() or csf.tempdeny()` are used.
224221
224222              comment
224223                     An  optional  comment to appear after the rule as a #com‐
224224                     ment .
224225
224226              reload Reload the csf service after applying this rule.  Default
224227                     false.
224228
224229       salt.states.csf.testing_off(name, reload=False)
224230              Ensure testing mode is enabled in csf.
224231
224232              reload Reload  CSF  after  changing the testing status.  Default
224233                     false.
224234
224235       salt.states.csf.testing_on(name, reload=False)
224236              Ensure testing mode is enabled in csf.
224237
224238              reload Reload CSF after changing the  testing  status.   Default
224239                     false.
224240
224241   salt.states.cyg
224242       Installation of Cygwin packages.
224243
224244       A  state module to manage cygwin packages. Packages can be installed or
224245       removed.
224246
224247          dos2unix:
224248            cyg.installed
224249
224250       class salt.states.cyg.DictDiffer(current_dict, past_dict)
224251              Calculate the difference between two dictionaries.
224252
224253              1. items added
224254
224255              2. items removed
224256
224257              3. keys same in both but changed values
224258
224259              4. keys same in both and unchanged values
224260
224261              added()
224262                     Return a set of additions to past_dict.
224263
224264              changed()
224265                     Return a set of the keys with changed values.
224266
224267              removed()
224268                     Return a set of things removed from past_dict.
224269
224270              same() True if the two dicts are the same.
224271
224272              unchanged()
224273                     Return a set of the keys with unchanged values.
224274
224275       salt.states.cyg.installed(name, cyg_arch=u'x86_64', mirrors=None)
224276              Make sure that a package is installed.
224277
224278              name   The name of the package to install
224279
224280              cyg_arch
224281                     x86_64 The cygwin architecture  to  install  the  package
224282                     into.  Current options are x86 and x86_64
224283
224284              mirrors
224285                     None  List  of mirrors to check.  None will use a default
224286                     mirror (kernel.org)
224287
224288              CLI Example:
224289
224290                 rsync:
224291                   cyg.installed:
224292                     - mirrors:
224293                       - http://mirror/without/public/key: ""
224294                       - http://mirror/with/public/key: http://url/of/public/key
224295
224296       salt.states.cyg.removed(name, cyg_arch=u'x86_64', mirrors=None)
224297              Make sure that a package is not installed.
224298
224299              name   The name of the package to uninstall
224300
224301              cyg_arch
224302                     x86_64 The cygwin  architecture  to  remove  the  package
224303                     from.  Current options are x86 and x86_64
224304
224305              mirrors
224306                     None  List  of mirrors to check.  None will use a default
224307                     mirror (kernel.org)
224308
224309              CLI Example:
224310
224311                 rsync:
224312                   cyg.removed:
224313                     - mirrors:
224314                       - http://mirror/without/public/key: ""
224315                       - http://mirror/with/public/key: http://url/of/public/key
224316
224317       salt.states.cyg.updated(name=None, cyg_arch=u'x86_64', mirrors=None)
224318              Make sure all packages are up to date.
224319
224320              name   None No affect, salt fails poorly without the arg  avail‐
224321                     able
224322
224323              cyg_arch
224324                     x86_64   The  cygwin  architecture  to  update.   Current
224325                     options are x86 and x86_64
224326
224327              mirrors
224328                     None List of mirrors to check.  None will use  a  default
224329                     mirror (kernel.org)
224330
224331              CLI Example:
224332
224333                 rsync:
224334                   cyg.updated:
224335                     - mirrors:
224336                       - http://mirror/without/public/key: ""
224337                       - http://mirror/with/public/key: http://url/of/public/key
224338
224339   salt.states.ddns
224340   Dynamic DNS updates
224341       Ensure  a  DNS  record  is  present  or  absent utilizing RFC 2136 type
224342       dynamic updates.
224343
224344       depends
224345
224346              · dnspython
224347
224348       NOTE:
224349          The dnspython module is required when managing  DDNS  using  a  TSIG
224350          key.  If you are not using a TSIG key, DDNS is allowed by ACLs based
224351          on IP address and the dnspython module is not required.
224352
224353       Example:
224354
224355          webserver:
224356            ddns.present:
224357              - zone: example.com
224358              - ttl: 60
224359              - data: 111.222.333.444
224360              - nameserver: 123.234.345.456
224361              - keyfile: /srv/salt/dnspy_tsig_key.txt
224362
224363       salt.states.ddns.absent(name, zone, data=None, rdtype=None, **kwargs)
224364              Ensures that the named DNS record is absent.
224365
224366              name   The host portion of the DNS  record,  e.g.,  'webserver'.
224367                     Name  and zone are concatenated when the entry is created
224368                     unless name includes a trailing dot, so  make  sure  that
224369                     information is not duplicated in these two arguments.
224370
224371              zone   The zone to check
224372
224373              data   Data  for  the  DNS record. E.g., the IP address for an A
224374                     record.  If  omitted,  all  records  matching  name  (and
224375                     rdtype, if provided) will be purged.
224376
224377              rdtype DNS resource type. If omitted, all types will be purged.
224378
224379              **kwargs
224380                     Additional  arguments  the  ddns.update function may need
224381                     (e.g.  nameserver,  keyfile,  keyname).   Note  that  the
224382                     nsupdate  key  file can’t be reused by this function, the
224383                     keyfile and other arguments  must  follow  the  dnspython
224384                     spec.
224385
224386       salt.states.ddns.present(name, zone, ttl, data, rdtype=u'A', **kwargs)
224387              Ensures that the named DNS record is present with the given ttl.
224388
224389              name   The  host  portion  of the DNS record, e.g., 'webserver'.
224390                     Name and zone are concatenated when the entry is  created
224391                     unless  name  includes  a trailing dot, so make sure that
224392                     information is not duplicated in these two arguments.
224393
224394              zone   The zone to check/update
224395
224396              ttl    TTL for the record
224397
224398              data   Data for the DNS record. E.g., the IP address  for  an  A
224399                     record.
224400
224401              rdtype DNS resource type. Default 'A'.
224402
224403              **kwargs
224404                     Additional  arguments  the  ddns.update function may need
224405                     (e.g.  nameserver,  keyfile,  keyname).   Note  that  the
224406                     nsupdate  key  file can’t be reused by this function, the
224407                     keyfile and other arguments  must  follow  the  dnspython
224408                     spec.
224409
224410   salt.states.debconfmod
224411   Management of debconf selections
224412       depends
224413
224414              · debconf-utils package
224415
224416       The  debconfmod  state module manages the enforcement of debconf selec‐
224417       tions, this state can set those selections prior to  package  installa‐
224418       tion.
224419
224420   Available Functions
224421       The debconfmod state has two functions, the set and set_file functions
224422
224423       set    Set debconf selections from the state itself
224424
224425       set_file
224426              Set debconf selections from a file
224427
224428          nullmailer-debconf:
224429            debconf.set:
224430              - name: nullmailer
224431              - data:
224432                  'shared/mailname': {'type': 'string', 'value': 'server.domain.tld'}
224433                  'nullmailer/relayhost': {'type': 'string', 'value': 'mail.domain.tld'}
224434          ferm-debconf:
224435            debconf.set:
224436              - name: ferm
224437              - data:
224438                  'ferm/enable': {'type': 'boolean', 'value': True}
224439
224440       NOTE:
224441          Due to how PyYAML imports nested dicts (see here), the values in the
224442          data dict must be indented four spaces instead of two.
224443
224444       salt.states.debconfmod.set(name, data, **kwargs)
224445              Set debconf selections
224446
224447                 <state_id>:
224448                   debconf.set:
224449                     - name: <name>
224450                     - data:
224451                         <question>: {'type': <type>, 'value': <value>}
224452                         <question>: {'type': <type>, 'value': <value>}
224453
224454                 <state_id>:
224455                   debconf.set:
224456                     - name: <name>
224457                     - data:
224458                         <question>: {'type': <type>, 'value': <value>}
224459                         <question>: {'type': <type>, 'value': <value>}
224460
224461              name:  The package name to set answers for.
224462
224463              data:  A set of questions/answers for debconf. Note that  every‐
224464                     thing under this must be indented twice.
224465
224466              question:
224467                     The question the is being pre-answered
224468
224469              type:  The  type  of question that is being asked (string, bool‐
224470                     ean, select, etc.)
224471
224472              value: The answer to the question
224473
224474       salt.states.debconfmod.set_file(name,   source,   template=None,   con‐
224475       text=None, defaults=None, **kwargs)
224476              Set debconf selections from a file or a template
224477
224478                 <state_id>:
224479                   debconf.set_file:
224480                     - source: salt://pathto/pkg.selections
224481
224482                 <state_id>:
224483                   debconf.set_file:
224484                     - source: salt://pathto/pkg.selections?saltenv=myenvironment
224485
224486                 <state_id>:
224487                   debconf.set_file:
224488                     - source: salt://pathto/pkg.selections.jinja2
224489                     - template: jinja
224490                     - context:
224491                         some_value: "false"
224492
224493              source:
224494                     The  location  of  the file containing the package selec‐
224495                     tions
224496
224497              template
224498                     If this setting is  applied  then  the  named  templating
224499                     engine  will  be  used  to  render the package selections
224500                     file, currently jinja, mako, and wempy are supported
224501
224502              context
224503                     Overrides default context variables passed  to  the  tem‐
224504                     plate.
224505
224506              defaults
224507                     Default context passed to the template.
224508
224509   salt.states.dellchassis
224510       Manage chassis via Salt Proxies.
224511
224512       New in version 2015.8.2.
224513
224514
224515       Below is an example state that sets basic parameters:
224516
224517          my-dell-chassis:
224518            dellchassis.chassis:
224519              - chassis_name: my-dell-chassis
224520              - datacenter: dc-1-us
224521              - location: my-location
224522              - mode: 2
224523              - idrac_launch: 1
224524              - slot_names:
224525                - server-1: my-slot-name
224526                - server-2: my-other-slot-name
224527              - blade_power_states:
224528                - server-1: on
224529                - server-2: off
224530                - server-3: powercycle
224531
224532       However,  it  is possible to place the entire set of chassis configura‐
224533       tion data in pillar. Here's an example pillar structure:
224534
224535          proxy:
224536            host: 10.27.20.18
224537            admin_username: root
224538            fallback_admin_username: root
224539            passwords:
224540              - super-secret
224541              - old-secret
224542            proxytype: fx2
224543
224544            chassis:
224545              name: fx2-1
224546              username: root
224547              password: saltstack1
224548              datacenter: london
224549              location: rack-1-shelf-3
224550              management_mode: 2
224551              idrac_launch: 0
224552              slot_names:
224553                - 'server-1': blade1
224554                - 'server-2': blade2
224555
224556              servers:
224557                server-1:
224558                  idrac_password: saltstack1
224559                  ipmi_over_lan: True
224560                  ip: 172.17.17.132
224561                  netmask: 255.255.0.0
224562                  gateway: 172.17.17.1
224563                server-2:
224564                  idrac_password: saltstack1
224565                  ipmi_over_lan: True
224566                  ip: 172.17.17.2
224567                  netmask: 255.255.0.0
224568                  gateway: 172.17.17.1
224569                server-3:
224570                  idrac_password: saltstack1
224571                  ipmi_over_lan: True
224572                  ip: 172.17.17.20
224573                  netmask: 255.255.0.0
224574                  gateway: 172.17.17.1
224575                server-4:
224576                  idrac_password: saltstack1
224577                  ipmi_over_lan: True
224578                  ip: 172.17.17.2
224579                  netmask: 255.255.0.0
224580                  gateway: 172.17.17.1
224581
224582              switches:
224583                switch-1:
224584                  ip: 192.168.1.2
224585                  netmask: 255.255.255.0
224586                  gateway: 192.168.1.1
224587                  snmp: nonpublic
224588                  password: saltstack1
224589                switch-2:
224590                  ip: 192.168.1.3
224591                  netmask: 255.255.255.0
224592                  gateway: 192.168.1.1
224593                  snmp: nonpublic
224594                  password: saltstack1
224595
224596       And to go with it, here's an example state that pulls the data from the
224597       pillar stated above:
224598
224599          {% set details = pillar.get('proxy:chassis', {}) %}
224600          standup-step1:
224601            dellchassis.chassis:
224602              - name: {{ details['name'] }}
224603              - location: {{ details['location'] }}
224604              - mode: {{ details['management_mode'] }}
224605              - idrac_launch: {{ details['idrac_launch'] }}
224606              - slot_names:
224607                {% for entry details['slot_names'] %}
224608                  - {{ entry.keys()[0] }}: {{ entry[entry.keys()[0]]  }}
224609                {% endfor %}
224610
224611          blade_powercycle:
224612            dellchassis.chassis:
224613              - blade_power_states:
224614                - server-1: powercycle
224615                - server-2: powercycle
224616                - server-3: powercycle
224617                - server-4: powercycle
224618
224619          # Set idrac_passwords for blades.  racadm needs them to be called 'server-x'
224620          {% for k, v in details['servers'].iteritems() %}
224621          {{ k }}:
224622            dellchassis.blade_idrac:
224623              - idrac_password: {{ v['idrac_password'] }}
224624          {% endfor %}
224625
224626          # Set management ip addresses, passwords, and snmp strings for switches
224627          {% for k, v in details['switches'].iteritems() %}
224628          {{ k }}-switch-setup:
224629            dellchassis.switch:
224630              - name: {{ k }}
224631              - ip: {{ v['ip'] }}
224632              - netmask: {{ v['netmask'] }}
224633              - gateway: {{ v['gateway'] }}
224634              - password: {{ v['password'] }}
224635              - snmp: {{ v['snmp'] }}
224636          {% endfor %}
224637
224638       NOTE:
224639          This  state  module  relies  on the dracr.py execution module, which
224640          runs racadm commands on the chassis, blades, etc. The racadm command
224641          runs  very  slowly  and,  depending  on your state, the proxy minion
224642          return might timeout before the racadm commands have  completed.  If
224643          you  are repeatedly seeing minions timeout after state calls, please
224644          use the -t CLI argument to increase the timeout variable.
224645
224646          For example:
224647
224648              salt '*' state.sls my-dell-chasis-state-name -t 60
224649
224650       NOTE:
224651          The Dell CMC units perform adequately but many iDRACs are excruciat‐
224652          ingly slow.  Some functions can take minutes to execute.
224653
224654       salt.states.dellchassis.blade_idrac(name,          idrac_password=None,
224655       idrac_ipmi=None, idrac_ip=None, idrac_netmask=None, idrac_gateway=None,
224656       idrac_dnsname=None, idrac_dhcp=None)
224657              Set parameters for iDRAC in a blade.
224658
224659              Parameters
224660
224661                     · idrac_password  --  Password  to  use to connect to the
224662                       iDRACs directly (idrac_ipmi and idrac_dnsname  must  be
224663                       set  directly  on the iDRAC.  They can't be set through
224664                       the CMC.  If this password is present, use  it  instead
224665                       of the CMC password)
224666
224667                     · idrac_ipmi -- Enable/Disable IPMI over LAN
224668
224669                     · idrac_ip -- Set IP address for iDRAC
224670
224671                     · idrac_netmask -- Set netmask for iDRAC
224672
224673                     · idrac_gateway -- Set gateway for iDRAC
224674
224675                     · idrac_dhcp  --  Turn  on DHCP for iDRAC (True turns on,
224676                       False does nothing becaause setting a  static  IP  will
224677                       disable DHCP).
224678
224679              Returns
224680                     A standard Salt changes dictionary
224681
224682              NOTE:  If  any  of the IP address settings is configured, all of
224683              ip, netmask, and gateway must be present
224684
224685       salt.states.dellchassis.chassis(name, chassis_name=None, password=None,
224686       datacenter=None,     location=None,    mode=None,    idrac_launch=None,
224687       slot_names=None, blade_power_states=None)
224688              Manage a Dell Chassis.
224689
224690              chassis_name
224691                     The name of the chassis.
224692
224693              datacenter
224694                     The datacenter in which the chassis is located
224695
224696              location
224697                     The location of the chassis.
224698
224699              password
224700                     Password for the chassis. Note: If this password  is  set
224701                     for the chassis, the current implementation of this state
224702                     will set this password both on the chassis and the  iDrac
224703                     passwords  on  any configured blades. If the password for
224704                     the blades should be distinct, they should be  set  sepa‐
224705                     rately with the blade_idrac function.
224706
224707              mode   The management mode of the chassis. Viable options are:
224708
224709                     · 0: None
224710
224711                     · 1: Monitor
224712
224713                     · 2: Manage and Monitor
224714
224715              idrac_launch
224716                     The  iDRAC  launch  method of the chassis. Viable options
224717                     are:
224718
224719                     · 0: Disabled (launch iDRAC using IP address)
224720
224721                     · 1: Enabled (launch iDRAC using DNS name)
224722
224723              slot_names
224724                     The names of the slots, provided as a list identified  by
224725                     their slot numbers.
224726
224727              blade_power_states
224728                     The  power  states  of a blade server, provided as a list
224729                     and identified by their server  numbers.  Viable  options
224730                     are:
224731
224732                        · on: Ensure the blade server is powered on.
224733
224734                        · off: Ensure the blade server is powered off.
224735
224736                        · powercycle: Power cycle the blade server.
224737
224738              Example:
224739
224740                 my-dell-chassis:
224741                   dellchassis.chassis:
224742                     - chassis_name: my-dell-chassis
224743                     - location: my-location
224744                     - datacenter: london
224745                     - mode: 2
224746                     - idrac_launch: 1
224747                     - slot_names:
224748                       - 1: my-slot-name
224749                       - 2: my-other-slot-name
224750                     - blade_power_states:
224751                       - server-1: on
224752                       - server-2: off
224753                       - server-3: powercycle
224754
224755       salt.states.dellchassis.firmware_update(hosts=None, directory=u'')
224756                 State to update the firmware on host using the racadm command
224757
224758                 firmwarefile
224759                        filename (string) starting with salt://
224760
224761                 host   string  representing  the  hostname  supplied  to  the
224762                        racadm command
224763
224764                 directory
224765                        Directory name where firmwarefile will be downloaded
224766
224767                 dell-chassis-firmware-update:
224768                   dellchassis.firmware_update:
224769                     hosts:
224770                       cmc:
224771                         salt://firmware_cmc.exe
224772                       server-1:
224773                         salt://firmware.exe
224774                     directory: /opt/firmwares
224775
224776       salt.states.dellchassis.switch(name,   ip=None,   netmask=None,   gate‐
224777       way=None, dhcp=None, password=None, snmp=None)
224778              Manage switches in a Dell Chassis.
224779
224780              name   The switch designation (e.g. switch-1, switch-2)
224781
224782              ip     The Static IP Address of the switch
224783
224784              netmask
224785                     The netmask for the static IP
224786
224787              gateway
224788                     The gateway for the static IP
224789
224790              dhcp   True:  Enable  DHCP False: Do not change DHCP setup (dis‐
224791                     abling DHCP is automatic when a static IP is set)
224792
224793              password
224794                     The access (root) password for the switch
224795
224796              snmp   The SNMP community string for the switch
224797
224798              Example:
224799
224800                 my-dell-chassis:
224801                   dellchassis.switch:
224802                     - switch: switch-1
224803                     - ip: 192.168.1.1
224804                     - netmask: 255.255.255.0
224805                     - gateway: 192.168.1.254
224806                     - dhcp: True
224807                     - password: secret
224808                     - snmp: public
224809
224810   salt.states.disk
224811       Disk monitoring state
224812
224813       Monitor the state of disk resources.
224814
224815       The disk.status function can be used to report that the used space of a
224816       filesystem is within the specified limits.
224817
224818          used_space:
224819            disk.status:
224820              - name: /dev/xda1
224821              - maximum: 79%
224822              - minimum: 11%
224823
224824       It  can  be  used  with an onfail requisite, for example, to take addi‐
224825       tional action in response to or in preparation for other states.
224826
224827          storage_threshold:
224828            disk.status:
224829              - name: /dev/xda1
224830              - maximum: 97%
224831
224832          clear_cache:
224833            cmd.run:
224834              - name: rm -r /var/cache/app
224835              - onfail:
224836                - disk: storage_threshold
224837
224838       To use kilobytes (KB) for minimum and  maximum  rather  than  percents,
224839       specify the absolute flag:
224840
224841          used_space:
224842            disk.status:
224843              - name: /dev/xda1
224844              - minimum: 1024 KB
224845              - maximum: 1048576 KB
224846              - absolute: True
224847
224848       salt.states.disk.status(name,    maximum=None,    minimum=None,   abso‐
224849       lute=False)
224850              Return the current disk usage stats for the named mount point
224851
224852              name   Disk mount with which to check used space
224853
224854              maximum
224855                     The maximum disk utilization
224856
224857              minimum
224858                     The minimum disk utilization
224859
224860              absolute
224861                     By default, the utilization is  measured  in  percentage.
224862                     Set the absolute flag to use kilobytes.
224863
224864                     New in version 2016.11.0.
224865
224866
224867   salt.states.docker_container
224868       Management of Docker containers
224869
224870       New in version 2017.7.0.
224871
224872
224873       depends
224874              docker Python module
224875
224876       NOTE:
224877          Older  releases  of  the  Python  bindings  for  Docker  were called
224878          docker-py in PyPI. All releases of docker, and releases of docker-py
224879          >=  1.6.0  are  supported.  These  python  bindings  can  easily  be
224880          installed using pip.install:
224881
224882              salt myminion pip.install docker
224883
224884          To upgrade from  docker-py  to  docker,  you  must  first  uninstall
224885          docker-py, and then install docker:
224886
224887              salt myminion pip.uninstall docker-py
224888              salt myminion pip.install docker
224889
224890       These  states  were moved from the docker state module (formerly called
224891       dockerng)   in    the    2017.7.0    release.    When    running    the
224892       docker_container.running  state  for  the first time after upgrading to
224893       2017.7.0, your container(s) may be replaced. The changes may show diffs
224894       for  certain  parameters  which  say  that  the  old value was an empty
224895       string, and the new value is None. This is due  to  the  fact  that  in
224896       prior  releases  Salt  was  passing empty strings for these values when
224897       creating the container if they were undefined in the  SLS  file,  where
224898       now  Salt  simply does not pass any arguments not explicitly defined in
224899       the SLS file.  Subsequent runs of the state should not replace the con‐
224900       tainer if the configuration remains unchanged.
224901
224902       NOTE:
224903          To  pull  from a Docker registry, authentication must be configured.
224904          See here for more information on how to configure access  to  docker
224905          registries in Pillar data.
224906
224907       salt.states.docker_container.absent(name, force=False)
224908              Ensure that a container is absent
224909
224910              name   Name of the container
224911
224912              force  False  Set  to True to remove the container even if it is
224913                     running
224914
224915              Usage Examples:
224916
224917                 mycontainer:
224918                   docker_container.absent
224919
224920                 multiple_containers:
224921                   docker_container.absent:
224922                     - names:
224923                       - foo
224924                       - bar
224925                       - baz
224926
224927       salt.states.docker_container.mod_run_check(onlyif, unless, creates)
224928              Execute the onlyif/unless/creates logic. Returns a  result  dict
224929              if any of the checks fail, otherwise returns True
224930
224931       salt.states.docker_container.mod_watch(name, sfun=None, **kwargs)
224932              The  docker_container  watcher,  called to invoke the watch com‐
224933              mand.
224934
224935              NOTE:
224936                 This state exists to support special handling  of  the  watch
224937                 requisite. It should not be called directly.
224938
224939                 Parameters for this function should be set by the state being
224940                 triggered.
224941
224942       salt.states.docker_container.run(name,     image=None,     onlyif=None,
224943       unless=None,   creates=None,  bg=False,  failhard=True,  replace=False,
224944       force=False,   skip_translate=None,   ignore_collisions=False,    vali‐
224945       date_ip_addrs=True, client_timeout=60, **kwargs)
224946              New in version 2018.3.0.
224947
224948
224949              NOTE:
224950                 If  no tag is specified in the image name, and nothing match‐
224951                 ing the specified image is pulled on the minion,  the  docker
224952                 pull  that  retrieves  the  image  will pull all tags for the
224953                 image. A tag of latest is not implicit for the pull. For this
224954                 reason,  it  is  recommended to specify the image in repo:tag
224955                 notation.
224956
224957              Like the cmd.run state, only for Docker.  Does the equivalent of
224958              a  docker  run  and returns information about the container that
224959              was created, as well as its output.
224960
224961              This     state     accepts     the     same     arguments     as
224962              docker_container.running,  with  the  exception of watch_action,
224963              start, and shutdown_timeout (though the  force  argument  has  a
224964              different meaning in this state).
224965
224966              In  addition, this state accepts the arguments from docker.logs,
224967              with the exception of follow, to control how logs are returned.
224968
224969              Additionally, the following arguments are supported:
224970
224971              onlyif A command or list of commands to run as a check. The con‐
224972                     tainer  will  only  run  if any of the specified commands
224973                     returns a zero exit status.
224974
224975              unless A command or list of commands to run as a check. The con‐
224976                     tainer  will  only  run  if any of the specified commands
224977                     returns a non-zero exit status.
224978
224979              creates
224980                     A path or list of paths. Only run if one or more  of  the
224981                     specified paths do not exist on the minion.
224982
224983              bg     False  If  True,  run  container in background and do not
224984                     await or deliver its results.
224985
224986                     NOTE:
224987                        This may not be useful in  cases  where  other  states
224988                        depend  on  the  results of this state. Also, the logs
224989                        will be  inaccessible  once  the  container  exits  if
224990                        auto_remove is set to True, so keep this in mind.
224991
224992              failhard
224993                     True If True, the state will return a False result if the
224994                     exit code of the container is non-zero. When  this  argu‐
224995                     ment is set to False, the state will return a True result
224996                     regardless of the container's exit code.
224997
224998                     NOTE:
224999                        This has no effect if bg is set to True.
225000
225001              replace
225002                     False If True, and if the named container already exists,
225003                     this  will  remove  the  existing  container. The default
225004                     behavior is to return a False result when  the  container
225005                     already exists.
225006
225007              force  False  If  True,  and the named container already exists,
225008                     and replace is also set to True, then the container  will
225009                     be  forcibly removed.  Otherwise, the state will not pro‐
225010                     ceed and will return a False result.
225011
225012              CLI Examples:
225013
225014                 salt myminion docker.run_container myuser/myimage command=/usr/local/bin/myscript.sh
225015
225016              USAGE EXAMPLE
225017
225018                 {% set pkg_version = salt.pillar.get('pkg_version', '1.0-1') %}
225019                 build_package:
225020                   docker_container.run:
225021                     - image: myuser/builder:latest
225022                     - binds: /home/myuser/builds:/build_dir
225023                     - command: /scripts/build.sh {{ pkg_version }}
225024                     - creates: /home/myuser/builds/myapp-{{ pkg_version }}.noarch.rpm
225025                     - replace: True
225026                     - networks:
225027                       - mynet
225028                     - require:
225029                       - docker_network: mynet
225030
225031       salt.states.docker_container.running(name,   image=None,    skip_trans‐
225032       late=None,       ignore_collisions=False,       validate_ip_addrs=True,
225033       force=False, watch_action=u'force', start=True,  shutdown_timeout=None,
225034       client_timeout=60, networks=None, **kwargs)
225035              Ensure that a container with a specific configuration is present
225036              and running
225037
225038              name   Name of the container
225039
225040              image  Image to use for the container
225041
225042                     NOTE:
225043                        This state will pull the image if it is  not  present.
225044                        However, if the image needs to be built from a Docker‐
225045                        file or loaded from a saved image,  or  if  you  would
225046                        like to use requisites to trigger a replacement of the
225047                        container  when  the  image  is  updated,   then   the
225048                        docker_image.present  state  should  be used to manage
225049                        the image.
225050
225051                     Changed in version 2018.3.0: If no tag  is  specified  in
225052                     the  image name, and nothing matching the specified image
225053                     is pulled on the minion, the docker pull  that  retrieves
225054                     the image will pull all tags for the image. A tag of lat‐
225055                     est is no longer implicit for the pull. For this  reason,
225056                     it  is recommended to specify the image in repo:tag nota‐
225057                     tion.
225058
225059
225060              skip_translate
225061                     This function translates Salt CLI or SLS input  into  the
225062                     format  which  docker-py  expects.  However, in the event
225063                     that Salt's translation logic  fails  (due  to  potential
225064                     changes  in  the  Docker  Remote  API,  or to bugs in the
225065                     translation code), this argument can  be  used  to  exert
225066                     granular  control over which arguments are translated and
225067                     which are not.
225068
225069                     Pass this argument as a comma-separated list  (or  Python
225070                     list) of arguments, and translation for each passed argu‐
225071                     ment name will be skipped. Alternatively, pass  True  and
225072                     all translation will be skipped.
225073
225074                     Skipping tranlsation allows for arguments to be formatted
225075                     directly in the  format  which  docker-py  expects.  This
225076                     allows for API changes and other issues to be more easily
225077                     worked around. An example of using this  option  to  skip
225078                     translation would be:
225079
225080                     For example, imagine that there is an issue with process‐
225081                     ing the port_bindings argument, and the following config‐
225082                     uration no longer works as expected:
225083
225084                        mycontainer:
225085                          docker_container.running:
225086                            - image: 7.3.1611
225087                            - port_bindings:
225088                              - 10.2.9.10:8080:80
225089
225090                     By  using skip_translate, you can forego the input trans‐
225091                     lation and configure  the  port  binding  in  the  format
225092                     docker-py needs:
225093
225094                        mycontainer:
225095                          docker_container.running:
225096                            - image: 7.3.1611
225097                            - skip_translate: port_bindings
225098                            - port_bindings: {8080: [('10.2.9.10', 80)], '4193/udp': 9314}
225099
225100                     See the following links for more information:
225101
225102                     · docker-py Low-level API
225103
225104                     · Docker Engine API
225105
225106              ignore_collisions
225107                     False  Since many of docker-py's arguments differ in name
225108                     from their CLI counterparts (with which most Docker users
225109                     are  more  familiar),  Salt  detects  usage  of these and
225110                     aliases them to the docker-py version of that argument so
225111                     that  both  CLI  and API versions of a given argument are
225112                     supported. However, if both the alias and  the  docker-py
225113                     version  of  the same argument (e.g. env and environment)
225114                     are used, an error will be raised. Set this  argument  to
225115                     True to suppress these errors and keep the docker-py ver‐
225116                     sion of the argument.
225117
225118              validate_ip_addrs
225119                     True For parameters which accept IP addresses  as  input,
225120                     IP  address validation will be performed. To disable, set
225121                     this to False
225122
225123              force  False Set this parameter to True to force Salt to re-cre‐
225124                     ate  the  container  irrespective of whether or not it is
225125                     configured as desired.
225126
225127              watch_action
225128                     force Control what type of  action  is  taken  when  this
225129                     state watches another state that has changes. The default
225130                     action is force, which runs the state with force  set  to
225131                     True, triggering a rebuild of the container.
225132
225133                     If  any other value is passed, it will be assumed to be a
225134                     kill signal.  If the container matches the specified con‐
225135                     figuration,  and  is  running, then the action will be to
225136                     send that signal to the container. Kill  signals  can  be
225137                     either  strings  or numbers, and are defined in the Stan‐
225138                     dard Signals section of the signal(7) manpage. Run man  7
225139                     signal  on a Linux host to browse this manpage. For exam‐
225140                     ple:
225141
225142                        mycontainer:
225143                          docker_container.running:
225144                            - image: busybox
225145                            - watch_action: SIGHUP
225146                            - watch:
225147                              - file: some_file
225148
225149                     NOTE:
225150                        If the container differs from the specified configura‐
225151                        tion,  or  is  not  running, then instead of sending a
225152                        signal to the container, the container will be re-cre‐
225153                        ated/started and no signal will be sent.
225154
225155              start  True  Set  to False to suppress starting of the container
225156                     if it exists, matches the desired configuration,  but  is
225157                     not  running. This is useful for data-only containers, or
225158                     for  non-daemonized  container  processes,  such  as  the
225159                     Django  migrate  and collectstatic commands. In instances
225160                     such as this, the container only needs to be started  the
225161                     first time.
225162
225163              shutdown_timeout
225164                     If the container needs to be replaced, the container will
225165                     be stopped using docker.stop. If a shutdown_timout is not
225166                     set,  and  the  container was created using stop_timeout,
225167                     that timeout will be used. If  neither  of  these  values
225168                     were set, then a timeout of 10 seconds will be used.
225169
225170                     Changed in version 2017.7.0: This option was renamed from
225171                     stop_timeout  to  shutdown_timeout  to  accommodate   the
225172                     stop_timeout container configuration setting.
225173
225174
225175              client_timeout
225176                     60  Timeout in seconds for the Docker client. This is not
225177                     a timeout for this function, but for receiving a response
225178                     from the API.
225179
225180                     NOTE:
225181                        This  is only used if Salt needs to pull the requested
225182                        image.
225183
225184              NETWORK MANAGEMENT
225185
225186              New in version 2018.3.0.
225187
225188
225189              Changed in version Fluorine: If the networks option is used, any
225190              networks  (including  the  default bridge network) which are not
225191              specified will be disconnected.
225192
225193
225194              The networks argument can be used to ensure that a container  is
225195              attached  to  one or more networks. Optionally, arguments can be
225196              passed to the networks. In the example below, net1 is being con‐
225197              figured  with arguments, while net2 and bridge are being config‐
225198              ured without arguments:
225199
225200                 foo:
225201                   docker_container.running:
225202                     - image: myuser/myimage:foo
225203                     - networks:
225204                       - net1:
225205                         - aliases:
225206                           - bar
225207                           - baz
225208                         - ipv4_address: 10.0.20.50
225209                       - net2
225210                       - bridge
225211                     - require:
225212                       - docker_network: net1
225213                       - docker_network: net2
225214
225215              The supported  arguments  are  the  ones  from  the  docker-py's
225216              connect_container_to_network  function (other than container and
225217              net_id).
225218
225219              IMPORTANT:
225220                 Unlike with the arguments described in the CONTAINER CONFIGU‐
225221                 RATION  PARAMETERS section below, these network configuration
225222                 parameters  are  not  translated   at   all.    Consult   the
225223                 connect_container_to_network  documentation  for  the correct
225224                 type/format of data to pass.
225225
225226              To start a container with no network connectivity (only possible
225227              in  Fluorine  and  later) pass this option as an empty list. For
225228              example:
225229
225230                 foo:
225231                   docker_container.running:
225232                     - image: myuser/myimage:foo
225233                     - networks: []
225234
225235              CONTAINER CONFIGURATION PARAMETERS
225236
225237              auto_remove (or rm)
225238                     False Enable auto-removal of the container on daemon side
225239                     when  the container’s process exits (analogous to running
225240                     a docker container with --rm on the CLI).
225241
225242                        foo:
225243                          docker_container.running:
225244                            - image: bar/baz:latest
225245                            - auto_remove: True
225246
225247              binds  Files/directories to bind mount. Each bind  mount  should
225248                     be passed in one of the following formats:
225249
225250                     · <host_path>:<container_path>  -  host_path  is  mounted
225251                       within the container as container_path with  read-write
225252                       access.
225253
225254                     · <host_path>:<container_path>:<selinux_context>        -
225255                       host_path is  mounted  within  the  container  as  con‐
225256                       tainer_path  with  read-write access. Additionally, the
225257                       specified selinux context will be set within  the  con‐
225258                       tainer.
225259
225260                     · <host_path>:<container_path>:<read_only> - host_path is
225261                       mounted within the container  as  container_path,  with
225262                       the read-only or read-write setting explicitly defined.
225263
225264                     · <host_path>:<container_path>:<read_only>,<selinux_con‐
225265                       text> - host_path is mounted within  the  container  as
225266                       container_path,  with  the read-only or read-write set‐
225267                       ting explicitly defined.  Additionally,  the  specified
225268                       selinux context will be set within the container.
225269
225270                     <read_only> can be either rw for read-write access, or ro
225271                     for read-only access. When omitted, it is assumed  to  be
225272                     read-write.
225273
225274                     <selinux_context>  can  be  z  if  the  volume  is shared
225275                     between multiple containers, or Z if the volume should be
225276                     private.
225277
225278                     NOTE:
225279                        When both <read_only> and <selinux_context> are speci‐
225280                        fied, there must be a comma before <selinux_context>.
225281
225282                     Binds can be expressed as a  comma-separated  list  or  a
225283                     YAML list. The below two examples are equivalent:
225284
225285                        foo:
225286                          docker_container.running:
225287                            - image: bar/baz:latest
225288                            - binds: /srv/www:/var/www:ro,/etc/foo.conf:/usr/local/etc/foo.conf:rw
225289
225290                        foo:
225291                          docker_container.running:
225292                            - image: bar/baz:latest
225293                            - binds:
225294                              - /srv/www:/var/www:ro
225295                              - /home/myuser/conf/foo.conf:/etc/foo.conf:rw
225296
225297                     However, in cases where both ro/rw and an selinux context
225298                     are combined, the only option is to use a YAML list, like
225299                     so:
225300
225301                        foo:
225302                          docker_container.running:
225303                            - image: bar/baz:latest
225304                            - binds:
225305                              - /srv/www:/var/www:ro,Z
225306                              - /home/myuser/conf/foo.conf:/etc/foo.conf:rw,Z
225307
225308                     Since  the second bind in the previous example is mounted
225309                     read-write, the rw and comma can be dropped. For example:
225310
225311                        foo:
225312                          docker_container.running:
225313                            - image: bar/baz:latest
225314                            - binds:
225315                              - /srv/www:/var/www:ro,Z
225316                              - /home/myuser/conf/foo.conf:/etc/foo.conf:Z
225317
225318              blkio_weight
225319                     Block IO weight (relative weight), accepts a weight value
225320                     between 10 and 1000.
225321
225322                        foo:
225323                          docker_container.running:
225324                            - image: bar/baz:latest
225325                            - blkio_weight: 100
225326
225327              blkio_weight_device
225328                     Block  IO weight (relative device weight), specified as a
225329                     list of expressions in the format PATH:RATE
225330
225331                        foo:
225332                          docker_container.running:
225333                            - image: bar/baz:latest
225334                            - blkio_weight_device: /dev/sda:100
225335
225336              cap_add
225337                     List of capabilities to add within the container. Can  be
225338                     expressed as a comma-separated list or a Python list. The
225339                     below two examples are equivalent:
225340
225341                        foo:
225342                          docker_container.running:
225343                            - image: bar/baz:latest
225344                            - cap_add: SYS_ADMIN,MKNOD
225345
225346                        foo:
225347                          docker_container.running:
225348                            - image: bar/baz:latest
225349                            - cap_add:
225350                              - SYS_ADMIN
225351                              - MKNOD
225352
225353                     NOTE:
225354                        This option requires Docker 1.2.0 or newer.
225355
225356              cap_drop
225357                     List of capabilities to drop within the container. Can be
225358                     expressed as a comma-separated list or a Python list. The
225359                     below two examples are equivalent:
225360
225361                        foo:
225362                          docker_container.running:
225363                            - image: bar/baz:latest
225364                            - cap_drop: SYS_ADMIN,MKNOD
225365
225366                        foo:
225367                          docker_container.running:
225368                            - image: bar/baz:latest
225369                            - cap_drop:
225370                              - SYS_ADMIN
225371                              - MKNOD
225372
225373                     NOTE:
225374                        This option requires Docker 1.2.0 or newer.
225375
225376              command (or cmd)
225377                     Command to run in the container
225378
225379                        foo:
225380                          docker_container.running:
225381                            - image: bar/baz:latest
225382                            - command: bash
225383
225384              cpuset_cpus (or cpuset)
225385                     CPUs on which which to allow execution,  specified  as  a
225386                     string containing a range (e.g. 0-3) or a comma-separated
225387                     list of CPUs (e.g. 0,1).
225388
225389                        foo:
225390                          docker_container.running:
225391                            - image: bar/baz:latest
225392                            - cpuset_cpus: "0,1"
225393
225394              cpuset_mems
225395                     Memory nodes on which which to allow execution, specified
225396                     as a string containing a range (e.g. 0-3) or a comma-sep‐
225397                     arated list of MEMs (e.g. 0,1). Only  effective  on  NUMA
225398                     systems.
225399
225400                        foo:
225401                          docker_container.running:
225402                            - image: bar/baz:latest
225403                            - cpuset_mems: "0,1"
225404
225405              cpu_group
225406                     The length of a CPU period in microseconds
225407
225408                        foo:
225409                          docker_container.running:
225410                            - image: bar/baz:latest
225411                            - cpu_group: 100000
225412
225413              cpu_period
225414                     Microseconds  of CPU time that the container can get in a
225415                     CPU period
225416
225417                        foo:
225418                          docker_container.running:
225419                            - image: bar/baz:latest
225420                            - cpu_period: 50000
225421
225422              cpu_shares
225423                     CPU shares (relative weight),  specified  as  an  integer
225424                     between 2 and 1024.
225425
225426                        foo:
225427                          docker_container.running:
225428                            - image: bar/baz:latest
225429                            - cpu_shares: 512
225430
225431              detach False  If  True, run the container's command in the back‐
225432                     ground (daemon mode)
225433
225434                        foo:
225435                          docker_container.running:
225436                            - image: bar/baz:latest
225437                            - detach: True
225438
225439              devices
225440                     List of host devices to expose within the container.  Can
225441                     be  expressed  as  a comma-separated list or a YAML list.
225442                     The below two examples are equivalent:
225443
225444                        foo:
225445                          docker_container.running:
225446                            - image: bar/baz:latest
225447                            - devices: /dev/net/tun,/dev/xvda1:/dev/xvda1,/dev/xvdb1:/dev/xvdb1:r
225448
225449                        foo:
225450                          docker_container.running:
225451                            - image: bar/baz:latest
225452                            - devices:
225453                              - /dev/net/tun
225454                              - /dev/xvda1:/dev/xvda1
225455                              - /dev/xvdb1:/dev/xvdb1:r
225456
225457              device_read_bps
225458                     Limit read rate (bytes per second) from a device,  speci‐
225459                     fied  as  a  list of expressions in the format PATH:RATE,
225460                     where RATE is either an integer number  of  bytes,  or  a
225461                     string  ending  in  kb,  mb, or gb. Can be expressed as a
225462                     comma-separated list or a YAML list. The below two  exam‐
225463                     ples are equivalent:
225464
225465                        foo:
225466                          docker_container.running:
225467                            - image: bar/baz:latest
225468                            - devices_read_bps: /dev/sda:1mb,/dev/sdb:5mb
225469
225470                        foo:
225471                          docker_container.running:
225472                            - image: bar/baz:latest
225473                            - devices_read_bps:
225474                              - /dev/sda:1mb
225475                              - /dev/sdb:5mb
225476
225477              device_read_iops
225478                     Limit read rate (I/O per second) from a device, specified
225479                     as a list of expressions in the format  PATH:RATE,  where
225480                     RATE is a number of I/O operations. Can be expressed as a
225481                     comma-separated list or a YAML list. The below two  exam‐
225482                     ples are equivalent:
225483
225484                        foo:
225485                          docker_container.running:
225486                            - image: bar/baz:latest
225487                            - devices_read_iops: /dev/sda:1000,/dev/sdb:500
225488
225489                        foo:
225490                          docker_container.running:
225491                            - image: bar/baz:latest
225492                            - devices_read_iops:
225493                              - /dev/sda:1000
225494                              - /dev/sdb:500
225495
225496              device_write_bps
225497                     Limit write rate (bytes per second) from a device, speci‐
225498                     fied as a list of expressions in  the  format  PATH:RATE,
225499                     where  RATE  is  either  an integer number of bytes, or a
225500                     string ending in kb, mb, or gb. Can  be  expressed  as  a
225501                     comma-separated  list or a YAML list. The below two exam‐
225502                     ples are equivalent:
225503
225504                        foo:
225505                          docker_container.running:
225506                            - image: bar/baz:latest
225507                            - devices_write_bps: /dev/sda:1mb,/dev/sdb:5mb
225508
225509                        foo:
225510                          docker_container.running:
225511                            - image: bar/baz:latest
225512                            - devices_write_bps:
225513                              - /dev/sda:1mb
225514                              - /dev/sdb:5mb
225515
225516              device_read_iops
225517                     Limit write rate (I/O per second) from a  device,  speci‐
225518                     fied  as  a  list of expressions in the format PATH:RATE,
225519                     where  RATE  is  a  number  of  I/O  operations.  Can  be
225520                     expressed  as  a comma-separated list or a YAML list. The
225521                     below two examples are equivalent:
225522
225523                        foo:
225524                          docker_container.running:
225525                            - image: bar/baz:latest
225526                            - devices_read_iops: /dev/sda:1000,/dev/sdb:500
225527
225528                        foo:
225529                          docker_container.running:
225530                            - image: bar/baz:latest
225531                            - devices_read_iops:
225532                              - /dev/sda:1000
225533                              - /dev/sdb:500
225534
225535              dns    List of DNS nameservers. Can be expressed as a comma-sep‐
225536                     arated  list  or  a YAML list. The below two examples are
225537                     equivalent:
225538
225539                        foo:
225540                          docker_container.running:
225541                            - image: bar/baz:latest
225542                            - dns: 8.8.8.8,8.8.4.4
225543
225544                        foo:
225545                          docker_container.running:
225546                            - image: bar/baz:latest
225547                            - dns:
225548                              - 8.8.8.8
225549                              - 8.8.4.4
225550
225551                     NOTE:
225552                        To   skip   IP   address   validation,    use    vali‐
225553                        date_ip_addrs=False
225554
225555              dns_opt
225556                     Additional   options  to  be  added  to  the  container’s
225557                     resolv.conf file.  Can be expressed as a  comma-separated
225558                     list  or  a YAML list. The below two examples are equiva‐
225559                     lent:
225560
225561                        foo:
225562                          docker_container.running:
225563                            - image: bar/baz:latest
225564                            - dns_opt: ndots:9
225565
225566                        foo:
225567                          docker_container.running:
225568                            - image: bar/baz:latest
225569                            - dns_opt:
225570                              - ndots:9
225571
225572              dns_search
225573                     List of  DNS  search  domains.  Can  be  expressed  as  a
225574                     comma-separated  list or a YAML list. The below two exam‐
225575                     ples are equivalent:
225576
225577                        foo:
225578                          docker_container.running:
225579                            - image: bar/baz:latest
225580                            - dns_search: foo1.domain.tld,foo2.domain.tld
225581
225582                        foo:
225583                          docker_container.running:
225584                            - image: bar/baz:latest
225585                            - dns_search:
225586                              - foo1.domain.tld
225587                              - foo2.domain.tld
225588
225589              domainname
225590                     The domain name to use for the container
225591
225592                        foo:
225593                          docker_container.running:
225594                            - image: bar/baz:latest
225595                            - dommainname: domain.tld
225596
225597              entrypoint
225598                     Entrypoint for the container
225599
225600                        foo:
225601                          docker_container.running:
225602                            - image: bar/baz:latest
225603                            - entrypoint: "mycmd --arg1 --arg2"
225604
225605                     This argument can also be specified as a list:
225606
225607                        foo:
225608                          docker_container.running:
225609                            - image: bar/baz:latest
225610                            - entrypoint:
225611                              - mycmd
225612                              - --arg1
225613                              - --arg2
225614
225615              environment
225616                     Either a list of variable/value mappings, or  a  list  of
225617                     strings  in  the  format  VARNAME=value.  The below three
225618                     examples are equivalent:
225619
225620                        foo:
225621                          docker_container.running:
225622                            - image: bar/baz:latest
225623                            - environment:
225624                              - VAR1: value
225625                              - VAR2: value
225626
225627                        foo:
225628                          docker_container.running:
225629                            - image: bar/baz:latest
225630                            - environment: 'VAR1=value,VAR2=value'
225631
225632                        foo:
225633                          docker_container.running:
225634                            - image: bar/baz:latest
225635                            - environment:
225636                              - VAR1=value
225637                              - VAR2=value
225638
225639              extra_hosts
225640                     Additional hosts to add  to  the  container's  /etc/hosts
225641                     file.  Can  be  expressed  as a comma-separated list or a
225642                     Python list. The below two examples are equivalent:
225643
225644                        foo:
225645                          docker_container.running:
225646                            - image: bar/baz:latest
225647                            - extra_hosts: web1:10.9.8.7,web2:10.9.8.8
225648
225649                        foo:
225650                          docker_container.running:
225651                            - image: bar/baz:latest
225652                            - extra_hosts:
225653                              - web1:10.9.8.7
225654                              - web2:10.9.8.8
225655
225656                     NOTE:
225657                        To   skip   IP   address   validation,    use    vali‐
225658                        date_ip_addrs=False
225659
225660                     NOTE:
225661                        This option requires Docker 1.3.0 or newer.
225662
225663              group_add
225664                     List  of  additional group names and/or IDs that the con‐
225665                     tainer process  will  run  as.  Can  be  expressed  as  a
225666                     comma-separated list or a YAML list.  The below two exam‐
225667                     ples are equivalent:
225668
225669                        foo:
225670                          docker_container.running:
225671                            - image: bar/baz:latest
225672                            - group_add: web,network
225673
225674                        foo:
225675                          docker_container.running:
225676                            - image: bar/baz:latest
225677                            - group_add:
225678                              - web
225679                              - network
225680
225681              hostname
225682                     Hostname of the container. If  not  provided,  the  value
225683                     passed  as  the  container's``name`` will be used for the
225684                     hostname.
225685
225686                        foo:
225687                          docker_container.running:
225688                            - image: bar/baz:latest
225689                            - hostname: web1
225690
225691                     WARNING:
225692                        hostname cannot be set if network_mode is set to host.
225693                        The below example will result in an error:
225694
225695                            foo:
225696                              docker_container.running:
225697                                - image: bar/baz:latest
225698                                - hostname: web1
225699                                - network_mode: host
225700
225701              interactive (or stdin_open)
225702                     False Leave stdin open, even if not attached
225703
225704                        foo:
225705                          docker_container.running:
225706                            - image: bar/baz:latest
225707                            - interactive: True
225708
225709              ipc_mode (or ipc)
225710                     Set  the IPC mode for the container. The default behavior
225711                     is to create a private IPC namespace for  the  container,
225712                     but this option can be used to change that behavior:
225713
225714                     · container:<container_name_or_id>  reuses  another  con‐
225715                       tainer shared memory, semaphores and message queues
225716
225717                     · host: use the host's shared memory, semaphores and mes‐
225718                       sage queues
225719
225720                        foo:
225721                          docker_container.running:
225722                            - image: bar/baz:latest
225723                            - ipc_mode: container:foo
225724
225725                        foo:
225726                          docker_container.running:
225727                            - image: bar/baz:latest
225728                            - ipc_mode: host
225729
225730                     WARNING:
225731                        Using  host  gives  the container full access to local
225732                        shared memory and is therefore considered insecure.
225733
225734              isolation
225735                     Specifies the type of isolation technology used  by  con‐
225736                     tainers
225737
225738                        foo:
225739                          docker_container.running:
225740                            - image: bar/baz:latest
225741                            - isolation: hyperv
225742
225743                     NOTE:
225744                        The  default value on Windows server is process, while
225745                        the default value on  Windows  client  is  hyperv.  On
225746                        Linux, only default is supported.
225747
225748              labels Add  metadata  to  the  container. Labels can be set both
225749                     with and without values, and labels with  values  can  be
225750                     passed either as key=value or key: value pairs. For exam‐
225751                     ple, while the below would be very confusing to read,  it
225752                     is technically valid, and demonstrates the different ways
225753                     in which labels can be passed:
225754
225755                        mynet:
225756                          docker_network.present:
225757                            - labels:
225758                              - foo
225759                              - bar=baz
225760                              - hello: world
225761
225762                     The labels can also simply be passed as  a  YAML  dictio‐
225763                     nary, though this can be error-prone due to some idiosyn‐
225764                     crasies with how PyYAML loads nested data structures:
225765
225766                        foo:
225767                          docker_network.present:
225768                            - labels:
225769                                foo: ''
225770                                bar: baz
225771                                hello: world
225772
225773                     Changed  in  version  2018.3.0:  Methods  for  specifying
225774                     labels can now be mixed. Earlier releases required either
225775                     labels with or without values.
225776
225777
225778              links  Link this container to another. Links can be specified as
225779                     a list of mappings or a comma-separated or Python list of
225780                     expressions       in       the        format        <con‐
225781                     tainer_name_or_id>:<link_alias>. The below three examples
225782                     are equivalent:
225783
225784                        foo:
225785                          docker_container.running:
225786                            - image: bar/baz:latest
225787                            - links:
225788                              - web1: link1
225789                              - web2: link2
225790
225791                        foo:
225792                          docker_container.running:
225793                            - image: bar/baz:latest
225794                            - links: web1:link1,web2:link2
225795
225796                        foo:
225797                          docker_container.running:
225798                            - image: bar/baz:latest
225799                            - links:
225800                              - web1:link1
225801                              - web2:link2
225802
225803              log_driver and log_opt
225804                     Set container's logging driver and options  to  configure
225805                     that driver.  Requires Docker 1.6 or newer.
225806
225807                        foo:
225808                          docker_container.running:
225809                            - image: bar/baz:latest
225810                            - log_driver: syslog
225811                            - log_opt:
225812                              - syslog-address: tcp://192.168.0.42
225813                              - syslog-facility: daemon
225814
225815                     The log_opt can also be expressed as a comma-separated or
225816                     YAML list of key=value pairs. The below two examples  are
225817                     equivalent to the above one:
225818
225819                        foo:
225820                          docker_container.running:
225821                            - image: bar/baz:latest
225822                            - log_driver: syslog
225823                            - log_opt: "syslog-address=tcp://192.168.0.42,syslog-facility=daemon"
225824
225825                        foo:
225826                          docker_container.running:
225827                            - image: bar/baz:latest
225828                            - log_driver: syslog
225829                            - log_opt:
225830                              - syslog-address=tcp://192.168.0.42
225831                              - syslog-facility=daemon
225832
225833                     NOTE:
225834                        The logging driver feature was improved in Docker 1.13
225835                        introducing option name changes. Please  see  Docker's
225836                        Configure   logging  drivers  documentation  for  more
225837                        information.
225838
225839              lxc_conf
225840                     Additional LXC configuration  parameters  to  set  before
225841                     starting  the  container. Either a list of variable/value
225842                     mappings, or  a  list  of  strings  in  the  format  VAR‐
225843                     NAME=value. The below three examples are equivalent:
225844
225845                        foo:
225846                          docker_container.running:
225847                            - image: bar/baz:latest
225848                            - lxc_conf:
225849                              - lxc.utsname: docker
225850                              - lxc.arch: x86_64
225851
225852                        foo:
225853                          docker_container.running:
225854                            - image: bar/baz:latest
225855                            - lxc_conf: lxc.utsname=docker,lxc.arch=x86_64
225856
225857                        foo:
225858                          docker_container.running:
225859                            - image: bar/baz:latest
225860                            - lxc_conf:
225861                              - lxc.utsname=docker
225862                              - lxc.arch=x86_64
225863
225864                     NOTE:
225865                        These  LXC configuration parameters will only have the
225866                        desired effect if the container is using the LXC  exe‐
225867                        cution  driver,  which  has  been  deprecated for some
225868                        time.
225869
225870              mac_address
225871                     MAC address to use for the container. If not specified, a
225872                     random MAC address will be used.
225873
225874                        foo:
225875                          docker_container.running:
225876                            - image: bar/baz:latest
225877                            - mac_address: 01:23:45:67:89:0a
225878
225879              mem_limit (or memory)
225880                     0  Memory  limit. Can be specified in bytes or using sin‐
225881                     gle-letter units (i.e. 512M, 2G, etc.). A value of 0 (the
225882                     default) means no memory limit.
225883
225884                        foo:
225885                          docker_container.running:
225886                            - image: bar/baz:latest
225887                            - mem_limit: 512M
225888
225889              mem_swappiness
225890                     Tune a container's memory swappiness behavior. Accepts an
225891                     integer between 0 and 100.
225892
225893                        foo:
225894                          docker_container.running:
225895                            - image: bar/baz:latest
225896                            - mem_swappiness: 60
225897
225898              memswap_limit (or memory_swap)
225899                     -1 Total memory limit (memory plus swap). Set  to  -1  to
225900                     disable swap. A value of 0 means no swap limit.
225901
225902                        foo:
225903                          docker_container.running:
225904                            - image: bar/baz:latest
225905                            - memswap_limit: 1G
225906
225907              network_disabled
225908                     False  If  True,  networking  will be disabled within the
225909                     container
225910
225911                        foo:
225912                          docker_container.running:
225913                            - image: bar/baz:latest
225914                            - network_disabled: True
225915
225916              network_mode
225917                     bridge One of the following:
225918
225919                     · bridge - Creates a new network stack for the  container
225920                       on the docker bridge
225921
225922                     · none  -  No  networking  (equivalent  of the Docker CLI
225923                       argument --net=none). Not to be confused with  Python's
225924                       None.
225925
225926                     · container:<name_or_id>  -  Reuses  another  container's
225927                       network stack
225928
225929                     · host - Use the host's network  stack  inside  the  con‐
225930                       tainer
225931
225932                     · Any name that identifies an existing network that might
225933                       be created with docker.network_present.
225934
225935                       WARNING:
225936                          Using host mode gives the container full  access  to
225937                          the  hosts system's services (such as D-bus), and is
225938                          therefore considered insecure.
225939
225940                        foo:
225941                          docker_container.running:
225942                            - image: bar/baz:latest
225943                            - network_mode: "none"
225944
225945                        foo:
225946                          docker_container.running:
225947                            - image: bar/baz:latest
225948                            - network_mode: container:web1
225949
225950              oom_kill_disable
225951                     Whether to disable OOM killer
225952
225953                        foo:
225954                          docker_container.running:
225955                            - image: bar/baz:latest
225956                            - oom_kill_disable: False
225957
225958              oom_score_adj
225959                     An integer value containing the score given to  the  con‐
225960                     tainer in order to tune OOM killer preferences
225961
225962                        foo:
225963                          docker_container.running:
225964                            - image: bar/baz:latest
225965                            - oom_score_adj: 500
225966
225967              pid_mode
225968                     Set  to  host  to  use the host container's PID namespace
225969                     within the container. Requires Docker 1.5.0 or newer.
225970
225971                        foo:
225972                          docker_container.running:
225973                            - image: bar/baz:latest
225974                            - pid_mode: host
225975
225976                     NOTE:
225977                        This option requires Docker 1.5.0 or newer.
225978
225979              pids_limit
225980                     Set the container's PID limit. Set to -1 for unlimited.
225981
225982                        foo:
225983                          docker_container.running:
225984                            - image: bar/baz:latest
225985                            - pids_limit: 2000
225986
225987              port_bindings (or publish)
225988                     Bind exposed ports. Port bindings should be passed in the
225989                     same  way as the --publish argument to the docker run CLI
225990                     command:
225991
225992                     · ip:hostPort:containerPort - Bind a specific IP and port
225993                       on the host to a specific port within the container.
225994
225995                     · ip::containerPort - Bind a specific IP and an ephemeral
225996                       port to a specific port within the container.
225997
225998                     · hostPort:containerPort - Bind a specific port on all of
225999                       the  host's  interfaces  to  a specific port within the
226000                       container.
226001
226002                     · containerPort - Bind an ephemeral port on  all  of  the
226003                       host's  interfaces  to  a specific port within the con‐
226004                       tainer.
226005
226006                     Multiple  bindings  can  be  separated  by   commas,   or
226007                     expressed  as a YAML list, and port ranges can be defined
226008                     using dashes. The below two examples are equivalent:
226009
226010                        foo:
226011                          docker_container.running:
226012                            - image: bar/baz:latest
226013                            - port_bindings: "4505-4506:14505-14506,2123:2123/udp,8080"
226014
226015                        foo:
226016                          docker_container.running:
226017                            - image: bar/baz:latest
226018                            - port_bindings:
226019                              - 4505-4506:14505-14506
226020                              - 2123:2123/udp
226021                              - 8080
226022
226023                     NOTE:
226024                        When specifying a protocol, it must be passed  in  the
226025                        containerPort value, as seen in the examples above.
226026
226027              ports  A list of ports to expose on the container. Can either be
226028                     a comma-separated list or a YAML list. If the protocol is
226029                     omitted,  the  port will be assumed to be a TCP port. The
226030                     below two examples are equivalent:
226031
226032                        foo:
226033                          docker_container.running:
226034                            - image: bar/baz:latest
226035                            - ports: 1111,2222/udp
226036
226037                        foo:
226038                          docker_container.running:
226039                            - image: bar/baz:latest
226040                            - ports:
226041                              - 1111
226042                              - 2222/udp
226043
226044              privileged
226045                     False If True, runs the exec process with extended privi‐
226046                     leges
226047
226048                        foo:
226049                          docker_container.running:
226050                            - image: bar/baz:latest
226051                            - privileged: True
226052
226053              publish_all_ports (or publish_all)
226054                     False Publish all ports to the host
226055
226056                        foo:
226057                          docker_container.running:
226058                            - image: bar/baz:latest
226059                            - ports: 8080
226060                            - publish_all_ports: True
226061
226062              read_only
226063                     False  If  True, mount the container’s root filesystem as
226064                     read only
226065
226066                        foo:
226067                          docker_container.running:
226068                            - image: bar/baz:latest
226069                            - read_only: True
226070
226071              restart_policy (or restart)
226072                     Set a restart policy for the container. Must be passed as
226073                     a  string in the format policy[:retry_count] where policy
226074                     is one of  always,  unless-stopped,  or  on-failure,  and
226075                     retry_count  is  an  optional  limit  to  the  number  of
226076                     retries. The retry count is ignored when using the always
226077                     or unless-stopped restart policy.
226078
226079                        foo:
226080                          docker_container.running:
226081                            - image: bar/baz:latest
226082                            - restart_policy: on-failure:5
226083
226084                        bar:
226085                          docker_container.running:
226086                            - image: bar/baz:latest
226087                            - restart_policy: always
226088
226089              security_opt (or security_opts):
226090                     Security  configuration  for  MLS systems such as SELinux
226091                     and AppArmor.  Can be expressed as a comma-separated list
226092                     or a YAML list. The below two examples are equivalent:
226093
226094                        foo:
226095                          docker_container.running:
226096                            - image: bar/baz:latest
226097                            - security_opt: apparmor:unconfined
226098
226099                        foo:
226100                          docker_container.running:
226101                            - image: bar/baz:latest
226102                            - security_opt:
226103                              - apparmor:unconfined
226104
226105                     IMPORTANT:
226106                        Some  security  options  can  contain commas. In these
226107                        cases, this argument must be passed as a Python  list,
226108                        as  splitting  by comma will result in an invalid con‐
226109                        figuration.
226110
226111                     NOTE:
226112                        See   the   documentation    for    security_opt    at
226113                        https://docs.docker.com/engine/reference/run/#security-configuration
226114
226115              shm_size
226116                     Size of /dev/shm
226117
226118                        foo:
226119                          docker_container.running:
226120                            - image: bar/baz:latest
226121                            - shm_size: 128M
226122
226123              stop_signal
226124                     Specify the signal docker will send to the container when
226125                     stopping.   Useful  when  running systemd as PID 1 inside
226126                     the container.
226127
226128                        foo:
226129                          docker_container.running:
226130                            - image: bar/baz:latest
226131                            - stop_signal: SIGRTMIN+3
226132
226133                     NOTE:
226134                        This  option  requires  Docker  1.9.0  or  newer   and
226135                        docker-py 1.7.0 or newer.
226136
226137                     New in version 2016.11.0.
226138
226139
226140              stop_timeout
226141                     Timeout to stop the container, in seconds
226142
226143                        foo:
226144                          docker_container.running:
226145                            - image: bar/baz:latest
226146                            - stop_timeout: 5
226147
226148                     NOTE:
226149                        In releases prior to 2017.7.0, this option was not set
226150                        in the container configuration, but rather this  time‐
226151                        out  was  enforced only when shutting down an existing
226152                        container to replace it. To remove the ambiguity,  and
226153                        to  allow for the container to have a stop timeout set
226154                        for it, the old stop_timeout argument has been renamed
226155                        to shutdown_timeout, while stop_timeout now refer's to
226156                        the container's configured stop timeout.
226157
226158              storage_opt
226159                     Storage driver options for the container. Can be either a
226160                     list  of strings in the format option=value, or a list of
226161                     mappings between option and value. The below three  exam‐
226162                     ples are equivalent:
226163
226164                        foo:
226165                          docker_container.running:
226166                            - image: bar/baz:latest
226167                            - storage_opt:
226168                              - dm.basesize: 40G
226169
226170                        foo:
226171                          docker_container.running:
226172                            - image: bar/baz:latest
226173                            - storage_opt: dm.basesize=40G
226174
226175                        foo:
226176                          docker_container.running:
226177                            - image: bar/baz:latest
226178                            - storage_opt:
226179                              - dm.basesize=40G
226180
226181              sysctls (or sysctl)
226182                     Set  sysctl  options  for  the container. Can be either a
226183                     list of strings in the format option=value, or a list  of
226184                     mappings  between option and value. The below three exam‐
226185                     ples are equivalent:
226186
226187                        foo:
226188                          docker_container.running:
226189                            - image: bar/baz:latest
226190                            - sysctls:
226191                              - fs.nr_open: 1048576
226192                              - kernel.pid_max: 32768
226193
226194                        foo:
226195                          docker_container.running:
226196                            - image: bar/baz:latest
226197                            - sysctls: fs.nr_open=1048576,kernel.pid_max=32768
226198
226199                        foo:
226200                          docker_container.running:
226201                            - image: bar/baz:latest
226202                            - sysctls:
226203                              - fs.nr_open=1048576
226204                              - kernel.pid_max=32768
226205
226206              tmpfs  A map of container directories which should  be  replaced
226207                     by tmpfs mounts and their corresponding mount options.
226208
226209                        foo:
226210                          docker_container.running:
226211                            - image: bar/baz:latest
226212                            - tmpfs:
226213                              - /run: rw,noexec,nosuid,size=65536k
226214
226215              tty    False Attach TTYs
226216
226217                        foo:
226218                          docker_container.running:
226219                            - image: bar/baz:latest
226220                            - tty: True
226221
226222              ulimits
226223                     List  of  ulimits.  These  limits should be passed in the
226224                     format <ulimit_name>:<soft_limit>:<hard_limit>, with  the
226225                     hard   limit  being  optional.  Can  be  expressed  as  a
226226                     comma-separated list or a YAML list.  The below two exam‐
226227                     ples are equivalent:
226228
226229                        foo:
226230                          docker_container.running:
226231                            - image: bar/baz:latest
226232                            - ulimits: nofile=1024:1024,nproc=60
226233
226234                        foo:
226235                          docker_container.running:
226236                            - image: bar/baz:latest
226237                            - ulimits:
226238                              - nofile=1024:1024
226239                              - nproc=60
226240
226241              user   User under which to run exec process
226242
226243                        foo:
226244                          docker_container.running:
226245                            - image: bar/baz:latest
226246                            - user: foo
226247
226248              userns_mode (or user_ns_mode)
226249                     Sets  the  user  namsepace  mode, when the user namespace
226250                     remapping option is enabled
226251
226252                        foo:
226253                          docker_container.running:
226254                            - image: bar/baz:latest
226255                            - userns_mode: host
226256
226257              volumes (or volume)
226258                     List  of  directories  to  expose  as  volumes.  Can   be
226259                     expressed  as  a comma-separated list or a YAML list. The
226260                     below two examples are equivalent:
226261
226262                        foo:
226263                          docker_container.running:
226264                            - image: bar/baz:latest
226265                            - volumes: /mnt/vol1,/mnt/vol2
226266
226267                        foo:
226268                          docker_container.running:
226269                            - image: bar/baz:latest
226270                            - volumes:
226271                              - /mnt/vol1
226272                              - /mnt/vol2
226273
226274              volumes_from
226275                     Container names or IDs from which the container will  get
226276                     volumes.  Can be expressed as a comma-separated list or a
226277                     YAML list. The below two examples are equivalent:
226278
226279                        foo:
226280                          docker_container.running:
226281                            - image: bar/baz:latest
226282                            - volumes_from: foo
226283
226284                        foo:
226285                          docker_container.running:
226286                            - image: bar/baz:latest
226287                            - volumes_from:
226288                              - foo
226289
226290              volume_driver
226291                     sets the container's volume driver
226292
226293                        foo:
226294                          docker_container.running:
226295                            - image: bar/baz:latest
226296                            - volume_driver: foobar
226297
226298              working_dir (or workdir)
226299                     Working directory inside the container
226300
226301                        foo:
226302                          docker_container.running:
226303                            - image: bar/baz:latest
226304                            - working_dir: /var/log/nginx
226305
226306       salt.states.docker_container.stopped(name=None, containers=None,  shut‐
226307       down_timeout=None, unpause=False, error_on_absent=True, **kwargs)
226308              Ensure that a container (or containers) is stopped
226309
226310              name   Name or ID of the container
226311
226312              containers
226313                     Run  this state on more than one container at a time. The
226314                     following two examples accomplish the same thing:
226315
226316                        stopped_containers:
226317                          docker_container.stopped:
226318                            - names:
226319                              - foo
226320                              - bar
226321                              - baz
226322
226323                        stopped_containers:
226324                          docker_container.stopped:
226325                            - containers:
226326                              - foo
226327                              - bar
226328                              - baz
226329
226330                     However, the second example will be a bit  quicker  since
226331                     Salt  will stop all specified containers in a single run,
226332                     rather than executing the state separately on each  image
226333                     (as it would in the first example).
226334
226335              shutdown_timeout
226336                     Timeout  for  graceful shutdown of the container. If this
226337                     timeout is exceeded, the container  will  be  killed.  If
226338                     this value is not passed, then the container's configured
226339                     stop_timeout will be observed. If stop_timeout  was  also
226340                     unset on the container, then a timeout of 10 seconds will
226341                     be used.
226342
226343              unpause
226344                     False Set to True to unpause any paused containers before
226345                     stopping.  If unset, then an error will be raised for any
226346                     container that was paused.
226347
226348              error_on_absent
226349                     True By default, this state will return an error  if  any
226350                     of the specified containers are absent. Set this to False
226351                     to suppress that error.
226352
226353   salt.states.docker_image
226354       Management of Docker images
226355
226356       New in version 2017.7.0.
226357
226358
226359       depends
226360              docker Python module
226361
226362       NOTE:
226363          Older releases  of  the  Python  bindings  for  Docker  were  called
226364          docker-py in PyPI. All releases of docker, and releases of docker-py
226365          >=  1.6.0  are  supported.  These  python  bindings  can  easily  be
226366          installed using pip.install:
226367
226368              salt myminion pip.install docker
226369
226370          To  upgrade  from  docker-py  to  docker,  you  must first uninstall
226371          docker-py, and then install docker:
226372
226373              salt myminion pip.uninstall docker-py
226374              salt myminion pip.install docker
226375
226376       These states were moved from the docker state module  (formerly  called
226377       dockerng) in the 2017.7.0 release.
226378
226379       NOTE:
226380          To  pull  from a Docker registry, authentication must be configured.
226381          See here for more information on how to configure access  to  docker
226382          registries in Pillar data.
226383
226384       salt.states.docker_image.absent(name=None, images=None, force=False)
226385              Ensure  that an image is absent from the Minion. Image names can
226386              be specified either using repo:tag notation, or  just  the  repo
226387              name (in which case a tag of latest is assumed).
226388
226389              images Run this state on more than one image at a time. The fol‐
226390                     lowing two examples accomplish the same thing:
226391
226392                        remove_images:
226393                          docker_image.absent:
226394                            - names:
226395                              - busybox
226396                              - centos:6
226397                              - nginx
226398
226399                        remove_images:
226400                          docker_image.absent:
226401                            - images:
226402                              - busybox
226403                              - centos:6
226404                              - nginx
226405
226406                     However, the second example will be a bit  quicker  since
226407                     Salt  will  do  all the deletions in a single run, rather
226408                     than executing the state separately on each image (as  it
226409                     would in the first example).
226410
226411              force  False  Salt  will  fail to remove any images currently in
226412                     use by a container.  Set this option to  true  to  remove
226413                     the image even if it is already present.
226414
226415                     NOTE:
226416                        This  option can also be overridden by Pillar data. If
226417                        the Minion has a  pillar  variable  named  docker.run‐
226418                        ning.force  which is set to True, it will turn on this
226419                        option. This pillar variable can even be set  at  run‐
226420                        time. For example:
226421
226422                            salt myminion state.sls docker_stuff pillar="{docker.force: True}"
226423
226424                        If  this  pillar variable is present and set to False,
226425                        then it will turn off this option.
226426
226427                        For more granular control, setting a  pillar  variable
226428                        named  docker.force.image_name  will  affect  only the
226429                        named image.
226430
226431       salt.states.docker_image.mod_watch(name, sfun=None, **kwargs)
226432              The docker_image  watcher, called to invoke the watch command.
226433
226434              NOTE:
226435                 This state exists to support special handling  of  the  watch
226436                 requisite. It should not be called directly.
226437
226438                 Parameters for this function should be set by the state being
226439                 triggered.
226440
226441       salt.states.docker_image.present(name, tag=None, build=None, load=None,
226442       force=False,    insecure_registry=False,   client_timeout=60,   docker‐
226443       file=None,  sls=None,  base=u'opensuse/python',  saltenv=u'base',  pil‐
226444       larenv=None, pillar=None, **kwargs)
226445              Changed in version 2018.3.0: The tag argument has been added. It
226446              is now required unless pulling from a registry.
226447
226448
226449              Ensure that an image is present. The image can either be  pulled
226450              from  a  Docker registry, built from a Dockerfile, loaded from a
226451              saved image, or built by running SLS files against a base image.
226452
226453              If none of the build, load, or sls arguments are used, then Salt
226454              will pull from the configured registries. If the specified image
226455              already exists, it will not be pulled unless  force  is  set  to
226456              True. Here is an example of a state that will pull an image from
226457              the Docker Hub:
226458
226459                 myuser/myimage:
226460                   docker_image.present:
226461                     - tag: mytag
226462
226463              tag    Tag name for the image. Required when using build,  load,
226464                     or  sls to create the image, but optional if pulling from
226465                     a repository.
226466
226467                     New in version 2018.3.0.
226468
226469
226470              build  Path to directory on the Minion containing a Dockerfile
226471
226472                        myuser/myimage:
226473                          docker_image.present:
226474                            - build: /home/myuser/docker/myimage
226475                            - tag: mytag
226476
226477                        myuser/myimage:
226478                          docker_image.present:
226479                            - build: /home/myuser/docker/myimage
226480                            - tag: mytag
226481                            - dockerfile: Dockerfile.alternative
226482
226483                     The image will be built using docker.build and the speci‐
226484                     fied image name and tag will be applied to it.
226485
226486                     New in version 2016.11.0.
226487
226488
226489                     Changed  in  version  2018.3.0:  The tag must be manually
226490                     specified using the tag argument.
226491
226492
226493              load   Loads a tar archive  created  with  docker.load  (or  the
226494                     docker load Docker CLI command), and assigns it the spec‐
226495                     ified repo and tag.
226496
226497                        myuser/myimage:
226498                          docker_image.present:
226499                            - load: salt://path/to/image.tar
226500                            - tag: mytag
226501
226502                     Changed in version 2018.3.0: The  tag  must  be  manually
226503                     specified using the tag argument.
226504
226505
226506              force  False  Set  this  parameter  to  True  to  force  Salt to
226507                     pull/build/load the image even if it is already present.
226508
226509              client_timeout
226510                     Timeout in seconds for the Docker client. This is  not  a
226511                     timeout  for the state, but for receiving a response from
226512                     the API.
226513
226514              dockerfile
226515                     Allows for an alternative  Dockerfile  to  be  specified.
226516                     Path  to  alternative  Dockefile is relative to the build
226517                     path for the Docker container.
226518
226519                     New in version 2016.11.0.
226520
226521
226522              sls    Allow for building  of  image  with  docker.sls_build  by
226523                     specifying the SLS files with which to build. This can be
226524                     a list or comma-seperated string.
226525
226526                        myuser/myimage:
226527                          docker_image.present:
226528                            - tag: latest
226529                            - sls:
226530                                - webapp1
226531                                - webapp2
226532                            - base: centos
226533                            - saltenv: base
226534
226535                     Changed in version 2018.3.0: The  tag  must  be  manually
226536                     specified using the tag argument.
226537
226538
226539              base   Base image with which to start docker.sls_build
226540
226541                     New in version 2017.7.0.
226542
226543
226544              saltenv
226545                     Specify  the  environment  from which to retrieve the SLS
226546                     indicated by the mods parameter.
226547
226548                     New in version 2017.7.0.
226549
226550
226551                     Changed in  version  2018.3.0:  Now  uses  the  effective
226552                     saltenv  if  not  explicitly passed. In earlier versions,
226553                     base was assumed as a default.
226554
226555
226556              pillarenv
226557                     Specify a Pillar environment to  be  used  when  applying
226558                     states.  This  can  also be set in the minion config file
226559                     using the pillarenv option. When  neither  the  pillarenv
226560                     minion  config  option nor this CLI argument is used, all
226561                     Pillar environments will be merged together.
226562
226563                     New in version 2018.3.0.
226564
226565
226566              pillar Custom Pillar values, passed as a dictionary of key-value
226567                     pairs
226568
226569                     NOTE:
226570                        Values passed this way will override Pillar values set
226571                        via pillar_roots or an external Pillar source.
226572
226573                     New in version 2018.3.0.
226574
226575
226576   salt.states.docker_network
226577       Management of Docker networks
226578
226579       New in version 2017.7.0.
226580
226581
226582       depends
226583              docker Python module
226584
226585       NOTE:
226586          Older releases  of  the  Python  bindings  for  Docker  were  called
226587          docker-py in PyPI. All releases of docker, and releases of docker-py
226588          >=  1.6.0  are  supported.  These  python  bindings  can  easily  be
226589          installed using pip.install:
226590
226591              salt myminion pip.install docker
226592
226593          To  upgrade  from  docker-py  to  docker,  you  must first uninstall
226594          docker-py, and then install docker:
226595
226596              salt myminion pip.uninstall docker-py
226597              salt myminion pip.install docker
226598
226599       These states were moved from the docker state module  (formerly  called
226600       dockerng) in the 2017.7.0 release.
226601
226602       salt.states.docker_network.absent(name)
226603              Ensure that a network is absent.
226604
226605              name   Name of the network
226606
226607              Usage Example:
226608
226609                 network_foo:
226610                   docker_network.absent
226611
226612       salt.states.docker_network.present(name,           skip_translate=None,
226613       ignore_collisions=False,    validate_ip_addrs=True,    containers=None,
226614       reconnect=True, **kwargs)
226615              Changed  in version 2018.3.0: Support added for network configu‐
226616              ration options other than driver and  driver_opts,  as  well  as
226617              IPAM configuration.
226618
226619
226620              Ensure that a network is present
226621
226622              NOTE:
226623                 This  state  supports all arguments for network and IPAM pool
226624                 configuration  which  are  available  for  the   release   of
226625                 docker-py installed on the minion. For that reason, the argu‐
226626                 ments described below in the  NETWORK  CONFIGURATION  and  IP
226627                 ADDRESS MANAGEMENT (IPAM) sections may not accurately reflect
226628                 what is available on the minion.  The  docker.get_client_args
226629                 function can be used to check the available arguments for the
226630                 installed version of docker-py (they are found  in  the  net‐
226631                 work_config and ipam_config sections of the return data), but
226632                 Salt will not prevent a user from attempting to use an  argu‐
226633                 ment  which  is unsupported in the release of Docker which is
226634                 installed. In those cases, network creation be attempted  but
226635                 will fail.
226636
226637              name   Network name
226638
226639              skip_translate
226640                     This  function  translates Salt SLS input into the format
226641                     which docker-py  expects.  However,  in  the  event  that
226642                     Salt's  translation logic fails (due to potential changes
226643                     in the Docker Remote API, or to bugs in  the  translation
226644                     code),  this  argument can be used to exert granular con‐
226645                     trol over which arguments are translated  and  which  are
226646                     not.
226647
226648                     Pass  this  argument as a comma-separated list (or Python
226649                     list) of arguments, and translation for each passed argu‐
226650                     ment  name  will be skipped. Alternatively, pass True and
226651                     all translation will be skipped.
226652
226653                     Skipping tranlsation allows for arguments to be formatted
226654                     directly  in  the  format  which  docker-py expects. This
226655                     allows for API changes and other issues to be more easily
226656                     worked  around. See the following links for more informa‐
226657                     tion:
226658
226659                     · docker-py Low-level API
226660
226661                     · Docker Engine API
226662
226663                     New in version 2018.3.0.
226664
226665
226666              ignore_collisions
226667                     False Since many of docker-py's arguments differ in  name
226668                     from their CLI counterparts (with which most Docker users
226669                     are more familiar),  Salt  detects  usage  of  these  and
226670                     aliases  them  to the docker-py version of that argument.
226671                     However, if both the alias and the docker-py  version  of
226672                     the  same  argument  (e.g.  options  and driver_opts) are
226673                     used, an error will be raised. Set this argument to  True
226674                     to  suppress  these errors and keep the docker-py version
226675                     of the argument.
226676
226677                     New in version 2018.3.0.
226678
226679
226680              validate_ip_addrs
226681                     True For parameters which accept IP addresses/subnets  as
226682                     input, validation will be performed. To disable, set this
226683                     to False.
226684
226685                     New in version 2018.3.0.
226686
226687
226688              containers
226689                     A list of containers which should be  connected  to  this
226690                     network.
226691
226692                     NOTE:
226693                        As  of  the  2018.3.0  release, this is not the recom‐
226694                        mended way of managing a container's membership  in  a
226695                        network, for a couple reasons:
226696
226697                        1. It does not support setting static IPs, aliases, or
226698                           links in the container's IP configuration.
226699
226700                        2. If a docker_container.running state replaces a con‐
226701                           tainer,  it  will not be reconnected to the network
226702                           until  the  docker_network.present  state  is   run
226703                           again.  Since  containers often have require requi‐
226704                           sites to ensure that the network is  present,  this
226705                           means that the docker_network.present state ends up
226706                           being  run  before  the   docker_container.running,
226707                           leaving  the container unattached at the end of the
226708                           Salt run.
226709
226710                        For  these  reasons,  it   is   recommended   to   use
226711                        docker_container.running's network management support.
226712
226713              reconnect
226714                     True  If  containers  is  not  used,  and  the network is
226715                     replaced, then Salt will keep  track  of  the  containers
226716                     which were connected to the network and reconnect them to
226717                     the network after it is replaced. Salt will first attempt
226718                     to  reconnect  using the same IP the container had before
226719                     the network was replaced. If that fails (for instance, if
226720                     the  network  was  replaced  because the subnet was modi‐
226721                     fied), then the container will be reconnected without  an
226722                     explicit  IP  address,  and  its  IP  will be assigned by
226723                     Docker.
226724
226725                     Set this option to False to  keep  Salt  from  trying  to
226726                     reconnect  containers.  This  can be useful in some cases
226727                     when managing static IPs in docker_container.running. For
226728                     instance, if a network's subnet is modified, it is likely
226729                     that the static  IP  will  need  to  be  updated  in  the
226730                     docker_container.running  state as well. When the network
226731                     is replaced, the initial reconnect  attempt  would  fail,
226732                     and  the container would be reconnected with an automati‐
226733                     cally-assigned IP address.  Then,  when  the  docker_con‐
226734                     tainer.running  state  executes,  it would disconnect the
226735                     network again and reconnect using the new static IP. Dis‐
226736                     abling  the  reconnect behavior in these cases would pre‐
226737                     vent the unnecessary extra reconnection.
226738
226739                     New in version 2018.3.0.
226740
226741
226742              NETWORK CONFIGURATION ARGUMENTS
226743
226744              driver Network driver
226745
226746                        mynet:
226747                          docker_network.present:
226748                            - driver: macvlan
226749
226750              driver_opts (or driver_opt, or options)
226751                     Options for the network driver. Either  a  dictionary  of
226752                     option  names  and  values or a Python list of strings in
226753                     the format varname=value. The below  three  examples  are
226754                     equivalent:
226755
226756                        mynet:
226757                          docker_network.present:
226758                            - driver: macvlan
226759                            - driver_opts: macvlan_mode=bridge,parent=eth0
226760
226761                        mynet:
226762                          docker_network.present:
226763                            - driver: macvlan
226764                            - driver_opts:
226765                              - macvlan_mode=bridge
226766                              - parent=eth0
226767
226768                        mynet:
226769                          docker_network.present:
226770                            - driver: macvlan
226771                            - driver_opts:
226772                              - macvlan_mode: bridge
226773                              - parent: eth0
226774
226775                     The  options  can  also simply be passed as a dictionary,
226776                     though this can be error-prone due to some idiosyncrasies
226777                     with how PyYAML loads nested data structures:
226778
226779                        mynet:
226780                          docker_network.present:
226781                            - driver: macvlan
226782                            - driver_opts:
226783                                macvlan_mode: bridge
226784                                parent: eth0
226785
226786              check_duplicate
226787                     True  If  True, checks for networks with duplicate names.
226788                     Since networks are primarily keyed based on a  random  ID
226789                     and  not  on  the  name,  and  network name is strictly a
226790                     user-friendly alias to  the  network  which  is  uniquely
226791                     identified  using ID, there is no guaranteed way to check
226792                     for duplicates. This  option  providess  a  best  effort,
226793                     checking  for  any networks which have the same name, but
226794                     it is not guaranteed to catch all name collisions.
226795
226796                        mynet:
226797                          docker_network.present:
226798                            - check_duplicate: False
226799
226800              internal
226801                     False If True, restricts external access to the network
226802
226803                        mynet:
226804                          docker_network.present:
226805                            - internal: True
226806
226807              labels Add metadata to the network. Labels can be set both  with
226808                     and  without values, and labels with values can be passed
226809                     either as key=value or key:  value  pairs.  For  example,
226810                     while  the  below  would be very confusing to read, it is
226811                     technically valid, and demonstrates the different ways in
226812                     which labels can be passed:
226813
226814                        mynet:
226815                          docker_network.present:
226816                            - labels:
226817                              - foo
226818                              - bar=baz
226819                              - hello: world
226820
226821                     The  labels  can  also simply be passed as a YAML dictio‐
226822                     nary, though this can be error-prone due to some idiosyn‐
226823                     crasies with how PyYAML loads nested data structures:
226824
226825                        foo:
226826                          docker_network.present:
226827                            - labels:
226828                                foo: ''
226829                                bar: baz
226830                                hello: world
226831
226832                     Changed  in  version  2018.3.0:  Methods  for  specifying
226833                     labels can now be mixed. Earlier releases required either
226834                     labels with or without values.
226835
226836
226837              enable_ipv6 (or ipv6)
226838                     False Enable IPv6 on the network
226839
226840                        mynet:
226841                          docker_network.present:
226842                            - enable_ipv6: True
226843
226844                     NOTE:
226845                        While  it should go without saying, this argument must
226846                        be set to True to configure an IPv6 subnet.  Also,  if
226847                        this  option  is  turned  on  without  an  IPv6 subnet
226848                        explicitly configured, you will get  an  error  unless
226849                        you  have  set  up  a  fixed  IPv6 subnet. Consult the
226850                        Docker IPv6 docs for information on how to do this.
226851
226852              attachable
226853                     False If True, and the network is in  the  global  scope,
226854                     non-service  containers  on  worker nodes will be able to
226855                     connect to the network.
226856
226857                        mynet:
226858                          docker_network.present:
226859                            - attachable: True
226860
226861                     NOTE:
226862                        This option cannot be reliably managed  on  CentOS  7.
226863                        This  is  because  while  support  for this option was
226864                        added in API version 1.24, its value was not added  to
226865                        the  inpsect results until API version 1.26.  The ver‐
226866                        sion of Docker which is available for  CentOS  7  runs
226867                        API  version  1.24,  meaning  that while Salt can pass
226868                        this argument to the API, it has no way of knowing the
226869                        value of this config option in an existing Docker net‐
226870                        work.
226871
226872              scope  Specify the network's scope (local, global or swarm)
226873
226874                        mynet:
226875                          docker_network.present:
226876                            - scope: local
226877
226878              ingress
226879                     False If True, create an ingress network  which  provides
226880                     the routing-mesh in swarm mode
226881
226882                        mynet:
226883                          docker_network.present:
226884                            - ingress: True
226885
226886              IP ADDRESS MANAGEMENT (IPAM)
226887
226888              This  state supports networks with either IPv4, or both IPv4 and
226889              IPv6. If configuring IPv4, then you can pass the IPAM pool argu‐
226890              ments  below  as  individual  arguments. However, if configuring
226891              IPv4 and IPv6, the arguments must be passed as a list of dictio‐
226892              naries,  in  the  ipam_pools argument (click here for some exam‐
226893              ples). These docs also have more information on these arguments.
226894
226895              IPAM ARGUMENTS
226896
226897              ipam_driver
226898                     IPAM driver to use, if different from the default one
226899
226900                        mynet:
226901                          docker_network.present:
226902                            - ipam_driver: foo
226903
226904              ipam_opts
226905                     Options for the  IPAM  driver.  Either  a  dictionary  of
226906                     option  names  and  values or a Python list of strings in
226907                     the format varname=value. The below  three  examples  are
226908                     equivalent:
226909
226910                        mynet:
226911                          docker_network.present:
226912                            - ipam_driver: foo
226913                            - ipam_opts: foo=bar,baz=qux
226914
226915                        mynet:
226916                          docker_network.present:
226917                            - ipam_driver: foo
226918                            - ipam_opts:
226919                              - foo=bar
226920                              - baz=qux
226921
226922                        mynet:
226923                          docker_network.present:
226924                            - ipam_driver: foo
226925                            - ipam_opts:
226926                              - foo: bar
226927                              - baz: qux
226928
226929                     The  options  can  also simply be passed as a dictionary,
226930                     though this can be error-prone due to some idiosyncrasies
226931                     with how PyYAML loads nested data structures:
226932
226933                        mynet:
226934                          docker_network.present:
226935                            - ipam_driver: macvlan
226936                            - ipam_opts:
226937                                foo: bar
226938                                baz: qux
226939
226940              IPAM POOL ARGUMENTS
226941
226942              subnet Subnet in CIDR format that represents a network segment
226943
226944              iprange (or ip_range)
226945                     Allocate container IP from a sub-range within the subnet
226946
226947                     Subnet in CIDR format that represents a network segment
226948
226949              gateway
226950                     IPv4 or IPv6 gateway for the master subnet
226951
226952              aux_addresses (or aux_address)
226953                     A  dictionary  of mapping container names to IP addresses
226954                     which should be allocated for them should they connect to
226955                     the network. Either a dictionary of option names and val‐
226956                     ues  or  a  Python  list  of  strings   in   the   format
226957                     host=ipaddr.
226958
226959              IPAM CONFIGURATION EXAMPLES
226960
226961              Below  is  an example of an IPv4-only network (keep in mind that
226962              subnet is the only required argument).
226963
226964                 mynet:
226965                   docker_network.present:
226966                     - subnet: 10.0.20.0/24
226967                     - iprange: 10.0.20.128/25
226968                     - gateway: 10.0.20.254
226969                     - aux_addresses:
226970                       - foo.bar.tld: 10.0.20.50
226971                       - hello.world.tld: 10.0.20.51
226972
226973              NOTE:
226974                 The aux_addresses can be passed differently, in the same  way
226975                 that driver_opts and ipam_opts can.
226976
226977              This same network could also be configured this way:
226978
226979                 mynet:
226980                   docker_network.present:
226981                     - ipam_pools:
226982                       - subnet: 10.0.20.0/24
226983                         iprange: 10.0.20.128/25
226984                         gateway: 10.0.20.254
226985                         aux_addresses:
226986                           foo.bar.tld: 10.0.20.50
226987                           hello.world.tld: 10.0.20.51
226988
226989              Here is an example of a mixed IPv4/IPv6 subnet.
226990
226991                 mynet:
226992                   docker_network.present:
226993                     - ipam_pools:
226994                       - subnet: 10.0.20.0/24
226995                         gateway: 10.0.20.1
226996                       - subnet: fe3f:2180:26:1::/123
226997                         gateway: fe3f:2180:26:1::1
226998
226999   salt.states.docker_volume
227000       Management of Docker volumes
227001
227002       New in version 2017.7.0.
227003
227004
227005       depends
227006              docker Python module
227007
227008       NOTE:
227009          Older  releases  of  the  Python  bindings  for  Docker  were called
227010          docker-py in PyPI. All releases of docker, and releases of docker-py
227011          >=  1.6.0  are  supported.  These  python  bindings  can  easily  be
227012          installed using pip.install:
227013
227014              salt myminion pip.install docker
227015
227016          To upgrade from  docker-py  to  docker,  you  must  first  uninstall
227017          docker-py, and then install docker:
227018
227019              salt myminion pip.uninstall docker-py
227020              salt myminion pip.install docker
227021
227022       These  states  were moved from the docker state module (formerly called
227023       dockerng) in the 2017.7.0 release.
227024
227025       salt.states.docker_volume.absent(name, driver=None)
227026              Ensure that a volume is absent.
227027
227028              New in version 2015.8.4.
227029
227030
227031              Changed  in  version  2017.7.0:  This  state  was  renamed  from
227032              docker.volume_absent to docker_volume.absent
227033
227034
227035              name   Name of the volume
227036
227037              Usage Examples:
227038
227039                 volume_foo:
227040                   docker_volume.absent
227041
227042       salt.states.docker_volume.present(name,  driver=None, driver_opts=None,
227043       force=False)
227044              Ensure that a volume is present.
227045
227046              New in version 2015.8.4.
227047
227048
227049              Changed in version 2015.8.6: This state no  longer  deletes  and
227050              re-creates  a  volume  if  the existing volume's driver does not
227051              match the driver parameter (unless the force parameter is set to
227052              True).
227053
227054
227055              Changed  in  version  2017.7.0:  This  state  was  renamed  from
227056              docker.volume_present to docker_volume.present
227057
227058
227059              name   Name of the volume
227060
227061              driver Type of driver for that volume.  If None and  the  volume
227062                     does  not  yet  exist,  the  volume will be created using
227063                     Docker's default driver.  If None  and  the  volume  does
227064                     exist,  this  function does nothing, even if the existing
227065                     volume's driver is not the Docker  default  driver.   (To
227066                     ensure  that  an  existing  volume's  driver  matches the
227067                     Docker default, you must explicitly name Docker's default
227068                     driver here.)
227069
227070              driver_opts
227071                     Options for the volume driver
227072
227073              force  False  If the volume already exists but the existing vol‐
227074                     ume's driver does not match the driver specified  by  the
227075                     driver  parameter,  this  parameter  controls whether the
227076                     function errors out (if False) or deletes and  re-creates
227077                     the volume (if True).
227078
227079                     New in version 2015.8.6.
227080
227081
227082              Usage Examples:
227083
227084                 volume_foo:
227085                   docker_volume.present
227086
227087                 volume_bar:
227088                   docker_volume.present
227089                     - name: bar
227090                     - driver: local
227091                     - driver_opts:
227092                         foo: bar
227093
227094                 volume_bar:
227095                   docker_volume.present
227096                     - name: bar
227097                     - driver: local
227098                     - driver_opts:
227099                         - foo: bar
227100                         - option: value
227101
227102   salt.states.drac
227103       Management of Dell DRAC
227104
227105       The DRAC module is used to create and manage DRAC cards on Dell servers
227106
227107       Ensure the user damian is present
227108
227109              damian:
227110                drac.present:
227111                  - name: damian
227112                  - password: secret
227113                  - permission: login,test_alerts,clear_logs
227114
227115       Ensure the user damian does not exist
227116
227117              damian:
227118                drac.absent:
227119                  - name: damian
227120
227121       Ensure DRAC network is in a consistent state
227122
227123              my_network:
227124                drac.network:
227125                  - ip: 10.225.108.29
227126                  - netmask: 255.255.255.224
227127                  - gateway: 10.225.108.1
227128
227129       salt.states.drac.absent(name)
227130              Ensure a user does not exist on the Dell DRAC
227131
227132              name:  The users username
227133
227134       salt.states.drac.network(ip, netmask, gateway)
227135              Ensure the DRAC network settings are consistent
227136
227137       salt.states.drac.present(name, password, permission)
227138              Ensure the user exists on the Dell DRAC
227139
227140              name:  The users username
227141
227142              password
227143                     The password used to authenticate
227144
227145              permission
227146                     The permissions that should be assigned to a user
227147
227148   salt.states.elasticsearch
227149       State module to manage Elasticsearch.
227150
227151       New in version 2017.7.0.
227152
227153
227154       salt.states.elasticsearch.alias_absent(name, index)
227155              Ensure that the index alias is absent.
227156
227157              name   Name of the index alias to remove
227158
227159              index  Name of the index for the alias
227160
227161       salt.states.elasticsearch.alias_present(name, index, definition=None)
227162              Ensure that the named index alias is present.
227163
227164              name   Name of the alias
227165
227166              index  Name of the index
227167
227168              definition
227169                     Optional      dict      for      filters      as      per
227170                     https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-aliases.html
227171
227172              Example:
227173
227174                 mytestalias:
227175                   elasticsearch.alias_present:
227176                     - index: testindex
227177                     - definition:
227178                         filter:
227179                           term:
227180                             user: kimchy
227181
227182       salt.states.elasticsearch.index_absent(name)
227183              Ensure that the named index is absent.
227184
227185              name   Name of the index to remove
227186
227187       salt.states.elasticsearch.index_present(name, definition=None)
227188              Ensure that the named index is present.
227189
227190              name   Name of the index to add
227191
227192              definition
227193                     Optional    dict   for   creation   parameters   as   per
227194                     https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-create-index.html
227195
227196              Example:
227197
227198                 # Default settings
227199                 mytestindex:
227200                   elasticsearch_index.present
227201
227202                 # Extra settings
227203                 mytestindex2:
227204                   elasticsearch_index.present:
227205                     - definition:
227206                         settings:
227207                           index:
227208                             number_of_shards: 10
227209
227210       salt.states.elasticsearch.index_template_absent(name)
227211              Ensure that the named index template is absent.
227212
227213              name   Name of the index to remove
227214
227215       salt.states.elasticsearch.index_template_present(name,      definition,
227216       check_definition=False)
227217              Ensure that the named index templat eis present.
227218
227219              name   Name of the index to add
227220
227221              definition
227222                     Required   dict   for   creation   parameters   as    per
227223                     https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-templates.html
227224
227225              check_definition
227226                     If the template already exists and the definition  is  up
227227                     to date
227228
227229              Example:
227230
227231                 mytestindex2_template:
227232                   elasticsearch_index_template.present:
227233                     - definition:
227234                         template: logstash-*
227235                         order: 1
227236                         settings:
227237                           number_of_shards: 1
227238
227239       salt.states.elasticsearch.pipeline_absent(name)
227240              Ensure that the named pipeline is absent
227241
227242              name   Name of the pipeline to remove
227243
227244       salt.states.elasticsearch.pipeline_present(name, definition)
227245              Ensure that the named pipeline is present.
227246
227247              name   Name of the index to add
227248
227249              definition
227250                     Required    dict   for   creation   parameters   as   per
227251                     https://www.elastic.co/guide/en/elasticsearch/reference/master/pipeline.html
227252
227253              Example:
227254
227255                 test_pipeline:
227256                   elasticsearch.pipeline_present:
227257                     - definition:
227258                         description: example pipeline
227259                         processors:
227260                           - set:
227261                               field: collector_timestamp_millis
227262                               value: '{{ '{{' }}_ingest.timestamp{{ '}}' }}'
227263
227264       salt.states.elasticsearch.search_template_absent(name)
227265              Ensure that the search template is absent
227266
227267              name   Name of the search template to remove
227268
227269       salt.states.elasticsearch.search_template_present(name, definition)
227270              Ensure that the named search template is present.
227271
227272              name   Name of the search template to add
227273
227274              definition
227275                     Required    dict   for   creation   parameters   as   per
227276                     http://www.elastic.co/guide/en/elasticsearch/reference/current/search-template.html
227277
227278              Example:
227279
227280                 test_pipeline:
227281                   elasticsearch.search_template_present:
227282                     - definition:
227283                         inline:
227284                           size: 10
227285
227286   salt.states.elasticsearch_index
227287       State module to manage Elasticsearch indices
227288
227289       New in version 2015.8.0.
227290
227291
227292       Deprecated since version 2017.7.0: Use elasticsearch state instead
227293
227294
227295       salt.states.elasticsearch_index.absent(name)
227296              Ensure that the named index is absent.
227297
227298              name   Name of the index to remove
227299
227300       salt.states.elasticsearch_index.present(name, definition=None)
227301              New in version 2015.8.0.
227302
227303
227304              Changed in version 2017.3.0: Marked definition as optional.
227305
227306
227307              Ensure that the named index is present.
227308
227309              name   Name of the index to add
227310
227311              definition
227312                     Optional    dict   for   creation   parameters   as   per
227313                     https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-create-index.html
227314
227315              Example:
227316
227317                 # Default settings
227318                 mytestindex:
227319                   elasticsearch_index.present
227320
227321                 # Extra settings
227322                 mytestindex2:
227323                   elasticsearch_index.present:
227324                     - definition:
227325                         settings:
227326                           index:
227327                             number_of_shards: 10
227328
227329   salt.states.elasticsearch_index_template
227330       State module to manage Elasticsearch index templates
227331
227332       New in version 2015.8.0.
227333
227334
227335       Deprecated since version 2017.7.0: Use elasticsearch state instead
227336
227337
227338       salt.states.elasticsearch_index_template.absent(name)
227339              Ensure that the named index template is absent.
227340
227341              name   Name of the index to remove
227342
227343       salt.states.elasticsearch_index_template.present(name, definition)
227344              New in version 2015.8.0.
227345
227346
227347              Changed in version 2017.3.0: Marked definition as required.
227348
227349
227350              Ensure that the named index templat eis present.
227351
227352              name   Name of the index to add
227353
227354              definition
227355                     Required    dict   for   creation   parameters   as   per
227356                     https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-templates.html
227357
227358              Example:
227359
227360                 mytestindex2_template:
227361                   elasticsearch_index_template.present:
227362                     - definition:
227363                         template: logstash-*
227364                         order: 1
227365                         settings:
227366                           number_of_shards: 1
227367
227368   salt.states.environ
227369       Support  for  getting and setting the environment variables of the cur‐
227370       rent salt process.
227371
227372       salt.states.environ.setenv(name,       value,       false_unsets=False,
227373       clear_all=False, update_minion=False, permanent=False)
227374              Set the salt process environment variables.
227375
227376              name   The environment key to set. Must be a string.
227377
227378              value  Either  a  string  or  dict.  When string, it will be the
227379                     value set for the environment key of 'name' above.   When
227380                     a  dict,  each  key/value  pair represents an environment
227381                     variable to set.
227382
227383              false_unsets
227384                     If a key's value is False and false_unsets is True,  then
227385                     the  key will be removed from the salt processes environ‐
227386                     ment dict  entirely.  If  a  key's  value  is  False  and
227387                     false_unsets  is  not  True, then the key's value will be
227388                     set to an empty string.  Default: False
227389
227390              clear_all
227391                     USE WITH CAUTION! This option can unset environment vari‐
227392                     ables needed for salt to function properly.  If clear_all
227393                     is True, then any environment variables  not  defined  in
227394                     the environ dict will be deleted.  Default: False
227395
227396              update_minion
227397                     If   True,  apply  these  environ  changes  to  the  main
227398                     salt-minion process. If False, the environ  changes  will
227399                     only affect the current salt subprocess.  Default: False
227400
227401              permanent
227402                     On Windows minions this will set the environment variable
227403                     in the registry so that it is always added as a  environ‐
227404                     ment  variable when applications open. If you want to set
227405                     the variable to HKLM instead of HKCU just pass in  "HKLM"
227406                     for  this  parameter. On all other minion types this will
227407                     be ignored. Note: This will only take affect on  applica‐
227408                     tions opened after this has been set.
227409
227410              Example:
227411
227412                 a_string_env:
227413                    environ.setenv:
227414                      - name: foo
227415                      - value: bar
227416                      - update_minion: True
227417
227418                 a_dict_env:
227419                    environ.setenv:
227420                      - name: does_not_matter
227421                      - value:
227422                          foo: bar
227423                          baz: quux
227424
227425   salt.states.eselect
227426   Management of Gentoo configuration using eselect
227427       A state module to manage Gentoo configuration via eselect
227428
227429       salt.states.eselect.set_(name,      target,      module_parameter=None,
227430       action_parameter=None)
227431              Verify that the given module is set to the given target
227432
227433              name   The name of the module
227434
227435              target The target to be set for this module
227436
227437              module_parameter
227438                     additional params passed to the defined module
227439
227440              action_parameter
227441                     additional params passed to the defined action
227442
227443                 profile:
227444                   eselect.set:
227445                     - target: hardened/linux/amd64
227446
227447   salt.states.etcd_mod
227448   Manage etcd Keys
227449       New in version 2015.8.0.
227450
227451
227452       depends
227453
227454              · python-etcd
227455
227456       This state module supports setting and removing keys from etcd.
227457
227458   Configuration
227459       To work with an etcd server you must configure  an  etcd  profile.  The
227460       etcd  config can be set in either the Salt Minion configuration file or
227461       in pillar:
227462
227463          my_etd_config:
227464            etcd.host: 127.0.0.1
227465            etcd.port: 4001
227466
227467       It is technically possible to configure etcd without using  a  profile,
227468       but  this is not considered to be a best practice, especially when mul‐
227469       tiple etcd servers or clusters are available.
227470
227471          etcd.host: 127.0.0.1
227472          etcd.port: 4001
227473
227474       NOTE:
227475          The etcd configuration can also be set in  the  Salt  Master  config
227476          file,  but  in  order  to use any etcd configurations defined in the
227477          Salt Master config, the pillar_opts must be set to True.
227478
227479          Be aware that setting pillar_opts to True has security  implications
227480          as  this  makes  all  master configuration settings available in all
227481          minion's pillars.
227482
227483       Etcd profile configuration can be overridden using following arguments:
227484       host, port, username, password, ca, client_key and client_cert.
227485
227486          my-value:
227487            etcd.set:
227488              - name: /path/to/key
227489              - value: value
227490              - host: 127.0.0.1
227491              - port: 2379
227492              - username: user
227493              - password: pass
227494
227495   Available Functions
227496       · set
227497
227498         This  will  set a value to a key in etcd. Changes will be returned if
227499         the key has been created or the value of the key  has  been  updated.
227500         This means you can watch these states for changes.
227501
227502            /foo/bar/baz:
227503              etcd.set:
227504                - value: foo
227505                - profile: my_etcd_config
227506
227507       · wait_set
227508
227509         Performs  the same functionality as set but only if a watch requisite
227510         is True.
227511
227512            /some/file.txt:
227513              file.managed:
227514                - source: salt://file.txt
227515
227516            /foo/bar/baz:
227517              etcd.wait_set:
227518                - value: foo
227519                - profile: my_etcd_config
227520                - watch:
227521                  - file: /some/file.txt
227522
227523       · rm
227524
227525         This will delete a key from etcd. If the key exists then changes will
227526         be  returned  and thus you can watch for changes on the state, if the
227527         key does not exist then no changes will occur.
227528
227529            /foo/bar/baz:
227530              etcd.rm:
227531                - profile: my_etcd_config
227532
227533       · wait_rm
227534
227535         Performs the same functionality as rm but only if a  watch  requisite
227536         is True.
227537
227538            /some/file.txt:
227539              file.managed:
227540                - source: salt://file.txt
227541
227542            /foo/bar/baz:
227543              etcd.wait_rm:
227544                - profile: my_etcd_config
227545                - watch:
227546                  - file: /some/file.txt
227547
227548       salt.states.etcd_mod.directory(name, profile=None, **kwargs)
227549              Create a directory in etcd.
227550
227551              name   The etcd directory name, for example: /foo/bar/baz.
227552
227553              profile
227554                     Optional,  defaults to None. Sets the etcd profile to use
227555                     which has been defined in the Salt Master config.
227556
227557                        my_etd_config:
227558                          etcd.host: 127.0.0.1
227559                          etcd.port: 4001
227560
227561       salt.states.etcd_mod.mod_watch(name, **kwargs)
227562              The etcd watcher, called to  invoke  the  watch  command.   When
227563              called, execute a etcd function based on a watch call requisite.
227564
227565              NOTE:
227566                 This  state  exists  to support special handling of the watch
227567                 requisite. It should not be called directly.
227568
227569                 Parameters for this function should be set by the state being
227570                 triggered.
227571
227572       salt.states.etcd_mod.rm(name, recurse=False, profile=None, **kwargs)
227573              Deletes a key from etcd
227574
227575              name   The etcd key name to remove, for example /foo/bar/baz.
227576
227577              recurse
227578                     Optional, defaults to False. If True performs a recursive
227579                     delete.
227580
227581              profile
227582                     Optional, defaults to None. Sets the etcd profile to  use
227583                     which has been defined in the Salt Master config.
227584
227585                        my_etd_config:
227586                          etcd.host: 127.0.0.1
227587                          etcd.port: 4001
227588
227589       salt.states.etcd_mod.set_(name, value, profile=None, **kwargs)
227590              Set a key in etcd
227591
227592              name   The etcd key name, for example: /foo/bar/baz.
227593
227594              value  The value the key should contain.
227595
227596              profile
227597                     Optional,  defaults to None. Sets the etcd profile to use
227598                     which has been defined in the Salt Master config.
227599
227600                        my_etd_config:
227601                          etcd.host: 127.0.0.1
227602                          etcd.port: 4001
227603
227604       salt.states.etcd_mod.wait_rm(name,     recurse=False,     profile=None,
227605       **kwargs)
227606              Deletes  a  key  from etcd only if the watch statement calls it.
227607              This function is also aliased as wait_rm.
227608
227609              name   The etcd key name to remove, for example /foo/bar/baz.
227610
227611              recurse
227612                     Optional, defaults to False. If True performs a recursive
227613                     delete,                                              see:
227614                     https://python-etcd.readthedocs.io/en/latest/#delete-a-key.
227615
227616              profile
227617                     Optional,  defaults to None. Sets the etcd profile to use
227618                     which has been defined in the Salt Master config.
227619
227620                        my_etd_config:
227621                          etcd.host: 127.0.0.1
227622                          etcd.port: 4001
227623
227624       salt.states.etcd_mod.wait_set(name, value, profile=None, **kwargs)
227625              Set a key in etcd only if the watch  statement  calls  it.  This
227626              function is also aliased as wait_set.
227627
227628              name   The etcd key name, for example: /foo/bar/baz.
227629
227630              value  The value the key should contain.
227631
227632              profile
227633                     The  etcd  profile to use that has been configured on the
227634                     Salt Master, this is optional and defaults to None.
227635
227636                        my_etd_config:
227637                          etcd.host: 127.0.0.1
227638                          etcd.port: 4001
227639
227640   salt.states.ethtool module
227641       Configuration of network device
227642
227643       New in version 2016.11.0.
227644
227645
227646       codeauthor
227647              Krzysztof Pawlowski <msciciel@msciciel.eu>
227648
227649       maturity
227650              new
227651
227652       depends
227653              python-ethtool
227654
227655       platform
227656              linux
227657
227658          eth0:
227659            ethtool.coalesce:
227660              - name: eth0
227661              - rx_usecs: 24
227662              - tx_usecs: 48
227663
227664          eth0:
227665            ethtool.ring:
227666              - name: eth0
227667              - rx: 1024
227668              - tx: 1024
227669
227670          eth0:
227671            ethtool.offload:
227672              - name: eth0
227673              - tcp_segmentation_offload: on
227674
227675       salt.states.ethtool.coalesce(name, **kwargs)
227676              Manage coalescing settings of network device
227677
227678              name   Interface name to apply coalescing settings
227679
227680                 eth0:
227681                   ethtool.coalesce:
227682                     - name: eth0
227683                     - adaptive_rx: on
227684                     - adaptive_tx: on
227685                     - rx_usecs: 24
227686                     - rx_frame: 0
227687                     - rx_usecs_irq: 0
227688                     - rx_frames_irq: 0
227689                     - tx_usecs: 48
227690                     - tx_frames: 0
227691                     - tx_usecs_irq: 0
227692                     - tx_frames_irq: 0
227693                     - stats_block_usecs: 0
227694                     - pkt_rate_low: 0
227695                     - rx_usecs_low: 0
227696                     - rx_frames_low: 0
227697                     - tx_usecs_low: 0
227698                     - tx_frames_low: 0
227699                     - pkt_rate_high: 0
227700                     - rx_usecs_high: 0
227701                     - rx_frames_high: 0
227702                     - tx_usecs_high: 0
227703                     - tx_frames_high: 0
227704                     - sample_interval: 0
227705
227706       salt.states.ethtool.offload(name, **kwargs)
227707              Manage protocol offload and other features of network device
227708
227709              name   Interface name to apply coalescing settings
227710
227711                 eth0:
227712                   ethtool.offload:
227713                     - name: eth0
227714                     - tcp_segmentation_offload: on
227715
227716       salt.states.ethtool.ring(name, **kwargs)
227717              Manage rx/tx ring parameters of network device
227718
227719              Use 'max' word to set with factory maximum
227720
227721              name   Interface name to apply ring parameters
227722
227723                 eth0:
227724                   ethtool.ring:
227725                     - name: eth0
227726                     - rx: 1024
227727                     - rx_mini: 0
227728                     - rx_jumbo: 0
227729                     - tx: max
227730
227731   salt.states.esxi
227732       Manage VMware ESXi Hosts.
227733
227734       New in version 2015.8.4.
227735
227736
227737   Dependencies
227738       · pyVmomi Python Module
227739
227740       · ESXCLI
227741
227742   pyVmomi
227743       PyVmomi can be installed via pip:
227744
227745          pip install pyVmomi
227746
227747       NOTE:
227748          Version 6.0 of pyVmomi has some problems with SSL error handling  on
227749          certain  versions of Python. If using version 6.0 of pyVmomi, Python
227750          2.6, Python 2.7.9, or newer must be  present.  This  is  due  to  an
227751          upstream  dependency  in pyVmomi 6.0 that is not supported in Python
227752          versions 2.7 to 2.7.8. If the version of Python is not in  the  sup‐
227753          ported  range,  you  will need to install an earlier version of pyV‐
227754          momi. See Issue #29537 for more information.
227755
227756       Based on the note above, to install an earlier version of pyVmomi  than
227757       the version currently listed in PyPi, run the following:
227758
227759          pip install pyVmomi==5.5.0.2014.1.1
227760
227761       The  5.5.0.2014.1.1  is  a known stable version that this original ESXi
227762       State Module was developed against.
227763
227764   ESXCLI
227765       Currently, about a third of the functions used in the vSphere Execution
227766       Module  require  the ESXCLI package be installed on the machine running
227767       the Proxy Minion process.
227768
227769       The ESXCLI package is also referred to as the VMware  vSphere  CLI,  or
227770       vCLI.  VMware  provides  vCLI  package  installation  instructions  for
227771       vSphere 5.5 and vSphere 6.0.
227772
227773       Once all of the required dependencies are in place and the vCLI package
227774       is installed, you can check to see if you can connect to your ESXi host
227775       or vCenter server by running the following command:
227776
227777          esxcli -s <host-location> -u <username> -p <password> system syslog config get
227778
227779       If the connection was successful, ESXCLI was successfully installed  on
227780       your  system.   You should see output related to the ESXi host's syslog
227781       configuration.
227782
227783       NOTE:
227784          Be aware that some functionality in this state module may depend  on
227785          the type of license attached to the ESXi host.
227786
227787          For  example, certain services are only available to manipulate ser‐
227788          vice state or policies with a VMware vSphere  Enterprise  or  Enter‐
227789          prise  Plus  license,  while  others  are  available with a Standard
227790          license. The ntpd  service  is  restricted  to  an  Enterprise  Plus
227791          license, while ssh is available via the Standard license.
227792
227793          Please see the vSphere Comparison page for more information.
227794
227795   About
227796       This  state  module  was  written to be used in conjunction with Salt's
227797       ESXi Proxy Minion. For a tutorial on how to use Salt's ESXi Proxy  Min‐
227798       ion,  please  refer to the ESXi Proxy Minion Tutorial for configuration
227799       examples, dependency installation instructions, how to run remote  exe‐
227800       cution  functions  against  ESXi  hosts  via a Salt Proxy Minion, and a
227801       larger state example.
227802
227803       salt.states.esxi.coredump_configured(name,      enabled,       dump_ip,
227804       host_vnic=u'vmk0', dump_port=6500)
227805              Ensures a host's core dump configuration.
227806
227807              name   Name of the state.
227808
227809              enabled
227810                     Sets  whether  or not ESXi core dump collection should be
227811                     enabled.  This is a boolean value set to True or False to
227812                     enable or disable core dumps.
227813
227814                     Note  that  ESXi  requires  that  the  core  dump must be
227815                     enabled before any other parameters may be set. This also
227816                     affects  the  changes results in the state return dictio‐
227817                     nary. If enabled is False, we can't obtain  any  previous
227818                     settings  to  compare other state variables, resulting in
227819                     many old references returning None.
227820
227821                     Once enabled is True the changes  dictionary  comparisons
227822                     will  be more accurate. This is due to the way the system
227823                     coredemp network configuration command returns data.
227824
227825              dump_ip
227826                     The IP address of host that will accept the dump.
227827
227828              host_vnic
227829                     Host VNic port through which to communicate. Defaults  to
227830                     vmk0.
227831
227832              dump_port
227833                     TCP port to use for the dump. Defaults to 6500.
227834
227835              Example:
227836
227837                 configure-host-coredump:
227838                   esxi.coredump_configured:
227839                     - enabled: True
227840                     - dump_ip: 'my-coredump-ip.example.com'
227841
227842       salt.states.esxi.diskgroups_configured(name,                diskgroups,
227843       erase_disks=False)
227844              Configures the disk groups to use for vsan.
227845
227846              This function will do the following:
227847
227848              1. Check whether or not all disks in the diskgroup  spec  exist,
227849                 and raises and errors if they do not.
227850
227851              2. Create  diskgroups  with  the  correct disk configurations if
227852                 diskgroup (identified  by  the  cache  disk  canonical  name)
227853                 doesn't exist
227854
227855              3. Adds extra capacity disks to the existing diskgroup
227856
227857              Example:
227858
227859                 {
227860                     'cache_scsi_addr': 'vmhba1:C0:T0:L0',
227861                     'capacity_scsi_addrs': [
227862                         'vmhba2:C0:T0:L0',
227863                         'vmhba3:C0:T0:L0',
227864                         'vmhba4:C0:T0:L0',
227865                     ]
227866                 }
227867
227868              name   Mandatory state name
227869
227870              diskgroups
227871                     Disk group representation containing scsi disk addresses.
227872                     Scsi addresses are expected for disks in the diskgroup:
227873
227874              erase_disks
227875                     Specifies whether to erase all partitions  on  all  disks
227876                     member  of  the  disk group before the disk group is cre‐
227877                     ated. Default value is False.
227878
227879       salt.states.esxi.host_cache_configured(name,    enabled,     datastore,
227880       swap_size=u'100%',       dedicated_backing_disk=False,      erase_back‐
227881       ing_disk=False)
227882              Configures the host cache used for swapping.
227883
227884              It will do the following:
227885
227886              1. Checks if backing disk exists
227887
227888              2. Creates the VMFS datastore if doesn't exist (datastore parti‐
227889                 tion will be created and use the entire disk)
227890
227891              3. Raises  an error if dedicated_backing_disk is True and parti‐
227892                 tions already exist on the backing disk
227893
227894              4. Configures host_cache to use a portion of the  datastore  for
227895                 caching (either a specific size or a percentage of the datas‐
227896                 tore)
227897
227898              Examples
227899
227900              Percentage swap size (can't be 100%)
227901
227902                 {
227903                     'enabled': true,
227904                     'datastore': {
227905                         'backing_disk_scsi_addr': 'vmhba0:C0:T0:L0',
227906                         'vmfs_version': 5,
227907                         'name': 'hostcache'
227908                         }
227909                     'dedicated_backing_disk': false
227910                     'swap_size': '98%',
227911                 }
227912
227913              Fixed sized swap size
227914
227915                 {
227916                     'enabled': true,
227917                     'datastore': {
227918                         'backing_disk_scsi_addr': 'vmhba0:C0:T0:L0',
227919                         'vmfs_version': 5,
227920                         'name': 'hostcache'
227921                         }
227922                     'dedicated_backing_disk': true
227923                     'swap_size': '10GiB',
227924                 }
227925
227926              name   Mandatory state name.
227927
227928              enabled
227929                     Specifies whether the host cache is enabled.
227930
227931              datastore
227932                     Specifies the host cache datastore.
227933
227934              swap_size
227935                     Specifies the size of the host cache swap. Can be a  per‐
227936                     centage or a value in GiB. Default value is 100%.
227937
227938              dedicated_backing_disk
227939                     Specifies  whether  the  backing disk is dedicated to the
227940                     host cache which means it must have no other  partitions.
227941                     Default is False
227942
227943              erase_backing_disk
227944                     Specifies  whether to erase all partitions on the backing
227945                     disk before the datastore is created.  Default  value  is
227946                     False.
227947
227948       salt.states.esxi.ntp_configured(name,                  service_running,
227949       ntp_servers=None,      service_policy=None,      service_restart=False,
227950       update_datetime=False)
227951              Ensures  a  host's  NTP server configuration such as setting NTP
227952              servers, ensuring the NTP  daemon  is  running  or  stopped,  or
227953              restarting the NTP daemon for the ESXi host.
227954
227955              name   Name of the state.
227956
227957              service_running
227958                     Ensures the running state of the ntp daemon for the host.
227959                     Boolean value where True indicates that  ntpd  should  be
227960                     running and False indicates that it should be stopped.
227961
227962              ntp_servers
227963                     A list of servers that should be added to the ESXi host's
227964                     NTP configuration.
227965
227966              service_policy
227967                     The policy to set for the NTP service.
227968
227969                     NOTE:
227970                        When setting the service policy to off or on, you must
227971                        quote  the setting. If you don't, the yaml parser will
227972                        set the string to a boolean, which will cause  trouble
227973                        checking for stateful changes and will error when try‐
227974                        ing to set the policy on the ESXi host.
227975
227976              service_restart
227977                     If set to True, the ntp daemon will be restarted, regard‐
227978                     less of its previous running state. Default is False.
227979
227980              update_datetime
227981                     If  set  to True, the date/time on the given host will be
227982                     updated to UTC.  Default setting is  False.  This  option
227983                     should be used with caution since network delays and exe‐
227984                     cution delays can result in time skews.
227985
227986              Example:
227987
227988                 configure-host-ntp:
227989                   esxi.ntp_configured:
227990                     - service_running: True
227991                     - ntp_servers:
227992                       - 192.174.1.100
227993                       - 192.174.1.200
227994                     - service_policy: 'on'
227995                     - service_restart: True
227996
227997       salt.states.esxi.password_present(name, password)
227998              Ensures the given password is set on the  ESXi  host.  Passwords
227999              cannot  be  obtained  from host, so if a password is set in this
228000              state, the vsphere.update_host_password function will always run
228001              (except  when  using  test=True  functionality)  and the state's
228002              changes dictionary will always be populated.
228003
228004              The username for which the password  will  change  is  the  same
228005              username  that is used to authenticate against the ESXi host via
228006              the Proxy Minion. For example, if the pillar definition for  the
228007              proxy  username  is  defined as root, then the username that the
228008              password will be updated for via this state is root.
228009
228010              name   Name of the state.
228011
228012              password
228013                     The new password to change on the host.
228014
228015              Example:
228016
228017                 configure-host-password:
228018                   esxi.password_present:
228019                     - password: 'new-bad-password'
228020
228021       salt.states.esxi.ssh_configured(name,  service_running,   ssh_key=None,
228022       ssh_key_file=None, service_policy=None, service_restart=False, certifi‐
228023       cate_verify=False)
228024              Manage the SSH configuration for a host including whether or not
228025              SSH  is  running  or the presence of a given SSH key. Note: Only
228026              one ssh key can be uploaded for root.  Uploading  a  second  key
228027              will replace any existing key.
228028
228029              name   Name of the state.
228030
228031              service_running
228032                     Ensures  whether or not the SSH service should be running
228033                     on a host. Represented as  a  boolean  value  where  True
228034                     indicates  that SSH should be running and False indicates
228035                     that SSH should stopped.
228036
228037                     In order to update SSH keys, the SSH service must be run‐
228038                     ning.
228039
228040              ssh_key
228041                     Public  SSH  key  to added to the authorized_keys file on
228042                     the ESXi host. You can use ssh_key or  ssh_key_file,  but
228043                     not both.
228044
228045              ssh_key_file
228046                     File  containing  the  public  SSH key to be added to the
228047                     authorized_keys file  on  the  ESXi  host.  You  can  use
228048                     ssh_key_file or ssh_key, but not both.
228049
228050              service_policy
228051                     The policy to set for the NTP service.
228052
228053                     NOTE:
228054                        When setting the service policy to off or on, you must
228055                        quote the setting. If you don't, the yaml parser  will
228056                        set  the string to a boolean, which will cause trouble
228057                        checking for stateful changes and will error when try‐
228058                        ing to set the policy on the ESXi host.
228059
228060              service_restart
228061                     If  set  to  True,  the  SSH  service  will be restarted,
228062                     regardless of its  previous  running  state.  Default  is
228063                     False.
228064
228065              certificate_verify
228066                     If  set  to True, the SSL connection must present a valid
228067                     certificate.  Default is False.
228068
228069              Example:
228070
228071                 configure-host-ssh:
228072                   esxi.ssh_configured:
228073                     - service_running: True
228074                     - ssh_key_file: /etc/salt/ssh_keys/my_key.pub
228075                     - service_policy: 'on'
228076                     - service_restart: True
228077                     - certificate_verify: True
228078
228079       salt.states.esxi.syslog_configured(name, syslog_configs, firewall=True,
228080       reset_service=True, reset_syslog_config=False, reset_configs=None)
228081              Ensures   the  specified  syslog  configuration  parameters.  By
228082              default, this state will reset the syslog service after any  new
228083              or changed parameters are set successfully.
228084
228085              name   Name of the state.
228086
228087              syslog_configs
228088                     Name of parameter to set (corresponds to the command line
228089                     switch for esxcli without the double dashes (--))
228090
228091                     Valid   syslog_config   values   are   logdir,   loghost,
228092                     logdir-unique,    default-rotate,    default-size,    and
228093                     default-timeout.
228094
228095                     Each syslog_config  option  also  needs  a  configuration
228096                     value  to  set.  For example, loghost requires URLs or IP
228097                     addresses to use for logging. Multiple log servers can be
228098                     specified  by  listing them, comma-separated, but without
228099                     spaces before or after commas
228100
228101                     (reference:
228102                     https://blogs.vmware.com/vsphere/2012/04/configuring-multiple-syslog-servers-for-esxi-5.html)
228103
228104              firewall
228105                     Enable the firewall rule  set  for  syslog.  Defaults  to
228106                     True.
228107
228108              reset_service
228109                     After  a  successful  parameter  set,  reset the service.
228110                     Defaults to True.
228111
228112              reset_syslog_config
228113                     Resets the  syslog  service  to  it's  default  settings.
228114                     Defaults  to  False.   If  set  to True, default settings
228115                     defined by the list of syslog  configs  in  reset_configs
228116                     will be reset before running any other syslog settings.
228117
228118              reset_configs
228119                     A  comma-delimited list of parameters to reset. Only runs
228120                     if reset_syslog_config is  set  to  True.  If  reset_sys‐
228121                     log_config  is  set  to  True,  but no syslog configs are
228122                     listed in reset_configs, then reset_configs will  be  set
228123                     to all by default.
228124
228125                     See  syslog_configs  parameter  above for a list of valid
228126                     options.
228127
228128              Example:
228129
228130                 configure-host-syslog:
228131                   esxi.syslog_configured:
228132                     - syslog_configs:
228133                         loghost: ssl://localhost:5432,tcp://10.1.0.1:1514
228134                         default-timeout: 120
228135                     - firewall: True
228136                     - reset_service: True
228137                     - reset_syslog_config: True
228138                     - reset_configs: loghost,default-timeout
228139
228140       salt.states.esxi.vmotion_configured(name, enabled, device=u'vmk0')
228141              Configures a host's VMotion properties such as enabling  VMotion
228142              and setting the device VirtualNic that VMotion will use.
228143
228144              name   Name of the state.
228145
228146              enabled
228147                     Ensures  whether  or  not  VMotion should be enabled on a
228148                     host as a boolean value where True indicates that VMotion
228149                     should be enabled and False indicates that VMotion should
228150                     be disabled.
228151
228152              device The device that uniquely identifies the  VirtualNic  that
228153                     will be used for VMotion for the host. Defaults to vmk0.
228154
228155              Example:
228156
228157                 configure-vmotion:
228158                   esxi.vmotion_configured:
228159                     - enabled: True
228160                     - device: sample-device
228161
228162       salt.states.esxi.vsan_configured(name,                         enabled,
228163       add_disks_to_vsan=False)
228164              Configures a host's VSAN properties such  as  enabling  or  dis‐
228165              abling  VSAN,  or  adding VSAN-eligible disks to the VSAN system
228166              for the host.
228167
228168              name   Name of the state.
228169
228170              enabled
228171                     Ensures whether or not VSAN should be enabled on  a  host
228172                     as  a boolean value where True indicates that VSAN should
228173                     be enabled and False indicates that VSAN should  be  dis‐
228174                     abled.
228175
228176              add_disks_to_vsan
228177                     If  set  to  True,  any VSAN-eligible disks for the given
228178                     host will be added to the host's VSAN system. Default  is
228179                     False.
228180
228181              Example:
228182
228183                 configure-host-vsan:
228184                   esxi.vsan_configured:
228185                     - enabled: True
228186                     - add_disks_to_vsan: True
228187
228188   salt.states.event
228189       Send events through Salt's event system during state runs
228190
228191       salt.states.event.send(name,  data=None,  preload=None, with_env=False,
228192       with_grains=False, with_pillar=False, show_changed=True, **kwargs)
228193              Send an event to the Salt Master
228194
228195              New in version 2014.7.0.
228196
228197
228198              Accepts the same arguments as the event.send execution module of
228199              the same name, with the additional argument:
228200
228201              Parameters
228202                     show_changed  -- If True, state will show as changed with
228203                     the data argument as the change value. If False, shows as
228204                     unchanged.
228205
228206              Example:
228207
228208                 # ...snip bunch of states above
228209
228210                 mycompany/mystaterun/status/update:
228211                   event.send:
228212                     - data:
228213                         status: "Half-way through the state run!"
228214
228215                 # ...snip bunch of states below
228216
228217       salt.states.event.wait(name, sfun=None)
228218              Fire  an  event  on  the  Salt master event bus if called from a
228219              watch statement
228220
228221              New in version 2014.7.0.
228222
228223
228224              Example:
228225
228226                 # Stand up a new web server.
228227                 apache:
228228                   pkg:
228229                     - installed
228230                     - name: httpd
228231                   service:
228232                     - running
228233                     - enable: True
228234                     - name: httpd
228235
228236                 # Notify the load balancer to update the pool once Apache is running.
228237                 refresh_pool:
228238                   event:
228239                     - wait
228240                     - name: mycompany/loadbalancer/pool/update
228241                     - data:
228242                         new_web_server_ip: {{ grains['ipv4'] | first() }}
228243                     - watch:
228244                       - pkg: apache
228245
228246   salt.states.file
228247   Operations on regular files, special files, directories, and symlinks
228248       Salt States can aggressively manipulate files on a system. There are  a
228249       number of ways in which files can be managed.
228250
228251       Regular  files  can be enforced with the file.managed state. This state
228252       downloads files from the salt master and places them on the target sys‐
228253       tem. Managed files can be rendered as a jinja, mako, or wempy template,
228254       adding  a  dynamic  component  to  file  management.   An  example   of
228255       file.managed  which makes use of the jinja templating system would look
228256       like this:
228257
228258          /etc/http/conf/http.conf:
228259            file.managed:
228260              - source: salt://apache/http.conf
228261              - user: root
228262              - group: root
228263              - mode: 644
228264              - attrs: ai
228265              - template: jinja
228266              - defaults:
228267                  custom_var: "default value"
228268                  other_var: 123
228269          {% if grains['os'] == 'Ubuntu' %}
228270              - context:
228271                  custom_var: "override"
228272          {% endif %}
228273
228274       It is also possible to use the py renderer as a templating option.  The
228275       template  would  be a Python script which would need to contain a func‐
228276       tion called run(), which returns a string. All arguments to  the  state
228277       will  be  made  available to the Python script as globals. The returned
228278       string will be the contents of the managed file. For example:
228279
228280          def run():
228281              lines = ['foo', 'bar', 'baz']
228282              lines.extend([source, name, user, context])  # Arguments as globals
228283              return '\n\n'.join(lines)
228284
228285       NOTE:
228286          The defaults and context arguments require extra  indentation  (four
228287          spaces  instead  of the normal two) in order to create a nested dic‐
228288          tionary.  More information.
228289
228290       If using a template, any user-defined template variables  in  the  file
228291       defined  in  source must be passed in using the defaults and/or context
228292       arguments. The general best practice is  to  place  default  values  in
228293       defaults, with conditional overrides going into context, as seen above.
228294
228295       The  template  will  receive  a  variable  custom_var,  which  would be
228296       accessed in the template using {{ custom_var }}. If the operating  sys‐
228297       tem  is Ubuntu, the value of the variable custom_var would be override,
228298       otherwise it is the default default value
228299
228300       The source parameter can be specified as a list. If this is done,  then
228301       the  first file to be matched will be the one that is used. This allows
228302       you to have a default file on which to fall back if  the  desired  file
228303       does not exist on the salt fileserver. Here's an example:
228304
228305          /etc/foo.conf:
228306            file.managed:
228307              - source:
228308                - salt://foo.conf.{{ grains['fqdn'] }}
228309                - salt://foo.conf.fallback
228310              - user: foo
228311              - group: users
228312              - mode: 644
228313              - attrs: i
228314              - backup: minion
228315
228316       NOTE:
228317          Salt  supports  backing  up managed files via the backup option. For
228318          more details on this functionality  please  review  the  backup_mode
228319          documentation.
228320
228321       The  source  parameter can also specify a file in another Salt environ‐
228322       ment.  In this example foo.conf in the dev  environment  will  be  used
228323       instead.
228324
228325          /etc/foo.conf:
228326            file.managed:
228327              - source:
228328                - 'salt://foo.conf?saltenv=dev'
228329              - user: foo
228330              - group: users
228331              - mode: '0644'
228332              - attrs: i
228333
228334       WARNING:
228335          When  using  a  mode  that includes a leading zero you must wrap the
228336          value in single quotes. If the value is not  wrapped  in  quotes  it
228337          will be read by YAML as an integer and evaluated as an octal.
228338
228339       The  names  parameter, which is part of the state compiler, can be used
228340       to expand the contents of a single  state  declaration  into  multiple,
228341       single state declarations. Each item in the names list receives its own
228342       individual state name and is converted into its own low-data structure.
228343       This  is  a  convenient  way  to  manage  several  files  with  similar
228344       attributes.
228345
228346       There is more documentation about this feature in the Names declaration
228347       section of the Highstate docs.
228348
228349       Special files can be managed via the mknod function. This function will
228350       create and enforce the permissions on a special file. The function sup‐
228351       ports the creation of character devices, block devices, and FIFO pipes.
228352       The function will create the directory structure up to the special file
228353       if it is needed on the minion. The function will not overwrite or oper‐
228354       ate on (change major/minor numbers) existing  special  files  with  the
228355       exception  of  user, group, and permissions. In most cases the creation
228356       of some special files require root  permissions  on  the  minion.  This
228357       would  require  that  the minion to be run as the root user. Here is an
228358       example of a character device:
228359
228360          /var/named/chroot/dev/random:
228361            file.mknod:
228362              - ntype: c
228363              - major: 1
228364              - minor: 8
228365              - user: named
228366              - group: named
228367              - mode: 660
228368
228369       Here is an example of a block device:
228370
228371          /var/named/chroot/dev/loop0:
228372            file.mknod:
228373              - ntype: b
228374              - major: 7
228375              - minor: 0
228376              - user: named
228377              - group: named
228378              - mode: 660
228379
228380       Here is an example of a fifo pipe:
228381
228382          /var/named/chroot/var/log/logfifo:
228383            file.mknod:
228384              - ntype: p
228385              - user: named
228386              - group: named
228387              - mode: 660
228388
228389       Directories can be managed via the directory  function.  This  function
228390       can  create  and  enforce  the  permissions on a directory. A directory
228391       statement will look like this:
228392
228393          /srv/stuff/substuf:
228394            file.directory:
228395              - user: fred
228396              - group: users
228397              - mode: 755
228398              - makedirs: True
228399
228400       If you need to enforce  user  and/or  group  ownership  or  permissions
228401       recursively  on  the  directory's  contents,  you can do so by adding a
228402       recurse directive:
228403
228404          /srv/stuff/substuf:
228405            file.directory:
228406              - user: fred
228407              - group: users
228408              - mode: 755
228409              - makedirs: True
228410              - recurse:
228411                - user
228412                - group
228413                - mode
228414
228415       As a default, mode will resolve to dir_mode and file_mode,  to  specify
228416       both directory and file permissions, use this form:
228417
228418          /srv/stuff/substuf:
228419            file.directory:
228420              - user: fred
228421              - group: users
228422              - file_mode: 744
228423              - dir_mode: 755
228424              - makedirs: True
228425              - recurse:
228426                - user
228427                - group
228428                - mode
228429
228430       Symlinks can be easily created; the symlink function is very simple and
228431       only takes a few arguments:
228432
228433          /etc/grub.conf:
228434            file.symlink:
228435              - target: /boot/grub/grub.conf
228436
228437       Recursive directory management can also be set via  the  recurse  func‐
228438       tion. Recursive directory management allows for a directory on the salt
228439       master to be recursively copied down to the minion.  This  is  a  great
228440       tool  for deploying large code and configuration systems. A state using
228441       recurse would look something like this:
228442
228443          /opt/code/flask:
228444            file.recurse:
228445              - source: salt://code/flask
228446              - include_empty: True
228447
228448       A more complex recurse example:
228449
228450          {% set site_user = 'testuser' %}
228451          {% set site_name = 'test_site' %}
228452          {% set project_name = 'test_proj' %}
228453          {% set sites_dir = 'test_dir' %}
228454
228455          django-project:
228456            file.recurse:
228457              - name: {{ sites_dir }}/{{ site_name }}/{{ project_name }}
228458              - user: {{ site_user }}
228459              - dir_mode: 2775
228460              - file_mode: '0644'
228461              - template: jinja
228462              - source: salt://project/templates_dir
228463              - include_empty: True
228464
228465       Retention scheduling can be applied to manage contents of backup direc‐
228466       tories.  For example:
228467
228468          /var/backups/example_directory:
228469            file.retention_schedule:
228470              - strptime_format: example_name_%Y%m%dT%H%M%S.tar.bz2
228471              - retain:
228472                  most_recent: 5
228473                  first_of_hour: 4
228474                  first_of_day: 14
228475                  first_of_week: 6
228476                  first_of_month: 6
228477                  first_of_year: all
228478
228479       salt.states.file.absent(name, **kwargs)
228480              Make  sure  that  the  named  file or directory is absent. If it
228481              exists, it will be deleted. This will work to reverse any of the
228482              functions  in the file state module. If a directory is supplied,
228483              it will be recursively deleted.
228484
228485              name   The path which should be deleted
228486
228487       salt.states.file.accumulated(name, filename, text, **kwargs)
228488              Prepare accumulator which can be used in template  in  file.man‐
228489              aged  state.   Accumulator  dictionary becomes available in tem‐
228490              plate. It can also be used in file.blockreplace.
228491
228492              name   Accumulator name
228493
228494              filename
228495                     Filename  which  would  receive  this  accumulator   (see
228496                     file.managed state documentation about name)
228497
228498              text   String or list for adding in accumulator
228499
228500              require_in / watch_in
228501                     One  of  them  required  for  sure we fill up accumulator
228502                     before we manage the file. Probably the same as filename
228503
228504              Example:
228505
228506              Given the following:
228507
228508                 animals_doing_things:
228509                   file.accumulated:
228510                     - filename: /tmp/animal_file.txt
228511                     - text: ' jumps over the lazy dog.'
228512                     - require_in:
228513                       - file: animal_file
228514
228515                 animal_file:
228516                   file.managed:
228517                     - name: /tmp/animal_file.txt
228518                     - source: salt://animal_file.txt
228519                     - template: jinja
228520
228521              One might write a template for animal_file.txt like the  follow‐
228522              ing:
228523
228524                 The quick brown fox{% for animal in accumulator['animals_doing_things'] %}{{ animal }}{% endfor %}
228525
228526              Collectively, the above states and template file will produce:
228527
228528                 The quick brown fox jumps over the lazy dog.
228529
228530              Multiple accumulators can be "chained" together.
228531
228532              NOTE:
228533                 The  'accumulator' data structure is a Python dictionary.  Do
228534                 not expect any loop over the keys in a deterministic order!
228535
228536       salt.states.file.append(name, text=None,  makedirs=False,  source=None,
228537       source_hash=None,  template=u'jinja', sources=None, source_hashes=None,
228538       defaults=None, context=None, ignore_whitespace=True)
228539              Ensure that some text appears at the end of a file.
228540
228541              The text will not be appended if it already exists in the  file.
228542              A single string of text or a list of strings may be appended.
228543
228544              name   The location of the file to append to.
228545
228546              text   The  text to be appended, which can be a single string or
228547                     a list of strings.
228548
228549              makedirs
228550                     If the file is located in a path without a parent  direc‐
228551                     tory,  then  the  state  will fail. If makedirs is set to
228552                     True, then the parent  directories  will  be  created  to
228553                     facilitate  the  creation  of the named file. Defaults to
228554                     False.
228555
228556              source A single source file to append. This source file  can  be
228557                     hosted on either the salt master server, or on an HTTP or
228558                     FTP server. Both HTTPS and HTTP are supported as well  as
228559                     downloading  directly from Amazon S3 compatible URLs with
228560                     both pre-configured and automatic  IAM  credentials  (see
228561                     s3.get  state  documentation).  File retrieval from Open‐
228562                     stack Swift object storage is supported via  swift://con‐
228563                     tainer/object_path URLs (see swift.get documentation).
228564
228565                     For  files hosted on the salt file server, if the file is
228566                     located on the master in the directory named spam, and is
228567                     called eggs, the source string is salt://spam/eggs.
228568
228569                     If  the  file  is  hosted  on  an HTTP or FTP server, the
228570                     source_hash argument is also required.
228571
228572              source_hash
228573
228574                     This can be one of the following:
228575
228576                            1. a source hash string
228577
228578                            2. the URI of a file  that  contains  source  hash
228579                               strings
228580
228581                     The  function accepts the first encountered long unbroken
228582                     alphanumeric string of correct length as a valid hash, in
228583                     order from most secure to least secure:
228584
228585                        Type    Length
228586                        ======  ======
228587                        sha512     128
228588                        sha384      96
228589                        sha256      64
228590                        sha224      56
228591                        sha1        40
228592                        md5         32
228593
228594                     See    the    source_hash   parameter   description   for
228595                     file.managed function for more details and examples.
228596
228597              template
228598                     The named templating engine will be used  to  render  the
228599                     appended-to  file.  Defaults to jinja. The following tem‐
228600                     plates are supported:
228601
228602                     · cheetah
228603
228604                     · genshi
228605
228606                     · jinja
228607
228608                     · mako
228609
228610                     · py
228611
228612                     · wempy
228613
228614              sources
228615                     A list of source files to append. If the files are hosted
228616                     on  an  HTTP or FTP server, the source_hashes argument is
228617                     also required.
228618
228619              source_hashes
228620                     A list of source_hashes corresponding to the sources list
228621                     specified in the sources argument.
228622
228623              defaults
228624                     Default context passed to the template.
228625
228626              context
228627                     Overrides  default  context  variables passed to the tem‐
228628                     plate.
228629
228630              ignore_whitespace
228631                     New in version 2015.8.4.
228632
228633
228634                     Spaces and Tabs in text  are  ignored  by  default,  when
228635                     searching  for the appending content, one space or multi‐
228636                     ple tabs are the same for salt.  Set this option to False
228637                     if you want to change this behavior.
228638
228639              Multi-line example:
228640
228641                 /etc/motd:
228642                   file.append:
228643                     - text: |
228644                         Thou hadst better eat salt with the Philosophers of Greece,
228645                         than sugar with the Courtiers of Italy.
228646                         - Benjamin Franklin
228647
228648              Multiple lines of text:
228649
228650                 /etc/motd:
228651                   file.append:
228652                     - text:
228653                       - Trust no one unless you have eaten much salt with him.
228654                       - "Salt is born of the purest of parents: the sun and the sea."
228655
228656              Gather text from multiple template files:
228657
228658                 /etc/motd:
228659                   file:
228660                     - append
228661                     - template: jinja
228662                     - sources:
228663                       - salt://motd/devops-messages.tmpl
228664                       - salt://motd/hr-messages.tmpl
228665                       - salt://motd/general-messages.tmpl
228666
228667              New in version 0.9.5.
228668
228669
228670       salt.states.file.blockreplace(name,  marker_start=u'#--  start  managed
228671       zone  --',  marker_end=u'#--  end  managed   zone   --',   source=None,
228672       source_hash=None,  template=u'jinja', sources=None, source_hashes=None,
228673       defaults=None,  context=None,  content=u'',  append_if_not_found=False,
228674       prepend_if_not_found=False,      backup=u'.bak',     show_changes=True,
228675       append_newline=None)
228676              Maintain an edit in a file in a zone delimited by two line mark‐
228677              ers
228678
228679              New in version 2014.1.0.
228680
228681
228682              Changed  in  version  2017.7.5,2018.3.1: append_newline argument
228683              added. Additionally, to improve idempotence, if the string  rep‐
228684              resented  by  marker_end is found in the middle of the line, the
228685              content preceding the marker will be removed when the  block  is
228686              replaced.  This  allows one to remove append_newline: False from
228687              the SLS and have the block properly replaced if the end  of  the
228688              content block is immediately followed by the marker_end (i.e. no
228689              newline before the marker).
228690
228691
228692              A block of content delimited by comments  can  help  you  manage
228693              several   lines  entries  without  worrying  about  old  entries
228694              removal. This can help you maintaining an un-managed  file  con‐
228695              taining manual edits.
228696
228697              NOTE:
228698                 This  function  will  store  two copies of the file in-memory
228699                 (the original version and the edited  version)  in  order  to
228700                 detect changes and only edit the targeted file if necessary.
228701
228702                 Additionally,  you  can  use file.accumulated and target this
228703                 state. All accumulated data  dictionaries'  content  will  be
228704                 added in the content block.
228705
228706              name   Filesystem path to the file to be edited
228707
228708              marker_start
228709                     The  line  content identifying a line as the start of the
228710                     content block.  Note that the whole line containing  this
228711                     marker will be considered, so whitespace or extra content
228712                     before or after the marker is included in final output
228713
228714              marker_end
228715                     The line content  identifying  the  end  of  the  content
228716                     block.  As  of versions 2017.7.5 and 2018.3.1, everything
228717                     up to the text matching the marker will be  replaced,  so
228718                     it's  important  to  ensure that your marker includes the
228719                     beginning of the text you wish to replace.
228720
228721              content
228722                     The content to be used between the two  lines  identified
228723                     by marker_start and marker_end
228724
228725              source The  source  file  to download to the minion, this source
228726                     file can be hosted on either the salt master  server,  or
228727                     on  an  HTTP or FTP server.  Both HTTPS and HTTP are sup‐
228728                     ported as well as downloading  directly  from  Amazon  S3
228729                     compatible  URLs  with  both pre-configured and automatic
228730                     IAM credentials. (see s3.get  state  documentation)  File
228731                     retrieval  from  Openstack  Swift  object storage is sup‐
228732                     ported  via   swift://container/object_path   URLs,   see
228733                     swift.get  documentation.   For  files hosted on the salt
228734                     file server, if the file is located on the master in  the
228735                     directory  named  spam,  and  is  called eggs, the source
228736                     string is salt://spam/eggs. If source is  left  blank  or
228737                     None  (use  ~  in  YAML),  the file will be created as an
228738                     empty file and the content will not be managed.  This  is
228739                     also  the  case when a file already exists and the source
228740                     is undefined; the  contents  of  the  file  will  not  be
228741                     changed or managed.
228742
228743                     If  the  file  is hosted on a HTTP or FTP server then the
228744                     source_hash argument is also required.
228745
228746                     A list of sources can also be  passed  in  to  provide  a
228747                     default  source  and a set of fallbacks. The first source
228748                     in the list that is found to exist will be used and  sub‐
228749                     sequent entries in the list will be ignored.
228750
228751                        file_override_example:
228752                          file.blockreplace:
228753                            - name: /etc/example.conf
228754                            - source:
228755                              - salt://file_that_does_not_exist
228756                              - salt://file_that_exists
228757
228758              source_hash
228759
228760                     This can be one of the following:
228761
228762                            1. a source hash string
228763
228764                            2. the  URI  of  a  file that contains source hash
228765                               strings
228766
228767                     The function accepts the first encountered long  unbroken
228768                     alphanumeric string of correct length as a valid hash, in
228769                     order from most secure to least secure:
228770
228771                        Type    Length
228772                        ======  ======
228773                        sha512     128
228774                        sha384      96
228775                        sha256      64
228776                        sha224      56
228777                        sha1        40
228778                        md5         32
228779
228780                     See   the   source_hash   parameter    description    for
228781                     file.managed function for more details and examples.
228782
228783              template
228784                     jinja  Templating  engine  to be used to render the down‐
228785                     loaded file. The following engines are supported:
228786
228787                     · cheetah
228788
228789                     · genshi
228790
228791                     · jinja
228792
228793                     · mako
228794
228795                     · py
228796
228797                     · wempy
228798
228799              context
228800                     Overrides default context variables passed  to  the  tem‐
228801                     plate
228802
228803              defaults
228804                     Default context passed to the template
228805
228806              append_if_not_found
228807                     False  If markers are not found and this option is set to
228808                     True, the content block will be appended to the file.
228809
228810              prepend_if_not_found
228811                     False If markers are not found and this option is set  to
228812                     True, the content block will be prepended to the file.
228813
228814              backup The file extension to use for a backup of the file if any
228815                     edit is made.  Set this to False to skip making a backup.
228816
228817              dry_run
228818                     False If True, do not make any edits to the file and sim‐
228819                     ply return the changes that would be made.
228820
228821              show_changes
228822                     True  Controls  how  changes  are presented. If True, the
228823                     Changes section of the state return will contain  a  uni‐
228824                     fied  diff  of  the  changes made. If False, then it will
228825                     contain a boolean (True if any changes were made,  other‐
228826                     wise False).
228827
228828              append_newline
228829                     Controls whether or not a newline is appended to the con‐
228830                     tent block. If the value of this argument is True then  a
228831                     newline  will  be  added  to  the content block. If it is
228832                     False, then a newline will not be added  to  the  content
228833                     block.  If it is unspecified, then a newline will only be
228834                     added to the content block if it does not already end  in
228835                     a newline.
228836
228837                     New in version 2017.7.5,2018.3.1.
228838
228839
228840              Example of usage with an accumulator and with a variable:
228841
228842                 {% set myvar = 42 %}
228843                 hosts-config-block-{{ myvar }}:
228844                   file.blockreplace:
228845                     - name: /etc/hosts
228846                     - marker_start: "# START managed zone {{ myvar }} -DO-NOT-EDIT-"
228847                     - marker_end: "# END managed zone {{ myvar }} --"
228848                     - content: 'First line of content'
228849                     - append_if_not_found: True
228850                     - backup: '.bak'
228851                     - show_changes: True
228852
228853                 hosts-config-block-{{ myvar }}-accumulated1:
228854                   file.accumulated:
228855                     - filename: /etc/hosts
228856                     - name: my-accumulator-{{ myvar }}
228857                     - text: "text 2"
228858                     - require_in:
228859                       - file: hosts-config-block-{{ myvar }}
228860
228861                 hosts-config-block-{{ myvar }}-accumulated2:
228862                   file.accumulated:
228863                     - filename: /etc/hosts
228864                     - name: my-accumulator-{{ myvar }}
228865                     - text: |
228866                          text 3
228867                          text 4
228868                     - require_in:
228869                       - file: hosts-config-block-{{ myvar }}
228870
228871              will generate and maintain a block of content in /etc/hosts:
228872
228873                 # START managed zone 42 -DO-NOT-EDIT-
228874                 First line of content
228875                 text 2
228876                 text 3
228877                 text 4
228878                 # END managed zone 42 --
228879
228880       salt.states.file.cached(name,  source_hash=u'',  source_hash_name=None,
228881       skip_verify=False, saltenv=u'base')
228882              New in version 2017.7.3.
228883
228884
228885              Ensures that a file is saved to the minion's cache.  This  state
228886              is  primarily  invoked  by other states to ensure that we do not
228887              re-download a source file if we do not need to.
228888
228889              name   The URL of the file to be cached. To cache a file from an
228890                     environment other than base, either use the saltenv argu‐
228891                     ment  or  include  the   saltenv   in   the   URL   (e.g.
228892                     salt://path/to/file.conf?saltenv=dev).
228893
228894                     NOTE:
228895                        A list of URLs is not supported, this must be a single
228896                        URL. If a local file is passed here,  then  the  state
228897                        will  obviously  not  try to download anything, but it
228898                        will compare a hash if one is specified.
228899
228900              source_hash
228901                     See the documentation  for  this  same  argument  in  the
228902                     file.managed state.
228903
228904                     NOTE:
228905                        For  remote  files  not  originating  from the salt://
228906                        fileserver, such as http(s) or ftp servers, this state
228907                        will  not  re-download  the file if the locally-cached
228908                        copy matches this hash. This is done to prevent unnec‐
228909                        essary  downloading on repeated runs of this state. To
228910                        update the cached copy of a file, it is  necessary  to
228911                        update this hash.
228912
228913              source_hash_name
228914                     See  the  documentation  for  this  same  argument in the
228915                     file.managed state.
228916
228917              skip_verify
228918                     See the documentation  for  this  same  argument  in  the
228919                     file.managed state.
228920
228921                     NOTE:
228922                        Setting this to True will result in a copy of the file
228923                        being downloaded from a remote  (http(s),  ftp,  etc.)
228924                        source each time the state is run.
228925
228926              saltenv
228927                     Used  to specify the environment from which to download a
228928                     file from the Salt fileserver (i.e.  those  with  salt://
228929                     URL).
228930
228931              This state will in most cases not be useful in SLS files, but it
228932              is useful when writing a state or remote-execution  module  that
228933              needs  to  make  sure  that a file at a given URL has been down‐
228934              loaded to the cachedir. One  example  of  this  is  in  the  ar‐
228935              chive.extracted state:
228936
228937                 result = __states__['file.cached'](source_match,
228938                                                    source_hash=source_hash,
228939                                                    source_hash_name=source_hash_name,
228940                                                    skip_verify=skip_verify,
228941                                                    saltenv=__env__)
228942
228943              This  will  return  a  dictionary  containing the state's return
228944              data, including a result key which will state whether or not the
228945              state was successful.  Note that this will not catch exceptions,
228946              so it is best used within a try/except.
228947
228948              Once this state has  been  run  from  within  another  state  or
228949              remote-execution  module, the actual location of the cached file
228950              can be obtained using cp.is_cached:
228951
228952                 cached = __salt__['cp.is_cached'](source_match, saltenv=__env__)
228953
228954              This function will return the cached path of  the  file,  or  an
228955              empty string if the file is not present in the minion cache.
228956
228957       salt.states.file.comment(name, regex, char=u'#', backup=u'.bak')
228958              Comment out specified lines in a file.
228959
228960              name   The full path to the file to be edited
228961
228962              regex  A  regular  expression used to find the lines that are to
228963                     be commented; this pattern will be wrapped in parenthesis
228964                     and  will  move  any preceding/trailing ^ or $ characters
228965                     outside the parenthesis (e.g., the pattern ^foo$ will  be
228966                     rewritten as ^(foo)$) Note that you _need_ the leading ^,
228967                     otherwise each time you run  highstate,  another  comment
228968                     char will be inserted.
228969
228970              char   # The character to be inserted at the beginning of a line
228971                     in order to comment it out
228972
228973              backup .bak The file will be backed up  before  edit  with  this
228974                     file extension
228975
228976                     WARNING:
228977                        This  backup  will be overwritten each time sed / com‐
228978                        ment / uncomment is called. Meaning  the  backup  will
228979                        only be useful after the first invocation.
228980
228981                     Set to False/None to not keep a backup.
228982
228983              Usage:
228984
228985                 /etc/fstab:
228986                   file.comment:
228987                     - regex: ^bind 127.0.0.1
228988
228989              New in version 0.9.5.
228990
228991
228992       salt.states.file.copy_(name,  source, force=False, makedirs=False, pre‐
228993       serve=False, user=None, group=None, mode=None, subdir=False, **kwargs)
228994              If the file defined by the source option exists on  the  minion,
228995              copy  it  to the named path. The file will not be overwritten if
228996              it already exists, unless the force option is set to True.
228997
228998              NOTE:
228999                 This state only copies files from one location on a minion to
229000                 another  location  on the same minion. For copying files from
229001                 the master, use a file.managed state.
229002
229003              name   The location of the file to copy to
229004
229005              source The location of the file to copy to the  location  speci‐
229006                     fied with name
229007
229008              force  If  the target location is present then the file will not
229009                     be moved, specify "force: True" to overwrite  the  target
229010                     file
229011
229012              makedirs
229013                     If the target subdirectories don't exist create them
229014
229015              preserve
229016                     New in version 2015.5.0.
229017
229018
229019                     Set  preserve:  True to preserve user/group ownership and
229020                     mode after copying. Default is False. If preserve is  set
229021                     to True, then user/group/mode attributes will be ignored.
229022
229023              user   New in version 2015.5.0.
229024
229025
229026                     The  user  to  own  the copied file, this defaults to the
229027                     user salt is running as on the minion. If preserve is set
229028                     to True, then this will be ignored
229029
229030              group  New in version 2015.5.0.
229031
229032
229033                     The  group  to  own the copied file, this defaults to the
229034                     group salt is running as on the minion.  If  preserve  is
229035                     set to True or on Windows this will be ignored
229036
229037              mode   New in version 2015.5.0.
229038
229039
229040                     The  permissions  to  set  on  the  copied file, aka 644,
229041                     '0775', '4664'.  If preserve is set to  True,  then  this
229042                     will be ignored.  Not supported on Windows.
229043
229044                     The  default  mode  for  new files and directories corre‐
229045                     sponds umask of salt  process.  For  existing  files  and
229046                     directories it's not enforced.
229047
229048              subdir New in version 2015.5.0.
229049
229050
229051                     If the name is a directory then place the file inside the
229052                     named directory
229053
229054              NOTE:
229055                 The copy function accepts paths that are local  to  the  Salt
229056                 minion.   This function does not support salt://, http://, or
229057                 the  other  additional  file  paths  that  are  supported  by
229058                 states.file.managed and states.file.recurse.
229059
229060       salt.states.file.decode(name,  encoded_data=None, contents_pillar=None,
229061       encoding_type=u'base64', checksum=u'md5')
229062              Decode an encoded file and write it to disk
229063
229064              New in version 2016.3.0.
229065
229066
229067              name   Path of the file to be written.
229068
229069              encoded_data
229070                     The encoded file. Either this option  or  contents_pillar
229071                     must be specified.
229072
229073              contents_pillar
229074                     A  Pillar  path  to  the encoded file. Uses the same path
229075                     syntax  as  pillar.get.  The   hashutil.base64_encodefile
229076                     function  can  load  encoded  content into Pillar. Either
229077                     this option or encoded_data must be specified.
229078
229079              encoding_type
229080                     base64 The type of encoding.
229081
229082              checksum
229083                     md5 The hashing algorithm to use to  generate  checksums.
229084                     Wraps the hashutil.digest execution function.
229085
229086              Usage:
229087
229088                 write_base64_encoded_string_to_a_file:
229089                   file.decode:
229090                     - name: /tmp/new_file
229091                     - encoding_type: base64
229092                     - contents_pillar: mypillar:thefile
229093
229094                 # or
229095
229096                 write_base64_encoded_string_to_a_file:
229097                   file.decode:
229098                     - name: /tmp/new_file
229099                     - encoding_type: base64
229100                     - encoded_data: |
229101                         Z2V0IHNhbHRlZAo=
229102
229103              Be  careful with multi-line strings that the YAML indentation is
229104              correct.  E.g.,
229105
229106                 write_base64_encoded_string_to_a_file:
229107                   file.decode:
229108                     - name: /tmp/new_file
229109                     - encoding_type: base64
229110                     - encoded_data: |
229111                         {{ salt.pillar.get('path:to:data') | indent(8) }}
229112
229113       salt.states.file.directory(name, user=None,  group=None,  recurse=None,
229114       max_depth=None,    dir_mode=None,    file_mode=None,    makedirs=False,
229115       clean=False,  require=None,  exclude_pat=None,   follow_symlinks=False,
229116       force=False,  backupname=None, allow_symlink=True, children_only=False,
229117       win_owner=None,   win_perms=None,   win_deny_perms=None,    win_inheri‐
229118       tance=True, win_perms_reset=False, **kwargs)
229119              Ensure that a named directory is present and has the right perms
229120
229121              name   The location to create or manage a directory, as an abso‐
229122                     lute path
229123
229124              user   The user to own the directory; this defaults to the  user
229125                     salt is running as on the minion
229126
229127              group  The  group ownership set for the directory; this defaults
229128                     to the group salt is running as on the  minion.  On  Win‐
229129                     dows, this is ignored
229130
229131              recurse
229132                     Enforce user/group ownership and mode of directory recur‐
229133                     sively. Accepts a list of strings representing  what  you
229134                     would  like to recurse.  If mode is defined, will recurse
229135                     on both file_mode and dir_mode if they are  defined.   If
229136                     ignore_files  or ignore_dirs is included, files or direc‐
229137                     tories will be left unchanged respectively.  Example:
229138
229139                        /var/log/httpd:
229140                          file.directory:
229141                            - user: root
229142                            - group: root
229143                            - dir_mode: 755
229144                            - file_mode: 644
229145                            - recurse:
229146                              - user
229147                              - group
229148                              - mode
229149
229150                     Leave files or directories unchanged:
229151
229152                        /var/log/httpd:
229153                          file.directory:
229154                            - user: root
229155                            - group: root
229156                            - dir_mode: 755
229157                            - file_mode: 644
229158                            - recurse:
229159                              - user
229160                              - group
229161                              - mode
229162                              - ignore_dirs
229163
229164                     New in version 2015.5.0.
229165
229166
229167              max_depth
229168                     Limit the recursion depth. The default is no  limit=None.
229169                     'max_depth' and 'clean' are mutually exclusive.
229170
229171                     New in version 2016.11.0.
229172
229173
229174              dir_mode / mode
229175                     The  permissions mode to set any directories created. Not
229176                     supported on Windows.
229177
229178                     The default mode for new  files  and  directories  corre‐
229179                     sponds  umask  of  salt  process.  For existing files and
229180                     directories it's not enforced.
229181
229182              file_mode
229183                     The permissions mode to set any files created  if  'mode'
229184                     is  run in 'recurse'. This defaults to dir_mode. Not sup‐
229185                     ported on Windows.
229186
229187                     The default mode for new  files  and  directories  corre‐
229188                     sponds  umask  of  salt  process.  For existing files and
229189                     directories it's not enforced.
229190
229191              makedirs
229192                     If the directory is located in a path  without  a  parent
229193                     directory,  then  the state will fail. If makedirs is set
229194                     to True, then the parent directories will be  created  to
229195                     facilitate the creation of the named file.
229196
229197              clean  Make  sure  that  only  files that are set up by salt and
229198                     required by this function are kept. If this option is set
229199                     then  everything in this directory will be deleted unless
229200                     it is required.  'clean'  and  'max_depth'  are  mutually
229201                     exclusive.
229202
229203              require
229204                     Require other resources such as packages or files
229205
229206              exclude_pat
229207                     When  'clean'  is  set to True, exclude this pattern from
229208                     removal list and preserve in the destination.
229209
229210              follow_symlinks
229211                     False If the desired path is a  symlink  (or  recurse  is
229212                     defined  and  a  symlink is encountered while recursing),
229213                     follow it and check the permissions of the directory/file
229214                     to which the symlink points.
229215
229216                     New in version 2014.1.4.
229217
229218
229219              force  If  the  name of the directory exists and is not a direc‐
229220                     tory and force is set to False, the state will  fail.  If
229221                     force  is  set to True, the file in the way of the direc‐
229222                     tory will be deleted to  make  room  for  the  directory,
229223                     unless backupname is set, then it will be renamed.
229224
229225                     New in version 2014.7.0.
229226
229227
229228              backupname
229229                     If  the  name of the directory exists and is not a direc‐
229230                     tory, it will be renamed to the backupname. If the  back‐
229231                     upname  already exists and force is False, the state will
229232                     fail. Otherwise, the backupname will be removed first.
229233
229234                     New in version 2014.7.0.
229235
229236
229237              allow_symlink
229238                     True If allow_symlink is True and the specified path is a
229239                     symlink,  it  will be allowed to remain if it points to a
229240                     directory. If allow_symlink is False then the state  will
229241                     fail,  unless force is also set to True, in which case it
229242                     will be removed or renamed, depending on the value of the
229243                     backupname argument.
229244
229245                     New in version 2014.7.0.
229246
229247
229248              children_only
229249                     False  If  children_only  is  True  the base of a path is
229250                     excluded when performing a recursive operation.  In  case
229251                     of  /path/to/base,  base  will  be  ignored  while all of
229252                     /path/to/base/* are still operated on.
229253
229254              win_owner
229255                     None The owner of the directory. If this is  not  passed,
229256                     user  will  be  used.  If user is not passed, the account
229257                     under which Salt is running will be used.
229258
229259                     New in version 2017.7.0.
229260
229261
229262              win_perms
229263                     None A dictionary containing  permissions  to  grant  and
229264                     their   propagation.   For   example:  {'Administrators':
229265                     {'perms':          'full_control',          'applies_to':
229266                     'this_folder_only'}} Can be a single basic perm or a list
229267                     of advanced perms. perms must be specified. applies_to is
229268                     optional and defaults to this_folder_subfoler_files.
229269
229270                     New in version 2017.7.0.
229271
229272
229273              win_deny_perms
229274                     None  A  dictionary  containing  permissions  to deny and
229275                     their  propagation.   For   example:   {'Administrators':
229276                     {'perms':          'full_control',          'applies_to':
229277                     'this_folder_only'}} Can be a single basic perm or a list
229278                     of advanced perms.
229279
229280                     New in version 2017.7.0.
229281
229282
229283              win_inheritance
229284                     True  True  to inherit permissions from the parent direc‐
229285                     tory, False not to inherit permission.
229286
229287                     New in version 2017.7.0.
229288
229289
229290              win_perms_reset
229291                     False If True the  existing  DACL  will  be  cleared  and
229292                     replaced  with  the settings defined in this function. If
229293                     False, new entries will be appended to the existing DACL.
229294                     Default is False.
229295
229296                     New in version 2018.3.0.
229297
229298
229299              Here's an example using the above win_* parameters:
229300
229301                 create_config_dir:
229302                   file.directory:
229303                     - name: 'C:\config\'
229304                     - win_owner: Administrators
229305                     - win_perms:
229306                         # Basic Permissions
229307                         dev_ops:
229308                           perms: full_control
229309                         # List of advanced permissions
229310                         appuser:
229311                           perms:
229312                             - read_attributes
229313                             - read_ea
229314                             - create_folders
229315                             - read_permissions
229316                           applies_to: this_folder_only
229317                         joe_snuffy:
229318                           perms: read
229319                           applies_to: this_folder_files
229320                     - win_deny_perms:
229321                         fred_snuffy:
229322                           perms: full_control
229323                     - win_inheritance: False
229324
229325       salt.states.file.exists(name, **kwargs)
229326              Verify  that  the  named file or directory is present or exists.
229327              Ensures pre-requisites outside of Salt's purview (e.g., keytabs,
229328              private  keys,  etc.)  have  been  previously  satisfied  before
229329              deployment.
229330
229331              This function does not create the file if it doesn't  exist,  it
229332              will return an error.
229333
229334              name   Absolute path which must exist
229335
229336       salt.states.file.line(name,  content=None, match=None, mode=None, loca‐
229337       tion=None, before=None,  after=None,  show_changes=True,  backup=False,
229338       quiet=False,    indent=True,   create=False,   user=None,   group=None,
229339       file_mode=None)
229340              Line-based editing of a file.
229341
229342              New in version 2015.8.0.
229343
229344
229345              Parameters
229346
229347                     · name -- Filesystem path to the file to be edited.
229348
229349                     · content -- Content of the line. Allowed to be empty  if
229350                       mode=delete.
229351
229352                     · match --
229353
229354                       Match  the target line for an action by a fragment of a
229355                       string or regular expression.
229356
229357                       If neither before nor after are provided, and match  is
229358                       also None, match becomes the content value.
229359
229360
229361                     · mode --
229362
229363                       Defines  how  to  edit  a  line.  One  of the following
229364                       options is required:
229365
229366                       ·
229367
229368                         ensure If line does not exist, it will be added.
229369
229370                       ·
229371
229372                         replace
229373                                If line already exists, it will be replaced.
229374
229375                       ·
229376
229377                         delete Delete the line, once found.
229378
229379                       ·
229380
229381                         insert Insert a line.
229382
229383                       NOTE:
229384                          If mode=insert is used, at least one of the  follow‐
229385                          ing  options must also be defined: location, before,
229386                          or after. If location is used, it  takes  precedence
229387                          over the other two options.
229388
229389
229390                     · location --
229391
229392                       Defines  where  to place content in the line. Note this
229393                       option is only used when mode=insert is specified. If a
229394                       location  is  passed  in, it takes precedence over both
229395                       the before and after kwargs. Valid locations are:
229396
229397                       ·
229398
229399                         start  Place the content  at  the  beginning  of  the
229400                                file.
229401
229402                       ·
229403
229404                         end    Place the content at the end of the file.
229405
229406
229407                     · before -- Regular expression or an exact case-sensitive
229408                       fragment of the string.  This option is only used  when
229409                       either the ensure or insert mode is defined.
229410
229411                     · after  -- Regular expression or an exact case-sensitive
229412                       fragment of the string.  This option is only used  when
229413                       either the ensure or insert mode is defined.
229414
229415                     · show_changes --
229416
229417                       Output a unified diff of the old file and the new file.
229418                       If False return a boolean if  any  changes  were  made.
229419                       Default is True
229420
229421                       NOTE:
229422                          Using  this option will store two copies of the file
229423                          in-memory (the original version and the edited  ver‐
229424                          sion) in order to generate the diff.
229425
229426
229427                     · backup -- Create a backup of the original file with the
229428                       extension: "Year-Month-Day-Hour-Minutes-Seconds".
229429
229430                     · quiet -- Do not raise any exceptions. E.g.  ignore  the
229431                       fact  that the file that is tried to be edited does not
229432                       exist and nothing really happened.
229433
229434                     · indent -- Keep indentation with the previous line. This
229435                       option is not considered when the delete mode is speci‐
229436                       fied.
229437
229438                     · create --
229439
229440                       Create an empty file if doesn't exists.
229441
229442                       New in version 2016.11.0.
229443
229444
229445
229446                     · user --
229447
229448                       The user to own the file, this  defaults  to  the  user
229449                       salt is running as on the minion.
229450
229451                       New in version 2016.11.0.
229452
229453
229454
229455                     · group --
229456
229457                       The  group ownership set for the file, this defaults to
229458                       the group salt is running as on the minion On  Windows,
229459                       this is ignored.
229460
229461                       New in version 2016.11.0.
229462
229463
229464
229465                     · file_mode --
229466
229467                       The  permissions  to  set  on this file, aka 644, 0775,
229468                       4664. Not supported on Windows.
229469
229470                       New in version 2016.11.0.
229471
229472
229473
229474              If an equal sign (=) appears in an argument to a  Salt  command,
229475              it  is  interpreted  as  a  keyword  argument  in  the format of
229476              key=val. That processing can be bypassed in  order  to  pass  an
229477              equal sign through to the remote shell command by manually spec‐
229478              ifying the kwarg:
229479
229480                 update_config:
229481                   file.line:
229482                     - name: /etc/myconfig.conf
229483                     - mode: ensure
229484                     - content: my key = my value
229485                     - before: somekey.*?
229486
229487       salt.states.file.managed(name,      source=None,       source_hash=u'',
229488       source_hash_name=None,    keep_source=True,    user=None,   group=None,
229489       mode=None, attrs=None,  template=None,  makedirs=False,  dir_mode=None,
229490       context=None,       replace=True,       defaults=None,      backup=u'',
229491       show_changes=True,     create=True,     contents=None,     tmp_dir=u'',
229492       tmp_ext=u'',  contents_pillar=None, contents_grains=None, contents_new‐
229493       line=True,     contents_delimiter=u':',      encoding=None,      encod‐
229494       ing_errors=u'strict',      allow_empty=True,      follow_symlinks=True,
229495       check_cmd=None,  skip_verify=False,   win_owner=None,   win_perms=None,
229496       win_deny_perms=None,    win_inheritance=True,    win_perms_reset=False,
229497       **kwargs)
229498              Manage a given file, this function allows for a file to be down‐
229499              loaded  from  the salt master and potentially run through a tem‐
229500              plating system.
229501
229502              name   The location of the file to manage, as an absolute path.
229503
229504              source The source file to download to the  minion,  this  source
229505                     file  can  be  hosted  on  either  the salt master server
229506                     (salt://), the salt minion local file system (/),  or  on
229507                     an HTTP or FTP server (http(s)://, ftp://).
229508
229509                     Both  HTTPS and HTTP are supported as well as downloading
229510                     directly  from  Amazon  S3  compatible  URLs  with   both
229511                     pre-configured and automatic IAM credentials. (see s3.get
229512                     state documentation) File retrieval from Openstack  Swift
229513                     object    storage    is    supported   via   swift://con‐
229514                     tainer/object_path  URLs,  see  swift.get  documentation.
229515                     For  files hosted on the salt file server, if the file is
229516                     located on the master in the directory named spam, and is
229517                     called  eggs,  the  source string is salt://spam/eggs. If
229518                     source is left blank or None (use ~ in  YAML),  the  file
229519                     will be created as an empty file and the content will not
229520                     be managed. This is also the case  when  a  file  already
229521                     exists  and  the source is undefined; the contents of the
229522                     file will not be changed or managed.
229523
229524                     If the file is hosted on a HTTP or FTP  server  then  the
229525                     source_hash argument is also required.
229526
229527                     A  list  of  sources  can  also be passed in to provide a
229528                     default source and a set of fallbacks. The  first  source
229529                     in  the list that is found to exist will be used and sub‐
229530                     sequent entries in the list will be ignored. Source  list
229531                     functionality  only supports local files and remote files
229532                     hosted on the salt master server or retrievable via HTTP,
229533                     HTTPS, or FTP.
229534
229535                        file_override_example:
229536                          file.managed:
229537                            - source:
229538                              - salt://file_that_does_not_exist
229539                              - salt://file_that_exists
229540
229541              source_hash
229542
229543                     This can be one of the following:
229544
229545                            1. a source hash string
229546
229547                            2. the  URI  of  a  file that contains source hash
229548                               strings
229549
229550                     The function accepts the first encountered long  unbroken
229551                     alphanumeric string of correct length as a valid hash, in
229552                     order from most secure to least secure:
229553
229554                        Type    Length
229555                        ======  ======
229556                        sha512     128
229557                        sha384      96
229558                        sha256      64
229559                        sha224      56
229560                        sha1        40
229561                        md5         32
229562
229563                     Using a Source Hash File
229564                            The file can contain several checksums for several
229565                            files.  Each  line must contain both the file name
229566                            and the hash.  If no file  name  is  matched,  the
229567                            first hash encountered will be used, otherwise the
229568                            most secure hash with the correct source file name
229569                            will be used.
229570
229571                            When  using  a  source  hash  file the source_hash
229572                            argument needs to be a url, the standard  download
229573                            urls are supported, ftp, http, salt etc:
229574
229575                            Example:
229576
229577                               tomdroid-src-0.7.3.tar.gz:
229578                                 file.managed:
229579                                   - name: /tmp/tomdroid-src-0.7.3.tar.gz
229580                                   - source: https://launchpad.net/tomdroid/beta/0.7.3/+download/tomdroid-src-0.7.3.tar.gz
229581                                   - source_hash: https://launchpad.net/tomdroid/beta/0.7.3/+download/tomdroid-src-0.7.3.hash
229582
229583                            The following lines are all supported formats:
229584
229585                               /etc/rc.conf ef6e82e4006dee563d98ada2a2a80a27
229586                               sha254c8525aee419eb649f0233be91c151178b30f0dff8ebbdcc8de71b1d5c8bcc06a  /etc/resolv.conf
229587                               ead48423703509d37c4a90e6a0d53e143b6fc268
229588
229589                            Debian file type *.dsc files are also supported.
229590
229591                     Inserting the Source Hash in the SLS Data
229592
229593                     The  source_hash  can  be specified as a simple checksum,
229594                     like so:
229595
229596                        tomdroid-src-0.7.3.tar.gz:
229597                          file.managed:
229598                            - name: /tmp/tomdroid-src-0.7.3.tar.gz
229599                            - source: https://launchpad.net/tomdroid/beta/0.7.3/+download/tomdroid-src-0.7.3.tar.gz
229600                            - source_hash: 79eef25f9b0b2c642c62b7f737d4f53f
229601
229602                     NOTE:
229603                        Releases prior to 2016.11.0 must also include the hash
229604                        type, like in the below example:
229605
229606                            tomdroid-src-0.7.3.tar.gz:
229607                              file.managed:
229608                                - name: /tmp/tomdroid-src-0.7.3.tar.gz
229609                                - source: https://launchpad.net/tomdroid/beta/0.7.3/+download/tomdroid-src-0.7.3.tar.gz
229610                                - source_hash: md5=79eef25f9b0b2c642c62b7f737d4f53f
229611
229612                     Known issues:
229613                            If  the  remote server URL has the hash file as an
229614                            apparent sub-directory of  the  source  file,  the
229615                            module  will discover that it has already cached a
229616                            directory where a file should be cached. For exam‐
229617                            ple:
229618
229619                               tomdroid-src-0.7.3.tar.gz:
229620                                 file.managed:
229621                                   - name: /tmp/tomdroid-src-0.7.3.tar.gz
229622                                   - source: https://launchpad.net/tomdroid/beta/0.7.3/+download/tomdroid-src-0.7.3.tar.gz
229623                                   - source_hash: https://launchpad.net/tomdroid/beta/0.7.3/+download/tomdroid-src-0.7.3.tar.gz/+md5
229624
229625              source_hash_name
229626                     When  source_hash refers to a hash file, Salt will try to
229627                     find the correct hash by matching the filename/URI  asso‐
229628                     ciated with that hash. By default, Salt will look for the
229629                     filename being managed. When  managing  a  file  at  path
229630                     /tmp/foo.txt,  then  the  following  line  in a hash file
229631                     would match:
229632
229633                        acbd18db4cc2f85cedef654fccc4a4d8    foo.txt
229634
229635                     However, sometimes a hash file will include multiple sim‐
229636                     ilar paths:
229637
229638                        37b51d194a7513e45b56f6524f2d51f2    ./dir1/foo.txt
229639                        acbd18db4cc2f85cedef654fccc4a4d8    ./dir2/foo.txt
229640                        73feffa4b7f6bb68e44cf984c85f6e88    ./dir3/foo.txt
229641
229642                     In  cases  like  this, Salt may match the incorrect hash.
229643                     This argument can be used to tell Salt which filename  to
229644                     match, to ensure that the correct hash is identified. For
229645                     example:
229646
229647                        /tmp/foo.txt:
229648                          file.managed:
229649                            - source: https://mydomain.tld/dir2/foo.txt
229650                            - source_hash: https://mydomain.tld/hashes
229651                            - source_hash_name: ./dir2/foo.txt
229652
229653                     NOTE:
229654                        This argument must contain  the  full  filename  entry
229655                        from  the  checksum file, as this argument is meant to
229656                        disambiguate matches for multiple files that have  the
229657                        same  basename. So, in the example above, simply using
229658                        foo.txt would not match.
229659
229660                     New in version 2016.3.5.
229661
229662
229663              keep_source
229664                     True Set to False to  discard  the  cached  copy  of  the
229665                     source  file once the state completes. This can be useful
229666                     for larger files to keep them from  taking  up  space  in
229667                     minion  cache.  However, keep in mind that discarding the
229668                     source file will result in the state needing to  re-down‐
229669                     load the source file if the state is run again.
229670
229671                     New in version 2017.7.3.
229672
229673
229674              user   The  user to own the file, this defaults to the user salt
229675                     is running as on the minion
229676
229677              group  The group ownership set for the file,  this  defaults  to
229678                     the  group  salt is running as on the minion. On Windows,
229679                     this is ignored
229680
229681              mode   The permissions to set on this file, e.g. 644,  0775,  or
229682                     4664.
229683
229684                     The  default  mode  for  new files and directories corre‐
229685                     sponds to the umask of the  salt  process.  The  mode  of
229686                     existing  files  and  directories will only be changed if
229687                     mode is specified.
229688
229689                     NOTE:
229690                        This option is not supported on Windows.
229691
229692                     Changed in version 2016.11.0: This option can be  set  to
229693                     keep,  and  Salt  will  keep the mode from the Salt file‐
229694                     server. This is only supported when the source URL begins
229695                     with  salt://,  or for files local to the minion. Because
229696                     the source option cannot be used with any of the contents
229697                     options,  setting  the  mode to keep is also incompatible
229698                     with the contents options.
229699
229700
229701                     NOTE:
229702                        keep does not work with salt-ssh.
229703
229704                        As a consequence of how the files are  transferred  to
229705                        the  minion,  and the inability to connect back to the
229706                        master with salt-ssh, salt is unable to stat the  file
229707                        as  it exists on the fileserver and thus cannot mirror
229708                        the mode on the salt-ssh minion
229709
229710              attrs  The attributes to have on  this  file,  e.g.  a,  i.  The
229711                     attributes  can  be any or a combination of the following
229712                     characters: acdijstuADST.
229713
229714                     NOTE:
229715                        This option is not supported on Windows.
229716
229717                     New in version 2018.3.0.
229718
229719
229720              template
229721                     If this setting is applied, the named  templating  engine
229722                     will be used to render the downloaded file. The following
229723                     templates are supported:
229724
229725                     · cheetah
229726
229727                     · genshi
229728
229729                     · jinja
229730
229731                     · mako
229732
229733                     · py
229734
229735                     · wempy
229736
229737              makedirs
229738                     False If set to True, then the parent directories will be
229739                     created  to facilitate the creation of the named file. If
229740                     False, and the parent directory of the  destination  file
229741                     doesn't exist, the state will fail.
229742
229743              dir_mode
229744                     If  directories  are  to  be created, passing this option
229745                     specifies the permissions for those directories. If  this
229746                     is  not  set, directories will be assigned permissions by
229747                     adding the execute bit to the mode of the files.
229748
229749                     The default mode for new  files  and  directories  corre‐
229750                     sponds  umask  of  salt  process.  For existing files and
229751                     directories it's not enforced.
229752
229753              replace
229754                     True If set to False and the  file  already  exists,  the
229755                     file will not be modified even if changes would otherwise
229756                     be  made.  Permissions  and  ownership  will   still   be
229757                     enforced, however.
229758
229759              context
229760                     Overrides  default  context  variables passed to the tem‐
229761                     plate.
229762
229763              defaults
229764                     Default context passed to the template.
229765
229766              backup Overrides the default backup mode for this specific file.
229767                     See backup_mode documentation for more details.
229768
229769              show_changes
229770                     Output  a  unified diff of the old file and the new file.
229771                     If False return a boolean if any changes were made.
229772
229773              create True If set to False, then the file will only be  managed
229774                     if the file already exists on the system.
229775
229776              contents
229777                     Specify  the contents of the file. Cannot be used in com‐
229778                     bination with source. Ignores hashes and does not  use  a
229779                     templating engine.
229780
229781                     This  value  can  be  either a single string, a multiline
229782                     YAML string or a list of strings.  If a list of  strings,
229783                     then the strings will be joined together with newlines in
229784                     the resulting file. For example, the  below  two  example
229785                     states would result in identical file contents:
229786
229787                        /path/to/file1:
229788                          file.managed:
229789                            - contents:
229790                              - This is line 1
229791                              - This is line 2
229792
229793                        /path/to/file2:
229794                          file.managed:
229795                            - contents: |
229796                                This is line 1
229797                                This is line 2
229798
229799              contents_pillar
229800                     New in version 0.17.0.
229801
229802
229803                     Changed in version 2016.11.0: contents_pillar can also be
229804                     a list, and the pillars will be concatinated together  to
229805                     form one file.
229806
229807
229808                     Operates  like contents, but draws from a value stored in
229809                     pillar, using the pillar path syntax used in  pillar.get.
229810                     This  is  useful when the pillar value contains newlines,
229811                     as referencing a pillar variable using a jinja/mako  tem‐
229812                     plate  can  result  in  YAML formatting issues due to the
229813                     newlines causing indentation mismatches.
229814
229815                     For example, the following could be used to deploy an SSH
229816                     private key:
229817
229818                        /home/deployer/.ssh/id_rsa:
229819                          file.managed:
229820                            - user: deployer
229821                            - group: deployer
229822                            - mode: 600
229823                            - attrs: a
229824                            - contents_pillar: userdata:deployer:id_rsa
229825
229826                     This  would  populate /home/deployer/.ssh/id_rsa with the
229827                     contents of pillar['userdata']['deployer']['id_rsa'].  An
229828                     example of this pillar setup would be like so:
229829
229830                        userdata:
229831                          deployer:
229832                            id_rsa: |
229833                                -----BEGIN RSA PRIVATE KEY-----
229834                                MIIEowIBAAKCAQEAoQiwO3JhBquPAalQF9qP1lLZNXVjYMIswrMe2HcWUVBgh+vY
229835                                U7sCwx/dH6+VvNwmCoqmNnP+8gTPKGl1vgAObJAnMT623dMXjVKwnEagZPRJIxDy
229836                                B/HaAre9euNiY3LvIzBTWRSeMfT+rWvIKVBpvwlgGrfgz70m0pqxu+UyFbAGLin+
229837                                GpxzZAMaFpZw4sSbIlRuissXZj/sHpQb8p9M5IeO4Z3rjkCP1cxI
229838                                -----END RSA PRIVATE KEY-----
229839
229840                     NOTE:
229841                        The private key above is shortened to keep the example
229842                        brief, but shows how to do multiline string  in  YAML.
229843                        The  key  is  followed  by  a  pipe character, and the
229844                        mutliline string is indented two more spaces.
229845
229846                        To avoid the hassle of creating an indented  multiline
229847                        YAML string, the file_tree external pillar can be used
229848                        instead. However, this will not work for binary  files
229849                        in Salt releases before 2015.8.4.
229850
229851              contents_grains
229852                     New in version 2014.7.0.
229853
229854
229855                     Operates  like contents, but draws from a value stored in
229856                     grains, using the grains path syntax used in  grains.get.
229857                     This  functionality  works  similarly to contents_pillar,
229858                     but with grains.
229859
229860                     For example, the following could  be  used  to  deploy  a
229861                     "message of the day" file:
229862
229863                        write_motd:
229864                          file.managed:
229865                            - name: /etc/motd
229866                            - contents_grains: motd
229867
229868                     This  would  populate /etc/motd file with the contents of
229869                     the motd grain. The motd grain is not  a  default  grain,
229870                     and would need to be set prior to running the state:
229871
229872                        salt '*' grains.set motd 'Welcome! This system is managed by Salt.'
229873
229874              contents_newline
229875                     True New in version 2014.7.0.
229876
229877
229878                     Changed  in  version 2015.8.4: This option is now ignored
229879                     if the contents being deployed contain binary data.
229880
229881
229882                     If True, files managed using  contents,  contents_pillar,
229883                     or  contents_grains  will have a newline added to the end
229884                     of the file if one is not present. Setting this option to
229885                     False will omit this final newline.
229886
229887              contents_delimiter
229888                     New in version 2015.8.4.
229889
229890
229891                     Can  be  used  to specify an alternate delimiter for con‐
229892                     tents_pillar or contents_grains. This delimiter  will  be
229893                     passed  through to pillar.get or grains.get when retriev‐
229894                     ing the contents.
229895
229896              encoding
229897                     If specified, then the specified encoding will  be  used.
229898                     Otherwise,  the  file  will  be  encoded using the system
229899                     locale           (usually           UTF-8).           See
229900                     https://docs.python.org/3/library/codecs.html#standard-encodings
229901                     for the list of available encodings.
229902
229903                     New in version 2017.7.0.
229904
229905
229906              encoding_errors
229907                     'strict' Error encoding scheme.  Default  is  `'strict'`.
229908                     See
229909                     https://docs.python.org/2/library/codecs.html#codec-base-classes
229910                     for the list of available schemes.
229911
229912                     New in version 2017.7.0.
229913
229914
229915              allow_empty
229916                     True New in version 2015.8.4.
229917
229918
229919                     If set to False, then the state will fail if the contents
229920                     specified  by  contents_pillar  or  contents_grains   are
229921                     empty.
229922
229923              follow_symlinks
229924                     True New in version 2014.7.0.
229925
229926
229927                     If  the  desired  path  is  a  symlink follow it and make
229928                     changes to the file to which the symlink points.
229929
229930              check_cmd
229931                     New in version 2014.7.0.
229932
229933
229934                     The specified command will be run with an appended  argu‐
229935                     ment  of a temporary file containing the new managed con‐
229936                     tents.  If the command exits with a zero status  the  new
229937                     managed  contents will be written to the managed destina‐
229938                     tion. If the command exits with a nonzero exit code,  the
229939                     state will fail and no changes will be made to the file.
229940
229941                     For  example, the following could be used to verify sudo‐
229942                     ers before making changes:
229943
229944                        /etc/sudoers:
229945                          file.managed:
229946                            - user: root
229947                            - group: root
229948                            - mode: 0440
229949                            - attrs: i
229950                            - source: salt://sudoers/files/sudoers.jinja
229951                            - template: jinja
229952                            - check_cmd: /usr/sbin/visudo -c -f
229953
229954                     NOTE: This check_cmd functions differently than the  req‐
229955                     uisite check_cmd.
229956
229957              tmp_dir
229958                     Directory  for temp file created by check_cmd. Useful for
229959                     checkers dependent on config file location (e.g.  daemons
229960                     restricted to their own config directories by an apparmor
229961                     profile).
229962
229963                        /etc/dhcp/dhcpd.conf:
229964                          file.managed:
229965                            - user: root
229966                            - group: root
229967                            - mode: 0755
229968                            - tmp_dir: '/etc/dhcp'
229969                            - contents: "# Managed by Salt"
229970                            - check_cmd: dhcpd -t -cf
229971
229972              tmp_ext
229973                     Suffix for temp file created  by  check_cmd.  Useful  for
229974                     checkers  dependent  on  config  file extension (e.g. the
229975                     init-checkconf upstart config checker).
229976
229977                        /etc/init/test.conf:
229978                          file.managed:
229979                            - user: root
229980                            - group: root
229981                            - mode: 0440
229982                            - tmp_ext: '.conf'
229983                            - contents:
229984                              - 'description "Salt Minion"'
229985                              - 'start on started mountall'
229986                              - 'stop on shutdown'
229987                              - 'respawn'
229988                              - 'exec salt-minion'
229989                            - check_cmd: init-checkconf -f
229990
229991              skip_verify
229992                     False If True, hash verification of remote  file  sources
229993                     (http://,  https://,  ftp://)  will  be  skipped, and the
229994                     source_hash argument will be ignored.
229995
229996                     New in version 2016.3.0.
229997
229998
229999              win_owner
230000                     None The owner of the directory. If this is  not  passed,
230001                     user  will  be  used.  If user is not passed, the account
230002                     under which Salt is running will be used.
230003
230004                     New in version 2017.7.0.
230005
230006
230007              win_perms
230008                     None A dictionary containing  permissions  to  grant  and
230009                     their   propagation.   For   example:  {'Administrators':
230010                     {'perms': 'full_control'}} Can be a single basic perm  or
230011                     a  list  of  advanced  perms.  perms  must  be specified.
230012                     applies_to does not apply to file objects.
230013
230014                     New in version 2017.7.0.
230015
230016
230017              win_deny_perms
230018                     None A dictionary  containing  permissions  to  deny  and
230019                     their   propagation.   For   example:  {'Administrators':
230020                     {'perms': 'full_control'}} Can be a single basic perm  or
230021                     a  list  of  advanced  perms.  perms  must  be specified.
230022                     applies_to does not apply to file objects.
230023
230024                     New in version 2017.7.0.
230025
230026
230027              win_inheritance
230028                     True True to inherit permissions from the  parent  direc‐
230029                     tory, False not to inherit permission.
230030
230031                     New in version 2017.7.0.
230032
230033
230034              win_perms_reset
230035                     False  If  True  the  existing  DACL  will be cleared and
230036                     replaced with the settings defined in this  function.  If
230037                     False, new entries will be appended to the existing DACL.
230038                     Default is False.
230039
230040                     New in version 2018.3.0.
230041
230042
230043              Here's an example using the above win_* parameters:
230044
230045                 create_config_file:
230046                   file.managed:
230047                     - name: C:\config\settings.cfg
230048                     - source: salt://settings.cfg
230049                     - win_owner: Administrators
230050                     - win_perms:
230051                         # Basic Permissions
230052                         dev_ops:
230053                           perms: full_control
230054                         # List of advanced permissions
230055                         appuser:
230056                           perms:
230057                             - read_attributes
230058                             - read_ea
230059                             - create_folders
230060                             - read_permissions
230061                         joe_snuffy:
230062                           perms: read
230063                     - win_deny_perms:
230064                         fred_snuffy:
230065                           perms: full_control
230066                     - win_inheritance: False
230067
230068       salt.states.file.missing(name, **kwargs)
230069              Verify that the named file or directory is missing, this returns
230070              True  only  if the named file is missing but does not remove the
230071              file if it is present.
230072
230073              name   Absolute path which must NOT exist
230074
230075       salt.states.file.mknod(name,  ntype,   major=0,   minor=0,   user=None,
230076       group=None, mode=u'0600')
230077              Create  a  special  file  similar to the 'nix mknod command. The
230078              supported device types are p (fifo pipe), c (character  device),
230079              and  b  (block device). Provide the major and minor numbers when
230080              specifying a character device or block device. A fifo pipe  does
230081              not require this information. The command will create the neces‐
230082              sary dirs if needed. If a file of the same name not of the  same
230083              type/major/minor  exists, it will not be overwritten or unlinked
230084              (deleted). This is  logically  in  place  as  a  safety  measure
230085              because you can really shoot yourself in the foot here and it is
230086              the behavior of 'nix mknod. It is also important  to  note  that
230087              not just anyone can create special devices. Usually this is only
230088              done as root.  If the state is executed as none other than  root
230089              on a minion, you may receive a permission error.
230090
230091              name   name of the file
230092
230093              ntype  node type 'p' (fifo pipe), 'c' (character device), or 'b'
230094                     (block device)
230095
230096              major  major number of the device does not apply to a fifo pipe
230097
230098              minor  minor number of the device does not apply to a fifo pipe
230099
230100              user   owning user of the device/pipe
230101
230102              group  owning group of the device/pipe
230103
230104              mode   permissions on the device/pipe
230105
230106              Usage:
230107
230108                 /dev/chr:
230109                   file.mknod:
230110                     - ntype: c
230111                     - major: 180
230112                     - minor: 31
230113                     - user: root
230114                     - group: root
230115                     - mode: 660
230116
230117                 /dev/blk:
230118                   file.mknod:
230119                     - ntype: b
230120                     - major: 8
230121                     - minor: 999
230122                     - user: root
230123                     - group: root
230124                     - mode: 660
230125
230126                 /dev/fifo:
230127                   file.mknod:
230128                     - ntype: p
230129                     - user: root
230130                     - group: root
230131                     - mode: 660
230132
230133              New in version 0.17.0.
230134
230135
230136       salt.states.file.mod_run_check_cmd(cmd, filename, **check_cmd_opts)
230137              Execute the check_cmd logic.
230138
230139              Return a result dict if check_cmd succeeds (check_cmd == 0) oth‐
230140              erwise return True
230141
230142       salt.states.file.not_cached(name, saltenv=u'base')
230143              New in version 2017.7.3.
230144
230145
230146              Ensures  that  a file is saved to the minion's cache. This state
230147              is primarily invoked by other states to ensure that  we  do  not
230148              re-download a source file if we do not need to.
230149
230150              name   The URL of the file to be cached. To cache a file from an
230151                     environment other than base, either use the saltenv argu‐
230152                     ment   or   include   the   saltenv   in  the  URL  (e.g.
230153                     salt://path/to/file.conf?saltenv=dev).
230154
230155                     NOTE:
230156                        A list of URLs is not supported, this must be a single
230157                        URL.  If  a  local file is passed here, the state will
230158                        take no action.
230159
230160              saltenv
230161                     Used to specify the environment from which to download  a
230162                     file  from  the  Salt fileserver (i.e. those with salt://
230163                     URL).
230164
230165       salt.states.file.patch(name,       source=None,       source_hash=None,
230166       source_hash_name=None,  skip_verify=False, template=None, context=None,
230167       defaults=None, options=u'', reject_file=None, strip=None, saltenv=None,
230168       **kwargs)
230169              Ensure  that  a  patch has been applied to the specified file or
230170              directory
230171
230172              Changed in version Fluorine: The hash and dry_run_first  options
230173              are  now  ignored,  as the logic which determines whether or not
230174              the patch has already been  applied  no  longer  requires  them.
230175              Additionally,  this  state  now supports patch files that modify
230176              more than one file. To use these  sort  of  patches,  specify  a
230177              directory  (and,  if  necessary,  the strip option) instead of a
230178              file.
230179
230180
230181              NOTE:
230182                 A suitable patch executable must be available on the  minion.
230183                 Also,  keep  in  mind  that  the pre-check this state does to
230184                 determine whether or not changes need to be made will  create
230185                 a  temp  file  and  send  all patch output to that file. This
230186                 means that, in the  event  that  the  patch  would  not  have
230187                 applied  cleanly,  the  comment included in the state results
230188                 will reference a temp file that will no longer exist once the
230189                 state finishes running.
230190
230191              name   The  file  or  directory  to  which  the  patch should be
230192                     applied
230193
230194              source The patch file to apply
230195
230196                     Changed in version Fluorine: The source can now  be  from
230197                     any  file  source  supported  by  Salt (salt://, http://,
230198                     https://, ftp://, etc.).  Templating  is  also  now  sup‐
230199                     ported.
230200
230201
230202              source_hash
230203                     Works the same way as in file.managed.
230204
230205                     New in version Fluorine.
230206
230207
230208              source_hash_name
230209                     Works the same way as in file.managed
230210
230211                     New in version Fluorine.
230212
230213
230214              skip_verify
230215                     Works the same way as in file.managed
230216
230217                     New in version Fluorine.
230218
230219
230220              template
230221                     Works the same way as in file.managed
230222
230223                     New in version Fluorine.
230224
230225
230226              context
230227                     Works the same way as in file.managed
230228
230229                     New in version Fluorine.
230230
230231
230232              defaults
230233                     Works the same way as in file.managed
230234
230235                     New in version Fluorine.
230236
230237
230238              options
230239                     Extra options to pass to patch. This should not be neces‐
230240                     sary in most cases.
230241
230242                     NOTE:
230243                        For best results, short opts should be  separate  from
230244                        one  another.   The -N and -r, and -o options are used
230245                        internally by this state  and  cannot  be  used  here.
230246                        Additionally,  instead  of using -pN or --strip=N, use
230247                        the strip option documented below.
230248
230249              reject_file
230250                     If specified, any rejected hunks will be written to  this
230251                     file.  If  not  specified, then they will be written to a
230252                     temp file which will be deleted when the  state  finishes
230253                     running.
230254
230255                     IMPORTANT:
230256                        The parent directory must exist. Also, this will over‐
230257                        write the file if it is already present.
230258
230259                     New in version Fluorine.
230260
230261
230262              strip  Number of directories to strip from paths  in  the  patch
230263                     file.  For  example,  using  the below SLS would instruct
230264                     Salt to use -p1 when applying the patch:
230265
230266                        /etc/myfile.conf:
230267                          file.patch:
230268                            - source: salt://myfile.patch
230269                            - strip: 1
230270
230271                     New in version Fluorine: In previous versions, -p1  would
230272                     need to be passed as part of the options value.
230273
230274
230275              saltenv
230276                     Specify  the environment from which to retrieve the patch
230277                     file indicated by the source parameter. If not  provided,
230278                     this  defaults to the environment from which the state is
230279                     being executed.
230280
230281                     NOTE:
230282                        Ignored when the patch  file  is  from  a  non-salt://
230283                        source.
230284
230285              Usage:
230286
230287                 # Equivalent to ``patch --forward /opt/myfile.txt myfile.patch``
230288                 /opt/myfile.txt:
230289                   file.patch:
230290                     - source: salt://myfile.patch
230291
230292       salt.states.file.prepend(name,  text=None, makedirs=False, source=None,
230293       source_hash=None, template=u'jinja', sources=None,  source_hashes=None,
230294       defaults=None, context=None, header=None)
230295              Ensure that some text appears at the beginning of a file
230296
230297              The text will not be prepended again if it already exists in the
230298              file. You may specify a single line of text or a list  of  lines
230299              to append.
230300
230301              name   The location of the file to append to.
230302
230303              text   The  text to be appended, which can be a single string or
230304                     a list of strings.
230305
230306              makedirs
230307                     If the file is located in a path without a parent  direc‐
230308                     tory,  then  the  state  will fail. If makedirs is set to
230309                     True, then the parent  directories  will  be  created  to
230310                     facilitate  the  creation  of the named file. Defaults to
230311                     False.
230312
230313              source A single source file to append. This source file  can  be
230314                     hosted on either the salt master server, or on an HTTP or
230315                     FTP server. Both HTTPS and HTTP are supported as well  as
230316                     downloading  directly from Amazon S3 compatible URLs with
230317                     both pre-configured and automatic  IAM  credentials  (see
230318                     s3.get  state  documentation).  File retrieval from Open‐
230319                     stack Swift object storage is supported via  swift://con‐
230320                     tainer/object_path URLs (see swift.get documentation).
230321
230322                     For  files hosted on the salt file server, if the file is
230323                     located on the master in the directory named spam, and is
230324                     called eggs, the source string is salt://spam/eggs.
230325
230326                     If  the  file  is  hosted  on  an HTTP or FTP server, the
230327                     source_hash argument is also required.
230328
230329              source_hash
230330
230331                     This can be one of the following:
230332
230333                            1. a source hash string
230334
230335                            2. the URI of a file  that  contains  source  hash
230336                               strings
230337
230338                     The  function accepts the first encountered long unbroken
230339                     alphanumeric string of correct length as a valid hash, in
230340                     order from most secure to least secure:
230341
230342                        Type    Length
230343                        ======  ======
230344                        sha512     128
230345                        sha384      96
230346                        sha256      64
230347                        sha224      56
230348                        sha1        40
230349                        md5         32
230350
230351                     See    the    source_hash   parameter   description   for
230352                     file.managed function for more details and examples.
230353
230354              template
230355                     The named templating engine will be used  to  render  the
230356                     appended-to  file.  Defaults to jinja. The following tem‐
230357                     plates are supported:
230358
230359                     · cheetah
230360
230361                     · genshi
230362
230363                     · jinja
230364
230365                     · mako
230366
230367                     · py
230368
230369                     · wempy
230370
230371              sources
230372                     A list of source files to append. If the files are hosted
230373                     on  an  HTTP or FTP server, the source_hashes argument is
230374                     also required.
230375
230376              source_hashes
230377                     A list of source_hashes corresponding to the sources list
230378                     specified in the sources argument.
230379
230380              defaults
230381                     Default context passed to the template.
230382
230383              context
230384                     Overrides  default  context  variables passed to the tem‐
230385                     plate.
230386
230387              ignore_whitespace
230388                     New in version 2015.8.4.
230389
230390
230391                     Spaces and Tabs in text  are  ignored  by  default,  when
230392                     searching  for the appending content, one space or multi‐
230393                     ple tabs are the same for salt.  Set this option to False
230394                     if you want to change this behavior.
230395
230396              Multi-line example:
230397
230398                 /etc/motd:
230399                   file.prepend:
230400                     - text: |
230401                         Thou hadst better eat salt with the Philosophers of Greece,
230402                         than sugar with the Courtiers of Italy.
230403                         - Benjamin Franklin
230404
230405              Multiple lines of text:
230406
230407                 /etc/motd:
230408                   file.prepend:
230409                     - text:
230410                       - Trust no one unless you have eaten much salt with him.
230411                       - "Salt is born of the purest of parents: the sun and the sea."
230412
230413              Optionally,  require  the  text  to  appear exactly as specified
230414              (order and position). Combine with multi-line or multiple  lines
230415              of input.
230416
230417                 /etc/motd:
230418                   file.prepend:
230419                     - header: True
230420                     - text:
230421                       - This will be the very first line in the file.
230422                       - The 2nd line, regardless of duplicates elsewhere in the file.
230423                       - These will be written anew if they do not appear verbatim.
230424
230425              Gather text from multiple template files:
230426
230427                 /etc/motd:
230428                   file:
230429                     - prepend
230430                     - template: jinja
230431                     - sources:
230432                       - salt://motd/devops-messages.tmpl
230433                       - salt://motd/hr-messages.tmpl
230434                       - salt://motd/general-messages.tmpl
230435
230436              New in version 2014.7.0.
230437
230438
230439       salt.states.file.recurse(name,  source,  keep_source=True, clean=False,
230440       require=None,  user=None,  group=None,  dir_mode=None,  file_mode=None,
230441       sym_mode=None,      template=None,      context=None,     replace=True,
230442       defaults=None,   include_empty=False,   backup=u'',   include_pat=None,
230443       exclude_pat=None,    maxdepth=None,   keep_symlinks=False,   force_sym‐
230444       links=False,   win_owner=None,   win_perms=None,   win_deny_perms=None,
230445       win_inheritance=True, **kwargs)
230446              Recurse  through a subdirectory on the master and copy said sub‐
230447              directory over to the specified path.
230448
230449              name   The directory to set the recursion in
230450
230451              source The source directory, this directory is  located  on  the
230452                     salt master file server and is specified with the salt://
230453                     protocol. If the directory is located on  the  master  in
230454                     the  directory named spam, and is called eggs, the source
230455                     string is salt://spam/eggs
230456
230457              keep_source
230458                     True Set to False to  discard  the  cached  copy  of  the
230459                     source  file once the state completes. This can be useful
230460                     for larger files to keep them from  taking  up  space  in
230461                     minion  cache.  However, keep in mind that discarding the
230462                     source file will result in the state needing to  re-down‐
230463                     load the source file if the state is run again.
230464
230465                     New in version 2017.7.3.
230466
230467
230468              clean  Make  sure  that  only  files that are set up by salt and
230469                     required by this function are kept. If this option is set
230470                     then  everything in this directory will be deleted unless
230471                     it is required.
230472
230473              require
230474                     Require other resources such as packages or files
230475
230476              user   The user to own the directory. This defaults to the  user
230477                     salt is running as on the minion
230478
230479              group  The  group ownership set for the directory. This defaults
230480                     to the group salt is running as on the  minion.  On  Win‐
230481                     dows, this is ignored
230482
230483              dir_mode
230484                     The permissions mode to set on any directories created.
230485
230486                     The  default  mode  for  new files and directories corre‐
230487                     sponds umask of salt  process.  For  existing  files  and
230488                     directories it's not enforced.
230489
230490                     NOTE:
230491                        This option is not supported on Windows.
230492
230493              file_mode
230494                     The permissions mode to set on any files created.
230495
230496                     The  default  mode  for  new files and directories corre‐
230497                     sponds umask of salt  process.  For  existing  files  and
230498                     directories it's not enforced.
230499
230500                     NOTE:
230501                        This option is not supported on Windows.
230502
230503                     Changed  in  version 2016.11.0: This option can be set to
230504                     keep, and Salt will keep the mode  from  the  Salt  file‐
230505                     server. This is only supported when the source URL begins
230506                     with salt://, or for files local to the  minion.  Because
230507                     the source option cannot be used with any of the contents
230508                     options, setting the mode to keep  is  also  incompatible
230509                     with the contents options.
230510
230511
230512              sym_mode
230513                     The permissions mode to set on any symlink created.
230514
230515                     The  default  mode  for  new files and directories corre‐
230516                     sponds umask of salt  process.  For  existing  files  and
230517                     directories it's not enforced.
230518
230519                     NOTE:
230520                        This option is not supported on Windows.
230521
230522              template
230523                     If  this  setting is applied, the named templating engine
230524                     will be used to render the downloaded file. The following
230525                     templates are supported:
230526
230527                     · cheetah
230528
230529                     · genshi
230530
230531                     · jinja
230532
230533                     · mako
230534
230535                     · py
230536
230537                     · wempy
230538
230539                     NOTE:
230540                        The  template  option  is  required  when  recursively
230541                        applying templates.
230542
230543              replace
230544                     True If set to False and the  file  already  exists,  the
230545                     file will not be modified even if changes would otherwise
230546                     be  made.  Permissions  and  ownership  will   still   be
230547                     enforced, however.
230548
230549              context
230550                     Overrides  default  context  variables passed to the tem‐
230551                     plate.
230552
230553              defaults
230554                     Default context passed to the template.
230555
230556              include_empty
230557                     Set this to True if empty directories should also be cre‐
230558                     ated (default is False)
230559
230560              backup Overrides the default backup mode for all replaced files.
230561                     See backup_mode documentation for more details.
230562
230563              include_pat
230564                     When copying, include only this pattern from the  source.
230565                     Default is glob match; if prefixed with 'E@', then regexp
230566                     match.  Example:
230567
230568                        - include_pat: hello*       :: glob matches 'hello01', 'hello02'
230569                                                       ... but not 'otherhello'
230570                        - include_pat: E@hello      :: regexp matches 'otherhello',
230571                                                       'hello01' ...
230572
230573              exclude_pat
230574                     Exclude this pattern from the  source  when  copying.  If
230575                     both  include_pat  and  exclude_pat are supplied, then it
230576                     will apply conditions  cumulatively.  i.e.  first  select
230577                     based  on  include_pat, and then within that result apply
230578                     exclude_pat.
230579
230580                     Also, when 'clean=True', exclude this  pattern  from  the
230581                     removal list and preserve in the destination.  Example:
230582
230583                        - exclude_pat: APPDATA*               :: glob matches APPDATA.01,
230584                                                                 APPDATA.02,.. for exclusion
230585                        - exclude_pat: E@(APPDATA)|(TEMPDATA) :: regexp matches APPDATA
230586                                                                 or TEMPDATA for exclusion
230587
230588              maxdepth
230589                     When copying, only copy paths which are of depth maxdepth
230590                     from the source path.  Example:
230591
230592                        - maxdepth: 0      :: Only include files located in the source
230593                                              directory
230594                        - maxdepth: 1      :: Only include files located in the source
230595                                              or immediate subdirectories
230596
230597              keep_symlinks
230598                     Keep symlinks when copying from the source.  This  option
230599                     will  cause  the  copy operation to terminate at the sym‐
230600                     link. If desire behavior similar to rsync, then set  this
230601                     to True.
230602
230603              force_symlinks
230604                     Force  symlink  creation. This option will force the sym‐
230605                     link creation.  If a file  or  directory  is  obstructing
230606                     symlink  creation  it will be recursively removed so that
230607                     symlink creation can proceed. This option is usually  not
230608                     needed except in special circumstances.
230609
230610              win_owner
230611                     None The owner of the symlink and directories if makedirs
230612                     is True. If this is not passed, user  will  be  used.  If
230613                     user  is not passed, the account under which Salt is run‐
230614                     ning will be used.
230615
230616                     New in version 2017.7.7.
230617
230618
230619              win_perms
230620                     None A dictionary containing permissions to grant
230621
230622                     New in version 2017.7.7.
230623
230624
230625              win_deny_perms
230626                     None A dictionary containing permissions to deny
230627
230628                     New in version 2017.7.7.
230629
230630
230631              win_inheritance
230632                     None True to inherit permissions from  parent,  otherwise
230633                     False
230634
230635                     New in version 2017.7.7.
230636
230637
230638       salt.states.file.rename(name, source, force=False, makedirs=False)
230639              If  the source file exists on the system, rename it to the named
230640              file. The named file will  not  be  overwritten  if  it  already
230641              exists unless the force option is set to True.
230642
230643              name   The location of the file to rename to
230644
230645              source The  location  of the file to move to the location speci‐
230646                     fied with name
230647
230648              force  If the target location is present then the file will  not
230649                     be  moved,  specify "force: True" to overwrite the target
230650                     file
230651
230652              makedirs
230653                     If the target subdirectories don't exist create them
230654
230655       salt.states.file.replace(name, pattern, repl,  count=0,  flags=8,  buf‐
230656       size=1,      append_if_not_found=False,     prepend_if_not_found=False,
230657       not_found_content=None,       backup=u'.bak',        show_changes=True,
230658       ignore_if_missing=False, backslash_literal=False)
230659              Maintain an edit in a file.
230660
230661              New in version 0.17.0.
230662
230663
230664              name   Filesystem path to the file to be edited. If a symlink is
230665                     specified, it will be resolved to its target.
230666
230667              pattern
230668                     A  regular  expression,  to  be  matched  using  Python's
230669                     search().
230670
230671                     NOTE:
230672                        If  you  need  to match a literal string that contains
230673                        regex special characters, you may want to  use  salt's
230674                        custom Jinja filter, regex_escape.
230675
230676                            {{ 'http://example.com?foo=bar%20baz' | regex_escape }}
230677
230678              repl   The replacement text
230679
230680              count  Maximum  number  of  pattern  occurrences to be replaced.
230681                     Defaults to 0.  If count is a positive integer n, no more
230682                     than n occurrences will be replaced, otherwise all occur‐
230683                     rences will be replaced.
230684
230685              flags  A list of flags defined in the  re  module  documentation
230686                     from  the  Python standard library. Each list item should
230687                     be a string that will  correlate  to  the  human-friendly
230688                     flag  name.  E.g.,  ['IGNORECASE', 'MULTILINE'].  Option‐
230689                     ally, flags may be an int, with a value corresponding  to
230690                     the  XOR  (|)  of  all  the  desired flags. Defaults to 8
230691                     (which equates to ['MULTILINE']).
230692
230693                     NOTE:
230694                        file.replace reads the entire file as a string to sup‐
230695                        port  multiline  regex patterns. Therefore, when using
230696                        anchors such as ^ or $ in the pattern,  those  anchors
230697                        may  be  relative to the line OR relative to the file.
230698                        The default for file.replace is to  treat  anchors  as
230699                        relative  to the line, which is implemented by setting
230700                        the default value of  flags  to  ['MULTILINE'].   When
230701                        overriding the default value for flags, if 'MULTILINE'
230702                        is not present then anchors will be  relative  to  the
230703                        file.  If  the  desired  behavior is for anchors to be
230704                        relative to the line, then simply add  'MULTILINE'  to
230705                        the list of flags.
230706
230707              bufsize
230708                     How  much  of the file to buffer into memory at once. The
230709                     default value 1 processes one line at a time. The special
230710                     value  file  may  be specified which will read the entire
230711                     file into memory before processing.
230712
230713              append_if_not_found
230714                     False If set to True, and pattern is not found, then  the
230715                     content will be appended to the file.
230716
230717                     New in version 2014.7.0.
230718
230719
230720              prepend_if_not_found
230721                     False  If  set to True and pattern is not found, then the
230722                     content will be prepended to the file.
230723
230724                     New in version 2014.7.0.
230725
230726
230727              not_found_content
230728                     Content to use for append/prepend if not found.  If  None
230729                     (default), uses repl. Useful when repl uses references to
230730                     group in pattern.
230731
230732                     New in version 2014.7.0.
230733
230734
230735              backup The file extension to use for a backup of the file before
230736                     editing. Set to False to skip making a backup.
230737
230738              show_changes
230739                     True  Output  a  unified diff of the old file and the new
230740                     file. If False return a boolean if any changes were made.
230741                     Returns a boolean or a string.
230742
230743              ignore_if_missing
230744                     False New in version 2016.3.4.
230745
230746
230747                     Controls  what  to  do  if the file is missing. If set to
230748                     False, the state will display an error raised by the exe‐
230749                     cution  module.  If  set  to  True, the state will simply
230750                     report no changes.
230751
230752              backslash_literal
230753                     False New in version 2016.11.7.
230754
230755
230756                     Interpret backslashes as literal backslashes for the repl
230757                     and  not  escape  characters.   This will help when using
230758                     append/prepend so that the  backslashes  are  not  inter‐
230759                     preted for the repl on the second run of the state.
230760
230761              For  complex  regex patterns, it can be useful to avoid the need
230762              for complex quoting and escape sequences by making use of YAML's
230763              multiline string syntax.
230764
230765                 complex_search_and_replace:
230766                   file.replace:
230767                     # <...snip...>
230768                     - pattern: |
230769                         CentOS \(2.6.32[^\\n]+\\n\s+root[^\\n]+\\n\)+
230770
230771              NOTE:
230772                 When  using  YAML  multiline  string syntax in pattern:, make
230773                 sure to also use that syntax in the repl: part, or you  might
230774                 loose line feeds.
230775
230776       salt.states.file.retention_schedule(name, retain, strptime_format=None,
230777       timezone=None)
230778              Apply retention scheduling to backup storage directory.
230779
230780              New in version 2016.11.0.
230781
230782
230783              Parameters
230784
230785                     · name -- The filesystem path to the directory containing
230786                       backups to be managed.
230787
230788                     · retain --
230789
230790                       Delete  the  backups,  except  for  the ones we want to
230791                       keep.  The N below should be an integer but may also be
230792                       the  special value of all, which keeps all files match‐
230793                       ing the criteria.  All of the retain options default to
230794                       None,  which means to not keep files based on this cri‐
230795                       teria.
230796
230797                       most_recent N
230798                              Keep the most recent N files.
230799
230800                       first_of_hour N
230801                              For the last N hours from now,  keep  the  first
230802                              file after the hour.
230803
230804                       first_of_day N
230805                              For  the  last  N  days from now, keep the first
230806                              file after midnight.  See also timezone.
230807
230808                       first_of_week N
230809                              For the last N weeks from now,  keep  the  first
230810                              file after Sunday midnight.
230811
230812                       first_of_month N
230813                              For  the  last N months from now, keep the first
230814                              file after the start of the month.
230815
230816                       first_of_year N
230817                              For the last N years from now,  keep  the  first
230818                              file after the start of the year.
230819
230820
230821                     · strptime_format -- A python strptime format string used
230822                       to first match the filenames of backups and then  parse
230823                       the  filename  to  determine  the datetime of the file.
230824                       https://docs.python.org/2/library/datetime.html#datetime.datetime.strptime
230825                       Defaults  to  None,  which  considers  all files in the
230826                       directory to be backups eligible for deletion and  uses
230827                       os.path.getmtime() to determine the datetime.
230828
230829                     · timezone  --  The timezone to use when determining mid‐
230830                       night.  This is only used when datetime is pulled  from
230831                       os.path.getmtime().   Defaults  to  None which uses the
230832                       timezone from the locale.
230833
230834              Usage example:
230835
230836                 /var/backups/example_directory:
230837                   file.retention_schedule:
230838                     - retain:
230839                         most_recent: 5
230840                         first_of_hour: 4
230841                         first_of_day: 7
230842                         first_of_week: 6    # NotImplemented yet.
230843                         first_of_month: 6
230844                         first_of_year: all
230845                     - strptime_format: example_name_%Y%m%dT%H%M%S.tar.bz2
230846                     - timezone: None
230847
230848       salt.states.file.serialize(name,   dataset=None,   dataset_pillar=None,
230849       user=None,    group=None,    mode=None,   backup=u'',   makedirs=False,
230850       show_changes=True, create=True,  merge_if_exists=False,  encoding=None,
230851       encoding_errors=u'strict',        serializer_opts=None,       deserial‐
230852       izer_opts=None, **kwargs)
230853              Serializes dataset and store it into managed  file.  Useful  for
230854              sharing simple configuration files.
230855
230856              name   The location of the file to create
230857
230858              dataset
230859                     The dataset that will be serialized
230860
230861              dataset_pillar
230862                     Operates  like  dataset, but draws from a value stored in
230863                     pillar, using the pillar path syntax used in  pillar.get.
230864                     This  is  useful when the pillar value contains newlines,
230865                     as referencing a pillar variable using a jinja/mako  tem‐
230866                     plate  can  result  in  YAML formatting issues due to the
230867                     newlines causing indentation mismatches.
230868
230869                     New in version 2015.8.0.
230870
230871
230872              formatter
230873                     Write the data as this format. See the list of serializer
230874                     modules for supported output formats.
230875
230876              encoding
230877                     If  specified,  then the specified encoding will be used.
230878                     Otherwise, the file will  be  encoded  using  the  system
230879                     locale           (usually           UTF-8).           See
230880                     https://docs.python.org/3/library/codecs.html#standard-encodings
230881                     for the list of available encodings.
230882
230883                     New in version 2017.7.0.
230884
230885
230886              encoding_errors
230887                     'strict'  Error  encoding  scheme. Default is `'strict'`.
230888                     See
230889                     https://docs.python.org/2/library/codecs.html#codec-base-classes
230890                     for the list of available schemes.
230891
230892                     New in version 2017.7.0.
230893
230894
230895              user   The user to own the directory, this defaults to the  user
230896                     salt is running as on the minion
230897
230898              group  The  group ownership set for the directory, this defaults
230899                     to the group salt is running as on the minion
230900
230901              mode   The permissions to set on this file, e.g. 644,  0775,  or
230902                     4664.
230903
230904                     The  default  mode  for  new files and directories corre‐
230905                     sponds umask of salt  process.  For  existing  files  and
230906                     directories it's not enforced.
230907
230908                     NOTE:
230909                        This option is not supported on Windows.
230910
230911              backup Overrides the default backup mode for this specific file.
230912
230913              makedirs
230914                     Create parent directories for destination file.
230915
230916                     New in version 2014.1.3.
230917
230918
230919              show_changes
230920                     Output  a  unified diff of the old file and the new file.
230921                     If False return a boolean if any changes were made.
230922
230923              create Default is True, if create is set to False then the  file
230924                     will  only  be  managed if the file already exists on the
230925                     system.
230926
230927              merge_if_exists
230928                     Default is False, if merge_if_exists  is  True  then  the
230929                     existing  file  will  be parsed and the dataset passed in
230930                     will be merged with the existing content
230931
230932                     New in version 2014.7.0.
230933
230934
230935              serializer_opts
230936                     Pass through options to serializer. For example:
230937
230938                        /etc/dummy/package.yaml
230939                          file.serialize:
230940                            - formatter: yaml
230941                            - serializer_opts:
230942                              - explicit_start: True
230943                              - default_flow_style: True
230944                              - indent: 4
230945
230946                     The valid opts are the additional opts (i.e. not the data
230947                     being  serialized) for the function used to serialize the
230948                     data. Documentation for the these functions can be  found
230949                     in the list below:
230950
230951                     · For yaml: yaml.dump()
230952
230953                     · For json: json.dumps()
230954
230955                     · For python: pprint.pformat()
230956
230957              deserializer_opts
230958                     Like  serializer_opts  above,  but only used when merging
230959                     with an existing file (i.e. when merge_if_exists  is  set
230960                     to True).
230961
230962                     The  options specified here will be passed to the deseri‐
230963                     alizer to load the existing data, before merging with the
230964                     specified data and re-serializing.
230965
230966                        /etc/dummy/package.yaml
230967                          file.serialize:
230968                            - formatter: yaml
230969                            - serializer_opts:
230970                              - explicit_start: True
230971                              - default_flow_style: True
230972                              - indent: 4
230973                            - deserializer_opts:
230974                              - encoding: latin-1
230975                            - merge_if_exists: True
230976
230977                     The valid opts are the additional opts (i.e. not the data
230978                     being deserialized) for the function used to  deserialize
230979                     the  data.   Documentation for the these functions can be
230980                     found in the list below:
230981
230982                     · For yaml: yaml.load()
230983
230984                     · For json: json.loads()
230985
230986                     However, note that not all arguments are  supported.  For
230987                     example,   when   deserializing   JSON,   arguments  like
230988                     parse_float and parse_int which accept a callable  object
230989                     cannot be handled in an SLS file.
230990
230991                     New in version Fluorine.
230992
230993
230994              For example, this state:
230995
230996                 /etc/dummy/package.json:
230997                   file.serialize:
230998                     - dataset:
230999                         name: naive
231000                         description: A package using naive versioning
231001                         author: A confused individual <iam@confused.com>
231002                         dependencies:
231003                           express: '>= 1.2.0'
231004                           optimist: '>= 0.1.0'
231005                         engine: node 0.4.1
231006                     - formatter: json
231007
231008              will manage the file /etc/dummy/package.json:
231009
231010                 {
231011                   "author": "A confused individual <iam@confused.com>",
231012                   "dependencies": {
231013                     "express": ">= 1.2.0",
231014                     "optimist": ">= 0.1.0"
231015                   },
231016                   "description": "A package using naive versioning",
231017                   "engine": "node 0.4.1",
231018                   "name": "naive"
231019                 }
231020
231021       salt.states.file.shortcut(name,     target,    arguments=None,    work‐
231022       ing_dir=None, description=None, icon_location=None, force=False,  back‐
231023       upname=None, makedirs=False, user=None, **kwargs)
231024              Create a Windows shortcut
231025
231026              If  the  file  already  exists and is a shortcut pointing to any
231027              location other than the specified target, the shortcut  will  be
231028              replaced.  If  it  is a regular file or directory then the state
231029              will return False. If the regular file or directory  is  desired
231030              to  be replaced with a shortcut pass force: True, if it is to be
231031              renamed, pass a backupname.
231032
231033              name   The location of the shortcut to  create.  Must  end  with
231034                     either ".lnk" or ".url"
231035
231036              target The location that the shortcut points to
231037
231038              arguments
231039                     Any arguments to pass in the shortcut
231040
231041              working_dir
231042                     Working directory in which to execute target
231043
231044              description
231045                     Description to set on shortcut
231046
231047              icon_location
231048                     Location of shortcut's icon
231049
231050              force  If  the name of the shortcut exists and is not a file and
231051                     force is set to False, the state will fail. If  force  is
231052                     set  to  True,  the  link  or directory in the way of the
231053                     shortcut file will be deleted to make room for the short‐
231054                     cut, unless backupname is set, when it will be renamed
231055
231056              backupname
231057                     If  the name of the shortcut exists and is not a file, it
231058                     will be renamed to  the  backupname.  If  the  backupname
231059                     already  exists  and force is False, the state will fail.
231060                     Otherwise, the backupname will be removed first.
231061
231062              makedirs
231063                     If the location of the shortcut does not already  have  a
231064                     parent  directory  then  the  state  will  fail,  setting
231065                     makedirs to True will allow Salt  to  create  the  parent
231066                     directory. Setting this to True will also create the par‐
231067                     ent for backupname if necessary.
231068
231069              user   The user to own the file, this defaults to the user  salt
231070                     is running as on the minion
231071
231072                     The  default  mode  for  new files and directories corre‐
231073                     sponds umask of salt  process.  For  existing  files  and
231074                     directories it's not enforced.
231075
231076       salt.states.file.symlink(name,  target,  force=False,  backupname=None,
231077       makedirs=False,  user=None,  group=None,   mode=None,   win_owner=None,
231078       win_perms=None, win_deny_perms=None, win_inheritance=None, **kwargs)
231079              Create a symbolic link (symlink, soft link)
231080
231081              If  the  file  already  exists  and is a symlink pointing to any
231082              location other than the specified target, the  symlink  will  be
231083              replaced. If the symlink is a regular file or directory then the
231084              state will return False. If the regular  file  or  directory  is
231085              desired to be replaced with a symlink pass force: True, if it is
231086              to be renamed, pass a backupname.
231087
231088              name   The location of the symlink to create
231089
231090              target The location that the symlink points to
231091
231092              force  If the name of the symlink exists and is  not  a  symlink
231093                     and  force is set to False, the state will fail. If force
231094                     is set to True, the file or directory in the way  of  the
231095                     symlink  file  will  be deleted to make room for the sym‐
231096                     link, unless backupname is set, when it will be renamed
231097
231098              backupname
231099                     If the name of the symlink exists and is not  a  symlink,
231100                     it  will  be renamed to the backupname. If the backupname
231101                     already exists and force is False, the state  will  fail.
231102                     Otherwise,  the  backupname  will  be  removed first.  An
231103                     absolute path OR a basename file/directory name  must  be
231104                     provided.  The latter will be placed relative to the sym‐
231105                     link destination's parent directory.
231106
231107              makedirs
231108                     If the location of the symlink does not  already  have  a
231109                     parent  directory  then  the  state  will  fail,  setting
231110                     makedirs to True will allow Salt  to  create  the  parent
231111                     directory
231112
231113              user   The  user to own the file, this defaults to the user salt
231114                     is running as on the minion
231115
231116              group  The group ownership set for the file,  this  defaults  to
231117                     the  group  salt is running as on the minion. On Windows,
231118                     this is ignored
231119
231120              mode   The permissions to set on this file, aka 644, 0775, 4664.
231121                     Not supported on Windows.
231122
231123                     The  default  mode  for  new files and directories corre‐
231124                     sponds umask of salt  process.  For  existing  files  and
231125                     directories it's not enforced.
231126
231127              win_owner
231128                     None The owner of the symlink and directories if makedirs
231129                     is True. If this is not passed, user  will  be  used.  If
231130                     user  is not passed, the account under which Salt is run‐
231131                     ning will be used.
231132
231133                     New in version 2017.7.7.
231134
231135
231136              win_perms
231137                     None A dictionary containing permissions to grant
231138
231139                     New in version 2017.7.7.
231140
231141
231142              win_deny_perms
231143                     None A dictionary containing permissions to deny
231144
231145                     New in version 2017.7.7.
231146
231147
231148              win_inheritance
231149                     None True to inherit permissions from  parent,  otherwise
231150                     False
231151
231152                     New in version 2017.7.7.
231153
231154
231155       salt.states.file.tidied(name,    age=0,   matches=None,   rmdirs=False,
231156       size=0, **kwargs)
231157              Remove unwanted files based on specific criteria. Multiple  cri‐
231158              teria  are OR’d together, so a file that is too large but is not
231159              old enough will still get tidied.
231160
231161              If neither age nor size is given all files which match a pattern
231162              in matches will be removed.
231163
231164              name   The directory tree that should be tidied
231165
231166              age    Maximum  age in days after which files are considered for
231167                     removal
231168
231169              matches
231170                     List  of  regular  expressions  to  restrict  what   gets
231171                     removed.  Default: ['.*']
231172
231173              rmdirs Whether or not it's allowed to remove directories
231174
231175              size   Maximum allowed file size. Files greater or equal to this
231176                     size are removed. Doesn't apply to  directories  or  sym‐
231177                     bolic links
231178
231179                 cleanup:
231180                   file.tidied:
231181                     - name: /tmp/salt_test
231182                     - rmdirs: True
231183                     - matches:
231184                       - foo
231185                       - b.*r
231186
231187       salt.states.file.touch(name, atime=None, mtime=None, makedirs=False)
231188              Replicate the 'nix "touch" command to create a new empty file or
231189              update the atime and mtime of an existing file.
231190
231191              Note that if you just want to create a file and don't care about
231192              atime  or  mtime,  you should use file.managed instead, as it is
231193              more feature-complete.  (Just leave out the source/template/con‐
231194              tents  arguments,  and it will just create the file and/or check
231195              its permissions, without messing with contents)
231196
231197              name   name of the file
231198
231199              atime  atime of the file
231200
231201              mtime  mtime of the file
231202
231203              makedirs
231204                     whether we should create the parent directory/directories
231205                     in order to touch the file
231206
231207              Usage:
231208
231209                 /var/log/httpd/logrotate.empty:
231210                   file.touch
231211
231212              New in version 0.9.5.
231213
231214
231215       salt.states.file.uncomment(name, regex, char=u'#', backup=u'.bak')
231216              Uncomment specified commented lines in a file
231217
231218              name   The full path to the file to be edited
231219
231220              regex  A  regular  expression used to find the lines that are to
231221                     be uncommented.  This regex should not include  the  com‐
231222                     ment  character.  A  leading ^ character will be stripped
231223                     for convenience (for easily switching  between  comment()
231224                     and  uncomment()).   The  regex will be searched for from
231225                     the beginning of the line, ignoring  leading  spaces  (we
231226                     prepend '^[ t]*')
231227
231228              char   # The character to remove in order to uncomment a line
231229
231230              backup .bak  The  file  will  be backed up before edit with this
231231                     file extension;
231232
231233                     WARNING:
231234                        This backup will be overwritten each time sed  /  com‐
231235                        ment  /  uncomment  is called. Meaning the backup will
231236                        only be useful after the first invocation.
231237
231238                     Set to False/None to not keep a backup.
231239
231240              Usage:
231241
231242                 /etc/adduser.conf:
231243                   file.uncomment:
231244                     - regex: EXTRA_GROUPS
231245
231246              New in version 0.9.5.
231247
231248
231249   salt.states.firewall module
231250       State to check firewall configurations
231251
231252       New in version 2016.3.0.
231253
231254
231255       salt.states.firewall.check(name, port=None, **kwargs)
231256              Checks if there is an open connection from  the  minion  to  the
231257              defined host on a specific port.
231258
231259              name   host name or ip address to test connection to
231260
231261              port   The port to test the connection on
231262
231263              kwargs
231264
231265                     Additional parameters, parameters allowed are:
231266                            proto (tcp or udp) family (ipv4 or ipv6) timeout
231267
231268                 testgoogle:
231269                   firewall.check:
231270                     - name: 'google.com'
231271                     - port: 80
231272                     - proto: 'tcp'
231273
231274   salt.states.firewalld
231275       Management of firewalld
231276
231277       New in version 2015.8.0.
231278
231279
231280       The  following  example  applies  changes  to  the  public zone, blocks
231281       echo-reply and echo-request packets, does not set the zone  to  be  the
231282       default,  enables masquerading, and allows ports 22/tcp and 25/tcp.  It
231283       will be applied permanently and directly before restart/reload.
231284
231285          public:
231286            firewalld.present:
231287              - name: public
231288              - block_icmp:
231289                - echo-reply
231290                - echo-request
231291              - default: False
231292              - masquerade: True
231293              - ports:
231294                - 22/tcp
231295                - 25/tcp
231296
231297       The following example applies changes to the public zone, enables  mas‐
231298       querading  and  configures  port forwarding TCP traffic from port 22 to
231299       2222, and forwards TCP traffic from port 80 to 443 at 192.168.0.1.
231300
231301          my_zone:
231302            firewalld.present:
231303              - name: public
231304              - masquerade: True
231305              - port_fwd:
231306                - 22:2222:tcp
231307                - 80:443:tcp:192.168.0.1
231308
231309       The following example binds the public zone to interface  eth0  and  to
231310       all  packets coming from the 192.168.1.0/24 subnet. It also removes the
231311       zone from all other interfaces or sources.
231312
231313          public:
231314            firewalld.present:
231315              - name: public
231316              - interfaces:
231317                - eth0
231318              - sources:
231319                - 192.168.1.0/24
231320
231321       Here, we define a new service that encompasses TCP ports 4505 4506:
231322
231323          saltmaster:
231324            firewalld.service:
231325              - name: saltmaster
231326              - ports:
231327                - 4505/tcp
231328                - 4506/tcp
231329
231330       To make this new service available in a  zone,  the  following  can  be
231331       used,  which  would allow access to the salt master from the 10.0.0.0/8
231332       subnet:
231333
231334          saltzone:
231335            firewalld.present:
231336              - name: saltzone
231337              - services:
231338                - saltmaster
231339              - sources:
231340                - 10.0.0.0/8
231341
231342       class salt.states.firewalld.ForwardingMapping(srcport, destport, proto‐
231343       col, destaddr)
231344              Represents a port forwarding statement mapping a local port to a
231345              remote port for a specific protocol (TCP or UDP)
231346
231347              todict()
231348                     Returns a pretty dictionary meant for command  line  out‐
231349                     put.
231350
231351       salt.states.firewalld.present(name,                    block_icmp=None,
231352       prune_block_icmp=False,  default=None,  masquerade=False,   ports=None,
231353       prune_ports=False,  port_fwd=None, prune_port_fwd=False, services=None,
231354       prune_services=None,      interfaces=None,      prune_interfaces=False,
231355       sources=None,           prune_sources=False,           rich_rules=None,
231356       prune_rich_rules=False)
231357              Ensure a zone has specific attributes.
231358
231359              name   The zone to modify.
231360
231361              default
231362                     None Set this zone as the default zone if True.
231363
231364              masquerade
231365                     False Enable or disable masquerade for a zone.
231366
231367              block_icmp
231368                     None List of ICMP types to block in the zone.
231369
231370              prune_block_icmp
231371                     False If True, remove all but  the  specified  block_icmp
231372                     from the zone.
231373
231374              ports  None List of ports to add to the zone.
231375
231376              prune_ports
231377                     False  If  True,  remove all but the specified ports from
231378                     the zone.
231379
231380              port_fwd
231381                     None List of port forwards to add to the zone.
231382
231383              prune_port_fwd
231384                     False If True, remove all but the specified port_fwd from
231385                     the zone.
231386
231387              services
231388                     None List of services to add to the zone.
231389
231390              prune_services
231391                     True  If True, remove all but the specified services from
231392                     the zone.
231393
231394              interfaces
231395                     None List of interfaces to add to the zone.
231396
231397              prune_interfaces
231398                     False If True, remove all but  the  specified  interfaces
231399                     from the zone.
231400
231401              sources
231402                     None List of sources to add to the zone.
231403
231404              prune_sources
231405                     False  If True, remove all but the specified sources from
231406                     the zone.
231407
231408              rich_rules
231409                     None List of rich rules to add to the zone.
231410
231411              prune_rich_rules
231412                     False If True, remove all but the  specified  rich  rules
231413                     from the zone.
231414
231415       salt.states.firewalld.service(name, ports=None, protocols=None)
231416              Ensure  the  service  exists and encompasses the specified ports
231417              and protocols.
231418
231419              New in version 2016.11.0.
231420
231421
231422   salt.states.gem
231423   Installation of Ruby modules packaged as gems
231424       A state module to manage rubygems. Gems can be set up to  be  installed
231425       or removed. This module will use RVM or rbenv if they are installed. In
231426       that case, you can specify what ruby version and gemset to target.
231427
231428          addressable:
231429            gem.installed:
231430              - user: rvm
231431              - ruby: jruby@jgemset
231432
231433       salt.states.gem.installed(name,  ruby=None,  gem_bin=None,   user=None,
231434       version=None,  rdoc=False,  ri=False,  pre_releases=False,  proxy=None,
231435       source=None)
231436              Make sure that a gem is installed.
231437
231438              name   The name of the gem to install
231439
231440              ruby: None
231441                     Only for RVM or rbenv installations: the ruby version and
231442                     gemset to target.
231443
231444              gem_bin: None
231445                     Custom  gem  command  to run instead of the default.  Use
231446                     this to install gems to a non-default  ruby  install.  If
231447                     you are using rvm or rbenv use the ruby argument instead.
231448
231449              user: None
231450                     The user under which to run the gem command
231451
231452                     New in version 0.17.0.
231453
231454
231455              version
231456                     None Specify the version to install for the gem.  Doesn't
231457                     play nice with multiple gems at once
231458
231459              rdoc   False Generate RDoc documentation for the gem(s).
231460
231461              ri     False Generate RI documentation for the gem(s).
231462
231463              pre_releases
231464                     False Install pre-release version of gem(s) if available.
231465
231466              proxy  None Use the specified HTTP proxy server for all outgoing
231467                     traffic.  Format: http://hostname[:port]
231468
231469              source None Use the specified HTTP gem source server to download
231470                     gem.  Format: http://hostname[:port]
231471
231472       salt.states.gem.removed(name, ruby=None, user=None, gem_bin=None)
231473              Make sure that a gem is not installed.
231474
231475              name   The name of the gem to uninstall
231476
231477              gem_bin
231478                     None Full path to gem binary to use.
231479
231480              ruby   None If RVM or rbenv are installed, the ruby version  and
231481                     gemset to use.  Ignored if gem_bin is specified.
231482
231483              user: None
231484                     The user under which to run the gem command
231485
231486                     New in version 0.17.0.
231487
231488
231489       salt.states.gem.sources_add(name, ruby=None, user=None)
231490              Make sure that a gem source is added.
231491
231492              name   The URL of the gem source to be added
231493
231494              ruby: None
231495                     For RVM or rbenv installations: the ruby version and gem‐
231496                     set to target.
231497
231498              user: None
231499                     The user under which to run the gem command
231500
231501                     New in version 0.17.0.
231502
231503
231504       salt.states.gem.sources_remove(name, ruby=None, user=None)
231505              Make sure that a gem source is removed.
231506
231507              name   The URL of the gem source to be removed
231508
231509              ruby: None
231510                     For RVM or rbenv installations: the ruby version and gem‐
231511                     set to target.
231512
231513              user: None
231514                     The user under which to run the gem command
231515
231516                     New in version 0.17.0.
231517
231518
231519   salt.states.git
231520       States to manage git repositories and git configuration
231521
231522       IMPORTANT:
231523          Before  using  git  over ssh, make sure your remote host fingerprint
231524          exists in your ~/.ssh/known_hosts file.
231525
231526       Changed in version 2015.8.8: This state module now requires  git  1.6.5
231527       (released 10 October 2009) or newer.
231528
231529
231530       salt.states.git.cloned(name, target=None, branch=None, user=None, pass‐
231531       word=None,  identity=None,   https_user=None,   https_pass=None,   out‐
231532       put_encoding=None)
231533              New in version 2018.3.3,Fluorine.
231534
231535
231536              Ensure that a repository has been cloned to the specified target
231537              directory.  If not, clone that repository. No  fetches  will  be
231538              performed once cloned.
231539
231540              name   Address of the remote repository
231541
231542              target Name  of  the target directory where repository should be
231543                     cloned
231544
231545              branch Remote branch to check out. If unspecified,  the  default
231546                     branch  (i.e.  the one to the remote HEAD points) will be
231547                     checked out.
231548
231549                     NOTE:
231550                        The local branch name will  match  the  remote  branch
231551                        name.  If the branch name is changed, then that branch
231552                        will be checked out locally, but  keep  in  mind  that
231553                        remote  repository  will  not  be fetched. If your use
231554                        case requires that you keep the clone up to date  with
231555                        the remote repository, then consider using git.latest.
231556
231557              user   User  under  which  to run git commands. By default, com‐
231558                     mands are run by the user under which the minion is  run‐
231559                     ning.
231560
231561              password
231562                     Windows only. Required when specifying user. This parame‐
231563                     ter will be ignored on non-Windows platforms.
231564
231565              identity
231566                     Path to a private key to use for ssh URLs. Works the same
231567                     way  as in git.latest, see that state's documentation for
231568                     more information.
231569
231570              https_user
231571                     HTTP Basic Auth username for HTTPS (only) clones
231572
231573              https_pass
231574                     HTTP Basic Auth password for HTTPS (only) clones
231575
231576              output_encoding
231577                     Use this option to  specify  which  encoding  to  use  to
231578                     decode  the  output  from any git commands which are run.
231579                     This should not be needed in most cases.
231580
231581                     NOTE:
231582                        This should only be needed if the files in the reposi‐
231583                        tory  were  created  with  filenames using an encoding
231584                        other than UTF-8 to handle Unicode characters.
231585
231586       salt.states.git.config_set(name, value=None, multivar=None,  repo=None,
231587       user=None, password=None, output_encoding=None, **kwargs)
231588              New in version 2014.7.0.
231589
231590
231591              Changed in version 2015.8.0: Renamed from git.config to git.con‐
231592              fig_set. For earlier versions, use git.config.
231593
231594
231595              Ensure that a config value is set to the desired value(s)
231596
231597              name   Name of the git config value to set
231598
231599              value  Set a single value for the config item
231600
231601              multivar
231602                     Set multiple values for the config item
231603
231604                     NOTE:
231605                        The order matters here, if the same parameters are set
231606                        but  in  a  different  order, they will be removed and
231607                        replaced in the order specified.
231608
231609                     New in version 2015.8.0.
231610
231611
231612              repo   Location of the git repository for which the config value
231613                     should be set. Required unless global is set to True.
231614
231615              user   User  under  which  to  run git commands. By default, the
231616                     commands are run by the user under which  the  minion  is
231617                     running.
231618
231619              password
231620                        Windows  only.  Required  when  specifying  user. This
231621                        parameter will be ignored on non-Windows platforms.
231622
231623                     New in version 2016.3.4.
231624
231625
231626              global False If True, this will set a global git config option
231627
231628              output_encoding
231629                     Use this option to  specify  which  encoding  to  use  to
231630                     decode  the  output  from any git commands which are run.
231631                     This should not be needed in most cases.
231632
231633                     NOTE:
231634                        This should only be needed if the files in the reposi‐
231635                        tory  were  created  with  filenames using an encoding
231636                        other than UTF-8 to handle Unicode characters.
231637
231638                     New in version 2018.3.1.
231639
231640
231641              Local Config Example:
231642
231643                 # Single value
231644                 mylocalrepo:
231645                   git.config_set:
231646                     - name: user.email
231647                     - value: foo@bar.net
231648                     - repo: /path/to/repo
231649
231650                 # Multiple values
231651                 mylocalrepo:
231652                   git.config_set:
231653                     - name: mysection.myattribute
231654                     - multivar:
231655                       - foo
231656                       - bar
231657                       - baz
231658                     - repo: /path/to/repo
231659
231660              Global Config Example (User ``foo``):
231661
231662                 mylocalrepo:
231663                   git.config_set:
231664                     - name: user.name
231665                     - value: Foo Bar
231666                     - user: foo
231667                     - global: True
231668
231669       salt.states.git.config_unset(name,     value_regex=None,     repo=None,
231670       user=None, password=None, output_encoding=None, **kwargs)
231671              New in version 2015.8.0.
231672
231673
231674              Ensure that the named config key is not present
231675
231676              name   The  name  of  the configuration key to unset. This value
231677                     can be a regex, but the regex must match the  entire  key
231678                     name. For example, foo\.  would not match all keys in the
231679                     foo section, it would be necessary to use foo\..+  to  do
231680                     so.
231681
231682              value_regex
231683                     Regex  indicating  the  values  to unset for the matching
231684                     key(s)
231685
231686                     NOTE:
231687                        This option behaves differently depending  on  whether
231688                        or  not  all is set to True. If it is, then all values
231689                        matching the regex will be deleted (this is  the  only
231690                        way to delete multiple values from a multivar). If all
231691                        is set to False, then this  state  will  fail  if  the
231692                        regex matches more than one value in a multivar.
231693
231694              all    False If True, unset all matches
231695
231696              repo   Location of the git repository for which the config value
231697                     should be set. Required unless global is set to True.
231698
231699              user   User under which to run git commands.  By  default,  com‐
231700                     mands  are run by the user under which the minion is run‐
231701                     ning.
231702
231703              password
231704                        Windows only.  Required  when  specifying  user.  This
231705                        parameter will be ignored on non-Windows platforms.
231706
231707                     New in version 2016.3.4.
231708
231709
231710              global False If True, this will set a global git config option
231711
231712              output_encoding
231713                     Use  this  option  to  specify  which  encoding to use to
231714                     decode the output from any git commands  which  are  run.
231715                     This should not be needed in most cases.
231716
231717                     NOTE:
231718                        This should only be needed if the files in the reposi‐
231719                        tory were created with  filenames  using  an  encoding
231720                        other than UTF-8 to handle Unicode characters.
231721
231722                     New in version 2018.3.1.
231723
231724
231725              Examples:
231726
231727                 # Value matching 'baz'
231728                 mylocalrepo:
231729                   git.config_unset:
231730                     - name: foo.bar
231731                     - value_regex: 'baz'
231732                     - repo: /path/to/repo
231733
231734                 # Ensure entire multivar is unset
231735                 mylocalrepo:
231736                   git.config_unset:
231737                     - name: foo.bar
231738                     - all: True
231739
231740                 # Ensure all variables in 'foo' section are unset, including multivars
231741                 mylocalrepo:
231742                   git.config_unset:
231743                     - name: 'foo\..+'
231744                     - all: True
231745
231746                 # Ensure that global config value is unset
231747                 mylocalrepo:
231748                   git.config_unset:
231749                     - name: foo.bar
231750                     - global: True
231751
231752       salt.states.git.detached(name,   rev,   target=None,  remote=u'origin',
231753       user=None,  password=None,   force_clone=False,   force_checkout=False,
231754       fetch_remote=True,  hard_reset=False,  submodules=False, identity=None,
231755       https_user=None,  https_pass=None,   onlyif=None,   unless=None,   out‐
231756       put_encoding=None, **kwargs)
231757              New in version 2016.3.0.
231758
231759
231760              Make  sure  a repository is cloned to the given target directory
231761              and is a detached HEAD checkout of the commit ID  resolved  from
231762              rev.
231763
231764              name   Address of the remote repository.
231765
231766              rev    The  branch,  tag,  or commit ID to checkout after clone.
231767                     If a branch or tag is specified it will be resolved to  a
231768                     commit ID and checked out.
231769
231770              target Name of the target directory where repository is about to
231771                     be cloned.
231772
231773              remote origin Git remote to use. If this state  needs  to  clone
231774                     the  repo,  it will clone it using this value as the ini‐
231775                     tial remote name. If the repository already exists, and a
231776                     remote by this name is not present, one will be added.
231777
231778              user   User  under  which  to run git commands. By default, com‐
231779                     mands are run by the user under which the minion is  run‐
231780                     ning.
231781
231782              password
231783                        Windows  only.  Required  when  specifying  user. This
231784                        parameter will be ignored on non-Windows platforms.
231785
231786                     New in version 2016.3.4.
231787
231788
231789              force_clone
231790                     False If the target directory exists and  is  not  a  git
231791                     repository,  then this state will fail. Set this argument
231792                     to True to remove the contents of  the  target  directory
231793                     and clone the repo into it.
231794
231795              force_checkout
231796                     False  When  checking out the revision ID, the state will
231797                     fail if there are unwritten changes. Set this argument to
231798                     True to discard unwritten changes when checking out.
231799
231800              fetch_remote
231801                     True  If  False  a  fetch  will not be performed and only
231802                     local refs will be reachable.
231803
231804              hard_reset
231805                     False If True a hard reset will be performed  before  the
231806                     checkout and any uncommitted modifications to the working
231807                     directory will be discarded.  Untracked files will remain
231808                     in place.
231809
231810                     NOTE:
231811                        Changes  resulting  from a hard reset will not trigger
231812                        requisites.
231813
231814              submodules
231815                     False Update submodules
231816
231817              identity
231818                     A path on the minion (or a SaltStack fileserver URL, e.g.
231819                     salt://path/to/identity_file) to a private key to use for
231820                     SSH authentication.
231821
231822              https_user
231823                     HTTP Basic Auth username for HTTPS (only) clones
231824
231825              https_pass
231826                     HTTP Basic Auth password for HTTPS (only) clones
231827
231828              onlyif A command to run as a check, run the named  command  only
231829                     if the command passed to the onlyif option returns true
231830
231831              unless A  command  to run as a check, only run the named command
231832                     if the command passed to the unless option returns false
231833
231834              output_encoding
231835                     Use this option to  specify  which  encoding  to  use  to
231836                     decode  the  output  from any git commands which are run.
231837                     This should not be needed in most cases.
231838
231839                     NOTE:
231840                        This should only be needed if the files in the reposi‐
231841                        tory  were  created  with  filenames using an encoding
231842                        other than UTF-8 to handle Unicode characters.
231843
231844                     New in version 2018.3.1.
231845
231846
231847       salt.states.git.latest(name,  rev=u'HEAD',  target=None,   branch=None,
231848       user=None,   password=None,   update_head=True,   force_checkout=False,
231849       force_clone=False,   force_fetch=False,   force_reset=False,    submod‐
231850       ules=False,       bare=False,      mirror=False,      remote=u'origin',
231851       fetch_tags=True,     sync_tags=True,     depth=None,     identity=None,
231852       https_user=None,   https_pass=None,   onlyif=None,   unless=None,  ref‐
231853       spec_branch=u'*', refspec_tag=u'*', output_encoding=None, **kwargs)
231854              Make sure the repository is cloned to the given directory and is
231855              up-to-date.
231856
231857              name   Address of the remote repository, as passed to git clone
231858
231859                     NOTE:
231860                        From  the Git documentation, there are two URL formats
231861                        supported for SSH authentication. The below two  exam‐
231862                        ples are equivalent:
231863
231864                            # ssh:// URL
231865                            ssh://user@server/project.git
231866
231867                            # SCP-like syntax
231868                            user@server:project.git
231869
231870                        A  common  mistake is to use an ssh:// URL, but with a
231871                        colon after the domain instead of  a  slash.  This  is
231872                        invalid  syntax in Git, and will therefore not work in
231873                        Salt. When in doubt, confirm that a  git  clone  works
231874                        for the URL before using it in Salt.
231875
231876                        It  has been reported by some users that SCP-like syn‐
231877                        tax is incompatible with git repos hosted on Atlassian
231878                        Stash/BitBucket Server. In these cases, it may be nec‐
231879                        essary to use ssh:// URLs for SSH authentication.
231880
231881              rev    HEAD The remote branch, tag, or revision ID  to  checkout
231882                     after clone / before update. If specified, then Salt will
231883                     also  ensure  that  the  tracking  branch   is   set   to
231884                     <remote>/<rev>,  unless  rev  refers to a tag or SHA1, in
231885                     which case Salt will ensure that the tracking  branch  is
231886                     unset.
231887
231888                     If  rev  is not specified, it will be assumed to be HEAD,
231889                     and Salt will not manage the tracking branch at all.
231890
231891                     Changed in version 2015.8.0: If not  specified,  rev  now
231892                     defaults to the remote repository's HEAD.
231893
231894
231895              target Name of the target directory where repository is about to
231896                     be cloned
231897
231898              branch Name of the local branch into which to checkout the spec‐
231899                     ified rev. If not specified, then Salt will not care what
231900                     branch is being used locally and will just  use  whatever
231901                     branch is currently there.
231902
231903                     New in version 2015.8.0.
231904
231905
231906                     NOTE:
231907                        If  this  argument  is  not specified, this means that
231908                        Salt will not change the local branch if  the  reposi‐
231909                        tory is reset to another branch/tag/SHA1. For example,
231910                        assume that the following state was run initially:
231911
231912                            foo_app:
231913                              git.latest:
231914                                - name: https://mydomain.tld/apps/foo.git
231915                                - target: /var/www/foo
231916                                - user: www
231917
231918                        This would have cloned the HEAD of that repo (since  a
231919                        rev wasn't specified), and because branch is not spec‐
231920                        ified, the branch in the local clone  at  /var/www/foo
231921                        would  be whatever the default branch is on the remote
231922                        repository (usually  master,  but  not  always).  Now,
231923                        assume that it becomes necessary to switch this check‐
231924                        out to the dev branch. This would require  rev  to  be
231925                        set, and probably would also require force_reset to be
231926                        enabled:
231927
231928                            foo_app:
231929                              git.latest:
231930                                - name: https://mydomain.tld/apps/foo.git
231931                                - target: /var/www/foo
231932                                - user: www
231933                                - rev: dev
231934                                - force_reset: True
231935
231936                        The result  of  this  state  would  be  to  perform  a
231937                        hard-reset  to origin/dev. Since branch was not speci‐
231938                        fied though, while /var/www/foo would reflect the con‐
231939                        tents  of  the  remote  repo's  dev  branch, the local
231940                        branch would still remain whatever it was when it  was
231941                        cloned. To make the local branch match the remote one,
231942                        set branch as well, like so:
231943
231944                            foo_app:
231945                              git.latest:
231946                                - name: https://mydomain.tld/apps/foo.git
231947                                - target: /var/www/foo
231948                                - user: www
231949                                - rev: dev
231950                                - branch: dev
231951                                - force_reset: True
231952
231953                        This may seem redundant, but Salt tries to  support  a
231954                        wide  variety  of  use  cases,  and  doing it this way
231955                        allows for the use case where the local branch doesn't
231956                        need to be strictly managed.
231957
231958              user   Local  system  user  under  which to run git commands. By
231959                     default, commands are run by the  user  under  which  the
231960                     minion is running.
231961
231962                     NOTE:
231963                        This  is  not  to  be  confused  with the username for
231964                        http(s)/SSH authentication.
231965
231966                     New in version 0.17.0.
231967
231968
231969              password
231970                     Windows only. Required when specifying user. This parame‐
231971                     ter will be ignored on non-Windows platforms.
231972
231973                     New in version 2016.3.4.
231974
231975
231976              update_head
231977                     True  If set to False, then the remote repository will be
231978                     fetched (if necessary) to ensure that the commit to which
231979                     rev  points  exists in the local checkout, but no changes
231980                     will be made to the local HEAD.
231981
231982                     New in version 2015.8.3.
231983
231984
231985              force_checkout
231986                     False When checking out the local branch, the state  will
231987                     fail if there are unwritten changes. Set this argument to
231988                     True to discard unwritten changes when checking out.
231989
231990              force_clone
231991                     False If the target directory exists and  is  not  a  git
231992                     repository,  then this state will fail. Set this argument
231993                     to True to remove the contents of  the  target  directory
231994                     and clone the repo into it.
231995
231996              force_fetch
231997                     False  If a fetch needs to be performed, non-fast-forward
231998                     fetches will cause this state to fail. Set this  argument
231999                     to  True to force the fetch even if it is a non-fast-for‐
232000                     ward update.
232001
232002                     New in version 2015.8.0.
232003
232004
232005              force_reset
232006                     False If the update is not  a  fast-forward,  this  state
232007                     will   fail.  Set  this  argument  to  True  to  force  a
232008                     hard-reset to the remote revision in these cases.
232009
232010                     Changed in version Fluorine: This option can now  be  set
232011                     to  remote-changes,  which will instruct Salt not to dis‐
232012                     card local changes if the repo  is  up-to-date  with  the
232013                     remote repository.
232014
232015
232016              submodules
232017                     False Update submodules on clone or branch change
232018
232019              bare   False Set to True if the repository is to be a bare clone
232020                     of the remote repository.
232021
232022              mirror Set to True if the repository is to be a  mirror  of  the
232023                     remote  repository.  This  implies that bare set to True,
232024                     and thus is incompatible with rev.
232025
232026              remote origin Git remote to use. If this state  needs  to  clone
232027                     the  repo,  it will clone it using this value as the ini‐
232028                     tial remote name. If the repository already exists, and a
232029                     remote by this name is not present, one will be added.
232030
232031              fetch_tags
232032                     True  If  True,  then  when a fetch is performed all tags
232033                     will be fetched, even those which are  not  reachable  by
232034                     any branch on the remote.
232035
232036              sync_tags
232037                     True  If  True, then Salt will delete tags which exist in
232038                     the local clone but are not found on the  remote  reposi‐
232039                     tory.
232040
232041                     New in version 2018.3.4.
232042
232043
232044              depth  Defines  depth  in  history when git a clone is needed in
232045                     order to ensure latest. E.g.  depth:  1  is  useful  when
232046                     deploying  from a repository with a long history. Use rev
232047                     to specify branch or tag. This  is  not  compatible  with
232048                     revision IDs.
232049
232050                     Changed  in  version  Fluorine:  This option now supports
232051                     tags as well as branches, on Git 1.8.0 and newer.
232052
232053
232054              identity
232055                     Path to a private key to use for ssh URLs.  This  can  be
232056                     either  a  single string, or a list of strings. For exam‐
232057                     ple:
232058
232059                        # Single key
232060                        git@github.com:user/repo.git:
232061                          git.latest:
232062                            - user: deployer
232063                            - identity: /home/deployer/.ssh/id_rsa
232064
232065                        # Two keys
232066                        git@github.com:user/repo.git:
232067                          git.latest:
232068                            - user: deployer
232069                            - identity:
232070                              - /home/deployer/.ssh/id_rsa
232071                              - /home/deployer/.ssh/id_rsa_alternate
232072
232073                     If multiple  keys  are  specified,  they  will  be  tried
232074                     one-by-one  in  order for each git command which needs to
232075                     authenticate.
232076
232077                     WARNING:
232078                        Unless  Salt  is  invoked  from   the   minion   using
232079                        salt-call,  the  key(s)  must  be  passphraseless. For
232080                        greater security with passphraseless private keys, see
232081                        the  sshd(8)  manpage  for information on securing the
232082                        keypair from the remote side  in  the  authorized_keys
232083                        file.
232084
232085                     Changed  in version 2015.8.7: Salt will no longer attempt
232086                     to use passphrase-protected keys unless invoked from  the
232087                     minion  using  salt-call, to prevent blocking waiting for
232088                     user input.
232089
232090
232091                     Changed in version 2016.3.0: Key can now be specified  as
232092                     a  SaltStack  fileserver  URL (e.g.  salt://path/to/iden‐
232093                     tity_file).
232094
232095
232096              https_user
232097                     HTTP Basic Auth username for HTTPS (only) clones
232098
232099                     New in version 2015.5.0.
232100
232101
232102              https_pass
232103                     HTTP Basic Auth password for HTTPS (only) clones
232104
232105                     New in version 2015.5.0.
232106
232107
232108              onlyif A command to run as a check, run the named  command  only
232109                     if the command passed to the onlyif option returns true
232110
232111              unless A  command  to run as a check, only run the named command
232112                     if the command passed to the unless option returns false
232113
232114              refspec_branch
232115                     * A glob expression defining which branches  to  retrieve
232116                     when  fetching.  See git-fetch(1) for more information on
232117                     how refspecs work.
232118
232119                     New in version 2017.7.0.
232120
232121
232122              refspec_tag
232123                     * A glob expression defining which tags to retrieve  when
232124                     fetching.  See  git-fetch(1)  for more information on how
232125                     refspecs work.
232126
232127                     New in version 2017.7.0.
232128
232129
232130              output_encoding
232131                     Use this option to  specify  which  encoding  to  use  to
232132                     decode  the  output  from any git commands which are run.
232133                     This should not be needed in most cases.
232134
232135                     NOTE:
232136                        This should only be needed if the files in the reposi‐
232137                        tory  were  created  with  filenames using an encoding
232138                        other than UTF-8 to handle Unicode characters.
232139
232140                     New in version 2018.3.1.
232141
232142
232143              NOTE:
232144                 Clashing ID declarations can be avoided when  including  dif‐
232145                 ferent  branches from the same git repository in the same SLS
232146                 file by using the name argument. The example below checks out
232147                 the gh-pages and gh-pages-prod branches from the same reposi‐
232148                 tory into separate directories. The example also sets up  the
232149                 ssh_known_hosts ssh key required to perform the git checkout.
232150
232151                 Also, it has been reported that the SCP-like syntax for
232152
232153                     gitlab.example.com:
232154                       ssh_known_hosts:
232155                         - present
232156                         - user: root
232157                         - enc: ecdsa
232158                         - fingerprint: 4e:94:b0:54:c1:5b:29:a2:70:0e:e1:a3:51:ee:ee:e3
232159
232160                     git-website-staging:
232161                       git.latest:
232162                         - name: git@gitlab.example.com:user/website.git
232163                         - rev: gh-pages
232164                         - target: /usr/share/nginx/staging
232165                         - identity: /root/.ssh/website_id_rsa
232166                         - require:
232167                           - pkg: git
232168                           - ssh_known_hosts: gitlab.example.com
232169
232170                     git-website-staging:
232171                       git.latest:
232172                         - name: git@gitlab.example.com:user/website.git
232173                         - rev: gh-pages
232174                         - target: /usr/share/nginx/staging
232175                         - identity: salt://website/id_rsa
232176                         - require:
232177                           - pkg: git
232178                           - ssh_known_hosts: gitlab.example.com
232179
232180                     git-website-prod:
232181                       git.latest:
232182                         - name: git@gitlab.example.com:user/website.git
232183                         - rev: gh-pages-prod
232184                         - target: /usr/share/nginx/prod
232185                         - identity: /root/.ssh/website_id_rsa
232186                         - require:
232187                           - pkg: git
232188                           - ssh_known_hosts: gitlab.example.com
232189
232190       salt.states.git.mod_run_check(cmd_kwargs, onlyif, unless)
232191              Execute the onlyif and unless logic. Return a result dict if:
232192
232193              · onlyif failed (onlyif != 0)
232194
232195              · unless succeeded (unless == 0)
232196
232197              Otherwise, returns True
232198
232199       salt.states.git.present(name,  force=False,  bare=True,  template=None,
232200       separate_git_dir=None,  shared=None,  user=None,  password=None,   out‐
232201       put_encoding=None)
232202              Ensure that a repository exists in the given directory
232203
232204              WARNING:
232205                 If  the minion has Git 2.5 or later installed, name points to
232206                 a worktree, and force is set to True, then the worktree  will
232207                 be deleted. This has been corrected in Salt 2015.8.0.
232208
232209              name   Path to the directory
232210
232211                     Changed  in version 2015.8.0: This path must now be abso‐
232212                     lute
232213
232214
232215              force  False If True, and if name points to an  existing  direc‐
232216                     tory  which  does  not contain a git repository, then the
232217                     contents of that directory will  be  recursively  removed
232218                     and a new repository will be initialized in its place.
232219
232220              bare   True  If True, and a repository must be initialized, then
232221                     the repository will be a bare repository.
232222
232223                     NOTE:
232224                        This differs from the default  behavior  of  git.init,
232225                        make sure to set this value to False if a bare repo is
232226                        not desired.
232227
232228              template
232229                     If a new repository is initialized,  this  argument  will
232230                     specify an alternate template directory.
232231
232232                     New in version 2015.8.0.
232233
232234
232235              separate_git_dir
232236                     If  a  new  repository is initialized, this argument will
232237                     specify an alternate $GIT_DIR
232238
232239                     New in version 2015.8.0.
232240
232241
232242              shared Set sharing permissions on git repo. See git-init(1)  for
232243                     more details.
232244
232245                     New in version 2015.5.0.
232246
232247
232248              user   User  under  which  to run git commands. By default, com‐
232249                     mands are run by the user under which the minion is  run‐
232250                     ning.
232251
232252                     New in version 0.17.0.
232253
232254
232255              password
232256                        Windows  only.  Required  when  specifying  user. This
232257                        parameter will be ignored on non-Windows platforms.
232258
232259                     New in version 2016.3.4.
232260
232261
232262              output_encoding
232263                     Use this option to  specify  which  encoding  to  use  to
232264                     decode  the  output  from any git commands which are run.
232265                     This should not be needed in most cases.
232266
232267                     NOTE:
232268                        This should only be needed if the files in the reposi‐
232269                        tory  were  created  with  filenames using an encoding
232270                        other than UTF-8 to handle Unicode characters.
232271
232272                     New in version 2018.3.1.
232273
232274
232275   salt.states.github module
232276       Github User State Module
232277
232278       New in version 2016.3.0..
232279
232280
232281       This state is used to ensure presence of users in the Organization.
232282
232283          ensure user test is present in github:
232284              github.present:
232285                  - name: 'Example TestUser1'
232286                  - email: example@domain.com
232287                  - username: 'gitexample'
232288
232289       salt.states.github.absent(name, profile=u'github', **kwargs)
232290              Ensure a github user is absent
232291
232292                 ensure user test is absent in github:
232293                     github.absent:
232294                         - name: 'Example TestUser1'
232295                         - email: example@domain.com
232296                         - username: 'gitexample'
232297
232298              The following parameters are required:
232299
232300              name   Github handle of the user in organization
232301
232302       salt.states.github.present(name, profile=u'github', **kwargs)
232303              Ensure a user is present
232304
232305                 ensure user test is present in github:
232306                     github.present:
232307                         - name: 'gitexample'
232308
232309              The following parameters are required:
232310
232311              name   This is the github handle of the user in the organization
232312
232313       salt.states.github.repo_absent(name, profile=u'github', **kwargs)
232314              Ensure a repo is absent.
232315
232316              Example:
232317
232318                 ensure repo test is absent in github:
232319                     github.repo_absent:
232320                         - name: 'test'
232321
232322              The following parameters are required:
232323
232324              name   This is the name of the repository in the organization.
232325
232326              New in version 2016.11.0.
232327
232328
232329       salt.states.github.repo_present(name, description=None,  homepage=None,
232330       private=None,   has_issues=None,   has_wiki=None,   has_downloads=None,
232331       auto_init=False,    gitignore_template=None,     license_template=None,
232332       teams=None, profile=u'github', **kwargs)
232333              Ensure a repository is present
232334
232335              name   This is the name of the repository.
232336
232337              description
232338                     The description of the repository.
232339
232340              homepage
232341                     The URL with more information about the repository.
232342
232343              private
232344                     The visiblity of the repository. Note that private repos‐
232345                     itories require a paid GitHub account.
232346
232347              has_issues
232348                     Whether to enable issues for this repository.
232349
232350              has_wiki
232351                     Whether to enable the wiki for this repository.
232352
232353              has_downloads
232354                     Whether to enable downloads for this repository.
232355
232356              auto_init
232357                     Whether to create an initial commit with an empty README.
232358
232359              gitignore_template
232360                     The desired language or platform for  a  .gitignore,  e.g
232361                     "Haskell".
232362
232363              license_template
232364                     The  desired  LICENSE  template  to  apply,  e.g "mit" or
232365                     "mozilla".
232366
232367              teams  The teams for which this repo should belong to, specified
232368                     as  a  dict of team name to permission ('pull', 'push' or
232369                     'admin').
232370
232371                     New in version 2017.7.0.
232372
232373
232374              Example:
232375
232376                 Ensure repo my-repo is present in github:
232377                     github.repo_present:
232378                         - name: 'my-repo'
232379                         - description: 'My very important repository'
232380
232381              New in version 2016.11.0.
232382
232383
232384       salt.states.github.team_absent(name, profile=u'github', **kwargs)
232385              Ensure a team is absent.
232386
232387              Example:
232388
232389                 ensure team test is present in github:
232390                     github.team_absent:
232391                         - name: 'test'
232392
232393              The following parameters are required:
232394
232395              name   This is the name of the team in the organization.
232396
232397              New in version 2016.11.0.
232398
232399
232400       salt.states.github.team_present(name,                 description=None,
232401       repo_names=None,  privacy=u'secret',  permission=u'pull', members=None,
232402       enforce_mfa=False, no_mfa_grace_seconds=0, profile=u'github', **kwargs)
232403              Ensure a team is present
232404
232405              name   This is the name of the team in the organization.
232406
232407              description
232408                     The description of the team.
232409
232410              repo_names
232411                     The names of repositories to add the team to.
232412
232413              privacy
232414                     The level of privacy for the team,  can  be  'secret'  or
232415                     'closed'. Defaults to secret.
232416
232417              permission
232418                     The  default permission for new repositories added to the
232419                     team, can be 'pull', 'push' or 'admin'. Defaults to pull.
232420
232421              members
232422                     The members belonging to the team, specified as a dict of
232423                     member  name  to  optional configuration. Options include
232424                     'enforce_mfa_from' and 'mfa_exempt'.
232425
232426              enforce_mfa
232427                     Whether to enforce MFA requirements  on  members  of  the
232428                     team.  If  True then all members without mfa_exempt: True
232429                     configured will be  removed  from  the  team.  Note  that
232430                     no_mfa_grace_seconds  may be set to allow members a grace
232431                     period.
232432
232433              no_mfa_grace_seconds
232434                     The number of seconds of grace time that  a  member  will
232435                     have  to  enable  MFA before being removed from the team.
232436                     The grace period will begin from enforce_mfa_from on  the
232437                     member configuration, which defaults to 1970/01/01.
232438
232439              Example:
232440
232441                 Ensure team test is present in github:
232442                     github.team_present:
232443                         - name: 'test'
232444                         - members:
232445                             user1: {}
232446                             user2: {}
232447
232448                 Ensure team test_mfa is present in github:
232449                     github.team_present:
232450                         - name: 'test_mfa'
232451                         - members:
232452                             user1:
232453                                 enforce_mfa_from: 2016/06/15
232454                         - enforce_mfa: True
232455
232456              New in version 2016.11.0.
232457
232458
232459   salt.states.glance
232460   Managing Images in OpenStack Glance
232461       salt.states.glance.image_present(name,    visibility=u'public',    pro‐
232462       tected=None,    checksum=None,    location=None,    disk_format=u'raw',
232463       wait_for=None, timeout=30)
232464              Checks  if  given image is present with properties set as speci‐
232465              fied.
232466
232467              An image should got through the stages 'queued', 'saving' before
232468              becoming  'active'. The attribute 'checksum' can only be checked
232469              once the image is active.  If you don't specify  'wait_for'  but
232470              'checksum' the function will wait for the image to become active
232471              before comparing checksums. If you don't specify checksum either
232472              the  function  will return when the image reached 'saving'.  The
232473              default timeout for both is 30 seconds.
232474
232475              Supported properties:
232476
232477                     · visibility ('public' or 'private')
232478
232479                     · protected (bool)
232480
232481                     · checksum (string, md5sum)
232482
232483                     · location (URL, to copy from)
232484
232485                     · disk_format ('raw' (default),  'vhd',  'vhdx',  'vmdk',
232486                       'vdi', 'iso', 'qcow2', 'aki', 'ari' or 'ami')
232487
232488   salt.states.glance_image
232489   Management of OpenStack Glance Images
232490       New in version 2018.3.0.
232491
232492
232493       depends
232494              shade
232495
232496       configuration
232497              see salt.modules.glanceng for setup instructions
232498
232499       Example States
232500
232501          create image:
232502            glance_image.present:
232503              - name: cirros
232504              - filename: cirros.raw
232505              - image_format: raw
232506
232507          delete image:
232508            glance_image.absent:
232509              - name: cirros
232510
232511       salt.states.glance_image.absent(name, auth=None)
232512              Ensure image does not exist
232513
232514              name   Name of the image
232515
232516       salt.states.glance_image.present(name, auth=None, **kwargs)
232517              Ensure image exists and is up-to-date
232518
232519              name   Name of the image
232520
232521              enabled
232522                     Boolean to control if image is enabled
232523
232524              description
232525                     An arbitrary description of the image
232526
232527   salt.states.glusterfs
232528       Manage GlusterFS pool.
232529
232530       salt.states.glusterfs.add_volume_bricks(name, bricks)
232531              Add brick(s) to an existing volume
232532
232533              name   Volume name
232534
232535              bricks List of bricks to add to the volume
232536
232537                 myvolume:
232538                   glusterfs.add_volume_bricks:
232539                     - bricks:
232540                         - host1:/srv/gluster/drive1
232541                         - host2:/srv/gluster/drive2
232542
232543                 Replicated Volume:
232544                   glusterfs.add_volume_bricks:
232545                     - name: volume2
232546                     - bricks:
232547                       - host1:/srv/gluster/drive2
232548                       - host2:/srv/gluster/drive3
232549
232550       salt.states.glusterfs.max_op_version(name)
232551              New in version Fluorine.
232552
232553
232554              Add brick(s) to an existing volume
232555
232556              name   Volume name
232557
232558                 myvolume:
232559                   glusterfs.max_op_version:
232560                     - name: volume1
232561                     - version: 30707
232562
232563       salt.states.glusterfs.op_version(name, version)
232564              New in version Fluorine.
232565
232566
232567              Add brick(s) to an existing volume
232568
232569              name   Volume name
232570
232571              version
232572                     Version to which the cluster.op-version should be set
232573
232574                 myvolume:
232575                   glusterfs.op_version:
232576                     - name: volume1
232577                     - version: 30707
232578
232579       salt.states.glusterfs.peered(name)
232580              Check if node is peered.
232581
232582              name   The remote host with which to peer.
232583
232584                 peer-cluster:
232585                   glusterfs.peered:
232586                     - name: two
232587
232588                 peer-clusters:
232589                   glusterfs.peered:
232590                     - names:
232591                       - one
232592                       - two
232593                       - three
232594                       - four
232595
232596       salt.states.glusterfs.started(name)
232597              Check if volume has been started
232598
232599              name   name of the volume
232600
232601                 mycluster:
232602                   glusterfs.started: []
232603
232604       salt.states.glusterfs.volume_present(name,     bricks,    stripe=False,
232605       replica=False,    device_vg=False,    transport=u'tcp',    start=False,
232606       force=False, arbiter=False)
232607              Ensure that the volume exists
232608
232609              name   name of the volume
232610
232611              bricks list of brick paths
232612
232613              replica
232614                     replica count for volume
232615
232616              arbiter
232617                     use every third brick as arbiter (metadata only)
232618
232619                     New in version Fluorine.
232620
232621
232622              start  ensure that the volume is also started
232623
232624                 myvolume:
232625                   glusterfs.volume_present:
232626                     - bricks:
232627                         - host1:/srv/gluster/drive1
232628                         - host2:/srv/gluster/drive2
232629
232630                 Replicated Volume:
232631                   glusterfs.volume_present:
232632                     - name: volume2
232633                     - bricks:
232634                       - host1:/srv/gluster/drive2
232635                       - host2:/srv/gluster/drive3
232636                     - replica: 2
232637                     - start: True
232638
232639                 Replicated Volume with arbiter brick:
232640                   glusterfs.volume_present:
232641                     - name: volume3
232642                     - bricks:
232643                       - host1:/srv/gluster/drive2
232644                       - host2:/srv/gluster/drive3
232645                       - host3:/srv/gluster/drive4
232646                     - replica: 3
232647                     - arbiter: True
232648                     - start: True
232649
232650   salt.states.gnomedesktop
232651   Configuration of the GNOME desktop
232652       Control the GNOME settings
232653
232654          localdesktop_wm_prefs:
232655              gnomedesktop.wm_preferences:
232656                  - user: username
232657                  - audible_bell: false
232658                  - action_double_click_titlebar: 'toggle-maximize'
232659                  - visual_bell: true
232660                  - num_workspaces: 6
232661          localdesktop_lockdown:
232662              gnomedesktop.desktop_lockdown:
232663                  - user: username
232664                  - disable_user_switching: true
232665          localdesktop_interface:
232666              gnomedesktop.desktop_interface:
232667                  - user: username
232668                  - clock_show_date: true
232669                  - clock_format: 12h
232670
232671       salt.states.gnomedesktop.desktop_interface(name,    user=None,    auto‐
232672       matic_mnemonics=None, buttons_have_icons=None,  can_change_accels=None,
232673       clock_format=None,  clock_show_date=None, clock_show_seconds=None, cur‐
232674       sor_blink=None, cursor_blink_time=None, cursor_blink_timeout=None, cur‐
232675       sor_size=None,  cursor_theme=None, document_font_name=None, enable_ani‐
232676       mations=None,          font_name=None,          gtk_color_palette=None,
232677       gtk_color_scheme=None,  gtk_im_module=None,  gtk_im_preedit_style=None,
232678       gtk_im_status_style=None, gtk_key_theme=None, gtk_theme=None, gtk_time‐
232679       out_initial=None,       gtk_timeout_repeat=None,       icon_theme=None,
232680       menubar_accel=None,   menubar_detachable=None,   menus_have_icons=None,
232681       menus_have_tearoff=None,                      monospace_font_name=None,
232682       show_input_method_menu=None, show_unicode_menu=None,  text_scaling_fac‐
232683       tor=None,   toolbar_detachable=None,   toolbar_icons_size=None,   tool‐
232684       bar_style=None, toolkit_accessibility=None, **kwargs)
232685              desktop_interface: sets values in  the  org.gnome.desktop.inter‐
232686              face schema
232687
232688       salt.states.gnomedesktop.desktop_lockdown(name,     user=None,     dis‐
232689       able_application_handlers=None,     disable_command_line=None,     dis‐
232690       able_lock_screen=None,  disable_log_out=None, disable_print_setup=None,
232691       disable_printing=None, disable_save_to_disk=None,  disable_user_switch‐
232692       ing=None, user_administration_disabled=None, **kwargs)
232693              desktop_lockdown:  sets values in the org.gnome.desktop.lockdown
232694              schema
232695
232696       salt.states.gnomedesktop.wm_preferences(name,  user=None,   action_dou‐
232697       ble_click_titlebar=None,             action_middle_click_titlebar=None,
232698       action_right_click_titlebar=None,     application_based=None,     audi‐
232699       ble_bell=None,   auto_raise=None,   auto_raise_delay=None,  button_lay‐
232700       out=None,  disable_workarounds=None,  focus_mode=None,   focus_new_win‐
232701       dows=None,       mouse_button_modifier=None,       num_workspaces=None,
232702       raise_on_click=None, resize_with_right_button=None, theme=None,  title‐
232703       bar_font=None,  titlebar_uses_system_font=None,  visual_bell=None, vis‐
232704       ual_bell_type=None, workspace_names=None, **kwargs)
232705              wm_preferences: sets values in the  org.gnome.desktop.wm.prefer‐
232706              ences schema
232707
232708   salt.states.gpg module
232709   Management of the GPG keychains
232710       New in version 2016.3.0.
232711
232712
232713       salt.states.gpg.absent(name,   keys=None,   user=None,  gnupghome=None,
232714       **kwargs)
232715              Ensure GPG public key is absent in keychain
232716
232717              name   The unique name or keyid for the GPG public key.
232718
232719              keys   The keyId or keyIds to add to the GPG keychain.
232720
232721              user   Remove GPG keys from the specified user's keychain
232722
232723              gnupghome
232724                     Override GNUPG Home directory
232725
232726       salt.states.gpg.present(name,  keys=None,  user=None,   keyserver=None,
232727       gnupghome=None, trust=None, **kwargs)
232728              Ensure GPG public key is present in keychain
232729
232730              name   The unique name or keyid for the GPG public key.
232731
232732              keys   The keyId or keyIds to add to the GPG keychain.
232733
232734              user   Add GPG keys to the specified user's keychain
232735
232736              keyserver
232737                     The keyserver to retrieve the keys from.
232738
232739              gnupghome
232740                     Override GNUPG Home directory
232741
232742              trust  Trust  level  for  the  key  in  the keychain, ignored by
232743                     default.    Valid   trust   levels:   expired,   unknown,
232744                     not_trusted, marginally, fully, ultimately
232745
232746   salt.states.grafana
232747       Manage Grafana Dashboards
232748
232749       This  module uses elasticsearch, which can be installed via package, or
232750       pip.
232751
232752       You can specify elasticsearch hosts directly to the module, or you  can
232753       use an elasticsearch profile via pillars:
232754
232755          mygrafanaprofile:
232756            hosts:
232757              - es1.example.com:9200
232758              - es2.example.com:9200
232759            index: grafana-dash
232760
232761          # Basic usage (uses default pillar profile key 'grafana')
232762          Ensure myservice dashboard is managed:
232763            grafana.dashboard_present:
232764              - name: myservice
232765              - dashboard_from_pillar: default
232766              - rows_from_pillar:
232767                  - systemhealth
232768                  - requests
232769
232770          # Passing hosts in
232771          Ensure myservice dashboard is managed:
232772            grafana.dashboard_present:
232773              - name: myservice
232774              - dashboard_from_pillar: default
232775              - rows:
232776                  - collapse: false
232777                    editable: true
232778                    height: 150px
232779                    title: System Health
232780                    panels:
232781                      - aliasColors: {}
232782                        id: 200000
232783                        annotate:
232784                          enable: false
232785                        bars: false
232786                        datasource: null
232787                        editable: true
232788                        error: false
232789                        fill: 7
232790                        grid:
232791                          leftMax: 100
232792                          leftMin: null
232793                          rightMax: null
232794                          rightMin: null
232795                          threshold1: 60
232796                          threshold1Color: rgb(216, 27, 27)
232797                          threshold2: null
232798                          threshold2Color: rgba(234, 112, 112, 0.22)
232799                        leftYAxisLabel: ''
232800                        legend:
232801                          avg: false
232802                          current: false
232803                          max: false
232804                          min: false
232805                          show: false
232806                          total: false
232807                          values: false
232808                        lines: true
232809                        linewidth: 1
232810                        nullPointMode: connected
232811                        percentage: false
232812                        pointradius: 5
232813                        points: false
232814                        renderer: flot
232815                        resolution: 100
232816                        scale: 1
232817                        seriesOverrides: []
232818                        span: 4
232819                        stack: false
232820                        steppedLine: false
232821                        targets:
232822                          - target: cloudwatch.aws.ec2.mysrv.cpuutilization.average
232823                        title: CPU (asg average)
232824                        tooltip:
232825                          query_as_alias: true
232826                          shared: false
232827                          value_type: cumulative
232828                        type: graph
232829                        x-axis: true
232830                        y-axis: true
232831                        y_formats:
232832                          - short
232833                          - short
232834                        zerofill: true
232835              - rows_from_pillar:
232836                - systemhealth
232837                - requests
232838              - profile:
232839                  hosts:
232840                    - es1.example.com:9200
232841                    - es2.example.com:9200
232842                  index: grafana-dash
232843
232844          # Using a profile from pillars
232845          Ensure myservice dashboard is managed:
232846            grafana.dashboard_present:
232847              - name: myservice
232848              - dashboard:
232849                  annotations:
232850                    enable: true
232851                    list: []
232852                  editable: true
232853                  hideAllLegends: false
232854                  hideControls: false
232855                  nav:
232856                    - collapse: false
232857                      enable: true
232858                      notice: false
232859                      now: true
232860                      refresh_intervals:
232861                        - 10s
232862                        - 30s
232863                        - 1m
232864                        - 5m
232865                        - 15m
232866                        - 30m
232867                        - 1h
232868                        - 2h
232869                        - 1d
232870                      status: Stable
232871                      time_options:
232872                        - 5m
232873                        - 15m
232874                        - 1h
232875                        - 2h
232876                        - 3h
232877                        - 4h
232878                        - 6h
232879                        - 12h
232880                        - 1d
232881                        - 2d
232882                        - 4d
232883                        - 7d
232884                        - 16d
232885                        - 30d
232886                      type: timepicker
232887                  originalTitle: dockerregistry
232888                  refresh: 1m
232889                  rows: []
232890                  sharedCrosshair: false
232891                  style: dark
232892                  tags: []
232893                  templating:
232894                    enable: true
232895                    list: []
232896                  time:
232897                    from: now-2h
232898                    to: now
232899                  timezone: browser
232900              - rows_from_pillars:
232901                - systemhealth
232902                - requests
232903              - profile: mygrafanaprofile
232904
232905       The  behavior  of  this  module  is to create dashboards if they do not
232906       exist, to add rows if they do not exist in existing dashboards, and  to
232907       update  rows  if  they  exist in dashboards. The module will not manage
232908       rows that are not defined, allowing users to manage  their  own  custom
232909       rows.
232910
232911       salt.states.grafana.dashboard_absent(name,       hosts=None,       pro‐
232912       file=u'grafana')
232913              Ensure the named grafana dashboard is deleted.
232914
232915              name   Name of the grafana dashboard.
232916
232917              profile
232918                     A pillar key or dict that contains a list of hosts and an
232919                     elasticsearch index to use.
232920
232921       salt.states.grafana.dashboard_present(name,    dashboard=None,    dash‐
232922       board_from_pillar=None,    rows=None,    rows_from_pillar=None,    pro‐
232923       file=u'grafana')
232924              Ensure the grafana dashboard exists and is managed.
232925
232926              name   Name of the grafana dashboard.
232927
232928              dashboard
232929                     A dict that defines a dashboard that should be managed.
232930
232931              dashboard_from_pillar
232932                     A  pillar  key  that  contains  a grafana dashboard dict.
232933                     Mutually exclusive with dashboard.
232934
232935              rows   A list of grafana rows.
232936
232937              rows_from_pillar
232938                     A list of pillar keys that contain lists of grafana dash‐
232939                     board rows.  Rows defined in the pillars will be appended
232940                     to the rows defined in the state.
232941
232942              profile
232943                     A pillar key or dict that contains a list of hosts and an
232944                     elasticsearch index to use.
232945
232946   salt.states.grafana4_dashboard module
232947       Manage Grafana v4.0 Dashboards
232948
232949       New in version 2017.7.0.
232950
232951
232952       configuration
232953              This  state requires a configuration profile to be configured in
232954              the minion config, minion pillar, or master config.  The  module
232955              will use the 'grafana' key by default, if defined.
232956
232957              Example configuration using basic authentication:
232958
232959                 grafana:
232960                   grafana_url: http://grafana.localhost
232961                   grafana_user: admin
232962                   grafana_password: admin
232963                   grafana_timeout: 3
232964
232965              Example configuration using token based authentication:
232966
232967                 grafana:
232968                   grafana_url: http://grafana.localhost
232969                   grafana_token: token
232970                   grafana_timeout: 3
232971
232972       The  behavior  of  this  module  is to create dashboards if they do not
232973       exist, to add rows if they do not exist in existing dashboards, and  to
232974       update  rows  if  they  exist in dashboards. The module will not manage
232975       rows that are not defined, allowing users to manage  their  own  custom
232976       rows.
232977
232978          Ensure minimum dashboard is managed:
232979            grafana4_dashboard.present:
232980              - name: insightful-dashboard
232981              - base_dashboards_from_pillar:
232982                - default_dashboard
232983              - base_rows_from_pillar:
232984                - default_row
232985              - base_panels_from_pillar:
232986                - default_panel
232987              - dashboard:
232988                  rows:
232989                    - title: Usage
232990                      panels:
232991                        - targets:
232992                            - target: alias(constantLine(50), 'max')
232993                          title: Imaginary
232994                          type: graph
232995
232996       salt.states.grafana4_dashboard.absent(name,      orgname=None,     pro‐
232997       file=u'grafana')
232998              Ensure the named grafana dashboard is absent.
232999
233000              name   Name of the grafana dashboard.
233001
233002              orgname
233003                     Name of the organization in which the dashboard should be
233004                     present.
233005
233006              profile
233007                     Configuration  profile  used  to  connect  to the Grafana
233008                     instance.  Default is 'grafana'.
233009
233010       salt.states.grafana4_dashboard.present(name,  base_dashboards_from_pil‐
233011       lar=None,   base_panels_from_pillar=None,   base_rows_from_pillar=None,
233012       dashboard=None, orgname=None, profile=u'grafana')
233013              Ensure the grafana dashboard exists and is managed.
233014
233015              name   Name of the grafana dashboard.
233016
233017              base_dashboards_from_pillar
233018                     A pillar key  that  contains  a  list  of  dashboards  to
233019                     inherit from
233020
233021              base_panels_from_pillar
233022                     A  pillar  key  that contains a list of panels to inherit
233023                     from
233024
233025              base_rows_from_pillar
233026                     A pillar key that contains a list of rows to inherit from
233027
233028              dashboard
233029                     A dict that defines a dashboard that should be managed.
233030
233031              orgname
233032                     Name of the organization in which the dashboard should be
233033                     present.
233034
233035              profile
233036                     Configuration  profile  used  to  connect  to the Grafana
233037                     instance.  Default is 'grafana'.
233038
233039   salt.states.grafana4_datasource module
233040       Manage Grafana v4.0 data sources
233041
233042       New in version 2017.7.0.
233043
233044
233045       configuration
233046              This state requires a configuration profile to be configured  in
233047              the  minion  config, minion pillar, or master config. The module
233048              will use the 'grafana' key by default, if defined.
233049
233050              Example configuration using basic authentication:
233051
233052                 grafana:
233053                   grafana_url: http://grafana.localhost
233054                   grafana_user: admin
233055                   grafana_password: admin
233056                   grafana_timeout: 3
233057
233058              Example configuration using token based authentication:
233059
233060                 grafana:
233061                   grafana_url: http://grafana.localhost
233062                   grafana_token: token
233063                   grafana_timeout: 3
233064
233065       The behavior of this module is to create data sources  if  the  do  not
233066       exists, and to update data sources if the already exists.
233067
233068          Ensure influxdb data source is present:
233069            grafana4_datasource.present:
233070              - name: influxdb
233071              - type: influxdb
233072              - url: http://localhost:8086
233073              - access: proxy
233074              - basic_auth: true
233075              - basic_auth_user: myuser
233076              - basic_auth_password: mypass
233077              - is_default: true
233078
233079       salt.states.grafana4_datasource.absent(name,     orgname=None,     pro‐
233080       file=u'grafana')
233081              Ensure that a data source is present.
233082
233083              name   Name of the data source to remove.
233084
233085              orgname
233086                     Name of the  organization  from  which  the  data  source
233087                     should be absent.
233088
233089              profile
233090                     Configuration  profile  used  to  connect  to the Grafana
233091                     instance.  Default is 'grafana'.
233092
233093       salt.states.grafana4_datasource.present(name, type,  url,  access=None,
233094       user=None,      password=None,      database=None,     basic_auth=None,
233095       basic_auth_user=None,     basic_auth_password=None,      tls_auth=None,
233096       json_data=None,         is_default=None,         with_credentials=None,
233097       type_logo_url=None, orgname=None, profile=u'grafana')
233098              Ensure that a data source is present.
233099
233100              name   Name of the data source.
233101
233102              type   Type of the datasource ('graphite', 'influxdb' etc.).
233103
233104              access Use proxy or direct. Default: proxy
233105
233106              url    The URL to the data source API.
233107
233108              user   Optional - user to authenticate with the data source.
233109
233110              password
233111                     Optional - password to authenticate with the data source.
233112
233113              database
233114                     Optional - database to use with the data source.
233115
233116              basic_auth
233117                     Optional - set to True to use HTTP basic auth to  authen‐
233118                     ticate with the data source.
233119
233120              basic_auth_user
233121                     Optional - HTTP basic auth username.
233122
233123              basic_auth_password
233124                     Optional - HTTP basic auth password.
233125
233126              json_data
233127                     Optional  - additional json data to post (eg. "timeInter‐
233128                     val").
233129
233130              is_default
233131                     Optional - set data source as default.
233132
233133              with_credentials
233134                     Optional - Whether credentials such as  cookies  or  auth
233135                     headers should be sent with cross-site requests.
233136
233137              type_logo_url
233138                     Optional - Logo to use for this datasource.
233139
233140              orgname
233141                     Name  of the organization in which the data source should
233142                     be present.
233143
233144              profile
233145                     Configuration profile used  to  connect  to  the  Grafana
233146                     instance.  Default is 'grafana'.
233147
233148   salt.states.grafana4_org module
233149       Manage Grafana v4.0 orgs
233150
233151       New in version 2017.7.0.
233152
233153
233154       configuration
233155              This  state requires a configuration profile to be configured in
233156              the minion config, minion pillar, or master config.  The  module
233157              will use the 'grafana' key by default, if defined.
233158
233159              Example configuration using basic authentication:
233160
233161                 grafana:
233162                   grafana_url: http://grafana.localhost
233163                   grafana_user: admin
233164                   grafana_password: admin
233165                   grafana_timeout: 3
233166
233167              Example configuration using token based authentication:
233168
233169                 grafana:
233170                   grafana_url: http://grafana.localhost
233171                   grafana_token: token
233172                   grafana_timeout: 3
233173
233174          Ensure foobar org is present:
233175            grafana4_org.present:
233176              - name: foobar
233177              - theme:  ""
233178              - home_dashboard_id: 0
233179              - timezone: "utc"
233180              - address1: ""
233181              - address2: ""
233182              - city: ""
233183              - zip_code: ""
233184              - state: ""
233185              - country: ""
233186
233187       salt.states.grafana4_org.absent(name, profile=u'grafana')
233188              Ensure that a org is present.
233189
233190              name   Name of the org to remove.
233191
233192              profile
233193                     Configuration  profile  used  to  connect  to the Grafana
233194                     instance.  Default is 'grafana'.
233195
233196       salt.states.grafana4_org.present(name,     users=None,      theme=None,
233197       home_dashboard_id=None,  timezone=None,  address1=None,  address2=None,
233198       city=None,  zip_code=None,   address_state=None,   country=None,   pro‐
233199       file=u'grafana')
233200              Ensure that an organization is present.
233201
233202              name   Name of the org.
233203
233204              users  Optional  -  Dict  of  user/role associated with the org.
233205                     Example:
233206
233207                        users:
233208                          foo: Viewer
233209                          bar: Editor
233210
233211              theme  Optional - Selected theme for the org.
233212
233213              home_dashboard_id
233214                     Optional - Home dashboard for the org.
233215
233216              timezone
233217                     Optional - Timezone  for  the  org  (one  of:  "browser",
233218                     "utc", or "").
233219
233220              address1
233221                     Optional - address1 of the org.
233222
233223              address2
233224                     Optional - address2 of the org.
233225
233226              city   Optional - city of the org.
233227
233228              zip_code
233229                     Optional - zip_code of the org.
233230
233231              address_state
233232                     Optional - state of the org.
233233
233234              country
233235                     Optional - country of the org.
233236
233237              profile
233238                     Configuration  profile  used  to  connect  to the Grafana
233239                     instance.  Default is 'grafana'.
233240
233241   salt.states.grafana4_user module
233242       Manage Grafana v4.0 users
233243
233244       New in version 2017.7.0.
233245
233246
233247       configuration
233248              This state requires a configuration profile to be configured  in
233249              the  minion  config, minion pillar, or master config. The module
233250              will use the 'grafana' key by default, if defined.
233251
233252              Example configuration using basic authentication:
233253
233254                 grafana:
233255                   grafana_url: http://grafana.localhost
233256                   grafana_user: admin
233257                   grafana_password: admin
233258                   grafana_timeout: 3
233259
233260              Example configuration using token based authentication:
233261
233262                 grafana:
233263                   grafana_url: http://grafana.localhost
233264                   grafana_token: token
233265                   grafana_timeout: 3
233266
233267          Ensure foobar user is present:
233268            grafana4_user.present:
233269              - name: foobar
233270              - password: mypass
233271              - email: "foobar@localhost"
233272              - fullname: Foo Bar
233273              - is_admin: true
233274
233275       salt.states.grafana4_user.absent(name, profile=u'grafana')
233276              Ensure that a user is present.
233277
233278              name   Name of the user to remove.
233279
233280              profile
233281                     Configuration profile used  to  connect  to  the  Grafana
233282                     instance.  Default is 'grafana'.
233283
233284       salt.states.grafana4_user.present(name,         password,        email,
233285       is_admin=False, fullname=None, theme=None, profile=u'grafana')
233286              Ensure that a user is present.
233287
233288              name   Name of the user.
233289
233290              password
233291                     Password of the user.
233292
233293              email  Email of the user.
233294
233295              is_admin
233296                     Optional - Set user as admin user. Default: False
233297
233298              fullname
233299                     Optional - Full name of the user.
233300
233301              theme  Optional - Selected theme of the user.
233302
233303              profile
233304                     Configuration profile used  to  connect  to  the  Grafana
233305                     instance.  Default is 'grafana'.
233306
233307   salt.states.grafana_dashboard module
233308       Manage Grafana v2.0 Dashboards
233309
233310       New in version 2016.3.0.
233311
233312
233313          grafana:
233314            grafana_timeout: 3
233315            grafana_token: qwertyuiop
233316            grafana_url: 'https://url.com'
233317
233318          Ensure minimum dashboard is managed:
233319            grafana_dashboard.present:
233320              - name: insightful-dashboard
233321              - base_dashboards_from_pillar:
233322                - default_dashboard
233323              - base_rows_from_pillar:
233324                - default_row
233325              - base_panels_from_pillar:
233326                - default_panel
233327              - dashboard:
233328                  rows:
233329                    - title: Usage
233330                      panels:
233331                        - targets:
233332                            - target: alias(constantLine(50), 'max')
233333                          title: Imaginary
233334                          type: graph
233335
233336       The  behavior  of  this  module  is to create dashboards if they do not
233337       exist, to add rows if they do not exist in existing dashboards, and  to
233338       update  rows  if  they  exist in dashboards. The module will not manage
233339       rows that are not defined, allowing users to manage  their  own  custom
233340       rows.
233341
233342       salt.states.grafana_dashboard.absent(name, profile=u'grafana')
233343              Ensure the named grafana dashboard is absent.
233344
233345              name   Name of the grafana dashboard.
233346
233347              profile
233348                     A pillar key or dict that contains grafana information
233349
233350       salt.states.grafana_dashboard.present(name,   base_dashboards_from_pil‐
233351       lar=None,   base_panels_from_pillar=None,   base_rows_from_pillar=None,
233352       dashboard=None, profile=u'grafana')
233353              Ensure the grafana dashboard exists and is managed.
233354
233355              name   Name of the grafana dashboard.
233356
233357              base_dashboards_from_pillar
233358                     A  pillar  key  that  contains  a  list  of dashboards to
233359                     inherit from
233360
233361              base_panels_from_pillar
233362                     A pillar key that contains a list of  panels  to  inherit
233363                     from
233364
233365              base_rows_from_pillar
233366                     A pillar key that contains a list of rows to inherit from
233367
233368              dashboard
233369                     A dict that defines a dashboard that should be managed.
233370
233371              profile
233372                     A pillar key or dict that contains grafana information
233373
233374   salt.states.grafana_datasource module
233375       Manage Grafana v2.0 data sources
233376
233377       New in version 2016.3.0.
233378
233379
233380          grafana:
233381            grafana_timeout: 3
233382            grafana_token: qwertyuiop
233383            grafana_url: 'https://url.com'
233384
233385          Ensure influxdb data source is present:
233386            grafana_datasource.present:
233387              - name: influxdb
233388              - type: influxdb
233389              - url: http://localhost:8086
233390              - access: proxy
233391              - basic_auth: true
233392              - basic_auth_user: myuser
233393              - basic_auth_password: mypass
233394              - is_default: true
233395
233396       salt.states.grafana_datasource.absent(name, profile=u'grafana')
233397              Ensure that a data source is present.
233398
233399              name   Name of the data source to remove.
233400
233401       salt.states.grafana_datasource.present(name,         type,         url,
233402       access=u'proxy',      user=u'',       password=u'',       database=u'',
233403       basic_auth=False,     basic_auth_user=u'',     basic_auth_password=u'',
233404       is_default=False, json_data=None, profile=u'grafana')
233405              Ensure that a data source is present.
233406
233407              name   Name of the data source.
233408
233409              type   Which type of data source it is  ('graphite',  'influxdb'
233410                     etc.).
233411
233412              url    The URL to the data source API.
233413
233414              user   Optional - user to authenticate with the data source
233415
233416              password
233417                     Optional - password to authenticate with the data source
233418
233419              basic_auth
233420                     Optional  - set to True to use HTTP basic auth to authen‐
233421                     ticate with the data source.
233422
233423              basic_auth_user
233424                     Optional - HTTP basic auth username.
233425
233426              basic_auth_password
233427                     Optional - HTTP basic auth password.
233428
233429              is_default
233430                     Default: False
233431
233432   salt.states.grains
233433   Manage grains on the minion
233434       This state allows for grains to be set.
233435
233436       Grains set or altered with this module are stored in the 'grains'  file
233437       on the minions, By default, this file is located at: /etc/salt/grains
233438
233439       NOTE:
233440          This does NOT override any grains set in the minion config file.
233441
233442       salt.states.grains.absent(name,    destructive=False,    delimiter=':',
233443       force=False)
233444              New in version 2014.7.0.
233445
233446
233447              Delete a grain from the grains config file
233448
233449              name   The grain name
233450
233451              destructive
233452                     If destructive is  True,  delete  the  entire  grain.  If
233453                     destructive  is  False,  set  the  grain's value to None.
233454                     Defaults to False.
233455
233456              force  If force is True, the existing grain will be  overwritten
233457                     regardless  of  its  existing  or  provided  value  type.
233458                     Defaults to False
233459
233460                     New in version v2015.8.2.
233461
233462
233463              delimiter
233464                     A delimiter different from the default can be provided.
233465
233466                     New in version v2015.8.2.
233467
233468
233469              Changed in version v2015.8.2.
233470
233471
233472              This state now support nested grains and complex values.  It  is
233473              also more conservative: if a grain has a value that is a list or
233474              a dict, it will not be removed unless  the  force  parameter  is
233475              True.
233476
233477                 grain_name:
233478                   grains.absent
233479
233480       salt.states.grains.append(name, value, convert=False, delimiter=':')
233481              New in version 2014.7.0.
233482
233483
233484              Append  a  value  to a list in the grains config file. The grain
233485              that is being appended to (name) must exist before the new value
233486              can be added.
233487
233488              name   The grain name
233489
233490              value  The value to append
233491
233492              convert
233493                     If  convert  is  True,  convert  non-list contents into a
233494                     list.   If  convert  is  False  and  the  grain  contains
233495                     non-list contents, an error is given. Defaults to False.
233496
233497              delimiter
233498                     A delimiter different from the default can be provided.
233499
233500                     New in version v2015.8.2.
233501
233502
233503                 grain_name:
233504                   grains.append:
233505                     - value: to_be_appended
233506
233507       salt.states.grains.exists(name, delimiter=':')
233508              Ensure that a grain is set
233509
233510              name   The grain name
233511
233512              delimiter
233513                     A delimiter different from the default can be provided.
233514
233515              Check  whether  a grain exists. Does not attempt to check or set
233516              the value.
233517
233518       salt.states.grains.list_absent(name, value, delimiter=':')
233519              Delete a value from a grain formed as a list.
233520
233521              New in version 2014.1.0.
233522
233523
233524              name   The grain name.
233525
233526              value  The value to delete from the grain list.
233527
233528              delimiter
233529                     A delimiter different from the default : can be provided.
233530
233531                     New in version v2015.8.2.
233532
233533
233534              The grain should be list type
233535
233536                 roles:
233537                   grains.list_absent:
233538                     - value: db
233539
233540              For multiple grains, the syntax looks like:
233541
233542                 roles:
233543                   grains.list_absent:
233544                     - value:
233545                       - web
233546                       - dev
233547
233548       salt.states.grains.list_present(name, value, delimiter=':')
233549              New in version 2014.1.0.
233550
233551
233552              Ensure the value is present in the list-type grain. Note: If the
233553              grain  that  is  provided  in name is not present on the system,
233554              this new grain will be created with the  corresponding  provided
233555              value.
233556
233557              name   The grain name.
233558
233559              value  The value is present in the list type grain.
233560
233561              delimiter
233562                     A delimiter different from the default : can be provided.
233563
233564                     New in version v2015.8.2.
233565
233566
233567              The grain should be list type
233568
233569                 roles:
233570                   grains.list_present:
233571                     - value: web
233572
233573              For multiple grains, the syntax looks like:
233574
233575                 roles:
233576                   grains.list_present:
233577                     - value:
233578                       - web
233579                       - dev
233580
233581       salt.states.grains.present(name, value, delimiter=':', force=False)
233582              Ensure that a grain is set
233583
233584              Changed in version v2015.8.2.
233585
233586
233587              name   The grain name
233588
233589              value  The value to set on the grain
233590
233591              force  If  force is True, the existing grain will be overwritten
233592                     regardless  of  its  existing  or  provided  value  type.
233593                     Defaults to False
233594
233595                     New in version v2015.8.2.
233596
233597
233598              delimiter
233599                     A delimiter different from the default can be provided.
233600
233601                     New in version v2015.8.2.
233602
233603
233604              It  is  now capable to set a grain to a complex value (ie. lists
233605              and dicts) and supports nested grains as well.
233606
233607              If the grain does not yet exist, a new grain is set to the given
233608              value.  For  a  nested  grain, the necessary keys are created if
233609              they don't exist. If a given key is an existing value,  it  will
233610              be converted, but an existing value different from the given key
233611              will fail the state.
233612
233613              If the grain with the given name exists, its value is updated to
233614              the  new  value unless its existing or provided value is complex
233615              (list or dict). Use force: True to overwrite.
233616
233617                 cheese:
233618                   grains.present:
233619                     - value: edam
233620
233621                 nested_grain_with_complex_value:
233622                   grains.present:
233623                     - name: icinga:Apache SSL
233624                     - value:
233625                       - command: check_https
233626                       - params: -H localhost -p 443 -S
233627
233628                 with,a,custom,delimiter:
233629                   grains.present:
233630                     - value: yay
233631                     - delimiter: ','
233632
233633   salt.states.group
233634   Management of user groups
233635       The group module is used to create and manage  group  settings,  groups
233636       can  be either present or absent. User/Group names can be passed to the
233637       adduser, deluser, and members parameters. adduser and  deluser  can  be
233638       used together but not with members.
233639
233640       In  Windows,  if no domain is specified in the user or group name (i.e.
233641       DOMAIN\username) the module will assume a local user or group.
233642
233643          cheese:
233644            group.present:
233645              - gid: 7648
233646              - system: True
233647              - addusers:
233648                - user1
233649                - users2
233650              - delusers:
233651                - foo
233652
233653          cheese:
233654            group.present:
233655              - gid: 7648
233656              - system: True
233657              - members:
233658                - foo
233659                - bar
233660                - user1
233661                - user2
233662
233663       salt.states.group.absent(name)
233664              Ensure that the named group is absent
233665
233666              Parameters
233667                     name (str) -- The name of the group to remove
233668
233669              Example:
233670
233671                 # Removes the local group `db_admin`
233672                 db_admin:
233673                   group.absent
233674
233675       salt.states.group.present(name, gid=None, system=False,  addusers=None,
233676       delusers=None, members=None)
233677              Ensure that a group is present
233678
233679              Parameters
233680
233681                     · name (str) -- The name of the group to manage
233682
233683                     · gid (str) -- The group id to assign to the named group;
233684                       if left empty, then the next available group id will be
233685                       assigned. Ignored on Windows
233686
233687                     · system  (bool)  --  Whether or not the named group is a
233688                       system group.  This is essentially the '-r'  option  of
233689                       'groupadd'. Ignored on Windows
233690
233691                     · addusers (list) -- List of additional users to be added
233692                       as a group  members.  Cannot  conflict  with  names  in
233693                       delusers. Cannot be used in conjunction with members.
233694
233695                     · delusers  (list)  -- Ensure these user are removed from
233696                       the group membership. Cannot  conflict  with  names  in
233697                       addusers. Cannot be used in conjunction with members.
233698
233699                     · members (list) -- Replace existing group members with a
233700                       list of new members. Cannot be used in conjunction with
233701                       addusers or delusers.
233702
233703              Example:
233704
233705                 # Adds DOMAIN\db_admins and Administrators to the local db_admin group
233706                 # Removes Users
233707                 db_admin:
233708                   group.present:
233709                     - addusers:
233710                       - DOMAIN\db_admins
233711                       - Administrators
233712                     - delusers:
233713                       - Users
233714
233715                 # Ensures only DOMAIN\domain_admins and the local Administrator are
233716                 # members of the local Administrators group. All other users are
233717                 # removed
233718                 Administrators:
233719                   group.present:
233720                     - members:
233721                       - DOMAIN\domain_admins
233722                       - Administrator
233723
233724   salt.states.heat module
233725   Management of Heat
233726       New in version 2017.7.0.
233727
233728
233729       depends
233730
233731              · heat Python module
233732
233733       configuration
233734              See salt.modules.heat for setup instructions.
233735
233736       The  heat  module  is used to create, show, list and delete Heat staks.
233737       Stack can be set as either absent or deploy.
233738
233739          heat.deployed:
233740            - name:
233741            - template: #Required
233742            - environment:
233743            - params: {}
233744            - poll: 5
233745            - rollback: False
233746            - timeout: 60
233747
233748          heat.absent:
233749            - name:
233750            - poll: 5
233751
233752       mysql:
233753
233754              heat.deployed:
233755
233756                     · template: salt://templates/mysql.heat.yaml
233757
233758                     · params: image: Debian 7
233759
233760                     · rollback: True
233761
233762       New in version 2017.7.5,2018.3.1: The  spelling  mistake  in  parameter
233763       enviroment  was  corrected  to  environment.  The misspelled version is
233764       still supported for backward compatibility, but will be removed in Salt
233765       Neon.
233766
233767
233768       salt.states.heat.absent(name, poll=5, timeout=60, profile=None)
233769              Ensure that the named stack is absent
233770
233771              name   The name of the stack to remove
233772
233773              poll   Poll(in sec.) and report events until stack complete
233774
233775              timeout
233776                     Stack creation timeout in minutes
233777
233778              profile
233779                     Profile to use
233780
233781       salt.states.heat.deployed(name,     template=None,    environment=None,
233782       params=None, poll=5,  rollback=False,  timeout=60,  update=False,  pro‐
233783       file=None, **connection_args)
233784              Deploy stack with the specified properties
233785
233786              name   The name of the stack
233787
233788              template
233789                     File of template
233790
233791              environment
233792                     File of environment
233793
233794              params Parameter dict used to create the stack
233795
233796              poll   Poll (in sec.) and report events until stack complete
233797
233798              rollback
233799                     Enable rollback on create failure
233800
233801              timeout
233802                     Stack creation timeout in minutes
233803
233804              profile
233805                     Profile to use
233806
233807              New in version 2017.7.5,2018.3.1: The spelling mistake in param‐
233808              eter enviroment was corrected to  environment.   The  misspelled
233809              version  is still supported for backward compatibility, but will
233810              be removed in Salt Neon.
233811
233812
233813   salt.states.hg
233814   Interaction with Mercurial repositories
233815       Before using hg over ssh, make sure the remote host fingerprint already
233816       exists  in ~/.ssh/known_hosts, and the remote host has this host's pub‐
233817       lic key.
233818
233819          https://bitbucket.org/example_user/example_repo:
233820              hg.latest:
233821                - rev: tip
233822                - target: /tmp/example_repo
233823
233824       salt.states.hg.latest(name,   rev=None,    target=None,    clean=False,
233825       user=None, identity=None, force=False, opts=False, update_head=True)
233826              Make sure the repository is cloned to the given directory and is
233827              up to date
233828
233829              name   Address of the remote repository as passed to "hg clone"
233830
233831              rev    The remote branch, tag, or revision hash to clone/pull
233832
233833              target Target destination directory path on minion to clone into
233834
233835              clean  Force a clean update with -C (Default: False)
233836
233837              user   Name of the user performing repository management  opera‐
233838                     tions
233839
233840                     New in version 0.17.0.
233841
233842
233843              identity
233844                     Private  SSH  key on the minion server for authentication
233845                     (ssh://)
233846
233847                     New in version 2015.5.0.
233848
233849
233850              force  Force hg to clone into pre-existing directories  (deletes
233851                     contents)
233852
233853              opts   Include  additional  arguments and options to the hg com‐
233854                     mand line
233855
233856              update_head
233857                     Should we update the  head  if  new  changes  are  found?
233858                     Defaults to True
233859
233860                     New in version 2017.7.0.
233861
233862
233863   salt.states.hipchat
233864   Send a message to Hipchat
233865       This state is useful for sending messages to Hipchat during state runs.
233866
233867       The property api_url is optional. By defaul will use the public HipChat
233868       API at https://api.hipchat.com
233869
233870       New in version 2015.5.0.
233871
233872
233873          hipchat-message:
233874            hipchat.send_message:
233875              - room_id: 123456
233876              - from_name: SuperAdmin
233877              - message: 'This state was executed successfully.'
233878              - api_url: https://hipchat.myteam.com
233879              - api_key: peWcBiMOS9HrZG15peWcBiMOS9HrZG15
233880              - api_version: v1
233881
233882       The api key can be specified in the master or minion configuration like
233883       below:
233884
233885          hipchat:
233886            api_key: peWcBiMOS9HrZG15peWcBiMOS9HrZG15
233887            api_version: v1
233888
233889       salt.states.hipchat.send_message(name,   room_id,  from_name,  message,
233890       api_url=None, api_key=None, api_version=None,  message_color=u'yellow',
233891       notify=False)
233892              Send a message to a Hipchat room.
233893
233894                 hipchat-message:
233895                   hipchat.send_message:
233896                     - room_id: 123456
233897                     - from_name: SuperAdmin
233898                     - message: 'This state was executed successfully.'
233899                     - api_url: https://hipchat.myteam.com
233900                     - api_key: peWcBiMOS9HrZG15peWcBiMOS9HrZG15
233901                     - api_version: v1
233902                     - message_color: green
233903                     - notify: True
233904
233905              The following parameters are required:
233906
233907              name   The unique name for this event.
233908
233909              room_id
233910                     The  room to send the message to. Can either be the ID or
233911                     the name.
233912
233913              from_name
233914                     The name of that is to be shown in the "from" field.   If
233915                     not specified, defaults to.
233916
233917              message
233918                     The message that is to be sent to the Hipchat room.
233919
233920              The following parameters are optional:
233921
233922              api_url
233923                     The  API URl to be used.  If not specified here or in the
233924                     configuration options of master or minion, will  use  the
233925                     public HipChat API: https://api.hipchat.com
233926
233927              api_key
233928                     The api key for Hipchat to use for authentication, if not
233929                     specified in the configuration options of master or  min‐
233930                     ion.
233931
233932              api_version
233933                     The  api  version for Hipchat to use, if not specified in
233934                     the configuration options of master or minion.
233935
233936              message_color
233937                     The color the Hipchat message should be displayed in. One
233938                     of   the  following,  default:  yellow  "yellow",  "red",
233939                     "green", "purple", "gray", or "random".
233940
233941              notify Should a notification in the room be raised.
233942
233943   salt.states.host
233944   Management of addresses and names in hosts file
233945       The /etc/hosts file can be managed to contain definitions for  specific
233946       hosts:
233947
233948          salt-master:
233949            host.present:
233950              - ip: 192.168.0.42
233951
233952       Or  using  the  names directive, you can put several names for the same
233953       IP.  (Do not try one name with space-separated values).
233954
233955          server1:
233956            host.present:
233957              - ip: 192.168.0.42
233958              - names:
233959                - server1
233960                - florida
233961
233962       NOTE:
233963          Changing the names in host.present  does  not  cause  an  update  to
233964          remove the old entry.
233965
233966          server1:
233967            host.present:
233968              - ip:
233969                - 192.168.0.42
233970                - 192.168.0.43
233971                - 192.168.0.44
233972              - names:
233973                - server1
233974
233975       You can replace all existing names for a particular IP address:
233976
233977          127.0.1.1:
233978            host.only:
233979              - hostnames:
233980                - foo.example.com
233981                - foo
233982
233983       Or delete all existing names for an address:
233984
233985          203.0.113.25:
233986              host.only:
233987                - hostnames: []
233988
233989       salt.states.host.absent(name, ip)
233990              Ensure that the named host is absent
233991
233992              name   The host to remove
233993
233994              ip     The ip addr(s) of the host to remove
233995
233996       salt.states.host.only(name, hostnames)
233997              Ensure  that  only  the  given hostnames are associated with the
233998              given IP address.
233999
234000              New in version 2016.3.0.
234001
234002
234003              name   The IP address to associate with the given hostnames.
234004
234005              hostnames
234006                     Either a single hostname or a list of hostnames to  asso‐
234007                     ciate  with the given IP address in the given order.  Any
234008                     other hostname associated with the IP address is removed.
234009                     If  no  hostnames are specified, all hostnames associated
234010                     with the given IP address are removed.
234011
234012       salt.states.host.present(name, ip, clean=False)
234013              Ensures that the named host is present with the given ip
234014
234015              name   The host to assign an ip to
234016
234017              ip     The ip addr(s) to apply to the host. Can be a  single  IP
234018                     or a list of IP addresses.
234019
234020              clean  False  Remove any entries which don't match those config‐
234021                     ured in the ip option.
234022
234023                     New in version 2018.3.4.
234024
234025
234026   salt.states.htpasswd
234027       Support for htpasswd module. Requires  the  apache2-utils  package  for
234028       Debian-based distros.
234029
234030       New in version 2014.7.0.
234031
234032
234033          username:
234034            webutil.user_exists:
234035              - password: secr3t
234036              - htpasswd_file: /etc/nginx/htpasswd
234037              - options: d
234038              - force: true
234039
234040       salt.states.htpasswd.user_absent(name, htpasswd_file=None, runas=None)
234041              Make sure the user is not in the specified htpasswd file
234042
234043              name   User name
234044
234045              htpasswd_file
234046                     Path to the htpasswd file
234047
234048              runas  The system user to run htpasswd command with
234049
234050       salt.states.htpasswd.user_exists(name,                   password=None,
234051       htpasswd_file=None, options=u'', force=False, runas=None, update=False)
234052              Make sure the user is inside the specified htpasswd file
234053
234054              name   User name
234055
234056              password
234057                     User password
234058
234059              htpasswd_file
234060                     Path to the htpasswd file
234061
234062              options
234063                     See salt.modules.htpasswd.useradd
234064
234065              force  Touch the file even if user already created
234066
234067              runas  The system user to run htpasswd command with
234068
234069              update Update an existing user's password if it's different from
234070                     what's  in the htpasswd file (unlike force, which updates
234071                     regardless)
234072
234073   salt.states.http
234074       HTTP monitoring states
234075
234076       Perform an HTTP query and statefully return the result
234077
234078       New in version 2015.5.0.
234079
234080
234081       salt.states.http.query(name,  match=None,  match_type=u'string',   sta‐
234082       tus=None, wait_for=None, **kwargs)
234083              Perform an HTTP query and statefully return the result
234084
234085              Passes   through   all   the   parameters   described   in   the
234086              utils.http.query function:
234087
234088              name   The name of the query.
234089
234090              match  Specifies a pattern to look for in the  return  text.  By
234091                     default, this will perform a string comparison of looking
234092                     for the value of match in the return text.
234093
234094              match_type
234095                     Specifies the type of pattern matching to use. Default is
234096                     string,  but  can  also  be  set  to  pcre to use regular
234097                     expression matching if a more complex pattern matching is
234098                     required.
234099
234100                     NOTE:
234101                        Despite the name of match_type for this argument, this
234102                        setting actually uses  Python's  re.search()  function
234103                        rather than Python's re.match() function.
234104
234105              status The status code for a URL for which to be checked. Can be
234106                     used instead of or in addition to the match setting.
234107
234108              If both match and status options are set, both settings will  be
234109              checked.   However, note that if only one option is True and the
234110              other is False, then False will be returned.  If  this  case  is
234111              reached,  the  comments  in  the  return data will contain trou‐
234112              bleshooting information.
234113
234114              For more information about the http.query state,  refer  to  the
234115              HTTP Tutorial.
234116
234117                 query_example:
234118                   http.query:
234119                     - name: 'http://example.com/'
234120                     - status: 200
234121
234122       salt.states.http.wait_for_successful_query(name,          wait_for=300,
234123       **kwargs)
234124              Like query but, repeat and wait until match/match_type or status
234125              is fulfilled. State returns result from last query state in case
234126              of success or if no successful query was  made  within  wait_for
234127              timeout.
234128
234129              name   The name of the query.
234130
234131              wait_for
234132                     Total time to wait for requests that succeed.
234133
234134              request_interval
234135                     Optional  interval  to  delay  requests  by  N seconds to
234136                     reduce the number of requests sent.
234137
234138              NOTE:
234139                 All other arguments are passed to the http.query state.
234140
234141   salt.states.icinga2 module
234142   Icinga2 state
234143       New in version 2017.7.0.
234144
234145
234146       depends
234147
234148              · Icinga2 Python module
234149
234150       configuration
234151              See salt.modules.icinga2 for setup instructions.
234152
234153       The icinga2 module is used to execute  commands.   Its  output  may  be
234154       stored in a file or in a grain.
234155
234156          command_id:
234157            icinga2.generate_ticket
234158              - name: domain.tld
234159              - output:  "/tmp/query_id.txt"
234160
234161       salt.states.icinga2.generate_cert(name)
234162              Generate an icinga2 certificate and key on the client.
234163
234164              name   The  domain  name for which this certificate and key will
234165                     be generated
234166
234167       salt.states.icinga2.generate_ticket(name,   output=None,    grain=None,
234168       key=None, overwrite=True)
234169              Generate an icinga2 ticket on the master.
234170
234171              name   The domain name for which this ticket will be generated
234172
234173              output grain: output in a grain other: the file to store results
234174                     None:  output to the result comment (default)
234175
234176              grain: grain to store the output (need output=grain)
234177
234178              key:   the specified grain will be treated as a dictionary,  the
234179                     result  of  this state will be stored under the specified
234180                     key.
234181
234182              overwrite:
234183                     The file or grain  will  be  overwritten  if  it  already
234184                     exists (default)
234185
234186       salt.states.icinga2.node_setup(name, master, ticket)
234187              Setup the icinga2 node.
234188
234189              name   The domain name for which this certificate will be saved
234190
234191              master Icinga2  master  node  for which this certificate will be
234192                     saved
234193
234194              ticket Authentication ticket generated on icinga2 master
234195
234196       salt.states.icinga2.request_cert(name, master, ticket, port=u'5665')
234197              Request CA certificate from master icinga2 node.
234198
234199              name   The domain name for which this certificate will be saved
234200
234201              master Icinga2 master node for which this  certificate  will  be
234202                     saved
234203
234204              ticket Authentication ticket generated on icinga2 master
234205
234206              port   Icinga2 port, defaults to 5665
234207
234208       salt.states.icinga2.save_cert(name, master)
234209              Save the certificate on master icinga2 node.
234210
234211              name   The domain name for which this certificate will be saved
234212
234213              master Icinga2  master  node  for which this certificate will be
234214                     saved
234215
234216   salt.states.ifttt
234217   Trigger an event in IFTTT
234218       This state is useful for trigging events in IFTTT.
234219
234220       New in version 2015.8.0.
234221
234222
234223          ifttt-event:
234224            ifttt.trigger_event:
234225              - event: TestEvent
234226              - value1: 'This state was executed successfully.'
234227              - value2: 'Another value we can send.'
234228              - value3: 'A third value we can send.'
234229
234230       The api key can be specified in the master or minion configuration like
234231       below:
234232
234233          ifttt: secret_key: bzMRb-KKIAaNOwKEEw792J7Eb-B3z7muhdhYblJn4V6
234234
234235       salt.states.ifttt.trigger_event(name,  event, value1=None, value2=None,
234236       value3=None)
234237              Trigger an event in IFTTT
234238
234239                 ifttt-event:
234240                   ifttt.trigger_event:
234241                     - event: TestEvent
234242                     - value1: 'A value that we want to send.'
234243                     - value2: 'A second value that we want to send.'
234244                     - value3: 'A third value that we want to send.'
234245
234246              The following parameters are required:
234247
234248              name   The unique name for this event.
234249
234250              event  The name of the event to trigger in IFTTT.
234251
234252              The following parameters are optional:
234253
234254              value1 One of the values that we can send to IFTT.
234255
234256              value2 One of the values that we can send to IFTT.
234257
234258              value3 One of the values that we can send to IFTT.
234259
234260   salt.states.incron
234261   Management of incron, the inotify cron
234262       The incron state module allows for user incrontabs to be  cleanly  man‐
234263       aged.
234264
234265       Incron  declarations  require  a  number  of parameters. The parameters
234266       needed to be declared: path, mask, and cmd. The user whose incrontab is
234267       to be edited also needs to be defined.
234268
234269       When  making changes to an existing incron job, the path declaration is
234270       the unique factor, so if an existing cron that looks like this:
234271
234272          Watch for modifications in /home/user:
234273              incron.present:
234274                  - user: root
234275                  - path: /home/user
234276                  - mask:
234277                      - IN_MODIFY
234278                  - cmd: 'echo "$$ $@"'
234279
234280       Is changed to this:
234281
234282          Watch for modifications and access in /home/user:
234283              incron.present:
234284                  - user: root
234285                  - path: /home/user
234286                  - mask:
234287                      - IN_MODIFY
234288                      - IN_ACCESS
234289                  - cmd: 'echo "$$ $@"'
234290
234291       Then the existing cron will be updated, but  if  the  cron  command  is
234292       changed, then a new cron job will be added to the user's crontab.
234293
234294       New in version 0.17.0.
234295
234296
234297       salt.states.incron.absent(name, path, mask, cmd, user=u'root')
234298              Verifies  that the specified incron job is absent for the speci‐
234299              fied user; only the name is matched when removing a incron job.
234300
234301              name   Unique comment describing the entry
234302
234303              path   The path that should be watched
234304
234305              user   The name of the user who's crontab needs to be  modified,
234306                     defaults to the root user
234307
234308              mask   The mask of events that should be monitored for
234309
234310              cmd    The cmd that should be executed
234311
234312       salt.states.incron.present(name, path, mask, cmd, user=u'root')
234313              Verifies that the specified incron job is present for the speci‐
234314              fied user.  For more advanced information about what exactly can
234315              be set in the cron timing parameters, check your incron system's
234316              documentation. Most Unix-like systems' incron documentation  can
234317              be found via the incrontab man page: man 5 incrontab.
234318
234319              name   Unique comment describing the entry
234320
234321              path   The path that should be watched
234322
234323              user   The  name of the user who's crontab needs to be modified,
234324                     defaults to the root user
234325
234326              mask   The mask of events that should be monitored for
234327
234328              cmd    The cmd that should be executed
234329
234330   salt.states.influxdb08_database module
234331   Management of Influxdb 0.8 databases
234332       (compatible with InfluxDB version 0.5-0.8)
234333
234334       New in version 2014.7.0.
234335
234336
234337       salt.states.influxdb08_database.absent(name, user=None,  password=None,
234338       host=None, port=None)
234339              Ensure that the named database is absent
234340
234341              name   The name of the database to remove
234342
234343              user   The  user to connect as (must be able to remove the data‐
234344                     base)
234345
234346              password
234347                     The password of the user
234348
234349              host   The host to connect to
234350
234351              port   The port to connect to
234352
234353       salt.states.influxdb08_database.present(name, user=None, password=None,
234354       host=None, port=None)
234355              Ensure that the named database is present
234356
234357              name   The name of the database to create
234358
234359              user   The  user to connect as (must be able to remove the data‐
234360                     base)
234361
234362              password
234363                     The password of the user
234364
234365              host   The host to connect to
234366
234367              port   The port to connect to
234368
234369   salt.states.influxdb08_user module
234370   Management of InfluxDB 0.8 users
234371       (compatible with InfluxDB version 0.5-0.8)
234372
234373       New in version 2014.7.0.
234374
234375
234376       salt.states.influxdb08_user.absent(name,   database=None,    user=None,
234377       password=None, host=None, port=None)
234378              Ensure that the named cluster admin or database user is absent.
234379
234380              name   The name of the user to remove
234381
234382              database
234383                     The database to remove the user from
234384
234385              user   The user to connect as (must be able to remove the user)
234386
234387              password
234388                     The password of the user
234389
234390              host   The host to connect to
234391
234392              port   The port to connect to
234393
234394       salt.states.influxdb08_user.present(name,     passwd,    database=None,
234395       user=None, password=None, host=None, port=None)
234396              Ensure that the cluster admin or database user is present.
234397
234398              name   The name of the user to manage
234399
234400              passwd The password of the user
234401
234402              database
234403                     The database to create the user in
234404
234405              user   The user to connect as (must be able to create the user)
234406
234407              password
234408                     The password of the user
234409
234410              host   The host to connect to
234411
234412              port   The port to connect to
234413
234414   salt.states.influxdb_continuous_query module
234415   Management of Influxdb continuous queries
234416       New in version 2017.7.0.
234417
234418
234419       (compatible with InfluxDB version 0.9+)
234420
234421       salt.states.influxdb_continuous_query.absent(name,            database,
234422       **client_args)
234423              Ensure that given continuous query is absent.
234424
234425              name   Name of the continuous query to remove.
234426
234427              database
234428                     Name  of  the  database  that  the  continuous  query was
234429                     defined on.
234430
234431       salt.states.influxdb_continuous_query.present(name,  database,   query,
234432       resample_time=None, coverage_period=None, **client_args)
234433              Ensure that given continuous query is present.
234434
234435              name   Name of the continuous query to create.
234436
234437              database
234438                     Database to create continuous query on.
234439
234440              query  The query content
234441
234442              resample_time
234443                     None Duration between continuous query resampling.
234444
234445              coverage_period
234446                     None Duration specifying time period per sample.
234447
234448   salt.states.influxdb_database
234449   Management of Influxdb databases
234450       (compatible with InfluxDB version 0.9+)
234451
234452       salt.states.influxdb_database.absent(name, **client_args)
234453              Ensure that given database is absent.
234454
234455              name   Name of the database to remove.
234456
234457       salt.states.influxdb_database.present(name, **client_args)
234458              Ensure that given database is present.
234459
234460              name   Name of the database to create.
234461
234462   salt.states.influxdb_retention_policy module
234463   Management of Influxdb retention policies
234464       New in version 2017.7.0.
234465
234466
234467       (compatible with InfluxDB version 0.9+)
234468
234469       salt.states.influxdb_retention_policy.absent(name,            database,
234470       **client_args)
234471              Ensure that given retention policy is absent.
234472
234473              name   Name of the retention policy to remove.
234474
234475              database
234476                     Name of  the  database  that  the  retention  policy  was
234477                     defined on.
234478
234479       salt.states.influxdb_retention_policy.convert_duration(duration)
234480              Convert the a duration string into XXhYYmZZs format
234481
234482              duration
234483                     Duration to convert
234484
234485              Returns: duration_string
234486                     String representation of duration in XXhYYmZZs format
234487
234488       salt.states.influxdb_retention_policy.present(name,   database,   dura‐
234489       tion=u'7d', replication=1, default=False, **client_args)
234490              Ensure that given retention policy is present.
234491
234492              name   Name of the retention policy to create.
234493
234494              database
234495                     Database to create retention policy on.
234496
234497   salt.states.influxdb_user
234498   Management of InfluxDB users
234499       (compatible with InfluxDB version 0.9+)
234500
234501       salt.states.influxdb_user.absent(name, **client_args)
234502              Ensure that given user is absent.
234503
234504              name   The name of the user to manage
234505
234506       salt.states.influxdb_user.present(name,      passwd,       admin=False,
234507       grants=None, **client_args)
234508              Ensure that given user is present.
234509
234510              name   Name of the user to manage
234511
234512              passwd Password of the user
234513
234514              admin  False Whether the user should have cluster administration
234515                     privileges or not.
234516
234517              grants Optional - Dict of  database:privilege  items  associated
234518                     with the user. Example:
234519
234520                     grants:
234521                            foo_db: read bar_db: all
234522
234523              Example:
234524
234525                 example user present in influxdb:
234526                   influxdb_user.present:
234527                     - name: example
234528                     - passwd: somepassword
234529                     - admin: False
234530                     - grants:
234531                         foo_db: read
234532                         bar_db: all
234533
234534   salt.states.infoblox_a
234535       Infoblox A record managment.
234536
234537       functions accept api_opts:
234538          api_verifyssl: verify SSL [default to True or pillar value] api_url:
234539          server  to  connect  to  [default  to  pillar  value]  api_username:
234540          [default to pillar value] api_password:  [default to pillar value]
234541
234542       salt.states.infoblox_a.absent(name=None, ipv4addr=None, **api_opts)
234543              Ensure infoblox A record is removed.
234544
234545              State example:
234546
234547                 infoblox_a.absent:
234548                     - name: example-ha-0.domain.com
234549
234550                 infoblox_a.absent:
234551                     - name:
234552                     - ipv4addr: 127.0.23.23
234553
234554       salt.states.infoblox_a.present(name=None,   ipv4addr=None,   data=None,
234555       ensure_data=True, **api_opts)
234556              Ensure infoblox A record.
234557
234558              When you wish to update a hostname ensure name  is  set  to  the
234559              hostname  of  the current record. You can give a new name in the
234560              data.name.
234561
234562              State example:
234563
234564                 infoblox_a.present:
234565                     - name: example-ha-0.domain.com
234566                     - data:
234567                         name: example-ha-0.domain.com
234568                         ipv4addr: 123.0.31.2
234569                         view: Internal
234570
234571   salt.states.infoblox_cname
234572       Infoblox CNAME managment.
234573
234574       functions accept api_opts:
234575          api_verifyssl: verify SSL [default to True or pillar value] api_url:
234576          server  to  connect  to  [default  to  pillar  value]  api_username:
234577          [default to pillar value] api_password:  [default to pillar value]
234578
234579       salt.states.infoblox_cname.absent(name=None,            canonical=None,
234580       **api_opts)
234581              Ensure  the  CNAME  with  the  given  name  or canonical name is
234582              removed
234583
234584       salt.states.infoblox_cname.present(name=None,                data=None,
234585       ensure_data=True, **api_opts)
234586              Ensure the CNAME with the given data is present.
234587
234588              name   CNAME of record
234589
234590              data   raw CNAME api data see: https://INFOBLOX/wapidoc
234591
234592              State example:
234593
234594                 infoblox_cname.present:
234595                     - name: example-ha-0.domain.com
234596                     - data:
234597                         name: example-ha-0.domain.com
234598                         canonical: example.domain.com
234599                         zone: example.com
234600                         view: Internal
234601                         comment: Example comment
234602
234603                 infoblox_cname.present:
234604                     - name: example-ha-0.domain.com
234605                     - data:
234606                         name: example-ha-0.domain.com
234607                         canonical: example.domain.com
234608                         zone: example.com
234609                         view: Internal
234610                         comment: Example comment
234611                     - api_url: https://INFOBLOX/wapi/v1.2.1
234612                     - api_username: username
234613                     - api_password: passwd
234614
234615   salt.states.infoblox_host_record
234616       Infoblox host record managment.
234617
234618       functions accept api_opts:
234619          api_verifyssl: verify SSL [default to True or pillar value] api_url:
234620          server  to  connect  to  [default  to  pillar  value]  api_username:
234621          [default to pillar value] api_password:  [default to pillar value]
234622
234623       salt.states.infoblox_host_record.absent(name=None,       ipv4addr=None,
234624       mac=None, **api_opts)
234625              Ensure the host with the given Name ipv4addr or mac is removed.
234626
234627              State example:
234628
234629                 infoblox_host_record.absent:
234630                     - name: hostname.of.record.to.remove
234631
234632                 infoblox_host_record.absent:
234633                     - name:
234634                     - ipv4addr: 192.168.0.1
234635
234636                 infoblox_host_record.absent:
234637                     - name:
234638                     - mac: 12:02:12:31:23:43
234639
234640       salt.states.infoblox_host_record.present(name=None,          data=None,
234641       ensure_data=True, **api_opts)
234642              This  will  ensure  that  a  host with the provided name exists.
234643              This will try to ensure that the state of the host  matches  the
234644              given data If the host is not found then one will be created.
234645
234646              When trying to update a hostname ensure name is set to the host‐
234647              name of the current record. You can  give  a  new  name  in  the
234648              data.name.
234649
234650              Avoid race conditions, use func:nextavailableip:
234651
234652                     · func:nextavailableip:network/ZG54dfgsrDFEFfsfs‐
234653                       LzA:10.0.0.0/8/default
234654
234655                     · func:nextavailableip:10.0.0.0/8
234656
234657                     · func:nextavailableip:10.0.0.0/8,externalconfig‐
234658                       ure_for_dns
234659
234660                     · func:nextavailableip:10.0.0.3-10.0.0.10
234661
234662              State Example:
234663
234664                 # this would update `original_hostname.example.ca` to changed `data`.
234665                 infoblox_host_record.present:
234666                     - name: original_hostname.example.ca
234667                     - data: {'namhostname.example.cae': 'hostname.example.ca',
234668                         'aliases': ['hostname.math.example.ca'],
234669                         'extattrs': [{'Business Contact': {'value': 'EXAMPLE@example.ca'}}],
234670                         'ipv4addrs': [{'configure_for_dhcp': True,
234671                             'ipv4addr': 'func:nextavailableip:129.97.139.0/24',
234672                             'mac': '00:50:56:84:6e:ae'}],
234673                         'ipv6addrs': [], }
234674
234675   salt.states.infoblox_range
234676       Infoblox host record managment.
234677
234678       functions accept api_opts:
234679          api_verifyssl: verify SSL [default to True or pillar value] api_url:
234680          server  to  connect  to  [default  to  pillar  value]  api_username:
234681          [default to pillar value] api_password:  [default to pillar value]
234682
234683       salt.states.infoblox_range.absent(name=None,           start_addr=None,
234684       end_addr=None, data=None, **api_opts)
234685              Ensure the range is removed
234686
234687              Supplying the end of the range is optional.
234688
234689              State example:
234690
234691                 infoblox_range.absent:
234692                     - name: 'vlan10'
234693
234694                 infoblox_range.absent:
234695                     - name:
234696                     - start_addr: 127.0.1.20
234697
234698       salt.states.infoblox_range.present(name=None,          start_addr=None,
234699       end_addr=None, data=None, **api_opts)
234700              Ensure range record is present.
234701
234702              infoblox_range.present:
234703                     start_addr: '129.97.150.160', end_addr: '129.97.150.170',
234704
234705              Verbose state example:
234706
234707                 infoblox_range.present:
234708                     data: {
234709                         'always_update_dns': False,
234710                         'authority': False,
234711                         'comment': 'range of IP addresses used for salt.. was used for ghost images deployment',
234712                         'ddns_generate_hostname': True,
234713                         'deny_all_clients': False,
234714                         'deny_bootp': False,
234715                         'disable': False,
234716                         'email_list': [],
234717                         'enable_ddns': False,
234718                         'enable_dhcp_thresholds': False,
234719                         'enable_email_warnings': False,
234720                         'enable_ifmap_publishing': False,
234721                         'enable_snmp_warnings': False,
234722                         'end_addr': '129.97.150.169',
234723                         'exclude': [],
234724                         'extattrs': {},
234725                         'fingerprint_filter_rules': [],
234726                         'high_water_mark': 95,
234727                         'high_water_mark_reset': 85,
234728                         'ignore_dhcp_option_list_request': False,
234729                         'lease_scavenge_time': -1,
234730                         'logic_filter_rules': [],
234731                         'low_water_mark': 0,
234732                         'low_water_mark_reset': 10,
234733                         'mac_filter_rules': [],
234734                         'member': {'_struct': 'dhcpmember',
234735                                 'ipv4addr': '129.97.128.9',
234736                                 'name': 'cn-dhcp-mc.example.ca'},
234737                         'ms_options': [],
234738                         'nac_filter_rules': [],
234739                         'name': 'ghost-range',
234740                         'network': '129.97.150.0/24',
234741                         'network_view': 'default',
234742                         'option_filter_rules': [],
234743                         'options': [{'name': 'dhcp-lease-time',
234744                                     'num': 51,
234745                                     'use_option': False,
234746                                     'value': '43200',
234747                                     'vendor_class': 'DHCP'}],
234748                         'recycle_leases': True,
234749                         'relay_agent_filter_rules': [],
234750                         'server_association_type': 'MEMBER',
234751                         'start_addr': '129.97.150.160',
234752                         'update_dns_on_lease_renewal': False,
234753                         'use_authority': False,
234754                         'use_bootfile': False,
234755                         'use_bootserver': False,
234756                         'use_ddns_domainname': False,
234757                         'use_ddns_generate_hostname': True,
234758                         'use_deny_bootp': False,
234759                         'use_email_list': False,
234760                         'use_enable_ddns': False,
234761                         'use_enable_dhcp_thresholds': False,
234762                         'use_enable_ifmap_publishing': False,
234763                         'use_ignore_dhcp_option_list_request': False,
234764                         'use_known_clients': False,
234765                         'use_lease_scavenge_time': False,
234766                         'use_nextserver': False,
234767                         'use_options': False,
234768                         'use_recycle_leases': False,
234769                         'use_unknown_clients': False,
234770                         'use_update_dns_on_lease_renewal': False
234771                     }
234772
234773   salt.states.ini_manage
234774   Manage ini files
234775       maintainer
234776              <akilesh1597@gmail.com>
234777
234778       maturity
234779              new
234780
234781       depends
234782              re
234783
234784       platform
234785              all
234786
234787       salt.states.ini_manage.options_absent(name,    sections=None,   separa‐
234788       tor=u'=')
234789
234790                 /home/saltminion/api-paste.ini:
234791                   ini.options_absent:
234792                     - separator: '='
234793                     - sections:
234794                         test:
234795                           - testkey
234796                           - secondoption
234797                         test1:
234798                           - testkey1
234799
234800              options present in file and not specified in sections dict  will
234801              be untouched
234802
234803              changes dict will contain the list of changes made
234804
234805       salt.states.ini_manage.options_present(name,   sections=None,   separa‐
234806       tor=u'=', strict=False)
234807
234808                 /home/saltminion/api-paste.ini:
234809                   ini.options_present:
234810                     - separator: '='
234811                     - strict: True
234812                     - sections:
234813                         test:
234814                           testkey: 'testval'
234815                           secondoption: 'secondvalue'
234816                         test1:
234817                           testkey1: 'testval121'
234818
234819              options present in file and not specified in sections dict  will
234820              be untouched, unless strict: True flag is used
234821
234822              changes dict will contain the list of changes made
234823
234824       salt.states.ini_manage.sections_absent(name,   sections=None,   separa‐
234825       tor=u'=')
234826
234827                 /home/saltminion/api-paste.ini:
234828                   ini.sections_absent:
234829                     - separator: '='
234830                     - sections:
234831                         - test
234832                         - test1
234833
234834              options present in file and not specified in  sections  will  be
234835              deleted changes dict will contain the sections that changed
234836
234837       salt.states.ini_manage.sections_present(name,   sections=None,  separa‐
234838       tor=u'=')
234839
234840                 /home/saltminion/api-paste.ini:
234841                   ini.sections_present:
234842                     - separator: '='
234843                     - sections:
234844                         - section_one
234845                         - section_two
234846
234847              This will only create empty sections. To  also  create  options,
234848              use options_present state
234849
234850              options  present  in  file and not specified in sections will be
234851              deleted changes dict will contain the sections that changed
234852
234853   salt.states.ipmi
234854   Manage IPMI devices over LAN
234855       The following configuration defaults can be defined in the minion, mas‐
234856       ter config or pillar:
234857
234858          ipmi.config:
234859              api_host: 127.0.0.1
234860              api_user: admin
234861              api_pass: apassword
234862              api_port: 623
234863              api_kg: None
234864
234865       Every call can override the config defaults:
234866
234867          ensure myipmi system is set to network boot:
234868              ipmi.boot_device:
234869                  - name: network
234870                  - api_host: myipmi.hostname.com
234871                  - api_user: root
234872                  - api_pass: apassword
234873                  - api_kg: None
234874
234875          ensure myipmi system is powered on:
234876              ipmi.power:
234877                  - name: boot
234878                  - api_host: myipmi.hostname.com
234879                  - api_user: root
234880                  - api_pass: apassword
234881
234882       salt.states.ipmi.boot_device(name=u'default', **kwargs)
234883              Request power state change
234884
234885              name = default
234886
234887                     · network -- Request network boot
234888
234889                     · hd -- Boot from hard drive
234890
234891                     · safe -- Boot from hard drive, requesting 'safe mode'
234892
234893                     · optical -- boot from CD/DVD/BD drive
234894
234895                     · setup -- Boot into setup utility
234896
234897                     · default -- remove any IPMI directed boot device request
234898
234899              kwargs
234900
234901                     · api_host=localhost
234902
234903                     · api_user=admin
234904
234905                     · api_pass=
234906
234907                     · api_port=623
234908
234909                     · api_kg=None
234910
234911       salt.states.ipmi.power(name=u'power_on', wait=300, **kwargs)
234912              Request power state change
234913
234914              name
234915
234916                     Ensure power state one of:
234917
234918                            · power_on -- system turn on
234919
234920                            · power_off  --  system  turn off (without waiting
234921                              for OS)
234922
234923                            · shutdown -- request OS proper shutdown
234924
234925                            · reset -- reset (without waiting for OS)
234926
234927                            · boot --  If  system  is  off,  then  'on',  else
234928                              'reset'
234929
234930              wait   wait  X  seconds  for the job to complete before forcing.
234931                     (defaults to 300 seconds)
234932
234933              kwargs
234934
234935                     · api_host=localhost
234936
234937                     · api_user=admin
234938
234939                     · api_pass=
234940
234941                     · api_port=623
234942
234943                     · api_kg=None
234944
234945       salt.states.ipmi.user_absent(name, channel=14, **kwargs)
234946              Remove user Delete all user (uid) records  having  the  matching
234947              name.
234948
234949              name   string name of user to delete
234950
234951              channel
234952                     channel  to  remove  user  access from defaults to 14 for
234953                     auto.
234954
234955              kwargs
234956
234957                     · api_host=localhost
234958
234959                     · api_user=admin
234960
234961                     · api_pass=
234962
234963                     · api_port=623
234964
234965                     · api_kg=None
234966
234967       salt.states.ipmi.user_present(name, uid,  password,  channel=14,  call‐
234968       back=False,  link_auth=True,  ipmi_msg=True, privilege_level=u'adminis‐
234969       trator', **kwargs)
234970              Ensure IPMI user and user privileges.
234971
234972              name   name of user (limit 16 bytes)
234973
234974              uid    user id number (1 to 7)
234975
234976              password
234977                     user password (limit 16 bytes)
234978
234979              channel
234980                     ipmi channel defaults to 14 for auto
234981
234982              callback
234983                     User Restricted to Callback
234984
234985                     False = User Privilege Limit is determined  by  the  User
234986                     Privilege Limit
234987                            parameter  privilege_level,  for both callback and
234988                            non-callback connections.
234989
234990                     True = User Privilege Limit is determined by  the  privi‐
234991                     lege_level
234992                            parameter   for   callback   connections,  but  is
234993                            restricted to Callback level for non-callback con‐
234994                            nections.  Thus,  a user can only initiate a Call‐
234995                            back when they 'call in' to the BMC, but once  the
234996                            callback  connection has been made, the user could
234997                            potentially establish a session as an Operator.
234998
234999              link_auth
235000                     User Link authentication True/False user name  and  pass‐
235001                     word  information  will  be used for link authentication,
235002                     e.g. PPP CHAP) for the given channel. Link authentication
235003                     itself  is  a  global  setting  for  the  channel  and is
235004                     enabled/disabled  via  the   serial/modem   configuration
235005                     parameters.
235006
235007              ipmi_msg
235008                     User  IPMI  Messaging  True/False  user name and password
235009                     information will be used  for  IPMI  Messaging.  In  this
235010                     case,  'IPMI  Messaging' refers to the ability to execute
235011                     generic IPMI commands that are not associated with a par‐
235012                     ticular  payload  type. For example, if IPMI Messaging is
235013                     disabled for a user, but that user is enabled  for  acti‐
235014                     vating  the  SOL payload type, then IPMI commands associ‐
235015                     ated with SOL and session management,  such  as  Get  SOL
235016                     Configuration Parameters and Close Session are available,
235017                     but generic IPMI  commands  such  as  Get  SEL  Time  are
235018                     unavailable.)  ipmi_msg
235019
235020              privilege_level
235021
235022                     · callback
235023
235024                     · user
235025
235026                     · operator
235027
235028                     · administrator
235029
235030                     · proprietary
235031
235032                     · no_access
235033
235034              kwargs
235035
235036                     · api_host=localhost
235037
235038                     · api_user=admin
235039
235040                     · api_pass=
235041
235042                     · api_port=623
235043
235044                     · api_kg=None
235045
235046   salt.states.ipset
235047   Management of ipsets
235048       This  is  an ipset-specific module designed to manage IPSets for use in
235049       IPTables Firewalls.
235050
235051          setname:
235052            ipset.set_present:
235053              - set_type: bitmap:ip
235054              - range: 192.168.0.0/16
235055              - comment: True
235056
235057          setname:
235058            ipset.set_absent:
235059              - set_type: bitmap:ip
235060              - range: 192.168.0.0/16
235061              - comment: True
235062
235063          setname_entries:
235064            ipset.present:
235065              - set_name: setname
235066              - entry: 192.168.0.3
235067              - comment: Hello
235068              - require:
235069                  - ipset: baz
235070
235071          setname_entries:
235072            ipset.present:
235073              - set_name: setname
235074              - entry:
235075                  - 192.168.0.3
235076                  - 192.168.1.3
235077              - comment: Hello
235078              - require:
235079                  - ipset: baz
235080
235081          setname_entries:
235082            ipset.absent:
235083              - set_name: setname
235084              - entry:
235085                  - 192.168.0.3
235086                  - 192.168.1.3
235087              - comment: Hello
235088              - require:
235089                  - ipset: baz
235090
235091          setname:
235092            ipset.flush:
235093
235094       salt.states.ipset.absent(name,    entry=None,    entries=None,     fam‐
235095       ily=u'ipv4', **kwargs)
235096              New in version 2014.7.0.
235097
235098
235099              Remove a entry or entries from a chain
235100
235101              name   A user-defined name to call this entry by in another part
235102                     of a state or formula.  This  should  not  be  an  actual
235103                     entry.
235104
235105              family Network family, ipv4 or ipv6.
235106
235107       salt.states.ipset.flush(name, family=u'ipv4', **kwargs)
235108              New in version 2014.7.0.
235109
235110
235111              Flush current ipset set
235112
235113              family Networking family, either ipv4 or ipv6
235114
235115       salt.states.ipset.present(name, entry=None, family=u'ipv4', **kwargs)
235116              New in version 2014.7.0.
235117
235118
235119              Append a entry to a set
235120
235121              name   A user-defined name to call this entry by in another part
235122                     of a state or formula.  This  should  not  be  an  actual
235123                     entry.
235124
235125              entry  A  single  entry  to add to a set or a list of entries to
235126                     add to a set
235127
235128              family Network family, ipv4 or ipv6.
235129
235130       salt.states.ipset.set_absent(name, family=u'ipv4', **kwargs)
235131              New in version 2014.7.0.
235132
235133
235134              Verify the set is absent.
235135
235136              family Networking family, either ipv4 or ipv6
235137
235138       salt.states.ipset.set_present(name, set_type, family=u'ipv4', **kwargs)
235139              New in version 2014.7.0.
235140
235141
235142              Verify the set exists.
235143
235144              name   A user-defined set name.
235145
235146              set_type
235147                     The type for the set.
235148
235149              family Networking family, either ipv4 or ipv6
235150
235151   salt.states.iptables
235152   Management of iptables
235153       This is an iptables-specific module designed to manage Linux firewalls.
235154       It  is expected that this state module, and other system-specific fire‐
235155       wall states, may at some point be deprecated in favor of a more generic
235156       firewall state.
235157
235158          httpd:
235159            iptables.append:
235160              - table: filter
235161              - chain: INPUT
235162              - jump: ACCEPT
235163              - match: state
235164              - connstate: NEW
235165              - dport: 80
235166              - protocol: tcp
235167              - sport: 1025:65535
235168              - save: True
235169
235170          httpd:
235171            iptables.append:
235172              - table: filter
235173              - chain: INPUT
235174              - jump: ACCEPT
235175              - match:
235176                  - state
235177                  - comment
235178              - comment: "Allow HTTP"
235179              - connstate: NEW
235180              - dport: 80
235181              - protocol: tcp
235182              - sport: 1025:65535
235183              - save: True
235184
235185          httpd:
235186            iptables.append:
235187              - table: filter
235188              - chain: INPUT
235189              - jump: ACCEPT
235190              - match:
235191                  - state
235192                  - comment
235193              - comment: "Allow HTTP"
235194              - connstate: NEW
235195              - source: '127.0.0.1'
235196              - dport: 80
235197              - protocol: tcp
235198              - sport: 1025:65535
235199              - save: True
235200
235201          .. Invert Rule
235202          httpd:
235203            iptables.append:
235204              - table: filter
235205              - chain: INPUT
235206              - jump: ACCEPT
235207              - match:
235208                  - state
235209                  - comment
235210              - comment: "Allow HTTP"
235211              - connstate: NEW
235212              - source: '! 127.0.0.1'
235213              - dport: 80
235214              - protocol: tcp
235215              - sport: 1025:65535
235216              - save: True
235217
235218          httpd:
235219            iptables.append:
235220              - table: filter
235221              - chain: INPUT
235222              - jump: ACCEPT
235223              - match:
235224                  - state
235225                  - comment
235226              - comment: "Allow HTTP"
235227              - connstate: NEW
235228              - source: 'not 127.0.0.1'
235229              - dport: 80
235230              - protocol: tcp
235231              - sport: 1025:65535
235232              - save: True
235233
235234          httpd:
235235            iptables.append:
235236              - table: filter
235237              - family: ipv6
235238              - chain: INPUT
235239              - jump: ACCEPT
235240              - match: state
235241              - connstate: NEW
235242              - dport: 80
235243              - protocol: tcp
235244              - sport: 1025:65535
235245              - save: True
235246
235247          httpd:
235248            iptables.append:
235249              - table: filter
235250              - family: ipv4
235251              - chain: INPUT
235252              - jump: ACCEPT
235253              - match: state
235254              - connstate: NEW
235255              - dports:
235256                  - 80
235257                  - 443
235258              - protocol: tcp
235259              - sport: 1025:65535
235260              - save: True
235261
235262          httpd:
235263            iptables.insert:
235264              - position: 1
235265              - table: filter
235266              - chain: INPUT
235267              - jump: ACCEPT
235268              - match: state
235269              - connstate: NEW
235270              - dport: 80
235271              - protocol: tcp
235272              - sport: 1025:65535
235273              - save: True
235274
235275          httpd:
235276            iptables.insert:
235277              - position: 1
235278              - table: filter
235279              - family: ipv6
235280              - chain: INPUT
235281              - jump: ACCEPT
235282              - match: state
235283              - connstate: NEW
235284              - dport: 80
235285              - protocol: tcp
235286              - sport: 1025:65535
235287              - save: True
235288
235289          httpd:
235290            iptables.delete:
235291              - table: filter
235292              - chain: INPUT
235293              - jump: ACCEPT
235294              - match: state
235295              - connstate: NEW
235296              - dport: 80
235297              - protocol: tcp
235298              - sport: 1025:65535
235299              - save: True
235300
235301          httpd:
235302            iptables.delete:
235303              - position: 1
235304              - table: filter
235305              - chain: INPUT
235306              - jump: ACCEPT
235307              - match: state
235308              - connstate: NEW
235309              - dport: 80
235310              - protocol: tcp
235311              - sport: 1025:65535
235312              - save: True
235313
235314          httpd:
235315            iptables.delete:
235316              - table: filter
235317              - family: ipv6
235318              - chain: INPUT
235319              - jump: ACCEPT
235320              - match: state
235321              - connstate: NEW
235322              - dport: 80
235323              - protocol: tcp
235324              - sport: 1025:65535
235325              - save: True
235326
235327          default to accept:
235328            iptables.set_policy:
235329              - chain: INPUT
235330              - policy: ACCEPT
235331
235332       NOTE:
235333          Whereas  iptables  will  accept  -p, --proto[c[o[l]]] as synonyms of
235334          --protocol, if --proto appears in  an  iptables  command  after  the
235335          appearance  of -m policy, it is interpreted as the --proto option of
235336          the policy extension (see the iptables-extensions(8) man page).
235337
235338       Example rules for IPSec policy:
235339
235340          accept_esp_in:
235341            iptables.append:
235342              - table: filter
235343              - chain: INPUT
235344              - jump: ACCEPT
235345              - source: 10.20.0.0/24
235346              - destination: 10.10.0.0/24
235347              - in-interface: eth0
235348              - match: policy
235349              - dir: in
235350              - pol: ipsec
235351              - reqid: 1
235352              - proto: esp
235353          accept_esp_forward_in:
235354            iptables.append:
235355              - use:
235356                - iptables: accept_esp_in
235357              - chain: FORWARD
235358
235359          accept_esp_out:
235360            iptables.append:
235361              - table: filter
235362              - chain: OUTPUT
235363              - jump: ACCEPT
235364              - source: 10.10.0.0/24
235365              - destination: 10.20.0.0/24
235366              - out-interface: eth0
235367              - match: policy
235368              - dir: out
235369              - pol: ipsec
235370              - reqid: 1
235371              - proto: esp
235372          accept_esp_forward_out:
235373            iptables.append:
235374              - use:
235375                - iptables: accept_esp_out
235376              - chain: FORWARD
235377
235378       NOTE:
235379          Various functions of the iptables module use the --check option.  If
235380          the  version  of iptables on the target system does not include this
235381          option, an alternate version of this check will be  performed  using
235382          the  output  of iptables-save. This may have unintended consequences
235383          on legacy releases of iptables.
235384
235385       salt.states.iptables.append(name,   table=u'filter',    family=u'ipv4',
235386       **kwargs)
235387              New in version 0.17.0.
235388
235389
235390              Add a rule to the end of the specified chain.
235391
235392              name   A  user-defined name to call this rule by in another part
235393                     of a state or formula. This should not be an actual rule.
235394
235395              table  The table that owns the chain which should be modified
235396
235397              family Network family, ipv4 or ipv6.
235398
235399              All other arguments are passed in with the same name as the long
235400              option that would normally be used for iptables, with one excep‐
235401              tion: --state is specified as connstate instead of state (not to
235402              be confused with ctstate).
235403
235404              Jump  options  that  doesn't  take arguments should be passed in
235405              with an empty string.
235406
235407       salt.states.iptables.chain_absent(name,      table=u'filter',      fam‐
235408       ily=u'ipv4')
235409              New in version 2014.1.0.
235410
235411
235412              Verify the chain is absent.
235413
235414              table  The table to remove the chain from
235415
235416              family Networking family, either ipv4 or ipv6
235417
235418       salt.states.iptables.chain_present(name,      table=u'filter',     fam‐
235419       ily=u'ipv4')
235420              New in version 2014.1.0.
235421
235422
235423              Verify the chain is exist.
235424
235425              name   A user-defined chain name.
235426
235427              table  The table to own the chain.
235428
235429              family Networking family, either ipv4 or ipv6
235430
235431       salt.states.iptables.delete(name,   table=u'filter',    family=u'ipv4',
235432       **kwargs)
235433              New in version 2014.1.0.
235434
235435
235436              Delete a rule to a chain
235437
235438              name   A  user-defined name to call this rule by in another part
235439                     of a state or formula. This should not be an actual rule.
235440
235441              table  The table that owns the chain that should be modified
235442
235443              family Networking family, either ipv4 or ipv6
235444
235445              All other arguments are passed in with the same name as the long
235446              option that would normally be used for iptables, with one excep‐
235447              tion: --state is specified as connstate instead of state (not to
235448              be confused with ctstate).
235449
235450              Jump  options  that  doesn't  take arguments should be passed in
235451              with an empty string.
235452
235453       salt.states.iptables.flush(name,    table=u'filter',    family=u'ipv4',
235454       **kwargs)
235455              New in version 2014.1.0.
235456
235457
235458              Flush current iptables state
235459
235460              table  The table that owns the chain that should be modified
235461
235462              family Networking family, either ipv4 or ipv6
235463
235464       salt.states.iptables.insert(name,    table=u'filter',   family=u'ipv4',
235465       **kwargs)
235466              New in version 2014.1.0.
235467
235468
235469              Insert a rule into a chain
235470
235471              name   A user-defined name to call this rule by in another  part
235472                     of a state or formula. This should not be an actual rule.
235473
235474              table  The table that owns the chain that should be modified
235475
235476              family Networking family, either ipv4 or ipv6
235477
235478              position
235479                     The  numerical representation of where the rule should be
235480                     inserted into the chain. Note that -1 is not a  supported
235481                     position value.
235482
235483              All other arguments are passed in with the same name as the long
235484              option that would normally be used for iptables, with one excep‐
235485              tion: --state is specified as connstate instead of state (not to
235486              be confused with ctstate).
235487
235488              Jump options that doesn't take arguments  should  be  passed  in
235489              with an empty string.
235490
235491       salt.states.iptables.mod_aggregate(low, chunks, running)
235492              The  mod_aggregate  function  which  looks  up  all rules in the
235493              available low chunks and merges them into a single rules ref  in
235494              the present low data
235495
235496       salt.states.iptables.set_policy(name,  table=u'filter', family=u'ipv4',
235497       **kwargs)
235498              New in version 2014.1.0.
235499
235500
235501              Sets the default policy for iptables firewall tables
235502
235503              table  The table that owns the chain that should be modified
235504
235505              family Networking family, either ipv4 or ipv6
235506
235507              policy The requested table policy
235508
235509   salt.states.jboss7
235510       Manage JBoss 7 Application Server via CLI interface
235511
235512       New in version 2015.5.0.
235513
235514
235515       This state uses the jboss-cli.sh script from a JBoss or Wildfly instal‐
235516       lation and parses its output to determine the execution result.
235517
235518       In  order to run each state, a jboss_config dictionary with the follow‐
235519       ing properties must be passed:
235520
235521          jboss:
235522             cli_path: '/opt/jboss/jboss-7.0/bin/jboss-cli.sh'
235523             controller: 10.11.12.13:9999
235524             cli_user: 'jbossadm'
235525             cli_password: 'jbossadm'
235526
235527       If the controller doesn't require a password,  then  the  cli_user  and
235528       cli_password parameters are optional.
235529
235530       Since  same  dictionary  with  configuration  will  be  used in all the
235531       states, it may be more convenient to move JBoss configuration and other
235532       properties to the pillar.
235533
235534       Example of application deployment from local filesystem:
235535
235536          application_deployed:
235537            jboss7.deployed:
235538              - salt_source:
235539                  target_file: '/tmp/webapp.war'
235540              - jboss_config: {{ pillar['jboss'] }}
235541
235542       For the sake of brevity, examples for each state assume that jboss_con‐
235543       fig is contained in the pillar.
235544
235545       salt.states.jboss7.bindings_exist(name,  jboss_config,  bindings,  pro‐
235546       file=None)
235547              Ensures that given JNDI binding are present on the server.  If a
235548              binding doesn't exist on the server it will be created.   If  it
235549              already exists its value will be changed.
235550
235551              jboss_config:
235552                     Dict with connection properties (see state description)
235553
235554              bindings:
235555                     Dict with bindings to set.
235556
235557              profile:
235558                     The profile name (domain mode only)
235559
235560              Example:
235561
235562                 jndi_entries_created:
235563                   jboss7.bindings_exist:
235564                    - bindings:
235565                       'java:global/sampleapp/environment': 'DEV'
235566                       'java:global/sampleapp/configurationFile': '/var/opt/sampleapp/config.properties'
235567                    - jboss_config: {{ pillar['jboss'] }}
235568
235569       salt.states.jboss7.datasource_exists(name,      jboss_config,     data‐
235570       source_properties, recreate=False, profile=None)
235571              Ensures that a datasource with given  properties  exist  on  the
235572              jboss  instance.   If  datasource  doesn't exist, it is created,
235573              otherwise  only  the  properties  that  are  different  will  be
235574              updated.
235575
235576              name   Datasource property name
235577
235578              jboss_config
235579                     Dict with connection properties (see state description)
235580
235581              datasource_properties
235582                     Dict with datasource properties
235583
235584              recreate
235585                     False  If  set  to  True and datasource exists it will be
235586                     removed and created again. However, if there are  deploy‐
235587                     ments  that depend on the datasource, it will not me pos‐
235588                     sible to remove it.
235589
235590              profile
235591                     None The profile name for this  datasource  (domain  mode
235592                     only)
235593
235594              Example:
235595
235596                 sampleDS:
235597                   jboss7.datasource_exists:
235598                    - recreate: False
235599                    - datasource_properties:
235600                        driver-name: mysql
235601                        connection-url: 'jdbc:mysql://localhost:3306/sampleDatabase'
235602                        jndi-name: 'java:jboss/datasources/sampleDS'
235603                        user-name: sampleuser
235604                        password: secret
235605                        min-pool-size: 3
235606                        use-java-context: True
235607                    - jboss_config: {{ pillar['jboss'] }}
235608                    - profile: full-ha
235609
235610       salt.states.jboss7.deployed(name, jboss_config, salt_source=None)
235611              Ensures that the given application is deployed on server.
235612
235613              jboss_config:
235614                     Dict with connection properties (see state description)
235615
235616              salt_source:
235617
235618                     How to find the artifact to be deployed.
235619
235620                            target_file:
235621                                   Where  to  look in the minion's file system
235622                                   for  the  artifact  to  be  deployed  (e.g.
235623                                   '/tmp/application-web-0.39.war').      When
235624                                   source is specified,  also specifies  where
235625                                   to save the retrieved file.
235626
235627                            source:
235628                                   (optional)   File   on  salt  master  (e.g.
235629                                   salt://application-web-0.39.war).        If
235630                                   absent,  no files will be retrieved and the
235631                                   artifact in target_file will  be  used  for
235632                                   the deployment.
235633
235634                            undeploy:
235635                                   (optional)   Regular  expression  to  match
235636                                   against   existing    deployments.     When
235637                                   present,  if  there  is  a  deployment that
235638                                   matches the regular expression, it will  be
235639                                   undeployed   before  the  new  artifact  is
235640                                   deployed.
235641
235642              Examples:
235643
235644              Deployment of a file from minion's local file system:
235645
235646                 application_deployed:
235647                   jboss7.deployed:
235648                     - salt_source:
235649                         target_file: '/tmp/webapp.war'
235650                     - jboss_config: {{ pillar['jboss'] }}
235651
235652              It is assumed that /tmp/webapp.war was made  available  by  some
235653              other means.  No applications will be undeployed; if an existing
235654              deployment that  shares  that  name  exists,  then  it  will  be
235655              replaced with the updated version.
235656
235657              Deployment of a file from the Salt master's file system:
235658
235659                 application_deployed:
235660                   jboss7.deployed:
235661                    - salt_source:
235662                         source: salt://application-web-0.39.war
235663                         target_file: '/tmp/application-web-0.39.war'
235664                         undeploy: 'application-web-.*'
235665                    - jboss_config: {{ pillar['jboss'] }}
235666
235667              Here, application-web-0.39.war file is downloaded from Salt file
235668              system to /tmp/application-web-0.39.war file on minion.   Exist‐
235669              ing  deployments  are  checked  if any of them matches 'applica‐
235670              tion-web-.*' regular expression, and if so then it is undeployed
235671              before  deploying  the  application.  This is useful to automate
235672              deployment of new application versions.
235673
235674              If the source parameter of salt_source is specified, it can  use
235675              any  protocol  that the file states use.  This includes not only
235676              downloading from the master but also HTTP,  HTTPS,  FTP,  Amazon
235677              S3, and OpenStack Swift.
235678
235679       salt.states.jboss7.reloaded(name, jboss_config, timeout=60, interval=5)
235680              Reloads configuration of jboss server.
235681
235682              jboss_config:
235683                     Dict with connection properties (see state description)
235684
235685              timeout:
235686                     Time  to  wait  until  jboss  is  back  in running state.
235687                     Default timeout is 60s.
235688
235689              interval:
235690                     Interval between state checks. Default  interval  is  5s.
235691                     Decreasing  the  interval  may  slightly decrease waiting
235692                     time but be aware that every status check is  a  call  to
235693                     jboss-cli which is a java process. If interval is smaller
235694                     than process cleanup time it may easily lead to excessive
235695                     resource consumption.
235696
235697              This step performs the following operations:
235698
235699              · Ensures that server is in running or reload-required state (by
235700                reading server-state attribute)
235701
235702              · Reloads configuration
235703
235704              · Waits for server to reload and be in running state
235705
235706              Example:
235707
235708                 configuration_reloaded:
235709                    jboss7.reloaded:
235710                     - jboss_config: {{ pillar['jboss'] }}
235711
235712   salt.states.jenkins module
235713   Management of Jenkins
235714       New in version 2016.3.0.
235715
235716
235717       salt.states.jenkins.absent(name, **kwargs)
235718              Ensure the job is absent from the Jenkins configured jobs
235719
235720              name   The name of the Jenkins job to remove
235721
235722       salt.states.jenkins.present(name, config=None, **kwargs)
235723              Ensure the job is present in the Jenkins configured jobs
235724
235725              name   The unique name for the Jenkins job
235726
235727              config The Salt URL for the file to use for configuring the job
235728
235729   salt.states.junos module
235730   State modules to interact with Junos devices.
235731       maturity
235732              new
235733
235734       dependencies
235735              junos-eznc, jxmlease
235736
235737       NOTE:
235738          Those who wish to use junos-eznc (PyEZ) version >= 2.1.0,  must  use
235739          the latest salt code from github until the next release.
235740
235741       Refer to junos for information on connecting to junos proxy.
235742
235743       salt.states.junos.cli(name, **kwargs)
235744              Executes the CLI commands and reuturns the text output.
235745
235746                 show version:
235747                   junos:
235748                     - cli
235749                     - format: xml
235750
235751              Parameters
235752
235753                     · Required -- .INDENT 2.0
235754
235755                     · command:  The command that need to be executed on Junos
235756                       CLI. (default = None)
235757
235758
235759              · Optional -- .INDENT 2.0
235760
235761              ·
235762
235763                kwargs: Keyworded arguments which can be provided like-
235764
235765                       · format: Format in which to get the CLI output.  (text
235766                         or xml,                 default = 'text')
235767
235768                       · timeout:  Set  NETCONF  RPC  timeout. Can be used for
235769                         commands which take a while to execute. (default = 30
235770                         seconds)
235771
235772                       · dest:  The  destination file where the CLI output can
235773                         be stored.               (default = None)
235774
235775
235776       salt.states.junos.commit(name, **kwargs)
235777              Commits the changes loaded into the candidate configuration.
235778
235779                 commit the changes:
235780                   junos:
235781                     - commit
235782                     - confirm: 10
235783
235784              Parameters
235785                     Optional -- .INDENT 7.0
235786
235787              ·
235788
235789                kwargs: Keyworded arguments which can be provided like-
235790
235791                       · timeout: Set NETCONF RPC timeout.  Can  be  used  for
235792                         commands which take a               while to execute.
235793                         (default = 30 seconds)
235794
235795                       · comment: Provide a comment to the commit. (default  =
235796                         None)
235797
235798                       · confirm: Provide time in minutes for commit confirma‐
235799                         tion. If this option               is specified,  the
235800                         commit   will   be   rollbacked  in  the  given  time
235801                         unless the commit is confirmed.
235802
235803                       · sync: On dual control plane  systems,  requests  that
235804                         the  candidate              configuration on one con‐
235805                         trol plane be copied to the other                con‐
235806                         trol  plane,checked for correct syntax, and committed
235807                         on               both  Routing  Engines.  (default  =
235808                         False)
235809
235810                       · force_sync:  On dual control plane systems, force the
235811                         candidate configuration on one control  plane  to  be
235812                         copied to the other control plane.
235813
235814                       · full:  When  set  to True requires all the daemons to
235815                         check and evaluate               the  new  configura‐
235816                         tion.
235817
235818                       · detail: When true return commit detail.
235819
235820
235821       salt.states.junos.commit_check(name)
235822              Perform a commit check on the configuration.
235823
235824                 perform commit check:
235825                   junos.commit_check
235826
235827       salt.states.junos.diff(name, d_id)
235828              Gets  the  difference between the candidate and the current con‐
235829              figuration.
235830
235831                 get the diff:
235832                   junos:
235833                     - diff
235834                     - id: 10
235835
235836              Parameters
235837                     Optional -- .INDENT 7.0
235838
235839              · id: The rollback id value [0-49]. (default = 0)
235840
235841
235842       salt.states.junos.file_copy(name, dest=None, **kwargs)
235843              Copies the file from the local device to the junos device.
235844
235845                 /home/m2/info.txt:
235846                   junos:
235847                     - file_copy
235848                     - dest: info_copy.txt
235849
235850              Parameters
235851                     Required -- .INDENT 7.0
235852
235853              · src: The sorce path where the file is kept.
235854
235855              · dest: The destination path where the file will be copied.
235856
235857
235858       salt.states.junos.install_config(name, **kwargs)
235859              Loads and commits the configuration provided.
235860
235861                 Install the mentioned config:
235862                   junos:
235863                     - install_config
235864                     - path: salt//configs/interface.set
235865                     - timeout: 100
235866                     - diffs_file: 'var/log/diff'
235867
235868                 Install the mentioned config:
235869                   junos:
235870                     - install_config
235871                     - template_path: salt//configs/interface.set
235872                     - timeout: 100
235873                     - template_vars:
235874                         interface_name: lo0
235875                         description: Creating interface via SaltStack.
235876
235877              name   Path where the configuration/template file is present. If
235878                     the  file  has a *.conf extension, the content is treated
235879                     as text format. If the file has a  *.xml  extension,  the
235880                     content is treated as XML format. If the file has a *.set
235881                     extension, the content is treated as Junos  OS  set  com‐
235882                     mands
235883
235884              template_vars
235885                     The dictionary of data for the jinja variables present in
235886                     the jinja template
235887
235888              timeout
235889                     30 Set NETCONF RPC timeout.  Can  be  used  for  commands
235890                     which take a while to execute.
235891
235892              overwrite
235893                     False.INDENT 7.0
235894
235895              Set to True if you want this file is to completely replace the
235896                     configuration file.
235897
235898       replace
235899              False  Specify  whether  the  configuration file uses "replace:"
235900              statements.  Only those statements under the 'replace' tag  will
235901              be changed.
235902
235903       comment
235904              Provide a comment to the commit. (default = None)
235905
235906       confirm
235907              Provide  time in minutes for commit confirmation. If this option
235908              is specified, the commit will be rolled back in the  given  time
235909              unless the commit is confirmed.
235910
235911       diffs_file
235912              Path to the file where the diff (difference in old configuration
235913              and the committed configuration) will be stored.
235914
235915              NOTE:
235916                 The file will be stored on the  proxy  minion.  To  push  the
235917                 files to the master use cp.push.
235918
235919       salt.states.junos.install_os(name, **kwargs)
235920              Installs  the  given image on the device. After the installation
235921              is complete the device is rebooted, if reboot=True is given as a
235922              keyworded argument.
235923
235924                 salt://images/junos_image.tgz:
235925                   junos:
235926                     - install_os
235927                     - timeout: 100
235928                     - reboot: True
235929
235930              Parameters
235931
235932                     · Required -- .INDENT 2.0
235933
235934                     · path:  Path  where the image file is present on the pro
235935                       xy minion.
235936
235937
235938              · Optional -- .INDENT 2.0
235939
235940              ·
235941
235942                kwargs: keyworded arguments  to  be  given  such  as  timeout,
235943                reboot etc
235944
235945                       · timeout: Set NETCONF RPC timeout. Can be used to RPCs
235946                         which take a while to execute. (default = 30 seconds)
235947
235948                       · reboot: Whether to reboot after installation (default
235949                         = False)
235950
235951                       · no_copy:  When  True the software package will not be
235952                         SCP’d to the device.               (default = False)
235953
235954
235955       salt.states.junos.load(name, **kwargs)
235956              Loads the configuration provided onto the junos device.
235957
235958                 Install the mentioned config:
235959                   junos:
235960                     - load
235961                     - path: salt//configs/interface.set
235962
235963                 Install the mentioned config:
235964                   junos:
235965                     - load
235966                     - template_path: salt//configs/interface.set
235967                     - template_vars:
235968                         interface_name: lo0
235969                         description: Creating interface via SaltStack.
235970
235971              name   Path where the configuration/template file is present. If
235972                     the  file  has a *.conf extension, the content is treated
235973                     as text format. If the file has a  *.xml  extension,  the
235974                     content is treated as XML format. If the file has a *.set
235975                     extension, the content is treated as Junos  OS  set  com‐
235976                     mands.
235977
235978              overwrite
235979                     False  Set to True if you want this file is to completely
235980                     replace the configuration file.
235981
235982              replace
235983                     False  Specify  whether  the  configuration   file   uses
235984                     "replace:"  statements.   Only those statements under the
235985                     'replace' tag will be changed.
235986
235987              format:
235988                     Determines the format of the contents.
235989
235990              update False Compare a complete loaded configuration against the
235991                     candidate configuration. For each hierarchy level or con‐
235992                     figuration object that is different in the two configura‐
235993                     tions,  the  version in the loaded configuration replaces
235994                     the version in the candidate configuration. When the con‐
235995                     figuration is later committed, only system processes that
235996                     are affected by the changed configuration elements  parse
235997                     the new configuration. This action is supported from PyEZ
235998                     2.1 (default = False)
235999
236000              template_vars
236001                     Variables to  be  passed  into  the  template  processing
236002                     engine  in  addition  to  those  present  in  __pillar__,
236003                     __opts__, __grains__, etc.  You may reference these vari‐
236004                     ables    in    your    template    like   so:   {{   tem‐
236005                     plate_vars["var_name"] }}
236006
236007       salt.states.junos.lock(name)
236008              Attempts an exclusive lock on the candidate configuration.  This
236009              is a non-blocking call.
236010
236011              NOTE:
236012                 Any  user who wishes to use lock, must necessarily unlock the
236013                 configuration too.  Ensure  unlock  is  called  in  the  same
236014                 orchestration run in which the lock is called.
236015
236016                 lock the config:
236017                   junos.lock
236018
236019       salt.states.junos.rollback(name, id, **kwargs)
236020              Rollbacks the committed changes.
236021
236022                 rollback the changes:
236023                   junos:
236024                     - rollback
236025                     - id: 5
236026
236027              Parameters
236028                     Optional -- .INDENT 7.0
236029
236030              · id: The rollback id value [0-49]. (default = 0)
236031
236032              ·
236033
236034                kwargs: Keyworded arguments which can be provided like-
236035
236036                       · timeout:  Set  NETCONF  RPC  timeout. Can be used for
236037                         commands which take a while to execute. (default = 30
236038                         seconds)
236039
236040                       · comment:  Provide a comment to the commit. (default =
236041                         None)
236042
236043                       · confirm: Provide time in minutes for commit confirma‐
236044                         tion.  If this option               is specified, the
236045                         commit  will  be  rollbacked  in   the   given   time
236046                         unless the commit is confirmed.
236047
236048                       · diffs_file:  Path to the file where any diffs will be
236049                         written. (default = None)
236050
236051
236052       salt.states.junos.rpc(name,   dest=None,   format=u'xml',    args=None,
236053       **kwargs)
236054              Executes  the  given  rpc.  The returned data can be stored in a
236055              file by specifying the destination path with dest as an argument
236056
236057                 get-interface-information:
236058                     junos:
236059                       - rpc
236060                       - dest: /home/user/rpc.log
236061                       - interface_name: lo0
236062
236063              Parameters
236064
236065                     · Required -- .INDENT 2.0
236066
236067                     · cmd: The rpc to be executed. (default = None)
236068
236069
236070              · Optional -- .INDENT 2.0
236071
236072              · dest:  Destination  file  where  the  rpc  output  is  stored.
236073                (default  =  None)  Note  that  the file will be stored on the
236074                proxy minion. To push the files to the master use  the  salt's
236075                following execution module:             cp.push
236076
236077              · format:  The  format  in which the rpc reply must be stored in
236078                file specified in the dest (used only when dest is  specified)
236079                (default = xml)
236080
236081              ·
236082
236083                kwargs: keyworded arguments taken by rpc call like-
236084
236085                       · timeout:  Set  NETCONF  RPC  timeout. Can be used for
236086                         commands which take a while to execute. (default=  30
236087                         seconds)
236088
236089                       · filter:  Only to be used with 'get-config' rpc to get
236090                         specific configuration.
236091
236092                       · terse: Amount of information you want.
236093
236094                       · interface_name: Name of the interface whose  informa‐
236095                         tion you want.
236096
236097
236098       salt.states.junos.set_hostname(name, **kwargs)
236099              Changes the hostname of the device.
236100
236101                 device_name:
236102                   junos:
236103                     - set_hostname
236104                     - comment: "Host-name set via saltstack."
236105
236106              Parameters
236107
236108                     · Required -- .INDENT 2.0
236109
236110                     · hostname: The name to be set. (default = None)
236111
236112
236113              · Optional -- .INDENT 2.0
236114
236115              ·
236116
236117                kwargs: Keyworded arguments which can be provided like-
236118
236119                       · timeout:  Set  NETCONF  RPC  timeout. Can be used for
236120                         commands which take a while to execute. (default = 30
236121                         seconds)
236122
236123                       · comment:  Provide a comment to the commit. (default =
236124                         None)
236125
236126                       · confirm: Provide time in minutes for commit confirma‐
236127                         tion.                If this option is specified, the
236128                         commit will be rollbacked in               the  given
236129                         time unless the commit is confirmed.
236130
236131
236132       salt.states.junos.shutdown(name, **kwargs)
236133              Shuts down the device.
236134
236135                 shut the device:
236136                   junos:
236137                     - shutdown
236138                     - in_min: 10
236139
236140              Parameters
236141                     Optional -- .INDENT 7.0
236142
236143              ·
236144
236145                kwargs:
236146
236147                       · reboot:   Whether  to  reboot  instead  of  shutdown.
236148                         (default=False)
236149
236150                       · at: Specify time for reboot.  (To  be  used  only  if
236151                         reboot=yes)
236152
236153                       · in_min: Specify delay in minutes for shutdown
236154
236155
236156       salt.states.junos.unlock(name)
236157              Unlocks the candidate configuration.
236158
236159                 unlock the config:
236160                   junos.unlock
236161
236162       salt.states.junos.zeroize(name)
236163              Resets the device to default factory settings.
236164
236165                 reset my device:
236166                   junos.zeroize
236167
236168              name: can be anything
236169
236170   salt.states.kapacitor module
236171       Kapacitor state module.
236172
236173       configuration
236174              This  module  accepts connection configuration details either as
236175              parameters or as configuration settings in  /etc/salt/minion  on
236176              the relevant minions:
236177
236178                 kapacitor.unsafe_ssl: 'false'
236179                 kapacitor.protocol: 'http'
236180                 kapacitor.host: 'localhost'
236181                 kapacitor.port: 9092
236182
236183              This  data  can  also be passed into pillar. Options passed into
236184              opts will overwrite options passed into pillar.
236185
236186       New in version 2016.11.0.
236187
236188
236189       salt.states.kapacitor.task_absent(name)
236190              Ensure that a task is absent from Kapacitor.
236191
236192              name   Name of the task.
236193
236194       salt.states.kapacitor.task_present(name,                   tick_script,
236195       task_type=u'stream',     database=None,    retention_policy=u'default',
236196       enable=True, dbrps=None)
236197              Ensure that a task is present and up-to-date in Kapacitor.
236198
236199              name   Name of the task.
236200
236201              tick_script
236202                     Path to the TICK script for the task. Can  be  a  salt://
236203                     source.
236204
236205              task_type
236206                     Task type. Defaults to 'stream'
236207
236208              dbrps  A   list   of   databases   and   retention  policies  in
236209                     "dbname"."rpname" format to fetch data from. For backward
236210                     compatibility,   the  value  of  'database'  and  'reten‐
236211                     tion_policy' will be merged as part of dbrps.
236212
236213                     New in version Fluorine.
236214
236215
236216              database
236217                     Which database to fetch  data  from.  Defaults  to  None,
236218                     which will use the default database in InfluxDB.
236219
236220              retention_policy
236221                     Which  retention  policy  to fetch data from. Defaults to
236222                     'default'.
236223
236224              enable Whether to enable the task or not. Defaults to True.
236225
236226   salt.states.kernelpkg
236227   Manage kernel packages and active kernel version
236228       Example state to install the latest kernel from package repositories:
236229
236230          install-latest-kernel:
236231            kernel.latest_installed: []
236232
236233       Example state to boot the system if a new kernel has been installed:
236234
236235          boot-latest-kernel:
236236            kernel.latest_active:
236237              - at_time: 1
236238
236239       Example state chaining the install and reboot operations:
236240
236241          install-latest-kernel:
236242            kernel.latest_installed: []
236243
236244          boot-latest-kernel:
236245            kernel.latest_active:
236246              - at_time: 1
236247              - onchanges:
236248                - kernel: install-latest-kernel
236249
236250       Chaining can also be achieved using wait/listen requisites:
236251
236252          install-latest-kernel:
236253            kernel.latest_installed: []
236254
236255          boot-latest-kernel:
236256            kernel.latest_wait:
236257              - at_time: 1
236258              - listen:
236259                - kernel: install-latest-kernel
236260
236261       salt.states.kernelpkg.latest_active(name, at_time=None, **kwargs)
236262              Initiate a reboot if the running kernel is not  the  latest  one
236263              installed.
236264
236265              NOTE:
236266                 This state does not install any patches. It only compares the
236267                 running kernel version number to other kernel  versions  also
236268                 installed  in  the  system. If the running version is not the
236269                 latest one installed, this state will reboot the system.
236270
236271                 See kernelpkg.upgrade  and  latest_installed()  for  ways  to
236272                 install new kernel packages.
236273
236274                 This  module  does  not  attempt to understand or manage boot
236275                 loader configurations it is possible to  have  a  new  kernel
236276                 installed,  but  a  boot loader configuration that will never
236277                 activate it. For this reason, it would not  be  advisable  to
236278                 schedule this state to run automatically.
236279
236280                 Because  this  state function may cause the system to reboot,
236281                 it may be preferable to move it to the very end of the  state
236282                 run.   See  latest_wait()  for  a  waitable state that can be
236283                 called with the listen requesite.
236284
236285              name   Arbitrary name for the state. Does not affect behavior.
236286
236287              at_time
236288                     The wait time  in  minutes  before  the  system  will  be
236289                     rebooted.
236290
236291       salt.states.kernelpkg.latest_installed(name, **kwargs)
236292              Ensure  that  the  latest version of the kernel available in the
236293              repositories is installed.
236294
236295              NOTE:
236296                 This state only installs the kernel, but  does  not  activate
236297                 it.   The new kernel should become active at the next reboot.
236298                 See kernelpkg.needs_reboot for details on how to detect  this
236299                 condition,  and  latest_active()  to  initiale  a reboot when
236300                 needed.
236301
236302              name   Arbitrary name for the state. Does not affect behavior.
236303
236304       salt.states.kernelpkg.latest_wait(name, at_time=None, **kwargs)
236305              Initiate a reboot if the running kernel is not  the  latest  one
236306              installed.  This  is the waitable version of latest_active() and
236307              will not take any action unless triggered by a watch  or  listen
236308              requesite.
236309
236310              NOTE:
236311                 Because  this  state function may cause the system to reboot,
236312                 it may be preferable to move it to the very end of the  state
236313                 run using listen or listen_in requisites.
236314
236315                     system-up-to-date:
236316                       pkg.uptodate:
236317                         - refresh: true
236318
236319                     boot-latest-kernel:
236320                       kernelpkg.latest_wait:
236321                         - at_time: 1
236322                         - listen:
236323                           - pkg: system-up-to-date
236324
236325              name   Arbitrary name for the state. Does not affect behavior.
236326
236327              at_time
236328                     The  wait  time  in  minutes  before  the  system will be
236329                     rebooted.
236330
236331       salt.states.kernelpkg.mod_watch(name, sfun, **kwargs)
236332              Execute a kernelpkg state based on a watch or listen call
236333
236334   salt.states.keyboard
236335   Management of keyboard layouts
236336       The keyboard layout can be managed for the system:
236337
236338          us:
236339            keyboard.system
236340
236341       Or it can be managed for XOrg:
236342
236343          us:
236344            keyboard.xorg
236345
236346       salt.states.keyboard.system(name)
236347              Set the keyboard layout for the system
236348
236349              name   The keyboard layout to use
236350
236351       salt.states.keyboard.xorg(name)
236352              Set the keyboard layout for XOrg
236353
236354              layout The keyboard layout to use
236355
236356   salt.states.keystone
236357   Management of Keystone users
236358       depends
236359
236360              · keystoneclient Python module
236361
236362       configuration
236363              See salt.modules.keystone for setup instructions.
236364
236365          Keystone tenants:
236366            keystone.tenant_present:
236367              - names:
236368                - admin
236369                - demo
236370                - service
236371
236372          Keystone roles:
236373            keystone.role_present:
236374              - names:
236375                - admin
236376                - Member
236377
236378          admin:
236379            keystone.user_present:
236380              - password: R00T_4CC3SS
236381              - email: admin@domain.com
236382              - roles:
236383                  admin:   # tenants
236384                    - admin  # roles
236385                  service:
236386                    - admin
236387                    - Member
236388              - require:
236389                - keystone: Keystone tenants
236390                - keystone: Keystone roles
236391
236392          nova:
236393            keystone.user_present:
236394              - password: '$up3rn0v4'
236395              - email: nova@domain.com
236396              - tenant: service
236397              - roles:
236398                  service:
236399                    - admin
236400              - require:
236401                - keystone: Keystone tenants
236402                - keystone: Keystone roles
236403
236404          demo:
236405            keystone.user_present:
236406              - password: 'd3m0n$trati0n'
236407              - email: demo@domain.com
236408              - tenant: demo
236409              - roles:
236410                  demo:
236411                    - Member
236412              - require:
236413                - keystone: Keystone tenants
236414                - keystone: Keystone roles
236415
236416          nova service:
236417            keystone.service_present:
236418              - name: nova
236419              - service_type: compute
236420              - description: OpenStack Compute Service
236421
236422       salt.states.keystone.endpoint_absent(name,  region=None,  profile=None,
236423       interface=None, **connection_args)
236424              Ensure that the endpoint for a service doesn't exist in Keystone
236425              catalog
236426
236427              name   The name of the service whose endpoints should not exist
236428
236429              region (optional)
236430                     The region of the endpoint.  Defaults to RegionOne.
236431
236432              interface
236433                     The interface type, which describes the visibility of the
236434                     endpoint. (for V3 API)
236435
236436       salt.states.keystone.endpoint_present(name,    publicurl=None,   inter‐
236437       nalurl=None, adminurl=None, region=None, profile=None, url=None, inter‐
236438       face=None, **connection_args)
236439              Ensure the specified endpoints exists for service
236440
236441              name   The Service name
236442
236443              publicurl
236444                     The public url of service endpoint (for V2 API)
236445
236446              internalurl
236447                     The internal url of service endpoint (for V2 API)
236448
236449              adminurl
236450                     The admin url of the service endpoint (for V2 API)
236451
236452              region The region of the endpoint
236453
236454              url    The endpoint URL (for V3 API)
236455
236456              interface
236457                     The interface type, which describes the visibility of the
236458                     endpoint. (for V3 API)
236459
236460       salt.states.keystone.project_absent(name,    profile=None,    **connec‐
236461       tion_args)
236462              Ensure  that  the  keystone  project  is absent.  Alias for ten‐
236463              ant_absent from V2 API to fulfill V3 API naming convention.
236464
236465              New in version 2016.11.0.
236466
236467
236468              name   The name of the project that should not exist
236469
236470                 delete_nova:
236471                     keystone.project_absent:
236472                         - name: nova
236473
236474       salt.states.keystone.project_present(name,            description=None,
236475       enabled=True, profile=None, **connection_args)
236476              Ensures   that  the  keystone  project  exists  Alias  for  ten‐
236477              ant_present from V2 API to fulfill V3 API naming convention.
236478
236479              New in version 2016.11.0.
236480
236481
236482              name   The name of the project to manage
236483
236484              description
236485                     The description to use for this project
236486
236487              enabled
236488                     Availability state for this project
236489
236490                 nova:
236491                     keystone.project_present:
236492                         - enabled: True
236493                         - description: 'Nova Compute Service'
236494
236495       salt.states.keystone.role_absent(name, profile=None, **connection_args)
236496              Ensure that the keystone role is absent.
236497
236498              name   The name of the role that should not exist
236499
236500       salt.states.keystone.role_present(name,     profile=None,     **connec‐
236501       tion_args)
236502              ' Ensures that the keystone role exists
236503
236504              name   The name of the role that should be present
236505
236506       salt.states.keystone.service_absent(name,    profile=None,    **connec‐
236507       tion_args)
236508              Ensure that the service doesn't exist in Keystone catalog
236509
236510              name   The name of the service that should not exist
236511
236512       salt.states.keystone.service_present(name,    service_type,    descrip‐
236513       tion=None, profile=None, **connection_args)
236514              Ensure service present in Keystone catalog
236515
236516              name   The name of the service
236517
236518              service_type
236519                     The type of Openstack Service
236520
236521              description (optional)
236522                     Description of the service
236523
236524       salt.states.keystone.tenant_absent(name,     profile=None,    **connec‐
236525       tion_args)
236526              Ensure that the keystone tenant is absent.
236527
236528              name   The name of the tenant that should not exist
236529
236530       salt.states.keystone.tenant_present(name,             description=None,
236531       enabled=True, profile=None, **connection_args)
236532              Ensures that the keystone tenant exists
236533
236534              name   The name of the tenant to manage
236535
236536              description
236537                     The description to use for this tenant
236538
236539              enabled
236540                     Availability state for this tenant
236541
236542       salt.states.keystone.user_absent(name, profile=None, **connection_args)
236543              Ensure that the keystone user is absent.
236544
236545              name   The name of the user that should not exist
236546
236547       salt.states.keystone.user_present(name,  password,  email, tenant=None,
236548       enabled=True,    roles=None,     profile=None,     password_reset=True,
236549       project=None, **connection_args)
236550              Ensure  that  the  keystone  user  is present with the specified
236551              properties.
236552
236553              name   The name of the user to manage
236554
236555              password
236556                     The password to use for this user.
236557
236558                     NOTE:
236559                        If the user already exists and  a  different  password
236560                        was  set for the user than the one specified here, the
236561                        password for the user will be updated. Please set  the
236562                        password_reset  option  to  False  if  this is not the
236563                        desired behavior.
236564
236565              password_reset
236566                     Whether or not  to  reset  password  after  initial  set.
236567                     Defaults to True.
236568
236569              email  The email address for this user
236570
236571              tenant The tenant (name) for this user
236572
236573              project
236574                     The project (name) for this user (overrides tenant in api
236575                     v3)
236576
236577              enabled
236578                     Availability state for this user
236579
236580              roles  The roles the  user  should  have  under  given  tenants.
236581                     Passed  as a dictionary mapping tenant names to a list of
236582                     roles in this tenant, i.e.:
236583
236584                        roles:
236585                            admin:   # tenant
236586                              - admin  # role
236587                            service:
236588                              - admin
236589                              - Member
236590
236591   salt.states.keystone_domain
236592   Management of OpenStack Keystone Domains
236593       New in version 2018.3.0.
236594
236595
236596       depends
236597              shade
236598
236599       configuration
236600              see salt.modules.keystoneng for setup instructions
236601
236602       Example States
236603
236604          create domain:
236605            keystone_domain.present:
236606              - name: domain1
236607
236608          create domain with optional params:
236609            keystone_domain.present:
236610              - name: domain1
236611              - enabled: False
236612              - description: 'my domain'
236613
236614          delete domain:
236615            keystone_domain.absent:
236616              - name: domain1
236617
236618       salt.states.keystone_domain.absent(name, auth=None)
236619              Ensure domain does not exist
236620
236621              name   Name of the domain
236622
236623       salt.states.keystone_domain.present(name, auth=None, **kwargs)
236624              Ensure domain exists and is up-to-date
236625
236626              name   Name of the domain
236627
236628              enabled
236629                     Boolean to control if domain is enabled
236630
236631              description
236632                     An arbitrary description of the domain
236633
236634   salt.states.keystone_endpoint
236635   Management of OpenStack Keystone Endpoints
236636       New in version 2018.3.0.
236637
236638
236639       depends
236640              shade
236641
236642       configuration
236643              see salt.modules.keystoneng for setup instructions
236644
236645       Example States
236646
236647          create endpoint:
236648            keystone_endpoint.present:
236649              - name: public
236650              - url: https://example.org:9292
236651              - region: RegionOne
236652              - service_name: glance
236653
236654          destroy endpoint:
236655            keystone_endpoint.absent:
236656              - name: public
236657              - url: https://example.org:9292
236658              - region: RegionOne
236659              - service_name: glance
236660
236661          create multiple endpoints:
236662            keystone_endpoint.absent:
236663              - names:
236664                  - public
236665                  - admin
236666                  - internal
236667              - url: https://example.org:9292
236668              - region: RegionOne
236669              - service_name: glance
236670
236671       salt.states.keystone_endpoint.absent(name,   service_name,   auth=None,
236672       **kwargs)
236673              Ensure an endpoint does not exists
236674
236675              name   Interface name
236676
236677              url    URL of the endpoint
236678
236679              service_name
236680                     Service name or ID
236681
236682              region The region name to assign the endpoint
236683
236684       salt.states.keystone_endpoint.present(name,   service_name,  auth=None,
236685       **kwargs)
236686              Ensure an endpoint exists and is up-to-date
236687
236688              name   Interface name
236689
236690              url    URL of the endpoint
236691
236692              service_name
236693                     Service name or ID
236694
236695              region The region name to assign the endpoint
236696
236697              enabled
236698                     Boolean to control if endpoint is enabled
236699
236700   salt.states.keystone_group
236701   Management of OpenStack Keystone Groups
236702       New in version 2018.3.0.
236703
236704
236705       depends
236706              shade
236707
236708       configuration
236709              see salt.modules.keystoneng for setup instructions
236710
236711       Example States
236712
236713          create group:
236714            keystone_group.present:
236715              - name: group1
236716
236717          delete group:
236718            keystone_group.absent:
236719              - name: group1
236720
236721          create group with optional params:
236722            keystone_group.present:
236723              - name: group1
236724              - domain: domain1
236725              - description: 'my group'
236726
236727       salt.states.keystone_group.absent(name, auth=None, **kwargs)
236728              Ensure group does not exist
236729
236730              name   Name of the group
236731
236732              domain The name or id of the domain
236733
236734       salt.states.keystone_group.present(name, auth=None, **kwargs)
236735              Ensure an group exists and is up-to-date
236736
236737              name   Name of the group
236738
236739              domain The name or id of the domain
236740
236741              description
236742                     An arbitrary description of the group
236743
236744   salt.states.keystone_project
236745   Management of OpenStack Keystone Projects
236746       New in version 2018.3.0.
236747
236748
236749       depends
236750              shade
236751
236752       configuration
236753              see salt.modules.keystoneng for setup instructions
236754
236755       Example States
236756
236757          create project:
236758            keystone_project.present:
236759              - name: project1
236760
236761          delete project:
236762            keystone_project.absent:
236763              - name: project1
236764
236765          create project with optional params:
236766            keystone_project.present:
236767              - name: project1
236768              - domain: domain1
236769              - enabled: False
236770              - description: 'my project'
236771
236772       salt.states.keystone_project.absent(name, auth=None, **kwargs)
236773              Ensure a project does not exists
236774
236775              name   Name of the project
236776
236777              domain The name or id of the domain
236778
236779       salt.states.keystone_project.present(name, auth=None, **kwargs)
236780              Ensure a project exists and is up-to-date
236781
236782              name   Name of the project
236783
236784              domain The name or id of the domain
236785
236786              description
236787                     An arbitrary description of the project
236788
236789   salt.states.keystone_role
236790   Management of OpenStack Keystone Roles
236791       New in version 2018.3.0.
236792
236793
236794       depends
236795              shade
236796
236797       configuration
236798              see salt.modules.keystoneng for setup instructions
236799
236800       Example States
236801
236802          create role:
236803            keystone_role.present:
236804              - name: role1
236805
236806          delete role:
236807            keystone_role.absent:
236808              - name: role1
236809
236810          create role with optional params:
236811            keystone_role.present:
236812              - name: role1
236813              - description: 'my group'
236814
236815       salt.states.keystone_role.absent(name, auth=None, **kwargs)
236816              Ensure role does not exist
236817
236818              name   Name of the role
236819
236820       salt.states.keystone_role.present(name, auth=None, **kwargs)
236821              Ensure an role exists
236822
236823              name   Name of the role
236824
236825              description
236826                     An arbitrary description of the role
236827
236828   salt.states.keystone_role_grant
236829   Management of OpenStack Keystone Role Grants
236830       New in version 2018.3.0.
236831
236832
236833       depends
236834              shade
236835
236836       configuration
236837              see salt.modules.keystoneng for setup instructions
236838
236839       Example States
236840
236841          create group:
236842            keystone_group.present:
236843              - name: group1
236844
236845          delete group:
236846            keystone_group.absent:
236847              - name: group1
236848
236849          create group with optional params:
236850            keystone_group.present:
236851              - name: group1
236852              - domain: domain1
236853              - description: 'my group'
236854
236855       salt.states.keystone_role_grant.absent(name, auth=None, **kwargs)
236856
236857       salt.states.keystone_role_grant.present(name, auth=None, **kwargs)
236858
236859   salt.states.keystone_service
236860   Management of OpenStack Keystone Services
236861       New in version 2018.3.0.
236862
236863
236864       depends
236865              shade
236866
236867       configuration
236868              see salt.modules.keystoneng for setup instructions
236869
236870       Example States
236871
236872          create service:
236873            keystone_service.present:
236874              - name: glance
236875              - type: image
236876
236877          delete service:
236878            keystone_service.absent:
236879              - name: glance
236880
236881          create service with optional params:
236882            keystone_service.present:
236883              - name: glance
236884              - type: image
236885              - enabled: False
236886              - description: 'OpenStack Image'
236887
236888       salt.states.keystone_service.absent(name, auth=None)
236889              Ensure service does not exist
236890
236891              name   Name of the service
236892
236893       salt.states.keystone_service.present(name, auth=None, **kwargs)
236894              Ensure an service exists and is up-to-date
236895
236896              name   Name of the group
236897
236898              type   Service type
236899
236900              enabled
236901                     Boolean to control if service is enabled
236902
236903              description
236904                     An arbitrary description of the service
236905
236906   salt.states.keystone_user
236907   Management of OpenStack Keystone Users
236908       New in version 2018.3.0.
236909
236910
236911       depends
236912              shade
236913
236914       configuration
236915              see salt.modules.keystoneng for setup instructions
236916
236917       Example States
236918
236919          create user:
236920            keystone_user.present:
236921              - name: user1
236922
236923          delete user:
236924            keystone_user.absent:
236925              - name: user1
236926
236927          create user with optional params:
236928            keystone_user.present:
236929              - name: user1
236930              - domain: domain1
236931              - enabled: False
236932              - password: password123
236933              - email: "user1@example.org"
236934              - description: 'my user'
236935
236936       salt.states.keystone_user.absent(name, auth=None, **kwargs)
236937              Ensure user does not exists
236938
236939              name   Name of the user
236940
236941              domain The name or id of the domain
236942
236943       salt.states.keystone_user.present(name, auth=None, **kwargs)
236944              Ensure domain exists and is up-to-date
236945
236946              name   Name of the domain
236947
236948              domain The name or id of the domain
236949
236950              enabled
236951                     Boolean to control if domain is enabled
236952
236953              description
236954                     An arbitrary description of the domain
236955
236956              password
236957                     The user password
236958
236959              email  The users email address
236960
236961   salt.states.kmod
236962   Loading and unloading of kernel modules
236963       The Kernel modules on a system can be managed  cleanly  with  the  kmod
236964       state module:
236965
236966          add_kvm:
236967            kmod.present:
236968              - name: kvm_amd
236969          remove_beep:
236970            kmod.absent:
236971              - name: pcspkr
236972
236973       Multiple   modules   can   be   specified  for  both  kmod.present  and
236974       kmod.absent.
236975
236976          add_sound:
236977            kmod.present:
236978              - mods:
236979                - snd_hda_codec_hdmi
236980                - snd_hda_codec
236981                - snd_hwdep
236982                - snd_hda_core
236983                - snd_pcm
236984                - snd_timer
236985                - snd
236986
236987       salt.states.kmod.absent(name, persist=False, comment=True, mods=None)
236988              Verify that the named kernel module is not loaded
236989
236990              name   The name of the kernel module to verify is not loaded
236991
236992              persist
236993                     Remove module from /etc/modules
236994
236995              comment
236996                     Comment out module in /etc/modules rather than remove it
236997
236998              mods   A list of modules to verify are unloaded.  If this  argu‐
236999                     ment is used, the name argument, although still required,
237000                     is not used, and becomes a placeholder
237001
237002                     New in version 2016.3.0.
237003
237004
237005       salt.states.kmod.present(name, persist=False, mods=None)
237006              Ensure that the specified kernel module is loaded
237007
237008              name   The name of the kernel module to verify is loaded
237009
237010              persist
237011                     Also add module to /etc/modules
237012
237013              mods   A list of modules to verify are loaded.  If this argument
237014                     is  used,  the name argument, although still required, is
237015                     not used, and becomes a placeholder
237016
237017                     New in version 2016.3.0.
237018
237019
237020   salt.states.kubernetes
237021   Manage kubernetes resources as salt states
237022       NOTE: This module requires the proper pillar values set. See  salt.mod‐
237023       ules.kubernetes for more information.
237024
237025       WARNING:
237026          Configuration options will change in Fluorine.
237027
237028       The kubernetes module is used to manage different kubernetes resources.
237029
237030          my-nginx:
237031            kubernetes.deployment_present:
237032              - namespace: default
237033                metadata:
237034                  app: frontend
237035                spec:
237036                  replicas: 1
237037                  template:
237038                    metadata:
237039                      labels:
237040                        run: my-nginx
237041                    spec:
237042                      containers:
237043                      - name: my-nginx
237044                        image: nginx
237045                        ports:
237046                        - containerPort: 80
237047
237048          my-mariadb:
237049            kubernetes.deployment_absent:
237050              - namespace: default
237051
237052          # kubernetes deployment as specified inside of
237053          # a file containing the definition of the the
237054          # deployment using the official kubernetes format
237055          redis-master-deployment:
237056            kubernetes.deployment_present:
237057              - name: redis-master
237058              - source: salt://k8s/redis-master-deployment.yml
237059            require:
237060              - pip: kubernetes-python-module
237061
237062          # kubernetes service as specified inside of
237063          # a file containing the definition of the the
237064          # service using the official kubernetes format
237065          redis-master-service:
237066            kubernetes.service_present:
237067              - name: redis-master
237068              - source: salt://k8s/redis-master-service.yml
237069            require:
237070              - kubernetes.deployment_present: redis-master
237071
237072          # kubernetes deployment as specified inside of
237073          # a file containing the definition of the the
237074          # deployment using the official kubernetes format
237075          # plus some jinja directives
237076           nginx-source-template:
237077            kubernetes.deployment_present:
237078              - source: salt://k8s/nginx.yml.jinja
237079              - template: jinja
237080            require:
237081              - pip: kubernetes-python-module
237082
237083
237084          # Kubernetes secret
237085          k8s-secret:
237086            kubernetes.secret_present:
237087              - name: top-secret
237088                data:
237089                  key1: value1
237090                  key2: value2
237091                  key3: value3
237092
237093       salt.states.kubernetes.configmap_absent(name,      namespace='default',
237094       **kwargs)
237095              Ensures that the named configmap is absent from the given names‐
237096              pace.
237097
237098              name   The name of the configmap
237099
237100              namespace
237101                     The namespace holding the configmap. The 'default' one is
237102                     going to be used unless a different one is specified.
237103
237104       salt.states.kubernetes.configmap_present(name,     namespace='default',
237105       data=None, source=None, template=None, **kwargs)
237106              Ensures that the named configmap is present inside of the speci‐
237107              fied namespace with the given data.  If the configmap exists  it
237108              will be replaced.
237109
237110              name   The name of the configmap.
237111
237112              namespace
237113                     The namespace holding the configmap. The 'default' one is
237114                     going to be used unless a different one is specified.
237115
237116              data   The dictionary holding the configmaps.
237117
237118              source A file containing the data of the configmap in plain for‐
237119                     mat.
237120
237121              template
237122                     Template engine to be used to render the source file.
237123
237124       salt.states.kubernetes.deployment_absent(name,     namespace='default',
237125       **kwargs)
237126              Ensures that the named  deployment  is  absent  from  the  given
237127              namespace.
237128
237129              name   The name of the deployment
237130
237131              namespace
237132                     The name of the namespace
237133
237134       salt.states.kubernetes.deployment_present(name,    namespace='default',
237135       metadata=None, spec=None, source='', template='', **kwargs)
237136              Ensures that the named deployment is present inside of the spec‐
237137              ified  namespace  with  the  given  metadata  and  spec.  If the
237138              deployment exists it will be replaced.
237139
237140              name   The name of the deployment.
237141
237142              namespace
237143                     The namespace holding the deployment. The  'default'  one
237144                     is going to be used unless a different one is specified.
237145
237146              metadata
237147                     The metadata of the deployment object.
237148
237149              spec   The spec of the deployment object.
237150
237151              source A file containing the definition of the deployment (meta‐
237152                     data and spec) in the official kubernetes format.
237153
237154              template
237155                     Template engine to be used to render the source file.
237156
237157       salt.states.kubernetes.namespace_absent(name, **kwargs)
237158              Ensures that the named namespace is absent.
237159
237160              name   The name of the namespace
237161
237162       salt.states.kubernetes.namespace_present(name, **kwargs)
237163              Ensures that the named namespace is present.
237164
237165              name   The name of the namespace.
237166
237167       salt.states.kubernetes.node_label_absent(name, node, **kwargs)
237168              Ensures that the named label is absent from the node.
237169
237170              name   The name of the label
237171
237172              node   The name of the node
237173
237174       salt.states.kubernetes.node_label_folder_absent(name, node, **kwargs)
237175              Ensures the label folder doesn't exist on the specified node.
237176
237177              name   The name of label folder
237178
237179              node   The name of the node
237180
237181       salt.states.kubernetes.node_label_present(name, node, value, **kwargs)
237182              Ensures that the named label is set on the named node  with  the
237183              given value.  If the label exists it will be replaced.
237184
237185              name   The name of the label.
237186
237187              value  Value of the label.
237188
237189              node   Node to change.
237190
237191       salt.states.kubernetes.pod_absent(name, namespace='default', **kwargs)
237192              Ensures that the named pod is absent from the given namespace.
237193
237194              name   The name of the pod
237195
237196              namespace
237197                     The name of the namespace
237198
237199       salt.states.kubernetes.pod_present(name,   namespace='default',   meta‐
237200       data=None, spec=None, source='', template='', **kwargs)
237201              Ensures that the named pod is present inside  of  the  specified
237202              namespace  with  the given metadata and spec.  If the pod exists
237203              it will be replaced.
237204
237205              name   The name of the pod.
237206
237207              namespace
237208                     The namespace holding the pod. The 'default' one is going
237209                     to be used unless a different one is specified.
237210
237211              metadata
237212                     The metadata of the pod object.
237213
237214              spec   The spec of the pod object.
237215
237216              source A file containing the definition of the pod (metadata and
237217                     spec) in the official kubernetes format.
237218
237219              template
237220                     Template engine to be used to render the source file.
237221
237222       salt.states.kubernetes.secret_absent(name,         namespace='default',
237223       **kwargs)
237224              Ensures  that  the  named secret is absent from the given names‐
237225              pace.
237226
237227              name   The name of the secret
237228
237229              namespace
237230                     The name of the namespace
237231
237232       salt.states.kubernetes.secret_present(name,        namespace='default',
237233       data=None, source=None, template=None, **kwargs)
237234              Ensures that the named secret is present inside of the specified
237235              namespace with the given data.  If the secret exists it will  be
237236              replaced.
237237
237238              name   The name of the secret.
237239
237240              namespace
237241                     The  namespace  holding  the secret. The 'default' one is
237242                     going to be used unless a different one is specified.
237243
237244              data   The dictionary holding the secrets.
237245
237246              source A file containing the data of the secret in plain format.
237247
237248              template
237249                     Template engine to be used to render the source file.
237250
237251       salt.states.kubernetes.service_absent(name,        namespace='default',
237252       **kwargs)
237253              Ensures  that  the named service is absent from the given names‐
237254              pace.
237255
237256              name   The name of the service
237257
237258              namespace
237259                     The name of the namespace
237260
237261       salt.states.kubernetes.service_present(name, namespace='default', meta‐
237262       data=None, spec=None, source='', template='', **kwargs)
237263              Ensures  that  the named service is present inside of the speci‐
237264              fied namespace with the given metadata and spec.  If the deploy‐
237265              ment exists it will be replaced.
237266
237267              name   The name of the service.
237268
237269              namespace
237270                     The  namespace  holding the service. The 'default' one is
237271                     going to be used unless a different one is specified.
237272
237273              metadata
237274                     The metadata of the service object.
237275
237276              spec   The spec of the service object.
237277
237278              source A file containing the definition of the service (metadata
237279                     and spec) in the official kubernetes format.
237280
237281              template
237282                     Template engine to be used to render the source file.
237283
237284   salt.states.layman
237285   Management of Gentoo Overlays using layman
237286       A state module to manage Gentoo package overlays via layman
237287
237288          sunrise:
237289              layman.present
237290
237291       salt.states.layman.absent(name)
237292              Verify that the overlay is absent
237293
237294              name   The name of the overlay to delete
237295
237296       salt.states.layman.present(name)
237297              Verify that the overlay is present
237298
237299              name   The name of the overlay to add
237300
237301   salt.states.ldap
237302   Manage entries in an LDAP database
237303       New in version 2016.3.0.
237304
237305
237306       The  states.ldap  state  module  allows  you to manage LDAP entries and
237307       their attributes.
237308
237309       salt.states.ldap.managed(name, entries, connect_spec=None)
237310              Ensure  the  existence  (or  not)  of  LDAP  entries  and  their
237311              attributes
237312
237313              Example:
237314
237315                 ldapi:///:
237316                   ldap.managed:
237317                     - connect_spec:
237318                         bind:
237319                           method: sasl
237320
237321                     - entries:
237322
237323                       # make sure the entry doesn't exist
237324                       - cn=foo,ou=users,dc=example,dc=com:
237325                         - delete_others: True
237326
237327                       # make sure the entry exists with only the specified
237328                       # attribute values
237329                       - cn=admin,dc=example,dc=com:
237330                         - delete_others: True
237331                         - replace:
237332                             cn:
237333                               - admin
237334                             description:
237335                               - LDAP administrator
237336                             objectClass:
237337                               - simpleSecurityObject
237338                               - organizationalRole
237339                             userPassword:
237340                               - {{pillar.ldap_admin_password}}
237341
237342                       # make sure the entry exists, its olcRootDN attribute
237343                       # has only the specified value, the olcRootDN attribute
237344                       # doesn't exist, and all other attributes are ignored
237345                       - 'olcDatabase={1}hdb,cn=config':
237346                         - replace:
237347                             olcRootDN:
237348                               - cn=admin,dc=example,dc=com
237349                             # the admin entry has its own password attribute
237350                             olcRootPW: []
237351
237352                       # note the use of 'default'.  also note how you don't
237353                       # have to use list syntax if there is only one attribute
237354                       # value
237355                       - cn=foo,ou=users,dc=example,dc=com:
237356                         - delete_others: True
237357                         - default:
237358                             userPassword: changeme
237359                             shadowLastChange: 0
237360                             # keep sshPublicKey if present, but don't create
237361                             # the attribute if it is missing
237362                             sshPublicKey: []
237363                         - replace:
237364                             cn: foo
237365                             uid: foo
237366                             uidNumber: 1000
237367                             gidNumber: 1000
237368                             gecos: Foo Bar
237369                             givenName: Foo
237370                             sn: Bar
237371                             homeDirectory: /home/foo
237372                             loginShell: /bin/bash
237373                             objectClass:
237374                               - inetOrgPerson
237375                               - posixAccount
237376                               - top
237377                               - ldapPublicKey
237378                               - shadowAccount
237379
237380              Parameters
237381
237382                     · name -- The URL of the LDAP server.  This is ignored if
237383                       connect_spec is either a connection object  or  a  dict
237384                       with a 'url' entry.
237385
237386                     · entries --
237387
237388                       A description of the desired state of zero or more LDAP
237389                       entries.
237390
237391                       entries is an iterable of dicts.  Each of these  dict's
237392                       keys  are the distinguished names (DNs) of LDAP entries
237393                       to manage.  Each of these dicts is processed in  order.
237394                       A  later  dict  can  reference  an  LDAP entry that was
237395                       already mentioned in an earlier dict,  which  makes  it
237396                       possible  for  later  dicts  to  enhance  or  alter the
237397                       desired state of an LDAP entry.
237398
237399                       The DNs are mapped to a description of the LDAP entry's
237400                       desired state.  These LDAP entry descriptions are them‐
237401                       selves iterables of dicts.  Each dict in  the  iterable
237402                       is  processed  in  order.  They contain directives con‐
237403                       trolling the entry's state.  The key names  the  direc‐
237404                       tive  type  and  the value is state information for the
237405                       directive.  The specific structure of the state  infor‐
237406                       mation depends on the directive type.
237407
237408                       The structure of entries looks like this:
237409
237410                          [{dn1: [{directive1: directive1_state,
237411                                   directive2: directive2_state},
237412                                  {directive3: directive3_state}],
237413                            dn2: [{directive4: directive4_state,
237414                                   directive5: directive5_state}]},
237415                           {dn3: [{directive6: directive6_state}]}]
237416
237417                       These are the directives:
237418
237419                       ·
237420
237421                         'delete_others'
237422                                Boolean    indicating    whether   to   delete
237423                                attributes not mentioned in this dict  or  any
237424                                of  the  other  directive  dicts  for this DN.
237425                                Defaults to False.
237426
237427                                If you don't want to delete  an  attribute  if
237428                                present,  but you also don't want to add it if
237429                                it is missing or modify it if it  is  present,
237430                                you  can use either the 'default' directive or
237431                                the 'add' directive with an empty value list.
237432
237433                       ·
237434
237435                         'default'
237436                                A dict mapping an attribute name to  an  iter‐
237437                                able of default values for that attribute.  If
237438                                the  attribute  already  exists,  it  is  left
237439                                alone.   If not, it is created using the given
237440                                list of values.
237441
237442                                An empty value list is useful when  you  don't
237443                                want  to  create an attribute if it is missing
237444                                but  you  do  want  to  preserve  it  if   the
237445                                'delete_others' key is True.
237446
237447                       ·
237448
237449                         'add'  Attribute values to add to the entry.  This is
237450                                a dict mapping an attribute name to  an  iter‐
237451                                able of values to add.
237452
237453                                An  empty  value list is useful when you don't
237454                                want to create an attribute if it  is  missing
237455                                but   you  do  want  to  preserve  it  if  the
237456                                'delete_others' key is True.
237457
237458                       ·
237459
237460                         'delete'
237461                                Attribute values to  remove  from  the  entry.
237462                                This is a dict mapping an attribute name to an
237463                                iterable  of  values  to   delete   from   the
237464                                attribute.   If  the iterable is empty, all of
237465                                the attribute's values are deleted.
237466
237467                       ·
237468
237469                         'replace'
237470                                Attributes to replace.  This is a dict mapping
237471                                an  attribute  name  to an iterable of values.
237472                                Any existing  values  for  the  attribute  are
237473                                deleted, then the given values are added.  The
237474                                iterable may be empty.
237475
237476                       In the above directives,  the  iterables  of  attribute
237477                       values may instead be None, in which case an empty list
237478                       is used, or a scalar such as a  string  or  number,  in
237479                       which case a new list containing the scalar is used.
237480
237481                       Note  that  if all attribute values are removed from an
237482                       entry, the entire entry is deleted.
237483
237484
237485                     · connect_spec -- See the description of the connect_spec
237486                       parameter  of  the  ldap3.connect function in the ldap3
237487                       execution module.  If this is  a  dict  and  the  'url'
237488                       entry  is  not specified, the 'url' entry is set to the
237489                       value of the name parameter.
237490
237491              Returns
237492                     A dict with the following keys:
237493
237494                     ·
237495
237496                       'name' This is the  same  object  passed  to  the  name
237497                              parameter.
237498
237499                     ·
237500
237501                       'changes'
237502                              This  is a dict describing the changes made (or,
237503                              in test mode, the changes that would  have  been
237504                              attempted).   If  no  changes  were  made (or no
237505                              changes would have been  attempted),  then  this
237506                              dict  is  empty.   Only  successful  changes are
237507                              included.
237508
237509                              Each key is a DN of an entry  that  was  changed
237510                              (or would have been changed).  Entries that were
237511                              not changed (or would not have been changed) are
237512                              not  included.   The  value  is  a dict with two
237513                              keys:
237514
237515                              ·
237516
237517                                'old'  The state of the entry before modifica‐
237518                                       tion.   If the entry did not previously
237519                                       exist, this key maps to  None.   Other‐
237520                                       wise,  the value is a dict mapping each
237521                                       of the old entry's attributes to a list
237522                                       of  its values before any modifications
237523                                       were made.   Unchanged  attributes  are
237524                                       excluded from this dict.
237525
237526                              ·
237527
237528                                'new'  The  state of the entry after modifica‐
237529                                       tion.  If the entry was  deleted,  this
237530                                       key maps to None.  Otherwise, the value
237531                                       is a dict mapping each of  the  entry's
237532                                       attributes  to  a  list  of  its values
237533                                       after  the  modifications  were   made.
237534                                       Unchanged  attributes are excluded from
237535                                       this dict.
237536
237537                              Example 'changes' dict where  a  new  entry  was
237538                              created  with  a single attribute containing two
237539                              values:
237540
237541                                 {'dn1': {'old': None,
237542                                          'new': {'attr1': ['val1', 'val2']}}}
237543
237544                              Example 'changes' dict where a new attribute was
237545                              added to an existing entry:
237546
237547                                 {'dn1': {'old': {},
237548                                          'new': {'attr2': ['val3']}}}
237549
237550                     ·
237551
237552                       'result'
237553                              One of the following values:
237554
237555                              · True  if  no  changes were necessary or if all
237556                                changes were applied successfully.
237557
237558                              · False if at least one change was unable to  be
237559                                applied.
237560
237561                              · None  if changes would be applied but it is in
237562                                test mode.
237563
237564
237565   salt.states.libcloud_dns module
237566       Manage DNS records and zones using libcloud
237567
237568          codeauthor
237569                 Anthony Shaw <anthonyshaw@apache.org>
237570
237571       New in version 2016.11.0.
237572
237573
237574       Create and delete DNS records or zones through Libcloud. Libcloud's DNS
237575       system  supports  over  20  DNS  providers  including  Amazon,  Google,
237576       GoDaddy, Softlayer
237577
237578       This module uses libcloud, which can be installed via package, or pip.
237579
237580       configuration
237581              This module uses a configuration profile for one or multiple DNS
237582              providers
237583
237584                 libcloud_dns:
237585                   profile1:
237586                     driver: godaddy
237587                     key: 2orgk34kgk34g
237588                   profile2:
237589                     driver: route53
237590                     key: blah
237591                     secret: blah
237592
237593       Example:
237594
237595          my-zone:
237596            libcloud_dns.zone_present:
237597              - name: mywebsite.com
237598              - profile: profile1
237599          my-website:
237600            libcloud_dns.record_present:
237601              - name: www
237602              - zone: mywebsite.com
237603              - type: A
237604              - data: 12.34.32.3
237605              - profile: profile1
237606              - require:
237607                - libcloud_dns: my-zone
237608
237609       depends
237610              apache-libcloud
237611
237612       salt.states.libcloud_dns.record_absent(name, zone, type, data, profile)
237613              Ensures a record is absent.
237614
237615              Parameters
237616
237617                     · name (str) -- Record name without the domain name (e.g.
237618                       www).  Note: If you want to create a record for a  base
237619                       domain  name,  you should specify empty string ('') for
237620                       this argument.
237621
237622                     · zone (str) -- Zone where the requested record  is  cre‐
237623                       ated, the domain name
237624
237625                     · type (str) -- DNS record type (A, AAAA, ...).
237626
237627                     · data  (str)  --  Data  for  the  record (depends on the
237628                       record type).
237629
237630                     · profile (str) -- The profile key
237631
237632       salt.states.libcloud_dns.record_present(name, zone,  type,  data,  pro‐
237633       file)
237634              Ensures a record is present.
237635
237636              Parameters
237637
237638                     · name (str) -- Record name without the domain name (e.g.
237639                       www).  Note: If you want to create a record for a  base
237640                       domain  name,  you should specify empty string ('') for
237641                       this argument.
237642
237643                     · zone (str) -- Zone where the requested record  is  cre‐
237644                       ated, the domain name
237645
237646                     · type (str) -- DNS record type (A, AAAA, ...).
237647
237648                     · data  (str)  --  Data  for  the  record (depends on the
237649                       record type).
237650
237651                     · profile (str) -- The profile key
237652
237653       salt.states.libcloud_dns.state_result(result,      message,       name,
237654       changes=None)
237655
237656       salt.states.libcloud_dns.zone_absent(domain, profile)
237657              Ensures a record is absent.
237658
237659              Parameters
237660
237661                     · domain (str) -- Zone name, i.e. the domain name
237662
237663                     · profile (str) -- The profile key
237664
237665       salt.states.libcloud_dns.zone_present(domain, type, profile)
237666              Ensures a record is present.
237667
237668              Parameters
237669
237670                     · domain (str) -- Zone name, i.e. the domain name
237671
237672                     · type  (str)  -- Zone type (master / slave), defaults to
237673                       master
237674
237675                     · profile (str) -- The profile key
237676
237677   salt.states.libcloud_loadbalancer module
237678   Apache Libcloud Load Balancer State
237679       Manage load balancers using libcloud
237680
237681          codeauthor
237682                 Anthony Shaw <anthonyshaw@apache.org>
237683
237684       Apache Libcloud load balancer management for a full list  of  supported
237685       clouds,                                                             see
237686       http://libcloud.readthedocs.io/en/latest/loadbalancer/supported_providers.html
237687
237688       Clouds include Amazon ELB, ALB, Google, Aliyun, CloudStack, Softlayer
237689
237690       New in version 2018.3.0.
237691
237692
237693       configuration
237694              This  module  uses  a  configuration profile for one or multiple
237695              Cloud providers
237696
237697                 libcloud_loadbalancer:
237698                     profile_test1:
237699                       driver: gce
237700                       key: GOOG0123456789ABCXYZ
237701                       secret: mysecret
237702                     profile_test2:
237703                       driver: alb
237704                       key: 12345
237705                       secret: mysecret
237706
237707       Example:
237708
237709       Using States to deploy a load balancer with extended arguments to spec‐
237710       ify region
237711
237712          lb_test:
237713              libcloud_loadbalancer.balancer_present:
237714                  - name: example
237715                  - port: 80
237716                  - protocol: http
237717                  - profile: google
237718                  - ex_region: us-east1
237719
237720       depends
237721              apache-libcloud
237722
237723       salt.states.libcloud_loadbalancer.balancer_absent(name, profile, **lib‐
237724       cloud_kwargs)
237725              Ensures a load balancer is absent.
237726
237727              Parameters
237728
237729                     · name (str) -- Load Balancer name
237730
237731                     · profile (str) -- The profile key
237732
237733       salt.states.libcloud_loadbalancer.balancer_present(name,  port,  proto‐
237734       col, profile, algorithm=None, members=None, **libcloud_kwargs)
237735              Ensures a load balancer is present.
237736
237737              Parameters
237738
237739                     · name (str) -- Load Balancer name
237740
237741                     · port  (str) -- Port the load balancer should listen on,
237742                       defaults to 80
237743
237744                     · protocol (str) -- Loadbalancer  protocol,  defaults  to
237745                       http.
237746
237747                     · profile (str) -- The profile key
237748
237749                     · algorithm  (str)  -- Load balancing algorithm, defaults
237750                       to ROUND_ROBIN. See Algorithm type in Libcloud documen‐
237751                       tation for a full listing.
237752
237753                     · members  (list  of dict (ip, port)) -- An optional list
237754                       of members to create on deployment
237755
237756       salt.states.libcloud_loadbalancer.member_absent(ip, port,  balancer_id,
237757       profile, **libcloud_kwargs)
237758              Ensure a load balancer member is absent, based on IP and Port
237759
237760              Parameters
237761
237762                     · ip (str) -- IP address for the member
237763
237764                     · port (int) -- Port for the member
237765
237766                     · balancer_id  (str) -- id of a load balancer you want to
237767                       detach the member from
237768
237769                     · profile (str) -- The profile key
237770
237771       salt.states.libcloud_loadbalancer.member_present(ip, port, balancer_id,
237772       profile, **libcloud_kwargs)
237773              Ensure a load balancer member is present
237774
237775              Parameters
237776
237777                     · ip (str) -- IP address for the new member
237778
237779                     · port (int) -- Port for the new member
237780
237781                     · balancer_id  (str) -- id of a load balancer you want to
237782                       attach the member to
237783
237784                     · profile (str) -- The profile key
237785
237786       salt.states.libcloud_loadbalancer.state_result(result,  message,  name,
237787       changes=None)
237788
237789   salt.states.libcloud_storage module
237790   Apache Libcloud Storage State
237791       Manage cloud storage using libcloud
237792
237793       codeauthor
237794              Anthony Shaw <anthonyshaw@apache.org>
237795
237796       Apache  Libcloud  Storage  (object/blob)  management for a full list of
237797       supported                          clouds,                          see
237798       http://libcloud.readthedocs.io/en/latest/storage/supported_providers.html
237799
237800       Clouds include Amazon S3, Google Storage, Aliyun,  Azure  Blobs,  Ceph,
237801       OpenStack swift
237802
237803       New in version 2018.3.0.
237804
237805
237806       configuration
237807              This  module  uses  a  configuration profile for one or multiple
237808              Storage providers
237809
237810                 libcloud_storage:
237811                     profile_test1:
237812                       driver: google_storage
237813                       key: GOOG0123456789ABCXYZ
237814                       secret: mysecret
237815                     profile_test2:
237816                       driver: s3
237817                       key: 12345
237818                       secret: mysecret
237819       Examples.SS Creating a container and uploading a file
237820
237821          web_things:
237822            libcloud_storage.container_present:
237823              name: my_container_name
237824              profile: profile1
237825            libcloud_storage.object_present:
237826              name: my_file.jpg
237827              container: my_container_name
237828              path: /path/to/local/file.jpg
237829              profile: profile1
237830
237831   Downloading a file
237832       This example will download the file from the remote cloud and  keep  it
237833       locally
237834
237835          web_things:
237836            libcloud_storage.file_present:
237837              name: my_file.jpg
237838              container: my_container_name
237839              path: /path/to/local/file.jpg
237840              profile: profile1
237841
237842       depends
237843              apache-libcloud
237844
237845       salt.states.libcloud_storage.container_absent(name, profile)
237846              Ensures a container is absent.
237847
237848              Parameters
237849
237850                     · name (str) -- Container name
237851
237852                     · profile (str) -- The profile key
237853
237854       salt.states.libcloud_storage.container_present(name, profile)
237855              Ensures a container is present.
237856
237857              Parameters
237858
237859                     · name (str) -- Container name
237860
237861                     · profile (str) -- The profile key
237862
237863       salt.states.libcloud_storage.file_present(container,  name,  path, pro‐
237864       file, overwrite_existing=False)
237865              Ensures a object is downloaded locally.
237866
237867              Parameters
237868
237869                     · container (str) -- Container name
237870
237871                     · name (str) -- Object name in cloud
237872
237873                     · path (str) -- Local path to file
237874
237875                     · profile (str) -- The profile key
237876
237877                     · overwrite_existing (bool) -- Replace if already exists
237878
237879       salt.states.libcloud_storage.object_absent(container, name, profile)
237880              Ensures a object is absent.
237881
237882              Parameters
237883
237884                     · container (str) -- Container name
237885
237886                     · name (str) -- Object name in cloud
237887
237888                     · profile (str) -- The profile key
237889
237890       salt.states.libcloud_storage.object_present(container, name, path, pro‐
237891       file)
237892              Ensures a object is presnt.
237893
237894              Parameters
237895
237896                     · container (str) -- Container name
237897
237898                     · name (str) -- Object name in cloud
237899
237900                     · path (str) -- Local path to file
237901
237902                     · profile (str) -- The profile key
237903
237904       salt.states.libcloud_storage.state_result(result,     message,    name,
237905       changes)
237906
237907   salt.states.linux_acl
237908       Linux File Access Control Lists
237909
237910       The Linux ACL state module requires the getfacl and setfacl binaries.
237911
237912       Ensure a Linux ACL is present
237913
237914          root:
237915            acl.present:
237916              - name: /root
237917              - acl_type: user
237918              - acl_name: damian
237919              - perms: rwx
237920
237921       Ensure a Linux ACL does not exist
237922
237923          root:
237924            acl.absent:
237925              - name: /root
237926              - acl_type: user
237927              - acl_name: damian
237928              - perms: rwx
237929
237930       Ensure a Linux ACL list is present
237931
237932          root:
237933            acl.list_present:
237934              - name: /root
237935              - acl_type: user
237936              - acl_name:
237937                - damian
237938                - homer
237939              - perms: rwx
237940
237941       Ensure a Linux ACL list does not exist
237942
237943          root:
237944            acl.list_absent:
237945              - name: /root
237946              - acl_type: user
237947              - acl_name:
237948                - damian
237949                - homer
237950              - perms: rwx
237951
237952       salt.states.linux_acl.absent(name, acl_type,  acl_name=u'',  perms=u'',
237953       recurse=False)
237954              Ensure a Linux ACL does not exist
237955
237956              name   The acl path
237957
237958              acl_type
237959                     The  type  of  the  acl  is used for, it can be 'user' or
237960                     'group'
237961
237962              acl_names
237963                     The user or group
237964
237965              perms  Remove the permissions eg.: rwx
237966
237967              recurse
237968                     Set the permissions recursive in the path
237969
237970       salt.states.linux_acl.list_absent(name,    acl_type,    acl_names=None,
237971       recurse=False)
237972              Ensure a Linux ACL list does not exist
237973
237974              Takes a list of acl names and remove them from the given path
237975
237976              name   The acl path
237977
237978              acl_type
237979                     The  type  of  the  acl  is used for, it can be 'user' or
237980                     'group'
237981
237982              acl_names
237983                     The list of users or groups
237984
237985              perms  Remove the permissions eg.: rwx
237986
237987              recurse
237988                     Set the permissions recursive in the path
237989
237990       salt.states.linux_acl.list_present(name,   acl_type,    acl_names=None,
237991       perms=u'', recurse=False, force=False)
237992              Ensure a Linux ACL list is present
237993
237994              Takes a list of acl names and add them to the given path
237995
237996              name   The acl path
237997
237998              acl_type
237999                     The  type  of  the  acl  is  used for it can be 'user' or
238000                     'group'
238001
238002              acl_names
238003                     The list of users or groups
238004
238005              perms  Set the permissions eg.: rwx
238006
238007              recurse
238008                     Set the permissions recursive in the path
238009
238010              force  Wipe out old permissions and ensure only the new  permis‐
238011                     sions are set
238012
238013       salt.states.linux_acl.present(name,  acl_type, acl_name=u'', perms=u'',
238014       recurse=False, force=False)
238015              Ensure a Linux ACL is present
238016
238017              name   The acl path
238018
238019              acl_type
238020                     The type of the acl is used  for  it  can  be  'user'  or
238021                     'group'
238022
238023              acl_name
238024                     The  user or group
238025
238026              perms  Set the permissions eg.: rwx
238027
238028              recurse
238029                     Set the permissions recursive in the path
238030
238031              force  Wipe  out old permissions and ensure only the new permis‐
238032                     sions are set
238033
238034   salt.states.locale
238035   Management of languages/locales
238036       Manage the available locales and the system default:
238037
238038          us_locale:
238039            locale.present:
238040              - name: en_US.UTF-8
238041
238042          default_locale:
238043            locale.system:
238044              - name: en_US.UTF-8
238045              - require:
238046                - locale: us_locale
238047
238048       salt.states.locale.present(name)
238049              Generate a locale if it is not present
238050
238051              New in version 2014.7.0.
238052
238053
238054              name   The name of the locale to be present. Some  distributions
238055                     require the charmap to be specified as part of the locale
238056                     at this point.
238057
238058       salt.states.locale.system(name)
238059              Set the locale for the system
238060
238061              name   The name of the locale to use
238062
238063   salt.states.logadm module
238064       Management of logs using Solaris logadm.
238065
238066       maintainer
238067              Jorge Schrauwen <sjorge@blackdot.be>
238068
238069       maturity
238070              new
238071
238072       depends
238073              salt.modulus.logadm
238074
238075       platform
238076              Oracle Solaris, Sun Solaris, illumos
238077
238078       New in version nitrogen.
238079
238080
238081          .. note::
238082              TODO
238083
238084       salt.states.logadm.remove(name, log_file=None)
238085              Remove a log from the logadm configuration
238086
238087              name   string entryname
238088
238089              log_file
238090                     string (optional) log file path
238091
238092              NOTE:
238093                 If log_file is specified it will be used instead of the entry
238094                 name.
238095
238096       salt.states.logadm.rotate(name, **kwargs)
238097              Add a log to the logadm configuration
238098
238099              name   string alias for entryname
238100
238101              kwargs boolean|string|int  optional additional flags and parame‐
238102                     ters
238103
238104   salt.states.logrotate module
238105       Module for managing logrotate.
238106
238107       New in version 2017.7.0.
238108
238109
238110       salt.states.logrotate.set_(name,     key,     value,      setting=None,
238111       conf_file=u'/etc/logrotate.conf')
238112              Set a new value for a specific configuration line.
238113
238114              Parameters
238115
238116                     · key (str) -- The command or block to configure.
238117
238118                     · value  (str)  --  The  command  value or command of the
238119                       block specified by the key parameter.
238120
238121                     · setting (str) -- The  command  value  for  the  command
238122                       specified by the value parameter.
238123
238124                     · conf_file (str) -- The logrotate configuration file.
238125
238126              Example of usage with only the required arguments:
238127
238128                 logrotate-rotate:
238129                   logrotate.set:
238130                     - key: rotate
238131                     - value: 2
238132
238133              Example of usage specifying all available arguments:
238134
238135                 logrotate-wtmp-rotate:
238136                   logrotate.set:
238137                     - key: /var/log/wtmp
238138                     - value: rotate
238139                     - setting: 2
238140                     - conf_file: /etc/logrotate.conf
238141
238142   salt.states.loop module
238143       Loop state
238144
238145       Allows for looping over execution modules.
238146
238147       New in version 2017.7.0.
238148
238149
238150          wait_for_service_to_be_healthy:
238151            loop.until:
238152              - name: boto_elb.get_instance_health
238153              - condition: m_ret[0]['state'] == 'InService'
238154              - period: 5
238155              - timeout: 20
238156              - m_args:
238157                - {{ elb }}
238158              - m_kwargs:
238159                  keyid: {{ access_key }}
238160                  key: {{ secret_key }}
238161                  instances: "{{ instance }}"
238162
238163       WARNING:
238164          This  state  allows arbitrary python code to be executed through the
238165          condition parameter which is literally evaluated within  the  state.
238166          Please use caution.
238167
238168       salt.states.loop.until(name,    m_args=None,    m_kwargs=None,   condi‐
238169       tion=None, period=0, timeout=604800)
238170              Loop over an execution module until a condition is met.
238171
238172              name   The name of the execution module
238173
238174              m_args The execution module's positional arguments
238175
238176              m_kwargs
238177                     The execution module's keyword arguments
238178
238179              condition
238180                     The condition which must be met for the  loop  to  break.
238181                     This  should  contain  m_ret which is the return from the
238182                     execution module.
238183
238184              period The number of seconds to wait between executions
238185
238186              timeout
238187                     The timeout in seconds
238188
238189   salt.states.lvm
238190   Management of Linux logical volumes
238191       A state module to manage LVMs
238192
238193          /dev/sda:
238194            lvm.pv_present
238195
238196          my_vg:
238197            lvm.vg_present:
238198              - devices: /dev/sda
238199
238200          lvroot:
238201            lvm.lv_present:
238202              - vgname: my_vg
238203              - size: 10G
238204              - stripes: 5
238205              - stripesize: 8K
238206
238207       salt.states.lvm.lv_absent(name, vgname=None)
238208              Remove a given existing Logical Volume  from  a  named  existing
238209              volume group
238210
238211              name   The Logical Volume to remove
238212
238213              vgname The  name of the Volume Group on which the Logical Volume
238214                     resides
238215
238216       salt.states.lvm.lv_present(name, vgname=None, size=None,  extents=None,
238217       snapshot=None,  pv=u'',  thinvolume=False, thinpool=False, force=False,
238218       **kwargs)
238219              Create a new Logical Volume
238220
238221              name   The name of the Logical Volume
238222
238223              vgname The name of the Volume Group on which the Logical  Volume
238224                     resides
238225
238226              size   The initial size of the Logical Volume
238227
238228              extents
238229                     The number of logical extents to allocate
238230
238231              snapshot
238232                     The name of the snapshot
238233
238234              pv     The Physical Volume to use
238235
238236              kwargs Any supported options to lvcreate. See linux_lvm for more
238237                     details.
238238
238239              New in version to_complete.
238240
238241
238242              thinvolume
238243                     Logical Volume is thinly provisioned
238244
238245              thinpool
238246                     Logical Volume is a thin pool
238247
238248              New in version 2018.3.0.
238249
238250
238251              force  Assume yes to all prompts
238252
238253       salt.states.lvm.pv_absent(name)
238254              Ensure that a Physical Device is not being used by lvm
238255
238256              name   The device name to initialize.
238257
238258       salt.states.lvm.pv_present(name, **kwargs)
238259              Set a Physical Device to be used as an LVM Physical Volume
238260
238261              name   The device name to initialize.
238262
238263              kwargs Any supported options to pvcreate. See linux_lvm for more
238264                     details.
238265
238266       salt.states.lvm.vg_absent(name)
238267              Remove an LVM volume group
238268
238269              name   The volume group to remove
238270
238271       salt.states.lvm.vg_present(name, devices=None, **kwargs)
238272              Create an LVM Volume Group
238273
238274              name   The Volume Group name to create
238275
238276              devices
238277                     A list of devices that will be added to the Volume Group
238278
238279              kwargs Any supported options to vgcreate. See linux_lvm for more
238280                     details.
238281
238282   salt.states.lvs_server
238283   Management of LVS (Linux Virtual Server) Real Server
238284       salt.states.lvs_server.absent(name,         protocol=None,         ser‐
238285       vice_address=None, server_address=None)
238286              Ensure the LVS Real Server in specified service is absent.
238287
238288              name   The name of the LVS server.
238289
238290              protocol
238291                     The  service  protocol(only  support  tcp, udp and fwmark
238292                     service).
238293
238294              service_address
238295                     The LVS service address.
238296
238297              server_address
238298                     The LVS real server address.
238299
238300       salt.states.lvs_server.present(name,        protocol=None,         ser‐
238301       vice_address=None,   server_address=None,  packet_forward_method=u'dr',
238302       weight=1)
238303              Ensure that the named service is present.
238304
238305              name   The LVS server name
238306
238307              protocol
238308                     The service protocol
238309
238310              service_address
238311                     The LVS service address
238312
238313              server_address
238314                     The real server address.
238315
238316              packet_forward_method
238317                     The LVS packet forwarding method(dr for  direct  routing,
238318                     tunnel  for  tunneling,  nat  for network access transla‐
238319                     tion).
238320
238321              weight The capacity  of a server relative to the others  in  the
238322                     pool.
238323
238324                 lvsrs:
238325                   lvs_server.present:
238326                     - protocol: tcp
238327                     - service_address: 1.1.1.1:80
238328                     - server_address: 192.168.0.11:8080
238329                     - packet_forward_method: dr
238330                     - weight: 10
238331
238332   salt.states.lvs_service
238333   Management of LVS (Linux Virtual Server) Service
238334       salt.states.lvs_service.absent(name,         protocol=None,        ser‐
238335       vice_address=None)
238336              Ensure the LVS service is absent.
238337
238338              name   The name of the LVS service
238339
238340              protocol
238341                     The service protocol
238342
238343              service_address
238344                     The LVS service address
238345
238346       salt.states.lvs_service.present(name,        protocol=None,        ser‐
238347       vice_address=None, scheduler=u'wlc')
238348              Ensure that the named service is present.
238349
238350              name   The LVS service name
238351
238352              protocol
238353                     The service protocol
238354
238355              service_address
238356                     The LVS service address
238357
238358              scheduler
238359                     Algorithm  for  allocating  TCP connections and UDP data‐
238360                     grams to real servers.
238361
238362                 lvstest:
238363                   lvs_service.present:
238364                     - service_address: 1.1.1.1:80
238365                     - protocol: tcp
238366                     - scheduler: rr
238367
238368   salt.states.lxc
238369   Manage Linux Containers
238370       salt.states.lxc.absent(name, stop=False, path=None)
238371              Ensure a container is not present, destroying it if present
238372
238373              name   Name of the container to destroy
238374
238375              stop   stop before destroying default: false
238376
238377                     New in version 2015.5.2.
238378
238379
238380              path   path to the container parent default: /var/lib/lxc  (sys‐
238381                     tem default)
238382
238383                     New in version 2015.8.0.
238384
238385
238386                 web01:
238387                   lxc.absent
238388
238389       salt.states.lxc.edited_conf(name, lxc_conf=None, lxc_conf_unset=None)
238390
238391              WARNING:
238392                 This  state  is unsuitable for setting parameters that appear
238393                 more than once in an LXC config  file,  or  parameters  which
238394                 must appear in a certain order (such as when configuring more
238395                 than one network interface).
238396
238397                 Issue #35523 was opened to track the addition of  a  suitable
238398                 replacement or fix.
238399
238400              Edit LXC configuration options
238401
238402              Deprecated since version 2015.5.0.
238403
238404
238405              path   path  to the container parent default: /var/lib/lxc (sys‐
238406                     tem default)
238407
238408                     New in version 2015.8.0.
238409
238410
238411                 setconf:
238412                   lxc.edited_conf:
238413                     - name: ubuntu
238414                     - lxc_conf:
238415                         - network.ipv4.ip: 10.0.3.6
238416                     - lxc_conf_unset:
238417                         - lxc.utsname
238418
238419       salt.states.lxc.frozen(name, start=True, path=None)
238420              New in version 2015.5.0.
238421
238422
238423              Ensure that a container is frozen
238424
238425              NOTE:
238426                 This state does not enforce the existence of the  named  con‐
238427                 tainer,  it  just  freezes the container if it is running. To
238428                 ensure that the named container exists, use lxc.present.
238429
238430              name   The name of the container
238431
238432              path   path to the container parent default: /var/lib/lxc  (sys‐
238433                     tem default)
238434
238435                     New in version 2015.8.0.
238436
238437
238438              start  True  Start container first, if necessary. If False, then
238439                     this state will fail if the container is not running.
238440
238441                 web01:
238442                   lxc.frozen
238443
238444                 web02:
238445                   lxc.frozen:
238446                     - start: False
238447
238448       salt.states.lxc.present(name,  running=None,   clone_from=None,   snap‐
238449       shot=False,    profile=None,    network_profile=None,    template=None,
238450       options=None, image=None, config=None,  fstype=None,  size=None,  back‐
238451       ing=None, vgname=None, lvname=None, thinpool=None, path=None)
238452              Changed  in  version  2015.8.0:  The  lxc.created state has been
238453              renamed to lxc.present, and the lxc.cloned state has been merged
238454              into this state.
238455
238456
238457              Create the named container if it does not exist
238458
238459              name   The name of the container to be created
238460
238461              path   path  to the container parent default: /var/lib/lxc (sys‐
238462                     tem default)
238463
238464                     New in version 2015.8.0.
238465
238466
238467              running
238468                     False.INDENT 7.0
238469
238470              · If True, ensure that the container is running
238471
238472              · If False, ensure that the container is stopped
238473
238474              · If None, do nothing with regards to the running state  of  the
238475                container
238476
238477              New in version 2015.8.0.
238478
238479
238480       clone_from
238481              Create named container as a clone of the specified container
238482
238483       snapshot
238484              False  Use  Copy  On  Write snapshots (LVM). Only supported with
238485              clone_from.
238486
238487       profile
238488              Profile to use in container creation (see the LXC  Tutorial  for
238489              more information). Values in a profile will be overridden by the
238490              parameters listed below.
238491
238492       network_profile
238493              Network Profile to use in container creation (see the LXC  Tuto‐
238494              rial for more information). Values in a profile will be overrid‐
238495              den by the parameters listed below.
238496
238497              New in version 2015.5.2.
238498
238499
238500       Container Creation Arguments
238501
238502              template
238503                     The template to use. For example, ubuntu or fedora.   For
238504                     a  full  list  of  available  templates,  check  out  the
238505                     lxc.templates function.
238506
238507                     Conflicts with the image argument.
238508
238509                     NOTE:
238510                        The download template  requires  the  following  three
238511                        parameters to be defined in options:
238512
238513                        · dist - The name of the distribution
238514
238515                        · release - Release name/version
238516
238517                        · arch - Architecture of the container
238518
238519                        The   available   images   can  be  listed  using  the
238520                        lxc.images function.
238521
238522              options
238523                 New in version 2015.5.0.
238524
238525
238526                 Template-specific options to pass to the lxc-create  command.
238527                 These correspond to the long options (ones beginning with two
238528                 dashes) that the template script accepts. For example:
238529
238530                     web01:
238531                       lxc.present:
238532                         - template: download
238533                         - options:
238534                             dist: centos
238535                             release: 6
238536                             arch: amd64
238537
238538                 Remember to double-indent the  options,  due  to  how  PyYAML
238539                 works.
238540
238541                 For  available  template  options,  refer to the lxc template
238542                 scripts which are ususally located under  /usr/share/lxc/tem‐
238543                 plates, or run lxc-create -t <template> -h.
238544
238545              image  A  tar  archive  to  use as the rootfs for the container.
238546                     Conflicts with the template argument.
238547
238548              backing
238549                     The type of storage to use. Set to  lvm  to  use  an  LVM
238550                     group.  Defaults to filesystem within /var/lib/lxc.
238551
238552              fstype Filesystem type to use on LVM logical volume
238553
238554              size   Size  of the volume to create. Only applicable if backing
238555                     is set to lvm.
238556
238557              vgname lxc Name of the LVM volume group in which to  create  the
238558                     volume  for this container. Only applicable if backing is
238559                     set to lvm.
238560
238561              lvname Name of the LVM logical volume in  which  to  create  the
238562                     volume  for this container. Only applicable if backing is
238563                     set to lvm.
238564
238565              thinpool
238566                     Name of a pool volume that will be used  for  thin-provi‐
238567                     sioning this container. Only applicable if backing is set
238568                     to lvm.
238569
238570       salt.states.lxc.running(name, restart=False, path=None)
238571              Changed in version 2015.5.0:  The  lxc.started  state  has  been
238572              renamed to lxc.running
238573
238574
238575              Ensure that a container is running
238576
238577              NOTE:
238578                 This  state  does not enforce the existence of the named con‐
238579                 tainer, it just starts the container if it is not running. To
238580                 ensure that the named container exists, use lxc.present.
238581
238582              name   The name of the container
238583
238584              path   path  to the container parent default: /var/lib/lxc (sys‐
238585                     tem default)
238586
238587                     New in version 2015.8.0.
238588
238589
238590              restart
238591                     False Restart container if it is already running
238592
238593                 web01:
238594                   lxc.running
238595
238596                 web02:
238597                   lxc.running:
238598                     - restart: True
238599
238600       salt.states.lxc.set_pass(name, **kwargs)
238601              Deprecated since version 2015.5.0.
238602
238603
238604              This state function has been disabled, as it did not conform  to
238605              design   guidelines.   Specifically,   due   to  the  fact  that
238606              lxc.set_password uses chpasswd(8) to set the password, there was
238607              no  method  to  make this action idempotent (in other words, the
238608              password would be changed every time).  This  makes  this  state
238609              redundant, since the following state will do the same thing:
238610
238611                 setpass:
238612                   module.run:
238613                     - name: set_pass
238614                     - m_name: root
238615                     - password: secret
238616
238617       salt.states.lxc.stopped(name, kill=False, path=None)
238618              Ensure that a container is stopped
238619
238620              NOTE:
238621                 This  state  does not enforce the existence of the named con‐
238622                 tainer, it just stops the container if it running or  frozen.
238623                 To  ensure  that the named container exists, use lxc.present,
238624                 or use the lxc.absent state to ensure that the container does
238625                 not exist.
238626
238627              name   The name of the container
238628
238629              path   path  to the container parent default: /var/lib/lxc (sys‐
238630                     tem default)
238631
238632                     New in version 2015.8.0.
238633
238634
238635              kill   False Do not wait for the container  to  stop,  kill  all
238636                     tasks  in  the  container.   Older LXC versions will stop
238637                     containers like this irrespective of this argument.
238638
238639                     New in version 2015.5.0.
238640
238641
238642                 web01:
238643                   lxc.stopped
238644
238645   salt.states.mac_assistive module
238646   Allows you to manage assistive access on macOS minions with 10.9+
238647       Install, enable and disable assistive access on macOS minions
238648
238649          /usr/bin/osacript:
238650            assistive.installed:
238651              - enabled: True
238652
238653       salt.states.mac_assistive.installed(name, enabled=True)
238654              Make sure that we have the given bundle ID or  path  to  command
238655              installed in the assistive access panel.
238656
238657              name   The bundle ID or path to command
238658
238659              enable Should assistive access be enabled on this application?
238660
238661   salt.states.mac_defaults module
238662   Writing/reading defaults from a macOS minion
238663       salt.states.mac_defaults.absent(name, domain, user=None)
238664              Make sure the defaults value is absent
238665
238666              name   The key of the given domain to remove
238667
238668              domain The name of the domain to remove from
238669
238670              user   The user to write the defaults to
238671
238672       salt.states.mac_defaults.write(name,  domain,  value,  vtype=u'string',
238673       user=None)
238674              Write a default to the system
238675
238676              name   The key of the given domain to write to
238677
238678              domain The name of the domain to write to
238679
238680              value  The value to write to the given key
238681
238682              vtype  The type of value to be written, valid types are  string,
238683                     data,   int[eger],   float,   bool[ean],   date,   array,
238684                     array-add, dict, dict-add
238685
238686              user   The user to write the defaults to
238687
238688   salt.states.mac_keychain module
238689   Installing of certificates to the keychain
238690       Install certificats to the macOS keychain
238691
238692          /mnt/test.p12:
238693            keychain.installed:
238694              - password: test123
238695
238696       salt.states.mac_keychain.default_keychain(name,         domain=u'user',
238697       user=None)
238698              Set the default keychain to use
238699
238700              name   The chain in which to use as the default
238701
238702              domain The  domain  to  use  valid  values  are user|system|com‐
238703                     mon|dynamic, the default is user
238704
238705              user   The user to run as
238706
238707       salt.states.mac_keychain.installed(name,         password,         key‐
238708       chain=u'/Library/Keychains/System.keychain', **kwargs)
238709              Install a p12 certificate file into the macOS keychain
238710
238711              name   The certificate to install
238712
238713              password
238714                     The  password for the certificate being installed format‐
238715                     ted in the way described for openssl command in the  PASS
238716                     PHRASE ARGUMENTS section
238717
238718              keychain
238719                     The keychain to install the certificate to, this defaults
238720                     to /Library/Keychains/System.keychain
238721
238722              allow_any
238723                     Allow any application to access the imported  certificate
238724                     without warning
238725
238726              keychain_password
238727                     If your keychain is likely to be locked pass the password
238728                     and it will be unlocked before running the import
238729
238730       salt.states.mac_keychain.uninstalled(name,        password,        key‐
238731       chain=u'/Library/Keychains/System.keychain', keychain_password=None)
238732              Uninstall a p12 certificate file from the macOS keychain
238733
238734              name   The  certificate  to  uninstall, this can be a path for a
238735                     .p12 or the friendly name
238736
238737              password
238738                     The password for the certificate being installed  format‐
238739                     ted  in the way described for openssl command in the PASS
238740                     PHRASE ARGUMENTS section
238741
238742              cert_name
238743                     The friendly name of the certificate, this  can  be  used
238744                     instead of giving a certificate
238745
238746              keychain
238747                     The   keychain  to  remove  the  certificate  from,  this
238748                     defaults to /Library/Keychains/System.keychain
238749
238750              keychain_password
238751                     If your keychain is likely to be locked pass the password
238752                     and it will be unlocked before running the import
238753
238754   salt.states.mac_package module
238755   Installing of mac pkg files
238756       Install any kind of pkg, dmg or app file on macOS:
238757
238758          /mnt/test.pkg:
238759            macpackage.installed:
238760              - store: True
238761
238762          /mnt/test.dmg:
238763            macpackage.installed:
238764              - dmg: True
238765
238766          /mnt/xcode.dmg:
238767            macpackage.installed:
238768              - dmg: True
238769              - app: True
238770              - target: /Applications/Xcode.app
238771              - version_check: xcodebuild -version=Xcode 7.1\n.*7B91b
238772
238773       salt.states.mac_package.installed(name,          target=u'LocalSystem',
238774       dmg=False, store=False, app=False, mpkg=False, user=None,  onlyif=None,
238775       unless=None, force=False, allow_untrusted=False, version_check=None)
238776              Install  a Mac OS Package from a pkg or dmg file, if given a dmg
238777              file it will first be mounted in a temporary location
238778
238779              name   The pkg or dmg file to install
238780
238781              target The location in which to install the package. This can be
238782                     a path or LocalSystem
238783
238784              dmg    Is the given file a dmg file?
238785
238786              store  Should  the pkg be installed as if it was from the Mac OS
238787                     Store?
238788
238789              app    Is the file a .app? If so then we'll just  copy  that  to
238790                     /Applications/ or the given target
238791
238792              mpkg   Is  the  file  a .mpkg? If so then we'll check all of the
238793                     .pkg files found are installed
238794
238795              user   Name of the user performing the unless or onlyif checks
238796
238797              onlyif A command to run as a check, run the named  command  only
238798                     if the command passed to the onlyif option returns true
238799
238800              unless A  command  to run as a check, only run the named command
238801                     if the command passed to the unless option returns false
238802
238803              force  Force the package to be installed  even  if  its  already
238804                     been found installed
238805
238806              allow_untrusted
238807                     Allow the installation of untrusted packages
238808
238809              version_check
238810                     The  command  and  version that we want to check against,
238811                     the version number can use regex.
238812
238813                        version_check: python --version_check=2.7.[0-9]
238814
238815   salt.states.mac_xattr module
238816   Allows you to manage extended attributes on files or directories
238817       Install, enable and disable assistive access on macOS minions
238818
238819          /path/to/file:
238820            xattr.exists:
238821              - attributes:
238822                  - com.file.attr=test
238823                  - com.apple.quarantine=0x00001111
238824
238825       salt.states.mac_xattr.delete(name, attributes)
238826              Make sure the given attributes are deleted from the  file/direc‐
238827              tory
238828
238829              name   The path to the file/directory
238830
238831              attributes
238832                     The   attributes   that   should   be  removed  from  the
238833                     file/directory, this is accepted as an array.
238834
238835       salt.states.mac_xattr.exists(name, attributes)
238836              Make sure the given attributes exist on the file/directory
238837
238838              name   The path to the file/directory
238839
238840              attributes
238841                     The attributes that should exist on  the  file/directory,
238842                     this  is  accepted  as an array, with key and value split
238843                     with an equals sign, if you want to specify a  hex  value
238844                     then add 0x to the beginning of the value.
238845
238846   salt.states.makeconf
238847   Management of Gentoo make.conf
238848       A state module to manage Gentoo's make.conf file
238849
238850          makeopts:
238851            makeconf.present:
238852              - value: '-j3'
238853
238854       salt.states.makeconf.absent(name)
238855              Verify that the variable is not in the make.conf.
238856
238857              name   The  variable  name. This will automatically be converted
238858                     to upper case since variables in make.conf are  in  upper
238859                     case
238860
238861       salt.states.makeconf.present(name,      value=None,      contains=None,
238862       excludes=None)
238863              Verify that the variable is in the make.conf and  has  the  pro‐
238864              vided  settings.  If value is set, contains and excludes will be
238865              ignored.
238866
238867              name   The variable name. This will automatically  be  converted
238868                     to  upper  case since variables in make.conf are in upper
238869                     case
238870
238871              value  Enforce that the value of the variable is set to the pro‐
238872                     vided value
238873
238874              contains
238875                     Enforce  that the value of the variable contains the pro‐
238876                     vided value
238877
238878              excludes
238879                     Enforce that the value of the variable does  not  contain
238880                     the provided value.
238881
238882   salt.states.marathon_app module
238883       Configure Marathon apps via a salt proxy.
238884
238885          my_app:
238886            marathon_app.config:
238887              - config:
238888                  cmd: "while [ true ] ; do echo 'Hello Marathon' ; sleep 5 ; done"
238889                  cpus: 0.1
238890                  mem: 10
238891                  instances: 3
238892
238893       New in version 2015.8.2.
238894
238895
238896       salt.states.marathon_app.absent(name)
238897              Ensure that the marathon app with the given id is not present.
238898
238899              Parameters
238900                     name -- The app name/id
238901
238902              Returns
238903                     A standard Salt changes dictionary
238904
238905       salt.states.marathon_app.config(name, config)
238906              Ensure that the marathon app with the given id is present and is
238907              configured to match the given config values.
238908
238909              Parameters
238910
238911                     · name -- The app name/id
238912
238913                     · config -- The configuration to apply (dict)
238914
238915              Returns
238916                     A standard Salt changes dictionary
238917
238918       salt.states.marathon_app.running(name, restart=False, force=True)
238919              Ensure that the marathon app with the given id  is  present  and
238920              restart if set.
238921
238922              Parameters
238923
238924                     · name -- The app name/id
238925
238926                     · restart -- Restart the app
238927
238928                     · force -- Override the current deployment
238929
238930              Returns
238931                     A standard Salt changes dictionary
238932
238933   salt.states.mdadm
238934   Managing software RAID with mdadm
238935       depends
238936              mdadm
238937
238938       A state module for creating or destroying software RAID devices.
238939
238940          /dev/md0:
238941            raid.present:
238942              - level: 5
238943              - devices:
238944                - /dev/xvdd
238945                - /dev/xvde
238946                - /dev/xvdf
238947              - chunk: 256
238948              - run: True
238949
238950       salt.states.mdadm.absent(name)
238951              Verify that the raid is absent
238952
238953              name   The name of raid device to be destroyed
238954
238955                 /dev/md0:
238956                   raid:
238957                     - absent
238958
238959       salt.states.mdadm.present(name, level, devices, **kwargs)
238960              Verify that the raid is present
238961
238962              Changed in version 2014.7.0.
238963
238964
238965              name   The name of raid device to be created
238966
238967              level  The RAID level to use when creating the raid.
238968
238969              devices
238970                     A list of devices used to build the array.
238971
238972              kwargs Optional arguments to be passed to mdadm.
238973
238974              Example:
238975
238976                 /dev/md0:
238977                   raid.present:
238978                     - level: 5
238979                     - devices:
238980                       - /dev/xvdd
238981                       - /dev/xvde
238982                       - /dev/xvdf
238983                     - chunk: 256
238984                     - run: True
238985
238986   salt.states.memcached
238987   States for Management of Memcached Keys
238988       New in version 2014.1.0.
238989
238990
238991       salt.states.memcached.absent(name,    value=None,    host=u'127.0.0.1',
238992       port=11211, time=0)
238993              Ensure that a memcached key is not present.
238994
238995              name   The key
238996
238997              value  None If specified, only ensure that the key is absent  if
238998                     it matches the specified value.
238999
239000              host   The memcached server IP address
239001
239002              port   The memcached server port
239003
239004                 foo:
239005                   memcached.absent
239006
239007                 bar:
239008                   memcached.absent:
239009                     - host: 10.0.0.1
239010
239011       salt.states.memcached.managed(name,    value=None,   host=u'127.0.0.1',
239012       port=11211, time=0, min_compress_len=0)
239013              Manage a memcached key.
239014
239015              name   The key to manage
239016
239017              value  The value to set for that key
239018
239019              host   The memcached server IP address
239020
239021              port   The memcached server port
239022
239023                 foo:
239024                   memcached.managed:
239025                     - value: bar
239026
239027   salt.states.modjk
239028       State to control Apache modjk
239029
239030       salt.states.modjk.worker_activated(name,       workers=None,       pro‐
239031       file=u'default')
239032              Activate all the workers in the modjk load balancer
239033
239034              Example:
239035
239036                 loadbalancer:
239037                   modjk.worker_activated:
239038                     - workers:
239039                       - app1
239040                       - app2
239041
239042       salt.states.modjk.worker_disabled(name,        workers=None,       pro‐
239043       file=u'default')
239044              Disable all the workers in the modjk load balancer
239045
239046              Example:
239047
239048                 loadbalancer:
239049                   modjk.worker_disabled:
239050                     - workers:
239051                       - app1
239052                       - app2
239053
239054       salt.states.modjk.worker_recover(name,        workers=None,        pro‐
239055       file=u'default')
239056              Recover all the workers in the modjk load balancer
239057
239058              Example:
239059
239060                 loadbalancer:
239061                   modjk.worker_recover:
239062                     - workers:
239063                       - app1
239064                       - app2
239065
239066       salt.states.modjk.worker_stopped(name,        workers=None,        pro‐
239067       file=u'default')
239068              Stop all the workers in the modjk load balancer
239069
239070              Example:
239071
239072                 loadbalancer:
239073                   modjk.worker_stopped:
239074                     - workers:
239075                       - app1
239076                       - app2
239077
239078   salt.states.modjk_worker
239079   Manage modjk workers
239080       Send commands to a modjk load balancer via the peer system.
239081
239082       This module can be used with the prereq  requisite  to  remove/add  the
239083       worker from the load balancer before deploying/restarting service.
239084
239085       Mandatory Settings:
239086
239087       · The minion needs to have permission to publish the modjk.*  functions
239088         (see here for information on configuring peer publishing permissions)
239089
239090       · The modjk load balancer must be configured as  stated  in  the  modjk
239091         execution module documentation
239092
239093       salt.states.modjk_worker.activate(name,      lbn,      target,     pro‐
239094       file=u'default', tgt_type=u'glob')
239095              Changed in version 2017.7.0: The  expr_form  argument  has  been
239096              renamed to tgt_type, earlier releases must use expr_form.
239097
239098
239099              Activate  the  named  worker  from the lbn load balancers at the
239100              targeted minions
239101
239102              Example:
239103
239104                 disable-before-deploy:
239105                   modjk_worker.activate:
239106                     - name: {{ grains['id'] }}
239107                     - lbn: application
239108                     - target: 'roles:balancer'
239109                     - tgt_type: grain
239110
239111       salt.states.modjk_worker.disable(name, lbn, target, profile=u'default',
239112       tgt_type=u'glob')
239113              Changed  in  version  2017.7.0:  The expr_form argument has been
239114              renamed to tgt_type, earlier releases must use expr_form.
239115
239116
239117              Disable the named worker from the lbn load balancers at the tar‐
239118              geted minions. The worker will get traffic only for current ses‐
239119              sions and won't get new ones.
239120
239121              Example:
239122
239123                 disable-before-deploy:
239124                   modjk_worker.disable:
239125                     - name: {{ grains['id'] }}
239126                     - lbn: application
239127                     - target: 'roles:balancer'
239128                     - tgt_type: grain
239129
239130       salt.states.modjk_worker.stop(name,  lbn,  target,  profile=u'default',
239131       tgt_type=u'glob')
239132              Changed  in  version  2017.7.0:  The expr_form argument has been
239133              renamed to tgt_type, earlier releases must use expr_form.
239134
239135
239136              Stop the named worker from the lbn load balancers  at  the  tar‐
239137              geted minions The worker won't get any traffic from the lbn
239138
239139              Example:
239140
239141                 disable-before-deploy:
239142                   modjk_worker.stop:
239143                     - name: {{ grains['id'] }}
239144                     - lbn: application
239145                     - target: 'roles:balancer'
239146                     - tgt_type: grain
239147
239148   salt.states.module
239149   Execution of Salt modules from within states
239150       With module.run these states allow individual execution module calls to
239151       be made via states. To call a single module function use  a  module.run
239152       state:
239153
239154          mine.send:
239155            module.run:
239156              - network.interfaces
239157
239158       Note  that  this  example  is  probably unnecessary to use in practice,
239159       since the mine_functions and mine_interval  config  parameters  can  be
239160       used to schedule updates for the mine (see here for more info).
239161
239162       It  is  sometimes desirable to trigger a function call after a state is
239163       executed, for this the module.wait state can be used:
239164
239165          fetch_out_of_band:
239166            module.run:
239167              - git.fetch:
239168                - cwd: /path/to/my/repo
239169                - user: myuser
239170                - opts: '--all'
239171
239172       Another example:
239173
239174          mine.send:
239175            module.run:
239176              - network.ip_addrs:
239177                - interface: eth0
239178
239179       And more complex example:
239180
239181          eventsviewer:
239182            module.run:
239183              - task.create_task:
239184                - name: events-viewer
239185                - user_name: System
239186                - action_type: Execute
239187                - cmd: 'c:\netops\scripts\events_viewer.bat'
239188                - trigger_type: 'Daily'
239189                - start_date: '2017-1-20'
239190                - start_time: '11:59PM'
239191
239192       Please note, this is a new behaviour of module.run function.
239193
239194       With the previous module.run there are several differences:
239195
239196       · The need of name keyword
239197
239198       · The need of m_ prefix
239199
239200       · No way to call more than one function at once
239201
239202       For example:
239203
239204          mine.send:
239205            module.wait:
239206              - name: network.interfaces
239207              - watch:
239208                - file: /etc/network/interfaces
239209
239210       All arguments that the module state does not consume are passed through
239211       to the execution module function being executed:
239212
239213          fetch_out_of_band:
239214            module.run:
239215              - name: git.fetch
239216              - cwd: /path/to/my/repo
239217              - user: myuser
239218              - opts: '--all'
239219
239220       Due  to  how  the  state  system works, if a module function accepts an
239221       argument called, name, then m_name must be used to specify  that  argu‐
239222       ment, to avoid a collision with the name argument.
239223
239224       Here  is  a  list of keywords hidden by the state system, which must be
239225       prefixed with m_:
239226
239227       · fun
239228
239229       · name
239230
239231       · names
239232
239233       · state
239234
239235       · saltenv
239236
239237       For example:
239238
239239          disable_nfs:
239240            module.run:
239241              - name: service.disable
239242              - m_name: nfs
239243
239244       Note that some modules read all or some of the arguments from a list of
239245       keyword arguments. For example:
239246
239247          mine.send:
239248            module.run:
239249              - func: network.ip_addrs
239250              - kwargs:
239251                  interface: eth0
239252
239253          cloud.create:
239254            module.run:
239255              - func: cloud.create
239256              - provider: test-provider
239257              - m_names:
239258                - test-vlad
239259              - kwargs: {
239260                    ssh_username: 'ubuntu',
239261                    image: 'ami-8d6d9daa',
239262                    securitygroup: 'default',
239263                    size: 'c3.large',
239264                    location: 'ap-northeast-1',
239265                    delvol_on_destroy: 'True'
239266                }
239267
239268       Another example that creates a recurring task that runs a batch file on
239269       a Windows system:
239270
239271          eventsviewer:
239272            module.run:
239273              - name: task.create_task
239274              - m_name: 'events-viewer'
239275              - user_name: System
239276              - kwargs: {
239277                    action_type: 'Execute',
239278                    cmd: 'c:\netops\scripts\events_viewer.bat',
239279                    trigger_type: 'Daily',
239280                    start_date: '2017-1-20',
239281                    start_time: '11:59PM'
239282              }
239283
239284       Another option is to use the new version of module.run. With which  you
239285       can call one (or more!)  functions at once the following way:
239286
239287          call_something:
239288            module.run:
239289              - git.fetch:
239290                - cwd: /path/to/my/repo
239291                - user: myuser
239292                - opts: '--all'
239293
239294       By  default  this behaviour is not turned on. In order to do so, please
239295       add the following configuration to the minion:
239296
239297          use_superseded:
239298            - module.run
239299
239300       salt.states.module.wait(name, **kwargs)
239301              Run a single module function only if the watch  statement  calls
239302              it
239303
239304              name   The module function to execute
239305
239306              **kwargs
239307                     Pass any arguments needed to execute the function
239308
239309              NOTE:
239310                 Like  the  cmd.run state, this state will return True but not
239311                 actually execute, unless one of the following two things hap‐
239312                 pens:
239313
239314                 1. The state has a watch requisite, and the state which it is
239315                    watching changes.
239316
239317                 2. Another state has a watch_in  requisite  which  references
239318                    this state, and the state wth the watch_in changes.
239319
239320   salt.states.mongodb_database
239321   Management of MongoDB Databases
239322       depends
239323
239324              · pymongo Python module
239325
239326       Only deletion is supported, creation doesn't make sense and can be done
239327       using mongodb_user.present.
239328
239329       salt.states.mongodb_database.absent(name,   user=None,   password=None,
239330       host=None, port=None, authdb=None)
239331              Ensure  that  the  named  database is absent. Note that creation
239332              doesn't make sense in MongoDB.
239333
239334              name   The name of the database to remove
239335
239336              user   The user to connect as (must be able to create the user)
239337
239338              password
239339                     The password of the user
239340
239341              host   The host to connect to
239342
239343              port   The port to connect to
239344
239345              authdb The database in which to authenticate
239346
239347   salt.states.mongodb_user
239348   Management of MongoDB Users
239349       depends
239350
239351              · pymongo Python module
239352
239353       salt.states.mongodb_user.absent(name,     user=None,     password=None,
239354       host=None, port=None, database=u'admin', authdb=None)
239355              Ensure that the named user is absent
239356
239357              name   The name of the user to remove
239358
239359              user   MongoDB user with sufficient privilege to create the user
239360
239361              password
239362                     Password for the admin user specified by the user parame‐
239363                     ter
239364
239365              host   The hostname/IP address of the MongoDB server
239366
239367              port   The port on which MongoDB is listening
239368
239369              database
239370                     The database from which to remove the user  specified  by
239371                     the name parameter
239372
239373              authdb The database in which to authenticate
239374
239375       salt.states.mongodb_user.present(name,    passwd,    database=u'admin',
239376       user=None, password=None, host=u'localhost',  port=27017,  authdb=None,
239377       roles=None)
239378              Ensure that the user is present with the specified properties
239379
239380              name   The name of the user to manage
239381
239382              passwd The password of the user to manage
239383
239384              user   MongoDB user with sufficient privilege to create the user
239385
239386              password
239387                     Password  for  the  admin  user  specified  with the user
239388                     parameter
239389
239390              host   The hostname/IP address of the MongoDB server
239391
239392              port   The port on which MongoDB is listening
239393
239394              database
239395                     The database in which to create the user
239396
239397                     NOTE:
239398                        If the database doesn't exist, it will be created.
239399
239400              authdb The database in which to authenticate
239401
239402              roles  The roles assigned to user specified with the name param‐
239403                     eter
239404
239405              Example:
239406
239407                 mongouser-myapp:
239408                   mongodb_user.present:
239409                   - name: myapp
239410                   - passwd: password-of-myapp
239411                   - database: admin
239412                   # Connect as admin:sekrit
239413                   - user: admin
239414                   - password: sekrit
239415                   - roles:
239416                       - readWrite
239417                       - userAdmin
239418                       - dbOwner
239419
239420   salt.states.monit
239421   Monit state
239422       Manage monit states
239423
239424          monit_enable_service_monitoring:
239425            monit.monitor:
239426              - name: service
239427
239428          monit_disable_service_monitoring:
239429            monit.unmonitor:
239430              - name: service
239431
239432       NOTE:
239433          Use  of  these  states  require  that  the monit execution module is
239434          available.
239435
239436       salt.states.monit.monitor(name)
239437              Get the summary from module monit and try to see if  service  is
239438              being monitored. If not then monitor the service.
239439
239440       salt.states.monit.unmonitor(name)
239441              Get  the  summary from module monit and try to see if service is
239442              being monitored. If it is then stop monitoring the service.
239443
239444   salt.states.mount
239445   Mounting of filesystems
239446       Mount any type of mountable filesystem with the mounted function:
239447
239448          /mnt/sdb:
239449            mount.mounted:
239450              - device: /dev/sdb1
239451              - fstype: ext4
239452              - mkmnt: True
239453              - opts:
239454                - defaults
239455
239456          /srv/bigdata:
239457            mount.mounted:
239458              - device: UUID=066e0200-2867-4ebe-b9e6-f30026ca2314
239459              - fstype: xfs
239460              - opts: nobootwait,noatime,nodiratime,nobarrier,logbufs=8
239461              - dump: 0
239462              - pass_num: 2
239463              - persist: True
239464              - mkmnt: True
239465
239466          /var/lib/bigdata:
239467            mount.mounted:
239468              - device: /srv/bigdata
239469              - fstype: none
239470              - opts: bind
239471              - dump: 0
239472              - pass_num: 0
239473              - persist: True
239474              - mkmnt: True
239475
239476       salt.states.mount.mod_watch(name, user=None, **kwargs)
239477              The mounted watcher, called to invoke the watch command.
239478
239479              NOTE:
239480                 This state exists to support special handling  of  the  watch
239481                 requisite. It should not be called directly.
239482
239483                 Parameters for this function should be set by the state being
239484                 triggered.
239485
239486              name   The name of the mount point
239487
239488       salt.states.mount.mounted(name,    device,     fstype,     mkmnt=False,
239489       opts=u'defaults',   dump=0,   pass_num=0,   config=u'/etc/fstab',  per‐
239490       sist=True,       mount=True,        user=None,        match_on=u'auto',
239491       device_name_regex=None,             extra_mount_invisible_options=None,
239492       extra_mount_invisible_keys=None,       extra_mount_ignore_fs_keys=None,
239493       extra_mount_translate_options=None, hidden_opts=None, **kwargs)
239494              Verify that a device is mounted
239495
239496              name   The  path  to  the  location  where  the  device is to be
239497                     mounted
239498
239499              device The device name,  typically  the  device  node,  such  as
239500                     /dev/sdb1 or UUID=066e0200-2867-4ebe-b9e6-f30026ca2314 or
239501                     LABEL=DATA
239502
239503              fstype The filesystem type, this will be xfs,  ext2/3/4  in  the
239504                     case  of  classic  filesystems,  fuse in the case of fuse
239505                     mounts, and nfs in the case of nfs mounts
239506
239507              mkmnt  If the mount point is not present  then  the  state  will
239508                     fail,  set mkmnt: True to create the mount point if it is
239509                     otherwise not present
239510
239511              opts   A list object of options or a comma delimited list
239512
239513              dump   The dump value to be passed into the fstab, Default is 0
239514
239515              pass_num
239516                     The pass value to be passed into the fstab, Default is 0
239517
239518              config Set an alternative location for  the  fstab,  Default  is
239519                     /etc/fstab
239520
239521              persist
239522                     Set if the mount should be saved in the fstab, Default is
239523                     True
239524
239525              mount  Set if the mount should be mounted  immediately,  Default
239526                     is True
239527
239528              user   The  account  used to execute the mount; this defaults to
239529                     the user salt is running as on the minion
239530
239531              match_on
239532                     A name or list of fstab properties on  which  this  state
239533                     should  be  applied.   Default  is  auto, a special value
239534                     indicating to guess based on fstype.   In  general,  auto
239535                     matches on name for recognized special devices and device
239536                     otherwise.
239537
239538              device_name_regex
239539                     A list of device exact names or regular expressions which
239540                     should not force a remount. For example, glusterfs may be
239541                     mounted with a comma-separated list of servers in  fstab,
239542                     but  the  /proc/self/mountinfo  will  show only the first
239543                     available server.
239544
239545                        {% set glusterfs_ip_list = ['10.0.0.1', '10.0.0.2', '10.0.0.3'] %}
239546
239547                        mount glusterfs volume:
239548                          mount.mounted:
239549                            - name: /mnt/glusterfs_mount_point
239550                            - device: {{ glusterfs_ip_list|join(',') }}:/volume_name
239551                            - fstype: glusterfs
239552                            - opts: _netdev,rw,defaults,direct-io-mode=disable
239553                            - mkmnt: True
239554                            - persist: True
239555                            - dump: 0
239556                            - pass_num: 0
239557                            - device_name_regex:
239558                              - ({{ glusterfs_ip_list|join('|') }}):/volume_name
239559
239560                     New in version 2016.11.0.
239561
239562
239563              extra_mount_invisible_options
239564                     A list of extra options that are not visible through  the
239565                     /proc/self/mountinfo interface.
239566
239567                     If a option is not visible through this interface it will
239568                     always  remount  the  device.  This  option  extends  the
239569                     builtin mount_invisible_options list.
239570
239571              extra_mount_invisible_keys
239572                     A  list of extra key options that are not visible through
239573                     the /proc/self/mountinfo interface.
239574
239575                     If a key option is not visible through this interface  it
239576                     will  always  remount the device. This option extends the
239577                     builtin mount_invisible_keys list.
239578
239579                     A good example for a key option is the password option:
239580
239581                        password=badsecret
239582
239583              extra_mount_ignore_fs_keys
239584                     A dict of filesystem options which  should  not  force  a
239585                     remount.  This  will  update the internal dictionary. The
239586                     dict should look like this:
239587
239588                        {
239589                            'ramfs': ['size']
239590                        }
239591
239592              extra_mount_translate_options
239593                     A  dict  of  mount  options  that  gets  translated  when
239594                     mounted.  To  prevent a remount add additional options to
239595                     the default dictionary. This  will  update  the  internal
239596                     dictionary. The dictionary should look like this:
239597
239598                        {
239599                            'tcp': 'proto=tcp',
239600                            'udp': 'proto=udp'
239601                        }
239602
239603              hidden_opts
239604                     A list of mount options that will be ignored when consid‐
239605                     ering a remount as part of the state application
239606
239607                     New in version 2015.8.2.
239608
239609
239610       salt.states.mount.swap(name, persist=True, config=u'/etc/fstab')
239611              Activates a swap device
239612
239613                 /root/swapfile:
239614                   mount.swap
239615
239616              NOTE:
239617                 swap does not currently support LABEL
239618
239619       salt.states.mount.unmounted(name,  device=None,   config=u'/etc/fstab',
239620       persist=False, user=None, **kwargs)
239621              New in version 0.17.0.
239622
239623
239624              Verify that a device is not mounted
239625
239626              name   The  path  to  the  location  where  the  device is to be
239627                     unmounted from
239628
239629              device The device to be unmounted.  This is optional because the
239630                     device could be mounted in multiple places.
239631
239632                     New in version 2015.5.0.
239633
239634
239635              config Set  an  alternative  location  for the fstab, Default is
239636                     /etc/fstab
239637
239638              persist
239639                     Set if the mount should be purged from the fstab, Default
239640                     is False
239641
239642              user   The user to own the mount; this defaults to the user salt
239643                     is running as on the minion
239644
239645   salt.states.msteams module
239646   Send a message card to Microsoft Teams
239647       This state is useful for sending messages to Teams during state runs.
239648
239649       New in version 2017.7.0.
239650
239651
239652          teams-message:
239653            msteams.post_card:
239654              - message: 'This state was executed successfully.'
239655              - hook_url:  https://outlook.office.com/webhook/837
239656
239657       The hook_url can be specified in the  master  or  minion  configuration
239658       like below:
239659
239660          msteams:
239661            hook_url: https://outlook.office.com/webhook/837
239662
239663       salt.states.msteams.post_card(name, message, hook_url=None, title=None,
239664       theme_color=None)
239665              Send a message to a Microsft Teams channel
239666
239667                 send-msteams-message:
239668                   msteams.post_card:
239669                     - message: 'This state was executed successfully.'
239670                     - hook_url: https://outlook.office.com/webhook/837
239671
239672              The following parameters are required:
239673
239674              message
239675                     The message that is to be sent to the MS Teams channel.
239676
239677              The following parameters are optional:
239678
239679              hook_url
239680                     The webhook URL given configured in Teams  interface,  if
239681                     not  specified  in the configuration options of master or
239682                     minion.
239683
239684              title  The title for the card posted to the channel
239685
239686              theme_color
239687                     A hex code for the desired highlight color
239688
239689   salt.states.mysql_database
239690   Management of MySQL databases (schemas)
239691       depends
239692
239693              · MySQLdb Python module
239694
239695       configuration
239696              See salt.modules.mysql for setup instructions.
239697
239698       The mysql_database module is used to create and manage MySQL databases.
239699       Databases can be set as either absent or present.
239700
239701          frank:
239702            mysql_database.present
239703
239704       salt.states.mysql_database.absent(name, **connection_args)
239705              Ensure that the named database is absent
239706
239707              name   The name of the database to remove
239708
239709       salt.states.mysql_database.present(name,    character_set=None,    col‐
239710       late=None, **connection_args)
239711              Ensure that the named database is  present  with  the  specified
239712              properties
239713
239714              name   The name of the database to manage
239715
239716   salt.states.mysql_grants
239717   Management of MySQL grants (user permissions)
239718       depends
239719
239720              · MySQLdb Python module
239721
239722       configuration
239723              See salt.modules.mysql for setup instructions.
239724
239725       The mysql_grants module is used to grant and revoke MySQL permissions.
239726
239727       The  name  you pass in purely symbolic and does not have anything to do
239728       with the grant itself.
239729
239730       The database parameter needs to specify  a  'priv_level'  in  the  same
239731       specification as defined in the MySQL documentation:
239732
239733       · *
239734
239735       · *.*
239736
239737       · db_name.*
239738
239739       · db_name.tbl_name
239740
239741       · etc...
239742
239743       This  state  is  not  able  to set password for the permission from the
239744       specified host. See salt.states.mysql_user for further instructions.
239745
239746          frank_exampledb:
239747             mysql_grants.present:
239748              - grant: select,insert,update
239749              - database: exampledb.*
239750              - user: frank
239751              - host: localhost
239752
239753          frank_otherdb:
239754            mysql_grants.present:
239755              - grant: all privileges
239756              - database: otherdb.*
239757              - user: frank
239758
239759          restricted_singletable:
239760            mysql_grants.present:
239761              - grant: select
239762              - database: somedb.sometable
239763              - user: joe
239764
239765       salt.states.mysql_grants.absent(name,    grant=None,     database=None,
239766       user=None,  host=u'localhost',  grant_option=False, escape=True, **con‐
239767       nection_args)
239768              Ensure that the grant is absent
239769
239770              name   The name (key) of the grant to add
239771
239772              grant  The grant priv_type  (i.e.  select,insert,update  OR  all
239773                     privileges)
239774
239775              database
239776                     The database priv_level (i.e. db.tbl OR db.*)
239777
239778              user   The user to apply the grant to
239779
239780              host   The network/host that the grant should apply to
239781
239782       salt.states.mysql_grants.present(name,    grant=None,    database=None,
239783       user=None,    host=u'localhost',    grant_option=False,    escape=True,
239784       revoke_first=False, ssl_option=False, **connection_args)
239785              Ensure that the grant is present with the specified properties
239786
239787              name   The name (key) of the grant to add
239788
239789              grant  The  grant  priv_type  (i.e.  select,insert,update OR all
239790                     privileges)
239791
239792              database
239793                     The database priv_level (i.e. db.tbl OR db.*)
239794
239795              user   The user to apply the grant to
239796
239797              host   The network/host that the grant should apply to
239798
239799              grant_option
239800                     Adds the WITH GRANT OPTION to the defined grant.  Default
239801                     is False
239802
239803              escape Defines  if  the  database  value  gets  escaped  or not.
239804                     Default is True
239805
239806              revoke_first
239807                     By default, MySQL will not do anything  if  you  issue  a
239808                     command  to  grant  privileges  that are more restrictive
239809                     than what's already in place. This effectively means that
239810                     you  cannot  downgrade permissions without first revoking
239811                     permissions applied to a db.table/user pair first.
239812
239813                     To have Salt forcibly revoke perms before applying a  new
239814                     grant, enable the 'revoke_first options.
239815
239816                     WARNING:  This  will  remove  permissions  for a database
239817                     before attempting to apply new permissions. There  is  no
239818                     guarantee  that new permissions will be applied correctly
239819                     which can leave your database security in an unknown  and
239820                     potentially dangerous state.  Use with caution!
239821
239822                     Default is False
239823
239824              ssl_option
239825                     Adds the specified ssl options for the connecting user as
239826                     requirements for this grant. Value  is  a  list  of  sin‐
239827                     gle-element  dicts  corresponding  to  the  list  of  ssl
239828                     options to use.
239829
239830                     Possible key/value pairings for the dicts in the value:
239831
239832                        - SSL: True
239833                        - X509: True
239834                        - SUBJECT: <subject>
239835                        - ISSUER: <issuer>
239836                        - CIPHER: <cipher>
239837
239838                     The non-boolean ssl options take a string as  their  val‐
239839                     ues, which should be an appropriate value as specified by
239840                     the MySQL documentation for these options.
239841
239842                     Default is False (no ssl options will be used)
239843
239844   salt.states.mysql_query
239845   Execution of MySQL queries
239846       New in version 2014.7.0.
239847
239848
239849       depends
239850
239851              · MySQLdb Python module
239852
239853       configuration
239854              See salt.modules.mysql for setup instructions.
239855
239856       The mysql_query module is used to execute queries on  MySQL  databases.
239857       Its output may be stored in a file or in a grain.
239858
239859          query_id:
239860            mysql_query.run
239861              - database: my_database
239862              - query:    "SELECT * FROM table;"
239863              - output:   "/tmp/query_id.txt"
239864
239865       salt.states.mysql_query.run(name,    database,    query,   output=None,
239866       grain=None, key=None, overwrite=True,  check_db_exists=True,  **connec‐
239867       tion_args)
239868              Execute an arbitrary query on the specified database
239869
239870              name   Used only as an ID
239871
239872              database
239873                     The name of the database to execute the query on
239874
239875              query  The query to execute
239876
239877              output grain: output in a grain other: the file to store results
239878                     None:  output to the result comment (default)
239879
239880              grain: grain to store the output (need output=grain)
239881
239882              key:   the specified grain will be treated as a dictionary,  the
239883                     result  of  this state will be stored under the specified
239884                     key.
239885
239886              overwrite:
239887                     The file or grain  will  be  overwritten  if  it  already
239888                     exists (default)
239889
239890              check_db_exists:
239891                     The  state  run  will  check  that the specified database
239892                     exists (default=True) before running any queries
239893
239894       salt.states.mysql_query.run_file(name, database, query_file=None,  out‐
239895       put=None,    grain=None,    key=None,   overwrite=True,   saltenv=None,
239896       check_db_exists=True, **connection_args)
239897              Execute an arbitrary query on the specified database
239898
239899              New in version 2017.7.0.
239900
239901
239902              name   Used only as an ID
239903
239904              database
239905                     The name of the database to execute the query_file on
239906
239907              query_file
239908                     The file of mysql commands to run
239909
239910              output grain: output in a grain other: the file to store results
239911                     None:  output to the result comment (default)
239912
239913              grain: grain to store the output (need output=grain)
239914
239915              key:   the  specified grain will be treated as a dictionary, the
239916                     result of this state will be stored under  the  specified
239917                     key.
239918
239919              overwrite:
239920                     The  file  or  grain  will  be  overwritten if it already
239921                     exists (default)
239922
239923              saltenv:
239924                     The saltenv to pull the query_file from
239925
239926              check_db_exists:
239927                     The state run will  check  that  the  specified  database
239928                     exists (default=True) before running any queries
239929
239930   salt.states.mysql_user
239931   Management of MySQL users
239932       depends
239933
239934              · MySQLdb Python module
239935
239936       configuration
239937              See salt.modules.mysql for setup instructions.
239938
239939          frank:
239940            mysql_user.present:
239941              - host: localhost
239942              - password: bobcat
239943
239944       New in version 0.16.2: Authentication overrides have been added.
239945
239946
239947       The  MySQL  authentication  information  specified in the minion config
239948       file can be overridden in states using the following arguments: connec‐
239949       tion_host,  connection_port,  connection_user, connection_pass, connec‐
239950       tion_db, connection_unix_socket,  connection_default_file  and  connec‐
239951       tion_charset.
239952
239953          frank:
239954            mysql_user.present:
239955              - host: localhost
239956              - password: "bob@cat"
239957              - connection_user: someuser
239958              - connection_pass: somepass
239959              - connection_charset: utf8
239960              - saltenv:
239961                - LC_ALL: "en_US.utf8"
239962
239963       This  state  is  not  able  to  grant  permissions  for  the  user. See
239964       salt.states.mysql_grants for further instructions.
239965
239966       salt.states.mysql_user.absent(name,    host=u'localhost',     **connec‐
239967       tion_args)
239968              Ensure that the named user is absent
239969
239970              name   The name of the user to remove
239971
239972       salt.states.mysql_user.present(name,  host=u'localhost', password=None,
239973       password_hash=None, allow_passwordless=False, unix_socket=False,  pass‐
239974       word_column=None, **connection_args)
239975              Ensure that the named user is present with the specified proper‐
239976              ties. A passwordless user can be configured by omitting password
239977              and password_hash, and setting allow_passwordless to True.
239978
239979              name   The name of the user to manage
239980
239981              host   Host for which this user/password combo applies
239982
239983              password
239984                     The  password  to use for this user. Will take precedence
239985                     over the password_hash option if both are specified.
239986
239987              password_hash
239988                     The password in hashed form. Be sure to quote  the  pass‐
239989                     word because YAML doesn't like the *. A password hash can
239990                     be obtained from the mysql command-line client like so:
239991
239992                        mysql> SELECT PASSWORD('mypass');
239993                        +-------------------------------------------+
239994                        | PASSWORD('mypass')                        |
239995                        +-------------------------------------------+
239996                        | *6C8989366EAF75BB670AD8EA7A7FC1176A95CEF4 |
239997                        +-------------------------------------------+
239998                        1 row in set (0.00 sec)
239999
240000              allow_passwordless
240001                     If True, then password and password_hash can  be  omitted
240002                     to permit a passwordless login.
240003
240004                     New in version 0.16.2.
240005
240006
240007              unix_socket
240008                     If  True  and allow_passwordless is True, the unix_socket
240009                     auth plugin will be used.
240010
240011   salt.states.netacl
240012   Network ACL
240013       Manage the firewall configuration on the network device namaged through
240014       NAPALM.  The firewall configuration is generated by Capirca.
240015
240016       New in version 2017.7.0.
240017
240018
240019       codeauthor
240020              Mircea Ulinic <mircea@cloudflare.com>
240021
240022       maturity
240023              new
240024
240025       depends
240026              capirca, napalm
240027
240028       platform
240029              unix
240030
240031   Dependencies
240032       Capirca:                 pip                 install                 -e
240033       git+git@github.com:google/capirca.git#egg=aclgen
240034
240035       To be able to load configuration on network devices, it requires NAPALM
240036       library   to   be   installed:    pip  install  napalm.   Please  check
240037       Installation for complete details.
240038
240039       salt.states.netacl.filter(name,    filter_name,    filter_options=None,
240040       terms=None,     prepend=True,     pillar_key=u'acl',    pillarenv=None,
240041       saltenv=None,   merge_pillar=False,    only_lower_merge=False,    revi‐
240042       sion_id=None,  revision_no=None, revision_date=True, revision_date_for‐
240043       mat=u'%Y/%m/%d', test=False, commit=True, debug=False)
240044              Generate and load the configuration of a policy filter.
240045
240046              filter_name
240047                     The name of the policy filter.
240048
240049              filter_options
240050                     Additional  filter  options.  These  options  are   plat‐
240051                     form-specific.  See the complete list of options.
240052
240053              terms  Dictionary of terms for this policy filter.  If not spec‐
240054                     ified or empty, will try to load the  configuration  from
240055                     the pillar, unless merge_pillar is set as False.
240056
240057              prepend: True
240058                     When merge_pillar is set as True, the final list of terms
240059                     generated by merging the  terms  from  terms  with  those
240060                     defined  in  the pillar (if any): new terms are prepended
240061                     at the beginning, while existing ones will  preserve  the
240062                     position.  To  add  the new terms at the end of the list,
240063                     set this argument to False.
240064
240065              pillar_key: acl
240066                     The key in the pillar containing the  default  attributes
240067                     values. Default: acl.
240068
240069              pillarenv
240070                     Query  the  master  to  generate fresh pillar data on the
240071                     fly, specifically from the requested pillar environment.
240072
240073              saltenv
240074                     Included    only    for    compatibility    with     pil‐
240075                     larenv_from_saltenv, and is otherwise ignored.
240076
240077              merge_pillar: False
240078                     Merge terms with the corresponding value from the pillar.
240079                     Default: False.
240080
240081                     NOTE:
240082                        By default this state does not  merge,  to  avoid  any
240083                        unexpected behaviours.
240084
240085                        The merge logic depends on the prepend argument.
240086
240087                        The  terms  specified  through the terms argument have
240088                        higher priority than the pillar.
240089
240090              only_lower_merge: False
240091                     Specify if it should merge only the terms fields.  Other‐
240092                     wise  it  will try to merge also filters fields. Default:
240093                     False.  This option requires merge_pillar,  otherwise  it
240094                     is ignored.
240095
240096              revision_id
240097                     Add a comment in the filter config having the description
240098                     for the changes applied.
240099
240100              revision_no
240101                     The revision count.
240102
240103              revision_date: True
240104                     Boolean flag: display the date when the filter configura‐
240105                     tion was generated. Default: True.
240106
240107              revision_date_format: %Y/%m/%d
240108                     The  date  format to be used when generating the perforce
240109                     data. Default: %Y/%m/%d (<year>/<month>/<day>).
240110
240111              test: False
240112                     Dry run? If set as True, will apply the  config,  discard
240113                     and  return  the changes.  Default: False and will commit
240114                     the changes on the device.
240115
240116              commit: True
240117                     Commit? Default: True.
240118
240119              debug: False
240120                     Debug mode. Will insert a new key under the  output  dic‐
240121                     tionary,  as  loaded_config containing the raw configura‐
240122                     tion loaded on the device.
240123
240124              CLI Example:
240125
240126                 salt 'edge01.flw01' state.sls router.acl test=True
240127
240128              Output Example:
240129
240130                 edge01.flw01:
240131                 ----------
240132                           ID: my-filter
240133                     Function: netacl.filter
240134                       Result: None
240135                      Comment: Testing mode: Configuration discarded.
240136                      Started: 12:24:40.598232
240137                     Duration: 2437.139 ms
240138                      Changes:
240139                               ----------
240140                               diff:
240141                                   ---
240142                                   +++
240143                                   @@ -1228,9 +1228,24 @@
240144                                   !
240145                                   +ipv4 access-list my-filter
240146                                   + 10 remark $Id: my-filter_state $
240147                                   + 20 remark $Revision: 5 $
240148                                   + 30 remark my-other-term
240149                                   + 40 permit tcp any range 5678 5680 any
240150                                   +!
240151                                   +!
240152                               loaded:
240153                                   ! $Id: my-filter_state $
240154                                   ! $Revision: 5 $
240155                                   no ipv6 access-list my-filter
240156                                   ipv6 access-list my-filter
240157                                    remark $Id: my-filter_state $
240158                                    remark $Revision: 5 $
240159                                    remark my-other-term
240160                                    permit tcp any range 5678 5680 any
240161                                   exit
240162
240163                 Summary for edge01.flw01
240164                 ------------
240165                 Succeeded: 1 (unchanged=1, changed=1)
240166                 Failed:    0
240167                 ------------
240168                 Total states run:     1
240169                 Total run time:   2.437 s
240170
240171              Pillar example:
240172
240173                 acl:
240174                   - my-filter:
240175                       options:
240176                         - inet6
240177                       terms:
240178                         - my-term:
240179                             source_port: [1234, 1235]
240180                             protocol:
240181                               - tcp
240182                               - udp
240183                             source_address: 1.2.3.4
240184                             action: reject
240185                         - my-other-term:
240186                             source_port:
240187                               - [5678, 5680]
240188                             protocol: tcp
240189                             action: accept
240190
240191              State SLS Example:
240192
240193                 {%- set filter_name = 'my-filter' -%}
240194                 {%- set my_filter_cfg = salt.netacl.get_filter_pillar(filter_name, pillar_key='firewall') -%}
240195                 my_first_filter_state:
240196                   netacl.filter:
240197                     - filter_name: {{ filter_name }}
240198                     - options: {{ my_filter_cfg['options'] | json }}
240199                     - terms: {{ my_filter_cfg['terms'] | json }}
240200                     - revision_date: false
240201                     - revision_no: 5
240202                     - debug: true
240203
240204              Or:
240205
240206                 my_first_filter_state:
240207                   netacl.filter:
240208                     - filter_name: my-filter
240209                     - merge_pillar: true
240210                     - pillar_key: firewall
240211                     - revision_date: false
240212                     - revision_no: 5
240213                     - debug: true
240214
240215              In the example above, as inet6 has been specified  in  the  fil‐
240216              ter_options,  the  configuration  chunk referring to my-term has
240217              been ignored as it referred to IPv4  only  (from  source_address
240218              field).
240219
240220              NOTE:
240221                 The  first method allows the user to eventually apply complex
240222                 manipulation and / or retrieve the data  from  external  ser‐
240223                 vices before passing the data to the state. The second one is
240224                 more straightforward, for less complex cases when loading the
240225                 data directly from the pillar is sufficient.
240226
240227              NOTE:
240228                 When passing retrieved pillar data into the state file, it is
240229                 strongly recommended to use the  json  serializer  explicitly
240230                 (`` | json``), instead of relying on the default Python seri‐
240231                 alizer.
240232
240233       salt.states.netacl.managed(name,   filters=None,   prepend=True,   pil‐
240234       lar_key=u'acl',   pillarenv=None,   saltenv=None,   merge_pillar=False,
240235       only_lower_merge=False,   revision_id=None,   revision_no=None,   revi‐
240236       sion_date=True,   revision_date_format=u'%Y/%m/%d',   test=False,  com‐
240237       mit=True, debug=False)
240238              Manage the whole firewall configuration.
240239
240240              filters
240241                     Dictionary of filters for this policy.  If not  specified
240242                     or  empty,  will  try  to load the configuration from the
240243                     pillar, unless merge_pillar is set as False.
240244
240245              prepend: True
240246                     When merge_pillar is set as True, the final list of  fil‐
240247                     ters  generated  by merging the filters from filters with
240248                     those defined in the pillar (if  any):  new  filters  are
240249                     prepended at the beginning, while existing ones will pre‐
240250                     serve the position. To add the new filters at the end  of
240251                     the list, set this argument to False.
240252
240253              pillar_key: acl
240254                     The  key  in the pillar containing the default attributes
240255                     values. Default: acl.
240256
240257              pillarenv
240258                     Query the master to generate fresh  pillar  data  on  the
240259                     fly, specifically from the requested pillar environment.
240260
240261              saltenv
240262                     Included     only    for    compatibility    with    pil‐
240263                     larenv_from_saltenv, and is otherwise ignored.
240264
240265              merge_pillar: False
240266                     Merge the filters will the corresponding values from  the
240267                     pillar. Default: False.
240268
240269                     NOTE:
240270                        By  default  this  state  does not merge, to avoid any
240271                        unexpected behaviours.
240272
240273                        The merge logic depends on the prepend argument.
240274
240275                        The filters specified  through  the  filters  argument
240276                        have higher priority than the pillar.
240277
240278              only_lower_merge: False
240279                     Specify  if  it  should  merge only the filters and terms
240280                     fields. Otherwise it will try to merge everything at  the
240281                     policy  level.  Default:  False.   This  option  requires
240282                     merge_pillar, otherwise it is ignored.
240283
240284              test: False
240285                     Dry run? If set as True, will apply the  config,  discard
240286                     and  return  the changes.  Default: False and will commit
240287                     the changes on the device.
240288
240289              revision_id
240290                     Add a comment in the policy config having the description
240291                     for the changes applied.
240292
240293              revision_no
240294                     The revision count.
240295
240296              revision_date: True
240297                     Boolean flag: display the date when the policy configura‐
240298                     tion was generated. Default: True.
240299
240300              revision_date_format: %Y/%m/%d
240301                     The date format to be used when generating  the  perforce
240302                     data. Default: %Y/%m/%d (<year>/<month>/<day>).
240303
240304              commit: True
240305                     Commit? Default: True.
240306
240307              debug: False
240308                     Debug  mode.  Will insert a new key under the output dic‐
240309                     tionary, as loaded_config containing the  raw  configura‐
240310                     tion loaded on the device.
240311
240312              CLI Example:
240313
240314                 salt 'edge01.bjm01' state.sls router.acl test=True
240315
240316              Output Example:
240317
240318                 edge01.bjm01:
240319                 -------------
240320                               ID: netacl_example
240321                         Function: netacl.managed
240322                           Result: None
240323                          Comment: Testing mode: Configuration discarded.
240324                          Started: 12:03:24.807023
240325                         Duration: 5569.453 ms
240326                          Changes:
240327                                   ----------
240328                                   diff:
240329                                       [edit firewall]
240330                                       +    family inet {
240331                                       +        /*
240332                                       +         ** $Id: netacl_example $
240333                                       +         ** $Date: 2017/07/03 $
240334                                       +         ** $Revision: 2 $
240335                                       +         **
240336                                       +         */
240337                                       +        filter my-filter {
240338                                       +            interface-specific;
240339                                       +            term my-term {
240340                                       +                from {
240341                                       +                    source-address {
240342                                       +                        1.2.3.4/32;
240343                                       +                    }
240344                                       +                    protocol [ tcp udp ];
240345                                       +                    source-port [ 1234 1235 ];
240346                                       +                }
240347                                       +                then {
240348                                       +                    reject;
240349                                       +                }
240350                                       +            }
240351                                       +            term my-other-term {
240352                                       +                from {
240353                                       +                    protocol tcp;
240354                                       +                    source-port 5678-5680;
240355                                       +                }
240356                                       +                then accept;
240357                                       +            }
240358                                       +        }
240359                                       +        /*
240360                                       +         ** $Id: netacl_example $
240361                                       +         ** $Date: 2017/07/03 $
240362                                       +         ** $Revision: 2 $
240363                                       +         **
240364                                       +         */
240365                                       +        filter block-icmp {
240366                                       +            interface-specific;
240367                                       +            term first-term {
240368                                       +                from {
240369                                       +                    protocol icmp;
240370                                       +                }
240371                                       +                then {
240372                                       +                    reject;
240373                                       +                }
240374                                       +            }
240375                                       +        }
240376                                       +    }
240377                                   loaded:
240378                                       firewall {
240379                                           family inet {
240380                                               replace:
240381                                               /*
240382                                               ** $Id: netacl_example $
240383                                               ** $Date: 2017/07/03 $
240384                                               ** $Revision: 2 $
240385                                               **
240386                                               */
240387                                               filter my-filter {
240388                                                   interface-specific;
240389                                                   term my-term {
240390                                                       from {
240391                                                           source-address {
240392                                                               1.2.3.4/32;
240393                                                           }
240394                                                           protocol [ tcp udp ];
240395                                                           source-port [ 1234 1235 ];
240396                                                       }
240397                                                       then {
240398                                                           reject;
240399                                                       }
240400                                                   }
240401                                                   term my-other-term {
240402                                                       from {
240403                                                           protocol tcp;
240404                                                           source-port 5678-5680;
240405                                                       }
240406                                                       then accept;
240407                                                   }
240408                                               }
240409                                           }
240410                                       }
240411                                       firewall {
240412                                           family inet {
240413                                               replace:
240414                                               /*
240415                                               ** $Id: netacl_example $
240416                                               ** $Date: 2017/07/03 $
240417                                               ** $Revision: 2 $
240418                                               **
240419                                               */
240420                                               filter block-icmp {
240421                                                   interface-specific;
240422                                                   term first-term {
240423                                                       from {
240424                                                           protocol icmp;
240425                                                       }
240426                                                       then {
240427                                                           reject;
240428                                                       }
240429                                                   }
240430                                               }
240431                                           }
240432                                       }
240433
240434                     Summary for edge01.bjm01
240435                     ------------
240436                     Succeeded: 1 (unchanged=1, changed=1)
240437                     Failed:    0
240438                     ------------
240439                     Total states run:     1
240440                     Total run time:   5.569 s
240441
240442              The policy configuration has been loaded from the pillar, having
240443              the following structure:
240444
240445                 firewall:
240446                   - my-filter:
240447                       terms:
240448                         - my-term:
240449                             source_port: [1234, 1235]
240450                             protocol:
240451                               - tcp
240452                               - udp
240453                             source_address: 1.2.3.4
240454                             action: reject
240455                         - my-other-term:
240456                             source_port:
240457                               - [5678, 5680]
240458                             protocol: tcp
240459                             action: accept
240460                   - block-icmp:
240461                       terms:
240462                         - first-term:
240463                             protocol:
240464                               - icmp
240465                             action: reject
240466
240467              Example SLS file:
240468
240469                 {%- set fw_filters = pillar.get('firewall', {}) -%}
240470                 netacl_example:
240471                   netacl.managed:
240472                     - filters: {{ fw_filters | json }}
240473                     - revision_no: 2
240474                     - debug: true
240475
240476              Or:
240477
240478                 netacl_example:
240479                   netacl.managed:
240480                     - pillar_key: firewall
240481                     - merge_pillar: true
240482                     - revision_no: 2
240483                     - debug: true
240484
240485              NOTE:
240486                 The first method allows the user to eventually apply  complex
240487                 manipulation  and  /  or retrieve the data from external ser‐
240488                 vices before passing the data to the state. The second one is
240489                 more straightforward, for less complex cases when loading the
240490                 data directly from the pillar is sufficient.
240491
240492              NOTE:
240493                 When passing retrieved pillar data into the state file, it is
240494                 strongly  recommended  to  use the json serializer explicitly
240495                 (`` | json``), instead of relying on the default Python seri‐
240496                 alizer.
240497
240498       salt.states.netacl.term(name,      filter_name,     term_name,     fil‐
240499       ter_options=None,  pillar_key=u'acl',   pillarenv=None,   saltenv=None,
240500       merge_pillar=False,     revision_id=None,    revision_no=None,    revi‐
240501       sion_date=True,  revision_date_format=u'%Y/%m/%d',   test=False,   com‐
240502       mit=True,  debug=False,  source_service=None, destination_service=None,
240503       **term_fields)
240504              Manage the configuration of a specific policy term.
240505
240506              filter_name
240507                     The name of the policy filter.
240508
240509              term_name
240510                     The name of the term.
240511
240512              filter_options
240513                     Additional  filter  options.  These  options  are   plat‐
240514                     form-specific.  See the complete list of options.
240515
240516              pillar_key: acl
240517                     The  key  in the pillar containing the default attributes
240518                     values. Default: acl.
240519
240520              pillarenv
240521                     Query the master to generate fresh  pillar  data  on  the
240522                     fly, specifically from the requested pillar environment.
240523
240524              saltenv
240525                     Included     only    for    compatibility    with    pil‐
240526                     larenv_from_saltenv, and is otherwise ignored.
240527
240528              merge_pillar: False
240529                     Merge the CLI variables with the pillar. Default: False.
240530
240531                     The properties specified through the state arguments have
240532                     higher priority than the pillar.
240533
240534              revision_id
240535                     Add  a  comment in the term config having the description
240536                     for the changes applied.
240537
240538              revision_no
240539                     The revision count.
240540
240541              revision_date: True
240542                     Boolean flag: display the date when the  term  configura‐
240543                     tion was generated. Default: True.
240544
240545              revision_date_format: %Y/%m/%d
240546                     The  date  format to be used when generating the perforce
240547                     data. Default: %Y/%m/%d (<year>/<month>/<day>).
240548
240549              test: False
240550                     Dry run? If set as True, will apply the  config,  discard
240551                     and  return  the changes.  Default: False and will commit
240552                     the changes on the device.
240553
240554              commit: True
240555                     Commit? Default: True.
240556
240557              debug: False
240558                     Debug mode. Will insert a new key under the  output  dic‐
240559                     tionary,  as  loaded_config containing the raw configura‐
240560                     tion loaded on the device.
240561
240562              source_service
240563                     A special service to choose from. This is a helper so the
240564                     user  is  able  to  select  a source just using the name,
240565                     instead of specifying a source_port and protocol.
240566
240567                     As this module is available on Unix  platforms  only,  it
240568                     reads the IANA port assignment from /etc/services.
240569
240570                     If  the  user  requires additional shortcuts to be refer‐
240571                     enced, they can add entries  under  /etc/services,  which
240572                     can be managed using the file state.
240573
240574              destination_service
240575                     A special service to choose from. This is a helper so the
240576                     user is able to select a  source  just  using  the  name,
240577                     instead  of  specifying  a destination_port and protocol.
240578                     Allows the same options as source_service.
240579
240580              term_fields
240581                     Term attributes. To see what fields are supported, please
240582                     consult  the  list  of supported keywords. Some platforms
240583                     have few other optional keywords.
240584
240585              NOTE:
240586                 The following fields are accepted:
240587
240588                 · action
240589
240590                 · address
240591
240592                 · address_exclude
240593
240594                 · comment
240595
240596                 · counter
240597
240598                 · expiration
240599
240600                 · destination_address
240601
240602                 · destination_address_exclude
240603
240604                 · destination_port
240605
240606                 · destination_prefix
240607
240608                 · forwarding_class
240609
240610                 · forwarding_class_except
240611
240612                 · logging
240613
240614                 · log_name
240615
240616                 · loss_priority
240617
240618                 · option
240619
240620                 · policer
240621
240622                 · port
240623
240624                 · precedence
240625
240626                 · principals
240627
240628                 · protocol
240629
240630                 · protocol_except
240631
240632                 · qos
240633
240634                 · pan_application
240635
240636                 · routing_instance
240637
240638                 · source_address
240639
240640                 · source_address_exclude
240641
240642                 · source_port
240643
240644                 · source_prefix
240645
240646                 · verbatim
240647
240648                 · packet_length
240649
240650                 · fragment_offset
240651
240652                 · hop_limit
240653
240654                 · icmp_type
240655
240656                 · ether_type
240657
240658                 · traffic_class_count
240659
240660                 · traffic_type
240661
240662                 · translated
240663
240664                 · dscp_set
240665
240666                 · dscp_match
240667
240668                 · dscp_except
240669
240670                 · next_ip
240671
240672                 · flexible_match_range
240673
240674                 · source_prefix_except
240675
240676                 · destination_prefix_except
240677
240678                 · vpn
240679
240680                 · source_tag
240681
240682                 · destination_tag
240683
240684                 · source_interface
240685
240686                 · destination_interface
240687
240688                 · flattened
240689
240690                 · flattened_addr
240691
240692                 · flattened_saddr
240693
240694                 · flattened_daddr
240695
240696                 · priority
240697
240698              NOTE:
240699                 The following fields can be also a single value and a list of
240700                 values:
240701
240702                 · action
240703
240704                 · address
240705
240706                 · address_exclude
240707
240708                 · comment
240709
240710                 · destination_address
240711
240712                 · destination_address_exclude
240713
240714                 · destination_port
240715
240716                 · destination_prefix
240717
240718                 · forwarding_class
240719
240720                 · forwarding_class_except
240721
240722                 · logging
240723
240724                 · option
240725
240726                 · port
240727
240728                 · precedence
240729
240730                 · principals
240731
240732                 · protocol
240733
240734                 · protocol_except
240735
240736                 · pan_application
240737
240738                 · source_address
240739
240740                 · source_address_exclude
240741
240742                 · source_port
240743
240744                 · source_prefix
240745
240746                 · verbatim
240747
240748                 · icmp_type
240749
240750                 · ether_type
240751
240752                 · traffic_type
240753
240754                 · dscp_match
240755
240756                 · dscp_except
240757
240758                 · flexible_match_range
240759
240760                 · source_prefix_except
240761
240762                 · destination_prefix_except
240763
240764                 · source_tag
240765
240766                 · destination_tag
240767
240768                 · source_service
240769
240770                 · destination_service
240771
240772                 Example: destination_address can be either defined as:
240773
240774                     destination_address: 172.17.17.1/24
240775
240776                 or as a list of destination IP addresses:
240777
240778                     destination_address:
240779                         - 172.17.17.1/24
240780                         - 172.17.19.1/24
240781
240782                 or a list of services to be matched:
240783
240784                     source_service:
240785                         - ntp
240786                         - snmp
240787                         - ldap
240788                         - bgpd
240789
240790              NOTE:
240791                 The  port fields source_port and destination_port can be used
240792                 as above to select either a single value, either  a  list  of
240793                 values, but also they can select port ranges. Example:
240794
240795                     source_port:
240796                         - [1000, 2000]
240797                         - [3000, 4000]
240798
240799                 With  the configuration above, the user is able to select the
240800                 1000-2000 and 3000-4000 source port ranges.
240801
240802              CLI Example:
240803
240804                 salt 'edge01.bjm01' state.sls router.acl
240805
240806              Output Example:
240807
240808                 edge01.bjm01:
240809                 ----------
240810                           ID: update_icmp_first_term
240811                     Function: netacl.term
240812                       Result: None
240813                      Comment: Testing mode: Configuration discarded.
240814                      Started: 12:49:09.174179
240815                     Duration: 5751.882 ms
240816                      Changes:
240817                               ----------
240818                               diff:
240819                                   [edit firewall]
240820                                   +    family inet {
240821                                   +        /*
240822                                   +         ** $Id: update_icmp_first_term $
240823                                   +         ** $Date: 2017/02/30 $
240824                                   +         **
240825                                   +         */
240826                                   +        filter block-icmp {
240827                                   +            term first-term {
240828                                   +                from {
240829                                   +                    protocol icmp;
240830                                   +                }
240831                                   +                then {
240832                                   +                    reject;
240833                                   +                }
240834                                   +            }
240835                                   +        }
240836                                   +    }
240837
240838                 Summary for edge01.bjm01
240839                 ------------
240840                 Succeeded: 1 (unchanged=1, changed=1)
240841                 Failed:    0
240842                 ------------
240843                 Total states run:     1
240844                 Total run time:   5.752 s
240845
240846              Pillar example:
240847
240848                 firewall:
240849                   - block-icmp:
240850                       terms:
240851                         - first-term:
240852                             protocol:
240853                               - icmp
240854                             action: reject
240855
240856              State SLS example:
240857
240858                 {%- set filter_name = 'block-icmp' -%}
240859                 {%- set term_name = 'first-term' -%}
240860                 {%- set my_term_cfg = salt.netacl.get_term_pillar(filter_name, term_name) -%}
240861
240862                 update_icmp_first_term:
240863                   netacl.term:
240864                     - filter_name: {{ filter_name }}
240865                     - filter_options:
240866                         - not-interface-specific
240867                     - term_name: {{ term_name }}
240868                     - {{ my_term_cfg | json }}
240869
240870              Or directly referencing the pillar keys:
240871
240872                 update_icmp_first_term:
240873                   netacl.term:
240874                     - filter_name: block-icmp
240875                     - filter_options:
240876                         - not-interface-specific
240877                     - term_name: first-term
240878                     - merge_pillar: true
240879
240880              NOTE:
240881                 The first method allows the user to eventually apply  complex
240882                 manipulation  and  /  or retrieve the data from external ser‐
240883                 vices before passing the data to the state. The second one is
240884                 more straightforward, for less complex cases when loading the
240885                 data directly from the pillar is sufficient.
240886
240887              NOTE:
240888                 When passing retrieved pillar data into the state file, it is
240889                 strongly  recommended  to  use the json serializer explicitly
240890                 (`` | json``), instead of relying on the default Python seri‐
240891                 alizer.
240892
240893   salt.states.netconfig
240894   Network Config
240895       Manage  the  configuration  on a network device given a specific static
240896       config or template.
240897
240898       codeauthor
240899              Mircea  Ulinic  <mircea@cloudflare.com>  &  Jerome   Fleury   <‐
240900              jf@cloudflare.com>
240901
240902       maturity
240903              new
240904
240905       depends
240906              napalm
240907
240908       platform
240909              unix
240910
240911   Dependencies
240912       · NAPALM proxy minion
240913
240914       · Network-related basic features execution module
240915
240916       New in version 2017.7.0.
240917
240918
240919       salt.states.netconfig.commit_cancelled(name)
240920              New in version Fluorine.
240921
240922
240923              Cancel  a  commit scheduled to be executed via the commit_in and
240924              commit_at arguments from the net.load_template or  net.load_con‐
240925              fig  execution  functions.  The  commit ID is displayed when the
240926              commit is scheduled via the functions named above.
240927
240928              State SLS Example:
240929
240930                 '20180726083540640360':
240931                   netconfig.commit_cancelled
240932
240933       salt.states.netconfig.commit_confirmed(name)
240934              New in version Fluorine.
240935
240936
240937              Confirm a commit scheduled to be reverted via the revert_in  and
240938              revert_at  arguments from the net.load_template or net.load_con‐
240939              fig execution functions. The commit ID  is  displayed  when  the
240940              commit confirmed is scheduled via the functions named above.
240941
240942              State SLS Example:
240943
240944                 '20180726083540640360':
240945                   netconfig.commit_confirmed
240946
240947       salt.states.netconfig.managed(name,       template_name=None,      tem‐
240948       plate_source=None,     template_hash=None,     template_hash_name=None,
240949       saltenv=u'base',   template_engine=u'jinja',   skip_verify=False,  con‐
240950       text=None,   defaults=None,   test=False,   commit=True,   debug=False,
240951       replace=False,    commit_in=None,    commit_at=None,    revert_in=None,
240952       revert_at=None, **template_vars)
240953              Manages the configuration on network devices.
240954
240955              By default this state will commit the changes on the device.  If
240956              there  are no changes required, it does not commit and the field
240957              already_configured from the output dictionary  will  be  set  as
240958              True to notify that.
240959
240960              To  avoid committing the configuration, set the argument test to
240961              True (or via the CLI argument test=True) and will  discard  (dry
240962              run).
240963
240964              To  preserve  the  changes,  set  commit to False (either as CLI
240965              argument, either as state parameter).  However, this  is  recom‐
240966              mended  to  be  used  only  in  exceptional cases when there are
240967              applied few consecutive  states  and/or  configuration  changes.
240968              Otherwise the user might forget that the config DB is locked and
240969              the candidate config buffer is not cleared/merged in the running
240970              config.
240971
240972              To  replace the config, set replace to True. This option is rec‐
240973              ommended to be used with caution!
240974
240975              template_name
240976                     Identifies path to the template source. The template  can
240977                     be  either  stored on the local machine, either remotely.
240978                     The recommended location is under the file_roots as spec‐
240979                     ified in the master config file.  For example, let's sup‐
240980                     pose the file_roots is configured as:
240981
240982                        file_roots:
240983                          base:
240984                             - /etc/salt/states
240985
240986                     Placing   the   template   under    /etc/salt/states/tem‐
240987                     plates/example.jinja,  it  can  be  used  as  salt://tem‐
240988                     plates/example.jinja.  Alternatively,  for  local  files,
240989                     the user can specify the absolute path.  If remotely, the
240990                     source can be retrieved via http, https or ftp.
240991
240992                     Examples:
240993
240994                     · salt://my_template.jinja
240995
240996                     · /absolute/path/to/my_template.jinja
240997
240998                     · http://example.com/template.cheetah
240999
241000                     · https:/example.com/template.mako
241001
241002                     · ftp://example.com/template.py
241003
241004                     Changed in version Fluorine: This argument can  now  sup‐
241005                     port  a  list of templates to be rendered.  The resulting
241006                     configuration text is loaded at once, as a single config‐
241007                     uration chunk.
241008
241009
241010              template_source: None
241011                     Inline  config  template to be rendered and loaded on the
241012                     device.
241013
241014              template_hash: None
241015                     Hash of the template  file.  Format:  {hash_type:  'md5',
241016                     'hsum': <md5sum>}
241017
241018              template_hash_name: None
241019                     When  template_hash  refers to a remote file, this speci‐
241020                     fies the filename to look for in that file.
241021
241022              saltenv: base
241023                     Specifies the template environment. This  will  influence
241024                     the relative imports inside the templates.
241025
241026              template_engine: jinja
241027                     The following templates engines are supported:
241028
241029                     · cheetah
241030
241031                     · genshi
241032
241033                     · jinja
241034
241035                     · mako
241036
241037                     · py
241038
241039                     · wempy
241040
241041              skip_verify: False
241042                     If   True,  hash  verification  of  remote  file  sources
241043                     (http://, https://, ftp://)  will  be  skipped,  and  the
241044                     source_hash argument will be ignored.
241045
241046                     Changed in version 2017.7.1.
241047
241048
241049              test: False
241050                     Dry  run?  If set to True, will apply the config, discard
241051                     and return the changes. Default: False (will  commit  the
241052                     changes on the device).
241053
241054              commit: True
241055                     Commit? Default: True.
241056
241057              debug: False
241058                     Debug  mode.  Will insert a new key under the output dic‐
241059                     tionary, as loaded_config containing the raw result after
241060                     the template was rendered.
241061
241062                     NOTE:
241063                        This  argument  cannot be used directly on the command
241064                        line. Instead, it can be  passed  through  the  pillar
241065                        variable  when  executing  either  of the state.sls or
241066                        state.apply (see below for an example).
241067
241068              commit_in: None
241069                     Commit the changes in a  specific  number  of  minutes  /
241070                     hours.  Example  of accepted formats: 5 (commit in 5 min‐
241071                     utes), 2m (commit in 2 minutes), 1h (commit  the  changes
241072                     in  1 hour)`, 5h30m (commit the changes in 5 hours and 30
241073                     minutes).
241074
241075                     NOTE:
241076                        This feature works on any platforms, as  it  does  not
241077                        rely  on  the native features of the network operating
241078                        system.
241079
241080                     NOTE:
241081                        After the command is executed and the diff is not sat‐
241082                        isfactory,  or  for any other reasons you have to dis‐
241083                        card the commit, you are  able  to  do  so  using  the
241084                        net.cancel_commit execution function, using the commit
241085                        ID returned by this function.
241086
241087                     WARNING:
241088                        Using this feature, Salt will load the exact  configu‐
241089                        ration you expect, however the diff may change in time
241090                        (i.e., if  an  user  applies  a  manual  configuration
241091                        change,  or a different process or command changes the
241092                        configuration in the meanwhile).
241093
241094                     New in version Fluorine.
241095
241096
241097              commit_at: None
241098                     Commit  the  changes  at  a  specific  time.  Example  of
241099                     accepted  formats:  1am  (will  commit the changes at the
241100                     next 1AM), 13:20 (will commit at 13:20), 1:20am, etc.
241101
241102                     NOTE:
241103                        This feature works on any platforms, as  it  does  not
241104                        rely  on  the native features of the network operating
241105                        system.
241106
241107                     NOTE:
241108                        After the command is executed and the diff is not sat‐
241109                        isfactory,  or  for any other reasons you have to dis‐
241110                        card the commit, you are  able  to  do  so  using  the
241111                        net.cancel_commit execution function, using the commit
241112                        ID returned by this function.
241113
241114                     WARNING:
241115                        Using this feature, Salt will load the exact  configu‐
241116                        ration you expect, however the diff may change in time
241117                        (i.e., if  an  user  applies  a  manual  configuration
241118                        change,  or a different process or command changes the
241119                        configuration in the meanwhile).
241120
241121                     New in version Fluorine.
241122
241123
241124              revert_in: None
241125                     Commit and revert the changes in  a  specific  number  of
241126                     minutes  / hours.  Example of accepted formats: 5 (revert
241127                     in 5 minutes), 2m (revert in 2 minutes), 1h  (revert  the
241128                     changes in 1 hour)`, 5h30m (revert the changes in 5 hours
241129                     and 30 minutes).
241130
241131                     NOTE:
241132                        To confirm  the  commit,  and  prevent  reverting  the
241133                        changes, you will have to execute the net.confirm_com‐
241134                        mit function, using the commit  ID  returned  by  this
241135                        function.
241136
241137                     WARNING:
241138                        This works on any platform, regardless if they have or
241139                        don't have native capabilities to confirming a commit.
241140                        However,  please be very cautious when using this fea‐
241141                        ture: on Junos (as it is the only NAPALM core platform
241142                        supporting  this  natively)  it executes a commit con‐
241143                        firmed as you would do from the command line.  All the
241144                        other  platforms  don't have this capability natively,
241145                        therefore the revert is done  via  Salt.  That  means,
241146                        your  device  needs to be reachable at the moment when
241147                        Salt will attempt to revert your changes. Be  cautious
241148                        when  pushing configuration changes that would prevent
241149                        you reach the device.
241150
241151                        Similarly, if an user or  a  different  process  apply
241152                        other  configuration changes in the meanwhile (between
241153                        the  moment  you  commit  and  till  the  changes  are
241154                        reverted), these changes would be equally reverted, as
241155                        Salt cannot be aware of them.
241156
241157                     New in version Fluorine.
241158
241159
241160              revert_at: None
241161                     Commit and revert the changes at a specific time. Example
241162                     of  accepted  formats:  1am  (will  commit and revert the
241163                     changes at the next 1AM), 13:20 (will commit  and  revert
241164                     at 13:20), 1:20am, etc.
241165
241166                     NOTE:
241167                        To  confirm  the  commit,  and  prevent  reverting the
241168                        changes, you will have to execute the net.confirm_com‐
241169                        mit  function,  using  the  commit ID returned by this
241170                        function.
241171
241172                     WARNING:
241173                        This works on any platform, regardless if they have or
241174                        don't have native capabilities to confirming a commit.
241175                        However, please be very cautious when using this  fea‐
241176                        ture: on Junos (as it is the only NAPALM core platform
241177                        supporting this natively) it executes  a  commit  con‐
241178                        firmed as you would do from the command line.  All the
241179                        other platforms don't have this  capability  natively,
241180                        therefore  the  revert  is  done via Salt. That means,
241181                        your device needs to be reachable at the  moment  when
241182                        Salt  will attempt to revert your changes. Be cautious
241183                        when pushing configuration changes that would  prevent
241184                        you reach the device.
241185
241186                        Similarly,  if  an  user  or a different process apply
241187                        other configuration changes in the meanwhile  (between
241188                        the  moment  you  commit  and  till  the  changes  are
241189                        reverted), these changes would be equally reverted, as
241190                        Salt cannot be aware of them.
241191
241192                     New in version Fluorine.
241193
241194
241195              replace: False
241196                     Load  and replace the configuration. Default: False (will
241197                     apply load merge).
241198
241199              context: None
241200                     Overrides default context variables passed  to  the  tem‐
241201                     plate.
241202
241203                     New in version Fluorine.
241204
241205
241206              defaults: None
241207                     Default variables/context passed to the template.
241208
241209              template_vars
241210                     Dictionary with the arguments/context to be used when the
241211                     template is rendered.  Do  not  explicitly  specify  this
241212                     argument. This represents any other variable that will be
241213                     sent to the template  rendering  system.  Please  see  an
241214                     example below! In both ntp_peers_example_using_pillar and
241215                     ntp_peers_example, peers is sent as template variable.
241216
241217                     NOTE:
241218                        It is more recommended to  use  the  context  argument
241219                        instead, to avoid any conflicts with other arguments.
241220
241221              SLS Example (e.g.: under salt://router/config.sls) :
241222
241223                 whole_config_example:
241224                     netconfig.managed:
241225                         - template_name: salt://path/to/complete_config.jinja
241226                         - debug: True
241227                         - replace: True
241228                 bgp_config_example:
241229                     netconfig.managed:
241230                         - template_name: /absolute/path/to/bgp_neighbors.mako
241231                         - template_engine: mako
241232                 prefix_lists_example:
241233                     netconfig.managed:
241234                         - template_name: prefix_lists.cheetah
241235                         - debug: True
241236                         - template_engine: cheetah
241237                 ntp_peers_example:
241238                     netconfig.managed:
241239                         - template_name: http://bit.ly/2gKOj20
241240                         - skip_verify: False
241241                         - debug: True
241242                         - peers:
241243                             - 192.168.0.1
241244                             - 192.168.0.1
241245                 ntp_peers_example_using_pillar:
241246                     netconfig.managed:
241247                         - template_name: http://bit.ly/2gKOj20
241248                         - peers: {{ pillar.get('ntp.peers', []) }}
241249
241250              Multi template example:
241251
241252                 hostname_and_ntp:
241253                   netconfig.managed:
241254                     - template_name:
241255                         - https://bit.ly/2OhSgqP
241256                         - https://bit.ly/2M6C4Lx
241257                         - https://bit.ly/2OIWVTs
241258                     - debug: true
241259                     - context:
241260                         hostname: {{ opts.id }}
241261                         servers:
241262                           - 172.17.17.1
241263                           - 172.17.17.2
241264                         peers:
241265                           - 192.168.0.1
241266                           - 192.168.0.2
241267
241268              Usage examples:
241269
241270                 $ sudo salt 'juniper.device' state.sls router.config test=True
241271
241272                 $ sudo salt -N all-routers state.sls router.config pillar="{'debug': True}"
241273
241274              router.config  depends  on  the  location  of  the SLS file (see
241275              above). Running this command, will be executed  all  five  steps
241276              from  above.  These examples above are not meant to be used in a
241277              production environment, their sole purpose is to  provide  usage
241278              examples.
241279
241280              Output example:
241281
241282                 $ sudo salt 'juniper.device' state.sls router.config test=True
241283                 juniper.device:
241284                 ----------
241285                           ID: ntp_peers_example_using_pillar
241286                     Function: netconfig.managed
241287                       Result: None
241288                      Comment: Testing mode: Configuration discarded.
241289                      Started: 12:01:40.744535
241290                     Duration: 8755.788 ms
241291                      Changes:
241292                               ----------
241293                               diff:
241294                                   [edit system ntp]
241295                                        peer 192.168.0.1 { ... }
241296                                   +    peer 172.17.17.1;
241297                                   +    peer 172.17.17.3;
241298
241299                 Summary for juniper.device
241300                 ------------
241301                 Succeeded: 1 (unchanged=1, changed=1)
241302                 Failed:    0
241303                 ------------
241304                 Total states run:     1
241305                 Total run time:   8.756 s
241306
241307              Raw  output  example  (useful when the output is reused in other
241308              states/execution modules):
241309
241310                 $ sudo salt --out=pprint 'juniper.device' state.sls router.config test=True debug=True
241311
241312                 {
241313                     'juniper.device': {
241314                         'netconfig_|-ntp_peers_example_using_pillar_|-ntp_peers_example_using_pillar_|-managed': {
241315                             '__id__': 'ntp_peers_example_using_pillar',
241316                             '__run_num__': 0,
241317                             'already_configured': False,
241318                             'changes': {
241319                                 'diff': '[edit system ntp]   peer 192.168.0.1 { ... }+   peer 172.17.17.1;+   peer 172.17.17.3;'
241320                             },
241321                             'comment': 'Testing mode: Configuration discarded.',
241322                             'duration': 7400.759,
241323                             'loaded_config': 'system {  ntp {  peer 172.17.17.1;  peer 172.17.17.3; } }',
241324                             'name': 'ntp_peers_example_using_pillar',
241325                             'result': None,
241326                             'start_time': '12:09:09.811445'
241327                         }
241328                     }
241329                 }
241330
241331       salt.states.netconfig.replace_pattern(name,  pattern,  repl,   count=0,
241332       flags=8,              bufsize=1,             append_if_not_found=False,
241333       prepend_if_not_found=False, not_found_content=None,  search_only=False,
241334       show_changes=True,      backslash_literal=False,     source=u'running',
241335       path=None, test=False, replace=True, debug=False, commit=True)
241336              New in version Fluorine.
241337
241338
241339              Replace occurrences of a pattern in the configuration source. If
241340              show_changes  is  True,  then  a  diff  of  what changed will be
241341              returned, otherwise a True will be  returned  when  changes  are
241342              made, and False when no changes are made.  This is a pure Python
241343              implementation that wraps Python's sub().
241344
241345              pattern
241346                     A  regular  expression,  to  be  matched  using  Python's
241347                     search().
241348
241349              repl   The replacement text.
241350
241351              count: 0
241352                     Maximum  number of pattern occurrences to be replaced. If
241353                     count is a positive integer n, only n occurrences will be
241354                     replaced, otherwise all occurrences will be replaced.
241355
241356              flags (list or int): 8
241357                     A  list  of  flags defined in the re module documentation
241358                     from the Python standard library. Each list  item  should
241359                     be  a  string  that  will correlate to the human-friendly
241360                     flag name. E.g., ['IGNORECASE', 'MULTILINE']. Optionally,
241361                     flags  may  be  an int, with a value corresponding to the
241362                     XOR (|) of all the desired flags. Defaults  to  8  (which
241363                     supports 'MULTILINE').
241364
241365              bufsize (int or str): 1
241366                     How  much  of  the configuration to buffer into memory at
241367                     once. The default value 1 processes one line at  a  time.
241368                     The  special  value file may be specified which will read
241369                     the entire file into memory before processing.
241370
241371              append_if_not_found: False
241372                     If set to True, and pattern is not found, then  the  con‐
241373                     tent will be appended to the file.
241374
241375              prepend_if_not_found: False
241376                     If set to True and pattern is not found, then the content
241377                     will be prepended to the file.
241378
241379              not_found_content
241380                     Content to use for append/prepend if not found.  If  None
241381                     (default), uses repl. Useful when repl uses references to
241382                     group in pattern.
241383
241384              search_only: False
241385                     If set to true, this no changes will be performed on  the
241386                     file,  and  this  function will simply return True if the
241387                     pattern was matched, and False if not.
241388
241389              show_changes: True
241390                     If True, return a diff of changes made. Otherwise, return
241391                     True if changes were made, and False if not.
241392
241393              backslash_literal: False
241394                     Interpret backslashes as literal backslashes for the repl
241395                     and not escape characters.  This  will  help  when  using
241396                     append/prepend  so  that  the  backslashes are not inter‐
241397                     preted for the repl on the second run of the state.
241398
241399              source: running
241400                     The configuration source. Choose  from:  running,  candi‐
241401                     date, or startup. Default: running.
241402
241403              path   Save the temporary configuration to a specific path, then
241404                     read from there.
241405
241406              test: False
241407                     Dry run? If set as True, will apply the  config,  discard
241408                     and  return  the  changes. Default: False and will commit
241409                     the changes on the device.
241410
241411              commit: True
241412                     Commit the configuration changes? Default: True.
241413
241414              debug: False
241415                     Debug mode. Will insert a new key in the  output  dictio‐
241416                     nary,  as  loaded_config containing the raw configuration
241417                     loaded on the device.
241418
241419              replace: True
241420                     Load and replace the configuration. Default: True.
241421
241422              If an equal sign (=) appears in an argument to a Salt command it
241423              is interpreted as a keyword argument in the format key=val. That
241424              processing can be bypassed  in  order  to  pass  an  equal  sign
241425              through  to  the remote shell command by manually specifying the
241426              kwarg:
241427
241428              State SLS Example:
241429
241430                 update_policy_name:
241431                   netconfig.replace_pattern:
241432                     - pattern: OLD-POLICY-NAME
241433                     - repl: new-policy-name
241434                     - debug: true
241435
241436       salt.states.netconfig.saved(name,     source=u'running',     user=None,
241437       group=None,   mode=None,   attrs=None,  makedirs=False,  dir_mode=None,
241438       replace=True, backup=u'', show_changes=True, create=True,  tmp_dir=u'',
241439       tmp_ext=u'',          encoding=None,         encoding_errors=u'strict',
241440       allow_empty=False,        follow_symlinks=True,         check_cmd=None,
241441       win_owner=None,    win_perms=None,   win_deny_perms=None,   win_inheri‐
241442       tance=True, win_perms_reset=False, **kwargs)
241443              New in version Fluorine.
241444
241445
241446              Save the configuration to a file on the local file system.
241447
241448              name   Absolute path to file where to  save  the  configuration.
241449                     To  push  the  files to the Master, use cp.push Execution
241450                     function.
241451
241452              source: running
241453                     The configuration source. Choose  from:  running,  candi‐
241454                     date, startup. Default: running.
241455
241456              user   The  user to own the file, this defaults to the user salt
241457                     is running as on the minion
241458
241459              group  The group ownership set for the file,  this  defaults  to
241460                     the  group  salt is running as on the minion. On Windows,
241461                     this is ignored
241462
241463              mode   The permissions to set on this file, e.g. 644,  0775,  or
241464                     4664.   The  default  mode  for new files and directories
241465                     corresponds to the umask of the salt process. The mode of
241466                     existing  files  and  directories will only be changed if
241467                     mode is specified.
241468
241469                     NOTE:
241470                        This option is not supported on Windows.
241471
241472              attrs  The attributes to have on  this  file,  e.g.  a,  i.  The
241473                     attributes  can  be any or a combination of the following
241474                     characters: acdijstuADST.
241475
241476                     NOTE:
241477                        This option is not supported on Windows.
241478
241479              makedirs: False
241480                     If set to True, then the parent directories will be  cre‐
241481                     ated  to  facilitate  the  creation of the named file. If
241482                     False, and the parent directory of the  destination  file
241483                     doesn't exist, the state will fail.
241484
241485              dir_mode
241486                     If  directories  are  to  be created, passing this option
241487                     specifies the permissions for those directories. If  this
241488                     is  not  set, directories will be assigned permissions by
241489                     adding the execute bit to the mode of the files.
241490
241491                     The default mode for new  files  and  directories  corre‐
241492                     sponds  umask  of  salt  process.  For existing files and
241493                     directories it's not enforced.
241494
241495              replace: True
241496                     If set to False and the file  already  exists,  the  file
241497                     will  not  be modified even if changes would otherwise be
241498                     made. Permissions and ownership will still  be  enforced,
241499                     however.
241500
241501              backup Overrides the default backup mode for this specific file.
241502                     See backup_mode documentation for more details.
241503
241504              show_changes: True
241505                     Output a unified diff of the old file and the  new  file.
241506                     If False return a boolean if any changes were made.
241507
241508              create: True
241509                     If  set  to  False, then the file will only be managed if
241510                     the file already exists on the system.
241511
241512              encoding
241513                     If specified, then the specified encoding will  be  used.
241514                     Otherwise,  the  file  will  be  encoded using the system
241515                     locale           (usually           UTF-8).           See
241516                     https://docs.python.org/3/library/codecs.html#standard-encodings
241517                     for the list of available encodings.
241518
241519              encoding_errors: 'strict'
241520                     Error  encoding  scheme.  Default  is  `'strict'`.    See
241521                     https://docs.python.org/2/library/codecs.html#codec-base-classes
241522                     for the list of available schemes.
241523
241524              allow_empty: True
241525                     If set to False, then the state will fail if the contents
241526                     specified   by  contents_pillar  or  contents_grains  are
241527                     empty.
241528
241529              follow_symlinks: True
241530                     If the desired path is  a  symlink  follow  it  and  make
241531                     changes to the file to which the symlink points.
241532
241533              check_cmd
241534                     The  specified command will be run with an appended argu‐
241535                     ment of a temporary file containing the new managed  con‐
241536                     tents.   If  the command exits with a zero status the new
241537                     managed contents will be written to the managed  destina‐
241538                     tion.  If the command exits with a nonzero exit code, the
241539                     state will fail and no changes will be made to the file.
241540
241541              tmp_dir
241542                     Directory for temp file created by check_cmd. Useful  for
241543                     checkers  dependent on config file location (e.g. daemons
241544                     restricted to their own config directories by an apparmor
241545                     profile).
241546
241547              tmp_ext
241548                     Suffix  for  temp  file  created by check_cmd. Useful for
241549                     checkers dependent on config  file  extension  (e.g.  the
241550                     init-checkconf upstart config checker).
241551
241552              win_owner: None
241553                     The  owner  of the directory. If this is not passed, user
241554                     will be used. If user is not passed,  the  account  under
241555                     which Salt is running will be used.
241556
241557              win_perms: None
241558                     A  dictionary  containing  permissions to grant and their
241559                     propagation. For  example:  {'Administrators':  {'perms':
241560                     'full_control'}}  Can be a single basic perm or a list of
241561                     advanced perms. perms must be specified. applies_to  does
241562                     not apply to file objects.
241563
241564              win_deny_perms: None
241565                     A  dictionary  containing  permissions  to deny and their
241566                     propagation. For  example:  {'Administrators':  {'perms':
241567                     'full_control'}}  Can be a single basic perm or a list of
241568                     advanced perms. perms must be specified. applies_to  does
241569                     not apply to file objects.
241570
241571              win_inheritance: True
241572                     True  to  inherit  permissions from the parent directory,
241573                     False not to inherit permission.
241574
241575              win_perms_reset: False
241576                     If True the existing DACL will be  cleared  and  replaced
241577                     with the settings defined in this function. If False, new
241578                     entries will be appended to the existing DACL. Default is
241579                     False.
241580
241581              State SLS Example:
241582
241583                 /var/backups/{{ opts.id }}/{{ salt.status.time('%s') }}.cfg:
241584                   netconfig.saved:
241585                     - source: running
241586                     - makedirs: true
241587
241588              The  state  SLS  above would create a backup config grouping the
241589              files by the Minion ID, in chronological files. For example,  if
241590              the  state  is executed at on the 3rd of August 2018, at 5:15PM,
241591              on the Minion core1.lon01, the configuration would saved in  the
241592              file: /var/backups/core01.lon01/1533316558.cfg
241593
241594   salt.states.netntp
241595   Network NTP
241596       Manage  the  configuration  of  NTP  peers  and  servers on the network
241597       devices through the NAPALM proxy.
241598
241599       codeauthor
241600              Mircea  Ulinic  <mircea@cloudflare.com>  &  Jerome   Fleury   <‐
241601              jf@cloudflare.com>
241602
241603       maturity
241604              new
241605
241606       depends
241607              napalm
241608
241609       platform
241610              unix
241611
241612   Dependencies
241613       · Requires  netaddr to be installed: pip install netaddr to check if IP
241614         Addresses are correctly specified
241615
241616       · Requires dnspython to be installed: pip install dnspython to  resolve
241617         the  nameserver  entities  (in  case  the user does not configure the
241618         peers/servers using their IP addresses)
241619
241620       · NAPALM proxy minion
241621
241622       · NTP operational and configuration management module
241623
241624       salt.states.netntp.managed(name, peers=None, servers=None)
241625              Manages the configuration  of  NTP  peers  and  servers  on  the
241626              device,  as  specified  in the state SLS file.  NTP entities not
241627              specified in these lists will be  removed  whilst  entities  not
241628              configured on the device will be set.
241629
241630              SLS Example:
241631
241632                 netntp_example:
241633                     netntp.managed:
241634                          - peers:
241635                             - 192.168.0.1
241636                             - 172.17.17.1
241637                          - servers:
241638                             - 24.124.0.251
241639                             - 138.236.128.36
241640
241641              Output example:
241642
241643                 {
241644                     'edge01.nrt04': {
241645                         'netntp_|-netntp_example_|-netntp_example_|-managed': {
241646                             'comment': 'NTP servers already configured as needed.',
241647                             'name': 'netntp_example',
241648                             'start_time': '12:45:24.056659',
241649                             'duration': 2938.857,
241650                             'changes': {
241651                                 'peers': {
241652                                     'removed': [
241653                                         '192.168.0.2',
241654                                         '192.168.0.3'
241655                                     ],
241656                                     'added': [
241657                                         '192.168.0.1',
241658                                         '172.17.17.1'
241659                                     ]
241660                                 }
241661                             },
241662                             'result': None
241663                         }
241664                     }
241665                 }
241666
241667   salt.states.netsnmp
241668   Network SNMP
241669       Manage the SNMP configuration on network devices.
241670
241671       codeauthor
241672              Mircea Ulinic <mircea@cloudflare.com>
241673
241674       maturity
241675              new
241676
241677       depends
241678              napalm
241679
241680       platform
241681              unix
241682
241683   Dependencies
241684       · napalm snmp management module (salt.modules.napalm_snmp)
241685
241686       salt.states.netsnmp.managed(name, config=None, defaults=None)
241687              Configures the SNMP on the device as specified in the SLS file.
241688
241689              SLS Example:
241690
241691                 snmp_example:
241692                     netsnmp.managed:
241693                          - config:
241694                             location: Honolulu, HI, US
241695                          - defaults:
241696                             contact: noc@cloudflare.com
241697
241698              Output  example  (for  the SLS above, e.g. called snmp.sls under
241699              /router/):
241700
241701                 $ sudo salt edge01.hnl01 state.sls router.snmp test=True
241702                 edge01.hnl01:
241703                 ----------
241704                           ID: snmp_example
241705                     Function: snmp.managed
241706                       Result: None
241707                      Comment: Testing mode: configuration was not changed!
241708                      Started: 13:29:06.872363
241709                     Duration: 920.466 ms
241710                      Changes:
241711                               ----------
241712                               added:
241713                                   ----------
241714                                   chassis_id:
241715                                       None
241716                                   contact:
241717                                       noc@cloudflare.com
241718                                   location:
241719                                       Honolulu, HI, US
241720
241721                 Summary for edge01.hnl01
241722                 ------------
241723                 Succeeded: 1 (unchanged=1, changed=1)
241724                 Failed:    0
241725                 ------------
241726                 Total states run:     1
241727                 Total run time: 920.466 ms
241728
241729   salt.states.netusers
241730   Network Users
241731       Manage the users configuration on network devices via the NAPALM proxy.
241732
241733       codeauthor
241734              Mircea Ulinic <mircea@cloudflare.com>
241735
241736       maturity
241737              new
241738
241739       depends
241740              napalm
241741
241742       platform
241743              unix
241744
241745   Dependencies
241746       · NAPALM proxy minion
241747
241748       · Users configuration management module
241749
241750       New in version 2016.11.0.
241751
241752
241753       salt.states.netusers.managed(name, users=None, defaults=None)
241754              Manages the configuration of the users on the device, as  speci‐
241755              fied  in the state SLS file. Users not defined in that file will
241756              be remove whilst users not configured on  the  device,  will  be
241757              added.
241758
241759              SLS Example:
241760
241761                 netusers_example:
241762                     netusers.managed:
241763                          - users:
241764                             admin:
241765                                 level: 15
241766                                 password: $1$knmhgPPv$g8745biu4rb.Zf.IT.F/U1
241767                                 sshkeys: []
241768                             restricted:
241769                                 level: 1
241770                                 password: $1$j34j5k4b$4d5SVjTiz1l.Zf.IT.F/K7
241771                             martin:
241772                                 level: 15
241773                                 password: ''
241774                                 sshkeys:
241775                                     - ssh-dss AAAAB3NzaC1kc3MAAACBAK9dP3KariMlM/JmFW9rTSm5cXs4nR0+o6fTHP9o+bOLXMBTP8R4vwWHh0w
241776                                         JPjQmJYafAqZTnlgi0srGjyifFwPtODppDWLCgLe2M4LXnu3OMqknr54w344zPHP3iFwWxHrBrZKtCjO8LhbWCa+
241777                                         X528+i87t6r5e4ersdfxgchvjbknlio87t6r5drcfhgjhbknio8976tycv7t86ftyiu87Oz1nKsKuNzm2csoUQlJ
241778                                         trmRfpjsOPNookmOz5wG0YxhwDmKeo6fWK+ATk1OiP+QT39fn4G77j8o+e4WAwxM570s35Of/vV0zoOccj753sXn
241779                                         pvJenvwpM2H6o3a9ALvehAJKWodAgZT7X8+iu786r5drtycghvjbiu78t+wAAAIBURwSPZVElXe+9a43sF6M4ysT
241780                                         7Xv+6wTsa8q86E3+RYyu8O2ObI2kwNLC3/HTgFniE/YqRG+WJac81/VHWQNP822gns8RVrWKjqBktmQoEm7z5yy0
241781                                         bkjui78675dytcghvjkoi9y7t867ftcuvhbuu9t78gy/v+zvMmv8KvQgHg
241782                             jonathan:
241783                                 level: 15
241784                                 password: ''
241785                                 sshkeys:
241786                                     - ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDcgxE6HZF/xjFtIt0thEDKPjFJxW9BpZtTVstYbDgGR9zPkHG
241787                                         ZJT/j345jk345jk453jk43545j35nl3kln34n5kl4ghv3/JzWt/0Js5KZp/51KRNCs9O4t07qaoqwpLB15GwLfEX
241788                                         Bx9dW26zc4O+hi6754trxcfghvjbo98765drt/LYIEg0KSQPWyJEK1g31gacbxN7Ab006xeHh7rv7HtXF6zH3WId
241789                                         Uhq9rtdUag6kYnv6qvjG7sbCyHGYu5vZB7GytnNuVNbZuI+RdFvmHSnErV9HCu9xZBq6DBb+sESMS4s7nFcsruMo
241790                                         edb+BAc3aww0naeWpogjSt+We7y2N
241791
241792              CLI Example:
241793                 salt 'edge01.kix01' state.sls router.users
241794
241795              Output example (raw python - can be reused in other modules):
241796
241797                 {
241798                     'netusers_|-netusers_example_|-netusers_example_|-managed': {
241799                         'comment': 'Configuration updated!',
241800                         'name': 'netusers_example',
241801                         'start_time': '10:57:08.678811',
241802                         '__id__': 'netusers_example',
241803                         'duration': 1620.982,
241804                         '__run_num__': 0,
241805                         'changes': {
241806                             'updated': {
241807                                 'admin': {
241808                                     'level': 15
241809                                 },
241810                                 'restricted': {
241811                                     'level': 1
241812                                 },
241813                                 'martin': {
241814                                     'sshkeys': [
241815                                         'ssh-dss AAAAB3NzaC1kc3MAAACBAK9dP3KariMlM/JmFW9rTSm5cXs4nR0+o6fTHP9o+bOLXMBTP8R4vwWHh0w
241816                                         JPjQmJYafAqZTnlgi0srGjyifFwPtODppDWLCgLe2M4LXnu3OMqknr54w344zPHP3iFwWxHrBrZKtCjO8LhbWCa+
241817                                         X528+i87t6r5e4ersdfxgchvjbknlio87t6r5drcfhgjhbknio8976tycv7t86ftyiu87Oz1nKsKuNzm2csoUQlJ
241818                                         trmRfpjsOPNookmOz5wG0YxhwDmKeo6fWK+ATk1OiP+QT39fn4G77j8o+e4WAwxM570s35Of/vV0zoOccj753sXn
241819                                         pvJenvwpM2H6o3a9ALvehAJKWodAgZT7X8+iu786r5drtycghvjbiu78t+wAAAIBURwSPZVElXe+9a43sF6M4ysT
241820                                         7Xv+6wTsa8q86E3+RYyu8O2ObI2kwNLC3/HTgFniE/YqRG+WJac81/VHWQNP822gns8RVrWKjqBktmQoEm7z5yy0
241821                                         bkjui78675dytcghvjkoi9y7t867ftcuvhbuu9t78gy/v+zvMmv8KvQgHg'
241822                                     ]
241823                                 }
241824                             },
241825                             'added': {
241826                                 'jonathan': {
241827                                     'password': '',
241828                                     'sshkeys': [
241829                                         'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDcgxE6HZF/xjFtIt0thEDKPjFJxW9BpZtTVstYbDgGR9zPkHG
241830                                         ZJT/j345jk345jk453jk43545j35nl3kln34n5kl4ghv3/JzWt/0Js5KZp/51KRNCs9O4t07qaoqwpLB15GwLfEX
241831                                         Bx9dW26zc4O+hi6754trxcfghvjbo98765drt/LYIEg0KSQPWyJEK1g31gacbxN7Ab006xeHh7rv7HtXF6zH3WId
241832                                         Uhq9rtdUag6kYnv6qvjG7sbCyHGYu5vZB7GytnNuVNbZuI+RdFvmHSnErV9HCu9xZBq6DBb+sESMS4s7nFcsruMo
241833                                         edb+BAc3aww0naeWpogjSt+We7y2N'
241834                                     ],
241835                                     'level': 15
241836                                 }
241837                             },
241838                             'removed': {
241839                             }
241840                         },
241841                         'result': True
241842                     }
241843                 }
241844
241845              CLI Output:
241846
241847                 edge01.kix01:
241848                     ----------
241849                               ID: netusers_example
241850                         Function: netusers.managed
241851                           Result: True
241852                          Comment: Configuration updated!
241853                          Started: 11:03:31.957725
241854                         Duration: 1220.435 ms
241855                          Changes:
241856                                   ----------
241857                                   added:
241858                                       ----------
241859                                       jonathan:
241860                                           ----------
241861                                           level:
241862                                               15
241863                                           password:
241864                                           sshkeys:
241865                                               - ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDcgxE6HZF/xjFtIt0thEDKPjFJxW9BpZtTVstYbDgG
241866                                               R9zPkHGZJT/j345jk345jk453jk43545j35nl3kln34n5kl4ghv3/JzWt/0Js5KZp/51KRNCs9O4t07qao
241867                                               qwpLB15GwLfEXBx9dW26zc4O+hi6754trxcfghvjbo98765drt/LYIEg0KSQPWyJEK1g31gacbxN7Ab006
241868                                               xeHh7rv7HtXF6zH3WIdUhq9rtdUag6kYnv6qvjG7sbCyHGYu5vZB7GytnNuVNbZuI+RdFvmHSnErV9HCu9
241869                                               xZBq6DBb+sESMS4s7nFcsruMoedb+BAc3aww0naeWpogjSt+We7y2N
241870                                   removed:
241871                                       ----------
241872                                   updated:
241873                                       ----------
241874                                       martin:
241875                                           ----------
241876                                           sshkeys:
241877                                               - ssh-dss AAAAB3NzaC1kc3MAAACBAK9dP3KariMlM/JmFW9rTSm5cXs4nR0+o6fTHP9o+bOLXMBTP8R4
241878                                               vwWHh0wJPjQmJYafAqZTnlgi0srGjyifFwPtODppDWLCgLe2M4LXnu3OMqknr54w344zPHP3iFwWxHrBrZ
241879                                               KtCjO8LhbWCa+X528+i87t6r5e4ersdfxgchvjbknlio87t6r5drcfhgjhbknio8976tycv7t86ftyiu87
241880                                               Oz1nKsKuNzm2csoUQlJtrmRfpjsOPNookmOz5wG0YxhwDmKeo6fWK+ATk1OiP+QT39fn4G77j8o+e4WAwx
241881                                               M570s35Of/vV0zoOccj753sXnpvJenvwpM2H6o3a9ALvehAJKWodAgZT7X8+iu786r5drtycghvjbiu78t
241882                                               +wAAAIBURwSPZVElXe+9a43sF6M4ysT7Xv+6wTsa8q86E3+RYyu8O2ObI2kwNLC3/HTgFniE/YqRG+WJac
241883                                               81/VHWQNP822gns8RVrWKjqBktmQoEm7z5yy0bkjui78675dytcghvjkoi9y7t867ftcuvhbuu9t78gy/v
241884                                               +zvMmv8KvQgHg
241885                                       admin:
241886                                           ----------
241887                                           level:
241888                                               15
241889                                       restricted:
241890                                           ----------
241891                                           level:
241892                                               1
241893                     Summary for edge01.kix01
241894                     ------------
241895                     Succeeded: 1 (changed=1)
241896                     Failed:    0
241897                     ------------
241898                     Total states run:     1
241899                     Total run time:   1.220 s
241900
241901   salt.states.network
241902   Configuration of network interfaces
241903       The  network  module  is  used  to  create and manage network settings,
241904       interfaces can be set as either managed  or  ignored.  By  default  all
241905       interfaces are ignored unless specified.
241906
241907       NOTE:
241908          RedHat-based  systems  (RHEL,  CentOS,  Scientific, etc.)  have been
241909          supported since version 2014.1.0.
241910
241911          Debian-based systems (Debian,  Ubuntu,  etc.)  have  been  supported
241912          since  version  2017.7.0.  The  following options are not supported:
241913          ipaddr_start, and ipaddr_end.
241914
241915          Other platforms are not yet supported.
241916
241917       NOTE:
241918          On Debian-based systems, networking configuration can  be  specified
241919          in  /etc/network/interfaces  or  via  included  files  such  as  (by
241920          default) /etc/network/interfaces.d/*. This can  be  problematic  for
241921          configuration  management. It is recommended to use either file.man‐
241922          aged or network.managed.
241923
241924          If using network.managed, it can be useful to  ensure  interfaces.d/
241925          is empty. This can be done using:
241926
241927              /etc/network/interfaces.d:
241928
241929                     file.directory:
241930
241931                            · clean: True
241932
241933          system:
241934            network.system:
241935              - enabled: True
241936              - hostname: server1.example.com
241937              - gateway: 192.168.0.1
241938              - gatewaydev: eth0
241939              - nozeroconf: True
241940              - nisdomain: example.com
241941              - require_reboot: True
241942
241943          eth0:
241944            network.managed:
241945              - enabled: True
241946              - type: eth
241947              - proto: static
241948              - ipaddr: 10.1.0.7
241949              - netmask: 255.255.255.0
241950              - gateway: 10.1.0.1
241951              - enable_ipv6: true
241952              - ipv6proto: static
241953              - ipv6ipaddrs:
241954                - 2001:db8:dead:beef::3/64
241955                - 2001:db8:dead:beef::7/64
241956              - ipv6gateway: 2001:db8:dead:beef::1
241957              - ipv6netmask: 64
241958              - dns:
241959                - 8.8.8.8
241960                - 8.8.4.4
241961
241962          eth0-range0:
241963            network.managed:
241964              - type: eth
241965              - ipaddr_start: 192.168.1.1
241966              - ipaddr_end: 192.168.1.10
241967              - clonenum_start: 10
241968              - mtu: 9000
241969
241970          bond0-range0:
241971            network.managed:
241972              - type: eth
241973              - ipaddr_start: 192.168.1.1
241974              - ipaddr_end: 192.168.1.10
241975              - clonenum_start: 10
241976              - mtu: 9000
241977
241978          eth1.0-range0:
241979            network.managed:
241980              - type: eth
241981              - ipaddr_start: 192.168.1.1
241982              - ipaddr_end: 192.168.1.10
241983              - clonenum_start: 10
241984              - vlan: True
241985              - mtu: 9000
241986
241987          bond0.1-range0:
241988            network.managed:
241989              - type: eth
241990              - ipaddr_start: 192.168.1.1
241991              - ipaddr_end: 192.168.1.10
241992              - clonenum_start: 10
241993              - vlan: True
241994              - mtu: 9000
241995
241996          .. note::
241997              add support of ranged interfaces (vlan, bond and eth) for redhat system,
241998              Important:type must be eth.
241999
242000          routes:
242001            network.routes:
242002              - name: eth0
242003              - routes:
242004                - name: secure_network
242005                  ipaddr: 10.2.0.0
242006                  netmask: 255.255.255.0
242007                  gateway: 10.1.0.3
242008                - name: HQ_network
242009                  ipaddr: 10.100.0.0
242010                  netmask: 255.255.0.0
242011                  gateway: 10.1.0.10
242012
242013          eth2:
242014            network.managed:
242015              - enabled: True
242016              - type: slave
242017              - master: bond0
242018
242019          eth3:
242020            network.managed:
242021              - enabled: True
242022              - type: slave
242023              - master: bond0
242024
242025          eth4:
242026            network.managed:
242027              - enabled: True
242028              - type: eth
242029              - proto: dhcp
242030              - bridge: br0
242031
242032          eth5:
242033            network.managed:
242034              - enabled: True
242035              - type: eth
242036              - proto: dhcp
242037              - noifupdown: True  # Do not restart the interface
242038                                  # you need to reboot/reconfigure manualy
242039
242040          bond0:
242041            network.managed:
242042              - type: bond
242043              - ipaddr: 10.1.0.1
242044              - netmask: 255.255.255.0
242045              - mode: gre
242046              - proto: static
242047              - dns:
242048                - 8.8.8.8
242049                - 8.8.4.4
242050              - enabled: False
242051              - slaves: eth2 eth3
242052              - require:
242053                - network: eth2
242054                - network: eth3
242055              - miimon: 100
242056              - arp_interval: 250
242057              - downdelay: 200
242058              - lacp_rate: fast
242059              - max_bonds: 1
242060              - updelay: 0
242061              - use_carrier: on
242062              - xmit_hash_policy: layer2
242063              - mtu: 9000
242064              - autoneg: on
242065              - speed: 1000
242066              - duplex: full
242067              - rx: on
242068              - tx: off
242069              - sg: on
242070              - tso: off
242071              - ufo: off
242072              - gso: off
242073              - gro: off
242074              - lro: off
242075
242076          bond0.2:
242077            network.managed:
242078              - type: vlan
242079              - ipaddr: 10.1.0.2
242080              - use:
242081                - network: bond0
242082              - require:
242083                - network: bond0
242084
242085          bond0.3:
242086            network.managed:
242087              - type: vlan
242088              - ipaddr: 10.1.0.3
242089              - use:
242090                - network: bond0
242091              - require:
242092                - network: bond0
242093
242094          bond0.10:
242095            network.managed:
242096              - type: vlan
242097              - ipaddr: 10.1.0.4
242098              - use:
242099                - network: bond0
242100              - require:
242101                - network: bond0
242102
242103          bond0.12:
242104            network.managed:
242105              - type: vlan
242106              - ipaddr: 10.1.0.5
242107              - use:
242108                - network: bond0
242109              - require:
242110                - network: bond0
242111          br0:
242112            network.managed:
242113              - enabled: True
242114              - type: bridge
242115              - proto: dhcp
242116              - bridge: br0
242117              - delay: 0
242118              - ports: eth4
242119              - bypassfirewall: True
242120              - use:
242121                - network: eth4
242122              - require:
242123                - network: eth4
242124
242125          eth6:
242126            network.managed:
242127              - type: eth
242128              - noifupdown: True
242129
242130              # IPv4
242131              - proto: static
242132              - ipaddr: 192.168.4.9
242133              - netmask: 255.255.255.0
242134              - gateway: 192.168.4.1
242135              - enable_ipv6: True
242136
242137              # IPv6
242138              - ipv6proto: static
242139              - ipv6ipaddr: 2001:db8:dead:c0::3
242140              - ipv6netmask: 64
242141              - ipv6gateway: 2001:db8:dead:c0::1
242142              # override shared; makes those options v4-only
242143              - ipv6ttl: 15
242144
242145              # Shared
242146              - mtu: 1480
242147              - ttl: 18
242148              - dns:
242149                - 8.8.8.8
242150                - 8.8.4.4
242151
242152          eth7:
242153              - type: eth
242154              - proto: static
242155              - ipaddr: 10.1.0.7
242156              - netmask: 255.255.255.0
242157              - gateway: 10.1.0.1
242158              - enable_ipv6: True
242159              - ipv6proto: static
242160              - ipv6ipaddr: 2001:db8:dead:beef::3
242161              - ipv6netmask: 64
242162              - ipv6gateway: 2001:db8:dead:beef::1
242163              - noifupdown: True
242164
242165          eth8:
242166            network.managed:
242167              - enabled: True
242168              - type: eth
242169              - proto: static
242170              - enable_ipv6: true
242171              - ipv6proto: static
242172              - ipv6ipaddrs:
242173                - 2001:db8:dead:beef::3/64
242174                - 2001:db8:dead:beef::7/64
242175              - ipv6gateway: 2001:db8:dead:beef::1
242176              - ipv6netmask: 64
242177              - dns:
242178                - 8.8.8.8
242179                - 8.8.4.4
242180
242181          system:
242182            network.system:
242183              - enabled: True
242184              - hostname: server1.example.com
242185              - gateway: 192.168.0.1
242186              - gatewaydev: eth0
242187              - nozeroconf: True
242188              - nisdomain: example.com
242189              - require_reboot: True
242190              - apply_hostname: True
242191
242192          lo:
242193            network.managed:
242194              - name: lo
242195              - type: eth
242196              - proto: loopback
242197              - onboot: yes
242198              - userctl: no
242199              - ipv6_autoconf: no
242200              - enable_ipv6: true
242201
242202          .. note::
242203              Apply changes to hostname immediately.
242204
242205          .. versionadded:: 2015.5.0
242206
242207          system:
242208            network.system:
242209              - hostname: server2.example.com
242210              - apply_hostname: True
242211              - retain_settings: True
242212
242213          .. note::
242214              Use `retain_settings` to retain current network settings that are not
242215              otherwise specified in the state. Particularly useful if only setting
242216              the hostname. Default behavior is to delete unspecified network
242217              settings.
242218
242219          .. versionadded:: 2016.11.0
242220
242221       NOTE:
242222          When managing bridged interfaces on a Debian or Ubuntu based system,
242223          the ports argument is required.  Red Hat  systems  will  ignore  the
242224          argument.
242225
242226       salt.states.network.managed(name, type, enabled=True, **kwargs)
242227              Ensure that the named interface is configured properly.
242228
242229              name   The name of the interface to manage
242230
242231              type   Type of interface and configuration.
242232
242233              enabled
242234                     Designates the state of this interface.
242235
242236              kwargs The IP parameters for this interface.
242237
242238       salt.states.network.routes(name, **kwargs)
242239              Manage network interface static routes.
242240
242241              name   Interface name to apply the route to.
242242
242243              kwargs Named routes
242244
242245       salt.states.network.system(name, **kwargs)
242246              Ensure that global network settings are configured properly.
242247
242248              name   Custom name to represent this configuration change.
242249
242250              kwargs The global parameters for the system.
242251
242252   salt.states.netyang
242253   NAPALM YANG state
242254       Manage  the configuration of network devices according to the YANG mod‐
242255       els (OpenConfig/IETF).
242256
242257       New in version 2017.7.0.
242258
242259
242260   Dependencies
242261       · napalm-yang
242262
242263       · pyangbing > 0.5.11
242264
242265       To be able to load configuration on network devices, it requires NAPALM
242266       library   to   be   installed:    pip  install  napalm.   Please  check
242267       Installation for complete details.
242268
242269       salt.states.netyang.configured(name, data, **kwargs)
242270              Configure the network device, given  the  input  data  strucuted
242271              according to the YANG models.
242272
242273              NOTE:
242274                 The main difference between this function and managed is that
242275                 the later generates and loads  the  configuration  only  when
242276                 there  are  differences between the existing configuration on
242277                 the device and the expected configuration. Depending  on  the
242278                 platform and hardware capabilities, one could be more optimal
242279                 than the other.  Additionally, the output of the  managed  is
242280                 different, in such a way that the pchange field in the output
242281                 contains structured data, rather than text.
242282
242283              data   YANG structured data.
242284
242285              models A list of models to be used when generating the config.
242286
242287              profiles: None
242288                     Use certain profiles to  generate  the  config.   If  not
242289                     specified, will use the platform default profile(s).
242290
242291              test: False
242292                     Dry  run?  If set as True, will apply the config, discard
242293                     and return the changes. Default: False  and  will  commit
242294                     the changes on the device.
242295
242296              commit: True
242297                     Commit? Default: True.
242298
242299              debug: False
242300                     Debug  mode.  Will insert a new key under the output dic‐
242301                     tionary, as loaded_config containing the  raw  configura‐
242302                     tion loaded on the device.
242303
242304              replace: False
242305                     Should replace the config with the new generate one?
242306
242307              State SLS example:
242308
242309                 {%- set expected_config =  pillar.get('openconfig_interfaces_cfg') -%}
242310                 interfaces_config:
242311                   napalm_yang.configured:
242312                     - data: {{ expected_config | json }}
242313                     - models:
242314                       - models.openconfig_interfaces
242315                     - debug: true
242316
242317              Pillar example:
242318
242319                 openconfig_interfaces_cfg:
242320                   _kwargs:
242321                     filter: true
242322                   interfaces:
242323                     interface:
242324                       Et1:
242325                         config:
242326                           mtu: 9000
242327                       Et2:
242328                         config:
242329                           description: "description example"
242330
242331       salt.states.netyang.managed(name, data, **kwargs)
242332              Manage  the device configuration given the input data structured
242333              according to the YANG models.
242334
242335              data   YANG structured data.
242336
242337              models A list of models to be used when generating the config.
242338
242339              profiles: None
242340                     Use certain profiles to  generate  the  config.   If  not
242341                     specified, will use the platform default profile(s).
242342
242343              compliance_report: False
242344                     Return the compliance report in the comment.  The compli‐
242345                     ance report structured object can be found however in the
242346                     pchanges field of the output (not displayed on the CLI).
242347
242348                     New in version 2017.7.3.
242349
242350
242351              test: False
242352                     Dry  run?  If set as True, will apply the config, discard
242353                     and return the changes. Default: False  and  will  commit
242354                     the changes on the device.
242355
242356              commit: True
242357                     Commit? Default: True.
242358
242359              debug: False
242360                     Debug  mode.  Will insert a new key under the output dic‐
242361                     tionary, as loaded_config containing the  raw  configura‐
242362                     tion loaded on the device.
242363
242364              replace: False
242365                     Should replace the config with the new generate one?
242366
242367              State SLS example:
242368
242369                 {%- set expected_config =  pillar.get('openconfig_interfaces_cfg') -%}
242370                 interfaces_config:
242371                   napalm_yang.managed:
242372                     - data: {{ expected_config | json }}
242373                     - models:
242374                       - models.openconfig_interfaces
242375                     - debug: true
242376
242377              Pillar example:
242378
242379                 openconfig_interfaces_cfg:
242380                   _kwargs:
242381                     filter: true
242382                   interfaces:
242383                     interface:
242384                       Et1:
242385                         config:
242386                           mtu: 9000
242387                       Et2:
242388                         config:
242389                           description: "description example"
242390
242391   salt.states.neutron_network
242392   Management of OpenStack Neutron Networks
242393       New in version 2018.3.0.
242394
242395
242396       depends
242397              shade
242398
242399       configuration
242400              see salt.modules.neutronng for setup instructions
242401
242402       Example States
242403
242404          create network:
242405            neutron_network.present:
242406              - name: network1
242407
242408          delete network:
242409            neutron_network.absent:
242410              - name: network1
242411
242412          create network with optional params:
242413            neutron_network.present:
242414              - name: network1
242415              - vlan: 200
242416              - shared: False
242417              - external: False
242418              - project: project1
242419
242420       salt.states.neutron_network.absent(name, auth=None, **kwargs)
242421              Ensure a network does not exists
242422
242423              name   Name of the network
242424
242425       salt.states.neutron_network.present(name, auth=None, **kwargs)
242426              Ensure a network exists and is up-to-date
242427
242428              name   Name of the network
242429
242430              provider
242431                     A dict of network provider options.
242432
242433              shared Set the network as shared.
242434
242435              external
242436                     Whether this network is externally accessible.
242437
242438              admin_state_up
242439                     Set the network administrative state to up.
242440
242441              vlan   Vlan ID. Alias for provider
242442
242443                     · physical_network: provider
242444
242445                     · network_type: vlan
242446
242447                     · segmentation_id: (vlan id)
242448
242449   salt.states.neutron_secgroup
242450   Management of OpenStack Neutron Security Groups
242451       New in version 2018.3.0.
242452
242453
242454       depends
242455              shade
242456
242457       configuration
242458              see salt.modules.neutronng for setup instructions
242459
242460       Example States
242461
242462          create security group;
242463            neutron_secgroup.present:
242464              - name: security_group1
242465              - description: "Very Secure Security Group"
242466
242467          delete security group:
242468            neutron_secgroup.absent:
242469              - name_or_id: security_group1
242470              - project_name: Project1
242471
242472          create security group with optional params:
242473            neutron_secgroup.present:
242474              - name: security_group1
242475              - description: "Very Secure Security Group"
242476              - project_id: 1dcac318a83b4610b7a7f7ba01465548
242477
242478          create security group with optional params:
242479            neutron_secgroup.present:
242480              - name: security_group1
242481              - description: "Very Secure Security Group"
242482              - project_name: Project1
242483
242484       salt.states.neutron_secgroup.absent(name, auth=None, **kwargs)
242485              Ensure a security group does not exist
242486
242487              name   Name of the security group
242488
242489       salt.states.neutron_secgroup.present(name, auth=None, **kwargs)
242490              Ensure a security group exists.
242491
242492              You can supply either project_name or project_id.
242493
242494              Creating  a default security group will not show up as a change;
242495              it gets created through the lookup process.
242496
242497              name   Name of the security group
242498
242499              description
242500                     Description of the security group
242501
242502              project_name
242503                     Name of Project
242504
242505              project_id
242506                     ID of Project
242507
242508   salt.states.neutron_secgroup_rule
242509   Management of OpenStack Neutron Security Group Rules
242510       New in version 2018.3.0.
242511
242512
242513       depends
242514              shade
242515
242516       configuration
242517              see salt.modules.neutronng for setup instructions
242518
242519       Example States
242520
242521          create security group rule:
242522            neutron_secgroup_rule.present:
242523              - name: security_group1
242524              - project_name: Project1
242525              - protocol: icmp
242526
242527          delete security group:
242528            neutron_secgroup_rule.absent:
242529              - name_or_id: security_group1
242530
242531          create security group with optional params:
242532            neutron_secgroup_rule.present:
242533              - name: security_group1
242534              - description: "Very Secure Security Group"
242535              - project_id: 1dcac318a83b4610b7a7f7ba01465548
242536
242537       salt.states.neutron_secgroup_rule.absent(name, auth=None, **kwargs)
242538              Ensure a security group rule does not exist
242539
242540              name   name or id of the security group rule to delete
242541
242542              rule_id
242543                     uuid of the rule to delete
242544
242545              project_id
242546                     id of project to delete rule from
242547
242548       salt.states.neutron_secgroup_rule.present(name, auth=None, **kwargs)
242549              Ensure a security group rule exists
242550
242551              defaults:   port_range_min=None,   port_range_max=None,   proto‐
242552              col=None,
242553                     remote_ip_prefix=None,    remote_group_id=None,    direc‐
242554                     tion='ingress', ethertype='IPv4', project_id=None
242555
242556              name   Name of the security group to associate with this rule
242557
242558              project_name
242559                     Name of the project associated with the security group
242560
242561              protocol
242562                     The protocol that is matched by the security group  rule.
242563                     Valid values are None, tcp, udp, and icmp.
242564
242565   salt.states.neutron_subnet
242566   Management of OpenStack Neutron Subnets
242567       New in version 2018.3.0.
242568
242569
242570       depends
242571              shade
242572
242573       configuration
242574              see salt.modules.neutronng for setup instructions
242575
242576       Example States
242577
242578          create subnet:
242579            neutron_subnet.present:
242580              - name: subnet1
242581              - network_name_or_id: network1
242582              - cidr: 192.168.199.0/24
242583
242584
242585          delete subnet:
242586            neutron_subnet.absent:
242587              - name: subnet2
242588
242589          create subnet with optional params:
242590            neutron_subnet.present:
242591              - name: subnet1
242592              - network_name_or_id: network1
242593              - enable_dhcp: True
242594              - cidr: 192.168.199.0/24
242595              - allocation_pools:
242596                - start: 192.168.199.5
242597                  end: 192.168.199.250
242598              - host_routes:
242599                - destination: 192.168..0.0/24
242600                  nexthop: 192.168.0.1
242601              - gateway_ip: 192.168.199.1
242602              - dns_nameservers:
242603                - 8.8.8.8
242604                - 8.8.8.7
242605
242606          create ipv6 subnet:
242607            neutron_subnet.present:
242608              - name: v6subnet1
242609              - network_name_or_id: network1
242610              - ip_version: 6
242611
242612       salt.states.neutron_subnet.absent(name, auth=None)
242613              Ensure a subnet does not exists
242614
242615              name   Name of the subnet
242616
242617       salt.states.neutron_subnet.present(name, auth=None, **kwargs)
242618              Ensure a subnet exists and is up-to-date
242619
242620              name   Name of the subnet
242621
242622              network_name_or_id
242623                     The  unique  name  or  ID  of the attached network.  If a
242624                     non-unique name is supplied, an exception is raised.
242625
242626              allocation_pools
242627                     A list of dictionaries of the start and end addresses for
242628                     the allocation pools
242629
242630              gateway_ip
242631                     The gateway IP address.
242632
242633              dns_nameservers
242634                     A list of DNS name servers for the subnet.
242635
242636              host_routes
242637                     A list of host route dictionaries for the subnet.
242638
242639              ipv6_ra_mode
242640                     IPv6   Router  Advertisement  mode.   Valid  values  are:
242641                     ‘dhcpv6-stateful’, ‘dhcpv6-stateless’, or ‘slaac’.
242642
242643              ipv6_address_mode
242644                     IPv6 address mode.  Valid values are:  ‘dhcpv6-stateful’,
242645                     ‘dhcpv6-stateless’, or ‘slaac’.
242646
242647   salt.states.nfs_export
242648   Management of NFS exports
242649       New in version 2018.3.0.
242650
242651
242652       To ensure an NFS export exists:
242653
242654          add_simple_export:
242655            nfs_export.present:
242656              - name:     '/srv/nfs'
242657              - hosts:    '10.0.2.0/24'
242658              - options:
242659                - 'rw'
242660
242661       This creates the following in /etc/exports:
242662
242663          /srv/nfs 10.0.2.0/24(rw)
242664
242665       For more complex exports with multiple groups of hosts, use 'clients':
242666
242667          add_complex_export:
242668            nfs_export.present:
242669              - name: '/srv/nfs'
242670              - clients:
242671                # First export, same as simple one above
242672                - hosts: '10.0.2.0/24'
242673                  options:
242674                    - 'rw'
242675                # Second export
242676                - hosts: '*.example.com'
242677                  options:
242678                    - 'ro'
242679                    - 'subtree_check'
242680
242681       This creates the following in /etc/exports:
242682
242683          /srv/nfs 10.0.2.0/24(rw) 192.168.0.0/24,172.19.0.0/16(ro,subtree_check)
242684
242685       Any  export  of the given path will be modified to match the one speci‐
242686       fied.
242687
242688       To ensure an NFS export is absent:
242689
242690          delete_export:
242691            nfs_export.absent:
242692              - name: '/srv/nfs'
242693
242694       salt.states.nfs_export.absent(name, exports=u'/etc/exports')
242695              Ensure that the named path is not exported
242696
242697              name   The export path to remove
242698
242699       salt.states.nfs_export.present(name,     clients=None,      hosts=None,
242700       options=None, exports=u'/etc/exports')
242701              Ensure that the named export is present with the given options
242702
242703              name   The export path to configure
242704
242705              clients
242706                     A  list  of  hosts and the options applied to them.  This
242707                     option may not be used in combination with the 'hosts' or
242708                     'options' shortcuts.
242709
242710                 - clients:
242711                   # First export
242712                   - hosts: '10.0.2.0/24'
242713                     options:
242714                       - 'rw'
242715                   # Second export
242716                   - hosts: '*.example.com'
242717                     options:
242718                       - 'ro'
242719                       - 'subtree_check'
242720
242721              hosts  A string matching a number of hosts, for example:
242722
242723                 hosts: '10.0.2.123'
242724
242725                 hosts: '10.0.2.0/24'
242726
242727                 hosts: 'minion1.example.com'
242728
242729                 hosts: '*.example.com'
242730
242731                 hosts: '*'
242732
242733              options
242734                     A list of NFS options, for example:
242735
242736                 options:
242737                   - 'rw'
242738                   - 'subtree_check'
242739
242740   salt.states.nftables
242741   Management of nftables
242742       This is an nftables-specific module designed to manage Linux firewalls.
242743       It is expected that this state module, and other system-specific  fire‐
242744       wall states, may at some point be deprecated in favor of a more generic
242745       firewall state.
242746
242747          httpd:
242748            nftables.append:
242749              - table: filter
242750              - chain: input
242751              - jump: accept
242752              - match: state
242753              - connstate: new
242754              - dport: 80
242755              - proto: tcp
242756              - sport: 1025:65535
242757              - save: True
242758
242759          httpd:
242760            nftables.append:
242761              - table: filter
242762              - family: ipv6
242763              - chain: INPUT
242764              - jump: ACCEPT
242765              - match: state
242766              - connstate: NEW
242767              - dport: 80
242768              - proto: tcp
242769              - sport: 1025:65535
242770              - save: True
242771
242772          httpd:
242773            nftables.insert:
242774              - position: 1
242775              - table: filter
242776              - chain: INPUT
242777              - jump: ACCEPT
242778              - match: state
242779              - connstate: NEW
242780              - dport: 80
242781              - proto: tcp
242782              - sport: 1025:65535
242783              - save: True
242784
242785          httpd:
242786            nftables.insert:
242787              - position: 1
242788              - table: filter
242789              - family: ipv6
242790              - chain: INPUT
242791              - jump: ACCEPT
242792              - match: state
242793              - connstate: NEW
242794              - dport: 80
242795              - proto: tcp
242796              - sport: 1025:65535
242797              - save: True
242798
242799          httpd:
242800            nftables.delete:
242801              - table: filter
242802              - chain: INPUT
242803              - jump: ACCEPT
242804              - match: state
242805              - connstate: NEW
242806              - dport: 80
242807              - proto: tcp
242808              - sport: 1025:65535
242809              - save: True
242810
242811          httpd:
242812            nftables.delete:
242813              - position: 1
242814              - table: filter
242815              - chain: INPUT
242816              - jump: ACCEPT
242817              - match: state
242818              - connstate: NEW
242819              - dport: 80
242820              - proto: tcp
242821              - sport: 1025:65535
242822              - save: True
242823
242824          httpd:
242825            nftables.delete:
242826              - table: filter
242827              - family: ipv6
242828              - chain: INPUT
242829              - jump: ACCEPT
242830              - match: state
242831              - connstate: NEW
242832              - dport: 80
242833              - proto: tcp
242834              - sport: 1025:65535
242835              - save: True
242836
242837       salt.states.nftables.append(name, family=u'ipv4', **kwargs)
242838              New in version 0.17.0.
242839
242840
242841              Append a rule to a chain
242842
242843              name   A user-defined name to call this rule by in another  part
242844                     of a state or formula. This should not be an actual rule.
242845
242846              family Network family, ipv4 or ipv6.
242847
242848              All other arguments are passed in with the same name as the long
242849              option that would normally be used for nftables, with one excep‐
242850              tion: --state is specified as connstate instead of state (not to
242851              be confused with ctstate).
242852
242853       salt.states.nftables.chain_absent(name,      table=u'filter',      fam‐
242854       ily=u'ipv4')
242855              New in version 2014.7.0.
242856
242857
242858              Verify the chain is absent.
242859
242860              family Networking family, either ipv4 or ipv6
242861
242862       salt.states.nftables.chain_present(name,      table=u'filter',      ta‐
242863       ble_type=None, hook=None, priority=None, family=u'ipv4')
242864              New in version 2014.7.0.
242865
242866
242867              Verify the chain is exist.
242868
242869              name   A user-defined chain name.
242870
242871              table  The table to own the chain.
242872
242873              family Networking family, either ipv4 or ipv6
242874
242875       salt.states.nftables.delete(name, family=u'ipv4', **kwargs)
242876              New in version 2014.7.0.
242877
242878
242879              Delete a rule to a chain
242880
242881              name   A user-defined name to call this rule by in another  part
242882                     of a state or formula. This should not be an actual rule.
242883
242884              family Networking family, either ipv4 or ipv6
242885
242886              All other arguments are passed in with the same name as the long
242887              option that would normally be used for nftables, with one excep‐
242888              tion: --state is specified as connstate instead of state (not to
242889              be confused with ctstate).
242890
242891       salt.states.nftables.flush(name, family=u'ipv4', **kwargs)
242892              New in version 2014.7.0.
242893
242894
242895              Flush current nftables state
242896
242897              family Networking family, either ipv4 or ipv6
242898
242899       salt.states.nftables.insert(name, family=u'ipv4', **kwargs)
242900              New in version 2014.7.0.
242901
242902
242903              Insert a rule into a chain
242904
242905              name   A user-defined name to call this rule by in another  part
242906                     of a state or formula. This should not be an actual rule.
242907
242908              family Networking family, either ipv4 or ipv6
242909
242910              All other arguments are passed in with the same name as the long
242911              option that would normally be used for nftables, with one excep‐
242912              tion: --state is specified as connstate instead of state (not to
242913              be confused with ctstate).
242914
242915   salt.states.npm
242916   Installation of NPM Packages
242917       These states manage the installed packages for node.js using  the  Node
242918       Package Manager (npm). Note that npm must be installed for these states
242919       to be available,  so  npm  states  should  include  a  requisite  to  a
242920       pkg.installed  state  for the package which provides npm (simply npm in
242921       most cases). Example:
242922
242923          npm:
242924            pkg.installed
242925
242926          yaml:
242927            npm.installed:
242928              - require:
242929                - pkg: npm
242930
242931       salt.states.npm.bootstrap(name, user=None, silent=True)
242932              Bootstraps a node.js application.
242933
242934              Will execute 'npm install --json' on the specified directory.
242935
242936              user   The user to run NPM with
242937
242938                     New in version 0.17.0.
242939
242940
242941       salt.states.npm.cache_cleaned(name=None, user=None, force=False)
242942              Ensure that the given package is not cached.
242943
242944              If no package is specified, this ensures  the  entire  cache  is
242945              cleared.
242946
242947              name   The name of the package to remove from the cache, or None
242948                     for all packages
242949
242950              user   The user to run NPM with
242951
242952              force  Force cleaning of cache.  Required for npm@5 and greater
242953
242954                     New in version 2016.11.6.
242955
242956
242957       salt.states.npm.installed(name,   pkgs=None,    dir=None,    user=None,
242958       force_reinstall=False, registry=None, env=None)
242959              Verify that the given package is installed and is at the correct
242960              version (if specified).
242961
242962                 coffee-script:
242963                   npm.installed:
242964                     - user: someuser
242965
242966                 coffee-script@1.0.1:
242967                   npm.installed: []
242968
242969              name   The package to install
242970
242971                     Changed in version 2014.7.2: This parameter is no  longer
242972                     lowercased  by  salt  so  that case-sensitive NPM package
242973                     names will work.
242974
242975
242976              pkgs   A list of packages to install with a single  npm  invoca‐
242977                     tion; specifying this argument will ignore the name argu‐
242978                     ment
242979
242980                     New in version 2014.7.0.
242981
242982
242983              dir    The target directory in which to install the package,  or
242984                     None for global installation
242985
242986              user   The user to run NPM with
242987
242988                     New in version 0.17.0.
242989
242990
242991              registry
242992                     The NPM registry from which to install the package
242993
242994                     New in version 2014.7.0.
242995
242996
242997              env    A list of environment variables to be set prior to execu‐
242998                     tion. The format is the same as the cmd.run.  state func‐
242999                     tion.
243000
243001                     New in version 2014.7.0.
243002
243003
243004              force_reinstall
243005                     Install the package even if it is already installed
243006
243007       salt.states.npm.removed(name, dir=None, user=None)
243008              Verify that the given package is not installed.
243009
243010              dir    The  target directory in which to install the package, or
243011                     None for global installation
243012
243013              user   The user to run NPM with
243014
243015                     New in version 0.17.0.
243016
243017
243018   salt.states.ntp
243019   Management of NTP servers
243020       New in version 2014.1.0.
243021
243022
243023       This state is used to manage NTP servers.  Currently  only  Windows  is
243024       supported.
243025
243026          win_ntp:
243027            ntp.managed:
243028              - servers:
243029                - pool.ntp.org
243030                - us.pool.ntp.org
243031
243032       salt.states.ntp.managed(name, servers=None)
243033              Manage NTP servers
243034
243035              servers
243036                     A list of NTP servers
243037
243038   salt.states.nxos module
243039       State module for Cisco NX OS Switches Proxy minions
243040
243041       For documentation on setting up the nxos proxy minion look in the docu‐
243042       mentation for salt.proxy.nxos.
243043
243044       salt.states.nxos.config_absent(name)
243045              Ensure a specific configuration line does not exist in the  run‐
243046              ning config
243047
243048              name   config line to remove
243049
243050              Examples:
243051
243052                 add snmp group:
243053                   nxos.config_absent:
243054                     - names:
243055                       - snmp-server community randoSNMPstringHERE group network-operator
243056                       - snmp-server community AnotherRandomSNMPSTring group network-admin
243057
243058              NOTE:
243059                 For  certain  cases  extra  lines  could  be removed based on
243060                 dependencies.  In this example, included  after  the  example
243061                 for  config_present,  the  ACLs would be removed because they
243062                 depend on the existence of the group.
243063
243064       salt.states.nxos.config_present(name)
243065              Ensure a specific configuration line exists in the running  con‐
243066              fig
243067
243068              name   config line to set
243069
243070              Examples:
243071
243072                 add snmp group:
243073                   nxos.config_present:
243074                     - names:
243075                       - snmp-server community randoSNMPstringHERE group network-operator
243076                       - snmp-server community AnotherRandomSNMPSTring group network-admin
243077
243078                 add snmp acl:
243079                   nxos.config_present:
243080                     - names:
243081                       - snmp-server community randoSNMPstringHERE use-acl snmp-acl-ro
243082                       - snmp-server community AnotherRandomSNMPSTring use-acl snmp-acl-rw
243083
243084       salt.states.nxos.replace(name, repl, full_match=False)
243085              Replace  all  instances  of a string or full line in the running
243086              config
243087
243088              name   String to replace
243089
243090              repl   The replacement text
243091
243092              full_match
243093                     Whether name will match the full line or only a subset of
243094                     the  line.   Defaults  to  False. When False, .* is added
243095                     around name for matching in the show run config.
243096
243097              Examples:
243098
243099                 replace snmp string:
243100                   nxos.replace:
243101                     - name: randoSNMPstringHERE
243102                     - repl: NEWrandoSNMPstringHERE
243103
243104                 replace full snmp string:
243105                   nxos.replace:
243106                     - name: ^snmp-server community randoSNMPstringHERE group network-operator$
243107                     - repl: snmp-server community NEWrandoSNMPstringHERE group network-operator
243108                     - full_match: True
243109
243110              NOTE:
243111                 The first example will replace the SNMP string  on  both  the
243112                 group  and  the  ACL,  so  you will not lose the ACL setting.
243113                 Because the second is an exact match of the  line,  when  the
243114                 group  is  removed,  the  ACL  is  removed,  but not readded,
243115                 because it was not matched.
243116
243117       salt.states.nxos.user_absent(name)
243118              Ensure a user is not present
243119
243120              name   username to remove if it exists
243121
243122              Examples:
243123
243124                 delete:
243125                   nxos.user_absent:
243126                     - name: daniel
243127
243128       salt.states.nxos.user_present(name,     password=None,      roles=None,
243129       encrypted=False, crypt_salt=None, algorithm=u'sha256')
243130              Ensure a user is present with the specified groups
243131
243132              name   Name of user
243133
243134              password
243135                     Encrypted or Plain Text password for user
243136
243137              roles  List of roles the user should be assigned.  Any roles not
243138                     in this list will be removed
243139
243140              encrypted
243141                     Whether  the  password  is  encrypted  already  or   not.
243142                     Defaults to False
243143
243144              crypt_salt
243145                     Salt  to  use  when  encrypting the password.  Default is
243146                     None (salt is randomly generated for unhashed passwords)
243147
243148              algorithm
243149                     Algorithm to  use  for  hashing  password.   Defaults  to
243150                     sha256.  Accepts md5, blowfish, sha256, sha512
243151
243152              Examples:
243153
243154                 create:
243155                   nxos.user_present:
243156                     - name: daniel
243157                     - roles:
243158                       - vdc-admin
243159
243160                 set_password:
243161                   nxos.user_present:
243162                     - name: daniel
243163                     - password: admin
243164                     - roles:
243165                       - network-admin
243166
243167                 update:
243168                   nxos.user_present:
243169                     - name: daniel
243170                     - password: AiN9jaoP
243171                     - roles:
243172                       - network-admin
243173                       - vdc-admin
243174
243175   salt.states.openstack_config
243176       Manage OpenStack configuration file settings.
243177
243178       maintainer
243179              Jeffrey C. Ollie <jeff@ocjtech.us>
243180
243181       maturity
243182              new
243183
243184       depends
243185
243186       platform
243187              linux
243188
243189       salt.states.openstack_config.absent(name,  filename,  section,  parame‐
243190       ter=None)
243191              Ensure a value is not set in an OpenStack configuration file.
243192
243193              filename
243194                     The full path to the configuration file
243195
243196              section
243197                     The section in which the parameter will be set
243198
243199              parameter (optional)
243200                     The parameter to change.  If the parameter  is  not  sup‐
243201                     plied, the name will be used as the parameter.
243202
243203       salt.states.openstack_config.present(name,  filename,  section,  value,
243204       parameter=None)
243205              Ensure a value is set in an OpenStack configuration file.
243206
243207              filename
243208                     The full path to the configuration file
243209
243210              section
243211                     The section in which the parameter will be set
243212
243213              parameter (optional)
243214                     The parameter to change.  If the parameter  is  not  sup‐
243215                     plied, the name will be used as the parameter.
243216
243217              value  The value to set
243218
243219   salt.states.openvswitch_bridge module
243220       Management of Open vSwitch bridges.
243221
243222       salt.states.openvswitch_bridge.absent(name)
243223              Ensures that the named bridge does not exist, eventually deletes
243224              it.
243225
243226              Parameters
243227                     name -- The name of the bridge.
243228
243229       salt.states.openvswitch_bridge.present(name)
243230              Ensures that the named bridge exists, eventually creates it.
243231
243232              Parameters
243233                     name -- The name of the bridge.
243234
243235   salt.states.openvswitch_port module
243236       Management of Open vSwitch ports.
243237
243238       salt.states.openvswitch_port.absent(name, bridge=None)
243239              Ensures that the named port exists on bridge, eventually deletes
243240              it.  If bridge is not set, port is removed from  whatever bridge
243241              contains it.
243242
243243              Parameters
243244
243245                     · name -- The name of the port.
243246
243247                     · bridge -- The name of the bridge.
243248
243249       salt.states.openvswitch_port.present(name,  bridge,   tunnel_type=None,
243250       id=None, remote=None, dst_port=None, internal=False)
243251              Ensures that the named port exists on bridge, eventually creates
243252              it.
243253
243254              Parameters
243255
243256                     · name -- The name of the port.
243257
243258                     · bridge -- The name of the bridge.
243259
243260                     · tunnel_type -- Optional type of  interface  to  create,
243261                       currently supports: vlan, vxlan and gre.
243262
243263                     · id -- Optional tunnel's key.
243264
243265                     · remote -- Remote endpoint's IP address.
243266
243267                     · dst_port -- Port to use when creating tunnelport in the
243268                       switch.
243269
243270                     · internal -- Create an internal port  if  one  does  not
243271                       exist
243272
243273   salt.states.opsgenie
243274   Create/Close an alert in OpsGenie
243275       New in version 2018.3.0.
243276
243277
243278       This  state is useful for creating or closing alerts in OpsGenie during
243279       state runs.
243280
243281          used_space:
243282            disk.status:
243283              - name: /
243284              - maximum: 79%
243285              - minimum: 20%
243286
243287          opsgenie_create_action_sender:
243288            opsgenie.create_alert:
243289              - api_key: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
243290              - reason: 'Disk capacity is out of designated range.'
243291              - name: disk.status
243292              - onfail:
243293                - disk: used_space
243294
243295          opsgenie_close_action_sender:
243296            opsgenie.close_alert:
243297              - api_key: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
243298              - name: disk.status
243299              - require:
243300                - disk: used_space
243301
243302       salt.states.opsgenie.close_alert(name=None, api_key=None, reason=u'Con‐
243303       ditions are met.', action_type=u'Close')
243304              Close  an  alert  in  OpsGenie. It's a wrapper function for cre‐
243305              ate_alert.  Example  usage  with  Salt's  requisites  and  other
243306              global state arguments could be found above.
243307
243308              Required Parameters:
243309
243310              name   It  will be used as alert's alias. If you want to use the
243311                     close functionality you must provide name field for  both
243312                     states like in above case.
243313
243314              Optional Parameters:
243315
243316              api_key
243317                     It's  the  API Key you've copied while adding integration
243318                     in OpsGenie.
243319
243320              reason It will be used as alert's default message in OpsGenie.
243321
243322              action_type
243323                     OpsGenie supports the  default  values  Create/Close  for
243324                     action_type.   You  can  customize this field with OpsGe‐
243325                     nie's custom actions for other purposes like adding notes
243326                     or acknowledging alerts.
243327
243328       salt.states.opsgenie.create_alert(name=None, api_key=None, reason=None,
243329       action_type=u'Create')
243330              Create an alert in OpsGenie. Example usage  with  Salt's  requi‐
243331              sites and other global state arguments could be found above.
243332
243333              Required Parameters:
243334
243335              api_key
243336                     It's  the  API Key you've copied while adding integration
243337                     in OpsGenie.
243338
243339              reason It will be used as alert's default message in OpsGenie.
243340
243341              Optional Parameters:
243342
243343              name   It will be used as alert's alias. If you want to use  the
243344                     close  functionality you must provide name field for both
243345                     states like in above case.
243346
243347              action_type
243348                     OpsGenie supports the  default  values  Create/Close  for
243349                     action_type.   You  can  customize this field with OpsGe‐
243350                     nie's custom actions for other purposes like adding notes
243351                     or acknowledging alerts.
243352
243353   salt.states.pagerduty
243354   Create an Event in PagerDuty
243355       New in version 2014.1.0.
243356
243357
243358       This  state is useful for creating events on the PagerDuty service dur‐
243359       ing state runs.
243360
243361          server-warning-message:
243362            pagerduty.create_event:
243363              - name: 'This is a server warning message'
243364              - details: 'This is a much more detailed message'
243365              - service_key: 9abcd123456789efabcde362783cdbaf
243366              - profile: my-pagerduty-account
243367
243368       salt.states.pagerduty.create_event(name, details, service_key, profile)
243369              Create an event on the PagerDuty service
243370
243371                 server-warning-message:
243372                   pagerduty.create_event:
243373                     - name: 'This is a server warning message'
243374                     - details: 'This is a much more detailed message'
243375                     - service_key: 9abcd123456789efabcde362783cdbaf
243376                     - profile: my-pagerduty-account
243377
243378              The following parameters are required:
243379
243380              name   This is a short description of the event.
243381
243382              details
243383                     This can be a more detailed description of the event.
243384
243385              service_key
243386                     This key can be found by using pagerduty.list_services.
243387
243388              profile
243389                     This refers to the configuration profile to use  to  con‐
243390                     nect to the PagerDuty service.
243391
243392   salt.states.pagerduty_escalation_policy
243393       Manage PagerDuty escalation policies.
243394
243395       Schedules  and  users can be referenced by pagerduty ID, or by name, or
243396       by email address.
243397
243398       For example:
243399
243400          ensure test escalation policy:
243401              pagerduty_escalation_policy.present:
243402                  - name: bruce test escalation policy
243403                  - escalation_rules:
243404                      - targets:
243405                          - type: schedule
243406                            id: 'bruce test schedule level1'
243407                          - type: user
243408                            id: 'Bruce Sherrod'
243409                        escalation_delay_in_minutes: 15
243410                      - targets:
243411                          - type: schedule
243412                            id: 'bruce test schedule level2'
243413                        escalation_delay_in_minutes: 15
243414                      - targets:
243415                          - type: user
243416                            id: 'Bruce TestUser1'
243417                          - type: user
243418                            id: 'Bruce TestUser2'
243419                          - type: user
243420                            id: 'Bruce TestUser3'
243421                          - type: user
243422                            id:  'bruce+test4@lyft.com'
243423                        escalation_delay_in_minutes: 15
243424
243425       salt.states.pagerduty_escalation_policy.absent(profile=u'pagerduty',
243426       subdomain=None, api_key=None, **kwargs)
243427              Ensure  that  a  PagerDuty  escalation  policy  does  not exist.
243428              Accepts  all  the   arguments   that   pagerduty_escalation_pol‐
243429              icy.present accepts; but ignores all arguments except the name.
243430
243431              Name  can  be  the escalation policy id or the escalation policy
243432              name.
243433
243434       salt.states.pagerduty_escalation_policy.present(profile=u'pagerduty',
243435       subdomain=None, api_key=None, **kwargs)
243436              Ensure  that  a pagerduty escalation policy exists.  Will create
243437              or update as needed.
243438
243439              This   method   accepts   as   args   everything   defined    in
243440              https://developer.pagerduty.com/documentation/rest/escalation_policies/create.
243441              In addition, user and schedule id's will be translated from name
243442              (or email address) into PagerDuty unique ids.  For example:
243443
243444
243445
243446              pagerduty_escalation_policy.present:
243447
243448                     · name: bruce test escalation policy
243449
243450                     ·
243451
243452                       escalation_rules:
243453
243454                              ·
243455
243456                                targets:
243457
243458                                       · type: schedule id: 'bruce test sched‐
243459                                         ule level1'
243460
243461                                       · type: user id: 'Bruce Sherrod'
243462
243463              In this example, 'Bruce Sherrod' will be looked up and  replaced
243464              with  the  PagerDuty id (usually a 7 digit all-caps string, e.g.
243465              PX6GQL7)
243466
243467   salt.states.pagerduty_schedule
243468       Manage PagerDuty schedules.
243469
243470       Example:
243471
243472          ensure test schedule:
243473              pagerduty_schedule.present:
243474                  - name: 'bruce test schedule level1'
243475                  - schedule:
243476                      name: 'bruce test schedule level1'
243477                      time_zone: 'Pacific Time (US & Canada)'
243478                      schedule_layers:
243479                          - name: 'Schedule Layer 1'
243480                            start: '2015-01-01T00:00:00'
243481                            users:
243482                              - user:
243483                                  'id': 'Bruce TestUser1'
243484                                member_order: 1
243485                              - user:
243486                                  'id': 'Bruce TestUser2'
243487                                member_order: 2
243488                              - user:
243489                                  'id': 'bruce+test3@lyft.com'
243490                                member_order: 3
243491                              - user:
243492                                  'id': 'bruce+test4@lyft.com'
243493                                member_order: 4
243494                            rotation_virtual_start: '2015-01-01T00:00:00'
243495                            priority: 1
243496                            rotation_turn_length_seconds: 604800
243497
243498       salt.states.pagerduty_schedule.absent(profile=u'pagerduty',      subdo‐
243499       main=None, api_key=None, **kwargs)
243500              Ensure  that  a  pagerduty schedule does not exist.  Name can be
243501              pagerduty schedule id or pagerduty schedule name.
243502
243503       salt.states.pagerduty_schedule.present(profile=u'pagerduty',     subdo‐
243504       main=None, api_key=None, **kwargs)
243505              Ensure that a pagerduty schedule exists.  This method accepts as
243506              args             everything              defined              in
243507              https://developer.pagerduty.com/documentation/rest/schedules/create.
243508              This means that most arguments are in a dict called "schedule."
243509
243510              User id's can be pagerduty id, or name, or email address.
243511
243512   salt.states.pagerduty_service
243513       Manage PagerDuty services
243514
243515       Escalation policies can be referenced by pagerduty ID or by namea.
243516
243517       For example:
243518
243519          ensure test service
243520              pagerduty_service.present:
243521                  - name: 'my service'
243522                  - escalation_policy_id: 'my escalation policy'
243523                  - type: nagios
243524
243525       salt.states.pagerduty_service.absent(profile=u'pagerduty',       subdo‐
243526       main=None, api_key=None, **kwargs)
243527              Ensure a pagerduty service does not exist.  Name can be the ser‐
243528              vice name or pagerduty service id.
243529
243530       salt.states.pagerduty_service.present(profile=u'pagerduty',      subdo‐
243531       main=None, api_key=None, **kwargs)
243532              Ensure  pagerduty  service exists.  This method accepts as argu‐
243533              ments             everything             defined              in
243534              https://developer.pagerduty.com/documentation/rest/services/create
243535
243536              Note that many arguments are mutually  exclusive,  depending  on
243537              the "type" argument.
243538
243539              Examples:
243540
243541                 # create a PagerDuty email service at test-email@DOMAIN.pagerduty.com
243542                 ensure generic email service exists:
243543                     pagerduty_service.present:
243544                         - name: my email service
243545                         - service:
243546                             description: "email service controlled by salt"
243547                             escalation_policy_id: "my escalation policy"
243548                             type: "generic_email"
243549                             service_key: "test-email"
243550
243551                 # create a pagerduty service using cloudwatch integration
243552                 ensure my cloudwatch service exists:
243553                     pagerduty_service.present:
243554                         - name: my cloudwatch service
243555                         - service:
243556                             escalation_policy_id: "my escalation policy"
243557                             type: aws_cloudwatch
243558                             description: "my cloudwatch service controlled by salt"
243559
243560   salt.states.pagerduty_user
243561       Manage PagerDuty users.  Example.INDENT 0.0
243562
243563
243564
243565       ensure bruce test user 1:
243566
243567              pagerduty.user_present:
243568
243569                     · name: 'Bruce TestUser1'
243570
243571                     · email: bruce+test1@lyft.com
243572
243573                     · requester_id: P1GV5NT
243574
243575       salt.states.pagerduty_user.absent(profile=u'pagerduty', subdomain=None,
243576       api_key=None, **kwargs)
243577              Ensure pagerduty user does not exist.  Name can be pagerduty id,
243578              email address, or user name.
243579
243580       salt.states.pagerduty_user.present(profile=u'pagerduty',         subdo‐
243581       main=None, api_key=None, **kwargs)
243582              Ensure pagerduty user exists.  Arguments match  those  supported
243583              by
243584              https://developer.pagerduty.com/documentation/rest/users/create.
243585
243586   salt.states.panos
243587       A state module to manage Palo Alto network devices.
243588
243589       codeauthor
243590              Spencer Ervin <spencer_ervin@hotmail.com>
243591
243592       maturity
243593              new
243594
243595       depends
243596              none
243597
243598       platform
243599              unix
243600
243601   About
243602       This state module was designed to handle connections  to  a  Palo  Alto
243603       based  firewall.  This  module  relies on the Palo Alto proxy module to
243604       interface with the devices.
243605
243606       This state module is designed to give extreme flexibility in  the  con‐
243607       trol over XPATH values on the PANOS device. It exposes the core XML API
243608       commands and allows state modules to chain complex XPATH commands.
243609
243610       Below is an example of how to construct a security rule and move to the
243611       top  of  the  policy. This will take a config lock to prevent execution
243612       during the operation, then remove the lock. After the  XPATH  has  been
243613       deployed, it will commit to the device.
243614
243615          panos/takelock:
243616              panos.add_config_lock
243617          panos/service_tcp_22:
243618              panos.set_config:
243619                  - xpath: /config/devices/entry[@name='localhost.localdomain']/vsys/entry[@name='vsys1']/service
243620                  - value: <entry name='tcp-22'><protocol><tcp><port>22</port></tcp></protocol></entry>
243621                  - commit: False
243622          panos/create_rule1:
243623              panos.set_config:
243624                  - xpath: /config/devices/entry[@name='localhost.localdomain']/vsys/entry[@name='vsys1']/rulebase/security/rules
243625                  - value: '
243626                    <entry name="rule1">
243627                      <from><member>trust</member></from>
243628                      <to><member>untrust</member></to>
243629                      <source><member>10.0.0.1</member></source>
243630                      <destination><member>10.0.1.1</member></destination>
243631                      <service><member>tcp-22</member></service>
243632                      <application><member>any</member></application>
243633                      <action>allow</action>
243634                      <disabled>no</disabled>
243635                    </entry>'
243636                  - commit: False
243637          panos/moveruletop:
243638              panos.move_config:
243639                  - xpath: /config/devices/entry[@name='localhost.localdomain']/vsys/entry[@name='vsys1']/rulebase/security/rules/entry[@name='rule1']
243640                  - where: top
243641                  - commit: False
243642          panos/removelock:
243643              panos.remove_config_lock
243644          panos/commit:
243645              panos.commit
243646
243647   Version Specific Configurations
243648       Palo  Alto  devices running different versions will have different sup‐
243649       ported features and different command structures. In order  to  account
243650       for  this,  the  proxy  module  can  be leveraged to check if the panos
243651       device is at a specific revision level.
243652
243653       The proxy['panos.is_required_version'] method will  check  if  a  panos
243654       device  is currently running a version equal or greater than the passed
243655       version. For example, proxy['panos.is_required_version']('7.0.0') would
243656       match both 7.1.0 and 8.0.0.
243657
243658          {% if proxy['panos.is_required_version']('8.0.0') %}
243659          panos/deviceconfig/system/motd-and-banner:
243660            panos.set_config:
243661              - xpath: /config/devices/entry[@name='localhost.localdomain']/deviceconfig/system/motd-and-banner
243662              - value: |
243663                <banner-header>BANNER TEXT</banner-header>
243664                <banner-header-color>color2</banner-header-color>
243665                <banner-header-text-color>color18</banner-header-text-color>
243666                <banner-header-footer-match>yes</banner-header-footer-match>
243667              - commit: False
243668          {% endif %}
243669
243670       SEE ALSO:
243671          Palo Alto Proxy Module
243672
243673       salt.states.panos.add_config_lock(name)
243674              Prevent  other  users from changing configuration until the lock
243675              is released.
243676
243677              name: The name of the module function to execute.
243678
243679              SLS Example:
243680
243681                 panos/takelock:
243682                     panos.add_config_lock
243683
243684       salt.states.panos.address_exists(name, addressname=None, vsys=1, ipnet‐
243685       mask=None, iprange=None, fqdn=None, description=None, commit=False)
243686              Ensures  that  an address object exists in the configured state.
243687              If it does not exist or is not  configured  with  the  specified
243688              attributes, it will be adjusted to match the specified values.
243689
243690              This module will only process a single address type (ip-netmask,
243691              ip-range, or fqdn). It will process the specified value  if  the
243692              following  order:  ip-netmask, ip-range, fqdn. For proper execu‐
243693              tion, only specify a single address type.
243694
243695              name: The name of the module function to execute.
243696
243697              addressname(str): The name of the address object.  The  name  is
243698              case-sensitive  and  can  have  up to 31 characters, which an be
243699              letters, numbers, spaces, hyphens,  and  underscores.  The  name
243700              must be unique on a firewall and, on Panorama, unique within its
243701              device group and any ancestor or descendant device groups.
243702
243703              vsys(str): The string representation of the VSYS ID. Defaults to
243704              VSYS 1.
243705
243706              ipnetmask(str):  The  IPv4  or  IPv6 address or IP address range
243707              using the format ip_address/mask or ip_address where the mask is
243708              the  number  of  significant  binary digits used for the network
243709              portion of the address. Ideally, for IPv6, you specify only  the
243710              network portion, not the host portion.
243711
243712              iprange(str):   A   range   of   addresses   using   the  format
243713              ip_address–ip_address where both addresses can be  IPv4 or  both
243714              can be IPv6.
243715
243716              fqdn(str):  A  fully qualified domain name format. The FQDN ini‐
243717              tially  resolves  at  commit  time.  Entries  are   subsequently
243718              refreshed  when  the firewall performs a check every 30 minutes;
243719              all changes in the IP address for the entries are picked  up  at
243720              the refresh cycle.
243721
243722              description(str):  A description for the policy (up to 255 char‐
243723              acters).
243724
243725              commit(bool): If true the firewall will commit the  changes,  if
243726              false do not commit changes.
243727
243728              SLS Example:
243729
243730                 panos/address/h-10.10.10.10:
243731                     panos.address_exists:
243732                       - addressname: h-10.10.10.10
243733                       - vsys: 1
243734                       - ipnetmask: 10.10.10.10
243735                       - commit: False
243736
243737                 panos/address/10.0.0.1-10.0.0.50:
243738                     panos.address_exists:
243739                       - addressname: r-10.0.0.1-10.0.0.50
243740                       - vsys: 1
243741                       - iprange: 10.0.0.1-10.0.0.50
243742                       - commit: False
243743
243744                 panos/address/foo.bar.com:
243745                     panos.address_exists:
243746                       - addressname: foo.bar.com
243747                       - vsys: 1
243748                       - fqdn: foo.bar.com
243749                       - description: My fqdn object
243750                       - commit: False
243751
243752       salt.states.panos.address_group_exists(name,   groupname=None,  vsys=1,
243753       members=None, description=None, commit=False)
243754              Ensures that an address group object exists  in  the  configured
243755              state. If it does not exist or is not configured with the speci‐
243756              fied attributes, it will be adjusted to match the specified val‐
243757              ues.
243758
243759              This module will enforce group membership. If a group exists and
243760              contains members this state does not include, those members will
243761              be removed and replaced with the specified members in the state.
243762
243763              name: The name of the module function to execute.
243764
243765              groupname(str):  The name of the address group object.  The name
243766              is case-sensitive and can have up to 31 characters, which an  be
243767              letters,  numbers,  spaces,  hyphens,  and underscores. The name
243768              must be unique on a firewall and, on Panorama, unique within its
243769              device group and any ancestor or descendant device groups.
243770
243771              vsys(str): The string representation of the VSYS ID. Defaults to
243772              VSYS 1.
243773
243774              members(str, list): The members of the address group. These must
243775              be  valid  address  objects or address groups on the system that
243776              already exist prior to the execution of this state.
243777
243778              description(str): A description for the policy (up to 255  char‐
243779              acters).
243780
243781              commit(bool):  If  true the firewall will commit the changes, if
243782              false do not commit changes.
243783
243784              SLS Example:
243785
243786                 panos/address-group/my-group:
243787                     panos.address_group_exists:
243788                       - groupname: my-group
243789                       - vsys: 1
243790                       - members:
243791                         - my-address-object
243792                         - my-other-address-group
243793                       - description: A group that needs to exist
243794                       - commit: False
243795
243796       salt.states.panos.clone_config(name,  xpath=None,  newname=None,   com‐
243797       mit=False)
243798              Clone a specific XPATH and set it to a new name.
243799
243800              name: The name of the module function to execute.
243801
243802              xpath(str): The XPATH of the configuration API tree to clone.
243803
243804              newname(str): The new name of the XPATH clone.
243805
243806              commit(bool):  If  true the firewall will commit the changes, if
243807              false do not commit changes.
243808
243809              SLS Example:
243810
243811                 panos/clonerule:
243812                     panos.clone_config:
243813                       - xpath: /config/devices/entry/vsys/entry[@name='vsys1']/rulebase/security/rules&from=/config/devices/
243814                       entry/vsys/entry[@name='vsys1']/rulebase/security/rules/entry[@name='rule1']
243815                       - value: rule2
243816                       - commit: True
243817
243818       salt.states.panos.commit_config(name)
243819              Commits the candidate configuration to  the  running  configura‐
243820              tion.
243821
243822              name: The name of the module function to execute.
243823
243824              SLS Example:
243825
243826                 panos/commit:
243827                     panos.commit_config
243828
243829       salt.states.panos.delete_config(name, xpath=None, commit=False)
243830              Deletes a Palo Alto XPATH to a specific value.
243831
243832              Use the xpath parameter to specify the location of the object to
243833              be deleted.
243834
243835              name: The name of the module function to execute.
243836
243837              xpath(str): The XPATH of the configuration API tree to control.
243838
243839              commit(bool): If true the firewall will commit the  changes,  if
243840              false do not commit changes.
243841
243842              SLS Example:
243843
243844                 panos/deletegroup:
243845                     panos.delete_config:
243846                       - xpath: /config/devices/entry/vsys/entry[@name='vsys1']/address-group/entry[@name='test']
243847                       - commit: True
243848
243849       salt.states.panos.download_software(name,   version=None,  synch=False,
243850       check=False)
243851              Ensures that a software version is downloaded.
243852
243853              name: The name of the module function to execute.
243854
243855              version(str): The software version to check. If this version  is
243856              not  already  downloaded,  it  will attempt to download the file
243857              from Palo Alto.
243858
243859              synch(bool): If true, after downloading  the  file  it  will  be
243860              synched to its peer.
243861
243862              check(bool):  If  true,  the  PANOS device will first attempt to
243863              pull the most recent software inventory list from Palo Alto.
243864
243865              SLS Example:
243866
243867                 panos/version8.0.0:
243868                     panos.download_software:
243869                       - version: 8.0.0
243870                       - synch: False
243871                       - check: True
243872
243873       salt.states.panos.edit_config(name,   xpath=None,   value=None,    com‐
243874       mit=False)
243875              Edits  a  Palo  Alto XPATH to a specific value. This will always
243876              overwrite the existing value, even if it is not changed.
243877
243878              You can replace an existing  object  hierarchy  at  a  specified
243879              location  in  the  configuration with a new value. Use the xpath
243880              parameter to specify the location of the object,  including  the
243881              node to be replaced.
243882
243883              This  is  the  recommended  state to enforce configurations on a
243884              xpath.
243885
243886              name: The name of the module function to execute.
243887
243888              xpath(str): The XPATH of the configuration API tree to control.
243889
243890              value(str): The XML value to edit. This must be a child  to  the
243891              XPATH.
243892
243893              commit(bool):  If  true the firewall will commit the changes, if
243894              false do not commit changes.
243895
243896              SLS Example:
243897
243898                 panos/addressgroup:
243899                     panos.edit_config:
243900                       - xpath: /config/devices/entry/vsys/entry[@name='vsys1']/address-group/entry[@name='test']
243901                       - value: <static><entry name='test'><member>abc</member><member>xyz</member></entry></static>
243902                       - commit: True
243903
243904       salt.states.panos.move_config(name, xpath=None,  where=None,  dst=None,
243905       commit=False)
243906              Moves a XPATH value to a new location.
243907
243908              Use the xpath parameter to specify the location of the object to
243909              be moved, the where parameter to specify type of move,  and  dst
243910              parameter to specify the destination path.
243911
243912              name: The name of the module function to execute.
243913
243914              xpath(str): The XPATH of the configuration API tree to move.
243915
243916              where(str):  The  type  of  move  to  execute. Valid options are
243917              after, before, top, bottom. The after and  before  options  will
243918              require the dst option to specify the destination of the action.
243919              The top action will move the XPATH to the top of its  structure.
243920              The  botoom  action  will  move  the  XPATH to the bottom of its
243921              structure.
243922
243923              dst(str): Optional. Specifies the destination to utilize  for  a
243924              move action. This is ignored for the top or bottom action.
243925
243926              commit(bool):  If  true the firewall will commit the changes, if
243927              false do not commit changes. If the operation is not successful,
243928              it will not commit.
243929
243930              SLS Example:
243931
243932                 panos/moveruletop:
243933                     panos.move_config:
243934                       - xpath: /config/devices/entry/vsys/entry[@name='vsys1']/rulebase/security/rules/entry[@name='rule1']
243935                       - where: top
243936                       - commit: True
243937
243938                 panos/moveruleafter:
243939                     panos.move_config:
243940                       - xpath: /config/devices/entry/vsys/entry[@name='vsys1']/rulebase/security/rules/entry[@name='rule1']
243941                       - where: after
243942                       - dst: rule2
243943                       - commit: True
243944
243945       salt.states.panos.remove_config_lock(name)
243946              Release config lock previously held.
243947
243948              name: The name of the module function to execute.
243949
243950              SLS Example:
243951
243952                 panos/takelock:
243953                     panos.remove_config_lock
243954
243955       salt.states.panos.rename_config(name,  xpath=None,  newname=None,  com‐
243956       mit=False)
243957              Rename a Palo Alto XPATH to a specific value. This  will  always
243958              rename the value even if a change is not needed.
243959
243960              name: The name of the module function to execute.
243961
243962              xpath(str): The XPATH of the configuration API tree to control.
243963
243964              newname(str): The new name of the XPATH value.
243965
243966              commit(bool):  If  true the firewall will commit the changes, if
243967              false do not commit changes.
243968
243969              SLS Example:
243970
243971                 panos/renamegroup:
243972                     panos.rename_config:
243973                       - xpath: /config/devices/entry/vsys/entry[@name='vsys1']/address/entry[@name='old_address']
243974                       - value: new_address
243975                       - commit: True
243976
243977       salt.states.panos.security_rule_exists(name,  rulename=None,  vsys='1',
243978       action=None,   disabled=None,   sourcezone=None,  destinationzone=None,
243979       source=None, destination=None, application=None, service=None, descrip‐
243980       tion=None,   logsetting=None,   logstart=None,   logend=None,   negate‐
243981       source=None,   negatedestination=None,   profilegroup=None,    datafil‐
243982       ter=None,  fileblock=None,  spyware=None,  urlfilter=None,  virus=None,
243983       vulnerability=None,  wildfire=None,  move=None,  movetarget=None,  com‐
243984       mit=False)
243985              Ensures  that a security rule exists on the device. Also, ensure
243986              that all configurations are set appropriately.
243987
243988              This method will create the rule if it does not  exist.  If  the
243989              rule  does exist, it will ensure that the configurations are set
243990              appropriately.
243991
243992              If the rule does not exist and is created, any value that is not
243993              provided will be provided as the default.  The action, to, from,
243994              source, destination, application, and service fields are  manda‐
243995              tory and must be provided.
243996
243997              This  will  enforce the exact match of the rule. For example, if
243998              the rule is currently configured with the  log-end  option,  but
243999              this  option  is  not  specified in the state method, it will be
244000              removed and reset to the system default.
244001
244002              It is strongly recommended to  specify  all  options  to  ensure
244003              proper operation.
244004
244005              When  defining  the  profile group settings, the device can only
244006              support either a profile group or individual settings.  If  both
244007              are specified, the profile group will be preferred and the indi‐
244008              vidual settings are ignored. If neither are specified, the value
244009              will be set to system default of none.
244010
244011              name: The name of the module function to execute.
244012
244013              rulename(str):  The  name  of  the  security  rule.  The name is
244014              case-sensitive and can have up to 31 characters,  which  can  be
244015              letters,  numbers,  spaces,  hyphens,  and underscores. The name
244016              must be unique on a firewall and, on Panorama, unique within its
244017              device group and any ancestor or descendant device groups.
244018
244019              vsys(str): The string representation of the VSYS ID. Defaults to
244020              VSYS 1.
244021
244022              action(str): The action that the  security  rule  will  enforce.
244023              Valid    options   are:   allow,   deny,   drop,   reset-client,
244024              reset-server, reset-both.
244025
244026              disabled(bool): Controls if the rule is disabled. Set 'True'  to
244027              disable and 'False' to enable.
244028
244029              sourcezone(str,  list): The source zone(s). The value 'any' will
244030              match all zones.
244031
244032              destinationzone(str, list): The destination zone(s).  The  value
244033              'any' will match all zones.
244034
244035              source(str,  list): The source address(es). The value 'any' will
244036              match all addresses.
244037
244038              destination(str, list): The destination address(es).  The  value
244039              'any' will match all addresses.
244040
244041              application(str,  list):  The  application(s) matched. The value
244042              'any' will match all applications.
244043
244044              service(str, list): The service(s) matched. The value 'any' will
244045              match  all  services. The value 'application-default' will match
244046              based upon the application defined ports.
244047
244048              description(str): A description for the policy (up to 255  char‐
244049              acters).
244050
244051              logsetting(str): The name of a valid log forwarding profile.
244052
244053              logstart(bool): Generates a traffic log entry for the start of a
244054              session (disabled by default).
244055
244056              logend(bool): Generates a traffic log entry for  the  end  of  a
244057              session (enabled by default).
244058
244059              negatesource(bool):   Match   all   but   the  specified  source
244060              addresses.
244061
244062              negatedestination(bool): Match all but the specified destination
244063              addresses.
244064
244065              profilegroup(str): A valid profile group name.
244066
244067              datafilter(str):  A valid data filter profile name. Ignored with
244068              the profilegroup option set.
244069
244070              fileblock(str): A valid file blocking profile name. Ignored with
244071              the profilegroup option set.
244072
244073              spyware(str):  A  valid  spyware  profile name. Ignored with the
244074              profilegroup option set.
244075
244076              urlfilter(str): A valid URL filtering profile name. Ignored with
244077              the profilegroup option set.
244078
244079              virus(str):  A valid virus profile name. Ignored with the profi‐
244080              legroup option set.
244081
244082              vulnerability(str): A valid vulnerability profile name.  Ignored
244083              with the profilegroup option set.
244084
244085              wildfire(str):  A valid vulnerability profile name. Ignored with
244086              the profilegroup option set.
244087
244088              move(str): An optional argument that ensure the rule is moved to
244089              a   specific   location.  Valid  options  are  'top',  'bottom',
244090              'before', or 'after'. The 'before' and 'after'  options  require
244091              the  use  of the 'movetarget' argument to define the location of
244092              the move request.
244093
244094              movetarget(str): An optional argument that defines the target of
244095              the  move  operation  if the move argument is set to 'before' or
244096              'after'.
244097
244098              commit(bool): If true the firewall will commit the  changes,  if
244099              false do not commit changes.
244100
244101              SLS Example:
244102
244103                 panos/rulebase/security/rule01:
244104                     panos.security_rule_exists:
244105                       - rulename: rule01
244106                       - vsys: 1
244107                       - action: allow
244108                       - disabled: False
244109                       - sourcezone: untrust
244110                       - destinationzone: trust
244111                       - source:
244112                         - 10.10.10.0/24
244113                         - 1.1.1.1
244114                       - destination:
244115                         - 2.2.2.2-2.2.2.4
244116                       - application:
244117                         - any
244118                       - service:
244119                         - tcp-25
244120                       - description: My test security rule
244121                       - logsetting: logprofile
244122                       - logstart: False
244123                       - logend: True
244124                       - negatesource: False
244125                       - negatedestination: False
244126                       - profilegroup: myprofilegroup
244127                       - move: top
244128                       - commit: False
244129
244130                 panos/rulebase/security/rule01:
244131                     panos.security_rule_exists:
244132                       - rulename: rule01
244133                       - vsys: 1
244134                       - action: allow
244135                       - disabled: False
244136                       - sourcezone: untrust
244137                       - destinationzone: trust
244138                       - source:
244139                         - 10.10.10.0/24
244140                         - 1.1.1.1
244141                       - destination:
244142                         - 2.2.2.2-2.2.2.4
244143                       - application:
244144                         - any
244145                       - service:
244146                         - tcp-25
244147                       - description: My test security rule
244148                       - logsetting: logprofile
244149                       - logstart: False
244150                       - logend: False
244151                       - datafilter: foobar
244152                       - fileblock: foobar
244153                       - spyware: foobar
244154                       - urlfilter: foobar
244155                       - virus: foobar
244156                       - vulnerability: foobar
244157                       - wildfire: foobar
244158                       - move: after
244159                       - movetarget: rule02
244160                       - commit: False
244161
244162       salt.states.panos.service_exists(name, servicename=None, vsys=1, proto‐
244163       col=None, port=None, description=None, commit=False)
244164              Ensures that a service object exists in the configured state. If
244165              it  does  not  exist  or  is  not  configured with the specified
244166              attributes, it will be adjusted to match the specified values.
244167
244168              name: The name of the module function to execute.
244169
244170              servicename(str): The name of the security object.  The name  is
244171              case-sensitive  and  can  have  up to 31 characters, which an be
244172              letters, numbers, spaces, hyphens,  and  underscores.  The  name
244173              must be unique on a firewall and, on Panorama, unique within its
244174              device group and any ancestor or descendant device groups.
244175
244176              vsys(str): The string representation of the VSYS ID. Defaults to
244177              VSYS 1.
244178
244179              protocol(str):  The protocol that is used by the service object.
244180              The only valid options are tcp and udp.
244181
244182              port(str): The port number that is used by the  service  object.
244183              This  can  be  specified as a single integer or a valid range of
244184              ports.
244185
244186              description(str): A description for the policy (up to 255  char‐
244187              acters).
244188
244189              commit(bool):  If  true the firewall will commit the changes, if
244190              false do not commit changes.
244191
244192              SLS Example:
244193
244194                 panos/service/tcp-80:
244195                     panos.service_exists:
244196                       - servicename: tcp-80
244197                       - vsys: 1
244198                       - protocol: tcp
244199                       - port: 80
244200                       - description: Hypertext Transfer Protocol
244201                       - commit: False
244202
244203                 panos/service/udp-500-550:
244204                     panos.service_exists:
244205                       - servicename: udp-500-550
244206                       - vsys: 3
244207                       - protocol: udp
244208                       - port: 500-550
244209                       - commit: False
244210
244211       salt.states.panos.service_group_exists(name,  groupname=None,   vsys=1,
244212       members=None, description=None, commit=False)
244213              Ensures  that  a  service  group object exists in the configured
244214              state. If it does not exist or is not configured with the speci‐
244215              fied attributes, it will be adjusted to match the specified val‐
244216              ues.
244217
244218              This module will enforce group membership. If a group exists and
244219              contains members this state does not include, those members will
244220              be removed and replaced with the specified members in the state.
244221
244222              name: The name of the module function to execute.
244223
244224              groupname(str): The name of the service group object.  The  name
244225              is  case-sensitive and can have up to 31 characters, which an be
244226              letters, numbers, spaces, hyphens,  and  underscores.  The  name
244227              must be unique on a firewall and, on Panorama, unique within its
244228              device group and any ancestor or descendant device groups.
244229
244230              vsys(str): The string representation of the VSYS ID. Defaults to
244231              VSYS 1.
244232
244233              members(str, list): The members of the service group. These must
244234              be valid service objects or service groups on  the  system  that
244235              already exist prior to the execution of this state.
244236
244237              description(str):  A description for the policy (up to 255 char‐
244238              acters).
244239
244240              commit(bool): If true the firewall will commit the  changes,  if
244241              false do not commit changes.
244242
244243              SLS Example:
244244
244245                 panos/service-group/my-group:
244246                     panos.service_group_exists:
244247                       - groupname: my-group
244248                       - vsys: 1
244249                       - members:
244250                         - tcp-80
244251                         - custom-port-group
244252                       - description: A group that needs to exist
244253                       - commit: False
244254
244255       salt.states.panos.set_config(name,    xpath=None,    value=None,   com‐
244256       mit=False)
244257              Sets a Palo Alto XPATH to a specific  value.  This  will  always
244258              overwrite the existing value, even if it is not changed.
244259
244260              You  can  add  or create a new object at a specified location in
244261              the configuration hierarchy. Use the xpath parameter to  specify
244262              the location of the object in the configuration
244263
244264              name: The name of the module function to execute.
244265
244266              xpath(str): The XPATH of the configuration API tree to control.
244267
244268              value(str):  The  XML  value to set. This must be a child to the
244269              XPATH.
244270
244271              commit(bool): If true the firewall will commit the  changes,  if
244272              false do not commit changes.
244273
244274              SLS Example:
244275
244276                 panos/hostname:
244277                     panos.set_config:
244278                       - xpath: /config/devices/entry[@name='localhost.localdomain']/deviceconfig/system
244279                       - value: <hostname>foobar</hostname>
244280                       - commit: True
244281
244282   salt.states.pcs module
244283   Management of Pacemaker/Corosync clusters with PCS
244284       A  state  module  to  manage Pacemaker/Corosync clusters with the Pace‐
244285       maker/Corosync configuration system (PCS)
244286
244287       New in version 2016.110.
244288
244289
244290       depends
244291              pcs
244292
244293       Walkthrough     of     a     complete      PCS      cluster      setup:
244294       http://clusterlabs.org/doc/en-US/Pacemaker/1.1/html/Clusters_from_Scratch/
244295
244296       Requirements:
244297              PCS is installed, pcs service is started and  the  password  for
244298              the hacluster user is set and known.
244299
244300       Remark on the cibname variable used in the examples:
244301              The use of the cibname variable is optional.  Use it only if you
244302              want to deploy your changes into a cibfile first and  then  push
244303              it.   This  makes  only  sense  if  you  want to deploy multiple
244304              changes (which require each other) at once to the cluster.
244305
244306       At first the cibfile must be created:
244307
244308          mysql_pcs__cib_present_cib_for_galera:
244309              pcs.cib_present:
244310                  - cibname: cib_for_galera
244311                  - scope: None
244312                  - extra_args: None
244313
244314       Then the cibfile can be modified by creating resources (creating only 1
244315       resource for demonstration, see also 7.):
244316
244317          mysql_pcs__resource_present_galera:
244318              pcs.resource_present:
244319                  - resource_id: galera
244320                  - resource_type: "ocf:heartbeat:galera"
244321                  - resource_options:
244322                      - 'wsrep_cluster_address=gcomm://node1.example.org,node2.example.org,node3.example.org'
244323                      - '--master'
244324                  - cibname: cib_for_galera
244325
244326       After  modifying  the  cibfile, it can be pushed to the live CIB in the
244327       cluster:
244328
244329          mysql_pcs__cib_pushed_cib_for_galera:
244330              pcs.cib_pushed:
244331                  - cibname: cib_for_galera
244332                  - scope: None
244333                  - extra_args: None
244334
244335       Create a cluster from scratch:
244336
244337       1. Authorize nodes to each other:
244338
244339             pcs_auth__auth:
244340                 pcs.auth:
244341                     - nodes:
244342                         - node1.example.com
244343                         - node2.example.com
244344                     - pcsuser: hacluster
244345                     - pcspasswd: hoonetorg
244346                     - extra_args: []
244347
244348       2. Do the initial cluster setup:
244349
244350             pcs_setup__setup:
244351                 pcs.cluster_setup:
244352                     - nodes:
244353                         - node1.example.com
244354                         - node2.example.com
244355                     - pcsclustername: pcscluster
244356                     - extra_args:
244357                         - '--start'
244358                         - '--enable'
244359
244360       3. Optional: Set cluster properties:
244361
244362             pcs_properties__prop_has_value_no-quorum-policy:
244363                 pcs.prop_has_value:
244364                     - prop: no-quorum-policy
244365                     - value: ignore
244366                     - cibname: cib_for_cluster_settings
244367
244368       4. Optional: Set resource defaults:
244369
244370             pcs_properties__resource_defaults_to_resource-stickiness:
244371                 pcs.resource_defaults_to:
244372                     - default: resource-stickiness
244373                     - value: 100
244374                     - cibname: cib_for_cluster_settings
244375
244376       5. Optional: Set resource op defaults:
244377
244378             pcs_properties__resource_op_defaults_to_monitor-interval:
244379                 pcs.resource_op_defaults_to:
244380                     - op_default: monitor-interval
244381                     - value: 60s
244382                     - cibname: cib_for_cluster_settings
244383
244384       6. Configure Fencing (!is often not optional on production ready  clus‐
244385          ter!):
244386
244387             pcs_stonith__created_eps_fence:
244388                 pcs.stonith_present:
244389                     - stonith_id: eps_fence
244390                     - stonith_device_type: fence_eps
244391                     - stonith_device_options:
244392                         - 'pcmk_host_map=node1.example.org:01;node2.example.org:02'
244393                         - 'ipaddr=myepsdevice.example.org'
244394                         - 'power_wait=5'
244395                         - 'verbose=1'
244396                         - 'debug=/var/log/pcsd/eps_fence.log'
244397                         - 'login=hidden'
244398                         - 'passwd=hoonetorg'
244399                     - cibname: cib_for_stonith
244400
244401       7. Add resources to your cluster:
244402
244403             mysql_pcs__resource_present_galera:
244404                 pcs.resource_present:
244405                     - resource_id: galera
244406                     - resource_type: "ocf:heartbeat:galera"
244407                     - resource_options:
244408                         - 'wsrep_cluster_address=gcomm://node1.example.org,node2.example.org,node3.example.org'
244409                          - '--master'
244410                      - cibname: cib_for_galera
244411
244412       8. Optional: Add constraints (locations, colocations, orders):
244413
244414             haproxy_pcs__constraint_present_colocation-vip_galera-haproxy-clone-INFINITY:
244415                 pcs.constraint_present:
244416                     - constraint_id: colocation-vip_galera-haproxy-clone-INFINITY
244417                     - constraint_type: colocation
244418                     - constraint_options:
244419                         - 'add'
244420                         - 'vip_galera'
244421                         - 'with'
244422                         - 'haproxy-clone'
244423                     - cibname: cib_for_haproxy
244424
244425       New in version 2016.3.0.
244426
244427
244428       salt.states.pcs.auth(name,         nodes,         pcsuser=u'hacluster',
244429       pcspasswd=u'hacluster', extra_args=None)
244430              Ensure all nodes are authorized to the cluster
244431
244432              name   Irrelevant, not used (recommended: pcs_auth__auth)
244433
244434              nodes  a list of nodes which should be authorized to the cluster
244435
244436              pcsuser
244437                     user for communication with pcs (default: hacluster)
244438
244439              pcspasswd
244440                     password for pcsuser (default: hacluster)
244441
244442              extra_args
244443                     list of extra args for the 'pcs cluster auth' command
244444
244445              Example:
244446
244447                 pcs_auth__auth:
244448                     pcs.auth:
244449                         - nodes:
244450                             - node1.example.com
244451                             - node2.example.com
244452                         - pcsuser: hacluster
244453                         - pcspasswd: hoonetorg
244454                         - extra_args: []
244455
244456       salt.states.pcs.cib_present(name, cibname, scope=None, extra_args=None)
244457              Ensure that a CIB-file with the content of the current live  CIB
244458              is created
244459
244460              Should be run on one cluster node only (there may be races)
244461
244462              name   Irrelevant,     not     used    (recommended:    {{formu‐
244463                     laname}}__cib_present_{{cibname}})
244464
244465              cibname
244466                     name/path of the file containing the CIB
244467
244468              scope  specific section of the CIB (default:
244469
244470              extra_args
244471                     additional options for creating the CIB-file
244472
244473              Example:
244474
244475                 mysql_pcs__cib_present_cib_for_galera:
244476                     pcs.cib_present:
244477                         - cibname: cib_for_galera
244478                         - scope: None
244479                         - extra_args: None
244480
244481       salt.states.pcs.cib_pushed(name, cibname, scope=None, extra_args=None)
244482              Ensure that a CIB-file is pushed if it is changed since the cre‐
244483              ation of it with pcs.cib_present
244484
244485              Should be run on one cluster node only (there may be races)
244486
244487              name   Irrelevant,     not     used    (recommended:    {{formu‐
244488                     laname}}__cib_pushed_{{cibname}})
244489
244490              cibname
244491                     name/path of the file containing the CIB
244492
244493              scope  specific section of the CIB
244494
244495              extra_args
244496                     additional options for creating the CIB-file
244497
244498              Example:
244499
244500                 mysql_pcs__cib_pushed_cib_for_galera:
244501                     pcs.cib_pushed:
244502                         - cibname: cib_for_galera
244503                         - scope: None
244504                         - extra_args: None
244505
244506       salt.states.pcs.cluster_node_present(name, node, extra_args=None)
244507              Add a node to the Pacemaker cluster via PCS Should be run on one
244508              cluster  node  only  (there  may  be races) Can only be run on a
244509              already setup/added node
244510
244511              name   Irrelevant,    not    used     (recommended:     pcs_set‐
244512                     up__node_add_{{node}})
244513
244514              node   node that should be added
244515
244516              extra_args
244517                     list of extra args for the 'pcs cluster node add' command
244518
244519              Example:
244520
244521                 pcs_setup__node_add_node1.example.com:
244522                     pcs.cluster_node_present:
244523                         - node: node1.example.com
244524                         - extra_args:
244525                             - '--start'
244526                             - '--enable'
244527
244528       salt.states.pcs.cluster_setup(name,   nodes,  pcsclustername=u'pcsclus‐
244529       ter', extra_args=None)
244530              Setup Pacemaker cluster on nodes.  Should be run on one  cluster
244531              node only (there may be races)
244532
244533              name   Irrelevant, not used (recommended: pcs_setup__setup)
244534
244535              nodes  a list of nodes which should be set up
244536
244537              pcsclustername
244538                     Name of the Pacemaker cluster
244539
244540              extra_args
244541                     list of extra args for the 'pcs cluster setup' command
244542
244543              Example:
244544
244545                 pcs_setup__setup:
244546                     pcs.cluster_setup:
244547                         - nodes:
244548                             - node1.example.com
244549                             - node2.example.com
244550                         - pcsclustername: pcscluster
244551                         - extra_args:
244552                             - '--start'
244553                             - '--enable'
244554
244555       salt.states.pcs.constraint_present(name,       constraint_id,      con‐
244556       straint_type, constraint_options=None, cibname=None)
244557              Ensure that a constraint is created
244558
244559              Should be run on one cluster node only (there may be races)  Can
244560              only be run on a node with a functional pacemaker/corosync
244561
244562              name   Irrelevant,  not used (recommended: {{formulaname}}__con‐
244563                     straint_present_{{constraint_id}})
244564
244565              constraint_id
244566                     name for the constraint (try first to create manually  to
244567                     find out the autocreated name)
244568
244569              constraint_type
244570                     constraint type (location, colocation, order)
244571
244572              constraint_options
244573                     options for creating the constraint
244574
244575              cibname
244576                     use  a  cached CIB-file named like cibname instead of the
244577                     live CIB
244578
244579              Example:
244580
244581                 haproxy_pcs__constraint_present_colocation-vip_galera-haproxy-clone-INFINITY:
244582                     pcs.constraint_present:
244583                         - constraint_id: colocation-vip_galera-haproxy-clone-INFINITY
244584                         - constraint_type: colocation
244585                         - constraint_options:
244586                             - 'add'
244587                             - 'vip_galera'
244588                             - 'with'
244589                             - 'haproxy-clone'
244590                         - cibname: cib_for_haproxy
244591
244592       salt.states.pcs.prop_has_value(name, prop, value, extra_args=None, cib‐
244593       name=None)
244594              Ensure that a property in the cluster is set to a given value
244595
244596              Should be run on one cluster node only (there may be races)
244597
244598              name   Irrelevant,    not    used    (recommended:   pcs_proper‐
244599                     ties__prop_has_value_{{prop}})
244600
244601              prop   name of the property
244602
244603              value  value of the property
244604
244605              extra_args
244606                     additional options for the pcs property command
244607
244608              cibname
244609                     use a cached CIB-file named like cibname instead  of  the
244610                     live CIB
244611
244612              Example:
244613
244614                 pcs_properties__prop_has_value_no-quorum-policy:
244615                     pcs.prop_has_value:
244616                         - prop: no-quorum-policy
244617                         - value: ignore
244618                         - cibname: cib_for_cluster_settings
244619
244620       salt.states.pcs.resource_defaults_to(name,        default,       value,
244621       extra_args=None, cibname=None)
244622              Ensure a resource default in the cluster is set to a given value
244623
244624              Should be run on one cluster node only (there may be races)  Can
244625              only be run on a node with a functional pacemaker/corosync
244626
244627              name   Irrelevant,    not    used    (recommended:   pcs_proper‐
244628                     ties__resource_defaults_to_{{default}})
244629
244630              default
244631                     name of the default resource property
244632
244633              value  value of the default resource property
244634
244635              extra_args
244636                     additional options for the pcs command
244637
244638              cibname
244639                     use a cached CIB-file named like cibname instead  of  the
244640                     live CIB
244641
244642              Example:
244643
244644                 pcs_properties__resource_defaults_to_resource-stickiness:
244645                     pcs.resource_defaults_to:
244646                         - default: resource-stickiness
244647                         - value: 100
244648                         - cibname: cib_for_cluster_settings
244649
244650       salt.states.pcs.resource_op_defaults_to(name,     op_default,    value,
244651       extra_args=None, cibname=None)
244652              Ensure a resource operation default in the cluster is set  to  a
244653              given value
244654
244655              Should  be run on one cluster node only (there may be races) Can
244656              only be run on a node with a functional pacemaker/corosync
244657
244658              name   Irrelevant,   not    used    (recommended:    pcs_proper‐
244659                     ties__resource_op_defaults_to_{{op_default}})
244660
244661              op_default
244662                     name of the operation default resource property
244663
244664              value  value of the operation default resource property
244665
244666              extra_args
244667                     additional options for the pcs command
244668
244669              cibname
244670                     use  a  cached CIB-file named like cibname instead of the
244671                     live CIB
244672
244673              Example:
244674
244675                 pcs_properties__resource_op_defaults_to_monitor-interval:
244676                     pcs.resource_op_defaults_to:
244677                         - op_default: monitor-interval
244678                         - value: 60s
244679                         - cibname: cib_for_cluster_settings
244680
244681       salt.states.pcs.resource_present(name,   resource_id,    resource_type,
244682       resource_options=None, cibname=None)
244683              Ensure that a resource is created
244684
244685              Should  be run on one cluster node only (there may be races) Can
244686              only be run on a node with a functional pacemaker/corosync
244687
244688              name   Irrelevant,    not    used     (recommended:     {{formu‐
244689                     laname}}__resource_present_{{resource_id}})
244690
244691              resource_id
244692                     name for the resource
244693
244694              resource_type
244695                     resource type (f.e. ocf:heartbeat:IPaddr2 or VirtualIP)
244696
244697              resource_options
244698                     additional options for creating the resource
244699
244700              cibname
244701                     use  a  cached CIB-file named like cibname instead of the
244702                     live CIB
244703
244704              Example:
244705
244706                 mysql_pcs__resource_present_galera:
244707                     pcs.resource_present:
244708                         - resource_id: galera
244709                         - resource_type: "ocf:heartbeat:galera"
244710                         - resource_options:
244711                             - 'wsrep_cluster_address=gcomm://node1.example.org,node2.example.org,node3.example.org'
244712                             - '--master'
244713                         - cibname: cib_for_galera
244714
244715       salt.states.pcs.stonith_present(name, stonith_id,  stonith_device_type,
244716       stonith_device_options=None, cibname=None)
244717              Ensure that a fencing resource is created
244718
244719              Should  be run on one cluster node only (there may be races) Can
244720              only be run on a node with a functional pacemaker/corosync
244721
244722              name   Irrelevant,  not  used  (recommended:   pcs_stonith__cre‐
244723                     ated_{{stonith_id}})
244724
244725              stonith_id
244726                     name for the stonith resource
244727
244728              stonith_device_type
244729                     name of the stonith agent fence_eps, fence_xvm f.e.
244730
244731              stonith_device_options
244732                     additional options for creating the stonith resource
244733
244734              cibname
244735                     use  a  cached CIB-file named like cibname instead of the
244736                     live CIB
244737
244738              Example:
244739
244740                 pcs_stonith__created_eps_fence:
244741                     pcs.stonith_present:
244742                         - stonith_id: eps_fence
244743                         - stonith_device_type: fence_eps
244744                         - stonith_device_options:
244745                             - 'pcmk_host_map=node1.example.org:01;node2.example.org:02'
244746                             - 'ipaddr=myepsdevice.example.org'
244747                             - 'power_wait=5'
244748                             - 'verbose=1'
244749                             - 'debug=/var/log/pcsd/eps_fence.log'
244750                             - 'login=hidden'
244751                             - 'passwd=hoonetorg'
244752                         - cibname: cib_for_stonith
244753
244754   salt.states.pecl
244755   Installation of PHP Extensions Using pecl
244756       These states manage the installed pecl extensions. Note  that  php-pear
244757       must  be  installed  for  these  states to be available, so pecl states
244758       should include a requisite to a pkg.installed  state  for  the  package
244759       which provides pecl (php-pear in most cases). Example:
244760
244761          php-pear:
244762            pkg.installed
244763
244764          mongo:
244765            pecl.installed:
244766              - require:
244767                - pkg: php-pear
244768
244769       salt.states.pecl.installed(name,      version=None,     defaults=False,
244770       force=False, preferred_state=u'stable')
244771              New in version 0.17.0.
244772
244773
244774              Make sure that a pecl extension is installed.
244775
244776              name   The pecl extension name to install
244777
244778              version
244779                     The pecl extension version to install. This option may be
244780                     ignored to install the latest stable version.
244781
244782              defaults
244783                     Use  default  answers  for  extensions  such as pecl_http
244784                     which ask questions  before  installation.  Without  this
244785                     option,  the  pecl.installed state will hang indefinitely
244786                     when trying to install these extensions.
244787
244788              force  Whether to force the installed version or not
244789
244790              preferred_state
244791                     The pecl extension state to install
244792
244793       salt.states.pecl.removed(name)
244794              Make sure that a pecl extension is not installed.
244795
244796              name   The pecl extension name to uninstall
244797
244798   salt.states.pdbedit
244799       Manage accounts in Samba's passdb using pdbedit
244800
244801       maintainer
244802              Jorge Schrauwen <sjorge@blackdot.be>
244803
244804       maturity
244805              new
244806
244807       depends
244808              pdbedit
244809
244810       platform
244811              posix
244812
244813       New in version 2017.7.0.
244814
244815
244816          wash:
244817            pdbedit.absent
244818
244819          kaylee:
244820            pdbedit.managed:
244821              - password: A70C708517B5DD0EDB67714FE25336EB
244822              - password_hashed: True
244823              - drive: 'X:'
244824              - homedir: '\\serenity\mechanic\profile'
244825
244826       salt.states.pdbedit.absent(name)
244827              Ensure user account is absent
244828
244829              name   string username
244830
244831       salt.states.pdbedit.managed(name, **kwargs)
244832              Manage user account
244833
244834              login  string login name
244835
244836              password
244837                     string password
244838
244839              password_hashed
244840                     boolean set if password is a nt  hash  instead  of  plain
244841                     text
244842
244843              domain string users domain
244844
244845              profile
244846                     string profile path
244847
244848              script string logon script
244849
244850              drive  string home drive
244851
244852              homedir
244853                     string home directory
244854
244855              fullname
244856                     string full name
244857
244858              account_desc
244859                     string account description
244860
244861              machine_sid
244862                     string specify the machines new primary group SID or rid
244863
244864              user_sid
244865                     string specify the users new primary group SID or rid
244866
244867              account_control
244868                     string specify user account control properties
244869
244870                     NOTE:
244871                        Only  the  following  can  be  set:  -  N: No password
244872                        required - D: Account disabled  -  H:  Home  directory
244873                        required - L: Automatic Locking - X: Password does not
244874                        expire
244875
244876              reset_login_hours
244877                     boolean reset the users allowed logon hours
244878
244879              reset_bad_password_count
244880                     boolean reset the stored bad login counter
244881
244882       salt.states.pdbedit.present(name, **kwargs)
244883              Alias for pdbedit.managed
244884
244885   salt.states.pip_state
244886   Installation of Python Packages Using pip
244887       These states manage system installed python  packages.  Note  that  pip
244888       must  be  installed  for  these  states  to be available, so pip states
244889       should include a requisite to a pkg.installed  state  for  the  package
244890       which provides pip (python-pip in most cases). Example:
244891
244892          python-pip:
244893            pkg.installed
244894
244895          virtualenvwrapper:
244896            pip.installed:
244897              - require:
244898                - pkg: python-pip
244899
244900       salt.states.pip_state.installed(name, pkgs=None, pip_bin=None, require‐
244901       ments=None,    bin_env=None,    use_wheel=False,    no_use_wheel=False,
244902       log=None,    proxy=None,    timeout=None,   repo=None,   editable=None,
244903       find_links=None, index_url=None, extra_index_url=None,  no_index=False,
244904       mirrors=None,    build=None,    target=None,    download=None,    down‐
244905       load_cache=None,  source=None,  upgrade=False,   force_reinstall=False,
244906       ignore_installed=False,        exists_action=None,       no_deps=False,
244907       no_install=False,       no_download=False,        install_options=None,
244908       global_options=None,     user=None,    cwd=None,    pre_releases=False,
244909       cert=None, allow_all_external=False, allow_external=None, allow_unveri‐
244910       fied=None, process_dependency_links=False, env_vars=None, use_vt=False,
244911       trusted_host=None, no_cache_dir=False, cache_dir=None,  no_binary=None,
244912       **kwargs)
244913              Make sure the package is installed
244914
244915              name   The  name  of the python package to install. You can also
244916                     specify version numbers here using the standard operators
244917                     ==, >=, <=. If requirements is given, this parameter will
244918                     be ignored.
244919
244920              Example:
244921
244922                 django:
244923                   pip.installed:
244924                     - name: django >= 1.6, <= 1.7
244925                     - require:
244926                       - pkg: python-pip
244927
244928              This will install the latest Django version greater than 1.6 but
244929              less than 1.7.
244930
244931              requirements
244932                     Path  to a pip requirements file. If the path begins with
244933                     salt:// the file will be transferred from the master file
244934                     server.
244935
244936              user   The user under which to run pip
244937
244938              use_wheel
244939                     False Prefer wheel archives (requires pip>=1.4)
244940
244941              no_use_wheel
244942                     False Force to not use wheel archives (requires pip>=1.4)
244943
244944              no_binary
244945                     Force  to not use binary packages (requires pip >= 7.0.0)
244946                     Accepts either :all:  to  disable  all  binary  packages,
244947                     :none:  to  empty the set, or a list of one or more pack‐
244948                     ages
244949
244950              Example:
244951
244952                 django:
244953                   pip.installed:
244954                     - no_binary: ':all:'
244955
244956                 flask:
244957                   pip.installed:
244958                     - no_binary:
244959                       - itsdangerous
244960                       - click
244961
244962              log    Log file where a complete (maximum verbosity) record will
244963                     be kept
244964
244965              proxy  Specify       a       proxy       in       the       form
244966                     user:passwd@proxy.server:port. Note that  the  user:pass‐
244967                     word@  is optional and required only if you are behind an
244968                     authenticated      proxy.       If      you       provide
244969                     user@proxy.server:port  then  you  will be prompted for a
244970                     password.
244971
244972              timeout
244973                     Set the socket timeout (default 15 seconds)
244974
244975              editable
244976                     install         something         editable          (i.e.
244977                     git+https://github.com/worldcompany/djangoem
244978                     bed.git#egg=djangoembed)
244979
244980              find_links
244981                     URL to look for packages at
244982
244983              index_url
244984                     Base URL of Python Package Index
244985
244986              extra_index_url
244987                     Extra URLs of package  indexes  to  use  in  addition  to
244988                     index_url
244989
244990              no_index
244991                     Ignore package index
244992
244993              mirrors
244994                     Specific  mirror  URL(s)  to  query  (automatically  adds
244995                     --use-mirrors)
244996
244997              build  Unpack packages into build dir
244998
244999              target Install packages into target dir
245000
245001              download
245002                     Download packages into  download  instead  of  installing
245003                     them
245004
245005              download_cache
245006                     Cache downloaded packages in download_cache dir
245007
245008              source Check out editable packages into source dir
245009
245010              upgrade
245011                     Upgrade all packages to the newest available version
245012
245013              force_reinstall
245014                     When  upgrading,  reinstall all packages even if they are
245015                     already up-to-date.
245016
245017              ignore_installed
245018                     Ignore the installed packages (reinstalling instead)
245019
245020              exists_action
245021                     Default action when  a  path  already  exists:  (s)witch,
245022                     (i)gnore, (w)ipe, (b)ackup
245023
245024              no_deps
245025                     Ignore package dependencies
245026
245027              no_install
245028                     Download  and  unpack  all  packages,  but don't actually
245029                     install them
245030
245031              no_cache_dir:
245032                     Disable the cache.
245033
245034              cwd    Current working directory to run pip from
245035
245036              pre_releases
245037                     Include pre-releases in the available versions
245038
245039              cert   Provide a path to an alternate CA bundle
245040
245041              allow_all_external
245042                     Allow the installation of all externally hosted files
245043
245044              allow_external
245045                     Allow the installation of externally hosted files  (comma
245046                     separated list)
245047
245048              allow_unverified
245049                     Allow the installation of insecure and unverifiable files
245050                     (comma separated list)
245051
245052              process_dependency_links
245053                     Enable the processing of dependency links
245054
245055              bin_env
245056                     None Absolute path to a virtual environment directory  or
245057                     absolute  path  to  a  pip  executable. The example below
245058                     assumes  a  virtual  environment  has  been  created   at
245059                     /foo/.virtualenvs/bar.
245060
245061              env_vars
245062                     Add  or modify environment variables. Useful for tweaking
245063                     build steps, such as specifying INCLUDE or LIBRARY  paths
245064                     in Makefiles, build scripts or compiler calls.  This must
245065                     be in the form of a dictionary or a mapping.
245066
245067                     Example:
245068
245069                        django:
245070                          pip.installed:
245071                            - name: django_app
245072                            - env_vars:
245073                                CUSTOM_PATH: /opt/django_app
245074                                VERBOSE: True
245075
245076              use_vt Use VT terminal emulation (see output while installing)
245077
245078              trusted_host
245079                     Mark this host as trusted, even though it does  not  have
245080                     valid or any HTTPS.
245081
245082              Example:
245083
245084                 django:
245085                   pip.installed:
245086                     - name: django >= 1.6, <= 1.7
245087                     - bin_env: /foo/.virtualenvs/bar
245088                     - require:
245089                       - pkg: python-pip
245090
245091              Or
245092
245093              Example:
245094
245095                 django:
245096                   pip.installed:
245097                     - name: django >= 1.6, <= 1.7
245098                     - bin_env: /foo/.virtualenvs/bar/bin/pip
245099                     - require:
245100                       - pkg: python-pip
245101
245102                 Attention
245103
245104                        The following arguments are deprecated, do not use.
245105
245106              pip_bin
245107                     None Deprecated, use bin_env
245108
245109              Changed in version 0.17.0: use_wheel option added.
245110
245111
245112              install_options
245113                 Extra  arguments  to be supplied to the setup.py install com‐
245114                 mand.  If you are using an option with a directory  path,  be
245115                 sure to use absolute path.
245116
245117                 Example:
245118
245119                     django:
245120                       pip.installed:
245121                         - name: django
245122                         - install_options:
245123                           - --prefix=/blah
245124                         - require:
245125                           - pkg: python-pip
245126
245127              global_options
245128                     Extra  global options to be supplied to the setup.py call
245129                     before the install command.
245130
245131                     New in version 2014.1.3.
245132
245133
245134                 Attention
245135
245136                        As of Salt 0.17.0 the pip state  needs  an  importable
245137                        pip  module.   This  usually means having the system's
245138                        pip package installed or running Salt from  an  active
245139                        virtualenv.
245140
245141                        The reason for this requirement is because pip already
245142                        does a pretty good job parsing its  own  requirements.
245143                        It  makes  no  sense  for  Salt to do pip requirements
245144                        parsing and validation before passing them to the  pip
245145                        library.  It's functionality duplication and it's more
245146                        error prone.
245147
245148                 Attention
245149
245150                        Please set reload_modules: True to have the salt  min‐
245151                        ion import this module after installation.
245152
245153              Example:
245154
245155                 pyopenssl:
245156                     pip.installed:
245157                         - name: pyOpenSSL
245158                         - reload_modules: True
245159                         - exists_action: i
245160
245161       salt.states.pip_state.removed(name,   requirements=None,  bin_env=None,
245162       log=None, proxy=None, timeout=None, user=None, cwd=None, use_vt=False)
245163              Make sure that a package is not installed.
245164
245165              name   The name of the package to uninstall
245166
245167              user   The user under which to run pip
245168
245169              bin_env
245170                     None the pip executable or virtualenenv to use
245171
245172              use_vt Use VT terminal emulation (see output while installing)
245173
245174       salt.states.pip_state.uptodate(name, bin_env=None, user=None, cwd=None,
245175       use_vt=False)
245176              New in version 2015.5.0.
245177
245178
245179              Verify that the system is completely up to date.
245180
245181              name   The  name  has  no functional value and is only used as a
245182                     tracking reference
245183
245184              user   The user under which to run pip
245185
245186              bin_env
245187                     the pip executable or virtualenenv to use
245188
245189              use_vt Use VT terminal emulation (see output while installing)
245190
245191   salt.states.pkg
245192   Installation of packages using OS package managers such as yum or apt-get
245193       NOTE:
245194          On minions running systemd>=205, as of version 2015.8.12,  2016.3.3,
245195          and  2016.11.0, systemd-run(1) is now used to isolate commands which
245196          modify installed packages  from  the  salt-minion  daemon's  control
245197          group. This is done to keep systemd from killing the package manager
245198          commands spawned by Salt, when Salt updates itself (see KillMode  in
245199          the systemd.kill(5) manpage for more information). If desired, usage
245200          of systemd-run(1) can be  suppressed  by  setting  a  config  option
245201          called systemd.use_scope, with a value of False (no quotes).
245202
245203       Salt  can  manage  software packages via the pkg state module, packages
245204       can be set up to be installed, latest, removed and purged. Package man‐
245205       agement declarations are typically rather simple:
245206
245207          vim:
245208            pkg.installed
245209
245210       A more involved example involves pulling from a custom repository.
245211
245212          base:
245213            pkgrepo.managed:
245214              - humanname: Logstash PPA
245215              - name: ppa:wolfnet/logstash
245216              - dist: precise
245217              - file: /etc/apt/sources.list.d/logstash.list
245218              - keyid: 28B04E4A
245219              - keyserver: keyserver.ubuntu.com
245220
245221          logstash:
245222            pkg.installed:
245223              - fromrepo: ppa:wolfnet/logstash
245224
245225       Multiple  packages can also be installed with the use of the pkgs state
245226       module
245227
245228          dotdeb.repo:
245229            pkgrepo.managed:
245230              - humanname: Dotdeb
245231              - name: deb http://packages.dotdeb.org wheezy-php55 all
245232              - dist: wheezy-php55
245233              - file: /etc/apt/sources.list.d/dotbeb.list
245234              - keyid: 89DF5277
245235              - keyserver: keys.gnupg.net
245236              - refresh_db: true
245237
245238          php.packages:
245239            pkg.installed:
245240              - fromrepo: wheezy-php55
245241              - pkgs:
245242                - php5-fpm
245243                - php5-cli
245244                - php5-curl
245245
245246       WARNING:
245247          Package names are currently case-sensitive. If the minion is using a
245248          package  manager  which  is not case-sensitive (such as pkgng), then
245249          this state will fail if the proper case is not used.  This  will  be
245250          addressed in a future release of Salt.
245251
245252       salt.states.pkg.downloaded(name,    version=None,    pkgs=None,   from‐
245253       repo=None, ignore_epoch=None, **kwargs)
245254              New in version 2017.7.0.
245255
245256
245257              Ensure that the package is downloaded, and that it is  the  cor‐
245258              rect version (if specified).
245259
245260              Currently  supported for the following pkg providers: yumpkg and
245261              zypper
245262
245263              Parameters
245264
245265                     · name (str) -- The name of the package to be downloaded.
245266                       This  parameter  is  ignored  if either "pkgs" is used.
245267                       Additionally, please note that this option can only  be
245268                       used to download packages from a software repository.
245269
245270                     · version (str) --
245271
245272                       Download a specific version of a package.
245273
245274                       IMPORTANT:
245275                          As  of  version  2015.8.7,  for  distros  which  use
245276                          yum/dnf,  packages  which  have  a  version  with  a
245277                          nonzero  epoch (that is, versions which start with a
245278                          number followed by  a  colon  must  have  the  epoch
245279                          included  when  specifying  the  version number. For
245280                          example:
245281
245282                              vim-enhanced:
245283                                pkg.downloaded:
245284                                  - version: 2:7.4.160-1.el7
245285
245286                          An ignore_epoch argument has  been  added  to  which
245287                          causes  the  epoch  to be disregarded when the state
245288                          checks to see if the desired version was installed.
245289
245290                          You can install a specific version  when  using  the
245291                          pkgs  argument  by  including  the version after the
245292                          package:
245293
245294                              common_packages:
245295                                pkg.downloaded:
245296                                  - pkgs:
245297                                    - unzip
245298                                    - dos2unix
245299                                    - salt-minion: 2015.8.5-1.el6
245300
245301
245302                     · resolve_capabilities (bool) --
245303
245304                       Turn on resolving capabilities. This allow one to  name
245305                       "provides" or alias names for packages.
245306
245307                       New in version 2018.3.0.
245308
245309
245310
245311              CLI Example:
245312
245313                 zsh:
245314                   pkg.downloaded:
245315                     - version: 5.0.5-4.63
245316                     - fromrepo: "myrepository"
245317
245318       salt.states.pkg.group_installed(name,      skip=None,     include=None,
245319       **kwargs)
245320              New in version 2015.8.0.
245321
245322
245323              Changed in version 2016.11.0: Added support in pacman
245324
245325
245326              Ensure that an entire package group is installed. This state  is
245327              currently  only  supported  for  the yum and pacman package man‐
245328              agers.
245329
245330              skip   Packages that would normally be installed by the  package
245331                     group   ("default"   packages),   which   should  not  be
245332                     installed.
245333
245334                        Load Balancer:
245335                          pkg.group_installed:
245336                            - skip:
245337                              - piranha
245338
245339              include
245340                     Packages which are included in a group, which  would  not
245341                     normally  be  installed by a yum groupinstall ("optional"
245342                     packages). Note that this will not enforce group  member‐
245343                     ship;  if  you  include packages which are not members of
245344                     the specified groups, they will still be installed.
245345
245346                        Load Balancer:
245347                          pkg.group_installed:
245348                            - include:
245349                              - haproxy
245350
245351                     Changed in version 2016.3.0: This option can no longer be
245352                     passed  as  a comma-separated list, it must now be passed
245353                     as a list (as shown in the above example).
245354
245355
245356              NOTE:
245357                 Because this is essentially a wrapper around pkg.install, any
245358                 argument  which  can  be  passed  to  pkg.install may also be
245359                 included here, and it will  be  passed  on  to  the  call  to
245360                 pkg.install.
245361
245362       salt.states.pkg.installed(name,   version=None,   refresh=None,   from‐
245363       repo=None,   skip_verify=False,   skip_suggestions=False,    pkgs=None,
245364       sources=None,  allow_updates=False,  pkg_verify=False,  normalize=True,
245365       ignore_epoch=False, reinstall=False, update_holds=False, **kwargs)
245366              Ensure that the package is installed, and that it is the correct
245367              version (if specified).
245368
245369              Parameters
245370
245371                     · name  (str) -- The name of the package to be installed.
245372                       This parameter is ignored if either "pkgs" or "sources"
245373                       is used. Additionally, please note that this option can
245374                       only be used to install packages from a software repos‐
245375                       itory.   To  install  a  package file manually, use the
245376                       "sources" option detailed below.
245377
245378                     · version (str) --
245379
245380                       Install a specific version of a package. This option is
245381                       ignored if "sources" is used. Currently, this option is
245382                       supported for the following pkg providers: apt, ebuild,
245383                       pacman, pkgin, win_pkg, yumpkg, and zypper. The version
245384                       number includes the release designation where  applica‐
245385                       ble,  to  allow  Salt to target a specific release of a
245386                       given version. When in doubt, using the pkg.latest_ver‐
245387                       sion  function for an uninstalled package will tell you
245388                       the version available.
245389
245390                          # salt myminion pkg.latest_version vim-enhanced
245391                          myminion:
245392                              2:7.4.160-1.el7
245393
245394                       IMPORTANT:
245395                          As  of  version  2015.8.7,  for  distros  which  use
245396                          yum/dnf,  packages  which  have  a  version  with  a
245397                          nonzero epoch (that is, versions which start with  a
245398                          number  followed  by  a  colon  like in the pkg.lat‐
245399                          est_version  output  above)  must  have  the   epoch
245400                          included  when  specifying  the  version number. For
245401                          example:
245402
245403                              vim-enhanced:
245404                                pkg.installed:
245405                                  - version: 2:7.4.160-1.el7
245406
245407                          In version 2015.8.9, an  ignore_epoch  argument  has
245408                          been   added   to  pkg.installed,  pkg.removed,  and
245409                          pkg.purged states, which causes the epoch to be dis‐
245410                          regarded when the state checks to see if the desired
245411                          version was installed.
245412
245413                       Also, while this function is not  yet  implemented  for
245414                       all  pkg  frontends,  pkg.list_repo_pkgs  will show all
245415                       versions available in the various  repositories  for  a
245416                       given  package,  irrespective  of  whether or not it is
245417                       installed.
245418
245419                          # salt myminion pkg.list_repo_pkgs bash
245420                          myminion:
245421                          ----------
245422                              bash:
245423                                  - 4.2.46-21.el7_3
245424                                  - 4.2.46-20.el7_2
245425
245426                       This function was first added for pkg.list_repo_pkgs in
245427                       2014.1.0,  and  was  expanded to Debian/Ubuntu and Arch
245428                       Linux-based distros in the 2017.7.0 release.
245429
245430                       The version strings returned by either of  these  func‐
245431                       tions can be used as version specifiers in pkg states.
245432
245433                       You  can install a specific version when using the pkgs
245434                       argument by including the version after the package:
245435
245436                          common_packages:
245437                            pkg.installed:
245438                              - pkgs:
245439                                - unzip
245440                                - dos2unix
245441                                - salt-minion: 2015.8.5-1.el6
245442
245443                       If the version given is the string latest,  the  latest
245444                       available  package  version  will  be  installed  à  la
245445                       pkg.latest.
245446
245447                       WILDCARD VERSIONS
245448
245449                       As of the 2017.7.0 release,  this  state  now  supports
245450                       wildcards  in  package versions for SUSE SLES/Leap/Tum‐
245451                       bleweed, Debian/Ubuntu, RHEL/CentOS,  Arch  Linux,  and
245452                       their  derivatives.  Using  wildcards can be useful for
245453                       packages where the release name is built into the  ver‐
245454                       sion  in  some way, such as for RHEL/CentOS which typi‐
245455                       cally has version numbers like 1.2.34-5.el7. An example
245456                       of the usage for this would be:
245457
245458                          mypkg:
245459                            pkg.installed:
245460                              - version: '1.2.34*'
245461
245462                       Keep  in  mind that using wildcard versions will result
245463                       in a slower state run since Salt must gather the avail‐
245464                       able  versions of the specified packages and figure out
245465                       which of them match the specified wildcard expression.
245466
245467
245468                     · refresh (bool) --
245469
245470                       This parameter controls whether or not the package repo
245471                       database  is  updated prior to installing the requested
245472                       package(s).
245473
245474                       If  True,  the  package  database  will  be   refreshed
245475                       (apt-get  update  or equivalent, depending on platform)
245476                       before installing.
245477
245478                       If False, the package database will  not  be  refreshed
245479                       before installing.
245480
245481                       If  unset,  then Salt treats package database refreshes
245482                       differently depending on whether or not a pkg state has
245483                       been executed already during the current Salt run. Once
245484                       a refresh has been performed in a pkg  state,  for  the
245485                       remainder  of  that Salt run no other refreshes will be
245486                       performed for pkg states which do  not  explicitly  set
245487                       refresh  to  True.  This  prevents  needless additional
245488                       refreshes from slowing down the Salt run.
245489
245490
245491                     · cache_valid_time (str) --
245492
245493                       New in version 2016.11.0.
245494
245495
245496                       This parameter sets the value in  seconds  after  which
245497                       the  cache  is marked as invalid, and a cache update is
245498                       necessary.  This  overwrites  the  refresh  parameter's
245499                       default behavior.
245500
245501                       Example:
245502
245503                          httpd:
245504                            pkg.installed:
245505                              - fromrepo: mycustomrepo
245506                              - skip_verify: True
245507                              - skip_suggestions: True
245508                              - version: 2.0.6~ubuntu3
245509                              - refresh: True
245510                              - cache_valid_time: 300
245511                              - allow_updates: True
245512                              - hold: False
245513
245514                       In  this case, a refresh will not take place for 5 min‐
245515                       utes since the last apt-get update was executed on  the
245516                       system.
245517
245518                       NOTE:
245519                          This  parameter  is  available  only on Debian based
245520                          distributions and has no effect on the rest.
245521
245522
245523                     · fromrepo (str) --
245524
245525                       Specify a repository from which to install
245526
245527                       NOTE:
245528                          Distros which use APT (Debian, Ubuntu, etc.) do  not
245529                          have  a  concept of repositories, in the same way as
245530                          YUM-based distros do. When a source is added, it  is
245531                          assigned  to a given release. Consider the following
245532                          source configuration:
245533
245534                              deb http://ppa.launchpad.net/saltstack/salt/ubuntu precise main
245535
245536                          The packages provided by this source would  be  made
245537                          available  via  the precise release, therefore from‐
245538                          repo would need to be set to  precise  for  Salt  to
245539                          install the package from this source.
245540
245541                          Having  multiple  sources  in  the  same release may
245542                          result in the default install candidate being  newer
245543                          than  what  is  desired.  If  this  is the case, the
245544                          desired version must be specified using the  version
245545                          parameter.
245546
245547                          If  the pkgs parameter is being used to install mul‐
245548                          tiple packages in the same state,  then  instead  of
245549                          using  version, use the method of version specifica‐
245550                          tion described in the Multiple Package  Installation
245551                          Options section below.
245552
245553                          Running  the  shell command apt-cache policy pkgname
245554                          on a minion can help elucidate the APT configuration
245555                          and aid in properly configuring states:
245556
245557                              root@saltmaster:~# salt ubuntu01 cmd.run 'apt-cache policy ffmpeg'
245558                              ubuntu01:
245559                                  ffmpeg:
245560                                  Installed: (none)
245561                                  Candidate: 7:0.10.11-1~precise1
245562                                  Version table:
245563                                      7:0.10.11-1~precise1 0
245564                                          500 http://ppa.launchpad.net/jon-severinsson/ffmpeg/ubuntu/ precise/main amd64 Packages
245565                                      4:0.8.10-0ubuntu0.12.04.1 0
245566                                          500 http://us.archive.ubuntu.com/ubuntu/ precise-updates/main amd64 Packages
245567                                          500 http://security.ubuntu.com/ubuntu/ precise-security/main amd64 Packages
245568                                      4:0.8.1-0ubuntu1 0
245569                                          500 http://us.archive.ubuntu.com/ubuntu/ precise/main amd64 Packages
245570
245571                          The  release  is located directly after the source's
245572                          URL. The actual release name is the part before  the
245573                          slash,       so       to       install       version
245574                          4:0.8.10-0ubuntu0.12.04.1 either precise-updates  or
245575                          precise-security  could  be  used  for  the fromrepo
245576                          value.
245577
245578
245579                     · skip_verify (bool) -- Skip the GPG  verification  check
245580                       for the package to be installed
245581
245582                     · skip_suggestions (bool) --
245583
245584                       Force strict package naming. Disables lookup of package
245585                       alternatives.
245586
245587                       New in version 2014.1.1.
245588
245589
245590
245591                     · resolve_capabilities (bool) --
245592
245593                       Turn on resolving capabilities. This allow one to  name
245594                       "provides" or alias names for packages.
245595
245596                       New in version 2018.3.0.
245597
245598
245599
245600                     · allow_updates (bool) --
245601
245602                       Allow  the package to be updated outside Salt's control
245603                       (e.g. auto updates on Windows). This means a package on
245604                       the  Minion  can  have  a newer version than the latest
245605                       available  in  the  repository  without   enforcing   a
245606                       re-installation of the package.
245607
245608                       New in version 2014.7.0.
245609
245610
245611                       Example:
245612
245613                          httpd:
245614                            pkg.installed:
245615                              - fromrepo: mycustomrepo
245616                              - skip_verify: True
245617                              - skip_suggestions: True
245618                              - version: 2.0.6~ubuntu3
245619                              - refresh: True
245620                              - allow_updates: True
245621                              - hold: False
245622
245623
245624                     · pkg_verify (bool) --
245625
245626                       New in version 2014.7.0.
245627
245628
245629                       For  requested  packages that are already installed and
245630                       would not be targeted for  upgrade  or  downgrade,  use
245631                       pkg.verify  to  determine if any of the files installed
245632                       by the package have been altered. If  files  have  been
245633                       altered, the reinstall option of pkg.install is used to
245634                       force a reinstall. Types to ignore  can  be  passed  to
245635                       pkg.verify. Additionally, verify_options can be used to
245636                       modify further the behavior of pkg.verify. See examples
245637                       below.   Currently,  this  option  is supported for the
245638                       following pkg providers: yumpkg.
245639
245640                       Examples:
245641
245642                          httpd:
245643                            pkg.installed:
245644                              - version: 2.2.15-30.el6.centos
245645                              - pkg_verify: True
245646
245647                          mypkgs:
245648                            pkg.installed:
245649                              - pkgs:
245650                                - foo
245651                                - bar: 1.2.3-4
245652                                - baz
245653                              - pkg_verify:
245654                                - ignore_types:
245655                                  - config
245656                                  - doc
245657
245658                          mypkgs:
245659                            pkg.installed:
245660                              - pkgs:
245661                                - foo
245662                                - bar: 1.2.3-4
245663                                - baz
245664                              - pkg_verify:
245665                                - ignore_types:
245666                                  - config
245667                                  - doc
245668                                - verify_options:
245669                                  - nodeps
245670                                  - nofiledigest
245671
245672
245673                     · ignore_types (list) --
245674
245675                       List of types to ignore when verifying the package
245676
245677                       New in version 2014.7.0.
245678
245679
245680
245681                     · verify_options (list) --
245682
245683                       List of additional options to pass when  verifying  the
245684                       package. These options will be added to the rpm -V com‐
245685                       mand, prepended with -- (for example,  when  nodeps  is
245686                       passed  in  this  option,  rpm  -V  will  be  run  with
245687                       --nodeps).
245688
245689                       New in version 2016.11.0.
245690
245691
245692
245693                     · normalize (bool) --
245694
245695                       Normalize the package name by  removing  the  architec‐
245696                       ture,  if  the architecture of the package is different
245697                       from the architecture  of  the  operating  system.  The
245698                       ability   to   disable  this  behavior  is  useful  for
245699                       poorly-created packages which include the  architecture
245700                       as  an  actual part of the name, such as kernel modules
245701                       which match a specific kernel version.
245702
245703                       New in version 2014.7.0.
245704
245705
245706                       Example:
245707
245708                          gpfs.gplbin-2.6.32-279.31.1.el6.x86_64:
245709                            pkg.installed:
245710                              - normalize: False
245711
245712
245713                     · ignore_epoch (bool) --
245714
245715                       When a package version contains an non-zero epoch (e.g.
245716                       1:3.14.159-2.el7,  and  a specific version of a package
245717                       is desired, set this option to True to ignore the epoch
245718                       when  comparing versions. This allows for the following
245719                       SLS to be used:
245720
245721                          # Actual vim-enhanced version: 2:7.4.160-1.el7
245722                          vim-enhanced:
245723                            pkg.installed:
245724                              - version: 7.4.160-1.el7
245725                              - ignore_epoch: True
245726
245727                       Without this option set to True in the  above  example,
245728                       the  package  would  be  installed, but the state would
245729                       report as failed because the actual  installed  version
245730                       would  be  2:7.4.160-1.el7.  Alternatively, this option
245731                       can be left as False and the full version string  (with
245732                       epoch) can be specified in the SLS file:
245733
245734                          vim-enhanced:
245735                            pkg.installed:
245736                              - version: 2:7.4.160-1.el7
245737
245738                       New in version 2015.8.9.
245739
245740
245741
245742
245743
245744              MULTIPLE PACKAGE INSTALLATION OPTIONS: (not supported in pkgng)
245745
245746              Parameters
245747
245748                     · pkgs (list) --
245749
245750                       A  list  of packages to install from a software reposi‐
245751                       tory. All packages listed under pkgs will be  installed
245752                       via a single command.
245753
245754                          mypkgs:
245755                            pkg.installed:
245756                              - pkgs:
245757                                - foo
245758                                - bar
245759                                - baz
245760                              - hold: True
245761
245762                       NOTE:  For  apt,  ebuild,  pacman, winrepo, yumpkg, and
245763                       zypper, version numbers can be specified  in  the  pkgs
245764                       argument. For example:
245765
245766                          mypkgs:
245767                            pkg.installed:
245768                              - pkgs:
245769                                - foo
245770                                - bar: 1.2.3-4
245771                                - baz
245772
245773                       Additionally,  ebuild, pacman, zypper, yum/dnf, and apt
245774                       support the <, <=, >=, and > operators for more control
245775                       over what versions will be installed. For example:
245776
245777                          mypkgs:
245778                            pkg.installed:
245779                              - pkgs:
245780                                - foo
245781                                - bar: '>=1.2.3-4'
245782                                - baz
245783
245784                       NOTE:  When  using comparison operators, the expression
245785                       must be enclosed in  quotes  to  avoid  a  YAML  render
245786                       error.
245787
245788                       With ebuild is also possible to specify a use flag list
245789                       and/or  if  the  given  packages  should  be  in  pack‐
245790                       age.accept_keywords  file and/or the overlay from which
245791                       you want the package to be installed. For example:
245792
245793                          mypkgs:
245794                            pkg.installed:
245795                              - pkgs:
245796                                - foo: '~'
245797                                - bar: '~>=1.2:slot::overlay[use,-otheruse]'
245798                                - baz
245799
245800
245801                     · sources (list) --
245802
245803                       A list of packages to install, along  with  the  source
245804                       URI  or  local path from which to install each package.
245805                       In the example below, foo, bar, baz, etc. refer to  the
245806                       name  of  the package, as it would appear in the output
245807                       of the pkg.version or pkg.list_pkgs salt CLI commands.
245808
245809                          mypkgs:
245810                            pkg.installed:
245811                              - sources:
245812                                - foo: salt://rpms/foo.rpm
245813                                - bar: http://somesite.org/bar.rpm
245814                                - baz: ftp://someothersite.org/baz.rpm
245815                                - qux: /minion/path/to/qux.rpm
245816
245817
245818              PLATFORM-SPECIFIC ARGUMENTS
245819
245820              These are specific to each OS. If it does not apply to the  exe‐
245821              cution module for your OS, it is ignored.
245822
245823              Parameters
245824
245825                     · hold (bool) --
245826
245827                       Force  the  package to be held at the current installed
245828                       version.  Currently works with YUM/DNF & APT based sys‐
245829                       tems.
245830
245831                       New in version 2014.7.0.
245832
245833
245834
245835                     · update_holds (bool) --
245836
245837                       If  True,  and  this  function would update the package
245838                       version, any packages which are being held will be tem‐
245839                       porarily unheld so that they can be updated. Otherwise,
245840                       if this function attempts to update a held package, the
245841                       held  package(s)  will  be  skipped  and the state will
245842                       fail.  By default, this parameter is set to False.
245843
245844                       Currently works with YUM/DNF & APT based systems.
245845
245846                       New in version 2016.11.0.
245847
245848
245849
245850                     · names (list) --
245851
245852                       A list of packages to install from a  software  reposi‐
245853                       tory.  Each  package  will be installed individually by
245854                       the package manager.
245855
245856                       WARNING:
245857                          Unlike pkgs, the names parameter  cannot  specify  a
245858                          version.   In  addition, it makes a separate call to
245859                          the package  management  frontend  to  install  each
245860                          package,  whereas  pkgs makes just a single call. It
245861                          is therefore recommended  to  use  pkgs  instead  of
245862                          names  to  install  multiple  packages, both for the
245863                          additional features and the performance  improvement
245864                          that it brings.
245865
245866
245867                     · install_recommends (bool) --
245868
245869                       Whether  to install the packages marked as recommended.
245870                       Default is True. Currently only  works  with  APT-based
245871                       systems.
245872
245873                       New in version 2015.5.0.
245874
245875
245876                          httpd:
245877                            pkg.installed:
245878                              - install_recommends: False
245879
245880
245881                     · only_upgrade (bool) --
245882
245883                       Only   upgrade   the  packages,  if  they  are  already
245884                       installed. Default is False. Currently only works  with
245885                       APT-based systems.
245886
245887                       New in version 2015.5.0.
245888
245889
245890                          httpd:
245891                            pkg.installed:
245892                              - only_upgrade: True
245893
245894                       NOTE:
245895                          If  this parameter is set to True and the package is
245896                          not already installed, the state will fail.
245897
245898
245899                     · report_reboot_exit_codes (bool) --
245900
245901                       If the installer exits  with  a  recognized  exit  code
245902                       indicating  that a reboot is required, the module func‐
245903                       tion
245904                          win_system.set_reboot_required_witnessed
245905
245906                       will be called, preserving the knowledge of this  event
245907                       for  the remainder of the current boot session. For the
245908                       time being, 3010 is the only recognized exit code,  but
245909                       this  is  subject  to  future refinement.  The value of
245910                       this param defaults to  True.  This  parameter  has  no
245911                       effect on non-Windows systems.
245912
245913                       New in version 2016.11.0.
245914
245915
245916                          ms vcpp installed:
245917                            pkg.installed:
245918                              - name: ms-vcpp
245919                              - version: 10.0.40219
245920                              - report_reboot_exit_codes: False
245921
245922
245923              Returns
245924                     A dictionary containing the state of the software instal‐
245925                     lation
245926
245927              Rtype dict
245928
245929              NOTE:
245930                 The pkg.installed state supports the usage of reload_modules.
245931                 This  functionality  allows  you  to force Salt to reload all
245932                 modules. In many cases, Salt is clever  enough  to  transpar‐
245933                 ently  reload  the  modules.   For  example, if you install a
245934                 package, Salt reloads modules because some  other  module  or
245935                 state  might  require  the package which was installed.  How‐
245936                 ever, there are some edge cases where this  may  not  be  the
245937                 case, which is what reload_modules is meant to resolve.
245938
245939                 You should only use reload_modules if your pkg.installed does
245940                 some sort of installation where if you do not reload the mod‐
245941                 ules  future  items  in your state which rely on the software
245942                 being installed will fail. Please see the  Reloading  Modules
245943                 documentation for more information.
245944
245945       salt.states.pkg.latest(name,   refresh=None,  fromrepo=None,  skip_ver‐
245946       ify=False, pkgs=None, watch_flags=True, **kwargs)
245947                 Ensure that the named package is  installed  and  the  latest
245948                 available  package. If the package can be updated, this state
245949                 function will update the package. Generally it is better  for
245950                 the  installed function to be used, as latest will update the
245951                 package whenever a new package is available.
245952
245953                 name   The name of the package  to  maintain  at  the  latest
245954                        available  version.   This  parameter  is  ignored  if
245955                        "pkgs" is used.
245956
245957                 fromrepo
245958                        Specify a repository from which to install
245959
245960                 skip_verify
245961                        Skip the GPG verification check for the package to  be
245962                        installed
245963
245964                 refresh
245965                        This  parameter  controls  whether  or not the package
245966                        repo database is updated prior  to  checking  for  the
245967                        latest available version of the requested packages.
245968
245969                        If  True,  the  package  database  will  be  refreshed
245970                        (apt-get update or equivalent, depending on  platform)
245971                        before  checking  for  the latest available version of
245972                        the requested packages.
245973
245974                        If False, the package database will not  be  refreshed
245975                        before checking.
245976
245977                        If  unset, then Salt treats package database refreshes
245978                        differently depending on whether or not  a  pkg  state
245979                        has been executed already during the current Salt run.
245980                        Once a refresh has been performed in a pkg state,  for
245981                        the remainder of that Salt run no other refreshes will
245982                        be performed for pkg states which  do  not  explicitly
245983                        set refresh to True. This prevents needless additional
245984                        refreshes from slowing down the Salt run.
245985
245986                 param str cache_valid_time
245987                        New in version 2016.11.0.
245988
245989
245990                        This parameter sets the value in seconds  after  which
245991                        the  cache is marked as invalid, and a cache update is
245992                        necessary. This  overwrites  the  refresh  parameter's
245993                        default behavior.
245994
245995                        Example:
245996
245997                            httpd:
245998                              pkg.latest:
245999                                - refresh: True
246000                                - cache_valid_time: 300
246001
246002                        In this case, a refresh will not take place for 5 min‐
246003                        utes since the last apt-get update was executed on the
246004                        system.
246005
246006                        NOTE:
246007                            This  parameter  is available only on Debian based
246008                            distributions and has no effect on the rest.
246009
246010                 param bool resolve_capabilities
246011                        Turn on resolving capabilities. This allow one to name
246012                        "provides" or alias names for packages.
246013
246014                        New in version 2018.3.0.
246015
246016
246017                 Multiple Package Installation Options:
246018
246019                 (Not  yet supported for: FreeBSD, OpenBSD, MacOS, and Solaris
246020                 pkgutil)
246021
246022                 pkgs   A list of packages to maintain at the latest available
246023                        version.
246024
246025                     mypkgs:
246026                       pkg.latest:
246027                         - pkgs:
246028                           - foo
246029                           - bar
246030                           - baz
246031
246032                 install_recommends
246033                        Whether to install the packages marked as recommended.
246034                        Default is True. Currently only works  with  APT-based
246035                        systems.
246036
246037                        New in version 2015.5.0.
246038
246039
246040                     httpd:
246041                       pkg.latest:
246042                         - install_recommends: False
246043
246044                 only_upgrade
246045                        Only   upgrade  the  packages,  if  they  are  already
246046                        installed. Default is False. Currently only works with
246047                        APT-based systems.
246048
246049                        New in version 2015.5.0.
246050
246051
246052                     httpd:
246053                       pkg.latest:
246054                         - only_upgrade: True
246055
246056                 NOTE:
246057                     If  this  parameter is set to True and the package is not
246058                     already installed, the state will fail.
246059
246060              report_reboot_exit_codes
246061                     If the installer exits with a recognized exit code  indi‐
246062                     cating that a reboot is required, the module function
246063                        win_system.set_reboot_required_witnessed
246064
246065                     will  be  called,  preserving the knowledge of this event
246066                     for the remainder of the current boot  session.  For  the
246067                     time  being,  3010  is the only recognized exit code, but
246068                     this is subject to future refinement. The value  of  this
246069                     param  defaults  to True. This parameter has no effect on
246070                     non-Windows systems.
246071
246072                     New in version 2016.11.0.
246073
246074
246075                        ms vcpp installed:
246076                          pkg.latest:
246077                            - name: ms-vcpp
246078                            - report_reboot_exit_codes: False
246079
246080       salt.states.pkg.mod_aggregate(low, chunks, running)
246081              The mod_aggregate function which looks up all  packages  in  the
246082              available  low  chunks and merges them into a single pkgs ref in
246083              the present low data
246084
246085       salt.states.pkg.mod_watch(name, **kwargs)
246086              Install/reinstall a package based on a watch requisite
246087
246088              NOTE:
246089                 This state exists to support special handling  of  the  watch
246090                 requisite. It should not be called directly.
246091
246092                 Parameters for this function should be set by the state being
246093                 triggered.
246094
246095       salt.states.pkg.patch_downloaded(name, advisory_ids=None, **kwargs)
246096              New in version 2017.7.0.
246097
246098
246099              Ensure that packages related to certain advisory ids  are  down‐
246100              loaded.
246101
246102              Currently  supported for the following pkg providers: yumpkg and
246103              zypper
246104
246105              CLI Example:
246106
246107                 preparing-to-fix-issues:
246108                   pkg.patch_downloaded:
246109                     - advisory_ids:
246110                       - SUSE-SLE-SERVER-12-SP2-2017-185
246111                       - SUSE-SLE-SERVER-12-SP2-2017-150
246112                       - SUSE-SLE-SERVER-12-SP2-2017-120
246113
246114       salt.states.pkg.patch_installed(name,   advisory_ids=None,    download‐
246115       only=None, **kwargs)
246116              New in version 2017.7.0.
246117
246118
246119              Ensure  that  packages  related  to  certain  advisory  ids  are
246120              installed.
246121
246122              Currently supported for the following pkg providers: yumpkg  and
246123              zypper
246124
246125              CLI Example:
246126
246127                 issue-foo-fixed:
246128                   pkg.patch_installed:
246129                     - advisory_ids:
246130                       - SUSE-SLE-SERVER-12-SP2-2017-185
246131                       - SUSE-SLE-SERVER-12-SP2-2017-150
246132                       - SUSE-SLE-SERVER-12-SP2-2017-120
246133
246134       salt.states.pkg.purged(name,  version=None,  pkgs=None, normalize=True,
246135       ignore_epoch=False, **kwargs)
246136              Verify that a package is not  installed,  calling  pkg.purge  if
246137              necessary to purge the package. All configuration files are also
246138              removed.
246139
246140              name   The name of the package to be purged.
246141
246142              version
246143                     The version of the package that should be removed.  Don't
246144                     do  anything if the package is installed with an unmatch‐
246145                     ing version.
246146
246147                     IMPORTANT:
246148                        As of version 2015.8.7, for distros which use yum/dnf,
246149                        packages  which  have  a  version with a nonzero epoch
246150                        (that is, versions which start with a number  followed
246151                        by  a  colon  like in the example above) must have the
246152                        epoch included when  specifying  the  version  number.
246153                        For example:
246154
246155                            vim-enhanced:
246156                              pkg.purged:
246157                                - version: 2:7.4.160-1.el7
246158
246159                        In version 2015.8.9, an ignore_epoch argument has been
246160                        added to pkg.installed,  pkg.removed,  and  pkg.purged
246161                        states,  which causes the epoch to be disregarded when
246162                        the state checks to see if  the  desired  version  was
246163                        installed.  If  ignore_epoch  was not set to True, and
246164                        instead of 2:7.4.160-1.el7 a version of  7.4.160-1.el7
246165                        were  used,  this state would report success since the
246166                        actual installed version includes the epoch,  and  the
246167                        specified version would not match.
246168
246169              normalize
246170                     True Normalize the package name by removing the architec‐
246171                     ture, if the architecture of  the  package  is  different
246172                     from  the architecture of the operating system. The abil‐
246173                     ity to disable this behavior is useful for poorly-created
246174                     packages which include the architecture as an actual part
246175                     of the name, such as kernel modules which  match  a  spe‐
246176                     cific kernel version.
246177
246178                     New in version 2015.8.0.
246179
246180
246181              ignore_epoch
246182                     False  When  a package version contains an non-zero epoch
246183                     (e.g.  1:3.14.159-2.el7, and  a  specific  version  of  a
246184                     package is desired, set this option to True to ignore the
246185                     epoch when comparing versions. This allows for  the  fol‐
246186                     lowing SLS to be used:
246187
246188                        # Actual vim-enhanced version: 2:7.4.160-1.el7
246189                        vim-enhanced:
246190                          pkg.purged:
246191                            - version: 7.4.160-1.el7
246192                            - ignore_epoch: True
246193
246194                     Without this option set to True in the above example, the
246195                     state would  falsely  report  success  since  the  actual
246196                     installed version is 2:7.4.160-1.el7. Alternatively, this
246197                     option can be left as False and the full  version  string
246198                     (with epoch) can be specified in the SLS file:
246199
246200                        vim-enhanced:
246201                          pkg.purged:
246202                            - version: 2:7.4.160-1.el7
246203
246204                     New in version 2015.8.9.
246205
246206
246207              Multiple Package Options:
246208
246209              pkgs   A  list  of packages to purge. Must be passed as a python
246210                     list. The name parameter will be ignored if  this  option
246211                     is passed. It accepts version numbers as well.
246212
246213              New in version 0.16.0.
246214
246215
246216       salt.states.pkg.removed(name,  version=None, pkgs=None, normalize=True,
246217       ignore_epoch=False, **kwargs)
246218              Verify that a package is not installed,  calling  pkg.remove  if
246219              necessary to remove the package.
246220
246221              name   The name of the package to be removed.
246222
246223              version
246224                     The  version of the package that should be removed. Don't
246225                     do anything if the package is installed with an  unmatch‐
246226                     ing version.
246227
246228                     IMPORTANT:
246229                        As of version 2015.8.7, for distros which use yum/dnf,
246230                        packages which have a version  with  a  nonzero  epoch
246231                        (that  is, versions which start with a number followed
246232                        by a colon like in the example above)  must  have  the
246233                        epoch  included  when  specifying  the version number.
246234                        For example:
246235
246236                            vim-enhanced:
246237                              pkg.removed:
246238                                - version: 2:7.4.160-1.el7
246239
246240                        In version 2015.8.9, an ignore_epoch argument has been
246241                        added  to  pkg.installed,  pkg.removed, and pkg.purged
246242                        states, which causes the epoch to be disregarded  when
246243                        the  state  checks  to  see if the desired version was
246244                        installed. If ignore_epoch was not set  to  True,  and
246245                        instead  of 2:7.4.160-1.el7 a version of 7.4.160-1.el7
246246                        were used, this state would report success  since  the
246247                        actual  installed  version includes the epoch, and the
246248                        specified version would not match.
246249
246250              normalize
246251                     True Normalize the package name by removing the architec‐
246252                     ture,  if  the  architecture  of the package is different
246253                     from the architecture of the operating system. The  abil‐
246254                     ity to disable this behavior is useful for poorly-created
246255                     packages which include the architecture as an actual part
246256                     of  the  name,  such as kernel modules which match a spe‐
246257                     cific kernel version.
246258
246259                     New in version 2015.8.0.
246260
246261
246262              ignore_epoch
246263                     False When a package version contains an  non-zero  epoch
246264                     (e.g.   1:3.14.159-2.el7,  and  a  specific  version of a
246265                     package is desired, set this option to True to ignore the
246266                     epoch  when  comparing versions. This allows for the fol‐
246267                     lowing SLS to be used:
246268
246269                        # Actual vim-enhanced version: 2:7.4.160-1.el7
246270                        vim-enhanced:
246271                          pkg.removed:
246272                            - version: 7.4.160-1.el7
246273                            - ignore_epoch: True
246274
246275                     Without this option set to True in the above example, the
246276                     state  would  falsely  report  success  since  the actual
246277                     installed version is 2:7.4.160-1.el7. Alternatively, this
246278                     option  can  be left as False and the full version string
246279                     (with epoch) can be specified in the SLS file:
246280
246281                        vim-enhanced:
246282                          pkg.removed:
246283                            - version: 2:7.4.160-1.el7
246284
246285                     New in version 2015.8.9.
246286
246287
246288              Multiple Package Options:
246289
246290              pkgs   A list of packages to remove. Must be passed as a  python
246291                     list.  The  name parameter will be ignored if this option
246292                     is passed. It accepts version numbers as well.
246293
246294                     New in version 0.16.0.
246295
246296
246297       salt.states.pkg.uptodate(name, refresh=False, pkgs=None, **kwargs)
246298              New in version 2014.7.0.
246299
246300
246301              Changed  in  version  2018.3.0:  Added  support  for  the  pkgin
246302              provider.
246303
246304
246305              Verify that the system is completely up to date.
246306
246307              name   The  name  has  no functional value and is only used as a
246308                     tracking reference
246309
246310              refresh
246311                     refresh the package  database  before  checking  for  new
246312                     upgrades
246313
246314              pkgs   list of packages to upgrade
246315
246316              Parameters
246317
246318                     · cache_valid_time (str) --
246319
246320                       This  parameter  sets  the value in seconds after which
246321                       cache marked as invalid, and cache update is necessary.
246322                       This overwrite refresh parameter default behavior.
246323
246324                       In  this case cache_valid_time is set, refresh will not
246325                       take place for amount in  seconds  since  last  apt-get
246326                       update executed on the system.
246327
246328                       NOTE:
246329                          This  parameter  available only on Debian based dis‐
246330                          tributions, and have no effect on the rest.
246331
246332
246333                     · resolve_capabilities (bool) --
246334
246335                       Turn on resolving capabilities. This allow one to  name
246336                       "provides" or alias names for packages.
246337
246338                       New in version 2018.3.0.
246339
246340
246341
246342              kwargs Any keyword arguments to pass through to pkg.upgrade.
246343
246344                     New in version 2015.5.0.
246345
246346
246347   salt.states.pkgbuild
246348       The  pkgbuild  state  is the front of Salt package building backend. It
246349       automatically builds DEB and RPM packages from specified sources
246350
246351       New in version 2015.8.0.
246352
246353
246354          salt_2015.5.2:
246355            pkgbuild.built:
246356              - runas: thatch
246357              - results:
246358                - salt-2015.5.2-2.el7.centos.noarch.rpm
246359                - salt-api-2015.5.2-2.el7.centos.noarch.rpm
246360                - salt-cloud-2015.5.2-2.el7.centos.noarch.rpm
246361                - salt-master-2015.5.2-2.el7.centos.noarch.rpm
246362                - salt-minion-2015.5.2-2.el7.centos.noarch.rpm
246363                - salt-ssh-2015.5.2-2.el7.centos.noarch.rpm
246364                - salt-syndic-2015.5.2-2.el7.centos.noarch.rpm
246365              - dest_dir: /tmp/pkg
246366              - spec: salt://pkg/salt/spec/salt.spec
246367              - template: jinja
246368              - deps:
246369                - salt://pkg/salt/sources/required_dependency.rpm
246370              - tgt: epel-7-x86_64
246371              - sources:
246372                - salt://pkg/salt/sources/logrotate.salt
246373                - salt://pkg/salt/sources/README.fedora
246374                - salt://pkg/salt/sources/salt-2015.5.2.tar.gz
246375                - salt://pkg/salt/sources/salt-2015.5.2-tests.patch
246376                - salt://pkg/salt/sources/salt-api
246377                - salt://pkg/salt/sources/salt-api.service
246378                - salt://pkg/salt/sources/salt-master
246379                - salt://pkg/salt/sources/salt-master.service
246380                - salt://pkg/salt/sources/salt-minion
246381                - salt://pkg/salt/sources/salt-minion.service
246382                - salt://pkg/salt/sources/saltpkg.sls
246383                - salt://pkg/salt/sources/salt-syndic
246384                - salt://pkg/salt/sources/salt-syndic.service
246385                - salt://pkg/salt/sources/SaltTesting-2015.5.8.tar.gz
246386          /tmp/pkg:
246387            pkgbuild.repo
246388
246389       salt.states.pkgbuild.built(name, runas, dest_dir, spec,  sources,  tgt,
246390       template=None,    deps=None,   env=None,   results=None,   force=False,
246391       saltenv='base', log_dir='/var/log/salt/pkgbuild')
246392              Ensure that the named package is built and exists in  the  named
246393              directory
246394
246395              name   The  name to track the build, the name value is otherwise
246396                     unused
246397
246398              runas  The user to run the build process as
246399
246400              dest_dir
246401                     The directory on the minion to place the built package(s)
246402
246403              spec   The location of the spec file (used for rpms)
246404
246405              sources
246406                     The list of package sources
246407
246408              tgt    The target platform to run the build on
246409
246410              template
246411                     Run the spec file through a templating engine
246412
246413                     Changed  in  version  2015.8.2:  This  argument  is   now
246414                     optional, allowing for no templating engine to be used if
246415                     none is desired.
246416
246417
246418              deps   Packages required to ensure that  the  named  package  is
246419                     built  can  be hosted on either the salt master server or
246420                     on an HTTP or FTP server.  Both HTTPS and HTTP  are  sup‐
246421                     ported  as  well  as  downloading directly from Amazon S3
246422                     compatible URLs with both  pre-configured  and  automatic
246423                     IAM credentials
246424
246425              env    A  dictionary of environment variables to be set prior to
246426                     execution.  Example:
246427
246428                        - env:
246429                            DEB_BUILD_OPTIONS: 'nocheck'
246430
246431                     WARNING:
246432                        The above illustrates a common  PyYAML  pitfall,  that
246433                        yes,  no,  on,  off, true, and false are all loaded as
246434                        boolean True and False values, and must be enclosed in
246435                        quotes  to  be used as strings. More info on this (and
246436                        other) PyYAML idiosyncrasies can be found here.
246437
246438              results
246439                     The names of the expected rpms that will be built
246440
246441              force  False If True,  packages  will  be  built  even  if  they
246442                     already exist in the dest_dir. This is useful when build‐
246443                     ing a package for continuous or nightly package builds.
246444
246445                     New in version 2015.8.2.
246446
246447
246448              saltenv
246449                     The saltenv to use for files  downloaded  from  the  salt
246450                     filesever
246451
246452              log_dir
246453                     /var/log/salt/rpmbuild  Root directory for log files cre‐
246454                     ated from the build. Logs will be  organized  by  package
246455                     name,  version,  OS  release,  and CPU architecture under
246456                     this directory.
246457
246458                     New in version 2015.8.2.
246459
246460
246461       salt.states.pkgbuild.repo(name,          keyid=None,          env=None,
246462       use_passphrase=False,  gnupghome='/etc/salt/gpgkeys',  runas='builder',
246463       timeout=15.0)
246464              Make a package repository and optionally sign  it  and  packages
246465              present
246466
246467              The  name  is  directory to turn into a repo. This state is best
246468              used with onchanges linked to your package building states.
246469
246470              name   The directory to find packages that will be in the repos‐
246471                     itory
246472
246473              keyid  Changed in version 2016.3.0.
246474
246475
246476                     Optional  Key  ID  to use in signing packages and reposi‐
246477                     tory.  Utilizes Public and Private keys  associated  with
246478                     keyid  which  have  been  loaded into the minion's Pillar
246479                     data.
246480
246481                     For example, contents from a Pillar data file with  named
246482                     Public and Private keys as follows:
246483
246484                        gpg_pkg_priv_key: |
246485                          -----BEGIN PGP PRIVATE KEY BLOCK-----
246486                          Version: GnuPG v1
246487
246488                          lQO+BFciIfQBCADAPCtzx7I5Rl32escCMZsPzaEKWe7bIX1em4KCKkBoX47IG54b
246489                          w82PCE8Y1jF/9Uk2m3RKVWp3YcLlc7Ap3gj6VO4ysvVz28UbnhPxsIkOlf2cq8qc
246490                          .
246491                          .
246492                          Ebe+8JCQTwqSXPRTzXmy/b5WXDeM79CkLWvuGpXFor76D+ECMRPv/rawukEcNptn
246493                          R5OmgHqvydEnO4pWbn8JzQO9YX/Us0SMHBVzLC8eIi5ZIopzalvX
246494                          =JvW8
246495                          -----END PGP PRIVATE KEY BLOCK-----
246496
246497                        gpg_pkg_priv_keyname: gpg_pkg_key.pem
246498
246499                        gpg_pkg_pub_key: |
246500                          -----BEGIN PGP PUBLIC KEY BLOCK-----
246501                          Version: GnuPG v1
246502
246503                          mQENBFciIfQBCADAPCtzx7I5Rl32escCMZsPzaEKWe7bIX1em4KCKkBoX47IG54b
246504                          w82PCE8Y1jF/9Uk2m3RKVWp3YcLlc7Ap3gj6VO4ysvVz28UbnhPxsIkOlf2cq8qc
246505                          .
246506                          .
246507                          bYP7t5iwJmQzRMyFInYRt77wkJBPCpJc9FPNebL9vlZcN4zv0KQta+4alcWivvoP
246508                          4QIxE+/+trC6QRw2m2dHk6aAeq/J0Sc7ilZufwnNA71hf9SzRIwcFXMsLx4iLlki
246509                          inNqW9c=
246510                          =s1CX
246511                          -----END PGP PUBLIC KEY BLOCK-----
246512
246513                        gpg_pkg_pub_keyname: gpg_pkg_key.pub
246514
246515              env    Changed in version 2016.3.0.
246516
246517
246518                     A  dictionary  of environment variables to be utilized in
246519                     creating the repository. Example:
246520
246521                        - env:
246522                            OPTIONS: 'ask-passphrase'
246523
246524                     WARNING:
246525                        The above illustrates a common  PyYAML  pitfall,  that
246526                        yes,  no,  on,  off, true, and false are all loaded as
246527                        boolean True and False values, and must be enclosed in
246528                        quotes  to  be used as strings. More info on this (and
246529                        other) PyYAML idiosyncrasies can be found here.
246530
246531                        Use  of  OPTIONS  on  some  platforms,  for   example:
246532                        ask-passphrase,  will  require gpg-agent or similar to
246533                        cache passphrases.
246534
246535                     NOTE:
246536                        This parameter is not used for  making  yum  reposito‐
246537                        ries.
246538
246539              use_passphrase
246540                     False New in version 2016.3.0.
246541
246542
246543                     Use a passphrase with the signing key presented in keyid.
246544                     Passphrase is received from Pillar data  which  could  be
246545                     passed  on  the  command  line with pillar parameter. For
246546                     example:
246547
246548                        pillar='{ "gpg_passphrase" : "my_passphrase" }'
246549
246550              gnupghome
246551                     /etc/salt/gpgkeys New in version 2016.3.0.
246552
246553
246554                     Location where GPG related files are  stored,  used  with
246555                     'keyid'
246556
246557              runas  builder New in version 2016.3.0.
246558
246559
246560                     User  to  create  the  repository as, and optionally sign
246561                     packages.
246562
246563                     NOTE:
246564                        Ensure the user has correct permissions to  any  files
246565                        and directories which are to be utilized.
246566
246567              timeout
246568                     15.0 New in version 2016.3.4.
246569
246570
246571                     Timeout  in  seconds to wait for the prompt for inputting
246572                     the passphrase.
246573
246574   salt.states.pkgng
246575   Manage package remote repo using FreeBSD pkgng
246576       Salt can manage the URL pkgng pulls packages from.  ATM the  state  and
246577       module are small so use cases are typically rather simple:
246578
246579          pkgng_clients:
246580            pkgng.update_packaging_site:
246581              - name: "http://192.168.0.2"
246582
246583       salt.states.pkgng.update_packaging_site(name)
246584
246585   salt.states.pkgrepo
246586   Management of APT/DNF/YUM/Zypper package repos
246587       States  for  managing  software  package repositories on Linux distros.
246588       Supported package managers are APT, DNF, YUM and Zypper. Here  is  some
246589       example SLS:
246590
246591          base:
246592            pkgrepo.managed:
246593              - humanname: CentOS-$releasever - Base
246594              - mirrorlist: http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
246595              - comments:
246596                  - 'http://mirror.centos.org/centos/$releasever/os/$basearch/'
246597              - gpgcheck: 1
246598              - gpgkey: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
246599
246600          base:
246601            pkgrepo.managed:
246602              - humanname: Logstash PPA
246603              - name: deb http://ppa.launchpad.net/wolfnet/logstash/ubuntu precise main
246604              - dist: precise
246605              - file: /etc/apt/sources.list.d/logstash.list
246606              - keyid: 28B04E4A
246607              - keyserver: keyserver.ubuntu.com
246608              - require_in:
246609                - pkg: logstash
246610
246611            pkg.latest:
246612              - name: logstash
246613              - refresh: True
246614
246615          base:
246616            pkgrepo.managed:
246617              - humanname: deb-multimedia
246618              - name: deb http://www.deb-multimedia.org stable main
246619              - file: /etc/apt/sources.list.d/deb-multimedia.list
246620              - key_url: salt://deb-multimedia/files/marillat.pub
246621
246622          base:
246623            pkgrepo.managed:
246624              - humanname: Google Chrome
246625              - name: deb http://dl.google.com/linux/chrome/deb/ stable main
246626              - dist: stable
246627              - file: /etc/apt/sources.list.d/chrome-browser.list
246628              - require_in:
246629                - pkg: google-chrome-stable
246630              - gpgcheck: 1
246631              - key_url: https://dl-ssl.google.com/linux/linux_signing_key.pub
246632
246633          base:
246634            pkgrepo.managed:
246635              - ppa: wolfnet/logstash
246636            pkg.latest:
246637              - name: logstash
246638              - refresh: True
246639
246640       NOTE:
246641          On  Ubuntu systems, the python-software-properties package should be
246642          installed for better support of PPA repositories. To check  if  this
246643          package is installed, run dpkg -l python-software-properties.
246644
246645          Also, some Ubuntu releases have a bug in their python-software-prop‐
246646          erties package, a missing dependency  on  pycurl,  so  python-pycurl
246647          will  need  to  be  manually  installed  if  it  is not present once
246648          python-software-properties is installed.
246649
246650          On Ubuntu & Debian systems, the python-apt package is required to be
246651          installed.  To  check  if  this  package  is  installed, run dpkg -l
246652          python-apt.  python-apt will need to be manually installed if it  is
246653          not present.
246654
246655       salt.states.pkgrepo.absent(name, **kwargs)
246656              This  function  deletes  the specified repo on the system, if it
246657              exists. It is essentially a wrapper around pkg.del_repo.
246658
246659              name   The name of the package repo, as it would be referred  to
246660                     when running the regular package manager commands.
246661
246662              UBUNTU-SPECIFIC OPTIONS
246663
246664              ppa    On Ubuntu, you can take advantage of Personal Package Ar‐
246665                     chives on Launchpad simply by specifying the user and ar‐
246666                     chive name.
246667
246668                        logstash-ppa:
246669                          pkgrepo.absent:
246670                            - ppa: wolfnet/logstash
246671
246672              ppa_auth
246673                     For  Ubuntu  PPAs  there can be private PPAs that require
246674                     authentication  to  access.  For  these  PPAs  the  user‐
246675                     name/password  can  be  specified.   This is required for
246676                     matching if the name format uses the ppa:  specifier  and
246677                     is  private  (requires username/password to access, which
246678                     is encoded in the URI).
246679
246680                        logstash-ppa:
246681                          pkgrepo.absent:
246682                            - ppa: wolfnet/logstash
246683                            - ppa_auth: username:password
246684
246685              keyid  If passed, then the GPG key corresponding to  the  passed
246686                     KeyID will also be removed.
246687
246688              keyid_ppa
246689                     False  If set to True, the GPG key's ID will be looked up
246690                     from ppa.launchpad.net and removed, and the  keyid  argu‐
246691                     ment will be ignored.
246692
246693                     NOTE:
246694                        This  option  will be disregarded unless the ppa argu‐
246695                        ment is present.
246696
246697       salt.states.pkgrepo.managed(name, ppa=None, **kwargs)
246698              This state manages  software  package  repositories.  Currently,
246699              yum, apt, and zypper repositories are supported.
246700
246701              YUM/DNF/ZYPPER-BASED SYSTEMS
246702
246703              NOTE:
246704                 One of baseurl or mirrorlist below is required. Additionally,
246705                 note that this state is not  presently  capable  of  managing
246706                 more than one repo in a single repo file, so each instance of
246707                 this state will manage a single repo file containing the con‐
246708                 figuration for a single repo.
246709
246710              name   This  value will be used in two ways: Firstly, it will be
246711                     the repo ID, as seen in  the  entry  in  square  brackets
246712                     (e.g.  [foo])  for a given repo. Secondly, it will be the
246713                     name of the file  as  stored  in  /etc/yum.repos.d  (e.g.
246714                     /etc/yum.repos.d/foo.conf).
246715
246716              enabled
246717                     True Whether or not the repo is enabled. Can be specified
246718                     as True/False or 1/0.
246719
246720              disabled
246721                     False Included to reduce confusion due to  APT's  use  of
246722                     the   disabled   argument.   If  this  is  passed  for  a
246723                     YUM/DNF/Zypper-based distro, then  the  reverse  will  be
246724                     passed as enabled. For example passing disabled=True will
246725                     assume enabled=False.
246726
246727              humanname
246728                     This is used as the "name" value  in  the  repo  file  in
246729                     /etc/yum.repos.d/  (or  /etc/zypp/repos.d  for  SUSE dis‐
246730                     tros).
246731
246732              baseurl
246733                     The URL to a yum repository
246734
246735              mirrorlist
246736                     A URL which points to a file containing a  collection  of
246737                     baseurls
246738
246739              comments
246740                     Sometimes  you want to supply additional information, but
246741                     not as enabled configuration. Anything supplied for  this
246742                     list  will be saved in the repo configuration with a com‐
246743                     ment marker (#) in front.
246744
246745              gpgautoimport
246746                     Only valid for Zypper package manager. If  set  to  True,
246747                     automatically  trust  and  import  public GPG key for the
246748                     repository. The  key  should  be  specified  with  gpgkey
246749                     parameter. See details below.
246750
246751              Additional  configuration  values  seen  in  YUM/DNF/Zypper repo
246752              files, such as gpgkey or gpgcheck,  will  be  used  directly  as
246753              key-value pairs.  For example:
246754
246755                 foo:
246756                   pkgrepo.managed:
246757                     - humanname: Personal repo for foo
246758                     - baseurl: https://mydomain.tld/repo/foo/$releasever/$basearch
246759                     - gpgkey: file:///etc/pki/rpm-gpg/foo-signing-key
246760                     - gpgcheck: 1
246761
246762              APT-BASED SYSTEMS
246763
246764              ppa    On Ubuntu, you can take advantage of Personal Package Ar‐
246765                     chives on Launchpad simply by specifying the user and ar‐
246766                     chive  name. The keyid will be queried from launchpad and
246767                     everything else is set automatically.  You  can  override
246768                     any  of  the below settings by simply setting them as you
246769                     would normally. For example:
246770
246771                        logstash-ppa:
246772                          pkgrepo.managed:
246773                            - ppa: wolfnet/logstash
246774
246775              ppa_auth
246776                     For Ubuntu PPAs there can be private  PPAs  that  require
246777                     authentication  to  access.  For  these  PPAs  the  user‐
246778                     name/password can be passed as an HTTP Basic style  user‐
246779                     name/password combination.
246780
246781                        logstash-ppa:
246782                          pkgrepo.managed:
246783                            - ppa: wolfnet/logstash
246784                            - ppa_auth: username:password
246785
246786              name   On  apt-based  systems this must be the complete entry as
246787                     it would be seen in the sources.list file.  This can have
246788                     a limited subset of components (i.e. 'main') which can be
246789                     added/modified with the comps option.
246790
246791                        precise-repo:
246792                          pkgrepo.managed:
246793                            - name: deb http://us.archive.ubuntu.com/ubuntu precise main
246794
246795                     NOTE:
246796                        The above example is intended as a more  readable  way
246797                        of  configuring  the SLS, it is equivalent to the fol‐
246798                        lowing:
246799
246800                            'deb http://us.archive.ubuntu.com/ubuntu precise main':
246801                              pkgrepo.managed
246802
246803              disabled
246804                     False Toggles whether or not the repo is used for resolv‐
246805                     ing dependencies and/or installing packages.
246806
246807              enabled
246808                     True Included to reduce confusion due to YUM/DNF/Zypper's
246809                     use of the enabled argument. If this  is  passed  for  an
246810                     APT-based distro, then the reverse will be passed as dis‐
246811                     abled. For example,  passing  enabled=False  will  assume
246812                     disabled=False.
246813
246814              architectures
246815                     On  apt-based  systems,  architectures  can  restrict the
246816                     available  architectures  that  the  repository  provides
246817                     (e.g. only amd64).  architectures should be a comma-sepa‐
246818                     rated list.
246819
246820              comps  On apt-based systems, comps dictate the types of packages
246821                     to  be installed from the repository (e.g. main, nonfree,
246822                     ...).  For purposes of this, comps should be a comma-sep‐
246823                     arated list.
246824
246825              file   The filename for the .list that the repository is config‐
246826                     ured in.  It is important to include  the  full-path  AND
246827                     make sure it is in a directory that APT will look in when
246828                     handling packages
246829
246830              dist   This dictates the release  of  the  distro  the  packages
246831                     should  be  built  for.   (e.g. unstable). This option is
246832                     rarely needed.
246833
246834              keyid  The KeyID or a list of KeyIDs of the GPG key to  install.
246835                     This option also requires the keyserver option to be set.
246836
246837              keyserver
246838                     This  is  the  name of the keyserver to retrieve gpg keys
246839                     from.  The keyid option must also be set for this  option
246840                     to work.
246841
246842              key_url
246843                     URL  to  retrieve  a  GPG  key  from. Allows the usage of
246844                     http://, https:// as well as salt://.
246845
246846                     NOTE:
246847                        Use either keyid/keyserver or key_url, but not both.
246848
246849              key_text
246850                        The string representation of the GPG key to install.
246851
246852                        New in version 2018.3.0.
246853
246854
246855                     NOTE:
246856                        Use either keyid/keyserver, key_url, or  key_text  but
246857                        not more than one method.
246858
246859              consolidate
246860                     False  If  set to True, this will consolidate all sources
246861                     definitions to the sources.list  file,  cleanup  the  now
246862                     unused  files, consolidate components (e.g. main) for the
246863                     same URI, type, and architecture to a  single  line,  and
246864                     finally  remove comments from the sources.list file.  The
246865                     consolidate will run every time the state  is  processed.
246866                     The  option  only  needs to be set on one repo managed by
246867                     salt to take effect.
246868
246869              clean_file
246870                     False If set to True, empty the file before config repo
246871
246872                     NOTE:
246873                        Use with care.  This  can  be  dangerous  if  multiple
246874                        sources are configured in the same file.
246875
246876                     New in version 2015.8.0.
246877
246878
246879              refresh
246880                     True  If  set  to False this will skip refreshing the apt
246881                     package database on debian based systems.
246882
246883              refresh_db
246884                     True  Deprecated  since  version  2018.3.0:  Use  refresh
246885                     instead.
246886
246887
246888              require_in
246889                     Set  this  to  a  list  of pkg.installed or pkg.latest to
246890                     trigger the running of apt-get update prior to attempting
246891                     to  install  these packages. Setting a require in the pkg
246892                     state will not work for this.
246893
246894   salt.states.portage_config
246895   Management of Portage package configuration on Gentoo
246896       A state module to manage Portage configuration on Gentoo
246897
246898          salt:
246899              portage_config.flags:
246900                  - use:
246901                      - openssl
246902
246903       salt.states.portage_config.flags(name, use=None,  accept_keywords=None,
246904       env=None, license=None, properties=None, unmask=False, mask=False)
246905              Enforce the given flags on the given package or DEPEND atom.
246906
246907              WARNING:
246908                 In  most cases, the affected package(s) need to be rebuilt in
246909                 order to apply the changes.
246910
246911              name   The name of the package or its DEPEND atom
246912
246913              use    A list of USE flags
246914
246915              accept_keywords
246916                     A list of keywords to accept. ~ARCH  means  current  host
246917                     arch, and will be translated into a line without keywords
246918
246919              env    A list of environment files
246920
246921              license
246922                     A list of accepted licenses
246923
246924              properties
246925                     A list of additional properties
246926
246927              unmask A boolean to unmask the package
246928
246929              mask   A boolean to mask the package
246930
246931   salt.states.ports
246932       Manage software from FreeBSD ports
246933
246934       New in version 2014.1.0.
246935
246936
246937       NOTE:
246938          It   may  be  helpful  to  use  a  higher  timeout  when  running  a
246939          ports.installed state, since compiling the port  may  exceed  Salt's
246940          timeout.
246941
246942              salt -t 1200 '*' state.highstate
246943
246944       salt.states.ports.installed(name, options=None)
246945              Verify  that the desired port is installed, and that it was com‐
246946              piled with the desired options.
246947
246948              options
246949                     Make sure that the desired non-default options are set
246950
246951                     WARNING:
246952                        Any build options not passed here assume  the  default
246953                        values for the port, and are not just differences from
246954                        the existing cached options from a previous make  con‐
246955                        fig.
246956
246957              Example usage:
246958
246959                 security/nmap:
246960                   ports.installed:
246961                     - options:
246962                       - IPV6: off
246963
246964   salt.states.postgres_cluster module
246965   Management of PostgreSQL clusters
246966       The  postgres_cluster  state  module is used to manage PostgreSQL clus‐
246967       ters.  Clusters can be set as either absent or present
246968
246969          create cluster 9.3 main:
246970            postgres_cluster.present:
246971                - name: 'main'
246972                - version: '9.3'
246973
246974       salt.states.postgres_cluster.absent(version, name)
246975              Ensure that the named cluster is absent
246976
246977              version
246978                     Version of the postgresql server of the cluster to remove
246979
246980              name   The name of the cluster to remove
246981
246982                     New in version 2015.XX.
246983
246984
246985       salt.states.postgres_cluster.present(version, name,  port=None,  encod‐
246986       ing=None, locale=None, datadir=None)
246987              Ensure  that  the  named  cluster  is present with the specified
246988              properties.  For more information about all of these options see
246989              man pg_createcluster(1)
246990
246991              version
246992                     Version of the postgresql cluster
246993
246994              name   The name of the cluster
246995
246996              port   Cluster port
246997
246998              encoding
246999                     The character encoding scheme to be used in this database
247000
247001              locale Locale with which to create cluster
247002
247003              datadir
247004                     Where the cluster is stored
247005
247006                     New in version 2015.XX.
247007
247008
247009   salt.states.postgres_database
247010   Management of PostgreSQL databases
247011       The  postgres_database  module  is  used  to create and manage Postgres
247012       databases.  Databases can be set as either absent or present
247013
247014          frank:
247015            postgres_database.present
247016
247017       salt.states.postgres_database.absent(name,      user=None,      mainte‐
247018       nance_db=None,     db_password=None,     db_host=None,    db_port=None,
247019       db_user=None)
247020              Ensure that the named database is absent
247021
247022              name   The name of the database to remove
247023
247024              db_user
247025                     database username if different from config or default
247026
247027              db_password
247028                     user password if any password for a specified user
247029
247030              db_host
247031                     Database host if different from config or default
247032
247033              db_port
247034                     Database port if different from config or default
247035
247036              user   System user all operations should be performed on  behalf
247037                     of
247038
247039                     New in version 0.17.0.
247040
247041
247042       salt.states.postgres_database.present(name,   tablespace=None,   encod‐
247043       ing=None,       lc_collate=None,       lc_ctype=None,       owner=None,
247044       owner_recurse=False,   template=None,  user=None,  maintenance_db=None,
247045       db_password=None, db_host=None, db_port=None, db_user=None)
247046              Ensure that the named database is  present  with  the  specified
247047              properties.  For more information about all of these options see
247048              man createdb(1)
247049
247050              name   The name of the database to manage
247051
247052              tablespace
247053                     Default tablespace for the database
247054
247055              encoding
247056                     The character encoding scheme to be used in this database
247057
247058              lc_collate
247059                     The LC_COLLATE setting to be used in this database
247060
247061              lc_ctype
247062                     The LC_CTYPE setting to be used in this database
247063
247064              owner  The username of the database owner
247065
247066              owner_recurse
247067                     Recurse owner change to all relations in the database
247068
247069              template
247070                     The template database from which to build this database
247071
247072              user   System user all operations should be performed on  behalf
247073                     of
247074
247075              db_user
247076                     database username if different from config or default
247077
247078              db_password
247079                     user password if any password for a specified user
247080
247081              db_host
247082                     Database host if different from config or default
247083
247084              db_port
247085                     Database port if different from config or default
247086
247087                     New in version 0.17.0.
247088
247089
247090   salt.states.postgres_extension
247091   Management of PostgreSQL extensions
247092       A module used to install and manage PostgreSQL extensions.
247093
247094          adminpack:
247095            postgres_extension.present
247096
247097       New in version 2014.7.0.
247098
247099
247100       salt.states.postgres_extension.absent(name,             if_exists=None,
247101       restrict=None,    cascade=None,     user=None,     maintenance_db=None,
247102       db_user=None, db_password=None, db_host=None, db_port=None)
247103              Ensure that the named extension is absent.
247104
247105              name   Extension name of the extension to remove
247106
247107              if_exists
247108                     Add if exist slug
247109
247110              restrict
247111                     Add restrict slug
247112
247113              cascade
247114                     Drop on cascade
247115
247116              user   System  user all operations should be performed on behalf
247117                     of
247118
247119              maintenance_db
247120                     Database to act on
247121
247122              db_user
247123                     Database username if different from config or default
247124
247125              db_password
247126                     User password if any password for a specified user
247127
247128              db_host
247129                     Database host if different from config or default
247130
247131              db_port
247132                     Database port if different from config or default
247133
247134       salt.states.postgres_extension.present(name,        if_not_exists=None,
247135       schema=None,  ext_version=None,  from_version=None,  user=None, mainte‐
247136       nance_db=None,    db_user=None,     db_password=None,     db_host=None,
247137       db_port=None)
247138              Ensure that the named extension is present.
247139
247140              NOTE:
247141                 Before  you  can  use  the  state to load an extension into a
247142                 database, the extension's supporting files  must  be  already
247143                 installed.
247144
247145              For  more  information  about  all  of  these options see CREATE
247146              EXTENSION SQL command reference in the PostgreSQL documentation.
247147
247148              name   The name of the extension to be installed
247149
247150              if_not_exists
247151                     Add an IF NOT EXISTS parameter to the DDL statement
247152
247153              schema Schema to install the extension into
247154
247155              ext_version
247156                     Version to install
247157
247158              from_version
247159                     Old extension version if already installed
247160
247161              user   System user all operations should be performed on  behalf
247162                     of
247163
247164              maintenance_db
247165                     Database to act on
247166
247167              db_user
247168                     Database username if different from config or default
247169
247170              db_password
247171                     User password if any password for a specified user
247172
247173              db_host
247174                     Database host if different from config or default
247175
247176              db_port
247177                     Database port if different from config or default
247178
247179   salt.states.postgres_group
247180   Management of PostgreSQL groups (roles)
247181       The postgres_group module is used to create and manage Postgres groups.
247182
247183          frank:
247184            postgres_group.present
247185
247186       salt.states.postgres_group.absent(name, user=None, maintenance_db=None,
247187       db_password=None, db_host=None, db_port=None, db_user=None)
247188              Ensure that the named group is absent
247189
247190              name   The groupname of the group to remove
247191
247192              user   System user all operations should be performed on  behalf
247193                     of
247194
247195                     New in version 0.17.0.
247196
247197
247198              db_user
247199                     database username if different from config or defaul
247200
247201              db_password
247202                     user password if any password for a specified user
247203
247204              db_host
247205                     Database host if different from config or default
247206
247207              db_port
247208                     Database port if different from config or default
247209
247210       salt.states.postgres_group.present(name,       createdb=None,      cre‐
247211       ateroles=None,    encrypted=None,     superuser=None,     inherit=None,
247212       login=None,   replication=None,  password=None,  refresh_password=None,
247213       groups=None,    user=None,    maintenance_db=None,    db_password=None,
247214       db_host=None, db_port=None, db_user=None)
247215              Ensure that the named group is present with the specified privi‐
247216              leges Please note that the user/group notion  in  postgresql  is
247217              just  abstract,  we have roles, where users can be seen as roles
247218              with the LOGIN privilege and groups the others.
247219
247220              name   The name of the group to manage
247221
247222              createdb
247223                     Is the group allowed to create databases?
247224
247225              createroles
247226                     Is the group allowed to create other roles/users
247227
247228              encrypted
247229                     Should the password be encrypted in the system catalog?
247230
247231              login  Should the group have login perm
247232
247233              inherit
247234                     Should the group inherit permissions
247235
247236              superuser
247237                     Should the new group be a "superuser"
247238
247239              replication
247240                     Should the new group be  allowed  to  initiate  streaming
247241                     replication
247242
247243              password
247244                     The group's password It can be either a plain string or a
247245                     md5 postgresql hashed password:
247246
247247                        'md5{MD5OF({password}{role}}'
247248
247249                     If encrypted is None or True, the password will be  auto‐
247250                     matically  encrypted  to the previous format if it is not
247251                     already done.
247252
247253              refresh_password
247254                     Password refresh flag
247255
247256                     Boolean attribute to specify whether to password compari‐
247257                     son check should be performed.
247258
247259                     If  refresh_password  is True, the password will be auto‐
247260                     matically updated without extra password change check.
247261
247262                     This behaviour makes it possible to execute  in  environ‐
247263                     ments without superuser access available, e.g. Amazon RDS
247264                     for PostgreSQL
247265
247266              groups A string of comma separated groups the group should be in
247267
247268              user   System user all operations should be performed on  behalf
247269                     of
247270
247271                     New in version 0.17.0.
247272
247273
247274              db_user
247275                     database username if different from config or default
247276
247277              db_password
247278                     user password if any password for a specified user
247279
247280              db_host
247281                     Database host if different from config or default
247282
247283              db_port
247284                     Database port if different from config or default
247285
247286   salt.states.postgres_initdb
247287   Initialization of PostgreSQL data directory
247288       The  postgres_initdb  module  is used to initialize the postgresql data
247289       directory.
247290
247291       New in version 2016.3.0.
247292
247293
247294          pgsql-data-dir:
247295            postgres_initdb.present:
247296              - name: /var/lib/pgsql/data
247297              - auth: password
247298              - user: postgres
247299              - password: strong_password
247300              - encoding: UTF8
247301              - locale: C
247302              - runas: postgres
247303
247304       salt.states.postgres_initdb.present(name,   user=None,   password=None,
247305       auth=u'password',     encoding=u'UTF8',     locale=None,    runas=None,
247306       waldir=None, checksums=False)
247307              Initialize the PostgreSQL data directory
247308
247309              name   The name of the directory to initialize
247310
247311              user   The database superuser name
247312
247313              password
247314                     The password to set for the postgres user
247315
247316              auth   The default authentication method for local connections
247317
247318              encoding
247319                     The default encoding for new databases
247320
247321              locale The default locale for new databases
247322
247323              waldir The transaction log (WAL) directory (default is  to  keep
247324                     WAL inside the data directory)
247325
247326                     New in version Fluorine.
247327
247328
247329              checksums
247330                     If  True,  the  cluster  will  be  created with data page
247331                     checksums.
247332
247333                     NOTE:
247334                        Data page checksums  are  supported  since  PostgreSQL
247335                        9.3.
247336
247337                     New in version Fluorine.
247338
247339
247340              runas  The  system  user  the  operation  should be performed on
247341                     behalf of
247342
247343   salt.states.postgres_language
247344   Management of PostgreSQL languages
247345       The postgres_language module is used to create and manage Postgres lan‐
247346       guages.  Languages can be set as either absent or present
247347
247348       New in version 2016.3.0.
247349
247350
247351          plpgsql:
247352            postgres_language.present:
247353              - maintenance_db: testdb
247354
247355          plpgsql:
247356            postgres_language.absent:
247357              - maintenance_db: testdb
247358
247359       salt.states.postgres_language.absent(name,  maintenance_db,  user=None,
247360       db_password=None, db_host=None, db_port=None, db_user=None)
247361              Ensure that a named language is absent in  the  specified  data‐
247362              base.
247363
247364              name   The name of the language to remove
247365
247366              maintenance_db
247367                     The  name  of the database in which the language is to be
247368                     installed
247369
247370              user   System user all operations should be performed on  behalf
247371                     of
247372
247373              db_user
247374                     database username if different from config or default
247375
247376              db_password
247377                     user password if any password for a specified user
247378
247379              db_host
247380                     Database host if different from config or default
247381
247382              db_port
247383                     Database port if different from config or default
247384
247385       salt.states.postgres_language.present(name,  maintenance_db, user=None,
247386       db_password=None, db_host=None, db_port=None, db_user=None)
247387              Ensure that a named language is present in the  specified  data‐
247388              base.
247389
247390              name   The name of the language to install
247391
247392              maintenance_db
247393                     The  name  of the database in which the language is to be
247394                     installed
247395
247396              user   System user all operations should be performed on  behalf
247397                     of
247398
247399              db_user
247400                     database username if different from config or default
247401
247402              db_password
247403                     user password if any password for a specified user
247404
247405              db_host
247406                     Database host if different from config or default
247407
247408              db_port
247409                     Database port if different from config or default
247410
247411   salt.states.postgres_privileges
247412   Management of PostgreSQL Privileges
247413       The  postgres_privileges  module is used to manage Postgres privileges.
247414       Privileges can be set as either absent or present.
247415
247416       Privileges can be set on the following database object types:
247417
247418       · database
247419
247420       · schema
247421
247422       · tablespace
247423
247424       · table
247425
247426       · sequence
247427
247428       · language
247429
247430       · group
247431
247432       Setting the grant option is supported as well.
247433
247434       New in version 2016.3.0.
247435
247436
247437          baruwa:
247438            postgres_privileges.present:
247439              - object_name: awl
247440              - object_type: table
247441              - privileges:
247442                - SELECT
247443                - INSERT
247444                - DELETE
247445              - grant_option: False
247446              - prepend: public
247447              - maintenance_db: testdb
247448
247449          andrew:
247450            postgres_privileges.present:
247451              - object_name: admins
247452              - object_type: group
247453              - grant_option: False
247454              - maintenance_db: testdb
247455
247456          baruwa:
247457            postgres_privileges.absent:
247458              - object_name: awl
247459              - object_type: table
247460              - privileges:
247461                - SELECT
247462                - INSERT
247463                - DELETE
247464              - prepend: public
247465              - maintenance_db: testdb
247466
247467          andrew:
247468            postgres_privileges.absent:
247469              - object_name: admins
247470              - object_type: group
247471              - maintenance_db: testdb
247472
247473       salt.states.postgres_privileges.absent(name, object_name,  object_type,
247474       privileges=None,   prepend=u'public',  maintenance_db=None,  user=None,
247475       db_password=None, db_host=None, db_port=None, db_user=None)
247476              Revoke the requested privilege(s) on the specificed object(s)
247477
247478              name   Name of the role whose privileges should be revoked
247479
247480              object_name
247481                     Name of the object on which the revoke is to be performed
247482
247483              object_type
247484                     The object type, which can be one of the following:
247485
247486                     · table
247487
247488                     · sequence
247489
247490                     · schema
247491
247492                     · tablespace
247493
247494                     · language
247495
247496                     · database
247497
247498                     · group
247499
247500                     · function
247501
247502                     View permissions should specify object_type: table.
247503
247504              privileges
247505                     Comma separated list of privileges to  revoke,  from  the
247506                     list below:
247507
247508                     · INSERT
247509
247510                     · CREATE
247511
247512                     · TRUNCATE
247513
247514                     · CONNECT
247515
247516                     · TRIGGER
247517
247518                     · SELECT
247519
247520                     · USAGE
247521
247522                     · TEMPORARY
247523
247524                     · UPDATE
247525
247526                     · EXECUTE
247527
247528                     · REFERENCES
247529
247530                     · DELETE
247531
247532                     · ALL
247533
247534                     note   privileges  should  not be set when revoking group
247535                            membership
247536
247537              prepend
247538                     Table and Sequence object types live under  a  schema  so
247539                     this  should  be  provided if the object is not under the
247540                     default public schema
247541
247542              maintenance_db
247543                     The name of the database in which the language is  to  be
247544                     installed
247545
247546              user   System  user all operations should be performed on behalf
247547                     of
247548
247549              db_user
247550                     database username if different from config or default
247551
247552              db_password
247553                     user password if any password for a specified user
247554
247555              db_host
247556                     Database host if different from config or default
247557
247558              db_port
247559                     Database port if different from config or default
247560
247561       salt.states.postgres_privileges.present(name, object_name, object_type,
247562       privileges=None,    grant_option=None,    prepend=u'public',    mainte‐
247563       nance_db=None, user=None, db_password=None, db_host=None, db_port=None,
247564       db_user=None)
247565              Grant  the  requested  privilege(s) on the specified object to a
247566              role
247567
247568              name   Name of the role to which privileges should be granted
247569
247570              object_name
247571                     Name of the object on which the grant is to be performed.
247572                     'ALL'  may  be  used  for  objects  of  type  'table'  or
247573                     'sequence'.
247574
247575              object_type
247576                     The object type, which can be one of the following:
247577
247578                     · table
247579
247580                     · sequence
247581
247582                     · schema
247583
247584                     · tablespace
247585
247586                     · language
247587
247588                     · database
247589
247590                     · group
247591
247592                     · function
247593
247594                     View permissions should specify object_type: table.
247595
247596              privileges
247597                     List of privileges to grant, from the list below:
247598
247599                     · INSERT
247600
247601                     · CREATE
247602
247603                     · TRUNCATE
247604
247605                     · CONNECT
247606
247607                     · TRIGGER
247608
247609                     · SELECT
247610
247611                     · USAGE
247612
247613                     · TEMPORARY
247614
247615                     · UPDATE
247616
247617                     · EXECUTE
247618
247619                     · REFERENCES
247620
247621                     · DELETE
247622
247623                     · ALL
247624
247625                     note   privileges should not be set when  granting  group
247626                            membership
247627
247628              grant_option
247629                     If  grant_option  is  set  to  True, the recipient of the
247630                     privilege can in turn grant it to others
247631
247632              prepend
247633                     Table and Sequence object types live under  a  schema  so
247634                     this  should  be  provided if the object is not under the
247635                     default public schema
247636
247637              maintenance_db
247638                     The name of the database in which the language is  to  be
247639                     installed
247640
247641              user   System  user all operations should be performed on behalf
247642                     of
247643
247644              db_user
247645                     database username if different from config or default
247646
247647              db_password
247648                     user password if any password for a specified user
247649
247650              db_host
247651                     Database host if different from config or default
247652
247653              db_port
247654                     Database port if different from config or default
247655
247656   salt.states.postgres_schema
247657   Management of PostgreSQL schemas
247658       The postgres_schemas module is  used  to  create  and  manage  Postgres
247659       schemas.
247660
247661          public:
247662            postgres_schema.present 'dbname' 'name'
247663
247664       salt.states.postgres_schema.absent(dbname,       name,       user=None,
247665       db_user=None, db_password=None, db_host=None, db_port=None)
247666              Ensure that the named schema is absent.
247667
247668              dbname The database's name will work on
247669
247670              name   The name of the schema to remove
247671
247672              user   system user all operations should be performed on  behalf
247673                     of
247674
247675              db_user
247676                     database username if different from config or default
247677
247678              db_password
247679                     user password if any password for a specified user
247680
247681              db_host
247682                     Database host if different from config or default
247683
247684              db_port
247685                     Database port if different from config or default
247686
247687       salt.states.postgres_schema.present(dbname,      name,      owner=None,
247688       user=None, db_user=None, db_password=None, db_host=None, db_port=None)
247689              Ensure that the named schema is present in the database.
247690
247691              dbname The database's name will work on
247692
247693              name   The name of the schema to manage
247694
247695              user   system user all operations should be performed on  behalf
247696                     of
247697
247698              db_user
247699                     database username if different from config or default
247700
247701              db_password
247702                     user password if any password for a specified user
247703
247704              db_host
247705                     Database host if different from config or default
247706
247707              db_port
247708                     Database port if different from config or default
247709
247710   salt.states.postgres_tablespace
247711   Management of PostgreSQL tablespace
247712       A module used to create and manage PostgreSQL tablespaces.
247713
247714          ssd-tablespace:
247715            postgres_tablespace.present:
247716              - name: indexes
247717              - directory: /mnt/ssd-data
247718
247719       New in version 2015.8.0.
247720
247721
247722       salt.states.postgres_tablespace.absent(name,     user=None,     mainte‐
247723       nance_db=None,    db_user=None,     db_password=None,     db_host=None,
247724       db_port=None)
247725              Ensure that the named tablespace is absent.
247726
247727              name   The name of the tablespace to remove
247728
247729              user   System  user all operations should be performed on behalf
247730                     of
247731
247732              maintenance_db
247733                     Database to act on
247734
247735              db_user
247736                     Database username if different from config or defaul
247737
247738              db_password
247739                     User password if any password for a specified user
247740
247741              db_host
247742                     Database host if different from config or default
247743
247744              db_port
247745                     Database port if different from config or default
247746
247747       salt.states.postgres_tablespace.present(name, directory,  options=None,
247748       owner=None,     user=None,    maintenance_db=None,    db_password=None,
247749       db_host=None, db_port=None, db_user=None)
247750              Ensure that the named tablespace is present with  the  specified
247751              properties.  For more information about all of these options run
247752              man 7 create_tablespace.
247753
247754              name   The name of the tablespace to create/manage.
247755
247756              directory
247757                     The directory where the tablespace will be located,  must
247758                     already exist
247759
247760              options
247761                     A  dictionary  of  options to specify for the tablespace.
247762                     Currently, the  only  tablespace  options  supported  are
247763                     seq_page_cost  and  random_page_cost.  Default values are
247764                     shown in the example below:
247765
247766                        my_space:
247767                          postgres_tablespace.present:
247768                            - directory: /srv/my_tablespace
247769                            - options:
247770                                seq_page_cost: 1.0
247771                                random_page_cost: 4.0
247772
247773              owner  The  database  user  that  will  be  the  owner  of   the
247774                     tablespace.   Defaults  to the user executing the command
247775                     (i.e. the user option)
247776
247777              user   System user all operations should be performed on  behalf
247778                     of
247779
247780              maintenance_db
247781                     Database to act on
247782
247783              db_user
247784                     Database username if different from config or default
247785
247786              db_password
247787                     User password if any password for a specified user
247788
247789              db_host
247790                     Database host if different from config or default
247791
247792              db_port
247793                     Database port if different from config or default
247794
247795   salt.states.postgres_user
247796   Management of PostgreSQL users (roles)
247797       The postgres_users module is used to create and manage Postgres users.
247798
247799          frank:
247800            postgres_user.present
247801
247802       salt.states.postgres_user.absent(name,  user=None, maintenance_db=None,
247803       db_password=None, db_host=None, db_port=None, db_user=None)
247804              Ensure that the named user is absent
247805
247806              name   The username of the user to remove
247807
247808              user   System user all operations should be performed on  behalf
247809                     of
247810
247811                     New in version 0.17.0.
247812
247813
247814              db_user
247815                     database username if different from config or default
247816
247817              db_password
247818                     user password if any password for a specified user
247819
247820              db_host
247821                     Database host if different from config or default
247822
247823              db_port
247824                     Database port if different from config or default
247825
247826       salt.states.postgres_user.present(name,       createdb=None,       cre‐
247827       ateroles=None,   encrypted=None,   superuser=None,    replication=None,
247828       inherit=None,    login=None,    password=None,   default_password=None,
247829       refresh_password=None, valid_until=None, groups=None, user=None,  main‐
247830       tenance_db=None,    db_password=None,    db_host=None,    db_port=None,
247831       db_user=None)
247832              Ensure that the named user is present with the specified  privi‐
247833              leges  Please  note  that the user/group notion in postgresql is
247834              just abstract, we have roles, where users can be seens as  roles
247835              with the LOGIN privilege and groups the others.
247836
247837              name   The name of the system user to manage.
247838
247839              createdb
247840                     Is the user allowed to create databases?
247841
247842              createroles
247843                     Is the user allowed to create other users?
247844
247845              encrypted
247846                     Should the password be encrypted in the system catalog?
247847
247848              login  Should the group have login perm
247849
247850              inherit
247851                     Should the group inherit permissions
247852
247853              superuser
247854                     Should the new user be a "superuser"
247855
247856              replication
247857                     Should  the  new  user  be  allowed to initiate streaming
247858                     replication
247859
247860              password
247861                     The system user's password. It  can  be  either  a  plain
247862                     string or a md5 postgresql hashed password:
247863
247864                        'md5{MD5OF({password}{role}}'
247865
247866                     If  encrypted is None or True, the password will be auto‐
247867                     matically encrypted to the previous format if it  is  not
247868                     already done.
247869
247870              default_password
247871                     The  password  used  only  when creating the user, unless
247872                     password is set.
247873
247874                     New in version 2016.3.0.
247875
247876
247877              refresh_password
247878                     Password refresh flag
247879
247880                     Boolean attribute to specify whether to password compari‐
247881                     son check should be performed.
247882
247883                     If  refresh_password  is True, the password will be auto‐
247884                     matically updated without extra password change check.
247885
247886                     This behaviour makes it possible to execute  in  environ‐
247887                     ments without superuser access available, e.g. Amazon RDS
247888                     for PostgreSQL
247889
247890              valid_until
247891                     A date and time after which the  role's  password  is  no
247892                     longer valid.
247893
247894              groups A string of comma separated groups the user should be in
247895
247896              user   System  user all operations should be performed on behalf
247897                     of
247898
247899                     New in version 0.17.0.
247900
247901
247902              db_user
247903                     Postgres database username, if different from  config  or
247904                     default.
247905
247906              db_password
247907                     Postgres  user's  password, if any password, for a speci‐
247908                     fied db_user.
247909
247910              db_host
247911                     Postgres database  host,  if  different  from  config  or
247912                     default.
247913
247914              db_port
247915                     Postgres  database  port,  if  different  from  config or
247916                     default.
247917
247918   salt.states.powerpath
247919   Powerpath configuration support
247920       Allows configuration of EMC Powerpath.  Currently  only  addition/dele‐
247921       tion of licenses is supported.
247922
247923          key:
247924            powerpath.license_present: []
247925
247926       salt.states.powerpath.license_absent(name)
247927              Ensures  that  the  specified PowerPath license key is absent on
247928              the host.
247929
247930              name   The license key to ensure is absent
247931
247932       salt.states.powerpath.license_present(name)
247933              Ensures that the specified PowerPath license key is  present  on
247934              the host.
247935
247936              name   The license key to ensure is present
247937
247938   salt.states.probes
247939   Network Probes
247940       Configure  RPM  (JunOS)/SLA  (Cisco)  probes  on  the device via NAPALM
247941       proxy.
247942
247943       codeauthor
247944              Mircea  Ulinic  <mircea@cloudflare.com>  &  Jerome   Fleury   <‐
247945              jf@cloudflare.com>
247946
247947       maturity
247948              new
247949
247950       depends
247951              napalm
247952
247953       platform
247954              unix
247955
247956   Dependencies
247957       · napalm probes management module
247958
247959       salt.states.probes.managed(name, probes, defaults=None)
247960              Ensure  the  networks  device  is configured as specified in the
247961              state SLS file.  Probes not specified  will  be  removed,  while
247962              probes not confiured as expected will trigger config updates.
247963
247964              Parameters
247965
247966                     · probes  -- Defines the probes as expected to be config‐
247967                       ured on the device.  In order to ease the configuration
247968                       and avoid repeating the same parameters for each probe,
247969                       the next parameter (defaults) can  be  used,  providing
247970                       common characteristics.
247971
247972                     · defaults -- Specifies common parameters for the probes.
247973
247974              SLS Example:
247975
247976                 rpmprobes:
247977                     probes.managed:
247978                         - probes:
247979                             probe_name1:
247980                                 probe1_test1:
247981                                     source: 192.168.0.2
247982                                     target: 192.168.0.1
247983                                 probe1_test2:
247984                                     target: 172.17.17.1
247985                                 probe1_test3:
247986                                     target: 8.8.8.8
247987                                     probe_type: http-ping
247988                             probe_name2:
247989                                 probe2_test1:
247990                                     test_interval: 100
247991                         - defaults:
247992                             target: 10.10.10.10
247993                             probe_count: 15
247994                             test_interval: 3
247995                             probe_type: icmp-ping
247996
247997              In  the  probes  configuration,  the only mandatory attribute is
247998              target (specified either in probes configuration, either in  the
247999              defaults  dictionary).   All  the  other parameters will use the
248000              operating system defaults, if not provided:
248001
248002              · source - Specifies the source IP Address to be used during the
248003                tests.   If not specified will use the IP Address of the logi‐
248004                cal interface loopback0.
248005
248006              · target - Destination IP Address.
248007
248008              · probe_count - Total number of probes per test (1..15).  System
248009                defaults: 1 on both JunOS & Cisco.
248010
248011              · probe_interval  - Delay between tests (0..86400 seconds). Sys‐
248012                tem defaults: 3 on JunOS, 5 on Cisco.
248013
248014              · probe_type - Probe request type. Available options:
248015
248016                · icmp-ping
248017
248018                · tcp-ping
248019
248020                · udp-ping
248021
248022              Using the example configuration above, after running the  state,
248023              on  the  device  will be configured 4 probes, with the following
248024              properties:
248025
248026                 probe_name1:
248027                     probe1_test1:
248028                         source: 192.168.0.2
248029                         target: 192.168.0.1
248030                         probe_count: 15
248031                         test_interval: 3
248032                         probe_type: icmp-ping
248033                     probe1_test2:
248034                         target: 172.17.17.1
248035                         probe_count: 15
248036                         test_interval: 3
248037                         probe_type: icmp-ping
248038                     probe1_test3:
248039                         target: 8.8.8.8
248040                         probe_count: 15
248041                         test_interval: 3
248042                         probe_type: http-ping
248043                 probe_name2:
248044                     probe2_test1:
248045                         target: 10.10.10.10
248046                         probe_count: 15
248047                         test_interval: 3
248048                         probe_type: icmp-ping
248049
248050   salt.states.process
248051   Process Management
248052       Ensure a process matching a given pattern is absent.
248053
248054          httpd-absent:
248055            process.absent:
248056              - name: apache2
248057
248058       salt.states.process.absent(name, user=None, signal=None)
248059              Ensures that the named command is not running.
248060
248061              name   The pattern to match.
248062
248063              user   The user to which the process belongs
248064
248065              signal Signal to send to the process(es).
248066
248067   salt.states.proxy module
248068   Allows you to manage proxy settings on minions
248069       Setup proxy settings on minions
248070
248071          192.168.1.4:
248072            proxy.managed:
248073              - port: 3128
248074              - bypass_domains:
248075                  - localhost
248076                  - 127.0.0.1
248077
248078       salt.states.proxy.managed(name, port, services=None,  user=None,  pass‐
248079       word=None, bypass_domains=None, network_service=u'Ethernet')
248080              Manages proxy settings for this mininon
248081
248082              name   The proxy server to use
248083
248084              port   The port used by the proxy server
248085
248086              services
248087                     A  list  of  the services that should use the given proxy
248088                     settings, valid services include http, https and ftp.  If
248089                     no  service  is  given  all of the valid services will be
248090                     used.
248091
248092              user   The username to use for the proxy server if required
248093
248094              password
248095                     The password to use for the proxy server if required
248096
248097              bypass_domains
248098                     An array of the domains that should bypass the proxy
248099
248100              network_service
248101                     The network service to apply the changes  to,  this  only
248102                     necessary on macOS
248103
248104   salt.states.pushover
248105   Send a message to PushOver
248106       This  state  is  useful  for  sending messages to PushOver during state
248107       runs.
248108
248109       New in version 2015.5.0.
248110
248111
248112          pushover-message:
248113            pushover.post_message:
248114              - user: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
248115              - token: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
248116              - title: Salt Returner
248117              - device: phone
248118              - priority: -1
248119              - expire: 3600
248120              - retry: 5
248121              - message: 'This state was executed successfully.'
248122
248123       The api key can be specified in the master or minion configuration like
248124       below:
248125
248126          pushover:
248127                 token: peWcBiMOS9HrZG15peWcBiMOS9HrZG15
248128
248129       salt.states.pushover.post_message(name,  user=None,  device=None,  mes‐
248130       sage=None,   title=None,   priority=None,   expire=None,    retry=None,
248131       sound=None, api_version=1, token=None)
248132              Send a message to a PushOver channel.
248133
248134                 pushover-message:
248135                   pushover.post_message:
248136                     - user: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
248137                     - token: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
248138                     - title: Salt Returner
248139                     - device: phone
248140                     - priority: -1
248141                     - expire: 3600
248142                     - retry: 5
248143
248144              The following parameters are required:
248145
248146              name   The unique name for this event.
248147
248148              user   The  user  or group of users to send the message to. Must
248149                     be ID of user, not name or email address.
248150
248151              message
248152                     The message that is to be sent to the PushOver channel.
248153
248154              The following parameters are optional:
248155
248156              title  The title to use for the message.
248157
248158              device The device for the user to send the message to.
248159
248160              priority
248161                     The priority for the message.
248162
248163              expire The message should expire after specified amount of  sec‐
248164                     onds.
248165
248166              retry  The message should be resent this many times.
248167
248168              token  The  token for PushOver to use for authentication, if not
248169                     specified in the configuration options of master or  min‐
248170                     ion.
248171
248172   salt.states.pyenv
248173   Managing python installations with pyenv
248174       This  module  is  used  to install and manage python installations with
248175       pyenv.  Different versions of python can be installed, and uninstalled.
248176       pyenv  will  be installed automatically the first time it is needed and
248177       can be updated later. This module will not automatically install  pack‐
248178       ages which pyenv will need to compile the versions of python.
248179
248180       If  pyenv  is  run  as  the  root  user  then  it  will be installed to
248181       /usr/local/pyenv, otherwise it will be installed to the users  ~/.pyenv
248182       directory. To make pyenv available in the shell you may need to add the
248183       pyenv/shims and pyenv/bin directories to the users  PATH.  If  you  are
248184       installing as root and want other users to be able to access pyenv then
248185       you will need to add pyenv_ROOT to their environment.
248186
248187       This is how a state configuration could look like:
248188
248189          pyenv-deps:
248190            pkg.installed:
248191              - pkgs:
248192                - make
248193                - build-essential
248194                - libssl-dev
248195                - zlib1g-dev
248196                - libbz2-dev
248197                - libreadline-dev
248198                - libsqlite3-dev
248199                - wget
248200                - curl
248201                - llvm
248202          python-2.6:
248203            pyenv.absent:
248204              - require:
248205                - pkg: pyenv-deps
248206
248207          python-2.7.6:
248208            pyenv.installed:
248209              - default: True
248210              - require:
248211                - pkg: pyenv-deps
248212
248213       NOTE:
248214          Git needs to be installed and available via PATH if pyenv is  to  be
248215          installed automatically by the module.
248216
248217       salt.states.pyenv.absent(name, user=None)
248218              Verify  that  the  specified python is not installed with pyenv.
248219              pyenv is installed if necessary.
248220
248221              name   The version of python to uninstall
248222
248223              user: None
248224                     The user to run pyenv as.
248225
248226                     New in version 0.17.0.
248227
248228
248229              New in version 0.16.0.
248230
248231
248232       salt.states.pyenv.install_pyenv(name, user=None)
248233              Install pyenv if not installed. Allows you to require  pyenv  be
248234              installed prior to installing the plugins. Useful if you want to
248235              install pyenv plugins via the git or file modules and need  them
248236              installed before installing any rubies.
248237
248238              Use  the  pyenv.root  configuration  option  to set the path for
248239              pyenv if you want a system wide install that is not  in  a  user
248240              home dir.
248241
248242              user: None
248243                     The user to run pyenv as.
248244
248245       salt.states.pyenv.installed(name, default=False, user=None)
248246              Verify  that the specified python is installed with pyenv. pyenv
248247              is installed if necessary.
248248
248249              name   The version of python to install
248250
248251              default
248252                     False Whether to make this python the default.
248253
248254              user: None
248255                     The user to run pyenv as.
248256
248257                     New in version 0.17.0.
248258
248259
248260              New in version 0.16.0.
248261
248262
248263   salt.states.pyrax_queues
248264   Manage Rackspace Queues
248265       New in version 2015.5.0.
248266
248267
248268       Create and destroy Rackspace queues. Be aware that this interacts  with
248269       Rackspace's services, and so may incur charges.
248270
248271       This  module  uses  pyrax,  which can be installed via package, or pip.
248272       This module is greatly inspired by boto_* modules from  SaltStack  code
248273       source.
248274
248275          myqueue:
248276              pyrax_queues.present:
248277                  - provider: my-pyrax
248278
248279          myqueue:
248280              pyrax_queues.absent:
248281                  - provider: my-pyrax
248282
248283       salt.states.pyrax_queues.absent(name, provider)
248284              Ensure the named Rackspace queue is deleted.
248285
248286              name   Name of the Rackspace queue.
248287
248288              provider
248289                     Salt Cloud provider
248290
248291       salt.states.pyrax_queues.present(name, provider)
248292              Ensure the RackSpace queue exists.
248293
248294              name   Name of the Rackspace queue.
248295
248296              provider
248297                     Salt Cloud Provider
248298
248299   salt.states.quota
248300   Management of POSIX Quotas
248301       The quota can be managed for the system:
248302
248303          /:
248304            quota.mode:
248305              mode: off
248306              quotatype: user
248307
248308       salt.states.quota.mode(name, mode, quotatype)
248309              Set the quota for the system
248310
248311              name   The filesystem to set the quota mode on
248312
248313              mode   Whether the quota system is on or off
248314
248315              quotatype
248316                     Must be user or group
248317
248318   salt.states.rabbitmq_cluster
248319   Manage RabbitMQ Clusters
248320       Example:
248321
248322          rabbit@rabbit.example.com:
248323            rabbitmq_cluster.join:
248324              - user: rabbit
248325              - host: rabbit.example.com
248326
248327       salt.states.rabbitmq_cluster.join(name,      host,      user=u'rabbit',
248328       ram_node=None, runas=u'root')
248329              This function is an alias of joined.
248330                 Ensure the  current  node  joined  to  a  cluster  with  node
248331                 user@host
248332
248333                 name   Irrelevant, not used (recommended: user@host)
248334
248335                 user   The user of node to join to (default: rabbit)
248336
248337                 host   The host of node to join to
248338
248339                 ram_node
248340                        Join node as a RAM node
248341
248342                 runas  The user to run the rabbitmq command as
248343
248344       salt.states.rabbitmq_cluster.joined(name,     host,     user=u'rabbit',
248345       ram_node=None, runas=u'root')
248346              Ensure the current node joined to a cluster with node user@host
248347
248348              name   Irrelevant, not used (recommended: user@host)
248349
248350              user   The user of node to join to (default: rabbit)
248351
248352              host   The host of node to join to
248353
248354              ram_node
248355                     Join node as a RAM node
248356
248357              runas  The user to run the rabbitmq command as
248358
248359   salt.states.rabbitmq_plugin
248360   Manage RabbitMQ Plugins
248361       New in version 2014.1.0.
248362
248363
248364       Example:
248365
248366          some_plugin:
248367            rabbitmq_plugin.enabled: []
248368
248369       salt.states.rabbitmq_plugin.disabled(name, runas=None)
248370              Ensure the RabbitMQ plugin is disabled.
248371
248372              name   The name of the plugin
248373
248374              runas  The user to run the rabbitmq-plugin command as
248375
248376       salt.states.rabbitmq_plugin.enabled(name, runas=None)
248377              Ensure the RabbitMQ plugin is enabled.
248378
248379              name   The name of the plugin
248380
248381              runas  The user to run the rabbitmq-plugin command as
248382
248383   salt.states.rabbitmq_policy
248384   Manage RabbitMQ Policies
248385       maintainer
248386              Benn Eichhorn <benn@getlocalmeasure.com>
248387
248388       maturity
248389              new
248390
248391       platform
248392              all
248393
248394       Example:
248395
248396          rabbit_policy:
248397            rabbitmq_policy.present:
248398              - name: HA
248399              - pattern: '.*'
248400              - definition: '{"ha-mode": "all"}'
248401
248402       salt.states.rabbitmq_policy.absent(name, vhost=u'/', runas=None)
248403              Ensure the named policy is absent
248404
248405              Reference: http://www.rabbitmq.com/ha.html
248406
248407              name   The name of the policy to remove
248408
248409              runas  Name of the user to run the command as
248410
248411       salt.states.rabbitmq_policy.present(name, pattern,  definition,  prior‐
248412       ity=0, vhost=u'/', runas=None, apply_to=None)
248413              Ensure the RabbitMQ policy exists.
248414
248415              Reference: http://www.rabbitmq.com/ha.html
248416
248417              name   Policy name
248418
248419              pattern
248420                     A regex of queues to apply the policy to
248421
248422              definition
248423                     A json dict describing the policy
248424
248425              priority
248426                     Priority (defaults to 0)
248427
248428              vhost  Virtual host to apply to (defaults to '/')
248429
248430              runas  Name of the user to run the command as
248431
248432              apply_to
248433                     Apply  policy  to 'queues', 'exchanges' or 'all' (default
248434                     to 'all')
248435
248436   salt.states.rabbitmq_user
248437   Manage RabbitMQ Users
248438       Example:
248439
248440          rabbit_user:
248441            rabbitmq_user.present:
248442              - password: password
248443              - force: True
248444              - tags:
248445                - monitoring
248446                - user
248447              - perms:
248448                - '/':
248449                  - '.*'
248450                  - '.*'
248451                  - '.*'
248452              - runas: rabbitmq
248453
248454       salt.states.rabbitmq_user.absent(name, runas=None)
248455              Ensure the named user is absent
248456
248457              name   The name of the user to remove
248458
248459              runas  User to run the command
248460
248461       salt.states.rabbitmq_user.present(name,   password=None,   force=False,
248462       tags=None, perms=(), runas=None)
248463              Ensure the RabbitMQ user exists.
248464
248465              name   User name
248466
248467              password
248468                     User's password, if one needs to be set
248469
248470              force  If user exists, forcibly change the password
248471
248472              tags   Optional list of tags for the user
248473
248474              perms  A list of dicts with vhost keys and 3-tuple values
248475
248476              runas  Name of the user to run the command
248477
248478   salt.states.rabbitmq_vhost
248479   Manage RabbitMQ Virtual Hosts
248480       Example:
248481
248482          virtual_host:
248483            rabbitmq_vhost.present:
248484              - user: rabbit_user
248485              - conf: .*
248486              - write: .*
248487              - read: .*
248488
248489       salt.states.rabbitmq_vhost.absent(name)
248490              Ensure the RabbitMQ Virtual Host is absent
248491
248492              name   Name of the Virtual Host to remove
248493
248494              runas  User to run the command
248495
248496                     Deprecated since version 2015.8.0.
248497
248498
248499       salt.states.rabbitmq_vhost.present(name)
248500              Ensure the RabbitMQ VHost exists.
248501
248502              name   VHost name
248503
248504              user   Initial user permission to set on the VHost, if present
248505
248506                     Deprecated since version 2015.8.0.
248507
248508
248509              owner  Initial owner permission to set on the VHost, if present
248510
248511                     Deprecated since version 2015.8.0.
248512
248513
248514              conf   Initial  conf  string  to  apply  to  the VHost and user.
248515                     Defaults to .*
248516
248517                     Deprecated since version 2015.8.0.
248518
248519
248520              write  Initial write permissions to apply to the VHost and user.
248521                     Defaults to .*
248522
248523                     Deprecated since version 2015.8.0.
248524
248525
248526              read   Initial  read permissions to apply to the VHost and user.
248527                     Defaults to .*
248528
248529                     Deprecated since version 2015.8.0.
248530
248531
248532              runas  Name of the user to run the command
248533
248534                     Deprecated since version 2015.8.0.
248535
248536
248537   salt.states.rbac_solaris
248538       Management of Solaris RBAC
248539
248540       maintainer
248541              Jorge Schrauwen <sjorge@blackdot.be>
248542
248543       maturity
248544              new
248545
248546       depends
248547              rbac_solaris,solaris_user
248548
248549       platform
248550              solaris,illumos
248551
248552       New in version 2016.11.0.
248553
248554
248555          sjorge:
248556            rbac.managed:
248557              - roles:
248558                  - netcfg
248559              - profiles:
248560                  - System Power
248561              - authorizations:
248562                  - solaris.audit.*
248563
248564       salt.states.rbac_solaris.managed(name,    roles=None,    profiles=None,
248565       authorizations=None)
248566              Manage RBAC properties for user
248567
248568              name   string username
248569
248570              roles  list list of roles for user
248571
248572              profiles
248573                     list list of profiles for user
248574
248575              authorizations
248576                     list list of authorizations for user
248577
248578              WARNING:
248579                 All  existing  roles,  profiles  and  authorizations  will be
248580                 replaced!  An empty list will remove everything.
248581
248582                 Set the property to None to not manage it.
248583
248584   salt.states.rbenv
248585   Managing Ruby installations with rbenv
248586       This module is used to install and manage ruby installations with rbenv
248587       and the ruby-build plugin. Different versions of ruby can be installed,
248588       and uninstalled.  Rbenv will be installed automatically the first  time
248589       it  is  needed and can be updated later. This module will not automati‐
248590       cally install packages which rbenv will need to compile the versions of
248591       ruby. If your version of ruby fails to install, refer to the ruby-build
248592       documentation  to  verify  you  are  not  missing   any   dependencies:
248593       https://github.com/sstephenson/ruby-build/wiki
248594
248595       If  rbenv  is  run  as  the  root  user  then  it  will be installed to
248596       /usr/local/rbenv, otherwise it will be installed to the users  ~/.rbenv
248597       directory. To make rbenv available in the shell you may need to add the
248598       rbenv/shims and rbenv/bin directories to the users  PATH.  If  you  are
248599       installing as root and want other users to be able to access rbenv then
248600       you will need to add RBENV_ROOT to their environment.
248601
248602       The following state configuration  demonstrates  how  to  install  Ruby
248603       1.9.x and 2.x using rbenv on Ubuntu/Debian:
248604
248605          rbenv-deps:
248606            pkg.installed:
248607              - names:
248608                - bash
248609                - git
248610                - openssl
248611                - libssl-dev
248612                - make
248613                - curl
248614                - autoconf
248615                - bison
248616                - build-essential
248617                - libffi-dev
248618                - libyaml-dev
248619                - libreadline6-dev
248620                - zlib1g-dev
248621                - libncurses5-dev
248622
248623          ruby-1.9.3-p429:
248624            rbenv.absent:
248625              - require:
248626                - pkg: rbenv-deps
248627
248628          ruby-2.0.0-p598:
248629            rbenv.installed:
248630              - default: True
248631              - require:
248632                - pkg: rbenv-deps
248633
248634       salt.states.rbenv.absent(name, user=None)
248635              Verify  that  the  specified  ruby  is not installed with rbenv.
248636              Rbenv is installed if necessary.
248637
248638              name   The version of ruby to uninstall
248639
248640              user: None
248641                     The user to run rbenv as.
248642
248643                     New in version 0.17.0.
248644
248645
248646              New in version 0.16.0.
248647
248648
248649       salt.states.rbenv.install_rbenv(name, user=None)
248650              Install rbenv if not installed. Allows you to require  rbenv  be
248651              installed prior to installing the plugins. Useful if you want to
248652              install rbenv plugins via the git or file modules and need  them
248653              installed before installing any rubies.
248654
248655              Use  the  rbenv.root  configuration  option  to set the path for
248656              rbenv if you want a system wide install that is not  in  a  user
248657              home dir.
248658
248659              user: None
248660                     The user to run rbenv as.
248661
248662       salt.states.rbenv.installed(name, default=False, user=None)
248663              Verify that the specified ruby is installed with rbenv. Rbenv is
248664              installed if necessary.
248665
248666              name   The version of ruby to install
248667
248668              default
248669                     False Whether to make this ruby the default.
248670
248671              user: None
248672                     The user to run rbenv as.
248673
248674                     New in version 0.17.0.
248675
248676
248677              New in version 0.16.0.
248678
248679
248680   salt.states.rdp
248681       Manage RDP Service on Windows servers
248682
248683       salt.states.rdp.disabled(name)
248684              Disable the RDP service
248685
248686       salt.states.rdp.enabled(name)
248687              Enable the RDP service and make sure access to the RDP  port  is
248688              allowed in the firewall configuration
248689
248690   salt.states.redismod
248691   Management of Redis server
248692       New in version 2014.7.0.
248693
248694
248695       depends
248696
248697              · redis Python module
248698
248699       configuration
248700              See salt.modules.redis for setup instructions.
248701
248702          key_in_redis:
248703            redis.string:
248704              - value: string data
248705
248706       The redis server information specified in the minion config file can be
248707       overridden in states using the following  arguments:  host,  post,  db,
248708       password.
248709
248710          key_in_redis:
248711            redis.string:
248712              - value: string data
248713              - host: localhost
248714              - port: 6379
248715              - db: 0
248716              - password: somuchkittycat
248717
248718       salt.states.redismod.absent(name, keys=None, **connection_args)
248719              Ensure key absent from redis
248720
248721              name   Key to ensure absent from redis
248722
248723              keys   list  of  keys  to ensure absent, name will be ignored if
248724                     this is used
248725
248726       salt.states.redismod.slaveof(name,       sentinel_host=None,       sen‐
248727       tinel_port=None, sentinel_password=None, **connection_args)
248728              Set this redis instance as a slave.
248729
248730              name   Master to make this a slave of
248731
248732              sentinel_host
248733                     Ip of the sentinel to check for the master
248734
248735              sentinel_port
248736                     Port of the sentinel to check for the master
248737
248738       salt.states.redismod.string(name,  value,  expire=None,  expireat=None,
248739       **connection_args)
248740              Ensure that the key exists in redis with the value specified
248741
248742              name   Redis key to manage
248743
248744              value  Data to persist in key
248745
248746              expire Sets time to live for key in seconds
248747
248748              expireat
248749                     Sets expiration time for key via  UNIX  timestamp,  over‐
248750                     rides expire
248751
248752   salt.states.reg
248753   Manage the Windows registry
248754       Many  python  developers  think of registry keys as if they were python
248755       keys in a dictionary which is not the case.  The  windows  registry  is
248756       broken down into the following components:
248757
248758   Hives
248759       This is the top level of the registry. They all begin with HKEY.
248760
248761          · HKEY_CLASSES_ROOT (HKCR)
248762
248763          · HKEY_CURRENT_USER(HKCU)
248764
248765          · HKEY_LOCAL MACHINE (HKLM)
248766
248767          · HKEY_USER (HKU)
248768
248769          · HKEY_CURRENT_CONFIG
248770
248771   Keys
248772       Hives  contain keys. These are basically the folders beneath the hives.
248773       They can contain any number of subkeys.
248774
248775       When passing the hivekey values they must be quoted correctly depending
248776       on  the  backslashes being used (\ vs \\). The way backslashes are han‐
248777       dled in the state file is different from the way they are handled  when
248778       working  on  the  CLI.  The  following are valid methods of passing the
248779       hivekey:
248780
248781       Using single backslashes:
248782              HKLMSOFTWAREPython 'HKLMSOFTWAREPython'
248783
248784       Using double backslashes:
248785              "HKLM\SOFTWARE\Python"
248786
248787   Values or Entries
248788       Values or Entries are the name/data pairs beneath the keys and subkeys.
248789       All  keys  have  a default name/data pair. The name is (Default) with a
248790       displayed value of (value not set). The actual value is Null.  Example
248791
248792       The following example is taken from the windows startup portion of  the
248793       registry:
248794
248795          [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]
248796          "RTHDVCPL"="\"C:\\Program Files\\Realtek\\Audio\\HDA\\RtkNGUI64.exe\" -s"
248797          "NvBackend"="\"C:\\Program Files (x86)\\NVIDIA Corporation\\Update Core\\NvBackend.exe\""
248798          "BTMTrayAgent"="rundll32.exe \"C:\\Program Files (x86)\\Intel\\Bluetooth\\btmshellex.dll\",TrayApp"
248799
248800       In this example these are the values for each:
248801
248802       Hive:  HKEY_LOCAL_MACHINE
248803
248804       Key and subkeys:
248805              SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run
248806
248807       Value:
248808
248809       · There are 3 value names: RTHDVCPL, NvBackend, and BTMTrayAgent
248810
248811       · Each value name has a corresponding value
248812
248813       salt.states.reg.absent(name, vname=None, use_32bit_registry=False)
248814              Ensure  a  registry  value  is  removed.  To  remove  a  key use
248815              key_absent.
248816
248817              Parameters
248818
248819                     · name (str) --
248820
248821                       A string value representing the full path of the key to
248822                       include the HIVE, Key, and all Subkeys. For example:
248823
248824                       HKEY_LOCAL_MACHINE\\SOFTWARE\\Salt
248825
248826                       Valid hive values include:
248827
248828                          · HKEY_CURRENT_USER or HKCU
248829
248830                          · HKEY_LOCAL_MACHINE or HKLM
248831
248832                          · HKEY_USERS or HKU
248833
248834
248835                     · vname (str) -- The name of the value you'd like to cre‐
248836                       ate beneath the Key. If this parameter is not passed it
248837                       will assume you want to set the (Default) value
248838
248839                     · use_32bit_registry  (bool)  -- Use the 32bit portion of
248840                       the registry. Applies only to 64bit windows. 32bit Win‐
248841                       dows will ignore this parameter. Default is False.
248842
248843              Returns
248844                     A  dictionary  showing the results of the registry opera‐
248845                     tion.
248846
248847              Return type
248848                     dict
248849
248850              CLI Example:
248851
248852                     'HKEY_CURRENT_USER\\SOFTWARE\\Salt':
248853                       reg.absent
248854                         - vname: version
248855
248856                 In the above example the value named version will be  removed
248857                 from  the SOFTWARE\Salt key in the HKEY_CURRENT_USER hive. If
248858                 vname was not passed, the (Default) value would be deleted.
248859
248860       salt.states.reg.key_absent(name, use_32bit_registry=False)
248861              New in version 2015.5.4.
248862
248863
248864              Ensure a registry key is removed. This will remove the key, sub‐
248865              keys, and all value entries.
248866
248867              Parameters
248868
248869                     · name (str) --
248870
248871                       A  string  representing  the full path to the key to be
248872                       removed to include the hive and the keypath.  The  hive
248873                       can be any of the following:
248874
248875                          · HKEY_LOCAL_MACHINE or HKLM
248876
248877                          · HKEY_CURRENT_USER or HKCU
248878
248879                          · HKEY_USER or HKU
248880
248881
248882                     · use_32bit_registry  (bool)  -- Use the 32bit portion of
248883                       the registry. Applies only to 64bit windows. 32bit Win‐
248884                       dows will ignore this parameter. Default is False.
248885
248886              Returns
248887                     A  dictionary  showing the results of the registry opera‐
248888                     tion.
248889
248890              Return type
248891                     dict
248892
248893              CLI Example:
248894                 The following example will delete the  SOFTWARE\DeleteMe  key
248895                 in  the HKEY_LOCAL_MACHINE hive including all its subkeys and
248896                 value pairs.
248897
248898                     remove_key_demo:
248899                       reg.key_absent:
248900                         - name: HKEY_CURRENT_USER\SOFTWARE\DeleteMe
248901
248902                 In the above example the path is interpreted as follows:
248903
248904                     · HKEY_CURRENT_USER is the hive
248905
248906                     · SOFTWARE\DeleteMe is the key
248907
248908       salt.states.reg.present(name, vname=None, vdata=None,  vtype=u'REG_SZ',
248909       use_32bit_registry=False,        win_owner=None,        win_perms=None,
248910       win_deny_perms=None, win_inheritance=True, win_perms_reset=False)
248911              Ensure a registry key or value is present.
248912
248913              Parameters
248914
248915                     · name (str) --
248916
248917                       A string value representing the full path of the key to
248918                       include the HIVE, Key, and all Subkeys. For example:
248919
248920                       HKEY_LOCAL_MACHINE\\SOFTWARE\\Salt
248921
248922                       Valid hive values include:
248923
248924                          · HKEY_CURRENT_USER or HKCU
248925
248926                          · HKEY_LOCAL_MACHINE or HKLM
248927
248928                          · HKEY_USERS or HKU
248929
248930
248931                     · vname (str) -- The name of the value you'd like to cre‐
248932                       ate beneath the Key. If this parameter is not passed it
248933                       will assume you want to set the (Default) value
248934
248935                     · vdata (str, int, list, bytes) --
248936
248937                       The value you'd like to set. If a value name (vname) is
248938                       passed, this will be the data for that value  name.  If
248939                       not, this will be the (Default) value for the key.
248940
248941                       The  type  of data this parameter expects is determined
248942                       by the value type specified in  vtype.  The  correspon‐
248943                       dence is as follows:
248944
248945                          · REG_BINARY: Binary data (str in Py2, bytes in Py3)
248946
248947                          · REG_DWORD: int
248948
248949                          · REG_EXPAND_SZ: str
248950
248951                          · REG_MULTI_SZ: list of str
248952
248953                          · REG_QWORD: int
248954
248955                          · REG_SZ: str
248956
248957                          NOTE:
248958                              When  setting  REG_BINARY,  string  data will be
248959                              converted  to  binary  automatically.  To   pass
248960                              binary  data, use the built-in yaml tag !!binary
248961                              to denote  the  actual  binary  characters.  For
248962                              example,  the  following lines will both set the
248963                              same data in the registry:
248964
248965                              · vdata: Salty Test
248966
248967                              · vdata: !!binary U2FsdHkgVGVzdA==\n
248968
248969                              For more information about the !!binary tag  see
248970                              here
248971
248972                       NOTE:
248973                          The  type  for  the (Default) value is always REG_SZ
248974                          and cannot be changed. This parameter  is  optional.
248975                          If not passed, the Key will be created with no asso‐
248976                          ciated item/value pairs.
248977
248978
248979                     · vtype (str) --
248980
248981                       The value type for the data you wish to  store  in  the
248982                       registry. Valid values are:
248983
248984                          · REG_BINARY
248985
248986                          · REG_DWORD
248987
248988                          · REG_EXPAND_SZ
248989
248990                          · REG_MULTI_SZ
248991
248992                          · REG_QWORD
248993
248994                          · REG_SZ (Default)
248995
248996
248997                     · use_32bit_registry  (bool)  -- Use the 32bit portion of
248998                       the registry. Applies only to 64bit windows. 32bit Win‐
248999                       dows will ignore this parameter. Default is False.
249000
249001                     · win_owner (str) --
249002
249003                       The  owner  of the registry key. If this is not passed,
249004                       the account under which Salt is running will be used.
249005
249006                       NOTE:
249007                          Owner  is  set  for  the  key  that   contains   the
249008                          value/data   pair.   You  cannot  set  ownership  on
249009                          value/data pairs themselves.
249010
249011                       New in version Fluorine.
249012
249013
249014
249015                     · win_perms (dict) --
249016
249017                       A dictionary containing permissions to grant and  their
249018                       propagation.   If  not  passed  the 'Grant` permissions
249019                       will not be modified.
249020
249021                       NOTE:
249022                          Permissions are set for the key  that  contains  the
249023                          value/data  pair.  You  cannot  set  permissions  on
249024                          value/data pairs themselves.
249025
249026                       For each user specify the account name, with a sub dict
249027                       for  the permissions to grant and the 'Applies to' set‐
249028                       ting.   For   example:   {'Administrators':   {'perms':
249029                       'full_control',   'applies_to':   'this_key_subkeys'}}.
249030                       perms must be specified.
249031
249032                       Registry permissions are specified using the perms key.
249033                       You  can specify a single basic permission or a list of
249034                       advanced perms. The following are valid perms:
249035
249036                          Basic (passed as a string):
249037
249038                                 · full_control
249039
249040                                 · read
249041
249042                                 · write
249043
249044                          Advanced (passed as a list):
249045
249046                                 · delete
249047
249048                                 · query_value
249049
249050                                 · set_value
249051
249052                                 · create_subkey
249053
249054                                 · enum_subkeys
249055
249056                                 · notify
249057
249058                                 · create_link
249059
249060                                 · read_control
249061
249062                                 · write_dac
249063
249064                                 · write_owner
249065
249066                       The 'Applies to' setting is optional. It  is  specified
249067                       using    the   applies_to   key.   If   not   specified
249068                       this_key_subkeys is used.  Valid options are:
249069
249070                          Applies to settings:
249071
249072                                 · this_key_only
249073
249074                                 · this_key_subkeys
249075
249076                                 · subkeys_only
249077
249078                       New in version Fluorine.
249079
249080
249081
249082                     · win_deny_perms (dict) --
249083
249084                       A dictionary containing permissions to deny  and  their
249085                       propagation.   If  not passed the Deny permissions will
249086                       not be modified.
249087
249088                       NOTE:
249089                          Permissions are set for the key  that  contains  the
249090                          value/data  pair.  You  cannot  set  permissions  on
249091                          value/data pairs themselves.
249092
249093                       Valid options  are  the  same  as  those  specified  in
249094                       win_perms
249095
249096                       NOTE:
249097
249098                          'Deny'   permissions  always  take  precedence  over
249099                          'grant'
249100                                 permissions.
249101
249102                       New in version Fluorine.
249103
249104
249105
249106                     · win_inheritance (bool) --
249107
249108                       True to inherit permissions from the parent key.  False
249109                       to disable inheritance. Default is True.
249110
249111                       NOTE:
249112                          Inheritance  is  set  for  the key that contains the
249113                          value/data  pair.  You  cannot  set  inheritance  on
249114                          value/data pairs themselves.
249115
249116                       New in version Fluorine.
249117
249118
249119
249120                     · win_perms_reset (bool) --
249121
249122                       If  True the existing DACL will be cleared and replaced
249123                       with the settings defined in this function.  If  False,
249124                       new  entries  will  be  appended  to the existing DACL.
249125                       Default is False
249126
249127                       NOTE:
249128                          Perms are  reset  for  the  key  that  contains  the
249129                          value/data  pair.   You  cannot  set  permissions on
249130                          value/data pairs themselves.
249131
249132                       New in version Fluorine.
249133
249134
249135
249136              Returns
249137                     A dictionary showing the results of the  registry  opera‐
249138                     tion.
249139
249140              Return type
249141                     dict
249142
249143              Example:
249144
249145              The following example will set the (Default) value for the SOFT‐
249146              WARE\\Salt key in the HKEY_CURRENT_USER hive to 2016.3.1:
249147
249148                 HKEY_CURRENT_USER\\SOFTWARE\\Salt:
249149                   reg.present:
249150                     - vdata: 2016.3.1
249151
249152              Example:
249153
249154              The following example will set the value for the  version  entry
249155              under  the  SOFTWARE\\Salt  key in the HKEY_CURRENT_USER hive to
249156              2016.3.1. The value will be reflected in Wow6432Node:
249157
249158                 HKEY_CURRENT_USER\\SOFTWARE\\Salt:
249159                   reg.present:
249160                     - vname: version
249161                     - vdata: 2016.3.1
249162
249163              In the above example the path is interpreted as follows:
249164
249165                 · HKEY_CURRENT_USER is the hive
249166
249167                 · SOFTWARE\\Salt is the key
249168
249169                 · vname is the value name ('version') that  will  be  created
249170                   under the key
249171
249172                 · vdata is the data that will be assigned to 'version'
249173
249174              Example:
249175
249176              Binary  data  can be set in two ways. The following two examples
249177              will set a binary value of Salty Test
249178
249179                 no_conversion:
249180                   reg.present:
249181                     - name: HKLM\SOFTWARE\SaltTesting
249182                     - vname: test_reg_binary_state
249183                     - vdata: Salty Test
249184                     - vtype: REG_BINARY
249185
249186                 conversion:
249187                   reg.present:
249188                     - name: HKLM\SOFTWARE\SaltTesting
249189                     - vname: test_reg_binary_state_with_tag
249190                     - vdata: !!binary U2FsdHkgVGVzdA==\n
249191                     - vtype: REG_BINARY
249192
249193              Example:
249194
249195              To set a REG_MULTI_SZ value:
249196
249197                 reg_multi_sz:
249198                   reg.present:
249199                     - name: HKLM\SOFTWARE\Salt
249200                     - vname: reg_multi_sz
249201                     - vdata:
249202                       - list item 1
249203                       - list item 2
249204
249205              Example:
249206
249207              To ensure a key is present and has permissions:
249208
249209                 set_key_permissions:
249210                   reg.present:
249211                     - name: HKLM\SOFTWARE\Salt
249212                     - vname: version
249213                     - vdata: 2016.3.1
249214                     - win_owner: Administrators
249215                     - win_perms:
249216                         jsnuffy:
249217                           perms: full_control
249218                         sjones:
249219                           perms:
249220                             - read_control
249221                             - enum_subkeys
249222                             - query_value
249223                           applies_to:
249224                             - this_key_only
249225                     - win_deny_perms:
249226                         bsimpson:
249227                           perms: full_control
249228                           applies_to: this_key_subkeys
249229                     - win_inheritance: True
249230                     - win_perms_reset: True
249231
249232   salt.states.rsync
249233       State to synchronize files and directories with rsync.
249234
249235       New in version 2016.3.0.
249236
249237
249238          /opt/user-backups:
249239            rsync.synchronized:
249240              - source: /home
249241              - force: True
249242
249243       salt.states.rsync.synchronized(name, source, delete=False, force=False,
249244       update=False,  passwordfile=None,  exclude=None, excludefrom=None, pre‐
249245       pare=False, dryrun=False, additional_opts=None)
249246              Guarantees that the source directory is  always  copied  to  the
249247              target.
249248
249249              name   Name of the target directory.
249250
249251              source Source directory.
249252
249253              prepare
249254                     Create destination directory if it does not exists.
249255
249256              delete Delete  extraneous  files from the destination dirs (True
249257                     or False)
249258
249259              force  Force deletion of dirs even if not empty
249260
249261              update Skip files that are newer on the receiver (True or False)
249262
249263              passwordfile
249264                     Read daemon-access password from the file (path)
249265
249266              exclude
249267                     Exclude files, that matches pattern.
249268
249269              excludefrom
249270                     Read exclude patterns from the file (path)
249271
249272              dryrun Perform a trial run with no changes made. Is the same  as
249273                     doing test=True
249274
249275                     New in version 2016.3.1.
249276
249277
249278              additional_opts
249279                     Pass additional options to rsync, should be included as a
249280                     list.
249281
249282                     New in version 2018.3.0.
249283
249284
249285   salt.states.rvm
249286   Managing Ruby installations and gemsets with Ruby Version Manager (RVM)
249287       This module is used to install and manage ruby installations  and  gem‐
249288       sets with RVM, the Ruby Version Manager. Different versions of ruby can
249289       be installed and gemsets created. RVM itself will be installed automat‐
249290       ically  if it's not present. This module will not automatically install
249291       packages that RVM depends on or ones that are needed to build ruby.  If
249292       you want to run RVM as an unprivileged user (recommended) you will have
249293       to create this user yourself. This is how a state  configuration  could
249294       look like:
249295
249296          rvm:
249297            group.present: []
249298            user.present:
249299              - gid: rvm
249300              - home: /home/rvm
249301              - require:
249302                - group: rvm
249303
249304          rvm-deps:
249305            pkg.installed:
249306              - pkgs:
249307                - bash
249308                - coreutils
249309                - gzip
249310                - bzip2
249311                - gawk
249312                - sed
249313                - curl
249314                - git-core
249315                - subversion
249316
249317          mri-deps:
249318            pkg.installed:
249319              - pkgs:
249320                - build-essential
249321                - openssl
249322                - libreadline6
249323                - libreadline6-dev
249324                - curl
249325                - git-core
249326                - zlib1g
249327                - zlib1g-dev
249328                - libssl-dev
249329                - libyaml-dev
249330                - libsqlite3-0
249331                - libsqlite3-dev
249332                - sqlite3
249333                - libxml2-dev
249334                - libxslt1-dev
249335                - autoconf
249336                - libc6-dev
249337                - libncurses5-dev
249338                - automake
249339                - libtool
249340                - bison
249341                - subversion
249342                - ruby
249343
249344          jruby-deps:
249345            pkg.installed:
249346              - pkgs:
249347                - curl
249348                - g++
249349                - openjdk-6-jre-headless
249350
249351          ruby-1.9.2:
249352            rvm.installed:
249353              - default: True
249354              - user: rvm
249355              - require:
249356                - pkg: rvm-deps
249357                - pkg: mri-deps
249358                - user: rvm
249359
249360          jruby:
249361            rvm.installed:
249362              - user: rvm
249363              - require:
249364                - pkg: rvm-deps
249365                - pkg: jruby-deps
249366                - user: rvm
249367
249368          jgemset:
249369            rvm.gemset_present:
249370              - ruby: jruby
249371              - user: rvm
249372              - require:
249373                - rvm: jruby
249374
249375          mygemset:
249376            rvm.gemset_present:
249377              - ruby: ruby-1.9.2
249378              - user: rvm
249379              - require:
249380                - rvm: ruby-1.9.2
249381
249382       salt.states.rvm.gemset_present(name, ruby=u'default', user=None)
249383              Verify that the gemset is present.
249384
249385              name   The name of the gemset.
249386
249387              ruby: default
249388                     The ruby version this gemset belongs to.
249389
249390              user: None
249391                     The user to run rvm as.
249392
249393                     New in version 0.17.0.
249394
249395
249396       salt.states.rvm.installed(name,  default=False,  user=None,  opts=None,
249397       env=None)
249398              Verify that the specified ruby is installed  with  RVM.  RVM  is
249399              installed when necessary.
249400
249401              name   The version of ruby to install
249402
249403              default
249404                     False Whether to make this ruby the default.
249405
249406              user: None
249407                     The user to run rvm as.
249408
249409              env: None
249410                     A  list of environment variables to set (ie, RUBY_CONFIG‐
249411                     URE_OPTS)
249412
249413              opts: None
249414                     A list of option flags to pass to RVM (ie -C, --patch)
249415
249416                     New in version 0.17.0.
249417
249418
249419   salt.states.salt_proxy module
249420       Salt proxy state
249421
249422       New in version 2015.8.2.
249423
249424
249425       State to deploy and run salt-proxy processes on a minion.
249426
249427       Set up pillar data for your proxies per the documentation.
249428
249429       Run the state as below
249430
249431       ..code-block:: yaml
249432
249433          salt-proxy-configure:
249434
249435                 salt_proxy.configure_proxy:
249436
249437                        · proxyname: p8000
249438
249439                        · start: True
249440
249441       This  state   will   configure   the   salt   proxy   settings   within
249442       /etc/salt/proxy  (if  /etc/salt/proxy  doesn't  exists)  and  start the
249443       salt-proxy process (default true), if it isn't already running.
249444
249445       salt.states.salt_proxy.configure_proxy(name,        proxyname=u'p8000',
249446       start=True)
249447              Create  the  salt  proxy  file  and  start  the proxy process if
249448              required
249449
249450              Parameters
249451
249452                     · name -- The name of this state
249453
249454                     · proxyname -- Name to be used  for  this  proxy  (should
249455                       match entries in pillar)
249456
249457                     · start  --  Boolean  indicating if the process should be
249458                       started
249459
249460              Example:
249461
249462              ..code-block:: yaml
249463
249464                 salt-proxy-configure:
249465
249466                        salt_proxy.configure_proxy:
249467
249468                               · proxyname: p8000
249469
249470                               · start: True
249471
249472   salt.states.saltmod
249473   Control the Salt command interface
249474       This state is intended for use from the Salt Master. It provides access
249475       to sending commands down to minions as well as access to executing mas‐
249476       ter-side modules. These state functions wrap Salt's Python API.
249477          Support for masterless minions was added to the salt.state function,
249478          so they can run orchestration sls files. This is particularly useful
249479          when the rendering of a state  is  dependent  on  the  execution  of
249480          another  state.   Orchestration will render and execute each orches‐
249481          tration block independently, while honoring requisites to ensure the
249482          states are applied in the correct order.
249483
249484       SEE ALSO:
249485          More Orchestrate documentation
249486
249487          · Full Orchestrate Tutorial
249488
249489          · The Orchestrate runner
249490
249491       salt.states.saltmod.function(name,  tgt,  ssh=False,  tgt_type=u'glob',
249492       ret=u'',   ret_config=None,   ret_kwargs=None,    expect_minions=False,
249493       fail_minions=None,   fail_function=None,  arg=None,  kwarg=None,  time‐
249494       out=None, batch=None, subset=None)
249495              Execute a single module function on a remote minion via salt  or
249496              salt-ssh
249497
249498              name   The   name  of  the  function  to  run,  aka  cmd.run  or
249499                     pkg.install
249500
249501              tgt    The target specification, aka '*' for all minions
249502
249503              tgt_type
249504                     The target type, defaults to glob
249505
249506              arg    The list of arguments to pass into the function
249507
249508              kwarg  The dict (not a list) of keyword arguments to  pass  into
249509                     the function
249510
249511              ret    Optionally set a single or a list of returners to use
249512
249513              ret_config
249514                     Use an alternative returner configuration
249515
249516              ret_kwargs
249517                     Override individual returner configuration items
249518
249519              expect_minions
249520                     An  optional  boolean  for failing if some minions do not
249521                     respond
249522
249523              fail_minions
249524                     An optional list of targeted minions where failure is  an
249525                     option
249526
249527              fail_function
249528                     An  optional  string  that  points  to a salt module that
249529                     returns True or False based on the returned data dict for
249530                     individual minions
249531
249532              ssh    Set to True to use the ssh client instead of the standard
249533                     salt client
249534
249535              batch  Execute the command in batches. E.g.: 10%.
249536
249537              subset Number of minions from the targeted set to randomly use
249538
249539                     New in version 2017.7.0.
249540
249541
249542       salt.states.saltmod.parallel_runners(name, runners)
249543              Executes multiple runner modules on the master in parallel.
249544
249545              New in version 2017.x.0: (Nitrogen)
249546
249547
249548              A separate thread is spawned for  each  runner.  This  state  is
249549              intended  to be used with the orchestrate runner in place of the
249550              saltmod.runner state when different tasks should be run in  par‐
249551              allel.  In  general,  Salt states are not safe when used concur‐
249552              rently, so ensure that they are used in a safe way (e.g. by only
249553              targeting separate minions in parallel tasks).
249554
249555              name:  name identifying this state. The name is provided as part
249556                     of the output, but not used for anything else.
249557
249558              runners:
249559                     list of runners that should be run in parallel. Each ele‐
249560                     ment  of  the  list  has to be a dictionary. This dictio‐
249561                     nary's name entry stores the name of the runner  function
249562                     that  shall be invoked. The optional kwarg entry stores a
249563                     dictionary of named arguments that are passed to the run‐
249564                     ner function.
249565
249566                 parallel-state:
249567                    salt.parallel_runners:
249568                      - runners:
249569                          my_runner_1:
249570                            - name: state.orchestrate
249571                            - kwarg:
249572                                mods: orchestrate_state_1
249573                          my_runner_2:
249574                            - name: state.orchestrate
249575                            - kwarg:
249576                                mods: orchestrate_state_2
249577
249578       salt.states.saltmod.runner(name, **kwargs)
249579              Execute a runner module on the master
249580
249581              New in version 2014.7.0.
249582
249583
249584              name   The name of the function to run
249585
249586              kwargs Any keyword arguments to pass to the runner function
249587
249588                 run-manage-up:
249589                  salt.runner:
249590                    - name: manage.up
249591
249592       salt.states.saltmod.state(name,   tgt,   ssh=False,   tgt_type=u'glob',
249593       ret=u'', ret_config=None,  ret_kwargs=None,  highstate=None,  sls=None,
249594       top=None,   saltenv=None,   test=None,   pillar=None,   pillarenv=None,
249595       expect_minions=True, fail_minions=None, allow_fail=0, concurrent=False,
249596       timeout=None,    batch=None,   queue=False,   subset=None,   orchestra‐
249597       tion_jid=None, **kwargs)
249598              Invoke a state run on a given target
249599
249600              name   An arbitrary name used to track the state execution
249601
249602              tgt    The target specification for the state run.
249603
249604                     Masterless support: When running on a masterless  minion,
249605                     the tgt is ignored and will always be the local minion.
249606
249607              tgt_type
249608                     The target type to resolve, defaults to glob
249609
249610              ret    Optionally set a single or a list of returners to use
249611
249612              ret_config
249613                     Use an alternative returner configuration
249614
249615              ret_kwargs
249616                     Override individual returner configuration items
249617
249618              highstate
249619                     Defaults  to None, if set to True the target systems will
249620                     ignore any sls references specified in the sls option and
249621                     call state.highstate on the targeted minions
249622
249623              top    Should  be  the  name  of a top file. If set state.top is
249624                     called with this top file instead of state.sls.
249625
249626              sls    A group of sls files to execute. This can be defined as a
249627                     single  string containing a single sls file, or a list of
249628                     sls files
249629
249630              test   Pass test=true or test=false through to the  state  func‐
249631                     tion.  This can be used to overide a test mode set in the
249632                     minion's config file. If left as the default of None  and
249633                     the  'test'  mode  is  supplied on the command line, that
249634                     value is passed instead.
249635
249636              pillar Pass the pillar kwarg through to the state function
249637
249638              pillarenv
249639                     The pillar environment to grab pillars from
249640
249641                     New in version 2017.7.0.
249642
249643
249644              saltenv
249645                     The default salt environment to pull sls files from
249646
249647              ssh    Set to True to use the ssh client instead of the standard
249648                     salt client
249649
249650              roster In  the  event  of using salt-ssh, a roster system can be
249651                     set
249652
249653              expect_minions
249654                     An optional boolean for failing if some  minions  do  not
249655                     respond
249656
249657              fail_minions
249658                     An  optional list of targeted minions where failure is an
249659                     option
249660
249661              allow_fail
249662                     Pass in the number of minions to allow for failure before
249663                     setting the result of the execution to False
249664
249665              concurrent
249666                     Allow multiple state runs to occur at once.
249667
249668                     WARNING:  This  flag  is  potentially  dangerous.  It  is
249669                     designed for use when multiple state runs can  safely  be
249670                     run  at  the  same  Do  not use this flag for performance
249671                     optimization.
249672
249673              queue  Pass queue=true through to the state function
249674
249675              batch  Execute the command in batches. E.g.: 10%.
249676
249677                     New in version 2016.3.0.
249678
249679
249680              subset Number of minions from the targeted set to randomly use
249681
249682                     New in version 2017.7.0.
249683
249684
249685              Examples:
249686
249687              Run a list of sls files via state.sls on target minions:
249688
249689                 webservers:
249690                   salt.state:
249691                     - tgt: 'web*'
249692                     - sls:
249693                       - apache
249694                       - django
249695                       - core
249696                     - saltenv: prod
249697
249698              Run a full state.highstate on target mininons.
249699
249700                 databases:
249701                   salt.state:
249702                     - tgt: role:database
249703                     - tgt_type: grain
249704                     - highstate: True
249705
249706       salt.states.saltmod.wait_for_event(name, id_list, event_id=u'id', time‐
249707       out=300, node=u'master')
249708              Watch Salt's event bus and block until a condition is met
249709
249710              New in version 2014.7.0.
249711
249712
249713              name   An  event  tag to watch for; supports Reactor-style glob‐
249714                     bing.
249715
249716              id_list
249717                     A list of event identifiers to watch for --  usually  the
249718                     minion  ID.  Each  time an event tag is matched the event
249719                     data is inspected for event_id, if found  it  is  removed
249720                     from id_list. When id_list is empty this function returns
249721                     success.
249722
249723              event_id
249724                     id The name of a key in the event data. Default is id for
249725                     the  minion ID, another common value is name for use with
249726                     orchestrating salt-cloud events.
249727
249728              timeout
249729                     300 The maximum time in seconds to wait before failing.
249730
249731              The following example blocks until all the listed  minions  com‐
249732              plete a restart and reconnect to the Salt master:
249733
249734                 reboot_all_minions:
249735                   salt.function:
249736                     - name: system.reboot
249737                     - tgt: '*'
249738
249739                 wait_for_reboots:
249740                   salt.wait_for_event:
249741                     - name: salt/minion/*/start
249742                     - id_list:
249743                       - jerry
249744                       - stuart
249745                       - dave
249746                       - phil
249747                       - kevin
249748                       - mike
249749                     - require:
249750                       - salt: reboot_all_minions
249751
249752       salt.states.saltmod.wheel(name, **kwargs)
249753              Execute a wheel module on the master
249754
249755              New in version 2014.7.0.
249756
249757
249758              name   The name of the function to run
249759
249760              kwargs Any keyword arguments to pass to the wheel function
249761
249762                 accept_minion_key:
249763                   salt.wheel:
249764                     - name: key.accept
249765                     - match: frank
249766
249767   salt.states.schedule
249768   Management of the Salt scheduler
249769          job3:
249770            schedule.present:
249771              - function: test.ping
249772              - seconds: 3600
249773              - splay: 10
249774
249775          This will schedule the command: test.ping every 3600 seconds
249776          (every hour) splaying the time between 0 and 10 seconds
249777
249778          job2:
249779            schedule.present:
249780              - function: test.ping
249781              - seconds: 15
249782              - splay:
249783                  start: 10
249784                  end: 20
249785
249786          This will schedule the command: test.ping every 15 seconds
249787          splaying the time between 10 and 20 seconds
249788
249789          job1:
249790            schedule.present:
249791              - function: state.sls
249792              - job_args:
249793                - httpd
249794              - job_kwargs:
249795                  test: True
249796              - when:
249797                  - Monday 5:00pm
249798                  - Tuesday 3:00pm
249799                  - Wednesday 5:00pm
249800                  - Thursday 3:00pm
249801                  - Friday 5:00pm
249802
249803          This will schedule the command: state.sls httpd test=True at 5pm on Monday,
249804          Wednesday and Friday, and 3pm on Tuesday and Thursday.  Requires that
249805          python-dateutil is installed on the minion.
249806
249807          job1:
249808            schedule.present:
249809              - function: state.sls
249810              - job_args:
249811                - httpd
249812              - job_kwargs:
249813                  test: True
249814              - cron: '*/5 * * * *'
249815
249816          Scheduled jobs can also be specified using the format used by cron.  This will
249817          schedule the command: state.sls httpd test=True to run every 5 minutes.  Requires
249818          that python-croniter is installed on the minion.
249819
249820          job1:
249821            schedule.present:
249822              - function: state.sls
249823              - job_args:
249824                - httpd
249825              - job_kwargs:
249826                  test: True
249827              - when:
249828                  - Monday 5:00pm
249829                  - Tuesday 3:00pm
249830                  - Wednesday 5:00pm
249831                  - Thursday 3:00pm
249832                  - Friday 5:00pm
249833              - returner: xmpp
249834              - return_config: xmpp_state_run
249835              - return_kwargs:
249836                  recipient: user@domain.com
249837
249838          This will schedule the command: state.sls httpd test=True at 5pm on Monday,
249839          Wednesday and Friday, and 3pm on Tuesday and Thursday.  Using the xmpp returner
249840          to return the results of the scheduled job, with the alternative configuration
249841          options found in the xmpp_state_run section.
249842
249843          job1:
249844            schedule.present:
249845              - function: state.sls
249846              - job_args:
249847                - httpd
249848              - job_kwargs:
249849                  test: True
249850              - hours: 1
249851              - skip_during_range:
249852                  - start: 2pm
249853                  - end: 3pm
249854              - run_after_skip_range: True
249855
249856          This will schedule the command: state.sls httpd test=True at 5pm on Monday,
249857          Wednesday and Friday, and 3pm on Tuesday and Thursday.  Requires that
249858          python-dateutil is installed on the minion.
249859
249860       salt.states.schedule.absent(name, **kwargs)
249861              Ensure a job is absent from the schedule
249862
249863              name   The unique name that is given to the scheduled job.
249864
249865              persist
249866                     Whether  the  job should persist between minion restarts,
249867                     defaults to True.
249868
249869       salt.states.schedule.disabled(name, **kwargs)
249870              Ensure a job is disabled in the schedule
249871
249872              name   The unique name that is given to the scheduled job.
249873
249874              persist
249875                     Whether the job should persist between  minion  restarts,
249876                     defaults to True.
249877
249878       salt.states.schedule.enabled(name, **kwargs)
249879              Ensure a job is enabled in the schedule
249880
249881              name   The unique name that is given to the scheduled job.
249882
249883              persist
249884                     Whether  the  job should persist between minion restarts,
249885                     defaults to True.
249886
249887       salt.states.schedule.present(name, **kwargs)
249888              Ensure a job is present in the schedule
249889
249890              name   The unique name that is given to the scheduled job.
249891
249892              seconds
249893                     The scheduled job will be executed  after  the  specified
249894                     number of seconds have passed.
249895
249896              minutes
249897                     The  scheduled  job  will be executed after the specified
249898                     number of minutes have passed.
249899
249900              hours  The scheduled job will be executed  after  the  specified
249901                     number of hours have passed.
249902
249903              days   The  scheduled  job  will be executed after the specified
249904                     number of days have passed.
249905
249906              when   This will schedule the job at the specified time(s).  The
249907                     when  parameter  must  be  a single value or a dictionary
249908                     with  the  date  string(s)  using  the  dateutil  format.
249909                     Requires python-dateutil.
249910
249911              cron   This will schedule the job at the specified time(s) using
249912                     the crontab format.  Requires python-croniter.
249913
249914              run_on_start
249915                     Whether the job will run when Salt minion  start.   Value
249916                     should be a boolean.
249917
249918              function
249919                     The  function  that  should  be executed by the scheduled
249920                     job.
249921
249922              job_args
249923                     The arguments that will be used by the scheduled job.
249924
249925              job_kwargs
249926                     The keyword arguments that will be used by the  scheduled
249927                     job.
249928
249929              maxrunning
249930                     Ensure that there are no more than N copies of a particu‐
249931                     lar job running.
249932
249933              jid_include
249934                     Include the job into the job cache.
249935
249936              splay  The amount of time in seconds to splay a  scheduled  job.
249937                     Can  be  specified  as  a single value in seconds or as a
249938                     dictionary range with 'start' and 'end' values.
249939
249940              range  This will schedule the command within  the  range  speci‐
249941                     fied.   The range parameter must be a dictionary with the
249942                     date  strings  using  the   dateutil   format.   Requires
249943                     python-dateutil.
249944
249945              once   This  will  schedule  a  job to run once on the specified
249946                     date.
249947
249948              once_fmt
249949                     The default date format is ISO 8601 but can be overridden
249950                     by also specifying the once_fmt option.
249951
249952              enabled
249953                     Whether  the  job  should  be enabled or disabled.  Value
249954                     should be a boolean.
249955
249956              return_job
249957                     Whether to return information to the Salt master upon job
249958                     completion.
249959
249960              metadata
249961                     Using  the metadata parameter special values can be asso‐
249962                     ciated with a scheduled job.  These values are  not  used
249963                     in  the  execution  of the job, but can be used to search
249964                     for specific jobs later if combined with  the  return_job
249965                     parameter.  The metadata parameter must be specified as a
249966                     dictionary, othewise it will be ignored.
249967
249968              returner
249969                     The returner to use to return the results of  the  sched‐
249970                     uled job.
249971
249972              return_config
249973                     The alternative configuration to use for returner config‐
249974                     uration options.
249975
249976              return_kwargs
249977                     Any individual returner configuration items to  override.
249978                     Should be passed as a dictionary.
249979
249980              persist
249981                     Whether  the  job should persist between minion restarts,
249982                     defaults to True.
249983
249984              skip_during_range
249985                     This will ensure that the scheduled command does not  run
249986                     within  the range specified.  The range parameter must be
249987                     a dictionary with the date  strings  using  the  dateutil
249988                     format. Requires python-dateutil.
249989
249990              run_after_skip_range
249991                     Whether   the   job  should  run  immediately  after  the
249992                     skip_during_range time period ends.
249993
249994   salt.states.selinux
249995   Management of SELinux rules
249996       If SELinux is available for the running system, the mode can be managed
249997       and booleans can be set.
249998
249999          enforcing:
250000              selinux.mode
250001
250002          samba_create_home_dirs:
250003              selinux.boolean:
250004                - value: True
250005                - persist: True
250006
250007          nginx:
250008              selinux.module:
250009                - enabled: False
250010
250011       NOTE:
250012          Use  of  these  states  require that the selinux execution module is
250013          available.
250014
250015       salt.states.selinux.boolean(name, value, persist=False)
250016              Set up an SELinux boolean
250017
250018              name   The name of the boolean to set
250019
250020              value  The value to set on the boolean
250021
250022              persist
250023                     Defaults to False, set persist to true to make the  bool‐
250024                     ean apply on a reboot
250025
250026       salt.states.selinux.fcontext_policy_absent(name,         filetype=u'a',
250027       sel_type=None, sel_user=None, sel_level=None)
250028              New in version 2017.7.0.
250029
250030
250031              Makes sure an SELinux file context policy for a  given  filespec
250032              (name), filetype and SELinux context type is absent.
250033
250034              name   filespec  of  the  file  or  directory.  Regex  syntax is
250035                     allowed.
250036
250037              filetype
250038                     The SELinux filetype specification. Use one of [a, f,  d,
250039                     c,  b, s, l, p]. See also man semanage-fcontext. Defaults
250040                     to 'a' (all files).
250041
250042              sel_type
250043                     The SELinux context type. There are many.
250044
250045              sel_user
250046                     The SELinux user.
250047
250048              sel_level
250049                     The SELinux MLS range.
250050
250051       salt.states.selinux.fcontext_policy_applied(name, recursive=False)
250052              New in version 2017.7.0.
250053
250054
250055              Checks and makes sure the SELinux policies for a given  filespec
250056              are applied.
250057
250058       salt.states.selinux.fcontext_policy_present(name,    sel_type,    file‐
250059       type=u'a', sel_user=None, sel_level=None)
250060              New in version 2017.7.0.
250061
250062
250063              Makes sure a SELinux policy for a given filespec  (name),  file‐
250064              type and SELinux context type is present.
250065
250066              name   filespec  of  the  file  or  directory.  Regex  syntax is
250067                     allowed.
250068
250069              sel_type
250070                     SELinux context type. There are many.
250071
250072              filetype
250073                     The SELinux filetype specification. Use one of [a, f,  d,
250074                     c,  b, s, l, p]. See also man semanage-fcontext. Defaults
250075                     to 'a' (all files).
250076
250077              sel_user
250078                     The SELinux user.
250079
250080              sel_level
250081                     The SELinux MLS range.
250082
250083       salt.states.selinux.mode(name)
250084              Verifies the mode SELinux is running in, can be set  to  enforc‐
250085              ing, permissive, or disabled
250086
250087              NOTE:
250088                 A  change  to or from disabled mode requires a system reboot.
250089                 You will need to perform this yourself.
250090
250091              name   The mode to run SELinux  in,  permissive,  enforcing,  or
250092                     disabled.
250093
250094       salt.states.selinux.module(name,      module_state=u'Enabled',     ver‐
250095       sion=u'any', **opts)
250096              Enable/Disable and optionally force a specific  version  for  an
250097              SELinux module
250098
250099              name   The name of the module to control
250100
250101              module_state
250102                     Should the module be enabled or disabled?
250103
250104              version
250105                     Defaults  to  no  preference, set to a specified value if
250106                     required.  Currently can only alert  if  the  version  is
250107                     incorrect.
250108
250109              install
250110                     Setting to True installs module
250111
250112              source Points  to  module source file, used only when install is
250113                     True
250114
250115              remove Setting to True removes module
250116
250117              New in version 2016.3.0.
250118
250119
250120       salt.states.selinux.module_install(name)
250121              Installs custom SELinux module from given file
250122
250123              name   Path to file with module to install
250124
250125              New in version 2016.11.6.
250126
250127
250128       salt.states.selinux.module_remove(name)
250129              Removes SELinux module
250130
250131              name   The name of the module to remove
250132
250133              New in version 2016.11.6.
250134
250135
250136       salt.states.selinux.port_policy_absent(name,   sel_type=None,    proto‐
250137       col=None, port=None)
250138              New in version Fluorine.
250139
250140
250141              Makes sure an SELinux port policy for a given port, protocol and
250142              SELinux context type is absent.
250143
250144              name   The  protocol  and  port  spec.  Can  be   formatted   as
250145                     (tcp|udp)/(port|port-range).
250146
250147              sel_type
250148                     The SELinux Type. Optional; can be used in determining if
250149                     policy is present, ignored by semanage port --delete.
250150
250151              protocol
250152                     The protocol for the port, tcp or udp. Required  if  name
250153                     is not formatted.
250154
250155              port   The  port  or port range. Required if name is not format‐
250156                     ted.
250157
250158       salt.states.selinux.port_policy_present(name, sel_type,  protocol=None,
250159       port=None, sel_range=None)
250160              New in version Fluorine.
250161
250162
250163              Makes sure an SELinux port policy for a given port, protocol and
250164              SELinux context type is present.
250165
250166              name   The  protocol  and  port  spec.  Can  be   formatted   as
250167                     (tcp|udp)/(port|port-range).
250168
250169              sel_type
250170                     The SELinux Type.
250171
250172              protocol
250173                     The  protocol  for the port, tcp or udp. Required if name
250174                     is not formatted.
250175
250176              port   The port or port range. Required if name is  not  format‐
250177                     ted.
250178
250179              sel_range
250180                     The SELinux MLS/MCS Security Range.
250181
250182   salt.states.serverdensity_device
250183   Monitor Server with Server Density
250184       New in version 2014.7.0.
250185
250186
250187       Server Density Is a hosted monitoring service.
250188
250189       WARNING:
250190          This state module is beta. It might be changed later to include more
250191          or less automation.
250192
250193       NOTE:
250194          This state module requires a pillar for authentication  with  Server
250195          Density To install a v1 agent:
250196
250197              serverdensity:
250198                api_token: "b97da80a41c4f61bff05975ee51eb1aa"
250199                account_url: "https://your-account.serverdensity.io"
250200
250201          To install a v2 agent:
250202
250203              serverdensity:
250204                api_token: "b97da80a41c4f61bff05975ee51eb1aa"
250205                account_name: "your-account"
250206
250207       NOTE:
250208          Although  Server  Density allows duplicate device names in its data‐
250209          base, this module will raise an  exception  if  you  try  monitoring
250210          devices with the same name.
250211
250212       Example:
250213
250214          'server_name':
250215            serverdensity_device.monitored
250216
250217       salt.states.serverdensity_device.monitored(name,            group=None,
250218       salt_name=True, salt_params=True, agent_version=1, **params)
250219              Device is monitored with Server Density.
250220
250221              name   Device name in Server Density.
250222
250223              salt_name
250224                     If True (default), takes the name from the id  grain.  If
250225                     False, the provided name is used.
250226
250227              group  Group  name  under with device will appear in Server Den‐
250228                     sity dashboard.  Default - None.
250229
250230              agent_version
250231                     The agent version you want to use. Valid values are 1  or
250232                     2.  Default - 1.
250233
250234              salt_params
250235                     If  True  (default),  needed  config  parameters  will be
250236                     sourced from grains and from status.all_status.
250237
250238              params Add parameters that you want to appear in the Server Den‐
250239                     sity  dashboard.   Will overwrite the salt_params parame‐
250240                     ters. For more info, see the API docs.
250241
250242              Usage example:
250243
250244                 'server_name':
250245                   serverdensity_device.monitored
250246
250247                 'server_name':
250248                   serverdensity_device.monitored:
250249                     - group: web-servers
250250
250251                 'my_special_server':
250252                   serverdensity_device.monitored:
250253                     - salt_name: False
250254                     - group: web-servers
250255                     - cpuCores: 2
250256                     - os: '{"code": "linux", "name": "Linux"}'
250257
250258   salt.states.service
250259   Starting or restarting of services and daemons
250260       Services are defined as system daemons and are typically launched using
250261       system  init  or  rc scripts. This service state uses whichever service
250262       module is loaded on the minion with the virtualname  of  service.  Ser‐
250263       vices can be defined as either running or dead.
250264
250265       If  you  need to know if your init system is supported, see the list of
250266       supported service  modules  for  your  desired  init  system  (systemd,
250267       sysvinit, launchctl, etc.).
250268
250269       Note  that  Salt's service execution module, and therefore this service
250270       state, uses OS grains to  ascertain  which  service  module  should  be
250271       loaded and used to execute service functions. As existing distributions
250272       change init systems or new distributions are created, OS detection  can
250273       sometimes be incomplete.  If your service states are running into trou‐
250274       ble with init system detection, please see the Overriding Virtual  Mod‐
250275       ule  Providers  section  of  Salt's module documentation to work around
250276       possible errors.
250277
250278       NOTE:
250279          The current status of a service is determined by the return code  of
250280          the  init/rc  script status command. A status return code of 0 it is
250281          considered running.  Any other return code is considered dead.
250282
250283          httpd:
250284            service.running: []
250285
250286       The service can also be set to start at runtime via the enable option:
250287
250288          openvpn:
250289            service.running:
250290              - enable: True
250291
250292       By default if a service is triggered to refresh due to a  watch  state‐
250293       ment the service is restarted. If the desired behavior is to reload the
250294       service, then set the reload value to True:
250295
250296          redis:
250297            service.running:
250298              - enable: True
250299              - reload: True
250300              - watch:
250301                - pkg: redis
250302
250303       NOTE:
250304          More details regarding watch can be found in the Requisites documen‐
250305          tation.
250306
250307       salt.states.service.dead(name,  enable=None, sig=None, init_delay=None,
250308       **kwargs)
250309              Ensure that the named service is dead by stopping the service if
250310              it is running
250311
250312              name   The name of the init or rc script used to manage the ser‐
250313                     vice
250314
250315              enable Set the service to be enabled at boot time, True sets the
250316                     service to be enabled, False sets the named service to be
250317                     disabled. The default is None, which does not  enable  or
250318                     disable anything.
250319
250320              sig    The  string  to  search  for when looking for the service
250321                     process with ps
250322
250323              init_delay
250324                     Add a sleep command (in seconds) before the check to make
250325                     sure service is killed.
250326
250327                     New in version 2017.7.0.
250328
250329
250330              no_block
250331                     False  For  systemd minions only. Stops the service using
250332                     --no-block.
250333
250334                     New in version 2017.7.0.
250335
250336
250337       salt.states.service.disabled(name, **kwargs)
250338              Ensure that the service is disabled on boot, only use this state
250339              if  you  don't want to manage the running process, remember that
250340              if you want to disable a service to use the enable: False option
250341              for the running or dead function.
250342
250343              name   The name of the init or rc script used to manage the ser‐
250344                     vice
250345
250346       salt.states.service.enabled(name, **kwargs)
250347              Ensure that the service is enabled on boot, only use this  state
250348              if  you  don't want to manage the running process, remember that
250349              if you want to enable a running service to use the enable:  True
250350              option for the running or dead function.
250351
250352              name   The name of the init or rc script used to manage the ser‐
250353                     vice
250354
250355       salt.states.service.masked(name, runtime=False)
250356              New in version 2017.7.0.
250357
250358
250359              NOTE:
250360                 This state is only available on minions which use systemd.
250361
250362              Ensures that the named service is masked  (i.e.  prevented  from
250363              being started).
250364
250365              name   Name of the service to mask
250366
250367              runtime
250368                     False  By  default,  this state will manage an indefinite
250369                     mask for the named service. Set this argument to True  to
250370                     runtime mask the service.
250371
250372              NOTE:
250373                 It is possible for a service to have both indefinite and run‐
250374                 time masks set for it. Therefore, this state  will  manage  a
250375                 runtime  or indefinite mask independently of each other. This
250376                 means that if the service  is  already  indefinitely  masked,
250377                 running this state with runtime set to True will _not_ remove
250378                 the indefinite mask before setting a runtime mask.  In  these
250379                 cases,  if it is desirable to ensure that the service is run‐
250380                 time masked and not indefinitely masked, pair this state with
250381                 a service.unmasked state, like so:
250382
250383                     mask_runtime_foo:
250384                       service.masked:
250385                         - name: foo
250386                         - runtime: True
250387
250388                     unmask_indefinite_foo:
250389                       service.unmasked:
250390                         - name: foo
250391                         - runtime: False
250392
250393       salt.states.service.mod_watch(name,  sfun=None, sig=None, reload=False,
250394       full_restart=False, init_delay=None, force=False, **kwargs)
250395              The service watcher, called to invoke the watch  command.   When
250396              called, it will restart or reload the named service.
250397
250398              NOTE:
250399                 This  state  exists  to support special handling of the watch
250400                 requisite. It should not be called directly.
250401
250402                 Parameters for this function should be set  by  the  watching
250403                 service.  (i.e. service.running)
250404
250405              name   The name of the init or rc script used to manage the ser‐
250406                     vice
250407
250408              sfun   The original function which triggered the mod_watch  call
250409                     (service.running, for example).
250410
250411              sig    The  string  to  search  for when looking for the service
250412                     process with ps
250413
250414              reload When set, reload the service instead  of  restarting  it.
250415                     (i.e. service nginx reload)
250416
250417              full_restart
250418                     Perform  a  full  stop/start  of  a  service  by  passing
250419                     --full-restart.  This option is ignored if reload is  set
250420                     and is supported by only a few service modules.
250421
250422              force  Use  service.force_reload instead of reload (needs reload
250423                     to be set to True)
250424
250425              init_delay
250426                     Add a sleep command (in seconds) before  the  service  is
250427                     restarted/reloaded
250428
250429       salt.states.service.running(name,         enable=None,        sig=None,
250430       init_delay=None,  no_block=False,  unmask=False,  unmask_runtime=False,
250431       **kwargs)
250432              Ensure that the service is running
250433
250434              name   The name of the init or rc script used to manage the ser‐
250435                     vice
250436
250437              enable Set the service to be enabled at boot time, True sets the
250438                     service to be enabled, False sets the named service to be
250439                     disabled. The default is None, which does not  enable  or
250440                     disable anything.
250441
250442              sig    The  string  to  search  for when looking for the service
250443                     process with ps
250444
250445              init_delay
250446                     Some services may not be  truly  available  for  a  short
250447                     period after their startup script indicates to the system
250448                     that they are. Provide an 'init_delay'  to  specify  that
250449                     this state should wait an additional given number of sec‐
250450                     onds after a service has started before returning. Useful
250451                     for  requisite  states  wherein  a  dependent state might
250452                     assume a service has started but is not  yet  fully  ini‐
250453                     tialized.
250454
250455              no_block
250456                     False  For systemd minions only. Starts the service using
250457                     --no-block.
250458
250459                     New in version 2017.7.0.
250460
250461
250462              unmask False For systemd minions only. Set to True to remove  an
250463                     indefinite mask before attempting to start the service.
250464
250465                     New in version 2017.7.0: In previous releases, Salt would
250466                     simply unmask a service before making any  changes.  This
250467                     behavior is no longer the default.
250468
250469
250470              unmask_runtime
250471                     False  For  systemd minions only. Set to True to remove a
250472                     runtime mask before attempting to start the service.
250473
250474                     New in version 2017.7.0: In previous releases, Salt would
250475                     simply  unmask  a service before making any changes. This
250476                     behavior is no longer the default.
250477
250478
250479              NOTE:
250480
250481                 watch can be used with service.running to restart  a  service
250482                 when
250483                        another  state changes ( example: a file.managed state
250484                        that creates the service's config file ). More details
250485                        regarding  watch  can be found in the Requisites docu‐
250486                        mentation.
250487
250488       salt.states.service.unmasked(name, runtime=False)
250489              New in version 2017.7.0.
250490
250491
250492              NOTE:
250493                 This state is only available on minions which use systemd.
250494
250495              Ensures that the named service is unmasked
250496
250497              name   Name of the service to unmask
250498
250499              runtime
250500                     False By default, this state will  manage  an  indefinite
250501                     mask  for the named service. Set this argument to True to
250502                     ensure that the service is runtime masked.
250503
250504              NOTE:
250505                 It is possible for a service to have both indefinite and run‐
250506                 time  masks  set  for it. Therefore, this state will manage a
250507                 runtime or indefinite mask independently of each other.  This
250508                 means  that  if  the  service is indefinitely masked, running
250509                 this state with runtime set to True  will  _not_  remove  the
250510                 indefinite mask.
250511
250512   salt.states.slack
250513   Send a message to Slack
250514       This state is useful for sending messages to Slack during state runs.
250515
250516       New in version 2015.5.0.
250517
250518
250519          slack-message:
250520            slack.post_message:
250521              - channel: '#general'
250522              - from_name: SuperAdmin
250523              - message: 'This state was executed successfully.'
250524              - api_key: peWcBiMOS9HrZG15peWcBiMOS9HrZG15
250525
250526       The api key can be specified in the master or minion configuration like
250527       below:
250528
250529          slack:
250530            api_key: peWcBiMOS9HrZG15peWcBiMOS9HrZG15
250531
250532       salt.states.slack.post_message(name,   channel,   from_name,   message,
250533       api_key=None, icon=None)
250534              Send a message to a Slack channel.
250535
250536                 slack-message:
250537                   slack.post_message:
250538                     - channel: '#general'
250539                     - from_name: SuperAdmin
250540                     - message: 'This state was executed successfully.'
250541                     - api_key: peWcBiMOS9HrZG15peWcBiMOS9HrZG15
250542
250543              The following parameters are required:
250544
250545              name   The unique name for this event.
250546
250547              channel
250548                     The  channel to send the message to. Can either be the ID
250549                     or the name.
250550
250551              from_name
250552                     The name of that is to be shown in the "from" field.
250553
250554              message
250555                     The message that is to be sent to the Slack channel.
250556
250557              The following parameters are optional:
250558
250559              api_key
250560                     The api key for Slack to use for authentication,  if  not
250561                     specified  in the configuration options of master or min‐
250562                     ion.
250563
250564              icon   URL to an image to use as the icon for this message
250565
250566   salt.states.smartos
250567       Management of SmartOS Standalone Compute Nodes
250568
250569       maintainer
250570              Jorge Schrauwen <sjorge@blackdot.be>
250571
250572       maturity
250573              new
250574
250575       depends
250576              vmadm, imgadm
250577
250578       platform
250579              smartos
250580
250581       New in version 2016.3.0.
250582
250583
250584          vmtest.example.org:
250585            smartos.vm_present:
250586              - config:
250587                  reprovision: true
250588              - vmconfig:
250589                  image_uuid: c02a2044-c1bd-11e4-bd8c-dfc1db8b0182
250590                  brand: joyent
250591                  alias: vmtest
250592                  quota: 5
250593                  max_physical_memory: 512
250594                  tags:
250595                    label: 'test vm'
250596                    owner: 'sjorge'
250597                  nics:
250598                    "82:1b:8e:49:e9:12":
250599                      nic_tag: trunk
250600                      mtu: 1500
250601                      ips:
250602                        - 172.16.1.123/16
250603                        - 192.168.2.123/24
250604                      vlan_id: 10
250605                    "82:1b:8e:49:e9:13":
250606                      nic_tag: trunk
250607                      mtu: 1500
250608                      ips:
250609                        - dhcp
250610                      vlan_id: 30
250611                  filesystems:
250612                    "/bigdata":
250613                      source: "/bulk/data"
250614                      type: lofs
250615                      options:
250616                        - ro
250617                        - nodevices
250618
250619          kvmtest.example.org:
250620            smartos.vm_present:
250621              - vmconfig:
250622                  brand: kvm
250623                  alias: kvmtest
250624                  cpu_type: host
250625                  ram: 512
250626                  vnc_port: 9
250627                  tags:
250628                    label: 'test kvm'
250629                    owner: 'sjorge'
250630                  disks:
250631                    disk0
250632                      size: 2048
250633                      model: virtio
250634                      compression: lz4
250635                      boot: true
250636                  nics:
250637                    "82:1b:8e:49:e9:15":
250638                      nic_tag: trunk
250639                      mtu: 1500
250640                      ips:
250641                        - dhcp
250642                      vlan_id: 30
250643
250644          docker.example.org:
250645            smartos.vm_present:
250646              - config:
250647                  auto_import: true
250648                  reprovision: true
250649              - vmconfig:
250650                  image_uuid: emby/embyserver:latest
250651                  brand: lx
250652                  alias: mydockervm
250653                  quota: 5
250654                  max_physical_memory: 1024
250655                  tags:
250656                    label: 'my emby docker'
250657                    owner: 'sjorge'
250658                  resolvers:
250659                    - 172.16.1.1
250660                  nics:
250661                    "82:1b:8e:49:e9:18":
250662                      nic_tag: trunk
250663                      mtu: 1500
250664                      ips:
250665                        - 172.16.1.118/24
250666                      vlan_id: 10
250667                  filesystems:
250668                    "/config:
250669                      source: "/vmdata/emby_config"
250670                      type: lofs
250671                      options:
250672                        - nodevices
250673
250674          cleanup_images:
250675            smartos.image_vacuum
250676
250677       NOTE:
250678          Keep in mind that when removing properties from vmconfig  they  will
250679          not  get  removed  from  the  vm's current configuration, except for
250680          nics, disk, tags, ...  they get removed via add_*, set_*,  update_*,
250681          and  remove_*.  Properties  must  be manually reset to their default
250682          value.  The same behavior as when using 'vmadm update'.
250683
250684       salt.states.smartos.config_absent(name)
250685              Ensure configuration property is absent in /usbkey/config
250686
250687              name   string name of property
250688
250689       salt.states.smartos.config_present(name, value)
250690              Ensure configuration property is set to value in /usbkey/config
250691
250692              name   string name of property
250693
250694              value  string value of property
250695
250696       salt.states.smartos.image_absent(name)
250697              Ensure image is absent on the computenode
250698
250699              name   string uuid of image
250700
250701              NOTE:
250702                 computenode.image_absent will only remove the image if it  is
250703                 not used by a vm.
250704
250705       salt.states.smartos.image_present(name)
250706              Ensure image is present on the computenode
250707
250708              name   string uuid of image
250709
250710       salt.states.smartos.image_vacuum(name)
250711              Delete images not in use or installed via image_present
250712
250713              WARNING:
250714                 Only  image_present states that are included via the top file
250715                 will be detected.
250716
250717       salt.states.smartos.source_absent(name)
250718              Ensure an image source is absent on the computenode
250719
250720              name   string source url
250721
250722       salt.states.smartos.source_present(name, source_type=u'imgapi')
250723              Ensure an image source is present on the computenode
250724
250725              name   string source url
250726
250727              source_type
250728                     string source type (imgapi or docker)
250729
250730       salt.states.smartos.vm_absent(name, archive=False)
250731              Ensure vm is absent on the computenode
250732
250733              name   string hostname of vm
250734
250735              archive
250736                     boolean toggle archiving of vm on removal
250737
250738              NOTE:
250739                 State ID is used as hostname. Hostnames must be unique.
250740
250741       salt.states.smartos.vm_present(name, vmconfig, config=None)
250742              Ensure vm is present on the computenode
250743
250744              name   string hostname of vm
250745
250746              vmconfig
250747                     dict options to set for the vm
250748
250749              config dict fine grain control over vm_present
250750
250751              NOTE:
250752
250753                 The following configuration properties can be toggled in  the
250754                 config parameter.
250755
250756                        · kvm_reboot  (true)                 -  reboots of kvm
250757                          zones if needed for a config update
250758
250759                        · auto_import (false)              - automatic import‐
250760                          ing of missing images
250761
250762                        · auto_lx_vars  (true)              - copy kernel_ver‐
250763                          sion and docker:* variables from image
250764
250765                        · reprovision (false)               -  reprovision  on
250766                          image_uuid changes
250767
250768                        · enforce_tags  (true)              - false = add tags
250769                          only, true =  add, update, and remove tags
250770
250771                        · enforce_routes (true)            - false = add  tags
250772                          only, true =  add, update, and remove routes
250773
250774                        · enforce_internal_metadata (true) - false = add meta‐
250775                          data only, true =  add, update, and remove metadata
250776
250777                        · enforce_customer_metadata (true) - false = add meta‐
250778                          data only, true =  add, update, and remove metadata
250779
250780              NOTE:
250781                 State ID is used as hostname. Hostnames must be unique.
250782
250783              NOTE:
250784                 If  hostname is provided in vmconfig this will take president
250785                 over the State ID.  This allows multiple states to be applied
250786                 to the same vm.
250787
250788              NOTE:
250789
250790                 The following instances should have a unique ID.
250791
250792                        · nic : mac
250793
250794                        · filesystem: target
250795
250796                        · disk : path or diskN for zvols
250797
250798                 e.g. disk0 will be the first disk added, disk1 the 2nd,...
250799
250800              Changed  in  version  Fluorine:  Added  support for docker image
250801              uuids, added auto_lx_vars configuration, documented some missing
250802              configuration options.
250803
250804
250805       salt.states.smartos.vm_running(name)
250806              Ensure vm is in the running state on the computenode
250807
250808              name   string hostname of vm
250809
250810              NOTE:
250811                 State ID is used as hostname. Hostnames must be unique.
250812
250813       salt.states.smartos.vm_stopped(name)
250814              Ensure vm is in the stopped state on the computenode
250815
250816              name   string hostname of vm
250817
250818              NOTE:
250819                 State ID is used as hostname. Hostnames must be unique.
250820
250821   salt.states.smtp
250822   Sending Messages via SMTP
250823       New in version 2014.7.0.
250824
250825
250826       This  state  is useful for firing messages during state runs, using the
250827       SMTP protocol
250828
250829          server-warning-message:
250830            smtp.send_msg:
250831              - name: 'This is a server warning message'
250832              - profile: my-smtp-account
250833              - recipient: admins@example.com
250834
250835       salt.states.smtp.send_msg(name, recipient, subject,  sender=None,  pro‐
250836       file=None, use_ssl=u'True', attachments=None)
250837              Send a message via SMTP
250838
250839                 server-warning-message:
250840                   smtp.send_msg:
250841                     - name: 'This is a server warning message'
250842                     - profile: my-smtp-account
250843                     - subject: 'Message from Salt'
250844                     - recipient: admin@example.com
250845                     - sender: admin@example.com
250846                     - use_ssl: True
250847                     - attachments:
250848                         - /var/log/syslog
250849                         - /var/log/messages
250850
250851              name   The message to send via SMTP
250852
250853   salt.states.snapper module
250854   Managing implicit state and baselines using snapshots
250855       New in version 2016.11.0.
250856
250857
250858       Salt  can manage state against explicitly defined state, for example if
250859       your minion state is defined by:
250860
250861          /etc/config_file:
250862            file.managed:
250863              - source: salt://configs/myconfig
250864
250865       If someone modifies this file, the next application  of  the  highstate
250866       will  allow  the  admin  to correct this deviation and the file will be
250867       corrected.
250868
250869       Now, what happens if somebody creates a file  /etc/new_config_file  and
250870       deletes  /etc/important_config_file?  Unless  you have a explicit rule,
250871       this change will go unnoticed.
250872
250873       The snapper state module allows you  to  manage  state  implicitly,  in
250874       addition  to  explicit rules, in order to define a baseline and iterate
250875       with explicit rules as they show that they work in production.
250876
250877       The workflow is: once you have a working and audited system, you  would
250878       create  your  baseline snapshot (eg. with salt tgt snapper.create_snap‐
250879       shot) and define in your state this baseline using  the  identifier  of
250880       the snapshot (in this case: 20):
250881
250882          my_baseline:
250883            snapper.baseline_snapshot:
250884              - number: 20
250885              - include_diff: False
250886              - ignore:
250887                - /var/log
250888                - /var/cache
250889
250890       Baseline  snapshots can be also referenced by tag. Most recent baseline
250891       snapshot is used in case of multiple snapshots with the same tag:
250892
250893          my_baseline_external_storage:
250894
250895                 snapper.baseline_snapshot:
250896
250897                        · tag: my_custom_baseline_tag
250898
250899                        · config: external
250900
250901                        · ignore: - /mnt/tmp_files/
250902
250903       If you have this state, and you haven't  done  changes  to  the  system
250904       since  the  snapshot,  and  you add a user, the state will show you the
250905       changes (including full diffs) to /etc/passwd, /etc/shadow, etc if  you
250906       call  it  with test=True and will undo all changes if you call it with‐
250907       out.
250908
250909       This allows you to add more explicit state knowing that you are  start‐
250910       ing  from  a very well defined state, and that you can audit any change
250911       that is not part of your explicit configuration.
250912
250913       So after you made this your state, you decided to introduce a change in
250914       your configuration:
250915
250916          my_baseline:
250917            snapper.baseline_snapshot:
250918              - number: 20
250919              - ignore:
250920                - /var/log
250921                - /var/cache
250922
250923          hosts_entry:
250924            file.blockreplace:
250925              - name: /etc/hosts
250926              - content: 'First line of content'
250927              - append_if_not_found: True
250928
250929       The change in /etc/hosts will be done after any other change that devi‐
250930       ates from the specified snapshot are reverted. This could be for  exam‐
250931       ple, modifications to the /etc/passwd file or changes in the /etc/hosts
250932       that could render your the hosts_entry rule void or dangerous.
250933
250934       Once you take a new snapshot and you update the baseline snapshot  num‐
250935       ber to include the change in /etc/hosts the hosts_entry rule will basi‐
250936       cally do nothing. You are free to leave it there for documentation,  to
250937       ensure  that  the  change is made in case the snapshot is wrong, but if
250938       you remove anything that comes after the  snapper.baseline_snapshot  as
250939       it will have no effect; by the moment the state is evaluated, the base‐
250940       line state was already applied and include this change.
250941
250942       WARNING:
250943          Make sure you specify the baseline state before other rules,  other‐
250944          wise  the  baseline  state  will  revert all changes if they are not
250945          present in the snapshot.
250946
250947       WARNING:
250948          Do not specify more than one baseline rule as only the last one will
250949          affect the result.
250950
250951       codeauthor
250952              Duncan Mac-Vicar P. <dmacvicar@suse.de>
250953
250954       codeauthor
250955              Pablo Suárez Hernández <psuarezhernandez@suse.de>
250956
250957       maturity
250958              new
250959
250960       platform
250961              Linux
250962
250963       salt.states.snapper.baseline_snapshot(name,    number=None,   tag=None,
250964       include_diff=True, config=u'root', ignore=None)
250965              Enforces that no file is modified comparing against a previously
250966              defined snapshot identified by number.
250967
250968              number Number of selected baseline snapshot.
250969
250970              tag    Tag  of the selected baseline snapshot. Most recent base‐
250971                     line baseline snapshot is used in case of multiple  snap‐
250972                     shots  with the same tag.  (tag and number cannot be used
250973                     at the same time)
250974
250975              include_diff
250976                     Include a diff in the response (Default: True)
250977
250978              config Snapper config name (Default: root)
250979
250980              ignore List of files to ignore. (Default: None)
250981
250982   salt.states.solrcloud module
250983       States for solrcloud alias and collection configuration
250984
250985       New in version 2017.7.0.
250986
250987
250988       salt.states.solrcloud.alias(name, collections, **kwargs)
250989              Create alias and enforce collection list.
250990
250991              Use the solrcloud module to get alias members and set them.
250992
250993              You can pass additional arguments  that  will  be  forwarded  to
250994              http.query
250995
250996              name   The collection name
250997
250998              collections
250999                     list of collections to include in the alias
251000
251001       salt.states.solrcloud.collection(name, options=None, **kwargs)
251002              Create collection and enforce options.
251003
251004              Use the solrcloud module to get collection parameters.
251005
251006              You  can  pass  additional  arguments  that will be forwarded to
251007              http.query
251008
251009              name   The collection name
251010
251011              options
251012                     {} options to ensure
251013
251014   salt.states.splunk
251015       Splunk User State Module
251016
251017       New in version 2016.3.0..
251018
251019
251020       This state is used to ensure presence of users in splunk.
251021
251022          ensure example test user 1:
251023              splunk.present:
251024                  - name: 'Example TestUser1'
251025                  - email: example@domain.com
251026
251027       salt.states.splunk.absent(email, profile=u'splunk', **kwargs)
251028              Ensure a splunk user is absent
251029
251030                 ensure example test user 1:
251031                     splunk.absent:
251032                         - email: 'example@domain.com'
251033                         - name: 'exampleuser'
251034
251035              The following parameters are required:
251036
251037              email  This is the email of the user in splunk
251038
251039              name   This is the splunk username used to identify the user.
251040
251041       salt.states.splunk.present(email, profile=u'splunk', **kwargs)
251042              Ensure a user is present
251043
251044                 ensure example test user 1:
251045                     splunk.user_present:
251046                         - realname: 'Example TestUser1'
251047                         - name: 'exampleuser'
251048                         - email: 'example@domain.com'
251049                         - roles: ['user']
251050
251051              The following parameters are required:
251052
251053              email  This is the email of the user in splunk
251054
251055   salt.states.splunk_search
251056       Splunk Search State Module
251057
251058       New in version 2015.5.0.
251059
251060
251061       This state is used to ensure presence of splunk searches.
251062
251063          server-warning-message:
251064            splunk_search.present:
251065              - name: This is the splunk search name
251066              - search: index=main sourcetype=
251067
251068       salt.states.splunk_search.absent(name, profile=u'splunk')
251069              Ensure a search is absent
251070
251071                 API Error Search:
251072                   splunk_search.absent
251073
251074              The following parameters are required:
251075
251076              name   This is the name of the search in splunk
251077
251078       salt.states.splunk_search.present(name, profile=u'splunk', **kwargs)
251079              Ensure a search is present
251080
251081                 API Error Search:
251082                   splunk_search.present:
251083                     search: index=main sourcetype=blah
251084                     template: alert_5min
251085
251086              The following parameters are required:
251087
251088              name   This is the name of the search in splunk
251089
251090   salt.states.sqlite3
251091   Management of SQLite3 databases
251092       New in version 2016.3.0.
251093
251094
251095       depends
251096
251097              · SQLite3 Python Module
251098
251099       configuration
251100              See salt.modules.sqlite3 for setup instructions
251101
251102       The sqlite3 module is used to create and manage sqlite3  databases  and
251103       execute queries
251104
251105       Here is an example of creating a table using sql statements:
251106
251107          users:
251108            sqlite3.table_present:
251109              - db: /var/www/data/app.sqlite
251110              - schema: CREATE TABLE `users` (`username` TEXT COLLATE NOCASE UNIQUE NOT NULL, `password` BLOB NOT NULL, `salt` BLOB NOT NULL, `last_login` INT)
251111
251112       Here is an example of creating a table using yaml/jinja instead of sql:
251113
251114          users:
251115            sqlite3.table_present:
251116              - db: /var/www/app.sqlite
251117              - schema:
251118                - email TEXT COLLATE NOCASE UNIQUE NOT NULL
251119                - firstname TEXT NOT NULL
251120                - lastname TEXT NOT NULL
251121                - company TEXT NOT NULL
251122                - password BLOB NOT NULL
251123                - salt BLOB NOT NULL
251124
251125       Here is an example of making sure a table is absent:
251126
251127          badservers:
251128            sqlite3.table_absent:
251129              - db: /var/www/data/users.sqlite
251130
251131       Sometimes you would to have specific data in tables to be used by other
251132       services Here is an example of making  sure  rows  with  specific  data
251133       exist:
251134
251135          user_john_doe_xyz:
251136            sqlite3.row_present:
251137              - db: /var/www/app.sqlite
251138              - table: users
251139              - where_sql: email='john.doe@companyxyz.com'
251140              - data:
251141                  email: john.doe@companyxyz.com
251142                  lastname: doe
251143                  firstname: john
251144                  company: companyxyz.com
251145                  password: abcdef012934125
251146                  salt: abcdef012934125
251147              - require:
251148                - sqlite3: users
251149
251150       Here is an example of removing a row from a table:
251151
251152          user_john_doe_abc:
251153            sqlite3.row_absent:
251154              - db: /var/www/app.sqlite
251155              - table: users
251156              - where_sql: email="john.doe@companyabc.com"
251157              - require:
251158                - sqlite3: users
251159
251160       Note  that  there  is no explicit state to perform random queries, how‐
251161       ever, this can be approximated with sqlite3's module functions and mod‐
251162       ule.run:
251163
251164          zone-delete:
251165            module.run:
251166              - name: sqlite3.modify
251167              - db: {{ db }}
251168              - sql: "DELETE FROM records WHERE id > {{ count[0] }} AND domain_id = {{ domain_id }}"
251169              - watch:
251170                - sqlite3: zone-insert-12
251171
251172       salt.states.sqlite3.row_absent(name,      db,     table,     where_sql,
251173       where_args=None)
251174              Makes sure the specified row is absent in db.  If multiple  rows
251175              match where_sql, then the state will fail.
251176
251177              name   Only used as the unique ID
251178
251179              db     The database file name
251180
251181              table  The table name to check
251182
251183              where_sql
251184                     The sql to select the row to check
251185
251186              where_args
251187                     The list parameters to substitute in where_sql
251188
251189       salt.states.sqlite3.row_present(name,   db,   table,  data,  where_sql,
251190       where_args=None, update=False)
251191              Checks to make sure the given row  exists.  If  row  exists  and
251192              update  is True then row will be updated with data. Otherwise it
251193              will leave existing row unmodified and check it against data. If
251194              the  existing data doesn't match data_check the state will fail.
251195              If the row doesn't exist then it will insert data into  the  ta‐
251196              ble. If more than one row matches, then the state will fail.
251197
251198              name   Only used as the unique ID
251199
251200              db     The database file name
251201
251202              table  The table name to check the data
251203
251204              data   The dictionary of key/value pairs to check against if row
251205                     exists, insert into the table if it doesn't
251206
251207              where_sql
251208                     The sql to select the row to check
251209
251210              where_args
251211                     The list parameters to substitute in where_sql
251212
251213              update True will replace the existing row with data  When  False
251214                     and  the  row exists and data does not equal the row data
251215                     then the state will fail
251216
251217       salt.states.sqlite3.table_absent(name, db)
251218              Make sure the specified table does not exist
251219
251220              name   The name of the table
251221
251222              db     The name of the database file
251223
251224       salt.states.sqlite3.table_present(name, db, schema, force=False)
251225              Make sure the specified table exists with the specified schema
251226
251227              name   The name of the table
251228
251229              db     The name of the database file
251230
251231              schema The dictionary containing the schema information
251232
251233              force  If the name of the table  exists  and  force  is  set  to
251234                     False, the state will fail.  If force is set to True, the
251235                     existing table will be replaced with the new table
251236
251237   salt.states.ssh_auth
251238   Control of entries in SSH authorized_key files
251239       The information stored in a user's SSH authorized key file can be  eas‐
251240       ily  controlled via the ssh_auth state. Defaults can be set by the enc,
251241       options, and comment keys. These defaults can be overridden by  includ‐
251242       ing them in the name.
251243
251244       Since  the  YAML specification limits the length of simple keys to 1024
251245       characters, and since SSH keys are often longer than that, you may have
251246       to  use  a  YAML  'explicit key', as demonstrated in the second example
251247       below.
251248
251249          AAAAB3NzaC1kc3MAAACBAL0sQ9fJ5bYTEyY==:
251250            ssh_auth.present:
251251              - user: root
251252              - enc: ssh-dss
251253
251254          ? AAAAB3NzaC1kc3MAAACBAL0sQ9fJ5bYTEyY==...
251255          :
251256            ssh_auth.present:
251257              - user: root
251258              - enc: ssh-dss
251259
251260          thatch:
251261            ssh_auth.present:
251262              - user: root
251263              - source: salt://ssh_keys/thatch.id_rsa.pub
251264              - config: '%h/.ssh/authorized_keys'
251265
251266          sshkeys:
251267            ssh_auth.present:
251268              - user: root
251269              - enc: ssh-rsa
251270              - options:
251271                - option1="value1"
251272                - option2="value2 flag2"
251273              - comment: myuser
251274              - names:
251275                - AAAAB3NzaC1kc3MAAACBAL0sQ9fJ5bYTEyY==
251276                - ssh-dss AAAAB3NzaCL0sQ9fJ5bYTEyY== user@domain
251277                - option3="value3" ssh-dss AAAAB3NzaC1kcQ9J5bYTEyY== other@testdomain
251278                - AAAAB3NzaC1kcQ9fJFF435bYTEyY== newcomment
251279
251280       salt.states.ssh_auth.absent(name,  user,  enc=u'ssh-rsa',  comment=u'',
251281       source=u'',   options=None,   config=u'.ssh/authorized_keys',   finger‐
251282       print_hash_type=None)
251283              Verifies that the specified SSH key is absent
251284
251285              name   The SSH key to manage
251286
251287              user   The user who owns the SSH authorized keys file to modify
251288
251289              enc    Defines what type of key is being used; can  be  ed25519,
251290                     ecdsa, ssh-rsa or ssh-dss
251291
251292              comment
251293                     The comment to be placed with the SSH public key
251294
251295              options
251296                     The options passed to the key, pass a list object
251297
251298              source The source file for the key(s). Can contain any number of
251299                     public keys, in  standard  "authorized_keys"  format.  If
251300                     this is set, comment, enc and options will be ignored.
251301
251302                     New in version 2015.8.0.
251303
251304
251305              config The  location of the authorized keys file relative to the
251306                     user's   home   directory,   defaults   to   ".ssh/autho‐
251307                     rized_keys".  Token  expansion %u and %h for username and
251308                     home path supported.
251309
251310              fingerprint_hash_type
251311                     The public key fingerprint hash type that the public  key
251312                     fingerprint  was originally hashed with. This defaults to
251313                     md5 if not specified.
251314
251315                     New in version 2016.11.7.
251316
251317
251318                     NOTE:
251319                        The default value of  the  fingerprint_hash_type  will
251320                        change to sha256 in Salt 2017.7.0.
251321
251322       salt.states.ssh_auth.present(name,  user,  enc=u'ssh-rsa', comment=u'',
251323       source=u'',   options=None,   config=u'.ssh/authorized_keys',   finger‐
251324       print_hash_type=None, **kwargs)
251325              Verifies that the specified SSH key is present for the specified
251326              user
251327
251328              name   The SSH key to manage
251329
251330              user   The user who owns the SSH authorized keys file to modify
251331
251332              enc    Defines what type of key is being used; can  be  ed25519,
251333                     ecdsa, ssh-rsa or ssh-dss
251334
251335              comment
251336                     The comment to be placed with the SSH public key
251337
251338              source The source file for the key(s). Can contain any number of
251339                     public keys, in  standard  "authorized_keys"  format.  If
251340                     this is set, comment and enc will be ignored.
251341
251342              NOTE:
251343                 The  source  file must contain keys in the format <enc> <key>
251344                 <comment>. If you have generated a  keypair  using  PuTTYgen,
251345                 then  you  will  need  to  do  the  following  to retrieve an
251346                 OpenSSH-compatible public key.
251347
251348                 1. In PuTTYgen, click Load, and select the private  key  file
251349                    (not the public key), and click Open.
251350
251351                 2. Copy  the  public  key from the box labeled Public key for
251352                    pasting into OpenSSH authorized_keys file.
251353
251354                 3. Paste it into a new file.
251355
251356              options
251357                     The options passed to the key, pass a list object
251358
251359              config The location of the authorized keys file relative to  the
251360                     user's   home   directory,   defaults   to   ".ssh/autho‐
251361                     rized_keys". Token expansion %u and %h for  username  and
251362                     home path supported.
251363
251364              fingerprint_hash_type
251365                     The  public key fingerprint hash type that the public key
251366                     fingerprint was originally hashed with. This defaults  to
251367                     md5 if not specified.
251368
251369                     New in version 2016.11.7.
251370
251371
251372                     NOTE:
251373                        The  default  value  of the fingerprint_hash_type will
251374                        change to sha256 in Salt 2017.7.0.
251375
251376   salt.states.ssh_known_hosts
251377   Control of SSH known_hosts entries
251378       Manage the information stored in the known_hosts files.
251379
251380          github.com:
251381            ssh_known_hosts:
251382              - present
251383              - user: root
251384              - fingerprint: 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48
251385              - fingerprint_hash_type: md5
251386
251387          example.com:
251388            ssh_known_hosts:
251389              - absent
251390              - user: root
251391
251392       salt.states.ssh_known_hosts.absent(name, user=None, config=None)
251393              Verifies that the specified host is not known by the given user
251394
251395              name   The host name Note that only single host names  are  sup‐
251396                     ported.   If  foo.example.com and bar.example.com are the
251397                     same machine and you need to exclude both, you will  need
251398                     one Salt state for each.
251399
251400              user   The user who owns the ssh authorized keys file to modify
251401
251402              config The  location of the authorized keys file relative to the
251403                     user's home directory, defaults to ".ssh/known_hosts". If
251404                     no      user      is      specified,      defaults     to
251405                     "/etc/ssh/ssh_known_hosts". If present, must be an  abso‐
251406                     lute path when a user is not specified.
251407
251408       salt.states.ssh_known_hosts.present(name,  user=None, fingerprint=None,
251409       key=None,  port=None,  enc=None,  config=None,   hash_known_hosts=True,
251410       timeout=5, fingerprint_hash_type=None)
251411              Verifies that the specified host is known by the specified user
251412
251413              On  many  systems,  specifically those running with openssh 4 or
251414              older, the enc option must be set, only openssh 5 and above  can
251415              detect the key type.
251416
251417              name   The name of the remote host (e.g. "github.com") Note that
251418                     only a single hostname is supported,  if  foo.example.com
251419                     and  bar.example.com have the same host you will need two
251420                     separate Salt States to represent them.
251421
251422              user   The user who owns the ssh authorized keys file to modify
251423
251424              fingerprint
251425                     The fingerprint of the key which must be present  in  the
251426                     known_hosts file (optional if key specified)
251427
251428              key    The  public  key which must be present in the known_hosts
251429                     file (optional if fingerprint specified)
251430
251431              port   optional parameter, port  which  will  be  used  to  when
251432                     requesting  the public key from the remote host, defaults
251433                     to port 22.
251434
251435              enc    Defines what type of key is being used, can  be  ed25519,
251436                     ecdsa ssh-rsa or ssh-dss
251437
251438              config The  location of the authorized keys file relative to the
251439                     user's home directory, defaults to ".ssh/known_hosts". If
251440                     no      user      is      specified,      defaults     to
251441                     "/etc/ssh/ssh_known_hosts". If present, must be an  abso‐
251442                     lute path when a user is not specified.
251443
251444              hash_known_hosts
251445                     True  Hash all hostnames and addresses in the known hosts
251446                     file.
251447
251448              timeout
251449                     int Set the timeout for connection attempts.  If  timeout
251450                     seconds  have elapsed since a connection was initiated to
251451                     a host or since the last time anything was read from that
251452                     host, then the connection is closed and the host in ques‐
251453                     tion considered unavailable.  Default is 5 seconds.
251454
251455                     New in version 2016.3.0.
251456
251457
251458              fingerprint_hash_type
251459                     The public key fingerprint hash type that the public  key
251460                     fingerprint  was originally hashed with. This defaults to
251461                     sha256 if not specified.
251462
251463                     New in version 2016.11.4.
251464
251465
251466                     Changed in version 2017.7.0:: default changed from md5 to
251467                     sha256
251468
251469
251470   salt.states.stateconf
251471   Stateconf System
251472       The  stateconf  system is intended for use only with the stateconf ren‐
251473       derer. This State module presents the set function. This function  does
251474       not  execute any functionality, but is used to interact with the state‐
251475       conf renderer.
251476
251477       salt.states.stateconf.context(name, **kwargs)
251478              No-op state to support state config via the stateconf renderer.
251479
251480       salt.states.stateconf.set(name, **kwargs)
251481              No-op state to support state config via the stateconf renderer.
251482
251483   salt.states.status
251484       Minion status monitoring
251485
251486       Maps to the status execution module.
251487
251488       salt.states.status.loadavg(name, maximum=None, minimum=None)
251489              Return the current load average for the specified minion. Avail‐
251490              able  values  for  name are 1-min, 5-min and 15-min. minimum and
251491              maximum values should be passed in as strings.
251492
251493       salt.states.status.process(name)
251494              Return whether the specified signature is found in  the  process
251495              tree. This differs slightly from the services states, in that it
251496              may refer to a process that is not managed via the init system.
251497
251498   salt.states.statuspage
251499   StatusPage
251500       Manage the StatusPage configuration.
251501
251502       In the minion configuration file, the following block is required:
251503
251504          statuspage:
251505            api_key: <API_KEY>
251506            page_id: <PAGE_ID>
251507
251508       New in version 2017.7.0.
251509
251510
251511       salt.states.statuspage.create(name,              endpoint=u'incidents',
251512       api_url=None, page_id=None, api_key=None, api_version=None, **kwargs)
251513              Insert a new entry under a specific endpoint.
251514
251515              endpoint: incidents
251516                     Insert under this specific endpoint.
251517
251518              page_id
251519                     Page ID. Can also be specified in the config file.
251520
251521              api_key
251522                     API key. Can also be specified in the config file.
251523
251524              api_version: 1
251525                     API version. Can also be specified in the config file.
251526
251527              api_url
251528                     Custom  API URL in case the user has a StatusPage service
251529                     running in a custom environment.
251530
251531              kwargs Other params.
251532
251533              SLS Example:
251534
251535                 create-my-component:
251536                     statuspage.create:
251537                         - endpoint: components
251538                         - name: my component
251539                         - group_id: 993vgplshj12
251540
251541       salt.states.statuspage.delete(name,   endpoint=u'incidents',   id=None,
251542       api_url=None, page_id=None, api_key=None, api_version=None)
251543              Remove an entry from an endpoint.
251544
251545              endpoint: incidents
251546                     Request a specific endpoint.
251547
251548              page_id
251549                     Page ID. Can also be specified in the config file.
251550
251551              api_key
251552                     API key. Can also be specified in the config file.
251553
251554              api_version: 1
251555                     API version. Can also be specified in the config file.
251556
251557              api_url
251558                     Custom  API URL in case the user has a StatusPage service
251559                     running in a custom environment.
251560
251561              SLS Example:
251562
251563                 delete-my-component:
251564                     statuspage.delete:
251565                         - endpoint: components
251566                         - id: ftgks51sfs2d
251567
251568       salt.states.statuspage.managed(name,       config,        api_url=None,
251569       page_id=None,       api_key=None,       api_version=None,       pace=1,
251570       allow_empty=False)
251571              Manage the StatusPage configuration.
251572
251573              config Dictionary with the expected configuration of the Status‐
251574                     Page.   The  main level keys of this dictionary represent
251575                     the endpoint name.  If a certain endpoint does not  exist
251576                     in this structure, it will be ignored / not configured.
251577
251578              page_id
251579                     Page ID. Can also be specified in the config file.
251580
251581              api_key
251582                     API key. Can also be specified in the config file.
251583
251584              api_version: 1
251585                     API version. Can also be specified in the config file.
251586
251587              api_url
251588                     Custom  API URL in case the user has a StatusPage service
251589                     running in a custom environment.
251590
251591              pace: 1
251592                     Max requests per second allowed by the API.
251593
251594              allow_empty: False
251595                     Allow empty config.
251596
251597              SLS example:
251598
251599                 my-statuspage-config:
251600                     statuspage.managed:
251601                         - config:
251602                             components:
251603                                 - name: component1
251604                                   group_id: uy4g37rf
251605                                 - name: component2
251606                                   group_id: 3n4uyu4gf
251607                             incidents:
251608                                 - name: incident1
251609                                   status: resolved
251610                                   impact: major
251611                                   backfilled: false
251612                                 - name: incident2
251613                                   status: investigating
251614                                   impact: minor
251615
251616       salt.states.statuspage.update(name,   endpoint=u'incidents',   id=None,
251617       api_url=None, page_id=None, api_key=None, api_version=None, **kwargs)
251618              Update attribute(s) of a specific endpoint.
251619
251620              id     The unique ID of the enpoint entry.
251621
251622              endpoint: incidents
251623                     Endpoint name.
251624
251625              page_id
251626                     Page ID. Can also be specified in the config file.
251627
251628              api_key
251629                     API key. Can also be specified in the config file.
251630
251631              api_version: 1
251632                     API version. Can also be specified in the config file.
251633
251634              api_url
251635                     Custom  API URL in case the user has a StatusPage service
251636                     running in a custom environment.
251637
251638              SLS Example:
251639
251640                 update-my-incident:
251641                     statuspage.update:
251642                         - id: dz959yz2nd4l
251643                         - status: resolved
251644
251645   salt.states.supervisord
251646   Interaction with the Supervisor daemon
251647          wsgi_server:
251648            supervisord.running:
251649              - require:
251650                - pkg: supervisor
251651              - watch:
251652                - file: /etc/nginx/sites-enabled/wsgi_server.conf
251653
251654       salt.states.supervisord.dead(name,      user=None,      conf_file=None,
251655       bin_env=None, **kwargs)
251656              Ensure the named service is dead (not running).
251657
251658              name   Service  name  as defined in the supervisor configuration
251659                     file
251660
251661              user   Name of the user to run the supervisorctl command
251662
251663                     New in version 0.17.0.
251664
251665
251666              conf_file
251667                     path to supervisorctl config file
251668
251669              bin_env
251670                     path to supervisorctl bin  or  path  to  virtualenv  with
251671                     supervisor installed
251672
251673       salt.states.supervisord.mod_watch(name,   restart=True,   update=False,
251674       user=None, conf_file=None, bin_env=None, **kwargs)
251675              The supervisord watcher, called to  invoke  the  watch  command.
251676              Always restart on watch
251677
251678              NOTE:
251679                 This  state  exists  to support special handling of the watch
251680                 requisite. It should not be called directly.
251681
251682                 Parameters for this function should be set by the state being
251683                 triggered.
251684
251685       salt.states.supervisord.running(name,    restart=False,   update=False,
251686       user=None, conf_file=None, bin_env=None, **kwargs)
251687              Ensure the named service is running.
251688
251689              name   Service name as defined in the  supervisor  configuration
251690                     file
251691
251692              restart
251693                     Whether to force a restart
251694
251695              update Whether to update the supervisor configuration.
251696
251697              user   Name of the user to run the supervisorctl command
251698
251699                     New in version 0.17.0.
251700
251701
251702              conf_file
251703                     path to supervisorctl config file
251704
251705              bin_env
251706                     path  to  supervisorctl  bin  or  path to virtualenv with
251707                     supervisor installed
251708
251709   salt.states.svn
251710   Manage SVN repositories
251711       Manage repository checkouts via the svn vcs system. Note  that  subver‐
251712       sion  must be installed for these states to be available, so svn states
251713       should include a requisite to a pkg.installed  state  for  the  package
251714       which provides subversion (subversion in most cases). Example:
251715
251716          subversion:
251717            pkg.installed
251718
251719          http://unladen-swallow.googlecode.com/svn/trunk/:
251720            svn.latest:
251721              - target: /tmp/swallow
251722
251723       salt.states.svn.dirty(name,  target,  user=None,  username=None,  pass‐
251724       word=None, ignore_unversioned=False)
251725              Determine if the working directory has been changed.
251726
251727       salt.states.svn.export(name, target=None,  rev=None,  user=None,  user‐
251728       name=None, password=None, force=False, overwrite=False, externals=True,
251729       trust=False, trust_failures=None)
251730              Export a file or directory from an SVN repository
251731
251732              name   Address and path to the file or directory to be exported.
251733
251734              target Name of the target directory where the checkout will  put
251735                     the working directory
251736
251737              rev    None The name revision number to checkout. Enable "force"
251738                     if the directory already exists.
251739
251740              user   None Name of the user  performing  repository  management
251741                     operations
251742
251743              username
251744                     None The user to access the name repository with. The svn
251745                     default is the current user
251746
251747              password
251748                     Connect to the Subversion server with this password
251749
251750                     New in version 0.17.0.
251751
251752
251753              force  False Continue if conflicts are encountered
251754
251755              overwrite
251756                     False Overwrite existing target
251757
251758              externals
251759                     True Change to False to not checkout or update externals
251760
251761              trust  False  Automatically  trust  the  remote  server.   SVN's
251762                     --trust-server-cert
251763
251764              trust_failures
251765                     None  Comma-separated list of certificate trust failures,
251766                     that shall be ignored. This can be used if trust=True  is
251767                     not  sufficient.  The specified string is passed to SVN's
251768                     --trust-server-cert-failures option as-is.
251769
251770                     New in version Fluorine.
251771
251772
251773       salt.states.svn.latest(name, target=None,  rev=None,  user=None,  user‐
251774       name=None,  password=None,  force=False,  externals=True,  trust=False,
251775       trust_failures=None)
251776              Checkout or update the working directory to the latest  revision
251777              from the remote repository.
251778
251779              name   Address  of  the name repository as passed to "svn check‐
251780                     out"
251781
251782              target Name of the target directory where the checkout will  put
251783                     the working directory
251784
251785              rev    None The name revision number to checkout. Enable "force"
251786                     if the directory already exists.
251787
251788              user   None Name of the user  performing  repository  management
251789                     operations
251790
251791              username
251792                     None The user to access the name repository with. The svn
251793                     default is the current user
251794
251795              password
251796                     Connect to the Subversion server with this password
251797
251798                     New in version 0.17.0.
251799
251800
251801              force  False Continue if conflicts are encountered
251802
251803              externals
251804                     True Change to False to not checkout or update externals
251805
251806              trust  False  Automatically  trust  the  remote  server.   SVN's
251807                     --trust-server-cert
251808
251809              trust_failures
251810                     None  Comma-separated list of certificate trust failures,
251811                     that shall be ignored. This can be used if trust=True  is
251812                     not  sufficient.  The specified string is passed to SVN's
251813                     --trust-server-cert-failures option as-is.
251814
251815                     New in version Fluorine.
251816
251817
251818   salt.states.sysctl
251819   Configuration of the kernel using sysctl
251820       Control the kernel sysctl system.
251821
251822          vm.swappiness:
251823            sysctl.present:
251824              - value: 20
251825
251826       salt.states.sysctl.present(name, value, config=None)
251827              Ensure that the named sysctl value is set  in  memory  and  per‐
251828              sisted  to the named configuration file. The default sysctl con‐
251829              figuration file is /etc/sysctl.conf
251830
251831              name   The name of the sysctl value to edit
251832
251833              value  The sysctl value to apply
251834
251835              config The location of the sysctl  configuration  file.  If  not
251836                     specified,  the proper location will be detected based on
251837                     platform.
251838
251839   salt.states.syslog_ng
251840   State module for syslog_ng
251841       maintainer
251842              Tibor Benke <btibi@sch.bme.hu>
251843
251844       maturity
251845              new
251846
251847       depends
251848              cmd, ps, syslog_ng
251849
251850       platform
251851              all
251852
251853       Users can generate syslog-ng configuration files from  YAML  format  or
251854       use
251855              plain  ones  and reload, start, or stop their syslog-ng by using
251856              this module.
251857
251858   Details
251859       The service module is not available  on  all  system,  so  this  module
251860       includes  syslog_ng.reloaded,  syslog_ng.stopped, and syslog_ng.started
251861       functions.  If the service module is available on the computers,  users
251862       should use that.
251863
251864       Users  can generate syslog-ng configuration with syslog_ng.config func‐
251865       tion.  For more information see syslog-ng state usage.
251866
251867   Syslog-ng configuration file format
251868       The syntax of a configuration snippet in syslog-ng.conf:
251869              object_type object_id {<options>};
251870
251871       These constructions are  also  called  statements.  There  are  options
251872       inside of them:
251873              option(parameter1, parameter2); option2(parameter1, parameter2);
251874
251875       You can find more information about syslog-ng's configuration syntax in
251876       the                Syslog-ng                Admin                guide:
251877       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
251878
251879       salt.states.syslog_ng.config(name, config, write=True)
251880              Builds syslog-ng configuration.
251881
251882              name : the id of the Salt document config : the parsed YAML code
251883              write  :  if  True, it writes  the config into the configuration
251884              file, otherwise just returns it
251885
251886       salt.states.syslog_ng.reloaded(name)
251887              Reloads syslog-ng.
251888
251889       salt.states.syslog_ng.started(name=None,     user=None,     group=None,
251890       chroot=None, caps=None, no_caps=False, pidfile=None, enable_core=False,
251891       fd_limit=None, verbose=False, debug=False, trace=False,  yydebug=False,
251892       persist_file=None, control=None, worker_threads=None, *args, **kwargs)
251893              Ensures, that syslog-ng is started via the given parameters.
251894
251895              Users  shouldn't  use  this  function,  if the service module is
251896              available on their system.
251897
251898       salt.states.syslog_ng.stopped(name=None)
251899              Kills syslog-ng.
251900
251901   salt.states.sysrc
251902       State to work with sysrc
251903
251904       salt.states.sysrc.absent(name, **kwargs)
251905              Ensure a sysrc variable is absent.
251906
251907              name   The variable name to set
251908
251909              file   (optional) The rc file to add the variable to.
251910
251911              jail   (option) the name or JID of the jail to set the value in.
251912
251913       salt.states.sysrc.managed(name, value, **kwargs)
251914              Ensure a sysrc variable is set to a specific value.
251915
251916              name   The variable name to set
251917
251918              value  Value to set the variable to
251919
251920              file   (optional) The rc file to add the variable to.
251921
251922              jail   (option) the name or JID of the jail to set the value in.
251923
251924              Example:
251925
251926                 syslogd:
251927                   sysrc.managed:
251928                     - name: syslogd_flags
251929                     - value: -ss
251930
251931   salt.states.telemetry_alert
251932   Manage Telemetry alert configurations
251933       New in version 2016.3.0.
251934
251935
251936       Create, Update and destroy Mongo Telemetry alert configurations.
251937
251938       This module uses requests, which can be installed via package, or pip.
251939
251940       This module accepts explicit credential (telemetry api key) or can also
251941       read api key credentials from a pillar.  Example:
251942
251943          ensure telemetry alert X is defined on deployment Y:
251944              telemetry_alert.present:
251945                  - deployment_id: "rs-XXXXXX"
251946                  - metric_name: "testMetric"
251947                  - alert_config:
251948                     max: 1
251949                     filter:  SERVER_ROLE_MONGOD_PRIMARY
251950                     escalate_to: "example@pagerduty.com"
251951                  - name: "**MANAGED BY ORCA DO NOT EDIT BY HAND** manages alarm on testMetric"
251952
251953       salt.states.telemetry_alert.absent(name,   deployment_id,  metric_name,
251954       api_key=None, profile=u'telemetry')
251955              Ensure the telemetry alert config is deleted
251956
251957              name   An optional description of the alarms (not currently sup‐
251958                     ported by telemetry API)
251959
251960              deployment_id
251961                     Specifies the ID of the root deployment resource (replica
251962                     set cluster or sharded cluster) to which this alert defi‐
251963                     nition is attached
251964
251965              metric_name
251966                     Specifies  the  unique  ID  of the metric to whose values
251967                     these thresholds will be applied
251968
251969              api_key
251970                     Telemetry api key for the user
251971
251972              profile
251973                     A dict with telemetry config data. If  present,  will  be
251974                     used instead of api_key.
251975
251976       salt.states.telemetry_alert.present(name,  deployment_id,  metric_name,
251977       alert_config, api_key=None, profile=u'telemetry')
251978              Ensure the telemetry alert exists.
251979
251980              name   An optional description of the alarm (not currently  sup‐
251981                     ported by telemetry API)
251982
251983              deployment_id
251984                     Specifies the ID of the root deployment resource (replica
251985                     set cluster or sharded cluster) to which this alert defi‐
251986                     nition is attached
251987
251988              metric_name
251989                     Specifies  the  unique  ID  of the metric to whose values
251990                     these thresholds will be applied
251991
251992              alert_config: Is a list of dictionaries where each dict contains
251993              the following fields:
251994
251995                     filter By  default the alert will apply to the deployment
251996                            and all its constituent resources.  If  the  alert
251997                            only  applies  to  a  subset of those resources, a
251998                            filter may be specified to narrow this scope.
251999
252000                     min    the smallest "ok" value the metric may take on; if
252001                            missing or null, no minimum is enforced.
252002
252003                     max    the  largest "ok" value the metric may take on; if
252004                            missing or null, no maximum is enforced.
252005
252006                     notify_all
252007                            Used to indicate if you want to alert both  onCal‐
252008                            lEngineer and apiNotifications
252009
252010              api_key
252011                     Telemetry api key for the user
252012
252013              profile
252014                     A dict of telemetry config information.  If present, will
252015                     be used instead of api_key.
252016
252017   salt.states.test
252018   Test States
252019       Provide test case states that enable easy testing of things to do  with
252020       state calls, e.g. running, calling, logging, output filtering etc.
252021
252022          always-passes-with-any-kwarg:
252023            test.nop:
252024              - name: foo
252025              - something: else
252026              - foo: bar
252027
252028          always-passes:
252029            test.succeed_without_changes:
252030              - name: foo
252031
252032          always-fails:
252033            test.fail_without_changes:
252034              - name: foo
252035
252036          always-changes-and-succeeds:
252037            test.succeed_with_changes:
252038              - name: foo
252039
252040          always-changes-and-fails:
252041            test.fail_with_changes:
252042              - name: foo
252043
252044          my-custom-combo:
252045            test.configurable_test_state:
252046              - name: foo
252047              - changes: True
252048              - result: False
252049              - comment: bar.baz
252050
252051          is-pillar-foo-present-and-bar-is-int:
252052            test.check_pillar:
252053              - present:
252054                  - foo
252055              - integer:
252056                  - bar
252057
252058       salt.states.test.check_pillar(name,  present=None,  boolean=None, inte‐
252059       ger=None, string=None, listing=None, dictionary=None, verbose=False)
252060              Checks the presence and, optionally, the type of given  keys  in
252061              Pillar.   Supported  kwargs  for  types  are: - boolean (bool) -
252062              integer (int) - string  (str)  -  listing  (list)  -  dictionary
252063              (dict)
252064
252065              Checking for None type pillars is not implemented yet.
252066
252067                 is-pillar-foo-present-and-bar-is-int:
252068                   test.check_pillar:
252069                     - present:
252070                         - foo
252071                     - integer:
252072                         - bar
252073
252074       salt.states.test.configurable_test_state(name,            changes=True,
252075       result=True, comment=u'')
252076              A configurable test state which determines its output  based  on
252077              the inputs.
252078
252079              New in version 2014.7.0.
252080
252081
252082              name:  A unique string.
252083
252084              changes:
252085                     Do  we  return  anything  in  the changes field?  Accepts
252086                     True, False, and 'Random' Default is True
252087
252088              result:
252089                     Do we return successfully or not?  Accepts  True,  False,
252090                     and  'Random' Default is True If test is True and changes
252091                     is True, this will be None.  If  test  is  True  and  and
252092                     changes is False, this will be True.
252093
252094              comment:
252095                     String to fill the comment field with.  Default is ''
252096
252097       salt.states.test.fail_with_changes(name)
252098              Returns failure and changes is not empty.
252099
252100              New in version 2014.7.0.
252101
252102
252103              name:  A unique string.
252104
252105       salt.states.test.fail_without_changes(name)
252106              Returns failure.
252107
252108              New in version 2014.7.0.
252109
252110
252111              name:  A unique string.
252112
252113       salt.states.test.mod_watch(name, sfun=None, **kwargs)
252114              Call this function via a watch statement
252115
252116              New in version 2014.7.0.
252117
252118
252119              Any  parameters in the state return dictionary can be customized
252120              by adding the keywords result, comment, and changes.
252121
252122                 this_state_will_return_changes:
252123                   test.succeed_with_changes
252124
252125                 this_state_will_NOT_return_changes:
252126                   test.succeed_without_changes
252127
252128                 this_state_is_watching_another_state:
252129                   test.succeed_without_changes:
252130                     - comment: 'This is a custom comment'
252131                     - watch:
252132                       - test: this_state_will_return_changes
252133                       - test: this_state_will_NOT_return_changes
252134
252135                 this_state_is_also_watching_another_state:
252136                   test.succeed_without_changes:
252137                     - watch:
252138                       - test: this_state_will_NOT_return_changes
252139
252140       salt.states.test.nop(name, **kwargs)
252141              A no-op state that does nothing. Useful in conjunction with  the
252142              use  requisite,  or  in templates which could otherwise be empty
252143              due to jinja rendering
252144
252145              New in version 2015.8.1.
252146
252147
252148       salt.states.test.show_notification(name, text=None, **kwargs)
252149              Simple notification using text argument.
252150
252151              New in version 2015.8.0.
252152
252153
252154              name   A unique string.
252155
252156              text   Text to return in the comment.
252157
252158       salt.states.test.succeed_with_changes(name)
252159              Returns successful and changes is not empty
252160
252161              New in version 2014.7.0.
252162
252163
252164              name:  A unique string.
252165
252166       salt.states.test.succeed_without_changes(name)
252167              Returns successful.
252168
252169              New in version 2014.7.0.
252170
252171
252172              name   A unique string.
252173
252174   salt.states.testinframod module
252175       salt.states.testinframod.iptables(name, **methods)
252176
252177       salt.states.testinframod.puppet_resource(name, **methods)
252178
252179       salt.states.testinframod.mount_point(name, **methods)
252180
252181       salt.states.testinframod.group(name, **methods)
252182
252183       salt.states.testinframod.socket(name, **methods)
252184
252185       salt.states.testinframod.service(name, **methods)
252186
252187       salt.states.testinframod.package(name, **methods)
252188
252189       salt.states.testinframod.process(name, **methods)
252190
252191       salt.states.testinframod.sudo(name, **methods)
252192
252193       salt.states.testinframod.pip_package(name, **methods)
252194
252195       salt.states.testinframod.sysctl(name, **methods)
252196
252197       salt.states.testinframod.system_info(name, **methods)
252198
252199       salt.states.testinframod.ansible(name, **methods)
252200
252201       salt.states.testinframod.command(name, **methods)
252202
252203       salt.states.testinframod.facter(name, **methods)
252204
252205       salt.states.testinframod.file(name, **methods)
252206
252207       salt.states.testinframod.interface(name, **methods)
252208
252209       salt.states.testinframod.supervisor(name, **methods)
252210
252211       salt.states.testinframod.salt(name, **methods)
252212
252213       salt.states.testinframod.user(name, **methods)
252214
252215   salt.states.timezone
252216   Management of timezones
252217       The timezone can be managed for the system:
252218
252219          America/Denver:
252220            timezone.system
252221
252222       The system and the hardware clock are not necessarily set to  the  same
252223       time.   By  default, the hardware clock is set to localtime, meaning it
252224       is set to the same time as the system clock. If utc  is  set  to  True,
252225       then  the  hardware clock will be set to UTC, and the system clock will
252226       be an offset of that.
252227
252228          America/Denver:
252229            timezone.system:
252230              - utc: True
252231
252232       The Ubuntu community documentation contains an explanation of this set‐
252233       ting,  as  it  applies  to systems that dual-boot with Windows. This is
252234       explained in greater detail here.
252235
252236       salt.states.timezone.system(name, utc=True)
252237              Set the timezone for the system.
252238
252239              name   The name of the timezone to use (e.g.: America/Denver)
252240
252241              utc    Whether or not to set the hardware clock to UTC  (default
252242                     is True)
252243
252244   salt.states.tls
252245   Enforce state for SSL/TLS
252246       salt.states.tls.valid_certificate(name,  weeks=0, days=0, hours=0, min‐
252247       utes=0, seconds=0)
252248              Verify that a TLS certificate is valid now and (optionally) will
252249              be valid for the time specified through weeks, days, hours, min‐
252250              utes, and seconds.
252251
252252   salt.states.tomcat
252253   Manage Apache Tomcat web applications
252254       NOTE:
252255          This state requires the Tomcat Manager webapp to  be  installed  and
252256          running.
252257
252258       The  following grains/pillars must be set for communication with Tomcat
252259       Manager to work:
252260
252261          tomcat-manager:
252262              user: 'tomcat-manager'
252263              passwd: 'Passw0rd'
252264
252265   Configuring Tomcat Manager
252266       To manage webapps via the Tomcat Manager, you'll need  to  configure  a
252267       valid    user    in    the   file   conf/tomcat-users.xml.    conf/tom‐
252268       cat-users.xml.INDENT 0.0
252269
252270           <?xml version='1.0' encoding='utf-8'?>
252271           <tomcat-users>
252272               <role rolename="manager-script"/>
252273               <user username="tomcat-manager" password="Passw0rd" roles="manager-script"/>
252274           </tomcat-users>
252275Notes.INDENT 0.0
252276
252277       · Using multiple versions (aka. parallel deployments) on the same  con‐
252278         text path is not supported.
252279
252280       · More       information       about      the      Tomcat      Manager:
252281         http://tomcat.apache.org/tomcat-7.0-doc/manager-howto.html
252282
252283       · If you use only  this  module  for  deployments  you  might  want  to
252284         restrict access to the manager so it's only accessible via localhost.
252285         For                            more                             info:
252286         http://tomcat.apache.org/tomcat-7.0-doc/manager-howto.html#Configuring_Manager_Application_Access
252287
252288       ·
252289
252290         Last tested on:
252291
252292                Tomcat Version:
252293                       Apache Tomcat/7.0.54
252294
252295                JVM Vendor:
252296                       Oracle Corporation
252297
252298                JVM Version:
252299                       1.8.0_101-b13
252300
252301                OS Architecture:
252302                       amd64
252303
252304                OS Name:
252305                       Linux
252306
252307                OS Version:
252308                       3.10.0-327.22.2.el7.x86_64
252309
252310       salt.states.tomcat.mod_watch(name,     url=u'http://localhost:8080/man‐
252311       ager', timeout=180)
252312              The  tomcat  watcher,  called to invoke the watch command.  When
252313              called, it will reload the webapp in question
252314
252315              NOTE:
252316                 This state exists to support special handling  of  the  watch
252317                 requisite. It should not be called directly.
252318
252319                 Parameters for this function should be set by the state being
252320                 triggered.
252321
252322       salt.states.tomcat.undeployed(name,    url=u'http://localhost:8080/man‐
252323       ager', timeout=180)
252324              Enforce that the WAR will be undeployed from the server
252325
252326              name   The context path to undeploy.
252327
252328              url    http://localhost:8080/manager  The URL of the server with
252329                     the Tomcat Manager webapp.
252330
252331              timeout
252332                     180 Timeout for HTTP request to the Tomcat Manager.
252333
252334              Example:
252335
252336                 jenkins:
252337                   tomcat.undeployed:
252338                     - name: /ran
252339                     - require:
252340                       - service: application-service
252341
252342       salt.states.tomcat.wait(name,     url=u'http://localhost:8080/manager',
252343       timeout=180)
252344              Wait for the Tomcat Manager to load.
252345
252346              Notice  that if tomcat is not running we won't wait for it start
252347              and the state will fail. This state can be required in the  tom‐
252348              cat.war_deployed  state  to make sure tomcat is running and that
252349              the manager is running as well and ready for deployment.
252350
252351              url    http://localhost:8080/manager The URL of the server  with
252352                     the Tomcat Manager webapp.
252353
252354              timeout
252355                     180 Timeout for HTTP request to the Tomcat Manager.
252356
252357              Example:
252358
252359                 tomcat-service:
252360                   service.running:
252361                     - name: tomcat
252362                     - enable: True
252363
252364                 wait-for-tomcatmanager:
252365                   tomcat.wait:
252366                     - timeout: 300
252367                     - require:
252368                       - service: tomcat-service
252369
252370                 jenkins:
252371                   tomcat.war_deployed:
252372                     - name: /ran
252373                     - war: salt://jenkins-1.2.4.war
252374                     - require:
252375                       - tomcat: wait-for-tomcatmanager
252376
252377       salt.states.tomcat.war_deployed(name,         war,         force=False,
252378       url=u'http://localhost:8080/manager',    timeout=180,    temp_war_loca‐
252379       tion=None, version=True)
252380              Enforce that the WAR will be deployed and started in the context
252381              path, while making use of WAR versions in the filename.
252382
252383              NOTE:
252384                 For more info about Tomcats file paths  and  context  naming,
252385                 please                                                    see
252386                 http://tomcat.apache.org/tomcat-7.0-doc/config/context.html#Naming
252387
252388              name   The  context path to deploy (incl. forward slash) the WAR
252389                     to.
252390
252391              war    Absolute path to WAR file (should be  accessible  by  the
252392                     user running Tomcat) or a path supported by the salt.mod‐
252393                     ules.cp.get_url function.
252394
252395              force  False Force deployment even if the  version  strings  are
252396                     the same.  Disabled by default.
252397
252398              url    http://localhost:8080/manager  The  URL of the Tomcat Web
252399                     Application Manager.
252400
252401              timeout
252402                     180 Timeout for HTTP requests to the Tomcat Manager.
252403
252404              temp_war_location
252405                     None Use another location to  temporarily  copy  the  WAR
252406                     file to.  By default the system's temp directory is used.
252407
252408              version
252409                     ''  Specify  the  WAR  version.  If this argument is pro‐
252410                     vided, it overrides the version encoded in the  WAR  file
252411                     name, if one is present.
252412
252413                     New in version 2015.8.6.
252414
252415
252416                     Use  False or blank value to prevent guessing the version
252417                     and keeping it blank.
252418
252419                     New in version 2016.11.0.
252420
252421
252422              Example:
252423
252424                 jenkins:
252425                   tomcat.war_deployed:
252426                     - name: /salt-powered-jenkins
252427                     - war: salt://jenkins-1.2.4.war
252428                     - require:
252429                       - service: application-service
252430
252431              NOTE:
252432                 Be aware that in the above example the WAR  jenkins-1.2.4.war
252433                 will  be  deployed  to  the  context  path salt-powered-jenk‐
252434                 ins##1.2.4. To avoid this either specify a version  yourself,
252435                 or set version to False.
252436
252437   salt.states.trafficserver
252438   Control Apache Traffic Server
252439       New in version 2015.8.0.
252440
252441
252442       salt.states.trafficserver.bounce_cluster(name)
252443              Bounce all Traffic Server nodes in the cluster. Bouncing Traffic
252444              Server shuts  down  and  immediately  restarts  Traffic  Server,
252445              node-by-node.
252446
252447                 bounce_ats_cluster:
252448                   trafficserver.bounce_cluster
252449
252450       salt.states.trafficserver.bounce_local(name, drain=False)
252451              Bounce Traffic Server on the local node. Bouncing Traffic Server
252452              shuts down and immediately restarts the Traffic Server node.
252453
252454              This option modifies the behavior of traffic_line -b  and  traf‐
252455              fic_line  -L such that traffic_server is not shut down until the
252456              number of active client connections drops to the number given by
252457              the  proxy.config.restart.active_client_threshold  configuration
252458              variable.
252459
252460                 bounce_ats_local:
252461                   trafficserver.bounce_local
252462
252463                 bounce_ats_local:
252464                   trafficserver.bounce_local
252465                     - drain: True
252466
252467       salt.states.trafficserver.clear_cluster(name)
252468              Clears accumulated statistics on all nodes in the cluster.
252469
252470                 clear_ats_cluster:
252471                   trafficserver.clear_cluster
252472
252473       salt.states.trafficserver.clear_node(name)
252474              Clears accumulated statistics on the local node.
252475
252476                 clear_ats_node:
252477                   trafficserver.clear_node
252478
252479       salt.states.trafficserver.config(name, value)
252480              Set Traffic Server configuration variable values.
252481
252482                 proxy.config.proxy_name:
252483                   trafficserver.config:
252484                     - value: cdn.site.domain.tld
252485
252486                 OR
252487
252488                 traffic_server_setting:
252489                   trafficserver.config:
252490                     - name: proxy.config.proxy_name
252491                     - value: cdn.site.domain.tld
252492
252493       salt.states.trafficserver.offline(name, path)
252494              Mark a cache storage device as offline. The storage  is  identi‐
252495              fied  by  a  path  which  must match exactly a path specified in
252496              storage.config. This removes the  storage  from  the  cache  and
252497              redirects  requests  that  would have used this storage to other
252498              storage. This has exactly the same effect as a disk failure  for
252499              that storage. This does not persist across restarts of the traf‐
252500              fic_server process.
252501
252502                 offline_ats_path:
252503                   trafficserver.offline:
252504                     - path: /path/to/cache
252505
252506       salt.states.trafficserver.refresh(name)
252507              Initiate a Traffic Server configuration file  reread.  Use  this
252508              command to update the running configuration after any configura‐
252509              tion file modification.
252510
252511              The timestamp of the  last  reconfiguration  event  (in  seconds
252512              since  epoch)  is  published  in the proxy.node.config.reconfig‐
252513              ure_time metric.
252514
252515                 refresh_ats:
252516                   trafficserver.refresh
252517
252518       salt.states.trafficserver.restart_cluster(name)
252519              Restart  the  traffic_manager  process  and  the  traffic_server
252520              process on all the nodes in a cluster.
252521
252522                 restart_ats_cluster:
252523                   trafficserver.restart_cluster
252524
252525       salt.states.trafficserver.restart_local(name, drain=False)
252526              Restart  the traffic_manager and traffic_server processes on the
252527              local node.
252528
252529              This option modifies the behavior of traffic_line -b  and  traf‐
252530              fic_line  -L such that traffic_server is not shut down until the
252531              number of active client connections drops to the number given by
252532              the  proxy.config.restart.active_client_threshold  configuration
252533              variable.
252534
252535                 restart_ats_local:
252536                   trafficserver.restart_local
252537
252538                 restart_ats_local_drain:
252539                   trafficserver.restart_local
252540                     - drain: True
252541
252542       salt.states.trafficserver.shutdown(name)
252543              Shut down Traffic Server on the local node.
252544
252545                 shutdown_ats:
252546                   trafficserver.shutdown
252547
252548       salt.states.trafficserver.startup(name)
252549              Start Traffic Server on the local node.
252550
252551                 startup_ats:
252552                   trafficserver.startup
252553
252554       salt.states.trafficserver.zero_cluster(name)
252555              Reset performance statistics to zero across the cluster.
252556
252557                 zero_ats_cluster:
252558                   trafficserver.zero_cluster
252559
252560       salt.states.trafficserver.zero_node(name)
252561              Reset performance statistics to zero on the local node.
252562
252563                 zero_ats_node:
252564                   trafficserver.zero_node
252565
252566   salt.states.tuned
252567       Interface to Red Hat tuned-adm module
252568
252569       maintainer
252570              Syed Ali <alicsyed@gmail.com>
252571
252572       maturity
252573              new
252574
252575       depends
252576              cmd.run
252577
252578       platform
252579              Linux
252580
252581       salt.states.tuned.off(name=None)
252582              Turns 'tuned' off.  Example tuned.sls  file  for  turning  tuned
252583              off:
252584
252585              tuned: tuned.off: []
252586
252587              To see a valid list of states call execution module:
252588                     tuned.list
252589
252590       salt.states.tuned.profile(name)
252591              This state module allows you to modify system tuned parameters
252592
252593              Example tuned.sls file to set profile to virtual-guest
252594
252595              tuned:
252596
252597                     tuned:
252598
252599                            · profile
252600
252601                            · name: virtual-guest
252602
252603              name   tuned profile name to set the system to
252604
252605              To see a valid list of states call execution module:
252606                     tuned.list
252607
252608   salt.states.uptime
252609   Monitor Web Server with Uptime
252610       Uptime  is  an open source remote monitoring application using Node.js,
252611       MongoDB, and Twitter Bootstrap.
252612
252613       WARNING:
252614          This state module is beta. It might be changed later to include more
252615          or less automation.
252616
252617       NOTE:
252618          This  state module requires a pillar to specify the location of your
252619          uptime install
252620
252621              uptime:
252622                application_url: "http://uptime-url.example.org"
252623
252624       Example:
252625
252626          url:
252627            uptime.monitored
252628          url/sitemap.xml:
252629            uptime.monitored:
252630               - polling: 600 # every hour
252631
252632       salt.states.uptime.monitored(name, **params)
252633              Makes sure an URL is monitored  by  uptime.  Checks  if  URL  is
252634              already monitored, and if not, adds it.
252635
252636   salt.states.user
252637   Management of user accounts
252638       The  user  module is used to create and manage user settings, users can
252639       be set as either absent or present
252640
252641          fred:
252642            user.present:
252643              - fullname: Fred Jones
252644              - shell: /bin/zsh
252645              - home: /home/fred
252646              - uid: 4000
252647              - gid: 4000
252648              - groups:
252649                - wheel
252650                - storage
252651                - games
252652
252653          testuser:
252654            user.absent
252655
252656       salt.states.user.absent(name, purge=False, force=False)
252657              Ensure that the named user is absent
252658
252659              name   The name of the user to remove
252660
252661              purge  Set purge to True to delete all of the  user's  files  as
252662                     well as the user, Default is False.
252663
252664              force  If the user is logged in, the absent state will fail. Set
252665                     the force option to True to remove the user even if  they
252666                     are  logged  in.  Not  supported  in FreeBSD and Solaris,
252667                     Default is False.
252668
252669       salt.states.user.present(name, uid=None, gid=None, gid_from_name=False,
252670       groups=None,  optional_groups=None, remove_groups=True, home=None, cre‐
252671       atehome=True,   password=None,    hash_password=False,    enforce_pass‐
252672       word=True, empty_password=False, shell=None, unique=True, system=False,
252673       fullname=None,   roomnumber=None,    workphone=None,    homephone=None,
252674       other=None,  loginclass=None,  date=None,  mindays=None,  maxdays=None,
252675       inactdays=None,   warndays=None,    expire=None,    win_homedrive=None,
252676       win_profile=None,      win_logonscript=None,      win_description=None,
252677       nologinit=False, allow_uid_change=False, allow_gid_change=False)
252678              Ensure that the named user is present with the specified proper‐
252679              ties
252680
252681              name   The name of the user to manage
252682
252683              uid    The  user  id  to  assign. If not specified, and the user
252684                     does not exist, then  the  next  available  uid  will  be
252685                     assigned.
252686
252687              gid    The id of the default group to assign to the user. Either
252688                     a group name or gid can be used. If  not  specified,  and
252689                     the  user does not exist, then he next available gid will
252690                     be assigned.
252691
252692              gid_from_name
252693                     False If True, the default group id will be set to the id
252694                     of the group with the same name as the user. If the group
252695                     does not exist the state will fail.
252696
252697              allow_uid_change
252698                     False Set to True to allow the state to update the uid.
252699
252700                     New in version 2018.3.1.
252701
252702
252703              allow_gid_change
252704                     False Set to True to allow the state to update the gid.
252705
252706                     New in version 2018.3.1.
252707
252708
252709              groups A list of groups to assign  the  user  to,  pass  a  list
252710                     object.  If  a group specified here does not exist on the
252711                     minion, the state will fail.  If set to the  empty  list,
252712                     the  user  will  be  removed  from  all groups except the
252713                     default group. If unset, salt will assume current  groups
252714                     are still wanted (see issue #28706).
252715
252716              optional_groups
252717                     A  list  of  groups  to  assign  the user to, pass a list
252718                     object. If a group specified here does not exist  on  the
252719                     minion, the state will silently ignore it.
252720
252721              NOTE:  If  the  same  group  is  specified  in both "groups" and
252722              "optional_groups", then it will be assumed to  be  required  and
252723              not optional.
252724
252725              remove_groups
252726                     Remove  groups  that the user is a member of that weren't
252727                     specified in the state, Default is True.
252728
252729              home   The custom login directory of user. Uses default value of
252730                     underlying  system if not set. Notice that this directory
252731                     does not have to exist.  This also the  location  of  the
252732                     home directory to create if createhome is set to True.
252733
252734              createhome
252735                     True If set to False, the home directory will not be cre‐
252736                     ated if it doesn't already exist.
252737
252738                     WARNING:
252739                        Not supported on Windows or Mac OS.
252740
252741                        Additionally, parent directories will not be  created.
252742                        The parent directory for home must already exist.
252743
252744              nologinit
252745                     False If set to True, it will not add the user to lastlog
252746                     and faillog databases.
252747
252748                     NOTE:
252749                        Not supported on Windows or Mac OS.
252750
252751              password
252752                     A password hash to set for the user. This field  is  only
252753                     supported   on   Linux,  FreeBSD,  NetBSD,  OpenBSD,  and
252754                     Solaris. If the empty_password argument is  set  to  True
252755                     then  password is ignored.  For Windows this is the plain
252756                     text password.  For Linux, the hash can be generated with
252757                     openssl passwd -1.
252758
252759              Changed in version 0.16.0: BSD support added.
252760
252761
252762              hash_password
252763                     Set  to  True to hash the clear text password. Default is
252764                     False.
252765
252766              enforce_password
252767                     Set to False to keep the password from being  changed  if
252768                     it  has  already  been  set and the password hash differs
252769                     from what is specified  in  the  "password"  field.  This
252770                     option  will  be  ignored if "password" is not specified,
252771                     Default is True.
252772
252773              empty_password
252774                     Set to True  to  enable  password-less  login  for  user,
252775                     Default is False.
252776
252777              shell  The login shell, defaults to the system default shell
252778
252779              unique Require a unique UID, Default is True.
252780
252781              system Choose UID in the range of FIRST_SYSTEM_UID and LAST_SYS‐
252782                     TEM_UID, Default is False.
252783
252784              loginclass
252785                     The login class, defaults to empty (BSD only)
252786
252787              User comment field (GECOS) support (currently  Linux,  BSD,  and
252788              MacOS only):
252789
252790              The below values should be specified as strings to avoid ambigu‐
252791              ities when the values are loaded. (Especially the phone and room
252792              number fields which are likely to contain numeric data)
252793
252794              fullname
252795                     The user's full name
252796
252797              roomnumber
252798                     The user's room number (not supported in MacOS)
252799
252800              workphone
252801                     The user's work phone number (not supported in MacOS)
252802
252803              homephone
252804                     The user's home phone number (not supported in MacOS)
252805
252806              other  The  user's  other  attribute (not supported in MacOS) If
252807                     GECOS field contains more than 4 commas, this field  will
252808                     have the rest of 'em
252809
252810              Changed in version 2014.7.0: Shadow attribute support added.
252811
252812
252813              Shadow attributes support (currently Linux only):
252814
252815              The below values should be specified as integers.
252816
252817              date   Date  of  last  change  of  password, represented in days
252818                     since epoch (January 1, 1970).
252819
252820              mindays
252821                     The minimum number of days between password changes.
252822
252823              maxdays
252824                     The maximum number of days between password changes.
252825
252826              inactdays
252827                     The number of days after a  password  expires  before  an
252828                     account is locked.
252829
252830              warndays
252831                     Number of days prior to maxdays to warn users.
252832
252833              expire Date  that  account  expires,  represented  in days since
252834                     epoch (January 1, 1970).
252835
252836              The below parameters apply to windows only:
252837
252838              win_homedrive (Windows Only)
252839                     The drive letter to use for the home  directory.  If  not
252840                     specified  the  home directory will be a unc path. Other‐
252841                     wise the home directory will be mapped to  the  specified
252842                     drive.  Must be a letter followed by a colon.  Because of
252843                     the colon, the value must be surrounded by single quotes.
252844                     ie: - win_homedrive: 'U:
252845
252846                     Changed in version 2015.8.0.
252847
252848
252849              win_profile (Windows Only)
252850                     The  custom  profile  directory of the user. Uses default
252851                     value of underlying system if not set.
252852
252853                     Changed in version 2015.8.0.
252854
252855
252856              win_logonscript (Windows Only)
252857                     The full path to the logon script to run  when  the  user
252858                     logs in.
252859
252860                     Changed in version 2015.8.0.
252861
252862
252863              win_description (Windows Only)
252864                     A brief description of the purpose of the users account.
252865
252866                     Changed in version 2015.8.0.
252867
252868
252869   salt.states.vagrant
252870   Manage Vagrant VMs
252871       Manange execution of Vagrant virtual machines on Salt minions.
252872
252873       Vagrant  is  a  tool for building and managing virtual machine environ‐
252874       ments.  It can use various providers, such as  VirtualBox,  Docker,  or
252875       VMware,  to run its VMs.  Vagrant provides some of the functionality of
252876       a light-weight hypervisor.  The combination of  Salt  modules,  Vagrant
252877       running  on  the  host,  and a virtual machine provider, gives hypervi‐
252878       sor-like functionality for developers who use Vagrant to quickly define
252879       their virtual environments.
252880          New in version 2018.3.0.
252881
252882
252883       The  configuration  of  each virtual machine is defined in a file named
252884       Vagrantfile which must exist on the VM  host  machine.   The  essential
252885       parameters  which  must be defined to start a Vagrant VM are the direc‐
252886       tory where the Vagrantfile is located (argument cwd:), and the username
252887       which  will  own  the  Vagrant  box  created  for  the  VM  (  argument
252888       vagrant_runas:).
252889
252890       A single Vagrantfile may define one or more virtual machines.  Use  the
252891       machine  argument  to  chose among them. The default (blank) value will
252892       select the primary (or only) machine in the Vagrantfile.
252893
252894       [NOTE:] Each virtual machine host must have the following:
252895
252896       · a working salt-minion
252897
252898       · a Salt sdb database configured for vagrant_sdb_data.
252899
252900       · Vagrant installed and the vagrant command working
252901
252902       · a suitable VM provider
252903
252904          # EXAMPLE:
252905          # file /etc/salt/minion.d/vagrant_sdb.conf on the host computer
252906          #  -- this sdb database is required by the Vagrant module --
252907          vagrant_sdb_data:  # The sdb database must have this name.
252908            driver: sqlite3  # Let's use SQLite to store the data ...
252909            database: /var/cache/salt/vagrant.sqlite  # ... in this file ...
252910            table: sdb  # ... using this table name.
252911            create_table: True  # if not present
252912
252913       salt.states.vagrant.destroyed(name)
252914              Stops a VM (or VMs) and removes all  references  to  it  (them).
252915              (Runs vagrant destroy.)
252916
252917              Subsequent re-use of the same machine will requere another oper‐
252918              ation of vagrant.running or a call to the vagrant.init execution
252919              module.
252920
252921              Parameters
252922                     name  --  May be a Salt_id node or a POSIX-style wildcard
252923                     string.
252924
252925                 node_name:
252926                   vagrant.destroyed
252927
252928       salt.states.vagrant.initialized(name, **kwargs)
252929              Defines a new VM with specified arguments, but  does  not  start
252930              it.
252931
252932              Parameters
252933                     name -- the Salt_id node name you wish your VM to have.
252934
252935              Each  machine  must be initialized individually using this func‐
252936              tion or the "vagrant.running" function, or the vagrant.init exe‐
252937              cution module call.
252938
252939              This  command  will  not change the state of a running or paused
252940              machine.
252941
252942              Possible keyword arguments:
252943
252944              · cwd: The directory (path) containing the Vagrantfile
252945
252946              · machine: ('') the name of the machine (in the Vagrantfile)  if
252947                not default
252948
252949              · vagrant_runas:  ('root')  the username who owns the vagrantbox
252950                file
252951
252952              · vagrant_provider: the provider to run the VM (usually  'virtu‐
252953                albox')
252954
252955              · vm:  ({}) a dictionary containing these or other keyword argu‐
252956                ments
252957
252958                 node_name1:
252959                   vagrant.initialized
252960                     - cwd: /projects/my_project
252961                     - vagrant_runas: my_username
252962                     - machine: machine1
252963
252964                 node_name2:
252965                   vagrant.initialized
252966                     - cwd: /projects/my_project
252967                     - vagrant_runas: my_username
252968                     - machine: machine2
252969
252970                 start_nodes:
252971                   vagrant.start:
252972                     - name: node_name?
252973
252974       salt.states.vagrant.paused(name)
252975              Stores the state of a  VM  (or  VMs)  for  fast  restart.  (Runs
252976              vagrant suspend.)
252977
252978              Parameters
252979                     name  --  May be a Salt_id node or a POSIX-style wildcard
252980                     string.
252981
252982                 node_name:
252983                   vagrant.paused
252984
252985       salt.states.vagrant.powered_off(name)
252986              Stops a VM (or VMs) by power off.  (Runs vagrant halt.)
252987
252988              This method is provided for compatibility with other  VM-control
252989              state  modules.  For  Vagrant,  the  action  is  identical  with
252990              stopped.
252991
252992              Parameters
252993                     name -- May be a Salt_id node or a  POSIX-style  wildcard
252994                     string.
252995
252996                 node_name:
252997                   vagrant.unpowered
252998
252999       salt.states.vagrant.rebooted(name)
253000              Reboots a running, paused, or stopped VM (or VMs). (Runs vagrant
253001              reload.)
253002
253003              The  will re-run the provisioning
253004
253005              Parameters
253006                     name -- May be a Salt_id node or a  POSIX-style  wildcard
253007                     string.
253008
253009                 node_name:
253010                   vagrant.reloaded
253011
253012       salt.states.vagrant.running(name, **kwargs)
253013              Defines and starts a new VM with specified arguments, or restart
253014              a VM (or group of VMs). (Runs vagrant up.)
253015
253016              Parameters
253017                     name -- the Salt_id node name you wish your VM to have.
253018
253019              If name contains a "?" or "*"  then it will re-start a group  of
253020              VMs which have been paused or stopped.
253021
253022              Each  machine  must be initially started individually using this
253023              function or the vagrant.init execution module call.
253024
253025              [NOTE:] Keyword arguments are silently ignored when  re-starting
253026              an existing VM.
253027
253028              Possible keyword arguments:
253029
253030              · cwd: The directory (path) containing the Vagrantfile
253031
253032              · machine:  ('') the name of the machine (in the Vagrantfile) if
253033                not default
253034
253035              · vagrant_runas: ('root') the username who owns  the  vagrantbox
253036                file
253037
253038              · vagrant_provider:  the provider to run the VM (usually 'virtu‐
253039                albox')
253040
253041              · vm: ({}) a dictionary containing these or other keyword  argu‐
253042                ments
253043
253044                 node_name:
253045                   vagrant.running
253046
253047                 node_name:
253048                   vagrant.running:
253049                     - cwd: /projects/my_project
253050                     - vagrant_runas: my_username
253051                     - machine: machine1
253052
253053       salt.states.vagrant.stopped(name)
253054              Stops  a  VM  (or  VMs) by shutting it (them) down nicely. (Runs
253055              vagrant halt)
253056
253057              Parameters
253058                     name -- May be a Salt_id node, or a POSIX-style  wildcard
253059                     string.
253060
253061                 node_name:
253062                   vagrant.stopped
253063
253064   salt.states.vault module
253065       States  for managing Hashicorp Vault.  Currently handles policies. Con‐
253066       figuration instructions are documented in the execution module docs.
253067
253068       maintainer
253069              SaltStack
253070
253071       maturity
253072              new
253073
253074       platform
253075              all
253076
253077       New in version 2017.7.0.
253078
253079
253080       salt.states.vault.policy_present(name, rules)
253081              Ensure a Vault policy with the given name and rules is present.
253082
253083              name   The name of the policy
253084
253085              rules  Rules formatted as in-line HCL
253086
253087                 demo-policy:
253088                   vault.policy_present:
253089                     - name: foo/bar
253090                     - rules: |
253091                         path "secret/top-secret/*" {
253092                           policy = "deny"
253093                         }
253094                         path "secret/not-very-secret/*" {
253095                           policy = "write"
253096                         }
253097
253098   salt.states.vbox_guest
253099       VirtualBox Guest Additions installer state
253100
253101       salt.states.vbox_guest.additions_installed(name,          reboot=False,
253102       upgrade_os=False)
253103              Ensure  that  the VirtualBox Guest Additions are installed. Uses
253104              the CD, connected by VirtualBox.
253105
253106              name   The name has no functional value and is only  used  as  a
253107                     tracking reference.
253108
253109              reboot False Restart OS to complete installation.
253110
253111              upgrade_os
253112                     False Upgrade OS (to ensure the latests version of kernel
253113                     and developer tools installed).
253114
253115       salt.states.vbox_guest.additions_removed(name, force=False)
253116              Ensure that the VirtualBox Guest Additions are removed. Uses the
253117              CD, connected by VirtualBox.
253118
253119              To  connect  VirtualBox Guest Additions via VirtualBox graphical
253120              interface press 'Host+D' ('Host' is usually 'Right Ctrl').
253121
253122              name   The name has no functional value and is only  used  as  a
253123                     tracking reference.
253124
253125              force  Force VirtualBox Guest Additions removing.
253126
253127       salt.states.vbox_guest.grant_access_to_shared_folders_to(name,
253128       users=None)
253129              Grant access to auto-mounted shared folders to the users.
253130
253131              User is specified by it's name.  To  grant  access  for  several
253132              users use argument users.
253133
253134              name   Name  of  the user to grant access to auto-mounted shared
253135                     folders to.
253136
253137              users  List of names of users to grant  access  to  auto-mounted
253138                     shared  folders to.  If specified, name will not be taken
253139                     into account.
253140
253141   salt.states.victorops
253142   Create an Event in VictorOps
253143       New in version 2015.8.0.
253144
253145
253146       This state is useful for creating events on the VictorOps service  dur‐
253147       ing state runs.
253148
253149          webserver-warning-message:
253150            victorops.create_event:
253151              - message_type: 'CRITICAL'
253152              - entity_id: 'webserver/diskspace'
253153              - state_message: 'Webserver diskspace is low.'
253154
253155       salt.states.victorops.create_event(name,       message_type,      rout‐
253156       ing_key=u'everyone', **kwargs)
253157              Create an event on the VictorOps service
253158
253159                 webserver-warning-message:
253160                   victorops.create_event:
253161                     - message_type: 'CRITICAL'
253162                     - entity_id: 'webserver/diskspace'
253163                     - state_message: 'Webserver diskspace is low.'
253164
253165                 database-server-warning-message:
253166                   victorops.create_event:
253167                     - message_type: 'WARNING'
253168                     - entity_id: 'db_server/load'
253169                     - state_message: 'Database Server load is high.'
253170                     - entity_is_host: True
253171                     - entity_display_name: 'dbdserver.example.com'
253172
253173              The following parameters are required:
253174
253175              name   This is a short description of the event.
253176
253177              message_type
253178                     One of the following values: INFO, WARNING,  ACKNOWLEDGE‐
253179                     MENT, CRITICAL, RECOVERY.
253180
253181              The following parameters are optional:
253182
253183                 routing_key
253184                        The  key  for  where  messages  should  be  routed. By
253185                        default, sent to 'everyone' route.
253186
253187                 entity_id
253188                        The name of alerting entity. If not provided, a random
253189                        name will be assigned.
253190
253191                 timestamp
253192                        Timestamp   of  the  alert  in  seconds  since  epoch.
253193                        Defaults to the time the alert  is  received  at  Vic‐
253194                        torOps.
253195
253196                 timestamp_fmt
253197                        The date format for the timestamp parameter.  Defaults
253198                        to ''%Y-%m-%dT%H:%M:%S'.
253199
253200                 state_start_time
253201                        The time this entity entered its current  state  (sec‐
253202                        onds  since  epoch).  Defaults  to  the  time alert is
253203                        received.
253204
253205                 state_start_time_fmt
253206                        The date format for the timestamp parameter.  Defaults
253207                        to '%Y-%m-%dT%H:%M:%S'.
253208
253209                 state_message
253210                        Any additional status information from the alert item.
253211
253212                 entity_is_host
253213                        Used  within  VictorOps to select the appropriate dis‐
253214                        play format for the incident.
253215
253216                 entity_display_name
253217                        Used within VictorOps to display a human-readable name
253218                        for the entity.
253219
253220                 ack_message
253221                        A user entered comment for the acknowledgment.
253222
253223                 ack_author
253224                        The user that acknowledged the incident.
253225
253226   salt.states.virt module
253227   Manage virt
253228       For the key certificate this state uses the external pillar in the mas‐
253229       ter to call for the generation and signing of certificates for  systems
253230       running libvirt:
253231
253232          libvirt_keys:
253233            virt.keys
253234
253235       salt.states.virt.keys(name, basepath=u'/etc/pki', **kwargs)
253236              Manage libvirt keys.
253237
253238              name   The name variable used to track the execution
253239
253240              basepath
253241                     Defaults  to /etc/pki, this is the root location used for
253242                     libvirt keys on the hypervisor
253243
253244              The following parameters are optional:
253245
253246                 country
253247                        The country that the certificate should use.  Defaults
253248                        to US.
253249
253250                 New in version 2018.3.0.
253251
253252
253253                 state  The  state  that the certificate should use.  Defaults
253254                        to Utah.
253255
253256                 New in version 2018.3.0.
253257
253258
253259                 locality
253260                        The  locality  that  the   certificate   should   use.
253261                        Defaults to Salt Lake City.
253262
253263                 New in version 2018.3.0.
253264
253265
253266                 organization
253267                        The  organization  that  the  certificate  should use.
253268                        Defaults to Salted.
253269
253270                 New in version 2018.3.0.
253271
253272
253273                 expiration_days
253274                        The number of days  that  the  certificate  should  be
253275                        valid for.  Defaults to 365 days (1 year)
253276
253277                 New in version 2018.3.0.
253278
253279
253280       salt.states.virt.network_running(name,   bridge,  forward,  vport=None,
253281       tag=None,   autostart=True,   connection=None,   username=None,   pass‐
253282       word=None)
253283              Defines and starts a new network with specified arguments.
253284
253285              Parameters
253286
253287                     · connection --
253288
253289                       libvirt connection URI, overriding defaults
253290
253291                       New in version Fluorine.
253292
253293
253294
253295                     · username --
253296
253297                       username to connect with, overriding defaults
253298
253299                       New in version Fluorine.
253300
253301
253302
253303                     · password --
253304
253305                       password to connect with, overriding defaults
253306
253307                       New in version Fluorine.
253308
253309
253310
253311                 domain_name:
253312                   virt.network_define
253313
253314                 network_name:
253315                   virt.network_define:
253316                     - bridge: main
253317                     - forward: bridge
253318                     - vport: openvswitch
253319                     - tag: 180
253320                     - autostart: True
253321
253322       salt.states.virt.pool_running(name,  ptype=None,  target=None,  permis‐
253323       sions=None,  source=None,  transient=False,   autostart=True,   connec‐
253324       tion=None, username=None, password=None)
253325              Defines and starts a new pool with specified arguments.
253326
253327              New in version Fluorine.
253328
253329
253330              Parameters
253331
253332                     · ptype -- libvirt pool type
253333
253334                     · target  --  full  path  to the target device or folder.
253335                       (Default: None)
253336
253337                     · permissions -- target permissions. See pool-define-per‐
253338                       missions for more details on this structure.
253339
253340                     · source  --  dictionary  containing  keys  matching  the
253341                       source_*    parameters    in     function     salt.mod‐
253342                       ules.virt.pool_define().
253343
253344                     · transient  --  when set to True, the pool will be auto‐
253345                       matically  undefined  after  being  stopped.  (Default:
253346                       False)
253347
253348                     · autostart -- Whether to start the pool when booting the
253349                       host. (Default: True)
253350
253351                     · start -- When True, define and start the  pool,  other‐
253352                       wise the pool will be left stopped.
253353
253354                     · connection   --   libvirt  connection  URI,  overriding
253355                       defaults
253356
253357                     · username  --  username  to  connect  with,   overriding
253358                       defaults
253359
253360                     · password   --  password  to  connect  with,  overriding
253361                       defaults
253362
253363                 pool_name:
253364                   virt.pool_define
253365
253366                 pool_name:
253367                   virt.pool_define:
253368                     - ptype: netfs
253369                     - target: /mnt/cifs
253370                     - permissions:
253371                         - mode: 0770
253372                         - owner: 1000
253373                         - group: 100
253374                     - source:
253375                         - dir: samba_share
253376                         - hosts:
253377                            one.example.com
253378                            two.example.com
253379                         - format: cifs
253380                     - autostart: True
253381
253382       salt.states.virt.powered_off(name,   connection=None,    username=None,
253383       password=None)
253384              Stops a VM by power off.
253385
253386              New in version 2016.3.0.
253387
253388
253389              Parameters
253390
253391                     · connection --
253392
253393                       libvirt connection URI, overriding defaults
253394
253395                       New in version Fluorine.
253396
253397
253398
253399                     · username --
253400
253401                       username to connect with, overriding defaults
253402
253403                       New in version Fluorine.
253404
253405
253406
253407                     · password --
253408
253409                       password to connect with, overriding defaults
253410
253411                       New in version Fluorine.
253412
253413
253414
253415                 domain_name:
253416                   virt.stopped
253417
253418       salt.states.virt.rebooted(name,  connection=None,  username=None, pass‐
253419       word=None)
253420              Reboots VMs
253421
253422              New in version 2016.3.0.
253423
253424
253425              Parameters
253426
253427                     · name --
253428
253429                     · connection --
253430
253431                       libvirt connection URI, overriding defaults
253432
253433                       New in version Fluorine.
253434
253435
253436
253437                     · username --
253438
253439                       username to connect with, overriding defaults
253440
253441                       New in version Fluorine.
253442
253443
253444
253445                     · password --
253446
253447                       password to connect with, overriding defaults
253448
253449                       New in version Fluorine.
253450
253451
253452
253453       salt.states.virt.reverted(name, snapshot=None, cleanup=False)
253454              Deprecated since version 2016.3.0.
253455
253456
253457              Reverts to the particular snapshot.
253458
253459              New in version 2016.3.0.
253460
253461
253462                 domain_name:
253463                   virt.reverted:
253464                     - cleanup: True
253465
253466                 domain_name_1:
253467                   virt.reverted:
253468                     - snapshot: snapshot_name
253469                     - cleanup: False
253470
253471       salt.states.virt.running(name,    cpu=None,    mem=None,    image=None,
253472       vm_type=None,  disk_profile=None,  disks=None, nic_profile=None, inter‐
253473       faces=None,  graphics=None,  seed=True,   install=True,   pub_key=None,
253474       priv_key=None,   update=False,  connection=None,  username=None,  pass‐
253475       word=None, os_type=None, arch=None)
253476              Starts an existing guest, or defines and starts a  new  VM  with
253477              specified arguments.
253478
253479              New in version 2016.3.0.
253480
253481
253482              Parameters
253483
253484                     · name -- name of the virtual machine to run
253485
253486                     · cpu -- number of CPUs for the virtual machine to create
253487
253488                     · mem  --  amount  of  memory  in MiB for the new virtual
253489                       machine
253490
253491                     · image --
253492
253493                       disk image to use for the first disk of the new VM
253494
253495                       Deprecated since version Fluorine.
253496
253497
253498
253499                     · vm_type --
253500
253501                       force virtual machine type for the new VM. The  default
253502                       value  is  taken from the host capabilities. This could
253503                       be useful for example to use 'qemu' type instead of the
253504                       'kvm' one.
253505
253506                       New in version Fluorine.
253507
253508
253509
253510                     · disk_profile --
253511
253512                       Name  of  the  disk  profile to use for the new virtual
253513                       machine
253514
253515                       New in version Fluorine.
253516
253517
253518
253519                     · disks --
253520
253521                       List of disk to create for  the  new  virtual  machine.
253522                       See init-disk-def for more details on the items on this
253523                       list.
253524
253525                       New in version Fluorine.
253526
253527
253528
253529                     · nic_profile --
253530
253531                       Name of the network interfaces profile to use  for  the
253532                       new virtual machine
253533
253534                       New in version Fluorine.
253535
253536
253537
253538                     · interfaces --
253539
253540                       List  of  network interfaces to create for the new vir‐
253541                       tual machine.  See init-nic-def for more details on the
253542                       items on this list.
253543
253544                       New in version Fluorine.
253545
253546
253547
253548                     · graphics --
253549
253550                       Graphics  device to create for the new virtual machine.
253551                       See init-graphics-def for more details on this  dictio‐
253552                       nary
253553
253554                       New in version Fluorine.
253555
253556
253557
253558                     · saltenv --
253559
253560                       Fileserver  environment (Default: 'base').  See cp mod‐
253561                       ule for more details
253562
253563                       New in version Fluorine.
253564
253565
253566
253567                     · seed -- .INDENT 2.0
253568
253569                     True to seed the disk image. Only  used  when  the  image
253570                     parameter is provided.
253571                       (Default: True)
253572
253573                     New in version Fluorine.
253574
253575
253576
253577              · install --
253578
253579                install salt minion if absent (Default: True)
253580
253581                New in version Fluorine.
253582
253583
253584
253585              · pub_key --
253586
253587                public key to seed with (Default: None)
253588
253589                New in version Fluorine.
253590
253591
253592
253593              · priv_key --
253594
253595                public key to seed with (Default: None)
253596
253597                New in version Fluorine.
253598
253599
253600
253601              · seed_cmd --
253602
253603                Salt   command   to  execute  to  seed  the  image.  (Default:
253604                'seed.apply')
253605
253606                New in version Fluorine.
253607
253608
253609
253610              · update --
253611
253612                set to True to update a defined module. (Default: False)
253613
253614                New in version Fluorine.
253615
253616
253617
253618              · connection --
253619
253620                libvirt connection URI, overriding defaults
253621
253622                New in version Fluorine.
253623
253624
253625
253626              · username --
253627
253628                username to connect with, overriding defaults
253629
253630                New in version Fluorine.
253631
253632
253633
253634              · password --
253635
253636                password to connect with, overriding defaults
253637
253638                New in version Fluorine.
253639
253640
253641
253642              · os_type --
253643
253644                type of virtualization as found in the  //os/type  element  of
253645                the  libvirt  definition.  The default value is taken from the
253646                host capabilities, with a preference for hvm.  Only used  when
253647                creating a new virtual machine.
253648
253649                New in version Neon.
253650
253651
253652
253653              · arch --
253654
253655                architecture  of  the  virtual  machine.  The default value is
253656                taken from the host capabilities, but x86_64  is  prefed  over
253657                i686. Only used when creating a new virtual machine.
253658
253659                New in version Neon.
253660
253661
253662       Example States
253663
253664       Make sure an already-defined virtual machine called domain_name is run‐
253665       ning:
253666
253667                 domain_name:
253668                   virt.running
253669
253670              Do the same, but define the virtual machine if needed:
253671
253672                 domain_name:
253673                   virt.running:
253674                     - cpu: 2
253675                     - mem: 2048
253676                     - disk_profile: prod
253677                     - disks:
253678                       - name: system
253679                         size: 8192
253680                         overlay_image: True
253681                         pool: default
253682                         image: /path/to/image.qcow2
253683                       - name: data
253684                         size: 16834
253685                     - nic_profile: prod
253686                     - interfaces:
253687                       - name: eth0
253688                         mac: 01:23:45:67:89:AB
253689                       - name: eth1
253690                         type: network
253691                         source: admin
253692                     - graphics:
253693                       - type: spice
253694                         listen:
253695                           - type: address
253696                             address: 192.168.0.125
253697
253698       salt.states.virt.saved(name, suffix=None)
253699              Deprecated since version 2016.3.0: Use snapshot() instead.
253700
253701
253702              Takes a snapshot of a particular VM or by a UNIX-style wildcard.
253703
253704              New in version 2016.3.0.
253705
253706
253707                 domain_name:
253708                   virt.saved:
253709                     - suffix: periodic
253710
253711                 domain*:
253712                   virt.saved:
253713                     - suffix: periodic
253714
253715       salt.states.virt.snapshot(name,  suffix=None,  connection=None,   user‐
253716       name=None, password=None)
253717              Takes a snapshot of a particular VM or by a UNIX-style wildcard.
253718
253719              New in version 2016.3.0.
253720
253721
253722              Parameters
253723
253724                     · connection --
253725
253726                       libvirt connection URI, overriding defaults
253727
253728                       New in version Fluorine.
253729
253730
253731
253732                     · username --
253733
253734                       username to connect with, overriding defaults
253735
253736                       New in version Fluorine.
253737
253738
253739
253740                     · password --
253741
253742                       password to connect with, overriding defaults
253743
253744                       New in version Fluorine.
253745
253746
253747
253748                 domain_name:
253749                   virt.snapshot:
253750                     - suffix: periodic
253751
253752                 domain*:
253753                   virt.snapshot:
253754                     - suffix: periodic
253755
253756       salt.states.virt.stopped(name,  connection=None,  username=None,  pass‐
253757       word=None)
253758              Stops a VM by shutting it down nicely.
253759
253760              New in version 2016.3.0.
253761
253762
253763              Parameters
253764
253765                     · connection --
253766
253767                       libvirt connection URI, overriding defaults
253768
253769                       New in version Fluorine.
253770
253771
253772
253773                     · username --
253774
253775                       username to connect with, overriding defaults
253776
253777                       New in version Fluorine.
253778
253779
253780
253781                     · password --
253782
253783                       password to connect with, overriding defaults
253784
253785                       New in version Fluorine.
253786
253787
253788
253789                 domain_name:
253790                   virt.stopped
253791
253792       salt.states.virt.unpowered(name)
253793              Deprecated since version 2016.3.0: Use powered_off() instead.
253794
253795
253796              Stops a VM by power off.
253797
253798              New in version 2016.3.0.
253799
253800
253801                 domain_name:
253802                   virt.stopped
253803
253804   salt.states.virtualenv
253805       Setup of Python virtualenv sandboxes.
253806
253807       New in version 0.17.0.
253808
253809
253810       salt.states.virtualenv_mod.managed(name,    venv_bin=None,     require‐
253811       ments=None,        system_site_packages=False,        distribute=False,
253812       use_wheel=False,   clear=False,   python=None,   extra_search_dir=None,
253813       never_download=None,  prompt=None, user=None, cwd=None, index_url=None,
253814       extra_index_url=None,  pre_releases=False,   no_deps=False,   pip_down‐
253815       load=None,       pip_download_cache=None,       pip_exists_action=None,
253816       pip_ignore_installed=False,  proxy=None,  use_vt=False,  env_vars=None,
253817       no_use_wheel=False,          pip_upgrade=False,          pip_pkgs=None,
253818       pip_no_cache_dir=False,       pip_cache_dir=None,        process_depen‐
253819       dency_links=False, no_binary=None, **kwargs)
253820              Create a virtualenv and optionally manage it with pip
253821
253822              name   Path to the virtualenv.
253823
253824              venv_bin: virtualenv
253825                     The name (and optionally path) of the virtualenv command.
253826                     This can also be set globally in the minion  config  file
253827                     as virtualenv.venv_bin.
253828
253829              requirements: None
253830                     Path  to a pip requirements file. If the path begins with
253831                     salt:// the file will be transferred from the master file
253832                     server.
253833
253834              use_wheel: False
253835                     Prefer wheel archives (requires pip >= 1.4).
253836
253837              python None Python executable used to build the virtualenv
253838
253839              user: None
253840                     The user under which to run virtualenv and pip.
253841
253842              cwd: None
253843                     Path  to  the working directory where pip install is exe‐
253844                     cuted.
253845
253846              no_deps: False
253847                     Pass --no-deps to pip install.
253848
253849              pip_exists_action: None
253850                     Default  action  of  pip  when  a  path  already  exists:
253851                     (s)witch, (i)gnore, (w)ipe, (b)ackup.
253852
253853              proxy: None
253854                     Proxy address which is passed to pip install.
253855
253856              env_vars: None
253857                     Set  environment  variables  that some builds will depend
253858                     on. For example, a Python C-module may  have  a  Makefile
253859                     that  needs  INCLUDE_PATH  set  to  pick up a header file
253860                     while compiling.
253861
253862              no_use_wheel: False
253863                     Force to not use wheel archives (requires pip>=1.4)
253864
253865              no_binary
253866                     Force to not use binary packages (requires pip >=  7.0.0)
253867                     Accepts  either  :all:  to  disable  all binary packages,
253868                     :none: to empty the set, or a list of one or  more  pack‐
253869                     ages
253870
253871              pip_upgrade: False
253872                     Pass --upgrade to pip install.
253873
253874              pip_pkgs: None
253875                     As  an  alternative  to  requirements, pass a list of pip
253876                     packages that should be installed.
253877
253878              process_dependency_links: False
253879                     Run pip install with the --process_dependency_links flag.
253880
253881                     New in version 2017.7.0.
253882
253883
253884              Also accepts any kwargs that the virtualenv  module  will.  How‐
253885              ever, some kwargs, such as the pip option, require - distribute:
253886              True.
253887
253888                 /var/www/myvirtualenv.com:
253889                   virtualenv.managed:
253890                     - system_site_packages: False
253891                     - requirements: salt://REQUIREMENTS.txt
253892                     - env_vars:
253893                         PATH_VAR: '/usr/local/bin/'
253894
253895   salt.states.win_certutil module
253896   Installing of certificates to the Windows Certificate Manager
253897       Install certificates to the Windows Certificate Manager
253898
253899          salt://certs/cert.cer:
253900            certutil.add_store:
253901              - store: TrustedPublisher
253902
253903       salt.states.win_certutil.add_store(name, store, saltenv=u'base')
253904              Store a certificate to the given store
253905
253906              name   The certificate to store, this can  use  local  paths  or
253907                     salt:// paths
253908
253909              store  The store to add the certificate to
253910
253911              saltenv
253912                     The  salt  environment to use, this is ignored if a local
253913                     path is specified
253914
253915       salt.states.win_certutil.del_store(name, store, saltenv=u'base')
253916              Remove a certificate in the given store
253917
253918              name   The certificate to remove, this can use  local  paths  or
253919                     salt:// paths
253920
253921              store  The store to remove the certificate from
253922
253923              saltenv
253924                     The  salt  environment to use, this is ignored if a local
253925                     path is specified
253926
253927   salt.states.win_dacl
253928       Windows Object Access Control Lists
253929
253930       Ensure an ACL is present
253931
253932              parameters:
253933                     name  -  the  path  of  the  object  objectType  -   Reg‐
253934                     istry/File/Directory  user  - user account or SID for the
253935                     ace permission -  permission  for  the  ace  (see  module
253936                     win_acl  for  available  permissions for each objectType)
253937                     acetype -  Allow/Deny propagation - how  the  ACL  should
253938                     apply  to child objects (see module win_acl for available
253939                     propagation types)
253940
253941                 addAcl:
253942                   win_dacl.present:
253943                     - name: HKEY_LOCAL_MACHINE\SOFTWARE\mykey
253944                     - objectType: Registry
253945                     - user: FakeUser
253946                     - permission: FullControl
253947                     - acetype: ALLOW
253948                     - propagation: KEY&SUBKEYS
253949
253950       Ensure an ACL does not exist
253951
253952              parameters:
253953                     name  -  the  path  of  the  object  objectType  -   Reg‐
253954                     istry/File/Directory  user  - user account or SID for the
253955                     ace permission -  permission  for  the  ace  (see  module
253956                     win_acl  for  available  permissions for each objectType)
253957                     acetype -  Allow/Deny propagation - how  the  ACL  should
253958                     apply  to child objects (see module win_acl for available
253959                     propagation types)
253960
253961                 removeAcl:
253962                   win_dacl.absent:
253963                     - name: HKEY_LOCAL_MACHINE\SOFTWARE\mykey
253964                     - objectType: Registry
253965                     - user: FakeUser
253966                     - permission: FulLControl
253967                     - acetype: ALLOW
253968                     - propagation: KEY&SUBKEYS
253969
253970       Ensure an object is inheriting permissions
253971
253972              parameters:
253973                     name  -  the  path  of  the  object  objectType  -   Reg‐
253974                     istry/File/Directory  clear_existing_acl  -  True/False -
253975                     when inheritance is enabled, should the existing  ACL  be
253976                     kept or cleared out
253977
253978                 eInherit:
253979                   win_dacl.enableinheritance:
253980                     - name: HKEY_LOCAL_MACHINE\SOFTWARE\mykey
253981                     - objectType: Registry
253982                     - clear_existing_acl: True
253983
253984       Ensure an object is not inheriting permissions
253985
253986              parameters:
253987                     name   -  the  path  of  the  object  objectType  -  Reg‐
253988                     istry/File/Directory copy_inherited_acl - True/False - if
253989                     inheritance  is enabled, should the inherited permissions
253990                     be copied to the ACL when inheritance is disabled
253991
253992                 dInherit:
253993                   win_dacl.disableinheritance:
253994                     - name: HKEY_LOCAL_MACHINE\SOFTWARE\mykey
253995                     - objectType: Registry
253996                     - copy_inherited_acl: False
253997
253998       salt.states.win_dacl.absent(name, objectType,  user,  permission,  ace‐
253999       type, propagation)
254000              Ensure an ACL does not exist
254001
254002       salt.states.win_dacl.disinherit(name,      objectType,      copy_inher‐
254003       ited_acl=True)
254004              Ensure an object is not inheriting ACLs from its parent
254005
254006       salt.states.win_dacl.inherit(name,       objectType,       clear_exist‐
254007       ing_acl=False)
254008              Ensure an object is inheriting ACLs from its parent
254009
254010       salt.states.win_dacl.present(name,  objectType,  user, permission, ace‐
254011       type, propagation)
254012              Ensure an ACE is present
254013
254014   salt.states.win_dism module
254015   Installing of Windows features using DISM
254016       Install windows features/capabilties with DISM
254017
254018          Language.Basic~~~en-US~0.0.1.0:
254019            dism.capability_installed
254020
254021          NetFx3:
254022            dism.feature_installed
254023
254024       salt.states.win_dism.capability_installed(name,            source=None,
254025       limit_access=False, image=None, restart=False)
254026              Install a DISM capability
254027
254028              Parameters
254029
254030                     · name (str) -- The capability to install
254031
254032                     · source (str) -- The optional source of the capability
254033
254034                     · limit_access  (bool)  --  Prevent  DISM from contacting
254035                       Windows Update for online images
254036
254037                     · image (Optional[str]) -- The path to the root directory
254038                       of  an  offline  Windows  image. If None is passed, the
254039                       running operating system is targeted. Default is None.
254040
254041                     · restart  (Optional[bool])  --  Reboot  the  machine  if
254042                       required by the install
254043              Example
254044
254045              Run dism.available_capabilities to get a list of available capa‐
254046              bilities. This will help you get the proper name to use.
254047
254048                 install_dotnet35:
254049                   dism.capability_installed:
254050                     - name: NetFX3~~~~
254051
254052       salt.states.win_dism.capability_removed(name,               image=None,
254053       restart=False)
254054              Uninstall a DISM capability
254055
254056              Parameters
254057
254058                     · name (str) -- The capability to uninstall
254059
254060                     · image (Optional[str]) -- The path to the root directory
254061                       of an offline Windows image. If  None  is  passed,  the
254062                       running operating system is targeted. Default is None.
254063
254064                     · restart  (Optional[bool])  --  Reboot  the  machine  if
254065                       required by the install
254066              Example
254067
254068              Run dism.installed_capabilities to get a list of installed capa‐
254069              bilities. This will help you get the proper name to use.
254070
254071                 remove_dotnet35:
254072                   dism.capability_removed:
254073                     - name: NetFX3~~~~
254074
254075       salt.states.win_dism.feature_installed(name, package=None, source=None,
254076       limit_access=False, enable_parent=False, image=None, restart=False)
254077              Install a DISM feature
254078
254079              Parameters
254080
254081                     · name (str) -- The feature in which to install
254082
254083                     · package (Optional[str]) -- The parent package  for  the
254084                       feature.  You  do not have to specify the package if it
254085                       is the  Windows  Foundation  Package.   Otherwise,  use
254086                       package to specify the parent package of the feature
254087
254088                     · source (str) -- The optional source of the feature
254089
254090                     · limit_access  (bool)  --  Prevent  DISM from contacting
254091                       Windows Update for online images
254092
254093                     · enable_parent (Optional[bool]) -- True will enable  all
254094                       parent features of the specified feature
254095
254096                     · image (Optional[str]) -- The path to the root directory
254097                       of an offline Windows image. If  None  is  passed,  the
254098                       running operating system is targeted. Default is None.
254099
254100                     · restart  (Optional[bool])  --  Reboot  the  machine  if
254101                       required by the install
254102              Example
254103
254104              Run dism.available_features to get a list of available features.
254105              This will help you get the proper name to use.
254106
254107                 install_telnet_client:
254108                   dism.feature_installed:
254109                     - name: TelnetClient
254110
254111       salt.states.win_dism.feature_removed(name,        remove_payload=False,
254112       image=None, restart=False)
254113              Disables a feature.
254114
254115              Parameters
254116
254117                     · name (str) -- The feature to disable
254118
254119                     · remove_payload (Optional[bool]) -- Remove the feature's
254120                       payload.  Must  supply  source  when  enabling  in  the
254121                       future.
254122
254123                     · image (Optional[str]) -- The path to the root directory
254124                       of  an  offline  Windows  image. If None is passed, the
254125                       running operating system is targeted. Default is None.
254126
254127                     · restart  (Optional[bool])  --  Reboot  the  machine  if
254128                       required by the install
254129              Example
254130
254131              Run dism.installed_features to get a list of installed features.
254132              This will help you get the proper name to use.
254133
254134                 remove_telnet_client:
254135                   dism.feature_removed:
254136                     - name: TelnetClient
254137                     - remove_payload: True
254138
254139       salt.states.win_dism.package_installed(name,  ignore_check=False,  pre‐
254140       vent_pending=False, image=None, restart=False)
254141              Install a package.
254142
254143              Parameters
254144
254145                     · name  (str)  --  The  package to install. Can be a .cab
254146                       file, a .msu file, or a folder
254147
254148                     · ignore_check (Optional[bool]) -- Skip  installation  of
254149                       the package if the applicability checks fail
254150
254151                     · prevent_pending  (Optional[bool]) -- Skip the installa‐
254152                       tion of the package if there are pending online actions
254153
254154                     · image (Optional[str]) -- The path to the root directory
254155                       of  an  offline  Windows  image. If None is passed, the
254156                       running operating system is targeted. Default is None.
254157
254158                     · restart  (Optional[bool])  --  Reboot  the  machine  if
254159                       required by the install
254160              Example.INDENT 7.0
254161
254162          install_KB123123123:
254163            dism.package_installed:
254164              - name: C:\Packages\KB123123123.cab
254165
254166       salt.states.win_dism.package_removed(name, image=None, restart=False)
254167              Uninstall a package
254168
254169              Parameters
254170
254171                     · name  (str)  --  The  full  path to the package. Can be
254172                       either a .cab file or a folder.  Should  point  to  the
254173                       original  source  of the package, not to where the file
254174                       is installed. This can also be the name of a package as
254175                       listed in dism.installed_packages
254176
254177                     · image (Optional[str]) -- The path to the root directory
254178                       of an offline Windows image. If  None  is  passed,  the
254179                       running operating system is targeted. Default is None.
254180
254181                     · restart  (Optional[bool])  --  Reboot  the  machine  if
254182                       required by the install
254183              Example.INDENT 7.0
254184
254185          # Example using source
254186          remove_KB1231231:
254187            dism.package_installed:
254188              - name: C:\Packages\KB1231231.cab
254189
254190          # Example using name from ``dism.installed_packages``
254191          remove_KB1231231:
254192            dism.package_installed:
254193              - name: Package_for_KB1231231~31bf3856ad364e35~amd64~~10.0.1.3
254194
254195   salt.states.win_dns_client
254196       Module for configuring DNS Client on Windows systems
254197
254198       salt.states.win_dns_client.dns_dhcp(name, interface=u'Local  Area  Con‐
254199       nection')
254200              Configure the DNS server list from DHCP Server
254201
254202       salt.states.win_dns_client.dns_exists(name,     servers=None,    inter‐
254203       face=u'Local Area Connection', replace=False)
254204              Configure the DNS server list in the specified interface
254205
254206              Example:
254207
254208                 config_dns_servers:
254209                   win_dns_client.dns_exists:
254210                     - replace: True #remove any servers not in the "servers" list, default is False
254211                     - servers:
254212                       - 8.8.8.8
254213                       - 8.8.8.9
254214
254215       salt.states.win_dns_client.primary_suffix(name,            suffix=None,
254216       updates=False)
254217              New in version 2014.7.0.
254218
254219
254220              Configure the global primary DNS suffix of a DHCP client.
254221
254222              suffix None  The suffix which is advertised for this client when
254223                     acquiring a DHCP lease When none is set,  the  explicitly
254224                     configured DNS suffix will be removed.
254225
254226              updates
254227                     False  Allow  syncing  the  DNS suffix with the AD domain
254228                     when the client's AD domain membership changes
254229
254230                 primary_dns_suffix:
254231                     win_dns_client.primary_suffix:
254232                         - suffix: sub.domain.tld
254233                         - updates: True
254234
254235   salt.states.win_firewall
254236       State for configuring Windows Firewall
254237
254238       salt.states.win_firewall.add_rule(name,   localport,   protocol=u'tcp',
254239       action=u'allow', dir=u'in', remoteip=u'any')
254240              Add a new inbound or outbound rule to the firewall policy
254241
254242              Parameters
254243
254244                     · name  (str) -- The name of the rule. Must be unique and
254245                       cannot be "all".  Required.
254246
254247                     · localport (int) -- The port the rule applies  to.  Must
254248                       be  a  number  between 0 and 65535. Can be a range. Can
254249                       specify multiple ports separated by commas. Required.
254250
254251                     · protocol (Optional[str]) --
254252
254253                       The protocol. Can be any of the following:
254254
254255                       · A number between 0 and 255
254256
254257                       · icmpv4
254258
254259                       · icmpv6
254260
254261                       · tcp
254262
254263                       · udp
254264
254265                       · any
254266
254267
254268                     · action (Optional[str]) --
254269
254270                       The action the rule performs. Can be any of the follow‐
254271                       ing:
254272
254273                       · allow
254274
254275                       · block
254276
254277                       · bypass
254278
254279
254280                     · dir (Optional[str]) -- The direction. Can be in or out.
254281
254282                     · remoteip (Optional [str]) --
254283
254284                       The remote IP. Can be any of the following:
254285
254286                       · any
254287
254288                       · localsubnet
254289
254290                       · dns
254291
254292                       · dhcp
254293
254294                       · wins
254295
254296                       · defaultgateway
254297
254298                       · Any valid IPv4 address (192.168.0.12)
254299
254300                       · Any            valid           IPv6           address
254301                         (2002:9b3b:1a31:4:208:74ff:fe39:6c43)
254302
254303                       · Any valid subnet (192.168.1.0/24)
254304
254305                       · Any     valid     range     of      IP      addresses
254306                         (192.168.0.1-192.168.0.12)
254307
254308                       · A list of valid IP addresses
254309
254310                       Can be combinations of the above separated by commas.
254311
254312                       New in version 2016.11.6.
254313
254314
254315
254316              Example:
254317
254318                 open_smb_port:
254319                   win_firewall.add_rule:
254320                     - name: SMB (445)
254321                     - localport: 445
254322                     - protocol: tcp
254323                     - action: allow
254324
254325       salt.states.win_firewall.disabled(name=u'allprofiles')
254326              Disable all the firewall profiles (Windows only)
254327
254328              Parameters
254329                     profile (Optional[str]) --
254330
254331                     The  name  of  the profile to disable. Default is allpro‐
254332                     files. Valid options are:
254333
254334                     · allprofiles
254335
254336                     · domainprofile
254337
254338                     · privateprofile
254339
254340                     · publicprofile
254341
254342
254343              Example:
254344
254345                 # To disable the domain profile
254346                 disable_domain:
254347                   win_firewall.disabled:
254348                     - name: domainprofile
254349
254350                 # To disable all profiles
254351                 disable_all:
254352                   win_firewall.disabled:
254353                     - name: allprofiles
254354
254355       salt.states.win_firewall.enabled(name=u'allprofiles')
254356              Enable all the firewall profiles (Windows only)
254357
254358              Parameters
254359                     profile (Optional[str]) --
254360
254361                     The name of the profile to  enable.  Default  is  allpro‐
254362                     files. Valid options are:
254363
254364                     · allprofiles
254365
254366                     · domainprofile
254367
254368                     · privateprofile
254369
254370                     · publicprofile
254371
254372
254373              Example:
254374
254375                 # To enable the domain profile
254376                 enable_domain:
254377                   win_firewall.enabled:
254378                     - name: domainprofile
254379
254380                 # To enable all profiles
254381                 enable_all:
254382                   win_firewall.enabled:
254383                     - name: allprofiles
254384
254385   salt.states.win_iis module
254386       Microsoft IIS site management
254387
254388       This module provides the ability to add/remove websites and application
254389       pools from Microsoft IIS.
254390
254391       New in version 2016.3.0.
254392
254393
254394       salt.states.win_iis.container_setting(name, container, settings=None)
254395              Set the value of the setting for an IIS container.
254396
254397              Parameters
254398
254399                     · name (str) -- The name of the IIS container.
254400
254401                     · container (str) -- The type of IIS container. The  con‐
254402                       tainer types are: AppPools, Sites, SslBindings
254403
254404                     · settings (str) -- A dictionary of the setting names and
254405                       their values.  Example of usage for the  AppPools  con‐
254406                       tainer:
254407
254408                 site0-apppool-setting:
254409                     win_iis.container_setting:
254410                         - name: site0
254411                         - container: AppPools
254412                         - settings:
254413                             managedPipelineMode: Integrated
254414                             processModel.maxProcesses: 1
254415                             processModel.userName: TestUser
254416                             processModel.password: TestPassword
254417                             processModel.identityType: SpecificUser
254418
254419              Example of usage for the Sites container:
254420
254421                 site0-site-setting:
254422                     win_iis.container_setting:
254423                         - name: site0
254424                         - container: Sites
254425                         - settings:
254426                             logFile.logFormat: W3C
254427                             logFile.period: Daily
254428                             limits.maxUrlSegments: 32
254429
254430       salt.states.win_iis.create_app(name, site, sourcepath, apppool=None)
254431              Create an IIS application.
254432
254433              Parameters
254434
254435                     · name (str) -- The IIS application.
254436
254437                     · site (str) -- The IIS site name.
254438
254439                     · sourcepath (str) -- The physical path.
254440
254441                     · apppool (str) -- The name of the IIS application pool.
254442
254443              Example of usage with only the required arguments:
254444
254445                 site0-v1-app:
254446                     win_iis.create_app:
254447                         - name: v1
254448                         - site: site0
254449                         - sourcepath: C:\inetpub\site0\v1
254450
254451              Example of usage specifying all available arguments:
254452
254453                 site0-v1-app:
254454                     win_iis.create_app:
254455                         - name: v1
254456                         - site: site0
254457                         - sourcepath: C:\inetpub\site0\v1
254458                         - apppool: site0
254459
254460       salt.states.win_iis.create_apppool(name)
254461              Create an IIS application pool.
254462
254463              Parameters
254464                     name (str) -- The name of the IIS application pool.
254465
254466              Usage:
254467
254468                 site0-apppool:
254469                     win_iis.create_apppool:
254470                         - name: site0
254471
254472       salt.states.win_iis.create_binding(name,  site,  hostheader=u'',  ipad‐
254473       dress=u'*', port=80, protocol=u'http', sslflags=0)
254474              Create an IIS binding.
254475
254476              Parameters
254477
254478                     · site (str) -- The IIS site name.
254479
254480                     · hostheader (str) -- The host header of the binding.
254481
254482                     · ipaddress (str) -- The IP address of the binding.
254483
254484                     · port (str) -- The TCP port of the binding.
254485
254486                     · protocol (str) -- The application protocol of the bind‐
254487                       ing.
254488
254489                     · sslflags  (str)  --  The flags representing certificate
254490                       type and storage of the binding.
254491
254492              Example of usage with only the required arguments:
254493
254494                 site0-https-binding:
254495                     win_iis.create_binding:
254496                         - site: site0
254497
254498              Example of usage specifying all available arguments:
254499
254500                 site0-https-binding:
254501                     win_iis.create_binding:
254502                         - site: site0
254503                         - hostheader: site0.local
254504                         - ipaddress: '*'
254505                         - port: 443
254506                         - protocol: https
254507                         - sslflags: 0
254508
254509       salt.states.win_iis.create_cert_binding(name,   site,   hostheader=u'',
254510       ipaddress=u'*', port=443, sslflags=0)
254511              Assign a certificate to an IIS binding.
254512
254513              Parameters
254514
254515                     · name (str) -- The thumbprint of the certificate.
254516
254517                     · site (str) -- The IIS site name.
254518
254519                     · hostheader (str) -- The host header of the binding.
254520
254521                     · ipaddress (str) -- The IP address of the binding.
254522
254523                     · port (str) -- The TCP port of the binding.
254524
254525                     · sslflags  (str)  -- Flags representing certificate type
254526                       and certificate storage of the binding.
254527
254528              Example of usage with only the required arguments:
254529
254530                 site0-cert-binding:
254531                     win_iis.create_cert_binding:
254532                         - name: 9988776655443322111000AAABBBCCCDDDEEEFFF
254533                         - site: site0
254534
254535              Example of usage specifying all available arguments:
254536
254537                 site0-cert-binding:
254538                     win_iis.create_cert_binding:
254539                         - name: 9988776655443322111000AAABBBCCCDDDEEEFFF
254540                         - site: site0
254541                         - hostheader: site0.local
254542                         - ipaddress: 192.168.1.199
254543                         - port: 443
254544                         - sslflags: 1
254545
254546              New in version 2016.11.0.
254547
254548
254549       salt.states.win_iis.create_vdir(name, site, sourcepath, app=u'/')
254550              Create an IIS virtual directory.
254551
254552              Parameters
254553
254554                     · name (str) -- The virtual directory name.
254555
254556                     · site (str) -- The IIS site name.
254557
254558                     · sourcepath (str) -- The physical path.
254559
254560                     · app (str) -- The IIS application.
254561
254562              Example of usage with only the required arguments:
254563
254564                 site0-foo-vdir:
254565                     win_iis.create_vdir:
254566                         - name: foo
254567                         - site: site0
254568                         - sourcepath: C:\inetpub\vdirs\foo
254569
254570              Example of usage specifying all available arguments:
254571
254572                 site0-foo-vdir:
254573                     win_iis.create_vdir:
254574                         - name: foo
254575                         - site: site0
254576                         - sourcepath: C:\inetpub\vdirs\foo
254577                         - app: v1
254578
254579       salt.states.win_iis.deployed(name,   sourcepath,   apppool=u'',   host‐
254580       header=u'', ipaddress=u'*', port=80, protocol=u'http')
254581              Ensure the website has been deployed.
254582
254583              Parameters
254584
254585                     · name (str) -- The IIS site name.
254586
254587                     · sourcepath (str) -- The physical path of the IIS site.
254588
254589                     · apppool (str) -- The name of the IIS application pool.
254590
254591                     · hostheader (str) -- The host header of the binding.
254592
254593                     · ipaddress (str) -- The IP address of the binding.
254594
254595                     · port (str) -- The TCP port of the binding.
254596
254597                     · protocol (str) -- The application protocol of the bind‐
254598                       ing.
254599
254600              Example of usage with only the  required  arguments.  This  will
254601              default to using the default application pool assigned by IIS:
254602
254603                 site0-deployed:
254604                     win_iis.deployed:
254605                         - name: site0
254606                         - sourcepath: C:\inetpub\site0
254607
254608              Example of usage specifying all available arguments:
254609
254610                 site0-deployed:
254611                     win_iis.deployed:
254612                         - name: site0
254613                         - sourcepath: C:\inetpub\site0
254614                         - apppool: site0
254615                         - hostheader: site0.local
254616                         - ipaddress: '*'
254617                         - port: 443
254618                         - protocol: https
254619
254620       salt.states.win_iis.remove_app(name, site)
254621              Remove an IIS application.
254622
254623              Parameters
254624
254625                     · name (str) -- The application name.
254626
254627                     · site (str) -- The IIS site name.
254628
254629              Usage:
254630
254631                 site0-v1-app-remove:
254632                     win_iis.remove_app:
254633                         - name: v1
254634                         - site: site0
254635
254636       salt.states.win_iis.remove_apppool(name)
254637              Remove an IIS application pool.
254638
254639              Parameters
254640                     name (str) -- The name of the IIS application pool.
254641
254642              Usage:
254643
254644                 defaultapppool-remove:
254645                     win_iis.remove_apppool:
254646                         - name: DefaultAppPool
254647
254648       salt.states.win_iis.remove_binding(name,  site,  hostheader=u'',  ipad‐
254649       dress=u'*', port=80)
254650              Remove an IIS binding.
254651
254652              Parameters
254653
254654                     · site (str) -- The IIS site name.
254655
254656                     · hostheader (str) -- The host header of the binding.
254657
254658                     · ipaddress (str) -- The IP address of the binding.
254659
254660                     · port (str) -- The TCP port of the binding.
254661
254662              Example of usage with only the required arguments:
254663
254664                 site0-https-binding-remove:
254665                     win_iis.remove_binding:
254666                         - site: site0
254667
254668              Example of usage specifying all available arguments:
254669
254670                 site0-https-binding-remove:
254671                     win_iis.remove_binding:
254672                         - site: site0
254673                         - hostheader: site0.local
254674                         - ipaddress: '*'
254675                         - port: 443
254676
254677       salt.states.win_iis.remove_cert_binding(name,   site,   hostheader=u'',
254678       ipaddress=u'*', port=443)
254679              Remove a certificate from an IIS binding.
254680
254681              Parameters
254682
254683                     · name (str) -- The thumbprint of the certificate.
254684
254685                     · site (str) -- The IIS site name.
254686
254687                     · hostheader (str) -- The host header of the binding.
254688
254689                     · ipaddress (str) -- The IP address of the binding.
254690
254691                     · port (str) -- The TCP port of the binding.
254692
254693              Example of usage with only the required arguments:
254694
254695                 site0-cert-binding-remove:
254696                     win_iis.remove_cert_binding:
254697                         - name: 9988776655443322111000AAABBBCCCDDDEEEFFF
254698                         - site: site0
254699
254700              Example of usage specifying all available arguments:
254701
254702                 site0-cert-binding-remove:
254703                     win_iis.remove_cert_binding:
254704                         - name: 9988776655443322111000AAABBBCCCDDDEEEFFF
254705                         - site: site0
254706                         - hostheader: site0.local
254707                         - ipaddress: 192.168.1.199
254708                         - port: 443
254709
254710              New in version 2016.11.0.
254711
254712
254713       salt.states.win_iis.remove_site(name)
254714              Delete a website from IIS.
254715
254716              Parameters
254717                     name (str) -- The IIS site name.
254718
254719              Usage:
254720
254721                 defaultwebsite-remove:
254722                     win_iis.remove_site:
254723                         - name: Default Web Site
254724
254725       salt.states.win_iis.remove_vdir(name, site, app=u'/')
254726              Remove an IIS virtual directory.
254727
254728              Parameters
254729
254730                     · name (str) -- The virtual directory name.
254731
254732                     · site (str) -- The IIS site name.
254733
254734                     · app (str) -- The IIS application.
254735
254736              Example of usage with only the required arguments:
254737
254738                 site0-foo-vdir-remove:
254739                     win_iis.remove_vdir:
254740                         - name: foo
254741                         - site: site0
254742
254743              Example of usage specifying all available arguments:
254744
254745                 site0-foo-vdir-remove:
254746                     win_iis.remove_vdir:
254747                         - name: foo
254748                         - site: site0
254749                         - app: v1
254750
254751       salt.states.win_iis.set_app(name, site, settings=None)
254752              New in version 2017.7.0.
254753
254754
254755              Set the value of the setting for an IIS web application.
254756
254757              NOTE:
254758                 This  function  only configures existing app. Params are case
254759                 sensitive.
254760
254761              Parameters
254762
254763                     · name (str) -- The IIS application.
254764
254765                     · site (str) -- The IIS site name.
254766
254767                     · settings (str) -- A dictionary of the setting names and
254768                       their values.
254769
254770              Available settings:
254771
254772              · physicalPath - The physical path of the webapp
254773
254774              · applicationPool - The application pool for the webapp
254775
254776              · userName "connectAs" user
254777
254778              · password "connectAs" password for user
254779
254780              Return type
254781                     bool
254782
254783              Example of usage:
254784
254785                 site0-webapp-setting:
254786                     win_iis.set_app:
254787                         - name: app0
254788                         - site: Default Web Site
254789                         - settings:
254790                             userName: domain\user
254791                             password: pass
254792                             physicalPath: c:\inetpub\wwwroot
254793                             applicationPool: appPool0
254794
254795   salt.states.win_lgpo module
254796   Manage Windows Local Group Policy
254797       New in version 2016.11.0.
254798
254799
254800       This state allows configuring local Windows Group Policy
254801
254802       The  state can be used to ensure the setting of a single policy or mul‐
254803       tiple policies in one pass.
254804
254805       Single policies must specify the policy name, the setting, and the pol‐
254806       icy class (Machine/User/Both)
254807
254808       Example single policy configuration
254809
254810          Ensure Account Lockout Duration:
254811            lgpo.set:
254812              - name: Account lockout duration
254813              - setting: 90
254814              - policy_class: Machine
254815
254816          Account lockout duration:
254817            gpo.set:
254818              - setting: 120
254819              - policy_class: Machine
254820
254821       Multiple policy configuration
254822
254823          Company Local Group Policy:
254824              lgpo.set:
254825                  - computer_policy:
254826                      Deny logon locally: Guest
254827                      Account lockout duration: 120
254828                      Account lockout threshold: 10
254829                      Reset account lockout counter after: 1440
254830                      Enforce password history: 24
254831                      Maximum password age: 60
254832                      Minimum password age: 1
254833                      Minimum password length: 14
254834                      Password must meet complexity requirements: Enabled
254835                      Store passwords using reversible encryption: Disabled
254836                      Configure Automatic Updates:
254837                          Configure automatic updating: 4 - Auto download and schedule the intsall
254838                          Scheduled install day: 7 - Every Saturday
254839                          Scheduled install time: 17:00
254840                      Specify intranet Microsoft update service location:
254841                          Set the intranet update service for detecting updates: http://mywsus
254842                          Set the intranet statistics server: http://mywsus
254843                  - user_policy:
254844                      Do not process the legacy run list: Enabled
254845
254846          server_policy:
254847            lgpo.set:
254848              - computer_policy:
254849                  Maximum password age: 60
254850                  Minimum password age: 1
254851                  Minimum password length: 14
254852                  Account lockout duration: 1440
254853                  Account lockout threshold: 10
254854                  Reset account lockout counter after: 1440
254855                  Manage auditing and security log:
254856                    - "BUILTIN\Administrators"
254857                  Replace a process level token:
254858                    - "NT AUTHORITY\NETWORK SERVICE"
254859                    - "NT AUTHORITY\LOCAL SERVICE"
254860                  "Accounts: Guest account status": Disabled
254861                  "Accounts: Rename guest account": Not_4_U
254862                  "Audit: Audit the use of Backup and Restore privilege": Enabled
254863                  "Interactive logon: Do not display last user name": Enabled
254864                  "Network\DNS Client\Dynamic update": Disabled
254865                  "System\Logon\Do not display the Getting Started welcome screen at logon": Enabled
254866                  "Windows Components\Remote Desktop Services\Remote Desktop Session Host\Connections\Select RDP transport protocols":
254867                      "Select Transport Type": "Use both UDP and TCP"
254868                  "Windows Components\Windows Update\Allow Automatic Updates immediate installation": Enabled
254869                  "Windows Components\Windows Update\Allow non-administrators to receive update notifications": Disabled
254870                  "Windows Components\Windows Update\Always automatically restart at the scheduled time":
254871                      "The restart timer will give users this much time to save their work (minutes)": 15
254872                  "Windows Components\Windows Update\Automatic Updates detection frequency":
254873                      "Check for updates at the following interval (hours)": 1
254874                  "Windows Components\Windows Update\Configure Automatic Updates":
254875                      "Configure automatic updating": 4 - Auto download and schedule the install
254876                      "Install during automatic maintenance": False
254877                      "Scheduled install day": 7 - Every Saturday
254878                      "Scheduled install time": "17:00"
254879                  "Windows Components\Windows Update\Delay Restart for scheduled installations":
254880                      "Wait the following period before proceeding with a scheduled restart (minutes)": 1
254881                  "Windows Components\Windows Update\No auto-restart with logged on users for scheduled automatic updates installations": Disabled
254882                  "Windows Components\Windows Update\Re-prompt for restart with scheduled installations":
254883                      "Wait the following period before prompting again with a scheduled restart (minutes)": 30
254884                  "Windows Components\Windows Update\Reschedule Automatic Updates scheduled installations": Disabled
254885                  "Windows Components\Windows Update\Specify intranet Microsoft update service location":
254886                      "Set the intranet update service for detecting updates": http://mywsus
254887                      "Set the intranet statistics server": http://mywsus
254888              - cumulative_rights_assignments: True
254889
254890       salt.states.win_lgpo.set_(name,  setting=None,  policy_class=None, com‐
254891       puter_policy=None,     user_policy=None,      cumulative_rights_assign‐
254892       ments=True, adml_language=u'en-US')
254893              Ensure the specified policy is set
254894
254895              name   the name of a single policy to configure
254896
254897              setting
254898                     the  configuration setting for the single named policy if
254899                     this argument  is  used  the  computer_policy/user_policy
254900                     arguments will be ignored
254901
254902              policy_class
254903                     the  policy class of the single named policy to configure
254904                     this can "machine", "user", or "both"
254905
254906              computer_policy
254907                     a dict of policyname: value pairs of a  set  of  computer
254908                     policies  to  configure  if  this  argument  is used, the
254909                     name/setting/policy_class arguments will be ignored
254910
254911              user_policy
254912                     a dict of policyname: value pairs of a set of user  poli‐
254913                     cies to configure if this argument is used, the name/set‐
254914                     ting/policy_class arguments will be ignored
254915
254916              cumulative_rights_assignments
254917                     determine if any user right assignment policies specified
254918                     will be cumulative or explicit
254919
254920              adml_language
254921                     the  adml  language  to  use for AMDX policy data/display
254922                     conversions
254923
254924   salt.states.win_license module
254925   Installation and activation of windows licenses
254926       Install and activate windows licenses
254927
254928          XXXXX-XXXXX-XXXXX-XXXXX-XXXXX:
254929            license.activate
254930
254931       salt.states.win_license.activate(name)
254932              Install and activate the given product key
254933
254934              name   The 5x5 product key given to you by Microsoft
254935
254936   salt.states.win_network
254937   Configuration of network interfaces on Windows hosts
254938       New in version 2014.1.0.
254939
254940
254941       This module  provides  the  network  state(s)  on  Windows  hosts.  DNS
254942       servers, IP addresses and default gateways can currently be managed.
254943
254944       Below  is  an  example  of the configuration for an interface that uses
254945       DHCP for both DNS servers and IP addresses:
254946
254947          Local Area Connection #2:
254948            network.managed:
254949              - dns_proto: dhcp
254950              - ip_proto: dhcp
254951
254952       NOTE:
254953          Both the dns_proto and ip_proto arguments are required.
254954
254955       Static DNS and IP addresses can be configured like so:
254956
254957          Local Area Connection #2:
254958            network.managed:
254959              - dns_proto: static
254960              - dns_servers:
254961                - 8.8.8.8
254962                - 8.8.4.4
254963              - ip_proto: static
254964              - ip_addrs:
254965                - 10.2.3.4/24
254966
254967       NOTE:
254968          IP addresses  are  specified  using  the  format  <ip-address>/<sub‐
254969          net-length>. Salt provides a convenience function called ip.get_sub‐
254970          net_length to calculate the subnet length from a netmask.
254971
254972       Optionally, if you are setting a static IP address, you can also  spec‐
254973       ify the default gateway using the gateway parameter:
254974
254975          Local Area Connection #2:
254976            network.managed:
254977              - dns_proto: static
254978              - dns_servers:
254979                - 8.8.8.8
254980                - 8.8.4.4
254981              - ip_proto: static
254982              - ip_addrs:
254983                - 10.2.3.4/24
254984              - gateway: 10.2.3.1
254985
254986       salt.states.win_network.managed(name, dns_proto=None, dns_servers=None,
254987       ip_proto=None, ip_addrs=None, gateway=None, enabled=True, **kwargs)
254988              Ensure that the named interface is configured properly.
254989
254990              Parameters
254991
254992                     · name (str) -- The name of the interface to manage
254993
254994                     · dns_proto (str) -- None  Set  to  static  and  use  the
254995                       dns_servers  parameter  to  provide a list of DNS name‐
254996                       servers. set to  dhcp  to  use  DHCP  to  get  the  DNS
254997                       servers.
254998
254999                     · dns_servers  (list)  --  None  A  list  of  static  DNS
255000                       servers. To clear the list of DNS servers pass an empty
255001                       list ([]). None will make no changes.
255002
255003                     · ip_proto  (str)  --  None  Set  to  static  and use the
255004                       ip_addrs and (optionally) gateway parameters to provide
255005                       a  list of static IP addresses and the default gateway.
255006                       Set to dhcp to use DHCP.
255007
255008                     · ip_addrs (list) -- None A list of static  IP  addresses
255009                       with netmask flag, ie: 192.168.0.11/24
255010
255011                     · gateway (str) -- None The gateway to set for the inter‐
255012                       face
255013
255014                     · enabled (bool) -- True Set to False to ensure that this
255015                       interface is disabled.
255016
255017              Returns
255018                     A dictionary of old and new settings
255019
255020              Return type
255021                     dict
255022
255023              Example:
255024
255025                 Ethernet1:
255026                   network.managed:
255027                     - dns_proto: static
255028                     - dns_servers:
255029                       - 8.8.8.8
255030                       - 8.8.8.4
255031                     - ip_proto: static
255032                     - ip_addrs:
255033                       - 192.168.0.100/24
255034
255035              Clear DNS entries example:
255036
255037                 Ethernet1:
255038                   network.managed:
255039                     - dns_proto: static
255040                     - dns_servers: []
255041                     - ip_proto: dhcp
255042
255043   salt.states.win_path
255044       Manage the Windows System PATH
255045
255046       salt.states.win_path.absent(name)
255047              Remove the directory from the SYSTEM path
255048
255049              index:  where  the  directory  should  be  placed  in  the  PATH
255050              (default: 0)
255051
255052              Example:
255053
255054                 'C:\sysinternals':
255055                   win_path.absent
255056
255057       salt.states.win_path.exists(name, index=None)
255058              Add the directory to the system PATH at index location
255059
255060              index  Position where the directory  should  be  placed  in  the
255061                     PATH.  This  is  0-indexed,  so 0 means to prepend at the
255062                     very start of the PATH.
255063
255064                     NOTE:
255065                        If the index is not specified, and the directory needs
255066                        to  be  added  to the PATH, then the directory will be
255067                        appended to the PATH, and this state will not  enforce
255068                        its location within the PATH.
255069
255070              Examples:
255071
255072                 'C:\python27':
255073                   win_path.exists
255074
255075                 'C:\sysinternals':
255076                   win_path.exists:
255077                     - index: 0
255078
255079                 'C:\mystuff':
255080                   win_path.exists:
255081                     - index: -1
255082
255083   salt.states.win_pki module
255084       Microsoft certificate management via the Pki PowerShell module.
255085
255086       platform
255087              Windows
255088
255089       New in version 2016.11.0.
255090
255091
255092       salt.states.win_pki.import_cert(name,      cert_format=u'cer',     con‐
255093       text=u'LocalMachine',   store=u'My',   exportable=True,   password=u'',
255094       saltenv=u'base')
255095              Import the certificate file into the given certificate store.
255096
255097              Parameters
255098
255099                     · name  (str)  --  The  path  of  the certificate file to
255100                       import.
255101
255102                     · cert_format (str) -- The  certificate  format.  Specify
255103                       'cer' for X.509, or 'pfx' for PKCS #12.
255104
255105                     · context  (str)  --  The  name  of the certificate store
255106                       location context.
255107
255108                     · store (str) -- The name of the certificate store.
255109
255110                     · exportable  (bool)   --   Mark   the   certificate   as
255111                       exportable. Only applicable to pfx format.
255112
255113                     · password (str) -- The password of the certificate. Only
255114                       applicable to pfx format.
255115
255116                     · saltenv (str) -- The environment the file resides in.
255117
255118              Example of usage with only the required arguments:
255119
255120                 site0-cert-imported:
255121                     win_pki.import_cert:
255122                         - name: salt://win/webserver/certs/site0.cer
255123
255124              Example of usage specifying all available arguments:
255125
255126                 site0-cert-imported:
255127                     win_pki.import_cert:
255128                         - name: salt://win/webserver/certs/site0.pfx
255129                         - cert_format: pfx
255130                         - context: LocalMachine
255131                         - store: My
255132                         - exportable: True
255133                         - password: TestPassword
255134                         - saltenv: base
255135
255136       salt.states.win_pki.remove_cert(name,  thumbprint,   context=u'LocalMa‐
255137       chine', store=u'My')
255138              Remove the certificate from the given certificate store.
255139
255140              Parameters
255141
255142                     · thumbprint  (str) -- The thumbprint value of the target
255143                       certificate.
255144
255145                     · context (str) -- The  name  of  the  certificate  store
255146                       location context.
255147
255148                     · store (str) -- The name of the certificate store.
255149
255150              Example of usage with only the required arguments:
255151
255152                 site0-cert-removed:
255153                     win_pki.remove_cert:
255154                         - thumbprint: 9988776655443322111000AAABBBCCCDDDEEEFFF
255155
255156              Example of usage specifying all available arguments:
255157
255158                 site0-cert-removed:
255159                     win_pki.remove_cert:
255160                         - thumbprint: 9988776655443322111000AAABBBCCCDDDEEEFFF
255161                         - context: LocalMachine
255162                         - store: My
255163
255164   salt.states.win_powercfg
255165       This  module allows you to control the power settings of a windows min‐
255166       ion via powercfg.
255167
255168       New in version 2015.8.0.
255169
255170
255171          # Set timeout to 30 minutes on battery power
255172          monitor:
255173              powercfg.set_timeout:
255174                  - value: 30
255175                  - power: dc
255176
255177       salt.states.win_powercfg.set_timeout(name,     value,      power=u'ac',
255178       scheme=None)
255179              Set  the sleep timeouts of specific items such as disk, monitor,
255180              etc.
255181
255182              Parameters
255183
255184                     · name (str) --
255185
255186                       The setting to change, can be one of the following:
255187
255188                          · monitor
255189
255190                          · disk
255191
255192                          · standby
255193
255194                          · hibernate
255195
255196
255197                     · value (int) -- The amount of time in minutes before the
255198                       item will timeout
255199
255200                     · power (str) --
255201
255202                       Set  the value for AC or DC power. Default is ac. Valid
255203                       options are:
255204
255205                          · ac (AC Power)
255206
255207                          · dc (Battery)
255208
255209
255210                     · scheme (str) --
255211
255212                       The scheme to use, leave as None to  use  the  current.
255213                       Default  is None. This can be the GUID or the Alias for
255214                       the Scheme. Known Aliases are:
255215
255216                          · SCHEME_BALANCED - Balanced
255217
255218                          · SCHEME_MAX - Power saver
255219
255220                          · SCHEME_MIN - High performance
255221
255222
255223              CLI Example:
255224
255225                 # Set monitor timeout to 30 minutes on Battery
255226                 monitor:
255227                   powercfg.set_timeout:
255228                     - value: 30
255229                     - power: dc
255230
255231                 # Set disk timeout to 10 minutes on AC Power
255232                 disk:
255233                   powercfg.set_timeout:
255234                     - value: 10
255235                     - power: ac
255236
255237   salt.states.win_servermanager
255238       Manage Windows features via the ServerManager  powershell  module.  Can
255239       install and remove roles/features.
255240
255241       maintainer
255242              Shane Lee <slee@saltstack.com>
255243
255244       platform
255245              Windows Server 2008R2 or greater
255246
255247       depends
255248              win_servermanager.install
255249
255250       depends
255251              win_servermanager.remove
255252
255253       salt.states.win_servermanager.installed(name,            features=None,
255254       recurse=False, restart=False, source=None, exclude=None, **kwargs)
255255              Install the windows feature. To install a  single  feature,  use
255256              the  name  parameter. To install multiple features, use the fea‐
255257              tures parameter.
255258
255259              NOTE:
255260                 Some features require reboot after  un/installation.  If  so,
255261                 until  the  server  is  restarted  other  features can not be
255262                 installed!
255263
255264              Parameters
255265
255266                     · name (str) --
255267
255268                       Short  name  of  the  feature  (the  right  column   in
255269                       win_servermanager.list_available). This can be a single
255270                       feature or a string of features in  a  comma  delimited
255271                       list (no spaces)
255272
255273                       NOTE:
255274                          A  list  is not allowed in the name parameter of any
255275                          state. Use the features parameter  if  you  want  to
255276                          pass the features as a list
255277
255278
255279                     · features (Optional[list]) --
255280
255281                       A  list  of  features  to install. If this is passed it
255282                       will be used instead of the name parameter.
255283
255284                       New in version 2018.3.0.
255285
255286
255287
255288                     · recurse (Optional[bool]) -- Install all sub-features as
255289                       well.  If  the  feature  is  installed  but  one of its
255290                       sub-features are not installed set  this  will  install
255291                       additional sub-features
255292
255293                     · source  (Optional[str])  -- Path to the source files if
255294                       missing from the target system.  None  means  that  the
255295                       system  will  use  windows  update services to find the
255296                       required files. Default is None
255297
255298                     · restart (Optional[bool]) -- Restarts the computer  when
255299                       installation  is complete, if required by the role/fea‐
255300                       ture installed. Default is False
255301
255302                     · exclude (Optional[str]) --
255303
255304                       The name of the feature to exclude when installing  the
255305                       named  feature.  This can be a single feature, a string
255306                       of features in a comma-delimited list (no spaces), or a
255307                       list of features.
255308
255309                       WARNING:
255310                          As  there  is no exclude option for the Add-Windows‐
255311                          Feature or  Install-WindowsFeature  PowerShell  com‐
255312                          mands   the   features  named  in  exclude  will  be
255313                          installed with other sub-features and will  then  be
255314                          removed.  If the feature named in ``exclude`` is not
255315                          a sub-feature of one of the installed items it  will
255316                          still be removed.
255317
255318              Example
255319
255320              Do  not  use  the  role or feature names mentioned in the PKGMGR
255321              documentation. To get a list of available roles and features run
255322              the following command:
255323
255324                 salt <minion_name> win_servermanager.list_available
255325
255326              Use the name in the right column of the results.
255327
255328                 # Installs the IIS Web Server Role (Web-Server)
255329                 IIS-WebServerRole:
255330                   win_servermanager.installed:
255331                     - recurse: True
255332                     - name: Web-Server
255333
255334                 # Install multiple features, exclude the Web-Service
255335                 install_multiple_features:
255336                   win_servermanager.installed:
255337                     - recurse: True
255338                     - features:
255339                       - RemoteAccess
255340                       - XPS-Viewer
255341                       - SNMP-Service
255342                     - exclude:
255343                       - Web-Server
255344
255345       salt.states.win_servermanager.removed(name,  features=None, remove_pay‐
255346       load=False, restart=False)
255347              Remove the windows feature To remove a single feature,  use  the
255348              name  parameter.  To  remove multiple features, use the features
255349              parameter.
255350
255351              Parameters
255352
255353                     · name (str) --
255354
255355                       Short  name  of  the  feature  (the  right  column   in
255356                       win_servermanager.list_available). This can be a single
255357                       feature or a string of features  in  a  comma-delimited
255358                       list (no spaces)
255359
255360                       NOTE:
255361                          A  list  is not allowed in the name parameter of any
255362                          state. Use the features parameter  if  you  want  to
255363                          pass the features as a list
255364
255365
255366                     · features (Optional[list]) --
255367
255368                       A list of features to remove. If this is passed it will
255369                       be used instead of the name parameter.
255370
255371                       New in version 2018.3.0.
255372
255373
255374
255375                     · remove_payload (Optional[bool]) -- True will cause  the
255376                       feature  to  be removed from the side-by-side store. To
255377                       install the feature in the  future  you  will  need  to
255378                       specify the source
255379
255380                     · restart  (Optional[bool]) -- Restarts the computer when
255381                       uninstall is complete if required by  the  role/feature
255382                       uninstall. Default is False
255383
255384              NOTE:
255385                 Some  features  require  a  reboot after uninstall. If so the
255386                 feature will not be completely uninstalled until  the  server
255387                 is restarted.
255388              Example
255389
255390              Do  not  use  the  role or feature names mentioned in the PKGMGR
255391              documentation. To get a list of available roles and features run
255392              the following command:
255393
255394                 salt <minion_name> win_servermanager.list_available
255395
255396              Use the name in the right column of the results.
255397
255398                 # Uninstall the IIS Web Server Rol (Web-Server)
255399                 IIS-WebserverRole:
255400                   win_servermanager.removed:
255401                     - name: Web-Server
255402
255403                 # Uninstall multiple features, reboot if required
255404                 uninstall_multiple_features:
255405                   win_servermanager.removed:
255406                     - features:
255407                       - RemoteAccess
255408                       - XPX-Viewer
255409                       - SNMP-Service
255410                     - restart: True
255411
255412   salt.states.win_smtp_server module
255413       Module for managing IIS SMTP server configuration on Windows servers.
255414
255415       salt.states.win_smtp_server.active_log_format(name,         log_format,
255416       server=u'SmtpSvc/1')
255417              Manage the active log format for the SMTP server.
255418
255419              Parameters
255420
255421                     · log_format (str) -- The log format name.
255422
255423                     · server (str) -- The SMTP server name.
255424
255425              Example of usage:
255426
255427                 smtp-log-format:
255428                     win_smtp_server.active_log_format:
255429                         - log_format: Microsoft IIS Log File Format
255430
255431       salt.states.win_smtp_server.connection_ip_list(name,    addresses=None,
255432       grant_by_default=False, server=u'SmtpSvc/1')
255433              Manage IP list for SMTP connections.
255434
255435              Parameters
255436
255437                     · addresses (str) -- A dictionary of IP + subnet pairs.
255438
255439                     · grant_by_default (bool) -- Whether the addresses should
255440                       be a blacklist or whitelist.
255441
255442                     · server (str) -- The SMTP server name.
255443
255444              Example of usage for creating a whitelist:
255445
255446                 smtp-connection-whitelist:
255447                     win_smtp_server.connection_ip_list:
255448                         - addresses:
255449                             127.0.0.1: 255.255.255.255
255450                             172.16.1.98: 255.255.255.255
255451                             172.16.1.99: 255.255.255.255
255452                         - grant_by_default: False
255453
255454              Example of usage for creating a blacklist:
255455
255456                 smtp-connection-blacklist:
255457                     win_smtp_server.connection_ip_list:
255458                         - addresses:
255459                             172.16.1.100: 255.255.255.255
255460                             172.16.1.101: 255.255.255.255
255461                         - grant_by_default: True
255462
255463              Example of usage for allowing any source to connect:
255464
255465                 smtp-connection-blacklist:
255466                     win_smtp_server.connection_ip_list:
255467                         - addresses: {}
255468                         - grant_by_default: True
255469
255470       salt.states.win_smtp_server.relay_ip_list(name,         addresses=None,
255471       server=u'SmtpSvc/1')
255472              Manage IP list for SMTP relay connections.
255473
255474              Due  to the unusual way that Windows stores the relay IPs, it is
255475              advisable to retrieve the existing list you wish to set  from  a
255476              pre-configured server.
255477
255478              For  example, setting '127.0.0.1' as an allowed relay IP through
255479              the GUI would generate an actual relay IP list  similar  to  the
255480              following:
255481
255482                 ['24.0.0.128', '32.0.0.128', '60.0.0.128', '68.0.0.128', '1.0.0.0', '76.0.0.0',
255483                   '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',
255484                   '0.0.0.0', '76.0.0.128', '0.0.0.0', '0.0.0.0', '0.0.0.0', '0.0.0.0',
255485                   '255.255.255.255', '127.0.0.1']
255486
255487              NOTE:
255488                 Setting the list to None corresponds to the restrictive 'Only
255489                 the list below' GUI parameter with an empty access list  con‐
255490                 figured,  and  setting an empty list/tuple corresponds to the
255491                 more permissive 'All except the list below' GUI parameter.
255492
255493              Parameters
255494
255495                     · addresses (str) -- A list of the relay IPs.  The  order
255496                       of the list is important.
255497
255498                     · server (str) -- The SMTP server name.
255499
255500              Example of usage:
255501
255502                 smtp-relay-list:
255503                   win_smtp_server.relay_ip_list:
255504                     - addresses:
255505                         - 24.0.0.128
255506                         - 32.0.0.128
255507                         - 60.0.0.128
255508                         - 1.0.0.0
255509                         - 76.0.0.0
255510                         - 0.0.0.0
255511                         - 0.0.0.0
255512                         - 1.0.0.0
255513                         - 1.0.0.0
255514                         - 2.0.0.0
255515                         - 2.0.0.0
255516                         - 4.0.0.0
255517                         - 0.0.0.0
255518                         - 76.0.0.128
255519                         - 0.0.0.0
255520                         - 0.0.0.0
255521                         - 0.0.0.0
255522                         - 0.0.0.0
255523                         - 255.255.255.255
255524                         - 127.0.0.1
255525
255526              Example of usage for disabling relaying:
255527
255528                 smtp-relay-list:
255529                     win_smtp_server.relay_ip_list:
255530                         - addresses: None
255531
255532              Example of usage for allowing relaying from any source:
255533
255534                 smtp-relay-list:
255535                     win_smtp_server.relay_ip_list:
255536                         - addresses: []
255537
255538       salt.states.win_smtp_server.server_setting(name,         settings=None,
255539       server=u'SmtpSvc/1')
255540              Ensure the value is set for the specified setting.
255541
255542              NOTE:
255543                 The setting names are case-sensitive.
255544
255545              Parameters
255546
255547                     · settings (str) -- A dictionary of the setting names and
255548                       their values.
255549
255550                     · server (str) -- The SMTP server name.
255551
255552              Example of usage:
255553
255554                 smtp-settings:
255555                     win_smtp_server.server_setting:
255556                         - settings:
255557                             LogType: 1
255558                             LogFilePeriod: 1
255559                             MaxMessageSize: 16777216
255560                             MaxRecipients: 10000
255561                             MaxSessionSize: 16777216
255562
255563   salt.states.win_snmp module
255564       Module for managing SNMP service settings on Windows servers.
255565
255566       salt.states.win_snmp.agent_settings(name,   contact,   location,   ser‐
255567       vices=None)
255568              Manage the SNMP sysContact, sysLocation,  and  sysServices  set‐
255569              tings.
255570
255571              Parameters
255572
255573                     · contact (str) -- The SNMP contact.
255574
255575                     · location (str) -- The SNMP location.
255576
255577                     · services (str) -- A list of selected services.
255578
255579              Example of usage:
255580
255581                 snmp-agent-settings:
255582                     win_snmp.agent_settings:
255583                         - contact: Test Contact
255584                         - location: Test Location
255585                         - services:
255586                             - Physical
255587                             - Internet
255588
255589       salt.states.win_snmp.auth_traps_enabled(name, status=True)
255590              Manage the sending of authentication traps.
255591
255592              Parameters
255593                     status (bool) -- The enabled status.
255594
255595              Example of usage:
255596
255597                 snmp-auth-traps:
255598                     win_snmp.auth_traps_enabled:
255599                         - status: True
255600
255601       salt.states.win_snmp.community_names(name, communities=None)
255602              Manage the SNMP accepted community names and their permissions.
255603
255604              Parameters
255605                     communities (str) -- A dictionary of SNMP communities and
255606                     permissions.
255607
255608              Example of usage:
255609
255610                 snmp-community-names:
255611                     win_snmp.community_names:
255612                         - communities:
255613                             TestCommunity: Read Only
255614                             OtherCommunity: Read Write
255615
255616   salt.states.win_system
255617   Management of Windows system information
255618       New in version 2014.1.0.
255619
255620
255621       This state is used to manage system information such  as  the  computer
255622       name and description.
255623
255624          ERIK-WORKSTATION:
255625            system.computer_name: []
255626
255627          This is Erik's computer, don't touch!:
255628            system.computer_desc: []
255629
255630       salt.states.win_system.computer_desc(name)
255631              Manage the computer's description field
255632
255633              name   The desired computer description
255634
255635       salt.states.win_system.computer_name(name)
255636              Manage the computer's name
255637
255638              name   The desired computer name
255639
255640       salt.states.win_system.hostname(name)
255641              New in version 2016.3.0.
255642
255643
255644              Manage the hostname of the computer
255645
255646              name   The hostname to set
255647
255648       salt.states.win_system.join_domain(name,  username=None, password=None,
255649       account_ou=None, account_exists=False, restart=False)
255650              Checks if a computer is joined to the Domain. If the computer is
255651              not in the Domain, it will be joined.
255652
255653              Parameters
255654
255655                     · name (str) -- The name of the Domain.
255656
255657                     · username  (str)  --  Username  of  an  account which is
255658                       authorized to join computers to the  specified  domain.
255659                       Need  to be either fully qualified like user@domain.tld
255660                       or simply user.
255661
255662                     · password (str) -- Password of the account  to  add  the
255663                       computer to the Domain.
255664
255665                     · account_ou  (str)  --  The DN of the OU below which the
255666                       account for this computer should be created when  join‐
255667                       ing       the       domain,       e.g.       ou=comput‐
255668                       ers,ou=departm_432,dc=my-company,dc=com.
255669
255670                     · account_exists (bool) -- Needs to be  set  to  True  to
255671                       allow re-using an existing computer account.
255672
255673                     · restart  (bool)  --  Needs to be set to True to restart
255674                       the computer after a successful join.
255675
255676              Example:
255677
255678                 join_to_domain:
255679                   system.join_domain:
255680                     - name: mydomain.local.com
255681                     - username: myaccount@mydomain.local.com
255682                     - password: mysecretpassword
255683                     - restart: True
255684
255685       salt.states.win_system.reboot(name,      message=None,       timeout=5,
255686       force_close=True, in_seconds=False, only_on_pending_reboot=True)
255687              Reboot the computer
255688
255689              Parameters
255690
255691                     · message (str) --
255692
255693                       An  optional  message to display to users. It will also
255694                       be used as a comment in the event log entry.
255695
255696                       The default value is None.
255697
255698
255699                     · timeout (int) --
255700
255701                       The number of minutes or seconds before a  reboot  will
255702                       occur.  Whether  this number represents minutes or sec‐
255703                       onds depends on the value of in_seconds.
255704
255705                       The default value is 5.
255706
255707
255708                     · in_seconds (bool) --
255709
255710                       If this is True, the value of timeout will  be  treated
255711                       as  a number of seconds. If this is False, the value of
255712                       timeout will be treated as a number of minutes.
255713
255714                       The default value is False.
255715
255716
255717                     · force_close (bool) --
255718
255719                       If this is True, running applications will be forced to
255720                       close without warning. If this is False, running appli‐
255721                       cations will not get the opportunity  to  prompt  users
255722                       about unsaved data.
255723
255724                       The default value is True.
255725
255726
255727                     · only_on_pending_reboot (bool) --
255728
255729                       If this is True, the reboot will only occur if the sys‐
255730                       tem reports a pending reboot. If  this  is  False,  the
255731                       reboot will always occur.
255732
255733                       The default value is True.
255734
255735
255736       salt.states.win_system.shutdown(name,      message=None,     timeout=5,
255737       force_close=True,   reboot=False,    in_seconds=False,    only_on_pend‐
255738       ing_reboot=False)
255739              Shutdown the computer
255740
255741              Parameters
255742
255743                     · message (str) --
255744
255745                       An  optional  message to display to users. It will also
255746                       be used as a comment in the event log entry.
255747
255748                       The default value is None.
255749
255750
255751                     · timeout (int) --
255752
255753                       The number of minutes or seconds before a shutdown will
255754                       occur.  Whether  this number represents minutes or sec‐
255755                       onds depends on the value of in_seconds.
255756
255757                       The default value is 5.
255758
255759
255760                     · in_seconds (bool) --
255761
255762                       If this is True, the value of timeout will  be  treated
255763                       as  a number of seconds. If this is False, the value of
255764                       timeout will be treated as a number of minutes.
255765
255766                       The default value is False.
255767
255768
255769                     · force_close (bool) --
255770
255771                       If this is True, running applications will be forced to
255772                       close without warning. If this is False, running appli‐
255773                       cations will not get the opportunity  to  prompt  users
255774                       about unsaved data.
255775
255776                       The default value is True.
255777
255778
255779                     · reboot (bool) --
255780
255781                       If  this is True, the computer will restart immediately
255782                       after shutting down. If False the  system  flushes  all
255783                       caches to disk and safely powers down the system.
255784
255785                       The default value is False.
255786
255787
255788                     · only_on_pending_reboot (bool) --
255789
255790                       If  this  is  True, the shutdown will only occur if the
255791                       system reports a pending reboot. If this is False,  the
255792                       shutdown will always occur.
255793
255794                       The default value is False.
255795
255796
255797   salt.states.win_wua module
255798       Installation of Windows Updates using the Windows Update Agent
255799
255800       New in version 2017.7.0.
255801
255802
255803       Salt can manage Windows updates via the "wua" state module. Updates can
255804       be installed and removed. Update management declarations  are  as  fol‐
255805       lows:
255806
255807       For installation:
255808
255809          # Install a single update using the KB
255810          KB3194343:
255811            wua.installed
255812
255813          # Install a single update using the name parameter
255814          install_update:
255815            wua.installed:
255816              - name: KB3194343
255817
255818          # Install multiple updates using the updates parameter and a combination of
255819          # KB number and GUID
255820          install_updates:
255821            wua.installed:
255822             - updates:
255823               - KB3194343
255824               - bb1dbb26-3fb6-45fd-bb05-e3c8e379195c
255825
255826       For removal:
255827
255828          # Remove a single update using the KB
255829          KB3194343:
255830            wua.removed
255831
255832          # Remove a single update using the name parameter
255833          remove_update:
255834            wua.removed:
255835              - name: KB3194343
255836
255837          # Remove multiple updates using the updates parameter and a combination of
255838          # KB number and GUID
255839          remove_updates:
255840            wua.removed:
255841             - updates:
255842               - KB3194343
255843               - bb1dbb26-3fb6-45fd-bb05-e3c8e379195c
255844
255845       salt.states.win_wua.installed(name, updates=None)
255846              Ensure  Microsoft  Updates  are installed. Updates will be down‐
255847              loaded if needed.
255848
255849              Parameters
255850
255851                     · name (str) -- The identifier  of  a  single  update  to
255852                       install.
255853
255854                     · updates  (list) -- A list of identifiers for updates to
255855                       be installed. Overrides name. Default is None.
255856
255857              NOTE:
255858                 Identifiers can be the GUID, the KB number, or  any  part  of
255859                 the Title of the Microsoft update. GUIDs and KBs are the pre‐
255860                 ferred method to ensure you're installing the correct update.
255861
255862              WARNING:
255863                 Using a partial KB number or a partial Title could result  in
255864                 more than one update being installed.
255865
255866              Returns
255867                     A dictionary containing the results of the update
255868
255869              Return type
255870                     dict
255871
255872              CLI Example:
255873
255874                 # using a GUID
255875                 install_update:
255876                   wua.installed:
255877                     - name: 28cf1b09-2b1a-458c-9bd1-971d1b26b211
255878
255879                 # using a KB
255880                 install_update:
255881                   wua.installed:
255882                     - name: KB3194343
255883
255884                 # using the full Title
255885                 install_update:
255886                   wua.installed:
255887                     - name: Security Update for Adobe Flash Player for Windows 10 Version 1607 (for x64-based Systems) (KB3194343)
255888
255889                 # Install multiple updates
255890                 install_updates:
255891                   wua.installed:
255892                     - updates:
255893                       - KB3194343
255894                       - 28cf1b09-2b1a-458c-9bd1-971d1b26b211
255895
255896       salt.states.win_wua.removed(name, updates=None)
255897              Ensure Microsoft Updates are uninstalled.
255898
255899              Parameters
255900
255901                     · name  (str)  --  The  identifier  of a single update to
255902                       uninstall.
255903
255904                     · updates (list) -- A list of identifiers for updates  to
255905                       be removed. Overrides name.  Default is None.
255906
255907              NOTE:
255908                 Identifiers  can  be  the GUID, the KB number, or any part of
255909                 the Title of the Microsoft update. GUIDs and KBs are the pre‐
255910                 ferred  method  to  ensure  you're  uninstalling  the correct
255911                 update.
255912
255913              WARNING:
255914                 Using a partial KB number or a partial Title could result  in
255915                 more than one update being removed.
255916
255917              Returns
255918                     A dictionary containing the results of the removal
255919
255920              Return type
255921                     dict
255922
255923              CLI Example:
255924
255925                 # using a GUID
255926                 uninstall_update:
255927                   wua.removed:
255928                     - name: 28cf1b09-2b1a-458c-9bd1-971d1b26b211
255929
255930                 # using a KB
255931                 uninstall_update:
255932                   wua.removed:
255933                     - name: KB3194343
255934
255935                 # using the full Title
255936                 uninstall_update:
255937                   wua.removed:
255938                     - name: Security Update for Adobe Flash Player for Windows 10 Version 1607 (for x64-based Systems) (KB3194343)
255939
255940                 # Install multiple updates
255941                 uninstall_updates:
255942                   wua.removed:
255943                     - updates:
255944                       - KB3194343
255945                       - 28cf1b09-2b1a-458c-9bd1-971d1b26b211
255946
255947       salt.states.win_wua.uptodate(name,     software=True,    drivers=False,
255948       skip_hidden=False,   skip_mandatory=False,   skip_reboot=True,    cate‐
255949       gories=None, severities=None)
255950              Ensure  Microsoft  Updates  that  match  the passed criteria are
255951              installed.  Updates will be downloaded if needed.
255952
255953              This state allows you to update a system  without  specifying  a
255954              specific   update   to  apply.  All  matching  updates  will  be
255955              installed.
255956
255957              Parameters
255958
255959                     · name (str) -- The name has no functional value  and  is
255960                       only used as a tracking reference
255961
255962                     · software  (bool)  --  Include  software  updates in the
255963                       results (default is True)
255964
255965                     · drivers (bool) -- Include driver updates in the results
255966                       (default is False)
255967
255968                     · skip_hidden  (bool) -- Skip updates that have been hid‐
255969                       den. Default is False.
255970
255971                     · skip_mandatory  (bool)  --  Skip   mandatory   updates.
255972                       Default is False.
255973
255974                     · skip_reboot  (bool)  --  Skip  updates  that  require a
255975                       reboot. Default is True.
255976
255977                     · categories (list) --
255978
255979                       Specify the categories to list. Must  be  passed  as  a
255980                       list. All categories returned by default.
255981
255982                       Categories include the following:
255983
255984                       · Critical Updates
255985
255986                       · Definition Updates
255987
255988                       · Drivers (make sure you set drivers=True)
255989
255990                       · Feature Packs
255991
255992                       · Security Updates
255993
255994                       · Update Rollups
255995
255996                       · Updates
255997
255998                       · Update Rollups
255999
256000                       · Windows 7
256001
256002                       · Windows 8.1
256003
256004                       · Windows 8.1 drivers
256005
256006                       · Windows 8.1 and later drivers
256007
256008                       · Windows Defender
256009
256010
256011                     · severities (list) --
256012
256013                       Specify  the severities to include. Must be passed as a
256014                       list. All severities returned by default.
256015
256016                       Severities include the following:
256017
256018                       · Critical
256019
256020                       · Important
256021
256022
256023              Returns
256024                     A dictionary containing the results of the update
256025
256026              Return type
256027                     dict
256028
256029              CLI Example:
256030
256031                 # Update the system using the state defaults
256032                 update_system:
256033                   wua.uptodate
256034
256035                 # Update the drivers
256036                 update_drivers:
256037                   wua.uptodate:
256038                     - software: False
256039                     - drivers: True
256040                     - skip_reboot: False
256041
256042                 # Apply all critical updates
256043                 update_critical:
256044                   wua.uptodate:
256045                     - severities:
256046                       - Critical
256047
256048   salt.states.winrepo
256049       Manage Windows Package Repository
256050
256051       salt.states.winrepo.genrepo(name, force=False, allow_empty=False)
256052              Refresh the winrepo.p file  of  the  repository  (salt-run  win‐
256053              repo.genrepo)
256054
256055              If  force is True no checks will be made and the repository will
256056              be generated if allow_empty is True  then  the  state  will  not
256057              return an error if there are 0 packages,
256058
256059              NOTE:
256060                 This  state  only  loads  on  minions  that  have  the roles:
256061                 salt-master grain set.
256062
256063              Example:
256064
256065                 winrepo:
256066                   winrepo.genrepo
256067
256068   salt.states.x509
256069       Manage X509 Certificates
256070
256071       New in version 2015.8.0.
256072
256073
256074       depends
256075              M2Crypto
256076
256077       This module can enable managing a complete PKI infrastructure including
256078       creating  private  keys,  CA's,  certificates and CRLs. It includes the
256079       ability to generate a private key on a server, and have the correspond‐
256080       ing  public  key sent to a remote CA to create a CA signed certificate.
256081       This can be done in a secure manner, where private keys are always gen‐
256082       erated locally and never moved across the network.
256083
256084       Here is a simple example scenario. In this example ca is the ca server,
256085       and www is a web server that needs a certificate signed by ca.
256086
256087       For remote signing, peers  must  be  permitted  to  remotely  call  the
256088       sign_remote_certificate function.
256089
256090       /etc/salt/master.d/peer.conf
256091
256092          peer:
256093            .*:
256094              - x509.sign_remote_certificate
256095
256096       /srv/salt/top.sls
256097
256098          base:
256099            '*':
256100              - cert
256101            'ca':
256102              - ca
256103            'www':
256104              - www
256105
256106       This  state creates the CA key, certificate and signing policy. It also
256107       publishes the certificate to the mine where it can be easily  retrieved
256108       by other minions.
256109
256110       /srv/salt/ca.sls
256111
256112          salt-minion:
256113            service.running:
256114              - enable: True
256115              - listen:
256116                - file: /etc/salt/minion.d/signing_policies.conf
256117
256118          /etc/salt/minion.d/signing_policies.conf:
256119            file.managed:
256120              - source: salt://signing_policies.conf
256121
256122          /etc/pki:
256123            file.directory
256124
256125          /etc/pki/issued_certs:
256126            file.directory
256127
256128          /etc/pki/ca.crt:
256129            x509.certificate_managed:
256130              - signing_private_key: /etc/pki/ca.key
256131              - CN: ca.example.com
256132              - C: US
256133              - ST: Utah
256134              - L: Salt Lake City
256135              - basicConstraints: "critical CA:true"
256136              - keyUsage: "critical cRLSign, keyCertSign"
256137              - subjectKeyIdentifier: hash
256138              - authorityKeyIdentifier: keyid,issuer:always
256139              - days_valid: 3650
256140              - days_remaining: 0
256141              - backup: True
256142              - managed_private_key:
256143                  name: /etc/pki/ca.key
256144                  bits: 4096
256145                  backup: True
256146              - require:
256147                - file: /etc/pki
256148
256149          mine.send:
256150            module.run:
256151              - func: x509.get_pem_entries
256152              - kwargs:
256153                  glob_path: /etc/pki/ca.crt
256154              - onchanges:
256155                - x509: /etc/pki/ca.crt
256156
256157       The  signing  policy  defines  properties  that  override  any property
256158       requested or included in a CRL. It also can define a restricted list of
256159       minons which are allowed to remotely invoke this signing policy.
256160
256161       /srv/salt/signing_policies.conf
256162
256163          x509_signing_policies:
256164            www:
256165              - minions: 'www'
256166              - signing_private_key: /etc/pki/ca.key
256167              - signing_cert: /etc/pki/ca.crt
256168              - C: US
256169              - ST: Utah
256170              - L: Salt Lake City
256171              - basicConstraints: "critical CA:false"
256172              - keyUsage: "critical keyEncipherment"
256173              - subjectKeyIdentifier: hash
256174              - authorityKeyIdentifier: keyid,issuer:always
256175              - days_valid: 90
256176              - copypath: /etc/pki/issued_certs/
256177
256178       This  state  will  instruct all minions to trust certificates signed by
256179       our new CA.  Using jinja to strip newlines from the text avoids dealing
256180       with  newlines  in  the rendered yaml, and the  sign_remote_certificate
256181       state will handle properly formatting the text before writing the  out‐
256182       put.
256183
256184       /srv/salt/cert.sls
256185
256186          /usr/local/share/ca-certificates:
256187            file.directory
256188
256189          /usr/local/share/ca-certificates/intca.crt:
256190            x509.pem_managed:
256191              - text: {{ salt['mine.get']('ca', 'x509.get_pem_entries')['ca']['/etc/pki/ca.crt']|replace('\n', '') }}
256192
256193       This  state creates a private key then requests a certificate signed by
256194       ca according to the www policy.
256195
256196       /srv/salt/www.sls
256197
256198          /etc/pki/www.crt:
256199            x509.certificate_managed:
256200              - ca_server: ca
256201              - signing_policy: www
256202              - public_key: /etc/pki/www.key
256203              - CN: www.example.com
256204              - days_remaining: 30
256205              - backup: True
256206              - managed_private_key:
256207                  name: /etc/pki/www.key
256208                  bits: 4096
256209                  backup: True
256210
256211       salt.states.x509.certificate_managed(name,   days_remaining=90,    man‐
256212       aged_private_key=None, append_certs=None, **kwargs)
256213              Manage a Certificate
256214
256215              name   Path to the certificate
256216
256217              days_remaining
256218                     90 The minimum number of days remaining when the certifi‐
256219                     cate should be recreated. A value of 0 disables automatic
256220                     renewal.
256221
256222              managed_private_key
256223                     Manages the private key corresponding to the certificate.
256224                     All     of      the      arguments      supported      by
256225                     x509.private_key_managed  are  supported.  If name is not
256226                     speicified or is the same as the name of the certificate,
256227                     the  private key and certificate will be written together
256228                     in the same file.
256229
256230              append_certs:
256231                     A list of certificates to  be  appended  to  the  managed
256232                     file.
256233
256234              kwargs:
256235                     Any  arguments  supported  by  x509.create_certificate or
256236                     file.managed are supported.
256237
256238              Examples:
256239
256240                 /etc/pki/ca.crt:
256241                   x509.certificate_managed:
256242                     - signing_private_key: /etc/pki/ca.key
256243                     - CN: ca.example.com
256244                     - C: US
256245                     - ST: Utah
256246                     - L: Salt Lake City
256247                     - basicConstraints: "critical CA:true"
256248                     - keyUsage: "critical cRLSign, keyCertSign"
256249                     - subjectKeyIdentifier: hash
256250                     - authorityKeyIdentifier: keyid,issuer:always
256251                     - days_valid: 3650
256252                     - days_remaining: 0
256253                     - backup: True
256254
256255                 /etc/ssl/www.crt:
256256                   x509.certificate_managed:
256257                     - ca_server: pki
256258                     - signing_policy: www
256259                     - public_key: /etc/ssl/www.key
256260                     - CN: www.example.com
256261                     - days_valid: 90
256262                     - days_remaining: 30
256263                     - backup: True
256264
256265       salt.states.x509.crl_managed(name,  signing_private_key,   signing_pri‐
256266       vate_key_passphrase=None,        signing_cert=None,       revoked=None,
256267       days_valid=100, digest=u'',  days_remaining=30,  include_expired=False,
256268       **kwargs)
256269              Manage a Certificate Revocation List
256270
256271              name   Path to the certificate
256272
256273              signing_private_key
256274                     The  private key that will be used to sign this crl. This
256275                     is usually your CA's private key.
256276
256277              signing_private_key_passphrase
256278                     Passphrase to decrypt the private key.
256279
256280              signing_cert
256281                     The certificate of the authority that  will  be  used  to
256282                     sign this crl.  This is usually your CA's certificate.
256283
256284              revoked
256285                     A  list  of certificates to revoke. Must include either a
256286                     serial number or a the certificate itself. Can optionally
256287                     include  the  revocation  date and notAfter date from the
256288                     certificate. See example below for details.
256289
256290              days_valid
256291                     100 The number of days the certificate  should  be  valid
256292                     for.
256293
256294              digest The digest to use for signing the CRL. This has no effect
256295                     on versions of pyOpenSSL less than 0.14.
256296
256297              days_remaining
256298                     30 The crl should be automatically recreated if there are
256299                     less  than days_remaining days until the crl expires. Set
256300                     to 0 to disable automatic renewal.
256301
256302              include_expired
256303                     False If True, include expired certificates in the CRL.
256304
256305              kwargs Any arguments supported by file.managed are supported.
256306
256307              Example:
256308
256309                 /etc/pki/ca.crl:
256310                   x509.crl_managed:
256311                     - signing_private_key: /etc/pki/myca.key
256312                     - signing_cert: /etc/pki/myca.crt
256313                     - revoked:
256314                       - compromized_Web_key:
256315                         - certificate: /etc/pki/certs/badweb.crt
256316                         - revocation_date: 2015-03-01 00:00:00
256317                         - reason: keyCompromise
256318                       - terminated_vpn_user:
256319                         - serial_number: D6:D2:DC:D8:4D:5C:C0:F4
256320                         - not_after: 2016-01-01 00:00:00
256321                         - revocation_date: 2015-02-25 00:00:00
256322                         - reason: cessationOfOperation
256323
256324       salt.states.x509.csr_managed(name, **kwargs)
256325              Manage a Certificate Signing Request
256326
256327              name:  Path to the CSR
256328
256329              properties:
256330                     The properties to be added to  the  certificate  request,
256331                     including  items like subject, extensions and public key.
256332                     See above for valid properties.
256333
256334              kwargs:
256335                     Any arguments supported by file.managed are supported.
256336
256337              Example:
256338
256339                 /etc/pki/mycert.csr:
256340                   x509.csr_managed:
256341                      - private_key: /etc/pki/mycert.key
256342                      - CN: www.example.com
256343                      - C: US
256344                      - ST: Utah
256345                      - L: Salt Lake City
256346                      - keyUsage: 'critical dataEncipherment'
256347
256348       salt.states.x509.pem_managed(name, text, backup=False, **kwargs)
256349              Manage the contents of a PEM file directly with the  content  in
256350              text, ensuring correct formatting.
256351
256352              name:  The path to the file to manage
256353
256354              text:  The PEM formatted text to write.
256355
256356              kwargs:
256357                     Any arguments supported by file.managed are supported.
256358
256359       salt.states.x509.private_key_managed(name,  bits=2048, passphrase=None,
256360       cipher=u'aes_128_cbc',   new=False,   overwrite=False,    verbose=True,
256361       **kwargs)
256362              Manage a private key's existence.
256363
256364              name:  Path to the private key
256365
256366              bits:  Key length in bits. Default 2048.
256367
256368              passphrase:
256369                     Passphrase for encrypting the private key.
256370
256371              cipher:
256372                     Cipher for encrypting the private key.
256373
256374              new:   Always  create  a  new key. Defaults to False.  Combining
256375                     new with prereq, or when used as part of  a  managed_pri‐
256376                     vate_key can allow key rotation whenever a new certifici‐
256377                     ate is generated.
256378
256379              overwrite:
256380                     Overwrite  an  existing  private  key  if  the   provided
256381                     passphrase cannot decrypt it.
256382
256383              verbose:
256384                     Provide visual feedback on stdout, dots while key is gen‐
256385                     erated.  Default is True.
256386
256387                     New in version 2016.11.0.
256388
256389
256390              kwargs:
256391                     Any kwargs supported by file.managed are supported.
256392
256393              Example:
256394
256395              The jinja templating in this example ensures a  private  key  is
256396              generated  if  the file doesn't exist and that a new private key
256397              is generated whenever the certificate that  uses  it  is  to  be
256398              renewed.
256399
256400                 /etc/pki/www.key:
256401                   x509.private_key_managed:
256402                     - bits: 4096
256403                     - new: True
256404                     {% if salt['file.file_exists']('/etc/pki/ca.key') -%}
256405                     - prereq:
256406                       - x509: /etc/pki/www.crt
256407                     {%- endif %}
256408
256409   salt.states.xmpp
256410   Sending Messages over XMPP
256411       New in version 2014.1.0.
256412
256413
256414       This  state  is useful for firing messages during state runs, using the
256415       XMPP protocol
256416
256417          server-warning-message:
256418            xmpp.send_msg:
256419              - name: 'This is a server warning message'
256420              - profile: my-xmpp-account
256421              - recipient: admins@xmpp.example.com/salt
256422
256423       salt.states.xmpp.send_msg(name, recipient, profile)
256424              Send a message to an XMPP user
256425
256426                 server-warning-message:
256427                   xmpp.send_msg:
256428                     - name: 'This is a server warning message'
256429                     - profile: my-xmpp-account
256430                     - recipient: admins@xmpp.example.com/salt
256431
256432              name   The message to send to the XMPP user
256433
256434       salt.states.xmpp.send_msg_multi(name,     profile,     recipients=None,
256435       rooms=None)
256436              Send a message to an list of recipients or rooms
256437
256438                 server-warning-message:
256439                   xmpp.send_msg:
256440                     - name: 'This is a server warning message'
256441                     - profile: my-xmpp-account
256442                     - recipients:
256443                       - admins@xmpp.example.com/salt
256444                     - rooms:
256445                       - qa@conference.xmpp.example.com
256446
256447              name   The message to send to the XMPP user
256448
256449   salt.states.zabbix_action
256450       New in version 2017.7.
256451
256452
256453       Management of Zabbix Action object over Zabbix API.
256454
256455       codeauthor
256456              Jakub Sliva <jakub.sliva@ultimum.io>
256457
256458       salt.states.zabbix_action.absent(name, **kwargs)
256459              Makes  the  Zabbix Action to be absent (either does not exist or
256460              delete it).
256461
256462              Parameters
256463
256464                     · name -- Zabbix Action name
256465
256466                     · _connection_user -- Optional - zabbix user (can also be
256467                       set in opts or pillar, see module's docstring)
256468
256469                     · _connection_password -- Optional - zabbix password (can
256470                       also be set in opts or pillar, see module's docstring)
256471
256472                     · _connection_url -- Optional - url  of  zabbix  frontend
256473                       (can  also  be  set  in opts, pillar, see module's doc‐
256474                       string)
256475
256476                 zabbix-action-absent:
256477                     zabbix_action.absent:
256478                         - name: Action name
256479
256480       salt.states.zabbix_action.present(name, params, **kwargs)
256481              Creates Zabbix Action object or if differs update  it  according
256482              defined parameters
256483
256484              Parameters
256485
256486                     · name -- Zabbix Action name
256487
256488                     · params -- Definition of the Zabbix Action
256489
256490                     · _connection_user -- Optional - zabbix user (can also be
256491                       set in opts or pillar, see module's docstring)
256492
256493                     · _connection_password -- Optional - zabbix password (can
256494                       also be set in opts or pillar, see module's docstring)
256495
256496                     · _connection_url  --  Optional  - url of zabbix frontend
256497                       (can also be set in opts,  pillar,  see  module's  doc‐
256498                       string)
256499
256500              If  there  is  a  need to get a value from current zabbix online
256501              (e.g. id of a hostgroup you want  to  put  a  discovered  system
256502              into),  put  a  dictionary  with  two  keys  "query_object"  and
256503              "query_name" instead of the value.  In this example we  want  to
256504              get  object  id of hostgroup named "Virtual machines" and "Data‐
256505              bases".
256506
256507                 zabbix-action-present:
256508                     zabbix_action.present:
256509                         - name: VMs
256510                         - params:
256511                             eventsource: 2
256512                             status: 0
256513                             filter:
256514                                 evaltype: 2
256515                                 conditions:
256516                                     - conditiontype: 24
256517                                       operator: 2
256518                                       value: 'virtual'
256519                                     - conditiontype: 24
256520                                       operator: 2
256521                                       value: 'kvm'
256522                             operations:
256523                                 - operationtype: 2
256524                                 - operationtype: 4
256525                                   opgroup:
256526                                       - groupid:
256527                                           query_object: hostgroup
256528                                           query_name: Virtual machines
256529                                       - groupid:
256530                                           query_object: hostgroup
256531                                           query_name: Databases
256532
256533   salt.states.zabbix_host module
256534       Management of Zabbix hosts.
256535
256536       codeauthor
256537              Jiri Kotlin <jiri.kotlin@ultimum.io>
256538
256539       salt.states.zabbix_host.absent(name, **kwargs)
256540              Ensures that the host does not exists, eventually deletes host.
256541
256542              New in version 2016.3.0.
256543
256544
256545              Param  name: technical name of the host
256546
256547              Parameters
256548
256549                     · _connection_user -- Optional - zabbix user (can also be
256550                       set in opts or pillar, see module's docstring)
256551
256552                     · _connection_password -- Optional - zabbix password (can
256553                       also be set in opts or pillar, see module's docstring)
256554
256555                     · _connection_url -- Optional - url  of  zabbix  frontend
256556                       (can  also  be  set  in opts, pillar, see module's doc‐
256557                       string)
256558
256559                 TestHostWithInterfaces:
256560                     zabbix_host.absent
256561
256562       salt.states.zabbix_host.assign_templates(host, templates, **kwargs)
256563              Ensures that templates are assigned to the host.
256564
256565              New in version 2017.7.0.
256566
256567
256568              Parameters
256569
256570                     · host -- technical name of the host
256571
256572                     · _connection_user -- Optional - zabbix user (can also be
256573                       set in opts or pillar, see module's docstring)
256574
256575                     · _connection_password -- Optional - zabbix password (can
256576                       also be set in opts or pillar, see module's docstring)
256577
256578                     · _connection_url -- Optional - url  of  zabbix  frontend
256579                       (can  also  be  set  in opts, pillar, see module's doc‐
256580                       string)
256581
256582                 add_zabbix_templates_to_host:
256583                     zabbix_host.assign_templates:
256584                         - host: TestHost
256585                         - templates:
256586                             - "Template OS Linux"
256587                             - "Template App MySQL"
256588
256589       salt.states.zabbix_host.present(host, groups, interfaces, **kwargs)
256590              Ensures that the  host  exists,  eventually  creates  new  host.
256591              NOTE:  please  use  argument visible_name instead of name to not
256592              mess with name from salt sls. This function accepts all standard
256593              host properties: keyword argument names differ depending on your
256594              zabbix                       version,                       see:
256595              https://www.zabbix.com/documentation/2.4/manual/api/reference/host/object#host
256596
256597              New in version 2016.3.0.
256598
256599
256600              Parameters
256601
256602                     · host -- technical name of the host
256603
256604                     · groups -- groupids of host groups to add the host to
256605
256606                     · interfaces -- interfaces to be created for the host
256607
256608                     · proxy_host -- Optional proxy name or proxyid to monitor
256609                       host
256610
256611                     · inventory  -- Optional list of inventory names and val‐
256612                       ues
256613
256614                     · _connection_user -- Optional - zabbix user (can also be
256615                       set in opts or pillar, see module's docstring)
256616
256617                     · _connection_password -- Optional - zabbix password (can
256618                       also be set in opts or pillar, see module's docstring)
256619
256620                     · _connection_url -- Optional - url  of  zabbix  frontend
256621                       (can  also  be  set  in opts, pillar, see module's doc‐
256622                       string)
256623
256624                     · visible_name -- Optional - string with visible name  of
256625                       the   host,   use   'visible_name'  instead  of  'name'
256626                       parameter to not mess with value supplied from Salt sls
256627                       file.
256628
256629                 create_test_host:
256630                     zabbix_host.present:
256631                         - host: TestHostWithInterfaces
256632                         - proxy_host: 12345
256633                         - groups:
256634                             - 5
256635                             - 6
256636                             - 7
256637                         - interfaces:
256638                             - test1.example.com:
256639                                 - ip: '192.168.1.8'
256640                                 - type: 'Agent'
256641                                 - port: 92
256642                             - testing2_create:
256643                                 - ip: '192.168.1.9'
256644                                 - dns: 'test2.example.com'
256645                                 - type: 'agent'
256646                                 - main: false
256647                             - testovaci1_ipmi:
256648                                 - ip: '192.168.100.111'
256649                                 - type: 'ipmi'
256650                         - inventory:
256651                             - alias: some alias
256652                             - asset_tag: jlm3937
256653
256654   salt.states.zabbix_hostgroup module
256655       Management of Zabbix host groups.
256656
256657       codeauthor
256658              Jiri Kotlin <jiri.kotlin@ultimum.io>
256659
256660       salt.states.zabbix_hostgroup.absent(name, **kwargs)
256661              Ensures  that  the  host group does not exist, eventually delete
256662              host group.
256663
256664              New in version 2016.3.0.
256665
256666
256667              Parameters
256668
256669                     · name -- name of the host group
256670
256671                     · _connection_user -- Optional - zabbix user (can also be
256672                       set in opts or pillar, see module's docstring)
256673
256674                     · _connection_password -- Optional - zabbix password (can
256675                       also be set in opts or pillar, see module's docstring)
256676
256677                     · _connection_url -- Optional - url  of  zabbix  frontend
256678                       (can  also  be  set  in opts, pillar, see module's doc‐
256679                       string)
256680
256681                 delete_testing_host_group:
256682                     zabbix_hostgroup.absent:
256683                         - name: 'My hostgroup name'
256684
256685       salt.states.zabbix_hostgroup.present(name, **kwargs)
256686              Ensures that the host group exists, eventually creates new  host
256687              group.
256688
256689              New in version 2016.3.0.
256690
256691
256692              Parameters
256693
256694                     · name -- name of the host group
256695
256696                     · _connection_user -- Optional - zabbix user (can also be
256697                       set in opts or pillar, see module's docstring)
256698
256699                     · _connection_password -- Optional - zabbix password (can
256700                       also be set in opts or pillar, see module's docstring)
256701
256702                     · _connection_url  --  Optional  - url of zabbix frontend
256703                       (can also be set in opts,  pillar,  see  module's  doc‐
256704                       string)
256705
256706                 create_testing_host_group:
256707                     zabbix_hostgroup.present:
256708                         - name: 'My hostgroup name'
256709
256710   salt.states.zabbix_mediatype module
256711       Management of Zabbix mediatypes.
256712
256713       codeauthor
256714              Raymond Kuiper <qix@the-wired.net>
256715
256716       salt.states.zabbix_mediatype.absent(name, **kwargs)
256717              Ensures  that  the  mediatype does not exist, eventually deletes
256718              the mediatype.
256719
256720              Parameters
256721
256722                     · name -- name of the mediatype
256723
256724                     · _connection_user -- Optional - zabbix user (can also be
256725                       set in opts or pillar, see module's docstring)
256726
256727                     · _connection_password -- Optional - zabbix password (can
256728                       also be set in opts or pillar, see module's docstring)
256729
256730                     · _connection_url -- Optional - url  of  zabbix  frontend
256731                       (can  also  be  set  in opts, pillar, see module's doc‐
256732                       string)
256733
256734                 delete_mediatype:
256735                     zabbix_mediatype.absent:
256736                         - name: 'Email'
256737
256738       salt.states.zabbix_mediatype.present(name, mediatype, **kwargs)
256739              Creates new mediatype.  NOTE: This function accepts all standard
256740              mediatype properties: keyword argument names differ depending on
256741              your              zabbix              version,              see:
256742              https://www.zabbix.com/documentation/3.0/manual/api/reference/host/object#host_inventory
256743
256744              Parameters
256745
256746                     · name -- name of the mediatype
256747
256748                     · _connection_user -- Optional - zabbix user (can also be
256749                       set in opts or pillar, see module's docstring)
256750
256751                     · _connection_password -- Optional - zabbix password (can
256752                       also be set in opts or pillar, see module's docstring)
256753
256754                     · _connection_url -- Optional - url  of  zabbix  frontend
256755                       (can  also  be  set  in opts, pillar, see module's doc‐
256756                       string)
256757
256758                 make_new_mediatype:
256759                     zabbix_mediatype.present:
256760                         - name: 'Email'
256761                         - mediatype: 0
256762                         - smtp_server: smtp.example.com
256763                         - smtp_hello: zabbix.example.com
256764                         - smtp_email: zabbix@example.com
256765
256766   salt.states.zabbix_template
256767       New in version 2017.7.
256768
256769
256770       Management of Zabbix Template object over Zabbix API.
256771
256772       codeauthor
256773              Jakub Sliva <jakub.sliva@ultimum.io>
256774
256775       salt.states.zabbix_template.absent(name, **kwargs)
256776              Makes the Zabbix Template to be absent (either does not exist or
256777              delete it).
256778
256779              Parameters
256780
256781                     · name -- Zabbix Template name
256782
256783                     · _connection_user -- Optional - zabbix user (can also be
256784                       set in opts or pillar, see module's docstring)
256785
256786                     · _connection_password -- Optional - zabbix password (can
256787                       also be set in opts or pillar, see module's docstring)
256788
256789                     · _connection_url  --  Optional  - url of zabbix frontend
256790                       (can also be set in opts,  pillar,  see  module's  doc‐
256791                       string)
256792
256793                 zabbix-template-absent:
256794                     zabbix_template.absent:
256795                         - name: Ceph OSD
256796
256797       salt.states.zabbix_template.is_present(name, **kwargs)
256798              Check if Zabbix Template already exists.
256799
256800              Parameters
256801
256802                     · name -- Zabbix Template name
256803
256804                     · _connection_user -- Optional - zabbix user (can also be
256805                       set in opts or pillar, see module's docstring)
256806
256807                     · _connection_password -- Optional - zabbix password (can
256808                       also be set in opts or pillar, see module's docstring)
256809
256810                     · _connection_url  --  Optional  - url of zabbix frontend
256811                       (can also be set in opts,  pillar,  see  module's  doc‐
256812                       string)
256813
256814                 does_zabbix-template-exist:
256815                     zabbix_template.is_present:
256816                         - name: Template OS Linux
256817
256818       salt.states.zabbix_template.present(name,                       params,
256819       static_host_list=True, **kwargs)
256820              Creates Zabbix Template object or if differs update it according
256821              defined parameters. See Zabbix API documentation.
256822
256823              Zabbix API version: >3.0
256824
256825              Parameters
256826
256827                     · name -- Zabbix Template name
256828
256829                     · params -- Additional parameters according to Zabbix API
256830                       documentation
256831
256832                     · static_host_list -- If hosts assigned to  the  template
256833                       are  controlled  only  by  this  state  or  can be also
256834                       assigned externally
256835
256836                     · _connection_user -- Optional - zabbix user (can also be
256837                       set in opts or pillar, see module's docstring)
256838
256839                     · _connection_password -- Optional - zabbix password (can
256840                       also be set in opts or pillar, see module's docstring)
256841
256842                     · _connection_url -- Optional - url  of  zabbix  frontend
256843                       (can  also  be  set  in opts, pillar, see module's doc‐
256844                       string)
256845
256846              NOTE:
256847                 If there is a need to get a value from current zabbix  online
256848                 (e.g.  ids of host groups you want the template to be associ‐
256849                 ated with), put a dictionary with two keys "query_object" and
256850                 "query_name"  instead  of the value.  In this example we want
256851                 to create template named "Testing  Template",  assign  it  to
256852                 hostgroup  Templates,  link it to two ceph nodes and create a
256853                 macro.
256854
256855              NOTE:
256856                 IMPORTANT NOTE: Objects (except for template name) are  iden‐
256857                 tified by name (or by other key in some exceptional cases) so
256858                 changing name of object means deleting old one  and  creating
256859                 new one with new ID !!!
256860
256861              NOTE:
256862
256863                 NOT SUPPORTED FEATURES:
256864
256865                        · linked templates
256866
256867                        · trigger dependencies
256868
256869                        · groups and group prototypes for host prototypes
256870
256871              SLS Example:
256872
256873                 zabbix-template-present:
256874                     zabbix_template.present:
256875                         - name: Testing Template
256876                         # Do not touch existing assigned hosts
256877                         # True will detach all other hosts than defined here
256878                         - static_host_list: False
256879                         - params:
256880                             description: Template for Ceph nodes
256881                             groups:
256882                                 # groups must already exist
256883                                 # template must be at least in one hostgroup
256884                                 - groupid:
256885                                     query_object: hostgroup
256886                                     query_name: Templates
256887                             macros:
256888                                 - macro: "{$CEPH_CLUSTER_NAME}"
256889                                   value: ceph
256890                             hosts:
256891                                 # hosts must already exist
256892                                 - hostid:
256893                                     query_object: host
256894                                     query_name: ceph-osd-01
256895                                 - hostid:
256896                                     query_object: host
256897                                     query_name: ceph-osd-02
256898                             # templates:
256899                             # Linked templates - not supported by state module but can be linked manually (will not be touched)
256900
256901                             applications:
256902                                 - name: Ceph OSD
256903                             items:
256904                                 - name: Ceph OSD avg fill item
256905                                   key_: ceph.osd_avg_fill
256906                                   type: 2
256907                                   value_type: 0
256908                                   delay: 60
256909                                   units: '%'
256910                                   description: 'Average fill of OSD'
256911                                   applications:
256912                                       - applicationid:
256913                                           query_object: application
256914                                           query_name: Ceph OSD
256915                             triggers:
256916                                 - description: "Ceph OSD filled more that 90%"
256917                                   expression: "{{'{'}}Testing Template:ceph.osd_avg_fill.last(){{'}'}}>90"
256918                                   priority: 4
256919                             discoveries:
256920                                 - name: Mounted filesystem discovery
256921                                   key_: vfs.fs.discovery
256922                                   type: 0
256923                                   delay: 60
256924                                   itemprototypes:
256925                                       - name: Free disk space on {{'{#'}}FSNAME}
256926                                         key_: vfs.fs.size[{{'{#'}}FSNAME},free]
256927                                         type: 0
256928                                         value_type: 3
256929                                         delay: 60
256930                                         applications:
256931                                             - applicationid:
256932                                                 query_object: application
256933                                                 query_name: Ceph OSD
256934                                   triggerprototypes:
256935                                       - description: "Free disk space is less than 20% on volume {{'{#'}}FSNAME{{'}'}}"
256936                                         expression: "{{'{'}}Testing Template:vfs.fs.size[{{'{#'}}FSNAME},free].last(){{'}'}}<20"
256937                             graphs:
256938                                 - name: Ceph OSD avg fill graph
256939                                   width: 900
256940                                   height: 200
256941                                   graphtype: 0
256942                                   gitems:
256943                                       - color: F63100
256944                                         itemid:
256945                                           query_object: item
256946                                           query_name: Ceph OSD avg fill item
256947                             screens:
256948                                 - name: Ceph
256949                                   hsize: 1
256950                                   vsize: 1
256951                                   screenitems:
256952                                       - x: 0
256953                                         y: 0
256954                                         resourcetype: 0
256955                                         resourceid:
256956                                             query_object: graph
256957                                             query_name: Ceph OSD avg fill graph
256958
256959   salt.states.zabbix_user module
256960       Management of Zabbix users.
256961
256962       codeauthor
256963              Jiri Kotlin <jiri.kotlin@ultimum.io>
256964
256965       salt.states.zabbix_user.absent(name, **kwargs)
256966              Ensures that the user does not exist, eventually delete user.
256967
256968              New in version 2016.3.0.
256969
256970
256971              Parameters
256972
256973                     · name -- user alias
256974
256975                     · _connection_user -- Optional - zabbix user (can also be
256976                       set in opts or pillar, see module's docstring)
256977
256978                     · _connection_password -- Optional - zabbix password (can
256979                       also be set in opts or pillar, see module's docstring)
256980
256981                     · _connection_url  --  Optional  - url of zabbix frontend
256982                       (can also be set in opts,  pillar,  see  module's  doc‐
256983                       string)
256984
256985                 George:
256986                     zabbix_user.absent
256987
256988       salt.states.zabbix_user.admin_password_present(name,     password=None,
256989       **kwargs)
256990
256991              Initial change of Zabbix Admin password to password  taken  from
256992              one of the sources (only the most prioritized one):
256993
256994                     1. 'password' parameter
256995
256996                     2. '_connection_password' parameter
256997
256998                     3. pillar 'zabbix.password' setting
256999
257000              1. Tries  to  log in as Admin with password found in state pass‐
257001                 word parameter or _connection_password or pillar  or  default
257002                 zabbix  password  in  this  precise  order, if any of them is
257003                 present.
257004
257005              2. If one of above passwords matches, it  tries  to  change  the
257006                 password to the most prioritized one.
257007
257008              3. If not able to connect with any password then it fails.
257009
257010              Parameters
257011
257012                     · name -- Just a name of state
257013
257014                     · password -- Optional - desired password for Admin to be
257015                       set
257016
257017                     · _connection_user -- Optional - Ignored  in  this  state
257018                       (always assumed 'Admin')
257019
257020                     · _connection_password -- Optional - zabbix password (can
257021                       also be set in opts or pillar, see module's docstring)
257022
257023                     · _connection_url -- Optional - url  of  zabbix  frontend
257024                       (can  also  be  set  in opts, pillar, see module's doc‐
257025                       string)
257026
257027                 # password taken from pillar or _connection_password
257028                 zabbix-admin-password:
257029                     zabbix_user.admin_password_present
257030
257031                 # directly set password
257032                 zabbix-admin-password:
257033                     zabbix_user.admin_password_present:
257034                         - password: SECRET_PASS
257035
257036       salt.states.zabbix_user.present(alias,  passwd,  usrgrps,  medias=None,
257037       password_reset=False, **kwargs)
257038              Ensures  that  the  user  exists,  eventually  creates new user.
257039              NOTE: use argument firstname instead of name to not mess  values
257040              with name from salt sls.
257041
257042              New in version 2016.3.0.
257043
257044
257045              Parameters
257046
257047                     · alias -- user alias
257048
257049                     · passwd -- user's password
257050
257051                     · usrgrps -- user groups to add the user to
257052
257053                     · medias -- Optional - user's medias to create
257054
257055                     · password_reset  --  whether or not to reset password at
257056                       update
257057
257058                     · _connection_user -- Optional - zabbix user (can also be
257059                       set in opts or pillar, see module's docstring)
257060
257061                     · _connection_password -- Optional - zabbix password (can
257062                       also be set in opts or pillar, see module's docstring)
257063
257064                     · _connection_url -- Optional - url  of  zabbix  frontend
257065                       (can  also  be  set  in opts, pillar, see module's doc‐
257066                       string)
257067
257068                     · firstname -- string with firstname  of  the  user,  use
257069                       'firstname'  instead  of  'name'  parameter to not mess
257070                       with value supplied from Salt sls file.
257071
257072                 make_user:
257073                     zabbix_user.present:
257074                         - alias: George
257075                         - passwd: donottellanyonE@456x
257076                         - password_reset: True
257077                         - usrgrps:
257078                             - 13
257079                             - 7
257080                         - medias:
257081                             - me@example.com:
257082                                 - mediatype: mail
257083                                 - period: '1-7,00:00-24:00'
257084                                 - severity: NIWAHD
257085                             - make_jabber:
257086                                 - active: true
257087                                 - mediatype: jabber
257088                                 - period: '1-5,08:00-19:00'
257089                                 - sendto: jabbera@example.com
257090                             - text_me_morning_disabled:
257091                                 - active: false
257092                                 - mediatype: sms
257093                                 - period: '1-5,09:30-10:00'
257094                                 - severity: D
257095                                 - sendto: '+42032132588568'
257096
257097   salt.states.zabbix_usergroup module
257098       Management of Zabbix user groups.
257099
257100       codeauthor
257101              Jiri Kotlin <jiri.kotlin@ultimum.io>
257102
257103       salt.states.zabbix_usergroup.absent(name, **kwargs)
257104              Ensures that the user group does not  exist,  eventually  delete
257105              user group.
257106
257107              New in version 2016.3.0.
257108
257109
257110              Parameters
257111
257112                     · name -- name of the user group
257113
257114                     · _connection_user -- Optional - zabbix user (can also be
257115                       set in opts or pillar, see module's docstring)
257116
257117                     · _connection_password -- Optional - zabbix password (can
257118                       also be set in opts or pillar, see module's docstring)
257119
257120                     · _connection_url  --  Optional  - url of zabbix frontend
257121                       (can also be set in opts,  pillar,  see  module's  doc‐
257122                       string)
257123
257124                 delete_thai_monks_usrgrp:
257125                     zabbix_usergroup.absent:
257126                         - name: 'Thai monks'
257127
257128       salt.states.zabbix_usergroup.present(name, **kwargs)
257129              Creates  new  user group.  NOTE: This function accepts all stan‐
257130              dard  user  group  properties:  keyword  argument  names  differ
257131              depending       on      your      zabbix      version,      see:
257132              https://www.zabbix.com/documentation/2.0/manual/appendix/api/usergroup/definitions#user_group
257133
257134              New in version 2016.3.0.
257135
257136
257137              Parameters
257138
257139                     · name -- name of the user group
257140
257141                     · _connection_user -- Optional - zabbix user (can also be
257142                       set in opts or pillar, see module's docstring)
257143
257144                     · _connection_password -- Optional - zabbix password (can
257145                       also be set in opts or pillar, see module's docstring)
257146
257147                     · _connection_url  --  Optional  - url of zabbix frontend
257148                       (can also be set in opts,  pillar,  see  module's  doc‐
257149                       string)
257150
257151                 make_new_thai_monks_usergroup:
257152                     zabbix_usergroup.present:
257153                         - name: 'Thai monks'
257154                         - gui_access: 1
257155                         - debug_mode: 0
257156                         - users_status: 0
257157
257158   salt.states.zabbix_valuemap
257159       New in version 2017.7.
257160
257161
257162       Management of Zabbix Valuemap object over Zabbix API.
257163
257164       codeauthor
257165              Jakub Sliva <jakub.sliva@ultimum.io>
257166
257167       salt.states.zabbix_valuemap.absent(name, **kwargs)
257168              Makes  the  Zabbix Value map to be absent (either does not exist
257169              or delete it).
257170
257171              Parameters
257172
257173                     · name -- Zabbix Value map name
257174
257175                     · _connection_user -- Optional - zabbix user (can also be
257176                       set in opts or pillar, see module's docstring)
257177
257178                     · _connection_password -- Optional - zabbix password (can
257179                       also be set in opts or pillar, see module's docstring)
257180
257181                     · _connection_url -- Optional - url  of  zabbix  frontend
257182                       (can  also  be  set  in opts, pillar, see module's doc‐
257183                       string)
257184
257185                 zabbix-valuemap-absent:
257186                     zabbix_valuemap.absent:
257187                         - name: Value map name
257188
257189       salt.states.zabbix_valuemap.present(name, params, **kwargs)
257190              Creates Zabbix Value map object or if differs update it  accord‐
257191              ing defined parameters
257192
257193              Parameters
257194
257195                     · name -- Zabbix Value map name
257196
257197                     · params -- Definition of the Zabbix Value map
257198
257199                     · _connection_user -- Optional - zabbix user (can also be
257200                       set in opts or pillar, see module's docstring)
257201
257202                     · _connection_password -- Optional - zabbix password (can
257203                       also be set in opts or pillar, see module's docstring)
257204
257205                     · _connection_url  --  Optional  - url of zabbix frontend
257206                       (can also be set in opts,  pillar,  see  module's  doc‐
257207                       string)
257208
257209                 zabbix-valuemap-present:
257210                     zabbix_valuemap.present:
257211                         - name: Number mapping
257212                         - params:
257213                             mappings:
257214                                 - value: 1
257215                                   newvalue: one
257216                                 - value: 2
257217                                   newvalue: two
257218
257219   salt.states.zcbuildout
257220   Management of zc.buildout
257221       This   module   is   inspired   from   minitage's   buildout  maker  (‐
257222       https://github.com/minitage/minitage/blob/master/src/minitage/core/mak
257223       ers/buildout.py)
257224
257225       New in version 2016.3.0.
257226
257227
257228       NOTE:
257229          This state module is beta; the API is subject to change and no prom‐
257230          ise as to performance or functionality is yet present
257231
257232   Available Functions
257233       · built
257234
257235            installed1
257236              buildout.installed:
257237                - name: /path/to/buildout
257238
257239            installed2
257240              buildout.installed:
257241                - name: /path/to/buildout
257242                - parts:
257243                  - a
257244                  - b
257245                - python: /path/to/pythonpath/bin/python
257246                - unless: /bin/test_something_installed
257247                - onlyif: /bin/test_else_installed
257248
257249       salt.states.zcbuildout.installed(name,          config=u'buildout.cfg',
257250       quiet=False,    parts=None,   user=None,   env=(),   buildout_ver=None,
257251       test_release=False, distribute=None, new_st=None,  offline=False,  new‐
257252       est=False,       python='/home/ch3ll/virtual-env/salt-py2/bin/python2',
257253       debug=False,  verbose=False,  unless=None,  onlyif=None,  use_vt=False,
257254       loglevel=u'debug', **kwargs)
257255              Install buildout in a specific directory
257256
257257              It is a thin wrapper to modules.buildout.buildout
257258
257259              name   directory to execute in
257260
257261              quiet
257262                 do not output console & logs
257263
257264              config buildout config to use (default: buildout.cfg)
257265
257266              parts  specific buildout parts to run
257267
257268              user   user used to run buildout as
257269
257270                     New in version 2014.1.4.
257271
257272
257273              env    environment variables to set when running
257274
257275              buildout_ver
257276                     force a specific buildout version (1 | 2)
257277
257278              test_release
257279                     buildout accept test release
257280
257281              new_st Forcing use of setuptools >= 0.7
257282
257283              distribute
257284                     use distribute over setuptools if possible
257285
257286              offline
257287                     does buildout run offline
257288
257289              python python to use
257290
257291              debug  run buildout with -D debug flag
257292
257293              onlyif Only execute cmd if statement on the host return 0
257294
257295              unless Do not execute cmd if statement on the host return 0
257296
257297              newest run buildout in newest mode
257298
257299              verbose
257300                     run buildout in verbose mode (-vvvvv)
257301
257302              use_vt Use the new salt VT to stream output [experimental]
257303
257304              loglevel
257305                     loglevel for buildout commands
257306
257307   salt.states.zenoss
257308       State to manage monitoring in Zenoss.
257309
257310       New in version 2016.3.0.
257311
257312
257313       This state module depends on the 'zenoss' Salt execution module.
257314
257315       Allows  for  setting a state of minions in Zenoss using the Zenoss API.
257316       Currently Zenoss 4.x and 5.x are supported.
257317
257318          enable_monitoring:
257319            zenoss.monitored:
257320              - name: web01.example.com
257321              - device_class: /Servers/Linux
257322              - collector: localhost
257323              - prod_state: 1000
257324
257325       salt.states.zenoss.monitored(name,      device_class=None,      collec‐
257326       tor=u'localhost', prod_state=None)
257327              Ensure  a device is monitored. The 'name' given will be used for
257328              Zenoss device name and should be resolvable.
257329
257330                 enable_monitoring:
257331                   zenoss.monitored:
257332                     - name: web01.example.com
257333                     - device_class: /Servers/Linux
257334                     - collector: localhost
257335                     - prod_state: 1000
257336
257337   salt.states.zk_concurrency
257338   Control concurrency of steps within state execution using zookeeper
257339       depends
257340              kazoo
257341
257342       configuration
257343              See salt.modules.zookeeper for setup instructions.
257344
257345       This module allows you to "wrap" a state's execution  with  concurrency
257346       control.   This  is useful to protect against all hosts executing high‐
257347       state simultaneously if your services don't all HUP restart. The common
257348       way  of  protecting  against  this  is  to  run in batch mode, but that
257349       doesn't protect from another person running the same batch command (and
257350       thereby having 2x the number of nodes deploying at once).
257351
257352       This  module will bock while acquiring a slot, meaning that however the
257353       command gets called it will coordinate with zookeeper to ensure that no
257354       more than max_concurrency steps are executing with a single path.
257355
257356          acquire_lock:
257357            zk_concurrency.lock:
257358              - name: /trafficeserver
257359              - zk_hosts: 'zookeeper:2181'
257360              - max_concurrency: 4
257361              - prereq:
257362                  - service: trafficserver
257363
257364          trafficserver:
257365            service.running:
257366              - watch:
257367                - file: /etc/trafficserver/records.config
257368
257369          /etc/trafficserver/records.config:
257370            file.managed:
257371              - source: salt://records.config
257372
257373          release_lock:
257374            zk_concurrency.unlock:
257375              - name: /trafficserver
257376              - require:
257377                  - service: trafficserver
257378
257379       This  example would allow the file state to change, but would limit the
257380       concurrency of the trafficserver service restart to 4.
257381
257382       salt.states.zk_concurrency.lock(name,  zk_hosts=None,  identifier=None,
257383       max_concurrency=1,  timeout=None,  ephemeral_lease=False, profile=None,
257384       scheme=None, username=None, password=None, default_acl=None)
257385              Block state execution until you are able to get the lock (or hit
257386              the timeout)
257387
257388       salt.states.zk_concurrency.min_party(name,  zk_hosts, min_nodes, block‐
257389       ing=False,  profile=None,  scheme=None,  username=None,  password=None,
257390       default_acl=None)
257391              Ensure that there are min_nodes in the party at name, optionally
257392              blocking if not available.
257393
257394       salt.states.zk_concurrency.unlock(name, zk_hosts=None, identifier=None,
257395       max_concurrency=1,  ephemeral_lease=False,  profile=None,  scheme=None,
257396       username=None, password=None, default_acl=None)
257397              Remove lease from semaphore.
257398
257399   salt.states.zfs
257400       States for managing zfs datasets
257401
257402       maintainer
257403              Jorge Schrauwen <sjorge@blackdot.be>
257404
257405       maturity
257406              new
257407
257408       depends
257409              salt.utils.zfs, salt.modules.zfs
257410
257411       platform
257412              smartos, illumos, solaris, freebsd, linux
257413
257414       New in version 2016.3.0.
257415
257416
257417       Changed in version 2018.3.1: Big refactor  to  remove  duplicate  code,
257418       better type converions and improved consistancy in output.
257419
257420
257421          test/shares/yuki:
257422            zfs.filesystem_present:
257423              - create_parent: true
257424              - properties:
257425                  quota: 16G
257426
257427          test/iscsi/haruhi:
257428            zfs.volume_present:
257429              - create_parent: true
257430              - volume_size: 16M
257431              - sparse: true
257432              - properties:
257433                  readonly: on
257434
257435          test/shares/yuki@frozen:
257436            zfs.snapshot_present
257437
257438          moka_origin:
257439            zfs.hold_present:
257440              - snapshot: test/shares/yuki@frozen
257441
257442          test/shares/moka:
257443            zfs.filesystem_present:
257444              - cloned_from: test/shares/yuki@frozen
257445
257446          test/shares/moka@tsukune:
257447            zfs.snapshot_absent
257448
257449       salt.states.zfs.bookmark_absent(name, force=False, recursive=False)
257450              ensure bookmark is absent on the system
257451
257452              name   string name of snapshot
257453
257454              force  boolean  try  harder  to destroy the dataset (zfs destroy
257455                     -f)
257456
257457              recursive
257458                     boolean also destroy all the child datasets (zfs  destroy
257459                     -r)
257460
257461       salt.states.zfs.bookmark_present(name, snapshot)
257462              ensure bookmark exists
257463
257464              name   string name of bookmark
257465
257466              snapshot
257467                     string name of snapshot
257468
257469       salt.states.zfs.filesystem_absent(name, force=False, recursive=False)
257470              ensure filesystem is absent on the system
257471
257472              name   string name of filesystem
257473
257474              force  boolean  try  harder  to destroy the dataset (zfs destroy
257475                     -f)
257476
257477              recursive
257478                     boolean also destroy all the child datasets (zfs  destroy
257479                     -r)
257480
257481              WARNING:
257482                 If a volume with name exists, this state will succeed without
257483                 destroying the volume  specified  by  name.  This  module  is
257484                 dataset type sensitive.
257485
257486       salt.states.zfs.filesystem_present(name,  create_parent=False,  proper‐
257487       ties=None, cloned_from=None)
257488              ensure filesystem exists and has properties set
257489
257490              name   string name of filesystem
257491
257492              create_parent
257493                     boolean creates all  the  non-existing  parent  datasets.
257494                     any  property  specified on the command line using the -o
257495                     option is ignored.
257496
257497              cloned_from
257498                     string name of snapshot to clone
257499
257500              properties
257501                     dict additional zfs properties (-o)
257502
257503              NOTE:
257504                 cloned_from is only use if the filesystem does not exist yet,
257505                 when  cloned_from  is set after the filesystem exists it will
257506                 be ignored.
257507
257508              NOTE:
257509                 Properties do not get cloned, if you specify  the  properties
257510                 in the state file they will be applied on a subsequent run.
257511
257512       salt.states.zfs.hold_absent(name, snapshot, recursive=False)
257513              ensure hold is absent on the system
257514
257515              name   string name of hold
257516
257517              snapshot
257518                     string name of snapshot
257519
257520              recursive
257521                     boolean recursively releases a hold with the given tag on
257522                     the snapshots of all descendent file systems.
257523
257524       salt.states.zfs.hold_present(name, snapshot, recursive=False)
257525              ensure hold is present on the system
257526
257527              name   string name of holdt
257528
257529              snapshot
257530                     string name of snapshot
257531
257532              recursive
257533                     boolean recursively add hold with the given  tag  on  the
257534                     snapshots of all descendent file systems.
257535
257536       salt.states.zfs.promoted(name)
257537              ensure a dataset is not a clone
257538
257539              name   string name of fileset or volume
257540
257541              WARNING:
257542                 only  one  dataset  can be the origin, if you promote a clone
257543                 the original will now point to the promoted dataset
257544
257545       salt.states.zfs.scheduled_snapshot(name, prefix, recursive=True, sched‐
257546       ule=None)
257547              maintain a set of snapshots based on a schedule
257548
257549              name   string name of filesystem or volume
257550
257551              prefix string  prefix  for the snapshots e.g. 'test' will result
257552                     in snapshots being named 'test-yyyymmdd_hhmm'
257553
257554              recursive
257555                     boolean create snapshots for all children also
257556
257557              schedule
257558                     dict dict holding the schedule, the  following  keys  are
257559                     available (minute, hour, day, month, and year) by default
257560                     all are set to 0 the value indicated the number of  snap‐
257561                     shots of that type to keep around.
257562
257563              WARNING:
257564                 snapshots  will  only  be  created  and pruned every time the
257565                 state runs.  a schedule must be setup  to  automatically  run
257566                 the  state.  this  means  that if you run the state daily the
257567                 hourly snapshot will only be made once per day!
257568
257569              Changed in version 2018.3.0: switched to localtime  from  gmtime
257570              so times now take into account timezones.
257571
257572
257573       salt.states.zfs.snapshot_absent(name, force=False, recursive=False)
257574              ensure snapshot is absent on the system
257575
257576              name   string name of snapshot
257577
257578              force  boolean  try  harder  to destroy the dataset (zfs destroy
257579                     -f)
257580
257581              recursive
257582                     boolean also destroy all the child datasets (zfs  destroy
257583                     -r)
257584
257585       salt.states.zfs.snapshot_present(name,     recursive=False,     proper‐
257586       ties=None)
257587              ensure snapshot exists and has properties set
257588
257589              name   string name of snapshot
257590
257591              recursive
257592                     boolean recursively create snapshots  of  all  descendent
257593                     datasets
257594
257595              properties
257596                     dict additional zfs properties (-o)
257597
257598       salt.states.zfs.volume_absent(name, force=False, recursive=False)
257599              ensure volume is absent on the system
257600
257601              name   string name of volume
257602
257603              force  boolean  try  harder  to destroy the dataset (zfs destroy
257604                     -f)
257605
257606              recursive
257607                     boolean also destroy all the child datasets (zfs  destroy
257608                     -r)
257609
257610              WARNING:
257611                 If  a  filesystem  with  name exists, this state will succeed
257612                 without destroying the filesystem  specified  by  name.  This
257613                 module is dataset type sensitive.
257614
257615       salt.states.zfs.volume_present(name,  volume_size,  sparse=False,  cre‐
257616       ate_parent=False, properties=None, cloned_from=None)
257617              ensure volume exists and has properties set
257618
257619              name   string name of volume
257620
257621              volume_size
257622                     string size of volume
257623
257624              sparse boolean create sparse volume
257625
257626              create_parent
257627                     boolean creates all  the  non-existing  parent  datasets.
257628                     any  property  specified on the command line using the -o
257629                     option is ignored.
257630
257631              cloned_from
257632                     string name of snapshot to clone
257633
257634              properties
257635                     dict additional zfs properties (-o)
257636
257637              NOTE:
257638                 cloned_from is only use if the volume  does  not  exist  yet,
257639                 when  cloned_from  is  set after the volume exists it will be
257640                 ignored.
257641
257642              NOTE:
257643                 Properties do not get cloned, if you specify  the  properties
257644                 in the state file they will be applied on a subsequent run.
257645
257646                 volume_size  is  considered  a property, so the volume's size
257647                 will be corrected when the properties get updated if it  dif‐
257648                 fers from the original volume.
257649
257650                 The sparse parameter is ignored when using cloned_from.
257651
257652   salt.states.zone
257653       Management of Solaris Zones
257654
257655       maintainer
257656              Jorge Schrauwen <sjorge@blackdot.be>
257657
257658       maturity
257659              new
257660
257661       depends
257662              salt.modules.zoneadm, salt.modules.zonecfg
257663
257664       platform
257665              solaris
257666
257667       New in version 2017.7.0.
257668
257669
257670       Below are some examples of how to use this state.  Lets start with cre‐
257671       ating a zone and installing it.
257672
257673          omipkg1_configuration:
257674            zone.present:
257675              - name: omipkg1
257676              - brand: ipkg
257677              - zonepath: /zones/omipkg1
257678              - properties:
257679                - autoboot: true
257680                - ip-type: exclusive
257681                - cpu-shares: 50
257682              - resources:
257683                - attr:
257684                  - name: owner
257685                  - value: Jorge Schrauwen
257686                  - type: string
257687                - attr:
257688                  - name: description
257689                  - value: OmniOS ipkg zone for testing
257690                  - type: string
257691                - capped-memory:
257692                  - physical: 64M
257693          omipkg1_installation:
257694            zone.installed:
257695              - name: omipkg1
257696              - require:
257697                  - zone: omipkg1_configuration
257698          omipkg1_running:
257699            zone.booted:
257700              - name: omipkg1
257701              - require:
257702                  - zone: omipkg1_installation
257703
257704       A zone without network access is not very useful. We could  update  the
257705       zone.present  state  in the example above to add a network interface or
257706       we could use a separate state for this.
257707
257708          omipkg1_network:
257709            zone.resource_present:
257710              - name: omipkg1
257711              - resource_type: net
257712              - resource_selector_property: mac-addr
257713              - resource_selector_value: "02:08:20:a2:a3:10"
257714              - physical: znic1
257715              - require:
257716                  - zone: omipkg1_configuration
257717
257718       Since this is a single tenant system  having  the  owner  attribute  is
257719       pointless.  Let's remove that attribute.
257720
257721       NOTE:
257722          The  following state run the omipkg1_configuration state will add it
257723          again!  If the entire configuration is managed it would be better to
257724          add  resource_prune  and  optionally  the resource_selector_property
257725          properties to the resource.
257726
257727          omipkg1_strip_owner:
257728            zone.resource_present:
257729              - name: omipkg1
257730              - resource_type: attr
257731              - resource_selector_property: name
257732              - resource_selector_value: owner
257733              - require:
257734                  - zone: omipkg1_configuration
257735
257736       Let's bump the zone's CPU shares a bit.
257737
257738       NOTE:
257739          The following state run the omipkg1_configuration state will set  it
257740          to  50  again.   Update the entire zone configuration is managed you
257741          should update it there instead.
257742
257743          omipkg1_more_cpu:
257744            zone.property_present:
257745              - name: omipkg1
257746              - property: cpu-shares
257747              - value: 100
257748
257749       Or we can remove the limit altogether!
257750
257751       NOTE:
257752          The following state run the omipkg1_configuration state will set  it
257753          to  50  again.   Update the entire zone configuration is managed you
257754          should set the property to None (nothing after the :) instead.
257755
257756          omipkg1_no_cpu:
257757            zone.property_absent:
257758              - name: omipkg1
257759              - property: cpu-shares
257760
257761       salt.states.zone.absent(name, uninstall=False)
257762              Ensure a zone is absent
257763
257764              name   string name of the zone
257765
257766              uninstall
257767                     boolean when true, uninstall  instead  of  detaching  the
257768                     zone first.
257769
257770       salt.states.zone.attached(name, force=False)
257771              Ensure zone is attached
257772
257773              name   string name of the zone
257774
257775              force  boolean force attach the zone
257776
257777       salt.states.zone.booted(name, single=False)
257778              Ensure zone is booted
257779
257780              name   string name of the zone
257781
257782              single boolean boot in single usermode
257783
257784       salt.states.zone.detached(name)
257785              Ensure zone is detached
257786
257787              name   string name of the zone
257788
257789       salt.states.zone.export(name, path, replace=False)
257790              Export a zones configuration
257791
257792              name   string name of the zone
257793
257794              path   string path of file to export too.
257795
257796              replace
257797                     boolean replace the file if it exists
257798
257799       salt.states.zone.halted(name, graceful=True)
257800              Ensure zone is halted
257801
257802              name   string name of the zone
257803
257804              graceful
257805                     boolean use shutdown instead of halt if true
257806
257807       salt.states.zone.import_(name,  path,  mode=u'import', nodataset=False,
257808       brand_opts=None)
257809              Import a zones configuration
257810
257811              name   string name of the zone
257812
257813              path   string path of the configuration file to import
257814
257815              mode   string either import, install, or attach
257816
257817              nodataset
257818                     boolean do not create a ZFS file system
257819
257820              brand_opts
257821                     boolean brand specific options to pass
257822
257823              NOTE:
257824                 The mode argument can be set to import, install,  or  attach.
257825                 import:  will  only  import  the  configuration install: will
257826                 import and then try to install the zone attach:  will  import
257827                 and then try to attach of the zone
257828
257829                 omipkg1:
257830                   zone.import:
257831                     - path: /foo/bar/baz
257832
257833       salt.states.zone.installed(name, nodataset=False, brand_opts=None)
257834              Ensure zone is installed
257835
257836              name   string name of the zone
257837
257838              nodataset
257839                     boolean do not create a ZFS file system
257840
257841              brand_opts
257842                     boolean brand specific options to pass
257843
257844       salt.states.zone.present(name,    brand,   zonepath,   properties=None,
257845       resources=None)
257846              Ensure a zone with certain properties and resources
257847
257848              name   string name of the zone
257849
257850              brand  string brand of the zone
257851
257852              zonepath
257853                     string path of the zone
257854
257855              properties
257856                     list of key-value pairs dict of properties
257857
257858              resources
257859                     list of key-value pairs dict of resources
257860
257861              NOTE:
257862                 If the zone does not exist it will not be installed.  You can
257863                 use the `zone.installed` state for this.
257864
257865              NOTE:
257866
257867                 Default resource selectors:
257868
257869                        · fs: dir
257870
257871                        · net: mac-addr
257872
257873                        · device: match
257874
257875                        · rctl: name
257876
257877                        · attr: name
257878
257879                        · dataset: name
257880
257881                        · admin: user
257882
257883              WARNING:
257884                 Properties  and  resource  will  not be removed when they are
257885                 absent from the state!
257886
257887                 For properties, simple set them to `None`.
257888
257889                 For resources, add the `resource_prune` property and  set  it
257890                 to  `True`.  Also specify the `resource_selector_property` if
257891                 the default is not the one you want.
257892
257893       salt.states.zone.property_absent(name, property)
257894              Ensure property is absent
257895
257896              name   string name of the zone
257897
257898              property
257899                     string name of property
257900
257901              NOTE:
257902                 This does a zoneacfg clear call. So the property may be reset
257903                 to  a default value!  Does has the side effect of always hav‐
257904                 ing to be called.
257905
257906       salt.states.zone.property_present(name, property, value)
257907              Ensure property has a certain value
257908
257909              name   string name of the zone
257910
257911              property
257912                     string name of property
257913
257914              value  string value of property
257915
257916       salt.states.zone.resource_absent(name,  resource_type,  resource_selec‐
257917       tor_property, resource_selector_value)
257918              Ensure resource is absent
257919
257920              name   string name of the zone
257921
257922              resource_type
257923                     string type of resource
257924
257925              resource_selector_property
257926                     string unique resource identifier
257927
257928              resource_selector_value
257929                     string value for resource selection
257930
257931              WARNING:
257932                 Both  resource_selector_property  and resource_selector_value
257933                 must be provided, some properties  like  `name`  are  already
257934                 reserved by salt in there states.
257935
257936              NOTE:
257937                 You    can    set    both    resource_selector_property   and
257938                 resource_selector_value to None for  resources  that  do  not
257939                 require them.
257940
257941       salt.states.zone.resource_present(name,  resource_type, resource_selec‐
257942       tor_property, resource_selector_value, **kwargs)
257943              Ensure resource exists with provided properties
257944
257945              name   string name of the zone
257946
257947              resource_type
257948                     string type of resource
257949
257950              resource_selector_property
257951                     string unique resource identifier
257952
257953              resource_selector_value
257954                     string value for resource selection
257955
257956              kwargs string|int|...  resource properties
257957
257958              WARNING:
257959                 Both resource_selector_property  and  resource_selector_value
257960                 must  be  provided,  some  properties  like  name are already
257961                 reserved by salt in states.
257962
257963              NOTE:
257964                 You   can    set    both    resource_selector_property    and
257965                 resource_selector_value  to  None  for  resources that do not
257966                 require them.
257967
257968       salt.states.zone.uninstalled(name)
257969              Ensure zone is uninstalled
257970
257971              name   string name of the zone
257972
257973   salt.states.zookeeper
257974       depends
257975              kazoo
257976
257977       configuration
257978              See salt.modules.zookeeper for setup instructions.
257979
257980   ACLS
257981       For more information about acls, please checkout the  kazoo  documenta‐
257982       tion.
257983
257984       http://kazoo.readthedocs.io/en/latest/api/security.html#kazoo.security.make_digest_acl
257985
257986       The following options can be included in the acl dictionary:
257987
257988          param username
257989                 Username to use for the ACL.
257990
257991          param password
257992                 A plain-text password to hash.
257993
257994          param write
257995                 Write permission.
257996
257997          type write
257998                 bool
257999
258000          param create
258001                 Create permission.
258002
258003          type create
258004                 bool
258005
258006          param delete
258007                 Delete permission.
258008
258009          type delete
258010                 bool
258011
258012          param admin
258013                 Admin permission.
258014
258015          type admin
258016                 bool
258017
258018          param all
258019                 All permissions.
258020
258021          type all
258022                 bool
258023
258024       salt.states.zookeeper.absent(name,  version=-1,  recursive=False,  pro‐
258025       file=None,   hosts=None,   scheme=None,  username=None,  password=None,
258026       default_acl=None)
258027              Make sure znode is absent
258028
258029              name   path to znode
258030
258031              version
258032                     Specify the version which should be deleted  Default:  -1
258033                     (always match)
258034
258035              recursive
258036                     Boolean  to  indicate  if  children should be recursively
258037                     deleted Default: False
258038
258039              profile
258040                     Configured  Zookeeper  profile   to   authenticate   with
258041                     (Default: None)
258042
258043              hosts  Lists of Zookeeper Hosts (Default: '127.0.0.1:2181)
258044
258045              scheme Scheme to authenticate with (Default: 'digest')
258046
258047              username
258048                     Username to authenticate (Default: None)
258049
258050              password
258051                     Password to authenticate (Default: None)
258052
258053              default_acl
258054                     Default  acls to assign if a node is created in this con‐
258055                     nection (Default: None)
258056
258057                 delete znode:
258058                   zookeeper.absent:
258059                     - name: /test
258060                     - recursive: True
258061
258062       salt.states.zookeeper.acls(name,   acls,   version=-1,    profile=None,
258063       hosts=None,       scheme=None,       username=None,      password=None,
258064       default_acl=None)
258065              Update acls on a znode
258066
258067              name   path to znode
258068
258069              acls   list of acl dictionaries to set on znode
258070
258071              version
258072                     Specify the version which should be deleted  Default:  -1
258073                     (always match)
258074
258075              profile
258076                     Configured   Zookeeper   profile   to  authenticate  with
258077                     (Default: None)
258078
258079              hosts  Lists of Zookeeper Hosts (Default: '127.0.0.1:2181)
258080
258081              scheme Scheme to authenticate with (Default: 'digest')
258082
258083              username
258084                     Username to authenticate (Default: None)
258085
258086              password
258087                     Password to authenticate (Default: None)
258088
258089              default_acl
258090                     Default acls to assign if a node is created in this  con‐
258091                     nection (Default: None)
258092
258093                 update acls:
258094                   zookeeper.acls:
258095                     - name: /test/name
258096                     - acls:
258097                       - username: daniel
258098                         password: test
258099                         all: True
258100                       - username: gtmanfred
258101                         password: test
258102                         all: True
258103
258104       salt.states.zookeeper.present(name,  value, acls=None, ephemeral=False,
258105       sequence=False, makepath=False, version=-1,  profile=None,  hosts=None,
258106       scheme=None, username=None, password=None, default_acl=None)
258107              Make sure znode is present in the correct state with the correct
258108              acls
258109
258110              name   path to znode
258111
258112              value  value znode should be set to
258113
258114              acls   list of acl dictionaries to set on znode (make  sure  the
258115                     ones salt is connected with are included) Default: None
258116
258117              ephemeral
258118                     Boolean  to indicate if ephemeral znode should be created
258119                     Default: False
258120
258121              sequence
258122                     Boolean to indicate if znode  path  is  suffixed  with  a
258123                     unique index Default: False
258124
258125              makepath
258126                     Boolean to indicate if the parent paths should be created
258127                     Default: False
258128
258129              version
258130                     For updating, specify the version which should be updated
258131                     Default: -1 (always match)
258132
258133              profile
258134                     Configured   Zookeeper   profile   to  authenticate  with
258135                     (Default: None)
258136
258137              hosts  Lists of Zookeeper Hosts (Default: '127.0.0.1:2181)
258138
258139              scheme Scheme to authenticate with (Default: 'digest')
258140
258141              username
258142                     Username to authenticate (Default: None)
258143
258144              password
258145                     Password to authenticate (Default: None)
258146
258147              default_acl
258148                     Default acls to assign if a node is created in this  con‐
258149                     nection (Default: None)
258150
258151                 add znode:
258152                   zookeeper.present:
258153                     - name: /test/name
258154                     - value: gtmanfred
258155                     - makepath: True
258156
258157                 update znode:
258158                   zookeeper.present:
258159                     - name: /test/name
258160                     - value: daniel
258161                     - acls:
258162                       - username: daniel
258163                         password: test
258164                         read: true
258165                       - username: gtmanfred
258166                         password: test
258167                         read: true
258168                         write: true
258169                         create: true
258170                         delete: true
258171                         admin: true
258172                     - makepath: True
258173
258174   salt.states.zpool
258175       States for managing zpools
258176
258177       maintainer
258178              Jorge Schrauwen <sjorge@blackdot.be>
258179
258180       maturity
258181              new
258182
258183       depends
258184              salt.utils.zfs, salt.modules.zpool
258185
258186       platform
258187              smartos, illumos, solaris, freebsd, linux
258188
258189       New in version 2016.3.0.
258190
258191
258192       Changed  in  version  2018.3.1:  Big refactor to remove duplicate code,
258193       better type converions and improved consistancy in output.
258194
258195
258196          oldpool:
258197            zpool.absent:
258198              - export: true
258199
258200          newpool:
258201            zpool.present:
258202              - config:
258203                  import: false
258204                  force: true
258205              - properties:
258206                  comment: salty storage pool
258207              - layout:
258208                  - mirror:
258209                    - /dev/disk0
258210                    - /dev/disk1
258211                  - mirror:
258212                    - /dev/disk2
258213                    - /dev/disk3
258214
258215          partitionpool:
258216            zpool.present:
258217              - config:
258218                  import: false
258219                  force: true
258220              - properties:
258221                  comment: disk partition salty storage pool
258222                  ashift: '12'
258223                  feature@lz4_compress: enabled
258224              - filesystem_properties:
258225                  compression: lz4
258226                  atime: on
258227                  relatime: on
258228              - layout:
258229                  - /dev/disk/by-uuid/3e43ce94-77af-4f52-a91b-6cdbb0b0f41b
258230
258231          simplepool:
258232            zpool.present:
258233              - config:
258234                  import: false
258235                  force: true
258236              - properties:
258237                  comment: another salty storage pool
258238              - layout:
258239                  - /dev/disk0
258240                  - /dev/disk1
258241
258242       WARNING:
258243          The layout will never be updated, it will only be used  at  time  of
258244          creation.  It's a whole lot of work to figure out if a devices needs
258245          to be detached, removed, etc. This is best done by the sysadmin on a
258246          case per case basis.
258247
258248          Filesystem  properties  are also not updated, this should be managed
258249          by the zfs state module.
258250
258251       salt.states.zpool.absent(name, export=False, force=False)
258252              ensure storage pool is absent on the system
258253
258254              name   string name of storage pool
258255
258256              export boolean export instread of destroy the zpool if present
258257
258258              force  boolean force destroy or export
258259
258260       salt.states.zpool.present(name,   properties=None,   filesystem_proper‐
258261       ties=None, layout=None, config=None)
258262              ensure storage pool is present on the system
258263
258264              name   string name of storage pool
258265
258266              properties
258267                     dict  optional  set  of properties to set for the storage
258268                     pool
258269
258270              filesystem_properties
258271                     dict optional set of filesystem properties to set for the
258272                     storage pool (creation only)
258273
258274              layout: dict
258275                     disk  layout  to use if the pool does not exist (creation
258276                     only)
258277
258278              config dict fine grain control over this state
258279
258280              NOTE:
258281
258282                 The following configuration properties can be toggled in  the
258283                 config parameter.
258284
258285                        · import (true) - try to import the pool before creat‐
258286                          ing it if absent
258287
258288                        · import_dirs (None) - specify additional locations to
258289                          scan for devices on import (comma-seperated)
258290
258291                        · device_dir   (None,  SunOS=/dev/dsk,  Linux=/dev)  -
258292                          specify device directory to prepend for  none  abso‐
258293                          lute device paths
258294
258295                        · force (false) - try to force the import or creation
258296
258297              NOTE:
258298                 It  is  no  longer  needed  to  give  a  unique  name to each
258299                 top-level vdev, the old layout format is still supported  but
258300                 no longer recommended.
258301
258302                     - mirror:
258303                       - /tmp/vdisk3
258304                       - /tmp/vdisk2
258305                     - mirror:
258306                       - /tmp/vdisk0
258307                       - /tmp/vdisk1
258308
258309                 The above yaml will always result in the following zpool cre‐
258310                 ate:
258311
258312                     zpool create mypool mirror /tmp/vdisk3 /tmp/vdisk2 mirror /tmp/vdisk0 /tmp/vdisk1
258313
258314              WARNING:
258315                 The legacy format is also  still  supported  but  not  recom‐
258316                 mended,  because  ID's  inside the layout dict must be unique
258317                 they need to have a suffix.
258318
258319                     mirror-0:
258320                       /tmp/vdisk3
258321                       /tmp/vdisk2
258322                     mirror-1:
258323                       /tmp/vdisk0
258324                       /tmp/vdisk1
258325
258326              WARNING:
258327                 Pay attention to the order of your dict!
258328
258329                     - mirror:
258330                       - /tmp/vdisk0
258331                       - /tmp/vdisk1
258332                     - /tmp/vdisk2
258333
258334                 The above will result in the following zpool create:
258335
258336                     zpool create mypool mirror /tmp/vdisk0 /tmp/vdisk1 /tmp/vdisk2
258337
258338                 Creating a 3-way mirror! While you probably expect it  to  be
258339                 mirror root vdev with 2 devices + a root vdev of 1 device!
258340
258341   thorium modules
258342                        ┌───────┬────────────────────────────┐
258343calc   │ Used to manage the thorium │
258344                        │       │ register.                  │
258345                        ├───────┼────────────────────────────┤
258346check  │ The check Thorium state is │
258347                        │       │ used to create gateways to │
258348                        │       │ commands, the checks  make │
258349                        │       │ it  easy  to  make  states │
258350                        │       │ that watch  registers  for │
258351                        │       │ changes and then just suc‐ │
258352                        │       │ ceed or fail based on  the │
258353                        │       │ state   of  the  register, │
258354                        │       │ this creates  the  pattern │
258355                        │       │ of having a command execu‐ │
258356                        │       │ tion get gated by a  check │
258357                        │       │ state via a requisite.     │
258358                        ├───────┼────────────────────────────┤
258359file   │ Writes  matches to disk to │
258360                        │       │ verify  activity,  helpful │
258361                        │       │ when testing               │
258362                        ├───────┼────────────────────────────┤
258363key    │ The  key  Thorium State is │
258364                        │       │ used to apply  changes  to │
258365                        │       │ the                        │
258366                        │       │ accepted/rejected/pending  │
258367                        │       │ keys                       │
258368                        ├───────┼────────────────────────────┤
258369local  │ Run  remote execution com‐ │
258370                        │       │ mands via the local client │
258371                        ├───────┼────────────────────────────┤
258372reg    │ Used to manage the thorium │
258373                        │       │ register.                  │
258374                        ├───────┼────────────────────────────┤
258375runner │ React by calling asynchro‐ │
258376                        │       │ nous runners               │
258377                        ├───────┼────────────────────────────┤
258378status │ This thorium state is used │
258379                        │       │ to track the status beacon │
258380                        │       │ events and keep  track  of │
258381                        │       │ the  active status of min‐ │
258382                        │       │ ions                       │
258383                        ├───────┼────────────────────────────┤
258384timer  │ Allow   for   flow   based │
258385                        │       │ timers.                    │
258386                        ├───────┼────────────────────────────┤
258387wheel  │ React by calling asynchro‐ │
258388                        │       │ nous runners               │
258389                        └───────┴────────────────────────────┘
258390
258391   salt.thorium.calc module
258392       Used to manage the thorium register. The thorium register is where com‐
258393       pound values are stored and computed, such as averages etc.
258394
258395       New in version 2016.11.0.
258396
258397
258398       depends
258399              statistics PyPi module
258400
258401       salt.thorium.calc.add(name, num, minimum=0, maximum=0, ref=None)
258402              Adds together the num most recent values. Requires a list.
258403
258404              USAGE:
258405
258406                 foo:
258407                   calc.add:
258408                     - name: myregentry
258409                     - num: 5
258410
258411       salt.thorium.calc.calc(name, num, oper, minimum=0, maximum=0, ref=None)
258412              Perform  a calculation on the num most recent values. Requires a
258413              list.  Valid values for oper are:
258414
258415              · add: Add last num values together
258416
258417              · mul: Multiple last num values together
258418
258419              · mean: Calculate mean of last num values
258420
258421              · median: Calculate median of last num values
258422
258423              · median_low: Calculate low median of last num values
258424
258425              · median_high: Calculate high median of last num values
258426
258427              · median_grouped: Calculate grouped median of last num values
258428
258429              · mode: Calculate mode of last num values
258430
258431              USAGE:
258432
258433                 foo:
258434                   calc.calc:
258435                     - name: myregentry
258436                     - num: 5
258437                     - oper: mean
258438
258439       salt.thorium.calc.mean(name, num, minimum=0, maximum=0, ref=None)
258440              Calculates the mean of the num most recent  values.  Requires  a
258441              list.
258442
258443              USAGE:
258444
258445                 foo:
258446                   calc.mean:
258447                     - name: myregentry
258448                     - num: 5
258449
258450       salt.thorium.calc.median(name, num, minimum=0, maximum=0, ref=None)
258451              Calculates  the  mean  of the num most recent values. Requires a
258452              list.
258453
258454              USAGE:
258455
258456                 foo:
258457                   calc.median:
258458                     - name: myregentry
258459                     - num: 5
258460
258461       salt.thorium.calc.median_grouped(name,   num,   minimum=0,   maximum=0,
258462       ref=None)
258463              Calculates  the  grouped  mean  of  the  num most recent values.
258464              Requires a list.
258465
258466              USAGE:
258467
258468                 foo:
258469                   calc.median_grouped:
258470                     - name: myregentry
258471                     - num: 5
258472
258473       salt.thorium.calc.median_high(name,    num,    minimum=0,    maximum=0,
258474       ref=None)
258475              Calculates the high mean of the num most recent values. Requires
258476              a list.
258477
258478              USAGE:
258479
258480                 foo:
258481                   calc.median_high:
258482                     - name: myregentry
258483                     - num: 5
258484
258485       salt.thorium.calc.median_low(name, num, minimum=0, maximum=0, ref=None)
258486              Calculates the low mean of the num most recent values.  Requires
258487              a list.
258488
258489              USAGE:
258490
258491                 foo:
258492                   calc.median_low:
258493                     - name: myregentry
258494                     - num: 5
258495
258496       salt.thorium.calc.mode(name, num, minimum=0, maximum=0, ref=None)
258497              Calculates  the  mode  of the num most recent values. Requires a
258498              list.
258499
258500              USAGE:
258501
258502                 foo:
258503                   calc.mode:
258504                     - name: myregentry
258505                     - num: 5
258506
258507       salt.thorium.calc.mul(name, num, minimum=0, maximum=0, ref=None)
258508              Multiplies together the num most recent values. Requires a list.
258509
258510              USAGE:
258511
258512                 foo:
258513                   calc.mul:
258514                     - name: myregentry
258515                     - num: 5
258516
258517   salt.thorium.check module
258518       The check Thorium state is used to create  gateways  to  commands,  the
258519       checks make it easy to make states that watch registers for changes and
258520       then just succeed or fail based on the state of the register, this cre‐
258521       ates  the  pattern  of  having a command execution get gated by a check
258522       state via a requisite.
258523
258524       salt.thorium.check.contains(name, value, count_lt=None, count_lte=None,
258525       count_eq=None, count_gte=None, count_gt=None, count_ne=None)
258526              Only  succeed  if  the value in the given register location con‐
258527              tains the given value
258528
258529              USAGE:
258530
258531                 foo:
258532                   check.contains:
258533                     - value: itni
258534
258535                 run_remote_ex:
258536                   local.cmd:
258537                     - tgt: '*'
258538                     - func: test.ping
258539                     - require:
258540                       - check: foo
258541
258542       salt.thorium.check.eq(name, value)
258543              Only succeed if the value in  the  given  register  location  is
258544              equal to the given value
258545
258546              USAGE:
258547
258548                 foo:
258549                   check.eq:
258550                     - value: 42
258551
258552                 run_remote_ex:
258553                   local.cmd:
258554                     - tgt: '*'
258555                     - func: test.ping
258556                     - require:
258557                       - check: foo
258558
258559       salt.thorium.check.event(name)
258560              Chekcs for a specific event match and returns result True if the
258561              match happens
258562
258563              USAGE:
258564
258565                 salt/foo/*/bar:
258566                   check.event
258567
258568                 run_remote_ex:
258569                   local.cmd:
258570                     - tgt: '*'
258571                     - func: test.ping
258572                     - require:
258573                       - check: salt/foo/*/bar
258574
258575       salt.thorium.check.gt(name, value)
258576              Only succeed if the value in  the  given  register  location  is
258577              greater than the given value
258578
258579              USAGE:
258580
258581                 foo:
258582                   check.gt:
258583                     - value: 42
258584
258585                 run_remote_ex:
258586                   local.cmd:
258587                     - tgt: '*'
258588                     - func: test.ping
258589                     - require:
258590                       - check: foo
258591
258592       salt.thorium.check.gte(name, value)
258593              Only  succeed  if  the  value  in the given register location is
258594              greater or equal than the given value
258595
258596              USAGE:
258597
258598                 foo:
258599                   check.gte:
258600                     - value: 42
258601
258602                 run_remote_ex:
258603                   local.cmd:
258604                     - tgt: '*'
258605                     - func: test.ping
258606                     - require:
258607                       - check: foo
258608
258609       salt.thorium.check.len_eq(name, value)
258610              Only succeed if the length of the  given  register  location  is
258611              equal to the given value.
258612
258613              USAGE:
258614
258615                 foo:
258616                   check.len_eq:
258617                     - value: 42
258618
258619                 run_remote_ex:
258620                   local.cmd:
258621                     - tgt: '*'
258622                     - func: test.ping
258623                     - require:
258624                       - check: foo
258625
258626       salt.thorium.check.len_gt(name, value)
258627              Only succeed if length of the given register location is greater
258628              than the given value.
258629
258630              USAGE:
258631
258632                 foo:
258633                   check.len_gt:
258634                     - value: 42
258635
258636                 run_remote_ex:
258637                   local.cmd:
258638                     - tgt: '*'
258639                     - func: test.ping
258640                     - require:
258641                       - check: foo
258642
258643       salt.thorium.check.len_gte(name, value)
258644              Only succeed if the length of the  given  register  location  is
258645              greater or equal than the given value
258646
258647              USAGE:
258648
258649                 foo:
258650                   check.len_gte:
258651                     - value: 42
258652
258653                 run_remote_ex:
258654                   local.cmd:
258655                     - tgt: '*'
258656                     - func: test.ping
258657                     - require:
258658                       - check: foo
258659
258660       salt.thorium.check.len_lt(name, value)
258661              Only  succeed  if  the  length of the given register location is
258662              less than the given value.
258663
258664              USAGE:
258665
258666                 foo:
258667                   check.len_lt:
258668                     - value: 42
258669
258670                 run_remote_ex:
258671                   local.cmd:
258672                     - tgt: '*'
258673                     - func: test.ping
258674                     - require:
258675                       - check: foo
258676
258677       salt.thorium.check.len_lte(name, value)
258678              Only succeed if the length of the  given  register  location  is
258679              less than or equal the given value
258680
258681              USAGE:
258682
258683                 foo:
258684                   check.len_lte:
258685                     - value: 42
258686
258687                 run_remote_ex:
258688                   local.cmd:
258689                     - tgt: '*'
258690                     - func: test.ping
258691                     - require:
258692                       - check: foo
258693
258694       salt.thorium.check.len_ne(name, value)
258695              Only succeed if the length of the given register location is not
258696              equal to the given value.
258697
258698              USAGE:
258699
258700                 foo:
258701                   check.len_ne:
258702                     - value: 42
258703
258704                 run_remote_ex:
258705                   local.cmd:
258706                     - tgt: '*'
258707                     - func: test.ping
258708                     - require:
258709                       - check: foo
258710
258711       salt.thorium.check.lt(name, value)
258712              Only succeed if the value in the given register location is less
258713              than the given value
258714
258715              USAGE:
258716
258717                 foo:
258718                   check.lt:
258719                     - value: 42
258720
258721                 run_remote_ex:
258722                   local.cmd:
258723                     - tgt: '*'
258724                     - func: test.ping
258725                     - require:
258726                       - check: foo
258727
258728       salt.thorium.check.lte(name, value)
258729              Only succeed if the value in the given register location is less
258730              than or equal the given value
258731
258732              USAGE:
258733
258734                 foo:
258735                   check.lte:
258736                     - value: 42
258737
258738                 run_remote_ex:
258739                   local.cmd:
258740                     - tgt: '*'
258741                     - func: test.ping
258742                     - require:
258743                       - check: foo
258744
258745       salt.thorium.check.ne(name, value)
258746              Only succeed if the value in the given register location is  not
258747              equal to the given value
258748
258749              USAGE:
258750
258751                 foo:
258752                   check.ne:
258753                     - value: 42
258754
258755                 run_remote_ex:
258756                   local.cmd:
258757                     - tgt: '*'
258758                     - func: test.ping
258759                     - require:
258760                       - check: foo
258761
258762   salt.thorium.file module
258763       Writes matches to disk to verify activity, helpful when testing
258764
258765       Normally  this  is used by giving the name of the file (without a path)
258766       that the data will be saved to. If for instance  you  use  foo  as  the
258767       name:
258768
258769       Then the file will be saved to:
258770
258771       You may also provide an absolute path for the file to be saved to:
258772
258773          /tmp/foo.save:
258774              file.save
258775
258776       Files  will  be  saved  in  JSON format. However, JSON does not support
258777       set()``s.  If you are saving a register entry that contains a  ``set(),
258778       then  it  will  fail to save to JSON format. However, you may pass data
258779       through a filter which makes it JSON compliant:
258780
258781          foo:
258782            file.save:
258783              filter: True
258784
258785       Be warned that if you do this, then the file will be saved, but not  in
258786       a format that can be re-imported into Python.
258787
258788       salt.thorium.file.save(name, filter=False)
258789              Save the register to <salt cachedir>/thorium/saves/<name>, or to
258790              an absolute path.
258791
258792              If an absolute path is specified, then  the  directory  will  be
258793              created non-recursively if it doesn't exist.
258794
258795              USAGE:
258796
258797                 foo:
258798                   file.save
258799
258800                 /tmp/foo:
258801                   file.save
258802
258803   salt.thorium.key module
258804       The   key   Thorium   State   is   used   to   apply   changes  to  the
258805       accepted/rejected/pending keys
258806
258807       New in version 2016.11.0.
258808
258809
258810       salt.thorium.key.timeout(name, delete=0, reject=0)
258811              If any minion's status is older  than  the  timeout  value  then
258812              apply  the  given action to the timed out key. This example will
258813              remove keys to minions that have not checked in for 300  seconds
258814              (5 minutes)
258815
258816              USAGE:
258817
258818                 statreg:
258819                   status.reg
258820
258821                 clean_keys:
258822                   key.timeout:
258823                     - require:
258824                       - status: statreg
258825                     - delete: 300
258826
258827   salt.thorium.local module
258828       Run remote execution commands via the local client
258829
258830       salt.thorium.local.cmd(name,   tgt,   func,  arg=(),  tgt_type=u'glob',
258831       ret=u'', kwarg=None, **kwargs)
258832              Execute a remote execution command
258833
258834              USAGE:
258835
258836                 run_remote_ex:
258837                   local.cmd:
258838                     - tgt: '*'
258839                     - func: test.ping
258840
258841                 run_remote_ex:
258842                   local.cmd:
258843                     - tgt: '*'
258844                     - func: test.sleep
258845                     - arg:
258846                       - 30
258847
258848                 run_remote_ex:
258849                   local.cmd:
258850                     - tgt: '*'
258851                     - func: test.sleep
258852                     - kwarg:
258853                       length: 30
258854
258855   salt.thorium.reg module
258856       Used to manage the thorium register. The thorium register is where com‐
258857       pound values are stored and computed, such as averages etc.
258858
258859       salt.thorium.reg.clear(name)
258860              Clear the namespace from the register
258861
258862              USAGE:
258863
258864                 clearns:
258865                   reg.clear:
258866                     - name: myregister
258867
258868       salt.thorium.reg.delete(name)
258869              Delete the namespace from the register
258870
258871              USAGE:
258872
258873                 deletens:
258874                   reg.delete:
258875                     - name: myregister
258876
258877       salt.thorium.reg.list_(name, add, match, stamp=False, prune=0)
258878              Add the specified values to the named list
258879
258880              If stamp is True, then the timestamp from the event will also be
258881              added if prune is set to an integer higher than 0, then only the
258882              last prune values will be kept in the list.
258883
258884              USAGE:
258885
258886                 foo:
258887                   reg.list:
258888                     - add: bar
258889                     - match: my/custom/event
258890                     - stamp: True
258891
258892       salt.thorium.reg.mean(name, add, match)
258893              Accept  a numeric value from the matched events and store a run‐
258894              ning average of the values in the given register. If the  speci‐
258895              fied value is not numeric it will be skipped
258896
258897              USAGE:
258898
258899                 foo:
258900                   reg.mean:
258901                     - add: data_field
258902                     - match: my/custom/event
258903
258904       salt.thorium.reg.set_(name, add, match)
258905              Add a value to the named set
258906
258907              USAGE:
258908
258909                 foo:
258910                   reg.set:
258911                     - add: bar
258912                     - match: my/custom/event
258913
258914   salt.thorium.runner module
258915       React by calling asynchronous runners
258916
258917       salt.thorium.runner.cmd(name, func=None, arg=(), **kwargs)
258918              Execute a runner asynchronous:
258919
258920              USAGE:
258921
258922                 run_cloud:
258923                   runner.cmd:
258924                     - func: cloud.create
258925                     - arg:
258926                         - my-ec2-config
258927                         - myinstance
258928
258929                 run_cloud:
258930                   runner.cmd:
258931                     - func: cloud.create
258932                     - kwargs:
258933                         provider: my-ec2-config
258934                         instances: myinstance
258935
258936   salt.thorium.status module
258937       This  thorium  state is used to track the status beacon events and keep
258938       track of the active status of minions
258939
258940       New in version 2016.11.0.
258941
258942
258943       salt.thorium.status.reg(name)
258944              Activate this register to turn on a minion status tracking  reg‐
258945              ister,  this  register  keeps the current status beacon data and
258946              the time that each beacon was last checked in.
258947
258948   salt.thorium.timer module
258949       Allow for flow based timers. These timers allow for a  sleep  to  exist
258950       across multiple runs of the flow
258951
258952       salt.thorium.timer.hold(name, seconds)
258953              Wait  for  a  given  period of time, then fire a result of True,
258954              requiring this state allows for an  action  to  be  blocked  for
258955              evaluation based on time
258956
258957              USAGE:
258958
258959                 hold_on_a_moment:
258960                   timer.hold:
258961                     - seconds: 30
258962
258963   salt.thorium.wheel module
258964       React by calling asynchronous runners
258965
258966       salt.thorium.wheel.cmd(name, fun=None, arg=(), **kwargs)
258967              Execute a runner asynchronous:
258968
258969              USAGE:
258970
258971                 run_cloud:
258972                   wheel.cmd:
258973                     - fun: key.delete
258974                     - match: minion_id
258975
258976   master tops modules
258977                   ┌────────────────┬────────────────────────────┐
258978cobbler         │ Cobbler Tops               │
258979                   ├────────────────┼────────────────────────────┤
258980ext_nodes       │ External Nodes Classifier  │
258981                   ├────────────────┼────────────────────────────┤
258982mongo           │ Read tops data from a mon‐ │
258983                   │                │ godb collection            │
258984                   ├────────────────┼────────────────────────────┤
258985reclass_adapter │ Read  tops  data  from   a │
258986                   │                │ reclass database           │
258987                   ├────────────────┼────────────────────────────┤
258988saltclass       │ Saltclass Configuration    │
258989                   ├────────────────┼────────────────────────────┤
258990varstack_top    │ Use  Varstack  to  provide │
258991                   │                │ tops data                  │
258992                   └────────────────┴────────────────────────────┘
258993
258994   salt.tops.cobbler
258995   Cobbler Tops
258996       Cobbler Tops is a master tops subsystem used to look up mapping  infor‐
258997       mation from Cobbler via its API. The same cobbler.* parameters are used
258998       for both the Cobbler tops and Cobbler pillar modules.
258999
259000          master_tops:
259001            cobbler: {}
259002          cobbler.url: https://example.com/cobbler_api #default is http://localhost/cobbler_api
259003          cobbler.user: username # default is no username
259004          cobbler.password: password # default is no password
259005
259006   Module Documentation
259007       salt.tops.cobbler.top(**kwargs)
259008              Look up top data in Cobbler for a minion.
259009
259010   salt.tops.ext_nodes
259011   External Nodes Classifier
259012       The External Nodes Classifier is a master tops subsystem that retrieves
259013       mapping information from major configuration management systems. One of
259014       the most common external nodes classifiers system is provided  by  Cob‐
259015       bler and is called cobbler-ext-nodes.
259016
259017       The cobbler-ext-nodes command can be used with this configuration:
259018
259019          master_tops:
259020            ext_nodes: cobbler-ext-nodes
259021
259022       It is noteworthy that the Salt system does not directly ingest the data
259023       sent from the cobbler-ext-nodes command, but  converts  the  data  into
259024       information that is used by a Salt top file.
259025
259026       Any command can replace the call to 'cobbler-ext-nodes' above, but cur‐
259027       rently the data must be formatted in the same  way  that  the  standard
259028       'cobbler-ext-nodes' does.
259029
259030       See (admittedly degenerate and probably not complete) example:
259031
259032          classes:
259033            - basepackages
259034            - database
259035
259036       The  above  essentially is the same as a top.sls containing the follow‐
259037       ing:
259038
259039          base:
259040            '*':
259041              - basepackages
259042              - database
259043
259044          base:
259045            '*':
259046              - basepackages
259047              - database
259048
259049       salt.tops.ext_nodes.top(**kwargs)
259050              Run the command configured
259051
259052   salt.tops.mongo
259053       Read tops data from a mongodb collection
259054
259055       This module will load tops data from a mongo collection.  It  uses  the
259056       node's id for lookups.
259057
259058   Salt Master Mongo Configuration
259059       The   module  shares  the  same  base  mongo  connection  variables  as
259060       salt.returners.mongo_return. These variables go in your  master  config
259061       file.
259062
259063          · mongo.db - The mongo database to connect to. Defaults to 'salt'.
259064
259065          · mongo.host  -  The mongo host to connect to. Supports replica sets
259066            by specifying all hosts in the set, comma-delimited.  Defaults  to
259067            'salt'.
259068
259069          · mongo.port  -  The  port  that  the  mongo database is running on.
259070            Defaults to 27017.
259071
259072          · mongo.user - The username for connecting to mongo.  Only  required
259073            if you are using mongo authentication. Defaults to ''.
259074
259075          · mongo.password  -  The  password  for  connecting  to  mongo. Only
259076            required if you are using mongo authentication. Defaults to ''.
259077
259078   Configuring the Mongo Tops Subsystem
259079          master_tops:
259080            mongo:
259081              collection: tops
259082              id_field: _id
259083              re_replace: ""
259084              re_pattern: \.example\.com
259085              states_field: states
259086              environment_field: environment
259087
259088   Module Documentation
259089       salt.tops.mongo.top(**kwargs)
259090              Connect to a mongo database and read per-node tops data.
259091
259092              Parameters
259093
259094                     · collection (*) -- The mongodb collection to  read  data
259095                       from. Defaults to 'tops'.
259096
259097                     · id_field (*) -- The field in the collection that repre‐
259098                       sents an individual minion id. Defaults to '_id'.
259099
259100                     · re_pattern (*) -- If your naming convention in the col‐
259101                       lection is shorter than the minion id, you can use this
259102                       to trim the name.  re_pattern will be used to match the
259103                       name,  and re_replace will be used to replace it. Back‐
259104                       refs are supported as they are in the  Python  standard
259105                       library.  If None, no mangling of the name will be per‐
259106                       formed - the  collection  will  be  searched  with  the
259107                       entire minion id. Defaults to None.
259108
259109                     · re_replace  (*) -- Use as the replacement value in node
259110                       ids matched with re_pattern. Defaults to ''. Feel  free
259111                       to use backreferences here.
259112
259113                     · states_field  (*)  -- The name of the field providing a
259114                       list of states.
259115
259116                     · environment_field (*) -- The name of the field  provid‐
259117                       ing the environment.  Defaults to environment.
259118
259119   salt.tops.reclass_adapter
259120       Read tops data from a reclass database
259121
259122       This  master_tops  plugin provides access to the reclass database, such
259123       that state information (top data) are retrieved from reclass.
259124
259125       You    can    find    more     information     about     reclass     at
259126       http://reclass.pantsfullofunix.net.
259127
259128       To  use  the  plugin, add it to the master_tops list in the Salt master
259129       config and tell reclass by way of a few options how and where  to  find
259130       the inventory:
259131
259132          master_tops:
259133            reclass:
259134              storage_type: yaml_fs
259135              inventory_base_uri: /srv/salt
259136
259137       This  would  cause  reclass  to  read  the inventory from YAML files in
259138       /srv/salt/nodes and /srv/salt/classes.
259139
259140       If you are also using reclass as ext_pillar plugin,  and  you  want  to
259141       avoid having to specify the same information for both, use YAML anchors
259142       (take note of the differing data types for ext_pillar and master_tops):
259143
259144          reclass: &reclass
259145            storage_type: yaml_fs
259146            inventory_base_uri: /srv/salt
259147            reclass_source_path: ~/code/reclass
259148
259149          ext_pillar:
259150            - reclass: *reclass
259151
259152          master_tops:
259153            reclass: *reclass
259154
259155       If you want to run reclass from source, rather than installing it,  you
259156       can either let the master know via the PYTHONPATH environment variable,
259157       or by setting the configuration option, like in the example above.
259158
259159       salt.tops.reclass_adapter.top(**kwargs)
259160              Query reclass for the top data (states of the minions).
259161
259162   salt.tops.saltclass
259163   Saltclass Configuration
259164          master_tops:
259165            saltclass:
259166              path: /srv/saltclass
259167
259168   Description
259169       This    module    clones    the     behaviour     of     reclass     (‐
259170       http://reclass.pantsfullofunix.net/),  without  the need of an external
259171       app, and add several features to improve flexibility.   Saltclass  lets
259172       you  define your nodes from simple yaml files (.yml) through hierarchi‐
259173       cal class inheritance with the possibility to override pillars down the
259174       tree.
259175
259176   Features
259177       · Define your nodes through hierarchical class inheritance
259178
259179       ·
259180
259181         Reuse your reclass datas with minimal modifications
259182
259183                · applications => states
259184
259185                · parameters => pillars
259186
259187       · Use Jinja templating in your yaml definitions
259188
259189       ·
259190
259191         Access to the following Salt objects in Jinja
259192
259193                · __opts__
259194
259195                · __salt__
259196
259197                · __grains__
259198
259199                · __pillars__
259200
259201                · minion_id
259202
259203       · Chose  how  to  merge  or  override your lists using ^ character (see
259204         examples)
259205
259206       · Expand variables ${} with possibility to escape them  if  needed  ${}
259207         (see examples)
259208
259209       · Ignores  missing  node/class  and  will  simply  return empty without
259210         breaking the pillar module completely - will be logged
259211
259212       An    example    subset     of     datas     is     available     here:
259213       http://git.mauras.ch/salt/saltclass/src/master/examples
259214
259215              ┌───────────────────────────┬────────────────────────────┐
259216              │Terms usable in yaml files │ Description                │
259217              ├───────────────────────────┼────────────────────────────┤
259218              │classes                    │ A  list  of  classes  that │
259219              │                           │ will be processed in order │
259220              ├───────────────────────────┼────────────────────────────┤
259221              │states                     │ A list of states that will │
259222              │                           │ be returned by master_tops │
259223              │                           │ function                   │
259224              ├───────────────────────────┼────────────────────────────┤
259225              │pillars                    │ A  yaml  dictionnary  that │
259226              │                           │ will  be  returned  by the │
259227              │                           │ ext_pillar function        │
259228              ├───────────────────────────┼────────────────────────────┤
259229              │environment                │ Node saltenv that will  be │
259230              │                           │ used by master_tops        │
259231              └───────────────────────────┴────────────────────────────┘
259232
259233       A class consists of:
259234
259235       · zero or more parent classes
259236
259237       · zero or more states
259238
259239       · any number of pillars
259240
259241       A child class can override pillars from a parent class.  A node defini‐
259242       tion is a class in itself  with  an  added  environment  parameter  for
259243       saltenv definition.
259244
259245   Class names
259246       Class  names  mimic salt way of defining states and pillar files.  This
259247       means that default.users class name will correspond to one of these:
259248
259249       · <saltclass_path>/classes/default/users.yml
259250
259251       · <saltclass_path>/classes/default/users/init.yml
259252
259253   Saltclass file hierachy
259254       A saltclass tree would look like this:
259255
259256          <saltclass_path>
259257          ├── classes
259258          │   ├── app
259259          │   │   ├── borgbackup.yml
259260          │   │   └── ssh
259261          │   │       └── server.yml
259262          │   ├── default
259263          │   │   ├── init.yml
259264          │   │   ├── motd.yml
259265          │   │   └── users.yml
259266          │   ├── roles
259267          │   │   ├── app.yml
259268          │   │   └── nginx
259269          │   │       ├── init.yml
259270          │   │       └── server.yml
259271          │   └── subsidiaries
259272          │       ├── gnv.yml
259273          │       ├── qls.yml
259274          │       └── zrh.yml
259275          └── nodes
259276              ├── geneva
259277              │   └── gnv.node1.yml
259278              ├── lausanne
259279              │   ├── qls.node1.yml
259280              │   └── qls.node2.yml
259281              ├── node127.yml
259282              └── zurich
259283                  ├── zrh.node1.yml
259284                  ├── zrh.node2.yml
259285                  └── zrh.node3.yml
259286
259287   Saltclass Examples
259288       <saltclass_path>/nodes/lausanne/qls.node1.yml
259289
259290          environment: base
259291
259292          classes:
259293          {% for class in ['default'] %}
259294            - {{ class }}
259295          {% endfor %}
259296            - subsidiaries.{{ __grains__['id'].split('.')[0] }}
259297
259298       <saltclass_path>/classes/default/init.yml
259299
259300          classes:
259301            - default.users
259302            - default.motd
259303
259304          states:
259305            - openssh
259306
259307          pillars:
259308            default:
259309              network:
259310                dns:
259311                  srv1: 192.168.0.1
259312                  srv2: 192.168.0.2
259313                  domain: example.com
259314              ntp:
259315                srv1: 192.168.10.10
259316                srv2: 192.168.10.20
259317
259318       <saltclass_path>/classes/subsidiaries/gnv.yml
259319
259320          pillars:
259321            default:
259322              network:
259323                sub: Geneva
259324                dns:
259325                  srv1: 10.20.0.1
259326                  srv2: 10.20.0.2
259327                  srv3: 192.168.1.1
259328                  domain: gnv.example.com
259329              users:
259330                adm1:
259331                  uid: 1210
259332                  gid: 1210
259333                  gecos: 'Super user admin1'
259334                  homedir: /srv/app/adm1
259335                adm3:
259336                  uid: 1203
259337                  gid: 1203
259338                  gecos: 'Super user adm
259339
259340   Variable expansions
259341       Escaped variables are rendered as is: ${test}
259342
259343       Missing variables are rendered as is: ${net:dns:srv2}
259344
259345          pillars:
259346            app:
259347            config:
259348              dns:
259349                srv1: ${default:network:dns:srv1}
259350                srv2: ${net:dns:srv2}
259351              uri: https://application.domain/call?\${test}
259352              prod_parameters:
259353                - p1
259354                - p2
259355                - p3
259356            pkg:
259357              - app-core
259358              - app-backend
259359
259360   List override
259361       Not using ^ as the first entry will simply merge the lists
259362
259363          pillars:
259364            app:
259365              pkg:
259366                - ^
259367                - app-frontend
259368
259369       NOTE:
259370          Known limitation
259371
259372          Currently you can't have both a variable and an escaped variable  in
259373          the  same string as the escaped one will not be correctly rendered -
259374          '${xx}' will stay as is instead of being rendered as '${xx}'
259375
259376       salt.tops.saltclass.top(**kwargs)
259377              Compile tops
259378
259379   salt.tops.varstack_top
259380       Use Varstack to provide tops data
259381
259382       This master_tops plugin provides access to  the  varstack  hierarchical
259383       yaml files, so you can user varstack as a full external node classifier
259384       and store state information (top data) in it.
259385
259386   Configuring Varstack
259387       To use varstack as a  master  top  external  node  classifier,  install
259388       varstack as documented. Then, add to your master's configuration:
259389
259390          master_tops:
259391            varstack: /path/to/the/config/file/varstack.yaml
259392
259393       Varstack  will then use /path/to/the/config/file/varstack.yaml (usually
259394       /etc/varstack.yaml) to determine which configuration data to return  as
259395       adapter  information.  From  there you can take a look at the README of
259396       varstack to learn how this file is evaluated. The ENC  part  will  just
259397       return the 'states' dictionary for the node.
259398
259399       Ie, if my.fqdn.yaml file contains:
259400
259401          ---
259402          states:
259403            - sudo
259404            - openssh
259405            - apache
259406            - salt.minion
259407
259408       these  will  be  returned  as  {'base':  ['sudo',  'openssh', 'apache',
259409       'salt.minion']} and managed by salt as if given from a top.sls file.
259410
259411       salt.tops.varstack_top.top(**kwargs)
259412              Query varstack for the top data (states of the minions).
259413
259414   wheel modules
259415                     ┌─────────────┬────────────────────────────┐
259416config       │ Manage the master configu‐ │
259417                     │             │ ration file                │
259418                     ├─────────────┼────────────────────────────┤
259419error        │ Error  generator to enable │
259420                     │             │ integration   testing   of │
259421                     │             │ salt wheel error handling  │
259422                     ├─────────────┼────────────────────────────┤
259423file_roots   │ Read  in  files  from  the │
259424                     │             │ file_root and  save  files │
259425                     │             │ to the file root           │
259426                     ├─────────────┼────────────────────────────┤
259427key          │ Wheel  system  wrapper for │
259428                     │             │ the Salt key system to  be │
259429                     │             │ used  in interactions with │
259430                     │             │ the Salt  Master  program‐ │
259431                     │             │ matically.                 │
259432                     ├─────────────┼────────────────────────────┤
259433minions      │ Wheel  system  wrapper for │
259434                     │             │ connected minions          │
259435                     ├─────────────┼────────────────────────────┤
259436pillar_roots │ The   pillar_roots   wheel │
259437                     │             │ module  is  used to manage │
259438                     │             │ files  under  the   pillar │
259439                     │             │ roots  directories  on the │
259440                     │             │ master server.             │
259441                     └─────────────┴────────────────────────────┘
259442
259443   salt.wheel.config
259444       Manage the master configuration file
259445
259446       salt.wheel.config.apply(key, value)
259447              Set a single key
259448
259449              NOTE:
259450                 This will strip comments from your config file
259451
259452       salt.wheel.config.update_config(file_name, yaml_contents)
259453              Update master config with yaml_contents.
259454
259455              Writes yaml_contents to a file named  file_name.conf  under  the
259456              folder  specified by default_include.  This folder is named mas‐
259457              ter.d by default. Please look at include-configuration for  more
259458              information.
259459
259460              Example low data:
259461
259462                 data = {
259463                     'username': 'salt',
259464                     'password': 'salt',
259465                     'fun': 'config.update_config',
259466                     'file_name': 'gui',
259467                     'yaml_contents': {'id': 1},
259468                     'client': 'wheel',
259469                     'eauth': 'pam',
259470                 }
259471
259472       salt.wheel.config.values()
259473              Return the raw values of the config file
259474
259475   salt.wheel.error
259476       Error  generator to enable integration testing of salt wheel error han‐
259477       dling
259478
259479       salt.wheel.error.error(name=None, message=u'')
259480              If name is None Then return empty dict
259481
259482              Otherwise raise an exception with __name__  from  name,  message
259483              from message
259484
259485              CLI Example:
259486
259487                 salt-wheel error
259488                 salt-wheel error.error name="Exception" message="This is an error."
259489
259490   salt.wheel.file_roots
259491       Read in files from the file_root and save files to the file root
259492
259493       salt.wheel.file_roots.find(path, saltenv=u'base')
259494              Return a dict of the files located with the given path and envi‐
259495              ronment
259496
259497       salt.wheel.file_roots.list_env(saltenv=u'base')
259498              Return all of the file paths found in an environment
259499
259500       salt.wheel.file_roots.list_roots()
259501              Return all of the files names in all available environments
259502
259503       salt.wheel.file_roots.read(path, saltenv=u'base')
259504              Read the contents of a text file, if the file is binary then
259505
259506       salt.wheel.file_roots.write(data, path, saltenv=u'base', index=0)
259507              Write the named file, by default the first file found  is  writ‐
259508              ten,  but  the  index of the file can be specified to write to a
259509              lower priority file root
259510
259511   salt.wheel.key
259512       Wheel system wrapper for the Salt key system to be used in interactions
259513       with the Salt Master programmatically.
259514
259515       The  key  module  for  the wheel system is meant to provide an internal
259516       interface for other Salt systems to interact with the Salt Master.  The
259517       following usage examples assume that a WheelClient is available:
259518
259519          import salt.config
259520          import salt.wheel
259521          opts = salt.config.master_config('/etc/salt/master')
259522          wheel = salt.wheel.WheelClient(opts)
259523
259524       Note  that importing and using the WheelClient must be performed on the
259525       same machine as the Salt Master and as the same user that runs the Salt
259526       Master,  unless  external_auth is configured and the user is authorized
259527       to execute wheel functions.
259528
259529       The function documentation starts with the  wheel  reference  from  the
259530       code  sample  above  and use the WheelClient functions to show how they
259531       can be called from a Python interpreter.
259532
259533       The wheel key functions can also be called via a salt  command  at  the
259534       CLI using the saltutil execution module.
259535
259536       salt.wheel.key.accept(match,                    include_rejected=False,
259537       include_denied=False)
259538              Accept keys based on a glob match. Returns a dictionary.
259539
259540              match  The glob match of keys to accept.
259541
259542              include_rejected
259543                     To include rejected keys in the match along with  pending
259544                     keys, set this to True. Defaults to False.
259545
259546              include_denied
259547                     To  include  denied  keys in the match along with pending
259548                     keys, set this to True. Defaults to False.
259549
259550                 >>> wheel.cmd('key.accept', ['minion1'])
259551                 {'minions': ['minion1']}
259552
259553       salt.wheel.key.accept_dict(match,               include_rejected=False,
259554       include_denied=False)
259555              Accept keys based on a dict of keys. Returns a dictionary.
259556
259557              match  The dictionary of keys to accept.
259558
259559              include_rejected
259560                     To  include rejected keys in the match along with pending
259561                     keys, set this to True. Defaults to False.
259562
259563                     New in version 2016.3.4.
259564
259565
259566              include_denied
259567                     To include denied keys in the match  along  with  pending
259568                     keys, set this to True. Defaults to False.
259569
259570                     New in version 2016.3.4.
259571
259572
259573              Example  to  move  a list of keys from the minions_pre (pending)
259574              directory to the minions (accepted) directory:
259575
259576                 >>> wheel.cmd('key.accept_dict',
259577                 {
259578                     'minions_pre': [
259579                         'jerry',
259580                         'stuart',
259581                         'bob',
259582                     ],
259583                 })
259584                 {'minions': ['jerry', 'stuart', 'bob']}
259585
259586       salt.wheel.key.delete(match)
259587              Delete keys based on a glob match. Returns a dictionary.
259588
259589              match  The glob match of keys to delete.
259590
259591                 >>> wheel.cmd_async({'fun': 'key.delete', 'match': 'minion1'})
259592                 {'jid': '20160826201244808521', 'tag': 'salt/wheel/20160826201244808521'}
259593
259594       salt.wheel.key.delete_dict(match)
259595              Delete keys based on a dict of keys. Returns a dictionary.
259596
259597              match  The dictionary of keys to delete.
259598
259599                 >>> wheel.cmd_async({'fun': 'key.delete_dict',
259600                 'match': {
259601                     'minions': [
259602                         'jerry',
259603                         'stuart',
259604                         'bob',
259605                     ],
259606                 })
259607                 {'jid': '20160826201244808521', 'tag': 'salt/wheel/20160826201244808521'}
259608
259609       salt.wheel.key.finger(match, hash_type=None)
259610              Return the matching key fingerprints. Returns a dictionary.
259611
259612              match  The key for with to retrieve the fingerprint.
259613
259614              hash_type
259615                     The hash algorithm used to calculate the fingerprint
259616
259617                 >>> wheel.cmd('key.finger', ['minion1'])
259618                 {'minions': {'minion1': '5d:f6:79:43:5e:d4:42:3f:57:b8:45:a8:7e:a4:6e:ca'}}
259619
259620       salt.wheel.key.finger_master(hash_type=None)
259621              Return the fingerprint of the master's public key
259622
259623              hash_type
259624                     The hash algorithm used to calculate the fingerprint
259625
259626                 >>> wheel.cmd('key.finger_master')
259627                 {'local': {'master.pub': '5d:f6:79:43:5e:d4:42:3f:57:b8:45:a8:7e:a4:6e:ca'}}
259628
259629       salt.wheel.key.gen(id_=None, keysize=2048)
259630              Generate a key pair. No keys are stored on  the  master.  A  key
259631              pair is returned as a dict containing pub and priv keys. Returns
259632              a dictionary containing the the pub and  priv  keys  with  their
259633              generated values.
259634
259635              id_    Set  a  name to generate a key pair for use with salt. If
259636                     not specified, a random name will be specified.
259637
259638              keysize
259639                     The size of the key pair to generate. The  size  must  be
259640                     2048, which is the default, or greater. If set to a value
259641                     less than 2048, the key size will be rounded up to 2048.
259642
259643                 >>> wheel.cmd('key.gen')
259644                 {'pub': '-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBC
259645                 ...
259646                 BBPfamX9gGPQTpN9e8HwcZjXQnmg8OrcUl10WHw09SDWLOlnW+ueTWugEQpPt\niQIDAQAB\n
259647                 -----END PUBLIC KEY-----',
259648                 'priv': '-----BEGIN RSA PRIVATE KEY-----\nMIIEpAIBAAKCAQEA42Kf+w9XeZWgguzv
259649                 ...
259650                 QH3/W74X1+WTBlx4R2KGLYBiH+bCCFEQ/Zvcu4Xp4bIOPtRKozEQ==\n
259651                 -----END RSA PRIVATE KEY-----'}
259652
259653       salt.wheel.key.gen_accept(id_, keysize=2048, force=False)
259654              Generate a key pair then accept the public  key.  This  function
259655              returns the key pair in a dict, only the public key is preserved
259656              on the master. Returns a dictionary.
259657
259658              id_    The name of the minion for which to generate a key pair.
259659
259660              keysize
259661                     The size of the key pair to generate. The  size  must  be
259662                     2048, which is the default, or greater. If set to a value
259663                     less than 2048, the key size will be rounded up to 2048.
259664
259665              force  If a public key has already been accepted for  the  given
259666                     minion  on  the master, then the gen_accept function will
259667                     return an empty dictionary and not create a new key. This
259668                     is  the  default  behavior. If force is set to True, then
259669                     the minion's previously accepted key will be overwritten.
259670
259671                 >>> wheel.cmd('key.gen_accept', ['foo'])
259672                 {'pub': '-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBC
259673                 ...
259674                 BBPfamX9gGPQTpN9e8HwcZjXQnmg8OrcUl10WHw09SDWLOlnW+ueTWugEQpPt\niQIDAQAB\n
259675                 -----END PUBLIC KEY-----',
259676                 'priv': '-----BEGIN RSA PRIVATE KEY-----\nMIIEpAIBAAKCAQEA42Kf+w9XeZWgguzv
259677                 ...
259678                 QH3/W74X1+WTBlx4R2KGLYBiH+bCCFEQ/Zvcu4Xp4bIOPtRKozEQ==\n
259679                 -----END RSA PRIVATE KEY-----'}
259680
259681              We can now see that the foo minion's key has  been  accepted  by
259682              the master:
259683
259684                 >>> wheel.cmd('key.list', ['accepted'])
259685                 {'minions': ['foo', 'minion1', 'minion2', 'minion3']}
259686
259687       salt.wheel.key.gen_keys(keydir=None,     keyname=None,    keysize=None,
259688       user=None)
259689              Generate minion RSA public keypair
259690
259691       salt.wheel.key.gen_signature(priv,   pub,   signature_path,   auto_cre‐
259692       ate=False, keysize=None)
259693              Generate master public-key-signature
259694
259695       salt.wheel.key.key_str(match)
259696              Return information about the key. Returns a dictionary.
259697
259698              match  The key to return information about.
259699
259700                 >>> wheel.cmd('key.key_str', ['minion1'])
259701                 {'minions': {'minion1': '-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0B
259702                 ...
259703                 TWugEQpPt\niQIDAQAB\n-----END PUBLIC KEY-----'}}
259704
259705       salt.wheel.key.list_(match)
259706              List all the keys under a named status. Returns a dictionary.
259707
259708              match  The  type  of  keys  to list. The pre, un, and unaccepted
259709                     options  will  list  unaccepted/unsigned  keys.  acc   or
259710                     accepted  will list accepted/signed keys. rej or rejected
259711                     will list rejected keys.   Finally,  all  will  list  all
259712                     keys.
259713
259714                 >>> wheel.cmd('key.list', ['accepted'])
259715                 {'minions': ['minion1', 'minion2', 'minion3']}
259716
259717       salt.wheel.key.list_all()
259718              List  all the keys. Returns a dictionary containing lists of the
259719              minions in  each  salt-key  category,  including  minions,  min‐
259720              ions_rejected, minions_denied, etc. Returns a dictionary.
259721
259722                 >>> wheel.cmd('key.list_all')
259723                 {'local': ['master.pem', 'master.pub'], 'minions_rejected': [],
259724                 'minions_denied': [], 'minions_pre': [],
259725                 'minions': ['minion1', 'minion2', 'minion3']}
259726
259727       salt.wheel.key.name_match(match)
259728              List all the keys based on a glob match
259729
259730       salt.wheel.key.reject(match,                    include_accepted=False,
259731       include_denied=False)
259732              Reject keys based on a glob match. Returns a dictionary.
259733
259734              match  The glob match of keys to reject.
259735
259736              include_accepted
259737                     To include accepted keys in the match along with  pending
259738                     keys, set this to True. Defaults to False.
259739
259740              include_denied
259741                     To  include  denied  keys in the match along with pending
259742                     keys, set this to True. Defaults to False.
259743
259744                 >>> wheel.cmd_async({'fun': 'key.reject', 'match': 'minion1'})
259745                 {'jid': '20160826201244808521', 'tag': 'salt/wheel/20160826201244808521'}
259746
259747       salt.wheel.key.reject_dict(match,               include_accepted=False,
259748       include_denied=False)
259749              Reject keys based on a dict of keys. Returns a dictionary.
259750
259751              match  The dictionary of keys to reject.
259752
259753              include_accepted
259754                     To  include accepted keys in the match along with pending
259755                     keys, set this to True. Defaults to False.
259756
259757                     New in version 2016.3.4.
259758
259759
259760              include_denied
259761                     To include denied keys in the match  along  with  pending
259762                     keys, set this to True. Defaults to False.
259763
259764                     New in version 2016.3.4.
259765
259766
259767                 >>> wheel.cmd_async({'fun': 'key.reject_dict',
259768                 'match': {
259769                     'minions': [
259770                         'jerry',
259771                         'stuart',
259772                         'bob',
259773                     ],
259774                 })
259775                 {'jid': '20160826201244808521', 'tag': 'salt/wheel/20160826201244808521'}
259776
259777   salt.wheel.minions
259778       Wheel system wrapper for connected minions
259779
259780       salt.wheel.minions.connected()
259781              List all connected minions on a salt-master
259782
259783   salt.wheel.pillar_roots
259784       The  pillar_roots wheel module is used to manage files under the pillar
259785       roots directories on the master server.
259786
259787       salt.wheel.pillar_roots.find(path, saltenv=u'base')
259788              Return a dict of the files located with the given path and envi‐
259789              ronment
259790
259791       salt.wheel.pillar_roots.list_env(saltenv=u'base')
259792              Return all of the file paths found in an environment
259793
259794       salt.wheel.pillar_roots.list_roots()
259795              Return all of the files names in all available environments
259796
259797       salt.wheel.pillar_roots.read(path, saltenv=u'base')
259798              Read the contents of a text file, if the file is binary then
259799
259800       salt.wheel.pillar_roots.write(data, path, saltenv=u'base', index=0)
259801              Write  the  named file, by default the first file found is writ‐
259802              ten, but the index of the file can be specified to  write  to  a
259803              lower priority file root
259804

APIS

259806   Python client API
259807       Salt provides several entry points for interfacing with Python applica‐
259808       tions.  These entry points are often referred  to  as  *Client()  APIs.
259809       Each client accesses different parts of Salt, either from the master or
259810       from a minion. Each client is detailed below.
259811
259812       SEE ALSO:
259813          There are many ways to access Salt programmatically.
259814
259815          Salt can be used from CLI scripts as well as via a REST interface.
259816
259817          See Salt's outputter system to retrieve structured data from Salt as
259818          JSON, or as shell-friendly text, or many other formats.
259819
259820          See  the  state.event  runner to utilize Salt's event bus from shell
259821          scripts.
259822
259823          Salt's netapi module provides access to Salt externally via  a  REST
259824          interface.  Review the netapi module documentation for more informa‐
259825          tion.
259826
259827   Salt's opts dictionary
259828       Some clients require access to Salt's opts dictionary. (The  dictionary
259829       representation of the master or minion config files.)
259830
259831       A  common pattern for fetching the opts dictionary is to defer to envi‐
259832       ronment variables if they exist or otherwise fetch the config from  the
259833       default location.
259834
259835       salt.config.client_config(path,          env_var=u'SALT_CLIENT_CONFIG',
259836       defaults=None)
259837              Load Master configuration data
259838
259839              Usage:
259840
259841                 import salt.config
259842                 master_opts = salt.config.client_config('/etc/salt/master')
259843
259844              Returns a dictionary of the Salt Master configuration file  with
259845              necessary  options  needed to communicate with a locally-running
259846              Salt Master daemon.  This function searches for client  specific
259847              configurations and adds them to the data from the master config‐
259848              uration.
259849
259850              This is useful for master-side operations like LocalClient.
259851
259852       salt.config.minion_config(path,          env_var=u'SALT_MINION_CONFIG',
259853       defaults=None,  cache_minion_id=False,  ignore_config_errors=True, min‐
259854       ion_id=None, role=u'minion')
259855              Reads in the minion  configuration  file  and  sets  up  special
259856              options
259857
259858              This  is  useful  for Minion-side operations, such as the Caller
259859              class, and manually running the loader interface.
259860
259861                 import salt.config
259862                 minion_opts = salt.config.minion_config('/etc/salt/minion')
259863
259864   Salt's Loader Interface
259865       Modules in the Salt ecosystem are loaded into  memory  using  a  custom
259866       loader  system.  This  allows  modules to have conditional requirements
259867       (OS, OS version, installed libraries, etc) and allows  Salt  to  inject
259868       special variables (__salt__, __opts__, etc).
259869
259870       Most   modules  can  be  manually  loaded.  This  is  often  useful  in
259871       third-party Python apps or when writing  tests.  However  some  modules
259872       require and expect a full, running Salt system underneath. Notably mod‐
259873       ules that facilitate master-to-minion communication such as  the  mine,
259874       publish,  and  peer execution modules. The error KeyError: 'master_uri'
259875       is a likely indicator for this situation. In those  instances  use  the
259876       Caller class to execute those modules instead.
259877
259878       Each module type has a corresponding loader function.
259879
259880       salt.loader.minion_mods(opts, context=None, utils=None, whitelist=None,
259881       initial_load=False,  loaded_base_name=None,  notify=False,  static_mod‐
259882       ules=None, proxy=None)
259883              Load execution modules
259884
259885              Returns  a  dictionary  of execution modules appropriate for the
259886              current system by evaluating the __virtual__() function in  each
259887              module.
259888
259889              Parameters
259890
259891                     · opts (dict) -- The Salt options dictionary
259892
259893                     · context  (dict)  --  A Salt context that should be made
259894                       present inside generated modules in __context__
259895
259896                     · utils (dict) -- Utility functions which should be  made
259897                       available  to Salt modules in __utils__. See utils_dirs
259898                       in salt.config for additional information about config‐
259899                       uration.
259900
259901                     · whitelist  (list)  -- A list of modules which should be
259902                       whitelisted.
259903
259904                     · initial_load (bool) -- Deprecated flag! Unused.
259905
259906                     · loaded_base_name (str)  --  A  string  marker  for  the
259907                       loaded base name.
259908
259909                     · notify  (bool)  -- Flag indicating that an event should
259910                       be fired upon completion of module loading.
259911
259912                 import salt.config
259913                 import salt.loader
259914
259915                 __opts__ = salt.config.minion_config('/etc/salt/minion')
259916                 __grains__ = salt.loader.grains(__opts__)
259917                 __opts__['grains'] = __grains__
259918                 __utils__ = salt.loader.utils(__opts__)
259919                 __salt__ = salt.loader.minion_mods(__opts__, utils=__utils__)
259920                 __salt__['test.ping']()
259921
259922       salt.loader.raw_mod(opts, name, functions, mod=u'modules')
259923              Returns a single module loaded raw and bypassing the __virtual__
259924              function
259925
259926                 import salt.config
259927                 import salt.loader
259928
259929                 __opts__ = salt.config.minion_config('/etc/salt/minion')
259930                 testmod = salt.loader.raw_mod(__opts__, 'test', None)
259931                 testmod['test.ping']()
259932
259933       salt.loader.states(opts, functions, utils, serializers, whitelist=None,
259934       proxy=None)
259935              Returns the state modules
259936
259937              Parameters
259938
259939                     · opts (dict) -- The Salt options dictionary
259940
259941                     · functions (dict) -- A  dictionary  of  minion  modules,
259942                       with module names as keys and funcs as values.
259943
259944                 import salt.config
259945                 import salt.loader
259946
259947                 __opts__ = salt.config.minion_config('/etc/salt/minion')
259948                 statemods = salt.loader.states(__opts__, None, None)
259949
259950       salt.loader.grains(opts, force_refresh=False, proxy=None)
259951              Return  the  functions for the dynamic grains and the values for
259952              the static grains.
259953
259954              Since grains are computed early in the startup  process,  grains
259955              functions  do  not  have  __salt__  or  __proxy__ available.  At
259956              proxy-minion startup, this function is called with the proxymod‐
259957              ule  LazyLoader  object so grains functions can communicate with
259958              their controlled device.
259959
259960                 import salt.config
259961                 import salt.loader
259962
259963                 __opts__ = salt.config.minion_config('/etc/salt/minion')
259964                 __grains__ = salt.loader.grains(__opts__)
259965                 print __grains__['id']
259966
259967       salt.loader.grain_funcs(opts, proxy=None)
259968              Returns the grain functions
259969
259970                     import salt.config
259971                     import salt.loader
259972
259973                     __opts__ = salt.config.minion_config('/etc/salt/minion')
259974                     grainfuncs = salt.loader.grain_funcs(__opts__)
259975
259976   Salt's Client Interfaces
259977   LocalClient
259978       class  salt.client.LocalClient(c_path=u'/etc/salt/master',  mopts=None,
259979       skip_perm_errors=False,   io_loop=None,   keep_loop=False,  auto_recon‐
259980       nect=False)
259981              The interface used by the salt CLI tool on the Salt Master
259982
259983              LocalClient is used to send a command to Salt minions to execute
259984              execution modules and return the results to the Salt Master.
259985
259986              Importing and using LocalClient must be done on the same machine
259987              as the Salt Master and it must be done using the same user  that
259988              the  Salt Master is running as. (Unless external_auth is config‐
259989              ured and authentication credentials are included in  the  execu‐
259990              tion).
259991
259992              NOTE:
259993                 The LocalClient uses a Tornado IOLoop, this can create issues
259994                 when using the LocalClient inside an existing IOLoop. If cre‐
259995                 ating  the  LocalClient  in  partnership  with another IOLoop
259996                 either create the IOLoop before creating the LocalClient,  or
259997                 when  creating  the  IOLoop  use  ioloop.current() which will
259998                 return the ioloop created by LocalClient.
259999
260000                 import salt.client
260001
260002                 local = salt.client.LocalClient()
260003                 local.cmd('*', 'test.fib', [10])
260004
260005              cmd(tgt, fun, arg=(), timeout=None,  tgt_type=u'glob',  ret=u'',
260006              jid=u'', full_return=False, kwarg=None, **kwargs)
260007                     Synchronously execute a command on targeted minions
260008
260009                     The  cmd  method  will  execute  and wait for the timeout
260010                     period for all minions to reply, then it will return  all
260011                     minion data at once.
260012
260013                        >>> import salt.client
260014                        >>> local = salt.client.LocalClient()
260015                        >>> local.cmd('*', 'cmd.run', ['whoami'])
260016                        {'jerry': 'root'}
260017
260018                     With  extra keyword arguments for the command function to
260019                     be run:
260020
260021                        local.cmd('*', 'test.arg', ['arg1', 'arg2'], kwarg={'foo': 'bar'})
260022
260023                     Compound commands can be used for multiple executions  in
260024                     a  single  publish. Function names and function arguments
260025                     are provided in separate lists but the index values  must
260026                     correlate  and an empty list must be used if no arguments
260027                     are required.
260028
260029                        >>> local.cmd('*', [
260030                                'grains.items',
260031                                'sys.doc',
260032                                'cmd.run',
260033                            ],
260034                            [
260035                                [],
260036                                [],
260037                                ['uptime'],
260038                            ])
260039
260040                     Parameters
260041
260042                            · tgt (string or list) -- Which minions to  target
260043                              for  the execution. Default is shell glob. Modi‐
260044                              fied by the tgt_type option.
260045
260046                            · fun (string or list of strings) --
260047
260048                              The module and function to call on the specified
260049                              minions of the form module.function. For example
260050                              test.ping or grains.items.
260051
260052                              Compound commands
260053                                     Multiple functions may  be  called  in  a
260054                                     single  publish by passing a list of com‐
260055                                     mands. This can dramatically lower  over‐
260056                                     head  and speed up the application commu‐
260057                                     nicating with Salt.
260058
260059                                     This requires that the  arg  param  is  a
260060                                     list  of  lists. The fun list and the arg
260061                                     list must correlate by  index  meaning  a
260062                                     function  that  does  not  take arguments
260063                                     must still  have  a  corresponding  empty
260064                                     list at the expected index.
260065
260066
260067                            · arg  (list  or list-of-lists) -- A list of argu‐
260068                              ments to pass to the  remote  function.  If  the
260069                              function  takes  no arguments arg may be omitted
260070                              except when executing a compound command.
260071
260072                            · timeout -- Seconds to wait after the last minion
260073                              returns but before all minions return.
260074
260075                            · tgt_type --
260076
260077                              The type of tgt. Allowed values:
260078
260079                              · glob - Bash glob completion - Default
260080
260081                              · pcre - Perl style regular expression
260082
260083                              · list - Python list of hosts
260084
260085                              · grain - Match based on a grain comparison
260086
260087                              · grain_pcre - Grain comparison with a regex
260088
260089                              · pillar - Pillar data comparison
260090
260091                              · pillar_pcre  -  Pillar  data comparison with a
260092                                regex
260093
260094                              · nodegroup - Match on nodegroup
260095
260096                              · range - Use a Range server for matching
260097
260098                              · compound - Pass a compound match string
260099
260100                              · ipcidr - Match based on Subnet (CIDR notation)
260101                                or IPv4 address.
260102
260103                              Changed   in   version  2017.7.0:  Renamed  from
260104                              expr_form to tgt_type
260105
260106
260107
260108                            · ret -- The returner to use. The value passed can
260109                              be single returner, or a comma delimited list of
260110                              returners to call in order on the minions
260111
260112                            · kwarg -- A dictionary with keyword arguments for
260113                              the function.
260114
260115                            · full_return   --  Output  the  job  return  only
260116                              (default) or the full return including exit code
260117                              and other job metadata.
260118
260119                            · kwargs --
260120
260121                              Optional keyword arguments.  Authentication cre‐
260122                              dentials may be passed when using external_auth.
260123
260124                              For example: local.cmd('*',  'test.ping',  user‐
260125                              name='saltdev',              password='saltdev',
260126                              eauth='pam').  Or:  local.cmd('*',  'test.ping',
260127                              token='5871821ea51754fdcea8153c1c745433')
260128
260129
260130                     Returns
260131                            A  dictionary  with  the  result of the execution,
260132                            keyed by minion ID. A compound command will return
260133                            a sub-dictionary keyed by function name.
260134
260135              cmd_async(tgt,  fun, arg=(), tgt_type=u'glob', ret=u'', jid=u'',
260136              kwarg=None, **kwargs)
260137                     Asynchronously send a command to connected minions
260138
260139                     The function signature is the same as cmd() with the fol‐
260140                     lowing exceptions.
260141
260142                     Returns
260143                            A job ID or 0 on failure.
260144
260145                        >>> local.cmd_async('*', 'test.sleep', [300])
260146                        '20131219215921857715'
260147
260148              cmd_batch(tgt,    fun,    arg=(),   tgt_type=u'glob',   ret=u'',
260149              kwarg=None, batch=u'10%', **kwargs)
260150                     Iteratively execute a command on subsets of minions at  a
260151                     time
260152
260153                     The function signature is the same as cmd() with the fol‐
260154                     lowing exceptions.
260155
260156                     Parameters
260157                            batch -- The batch identifier of systems  to  exe‐
260158                            cute on
260159
260160                     Returns
260161                            A generator of minion returns
260162
260163                        >>> returns = local.cmd_batch('*', 'state.highstate', batch='10%')
260164                        >>> for ret in returns:
260165                        ...     print(ret)
260166                        {'jerry': {...}}
260167                        {'dave': {...}}
260168                        {'stewart': {...}}
260169
260170              cmd_iter(tgt,   fun,   arg=(),  timeout=None,  tgt_type=u'glob',
260171              ret=u'', kwarg=None, **kwargs)
260172                     Yields the individual minion returns as they come in
260173
260174                     The function signature is the same as cmd() with the fol‐
260175                     lowing exceptions.
260176
260177                     Normally  cmd_iter()  does  not yield results for minions
260178                     that are not connected. If you want it to return  results
260179                     for   disconnected  minions  set  expect_minions=True  in
260180                     kwargs.
260181
260182                     Returns
260183                            A generator yielding the individual minion returns
260184
260185                        >>> ret = local.cmd_iter('*', 'test.ping')
260186                        >>> for i in ret:
260187                        ...     print(i)
260188                        {'jerry': {'ret': True}}
260189                        {'dave': {'ret': True}}
260190                        {'stewart': {'ret': True}}
260191
260192              cmd_iter_no_block(tgt,      fun,      arg=(),      timeout=None,
260193              tgt_type=u'glob',   ret=u'',  kwarg=None,  show_jid=False,  ver‐
260194              bose=False, **kwargs)
260195
260196                     Yields the individual minion returns as they come in,  or
260197                     None
260198                            when no returns are available.
260199
260200                     The function signature is the same as cmd() with the fol‐
260201                     lowing exceptions.
260202
260203                     Returns
260204                            A  generator  yielding   the   individual   minion
260205                            returns,  or  None  when no returns are available.
260206                            This allows for actions to be injected in  between
260207                            minion returns.
260208
260209                        >>> ret = local.cmd_iter_no_block('*', 'test.ping')
260210                        >>> for i in ret:
260211                        ...     print(i)
260212                        None
260213                        {'jerry': {'ret': True}}
260214                        {'dave': {'ret': True}}
260215                        None
260216                        {'stewart': {'ret': True}}
260217
260218              cmd_subset(tgt,    fun,   arg=(),   tgt_type=u'glob',   ret=u'',
260219              kwarg=None, sub=3, cli=False, progress=False, full_return=False,
260220              **kwargs)
260221                     Execute a command on a random subset of the targeted sys‐
260222                     tems
260223
260224                     The function signature is the same as cmd() with the fol‐
260225                     lowing exceptions.
260226
260227                     Parameters
260228
260229                            · sub -- The number of systems to execute on
260230
260231                            · cli  -- When this is set to True, a generator is
260232                              returned, otherwise a dictionary of  the  minion
260233                              returns is returned
260234
260235                        >>> SLC.cmd_subset('*', 'test.ping', sub=1)
260236                        {'jerry': True}
260237
260238              get_cli_returns(jid,     minions,     timeout=None,    tgt=u'*',
260239              tgt_type=u'glob', verbose=False, show_jid=False, **kwargs)
260240                     Starts a watcher looking at the return data for a  speci‐
260241                     fied JID
260242
260243                     Returns
260244                            all of the information for the JID
260245
260246              get_event_iter_returns(jid, minions, timeout=None)
260247                     Gather  the return data from the event system, break hard
260248                     when timeout is reached.
260249
260250              run_job(tgt,  fun,  arg=(),  tgt_type=u'glob',  ret=u'',   time‐
260251              out=None, jid=u'', kwarg=None, listen=False, **kwargs)
260252                     Asynchronously send a command to connected minions
260253
260254                     Prep  the job directory and publish a command to any tar‐
260255                     geted minions.
260256
260257                     Returns
260258                            A dictionary of (validated) pub_data or  an  empty
260259                            dictionary  on  failure. The pub_data contains the
260260                            job ID and a list of all minions that are expected
260261                            to return data.
260262
260263                        >>> local.run_job('*', 'test.sleep', [300])
260264                        {'jid': '20131219215650131543', 'minions': ['jerry']}
260265
260266   Salt Caller
260267       class salt.client.Caller(c_path=u'/etc/salt/minion', mopts=None)
260268              Caller  is the same interface used by the salt-call command-line
260269              tool on the Salt Minion.
260270
260271              Changed in version 2015.8.0: Added the cmd  method  for  consis‐
260272              tency  with  the  other Salt clients.  The existing function and
260273              sminion.functions interfaces still exist but have  been  removed
260274              from the docs.
260275
260276
260277              Importing and using Caller must be done on the same machine as a
260278              Salt Minion and it must be done using the  same  user  that  the
260279              Salt Minion is running as.
260280
260281              Usage:
260282
260283                 import salt.client
260284                 caller = salt.client.Caller()
260285                 caller.cmd('test.ping')
260286
260287              Note,  a  running master or minion daemon is not required to use
260288              this class.  Running salt-call --local simply  sets  file_client
260289              to  'local'.  The  same  can  be achieved at the Python level by
260290              including that setting in a minion config file.
260291
260292              New in version 2014.7.0: Pass the minion  config  as  the  mopts
260293              dictionary.
260294
260295
260296                 import salt.client
260297                 import salt.config
260298                 __opts__ = salt.config.minion_config('/etc/salt/minion')
260299                 __opts__['file_client'] = 'local'
260300                 caller = salt.client.Caller(mopts=__opts__)
260301
260302              cmd(fun, *args, **kwargs)
260303                     Call  an  execution  module  with the given arguments and
260304                     keyword arguments
260305
260306                     Changed in version 2015.8.0: Added  the  cmd  method  for
260307                     consistency  with  the  other Salt clients.  The existing
260308                     function and sminion.functions interfaces still exist but
260309                     have been removed from the docs.
260310
260311
260312                        caller.cmd('test.arg', 'Foo', 'Bar', baz='Baz')
260313
260314                        caller.cmd('event.send', 'myco/myevent/something',
260315                            data={'foo': 'Foo'}, with_env=['GIT_COMMIT'], with_grains=True)
260316
260317   Salt Proxy Caller
260318       class salt.client.ProxyCaller(c_path=u'/etc/salt/proxy', mopts=None)
260319              ProxyCaller is the same interface used by the salt-call with the
260320              args --proxyid <proxyid> command-line tool  on  the  Salt  Proxy
260321              Minion.
260322
260323              Importing and using ProxyCaller must be done on the same machine
260324              as a Salt Minion and it must be done using the  same  user  that
260325              the Salt Minion is running as.
260326
260327              Usage:
260328
260329                 import salt.client
260330                 caller = salt.client.Caller()
260331                 caller.cmd('test.ping')
260332
260333              Note,  a  running master or minion daemon is not required to use
260334              this class.  Running salt-call --local simply  sets  file_client
260335              to  'local'.  The  same  can  be achieved at the Python level by
260336              including that setting in a minion config file.
260337
260338                 import salt.client
260339                 import salt.config
260340                 __opts__ = salt.config.proxy_config('/etc/salt/proxy', minion_id='quirky_edison')
260341                 __opts__['file_client'] = 'local'
260342                 caller = salt.client.ProxyCaller(mopts=__opts__)
260343
260344              NOTE:
260345                 To use this  for  calling  proxies,  the  is_proxy  functions
260346                 requires that --proxyid be an argument on the commandline for
260347                 the script this is used in, or that the string  proxy  is  in
260348                 the name of the script.
260349
260350              cmd(fun, *args, **kwargs)
260351                     Call  an  execution  module  with the given arguments and
260352                     keyword arguments
260353
260354                        caller.cmd('test.arg', 'Foo', 'Bar', baz='Baz')
260355
260356                        caller.cmd('event.send', 'myco/myevent/something',
260357                            data={'foo': 'Foo'}, with_env=['GIT_COMMIT'], with_grains=True)
260358
260359   RunnerClient
260360       class salt.runner.RunnerClient(opts)
260361              The interface used by the salt-run CLI tool on the Salt Master
260362
260363              It executes runner modules which run on the Salt Master.
260364
260365              Importing and using  RunnerClient  must  be  done  on  the  same
260366              machine  as  the  Salt Master and it must be done using the same
260367              user that the Salt Master is running as.
260368
260369              Salt's external_auth can be  used  to  authenticate  calls.  The
260370              eauth  user must be authorized to execute runner modules: (@run‐
260371              ner).  Only the master_call() below supports eauth.
260372
260373              asynchronous(fun, low, user=u'UNKNOWN', pub=None)
260374                     Execute the function in a  multiprocess  and  return  the
260375                     event tag to use to watch for the return
260376
260377              cmd(fun,  arg=None, pub_data=None, kwarg=None, print_event=True,
260378              full_return=False)
260379                     Execute a function
260380
260381              cmd_async(low)
260382                     Execute  a  runner  function  asynchronously;  eauth   is
260383                     respected
260384
260385                     This  function  requires that external_auth is configured
260386                     and the user is authorized to execute  runner  functions:
260387                     (@runner).
260388
260389                        runner.eauth_async({
260390                            'fun': 'jobs.list_jobs',
260391                            'username': 'saltdev',
260392                            'password': 'saltdev',
260393                            'eauth': 'pam',
260394                        })
260395
260396              cmd_sync(low, timeout=None, full_return=False)
260397                     Execute   a   runner  function  synchronously;  eauth  is
260398                     respected
260399
260400                     This function requires that external_auth  is  configured
260401                     and  the  user is authorized to execute runner functions:
260402                     (@runner).
260403
260404                        runner.eauth_sync({
260405                            'fun': 'jobs.list_jobs',
260406                            'username': 'saltdev',
260407                            'password': 'saltdev',
260408                            'eauth': 'pam',
260409                        })
260410
260411   WheelClient
260412       class salt.wheel.WheelClient(opts=None)
260413              An interface to Salt's wheel modules
260414
260415              Wheel modules interact with various parts of the Salt Master.
260416
260417              Importing and using WheelClient must be done on the same machine
260418              as  the Salt Master and it must be done using the same user that
260419              the Salt Master is running as. Unless external_auth  is  config‐
260420              ured  and  the  user  is  authorized to execute wheel functions:
260421              (@wheel).
260422
260423              Usage:
260424
260425                 import salt.config
260426                 import salt.wheel
260427                 opts = salt.config.master_config('/etc/salt/master')
260428                 wheel = salt.wheel.WheelClient(opts)
260429
260430              asynchronous(fun, low, user=u'UNKNOWN', pub=None)
260431                     Execute the function in a  multiprocess  and  return  the
260432                     event tag to use to watch for the return
260433
260434              cmd(fun,  arg=None, pub_data=None, kwarg=None, print_event=True,
260435              full_return=False)
260436                     Execute a function
260437
260438                        >>> wheel.cmd('key.finger', ['jerry'])
260439                        {'minions': {'jerry': '5d:f6:79:43:5e:d4:42:3f:57:b8:45:a8:7e:a4:6e:ca'}}
260440
260441              cmd_async(low)
260442                     Execute a function asynchronously; eauth is respected
260443
260444                     This function requires that external_auth  is  configured
260445                     and the user is authorized
260446
260447                        >>> wheel.cmd_async({
260448                            'fun': 'key.finger',
260449                            'match': 'jerry',
260450                            'eauth': 'auto',
260451                            'username': 'saltdev',
260452                            'password': 'saltdev',
260453                        })
260454                        {'jid': '20131219224744416681', 'tag': 'salt/wheel/20131219224744416681'}
260455
260456              cmd_sync(low, timeout=None, full_return=False)
260457                     Execute   a   wheel   function  synchronously;  eauth  is
260458                     respected
260459
260460                     This function requires that external_auth  is  configured
260461                     and  the  user is authorized to execute runner functions:
260462                     (@wheel).
260463
260464                        >>> wheel.cmd_sync({
260465                        'fun': 'key.finger',
260466                        'match': 'jerry',
260467                        'eauth': 'auto',
260468                        'username': 'saltdev',
260469                        'password': 'saltdev',
260470                        })
260471                        {'minions': {'jerry': '5d:f6:79:43:5e:d4:42:3f:57:b8:45:a8:7e:a4:6e:ca'}}
260472
260473   CloudClient
260474       class  salt.cloud.CloudClient(path=None,  opts=None,   config_dir=None,
260475       pillars=None)
260476              The client class to wrap cloud interactions
260477
260478              action(fun=None,   cloudmap=None,   names=None,   provider=None,
260479              instance=None, kwargs=None)
260480                     Execute a single action via the cloud plugin backend
260481
260482                     Examples:
260483
260484                        client.action(fun='show_instance', names=['myinstance'])
260485                        client.action(fun='show_image', provider='my-ec2-config',
260486                            kwargs={'image': 'ami-10314d79'}
260487                        )
260488
260489              create(provider, names, **kwargs)
260490                     Create the named VMs, without using a profile
260491
260492                     Example:
260493
260494                        client.create(provider='my-ec2-config', names=['myinstance'],
260495                            image='ami-1624987f', size='t1.micro', ssh_username='ec2-user',
260496                            securitygroup='default', delvol_on_destroy=True)
260497
260498              destroy(names)
260499                     Destroy the named VMs
260500
260501              extra_action(names, provider, action, **kwargs)
260502                     Perform actions with block storage devices
260503
260504                     Example:
260505
260506                        client.extra_action(names=['myblock'], action='volume_create',
260507                            provider='my-nova', kwargs={'voltype': 'SSD', 'size': 1000}
260508                        )
260509                        client.extra_action(names=['salt-net'], action='network_create',
260510                            provider='my-nova', kwargs={'cidr': '192.168.100.0/24'}
260511                        )
260512
260513              full_query(query_type=u'list_nodes_full')
260514                     Query all instance information
260515
260516              list_images(provider=None)
260517                     List all available images in configured cloud systems
260518
260519              list_locations(provider=None)
260520                     List all available locations in configured cloud systems
260521
260522              list_sizes(provider=None)
260523                     List all available sizes in configured cloud systems
260524
260525              low(fun, low)
260526                     Pass the cloud function and low data structure to run
260527
260528              map_run(path=None, **kwargs)
260529                     To execute a map
260530
260531              min_query(query_type=u'list_nodes_min')
260532                     Query select instance information
260533
260534              profile(profile, names, vm_overrides=None, **kwargs)
260535                     Pass in a profile to create, names is a list of vm  names
260536                     to allocate
260537                        vm_overrides  is  a special dict that will be per node
260538                        options overrides
260539
260540                     Example:
260541
260542                        >>> client= salt.cloud.CloudClient(path='/etc/salt/cloud')
260543                        >>> client.profile('do_512_git', names=['minion01',])
260544                        {'minion01': {'backups_active': 'False',
260545                                'created_at': '2014-09-04T18:10:15Z',
260546                                'droplet': {'event_id': 31000502,
260547                                             'id': 2530006,
260548                                             'image_id': 5140006,
260549                                             'name': 'minion01',
260550                                             'size_id': 66},
260551                                'id': '2530006',
260552                                'image_id': '5140006',
260553                                'ip_address': '107.XXX.XXX.XXX',
260554                                'locked': 'True',
260555                                'name': 'minion01',
260556                                'private_ip_address': None,
260557                                'region_id': '4',
260558                                'size_id': '66',
260559                                'status': 'new'}}
260560
260561              query(query_type=u'list_nodes')
260562                     Query basic instance information
260563
260564              select_query(query_type=u'list_nodes_select')
260565                     Query select instance information
260566
260567   SSHClient
260568       class      salt.client.ssh.client.SSHClient(c_path=u'/etc/salt/master',
260569       mopts=None, disable_custom_roster=False)
260570              Create  a  client object for executing routines via the salt-ssh
260571              backend
260572
260573              New in version 2015.5.0.
260574
260575
260576              cmd(tgt,   fun,    arg=(),    timeout=None,    tgt_type=u'glob',
260577              kwarg=None, **kwargs)
260578                     Execute  a  single command via the salt-ssh subsystem and
260579                     return all routines at once
260580
260581                     New in version 2015.5.0.
260582
260583
260584              cmd_iter(tgt,  fun,  arg=(),   timeout=None,   tgt_type=u'glob',
260585              ret=u'', kwarg=None, **kwargs)
260586                     Execute  a  single command via the salt-ssh subsystem and
260587                     return a generator
260588
260589                     New in version 2015.5.0.
260590
260591
260592   netapi modules
260593   Introduction to netapi modules
260594       netapi modules provide  API-centric  access  to  Salt.  Usually  exter‐
260595       nally-facing services such as REST or WebSockets, XMPP, XMLRPC, etc.
260596
260597       In  general netapi modules bind to a port and start a service. They are
260598       purposefully open-ended. A single module can be configured  to  run  as
260599       well as multiple modules simultaneously.
260600
260601       netapi  modules are enabled by adding configuration to your Salt Master
260602       config file and then starting the salt-api daemon. Check the  docs  for
260603       each module to see external requirements and configuration settings.
260604
260605       Communication  with  Salt  and  Salt  satellite  projects is done using
260606       Salt's own Python API. A list of available client interfaces is below.
260607
260608          salt-api
260609
260610                 Prior to Salt's 2014.7.0 release, netapi modules lived in the
260611                 separate  sister  projected  salt-api.  That project has been
260612                 merged into the main Salt project.
260613
260614       SEE ALSO:
260615          The full list of netapi modules
260616
260617   Client interfaces
260618       Salt's client interfaces expose executing functions by crafting a  dic‐
260619       tionary  of  values  that are mapped to function arguments. This allows
260620       calling functions simply by creating a data  structure.  (And  this  is
260621       exactly how much of Salt's own internals work!)
260622
260623       class salt.netapi.NetapiClient(opts)
260624              Provide  a uniform method of accessing the various client inter‐
260625              faces in Salt in the form of low-data data structures. For exam‐
260626              ple:
260627
260628              >>> client = NetapiClient(__opts__)
260629              >>> lowstate = {'client': 'local', 'tgt': '*', 'fun': 'test.ping', 'arg': ''}
260630              >>> client.run(lowstate)
260631
260632              local(*args, **kwargs)
260633                     Run execution modules synchronously
260634
260635                     See   salt.client.LocalClient.cmd()   for  all  available
260636                     parameters.
260637
260638                     Sends a command from the master to the targeted  minions.
260639                     This is the same interface that Salt's own CLI uses. Note
260640                     the arg and kwarg parameters are sent down  to  the  min‐
260641                     ion(s)  and the given function, fun, is called with those
260642                     parameters.
260643
260644                     Returns
260645                            Returns the result from the execution module
260646
260647              local_async(*args, **kwargs)
260648                     Run execution modules asynchronously
260649
260650                     Wraps salt.client.LocalClient.run_job().
260651
260652                     Returns
260653                            job ID
260654
260655              local_subset(*args, **kwargs)
260656                     Run execution modules against subsets of minions
260657
260658                     New in version 2016.3.0.
260659
260660
260661                     Wraps salt.client.LocalClient.cmd_subset()
260662
260663              runner(fun, timeout=None, full_return=False, **kwargs)
260664                     Run runner modules <all-salt.runners> synchronously
260665
260666                     Wraps salt.runner.RunnerClient.cmd_sync().
260667
260668                     Note that runner functions must be called  using  keyword
260669                     arguments.  Positional arguments are not supported.
260670
260671                     Returns
260672                            Returns the result from the runner module
260673
260674              runner_async(fun, **kwargs)
260675                     Run runner modules <all-salt.runners> asynchronously
260676
260677                     Wraps salt.runner.RunnerClient.cmd_async().
260678
260679                     Note  that  runner functions must be called using keyword
260680                     arguments.  Positional arguments are not supported.
260681
260682                     Returns
260683                            event data and a job ID for the executed function.
260684
260685              ssh(*args, **kwargs)
260686                     Run salt-ssh commands synchronously
260687
260688                     Wraps salt.client.ssh.client.SSHClient.cmd_sync().
260689
260690                     Returns
260691                            Returns the result from the salt-ssh command
260692
260693              wheel(fun, **kwargs)
260694                     Run wheel modules synchronously
260695
260696                     Wraps salt.wheel.WheelClient.master_call().
260697
260698                     Note that wheel functions must be  called  using  keyword
260699                     arguments.  Positional arguments are not supported.
260700
260701                     Returns
260702                            Returns the result from the wheel module
260703
260704              wheel_async(fun, **kwargs)
260705                     Run wheel modules asynchronously
260706
260707                     Wraps salt.wheel.WheelClient.master_call().
260708
260709                     Note  that  wheel  functions must be called using keyword
260710                     arguments.  Positional arguments are not supported.
260711
260712                     Returns
260713                            Returns the result from the wheel module
260714
260715   Writing netapi modules
260716       netapi modules, put simply, bind a port and start a service.  They  are
260717       purposefully  open-ended and can be used to present a variety of exter‐
260718       nal interfaces to Salt, and even present multiple interfaces at once.
260719
260720       SEE ALSO:
260721          The full list of netapi modules
260722
260723   Configuration
260724       All netapi configuration is done in the Salt master config and takes  a
260725       form similar to the following:
260726
260727          rest_cherrypy:
260728            port: 8000
260729            debug: True
260730            ssl_crt: /etc/pki/tls/certs/localhost.crt
260731            ssl_key: /etc/pki/tls/certs/localhost.key
260732
260733   The __virtual__ function
260734       Like  all module types in Salt, netapi modules go through Salt's loader
260735       interface to determine if they should be loaded into  memory  and  then
260736       executed.
260737
260738       The  __virtual__  function  in  the module makes this determination and
260739       should return False or a string that will serve as the name of the mod‐
260740       ule.  If  the module raises an ImportError or any other errors, it will
260741       not be loaded.
260742
260743   The start function
260744       The start() function will be called for  each  netapi  module  that  is
260745       loaded.  This  function  should  contain  the server loop that actually
260746       starts the service. This is started in a multiprocess.
260747
260748   Multiple instances
260749       New in version 2016.11.0.
260750
260751
260752       rest_cherrypy and rest_tornado support running  multiple  instances  by
260753       copying  and  renaming  entire  directory of those. To start the copied
260754       multiple netapi modules, add configuration blocks for the copied netapi
260755       modules in the Salt Master config. The name of each added configuration
260756       block must match with the name of each directory of the  copied  netapi
260757       module.
260758
260759   Inline documentation
260760       As  with  the  rest  of  Salt, it is a best-practice to include liberal
260761       inline documentation in the form of a module docstring  and  docstrings
260762       on any classes, methods, and functions in your netapi module.
260763
260764   Loader “magic” methods
260765       The  loader makes the __opts__ data structure available to any function
260766       in a netapi module.
260767

ARCHITECTURE

260769       If you are used to configuration management tools that require  you  to
260770       plan down to the last detail before you install anything, you are prob‐
260771       ably wondering why this section doesn't appear before the  installation
260772       instructions.  With  Salt, you can switch to a high availability archi‐
260773       tecture at any time,  and  add  additional  components  to  scale  your
260774       deployment as you go.
260775
260776       Since  a single Salt master can manage thousands of systems, we usually
260777       recommend that you start by deploying a single Salt  master,  and  then
260778       modifying  your  deployment as needed for redundancy, geographical dis‐
260779       tribution, and scale.
260780
260781   High Availability Features in Salt
260782       Salt supports several features for high availability and  fault  toler‐
260783       ance.  Brief documentation for these features is listed alongside their
260784       configuration parameters in Configuration file examples.
260785
260786   Multimaster
260787       Salt minions can connect to multiple masters at one time by configuring
260788       the  master configuration parameter as a YAML list of all the available
260789       masters.  By default, all masters are "hot", meaning  that  any  master
260790       can direct commands to the Salt infrastructure.
260791
260792       In  a multimaster configuration, each master must have the same crypto‐
260793       graphic keys, and minion keys must be accepted  on  all  masters  sepa‐
260794       rately.  The contents of file_roots and pillar_roots need to be kept in
260795       sync with processes external to Salt as well
260796
260797       A tutorial on setting up multimaster with "hot" masters is here:
260798
260799       Multimaster Tutorial
260800
260801   Multimaster with Failover
260802       Changing the master_type parameter from str to failover will cause min‐
260803       ions  to connect to the first responding master in the list of masters.
260804       Every master_alive_interval seconds the minions will check to make sure
260805       the  current  master  is  still  responding.   If  the  master does not
260806       respond, the minion will attempt to connect to the next master  in  the
260807       list.   If the minion runs out of masters, the list will be recycled in
260808       case dead masters have been restored.  Note that  master_alive_interval
260809       must  be present in the minion configuration, or else the recurring job
260810       to check master status will not get scheduled.
260811
260812       Failover can be combined with PKI-style encrypted keys, but PKI is  NOT
260813       REQUIRED to use failover.
260814
260815       Multimaster with PKI and Failover is discussed in this tutorial
260816
260817       master_type:  failover  can  be  combined  with master_shuffle: True to
260818       spread minion connections across all masters (one  master  per  minion,
260819       not  each  minion connecting to all masters).  Adding Salt Syndics into
260820       the mix makes it possible to create a  load-balanced  Salt  infrastruc‐
260821       ture.  If a master fails, minions will notice and select another master
260822       from the available list.
260823
260824   Syndic
260825       Salt's Syndic feature is  a  way  to  create  differing  infrastructure
260826       topologies.   It  is  not strictly an HA feature, but can be treated as
260827       such.
260828
260829       With the syndic, a Salt infrastructure can be partitioned in such a way
260830       that  certain  masters  control certain segments of the infrastructure,
260831       and "Master of Masters" nodes can control multiple segments  underneath
260832       them.
260833
260834       Syndics are covered in depth in Salt Syndic.
260835
260836   Syndic with Multimaster
260837       New in version 2015.5.0.
260838
260839
260840       Syndic  with  Multimaster lets you connect a syndic to multiple masters
260841       to provide an additional layer of redundancy in a syndic configuration.
260842
260843       Syndics are covered in depth in Salt Syndic.
260844
260845   Salt Syndic
260846       The most basic or typical Salt topology consists  of  a  single  Master
260847       node  controlling  a group of Minion nodes.  An intermediate node type,
260848       called Syndic, when used  offers  greater  structural  flexibility  and
260849       scalability in the construction of Salt topologies than topologies con‐
260850       structed only out of Master and Minion node types.
260851
260852       A Syndic node can be thought of as a special passthrough  Minion  node.
260853       A Syndic node consists of a salt-syndic daemon and a salt-master daemon
260854       running on the same system.  The salt-master daemon running on the Syn‐
260855       dic node controls a group of lower level Minion nodes and the salt-syn‐
260856       dic daemon connects higher level Master node, sometimes called a Master
260857       of Masters.
260858
260859       The  salt-syndic daemon relays publications and events between the Mas‐
260860       ter node and the local salt-master daemon.  This gives the Master  node
260861       control  over  the Minion nodes attached to the salt-master daemon run‐
260862       ning on the Syndic node.
260863
260864   Configuring the Syndic
260865       To setup a Salt Syndic you need to tell the Syndic node and its  Master
260866       node  about  each  other.  If your Master node is located at 10.10.0.1,
260867       then your configurations would be:
260868
260869       On the Syndic node:
260870
260871          # /etc/salt/master
260872          syndic_master: 10.10.0.1  # may be either an IP address or a hostname
260873
260874          # /etc/salt/minion
260875
260876          # id is shared by the salt-syndic daemon and a possible salt-minion daemon
260877          # on the Syndic node
260878          id: my_syndic
260879
260880       On the Master node:
260881
260882          # /etc/salt/master
260883          order_masters: True
260884
260885       The syndic_master option tells the Syndic node where to find the Master
260886       node  in  the same way that the master option tells a Minion node where
260887       to find a Master node.
260888
260889       The id option is used by the salt-syndic daemon to  identify  with  the
260890       Master  node and if unset will default to the hostname or IP address of
260891       the Syndic just as with a Minion.
260892
260893       The order_masters option configures  the  Master  node  to  send  extra
260894       information  with  its publications that is needed by Syndic nodes con‐
260895       nected directly to it.
260896
260897       NOTE:
260898          Each Syndic must provide its own file_roots  directory.  Files  will
260899          not be automatically transferred from the Master node.
260900
260901   Configuring the Syndic with Multimaster
260902       New in version 2015.5.0.
260903
260904
260905       Syndic  with  Multimaster lets you connect a syndic to multiple masters
260906       to provide an additional layer of redundancy in a syndic configuration.
260907
260908       Higher level masters should first be configured in a  multimaster  con‐
260909       figuration.  See Multimaster Tutorial.
260910
260911       On the syndic, the syndic_master option is populated with a list of the
260912       higher level masters.
260913
260914       Since each syndic is connected to each master, jobs sent from any  mas‐
260915       ter  are forwarded to minions that are connected to each syndic. If the
260916       master_id value is set in the master config on the  higher  level  mas‐
260917       ters,  job  results  are  returned  to  the  master that originated the
260918       request in a best effort fashion. Events/jobs without a  master_id  are
260919       returned to any available master.
260920
260921   Running the Syndic
260922       The  salt-syndic  daemon is a separate process that needs to be started
260923       in addition to the salt-master  daemon  running  on  the  Syndic  node.
260924       Starting  the salt-syndic daemon is the same as starting the other Salt
260925       daemons.
260926
260927       The Master node in many ways sees the  Syndic  as  an  ordinary  Minion
260928       node.   In particular, the Master will need to accept the Syndic's Min‐
260929       ion key as it would for any other Minion.
260930
260931       On the Syndic node:
260932
260933          # salt-syndic
260934          or
260935          # service salt-syndic start
260936
260937       On the Master node:
260938
260939          # salt-key -a my_syndic
260940
260941       The Master node will now be able to control the Minion nodes  connected
260942       to the Syndic.  Only the Syndic key will be listed in the Master node's
260943       key registry but this also means that key activity between the Syndic's
260944       Minions and the Syndic does not encumber the Master node.  In this way,
260945       the Syndic's key on the Master node can be thought of as a  placeholder
260946       for  the keys of all the Minion and Syndic nodes beneath it, giving the
260947       Master node a clear, high level structural view on the Salt cluster.
260948
260949       On the Master node:
260950
260951          # salt-key -L
260952          Accepted Keys:
260953          my_syndic
260954          Denied Keys:
260955          Unaccepted Keys:
260956          Rejected Keys:
260957
260958          # salt '*' test.ping
260959          minion_1:
260960              True
260961          minion_2:
260962              True
260963          minion_4:
260964              True
260965          minion_3:
260966              True
260967
260968   Topology
260969       A Master node (a node which is itself not a Syndic  to  another  higher
260970       level  Master  node)  must  run  a  salt-master daemon and optionally a
260971       salt-minion daemon.
260972
260973       A Syndic node must run salt-syndic and salt-master daemons and  option‐
260974       ally a salt-minion daemon.
260975
260976       A Minion node must run a salt-minion daemon.
260977
260978       When  a salt-master daemon issues a command, it will be received by the
260979       Syndic and Minion nodes directly connected to it.  A Minion  node  will
260980       process  the command in the way it ordinarily would.  On a Syndic node,
260981       the salt-syndic daemon will relay the command to the salt-master daemon
260982       running  on  the  Syndic node, which then propagates the command to the
260983       Minions and Syndics connected to it.
260984
260985       When events and job return data are generated by  salt-minion  daemons,
260986       they  are  aggregated  by the salt-master daemon they are connected to,
260987       which  salt-master  daemon  then  relays  the  data  back  through  its
260988       salt-syndic  daemon  until  the  data reaches the Master or Syndic node
260989       that issued the command.
260990
260991   Syndic wait
260992       syndic_wait is a master configuration file setting that  specifies  the
260993       number of seconds the Salt client should wait for additional syndics to
260994       check in with their lists of expected minions before  giving  up.  This
260995       value defaults to 5 seconds.
260996
260997       The  syndic_wait  setting  is necessary because the higher-level master
260998       does not have a way of knowing which minions are below the syndics. The
260999       higher-level  master  has its own list of expected minions and the mas‐
261000       ters below them have their own lists as well, so the Salt  client  does
261001       not  how  long  to  wait for all returns. The syndic_wait option allows
261002       time for all minions to return to the Salt client.
261003
261004       NOTE:
261005          To reduce the amount of time the CLI waits for Minions  to  respond,
261006          install  a Minion on the Syndic or tune the value of the syndic_wait
261007          configuration.
261008
261009       While it is possible to run a Syndic without a Minion installed on  the
261010       same  system,  it is recommended, for a faster CLI response time, to do
261011       so.  Without a Minion installed on the Syndic node, the  timeout  value
261012       of  syndic_wait increases significantly - about three-fold. With a Min‐
261013       ion installed on the Syndic, the  CLI  timeout  resides  at  the  value
261014       defined in syndic_wait.
261015
261016       NOTE:
261017          If  you  have a very large infrastructure or many layers of Syndics,
261018          you may find that the CLI doesn't wait long enough for  the  Syndics
261019          to  return their events.  If you think this is the case, you can set
261020          the syndic_wait value in the Master configs on the Master or  Syndic
261021          nodes from which commands are executed.  The default value is 5, and
261022          should work for the majority of deployments.
261023
261024       In order for a Master or Syndic node to return information from Minions
261025       that  are  below  their  Syndics, the CLI requires a short wait time in
261026       order to allow the Syndics to gather responses from their Minions. This
261027       value  is defined in the syndic_wait config option and has a default of
261028       five seconds.
261029
261030   Syndic config options
261031       These are the options that can be used  to  configure  a  Syndic  node.
261032       Note that other than id, Syndic config options are placed in the Master
261033       config on the Syndic node.
261034
261035          · id: Syndic id (shared by the salt-syndic daemon with  a  potential
261036            salt-minion daemon on the same system)
261037
261038          · syndic_master: Master node IP address or hostname
261039
261040          · syndic_master_port: Master node ret_port
261041
261042          · syndic_log_file: path to the logfile (absolute or not)
261043
261044          · syndic_pidfile: path to the pidfile (absolute or not)
261045
261046          · syndic_wait: time in seconds to wait on returns from this syndic
261047
261048   Minion Data Cache
261049       Beginning  with  Salt  2016.11.0,  the  Pluggable Minion Data Cache was
261050       introduced. The minion data cache contains the Salt Mine  data,  minion
261051       grains,  and  minion  pillar  information cached on the Salt Master. By
261052       default, Salt uses the localfs cache module, but  other  external  data
261053       stores can be used instead.
261054
261055       Using  a pluggable minion cache modules allows for the data stored on a
261056       Salt Master about Salt Minions to be replicated on other  Salt  Masters
261057       the Minion is connected to. Please see the Minion Data Cache documenta‐
261058       tion for more information and configuration examples.
261059

MINION DATA CACHE

261061       New in version 2016.11.0.
261062
261063
261064       The Minion data cache contains the Salt Mine data,  minion  grains  and
261065       minion  pillar  information cached on the Salt Master. By default, Salt
261066       uses the localfs cache module to save the data in a msgpack file on the
261067       Salt Master.
261068
261069   Pluggable Data Cache
261070       While  the default Minion data cache is the localfs cache, other exter‐
261071       nal data stores can also be used to store this data such as the  consul
261072       module.   To configure a Salt Master to use a different data store, the
261073       cache setting needs to be established:
261074
261075          cache: consul
261076
261077       The pluggable data cache streamlines using various Salt topologies such
261078       as  a  Multi-Master  or Salt Syndics configuration by allowing the data
261079       stored on the Salt Master about a Salt Minion to be available to  other
261080       Salt Syndics or Salt Masters that a Salt Minion is connected to.
261081
261082       Additional  minion data cache modules can be easily created by modeling
261083       the custom data store after one of the existing cache modules.
261084
261085       See cache modules for a current list.
261086
261087   Configuring the Minion Data Cache
261088       The default localfs Minion data cache module doesn't require  any  con‐
261089       figuration.  External data cache modules with external data stores such
261090       as Consul require a configuration setting in the master config.
261091
261092       Here's an example config for Consul:
261093
261094          consul.host: 127.0.0.1
261095          consul.port: 8500
261096          consul.token: None
261097          consul.scheme: http
261098          consul.consistency: default
261099          consul.dc: dc1
261100          consul.verify: True
261101
261102          cache: consul
261103

SLOTS

261105       New in version 2018.3.0.
261106
261107
261108       NOTE:
261109          This functionality is under development and could be changed in  the
261110          future releases
261111
261112       Many  times  it  is useful to store the results of a command during the
261113       course of an execution. Salt Slots are designed to allow you  to  store
261114       this  information  and  use  it later during the highstate or other job
261115       execution.
261116
261117       Slots extend the state syntax and allows you to do things right  before
261118       the  state function is executed. So you can make a decision in the last
261119       moment right before a state is executed.
261120
261121   Execution functions
261122       NOTE:
261123          Using execution modules return data as a state  values  is  a  first
261124          step of Slots development. Other functionality is under development.
261125
261126       Slots  allow  you to use the return from a remote-execution function as
261127       an argument value in states.
261128
261129       Slot syntax looks close to the simple python function call.
261130
261131          __slot__:salt:<module>.<function>(<args>, ..., <kwargs...>, ...)
261132
261133       Also there are some specifics in the syntax coming from  the  execution
261134       functions  nature  and  a desire to simplify the user experience. First
261135       one is that you don't need to quote the strings  passed  to  the  slots
261136       functions. The second one is that all arguments handled as strings.
261137
261138       Here is a simple example:
261139
261140          copy-some-file:
261141            file.copy:
261142              - name: __slot__:salt:test.echo(text=/tmp/some_file)
261143              - source: __slot__:salt:test.echo(/etc/hosts)
261144
261145       This  will execute the test.echo execution functions right before call‐
261146       ing the state. The functions in the example will return  /tmp/some_file
261147       and  /etc/hosts  strings that will be used as a target and source argu‐
261148       ments in the state function file.copy.
261149

WINDOWS

261151       This section contains details on the Windows Package Manager, and  spe‐
261152       cific information you need to use Salt on Windows.
261153
261154   Windows Software Repository
261155       NOTE:
261156          In 2015.8.0 and later, the Windows Software Repository cache is com‐
261157          piled on the Salt Minion, which enables  pillar,  grains  and  other
261158          things  to be available during compilation time. To support this new
261159          functionality, a next-generation (ng) package  repository  was  cre‐
261160          ated. See the Changes in Version 2015.8.0 for details.
261161
261162       The  SaltStack  Windows  Software Repository provides a package manager
261163       and software repository similar to what is provided by yum and  apt  on
261164       Linux.  This  repository enables the installation of software using the
261165       installers on remote Windows systems.
261166
261167       In many senses, the operation is similar to that of the  other  package
261168       managers salt is aware of:
261169
261170       · the pkg.installed and similar states work on Windows.
261171
261172       · the pkg.install and similar module functions work on Windows.
261173
261174       High level differences to yum and apt are:
261175
261176       · The  repository metadata (SLS files) is hosted through either salt or
261177         git.
261178
261179       · Packages can be downloaded from within the  salt  repository,  a  git
261180         repository or from http(s) or ftp urls.
261181
261182       · No  dependencies  are managed. Dependencies between packages needs to
261183         be managed manually.
261184
261185       Requirements:
261186
261187       · GitPython 0.3 or later, or pygit2 0.20.3 with libgit 0.20.0 or  later
261188         installed  on  your  Salt master. The Windows package definitions are
261189         downloaded and updated using Git.
261190
261191   Configuration
261192   Populate the Repository
261193       The SLS files used to install Windows packages are not  distributed  by
261194       default  with Salt. Run the following command to initialize the reposi‐
261195       tory on your Salt master:
261196
261197          salt-run winrepo.update_git_repos
261198
261199   Sync Repo to Windows Minions
261200       Run pkg.refresh_db on each of your Windows minions to  synchronize  the
261201       package repository.
261202
261203          salt -G 'os:windows' pkg.refresh_db
261204
261205       NOTE:
261206          Use  pkg.refresh_db from 2016.11 when developing new Windows package
261207          definitions to check for errors in the definitions  against  one  or
261208          more Windows minions.
261209
261210   Install Windows Software
261211       After completing the configuration steps, you are ready to manage soft‐
261212       ware on your Windows minions.
261213
261214   Show Installed Packages
261215          salt -G 'os:windows' pkg.list_pkgs
261216
261217   Install a Package
261218       You can query the available version of a package  using  the  Salt  pkg
261219       module.
261220
261221          salt winminion pkg.list_available firefox
261222
261223          winminion:
261224              - 15.0.1
261225              - 16.0.2
261226              - 17.0.1
261227
261228       As  you  can  see,  there  are  three versions of Firefox available for
261229       installation.  You can refer a software package  by  its  name  or  its
261230       full_name surround by single quotes.
261231
261232          salt winminion pkg.install 'firefox'
261233
261234       The above line will install the latest version of Firefox.
261235
261236          salt winminion pkg.install 'firefox' version=16.0.2
261237
261238       The above line will install version 16.0.2 of Firefox.
261239
261240       If  a  different version of the package is already installed it will be
261241       replaced with the version in the winrepo (only if  the  package  itself
261242       supports live updating).
261243
261244       You can also specify the full name:
261245
261246          salt winminion pkg.install 'Mozilla Firefox 17.0.1 (x86 en-US)'
261247
261248   Uninstall Windows Software
261249       Uninstall software using the pkg module:
261250
261251          salt winminion pkg.remove firefox
261252          salt winminion pkg.purge firefox
261253
261254       NOTE:
261255          pkg.purge  just executes pkg.remove on Windows. At some point in the
261256          future pkg.purge may direct the installer to remove all configs  and
261257          settings for software packages that support that option.
261258
261259   Repository Location
261260       Salt  maintains  a repository of SLS files to install a large number of
261261       Windows packages:
261262
261263       · 2015.8.0               and               later               minions:
261264         https://github.com/saltstack/salt-winrepo-ng
261265
261266       · Earlier releases: https://github.com/saltstack/salt-winrepo
261267
261268       By  default,  these  repositories are mirrored to /srv/salt/win/repo-ng
261269       and /srv/salt/win/repo.
261270
261271       This location can be changed in the master config file by  setting  the
261272       winrepo_dir_ng and winrepo_dir options.
261273
261274   Maintaining Windows Repo Definitions in Git Repositories
261275       Windows  software  package definitions can be hosted in one or more Git
261276       repositories. The default repositories are hosted on  GitHub  by  Salt‐
261277       Stack.  These include software definition files for various open source
261278       software projects.  These software definition  files  are  .sls  files.
261279       There  are  two default repositories: salt-winrepo and salt-winrepo-ng.
261280       salt-winrepo contains  software  definition  files  for  older  minions
261281       (older  than 2015.8.0).  salt-winrepo-ng is for newer minions (2015.8.0
261282       and newer).
261283
261284       Each software definition file contains all the information  salt  needs
261285       to  install  that  software on a minion including the HTTP or FTP loca‐
261286       tions of the installer files, required command-line switches for silent
261287       install,  etc. Anyone is welcome to send a pull request to this repo to
261288       add  new  package  definitions.  The  repos  can   be   browsed   here:
261289       salt-winrepo salt-winrepo-ng
261290
261291       NOTE:
261292          The  newer  software  definition  files  are  run through the salt's
261293          parser which allows for the use of jinja.
261294
261295       Configure which git repositories the master can search for package def‐
261296       initions  by  modifying  or  extending  the  winrepo_remotes  and  win‐
261297       repo_remotes_ng options.
261298
261299       IMPORTANT:
261300          winrepo_remotes was called win_gitrepos  in  Salt  versions  earlier
261301          than 2015.8.0
261302
261303       Package  definitions  are pulled down from the online git repository by
261304       running the winrepo.update_git_repos runner.  This command  is  run  on
261305       the master:
261306
261307          salt-run winrepo.update_git_repos
261308
261309       This  will  pull  down  the software definition files for older minions
261310       (salt-winrepo) and new minions (salt-winrepo-ng). They  are  stored  in
261311       the  file_roots  under  win/repo/salt-winrepo and win/repo-ng/salt-win‐
261312       repo-ng respectively.
261313
261314       IMPORTANT:
261315          If you have customized software definition files that  aren't  main‐
261316          tained  in  a  repository, those should be stored under win/repo for
261317          older minions and win/repo-ng for newer minions. The reason for this
261318          is     that    the    contents    of    win/repo/salt-winrepo    and
261319          win/repo-ng/salt-winrepo-ng are wiped out every time you run a  win‐
261320          repo.update_git_repos.
261321
261322          Additionally,  when  you  run winrepo.genrepo and pkg.refresh_db the
261323          entire contents under win/repo and win/repo-ng, to include all  sub‐
261324          directories, are used to create the meta database file.
261325
261326       The  next  step (if you have older minions) is to create the meta data‐
261327       base file for the repo (winrepo.p). This is done by  running  the  win‐
261328       repo.genrepo runner. This is also run on the master:
261329
261330          salt-run winrepo.genrepo
261331
261332       NOTE:
261333          If  you  have only 2015.8.0 and newer minions, you no longer need to
261334          run salt-run winrepo.genrepo on the master.
261335
261336       Finally, you need  to  refresh  the  minion  database  by  running  the
261337       pkg.refresh_db command. This is run on the master as well:
261338
261339          salt '*' pkg.refresh_db
261340
261341       On  older  minions  (older  than 2015.8.0) this will copy the winrepo.p
261342       file down to the minion. On newer minions  (2015.8.0  and  newer)  this
261343       will  copy  all the software definition files (.sls) down to the minion
261344       and then create the meta database file (winrepo.p) locally. The  reason
261345       this  is done locally is because the jinja needs to be parsed using the
261346       minion's grains.
261347
261348       IMPORTANT:
261349          Every time you modify the software definition files on  the  master,
261350          either   by  running  salt-run  winrepo.update_git_repos,  modifying
261351          existing files, or by creating your own, you  need  to  refresh  the
261352          database  on  your  minions.  For  older minions, that means running
261353          salt-run winrepo.genrepo and then salt '*' pkg.refresh_db. For newer
261354          minions (2015.8.0 and newer) it is just salt '*' pkg.refresh_db.
261355
261356       NOTE:
261357          If  the  winrepo.genrepo or the pkg.refresh_db fails, it is likely a
261358          problem with the jinja in one of the software definition files. This
261359          will  cause the operations to stop. You'll need to fix the syntax in
261360          order for the meta database file to be created successfully.
261361
261362       To disable one of the repos, set it to an empty list [] in  the  master
261363       config.  For  example,  to disable winrepo_remotes set the following in
261364       the master config file:
261365
261366          winrepo_remotes: []
261367
261368   Creating a Package Definition SLS File
261369       The package definition file is a yaml file that contains all the infor‐
261370       mation  needed  to  install  a piece of software using salt. It defines
261371       information about the package to  include  version,  full  name,  flags
261372       required  for  the installer and uninstaller, whether or not to use the
261373       Windows task scheduler to  install  the  package,  where  to  find  the
261374       installation package, etc.
261375
261376       Take a look at this example for Firefox:
261377
261378          firefox:
261379            '17.0.1':
261380              installer: 'salt://win/repo/firefox/English/Firefox Setup 17.0.1.exe'
261381              full_name: Mozilla Firefox 17.0.1 (x86 en-US)
261382              locale: en_US
261383              reboot: False
261384              install_flags: '-ms'
261385              uninstaller: '%ProgramFiles(x86)%/Mozilla Firefox/uninstall/helper.exe'
261386              uninstall_flags: '/S'
261387            '16.0.2':
261388              installer: 'salt://win/repo/firefox/English/Firefox Setup 16.0.2.exe'
261389              full_name: Mozilla Firefox 16.0.2 (x86 en-US)
261390              locale: en_US
261391              reboot: False
261392              install_flags: '-ms'
261393              uninstaller: '%ProgramFiles(x86)%/Mozilla Firefox/uninstall/helper.exe'
261394              uninstall_flags: '/S'
261395            '15.0.1':
261396              installer: 'salt://win/repo/firefox/English/Firefox Setup 15.0.1.exe'
261397              full_name: Mozilla Firefox 15.0.1 (x86 en-US)
261398              locale: en_US
261399              reboot: False
261400              install_flags: '-ms'
261401              uninstaller: '%ProgramFiles(x86)%/Mozilla Firefox/uninstall/helper.exe'
261402              uninstall_flags: '/S'
261403
261404       Each  software definition file begins with a package name for the soft‐
261405       ware. As in the example above firefox. The next line  is  indented  two
261406       spaces and contains the version to be defined. As in the example above,
261407       a software definition file can define multiple versions  for  the  same
261408       piece  of  software.  The  lines following the version are indented two
261409       more spaces and contain all the  information  needed  to  install  that
261410       package.
261411
261412       WARNING:
261413          The package name and the full_name must be unique to all other pack‐
261414          ages in the software repository.
261415
261416       The version line is the version for the package to be installed. It  is
261417       used  when  you  need to install a specific version of a piece of soft‐
261418       ware.
261419
261420       WARNING:
261421          The version must be enclosed in quotes, otherwise  the  yaml  parser
261422          will remove trailing zeros.
261423
261424       NOTE:
261425          There are unique situations where previous versions are unavailable.
261426          Take Google Chrome for example. There is only one url provided for a
261427          standalone installation of Google Chrome.
261428
261429          (‐
261430          https://dl.google.com/edgedl/chrome/install/GoogleChromeS
261431          tandaloneEnterprise.msi)
261432
261433          When  a new version is released, the url just points to the new ver‐
261434          sion. To handle situations such as these, set the version to latest.
261435          Salt  will  install the version of Chrome at the URL and report that
261436          version. Here's an example:
261437
261438          chrome:
261439            latest:
261440              full_name: 'Google Chrome'
261441              installer: 'https://dl.google.com/edgedl/chrome/install/GoogleChromeStandaloneEnterprise.msi'
261442              install_flags: '/qn /norestart'
261443              uninstaller: 'https://dl.google.com/edgedl/chrome/install/GoogleChromeStandaloneEnterprise.msi'
261444              uninstall_flags: '/qn /norestart'
261445              msiexec: True
261446              locale: en_US
261447              reboot: False
261448
261449       Available parameters are as follows:
261450
261451       param str full_name
261452              The Full Name for the software as shown in  "Programs  and  Fea‐
261453              tures"  in  the control panel. You can also get this information
261454              by  installing   the   package   manually   and   then   running
261455              pkg.list_pkgs.   Here's   an   example   of   the   output  from
261456              pkg.list_pkgs:
261457
261458                 salt 'test-2008' pkg.list_pkgs
261459                 test-2008
261460                     ----------
261461                     7-Zip 9.20 (x64 edition):
261462                         9.20.00.0
261463                     Microsoft .NET Framework 4 Client Profile:
261464                         4.0.30319,4.0.30319
261465                     Microsoft .NET Framework 4 Extended:
261466                         4.0.30319,4.0.30319
261467                     Microsoft Visual C++ 2008 Redistributable - x64 9.0.21022:
261468                         9.0.21022
261469                     Mozilla Firefox 17.0.1 (x86 en-US):
261470                         17.0.1
261471                     Mozilla Maintenance Service:
261472                         17.0.1
261473                     NSClient++ (x64):
261474                         0.3.8.76
261475                     Notepad++:
261476                         6.4.2
261477                     Salt Minion 0.16.0:
261478                         0.16.0
261479
261480              Notice the Full Name for Firefox: Mozilla  Firefox  17.0.0  (x86
261481              en-US).  That's exactly what's in the full_name parameter in the
261482              software definition file.
261483
261484              If any of the software installed on the machine matches  one  of
261485              the  software  definition files in the repository, the full_name
261486              will be automatically renamed to the package name.  The  example
261487              below  shows  the  pkg.list_pkgs  for a machine that already has
261488              Mozilla Firefox 17.0.1 installed.
261489
261490                 test-2008:
261491                     ----------
261492                     7zip:
261493                         9.20.00.0
261494                     Microsoft .NET Framework 4 Client Profile:
261495                         4.0.30319,4.0.30319
261496                     Microsoft .NET Framework 4 Extended:
261497                         4.0.30319,4.0.30319
261498                     Microsoft Visual C++ 2008 Redistributable - x64 9.0.21022:
261499                         9.0.21022
261500                     Mozilla Maintenance Service:
261501                         17.0.1
261502                     Notepad++:
261503                         6.4.2
261504                     Salt Minion 0.16.0:
261505                         0.16.0
261506                     firefox:
261507                         17.0.1
261508                     nsclient:
261509                         0.3.9.328
261510
261511              IMPORTANT:
261512                 The version number and full_name need  to  match  the  output
261513                 from  pkg.list_pkgs  so  that the status can be verified when
261514                 running a highstate.
261515
261516              NOTE:
261517                 It is still possible to successfully install  packages  using
261518                 pkg.install,  even  if  the  full_name  or the version number
261519                 don't match. However, this can  make  troubleshooting  issues
261520                 difficult, so be careful.
261521
261522              TIP:
261523                 To  force  salt to display the full name when there's already
261524                 an existing package definition file on the  system,  you  can
261525                 pass  a  bogus  saltenv  parameter  to  the  command like so:
261526                 pkg.list_pkgs saltenv=NotARealEnv
261527
261528       param str installer
261529              The path to the .exe or .msi to use to install the package. This
261530              can be a path or a URL. If it is a URL or a salt path (salt://),
261531              the package will be cached locally and then executed. If it is a
261532              path  to  a  file  on  disk or a file share, it will be executed
261533              directly.
261534
261535              NOTE:
261536                 If storing software in the same location as the winrepo it is
261537                 best  practice  to  place each installer in its own directory
261538                 rather than the root of winrepo.  Then  you  can  place  your
261539                 package  definition  file  in  the same directory. It is best
261540                 practice to name the file init.sls. This will be picked up by
261541                 pkg.refresh_db and processed properly.
261542
261543       param str install_flags
261544              Any  flags  that  need  to be passed to the installer to make it
261545              perform a silent install. These can often be found by adding  /?
261546              or  /h when running the installer from the command-line. A great
261547              resource for finding these silent install flags can be found  on
261548              the WPKG project's wiki:
261549
261550              WARNING:
261551                 Salt  will  not  return  if the installer is waiting for user
261552                 input so it is imperative that  the  software  package  being
261553                 installed has the ability to install silently.
261554
261555       param str uninstaller
261556              The  path  to  the program used to uninstall this software. This
261557              can be the path to the same exe or msi used to install the soft‐
261558              ware. It can also be a GUID. You can find this value in the reg‐
261559              istry under the following keys:
261560
261561                 · Software\Microsoft\Windows\CurrentVersion\Uninstall
261562
261563                 · Software\Wow6432None\Microsoft\Windows\CurrentVersion\Unin‐
261564                   stall
261565
261566       param str uninstall_flags
261567              Any  flags  that need to be passed to the uninstaller to make it
261568              perform a silent uninstall. These can often be found  by  adding
261569              /?  or  /h when running the uninstaller from the command-line. A
261570              great resource for finding these silent  install  flags  can  be
261571              found on the WPKG project's wiki:
261572
261573              WARNING:
261574                 Salt  will  not return if the uninstaller is waiting for user
261575                 input so it is imperative that  the  software  package  being
261576                 uninstalled has the ability to uninstall silently.
261577
261578              Here are some examples of installer and uninstaller settings:
261579
261580                 7zip:
261581                   '9.20.00.0':
261582                     installer: salt://win/repo/7zip/7z920-x64.msi
261583                     full_name: 7-Zip 9.20 (x64 edition)
261584                     reboot: False
261585                     install_flags: '/qn /norestart'
261586                     msiexec: True
261587                     uninstaller: '{23170F69-40C1-2702-0920-000001000000}'
261588                     uninstall_flags: '/qn /norestart'
261589
261590              Alternatively  the uninstaller can also simply repeat the URL of
261591              an msi file:
261592
261593                 7zip:
261594                   '9.20.00.0':
261595                     installer: salt://win/repo/7zip/7z920-x64.msi
261596                     full_name: 7-Zip 9.20 (x64 edition)
261597                     reboot: False
261598                     install_flags: '/qn /norestart'
261599                     msiexec: True
261600                     uninstaller: salt://win/repo/7zip/7z920-x64.msi
261601                     uninstall_flags: '/qn /norestart'
261602
261603       param msiexec
261604              This tells salt to use msiexec /i to  install  the  package  and
261605              msiexec  /x to uninstall. This is for .msi installations. Possi‐
261606              ble options are: True, False or the path to msiexec.exe on  your
261607              system
261608
261609                 7zip:
261610                   '9.20.00.0':
261611                     installer: salt://win/repo/7zip/7z920-x64.msi
261612                     full_name: 7-Zip 9.20 (x64 edition)
261613                     reboot: False
261614                     install_flags: '/qn /norestart'
261615                     msiexec: 'C:\Windows\System32\msiexec.exe'
261616                     uninstaller: salt://win/repo/7zip/7z920-x64.msi
261617                     uninstall_flags: '/qn /norestart'
261618
261619       param bool allusers
261620              This  parameter  is  specific  to  .msi  installations. It tells
261621              msiexec to install the software for all users.  The  default  is
261622              True.
261623
261624       param bool cache_dir
261625              If  True  and  the installer URL begins with salt://, the entire
261626              directory  where  the  installer  resides  will  be  recursively
261627              cached. This is useful for installers that depend on other files
261628              in the same directory for installation.
261629
261630              WARNING:
261631                 Be aware that all files and directories in the same  location
261632                 as  the  installer file will be copied down to the minion. If
261633                 you  place  your  installer  file  in  the  root  of  winrepo
261634                 (/srv/salt/win/repo-ng)  and  cache_dir: True the entire con‐
261635                 tents of winrepo will be cached to the minion. Therefore,  it
261636                 is best practice to place your installer files in a subdirec‐
261637                 tory if they are to be stored in winrepo.
261638
261639       param str cache_file
261640              When the installer URL begins with  salt://,  this  indicates  a
261641              single  file  to  copy  down  for  use with the installer. It is
261642              copied to the same location as  the  installer.  Use  this  over
261643              cache_dir  if there are many files in the directory and you only
261644              need a specific file and don't want to  cache  additional  files
261645              that may reside in the installer directory.
261646
261647              Here's  an  example  for  a  software package that has dependent
261648              files:
261649
261650                 sqlexpress:
261651                   '12.0.2000.8':
261652                     installer: 'salt://win/repo/sqlexpress/setup.exe'
261653                     full_name: Microsoft SQL Server 2014 Setup (English)
261654                     reboot: False
261655                     install_flags: '/ACTION=install /IACCEPTSQLSERVERLICENSETERMS /Q'
261656                     cache_dir: True
261657
261658       param bool use_scheduler
261659              If True, Windows will use the task scheduler to run the  instal‐
261660              lation.  This is useful for running the Salt installation itself
261661              as  the  installation  process  kills  any   currently   running
261662              instances of Salt.
261663
261664       param str source_hash
261665              This  tells  Salt  to compare a hash sum of the installer to the
261666              provided hash sum before execution. The value can  be  formatted
261667              as  <hash_algorithm>=<hash_sum>,  or  it  can be a URI to a file
261668              containing the hash sum.
261669
261670              For a list of supported algorithms, see the  hashlib  documenta‐
261671              tion.
261672
261673              Here's an example of source_hash usage:
261674
261675                 messageanalyzer:
261676                   '4.0.7551.0':
261677                     full_name: 'Microsoft Message Analyzer'
261678                     installer: 'salt://win/repo/messageanalyzer/MessageAnalyzer64.msi'
261679                     install_flags: '/quiet /norestart'
261680                     uninstaller: '{1CC02C23-8FCD-487E-860C-311EC0A0C933}'
261681                     uninstall_flags: '/quiet /norestart'
261682                     msiexec: True
261683                     source_hash: 'sha1=62875ff451f13b10a8ff988f2943e76a4735d3d4'
261684
261685       param bool reboot
261686              Not implemented
261687
261688       param str local
261689              Not implemented
261690
261691       Examples can be found at https://github.com/saltstack/salt-winrepo-ng
261692
261693   Managing Windows Software on a Standalone Windows Minion
261694       The  Windows Package Repository functions similar in a standalone envi‐
261695       ronment, with a few differences in the configuration.
261696
261697       To replace the winrepo runner that is used on the Salt master, an  exe‐
261698       cution  module  exists  to provide the same functionality to standalone
261699       minions. The functions are named the same as the ones  in  the  runner,
261700       and  are used in the same way; the only difference is that salt-call is
261701       used instead of salt-run:
261702
261703          salt-call winrepo.update_git_repos
261704          salt-call winrepo.genrepo
261705          salt-call pkg.refresh_db
261706
261707       After executing the previous commands the repository on the  standalone
261708       system is ready to use.
261709
261710   Custom Location for Repository SLS Files
261711       If  file_roots  has not been modified in the minion configuration, then
261712       no additional configuration needs to be added to the minion  configura‐
261713       tion.  The  winrepo.genrepo  function from the winrepo execution module
261714       will by default look for the filename  specified  by  winrepo_cachefile
261715       within C:\salt\srv\salt\win\repo.
261716
261717       If the file_roots parameter has been modified, then winrepo_dir must be
261718       modified to fall within that path, at the  proper  relative  path.  For
261719       example,  if  the  base environment in file_roots points to D:\foo, and
261720       winrepo_source_dir is salt://win/repo, then winrepo_dir must be set  to
261721       D:\foo\win\repo  to ensure that winrepo.genrepo puts the cachefile into
261722       right location.
261723
261724   Configuration options for Minions 2015.8.0 and later
261725       The winrepo_source_dir config parameter (default:  salt://win/repo-ng/)
261726       controls where pkg.refresh_db fetches the software package definitions.
261727       pkg.refresh_db generates meta database file called winrepo_cachefile on
261728       the minion.
261729
261730   Cache configuration options for Minions 2016.11.0 and later
261731       Software  package  definitions are automatically refresh if stale after
261732       winrepo_cache_expire_max.   Running  a  highstate  normal  forces   the
261733       refresh  of  the  package  definition  and generation of meta database,
261734       unless the meta  database  is  younger  than  winrepo_cache_expire_max.
261735       Refreshing  the  package  definition  can take some time, these options
261736       were introduced to allow more control of when it occurs.
261737
261738       It's important use pkg.refresh_db to check for errors  and  ensure  the
261739       latest package definition is on any minion your testing new definitions
261740       on.
261741
261742   Configuration options for Minions before 2015.8.0
261743       If connected to a master, the minion will by default look for the  win‐
261744       repo  cachefile  (the  file generated by the winrepo.genrepo runner) at
261745       salt://win/repo/winrepo.p. If the cachefile is in a different  path  on
261746       the salt fileserver, then win_repo_cachefile will need to be updated to
261747       reflect the proper location.
261748
261749   Changes in Version 2015.8.0
261750       Git repository management  for  the  Windows  Software  Repository  has
261751       changed  in  version 2015.8.0, and several master/minion config parame‐
261752       ters have been renamed to make their naming more consistent  with  each
261753       other.
261754
261755       For  a  list  of the winrepo config options, see here for master config
261756       options, and here for configuration options for masterless Windows min‐
261757       ions.
261758
261759       On  the master, the winrepo.update_git_repos runner has been updated to
261760       use either pygit2 or GitPython to checkout the  git  repositories  con‐
261761       taining  repo  data. If pygit2 or GitPython is installed, existing win‐
261762       repo git checkouts should be removed after upgrading  to  2015.8.0,  to
261763       allow them to be checked out again by running winrepo.update_git_repos.
261764
261765       If neither GitPython nor pygit2 are installed, then Salt will fall back
261766       to the pre-existing behavior for winrepo.update_git_repos, and a  warn‐
261767       ing will be logged in the master log.
261768
261769       NOTE:
261770          Standalone  Windows  minions do not support the new GitPython/pygit2
261771          functionality, and will instead use the  git.latest  state  to  keep
261772          repositories  up-to-date. More information on how to use the Windows
261773          Software Repo on a standalone minion can be found here.
261774
261775   Config Parameters Renamed
261776       Many of the legacy winrepo configuration  parameters  have  changed  in
261777       version  2015.8.0 to make the naming more consistent. The old parameter
261778       names will still work, but a warning will be logged indicating that the
261779       old name is deprecated.
261780
261781       Below are the parameters which have changed for version 2015.8.0:
261782
261783   Master Config
261784                   ┌─────────────────────────┬───────────────────┐
261785                   │Old Name                 │ New Name          │
261786                   ├─────────────────────────┼───────────────────┤
261787                   │win_repo                 │ winrepo_dir       
261788                   ├─────────────────────────┼───────────────────┤
261789                   │win_repo_mastercachefile │ winrepo_cachefile 
261790                   ├─────────────────────────┼───────────────────┤
261791                   │win_gitrepos             │ winrepo_remotes   
261792                   └─────────────────────────┴───────────────────┘
261793
261794       NOTE:
261795          winrepo_cachefile  is  no longer used by 2015.8.0 and later minions,
261796          and the  winrepo_dir  setting  is  replaced  by  winrepo_dir_ng  for
261797          2015.8.0 and later minions.
261798
261799       See  here for detailed information on all master config options for the
261800       Windows Repo.
261801
261802   Minion Config
261803                      ┌───────────────────┬───────────────────┐
261804                      │Old Name           │ New Name          │
261805                      ├───────────────────┼───────────────────┤
261806                      │win_repo           │ winrepo_dir       
261807                      ├───────────────────┼───────────────────┤
261808                      │win_repo_cachefile │ winrepo_cachefile 
261809                      ├───────────────────┼───────────────────┤
261810                      │win_gitrepos       │ winrepo_remotes   
261811                      └───────────────────┴───────────────────┘
261812
261813       See here for detailed information on all minion config options for  the
261814       Windows Repo.
261815
261816   pygit2/GitPython Support for Maintaining Git Repos
261817       The  winrepo.update_git_repos runner (and the corresponding remote exe‐
261818       cution function for standalone minions)  now  makes  use  of  the  same
261819       underlying  code  used  by  the Git Fileserver Backend and Git External
261820       Pillar to maintain and update its local clones of git repositories.  If
261821       a  compatible  version of either pygit2 (0.20.3 and later) or GitPython
261822       (0.3.0 or later) is installed, then Salt will use it instead of the old
261823       method (which invokes the git.latest state).
261824
261825       NOTE:
261826          If  compatible  versions of both pygit2 and GitPython are installed,
261827          then Salt will prefer pygit2, to override this behavior use the win‐
261828          repo_provider configuration parameter:
261829
261830              winrepo_provider: gitpython
261831
261832          The  winrepo  execution module (discussed above in the Managing Win‐
261833          dows Software on a Standalone Windows Minion section) does  not  yet
261834          officially  support  the  new pygit2/GitPython functionality, but if
261835          either pygit2 or GitPython is installed into Salt's  bundled  Python
261836          then  it  should work. However, it should be considered experimental
261837          at this time.
261838
261839       To minimize potential issues, it is a good idea to remove  any  winrepo
261840       git  repositories  that were checked out by the old (pre-2015.8.0) win‐
261841       repo code when upgrading the master to 2015.8.0 or later, and run  win‐
261842       repo.update_git_repos to clone them anew after the master is started.
261843
261844       Additional  added  features include the ability to access authenticated
261845       git repositories (NOTE: pygit2 only), and to set per-remote config set‐
261846       tings.  An example of this would be the following:
261847
261848          winrepo_remotes:
261849            - https://github.com/saltstack/salt-winrepo.git
261850            - git@github.com:myuser/myrepo.git:
261851              - pubkey: /path/to/key.pub
261852              - privkey: /path/to/key
261853              - passphrase: myaw3s0m3pa$$phr4$3
261854            - https://github.com/myuser/privaterepo.git:
261855              - user: mygithubuser
261856              - password: CorrectHorseBatteryStaple
261857
261858       NOTE:
261859          Per-remote  configuration  settings work in the same fashion as they
261860          do in gitfs,  with  global  parameters  being  overridden  by  their
261861          per-remote  counterparts  (for  instance, setting winrepo_passphrase
261862          would set a global passphrase for winrepo that would  apply  to  all
261863          SSH-based  remotes,  unless  overridden  by  a passphrase per-remote
261864          parameter).
261865
261866          See here for more a more in-depth explanation of how per-remote con‐
261867          figuration works in gitfs, the same principles apply to winrepo.
261868
261869       There  are  a  couple other changes in how Salt manages git repos using
261870       pygit2/GitPython. First of all, a clean argument has been added to  the
261871       winrepo.update_git_repos  runner,  which (if set to True) will tell the
261872       runner to dispose of directories under the winrepo_dir  which  are  not
261873       explicitly  configured. This prevents the need to manually remove these
261874       directories when a repo is removed from the config file. To clean these
261875       old directories, just pass clean=True, like so:
261876
261877          salt-run winrepo.update_git_repos clean=True
261878
261879       However,  if a mix of git and non-git Windows Repo definition files are
261880       being used, then this should not be used, as it will remove the  direc‐
261881       tories containing non-git definitions.
261882
261883       The  other  major  change is that collisions between repo names are now
261884       detected, and the winrepo.update_git_repos runner will not  proceed  if
261885       any are detected. Consider the following configuration:
261886
261887          winrepo_remotes:
261888            - https://foo.com/bar/baz.git
261889            - https://mydomain.tld/baz.git
261890            - https://github.com/foobar/baz
261891
261892       The  winrepo.update_git_repos  runner will refuse to update repos here,
261893       as all three of these repos would be checked out to the same directory.
261894       To  work around this, a per-remote parameter called name can be used to
261895       resolve these conflicts:
261896
261897          winrepo_remotes:
261898            - https://foo.com/bar/baz.git
261899            - https://mydomain.tld/baz.git:
261900              - name: baz_junior
261901            - https://github.com/foobar/baz:
261902              - name: baz_the_third
261903
261904   Troubleshooting
261905   Incorrect name/version
261906       If the package seems to install properly, but salt  reports  a  failure
261907       then it is likely you have a version or full_name mismatch.
261908
261909       Check  the  exact  full_name  and  version  used  by  the  package. Use
261910       pkg.list_pkgs to check that the names and version exactly match what is
261911       installed.
261912
261913   Changes to sls files not being picked up
261914       Ensure you have (re)generated the repository cache file (for older min‐
261915       ions) and then updated the repository cache on the relevant minions:
261916
261917          salt-run winrepo.genrepo
261918          salt winminion pkg.refresh_db
261919
261920   Packages management under Windows 2003
261921       On Windows server 2003, you need to install optional Windows  component
261922       "wmi  Windows  installer provider" to have full list of installed pack‐
261923       ages. If you don't have this, salt-minion can't report  some  installed
261924       software.
261925
261926   How Success and Failure are Reported
261927       The  install state/module function of the Windows package manager works
261928       roughly as follows:
261929
261930       1. Execute pkg.list_pkgs and store the result
261931
261932       2. Check if any action needs to be taken. (i.e. compare required  pack‐
261933          age and version against pkg.list_pkgs results)
261934
261935       3. If so, run the installer command.
261936
261937       4. Execute  pkg.list_pkgs  and compare to the result stored from before
261938          installation.
261939
261940       5. Success/Failure/Changes will be reported based  on  the  differences
261941          between the original and final pkg.list_pkgs results.
261942
261943       If there are any problems in using the package manager it is likely due
261944       to the data in your sls files not matching the difference  between  the
261945       pre and post pkg.list_pkgs results.
261946
261947   Windows-specific Behaviour
261948       Salt  is  capable  of  managing Windows systems, however due to various
261949       differences between the operating systems, there are  some  things  you
261950       need to keep in mind.
261951
261952       This  document will contain any quirks that apply across Salt or gener‐
261953       ally across multiple module functions.  Any  Windows-specific  behavior
261954       for  particular module functions will be documented in the module func‐
261955       tion documentation. Therefore this document should be read in  conjunc‐
261956       tion with the module function documentation.
261957
261958   Group parameter for files
261959       Salt was originally written for managing Unix-based systems, and there‐
261960       fore the file module  functions  were  designed  around  that  security
261961       model.  Rather  than  trying to shoehorn that model on to Windows, Salt
261962       ignores these parameters  and  makes  non-applicable  module  functions
261963       unavailable instead.
261964
261965       One  of the commonly ignored parameters is the group parameter for man‐
261966       aging files. Under Windows, while files do have a 'primary group' prop‐
261967       erty,  this is rarely used.  It generally has no bearing on permissions
261968       unless intentionally configured and is most commonly  used  to  provide
261969       Unix compatibility (e.g.  Services For Unix, NFS services).
261970
261971       Because  of  this,  any  file module functions that typically require a
261972       group, do not under Windows. Attempts to directly use file module func‐
261973       tions  that  operate  on  the  group  (e.g.  file.chgrp)  will return a
261974       pseudo-value and cause a log message to  appear.  No  group  parameters
261975       will be acted on.
261976
261977       If  you  do  want to access and change the 'primary group' property and
261978       understand the implications, use the file.get_pgid  or  file.get_pgroup
261979       functions or the pgroup parameter on the file.chown module function.
261980
261981   Dealing with case-insensitive but case-preserving names
261982       Windows  is  case-insensitive,  but however preserves the case of names
261983       and it is this preserved form that is returned from  system  functions.
261984       This  causes  some  issues  with Salt because it assumes case-sensitive
261985       names. These issues generally occur in  the  state  functions  and  can
261986       cause bizarre looking errors.
261987
261988       To  avoid such issues, always pretend Windows is case-sensitive and use
261989       the right case for names, e.g. specify  user=Administrator  instead  of
261990       user=administrator.
261991
261992       Follow issue #11801 for any changes to this behavior.
261993
261994   Dealing with various username forms
261995       Salt  does  not understand the various forms that Windows usernames can
261996       come in, e.g. username,  mydomain\username,  username@mydomain.tld  can
261997       all  refer to the same user. In fact, Salt generally only considers the
261998       raw username value, i.e.  the  username  without  the  domain  or  host
261999       information.
262000
262001       Using  these  alternative  forms will likely confuse Salt and cause odd
262002       errors to happen. Use only the raw username value in the  correct  case
262003       to avoid problems.
262004
262005       Follow issue #11801 for any changes to this behavior.
262006
262007   Specifying the None group
262008       Each  Windows  system  has  built-in  _None_ group. This is the default
262009       'primary group' for files for users not on a domain environment.
262010
262011       Unfortunately, the word _None_ has special meaning in Python - it is  a
262012       special  value  indicating  'nothing',  similar to null or nil in other
262013       languages.
262014
262015       To specify the None group, it must be specified in quotes, e.g.  ./salt
262016       '*' file.chpgrp C:\path\to\file "'None'".
262017
262018   Symbolic link loops
262019       Under  Windows, if any symbolic link loops are detected or if there are
262020       too many levels of symlinks  (defaults  to  64),  an  error  is  always
262021       raised.
262022
262023       For  some functions, this behavior is different to the behavior on Unix
262024       platforms. In general, avoid symlink loops on either platform.
262025

DEVELOPING SALT

262027   Overview
262028       In its most typical use,  Salt  is  a  software  application  in  which
262029       clients,  called  "minions" can be commanded and controlled from a cen‐
262030       tral command server called a "master".
262031
262032       Commands are normally issued to the minions (via the master) by calling
262033       a client script simply called, 'salt'.
262034
262035       Salt  features  a  pluggable  transport system to issue commands from a
262036       master to minions. The default transport is ZeroMQ.
262037
262038   Salt Client
262039   Overview
262040       The salt client is run on the same machine as the Salt Master and  com‐
262041       municates  with  the  salt-master  to issue commands and to receive the
262042       results and display them to the user.
262043
262044       The primary abstraction for the salt client is called 'LocalClient'.
262045
262046       When LocalClient wants to publish a command to minions, it connects  to
262047       the master by issuing a request to the master's ReqServer (TCP: 4506)
262048
262049       The LocalClient system listens to responses for its requests by listen‐
262050       ing to the master event bus publisher (master_event_pub.ipc).
262051
262052   Salt Master
262053   Overview
262054       The salt-master daemon runs on the designated Salt master and  performs
262055       functions  such  as  authenticating  minions,  sending,  and  receiving
262056       requests from connected minions and sending and receiving requests  and
262057       replies to the 'salt' CLI.
262058
262059   Moving Pieces
262060       When a Salt master starts up, a number of processes are started, all of
262061       which are called 'salt-master' in a process-list but have various  role
262062       categories.
262063
262064       Among those categories are:
262065
262066          · Publisher
262067
262068          · EventPublisher
262069
262070          · MWorker
262071
262072   Publisher
262073       The Publisher process is responsible for sending commands over the des‐
262074       ignated transport to connected minions. The Publisher is bound  to  the
262075       following:
262076
262077          · TCP: port 4505
262078
262079          · IPC: publish_pull.ipc
262080
262081       Each salt minion establishes a connection to the master Publisher.
262082
262083   EventPublisher
262084       The  EventPublisher publishes master events out to any event listeners.
262085       It is bound to the following:
262086
262087          · IPC: master_event_pull.ipc
262088
262089          · IPC: master_event_pub.ipc
262090
262091   MWorker
262092       Worker processes manage the back-end operations for the Salt Master.
262093
262094       The number of workers is equivalent to the number  of  'worker_threads'
262095       specified in the master configuration and is always at least one.
262096
262097       Workers are bound to the following:
262098
262099          · IPC: workers.ipc
262100
262101   ReqServer
262102       The  Salt  request server takes requests and distributes them to avail‐
262103       able MWorker processes for processing. It also  receives  replies  back
262104       from minions.
262105
262106       The ReqServer is bound to the following:
262107
262108              · TCP: 4506
262109
262110              · IPC: workers.ipc
262111
262112       Each salt minion establishes a connection to the master ReqServer.
262113
262114   Job Flow
262115       The  Salt  master  works by always publishing commands to all connected
262116       minions and the minions decide if the command  is  meant  for  them  by
262117       checking themselves against the command target.
262118
262119       The  typical lifecycle of a salt job from the perspective of the master
262120       might be as follows:
262121
262122       1.  A command is issued  on  the  CLI.  For  example,  'salt  my_minion
262123           test.ping'.
262124
262125       2.  The  'salt'  command  uses LocalClient to generate a request to the
262126           salt master by connecting to the ReqServer on TCP:4506 and  issuing
262127           the job.
262128
262129       3.  The  salt-master  ReqServer  sees  the  request and passes it to an
262130           available MWorker over workers.ipc.
262131
262132       4.  A worker picks up the request and handles it. First, it  checks  to
262133           ensure  that  the  requested user has permissions to issue the com‐
262134           mand. Then, it sends the publish command to all connected  minions.
262135           For the curious, this happens in ClearFuncs.publish().
262136
262137       5.  The  worker  announces  on the master event bus that it is about to
262138           publish a job to connected minions. This  happens  by  placing  the
262139           event  on  the  master  event bus (master_event_pull.ipc) where the
262140           EventPublisher picks it up and  distributes  it  to  all  connected
262141           event listeners on master_event_pub.ipc.
262142
262143       6.  The  message  to the minions is encrypted and sent to the Publisher
262144           via IPC on publish_pull.ipc.
262145
262146       7.  Connected minions have a TCP session established with the Publisher
262147           on  TCP  port  4505  where  they await commands. When the Publisher
262148           receives the job over publish_pull, it sends the  jobs  across  the
262149           wire to the minions for processing.
262150
262151       8.  After  the minions receive the request, they decrypt it and perform
262152           any requested work, if they determine that they are targeted to  do
262153           so.
262154
262155       9.  When the minion is ready to respond, it publishes the result of its
262156           job back to the master by sending the encrypted result back to  the
262157           master on TCP 4506 where it is again picked up by the ReqServer and
262158           forwarded to an available MWorker for processing. (Again, this hap‐
262159           pens  by  passing  this  message across workers.ipc to an available
262160           worker.)
262161
262162       10. When the MWorker receives the job it decrypts it and fires an event
262163           onto  the  master event bus (master_event_pull.ipc). (Again for the
262164           curious, this happens in AESFuncs._return().
262165
262166       11. The EventPublisher sees this event and re-publishes it on  the  bus
262167           to  all  connected  listeners  of  the  master  event  bus (on mas‐
262168           ter_event_pub.ipc). This is where the LocalClient has been waiting,
262169           listening  to  the event bus for minion replies. It gathers the job
262170           and stores the result.
262171
262172       12. When all targeted minions have replied  or  the  timeout  has  been
262173           exceeded,  the  salt  client displays the results of the job to the
262174           user on the CLI.
262175
262176   Salt Minion
262177   Overview
262178       The salt-minion is a single process that sits on machines to be managed
262179       by  Salt.  It  can either operate as a stand-alone daemon which accepts
262180       commands locally via 'salt-call' or it can connect back to a master and
262181       receive commands remotely.
262182
262183       When  starting up, salt minions connect back to a master defined in the
262184       minion config file. They connect to two ports on the master:
262185
262186          ·
262187
262188            TCP: 4505
262189                   This is the connection to the master Publisher.  It  is  on
262190                   this port that the minion receives jobs from the master.
262191
262192          ·
262193
262194            TCP: 4506
262195                   This  is  the  connection to the master ReqServer. It is on
262196                   this port that the minion sends job  results  back  to  the
262197                   master.
262198
262199   Event System
262200       Similar  to  the  master,  a  salt-minion has its own event system that
262201       operates over IPC by default. The minion event  system  operates  on  a
262202       push/pull system with IPC files at minion_event_<unique_id>_pub.ipc and
262203       minion_event_<unique_id>_pull.ipc.
262204
262205       The astute reader might ask why have an event bus at all  with  a  sin‐
262206       gle-process  daemon.  The answer is that the salt-minion may fork other
262207       processes as  required  to  do  the  work  without  blocking  the  main
262208       salt-minion  process  and  this necessitates a mechanism by which those
262209       processes can communicate with each other. Secondarily, this provides a
262210       bus  by which any user with sufficient permissions can read or write to
262211       the bus as a common interface with the salt minion.
262212
262213   Minion Job Flow
262214       When a salt minion starts up, it attempts to connect to  the  Publisher
262215       and  the ReqServer on the salt master. It then attempts to authenticate
262216       and once the minion has successfully authenticated, it  simply  listens
262217       for jobs.
262218
262219       Jobs  normally  come  either  come from the 'salt-call' script run by a
262220       local user on the salt minion or they can come directly from a master.
262221
262222       The job flow on a minion, coming from the master via a  'salt'  command
262223       is as follows:
262224
262225       1) A master publishes a job that is received by a minion as outlined by
262226       the master's job flow above.  2) The  minion  is  polling  its  receive
262227       socket  that's  connected to the master Publisher (TCP 4505 on master).
262228       When it detects an incoming message, it picks it up from the socket and
262229       decrypts it.  3) A new minion process or thread is created and provided
262230       with the contents of the decrypted message. The _thread_return() method
262231       is provided with the contents of the received message.  4) The new min‐
262232       ion thread is created. The  _thread_return()  function  starts  up  and
262233       actually  calls out to the requested function contained in the job.  5)
262234       The requested function runs and returns a result.  [Still  in  thread.]
262235       6)  The  result of the function that's run is encrypted and returned to
262236       the master's ReqServer (TCP 4506 on master).  [Still  in  thread.]   7)
262237       Thread  exits.  Because  the  main thread was only blocked for the time
262238       that it took to initialize the worker thread, many other requests could
262239       have been received and processed during this time.
262240
262241   A Note on ClearFuncs vs. AESFuncs
262242       A common source of confusion is determining when messages are passed in
262243       the clear and when they are passed  using  encryption.  There  are  two
262244       rules governing this behaviour:
262245
262246       1)  ClearFuncs  is  used  for intra-master communication and during the
262247       initial authentication handshake between a minion and master during the
262248       key exchange.  2) AESFuncs is used everywhere else.
262249
262250   Contributing
262251       There  is  a  great need for contributions to Salt and patches are wel‐
262252       come! The goal here is to make contributions clear, make sure there  is
262253       a trail for where the code has come from, and most importantly, to give
262254       credit where credit is due!
262255
262256       There are a number of ways to contribute to Salt development.
262257
262258       For details on how  to  contribute  documentation  improvements  please
262259       review Writing Salt Documentation.
262260
262261   Salt Coding Style
262262       SaltStack  has  its own coding style guide that informs contributors on
262263       various coding approaches. Please review the Salt Coding Style documen‐
262264       tation for information about Salt's particular coding patterns.
262265
262266       Within  the  Salt  Coding Style documentation, there is a section about
262267       running Salt's .testing.pylintrc file. SaltStack recommends running the
262268       .testing.pylintrc  file  on  any  files you are changing with your code
262269       contribution before submitting a pull  request  to  Salt's  repository.
262270       Please see the Linting documentation for more information.
262271
262272       NOTE:
262273          There are two pylint files in the salt directory. One is the .pylin‐
262274          trc file and the other is the .testing.pylintrc file. The tests that
262275          run  in  Jenkins against GitHub Pull Requests use .testing.pylintrc.
262276          The testing.pylintrc file is a little less strict than the .pylintrc
262277          and  is  used  to make it easier for contributors to submit changes.
262278          The .pylintrc file can be used for linting, but the testing.pylintrc
262279          is the source of truth when submitting pull requests.
262280
262281   Sending a GitHub pull request
262282       Sending  pull  requests on GitHub is the preferred method for receiving
262283       contributions. The workflow advice below mirrors GitHub's own guide and
262284       is well worth reading.
262285
262286       1. Fork saltstack/salt on GitHub.
262287
262288       2. Make a local clone of your fork.
262289
262290             git clone git@github.com:my-account/salt.git
262291             cd salt
262292
262293       3. Add saltstack/salt as a git remote.
262294
262295             git remote add upstream https://github.com/saltstack/salt.git
262296
262297       4. Create a new branch in your clone.
262298
262299          NOTE:
262300             A  branch  should  have one purpose. For example, "Fix bug X," or
262301             "Add feature Y".  Multiple unrelated fixes and/or features should
262302             be isolated into separate branches.
262303
262304          If  you're working on a bug or documentation fix, create your branch
262305          from the oldest supported main release branch that contains the  bug
262306          or requires the documentation update. See Which Salt Branch?.
262307
262308             git fetch upstream
262309             git checkout -b fix-broken-thing upstream/2016.11
262310
262311          If  you're working on a feature, create your branch from the develop
262312          branch.
262313
262314             git fetch upstream
262315             git checkout -b add-cool-feature upstream/develop
262316
262317       5. Edit and commit changes to your branch.
262318
262319             vim path/to/file1 path/to/file2
262320             git diff
262321             git add path/to/file1 path/to/file2
262322             git commit
262323
262324          Write a short, descriptive commit title and a longer commit  message
262325          if necessary.
262326
262327          NOTE:
262328             If  your change fixes a bug or implements a feature already filed
262329             in the issue tracker, be sure to reference the  issue  number  in
262330             the commit message body.
262331
262332             Fix broken things in file1 and file2
262333
262334             Fixes #31337
262335
262336             # Please enter the commit message for your changes. Lines starting
262337             # with '#' will be ignored, and an empty message aborts the commit.
262338             # On branch fix-broken-thing
262339             # Changes to be committed:
262340             #       modified:   path/to/file1
262341             #       modified:   path/to/file2
262342
262343          If  you  get  stuck,  there  are  many introductory Git resources on
262344          http://help.github.com.
262345
262346       6. Push your locally-committed changes to your GitHub fork.
262347
262348             git push -u origin fix-broken-thing
262349
262350          or
262351
262352             git push -u origin add-cool-feature
262353
262354          NOTE:
262355             You may want to rebase before pushing to work out  any  potential
262356             conflicts:
262357
262358                 git fetch upstream
262359                 git rebase upstream/2016.11 fix-broken-thing
262360                 git push -u origin fix-broken-thing
262361
262362             or
262363
262364                 git fetch upstream
262365                 git rebase upstream/develop add-cool-feature
262366                 git push -u origin add-cool-feature
262367
262368             If  you do rebase, and the push is rejected with a (non-fast-for‐
262369             ward) comment, then run git status. You will likely see a message
262370             about the branches diverging:
262371
262372                 On branch fix-broken-thing
262373                 Your branch and 'origin/fix-broken-thing' have diverged,
262374                 and have 1 and 2 different commits each, respectively.
262375                   (use "git pull" to merge the remote branch into yours)
262376                 nothing to commit, working tree clean
262377
262378             Do  NOT  perform  a  git  pull  or  git  merge here. Instead, add
262379             --force-with-lease to the end of the git push command to get  the
262380             changes  pushed to your fork. Pulling or merging, while they will
262381             resolve the non-fast-forward issue, will likely add extra commits
262382             to the pull request which were not part of your changes.
262383
262384       7. Find the branch on your GitHub salt fork.
262385
262386          https://github.com/my-account/salt/branches/fix-broken-thing
262387
262388       8. Open a new pull request.
262389
262390          Click on Pull Request on the right near the top of the page,
262391
262392          https://github.com/my-account/salt/pull/new/fix-broken-thing
262393
262394          1. If  your branch is a fix for a release branch, choose that as the
262395             base branch (e.g. 2016.11),
262396
262397             https://github.com/my-account/salt/compare/saltstack:2016.11...fix-broken-thing
262398
262399             If your branch is a feature, choose develop as the base branch,
262400
262401             https://github.com/my-account/salt/compare/saltstack:develop...add-cool-feature
262402
262403          2. Review that the proposed changes are what you expect.
262404
262405          3. Write a descriptive comment.  Include  links  to  related  issues
262406             (e.g.  'Fixes #31337.') in the comment field.
262407
262408          4. Click Create pull request.
262409
262410       9. Salt  project  members  will  review your pull request and automated
262411          tests will run on it.
262412
262413          If you recognize any test failures as being related to your proposed
262414          changes or if a reviewer asks for modifications:
262415
262416          1. Make  the  new  changes  in  your  local  clone on the same local
262417             branch.
262418
262419          2. Push the branch to  GitHub  again  using  the  same  commands  as
262420             before.
262421
262422          3. New  and  updated commits will be added to the pull request auto‐
262423             matically.
262424
262425          4. Feel free to add a comment to the discussion.
262426
262427       NOTE:
262428          Jenkins
262429
262430          Pull request against saltstack/salt are automatically  tested  on  a
262431          variety  of  operating  systems and configurations. On average these
262432          tests take 30 minutes.  Depending on your GitHub  notification  set‐
262433          tings you may also receive an email message about the test results.
262434
262435          Test     progress     and     results     can     be     found    at
262436          http://jenkins.saltstack.com/.
262437
262438   Salt's Branch Topology
262439       There are three different kinds  of  branches  in  use:  develop,  main
262440       release branches, and dot release branches.
262441
262442       · All feature work should go into the develop branch.
262443
262444       · Bug  fixes  and  documentation changes should go into the oldest sup‐
262445         ported main release branch affected by the the bug  or  documentation
262446         change (you can use the blame button in github to figure out when the
262447         bug was introduced).  Supported releases are the last 2 releases. For
262448         example,  if  the  latest release is 2018.3, the last two release are
262449         2018.3 and 2017.7.  Main release branches are named after a year  and
262450         month, such as 2016.11 and 2017.7.
262451
262452       · Hot  fixes, as determined by SaltStack's release team, should be sub‐
262453         mitted against dot release branches. Dot release branches  are  named
262454         after  a  year,  month,  and  version. Examples include 2016.11.8 and
262455         2017.7.2.
262456
262457       NOTE:
262458          GitHub will open pull requests against Salt's main branch,  develop,
262459          by  default. Be sure to check which branch is selected when creating
262460          the pull request.
262461
262462   The Develop Branch
262463       The develop branch is unstable and bleeding-edge.  Pull  requests  con‐
262464       taining feature additions or non-bug-fix changes should be made against
262465       the develop branch.
262466
262467       NOTE:
262468          If you have a bug fix  or  documentation  change  and  have  already
262469          forked  your  working  branch  from  develop  and do not know how to
262470          rebase your commits  against  another  branch,  then  submit  it  to
262471          develop  anyway.  SaltStack's  development  team  will  be  happy to
262472          back-port it to the correct branch.
262473
262474          Please make sure you let the maintainers know that the pull  request
262475          needs to be back-ported.
262476
262477   Main Release Branches
262478       The  current  release  branch  is  the most recent stable release. Pull
262479       requests containing bug fixes or documentation changes should  be  made
262480       against the oldest supported main release branch that is affected.
262481
262482       The branch name will be a date-based name such as 2016.11.
262483
262484       Bug  fixes  are made on this branch so that dot release branches can be
262485       cut from the main release branch without introducing surprises and  new
262486       features. This approach maximizes stability.
262487
262488   Dot Release Branches
262489       Prior to tagging an official release, a branch will be created when the
262490       SaltStack release team is ready to tag. The dot release branch is  cre‐
262491       ated  from  a  main  release branch. The dot release branch will be the
262492       same name as the tag minus  the  v.   For  example,  the  2017.7.1  dot
262493       release  branch  was  created  from the 2017.7 main release branch. The
262494       v2017.7.1 release was tagged at the HEAD of the 2017.7.1 branch.
262495
262496       This branching strategy will allow for more stability when there  is  a
262497       need  for  a re-tag during the testing phase of the release process and
262498       further increases stability.
262499
262500       Once the dot release branch is created, the fixes required for a  given
262501       release,  as determined by the SaltStack release team, will be added to
262502       this branch. All commits in this branch will be merged forward into the
262503       main release branch as well.
262504
262505   Merge Forward Process
262506       The Salt repository follows a "Merge Forward" policy. The merge-forward
262507       behavior means that changes submitted to older  main  release  branches
262508       will automatically be "merged-forward" into the newer branches.
262509
262510       For  example,  a  pull  request is merged into 2017.7. Then, the entire
262511       2017.7 branch is merged-forward into the 2018.3 branch, and the  2018.3
262512       branch is merged-forward into the develop branch.
262513
262514       This   process  makes  is  easy  for  contributors  to  make  only  one
262515       pull-request against an older branch, but allows the change  to  propa‐
262516       gate to all main release branches.
262517
262518       The  merge-forward  work-flow  applies to all main release branches and
262519       the operation runs continuously.
262520
262521   Merge-Forwards for Dot Release Branches
262522       The merge-forward policy applies to dot release branches as  well,  but
262523       has  a  slightly  different behavior. If a change is submitted to a dot
262524       release branch, the dot release branch will be merged into  its  parent
262525       main release branch.
262526
262527       For example, a pull request is merged into the 2017.7.2 release branch.
262528       Then, the entire 2017.7.2 branch  is  merged-forward  into  the  2017.7
262529       branch. From there, the merge forward process continues as normal.
262530
262531       The  only  way  in  which dot release branches differ from main release
262532       branches in regard to merge-forwards, is that once a dot release branch
262533       is  created  from  the main release branch, the dot release branch does
262534       not receive merge forwards.
262535
262536       NOTE:
262537          The merge forward process for dot release branches is  one-way:  dot
262538          release branch --> main release branch.
262539
262540   Closing GitHub issues from commits
262541       This "merge-forward" strategy requires that the magic keywords to close
262542       a GitHub issue appear in the commit message text directly. Only includ‐
262543       ing the text in a pull request will not close the issue.
262544
262545       GitHub  will  close the referenced issue once the commit containing the
262546       magic text is merged into the default branch (develop). Any magic  text
262547       input  only  into  the pull request description will not be seen at the
262548       Git-level when those commits are merged-forward. In other  words,  only
262549       the commits are merged-forward and not the pull request text.
262550
262551   Backporting Pull Requests
262552       If  a  bug  is  fixed  on develop and the bug is also present on a cur‐
262553       rently-supported release branch, it will need to be back-ported  to  an
262554       applicable branch.
262555
262556       NOTE:
262557          Most Salt contributors can skip these instructions
262558
262559          These  instructions do not need to be read in order to contribute to
262560          the Salt project! The SaltStack team will back-port fixes on  behalf
262561          of contributors in order to keep the contribution process easy.
262562
262563          These  instructions  are  intended  for  frequent Salt contributors,
262564          advanced Git users, SaltStack employees, or  independent  souls  who
262565          wish to back-port changes themselves.
262566
262567       It is often easiest to fix a bug on the oldest supported release branch
262568       and then merge that branch forward into develop (as  described  earlier
262569       in  this  document).  When  that  is  not  possible  the  fix  must  be
262570       back-ported, or copied, into any other affected branches.
262571
262572       These steps assume a pull request #1234 has been merged  into  develop.
262573       And upstream is the name of the remote pointing to the main Salt repo.
262574
262575       1. Identify the oldest supported release branch that is affected by the
262576          bug.
262577
262578       2. Create a new branch for the back-port by  reusing  the  same  branch
262579          from the original pull request.
262580
262581          Name  the  branch  bp-<NNNN> and use the number of the original pull
262582          request.
262583
262584             git fetch upstream refs/pull/1234/head:bp-1234
262585             git checkout bp-1234
262586
262587       3. Find the parent commit of the original pull request.
262588
262589          The parent commit of the original pull  request  must  be  known  in
262590          order  to rebase onto a release branch. The easiest way to find this
262591          is on GitHub.
262592
262593          Open the original pull request on GitHub and find the  first  commit
262594          in the list of commits. Select and copy the SHA for that commit. The
262595          parent of that commit can be specified by appending ~1 to the end.
262596
262597       4. Rebase the new branch on top of the release branch.
262598
262599          · <release-branch> is the branch identified in step #1.
262600
262601          · <orig-base> is the SHA identified in step #3 --  don't  forget  to
262602            add ~1 to the end!
262603
262604             git rebase --onto <release-branch> <orig-base> bp-1234
262605
262606          Note, release branches prior to 2016.11 will not be able to make use
262607          of rebase and must use cherry-picking instead.
262608
262609       5. Push the back-port branch to GitHub and open a new pull request.
262610
262611          Opening a pull request for the back-port allows for the  test  suite
262612          and normal code-review process.
262613
262614             git push -u origin bp-1234
262615
262616   Keeping Salt Forks in Sync
262617       Salt  advances  quickly.  It  is  therefore  critical  to pull upstream
262618       changes from upstream into your fork on a  regular  basis.  Nothing  is
262619       worse than putting hard work into a pull request only to see bunches of
262620       merge conflicts because it has diverged too far from upstream.
262621
262622       SEE ALSO:
262623          GitHub Fork a Repo Guide
262624
262625       The following assumes origin is the name of your fork and  upstream  is
262626       the name of the main saltstack/salt repository.
262627
262628       1. View existing remotes.
262629
262630             git remote -v
262631
262632       2. Add the upstream remote.
262633
262634             # For ssh github
262635             git remote add upstream git@github.com:saltstack/salt.git
262636
262637             # For https github
262638             git remote add upstream https://github.com/saltstack/salt.git
262639
262640       3. Pull upstream changes into your clone.
262641
262642             git fetch upstream
262643
262644       4. Update your copy of the develop branch.
262645
262646             git checkout develop
262647             git merge --ff-only upstream/develop
262648
262649          If Git complains that a fast-forward merge is not possible, you have
262650          local commits.
262651
262652          · Run git pull --rebase origin develop to rebase your changes on top
262653            of the upstream changes.
262654
262655          · Or,  run git branch <branch-name> to create a new branch with your
262656            commits. You will then need to reset your  develop  branch  before
262657            updating it with the changes from upstream.
262658
262659          If  Git  complains  that  local  files will be overwritten, you have
262660          changes to files in your working directory. Run git  status  to  see
262661          the files in question.
262662
262663       5. Update your fork.
262664
262665             git push origin develop
262666
262667       6. Repeat  the previous two steps for any other branches you work with,
262668          such as the current release branch.
262669
262670   Posting patches to the mailing list
262671       Patches will also be accepted by email. Format patches using  git  for‐
262672       mat-patch and send them to the salt-users mailing list. The contributor
262673       will then get credit for the patch, and the Salt community will have an
262674       archive of the patch and a place for discussion.
262675
262676   Issue and Pull Request Labeling System
262677       SaltStack uses several labeling schemes to help facilitate code contri‐
262678       butions and bug resolution. See the Labels and Milestones documentation
262679       for more information.
262680
262681   Mentionbot
262682       SaltStack  runs  a mention-bot which notifies contributors who might be
262683       able to help review incoming pull-requests based on their past  contri‐
262684       bution to files which are being changed.
262685
262686       If  you  do  not  wish  to receive these notifications, please add your
262687       GitHub handle to the blacklist line in the .mention-bot file located in
262688       the root of the Salt repository.
262689
262690   GPG Verification
262691       SaltStack has enabled GPG Probot to enforce GPG signatures for all com‐
262692       mits included in a Pull Request.
262693
262694       In order for the GPG verification status check to pass, every contribu‐
262695       tor in the pull request must:
262696
262697       · Set up a GPG key on local machine
262698
262699       · Sign all commits in the pull request with key
262700
262701       · Link key with GitHub account
262702
262703       This applies to all commits in the pull request.
262704
262705       GitHub  hosts  a  number of help articles for creating a GPG key, using
262706       the GPG key with git locally, and linking the GPG key  to  your  GitHub
262707       account.   Once these steps are completed, the commit signing verifica‐
262708       tion will look like the example in GitHub's GPG Signature  Verification
262709       feature announcement.
262710
262711   Bootstrap Script Changes
262712       Salt's  Bootstrap  Script, known as bootstrap-salt.sh in the Salt repo,
262713       has it's own repository, contributing guidelines, and release cadence.
262714
262715       All changes to the Bootstrap Script should be  made  to  salt-bootstrap
262716       repo.  Any pull requests made to the bootstrap-salt.sh file in the Salt
262717       repository will be  automatically  overwritten  upon  the  next  stable
262718       release of the Bootstrap Script.
262719
262720       For more information on the release process or how to contribute to the
262721       Bootstrap Script, see the Bootstrap Script's Contributing Guidelines.
262722
262723   Deprecating Code
262724       Salt should remain backwards compatible, though sometimes,  this  back‐
262725       wards  compatibility  needs  to  be  broken  because a specific feature
262726       and/or solution is no longer necessary or required.  At first one might
262727       think,  let  me  change this code, it seems that it's not used anywhere
262728       else so it should be safe to remove.  Then, once there's a new release,
262729       users  complain  about  functionality  which was removed and they where
262730       using it, etc. This should, at all costs, be  avoided,  and,  in  these
262731       cases, that specific code should be deprecated.
262732
262733       In  order to give users enough time to migrate from the old code behav‐
262734       ior to the new behavior, the deprecation time frame should be carefully
262735       determined  based  on  the  significance  and complexity of the changes
262736       required by the user.
262737
262738       Salt feature releases are based on the Periodic Table. Any new features
262739       going  into  the develop branch will be named after the next element in
262740       the Periodic Table. For example, Beryllium was the feature release name
262741       of  the  develop  branch  before  the 2015.8 branch was tagged. At that
262742       point in time, any new features going into  the  develop  branch  after
262743       2015.8 was branched were part of the Boron feature release.
262744
262745       A  deprecation  warning  should  be  in  place  for  at least two major
262746       releases before the deprecated code and  its  accompanying  deprecation
262747       warning  are  removed.   More  time  should  be  given for more complex
262748       changes.  For example, if the  current  release  under  development  is
262749       Sodium,  the  deprecated  code and associated warnings should remain in
262750       place and warn for at least Aluminum.
262751
262752       To  help  in  this  deprecation  task,  salt  provides  salt.utils.ver‐
262753       sions.warn_until.  The  idea behind this helper function is to show the
262754       deprecation warning to the user until salt reaches  the  provided  ver‐
262755       sion.   Once   that   provided   version   is  equaled  salt.utils.ver‐
262756       sions.warn_until will raise a RuntimeError making salt stop its  execu‐
262757       tion.  This  stoppage  is unpleasant and will remind the developer that
262758       the deprecation limit has been reached and that the code  can  then  be
262759       safely removed.
262760
262761       Consider the following example:
262762
262763          def some_function(bar=False, foo=None):
262764              if foo is not None:
262765                  salt.utils.versions.warn_until(
262766                      'Aluminum',
262767                      'The \'foo\' argument has been deprecated and its '
262768                      'functionality removed, as such, its usage is no longer '
262769                      'required.'
262770                  )
262771
262772       Development begins on the Aluminum release when the Magnesium branch is
262773       forked from the develop branch.  Once this  occurs,  all  uses  of  the
262774       warn_until  function  targeting  Aluminum, along with the code they are
262775       warning about should be removed from the code.
262776
262777   Installing Salt for development
262778       Clone the repository using:
262779
262780          git clone https://github.com/saltstack/salt
262781
262782       NOTE:
262783          tags
262784
262785          Just cloning the repository is enough to work  with  Salt  and  make
262786          contributions.   However,  fetching  additional  tags  from  git  is
262787          required to have Salt report the correct version for itself.  To  do
262788          this, first add the git repository as an upstream source:
262789
262790              git remote add upstream https://github.com/saltstack/salt
262791
262792          Fetching tags is done with the git 'fetch' utility:
262793
262794              git fetch --tags upstream
262795
262796       Create a new virtualenv:
262797
262798          virtualenv /path/to/your/virtualenv
262799
262800       Avoid making your virtualenv path too long.
262801
262802       On  Arch  Linux,  where Python 3 is the default installation of Python,
262803       use the virtualenv2 command instead of virtualenv.
262804
262805       On Gentoo  you  must  use  --system-site-packages  to  enable  pkg  and
262806       portage_config functionality
262807
262808       NOTE:
262809          Using system Python modules in the virtualenv
262810
262811          To  use  already-installed  python modules in virtualenv (instead of
262812          having pip download and compile new  ones),  run  virtualenv  --sys‐
262813          tem-site-packages  Using  this  method eliminates the requirement to
262814          install the salt dependencies again, although it  does  assume  that
262815          the listed modules are all installed in the system PYTHONPATH at the
262816          time of virtualenv creation.
262817
262818       NOTE:
262819          Python development package
262820
262821          Be sure to install python devel package in order to install required
262822          Python  modules.  In  Debian/Ubuntu  run  sudo  apt-get  install  -y
262823          python-dev. In RedHat based system install python-devel
262824
262825       Activate the virtualenv:
262826
262827          source /path/to/your/virtualenv/bin/activate
262828
262829       Install Salt (and dependencies) into the virtualenv:
262830
262831          pip install pyzmq PyYAML pycrypto msgpack-python jinja2 psutil futures tornado
262832          pip install -e ./salt   # the path to the salt git clone from above
262833
262834       NOTE:
262835          Installing psutil
262836
262837          Python header files are required to build this module, otherwise the
262838          pip  install  will fail. If your distribution separates binaries and
262839          headers into separate packages, make sure that you have the  headers
262840          installed.  In most Linux distributions which split the headers into
262841          their own package, this can be done by installing the python-dev  or
262842          python-devel  package.  For other platforms, the package will likely
262843          be similarly named.
262844
262845       NOTE:
262846          Installing dependencies on macOS.
262847
262848          You can install needed dependencies on macOS using homebrew or  mac‐
262849          ports.  See macOS Installation
262850
262851       WARNING:
262852          Installing on RedHat-based Distros
262853
262854          If  installing  from pip (or from source using setup.py install), be
262855          advised that the yum-utils package is  needed  for  Salt  to  manage
262856          packages on RedHat-based systems.
262857
262858   Running a self-contained development version
262859       During  development it is easiest to be able to run the Salt master and
262860       minion that are installed in the virtualenv you created above, and also
262861       to  have  all  the configuration, log, and cache files contained in the
262862       virtualenv as well.
262863
262864       The /path/to/your/virtualenv referenced multiple times  below  is  also
262865       available  in the variable $VIRTUAL_ENV once the virtual environment is
262866       activated.
262867
262868       Copy the master and minion config files into your virtualenv:
262869
262870          mkdir -p /path/to/your/virtualenv/etc/salt/pki/{master,minion}
262871          cp ./salt/conf/master ./salt/conf/minion /path/to/your/virtualenv/etc/salt/
262872
262873       Edit the master config file:
262874
262875       1. Uncomment and change the user: root value to your own user.
262876
262877       2. Uncomment  and  change  the  root_dir:   /   value   to   point   to
262878          /path/to/your/virtualenv.
262879
262880       3. Uncomment  and  change  the  pki_dir:  /etc/salt/pki/master value to
262881          point to /path/to/your/virtualenv/etc/salt/pki/master
262882
262883       4. If you are running version 0.11.1 or older,  uncomment,  and  change
262884          the    pidfile:   /var/run/salt-master.pid   value   to   point   to
262885          /path/to/your/virtualenv/salt-master.pid.
262886
262887       5. If you are also running a non-development version of Salt  you  will
262888          have to change the publish_port and ret_port values as well.
262889
262890       Edit the minion config file:
262891
262892       1. Repeat  the  edits  you  made  in the master config for the user and
262893          root_dir values as well as any port changes.
262894
262895       2. Uncomment and change  the  pki_dir:  /etc/salt/pki/minion  value  to
262896          point to /path/to/your/virtualenv/etc/salt/pki/minion
262897
262898       3. If  you  are  running version 0.11.1 or older, uncomment, and change
262899          the   pidfile:   /var/run/salt-minion.pid   value   to   point    to
262900          /path/to/your/virtualenv/salt-minion.pid.
262901
262902       4. Uncomment and change the master: salt value to point at localhost.
262903
262904       5. Uncomment  and  change  the  id: value to something descriptive like
262905          "saltdev". This isn't strictly necessary but  it  will  serve  as  a
262906          reminder of which Salt installation you are working with.
262907
262908       6. If  you  changed the ret_port value in the master config because you
262909          are also running a non-development version of Salt,  then  you  will
262910          have to change the master_port value in the minion config to match.
262911
262912       NOTE:
262913          Using salt-call with a Standalone Minion
262914
262915          If  you  plan  to run salt-call with this self-contained development
262916          environment in a masterless setup, you should invoke salt-call  with
262917          -c  /path/to/your/virtualenv/etc/salt so that salt can find the min‐
262918          ion config file. Without the -c option, Salt finds its config  files
262919          in /etc/salt.
262920
262921       Start  the  master and minion, accept the minion's key, and verify your
262922       local Salt installation is working:
262923
262924          cd /path/to/your/virtualenv
262925          salt-master -c ./etc/salt -d
262926          salt-minion -c ./etc/salt -d
262927          salt-key -c ./etc/salt -L
262928          salt-key -c ./etc/salt -A
262929          salt -c ./etc/salt '*' test.ping
262930
262931       Running the master and minion in debug mode can be helpful when  devel‐
262932       oping.  To  do  this,  add  -l  debug  to  the calls to salt-master and
262933       salt-minion.  If you would like to log to the console instead of to the
262934       log file, remove the -d.
262935
262936       NOTE:
262937          Too long socket path?
262938
262939          Once the minion starts, you may see an error like the following:
262940
262941              zmq.core.error.ZMQError: ipc path "/path/to/your/virtualenv/
262942              var/run/salt/minion/minion_event_7824dcbcfd7a8f6755939af70b96249f_pub.ipc"
262943              is longer than 107 characters (sizeof(sockaddr_un.sun_path)).
262944
262945          This  means  that  the path to the socket the minion is using is too
262946          long. This is a system limitation, so  the  only  workaround  is  to
262947          reduce the length of this path. This can be done in a couple differ‐
262948          ent ways:
262949
262950          1. Create your virtualenv in a path that is short enough.
262951
262952          2. Edit the sock_dir minion config variable and reduce  its  length.
262953             Remember  that  this  path  is  relative  to the value you set in
262954             root_dir.
262955
262956          NOTE: The socket path is limited to 107 characters  on  Solaris  and
262957          Linux, and 103 characters on BSD-based systems.
262958
262959       NOTE:
262960          File descriptor limits
262961
262962          Ensure that the system open file limit is raised to at least 2047:
262963
262964              # check your current limit
262965              ulimit -n
262966
262967              # raise the limit. persists only until reboot
262968              # use 'limit descriptors 2047' for c-shell
262969              ulimit -n 2047
262970
262971          To  set  file  descriptors on macOS, refer to the macOS Installation
262972          instructions.
262973
262974   Changing Default Paths
262975       Instead of updating your configuration files to point to the  new  root
262976       directory  and  having  to pass the new configuration directory path to
262977       all of Salt's CLI tools, you can explicitly tweak  the  default  system
262978       paths that Salt expects:
262979
262980          GENERATE_SALT_SYSPATHS=1 pip install --global-option='--salt-root-dir=/path/to/your/virtualenv/' \
262981              -e ./salt   # the path to the salt git clone from above
262982
262983       You can now call all of Salt's CLI tools without explicitly passing the
262984       configuration directory.
262985
262986   Additional Options
262987       If you want to distribute your virtualenv, you probably don't  want  to
262988       include  Salt's  clone  .git/  directory,  and,  without it, Salt won't
262989       report the accurate version. You can  tell  setup.py  to  generate  the
262990       hardcoded version information which is distributable:
262991
262992          GENERATE_SALT_SYSPATHS=1 WRITE_SALT_VERSION=1 pip install --global-option='--salt-root-dir=/path/to/your/virtualenv/' \
262993              -e ./salt   # the path to the salt git clone from above
262994
262995       Instead of passing those two environmental variables, you can just pass
262996       a single one which will trigger the other two:
262997
262998          MIMIC_SALT_INSTALL=1 pip install --global-option='--salt-root-dir=/path/to/your/virtualenv/' \
262999              -e ./salt   # the path to the salt git clone from above
263000
263001       This last one will grant you an editable salt installation  with  hard‐
263002       coded system paths and version information.
263003
263004   Installing Salt from the Python Package Index
263005       If  you  are  installing  using easy_install, you will need to define a
263006       USE_SETUPTOOLS environment variable, otherwise dependencies will not be
263007       installed:
263008
263009          USE_SETUPTOOLS=1 easy_install salt
263010
263011   Editing and previewing the documentation
263012       You  need sphinx-build command to build the docs. In Debian/Ubuntu this
263013       is provided in the python-sphinx package. Sphinx can also be  installed
263014       to a virtualenv using pip:
263015
263016          pip install Sphinx==1.3.1
263017
263018       Change to salt documentation directory, then:
263019
263020          cd doc; make html
263021
263022       · This  will build the HTML docs. Run make without any arguments to see
263023         the available make targets, which include html, man, and text.
263024
263025       · The docs then are built within the docs/_build/ folder. To update the
263026         docs after making changes, run make again.
263027
263028       · The  docs  use  reStructuredText  for  markup.   See  a  live demo at
263029         http://rst.ninjs.org/.
263030
263031       · The help information on each module  or  state  is  culled  from  the
263032         python  code  that runs for that piece. Find them in salt/modules/ or
263033         salt/states/.
263034
263035       · To build the docs  on  Arch  Linux,  the  python2-sphinx  package  is
263036         required.  Additionally,  it  is necessary to tell make where to find
263037         the proper sphinx-build binary, like so:
263038
263039          make SPHINXBUILD=sphinx-build2 html
263040
263041       · To build the docs on RHEL/CentOS 6, the python-sphinx10 package  must
263042         be installed from EPEL, and the following make command must be used:
263043
263044          make SPHINXBUILD=sphinx-build html
263045
263046       Once  you've  updated the documentation, you can run the following com‐
263047       mand to launch a simple Python HTTP server to see your changes:
263048
263049          cd _build/html; python -m SimpleHTTPServer
263050
263051   Running unit and integration tests
263052       Run the test suite with following command:
263053
263054          ./setup.py test
263055
263056       See here for more information regarding the test suite.
263057
263058   Issue and Pull Request Labeling System
263059       SaltStack uses several labeling schemes to help facilitate code contri‐
263060       butions and bug resolution. See the Labels and Milestones documentation
263061       for more information.
263062
263063   GitHub Labels and Milestones
263064       SaltStack uses several label categories,  as  well  as  milestones,  to
263065       triage  incoming  issues and pull requests in the GitHub issue tracker.
263066       Labels are used to sort issues by  type,  priority,  severity,  status,
263067       functional  area,  functional  group,  and  targeted  release  and pull
263068       requests by status, functional area, functional group, type of  change,
263069       and  test  status.  Milestones are used to indicate whether an issue is
263070       fully triaged or is scheduled to be fixed by SaltStack in  an  upcoming
263071       sprint.
263072
263073   Milestones
263074       All  issues  are  assigned  to  a  milestone, whereas pull requests are
263075       almost never assigned to a milestone  as  the  mean  lifetime  of  pull
263076       requests  is  short  enough  that there is no need to track them tempo‐
263077       rally.
263078
263079       SaltStack uses milestones to indicate which issues are blocked on  sub‐
263080       mitter  or upstream actions, are approved, or are scheduled to be fixed
263081       or implemented in an upcoming sprint.  If an issue is not attached to a
263082       sprint  milestone, you are welcome to work on it at your own desire and
263083       convenience.  If it is attached to a  sprint  milestone  and  you  have
263084       already  begun  working  on it or have a solution in mind or have other
263085       ideas related to the issue, you are encouraged to coordinate  with  the
263086       assignee via the GitHub issue tracker to create the best possible solu‐
263087       tion or implementation.
263088
263089       · Approved - The issue has been validated and has all necessary  infor‐
263090         mation.
263091
263092       · Blocked - The issue is waiting on actions by parties outside of Salt‐
263093         Stack, such as receiving more information from the submitter or reso‐
263094         lution  of  an  upstream  issue. This milestone is usually applied in
263095         conjunction with the labels Info Needed, Question, Expected Behavior,
263096         Won't Fix For Now, or Upstream Bug.
263097
263098   Labels
263099       Labels  are  used  to sort and describe issues and pull requests.  Some
263100       labels are usually reserved for one or the other,  though  most  labels
263101       may be applied to both.
263102
263103       New  issues  will  receive  at least one label and a milestone, and new
263104       pull requests  will  receive  at  least  one  label.   Except  for  the
263105       functional area and functional group label categories, issues will gen‐
263106       erally receive only up to one label per category.
263107
263108   Type
263109       Issues are categorized into one of  several  types.   Type  labels  are
263110       almost  never used for pull requests.  GitHub treats pull requests like
263111       issues in many ways, so a pull request could  be  considered  an  issue
263112       with an implicit Pull Request type label applied.
263113
263114       · Feature  -  The  issue  is  a request for new functionality including
263115         changes, enhancements, refactors, etc.
263116
263117       · Bug - The issue documents broken, incorrect, or  confusing  behavior.
263118         This label is always accompanied by a severity label.
263119
263120       · Duplicate  -  The  issue is a duplicate of another feature request or
263121         bug report.
263122
263123       · Upstream Bug - The issue is a result of an upstream issue.
263124
263125       · Question - The issue is more of a question than  a  request  for  new
263126         features  or  a  report of broken features, but can sometimes lead to
263127         further discussion or changes of confusing or incongruous behavior or
263128         documentation.
263129
263130       · Expected Behavior - The issue is a bug report of intended functional‐
263131         ity.
263132
263133   Priority
263134       An issue's priority is relative to  its  functional  area.   If  a  bug
263135       report, for example, about gitfs indicates that all users of gitfs will
263136       encounter this bug, then a P1 label will be applied, even though  users
263137       who  are  not  using gitfs will not encounter the bug.  If a feature is
263138       requested by many users, it may be given a high priority.
263139
263140       · P1 - The issue will be seen by all users.
263141
263142       · P2 - The issue will be seen by most users.
263143
263144       · P3 - The issue will be seen by about half of users.
263145
263146       · P4 - The issue will not be seen by most users.  Usually the issue  is
263147         a very specific use case or corner case.
263148
263149   Severity
263150       Severity labels are almost always only applied to issues labeled Bug.
263151
263152       · Blocker - The issue is blocking an impending release.
263153
263154       · Critical  -  The  issue  causes data loss, crashes or hangs salt pro‐
263155         cesses, makes the system unresponsive, etc.
263156
263157       · High Severity - The issue reports incorrect functionality, bad  func‐
263158         tionality, a confusing user experience, etc.
263159
263160       · Medium  Severity  -  The  issue  reports  cosmetic items, formatting,
263161         spelling, colors, etc.
263162
263163   Functional Area
263164       Many major components of Salt have corresponding GitHub labels.   These
263165       labels  are  applied  to  all issues and pull requests as is reasonably
263166       appropriate.  They are useful in organizing issues  and  pull  requests
263167       according  to  the  source  code  relevant to issues or the source code
263168       changed by pull requests.
263169
263170       · Execution Module
263171
263172       · File Servers
263173
263174       · Grains
263175
263176       · Multi-Master
263177
263178       · Packaging  Related to packaging of Salt, not Salt's support for pack‐
263179         age management.
263180
263181       · Pillar
263182
263183       · RAET
263184
263185       · Returners
263186
263187       · Runners
263188
263189       · SPM
263190
263191       · Salt-API
263192
263193       · Salt-Cloud
263194
263195       · Salt-SSH
263196
263197       · Salt-Syndic
263198
263199       · State Module
263200
263201       · Tests
263202
263203       · Transport
263204
263205       · Windows
263206
263207       · ZMQ
263208
263209   Functional Group
263210       These  labels  sort  issues and pull requests according to the internal
263211       SaltStack engineering teams.
263212
263213       · Core - The issue or pull request relates to code that is  central  or
263214         existential to Salt itself.
263215
263216       · Platform  - The issue or pull request relates to support and integra‐
263217         tion with various platforms like  traditional  operating  systems  as
263218         well  as  containers, platform-based utilities like filesystems, com‐
263219         mand schedulers, etc., and system-based applications like webservers,
263220         databases, etc.
263221
263222       · RIoT  -  The issue or pull request relates to support and integration
263223         with various abstract  systems  like  cloud  providers,  hypervisors,
263224         API-based services, etc.
263225
263226       · Console  -  The issue or pull request relates to the SaltStack enter‐
263227         prise console.
263228
263229       · Documentation - The issue or pull request relates to documentation.
263230
263231   Status
263232       Status labels are used to define and track the state of issues and pull
263233       requests.   Not  all potential statuses correspond to a label, but some
263234       statuses are common enough that labels have been created for them.   If
263235       an  issue  has  not been moved beyond the Blocked milestone, it is very
263236       likely that it will only have a status label.
263237
263238       · Bugfix - back-port The pull request needs to  be  back-ported  to  an
263239         older  release  branch.   This is done by recreating the pull request
263240         against that branch.  Once the back-port is completed, this label  is
263241         replaced  with  a  Bugfix  - [Done] back-ported label.  Normally, new
263242         features should go into the develop and bug  fixes  into  the  oldest
263243         supported release branch, see here.
263244
263245       · Bugfix  -  [Done] back-ported - The pull request has been back-ported
263246         to an older branch.
263247
263248       · Cannot Reproduce - The issue is a bug and  has  been  reviewed  by  a
263249         SaltStack  engineer,  but  it  cannot be replicated with the provided
263250         information and context.  Those involved with the bug  will  need  to
263251         work through additional ideas until the bug can be isolated and veri‐
263252         fied.
263253
263254       · Confirmed - The issue is a bug and has been confirmed by a  SaltStack
263255         engineer,  who  often documents a minimal working example that repro‐
263256         duces the bug.
263257
263258       · Fixed Pending Verification - The issue is a bug and has been fixed by
263259         one  or  more pull requests, which should link to the issue.  Closure
263260         of the issue is contingent upon confirmation of resolution  from  the
263261         submitter.   If  the  submitter reports a negative confirmation, this
263262         label is removed.  If no response is given after a  few  weeks,  then
263263         the issue will be assumed fixed and closed.
263264
263265       · Info Needed - The issue needs more information before it can be veri‐
263266         fied and resolved.  For a feature request this may include a descrip‐
263267         tion  of  the  use  cases.  Almost all bug reports need to include at
263268         least the versions of salt and its dependencies, the system type  and
263269         version, commands used, debug logs, error messages, and relevant con‐
263270         figs.
263271
263272       · Pending Changes - The pull request needs additional changes before it
263273         can be merged.
263274
263275       · Pending  Discussion - The issue or pull request needs more discussion
263276         before it can be closed or merged.  The status of the issue  or  pull
263277         request  is  not  clear  or apparent enough for definite action to be
263278         taken, or additional input from SaltStack, the submitter, or  another
263279         party has been requested.
263280
263281         If  the  issue is not a pull request, once the discussion has arrived
263282         at a cogent conclusion, this label will be removed and the issue will
263283         be  accepted.  If it is a pull request, the results of the discussion
263284         may require additional changes and thus, a Pending Changes label.
263285
263286       · Won't Fix for Now - The issue is legitimate, but it is not  something
263287         the  SaltStack team is currently able or willing to fix or implement.
263288         Issues having this label may be revisited in the future.
263289
263290   Type of Change
263291       Every pull request should receive a change label.  These labels measure
263292       the  quantity of change as well as the significance of the change.  The
263293       amount of change and the importance of the code area changed  are  con‐
263294       sidered,  but often the depth of secondary code review required and the
263295       potential repercussions of the change may also advise the label choice.
263296
263297       Core code areas include: state compiler, crypto engine, master and min‐
263298       ion  and syndic daemons, transport, pillar rendering, loader, transport
263299       layer, event system, salt.utils, client, cli, logging,  netapi,  runner
263300       engine,  templating  engine,  top  file  compilation, file client, file
263301       server, mine, salt-ssh, test runner, etc.
263302
263303       Non-core code usually constitutes the specific set of plugins for  each
263304       of  the  several plugin layers of Salt: execution modules, states, run‐
263305       ners, returners, clouds, etc.
263306
263307       · Minor Change
263308
263309         · Less than 64 lines changed, or
263310
263311         · Less than 8 core lines changed
263312
263313       · Medium Change
263314
263315         · Less than 256 lines changed, or
263316
263317         · Less than 64 core lines changed
263318
263319       · Master Change
263320
263321         · More than 256 lines changed, or
263322
263323         · More than 64 core lines changed
263324
263325       · Expert Change
263326
263327         · Needs specialized, in-depth review
263328
263329   Test Status
263330       These labels relate to the status of the automated tests  that  run  on
263331       pull  requests.   If the tests on a pull request fail and are not over‐
263332       ridden by one of these labels, the  pull  request  submitter  needs  to
263333       update  the  code  and/or  tests  so  that  the tests pass and the pull
263334       request can be merged.
263335
263336       · Lint - The pull request has passed all tests except for the code lint
263337         checker.
263338
263339       · Tests Passed - The pull request has passed all tests even though some
263340         test results are negative.  Sometimes the  automated  testing  infra‐
263341         structure will encounter internal errors unrelated to the code change
263342         in the pull request that cause test runs to fail.  These  errors  can
263343         be  caused  by  cloud host and network issues and also Jenkins issues
263344         like erroneously accumulating workspace artifacts,  resource  exhaus‐
263345         tion, and bugs that arise from long running Jenkins processes.
263346
263347   Other
263348       These  labels  indicate  miscellaneous issue types or statuses that are
263349       common or important enough to be tracked and sorted with labels.
263350
263351       · Awesome - The pull request  implements  an  especially  well  crafted
263352         solution, or a very difficult but necessary change.
263353
263354       · Help  Wanted  -  The issue appears to have a simple solution.  Issues
263355         having this label should be a good starting place for  new  contribu‐
263356         tors to Salt.
263357
263358       · Needs  Testcase - The issue or pull request relates to a feature that
263359         needs test coverage.  The pull request containing  the  tests  should
263360         reference  the issue or pull request having this label, whereupon the
263361         label should be removed.
263362
263363       · Regression - The issue is a bug that breaks  functionality  known  to
263364         work in previous releases.
263365
263366       · Story  -  The issue is used by a SaltStack engineer to track progress
263367         on multiple related issues in a single place.
263368
263369       · Stretch - The issue is an optional goal for the  current  sprint  but
263370         may not be delivered.
263371
263372       · ZD - The issue is related to a Zendesk customer support ticket.
263373
263374       · <Release>  -  The  issue is scheduled to be implemented by <Release>.
263375         See here for a discussion of Salt's release codenames.
263376
263377   Logging Internals
263378       TODO
263379
263380   Package Providers
263381       This page contains guidelines for writing package providers.
263382
263383   Package Functions
263384       One of the most important features of Salt is package management. There
263385       is  no  shortage of package managers, so in the interest of providing a
263386       consistent experience in pkg states, there are certain  functions  that
263387       should be present in a package provider. Note that these are subject to
263388       change as new features are added or existing features are enhanced.
263389
263390   list_pkgs
263391       This function should declare an empty dict, and then add packages to it
263392       by calling pkg_resource.add_pkg, like so:
263393
263394          __salt__['pkg_resource.add_pkg'](ret, name, version)
263395
263396       The  last  thing  that  should  be  done before returning is to execute
263397       pkg_resource.sort_pkglist. This function does not presently do anything
263398       to the return dict, but will be used in future versions of Salt.
263399
263400          __salt__['pkg_resource.sort_pkglist'](ret)
263401
263402       list_pkgs  returns  a  dictionary  of installed packages, with the keys
263403       being the package names and the values  being  the  version  installed.
263404       Example return data:
263405
263406          {'foo': '1.2.3-4',
263407           'bar': '5.6.7-8'}
263408
263409   latest_version
263410       Accepts  an  arbitrary  number of arguments. Each argument is a package
263411       name. The return value for a package will be an  empty  string  if  the
263412       package  is not found or if the package is up-to-date. The only case in
263413       which a non-empty string is returned is if the package is available for
263414       new installation (i.e. not already installed) or if there is an upgrade
263415       available.
263416
263417       If only one argument was passed, this function return a string,  other‐
263418       wise a dict of name/version pairs is returned.
263419
263420       This  function must also accept **kwargs, in order to receive the from‐
263421       repo and repo keyword arguments from pkg states. Where supported, these
263422       arguments  should  be used to find the install/upgrade candidate in the
263423       specified repository. The fromrepo kwarg takes precedence over repo, so
263424       if  both of those kwargs are present, the repository specified in from‐
263425       repo should be used. However, if repo is used instead of  fromrepo,  it
263426       should  still work, to preserve backwards compatibility with older ver‐
263427       sions of Salt.
263428
263429   version
263430       Like latest_version, accepts  an  arbitrary  number  of  arguments  and
263431       returns  a  string  if  a  single package name was passed, or a dict of
263432       name/value pairs if more than one was passed. The  only  difference  is
263433       that the return values are the currently-installed versions of whatever
263434       packages are passed. If the package is not installed, an  empty  string
263435       is returned for that package.
263436
263437   upgrade_available
263438       Deprecated and destined to be removed. For now, should just do the fol‐
263439       lowing:
263440
263441          return __salt__['pkg.latest_version'](name) != ''
263442
263443   install
263444       The following arguments are required and should default to None:
263445
263446       1. name (for single-package pkg states)
263447
263448       2. pkgs (for multiple-package pkg states)
263449
263450       3. sources (for binary package file installation)
263451
263452       The   first   thing   that   this   function   should   do   is    call
263453       pkg_resource.parse_targets  (see below). This function will convert the
263454       SLS   input   into   a   more    easily    parsed    data    structure.
263455       pkg_resource.parse_targets  may need to be modified to support your new
263456       package provider, as it does things like parsing package metadata which
263457       cannot be done for every package management system.
263458
263459          pkg_params, pkg_type = __salt__['pkg_resource.parse_targets'](name,
263460                                                                        pkgs,
263461                                                                        sources)
263462
263463       Two  values will be returned to the install function. The first of them
263464       will be a dictionary. The keys  of  this  dictionary  will  be  package
263465       names,  though the values will differ depending on what kind of instal‐
263466       lation is being done:
263467
263468       · If name was provided (and pkgs was not), then there will be a  single
263469         key  in the dictionary, and its value will be None. Once the data has
263470         been returned, if the version keyword argument was provided, then  it
263471         should replace the None value in the dictionary.
263472
263473       · If  pkgs  was provided, then name is ignored, and the dictionary will
263474         contain one entry for each package in the pkgs list.  The  values  in
263475         the  dictionary  will  be None if a version was not specified for the
263476         package, and the desired version if specified. See the Multiple Pack‐
263477         age  Installation Options section of the pkg.installed state for more
263478         info.
263479
263480       · If sources was provided, then name is  ignored,  and  the  dictionary
263481         values will be the path/URI for the package.
263482
263483       The  second  return  value  will  be a string with two possible values:
263484       repository or file. The install function can use this value (if  neces‐
263485       sary) to build the proper command to install the targeted package(s).
263486
263487       Both  before  and  after  the  installing the target(s), you should run
263488       list_pkgs to obtain a list of the installed packages. You  should  then
263489       return the output of salt.utils.data.compare_dicts():
263490
263491          return salt.utils.data.compare_dicts(old, new)
263492
263493   remove
263494       Removes the passed package and return a list of the packages removed.
263495
263496   Package Repo Functions
263497       There  are some functions provided by pkg which are specific to package
263498       repositories, and not to packages themselves. When writing modules  for
263499       new  package  managers,  these  functions  should  be made available as
263500       stated below, in order to provide compatibility with the pkgrepo state.
263501
263502       All repo functions should accept a basedir option, which defines  which
263503       directory  repository configuration should be found in. The default for
263504       this is dictated by the repo manager that is  being  used,  and  rarely
263505       needs to be changed.
263506
263507          basedir = '/etc/yum.repos.d'
263508          __salt__['pkg.list_repos'](basedir)
263509
263510   list_repos
263511       Lists the repositories that are currently configured on this system.
263512
263513          __salt__['pkg.list_repos']()
263514
263515       Returns a dictionary, in the following format:
263516
263517          {'reponame': 'config_key_1': 'config value 1',
263518                       'config_key_2': 'config value 2',
263519                       'config_key_3': ['list item 1 (when appropriate)',
263520                                        'list item 2 (when appropriate)]}
263521
263522   get_repo
263523       Displays all local configuration for a specific repository.
263524
263525          __salt__['pkg.get_repo'](repo='myrepo')
263526
263527       The information is formatted in much the same way as list_repos, but is
263528       specific to only one repo.
263529
263530          {'config_key_1': 'config value 1',
263531           'config_key_2': 'config value 2',
263532           'config_key_3': ['list item 1 (when appropriate)',
263533                            'list item 2 (when appropriate)]}
263534
263535   del_repo
263536       Removes the local configuration for a specific repository.  Requires  a
263537       repo argument, which must match the locally configured name. This func‐
263538       tion returns a string, which informs the user as to whether or not  the
263539       operation was a success.
263540
263541          __salt__['pkg.del_repo'](repo='myrepo')
263542
263543   mod_repo
263544       Modify  the local configuration for one or more option for a configured
263545       repo.  This is also the way to create new repository  configuration  on
263546       the  local  system; if a repo is specified which does not yet exist, it
263547       will be created.
263548
263549       The options specified for this function are  specific  to  the  system;
263550       please  refer  to  the documentation for your specific repo manager for
263551       specifics.
263552
263553          __salt__['pkg.mod_repo'](repo='myrepo', url='http://myurl.com/repo')
263554
263555   Low-Package Functions
263556       In general, the standard package functions as describes above will meet
263557       your  needs.  These functions use the system's native repo manager (for
263558       instance, yum or the apt tools). In most cases,  the  repo  manager  is
263559       actually  separate  from the package manager. For instance, yum is usu‐
263560       ally a front-end for rpm, and apt is usually a front-end for dpkg. When
263561       possible,  the  package  functions  that  use  those  package  managers
263562       directly should do so through the low package functions.
263563
263564       It is normal and sane for pkg to make calls to lowpkgs, but lowpkg must
263565       never  make  calls to pkg. This is affects functions which are required
263566       by both pkg and lowpkg, but the technique in  pkg  is  more  performant
263567       than  what  is  available  to lowpkg. When this is the case, the lowpkg
263568       function that requires that technique must still use  the  lowpkg  ver‐
263569       sion.
263570
263571   list_pkgs
263572       Returns  a  dict  of packages installed, including the package name and
263573       version.  Can accept a list of packages; if none  are  specified,  then
263574       all installed packages will be listed.
263575
263576          installed = __salt__['lowpkg.list_pkgs']('foo', 'bar')
263577
263578       Example output:
263579
263580          {'foo': '1.2.3-4',
263581           'bar': '5.6.7-8'}
263582
263583   verify
263584       Many  (but  not all) package management systems provide a way to verify
263585       that the files installed by  the  package  manager  have  or  have  not
263586       changed.  This  function accepts a list of packages; if none are speci‐
263587       fied, all packages will be included.
263588
263589          installed = __salt__['lowpkg.verify']('httpd')
263590
263591       Example output:
263592
263593          {'/etc/httpd/conf/httpd.conf': {'mismatch': ['size', 'md5sum', 'mtime'],
263594                                          'type': 'config'}}
263595
263596   file_list
263597       Lists all of the files installed by  all  packages  specified.  If  not
263598       packages  are  specified,  then  all  files  for all known packages are
263599       returned.
263600
263601          installed = __salt__['lowpkg.file_list']('httpd', 'apache')
263602
263603       This function does not return which files belong to which packages; all
263604       files  are  returned  as  one  giant list (hence the file_list function
263605       name. However, This information is still returned inside of a dict,  so
263606       that it can provide any errors to the user in a sane manner.
263607
263608          {'errors': ['package apache is not installed'],
263609            'files': ['/etc/httpd',
263610                      '/etc/httpd/conf',
263611                      '/etc/httpd/conf.d',
263612                      '...SNIP...']}
263613
263614   file_dict
263615       Lists  all  of  the  files  installed by all packages specified. If not
263616       packages are specified, then all  files  for  all  known  packages  are
263617       returned.
263618
263619          installed = __salt__['lowpkg.file_dict']('httpd', 'apache', 'kernel')
263620
263621       Unlike  file_list,  this function will break down which files belong to
263622       which packages. It will also  return  errors  in  the  same  manner  as
263623       file_list.
263624
263625          {'errors': ['package apache is not installed'],
263626           'packages': {'httpd': ['/etc/httpd',
263627                                  '/etc/httpd/conf',
263628                                  '...SNIP...'],
263629                        'kernel': ['/boot/.vmlinuz-2.6.32-279.el6.x86_64.hmac',
263630                                   '/boot/System.map-2.6.32-279.el6.x86_64',
263631                                   '...SNIP...']}}
263632
263633   Pull Requests
263634       Salt is a large software project with many developers working together.
263635       We encourage all Salt users to contribute new features, bug  fixes  and
263636       documentation fixes. For those who haven't contributed to a large soft‐
263637       ware project before we encourage you to consider  the  following  ques‐
263638       tions when preparing a pull request.
263639
263640       This  isn't  an  exhaustive  list and these aren't necessarily hard and
263641       fast rules, but these are things we  consider  when  reviewing  a  pull
263642       request.
263643
263644       · Does  this  change work on all platforms? In cases where it does not,
263645         is an appropriate and  easy-to-understand  reason  presented  to  the
263646         user?  Is it documented as-such? Have we thought about all the possi‐
263647         ble ways this code might be used and accounted as  best  we  can  for
263648         them?
263649
263650       · Will  this  code  work  on versions of all Python we support? Will it
263651         work on future versions?
263652
263653       · Are Python reserved keywords used? Are variables named in a way  that
263654         will make it easy for the next person to understand what's going on?
263655
263656       · Does  this code present a security risk in any way? What is the worst
263657         possible thing that an attacker could do with this code? If dangerous
263658         cases  are  possible,  is it appropriate to document them? If so, has
263659         this been done?  Would this change pass muster  with  a  professional
263660         security  audit?  Is  it obvious to a person using this code what the
263661         risks are?
263662
263663       · Is it readable? Does it conform to our style guide? Is the code docu‐
263664         mented such that the next person who comes along will be able to read
263665         and understand it? Most  especially,  are  edge-cases  documented  to
263666         avoid  regressions? Will it be immediately evident to the next person
263667         who comes along why this change was made?
263668
263669       · If appropriate, has the person who wrote the code which is being mod‐
263670         ified been notified and included in the process?
263671
263672       · What are the performance implications of this change? Is there a more
263673         efficient way to structure the logic  and  if  so,  does  making  the
263674         change  balance  itself against readability in a sensible way? Do the
263675         performance characteristics of the code change based on the way it is
263676         being  invoked  (i.e., through an API or various command-line tools.)
263677         Will it be easy to profile this change if it might be a problem?
263678
263679       · Are caveats considered and documented in the change?
263680
263681       · Will the code scale? More critically, will it scale  in  both  direc‐
263682         tions?   Salt  runs in data-centers and on Raspberry Pi installations
263683         in the Sahara. It needs to work on big servers and tiny devices.
263684
263685       · Is appropriate documentation written both in public-facing  docs  and
263686         in-line?   How  will the user know how to use this? What will they do
263687         if it doesn't work as expected? Is this something  a  new  user  will
263688         understand? Can a user know all they need to about this functionality
263689         by reading the public docs?
263690
263691       · Is this a change in behavior? If so, is it in the appropriate branch?
263692         Are  deprecation  warnings  necessary?  Have those changes been fully
263693         documented?  Have we fully thought through what implications a change
263694         in behavior might have?
263695
263696       · How  has  the  code  been  tested? If appropriate are there automated
263697         tests which cover this? Is it likely to regress? If so, how  has  the
263698         potential  of  that  regression  been mitigated? What is the plan for
263699         ensuring that this code works going forward?
263700
263701       · If it's asynchronous code, what is the potential for  a  race  condi‐
263702         tion?
263703
263704       · Is  this code an original work? If it's borrowed from another project
263705         or found online are the appropriate licensing/attribution  considera‐
263706         tions handled?
263707
263708       · Is  the  reason  for the change fully explained in the PR? If not for
263709         review, this is necessary so that somebody in the future can go  back
263710         and figure out why it was necessary.
263711
263712       · Is  the intended behavior of the change clear? How will that behavior
263713         be known to future contributors and to users?
263714
263715       · Does this code handle errors in a reasonable way? Have we  gone  back
263716         through the stack as much as possible to make sure that an error can‐
263717         not be raised that we do not account for? Are errors  tested  for  as
263718         well as proper functionality?
263719
263720       · If  the  code relies on external libraries, do we properly handle old
263721         versions of them? Do we require a specific version and if so is  this
263722         version check implemented? Is the library available on the same plat‐
263723         forms that module in question claims to  support?  If  the  code  was
263724         written  and  tested against a particular library, have we documented
263725         that fact?
263726
263727       · Can this code freeze/hang/crash a running  daemon?  Can  it  stall  a
263728         state run?  Are there infinite loops? Are appropriate timeouts imple‐
263729         mented?
263730
263731       · Is the function interface well documented? If argument types can  not
263732         be inferred by introspection, are they documented?
263733
263734       · Are resources such as file-handles cleaned-up after they are used?
263735
263736       · Is  it  possible  that  a reference-cycle exists between objects that
263737         will leak memory?
263738
263739       · Has the code been linted and does it pass all tests?
263740
263741       · Does the change fully address the problem or is it limited to a small
263742         surface  area?  By this, I mean that it should be clear that the sub‐
263743         mitter has looked for other cases in the function or module where the
263744         given  case might also be addressed. If additional changes are neces‐
263745         sary are they documented in the code as a FIXME  or  the  PR  and  in
263746         Github as an issue to be tracked?
263747
263748       · Will the code throw errors/warnings/stacktraces to the console during
263749         normal operation?
263750
263751       · Has all the debugging been removed?
263752
263753       · Does the code log any sensitive data? Does it show sensitive data  in
263754         process  lists?  Does it store sensitive data to disk and if so, does
263755         it do so in a secure manner? Are there potential race  conditions  in
263756         between  writing the data to disk and setting the appropriate permis‐
263757         sions?
263758
263759       · Is it clear from the solution that the  problem  is  well-understood?
263760         How  can  somebody who has never seen the problem feel confident that
263761         this proposed change is the best one?
263762
263763       · What's hard-coded that might not need to be? Are we  making  sensible
263764         decisions  for  the  user and allowing them to tune and change things
263765         where appropriate?
263766
263767       · Are utility  functions  used  where  appropriate?  Does  this  change
263768         re-implement something we already have code for?
263769
263770       · Is  the right thing being fixed? There are cases where it's appropri‐
263771         ate to fix a test and cases where it's appropriate to  fix  the  code
263772         that's  under  test.   Which  is  best for the user? Is this change a
263773         shortcut or a solution that will be solid in the months and years  to
263774         come?
263775
263776       · How  will this code react to changes elsewhere in the code base? What
263777         is it coupled to and have  we  fully  thought  through  how  best  to
263778         present  a  coherent  interface  to  consumers of a given function or
263779         method?
263780
263781       · Does this PR try to fix too many bugs/problems at once?
263782
263783       · Should this be split into multiple PRs to make them  easier  to  test
263784         and reason about?
263785
263786   Reporting Bugs
263787       Salt uses GitHub to track open issues and feature requests.
263788
263789       To  file  a  bug,  please  navigate  to the new issue page for the Salt
263790       project.
263791
263792       In an issue report, please include the following information:
263793
263794          · The output of salt --versions-report from the  relevant  machines.
263795            This  can  also  be  gathered  remotely  by  using  salt  <my_tgt>
263796            test.versions_report.
263797
263798          · A description of the problem including steps taken  to  cause  the
263799            issue to occur and the expected behaviour.
263800
263801          · Any steps taken to attempt to remediate the problem.
263802
263803          · Any  configuration options set in a configuration file that may be
263804            relevant.
263805
263806          · A reproduceable test case. This may be as simple as  an  SLS  file
263807            that  illustrates  a  problem  or it may be a link to a repository
263808            that contains a number of SLS files that can be used  together  to
263809            re-produce  a  problem. If the problem is transitory, any informa‐
263810            tion that can be used to try and reproduce the problem is helpful.
263811
263812          · [Optional] The output of each salt  component  (master/minion/CLI)
263813            running with the -ldebug flag set.
263814
263815          NOTE:
263816              Please  be  certain to scrub any logs or SLS files for sensitive
263817              data!
263818
263819   Salt Topology
263820       Salt is based on  a  powerful,  asynchronous,  network  topology  using
263821       ZeroMQ.  Many  ZeroMQ systems are in place to enable communication. The
263822       central idea is to have the fastest communication possible.
263823
263824   Servers
263825       The Salt Master runs 2 network services. First is the ZeroMQ  PUB  sys‐
263826       tem.  This  service  by default runs on port 4505 and can be configured
263827       via the publish_port option in the master configuration.
263828
263829       Second is the ZeroMQ REP system. This is a separate interface used  for
263830       all  bi-directional  communication with minions. By default this system
263831       binds to port 4506 and can be configured via the ret_port option in the
263832       master.
263833
263834   PUB/SUB
263835       The commands sent out via the salt client are broadcast out to the min‐
263836       ions via ZeroMQ PUB/SUB. This is done by allowing the minions to  main‐
263837       tain  a connection back to the Salt Master and then all connections are
263838       informed to download the command data at once. The command data is kept
263839       extremely  small  (usually  less  than 1K) so it is not a burden on the
263840       network.
263841
263842   Return
263843       The PUB/SUB system is a one way communication, so  once  a  publish  is
263844       sent  out  the PUB interface on the master has no further communication
263845       with the minion.  The minion, after running the command, then sends the
263846       command's return data back to the master via the ret_port.
263847
263848   Translating Documentation
263849       If  you wish to help translate the Salt documentation to your language,
263850       please head over to the Transifex website and signup for an account.
263851
263852       Once registered, head over to the Salt Translation Project, and  either
263853       click  on Request Language if you can't find yours, or, select the lan‐
263854       guage for which you wish to contribute and click Join Team.
263855
263856       Transifex provides some  useful  reading  resources  on  their  support
263857       domain, namely, some useful articles directed to translators.
263858
263859   Building A Localized Version of the Documentation
263860       While  you're  working on your translation on Transifex, you might want
263861       to have a look at how it's rendering.
263862
263863   Install The Transifex Client
263864       To interact with the Transifex web service you will need to install the
263865       transifex-client:
263866
263867          pip install transifex-client
263868
263869   Configure The Transifex Client
263870       Once installed, you will need to set it up on your computer. We created
263871       a script to help you with that:
263872
263873          .scripts/setup-transifex-config
263874
263875   Download Remote Translations
263876       There's a little script which simplifies the download  process  of  the
263877       translations(which  isn't  that  complicated  in the first place).  So,
263878       let's assume you're translating pt_PT, Portuguese(Portugal).  To  down‐
263879       load  the  translations,  execute  from the doc/ directory of your Salt
263880       checkout:
263881
263882          make download-translations SPHINXLANG=pt_PT
263883
263884       To download pt_PT, Portuguese(Portugal), and nl, Dutch, you can use the
263885       helper script directly:
263886
263887          .scripts/download-translation-catalog pt_PT nl
263888
263889   Build Localized Documentation
263890       After the download process finishes, which might take a while, the next
263891       step is to build a localized version of the  documentation.   Following
263892       the pt_PT example above:
263893
263894          make html SPHINXLANG=pt_PT
263895
263896   View Localized Documentation
263897       Open  your  browser, point it to the local documentation path and check
263898       the localized output you've just build.
263899
263900   Developing Salt Tutorial
263901       This tutorial assumes you have:
263902
263903       · a web browser
263904
263905       · a GitHub account (<my_account>)
263906
263907       · a command line (CLI)
263908
263909       · git
263910
263911       · a text editor
263912
263913   Fork
263914       In your browser, navigate to the saltstack/salt GitHub repository.
263915
263916       Click                   on                   Fork                    (‐
263917       https://github.com/saltstack/salt/#fork-destination-box).
263918
263919       NOTE:
263920          If  you have more than one GitHub presence, for example if you are a
263921          member of a team, GitHub will ask you into which area to clone Salt.
263922          If you don't know where, then select your personal GitHub account.
263923
263924   Clone
263925       In  your  CLI,  navigate to the directory into which you want clone the
263926       Salt codebase and submit the following command:
263927
263928          $ git clone https://github.com/<my_account>/salt.git
263929
263930       where <my_account> is the name of your GitHub account.  After the clone
263931       has  completed,  add SaltStack as a second remote and fetch any changes
263932       from upstream.
263933
263934          $ cd salt
263935          $ git remote add upstream https://github.com/saltstack/salt.git
263936          $ git fetch upstream
263937
263938       For this tutorial, we will be working  off  from  the  develop  branch,
263939       which  is  the  default  branch for the SaltStack GitHub project.  This
263940       branch needs to track upstream/develop so that we will get all upstream
263941       changes when they happen.
263942
263943          $ git checkout develop
263944          $ git branch --set-upstream-to upstream/develop
263945
263946   Fetch
263947       Fetch  any upstream changes on the develop branch and sync them to your
263948       local copy of the branch with a single command:
263949
263950          $ git pull --rebase
263951
263952       NOTE:
263953          For an explanation on pull vs  pull  --rebase  and  other  excellent
263954          points, see this article by Mislav Marohnić.
263955
263956   Branch
263957       Now  we are ready to get to work.  Consult the sprint beginner bug list
263958       and select an execution module whose __virtual__ function needs  to  be
263959       updated.  I'll select the alternatives module.
263960
263961       Create  a  new  branch  off from develop.  Be sure to name it something
263962       short and descriptive.
263963
263964          $ git checkout -b virt_ret
263965
263966   Edit
263967       Edit the file you have selected, and verify that the changes  are  cor‐
263968       rect.
263969
263970          $ vim salt/modules/alternatives.py
263971          $ git diff
263972
263973          diff --git a/salt/modules/alternatives.py b/salt/modules/alternatives.py
263974          index 1653e5f..30c0a59 100644
263975          --- a/salt/modules/alternatives.py
263976          +++ b/salt/modules/alternatives.py
263977          @@ -30,7 +30,7 @@ def __virtual__():
263978                   '''
263979                   if os.path.isdir('/etc/alternatives'):
263980                           return True
263981          -        return False
263982          +        return (False, 'Cannot load alternatives module: /etc/alternatives dir not found')
263983
263984
263985           def _get_cmd():
263986
263987   Commit
263988       Stage  and commit the changes.  Write a descriptive commit summary, but
263989       try to keep it less than 50 characters.  Review your commit.
263990
263991          $ git add salt/modules/alternatives.py
263992          $ git commit -m 'modules.alternatives: __virtual__ return err msg'
263993          $ git show
263994
263995       NOTE:
263996          If you need more room to describe the changes in  your  commit,  run
263997          git  commit  (without  the -m, message, option) and you will be pre‐
263998          sented with an editor.  The first line is  the  commit  summary  and
263999          should still be 50 characters or less.  The following paragraphs you
264000          create are free form and will be preserved as part of the commit.
264001
264002   Push
264003       Push your branch to your GitHub account.  You will likely need to enter
264004       your GitHub username and password.
264005
264006          $ git push origin virt_ret
264007          Username for 'https://github.com': <my_account>
264008          Password for 'https://<my_account>@github.com':
264009
264010       NOTE:
264011          If  authentication  over  https does not work, you can alternatively
264012          setup ssh keys.  Once you have done this, you may need add the  keys
264013          to your git repository configuration
264014
264015              $ git config ssh.key ~/.ssh/<key_name>
264016
264017          where <key_name> is the file name of the private key you created.
264018
264019   Merge
264020       In  your  browser,  navigate  to the new pull request page on the salt‐
264021       stack/salt GitHub repository and click on compare across forks.  Select
264022       <my_account> from the list of head forks and the branch you are wanting
264023       to merge into develop (virt_ret in this case).
264024
264025       When you  have  finished  reviewing  the  changes,  click  Create  pull
264026       request.
264027
264028       If  your pull request contains only a single commit, the title and com‐
264029       ment will be taken from that commit's summary  and  message,  otherwise
264030       the  branch name is used for the title.  Edit these fields as necessary
264031       and click Create pull request.
264032
264033       NOTE:
264034          Although these instructions seem to be  the  official  pull  request
264035          procedure on github's website, here are two alternative methods that
264036          are simpler.
264037
264038          · If     you     navigate     to     your     clone     of     salt,
264039            https://github.com/<my_account>/salt,  depending  on  how old your
264040            branch is or how recently you pushed updates on  it,  you  may  be
264041            presented with a button to create a pull request with your branch.
264042
264043          · I find it easiest to edit the following URL:
264044
264045            https://github.com/saltstack/salt/com
264046            pare/develop...<my_account>:virt_ret
264047
264048   Resources
264049       GitHub offers many great tutorials on various aspects of the  git-  and
264050       GitHub-centric development workflow:
264051
264052       https://help.github.com/
264053
264054       There are many topics covered by the Salt Developer documentation:
264055
264056       https://docs.saltstack.com/en/latest/topics/development/index.html
264057
264058       The  contributing  documentation presents more details on specific con‐
264059       tributing topics:
264060
264061       https://docs.saltstack.com/en/latest/topics/development/contributing.html
264062
264063   Modular Systems
264064       When  first  working with Salt, it is not always clear where all of the
264065       modular components are and what they do. Salt comes  loaded  with  more
264066       modular  systems than many users are aware of, making Salt very easy to
264067       extend in many places.
264068
264069       The most commonly  used  modular  systems  are  execution  modules  and
264070       states.  But  the  modular  systems  extend well beyond the more easily
264071       exposed components and are often added to Salt  to  make  the  complete
264072       system more flexible.
264073
264074   Developing New Modules
264075   Interactive Debugging
264076       Sometimes debugging with print() and extra logs sprinkled everywhere is
264077       not the best strategy.
264078
264079       IPython is a helpful debug tool that has an interactive python environ‐
264080       ment which can be embedded in python programs.
264081
264082       First the system will require IPython to be installed.
264083
264084          # Debian
264085          apt-get install ipython
264086
264087          # Arch Linux
264088          pacman -Syu ipython2
264089
264090          # RHEL/CentOS (via EPEL)
264091          yum install python-ipython
264092
264093       Now,  in the troubling python module, add the following line at a loca‐
264094       tion where the debugger should be started:
264095
264096          test = 'test123'
264097          import IPython; IPython.embed_kernel()
264098
264099       After running a Salt command that hits that line,  the  following  will
264100       show up in the log file:
264101
264102          [CRITICAL] To connect another client to this kernel, use:
264103          [IPKernelApp] --existing kernel-31271.json
264104
264105       Now  on the system that invoked embed_kernel, run the following command
264106       from a shell:
264107
264108          # NOTE: use ipython2 instead of ipython for Arch Linux
264109          ipython console --existing
264110
264111       This provides a console that has access to all the vars and  functions,
264112       and even supports tab-completion.
264113
264114          print(test)
264115          test123
264116
264117       To exit IPython and continue running Salt, press Ctrl-d to logout.
264118
264119   Special Module Contents
264120       These are things that may be defined by the module to influence various
264121       things.
264122
264123   __virtual__
264124   __virtual_aliases__
264125   __virtualname__
264126   __init__
264127       Called before __virtual__()
264128
264129   __proxyenabled__
264130       grains and proxy modules
264131
264132       __proxyenabled__ as a list containing the names of the proxy types that
264133       the module supports.
264134
264135   __load__
264136   __func_alias__
264137   __outputter__
264138   Dunder Dictionaries
264139       Salt  provides  several  special "dunder" dictionaries as a convenience
264140       for Salt development.  These include __opts__,  __context__,  __salt__,
264141       and  others.  This  document  will  describe each dictionary and detail
264142       where they exist and what information and/or  functionality  they  pro‐
264143       vide.
264144
264145       The following dunder dictionaries are always defined, but may be empty
264146
264147       · __context__
264148
264149       · __grains__
264150
264151       · __pillar__
264152
264153       · __opts__
264154
264155   __opts__
264156       Defined in: All modules
264157
264158       The  __opts__ dictionary contains all of the options passed in the con‐
264159       figuration file for the master or minion.
264160
264161       NOTE:
264162          In many places in  salt,  instead  of  pulling  raw  data  from  the
264163          __opts__ dict, configuration data should be pulled from the salt get
264164          functions    such    as    config.get,    aka    -    __salt__['con‐
264165          fig.get']('foo:bar') The get functions also allow for dict traversal
264166          via the : delimiter.  Consider using get  functions  whenever  using
264167          __opts__ or __pillar__ and __grains__ (when using grains for config‐
264168          uration data)
264169
264170       The configuration file data made available in the  __opts__  dictionary
264171       is  the  configuration data relative to the running daemon. If the mod‐
264172       ules are loaded and executed by the master, then the master  configura‐
264173       tion data is available, if the modules are executed by the minion, then
264174       the minion  configuration  is  available.  Any  additional  information
264175       passed into the respective configuration files is made available
264176
264177   __salt__
264178       Defined  in:  Auth, Beacons, Engines, Execution, Executors, Outputters,
264179       Pillars, Proxies, Renderers, Returners,  Runners,  SDB,  SSH  Wrappers,
264180       State, Thorium
264181
264182       __salt__  contains  the execution module functions. This allows for all
264183       functions to be called as they have been set up by the salt loader.
264184
264185          __salt__['cmd.run']('fdisk -l')
264186          __salt__['network.ip_addrs']()
264187
264188       NOTE:
264189          When used in runners or outputters, __salt__ references  other  run‐
264190          ner/outputter modules, and not execution modules.
264191
264192   __grains__
264193       Filled  in  for:  Execution,  Pillar,  Renderer, Returner, SSH Wrapper,
264194       State.
264195
264196       The __grains__ dictionary contains the grains  data  generated  by  the
264197       minion that is currently being worked with. In execution modules, state
264198       modules and returners this is the grains  of  the  minion  running  the
264199       calls, when generating the external pillar the __grains__ is the grains
264200       data from the minion that the pillar is being generated for.
264201
264202       While __grains__ is defined for every module, it's only filled  in  for
264203       some.
264204
264205   __pillar__
264206       Filled in for: Execution, Returner, SSH Wrapper, State
264207
264208       The  __pillar__  dictionary contains the pillar for the respective min‐
264209       ion.
264210
264211       While __pillar__ is defined for every module, it's only filled  in  for
264212       some.
264213
264214   __context__
264215       During  a  state  run  the  __context__  dictionary persists across all
264216       states that are run and then is destroyed when the state ends.
264217
264218       When running an execution module __context__ persists across all module
264219       executions   until   the   modules   are   refreshed;   such   as  when
264220       saltutil.sync_all or state.apply are executed.
264221
264222       A great place to see how to use __context__ is in the cp.py  module  in
264223       salt/modules/cp.py.  The  fileclient authenticates with the master when
264224       it is instantiated and then is used to copy files to the minion. Rather
264225       than  create  a new fileclient for each file that is to be copied down,
264226       one instance of the fileclient is instantiated in the __context__  dic‐
264227       tionary  and is reused for each file. Here is an example from salt/mod‐
264228       ules/cp.py:
264229
264230          if not 'cp.fileclient' in __context__:
264231              __context__['cp.fileclient'] = salt.fileclient.get_file_client(__opts__)
264232
264233       NOTE:
264234          Because __context__ may or may not have been  destroyed,  always  be
264235          sure to check for the existence of the key in __context__ and gener‐
264236          ate the key before using it.
264237
264238   __utils__
264239       Defined in: Cloud, Engine, Execution, File Server, Pillar, Proxy,  Run‐
264240       ner, SDB.
264241
264242   __proxy__
264243       Defined  in:  Beacon,  Engine,  Execution,  Executor,  Proxy, Renderer,
264244       Returner, State, Util
264245
264246   __runners__
264247       Defined in: Engine, Roster, Thorium
264248
264249   __ret__
264250       Defined in: Proxy, Search
264251
264252   __thorium__
264253       Defined in: Thorium
264254
264255   __states__
264256       Defined in: Renderers, State
264257
264258   __serializers__
264259       Defined in: State
264260
264261   __sdb__
264262       Defined in: SDB
264263
264264   Configuration Options
264265       A number of configuration options can affect the load process. This  is
264266       a quick list of them:
264267
264268       · autoload_dynamic_modules (Minion)
264269
264270       · cython_enable (Minion, Master)
264271
264272       · disable_modules (Minion)
264273
264274       · disable_returners (Minion)
264275
264276       · enable_zip_modules (Minion)
264277
264278       · extension_modules (Master)
264279
264280       · extmod_whitelist (Minion, Master)
264281
264282       · extmod_blacklist (Minion, Master)
264283
264284       · whitelist_modules (Minion)
264285
264286       · grains_dirs (Minion)
264287
264288       · module_dirs (Minion, Master)
264289
264290       · outputter_dirs (Minion, Master)
264291
264292       · providers (Minion)
264293
264294       · render_dirs (Minion)
264295
264296       · returner_dirs (Minion)
264297
264298       · runner_dirs (Master)
264299
264300       · states_dirs (Minion)
264301
264302       · utils_dirs (Minion)
264303
264304   Loading Modules
264305       Modules come primarily from several sources:
264306
264307       · The Salt package itself
264308
264309       · The Salt File Server
264310
264311       · The extmods directory
264312
264313       · Secondary packages installed
264314
264315       Using one source to override another is not supported.
264316
264317   The Salt Package
264318       Salt itself ships with a large number of modules. These are part of the
264319       Salt package itself and don't require the user to do  anything  to  use
264320       them.  (Although  a  number of them have additional dependencies and/or
264321       configuration.)
264322
264323   The Salt File Server
264324       The user may add modules by simply placing them in special  directories
264325       in their fileserver.
264326
264327       The  name  of  the directory inside of the file server is the directory
264328       name prepended by underscore, such as:
264329
264330       · _grains
264331
264332       · _modules
264333
264334       · _states
264335
264336       Modules must be synced before they can be used. This can happen  a  few
264337       ways, discussed below.
264338
264339   Sync Via States
264340       The  minion  configuration  contains an option autoload_dynamic_modules
264341       which defaults to True. This option makes the state system refresh  all
264342       dynamic  modules  when  states  are  run.  To disable this behavior set
264343       autoload_dynamic_modules to False in the minion config.
264344
264345       When dynamic modules  are  autoloaded  via  states,  only  the  modules
264346       defined in the same saltenvs as the states currently being run.
264347
264348   Sync Via the saltutil Module
264349       The  saltutil module has a number of functions that can be used to sync
264350       all or specific dynamic modules. The  saltutil.sync_*  execution  func‐
264351       tions  and  runner functions can be used to sync modules to minions and
264352       the master, respectively.
264353
264354   The extmods Directory
264355       Any files places in the directory  set  by  extension_modules  settings
264356       (minion,  master, default /var/cache/salt/*/extmods) can also be loaded
264357       as  modules.  Note  that  these  directories  are  also  used  by   the
264358       saltutil.sync_*  functions (mentioned above) and files may be overwrit‐
264359       ten.
264360
264361   Secondary Packages
264362       Third-party packages may also add modules to Salt if they are installed
264363       in the same system and Python environment as the Salt Minion or Master.
264364
264365       This is done via setuptools entry points:
264366
264367          setup(
264368              # ...
264369              entry_points={
264370                  'salt.loader': [
264371                      'module_dirs=spirofs.loader:module',
264372                  ],
264373              },
264374              # ...
264375          )
264376
264377       Note  that  these  are  not synced from the Salt Master to the Minions.
264378       They must be installed indepdendently on each Minion.
264379
264380   Module Types
264381       The specific names used by each loading method above  are  as  follows.
264382       See sections below for a short summary of each of these systems.
264383
264384     ┌─────────────┬───────────────────────┬─────────────────┬──────────────────┐
264385     │Module Type  │ Salt     Package      │ FS/Directory    │ Entry Point      │
264386     │             │ Name                  │ Name            │                  │
264387     ├─────────────┼───────────────────────┼─────────────────┼──────────────────┤
264388     │Auth         │ salt.auth             auth [1]        │ auth_dirs        
264389     │             │ (index)               │                 │                  │
264390     ├─────────────┼───────────────────────┼─────────────────┼──────────────────┤
264391     │Beacon       │ salt.beacons          beacons         beacons_dirs     
264392     │             │ (index)               │                 │                  │
264393     ├─────────────┼───────────────────────┼─────────────────┼──────────────────┤
264394     │Cache        │ salt.cache            cache           cache_dirs       
264395     │             │ (index)               │                 │                  │
264396     ├─────────────┼───────────────────────┼─────────────────┼──────────────────┤
264397     │Cloud        │ salt.cloud.clouds     clouds          cloud_dirs       
264398     │             │ (index)               │                 │                  │
264399     ├─────────────┼───────────────────────┼─────────────────┼──────────────────┤
264400     │Engine       │ salt.engines          engines         engines_dirs     
264401     │             │ (index)               │                 │                  │
264402     ├─────────────┼───────────────────────┼─────────────────┼──────────────────┤
264403     │Execution    │ salt.modules          modules         module_dirs      
264404     │             │ (index)               │                 │                  │
264405     ├─────────────┼───────────────────────┼─────────────────┼──────────────────┤
264406     │Executor     │ salt.executors        executors [1]   │ executor_dirs    
264407     │             │ (index)               │                 │                  │
264408     ├─────────────┼───────────────────────┼─────────────────┼──────────────────┤
264409     │File Server  │ salt.fileserver       fileserver [1]  │ fileserver_dirs  
264410     │             │ (index)               │                 │                  │
264411     ├─────────────┼───────────────────────┼─────────────────┼──────────────────┤
264412     │Grain        │ salt.grains           grains          grains_dirs      
264413     │             │ (index)               │                 │                  │
264414     ├─────────────┼───────────────────────┼─────────────────┼──────────────────┤
264415     │Log Handler  │ salt.log.handlers     log_handlers    log_han‐         
264416     │             │ (index)               │                 │ dlers_dirs       
264417     ├─────────────┼───────────────────────┼─────────────────┼──────────────────┤
264418     │Net API      │ salt.netapi           netapi [1]      │ netapi_dirs      
264419     │             │ (index)               │                 │                  │
264420     ├─────────────┼───────────────────────┼─────────────────┼──────────────────┤
264421     │Outputter    │ salt.output           output          outputter_dirs   
264422     │             │ (index)               │                 │                  │
264423     ├─────────────┼───────────────────────┼─────────────────┼──────────────────┤
264424     │Pillar       │ salt.pillar           pillar          pillar_dirs      
264425     │             │ (index)               │                 │                  │
264426     ├─────────────┼───────────────────────┼─────────────────┼──────────────────┤
264427     │Proxy        │ salt.proxy            proxy           proxy_dirs       
264428     │             │ (index)               │                 │                  │
264429     ├─────────────┼───────────────────────┼─────────────────┼──────────────────┤
264430     │Queue        │ salt.queues           queues          queue_dirs       
264431     │             │ (index)               │                 │                  │
264432     ├─────────────┼───────────────────────┼─────────────────┼──────────────────┤
264433     │Renderer     │ salt.renderers        renderers       render_dirs      
264434     │             │ (index)               │                 │                  │
264435     ├─────────────┼───────────────────────┼─────────────────┼──────────────────┤
264436     │Returner     │ salt.returners        returners       returner_dirs    
264437     │             │ (index)               │                 │                  │
264438     ├─────────────┼───────────────────────┼─────────────────┼──────────────────┤
264439     │Roster       │ salt.roster           roster          roster_dirs      
264440     │             │ (index)               │                 │                  │
264441     ├─────────────┼───────────────────────┼─────────────────┼──────────────────┤
264442     │Runner       │ salt.runners          runners         runner_dirs      
264443     │             │ (index)               │                 │                  │
264444     ├─────────────┼───────────────────────┼─────────────────┼──────────────────┤
264445     │SDB          │ salt.sdb (index)      │ sdb             sdb_dirs         
264446     ├─────────────┼───────────────────────┼─────────────────┼──────────────────┤
264447     │Search       │ salt.search           search [1]      │ search_dirs      
264448     ├─────────────┼───────────────────────┼─────────────────┼──────────────────┤
264449     │Serializer   │ salt.serializers      serializers [1] │ serializers_dirs 
264450     │             │ (index)               │                 │                  │
264451     ├─────────────┼───────────────────────┼─────────────────┼──────────────────┤
264452     │SPM pkgdb    │ salt.spm.pkgdb        pkgdb [1]       │ pkgdb_dirs       
264453     ├─────────────┼───────────────────────┼─────────────────┼──────────────────┤
264454     │SPM pkgfiles │ salt.spm.pkgfiles     pkgfiles [1]    │ pkgfiles_dirs    
264455     ├─────────────┼───────────────────────┼─────────────────┼──────────────────┤
264456     │SSH Wrapper  │ salt.client.ssh.wrap‐ wrapper [1]     │ wrapper_dirs     
264457     │             │ per                   │                 │                  │
264458     ├─────────────┼───────────────────────┼─────────────────┼──────────────────┤
264459     │State        │ salt.states (index)   │ states          states_dirs      
264460     ├─────────────┼───────────────────────┼─────────────────┼──────────────────┤
264461     │Thorium      │ salt.thorium (index)  │ thorium [1]     │ thorium_dirs     
264462     ├─────────────┼───────────────────────┼─────────────────┼──────────────────┤
264463     │Top          │ salt.tops (index)     │ tops            top_dirs         
264464     ├─────────────┼───────────────────────┼─────────────────┼──────────────────┤
264465     │Util         │ salt.utils            utils           utils_dirs       
264466     ├─────────────┼───────────────────────┼─────────────────┼──────────────────┤
264467     │Wheel        │ salt.wheels (index)   │ wheel           wheel_dirs       
264468     └─────────────┴───────────────────────┴─────────────────┴──────────────────┘
264469
264470       [1]  These modules cannot be loaded from the Salt File Server.
264471
264472   Auth
264473       The  auth  module system allows for external authentication routines to
264474       be easily added into Salt. The auth function needs to be implemented to
264475       satisfy  the  requirements  of an auth module. Use the pam module as an
264476       example.
264477
264478       See External Authentication System for  more  about  authentication  in
264479       Salt.
264480
264481   Beacon
264482       · Writing Beacons
264483
264484       Beacons  are  polled  by  the  Salt event loop to monitor non-salt pro‐
264485       cesses. See Beacons for more information about the beacon system.
264486
264487   Cache
264488       The minion cache is used by the master  to  store  various  information
264489       about minions. See Minion Data Cache for more information.
264490
264491   Cloud
264492       Cloud modules are backend implementations used by Salt Cloud.
264493
264494   Engine
264495       Engines are open-ended services managed by the Salt daemon (both master
264496       and minion). They may interact with event loop, call other modules,  or
264497       a variety of non-salt tasks. See Salt Engines for complete details.
264498
264499   Execution
264500       Execution modules make up the core of the functionality used by Salt to
264501       interact with client systems. The execution  modules  create  the  core
264502       system  management  library used by all Salt systems, including states,
264503       which interact with minion systems.
264504
264505       Execution modules are completely open ended in  their  execution.  They
264506       can  be used to do anything required on a minion, from installing pack‐
264507       ages to detecting information about the system. The only  restraint  in
264508       execution  modules  is  that the defined functions always return a JSON
264509       serializable object.
264510
264511   Executor
264512       Executors control how execution modules get called. The default  is  to
264513       just call them, but this can be customized.
264514
264515   File Server
264516       The  file  server  module system is used to create file server backends
264517       used by the Salt Master. These modules need to implement the  functions
264518       used in the fileserver subsystem. Use the gitfs module as an example.
264519
264520       See File Server Backends for more information.
264521
264522   Grains
264523       · writing-grains
264524
264525       Grain  modules  define  extra  routines  to  populate  grains data. All
264526       defined public functions will be executed and MUST return a Python dict
264527       object. The dict keys will be added to the grains made available to the
264528       minion.
264529
264530       See Grains for more.
264531
264532   Log Handler
264533       Log handlers allows the logs from salt (master or minion) to be sent to
264534       log aggregation systems.
264535
264536   Net API
264537       Net API modules are the actual server implementation used by Salt API.
264538
264539   Output
264540       The output modules supply the outputter system with routines to display
264541       data in the terminal. These modules are very simple  and  only  require
264542       the  output  function  to  execute. The default system outputter is the
264543       nested module.
264544
264545   Pillar
264546   External Pillars
264547       Salt provides a mechanism for generating pillar data by calling  exter‐
264548       nal  pillar  interfaces.  This  document will describe an outline of an
264549       ext_pillar module.
264550
264551   Location
264552       Salt expects to find your ext_pillar module in the same location  where
264553       it  looks  for other python modules. If the extension_modules option in
264554       your Salt master configuration is set, Salt  will  look  for  a  pillar
264555       directory  under there and load all the modules it finds. Otherwise, it
264556       will look in your Python site-packages salt/pillar directory.
264557
264558   Configuration
264559       The external pillars that are called when a minion refreshes  its  pil‐
264560       lars is controlled by the ext_pillar option in the Salt master configu‐
264561       ration. You can pass a single argument, a list of arguments or  a  dic‐
264562       tionary of arguments to your pillar:
264563
264564          ext_pillar:
264565            - example_a: some argument
264566            - example_b:
264567              - argumentA
264568              - argumentB
264569            - example_c:
264570                keyA: valueA
264571                keyB: valueB
264572
264573   The Module
264574   Imports and Logging
264575       Import  modules  your  external  pillar  module needs. You should first
264576       include generic modules that come with stock Python:
264577
264578          import logging
264579
264580       And then start logging. This is an idiomatic way of setting up  logging
264581       in Salt:
264582
264583          log = logging.getLogger(__name__)
264584
264585       Finally,  load  modules  that  are  specific to what you are doing. You
264586       should catch import errors and set a flag that the __virtual__ function
264587       can use later.
264588
264589          try:
264590              import weird_thing
264591              EXAMPLE_A_LOADED = True
264592          except ImportError:
264593              EXAMPLE_A_LOADED = False
264594
264595   Options
264596       If  you  define  an  __opts__  dictionary,  it  will be merged into the
264597       __opts__ dictionary handed to the ext_pillar function later. This is  a
264598       good  place  to  put  default configuration items. The convention is to
264599       name things modulename.option.
264600
264601          __opts__ = { 'example_a.someconfig': 137 }
264602
264603   Initialization
264604       If you define an __init__ function, it will be called with the  follow‐
264605       ing signature:
264606
264607          def __init__( __opts__ ):
264608              # Do init work here
264609
264610       Note:  The  __init__  function  is  ran  every time a particular minion
264611       causes the external pillar to be called, so don't put heavy initializa‐
264612       tion  code  here.   The  __init__ functionality is a side-effect of the
264613       Salt loader, so it may not be as useful in pillars as it  is  in  other
264614       Salt items.
264615
264616   __virtual__
264617       If  you  define  a __virtual__ function, you can control whether or not
264618       this module is visible. If it returns False then Salt ignores this mod‐
264619       ule.  If it returns a string, then that string will be how Salt identi‐
264620       fies this external pillar in its ext_pillar  configuration.  If  you're
264621       not  renaming  the  module, simply return True in the __virtual__ func‐
264622       tion, which is the same as if this function did not  exist,  then,  the
264623       name  Salt's ext_pillar will use to identify this module is its conven‐
264624       tional name in Python.
264625
264626       This is useful to write modules that can be installed on all Salt  mas‐
264627       ters,  but  will only be visible if a particular piece of software your
264628       module requires is installed.
264629
264630          # This external pillar will be known as `example_a`
264631          def __virtual__():
264632              if EXAMPLE_A_LOADED:
264633                  return True
264634              return False
264635
264636          # This external pillar will be known as `something_else`
264637          __virtualname__ = 'something_else'
264638
264639          def __virtual__():
264640              if EXAMPLE_A_LOADED:
264641                  return __virtualname__
264642              return False
264643
264644   ext_pillar
264645       This is where the real work of an external pillar is done. If this mod‐
264646       ule  is  active and has a function called ext_pillar, whenever a minion
264647       updates its pillar this function is called.
264648
264649       How it is called depends on how it is configured  in  the  Salt  master
264650       configuration.  The first argument is always the current pillar dictio‐
264651       nary, this contains pillar items that have already been added, starting
264652       with the data from pillar_roots, and then from any already-ran external
264653       pillars.
264654
264655       Using our example above:
264656
264657          ext_pillar( id, pillar, 'some argument' )                   # example_a
264658          ext_pillar( id, pillar, 'argumentA', 'argumentB' )          # example_b
264659          ext_pillar( id, pillar, keyA='valueA', keyB='valueB' )    # example_c
264660
264661       In the example_a case, pillar will contain  the  items  from  the  pil‐
264662       lar_roots,  in example_b pillar  will contain that plus the items added
264663       by example_a, and in example_c pillar will contain that plus the  items
264664       added  by  example_b. In all three cases, id will contain the ID of the
264665       minion making the pillar request.
264666
264667       This function should return a dictionary, the  contents  of  which  are
264668       merged  in  with  all  of the other pillars and returned to the minion.
264669       Note: this function is called once for each  minion  that  fetches  its
264670       pillar data.
264671
264672          def ext_pillar( minion_id, pillar, *args, **kwargs ):
264673
264674              my_pillar = {'external_pillar': {}}
264675
264676              my_pillar['external_pillar'] = get_external_pillar_dictionary()
264677
264678              return my_pillar
264679
264680       You  can  call  pillar  with  the dictionary's top name to retrieve its
264681       data.  From above example,  'external_pillar'  is  the  top  dictionary
264682       name. Therefore:
264683
264684          salt-call '*' pillar.get external_pillar
264685
264686       You shouldn't just add items to pillar and return that, since that will
264687       cause Salt to merge data that already exists. Rather, just  return  the
264688       items  you  are  adding  or changing. You could, however, use pillar in
264689       your module to make some decision based on  pillar  data  that  already
264690       exists.
264691
264692       This function has access to some useful globals:
264693
264694       __opts__
264695              A dictionary of mostly Salt configuration options. If you had an
264696              __opts__ dictionary defined in your module, those values will be
264697              included.
264698
264699       __salt__
264700              A  dictionary of Salt module functions, useful so you don't have
264701              to   duplicate    functions    that    already    exist.    E.g.
264702              __salt__['cmd.run']( 'ls -l' ) Note, runs on the master
264703
264704       __grains__
264705              A  dictionary  of  the  grains  of the minion making this pillar
264706              call.
264707
264708   Example configuration
264709       As an example, if you wanted to add external pillar  via  the  cmd_json
264710       external pillar, add something like this to your master config:
264711
264712          ext_pillar:
264713            - cmd_json: 'echo {\"arg\":\"value\"}'
264714
264715   Reminder
264716       Just as with traditional pillars, external pillars must be refreshed in
264717       order for minions to see any fresh data:
264718
264719          salt '*' saltutil.refresh_pillar
264720
264721       Used to define optional external pillar systems. The  pillar  generated
264722       via the filesystem pillar is passed into external pillars. This is com‐
264723       monly used as a bridge to database data for pillar,  but  is  also  the
264724       backend to the libvirt state used to generate and sign libvirt certifi‐
264725       cates on the fly.
264726
264727   Proxy
264728       Proxy Minions are a way to manage devices that cannot run a full minion
264729       directly.
264730
264731   Renderers
264732       Renderers  are  the  system used to render sls files into salt highdata
264733       for the state compiler. They can be as simple as the py renderer and as
264734       complex as stateconf and pydsl.
264735
264736   Returners
264737       Returners  are used to send data from minions to external sources, com‐
264738       monly databases. A full returner will implement all routines to be sup‐
264739       ported as an external job cache. Use the redis returner as an example.
264740
264741   Roster
264742       The Roster system is used by Salt SSH to enumerate devices.
264743
264744   Runners
264745       Runners are purely master-side execution sequences.
264746
264747   SDB
264748       · Writing SDB Modules
264749
264750       SDB  is  a  way  to store data that's not associated with a minion. See
264751       Storing Data in Other Databases.
264752
264753   Search
264754       A system for indexing the file server and pillars. Removed in 2018.3.
264755
264756   Serializer
264757       Primarily used with file.serialize.
264758
264759   State
264760       State modules are used to define the  state  interfaces  used  by  Salt
264761       States.   These modules are restrictive in that they must follow a num‐
264762       ber of rules to function properly.
264763
264764       NOTE:
264765          State modules define the available routines in sls files. If calling
264766          an  execution  module directly is desired, take a look at the module
264767          state.
264768
264769   SPM pkgdb
264770       · SPM Development Guide: Package Database
264771
264772       pkgdb modules provides storage backends to the package database.
264773
264774   SPM pkgfiles
264775       · SPM Development Guide: Package Database
264776
264777       pkgfiles modules handle the actual installation.
264778
264779   SSH Wrapper
264780       Replacement execution modules for Salt SSH.
264781
264782   Thorium
264783       Modules for use in the Thorium event reactor.
264784
264785   Tops
264786       Tops modules are used to convert external data sources  into  top  file
264787       data for the state system.
264788
264789   Util
264790       Just  utility modules to use with other modules via __utils__ (see Dun‐
264791       der Dictionaries).
264792
264793   Wheel
264794       The wheel system is used to manage  master  side  management  routines.
264795       These routines are primarily intended for the API to enable master con‐
264796       figuration.
264797
264798   Salt Extend
264799       salt-extend is a templating tool for  extending  SaltStack.  If  you're
264800       looking  to add a module to SaltStack, then the salt-extend utility can
264801       guide you through the process.
264802
264803       You can use Salt Extend to quickly create templated modules for  adding
264804       new behaviours to some of the module subsystems within Salt.
264805
264806       Salt  Extend  takes a template directory and merges it into a SaltStack
264807       source code directory.
264808
264809   Command line usage
264810       See salt-extend
264811
264812   Choosing a template
264813       The following templates are available:
264814
264815   module
264816       Creates a new execution module within salt/modules/{{module_name}}.py
264817
264818   module_unit
264819       Creates a new execution module unit test suite  within  tests/unit/mod‐
264820       ules/test_{{module_name}}.py
264821
264822   state
264823       Creates a new state module within salt/states/{{module_name}}.py
264824
264825   state_unit
264826       Creates    a    new    state    module    unit    test   suite   within
264827       tests/unit/states/test_{{module_name}}.py
264828
264829   Adding templates
264830       1. Create a directory under <src>/templates
264831
264832       2. Create a file template.yml containing properties for
264833
264834          · description - a description of the template
264835
264836          · questions - a collection of additional questions to ask the  user,
264837            the  name  of the item will be used as the key in the context dic‐
264838            tionary within the jinja template.
264839
264840            · question - The question to ask the user, as a string
264841
264842            · default - (optional) the default value, can contain Jinja2  tem‐
264843              plate syntax and has access to the default context properties
264844
264845   Example template.yml
264846          description: "Execution module"
264847          questions:
264848              depending_libraries:
264849                  question: "What libraries does this module depend upon?"
264850              virtual_name:
264851                  question: "What module virtual name to use?"
264852                  default: "{{module_name}}"
264853
264854       3. Create the files within <src>/templates/<your template> to match the
264855          target
264856
264857       NOTE:
264858          File names  can  contain  Jinja  2  template  syntax,  e.g.  '{{mod‐
264859          ule_name}}.py}}'
264860
264861   Example file in the template directory
264862          print('Hello {{module_name}}')
264863          __virtual__ = '{{__virtual_name__}}'
264864
264865   Default context properties
264866       The default context provides the following properties
264867
264868       · description - A description of the template
264869
264870       · short_description  -  A short description of the module as entered by
264871         the user
264872
264873       · version - The version name of the next release
264874
264875       · module_name - The module name as entered by the user
264876
264877       · release_date - The current date in the format YYYY-MM-DD
264878
264879       · year - The current year in the format YYYY
264880
264881       As well as any additional properties entered from the questions section
264882       of template.yml
264883
264884   API
264885   salt.utils.extend module
264886   SaltStack Extend
264887       A templating tool for extending SaltStack.
264888
264889       Takes  a  template directory and merges it into a SaltStack source code
264890       directory. This tool uses Jinja2 for templating.
264891
264892       This tool is accessed using salt-extend
264893
264894          codeauthor
264895                 Anthony Shaw <anthonyshaw@apache.org>
264896
264897       salt.utils.extend.apply_template(template_dir, output_dir, context)
264898              Apply the template from the template  directory  to  the  output
264899              using the supplied context dict.
264900
264901              Parameters
264902
264903                     · src (str) -- The source path
264904
264905                     · dst (str) -- The destination path
264906
264907                     · context  (dict)  --  The  dictionary to inject into the
264908                       Jinja template as context
264909
264910       salt.utils.extend.run(extension=None,   name=None,    description=None,
264911       salt_dir=None, merge=False, temp_dir=None)
264912              A template factory for extending the salt ecosystem
264913
264914              Parameters
264915
264916                     · extension  (str)  -- The extension type, e.g. 'module',
264917                       'state', if omitted, user will be prompted
264918
264919                     · name (str) -- Python-friendly name for the  module,  if
264920                       omitted, user will be prompted
264921
264922                     · description (str) -- A description of the extension, if
264923                       omitted, user will be prompted
264924
264925                     · salt_dir (str) -- The targeted Salt source directory
264926
264927                     · merge (bool) -- Merge with  salt  directory,  False  to
264928                       keep separate, True to merge trees.
264929
264930                     · temp_dir  (str) -- The directory for generated code, if
264931                       omitted, system temp will be used
264932
264933   Salt's Test Suite
264934       Salt comes with a powerful integration and unit test suite allowing for
264935       the  fully automated run of integration and/or unit tests from a single
264936       interface.
264937
264938       To learn the basics of how Salt's test suite works, be  sure  to  check
264939       out the Salt's Test Suite: An Introduction tutorial.
264940
264941   Test Directory Structure
264942       Salt's  test  suite  is  located  in the tests directory in the root of
264943       Salt's codebase. The test suite is divided into two main groups:
264944
264945       · Integration Tests
264946
264947       · Unit Tests
264948
264949       Within each of these groups, the directory  structure  roughly  mirrors
264950       the structure of Salt's own codebase. Notice that there are directories
264951       for states, modules, runners, output, and more in each testing group.
264952
264953       The files that are housed in the modules directory of either  the  unit
264954       or  the  integration testing factions contain respective integration or
264955       unit test files for Salt execution modules.
264956
264957       NOTE:
264958          Salt's test framework provides for the  option  to  only  run  tests
264959          which  correspond  to  a  given  file  (or  set  of  files), via the
264960          --from-filenames argument to runtests.py:
264961
264962              python /path/to/runtests.py --from-filenames=salt/modules/foo.py
264963
264964          Therefore, where possible, test files should be named to  match  the
264965          source  files  they are testing. For example, when writing tests for
264966          salt/modules/foo.py,  unit  tests  should  go  into  tests/unit/mod‐
264967          ules/test_foo.py,  and  integration tests should go into tests/inte‐
264968          gration/modules/test_foo.py.
264969
264970          However, integration  tests  are  organized  differently  from  unit
264971          tests,  and  this  may  not  always be plausible. In these cases, to
264972          ensure that the proper tests are run for these files, they  must  be
264973          mapped in tests/filename_map.yml.
264974
264975          The filename map is used to supplement the test framework's filename
264976          matching logic. This allows one to ensure that  states  correspnding
264977          to  an  execution  module  are  also  tested  when  --from-filenames
264978          includes that execution module. It can also be used for those  cases
264979          where  the  path  to  a test file doesn't correspond directly to the
264980          file which is being tested (e.g. the shell, spm, and ssh integration
264981          tests, among others).  Both glob expressions and regular expressions
264982          are permitted in the filename map.
264983
264984          IMPORTANT:
264985              Test modules which don't map directly to the  source  file  they
264986              are  testing (using the naming convention described above), must
264987              be added to the ignore tuple in tests/unit/test_module_names.py,
264988              in  the  test_module_name_source_match  function. This unit test
264989              ensures that we maintain the naming convention for test files.
264990
264991   Integration Tests
264992       The Integration section of Salt's test suite start up a number of  Salt
264993       daemons  to  test  functionality  in  a live environment. These daemons
264994       include two Salt Masters, one Syndic, and two Minions. This allows  the
264995       Syndic  interface  to  be  tested and Master/Minion communication to be
264996       verified. All of the integration tests are executed as live  Salt  com‐
264997       mands sent through the started daemons.
264998
264999       Integration tests are particularly good at testing modules, states, and
265000       shell commands, among other segments of Salt's ecosystem. By  utilizing
265001       the integration test daemons, integration tests are easy to write. They
265002       are also SaltStack's generally preferred method of adding new tests.
265003
265004       The discussion in the Integration vs. Unit section of the testing tuto‐
265005       rial  is beneficial in learning why you might want to write integration
265006       tests vs. unit tests. Both testing arenas  add  value  to  Salt's  test
265007       suite  and  you  should consider adding both types of tests if possible
265008       and appropriate when contributing to Salt.
265009
265010       · Integration Test Documentation
265011
265012   Unit Tests
265013       Unit tests do not spin up any Salt  daemons,  but  instead  find  their
265014       value  in  testing  singular  implementations  of individual functions.
265015       Instead of testing against specific interactions, unit tests should  be
265016       used  to test a function's logic as well as any return or raises state‐
265017       ments.  Unit tests also rely heavily on mocking external resources.
265018
265019       The discussion in the Integration vs. Unit section of the testing tuto‐
265020       rial  is  useful  in  determining when you should consider writing unit
265021       tests instead of, or in addition to, integration tests when  contribut‐
265022       ing to Salt.
265023
265024       · Unit Test Documentation
265025
265026   Running The Tests
265027       There  are requirements, in addition to Salt's requirements, which need
265028       to be installed in order to run the test  suite.  Install  one  of  the
265029       lines below, depending on the relevant Python version:
265030
265031          pip install -r requirements/dev_python27.txt
265032          pip install -r requirements/dev_python34.txt
265033
265034       To  be  able  to run integration tests which utilizes ZeroMQ transport,
265035       you also need to install additional requirements for it. Make sure  you
265036       have  installed the C/C++ compiler and development libraries and header
265037       files needed for your Python version.
265038
265039       This is an example for RedHat-based operating systems:
265040
265041          yum install gcc gcc-c++ python-devel
265042          pip install -r requirements/zeromq.txt
265043
265044       On Debian, Ubuntu or their derivatives run the following commands:
265045
265046          apt-get install build-essential python-dev
265047          pip install -r requirements/zeromq.txt
265048
265049       This will install the latest pycrypto and pyzmq (with  bundled  libzmq)
265050       Python modules required for running integration tests suite.
265051
265052       Once  all requirements are installed, use runtests.py script to run all
265053       of the tests included in Salt's test suite:
265054
265055          python tests/runtests.py
265056
265057       For more information about options you can pass the  test  runner,  see
265058       the --help option:
265059
265060          python tests/runtests.py --help
265061
265062       An alternative way of invoking the test suite is available in setup.py:
265063
265064          ./setup.py test
265065
265066   Running Test Subsections
265067       Instead  of running the entire test suite all at once, which can take a
265068       long time, there are several ways to run only specific groups of  tests
265069       or individual tests:
265070
265071       · Run unit tests only: python tests/runtests.py --unit-tests
265072
265073       · Run  unit  and integration tests for states: python tests/runtests.py
265074         --state
265075
265076       · Run   integration   tests   for   an   individual   module:    python
265077         tests/runtests.py -n integration.modules.virt
265078
265079       · Run  unit tests for an individual module: python tests/runtests.py -n
265080         unit.modules.virt_test
265081
265082       · Run an individual test by using the class and test name (this example
265083         is  for  the  test_default_kvm_profile  test  in the integration.mod‐
265084         ule.virt):    python    tests/runtests.py     -n     integration.mod‐
265085         ule.virt.VirtTest.test_default_kvm_profile
265086
265087       For  more  specific  examples of how to run various test subsections or
265088       individual tests, please see the Test Selection  Options  documentation
265089       or  the  Running  Specific  Tests  section of the Salt's Test Suite: An
265090       Introduction tutorial.
265091
265092   Running Unit Tests Without Integration Test Daemons
265093       Since the unit tests do not require a master or minion to  execute,  it
265094       is  often  useful  to  be  able to run unit tests individually, or as a
265095       whole group, without having to start up the  integration  testing  dae‐
265096       mons. Starting up the master, minion, and syndic daemons takes a lot of
265097       time before the tests can even start running and is unnecessary to  run
265098       unit  tests.  To  run  unit tests without invoking the integration test
265099       daemons, simply run the runtests.py script with --unit argument:
265100
265101          python tests/runtests.py --unit
265102
265103       All of the other options to run individual  tests,  entire  classes  of
265104       tests, or entire test modules still apply.
265105
265106   Running Destructive Integration Tests
265107       Salt  is  used to change the settings and behavior of systems. In order
265108       to effectively test Salt's functionality, some  integration  tests  are
265109       written  to  make  actual changes to the underlying system. These tests
265110       are referred to as "destructive tests". Some  examples  of  destructive
265111       tests  are  changes may be testing the addition of a user or installing
265112       packages. By default,  destructive  tests  are  disabled  and  will  be
265113       skipped.
265114
265115       Generally,  destructive  tests  should  clean  up  after  themselves by
265116       attempting to restore the system to its original state.  For  instance,
265117       if  a  new  user  is  created during a test, the user should be deleted
265118       after the related test(s) have completed. However,  no  guarantees  are
265119       made  that test clean-up will complete successfully. Therefore, running
265120       destructive tests should be done with caution.
265121
265122       NOTE:
265123          Running destructive tests will change the  underlying  system.   Use
265124          caution when running destructive tests.
265125
265126       To run tests marked as destructive, set the --run-destructive flag:
265127
265128          python tests/runtests.py --run-destructive
265129
265130   Running Cloud Provider Tests
265131       Salt's testing suite also includes integration tests to assess the suc‐
265132       cessful creation and deletion of cloud instances using  Salt-Cloud  for
265133       providers supported by Salt-Cloud.
265134
265135       The  cloud provider tests are off by default and run on sample configu‐
265136       ration         files         provided         in         tests/integra‐
265137       tion/files/conf/cloud.providers.d/.  In order to run the cloud provider
265138       tests, valid credentials, which differ per provider, must be  supplied.
265139       Each  credential  item  that  must be supplied is indicated by an empty
265140       string value and should be edited by the user before running the tests.
265141       For example, DigitalOcean requires a client key and an api key to oper‐
265142       ate. Therefore, the default cloud provider configuration file for Digi‐
265143       talOcean looks like this:
265144
265145          digitalocean-config:
265146            driver: digitalocean
265147            client_key: ''
265148            api_key: ''
265149            location: New York 1
265150
265151       As indicated by the empty string values, the client_key and the api_key
265152       must be provided:
265153
265154          digitalocean-config:
265155            driver: digitalocean
265156            client_key: wFGEwgregeqw3435gDger
265157            api_key: GDE43t43REGTrkilg43934t34qT43t4dgegerGEgg
265158            location: New York 1
265159
265160       NOTE:
265161          When providing credential information in cloud  provider  configura‐
265162          tion files, do not include the single quotes.
265163
265164       Once all of the valid credentials for the cloud provider have been sup‐
265165       plied,  the  cloud  provider  tests  can  be   run   by   setting   the
265166       --cloud-provider-tests flag:
265167
265168          ./tests/runtests.py --cloud-provider-tests
265169
265170   Running The Tests In A Docker Container
265171       The  test  suite  can  be  executed  under a docker container using the
265172       --docked option flag. The docker container must be properly  configured
265173       on  the system invoking the tests and the container must have access to
265174       the internet.
265175
265176       Here's a simple usage example:
265177
265178          python tests/runtests.py --docked=ubuntu-12.04 -v
265179
265180       The full docker container repository can also be provided:
265181
265182          python tests/runtests.py --docked=salttest/ubuntu-12.04 -v
265183
265184       The SaltStack team is creating some containers which will have the nec‐
265185       essary  dependencies  pre-installed.  Running  the test suite on a con‐
265186       tainer allows destructive tests to run without making  changes  to  the
265187       main  system.  It  also enables the test suite to run under a different
265188       distribution than the one the main system is currently using.
265189
265190       The current list of test suite images is on Salt's docker repository.
265191
265192       Custom docker containers can be provided by submitting a  pull  request
265193       against Salt's docker Salt test containers repository.
265194
265195   Automated Test Runs
265196       SaltStack  maintains  a  Jenkins  server  to allow for the execution of
265197       tests across supported platforms. The tests executed from Salt's  Jenk‐
265198       ins  server  create fresh virtual machines for each test run, then exe‐
265199       cute destructive tests on the new, clean virtual machine.
265200
265201       SaltStack's Jenkins server continuously runs  the  entire  test  suite,
265202       including destructive tests, on an array of various supported operating
265203       systems throughout the day. Each actively supported  branch  of  Salt's
265204       repository runs the tests located in the respective branch's code. Each
265205       set of branch tests also includes a pylint run. These branch tests help
265206       ensure  the  viability  of Salt code at any given point in time as pull
265207       requests are merged into branches throughout the day.
265208
265209       In addition to branch tests, SaltStack's Jenkins server also runs tests
265210       on  pull  requests.  These  pull request tests include a smaller set of
265211       virtual machines that run on the branch tests. The pull request  tests,
265212       like the branch tests, include a pylint test as well.
265213
265214       When  a  pull  request is submitted to Salt's repository on GitHub, the
265215       suite of pull request tests are started by  Jenkins.  These  tests  are
265216       used  to  gauge the pull request's viability to merge into Salt's code‐
265217       base. If these initial tests pass, the pull  request  can  then  merged
265218       into  the  Salt  branch by one of Salt's core developers, pending their
265219       discretion. If the initial tests  fail,  core  developers  may  request
265220       changes to the pull request. If the failure is unrelated to the changes
265221       in question, core developers may merge the  pull  request  despite  the
265222       initial failure.
265223
265224       As soon as the pull request is merged, the changes will be added to the
265225       next branch test run on Jenkins.
265226
265227       For  a  full  list  of  currently  running  test  environments,  go  to
265228       http://jenkins.saltstack.com.
265229
265230   Using Salt-Cloud on Jenkins
265231       For  testing Salt on Jenkins, SaltStack uses Salt-Cloud to spin up vir‐
265232       tual machines. The script using Salt-Cloud to accomplish this  is  open
265233       source          and          can         be         found         here:
265234       https://github.com/saltstack/salt/blob/develop/tests/jenkins.py
265235
265236   Writing Tests
265237       The salt testing infrastructure is divided into two classes  of  tests,
265238       integration  tests  and  unit tests. These terms may be defined differ‐
265239       ently in other contexts, but for Salt they are defined this way:
265240
265241       · Unit Test: Tests which validate  isolated  code  blocks  and  do  not
265242         require external interfaces such as salt-call or any of the salt dae‐
265243         mons.
265244
265245       · Integration Test: Tests which  validate  externally  accessible  fea‐
265246         tures.
265247
265248       Salt testing uses unittest2 from the python standard library and Magic‐
265249       Mock.
265250
265251       · Writing integration tests
265252
265253       · Writing unit tests
265254
265255   Naming Conventions
265256       Any function in either integration test files or unit test  files  that
265257       is  doing  the actual testing, such as functions containing assertions,
265258       must start with test_:
265259
265260          def test_user_present(self):
265261
265262       When functions in test files are not prepended with test_, the function
265263       acts  as a normal, helper function and is not run as a test by the test
265264       suite.
265265
265266   Submitting New Tests
265267       Which branch of the Salt codebase should new tests be written  against?
265268       The  location of where new tests should be submitted depends largely on
265269       the reason you're writing the tests.
265270
265271   Tests for New Features
265272       If you are adding new functionality to Salt, please write the tests for
265273       this  new feature in the same pull request as the new feature. New fea‐
265274       tures should always be submitted to the develop branch.
265275
265276       If you have already submitted the new feature, but did not write  tests
265277       in  the original pull request that has already been merged, please feel
265278       free to submit a new pull request containing tests. If the feature  was
265279       recently added to Salt's develop branch, then the tests should be added
265280       there as well. However, if the feature was added to develop  some  time
265281       ago  and  is  already  present  in one or more release branches, please
265282       refer to the Tests for Entire Files or Functions section below for more
265283       details  about where to submit tests for functions or files that do not
265284       already have tests.
265285
265286   Tests to Accompany a Bugfix
265287       If you are writing tests for code that fixes  a  bug  in  Salt,  please
265288       write the test in the same pull request as the bugfix. If you're unsure
265289       of where to submit your bugfix and accompanying test, please review the
265290       Which Salt Branch? documentation in Salt's Contributing guide.
265291
265292   Tests for Entire Files or Functions
265293       Sometimes  entire  files  in  Salt  are completely untested. If you are
265294       writing tests for a file that doesn't have any tests  written  for  it,
265295       write your test against the earliest supported release branch that con‐
265296       tains the file or function you're testing.
265297
265298       Once your tests are submitted in a pull request and is merged into  the
265299       branch in question, the tests you wrote will be merged-forward by Salt‐
265300       Stack core engineers and the new tests  will  propagate  to  the  newer
265301       release  branches.  That way the tests you wrote will apply to all cur‐
265302       rent and relevant release branches, and not just  the  develop  branch,
265303       for  example. This methodology will help protect against regressions on
265304       older files in Salt's codebase.
265305
265306       There may be times when the tests you write  against  an  older  branch
265307       fail  in the merge-forward process because functionality has changed in
265308       newer release branches.  In these cases,  a  Salt  core  developer  may
265309       reach  out  to you for advice on the tests in question if the path for‐
265310       ward is unclear.
265311
265312       NOTE:
265313          If tests are written against a file in an older release  branch  and
265314          then merged forward, there may be new functionality in the file that
265315          is present in the new release branch that is  untested.It  would  be
265316          wise  to  see if new functionality could use additional testing once
265317          the test file has propagated to newer release branches.
265318
265319   Test Helpers
265320       Several Salt-specific helpers are available. A full list  is  available
265321       by inspecting functions exported in tests.support.helpers.
265322
265323       @expensiveTest  --  Designates  a test which typically requires a rela‐
265324       tively costly external resource, like a  cloud  virtual  machine.  This
265325       decorator  is  not normally used by developers outside of the Salt core
265326       team.
265327
265328       @destructiveTest -- Marks a test as potentially  destructive.  It  will
265329       not  be  run  by  the  test  runner unless the -run-destructive test is
265330       expressly passed.
265331
265332       @requires_network -- Requires a network  connection  for  the  test  to
265333       operate successfully. If a network connection is not detected, the test
265334       will not run.
265335
265336       @requires_salt_modules -- Requires all the modules in a list of modules
265337       in order for the test to be executed. Otherwise, the test is skipped.
265338
265339       @requires_system_grains -- Loads and passes the grains on the system as
265340       an keyword argument to the test function with the name grains.
265341
265342       @skip_if_binaries_missing(['list', 'of', 'binaries']) -- If called from
265343       inside  a  test,  the  test will be skipped if the binaries are not all
265344       present on the system.
265345
265346       @skip_if_not_root -- If the test is not executed as root,  it  will  be
265347       skipped.
265348
265349       @with_system_user  --  Creates  and  optionally  destroys a system user
265350       within  a  test  case.   See  implementation  details   in   tests.sup‐
265351       port.helpers for details.
265352
265353       @with_system_group  --  Creates  and optionally destroys a system group
265354       within  a  test  case.   See  implementation  details   in   tests.sup‐
265355       port.helpers for details.
265356
265357       @with_system_user_and_group -- Creates and optionally destroys a system
265358       user and group within a  test  case.   See  implementation  details  in
265359       tests.support.helpers for details.
265360
265361   Integration Tests
265362       The  Salt  integration  tests come with a number of classes and methods
265363       which allow for components to be easily tested. These classes are  gen‐
265364       erally inherited from and provide specific methods for hooking into the
265365       running integration test environment created by the integration tests.
265366
265367       It is noteworthy that since integration tests validate against  a  run‐
265368       ning  environment  that they are generally the preferred means to write
265369       tests.
265370
265371       The integration system is all located under  tests/integration  in  the
265372       Salt  source  tree. Each directory within tests/integration corresponds
265373       to a directory in Salt's tree structure. For example,  the  integration
265374       tests  for  the  test.py  Salt  module  that is located in salt/modules
265375       should also be named test.py and reside in tests/integration/modules.
265376
265377   Preparing to Write Integration Tests
265378       This guide assumes that your Salt development  environment  is  already
265379       configured  and  that you have a basic understanding of contributing to
265380       the Salt codebase.  If you're unfamiliar with either of  these  topics,
265381       please  refer to the Installing Salt for Development and the Contribut‐
265382       ing pages, respectively.
265383
265384       This documentation also assumes that you have an understanding  of  how
265385       to  run  Salt's test suite, including running the test subsections, and
265386       running a single integration test file, class, or individual test.
265387
265388   Best Practices
265389       Integration tests should be written to the following specifications.
265390
265391   What to Test?
265392       Since integration tests are used to validate  against  a  running  Salt
265393       environment,  integration  tests should be written with the Salt compo‐
265394       nents, and their various interactions, in mind.
265395
265396       · Isolate testing functionality. Don't rely on the pass or  failure  of
265397         other, separate tests.
265398
265399       · Individual tests should test against a single behavior.
265400
265401       · Since  it  occasionally  takes  some effort to "set up" an individual
265402         test, it may be necessary to call several functions within  a  single
265403         test.  However,  be sure that once the work has been done to set up a
265404         test, make sure you are clear about the functionality that  is  being
265405         tested.
265406
265407   Naming Conventions
265408       Test  names  and docstrings should indicate what functionality is being
265409       tested.  Test functions are named test_<fcn>_<test-name> where <fcn> is
265410       the  function being tested and <test-name> describes the behavior being
265411       tested.
265412
265413       In order for integration tests to get picked up during  a  run  of  the
265414       test  suite, each individual test must be prepended with the test_ nam‐
265415       ing syntax, as described above.
265416
265417       If a function does not start with test_, then the function  acts  as  a
265418       "normal" function and is not considered a testing function. It will not
265419       be included in the test run or testing output.
265420
265421   The setUp and tearDown Functions
265422       There are two special functions that can be utilized in the integration
265423       side  of  Salt's  test suite: setUp and tearDown. While these functions
265424       are not required in all test files, there are many examples  in  Salt's
265425       integration  test suite illustrating the broad usefulness of each func‐
265426       tion.
265427
265428       The setUp function is used to set up any  repetitive  or  useful  tasks
265429       that the tests in a test class need before running. For example, any of
265430       the mac_* integration tests should only run on macOS machines. The set‐
265431       Up  function can be used to test for the presence of the Darwin kernel.
265432       If the Darwin kernel is not present, then the test should be skipped.
265433
265434          def setUp(self):
265435              '''
265436              Sets up test requirements
265437              '''
265438              os_grain = self.run_function('grains.item', ['kernel'])
265439              if os_grain['kernel'] not in 'Darwin':
265440                  self.skipTest(
265441                      'Test not applicable to \'{kernel}\' kernel'.format(
265442                          **os_grain
265443                      )
265444                  )
265445
265446       The setUp function can be used for many things. The above code  snippet
265447       is only one example. Another example might be to ensure that a particu‐
265448       lar setting is present before running tests that would require the set‐
265449       ting.
265450
265451       The  tearDown  function is used to clean up after any tests. This func‐
265452       tion is useful for restoring any settings that might have been  changed
265453       during the test run.
265454
265455       NOTE:
265456          The  setUp  and tearDown functions run before and after each test in
265457          the test class that the setUp and tearDown functions are defined.
265458
265459       Be sure to read the Destructive vs Non-Destructive Tests  section  when
265460       using  any  kind  of  destructive functions that might alter the system
265461       running the test suite in either the setUp or tearDown function defini‐
265462       tions.
265463
265464   Testing Order
265465       The  test  functions  within  a test class do not run in the order they
265466       were defined, but instead run in lexicographical order.
265467
265468       Note that if any setUp or tearDown functions are defined in the  class,
265469       those  functions  will  run  before (for setUp) or after (for tearDown)
265470       each test case.
265471
265472   Integration Classes
265473       The integration classes are  located  in  tests/integration/__init__.py
265474       and  can  be  extended  therein.  There  are  four classes available to
265475       extend:
265476
265477       · ModuleCase
265478
265479       · ShellCase
265480
265481       · SSHCase
265482
265483       · SyndicCase
265484
265485   ModuleCase
265486       Used to define executions run via the master to  minions  and  to  call
265487       single modules and states. The available testing functions are:
265488
265489   run_function
265490       Run  a  single salt function and condition the return down to match the
265491       behavior of the raw function call. This will run the command  and  only
265492       return the results from a single minion to verify.
265493
265494   run_state
265495       Run the state.single command and return the state return structure.
265496
265497   minion_run
265498       Run  a  single  salt  function on the 'minion' target and condition the
265499       return down to match the behavior of the raw function call.
265500
265501   ShellCase
265502       Shell out to the scripts which ship with Salt.  The  testing  functions
265503       are:
265504
265505   run_cp
265506       Execute  salt-cp.  Pass in the argument string as it would be passed on
265507       the command line.
265508
265509   run_call
265510       Execute salt-call, pass in the argument string as it would be passed on
265511       the command line.
265512
265513   run_cloud
265514       Execute the salt-cloud command. Pass in the argument string as it would
265515       be passed on the command line.
265516
265517   run_key
265518       Execute the salt-key command. Pass in the argument string as  it  would
265519       be passed on the command line.
265520
265521   run_run
265522       Execute  the  salt-run command. Pass in the argument string as it would
265523       be passed on the command line.
265524
265525   run_run_plus
265526       Execute the runner function the and return the return data  and  output
265527       in a dict
265528
265529   run_salt
265530       Execute  the  salt  command. Pass in the argument string as it would be
265531       passed on the command line.
265532
265533   run_script
265534       Execute a salt script with the given argument string.
265535
265536   run_ssh
265537       Execute the salt-ssh. Pass in the argument string as it would be passed
265538       on the command line.
265539
265540   SSHCase
265541       Used to execute remote commands via salt-ssh. The available methods are
265542       as follows:
265543
265544   run_function
265545       Run a single salt function via salt-ssh and condition the  return  down
265546       to  match the behavior of the raw function call. This will run the com‐
265547       mand and only return the results from a single minion to verify.
265548
265549   SyndicCase
265550       Used to execute remote commands via a syndic and is only used to verify
265551       the  capabilities of the Salt Syndic. The available methods are as fol‐
265552       lows:
265553
265554   run_function
265555       Run a single salt function and condition the return down to  match  the
265556       behavior  of  the raw function call. This will run the command and only
265557       return the results from a single minion to verify.
265558
265559   Examples
265560       The following sections  define  simple  integration  tests  present  in
265561       Salt's integration test suite for each type of testing class.
265562
265563   Module Example via ModuleCase Class
265564       Import  the  integration  module,  this  module is already added to the
265565       python path by the test execution. Inherit from the integration.Module‐
265566       Case class.
265567
265568       Now the workhorse method run_function can be used to test a module:
265569
265570          import os
265571          import tests.integration as integration
265572
265573
265574          class TestModuleTest(integration.ModuleCase):
265575              '''
265576              Validate the test module
265577              '''
265578              def test_ping(self):
265579                  '''
265580                  test.ping
265581                  '''
265582                  self.assertTrue(self.run_function('test.ping'))
265583
265584              def test_echo(self):
265585                  '''
265586                  test.echo
265587                  '''
265588                  self.assertEqual(self.run_function('test.echo', ['text']), 'text')
265589
265590       The  fist  example  illustrates  the testing master issuing a test.ping
265591       call to a testing minion. The test asserts  that  the  minion  returned
265592       with a True value to the master from the test.ping call.
265593
265594       The  second  example  similarly  verifies  that the minion executed the
265595       test.echo command with the text argument. The  assertEqual  call  main‐
265596       tains  that  the  minion  ran  the  function  and  returned the data as
265597       expected to the master.
265598
265599   Shell Example via ShellCase
265600       Validating the shell commands can be done via shell tests:
265601
265602          import sys
265603          import shutil
265604          import tempfile
265605
265606          import tests.integration as integration
265607
265608          class KeyTest(integration.ShellCase):
265609              '''
265610              Test salt-key script
265611              '''
265612
265613              _call_binary_ = 'salt-key'
265614
265615              def test_list(self):
265616                  '''
265617                  test salt-key -L
265618                  '''
265619                  data = self.run_key('-L')
265620                  expect = [
265621                          'Unaccepted Keys:',
265622                          'Accepted Keys:',
265623                          'minion',
265624                          'sub_minion',
265625                          'Rejected:', '']
265626                  self.assertEqual(data, expect)
265627
265628       This example verifies that the salt-key command executes and returns as
265629       expected by making use of the run_key method.
265630
265631   SSH Example via SSHCase
265632       Testing  salt-ssh  functionality  can  be  done  using the SSHCase test
265633       class:
265634
265635          import tests.integration as integration
265636
265637          class SSHGrainsTest(integration.SSHCase):
265638          '''
265639          Test salt-ssh grains functionality
265640          Depend on proper environment set by integration.SSHCase class
265641          '''
265642
265643          def test_grains_id(self):
265644              '''
265645              Test salt-ssh grains id work for localhost.
265646              '''
265647              cmd = self.run_function('grains.get', ['id'])
265648              self.assertEqual(cmd, 'localhost')
265649
265650   Testing Event System via SaltMinionEventAssertsMixin
265651       The fundamentially asynchronous nature of Salt makes testing the  event
265652       system  a challenge.  The SaltMinionEventAssertsMixin provides a facil‐
265653       ity for testing that events were received on a minion event bus.
265654
265655          import tests.integration as integration
265656          import salt.utils.event
265657
265658          class TestEvent(integration.SaltEventAssertsMixin):
265659              '''
265660              Example test of firing an event and receiving it
265661              '''
265662
265663              def test_event(self):
265664                  e = salt.utils.event.get_event('minion', sock_dir=self.minion_opts['sock_dir'], opts=self.minion_opts)
265665
265666                  e.fire_event({'a': 'b'}, '/test_event')
265667
265668                  self.assertMinionEventReceived({'a': 'b'})
265669
265670   Syndic Example via SyndicCase
265671       Testing Salt's Syndic can be done via the SyndicCase test class:
265672
265673          import tests.integration as integration
265674
265675          class TestSyndic(integration.SyndicCase):
265676              '''
265677              Validate the syndic interface by testing the test module
265678              '''
265679              def test_ping(self):
265680                  '''
265681                  test.ping
265682                  '''
265683                  self.assertTrue(self.run_function('test.ping'))
265684
265685       This example verifies that a test.ping command is issued from the test‐
265686       ing  master,  is passed through to the testing syndic, down to the min‐
265687       ion, and back up again by using the run_function located  with  in  the
265688       SyndicCase test class.
265689
265690   Integration Test Files
265691       Since  using  Salt  largely involves configuring states, editing files,
265692       and changing system data, the integration test suite contains a  direc‐
265693       tory  named files to aid in testing functions that require files. Vari‐
265694       ous Salt integration tests use these  example  files  to  test  against
265695       instead of altering system files and data.
265696
265697       Each directory within tests/integration/files contain files that accom‐
265698       plish different tasks, based on the  needs  of  the  integration  tests
265699       using those files.  For example, tests/integration/files/ssh is used to
265700       bootstrap the test runner for salt-ssh  testing,  while  tests/integra‐
265701       tion/files/pillar  contains  files  storing data needed to test various
265702       pillar functions.
265703
265704       The tests/integration/files  directory  also  includes  an  integration
265705       state  tree.  The integration state tree can be found at tests/integra‐
265706       tion/files/file/base.
265707
265708       The following example demonstrates how integration files  can  be  used
265709       with ModuleCase to test states:
265710
265711          # Import python libs
265712          from __future__ import absolute_import
265713          import os
265714          import shutil
265715
265716          # Import Salt Testing libs
265717          from tests.support.case import ModuleCase
265718          from tests.support.paths import FILES, TMP
265719          from tests.support.mixins import SaltReturnAssertsMixin
265720
265721          # Import salt libs
265722          import salt.utils.files
265723
265724          HFILE = os.path.join(TMP, 'hosts')
265725
265726
265727          class HostTest(ModuleCase, SaltReturnAssertsMixin):
265728              '''
265729              Validate the host state
265730              '''
265731
265732              def setUp(self):
265733                  shutil.copyfile(os.path.join(FILES, 'hosts'), HFILE)
265734                  super(HostTest, self).setUp()
265735
265736              def tearDown(self):
265737                  if os.path.exists(HFILE):
265738                      os.remove(HFILE)
265739                  super(HostTest, self).tearDown()
265740
265741              def test_present(self):
265742                  '''
265743                  host.present
265744                  '''
265745                  name = 'spam.bacon'
265746                  ip = '10.10.10.10'
265747                  ret = self.run_state('host.present', name=name, ip=ip)
265748                  self.assertSaltTrueReturn(ret)
265749                  with salt.utils.files.fopen(HFILE) as fp_:
265750                      output = fp_.read()
265751                      self.assertIn('{0}\t\t{1}'.format(ip, name), output)
265752
265753       To  access  the integration files, a variable named FILES points to the
265754       tests/integration/files  directory.  This  is  where   the   referenced
265755       host.present sls file resides.
265756
265757       In  addition  to  the  static  files in the integration state tree, the
265758       location TMP can also be used to store temporary files  that  the  test
265759       system will clean up when the execution finishes.
265760
265761   Destructive vs Non-Destructive Tests
265762       Since  Salt is used to change the settings and behavior of systems, one
265763       testing approach is to run tests that make actual changes to the under‐
265764       lying  system.  This  is  where  the concept of destructive integration
265765       tests comes into play. Tests can be written to alter  the  system  they
265766       are  running  on.  This  capability  is what fills in the gap needed to
265767       properly test aspects of system management like package installation.
265768
265769       Any test that changes the underlying system in any way, such as  creat‐
265770       ing  or  deleting  users,  installing packages, or changing permissions
265771       should include the @destructive decorator to signal system changes  and
265772       should  be written with care. System changes executed within a destruc‐
265773       tive test should also be restored once  the  related  tests  have  com‐
265774       pleted.  For  example,  if  a new user is created to test a module, the
265775       same user should be removed after the test  is  completed  to  maintain
265776       system integrity.
265777
265778       To  write a destructive test, import, and use the destructiveTest deco‐
265779       rator for the test method:
265780
265781          import tests.integration as integration
265782          from tests.support.helpers import destructiveTest, skip_if_not_root
265783
265784          class DestructiveExampleModuleTest(integration.ModuleCase):
265785              '''
265786              Demonstrate a destructive test
265787              '''
265788
265789              @destructiveTest
265790              @skip_if_not_root
265791              def test_user_not_present(self):
265792                  '''
265793                  This is a DESTRUCTIVE TEST it creates a new user on the minion.
265794                  And then destroys that user.
265795                  '''
265796                  ret = self.run_state('user.present', name='salt_test')
265797                  self.assertSaltTrueReturn(ret)
265798                  ret = self.run_state('user.absent', name='salt_test')
265799                  self.assertSaltTrueReturn(ret)
265800
265801   Cloud Provider Tests
265802       Cloud provider integration tests are used to assess Salt-Cloud's  abil‐
265803       ity  to  create and destroy cloud instances for various supported cloud
265804       providers.  Cloud provider tests inherit from the ShellCase Integration
265805       Class.
265806
265807       Any new cloud provider test files should be added to the tests/integra‐
265808       tion/cloud/providers/ directory. Each cloud  provider  test  file  also
265809       requires  a  sample cloud profile and cloud provider configuration file
265810       in the  integration  test  file  directory  located  at  tests/integra‐
265811       tion/files/conf/cloud.*.d/.
265812
265813       The  following  is an example of the default profile configuration file
265814       for Digital Ocean, located at:  tests/integration/files/conf/cloud.pro‐
265815       files.d/digitalocean.conf:
265816
265817          digitalocean-test:
265818            provider: digitalocean-config
265819            image: Ubuntu 14.04 x64
265820            size: 512MB
265821
265822       Each  cloud  provider  requires  different  configuration  credentials.
265823       Therefore, sensitive information such as API keys or  passwords  should
265824       be omitted from the cloud provider configuration file and replaced with
265825       an empty string. The necessary credentials can be provided by the  user
265826       by editing the provider configuration file before running the tests.
265827
265828       The  following is an example of the default provider configuration file
265829       for      Digital      Ocean,      located      at:       tests/integra‐
265830       tion/files/conf/cloud.providers.d/digitalocean.conf:
265831
265832          digitalocean-config:
265833            driver: digitalocean
265834            client_key: ''
265835            api_key: ''
265836            location: New York 1
265837
265838       In addition to providing the necessary cloud profile and provider files
265839       in the integration test suite file structure, appropriate checks for if
265840       the  configuration  files  exist and contain valid information are also
265841       required in the test class's setUp function:
265842
265843          from tests.support.case import ShellCase
265844          from tests.support.paths import FILES
265845
265846          class LinodeTest(ShellCase):
265847          '''
265848          Integration tests for the Linode cloud provider in Salt-Cloud
265849          '''
265850
265851          def setUp(self):
265852              '''
265853              Sets up the test requirements
265854              '''
265855              super(LinodeTest, self).setUp()
265856
265857              # check if appropriate cloud provider and profile files are present
265858              profile_str = 'linode-config:'
265859              provider = 'linode'
265860              providers = self.run_cloud('--list-providers')
265861              if profile_str not in providers:
265862                  self.skipTest(
265863                      'Configuration file for {0} was not found. Check {0}.conf files '
265864                      'in tests/integration/files/conf/cloud.*.d/ to run these tests.'
265865                      .format(provider)
265866                  )
265867
265868              # check if apikey and password are present
265869              path = os.path.join(FILES,
265870                                  'conf',
265871                                  'cloud.providers.d',
265872                                  provider + '.conf')
265873              config = cloud_providers_config(path)
265874              api = config['linode-config']['linode']['apikey']
265875              password = config['linode-config']['linode']['password']
265876              if api == '' or password == '':
265877                  self.skipTest(
265878                      'An api key and password must be provided to run these tests. Check '
265879                      'tests/integration/files/conf/cloud.providers.d/{0}.conf'.format(
265880                          provider
265881                      )
265882                  )
265883
265884       Repeatedly creating and destroying instances on cloud providers can  be
265885       costly.   Therefore, cloud provider tests are off by default and do not
265886       run   automatically.   To   run   the   cloud   provider   tests,   the
265887       --cloud-provider-tests flag must be provided:
265888
265889          ./tests/runtests.py --cloud-provider-tests
265890
265891       Since cloud provider tests do not run automatically, all provider tests
265892       must be preceded with the @expensiveTest decorator. The expensive  test
265893       decorator  is  necessary  because it signals to the test suite that the
265894       --cloud-provider-tests flag is  required  to  run  the  cloud  provider
265895       tests.
265896
265897       To write a cloud provider test, import, and use the expensiveTest deco‐
265898       rator for the test function:
265899
265900          from tests.support.helpers import expensiveTest
265901
265902          @expensiveTest
265903          def test_instance(self):
265904              '''
265905              Test creating an instance on Linode
265906              '''
265907              name = 'linode-testing'
265908
265909              # create the instance
265910              instance = self.run_cloud('-p linode-test {0}'.format(name))
265911              str = '        {0}'.format(name)
265912
265913              # check if instance with salt installed returned as expected
265914              try:
265915                  self.assertIn(str, instance)
265916              except AssertionError:
265917                  self.run_cloud('-d {0} --assume-yes'.format(name))
265918                  raise
265919
265920              # delete the instance
265921              delete = self.run_cloud('-d {0} --assume-yes'.format(name))
265922              str = '            True'
265923              try:
265924                  self.assertIn(str, delete)
265925              except AssertionError:
265926                  raise
265927
265928   Adding New Directories
265929       If the corresponding Salt directory does not exist  within  tests/inte‐
265930       gration,  the  new directory must be created along with the appropriate
265931       test file to maintain Salt's testing directory structure.
265932
265933       In order for Salt's test suite to recognize tests within the newly cre‐
265934       ated  directory, options to run the new integration tests must be added
265935       to tests/runtests.py. Examples of the necessary options  that  must  be
265936       added             can             be             found            here:
265937       https://github.com/saltstack/salt/blob/develop/tests/runtests.py.   The
265938       functions  that  need  to be edited are setup_additional_options, vali‐
265939       date_options, and run_integration_tests.
265940
265941   Writing Unit Tests
265942   Introduction
265943       Like  many  software  projects,  Salt  has  two   broad-based   testing
265944       approaches  --  integration testing and unit testing. While integration
265945       testing focuses on the interaction between components  in  a  sandboxed
265946       environment,  unit  testing  focuses  on the singular implementation of
265947       individual functions.
265948
265949       Unit tests should be used specifically to test a function's logic. Unit
265950       tests rely on mocking external resources.
265951
265952       While  unit  tests  are  good for ensuring consistent results, they are
265953       most useful when they do not require more  than  a  few  mocks.  Effort
265954       should  be  made  to  mock as many external resources as possible. This
265955       effort is encouraged, but not required. Sometimes  the  isolation  pro‐
265956       vided  by completely mocking the external dependencies is not worth the
265957       effort of mocking those dependencies.
265958
265959       In these cases, requiring an external library to be  installed  on  the
265960       system before running the test file is a useful way to strike this bal‐
265961       ance.  For example, the unit  tests  for  the  MySQL  execution  module
265962       require the presence of the MySQL python bindings on the system running
265963       the test file before proceeding to run the tests.
265964
265965       Overly detailed mocking can also result in decreased  test  readability
265966       and  brittleness  as the tests are more likely to fail when the code or
265967       its dependencies legitimately change. In these cases, it is  better  to
265968       add dependencies to the test runner dependency state.
265969
265970   Preparing to Write a Unit Test
265971       This  guide  assumes  that your Salt development environment is already
265972       configured and that you have a basic understanding of  contributing  to
265973       the  Salt  codebase.  If you're unfamiliar with either of these topics,
265974       please refer to the Installing Salt for Development and the  Contribut‐
265975       ing pages, respectively.
265976
265977       This  documentation  also assumes that you have an understanding of how
265978       to run Salt's test suite, including running the unit  test  subsection,
265979       running  the unit tests without testing daemons to speed up development
265980       wait times, and running a unit test file, class, or individual test.
265981
265982   Best Practices
265983       Unit tests should be written to the following specifications.
265984
265985   What to Test?
265986       Since unit testing focuses on the singular implementation of individual
265987       functions,  unit tests should be used specifically to test a function's
265988       logic. The following guidelines should be followed  when  writing  unit
265989       tests for Salt's test suite:
265990
265991       · Each raise and return statement needs to be independently tested.
265992
265993       · Isolate  testing  functionality. Don't rely on the pass or failure of
265994         other, separate tests.
265995
265996       · Test functions should contain only one assertion.
265997
265998       · Many Salt execution modules are merely wrappers for distribution-spe‐
265999         cific  functionality.  If  there  isn't any logic present in a simple
266000         execution module, consider writing an  integration  test  instead  of
266001         heavily mocking a call to an external dependency.
266002
266003   Mocking Test Data
266004       A reasonable effort needs to be made to mock external resources used in
266005       the code being tested, such as  APIs,  function  calls,  external  data
266006       either globally available or passed in through function arguments, file
266007       data, etc.
266008
266009       · Test functions should contain only one assertion  and  all  necessary
266010         mock code and data for that assertion.
266011
266012       · External  resources  should  be  mocked in order to "block all of the
266013         exits". If a test function fails because  something  in  an  external
266014         library wasn't mocked properly (or at all), this test is not address‐
266015         ing all of the "exits" a function may experience. We  want  the  Salt
266016         code and logic to be tested, specifically.
266017
266018       · Consider  the  fragility  and  longevity of a test. If the test is so
266019         tightly coupled to the code being tested, this makes a test  unneces‐
266020         sarily fragile.
266021
266022       · Make sure you are not mocking the function to be tested so vigorously
266023         that the test return merely tests the mocked output. The test  should
266024         always be testing a function's logic.
266025
266026   Mocking Loader Modules
266027       Salt  loader  modules  use  a series of globally available dunder vari‐
266028       ables, __salt__, __opts__, __pillar__, etc. To facilitate testing these
266029       modules  a  mixin class was created, LoaderModuleMockMixin which can be
266030       found in tests/support/mixins.py. The reason for the existence of  this
266031       class  is  because historiclly and because it was easier, one would add
266032       these dunder variables directly on the imported module.  This  however,
266033       introduces  unexpected  behavior when running the full test suite since
266034       those attributes would not be removed once we  were  done  testing  the
266035       module  and  would  therefore  leak  to other modules being tested with
266036       unpredictable results. This is the kind of work that should be deferred
266037       to mock, and that's exactly what this mixin class does.
266038
266039       As  an  example,  if  one needs to specify some options which should be
266040       available to the module being tested one should do:
266041
266042          import salt.modules.somemodule as somemodule
266043
266044          class SomeModuleTest(TestCase, LoaderModuleMockMixin):
266045
266046              def setup_loader_modules(self):
266047                  return {
266048                      somemodule: {
266049                          '__opts__': {'test': True}
266050                      }
266051                  }
266052
266053       Consider this more extensive example from  tests/unit/modules/test_lib‐
266054       cloud_dns.py:
266055
266056          # Import Python Libs
266057          from __future__ import absolute_import
266058
266059          # Import Salt Testing Libs
266060          from tests.support.mixins import LoaderModuleMockMixin
266061          from tests.support.unit import TestCase, skipIf
266062          from tests.support.mock import (
266063              patch,
266064              MagicMock,
266065              NO_MOCK,
266066              NO_MOCK_REASON
266067          )
266068          import salt.modules.libcloud_dns as libcloud_dns
266069
266070
266071          class MockDNSDriver(object):
266072              def __init__(self):
266073                  pass
266074
266075
266076          def get_mock_driver():
266077              return MockDNSDriver()
266078
266079
266080          @skipIf(NO_MOCK, NO_MOCK_REASON)
266081          @patch('salt.modules.libcloud_dns._get_driver',
266082                 MagicMock(return_value=MockDNSDriver()))
266083          class LibcloudDnsModuleTestCase(TestCase, LoaderModuleMockMixin):
266084
266085              def setup_loader_modules(self):
266086                  module_globals = {
266087                      '__salt__': {
266088                          'config.option': MagicMock(return_value={
266089                              'test': {
266090                                  'driver': 'test',
266091                                  'key': '2orgk34kgk34g'
266092                              }
266093                          })
266094                      }
266095                  }
266096                  if libcloud_dns.HAS_LIBCLOUD is False:
266097                      module_globals['sys.modules'] = {'libcloud': MagicMock()}
266098
266099                  return {libcloud_dns: module_globals}
266100
266101       What  happens  in the above example is we mock a call to __salt__['con‐
266102       fig.option'] to return the configuration needed for  the  execution  of
266103       the  tests.  Additionally,  if  the  libcloud library is not available,
266104       since that's not actually part of what's being tested, we  mocked  that
266105       import by patching sys.modules when tests are running.
266106
266107   Mocking Filehandles
266108       NOTE:
266109          This  documentation  applies  to the 2018.3 release cycle and newer.
266110          The extended functionality for mock_open described  below  does  not
266111          exist in the 2017.7 and older release branches.
266112
266113       Opening  files  in  Salt  is  done using salt.utils.files.fopen(). When
266114       testing code that reads from files, the mock_open helper can be used to
266115       mock   filehandles.   Note   that   is   not   the  same  mock_open  as
266116       unittest.mock.mock_open() from the Python standard library, but  rather
266117       a separate implementation which has additional functionality.
266118
266119          from tests.support.unit import TestCase, skipIf
266120          from tests.support.mock import (
266121              patch
266122              mock_open,
266123              NO_MOCK,
266124              NO_MOCK_REASON,
266125          )
266126
266127          import salt.modules.mymod as mymod
266128
266129          @skipIf(NO_MOCK, NO_MOCK_REASON)
266130          class MyAwesomeTestCase(TestCase):
266131
266132              def test_something(self):
266133                  fopen_mock = mock_open(read_data='foo\nbar\nbaz\n')
266134                  with patch('salt.utils.files.fopen', fopen_mock):
266135                      result = mymod.myfunc()
266136                      assert result is True
266137
266138       This will force any filehandle opened to mimic a filehandle which, when
266139       read, produces the specified contents.
266140
266141       IMPORTANT:
266142          String Types
266143
266144          When running tests on Python 2, mock_open will convert  any  unicode
266145          types to str types to more closely reproduce Python 2 behavior (file
266146          reads are always str types in Python 2, irrespective of mode).
266147
266148          However, when configuring your read_data, make  sure  that  you  are
266149          using  bytestrings  (e.g.  b'foo\nbar\nbaz\n') when the code you are
266150          testing is opening a file for binary reading,  otherwise  the  tests
266151          will  fail on Python 3. The mocked filehandles produced by mock_open
266152          will raise a TypeError if you attempt  to  read  a  bytestring  when
266153          opening  for non-binary reading, and similarly will not let you read
266154          a string when opening a file for binary reading. They will also  not
266155          permit  bytestrings  to  be  "written"  if the mocked filehandle was
266156          opened for  non-binary  writing,  and  vice-versa  when  opened  for
266157          non-binary  writing.  These enhancements force test writers to write
266158          more accurate tests.
266159
266160   More Complex Scenarios
266161   Multiple File Paths
266162       What happens when the code being tested reads from more than one  file?
266163       For those cases, you can pass read_data as a dictionary:
266164
266165          import textwrap
266166
266167          from tests.support.unit import TestCase, skipIf
266168          from tests.support.mock import (
266169              patch
266170              mock_open,
266171              NO_MOCK,
266172              NO_MOCK_REASON,
266173          )
266174
266175          import salt.modules.mymod as mymod
266176
266177          @skipIf(NO_MOCK, NO_MOCK_REASON)
266178          class MyAwesomeTestCase(TestCase):
266179
266180              def test_something(self):
266181                  contents = {
266182                      '/etc/foo.conf': textwrap.dedent('''\
266183                          foo
266184                          bar
266185                          baz
266186                          '''),
266187                      '/etc/b*.conf': textwrap.dedent('''\
266188                          one
266189                          two
266190                          three
266191                          '''),
266192                  }
266193                  fopen_mock = mock_open(read_data=contents)
266194                  with patch('salt.utils.files.fopen', fopen_mock):
266195                      result = mymod.myfunc()
266196                      assert result is True
266197
266198       This  would make salt.utils.files.fopen() produce filehandles with dif‐
266199       ferent contents depending on which file was being opened  by  the  code
266200       being   tested.   /etc/foo.conf  and  any  file  matching  the  pattern
266201       /etc/b*.conf would work, while opening any other path would result in a
266202       FileNotFoundError being raised (in Python 2, an IOError).
266203
266204       Since  file  patterns are supported, it is possible to use a pattern of
266205       '*' to define a fallback if no other patterns match the filename  being
266206       opened. The below two mock_open calls would produce identical results:
266207
266208          mock_open(read_data='foo\n')
266209          mock_open(read_data={'*': 'foo\n'})
266210
266211       NOTE:
266212          Take  care  when  specifying the read_data as a dictionary, in cases
266213          where  the  patterns  overlap  (e.g.  when  both  /etc/b*.conf   and
266214          /etc/bar.conf are in the read_data). Dictionary iteration order will
266215          determine which pattern is attempted first, second, etc.,  with  the
266216          exception  of * which is used when no other pattern matches. If your
266217          test case calls for specifying overlapping patterns, and you are not
266218          running  Python  3.6  or  newer,  then an OrderedDict can be used to
266219          ensure matching is handled in the desired way:
266220
266221              contents = OrderedDict()
266222              contents['/etc/bar.conf'] = 'foo\nbar\nbaz\n'
266223              contents['/etc/b*.conf'] = IOError(errno.EACCES, 'Permission denied')
266224              contents['*'] = 'This is a fallback for files not beginning with "/etc/b"\n'
266225              fopen_mock = mock_open(read_data=contents)
266226
266227   Raising Exceptions
266228       Instead of a string, an exception can also be used as the read_data:
266229
266230          import errno
266231
266232          from tests.support.unit import TestCase, skipIf
266233          from tests.support.mock import (
266234              patch
266235              mock_open,
266236              NO_MOCK,
266237              NO_MOCK_REASON,
266238          )
266239
266240          import salt.modules.mymod as mymod
266241
266242          @skipIf(NO_MOCK, NO_MOCK_REASON)
266243          class MyAwesomeTestCase(TestCase):
266244
266245              def test_something(self):
266246                  exc = IOError(errno.EACCES, 'Permission denied')
266247                  fopen_mock = mock_open(read_data=exc)
266248                  with patch('salt.utils.files.fopen', fopen_mock):
266249                      mymod.myfunc()
266250
266251       The above example would raise the specified exception when any file  is
266252       opened.   The expectation would be that mymod.myfunc() would gracefully
266253       handle the IOError, so a failure to do that would result  in  it  being
266254       raised and causing the test to fail.
266255
266256   Multiple File Contents
266257       For  cases in which a file is being read more than once, and it is nec‐
266258       essary to test a function's behavior based on what the file looks  like
266259       the  second (or third, etc.) time it is read, just specify the the con‐
266260       tents for that file as a list. Each time the file is opened,  mock_open
266261       will  cycle  through  the list and produce a mocked filehandle with the
266262       specified contents. For example:
266263
266264          import errno
266265          import textwrap
266266
266267          from tests.support.unit import TestCase, skipIf
266268          from tests.support.mock import (
266269              patch
266270              mock_open,
266271              NO_MOCK,
266272              NO_MOCK_REASON,
266273          )
266274
266275          import salt.modules.mymod as mymod
266276
266277          @skipIf(NO_MOCK, NO_MOCK_REASON)
266278          class MyAwesomeTestCase(TestCase):
266279
266280              def test_something(self):
266281                  contents = {
266282                      '/etc/foo.conf': [
266283                          textwrap.dedent('''\
266284                              foo
266285                              bar
266286                              '''),
266287                          textwrap.dedent('''\
266288                              foo
266289                              bar
266290                              baz
266291                              '''),
266292                      ],
266293                      '/etc/b*.conf': [
266294                          IOError(errno.ENOENT, 'No such file or directory'),
266295                          textwrap.dedent('''\
266296                              one
266297                              two
266298                              three
266299                              '''),
266300                      ],
266301                  }
266302                  fopen_mock = mock_open(read_data=contents)
266303                  with patch('salt.utils.files.fopen', fopen_mock):
266304                      result = mymod.myfunc()
266305                      assert result is True
266306
266307       Using this example, the first time /etc/foo.conf  is  opened,  it  will
266308       simulate  a  file  with  the  first string in the list as its contents,
266309       while the second time it is opened, the simulated file's contents  will
266310       be the second string in the list.
266311
266312       If  no  more items remain in the list, then attempting to open the file
266313       will raise a RuntimeError. In the example above, if /etc/foo.conf  were
266314       to be opened a third time, a RuntimeError would be raised.
266315
266316       Note  that exceptions can also be mixed in with strings when using this
266317       technique. In the above example, if /etc/bar.conf  were  to  be  opened
266318       twice,  the  first time would simulate the file not existing, while the
266319       second time would simulate a file with string  defined  in  the  second
266320       element of the list.
266321
266322       NOTE:
266323          Notice  that  the  second  path  in  the  contents  dictionary above
266324          (/etc/b*.conf) contains an asterisk.  The  items  in  the  list  are
266325          cycled through for each match of a given pattern (not separately for
266326          each individual file path), so this means that only two files match‐
266327          ing  that  pattern could be opened before the next one would raise a
266328          RuntimeError.
266329
266330   Accessing the Mocked Filehandles in a Test
266331       NOTE:
266332          The code for the MockOpen, MockCall, and MockFH classes  (referenced
266333          below)  can  be  found in tests/support/mock.py. There are extensive
266334          unit tests for them located in tests/unit/test_mock.py.
266335
266336       The above examples simply show how to mock salt.utils.files.fopen()  to
266337       simulate  files  with  the contents you desire, but you can also access
266338       the mocked filehandles (and more), and use them to craft assertions  in
266339       your  tests.  To  do  so, just add an as clause to the end of the patch
266340       statement:
266341
266342          fopen_mock = mock_open(read_data='foo\nbar\nbaz\n')
266343          with patch('salt.utils.files.fopen', fopen_mock) as m_open:
266344              # do testing here
266345              ...
266346              ...
266347
266348       When doing this, m_open will be a MockOpen instance.  It  will  contain
266349       several useful attributes:
266350
266351       · read_data  -  A  dictionary  containing  the  read_data  passed  when
266352         mock_open was invoked. In the event that multiple file paths are  not
266353         used,  then  this  will  be  a  dictionary mapping * to the read_data
266354         passed to mock_open.
266355
266356       · call_count   -   An   integer    representing    how    many    times
266357         salt.utils.files.fopen() was called to open a file.
266358
266359       · calls  -  A  list  of MockCall objects. A MockCall object is a simple
266360         class which stores the arguments passed to it, making the  positional
266361         arguments available via its args attribute, and the keyword arguments
266362         available via its kwargs attribute.
266363
266364            from tests.support.unit import TestCase, skipIf
266365            from tests.support.mock import (
266366                patch
266367                mock_open,
266368                MockCall,
266369                NO_MOCK,
266370                NO_MOCK_REASON,
266371            )
266372
266373            import salt.modules.mymod as mymod
266374
266375            @skipIf(NO_MOCK, NO_MOCK_REASON)
266376            class MyAwesomeTestCase(TestCase):
266377
266378                def test_something(self):
266379
266380                    with patch('salt.utils.files.fopen', mock_open(read_data=b'foo\n')) as m_open:
266381                        mymod.myfunc()
266382                        # Assert that only two opens attempted
266383                        assert m_open.call_count == 2
266384                        # Assert that only /etc/foo.conf was opened
266385                        assert all(call.args[0] == '/etc/foo.conf' for call in m_open.calls)
266386                        # Asser that the first open was for binary read, and the
266387                        # second was for binary write.
266388                        assert m_open.calls == [
266389                            MockCall('/etc/foo.conf', 'rb'),
266390                            MockCall('/etc/foo.conf', 'wb'),
266391                        ]
266392
266393         Note that MockCall is imported from tests.support.mock in  the  above
266394         example.  Also, the second assert above is redundant since it is cov‐
266395         ered in the final assert, but both are included simply as an example.
266396
266397       · filehandles - A dictionary mapping the unique file paths  opened,  to
266398         lists  of  MockFH  objects. Each open creates a unique MockFH object.
266399         Each MockFH object itself has a number of useful attributes:
266400
266401         · filename  -  The  path  to  the  file  which   was   opened   using
266402           salt.utils.files.fopen()
266403
266404         · call  -  A  MockCall  object  representing  the arguments passed to
266405           salt.utils.files.fopen(). Note that this MockCall is also available
266406           in the parent MockOpen instance's calls list.
266407
266408         · The  following methods are mocked using unittest.mock.Mock objects,
266409           and Mock's built-in asserts (as well as the call data) can be  used
266410           as you would with any other Mock object:
266411
266412           · .read()
266413
266414           · .readlines()
266415
266416           · .readline()
266417
266418           · .close()
266419
266420           · .write()
266421
266422           · .writelines()
266423
266424           · .seek()
266425
266426         · The read functions (.read(), .readlines(), .readline()) all work as
266427           expected, as does iterating through the file  line  by  line  (i.e.
266428           for line in fh:).
266429
266430         · The  .tell()  method  is  also  implemented  in  such a way that it
266431           updates after each time the mocked filehandle  is  read,  and  will
266432           report  the  correct  position. The one caveat here is that .seek()
266433           doesn't actually work (it's simply mocked), and will not change the
266434           position. Additionally, neither .write() or .writelines() will mod‐
266435           ify the mocked filehandle's contents.
266436
266437         · The attributes .write_calls and .writelines_calls (no  parenthesis)
266438           are  available as shorthands and correspond to lists containing the
266439           contents passed  for  all  calls  to  .write()  and  .writelines(),
266440           respectively.
266441
266442   Examples
266443          with patch('salt.utils.files.fopen', mock_open(read_data=contents)) as m_open:
266444              # Run the code you are unit testing
266445              mymod.myfunc()
266446              # Check that only the expected file was opened, and that it was opened
266447              # only once.
266448              assert m_open.call_count == 1
266449              assert list(m_open.filehandles) == ['/etc/foo.conf']
266450              # "opens" will be a list of all the mocked filehandles opened
266451              opens = m_open.filehandles['/etc/foo.conf']
266452              # Check that we wrote the expected lines ("expected" here is assumed to
266453              # be a list of strings)
266454              assert opens[0].write_calls == expected
266455
266456          with patch('salt.utils.files.fopen', mock_open(read_data=contents)) as m_open:
266457              # Run the code you are unit testing
266458              mymod.myfunc()
266459              # Check that .readlines() was called (remember, it's a Mock)
266460              m_open.filehandles['/etc/foo.conf'][0].readlines.assert_called()
266461
266462          with patch('salt.utils.files.fopen', mock_open(read_data=contents)) as m_open:
266463              # Run the code you are unit testing
266464              mymod.myfunc()
266465              # Check that we read the file and also wrote to it
266466              m_open.filehandles['/etc/foo.conf'][0].read.assert_called_once()
266467              m_open.filehandles['/etc/foo.conf'][1].writelines.assert_called_once()
266468
266469   Naming Conventions
266470       Test  names  and docstrings should indicate what functionality is being
266471       tested.  Test functions are named test_<fcn>_<test-name> where <fcn> is
266472       the function being tested and <test-name> describes the raise or return
266473       being tested.
266474
266475       Unit tests for salt/.../<module>.py are  contained  in  a  file  called
266476       tests/unit/.../test_<module>.py, e.g. the tests for salt/modules/fib.py
266477       are in tests/unit/modules/test_fib.py.
266478
266479       In order for unit tests to get picked up during a run of the unit  test
266480       suite,  each  unit test file must be prefixed with test_ and each indi‐
266481       vidual test  must  be  prepended  with  the  test_  naming  syntax,  as
266482       described above.
266483
266484       If  a  function  does not start with test_, then the function acts as a
266485       "normal" function and is not considered a testing function. It will not
266486       be  included  in  the  test  run  or testing output. The same principle
266487       applies to unit test files that do not have the test_*.py  naming  syn‐
266488       tax. This test file naming convention is how the test runner recognizes
266489       that a test file contains unit tests.
266490
266491   Imports
266492       Most commonly, the following imports are necessary  to  create  a  unit
266493       test:
266494
266495          from tests.support.unit import TestCase, skipIf
266496
266497       If you need mock support to your tests, please also import:
266498
266499          from tests.support.mock import NO_MOCK, NO_MOCK_REASON, MagicMock, patch, call
266500
266501   Evaluating Truth
266502       A  longer  discussion  on  the  types of assertions one can make can be
266503       found by reading Python's documentation on unit testing.
266504
266505   Tests Using Mock Objects
266506       In many cases, the purpose of a Salt module is to  interact  with  some
266507       external  system, whether it be to control a database, manipulate files
266508       on a filesystem or something else. In these varied cases,  it's  neces‐
266509       sary to design a unit test which can test the function whilst replacing
266510       functions which might actually call out to external systems. One  might
266511       think  of  this  as "blocking the exits" for code under tests and redi‐
266512       recting the calls to external systems with our own code which  produces
266513       known results during the duration of the test.
266514
266515       To  achieve  this behavior, Salt makes heavy use of the MagicMock pack‐
266516       age.
266517
266518       To understand how one might integrate Mock into writing a unit test for
266519       Salt, let's imagine a scenario in which we're testing an execution mod‐
266520       ule that's designed to operate on a database. Furthermore, let's  imag‐
266521       ine two separate methods, here presented in pseduo-code in an imaginary
266522       execution module called 'db.py'.
266523
266524          def create_user(username):
266525              qry = 'CREATE USER {0}'.format(username)
266526              execute_query(qry)
266527
266528          def execute_query(qry):
266529              # Connect to a database and actually do the query...
266530
266531       Here, let's imagine that we want to create a unit  test  for  the  cre‐
266532       ate_user  function.  In  doing so, we want to avoid any calls out to an
266533       external system and so while we are running our unit tests, we want  to
266534       replace the actual interaction with a database with a function that can
266535       capture the parameters sent to it and return pre-defined values. There‐
266536       fore,  our  task is clear -- to write a unit test which tests the func‐
266537       tionality of create_user while also replacing  'execute_query'  with  a
266538       mocked function.
266539
266540       To  begin, we set up the skeleton of our class much like we did before,
266541       but with additional imports for MagicMock:
266542
266543          # Import Salt Testing libs
266544          from tests.support.unit import TestCase
266545
266546          # Import Salt execution module to test
266547          from salt.modules import db
266548
266549          # Import Mock libraries
266550          from tests.support.mock import NO_MOCK, NO_MOCK_REASON, MagicMock, patch, call
266551
266552          # Create test case class and inherit from Salt's customized TestCase
266553          # Skip this test case if we don't have access to mock!
266554          @skipIf(NO_MOCK, NO_MOCK_REASON)
266555          class DbTestCase(TestCase):
266556              def test_create_user(self):
266557                  # First, we replace 'execute_query' with our own mock function
266558                  with patch.object(db, 'execute_query', MagicMock()) as db_exq:
266559
266560                      # Now that the exits are blocked, we can run the function under test.
266561                      db.create_user('testuser')
266562
266563                      # We could now query our mock object to see which calls were made
266564                      # to it.
266565                      ## print db_exq.mock_calls
266566
266567                      # Construct a call object that simulates the way we expected
266568                      # execute_query to have been called.
266569                      expected_call = call('CREATE USER testuser')
266570
266571                      # Compare the expected call with the list of actual calls.  The
266572                      # test will succeed or fail depending on the output of this
266573                      # assertion.
266574                      db_exq.assert_has_calls(expected_call)
266575
266576   Modifying __salt__ In Place
266577       At times, it becomes necessary to make modifications to a module's view
266578       of  functions in its own __salt__ dictionary.  Luckily, this process is
266579       quite easy.
266580
266581       Below is an example that uses MagicMock's patch functionality to insert
266582       a function into __salt__ that's actually a MagicMock instance.
266583
266584          def show_patch(self):
266585              with patch.dict(my_module.__salt__,
266586                              {'function.to_replace': MagicMock()}):
266587                  # From this scope, carry on with testing, with a modified __salt__!
266588
266589   A Simple Example
266590       Let's  assume  that we're testing a very basic function in an imaginary
266591       Salt execution module. Given a module called fib.py that has a function
266592       called  calculate(num_of_results),  which  given a num_of_results, pro‐
266593       duces a list of sequential Fibonacci numbers of that length.
266594
266595       A unit test to test this function might be commonly placed  in  a  file
266596       called  tests/unit/modules/test_fib.py. The convention is to place unit
266597       tests for Salt execution modules in test/unit/modules/ and to name  the
266598       tests module prefixed with test_*.py.
266599
266600       Tests  are  grouped around test cases, which are logically grouped sets
266601       of tests against a piece of functionality in the tested software.  Test
266602       cases  are created as Python classes in the unit test module. To return
266603       to our example, here's how we might  write  the  skeleton  for  testing
266604       fib.py:
266605
266606          # Import Salt Testing libs
266607          from tests.support.unit import TestCase
266608
266609          # Import Salt execution module to test
266610          import salt.modules.fib as fib
266611
266612          # Create test case class and inherit from Salt's customized TestCase
266613          class FibTestCase(TestCase):
266614              '''
266615              This class contains a set of functions that test salt.modules.fib.
266616              '''
266617              def test_fib(self):
266618                  '''
266619                  To create a unit test, we should prefix the name with `test_' so
266620                  that it's recognized by the test runner.
266621                  '''
266622                  fib_five = (0, 1, 1, 2, 3)
266623                  self.assertEqual(fib.calculate(5), fib_five)
266624
266625       At  this  point,  the  test can now be run, either individually or as a
266626       part of a full run of the test runner. To ease  development,  a  single
266627       test can be executed:
266628
266629          tests/runtests.py -v -n unit.modules.test_fib
266630
266631       This  will  report  the status of the test: success, failure, or error.
266632       The -v flag increases output verbosity.
266633
266634          tests/runtests.py -n unit.modules.test_fib -v
266635
266636       To review the results of a particular run, take a note of the log loca‐
266637       tion given in the output for each test:
266638
266639          Logging tests on /var/folders/nl/d809xbq577l3qrbj3ymtpbq80000gn/T/salt-runtests.log
266640
266641   A More Complete Example
266642       Consider the following function from salt/modules/linux_sysctl.py.
266643
266644          def get(name):
266645              '''
266646              Return a single sysctl parameter for this minion
266647
266648              CLI Example:
266649
266650              .. code-block:: bash
266651
266652                  salt '*' sysctl.get net.ipv4.ip_forward
266653              '''
266654              cmd = 'sysctl -n {0}'.format(name)
266655              out = __salt__['cmd.run'](cmd)
266656              return out
266657
266658       This function is very simple, comprising only four source lines of code
266659       and having only one return statement, so  we  know  only  one  test  is
266660       needed.   There  are also two inputs to the function, the name function
266661       argument and the call to __salt__['cmd.run'](), both of which  need  to
266662       be appropriately mocked.
266663
266664       Mocking  a  function  parameter  is  straightforward, whereas mocking a
266665       function call will require, in this case, the use  of  MagicMock.   For
266666       added  isolation,  we  will  also redefine the __salt__ dictionary such
266667       that it only contains 'cmd.run'.
266668
266669          # Import Salt Libs
266670          import salt.modules.linux_sysictl as linux_sysctl
266671
266672          # Import Salt Testing Libs
266673          from tests.support.mixins import LoaderModuleMockMixin
266674          from tests.support.unit import skipIf, TestCase
266675          from tests.support.mock import (
266676              MagicMock,
266677              patch,
266678              NO_MOCK,
266679              NO_MOCK_REASON
266680          )
266681
266682
266683          @skipIf(NO_MOCK, NO_MOCK_REASON)
266684          class LinuxSysctlTestCase(TestCase, LoaderModuleMockMixin):
266685              '''
266686              TestCase for salt.modules.linux_sysctl module
266687              '''
266688
266689              def test_get(self):
266690                  '''
266691                  Tests the return of get function
266692                  '''
266693                  mock_cmd = MagicMock(return_value=1)
266694                  with patch.dict(linux_sysctl.__salt__, {'cmd.run': mock_cmd}):
266695                      self.assertEqual(linux_sysctl.get('net.ipv4.ip_forward'), 1)
266696
266697       Since get() has only one raise or return statement and  that  statement
266698       is  a  success condition, the test function is simply named test_get().
266699       As described, the single function call parameter, name is  mocked  with
266700       net.ipv4.ip_forward  and __salt__['cmd.run'] is replaced by a MagicMock
266701       function object.  We  are  only  interested  in  the  return  value  of
266702       __salt__['cmd.run'],  which  MagicMock  allows  us  by  specifying  via
266703       return_value=1.  Finally, the test itself tests  for  equality  between
266704       the return value of get() and the expected return of 1.  This assertion
266705       is expected to succeed because get() will determine  its  return  value
266706       from __salt__['cmd.run'], which we have mocked to return 1.
266707
266708   A Complex Example
266709       Now   consider   the   assign()   function   from  the  same  salt/mod‐
266710       ules/linux_sysctl.py source file.
266711
266712          def assign(name, value):
266713              '''
266714              Assign a single sysctl parameter for this minion
266715
266716              CLI Example:
266717
266718              .. code-block:: bash
266719
266720                  salt '*' sysctl.assign net.ipv4.ip_forward 1
266721              '''
266722              value = str(value)
266723              sysctl_file = '/proc/sys/{0}'.format(name.replace('.', '/'))
266724              if not os.path.exists(sysctl_file):
266725                  raise CommandExecutionError('sysctl {0} does not exist'.format(name))
266726
266727              ret = {}
266728              cmd = 'sysctl -w {0}="{1}"'.format(name, value)
266729              data = __salt__['cmd.run_all'](cmd)
266730              out = data['stdout']
266731              err = data['stderr']
266732
266733              # Example:
266734              #    # sysctl -w net.ipv4.tcp_rmem="4096 87380 16777216"
266735              #    net.ipv4.tcp_rmem = 4096 87380 16777216
266736              regex = re.compile(r'^{0}\s+=\s+{1}$'.format(re.escape(name),
266737                                                           re.escape(value)))
266738
266739              if not regex.match(out) or 'Invalid argument' in str(err):
266740                  if data['retcode'] != 0 and err:
266741                      error = err
266742                  else:
266743                      error = out
266744                  raise CommandExecutionError('sysctl -w failed: {0}'.format(error))
266745              new_name, new_value = out.split(' = ', 1)
266746              ret[new_name] = new_value
266747              return ret
266748
266749       This function contains two raise statements and one  return  statement,
266750       so  we know that we will need (at least) three tests.  It has two func‐
266751       tion arguments and many references to non-builtin  functions.   In  the
266752       tests below you will see that MagicMock's patch() method may be used as
266753       a context manager or as a decorator. When  patching  the  salt  dunders
266754       however, please use the context manager approach.
266755
266756       There are three test functions, one for each raise and return statement
266757       in the source function.  Each function is self-contained  and  contains
266758       all  and  only  the  mocks  and data needed to test the raise or return
266759       statement it is concerned with.
266760
266761          # Import Salt Libs
266762          import salt.modules.linux_sysctl as linux_sysctl
266763          from salt.exceptions import CommandExecutionError
266764
266765          # Import Salt Testing Libs
266766          from tests.support.mixins import LoaderModuleMockMixin
266767          from tests.support.unit import skipIf, TestCase
266768          from tests.support.mock import (
266769              MagicMock,
266770              patch,
266771              NO_MOCK,
266772              NO_MOCK_REASON
266773          )
266774
266775
266776          @skipIf(NO_MOCK, NO_MOCK_REASON)
266777          class LinuxSysctlTestCase(TestCase, LoaderModuleMockMixin):
266778              '''
266779              TestCase for salt.modules.linux_sysctl module
266780              '''
266781
266782              @patch('os.path.exists', MagicMock(return_value=False))
266783              def test_assign_proc_sys_failed(self):
266784                  '''
266785                  Tests if /proc/sys/<kernel-subsystem> exists or not
266786                  '''
266787                  cmd = {'pid': 1337, 'retcode': 0, 'stderr': '',
266788                         'stdout': 'net.ipv4.ip_forward = 1'}
266789                  mock_cmd = MagicMock(return_value=cmd)
266790                  with patch.dict(linux_sysctl.__salt__, {'cmd.run_all': mock_cmd}):
266791                      self.assertRaises(CommandExecutionError,
266792                                        linux_sysctl.assign,
266793                                        'net.ipv4.ip_forward', 1)
266794
266795              @patch('os.path.exists', MagicMock(return_value=True))
266796              def test_assign_cmd_failed(self):
266797                  '''
266798                  Tests if the assignment was successful or not
266799                  '''
266800                  cmd = {'pid': 1337, 'retcode': 0, 'stderr':
266801                         'sysctl: setting key "net.ipv4.ip_forward": Invalid argument',
266802                         'stdout': 'net.ipv4.ip_forward = backward'}
266803                  mock_cmd = MagicMock(return_value=cmd)
266804                  with patch.dict(linux_sysctl.__salt__, {'cmd.run_all': mock_cmd}):
266805                      self.assertRaises(CommandExecutionError,
266806                                        linux_sysctl.assign,
266807                                        'net.ipv4.ip_forward', 'backward')
266808
266809              @patch('os.path.exists', MagicMock(return_value=True))
266810              def test_assign_success(self):
266811                  '''
266812                  Tests the return of successful assign function
266813                  '''
266814                  cmd = {'pid': 1337, 'retcode': 0, 'stderr': '',
266815                         'stdout': 'net.ipv4.ip_forward = 1'}
266816                  ret = {'net.ipv4.ip_forward': '1'}
266817                  mock_cmd = MagicMock(return_value=cmd)
266818                  with patch.dict(linux_sysctl.__salt__, {'cmd.run_all': mock_cmd}):
266819                      self.assertEqual(linux_sysctl.assign(
266820                          'net.ipv4.ip_forward', 1), ret)
266821
266822   raet
266823       # RAET # Reliable Asynchronous Event Transport Protocol
266824
266825       SEE ALSO:
266826          RAET Overview
266827
266828   Protocol
266829       Layering:
266830
266831       OSI Layers
266832
266833       7: Application: Format: Data (Stack to Application interface  buffering
266834       etc)  6: Presentation: Format: Data (Encrypt-Decrypt convert to machine
266835       independent format) 5: Session: Format: Data (Interhost communications.
266836       Authentication. Groups) 4: Transport: Format: Segments (Reliable deliv‐
266837       ery of Message, Transactions, Segmentation, Error checking) 3: Network:
266838       Format:  Packets/Datagrams (Addressing Routing) 2: Link: Format: Frames
266839       ( Reliable per frame communications connection, Media access controller
266840       ) 1: Physical: Bits (Transceiver communication connection not reliable)
266841
266842       Link is hidden from Raet Network is IP host address and Udp Port Trans‐
266843       port is Raet transactions, service kind,  tail  error  checking,  Could
266844       include  header  signing as part of transport reliable delivery serial‐
266845       ization of header Session is  session  id  key  exchange  for  signing.
266846       Grouping  is  Road  (like  852 channel) Presentation is Encrypt Decrypt
266847       body Serialize Deserialize Body Application is body data dictionary
266848
266849       Header signing spans both the Transport and Session layers.
266850
266851   Header
266852       JSON Header (Tradeoff some processing speed for extensibility, ease  of
266853       use, readability)
266854
266855       Body initially JSON but support for "packed" binary body
266856
266857   Packet
266858       Header  ASCII  Safe JSON Header termination: Empty line given by double
266859       pair of carriage return linefeed /r/n/r/n 10 13 10 13  ADAD  1010  1101
266860       1010 1101
266861
266862       In  json carriage return and newline characters cannot appear in a json
266863       encoded string unless they are escaped with backslash, so  the  4  byte
266864       combination is illegal in valid json that does not have multi-byte uni‐
266865       code characters.
266866
266867       These means the header must  be  ascii  safe   so  no  multibyte  utf-8
266868       strings allowed in header.
266869
266870       Following Header Terminator is variable length signature block. This is
266871       binary and the length is provided in the header.
266872
266873       Following the signature block is the packet body  or  data.   This  may
266874       either  be  JSON  or  packed  binary.   The format is given in the json
266875       header
266876
266877       Finally is an optional tail block  for  error  checking  or  encryption
266878       details
266879
266880   Header Fields
266881       In UDP header
266882
266883       sh  =  source host sp = source port dh = destination host dp = destina‐
266884       tion port
266885
266886       In RAET Header
266887
266888       hk = header kind hl = header length
266889
266890       vn = version number
266891
266892       sd = Source Device ID dd = Destination Device ID cf = Corresponder Flag
266893       mf = Multicast Flag
266894
266895       si = Session ID ti = Transaction ID
266896
266897       sk  = Service Kind pk = Packet Kind bf = Burst Flag  (Send all Segments
266898       or Ordered packets without interleaved acks)
266899
266900       oi = Order Index dt = DateTime Stamp
266901
266902       sn = Segment Number sc = Segment Count
266903
266904       pf = Pending Segment Flag af = All Flag   (Resent all Segments not just
266905       one)
266906
266907       nk = Auth header kind nl = Auth header length
266908
266909       bk = body kind bl = body length
266910
266911       tk = tail kind tl = tail length
266912
266913       fg = flags packed (Flags) Default '00' hex string
266914              2  byte Hex string with bits (0, 0, af, pf, 0, bf, mf, cf) Zeros
266915              are TBD flags
266916
266917   Session Bootstrap
266918       Minion sends packet with SID of Zero with public key of minions  Public
266919       Private Key pair Master acks packet with SID of Zero to let minion know
266920       it received the request
266921
266922       Some time later Master sends packet with SID of zero that  accepts  the
266923       Minion
266924
266925       Minion
266926
266927   Session
266928       Session  is  important  for  security. Want one session opened and then
266929       multiple transactions within session.
266930
266931       Session ID SID sid
266932
266933       GUID hash to guarantee uniqueness since  no  guarantee  of  nonvolatile
266934       storage or require file storage to keep last session ID used.
266935
266936   Service Types or Modular Services
266937       Four Service Types
266938
266939       A. One or more maybe (unacknowledged repeat) maybe means no guarantee
266940
266941       B.
266942
266943          Exactly  one at most (ack with retries) (duplicate detection idempo‐
266944          tent)
266945                 at most means fixed number of retries has finite  probability
266946                 of failing B1) finite retries B2) infinite retries with expo‐
266947                 nential back-off up to a maximum delay
266948
266949       C.
266950
266951          Exactly one of sequence at most (sequence numbered)
266952                 Receiver requests retry of missing packet with same B1 or  B2
266953                 retry type
266954
266955       D.
266956
266957          End to End (Application layer Request Response)
266958                 This is two B sub transactions
266959
266960       Initially unicast messaging Eventually support for Multicast
266961
266962       The  use  case for C) is to fragment large packets as once a UDP packet
266963       exceeds the frame size its reliability goes way down So its more  reli‐
266964       able to fragment large packets.
266965
266966       Better approach might be to have more modularity.  Services Levels
266967
266968          1.
266969
266970             Maybe one or more
266971
266972                    A.
266973
266974                       Fire and forget
266975                              no transaction either side
266976
266977                    B.
266978
266979                       Repeat, no ack, no dupdet
266980                              repeat  counter  send  side,  no  transaction on
266981                              receive side
266982
266983                    C.
266984
266985                       Repeat, no Ack, dupdet
266986                              repeat counter send side, dup detection transac‐
266987                              tion receive side
266988
266989          2.
266990
266991             More or Less Once
266992
266993                    A.
266994
266995                       retry finite, ack no dupdet
266996                              retry  timer send side, finite number of retires
266997                              ack receive side no dupdet
266998
266999          3.
267000
267001             At most Once
267002
267003                    A.
267004
267005                       retry finite, ack, dupdet
267006                              retry timer send side, finite number of  retires
267007                              ack receive side dupdet
267008
267009          4.
267010
267011             Exactly once
267012
267013                    A.
267014
267015                       ack retry
267016                              retry  timer send side, ack and duplicate detec‐
267017                              tion receive side Infinite retries with exponen‐
267018                              tial backoff
267019
267020          5.
267021
267022             Sequential sequence number
267023
267024                    A. reorder escrow
267025
267026                    B. Segmented packets
267027
267028          6. request response to application layer
267029
267030       Service Features
267031
267032       1. repeats
267033
267034       2. ack retry transaction id
267035
267036       3. sequence number duplicate detection  out of order detection sequenc‐
267037          ing
267038
267039       4. rep-req
267040
267041       Always include transaction id since multiple transactions on same  port
267042       So  get  duplicate  detection for free if keep transaction alive but if
267043       use
267044
267045       A) Maybe one or more B1) At  Least  One  B2)  Exactly  One  C)  One  of
267046       sequence D) End to End
267047
267048       A)  Sender  creates  transaction  id for number of repeats but receiver
267049       does not keep transaction alive
267050
267051       B1) Sender creates transaction id   keeps  it  for  retries.   Receiver
267052       keeps  it  to  send  ack  then  kills  so  retry could be duplicate not
267053       detected
267054
267055       B2) Sender creates transaction id keeps for retries Receiver keeps  tid
267056       for acks on any retires so no duplicates.
267057
267058       C)  Sender creates TID and Sequence Number.  Receiver checks for out of
267059       order sequence and can request retry.
267060
267061       D) Application layer sends response. So question is do we keep transac‐
267062       tion  open or have response be new transaction. No because then we need
267063       a rep-req ID so might as well use the same transaction  id.  Just  keep
267064       alive until get response.
267065
267066       Little advantage to B1 vs B2 not having duplicates.
267067
267068       So 4 service types
267069
267070       A. Maybe one or more (unacknowledged repeat)
267071
267072       B. Exactly  One  (At  most  one)  (ack with retry) (duplicate detection
267073          idempotent)
267074
267075       C. One of Sequence (sequence numbered)
267076
267077       D. End to End
267078
267079       Also multicast or unicast
267080
267081       Modular Transaction Table
267082
267083       Sender Side:
267084              Transaction ID plus transaction source sender or receiver gener‐
267085              ated  transaction  id  Repeat  Counter Retry Timer Retry Counter
267086              (finite retries) Redo Timer  (infinite  redos  with  exponential
267087              backoff) Sequence number without acks (look for resend requests)
267088              Sequence with ack (wait for ack before sending next in sequence)
267089              Segmentation
267090
267091       Receiver Side:
267092              Nothing  just  accept packet Acknowledge (can delete transaction
267093              after acknowledge) No duplicate  detection  Transaction  timeout
267094              (keep transaction until timeout) Duplicate detection save trans‐
267095              action id duplicate detection timeout Request resend of  missing
267096              packet  in sequence Sequence reordering with escrow timeout wait
267097              escrow before requesting resend Unsegmentation (request  resends
267098              of missing segment)
267099
267100   SaltStack Git Policy
267101       The  SaltStack team follows a git policy to maintain stability and con‐
267102       sistency with the repository.
267103
267104       The git policy has been developed to encourage contributions  and  make
267105       contributing  to  Salt  as easy as possible. Code contributors to Salt‐
267106       Stack projects DO NOT NEED TO READ THIS DOCUMENT, because all contribu‐
267107       tions  come  into  SaltStack via a single gateway to make it as easy as
267108       possible for contributors to give us code.
267109
267110       The primary rule of git management in SaltStack is to make life easy on
267111       contributors  and  developers  to  send in code. Simplicity is always a
267112       goal!
267113
267114   New Code Entry
267115       All new SaltStack code should be submitted against either  the  develop
267116       branch  or  a point release branch, depending on the nature of the sub‐
267117       mission. Please see the Which Salt Branch? section of Salt's Contribut‐
267118       ing  documentation  or  the  Release  Branching  section below for more
267119       information.
267120
267121   Release Branching
267122       SaltStack maintains two types of releases, Feature Releases  and  Point
267123       Releases  (also  commonly  referred  to  as  Bugfix Releases. A feature
267124       release is managed by incrementing the first or  second  release  point
267125       number,  so  2015.5.5  ->  2015.8.0  signifies  a  feature  release and
267126       2015.8.0 -> 2015.8.1 signifies a point release.
267127
267128   Feature Release Branching
267129       Each feature release is maintained in a dedicated  git  branch  derived
267130       from  the  last  applicable release commit on develop. All file changes
267131       relevant to the feature release will be completed in the develop branch
267132       prior  to  the  creation  of  the  feature  release branch. The feature
267133       release branch will be named after the relevant numbers to the  feature
267134       release,  which  constitute  the first two numbers. This means that the
267135       release branch for the 2015.8.0 series is named 2015.8.
267136
267137       A feature release branch is created with the following command:
267138
267139          # git checkout -b 2015.8 # From the develop branch
267140          # git push origin 2015.8
267141
267142   Point Releases
267143       Each point release is derived from  its  parent  release  branch.  Con‐
267144       structing  point  releases is a critical aspect of Salt development and
267145       is managed by members of the core development team. Point releases com‐
267146       prise  bug  and  security  fixes. Bug fixes can be made against a point
267147       release branch in one of  two  ways:  the  bug  fix  can  be  submitted
267148       directly against the point release branch, or an attempt can be made to
267149       back-port the fix to the point release branch.
267150
267151       Bug fixes should be made against the earliest supported release  branch
267152       on which the bug is present. The Salt development team regularly merges
267153       older point release branches forward into newer point release branches.
267154       That  way,  the  bug fixes that are submitted to older release branches
267155       can cascade up through all related release branches.
267156
267157       For more information, please see the Which  Salt  Branch?   section  of
267158       Salt's Contributing documentation.
267159
267160       Determining  when  a  point  release  is  going to be made is up to the
267161       project leader (Thomas Hatch). Generally point releases are made  every
267162       2-4 weeks or if there is a security fix they can be made sooner.
267163
267164       The  point  release  is  only  designated  by tagging the commit on the
267165       release branch with a release  number  using  the  existing  convention
267166       (version  2015.8.1  is tagged with v2015.8.1). From the tag point a new
267167       source tarball is generated  and  published  to  PyPI,  and  a  release
267168       announcement is made.
267169
267170   Salt Conventions
267171   Writing Salt Documentation
267172       Salt's documentation is built using the Sphinx documentation system. It
267173       can be built in a large variety of output formats including HTML,  PDF,
267174       ePub, and manpage.
267175
267176       All  the documentation is contained in the main Salt repository. Speak‐
267177       ing broadly, most of the narrative documentation  is  contained  within
267178       the https://github.com/saltstack/salt/blob/develop/doc subdirectory and
267179       most of the reference and API  documentation  is  written  inline  with
267180       Salt's Python code and extracted using a Sphinx extension.
267181
267182   Style
267183       The Salt project recommends the IEEE style guide as a general reference
267184       for writing guidelines. Those guidelines are not strictly enforced  but
267185       rather  serve as an excellent resource for technical writing questions.
267186       The NCBI style guide is another very approachable resource.
267187
267188   Point-of-view
267189       Use third-person perspective  and  avoid  "I",  "we",  "you"  forms  of
267190       address.   Identify  the  addressee  specifically e.g., "users should",
267191       "the compiler does", etc.
267192
267193   Active voice
267194       Use active voice and present-tense. Avoid filler words.
267195
267196   Title capitalization
267197       Document titles and section titles within a page should  follow  normal
267198       sentence  capitalization rules. Words that are capitalized as part of a
267199       regular sentence should be capitalized in a title and otherwise left as
267200       lowercase.  Punctuation can be omitted unless it aids the intent of the
267201       title (e.g., exclamation points or question marks).
267202
267203       For example:
267204
267205          This is a main heading
267206          ======================
267207
267208          Paragraph.
267209
267210          This is an exciting sub-heading!
267211          --------------------------------
267212
267213          Paragraph.
267214
267215   Serial Commas
267216       According to Wikipedia: In  English  punctuation,  a  serial  comma  or
267217       series  comma  (also  called Oxford comma and Harvard comma) is a comma
267218       placed immediately before the coordinating conjunction (usually  "and",
267219       "or", or "nor") in a series of three or more terms. For example, a list
267220       of three countries might be punctuated either as  "France,  Italy,  and
267221       Spain"  (with the serial comma), or as "France, Italy and Spain" (with‐
267222       out the serial comma)."
267223
267224       When writing a list that includes three or more items, the serial comma
267225       should always be used.
267226
267227   Documenting modules
267228       Documentation  for  Salt's  various module types is inline in the code.
267229       During the documentation build process it is  extracted  and  formatted
267230       into the final HTML, PDF, etc format.
267231
267232   Inline documentation
267233       Python  has  special  multi-line strings called docstrings as the first
267234       element in a function or class. These strings  allow  documentation  to
267235       live  alongside  the code and can contain special formatting. For exam‐
267236       ple:
267237
267238          def my_function(value):
267239              '''
267240              Upper-case the given value
267241
267242              Usage:
267243
267244              .. code-block:: python
267245
267246                  val = 'a string'
267247                  new_val = myfunction(val)
267248                  print(new_val) # 'A STRING'
267249
267250              :param value: a string
267251              :return: a copy of ``value`` that has been upper-cased
267252              '''
267253              return value.upper()
267254
267255   Specify a release for additions or changes
267256       New functions or changes to existing functions should include a  marker
267257       that denotes what Salt release will be affected. For example:
267258
267259          def my_function(value):
267260              '''
267261              Upper-case the given value
267262
267263              .. versionadded:: 2014.7.0
267264
267265              <...snip...>
267266              '''
267267              return value.upper()
267268
267269       For changes to a function:
267270
267271          def my_function(value, strip=False):
267272              '''
267273              Upper-case the given value
267274
267275              .. versionchanged:: 2016.3.0
267276                  Added a flag to also strip whitespace from the string.
267277
267278              <...snip...>
267279              '''
267280              if strip:
267281                  return value.upper().strip()
267282              return value.upper()
267283
267284   Adding module documentation to the index
267285       Each  module  type  has  an index listing all modules of that type. For
267286       example: all-salt.modules,  all-salt.states,  all-salt.renderers.   New
267287       modules must be added to the index manually.
267288
267289       1. Edit the file for the module type: execution modules, state modules,
267290          renderer modules, etc.
267291
267292       2. Add the new module to the alphebetized list.
267293
267294       3. Build the documentation which will generate an .rst file for the new
267295          module in the same directory as the index.rst.
267296
267297       4. Commit  the  changes  to  index.rst and the new .rst file and send a
267298          pull request.
267299
267300   Cross-references
267301       The Sphinx documentation system contains a wide variety of cross-refer‐
267302       encing capabilities.
267303
267304   Glossary entries
267305       Link  to glossary entries using the term role. A cross-reference should
267306       be added the first time a Salt-specific term is used in a document.
267307
267308          A common way to encapsulate master-side functionality is by writing a
267309          custom :term:`Runner Function`. Custom Runner Functions are easy to write.
267310
267311   Index entries
267312       Sphinx automatically generates many kinds of index entries, but  it  is
267313       occasionally useful to manually add items to the index.
267314
267315       One  method is to use the index directive above the document or section
267316       that should appear in the index.
267317
267318          .. index:: ! Event, event bus, event system
267319              see: Reactor; Event
267320
267321       Another method is to use the index  role  inline  with  the  text  that
267322       should  appear  in the index. The index entry is created and the target
267323       text is left otherwise intact.
267324
267325          Information about the :index:`Salt Reactor`
267326          -------------------------------------------
267327
267328          Paragraph.
267329
267330   Documents and sections
267331       Each document should contain a unique top-level label of the form:
267332
267333          .. _my-page:
267334
267335          My page
267336          =======
267337
267338          Paragraph.
267339
267340       Unique labels can be linked using the ref role. This allows  cross-ref‐
267341       erences to survive document renames or movement.
267342
267343          For more information see :ref:`my-page`.
267344
267345       Note, the :doc: role should not be used to link documents together.
267346
267347   Modules
267348       Cross-references  to  Salt  modules  can be added using Sphinx's Python
267349       domain roles. For example, to create a link to the test.ping function:
267350
267351          A useful execution module to test active communication with a minion is the
267352          :py:func:`test.ping <salt.modules.test.ping>` function.
267353
267354       Salt modules can be referenced as well:
267355
267356          The :py:mod:`test module <salt.modules.test>` contains many useful
267357          functions for inspecting an active Salt connection.
267358
267359       The same syntax works for all modules types:
267360
267361          One of the workhorse state module functions in Salt is the
267362          :py:func:`file.managed <salt.states.file.managed>` function.
267363
267364   Settings
267365       Individual settings in the Salt Master  or  Salt  Minion  configuration
267366       files  are  cross-referenced  using  two custom roles, conf_master, and
267367       conf_minion.
267368
267369          The :conf_minion:`minion ID <id>` setting is a unique identifier for a
267370          single minion.
267371
267372   Documentation Changes and Fixes
267373       Documentation changes and fixes should be  made  against  the  earliest
267374       supported  release  branch  that the update applies to. The practice of
267375       updating a release branch instead of making all  documentation  changes
267376       against Salt's main, default branch, develop, is necessary in order for
267377       the docs to be as up-to-date as possible when the docs are built.
267378
267379       The workflow mentioned above is also in line with  the  recommendations
267380       outlined  in  Salt's  contributing page. You can read more about how to
267381       choose  where  to   submit   documentation   fixes   by   reading   the
267382       which-salt-branch section.
267383
267384       For  an  explanation of how to submit changes against various branches,
267385       see the github-pull-request  section.  Specifically,  see  the  section
267386       describing how to Create a new branch and the steps that follow.
267387
267388   Building the documentation
267389       1. Install  Sphinx  using  a system package manager or pip. The package
267390          name is often of the form python-sphinx. There are no  other  depen‐
267391          dencies.
267392
267393       2. Build  the documentation using the provided Makefile or .bat file on
267394          Windows.
267395
267396             cd /path/to/salt/doc
267397             make html
267398
267399       3. The generated documentation will be written to the  doc/_build/<for‐
267400          mat> directory.
267401
267402       4. A  useful  method  of  viewing  the HTML documentation locally is to
267403          start Python's built-in HTTP server:
267404
267405             cd /path/to/salt/doc/_build/html
267406             python -m SimpleHTTPServer
267407
267408          Then   pull   up   the   documentation   in   a   web   browser   at
267409          http://localhost:8000/.
267410
267411   Salt Formulas
267412       Formulas  are  pre-written  Salt States. They are as open-ended as Salt
267413       States themselves and can be used for tasks such as installing a  pack‐
267414       age,  configuring,  and starting a service, setting up users or permis‐
267415       sions, and many other common tasks.
267416
267417       All official Salt Formulas are found as separate  Git  repositories  in
267418       the "saltstack-formulas" organization on GitHub:
267419
267420       https://github.com/saltstack-formulas
267421
267422       As  a  simple  example, to install the popular Apache web server (using
267423       the normal defaults for  the  underlying  distro)  simply  include  the
267424       apache-formula from a top file:
267425
267426          base:
267427            'web*':
267428              - apache
267429
267430   Installation
267431       Each Salt Formula is an individual Git repository designed as a drop-in
267432       addition to an existing Salt State tree. Formulas can be  installed  in
267433       the following ways.
267434
267435   Adding a Formula as a GitFS remote
267436       One  design  goal  of Salt's GitFS fileserver backend was to facilitate
267437       reusable States. GitFS is a quick and natural way to use Formulas.
267438
267439       1. Install any necessary dependencies and configure GitFS.
267440
267441       2. Add  one  or  more  Formula  repository  URLs  as  remotes  in   the
267442          gitfs_remotes list in the Salt Master configuration file:
267443
267444             gitfs_remotes:
267445               - https://github.com/saltstack-formulas/apache-formula
267446               - https://github.com/saltstack-formulas/memcached-formula
267447
267448          We  strongly  recommend  forking  a formula repository into your own
267449          GitHub account to avoid unexpected changes to your infrastructure.
267450
267451          Many Salt Formulas  are  highly  active  repositories  so  pull  new
267452          changes  with  care. Plus any additions you make to your fork can be
267453          easily sent back upstream with a quick pull request!
267454
267455       3. Restart the Salt master.
267456
267457       Beginning with the 2018.3.0 release, using formulas with GitFS  is  now
267458       much  more  convenient  for  deployments which use many different file‐
267459       server environments (i.e. saltenvs). Using the all_saltenvs  parameter,
267460       files  from  a  single  git branch/tag will appear in all environments.
267461       See here for more information on this feature.
267462
267463   Adding a Formula directory manually
267464       Formulas are simply directories that can be copied onto the local  file
267465       system  by  using  Git  to  clone  the repository or by downloading and
267466       expanding a tarball or zip file of the repository. The directory struc‐
267467       ture  is designed to work with file_roots in the Salt master configura‐
267468       tion.
267469
267470       1. Clone or download the repository into a directory:
267471
267472             mkdir -p /srv/formulas
267473             cd /srv/formulas
267474             git clone https://github.com/saltstack-formulas/apache-formula.git
267475
267476             # or
267477
267478             mkdir -p /srv/formulas
267479             cd /srv/formulas
267480             wget https://github.com/saltstack-formulas/apache-formula/archive/master.tar.gz
267481             tar xf apache-formula-master.tar.gz
267482
267483       2. Add the new directory to file_roots:
267484
267485             file_roots:
267486               base:
267487                 - /srv/salt
267488                 - /srv/formulas/apache-formula
267489
267490       3. Restart the Salt Master.
267491
267492   Usage
267493       Each Formula is intended to be immediately usable  with  sane  defaults
267494       without  any  additional  configuration. Many formulas are also config‐
267495       urable by including data in Pillar; see the pillar.example file in each
267496       Formula repository for available options.
267497
267498   Including a Formula in an existing State tree
267499       Formula  may  be included in an existing sls file. This is often useful
267500       when a state you are writing needs to require or extend a state defined
267501       in the formula.
267502
267503       Here  is  an example of a state that uses the epel-formula in a require
267504       declaration which directs Salt to  not  install  the  python26  package
267505       until after the EPEL repository has also been installed:
267506
267507          include:
267508            - epel
267509
267510          python26:
267511            pkg.installed:
267512              - require:
267513                - pkg: epel
267514
267515   Including a Formula from a Top File
267516       Some  Formula  perform completely standalone installations that are not
267517       referenced from other state files. It is usually  cleanest  to  include
267518       these Formula directly from a Top File.
267519
267520       For example the easiest way to set up an OpenStack deployment on a sin‐
267521       gle machine is to  include  the  openstack-standalone-formula  directly
267522       from a top.sls file:
267523
267524          base:
267525            'myopenstackmaster':
267526              - openstack
267527
267528       Quickly  deploying  OpenStack  across  several dedicated machines could
267529       also be done directly from a Top File and may look something like this:
267530
267531          base:
267532            'controller':
267533              - openstack.horizon
267534              - openstack.keystone
267535            'hyper-*':
267536              - openstack.nova
267537              - openstack.glance
267538            'storage-*':
267539              - openstack.swift
267540
267541   Configuring Formula using Pillar
267542       Salt Formulas are designed to work out of the box  with  no  additional
267543       configuration.  However,  many Formula support additional configuration
267544       and customization through Pillar. Examples of available options can  be
267545       found in a file named pillar.example in the root directory of each For‐
267546       mula repository.
267547
267548   Using Formula with your own states
267549       Remember that Formula are regular Salt States and can be used with  all
267550       Salt's  normal  state  mechanisms.  Formula  can be required from other
267551       States with requisites-require declarations, they can be modified using
267552       extend, they can made to watch other states with requisites-watch-in.
267553
267554       The  following example uses the stock apache-formula alongside a custom
267555       state to create a vhost on a Debian/Ubuntu system  and  to  reload  the
267556       Apache service whenever the vhost is changed.
267557
267558          # Include the stock, upstream apache formula.
267559          include:
267560            - apache
267561
267562          # Use the watch_in requisite to cause the apache service state to reload
267563          # apache whenever the my-example-com-vhost state changes.
267564          my-example-com-vhost:
267565            file:
267566              - managed
267567              - name: /etc/apache2/sites-available/my-example-com
267568              - watch_in:
267569                - service: apache
267570
267571       Don't be shy to read through the source for each Formula!
267572
267573   Reporting problems & making additions
267574       Each Formula is a separate repository on GitHub. If you encounter a bug
267575       with a Formula please file an issue in the respective repository!  Send
267576       fixes  and  additions  as  a  pull  request. Add tips and tricks to the
267577       repository wiki.
267578
267579   Writing Formulas
267580       Each Formula is a separate repository in the saltstack-formulas organi‐
267581       zation on GitHub.
267582
267583   Get involved creating new Formulas
267584       The  best way to create new Formula repositories for now is to create a
267585       repository in your  own  account  on  GitHub  and  notify  a  SaltStack
267586       employee  when it is ready. We will add you to the Contributors team on
267587       the saltstack-formulas organization and help you transfer  the  reposi‐
267588       tory  over.  Ping a SaltStack employee on IRC (#salt on Freenode), join
267589       the #formulas channel on  the  salt-slack  or  send  an  email  to  the
267590       salt-users mailing list.
267591
267592       There  are a lot of repositories in that organization! Team members can
267593       manage which repositories they are subscribed to on  GitHub's  watching
267594       page: https://github.com/watching.
267595
267596       Members  of the Contributors team are welcome to participate in review‐
267597       ing pull requests across the Organization. Some repositories will  have
267598       regular  contributors  and  some  repositories  will  not.  As  you get
267599       involved in a repository be sure to communicate with any other contrib‐
267600       utors there on pull requests that are large or have breaking changes.
267601
267602       In  general it is best to have another Contributor review and merge any
267603       pull requests that you open. Feel free to at-mention other regular con‐
267604       tributors  to  a  repository and request a review. However, there are a
267605       lot of formula repositories so if a repository does not yet have  regu‐
267606       lar  contributors or if your pull request has stayed open for more than
267607       a couple days feel free to "selfie-merge" your own pull request.
267608
267609   Style
267610       Maintainability, readability, and reusability are all marks of  a  good
267611       Salt sls file. This section contains several suggestions and examples.
267612
267613          # Deploy the stable master branch unless version overridden by passing
267614          # Pillar at the CLI or via the Reactor.
267615
267616          deploy_myapp:
267617            git.latest:
267618              - name: git@github.com/myco/myapp.git
267619              - version: {{ salt.pillar.get('myapp:version', 'master') }}
267620
267621   Use a descriptive State ID
267622       The ID of a state is used as a unique identifier that may be referenced
267623       via other states in requisites. It must  be  unique  across  the  whole
267624       state tree (it is a key in a dictionary, after all).
267625
267626       In  addition a state ID should be descriptive and serve as a high-level
267627       hint  of  what  it  will  do,  or  manage,  or  change.  For   example,
267628       deploy_webapp, or apache, or reload_firewall.
267629
267630   Use module.function notation
267631       So-called  "short-declaration"  notation  is  preferred for referencing
267632       state modules and state functions. It provides a consistent pattern  of
267633       module.function shared between Salt States, the Reactor, Salt Mine, the
267634       Scheduler, as well as with the CLI.
267635
267636          # Do
267637          apache:
267638            pkg.installed:
267639              - name: httpd
267640
267641          # Don't
267642          apache:
267643            pkg:
267644              - installed
267645              - name: httpd
267646
267647       Salt's state compiler will transform "short-decs" into the longer  for‐
267648       mat  when  compiling  the  human-friendly  highstate structure into the
267649       machine-friendly lowstate structure.
267650
267651   Specify the name parameter
267652       Use a unique and permanent identifier for the state ID and reserve name
267653       for data with variability.
267654
267655       The  name  declaration is a required parameter for all state functions.
267656       The state ID will implicitly be used as name if it  is  not  explicitly
267657       set in the state.
267658
267659       In many state functions the name parameter is used for data that varies
267660       such as OS-specific  package  names,  OS-specific  file  system  paths,
267661       repository  addresses, etc. Any time the ID of a state changes all ref‐
267662       erences to that ID must also be changed. Use a permanent ID when  writ‐
267663       ing  a  state  the  first time to future-proof that state and allow for
267664       easier refactors down the road.
267665
267666   Comment state files
267667       YAML allows comments at varying indentation levels. It is a good  prac‐
267668       tice  to comment state files. Use vertical whitespace to visually sepa‐
267669       rate different concepts or actions.
267670
267671          # Start with a high-level description of the current sls file.
267672          # Explain the scope of what it will do or manage.
267673
267674          # Comment individual states as necessary.
267675          update_a_config_file:
267676            # Provide details on why an unusual choice was made. For example:
267677            #
267678            # This template is fetched from a third-party and does not fit our
267679            # company norm of using Jinja. This must be processed using Mako.
267680            file.managed:
267681              - name: /path/to/file.cfg
267682              - source: salt://path/to/file.cfg.template
267683              - template: mako
267684
267685            # Provide a description or explanation that did not fit within the state
267686            # ID. For example:
267687            #
267688            # Update the application's last-deployed timestamp.
267689            # This is a workaround until Bob configures Jenkins to automate RPM
267690            # builds of the app.
267691            cmd.run:
267692              # FIXME: Joe needs this to run on Windows by next quarter. Switch these
267693              # from shell commands to Salt's file.managed and file.replace state
267694              # modules.
267695              - name: |
267696                  touch /path/to/file_last_updated
267697                  sed -e 's/foo/bar/g' /path/to/file_environment
267698              - onchanges:
267699                - file: a_config_file
267700
267701       Be careful to use Jinja comments for commenting  Jinja  code  and  YAML
267702       comments for commenting YAML code.
267703
267704          # BAD EXAMPLE
267705          # The Jinja in this YAML comment is still executed!
267706          # {% set apache_is_installed = 'apache' in salt.pkg.list_pkgs() %}
267707
267708          # GOOD EXAMPLE
267709          # The Jinja in this Jinja comment will not be executed.
267710          {# {% set apache_is_installed = 'apache' in salt.pkg.list_pkgs() %} #}
267711
267712   Easy on the Jinja!
267713       Jinja templating provides vast flexibility and power when building Salt
267714       sls files. It can also create an unmaintainable  tangle  of  logic  and
267715       data.  Speaking  broadly,  Jinja  is best used when kept apart from the
267716       states (as much as is possible).
267717
267718       Below are guidelines and examples of how Jinja can be used effectively.
267719
267720   Know the evaluation and execution order
267721       High-level knowledge of how Salt states are compiled and run is  useful
267722       when writing states.
267723
267724       The default renderer setting in Salt is Jinja piped to YAML.  Each is a
267725       separate step. Each step is not aware  of  the  previous  or  following
267726       step.  Jinja  is  not  YAML aware, YAML is not Jinja aware; they cannot
267727       share variables or interact.
267728
267729       · Whatever the Jinja step produces must be valid YAML.
267730
267731       · Whatever the YAML step produces must be a valid highstate data struc‐
267732         ture.  (This  is also true of the final step for any of the alternate
267733         renderers in Salt.)
267734
267735       · Highstate can be thought of as a human-friendly data structure;  easy
267736         to write and easy to read.
267737
267738       · Salt's  state compiler validates the highstate and compiles it to low
267739         state.
267740
267741       · Low state can be thought of as a machine-friendly data structure.  It
267742         is a list of dictionaries that each map directly to a function call.
267743
267744       · Salt's  state  system  finally starts and executes on each "chunk" in
267745         the low state. Remember that requisites are evaluated at runtime.
267746
267747       · The return for each function call is added to the  "running"  dictio‐
267748         nary which is the final output at the end of the state run.
267749
267750       The full evaluation and execution order:
267751
267752          Jinja -> YAML -> Highstate -> low state -> execution
267753
267754   Avoid changing the underlying system with Jinja
267755       Avoid  calling  commands  from Jinja that change the underlying system.
267756       Commands run via Jinja do not respect Salt's dry-run mode  (test=True)!
267757       This  is  usually in conflict with the idempotent nature of Salt states
267758       unless the command being run is also idempotent.
267759
267760   Inspect the local system
267761       A common use for Jinja in Salt states is to  gather  information  about
267762       the  underlying  system.  The  grains dictionary available in the Jinja
267763       context is a great example of common data points that Salt  itself  has
267764       already  gathered.   Less common values are often found by running com‐
267765       mands. For example:
267766
267767          {% set is_selinux_enabled = salt.cmd.run('sestatus') == '1' %}
267768
267769       This is usually best done with a variable assignment in order to  sepa‐
267770       rate the data from the state that will make use of the data.
267771
267772   Gather external data
267773       One of the most common uses for Jinja is to pull external data into the
267774       state file. External data can come from  anywhere  like  API  calls  or
267775       database  queries,  but  it  most commonly comes from flat files on the
267776       file system or Pillar data from the Salt Master. For example:
267777
267778          {% set some_data = salt.pillar.get('some_data', {'sane default': True}) %}
267779
267780          {# or #}
267781
267782          {% import_yaml 'path/to/file.yaml' as some_data %}
267783
267784          {# or #}
267785
267786          {% import_json 'path/to/file.json' as some_data %}
267787
267788          {# or #}
267789
267790          {% import_text 'path/to/ssh_key.pub' as ssh_pub_key %}
267791
267792          {# or #}
267793
267794          {% from 'path/to/other_file.jinja' import some_data with context %}
267795
267796       This is usually best done with a variable assignment in order to  sepa‐
267797       rate the data from the state that will make use of the data.
267798
267799   Light conditionals and looping
267800       Jinja  is  extremely  powerful  for  programmatically  generating  Salt
267801       states. It is also easy to overuse. As a rule of thumb, if it  is  hard
267802       to read it will be hard to maintain!
267803
267804       Separate  Jinja  control-flow  statements from the states as much as is
267805       possible to create readable states. Limit Jinja within states to simple
267806       variable lookups.
267807
267808       Below is a simple example of a readable loop:
267809
267810          {% for user in salt.pillar.get('list_of_users', []) %}
267811
267812          {# Ensure unique state IDs when looping. #}
267813          {{ user.name }}-{{ loop.index }}:
267814            user.present:
267815              - name: {{ user.name }}
267816              - shell: {{ user.shell }}
267817
267818          {% endfor %}
267819
267820       Avoid  putting  a Jinja conditionals within Salt states where possible.
267821       Readability suffers and the correct YAML indentation  is  difficult  to
267822       see  in the surrounding visual noise. Parametrization (discussed below)
267823       and variables are both useful techniques to avoid this. For example:
267824
267825          {# ---- Bad example ---- #}
267826
267827          apache:
267828            pkg.installed:
267829              {% if grains.os_family == 'RedHat' %}
267830              - name: httpd
267831              {% elif grains.os_family == 'Debian' %}
267832              - name: apache2
267833              {% endif %}
267834
267835          {# ---- Better example ---- #}
267836
267837          {% if grains.os_family == 'RedHat' %}
267838          {% set name = 'httpd' %}
267839          {% elif grains.os_family == 'Debian' %}
267840          {% set name = 'apache2' %}
267841          {% endif %}
267842
267843           apache:
267844            pkg.installed:
267845              - name: {{ name }}
267846
267847          {# ---- Good example ---- #}
267848
267849          {% set name = {
267850              'RedHat': 'httpd',
267851              'Debian': 'apache2',
267852          }.get(grains.os_family) %}
267853
267854           apache:
267855            pkg.installed:
267856              - name: {{ name }}
267857
267858       Dictionaries are useful to  effectively  "namespace"  a  collection  of
267859       variables.  This is useful with parametrization (discussed below). Dic‐
267860       tionaries are also easily combined and merged. And they can be directly
267861       serialized  into YAML which is often easier than trying to create valid
267862       YAML through templating. For example:
267863
267864          {# ---- Bad example ---- #}
267865
267866          haproxy_conf:
267867            file.managed:
267868              - name: /etc/haproxy/haproxy.cfg
267869              - template: jinja
267870              {% if 'external_loadbalancer' in grains.roles %}
267871              - source: salt://haproxy/external_haproxy.cfg
267872              {% elif 'internal_loadbalancer' in grains.roles %}
267873              - source: salt://haproxy/internal_haproxy.cfg
267874              {% endif %}
267875              - context:
267876                  {% if 'external_loadbalancer' in grains.roles %}
267877                  ssl_termination: True
267878                  {% elif 'internal_loadbalancer' in grains.roles %}
267879                  ssl_termination: False
267880                  {% endif %}
267881
267882          {# ---- Better example ---- #}
267883
267884          {% load_yaml as haproxy_defaults %}
267885          common_settings:
267886            bind_port: 80
267887
267888          internal_loadbalancer:
267889            source: salt://haproxy/internal_haproxy.cfg
267890            settings:
267891              bind_port: 8080
267892              ssl_termination: False
267893
267894          external_loadbalancer:
267895            source: salt://haproxy/external_haproxy.cfg
267896            settings:
267897              ssl_termination: True
267898          {% endload %}
267899
267900          {% if 'external_loadbalancer' in grains.roles %}
267901          {% set haproxy = haproxy_defaults['external_loadbalancer'] %}
267902          {% elif 'internal_loadbalancer' in grains.roles %}
267903          {% set haproxy = haproxy_defaults['internal_loadbalancer'] %}
267904          {% endif %}
267905
267906          {% do haproxy.settings.update(haproxy_defaults.common_settings) %}
267907
267908          haproxy_conf:
267909            file.managed:
267910              - name: /etc/haproxy/haproxy.cfg
267911              - template: jinja
267912              - source: {{ haproxy.source }}
267913              - context: {{ haproxy.settings | yaml() }}
267914
267915       There is still room for improvement in the above example. For  example,
267916       extracting  into  an external file or replacing the if-elif conditional
267917       with a function call to filter the correct data more  succinctly.  How‐
267918       ever,  the state itself is simple and legible, the data is separate and
267919       also simple and legible.  And those suggested improvements can be  made
267920       at some future date without altering the state at all!
267921
267922   Avoid heavy logic and programming
267923       Jinja  is not Python. It was made by Python programmers and shares many
267924       semantics and some syntax but it does not  allow  for  abitrary  Python
267925       function  calls  or  Python imports. Jinja is a fast and efficient tem‐
267926       plating language but the syntax can be verbose and visually noisy.
267927
267928       Once Jinja use within an sls file becomes slightly complicated --  long
267929       chains  of  if-elif-elif-else  statements, nested conditionals, compli‐
267930       cated dictionary merges, wanting to use sets -- instead consider  using
267931       a  different  Salt  renderer, such as the Python renderer. As a rule of
267932       thumb, if it is hard to read it will be hard to maintain -- switch to a
267933       format that is easier to read.
267934
267935       Using  alternate renderers is very simple to do using Salt's "she-bang"
267936       syntax at the top of the file. The Python renderer must  simply  return
267937       the  correct highstate data structure. The following example is a state
267938       tree of two sls files, one simple and one complicated.
267939
267940       /srv/salt/top.sls:
267941
267942          base:
267943            '*':
267944              - common_configuration
267945              - roles_configuration
267946
267947       /srv/salt/common_configuration.sls:
267948
267949          common_users:
267950            user.present:
267951              - names:
267952                - larry
267953                - curly
267954                - moe
267955
267956       /srv/salt/roles_configuration:
267957
267958          #!py
267959          def run():
267960              list_of_roles = set()
267961
267962              # This example has the minion id in the form 'web-03-dev'.
267963              # Easily access the grains dictionary:
267964              try:
267965                  app, instance_number, environment = __grains__['id'].split('-')
267966                  instance_number = int(instance_number)
267967              except ValueError:
267968                  app, instance_number, environment = ['Unknown', 0, 'dev']
267969
267970              list_of_roles.add(app)
267971
267972              if app == 'web' and environment == 'dev':
267973                  list_of_roles.add('primary')
267974                  list_of_roles.add('secondary')
267975              elif app == 'web' and environment == 'staging':
267976                  if instance_number == 0:
267977                      list_of_roles.add('primary')
267978                  else:
267979                      list_of_roles.add('secondary')
267980
267981              # Easily cross-call Salt execution modules:
267982              if __salt__['myutils.query_valid_ec2_instance']():
267983                  list_of_roles.add('is_ec2_instance')
267984
267985              return {
267986                  'set_roles_grains': {
267987                      'grains.present': [
267988                          {'name': 'roles'},
267989                          {'value': list(list_of_roles)},
267990                      ],
267991                  },
267992              }
267993
267994   Jinja Macros
267995       In Salt sls files Jinja macros are useful for one thing and  one  thing
267996       only:  creating  mini  templates  that  can  be  reused and rendered on
267997       demand. Do not fall into the trap of thinking of macros  as  functions;
267998       Jinja is not Python (see above).
267999
268000       Macros  are  useful  for  creating  reusable, parameterized states. For
268001       example:
268002
268003          {% macro user_state(state_id, user_name, shell='/bin/bash', groups=[]) %}
268004          {{ state_id }}:
268005            user.present:
268006              - name: {{ user_name }}
268007              - shell: {{ shell }}
268008              - groups: {{ groups | json() }}
268009          {% endmacro %}
268010
268011          {% for user_info in salt.pillar.get('my_users', []) %}
268012          {{ user_state('user_number_' ~ loop.index, **user_info) }}
268013          {% endfor %}
268014
268015       Macros are also useful for  creating  one-off  "serializers"  that  can
268016       accept a data structure and write that out as a domain-specific config‐
268017       uration file. For example, the following macro could be used to write a
268018       php.ini config file:
268019
268020       /srv/salt/php.sls:
268021
268022          php_ini:
268023            file.managed:
268024              - name: /etc/php.ini
268025              - source: salt://php.ini.tmpl
268026              - template: jinja
268027              - context:
268028                  php_ini_settings: {{ salt.pillar.get('php_ini', {}) | json() }}
268029
268030       /srv/pillar/php.sls:
268031
268032          php_ini:
268033            PHP:
268034              engine: 'On'
268035              short_open_tag: 'Off'
268036              error_reporting: 'E_ALL & ~E_DEPRECATED & ~E_STRICT'
268037
268038       /srv/salt/php.ini.tmpl:
268039
268040          {% macro php_ini_serializer(data) %}
268041          {% for section_name, name_val_pairs in data.items() %}
268042          [{{ section_name }}]
268043          {% for name, val in name_val_pairs.items() -%}
268044          {{ name }} = "{{ val }}"
268045          {% endfor %}
268046          {% endfor %}
268047          {% endmacro %}
268048
268049          ; File managed by Salt at <{{ source }}>.
268050          ; Your changes will be overwritten.
268051
268052          {{ php_ini_serializer(php_ini_settings) }}
268053
268054   Abstracting static defaults into a lookup table
268055       Separate  data that a state uses from the state itself to increases the
268056       flexibility and reusability of a state.
268057
268058       An obvious and common example  of  this  is  platform-specific  package
268059       names  and  file  system paths. Another example is sane defaults for an
268060       application, or common settings within a company or organization. Orga‐
268061       nizing  such data as a dictionary (aka hash map, lookup table, associa‐
268062       tive array) often provides a lightweight  namespacing  and  allows  for
268063       quick and easy lookups. In addition, using a dictionary allows for eas‐
268064       ily merging and overriding static values within  a  lookup  table  with
268065       dynamic values fetched from Pillar.
268066
268067       A  strong  convention  in  Salt  Formulas is to place platform-specific
268068       data, such as package names and file system paths, into  a  file  named
268069       map.jinja that is placed alongside the state files.
268070
268071       The  following  is  an example from the MySQL Formula.  The grains.fil‐
268072       ter_by function performs a lookup on that  table  using  the  os_family
268073       grain (by default).
268074
268075       The  result  is  that the mysql variable is assigned to a subset of the
268076       lookup table for the current platform. This allows states to reference,
268077       for  example, the name of a package without worrying about the underly‐
268078       ing OS. The syntax for referencing  a  value  is  a  normal  dictionary
268079       lookup  in  Jinja,  such  as {{ mysql['service'] }} or the shorthand {{
268080       mysql.service }}.
268081
268082       map.jinja:
268083
268084          {% set mysql = salt['grains.filter_by']({
268085              'Debian': {
268086                  'server': 'mysql-server',
268087                  'client': 'mysql-client',
268088                  'service': 'mysql',
268089                  'config': '/etc/mysql/my.cnf',
268090                  'python': 'python-mysqldb',
268091              },
268092              'RedHat': {
268093                  'server': 'mysql-server',
268094                  'client': 'mysql',
268095                  'service': 'mysqld',
268096                  'config': '/etc/my.cnf',
268097                  'python': 'MySQL-python',
268098              },
268099              'Gentoo': {
268100                  'server': 'dev-db/mysql',
268101                  'client': 'dev-db/mysql',
268102                  'service': 'mysql',
268103                  'config': '/etc/mysql/my.cnf',
268104                  'python': 'dev-python/mysql-python',
268105              },
268106          }, merge=salt['pillar.get']('mysql:lookup')) %}
268107
268108       Values defined in the map file can be fetched for the current  platform
268109       in any state file using the following syntax:
268110
268111          {% from "mysql/map.jinja" import mysql with context %}
268112
268113          mysql-server:
268114            pkg.installed:
268115              - name: {{ mysql.server }}
268116            service.running:
268117              - name: {{ mysql.service }}
268118
268119   Organizing Pillar data
268120       It  is  considered  a  best  practice  to make formulas expect all for‐
268121       mula-related parameters to be placed  under  second-level  lookup  key,
268122       within a main namespace designated for holding data for particular ser‐
268123       vice/software/etc, managed by the formula:
268124
268125          mysql:
268126            lookup:
268127              version: 5.7.11
268128
268129   Collecting common values
268130       Common values can be collected into a base dictionary.  This  minimizes
268131       repetition  of  identical values in each of the lookup_dict sub-dictio‐
268132       naries.  Now only the values that are different from the base  must  be
268133       specified by the alternates:
268134
268135       map.jinja:
268136
268137          {% set mysql = salt['grains.filter_by']({
268138              'default': {
268139                  'server': 'mysql-server',
268140                  'client': 'mysql-client',
268141                  'service': 'mysql',
268142                  'config': '/etc/mysql/my.cnf',
268143                  'python': 'python-mysqldb',
268144              },
268145              'Debian': {
268146              },
268147              'RedHat': {
268148                  'client': 'mysql',
268149                  'service': 'mysqld',
268150                  'config': '/etc/my.cnf',
268151                  'python': 'MySQL-python',
268152              },
268153              'Gentoo': {
268154                  'server': 'dev-db/mysql',
268155                  'client': 'dev-db/mysql',
268156                  'python': 'dev-python/mysql-python',
268157              },
268158          },
268159          merge=salt['pillar.get']('mysql:lookup'), base='default') %}
268160
268161   Overriding values in the lookup table
268162       Allow  static  values  within lookup tables to be overridden. This is a
268163       simple pattern which once again increases flexibility  and  reusability
268164       for state files.
268165
268166       The  merge argument in filter_by specifies the location of a dictionary
268167       in Pillar that can be used to override values returned from the  lookup
268168       table. If the value exists in Pillar it will take precedence.
268169
268170       This  is  useful  when  software or configuration files is installed to
268171       non-standard locations or on unsupported platforms.  For  example,  the
268172       following Pillar would replace the config value from the call above.
268173
268174          mysql:
268175            lookup:
268176              config: /usr/local/etc/mysql/my.cnf
268177
268178       NOTE:
268179          Protecting Expansion of Content with Special Characters
268180
268181          When  templating keep in mind that YAML does have special characters
268182          for quoting, flows, and other special structure and content.  When a
268183          Jinja  substitution  may have special characters that will be incor‐
268184          rectly parsed by YAML care must be taken.  It is a  good  policy  to
268185          use the yaml_encode or the yaml_dquote Jinja filters:
268186
268187              {%- set foo = 7.7 %}
268188              {%- set bar = none %}
268189              {%- set baz = true %}
268190              {%- set zap = 'The word of the day is "salty".' %}
268191              {%- set zip = '"The quick brown fox . . ."' %}
268192
268193              foo: {{ foo|yaml_encode }}
268194              bar: {{ bar|yaml_encode }}
268195              baz: {{ baz|yaml_encode }}
268196              zap: {{ zap|yaml_encode }}
268197              zip: {{ zip|yaml_dquote }}
268198
268199          The above will be rendered as below:
268200
268201              foo: 7.7
268202              bar: null
268203              baz: true
268204              zap: "The word of the day is \"salty\"."
268205              zip: "\"The quick brown fox . . .\""
268206
268207       The  filter_by  function  performs  a simple dictionary lookup but also
268208       allows for fetching data from Pillar and overriding data stored in  the
268209       lookup  table. That same workflow can be easily performed without using
268210       filter_by; other dictionaries besides data  from  Pillar  can  also  be
268211       used.
268212
268213          {% set lookup_table = {...} %}
268214          {% do lookup_table.update(salt.pillar.get('my:custom:data')) %}
268215
268216   When to use lookup tables
268217       The  map.jinja  file  is  only  a convention within Salt Formulas. This
268218       greater pattern is useful for a wide variety of data in a wide  variety
268219       of  workflows.  This pattern is not limited to pulling data from a sin‐
268220       gle file or data source.  This pattern is useful in States, Pillar  and
268221       the Reactor, for example.
268222
268223       Working with a data structure instead of, say, a config file allows the
268224       data to be cobbled together from multiple sources (local files,  remote
268225       Pillar, database queries, etc), combined, overridden, and searched.
268226
268227       Below  are  a  few examples of what lookup tables may be useful for and
268228       how they may be used and represented.
268229
268230   Platform-specific information
268231       An obvious pattern and one used heavily in Salt Formulas is  extracting
268232       platform-specific  information  such  as  package names and file system
268233       paths in a file named map.jinja. The pattern  is  explained  in  detail
268234       above.
268235
268236   Sane defaults
268237       Application  settings can be a good fit for this pattern. Store default
268238       settings along with the states themselves and keep overrides and sensi‐
268239       tive settings in Pillar. Combine both into a single dictionary and then
268240       write the application config or settings file.
268241
268242       The example below stores most of  the  Apache  Tomcat  server.xml  file
268243       alongside  the  Tomcat  states  and then allows values to be updated or
268244       augmented via Pillar. (This example  uses  the  BadgerFish  format  for
268245       transforming JSON to XML.)
268246
268247       /srv/salt/tomcat/defaults.yaml:
268248
268249          Server:
268250            '@port': '8005'
268251            '@shutdown': SHUTDOWN
268252            GlobalNamingResources:
268253              Resource:
268254                '@auth': Container
268255                '@description': User database that can be updated and saved
268256                '@factory': org.apache.catalina.users.MemoryUserDatabaseFactory
268257                '@name': UserDatabase
268258                '@pathname': conf/tomcat-users.xml
268259                '@type': org.apache.catalina.UserDatabase
268260            # <...snip...>
268261
268262       /srv/pillar/tomcat.sls:
268263
268264          appX:
268265            server_xml_overrides:
268266              Server:
268267                Service:
268268                  '@name': Catalina
268269                  Connector:
268270                    '@port': '8009'
268271                    '@protocol': AJP/1.3
268272                    '@redirectPort': '8443'
268273                    # <...snip...>
268274
268275       /srv/salt/tomcat/server_xml.sls:
268276
268277          {% import_yaml 'tomcat/defaults.yaml' as server_xml_defaults %}
268278          {% set server_xml_final_values = salt.pillar.get(
268279              'appX:server_xml_overrides',
268280              default=server_xml_defaults,
268281              merge=True)
268282          %}
268283
268284          appX_server_xml:
268285            file.serialize:
268286              - name: /etc/tomcat/server.xml
268287              - dataset: {{ server_xml_final_values | json() }}
268288              - formatter: xml_badgerfish
268289
268290       The  file.serialize  state  can  provide  a shorthand for creating some
268291       files from data structures. There are also many  examples  within  Salt
268292       Formulas of creating one-off "serializers" (often as Jinja macros) that
268293       reformat a data structure to a specific config file format.  For  exam‐
268294       ple, look at the`Nginx vhosts`_ states or the php.ini file template.
268295
268296   Environment specific information
268297       A  single  state can be reused when it is parameterized as described in
268298       the section below, by separating the data the state will use  from  the
268299       state  that  performs  the  work.  This  can  be the difference between
268300       deploying Application X and Application Y, or  the  difference  between
268301       production and development. For example:
268302
268303       /srv/salt/app/deploy.sls:
268304
268305          {# Load the map file. #}
268306          {% import_yaml 'app/defaults.yaml' as app_defaults %}
268307
268308          {# Extract the relevant subset for the app configured on the current
268309             machine (configured via a grain in this example). #}
268310          {% app = app_defaults.get(salt.grains.get('role')) %}
268311
268312          {# Allow values from Pillar to (optionally) update values from the lookup
268313             table. #}
268314          {% do app_defaults.update(salt.pillar.get('myapp', {})) %}
268315
268316          deploy_application:
268317            git.latest:
268318              - name: {{ app.repo_url }}
268319              - version: {{ app.version }}
268320              - target: {{ app.deploy_dir }}
268321
268322          myco/myapp/deployed:
268323            event.send:
268324              - data:
268325                  version: {{ app.version }}
268326              - onchanges:
268327                - git: deploy_application
268328
268329       /srv/salt/app/defaults.yaml:
268330
268331          appX:
268332            repo_url: git@github.com/myco/appX.git
268333            target: /var/www/appX
268334            version: master
268335          appY:
268336            repo_url: git@github.com/myco/appY.git
268337            target: /var/www/appY
268338            version: v1.2.3.4
268339
268340   Single-purpose SLS files
268341       Each  sls  file  in  a Formula should strive to do a single thing. This
268342       increases the reusability of this file by keeping unrelated tasks  from
268343       getting coupled together.
268344
268345       As  an  example, the base Apache formula should only install the Apache
268346       httpd server and start the httpd service. This is the  basic,  expected
268347       behavior  when  installing  Apache.  It  should  not perform additional
268348       changes such as set the Apache configuration file or create vhosts.
268349
268350       If a formula is single-purpose as in the example above, other formulas,
268351       and  also other states can include and use that formula with requisites
268352       without also including undesirable or unintended side-effects.
268353
268354       The following is a best-practice example for a reusable Apache formula.
268355       (This  skips  platform-specific  options  for  brevity.  See  the  full
268356       apache-formula for more.)
268357
268358          # apache/init.sls
268359          apache:
268360            pkg.installed:
268361              [...]
268362            service.running:
268363              [...]
268364
268365          # apache/mod_wsgi.sls
268366          include:
268367            - apache
268368
268369          mod_wsgi:
268370            pkg.installed:
268371              [...]
268372              - require:
268373                - pkg: apache
268374
268375          # apache/conf.sls
268376          include:
268377            - apache
268378
268379          apache_conf:
268380            file.managed:
268381              [...]
268382              - watch_in:
268383                - service: apache
268384
268385       To illustrate a bad example, say the  above  Apache  formula  installed
268386       Apache  and  also created a default vhost. The mod_wsgi state would not
268387       be able to include the Apache formula to create  that  dependency  tree
268388       without also installing the unneeded default vhost.
268389
268390       Formulas should be reusable. Avoid coupling unrelated actions together.
268391
268392   Parameterization
268393       Parameterization  is  a  key feature of Salt Formulas and also for Salt
268394       States. Parameterization allows a single Formula to  be  reused  across
268395       many operating systems; to be reused across production, development, or
268396       staging environments; and to be reused by many people all with  varying
268397       goals.
268398
268399       Writing  states,  specifying ordering and dependencies is the part that
268400       takes the longest to write and to test. Filling those states  out  with
268401       data such as users or package names or file locations is the easy part.
268402       How many users, what those users are named, or where the files live are
268403       all  implementation  details that should be parameterized. This separa‐
268404       tion between a state and the data that populates a state creates a  re‐
268405       usable formula.
268406
268407       In  the  example  below the data that populates the state can come from
268408       anywhere -- it can be hard-coded at the top of the state, it  can  come
268409       from  an  external  file,  it can come from Pillar, it can come from an
268410       execution function call, or it can come  from  a  database  query.  The
268411       state  itself  doesn't  change regardless of where the data comes from.
268412       Production data will vary from development data  will  vary  from  data
268413       from one company to another, however the state itself stays the same.
268414
268415          {% set user_list = [
268416              {'name': 'larry', 'shell': 'bash'},
268417              {'name': 'curly', 'shell': 'bash'},
268418              {'name': 'moe', 'shell': 'zsh'},
268419          ] %}
268420
268421          {# or #}
268422
268423          {% set user_list = salt['pillar.get']('user_list') %}
268424
268425          {# or #}
268426
268427          {% load_json "default_users.json" as user_list %}
268428
268429          {# or #}
268430
268431          {% set user_list = salt['acme_utils.get_user_list']() %}
268432
268433          {% for user in list_list %}
268434          {{ user.name }}:
268435            user.present:
268436              - name: {{ user.name }}
268437              - shell: {{ user.shell }}
268438          {% endfor %}
268439
268440   Configuration
268441       Formulas  should strive to use the defaults of the underlying platform,
268442       followed by defaults  from  the  upstream  project,  followed  by  sane
268443       defaults for the formula itself.
268444
268445       As  an  example,  a  formula  to  install  Apache should not change the
268446       default Apache configuration file installed by the OS package. However,
268447       the  Apache  formula  should  include a state to change or override the
268448       default configuration file.
268449
268450   Pillar overrides
268451       Pillar lookups must use the safe  get()  and  must  provide  a  default
268452       value. Create local variables using the Jinja set construct to increase
268453       readability and to avoid potentially hundreds or thousands of  function
268454       calls across a large state tree.
268455
268456          {% from "apache/map.jinja" import apache with context %}
268457          {% set settings = salt['pillar.get']('apache', {}) %}
268458
268459          mod_status:
268460            file.managed:
268461              - name: {{ apache.conf_dir }}
268462              - source: {{ settings.get('mod_status_conf', 'salt://apache/mod_status.conf') }}
268463              - template: {{ settings.get('template_engine', 'jinja') }}
268464
268465       Any  default  values used in the Formula must also be documented in the
268466       pillar.example file in the root of the repository. Comments  should  be
268467       used  liberally  to  explain the intent of each configuration value. In
268468       addition, users should be able copy-and-paste the contents of this file
268469       into their own Pillar to make any desired changes.
268470
268471   Scripting
268472       Remember  that both State files and Pillar files can easily call out to
268473       Salt execution modules and have access to  all  the  system  grains  as
268474       well.
268475
268476          {% if '/storage' in salt['mount.active']() %}
268477          /usr/local/etc/myfile.conf:
268478            file:
268479              - symlink
268480              - target: /storage/myfile.conf
268481          {% endif %}
268482
268483       Jinja  macros  to  encapsulate logic or conditionals are discouraged in
268484       favor of writing custom execution modules in Python.
268485
268486   Repository structure
268487       A basic Formula repository should have the following layout:
268488
268489          foo-formula
268490          |-- foo/
268491          |   |-- map.jinja
268492          |   |-- init.sls
268493          |   `-- bar.sls
268494          |-- CHANGELOG.rst
268495          |-- LICENSE
268496          |-- pillar.example
268497          |-- README.rst
268498          `-- VERSION
268499
268500       SEE ALSO:
268501          template-formula
268502
268503          The template-formula repository has a pre-built layout  that  serves
268504          as  the  basic structure for a new formula repository. Just copy the
268505          files from there and edit them.
268506
268507   README.rst
268508       The README should detail each available .sls file by explaining what it
268509       does, whether it has any dependencies on other formulas, whether it has
268510       a target platform, and any other installation or usage instructions  or
268511       tips.
268512
268513       A sample skeleton for the README.rst file:
268514
268515          ===
268516          foo
268517          ===
268518
268519          Install and configure the FOO service.
268520
268521          **NOTE**
268522
268523          See the full `Salt Formulas installation and usage instructions
268524          <https://docs.saltstack.com/en/latest/topics/development/conventions/formulas.html>`_.
268525
268526          Available states
268527          ================
268528
268529          .. contents::
268530              :local:
268531
268532          ``foo``
268533          -------
268534
268535          Install the ``foo`` package and enable the service.
268536
268537          ``foo.bar``
268538          -----------
268539
268540          Install the ``bar`` package.
268541
268542   CHANGELOG.rst
268543       The  CHANGELOG.rst  file  should  detail the individual versions, their
268544       release date and a set of bullet points for each  version  highlighting
268545       the overall changes in a given version of the formula.
268546
268547       A sample skeleton for the CHANGELOG.rst file:
268548
268549       CHANGELOG.rst:
268550
268551          foo formula
268552          ===========
268553
268554          0.0.2 (2013-01-01)
268555
268556          - Re-organized formula file layout
268557          - Fixed filename used for upstart logger template
268558          - Allow for pillar message to have default if none specified
268559
268560   Versioning
268561       Formula    are    versioned    according    to   Semantic   Versioning,
268562       http://semver.org/.
268563
268564       NOTE:
268565          Given a version number MAJOR.MINOR.PATCH, increment the:
268566
268567          1. MAJOR version when you make incompatible API changes,
268568
268569          2. MINOR version when you add functionality in a  backwards-compati‐
268570             ble manner, and
268571
268572          3. PATCH version when you make backwards-compatible bug fixes.
268573
268574          Additional  labels  for pre-release and build metadata are available
268575          as extensions to the MAJOR.MINOR.PATCH format.
268576
268577       Formula versions are tracked using Git tags as well as the VERSION file
268578       in  the  formula  repository.  The VERSION file should contain the cur‐
268579       rently released version of the particular formula.
268580
268581   Testing Formulas
268582       A smoke-test for invalid Jinja, invalid YAML, or an invalid Salt  state
268583       structure can be performed by with the state.show_sls function:
268584
268585          salt '*' state.show_sls apache
268586
268587       Salt  Formulas  can  then  be  tested  by  running  each  .sls file via
268588       state.apply and checking the output for the success or failure of  each
268589       state in the Formula. This should be done for each supported platform.
268590
268591   SaltStack Packaging Guide
268592       Since  Salt provides a powerful toolkit for system management and auto‐
268593       mation, the package can be spit into a number of sub-tools. While pack‐
268594       aging  Salt  as a single package containing all components is perfectly
268595       acceptable, the split packages should follow this convention.
268596
268597   Patching Salt For Distributions
268598       The occasion may arise where Salt source and default configurations may
268599       need to be patched. It is preferable if Salt is only patched to include
268600       platform specific additions or to fix release time bugs. It is  prefer‐
268601       able  that  configuration settings and operations remain in the default
268602       state, as changes here lowers the  user  experience  for  users  moving
268603       across distributions.
268604
268605       In  the  event where a packager finds a need to change the default con‐
268606       figuration it is advised to add the files to the master.d  or  minion.d
268607       directories.
268608
268609   Source Files
268610       Release  packages  should  always be built from the source tarball dis‐
268611       tributed via pypi. Release packages should NEVER use a git checkout  as
268612       the source for distribution.
268613
268614   Single Package
268615       Shipping  Salt  as  a single package, where the minion, master, and all
268616       tools are together is perfectly acceptable and practiced  by  distribu‐
268617       tions such as FreeBSD.
268618
268619   Split Package
268620       Salt  Should always be split in a standard way, with standard dependen‐
268621       cies, this lowers cross distribution confusion  about  what  components
268622       are  going  to be shipped with specific packages. These packages can be
268623       defined from the Salt Source as of Salt 2014.1.0:
268624
268625   Salt Common
268626       The salt-common or salt package should contain the  files  provided  by
268627       the salt python package, or all files distributed from the salt/ direc‐
268628       tory in the source distribution packages. The  documentation  contained
268629       under  the  doc/  directory can be a part of this package but splitting
268630       out a doc package is preferred.  Since salt-call is the entry point  to
268631       utilize  the libs and is useful for all salt packages it is included in
268632       the salt-common package.
268633
268634   Name
268635       · salt OR salt-common
268636
268637   Files
268638       · salt/*
268639
268640       · man/salt.7
268641
268642       · scripts/salt-call
268643
268644       · tests/*
268645
268646       · man/salt-call.1
268647
268648   Depends
268649       · Python 2.6-2.7
268650
268651       · PyYAML
268652
268653       · Jinja2
268654
268655   Salt Master
268656       The salt-master package contains the applicable  scripts,  related  man
268657       pages and init information for the given platform.
268658
268659   Name
268660       · salt-master
268661
268662   Files
268663       · scripts/salt-master
268664
268665       · scripts/salt
268666
268667       · scripts/salt-run
268668
268669       · scripts/salt-key
268670
268671       · scripts/salt-cp
268672
268673       · pkg/<master init data>
268674
268675       · man/salt.1
268676
268677       · man/salt-master.1
268678
268679       · man/salt-run.1
268680
268681       · man/salt-key.1
268682
268683       · man/salt-cp.1
268684
268685       · conf/master
268686
268687   Depends
268688       · Salt Common
268689
268690       · ZeroMQ >= 3.2
268691
268692       · PyZMQ >= 2.10
268693
268694       · PyCrypto
268695
268696       · M2Crypto
268697
268698       · Python MessagePack (Messagepack C lib, or msgpack-pure)
268699
268700   Salt Syndic
268701       The  Salt  Syndic package can be rolled completely into the Salt Master
268702       package.  Platforms which start services as part of the package deploy‐
268703       ment  need to maintain a separate salt-syndic package (primarily Debian
268704       based platforms).
268705
268706       The Syndic may optionally not depend on the anything more than the Salt
268707       Master since the master will bring in all needed dependencies, but fall
268708       back to the platform specific packaging guidelines.
268709
268710   Name
268711       · salt-syndic
268712
268713   Files
268714       · scripts/salt-syndic
268715
268716       · pkg/<syndic init data>
268717
268718       · man/salt-syndic.1
268719
268720   Depends
268721       · Salt Common
268722
268723       · Salt Master
268724
268725       · ZeroMQ >= 3.2
268726
268727       · PyZMQ >= 2.10
268728
268729       · PyCrypto
268730
268731       · M2Crypto
268732
268733       · Python MessagePack (Messagepack C lib, or msgpack-pure)
268734
268735   Salt Minion
268736       The Minion is a standalone package and should not be split  beyond  the
268737       salt-minion and salt-common packages.
268738
268739   Name
268740       · salt-minion
268741
268742   Files
268743       · scripts/salt-minion
268744
268745       · pkg/<minion init data>
268746
268747       · man/salt-minion.1
268748
268749       · conf/minion
268750
268751   Depends
268752       · Salt Common
268753
268754       · ZeroMQ >= 3.2
268755
268756       · PyZMQ >= 2.10
268757
268758       · PyCrypto
268759
268760       · M2Crypto
268761
268762       · Python MessagePack (Messagepack C lib, or msgpack-pure)
268763
268764   Salt SSH
268765       Since Salt SSH does not require the same dependencies as the minion and
268766       master, it should be split out.
268767
268768   Name
268769       · salt-ssh
268770
268771   Files
268772       · scripts/salt-ssh
268773
268774       · man/salt-ssh.1
268775
268776       · conf/cloud*
268777
268778   Depends
268779       · Salt Common
268780
268781       · Python MessagePack (Messagepack C lib, or msgpack-pure)
268782
268783   Salt Cloud
268784       As of Salt 2014.1.0 Salt Cloud is included in the same  repo  as  Salt.
268785       This  can be split out into a separate package or it can be included in
268786       the salt-master package.
268787
268788   Name
268789       · salt-cloud
268790
268791   Files
268792       · scripts/salt-cloud
268793
268794       · man/salt-cloud.1
268795
268796   Depends
268797       · Salt Common
268798
268799       · apache libcloud >= 0.14.0
268800
268801   Salt Doc
268802       The documentation package is very distribution optional.  A  completely
268803       split  package will split out the documentation, but some platform con‐
268804       ventions do not prefer this.  If the documentation is not split out, it
268805       should be included with the Salt Common package.
268806
268807   Name
268808       · salt-doc
268809
268810   Files
268811       · doc/*
268812
268813   Optional Depends
268814       · Salt Common
268815
268816       · Python Sphinx
268817
268818       · Make
268819
268820   Salt Release Process
268821       The  goal  for Salt projects is to cut a new feature release every four
268822       to six months. This document outlines the process for  these  releases,
268823       and the subsequent bug fix releases which follow.
268824
268825   Feature Release Process
268826       When  a new release is ready to be cut, the person responsible for cut‐
268827       ting the release will follow the following  steps  (written  using  the
268828       0.16 release as an example):
268829
268830       1. All open issues on the release milestone should be moved to the next
268831          release milestone. (e.g. from the 0.16 milestone to the  0.17  mile‐
268832          stone)
268833
268834       2. Release  notes  should be created documenting the major new features
268835          and bugfixes in the release.
268836
268837       3. Create an annotated tag with only the major and minor  version  num‐
268838          bers,  preceded by the letter v.  (e.g. v0.16)  This tag will reside
268839          on the develop branch.
268840
268841       4. Create a branch for the new release, using only the major and  minor
268842          version numbers.  (e.g. 0.16)
268843
268844       5. On  this  new branch, create an annotated tag for the first revision
268845          release, which is generally a release candidate.  It should be  pre‐
268846          ceded by the letter v.  (e.g. v0.16.0rc1)
268847
268848       6. The  release should be packaged from this annotated tag and uploaded
268849          to PyPI as well as the GitHub releases page for this tag.
268850
268851       7. The packagers should be notified on the salt-packagers mailing  list
268852          so  they  can  create  packages for all the major operating systems.
268853          (note that release candidates should go in the testing repositories)
268854
268855       8. After the packagers have been given a few days to compile the  pack‐
268856          ages, the release is announced on the salt-users mailing list.
268857
268858       9. Log  into  RTD  and add the new release there.  (Have to do it manu‐
268859          ally)
268860
268861   Maintenance and Bugfix Releases
268862       Once a feature release branch has been cut  from  develop,  the  branch
268863       moves  into a "feature freeze" state. The new release branch enters the
268864       merge-forward chain and only bugfixes should be applied against the new
268865       branch. Once major bugs have been fixed, a bugfix release can be cut:
268866
268867       1. On  the  release branch (i.e. 0.16), create an annotated tag for the
268868          revision release.  It should be preceded by  the  letter  v.   (e.g.
268869          v0.16.2)  Release candidates are unnecessary for bugfix releases.
268870
268871       2. The  release should be packaged from this annotated tag and uploaded
268872          to PyPI.
268873
268874       3. The packagers should be notified on the salt-packagers mailing  list
268875          so they can create packages for all the major operating systems.
268876
268877       4. After  the packagers have been given a few days to compile the pack‐
268878          ages, the release is announced on the salt-users mailing list.
268879
268880       For more information about the difference between  the  develop  branch
268881       and  bugfix  release  branches,  please refer to the Which Salt Branch?
268882       section of Salt's Contributing documentation.
268883
268884   Salt Coding Style
268885       Salt is developed with a certain coding style, while the style is domi‐
268886       nantly  PEP  8 it is not completely PEP 8. It is also noteworthy that a
268887       few development techniques are also employed which  should  be  adhered
268888       to. In the end, the code is made to be "Salty".
268889
268890       Most  importantly  though, we will accept code that violates the coding
268891       style and KINDLY ask the contributor to fix it, or go ahead and fix the
268892       code  on  behalf  of  the contributor. Coding style is NEVER grounds to
268893       reject code contributions, and is never grounds to talk down to another
268894       member  of  the community (There are no grounds to treat others without
268895       respect, especially people working to improve Salt)!!
268896
268897   Linting
268898       Most Salt style conventions are codified  in  Salt's  .testing.pylintrc
268899       file.   Salt's pylint file has two dependencies: pylint and saltpylint.
268900       You can install these dependencies with pip:
268901
268902          pip install pylint
268903          pip install saltpylint
268904
268905       The .testing.pylintrc file is found in the root of the Salt project and
268906       can be passed as an argument to the pylint program as follows:
268907
268908          pylint --rcfile=/path/to/salt/.testing.pylintrc salt/dir/to/lint
268909
268910       NOTE:
268911          There are two pylint files in the salt directory. One is the .pylin‐
268912          trc file and the other is the .testing.pylintrc file. The tests that
268913          run  in  Jenkins against GitHub Pull Requests use .testing.pylintrc.
268914          The testing.pylintrc file is a little less strict than the .pylintrc
268915          and  is  used  to make it easier for contributors to submit changes.
268916          The .pylintrc file can be used for linting, but the testing.pylintrc
268917          is the source of truth when submitting pull requests.
268918
268919   Variables
268920       Variables should be a minimum of three characters and should provide an
268921       easy-to-understand name of the object being represented.
268922
268923       When keys and values are iterated over,  descriptive  names  should  be
268924       used to represent the temporary variables.
268925
268926       Multi-word variables should be separated by an underscore.
268927
268928       Variables which are two-letter words should have an underscore appended
268929       to them to pad them to three characters.
268930
268931   Strings
268932       Salt follows a few rules when formatting strings:
268933
268934   Single Quotes
268935       In Salt, all strings use single quotes unless there is  a  good  reason
268936       not to.  This means that docstrings use single quotes, standard strings
268937       use single quotes etc.:
268938
268939          def foo():
268940              '''
268941              A function that does things
268942              '''
268943              name = 'A name'
268944              return name
268945
268946   Formatting Strings
268947       All strings which require formatting  should  use  the  .format  string
268948       method:
268949
268950          data = 'some text'
268951          more = '{0} and then some'.format(data)
268952
268953       Make  sure  to use indices or identifiers in the format brackets, since
268954       empty brackets are not supported by python 2.6.
268955
268956       Please do NOT use printf formatting.
268957
268958   Docstring Conventions
268959       Docstrings should always add a newline, docutils takes care of the  new
268960       line and it makes the code cleaner and more vertical:
268961
268962       GOOD:
268963
268964          def bar():
268965              '''
268966              Here lies a docstring with a newline after the quotes and is the salty
268967              way to handle it! Vertical code is the way to go!
268968              '''
268969              return
268970
268971       BAD:
268972
268973          def baz():
268974              '''This is not ok!'''
268975              return
268976
268977       When  adding  a new function or state, where possible try to use a ver‐
268978       sionadded directive to denote when the function or state was added.
268979
268980          def new_func(msg=''):
268981              '''
268982              .. versionadded:: 0.16.0
268983
268984              Prints what was passed to the function.
268985
268986              msg : None
268987                  The string to be printed.
268988              '''
268989              print msg
268990
268991       If you are uncertain what version should be used, either consult a core
268992       developer  in IRC or bring this up when opening your pull request and a
268993       core developer will add the proper version once your pull  request  has
268994       been  merged.  Bugfixes  will  be  available  in a bugfix release (i.e.
268995       0.17.1, the first bugfix release for 0.17.0), while  new  features  are
268996       held  for  feature  releases,  and this will affect what version number
268997       should be used in the versionadded directive.
268998
268999       Similar to the above, when an existing function or  state  is  modified
269000       (for example, when an argument is added), then under the explanation of
269001       that new argument a versionadded directive should be used to  note  the
269002       version  in which the new argument was added. If an argument's function
269003       changes significantly, the versionchanged  directive  can  be  used  to
269004       clarify this:
269005
269006          def new_func(msg='', signature=''):
269007              '''
269008              .. versionadded:: 0.16.0
269009
269010              Prints what was passed to the function.
269011
269012              msg : None
269013                  The string to be printed. Will be prepended with 'Greetings! '.
269014
269015              .. versionchanged:: 0.17.1
269016
269017              signature : None
269018                  An optional signature.
269019
269020              .. versionadded 0.17.0
269021              '''
269022              print 'Greetings! {0}\n\n{1}'.format(msg, signature)
269023
269024   Dictionaries
269025       Dictionaries should be initialized using {} instead of dict().
269026
269027       See here for an in-depth discussion of this topic.
269028
269029   Imports
269030       Salt code prefers importing modules and not explicit functions. This is
269031       both a style and functional preference. The functional preference orig‐
269032       inates  around the fact that the module import system used by pluggable
269033       modules will include callable objects (functions)  that  exist  in  the
269034       direct  module  namespace. This is not only messy, but may unintention‐
269035       ally expose code python libs to the Salt interface and pose a  security
269036       problem.
269037
269038       To say this more directly with an example, this is GOOD:
269039
269040          import os
269041
269042          def minion_path():
269043              path = os.path.join(self.opts['cachedir'], 'minions')
269044              return path
269045
269046       This on the other hand is DISCOURAGED:
269047
269048          from os.path import join
269049
269050          def minion_path():
269051              path = join(self.opts['cachedir'], 'minions')
269052              return path
269053
269054       The  time  when  this is changed is for importing exceptions, generally
269055       directly importing exceptions is preferred:
269056
269057       This is a good way to import exceptions:
269058
269059          from salt.exceptions import CommandExecutionError
269060
269061   Absolute Imports
269062       Although absolute imports seems like an awesome idea, please do not use
269063       it.   Extra  care  would be necessary all over salt's code in order for
269064       absolute imports to work as supposed. Believe it,  it  has  been  tried
269065       before  and,  as  a  tried  example, by renaming salt.modules.sysmod to
269066       salt.modules.sys, all other salt modules which  needed  to  import  sys
269067       would have to also import absolute_import, which should be avoided.
269068
269069       NOTE:
269070          An  exception to this rule is the absolute_import from __future__ at
269071          the top of each file within the Salt project. This import is  neces‐
269072          sary for Py3 compatibility. This particular import looks like this:
269073
269074              from __future__ import absolute_import
269075
269076          This import is required for all new Salt files and is a good idea to
269077          add to any custom states or modules. However, the practice of avoid‐
269078          ing  absolute imports still applies to all other cases as to avoid a
269079          name conflict.
269080
269081   Vertical is Better
269082       When writing Salt code, vertical code is generally preferred.  This  is
269083       not  a hard rule but more of a guideline. As PEP 8 specifies, Salt code
269084       should not exceed 79 characters on a line, but it is preferred to sepa‐
269085       rate code out into more newlines in some cases for better readability:
269086
269087          import os
269088
269089          os.chmod(
269090                  os.path.join(self.opts['sock_dir'],
269091                      'minion_event_pub.ipc'),
269092                  448
269093                  )
269094
269095       Where there are more line breaks, this is also apparent when construct‐
269096       ing a function with many arguments,  something  very  common  in  state
269097       functions for instance:
269098
269099          def managed(name,
269100                  source=None,
269101                  source_hash='',
269102                  user=None,
269103                  group=None,
269104                  mode=None,
269105                  template=None,
269106                  makedirs=False,
269107                  context=None,
269108                  replace=True,
269109                  defaults=None,
269110                  saltenv=None,
269111                  backup='',
269112                  **kwargs):
269113
269114       NOTE:
269115          Making  function  and class definitions vertical is only required if
269116          the arguments are longer then 80 characters. Otherwise, the  format‐
269117          ting is optional and both are acceptable.
269118
269119   Line Length
269120       For  function definitions and function calls, Salt adheres to the PEP-8
269121       specification of at most 80 characters per line.
269122
269123       Non function definitions or function calls, please adopt a  soft  limit
269124       of 120 characters per line. If breaking the line reduces the code read‐
269125       ability, don't break it. Still, try to avoid passing that  120  charac‐
269126       ters limit and remember, vertical is better...  unless it isn't
269127
269128   Indenting
269129       Some  confusion  exists in the python world about indenting things like
269130       function  calls,  the  above  examples  use  8  spaces  when  indenting
269131       comma-delimited constructs.
269132
269133       The confusion arises because the pep8 program INCORRECTLY flags this as
269134       wrong, where PEP 8, the document, cites only using  4  spaces  here  as
269135       wrong, as it doesn't differentiate from a new indent level.
269136
269137       Right:
269138
269139          def managed(name,
269140                  source=None,
269141                  source_hash='',
269142                  user=None)
269143
269144       WRONG:
269145
269146          def managed(name,
269147              source=None,
269148              source_hash='',
269149              user=None)
269150
269151       Lining up the indent is also correct:
269152
269153          def managed(name,
269154                      source=None,
269155                      source_hash='',
269156                      user=None)
269157
269158       This also applies to function calls and other hanging indents.
269159
269160       pep8 and Flake8 (and, by extension, the vim plugin Syntastic) will com‐
269161       plain about the double indent for hanging indents.   This  is  a  known
269162       conflict  between  pep8 (the script) and the actual PEP 8 standard.  It
269163       is recommended that this particular warning be ignored with the follow‐
269164       ing lines in ~/.config/flake8:
269165
269166          [flake8]
269167          ignore = E226,E241,E242,E126
269168
269169       Make  sure your Flake8/pep8 are up to date.  The first three errors are
269170       ignored by default and are present here to keep the behavior the  same.
269171       This will also work for pep8 without the Flake8 wrapper -- just replace
269172       all instances of 'flake8' with 'pep8', including the filename.
269173
269174   Code Churn
269175       Many pull requests have been submitted that only churn code in the name
269176       of  PEP  8. Code churn is a leading source of bugs and is strongly dis‐
269177       couraged.  While style fixes are encouraged they should be isolated  to
269178       a  single  file  per  commit,  and the changes should be legitimate, if
269179       there are any questions about whether  a  style  change  is  legitimate
269180       please   reference   this   document   and   the   official  PEP  8  (‐
269181       http://legacy.python.org/dev/peps/pep-0008/) document  before  changing
269182       code. Many claims that a change is PEP 8 have been invalid, please dou‐
269183       ble check before committing fixes.
269184
269185   Salt code and internals
269186       Reference documentation on Salt's internal code.
269187
269188   Contents
269189   salt.aggregation
269190   salt.utils.aggregation
269191       This library makes it possible  to  introspect  dataset  and  aggregate
269192       nodes when it is instructed.
269193
269194       NOTE:
269195          The  following  examples with be expressed in YAML for convenience's
269196          sake:
269197
269198          · !aggr-scalar will refer to Scalar python function
269199
269200          · !aggr-map will refer to Map python object
269201
269202          · !aggr-seq will refer for Sequence python object
269203
269204   How to instructs merging
269205       This yaml document has duplicate keys:
269206
269207          foo: !aggr-scalar first
269208          foo: !aggr-scalar second
269209          bar: !aggr-map {first: foo}
269210          bar: !aggr-map {second: bar}
269211          baz: !aggr-scalar 42
269212
269213       but tagged values instruct Salt that overlapping  values  they  can  be
269214       merged together:
269215
269216          foo: !aggr-seq [first, second]
269217          bar: !aggr-map {first: foo, second: bar}
269218          baz: !aggr-seq [42]
269219
269220   Default merge strategy is keep untouched
269221       For  example, this yaml document still has duplicate keys, but does not
269222       instruct aggregation:
269223
269224          foo: first
269225          foo: second
269226          bar: {first: foo}
269227          bar: {second: bar}
269228          baz: 42
269229
269230       So the late found values prevail:
269231
269232          foo: second
269233          bar: {second: bar}
269234          baz: 42
269235
269236   Limitations
269237       Aggregation is permitted between tagged objects  that  share  the  same
269238       type.  If not, the default merge strategy prevails.
269239
269240       For example, these examples:
269241
269242          foo: {first: value}
269243          foo: !aggr-map {second: value}
269244
269245          bar: !aggr-map {first: value}
269246          bar: 42
269247
269248          baz: !aggr-seq [42]
269249          baz: [fail]
269250
269251          qux: 42
269252          qux: !aggr-scalar fail
269253
269254       are interpreted like this:
269255
269256          foo: !aggr-map{second: value}
269257
269258          bar: 42
269259
269260          baz: [fail]
269261
269262          qux: !aggr-seq [fail]
269263
269264   Introspection
269265       TODO: write this part
269266
269267       salt.utils.aggregation.aggregate(obj_a,       obj_b,       level=False,
269268       map_class=<class  'salt.utils.aggregation.Map'>,  sequence_class=<class
269269       'salt.utils.aggregation.Sequence'>)
269270              Merge obj_b into obj_a.
269271
269272              >>> aggregate('first', 'second', True) == ['first', 'second']
269273              True
269274
269275       class salt.utils.aggregation.Aggregate
269276              Aggregation base.
269277
269278       class salt.utils.aggregation.Map(**kwds)
269279              Map aggregation.
269280
269281       salt.utils.aggregation.Scalar(obj)
269282              Shortcut for Sequence creation
269283
269284              >>> Scalar('foo') == Sequence(['foo'])
269285              True
269286
269287       class salt.utils.aggregation.Sequence
269288              Sequence aggregation.
269289
269290   Exceptions
269291       Salt-specific  exceptions  should be thrown as often as possible so the
269292       various interfaces to Salt (CLI, API,  etc)  can  handle  those  errors
269293       appropriately and display error messages appropriately.
269294
269295                   ┌────────────────┬────────────────────────────┐
269296salt.exceptions │ This  module  is a central │
269297                   │                │ location  for   all   salt │
269298                   │                │ exceptions                 │
269299                   └────────────────┴────────────────────────────┘
269300
269301   salt.exceptions
269302       This module is a central location for all salt exceptions
269303
269304       exception salt.exceptions.ArgumentValueError(message=u'', info=None)
269305              Used when an invalid argument was passed to a command execution
269306
269307       exception salt.exceptions.AuthenticationError(message=u'')
269308              If sha256 signature fails during decryption
269309
269310       exception salt.exceptions.AuthorizationError(message=u'')
269311              Thrown when runner or wheel execution fails due to permissions
269312
269313       exception salt.exceptions.CheckError(message=u'', info=None)
269314              Used when a check fails
269315
269316       exception salt.exceptions.CommandExecutionError(message=u'', info=None)
269317              Used  when  a  module  runs a command which returns an error and
269318              wants to show the user the output gracefully instead of dying
269319
269320       exception salt.exceptions.CommandNotFoundError(message=u'')
269321              Used in modules or grains when a required binary is  not  avail‐
269322              able
269323
269324       exception salt.exceptions.EauthAuthenticationError(message=u'')
269325              Thrown when eauth authentication fails
269326
269327       exception    salt.exceptions.FileLockError(message,    time_start=None,
269328       *args, **kwargs)
269329              Used when an error occurs obtaining a file lock
269330
269331       exception salt.exceptions.FileserverConfigError(message=u'')
269332              Used when invalid fileserver settings are detected
269333
269334       exception salt.exceptions.GitLockError(errno, message, *args, **kwargs)
269335              Raised when an uncaught error occurs in the midst  of  obtaining
269336              an update/checkout lock in salt.utils.gitfs.
269337
269338              NOTE:  While  this  uses  the errno param similar to an OSError,
269339              this exception class is not as subclass of OSError. This is done
269340              intentionally,  so  that this exception class can be caught in a
269341              try/except without being caught as an OSError.
269342
269343       exception salt.exceptions.GitRemoteError(message=u'')
269344              Used by GitFS to denote a problem  with  the  existence  of  the
269345              "origin" remote or part of its configuration
269346
269347       exception salt.exceptions.InvalidConfigError(message=u'', info=None)
269348              Used when the config is invalid
269349
269350       exception salt.exceptions.InvalidEntityError(message=u'', info=None)
269351              Used when an entity fails validation
269352
269353       exception salt.exceptions.LoaderError(message=u'')
269354              Problems loading the right renderer
269355
269356       exception salt.exceptions.MasterExit
269357              Rise when the master exits
269358
269359       exception salt.exceptions.MinionError(message=u'')
269360              Minion problems reading uris such as salt:// or http://
269361
269362       exception salt.exceptions.MissingSmb(message=u'')
269363              Raised when no smb library is found.
269364
269365       exception salt.exceptions.NotImplemented(message=u'')
269366              Used  when  a  module  runs a command which returns an error and
269367              wants to show the user the output gracefully instead of dying
269368
269369       exception salt.exceptions.PkgParseError(message=u'')
269370              Used when of the pkg modules cannot correctly parse  the  output
269371              from the CLI tool (pacman, yum, apt, aptitude, etc)
269372
269373       exception salt.exceptions.PublishError(message=u'')
269374              Problems encountered when trying to publish a command
269375
269376       exception salt.exceptions.SaltCacheError(message=u'')
269377              Thrown  when  a  problem was encountered trying to read or write
269378              from the salt cache
269379
269380       exception salt.exceptions.SaltClientError(message=u'')
269381              Problem reading the master root key
269382
269383       exception salt.exceptions.SaltClientTimeout(message,  jid=None,  *args,
269384       **kwargs)
269385              Thrown  when  a  job  sent  through one of the Client interfaces
269386              times out
269387
269388              Takes the jid as a parameter
269389
269390       exception salt.exceptions.SaltCloudConfigError(message=u'')
269391              Raised when a configuration setting  is  not  found  and  should
269392              exist.
269393
269394       exception salt.exceptions.SaltCloudException(message=u'')
269395              Generic Salt Cloud Exception
269396
269397       exception salt.exceptions.SaltCloudExecutionFailure(message=u'')
269398              Raised when too much failures have occurred while querying/wait‐
269399              ing for data.
269400
269401       exception salt.exceptions.SaltCloudExecutionTimeout(message=u'')
269402              Raised when too much time has passed while querying/waiting  for
269403              data.
269404
269405       exception salt.exceptions.SaltCloudNotFound(message=u'')
269406              Raised  when  some  cloud  provider  function cannot find what's
269407              being searched.
269408
269409       exception salt.exceptions.SaltCloudPasswordError(message=u'')
269410              Raise when virtual terminal password input failed
269411
269412       exception salt.exceptions.SaltCloudSystemExit(message, exit_code=1)
269413              This exception is raised when the execution should be stopped.
269414
269415       exception salt.exceptions.SaltConfigurationError(message=u'')
269416              Configuration error
269417
269418       exception salt.exceptions.SaltDaemonNotRunning(message=u'')
269419              Throw when a running master/minion/syndic is not running but  is
269420              needed to perform the requested operation (e.g., eauth).
269421
269422       exception salt.exceptions.SaltException(message=u'')
269423              Base  exception  class; all Salt-specific exceptions should sub‐
269424              class this
269425
269426              pack() Pack this exception into a serializable  dictionary  that
269427                     is safe for transport via msgpack
269428
269429       exception salt.exceptions.SaltInvocationError(message=u'')
269430              Used  when  the wrong number of arguments are sent to modules or
269431              invalid arguments are specified on the command line
269432
269433       exception salt.exceptions.SaltMasterError(message=u'')
269434              Problem reading the master root key
269435
269436       exception salt.exceptions.SaltMasterUnresolvableError(message=u'')
269437              Problem resolving the name of the Salt master
269438
269439       exception salt.exceptions.SaltNoMinionsFound(message=u'')
269440              An attempt to retrieve a list of minions failed
269441
269442       exception    salt.exceptions.SaltRenderError(message,    line_num=None,
269443       buf=u'', marker=u' <======================', trace=None)
269444              Used when a renderer needs to raise an explicit error. If a line
269445              number and buffer string are passed, get_context will be invoked
269446              to get the location of the error.
269447
269448       exception salt.exceptions.SaltReqTimeoutError(message=u'')
269449              Thrown  when  a  salt master request call fails to return within
269450              the timeout
269451
269452       exception salt.exceptions.SaltRunnerError(message=u'')
269453              Problem in runner
269454
269455       exception salt.exceptions.SaltSyndicMasterError(message=u'')
269456              Problem while proxying a request in the syndication master
269457
269458       exception salt.exceptions.SaltSystemExit(code=0, msg=None)
269459              This exception is raised when an unsolvable  problem  is  found.
269460              There's nothing else to do, salt should just exit.
269461
269462       exception salt.exceptions.SaltWheelError(message=u'')
269463              Problem in wheel
269464
269465       exception salt.exceptions.TemplateError(message=u'')
269466              Used when a custom error is triggered in a template
269467
269468       exception salt.exceptions.TimedProcTimeoutError(message=u'')
269469              Thrown  when  a  timed  subprocess does not terminate within the
269470              timeout, or if the specified timeout is not an int or a float
269471
269472       exception salt.exceptions.TimeoutError(message=u'')
269473              Thrown when an opration cannot be completet within a given  time
269474              limit.
269475
269476       exception salt.exceptions.TokenAuthenticationError(message=u'')
269477              Thrown when token authentication fails
269478
269479       exception salt.exceptions.VMwareApiError(message=u'', info=None)
269480              Used when representing a generic VMware API error
269481
269482       exception salt.exceptions.VMwareConnectionError(message=u'', info=None)
269483              Used when the client fails to connect to a either a VMware vCen‐
269484              ter server or to a ESXi host
269485
269486       exception          salt.exceptions.VMwareFileNotFoundError(message=u'',
269487       info=None)
269488              Used  when  representing  a  generic  VMware error if a file not
269489              found
269490
269491       exception       salt.exceptions.VMwareMultipleObjectsError(message=u'',
269492       info=None)
269493              Used when multiple objects were retrieved (and one was expected)
269494
269495       exception salt.exceptions.VMwareNotFoundError(message=u'', info=None)
269496              Used when a VMware object was not found
269497
269498       exception          salt.exceptions.VMwareObjectExistsError(message=u'',
269499       info=None)
269500              Used when a VMware object already exists
269501
269502       exception        salt.exceptions.VMwareObjectNotFoundError(message=u'',
269503       info=None)
269504              Used when a VMware object was not found
269505
269506       exception       salt.exceptions.VMwareObjectRetrievalError(message=u'',
269507       info=None)
269508              Used when a VMware object cannot be retrieved
269509
269510       exception salt.exceptions.VMwarePowerOnError(message=u'', info=None)
269511              Used when error occurred during power on
269512
269513       exception salt.exceptions.VMwareRuntimeError(message=u'', info=None)
269514              Used when a runtime error is encountered when communicating with
269515              the vCenter
269516
269517       exception salt.exceptions.VMwareSaltError(message=u'', info=None)
269518              Used when a VMware object cannot be retrieved
269519
269520       exception salt.exceptions.VMwareSystemError(message=u'', info=None)
269521              Used when representing a generic VMware system error
269522
269523       exception salt.exceptions.VMwareVmCreationError(message=u'', info=None)
269524              Used when a configuration parameter is incorrect
269525
269526       exception salt.exceptions.VMwareVmRegisterError(message=u'', info=None)
269527              Used when a configuration parameter is incorrect
269528
269529       salt.exceptions.get_error_message(error)
269530              Get human readable message from Python Exception
269531
269532   The Salt Fileserver and Client
269533   Introduction
269534       Salt  has  a  modular fileserver, and multiple client classes which are
269535       used to interact with it. This page serves as a developer's  reference,
269536       to help explain how the fileserver and clients both work.
269537
269538   Fileserver
269539       The  fileserver is not a daemon, so the fileserver and client are not a
269540       true server and client in the traditional  sense.  Instead,  the  file‐
269541       server  is  simply  a  class  (salt.fileserver.Fileserver),  located in
269542       salt/fileserver/__init__.py. This class has access  to  the  configured
269543       fileserver  backends via a loader instance, referenced as self.servers.
269544       When a request comes in from the fileclient, it will ultimately  result
269545       in a Fileserver class function being run.
269546
269547       The  functions  in  this  class will run corresponding functions in the
269548       configured fileserver backends to perform the requested action. So,  in
269549       summary:
269550
269551       1. A fileclient class makes a request...
269552
269553       2. which triggers the fileserver to run a function...
269554
269555       3. which runs a named function in each of the configured backends.
269556
269557       Not  all of the functions will always execute on every configured back‐
269558       end. For instance, the find_file function in the fileserver  will  stop
269559       when  it  finds a match, so if it finds a match for the desired path in
269560       the first configured backend, it won't proceed and try to find the file
269561       in the next backend in the list.
269562
269563       Additionally,   not   all  backends  implement  all  functions  in  the
269564       salt.fileserver.Fileserver class. For instance,  there  is  a  function
269565       called  update,  which  exists to update remote fileservers such as the
269566       git, hg, and svn backends. This action has no use however in the  roots
269567       backend,  so  it  is  simply  not implemented there, and thus the roots
269568       backend will be skipped if the update function  is  run  on  the  file‐
269569       server.
269570
269571       Backends  for the fileserver are located in salt/fileserver/ (the files
269572       not named __init__.py).
269573
269574   Fileclient
269575       There are three fileclient classes:
269576
269577   salt.fileclient.RemoteClient
269578       This client is used when file_client is set to remote. This is how min‐
269579       ions request files from the master.
269580
269581       Functions in this client will craft a payload and send it to the master
269582       via the transport channel. This is the same way that  the  minion  asks
269583       the  minion  to  do  other things, such as updating and requesting data
269584       from the mine. The payload will be a dictionary with a key called  cmd,
269585       and other values as needed.
269586
269587       Payloads  sent  via  the  transport channel are processed my an MWorker
269588       instance on the master, and the MWorker's _handle_aes()  function  will
269589       execute  the  command.  The command will be a function attribute of the
269590       salt.master.AESFuncs class. The  AESFuncs  class'  __setup_fileserver()
269591       function  instantiates  a  salt.fileserver.Fileserver instance and maps
269592       its member functions to AESFuncs attributes. This  is  what  makes  the
269593       fileserver  functions available remotely. The result of the function is
269594       returned back through the transport channel to the minion.
269595
269596       Transporting files is done in chunks, the size of which is  decided  by
269597       the  file_buffer_size  config  option.  If you look at the serve_file()
269598       function in any of the fileserver backends, you can  see  how  the  loc
269599       value  in  the  payload  determines  the offset so that an intermediate
269600       chunk of the file can be served. The RemoteClient's get_file() function
269601       will loop until the end of the file is reached, retrieving one chunk at
269602       a time.
269603
269604   salt.fileclient.FSClient
269605       This client is used when file_client is set to local. This is how  mas‐
269606       terless minions request files.
269607
269608       This  class  inherits  from  the  RemoteClient,  but instead of using a
269609       transport channel (zmq, tcp, etc.), it uses a "fake" transport  channel
269610       (salt.fileserver.FSChan),  which  implements  its  own send() function.
269611       Thus, when a function that the FSClient inherits from the  RemoteClient
269612       runs    self.channel.send(),    it's    actually   calling   salt.file‐
269613       server.FSChan.send(),  which  calls  corresponding  functions  in   the
269614       salt.fileserver.Fileserver()  class.  The  result  is  that  local file
269615       requests use the same code as remote file requests,  they  just  bypass
269616       sending  them through an actual transport channel and instead call them
269617       on the FSChan's Fileserver instance.
269618
269619   salt.fileclient.LocalClient
269620       This client is now used exclusively by Pillar. This  used  to  be  used
269621       when  file_client was set to local, but the FSChan class was written to
269622       allow minions with file_client: local to access the full set  of  back‐
269623       ends.  This class will probably be renamed at some point as it is often
269624       confused with salt.client.LocalClient.
269625
269626   The cp Module
269627       Most of the user-facing interaction with the fileclient happens via the
269628       cp  module.  The  functions  in  this  module  instantiate a fileclient
269629       instance (if one is not already saved to the  __context__  dunder)  and
269630       run fileclient functions.
269631
269632   Updating the Fileserver
269633       The  master  daemon  spawns  a process dedicated to routine maintenance
269634       tasks upon startup. This process runs an instance of  salt.master.Main‐
269635       tenance,  which  loops  forever, running a series of functions and then
269636       sleeping for a length of time determined by  the  loop_interval  config
269637       option.  One  of the maintenance tasks is to update the fileserver, and
269638       it essentially runs salt.fileserver.Fileserver.update(),  which  as  we
269639       know  from  above will run all configured backends' update() functions,
269640       if present. This is now remote fileservers like git, hg, and  svn  stay
269641       up-to-date.
269642
269643       For  the  local file_client (FSClient), since it does not interact with
269644       the master, upon spawning of its FSChan it will update the fileserver.
269645
269646   Salt opts dictionary
269647       It is very common in the Salt codebase to see opts  referred  to  in  a
269648       number of contexts.
269649
269650       For  example, it can be seen as __opts__ in certain cases, or simply as
269651       opts as an argument to a function in others.
269652
269653       Simply put, this data structure is a dictionary of Salt's runtime  con‐
269654       figuration  information  that's passed around in order for functions to
269655       know how Salt is configured.
269656
269657       When writing Python code to use specific parts of Salt, it  may  become
269658       necessary to initialize a copy of opts from scratch in order to have it
269659       available for a given function.
269660
269661       To do so, use the utility functions available in salt.config.
269662
269663       As an example, here is how one might generate and print an options dic‐
269664       tionary for a minion instance:
269665
269666          import salt.config
269667          opts = salt.config.minion_config('/etc/salt/minion')
269668          print(opts)
269669
269670       To generate and display opts for a master, the process is similar:
269671
269672          import salt.config
269673          opts = salt.config.master_config('/etc/salt/master')
269674          print(opts)
269675
269676   Unicode in Salt
269677       Though  Unicode  handling  in large projects can often be complex, Salt
269678       adheres to several basic rules to help developers handle  Unicode  cor‐
269679       rectly.
269680
269681       (For  a basic introduction to this problem, see Ned Batchelder's excel‐
269682       lent intoroduction  to  the  topic  <http://nedbatchelder.com/text/uni
269683       pain/unipain.html>.
269684
269685       Salt's basic workflow for Unicode handling is as follows:
269686
269687       1. Salt  should  convert whatever data is passed on CLI/API to Unicode.
269688          Internally, everything that Salt does should be Unicode unless it is
269689          printing to the screen or writing to storage.
269690
269691       2. Modules  and various Salt pluggable systems use incoming data assum‐
269692          ing Unicode.
269693
269694          2.1) For Salt modules that query an API; the module  should  convert
269695          the data
269696                 received from the API into Unicode.
269697
269698          2.2)  For  Salt  modules  that  shell  out to get output; the module
269699          should
269700                 convert data received into Unicode. (This does not  apply  if
269701                 using  the cmd execution module, which should handle this for
269702                 you.
269703
269704          2.3) For Salt modules which print directly to the console  (not  via
269705          an
269706                 outputter)  or  which write directly to disk, a string should
269707                 be encoded when appropriate. To handle this  conversion,  the
269708                 global  variable __salt_system_encoding__ is available, which
269709                 declares the locale of the system that Salt is running on.
269710
269711       3. When a function in a Salt module returns a string, it should  return
269712          a unicode type in Python 2.
269713
269714       4. When Salt delivers the data to an outputter or a returner, it is the
269715          job of the outputter or returner to encode the Unicode  before  dis‐
269716          playing it on the console or writing it to storage.
269717
269718   Salt Community Projects
269719       This  page contains links to Salt-related projects created by community
269720       members.  If you come across a useful project  please  add  it  to  the
269721       list!
269722
269723   Hubblestack
269724       Hubble is a modular, open-source security compliance framework built on
269725       top of SaltStack. The project provides on-demand  profile-based  audit‐
269726       ing,  real-time  security  event  notifications, automated remediation,
269727       alerting and reporting.
269728
269729       http://hubblestack.io/
269730
269731   alkali
269732       alkali is a collections of SaltStack states and pillar data  that  pro‐
269733       vide just the basics for provisioning Linux instances that may be built
269734       upon. alkali is a starter kit of sorts, to help new users to  SaltStack
269735       get up-and-running quickly with the most commonly used, core packages.
269736
269737       https://github.com/zulily/alkali
269738
269739   buoyant
269740       buoyant  leverages docker to provide an alternative to VM-centric Salt‐
269741       Stack development environments.  buoyant  containers  may  be  spun  up
269742       nearly instantly, once an initial docker image has been built.
269743
269744       https://github.com/zulily/buoyant
269745
269746   Salt Sandbox
269747       Salt  Sandbox  is a multi-VM Vagrant-based Salt development environment
269748       used for creating and testing new Salt state modules  outside  of  your
269749       production  environment. It's also a great way to learn firsthand about
269750       Salt and its remote execution capabilities.
269751
269752       https://github.com/elasticdog/salt-sandbox
269753
269754   Salt Vagrant Demo
269755       A Salt Demo using Vagrant.
269756
269757       https://github.com/UtahDave/salt-vagrant-demo
269758

RELEASE NOTES

269760       See the version numbers page for more  information  about  the  version
269761       numbering scheme.
269762
269763   Latest Branch Release
269764       Release Candidate
269765
269766   Previous Releases
269767   Salt 2018.3.0 Release Notes - Codename Oxygen
269768       WARNING:
269769          If  you  are  using  Jinja to dump lists or dictionaries in your SLS
269770          files, this will now cause errors in Python 2 since Jinja  does  not
269771          produce  YAML-compatible  output when strings in the data structures
269772          contain unicode types. The dictionary must be passed through a Jinja
269773          filter to produce YAML-compatible strings.
269774
269775          The below is an example of invalid SLS:
269776
269777              /etc/foo.conf:
269778                file.mangaged:
269779                  - source: salt://foo.conf
269780                  - template: jinja
269781                  - defaults: {{ mydict }}
269782
269783          To make it valid, use either one of Salt's own json or yaml filters:
269784
269785              /etc/foo.conf:
269786                file.mangaged:
269787                  - source: salt://foo.conf
269788                  - template: jinja
269789                  - defaults: {{ mydict | json }}
269790
269791   Unicode/Python 3 Compatibility Improvements
269792       This  release  fixes a number of nagging issues with Unicode strings in
269793       Salt under Python 2 (ex.  'ascii' codec can't decode  byte  0xd0).  For
269794       best  results, use a UTF-8 locale (such as by setting the LANG environ‐
269795       ment variable to one which supports  UTF-8.  For  example  en_US.UTF-8,
269796       de_DE.UTF-8, ru_RU.UTF-8, C.UTF-8).
269797
269798       Additionally,  a number of Python 3 compatibility fixes have been made,
269799       many of them having to do with file I/O and str/bytes mismatches.
269800
269801       We continue to work toward improving both Unicode and Python 3 compati‐
269802       bility and welcome any feedback.
269803
269804   Lots of Docker Improvements
269805   Much Improved Support for Docker Networking
269806       The  docker_network.present  state  has undergone a full rewrite, which
269807       includes the following improvements:
269808
269809   Full API Support for Network Management
269810       The improvements made to input handling in the docker_container.running
269811       state  for  2017.7.0  have now been expanded to docker_network.present.
269812       This brings with it full support for all  tunable  configuration  argu‐
269813       ments.
269814
269815   Custom Subnets
269816       Custom  subnets  can  now  be configured. Both IPv4 and mixed IPv4/IPv6
269817       networks are supported. See here for more information.
269818
269819   Network Configuration in docker_container.running States
269820       A long-requested feature has finally been added! It is now possible  to
269821       configure  static IPv4/IPv6 addresses, as well as links and labels. See
269822       here for more information.
269823
269824       NOTE:
269825          While the containers argument to  docker_network.present  will  con‐
269826          tinue  to  be supported, it will no longer be the recommended way of
269827          ensuring that a container is attached to a network.
269828
269829   Improved Handling of Images from Custom Registries
269830       Rather than attempting to parse the tag from  the  passed  image  name,
269831       Salt  will  now  resolve  that  tag down to an image ID and use that ID
269832       instead.
269833
269834       IMPORTANT:
269835          Due to this change, there are some backward-incompatible changes  to
269836          image management. See below for a full list of these changes.
269837
269838   Backward-incompatible Changes to Docker Image Management
269839       Passing  image  names to the following functions must now be done using
269840       separate repository and tag arguments:
269841
269842       · docker.build
269843
269844       · docker.commit
269845
269846       · docker.import
269847
269848       · docker.load
269849
269850       · docker.tag
269851
269852       · docker.sls_build
269853
269854       Additionally, the tag argument must now be  explicitly  passed  to  the
269855       docker_image.present  state,  unless  the  image is being pulled from a
269856       docker registry.
269857
269858   State and Execution Module Support for docker run Functionality
269859       The docker_container.running state is good  for  containers  which  run
269860       services, but it is not as useful for cases in which the container only
269861       needs to run once. The start argument to  docker_container.running  can
269862       be  set to False to prevent the container from being started again on a
269863       subsequent run, but for many use cases this is not  sufficient.  There‐
269864       fore,  the  docker.run_container  remote-execution  function was added.
269865       When used on the Salt CLI, it will return information  about  the  con‐
269866       tainer, such as its name, ID, exit code, and any output it produces.
269867
269868       State  support  has also been added via the docker_container.run state.
269869       This state is modeled after the cmd.run state, and  includes  arguments
269870       like  onlyif,  unless,  and  creates to control whether or not the con‐
269871       tainer is run.
269872
269873   Full API Support for docker.logs
269874       This function now supports all of the functions  that  its  Docker  API
269875       counterpart  does,  allowing  you to do things like include timestamps,
269876       and also suppress stdout/stderr, etc. in the return.
269877
269878   start Argument Added to docker.create Function
269879       This removes the need to run docker.start separately when creating con‐
269880       tainers on the Salt CLI.
269881
269882          salt myminion docker.create image=foo/bar:baz command=/path/to/command start=True
269883
269884   Use SaltSSH Minions like regular Master-Minions
269885       The  Master  process can now also call SSH minions as if they were con‐
269886       nected to the master using ZeroMQ.  By setting enable_ssh_minions: True
269887       in  the  master  config  file, the master will create a Salt SSH client
269888       process which connects to the minion and returns  the  output  for  the
269889       salt  CLI  to  use like a regular minion. This can be used anywhere the
269890       LocalClient is used.
269891
269892   Exceptions Raised for Authentication/Authorization Errors
269893       When sending publish commands via master.py  and  masterapi.py  and  an
269894       authorization  or  authentication problem is encountered, Salt will now
269895       raise the appropriate exceptions instead of returning an empty  string:
269896       ''.
269897
269898       The  reasoning behind this change is to make it easier to debug various
269899       scenarios surrounding  authentication  and  authorization  issues  more
269900       effectively.
269901
269902   Comparison Operators in Package Installation
269903       Salt  now  supports  using  comparison  operators  (e.g.  >=1.2.3) when
269904       installing packages on minions which use yum/dnf or apt. This  is  sup‐
269905       ported  both  in  the pkg.installed state and in the pkg.install remote
269906       execution function.
269907
269908   Master Tops Changes
269909       When both Master Tops and a Top File produce SLS matches  for  a  given
269910       minion,  the matches were being merged in an unpredictable manner which
269911       did not preserve ordering. This has been changed. The top file  matches
269912       now  execute in the expected order, followed by any master tops matches
269913       that are not matched via a top file.
269914
269915       To make master  tops  matches  execute  first,  followed  by  top  file
269916       matches, set the new master_tops_first minion config option to True.
269917
269918   Several Jinja Filters Renamed
269919       The  following  Jinja  filters (originally added in 2017.7.0) have been
269920       renamed due to the fact that they were  inaccurately  named  when  ini‐
269921       tially  added.  The  original  names  will  be supported until the Neon
269922       release of Salt.
269923
269924       · rand_str renamed to random_hash
269925
269926       · jinja_decode_dict renamed to jinja_encode_dict
269927
269928       · jinja_decode_list renamed to jinja_encode_list
269929
269930   Return Codes for Runner/Wheel Functions
269931       When using orchestration, runner and wheel functions used to  report  a
269932       True result if the function ran to completion without raising an excep‐
269933       tion. It is now possible to set a return code in the  __context__  dic‐
269934       tionary,  allowing  runner  and  wheel  functions  to  report that they
269935       failed. Here's some example pseudocode:
269936
269937          def myrunner():
269938              ...
269939              do stuff
269940              ...
269941              if some_error_condition:
269942                  __context__['retcode'] = 1
269943              return result
269944
269945   Variable Update Intervals for Fileserver Backends
269946       Prior to this release, fileservers would be updated as part of a  dedi‐
269947       cated "maintenance" process, in which various routine maintenance tasks
269948       were performed. This tied the update interval to the loop_interval con‐
269949       fig  option,  and  also  forced  all  fileservers to update at the same
269950       interval.
269951
269952       2018.3.0 adds the following configuration options for the various file‐
269953       server backends:
269954
269955       · roots_update_interval
269956
269957       · azurefs_update_interval
269958
269959       · gitfs_update_interval
269960
269961       · hgfs_update_interval
269962
269963       · minionfs_update_interval
269964
269965       · s3fs_update_interval
269966
269967       · svnfs_update_interval
269968
269969       These allow for update intervals to be set for each individual backend.
269970       The default value for each of these is 60 seconds.
269971
269972       In addition, for GitFS it is also possible to apply intervals to  indi‐
269973       vidual remotes. See here for examples.
269974
269975       NOTE:
269976          git_pillar  does  not yet support variable update intervals, this is
269977          targeted for the next feature release (Fluorine).
269978
269979   LDAP via External Authentication Changes
269980       In this release of Salt, if LDAP Bind Credentials  are  supplied,  then
269981       these  credentials  will  be  used for all LDAP access except the first
269982       authentication when a job is submitted.  The first authentication  will
269983       use  the  user's credentials as passed on the CLI.  This behavior is to
269984       accommodate certain two-factor authentication schemes where the authen‐
269985       tication token can only be used once.
269986
269987       In  previous releases the bind credentials would only be used to deter‐
269988       mine the LDAP user's existence and group membership.  The  user's  LDAP
269989       credentials were used from then on.
269990
269991   Stormpath External Authentication Removed
269992       Per  Stormpath's  announcement,  their  API  will  be  shutting down on
269993       8/17/2017 at noon PST so the Stormpath external  authentication  module
269994       has been removed.
269995
269996       https://stormpath.com/oktaplusstormpath
269997
269998   New (Proxy) Minion Configuration Options
269999       To  be  able to connect the Minion to the Master using a certain source
270000       IP address or port, the following options have been added:
270001
270002       · source_interface_name
270003
270004       · source_address
270005
270006       · source_ret_port
270007
270008       · source_publish_port
270009
270010   environment config option renamed to saltenv
270011       The environment config option predates referring to a  salt  fileserver
270012       environment  as  a saltenv. To pin a minion to a single environment for
270013       running states, one would use environment, but overriding that environ‐
270014       ment would be done with the saltenv argument. For consistency, environ‐
270015       ment is now simply referred to as saltenv. There are no plans to depre‐
270016       cate or remove environment, if used it will log a warning and its value
270017       will be used as saltenv.
270018
270019   lock_saltenv config option added
270020       If set to True, this option will prevent a  minion  from  allowing  the
270021       saltenv  argument  to  override  the  value set in saltenv when running
270022       states.
270023
270024   Failed Minions for State/Function Orchestration Jobs Added to Changes  Dic‐
270025       tionary
270026       For  orchestration jobs which run states (or run remote execution func‐
270027       tions and also use a fail function to  indicate  success  or  failure),
270028       minions  which have False results were previously included as a format‐
270029       ted string in the comment field of the return  for  that  orchestration
270030       job.  This  made the failed returns difficult to parse programatically.
270031       The failed returns in these cases are now included in the changes  dic‐
270032       tionary, making for much easier parsing.
270033
270034   Grains
270035       · fc_wwn  -  Show  all  fibre channel world wide port names for a host,
270036         must be enabled with fibre_channel_grains
270037
270038       · iscsi_iqn - Show the iSCSI IQN name for a host
270039
270040       · swap_total - Show the configured swap_total for Linux, *BSD, OS X and
270041         Solaris/SunOS
270042
270043       · virtual:
270044
270045            · identifies reports KVM and VMM hypervisors when running an Open‐
270046              BSD guest
270047
270048            · for  detecting  Solaris  Logical  Domains  (LDOMs)  running   on
270049              T-Series  SPARC hardware. The virtual_subtype grain is populated
270050              as a list of domain roles.
270051
270052   Salt Minion Auto-discovery
270053       Using auto-discovery, the Salt Minion now no longer needs to be config‐
270054       ured against a specific DNS name or IP address of a Master.
270055
270056       For  this  feature Salt Master now requires port 4520 for UDP broadcast
270057       packets to be opened and the Salt Minion be able to send UDP packets to
270058       the same port.
270059
270060   Configuration
270061       By default, automatic discovery is disabled.
270062
270063       WARNING:
270064          Due  to  the  current  limitations that will be changing in a future
270065          release, before you turn on auto-discovery, make sure  your  network
270066          is secured and trusted.
270067
270068       Auto-discovery  is  configured  on  Master and Minion. Both of them are
270069       configured via the discovery option as follows:
270070
270071       Master configuration
270072
270073       To use the default configuration, which accepts any minion, simply  set
270074       discovery to True:
270075
270076          discovery: true
270077
270078       A  sub-option  called  mapping  allows  auto-discovery to help find the
270079       proper Master. The mapping  contains  an  arbitrary  set  of  key/value
270080       pairs,  which  the Minion configuration can target. By default, no map‐
270081       pings are set.
270082
270083       Example:
270084
270085          discovery:
270086            mapping:
270087              description: SES 5.0
270088              node: 1
270089
270090       It is also possible to change the port used from the default  of  4520,
270091       by setting a port option under the Master's discovery configuration:
270092
270093          discovery:
270094            port: 4567
270095
270096       NOTE:
270097          When  using  a port number other than the default, the Minion's dis‐
270098          covery configuration must also have a port specified, otherwise  the
270099          Minion will still attempt to contact the Master on port 4520.
270100
270101       Minion configuration
270102
270103       In  addition  to the mapping and port options, the following additional
270104       options are available to Minions:
270105
270106       · attempts - This option specifies how many broadcast  requests  should
270107         be sent to the network, waiting for any Master response. Each attempt
270108         takes a couple of seconds, so raising this  value  may  result  in  a
270109         slower  Minion  startup. Note that, on a properly-configured network,
270110         autodiscovery should succeed on the first attempt. By  default,  this
270111         value is set to 3.
270112
270113       · match  -  This  option can be set to either all or any, and it deter‐
270114         mines how the values configured in mapping are  matched.  If  set  to
270115         all,  then  all  of  the key/value pairs in the Minion's mapping must
270116         match a given Master. If set to any (the default), then any match  to
270117         a key/value mapping will constitute a match.
270118
270119       · pause - The interval in seconds between attempts (default: 5).
270120
270121       · fibre_channel_grains - Enables the fc_wwn grain. (Default: False)
270122
270123       · iscsi_grains - Enables the iscsi_iqn grain. (Default: False)
270124
270125   Connection to a type instead of DNS
270126       By  now  each  Minion  was connecting to a Master by DNS or IP address.
270127       From now on it is possible also to connect to a _type_ of a Master. For
270128       example,  in  a  network there are three different Masters, each corre‐
270129       sponds for a particular niche or environment or specific role etc.  The
270130       Minion  is  supposed  to  connect  only to one of those Masters that is
270131       described appropriately.
270132
270133       To achieve such an effect, each /etc/salt/master  configuration  should
270134       have a discovery option, which should have a mapping element with arbi‐
270135       trary key/value pairs. The same configuration should be on the  Minion,
270136       so  then  when mapping matches, Minion recognises Master as its connec‐
270137       tion target.
270138
270139       Example for Master configuration (/etc/salt/master):
270140
270141          discovery:
270142            mapping:
270143              description: SES 5.0
270144              node: 1
270145
270146       The example above describes a system that is running a particular prod‐
270147       uct,  where  description  is  an  arbitrary  key  and SES 5.0 is just a
270148       string. In order to match exactly this Master, the following configura‐
270149       tion at Minion should be present:
270150
270151          discovery:
270152            match: all  # Can be "all" or "any"
270153            mapping:
270154              description: SES 5.0
270155              node: 1
270156
270157       Notice  match  criteria  is  set  to all. This would mean that from all
270158       found Masters select only that, which description is  set  to  SES  5.0
270159       _and_ node is set to 1. All other Masters will be ignored.
270160
270161   Limitations
270162       This  feature  has a couple of _temporary_ limitations that are subject
270163       to change in the future:
270164
270165       · Only one Master on the network is  supported.  Currently  the  Minion
270166         cannot  select  which Master out of few the same to choose. This will
270167         change to choosing the Master that is least loaded.
270168
270169       · Minions will accept _any_ master  that  matches  connection  criteria
270170         without  any  particular security applied (priv/pub key check, signa‐
270171         ture, fingerprint etc).  That implies that administrator is  expected
270172         to know his network and make sure it is clean.
270173
270174   New Modules
270175       · salt.modules.purefa
270176
270177   New NaCl Renderer
270178       A new renderer has been added for encrypted data.
270179
270180   New support for Cisco UCS Chassis
270181       The  salt proxy minion now allows for control of Cisco USC chassis. See
270182       the cimc modules for details.
270183
270184   New support for Cassandra v3
270185       The cassandra_cql module now supports Cassandra v3  which  has  changed
270186       its internal schema to define keyspaces and columns.
270187
270188   New salt-ssh roster
270189       A  new  roster  has  been  added that allows users to pull in a list of
270190       hosts for salt-ssh targeting from  a  ~/.ssh  configuration.  For  full
270191       details, please see the sshconfig roster.
270192
270193   New GitFS Features
270194       Two  new  features  which  affect how GitFS maps branches/tags to file‐
270195       server environments (i.e. saltenvs) have been added:
270196
270197       1. It is now possible to completely turn  off  Salt's  default  mapping
270198          logic  (aside  from  the  mapping  of the base saltenv). This can be
270199          triggered using the new gitfs_disable_saltenv_mapping config option.
270200
270201          NOTE:
270202             When this is disabled, only the base saltenv and  any  configured
270203             using per-saltenv configuration parameters will be available.
270204
270205       2. The  types  of  refs which Salt will use as saltenvs can now be con‐
270206          trolled. In previous releases, branches and tags were both mapped as
270207          environments,  and  individual  commit  SHAs  could  be specified as
270208          saltenvs in states (and when  caching  files  using  cp.cache_file).
270209          Using the new gitfs_ref_types config option, the types of refs which
270210          are used as saltenvs can be restricted. This makes  it  possible  to
270211          ignore  all  tags  and use branches only, and also to keep SHAs from
270212          being made available as saltenvs.
270213
270214   Additional output modes
270215       The  state_output  parameter  now  supports  full_id,  changes_id   and
270216       terse_id.   Just  like  mixed_id, these use the state ID as name in the
270217       highstate output.  For more information on these output modes, see  the
270218       docs for the Highstate Outputter.
270219
270220   Windows
270221   Python Version
270222       Python  2  Windows API was design when Windows did not support Unicode.
270223       Windows now supports Unicode however to  keep  backwards  compatibility
270224       Python  2  Windows API has not been changed.  Python 3 Windows API sup‐
270225       ports Unicode. Salt Python 3 installer  is  the  recommend  choice  for
270226       users who need characters other than Non-ASCII (7bit) characters.
270227
270228   pkg Execution module changes
270229       Significant  changes  have  been  made to the win_pkg execution module.
270230       Users should test this release against their existing package sls defi‐
270231       nition files. These changes are also in 2016.11.9 & 2017.7.3.
270232
270233       · pkg.list_available  no longer defaults to refreshing the winrepo meta
270234         database.
270235
270236       · pkg.install without a version parameter no longer  upgrades  software
270237         if  the software is already installed. Use pkg.install version=latest
270238         or in a state use pkg.latest to get the old behavior.
270239
270240       · pkg.list_pkgs now returns multiple  versions  if  software  installed
270241         more than once.
270242
270243       · pkg.list_pkgs  now  returns 'Not Found' when the version is not found
270244         instead of '(value not set)' which matches the contents  of  the  sls
270245         definitions.
270246
270247       · pkg.remove()  will  wait up to 3 seconds (normally about a second) to
270248         detect changes in the registry  after  removing  software,  improving
270249         reporting of version changes.
270250
270251       · pkg.remove()  can remove latest software, if latest is defined in sls
270252         definition.
270253
270254       · Documentation was update for the execution module to match the  style
270255         in new versions, some corrections as well.
270256
270257       · All  install/remove commands are prefix with cmd.exe shell and cmdmod
270258         is called with a command line string instead  of  a  list.  Some  sls
270259         files  in  saltstack/salt-winrepo-ng expected the commands to be pre‐
270260         fixed with cmd.exe (i.e. the use of &).
270261
270262       · Some execution module functions results, now behavour more like their
270263         Unix/Linux versions.
270264
270265   Installer
270266   Changes to config handling
270267       Behavior with existing configuration has changed. With previous windows
270268       installers the existing config was used and the master  and  minion  id
270269       could  be  modified  via  the  installer. It was problematic in that it
270270       didn't account for configuration that may be defined  in  the  minion.d
270271       directory. This change gives you the option via a drop-down list to use
270272       one of the following:
270273
270274       · Default Config: Use the config that comes with the installer
270275
270276       · Existing Config: Use the current config without changes
270277
270278       · Custom Config: Select a custom config using the file picker
270279
270280       The existing config option will only  be  available  if  the  installer
270281       detects  an  existing  config.  If there is an existing config, and you
270282       choose Default or Custom, the existing config will be deleted,  includ‐
270283       ing the minion.d directory, and replaced by your selection.
270284
270285       The  Default  Config and Custom Config options will allow you to modify
270286       the Master and the Minion ID. Existing Config will leave  the  existing
270287       configuration unchanged.
270288
270289       These  settings  can be defined on the command line using the following
270290       switches:
270291
270292       · /default-config
270293
270294       · /custom-config=C:\Path\To\Custom\Config\minion
270295
270296       If neither option is passed  and  there  is  an  existing  config,  the
270297       default  is  to use the existing config. If there is no existing config
270298       (new install) the default config will be used.
270299
270300   Multi-master configuration
270301       The installer now has the ability to apply a multi-master configuration
270302       either  from  the  GUI or the command line. The master field in the GUI
270303       can accept either a single master or a comma-separated list of masters.
270304       The command-line switch (/master=) can accept the same.
270305
270306   Command-line help
270307       The  Windows  installer  will now display command-line help when a help
270308       switch (/?) is passed.
270309
270310   New utils module salt.utils.pkg.win
270311       A new utils module has been added, which gathers information about win‐
270312       dows  installed software. This is currently not used by any salt execu‐
270313       tion module or state at this time. Users are encouraged to run this and
270314       report  any issues.  Running the command with the detail option will be
270315       useful for anyone developing windows package  definitions.   With  salt
270316       installed  in the default location the following command will print the
270317       help message.
270318
270319          chcp 65001
270320          c:\salt\bin\python.exe c:\salt\bin\lib\site-packages\salt\utils\pkg\win.py
270321          c:\salt\bin\python.exe c:\salt\bin\lib\site-packages\salt\utils\pkg\win.py detail system
270322
270323   Salt Cloud Features
270324   OpenStack Revamp
270325       The OpenStack Driver has been rewritten mostly from scratch.   Salt  is
270326       now using the shade driver <https://docs.openstack.org/shade/latest/>.
270327
270328       With this, the nova driver is being deprecated.
270329
270330       openstack driver
270331
270332       There  have also been several new modules and states added for managing
270333       OpenStack setups using shade as well.
270334
270335       keystone keystone role grant keystone group keystone role keystone ser‐
270336       vice  keystone  user keystone domain keystone project keystone endpoint
270337       glance glance_image neutron neutron  subnet  neutron  secgroup  neutron
270338       secgroup rule neutron network
270339
270340   Pre-Flight Commands
270341       Support  has  been added for specified "preflight commands" to run on a
270342       VM before the deploy script is run. These must be defined as a list  in
270343       a cloud configuration file. For example:
270344
270345          my-cloud-profile:
270346            provider: linode-config
270347            image: Ubuntu 16.04 LTS
270348            size: Linode 2048
270349            preflight_cmds:
270350              - whoami
270351              - echo 'hello world!'
270352
270353       These commands will run in sequence before the bootstrap script is exe‐
270354       cuted.
270355
270356   New salt-cloud Grains
270357       When salt-cloud creates a new minion, it will now add grain information
270358       to  the minion configuration file, identifying the resources originally
270359       used to create it.
270360
270361       The generated grain information will appear similar to:
270362
270363          grains:
270364            salt-cloud:
270365              driver: ec2
270366              provider: my_ec2:ec2
270367              profile: ec2-web
270368
270369       The generation of salt-cloud grains can be  suppressed  by  the  option
270370       enable_cloud_grains: 'False' in the cloud configuration file.
270371
270372   Upgraded Saltify Driver
270373       The  salt-cloud  Saltify driver is used to provision machines which are
270374       not controlled by a dedicated cloud supervisor (such as  typical  hard‐
270375       ware  machines) by pushing a salt-bootstrap command to them and accept‐
270376       ing them on the salt master. Creation of a node has been its only func‐
270377       tion and no other salt-cloud commands were implemented.
270378
270379       With this upgrade, it can use the salt-api to provide advanced control,
270380       such as rebooting a machine, querying it along with conventional  cloud
270381       minions, and, ultimately, disconnecting it from its master.
270382
270383       After disconnection from ("destroying" on) one master, a machine can be
270384       re-purposed by connecting to ("creating" on) a subsequent master.
270385
270386   New Vagrant Driver
270387       The salt-cloud Vagrant driver brings virtual machines running in a lim‐
270388       ited  environment, such as a programmer's workstation, under salt-cloud
270389       control.  This can be useful for experimentation, instruction, or test‐
270390       ing salt configurations.
270391
270392       Using  salt-api  on  the  master, and a salt-minion running on the host
270393       computer, the Vagrant driver can create (vagrant up), restart  (vagrant
270394       reload), and destroy (vagrant destroy) VMs, as controlled by salt-cloud
270395       profiles which designate a Vagrantfile on the host machine.
270396
270397       The master can be a very limited machine, such as a Raspberry Pi, or  a
270398       small VagrantBox VM.
270399
270400   Python PyWinRM Module
270401       Versions  of  pywinrm>=0.2.1  are finally able to disable validation of
270402       self signed certificates.  Here for more information.
270403
270404   DigitalOcean
270405       The DigitalOcean driver has been renamed  to  conform  to  the  company
270406       name.  The new driver name is digitalocean.  The old name digital_ocean
270407       and a short one do will still be  supported  through  virtual  aliases,
270408       this is mostly cosmetic.
270409
270410   Azure Cloud
270411       The  azure  sdk  used  for  the  azurearm  cloud  driver now depends on
270412       azure-cli>=2.0.12
270413
270414   New saltclass pillar/master_tops modules
270415       This    module    clones    the     behaviour     of     reclass     (‐
270416       http://reclass.pantsfullofunix.net/),  without  the need of an external
270417       app, and add several features to improve flexibility.   Saltclass  lets
270418       you  define your nodes from simple yaml files (.yml) through hierarchi‐
270419       cal class inheritance with the possibility to override pillars down the
270420       tree.
270421
270422       Features
270423
270424       · Define your nodes through hierarchical class inheritance
270425
270426       · Reuse your reclass data with minimal modifications
270427
270428            · applications => states
270429
270430            · parameters => pillars
270431
270432       · Use Jinja templating in your yaml definitions
270433
270434       · Access to the following Salt objects in Jinja
270435
270436            · __opts__
270437
270438            · __salt__
270439
270440            · __grains__
270441
270442            · __pillars__
270443
270444            · minion_id
270445
270446       · Chose  how  to  merge  or  override your lists using ^ character (see
270447         examples)
270448
270449       · Expand variables ${} with possibility to escape them  if  needed  ${}
270450         (see examples)
270451
270452       · Ignores  missing  node/class  and  will  simply  return empty without
270453         breaking the pillar module completely - will be logged
270454
270455       An    example     subset     of     data     is     available     here:
270456       http://git.mauras.ch/salt/saltclass/src/master/examples
270457
270458              ┌───────────────────────────┬────────────────────────────┐
270459              │Terms usable in yaml files │ Description                │
270460              ├───────────────────────────┼────────────────────────────┤
270461              │classes                    │ A  list  of  classes  that │
270462              │                           │ will be processed in order │
270463              ├───────────────────────────┼────────────────────────────┤
270464              │states                     │ A list of states that will │
270465              │                           │ be returned by master_tops │
270466              │                           │ function                   │
270467              ├───────────────────────────┼────────────────────────────┤
270468              │pillars                    │ A  yaml  dictionary   that │
270469              │                           │ will  be  returned  by the │
270470              │                           │ ext_pillar function        │
270471              ├───────────────────────────┼────────────────────────────┤
270472              │environment                │ Node saltenv that will  be │
270473              │                           │ used by master_tops        │
270474              └───────────────────────────┴────────────────────────────┘
270475
270476       A class consists of:
270477
270478       · zero or more parent classes
270479
270480       · zero or more states
270481
270482       · any number of pillars
270483
270484       A  child class can override pillars from a parent class. A node defini‐
270485       tion is a class in itself  with  an  added  environment  parameter  for
270486       saltenv definition.
270487
270488       Class Names
270489
270490       Class  names  mimic salt way of defining states and pillar files.  This
270491       means that default.users class name will correspond to one of these:
270492
270493       · <saltclass_path>/classes/default/users.yml
270494
270495       · <saltclass_path>/classes/default/users/init.yml
270496
270497       Saltclass Tree
270498
270499       A saltclass tree would look like this:
270500
270501          <saltclass_path>
270502          ├── classes
270503          │   ├── app
270504          │   │   ├── borgbackup.yml
270505          │   │   └── ssh
270506          │   │       └── server.yml
270507          │   ├── default
270508          │   │   ├── init.yml
270509          │   │   ├── motd.yml
270510          │   │   └── users.yml
270511          │   ├── roles
270512          │   │   ├── app.yml
270513          │   │   └── nginx
270514          │   │       ├── init.yml
270515          │   │       └── server.yml
270516          │   └── subsidiaries
270517          │       ├── gnv.yml
270518          │       ├── qls.yml
270519          │       └── zrh.yml
270520          └── nodes
270521              ├── geneva
270522              │   └── gnv.node1.yml
270523              ├── lausanne
270524              │   ├── qls.node1.yml
270525              │   └── qls.node2.yml
270526              ├── node127.yml
270527              └── zurich
270528                  ├── zrh.node1.yml
270529                  ├── zrh.node2.yml
270530                  └── zrh.node3.yml
270531
270532       Examples
270533
270534       <saltclass_path>/nodes/lausanne/qls.node1.yml
270535
270536          environment: base
270537
270538          classes:
270539          {% for class in ['default'] %}
270540            - {{ class }}
270541          {% endfor %}
270542            - subsidiaries.{{ __grains__['id'].split('.')[0] }}
270543
270544       <saltclass_path>/classes/default/init.yml
270545
270546          classes:
270547            - default.users
270548            - default.motd
270549
270550          states:
270551            - openssh
270552
270553          pillars:
270554            default:
270555              network:
270556                dns:
270557                  srv1: 192.168.0.1
270558                  srv2: 192.168.0.2
270559                  domain: example.com
270560              ntp:
270561                srv1: 192.168.10.10
270562                srv2: 192.168.10.20
270563
270564       <saltclass_path>/classes/subsidiaries/gnv.yml
270565
270566          pillars:
270567            default:
270568              network:
270569                sub: Geneva
270570                dns:
270571                  srv1: 10.20.0.1
270572                  srv2: 10.20.0.2
270573                  srv3: 192.168.1.1
270574                  domain: gnv.example.com
270575              users:
270576                adm1:
270577                  uid: 1210
270578                  gid: 1210
270579                  gecos: 'Super user admin1'
270580                  homedir: /srv/app/adm1
270581                adm3:
270582                  uid: 1203
270583                  gid: 1203
270584                  gecos: 'Super user adm
270585
270586       Variable expansions:
270587
270588       Escaped variables are rendered as is - ${test}
270589
270590       Missing variables are rendered as is - ${net:dns:srv2}
270591
270592          pillars:
270593            app:
270594            config:
270595              dns:
270596                srv1: ${default:network:dns:srv1}
270597                srv2: ${net:dns:srv2}
270598              uri: https://application.domain/call?\${test}
270599              prod_parameters:
270600                - p1
270601                - p2
270602                - p3
270603            pkg:
270604              - app-core
270605              - app-backend
270606
270607       List override:
270608
270609       Not using ^ as the first entry will simply merge the lists
270610
270611          pillars:
270612            app:
270613              pkg:
270614                - ^
270615                - app-frontend
270616
270617       Known limitation
270618
270619       Currently you can't have both a variable and an escaped variable in the
270620       same string as the escaped one will not be correctly rendered - '${xx}'
270621       will stay as is instead of being rendered as '${xx}'
270622
270623   Lists of comments in state returns
270624       State functions can now return a list of strings for the comment field,
270625       as  opposed  to  only  a  single string.  This is meant to ease writing
270626       states with multiple or multi-part comments.
270627
270628   Beacon configuration changes
270629       In order to remain consistent and to align with other  Salt  components
270630       such  as states, support for configuring beacons using dictionary based
270631       configuration has been deprecated in favor of list based configuration.
270632       All  beacons have a validation function which will check the configura‐
270633       tion for the correct format and only load if the validation passes.
270634
270635   avahi_announce
270636       Old behavior:
270637
270638          beacons:
270639            avahi_announce:
270640              run_once: True
270641              servicetype: _demo._tcp
270642              port: 1234
270643              txt:
270644                ProdName: grains.productname
270645                SerialNo: grains.serialnumber
270646                Comments: 'this is a test'
270647
270648       New behavior:
270649
270650          beacons:
270651            avahi_announce:
270652              - run_once: True
270653              - servicetype: _demo._tcp
270654              - port: 1234
270655              - txt:
270656                  ProdName: grains.productname
270657                  SerialNo: grains.serialnumber
270658                  Comments: 'this is a test'
270659
270660   bonjour_announce
270661       Old behavior:
270662
270663          beacons:
270664            bonjour_announce:
270665              run_once: True
270666              servicetype: _demo._tcp
270667              port: 1234
270668              txt:
270669                ProdName: grains.productname
270670                SerialNo: grains.serialnumber
270671                Comments: 'this is a test'
270672
270673       New behavior:
270674
270675          beacons:
270676            bonjour_announce:
270677              - run_once: True
270678              - servicetype: _demo._tcp
270679              - port: 1234
270680              - txt:
270681                  ProdName: grains.productname
270682                  SerialNo: grains.serialnumber
270683                  Comments: 'this is a test'
270684
270685   btmp
270686       Old behavior:
270687
270688          beacons:
270689            btmp: {}
270690
270691       New behavior:
270692
270693          beacons:
270694            btmp: []
270695
270696   glxinfo
270697       Old behavior:
270698
270699          beacons:
270700            glxinfo:
270701              user: frank
270702              screen_event: True
270703
270704       New behavior:
270705
270706          beacons:
270707            glxinfo:
270708              - user: frank
270709              - screen_event: True
270710
270711   haproxy
270712       Old behavior:
270713
270714          beacons:
270715              haproxy:
270716                  - www-backend:
270717                      threshold: 45
270718                      servers:
270719                          - web1
270720                          - web2
270721                  - interval: 120
270722
270723       New behavior:
270724
270725          beacons:
270726            haproxy:
270727              - backends:
270728                  www-backend:
270729                    threshold: 45
270730                    servers:
270731                      - web1
270732                      - web2
270733              - interval: 120
270734
270735   inotify
270736       Old behavior:
270737
270738          beacons:
270739            inotify:
270740              /path/to/file/or/dir:
270741                  mask:
270742                    - open
270743                    - create
270744                    - close_write
270745                  recurse: True
270746                  auto_add: True
270747                  exclude:
270748                    - /path/to/file/or/dir/exclude1
270749                    - /path/to/file/or/dir/exclude2
270750                    - /path/to/file/or/dir/regex[a-m]*$:
270751                  regex: True
270752              coalesce: True
270753
270754       New behavior:
270755
270756          beacons:
270757            inotify:
270758              - files:
270759                  /path/to/file/or/dir:
270760                    mask:
270761                      - open
270762                      - create
270763                      - close_write
270764                    recurse: True
270765                    auto_add: True
270766                    exclude:
270767                      - /path/to/file/or/dir/exclude1
270768                      - /path/to/file/or/dir/exclude2
270769                      - /path/to/file/or/dir/regex[a-m]*$:
270770                    regex: True
270771              - coalesce: True
270772
270773   journald
270774       Old behavior:
270775
270776          beacons:
270777            journald:
270778              sshd:
270779                SYSLOG_IDENTIFIER: sshd
270780                PRIORITY: 6
270781
270782       New behavior:
270783
270784          beacons:
270785            journald:
270786              - services:
270787                  sshd:
270788                    SYSLOG_IDENTIFIER: sshd
270789                    PRIORITY: 6
270790
270791   load
270792       Old behavior:
270793
270794          beacons:
270795            load:
270796              1m:
270797                - 0.0
270798                - 2.0
270799              5m:
270800                - 0.0
270801                - 1.5
270802              15m:
270803                - 0.1
270804                - 1.0
270805              emitatstartup: True
270806              onchangeonly: False
270807
270808       New behavior:
270809
270810          beacons:
270811            load:
270812              - averages:
270813                  1m:
270814                    - 0.0
270815                    - 2.0
270816                  5m:
270817                    - 0.0
270818                    - 1.5
270819                  15m:
270820                    - 0.1
270821                    - 1.0
270822              - emitatstartup: True
270823              - onchangeonly: False
270824
270825   log
270826       Old behavior:
270827
270828          beacons:
270829              log:
270830                file: <path>
270831                <tag>:
270832                  regex: <pattern>
270833
270834       New behavior:
270835
270836          beacons:
270837              log:
270838                - file: <path>
270839                - tags:
270840                    <tag>:
270841                      regex: <pattern>
270842
270843   network_info
270844       Old behavior:
270845
270846          beacons:
270847            network_info:
270848              - eth0:
270849                  type: equal
270850                  bytes_sent: 100000
270851                  bytes_recv: 100000
270852                  packets_sent: 100000
270853                  packets_recv: 100000
270854                  errin: 100
270855                  errout: 100
270856                  dropin: 100
270857                  dropout: 100
270858
270859       New behavior:
270860
270861          beacons:
270862            network_info:
270863              - interfaces:
270864                  eth0:
270865                    type: equal
270866                    bytes_sent: 100000
270867                    bytes_recv: 100000
270868                    packets_sent: 100000
270869                    packets_recv: 100000
270870                    errin: 100
270871                    errout: 100
270872                    dropin: 100
270873                    dropout: 100
270874
270875   network_settings
270876       Old behavior:
270877
270878          beacons:
270879            network_settings:
270880              eth0:
270881                ipaddr:
270882                promiscuity:
270883                  onvalue: 1
270884              eth1:
270885                linkmode:
270886
270887       New behavior:
270888
270889          beacons:
270890            network_settings:
270891              - interfaces:
270892                  - eth0:
270893                      ipaddr:
270894                      promiscuity:
270895                        onvalue: 1
270896                  - eth1:
270897                      linkmode:
270898
270899   proxy_example
270900       Old behavior:
270901
270902          beacons:
270903            proxy_example:
270904              endpoint: beacon
270905
270906       New behavior:
270907
270908          beacons:
270909            proxy_example:
270910              - endpoint: beacon
270911
270912   ps
270913       Old behavior:
270914
270915          beacons:
270916            ps:
270917              - salt-master: running
270918              - mysql: stopped
270919
270920       New behavior:
270921
270922          beacons:
270923            ps:
270924              - processes:
270925                  salt-master: running
270926                  mysql: stopped
270927
270928   salt_proxy
270929       Old behavior:
270930
270931          beacons:
270932            salt_proxy:
270933              - p8000: {}
270934              - p8001: {}
270935
270936       New behavior:
270937
270938          beacons:
270939            salt_proxy:
270940              - proxies:
270941                  p8000: {}
270942                  p8001: {}
270943
270944   sensehat
270945       Old behavior:
270946
270947          beacons:
270948            sensehat:
270949              humidity: 70%
270950              temperature: [20, 40]
270951              temperature_from_pressure: 40
270952              pressure: 1500
270953
270954       New behavior:
270955
270956          beacons:
270957            sensehat:
270958              - sensors:
270959                  humidity: 70%
270960                  temperature: [20, 40]
270961                  temperature_from_pressure: 40
270962                  pressure: 1500
270963
270964   service
270965       Old behavior:
270966
270967          beacons:
270968            service:
270969              salt-master:
270970              mysql:
270971
270972       New behavior:
270973
270974          beacons:
270975            service:
270976              - services:
270977                  nginx:
270978                      onchangeonly: True
270979                      delay: 30
270980                      uncleanshutdown: /run/nginx.pid
270981
270982   sh
270983       Old behavior:
270984
270985          beacons:
270986            sh: {}
270987
270988       New behavior:
270989
270990          beacons:
270991            sh: []
270992
270993   status
270994       Old behavior:
270995
270996          beacons:
270997            status: {}
270998
270999       New behavior:
271000
271001          beacons:
271002            status: []
271003
271004   telegram_bot_msg
271005       Old behavior:
271006
271007          beacons:
271008            telegram_bot_msg:
271009              token: "<bot access token>"
271010              accept_from:
271011                - "<valid username>"
271012              interval: 10
271013
271014       New behavior:
271015
271016          beacons:
271017            telegram_bot_msg:
271018              - token: "<bot access token>"
271019              - accept_from:
271020                - "<valid username>"
271021              - interval: 10
271022
271023   twilio_txt_msg
271024       Old behavior:
271025
271026          beacons:
271027            twilio_txt_msg:
271028              account_sid: "<account sid>"
271029              auth_token: "<auth token>"
271030              twilio_number: "+15555555555"
271031              interval: 10
271032
271033       New behavior:
271034
271035          beacons:
271036            twilio_txt_msg:
271037              - account_sid: "<account sid>"
271038              - auth_token: "<auth token>"
271039              - twilio_number: "+15555555555"
271040              - interval: 10
271041
271042   wtmp
271043       Old behavior:
271044
271045          beacons:
271046            wtmp: {}
271047
271048       New behavior:
271049
271050          beacons:
271051            wtmp: []
271052
271053   New requisites available in state compiler
271054   require_any
271055       The use of require_any demands that one of the required states executes
271056       before the dependent state. The state containing the require_any requi‐
271057       site is defined as the dependent state. The  states  specified  in  the
271058       require_any  statement  are defined as the required states. If at least
271059       one of the required state's execution  succeeds,  the  dependent  state
271060       will  then  execute.  If  all  of the executions by the required states
271061       fail, the dependent state will not execute.
271062
271063   watch_any
271064       The state containing the watch_any requisite is defined as the watching
271065       state.  The  states specified in the watch_any statement are defined as
271066       the watched states. When the watched states execute, they will return a
271067       dictionary containing a key named "changes".
271068
271069       If  the  "result"  of  any  of the watched states is True, the watching
271070       state will execute normally, and if all of them are False, the watching
271071       state  will never run.  This part of watch mirrors the functionality of
271072       the require requisite.
271073
271074       If the "result" of any of the watched states is True and the  "changes"
271075       key  contains  a  populated dictionary (changes occurred in the watched
271076       state), then the watch requisite  can  add  additional  behavior.  This
271077       additional  behavior  is  defined  by the mod_watch function within the
271078       watching state module. If the mod_watch function exists in the watching
271079       state  module,  it  will  be  called in addition to the normal watching
271080       state. The return data from the mod_watch  function  is  what  will  be
271081       returned  to  the  master  in  this case; the return data from the main
271082       watching function is discarded.
271083
271084       If the "changes" key contains an empty dictionary, the watch  requisite
271085       acts  exactly  like the require requisite (the watching state will exe‐
271086       cute if "result" is True, and fail if "result" is False in the  watched
271087       state).
271088
271089   onchanges_any
271090       The  onchanges_any  requisite  makes  a  state  only  apply  one of the
271091       required states generates changes, and if one of  the  watched  state's
271092       "result" is True. This can be a useful way to execute a post hook after
271093       changing aspects of a system.
271094
271095   onfail_any
271096       The onfail_any requisite allows for reactions to happen strictly  as  a
271097       response  to  the failure of at least one other state. This can be used
271098       in a number of ways, such as executing a second attempt  to  set  up  a
271099       service  or  begin  to execute a separate thread of states because of a
271100       failure.
271101
271102       The onfail_any requisite is applied in the same way as require_any  and
271103       watch_any.
271104
271105   Basic Slots support in state compiler
271106       Slots  extend the state syntax and allows you to do things right before
271107       the state function is executed. So you can make a decision in the  last
271108       moment right before a state is executed.
271109
271110       Slot  syntax  looks close to the simple python function call. Here is a
271111       simple example:
271112
271113          copy-some-file:
271114            file.copy:
271115              - name: __slot__:salt:test.echo(text=/tmp/some_file)
271116              - source: __slot__:salt:test.echo(/etc/hosts)
271117
271118       Read more here.
271119
271120   Cryptographic layer changes
271121       M2Crypto is coming back. We are making the crypto backend  modular  but
271122       in  this  release  M2Crypto is enabled if it's importable by Python. If
271123       not Cryptodome or PyCrypto is used as it was in the previous  releases.
271124       M2Crypto  is used in the same way as PyCrypto so there would be no com‐
271125       patibility issues, different nodes could use different backends.
271126
271127   NaCL Module and Runner changes
271128       In addition to argument changes in both the NaCL module and runner  for
271129       future  removal in the Neon release, the default "box_type" has changed
271130       from secretbox to sealedbox.  SecretBox is data encrypted using private
271131       key sk and Sealedbox is encrypted using public key pk.
271132
271133   utils functions reorganized into separate modules
271134       The  Salt  utility  functions  from salt.utils (typically used by those
271135       developing extension modules for Salt) have been moved  into  different
271136       modules,  grouped logically based on their functionality. The old func‐
271137       tion names will continue to work until the Neon release  of  Salt  (due
271138       around Q1 2019).
271139
271140       The renamed functions are:
271141
271142       · salt.utils.appendproctitle:   use  salt.utils.process.appendproctitle
271143         instead.
271144
271145       · salt.utils.daemonize: use salt.utils.process.daemonize instead.
271146
271147       · salt.utils.daemonize_if: use salt.utils.process.daemonize_if instead.
271148
271149       · salt.utils.reinit_crypto: use salt.utils.crypt.reinit_crypto instead.
271150
271151       · salt.utils.pem_finger: use salt.utils.crypt.pem_finger instead.
271152
271153       · salt.utils.to_bytes: use salt.utils.stringutils.to_bytes instead.
271154
271155       · salt.utils.to_str: use salt.utils.stringutils.to_str instead.
271156
271157       · salt.utils.to_unicode: use salt.utils.stringutils.to_unicode instead.
271158
271159       · salt.utils.str_to_num: use salt.utils.stringutils.to_num instead.
271160
271161       · salt.utils.is_quoted: use salt.utils.stringutils.is_quoted instead.
271162
271163       · salt.utils.dequote: use salt.utils.stringutils.dequote instead.
271164
271165       · salt.utils.is_hex: use salt.utils.stringutils.is_hex instead.
271166
271167       · salt.utils.is_bin_str: use salt.utils.stringutils.is_bin_str instead.
271168
271169       · salt.utils.rand_string: use salt.utils.stringutils.random instead.
271170
271171       · salt.utils.contains_whitespace:    use    salt.utils.stringutils.con‐
271172         tains_whitespace instead.
271173
271174       · salt.utils.build_whitespace_split_regex:                          use
271175         salt.utils.stringutils.build_whitespace_split_regex instead.
271176
271177       · salt.utils.expr_match: use salt.utils.stringutils.expr_match instead.
271178
271179       · salt.utils.check_whitelist_blacklist:                             use
271180         salt.utils.stringutils.check_whitelist_blacklist instead.
271181
271182       · salt.utils.check_include_exclude:                                 use
271183         salt.utils.stringutils.check_include_exclude instead.
271184
271185       · salt.utils.print_cli: use salt.utils.stringutils.print_cli instead.
271186
271187       · salt.utils.clean_kwargs: use salt.utils.args.clean_kwargs instead.
271188
271189       · salt.utils.invalid_kwargs:     use     salt.utils.args.invalid_kwargs
271190         instead.
271191
271192       · salt.utils.shlex_split: use salt.utils.args.shlex_split instead.
271193
271194       · salt.utils.arg_lookup: use salt.utils.args.arg_lookup instead.
271195
271196       · salt.utils.argspec_report:     use     salt.utils.args.argspec_report
271197         instead.
271198
271199       · salt.utils.split_input: use salt.utils.args.split_input instead.
271200
271201       · salt.utils.test_mode: use salt.utils.args.test_mode instead.
271202
271203       · salt.utils.format_call: use salt.utils.args.format_call instead.
271204
271205       · salt.utils.which: use salt.utils.path.which instead.
271206
271207       · salt.utils.which_bin: use salt.utils.path.which_bin instead.
271208
271209       · salt.utils.path_join: use salt.utils.path.join instead.
271210
271211       · salt.utils.check_or_die: use salt.utils.path.check_or_die instead.
271212
271213       · salt.utils.sanitize_win_path_string:    use     salt.utils.path.sani‐
271214         tize_win_path instead.
271215
271216       · salt.utils.rand_str: use salt.utils.hashutils.random_hash instead.
271217
271218       · salt.utils.get_hash: use salt.utils.hashutils.get_hash instead.
271219
271220       · salt.utils.is_windows: use salt.utils.platform.is_windows instead.
271221
271222       · salt.utils.is_proxy: use salt.utils.platform.is_proxy instead.
271223
271224       · salt.utils.is_linux: use salt.utils.platform.is_linux instead.
271225
271226       · salt.utils.is_darwin: use salt.utils.platform.is_darwin instead.
271227
271228       · salt.utils.is_sunos: use salt.utils.platform.is_sunos instead.
271229
271230       · salt.utils.is_smartos: use salt.utils.platform.is_smartos instead.
271231
271232       · salt.utils.is_smartos_globalzone:   use  salt.utils.platform.is_smar‐
271233         tos_globalzone instead.
271234
271235       · salt.utils.is_smartos_zone:  use  salt.utils.platform.is_smartos_zone
271236         instead.
271237
271238       · salt.utils.is_freebsd: use salt.utils.platform.is_freebsd instead.
271239
271240       · salt.utils.is_netbsd: use salt.utils.platform.is_netbsd instead.
271241
271242       · salt.utils.is_openbsd: use salt.utils.platform.is_openbsd instead.
271243
271244       · salt.utils.is_aix: use salt.utils.platform.is_aix instead.
271245
271246       · salt.utils.safe_rm: use salt.utils.files.safe_rm instead.
271247
271248       · salt.utils.is_empty: use salt.utils.files.is_empty instead.
271249
271250       · salt.utils.fopen: use salt.utils.files.fopen instead.
271251
271252       · salt.utils.flopen: use salt.utils.files.flopen instead.
271253
271254       · salt.utils.fpopen: use salt.utils.files.fpopen instead.
271255
271256       · salt.utils.rm_rf: use salt.utils.files.rm_rf instead.
271257
271258       · salt.utils.mkstemp: use salt.utils.files.mkstemp instead.
271259
271260       · salt.utils.istextfile: use salt.utils.files.is_text_file instead.
271261
271262       · salt.utils.is_bin_file: use salt.utils.files.is_binary instead.
271263
271264       · salt.utils.list_files: use salt.utils.files.list_files instead.
271265
271266       · salt.utils.safe_walk: use salt.utils.files.safe_walk instead.
271267
271268       · salt.utils.st_mode_to_octal:   use  salt.utils.files.st_mode_to_octal
271269         instead.
271270
271271       · salt.utils.normalize_mode:    use     salt.utils.files.normalize_mode
271272         instead.
271273
271274       · salt.utils.human_size_to_bytes:                                   use
271275         salt.utils.files.human_size_to_bytes instead.
271276
271277       · salt.utils.backup_minion: use salt.utils.files.backup_minion instead.
271278
271279       · salt.utils.str_version_to_evr: use  salt.utils.pkg.rpm.version_to_evr
271280         instead.
271281
271282       · salt.utils.parse_docstring:     use    salt.utils.doc.parse_docstring
271283         instead.
271284
271285       · salt.utils.compare_versions: use salt.utils.versions.compare instead.
271286
271287       · salt.utils.version_cmp: use salt.utils.versions.version_cmp instead.
271288
271289       · salt.utils.warn_until: use salt.utils.versions.warn_until instead.
271290
271291       · salt.utils.kwargs_warn_until:           use           salt.utils.ver‐
271292         sions.kwargs_warn_until instead.
271293
271294       · salt.utils.get_color_theme:    use   salt.utils.color.get_color_theme
271295         instead.
271296
271297       · salt.utils.get_colors: use salt.utils.color.get_colors instead.
271298
271299       · salt.utils.gen_state_tag: use salt.utils.state.gen_tag instead.
271300
271301       · salt.utils.search_onfail_requisites:                              use
271302         salt.utils.state.search_onfail_requisites instead.
271303
271304       · salt.utils.check_state_result:    use   salt.utils.state.check_result
271305         instead.
271306
271307       · salt.utils.get_user: use salt.utils.user.get_user instead.
271308
271309       · salt.utils.get_uid: use salt.utils.user.get_uid instead.
271310
271311       · salt.utils.get_specific_user:  use  salt.utils.user.get_specific_user
271312         instead.
271313
271314       · salt.utils.chugid: use salt.utils.user.chugid instead.
271315
271316       · salt.utils.chugid_and_umask:   use   salt.utils.user.chugid_and_umask
271317         instead.
271318
271319       · salt.utils.get_default_group:  use  salt.utils.user.get_default_group
271320         instead.
271321
271322       · salt.utils.get_group_list:     use     salt.utils.user.get_group_list
271323         instead.
271324
271325       · salt.utils.get_group_dict:     use     salt.utils.user.get_group_dict
271326         instead.
271327
271328       · salt.utils.get_gid_list: use salt.utils.user.get_gid_list instead.
271329
271330       · salt.utils.get_gid: use salt.utils.user.get_gid instead.
271331
271332       · salt.utils.enable_ctrl_logoff_handler:    use    salt.utils.win_func‐
271333         tions.enable_ctrl_logoff_handler instead.
271334
271335       · salt.utils.traverse_dict: use salt.utils.data.traverse_dict instead.
271336
271337       · salt.utils.traverse_dict_and_list:      use      salt.utils.data.tra‐
271338         verse_dict_and_list instead.
271339
271340       · salt.utils.filter_by: use salt.utils.data.filter_by instead.
271341
271342       · salt.utils.subdict_match: use salt.utils.data.subdict_match instead.
271343
271344       · salt.utils.substr_in_list:     use     salt.utils.data.substr_in_list
271345         instead.
271346
271347       · salt.utils.is_dictlist: use salt.utils.data.is_dictlist.
271348
271349       · salt.utils.repack_dictlist:    use    salt.utils.data.repack_dictlist
271350         instead.
271351
271352       · salt.utils.compare_dicts: use salt.utils.data.compare_dicts instead.
271353
271354       · salt.utils.compare_lists: use salt.utils.data.compare_lists instead.
271355
271356       · salt.utils.decode_dict: use salt.utils.data.encode_dict instead.
271357
271358       · salt.utils.decode_list: use salt.utils.data.encode_list instead.
271359
271360       · salt.utils.exactly_n: use salt.utils.data.exactly_n instead.
271361
271362       · salt.utils.exactly_one: use salt.utils.data.exactly_one instead.
271363
271364       · salt.utils.is_list: use salt.utils.data.is_list instead.
271365
271366       · salt.utils.is_iter: use salt.utils.data.is_iter instead.
271367
271368       · salt.utils.isorted: use salt.utils.data.sorted_ignorecase instead.
271369
271370       · salt.utils.is_true: use salt.utils.data.is_true instead.
271371
271372       · salt.utils.mysql_to_dict: use salt.utils.data.mysql_to_dict instead.
271373
271374       · salt.utils.simple_types_filter: use salt.utils.data.simple_types_fil‐
271375         ter instead.
271376
271377       · salt.utils.ip_bracket: use salt.utils.zeromq.ip_bracket instead.
271378
271379       · salt.utils.gen_mac: use salt.utils.network.gen_mac instead.
271380
271381       · salt.utils.mac_str_to_bytes: use  salt.utils.network.mac_str_to_bytes
271382         instead.
271383
271384       · salt.utils.refresh_dns: use salt.utils.network.refresh_dns instead.
271385
271386       · salt.utils.dns_check: use salt.utils.network.dns_check instead.
271387
271388       · salt.utils.get_context:     use    salt.utils.stringutils.get_context
271389         instead.
271390
271391       · salt.utils.get_master_key:    use    salt.utils.master.get_master_key
271392         instead.
271393
271394       · salt.utils.get_values_of_matching_keys:      use      salt.utils.mas‐
271395         ter.get_values_of_matching_keys instead.
271396
271397       · salt.utils.date_cast: use salt.utils.dateutils.date_cast instead.
271398
271399       · salt.utils.date_format: use salt.utils.dateutils.strftime instead.
271400
271401       · salt.utils.total_seconds:   use    salt.utils.dateutils.total_seconds
271402         instead.
271403
271404       · salt.utils.find_json: use salt.utils.json.find_json instead.
271405
271406       · salt.utils.import_json: use salt.utils.json.import_json instead.
271407
271408       · salt.utils.namespaced_function:    use    salt.utils.functools.names‐
271409         paced_function instead.
271410
271411       · salt.utils.alias_function:  use   salt.utils.functools.alias_function
271412         instead.
271413
271414       · salt.utils.profile_func: use salt.utils.profile.profile_func instead.
271415
271416       · salt.utils.activate_profile:  use salt.utils.profile.activate_profile
271417         instead.
271418
271419       · salt.utils.output_profile:   use    salt.utils.profile.output_profile
271420         instead.
271421
271422   Deprecations
271423   Configuration Option Deprecations
271424       · The  requests_lib  configuration  option has been removed. Please use
271425         backend instead.
271426
271427   Profitbricks Cloud Updated Dependency
271428       The minimum version of the profitbrick python package for  the  profit‐
271429       bricks cloud driver has changed from 3.0.0 to 3.1.0.
271430
271431   Execution Module Deprecations
271432       · The  blockdev  execution  module has been removed. Its functions were
271433         merged with the disk module.
271434
271435       · The lxc execution module has been changed as follows:
271436
271437            · The dnsservers  option  to  lxc.cloud_init_interface  no  longer
271438              defaults to 4.4.4.4 and 8.8.8.8.
271439
271440            · The dns_via_dhcp option to lxc.cloud_init_interface now defaults
271441              to True instead of False.
271442
271443       · The win_psget module has been changed as follows:
271444
271445            · The   psget.psversion   function   was   removed.   Please   use
271446              cmd.shell_info instead.
271447
271448       · The  win_service module (which provides the service module on Windows
271449         platforms) has been changed as follows:
271450
271451            · The config  function  was  removed.  Please  use  service.modify
271452              instead.
271453
271454            · The following arguments to the service.create function have been
271455              renamed:
271456
271457                  · binpath has been renamed to bin_path
271458
271459                  · depend has been renamed to dependencies
271460
271461                  · DisplayName has been renamed to display_name
271462
271463                  · error has been renamed to error_control
271464
271465                  · group has been renamed to load_order_group
271466
271467                  · obj has been renamed to account_name
271468
271469                  · password has been renamed to account_password
271470
271471                  · start has been renamed to start_type
271472
271473                  · type has been renamed to service_type
271474
271475       · The nacl module has been changed as follows:
271476
271477            · The following arguments have been renamed  in  the  nacl.keygen,
271478              nacl.enc, and nacl.dec:
271479
271480                  · key_file has been renamed to sk_file
271481
271482                  · key has been renamed to sk
271483
271484   Runner Deprecations
271485       · The manage runner has been changed as follows:
271486
271487            · root_user  argument  was removed from the manage.bootstrap func‐
271488              tion. Please use salt-ssh roster entries for the host instead.
271489
271490       · The nacl runner has been changed as follows:
271491
271492            · The following arguments have been renamed  in  the  nacl.keygen,
271493              nacl.enc, and nacl.dec:
271494
271495                  · key_file has been renamed to sk_file
271496
271497                  · key has been renamed to sk
271498
271499   State Deprecations
271500       · In  the  archive  state, the tar_options and zip_options options were
271501         removed. Please use options instead.
271502
271503       · The cmd state had the following changes:
271504
271505            · The user and group options were removed from the following func‐
271506              tions (please use runas instead):
271507
271508                  · cmd.run
271509
271510                  · cmd.script
271511
271512                  · cmd.wait
271513
271514                  · cmd.wait_script
271515
271516       · In  the  file  states, the show_diff option was removed in all states
271517         where it was previously supported. Please use show_changes instead.
271518
271519   Grain Deprecations
271520       · For smartos, some grains have been deprecated. These grains  will  be
271521         removed in Neon:
271522
271523            · The    hypervisor_uuid    grain    has    been   replaced   with
271524              mdata:sdc:server_uuid
271525
271526            · The datacenter grain has been replaced  with  mdata:sdc:datacen‐
271527              ter_name
271528
271529   Pillar Deprecations
271530       The  legacy  configuration  for git_pillar has been removed. Please use
271531       the new configuration for git_pillar which was added in 2015.8.0, which
271532       is documented here.
271533
271534   Utils Deprecations
271535       · In  salt.utils.cloud, the fire_event function now requires a sock_dir
271536         argument. It was previously optional.
271537
271538   Other Miscellaneous Deprecations
271539       · In version.py, the rc_info function was removed. Please use  pre_info
271540         instead.
271541
271542       · Warnings  for  moving  away from the env option were removed. saltenv
271543         should be used instead. The removal of these warnings does not have a
271544         behavior change. Only the warning text was removed.
271545
271546   Minion Blackout
271547       During  a  blackout, minions will not execute any remote execution com‐
271548       mands, except for  saltutil.refresh_pillar.   Previously,  support  was
271549       added  so  that  blackouts are enabled using a special pillar key, min‐
271550       ion_blackout set to True  and  an  optional  pillar  key  minion_black‐
271551       out_whitelist to specify additional functions that are permitted during
271552       blackout. This release adds support  for  using  this  feature  in  the
271553       grains  as  well, by using special grains keys minion_blackout and min‐
271554       ion_blackout_whitelist.
271555
271556   Sentry Log Handler
271557       Configuring sentry raven python client via project, servers, public_key
271558       and  ``secret_key  is  deprecated  and won't work with sentry clients >
271559       3.0.  Instead, the dsn config param must be used.
271560
271561   RAET transport
271562       We haven't been doing development on  RAET  for  quite  some  time  and
271563       decided  that  2018.3.0  is  the time to announce the deprecation. RAET
271564       support will be removed in Neon. Please consider to move to  zeromq  or
271565       tcp transport instead of raet.
271566
271567   Salt 2018.3.1 Release Notes
271568       Version 2018.3.1 is a bugfix release for 2018.3.0.
271569
271570   Statistics
271571       · Total Merges: 525
271572
271573       · Total Issue References: 74
271574
271575       · Total PR References: 255
271576
271577       · Contributors:  55  (Ch3LL,  DmitryKuzmenko,  Giandom,  Kimol,  L4rS6,
271578         LukeCarrier,   OrlandoArcapix,    TamCore,    The-Loeki,    UtahDave,
271579         aesposito91,  bbinet,  bdrung, boltronics, bosatsu, clan, corywright,
271580         damon-atkins, dincamihai, dmurphy18, dnABic, douglasjreynolds,  dwoz,
271581         edgan,   ejparker12,  esell,  ezh,  femnad,  folti,  garethgreenaway,
271582         gtmanfred, isbm,  jasperla,  johnj,  mateiw,  mcalmer,  mirceaulinic,
271583         morganwillcock,   opdude,  pcn,  pruiz,  psagers,  psyer,  rallytime,
271584         robinro, s0undt3ch, samodid, shengis, skjaro, tankywoo, terminalmage,
271585         twangboy, vutny, yannj-fr, zmedico)
271586
271587       WARNING:
271588          If  you  are  using  Jinja to dump lists or dictionaries in your SLS
271589          files, this will now cause errors in Python 2 since Jinja  does  not
271590          produce  YAML-compatible  output when strings in the data structures
271591          contain unicode types. The dictionary must be passed through a Jinja
271592          filter to produce YAML-compatible strings.
271593
271594          The below is an example of invalid SLS:
271595
271596              /etc/foo.conf:
271597                file.mangaged:
271598                  - source: salt://foo.conf
271599                  - template: jinja
271600                  - defaults: {{ mydict }}
271601
271602          To make it valid, use either one of Salt's own json or yaml filters:
271603
271604              /etc/foo.conf:
271605                file.mangaged:
271606                  - source: salt://foo.conf
271607                  - template: jinja
271608                  - defaults: {{ mydict | json }}
271609
271610   Tornado 5.0 Support for Python 2 Only
271611       Tornado  5.0  moves to using asyncio for all python3 versions.  Because
271612       of this and changes in asyncio between python 3.4 and 3.5  to  only  be
271613       able to use one ioloop, which requires some rearchitecting, support for
271614       tornado 5.0 and python3 versions of salt has been delayed  to  a  later
271615       release.
271616
271617       For now, to use tornado 5.0, the python 2 version of salt must be used.
271618
271619   Changes to Slack Engine pillars
271620       When  using  groups_pillar_name for the slack engine, the engine should
271621       be used as part of a salt-minion process running on the  master.   This
271622       will  allow  the  minion to have pillars assigned to it, and will still
271623       allow the engine to create a LocalClient connection to the  master  ipc
271624       sockets to control environments.
271625
271626   Changes to Automatically Updating the Roster File
271627       In  2018.3.0  salt-ssh  was configured to automatically update the flat
271628       roster file if a minion was not found for salt-ssh. This was decided to
271629       be  undesireable as a default.  The --skip-roster flag has been removed
271630       and replaced  with --update-roster, which will enable salt-ssh  to  add
271631       minions  to the flat roster file.  This behavior can also be enabled by
271632       setting ssh_update_roster: True in the master config file.
271633
271634   Changes to file.blockreplace State
271635       The append_newline argument was added to this state.  Additionally,  to
271636       improve  idempotence,  if the string represented by marker_end is found
271637       in the middle of the line, the content preceding  the  marker  will  be
271638       removed  when  the  block  is  replaced.  This  allows  one  to  remove
271639       append_newline: False from the SLS and have the block properly replaced
271640       if  the  end  of  the  content  block  is  immediately  followed by the
271641       marker_end (i.e. no newline before the marker).
271642
271643       NOTE:
271644          This will require changes to your SLS if your  marker_end  does  not
271645          include the very beginning of the content you want to keep.
271646
271647       See the file.blockreplace state documentation for further information.
271648
271649   Changelog for v2018.3.0..v2018.3.1
271650       Generated at: 2018-06-06 17:43:01 UTC
271651
271652       · ISSUE #47955: (frogunder) 2018.3.1 Creating Windows machine in Amazon
271653         using salt-cloud fails. (refs: #47989)
271654
271655       · PR #47998: (rallytime) Back-port  #47989  to  2018.3.1  @  2018-06-06
271656         17:08:04 UTC
271657
271658         · PR  #47989: (dwoz) Properly decode password from aws using m2crypto
271659           (refs: #47998)
271660
271661         · 605463ca0d Merge pull request #47998 from rallytime/bp-47989
271662
271663         · 1b7e9ac2d3 Lint fixes
271664
271665         · 0545152ddd Properly decode password from aws using m2crypto
271666
271667       · PR #47965: (Ch3LL) Add PR  47924  from  2018.3  branch  @  2018-06-06
271668         13:54:09 UTC
271669
271670         · dbc798ac68 Merge pull request #47965 from Ch3LL/gitpy_mac_3.1
271671
271672         · bf608abd44 Catch all exceptions in git import for salt.utils.gitfs
271673
271674       · PR  #47973:  (terminalmage)  salt.modules.testinframod: fix TypeError
271675         invoking types.FunctionType @ 2018-06-06 13:53:46 UTC
271676
271677         · 864d640633 Merge pull request #47973 from  terminalmage/fix-testin‐
271678           fra
271679
271680         · 4518c89484 Lint: Remove unused six import
271681
271682         · c6816b2149   salt.modules.testinframod:   fix   TypeError  invoking
271683           types.FunctionType
271684
271685       · ISSUE #47236: (MorphBonehunter) x509.private_key_managed broken after
271686         upgrade to 2018.3.0 (refs: #47957)
271687
271688       · PR  #47967:  (rallytime)  Back-port  #47957  to 2018.3.1 @ 2018-06-06
271689         13:53:28 UTC
271690
271691         · PR #47957: (garethgreenaway) [2018.8] Ensure x509 passphrase  is  a
271692           string (refs: #47967)
271693
271694         · 5ddcfff420 Merge pull request #47967 from rallytime/bp-47957
271695
271696         · 9a55579af1 removing unnecessary change
271697
271698         · 329b2e5956  Ensuring  that  when  a  passphrase is passed in, it is
271699           returned as a string from the passphrase callback.
271700
271701       · PR #47902: (Ch3LL) Remove In Progress for 2018.3.1  Release  Notes  @
271702         2018-05-30 18:26:49 UTC
271703
271704         · 9c964fdbce Merge pull request #47902 from Ch3LL/rn_in_progress
271705
271706         · f560a151cd Remove In Progress for 2018.3.1 Release Notes
271707
271708       · PR  #47897:  (Ch3LL)  Add  changelog  to  2018.3.1  release  notes  @
271709         2018-05-30 15:04:42 UTC
271710
271711         · ea7b4fdc08 Merge pull request #47897 from Ch3LL/rn_2018
271712
271713         · e27ee273a7 Add == line to changelog line for release notes
271714
271715         · 61e56d275d Add changelog to 2018.3.1 release notes
271716
271717       · ISSUE #47784: (jpsv) win_lgpo.py line 5368; AttributeError: 'Ordered‐
271718         Dict' object has no attribute 'lower' (refs: #47848)
271719
271720       · PR  #47848:  (twangboy)  Fix some major issues with the LGPO module @
271721         2018-05-30 13:37:32 UTC
271722
271723         · f15e636d5e Merge pull request #47848 from twangboy/fix_47784
271724
271725         · 98facf8dc8 Remove log.debug statement in __virtual__
271726
271727         · f037fa4064 Fix some major issues with the LGPO module
271728
271729       · PR #47881: (gtmanfred) quote  python_version  in  requirements.txt  @
271730         2018-05-29 21:12:05 UTC
271731
271732         · 92b8c4c08e Merge pull request #47881 from gtmanfred/2018.3.1
271733
271734         · 3d874b5529 quote python_version in requirements.txt
271735
271736       · PR  #47874: (gtmanfred) Tornado 5.0 is only supported on python 2 for
271737         now @ 2018-05-29 19:45:44 UTC
271738
271739         · 705bf8172d Merge pull request #47874 from gtmanfred/2018.3.1
271740
271741         · 13f920415a add tornado5 note to 2018.3.1
271742
271743         · aeacd2b749 allow tornado 5.0 to be installed only for python2
271744
271745       · PR #47820: (Ch3LL) Remove  output_loglevel  in  mac_system  module  @
271746         2018-05-25 13:10:36 UTC
271747
271748         · 09e8c5f0cd Merge pull request #47820 from Ch3LL/mac_system
271749
271750         · 362414e53b Remove output_loglevel in mac_system module
271751
271752       · PR  #47798:  (rallytime)  Back-port  #47776  to 2018.3.1 @ 2018-05-23
271753         15:10:43 UTC
271754
271755         · PR #47776: (garethgreenaway) [2018.3] Fixes to failing _before_con‐
271756           nect tests (refs: #47798)
271757
271758         · 7e314c26c8 Merge pull request #47798 from rallytime/bp-47776
271759
271760         · ae881547d2     Fixing     unit.test_minion.MinionTestCase.test_bea‐
271761           cons_before_connect and unit.test_minion.MinionTestCase.test_sched‐
271762           uler_before_connect.
271763
271764       · PR  #47782:  (rallytime)  Back-port  #47775  to 2018.3.1 @ 2018-05-22
271765         20:56:37 UTC
271766
271767         · PR #47775: (gtmanfred) catch UnsupportedOperation  with  Assertion‐
271768           Error (refs: #47782)
271769
271770         · 9c610da0bc Merge pull request #47782 from rallytime/bp-47775
271771
271772         · bab9c966c5 catch UnsupportedOperation with AssertionError
271773
271774       · PR  #47770:  (rallytime)  Back-port  #47769  to 2018.3.1 @ 2018-05-22
271775         17:27:20 UTC
271776
271777         · PR #47769: (gtmanfred) skip test  that  breaks  test  suite  (refs:
271778           #47770)
271779
271780         · 4adf10b20b Merge pull request #47770 from rallytime/bp-47769
271781
271782         · 3cfb95c7bc skip test that breaks test suite
271783
271784       · PR  #47724: (terminalmage) 2 master_tops/ext_nodes fixes @ 2018-05-21
271785         15:59:04 UTC
271786
271787         · bbe8e62a98  Merge  pull  request  #47724   from   terminalmage/mas‐
271788           ter_tops_fixes
271789
271790         · 48b8c5acd1 Merge branch '2018.3.1' into master_tops_fixes
271791
271792         · 89b3070d4c Change deprecation warning to debug logging
271793
271794         · ceb6e10f87 Fix spurious "Malformed request" error
271795
271796       · ISSUE  #47484:  (whytewolf)  Windows:  pkg.latest  state not updating
271797         packages. (refs: #47702)
271798
271799       · PR #47739: (rallytime) Back-port  #47702  to  2018.3.1  @  2018-05-21
271800         15:37:03 UTC
271801
271802         · PR  #47702:  (damon-atkins) State pkg.latest called win pkg.install
271803           with list of pkgs and the required versions (refs: #47739)
271804
271805         · 97d6fe7434 Merge pull request #47739 from rallytime/bp-47702
271806
271807         · f79da64bb0 Update is_windows path to use platform
271808
271809         · f04b19b5b6 Ensure targeted_pkgs always contains value for  non-win‐
271810           dows.
271811
271812         · 14659f9cad Adjusted based on feed back.
271813
271814         · 9f18f7cdf5 Whitespace lint issues
271815
271816         · 2a29b28ee6  pkg.install  execution  module  on  windows ensures the
271817           software package is installed when no version is specified, it does
271818           not  upgrade  the  software  to the latest. This is per the design.
271819           pkg.latest must provide the versions to install to pkg.install
271820
271821       · PR #47730: (rallytime) Back-port  #47700  to  2018.3.1  @  2018-05-21
271822         15:36:16 UTC
271823
271824         · PR  #47700:  (yannj-fr)  fix  roots  modification time check (refs:
271825           #47730)
271826
271827         · cfbe0ba73e Merge pull request #47730 from rallytime/bp-47700
271828
271829         · 9bc35b88ea fix roots modification time check
271830
271831       · PR #47727:  (Ch3LL)  Fix  salt.utils.versions.warn_until  spelling  @
271832         2018-05-21 13:41:00 UTC
271833
271834         · 3614d3d83a Merge pull request #47727 from Ch3LL/spelling
271835
271836         · 47a8de5b73 Fix salt.utils.versions.warn_until spelling
271837
271838       · PR  #47736:  (Ch3LL)  mac_utils  test:  patch  __salt__['cmd.run*'] @
271839         2018-05-21 13:38:59 UTC
271840
271841         · bb45cdaefe Merge pull request #47736 from Ch3LL/fix_util_mac_test
271842
271843         · ee90c779a8 mac_utils test: patch __salt__['cmd.run*']
271844
271845       · PR  #47641:  (gtmanfred)  fix  _create_stream  and  tornado   5.0   @
271846         2018-05-18 14:25:36 UTC
271847
271848         · 43930f8bac Merge pull request #47641 from gtmanfred/2018.3.1
271849
271850         · 037fd92f59 fix pylint
271851
271852         · 75d42d8963 Fix last test for tornado
271853
271854         · a046512287 allow using tornado 5.0
271855
271856         · 05e651f038 fix _create_stream and tornado 5.0
271857
271858       · ISSUE  #47532:  (edgan)  roster auto-add feature in salt-ssh-2018.3.0
271859         (refs: #47541)
271860
271861       · PR  #47541:  (gtmanfred)  switch  skip-roster  to   update-roster   @
271862         2018-05-18 13:29:50 UTC
271863
271864         · 9f926bcd1a Merge pull request #47541 from gtmanfred/2018.3
271865
271866         · 8c5c780292 switch skip-roster to update-roster
271867
271868       · PR  #47719:  (rallytime)  Back-port  #47692  to 2018.3.1 @ 2018-05-18
271869         13:22:02 UTC
271870
271871         · PR #47692: (dwoz)  Default  windows  to  m1.small  for  ec2-classic
271872           (refs: #47719)
271873
271874         · a963f1b558 Merge pull request #47719 from rallytime/bp-47692
271875
271876         · 1d9f247fb7 Default windows to m1.small for ec2-classic
271877
271878       · PR  #47706: (Ch3LL) Add cmd._run_all_quiet to mac_utils and __utils__
271879         in mac_service @ 2018-05-18 01:11:46 UTC
271880
271881         · c9108893ab Merge pull request #47706 from Ch3LL/mac_service_util
271882
271883         · 3611af699f remove added space
271884
271885         · 9921caa143 fix pylint
271886
271887         · 317e41d3c0 use cmd._run_quiet  and  cmd._run_all_quiet  instead  of
271888           importing minion_mods in __salt__
271889
271890         · a78652515a Add __salt__ to mac_utils and __utils__ in mac_service
271891
271892       · PR  #47664:  (rallytime)  Back-port  #47645  to 2018.3.1 @ 2018-05-15
271893         18:25:27 UTC
271894
271895         · PR   #47645:   (Ch3LL)   query    the    pip    path    for    test
271896           test_issue_2087_missing_pip (refs: #47664)
271897
271898         · fb3bf1ff3e Merge pull request #47664 from rallytime/bp-47645
271899
271900         · 0a732d8e66 query the pip path for test test_issue_2087_missing_pip
271901
271902       · PR  #47647:  (rallytime)  Back-port  #47601  and #47643 to 2018.3.1 @
271903         2018-05-15 14:07:54 UTC
271904
271905         · PR #47643: (dwoz) Remove unwanted file (refs: #47647)
271906
271907         · PR #47601: (dwoz) Skip tests when  we  can  not  use  runas  (refs:
271908           #47647)
271909
271910         · 9039fee104     Merge    pull    request    #47647    from    rally‐
271911           time/bp-47601-and-47643-2018.3.1
271912
271913         · 7214fe17c8 Fix typo
271914
271915         · 506dceed17 Remove unwanted file
271916
271917         · b6a21dfda3 use ignore-undefined-variable
271918
271919         · 2429f9fe8a Ignore pylint WindowsError
271920
271921         · 2d63682fea Better doc string
271922
271923         · ec2adff699 Skip tests when we can not use runas
271924
271925       · PR #47596: (rallytime) Back-port  #47568  to  2018.3.1  @  2018-05-10
271926         22:09:09 UTC
271927
271928         · PR   #47568:  (terminalmage)  salt.serializers.yaml/yamlex:  remove
271929           invalid multi_constructor (refs: #47596)
271930
271931         · 17b5265d95 Merge pull request #47596 from rallytime/bp-47568
271932
271933         · ecf5dc8b9f Add exception logging  on  serialize/deserialize  excep‐
271934           tions
271935
271936         · 9659b19819  salt.serializers.yaml/yamlex: remove invalid multi_con‐
271937           structor
271938
271939       · PR #47595: (rallytime) Back-port  #47569  to  2018.3.1  @  2018-05-10
271940         22:08:53 UTC
271941
271942         · PR #47569: (Ch3LL) Update salt.utils.path mock in virtual core test
271943           (refs: #47595)
271944
271945         · c4c400f3e9 Merge pull request #47595 from rallytime/bp-47569
271946
271947         · 0763f96458 update salt.utils.platform path for virt core test
271948
271949         · 718252c1ef Update salt.utils.path mock in virtual core test
271950
271951       · PR #47599: (rallytime) Back-port  #47570  to  2018.3.1  @  2018-05-10
271952         22:06:44 UTC
271953
271954         · PR #47570: (gtmanfred) Update dependency to msgpack (refs: #47599)
271955
271956         · ec7de14be0 Merge pull request #47599 from rallytime/bp-47570
271957
271958         · 9334c03da9 Update dependency to msgpack
271959
271960       · PR  #47571:  (rallytime)  [2018.3.1]  Update  man  pages @ 2018-05-10
271961         16:21:57 UTC
271962
271963         · 2a10d92669 Merge pull request #47571 from rallytime/man-pages
271964
271965         · ade5e9f664 [2018.3.1] Update man pages
271966
271967       · PR #47550: (pcn) Fixes a bad deletion I did  that  only  surfaced  in
271968         2018.3 @ 2018-05-09 13:36:33 UTC
271969
271970         · 85284caaf9 Merge pull request #47550 from pcn/fix-disable-term-pro‐
271971           tect-in-2018.3
271972
271973         · d58a56877c Fixes a bad deletion I did that only surfaced in 2018.3
271974
271975       · ISSUE #47553: (douglasjreynolds) Unicode version error in lxc  (refs:
271976         #47554)
271977
271978       · PR #47554: (douglasjreynolds) Converted unicode str version to a Loo‐
271979         seVersion; matching line 2080.  @ 2018-05-09 13:34:13 UTC
271980
271981         · f9083ff77e Merge pull request #47554 from douglasjreynolds/lxc_uni‐
271982           code_fix
271983
271984         · e6bce581c6  Converted unicode str version to _LooseVersion to match
271985           line 2080.
271986
271987       · PR #47518: (Ch3LL) Fix 47364: ensure we are not  caching  zfs.is_sup‐
271988         ported @ 2018-05-09 13:29:07 UTC
271989
271990         · fe4e79f1de Merge pull request #47518 from Ch3LL/zfs_support
271991
271992         · d19fef963e remove unnecessary patch in zfs.is_supported test
271993
271994         · 58c4f29f96 Fix 47364: ensure we are not caching zfs.is_supported
271995
271996       · PR  #47159:  (terminalmage)  Fix for whitelist/blacklist checking for
271997         non-list iterables @ 2018-05-08 20:43:51 UTC
271998
271999         · 332e9f13a6   Merge   pull    request    #47159    from    terminal‐
272000           mage/whitelist_blacklist-iter-fix
272001
272002         · ca936de372  Treat  empty whitelist/blacklist as no whitelist/black‐
272003           list
272004
272005         · bcccaf2621  Raise  a  TypeError  when  invalid  input   passed   to
272006           check_whitelist_blacklist
272007
272008         · 2ae510ff2b Fix comment in test
272009
272010         · 17398efcf7  Fix for whitelist/blacklist checking for non-list iter‐
272011           ables
272012
272013       · PR #47514: (rallytime) [2018.3] Merge forward from 2017.7 to 2018.3 @
272014         2018-05-08 18:36:54 UTC
272015
272016         · 21809ddc02 Merge pull request #47514 from rallytime/merge-2018.3
272017
272018         · e2616b605f Update the pip tests to use the parsing syntax generated
272019           in PR #47196
272020
272021         · b13b59791f Remove double instance of adding  --format=json  in  pip
272022           module
272023
272024         · 2ad60c7e81 Lint: remove duplicate function in helpers.py
272025
272026         · 75480158b3 Lint: cur_version should just be pip_version
272027
272028         · 5565d5e9b1 Update old utils paths with new utils paths
272029
272030         · 786076ac03 Merge branch '2017.7' into '2018.3'
272031
272032           · 611ca1fc03 Merge pull request #47476 from gtmanfred/2017.7
272033
272034             · 1f91a85587 specify cache dir for pip install
272035
272036             · 99e150e09c check for kitchen-vagrant gem before loading windows
272037               tests
272038
272039           · 7c3f2c56da Merge pull request #47412 from twangboy/fix_47125
272040
272041             · c9bab0b8e3 Merge branch '2017.7' into fix_47125
272042
272043             · 2600e404d5 Fix overly long line
272044
272045             · 5c8db05769 Fix issue where the cwd was being removed
272046
272047           · 4846e957c4 Merge pull request #47467  from  twangboy/cleanup_set‐
272048             tings
272049
272050             · 9d498293b1 Remove unused settings, update NSIS
272051
272052           · da9871d36b Merge pull request #47196 from twangboy/fix_47024
272053
272054             · 14ee5537b9 Add @with_tempdir helper
272055
272056             · 6c3b5fa6fa Fix typo
272057
272058             · f031710af2 Merge branch '2017.7' into fix_47024
272059
272060             · 7c46d9d0d4 Fix integration.modules.test_pip
272061
272062             · 22ac81df63 Fix integration.modules.test_pip
272063
272064             · 57d98224d4  Merge  pull  request  #9  from  terminalmage/twang‐
272065               boy/fix_47024
272066
272067               · 37a13d8004 Update pip unit tests to reflect changes
272068
272069               · 7f86779be0 Lint fix
272070
272071             · c48d8f4f61 DRY and other fixes in pip module
272072
272073             · b1117896a0 Change from global variable to __context__``
272074
272075             · 3e6e524eca Fix some tests``
272076
272077             · c94f0f20e4 Fix lint error
272078
272079             · fd47b21530 Fix merge conflict
272080
272081           · e8c4524bae Merge pull request #47455 from Ch3LL/unreleased_rn
272082
272083             · b6d0cc2ab7 Add In Progress Warning for 2017.7.6 Release Notes
272084
272085           · 2c7a4b6179 Merge pull request #47459 from gtmanfred/2017.7
272086
272087             · d228e72477 update ubuntu-rolling to 18.04
272088
272089           · 64a64c0ed7 Merge pull request #47462 from terminalmage/docs
272090
272091             · 6d7803ece0 Fix docs build on Sphinx 1.7+
272092
272093           · 6cd0d31c03  Merge   pull   request   #47438   from   lomeroe/dou‐
272094             ble_admx_test
272095
272096             · 4902f1e2ba  check  if  a  policy has either an enabled value or
272097               enabled list entry or a disabled value or disabled  list  entry
272098               when determining the state of the policy
272099
272100           · ed69821d19 Merge pull request #47433 from s0undt3ch/2017.7
272101
272102             · 5abadf25d6  Add  missing  requirements  files  not  commited in
272103               #47106
272104
272105       · ISSUE #47443: (skylerberg) Input validation does not raise  SaltInvo‐
272106         cationError in win_dsc.py (refs: #47505)
272107
272108       · PR  #47516:  (rallytime)  Back-port  #47505  to  2018.3  @ 2018-05-08
272109         13:32:33 UTC
272110
272111         · PR #47505: (dwoz) Raise proper invocation errors (refs: #47516)
272112
272113         · 9559ac7679 Merge pull request #47516 from rallytime/bp-47505
272114
272115         · 7c60e4071e Raise proper invocation errors
272116
272117       · ISSUE  #47502:  (psagers)  service.enable  (and  .disable)   destroys
272118         /etc/rc.conf on FreeBSD (refs: #47503)
272119
272120       · PR  #47515:  (rallytime)  Back-port  #47503  to  2018.3  @ 2018-05-08
272121         13:32:03 UTC
272122
272123         · PR #47503: (psagers) Fix #47502: Remove an extraneous (accidentally
272124           introduced?) call to rstrip() (refs: #47515)
272125
272126         · bf79acfbc8 Merge pull request #47515 from rallytime/bp-47503
272127
272128         · 821dbb88a0  Fix  #47502:  Remove an extraneous (accidentally intro‐
272129           duced?) call to rstrip.
272130
272131       · ISSUE #47511: (joesusecom) sshconfig salt-ssh roster  is  missing  in
272132         the documentation (refs: #47531)
272133
272134       · PR  #47531:  (gtmanfred)  add ssh config doc for rosters @ 2018-05-07
272135         22:26:30 UTC
272136
272137         · 779b3ed056 Merge pull request #47531 from gtmanfred/2018.3
272138
272139         · 92ded7162c add ssh config doc for rosters
272140
272141       · PR #47520: (rallytime) Cleanup weird spaces @ 2018-05-07 19:50:58 UTC
272142
272143         · 95b2f9db30 Merge pull request #47520 from rallytime/cleanup-spaces
272144
272145         · e9cb080a00 Cleanup weird spaces
272146
272147       · PR #47495: (dwoz) Fix crufty nssm.exe reference @ 2018-05-07 19:12:49
272148         UTC
272149
272150         · 05fc52f124 Merge pull request #47495 from dwoz/uninstall_wart
272151
272152         · caa36c9064 Merge branch '2018.3' into uninstall_wart
272153
272154       · ISSUE #47322: (masau) lxc clone not working (refs: #47494)
272155
272156       · PR  #47494:  (ejparker12)  Fixed  lxc.clone  unhandled  exception  in
272157         salt/modules/lxc.py @ 2018-05-07 19:03:58 UTC
272158
272159         · 3cc7d3ae7c Merge pull request #47494 from ejparker12/fix-lxc-clone
272160
272161         · e0e2c9782d  Fixed  lxc.clone  unhandled  exception   in   salt/mod‐
272162           ules/lxc.py
272163
272164       · ISSUE  #47496: (mateiw) salt-ssh --extra-filerefs doesn't include any
272165         files if no refs in state files (refs: #47497)
272166
272167       · PR #47497: (mateiw) Fix salt-ssh --extra-filerefs  to  include  files
272168         even if no refs in states to apply @ 2018-05-07 19:02:50 UTC
272169
272170         · adde83f639       Merge      pull      request      #47497      from
272171           mateiw/2018.3-fix-ssh-extra-files-refs-issue-47496
272172
272173         · d67239aae7 --extra-filerefs include files even if no refs in states
272174           to apply
272175
272176       · ISSUE  #47404:  (shengis) Localized version of yum breaks pkg.install
272177         (refs: #47441)
272178
272179       · PR #47441: (shengis) Fix  _run  to  reset  LANGUAGE  env  variable  @
272180         2018-05-07 18:29:25 UTC
272181
272182         · 34b1b1ee53 Merge pull request #47441 from shengis/fix-run-env-reset
272183
272184         · 62fc16b721 Merge branch '2018.3' into fix-run-env-reset
272185
272186         · 3b02b0bdc1 Merge branch '2018.3' into fix-run-env-reset
272187
272188         · ee2ab38c8c Fix _run to reset LANGUAGE env variable
272189
272190       · ISSUE  #47479:  (whytewolf)  win_task.info on py3 throwing error, but
272191         works in py2 (refs: #47507)
272192
272193       · PR #47507: (gtmanfred) fix win_task for py3 @ 2018-05-07 17:41:21 UTC
272194
272195         · 17cfd4f7cf Merge pull request #47507 from gtmanfred/2018.3
272196
272197         · 19db39f402 fix win_task for py3
272198
272199       · PR #47472: (terminalmage) salt.utils.hashutils: Fix  UnicodeEncodeEr‐
272200         ror in several funcs @ 2018-05-07 13:31:07 UTC
272201
272202         · a4c2df8fb2 Merge pull request #47472 from terminalmage/hashutils
272203
272204         · 7266c9984d  salt.utils.hashutils: Fix UnicodeEncodeError in several
272205           funcs
272206
272207       · PR #47485: (gtmanfred) add  openstack  modules  to  doc  index.rst  @
272208         2018-05-07 13:11:42 UTC
272209
272210         · 8b0a370189 Merge pull request #47485 from gtmanfred/2018.3
272211
272212         · c86163d79f add openstack modules to doc index.rst
272213
272214              · 3557fc5fa6 Fix crufty nssm.exe reference
272215
272216       · PR #47482: (gtmanfred) add all autodoc for new salt openstack modules
272217         @ 2018-05-04 21:03:38 UTC
272218
272219         · 8df37f734a Merge pull request #47482 from gtmanfred/2018.3
272220
272221         · 1f65d5cb73 add all autodoc for new salt openstack modules
272222
272223       · PR #47447: (dwoz) Fix failing test due to windows console encoding  @
272224         2018-05-04 16:41:29 UTC
272225
272226         · d20ca15c5d Merge pull request #47447 from dwoz/strv
272227
272228         · 8c01773833 Use the same non decodable bytes for all tests
272229
272230         · 983881a2a1 Add bytes that will not decode using cp1252
272231
272232       · PR #47466: (dwoz) bytes file that decodes the same utf-8 and cp1252 @
272233         2018-05-04 15:54:24 UTC
272234
272235         · 8c5b30b541 Merge pull request #47466 from dwoz/randbytes
272236
272237         · fd9bc06aab bytes file that decodes the same utf-8 and cp1252
272238
272239       · ISSUE #46660: (mruepp) top file merging same does produce conflicting
272240         ids with gitfs (refs: #47354, #46751)
272241
272242       · PR  #47465:  (rallytime)  Back-port  #47354  to  2018.3  @ 2018-05-04
272243         13:06:04 UTC
272244
272245         · PR #47354: (folti) fix forward port of #46751 (refs: #47465)
272246
272247         · PR #46751: (folti) top file merging  strategy  'same'  works  again
272248           (refs: #47354)
272249
272250         · 3658604c43 Merge pull request #47465 from rallytime/bp-47354
272251
272252         · 3df6fa7990 fix forward port of #46751
272253
272254       · PR #47435: (rallytime) [2018.3] Merge forward from 2017.7 to 2018.3 @
272255         2018-05-04 13:05:32 UTC
272256
272257         · fa293f8fac Merge pull request #47435 from rallytime/merge-2018.3
272258
272259         · be0731da5f Add skipIfs back in for rest_tornado tests
272260
272261         · fd98ee3dc1 Lint: Add missing blank line
272262
272263         · 561718b20b Update old is_windows utils path to new utils path
272264
272265         · a94cdf8a0d Merge branch '2017.7' into '2018.3'
272266
272267           · 7ae3497b0c Merge pull request #47429 from gtmanfred/2017.7
272268
272269             · 8ae32033cc server_list_min should use state, not status
272270
272271           · 2f5fc4ecc5 Merge pull request #47399 from isbm/isbm-zeromq17-dep‐
272272             recationwarning-2017.7.2-v2
272273
272274             · a36e49fd27 fix pylint
272275
272276             · 98b5629b36 Fix imports
272277
272278             · d94c0f0152 Remove unnecessary variable
272279
272280             · 8e377b5653 Lintfix: E0203 and attribute access
272281
272282             · 2aab70b1b8 Install ZMQ handler if <15 version
272283
272284             · 296c589f4b Use ZMQ switch utility in the integration tests
272285
272286             · ab5fa34d7c Use ZMQ_VERSION_INFO constant everywhere
272287
272288             · 43b5558b82 Add trace logging on ZMQ sockets communication
272289
272290             · 164204a9fe Remove duplicate code for ZMQ monitor handling
272291
272292             · 834b1e4ff0 Remove obsolete ZMQIOLoop direct instance
272293
272294             · 1c90cbdb3c Remove an empty line
272295
272296             · ef2e0acd66 Add logging on ZMQ socket exception
272297
272298             · 38ceed371d Lintfix: ident
272299
272300             · 1ece6a5f52 Lintfix: line too long
272301
272302             · 4e650c0b44 Remove code duplicate by reusing utilities functions
272303
272304             · 57da54b676 Fix imports
272305
272306             · 948368e9a1 Add libzmq version info builder
272307
272308             · 0b4a17b859 Update log exception message
272309
272310             · 116e1809fc Put a message alongside the exception to the logs
272311
272312             · 4bc43124b7  Remove  unnecessary  ZMQ  import  and check for its
272313               presence
272314
272315             · 05f4d40269 Use utility for ZMQ import handling in SSH client
272316
272317             · 457ef7d9a5 Use utility for ZMQ import handling in flo/zero
272318
272319             · 08dee6f5bd Use utility for ZMQ import handling
272320
272321             · e2a353cfb0 Remove unnecessary ZMQ extra-check for cache utils
272322
272323             · c8f2cc271d Remove unnecessary ZMQ extra-check for master utils
272324
272325             · 3940667bb9 Remove old ZMQ import handling
272326
272327             · f34a53e029 Use ZMQ utility for version check
272328
272329             · cbb26dcb28 Use ZMQ installer for master
272330
272331             · 453e83210a Add ZMQ version build
272332
272333             · af9601e21d Use ZMQ importer utility in async
272334
272335             · d50b2b2023 Incorporate tornado-5 fixes
272336
272337             · 1fd9af0655 Add ZMQ backward-compatibility tornado installer for
272338               older versions
272339
272340             · ad4b40415c  Add one place for handling various ZMQ versions and
272341               IOLoop classes
272342
272343           · b14e974b5f Merge pull request #47343 from Ch3LL/win_srv_test
272344
272345             · 2173b6f549 ensure we are enabling/disabling before test
272346
272347             · d58be06751 Add additionatl service module integration tests and
272348               enable for windows
272349
272350           · b0f3fb577f Merge pull request #47375 from terminalmage/issue47310
272351
272352             · fa2bea52bb Remove extra blank line to appease linter
272353
272354             · f8ab2be81c Add debug logging if we fail to detect virtual pack‐
272355               ages
272356
272357             · 67c4fc56ac Warn on use of  virtual  packages  in  pkg.installed
272358               state
272359
272360           · 56235032f4      Merge      pull      request      #47415     from
272361             kstreee/fix-local-client-tgt-bug
272362
272363             · b8d37e0a1e To add a  test  case  for  the  syndic  environment,
272364               copies  the  test  case  which  was written by @mattp- that was
272365               already merged into develop branch, related pr is #46692.
272366
272367             · 4627bad1fd Realizes  'tgt'  field  into  actual  minions  using
272368               ckminions to subscribe results of the minions before publishing
272369               a payload.
272370
272371           · d65ceaee03 Merge pull request  #47286  from  baniobloom/vpc_peer‐
272372             ing_connection_name_fix
272373
272374             · a968965087   Merge  branch  '2017.7'  into  vpc_peering_connec‐
272375               tion_name_fix
272376
272377           · 8a5d4437bb Merge pull request #47270 from  meaksh/2017.7-fix-ret‐
272378             code-on-schedule-utils
272379
272380             · d299cf3385   Merge   branch   '2017.7'   into   2017.7-fix-ret‐
272381               code-on-schedule-utils
272382
272383             · b6da600fff Initialize __context__ retcode for functions handled
272384               via schedule util module
272385
272386           · 5b51075384 Merge pull request #47371 from rallytime/fix-47264
272387
272388             · a43485b49c  Fix "of pass" typo in grains.delval docs: change to
272389               "or pass"
272390
272391           · a86e53be66 Merge pull request #47389 from dwoz/moregittestfix
272392
272393             · 67745c1362 Older GitPython versions will not have close
272394
272395           · a5367eaf63 Merge pull request #47388 from dwoz/test_pip_fix
272396
272397             · eb26321e8b Fix missing import
272398
272399           · 9b59b991c2 Merge pull request #47380 from gtmanfred/2017.7
272400
272401             · 93d1445ec1 add io_loop handling to runtests engine
272402
272403           · 37822c0cbb Merge pull request #47384 from dwoz/test_pip_fix
272404
272405             · a37a9da1fb Fix py2 version of pip test
272406
272407           · eefd96732e Merge pull request #47382 from dwoz/gitfs_tests
272408
272409             · 1570708fac Close the repo and fix multiple tests
272410
272411           · 57c75ff660 Merge pull request #47369 from  terminalmage/ldap_pil‐
272412             lar
272413
272414             · 085883ae2d  Return  an  empty  dict  if no search_order in ldap
272415               ext_pillar config file
272416
272417           · bcc66dd9bf   Merge   pull   request   #47363   from   DSRCorpora‐
272418             tion/bugs/replace_exc_info_with_exception
272419
272420             · 3f7b93a23c Tornado5.0: Future.exc_info is dropped
272421
272422           · bcef34f7e1  Merge pull request #47334 from terminalmage/ldap_pil‐
272423             lar
272424
272425             · 0175a8687c pillar_ldap: Fix cryptic  errors  when  config  file
272426               fails to load
272427
272428             · 65c3ba7ff1 Remove useless documentation
272429
272430             · 5d67cb27de Remove unncessary commented line
272431
272432                  · 8de3d41adb fixed vpc_peering_connection_name option
272433
272434       · PR  #47464:  (dwoz) Skip tests not applicable to windows @ 2018-05-04
272435         13:04:38 UTC
272436
272437         · 51d21afd4f Merge pull request #47464 from dwoz/skiP_syslog_tests
272438
272439         · ca9393b7fb Skip tests not applicable to windows
272440
272441       · PR #47456: (dwoz) Sysname returns text type @ 2018-05-04 02:57:50 UTC
272442
272443         · 3219430dcc Merge pull request #47456 from dwoz/sysname
272444
272445         · 559ee1961f Sysname returns text type
272446
272447       · PR #47458: (Ch3LL) Add In Progress Warning for 2018.3.1 Release Notes
272448         @ 2018-05-03 20:40:46 UTC
272449
272450         · f3918514a7 Merge pull request #47458 from Ch3LL/unreleased_rn_2018
272451
272452         · 6a261e5e3a Add In Progress Warning for 2018.3.1 Release Notes
272453
272454       · PR  #47448:  (dwoz)  Fix  missing  import  in test suite @ 2018-05-03
272455         14:30:23 UTC
272456
272457         · 9fbdcbe994 Merge pull request #47448 from dwoz/transport_import
272458
272459         · 7e04eb82e1 Fix missing import in test suite
272460
272461       · ISSUE  #47260:  (mew1033)  disable_saltenv_mapping  not  working   as
272462         expected (refs: #47410)
272463
272464       · PR  #47410: (terminalmage) gitfs: Fix identification of base env when
272465         saltenv mapping is disabled @ 2018-05-03 14:12:27 UTC
272466
272467         · 157a32af7f Merge pull request #47410 from terminalmage/issue47260
272468
272469         · 3ab332ad0e Update tests to reflect bugfix
272470
272471         · 7b8127f336 gitfs: Fix identification of base env when saltenv  map‐
272472           ping is disabled
272473
272474       · PR  #47413:  (dmurphy18) Repobuild improvements for Ubuntu 18.04 lack
272475         of gpg2 and better error checking @ 2018-05-02 16:21:31 UTC
272476
272477         · 091e4cf9a6    Merge    pull    request    #47413     from     salt‐
272478           stack/repobuild_improv
272479
272480         · c064032110 Removed extra spaces for pylint
272481
272482         · 20c50b3331 Minor cleanup due to review comments
272483
272484         · c143b359e9  Update for Ubuntu 18.04 lack of gpg2 and enhanced error
272485           checking
272486
272487       · PR #47216: (twangboy) Reg docs @ 2018-05-02 13:33:27 UTC
272488
272489         · 5e5774fd37 Merge pull request #47216 from twangboy/reg_docs
272490
272491         · 0beeb58b16 Fix lint, add bytes
272492
272493         · bad441f8dc Fix some lint`
272494
272495         · af5139c2ff Add additional examples
272496
272497         · 24df6ec1b7 Additional docs formatting
272498
272499         · ff46b27a60 Update reg docs, fix formatting issues
272500
272501       · PR #47417: (gtmanfred) revert instantiating a Caller  Client  in  the
272502         engine @ 2018-05-01 18:58:06 UTC
272503
272504         · 63baf4c4f8 Merge pull request #47417 from gtmanfred/slack
272505
272506         · 5c8ea7f506 Update slack.py
272507
272508         · ee8a5eeb10 revert instantiating a Caller Client in the engine
272509
272510       · ISSUE  #45790:  (bdarnell)  Test  with  Tornado  5.0b1 (refs: #46066,
272511         #47106, #47433)
272512
272513       · PR #47368: (rallytime) [2018.3] Merge forward from 2017.7 to 2018.3 @
272514         2018-05-01 18:56:20 UTC
272515
272516         · PR  #47106:  (DmitryKuzmenko)  Tornado50 compatibility fixes (refs:
272517           #47374, #47368, #47433)
272518
272519         · PR #46002: (isbm)  Pyzmq  17.0.0  proper  handling  (refs:  #47374,
272520           #47368)
272521
272522         · 0bdfaa5ffe Merge pull request #47368 from rallytime/merge-2018.3
272523
272524         · 46806e595b Update test assertion comment for pip pkgs
272525
272526         · d9d24de49e Lint: Add missing import
272527
272528         · c7b73d132e Merge branch '2017.7' into '2018.3'
272529
272530           · 31db8ca7ad      Merge      pull      request      #47347     from
272531             dwoz/test_mysql_fix_again
272532
272533             · add78fb618 Fix linter warnings
272534
272535             · 2644cc7553 Fix linter nits
272536
272537             · 799c601184 Proper fix for mysql tests
272538
272539         · fefc0cc3ca Update old utils paths to use new utils paths
272540
272541         · 13e8124031 Merge branch '2017.7' into '2018.3'
272542
272543           · e573236848 Merge pull request #47359 from gtmanfred/2017.7
272544
272545             · 6214ed8133 add mention of the formulas channel to the  formulas
272546               docs
272547
272548           · 629503b2a8 Merge pull request #47317 from dwoz/threadshutdown
272549
272550             · 6db2a0e4d3 Log exceptions at exception level
272551
272552             · d4ae787595 Do not join a thread that is stopped
272553
272554           · aacd5cefe3    Merge    pull    request    #47304   from   cached‐
272555             out/test_cli_timeout_arg
272556
272557             · 85025af83c Pass timeout to salt CLI for tests
272558
272559           · 55534fb659 Merge pull request #47311 from Ch3LL/firewall_windows
272560
272561             · 4e16c18c16 Add firewall module windows tests to whitelist
272562
272563             · 4b2fc4ec66 Add windows firewall execution  modules  integration
272564               tests
272565
272566           · 1667375a80 Merge pull request #47348 from dwoz/no_symlinks
272567
272568             · 94a70e847a Ignore gitfs tests when symlinks not enabled
272569
272570           · dac04261b5 Merge pull request #47342 from dwoz/test_mysql_fix
272571
272572             · 7496f4c5a8 Fix mysql test cases
272573
272574           · 34e78ef564 Merge pull request #47341 from dwoz/inet_pton_fix
272575
272576             · 85451f48d4 Fix python 3 support for inet_pton function
272577
272578           · e4779f3246 Merge pull request #47339 from dwoz/ssh_key_test_fix
272579
272580             · e37a93a1ca Remove redundent close call
272581
272582             · b2ae5889b7 Close the temporary file handle
272583
272584             · 9f7f83a975 Use salt.utils.fopen for line ending consistancy
272585
272586           · b221860151 Merge pull request #47335 from dwoz/pip_test_fix
272587
272588             · dcb6a22c00 Remove un-needed string-escape
272589
272590           · 1c527bfd3a Merge pull request #47331 from dwoz/py3_wingroup_fix
272591
272592             · cc154ef857 Do not encode usernames
272593
272594           · 708078b152 Merge pull request #47329 from cachedout/frank_credit
272595
272596             · 33c0644ac4 Credit Frank Spierings
272597
272598           · a545e55543 Merge pull request #47281 from Ch3LL/system_test
272599
272600             · c9181a75a6 Add destructivetest decorator on tests
272601
272602             · 0d0c8987fc Add win_system integration module tests
272603
272604           · b64d930df0 Merge pull request #47283 from Ch3LL/ntp_test
272605
272606             · ced7f86546 Add windows ntp integration module tests
272607
272608           · 910aff910f Merge pull request #47314 from Ch3LL/net_mac_test
272609
272610             · 67beb1451c Skip netstat test on macosx as its not supported
272611
272612           · 0549ef7c16 Merge pull request #47307 from rallytime/bp-47257
272613
272614             · 6c5b2f92bc Role is not a list but a dictionary
272615
272616           · d6ff4689f6  Merge pull request #47312 from rallytime/update-boot‐
272617             strap-release
272618
272619             · 765cce06a2  Update  bootstrap   script   to   latest   release:
272620               2018.04.25
272621
272622           · e0765f5719 Merge pull request #47279 from dwoz/py3_build_fix
272623
272624             · 21dc1bab91 Pep-8 line endings
272625
272626             · 717abedaf7 Fix comman wart
272627
272628             · 4100dcd64c Close might get called more than once
272629
272630             · dbe671f943 Stop socket before queue on delete
272631
272632             · 9587f5c69e Silence pylint import-error for six.moves
272633
272634             · 4b0c7d3b34 Fix typo
272635
272636             · 05adf7c2b1 Use six.moves for queue import
272637
272638             · fe340778fa Gracefully shutdown worker threads
272639
272640           · 44f19b2f94 Merge pull request #47113 from jfindlay/iptables_state
272641
272642             · 8bd08012ee modules,states.iptables support proto for policy ext
272643
272644           · b7a6206330 Merge pull request #47302 from Ch3LL/dead_code
272645
272646             · daa68b4877 Add virtual grains test for core grains
272647
272648             · a59dd2785d Remove dead code in core grains file for virt-what
272649
272650           · e29362acfc Merge pull request #47303 from baniobloom/bug_fix_doc
272651
272652             · b97c9df5f3  added clarity on how to figure out what is the old‐
272653               est supported main release branch
272654
272655           · 0d9d55e013   Merge   pull   request   #47106   from   DSRCorpora‐
272656             tion/bugs/tornado50
272657
272658             · 39e403b18d Merge branch '2017.7' into bugs/tornado50
272659
272660             · 6706b3a2d1 Run off of a temporary config
272661
272662             · d6873800d5 Allow running pytest>=3.5.0
272663
272664             · 2da3983740 Tornado 5.0 compatibility fixes
272665
272666           · 2e014f4746 Merge pull request #47271 from gtmanfred/amazon
272667
272668             · 8a53908908  Do not load rh_service module when booted with sys‐
272669               temd
272670
272671             · e4d1d5bf11 Revert "support amazon linux 2 for service module"
272672
272673           · 599b0ed1e9   Merge    pull    request    #47246    from    cloud‐
272674             flare/fix-44847-2017.7
272675
272676             · ad80028104  This  way, we can pass flags such as debug into the
272677               state, but also test.
272678
272679           · 4e2e1f0719   Merge   pull   request    #47220    from    benedik‐
272680             twerner/fix-pip-2017.7
272681
272682             · 0197c3e973 Fix pip test
272683
272684             · 34bf66c09f Fix pip.installed with pip>=10.0.0
272685
272686           · 92e606251f  Merge  pull  request  #47272  from rallytime/reg-win‐
272687             dows-codeowners
272688
272689             · 9445af0185 Add windows tests and reg module/state to CODEOWNERS
272690               file for team-windows
272691
272692           · 9dca5c0221  Merge  pull  request  #47252  from rallytime/codeown‐
272693             ers-fixes
272694
272695             · 204b6af92b Fix the matching patterns in the CODEOWNERS file  to
272696               use fnmatch patterns
272697
272698           · 3de1bb49c8     Merge    pull    request    #47177    from    fpi‐
272699             cot/fix_47173_pkg_normalize
272700
272701             · 149f846f34 fix normalize parameter in pkg.installed
272702
272703           · 10e30515dc Merge pull request #47251 from Ch3LL/pub_fix_rn
272704
272705             · fa4c2e6575 Update Docs to remove unnecessary + sign
272706
272707           · bb7850a431 Merge pull request #47249 from Ch3LL/pub_fix_rn
272708
272709             · 24dea24b7e Add CVE number to 2016.3.6 Release
272710
272711           · 56933eb0b2     Merge      pull      request      #47227      from
272712             pruiz/pruiz/zfs-dataset-present-slow-2017.7
272713
272714             · fded61f19b Fix issue #47225: avoid zfs.filesystem_present slow‐
272715               down when dataset has lots of snapshots
272716
272717           · 9825065048 Merge pull request #47167 from smitty42/vbox-skd-fix
272718
272719             · 5de53139cd Merge branch '2017.7' into vbox-skd-fix
272720
272721           · 976f031170 Merge pull request #47213 from dwoz/py3win
272722
272723             · ad9c7f63f0 Fix coverate on py3 windows builds
272724
272725             · 91252bac95 Adding updates for  python3  compatibility  and  new
272726               virtualbox SDK version support.
272727
272728           · cebcd6d069 Merge pull request #47197 from dwoz/testfix
272729
272730             · 25803c9176 Move process target to top level module namespace
272731
272732           · d4269c2b70 Merge pull request #47193 from Ch3LL/network_test
272733
272734             · bbf9987c19 Add network module integration tests
272735
272736           · c777248a78 Merge pull request #47189 from Ch3LL/autoruns
272737
272738             · 6a88bedb7a Add autoruns to windows whitelist
272739
272740             · e9e4d4af70 Add autoruns.list integration test for Windows
272741
272742       · PR  #47403:  (rallytime)  Back-port  #47356  to  2018.3  @ 2018-05-01
272743         15:19:06 UTC
272744
272745         · PR #47356: (robinro) Fix sysctl translate (refs: #47403)
272746
272747         · 4e6870305c Merge pull request #47403 from rallytime/bp-47356
272748
272749         · 9b682bc48e Fix sysctl translate
272750
272751       · PR #47407: (terminalmage) Reduce severity of missing  X_update_inter‐
272752         val key @ 2018-05-01 15:18:46 UTC
272753
272754         · 7e0cdd6145    Merge    pull    request    #47407   from   terminal‐
272755           mage/update-interval-log
272756
272757         · abc592bfff Reduce severity of missing X_update_interval key
272758
272759       · ISSUE #47042: (valentin2105) [ERROR] Unable to  manage  file:  'utf8'
272760         codec can't decode byte  (refs: #47061)
272761
272762       · PR  #47405:  (terminalmage)  Fix  file.get_diff  regression in 2018.3
272763         branch @ 2018-05-01 15:16:46 UTC
272764
272765         · PR #47061: (terminalmage) Fix diffing binary files in file.get_diff
272766           (refs: #47405)
272767
272768         · 1377942bcc Merge pull request #47405 from terminalmage/binary-diff
272769
272770         · 89ddb08026 Use a lambda instead of defining a one-line function
272771
272772         · b79ff04fda Remove no-longer-used enumerate
272773
272774         · e03b865359 Add unit test for file.get_diff
272775
272776         · 5bdc9e9bd5 Fix UnboundLocalError in file.get_diff
272777
272778       · ISSUE  #47325: (robertodocampo) docker_container.running creates con‐
272779         tainers using the image ID as the image name (refs: #47367)
272780
272781       · PR #47367: (terminalmage) Start docker  containers  with  image  name
272782         instead of ID @ 2018-04-30 18:46:13 UTC
272783
272784         · c267e6083e Merge pull request #47367 from terminalmage/issue47325
272785
272786         · 798134caa3  Add regression test for creating images with image name
272787           insead of ID
272788
272789         · 4ed47e839c Start docker containers with image name instead of ID
272790
272791       · ISSUE #47006: (cedwards) marathon & fx2 grain  modules  cause  master
272792         and minion failure (refs: #47401)
272793
272794       · PR  #47401: (gtmanfred) fix proxy virtual checks for marathon and fx2
272795         @ 2018-04-30 18:44:46 UTC
272796
272797         · 3bb00cbb55 Merge pull request #47401 from gtmanfred/proxy
272798
272799         · 99f9231759 fix proxy virtual checks for marathon and fx2
272800
272801       · PR #47397:  (rallytime)  Add  2018.3.1  Release  Notes  @  2018-04-30
272802         14:44:38 UTC
272803
272804         · c160fe36ce     Merge    pull    request    #47397    from    rally‐
272805           time/2018.3.1-release-notes
272806
272807         · 3b40cdad2a Add 2018.3.1 Release Notes
272808
272809       · ISSUE #45790: (bdarnell)  Test  with  Tornado  5.0b1  (refs:  #46066,
272810         #47106, #47433)
272811
272812       · PR  #47374:  (DmitryKuzmenko)  tornado50  merge  forward for 2018.3 @
272813         2018-04-29 16:29:12 UTC
272814
272815         · PR #47106: (DmitryKuzmenko) Tornado50  compatibility  fixes  (refs:
272816           #47374, #47368, #47433)
272817
272818         · PR  #46002:  (isbm)  Pyzmq  17.0.0  proper  handling (refs: #47374,
272819           #47368)
272820
272821         · 3400f829c4 Merge pull request #47374 from  DSRCorporation/bugs/tor‐
272822           nado50-2018.3
272823
272824         · 400999c54f fix pylint
272825
272826         · 47b6d409d1 add io_loop handling to runtests engine
272827
272828         · fd074fdb7d use salt.utils.zeromq
272829
272830         · 4ae33c5d9a Run off of a temporary config
272831
272832         · 7938b4906e Allow running pytest>=3.5.0
272833
272834         · 34058c181e Tornado 5.0 compatibility fixes
272835
272836       · ISSUE  #47124:  (mchugh19)  Vault  module  problem in 2018.3.0 (refs:
272837         #47379)
272838
272839       · PR #47379: (dwoz) Properly encode messages  when  creating/validating
272840         signatures with m2crypto @ 2018-04-28 08:38:23 UTC
272841
272842         · 2afe4bee95 Merge pull request #47379 from dwoz/m2crypto_regression
272843
272844         · 068f2d430d Always sign and verify bytes
272845
272846         · 7810ebaba9 Add sign regression tests
272847
272848         · f4441c3a1c Adding regression test for 47124
272849
272850       · PR  #47277:  (morganwillcock) Fix minion crash on NetBSD @ 2018-04-27
272851         15:02:21 UTC
272852
272853         · 7390b72808 Merge pull request #47277 from morganwillcock/netbsdswap
272854
272855         · 0bcb1a079a Merge branch '2018.3' into netbsdswap
272856
272857         · 30478e8c9c Use swapctl for NetBSD
272858
272859       · PR #47320: (twangboy) Change from NSSM to SSM @  2018-04-27  14:37:50
272860         UTC
272861
272862         · 2b7c7ef704 Merge pull request #47320 from twangboy/win_ssm
272863
272864         · 5549d83aae Use ssm instead of nssm
272865
272866       · PR  #47308:  (rallytime)  Back-port  #47287  to  2018.3  @ 2018-04-27
272867         13:50:49 UTC
272868
272869         · PR #47287: (esell) convert unicode ssh pass to str for azure (refs:
272870           #47308)
272871
272872         · b6df5facce Merge pull request #47308 from rallytime/bp-47287
272873
272874         · 5f392a23fe convert unicode ssh pass to str for azure
272875
272876       · ISSUE   #47324:   (rlschilperoort)   archive.extracted   keep  and/or
272877         keep_source not working (refs: #47332)
272878
272879       · PR #47332: (garethgreenaway) [2018.3] Removing  duplicate  code  from
272880         state/archive.py @ 2018-04-27 13:12:51 UTC
272881
272882         · efa3aab800 Merge pull request #47332 from garethgreenaway/47324_ar‐
272883           chive_extracted_keep_keep_source
272884
272885         · cc10bfec6b Removing  redundant  code  which  is  prevening  keep  &
272886           keep_source from being set.
272887
272888       · PR #47326: (The-Loeki) Some Redis fixes @ 2018-04-26 17:12:47 UTC
272889
272890         · 245d62ca16       Merge      pull      request      #47326      from
272891           The-Loeki/redis-cache-sockets
272892
272893         · d86fbe5bdd redis_return: add unix_socket_path to docs
272894
272895         · ee9f533765 redis_cache: document UNIX socket access
272896
272897         · 5337558a5a redis_return: Let redis handle pool creation,  add  UNIX
272898           socket support
272899
272900         · c90f83b0f9  redis_return:  cluster_mode  default to False in __vir‐
272901           tual__ to prevent KeyError stacktraces
272902
272903         · 71e3286829 redis_return: Fix code blocks in docs
272904
272905         · e6605f1c78 redis_cache fix code blox in docs
272906
272907         · 40e67747ee redis_cache: add socket to options
272908
272909       · PR #47319: (dwoz) Skip unix group tests  on  windows.   @  2018-04-26
272910         15:59:35 UTC
272911
272912         · 27a438f0ff Merge pull request #47319 from dwoz/skip_tests
272913
272914         · d9442d043e Skip tests not applicable to windows
272915
272916       · PR  #47293:  (dwoz)  The  grp  module  is  not available on windows @
272917         2018-04-25 20:22:34 UTC
272918
272919         · 057f668788 Merge pull request #47293 from dwoz/win_build_fix
272920
272921         · 0386216005 Fix sneaky indention
272922
272923         · 082b8d0b3d Use salt.utils.platform
272924
272925         · cc2538e08f The grp modules is not available on windows
272926
272927       · ISSUE #46862: (kivoli) Setting locale.system fails in  2018.3  (refs:
272928         #47280, #46869)
272929
272930       · PR  #47280:  (gtmanfred)  make sure not to send invalid information @
272931         2018-04-25 17:46:45 UTC
272932
272933         · fff4f8c1a5 Merge pull request #47280 from gtmanfred/localectl
272934
272935         · 7c212cbb2d fix pylint
272936
272937         · 6754787e8e update localemod tests
272938
272939         · 9075070573 make sure not to send invalid information
272940
272941       · ISSUE #46977: (gtmanfred) [2018.3.0] Backwards compatibilty  breaking
272942         change in 2018.3.0 (refs: #47038)
272943
272944       · PR   #47038:   (garethgreenaway)  [2018.3]  fix  to  fileclient.py  @
272945         2018-04-25 14:57:04 UTC
272946
272947         · 205701dcbe   Merge   pull   request   #47038   from    garethgreen‐
272948           away/46977_fixing_fileclient_forward_compatibilty
272949
272950         · ba01d2133a Updating version.py to include Magnesium.
272951
272952         · 10c823dd79 The _ext_nodes master function has been renamed to _mas‐
272953           ter_tops. To ensure compatibility when using older Salt masters  we
272954           continue  to  pass  the  function as _ext_nodes until the Magnesium
272955           release.
272956
272957       · ISSUE #47059: (OrlandoArcapix) Some states  incorrectly  return  None
272958         instead of an empty dict when there are no changes (refs: #47060)
272959
272960       · ISSUE     #46985:    (OrlandoArcapix)    grafana4_user.present    and
272961         grafana4_org.present states not working in 2018.3.0 (refs: #47048)
272962
272963       · PR #47060:  (OrlandoArcapix)  Return  an  empty  dict  for  'changes'
272964         instead of 'None' @ 2018-04-25 14:55:24 UTC
272965
272966         · PR  #47048:  (OrlandoArcapix)  Issue46985 fix grafana4 state (refs:
272967           #47060)
272968
272969         · 89daf4fdc7   Merge   pull   request    #47060    from    OrlandoAr‐
272970           capix/Issue47059-return_dict_from_state
272971
272972         · 5378e4fd07  Update  grafana_datasource test to check for empty dict
272973           being returned on no changes, rather than None
272974
272975         · f115452653 Return an empty dict for 'changes' instead of 'None'
272976
272977       · ISSUE #47089:  (syphernl)  UnicodeDecodeError:  'ascii'  codec  can't
272978         decode  byte  0xc3  in position 404: ordinal not in range(128) (refs:
272979         #47153)
272980
272981       · PR #47153: (terminalmage)  salt.modules.ssh:  properly  encode/decode
272982         I/O @ 2018-04-25 14:53:51 UTC
272983
272984         · 10cc0d312b Merge pull request #47153 from terminalmage/issue47089
272985
272986         · bdb52797f8 salt.modules.ssh: properly encode/decode I/O
272987
272988       · ISSUE  #47199:  (tkaehn)  Targeting  by  list (-L) broken for minions
272989         behind syndic? (refs: #47275)
272990
272991       · PR #47275: (terminalmage) Fix false failure events  sent  when  using
272992         syndic @ 2018-04-25 13:56:47 UTC
272993
272994         · b5d64f1a70 Merge pull request #47275 from terminalmage/issue47199
272995
272996         · 8012ad12f8 Fix false failure events sent when using syndic
272997
272998       · ISSUE #47267: (skjaro) Problem with beacon diskusage on windows plat‐
272999         form in 2018.3 (refs: #47284)
273000
273001       · PR #47284: (skjaro) Fix beacon diskusage documentation  for  the  new
273002         beahavior mentioned in issue #47267 @ 2018-04-25 13:52:30 UTC
273003
273004         · 6215a995d8    Merge    pull   request   #47284   from   skjaro/bea‐
273005           con_diskusage_doc_fix
273006
273007         · fcc042aa5f Fix beacon documentation for the new beahavior mentioned
273008           in issue #47267
273009
273010       · PR  #47291:  (bosatsu)  Fix  proxy  minion  beacon  doc  @ 2018-04-25
273011         13:42:36 UTC
273012
273013         · 3ef4fe6ed2 Merge pull request  #47291  from  bosatsu/fix-proxy-min‐
273014           ion-beacon-doc
273015
273016         · 01980b4c43  Fix  topics/releases/2018.3.0.rst  to  include  correct
273017           example of proxy_example beacon yaml configuration.
273018
273019         · 9682e26eec Fix  topics/proxyminion/beacon.rst  to  include  correct
273020           example of salt_proxy beacon yaml configuration.
273021
273022       · ISSUE #47239: (bosatsu) Unable to load salt_proxy beacon on minion in
273023         2018.3.0 (refs: #47255)
273024
273025       · PR #47255: (garethgreenaway) [2018.3] Fixes to salt_proxy beacon  and
273026         beacon tests @ 2018-04-25 13:41:51 UTC
273027
273028         · ea2d68b865    Merge   pull   request   #47255   from   garethgreen‐
273029           away/47239_fixes_to_salt_proxy_beacon
273030
273031         · a2a8d78cb0 Fixing status beacon tests.
273032
273033         · c87d6cae23 Ensure the salt_proxy is  returning  the  correct  tuple
273034           when  the configuration is valid.  Update various beacon unit tests
273035           to ensure they are testing the results of the validate function for
273036           a True result.
273037
273038       · PR #47292: (dwoz) Fix decorator wart @ 2018-04-25 04:25:23 UTC
273039
273040         · PR #47290: (dwoz) Run cache_master test in tmp dir (refs: #47292)
273041
273042         · 19f9e8258f Merge pull request #47292 from dwoz/cp_fix_again
273043
273044         · 7d045eb235 Fix decorator wart
273045
273046       · PR #47285: (dwoz) Fix reg grains test @ 2018-04-25 00:16:56 UTC
273047
273048         · da532aa1ac Merge pull request #47285 from dwoz/core_test_fix
273049
273050         · 884f4c1829 Fix extra space
273051
273052         · 8a9027c0c9 Fix reg grains test
273053
273054       · PR  #47290:  (dwoz) Run cache_master test in tmp dir (refs: #47292) @
273055         2018-04-24 23:37:21 UTC
273056
273057         · f591cff643 Merge pull request #47290 from dwoz/test_cp_fix
273058
273059         · 5ff51affbd Run cache_master test in tmp dir
273060
273061       · ISSUE #47092: (syphernl) [2018.3.0] pkg.installed breaks with virtual
273062         packages (refs: #47250)
273063
273064       · ISSUE #38838: (Zorlin) Failing to remove nginx (refs: #44455)
273065
273066       · PR  #47250: (terminalmage) Fix virtual package detection @ 2018-04-24
273067         19:22:24 UTC
273068
273069         · PR #44455: (samodid) Fix for #38838 (refs: #47250)
273070
273071         · 6d323aa8f0 Merge pull request #47250 from terminalmage/issue47092
273072
273073         · b8630a70be Fix virtual package detection
273074
273075       · ISSUE #47225:  (pruiz)  zfs.filesystem_present  takes  forever  on  a
273076         dataset with lots (10k+) of snapshots (refs: #47228, #47227, #47226)
273077
273078       · PR  #47228:  (pruiz)  Fix  issue #47225: avoid zfs.filesystem_present
273079         slowdown when  dataset  has  lots  of  snapshots  (2018.3  branch)  @
273080         2018-04-24 13:35:21 UTC
273081
273082         · PR  #47226:  (pruiz) Fix issue #47225: avoid zfs.filesystem_present
273083           slowdown when dataset has lots of snapshots (refs: #47228, #47227)
273084
273085         · 428e915d6a      Merge      pull      request      #47228       from
273086           pruiz/pruiz/zfs-dataset-present-slow-2018.3
273087
273088         · cfbf136ab2  Fix issue #47225: avoid zfs.filesystem_present slowdown
273089           when dataset has lots of snapshots
273090
273091       · ISSUE #46943: (Auha) Slack.Engine  could  not  start  (refs:  #47262,
273092         #47109)
273093
273094       · PR  #47262:  (garethgreenaway)  [2018.3]  Fixes to targeting in Slack
273095         engine @ 2018-04-24 13:18:36 UTC
273096
273097         · 0b836106b9   Merge   pull   request   #47262   from    garethgreen‐
273098           away/slack_engine_target_fix
273099
273100         · bcdef641e8  Removing  target  and tgt_type from the cmdline that is
273101           passed along to Salt, the target is used else where  and  including
273102           it  in  the cmdline causes problem when it is passed along.  Adding
273103           an additional test to ensure we are getting the right targt.
273104
273105       · ISSUE #47047: (Giandom) Pillars aren't evaluated when alias is passed
273106         in Slack Engine (refs: #47142)
273107
273108       · PR  #47142:  (garethgreenaway)  [2018.3] pillar and output formatting
273109         fixes to Slack engine @ 2018-04-23 19:55:07 UTC
273110
273111         · 2ed4b38b02   Merge   pull   request   #47142   from    garethgreen‐
273112           away/47047_passing_pillar_to_slack_aliases
273113
273114         · 6f183e1d80 Initial commmit for unit/engines/test_slack_engine
273115
273116         · a2840fc230  Only  include  the rest of the cmdline if the cmd is an
273117           alias.
273118
273119         · e846df7409 Fixing a bug when passing pillar values to  aliases  for
273120           the  Slack engine.  Cleaned up the formatting of the results, color
273121           codes don't translate well into Slack output.  For any state  runs,
273122           eg.  highstate. apply, sls, we run the output through the highstate
273123           formater.  For anything else run it though the yaml outputer.  Run‐
273124           ning  it  though highstate causes errors when the output does match
273125           what the highstate output is expecting.
273126
273127       · PR #47245: (terminalmage) Ensure we pass hexid as bytes when zmq_fil‐
273128         tering enabled @ 2018-04-23 16:54:57 UTC
273129
273130         · 42a0e655dc Merge pull request #47245 from terminalmage/zeromq-bytes
273131
273132         · a7accc0548 Ensure we pass hexid as bytes when zmq_filtering enabled
273133
273134       · PR  #47242:  (aesposito91) PY3 fix for zeromq setsockopt @ 2018-04-23
273135         16:38:09 UTC
273136
273137         · 73525d1460 Merge pull request #47242 from aesposito91/2018.3
273138
273139         · b225351e6d Update napalm_syslog.py
273140
273141       · ISSUE #47117: (prashanthtuttu) Napalm / Capirca Issue  (refs: #47241)
273142
273143       · PR #47241: (mirceaulinic) Fix the imports into the  netacl  execution
273144         and state modules @ 2018-04-23 14:56:32 UTC
273145
273146         · b78295aee9 Merge pull request #47241 from cloudflare/fix-47117
273147
273148         · 26c5583264  #47117: fix the napalm imports in the netacl state mod‐
273149           ule
273150
273151         · 48396467c1 #47117: fix the napalm imports in the  netacl  execution
273152           module
273153
273154       · PR #47219: (garethgreenaway) [2018.3] Fixing a backward compatibility
273155         issue with vault module & runner @ 2018-04-23 14:10:19 UTC
273156
273157         · 88557ea991   Merge   pull   request   #47219   from    garethgreen‐
273158           away/vault_backward_compatibility
273159
273160         · 1758081ffe When using the vault module on a 2018.3 minion against a
273161           2017.7 master, the 2018.3 minion is expecting a verify  element  in
273162           the  results  from  the  Salt  runner on the master.  The runner in
273163           2017.7 did not include a verify element, which results in an error.
273164           This  change accounts for this by using the default in 2018.3 which
273165           is not to verify if not configured.
273166
273167       · PR #47186: (dmurphy18) backport of issue 46933, updated ZFS  handling
273168         to Salt 2018.3.x @ 2018-04-23 14:07:06 UTC
273169
273170         · 370feadbd2  Merge  pull  request  #47186  from  dmurphy18/zfs_back‐
273171           port_46933
273172
273173         · 283359d315  Corrected  typo  in  comma-seprated  and  2018.3.0   ->
273174           2018.3.1
273175
273176         · b7f8d5a22f  Replace  use  of Fluorine with 2018.3.0 for comma-sepa‐
273177           rated warnings
273178
273179         · 3f30ab2ed6 ZFS backport of 46933 to 2018.3.1
273180
273181       · PR #47217: (twangboy) Remove installation of pywin32 from setup.py  @
273182         2018-04-23 13:32:54 UTC
273183
273184         · bf3a67d11b Merge pull request #47217 from twangboy/fix_setup
273185
273186         · eb3d45bb08 Remove installation of pywin32 from setup.py
273187
273188       · PR #47195: (rallytime) [2018.3] Merge forward from 2017.7 to 2018.3 @
273189         2018-04-20 19:25:30 UTC
273190
273191         · 8e21703f13 Merge pull request #47195 from rallytime/merge-2018.3
273192
273193         · f90fd8c663 Test fix: file strings must be unicode in master config
273194
273195         · bee4948df1 Lint: use full path for event utils function
273196
273197         · 120c5446b7 Update old utils paths to new utils paths
273198
273199         · 4718d31e53 Merge branch '2017.7' into '2018.3'
273200
273201           · 65f344e371 Merge pull request #47184 from Ch3LL/status_test
273202
273203             · 25a84428b8 Add status module integration modules tests for Win‐
273204               dows
273205
273206           · 965600ad6c   Merge   pull  request  #47163  from  rallytime/jenk‐
273207             ins-autodoc
273208
273209             · 0039395017 Updage jenkins module  autodocs  to  use  jenkinsmod
273210               name instead
273211
273212           · 0a43dde5fc Merge pull request #47185 from twangboy/add_tests
273213
273214             · 345daa0423 Add additional integration tests to whitelist
273215
273216           · 1a600bb9a4   Merge  pull  request  #47172  from  dwoz/cover_with‐
273217             out_admin
273218
273219             · cadd759727 Use warnings to warn user
273220
273221             · 144c68e214 Allow non admin name based runs on windows
273222
273223           · d5997d2301 Merge  pull  request  #47110  from  kstreee/fix-misus‐
273224             ing-of-timeout
273225
273226             · 0624aee0ed Fixes misusing of the timeout option.
273227
273228           · 87ca2b4003 Merge pull request #40961 from terminalmage/issue40948
273229
273230             · 6ba66cca41 Fix incorrect logic in exception check
273231
273232             · fed5041c5f Make error more specific to aid in troubleshooting
273233
273234             · 8c67ab53b4 Fix path in log message
273235
273236             · 3198ca8b19  Make  error  more explicit when PKI dir not present
273237               for salt-call
273238
273239           · f5e63584d4 Merge pull request #47134 from Ch3LL/user_win_test
273240
273241             · e7c9bc4038 Add user integration tests for windows OS
273242
273243           · da2f6a3fac Merge pull request #47131 from gtmanfred/cli
273244
273245             · 1b1c29bf62 add __cli for master processes
273246
273247           · 9b8e6ffb8c Merge pull request #47129 from rallytime/bp-47121
273248
273249             · 11da526b21 add ImportError
273250
273251             · bd0c23396c fix pip.req import error in pip 10.0.0
273252
273253           · eb5ac51a48 Merge pull request #47102 from gtmanfred/2017.7
273254
273255             · 3dc93b310b fix tests
273256
273257             · 8497e08f8e fix pip module for 10.0.0
273258
273259             · 4c07a3d1e9 fix other tests
273260
273261             · b71e3d8a04 dont allow using  no_use_wheel  for  pip  10.0.0  or
273262               newer
273263
273264           · c1dc42e67e    Merge    pull    request    #47037    from   twang‐
273265             boy/fix_dev_scripts
273266
273267             · 990a24d7ed Fix build_env scripts
273268
273269       · ISSUE #46906:  (whytewolf)  Windows  failure  with  PR  46541  (refs:
273270         #47168)
273271
273272       · PR  #47168:  (gtmanfred)  fix  metadata  grain  for py3 and windows @
273273         2018-04-20 19:07:50 UTC
273274
273275         · a56eb7e05d Merge pull request #47168 from gtmanfred/metadata
273276
273277         · 396f7906e3 fix metadata grain for py3 and windows
273278
273279       · ISSUE #46918: (AmbicaY) napalm/capirca issue (refs: #47202)
273280
273281       · PR #47202: (mirceaulinic) Fix #46918: add the TTL field @  2018-04-20
273282         14:34:09 UTC
273283
273284         · 6135b76e2c Merge pull request #47202 from cloudflare/fix-46918
273285
273286         · 1e74141cc0 Fix #46918
273287
273288       · ISSUE  #47150: (srkunze) [Regression] ip_to_host and SSH._expand_tar‐
273289         get require missing reverse-lookup (refs: #47191)
273290
273291       · PR #47191: (terminalmage) salt-ssh: Do not attempt to  match  host/ip
273292         to minion ID if reverse lookup fails @ 2018-04-20 14:20:05 UTC
273293
273294         · 7f1115e611 Merge pull request #47191 from terminalmage/issue47150
273295
273296         · 95a6f075cb Add debug logging when ip_to_host fails
273297
273298         · 45696e622b  salt-ssh:  Do not attempt to match host/ip to minion ID
273299           if reverse lookup fails
273300
273301       · PR #47122: (rallytime) [2018.3] Merge forward from 2017.7 to 2018.3 @
273302         2018-04-19 20:44:18 UTC
273303
273304         · 1947ffdf56 Merge pull request #47122 from rallytime/merge-2018.3
273305
273306         · 878fa06134 Test fix: remove tornado testing lib from class
273307
273308         · a40f007962 lint: get_context is in stringutils.py now
273309
273310         · 3416e398c6 Update old utils paths references to use new paths
273311
273312         · 94c2a12be6 Merge branch '2017.7' into '2018.3'
273313
273314           · 6a4c0b8a1a Merge pull request #47108 from dwoz/async_test_fix
273315
273316             · 3d85e30ce5 AsyncTestCase is required for AsyncEventPublisher
273317
273318           · 03892eaf0b    Merge    pull    request    #47068   from   cached‐
273319             out/catch_value_error_socket_test
273320
273321             · 7db5625632 Catch an operation on a closed socket in a test
273322
273323           · 1ea2885ec2 Merge pull request #47065 from dwoz/jinja_test_fix
273324
273325             · 673cd31c65 Merge branch '2017.7' into jinja_test_fix
273326
273327           · 5293b5b5ca Merge pull request #47077 from dwoz/test_state_fix
273328
273329             · 444da3f893 Fix py3 wart (chr vs bytesstring)
273330
273331             · e8acca01c2 Fix failing state test by normalizing line endings
273332
273333           · ca967de5da Merge pull request #47067 from gtmanfred/2017.7
273334
273335             · f913a7859c use the recommended opennebula lookup method
273336
273337           · 7fddad6cd9 Merge pull request #47064 from dwoz/roots_tests_fix
273338
273339             · 25fd7c0694 fix py3 wart, encode os.linesep
273340
273341             · d79f1a1961 Fix fileserver roots tests
273342
273343           · 977c6939c4 Merge pull request #47069  from  cachedout/match_time‐
273344             out_arg
273345
273346             · b8990f5258  Pass  the  timeout variable to the CLI when calling
273347               salt in tests
273348
273349           · 2c4c19c622 Merge pull request #47074 from dwoz/ignore_artifacts
273350
273351             · c3941efad0 Kitchn should ignore artifacts directory
273352
273353           · c484c0bd71 Merge pull request #47055 from bloomberg/GH-47000
273354
273355             · 8af3f5b874 GH-47000: add  proper  handling  of  full_return  in
273356               cmd_subset
273357
273358           · f3496030cc    Merge    pull    request    #47039    from   twang‐
273359             boy/win_fix_winrm_script
273360
273361             · 6635b9003f Fix winrm powershell script
273362
273363                  · 46fa2c04de Fix py3 os.linesep wart
273364
273365                  · 3c565d7e54 Use salt.utils.fopen
273366
273367                  · aa965310f1 Clean up cruft
273368
273369                  · efc9866580 Jinja test fixes
273370
273371       · PR #47162: (terminalmage) Partial backport of #47161 to 2018.3 branch
273372         @ 2018-04-19 19:28:47 UTC
273373
273374         · PR  #47161:  (terminalmage)  Fix  failing  pillar  unit test (refs:
273375           #47162)
273376
273377         · 291cca7ed8 Merge pull request #47162 from terminalmage/bp-47161
273378
273379         · d185f97a47 mocked file_roots and pillar_roots should be dicts
273380
273381       · ISSUE #47081: (sjorge) file.directory with recursion fails  if  there
273382         are non-ascii characters in the path (refs: #47165)
273383
273384       · PR #47165: (terminalmage) Make sure a str type is passed to os.walk @
273385         2018-04-19 14:59:16 UTC
273386
273387         · 2ee8006da3 Merge pull request #47165 from terminalmage/issue47081
273388
273389         · 9e29acb477 Make sure a str type is passed to os.walk
273390
273391       · PR #47070: (terminalmage) Use decorators for temp files/dirs in  test
273392         suite @ 2018-04-19 14:01:48 UTC
273393
273394         · 6257862bbb Merge pull request #47070 from terminalmage/with_tempdir
273395
273396         · 048728d2b7 Remove unused imports
273397
273398         · 879c557264 Use decorators for temp files/dirs in test suite
273399
273400       · PR  #47155:  (mcalmer)  Fix  patchinstall  for  yumpkg  @  2018-04-18
273401         19:24:17 UTC
273402
273403         · b46365614b Merge pull request #47155 from mcalmer/fix-patchinstall
273404
273405         · 382afba457 fix invalid string compare
273406
273407         · 8c19368938 provide kwargs to pkg_resource.parse_targets required to
273408           detect advisory type
273409
273410       · ISSUE  #47042:  (valentin2105)  [ERROR] Unable to manage file: 'utf8'
273411         codec can't decode byte  (refs: #47061)
273412
273413       · PR #47061: (terminalmage) Fix diffing binary files  in  file.get_diff
273414         (refs: #47405) @ 2018-04-18 18:52:10 UTC
273415
273416         · 13ae1a2413 Merge pull request #47061 from terminalmage/issue47042
273417
273418         · 87f6cefea3  Rewrite  flaky  utf8  state  to make it easier to trou‐
273419           bleshoot
273420
273421         · df6e535f05 Fix diffing binary files in file.get_diff
273422
273423       · PR #47058: (terminalmage) Fix calls to file.lsattr when lsattr is not
273424         installed @ 2018-04-18 16:30:12 UTC
273425
273426         · cba0f13cd9 Merge pull request #47058 from terminalmage/lsattr
273427
273428         · eeb067e910 Fix calls to file.lsattr when lsattr is not installed
273429
273430       · ISSUE #46929: (noelmcloughlin) 2018.3 regression file.managed.context
273431         parsing (refs: #47104)
273432
273433       · PR #47104:  (terminalmage)  yamlloader:  Properly  handle  colons  in
273434         inline dicts @ 2018-04-18 16:22:47 UTC
273435
273436         · b96ce23b3f Merge pull request #47104 from terminalmage/issue46929
273437
273438         · 33bf6643cd Add additional test for plain scalars
273439
273440         · 508659b682 yamlloader: Properly handle colons in inline dicts
273441
273442       · ISSUE  #46887:  (julientravelaer)  ldap.managed  broken with 2018.3.0
273443         (refs: #47029)
273444
273445       · ISSUE #46859: (cheribral) pillar_ldap causing TypeError exceptions in
273446         python-ldap with unicode objects (refs: #47029)
273447
273448       · PR  #47076:  (terminalmage)  pillar_ldap:  Load config options as str
273449         types @ 2018-04-18 16:16:22 UTC
273450
273451         · PR #47029: (terminalmage) ldapmod.py/ldap3.py:  Force  modlist  for
273452           search/modify/etc. to be str types (refs: #47076)
273453
273454         · c12697b173 Merge pull request #47076 from terminalmage/issue46859
273455
273456         · c06c859caf pillar_ldap: Load config options as str types
273457
273458       · PR  #47107:  (twangboy)  Fix  issues  with  reg  state,  add  tests @
273459         2018-04-18 15:53:02 UTC
273460
273461         · 50bd885ec7 Merge pull request #47107 from twangboy/fix_46932
273462
273463         · ae8ab2ab1a Fix tests for py3, enable tearDown
273464
273465         · 3cf4ac1475 Add integration tests for reg state
273466
273467         · cc259b146f Cast vdata to appropriate type in reg state
273468
273469       · ISSUE #46909: (epelc) Binary contents_pillar with file.managed raises
273470         UnicodeDecodeError (refs: #47041)
273471
273472       · PR  #47041:  (terminalmage)  Force  null  bytes  to  be  str  types @
273473         2018-04-18 14:08:25 UTC
273474
273475         · d6c59696be Merge pull request #47041 from terminalmage/issue46909
273476
273477         · e4182715be Special check specifically for bytes types
273478
273479         · ee90dd5d95 Merge branch '2018.3' into issue46909
273480
273481         · 0e99343a7f Use the same way of defining contents in both  file.man‐
273482           aged states
273483
273484         · 5741d287b5 Move back to using null byte check for contents
273485
273486         · 8e214c9fa9 file.managed: Add test to ensure binary contents work
273487
273488         · 7b7dc94610  Use  salt.utils.stringutils.is_binary  to check if con‐
273489           tents are binary
273490
273491         · e3c969da81 PY3: Ensure binary contents work with file.managed
273492
273493         · 5d98a8bedd   Make   salt.utils.stringutils.to_binary    work    for
273494           bytestrings
273495
273496         · 1024000369 Force null bytes to be str types
273497
273498       · PR #47007: (twangboy) Fix some issues with the win_servermanager mod‐
273499         ule @ 2018-04-17 20:57:04 UTC
273500
273501         · 9a9f6524f8 Merge pull request #47007 from twangboy/fix_46968
273502
273503         · 432db7c6ec Lint: Remove unused import
273504
273505         · 10341e8f8b Remove erroneous pop statement
273506
273507         · 56582f293a Remove redundant try/except block from state`
273508
273509         · 6ad2427279 Remove unnecessary try/except blocks
273510
273511         · 92eeaa51bd Put some error checking in the shell command
273512
273513       · ISSUE #46943: (Auha) Slack.Engine  could  not  start  (refs:  #47262,
273514         #47109)
273515
273516       · PR  #47109:  (garethgreenaway)  [2018.3]  fixes  to  Slack  engine  @
273517         2018-04-17 13:56:27 UTC
273518
273519         · a52137ee36   Merge   pull   request   #47109   from    garethgreen‐
273520           away/46943_slack_engine_fixes
273521
273522         · 02baa76595  Fixing a bug that occured when a comment was added to a
273523           message    sent    to    Slack    by     Salt.      Also     making
273524           slack_engine:groups_pillar optional.
273525
273526       · PR  #47045: (tankywoo) Fix ba7d00f5 for gentoo pkg.installed method @
273527         2018-04-17 13:55:45 UTC
273528
273529         · 6c16a34c44  Merge  pull  request  #47045   from   tankywoo/fix-gen‐
273530           too-pkg-installed
273531
273532         · 551f4e10cf Fix ba7d00f5 for gentoo pkg.installed
273533
273534       · PR  #47053:  (clan) handle jinja error in <module> level @ 2018-04-16
273535         22:47:54 UTC
273536
273537         · 86c7cfef56 Merge pull request #47053 from clan/jinja-error
273538
273539         · a847466946 handle jinja error in <module> level
273540
273541       · PR #47062: (rallytime) [2018.3] Merge forward from 2017.7 to 2018.3 @
273542         2018-04-16 19:58:32 UTC
273543
273544         · 7bfa608e9f Merge pull request #47062 from rallytime/merge-2018.3
273545
273546         · 59f5880e72 lint fix
273547
273548         · 1ddf8c584b Update old utils files to new new utils files path
273549
273550         · 28a79ebba4 Merge branch '2017.7' into '2018.3'
273551
273552           · 1700a10ebe      Merge      pull      request      #46326     from
273553             kstreee/fix-client-local
273554
273555             · 0f358a9c9e Fixes a timing bug of saltnado's client local.
273556
273557           · c3c00316c5 Merge pull request #46913 from lomeroe/2017_7-fix46877
273558
273559             · 369a0645ed move exception for clarity
273560
273561             · 32ce5bfda5 Use configparser  serializer  object  to  read  pss‐
273562               cript.ini and script.ini startup/shutdown script files.
273563
273564           · 9e37cfc9d6    Merge    pull   request   #47025   from   terminal‐
273565             mage/fix-server_id-windows
273566
273567             · cb0cf89ed3 Fix server_id grain in PY3 on Windows
273568
273569           · 2e193cfb45 Merge pull request #47027 from rallytime/bp-44508
273570
273571             · 8e72f362f4 Add priority field to support the latest capirca.
273572
273573             · 112f92baab Add priority field to support the latest capirca.
273574
273575           · 385fe2bc1e Merge pull request #47020 from rallytime/bp-46970
273576
273577             · 9373dff52b Update test_pkgrepo.py
273578
273579             · 13cf9eb5b1 Removing debugging.
273580
273581             · a61a8593e5 Removing suse  from  pkgrepo  comments  tests.   the
273582               pkgrepo functions in SUSE pkg module do not support comments.
273583
273584       · PR  #47066:  (terminalmage)  Fix  regression  in handling of environ‐
273585         ment/saltenv @ 2018-04-16 19:57:12 UTC
273586
273587         · fa27e64a33 Merge pull request #47066 from terminalmage/issue46979
273588
273589         · 5c4c0468ad Fix regression in handling of environment/saltenv
273590
273591       · PR #47051: (rallytime) Simplify  LooseVersion  check  in  __virtual__
273592         check in mac_assistive module @ 2018-04-13 19:43:33 UTC
273593
273594         · 8761b81a69 Merge pull request #47051 from rallytime/fix-lint
273595
273596         · d52b3689d9  Simplify  LooseVersion  check  in  __virtual__ check in
273597           mac_assistive module
273598
273599       · PR #47057: (corywright) Fix copy/paste typo in  minionfs  tutorial  @
273600         2018-04-13 19:43:01 UTC
273601
273602         · bbb8018b55  Merge  pull  request  #47057  from  corywright/fix-min‐
273603           ionfs-whitelist-docs
273604
273605         · 9b7ee97d12 Fix copy/paste typo in minionfs tutorial
273606
273607       · ISSUE #46931: (anlutro) file.managed diff is switched when using tem‐
273608         plate in salt-ssh 2018.3 (refs: #47046)
273609
273610       · PR  #47046:  (clan)  switch  order  of file to be diffed @ 2018-04-13
273611         13:40:13 UTC
273612
273613         · d5afa4a2c5 Merge pull request #47046 from clan/file_diff
273614
273615         · bb58605c54 switch order of file to be diffed
273616
273617       · ISSUE    #46985:    (OrlandoArcapix)    grafana4_user.present     and
273618         grafana4_org.present states not working in 2018.3.0 (refs: #47048)
273619
273620       · PR  #47048:  (OrlandoArcapix)  Issue46985  fix  grafana4 state (refs:
273621         #47060) @ 2018-04-13 13:34:29 UTC
273622
273623         · ec9251ecd3   Merge   pull   request    #47048    from    OrlandoAr‐
273624           capix/Issue46985-fix-grafana4-state
273625
273626         · 259d747414 Remove accidentally added copy of a file
273627
273628         · 6c8c3da74d  Return  an  empty  dict instead of 'None' from grafana4
273629           states
273630
273631       · PR #47017: (opdude)  Don’t  encode  a  unicode  string  @  2018-04-13
273632         13:31:33 UTC
273633
273634         · d8c4c221cf  Merge  pull request #47017 from Unity-Technologies/hot‐
273635           fix/pip_windows
273636
273637         · 838670f626 Don’t encode a unicode string
273638
273639       · ISSUE #46917: (boltronics) mysql_grants.present broken with database:
273640         somedatabase.* (refs: #46919)
273641
273642       · PR  #47019:  (rallytime)  Back-port  #46919  to  2018.3  @ 2018-04-12
273643         19:43:01 UTC
273644
273645         · PR #46919: (boltronics) Replace failing is and is not tests with ==
273646           and != (refs: #47019)
273647
273648         · 5b7544eaa0 Merge pull request #47019 from rallytime/bp-46919
273649
273650         · 6837d6c138 Replace failing is and is not tests with == and !=
273651
273652       · ISSUE  #46887:  (julientravelaer)  ldap.managed  broken with 2018.3.0
273653         (refs: #47029)
273654
273655       · ISSUE #46859: (cheribral) pillar_ldap causing TypeError exceptions in
273656         python-ldap with unicode objects (refs: #47029)
273657
273658       · PR  #47029:  (terminalmage)  ldapmod.py/ldap3.py:  Force  modlist for
273659         search/modify/etc. to  be  str  types  (refs:  #47076)  @  2018-04-12
273660         19:41:29 UTC
273661
273662         · ac2d54d78a Merge pull request #47029 from terminalmage/issue46859
273663
273664         · ab6314247b   ldapmod.py/ldap3.py:  Force  modlist  for  search/mod‐
273665           ify/etc. to be str types
273666
273667         · 7691dee4ed Add to_str option to decode funcs
273668
273669       · ISSUE #46868: (tjyang)  2017.7.4  to  2018.3.0  upgrade  issue:  Salt
273670         request timed out. The master is not responding (refs: #46930)
273671
273672       · PR  #46930:  (dwoz)  Clean  up  bad  public  key headers @ 2018-04-12
273673         18:57:37 UTC
273674
273675         · e6e07720fa Merge pull request #46930 from dwoz/crptodomekeyfix
273676
273677         · f2e484ed54 Merge branch '2018.3' into crptodomekeyfix
273678
273679         · e1995a92ee Fix verify signature test
273680
273681         · 0ba32118d9 Add test for bad public key without m2crypto
273682
273683         · a44c356233 Clean up bad public key headers
273684
273685       · ISSUE #46951: (Giandom) Slack engine error using  aliases:  TypeError
273686         unhashable type (refs: #47008)
273687
273688       · PR  #47008: (garethgreenaway) [2018.3] Fixing aliases in slack engine
273689         @ 2018-04-12 15:24:40 UTC
273690
273691         · 0e43becc12   Merge   pull   request   #47008   from    garethgreen‐
273692           away/46951_fixing_slack_engine_aliases
273693
273694         · dc2a72d44f Fixing aliases in slack engine
273695
273696       · ISSUE #46947: (Giandom) Slack engine groups error (refs: #47009)
273697
273698       · PR  #47009: (garethgreenaway) [2018.3] fixes to slack engine documen‐
273699         tation @ 2018-04-12 15:20:54 UTC
273700
273701         · c33de7c82d   Merge   pull   request   #47009   from    garethgreen‐
273702           away/46947_slack_documentation_update_catch_non_dicts
273703
273704         · f0fadbb4ce   Fixing  indention  for  slack  documention.   Updating
273705           try..except to ensure we catch when groups aren't dicts.
273706
273707       · PR #47023:  (rallytime)  Back-port  #46997  to  2018.3  @  2018-04-12
273708         15:05:24 UTC
273709
273710         · PR  #46997:  (LukeCarrier)  Fix respository (=> repository) typo in
273711           sls_build (refs: #47023)
273712
273713         · PR #44638: (terminalmage) Many improvements to docker  network  and
273714           container states (refs: #46997)
273715
273716         · 68d17c71f1 Merge pull request #47023 from rallytime/bp-46997
273717
273718         · c2c60f4ffc Fix respository (=> repository) typo in sls_build
273719
273720       · PR #47026: (rallytime) [2018.3] Merge forward from 2017.7 to 2018.3 @
273721         2018-04-12 14:39:41 UTC
273722
273723         · 9cf3c6406a Merge pull request #47026 from rallytime/merge-2018.3
273724
273725         · ba70df9d62 Use msgpack utils for loads  call,  import  msgpack  for
273726           UnpackValueError
273727
273728         · 34a478dfe5 Update old fopen path with new utils files path
273729
273730         · 590c7fc13f Merge branch '2017.7' into '2018.3'
273731
273732           · 8f994e7cf9 Merge pull request #46539 from jfoboss/patch-1
273733
273734             · 6890122e41 Merge pull request #1 from twangboy/pull_46539
273735
273736               · 19c3fadbe5 Fix unit test for win_ntp
273737
273738             · 826a8d3099 Fixing #46504
273739
273740           · 74d70e95a5 Merge pull request #46999 from gtmanfred/2017.7
273741
273742             · 791af8f6ce switch pip test package
273743
273744           · 8adaf7f526 Merge pull request #46023 from bloomberg/parallel-orch
273745
273746             · 0ac0b3ca29 Merge branch '2017.7' into parallel-orch
273747
273748           · 39d65a39cf    Merge   pull   request   #46613   from   myinitial‐
273749             sarepm/fix_puppet.fact_and_puppet.facts
273750
273751             · 44ecd13abc Update tests to use cmd.run_all
273752
273753             · 7d7d40f541 Merge branch '2017.7' into  fix_puppet.fact_and_pup‐
273754               pet.facts
273755
273756             · 0ce1520bd0  Merge branch '2017.7' into fix_puppet.fact_and_pup‐
273757               pet.facts
273758
273759             · 69e1f6f681 Fix puppet.fact and puppet.facts to use stdout.
273760
273761                  · 3d5e69600b address lint issues raised by @isbm
273762
273763                  · a9866c7a03 fix parallel mode py3 compatibility
273764
273765                  · 6d7730864a removing prereq from test orch
273766
273767                  · 6c8a25778f add integration test to  runners/test_state  to
273768                    exercise parallel
273769
273770                  · 2c86f16b39  cherry-pick  cdata  KeyError  prevention  from
273771                    #39832
273772
273773                  · 26a96e8933 record start/stop duration  for  parallel  pro‐
273774                    cesses separately
273775
273776                  · e4844bdf2b  revisit previous join() behavior in check_req‐
273777                    uisites
273778
273779                  · f00a359cdf join() parallel process instead of a  recursive
273780                    sleep
273781
273782                  · 6e7007a4dc add parallel support for orchestrations
273783
273784       · PR   #47021:   (garethgreenaway)   [2018.3]  Fixing  integration.mod‐
273785         ules.test_state_jinja_filters.StateModuleJinjaFilter‐
273786         sTest.test_path_which @ 2018-04-12 13:12:39 UTC
273787
273788         · d3be828696    Merge   pull   request   #47021   from   garethgreen‐
273789           away/920_state_module_jinja_filters_test_test_path_which
273790
273791         · 2ccf2c5fe0 Fixing test_path_which  to  check  that  the  filter  is
273792           available rather than results.
273793
273794       · PR  #47022:  (corywright)  Add auth.file module to auth documentation
273795         page @ 2018-04-11 21:11:10 UTC
273796
273797         · 66e8445b82    Merge    pull    request    #47022     from     cory‐
273798           wright/add-auth-file-module-to-docs
273799
273800         · bd0918fc40 Add auth.file module to auth documentation page
273801
273802       · PR  #45774:  (twangboy)  Fix  __virtual__  issue  in  mac_system.py @
273803         2018-04-11 14:26:13 UTC
273804
273805         · 12ecfdee93 Merge pull  request  #45774  from  twangboy/mac_add_ser‐
273806           vice_util
273807
273808         · 5796696617 Fix tests for Py3
273809
273810         · 7b40218790 Fix lint, remove sentence from docstring
273811
273812         · 781880f0fc Add _available_services function for testing
273813
273814         · 6080633613 Add assert_called_with
273815
273816         · 1bf70b2033 Add more tests for available_services
273817
273818         · b429fc3e74 Add tests for mac_utils
273819
273820         · b5f67130cc Used *args and **kwargs
273821
273822         · ed061617a2 Fix unicode_literal issue in mac_assistive
273823
273824         · 82e17e5fc8 Fix args/kwargs
273825
273826         · 455146500a Move some functions into mac_utils
273827
273828         · 125586264b Add utilsmac_service.py
273829
273830       · ISSUE  #46953: (cskowronnek) salt-cloud azurearm [ERROR   ] There was
273831         a profile error: Parameter  'subscription_id'  must  be  str.  (refs:
273832         #47012)
273833
273834       · PR #47012: (terminalmage) Azure: ensure subscription_id is a str type
273835         @ 2018-04-11 13:57:08 UTC
273836
273837         · 79347f108a Merge pull request #47012 from terminalmage/issue46953
273838
273839         · 5192622a32 Azure: ensure subscription_id is a str type
273840
273841       · PR #46526: (Ch3LL) Add  tests  for  new  source_*  minion  options  @
273842         2018-04-10 19:56:45 UTC
273843
273844         · 6503bf8dfa Merge pull request #46526 from Ch3LL/ip_conf
273845
273846         · c01180ff47 Patch ZMQ versions for master_uri test
273847
273848         · da38f332a5 Change comment and salt.utils.network import
273849
273850         · e972ebdf1a Add for new source_* minion options
273851
273852       · PR #46993: (L4rS6) Fix: tuple instead of string @ 2018-04-10 17:07:59
273853         UTC
273854
273855         · 03907d3fce Merge pull  request  #46993  from  L4rS6/fix-broken-key‐
273856           stone-auth/2018.3
273857
273858         · e33ba1b3d5 Fix: tuple instead of string
273859
273860       · PR #46990: (rallytime) [2018.3] Merge forward from 2017.7 to 2018.3 @
273861         2018-04-10 17:07:33 UTC
273862
273863         · ffaee26540 Merge pull request #46990 from rallytime/merge-2018.3
273864
273865         · ccc5bad2df Merge branch '2017.7' into merge-2018.3
273866
273867           · ba5421d988 Merge pull request #46991 from gtmanfred/windows
273868
273869             · 98588c1dc5 use saltstack salt-jenkins
273870
273871         · 2f1cf3e511 Merge branch '2017.7' into '2018.3'
273872
273873           · 00c4067585 Merge pull request #46975 from gtmanfred/windows
273874
273875             · 1f69c0d7f8 make sure windows outputs xml junit files
273876
273877             · 4a2ec1bbb3 support new versions of winrm-fs
273878
273879             · b9efec8526 remove libnacl on windows
273880
273881             · 2edd5eaf9e fix path
273882
273883             · b03e272e44 windows work
273884
273885           · 3cf2353e41 Merge pull request #46945 from vutny/doc-faq-fix-jinja
273886
273887             · bfdf54e61d [DOC] Fix Jinja block in FAQ page
273888
273889           · fc2f728665   Merge   pull   request   #46925    from    terminal‐
273890             mage/fix-file.patch-docstring
273891
273892             · 97695657f0  Remove reference to directory support in file.patch
273893               state
273894
273895           · eef6c518e1 Merge pull request #46900 from rallytime/bp-46801
273896
273897             · 6a41e8b457 rename jenkins to jenkinsmod
273898
273899           · 71839b0303 Merge pull request #46899 from rallytime/bp-45116
273900
273901             · b92f908da4 fix adding parameters to http.query from sdb yaml
273902
273903       · PR #46339: (DmitryKuzmenko) SSH  State  test  failures  @  2018-04-10
273904         17:06:51 UTC
273905
273906         · a34b92ae82    Merge    pull   request   #46339   from   DSRCorpora‐
273907           tion/bugs/ssh_state_test_failures
273908
273909         · bd98c49dc7 Merge branch '2018.3' into bugs/ssh_state_test_failures
273910
273911         · 6fdc458a7f Increase timeout for run_run in ShellCase
273912
273913         · 8e60cccdfb Give background task more chance to start.
273914
273915         · e0b6878fac One more useful assert for better test results.
273916
273917         · 92a6c43c73 More logging and assertion fixes. Extended ssh ops time‐
273918           out.
273919
273920         · 6ebdd17ac4 Advanced logging in the failing SSH State tests.
273921
273922       · PR  #46989:  (Ch3LL)  Fix  redis  cache  log  debug line @ 2018-04-10
273923         16:35:12 UTC
273924
273925         · 9924100c44 Merge pull request #46989 from Ch3LL/redis_log
273926
273927         · 6160bc06c6 Fix redis cache log debug line
273928
273929       · ISSUE #46834: (oeuftete) strftime filter not found in 2018.3.0 (refs:
273930         #46848)
273931
273932       · ISSUE  #46668:  (anlutro)  Jinja2  filter strftime stopped working in
273933         salt-ssh 2018.3 (refs: #46848, #46744)
273934
273935       · PR #46848: (garethgreenaway) [2018.8] salt-ssh jinja filters tests  @
273936         2018-04-10 16:19:51 UTC
273937
273938         · c6431936cb  Merge  pull  request  #46848 from garethgreenaway/test‐
273939           ing_jinja_filters_avaiable_via_salt_ssh
273940
273941         · 5fcda3eff8 Merge branch  '2018.3'  into  testing_jinja_filters_ava‐
273942           iable_via_salt_ssh
273943
273944         · 0adfee9b11  Updating a couple tests.  Fixing check_whitelist_black‐
273945           list to work with PY3 when non-iterables are passed.  Adding  warn‐
273946           ing about lst_avg results being wrong and future updates in Neon.
273947
273948         · f3f42146ca  Removing expected from strftime and hashsum tests since
273949           the results are always different and we are  only  concerned  about
273950           the filter being available.
273951
273952         · 860234c045 Fixing lint.
273953
273954         · 0891c6b580 fixing docstring
273955
273956         · c8945e4b2e cleaning up some imports.
273957
273958         · 0599759e5b cleaning up some test doc strings.
273959
273960         · dceda5eb88  Moving  all  jinja filter tests into support/jinja_fil‐
273961           ters.py.   Updaitng  integration/ssh/test_jinja_filters.py  to  use
273962           those   tests.    Adding  integration/modules/test_state_jinja_fil‐
273963           ters.py to also use the common jinja filter tests.
273964
273965         · 07d7e3ca01 Adding a new integration test  and  corresponding  state
273966           files to test availabilty of jinja filters when using salt-ssh.
273967
273968       · ISSUE #46880: (liquidgecka) rabbitmq_policy broken in 2018.3.0 (refs:
273969         #46973)
273970
273971       · PR #46973: (rallytime) New "apply_to" kwarg in rabbitmq module should
273972         be added at the end @ 2018-04-10 14:42:32 UTC
273973
273974         · PR  #41233:  (dnABic)  added parameter apply_to for rabbitmq policy
273975           (refs: #46973)
273976
273977         · fbbcb7584c Merge pull request #46973 from rallytime/fix-46880
273978
273979         · 8ce21f982c New "apply_to" kwarg in rabbitmq module should be  added
273980           at the end
273981
273982       · ISSUE  #46934:  (d601) GPG encrypted binary data in pillars breaks in
273983         2018.3.0 (refs: #46966)
273984
273985       · PR #46966: (terminalmage) Fix traceback  when  attempting  to  decode
273986         binary data to unicode @ 2018-04-10 14:08:35 UTC
273987
273988         · 58f59cfbff Merge pull request #46966 from terminalmage/issue46934
273989
273990         · df43ffdb8f salt.payload.Serial: fix traceback when unpacking binary
273991           blob
273992
273993         · 40a49358c9 gpg renderer: fix tranceback when  decrypted  ciphertext
273994           contains binary data
273995
273996         · 17a88f6a71 Include exc_info in pillar render errors to aid in trou‐
273997           bleshooting
273998
273999       · ISSUE #46881: (SynPrime) Cron.file - source  file  not  found  (refs:
274000         #46944)
274001
274002       · PR  #46944: (garethgreenaway) [2018.3] cron.file with salt source URL
274003         @ 2018-04-10 13:34:03 UTC
274004
274005         · e33e792e2a   Merge   pull   request   #46944   from    garethgreen‐
274006           away/46881_Cron_file_source_file_not_found
274007
274008         · 438aafeb03 Adding kwargs to calls into file module functions
274009
274010         · 14d12b1d6b  Remove unused imports.  Gating tests so they do not run
274011           on Windows
274012
274013         · 623d96f21a Adding dummy cron file for integration/states/test_cron
274014
274015         · c8e01871d6 Adding an integration test to test cron.file.
274016
274017         · ddc55d8f9b Fixing bug that made cron.file unable to use a file  via
274018           a Salt URL.
274019
274020       · PR  #46937:  (gtmanfred) enable_ssh_minions does not work with subset
274021         yet @ 2018-04-07 02:54:56 UTC
274022
274023         · 08e8782f76 Merge pull request #46937 from gtmanfred/2018.3
274024
274025         · 3fb75e903c enable_ssh_minions does not work with subset yet
274026
274027       · PR #46936: (gtmanfred) don't  copy  __pycache__  or  .pyc  files  for
274028         kitchen @ 2018-04-06 19:15:46 UTC
274029
274030         · ac4e7cd73f Merge pull request #46936 from gtmanfred/2018.3
274031
274032         · 91474878fa don't copy __pycache__ or .pyc files for kitchen
274033
274034       · ISSUE #46659: (stamak) [salt-cloud] [new oxygen openstack driver ] no
274035         public_ips and floating_ips in salt-cloud output (refs: #46912)
274036
274037       · PR #46912: (gtmanfred) pull latest vm data after building  for  open‐
274038         stack shade driver @ 2018-04-06 13:46:42 UTC
274039
274040         · 8105fd9715 Merge pull request #46912 from gtmanfred/openstack
274041
274042         · 5ef538f8ad  pull  latest vm data after building for openstack shade
274043           driver
274044
274045       · PR #46908: (rallytime) [2018.3] Merge forward from 2017.7 to 2018.3 @
274046         2018-04-05 21:27:03 UTC
274047
274048         · 735ea12960 Merge pull request #46908 from rallytime/merge-2018.3
274049
274050         · 102e966512 Remove redundant section in log setup
274051
274052         · 177c686b52 Update old utils paths to new utils paths
274053
274054         · 0a297e7319 Merge branch '2017.7' into '2018.3'
274055
274056           · d0f5b43753    Merge    pull    request    #44926   from   frogun‐
274057             der/whitelisted_acl
274058
274059             · 18e460fc30 Merge branch '2017.7' into whitelisted_acl
274060
274061             · 1ad4d7d988 fix assert errors
274062
274063             · e6a56016df update test
274064
274065             · 19a2244cb7 whitelist_acl_test
274066
274067           · 7d822f9cec Merge pull request #46464 from gtmanfred/orchestration
274068
274069             · 637cdc6b7b fix pylint
274070
274071             · 0151013ddb document cli option for cmd_subset
274072
274073             · 4a3ed6607d add test for subset in orchestration
274074
274075             · 3112359dd6 fix salt subset in orchestrator
274076
274077           · 805ed1c964 Merge pull request #46879 from dwoz/cloudtestfix
274078
274079             · dc54fc53c3 Fix multiple typos causing tests to fail
274080
274081           · f70f6de282   Merge    pull    request    #46647    from    twang‐
274082             boy/win_fix_test_grains
274083
274084             · c179388b0e  Fix  the  tear  down  function  in integration.mod‐
274085               ules.test_grains.GrainsAppendTestCase
274086
274087           · 91c078ce12  Merge   pull   request   #46756   from   nages13/bug‐
274088             fix-grain-virtual_subtype
274089
274090             · 781f5030a4   Merge   branch  'bugfix-grain-virtual_subtype'  of
274091               https://github.com/nages13/salt into  bugfix-grain-virtual_sub‐
274092               type
274093
274094               · cd1ac4b7f9   Merge  branch  '2017.7'  into  bugfix-grain-vir‐
274095                 tual_subtype
274096
274097               · 0ace76c0e7  Merge  branch  '2017.7'  into   bugfix-grain-vir‐
274098                 tual_subtype
274099
274100               · 9eb6f5c0d0   Merge  branch  '2017.7'  into  bugfix-grain-vir‐
274101                 tual_subtype
274102
274103               · 73d6d9d365  Merge  branch  '2017.7'  into   bugfix-grain-vir‐
274104                 tual_subtype
274105
274106               · a4a17eba6a   Merge  branch  '2017.7'  into  bugfix-grain-vir‐
274107                 tual_subtype
274108
274109               · bf5034dbdb  Merge  branch  '2017.7'  into   bugfix-grain-vir‐
274110                 tual_subtype
274111
274112               · 8d12770951   Merge  branch  '2017.7'  into  bugfix-grain-vir‐
274113                 tual_subtype
274114
274115             · 7e704c0e81 Moved down container check code below hypervisors to
274116               validate  containers type running in virtual environment. Fixes
274117               #46754 & #43405
274118
274119             · 710f74c4a6 fix grains['virtual_subtype'] to show Docker on  xen
274120               kernels
274121
274122           · 058bbed221   Merge   pull   request   #46799   from  garethgreen‐
274123             away/46762_prereq_shenanigans_tests
274124
274125             · 13875e78cf Fixing documention string for test.
274126
274127             · 3d288c44d4 Fixing test documentation
274128
274129             · 6cff02ef6a Adding tests for #46788
274130
274131           · d9770bf3f8  Merge  pull  request  #46867  from  terminalmage/uni‐
274132             code-logging-normalization
274133
274134             · 7652688e83 Backport string arg normalization to 2017.7 branch
274135
274136           · 9eb98b1f6e Merge pull request #46770 from twangboy/fix_46433
274137
274138             · 89af0a6222 Merge branch '2017.7' into fix_46433
274139
274140             · 67b4697578 Remove unused import (ling)
274141
274142             · 9302fa5ab0 Clean up code comments
274143
274144             · b383b9b330 Change the order of SID Lookup
274145
274146           · 9c776cffb7 Merge pull request #46839 from gtmanfred/tupletarget
274147
274148             · 3b7208ce27 match tuple for targets as well
274149
274150           · 7db251dc11 Merge pull request #46845 from rallytime/bp-46817
274151
274152             · 36a0f6d8ca address filehandle/event leak in async run_job invo‐
274153               cations
274154
274155           · e3d17ab7bc Merge pull request #46847 from dwoz/missing-strdup
274156
274157             · 55845f4846 strdup from libc is not available on windows
274158
274159           · f2dd79f9c4 Merge pull request #46776 from gtmanfred/2017.7
274160
274161             · edc1059ee0 fix shrinking list in for loop bug
274162
274163       · PR #46853: (terminalmage) Add back date_format  filter  @  2018-04-05
274164         20:33:50 UTC
274165
274166         · 9a47afc33b  Merge  pull  request #46853 from terminalmage/date_for‐
274167           mat_filter
274168
274169         · 266d13a665 Add back date_format filter
274170
274171       · PR #46882: (jasperla) Backport  #46280  #46849  #46852  to  2018.3  @
274172         2018-04-05 14:29:12 UTC
274173
274174         · PR  #46852: (jasperla) fix creating a nic tag on a link with double
274175           0 in the MAC (refs: #46882)
274176
274177         · PR #46849: (jasperla) Unbreak creating etherstubs on SmartOS (refs:
274178           #46882)
274179
274180         · PR  #46280: (jasperla) Remove unneeded checks for binaries in Smar‐
274181           tOS modules (refs: #46882)
274182
274183         · a064a3e695 Merge pull request  #46882  from  jasperla/smartos/back‐
274184           ports
274185
274186         · 47a66975ff  fix  creating  a nic tag on a link with double 0 in the
274187           MAC
274188
274189         · a3cb0e576e Unbreak creating etherstubs on SmartOS
274190
274191         · e703254990 Remove unneeded checks for binaries in SmartOS modules
274192
274193       · PR #46873: (terminalmage) Attempt UTF-8 first when  decoding/encoding
274194         @ 2018-04-05 14:16:28 UTC
274195
274196         · 4e5e291c99 Merge pull request #46873 from terminalmage/utf8-first
274197
274198         · cf28eb74aa Don't log command when output_loglevel == 'quiet'
274199
274200         · f59cee28db  Remove  hacky workarounds to get encode/decode tests to
274201           pass on Windows
274202
274203         · 76e5d81bb4 Remove hacky workaround to get Windows to decode deseri‐
274204           alized data properly
274205
274206         · 0b5729e58a  Remove hacky workaround to get git state/exec module to
274207           work properly on Windows
274208
274209         · 22ff48518f Attempt UTF-8 first when decoding/encoding
274210
274211       · ISSUE #43499: (tyeapple) zmq setsockopt need to adapt python3  (refs:
274212         #46874)
274213
274214       · PR  #46878:  (terminalmage)  Backport  #46874  to 2018.3 @ 2018-04-05
274215         13:26:04 UTC
274216
274217         · PR #46874: (johnj) Use bytestrings for PY3 compatibility when  run‐
274218           ning setsockopt for zmq.SUBSCRIBE (refs: #46878)
274219
274220         · 1518762465 Merge pull request #46878 from terminalmage/bp-46874
274221
274222         · d9511d04d4 #43499, zmq setsockopt need to adapt python3
274223
274224       · ISSUE  #46862:  (kivoli) Setting locale.system fails in 2018.3 (refs:
274225         #47280, #46869)
274226
274227       · PR #46869: (gtmanfred) Always return dictionary for _localectl_status
274228         @ 2018-04-05 13:25:14 UTC
274229
274230         · 67894e3ee9 Merge pull request #46869 from gtmanfred/2018.3
274231
274232         · 1496e985f7 fix pylint
274233
274234         · 75425dfd20 fix tests for localemod
274235
274236         · 2d7c7b5e33 Always return dictionary for _localectl_status
274237
274238       · PR #46870: (mirceaulinic) Correct the documentation for two new proxy
274239         modules @ 2018-04-04 21:48:41 UTC
274240
274241         · 58c8ff18e2 Merge pull request #46870 from cloudflare/proxy-doc
274242
274243         · f4b6184476 Corect and add the cimc proxy module to autodoc
274244
274245         · a99bc202b9 Correct & add Panos to autodoc
274246
274247       · PR #46729: (terminalmage) Performance improvement/error  catching  in
274248         expr_match @ 2018-04-04 20:25:57 UTC
274249
274250         · d7e4b9d755 Merge pull request #46729 from terminalmage/expr_match
274251
274252         · 70cfafe299 Add test case
274253
274254         · 250039b11f Restore original variable name
274255
274256         · ae0f112a49  Log  an  exception  when  non-string val/expr passed to
274257           expr_match
274258
274259         · dac42a672b Performance improvement/error catching in expr_match
274260
274261       · PR #46872: (terminalmage) Backport  #46863  to  2018.3  @  2018-04-04
274262         19:04:40 UTC
274263
274264         · PR #46863: (TamCore) fixed top function which was broken since com‐
274265           mit 002aa88a97e (refs: #46872)
274266
274267         · e0b383afb5 Merge pull request #46872 from terminalmage/bp-46863
274268
274269         · be284e5b99 Add skipIf when older mock present
274270
274271         · db8faaee56 Add unit tests for ext_nodes master_tops module
274272
274273         · ee437f7cbf  fixed  top  function  which  was  broken  since  commit
274274           002aa88a97e
274275
274276       · PR #46850: (rallytime) [2018.3] Merge forward from 2017.7 to 2018.3 @
274277         2018-04-04 18:07:44 UTC
274278
274279         · 5c76d98d1a Merge pull request #46850 from rallytime/merge-2018.3
274280
274281         · a0fcd5c053 Fix test_cp failure: forgot to  add  tgt  to  test  when
274282           @with_tempfile is present
274283
274284         · d0202cab72   Resolve   bad   merge:   there   should  only  be  one
274285           test_get_file_from_env_in_url test
274286
274287         · e28f71b418 Lint: use full salt utils path
274288
274289         · 4ad50bbdee Update old utils paths to new paths
274290
274291         · 893196d3e6 Merge branch '2017.7' into '2018.3'
274292
274293           · 1941426218 Merge pull request #46838 from gtmanfred/npm
274294
274295             · bff61dd291 use http registry for npm
274296
274297           · e544254e7b Merge pull request #46823 from rallytime/fix-42312
274298
274299             · dafa820f93 Improve __virtual__ checks in sensehat module
274300
274301           · 37f6d2de35 Merge pull request #46641 from skizunov/develop3
274302
274303             · c624aa4827 Make LazyLoader thread safe
274304
274305           · 989508b100 Merge pull request #46837 from rallytime/merge-2017.7
274306
274307             · 8522c1d634 Merge branch '2016.11' into '2017.7'
274308
274309             · 3e844ed1df   Merge   pull   request    #46739    from    rally‐
274310               time/2016.11_update_version_doc
274311
274312               · 4d9fc5cc0f Update release versions for the 2016.11 branch
274313
274314           · 307e7f35f9    Merge    pull    request    #46740    from   rally‐
274315             time/2017.7_update_version_doc
274316
274317             · 7edf98d224 Update 2018.3.0 information  and  move  branch  from
274318               "latest" to "previous"
274319
274320             · 5336e866ac Update release versions for the 2017.7 branch
274321
274322           · ebf5dd276f Merge pull request #46783 from twangboy/fix_46680
274323
274324             · da5ce25ef3 Fix unit tests on Linux
274325
274326             · b7f4f377cd Add space I removed
274327
274328             · f1c68a09b5 Fix network.managed test=True on Windows
274329
274330           · f652f25cc1  Merge  pull  request  #46821  from rallytime/fix-man‐
274331             test-failures
274332
274333             · 209a8029c3 Fix the new test failures from the mantest changes
274334
274335           · c460f62081 Merge pull request #46800 from lomeroe/2017_7-46627
274336
274337             · 2bee383e9d correct create list item value  names  if  the  val‐
274338               uePrefix  attribute  does not exist on the list item, the value
274339               is the value name, other wise, the valuename a number with  the
274340               valuePrefix prepended to it
274341
274342           · df26f2641e Merge pull request #46675 from dwoz/inspectlib-tests
274343
274344             · d39f4852d8 Handle non-zero status exception
274345
274346             · 83c005802b Handle cases where git can not be found
274347
274348             · 628b87d5c4 Skip test when git symlinks are not configured
274349
274350           · 4083e7c460 Merge pull request #46815 from terminalmage/bp-46809
274351
274352             · 71d5601507 Fix sharedsecret authentication
274353
274354           · 3bac9717f4 Merge pull request #46769 from dwoz/wincloudtest
274355
274356             · eabc234e5d Fix config override name
274357
274358             · 5c22a0f88d Use aboslute imports
274359
274360             · 810042710d Set default cloud test timeout back to 500 seconds
274361
274362             · 5ac89ad307 Use winrm_verify_ssl option causing tests to pass
274363
274364             · 71858a709c allow not verifying ssl winrm saltcloud
274365
274366             · ba5f11476c Adding windows minion tests for salt cloud
274367
274368           · f1be939763 Merge pull request #46786 from twangboy/fix_46757
274369
274370             · b0053250ff Remove int(), just return -1
274371
274372             · 7d56126d74 Fixes some lint
274373
274374             · 49b3e937da Return int(-1) when pidfile contains invalid data
274375
274376           · 89bf24b15c Merge pull request #46814 from terminalmage/bp-46772
274377
274378             · a9f26f2ab8 avoid breaking if AutoRemove is not found
274379
274380             · 97779c965d fix container removal if auto_remove was enabled
274381
274382           · 5ea4ffbdb6    Merge    pull   request   #46813   from   terminal‐
274383             mage/event-debug-log
274384
274385             · 5d6de3a2eb Get rid of confusing debug logging
274386
274387           · e533b7182d   Merge    pull    request    #46766    from    twang‐
274388             boy/win_fix_test_git
274389
274390             · 5afc66452c Remove unused/redundant imports
274391
274392             · 88fd72c52c Use with_tempfile decorator where possible
274393
274394           · 69d450db84 Merge pull request #46778 from terminalmage/salt-jenk‐
274395             ins-906
274396
274397             · bbfd35d3ea Replace flaky SPM man test
274398
274399           · c935ffb740  Merge   pull   request   #46788   from   garethgreen‐
274400             away/46762_prereq_shenanigans
274401
274402             · fa7aed6424 Ensure failed tags are added to self.pre.
274403
274404           · 395b7f8fdc Merge pull request #46655 from dwoz/pyobjects-46350
274405
274406             · 5aabd442f2 Fix up import and docstring syntax
274407
274408             · 62d64c9230 Fix missing import
274409
274410             · 18b1730320 Skip test that requires pywin32 on *nix platforms
274411
274412             · 45dce1a485 Add reg module to globals
274413
274414             · 09f9322981 Fix pep8 wart
274415
274416             · 73d06f664b Fix linter error
274417
274418             · 009a8f56ea Fix up environ state tests for Windows
274419
274420             · b4be10b8fc Fixing cleanUp method to restore environment
274421
274422           · af45c49c42 Merge pull request #46632 from dwoz/file-recurse-36802
274423
274424             · 44db77ae79 Fix lint errors and typo
274425
274426             · cb5619537f Only change what is essential for test fix
274427
274428             · eb822f5a12 Fix file.recurse w/ clean=True #36802
274429
274430           · 6e9f504ed1 Merge pull request #46751 from folti/2017.7
274431
274432             · 7058f10381 same top merging strategy works again
274433
274434           · d3623e0815 Merge pull request #46691 from Ch3LL/win_group_test
274435
274436             · 7cda825e90 Add groupadd module integration tests for Windows
274437
274438           · 14ab50d3f4 Merge pull request #46696 from dwoz/win_test_client
274439
274440             · ec4634fc06 Better explanation in doc strings
274441
274442             · d9ae2abb34 Fix splling in docstring
274443
274444             · b40efc5db8 Windows test client fixes
274445
274446       · PR  #46851:  (rallytime)  Back-port  #46844  to  2018.3  @ 2018-04-04
274447         18:04:59 UTC
274448
274449         · PR #46844: (UtahDave) Fix warning format in 2018.3.0 release  notes
274450           (refs: #46851)
274451
274452         · b808ba7049 Merge pull request #46851 from rallytime/bp-46844
274453
274454         · ab2ccea1af Quick grammar fix in 2018.3.0 release notes
274455
274456         · af7bad3c7f Fix warning format in 2018.3.0 release notes
274457
274458       · ISSUE  #46864:  (femnad)  Attribute  Error When Invoking Vault Module
274459         Method (refs: #46865)
274460
274461       · PR #46865: (femnad) Fix Log Line for  Vault  Token  Generation  Debug
274462         Line @ 2018-04-04 14:52:00 UTC
274463
274464         · ea56778e03     Merge     pull     request    #46865    from    fem‐
274465           nad/fix-log-in-vault-runner
274466
274467         · 01a5b88e7b Fix Log Line for Vault Token Generation Debug Line
274468
274469       · PR #46836: (rallytime) [2018.3] Merge  forward  from  2018.3.0rc1  to
274470         2018.3 @ 2018-04-03 16:54:53 UTC
274471
274472         · a0e168ccee Merge pull request #46836 from rallytime/merge-2018.3
274473
274474         · e75ba1f502 Merge branch '2018.3.0rc1' into '2018.3'
274475
274476           · 39235715e6 Merge pull request #46792 from damon-atkins/patch-1
274477
274478           · db5b9464e6 provided an example
274479
274480           · 41e3e1e253 Update windows information in release notes
274481
274482           · 99447fbf49 Added more windows information
274483
274484           · d4241006f2 Update 2018.3.0.rst Windows Items, Group topics
274485
274486       · ISSUE  #46808:  (ezh)  Sharedsecret  authentication  is broken (refs:
274487         #46809)
274488
274489       · PR #46809: (ezh) Fix sharedsecret  authentication  (refs:  #46815)  @
274490         2018-04-03 16:53:24 UTC
274491
274492         · 4a358217a0 Merge pull request #46809 from ezh/2018.3-sharedsecret
274493
274494         · 20db8f03f7 Merge branch '2018.3' into 2018.3-sharedsecret
274495
274496         · 9df6d18ec7 Fix sharedsecret authentication
274497
274498       · PR #46820: (rallytime) [2018.3] Update the latest release information
274499         for docs @ 2018-04-03 14:36:31 UTC
274500
274501         · 1519d7d895    Merge    pull    request    #46820    from     rally‐
274502           time/2018.3_update_version_doc
274503
274504         · 274f8ee0dd [2018.3] Update the latest release information for docs
274505
274506       · PR  #46731:  (rallytime)  Back-port  #46024  to  2018.3  @ 2018-04-02
274507         19:00:42 UTC
274508
274509         · PR #46024: (zmedico) Trivial bug fixes  for  tagify  and  fire_args
274510           functions (refs: #46731)
274511
274512         · 07f1141722 Merge pull request #46731 from rallytime/bp-46024
274513
274514         · ee4ee5b619 fire_args: fix UnboundLocalError: local variable 'tag'
274515
274516         · 4ce2c21824 tagify: handle integer suffix list
274517
274518       · ISSUE #46779: (anlutro) salt-ssh 2018.3 states with "runas" fail with
274519         "Environment could not be retrieved for User" (refs: #46796)
274520
274521       · PR #46796: (terminalmage) Fix regression introduced in  merge-forward
274522         @ 2018-04-02 18:10:22 UTC
274523
274524         · PR  #46503: (psyer) Fixes stdout user environment corruption (refs:
274525           #46796)
274526
274527         · 4f31c1062d Merge pull request #46796 from terminalmage/issue46779
274528
274529         · f8f9d045ac Add regression test
274530
274531         · e0e4e19ba3 Include extra troubleshooting information
274532
274533         · dcb0c67309 Fix regression introduced in merge-forward
274534
274535       · PR #46690: (dincamihai) Fix unicode handling in pkg.info_installed  @
274536         2018-03-29 14:10:48 UTC
274537
274538         · 4609a7dd85 Merge pull request #46690 from dincamihai/2018.3
274539
274540         · 980adf8253 Fix unicode handling in pkg.info_installed
274541
274542       · PR #46746: (rallytime) [2018.3] Merge forward from 2017.7 to 2018.3 @
274543         2018-03-28 21:13:07 UTC
274544
274545         · e5b3c8fa91 Merge pull request #46746 from rallytime/merge-2018.3
274546
274547         · e8864b7b0b Merge branch '2017.7' into '2018.3'
274548
274549           · 1222bdbc00 Merge pull request #46732 from rallytime/bp-46032
274550
274551             · bf0b962dc0 Workaroung python bug in traceback.format_exc()
274552
274553           · 50fe1e9480  Merge  pull  request  #46749  from   vutny/doc-depre‐
274554             cate-copr
274555
274556             · a1cc55da3d [DOC] Remove mentions of COPR repo from RHEL instal‐
274557               lation page
274558
274559           · bd1e8bcc7d Merge pull request #46734 from terminalmage/busybox
274560
274561             · 6502b6b4ff Make busybox image builder work with  newer  busybox
274562               releases
274563
274564           · c09c6f819c Merge pull request #46742 from gtmanfred/2017.7
274565
274566             · fd0e649d1e only use npm test work around on newer versions
274567
274568           · 3b6d5eca88 Merge pull request #46743 from Ch3LL/mac_auth
274569
274570             · 4f1c42c0e3 Workaround getpwnam in auth test for MacOSX
274571
274572         · d0278345fc Update old utils paths to new utils paths
274573
274574         · e312efb5e7 Merge branch '2017.7' into '2018.3'
274575
274576           · b548a3e742      Merge      pull      request      #46171     from
274577             amaclean199/fix_mysql_grants_comparison
274578
274579             · 97db3d9766 Merge branch '2017.7' into fix_mysql_grants_compari‐
274580               son
274581
274582             · 0565b3980e Merge branch '2017.7' into fix_mysql_grants_compari‐
274583               son
274584
274585             · 8af407173d Merge branch '2017.7' into fix_mysql_grants_compari‐
274586               son
274587
274588             · 00d13f05c4  Fix  mysql  grant  comparisons by stripping both of
274589               escape characters and quotes. Fixes #26920
274590
274591           · 554400e067 Merge  pull  request  #46709  from  vutny/doc-faq-min‐
274592             ion-master-restart
274593
274594             · d0929280fc [DOC] Update FAQ about Salt self-restarting
274595
274596           · 3f21e9cc65      Merge      pull      request      #46503     from
274597             psyer/fix-cmd-run-env-corrupt
274598
274599             · e8582e80f2 Python 3-compatibility fix to unit test
274600
274601             · 27f651906d   Merge   pull    request    #1    from    terminal‐
274602               mage/fix-cmd-run-env-corrupt
274603
274604               · 172d3b2e04  Allow  cases where no marker was found to proceed
274605                 without raising exception
274606
274607               · 35ad828ab8 Simplify the marker parsing logic
274608
274609             · a09f20ab45 fix repr for the linter
274610
274611             · 4ee723ac0f Rework how errors are output
274612
274613             · dc283940e0 Merge branch '2017.7' into fix-cmd-run-env-corrupt
274614
274615             · a91926561f Fix linting problems
274616
274617             · e8d3d017f9 fix bytes or str in find command
274618
274619             · 0877cfc38f Merge branch '2017.7' into fix-cmd-run-env-corrupt
274620
274621             · 86176d1252 Merge branch '2017.7' into fix-cmd-run-env-corrupt
274622
274623             · 3a7cc44ade Add python3 support for byte encoded markers
274624
274625             · 09048139c7 Do not show whole env in error
274626
274627             · ed94700255 fix missing raise statement
274628
274629             · 15868bc88c Fixes stdout user environment corruption
274630
274631           · ac2a6616a7   Merge    pull    request    #46432    from    twang‐
274632             boy/win_locales_utf8
274633
274634             · affa35c30d Revert passing encoding
274635
274636             · a0ab27ef15  Merge  remote-tracking branch 'dw/win_locales_utf8'
274637               into win_locales_utf8
274638
274639               · 9f95c50061 Use default SLS  encoding,  fall  back  to  system
274640                 encoding
274641
274642               · 6548d550d0 Use salt.utils.to_unicode
274643
274644               · 8c0164fb63 Add ability to specify encoding in sdecode
274645
274646               · 2e7985a81c Default to utf-8 on Windows
274647
274648             · 8017860dcc Use salt.utils.to_unicode
274649
274650             · c10ed26eab Add ability to specify encoding in sdecode
274651
274652             · 8d7e2d0058 Default to utf-8 on Windows
274653
274654           · fadc5e4ba4  Merge  pull  request  #46669  from  terminalmage/pil‐
274655             lar-merge-order
274656
274657             · b4a1d34b47 Add option to return to pre-2017.7.3 pillar  include
274658               merge order
274659
274660           · b90f0d1364  Merge  pull  request  #46711  from terminalmage/wild‐
274661             card-versions-info
274662
274663             · fc7d16f1af Add performance reminder for wildcard versions
274664
274665           · 6c80d90bb6 Merge pull request #46693 from dwoz/test_smtp_return
274666
274667             · 5bf850c67f File and Pillar roots are dictionaries
274668
274669           · 9a6bc1418c     Merge      pull      request      #46543      from
274670             dafenko/fix-add-saltenv-pillarenv-to-pillar-item
274671
274672             · 6d5b2068aa  Merge  branch  '2017.7'  into  fix-add-saltenv-pil‐
274673               larenv-to-pillar-item
274674
274675             · 5219377313  Merge  branch  '2017.7'  into  fix-add-saltenv-pil‐
274676               larenv-to-pillar-item
274677
274678             · b7d39caa86  Merge  branch  '2017.7'  into  fix-add-saltenv-pil‐
274679               larenv-to-pillar-item
274680
274681             · 25f1074a85 Add docstring for added parameters
274682
274683             · 973bc13955  Merge  branch  '2017.7'  into  fix-add-saltenv-pil‐
274684               larenv-to-pillar-item
274685
274686             · 164314a859  Merge  branch  '2017.7'  into  fix-add-saltenv-pil‐
274687               larenv-to-pillar-item
274688
274689             · 267ae9f633 Fix missing saltenv and pillarenv in pillar.item
274690
274691           · f776040e25 Merge pull request #46679 from vutny/doc-state-pkg
274692
274693             · 4a730383bf [DOC] Correct examples in pkg state module
274694
274695           · 47409eaa6e   Merge    pull    request    #46646    from    twang‐
274696             boy/win_fix_test_local_cache
274697
274698             · 8d93156604 Fix unit.returners.test_local_cache for Windows
274699
274700           · 0c2dce0416 Merge pull request #46649 from terminalmage/issue46595
274701
274702             · e82a1aa1ec Make server_id consistent on Python 3
274703
274704           · 4e7466a21c  Merge pull request #46588 from UtahDave/no_crash_win‐
274705             shell
274706
274707             · b7842a1777 Update error message.
274708
274709             · 95dfdb91ca Don't stacktrace when salt-ssh w/o saltwinshell
274710
274711           · 33af3cfc7c Merge pull request #46631  from  rallytime/update-pil‐
274712             lar-unit-tests
274713
274714             · 0f728186aa  Fix  pillar unit test failures: file_roots and pil‐
274715               lar_roots environments should be lists
274716
274717           · d329e7af78   Merge   pull   request   #46640    from    terminal‐
274718             mage/file.copy-docs
274719
274720             · 480c5f8faa Clarify the docs for the file.copy state
274721
274722           · ff40590c06 Merge pull request #46642 from vutny/doc-cloud-index
274723
274724             · 51e6aa54a1 [DOC] Unify cloud modules index header
274725
274726           · 83ed40c06a Merge pull request #46619 from rallytime/merge-2017.7
274727
274728             · bcbddf5d07 Merge branch '2017.7.5' into '2017.7'
274729
274730               · 19bb725698 Merge pull request #46612 from Ch3LL/7.5_rn
274731
274732                 · 6076bfa2ee Add changelog to 2017.7.5 release
274733
274734               · 31c78aef11    Merge    pull   request   #46572   from   dmur‐
274735                 phy18/update_xxxbuild
274736
274737                 · c87511570d Merge branch '2017.7.5' into update_xxxbuild
274738
274739               · cdd768fa4d Merge pull request #46577 from gtmanfred/2017.7.5
274740
274741                 · 78cbf7b5cd Fix npm issue
274742
274743                 · c76f7eb028 enable debug logging on the minionlog
274744
274745               · e6682c660c  Merge  pull   request   #46551   from   terminal‐
274746                 mage/salt-jenkins-885
274747
274748                 · 703b5e7e65  Change  versionadded to show that 2018.3.0 will
274749                   not have this function
274750
274751                 · 010d260d06 Rewrite failing Suse pkg integration test
274752
274753                 · f3f5dec239 zypper.py: fix version argument being ignored
274754
274755                 · 214f2d6ad3 Add pkg.list_repo_pkgs to zypper.py
274756
274757                      · 0a541613f2 Additon of -sa flag to allow  for  revision
274758                        numbers other than -0 or -1
274759
274760               · bd62699ccb Merge pull request #46563 from gtmanfred/2017.7.5
274761
274762                 · 8d5ab72983 virtualenv version too old for python3.6
274763
274764               · 2916708124 Merge pull request #46561 from gtmanfred/2017.7.5
274765
274766                 · 2c39ac6dfb disable verbose
274767
274768               · ee3bff6e32 Merge pull request #46537 from rallytime/bp-46529
274769
274770                 · 289c7a228f retry if there is a segfault
274771
274772               · 1271536a89    Merge   pull   request   #46519   from   rally‐
274773                 time/man-pages-2017.7.5
274774
274775                 · 782a5584f5 Update man pages for 2017.7.5
274776
274777           · df12135439 Merge pull request #46584 from twangboy/lgpo-46568
274778
274779             · 661017104b Detect disabled reg_multi_sz elements properly
274780
274781           · 2fd3aa487c Merge pull request  #46624  from  twangboy/win_fix_in‐
274782             staller
274783
274784             · fa0b0efe46 Fix some installer script inconsistencies
274785
274786           · f038e3c452   Merge   pull   request   #46571   from  garethgreen‐
274787             away/46552_onfail_and_require
274788
274789             · 152c43c843 Accounting for a case when multiple onfails are used
274790               along  with  requires.   Previously if you have multiple states
274791               using 'onfail' and  two  of  those  states  using  a  'require'
274792               against  the first one state, the last two will run even if the
274793               'onfail' isn't met because the 'require'  is  met  because  the
274794               first  state  returns  true even though it didn't excute.  This
274795               change adds an additional hidden variable  that  is  used  when
274796               checking requisities to determine if the state actually ran.
274797
274798           · 2677330e19 Merge pull request #46520 from gtmanfred/2017.7
274799
274800             · caefedc095 make sure utils is empty for pickling for windows
274801
274802             · 2883548e6b pass utils to the scheduler for reloading in modules
274803
274804           · 7bc3c2e588 Merge pull request #46531 from terminalmage/issue44299
274805
274806             · b70c3389da Fix case where no comments specified
274807
274808             · ce391c53f4 Add regression test for #44299
274809
274810             · c3e36a6c94 Fix regression in yumpkg._parse_repo_file()
274811
274812             · f0c79e3da3   Slight   modification  to  salt.utils.pkg.rpm.com‐
274813               bine_comments()
274814
274815           · b80edb5d26 Merge pull request #46567 from dwoz/runtest-n-wart
274816
274817             · 3b6901e19d Honor named tests when running integration suites
274818
274819           · 1dcd22e767   Merge    pull    request    #46580    from    twang‐
274820             boy/win_update_docs_dism
274821
274822             · d52b99d7a3 Clarify some issues with msu files in win_dism.py
274823
274824           · 0a68c22332 Merge pull request #46541 from gtmanfred/metadata
274825
274826             · 19bd1d9db5 handle user-data for metadata grains
274827
274828       · ISSUE  #46668:  (anlutro)  Jinja2  filter strftime stopped working in
274829         salt-ssh 2018.3 (refs: #46848, #46744)
274830
274831       · PR #46744: (garethgreenaway) [2018.3] Ensure salt.utils.dateutils  is
274832         available for templates via salt-ssh @ 2018-03-28 21:09:46 UTC
274833
274834         · ef68df7f3a    Merge   pull   request   #46744   from   garethgreen‐
274835           away/46668_jinja2_filter_strftime_unavailable
274836
274837         · 0b30955c00 Including salt.utils.dateutils so various  jinja_filters
274838           are available when using salt-ssh.
274839
274840       · ISSUE  #46334:  (sjorge) [2018.3.0rc1] Stacktrace on call to nacl.dec
274841         (refs: #46426)
274842
274843       · PR #46720: (rallytime) Bump deprecation notices in nacl module & run‐
274844         ner to Neon @ 2018-03-27 21:15:46 UTC
274845
274846         · PR  #46426:  (garethgreenaway) [2018.3.0rc1] fixes to nacl module &
274847           runner (refs: #46639, #46720)
274848
274849         · 65bb37effd Merge pull request #46720 from  rallytime/bump-nacl-dep‐
274850           recation
274851
274852         · 5102c0310c Bump deprecation notices in nacl module & runner to Neon
274853
274854       · PR  #46733:  (rallytime)  [2018.3]  Merge forward from 2018.3.0rc1 to
274855         2018.3 @ 2018-03-27 18:46:43 UTC
274856
274857         · c83d9e66fe Merge pull request #46733 from rallytime/merge-2018.3
274858
274859         · 00d4eb26f3 Merge branch '2018.3.0rc1' into '2018.3'
274860
274861       · PR #46565: (twangboy) Create reg  salt  util  (2018.3)  @  2018-03-26
274862         22:03:33 UTC
274863
274864         · 0faced1d54 Merge pull request #46565 from twangboy/win_fix_cmd_pow‐
274865           ershell_2018.3
274866
274867         · 5ee64e9b0e Fix lint (spelling error)
274868
274869         · 0de54ed953 Additional tests
274870
274871         · fc9ecd75e2 Skip unit.state.test_reg unless on Windows
274872
274873         · aa98bdf250 Fix some lint
274874
274875         · e0d201a96f Make sure the docs are correct for the tests
274876
274877         · f15f92318d Add tests for salt.utils.win_reg
274878
274879         · f7112b19a2 Submit #46527 agains 2018.3
274880
274881       · ISSUE #46334: (sjorge) [2018.3.0rc1] Stacktrace on call  to  nacl.dec
274882         (refs: #46426)
274883
274884       · PR  #46639: (terminalmage) Use the correct path for nacl certificates
274885         in Windows @ 2018-03-26 19:20:10 UTC
274886
274887         · PR #46426: (garethgreenaway) [2018.3.0rc1] fixes to nacl  module  &
274888           runner (refs: #46639, #46720)
274889
274890         · dd52368f90    Merge    pull    request    #46639   from   terminal‐
274891           mage/nacl-default-path
274892
274893         · 2f7660fe35 Use the correct path for nacl certificates in Windows
274894
274895       · PR #46416: (dincamihai) Fix cp.push empty file @ 2018-03-26  17:52:47
274896         UTC
274897
274898         · 2efef52a3e    Merge    pull    request    #46416    from   dincami‐
274899           hai/fix-cp.push-empty-file
274900
274901         · 536ba0fa1e Fix cp.push empty file
274902
274903       · PR #46643: (mcalmer) fix docker return @ 2018-03-26 15:52:31 UTC
274904
274905         · 84579e7652 Merge pull request #46643 from mcalmer/fix-docker-return
274906
274907         · 3ceb63f607 fix checking test results
274908
274909         · af64632bf3 add unit test for failed login
274910
274911         · 0fc7989236 make it possible to use login, pull and push  from  mod‐
274912           ule.run and detect errors
274913
274914       · PR  #46650: (Ch3LL) Mirror libnacl imports in test from the nacl mod‐
274915         ule @ 2018-03-26 14:48:40 UTC
274916
274917         · c67afbeb36 Merge pull request #46650 from Ch3LL/nacl_test
274918
274919         · 9fef8bc431 Mirror libnacl imports in test from the nacl runner
274920
274921         · f11d58a8e9 Mirror libnacl imports in test from the nacl module
274922
274923       · PR #46645: (terminalmage) Add Unicode / Python 3 update  to  2018.3.0
274924         release notes @ 2018-03-26 14:43:53 UTC
274925
274926         · 03b58a01cf    Merge    pull    request    #46645   from   terminal‐
274927           mage/release-notes
274928
274929         · 986c7bcdae Rewrite unicode/py3 section
274930
274931         · 064bc83276 Add Unicode / Python 3 update to 2018.3.0 release notes
274932
274933       · ISSUE #46150:  (whytewolf)  With  chocolately.version  some  packages
274934         don't work with check_remote=True (refs: #46661)
274935
274936       · PR  #46661:  (Kimol)  Chocolatey  -  Lowered name of local and remote
274937         packages before comparing versions.  @ 2018-03-26 14:35:39 UTC
274938
274939         · 308c9ddfc3 Merge pull request #46661  from  Kimol/2018.3-fix_choco‐
274940           latey_check_remote_packages
274941
274942         · 52581e7918 Removed trailing whitespace
274943
274944         · 123a86947c  Chocolatey  - Added lowering local packages for unifing
274945           both local and remote names to lowercase for comparison.
274946
274947         · 4be1a991c2 Lowered name of available packages before comparing with
274948           local packages
274949
274950       · PR  #46569:  (rallytime) [2018.3] Merge forward from 2017.7 to 2018.3
274951         (refs: #46631) @ 2018-03-21 20:57:04 UTC
274952
274953         · 2e1f7c37f7 Merge pull request #46569 from rallytime/merge-2018.3
274954
274955         · 46ba72fb1c Fix pillar  unit  test  failures:  file_roots  and  pil‐
274956           lar_roots environments should be lists
274957
274958         · fe2d46dd0c  Better  merge  conflict resolution for setup.py windows
274959           changes
274960
274961         · 8886b61576 Update old utils paths to new paths
274962
274963         · 8d1e1e7f94 Merge branch '2017.7' into '2018.3'
274964
274965           · 048b2ba3f6  Merge   pull   request   #46547   from   garethgreen‐
274966             away/46427_service_module_cumulus
274967
274968             · edd0b11447   Merge   branch  '2017.7'  into  46427_service_mod‐
274969               ule_cumulus
274970
274971             · ea3c16080e Disable the service module on Cumulus  since  it  is
274972               using systemd.
274973
274974           · 98e3260b9a Merge pull request #46548 from Ch3LL/profit_test
274975
274976             · db96c4e72e  check  for foo,bar username,password set in profit‐
274977               brick config
274978
274979           · 79f2a76609 Merge pull request #46549 from Ch3LL/dimension_test
274980
274981             · bb338c464c Fix dimensionsdata test random_name call
274982
274983           · 083846fe0e Merge pull request #46529 from gtmanfred/kitchen
274984
274985             · 50d6e2c7be retry if there is a segfault
274986
274987           · 5cc11129f1 Merge pull request #46511 from rallytime/bp-45769
274988
274989             · a8ffceda53 Surpress  boto  WARNING  during  decode,  reference:
274990               https://github.com/boto/boto/issues/2965
274991
274992           · 0e90c8ca6f Merge pull request #46493 from terminalmage/issue46207
274993
274994             · f06ff68f10  salt-call: don't re-use initial pillar if CLI over‐
274995               rides passed
274996
274997           · b11a8fc8e0 Merge pull request #46450 from gtmanfred/salt_runner
274998
274999             · 7974ff7264 load grains for salt.cmd runner
275000
275001           · 22d753364b Merge pull request #46337 from gtmanfred/2017.7
275002
275003             · d6d9e36359 add tests for names and listen/listen_in
275004
275005             · 3f8e0db572 let listen_in work with names
275006
275007             · 7161f4d4df fix listen to be able to handle names
275008
275009           · b7191b8782     Merge      pull      request      #46413      from
275010             meaksh/2017.7-explore-result-in-depth
275011
275012             · 885751634e  Add  new unit test to check state.apply within mod‐
275013               ule.run
275014
275015             · 9f19ad5264 Rename and fix recursive method
275016
275017             · 1476ace558 Fix Python3 and pylint issue
275018
275019             · 726ca3044d Explore 'module.run' response to catch the  'result'
275020               in depth
275021
275022           · 02a79a2014 Merge pull request #46496 from gtmanfred/kitchen
275023
275024             · da002f78d0 include virtualenv path for py3 windows
275025
275026             · fe2efe03ea remove duplicate setup
275027
275028           · 5c4c182d75  Merge  pull  request  #46330  from  bdrung/fix_kuber‐
275029             netes_test_create_deployments
275030
275031             · 5008c53c44 Fix ValueError for  template  in  AppsV1beta1Deploy‐
275032               mentSpec
275033
275034           · c7e05d3ff4  Merge pull request #46482 from rongshengfang/fix-key‐
275035             error-in-instance_present
275036
275037             · ed8c83e89a Fix KeyError in salt/states/boto_ec2.py when an  EIP
275038               is   being   associated   to  an  existing  instance  with  the
275039               instance_present state.
275040
275041           · 573d51afec Merge pull request #46463 from terminalmage/mock-2.0
275042
275043             · b958b4699c Update requirements files to depend on mock>=2.0.0
275044
275045           · a154d35fc7 Merge pull request #46422 from rallytime/bp-46300
275046
275047             · 829dfde8e8 Change stringutils path to old utils path for 2017.7
275048
275049             · 91db2e0782 Python 3 support
275050
275051           · 2afaca17a1 Merge pull request #46320 from mcalmer/warn-kubernetes
275052
275053             · c493ced415 add warning about future config option change
275054
275055           · c7f95581e3     Merge      pull      request      #46449      from
275056             bdrung/make-doc-theme-configurable
275057
275058             · 4a5da2d144 Make documentation theme configurable
275059
275060           · 10ce0e9e20    Merge    pull    request    #46162    from   rally‐
275061             time/team-suse-zypper-owner
275062
275063             · 13a295a3b7 Add pkg and snapper to team-suse
275064
275065             · 35c7b7b0d3 Add btrfs,  xfs,  yumpkg,  and  kubernetes  file  to
275066               team-suse
275067
275068             · 485d777ac0 Add team-suse to CODEOWNERS file for zypper files
275069
275070           · cac096b311   Merge   pull  request  #46434  from  gtmanfred/high‐
275071             state_return
275072
275073             · d18f1a55a7 fix pylint
275074
275075             · 9e2c3f7991 split return key value correctly
275076
275077           · 7dd71101ce   Merge    pull    request    #46455    from    whyte‐
275078             wolf/Issue_44452_unicode_cloud
275079
275080             · 5fe474b1a8 .format remove fix for #44452
275081
275082           · 4c8d9026d3 Merge pull request #46428 from twangboy/win_fix_reqs
275083
275084             · e7ab97cc17 Remove six as a hard dep for Salt
275085
275086             · cc67e5c2ef Set six to 1.11.0
275087
275088           · e834d9a63b Merge pull request #46454 from gtmanfred/kitchen
275089
275090             · b8ab8434a5 fix windows for kitchen
275091
275092           · 2886dca88f Merge pull request #46452 from gtmanfred/spm_cache_dir
275093
275094             · 169cf7a4e2 make spm cache_dir instead of all cachedirs
275095
275096           · a188984cd9 Merge pull request #46446 from bdrung/fix-typos
275097
275098             · 7e6e80be87 heat: Fix spelling mistake of environment
275099
275100             · a3c54b50f6 Fix various spelling mistakes
275101
275102           · e35fc5263c  Merge  pull  request  #46309 from bdrung/dynamic-pil‐
275103             larenv
275104
275105             · 584b451fd1 Support dynamic pillar_root environment
275106
275107           · 35fe9827fe Merge pull request #46430 from terminalmage/issue44032
275108
275109             · f9f187e915 Improve reliability/idempotence of file.blockreplace
275110               state
275111
275112           · 2bad0a21c0 Merge pull request #46429 from twangboy/win_fix_snmp
275113
275114             · 8995a9b8de Fix problem with __virtual__ in win_snmp
275115
275116           · 93a572f229 Merge pull request #46100 from jfindlay/resolv_scope
275117
275118             · d5561bedaf tests.unit.grains.core add scoped IPv6 nameserver
275119
275120             · 4e2e62d508 salt.utils.dns parse scope param for ipv6 servers
275121
275122           · 5acc1d5c54 Merge pull request #46420 from bdrung/2017.7
275123
275124             · e48c13d9e0 Fix SSH client exception if SSH is not found
275125
275126           · ca6a76e317 Merge pull request #46379 from angeloudy/2017.7
275127
275128             · 3acb59c74c Merge branch '2017.7' into 2017.7
275129
275130             · d971e0c08b Fix indent
275131
275132             · 269514683f Update http.py
275133
275134             · 908c040ac3 Update http.py
275135
275136             · 51ba3c135b Update http.py
275137
275138             · 14aba24111 fix bytes-object required error in python 3
275139
275140           · 73f9233557 Merge pull request #46404 from gtmanfred/kitchen
275141
275142             · c56baa95a8 clone .git for the version tests
275143
275144             · 3620611b5b fix unhold package for debian
275145
275146             · 5219f7d2ba fix minion log path
275147
275148           · ca28cfd4e4 Merge pull request #46310 from twangboy/win_update_in‐
275149             staller_build
275150
275151             · bcf8b19566 Update the installer build
275152
275153           · decccbeca3 Merge pull request #46316 from twangboy/win_fix_dsc
275154
275155             · 2042d33d59 Fix issues with the DSC module
275156
275157       · PR #46620: (rallytime)  [2018.3]  Merge  2018.3.0rc1  into  2018.3  @
275158         2018-03-20 22:45:00 UTC
275159
275160         · 8cdd56b9dc     Merge    pull    request    #46620    from    rally‐
275161           time/merge-2018.3.0rc1-into-2018.3
275162
275163         · b03cda3cea Merge branch '2018.3.0rc1' into '2018.3'
275164
275165       · PR #46606: (Ch3LL) add autodoc topics for infoblox  state  modules  @
275166         2018-03-19 21:35:46 UTC
275167
275168         · 2d2fe22ae2 Merge pull request #46606 from Ch3LL/infoblox_docs
275169
275170         · 6eab6a7dc4 add autodoc topics for infoblox state modules
275171
275172       · PR  #46540: (s0undt3ch) Some missing isinstance checks.  @ 2018-03-15
275173         16:17:19 UTC
275174
275175         · 1191d5b379 Merge pull request #46540 from s0undt3ch/2018.3
275176
275177         · fa1d668774 Some missing isinstance checks. Committed again  through
275178           a PR.
275179
275180       · PR  #46513:  (rallytime)  [2018.3]  Merge forward from 2018.3.0rc1 to
275181         2018.3 @ 2018-03-15 15:58:59 UTC
275182
275183         · 5429438e4b Merge pull request #46513 from rallytime/merge-2018.3
275184
275185         · aa760334a1 Merge branch '2018.3.0rc1' into '2018.3'
275186
275187       · ISSUE #43208: (mitar) Prevent user.present to change uid and  gid  of
275188         existing user (refs: #46502)
275189
275190       · PR  #46502:  (terminalmage) user.present: don't change uid/gid unless
275191         explicitly told to @ 2018-03-13 14:25:20 UTC
275192
275193         · 3e073c7e8a Merge pull request #46502 from terminalmage/issue43208
275194
275195         · 4106840deb user.present: don't  change  uid/gid  unless  explicitly
275196           told to
275197
275198       · PR #46398: (rallytime) [2018.3] Merge forward from 2017.7 to 2018.3 @
275199         2018-03-12 20:25:19 UTC
275200
275201         · 7cdb00ca9c Merge pull request #46398 from rallytime/merge-2018.3
275202
275203         · d22e5ba442 Merge fix: return back wb+ mode in crypt.gen_keys.
275204
275205         · c7dddaf8ce Lint: Use log variable, not logger.
275206
275207         · ca1860cd91 Use new get_umask function in mask calls in virt.py
275208
275209         · 19ec7b6de1 Update old utils paths with new utils paths
275210
275211         · d83727fdf9 Merge branch '2017.7' into '2018.3'
275212
275213           · 95586678c3 Merge pull request #46394 from Ch3LL/mac_doc
275214
275215             · 158add6661 change oxdownload to oxdownload-{python_version}
275216
275217             · 21aa848c89 Add mac py2 and py3  packages  to  mac  installation
275218               docs
275219
275220           · 07b5d09ac1 Merge pull request #46338 from rallytime/fix-44831
275221
275222             · 90771da999 Remove cmd.wait deprecation reference in docs
275223
275224           · 3849e7a085 Merge pull request #46333 from danlsgiga/issue-42438
275225
275226             · 3b13f37b44 Revert changes in the code and change docs instead
275227
275228             · 38114a65d8  Fixes  color  parameter  mismatch  and  handles 204
275229               responses correctly
275230
275231           · a8f2f1b063 Merge pull request #46322 from terminalmage/issue44935
275232
275233             · 85ac6a9893 yamlify_arg: don't treat leading dashes as lists
275234
275235           · da5c282cb2    Merge    pull    request    #46327    from    sami‐
275236             laine/fix-vmware-cloud-fqdn
275237
275238             · 4b8dfb326f Modify the way a FQDN is handled in the vmware cloud
275239               provider.
275240
275241           · 78c45d3786   Merge   pull   request   #46318    from    terminal‐
275242             mage/squelch-warnings
275243
275244             · 5889b36646 Skip type-checking for several gitfs/git_pillar/win‐
275245               repo params
275246
275247           · bb0d6fc263 Merge pull request #46312 from gtmanfred/2017.7
275248
275249             · 749ae580ed add module_dirs to salt ssh thin tarball
275250
275251           · 88b5f7383d Merge pull request #46242 from redbaron4/fix-46127
275252
275253             · 06dba51617 Make changes from review
275254
275255             · 727ebe1056 Merge branch '2017.7' into fix-46127
275256
275257             · 08d1ee8baf Fix Python3 test errors
275258
275259             · aa9d709015 Pass env_vars to pip.freeze
275260
275261           · a0716643e4 Merge pull request #46265 from Ch3LL/profit_cloud
275262
275263             · d4893eab4c Add username/password to profitbricks conf for cloud
275264               tests
275265
275266           · ed7bffa7e0 Merge pull request #46306 from rallytime/bp-46256
275267
275268             · 6439bce4a8 Don't install msgpack 0.5.5
275269
275270           · 8c2c4e3316    Merge    pull   request   #46208   from   terminal‐
275271             mage/audit-umask-usage
275272
275273             · 9c92aadce8 Disable blacklisted-function  check  for  legitimate
275274               uses
275275
275276             · 58a11aaa26 Disable pylint check in salt-ssh shim
275277
275278             · ecadf67659 Blacklist os.umask
275279
275280             · 31b1d98fcb  Replace direct use of os.umask with use of existing
275281               context manager
275282
275283             · 82ce546e18 Prevent failed  os.makedirs  from  leaving  modified
275284               umask in place
275285
275286           · 978e869490      Merge      pull      request      #46293     from
275287             eliasp/2017.7-44624-py3-compat
275288
275289             · 2e08b0d9c8  Fix  Python3  comparison  TypeError  in   salt.mod‐
275290               ules.upstart
275291
275292           · bee4a66d0c Merge pull request #46264 from terminalmage/issue46128
275293
275294             · 68000b7211 Fix incorrect merge conflict resolution
275295
275296           · 1e0b3aa348 Merge pull request #46296 from vutny/doc-pillar-get
275297
275298             · 1faa8331e1 [DOC] Add missing params to pillar.get docstring
275299
275300           · c490a50452      Merge      pull      request      #45874     from
275301             GwiYeong/2017.7-local-client-hotfix
275302
275303             · 949aefc82b Merge branch '2017.7' into  2017.7-local-client-hot‐
275304               fix
275305
275306             · 45d663f435 fix for local client timeout bug
275307
275308           · 8e8a3a2897 Merge pull request #46261 from rallytime/merge-2017.7
275309
275310             · 8256ae5ee5 Merge branch '2016.11' into '2017.7'
275311
275312               · 140ef4d6b9  Merge pull request #46253 from rallytime/doc-ban‐
275313                 ners
275314
275315                 · 07ed8c7db3 Update docbanner for SaltConf18
275316
275317               · 9fe86ee520  Merge  pull  request   #46179   from   wedge-jar‐
275318                 rad/cifs-remount-fix
275319
275320                 · 9ca25c4313  Add credentials and secretfile to mount.mounted
275321                   mount_invisible_keys
275322
275323       · PR #46421: (bdrung) Skip SSHPasswordTests if ssh binary is not  found
275324         @ 2018-03-09 16:21:02 UTC
275325
275326         · 9c089aa4de       Merge      pull      request      #46421      from
275327           bdrung/skip-ssh-tests-if-ssh-is-missing
275328
275329         · 3d6f658309 Skip SSHPasswordTests if ssh binary is not found
275330
275331       · PR #46453:  (bdrung)  Fix  various  spelling  mistakes  in  2018.3  @
275332         2018-03-09 14:48:33 UTC
275333
275334         · PR #46446: (bdrung) Fix various typos (refs: #46453)
275335
275336         · 4cbfde5839 Merge pull request #46453 from bdrung/fix-typos-2018.3
275337
275338         · 3d37eca847 Fix various spelling mistakes
275339
275340       · ISSUE #44032: (PhilippeAB) blockreplace marker_end isn't applied with
275341         newline (refs: #46430)
275342
275343       · PR  #46437:   (terminalmage)   Improve   reliability/idempotence   of
275344         file.blockreplace state (2018.3 branch) @ 2018-03-08 15:38:53 UTC
275345
275346         · PR   #46430:   (terminalmage)  Improve  reliability/idempotence  of
275347           file.blockreplace state (refs: #46437)
275348
275349         · a43d999fb8   Merge   pull    request    #46437    from    terminal‐
275350           mage/issue44032-2018.3
275351
275352         · 4798187035  Improve  reliability/idempotence  of  file.blockreplace
275353           state (2018.3 branch)
275354
275355       · PR #46328: (dincamihai) Fix openscap push @ 2018-03-07 17:51:41 UTC
275356
275357         · 0c66507aff Merge pull request #46328 from dincamihai/2018.3.0rc1
275358
275359         · b5e508f339 Fix openscap push
275360
275361       · PR #46174: (twangboy) Fix a unicode issue with the git module on Win‐
275362         dows @ 2018-03-06 18:53:53 UTC
275363
275364         · 82cb2ea5a0     Merge    pull    request    #46174    from    twang‐
275365           boy/win_fix_test_git_2
275366
275367         · 80e3a47dd4 Add output_encoding argument to git state, and add docs
275368
275369         · 661a0687ec Fix git utf-8 issues for Windows
275370
275371       · PR  #46235:  (twangboy)  Fix  unit.modules.test_ssh  for  Windows   @
275372         2018-03-05 20:39:44 UTC
275373
275374         · 7690cf8564 Merge pull request #46235 from twangboy/win_fix_test_ssh
275375
275376         · 9ea02d7045 Use write instead of writelines for Windows
275377
275378       · PR  #46332: (terminalmage) Update the merge-forward docs to reference
275379         the 2018.3 branch @ 2018-03-05 19:39:56 UTC
275380
275381         · c4f366cdd9 Merge pull request #46332  from  terminalmage/merge-for‐
275382           ward-docs
275383
275384         · 0411845cec  Update  the  merge-forward docs to reference the 2018.3
275385           branch
275386
275387       · PR #46307: (rallytime) [2018.3] Merge  forward  from  2018.3.0rc1  to
275388         2018.3 @ 2018-03-03 12:56:07 UTC
275389
275390         · 241611aca5 Merge pull request #46307 from rallytime/merge-2018.3
275391
275392         · c9fa21f62c Merge branch '2018.3.0rc1' into '2018.3'
275393
275394       · PR   #46314:   (terminalmage)  Merge  2017.7  branch  into  2018.3  @
275395         2018-03-03 12:54:27 UTC
275396
275397         · 30c34f0c62   Merge   pull    request    #46314    from    terminal‐
275398           mage/merge-2017.7-2018.3
275399
275400         · 61ab47ee70 Merge branch '2017.7' into merge-2017.7-2018.3
275401
275402           · 88a3166589 Merge pull request #46276 from terminalmage/issue44046
275403
275404             · a14d4daf8c  salt.utils.docker.translate_input: operate on deep‐
275405               copy of kwargs
275406
275407           · da60399b8f     Merge      pull      request      #46183      from
275408             oeuftete/fix-docker-container-running-host-config-ulimits
275409
275410             · 5b09644429 Sort lists from Ulimits before comparing
275411
275412             · 0b80f02226 Update old dockerng doc ref
275413
275414           · 509429f08c Merge pull request #46260 from terminalmage/git_pillar
275415
275416             · b1ce2501fd Normalize global git_pillar/winrepo config items
275417
275418           · a97a3e6fb0 Merge pull request #46101 from jfindlay/openrc_ret
275419
275420             · 2eef3c65a6 tests.unit.modules.gentoo_service add retcode arg
275421
275422             · 81ec66fd8b modules.gentoo_service handle stopped retcode
275423
275424           · 1a17593c05   Merge  pull  request  #46254  from  rallytime/enter‐
275425             prise-banner
275426
275427             · f5fae3dedf Update enterprise banner
275428
275429           · 8c50ff32bd  Merge  pull  request  #46250  from  terminalmage/run‐
275430             ner-docs
275431
275432             · 91b4895087 Add documentation to the fileserver runner
275433
275434           · 53067cca43  Merge pull request #46243 from racker-markh/fix-open‐
275435             stack-private-network-issue
275436
275437             · 50c1e140f0 Don't check deny private_ips already in the original
275438               list of private_ips
275439
275440           · 15405c8760 Merge pull request #46239 from terminalmage/issue46109
275441
275442             · 586d8b0dcf  archive.extracted:  don't  check  source  file when
275443               if_missing path exists
275444
275445       · ISSUE #33177: (robnagler)  pillar.stack  should  not  continue  after
275446         errors (refs: #46287)
275447
275448       · PR  #46287:  (bbinet)  Update PillarStack stack.py to latest upstream
275449         version @ 2018-03-02 21:39:52 UTC
275450
275451         · 194b0317ac Merge  pull  request  #46287  from  bbinet/upstream-pil‐
275452           larstack
275453
275454         · b14b6f2c95 Update PillarStack stack.py to latest upstream version
275455
275456       · PR  #46227:  (Ch3LL)  Mock  file_client  call  in  smtp return test @
275457         2018-02-28 22:12:22 UTC
275458
275459         · 7382654c70 Merge pull request #46227 from Ch3LL/smtp_file_client
275460
275461         · 280dc9a2b6 Mock file_client call in smtp return test
275462
275463       · PR #46232: (rallytime) [2018.3] Merge forward from 2017.7 to 2018.3 @
275464         2018-02-28 19:16:37 UTC
275465
275466         · 123625213e Merge pull request #46232 from rallytime/merge-2018.3
275467
275468         · 04f24c1794 Lint: fix from a bad merge
275469
275470         · aad61c77bd Update old utils paths to new paths
275471
275472         · 7243baf2c0 Merge branch '2017.7' into '2018.3'
275473
275474           · 633e1208e4 Merge pull request #46221 from terminalmage/salt-jenk‐
275475             ins-854
275476
275477             · 0eb012659c Fix hanging tests in integration suite
275478
275479           · 7917277345  Merge   pull   request   #46214   from   vutny/formu‐
275480             las-readme-formatting
275481
275482             · d702846961 [DOC] Replace note rST block for GitHub
275483
275484           · a2e099b744 Merge pull request #46203 from Ch3LL/7.5_release
275485
275486             · 6ddf3246ce Add 2017.7.5 Release Notes File
275487
275488           · 973b227818 Merge pull request #46201 from rallytime/merge-2017.7
275489
275490             · 9ac2101baa Merge branch '2016.11' into '2017.7'
275491
275492             · a4c5417d23    Merge    pull    request   #46132   from   rally‐
275493               time/2016.11_update_version_doc
275494
275495               · d2196b6df3 Update release versions for the 2016.11 branch
275496
275497           · 89cf2e5061 Merge pull request #46139 from bdrung/os-grains
275498
275499             · 0b445f2a37 tests: Add unit tests for _parse_os_release()
275500
275501             · f6069b77ed Fix osfinger grain on Debian
275502
275503             · 8dde55a761 tests: Add os_grains test cases for Debian
275504
275505             · ff02ab9937 tests: Add Ubuntu 17.10 (artful) os_grains test case
275506
275507             · 77d5356aba Fix incorrect oscodename grain on Ubuntu
275508
275509             · 7e62dc9fd2 tests: Support reading os-release files from disk
275510
275511             · a92ec0db1b Make _parse_os_release() always callable
275512
275513             · eee1fe5b38 tests: Dissolve _run_ubuntu_os_grains_tests
275514
275515             · 1d6ef731fe tests: Deduplicate _run_os_grains_tests()
275516
275517           · c8c71e75ca   Merge    pull    request    #46133    from    rally‐
275518             time/2017.7_update_version_doc
275519
275520             · 0ed338e643 Update release versions for the 2017.7 branch
275521
275522           · 390d592aa6 Merge pull request #46185 from terminalmage/issue46124
275523
275524             · 3b58dd0da0  gitfs:  Fix  detection  of base env when its ref is
275525               also mapped to a different env
275526
275527           · 705caa8cca Merge pull request #46148 from rallytime/merge-2017.7
275528
275529             · 25deebf7a6 Merge branch '2017.7.3' into '2017.7'
275530
275531               · b5b083fd26 Merge pull request #46074 from Ch3LL/update-7.4
275532
275533                 · 8d0eeeb059 Update 2017.7.4 Release Notes with new fixes
275534
275535               · 32f3d00e44 Merge pull request #46066 from  rallytime/pin-tor‐
275536                 nado
275537
275538                 · 6dc1a3b9dc Pin tornado version in requirements file
275539
275540               · 85761ee650   Merge   pull   request   #46036  from  terminal‐
275541                 mage/issue43769
275542
275543                 · e2140d9a84 Mock the ssh.key_is_encrypted utils func
275544
275545                 · 169924b3fe Move ssh.key_is_encrypted to a utils module tem‐
275546                   porarily
275547
275548                 · 54f4d78f7a Only keep ssh.py in the Windows installer
275549
275550                 · 5f04531e1b  Keep ssh state and execution modules in the in‐
275551                   staller
275552
275553                 · f2b69f703d git.latest: Fix regression  with  identity  file
275554                   usage
275555
275556           · 10a47dcbc4      Merge      pull      request      #46137     from
275557             damon-atkins/2017.7_fix_ec2_pillar2
275558
275559             · 99e7f6a7d3 update ec2 pillar arguments with better names
275560
275561           · d74cb14557 Merge pull request #46145 from terminalmage/issue46004
275562
275563             · 467ff841cd pillarenv argument should default to  None  and  not
275564               the value from opts
275565
275566             · 2a185855ea  Better solution for fixing the opts munging in pil‐
275567               lar.show_pillar runner
275568
275569             · e2c4702e0c Update tests to reflect changes  to  the  SaltCache‐
275570               Loader
275571
275572             · f9301fcc34 Document behavior when orchestration runnner invoked
275573               with non-orch states
275574
275575             · 9644579cd0 Instantiate the SaltCacheLoader's fileclient in  the
275576               __init__
275577
275578             · f9a6c86e21 salt.runners.pillar.show_pillar: don't modify master
275579               opts
275580
275581             · e0940a9fc4 Properly detect use of the state.orch alias and  add
275582               orch jid to kwargs
275583
275584       · ISSUE  #42932:  (bobrik)  cmd.run with bg: true doesn't fail properly
275585         (refs: #46172, #45932)
275586
275587       · PR #46172: (The-Loeki) cmdmod: reimplementation of #45932 for  Oxygen
275588         @ 2018-02-28 19:14:26 UTC
275589
275590         · PR #45932: (The-Loeki) Fix cmd run_all bg error (refs: #46172)
275591
275592         · PR #39980: (vutny) [2016.3] Allow to use bg kwarg for cmd.run state
275593           function (refs: #46172, #45932)
275594
275595         · 20d869c228      Merge      pull      request      #46172       from
275596           The-Loeki/fix_cmd_run_all_bg_oxygen
275597
275598         · 3ecf5018d0 Merge branch '2018.3' into fix_cmd_run_all_bg_oxygen
275599
275600         · b5315e817b Merge branch '2018.3' into fix_cmd_run_all_bg_oxygen
275601
275602         · beabf4f06b cmdmod: reimplementation of #45932 for Oxygen
275603
275604       · PR  #46238:  (terminalmage)  Don't  allow salt.utils.files.fopen() to
275605         open stdin/stdout/stderr @ 2018-02-28 19:08:23 UTC
275606
275607         · 687575b582 Merge pull request #46238 from terminalmage/fds-in-fopen
275608
275609         · fe1527a3c4 Don't allow salt.utils.files.fopen() to open  stdin/std‐
275610           out/stderr
275611
275612       · PR  #46219:  (twangboy)  Fix  unit.modules.test_network for Windows @
275613         2018-02-28 15:45:02 UTC
275614
275615         · 3da5dcb313    Merge    pull    request    #46219    from     twang‐
275616           boy/win_fix_inet_pton
275617
275618         · 46f1d2cc09 Use six.text_type instead of six.u
275619
275620       · PR   #46228:  (twangboy)  Fix  unit.modules.test_pip  for  Windows  @
275621         2018-02-28 15:37:49 UTC
275622
275623         · 44343f8063 Merge pull request #46228 from twangboy/win_fix_test_pip
275624
275625         · 415821eee9 Fix encoding issue
275626
275627       · PR #46198: (rallytime) [2018.3] Merge  forward  from  2018.3.0rc1  to
275628         2018.3 @ 2018-02-27 15:17:51 UTC
275629
275630         · adc8950bbe Merge pull request #46198 from rallytime/merge-2018.3
275631
275632         · 1b4dc71930 Lint fix
275633
275634         · 776f2ea5d7 Merge branch '2018.3.0rc1' into '2018.3'
275635
275636       · ISSUE  #45849:  (Epiclemonaid)  XenServer  Provisioning errors out on
275637         this line. removing it succeeds. (refs: #46168)
275638
275639       · PR #46168: (gtmanfred) driver and  provider  should  be  specified  @
275640         2018-02-26 16:17:13 UTC
275641
275642         · 06d2dff3ac Merge pull request #46168 from gtmanfred/2018.3
275643
275644         · ac99bd26db driver and provider should be specified
275645
275646       · PR #46161: (rallytime) [2018.3] Merge forward from 2017.7 to 2018.3 @
275647         2018-02-26 15:29:39 UTC
275648
275649         · 605e5eff73 Merge pull request #46161 from rallytime/merge-2018.3
275650
275651         · 69ac94baca Update utils paths
275652
275653         · cffbf52c10 Lint fix: remove extra line
275654
275655         · 79bed6cff1 Merge branch '2017.7' into '2018.3'
275656
275657           · 0398ce0482 Merge pull request #46135 from rallytime/bp-46088
275658
275659             · 57a60f62a3 fix kernel subpackages install bug
275660
275661           · 1fcbbd1e02 Merge pull request #46136 from rallytime/bp-46115
275662
275663             · 0a481d707f update digitalocean salt-cloud driver
275664
275665           · 11e5e8eb86   Merge    pull    request    #45911    from    twang‐
275666             boy/win_fix_lgpo_unicode
275667
275668             · bcde5cc625 Update log statement
275669
275670             · e9fa53d3b7 Change the Invalid Data Message
275671
275672             · c818d4b791 Convert reg values to unicode for debug
275673
275674           · 524a6a72a0 Merge pull request #46123 from gtmanfred/2017.7
275675
275676             · 8d36730ef7 If no pubkey is passed in openmode fail
275677
275678           · e48fa58012  Merge pull request #46131 from vutny/doc-formula-for‐
275679             matting
275680
275681             · d8fb051e44 [DOC] Fix code-blocks for reStructuredText
275682
275683           · 6cea44ee95 Merge pull request #46118 from rallytime/bp-44603
275684
275685             · 2a2c23c66b Fix acme state to correctly return on test
275686
275687           · 16c382b55b Merge pull request #46121 from rallytime/merge-2017.7
275688
275689             · 4c2f504a85 Merge branch '2016.11' into '2017.7'
275690
275691               · e197a0fbc5 Merge pull request #46076 from rallytime/bp-46066
275692
275693                 · b94d73c53e Pin tornado version in requirements file
275694
275695               · c72c1bde5f Merge pull request #46093  from  wedge-jarrad/con‐
275696                 tributing-doc-typo
275697
275698                 · 5a0fe104f7 Fix contributing doc typo
275699
275700               · 3cb83ea87e    Merge   pull   request   #45992   from   bgrid‐
275701                 ley/fix-routes-present-state
275702
275703                 · 679787699c      Add      vpc_peering_connection_id       to
275704                   describe_route_tables route_keys
275705
275706               · 8a60635da0   Merge   pull   request   #46000  from  terminal‐
275707                 mage/issue45910
275708
275709                 · 8cf13325ee salt.states.reg.present: Prevent traceback  when
275710                   reg data is binary
275711
275712               · 1f44e285dc   Merge   pull   request   #46011  from  terminal‐
275713                 mage/fix-solaris-runas
275714
275715                 · 8ee0a3a28b Move Solaris USER workaround up a bit
275716
275717                 · 13cdb52690 cmdmod.py: runas workaround for  platforms  that
275718                   don't set a USER env var
275719
275720               · 30fb8f7be0    Merge   pull   request   #45467   from   twang‐
275721                 boy/win_exclude_hidden
275722
275723                 · ea41215646 Make the regex pattern less greedy
275724
275725                 · 6d223cffa7 Add tip about passing bogus saltenv
275726
275727                 · 1282ae3a93 Skip hidden first
275728
275729                 · 437a457911 Skip hidden dirs in genrepo
275730
275731                 · 87dc554dc3 Add final updates to docs
275732
275733                 · 3646d5c897 Fix some docs formatting, add some warnings
275734
275735                 · 35c81faf5a Log the source_dir when caching the files
275736
275737                 · 91c3da8dfd Improve docs for pkg.refresh_db
275738
275739                 · 4803d92707 Add some documentation
275740
275741                 · 08b82e0875 Fix lint error, use raw
275742
275743                 · 2f712691cf Exclude hidden directories in pkg.refresh_db
275744
275745           · b92346645b   Merge    pull    request    #46107    from    amend‐
275746             lik/yumpkg-assumeyes
275747
275748             · 8d9a432fb2    Add    --assumeyes   to   yum/dnf   commands   in
275749               yumpkg.refresh_db
275750
275751           · 14fe423e0c Merge pull request #46094 from kstreee/fix-memory-leak
275752
275753             · 48080a1bae Fixes memory leak,  saltclients  should  be  cleaned
275754               after used.
275755
275756             · aba00805f4  Adds  set_close_callback function to removes stream
275757               instance after closed from a set streams.
275758
275759           · 320c2037e1 Merge pull request #46097 from vutny/fix-https-link
275760
275761             · 2062fd0e5c [DOC] Put https link to the formulas doc page
275762
275763           · 0eb137fb4e Merge pull request #46103 from bdrung/2017.7
275764
275765             · dd3f936557 Fix skipping  Kubernetes  tests  if  client  is  not
275766               installed
275767
275768           · c3a938e994 Merge pull request #46070 from Ch3LL/fix-doc-dns
275769
275770             · 2a5d855d97 add required arg to dns_check jinja doc example
275771
275772           · 01042e9d77 Merge pull request #46067 from rallytime/bp-45994
275773
275774             · a07bb48726 Correct formatting for lint
275775
275776             · e8678f633d Fix Comment being None not '' and inject quotes into
275777               the TXT ChangeRecords
275778
275779           · 5e0e2a30e2     Merge      pull      request      #45932      from
275780             The-Loeki/fix_cmd_run_all_bg
275781
275782             · f83da27ca5 Merge branch '2017.7' into fix_cmd_run_all_bg
275783
275784             · 771758fbca Merge branch '2017.7' into fix_cmd_run_all_bg
275785
275786             · c54fcf7a2d  cmd:  move  separate  DRY logging blocks into _run,
275787               prevent logging on bg=True, don't use_vt on bg
275788
275789             · ebb1f81a9b cmd run:  when  running  in  bg,  force  ignore_ret‐
275790               code=True
275791
275792           · 45ace39961      Merge      pull      request      #46062     from
275793             vutny/pg-user-state-fix-typo
275794
275795             · a5fbe4e95e Fix typo in postgres_user.present state function
275796
275797           · edcb64de76   Merge    pull    request    #45763    from    twang‐
275798             boy/win_fix_path_rehash
275799
275800             · b9a2bc7b29 Fix hyperlinks
275801
275802             · 29912adc15 Move the test_rehash test to test_win_functions
275803
275804             · adc594c183 Remove duplicate link
275805
275806             · e84628c1eb Add some comments to the code
275807
275808             · d50d5f582f  Add  additional  info  to  docs  for broadcast_set‐
275809               ting_change
275810
275811             · 3a54e09cd9 Rename setting to message
275812
275813             · a3f9e99bc0 Change to a generic function to broadcast change
275814
275815             · 79299361c3 Create refresh_environment salt util
275816
275817             · 967b83940c Fix rehash function
275818
275819           · a46fbc546c Merge pull request #46042 from jfindlay/file_tree_doc
275820
275821             · 0ba4954a4b salt.pillar.file_tree revise module documentation
275822
275823             · 3c6a5bf967 salt.pillar.file_tree provide better debug info
275824
275825             · bb1cdc451e salt.pillar.file_tree no stack trace when nodegroups
275826               undefined
275827
275828           · de86126dd8 Merge pull request #46013 from rallytime/bp-45598
275829
275830             · 2ea3fef543 No lazy logging
275831
275832             · f427b0febc Change formatting style of logging lines per review
275833
275834             · ebb244396b  Patch  around ResourceRecords needing to be present
275835               for AliasTarget entries to work
275836
275837       · PR #46160: (rallytime) Mark 2 tests as flaky  @  2018-02-23  19:10:06
275838         UTC
275839
275840         · 05b771bfd7 Merge pull request #46160 from rallytime/flaky-tests
275841
275842         · 49e49ae51b Mark 2 tests as flaky
275843
275844       · PR   #46006:   (dincamihai)   Remove  obsolete  unicode  handling  in
275845         pkg.info_installed @ 2018-02-22 19:22:36 UTC
275846
275847         · 9b2bc1982c Merge pull request #46006 from dincamihai/oxygen.rc1
275848
275849         · 99079fc442 Remove obsolete unicode handling in pkg.info_installed
275850
275851       · PR #46078: (rallytime) [oxygen] Merge forward from oxygen.rc1 to oxy‐
275852         gen @ 2018-02-20 21:49:04 UTC
275853
275854         · 93dab45307 Merge pull request #46078 from rallytime/merge-oxygen
275855
275856         · 2d0f81fd1b Merge branch 'oxygen.rc1' into 'oxygen'
275857
275858       · ISSUE  #45938:  (edgan)  zookeeper.present state doesn't deal with an
275859         existing zode with no ACL specified (refs: #46043)
275860
275861       · PR #46071:  (rallytime)  Back-port  #46043  to  oxygen  @  2018-02-16
275862         19:56:36 UTC
275863
275864         · PR #46043: (edgan) Allow zookeeper znode creation to not require an
275865           ACL (refs: #46071)
275866
275867         · 8d99c3b8fe Merge pull request #46071 from rallytime/bp-46043
275868
275869         · b82c8bd630 Allow zookeeper znode creation to not require an ACL
275870
275871       · PR #46056: (Ch3LL) Fix mac_assistive module not loading @  2018-02-16
275872         14:57:46 UTC
275873
275874         · 5a31422432 Merge pull request #46056 from Ch3LL/ver_mac
275875
275876         · e44f5133c5 Fix mac_assistive module not loading
275877
275878       · PR #46041: (rallytime) [oxygen] Merge forward from 2017.7 to oxygen @
275879         2018-02-16 14:55:51 UTC
275880
275881         · cdca28f5da Merge pull request #46041 from rallytime/merge-oxygen
275882
275883         · e060a74fd8 Merge branch '2017.7' into 'oxygen'
275884
275885           · 07e5735471 Merge pull request #46016 from rallytime/bp-45826
275886
275887             · 1916e5c4a4 Fix selinux.fcontext_policy_present for Centos 6
275888
275889           · a1f4092811 Merge pull request #46015 from rallytime/bp-45785
275890
275891             · ef6ffb1492 Resolve linting errors
275892
275893             · 8047066c46 Remove unused import
275894
275895             · 8f7c45935a Add tests for salt.modules.selinux.fcontext_get_pol‐
275896               icy
275897
275898             · bafb7b4e6e Ensure parsed fields are stripped
275899
275900             · a830a6e819 m/selinux.fcontext_get_policy allow long filespecs
275901
275902           · 96097c037e Merge pull request #46012 from rallytime/bp-45462
275903
275904             · 9f76836a6c emit port cli version, variants as separate args
275905
275906           · 1279924f5f Merge pull request #45991 from terminalmage/fix-dupli‐
275907             cate-extra-opts
275908
275909             · 916766f651 yumpkg: Fix a couple issues with _get_extra_opts
275910
275911           · 8b9adc258e Merge pull request #46017 from rallytime/merge-2017.7
275912
275913             · a06645ce71 Merge branch '2017.7.3' into '2017.7'
275914
275915             · 6d534c6e7e Merge pull request #46009 from Ch3LL/rn_7.4
275916
275917               · ac0baf4b34 Add 2017.7.4 Release Notes with PRs
275918
275919             · ca76a0b328 Merge pull request #45981 from gtmanfred/2017.7.3
275920
275921               · 0d448457dc apparently local is not set by default
275922
275923               · 2a92f4bc16 use local config for vault when masterless
275924
275925             · 6530649dbc   Merge   pull   request    #45953    from    rally‐
275926               time/bp-45928-2017.7.3
275927
275928               · 85363189d1 Fixing vault when used with pillar over salt-ssh
275929
275930             · fb378cebb0 Merge pull request #45934 from rallytime/bp-45902
275931
275932               · bb83e8b345 Add regression test for issue 45893
275933
275934               · cdda66d759  Remove  duplicated  section  in docstring and fix
275935                 example
275936
275937               · 4b6351cda6 Check the effective saltenv for cached archive
275938
275939             · 0d74151c71 Merge pull request #45935 from rallytime/bp-45742
275940
275941               · 6a0b5f7af3 Removed the chained copy
275942
275943               · ad1150fad4 list.copy() is not compatible with python 2.7
275944
275945           · d20ff89414 Merge pull request #45988 from rallytime/bp-45797
275946
275947             · 953a400d79 follow symlinks
275948
275949           · b18087cee0  Merge  pull  request  #45711   from   bdrung/fix-uni‐
275950             code-tests
275951
275952             · b6181b5ed6 Fix Unicode tests when run with LC_ALL=POSIX
275953
275954           · 5271fb1d40      Merge      pull      request      #45878     from
275955             damon-atkins/2017.7_fix_ec2_pillar
275956
275957             · 0e74025714 Merge branch '2017.7' into 2017.7_fix_ec2_pillar
275958
275959             · b4d0b23891 py3 fix
275960
275961             · 75d9e20d8a Add ignoring 'terminated', 'stopped'  instances,  to
275962               improve changes of a single match
275963
275964             · 0093472a37   added   tag_key_list  and  tag_key_sep  to  create
275965               ec2_tags_list
275966
275967             · afb3968aa7 ec2_pillar could not find instance-id, resolved. add
275968               support to use any tag to compare minion id against.
275969
275970           · cf367dbd04    Merge    pull   request   #45942   from   terminal‐
275971             mage/issue45679-2017.7
275972
275973             · 89cbd72a0d Don't try to  sort  ports  when  translating  docker
275974               input
275975
275976             · 9cd47b39dd Fix incorrect translation of docker port_bindings ->
275977               ports
275978
275979           · dae41de7a8   Merge    pull    request    #45959    from    rally‐
275980             time/state-doc-update
275981
275982             · 6f781cb95d  A  couple of grammar updates for the state compiler
275983               docs
275984
275985           · 007214f7bf  Merge  pull  request  #45908  from   DimensionDataRe‐
275986             search/fix/issue/45884
275987
275988             · 1a75786b5a Fix linter warnings.
275989
275990             · 82ec0b589c Revert to using salt.utils.cloud.is_public_ip.
275991
275992             · 9b6b01873b Fix violations reported by flake8.
275993
275994             · a2bc155c73 Use __utils__['cloud.'] instead of salt.cloud.utils.
275995
275996             · 98907a32cb  Ensure  'auth'  parameter  is  correctly  passed to
275997               dimensiondata driver.
275998
275999             · de26b03e2c Fix copy/paste bug in dimensiondata  provider  inte‐
276000               gration test.
276001
276002             · 6b1b6be427   Add  integration  tests  for  dimensiondata  cloud
276003               provider.
276004
276005             · f6ea9fed7d Ensure that event data provided by the dimensiondata
276006               driver is serialisable.
276007
276008           · efcbfa868c   Merge   pull   request   #45985   from  garethgreen‐
276009             away/2017_7_fixing_mac_tests_again
276010
276011             · 7b8dc14433 Missing format in the call to write.
276012
276013           · bf03abd07c Merge pull request #45958  from  garethgreenaway/back‐
276014             port-fixing_mactests_queue_full
276015
276016             · 25dffaae91 Backporting #45935
276017
276018           · bab365d6c6 Merge pull request #45949 from rallytime/merge-2017.7
276019
276020             · f51687e903 Merge branch '2016.11' into '2017.7'
276021
276022             · 7779fea7ba    Merge    pull    request    #45940   from   dmur‐
276023               phy18/fix_aix_cmdmod
276024
276025               · dd2788419b Fix use of 'su' for AIX to use '-'
276026
276027           · 7fd00ec752  Merge   pull   request   #45928   from   garethgreen‐
276028             away/45915_fixing_vault_pillar_for_salt_ssh
276029
276030             · 259e60e5d4 Fixing vault when used with pillar over salt-ssh
276031
276032           · 9d14ad9ccf Merge pull request #45925 from terminalmage/fix-spell‐
276033             ing
276034
276035             · 7a143fe454 Fix spelling error in docstring
276036
276037       · PR #45972: (mcalmer) move log_file option to  changeable  defaults  @
276038         2018-02-15 18:57:24 UTC
276039
276040         · 057e895faf       Merge      pull      request      #45972      from
276041           mcalmer/allow-salt-ssh-define-log_file
276042
276043         · f89a20bf3e move log_file option to changeable defaults
276044
276045       · PR #46007: (rallytime) [oxygen] Merge forward from oxygen.rc1 to oxy‐
276046         gen @ 2018-02-13 18:50:09 UTC
276047
276048         · d4377d4678 Merge pull request #46007 from rallytime/merge-oxygen
276049
276050         · d6c2d0693a Merge branch 'oxygen.rc1' into 'oxygen'
276051
276052       · PR  #45944:  (mirceaulinic)  Add  NetBox  module autodoc @ 2018-02-13
276053         00:01:48 UTC
276054
276055         · 069f790b3c Merge pull request #45944 from cloudflare/netbox-autodoc
276056
276057         · ed69b987cf Add NetBox module autodoc
276058
276059       · PR #45984: (garethgreenaway) [oxygen] Missing format in the  call  to
276060         write.  @ 2018-02-12 19:06:04 UTC
276061
276062         · 2a6285d313  Merge  pull  request  #45984  from garethgreenaway/fix‐
276063           ing_mac_tests_again
276064
276065         · ae7791d30b Missing format in the call to write.
276066
276067       · PR #45922: (rallytime) [oxygen] Merge forward from 2017.7 to oxygen @
276068         2018-02-09 20:24:26 UTC
276069
276070         · 88f481a3df Merge pull request #45922 from rallytime/merge-oxygen
276071
276072         · 9c49c8d47c Remove extra patch
276073
276074         · b96f4cf8ad Remove duplicate import in cmdmod.py
276075
276076         · 34ecdffa71 Replace old utils paths with new paths
276077
276078         · d80547e0b8 Merge branch '2017.7' into 'oxygen'
276079
276080         · 0cbe93cd69 Merge pull request #45920 from rallytime/merge-2017.7
276081
276082           · e4e4744218 Merge branch '2016.11' into '2017.7'
276083
276084           · 27ff82f996    Merge    pull    request    #45864    from   rally‐
276085             time/release-note-fix
276086
276087             · 104a24f244 Remove extraneous ] in release notes for 2016.11.9
276088
276089           · 5fa010de2b   Merge    pull    request    #45787    from    rally‐
276090             time/2016.11.9_docs
276091
276092             · a38d4d44fa [2016.11] Bump latest and previous versions
276093
276094         · 643a8a5278 Merge pull request #45814 from gtmanfred/2017.7
276095
276096           · d8eec9aa97 fix cookies dict size changing in http.query
276097
276098         · 3a3f87c16d     Merge    pull    request    #45877    from    rally‐
276099           time/new-release-notes
276100
276101           · f937e8ba81 Add release notes file for 2017.7.4 release
276102
276103         · 1c3cc00670 Merge pull request #45904 from rallytime/bp-41017
276104
276105           · 80c56cdcea Fixed typo in pkg state documentation
276106
276107         · 317d35bd15   Merge   pull    request    #45907    from    terminal‐
276108           mage/fix-grains-backport
276109
276110           · 6cf7e50cc4 Fix backport of grains fix
276111
276112         · dade5f0cab Merge pull request #45906 from rallytime/bp-45548
276113
276114           · 1befa7386c Update x509.py
276115
276116         · 82c473a1fe Merge pull request #45902 from terminalmage/issue45893
276117
276118           · 9d200efc26 Add regression test for issue 45893
276119
276120           · 1468f1d0ff Remove duplicated section in docstring and fix example
276121
276122           · 6cc5cd9b8a Check the effective saltenv for cached archive
276123
276124         · fdedde3cfb Merge pull request #45862 from rallytime/bp-45830
276125
276126           · 1024856f9a Wrapping the put_nowait in a try...except and catching
276127             the exception when the multiprocessing queue is full.  This situ‐
276128             ation  is  happening when running the full testing suite on MacOS
276129             where the queue limit is 32767 vs on Linux where the queue  limit
276130             is unlimited.
276131
276132         · 43a45b42c3 Merge pull request #45779 from The-Loeki/patch-3
276133
276134           · 8575ae3d52 Merge branch '2017.7' into patch-3
276135
276136           · 47cf00d88e SSH shell shim: Don't use $() for optimal support
276137
276138         · cca997d0da Merge pull request #45788 from rallytime/2017.7.3_docs
276139
276140           · d5faf6126b [2017.7] Bump latest and previous versions
276141
276142         · 746206cebe Merge pull request #45842 from rallytime/bp-45827
276143
276144           · c631598a87  Fix  traceback  in  disks  grains when /sys/block not
276145             available
276146
276147         · 900aadcd67   Merge   pull   request   #45721   from    garethgreen‐
276148           away/44978_show_duration_when_no_state_run
276149
276150           · 359265869f  Adding  a  couple  tests  to  ensure that duration is
276151             included in state run results even when states do not run.
276152
276153           · 912347abc3 Include the duration when a state does  not  run,  for
276154             example when the onchanges requisite is not met.
276155
276156         · 80a2d009b4 Merge pull request #45517 from kstreee/fix-mkdir
276157
276158           · 24d41f2451  Fixes base dir making logic to ensure not raising the
276159             exception when base directory already exists.
276160
276161         · 7a4b1b2e77  Merge  pull  request  #45835   from   kstreee/fix-miss‐
276162           ing-return-statement
276163
276164           · 68c7f3dcba Adds a missing return statement.
276165
276166         · 0a04f118c2 Merge pull request #45840 from rallytime/bp-45603
276167
276168           · 9653363131 Fix for duplicate entries with pkrepo.managed
276169
276170         · bd2178cd5f       Merge      pull      request      #45716      from
276171           ciiqr/fix_cmd_script_quoting
276172
276173           · 217791079b some code cleanup (lint errors and escape_argument  as
276174             _cmd_quote)
276175
276176           · 1c29bc5a3d fixed quoting of script path in cmd.script
276177
276178         · 272f912c7c       Merge      pull      request      #45719      from
276179           bdrung/fix-python3-sphinx-build
276180
276181           · 179e8fbe73 doc: Do not mock non-existing __qualname__ attribute
276182
276183           · 971e59ebe2 Drop enforcing new-style object for SaltYamlSafeLoader
276184
276185         · fc04336c3b Merge pull request #45764 from mchugh19/2017.7
276186
276187           · 0a7f1a4d75 English better
276188
276189           · 37e067c7b5 support amazon linux 2 for service module
276190
276191       · PR #45861: (rallytime) [oxygen] Merge forward from oxygen.rc1 to oxy‐
276192         gen @ 2018-02-08 13:39:59 UTC
276193
276194         · 048c18ea42 Merge pull request #45861 from rallytime/merge-oxygen
276195
276196         · 6d812ac192 Merge branch 'oxygen.rc1' into 'oxygen'
276197
276198       · PR #45852: (Giandom) fix-missing-highstate-module-import @ 2018-02-05
276199         15:02:39 UTC
276200
276201         · 1bd38fb3b7 Merge pull request #45852 from Giandom/fix-missing-high‐
276202           state-module-import
276203
276204         · dc5a8f9233 fix-missing-highstate-module-import
276205
276206       · PR #45829: (rallytime) [oxygen] Merge forward from 2017.7 to oxygen @
276207         2018-02-02 20:20:32 UTC
276208
276209         · 5f54ce7b5f Merge pull request #45829 from rallytime/merge-oxygen
276210
276211         · 34a17819ca Add opts to salt.utils.jid.gen_jid call in minion.py
276212
276213         · 79d071df9c Merge branch '2017.7' into 'oxygen'
276214
276215         · f234bf52f4    Merge    pull    request    #45756    from     roald‐
276216           nefs/fix-grafana4-documentation
276217
276218           · 92979c0b57 Fix grafana4 states documentation
276219
276220         · 685b683db5 Merge pull request #45801 from rallytime/merge-2017.7
276221
276222           · 26e992e011 Merge branch '2016.11' into '2017.7'
276223
276224           · 746386d04c      Merge      pull      request      #45794     from
276225             vutny/doc-file-state-examples
276226
276227             · ddfeae6a29 [DOC] Fix code-block rST  directive  in  file  state
276228               module
276229
276230           · abc9ece214  Merge pull request #45780 from vutny/doc-pkgrepo-zyp‐
276231             per
276232
276233           · f80c7d8d69 [DOC] Add missing gpgautoimport for pkgrepo.managed
276234
276235         · c7d319f3bc    Merge    pull    request    #45802    from     rally‐
276236           time/merge-2017.7-from-2017.7.3
276237
276238           · eb48513ba0 Merge branch '2017.7.3' into '2017.7'
276239
276240           · 1439da8d76 Merge pull request #45755 from terminalmage/issue45743
276241
276242           · 8af1251c59 salt.crypt: Ensure message is encoded before signing
276243
276244         · 96e9232cc2 Merge pull request #45761 from gtmanfred/2017.7
276245
276246         · 280767ed57 generate a jid for cache_jobs on the minion
276247
276248       · PR  #45819: (Giandom) oxygen-added-highstate-output-to-slack-engine @
276249         2018-02-01 18:38:42 UTC
276250
276251         · 3471796c51   Merge   pull   request   #45819   from    Giandom/oxy‐
276252           gen-added-highstate-output-to-slack-engine
276253
276254         · 1af8899a9d oxygen-added-highstate-output-to-slack-engine
276255
276256   Salt 2018.3.2 Release Notes
276257       Version 2018.3.2 is a bugfix release for 2018.3.0.
276258
276259       The  2018.3.2  release contains only a small number of fixes, which are
276260       detailed below.
276261
276262       This release fixes two critical issues.
276263
276264       The first is Issue #48038, which is a critical bug  that  occurs  in  a
276265       multi-syndic  setup  where the same job is run multiple times on a min‐
276266       ion.
276267
276268       The second issue is #48130. This bug appears in  certain  setups  where
276269       the Master reports a Minion time-out, even though the job is still run‐
276270       ning on the Minion.
276271
276272       Both of these issues have been fixed with this release.
276273
276274   Statistics
276275       · Total Merges: 7
276276
276277       · Total Issue References: 2
276278
276279       · Total PR References: 10
276280
276281       · Contributors: 4 (cro, garethgreenaway, gtmanfred, rallytime)
276282
276283       WARNING:
276284          If you are using Jinja to dump lists or  dictionaries  in  your  SLS
276285          files,  this  will now cause errors in Python 2 since Jinja does not
276286          produce YAML-compatible output when strings in the  data  structures
276287          contain unicode types. The dictionary must be passed through a Jinja
276288          filter to produce YAML-compatible strings.
276289
276290          The below is an example of invalid SLS:
276291
276292              /etc/foo.conf:
276293                file.mangaged:
276294                  - source: salt://foo.conf
276295                  - template: jinja
276296                  - defaults: {{ mydict }}
276297
276298          To make it valid, use either one of Salt's own json or yaml filters:
276299
276300              /etc/foo.conf:
276301                file.mangaged:
276302                  - source: salt://foo.conf
276303                  - template: jinja
276304                  - defaults: {{ mydict | json }}
276305
276306   Changelog for v2018.3.1..v2018.3.2
276307       Generated at: 2018-06-17 19:17:16 UTC
276308
276309       · ISSUE #48130: (rmarchei) Minion timeouts with 2018.3.1 (refs: #48158)
276310
276311       · PR #48158: (gtmanfred)  always  listen  when  gathering  job  info  @
276312         2018-06-17 19:04:03 UTC
276313
276314         · 521e926458 Merge pull request #48158 from gtmanfred/2018.3.2
276315
276316         · cecf564433 always listen when gathering job info
276317
276318       · PR  #48138:  (rallytime)  Update  man pages for 2018.3.2 @ 2018-06-14
276319         21:22:34 UTC
276320
276321         · f154545aff    Merge    pull    request    #48138    from     rally‐
276322           time/man-pages-2018.3.2
276323
276324         · 8c340134f5 Update man pages for 2018.3.2
276325
276326       · PR #48137: (gtmanfred) [2018.3.2] bootstrap kitchen branch tests with
276327         2017.7.6 @ 2018-06-14 21:20:28 UTC
276328
276329         · b49271b76d Merge pull request #48137 from gtmanfred/2018.3.2
276330
276331         · 6128519e8b bootstrap kitchen branch tests with 2017.7.6
276332
276333       · PR #48129: (rallytime) Add release notes for  2018.3.2  @  2018-06-14
276334         15:48:36 UTC
276335
276336         · 21aaf1cbc4     Merge    pull    request    #48129    from    rally‐
276337           time/release-notes-2018.3.2
276338
276339         · 0b13be0111 Add release notes for 2018.3.2
276340
276341       · PR #48100: (rallytime) Back-port  #48014  to  2018.3.2  @  2018-06-14
276342         12:54:52 UTC
276343
276344         · PR #48014: (cro) Find job pause (refs: #48100)
276345
276346         · 36b99ae80a Merge pull request #48100 from rallytime/bp-48014
276347
276348         · 77feccc5c4 Lint: Add blank line
276349
276350         · 159b052962 One more case where returner doesn't respond
276351
276352         · 91b45b4cc4  Catch  two cases when a returner is not able to be con‐
276353           tacted--these would throw a stacktrace.
276354
276355       · PR #48099: (rallytime) Back-port  #47915  to  2018.3.2  @  2018-06-14
276356         12:54:23 UTC
276357
276358         · PR  #47915:  (garethgreenaway)  [2018.3]  state runner pause resume
276359           kill (refs: #48099)
276360
276361         · 40c1bfdec9 Merge pull request #48099 from rallytime/bp-47915
276362
276363         · 3556850058 fixing typo in alias_function call.
276364
276365         · 4b0ff496fa Some fixes to the set_pause and rm_pause function in the
276366           state  runner,  renaming to in line with the functions in the state
276367           module.  Including aliases to previous names for back-ward compati‐
276368           bility.   Including a soft_kill function to kill running orchestra‐
276369           tion states.  A new test to test soft_kill functionality.
276370
276371       · ISSUE #48038: (austinpapp) jobs are not dedup'ing minion side  (refs:
276372         #48075)
276373
276374       · PR  #48097:  (rallytime)  Back-port  #48075  to 2018.3.2 @ 2018-06-14
276375         12:52:44 UTC
276376
276377         · PR #48075: (garethgreenaway) [2017.7] Ensure that the  shared  list
276378           of jids is passed (refs: #48097)
276379
276380         · 074a97dcfa Merge pull request #48097 from rallytime/bp-48075
276381
276382         · e4c719b55f  Ensure that the shared list of jids is passed when cre‐
276383           ating the Minion.  Fixes an issue when minions are pointed at  mul‐
276384           tiple syndics.
276385
276386   Salt 2018.3.3 Release Notes
276387       Version 2018.3.3 is a security and bugfix release for 2018.3.0.
276388
276389   Statistics
276390       · Total Merges: 548
276391
276392       · Total Issue References: 69
276393
276394       · Total PR References: 341
276395
276396       · Contributors:   55   (Ch3LL,   FedericoCeratto,   KaiSforza,   L4rS6,
276397         Lutseslav, The-Loeki, Vaelatern, admd, aesposito91, asenci, astorath,
276398         azelezni, babs, bbczeuz, bbinet, brejoc, cro, daa, dmurphy18, dubb-b,
276399         dwoz,  eliasp,  ezh,  garethgreenaway,  gtmanfred,  isbm,   jeduardo,
276400         kt97679,  kuetrzi,  linoplt,  lomeroe,  lusche,  mateiw,  max-arnold,
276401         maxim-sermin,   meaksh,   mmulqueen,    morganwillcock,    mtorromeo,
276402         nullify005,   paulcollinsiii,   pritambaral,   rallytime,  rares-pop,
276403         rmarchei,   rosscdh,   sizgiyaev,   sjorge,   t0fik,    terminalmage,
276404         travispaul, twangboy, vinian, weswhet, zerthimon)
276405
276406       WARNING:
276407          If  you  are  using  Jinja to dump lists or dictionaries in your SLS
276408          files, this will now cause errors in Python 2 since Jinja  does  not
276409          produce  YAML-compatible  output when strings in the data structures
276410          contain unicode types. The dictionary must be passed through a Jinja
276411          filter to produce YAML-compatible strings.
276412
276413          The below is an example of invalid SLS:
276414
276415              /etc/foo.conf:
276416                file.mangaged:
276417                  - source: salt://foo.conf
276418                  - template: jinja
276419                  - defaults: {{ mydict }}
276420
276421          To make it valid, use either one of Salt's own json or yaml filters.
276422          Another option would be to use Jinja's tojson filter.
276423
276424              /etc/foo.conf:
276425                file.mangaged:
276426                  - source: salt://foo.conf
276427                  - template: jinja
276428                  - defaults: {{ mydict | tojson }}
276429
276430   Security Fix
276431       CVE-2018-15751 Remote command execution and  incorrect  access  control
276432       when using salt-api.
276433
276434       CVE-2018-15750  Directory  traversal vulnerability when using salt-api.
276435       Allows an attacker to determine what  files  exist  on  a  server  when
276436       querying /run or /events.
276437
276438       Credit  and thanks for discovery and responsible disclosure: nullbr4in,
276439       xcuter, koredge, loupos, blackcon, Naver Business Platform
276440
276441   Changes to win_timezone
276442       Improves timezone detection by using the pytz module.
276443
276444       timezone.get_offset and timezone.get_zonecode now work properly.
276445
276446       Adds timezone.list to list supported timezones  in  either  Windows  or
276447       Unix format.
276448
276449   New Jinja Filter
276450       The  tojson  filter (from Jinja 2.9 and later) has been ported to Salt,
276451       and will be used when this filter is not available. This  allows  older
276452       LTS releases such as CentOS 7 and Ubuntu 14.04 to use this filter.
276453
276454       You  can use this filter any time you wish to dump a list or dictionary
276455       into an SLS file, to ensure that the result is able to be loaded by the
276456       YAML renderer.  For example:
276457
276458          foo:
276459            bar.baz:
276460              - some_arg: {{ mydict | tojson }}
276461
276462   MacOSX escape characters with runas
276463       You  are  now  required  to escape quotes when using the runas argument
276464       with the cmd module on macosx.
276465
276466       Example:
276467
276468          cmd.run 'echo '\''h=\"baz\"'\''' runas=macuser
276469
276470   Changelog for v2018.3.2..v2018.3.3
276471       Generated at: 2018-09-21 17:45:27 UTC
276472
276473       · PR #49662: (dwoz) Fix another bad filename reference in  whitelist  @
276474         2018-09-14 22:20:49 UTC
276475
276476         · 9d8cc0b3f4 Merge pull request #49662 from dwoz/2018.3.3
276477
276478         · e109023013 Fix another bad filename reference in whitelist
276479
276480       · PR  #49655:  (dwoz)  Fix  windows  test whitelist errors @ 2018-09-14
276481         20:34:56 UTC
276482
276483         · 6391560d57 Merge pull request #49655 from dwoz/2018.3.3
276484
276485         · 8a4946478e Fix windows test whitelist errors
276486
276487       · PR #49641: (rallytime) Back-port  #49632  to  2018.3.3  @  2018-09-13
276488         16:46:02 UTC
276489
276490         · PR    #49632:    (garethgreenaway)    [2018.3]    Fixing   integra‐
276491           tion.states.test_file.FileTest.test_directory_max_depth      (refs:
276492           #49641)
276493
276494         · 3fb3ffdb37 Merge pull request #49641 from rallytime/bp-49632
276495
276496         · d11a400825  Fixing failing test under python 3.7 causaed by changes
276497           to how os.makedirs sets initial permissions.
276498
276499       · PR  #49633:  (garethgreenaway)  [2018.3.3]  Moving  test_build_white‐
276500         space_split_regex  to  TestBuildWhitespaceRegex @ 2018-09-13 06:57:01
276501         UTC
276502
276503         · 0096cf10b5 Merge  pull  request  #49633  from  garethgreenaway/mov‐
276504           ing_test_into_correct_class
276505
276506         · 370de07617 Lint: Add extra blank line
276507
276508         · 27b93fcc68  Moving  the test_build_whitespace_split_regex test into
276509           the TestBuildWhitespaceRegex class.
276510
276511       · PR #49594: (rallytime) Back-port  #49580  to  2018.3.3  @  2018-09-10
276512         19:59:41 UTC
276513
276514         · PR  #49580:  (garethgreenaway) [2018.3] Fixing tests for Python 3.7
276515           (refs: #49594)
276516
276517         · e3a14e3535 Merge pull request #49594 from rallytime/bp-49580
276518
276519         · 41a2586fc0 Add file coding line at top of file
276520
276521         · 7df3bebf53 Fixing lint.
276522
276523         · 5fee38d1db Fixes various tests that were failing under python 3.7.
276524
276525       · PR #49589: (rallytime) Update old utils paths to use new utils  paths
276526         @ 2018-09-10 16:51:31 UTC
276527
276528         · 39f9c9c952 Merge pull request #49589 from rallytime/utils-paths
276529
276530         · 5de2245c11 Update old utils paths to use new utils paths
276531
276532       · PR  #49550:  (rallytime)  Back-port  #49548  to 2018.3.3 @ 2018-09-07
276533         00:36:05 UTC
276534
276535         · PR #49548: (garethgreenaway) [2018.3] Disabling  State  boto  tests
276536           for Python 3.7+ (refs: #49550)
276537
276538         · 202da7a94f Merge pull request #49550 from rallytime/bp-49548
276539
276540         · 180692ccee  Disable  various  boto  tests when run under python 3.7
276541           because of //github.com/spulec/moto/issues/1706. which was  causing
276542           the  test  suite  to  hang on unit tests.  This PR is disabling the
276543           tests in the test_boto_vpc state tests.
276544
276545       · PR #49542: (twangboy) Update openssl @ 2018-09-06 16:11:34 UTC
276546
276547         · cae2d61568 Merge pull request #49542 from twangboy/fix_osx_build_3
276548
276549         · fe02b2276f Add 1.0.2p shasum file
276550
276551         · 5f06dc2762 Fix issues with osx build scripts on 2018.3.3
276552
276553       · PR #49536: (rallytime) Back-port  #49524  to  2018.3.3  @  2018-09-06
276554         16:00:00 UTC
276555
276556         · PR  #49524: (garethgreenaway) [2018.3] Disable boto tests under 3.7
276557           (refs: #49536)
276558
276559         · d9f09da5d9 Merge pull request #49536 from rallytime/bp-49524
276560
276561         · 9e7203e08a Disable various boto tests when  run  under  python  3.7
276562           because  of //github.com/spulec/moto/issues/1706. which was causing
276563           the test suite to hang on unit tests.
276564
276565       · PR #49535: (Ch3LL) Skip test_virt and pip_state requirements tests on
276566         macosx @ 2018-09-06 15:59:38 UTC
276567
276568         · cb934bf0b6 Merge pull request #49535 from Ch3LL/skip_pip_mac
276569
276570         · 50237e9daf  Skip  test_virt  and  pip_state  requirements  tests on
276571           macosx
276572
276573       · PR #49499: (rallytime) Pin CherryPy version to < 18.0.0  in  require‐
276574         ments files for PY2 @ 2018-09-04 18:52:44 UTC
276575
276576         · 87d3dfe085  Merge  pull  request  #49499  from  rallytime/pin-cher‐
276577           rypy-2018.3.3
276578
276579         · 9e274335a3 Pin CherryPy version to < 18.0.0 in  requirements  files
276580           for PY2
276581
276582       · ISSUE  saltstack/salt-jenkins#1075:  (Ch3LL)  [2018.3.3] arch python3
276583         tests do not finish (refs: #49303, #49451)
276584
276585       · PR #49467: (rallytime) Back-port  #49451  to  2018.3.3  @  2018-08-31
276586         17:38:09 UTC
276587
276588         · PR #49451: (gtmanfred) Handle thread shutdown on system exit (refs:
276589           #49467)
276590
276591         · 39fdacc434 Merge pull request #49467 from rallytime/bp-49451
276592
276593         · b891a0a8d3 add lock for proxy minion process too
276594
276595         · 72519878c0 start thread in try block
276596
276597         · b878f01662 use finally instead of catching baseexception
276598
276599         · de98be6093 use rlock so blocking can be passed in py2
276600
276601         · d346b42332 import Callable from collections.abc for python3.7
276602
276603         · d7a410070a Handle thread shutdown on system exit
276604
276605       · PR #49468: (rallytime) Back-port #49291  and  #49331  to  2018.3.3  @
276606         2018-08-31 17:37:30 UTC
276607
276608         · PR  #49331:  (dwoz)  Use  salt.utils  to  ensure string type (refs:
276609           #49468)
276610
276611         · PR #49291: (dwoz) Add dedent that sets line endings (refs: #49468)
276612
276613         · 37d1455d69    Merge    pull    request    #49468    from     rally‐
276614           time/bp-49291-and-49331
276615
276616         · 944f8e96c8 Use salt.utils to ensure string type
276617
276618         · 6c92ed2021 Fix review nits
276619
276620         · 0e18b157e3 Re-factor dedent to fix warts
276621
276622         · b5034067f8 Use salt.utils.to_* functions
276623
276624         · 6399d035a4 Add dedent that sets line endings
276625
276626       · PR  #49449:  (rallytime)  Mark  status  test  as  flaky  @ 2018-08-30
276627         18:10:44 UTC
276628
276629         · 0cda22e7a9 Merge pull request #49449 from rallytime/flaky-test
276630
276631         · 0f322bb39f Mark status test as flaky
276632
276633       · PR #49444: (rallytime) Back-port  #49299  to  2018.3.3  @  2018-08-30
276634         18:10:21 UTC
276635
276636         · PR  #49299:  (dwoz)  Work around cmd.run unicode issues in test for
276637           now (refs: #49444)
276638
276639         · bcc5f1a7c1 Merge pull request #49444 from rallytime/bp-49299
276640
276641         · b8c5a5bb91 Fix string formatting wart in file state tests
276642
276643         · 19756022be Fix wart in file state test
276644
276645         · ba68388342 Work around cmd.run unicode issues in test for now
276646
276647       · PR #49448: (rallytime) Back-port  #49400  to  2018.3.3  @  2018-08-30
276648         18:04:29 UTC
276649
276650         · PR  #49400:  (rallytime)  Mark  pillar refresh test as flaky (refs:
276651           #49448)
276652
276653         · 38713e2db9 Merge pull request #49448 from rallytime/bp-49400
276654
276655         · b953fe0079 Mark pillar refresh test as flaky
276656
276657       · PR #49446: (rallytime) Back-port  #49356  to  2018.3.3  @  2018-08-30
276658         18:04:01 UTC
276659
276660         · PR  #49356:  (dwoz)  Fix  tests  that  use timed_subprocess for py3
276661           (refs: #49446)
276662
276663         · d6ddcab351 Merge pull request #49446 from rallytime/bp-49356
276664
276665         · 8022b0c3d6 Fix tests that use timed_subprocess for py3
276666
276667       · PR #49445: (rallytime) Back-port  #49192  to  2018.3.3  @  2018-08-30
276668         18:03:44 UTC
276669
276670         · PR  #49192:  (dwoz)  Test  fixes flaky test and unicode environment
276671           key/value (refs: #49445)
276672
276673         · 1a67956c0f Merge pull request #49445 from rallytime/bp-49192
276674
276675         · 20148d4438 Test fixes
276676
276677       · PR #49443: (rallytime) Back-port  #49197  to  2018.3.3  @  2018-08-30
276678         18:03:10 UTC
276679
276680         · PR #49197: (dwoz) File state line ending fixes (refs: #49443)
276681
276682         · 33f59d44de Merge pull request #49443 from rallytime/bp-49197
276683
276684         · 5fe821978e File state line ending fixes
276685
276686       · PR #49442: (rallytime) Back-port #49180 and related fixes to 2018.3.3
276687         @ 2018-08-30 18:02:54 UTC
276688
276689         · PR #49186: (dwoz) Fix typo in #49180 (refs: #49442)
276690
276691         · PR #49180: (dwoz) Cherry-pick test fixes (refs: #49442, #49186)
276692
276693         · PR #49167: (dwoz) Fix remaining file state integration tests  (py3)
276694           (refs: #49173, #49442)
276695
276696         · 60758059c3 Merge pull request #49442 from rallytime/bp-49180
276697
276698         · e155568957 Fix typo
276699
276700         · 608a1ae7ba Account for file renames
276701
276702         · e8e6a46a2b Fix directory unit test
276703
276704         · 2f865c398e Fix is_windows checks
276705
276706         · 6460f7f217 Account for normalized dirs in unit tests
276707
276708         · f4b7101a35 Simplify dict keys lookup
276709
276710         · 942b68bfc8 Fix remaining file state integration tests (py3)
276711
276712       · PR  #49441:  (rallytime)  Back-port  #49240  to 2018.3.3 @ 2018-08-30
276713         18:02:40 UTC
276714
276715         · PR #49240: (dwoz) file state test fixes (refs: #49362, #49441)
276716
276717         · 1f4906346a Merge pull request #49441 from rallytime/bp-49240
276718
276719         · 22ed452479 Work around listdir encoding issues on py2 windows
276720
276721         · f5be275835 file state test fixes
276722
276723       · PR #49440: (rallytime) Back-port  #49258  to  2018.3.3  @  2018-08-30
276724         18:02:25 UTC
276725
276726         · PR #49258: (gtmanfred) flaky tests are flaky (refs: #49440)
276727
276728         · cc27b67a37 Merge pull request #49440 from rallytime/bp-49258
276729
276730         · 0191af1423 flaky tests are flaky yo
276731
276732         · 720b671dda mark orchestration state tests as flaky
276733
276734       · ISSUE #48880: (damntoken) Can't run cmd.run with UTF-8 chars as argu‐
276735         ments / parameters. With custom module. (refs: #49322)
276736
276737       · PR #49368: (rallytime) Back-port  #49322  to  2018.3.3  @  2018-08-28
276738         17:15:15 UTC
276739
276740         · PR #49322: (dwoz) Encode shell commands explicitly. (refs: #49368)
276741
276742         · af80e64569 Merge pull request #49368 from rallytime/bp-49322
276743
276744         · 238853b9ec Encode shell commands explicitly.
276745
276746       · PR  #49363:  (rallytime)  Back-port  #49245  to 2018.3.3 @ 2018-08-28
276747         17:14:18 UTC
276748
276749         · PR #49245: (dwoz) Skip grep unit tests on windows (refs: #49363)
276750
276751         · 0fee3e8786 Merge pull request #49363 from rallytime/bp-49245
276752
276753         · cc606509d0 Fix is_windows call - use the right path
276754
276755         · 5488fbea38 Skip grep unit tests on windows
276756
276757       · PR #49361: (rallytime) Back-port  #49244  to  2018.3.3  @  2018-08-28
276758         17:12:58 UTC
276759
276760         · PR  #49244:  (dwoz)  Test  fixes: unit.fileserver.test_gitfs (refs:
276761           #49361)
276762
276763         · dbcd2fc726 Merge pull request #49361 from rallytime/bp-49244
276764
276765         · e0909d3a25 Simplify by using to_unicode helper
276766
276767         · 4723c69092 Older GitPython version do not have a close method
276768
276769         · d5fecba716 Fix up fileserver.test_gitfs tests on windows
276770
276771         · 4b688f6347 Remove unicode filenames on windows python 2
276772
276773       · PR #49362: (rallytime) Back-port  #49240  to  2018.3.3  @  2018-08-28
276774         17:00:25 UTC
276775
276776         · PR #49240: (dwoz) file state test fixes (refs: #49362, #49441)
276777
276778         · b4a1e1d365 Merge pull request #49362 from rallytime/bp-49240
276779
276780         · 16ca5b9694 Work around listdir encoding issues on py2 windows
276781
276782         · 7650208dbc file state test fixes
276783
276784       · PR  #49365:  (rallytime)  Back-port  #49270  to 2018.3.3 @ 2018-08-28
276785         16:56:23 UTC
276786
276787         · PR #49270: (dwoz) Add async  helper  to  test_sock_path_len  (refs:
276788           #49365)
276789
276790         · 9ca9a775ff Merge pull request #49365 from rallytime/bp-49270
276791
276792         · 1b3f37a8b8 Add async helper to test_sock_path_len
276793
276794       · PR  #49364:  (rallytime)  Back-port  #49243  to 2018.3.3 @ 2018-08-28
276795         16:55:55 UTC
276796
276797         · PR #49243: (dwoz) Revert newline translation change (refs: #49364)
276798
276799         · bbff57da16 Merge pull request #49364 from rallytime/bp-49243
276800
276801         · 5db77c6229 Revert newline translation change
276802
276803       · PR #49347: (Ch3LL) [2018.3.3] Backport #49345 @  2018-08-28  01:54:00
276804         UTC
276805
276806         · PR  #49345:  (gtmanfred)  upgrade  including  linux  kernels (refs:
276807           #49347)
276808
276809         · 74b78835b3 Merge pull request #49347 from Ch3LL/bp_49345_2018.3.3
276810
276811         · 7bf5ba83c8 upgrade including linux kernels
276812
276813       · PR #49323: (Ch3LL) Skip nonexistent  branch  test  for  git  versions
276814         <1.7.10 @ 2018-08-25 19:52:48 UTC
276815
276816         · be6691d91b Merge pull request #49323 from Ch3LL/skip_git
276817
276818         · ee3d32f74e Skip nonexistent branch for git versions <1.7.10
276819
276820       · ISSUE #32737: (Lothiraldan) No support for compound matcher in exter‐
276821         nal auth configuration (refs: #49236)
276822
276823       · PR #49313: (rallytime) Back-port  #49236  to  2018.3.3  @  2018-08-24
276824         20:59:16 UTC
276825
276826         · PR  #49236:  (terminalmage) Allow compound matching in eauth config
276827           expressions (refs: #49313)
276828
276829         · 64d7b0e4c6 Merge pull request #49313 from rallytime/bp-49236
276830
276831         · 1a5ef996e3 Add 'minion_data_cache: True' to mocked opts for minions
276832           unit tests
276833
276834         · 549f5d5a86 Allow compound matching in eauth config expressions
276835
276836       · ISSUE  saltstack/salt-jenkins#1075:  (Ch3LL)  [2018.3.3] arch python3
276837         tests do not finish (refs: #49303, #49451)
276838
276839       · PR #49311: (rallytime) Back-port  #49303  to  2018.3.3  @  2018-08-24
276840         17:48:23 UTC
276841
276842         · PR #49303: (gtmanfred) use os._exit instead of sys.exit when daemo‐
276843           nizing (refs: #49311)
276844
276845         · 7a89a4c8aa Merge pull request #49311 from rallytime/bp-49303
276846
276847         · 3fe1387751 use os._exit instead of sys.exit when daemonizing
276848
276849       · PR #49294: (Ch3LL) Move run_function call from __init__  to  setup  @
276850         2018-08-24 12:41:35 UTC
276851
276852         · 7bb356f11e Merge pull request #49294 from Ch3LL/fed_28_tests
276853
276854         · 0a5d44a3db Move run_function call from __init__ to setup
276855
276856       · PR  #49302:  (twangboy)  Fix installer 2018.3.3 @ 2018-08-24 12:41:14
276857         UTC
276858
276859         · a607f9332f Merge pull  request  #49302  from  twangboy/fix_install‐
276860           er_2018.3.3
276861
276862         · 68fd37575e Fix erroneous NSSM reference
276863
276864         · 103f2c289e Remove delete vcredist line
276865
276866         · 007a16638e Bring installer updates from 2017.7.8 to 2018.3.3
276867
276868       · PR   #49241:   (terminalmage)   Don't  silently  catch  SystemExit  @
276869         2018-08-22 12:57:58 UTC
276870
276871         · bc0b4ac513 Merge pull request #49241  from  terminalmage/salt-jenk‐
276872           ins-1078
276873
276874         · 08d144f2c7 Don't silently catch SystemExit
276875
276876         · c0fdb818f7 Don't use a bare except!
276877
276878       · PR  #49239:  (Ch3LL)  Use  yaml's  safe_dump  in  windows ec2 tests @
276879         2018-08-22 08:48:13 UTC
276880
276881         · 0fb9ccf60a Merge pull request #49239 from Ch3LL/win_yaml_test
276882
276883         · f5b42dbb24 import salt.utils.yaml
276884
276885         · 67290eaff7 Use yaml's safe_dump in windows ec2 tests
276886
276887       · PR #49182:  (terminalmage)  Fix  hanging  syndic  test  @  2018-08-18
276888         12:10:32 UTC
276889
276890         · 134f125b96  Merge  pull request #49182 from terminalmage/salt-jenk‐
276891           ins-1078
276892
276893         · a2d2cd317b Fix hanging syndic test
276894
276895       · PR  #49172:  (Ch3LL)  [2018.3.3]  cherry  pick  #49118  @  2018-08-17
276896         20:54:05 UTC
276897
276898         · PR  #49118:  (dwoz) Multiple fixes for integration.states.test_file
276899           (refs: #49172)
276900
276901         · PR #49088: (dwoz) Multiple file state test fixes (refs: #49118)
276902
276903         · PR #49087: (dwoz) Filter out scheme's that  are  not  valid  (refs:
276904           #49118)
276905
276906         · b3a247bfbb Merge pull request #49172 from Ch3LL/bp-49118
276907
276908         · ce5e17bdbd update is_windows salt.utils to correct path
276909
276910         · 3fef112409 Multiple fixes for integration.states.test_file
276911
276912       · PR  #49173:  (Ch3LL)  [2018.3.3]  cherry  pick  #49167  @  2018-08-17
276913         20:30:27 UTC
276914
276915         · PR #49167: (dwoz) Fix remaining file state integration tests  (py3)
276916           (refs: #49173, #49442)
276917
276918         · 85ffc8db87 Merge pull request #49173 from Ch3LL/bp-49167
276919
276920         · a1a298a13c Simplify dict keys lookup
276921
276922         · 3d26affa10 Fix remaining file state integration tests (py3)
276923
276924       · PR  #49171:  (Ch3LL)  [2018.3.3]  cherry  pick  #49103  @  2018-08-17
276925         20:23:32 UTC
276926
276927         · PR #49103: (dwoz) Install the launcher so we can execute  py  files
276928           (refs: #49171)
276929
276930         · ee54ea5f73 Merge pull request #49171 from Ch3LL/bp-49103
276931
276932         · 05a2b91fb2 Install the launcher so we can execute py files
276933
276934       · PR  #49132:  (Ch3LL)  [2018.3.3]  backport  PR  #49062  @  2018-08-17
276935         14:51:50 UTC
276936
276937         · PR #49062: (weswhet) fix memoize on available macOS services (refs:
276938           #49132)
276939
276940         · 58034c9dc3 Merge pull request #49132 from Ch3LL/bp-49062
276941
276942         · 990fdb6a52  decorator  link fix, updating context names, as well as
276943           updating macutils tests for latest changes
276944
276945         · 3ab5d282be fixing an issue with memoize on macOS services,  switch‐
276946           ing to useing __context__ instead
276947
276948       · PR  #49142: (Ch3LL) Remove -Z script_arg for cloud tests @ 2018-08-16
276949         16:12:59 UTC
276950
276951         · 01f8f83cf0 Merge pull request #49142 from Ch3LL/rm_z_arg
276952
276953         · a1ef6a88a6 Remove -Z script_arg for cloud tests
276954
276955       · PR #49137: (Ch3LL)  [2018.3.3]  Update  bootstrap  script  to  latest
276956         release (2018.08.15) @ 2018-08-15 19:49:22 UTC
276957
276958         · a03828884b Merge pull request #49137 from Ch3LL/bootstrap_2018.3.3
276959
276960         · eb9a612096  [2018.3.3]  Update  bootstrap  script to latest release
276961           (2018.08.15)
276962
276963       · PR #49110: (rallytime) [2018.3] Merge forward from 2017.7 to 2018.3 @
276964         2018-08-14 17:11:25 UTC
276965
276966         · b412bff534 Merge pull request #49110 from rallytime/merge-2018.3
276967
276968         · 4649f60209 Update old utils paths with new paths
276969
276970         · 49c2a784bb Merge branch '2017.7' into '2018.3'
276971
276972           · d46e23f4c2 Merge pull request #49109 from rallytime/merge-2017.7
276973
276974             · 3c5527f300 Merge branch '2017.7.8' into '2017.7'
276975
276976             · 01cf2c71ff Merge pull request #49051 from rallytime/bp-49046
276977
276978               · fc0817cb35 The osfullname grain differs when using Python2 vs
276979                 Python3, swapping this out for the "OS" grain which  is  con‐
276980                 sistent.
276981
276982           · 8954dd269f Merge pull request #49090 from dwoz/file_line_fix
276983
276984             · 0dca634e3c Search for (but do not include) CRLF line ending
276985
276986           · b99edc3dce Merge pull request #49088 from dwoz/file_hash_diffs
276987
276988             · 054afb8197 Multiple file state test fixes
276989
276990           · 274977b6c4      Merge      pull      request      #49087     from
276991             dwoz/url_file_test_fixes
276992
276993             · 632b65f975 Filter out scheme's that are not valid
276994
276995           · db5fb3232a Merge pull request #49086 from rallytime/new-doc-img
276996
276997             · 90954203cb Update the DOCBANNER image for saltconf
276998
276999           · af6ec1dce2 Merge pull request #49045 from twangboy/fix_43164
277000
277001             · 589456d08f Fix lint errors
277002
277003             · e79243566d Add rallytime's suggestions
277004
277005             · d1ae6b3d6d Fix docs for the registry module and state
277006
277007           · a840fea1a1  Merge  pull  request  #49083   from   rallytime/boot‐
277008             strap-2017.7
277009
277010             · 358e14cdac [2017.7] Update bootstrap script to latest release
277011
277012           · 9db6cd5654 Merge pull request #49059 from twangboy/fix_37984
277013
277014             · 7ed45b5b00 Remove import
277015
277016             · 7fb1edb469 Fix docs to clarify uptime output on Windows
277017
277018           · f9db72f00c    Merge    pull    request    #49061    from    salt‐
277019             stack/revert-48982-new_logo_2017.7
277020
277021             · 98a8da728b Revert "New logo 2017.7 (WIP)"
277022
277023           · bbcd1869ec   Merge    pull    request    #48982    from    newwe‐
277024             bash/new_logo_2017.7
277025
277026             · 5c1c311f77 Update Salt Conf ad
277027
277028             · 72dc63c426        Merge        branch        '2017.7'        of
277029               https://github.com/saltstack/salt into new_logo_2017.7
277030
277031             · 9f4e78a7b9 Revert "Update saltconf ad"
277032
277033             · 3ab8cdb882 Update saltconf ad
277034
277035       · ISSUE #48665: (dgengtek) salt-api auth ldap generates a  valid  token
277036         when using bindpw and an invalid request (refs: #48901)
277037
277038       · PR   #48901:   (garethgreenaway)   [2018.3]  fix  to  auth/ldap.py  @
277039         2018-08-14 16:10:19 UTC
277040
277041         · e78fc0e0eb   Merge   pull   request   #48901   from    garethgreen‐
277042           away/48665_auth_ldap_valid_token_failed_auth
277043
277044         · d4e4f2e803 Fixing a typo in a comment.
277045
277046         · 2eb167ea42  Fixing  issue when a valid token is generated even when
277047           invalid user credentials are passed.  This change verifies that the
277048           binddn  credentials  are  valid,  then verifies that the username &
277049           password (if not None) are also valid.
277050
277051       · ISSUE #49081: (frogunder) Fluorine - I see error/traceback when  run‐
277052         ning minion in debug mode  (refs: #49085)
277053
277054       · PR  #49099:  (rallytime)  Back-port  #49085  to  2018.3  @ 2018-08-14
277055         12:42:51 UTC
277056
277057         · PR #49085: (gtmanfred) fix async call  to  process  manager  (refs:
277058           #49099)
277059
277060         · 484c1e0123 Merge pull request #49099 from rallytime/bp-49085
277061
277062         · 024d9cb843 fix async call to process manager
277063
277064       · ISSUE #49018: (Ch3LL) add MasterPillarUtil tests (refs: #49034)
277065
277066       · PR  #49071:  (rallytime)  Back-port  #49034  to  2018.3  @ 2018-08-13
277067         20:15:31 UTC
277068
277069         · PR #49034: (garethgreenaway) [fluorine] Adding tests for MasterPil‐
277070           larUtil (refs: #49071)
277071
277072         · bc033da677 Merge pull request #49071 from rallytime/bp-49034
277073
277074         · 8108a4d31a  Adding some tests for the grains, pillar and mine func‐
277075           tions in the cache runner.  These will also ensure that  the  rele‐
277076           vant  functions in salt.utils.master.MasterPillarUtil are function‐
277077           ing properly.
277078
277079       · PR #49077:  (rallytime)  Back-port  #49075  to  2018.3  @  2018-08-13
277080         20:00:00 UTC
277081
277082         · PR #49075: (gtmanfred) fix last async issue (refs: #49077)
277083
277084         · 90c2f026b3 Merge pull request #49077 from rallytime/bp-49075
277085
277086         · 5e07b8306b fix last async issue
277087
277088       · PR  #49096:  (rallytime)  Update  the  DOCBANNER image for saltconf @
277089         2018-08-13 19:59:39 UTC
277090
277091         · 6942ef1102    Merge    pull    request    #49096    from     rally‐
277092           time/new-doc-img-2018.3
277093
277094         · 75080705ce Update the DOCBANNER image for saltconf
277095
277096       · PR #49055: (rallytime) [2018.3] Merge forward from 2017.7 to 2018.3 @
277097         2018-08-13 19:20:11 UTC
277098
277099         · 0e1ed7b923 Merge pull request #49055 from rallytime/merge-2018.3
277100
277101         · 83a15cb623 Add optimization_order config to mocked opts
277102
277103         · ea6883ee55 Update old utils paths to new utils paths
277104
277105         · 201031fa8a Merge branch '2017.7' into '2018.3'
277106
277107           · 0d2a495378 Merge pull request #49050 from rallytime/merge-2017.7
277108
277109             · ed6fb8b739 Merge branch '2017.7.8' into '2017.7'
277110
277111             · 189e28691f Merge pull request #49044 from Ch3LL/vultr_test
277112
277113               · 0dedfae4d1 increase timeout on vultr cloud integration test
277114
277115             · c606a32cf2   Merge   pull   request    #49042    from    rally‐
277116               time/flaky-jinja-test
277117
277118               · a43d9b4ba6 Mark a jinja template test as flaky
277119
277120             · 6415b6f73b Merge pull request #49041 from Ch3LL/ec2_fix
277121
277122               · cf7f2459b8 [2017.7.8] backport PR #48212
277123
277124             · 1db036406b    Merge    pull    request   #49030   from   rally‐
277125               time/update-client-tests
277126
277127               · f08ee6c6ae Update netapi client tests
277128
277129           · 70be9ac9b1  Merge   pull   request   #49046   from   garethgreen‐
277130             away/1022_fixing_test_failing_py3_Debian_test
277131
277132             · fa2339bb91  The  osfullname grain differs when using Python2 vs
277133               Python3, swapping this out for the "OS" grain which is  consis‐
277134               tent.
277135
277136           · 69c9b0afb1    Merge    pull    request    #49036    from   cspei‐
277137             del/doc-fix-netyang
277138
277139             · f7ac085eb5 minor doc fix in netyang.py
277140
277141           · c5f3fd6b2b Merge pull request #48997 from AVeenstra/patch-1
277142
277143             · 0e535f2c8c Unpacking dict with the six iterator
277144
277145             · 5e82685b89 Python 3 related fix in highstate_return.py
277146
277147           · c06a3cf531 Merge pull request #49021 from rallytime/merge-2017.7
277148
277149             · ca82b3d57a Merge branch '2017.7.8' into merge-2017.7
277150
277151               · f73ba21bc7   Merge   pull   request   #49024   from    rally‐
277152                 time/fix-deb-test
277153
277154                 · a9c16d9137 Fix test error in test_compiler jinja check
277155
277156             · c6f8429e41 Merge branch '2017.7.8' into '2017.7'
277157
277158             · 6b6d68c615    Merge    pull    request   #49020   from   rally‐
277159               time/fix-grains-test
277160
277161               · f72a3ac6be Make grains integration test more robust
277162
277163             · 92d6c25c7f   Merge   pull   request    #49002    from    rally‐
277164               time/skip-jinja-deep-error-test
277165
277166               · 23b66ef8bb Skip test_jinja_deep_error on Debian 8
277167
277168             · 41d9f11eb3    Merge    pull    request   #48999   from   rally‐
277169               time/fix-boto-test
277170
277171               · d0136b1be5 Update expected return value in boto test
277172
277173           · 2ddba6391a Merge pull request #49010 from Ch3LL/univention
277174
277175             · c09bce9afe Add univention OS to debian os_family mapping
277176
277177           · 41bd36842e   Merge   pull   request   #48636    from    terminal‐
277178             mage/loader-fixes
277179
277180             · 0441cd56ef Add optimization_order to mocking
277181
277182             · 2256fad320 Process pycache files after .py files
277183
277184             · a78663a301 Lint
277185
277186             · 0728b5f8b6  Add  note  about Python 3.5+ only support for opti‐
277187               mization_order
277188
277189             · 764969ce08 Add a test to  confirm  that  .py  files  are  still
277190               loaded correctly
277191
277192             · 0f60beb6b6 Fix bad copypasta
277193
277194             · fbcd142ea2 Add configuration docs for optimization_order config
277195               option
277196
277197             · 8af2d580f3 Only compile the  suffix_order/map  once  per  Lazy‐
277198               Loader instance
277199
277200             · 4b95e5f313 Don't put __pycache__ dir in the file list
277201
277202             · e7c10196da Quiet the byte compiling for PY2
277203
277204             · 9338370477 Add unit tests for loader optimization levels
277205
277206             · c3622933c1 PY3: Support different optimization levels
277207
277208             · 6fc8da5bab  Add  optimization_order  config option with default
277209               value
277210
277211             · dfe423a1e0 Remove commented-out log message
277212
277213       · PR #49084: (rallytime) [2018.3] Update  bootstrap  script  to  latest
277214         release @ 2018-08-13 18:14:42 UTC
277215
277216         · db7ec46875   Merge   pull   request   #49084  from  rallytime/boot‐
277217           strap-2018.3
277218
277219         · 28dc8ce954 [2017.7] Update bootstrap script to latest release
277220
277221       · PR #49052: (isbm) Python 3.7 support (backport 2018.3)  @  2018-08-13
277222         13:06:51 UTC
277223
277224         · b0d5acbe0d  Merge  pull request #49052 from isbm/isbm-python37-sup‐
277225           port-2018.3
277226
277227         · 4386a9ca1f Merge branch '2018.3' into isbm-python37-support-2018.3
277228
277229         · bc85a5fa98 Fix configuration setting
277230
277231         · 47078a300f Remove async keyword, moving it into the kwargs.
277232
277233         · 31dccc4fdf fix unicode literals
277234
277235         · 990936992c Keep runner API unchanged
277236
277237         · 46bafcafef Fix nag-message
277238
277239         · 5c887ac2ae Support original API
277240
277241         · 2c22e794d4 Use kwargs instead of directly named parameters
277242
277243         · 7d095491d9 Update docstring
277244
277245         · 9807e8dbb7 Add 'async' backward compatibility
277246
277247         · e8608aa9be Revert api call: it is about  "functionname_async"  suf‐
277248           fix.
277249
277250         · 0543578336 Deprecate 'async' parameter in Mandrill API
277251
277252         · 1107de0dec Lintfix: PEP8 requires two empty lines
277253
277254         · 2a18e335af Fix function signatures in Cassandra module
277255
277256         · 603f94e2a3 Cleanup docstrings at module level
277257
277258         · b9718d3a09 Fix log error/info/warning and exception messages
277259
277260         · 6e77aff69a Fix local opts from CLI
277261
277262         · 493e48ddb5  Remove  internal variables/properties with the reserved
277263           words
277264
277265         · be07f64bc4 Change internal function signatures  to  avoid  reserved
277266           word
277267
277268         · 7d095e0b26 Rename async function to asynchronous
277269
277270         · 35eaebb8a4 Fix docstrings
277271
277272         · 7a597f19b5 Fix comments
277273
277274         · 69920366ae Fix CLI config
277275
277276         · 173f3d7aa8 Fix docstring typo
277277
277278         · b7da571624 Fix imports
277279
277280         · 7ec3954bef Rename module to full wording
277281
277282       · ISSUE  #48557: (whytewolf) file.line in python3 on windows 2012 r2 is
277283         adding extra CR line endings.  (refs: #49026)
277284
277285       · PR #49026: (dwoz) Fix file.line line endings  @  2018-08-13  13:05:43
277286         UTC
277287
277288         · 338ecb70ef Merge pull request #49026 from dwoz/issue_48557
277289
277290         · a4d22fda2f  Merge  remote-tracking branch 'origin/issue_48557' into
277291           issue_48557
277292
277293           · 702e76cfc9 Merge branch '2018.3' into issue_48557
277294
277295         · 6cf93e8fc4 Skip newline in binary mode
277296
277297         · 2cf80c1595 Fix linter errors
277298
277299         · baf291b4c8 Fix file.line line endings
277300
277301       · PR #49038: (gtmanfred) disable enable_ssh_minions to  see  if  it  is
277302         slowing down 2018.3 tests @ 2018-08-10 18:07:59 UTC
277303
277304         · 602fed7806 Merge pull request #49038 from gtmanfred/slowtest
277305
277306         · 6bc44c91c4 remove localhost from tests
277307
277308         · 7b168a5aac  disable enable_ssh_minions to see if it is slowing down
277309           2018.3 tests
277310
277311       · ISSUE #48996: (jils2013) file.get_diff not work  on  version:2018.3.2
277312         (refs: #49033)
277313
277314       · PR  #49033:  (terminalmage)  Fix  file.get_diff  for  remote  files @
277315         2018-08-09 21:06:53 UTC
277316
277317         · 4eeb75f028 Merge pull request #49033 from terminalmage/issue48996
277318
277319         · 163aea71c8 Lint
277320
277321         · d6e5038022 Fix file.get_diff for remote files
277322
277323       · ISSUE #48856: (travispaul) Salt fails to start  on  NetBSD  8  (refs:
277324         #48926)
277325
277326       · PR #48926: (travispaul) Handle ifconfig output differently for NetBSD
277327         >= 8.0 @ 2018-08-09 20:07:44 UTC
277328
277329         · b24c96a292  Merge  pull  request  #48926  from  travispaul/fix-net‐
277330           bsd-8-new-ifconfig
277331
277332         · d59b6d8269 Add unit test for NetBSD 8 ifconfig changes
277333
277334         · 80f8a667d1 Handle ifconfig output differently for NetBSD >= 8.0
277335
277336       · PR #48803: (dmurphy18) Support for execution modules and states mount
277337         on AIX @ 2018-08-09 17:51:55 UTC
277338
277339         · 7d6b9ed0a5 Merge pull request #48803 from dmurphy18/aix_filesystems
277340
277341         · 92818f816b Fixes for testing
277342
277343         · 77dd7a1743 Adjust unit tests
277344
277345         · eaed033cde Updated for review comments and  adjusted  locking  when
277346           writing files
277347
277348         · 5bf9e6085b Update due to review comments
277349
277350         · 9fb5641dc7 Mount unit tests for modules and states for AIX
277351
277352         · b28f427432 Save off work after laptop issue
277353
277354         · e5c2741fe7 module and states mount support for AIX
277355
277356         · b701e16ad0 Further updates to support for mount on AIX
277357
277358         · 210076276f Initial support for handling /etc/filesystems on AIX
277359
277360       · ISSUE  #48496:  (icy)  Salt-key  unable  to  delete  the  certificate
277361         Test=True (refs: #48929)
277362
277363       · PR #48929: (terminalmage) 2 salt-key fixes @ 2018-08-09 17:50:07 UTC
277364
277365         · 2a38905a8a Merge pull request #48929 from terminalmage/issue48496
277366
277367         · 7ac10f9eac 2 salt-key fixes
277368
277369       · ISSUE #47481: (whytewolf) Oxygen:  task.add_trigger  with  start_date
277370         stating strptime needs a string not int. (refs: #49022)
277371
277372       · PR  #49022:  (dwoz)  Document time format idiosyncrasies @ 2018-08-09
277373         17:47:12 UTC
277374
277375         · bb9d23bfa1 Merge pull request #49022 from dwoz/47481_docs
277376
277377         · 313a3d93d6 Document time format idiosyncrasies
277378
277379       · PR #48932: (twangboy) Fix pkg.install when pkg  already  installed  @
277380         2018-08-09 17:45:51 UTC
277381
277382         · 9b6a9ff4f1 Merge pull request #48932 from twangboy/fix_win_repo
277383
277384         · 075ea29d29 remove .lower(), fix debug messages
277385
277386         · d7c2f476ac Remove current: version for latest as well
277387
277388         · 522ac26459 Fix typo in code comment
277389
277390         · 47b2898a85 return empty dict on no changes
277391
277392         · 6532706d2f Make the tests run on Linux
277393
277394         · cfe55a391a Add tests for pkg.install output
277395
277396         · 8ec058f498 Clarify code comment
277397
277398         · 8af2cfd54a Fix issues where current is not returned
277399
277400       · PR #49011: (rallytime) [2018.3] Merge forward from 2017.7 to 2018.3 @
277401         2018-08-09 17:34:18 UTC
277402
277403         · d7b7a92ef6 Merge pull request #49011 from rallytime/merge-2018.3
277404
277405         · 02670969d0 Apply fix to ssh init file that was there before merge
277406
277407         · 7e1f7915e4 Revert "Allow for not being prompted to supply  a  pass‐
277408           word to deploy keys to a minion with salt-ssh"
277409
277410         · 00416d54d1 Revert "add key-deploy test"
277411
277412         · c26fa0d6c4 Mark orchestration test as expensive
277413
277414         · fceb6d8d6f Update old utils paths to use new paths
277415
277416         · 3e6445a9d6 Merge branch '2017.7' into '2018.3'
277417
277418           · b49eeca6e9    Merge    pull    request    #49003    from   rally‐
277419             time/boto-test-2017.7
277420
277421             · 1a23bb233f Update expected return value in boto test
277422
277423           · 51eed1fdfb Merge pull request #48988 from rallytime/merge-2017.7
277424
277425             · df8699e2e7 Merge branch '2017.7.8' into '2017.7'
277426
277427             · a1e54634dc Merge pull request #48976 from rallytime/tornado
277428
277429               · 0bd838ab6c Skip unreliable tornado tests
277430
277431             · 22713be9c1 Merge pull request #48979 from rallytime/bp-48959
277432
277433             · 03aa0e49b0 Merge pull request #48970 from Ch3LL/back_48962
277434
277435               · 3ce1b8a3c9 Update the elif block to only be true for versions
277436                 below Debian 9.
277437
277438             · e6cea5e3c7 Merge pull request #48968 from rallytime/man-pages
277439
277440               · 64fe3be41a Update man pages for 2017.7.8 release
277441
277442           · 10fd4661ff Merge pull request #48978 from gtmanfred/2017.7
277443
277444             · 6108363f82 clean up gemfile
277445
277446           · 5b2423e527 Merge pull request #48959 from rallytime/flaky-tests
277447
277448             · aaf986d728  Mark  one  grains test as flaky & convert to pytest
277449               notation
277450
277451             · e7e5abcf48 Mark 2 matcher tests as flaky
277452
277453           · 79994ecab4  Merge   pull   request   #48962   from   garethgreen‐
277454             away/1022_test_service_disable_debian_part_deux
277455
277456             · 9e71551b36  Update  the elif block to only be true for versions
277457               below Debian 9.
277458
277459           · 1a1bda00cb     Merge      pull      request      #48960      from
277460             dwoz/block_replace_tests
277461
277462             · 94ac2b4fc7 Multiple block replace test fixes
277463
277464           · 93b862f350   Merge   pull   request  #48957  from  whytewolf/bea‐
277465             cons_log_doc_change
277466
277467             · a77fd16869 Update salt.beacons.log to reflect that re module is
277468               used for matching.
277469
277470           · 0245cffb07  Merge  pull  request  #48955  from  terminalmage/ser‐
277471             vice-systemd
277472
277473             · 23f87bd536  Don't  load  service.py  if  minion  is  running  a
277474               non-sysvinit init system
277475
277476           · 848d583438  Merge  pull  request  #48950  from KaiSforza/kitchen‐
277477             fix-2017.7
277478
277479             · 5242cb143a Added a quote to kitchen Jenkinsfiles
277480
277481           · 928d688d65 Merge pull request #48943 from rallytime/flaky-tests
277482
277483             · 668da57ab9 Mark some shell  and  runner  integration  tests  as
277484               flaky
277485
277486           · cd42510d3a Merge pull request #48940 from rallytime/bp-48852
277487
277488             · fa4ef92e79 Record all the artifacts from the build
277489
277490           · 43649a68be   Merge   pull   request   #48935   from  garethgreen‐
277491             away/1045_test_pkg_015_installed_held_centos
277492
277493             · 0bb10107b6       Merge       branch        '2017.7'        into
277494               1045_test_pkg_015_installed_held_centos
277495
277496             · 24d5e6a22f  Fixing  the  test_pkg_015_installed_held test to be
277497               able to successfully run on CentOS
277498
277499           · 2421e2a570 Merge pull request #47100 from gtmanfred/ssh
277500
277501             · 5b443af7ae add key-deploy test
277502
277503             · a131c9beeb Allow for not being prompted to supply a password to
277504               deploy keys to a minion with salt-ssh
277505
277506           · d541bd6446      Merge      pull      request      #48891     from
277507             damon-atkins/2017.7_win_pkg.list_pkgs_not_found
277508
277509             · a4af1dbfb1 Fix win_pkg issues  introduced  Jan  2018.  If  Dis‐
277510               playVersion  does  not  exist  it should return version as "Not
277511               Found"
277512
277513           · 5f6a56f5dc Merge pull request #48896 from rallytime/bp-48730
277514
277515             · 57aa204c9d Merge branch '2017.7' into bp-48730
277516
277517             · 4995922584 Forgot variable in signature
277518
277519             · 0503bc18b6 Fix batch install using pkgng
277520
277521           · 0c64bba865  Merge   pull   request   #48933   from   garethgreen‐
277522             away/1022_debian_8_failing_service-test
277523
277524             · 280d1d2ad2  Fixing  failing test, integration.modules.test_ser‐
277525               vice.ServiceModuleTest.test_service_disable_doesnot_exist,   on
277526               Debian 8 and higher.
277527
277528           · 0c3d2c6a09    Merge    pull    request    #48922    from   rally‐
277529             time/cache-doc-error
277530
277531             · 8ca89df7e8 Update backticks on job_cache docs
277532
277533           · 8d1fc4f8e5 Merge pull request #48866 from Ch3LL/cmd_win_tests
277534
277535             · 905da13653 Merge branch '2017.7' into cmd_win_tests
277536
277537           · 57d58e7541   Merge    pull    request    #48920    from    rally‐
277538             time/bp-48904-2017.7
277539
277540             · a55f92954a No rehashing in parallel
277541
277542             · 3be11e06fe Add docs for new escape kwarg
277543
277544             · 391bb8a411 use a specific path for just the cmd._run call
277545
277546             · 62c66ba489 make sure we lower the check on shell
277547
277548             · 9312a993a5 Add cmd module integration tests for windows and fix
277549               space in path issue
277550
277551       · ISSUE #48123: (c-wicklein) file.directory with recurse fails when  it
277552         encounters a broken symbolic link (refs: #48985)
277553
277554       · PR  #48985: (garethgreenaway)  [2018.3] Fix to salt/modules/file.py @
277555         2018-08-09 15:03:09 UTC
277556
277557         · 3325b7d4c0   Merge   pull   request   #48985   from    garethgreen‐
277558           away/48123_file_directory_recurse_fails_broken_symlink
277559
277560         · 10c4eca206    Merge    branch   '2018.3'   into   48123_file_direc‐
277561           tory_recurse_fails_broken_symlink
277562
277563         · a404cc030f Fixing the issue when  using  the  file.directory  state
277564           with recurse if the directory contains a broken symbolic link. This
277565           fix adds an additional conditional, is_link, before running  lsattr
277566           since  lsattr does not work on symlinks and causes issues when that
277567           symlink is broken.
277568
277569       · ISSUE #47695: (AmbicaY) Continuous error in  the  proxy  minion  logs
277570         (refs: #49019)
277571
277572       · PR  #49019:  (garethgreenaway)  [2018.3] Fix to scheduler when global
277573         enabled key is present @ 2018-08-09 13:06:26 UTC
277574
277575         · d353c02a8c   Merge   pull   request   #49019   from    garethgreen‐
277576           away/47695_fixing_scheduler_bug_when_enabled_is_present
277577
277578         · aff1b8f6d4 Lint.
277579
277580         · 8935c08141 Fixing a bug that occurs if the "enabled" key is present
277581           in the scheduler items dictionary.  Adding a test to ensure  sched‐
277582           uler runs as expected when that key is present.
277583
277584       · PR #49023: (The-Loeki) Salt SSH appends IdentityFile=agent-forwarding
277585         @ 2018-08-09 12:55:59 UTC
277586
277587         · a56bc7ffb9 Merge pull request #49023 from The-Loeki/patch-1
277588
277589         · 8b53571c70 Salt SSH appends IdentityFile=agent-forwarding
277590
277591       · PR #48981: (Ch3LL) Add warning to mac runas docs about escaping char‐
277592         acters @ 2018-08-08 19:43:43 UTC
277593
277594         · 4590494b50 Merge pull request #48981 from Ch3LL/mac_runas_quote
277595
277596         · 8269b55b84 remove unnecessary spaces in cmdmod.py docs
277597
277598         · 757daf7d7e add runas macosx warning in 2018.3.3 release notes
277599
277600         · 4e9e985b14 Add warning to mac runas docs about escaping characters
277601
277602       · PR  #49004:  (rallytime)  Port #48999 to 2018.3 @ 2018-08-08 15:32:46
277603         UTC
277604
277605         · PR #48999: (rallytime) Update expected return value  in  boto  test
277606           (refs: #49004, #49003)
277607
277608         · b87bf905c2     Merge    pull    request    #49004    from    rally‐
277609           time/boto-test-2018.3
277610
277611         · 9f0b9a1073 Update expected return value in boto test
277612
277613       · PR #48987: (twangboy) Fix issue  with  win_iis.create_cert_binding  @
277614         2018-08-08 13:29:06 UTC
277615
277616         · 630f61e625 Merge pull request #48987 from twangboy/fix_48786
277617
277618         · 86d0836f90 Fix issue with iterating over None
277619
277620       · ISSUE #48777: (jonasgit) file.recurse fails on file contents encoding
277621         not utf-8 (refs: #48934)
277622
277623       · PR #48934: (terminalmage) Properly handle latin-1  encoding  in  file
277624         diffs @ 2018-08-07 21:02:24 UTC
277625
277626         · ab1a713bc3 Merge pull request #48934 from terminalmage/issue48777
277627
277628         · 52c64e4d51 Fix to_unicode test
277629
277630         · e2d19f40b6 Only try latin-1 from get_diff instead of by default
277631
277632         · d39fa889f3 Add stringutils.get_diff to mocks
277633
277634         · 5b191c9120 Fix incorrect use of __salt__ when __utils__ is needed
277635
277636         · 53ba10ad5f Skip pylint false-positives
277637
277638         · f14f4dae22 Add unit test for latin-1 fallback, multi-encoding
277639
277640         · 906644a80f PY3 scoping fix
277641
277642         · 726dd4331f Add integration test for latin-1 file diffs
277643
277644         · 2dd1f31d23 Use BASE_FILES instead of redundant STATE_DIR
277645
277646         · 612ffb5fe8 Use new get_diff helper in file module
277647
277648         · c632265802 Make to_unicode/to_str/to_bytes helpers attempt latin-1
277649
277650         · 2a0cb49b01 Add get_diff to salt.utils.stringutils
277651
277652       · ISSUE  #47766:  (zerthimon)  salt-cloud:  openstack  driver: crash on
277653         instance creation (refs: #48956)
277654
277655       · PR #48956: (gtmanfred) if booted from volume, use string from image @
277656         2018-08-07 16:39:45 UTC
277657
277658         · bad995462c Merge pull request #48956 from gtmanfred/openstack
277659
277660         · 4cb1636c4b if booted from volume, use string from image
277661
277662       · ISSUE   #48306:  (davidscholberg)  Documentation  update  for  custom
277663         returners used for master job cache (refs: #48319)
277664
277665       · PR #48319: (gtmanfred)  don't  break  older  returners  right  now  @
277666         2018-08-06 13:19:43 UTC
277667
277668         · 71f587edd7 Merge pull request #48319 from gtmanfred/jid
277669
277670         · 084e7f0ef4 Merge branch '2018.3' into jid
277671
277672         · 60661b4cd0 document minions required on save_load
277673
277674         · a8c243071d document passing in minions
277675
277676         · d49381c0b6 don't break save_load backwards compat
277677
277678         · cfcacf953a don't break older returners right now
277679
277680       · PR  #48941:  (rallytime)  Back-port  #48912  to  2018.3  @ 2018-08-06
277681         13:09:38 UTC
277682
277683         · PR #48912: (maxim-sermin) make jboss7.py compatible  with  2018.3.0
277684           and later (refs: #48941)
277685
277686         · 1623e53ef4 Merge pull request #48941 from rallytime/bp-48912
277687
277688         · 3f55b2f89e make jboss7.py compatible with 2018.3.0 and later
277689
277690       · PR  #48897:  (rallytime)  Back-port  #48863  to  2018.3  @ 2018-08-05
277691         19:15:51 UTC
277692
277693         · PR #48863: (admd) Decode file contents for python2 as  well  (refs:
277694           #48897)
277695
277696         · 070af9d925 Merge pull request #48897 from rallytime/bp-48863
277697
277698         · 0ee1940232 Merge branch '2018.3' into bp-48863
277699
277700         · f40b966d99 decode file contents for python2 as well
277701
277702       · PR  #48928:  (Ch3LL)  fix  test_runas  integration  test for macosx @
277703         2018-08-05 14:24:13 UTC
277704
277705         · abd7f1312d Merge pull request #48928 from Ch3LL/mac_runas
277706
277707         · 3d6455dbcd remove unecessary comment in setup
277708
277709         · 8e30db0217 move destructivetest to testname
277710
277711         · 708dec8740 add destructivetest to setup and teardown for runas test
277712
277713         · c0730ff968 fix test_runas integration test for macosx
277714
277715       · PR #48899: (Ch3LL) remove base_top_file  file  in  teardown  and  add
277716         sleep @ 2018-08-05 14:23:42 UTC
277717
277718         · dbd300ff70 Merge pull request #48899 from Ch3LL/unit_state
277719
277720         · 0272cadff8 Merge branch '2018.3' into unit_state
277721
277722         · 5896c7fc36 remove base_top_file file in teardown and add sleep
277723
277724       · PR #48898: (rallytime) [2018.3] Merge forward from 2017.7 to 2018.3 @
277725         2018-08-05 14:23:19 UTC
277726
277727         · ffa1fcc682 Merge pull request #48898 from rallytime/merge-2018.3
277728
277729         · 1f093cef4a Merge branch '2018.3' into merge-2018.3
277730
277731         · b3a5aa49d7 Merge branch '2017.7' into '2018.3'
277732
277733           · e79ccb35b1 Merge pull  request  #48876  from  Vaelatern/make-net‐
277734             work-learning-optional
277735
277736             · a4905b0e5d Make IP_LEARNING optional
277737
277738           · f8bfab4f9f Merge pull request #48890 from Ch3LL/cmd_test
277739
277740             · acda4ed9ab add sleep in test_cmd integration test
277741
277742           · 52722f6ded    Merge    pull    request    #48885    from   rally‐
277743             time/flaky-tests-shadow
277744
277745             · da871a2d57 Mark shadow module integration test as flaky
277746
277747           · bf0895656e   Merge    pull    request    #48884    from    rally‐
277748             time/flaky-tests-matchers
277749
277750             · 38d9eae537 Merge branch '2017.7' into flaky-tests-matchers
277751
277752           · a567666938    Merge    pull   request   #48868   from   terminal‐
277753             mage/fix-loader-race
277754
277755             · 5f1169b9a2 Fix race when SIGTERM/SIGINT  received  while  lazy‐
277756               loading a module
277757
277758           · 0ca0b6f2f2 Merge pull request #48883 from terminalmage/salt-jenk‐
277759             ins-1023
277760
277761             · c61f75cb50 Fix failing git worktree tests
277762
277763                  · 3660dff13c Separate compound matcher tests into individual
277764                    tests
277765
277766           · a84f5155a1 Merge pull request #48869 from Ch3LL/mac_shell_tests
277767
277768             · 3734b1ec89 Catch socket.error exception in testprogram
277769
277770           · 7f56b8bf44  Merge  pull  request  #48867 from rallytime/skip-tor‐
277771             nado-test
277772
277773             · 7320aa9104 Skip unreliable tornado test.
277774
277775       · PR #48893: (Ch3LL) handle when  ca_certs  is  None  in  utils.http  @
277776         2018-08-03 20:30:48 UTC
277777
277778         · 848e26ed0b Merge pull request #48893 from Ch3LL/http_tests
277779
277780         · 16d251f7ff Merge branch '2018.3' into http_tests
277781
277782         · 5674dddb2a handle when ca_certs is None in utils.http
277783
277784       · PR  #48903:  (Vaelatern)  Wrap ElementTree.tostring to make strs, not
277785         bytes @ 2018-08-03 19:12:34 UTC
277786
277787         · PR #48877: (Vaelatern) Wrap ElementTree.tostring to make strs,  not
277788           bytes (refs: #48903)
277789
277790         · f1adf56017     Merge     pull     request    #48903    from    Vae‐
277791           latern/improve-salt-cloud-python3-virt
277792
277793         · c45447fe0b Wrap ElementTree.tostring to make strs, not bytes
277794
277795       · PR #48900: (Ch3LL) skip getpwnam check on mac in unit  test_cmdmod  @
277796         2018-08-03 16:38:51 UTC
277797
277798         · d23471262d Merge pull request #48900 from Ch3LL/cmd_unit
277799
277800         · b82dd708be skip getpwnam check on mac in unit test_cmdmod
277801
277802       · PR  #48921:  (rallytime)  Back-port  #48904  to  2018.3  @ 2018-08-03
277803         15:17:15 UTC
277804
277805         · PR #48904: (KaiSforza) No  rehashing  in  parallel  (refs:  #48921,
277806           #48920)
277807
277808         · d622a49b58 Merge pull request #48921 from rallytime/bp-48904
277809
277810         · b504625f61 No rehashing in parallel
277811
277812       · PR  #48877:  (Vaelatern)  Wrap ElementTree.tostring to make strs, not
277813         bytes (refs: #48903) @ 2018-08-02 19:28:56 UTC
277814
277815         · 1e150923aa    Merge    pull    request     #48877     from     Vae‐
277816           latern/improve-salt-cloud-libvirt-python3-libvirt
277817
277818         · fb7885315c Wrap ElementTree.tostring to make strs, not bytes
277819
277820       · PR #48824: (rallytime) Bump deprecation in win_servermanager state to
277821         Neon @ 2018-08-02 18:01:34 UTC
277822
277823         · 1fb7d9431b Merge pull request #48824 from  rallytime/win_serverman‐
277824           ager_deprecations
277825
277826         · 6ef5412528 Bump deprecation in win_servermanager state to Neon
277827
277828       · ISSUE  #37512: (ChristianBeer) What's the precedence if multiple mas‐
277829         ter configurations are specified? (refs: #48888)
277830
277831       · PR #48888: (terminalmage) Explictly document the configuration  over‐
277832         ride priority @ 2018-08-02 16:57:18 UTC
277833
277834         · ec8e07e8ce Merge pull request #48888 from terminalmage/issue37512
277835
277836         · 7dce7cde14 Explictly document the configuration override priority
277837
277838       · PR  #48871: (dwoz) Remove unicode key pairs from environ after test @
277839         2018-08-01 22:33:41 UTC
277840
277841         · d4bb3a0963 Merge pull request #48871 from dwoz/test_cleanup
277842
277843         · f2e15e7f1d Do not re-define tearDown
277844
277845         · 4f8a191a69 Remove unicode key pairs from environ after test
277846
277847       · PR #48843: (isbm) Prevent u'something' to appear  in  help  info.   @
277848         2018-08-01 20:38:58 UTC
277849
277850         · bec79e83a3       Merge      pull      request      #48843      from
277851           isbm/isbm-log-level-names-fix-2
277852
277853         · a63686180d Merge branch '2018.3' into isbm-log-level-names-fix-2
277854
277855         · 783c96ac72 Prevent u'something' to appear in help info.
277856
277857       · PR #48855: (rallytime) [2018.3] Merge forward from 2017.7 to 2018.3 @
277858         2018-08-01 17:44:59 UTC
277859
277860         · a8376b537a Merge pull request #48855 from rallytime/merge-2018.3
277861
277862         · 44998c208e Lint: Fix undefined logger variable
277863
277864         · 92c9317a25 Update old utils paths to use new paths
277865
277866         · 15bfba7143 Merge branch '2017.7' into '2018.3'
277867
277868           · 05f2d65de3 Merge pull request #48853 from rallytime/bp-48850
277869
277870             · 3c33ee554a Skip tests in integration.shell.test_master
277871
277872           · 8a1285239a   Merge   pull   request   #48426   from  garethgreen‐
277873             away/46689_fixing_pkg_held_when_package_is_installed
277874
277875             · 9b0f5dd212 Fixing identation, removing some unnecessary  condi‐
277876               tionals.
277877
277878             · 727964ab55 One last cleanup.
277879
277880             · 11cb86e6eb  General  cleanup  in  pkg state, reducing duplicate
277881               code.  Fixing the requires_salt_modules decorator, sys.doc  was
277882               returning  too  much information for the event to handle.  This
277883               change specifically calls sys.doc with the module name.
277884
277885             · 16fb6ae635 Make sure  pkg.hold  and  pkg.unhold  are  available
277886               before running the test.
277887
277888             · 998651102d  Fixing  a  situation  when  a  package  is  already
277889               installed via salt or manually and a state attempts to set that
277890               package to be held.  Previously the holding/unholding logic was
277891               only being run against  packages  that  were  being  installed.
277892               This change moves the holding logic outside and runs it against
277893               all desired packages.  Adding a new test to test holding logic.
277894
277895           · c8e69431ff   Merge   pull   request   #47734   from    OrlandoAr‐
277896             capix/Issue47689-pip-state-performance
277897
277898             · 662bd1f780 Merge branch '2017.7' into Issue47689-pip-state-per‐
277899               formance
277900
277901             · 66936b4f41 Changed string comparison in pip test to  match  new
277902               confirmation string - ref PR #47734.
277903
277904             · bb5939d6ef Merge branch '2017.7' into Issue47689-pip-state-per‐
277905               formance
277906
277907             · d6a49ae41c Merge branch '2017.7' into Issue47689-pip-state-per‐
277908               formance
277909
277910             · d4083fc9d1  Merge  branch 'Issue47689-pip-state-performance' of
277911               github.com:OrlandoArcapix/salt  into  Issue47689-pip-state-per‐
277912               formance
277913
277914               · 779b5fa785       Merge       branch       '2017.7'       into
277915                 Issue47689-pip-state-performance
277916
277917             · f3653349ab Removed whitespaces at end of added comments lines
277918
277919             · db11f2ff4b Merge branch '2017.7' into Issue47689-pip-state-per‐
277920               formance
277921
277922             · eac0178de2  Ref:  #47689  - document additional kwarg passed to
277923               pip._check_if_installed function
277924
277925             · 0d19803106 Merge branch '2017.7' into Issue47689-pip-state-per‐
277926               formance
277927
277928             · d3678bf2f3 #47689 fix lint errors
277929
277930             · 4fec8f6bcc #47698 improve run-speed of pip package state checks
277931               by only loading the current package  list  once  when  checking
277932               multiple packages
277933
277934           · 83a5b3cc47    Merge    pull    request    #48844    from   AVeen‐
277935             stra/fix-python3-incompatibility
277936
277937             · f238779a62 Merge branch '2017.7' into fix-python3-incompatibil‐
277938               ity
277939
277940             · 6b1805afc6   Fixed  Python  3  incompatibility  in  methods  in
277941               nilrt_ip and debian_ip.
277942
277943           · 136ff6735a  Merge  pull  request  #48662  from   slaws/fix-reten‐
277944             tion-schedule-48637
277945
277946             · 3c8f5f5b3d pylint fix
277947
277948             · 5539eff39e   Excluding   relative   dirs  in  state.file.reten‐
277949               tion_schedule
277950
277951           · 1fc04f281b Merge pull request #48840 from gtmanfred/docs
277952
277953             · 8d2d268c4a fix links in pkg doc.
277954
277955           · 0a19f845ea Merge pull request #48834 from gtmanfred/slsutil
277956
277957             · f9441d2bef read output of stringio if it is readable
277958
277959           · 2e00939a6e Merge pull request #48788 from Ch3LL/timezone_windows
277960
277961             · de95a6a215 add unused import to timezone test file
277962
277963             · 22e424859e add unused import to import
277964
277965             · 0840fc3117 disable pylint import error
277966
277967             · f09d1a2c7e  Add  timzeon  windows  integration  tests  and  fix
277968               get_zone
277969
277970       · ISSUE  #48659:  (dstoliker)  file.grep with glob (*) in path produces
277971         file not found error (refs: #48830)
277972
277973       · PR #48830: (garethgreenaway) [2018.3] Fixes to file.grep @ 2018-07-31
277974         21:30:04 UTC
277975
277976         · e23ba01cd2    Merge   pull   request   #48830   from   garethgreen‐
277977           away/48659_file_grep_glob_fix
277978
277979         · 0791b0a03c FileGrepTestCase tests back to 2018.3
277980
277981         · 2e01c55e7e Fixing a bug  that  prevents  specifying  wildcards  for
277982           filenames.
277983
277984       · PR  #48814:  (isbm)  dmidecode  race  conditions  check  @ 2018-07-31
277985         20:48:29 UTC
277986
277987         · 9fda70b3d0      Merge      pull      request      #48814       from
277988           isbm/isbm-2018.3-smbios-bugfix
277989
277990         · 5f1141dc05 Merge branch '2018.3' into isbm-2018.3-smbios-bugfix
277991
277992         · b00ee5feef Update clean clause
277993
277994         · b1b2e9c222  Remove  multiple  returns and combine logic to just one
277995           clause
277996
277997         · fd77f760ee Rephrase explanatory comment
277998
277999         · 1031e06443 Remove unnecessary code
278000
278001         · c379b7e4ed Get rid of global variable
278002
278003       · PR #48804: (Ch3LL) Use brew path from which cmd in mac_brew module  @
278004         2018-07-31 20:24:33 UTC
278005
278006         · 3d16a63ff2 Merge pull request #48804 from Ch3LL/mac_brew
278007
278008         · e818c752b3 Merge branch '2018.3' into mac_brew
278009
278010         · 41e3d17f29 Use brew path from which cmd in mac_brew module
278011
278012       · PR  #48836:  (dwoz) Fix unicode directory listing on py2 @ 2018-07-31
278013         20:22:53 UTC
278014
278015         · 950c1014aa Merge pull request #48836 from dwoz/unicode_names_py2
278016
278017         · 47e158b9f0 Optomize if statement
278018
278019         · 9b462394b2 Fix unicode directory listing on py2
278020
278021       · PR #48847: (terminalmage) Update file.blockreplace  docs  to  reflect
278022         changed functionality @ 2018-07-31 18:11:30 UTC
278023
278024         · baf8c5784a Merge pull request #48847 from terminalmage/issue48695
278025
278026         · e2bdf7fb92  Update  file.blockreplace docs to reflect changed func‐
278027           tionality
278028
278029       · PR #48587: (twangboy) Fix lgpo issue on Py3 @ 2018-07-31 18:05:58 UTC
278030
278031         · 644a1f4ff8 Merge pull request #48587 from twangboy/fix_lgpo
278032
278033         · a42621c817 Write file in normal mode
278034
278035         · bfcbdeca3b Fix lgpo issue on Py3
278036
278037       · PR #48796: (Ch3LL)  Remove  fake  su  used  in  integration  tests  @
278038         2018-07-31 17:08:54 UTC
278039
278040         · 2bacc23481 Merge pull request #48796 from Ch3LL/remove_su
278041
278042         · d3b7f2cb18 Remove fake su used in integration tests
278043
278044       · ISSUE  #38310:  (ghost)  Unable  to checkout external pillar git repo
278045         using its git tag (refs: #48689)
278046
278047       · PR  #48689:  (linoplt)  Fix  ext_pillar  remote  checkout  using  tag
278048         (pygit2) @ 2018-07-31 16:15:58 UTC
278049
278050         · 00d06bda76     Merge     pull    request    #48689    from    lino‐
278051           plt/fix_38310_pygit2_checkout_ext_pillar_remote_using_tag
278052
278053         · eb4361dcc2  Merge  branch  '2018.3'  into   fix_38310_pygit2_check‐
278054           out_ext_pillar_remote_using_tag
278055
278056         · c20977e3bc   Merge  branch  '2018.3'  into  fix_38310_pygit2_check‐
278057           out_ext_pillar_remote_using_tag
278058
278059         · b0157c215b Fix ext_pillar remote checkout using tag (pygit2)
278060
278061       · PR #48838: (sizgiyaev) Fixed: added additional return  code  200  for
278062         succeeded vault api request @ 2018-07-31 16:14:22 UTC
278063
278064         · 5e14e36195  Merge pull request #48838 from sizgiyaev/fix-vault-pol‐
278065           icy-state
278066
278067         · 02d09c6281 Fixed: added additional return code  200  for  succeeded
278068           api request
278069
278070       · PR  #48714:  (dwoz)  Always  transfer  bytes  from fileserver roots @
278071         2018-07-30 22:37:13 UTC
278072
278073         · 69f81214d1 Merge pull request #48714 from dwoz/state_echo_fix
278074
278075         · ce3ed43dab Always use unix line endings
278076
278077         · d5e60090bc Merge pull request #2 from terminalmage/state_echo_fix
278078
278079           · 52fc1c955d Simplify file contents in roots fileserver test
278080
278081           · b6f73e8e57 Remove trailing whitespace on what should be  a  blank
278082             line
278083
278084         · 95329acb1e Fileserver transfers bytes
278085
278086         · aa34a80997 Always trasfer bytes from fileserver roots
278087
278088       · PR  #48822: (Ch3LL) Fix salt-ssh state.sls_id TypeError key must be a
278089         string @ 2018-07-30 20:29:29 UTC
278090
278091         · 16ca4ec2eb Merge pull request #48822 from Ch3LL/ssh_2018_id
278092
278093         · 01f6a15da0 Fix salt-ssh state.sls_id TypeError key must be a string
278094
278095       · ISSUE  #47999:  (arthurlogilab)  Carbon  returner  failing  when  run
278096         through scheduler on log.trace (refs: #48757)
278097
278098       · PR  #48791:  (rallytime)  Back-port  #48757  to  2018.3  @ 2018-07-27
278099         21:30:44 UTC
278100
278101         · PR #48757: (kuetrzi) Update carbon_return.py (refs: #48791)
278102
278103         · 488f6716d4 Merge pull request #48791 from rallytime/bp-48757
278104
278105         · f440ebe91f Update carbon_return.py
278106
278107       · PR #48799: (rallytime) [2018.3] Merge forward from 2017.7 to 2018.3 @
278108         2018-07-27 21:30:13 UTC
278109
278110         · fae29f4257 Merge pull request #48799 from rallytime/merge-2018.3
278111
278112         · 487458ad4b Update old utils paths to use new utils paths
278113
278114         · 436510796f Merge branch '2017.7' into '2018.3'
278115
278116           · 8e61f3dce0 Merge pull request #48742 from frogunder/45014
278117
278118             · f08058b043         Merge        branch        '45014'        of
278119               https://github.com/frogunder/salt into 45014
278120
278121               · 757fde70c6 Merge branch '2017.7' into 45014
278122
278123             · 33c20c1ec0 fix tests
278124
278125             · a7a914060d add windows integration tests for states.file
278126
278127           · d74f47b340 Merge pull request #48795 from rallytime/fix-48417
278128
278129             · 5123b17ffd Update linting docs to contain .testing.pylintrc use
278130
278131           · bbea9ae936 Merge pull request #48789 from rallytime/bp-48783
278132
278133             · 682a05bebe Threshold was wrong
278134
278135             · d4ca0e3a97 test: except for OSError only
278136
278137             · 4547231909 Only run lint checks against changed files
278138
278139           · 41464d4b39  Merge  pull  request  #48731  from  zer0def/virt-run‐
278140             ner-init-args
278141
278142             · a1fa081ad0  Documentation  to  missing  parameters in virt.init
278143               runner.
278144
278145             · 365ebdf539  Fixed  enable_vnc  runner  arg  being  passed  into
278146               seed_cmd module arg in virt.init.
278147
278148           · 169afea16a Merge pull request #48749 from Ch3LL/logo_docs
278149
278150             · 73b1fc29f0 Update Saltstack Logo banner on docs.saltstack.com
278151
278152       · ISSUE   #48020:   (calvinhp)   mine.get   not  returning  data  in  a
278153         state.orchestrate sls  (refs: #48765)
278154
278155       · PR #48765: (FedericoCeratto) [2018.3] Fix mine.get not returning data
278156         @ 2018-07-27 18:01:06 UTC
278157
278158         · bd67d2a805    Merge   pull   request   #48765   from   FedericoCer‐
278159           atto/fix_mine.get_not_returning_data
278160
278161         · 7183a6e0e8 Workaround for #48020
278162
278163       · PR #48747: (rallytime) [2018.3] Merge forward from 2017.7 to 2018.3 @
278164         2018-07-26 18:14:34 UTC
278165
278166         · 6978ce5d1d Merge pull request #48747 from rallytime/merge-2018.3
278167
278168         · 4122da40b5 Merge branch '2017.7' into '2018.3'
278169
278170           · 781c6a6c36   Merge   pull  request  #48743  from  rallytime/salt‐
278171             conf-ad-2017.7
278172
278173             · 6df8fd8652 Update DOCBANNER with new SaltConf18 image
278174
278175           · ce4e22224e Merge pull request #48720 from Ch3LL/mac_file_path
278176
278177             · 01d25fae19  Fix  test_managed_source_hash_indifferent_case   on
278178               macosx to correct tmp path
278179
278180           · 4b9f037d43 Merge pull request #48719 from Ch3LL/service_mac_state
278181
278182             · f44a2fc349 Enable service if disabled before running state ser‐
278183               vice tests
278184
278185           · b2431eab10 Merge pull request #48715 from rallytime/flaky-tests
278186
278187             · 7332cce567 [2017.7] Mark some tornado tests as flaky
278188
278189           · 801eae3b8d Merge pull request #48672 from frogunder/45012
278190
278191             · 0747f2e58a add service enabled test
278192
278193       · ISSUE #48676: (djneades) salt-ssh should not target wrong minion from
278194         roster file as a result of reverse-DNS lookups (refs: #48771)
278195
278196       · PR #48771: (gtmanfred) only do reverse dns lookup on ips for salt-ssh
278197         @ 2018-07-26 15:41:40 UTC
278198
278199         · 5ea43817ab Merge pull request #48771 from gtmanfred/2018.3
278200
278201         · 535fb8f8e7 only do reverse dns lookup on ips for salt-ssh
278202
278203       · PR #48752: (garethgreenaway) [2018.3] Fix when state file is integers
278204         @ 2018-07-25 15:03:02 UTC
278205
278206         · f2ef2d3ef6    Merge   pull   request   #48752   from   garethgreen‐
278207           away/fix_state_file_all_integers
278208
278209         · 790801c67e Fixing a case where the state module would fail  if  the
278210           state  file  being  passed was all integers.  Added a new tests for
278211           this edge case.
278212
278213       · ISSUE #46896: (Poil) Proxy + file.managed => Comment: Failed to cache
278214         xxx invalid arguments to setopt (refs: #48754)
278215
278216       · PR  #48754:  (lomeroe)  send proxy/ca_cert parameters as strings (not
278217         unicode) to tornado httpclient @ 2018-07-25 14:55:42 UTC
278218
278219         · 030c921914 Merge pull request #48754 from lomeroe/fix-tornado-proxy
278220
278221         · d33056704b  pass  proxy_user,   proxy_password,   proxy_host,   and
278222           ca_certs through salt.utils.stringutils.to_str()
278223
278224       · PR #48769: (Ch3LL) Update Saltstack Logo banner on docs.saltstack.com
278225         @ 2018-07-25 14:47:19 UTC
278226
278227         · 1eee4b136b Merge pull request #48769 from Ch3LL/update_doc_2018.3
278228
278229         · 0cb4bac798 Update Saltstack Logo banner on docs.saltstack.com
278230
278231       · PR #48760: (dwoz) Multiple windows test fixes @  2018-07-25  11:55:27
278232         UTC
278233
278234         · 19afa3b023 Merge pull request #48760 from dwoz/test_file_fixes
278235
278236         · a89019e956 Multiple windows test fixes
278237
278238       · PR  #48753: (dwoz) Finally fix prepend for real @ 2018-07-25 00:07:15
278239         UTC
278240
278241         · e6dace3959 Merge pull request #48753 from dwoz/fix_prepend
278242
278243         · 0d1e8ab3f8 Merge branch '2018.3' into fix_prepend
278244
278245       · PR #48756:  (dwoz)  os.uname  is  not  available  on  py2  windows  @
278246         2018-07-24 23:38:32 UTC
278247
278248         · 8aef6d9960 Merge pull request #48756 from dwoz/core_grains_fix
278249
278250         · b7a37ecf11 os.uname is not available on py2 windows
278251
278252       · ISSUE  #48536:  (whytewolf) diskusage beacon does not recognize tmpfs
278253         disks in linux.  (refs: #48718)
278254
278255       · PR  #48718:  (garethgreenaway)  [2018.3]  beacon  diskusage  fixes  @
278256         2018-07-24 17:45:26 UTC
278257
278258         · 062fe7cccf    Merge   pull   request   #48718   from   garethgreen‐
278259           away/48536_beacon_diskusage_fixes
278260
278261         · 38a65e8fb3        Fixing         test_diskusage_nomatch         and
278262           test_diskusage_match_regex
278263
278264         · 6ecca166ff  Updating  psutil.disk_partitions  to pull in all mounts
278265           not just the physical ones.  Check to see if the mount  point  from
278266           the configuration ends with a $ (regular expression end of line) if
278267           not we add one in to ensure that a simple / does not end up  match‐
278268           ing all mount points.  Updating tests accordingly.
278269
278270       · PR #48711: (rallytime) [2018.3] Merge forward from 2017.7 to 2018.3 @
278271         2018-07-24 17:38:58 UTC
278272
278273         · e873621009 Merge pull request #48711 from rallytime/merge-2018.3
278274
278275         · ea5c063237 Update old utils paths to use new paths
278276
278277         · e740d3b208 Merge branch '2017.7' into '2018.3'
278278
278279           · 689c231d2b Merge pull request #48691 from Ch3LL/win_repo_pkg_test
278280
278281             · 4b7d6d80c5 Remove unnecessary jinja in curl.sls file
278282
278283             · 2bedadfadb Add windows pkg module integration tests
278284
278285           · 83e4bba916 Merge pull request #48635 from nbraud/acme
278286
278287             · 3673bae9de modules/acme: explicitely ignore  the  perms  return
278288               value
278289
278290             · 1800a231e8 Fixup some schema expectations
278291
278292             · 8c718cb417 acme: Make the private key mode configurable
278293
278294             · 917dea6761 modules/acme: Use file.check_perms ret-morphing pow‐
278295               ers
278296
278297             · d2241ceb2d module/acme: Do not exit early when the  certificate
278298               already exists
278299
278300             · 98af0db826 modules/acme: Set the private key filemode to 0640
278301
278302           · 85991680c8 Merge pull request #48345 from twangboy/fix_48169
278303
278304             · ead19725b6 Merge branch '2017.7' into fix_48169
278305
278306             · 653fbcb383 Fix some docs errata
278307
278308             · 8898e5ff11 Add warn_until Fluorine
278309
278310             · 707906ac15 Fix unit.state.test_powercfg
278311
278312             · 32c5014eb6 Fix unit tests
278313
278314             · 0d9c56e540 Add some more logging
278315
278316             · b20453de9f Use minutes to set
278317
278318             · 7dc7eb11c2 Fix documentation to denote seconds when setting
278319
278320           · 96447ce541 Merge pull request #48656 from Ch3LL/windows_ip_mod
278321
278322             · 90c3f568b1 Add windows ip module integration tests
278323
278324           · 0c5fff3dc8 Merge pull request #48638 from twangboy/fix_vcredist
278325
278326             · e30d17099d Use goto instead of if statement
278327
278328             · e1042fa084 Remove vcredist for Py3
278329
278330           · 1ebd96d909 Merge pull request #48664 from Ch3LL/srv_disable_mac
278331
278332             · f1fbfad387 move the disable call up in try block
278333
278334             · f60d21bda4 reverse assertion order for service disable test
278335
278336             · 3727d1b3b9 switch try/except to match 2018.3
278337
278338             · fb953c2369 [2017.7] Fix service.disabled test for macosx
278339
278340           · 3da3cf2f3f Merge pull request #48625 from Ch3LL/ssh_state
278341
278342             · f590eb2b02 Update state.py
278343
278344             · 9790ee3d0d Follow up to PR #48555
278345
278346           · 33812f78f1 Merge pull request #48673 from Ch3LL/mac_port
278347
278348             · 87dd85a220  Use  different  pub  and  ret ports for testprogram
278349               integration tests
278350
278351           · 5f6a7c4d89 Merge pull request #48675 from Ch3LL/mac_disable
278352
278353             · c78efab828 Fix mac service.disable tests
278354
278355           · 93d2f51d2b  Merge  pull  request  #48658   from   wyardley/wyard‐
278356             ley-npm-json-output-2017
278357
278358             · 7ff3c9c5ff Improve handling of npm json output (#43138)
278359
278360           · 3e293b0513    Merge   pull   request   #48678   from   OrlandoAr‐
278361             capix/fix-npm-dryrun-test
278362
278363             · 851a404f6b Fix for issue #48677 - return True when  no  changes
278364               are to be made with npm.bootstrap with test=true
278365
278366           · 07a1f6520f Merge pull request #48580 from rallytime/fix-46884
278367
278368             · 736b382e91      Don't     error     on     retcode     0     in
278369               libcrypto.OPENSSL_init_crypto call
278370
278371           · 9874429741 Merge pull request #48628 from terminalmage/testinfra
278372
278373             · 5ace9f01ec Fix NameError in testinfra module
278374
278375           · 0d4c80205f Merge pull request #48651 from gtmanfred/pylint-2017.7
278376
278377             · b6ee52f859 handle pyzmq for python3.4
278378
278379           · 160ae29cf2 Merge pull request #48647 from gtmanfred/pylint-2017.7
278380
278381             · ff818c4ca2 disable checks on pylint
278382
278383           · 47b1032efa   Merge   pull    request    #48593    from    pritam‐
278384             baral/fix/2017.7-importlib-pyc-loading-order
278385
278386             · add7894dee loader: Fix suffix order when importlib is used
278387
278388           · 9da7b2ec8d Merge pull request #48630 from dubb-b/pipeline-updates
278389
278390             · 8594a8dd05 Adding PY_COLORS=1 as PY_COLORS = 1 instead
278391
278392             · 314b0e3599  Adding  PY_COLORS=1 for python programs to use ANSI
278393               Colors
278394
278395             · b705e8f7a5 Adding correct spacing to options section
278396
278397             · 9d8a7e07db Adding options to Jenkins pipline builds
278398
278399           · a8ae2adf64    Merge    pull    request    #48633    from    salt‐
278400             stack/revert-48610-2017.7
278401
278402             · bab4a769d4 Revert "only run pylint on files that change"
278403
278404           · 6e32bb7f74 Merge pull request #48614 from rallytime/bp-48562
278405
278406             · cb654bbf2c Add timeouts to all s3 queries
278407
278408           · 1b6e6388f8   Merge   pull   request   #48588   from  garethgreen‐
278409             away/48415_event_send_multi_master
278410
278411             · fab25af1a9 Adding some quick documention about why we are  set‐
278412               ting ret=True following the channel.send.
278413
278414             · bf78f4b188  If the channel send is sucessful and does not raise
278415               an exception, we set ret to True, in case a previous  exception
278416               from  a  previous channel send to another master has sent it to
278417               False.
278418
278419             · 8d1551c5fb When using Salt multi-master, if we encouter a  salt
278420               master  that  has not accepted the minion key yet we should not
278421               exit right away, rather continue on and try the next salt  mas‐
278422               ter available in the list.
278423
278424           · 24ffda49ba Merge pull request #48610 from gtmanfred/2017.7
278425
278426             · 779d1a3dcb only run pylint on files that change
278427
278428           · 5391dd0a8d Merge pull request #48584 from Ch3LL/mac_user_grp
278429
278430             · 585ee9db90 Fix grp import for mac in test_user integration test
278431
278432           · 61572b6780 Merge pull request #48555 from Ch3LL/ssh_id
278433
278434             · f69932f506 fix pylint
278435
278436             · 70e36764ee Add more tests for salt-ssh state.sls_id
278437
278438             · dab80e805c Fix state.sls_id to run on ssh minion and not master
278439
278440           · aa6dcf39e8 Merge pull request #48583 from Ch3LL/mac_flaky_tests
278441
278442             · 4ba2299a87 import flaky decorator on mac tests
278443
278444             · 811220b41e  Add  flaky decorator to mac_system and mac_timezone
278445               tests
278446
278447           · 6973152057 Merge pull request #48534  from  xetix/fix-zypper-lat‐
278448             est_version
278449
278450             · 9985f0b4c1 Lint: remove extra blank line
278451
278452             · 5fbead8a36 Merge branch '2017.7' into fix-zypper-latest_version
278453
278454             · 56ac449271    Merge   branch   'fix-zypper-latest_version'   of
278455               https://github.com/xetix/salt into fix-zypper-latest_version
278456
278457               · 44e87f5a0f Adding testcase for this fix.
278458
278459               · b354c6863c Fix behaviour of function latest_version in zypper
278460                 module  when  multiple packages are passed to function. Func‐
278461                 tion now properly return dict with empty string as version if
278462                 latest  packages  is already installed, and multiple packages
278463                 are passed to function
278464
278465             · db35d0c1e1 Adding testcase for this fix.
278466
278467             · d2513757ed Fix behaviour of function latest_version  in  zypper
278468               module  when multiple packages are passed to function. Function
278469               now properly return dict with empty string as version if latest
278470               packages is already installed, and multiple packages are passed
278471               to function
278472
278473           · 10124034cb Merge pull request #48582 from dwoz/test_prepend_fix
278474
278475             · f37571e0bd Merge branch '2017.7' into test_prepend_fix
278476
278477           · 13f67335f3 Merge pull request #48564 from dwoz/test_prepend_fix
278478
278479                · 136ddf5f54 Finally fix prepend for real
278480
278481             · 66b25e65bf Fix failing prepend test
278482
278483           · b8ce27729f Merge pull request #48558 from dwoz/test_file_fix
278484
278485             · c858bf477f Remove which mock to get the test passing
278486
278487           · a15c65202d  Merge  pull  request  #48552   from   KaiSforza/jenk‐
278488             ins-junit-2017
278489
278490             · 72b1830974 Set up junit in jenkins
278491
278492           · f73108026e Merge pull request #48550 from gtmanfred/2017.7
278493
278494             · d5c603d9b6 add posargs to tox pylint
278495
278496           · 113b0426f8 Merge pull request #48535 from asnell/asnell-patch-2
278497
278498             · d328f6e43d Update manage_file helptext
278499
278500       · PR  #48744: (rallytime) [2018.3] Update DOCBANNER with new SaltConf18
278501         image @ 2018-07-24 17:15:40 UTC
278502
278503         · 6c7f1c549d  Merge  pull   request   #48744   from   rallytime/salt‐
278504           conf-ad-2018.3
278505
278506         · dbc1f8b772 Update DOCBANNER with new SaltConf18 image
278507
278508       · PR  #48726:  (dwoz)  Skip test when syslog not available @ 2018-07-24
278509         16:12:44 UTC
278510
278511         · 04ab17a4d6 Merge pull request #48726 from dwoz/syslogtest
278512
278513         · 00f04cfd59 Skip test when syslog not available
278514
278515       · PR #48727: (dwoz) Windows compatible cp test  @  2018-07-24  14:41:34
278516         UTC
278517
278518         · af837424aa Merge pull request #48727 from dwoz/file_cp_test_fix
278519
278520         · 6e7824266b Windows compatible cp test
278521
278522       · ISSUE #40004: (te-af-github) svn changes report (refs: #47510)
278523
278524       · ISSUE  #21025:  (RobertFach)  svn.export  reports invalid change data
278525         (2014.7.x) (refs: #47510)
278526
278527       · PR #48710:  (rallytime)  Back-port  #47510  to  2018.3  @  2018-07-23
278528         21:11:18 UTC
278529
278530         · PR #47510: (daa) Fix svn export invalid changes data (refs: #48710)
278531
278532         · 04125b077d Merge pull request #48710 from rallytime/bp-47510
278533
278534         · ebcd3b1c6b fixed test for svn.export
278535
278536         · e79f4aa5cc  put name under "new" key in changes dictionary to be in
278537           line with svn.latest
278538
278539         · 163f99089c made svn.export changes data dictionary,  fixes  #21025,
278540           #40004
278541
278542              · 3a941055c1 Use salt.utils.platform.is_windows
278543
278544              · 33e48f7ad7 Finally fix prepend for real
278545
278546       · PR  #48699:  (terminalmage)  Add  missing  release  notes  mention of
278547         file.blockreplace changes @ 2018-07-23 13:34:32 UTC
278548
278549         · e1dd10be70 Merge pull request #48699 from terminalmage/issue48695
278550
278551         · 7ad832c901 Add missing release notes mention  of  file.blockreplace
278552           changes
278553
278554       · PR  #48700:  (dwoz)  Call  sync_modules  to  fix  Windows test case @
278555         2018-07-22 22:23:48 UTC
278556
278557         · ab44a05fe4 Merge pull request #48700 from dwoz/ext_mod_test
278558
278559         · d731e6bf8e Call sync_all to fix Windows test case
278560
278561       · PR #48653: (terminalmage) docker_container.running: Fix regression in
278562         test mode @ 2018-07-20 19:15:47 UTC
278563
278564         · 6a494205f2    Merge    pull    request    #48653   from   terminal‐
278565           mage/docker-unboundlocal
278566
278567         · b0440871a0 Merge branch '2018.3' into docker-unboundlocal
278568
278569         · 9515dd17ff docker_container.running: Fix regression in test mode
278570
278571       · ISSUE #47059: (OrlandoArcapix) Some states  incorrectly  return  None
278572         instead of an empty dict when there are no changes (refs: #48685)
278573
278574       · ISSUE     #46985:    (OrlandoArcapix)    grafana4_user.present    and
278575         grafana4_org.present states not working in 2018.3.0 (refs: #48685)
278576
278577       · PR #48685: (bbinet) Use empty dict for 'changes' instead  of  None  @
278578         2018-07-20 17:12:43 UTC
278579
278580         · PR  #48671:  (bbinet)  Few  fixes  to the grafana module and states
278581           (refs: #48685)
278582
278583         · 266c6f250e Merge pull request #48685 from bbinet/none-changes
278584
278585         · 842eb3da24 Use empty dict for 'changes' instead of None
278586
278587       · PR #48670: (bbinet) Add the  "traverse"  jinja  filter  @  2018-07-20
278588         16:36:21 UTC
278589
278590         · 5a6f7a085c Merge pull request #48670 from bbinet/traverse
278591
278592         · 32b6d22cf2 Fix RST syntax issue in doc
278593
278594         · 37a41226d5 Add the "traverse" jinja filter
278595
278596       · PR #48594: (pritambaral) Backport 48418 @ 2018-07-20 14:57:19 UTC
278597
278598         · PR  #48418: (pritambaral) Fix multi-sls salt.state orchestration in
278599           masterless systems (refs: #48594)
278600
278601         · ff11763fd3 Merge pull request #48594 from pritambaral/bp-48418
278602
278603         · adcee28b84 Fix multi-sls  salt.state  orchestration  in  masterless
278604           systems
278605
278606       · ISSUE  #48184: (mmulqueen) Invalid DMI prevents salt-minion from run‐
278607         ning (refs: #48440)
278608
278609       · PR #48440: (mmulqueen) Make core.py tolerant of invalid chars in  DMI
278610         data @ 2018-07-20 14:48:07 UTC
278611
278612         · PR  #48216:  (Ch3LL)  Fix  UnicodeDecodeError  when reading file to
278613           determine virtual grain (refs: #48440)
278614
278615         · 111908f519 Merge pull request #48440 from mmulqueen/patch-1
278616
278617         · 5bbbdc74cd Make core.py tolerant of invalid chars in DMI data
278618
278619       · PR #48663: (Ch3LL) [2018.3] Fix service.disabled test  for  macosx  @
278620         2018-07-20 14:32:22 UTC
278621
278622         · 4e77b242f2   Merge   pull   request   #48663   from  Ch3LL/srv_dis‐
278623           able_mac_2018
278624
278625         · bddfbd75d2 reverse assertion order for service disable test
278626
278627         · 2bfaf7fe89 Fix service.disabled test for macosx
278628
278629       · PR #48304: (Ch3LL) Fix macosx grains when swapusage returns  comma  @
278630         2018-07-20 14:30:59 UTC
278631
278632         · dfc1582475 Merge pull request #48304 from Ch3LL/swap_mac
278633
278634         · 5d6135e1e2 Fix macosx grains when swapusage returns comma
278635
278636       · PR #48671: (bbinet) Few fixes to the grafana module and states (refs:
278637         #48685) @ 2018-07-20 13:58:02 UTC
278638
278639         · 9d7eabd24e Merge pull request #48671 from bbinet/grafana-fixes
278640
278641         · 3c5083f550 Add support for dry run (test=True) of grafana states
278642
278643         · 7e7ae8ace7 influxdb: fix  conflicts  in  function  arg  names  with
278644           client_args
278645
278646         · 73a24b774a Ignore readOnly option when diffing
278647
278648         · 81f0cf8a3f Add missing profile argument to grafana4.get_user_data
278649
278650       · PR   #48650:  (gtmanfred)  [2018.3]  handle  pyzmq  for  python3.4  @
278651         2018-07-18 17:34:37 UTC
278652
278653         · e828167114 Merge pull request #48650 from gtmanfred/pylint-2018.3
278654
278655         · 3c1882077e handle pyzmq for python3.4
278656
278657       · PR #48648: (gtmanfred) [2018.3] disable checks on pylint @ 2018-07-18
278658         16:21:37 UTC
278659
278660         · a6f8acf4dc Merge pull request #48648 from gtmanfred/pylint-2018.3
278661
278662         · 7c34c2965e disable checks on pylint
278663
278664       · PR  #48634: (dwoz) Sync modules for state tests @ 2018-07-17 20:33:06
278665         UTC
278666
278667         · 01c9c59a97  Merge  pull   request   #48634   from   dwoz/state-mod‐
278668           ule-test-fix
278669
278670         · 9dfd2ae392 Sync modules for state tests
278671
278672       · PR #48585: (astorath) replaced meta tag @ 2018-07-16 14:11:02 UTC
278673
278674         · fb7bfc757c Merge pull request #48585 from astorath/fix-vault-meta
278675
278676         · 42fd3d5f67 replaced meta tag
278677
278678       · PR #48579: (Ch3LL) Fix python2 syslog returner expecting string bytes
278679         not unicode @ 2018-07-13 19:50:16 UTC
278680
278681         · 4b16537a29 Merge pull request #48579 from Ch3LL/fix_syslog
278682
278683         · d8288a0ffc add unicode type for syslog test for tag
278684
278685         · 17e69382d5 Fix python2 syslog returner expecting string  bytes  not
278686           unicode
278687
278688       · ISSUE  #48542:  (calvinhp)  Missing state git.cloned is listed in the
278689         docs as new for 2018.3.2 (refs: #48547)
278690
278691       · PR #48547: (gtmanfred) fix git.cloned doc versionadded  @  2018-07-13
278692         18:46:25 UTC
278693
278694         · 3549ce408d Merge pull request #48547 from gtmanfred/git.cloned
278695
278696         · b596a945ea Merge branch '2018.3' into git.cloned
278697
278698         · e41f4922a0 fix git.cloned doc versionadded
278699
278700       · ISSUE #48110: (whytewolf) file.line on windows not treating unix line
278701         endings correctly. (refs: #48503)
278702
278703       · PR #48503:  (rallytime)  Back-port  #46291  to  2018.3  @  2018-07-13
278704         17:14:47 UTC
278705
278706         · PR  #48380:  (twangboy)  Detect  and  preserve  line endings (refs:
278707           #48503)
278708
278709         · PR #46291: (t0fik) Line mixed line ends (refs: #48503)
278710
278711         · PR #45498: (t0fik) Added support for  mixed  line  ending  in  file
278712           (refs: #46291)
278713
278714         · ee257a1f91 Merge pull request #48503 from rallytime/bp-46291
278715
278716         · 8bc71688ea Remove /sr.* pattern from test
278717
278718         · 5e2e2a63fa Update file unit tests to handle "writelines" change
278719
278720         · 5d38aa8b33 Update file.line to use writelines instead of joining
278721
278722         · d0b6e82ecb   Add   'name'   as   the   passed   in   filepath   for
278723           test_line_insert_ensure_before_first_line test
278724
278725         · d8920cb61f Update test_line_insert_ensure_before_first_line to  use
278726           new mock_open methodologies
278727
278728         · 475f075d8e  Handle  list  of  lines instead of strings in file.line
278729           func
278730
278731         · b9ddd53b04 Added comments
278732
278733         · f3517a1852 List comprehension replaced
278734
278735         · adfa3aed0d Empty match on delete or replace not causing  IndexError
278736           exception
278737
278738         · 5169b1f7fd   Comprehensions   converting  to  unicode  replaced  by
278739           salt.utils.data.decode_list
278740
278741         · d3e8679e05 Removed regex compilation
278742
278743         · f29815b49b Fixed file permissions
278744
278745         · d2af81e9c7 Make integration  green.  Added  test  for  mode  ensure
278746           insert before first line
278747
278748         · 9b7df671a5 file.line function refactored
278749
278750         · 3af551ebe1 /sr.* pattern should raise exception
278751
278752         · 935a9b9d56 test_line_insert_end fixed
278753
278754         · 7d6e3ad2e2 Make tests green
278755
278756         · 75a7e368a6 Setting end of line
278757
278758         · 489e381100 Added _set_line_eol and _get_eol functions
278759
278760         · aacbb8c0e2 line function refactored to work on list
278761
278762         · de668166f9 _regex_to_static refactored to work on lists
278763
278764         · 464eef6fe1 _get_line_indent renamed to _set_line_indent
278765
278766       · ISSUE  #48507:  (emersonveenstra)  mysql_grants.present escape option
278767         incorrectly reports failure (refs: #48561)
278768
278769       · PR #48561: (garethgreenaway) [2018.3] fixes to grants in mysql module
278770         @ 2018-07-13 14:24:58 UTC
278771
278772         · 2d923f2943    Merge   pull   request   #48561   from   garethgreen‐
278773           away/48507_mysql_grants_incorrect_failure
278774
278775         · 14c59da72c Following a successful grant application  in  the  MySQL
278776           module,  the new grant and the desired grant are mismatched because
278777           the new grant from Mysql included hashmarks.  This change adds  the
278778           replace which is included for other items such as database name and
278779           username.
278780
278781       · PR #48529: (rallytime) [2018.3] Merge forward from 2017.7 to 2018.3 @
278782         2018-07-12 17:59:35 UTC
278783
278784         · 5b5a930449 Merge pull request #48529 from rallytime/merge-2018.3
278785
278786         · f9b8c4b257 Use () when using with_tempfile decorator in tests
278787
278788         · d3190ca0c0 Update old utils paths to new utils paths
278789
278790         · 29b05ffdd1 Merge branch '2017.7' into '2018.3'
278791
278792           · 0c0c05c2bc    Merge    pull    request    #48527    from    salt‐
278793             stack/revert-48525-2017.7
278794
278795             · 18d06c1a93 Revert "add kazoo for testing zookeeper."
278796
278797           · 05bad3e71c Merge pull request #48526 from  twangboy/rollback_cer‐
278798             tifi-win32
278799
278800             · 361b3cdc2f Rollback python-certifi-win32
278801
278802           · db066effe4 Merge pull request #48521 from Martin819/2017.7
278803
278804             · d5d01f6698 Fix for GlusterFS 4.0 and above
278805
278806           · ed0bd2bbec Merge pull request #48525 from gtmanfred/2017.7
278807
278808             · d7a6bff2b2 add kazoo for testing zookeeper.
278809
278810           · ad5a959ab9   Merge   pull   request   #48388   from  garethgreen‐
278811             away/48277_2017_7_file_roots_wrong
278812
278813             · 6f11da35a7 Fixing a few things in the new test.
278814
278815             · cf747b14ec Fixing lint issue
278816
278817             · 16d36c79c8 When pillar items  are  compiled  a  new  render  is
278818               instantiated  but  the  file_roots  is  the pillar_roots.  This
278819               change forces the __opts__['file_roots'] to be set to  what  is
278820               set  in actual_file_roots for all renderers once compile_pillar
278821               has finished.  Adding a test when this situation is run  via  a
278822               orchestration runner.
278823
278824           · 38df812257 Merge pull request #48512 from gtmanfred/npm
278825
278826             · 9ba0f6b3a0 pin pm and grunt packages for npm tests
278827
278828           · 04ba31147f Merge pull request #48513 from rallytime/merge-2017.7
278829
278830             · a466a4880f Merge branch '2017.7.7' into '2017.7'
278831
278832               · cfd21ed22c    Merge   pull   request   #48172   from   rally‐
278833                 time/2017.7.7-release-notes
278834
278835                 · a0ad794132 Update release notes for 2017.7.7
278836
278837               · 8af4452134 Merge pull request #48157 from gtmanfred/2017.7.7
278838
278839                 · d8209e8a40 always listen when gathering job info
278840
278841               · b98c52ee51   Merge   pull   request   #48140   from    rally‐
278842                 time/man-pages-2017.7.7
278843
278844                 · 8893bf0d4c Update man pages for 2017.7.7
278845
278846               · baa0363336 Merge pull request #48136 from gtmanfred/2017.7.7
278847
278848                 · fce1c31146 bootstrap kitchen branch tests with 2017.7.6
278849
278850               · b0ba08f4d9    Merge   pull   request   #48134   from   rally‐
278851                 time/release-notes-2017.7.7
278852
278853                 · 217005b8f1 Add missing v for tag reference
278854
278855                 · d53569d1e3 Add release notes file for 2017.7.7
278856
278857               · 084de927fe   Merge   pull   request   #48098   from    rally‐
278858                 time/bp-48075-2017.7.7
278859
278860                 · e4e62e8b3a  Ensure  that  the shared list of jids is passed
278861                   when creating the Minion.  Fixes an issue when minions  are
278862                   pointed at multiple syndics.
278863
278864           · f0352ea95a Merge pull request #48514 from gtmanfred/2017.7
278865
278866             · 739bf92599 upgrade dependencies for pytest tests
278867
278868           · 5372b60137    Merge   pull   request   #48491   from   grokrecur‐
278869             sion/group-fix-v2
278870
278871             · 1556b37221 fixed pylint errors
278872
278873             · f6d9177dab fixed indentation for pep8
278874
278875             · b9556bf923 v2 try of gid converted to integer
278876
278877           · 16d3daab3c Merge pull request #48375 from Ch3LL/file_copy
278878
278879             · d16a790775 Add mode to _makedirs call in file.copy
278880
278881             · 2cbcb4fd26 Add user and group to makedirs cmd in file.copy
278882
278883           · d38951b1b3 Merge pull request #48490 from KaiSforza/cifixes
278884
278885             · 9fe7199af5 Mark failed if anything is found
278886
278887             · 6749a6bf19 Stop archiving the docs
278888
278889       · PR #48553: (KaiSforza) Set up junit in jenkins @ 2018-07-12  16:24:01
278890         UTC
278891
278892         · a95b8efd8a   Merge   pull   request   #48553  from  KaiSforza/jenk‐
278893           ins-junit-2018
278894
278895         · 412ffcc956 Set up junit in jenkins
278896
278897       · PR #48551:  (gtmanfred)  add  posargs  to  tox  pylint  @  2018-07-12
278898         14:35:25 UTC
278899
278900         · c4aed02740 Merge pull request #48551 from gtmanfred/2018.3
278901
278902         · a6a286af28 add posargs to tox pylint
278903
278904       · PR  #48533:  (terminalmage)  Fix  UnicodeDecodeError  in  sh beacon @
278905         2018-07-12 13:38:43 UTC
278906
278907         · 260da0d545 Merge pull request #48533 from terminalmage/sh-beacon
278908
278909         · 7ac5ac06c9 Fix UnicodeDecodeError in sh beacon
278910
278911       · ISSUE #48519: (Lutseslav) Mysql  module  alter_db  quotation  missing
278912         (refs: #48520)
278913
278914       · PR  #48520:  (Lutseslav) Add quotes to schema name in ALTER DATABASE.
278915         @ 2018-07-11 19:15:08 UTC
278916
278917         · 8761ac2589 Merge pull request #48520 from Lutseslav/fix-alter-data‐
278918           bases-with-special-symbols
278919
278920         · d088b00ff2 Merge branch '2018.3' into fix-alter-databases-with-spe‐
278921           cial-symbols
278922
278923         · 59629e9757 Merge branch '2018.3' into fix-alter-databases-with-spe‐
278924           cial-symbols
278925
278926         · da8336712e Add quotes to schema name in ALTER DATABASE.
278927
278928       · PR #48528: (gtmanfred) add 2018.3 requirements for tox/pytest tests @
278929         2018-07-11 18:13:40 UTC
278930
278931         · ad4f7efafd Merge pull request #48528 from gtmanfred/2018.3
278932
278933         · 221559358a add 2018.3 requirements for tox/pytest tests
278934
278935       · ISSUE #48336: (JuanManuelVizcainoAbad) file.directory (refs:  #48399,
278936         #48398)
278937
278938       · PR   #48508:   (rallytime)   [2018.3]   Fix   2  bugs  found  in  the
278939         file.check_perms function @ 2018-07-11 15:03:32 UTC
278940
278941         · PR  #48399:  (garethgreenaway)  [2017.7]  fixes  to  module/file.py
278942           (refs: #48508)
278943
278944         · PR  #48398:  (garethgreenaway)  [2018.3]  fixes  to  module/file.py
278945           (refs: #48508)
278946
278947         · 70e5fcb8a5 Merge pull request #48508 from rallytime/fix-file-bug
278948
278949         · 0747eb5476 Move comment string join and test/changes check to  bot‐
278950           tom of file.check_perms
278951
278952         · aefa1dbe21  Fix  up  bad  merge  -  remove  extra section of "mode"
278953           changes
278954
278955       · ISSUE #48277: (dvenckus) init.sls with  included  states  fails  with
278956         more  than  one,  'Template  was specified incorrectly: False' (refs:
278957         #48388, #48389)
278958
278959       · ISSUE #46986: (github-abcde) opts file_roots  gets  overwritten  with
278960         pillar_roots in orchestration run (refs: #48388, #48389)
278961
278962       · PR  #48389: (garethgreenaway) [2018.3] reset file_roots for renderers
278963         after compile_pillar @ 2018-07-11 13:13:33 UTC
278964
278965         · 5a0b274bf1   Merge   pull   request   #48389   from    garethgreen‐
278966           away/48277_2018_3_file_roots_wrong
278967
278968         · 4b492fa633 Removing unused start_time variable from test_orchestra‐
278969           tion_with_pillar_dot_items test.
278970
278971         · 30c5855d20 Fixing a few things in the new test.
278972
278973         · 36b7253418 Fixing lint issue
278974
278975         · ab6abfad31 When pillar items are compiled a new render is instanti‐
278976           ated  but  the  file_roots is the pillar_roots.  This change forces
278977           the  __opts__['file_roots']  to  be  set  to   what   is   set   in
278978           actual_file_roots  for  all  renderers once compile_pillar has fin‐
278979           ished.  Adding a test when this situation is run via  a  orchestra‐
278980           tion runner.
278981
278982       · ISSUE  #48342:  (jeffclay)  UnicodeDecodeError when using cache mysql
278983         (refs: #48495)
278984
278985       · PR #48495: (garethgreenaway) [2018.3] Fix to  mysql  cache  module  @
278986         2018-07-10 12:54:10 UTC
278987
278988         · f9fd1a889a    Merge   pull   request   #48495   from   garethgreen‐
278989           away/48342_mysql_cache_unicode
278990
278991         · 0029f19033 Ensure the query_string is a  bytestring,  otherwise  an
278992           attempt  will  be made to convert the msgpack data to unicode which
278993           will result in a UnicodeDecodeError error.
278994
278995       · PR #48487: (rallytime) [2018.3] Merge forward from 2017.7 to 2018.3 @
278996         2018-07-09 18:38:00 UTC
278997
278998         · fc3eeef6b3 Merge pull request #48487 from rallytime/merge-2018.3
278999
279000         · 54341d1a8d Update old utils paths to use new utils paths
279001
279002         · 68aabff0cf Merge branch '2017.7' into '2018.3'
279003
279004         · 22cd4206c4 Merge pull request #48472 from gtmanfred/2017.7
279005
279006           · c7a3a7d8bd update jenkins tests to use tox for lint
279007
279008           · 44aaac1d33 use tox to run pylint
279009
279010         · 27ea8f35ea Merge pull request #48476 from twangboy/fix_dependencies
279011
279012           · b0087d425c Add license info
279013
279014           · 935f9b560c Fix dependencies
279015
279016         · acf42864aa    Merge   pull   request   #48399   from   garethgreen‐
279017           away/48336_2017_7_ensure_chmod_setuid_with_chown
279018
279019           · 8efd33320f Normalize the mode before we compare it.
279020
279021           · f894f0ecb8 Setting the mode with setuid or setgid bits  in  addi‐
279022             tion  to setting the owner and group will force the setuid & set‐
279023             gid bits to reset.  This change ensures  that  we  set  the  mode
279024             after setting the owner & group.
279025
279026         · 6166ff6b78 Merge pull request #48471 from gtmanfred/2017.7
279027
279028           · 392ab4e51f Add some configurations to tox
279029
279030         · 6234d9b15d     Merge    pull    request    #48433    from    disco‐
279031           gestalt/fix-redis.hmset
279032
279033           · 65817ac74d Use clean_kwargs method instead
279034
279035           · f7fa7f57c6 Found another issue with redismod.hmset
279036
279037           · 5624865f86 Fix issue with redismod.hmset method
279038
279039         · aacee0fe2c   Merge   pull    request    #48428    from    terminal‐
279040           mage/fix-jobs.lookup_jid
279041
279042           · 6509aa9089 Fix outputter detection in jobs.lookup_jid runner
279043
279044         · a7e52f0de2 Merge pull request #48429 from rallytime/bp-46824
279045
279046           · 8b4486248d Added ignore_retcode to mock unit tests
279047
279048           · f8beab71dd Regression to ignore retcodes on crontab calls
279049
279050         · 4576ef20bc Merge pull request #48432 from dwoz/file-prepend-again
279051
279052           · 349a2b279e Prepend test needs file.touch method
279053
279054       · PR  #48481: (terminalmage) Improve the slack engine docs @ 2018-07-09
279055         13:41:15 UTC
279056
279057         · 4d4d2eacce Merge pull request #48481 from terminalmage/slack-engine
279058
279059         · 56e8a1eb93 Improve the slack engine docs
279060
279061         · dde9c0640d Add information on creating bot users
279062
279063         · 513c6af975 Fix inaccurate docs
279064
279065       · PR #48348: (dwoz) Fix multiple git module tests @ 2018-07-06 20:35:58
279066         UTC
279067
279068         · 491b5b077c Merge pull request #48348 from dwoz/test_git
279069
279070         · 5ca5e060b3 Merge branch '2018.3' into test_git
279071
279072       · PR  #48454:  (terminalmage)  Improve error message when ext_pillar is
279073         incorrectly formatted @ 2018-07-06 18:03:44 UTC
279074
279075         · dd6a6a97c5 Merge pull request #48454 from terminalmage/issue48107
279076
279077         · 269dbab7f6 Improve error message  when  ext_pillar  is  incorrectly
279078           formatted
279079
279080       · ISSUE  #48336: (JuanManuelVizcainoAbad) file.directory (refs: #48399,
279081         #48398)
279082
279083       · PR #48398: (garethgreenaway) [2018.3] fixes to module/file.py  (refs:
279084         #48508) @ 2018-07-06 18:02:43 UTC
279085
279086         · a9dc758e73    Merge   pull   request   #48398   from   garethgreen‐
279087           away/48336_ensure_chmodd_setuid_with_chown
279088
279089         · 2454652914 Normalize the mode before we compare it.
279090
279091         · 08ad5665de Fixing test to ensure it works under py3
279092
279093         · 2b25d8c95b Setting the mode with setuid or setgid bits in  addition
279094           to  setting the owner and group will force the setuid & setgid bits
279095           to reset.  This change ensures that we set the mode  after  setting
279096           the owner & group.
279097
279098       · PR #48431: (rallytime) [2018.3] Merge forward from 2017.7 to 2018.3 @
279099         2018-07-05 17:23:00 UTC
279100
279101         · 2baa7f189f Merge pull request #48431 from rallytime/merge-2018.3
279102
279103         · 3e59dda0b1 Merge branch '2017.7' into '2018.3'
279104
279105           · 422441505d Merge pull request #48422 from rallytime/fix-48230
279106
279107             · a6abf85621  Allow   file.managed   to   work   with   uppercase
279108               source_hash in test=true mode
279109
279110             · 4c691ac57a Add regression test for Issue #48230
279111
279112           · 83e387c951    Merge    pull   request   #48410   from   dwoz/ser‐
279113             vice_dead_test_fix
279114
279115             · 5c0923448d Fix service dead test on windows
279116
279117           · d3ba345da5 Merge pull request #48413 from twangboy/fix_47811
279118
279119             · c5aad04140 handle unc paths
279120
279121           · 827ef2aac4 Merge pull request #48416  from  dwoz/service_integra‐
279122             tion_fix
279123
279124             · c43f150dcd Fix service integration test (py3)
279125
279126           · 10fe7d2b9b  Merge  pull  request  #48385  from Ch3LL/1update_ver‐
279127             sion_doc_2017.7
279128
279129             · 3cf335b0b9 Update release versions for the 2017.7 branch
279130
279131           · f8a9a037e6 Merge pull request #48405 from Ch3LL/rm_inprog_2017.7
279132
279133             · 03ed5167fa [2017.7] Remove In Progress Warning on 2017.7.7
279134
279135           · 8ac867c168 Merge pull request #48409 from dwoz/test_prepend_fix
279136
279137             · 9c7085b70f Fix file state prepend test
279138
279139           · 10e93bff7f Merge pull request #48396 from dwoz/symlink_test_fix
279140
279141             · d3456d31e6 Fix file.symlink state test for windows
279142
279143       · PR  #48310:  (mtorromeo)  Backport  ini_manage  fixes  to  2018.3   @
279144         2018-07-05 16:27:19 UTC
279145
279146         · 432cbbb5ee   Merge  pull  request  #48310  from  mtorromeo/ini-man‐
279147           age-backports
279148
279149         · 88f80fdf77 Fixed pylint useless-super-delegation warning.
279150
279151         · e20f4cacd4  Uniformed  reports   between   ini.options_absent   and
279152           ini.options_present
279153
279154         · 2c3ae0b6c9 pylint cosmetics.
279155
279156         · 0c0d10d18f Fixes dry run false positive when option value is a num‐
279157           ber.
279158
279159         · 70144bccbb Fixes dry run in ini_manage + Fixes related bug  -  when
279160           working  with  options  which  are  not in section. + Fixes related
279161           tests + Fixes pylint warnings
279162
279163       · ISSUE #48402: (elsmorian) Running SaltStack master with no init  sys‐
279164         tem repeatedly logs "could not determine init system " (refs: #48441)
279165
279166       · PR  #48441:  (terminalmage) Switch init system log message to debug @
279167         2018-07-05 14:43:25 UTC
279168
279169         · 84fd3d2784 Merge pull request #48441 from terminalmage/issue48402
279170
279171         · d758995763 Switch init system log message to debug
279172
279173       · PR #48386: (Ch3LL) Update release versions for the  2018.3  branch  @
279174         2018-07-03 13:37:32 UTC
279175
279176         · 871c9e3b98   Merge  pull  request  #48386  from  Ch3LL/1update_ver‐
279177           sion_doc_2018.3
279178
279179         · 84a1994110 Update release versions for the 2018.3 branch
279180
279181       · PR #48404: (Ch3LL) [2018.3] Remove In Progress Warning on 2017.7.7  @
279182         2018-07-03 13:33:18 UTC
279183
279184         · ddb83ad4ce Merge pull request #48404 from Ch3LL/rm_inprog_2018.3
279185
279186         · ef288f2a74 [2018.3] Remove In Progress Warning on 2017.7.7
279187
279188       · PR  #48339:  (terminalmage)  Backport  tojson  filter  from #48309 to
279189         2018.3 @ 2018-07-02 17:52:53 UTC
279190
279191         · PR #48309: (terminalmage) Drop support for Python 2 unicode  string
279192           literals in YAML renderer (refs: #48339)
279193
279194         · 5b38019ca0   Merge  pull  request  #48339  from  terminalmage/back‐
279195           port-tojson-filter
279196
279197         · 4433bec891 Add release notes for tojson jinja filter
279198
279199         · ac36998801 Tweak docs to reflect backported filter
279200
279201         · c636b18cf0 Add unit test for tojson filter
279202
279203         · e34e39f0e2 Document filter deprecation
279204
279205         · b9a4f288b2 Deprecate json_encode_dict  and  json_encode_list  jinja
279206           filters
279207
279208         · 3896e3468c Use upstream tojson filter, if present
279209
279210         · 1499c6abcf  Implement  tojson  jinja filter for those using Jinja <
279211           2.9
279212
279213       · ISSUE #48274: (ipmb) s3.get signature failure with +  in  the  object
279214         name (refs: #48328)
279215
279216       · PR   #48328:   (garethgreenaway)  [2018.3]  Fixes  to  utils/s3.py  @
279217         2018-07-02 13:22:31 UTC
279218
279219         · 222c1d65db   Merge   pull   request   #48328   from    garethgreen‐
279220           away/48274_s3_get_signature_fail
279221
279222         · 22cafc8334 fixing lint issue
279223
279224         · 131486203e  Need  to  pass the URL path through quote to ensure any
279225           special  characters  are  being  quoted  properly.  if  we  include
279226           local_file  for  a  PUT,  read the file into data before passing it
279227           along to requests.requests.
279228
279229       · PR #48358: (Ch3LL) Fix corrupt public key  with  m2crypto  python3  @
279230         2018-07-02 13:10:32 UTC
279231
279232         · d3c658bdcf Merge pull request #48358 from Ch3LL/m2crypto_fix
279233
279234         · 8fdd34d430 m2crypto open file in rb mode for pub key
279235
279236         · a964db4663 Fix corrupt public key with m2crypto python3
279237
279238       · ISSUE #48367: (asenci) salt.proxy.fx2: dictionary changed size during
279239         iteration (refs: #48368)
279240
279241       · ISSUE #46765: (roskens) pkg.mod_repo fails with a python  error  when
279242         removing a dictionary key (refs: #46776)
279243
279244       · PR  #48384:  (rallytime)  Back-port  #48368  to  2018.3  @ 2018-07-01
279245         04:19:10 UTC
279246
279247         · PR #48368: (asenci) Fix issue #48367 using the same approach as  PR
279248           #46776 (refs: #48384)
279249
279250         · PR  #46776:  (gtmanfred)  fix shrinking list in for loop bug (refs:
279251           #48368)
279252
279253         · 2fd63d66dc Merge pull request #48384 from rallytime/bp-48368
279254
279255         · 430c462f34 Fix issue #48367 using the same approach as PR #46776
279256
279257       · PR #48394: (rallytime) [2018.3] Merge forward from 2017.7 to 2018.3 @
279258         2018-07-01 04:13:03 UTC
279259
279260         · 3b53e2d206 Merge pull request #48394 from rallytime/merge-2018.3
279261
279262         · 047f5b5f39 Update old utils paths to new utils paths
279263
279264         · c4fd2a0930 Merge branch '2017.7' into '2018.3'
279265
279266         · 7e25f26837 Merge pull request #48362 from twangboy/fix_48276
279267
279268           · 77629f640a Fix module unit tests
279269
279270           · b5ca560b73 Fix lint error
279271
279272           · 210e280ecf Use explicit parameter names
279273
279274           · 776db98a5c Handle missing registry entries
279275
279276         · 80222b6b7c Merge pull request #48383 from rallytime/bp-48379
279277
279278           · 9fc7815594 Clean up the workspaces at the end for every job
279279
279280         · aa68aa774a Merge pull request #48382 from rallytime/bp-48346
279281
279282           · 6a70ba222e Use the right ssh key to destroy kitchen
279283
279284         · 9519f640e7 Merge pull request #48381 from rallytime/bp-48330
279285
279286           · 6857bedcc2 Add warnings plugin to replace violations
279287
279288         · 14db0aa35d Merge pull request #48363 from dubb-b/2017.7
279289
279290           · c0b962e28d Changing debug to info for logging
279291
279292         · 5b29cd326f Merge pull request #48352 from Ch3LL/wheel_doc
279293
279294           · 89ada68165 Add missing key to accept_dict function in wheel docs
279295
279296         · 02cf19ee3b Merge pull request #48329 from rallytime/codeowners-ros‐
279297           ter-files
279298
279299           · 5e56615e00 Trigger review requests for team-ssh for roster files
279300
279301         · 53cf1794be Merge pull request  #48349  from  ralex/fix-manjaro-ser‐
279302           vice-behaviour
279303
279304           · 6cafce547e  Disable  the  service  module  on Manjaro since it is
279305             using systemd
279306
279307         · 89dfcf3a4e  Merge  pull  request  #48324   from   Ch3LL/update_ver‐
279308           sion_doc_2017.7
279309
279310           · 47845ba810 Update release versions for the 2017.7 branch
279311
279312         · ece4c30aac Merge pull request #48331 from rallytime/bp-48215
279313
279314           · 9d6ba3e247 Set jobs to pending when they come in
279315
279316           · 727d2b4ffe Use proper creds with githubNotify
279317
279318           · d355861c5c Test using different credentials
279319
279320         · ab05e00d8c Merge pull request #48332 from rallytime/bp-48321
279321
279322           · d72af6ab4e Jenkins needs the / to get the directory
279323
279324         · 21ed5b97ce Merge pull request #48295 from rallytime/bp-48193
279325
279326           · 352fe33fd6  Separate  set_result()  to  a  new  line  apart  from
279327             Future() call
279328
279329           · c0180ff33d Properly configure syndic in test case
279330
279331           · d0a98534a9 Properly wait on returns in saltnado
279332
279333         · 9aa4687ab9 Merge pull request #48117 from twangboy/fix_48026
279334
279335           · dd37f8fbc2 Disable services that are set to manual
279336
279337         · caf630487c Merge pull request #48207 from rallytime/bp-48189
279338
279339           · e9d09e0375 Use old is_windows utils path on 2017.7
279340
279341           · b965d6c9b3 If pip binary is  passed  to  bin_env,  use  that  pip
279342             binary
279343
279344         · 06a927b2aa Merge pull request #48293 from rallytime/bp-47453
279345
279346           · e96ab6778e dont reset system locale when running rabbitmqctl com‐
279347             mands
279348
279349       · ISSUE  #45939:  (andygabby)  user.present  with  hash_password:  True
279350         detects change on every state.apply/highstate (refs: #47147)
279351
279352       · PR  #47147: (eliasp) states.user.present: Make usage of hash_password
279353         idempotent @ 2018-06-30 13:29:27 UTC
279354
279355         · 9b364e25cf      Merge      pull      request      #47147       from
279356           eliasp/2018.3-issue-45939-shadow-hash-salt
279357
279358         · dd3be1d76e  Add  warning  log  message  when  using MD5 for hashing
279359           shadow passwords
279360
279361         · 5451ab6b7a states.user.present: Make usage of hash_password idempo‐
279362           tent
279363
279364       · PR #48297: (rallytime) [2018.3] Merge forward from 2017.7 to 2018.3 @
279365         2018-06-30 12:57:35 UTC
279366
279367         · 89857ea8b9 Merge pull request #48297 from rallytime/merge-2018.3
279368
279369         · 9498618418 Use saltenv opts instead of environment
279370
279371         · 1c8bd35f28 Update old utils paths to use new utils paths
279372
279373         · c7bb8a50b0 Merge branch '2017.7' into '2018.3'
279374
279375           · 95ef006e00  Merge  pull  request  #48219  from  zer0def/lxc-boot‐
279376             strap-fixes
279377
279378             · c77058560b Merge branch '2017.7' into lxc-bootstrap-fixes
279379
279380             · d63cf3f072 Fixes another case of legacy configuration key usage
279381               warning getting in the way of changing container's state.
279382
279383           · 3327181507 Merge pull request #48234 from dwoz/thin_dir
279384
279385             · 70c603451b Fix py2 thin dir issues
279386
279387           · 83d7d286c4 Merge pull request #48080 from lusche/2017.7
279388
279389             · 917dc985fc #47984 remove the line completly
279390
279391             · ba12ee947b        Merge        branch        '2017.7'        of
279392               https://github.com/saltstack/salt into 2017.7
279393
279394             · dfb13d5051 Bugfix #47984 messed up cert serial
279395
279396           · bccb4dcd46 Merge pull request #48232 from gtmanfred/cloud
279397
279398             · d108112e1a do not expand kwargs for cloud.action
279399
279400           · 056f43f663      Merge      pull      request      #48238     from
279401             mirceaulinic/fix-sdb-cache
279402
279403             · 51e5fbfa1d SDB cache module: AttributeError: 'Cache' object has
279404               no attribute 'set'
279405
279406           · 731ec0a11a  Merge  pull request #48037 from terminalmage/fix-cus‐
279407             tom-types-sync-docs
279408
279409             · 052ae83c4b Update versionchanged
279410
279411             · 8b1bd0eda2 Update test to reflect changed argument name
279412
279413             · 5e75936198 Change 2018.3.2 to 2018.3.3
279414
279415             · c53ad603fc Rename sync -> sync_mods per review suggestion
279416
279417             · e4d67c5fd8 Update docs to  include  references  to  new  "sync"
279418               argument
279419
279420             · cb8e6f9fb8 Remove redundant mocking
279421
279422             · bc3ad795e9 Add test for sync argument to state.sls
279423
279424             · f81ccd1fdd Add sync option to state.apply/state.sls
279425
279426             · 8289b07e24 Fix documentation on when custom types are synced
279427
279428           · 0bae927048    Merge    pull    request    #48249    from   rally‐
279429             time/2017.7.7-release-notes-update
279430
279431             · 36032c8ee7 Update release notes for 2017.7.7
279432
279433           · 8e06471817 Merge pull request #48242 from asnell/asnell-patch-1
279434
279435             · f66bf60073 Add sample list data via command line pillar
279436
279437       · PR #48364: (dubb-b) Changing debug to info for logging  @  2018-06-28
279438         20:48:24 UTC
279439
279440         · c5746deb5f Merge pull request #48364 from dubb-b/2018.3
279441
279442         · d8260b6628 Changing debug to info for logging
279443
279444       · PR #48354: (rallytime) [2018.3] Merge forward from 2018.3.2 to 2018.3
279445         @ 2018-06-28 20:26:31 UTC
279446
279447         · 0202493b60    Merge    pull    request    #48354    from     rally‐
279448           time/merge-2018.3.2-to-2018.3
279449
279450         · fface7cc74 Merge branch '2018.3.2' into '2018.3'
279451
279452       · PR  #48347:  (dwoz) Fixes fileserver maintenance process on Windows @
279453         2018-06-28 13:17:42 UTC
279454
279455         · bbabbbf76b Merge pull request #48347 from dwoz/sigfix
279456
279457         · ccdff5029f Remove unneeded attribute
279458
279459              · e8362adf71 fopen does not support encoding
279460
279461              · 487161ba8f Fix file encoding on windows
279462
279463              · fc760685ee Fix multiple git module tests
279464
279465       · PR #47975: (terminalmage) Add a new  git.cloned  state  @  2018-06-27
279466         20:53:42 UTC
279467
279468         · 67303d7901 Merge pull request #47975 from terminalmage/issue47937
279469
279470         · 34b24bb7fa Merge branch '2018.3' into issue47937
279471
279472       · PR  #48323:  (Ch3LL)  Update release versions for the 2018.3 branch @
279473         2018-06-27 13:44:58 UTC
279474
279475         · 5b8d55428e  Merge  pull  request  #48323   from   Ch3LL/update_ver‐
279476           sion_doc_2018.3
279477
279478         · b4548aca56 Update release versions for the 2018.3 branch
279479
279480       · PR  #48326: (Ch3LL) Remove In Progress Warning for 2018.3.2 Release @
279481         2018-06-27 13:43:16 UTC
279482
279483         · 7cf403e313 Merge pull request #48326 from Ch3LL/rn_remove_in_prog
279484
279485         · dfce1ad5ed Remove In Progress Warning for 2018.3.2 Release
279486
279487       · PR  #48301:  (terminalmage)  Fix  typos  in  new  mock_open  docs   @
279488         2018-06-25 19:08:14 UTC
279489
279490         · 60ffad5126 Merge pull request #48301 from terminalmage/docs
279491
279492         · 6c33345f05 Fix typos in new mock_open docs
279493
279494       · PR  #48292:  (rallytime)  Back-port  #48288  to  2018.3  @ 2018-06-25
279495         19:07:11 UTC
279496
279497         · PR #48288: (rmarchei) fix  lsattr.get  in  file.check_perms  (refs:
279498           #48292)
279499
279500         · 4760f87153 Merge pull request #48292 from rallytime/bp-48288
279501
279502         · d6620573bb fix lsattr.get in file.check_perms
279503
279504       · PR  #48296:  (rallytime)  Back-port  #48258  to  2018.3  @ 2018-06-25
279505         19:04:41 UTC
279506
279507         · PR #48258: (nullify005) preserve tuples for ldap modification oper‐
279508           ations (refs: #48296)
279509
279510         · 27207fc510 Merge pull request #48296 from rallytime/bp-48258
279511
279512         · 8b7f36f264 preserve tuples for ldap modification operations
279513
279514       · ISSUE  #48204:  (zerthimon)  State  mysql_user.present Exception with
279515         mysql 8.0.11 (refs: #48275, #48228)
279516
279517       · PR #48275: (garethgreenaway) [2018.3] Follow up fix to MySQL user for
279518         password management @ 2018-06-25 13:23:35 UTC
279519
279520         · d5265da945    Merge   pull   request   #48275   from   garethgreen‐
279521           away/mysql_fix_followup
279522
279523         · bb024b9115 Removing unnecessary code.
279524
279525         · 8b542e1745 With MySQL versions 8.0.11 and beyond, since  the  PASS‐
279526           WORD  function has been removed we need to hash the password string
279527           before comparing when checking if the user exists.
279528
279529       · PR #48286: (terminalmage) Don't load the grains again  when  printing
279530         them via salt-call -g @ 2018-06-25 13:19:18 UTC
279531
279532         · 1f306525a7   Merge  pull  request  #48286  from  terminalmage/call‐
279533           er-print_grains
279534
279535         · caa62c051f Don't load the  grains  again  when  printing  them  via
279536           salt-call -g
279537
279538       · PR  #48279:  (terminalmage) Add documentation/further enhancements to
279539         rewritten mock_open @ 2018-06-25 13:12:30 UTC
279540
279541         · 27a0e95174   Merge   pull    request    #48279    from    terminal‐
279542           mage/mock_open-docs
279543
279544         · 65c575ae9c Fix spelling error
279545
279546         · 830a624ce8  Ignore IOError when tearing down filehandles not opened
279547           for reading
279548
279549         · 3b6356f4b0 Raise TypeError when trying to read from filehandles not
279550           opened for reading
279551
279552         · 09aae0c82b Add more examples and information on strict string types
279553
279554         · 8c069d105d Add some mock_open docs
279555
279556         · a13d1fe1a0   Update  mock_open  usage  to  reflect  read_data  type
279557           enforcement
279558
279559         · 374a8ce31f Add more mock_open tests
279560
279561         · 0f06adb008 Improve code-reuse in mock_open tests
279562
279563         · 0e8c83bac6 2 MockFH enhancements:
279564
279565       · ISSUE #48141: (zerthimon) salt-api request  causes  exception  (refs:
279566         #48236)
279567
279568       · PR  #48236:  (garethgreenaway) [2018.3] Fix to cmd_batch @ 2018-06-25
279569         12:58:49 UTC
279570
279571         · 6ee856631b   Merge   pull   request   #48236   from    garethgreen‐
279572           away/48141_salt_api_local_batch
279573
279574         · aea4f7ae14 Fixing test_local_batch
279575
279576         · ce3e1eaf2c Removing sort.
279577
279578         · 83accf3b20 Fixing test_local_batch
279579
279580         · ff14b99752 Fixing a typo in the comment.
279581
279582         · 85cef126e0  Adding  note  about  why  salt.utils.versions  is being
279583           re-imported.  Adding a test for local_batch.
279584
279585         · 808805fd3d Fixing cmd_batch  to  work  correctly  when  called  via
279586           salt-api.
279587
279588       · ISSUE  #48204:  (zerthimon)  State  mysql_user.present Exception with
279589         mysql 8.0.11 (refs: #48275, #48228)
279590
279591       · PR  #48228:  (garethgreenaway)  [2018.3]  Fixes  to  mysql  module  @
279592         2018-06-22 15:44:00 UTC
279593
279594         · 09b036c26e    Merge   pull   request   #48228   from   garethgreen‐
279595           away/48204_mysql_user_password_exception
279596
279597         · 1b2ffcef1d Updating the mysql module to not use the  PASSWORD  when
279598           MySQL  is version 8.0.11 or higher, where the PASSWORD function has
279599           been removed.
279600
279601       · PR #48252: (rallytime) [2018.3] Merge forward from 2017.7 to 2018.3 @
279602         2018-06-22 15:13:42 UTC
279603
279604         · 67cb5563ef Merge pull request #48252 from rallytime/merge-2018.3
279605
279606         · 84ec655c24 Merge branch '2017.7' into '2018.3'
279607
279608           · a172f9de84    Merge    pull   request   #48226   from   terminal‐
279609             mage/fix-alias-docstring
279610
279611             · fb237272f5 Don't display  "None"  in  SaltInvocationError  when
279612               Salt installed using -OO
279613
279614             · 90c90f5d5c  Fix  docstring  construction in alias_function when
279615               Salt installed using -OO
279616
279617           · c6a0207cae Merge pull request #48227 from Ch3LL/fix_win_tests
279618
279619             · 236773e3e9 Skip new sha256 files on repo.saltstack.com/windows
279620
279621           · 6929423528    Merge    pull    request    #48131    from     bow‐
279622             manjd-lms/fix-apk-python3
279623
279624             · f5d2835299 Merge branch '2017.7' into fix-apk-python3
279625
279626             · 022f9cba50 Fix py3-incompatible dict.keys()[x] call in apk.py
279627
279628           · 868c17377f   Merge   pull   request   #48185   from   DSRCorpora‐
279629             tion/bugs/47901_future_done_exception
279630
279631             · 5f63316311       Merge       branch        '2017.7'        into
279632               bugs/47901_future_done_exception
279633
279634             · 9f2dbf94cb Don't call .exception() on future unless it's done.
279635
279636           · 80a3e37c2e  Merge  pull request #48192 from twangboy/fix_pip_ver‐
279637             sion_2017.7
279638
279639             · 59ae2cc5fc Use --disable-pip-version-check for build_env_#.ps1
279640
279641           · 12e2b8882a  Merge  pull  request  #48201  from  zer0def/lxc-boot‐
279642             strap-fixes
279643
279644             · 6f6d3d40d4  Take  lxcpath  into  account when bootstrapping new
279645               containers. Version comparison fixes.
279646
279647           · e079fce38d   Merge   pull   request   #48190    from    terminal‐
279648             mage/fix-vfstab-test
279649
279650             · 8d70d14362 Fix mount.vfstab unit test
279651
279652           · c8b9cec986 Merge pull request #48115 from KaiSforza/pr-lint-2017
279653
279654             · 494727ab39 Add docs, kitchen tests
279655
279656             · 317023bb20 Move .jenkins to .ci for future
279657
279658             · dedc313cee Make it parallel so we don't fail right away
279659
279660             · cd13426726 Add a .jenkins file to run pylint
279661
279662           · fc1752b721    Merge    pull   request   #48174   from   terminal‐
279663             mage/docker-update-mine
279664
279665             · 9af09e0127    Mock    config.get    due    to    changes     in
279666               _refresh_mine_cache
279667
279668             · c5802ad465 Fix the version number in versionadded
279669
279670             · d403ae58d7 Add unit test for docker.update_mine
279671
279672             · 44c275698a Actually it's more than just add/remove that updates
279673               the mine
279674
279675             · 0cb6996b07 Add release notes mention of docker.update_mine con‐
279676               fig option
279677
279678             · de05097b20 Add docs for new config option
279679
279680             · 04c55a9178 Add note in mine.get_docker docstring about new con‐
279681               fig item
279682
279683             · 4e456255c0 Allow mine update to be disabled  using  new  config
279684               option
279685
279686       · ISSUE #48029: (vinian) syndic failed to auth when restart salt-master
279687         on syndic master (refs: #48034)
279688
279689       · PR #48034: (vinian) restart salt-syndic when  salt-master  restart  @
279690         2018-06-21 20:12:37 UTC
279691
279692         · 9f0bd90c5b  Merge pull request #48034 from vinian/restart-salt-syn‐
279693           dic-when-salt-master-retart
279694
279695         · f7652d8c8b restart salt-syndic when salt-master restart
279696
279697       · PR #48250: (rallytime) Update release notes for 2018.3.2 @ 2018-06-21
279698         18:30:21 UTC
279699
279700         · ab2ba942ad     Merge    pull    request    #48250    from    rally‐
279701           time/2018.3.2-release-notes-update
279702
279703         · 19c104b6cd Update release notes for 2018.3.2
279704
279705       · PR #48166: (terminalmage) Add trace logging and  optimize  file  han‐
279706         dling in grains.core.os_data @ 2018-06-21 18:02:33 UTC
279707
279708         · 51928ff050  Merge  pull request #48166 from terminalmage/salt-jenk‐
279709           ins-1000
279710
279711         · b73df0ab00 Change call_args to  call.args  to  reflect  changes  to
279712           MockFH
279713
279714         · 0c2cc07704 remove unused import
279715
279716         · b8c0a55cf3 Add test for tell()
279717
279718         · 1cbe89feee Implement tell() for filehandle iteration
279719
279720         · efb8f49d42  Add  tests  for  read_data being a list, and containing
279721           unicode or bytestrings
279722
279723         · 38df912fa6 Operate on a copy of the read_data
279724
279725         · 71eeae1240 Update mount module unit tests  to  reflect  changes  in
279726           mock_open
279727
279728         · 16c414e120 Update nfs3 module tests to reflect changes in mock_open
279729
279730         · b7eab25d6c  Update  grub_legacy  module tests to reflect changes in
279731           mock_open
279732
279733         · cc002b8fd7 Update new network  unit  test  to  reflect  changes  in
279734           mock_open
279735
279736         · a8f11594f1  Update  new  core  grains  tests  to reflect changes in
279737           mock_open
279738
279739         · 84ce18d956 Update crypt unit tests to reflect changes in mock_open
279740
279741         · 67c036dc2d Add MockCall to tests.support.mock to track calls
279742
279743         · 2556a1e13d Remove unused import
279744
279745         · fd9d700157 Add additional docs to MockOpen class
279746
279747         · 6acb4c83ec Update newly added test to reflect renaming  of  handles
279748           attribute
279749
279750         · 77e5288d42  Update fibre_channel grains tests to reflect changes in
279751           mock_open
279752
279753         · ed40371a06 Update timezone  module  tests  to  reflect  changes  in
279754           mock_open
279755
279756         · fc0aa9934f Track call_count in MockOpen
279757
279758         · 2598d2453a  Update  snapper  module  tests  to  reflect  changes in
279759           mock_open
279760
279761         · 51b3faa7b4 Add support for passing multiple  strings  for  a  given
279762           match in read_data
279763
279764         · 55487c175c Fix mock_open call to use new multifile syntax
279765
279766         · 7f516ef73a  Update  puppet  module  tests  to  reflect  changes  in
279767           mock_open
279768
279769         · 33a97c4ecc Update btmp beacon tests to reflect changes in mock_open
279770
279771         · bc027cfa94 Update wtmp beacon tests to reflect changes in mock_open
279772
279773         · f5823252bb Track call args/kwargs in MockFH
279774
279775         · 335591ca90 Mock the seek function in MockFH
279776
279777         · 7eb4b1ae1c Update cp.push test to reflect changes to mock_open
279778
279779         · 2be19cfa89 Report correct location when reading using explicit size
279780           and EOF reached
279781
279782         · 5ec95ba5ca On second thought, actually implement tell()
279783
279784         · 19022eb9e5 Add tell mock to MockFH
279785
279786         · 4b5a393445 Update junos tests to reflect changes to mock_open
279787
279788         · 278a222b09 Update dnsutil tests to reflect changes to mock_open
279789
279790         · 4e67955572 Replace the rest of mock_open with a class
279791
279792         · 75307a47c5   Update   linux_sysctl  tests  to  reflect  changes  to
279793           mock_open
279794
279795         · 05c68fd5d9 Use explicit config file and  fix  remaining  mac_sysctl
279796           tests
279797
279798         · 836fde9a30 Allow Python 2 to accept an exception as read_data
279799
279800         · 543385fd02 Add writelines_calls property
279801
279802         · 42fa842456 Make read funcs mocks so their calls can be tracked
279803
279804         · 675f03c58f  Update mac_sysctl tests to reflect new mock_open behav‐
279805           ior
279806
279807         · 3d2c41d395 Update file module tests to reflect new mock_open behav‐
279808           ior
279809
279810         · b9200dbc3e  add  a  dict  containing  the  handles to the mock_open
279811           return object
279812
279813         · 852ba4b982 Add mocked close() function to MockFH
279814
279815         · f6b46bc608 Remove unused import
279816
279817         · 20f60a769b Add blank lines to appease linter
279818
279819         · 48d7cfa6d3 Add multifile tests for mock_open
279820
279821         · 1861e9b944 mock_open: rewrite multi-file support
279822
279823         · 5e6b539770 Use function for empty string
279824
279825         · cb2620ad2b Update core grains tests to reflect EAFP changes
279826
279827         · 5d09b178d7 Separate mocked file contents per filename, not glob
279828
279829         · 875102f538 Modify mock_open to support multiple file paths
279830
279831         · 096ace74df Move lsb_release parsing into its own function
279832
279833         · 6a0828beed Add unit tests for mock_open
279834
279835         · 8ba6cadac7 More mock_open bugfixes
279836
279837         · 329dea218e Add a bunch of logging for linux os_data core grains
279838
279839         · 2c64b270df Add timestamp to the minion's log_fmt_console
279840
279841       · PR #48216: (Ch3LL) Fix UnicodeDecodeError when reading file to deter‐
279842         mine virtual grain (refs: #48440) @ 2018-06-20 16:53:41 UTC
279843
279844         · 6072d1ef9c Merge pull request #48216 from Ch3LL/grains_unicode
279845
279846         · c4334f3f14  Fix  UnicodeDecodeError  when reading file to determine
279847           virtual grain
279848
279849       · PR  #48212:  (Ch3LL)  Fix  python3  ec2  salt-cloud  TypeError   when
279850         installing salt (refs: #49041) @ 2018-06-20 16:00:21 UTC
279851
279852         · 77a75ebdcf Merge pull request #48212 from Ch3LL/py3_ec2
279853
279854         · b0d75f459a  Fix  python3  ec2  salt-cloud TypeError when installing
279855           salt
279856
279857       · ISSUE #47984: (jeduardo) x509 module/state writing wrong  certificate
279858         serial number to CRL  (refs: #47986, #48080)
279859
279860       · PR  #48209:  (rallytime)  Back-port  #47986  to  2018.3  @ 2018-06-20
279861         13:44:17 UTC
279862
279863         · PR #48080: (lusche) Bugfix #47984  messed  up  cert  serial  (refs:
279864           #48209)
279865
279866         · PR #47986: (jeduardo) Fix serial number writing into CRL files with
279867           the x509 module (refs: #48209)
279868
279869         · de614d31f5 Merge pull request #48209 from rallytime/bp-47986
279870
279871         · f4b3bd5d2c Changed salt.utils.fopen to salt.utils.files.fopen
279872
279873         · 8686872909 Fixed typos, removed repeated unit  tests,  and  applied
279874           code fixes suggested by linter.
279875
279876         · 382df48a72 Removed useless new line
279877
279878         · 5aa99d14c4  Added unit tests for CRL creation and certificate revo‐
279879           cation with CRL
279880
279881         · cc12844922 Fixed a problem where the  OpenSSL  bindings  refuse  to
279882           consume unicode strings.
279883
279884         · 399cf08860  Stopped  converting  the certificate hexadecimal serial
279885           number to an integer in order to avoid breaking CRLs.
279886
279887       · PR #48210: (rallytime) [2018.3] Merge forward from 2018.3.1 to 2018.3
279888         @ 2018-06-20 13:43:19 UTC
279889
279890         · 1f88df6e89 Merge pull request #48210 from rallytime/merge-2018.3
279891
279892         · dae65da256 Merge branch '2018.3.1' into '2018.3'
279893
279894       · PR   #48186:  (rallytime)  Add  autodoc  module  for  saltcheck.py  @
279895         2018-06-19 19:03:55 UTC
279896
279897         · 5b4897f050 Merge pull request #48186 from rallytime/saltcheck-docs
279898
279899         · 314fc2d889 Clean up some doc references
279900
279901         · da7603d879 Add autodoc module for saltcheck.py
279902
279903       · PR #48191: (twangboy) Use the  --disable-pip-version-check  option  @
279904         2018-06-19 18:13:44 UTC
279905
279906         · 7274a33c80 Merge pull request #48191 from twangboy/fix_pip_check
279907
279908         · 5c00fce6bf Use the --disable-pip-version-check option
279909
279910       · ISSUE  #48122:  (pasmon) Salt minion 2017.7.6 disregards "bin_env" in
279911         pip state (refs: #48189)
279912
279913       · PR #48189: (gtmanfred) If pip binary is passed to bin_env,  use  that
279914         pip binary (refs: #48207) @ 2018-06-19 18:08:13 UTC
279915
279916         · 96f79b0674 Merge pull request #48189 from gtmanfred/pip
279917
279918         · 96c59f3d93 If pip binary is passed to bin_env, use that pip binary
279919
279920       · PR #48165: (terminalmage) Fix regression with top_file_merging_strat‐
279921         egy=same @ 2018-06-19 18:03:07 UTC
279922
279923         · 71e385501b Merge pull request #48165 from terminalmage/issue48144
279924
279925         · 92ac2a2d6a Remove unused imports
279926
279927         · 15a44d5dd4 Remove redundant top file merging tests
279928
279929         · 12100d9bd3 Add more top file merging tests
279930
279931         · 0ed686cb3f Add unit test for show_top with "same" merging strategy
279932
279933         · 35e5492fb7 Revert 7058f10 / 3df6fa7
279934
279935       · ISSUE #46806: (ezh) Lack of debug messages  on  authentication  fail.
279936         (refs: #46807, #48179)
279937
279938       · PR #48179: (ezh) 2018.3 auth @ 2018-06-19 14:16:40 UTC
279939
279940         · PR  #46807:  (ezh)  Reduce  initial authentication setup complexity
279941           (refs: #48179)
279942
279943         · 2a8e1c6539 Merge pull request #48179 from ezh/2018.3-auth
279944
279945         · 9ed2d2ec55    Fix    integration.shell.test_key    and     integra‐
279946           tion.shell.test_runner
279947
279948         · 26a6f79730   Fix   integration   tests   test_list_acc_wrong_eauth,
279949           test_salt_run_with_wrong_eauth
279950
279951         · b84c4321c4 Add more verbose debug messages for auth subsystem
279952
279953       · PR #48188: (gtmanfred) allow virtual  aliases  to  be  used  for  the
279954         driver name @ 2018-06-18 21:49:16 UTC
279955
279956         · 0231008cf8 Merge pull request #48188 from gtmanfred/2018.3
279957
279958         · 45249d3e10 allow virtual aliases to be used for the driver name
279959
279960       · PR  #48116:  (KaiSforza)  Add  jenkinsfiles to define tests in 2018 @
279961         2018-06-18 21:27:10 UTC
279962
279963         · 0f95238dca Merge pull request #48116 from KaiSforza/pr-lint-2018
279964
279965         · f158bed5bd Add docs, kitchen tests
279966
279967         · 904a70c187 Move .jenkins to .ci for future
279968
279969         · 365fa0e51f Make it parallel so we don't fail right away
279970
279971         · e594979745 Add a .jenkins file to run pylint
279972
279973       · ISSUE #48146: (rmarchei) mysql_query.run: exception on 2018.3  (refs:
279974         #48164)
279975
279976       · PR   #48164:  (garethgreenaway)  [2018.3]  Fixes  to  mysql  state  @
279977         2018-06-18 13:10:20 UTC
279978
279979         · 60c9490bdc   Merge   pull   request   #48164   from    garethgreen‐
279980           away/48146_mysql_output_to_file
279981
279982         · a040643a82  Accounting for certain situations when the query result
279983           is not a string, but actually a dictionary.
279984
279985       · ISSUE #48113: (gaetanquentin) state file.line has  error  and   erase
279986         file  content  completly,  while with mode  test=true it is ok (refs:
279987         #48156)
279988
279989       · PR #48156: (garethgreenaway) [2018.3] Unicode fixes for  file.line  @
279990         2018-06-17 19:34:08 UTC
279991
279992         · 85ebcbd3f2    Merge   pull   request   #48156   from   garethgreen‐
279993           away/48113_ensure_writing_strings_with_file_dot_line
279994
279995         · 5a9ef0d1ae Unless we're using py2 and Windows, ensure we're writing
279996           out a string when using file.line.
279997
279998       · PR #48161: (rallytime) [2018.3] Merge forward from 2017.7 to 2018.3 @
279999         2018-06-17 19:33:29 UTC
280000
280001         · 33400e72db Merge pull request #48161 from rallytime/merge-2018.3
280002
280003         · 0733fa1b02 Update utils path for which function to new path
280004
280005         · 398cc78224 Merge branch '2017.7' into '2018.3'
280006
280007         · df2a156338   Merge   pull   request   #48061   from    garethgreen‐
280008           away/port_47049_2017_7
280009
280010           · 7c472fed51 Fixing failing test_set_hwclock_aix test.
280011
280012           · ccb0acc958 Porting #47049 to 2017.7.
280013
280014         · 5ec3cf2dd4 Merge pull request #48143 from Ch3LL/fix_long_job
280015
280016           · 48b5d2e9d3 Add timeout argument to run_salt for ShellCase
280017
280018         · e1e566d1f8     Merge    pull    request    #48135    from    rally‐
280019           time/release-notes-2017.7
280020
280021           · 7a97f157b3 Add missing v for tag reference
280022
280023           · 2f2b69ed37 Add "in progress" notation to 2017.7.7 release notes
280024
280025           · 06a1151a63 Add release notes file for 2017.7.7
280026
280027           · 885b2862ce Move 2017.7.7 release notes to 2017.7.8
280028
280029         · ac9dabbfaa Merge pull request #48105 from rallytime/merge-2017.7
280030
280031           · cdb45874de Merge branch '2017.7.6' into '2017.7'
280032
280033             · 16916d6bd2 Merge pull request #47880 from gtmanfred/2017.7.6
280034
280035               · 987ae6358b quote python_version in requirements.txt
280036
280037             · 27670168ea   Merge   pull   request    #47875    from    rally‐
280038               time/release-notes-dot-six
280039
280040               · 58dee4c829   Remove  sentence  about  the  release  being  in
280041                 progress
280042
280043               · b3dcb7330e Remove "in progress" too
280044
280045               · 99e1df7823 Update 2017.7.6 release notes: remove "unreleased"
280046                 text
280047
280048             · 1f0bada07c Merge pull request #47873 from gtmanfred/2017.7.6
280049
280050               · a1c1b5b5cf allow tornado 5.0 to be installed only for python2
280051
280052         · 2da56a69d9     Merge    pull    request    #48101    from    rally‐
280053           time/update-doc-refs-2017.7
280054
280055           · 7ba6f5fb36 Update 2017.7.7 reference to 2017.7.8
280056
280057         · 5a0e3d46e7   Merge   pull    request    #48091    from    terminal‐
280058           mage/fix-file_roots-monkeypatching
280059
280060           · 6fe711ad76  Reverse  monkeypatching  after test_symlink_list fin‐
280061             ishes
280062
280063         · 053b019a8f Merge pull  request  #48088  from  rallytime/update_ver‐
280064           sion_doc_2017.7
280065
280066           · 1b8d1c936b Remove "in progress" info for 2017.7.6 release notes
280067
280068           · 9a0f4d190a Update release versions for the 2017.7 branch
280069
280070         · d6d2c5ee18    Merge   pull   request   #48075   from   garethgreen‐
280071           away/48038_jobs_are_not_deduping_minion_side
280072
280073           · c537b3275b Ensure that the shared list of  jids  is  passed  when
280074             creating  the Minion.  Fixes an issue when minions are pointed at
280075             multiple syndics.
280076
280077         · aa33cc0b0c Merge pull request #48071 from terminalmage/gitfs-docs
280078
280079           · 24545204b3 Fix inaccurate gitfs_saltenv example  in  GitFS  Walk‐
280080             through
280081
280082         · fb4ceacb88 Merge pull request #48053 from rallytime/bp-48040
280083
280084           · 265b22b194 states/github.py fix for incorrect positional argument
280085
280086         · f37dcaac6d Merge pull request #48024 from gtmanfred/2017.7
280087
280088           · 56b074ab27 allow specifying a different state to run on converge
280089
280090           · cc9c4b4d5a add pytest coverage and xml junits
280091
280092       · ISSUE  #48145:  (max-arnold) Failed to load ext_pillar saltclass: can
280093         only assign an iterable (refs: #48155)
280094
280095       · PR #48155: (max-arnold) Do not fail on empty saltclass  classes  (fix
280096         for #48145) @ 2018-06-15 20:21:28 UTC
280097
280098         · 9aa9a83b10 Merge pull request #48155 from max-arnold/2018.3
280099
280100         · 63ab02c648  Do  not  fail  on  empty  saltclass classes declaration
280101           #48145
280102
280103         · 3d4fcbe3aa Add test for issue #48145
280104
280105       · PR #48104: (twangboy) Fix unit.modules.test_win_status  @  2018-06-15
280106         17:05:34 UTC
280107
280108         · 152c09cc0c     Merge    pull    request    #48104    from    twang‐
280109           boy/fix_test_win_status
280110
280111         · 1ec3f436ee Fix test_error_logged_if_process_get_owner_fails
280112
280113       · PR #48147: (brejoc) Fix  for  sorting  of  multi-version  packages  @
280114         2018-06-15 17:03:18 UTC
280115
280116         · 8cf03110d4  Merge pull request #48147 from brejoc/2018.3-multi-ver‐
280117           sion-fix
280118
280119         · 90ed25447d Swtiching to salt.utils.versions like linter suggested
280120
280121         · ed09574073 Fix for sorting of multi-version  packages  (bsc#1097174
280122           and bsc#1097413)
280123
280124       · PR #47956: (dmurphy18) Improved support for mount on AIX @ 2018-06-15
280125         13:40:01 UTC
280126
280127         · 2edc5f5442 Merge pull request #47956 from  dmurphy18/aix_mount_sup‐
280128           port
280129
280130         · f2a3e321db Improved support for mount on AIX
280131
280132       · ISSUE  #48012:  (Timandes)  Found  UnicodeDecodeError  when trying to
280133         start Salt Master (refs: #48081)
280134
280135       · PR #48081: (terminalmage) Fix UnicodeDecodeError when  parsing  hosts
280136         file with non-ascii @ 2018-06-15 12:41:13 UTC
280137
280138         · c05c176782 Merge pull request #48081 from terminalmage/issue48012
280139
280140         · 8d2fb0bf25 Fix cp.push test
280141
280142         · e230a7223f Fix definition of test data for wtmp/btmp beacon tests
280143
280144         · 82874a8c10 Import six like we do everywhere else
280145
280146         · 54f9a2ab54 Remove unused import
280147
280148         · 767cc7e87f fix tabs
280149
280150         · db19636f56 Get rid of additional newline append
280151
280152         · 7427e192ba Fix more crappy mocking
280153
280154         · 4eaa5789ce Fix crappy mocking
280155
280156         · 248467edac Add regression test for _generate_minion_id()
280157
280158         · 5e62d6d45f  Fix  UnicodeDecodeError  when  parsing  hosts file with
280159           non-ascii
280160
280161         · e6a4744f85 Use errno instead of hard-coding error 2
280162
280163         · ff63f36932 Fixes / enhancements for mock_open
280164
280165       · PR #48133: (rallytime) Updates  the  2018.3.2  and  2018.3.3  release
280166         notes files @ 2018-06-14 21:21:15 UTC
280167
280168         · PR  #48129:  (rallytime)  Add  release  notes  for  2018.3.2 (refs:
280169           #48133)
280170
280171         · 5d92e2763a    Merge    pull    request    #48133    from     rally‐
280172           time/release-notes-2018.3
280173
280174         · afe1e91972 Add "in progress" notation to 2018.3.2 release notes
280175
280176         · 3e4272ac09 Add release notes for 2018.3.2
280177
280178         · 88c584cb0d Move 2018.3.2 release notes to 2018.3.3
280179
280180       · PR #48103: (terminalmage) Fix for gitfs base env being pinned to com‐
280181         mit ID @ 2018-06-14 16:29:24 UTC
280182
280183         · 0e3f846836   Merge   pull    request    #48103    from    terminal‐
280184           mage/gitfs-base-pinned-to-commit
280185
280186         · 31ab2fe8de Fix for gitfs base env being pinned to commit ID
280187
280188       · PR  #48077: (twangboy) Fix issue with salt.utils.parsers on Windows @
280189         2018-06-14 16:22:57 UTC
280190
280191         · 4b6f1c7f75 Merge pull request #48077 from twangboy/fix_parsers
280192
280193         · 0f7d7691a2 Call logger in each case
280194
280195         · 0e99dd741c Fix logic for non-root
280196
280197         · 2d2534a688 Fix parsers for Windows, fix tests
280198
280199       · PR  #48096:  (twangboy)  Fix  unit.utils.test_which  on   Windows   @
280200         2018-06-14 13:15:14 UTC
280201
280202         · 80332b32a7 Merge pull request #48096 from twangboy/fix_test_which
280203
280204         · d26fc56f13 Use os.sep for paths
280205
280206       · PR   #48102:  (rallytime)  [2018.3]  Update  2018.3.2  references  to
280207         2018.3.3 @ 2018-06-14 13:14:26 UTC
280208
280209         · 66b2200913    Merge    pull    request    #48102    from     rally‐
280210           time/update-doc-refs-2018.3
280211
280212         · 1c9bcce3d8 Update 2018.3.2 references to 2018.3.3
280213
280214       · PR  #48109:  (rallytime)  Back-port  #47851  to  2018.3  @ 2018-06-14
280215         13:09:04 UTC
280216
280217         · PR  #47851:  (rares-pop)  Fixup!   add   master.py:FileserverUpdate
280218           **kwargs (refs: #48109)
280219
280220         · 2902ee0b14 Merge pull request #48109 from rallytime/bp-47851
280221
280222         · e9dc30bf8e Fixup! add master.py:FileserverUpdate **kwargs
280223
280224       · ISSUE  #47925:  (JonGriggs)  GitFS  looking  for  files in the master
280225         branch only (refs: #47943)
280226
280227       · PR #47943: (terminalmage) Make sure we set the effective  environment
280228         when lock_saltenv is True @ 2018-06-13 20:02:00 UTC
280229
280230         · 2529292568 Merge pull request #47943 from terminalmage/issue47925
280231
280232         · 534e1a7100 Merge branch '2018.3' into issue47925
280233
280234       · PR  #48089: (rallytime) Update release versions for the 2018.3 branch
280235         @ 2018-06-13 14:03:44 UTC
280236
280237         · 9e1d0040e4 Merge pull  request  #48089  from  rallytime/update_ver‐
280238           sion_doc_2018.3
280239
280240         · fad6a0991e Remove "in progress" info for 2018.3.1 release notes
280241
280242         · a3b3b0a0e1 Remove "in progress" info for 2017.7.6 release notes
280243
280244         · f9be1b9125 Update release versions for the 2018.3 branch
280245
280246       · PR #48054: (rallytime) [2018.3] Merge forward from 2017.7 to 2018.3 @
280247         2018-06-13 12:58:46 UTC
280248
280249         · b10b7355a0 Merge pull request #48054 from rallytime/merge-2018.3
280250
280251         · 508d70fabf Update old utils paths to use new paths
280252
280253         · 3d2ea16c3a Merge branch '2017.7' into '2018.3'
280254
280255           · ffee3576ec   Merge    pull    request    #48044    from    twang‐
280256             boy/wua_add_fail_code
280257
280258             · d41d0c25eb Add faile code for WinHTTP send/receive error
280259
280260           · 871a910fcb Merge pull request #48009 from dwoz/winswarmfix
280261
280262             · 5027c7bb84 minionswarm runs on windows
280263
280264           · 0dcaead36d Merge pull request #47968 from gtmanfred/2017.7
280265
280266             · ae1b0d28bb pass LANG and HOME into tox commands
280267
280268             · 8d15b93d00 remove tox virtualenvs from doc tests
280269
280270             · e1872e2036 simplify tox.ini
280271
280272             · 81bd01f5af  add  tests.txt  for running tests with tox require‐
280273               ments
280274
280275             · 556a2067fc fix masterapi test to use testing directory for con‐
280276               figs
280277
280278             · 5a41f484ef add EXPENSIVE_TESTS
280279
280280             · 055cd5a6ba   set  DESTRUCTIVE_TESTS  environment  variable  for
280281               pytest
280282
280283           · 42dd6b83eb Merge pull request #47978 from twangboy/fix_test_pkg
280284
280285             · 8bb36b3a4b Add try/finally, fix typo in 7zip def file
280286
280287           · a67b21ef3d Merge pull request #47959 from  twangboy/fix_test_ser‐
280288             vice
280289
280290             · 0cd47aa81e Remove unused import
280291
280292             · d4b42540e3 Fix failing test when service doesn't exist
280293
280294           · b81d482067  Merge  pull request #47983 from garethgreenaway/back‐
280295             port_47843_2017_7
280296
280297             · 7b7fb1f5d5 Adding missing test sls file.
280298
280299             · 54e51bc627 Backporting #47843  to  2017.7,  updating  test  for
280300               2017.7.
280301
280302           · d56ddad22c Merge pull request #47533 from twangboy/fix_47178
280303
280304             · 24717cbc21 Change version added to 2017.7.7
280305
280306             · 0592f1bac2 Fix issues with functions that user makedirs on Win‐
280307               dows
280308
280309           · 5c56b8c755 Merge pull request #47827 from twangboy/fix_47791
280310
280311             · fbbd91f09e Add more descriptive debug message
280312
280313             · 365f81651b Fix deprecated exception handling
280314
280315             · 8dd6710b93 Use local instead of network
280316
280317             · 980d99d74b Fix issue when archive is on mapped drive
280318
280319       · PR #48060: (gtmanfred) mark test as expensive @  2018-06-13  12:58:21
280320         UTC
280321
280322         · c83818e4f9 Merge pull request #48060 from gtmanfred/2018.3
280323
280324         · 914935c4d4 Merge branch '2018.3' into 2018.3
280325
280326       · PR #48057: (terminalmage) Fix link without target in 2018.3.0 release
280327         notes @ 2018-06-11 18:50:17 UTC
280328
280329         · a4eb41623d Merge pull request #48057 from terminalmage/docs-2018.3
280330
280331         · 20f71ff6f6 Fix link without target in 2018.3.0 release notes
280332
280333         · d8c035e5e5 mark test as expensive
280334
280335       · PR #48042: (terminalmage) Switch to trace level logging  for  further
280336         test failure troubleshooting @ 2018-06-11 14:03:48 UTC
280337
280338         · 0f9a3122df  Merge  pull request #48042 from terminalmage/salt-jenk‐
280339           ins-1000
280340
280341         · b33a0b5eaa Switch to trace level logging for further  test  failure
280342           troubleshooting
280343
280344       · PR  #48041: (terminalmage) salt.utils.hashutils: Only decode to utf-8
280345         on Windows @ 2018-06-11 13:31:41 UTC
280346
280347         · 6c5389189a   Merge   pull    request    #48041    from    terminal‐
280348           mage/hashutils-fix-windows
280349
280350         · 58c7cd33d7 salt.utils.hashutils: Only decode to utf-8 on Windows
280351
280352       · PR #48014: (cro) Find job pause @ 2018-06-08 13:48:45 UTC
280353
280354         · dcae209951 Merge pull request #48014 from cro/find_job_pause
280355
280356         · 440aa67c4f Lint: Add blank line
280357
280358         · 7b0e99a511 One more case where returner doesn't respond
280359
280360         · 5abeedf882  Catch  two cases when a returner is not able to be con‐
280361           tacted--these would throw a stacktrace.
280362
280363       · PR #47915: (garethgreenaway) [2018.3] state runner pause resume  kill
280364         @ 2018-06-07 16:08:30 UTC
280365
280366         · ea85f882bc    Merge   pull   request   #47915   from   garethgreen‐
280367           away/state_runner_pause_resume_kill
280368
280369         · 2ecbe9c034 fixing typo in alias_function call.
280370
280371         · 4377e0cc08 Some fixes to the set_pause and rm_pause function in the
280372           state  runner,  renaming to in line with the functions in the state
280373           module.  Including aliases to previous names for back-ward compati‐
280374           bility.   Including a soft_kill function to kill running orchestra‐
280375           tion states.  A new test to test soft_kill functionality.
280376
280377       · PR #48002:  (rallytime)  Back-port  #47923  to  2018.3  @  2018-06-07
280378         15:25:39 UTC
280379
280380         · PR  #47923:  (isbm)  Prevent  crash if files in file.recurse (refs:
280381           #48002)
280382
280383         · 5c11fcde60 Merge pull request #48002 from rallytime/bp-47923
280384
280385         · 9465e5f1e9 Use to_unicode from stringutils avoid deprecation  warn‐
280386           ing
280387
280388         · 73d33cbfc3 Prevent crash if files in file.recurse
280389
280390       · PR #48003: (rallytime) [2018.3] Merge forward from 2017.7 to 2018.3 @
280391         2018-06-07 15:25:19 UTC
280392
280393         · 3d0a087c71 Merge pull request #48003 from rallytime/merge-2018.3
280394
280395         · a6533a9332 Merge branch '2017.7' into '2018.3'
280396
280397           · 998a1c13d5  Merge  pull  request  #47966  from  mbunkus/fix-post‐
280398             fix-prefix-free-key-names-assumption
280399
280400             · 0ae402d1b5 Fix postfix.set_main's assumption of prefix-free key
280401               names
280402
280403           · df50ce7b1b Merge pull request #47824 from twangboy/fix_setup.py
280404
280405             · 4538b3abb3 Remove 'len-as-condition' disablement
280406
280407             · d4efcc3c8b Skip lint errors
280408
280409             · 1b3977f8d4 Remove m2crypto download for Windows
280410
280411           · 3e91a31134     Merge      pull      request      #47922      from
280412             damon-atkins/2017.7_win_pkg_keys_fix
280413
280414             · 7129203b1b Merge branch '2017.7' into 2017.7_win_pkg_keys_fix
280415
280416           · 8008fca2f6  Merge  pull request #47933 from terminalmage/add-pil‐
280417             lar.get-docs
280418
280419             · 4eb022b675 Clarify pillar.get docs
280420
280421           · ab565bfaa3   Merge   pull   request   #47944    from    terminal‐
280422             mage/fix-git.detached-docs
280423
280424             · 1d082b4389   Replace   use   of  deprecated  argument  name  in
280425               git.detached docstring
280426
280427             · 6253793cb6 Merge branch '2017.7' into 2017.7_win_pkg_keys_fix
280428
280429             · 4ce0fe6546 win_pkg under py3 keys returns a view instead  of  a
280430               list, wrap keys in list()
280431
280432       · PR #48022: (morganwillcock) win_wua state: fix function name in exam‐
280433         ples @ 2018-06-07 15:03:52 UTC
280434
280435         · 0a05212f60 Merge pull request #48022 from morganwillcock/patch-1
280436
280437         · 443f4d6f21 win_wua state: fix function name in examples
280438
280439       · ISSUE  #47546:  (ender8282)  archive.extracted  fails  when   archive
280440         includes  files  with  non-ascii  names  with 2018.3.0 (refs: #48015,
280441         #47572)
280442
280443       · PR #48015: (garethgreenaway) [2018.3] more unicode  nonsense  in  ar‐
280444         chive module @ 2018-06-07 14:44:55 UTC
280445
280446         · 406efb161e    Merge   pull   request   #48015   from   garethgreen‐
280447           away/47546_more_unicode_nonsense
280448
280449         · f457f9cb84 Adding a test to ensure archive.list returns  the  right
280450           results when a tar file contains a file with unicode in it's name.
280451
280452         · 9af49bc595 Ensure member names are decoded before adding to various
280453           lists.
280454
280455       · ISSUE #47955: (frogunder) 2018.3.1 Creating Windows machine in Amazon
280456         using salt-cloud fails. (refs: #47989)
280457
280458       · PR  #47989: (dwoz) Properly decode password from aws using m2crypto @
280459         2018-06-06 20:44:28 UTC
280460
280461         · 1ce7d6c38a Merge pull request #47989 from dwoz/awscloud
280462
280463         · 23ab2727be Fix linter errors
280464
280465         · 6c8daa2b85 Properly decode password from aws using m2crypto
280466
280467       · PR #47976: (terminalmage) Capture and log output  of  processes  that
280468         timed out and were killed @ 2018-06-06 19:17:08 UTC
280469
280470         · 76068c83f5  Merge  pull request #47976 from terminalmage/salt-jenk‐
280471           ins-1000
280472
280473         · 41e5a75027 Add catch_timeout to run_script
280474
280475         · 551ada8e4d Capture and log output of processes that timed  out  and
280476           were killed
280477
280478       · PR  #47990:  (terminalmage)  Docs  fixes  in  2018.3 release branch @
280479         2018-06-06 17:15:17 UTC
280480
280481         · f12a52736e Merge pull request #47990 from terminalmage/2018.3-docs
280482
280483         · f89d2ccd30 Clean up Sphinx warnings
280484
280485         · f5fc936865 Add clarifying comment so that we don't break this
280486
280487         · 94849780ac fix docs build error due to IndexError
280488
280489       · PR #47982: (twangboy) Fix  unit.modules.test_win_dns_client  tests  @
280490         2018-06-06 15:02:10 UTC
280491
280492         · 9d56af3cad     Merge    pull    request    #47982    from    twang‐
280493           boy/fix_test_win_dns_client
280494
280495         · 2dcdf6788c Force string to ModuleType
280496
280497       · PR  #47985:  (twangboy)  Fix  unit.states.test_reg  test  failure   @
280498         2018-06-06 14:56:03 UTC
280499
280500         · 1b4c72345b Merge pull request #47985 from twangboy/fix_test_reg
280501
280502         · 4ce551811f Remove the unnecessary to_unicode stuff
280503
280504         · 863ded39fa Mock reg.cast_vdata
280505
280506       · ISSUE #47236: (MorphBonehunter) x509.private_key_managed broken after
280507         upgrade to 2018.3.0 (refs: #47957)
280508
280509       · PR #47957: (garethgreenaway) [2018.8] Ensure  x509  passphrase  is  a
280510         string @ 2018-06-05 13:27:33 UTC
280511
280512         · 84100570f7    Merge   pull   request   #47957   from   garethgreen‐
280513           away/47236_ensure_passphrase_is_a_string
280514
280515         · 99bad3cca6 removing unnecessary change
280516
280517         · e22df8473d Ensuring that when a passphrase  is  passed  in,  it  is
280518           returned as a string from the passphrase callback.
280519
280520              · d0cf06a24d  Make  sure  we  set the effective environment when
280521                lock_saltenv is True
280522
280523                    · 8da6ce45dc Finish the docstring for git.cloned state
280524
280525                    · 4a8260a5e5 Add tests for git.cloned state
280526
280527                    · 311179da05 Add git.cloned state
280528
280529       · PR #47926: (dmurphy18) Backport  of  PR  47808  to  2018.3,  improved
280530         grains support for AIX @ 2018-06-04 19:31:24 UTC
280531
280532         · PR  #47808:  (dmurphy18)  Updated  AIX  support for grains reported
280533           (refs: #47926)
280534
280535         · c355da9e0d  Merge  pull   request   #47926   from   dmurphy18/back‐
280536           port_pr47808
280537
280538         · ac15d2093a  Backport of PR 47808 to 2018.3, improved grains support
280539           for AIX
280540
280541       · PR #47927: (rallytime) [2018.3] Merge forward from 2017.7 to 2018.3 @
280542         2018-06-04 18:55:12 UTC
280543
280544         · a46e42ab11 Merge pull request #47927 from rallytime/merge-2018.3
280545
280546         · 5baab66f4b Lint: Whitespace fix
280547
280548         · 7e1d278d19 Update old utils paths to use new utils paths
280549
280550         · 3273bbdab7 Merge branch '2017.7' into '2018.3'
280551
280552           · a2b588299b    Merge    pull   request   #47860   from   terminal‐
280553             mage/state-writing-docs
280554
280555             · 8cb33d3dec Quiet the linter
280556
280557             · af51e16f23 Use more elegant RST syntax
280558
280559             · 91cd57d1e0 Update mocking to reflect changes in service module
280560
280561             · b9ace5a859 Fix crappy mocking
280562
280563             · bc9e3acef3 Lint fixes
280564
280565             · d37f7e4f04 Add 2017.7.6 release notes
280566
280567             · 9dddeeefab Improve documentation on syncing states
280568
280569             · f465fa3ca7 Add best practices docs for writing states
280570
280571             · 93ee5ee2b0 Fix all Sphinx warnings
280572
280573             · 64b9b4d0b8 Clarify that name would override the id declaration
280574
280575           · d2f3377b5b Merge pull request #47877 from dwoz/sleep_audit
280576
280577             · ebc7cde9cb Revert job chunk wait time change
280578
280579           · 735e92093e Merge pull request #47917 from dwoz/winsuite
280580
280581             · 118601ebd6 Fix windows tests suite breakage
280582
280583           · 63efb76d51 Merge pull request #47822 from Ch3LL/win_user_test
280584
280585             · 3a691b405f add user_home path for both windows and linux
280586
280587             · 788abf771e Add user state integration tests to windows
280588
280589           · b9da4f1221   Merge   pull    request    #47876    from    doesit‐
280590             blend/add-file-read-windows
280591
280592             · 3f7e7ec327 Add file.read function to Windows module
280593
280594           · cbe2ecfae8 Merge pull request #47882 from frogunder/45013
280595
280596             · 38d114a2d2 add whoami test
280597
280598       · PR  #47931:  (rallytime)  Back-port  #47913  to  2018.3  @ 2018-06-04
280599         14:39:16 UTC
280600
280601         · PR #47913:  (rares-pop)  Fixup!  beacons/avahi_announce.py  finding
280602           grains (refs: #47931)
280603
280604         · 4db1f8c603 Merge pull request #47931 from rallytime/bp-47913
280605
280606         · c51e732f4d Fixup! beacons/avahi_announce.py finding grains
280607
280608       · PR  #47930:  (rallytime)  Back-port  #47725  to  2018.3  @ 2018-06-04
280609         14:38:58 UTC
280610
280611         · PR #47725: (bbczeuz) network_settings  beacon:  Update  example  to
280612           follow new cfg convention (refs: #47930)
280613
280614         · d05a6c70d3 Merge pull request #47930 from rallytime/bp-47725
280615
280616         · 5c666409f3 Spelling fix
280617
280618         · cfe0a5bb42 network_settings: Fix doc using new list/dict syntax
280619
280620       · PR #47557: (L4rS6) fix broken rabbitmq list policies in rabbitmq ver‐
280621         sion 3.7 @ 2018-06-04 13:25:07 UTC
280622
280623         · 484d83014b Merge pull  request  #47557  from  L4rS6/fix-broken-rab‐
280624           bitmq-list-policies
280625
280626         · 6d7ef27557    Merge    branch    '2018.3'    into   fix-broken-rab‐
280627           bitmq-list-policies
280628
280629         · e043ea2833 refactored list_policies code and added more tests
280630
280631         · eea81feb7b fix broken rabbitmq list policies  in  rabbitmq  version
280632           3.7
280633
280634       · PR  #47949:  (terminalmage) Continued troubleshooting on salt-jenkins
280635         1000 @ 2018-06-04 13:17:14 UTC
280636
280637         · 866a2fbf5e Merge pull request #47949  from  terminalmage/salt-jenk‐
280638           ins-1000
280639
280640         · 9c369c6aa8 Remove temp logging from test
280641
280642         · af02d5ba7b Add result logging to run_script, make returns DRY
280643
280644       · PR  #47941:  (terminalmage)  Update  test  logging for salt-jenkins @
280645         2018-06-03 02:40:56 UTC
280646
280647         · 0b85d1273f Merge pull request #47941  from  terminalmage/salt-jenk‐
280648           ins-1000
280649
280650         · fb66368af9 Update test logging for salt-jenkins 1000
280651
280652       · PR   #47924:   (Ch3LL)   Catch  all  exceptions  in  git  import  for
280653         salt.utils.gitfs @ 2018-06-01 21:06:58 UTC
280654
280655         · 58b5f2b4dd Merge pull request #47924 from Ch3LL/mac_gitpy
280656
280657         · 75c51ad69b Catch all exceptions in git import for salt.utils.gitfs
280658
280659       · ISSUE #47269: (isdig) Reopen Windows Minion That Has IAM Role  Cannot
280660         Access to S3 (refs: #47879)
280661
280662       · PR  #47879:  (dwoz)  Fix  ami  role  usage  warts #47269 @ 2018-06-01
280663         14:11:55 UTC
280664
280665         · b88ec5258d Merge pull request #47879 from dwoz/ami_role_fix
280666
280667         · 3884c2cf5f Fix ami role usage warts #47269
280668
280669       · PR #47788: (twangboy) Use pytz to calculate  timezones  @  2018-05-31
280670         18:33:20 UTC
280671
280672         · b09596982b Merge pull request #47788 from twangboy/fix_47559
280673
280674         · 0d229c6182 Merge branch '2018.3' into fix_47559
280675
280676         · 9e612ec9e7 Fix markup in release notes
280677
280678         · 60499d18f0 Skip test if pytz not present
280679
280680         · 72cc361c7b Move pytz to 3rd party import, add to __virtual__
280681
280682         · b8a6488688 Update __virtual__ function
280683
280684         · 9923176b68 Use __utils__, fix unit tests
280685
280686         · 73e033f555 Return offset in the same format as Unix
280687
280688         · 5656183c5e Add timezone.list, add 2018.3.2 release notes
280689
280690         · 986f6c9b2a Use pytz to calculate timezones
280691
280692       · PR  #47899:  (terminalmage)  salt-jenkins  issue  1000  @  2018-05-31
280693         18:24:49 UTC
280694
280695         · ae73cb3947 Merge pull request #47899  from  terminalmage/salt-jenk‐
280696           ins-1000
280697
280698         · 25afc932f7 WIP salt-jenkins issue 1000
280699
280700       · PR  #47753: (Ch3LL) Add stderr launchctl helper class and fix service
280701         mac tests @ 2018-05-31 18:16:57 UTC
280702
280703         · 8f78e3aef6 Merge pull request #47753 from Ch3LL/service_mac
280704
280705         · 185c9e9ae2 only stop service if its running
280706
280707         · e15e674955 Add stderr launchctl helper class and  fix  service  mac
280708           tests
280709
280710       · PR  #47908:  (meaksh)  Align  SUSE salt-master.service 'LimitNOFILES'
280711         limit with upstream Salt @ 2018-05-31 18:13:27 UTC
280712
280713         · 828bf39695      Merge      pull      request      #47908       from
280714           meaksh/2018.3-align-suse-salt-master-service
280715
280716         · efe308013a Align SUSE salt-master.service 'LimitNOFILES' limit with
280717           upstream Salt
280718
280719       · PR #47868: (rallytime) [2018.3] Merge forward from 2017.7 to 2018.3 @
280720         2018-05-30 21:20:38 UTC
280721
280722         · b4bac9b41b Merge pull request #47868 from rallytime/merge-2018.3
280723
280724         · e5d386e91c Update solaris core grains test
280725
280726         · 267f09c1a0 Lint: Remove unused import
280727
280728         · 120ee16b70 Replace old utils paths with new utils paths
280729
280730         · dc32b67c03 Merge branch '2017.7' into '2018.3'
280731
280732           · 4b28e510f1 Merge pull request #47853 from dwoz/py3-cloud-test
280733
280734             · c2f8aef7c5 Fix for py3 ec2 cloud tests
280735
280736           · 215efa6b73   Merge   pull   request   #47847   from  garethgreen‐
280737             away/47833_reactor_runner_documentation
280738
280739             · 03676712de Adding some addition documentation  to  the  reactor
280740               runner  indicating that the reactor system must be active prior
280741               to using it.
280742
280743           · 0bf651b470 Merge pull request #47846 from Ch3LL/p_refresh_test
280744
280745             · 019edad8e4 Fix flaky refresh pillar integration test
280746
280747           · 799fce979d Merge pull request #47552 from twangboy/fix_46981
280748
280749             · cffc9b7806 Merge branch '2017.7' into fix_46981
280750
280751             · 81308a4a44 Add release notes for 2017.7.7
280752
280753             · 008af0ac6b Fix unit tests
280754
280755             · 87097eefb6 Add comments about how get is returning data
280756
280757             · f1f1bfc5c1 Show GPO settings, raise error if trying to set  gpo
280758               managed settings
280759
280760           · ffc2ebc373  Merge  pull request #47691 from lomeroe/solaris_prod‐
280761             uct_grains
280762
280763             · 6889befc6b Merge branch '2017.7' into solaris_product_grains
280764
280765             · 49053bc106 lint fix
280766
280767             · 6f185c9179 another lint fix
280768
280769             · dbffba6876 fix tons of errors in my tests
280770
280771             · 8c9355d34c Lint fix
280772
280773             · b29ec75da7 Update regexes in  core  grains  for  detecting  the
280774               'product'  grain  on Solaris Sparc systems.  Additionally, copy
280775               the 'product' grain to  'productname'  to  be  consistent  with
280776               other OSes.
280777
280778           · 96b7c0cc76 Merge pull request #47778 from Ch3LL/win_state_pkg
280779
280780             · e1786de6b0 Merge branch '2017.7' into win_state_pkg
280781
280782             · f8c467d3e6 Fix text editor error
280783
280784             · 872e162137 Add test_pkg integration state tests to windows
280785
280786           · 6f934c2259 Merge pull request #47823 from Ch3LL/win_dns_test
280787
280788             · 7848114d6a Add win_dns module integration tests for windows
280789
280790           · e63e04602d Merge pull request #47838 from rallytime/bp-47810
280791
280792             · bd2b62fa66 better debug message
280793
280794             · 83565c55df Address PR feedback
280795
280796             · 50bce3a2f3 make decode_linode_plan_label a private function
280797
280798             · 2ba4fc4cea  fix raising when a 'GB' format invalid plan is sup‐
280799               plied
280800
280801             · 3afb50d5a2 slight cleanup
280802
280803             · 319fbd3406 match quotation mark types properly
280804
280805             · 95e0202223 more consistent use of parens in logged warning
280806
280807             · f52926ca87 log a warning when the  user  supplied  a  label  we
280808               could decode but was not in the proper format
280809
280810             · 121303d827  reduce complexity of get_plan_id by moving decoding
280811               of the user-supplied label to its own function
280812
280813             · cf534c7314 Fix Linode plan selection
280814
280815           · 9ef6e60617 Merge pull request #47805 from twangboy/add_sign.bat
280816
280817             · 66d8b0331a Add sign.bat script for signing packages
280818
280819           · 93420950d3 Merge pull request #47500 from dwoz/winuser
280820
280821             · 0ca5224cbf Merge branch '2017.7' into winuser
280822
280823             · e5948902af Use salt utils method for this_user
280824
280825             · a056a293f1 Centeralize test username lookup
280826
280827             · 6a6ab69722 Get the current username on windows
280828
280829           · 552526f309 Merge pull request #47802 from rallytime/bp-40892
280830
280831             · bb357da084 add minion function to reload beacon #35960
280832
280833           · c9cccf53b9 Merge pull request #47816 from Ch3LL/disable_windows
280834
280835             · 2509d36888 Add windows to service disable ERROR check in tests
280836
280837           · 2cb6634c6b Merge pull request #47773 from frogunder/45011
280838
280839             · 7c9b0bda33 add win_servermanager.list_available test
280840
280841           · e65dece202 Merge pull request #47807 from dwoz/winrmtests
280842
280843             · 1f1cc1357a Increase instance size for cloud tests
280844
280845             · be8dcd21f1 Try an even bigger timeout
280846
280847       · PR #47900: (rallytime) [2018.3] Merge forward from 2018.3.1 to 2018.3
280848         @ 2018-05-30 18:09:41 UTC
280849
280850         · 21550dbd2d     Merge    pull    request    #47900    from    rally‐
280851           time/merge-2018.3.1-to-2018.3
280852
280853         · 2801eecb26 Merge branch '2018.3.1' into '2018.3'
280854
280855       · ISSUE #30367:  (paulfanelli)  salt-run  orchestration  via  state.sls
280856         always successful; it is ignoring state return value (refs: #47843)
280857
280858       · PR  #47843:  (garethgreenaway)  [2018.3]  orchestration results False
280859         when function is False (refs: #47983) @ 2018-05-30 17:21:54 UTC
280860
280861         · a0bf565741   Merge   pull   request   #47843   from    garethgreen‐
280862           away/30367_orch_return_false_when_function_fails
280863
280864         · 09242697b8         Merge         branch        '2018.3'        into
280865           30367_orch_return_false_when_function_fails
280866
280867       · PR #47866:  (rallytime)  Back-port  #47814  to  2018.3  @  2018-05-29
280868         19:55:24 UTC
280869
280870         · PR  #47814:  (travispaul)  Bugfixes and unit tests for pkgin module
280871           (refs: #47866)
280872
280873         · da6f7a5538 Merge pull request #47866 from rallytime/bp-47814
280874
280875         · d50c0ab96b Lint test_pkgin.py
280876
280877         · 4dac0b4a31 pkgin latest_version bugfix
280878
280879         · 4ae0313797 Bugfixes and unit tests for pkgin module
280880
280881       · PR #47865:  (rallytime)  Back-port  #47600  to  2018.3  @  2018-05-29
280882         19:54:44 UTC
280883
280884         · PR #47600: (travispaul) Prevent crash on NetBSD and OpenBSD when no
280885           swap is configured. (refs: #47865)
280886
280887         · d9e7f2b5b1 Merge pull request #47865 from rallytime/bp-47600
280888
280889         · f9f464fa51 Prevent crash on NetBSD and OpenBSD when no swap is con‐
280890           figured.
280891
280892       · PR  #47221:  (azelezni) Fix boto_ec2 unused parameter "network_inter‐
280893         faces" @ 2018-05-29 14:41:35 UTC
280894
280895         · 61561a8279      Merge      pull      request      #47221       from
280896           azelezni/fix-boto_ec2-network_interfaces
280897
280898         · 03ee0023eb Fix unused network_interfaces parameter
280899
280900         · 1ece61ddfa Fix unused network_interfaces parameter
280901
280902         · 3e074be9c3 Fixing lint
280903
280904         · 02609b6e61 Adding state files for new test.
280905
280906         · 377e34c689  Updating  function in saltmod to ensure that the result
280907           is a failure if the function being run returns as False.
280908
280909       · PR #47850: (rallytime) Fix autodoc for new swarm module @  2018-05-26
280910         01:53:16 UTC
280911
280912         · c4d828c986 Merge pull request #47850 from rallytime/swarm-autodoc
280913
280914         · 467c8fa45c Fix autodoc for new swarm module
280915
280916       · PR #47800: (rallytime) [2018.3] Merge forward from 2017.7 to 2018.3 @
280917         2018-05-26 01:17:40 UTC
280918
280919         · 30b31c5db5 Merge pull request #47800 from rallytime/merge-2018.3
280920
280921         · 9e3ce39e8c Typo: test_type --> text_type
280922
280923         · 8877489386 Fix bad merge caught by test in zpool state
280924
280925         · c328450be2 Update old utils paths to new paths
280926
280927         · 4abfd26e86 Merge branch '2017.7' into '2018.3'
280928
280929           · 46618d2ce7 Merge pull request #47765 from  meaksh/2017.7-fix-zyp‐
280930             per-error-reading-repo
280931
280932             · 4475ba19b8  Prevent zypper from parsing repo configuration from
280933               not .repo files
280934
280935           · 0e87559ee3 Merge pull request #47781  from  rallytime/update-lin‐
280936             ode-sizes
280937
280938             · a90c1b760e Update cloud test profile and docs to use new Linode
280939               size lables
280940
280941           · 3ddc56cb9b Merge pull request #47748 from rallytime/merge-2017.7
280942
280943             · b75f5ae38e Merge branch '2017.7.6' into '2017.7'
280944
280945               · edf94c915e Merge pull request #47775 from gtmanfred/2017.7.6
280946
280947                 · 548f65d056 catch UnsupportedOperation with AssertionError
280948
280949             · 17596f3025 Merge branch '2017.7.6' into '2017.7'
280950
280951               · 8c38ecd75f Merge pull request #47769 from gtmanfred/2017.7.6
280952
280953                 · 3fdfc0fa82 skip test that breaks test suite
280954
280955             · e458f4a031 Merge branch '2017.7.6' into '2017.7'
280956
280957               · 0d5b473ce2 Merge pull request #47747 from Ch3LL/rn_2017.7.6
280958
280959                 · d4aa83b92d Add changelog to 2017.7.6 release notes
280960
280961               · 8a5b34f7d9     Merge     pull     request     #47702     from
280962                 damon-atkins/2017.7.6_fix_pkg.latest_state
280963
280964                 · adcc094e08      Merge      branch      '2017.7.6'      into
280965                   2017.7.6_fix_pkg.latest_state
280966
280967               · d610c192d9 Merge pull request #47700 from yannj-fr/2017.7.6
280968
280969                 · 961c1ef61e fix roots modification time check
280970
280971                   · 2a73e905df Merge branch '2017.7.6' into 2017.7.6
280972
280973               · 266749420f Merge pull request #47632 from gtmanfred/2017.7.6
280974
280975                 · 2c50c0d2f5 fix pylint
280976
280977                 · 4a29057b16 Fix last test for tornado
280978
280979                 · 550ef2e272 allow using tornado 5.0
280980
280981                 · 62e468448b handle new _create_stream in tornado 5.0
280982
280983               · 2643c356af   Merge   pull   request   #47720   from    rally‐
280984                 time/bp-47692-2017.7.6
280985
280986                 · 6e5cb36839 Default windows to m1.small for ec2-classic
280987
280988                   · 20d9785244 fix roots modification time check
280989
280990                 · aef37dd1ce fix roots modification time check
280991
280992                 · d51662e053  Ensure  targeted_pkgs always contains value for
280993                   non-windows.
280994
280995                 · 83b4224cf8 Adjusted based on feed back.
280996
280997                 · 12f983ce9f Whitespace lint issues
280998
280999                 · 075d3d3c49 pkg.install execution module on windows  ensures
281000                   the software package is installed when no version is speci‐
281001                   fied, it does not upgrade the software to the latest.  This
281002                   is  per the design. pkg.latest must provide the versions to
281003                   install to pkg.install
281004
281005           · 0ddc864f90 Merge pull request #47779 from dwoz/winrmtests
281006
281007             · d5eafe9d53 Use common timeout variable
281008
281009             · 7e948eb540 Increase ec2 cloud timeouts to 1000
281010
281011           · 17c4c8443c Merge pull request #47430 from baniobloom/vpc_associa‐
281012             tion_not_found
281013
281014             · 0f1d007f91 added catch for VPCAssociationNotFound
281015
281016           · 9c5dde1449  Merge  pull  request  #47525  from  baniobloom/dupli‐
281017             cate_sec_group_rule
281018
281019             · dcc35df489 if we are trying to add the same rule  then  we  are
281020               already in the desired state, return true
281021
281022           · 536ce2fa42 Merge pull request #47772 from gtmanfred/2017.7
281023
281024             · 67756a50fd lock down dependencies for kitchen-salt
281025
281026           · 12b330f049 Merge pull request #47749 from terminalmage/issue47717
281027
281028             · cd484bef69 Fix "dnf list upgrades" parsing
281029
281030           · 5cd18b9e70 Merge pull request #47755 from dwoz/winrmtests
281031
281032             · 57dd89e6c3 Default to ec2 classic compatible images
281033
281034             · f89668920a Be explicit about winrm setting
281035
281036           · f45a96ba1d Merge pull request #47668 from Ch3LL/win_pkg_test
281037
281038             · a8981024de Add pkg.latest_version windows test
281039
281040           · 7b12444dfa Merge pull request #47750 from dwoz/cloudtest
281041
281042             · 63b722ba21 Allow ssh_interface to default to public_ips
281043
281044           · 27fbb42210 Merge pull request #47737 from dwoz/win_timeout
281045
281046             · e88833a07d Cloud test fixup
281047
281048           · 1a93f060fb    Merge    pull    request    #47729    from    Utah‐
281049             Dave/fix_get_info_doc
281050
281051             · 443a2d72a2 fix cli example to match function name
281052
281053           · 00a13761c7 Merge pull request #47682 from terminalmage/issue47182
281054
281055             · d0243e8f23 Suppress spurious lint failure
281056
281057             · 3b449f11fc Add regression test for excludes issue
281058
281059             · 28a7d2b81c Skip __exclude__ in find_sls_ids
281060
281061           · 518f7bcc62    Merge    pull    request    #47708    from    dark‐
281062             pixel/47696-do-not-enumerate-none
281063
281064             · 54e9bf9ec9  Merge  branch  '2017.7'  into  47696-do-not-enumer‐
281065               ate-none
281066
281067           · cad062eaa7 Merge pull request #47681 from rallytime/merge-2017.7
281068
281069             · 6c06cb3ae3 Merge branch '2017.7.6' into '2017.7'
281070
281071           · fd2d45d9c2 Merge pull request #47683 from Ch3LL/mac_user_test
281072
281073             · 5a1b25b9c7 Remove unnecessary setUp  in  states.test_user  test
281074               for mac
281075
281076           · f323799c42 Merge pull request #47692 from dwoz/win_instance_type
281077
281078             · 20b6070d54 Default windows to m1.small for ec2-classic
281079
281080           · 990ece5cd5 Merge pull request #47665 from gtmanfred/cloud
281081
281082             · fd8a02decb  use  dictupdate  to update the providers dictionary
281083               and merge lists
281084
281085           · a2ed8cbb7f  Merge  pull  request  #47151   from   zer0def/config‐
281086             parser-defaultsect
281087
281088             · a8f2ad977e Merge branch '2017.7' into configparser-defaultsect
281089
281090             · cca2a806c9  Made  interaction with [DEFAULT] section in Config‐
281091               Parser as sane as upstream permits.
281092
281093           · e6fb8342ef Merge pull request #47673 from terminalmage/bp-45808
281094
281095             · 454291ad62 Fix errors when attempting to cache files with  long
281096               names or URLs
281097
281098           · b0446aab07 Merge pull request #47670 from gtmanfred/2017.7
281099
281100             · dfd5a8715f add a pytest.ini and update a dependency for kitchen
281101
281102           · 0d06da6944 Merge pull request #47626 from gtmanfred/2017.7
281103
281104             · 418364a533  make  dev_python27.txt  have  the  same  message as
281105               dev_python34.txt
281106
281107             · d53b44d10f remove lock file
281108
281109             · 493ed7f93d use the toml dict format
281110
281111             · e0f7cc1447 add proxy tests decorator to pytest conftest
281112
281113             · 0a621dd0ec add Pipfile for managing dependencies in salt
281114
281115             · f78b81db94 simplify dev and base.txt to single files
281116
281117           · a07a8906a0 Merge pull request #47578 from  Ch3LL/mac_service_dis‐
281118             abled
281119
281120             · 6032a01f55 change disable check for upstart service on ubuntu14
281121
281122             · 33b4cfbc5b Change service assertion check for systemd platforms
281123
281124             · 14896f9743 change codeauthor and class name
281125
281126             · 502c5bdff5  Ensure  mac_service.disabled  is correctly querying
281127               services
281128
281129                      · 95d4488f01    Merge     branch     '2017.7.6'     into
281130                        47696-do-not-enumerate-none
281131
281132                  · 16c2153385     Merge     pull    request    #47667    from
281133                    Ch3LL/mac_user_enable
281134
281135                    · ba40d3d1a1  Update  test_mac_user_enable_auto_login   to
281136                      test both py2 and py3
281137
281138                  · a4921e86c9 Merge pull request #47645 from Ch3LL/py3_rm_pip
281139
281140                    · 225d90ad4c    query    the    pip    path    for    test
281141                      test_issue_2087_missing_pip
281142
281143                  · e441733ac1  Merge  pull   request   #47646   from   rally‐
281144                    time/bp-47601-and-47643
281145
281146                    · 9e1d1a5ef8 Fix typo
281147
281148                    · 4e94609136 Remove unwanted file
281149
281150                    · 0109249c78 use ignore-undefined-variable
281151
281152                    · 37caecb7f4 Ignore pylint WindowsError
281153
281154                    · c1135d90c7 Better doc string
281155
281156                    · e53d6b9ed9 Skip tests when we can not use runas
281157
281158                    · 041e4c6ddb  Wrap  properties loop with a check for None.
281159                      Closes GH-47696
281160
281161       · PR  #47581:  (twangboy)  Add  get_encoding  salt  util  @  2018-05-25
281162         20:40:07 UTC
281163
281164         · da9eaa1825 Merge pull request #47581 from twangboy/fix_47274
281165
281166         · ff6600f25e Merge branch '2018.3' into fix_47274
281167
281168         · 6eff2f847b Add suggested changes
281169
281170         · e27e9fd1e7 Fix tests on Py3
281171
281172         · f398cbbdda Use os.linesep.join instead of textwrap.dedent
281173
281174         · 771392e299 Fix unit tests, add newline='' to io.open
281175
281176         · c0f735dde3 Remove comment
281177
281178         · 6d877bb48b Add comment
281179
281180         · 9f369d3f22 Remove to_encoding, create get_encoding
281181
281182         · 68be0f9ed2 Add is_encoding salt util
281183
281184       · ISSUE  #47694:  (thuhak) utils/boto and utils/boto3 load error (refs:
281185         #47726)
281186
281187       · PR #47726: (gtmanfred) rename boto to botomod @  2018-05-25  20:37:37
281188         UTC
281189
281190         · b860d95b2c Merge pull request #47726 from gtmanfred/2018.3
281191
281192         · 43997a466e fix tests
281193
281194         · 59180e09a8 switch all salt.utils.boto* calls to __utils__ calls
281195
281196         · 7e30f459c9 rename boto to botomod
281197
281198       · ISSUE  #47701: (babs) elasticsearch.index_template_present state with
281199         check_definition: True fails.  (refs: #47703)
281200
281201       · PR #47803:  (rallytime)  Back-port  #47703  to  2018.3  @  2018-05-23
281202         20:12:30 UTC
281203
281204         · PR  #47703:  (babs)  Fix  elasticsearch.index_template_present with
281205           check_definition (refs: #47803)
281206
281207         · 2a270162d0 Merge pull request #47803 from rallytime/bp-47703
281208
281209         · 8fce0c562d Fix elasticsearch with check_definition
281210
281211       · PR #47804:  (rallytime)  Back-port  #47761  to  2018.3  @  2018-05-23
281212         20:11:55 UTC
281213
281214         · PR  #47761:  (zerthimon) Fix userdata in openstack instances (refs:
281215           #47804)
281216
281217         · 780043e6fd Merge pull request #47804 from rallytime/bp-47761
281218
281219         · b7bc306333 Fix userdata in openstack instances
281220
281221       · PR #47776: (garethgreenaway) [2018.3] Fixes to  failing  _before_con‐
281222         nect tests @ 2018-05-23 15:10:35 UTC
281223
281224         · 1efe891c42    Merge   pull   request   #47776   from   garethgreen‐
281225           away/970_two_minion_unit_tests_failing
281226
281227         · a5011b49ab    Merge    branch    '2018.3'     into     970_two_min‐
281228           ion_unit_tests_failing
281229
281230         · ef24f72169     Fixing     unit.test_minion.MinionTestCase.test_bea‐
281231           cons_before_connect and unit.test_minion.MinionTestCase.test_sched‐
281232           uler_before_connect.
281233
281234       · PR #47783: (rallytime) [2018.3] Merge forward from 2018.3.1 to 2018.3
281235         @ 2018-05-23 14:51:56 UTC
281236
281237         · 4a6ca67883 Merge pull request #47783 from rallytime/merge-2018.3
281238
281239         · 1adb8ea27f Merge branch '2018.3.1' into '2018.3'
281240
281241       · PR #47149: (meaksh) [2018.3] Strip trailing commas  on  Linux  user's
281242         GECOS fields @ 2018-05-22 21:18:49 UTC
281243
281244         · f8a6a85d28       Merge      pull      request      #47149      from
281245           meaksh/2018.3-remove-trailing-commas-on-linux-user-gecos-fields
281246
281247         · 60ec3230db Merge branch '2018.3'  into  2018.3-remove-trailing-com‐
281248           mas-on-linux-user-gecos-fields
281249
281250       · ISSUE  #46938:  (racooper)  Beacons  documentation  update for 2018.3
281251         (refs: #47740)
281252
281253       · PR  #47740:  (garethgreenaway)  [2018.3]  Updating  Beacon  topic  to
281254         include  list  based  configuration for Beacons @ 2018-05-21 13:58:01
281255         UTC
281256
281257         · 19f4137b63   Merge   pull   request   #47740   from    garethgreen‐
281258           away/46938_beacons_documentation
281259
281260         · 5d23ef4dd8  Updating  Beacon topic to include list based configura‐
281261           tion for Beacons
281262
281263       · PR  #47710:  (terminalmage)  salt.loader:  add  error  logging   when
281264         whitelist lookup fails @ 2018-05-18 16:56:18 UTC
281265
281266         · 22807ac756    Merge    pull    request    #47710   from   terminal‐
281267           mage/fix-loader-whitelist
281268
281269         · 6192391b7b Add additional missing modules to whitelist
281270
281271         · 7192c38f66 Change key -> function to make log message more clear
281272
281273         · 91f9fd38fd Fix loader whitelists in unit tests
281274
281275         · d4f2662e5b Add error logging when whitelist lookup fails
281276
281277       · PR #47680: (rallytime) [2018.3] Merge forward from 2018.3.1 to 2018.3
281278         @ 2018-05-17 21:30:27 UTC
281279
281280         · b91c0f5647 Merge pull request #47680 from rallytime/merge-2018.3
281281
281282         · 9b1773a763 Merge branch '2018.3.1' into '2018.3'
281283
281284       · PR  #47545:  (dmurphy18) Fix non-root build and signing for rpm pack‐
281285         ages @ 2018-05-17 21:20:10 UTC
281286
281287         · dbf12f9be2  Merge  pull  request  #47545  from   dmurphy18/fix_non‐
281288           root_build
281289
281290         · 220f887fa6    Fixed   review   comment,   changed   file.chown   to
281291           file.makedirs_perms
281292
281293         · b15a1652b5 Changed  versionadded  from  2018.3.1  to  2018.3.2,  to
281294           reflect when change should be accepted
281295
281296         · 90eb03e375 Additional error checking and minor cleanup
281297
281298         · 40d77e03d2 Correct building rpms with non-root user
281299
281300       · ISSUE   #47546:  (ender8282)  archive.extracted  fails  when  archive
281301         includes files with non-ascii  names  with  2018.3.0  (refs:  #48015,
281302         #47572)
281303
281304       · PR  #47572: (garethgreenaway) [2018.3] archive module, filenames with
281305         Unicode characters @ 2018-05-17 20:41:11 UTC
281306
281307         · 69056e5b67 Merge pull request #47572 from garethgreenaway/47546_ar‐
281308           chive_non_ascii_filenames
281309
281310         · 5e97b8b44a Updating with requested changes.
281311
281312         · cc1aa75a2f only convert to bytes when using Python2
281313
281314         · 0fe32f4066  Updating  integration/modules/test_archive  to  include
281315           filenames with unicode characters.
281316
281317         · 5a9cadd125  Accounting  for  when  files  in  an  archive   contain
281318           non-ascii characters
281319
281320       · PR #47661: (rallytime) [2018.3] Merge forward from 2017.7 to 2018.3 @
281321         2018-05-16 15:53:36 UTC
281322
281323         · cb04d9c37e Merge pull request #47661 from rallytime/merge-2018.3
281324
281325         · dd3e6f3f0a Merge branch '2017.7' into '2018.3'
281326
281327           · f63d801858 Merge pull request #47639 from rallytime/merge-2017.7
281328
281329             · 1503f1020f Merge branch '2017.7.6' into '2017.7'
281330
281331               · 6f178ca908 Merge pull request #47570 from gtmanfred/2017.7.6
281332
281333                 · 84aa034e03 Update dependency to msgpack
281334
281335               · 98bd598701 Merge pull request #47523 from rallytime/man-pages
281336
281337                 · 48ecb78dec [2017.7.6] Update man pages
281338
281339               · e608ea9617   Merge   pull   request   #47517   from    rally‐
281340                 time/bp-47505-2017.7.6
281341
281342               · 0734578533 Raise proper invocation errors
281343
281344           · db0eef3e8b Merge pull request #47643 from dwoz/runas_detect
281345
281346             · 8c5e54b8b3 Fix typo
281347
281348             · 69bc88f1c6 Remove unwanted file
281349
281350           · 6dd3ab9f06 Merge pull request #47601 from dwoz/runas_detect
281351
281352             · 3235ac08cb use ignore-undefined-variable
281353
281354             · 58911d510a Ignore pylint WindowsError
281355
281356             · 17987d3c5a Better doc string
281357
281358             · a48ac26573 Skip tests when we can not use runas
281359
281360           · f61ccae627 Merge pull request #47611 from Ch3LL/deb_doc
281361
281362             · 6d2ddd050f One more grammar fixup
281363
281364             · 2d5ff01261 Grammar fix
281365
281366             · 138847c9c4  Update  debian  install  docs to reflect new latest
281367               debian releases
281368
281369           · 9e2fe284e4   Merge    pull    request    #47598    from    rally‐
281370             time/bp-47568-2017.7
281371
281372             · 09458c65cf   Add  exception  logging  on  serialize/deserialize
281373               exceptions
281374
281375             · c62c855f9c   salt.serializers.yaml/yamlex:    remove    invalid
281376               multi_constructor
281377
281378           · 8a7913ccc3 Merge pull request #47548 from Ch3LL/syslog
281379
281380             · 31f13a4197 sysloghander: check for 3.5.4 python version
281381
281382             · a020352a03  Catch  Sysloghandler  errors when log file does not
281383               exist
281384
281385           · 82fb6ba366 Merge pull request #47508 from gtmanfred/2017.7
281386
281387             · 1a87e7455f allow pulling the mysql_query.run_file to pull  from
281388               the fileserver
281389
281390           · be29b58a09 Merge pull request #47562 from rallytime/bp-47513
281391
281392             · 357bc084b3 fix #46546
281393
281394           · d3121fcfa4      Merge      pull      request      #47471     from
281395             meaksh/2017.7-fix-inconsistent-scheduled-jid-with-returners
281396
281397             · f079939500 Do not override jid on returners, only sending  back
281398               to master
281399
281400           · 662f6086db Merge pull request #47313 from Circuitsoft/2017.7
281401
281402             · 237560b745 Merge branch '2017.7' into 2017.7
281403
281404             · cb674fb1cb Enable opkg as pkgrepo handler on Poky
281405
281406             · 7a58fd157e Enable opkg on non-NILinuxRT systems
281407
281408             · 139360c55f Add Poky to OS Information Grains
281409
281410             · d74057224d Un-normalize os_family in pkgrepo state
281411
281412       · PR  #47672:  (terminalmage)  Backport  #47487  to 2018.3 @ 2018-05-16
281413         13:55:40 UTC
281414
281415         · PR #47487: (rosscdh) bad ref to error fix (refs: #47672)
281416
281417         · d17a16b648 Merge pull request #47672 from terminalmage/bp-47487
281418
281419         · 12abbfdcf7 bad ref to error fix
281420
281421       · ISSUE #47501: (mateiw) salt-ssh doesn't propagate pillar  when  over‐
281422         riding pillar in module.run + state.apply (refs: #47504)
281423
281424       · PR  #47504: (mateiw) Fix pillar propagation in salt-ssh when overrid‐
281425         ing pillar in module.run + state.apply @ 2018-05-16 13:55:05 UTC
281426
281427         · 9d4f5203a7      Merge      pull      request      #47504       from
281428           mateiw/2018.3-salt-ssh-pillar-propagation-issue-47501
281429
281430         · 3ffa412ee5 Merge branch '2018.3' into 2018.3-salt-ssh-pillar-propa‐
281431           gation-issue-47501
281432
281433         · 2f1485e067 Option to merge current pillar with opts['pillar']  dur‐
281434           ing pillar compile
281435
281436       · PR  #47212:  (weswhet)  fix  macOS  running  as  user.   @ 2018-05-16
281437         13:54:23 UTC
281438
281439         · 4fe78bbb9b Merge pull request #47212 from weswhet/fix-macos-runas
281440
281441         · 8ee11d74af Merge branch '2018.3' into fix-macos-runas
281442
281443         · e78fa45927 adding in requested changes
281444
281445         · 33c1492099 Merge branch '2018.3' into fix-macos-runas
281446
281447         · 0ecabcae78 adding in a fix for running commands as a user on macos
281448
281449       · ISSUE #47587:  (FedericoOlivieri)  --out=table  broken  in   2018.3.0
281450         'str' object but received a 'unicode' (refs: #47674)
281451
281452       · PR  #47674:  (terminalmage)  Fix regression in table outputter due to
281453         unicode types @ 2018-05-16 13:41:04 UTC
281454
281455         · 0c7439a955 Merge pull request #47674 from terminalmage/issue47587
281456
281457         · 43e3dcd398 Fix Python 3 incompatibility in table outputter
281458
281459         · d729656703 Add unit tests for table outputter
281460
281461         · 907d182dea Fix regression in table outputter due to unicode strings
281462
281463       · PR #47617: (aesposito91) Update napalm.py @ 2018-05-15 15:44:35 UTC
281464
281465         · d1a1a594e9 Merge pull request #47617 from aesposito91/2018.3
281466
281467         · 9f5d201dd7 Update napalm.py
281468
281469       · ISSUE #46871: (guettli) Sentry Logging Handler (refs: #47649)
281470
281471       · PR #47649: (paulcollinsiii) Some additional details about Sentry  for
281472         the docs @ 2018-05-15 15:41:36 UTC
281473
281474         · 049abe2850  Merge  pull  request  #47649  from  paulcollinsiii/sen‐
281475           try_docs
281476
281477         · 2a8dfd65d7 Some additional details about Sentry for the docs
281478
281479       · PR #47642: (garethgreenaway)  [2018.3]  Updating  templates  used  by
281480         salt-extend for unicode goodness @ 2018-05-15 15:38:26 UTC
281481
281482         · 8a21b864df  Merge  pull  request  #47642  from garethgreenaway/uni‐
281483           code_update_salt_extend_templates
281484
281485         · 68d73f7afc Updating the templates that the salt-extend utility uses
281486           to include unicode_literals & print_function
281487
281488              · 0232a6e1ad Add 'other' as valid kwargs for 'user.add' method
281489
281490              · ff861d9089  Merge  branch  '2018.3'  into 2018.3-remove-trail‐
281491                ing-commas-on-linux-user-gecos-fields
281492
281493       · PR #47603: (terminalmage) Move/merge more test modules  @  2018-05-14
281494         20:48:43 UTC
281495
281496         · 99f53c0a9f    Merge    pull    request    #47603   from   terminal‐
281497           mage/more-test-renaming
281498
281499         · d612bd27e4 Move/merge more test modules
281500
281501       · PR #47640: (rallytime) [2018.3] Merge forward from 2018.3.1 to 2018.3
281502         @ 2018-05-14 17:59:06 UTC
281503
281504         · cc3daa88f3 Merge pull request #47640 from rallytime/merge-2018.3
281505
281506         · 2827c56399 Merge branch '2018.3.1' into '2018.3'
281507
281508              · f1680f1d9b Do make comparisons in a single line
281509
281510              · 7dea455c12 Add unit test for new method 'user.chother'
281511
281512              · 694882632c  Add  'other'  attribute  to  GECOS fields to avoid
281513                inconsistencies with chfn
281514
281515              · 6c089c9de1 Fix unsupported chars checking on GECOS fields
281516
281517              · d5c9ca0fbc Add unit tests for GECOS fields
281518
281519              · ed940c4f58 Strip trailing commas on Linux user GECOS fields
281520
281521       · PR #47589: (Ch3LL) Remove duplicate file id in watch_any doc  example
281522         @ 2018-05-10 22:06:00 UTC
281523
281524         · 4ec63dd041 Merge pull request #47589 from Ch3LL/watch_any_doc
281525
281526         · 8cb97a48f5 Add additional state to watch_any doc example
281527
281528         · f7223a3bbf Remove duplicate file id in watch_any doc example
281529
281530       · PR #47564: (rallytime) [2018.3] Merge forward from 2017.7 to 2018.3 @
281531         2018-05-10 19:13:36 UTC
281532
281533         · 9836a7e62b Merge pull request #47564 from rallytime/merge-2018.3
281534
281535         · 295e302fcf Lint: Fix syntax error from bad  merge-conflict  resolu‐
281536           tion
281537
281538         · 25f03ae425 Merge branch '2017.7' into '2018.3'
281539
281540         · 291d3d3bd8   Merge   pull  request  #47540  from  terminalmage/cmd‐
281541           mod-home-fix
281542
281543           · e4b277f82e Fix corner case where runas user's HOME env  value  is
281544             incorrect
281545
281546         · 49af577b3e  Merge pull request #47547 from terminalmage/gitfs-tuto‐
281547           rial
281548
281549           · 806ffb298a Add masterless mode docs to gitfs tutorial
281550
281551         · 476ba053d1 Merge pull request #47538 from terminalmage/pip-docs
281552
281553           · 98e8ffeba4 Fix/clarify some of the pip module documentation
281554
281555         · 7cc8d9d30a Merge pull request #47524 from dwoz/whitelistlines
281556
281557           · 2605ff8712 Gracefully handle blank lines in whitelist.txt
281558
281559         · f1a5b13072 Merge pull request #47527 from dwoz/test_file_name
281560
281561           · 4aea7ca571 Update doc string
281562
281563           · b3289e5a1c Fix test file name
281564
281565         · e9c1723175 Merge pull request #47408 from Ch3LL/skip_diskusage
281566
281567           · 068da8ad7d Merge branch '2017.7' into skip_diskusage
281568
281569           · 1a7ffb4e0d return error if diskusage not available
281570
281571           · 10bd63a976 Skip status.diskusage integration tests on macsox
281572
281573         · 2f50ff7bc8 Merge pull request #47480 from baniobloom/ConflictingDo‐
281574           mainExists
281575
281576           · d22ed7dffa  added handling for the aws error ConflictingDomainEx‐
281577             ists
281578
281579         · 7f53be6e92  Merge  pull  request  #47444   from   terminalmage/ren‐
281580           der_state-spurious-error
281581
281582           · a1e9fe00fd Skip trying to render a template for a nonexistant SLS
281583             file
281584
281585         · 50b9c4d79d   Merge   pull    request    #47478    from    terminal‐
281586           mage/rename-pip-state-test
281587
281588           · 9f7a9ebebd  Rename pip state test modules to match naming conven‐
281589             tion
281590
281591         · e78ac0f9b7 Merge pull request #47505 from dwoz/win_dsc_fixes
281592
281593           · d1fcb40d1c Raise proper invocation errors
281594
281595         · 0d4d5047d8  Merge  pull  request  #47499  from   dwoz/win_run_time‐
281596           out_again
281597
281598           · c6697b9f16 Move kill process tree and re-use it
281599
281600         · 6a4d0380b1 Merge pull request #47493 from dwoz/win_run_timeout
281601
281602         · fec1233dc4 Add support for windows timeout to run_salt
281603
281604       · PR  #47565:  (rallytime)  Back-port  #47440  to  2018.3  @ 2018-05-10
281605         18:15:50 UTC
281606
281607         · PR #47440: (kt97679) fix for the race condition, details are  here:
281608           https://github.com/salt… (refs: #47565)
281609
281610         · b22657ff9e Merge pull request #47565 from rallytime/bp-47440
281611
281612         · 7c43417d46 addressed feedback
281613
281614         · 1abe05207c   fix   for   the  race  condition,  details  are  here:
281615           https://github.com/saltstack/salt/issues/33223#issuecomment-386117236
281616
281617       · PR #47590: (Ch3LL) Fix firewalld prune_services deprecation warning @
281618         2018-05-10 17:01:48 UTC
281619
281620         · 17e0fdca6c Merge pull request #47590 from Ch3LL/firewall_warn
281621
281622         · d29b8e0ae2 Fix firewalld prune_services deprecation warning
281623
281624       · PR  #47568:   (terminalmage)   salt.serializers.yaml/yamlex:   remove
281625         invalid multi_constructor (refs: #47598) @ 2018-05-10 16:21:09 UTC
281626
281627         · 2fcb108d71  Merge  pull request #47568 from terminalmage/salt-jenk‐
281628           ins-971
281629
281630       · ISSUE #38671: (MikeSpaceG) zpool.get error (refs: #47224)
281631
281632       · PR #47563:  (rallytime)  Back-port  #47224  to  2018.3  @  2018-05-10
281633         16:18:07 UTC
281634
281635         · PR #47224: (sjorge) Zpool zol fixes (refs: #47563)
281636
281637         · e3ee7053fb Merge pull request #47563 from rallytime/bp-47224
281638
281639         · 1d191445a7 FIX #38671 - zpool.get should support older zfs version
281640
281641         · 23705b12cb  zpool.scub  docs  should  mention  pause  is not always
281642           available
281643
281644         · d73885aa5c Make sure the  docs  mention  that  createboot  is  only
281645           available on illumos
281646
281647       · PR #47569: (Ch3LL) Update salt.utils.path mock in virtual core test @
281648         2018-05-10 15:18:31 UTC
281649
281650         · 8e26624db3 Merge pull request #47569 from Ch3LL/core_virt
281651
281652       · PR  #47576:  (rallytime)  [2018.3]  Small   Documentation   Fixes   @
281653         2018-05-10 14:08:11 UTC
281654
281655         · fc93715eea Merge pull request #47576 from rallytime/doc-updates
281656
281657         · ca927fc14b  Add  extra  lines that are needed for proper code-block
281658           formatting
281659
281660         · b330d763a4 Remove infoblox state autodoc file
281661
281662   In Progress: Salt 2018.3.4 Release Notes
281663       Version 2018.3.4 is an unreleased bugfix release  for  2018.3.0.   This
281664       release is still in progress and has not been released yet.
281665
281666   State Changes
281667       · The host.present state can now remove the specified hostname from IPs
281668         not specified  in  the  state.  This  can  be  done  by  setting  the
281669         newly-added clean argument to True.
281670
281671   Salt 2017.7.0 Release Notes - Codename Nitrogen
281672   Python 3
281673       The 2017.7 Salt Release adds initial Python 3 support.
281674
281675       The  default  Python  version  of  Salt  will remain Python 2, although
281676       Python 3 packages will be supplied for users who want to help test this
281677       new feature.
281678
281679   Python 2.6 Deprecation
281680       Salt will no longer support Python 2.6. We will provide python2.7 pack‐
281681       ages on our repo for RedHat and CentOS 6 to ensure users can still  run
281682       Salt on these platforms.
281683
281684       As  this  will  impact  the installation of additional dependencies for
281685       salt modules please use pip packages if there is not a  package  avail‐
281686       able in a repository. You will need to install the python27-pip package
281687       to get access to the correct pip27 executable: yum install python27-pip
281688
281689   Known Issues
281690       The following salt-cloud drivers have known issues running with  Python
281691       3.  These drivers will not work with Python 3, and Python 2.7 should be
281692       used instead:
281693
281694       · Joyent
281695
281696       · When running under Python 3, users who require Unicode support should
281697         ensure  that  a  locale  is set on their machines.  Users using the C
281698         locale are advised to switch to a UTF-aware locale to  ensure  proper
281699         functionality with Salt with Python 3.
281700
281701   Remember to update the Salt Master first
281702       Salt's  policy  has  always been that when upgrading, the minion should
281703       never be on a newer version than the master.   Specifically  with  this
281704       update,  because  of  changes  in  the  fileclient,  the  2017.7 minion
281705       requires a 2017.7 master.
281706
281707       Backwards compatibility is still maintained, so older minions can still
281708       be used.
281709
281710       More information can be found in the Salt FAQ
281711
281712   States Added for Management of systemd Unit Masking
281713       The  service.masked and service.umasked states have been added to allow
281714       Salt to manage masking of systemd units.
281715
281716       Additionally, the following functions in the systemd  execution  module
281717       have  changed to accommodate the fact that indefinite and runtime masks
281718       can co-exist for the same unit:
281719
281720       · service.masked - The return from this function has changed from  pre‐
281721         vious  releases.  Before, False would be returned if the unit was not
281722         masked, and the output of systemctl is-enabled <unit name>  would  be
281723         returned  if  the unit was masked. However, since indefinite and run‐
281724         time masks can exist for the same unit at the same time,  this  func‐
281725         tion has been altered to accept a runtime argument. If True, the min‐
281726         ion will be checked for a runtime mask assigned to the named unit. If
281727         False, then the minion will be checked for an indefinite mask. If one
281728         is found, True will be returned. If not, then False will be returned.
281729
281730       · service.masked - This function used to just run systemctl  is-enabled
281731         <unit  name>  and  based  on the return from this function the corre‐
281732         sponding mask type would be removed. However,  if  both  runtime  and
281733         indefinite masks are set for the same unit, then systemctl is-enabled
281734         <unit name> would show just the indefinite mask. The indefinite  mask
281735         would be removed, but the runtime mask would remain. The function has
281736         been modified to accept a  runtime  argument,  and  will  attempt  to
281737         remove  a  runtime  mask  if  that argument is set to True. If set to
281738         False, it will attempt to remove an indefinite mask.
281739
281740       These new runtime arguments default to False.
281741
281742   Pillar Encryption
281743       Beginning in 2016.3.0 the CLI pillar data passed to  several  functions
281744       could  conditionally be passed through a renderer to be decrypted. This
281745       functionality has now been extended to pillar SLS files  as  well.  See
281746       here for detailed documentation on this feature.
281747
281748   Grains Changes
281749       · The  osmajorrelease  grain has been changed from a string to an inte‐
281750         ger.  State files, especially those using a templating language  like
281751         Jinja, may need to be adjusted to account for this change.
281752
281753       · Add  ability  to  specify  disk backing mode in the VMWare salt cloud
281754         profile.
281755
281756   State Module Changes
281757       · The service.running and service.dead states now  support  a  no_block
281758         argument  which, when set to True on systemd minions, will start/stop
281759         the service using the --no-block flag in the  systemctl  command.  On
281760         non-systemd minions, a warning will be issued.
281761
281762       · The  module.run  state has dropped its previous syntax with m_ prefix
281763         for reserved keywords. Additionally, it allows running several  func‐
281764         tions in a batch.
281765
281766         NOTE:
281767            It is necessary to explicitly turn on the new behavior (see below)
281768
281769            # Before
281770            run_something:
281771              module.run:
281772                - name: mymodule.something
281773                - m_name: 'some name'
281774                - kwargs: {
281775                  first_arg: 'one',
281776                  second_arg: 'two',
281777                  do_stuff: 'True'
281778                }
281779
281780            # After
281781            run_something:
281782              module.run:
281783                - mymodule.something:
281784                  - name: some name
281785                  - first_arg: one
281786                  - second_arg: two
281787                  - do_stuff: True
281788
281789         Since  a  lot  of users are already using module.run states, this new
281790         behavior must currently be explicitly turned on, to  allow  users  to
281791         take  their  time  updating  their SLS files. However, please keep in
281792         mind that the new syntax will take effect in the next feature release
281793         of  Salt  (Oxygen)  and  the old usage will no longer be supported at
281794         that time.
281795
281796         Another feature of the new module.run is that it allows calling  many
281797         functions in a single batch, such as:
281798
281799            run_something:
281800              module.run:
281801                - mymodule.function_without_parameters:
281802                - mymodule.another_function:
281803                  - myparam
281804                  - my_other_param
281805
281806         In  a rare case that you have a function that needs to be called sev‐
281807         eral times but with the different parameters, an  additional  feature
281808         of  "tagging"  is  to  the  rescue. In order to tag a function, use a
281809         colon delimiter. For example:
281810
281811            run_something:
281812              module.run:
281813                - mymodule.same_function:1:
281814                - mymodule.same_function:2:
281815                  - myparam
281816                  - my_other_param
281817                - mymodule.same_function:3:
281818                  - foo: bar
281819
281820         The example above will run mymodule.same_function  three  times  with
281821         the different parameters.
281822
281823         To  enable  the new behavior for module.run, add the following to the
281824         minion config file:
281825
281826            use_superseded:
281827              - module.run
281828
281829       · The default for the fingerprint_hash_type option used in the  present
281830         function in the ssh state changed from md5 to sha256.
281831
281832   Execution Module Changes
281833       · Several  functions  in  the  systemd  execution  module have gained a
281834         no_block argument, which when set to True will use --no-block in  the
281835         systemctl command.
281836
281837       · In the solarisips pkg module, the default value for the refresh argu‐
281838         ment to the list_upgrades function has been  changed  from  False  to
281839         True.  This  makes the function more consistent with all of the other
281840         pkg modules (The other pkg.list_upgrades functions all  defaulted  to
281841         True).
281842
281843       · The  functions  which  handle  masking  in  the  systemd  module have
281844         changed. These changes are described above alongside the  information
281845         on  the new states which have been added to manage masking of systemd
281846         units.
281847
281848       · The pkg.list_repo_pkgs function for yum/dnf-based distros has had its
281849         default  output  format changed.  In prior releases, results would be
281850         organized by repository. Now, the default for each package will be  a
281851         simple list of versions. To get the old behavior, pass byrepo=True to
281852         the function.
281853
281854       · A pkg.list_repo_pkgs function has been added for  both  Debian/Ubuntu
281855         and Arch Linux-based distros.
281856
281857       · The  system  module  changed  its return format from "HH:MM AM/PM" to
281858         "HH:MM:SS AM/PM" for get_system_time.
281859
281860       · The default for the fingerprint_hash_type option used in the ssh exe‐
281861         cution module changed from md5 to sha256.
281862
281863   Proxy Module Changes
281864       The  proxy_merge_grains_in_module  configuration variable introduced in
281865       2016.3, has been changed, defaulting to True.
281866
281867       The connection with the remote device is kept alive  by  default,  when
281868       the module implements the alive function and proxy_keep_alive is set to
281869       True. The polling interval is set using  the  proxy_keep_alive_interval
281870       option which defaults to 1 minute.
281871
281872       The  developers  are  also  able  to  use  the proxy_always_alive, when
281873       designing a proxy module flexible enough to open  the  connection  with
281874       the remote device only when required.
281875
281876   Wildcard Versions in pkg.installed States
281877       · The  pkg.installed  state now supports wildcards in package versions,
281878         for the following platforms:
281879
281880         · SUSE/openSUSE Leap/Thumbleweed
281881
281882         · Debian/Ubuntu
281883
281884         · RHEL/CentOS
281885
281886         · Arch Linux
281887
281888         This support also extends to any derivatives of these distros,  which
281889         use  the aptpkg, yumpkg, or pacman providers for the pkg virtual mod‐
281890         ule.
281891
281892         Using wildcards can be useful for packages where the release name  is
281893         built  into  the  version  in some way, such as for RHEL/CentOS which
281894         typically has version numbers like 1.2.34-5.el7. An  example  of  the
281895         usage for this would be:
281896
281897            mypkg:
281898              pkg.installed:
281899                - version: '1.2.34*'
281900
281901   Master Configuration Additions
281902       · syndic_forward_all_events  -  Option  on  multi-syndic or single when
281903         connected to multiple masters to be able to send events to  all  con‐
281904         nected masters.
281905
281906       · eauth_acl_module  -  In  case external auth is enabled master can get
281907         authenticate and get the authorization list from different auth  mod‐
281908         ules.
281909
281910       · keep_acl_in_token  -  Option that allows master to build ACL once for
281911         each user being authenticated and keep it in the token.
281912
281913   Minion Configuration Additions
281914       · pillarenv_from_saltenv - When set to True  (default  is  False),  the
281915         pillarenv  option  will  take the same value as the effective saltenv
281916         when running states.  This  would  allow  a  user  to  run  salt  '*'
281917         state.apply  mysls  saltenv=dev,  and  the SLS for both the state and
281918         pillar data would be sourced from the  dev  environment,  essentially
281919         the equivalent of running salt '*' state.apply mysls saltenv=dev pil‐
281920         larenv=dev. Note that if pillarenv is set in the minion config  file,
281921         or if pillarenv is provided on the CLI, it will override this option.
281922
281923   salt-api Changes
281924       The rest_cherrypy netapi module has received a few minor improvements:
281925
281926       · A CORS bugfix.
281927
281928       · A new /token convenience endpoint to generate Salt eauth tokens.
281929
281930       · A  proof-of-concept  JavaScript  single-page  application intended to
281931         demonstrate how to use the Server-Sent Events stream in  an  applica‐
281932         tion.  It  is available in a default install by visiting the /app URL
281933         in a browser.
281934
281935   Python API Changes
281936   expr_form Deprecation
281937       The LocalClient's expr_form argument has been deprecated and renamed to
281938       tgt_type.  This  change  was  made due to numerous reports of confusion
281939       among community members, since the targeting  method  is  published  to
281940       minions as tgt_type, and appears as tgt_type in the job cache as well.
281941
281942       While  expr_form  will  continue  to  be  supported  until the Fluorine
281943       release cycle (two major releases after this one), those who are  using
281944       the LocalClient (either directly, or implictly via a netapi module) are
281945       encouraged to update their code to use tgt_type.
281946
281947   full_return Argument in LocalClient and RunnerClient
281948       An full_return argument has been added to the cmd and cmd_sync  methods
281949       in  LocalClient and RunnerClient which causes the return data structure
281950       to include job meta data such as retcode.
281951
281952       This is useful at the Python API:
281953
281954          >>> import salt.client
281955          >>> client = salt.client.LocalClient()
281956          >>> client.cmd('*', 'cmd.run', ['return 1'], full_return=True)
281957          {'jerry': {'jid': '20170520151213898053', 'ret': '', 'retcode': 1}}
281958
281959       As well as from salt-api:
281960
281961          % curl -b /tmp/cookies.txt -sS http://localhost:8000 \
281962              -H 'Content-type: application/json' \
281963              -d '[{
281964                  "client": "local",
281965                  "tgt": "*",
281966                  "fun": "cmd.run",
281967                  "arg": ["return 1"],
281968                  "full_return": true
281969              }]'
281970
281971          {"return": [{"jerry": {"jid": "20170520151531477653", "retcode": 1, "ret": ""}}]}
281972
281973   Jinja
281974   Filters
281975       New filters in 2017.7.0:
281976
281977       · to_bool
281978
281979       · exactly_n_true
281980
281981       · exactly_one_true
281982
281983       · quote
281984
281985       · regex_search
281986
281987       · regex_match
281988
281989       · uuid
281990
281991       · is_list
281992
281993       · is_iter
281994
281995       · min
281996
281997       · max
281998
281999       · avg
282000
282001       · union
282002
282003       · intersect
282004
282005       · difference
282006
282007       · symmetric_difference
282008
282009       · is_sorted
282010
282011       · compare_lists
282012
282013       · compare_dicts
282014
282015       · is_hex
282016
282017       · contains_whitespace
282018
282019       · substring_in_list
282020
282021       · check_whitelist_blacklist
282022
282023       · date_format
282024
282025       · str_to_num
282026
282027       · to_bytes
282028
282029       · json_decode_list
282030
282031       · json_decode_dict
282032
282033       · rand_str
282034
282035       · md5
282036
282037       · sha256
282038
282039       · sha512
282040
282041       · base64_encode
282042
282043       · base64_decode
282044
282045       · hmac
282046
282047       · http_query
282048
282049       · is_ip
282050
282051       · is_ipv4
282052
282053       · is_ipv6
282054
282055       · ipaddr
282056
282057       · ipv4
282058
282059       · ipv6
282060
282061       · network_hosts
282062
282063       · network_size
282064
282065       · gen_mac
282066
282067       · mac_str_to_bytes
282068
282069       · dns_check
282070
282071       · is_text_file
282072
282073       · is_binary_file
282074
282075       · is_empty_file
282076
282077       · file_hashsum
282078
282079       · list_files
282080
282081       · path_join
282082
282083       · which
282084
282085   Logs
282086       Another new feature - although not limited to Jinja  only  -  is  being
282087       able to log debug messages directly from the template:
282088
282089          {%- do salt.log.error('logging from jinja') -%}
282090
282091       See the logs paragraph.
282092
282093   Network Automation
282094   NAPALM
282095       Introduced  in 2016.11, the modules for cross-vendor network automation
282096       have been improved, enhanced and widenened in scope:
282097
282098       · Manage network devices like servers: the  NAPALM  modules  have  been
282099         transformed  so  they can run in both proxy and regular minions. That
282100         means, if the operating system allows, the salt-minion package can be
282101         installed  directly  on  the  network  gear. Examples of such devices
282102         (also covered by NAPALM) include: Arista, Cumulus,  Cisco  IOS-XR  or
282103         Cisco Nexus.
282104
282105       · Not  always  alive: in certain less dynamic environments, maintaining
282106         the remote connection permanently open with the network device is not
282107         always  beneficial. In those particular cases, the user can select to
282108         initialize the connection only when needed, by specifying  the  field
282109         always_alive:   false   in  the  proxy  configuration  or  using  the
282110         proxy_always_alive option.
282111
282112       · Proxy keepalive: due to external factors,  the  connection  with  the
282113         remote  device  can be dropped, e.g.: packet loss, idle time (no com‐
282114         mands issued within a couple of minutes or seconds),  or  simply  the
282115         device  decides  to  kill the process. In 2017.7.0 we have introduced
282116         the functionality to re-establish the  connection.  One  can  disable
282117         this  feature  through  the  proxy_keep_alive  option  and adjust the
282118         polling    frequency     speciying     a     custom     value     for
282119         proxy_keep_alive_interval, in minutes.
282120
282121       New modules:
282122
282123       · Netconfig  state module - Manage the configuration of network devices
282124         using arbitrary templates and the Salt-specific  advanced  templating
282125         methodologies.
282126
282127       · Network  ACL execution module - Generate and load ACL (firewall) con‐
282128         figuration on network devices.
282129
282130       · Network ACL state  -  Manage  the  firewall  configuration.  It  only
282131         requires writing the pillar structure correctly!
282132
282133       · NAPALM YANG execution module - Parse, generate and load native device
282134         configuration in a standard way, using  the  OpenConfig/IETF  models.
282135         This module contains also helpers for the states.
282136
282137       · NAPALM  YANG  state  module - Manage the network device configuration
282138         according to the YANG models (OpenConfig or IETF).
282139
282140       · NET finder - Runner to find  details  easily  and  fast.  It's  smart
282141         enough  to  know  what  you  are  looking  for. It will search in the
282142         details of the network interfaces, IP addresses, MAC address  tables,
282143         ARP tables and LLDP neighbors.
282144
282145       · BGP finder - Runner to search BGP neighbors details.
282146
282147       · NAPALM  syslog - Engine to import events from the napalm-logs library
282148         into the Salt event bus. The events are based on the syslog  messages
282149         from the network devices and structured following the OpenConfig/IETF
282150         YANG models.
282151
282152       · NAPALM Helpers - Generic helpers for NAPALM-related  operations.  For
282153         example,  the Compliance report function can be used inside the state
282154         modules to compare the expected and the existing configuration.
282155
282156       New functions:
282157
282158       · Configuration getter - Return the whole configuration of the  network
282159         device.
282160
282161       · Optics  getter  - Fetches the power usage on the various transceivers
282162         installed on the network device (in dBm).
282163
282164       New grains: Host, Host DNS, Username and Optional args.
282165
282166   Custom Refspecs in GitFS / git_pillar / winrepo
282167       It is now possible to specify the refspecs to use  when  fetching  from
282168       remote  repositories  for GitFS, git_pillar, and winrepo. More informa‐
282169       tion on how this feature works can be found here  in  the  GitFS  Walk‐
282170       through.  The  git_pillar and winrepo versions of this feature work the
282171       same as their GitFS counterpart.
282172
282173   git_pillar mountpoints Feature Added
282174       See here for detailed documentation.
282175
282176   Big Improvements to Docker Support
282177       The  old  docker  state  and  execution  modules  have  been  moved  to
282178       salt-contrib.  The dockerng execution module has been renamed to docker
282179       and now serves as Salt's official Docker execution module.
282180
282181       The old dockerng state module has been split into 4 state modules:
282182
282183       · docker_container - States to manage Docker containers
282184
282185       · docker_image - States to manage Docker images
282186
282187       · docker_volume - States to manage Docker volumes
282188
282189       · docker_network - States to manage Docker networks
282190
282191       The reason for this change was  to  make  states  and  requisites  more
282192       clear. For example, imagine this SLS:
282193
282194          myuser/appimage:
282195            docker.image_present:
282196              - sls: docker.images.appimage
282197
282198          myapp:
282199            docker.running:
282200              - image: myuser/appimage
282201              - require:
282202                - docker: myuser/appimage
282203
282204       The new syntax would be:
282205
282206          myuser/appimage:
282207            docker_image.present:
282208              - sls: docker.images.appimage
282209
282210          myapp:
282211            docker_container.running:
282212              - image: myuser/appimage
282213              - require:
282214                - docker_image: myuser/appimage
282215
282216       This  is  similar to how Salt handles MySQL, MongoDB, Zabbix, and other
282217       cases where the same execution module is used to manage several differ‐
282218       ent kinds of objects (users, databases, roles, etc.).
282219
282220       NOTE:
282221          With  the  Moby announcement coming at this year's DockerCon, Salt's
282222          docker execution module (as well as the state modules)  work  inter‐
282223          changeably  when  docker  is  replaced  with  moby  (e.g.  moby_con‐
282224          tainer.running, moby_image.present, moby.inspect_container, etc.)
282225
282226       The old syntax will continue to work  until  the  Fluorine  release  of
282227       Salt.   The  old  dockerng naming will also continue to work until that
282228       release, so no immediate changes need to be  made  to  your  SLS  files
282229       (unless you were still using the old docker states that have been moved
282230       to salt-contrib).
282231
282232       The docker_container.running state has undergone a  significant  change
282233       in  how  it determines whether or not a container needs to be replaced.
282234       Rather than comparing individual arguments to their corresponding  val‐
282235       ues  in  the named container, a temporary container is created (but not
282236       started) using the passed arguments. The two containers are  then  com‐
282237       pared  to each other to determine whether or not there are changes, and
282238       if so, the old container is stopped and destroyed,  and  the  temporary
282239       container is renamed and started.
282240
282241       Salt still needs to translate arguments into the format which docker-py
282242       expects, but if it does not properly do so, the skip_translate argument
282243       can be used to skip input translation on an argument-by-argument basis,
282244       and you can then format your SLS file to pass the data  in  the  format
282245       that  the docker-py expects. This allows you to work around any changes
282246       in Docker's API or issues with the input translation, and  continue  to
282247       manage  your  Docker  containers using Salt. Read the documentation for
282248       skip_translate for more information.
282249
282250       NOTE:
282251          When running the docker_container.running state for the  first  time
282252          after  upgrading to 2017.7.0, your container(s) may be replaced. The
282253          changes may show diffs for certain parameters which say that the old
282254          value was an empty string, and the new value is None. This is due to
282255          the fact that in prior releases Salt was passing empty  strings  for
282256          these  values  when creating the container if they were undefined in
282257          the SLS file, where now Salt simply does not pass any arguments  not
282258          explicitly  defined  in  the  SLS file. Subsequent runs of the state
282259          should not  replace  the  container  if  the  configuration  remains
282260          unchanged.
282261
282262   New SSH Cache Roster
282263       The  SSH  cache  Roster has been rewritten from scratch to increase its
282264       usefulness.  The new roster supports all minion matchers, so it is  now
282265       possible to target minions identically through salt and salt-ssh.
282266
282267       Using  the  new  roster_order configuration syntax it's now possible to
282268       compose a roster out of any combination of grains, pillar and mine data
282269       and  even  Salt  SDB URLs.  The new release is also fully IPv4 and IPv6
282270       enabled and even has support for CIDR ranges.
282271
282272   Salt-SSH Default Options
282273       Defaults for rosters can now be set, so that they don't have to be  set
282274       on every entry in a roster or specified from the commandline.
282275
282276       The new option is roster_defaults and is specified in the master config
282277       file:
282278
282279          roster_defaults:
282280            user: daniel
282281            sudo: True
282282            priv: /root/.ssh/id_rsa
282283            tty: True
282284
282285   Blacklist or Whitelist Extmod Sync
282286       The modules that are synced to minions can now be limited.
282287
282288       The following configuration options have been added for the master:
282289
282290       · extmod_whitelist
282291
282292       · extmod_blacklist
282293
282294       and for the minion:
282295
282296       · extmod_whitelist
282297
282298       · extmod_blacklist
282299
282300   Additional Features
282301       · The mine.update function has a new optional  argument  mine_functions
282302         that  can be used to refresh mine functions at a more specific inter‐
282303         val than scheduled using the  mine_interval  option.   However,  this
282304         argument  can  be used by explicit schedule.  For example, if we need
282305         the mines for net.lldp to be refreshed every 12 hours:
282306
282307            schedule:
282308              lldp_mine_update:
282309                function: mine.update
282310                kwargs:
282311                  mine_functions:
282312                    net.lldp: []
282313                hours: 12
282314
282315       · The salt runner has a new function: salt.execute.   It  is  mainly  a
282316         shortcut  to facilitate the execution of various functions from other
282317         runners, e.g.:
282318
282319            ret1 = __salt__['salt.execute']('*', 'mod.fun')
282320
282321   New Modules
282322   Beacons
282323       · salt.beacons.log
282324
282325   Cache
282326       · salt.cache.redis_cache
282327
282328   Engines
282329       · salt.engines.stalekey
282330
282331       · salt.engines.junos_syslog
282332
282333       · salt.engines.napalm_syslog
282334
282335   Execution modules
282336       · salt.modules.apk
282337
282338       · salt.modules.at_solaris
282339
282340       · salt.modules.boto_kinesis
282341
282342       · salt.modules.boto3_elasticache
282343
282344       · salt.modules.boto3_route53
282345
282346       · salt.modules.capirca_acl
282347
282348       · salt.modules.freebsd_update
282349
282350       · salt.modules.grafana4
282351
282352       · salt.modules.heat
282353
282354       · salt.modules.icinga2
282355
282356       · salt.modules.kubernetes
282357
282358       · salt.modules.logmod
282359
282360       · salt.modules.mattermost
282361
282362       · salt.modules.namecheap_dns
282363
282364       · salt.modules.namecheap_domains
282365
282366       · salt.modules.namecheap_ns
282367
282368       · salt.modules.namecheap_users
282369
282370       · salt.modules.namecheap_ssl
282371
282372       · salt.modules.napalm
282373
282374       · salt.modules.napalm_acl
282375
282376       · salt.modules.napalm_yang_mod
282377
282378       · salt.modules.pdbedit
282379
282380       · salt.modules.solrcloud
282381
282382       · salt.modules.statuspage
282383
282384       · salt.modules.zonecfg
282385
282386       · salt.modules.zoneadm
282387
282388   Grains
282389       · salt.grains.metadata
282390
282391       · salt.grains.mdata
282392
282393   Outputters
282394       · salt.output.table_out
282395
282396   Pillar
282397       · salt.pillar.postgres
282398
282399       · salt.pillar.vmware_pillar
282400
282401   Returners
282402       · salt.returners.mattermost_returner
282403
282404       · salt.returners.highstate_return
282405
282406   Roster
282407       · salt.roster.cache
282408
282409   Runners
282410       · salt.runners.bgp
282411
282412       · salt.runners.mattermost
282413
282414       · salt.runners.net
282415
282416   SDB
282417       · salt.sdb.yaml
282418
282419       · salt.sdb.tism
282420
282421       · salt.sdb.cache
282422
282423   States
282424       · salt.states.boto_kinesis
282425
282426       · salt.states.boto_efs
282427
282428       · salt.states.boto3_elasticache
282429
282430       · salt.states.boto3_route53
282431
282432       · salt.states.docker_container
282433
282434       · salt.states.docker_image
282435
282436       · salt.states.docker_network
282437
282438       · salt.states.docker_volume
282439
282440       · salt.states.elasticsearch
282441
282442       · salt.states.grafana4_dashboard
282443
282444       · salt.states.grafana4_datasource
282445
282446       · salt.states.grafana4_org
282447
282448       · salt.states.grafana4_user
282449
282450       · salt.states.heat
282451
282452       · salt.states.icinga2
282453
282454       · salt.states.influxdb_continuous_query
282455
282456       · salt.states.influxdb_retention_policy
282457
282458       · salt.states.kubernetes
282459
282460       · salt.states.logadm
282461
282462       · salt.states.logrotate
282463
282464       · salt.states.msteams
282465
282466       · salt.states.netacl
282467
282468       · salt.states.netconfig
282469
282470       · salt.states.netyang
282471
282472       · salt.states.nix
282473
282474       · salt.states.pdbedit
282475
282476       · salt.states.solrcloud
282477
282478       · salt.states.statuspage
282479
282480       · salt.states.vault
282481
282482       · salt.states.win_wua
282483
282484       · salt.states.zone
282485
282486   Deprecations
282487   General Deprecations
282488       · Removed support for aliasing cmd.run to cmd.shell.
282489
282490       · Removed support for Dulwich from GitFS.
282491
282492       · Beacon configurations should be lists instead of dictionaries.
282493
282494       · The PidfileMixin has been removed. Please use DaemonMixIn instead.
282495
282496       · The     use_pending     argument     was     removed     from     the
282497         salt.utils.event.get_event function.
282498
282499       · The     pending_tags     argument     was     removed     from    the
282500         salt.utils.event.get_event function.
282501
282502   Configuration Option Deprecations
282503       · The client_acl configuration option has been removed. Please use pub‐
282504         lisher_acl instead.
282505
282506       · The  client_acl_blacklist  configuration  option  has  been  removed.
282507         Please use publisher_acl_blacklist instead.
282508
282509       · The win_gitrepos configuration option has been  removed.  Please  use
282510         the winrepo_remotes option instead.
282511
282512       · The  win_repo  configuration option has been removed. Please use win‐
282513         repo_dir instead.
282514
282515       · The win_repo_mastercachefile configuration option has  been  removed.
282516         Please use the winrepo_cachefile option instead.
282517
282518   Module Deprecations
282519       The git execution module had the following changes:
282520
282521       · The  fmt  argument  was removed from the archive function. Please use
282522         format instead.
282523
282524       · The repository argument was removed from the clone function.   Please
282525         use url instead.
282526
282527       · The  is_global  argument  was  removed  from the config_set function.
282528         Please use global instead.
282529
282530       · The branch argument was removed from the merge function.  Please  use
282531         rev instead.
282532
282533       · The  branch  argument  was removed from the push function. Please use
282534         rev instead.
282535
282536       The glusterfs execution module had the following functions removed:
282537
282538       · create: Please use create_volume instead.
282539
282540       · delete: Please use delete_volume instead.
282541
282542       · list_peers: Please use peer_status instead.
282543
282544       The htpasswd execution module had the following function removed:
282545
282546       · useradd_all: Please use useradd instead.
282547
282548       The img execution module has been removed. All of its associated  func‐
282549       tions  were  marked  for removal in the 2017.7.0 release. The functions
282550       removed in this module are mapped as follows:
282551
282552       · mount_image/mnt_image: Please use mount.mount instead.
282553
282554       · umount_image: Please use mount.umount instead.
282555
282556       · bootstrap: Please use genesis.bootstrap instead.
282557
282558       The smartos_virt execution module had the following functions removed:
282559
282560       · create: Please use start instead.
282561
282562       · destroy Please use stop instead.
282563
282564       · list_vms: Please use list_domains instead.
282565
282566       The virt execution module had the following functions removed:
282567
282568       · create: Please use start instead.
282569
282570       · destroy Please use stop instead.
282571
282572       · list_vms: Please use list_domains instead.
282573
282574       The virtualenv_mod execution module had the following changes:
282575
282576       · The  package_or_requirement  argument  was  removed  from  both   the
282577         get_resource_path and the get_resource_content functions.  Please use
282578         package instead.
282579
282580       · The   resource_name   argument   was   removed    from    both    the
282581         get_resource_path  and  get_resource_content  functions.   Please use
282582         resource instead.
282583
282584       The win_repo execution module had the following changes:
282585
282586       · The win_repo_source_dir option was removed from the win_repo  module.
282587         Please use winrepo_source_dir instead.
282588
282589       The xapi execution module had the following functions removed:
282590
282591       · create: Please use start instead.
282592
282593       · destroy: Please use stop instead.
282594
282595       · list_vms: Please use list_domains instead.
282596
282597       The zypper execution module had the following function removed:
282598
282599       · info: Please use info_available instead.
282600
282601   Pillar Deprecations
282602       · Support  for  the  raw_data argument for the file_tree ext_pillar has
282603         been removed. Please use keep_newline instead.
282604
282605       · SQLite3 database connection configuration previously had  keys  under
282606         pillar. This legacy compatibility has been removed.
282607
282608   Proxy Minion Deprecations
282609       · The proxy_merge_grains_in_module default has been switched from False
282610         to True.
282611
282612   Salt-API Deprecations
282613       · The  SaltAPI.run()  function  has  been  removed.  Please   use   the
282614         SaltAPI.start() function instead.
282615
282616   Salt-Cloud Deprecations
282617       · Support  for using the keyword provider in salt-cloud provider config
282618         files has been removed. Please use driver instead. The provider  key‐
282619         word should now only be used in cloud profile config files.
282620
282621   Salt-SSH Deprecations
282622       · The  wipe_ssh  option  for  salt-ssh has been removed. Please use the
282623         ssh_wipe option instead.
282624
282625   State Deprecations
282626       The apache_conf state had the following functions removed:
282627
282628       · disable: Please use disabled instead.
282629
282630       · enable: Please use enabled instead.
282631
282632       The apache_module state had the following functions removed:
282633
282634       · disable: Please use disabled instead.
282635
282636       · enable: Please use enabled instead.
282637
282638       The apache_site state had the following functions removed:
282639
282640       · disable: Please use disabled instead.
282641
282642       · enable: Please use enabled instead.
282643
282644       The chocolatey state had the following functions removed:
282645
282646       · install: Please use installed instead.
282647
282648       · uninstall: Please use uninstalled instead.
282649
282650       The git state had the following changes:
282651
282652       · The config function was removed. Please use config_set instead.
282653
282654       · The is_global  option  was  removed  from  the  config_set  function.
282655         Please use global instead.
282656
282657       · The  always_fetch  option was removed from the latest function, as it
282658         no longer has any effect. Please see the 2015.8.0 release  notes  for
282659         more information.
282660
282661       · The  force  option  was  removed from the latest function. Please use
282662         force_clone instead.
282663
282664       · The remote_name option was removed from the latest function.   Please
282665         use remote instead.
282666
282667       The glusterfs state had the following function removed:
282668
282669       · created: Please use volume_present instead.
282670
282671       The openvswitch_port state had the following change:
282672
282673       · The  type  option  was  removed from the present function. Please use
282674         tunnel_type instead.
282675
282676   Build Notes
282677   Windows Installer Packages
282678       Windows Installer packages have been patched  with  the  following  PR:
282679       42347
282680
282681   Salt 2017.7.1 Release Notes
282682       Version 2017.7.1 is a bugfix release for 2017.7.0.
282683
282684   Statistics
282685       · Total Merges: 16
282686
282687       · Total Issue References: 12
282688
282689       · Total PR References: 31
282690
282691       · Contributors:  11  (Ch3LL, TiteiKo, garethgreenaway, gtmanfred, llua,
282692         rallytime, seedickcode, skizunov, terminalmage, twangboy, whiteinge)
282693
282694   Security Fix
282695       CVE-2017-12791 Maliciously crafted minion IDs can cause unwanted direc‐
282696       tory traversals on the Salt-master
282697
282698       Correct  a  flaw in minion id validation which could allow certain min‐
282699       ions to authenticate to a master despite not having the correct creden‐
282700       tials.  To  exploit  the  vulnerability,  an  attacker  must  create  a
282701       salt-minion with an ID containing characters that will cause  a  direc‐
282702       tory  traversal.  Credit  for  discovering  the  security flaw goes to:
282703       Vernhk@qq.com
282704
282705   Changelog for v2017.7.0..v2017.7.1
282706       Generated at: 2018-05-26 20:28:44 UTC
282707
282708       · ISSUE saltstack/salt-jenkins#460: (Ch3LL) decorator tests failing  on
282709         python3 (refs: #42548)
282710
282711       · PR  #42595:  (gtmanfred)  make  sure to pass arg as well @ 2017-07-28
282712         16:21:58 UTC
282713
282714         · PR #42548: (gtmanfred) pass  in  empty  kwarg  for  reactor  (refs:
282715           #42595)
282716
282717         · a50fe5433a Merge pull request #42595 from gtmanfred/2017.7.1
282718
282719         · 8f73804b24 make sure to pass arg as well
282720
282721       · PR  #42597:  (rallytime)  Back-port  #42590  to 2017.7.1 @ 2017-07-28
282722         00:20:01 UTC
282723
282724         · PR #42590: (TiteiKo) Fix missing tornado import (refs: #42597)
282725
282726         · 3b583330de Merge pull request #42597 from rallytime/bp-42590
282727
282728         · 8818b06f22 Fix missing tornado import
282729
282730       · ISSUE #42404: (gabekahen) [2017.7] file.managed  with  cmd_check  "No
282731         such file or directory" (refs: #42411)
282732
282733       · ISSUE  #33708:  (pepinje)  visudo  check command leaves cache file in
282734         /tmp (refs: #38063, #42411)
282735
282736       · PR #42598: (rallytime) Back-port  #42411  to  2017.7.1  @  2017-07-28
282737         00:19:13 UTC
282738
282739         · PR  #42411: (seedickcode) Fix file.managed check_cmd file not found
282740           - Issue #42404 (refs: #42598)
282741
282742         · PR #38063: (llua) tmp file clean up in file.manage - fix for #33708
282743           (refs: #42411)
282744
282745         · 76f1e53e10 Merge pull request #42598 from rallytime/bp-42411
282746
282747         · 190cdb8693 Fix file.managed check_cmd file not found - Issue #42404
282748
282749       · PR  #42564:  (rallytime)  Back-port  #42555  to 2017.7.1 @ 2017-07-26
282750         17:32:02 UTC
282751
282752         · PR #42555: (Ch3LL) add changelog to 2017.7.1 release  notes  (refs:
282753           #42564)
282754
282755         · 5c7def9a43 Merge pull request #42564 from rallytime/bp-42555
282756
282757         · 7bcaa5a4cc small markup fix for title
282758
282759         · d066b599ca add changelog to 2017.7.1 release notes
282760
282761       · ISSUE  saltstack/salt-jenkins#460: (Ch3LL) decorator tests failing on
282762         python3 (refs: #42548)
282763
282764       · PR #42548: (gtmanfred) pass in empty kwarg for reactor (refs: #42595)
282765         @ 2017-07-26 00:41:20 UTC
282766
282767         · 711b742c54 Merge pull request #42548 from gtmanfred/2017.7.1
282768
282769         · 0257c1dc32 pass in empty kwarg for reactor
282770
282771         · b948e980d2 update chunk, not kwarg in chunk
282772
282773       · ISSUE  #42519:  (xuhcc) Error when installing package from file under
282774         Arch Linux (refs: #42522)
282775
282776       · PR  #42522:  (gtmanfred)  pacman  wildcard  is  only  for  repository
282777         installs @ 2017-07-24 20:51:05 UTC
282778
282779         · 50c1635dcc Merge pull request #42522 from gtmanfred/2017.7.1
282780
282781         · 7787fb9e1b pacman wildcard is only for repository installs
282782
282783       · PR  #42508:  (rallytime)  Back-port  #42474  to 2017.7.1 @ 2017-07-24
282784         20:49:51 UTC
282785
282786         · PR #42474: (whiteinge) Cmd arg kwarg parsing test (refs: #42508)
282787
282788         · PR #39646: (terminalmage) Handle deprecation of passing string args
282789           to load_args_and_kwargs (refs: #42474)
282790
282791         · 05c07ac049 Merge pull request #42508 from rallytime/bp-42474
282792
282793         · 76fb074433  Add  a  test.arg  variant that cleans the pub kwargs by
282794           default
282795
282796         · 624f63648e Lint fixes
282797
282798         · d246a5fc61 Add back support for string kwargs
282799
282800         · 854e098aa0 Add LocalClient.cmd test for arg/kwarg parsing
282801
282802       · ISSUE #42427: (grichmond-salt) Issue Passing Variables  created  from
282803         load_json as Inline Pillar Between States (refs: #42435)
282804
282805       · PR  #42472:  (rallytime)  Back-port  #42435  to 2017.7.1 @ 2017-07-24
282806         15:11:13 UTC
282807
282808         · PR #42435: (terminalmage) Modify our custom YAML  loader  to  treat
282809           unicode literals as unicode strings (refs: #42472)
282810
282811         · 95fe2558e4 Merge pull request #42472 from rallytime/bp-42435
282812
282813         · 5c47af5b98  Modify our custom YAML loader to treat unicode literals
282814           as unicode strings
282815
282816       · ISSUE #42374: (tyhunt99) [2017.7.0]  salt-run  mange.versions  throws
282817         exception if minion is offline or unresponsive (refs: #42436)
282818
282819       · PR  #42473:  (rallytime)  Back-port  #42436  to 2017.7.1 @ 2017-07-24
282820         15:10:29 UTC
282821
282822         · PR #42436: (garethgreenaway) Fixes to versions function  in  manage
282823           runner (refs: #42473)
282824
282825         · 5b99d45f54 Merge pull request #42473 from rallytime/bp-42436
282826
282827         · 82ed919803  Updating the versions function inside the manage runner
282828           to account for when a minion is offline and we are unable to deter‐
282829           mine it's version.
282830
282831       · ISSUE  #42381:  (zebooka)  Git.detached  broken  in  2017.7.0  (refs:
282832         #42399)
282833
282834       · ISSUE  #38878:  (tomlaredo)  [Naming  consistency]  git.latest  "rev"
282835         option VS git.detached "ref" option (refs: #38898)
282836
282837       · PR  #42471:  (rallytime)  Back-port  #42399  to 2017.7.1 @ 2017-07-24
282838         15:09:50 UTC
282839
282840         · PR #42399: (rallytime) Update old  "ref"  references  to  "rev"  in
282841           git.detached state (refs: #42471)
282842
282843         · PR  #38898: (terminalmage) git.detached: rename ref to rev for con‐
282844           sistency (refs: #42399)
282845
282846         · 3d1a2d3f9f Merge pull request #42471 from rallytime/bp-42399
282847
282848         · b9a4669e5a Update old "ref" references  to  "rev"  in  git.detached
282849           state
282850
282851       · ISSUE  #42400: (Enquier) Conflict in execution of passing pillar data
282852         to orch/reactor event executions 2017.7.0 (refs: #42031)
282853
282854       · PR #42470: (rallytime) Back-port  #42031  to  2017.7.1  @  2017-07-24
282855         15:09:30 UTC
282856
282857         · PR  #42031:  (skizunov)  Fix:  Reactor  emits critical error (refs:
282858           #42470)
282859
282860         · 09766bccbc Merge pull request #42470 from rallytime/bp-42031
282861
282862         · 0a0c6287a4 Fix: Reactor emits critical error
282863
282864       · ISSUE #41949: (jrporcaro) Event returner doesn't  work  with  Windows
282865         Master (refs: #42027)
282866
282867       · PR  #42469:  (rallytime)  Back-port  #42027  to 2017.7.1 @ 2017-07-21
282868         22:41:02 UTC
282869
282870         · PR #42027: (gtmanfred) import salt.minion for EventReturn for  Win‐
282871           dows (refs: #42469)
282872
282873         · d7b172a15b Merge pull request #42469 from rallytime/bp-42027
282874
282875         · ed612b4ee7 import salt.minion for EventReturn for Windows
282876
282877       · PR  #42466:  (rallytime)  Back-port  #42452  to 2017.7.1 @ 2017-07-21
282878         19:41:24 UTC
282879
282880         · PR #42452: (Ch3LL) update windows urls to new py2/py3 naming scheme
282881           (refs: #42466)
282882
282883         · 8777b1a825 Merge pull request #42466 from rallytime/bp-42452
282884
282885         · c10196f68c update windows urls to new py2/py3 naming scheme
282886
282887       · PR  #42439:  (rallytime)  Back-port  #42409  to 2017.7.1 @ 2017-07-21
282888         17:38:10 UTC
282889
282890         · PR #42409: (twangboy) Add  Scripts  to  build  Py3  on  Mac  (refs:
282891           #42439)
282892
282893         · fceaaf41d0 Merge pull request #42439 from rallytime/bp-42409
282894
282895         · 8176964b41 Remove build and dist, sign pkgs
282896
282897         · 2c14d92a07 Fix hard coded pip path
282898
282899         · 82fdd7c2e1 Add support for Py3
282900
282901         · 2478447246 Update Python and other reqs
282902
282903       · ISSUE  #42403:  (astronouth7303)  [2017.7] Pillar empty when state is
282904         applied from orchestrate (refs: #42433)
282905
282906       · PR #42441: (rallytime) Back-port  #42433  to  2017.7.1  @  2017-07-21
282907         17:37:01 UTC
282908
282909         · PR  #42433:  (terminalmage)  Only  force  saltenv/pillarenv to be a
282910           string when not None (refs: #42441)
282911
282912         · 660400560b Merge pull request #42441 from rallytime/bp-42433
282913
282914         · 17f347123a Only force saltenv/pillarenv to be  a  string  when  not
282915           None
282916
282917   Salt 2017.7.2 Release Notes
282918       Version 2017.7.2 is a bugfix release for 2017.7.0.
282919
282920   Statistics
282921       · Total Merges: 329
282922
282923       · Total Issue References: 73
282924
282925       · Total PR References: 236
282926
282927       · Contributors:  47  (Ch3LL, CorvinM, DmitryKuzmenko, Giandom, Mapel88,
282928         Mareo, SuperPommeDeTerre, The-Loeki, abulford, amendlik, blarghmatey,
282929         brejoc,  cachedout, carsonoid, cro, damon-atkins, darcoli, dmurphy18,
282930         frankiexyz, garethgreenaway, gtmanfred, hibbert, isbm, ixs,  jettero,
282931         jmarinaro,   justincbeard,  kkoppel,  llua,  lomeroe,  m03,  mcalmer,
282932         mirceaulinic,   morganwillcock,   nhavens,   pabloh007,    rallytime,
282933         seedickcode,   shengis,   skizunov,  terminalmage,  the-glu,  thusoy,
282934         twangboy, vitaliyf, vutny, whiteinge)
282935
282936   Security Fix
282937       CVE-2017-14695 Directory traversal vulnerability in minion  id  valida‐
282938       tion  in SaltStack. Allows remote minions with incorrect credentials to
282939       authenticate to a master via a crafted minion ID. Credit for  discover‐
282940       ing the security flaw goes to: Julian Brost (julian@0x4a42.net)
282941
282942       CVE-2017-14696  Remote  Denial  of  Service  with  a  specially crafted
282943       authentication request. Credit for discovering the security  flaw  goes
282944       to: Julian Brost (julian@0x4a42.net)
282945
282946   Changelog for v2017.7.1..v2017.7.2
282947       Generated at: 2018-05-26 21:06:12 UTC
282948
282949       · PR  #43868:  (rallytime)  Back-port  #43847  to 2017.7.2 @ 2017-10-03
282950         12:00:52 UTC
282951
282952         · PR #43847: (cachedout) Fix to module.run  (refs: #43868)
282953
282954         · dd0b3388cf Merge pull request #43868 from rallytime/bp-43847
282955
282956         · e21d8e9583 Use six.iterkeys() instead of dict.keys()
282957
282958         · c297ae5557 Improve failures for module.run states
282959
282960         · 782e67c199 Lint
282961
282962         · a6c2d78518 Fix typo found by @s0undt3ch
282963
282964         · 0cac15e502 Fix to module.run [WIP]
282965
282966       · PR #43871: (rallytime) Add updated release notes to 2017.7.2 branch @
282967         2017-10-03 11:59:29 UTC
282968
282969         · 47af4ae38a     Merge    pull    request    #43871    from    rally‐
282970           time/update-release-notes
282971
282972         · 2337904656 Add updated release notes to 2017.7.2 branch
282973
282974       · PR #43756:  (gtmanfred)  split  build  and  install  for  pkg  osx  @
282975         2017-09-26 20:51:28 UTC
282976
282977         · 88414d5f73 Merge pull request #43756 from gtmanfred/2017.7.2
282978
282979         · f7df41fa94 split build and install for pkg osx
282980
282981       · ISSUE  #43077:  (Manoj2087) Issue with  deleting key via wheel (refs:
282982         #43330)
282983
282984       · PR #43585: (rallytime) Back-port  #43330  to  2017.7.2  @  2017-09-19
282985         17:33:34 UTC
282986
282987         · PR  #43330:  (terminalmage)  Fix reactor regression + unify reactor
282988           config schema (refs: #43585)
282989
282990         · 89f629233f Merge pull request #43585 from rallytime/bp-43330
282991
282992         · c4f693bae8 Merge branch '2017.7.2' into bp-43330
282993
282994       · ISSUE #43447: (UtahDave) When using Syndic with Multi Master the  top
282995         level  master  doesn't reliably get returns from lower minion. (refs:
282996         #43526)
282997
282998       · PR #43586: (rallytime) Back-port  #43526  to  2017.7.2  @  2017-09-19
282999         15:36:27 UTC
283000
283001         · PR  #43526:  (DmitryKuzmenko)  Forward events to all masters syndic
283002           connected to (refs: #43586)
283003
283004         · abb7fe4422 Merge pull request #43586 from rallytime/bp-43526
283005
283006         · e076e9b634 Forward events to all masters syndic connected to.
283007
283008         · 7abd07fa07 Simplify client logic
283009
283010         · b5f10696c2 Improve the reactor documentation
283011
283012         · 7a2f12b96a Include a better example for reactor in master conf file
283013
283014         · 531cac610e Rewrite the reactor unit tests
283015
283016         · 2a35ab7f39 Unify reactor configuration, fix caller reactors
283017
283018         · 4afb179bad Un-deprecate passing kwargs outside of 'kwarg' param
283019
283020       · PR #43551: (twangboy) Fix preinstall script on  OSX  for  2017.7.2  @
283021         2017-09-18 18:35:35 UTC
283022
283023         · 3d3b09302d  Merge  pull request #43551 from twangboy/osx_fix_prein‐
283024           stall_2017.7.2
283025
283026         · c3d9fb63f0 Merge branch '2017.7.2' into osx_fix_preinstall_2017.7.2
283027
283028       · PR #43509: (rallytime) Back-port  #43333  to  2017.7.2  @  2017-09-15
283029         21:21:40 UTC
283030
283031         · PR  #43333:  (damon-atkins)  Docs  are  wrong  cache_dir (bool) and
283032           cache_file (str) cannot be passed as params + 1 bug (refs: #43509)
283033
283034         · 24691da888    Merge    pull    request    #43509    from     rally‐
283035           time/bp-43333-2017.7.2
283036
283037         · b3dbafb035 Update doco
283038
283039         · 5cdcdbf428 Update win_pkg.py
283040
283041         · c3e16661c3  Docs  are  wrong  cache_dir (bool) and cache_file (str)
283042           cannot be passed on the cli (#2)
283043
283044         · f33395f1ee Fix logic in /etc/paths.d/salt detection
283045
283046       · PR #43440: (rallytime) Back-port  #43421  to  2017.7.2  @  2017-09-11
283047         20:59:53 UTC
283048
283049         · PR  #43421:  (gtmanfred) Revert "Reduce fileclient.get_file latency
283050           by merging _file_find and … (refs: #43440)
283051
283052         · 8964cacbf8 Merge pull request #43440 from rallytime/bp-43421
283053
283054         · ea6e661755 Revert "Reduce fileclient.get_file  latency  by  merging
283055           _file_find and _file_hash"
283056
283057       · PR  #43377:  (rallytime)  Back-port  #43193  to 2017.7.2 @ 2017-09-11
283058         15:32:23 UTC
283059
283060         · PR #43193: (jettero) Prevent spurious  "Template  does  not  exist"
283061           error (refs: #43377)
283062
283063         · PR  #39516:  (jettero)  Prevent  spurious "Template does not exist"
283064           error (refs: #43193)
283065
283066         · 7fda186b18 Merge pull request #43377 from rallytime/bp-43193
283067
283068         · 842b07fd25 Prevent spurious "Template does not exist" error
283069
283070       · ISSUE #42459: (iavael) Broken ldap groups retrieval in salt.auth.ldap
283071         after upgrade to 2017.7 (refs: #43283)
283072
283073       · PR  #43315:  (rallytime)  Back-port  #43283  to 2017.7.2 @ 2017-09-05
283074         20:04:25 UTC
283075
283076         · PR #43283: (DmitryKuzmenko) Fix  ldap  token  groups  auth.  (refs:
283077           #43315)
283078
283079         · 85dba1e898 Merge pull request #43315 from rallytime/bp-43283
283080
283081         · f29f5b0cce  Fix  for  tests:  don't  require  'groups' in the eauth
283082           token.
283083
283084         · 56938d5bf2 Fix ldap token groups auth.
283085
283086       · ISSUE #43259: (mahesh21) NameError: global  name  '__opts__'  is  not
283087         defined (refs: #43266)
283088
283089       · PR   #43266:  (gtmanfred)  switch  virtualbox  cloud  driver  to  use
283090         __utils__ @ 2017-08-30 18:36:20 UTC
283091
283092         · 26ff8088cb Merge pull request #43266 from gtmanfred/virtualbox
283093
283094         · 382bf92de7 switch virtualbox cloud driver to use __utils__
283095
283096       · ISSUE #42936:  (Mapel88)  bug  in  win_iis  module  &  state  -  con‐
283097         tainer_setting (refs: #43073)
283098
283099       · PR  #43073:  (Mapel88) Fix bug #42936 - win_iis module container set‐
283100         tings @ 2017-08-30 18:34:37 UTC
283101
283102         · ee209b144c Merge pull request #43073 from Mapel88/patch-2
283103
283104         · b1a3d15b28 Remove trailing whitespace for linter
283105
283106         · 25c8190e48 Fix pylint errors
283107
283108         · 1eba8c4b8e Fix pylint errors
283109
283110         · 290d7b54af Fix plint errors
283111
283112         · f4f32421ab Fix plint errors
283113
283114         · ec20e9a19a Fix bug #43110 - win_iis module
283115
283116         · 009ef6686b Fix dictionary keys from string to int
283117
283118         · dc793f9a05 Fix bug #42936 - win_iis state
283119
283120         · 13404a47b5 Fix bug #42936 - win_iis module
283121
283122       · PR #43254: (twangboy) Fix unit.modules.test_inspect_collector on Win‐
283123         dows @ 2017-08-30 15:46:07 UTC
283124
283125         · ec1bedc646     Merge    pull    request    #43254    from    twang‐
283126           boy/win_fix_test_inspect_collector
283127
283128         · b401340e6c Fix unit.modules.test_inspect_collector on Windows
283129
283130       · ISSUE #43241: (mirceaulinic) Error whilst  collecting  napalm  grains
283131         (refs: #43255)
283132
283133       · PR  #43255:  (gtmanfred)  always  return  a  dict object @ 2017-08-30
283134         14:47:15 UTC
283135
283136         · 1fc7307735 Merge pull request #43255 from gtmanfred/2017.7
283137
283138         · 83b0bab34b opt_args needs to be a dict
283139
283140       · PR  #43229:  (twangboy)  Bring  changes  from  #43228  to  2017.7   @
283141         2017-08-30 14:26:55 UTC
283142
283143         · PR #43228: (twangboy) Win fix pkg.install (refs: #43229)
283144
283145         · fa904ee225     Merge    pull    request    #43229    from    twang‐
283146           boy/win_fix_pkg.install-2017.7
283147
283148         · e007a1c26e Fix regex, add .
283149
283150         · 23ec47c74c Add _ to regex search
283151
283152         · b1788b1e5f Bring changes from #43228 to 2017.7
283153
283154       · PR #43251: (twangboy) Skips unit.modules.test_groupadd on  Windows  @
283155         2017-08-30 13:56:36 UTC
283156
283157         · 25666f88f7     Merge    pull    request    #43251    from    twang‐
283158           boy/win_skip_test_groupadd
283159
283160         · 5185071d5a Skips unit.modules.test_groupadd on Windows
283161
283162       · PR #43256: (twangboy) Skip mac tests for user and group @  2017-08-30
283163         13:18:13 UTC
283164
283165         · a8e09629b2     Merge    pull    request    #43256    from    twang‐
283166           boy/win_skip_mac_tests
283167
283168         · cec627a60b Skip mac tests for user and group
283169
283170       · ISSUE #42279: (dafyddj) win_lgpo matches  multiple  policies  due  to
283171         startswith() (refs: #43116, #43156, #43166, #43226)
283172
283173       · PR  #43226:  (lomeroe)  Fixes  for  issues  in PR #43166 @ 2017-08-29
283174         19:05:39 UTC
283175
283176         · PR #43166: (lomeroe) Backport #43116 to 2017.7 (refs: #43226)
283177
283178         · PR #43156: (lomeroe) Backport #43116 to 2017.7 (refs: #43166)
283179
283180         · PR #43116: (lomeroe) Fix 42279 in develop (refs: #43166, #43156)
283181
283182         · PR #39773: (twangboy) Make win_file  use  the  win_dacl  salt  util
283183           (refs: #43226)
283184
283185         · ac2189c870 Merge pull request #43226 from lomeroe/fix_43166
283186
283187         · 0c424dc4a3 Merge branch '2017.7' into fix_43166
283188
283189         · 324cfd8d1e  correcting bad format statement in search for policy to
283190           be disabled  (fix  for  #43166)  verify  that  file  exists  before
283191           attempting to remove (fix for commits from #39773)
283192
283193       · PR  #43227:  (twangboy)  Fix unit.fileserver.test_gitfs for Windows @
283194         2017-08-29 19:03:36 UTC
283195
283196         · 6199fb46dc    Merge    pull    request    #43227    from     twang‐
283197           boy/win_fix_unit_test_gitfs
283198
283199         · c956d24283 Fix is_windows detection when USERNAME missing
283200
283201         · 869e8cc603 Fix unit.fileserver.test_gitfs for Windows
283202
283203       · PR  #43217: (rallytime) [2017.7] Merge forward from 2016.11 to 2017.7
283204         @ 2017-08-28 16:36:28 UTC
283205
283206         · 6adc03e4b4 Merge pull request #43217 from rallytime/merge-2017.7
283207
283208         · 3911df2f4b Merge branch '2016.11' into '2017.7'
283209
283210         · 5308c27f9f   Merge   pull   request   #43202   from    garethgreen‐
283211           away/42642_2016_11_augeas_module_revert_fix
283212
283213           · ef7e93eb3f Reverting this change due to it breaking other uses.
283214
283215         · f16b7246e4   Merge  pull  request  #43103  from  aogier/43101-gene‐
283216           sis-bootstrap
283217
283218           · db94f3bb1c better formatting
283219
283220           · e5cc667762 tests: fix a leftover and simplify some parts
283221
283222           · 13e5997457 lint
283223
283224           · 216ced69e5 allow comma-separated pkgs lists, quote args, test deb
283225             behaviour
283226
283227           · d8612ae006  fix  debootstrap and enhance packages selection/dele‐
283228             tion via cmdline
283229
283230         · 4863771428   Merge   pull   request   #42663    from    StreetHawk‐
283231           Inc/fix_git_tag_check
283232
283233           · 2b5af5b59d Remove refs/tags prefix from remote tags
283234
283235           · 3f2e96e561 Convert set to list for serializer
283236
283237           · 2728e5d977 Only include new tags in changes
283238
283239           · 4b1df2f223 Exclude annotated tags from checks
283240
283241           · 389c037285 Check remote tags before deciding to do a fetch #42329
283242
283243       · PR  #43201: (rallytime) [2017.7] Merge forward from 2016.11 to 2017.7
283244         @ 2017-08-25 22:56:46 UTC
283245
283246         · a563a9422a Merge pull request #43201 from rallytime/merge-2017.7
283247
283248         · d40eba6b37 Merge branch '2016.11' into '2017.7'
283249
283250           · 4193e7f0a2 Merge pull request  #43199  from  corywright/disk-for‐
283251             mat-alias
283252
283253             · f00d3a9ddc Add disk.format alias for disk.format_
283254
283255           · 5471f9fe0c Merge pull request #43196 from gtmanfred/2016.11
283256
283257             · ccd2241777 Pin request install to version
283258
283259           · ace2715c60 Merge pull request #43178 from terminalmage/issue43143
283260
283261             · 2640833400 git.detached: Fix traceback when rev is a SHA and is
283262               not present locally
283263
283264           · 12e9507b9e Merge pull request #43179 from terminalmage/old-depre‐
283265             cation
283266
283267             · 3adf8ad04b Fix missed deprecation
283268
283269           · b595440d90    Merge    pull   request   #43171   from   terminal‐
283270             mage/salt-utils-warning
283271
283272             · 7b5943a31a  Add  warning  about   adding   new   functions   to
283273               salt/utils/__init__.py
283274
283275           · 4f273cac4f Merge pull request #43173 from Ch3LL/add_branch_docs
283276
283277             · 1b24244bd3 Add New Release Branch Strategy to Contribution Docs
283278
283279       · PR  #42997:  (twangboy) Fix unit.test_test_module_names for Windows @
283280         2017-08-25 21:19:11 UTC
283281
283282         · ce04ab4286    Merge    pull    request    #42997    from     twang‐
283283           boy/win_fix_test_module_names
283284
283285         · 2722e9521d Use os.path.join to create paths
283286
283287       · ISSUE #26995: (jbouse) Issue with artifactory.downloaded and snapshot
283288         artifacts (refs: #43006)
283289
283290       · PR  #43006:  (SuperPommeDeTerre)  Try  to  fix  #26995  @  2017-08-25
283291         21:16:07 UTC
283292
283293         · c0279e491e       Merge      pull      request      #43006      from
283294           SuperPommeDeTerre/SuperPommeDeTerre-patch-#26995
283295
283296         · 30dd6f5d12  Merge  remote-tracking  branch  'upstream/2017.7'  into
283297           SuperPommeDeTerre-patch-#26995
283298
283299         · f42ae9b8cd   Merge   branch   'SuperPommeDeTerre-patch-#26995'   of
283300           https://github.com/SuperPommeDeTerre/salt    into     SuperPommeDe‐
283301           Terre-patch-#26995
283302
283303           · 50ee3d5682  Merge  remote-tracking branch 'remotes/origin/2017.7'
283304             into SuperPommeDeTerre-patch-#26995
283305
283306           · 0b666e100b Fix typo.
283307
283308           · 1b8729b3e7 Fix for #26995
283309
283310         · e314102978 Fix typo.
283311
283312         · db11e1985b Fix for #26995
283313
283314       · ISSUE #43162: (MorphBonehunter) docker_container.running interference
283315         with restart_policy  (refs: #43184)
283316
283317       · PR  #43184:  (terminalmage) docker.compare_container: Perform boolean
283318         comparison when one side's value is null/None @  2017-08-25  18:42:11
283319         UTC
283320
283321         · b6c5314fe9 Merge pull request #43184 from terminalmage/issue43162
283322
283323         · 081f42ad71  docker.compare_container:  Perform  boolean  comparison
283324           when one side's value is null/None
283325
283326       · PR #43165: (mirceaulinic) Improve napalm state output in debug mode @
283327         2017-08-24 23:05:37 UTC
283328
283329         · 688125bb4f Merge pull request #43165 from cloudflare/fix-napalm-ret
283330
283331         · c10717dc89 Lint and fix
283332
283333         · 1cd33cbaa9 Simplify the loaded_ret logic
283334
283335         · 0bbea6b04c Document the new compliance_report arg
283336
283337         · 3a906109bd Include compliance reports
283338
283339         · 3634055e34 Improve napalm state output in debug mode
283340
283341       · PR  #43155: (terminalmage) Resolve image ID during container compari‐
283342         son @ 2017-08-24 22:09:47 UTC
283343
283344         · a6a327b1e5 Merge pull request #43155 from terminalmage/issue43001
283345
283346         · 0186835ebf Fix docstring in test
283347
283348         · a0bb654e46 Fixing lint issues
283349
283350         · d5b2a0be68 Resolve image ID during container comparison
283351
283352       · PR #43170: (rallytime) [2017.7] Merge forward from 2016.11 to  2017.7
283353         @ 2017-08-24 19:22:26 UTC
283354
283355         · c071fd44c8 Merge pull request #43170 from rallytime/merge-2017.7
283356
283357         · 3daad5a3a2 Merge branch '2016.11' into '2017.7'
283358
283359           · 669b376abf Merge pull request #43151 from ushmodin/2016.11
283360
283361             · c5841e2ade  state.sls hangs on file.recurse with clean: True on
283362               windows
283363
283364       · ISSUE #43040: (darcoli) gitFS ext_pillar  with  branch  name  __env__
283365         results in empty pillars (refs: #43041)
283366
283367       · PR  #43168:  (rallytime)  Back-port  #43041  to  2017.7  @ 2017-08-24
283368         19:07:23 UTC
283369
283370         · PR #43041: (darcoli) Do not try to  match  pillarenv  with  __env__
283371           (refs: #43168)
283372
283373         · 034c325a09 Merge pull request #43168 from rallytime/bp-43041
283374
283375         · d010b74b87 Do not try to match pillarenv with __env__
283376
283377       · PR   #43172:   (rallytime)   Move   new  utils/__init__.py  funcs  to
283378         utils.files.py @ 2017-08-24 19:05:30 UTC
283379
283380         · PR  #43056:  (damon-atkins)  safe_filename_leaf(file_basename)  and
283381           safe_filepath(file_path_name) (refs: #43172)
283382
283383         · d48938e6b4     Merge    pull    request    #43172    from    rally‐
283384           time/move-utils-funcs
283385
283386         · 5385c7901e Move new utils/__init__.py funcs to utils.files.py
283387
283388       · ISSUE #43043: (pabloh007) docker.save and docker.load problem  (refs:
283389         #43061)
283390
283391       · PR #43061: (pabloh007) Have docker.save use the image name when valid
283392         if not use image id, i… @ 2017-08-24 16:32:02 UTC
283393
283394         · e60f586442      Merge      pull      request      #43061       from
283395           pabloh007/fix-save-image-name-id
283396
283397         · 0ffc57d1df  Have  docker.save  use the image name when valid if not
283398           use image id, issue when loading and image is savid with  id  issue
283399           #43043
283400
283401       · ISSUE  #42279:  (dafyddj)  win_lgpo  matches multiple policies due to
283402         startswith() (refs: #43116, #43156, #43166, #43226)
283403
283404       · PR #43166: (lomeroe) Backport  #43116  to  2017.7  (refs:  #43226)  @
283405         2017-08-24 15:01:23 UTC
283406
283407         · PR #43156: (lomeroe) Backport #43116 to 2017.7 (refs: #43166)
283408
283409         · PR #43116: (lomeroe) Fix 42279 in develop (refs: #43166, #43156)
283410
283411         · 9da57543f8 Merge pull request #43166 from lomeroe/bp-43116-2017.7
283412
283413         · af181b3257 correct fopen calls from salt.utils for 2017.7
283414
283415         · f74480f11e lint fix
283416
283417         · ecd446fd55  track  xml namespace to ensure policies w/duplicate IDs
283418           or Names do not conflict
283419
283420         · 9f3047c420 add additional checks for ADM  policies  that  have  the
283421           same ADMX policy ID (#42279)
283422
283423       · PR   #43056:   (damon-atkins)  safe_filename_leaf(file_basename)  and
283424         safe_filepath(file_path_name) (refs: #43172)  @  2017-08-23  17:35:02
283425         UTC
283426
283427         · 44b3caead1 Merge pull request #43056 from damon-atkins/2017.7
283428
283429         · 08ded1546e more lint
283430
283431         · 6e9c0957fb fix typo
283432
283433         · ee41171c9f lint fixes
283434
283435         · 8c864f02c7 fix missing imports
283436
283437         · 964cebd954           safe_filename_leaf(file_basename)          and
283438           safe_filepath(file_path_name)
283439
283440       · PR #43146: (rallytime) [2017.7] Merge forward from 2016.11 to  2017.7
283441         @ 2017-08-23 16:56:10 UTC
283442
283443         · 6ca9131a23 Merge pull request #43146 from rallytime/merge-2017.7
283444
283445         · bcbe180fbc Merge branch '2016.11' into '2017.7'
283446
283447           · ae9d2b7985 Merge pull request #42986 from renner/systemd-notify
283448
283449             · 79c53f3f81   Fallback   to  systemd_notify_call()  in  case  of
283450               socket.error
283451
283452             · f1765472dd Notify systemd synchronously (via NOTIFY_SOCKET)
283453
283454           · b420fbe618   Merge    pull    request    #43037    from    mcarl‐
283455             ton00/fix-bhyve-grains
283456
283457             · 73315f0cf0 Issue #43036 Bhyve virtual grain in Linux VMs
283458
283459           · 0a86f2d884  Merge  pull  request  #43100 from vutny/doc-add-miss‐
283460             ing-utils-ext
283461
283462             · af743ff6c3 [DOCS] Add missing utils sub-dir listed  for  exten‐
283463               sion_modules
283464
283465       · PR   #43123:  (twangboy)  Fix  unit.utils.test_which  for  Windows  @
283466         2017-08-23 16:01:39 UTC
283467
283468         · 03f652159f    Merge    pull    request    #43123    from     twang‐
283469           boy/win_fix_test_which
283470
283471         · ed97cff5f6 Fix unit.utils.test_which for Windows
283472
283473       · ISSUE   #42505:  (ikogan)  selinux.fcontext_policy_present  exception
283474         looking for selinux.filetype_id_to_string (refs: #43068)
283475
283476       · PR #43142:  (rallytime)  Back-port  #43068  to  2017.7  @  2017-08-23
283477         15:56:48 UTC
283478
283479         · PR  #43068:  (ixs)  Mark  selinux._filetype_id_to_string  as public
283480           function (refs: #43142)
283481
283482         · 5a4fc07863 Merge pull request #43142 from rallytime/bp-43068
283483
283484         · efc1c8c506 Mark selinux._filetype_id_to_string as public function
283485
283486       · PR  #43038:  (twangboy)  Fix  unit.utils.test_url   for   Windows   @
283487         2017-08-23 13:35:25 UTC
283488
283489         · 0467a0e3bf     Merge    pull    request    #43038    from    twang‐
283490           boy/win_unit_utils_test_url
283491
283492         · 7f5ee55f57 Fix unit.utils.test_url for Windows
283493
283494       · PR #43097: (twangboy) Fix  group.present  for  Windows  @  2017-08-23
283495         13:19:56 UTC
283496
283497         · e9ccaa61d2 Merge pull request #43097 from twangboy/win_fix_group
283498
283499         · 43b0360763 Fix lint
283500
283501         · 9ffe315d7d Add kwargs
283502
283503         · 4f4e34c79f Fix group state for Windows
283504
283505       · PR  #43115:  (rallytime)  Back-port  #42067  to  2017.7  @ 2017-08-22
283506         20:09:52 UTC
283507
283508         · PR #42067: (vitaliyf) Removed several uses of name.split('.')[0] in
283509           SoftLayer driver. (refs: #43115)
283510
283511         · 8140855627 Merge pull request #43115 from rallytime/bp-42067
283512
283513         · 8a6ad0a9cf Fixed typo.
283514
283515         · 9a5ae2bba1  Removed several uses of name.split('.')[0] in SoftLayer
283516           driver.
283517
283518       · PR #42962: (twangboy) Fix unit.test_doc test for Windows @ 2017-08-22
283519         18:06:23 UTC
283520
283521         · 1e1a81036c     Merge    pull    request    #42962    from    twang‐
283522           boy/win_unit_test_doc
283523
283524         · 201ceae4c4 Fix lint, remove debug statement
283525
283526         · 37029c1a16 Fix unit.test_doc test
283527
283528       · PR  #42995:  (twangboy)  Fix  malformed  requisite  for   Windows   @
283529         2017-08-22 16:50:01 UTC
283530
283531         · d347d1cf8f     Merge    pull    request    #42995    from    twang‐
283532           boy/win_fix_invalid_requisite
283533
283534         · 93390de88b Fix malformed requisite for Windows
283535
283536       · PR #43108:  (rallytime)  Back-port  #42988  to  2017.7  @  2017-08-22
283537         16:49:27 UTC
283538
283539         · PR #42988: (thusoy) Fix broken negation in iptables (refs: #43108)
283540
283541         · 1c7992a832 Merge pull request #43108 from rallytime/bp-42988
283542
283543         · 1a987cb948 Fix broken negation in iptables
283544
283545       · PR  #43107: (rallytime) [2017.7] Merge forward from 2016.11 to 2017.7
283546         @ 2017-08-22 16:11:25 UTC
283547
283548         · c6993f4a84 Merge pull request #43107 from rallytime/merge-2017.7
283549
283550         · 328dd6aa23 Merge branch '2016.11' into '2017.7'
283551
283552         · e2bf2f448e   Merge   pull   request   #42985    from    DSRCorpora‐
283553           tion/bugs/15171_recursion_limit
283554
283555           · 651b1bab09 Properly handle prereq having lost requisites.
283556
283557         · e51333306c Merge pull request #43092 from mitodl/2016.11
283558
283559           · d4b113acdf Fixed issue with silently passing all tests in Testin‐
283560             fra module
283561
283562         · 77a443ce8e    Merge    pull    request    #43060    from     twang‐
283563           boy/osx_update_pkg_scripts
283564
283565           · ef8a14cdf9 Remove /opt/salt instead of /opt/salt/bin
283566
283567           · 2dd62aa1da Add more information to the description
283568
283569           · f44f5b70dc Only stop services if they are running
283570
283571           · 3b62bf953c Remove salt from the path
283572
283573           · ebdca3a0f5 Update pkg-scripts
283574
283575         · 1b1b6da803 Merge pull request #43064 from terminalmage/issue42869
283576
283577           · 093c0c2f77 Fix race condition in git.latest
283578
283579         · 96e8e836d1    Merge    pull    request    #43054   from   lorengor‐
283580           don/fix/yumpkg/config-parser
283581
283582           · 3b2cb81a72 fix typo in salt.modules.yumpkg
283583
283584           · 38add0e4a2 break if leading comments are all fetched
283585
283586           · d7f65dc7a7 fix configparser import & log if error was raised
283587
283588           · ca1b1bb633 use configparser to parse yum repo file
283589
283590       · PR  #42996:  (twangboy)  Fix  unit.test_stateconf   for   Windows   @
283591         2017-08-21 22:43:58 UTC
283592
283593         · f9b4976c02     Merge    pull    request    #42996    from    twang‐
283594           boy/win_fix_test_stateconf
283595
283596         · 92dc3c0ece Use os.sep for path
283597
283598       · PR  #43024:  (twangboy)  Fix  unit.utils.test_find  for   Windows   @
283599         2017-08-21 22:38:10 UTC
283600
283601         · 19fc644c9b     Merge    pull    request    #43024    from    twang‐
283602           boy/win_unit_utils_test_find
283603
283604         · fbe54c9a33 Remove unused import six (lint)
283605
283606         · b04d1a2f18 Fix unit.utils.test_find for Windows
283607
283608       · PR  #43088:  (gtmanfred)  allow  docker  util  to  be  reloaded  with
283609         reload_modules @ 2017-08-21 22:14:37 UTC
283610
283611         · 1a531169fc Merge pull request #43088 from gtmanfred/2017.7
283612
283613         · 373a9a0be4 allow docker util to be reloaded with reload_modules
283614
283615       · PR  #43091: (blarghmatey) Fixed issue with silently passing all tests
283616         in Testinfra module @ 2017-08-21 22:06:22 UTC
283617
283618         · 83e528f0b3 Merge pull request #43091 from mitodl/2017.7
283619
283620         · b502560e61 Fixed issue with silently passing all tests in Testinfra
283621           module
283622
283623       · PR  #41994:  (twangboy)  Fix  unit.modules.test_cmdmod  on  Windows @
283624         2017-08-21 21:53:01 UTC
283625
283626         · 5482524270    Merge    pull    request    #41994    from     twang‐
283627           boy/win_unit_test_cmdmod
283628
283629         · a5f7288ad9 Skip test that uses pwd, not available on Windows
283630
283631       · ISSUE  #42873: (TheVakman) osquery Data Empty Upon Return / Reporting
283632         Not Installed (refs: #42933)
283633
283634       · PR #42933: (garethgreenaway) Fixes to  osquery  module  @  2017-08-21
283635         20:48:31 UTC
283636
283637         · b33c4abc15    Merge   pull   request   #42933   from   garethgreen‐
283638           away/42873_2017_7_osquery_fix
283639
283640         · 8915e62bd9 Removing an import that is not needed.
283641
283642         · 74bc377eb4 Updating the other function that uses cmd.run_all
283643
283644         · e6a4619ec1 Better approach without using python_shell=True.
283645
283646         · 5ac41f496d When running osquery commands through cmd.run we  should
283647           pass  python_shell=True  to  ensure  everything is formatted right.
283648           #42873
283649
283650       · PR #43093: (gtmanfred) Fix ec2 list_nodes_full to work  on  2017.7  @
283651         2017-08-21 20:21:21 UTC
283652
283653         · 53c2115769 Merge pull request #43093 from gtmanfred/ec2
283654
283655         · c7cffb5a04 This block isn't necessary
283656
283657         · b7283bcc6f _vm_provider_driver isn't needed anymore
283658
283659       · ISSUE  #43085:  (brejoc)  Patch  for  Kubernetes  module missing from
283660         2017.7 and 2017.7.1 (refs: #43087)
283661
283662       · PR #43087:  (rallytime)  Back-port  #42174  to  2017.7  @  2017-08-21
283663         18:40:18 UTC
283664
283665         · PR #42174: (mcalmer) kubernetes: provide client certificate authen‐
283666           tication (refs: #43087)
283667
283668         · 32f9ade4db Merge pull request #43087 from rallytime/bp-42174
283669
283670         · cf6563645b add support for certificate authentication to kubernetes
283671           module
283672
283673       · PR #43029: (terminalmage) Normalize the salt caching API @ 2017-08-21
283674         16:54:58 UTC
283675
283676         · 882fcd846f   Merge   pull    request    #43029    from    terminal‐
283677           mage/fix-func-alias
283678
283679         · f8f74a310c  Update  localfs  cache tests to reflect changes to func
283680           naming
283681
283682         · c4ae79b229 Rename other refs to cache.ls with cache.list
283683
283684         · ee59d127e8 Normalize the salt caching API
283685
283686       · ISSUE #42843: (brejoc) Kubernetes module won't work  with  Kubernetes
283687         Python client > 1.0.2 (refs: #42845)
283688
283689       · PR #43039: (gtmanfred) catch ImportError for kubernetes.client import
283690         @ 2017-08-21 14:32:38 UTC
283691
283692         · PR #42845: (brejoc) API changes for Kubernetes version 2.0.0 (refs:
283693           #43039)
283694
283695         · dbee735f6e Merge pull request #43039 from gtmanfred/kube
283696
283697         · 7e269cb368 catch ImportError for kubernetes.client import
283698
283699       · PR  #43058: (rallytime) Update release version number for jenkins.run
283700         function @ 2017-08-21 14:13:34 UTC
283701
283702         · c56a8499b3 Merge pull request #43058 from rallytime/fix-release-num
283703
283704         · d7eef70df0 Update release version number for jenkins.run function
283705
283706       · PR #43051: (rallytime) [2017.7] Merge forward from 2016.11 to  2017.7
283707         @ 2017-08-18 17:05:57 UTC
283708
283709         · 7b0c94768a Merge pull request #43051 from rallytime/merge-2017.7
283710
283711         · 153a463b86 Lint: Add missing blank line
283712
283713         · 84829a6f8c Merge branch '2016.11' into '2017.7'
283714
283715         · 43aa46f512 Merge pull request #43048 from rallytime/bp-43031
283716
283717           · 35e45049e2 use a ruby gem that doesn't have dependencies
283718
283719         · ad89ff3104  Merge  pull  request #43023 from terminalmage/fix-jenk‐
283720           ins-xml-caching
283721
283722           · 33fd8ff939 Update jenkins.py
283723
283724           · fc306fc8c3 Add missing colon in if statement
283725
283726           · 822eabcc81 Catch exceptions raised when making changes to jenkins
283727
283728           · 91b583b493 Improve and correct exception raising
283729
283730           · f096917a0e Raise an exception if we fail to cache the config xml
283731
283732         · 2957467ed7 Merge pull request #43026 from rallytime/bp-43020
283733
283734           · 0eb15a1f67 test with gem that appears to be abandoned
283735
283736         · 4150b094fe Merge pull request #43033 from rallytime/bp-42760
283737
283738           · 3e3f7f5d8e Catch TypeError thrown by m2crypto when parsing  miss‐
283739             ing subjects in certificate files.
283740
283741         · b124d3667e Merge pull request #43032 from rallytime/bp-42547
283742
283743           · ea4d7f4176  Updated  testinfra  modules  to work with more recent
283744             versions
283745
283746         · a88386ad44      Merge      pull      request      #43027       from
283747           pabloh007/fix-docker-save-push-2016-11
283748
283749           · d0fd949f85  Fixes  ignore  push flag for docker.push module issue
283750             #42992
283751
283752         · 51d16840bb   Merge   pull   request   #42890    from    DSRCorpora‐
283753           tion/bugs/42627_salt-cp
283754
283755           · cfddbf1c75 Apply code review: update the doc
283756
283757           · afedd3b654 Typos and version fixes in the doc.
283758
283759           · 9fedf6012e Fixed 'test_valid_docs' test.
283760
283761           · 999388680c  Make  chunked  mode  in salt-cp optional (disabled by
283762             default).
283763
283764         · b3c253cdfa Merge pull request #43009 from rallytime/merge-2016.11
283765
283766           · 566ba4fe76 Merge branch '2016.3' into '2016.11'
283767
283768             · 13b8637d53 Merge pull request #42942  from  Ch3LL/2016.3.6_fol‐
283769               low_up
283770
283771               · f281e1795f  move additional minion config options to 2016.3.8
283772                 release notes
283773
283774               · 168604ba6b remove merge conflict
283775
283776               · 8a07d95212 update release notes with cve number
283777
283778               · 149633fdca Add release notes for 2016.3.7 release
283779
283780               · 7a4cddcd95 Add clean_id function to salt.utils.verify.py
283781
283782             · bbb1b29ccb Merge pull request #42954 from Ch3LL/latest_2016.3
283783
283784               · b551e66744 [2016.3] Bump latest and previous versions
283785
283786             · 5d5edc54b7 Merge pull request #42949 from Ch3LL/2016.3.7_docs
283787
283788               · d75d3741f8 Add Security Notice to 2016.3.7 Release Notes
283789
283790         · 37c63e7cf2 Merge pull  request  #43021  from  terminalmage/fix-net‐
283791           work-test
283792
283793           · 4089b7b1bc  Use  socket.AF_INET6 to get the correct value instead
283794             of doing an OS check
283795
283796         · 8f6423247c  Merge  pull   request   #43019   from   rallytime/boot‐
283797           strap_2017.08.17
283798
283799           · 2f762b3a17 Update bootstrap script to latest stable: v2017.08.17
283800
283801         · ff1caeee68 Merge pull request #43014 from Ch3LL/fix_network_mac
283802
283803           · b8eee4401e Change AF_INET6 family for mac in test_host_to_ips
283804
283805       · PR #43035: (rallytime) [2017.7] Merge forward from 2017.7.1 to 2017.7
283806         @ 2017-08-18 12:58:17 UTC
283807
283808         · PR  #42948:   (Ch3LL)   [2017.7.1]   Add   clean_id   function   to
283809           salt.utils.verify.py (refs: #43035)
283810
283811         · PR    #42945:   (Ch3LL)   [2017.7]   Add   clean_id   function   to
283812           salt.utils.verify.py (refs: #43035)
283813
283814         · d15b0ca937 Merge pull request #43035 from rallytime/merge-2017.7
283815
283816         · 756128a896 Merge branch '2017.7.1' into '2017.7'
283817
283818           · ab1b099730 Merge pull  request  #42948  from  Ch3LL/2017.7.0_fol‐
283819             low_up
283820
283821       · ISSUE  #42989:  (blbradley) GitFS GitPython performance regression in
283822         2017.7.1 (refs: #43002)
283823
283824       · PR #43034:  (rallytime)  Back-port  #43002  to  2017.7  @  2017-08-17
283825         23:18:16 UTC
283826
283827         · PR #43002: (the-glu) Try to fix #42989 (refs: #43034)
283828
283829         · bcbb973a71 Merge pull request #43034 from rallytime/bp-43002
283830
283831         · 350c0767dc  Try  to  fix #42989 by doing sslVerify and refspecs for
283832           origin remote only if there is no remotes
283833
283834       · ISSUE #42375: (dragonpaw) salt.modules.*.__virtualname__ doens't work
283835         as documented. (refs: #42523, #42958)
283836
283837       · PR  #42958: (gtmanfred) runit module should also be loaded as runit @
283838         2017-08-17 22:30:23 UTC
283839
283840         · 9182f55bbb Merge pull request #42958 from gtmanfred/2017.7
283841
283842         · fd6874668b runit module should also be loaded as runit
283843
283844       · PR #43031: (gtmanfred) use a ruby gem that doesn't have  dependencies
283845         (refs: #43048) @ 2017-08-17 22:26:25 UTC
283846
283847         · 5985cc4e8e Merge pull request #43031 from gtmanfred/test_gem
283848
283849         · ba80a7d4b5 use a ruby gem that doesn't have dependencies
283850
283851       · PR  #43030:  (rallytime) Small cleanup to dockermod.save @ 2017-08-17
283852         22:26:00 UTC
283853
283854         · 246176b1a6  Merge  pull  request  #43030   from   rallytime/docker‐
283855           mod-minor-change
283856
283857         · d6a5e85632 Small cleanup to dockermod.save
283858
283859       · ISSUE  #42992:  (pabloh007)  docker.save   flag  push does is ignored
283860         (refs: #42993, #43027)
283861
283862       · PR #42993: (pabloh007) Fixes ignored push flag for docker.push module
283863         issue #42992 @ 2017-08-17 18:50:37 UTC
283864
283865         · 160001120b       Merge      pull      request      #42993      from
283866           pabloh007/fix-docker-save-push
283867
283868         · fe7554cfeb Fixes ignored push flag  for  docker.push  module  issue
283869           #42992
283870
283871       · ISSUE  #42941:  (danlsgiga)  pkg.installed  fails  on installing from
283872         HTTPS rpm source (refs: #42967)
283873
283874       · PR #42967: (terminalmage) Fix bug in on_header callback when no  Con‐
283875         tent-Type is found in headers @ 2017-08-17 18:48:52 UTC
283876
283877         · 9009a971b1 Merge pull request #42967 from terminalmage/issue42941
283878
283879         · b838460816  Fix  bug  in on_header callback when no Content-Type is
283880           found in headers
283881
283882       · ISSUE #43008: (evelineraine) states.service.running  always  succeeds
283883         when watched state has changes (refs: #43016)
283884
283885       · PR  #43016:  (gtmanfred)  service  should return false on exception @
283886         2017-08-17 18:08:05 UTC
283887
283888         · 58f070d7a7 Merge pull request #43016 from gtmanfred/service
283889
283890         · 21c264fe55 service should return false on exception
283891
283892       · PR #43020: (gtmanfred) test with gem that  appears  to  be  abandoned
283893         (refs: #43026) @ 2017-08-17 16:40:41 UTC
283894
283895         · 973d288eca Merge pull request #43020 from gtmanfred/test_gem
283896
283897         · 0a1f40a664 test with gem that appears to be abandoned
283898
283899       · PR  #42999:  (garethgreenaway)  Fixes  to  slack  engine @ 2017-08-17
283900         15:46:24 UTC
283901
283902         · 9cd0607fd4   Merge   pull   request   #42999   from    garethgreen‐
283903           away/slack_engine_allow_editing_messages
283904
283905         · 0ece2a8f0c  Fixing  a bug that prevented editing Slack messages and
283906           having the commands resent to the Slack engine.
283907
283908       · PR #43010: (rallytime) [2017.7] Merge forward from 2016.11 to  2017.7
283909         @ 2017-08-17 15:10:29 UTC
283910
283911         · 31627a9163 Merge pull request #43010 from rallytime/merge-2017.7
283912
283913         · 8a0f948e4a Merge branch '2016.11' into '2017.7'
283914
283915         · 1ee9499d28 Merge pull request #42968 from vutny/doc-salt-cloud-ref
283916
283917           · 44ed53b1df [DOCS] Fix link to Salt Cloud Feature Matrix
283918
283919         · 923f9741fe Merge pull request #42291 from vutny/fix-38839
283920
283921           · 5f8f98a01f Fix #38839: remove state from Reactor runner kwags
283922
283923         · c20bc7d515 Merge pull request #42940 from gtmanfred/2016.11
283924
283925           · 253e216a8d fix IP address spelling
283926
283927           · bd63074e7a  create  new  ip address before checking list of allo‐
283928             cated ips
283929
283930         · d6496eca72 Merge pull request #42959 from rallytime/bp-42883
283931
283932           · c6b9ca4b9e Lint fix: add missing space
283933
283934           · 5597b1a30e Skip 2 failing tests in Python 3 due to upstream bugs
283935
283936           · a0b19bdc27 Update account id value in boto_secgroup  module  unit
283937             test
283938
283939           · 60b406e088  @mock_elb needs to be changed to @mock_elb_deprecated
283940             as well
283941
283942           · 6ae1111295  Replace  @mock_ec2  calls  with  @mock_ec2_deprecated
283943             calls
283944
283945         · 6366e05d0d Merge pull request #42944 from Ch3LL/2016.11.6_follow_up
283946
283947           · 7e0a20afca Add release notes for 2016.11.7 release
283948
283949           · 63823f8c3e Add clean_id function to salt.utils.verify.py
283950
283951         · 49d339c976 Merge pull request #42952 from Ch3LL/latest_2016.11
283952
283953           · 74e7055d54 [2016.11] Bump latest and previous versions
283954
283955         · b0d2e05a79 Merge pull request #42950 from Ch3LL/2016.11.7_docs
283956
283957           · a6f902db40 Add Security Notice to 2016.11.77 Release Notes
283958
283959         · c0ff69f88c  Merge pull request #42836 from lyft/backport-utils.ver‐
283960           sions-to-2016.11
283961
283962           · 86ce7004a2 Backport salt.utils.versions from develop to 2016.11
283963
283964         · 64a79dd5ac Merge pull request #42919 from rallytime/bp-42871
283965
283966           · 4e46c968e6 Update joyent.rst
283967
283968         · bea8ec1098 Merge pull request #42918 from rallytime/bp-42848
283969
283970           · cdb48126f7 Make lint happier.
283971
283972           · 62eca9b00b Execute fire_master asynchronously in the main  minion
283973             thread.
283974
283975         · 52bce329cb     Merge    pull    request    #42861    from    twang‐
283976           boy/win_pkg_install_salt
283977
283978           · 0d3789f0c6 Fix pkg.install salt-minion using salt-call
283979
283980         · b9f4f87aa5 Merge pull request #42798 from s-sebastian/2016.11
283981
283982           · 1cc86592ed Update return data before calling returners
283983
283984       · ISSUE #42842: (Giandom) retreive  kwargs  passed  with  slack  engine
283985         (refs: #42884)
283986
283987       · PR  #42884:  (Giandom)  Convert  to dict type the pillar string value
283988         passed from slack @ 2017-08-16 22:30:43 UTC
283989
283990         · 82be9dceb6    Merge    pull    request    #42884     from     Gian‐
283991           dom/2017.7.1-fix-slack-engine-pillar-args
283992
283993         · 80fd733c99 Update slack.py
283994
283995       · PR   #42963:   (twangboy)  Fix  unit.test_fileclient  for  Windows  @
283996         2017-08-16 14:18:18 UTC
283997
283998         · 42bd553b98    Merge    pull    request    #42963    from     twang‐
283999           boy/win_unit_test_fileclient
284000
284001         · e9febe4893 Fix unit.test_fileclient
284002
284003       · PR  #42964:  (twangboy)  Fix  salt.utils.recursive_copy for Windows @
284004         2017-08-16 14:17:27 UTC
284005
284006         · 7dddeeea8d Merge pull request #42964  from  twangboy/win_fix_recur‐
284007           sive_copy
284008
284009         · 121cd4ef81 Fix salt.utils.recursive_copy for Windows
284010
284011       · ISSUE   #42943:   (mirceaulinic)   extension_modules   defaulting  to
284012         /var/cache/minion although running under proxy minion (refs: #42946)
284013
284014       · PR  #42946:  (mirceaulinic)  extension_modules  should   default   to
284015         $CACHE_DIR/proxy/extmods @ 2017-08-15 21:26:36 UTC
284016
284017         · 6da4d1d95e     Merge    pull    request    #42946    from    cloud‐
284018           flare/px_extmods_42943
284019
284020         · 73f9135340 extension_modules should default to /proxy/extmods
284021
284022       · PR #42945: (Ch3LL) [2017.7] Add clean_id function to  salt.utils.ver‐
284023         ify.py (refs: #43035) @ 2017-08-15 18:04:20 UTC
284024
284025         · 95645d49f9 Merge pull request #42945 from Ch3LL/2017.7.0_follow_up
284026
284027         · dcd92042e3 remove extra doc
284028
284029         · 693a504ef0 update release notes with cve number
284030
284031       · ISSUE  #42427:  (grichmond-salt) Issue Passing Variables created from
284032         load_json as Inline Pillar Between States (refs: #42435)
284033
284034       · PR #42812: (terminalmage) Update custom YAML loader tests to properly
284035         test unicode literals @ 2017-08-15 17:50:22 UTC
284036
284037         · PR  #42435:  (terminalmage)  Modify our custom YAML loader to treat
284038           unicode literals as unicode strings (refs: #42812)
284039
284040         · 47ff9d5627   Merge   pull    request    #42812    from    terminal‐
284041           mage/yaml-loader-tests
284042
284043         · 9d8486a894  Add  test  for  custom YAML loader with unicode literal
284044           strings
284045
284046         · a0118bcece Remove bytestrings and use textwrap.dedent for readabil‐
284047           ity
284048
284049       · PR  #42953:  (Ch3LL)  [2017.7]  Bump  latest  and previous versions @
284050         2017-08-15 17:23:28 UTC
284051
284052         · 5d0c2198ac Merge pull request #42953 from Ch3LL/latest_2017.7
284053
284054         · cbecf65823 [2017.7] Bump latest and previous versions
284055
284056       · PR #42951: (Ch3LL) Add Security Notice to 2017.7.1  Release  Notes  @
284057         2017-08-15 16:49:56 UTC
284058
284059         · 730e71db17 Merge pull request #42951 from Ch3LL/2017.7.1_docs
284060
284061         · 1d8f827c58 Add Security Notice to 2017.7.1 Release Notes
284062
284063       · PR  #42868:  (carsonoid) Stub out required functions in redis_cache @
284064         2017-08-15 14:33:54 UTC
284065
284066         · c1c8cb9bfa  Merge  pull  request  #42868  from  carsonoid/redisjob‐
284067           cachefix
284068
284069         · 885bee2a7d Stub out required functions for redis cache
284070
284071       · PR  #42810:  (amendlik) Ignore error values when listing Windows SNMP
284072         community strings @ 2017-08-15 03:55:15 UTC
284073
284074         · e192d6e0af Merge pull request #42810 from  amendlik/win-snmp-commu‐
284075           nity
284076
284077         · dc20e4651b  Ignore error values when listing Windows SNMP community
284078           strings
284079
284080       · PR #42920: (cachedout) pid_race @ 2017-08-15 03:49:10 UTC
284081
284082         · a1817f1de3 Merge pull request #42920 from cachedout/pid_race
284083
284084         · 5e930b8cbd If we catch the pid file in a transistory state,  return
284085           None
284086
284087       · PR  #42925:  (terminalmage)  Add  debug  logging to troubleshoot test
284088         failures @ 2017-08-15 03:47:51 UTC
284089
284090         · 11a33fe692   Merge   pull    request    #42925    from    terminal‐
284091           mage/f26-debug-logging
284092
284093         · 8165f46165 Add debug logging to troubleshoot test failures
284094
284095       · PR  #42913: (twangboy) Change service shutdown timeouts for salt-min‐
284096         ion service (Windows) @ 2017-08-14 20:55:24 UTC
284097
284098         · a537197030 Merge pull request #42913 from twangboy/win_change_time‐
284099           out
284100
284101         · ffb23fbe47 Remove the line that wipes out the cache
284102
284103         · a3becf8342 Change service shutdown timeouts
284104
284105       · PR  #42800:  (skizunov)  Fix  exception  when  master_type=disable  @
284106         2017-08-14 20:53:38 UTC
284107
284108         · ca0555f616 Merge pull request #42800 from skizunov/develop6
284109
284110         · fa5822009f Fix exception when master_type=disable
284111
284112       · PR #42679: (mirceaulinic) Add multiprocessing option for NAPALM proxy
284113         @ 2017-08-14 20:45:06 UTC
284114
284115         · 3af264b664  Merge pull request #42679 from cloudflare/napalm-multi‐
284116           processing
284117
284118         · 9c4566db0c multiprocessing option tagged for 2017.7.2
284119
284120         · 37bca1b902 Add multiprocessing option for NAPALM proxy
284121
284122         · a2565ba8e5 Add new napalm option: multiprocessing
284123
284124       · ISSUE #42611: (nhavens) selinux.boolean state does not return changes
284125         (refs: #42612)
284126
284127       · PR #42657: (nhavens) back-port #42612 to 2017.7 @ 2017-08-14 19:42:26
284128         UTC
284129
284130         · PR #42612: (nhavens) fix for issue #42611 (refs: #42657)
284131
284132         · 4fcdab3ae9 Merge pull request #42657 from nhavens/2017.7
284133
284134         · d73c4b55b7 back-port #42612 to 2017.7
284135
284136       · PR #42709: (whiteinge) Add token_expire_user_override  link  to  auth
284137         runner docstring @ 2017-08-14 19:03:06 UTC
284138
284139         · d2b6ce327a       Merge      pull      request      #42709      from
284140           whiteinge/doc-token_expire_user_override
284141
284142         · c7ea631558 Add more docs on the token_expire param
284143
284144         · 4a9f6ba44f Add token_expire_user_override link to auth runner  doc‐
284145           string
284146
284147       · ISSUE   #42803:   (gmcwhistler)  master_type:  str,  not  working  as
284148         expected, parent salt-minion process dies. (refs: #42848)
284149
284150       · ISSUE #42753: (grichmond-salt) SaltReqTimeout Error on  Some  Minions
284151         when One Master in a Multi-Master Configuration is Unavailable (refs:
284152         #42848)
284153
284154       · PR #42848: (DmitryKuzmenko) Execute fire_master asynchronously in the
284155         main minion thread. (refs: #42918) @ 2017-08-14 18:28:38 UTC
284156
284157         · c6a7bf02e9    Merge    pull   request   #42848   from   DSRCorpora‐
284158           tion/bugs/42753_mmaster_timeout
284159
284160         · 7f5412c19e Make lint happier.
284161
284162         · ff66b7aaf0 Execute fire_master asynchronously in  the  main  minion
284163           thread.
284164
284165       · PR  #42911:  (gtmanfred)  cloud  driver isn't a provider @ 2017-08-14
284166         17:47:16 UTC
284167
284168         · 6a3279ea50 Merge pull request #42911 from gtmanfred/2017.7
284169
284170         · 99046b441f cloud driver isn't a provider
284171
284172       · PR #42860: (skizunov) hash_and_stat_file should return  a  2-tuple  @
284173         2017-08-14 15:44:54 UTC
284174
284175         · 4456f7383d Merge pull request #42860 from skizunov/develop7
284176
284177         · 5f85a03636 hash_and_stat_file should return a 2-tuple
284178
284179       · PR  #42889: (rallytime) [2017.7] Merge forward from 2016.11 to 2017.7
284180         @ 2017-08-14 14:16:20 UTC
284181
284182         · c6ca7d639f Merge pull request #42889 from rallytime/merge-2017.7
284183
284184         · fb7117f2ac Use salt.utils.versions.LooseVersion instead  of  distu‐
284185           tils
284186
284187         · 29ff19c587 Merge branch '2016.11' into '2017.7'
284188
284189           · c15d0034fe  Merge  pull  request  #41977 from redmatter/fix-dock‐
284190             erng-network-ignores-test
284191
284192             · 1cc2aa503a Fix dockerng.network_* ignoring of tests=True
284193
284194           · 3b9c3c5671  Merge   pull   request   #42886   from   sarcasticad‐
284195             min/adding_docs_salt_outputs
284196
284197             · 744bf954ff Adding missing output flags to salt cli
284198
284199           · e5b98c8a88 Merge pull request #42882 from gtmanfred/2016.11
284200
284201             · da3402a53d make sure cmd is not run when npm isn't installed
284202
284203           · 5962c9588b  Merge pull request #42788 from amendlik/saltify-time‐
284204             out
284205
284206             · 928b523797 Remove waits and retries from Saltify deployment
284207
284208           · 227ecddd13   Merge   pull   request   #42877    from    terminal‐
284209             mage/add-cron-state-virtual
284210
284211             · f1de196740 Add virtual func for cron state module
284212
284213           · ab9f6cef33  Merge  pull  request  #42859  from  terminalmage/git‐
284214             python-git-cli-note
284215
284216             · 35e05c9515 Add note about git CLI requirement for GitPython  to
284217               GitFS tutorial
284218
284219           · 682b4a8d14 Merge pull request #42856 from gtmanfred/2016.11
284220
284221             · b458b89fb8 skip cache_clean test if npm version is >= 5.0.0
284222
284223           · 01ea854029   Merge   pull   request  #42864  from  whiteinge/syn‐
284224             dic-log-root_dir
284225
284226             · 4b1f55da9c Make syndic_log_file respect root_dir setting
284227
284228       · PR #42898: (mirceaulinic)  Minor  eos  doc  correction  @  2017-08-14
284229         13:42:21 UTC
284230
284231         · 4b6fe2ee59 Merge pull request #42898 from mirceaulinic/patch-11
284232
284233         · 93be79a135 Index eos under the installation instructions list
284234
284235         · f903e7bc39 Minor eos doc correction
284236
284237       · PR  #42883:  (rallytime)  Fix  failing  boto  tests  (refs: #42959) @
284238         2017-08-11 20:29:12 UTC
284239
284240         · 1764878754 Merge pull request #42883 from rallytime/fix-boto-tests
284241
284242         · 6a7bf99848 Lint fix: add missing space
284243
284244         · 43643227c6 Skip 2 failing tests in Python 3 due to upstream bugs
284245
284246         · 7f46603e9c Update account id value  in  boto_secgroup  module  unit
284247           test
284248
284249         · 7c1d493fdd @mock_elb needs to be changed to @mock_elb_deprecated as
284250           well
284251
284252         · 3055e17ed5 Replace @mock_ec2 calls with @mock_ec2_deprecated calls
284253
284254       · PR #42885: (terminalmage) Move weird tearDown test to an actual tear‐
284255         Down @ 2017-08-11 19:14:42 UTC
284256
284257         · b21778efac    Merge    pull    request    #42885   from   terminal‐
284258           mage/fix-f26-tests
284259
284260         · 462d653082 Move weird tearDown test to an actual tearDown
284261
284262       · ISSUE #42870: (boltronics)  webutil.useradd  marked  as  deprecated::
284263         2016.3.0 by mistake? (refs: #42887)
284264
284265       · PR  #42887:  (rallytime)  Remove  extraneous  "deprecated" notation @
284266         2017-08-11 18:34:25 UTC
284267
284268         · 9868ab6f3b Merge pull request #42887 from rallytime/fix-42870
284269
284270         · 71e7581a2d Remove extraneous "deprecated" notation
284271
284272       · PR   #42881:   (gtmanfred)   fix   vmware   for   python   3.4.2   in
284273         salt.utils.vmware @ 2017-08-11 17:52:29 UTC
284274
284275         · da71f2a11b Merge pull request #42881 from gtmanfred/vmware
284276
284277         · 05ecc6ac8d fix vmware for python 3.4.2 in salt.utils.vmware
284278
284279       · ISSUE  #42843:  (brejoc) Kubernetes module won't work with Kubernetes
284280         Python client > 1.0.2 (refs: #42845)
284281
284282       · PR #42845: (brejoc) API changes for Kubernetes version  2.0.0  (refs:
284283         #43039) @ 2017-08-11 14:04:30 UTC
284284
284285         · c7750d5717 Merge pull request #42845 from brejoc/updates-for-kuber‐
284286           netes-2.0.0
284287
284288         · 81674aa88a Version info in :optdepends: not needed anymore
284289
284290         · 71995505bc Not depending on specific K8s version anymore
284291
284292         · d8f7d7a7c0 API changes for Kubernetes version 2.0.0
284293
284294       · PR #42678: (frankiexyz) Add  eos.rst  in  the  installation  guide  @
284295         2017-08-11 13:58:37 UTC
284296
284297         · 459fdedc67 Merge pull request #42678 from frankiexyz/2017.7
284298
284299         · 1598571f52 Add eos.rst in the installation guide
284300
284301       · ISSUE  #42646: (gmacon) SPM fails to install multiple packages (refs:
284302         #42778)
284303
284304       · PR #42778: (gtmanfred) make  sure  to  use  the  correct  out_file  @
284305         2017-08-11 13:44:48 UTC
284306
284307         · 4ce96eb1a1 Merge pull request #42778 from gtmanfred/spm
284308
284309         · 7ef691e8da make sure to use the correct out_file
284310
284311       · ISSUE  saltstack/salt-jenkins#480:  (rallytime) [2017.7] PY3 Debian 8
284312         has several vmware unit tests failing (refs: #42857)
284313
284314       · PR #42857: (gtmanfred) use older name  if  _create_unverified_context
284315         is unvailable @ 2017-08-11 13:37:59 UTC
284316
284317         · 3d05d89e09 Merge pull request #42857 from gtmanfred/vmware
284318
284319         · c1f673eca4  use older name if _create_unverified_context is unvail‐
284320           able
284321
284322       · PR #42866: (twangboy) Change to GitPython version 2.1.1 @  2017-08-11
284323         13:23:52 UTC
284324
284325         · 7e8cfff21c   Merge  pull  request  #42866  from  twangboy/osx_down‐
284326           grade_gitpython
284327
284328         · 28053a84a6 Change GitPython version to 2.1.1
284329
284330       · PR #42855: (rallytime) [2017.7] Merge forward from 2016.11 to  2017.7
284331         @ 2017-08-10 21:40:39 UTC
284332
284333         · 3ce18637be Merge pull request #42855 from rallytime/merge-2017.7
284334
284335         · 08bbcf5790 Merge branch '2016.11' into '2017.7'
284336
284337         · 2dde1f77e9 Merge pull request #42851 from terminalmage/bp-42651
284338
284339           · a3da86eea8 fix syntax
284340
284341           · 6ecdbcec1d make sure names are correct
284342
284343           · f83b553d6e add py3 for versionlock
284344
284345           · 21934f61bb python2- prefix for fedora 26 packages
284346
284347         · c746f79a3a Merge pull request #42806 from rallytime/fix-42683
284348
284349           · 8c8640d6b8 Update doc references in glusterfs.volume_present
284350
284351         · 27a8a2695a     Merge    pull    request    #42829    from    twang‐
284352           boy/win_pkg_fix_install
284353
284354           · 83b9b230cd Add winrepo to docs about supporting versions in pkgs
284355
284356           · 81fefa6e67 Add ability to pass version in pkgs list
284357
284358         · 3c3ac6aeb2 Merge pull request #42838 from twangboy/win_doc_pki
284359
284360           · f0a1d06b46 Standardize PKI Client
284361
284362           · 7de687aa57 Document requirements for win_pki
284363
284364         · b3e2ae3c58 Merge pull request #42805 from rallytime/bp-42552
284365
284366           · 5a91c1f2d1 update  consul  module  following  this  documentation
284367             https://www.consul.io/api/acl.html
284368
284369         · d2ee7934ed Merge pull request #42804 from rallytime/bp-42784
284370
284371           · dbd29e4aaa only read file if it is not a string
284372
284373         · 4cbf8057b3 Merge pull request #42826 from terminalmage/fix-spelling
284374
284375           · 00f93142e4 Fix misspelling of "versions"
284376
284377         · de997edd90 Merge pull request #42786 from Ch3LL/fix_typo
284378
284379           · 90a2fb66a2 Fix typo for template_dict in http docs
284380
284381         · bf6153ebe5 Merge pull request #42795 from lomeroe/bp-42744_201611
284382
284383           · 695f8c1ae4 fix #42600 in develop
284384
284385         · 61fad97286       Merge      pull      request      #42748      from
284386           whiteinge/save-before-output
284387
284388           · de60b77c82 Workaround Orchestrate problem that highstate  output‐
284389             ter mutates data
284390
284391         · a4e3e7e786 Merge pull request #42764 from amendlik/cloud-win-loop
284392
284393           · f3dcfca4e0 Fix infinite loops on failed Windows deployments
284394
284395         · da85326ad4 Merge pull request #42694 from gtmanfred/2016.11
284396
284397           · 1a0457af51 allow adding extra remotes to a repository
284398
284399       · ISSUE #42774: (rossengeorgiev) pkg.installed succeeds, but fails when
284400         you specify package version (refs: #42808)
284401
284402       · PR #42808: (terminalmage) Fix regression in yum/dnf version  specifi‐
284403         cation @ 2017-08-10 15:59:22 UTC
284404
284405         · f954f4f33a Merge pull request #42808 from terminalmage/issue42774
284406
284407         · c69f17dd18 Add integration test for #42774
284408
284409         · 78d826dd14 Fix regression in yum/dnf version specification
284410
284411       · ISSUE  #42639:  (amnonbc) k8s module needs a way to manage configmaps
284412         (refs: #42807)
284413
284414       · PR #42807: (rallytime) Update modules --> states  in  kubernetes  doc
284415         module @ 2017-08-10 14:10:40 UTC
284416
284417         · d9b0f44885 Merge pull request #42807 from rallytime/fix-42639
284418
284419         · 152eb88d9f Update modules --> states in kubernetes doc module
284420
284421       · ISSUE #42818: (Mapel88) Bug in win_iis module - "create_cert_binding"
284422         (refs: #42841)
284423
284424       · PR #42841: (Mapel88) Fix bug #42818 in win_iis  module  @  2017-08-10
284425         13:44:21 UTC
284426
284427         · b8c7bda68d Merge pull request #42841 from Mapel88/patch-1
284428
284429         · 497241fbcb Fix bug #42818 in win_iis module
284430
284431       · ISSUE  #42697: (Ch3LL) [Python3] NameError when running salt-run man‐
284432         age.versions (refs: #42782)
284433
284434       · PR #42782: (rallytime) Add a cmp  compatibility  function  utility  @
284435         2017-08-09 22:37:29 UTC
284436
284437         · 135f9522d0 Merge pull request #42782 from rallytime/fix-42697
284438
284439         · d707f94863 Update all other calls to "cmp" function
284440
284441         · 5605104285 Add a cmp compatibility function utility
284442
284443       · PR  #42784:  (gtmanfred)  only  read  file  if ret is not a string in
284444         http.query (refs: #42804) @ 2017-08-08 17:20:13 UTC
284445
284446         · ac752223ad Merge pull request #42784 from gtmanfred/http
284447
284448         · d397c90e92 only read file if it is not a string
284449
284450       · ISSUE  #42600:  (twangboy)  Unable  to  set  'Not  Configured'  using
284451         win_lgpo execution module (refs: #42744, #42794, #42795)
284452
284453       · PR  #42794: (lomeroe) Backport #42744 to 2017.7 @ 2017-08-08 17:16:31
284454         UTC
284455
284456         · PR #42744: (lomeroe) fix #42600 in develop (refs: #42794, #42795)
284457
284458         · 44995b1abf Merge pull request #42794 from lomeroe/bp-42744
284459
284460         · 0acffc6df5 fix #42600 in develop
284461
284462       · ISSUE #42707: (cro) Service module and state fails on FreeBSD  (refs:
284463         #42708)
284464
284465       · PR  #42708:  (cro)  Do  not change the arguments of the function when
284466         memoizing @ 2017-08-08 13:47:01 UTC
284467
284468         · dcf474c47c Merge pull request #42708 from cro/dont_change_args_dur‐
284469           ing_memoize
284470
284471         · a260e913b5 Do not change the arguments of the function when memoiz‐
284472           ing
284473
284474       · PR #42783: (rallytime) Sort lists before comparing them in  python  3
284475         unit test @ 2017-08-08 13:25:15 UTC
284476
284477         · PR  #42206:  (rallytime)  [PY3]  Fix test that is flaky in Python 3
284478           (refs: #42783)
284479
284480         · ddb671b8fe    Merge    pull    request    #42783    from     rally‐
284481           time/fix-flaky-py3-test
284482
284483         · 998834fbac Sort lists before compairing them in python 3 unit test
284484
284485       · PR #42721: (hibbert) Allow no ip sg @ 2017-08-07 22:07:18 UTC
284486
284487         · d69822fe93 Merge pull request #42721 from hibbert/allow_no_ip_sg
284488
284489         · f58256802a  allow_no_ip_sg:  Allow  user to not supply ipaddress or
284490           securitygroups when running boto_efs.create_mount_target
284491
284492       · ISSUE  #42538:  (marnovdm)   docker_container.running   issue   since
284493         2017.7.0:  passing domainname gives Error 500: json: cannot unmarshal
284494         array into Go value of type string (refs: #42769)
284495
284496       · PR #42769: (terminalmage) Fix domainname parameter input  translation
284497         @ 2017-08-07 20:46:07 UTC
284498
284499         · bf7938fbe0 Merge pull request #42769 from terminalmage/issue42538
284500
284501         · 665de2d1f9 Fix domainname parameter input translation
284502
284503       · PR  #42388: (The-Loeki) pillar.items pillar_env & pillar_override are
284504         never used @ 2017-08-07 17:51:48 UTC
284505
284506         · 7bf2cdb363 Merge pull request #42388 from The-Loeki/patch-1
284507
284508         · 664f4b577b pillar.items pillar_env & pillar_override are never used
284509
284510       · PR #42770: (rallytime) [2017.7] Merge forward from 2017.7.1 to 2017.7
284511         @ 2017-08-07 16:21:45 UTC
284512
284513         · 9a8c9ebffc     Merge    pull    request    #42770    from    rally‐
284514           time/merge-2017.7.1-into-2017.7
284515
284516         · 6d17c9d227 Merge branch '2017.7.1' into '2017.7'
284517
284518       · PR #42768: (rallytime) [2017.7] Merge forward from 2016.11 to  2017.7
284519         @ 2017-08-07 16:21:17 UTC
284520
284521         · c765e528d0 Merge pull request #42768 from rallytime/merge-2017.7
284522
284523         · 0f75482c37 Merge branch '2016.11' into '2017.7'
284524
284525           · 7b2119feee   Merge   pull   request   #42669   from  garethgreen‐
284526             away/42642_2016_11_augeas_module_fix
284527
284528             · 24413084e2  Updating  the  call  to  shlex_split  to  pass  the
284529               posix=False argument so that quotes are preserved.
284530
284531           · 30725769ed Merge pull request #42629 from xiaoanyunfei/tornadoapi
284532
284533             · 1e13383b95 tornado api
284534
284535           · f0f00fcee1  Merge  pull  request #42655 from whiteinge/rest_cher‐
284536             rypy-reenable-stats
284537
284538             · deb6316d67 Fix lint errors
284539
284540             · 6bd91c8b03 Reenable cpstats for rest_cherrypy
284541
284542           · 21cf15f9c3 Merge pull  request  #42693  from  gilbsgilbs/fix-rab‐
284543             bitmq-tags
284544
284545             · 78fccdc7e2 Cast to list in case tags is a tuple.
284546
284547             · 287b57b5c5 Fix RabbitMQ tags not properly set.
284548
284549           · f2b0c9b4fa     Merge    pull    request    #42574    from    sbo‐
284550             jarski/boto-cfn-error-reporting
284551
284552             · 5c945f10c2 Fix debug message in "boto_cfn._validate" function.
284553
284554             · 181a1beecc Fixed error reporting  in  "boto_cfn.present"  func‐
284555               tion.
284556
284557           · bc1effc4f2  Merge  pull request #42623 from terminalmage/fix-uni‐
284558             code-constructor
284559
284560             · fcf45889dd Fix unicode constructor in custom YAML loader
284561
284562       · PR #42651: (gtmanfred) python2- prefix for fedora 26 packages  (refs:
284563         #42851) @ 2017-08-07 14:35:04 UTC
284564
284565         · 3f5827f61e Merge pull request #42651 from gtmanfred/2017.7
284566
284567         · 8784899942 fix syntax
284568
284569         · 178cc1bd81 make sure names are correct
284570
284571         · f179b97b52 add py3 for versionlock
284572
284573         · 1958d18634 python2- prefix for fedora 26 packages
284574
284575       · ISSUE #42688: (hibbert) salt.modules.boto_efs module Invalid type for
284576         parameter Tags - type: <type 'dict'>,  valid  types:  <type  'list'>,
284577         <type 'tuple'> (refs: #42689)
284578
284579       · PR  #42689:  (hibbert) boto_efs_fix_tags: Fix #42688 invalid type for
284580         parameter tags @ 2017-08-06 17:47:07 UTC
284581
284582         · 791248e398 Merge pull request #42689 from hibbert/boto_efs_fix_tags
284583
284584         · 157fb28851 boto_efs_fix_tags: Fix #42688 invalid type for parameter
284585           tags
284586
284587       · ISSUE  #42705: (hbruch) salt.states.docker_container.running replaces
284588         container on subsequent runs if oom_kill_disable  unsupported  (refs:
284589         #42745)
284590
284591       · PR   #42745:   (terminalmage)  docker.compare_container:  treat  null
284592         oom_kill_disable as False @ 2017-08-05 15:28:20 UTC
284593
284594         · 1b3407649b Merge pull request #42745 from terminalmage/issue42705
284595
284596         · 710bdf6115 docker.compare_container: treat null oom_kill_disable as
284597           False
284598
284599       · ISSUE  #42649: (tehsu) local_batch no longer working in 2017.7.0, 500
284600         error (refs: #42704)
284601
284602       · PR #42704: (whiteinge) Add import to work around likely multiprocess‐
284603         ing scoping bug @ 2017-08-04 23:03:13 UTC
284604
284605         · 5d5b22021b       Merge      pull      request      #42704      from
284606           whiteinge/expr_form-warn-scope-bug
284607
284608         · 03b675a618 Add import to work around likely multiprocessing scoping
284609           bug
284610
284611       · ISSUE  #42741:  (kkoppel)  docker_container.running keeps re-creating
284612         containers with links to other containers (refs: #42743)
284613
284614       · PR #42743: (kkoppel) Fix docker.compare_container for containers with
284615         links @ 2017-08-04 16:00:33 UTC
284616
284617         · 888e954e73 Merge pull request #42743 from kkoppel/fix-issue-42741
284618
284619         · de6d3cc0cf Update dockermod.py
284620
284621         · 58b997c67f  Added  a  helper  function that removes container names
284622           from  container  HostConfig:Links  values  to  enable  compare_con‐
284623           tainer() to make the correct decision about differences in links.
284624
284625       · ISSUE  #42668:  (UtahDave) Minions under syndics don't respond to MoM
284626         (refs: #42710)
284627
284628       · ISSUE #42545: (paul-mulvihill) Salt-api failing to return results for
284629         minions connected via syndics. (refs: #42710)
284630
284631       · PR  #42710:  (gtmanfred)  use  subtraction instead of or @ 2017-08-04
284632         15:14:14 UTC
284633
284634         · 03a7f9bbee Merge pull request #42710 from gtmanfred/syndic
284635
284636         · 683561a711 use subtraction instead of or
284637
284638       · PR #42670: (gtmanfred) render kubernetes docs @  2017-08-03  20:30:56
284639         UTC
284640
284641         · 005182b6a1 Merge pull request #42670 from gtmanfred/kube
284642
284643         · bca17902f5 add version added info
284644
284645         · 4bbfc751ae render kubernetes docs
284646
284647       · PR  #42712: (twangboy) Remove master config file from minion-only in‐
284648         staller @ 2017-08-03 20:25:02 UTC
284649
284650         · df354ddabf Merge pull request #42712 from twangboy/win_build_pkg
284651
284652         · 8604312a7b Remove master conf in minion install
284653
284654       · PR  #42714:  (cachedout)  Set  fact  gathering  style  to  'old'  for
284655         test_junos @ 2017-08-03 13:39:40 UTC
284656
284657         · bb1dfd4a42   Merge   pull   request   #42714  from  cachedout/work‐
284658           around_jnpr_test_bug
284659
284660         · 834d6c605e Set fact gathering style to 'old' for test_junos
284661
284662       · PR #42481: (twangboy) Fix unit.test_crypt for  Windows  @  2017-08-01
284663         18:10:50 UTC
284664
284665         · 4c1d931654     Merge    pull    request    #42481    from    twang‐
284666           boy/win_unit_test_crypt
284667
284668         · 102509029e Remove chown mock, fix path seps
284669
284670       · PR #42654: (morganwillcock) Disable ZFS in the core grain for  NetBSD
284671         @ 2017-08-01 17:52:36 UTC
284672
284673         · 8bcefb5e67 Merge pull request #42654 from morganwillcock/zfsgrain
284674
284675         · 49023deb94 Disable ZFS grain on NetBSD
284676
284677       · ISSUE #42421: (bfilipek) archive.extracted on Windows failed when dir
284678         not exist (refs: #42453)
284679
284680       · PR #42453: (gtmanfred) don't pass  user  to  makedirs  on  windows  @
284681         2017-07-31 19:57:57 UTC
284682
284683         · 5baf2650fc Merge pull request #42453 from gtmanfred/makedirs
284684
284685         · 559d432930 fix tests
284686
284687         · afa7a13ce3 use logic from file.directory for makedirs
284688
284689       · PR  #42603:  (twangboy)  Add  runas_passwd  as  a global for states @
284690         2017-07-31 19:49:49 UTC
284691
284692         · fb81e78f71 Merge pull request #42603 from twangboy/win_fix_runas
284693
284694         · 0c9e40012b Remove deprecation, add logic to state.py
284695
284696         · 464ec34713 Fix another instance of runas_passwd
284697
284698         · 18d6ce4d55 Add global vars to cmd.call
284699
284700         · 6c71ab6f80 Remove runas and runas_password after state run
284701
284702         · 4ea264e3db Change to runas_password in docs
284703
284704         · 61aba35718 Deprecate password, make runas_password a named arg
284705
284706         · 41f0f75a06 Add new var to list, change to runas_password
284707
284708         · b9c91eba60 Add runas_passwd as a global for states
284709
284710       · PR #42541: (Mareo) Avoid confusing warning  when  using  file.line  @
284711         2017-07-31 19:41:58 UTC
284712
284713         · 75ba23c253 Merge pull request #42541 from epita/fix-file-line-warn‐
284714           ing
284715
284716         · 2fd172e07b Avoid confusing warning when using file.line
284717
284718       · PR #42625: (twangboy) Fix the list function in the win_wua  execution
284719         module @ 2017-07-31 19:27:16 UTC
284720
284721         · 3d328eba80 Merge pull request #42625 from twangboy/fix_win_wua
284722
284723         · 1340c15ce7 Add general usage instructions
284724
284725         · 19f34bda55 Fix docs, formatting
284726
284727         · b17495c9c8 Fix problem with list when install=True
284728
284729       · ISSUE  #42514:  (rickh563)  module.run  does  not work as expected in
284730         2017.7.0 (refs: #42602)
284731
284732       · PR #42602: (garethgreenaway) Use superseded and deprecated configura‐
284733         tion from pillar @ 2017-07-31 18:53:06 UTC
284734
284735         · 25094ad9b1    Merge   pull   request   #42602   from   garethgreen‐
284736           away/42514_2017_7_superseded_deprecated_from_pillar
284737
284738         · 2e132daa73 Slight update to formatting
284739
284740         · 74bae13939 Small update to something I missed in the first  commit.
284741           Updating tests to also test for pillar values.
284742
284743         · 928a4808dd  Updating  the  superseded  and deprecated decorators to
284744           work when specified as pillar values.
284745
284746       · PR #42621: (rallytime) [2017.7] Merge forward from 2016.11 to  2017.7
284747         @ 2017-07-28 19:45:51 UTC
284748
284749         · b7cd30d3ee Merge pull request #42621 from rallytime/merge-2017.7
284750
284751         · 58dcb58a47 Merge branch '2016.11' into '2017.7'
284752
284753           · cbf752cd73 Merge pull request #42515 from gtmanfred/backslash
284754
284755             · cc4e45656d Allow not interpreting backslashes in the repl
284756
284757           · 549495831f Merge pull request #42586 from gdubroeucq/2016.11
284758
284759             · 9c0b5cc1d6 Remove extra newline
284760
284761             · d2ef4483e4 yumpkg.py: clean
284762
284763             · a96f7c09e0 yumpkg.py: add option to the command "check-update"
284764
284765           · 6b45debf28  Merge  pull  request  #41988 from redmatter/fix-dock‐
284766             erng-network-matching
284767
284768             · 9eea796da8 Add regression tests for #41982
284769
284770             · 3369f0072f Fix broken unit test test_network_absent
284771
284772             · 0ef6cf634c Add trace logging of dockerng.networks result
284773
284774             · 515c612808 Fix dockerng.network_* name matching
284775
284776       · ISSUE #34245:  (Talkless)  ini.options_present  always  report  state
284777         change (refs: #41690)
284778
284779       · PR  #42618:  (rallytime)  Back-port  #41690  to  2017.7  @ 2017-07-28
284780         19:27:11 UTC
284781
284782         · PR #41690: (m03) Fix issue #34245 with ini.options_present  report‐
284783           ing changes (refs: #42618)
284784
284785         · d48749b476 Merge pull request #42618 from rallytime/bp-41690
284786
284787         · 22c6a7c7ff Improve output precision
284788
284789         · ee4ea6b860 Fix #34245 ini.options_present reporting changes
284790
284791       · ISSUE  #42588:  (ixs)  salt-ssh  fails  when  using  scan  roster and
284792         detected minions are uncached (refs: #42589)
284793
284794       · PR #42619:  (rallytime)  Back-port  #42589  to  2017.7  @  2017-07-28
284795         19:26:36 UTC
284796
284797         · PR  #42589:  (ixs) Fix ssh-salt calls with scan roster for uncached
284798           clients (refs: #42619)
284799
284800         · e671242a4f Merge pull request #42619 from rallytime/bp-42589
284801
284802         · cd5eb93903 Fix ssh-salt calls with scan roster for uncached clients
284803
284804       · ISSUE #41982: (abulford) dockerng.network_* matches too easily (refs:
284805         #42006, #41988)
284806
284807       · PR   #42006:   (abulford)  Fix  dockerng.network_*  name  matching  @
284808         2017-07-28 15:52:52 UTC
284809
284810         · PR #41988: (abulford) Fix dockerng.network_* name  matching  (refs:
284811           #42006)
284812
284813         · 7d385f8bdc  Merge  pull  request  #42006  from  redmatter/fix-dock‐
284814           erng-network-matching-2017.7
284815
284816         · f83960c02a Lint: Remove extra line at end of file.
284817
284818         · c7d364ec56 Add regression tests for #41982
284819
284820         · d31f2913bd Fix broken unit test test_network_absent
284821
284822         · d42f781c64 Add trace logging of docker.networks result
284823
284824         · 8c00c63b55 Fix dockerng.network_* name matching
284825
284826       · ISSUE #12587: (Katafalkas) salt-cloud custom functions/actions (refs:
284827         #42616)
284828
284829       · PR #42616: (amendlik) Sync cloud modules @ 2017-07-28 15:40:36 UTC
284830
284831         · ee8aee1496 Merge pull request #42616 from amendlik/sync-clouds
284832
284833         · ab21bd9b5b Sync cloud modules when saltutil.sync_all is run
284834
284835       · PR  #42601: (rallytime) [2017.7] Merge forward from 2016.11 to 2017.7
284836         @ 2017-07-27 22:32:07 UTC
284837
284838         · e2dd443002 Merge pull request #42601 from rallytime/merge-2017.7
284839
284840         · 36a1bcf8c5 Merge branch '2016.11' into '2017.7'
284841
284842           · 4b16109122 Merge pull request #42339  from  isbm/isbm-jobs-sched‐
284843             uled-in-a-future-bsc1036125
284844
284845             · bbba84ce2d  Bugfix: Jobs scheduled to run at a future time stay
284846               pending for Salt minions (bsc#1036125)
284847
284848           · 6c5a7c604a Merge pull request #42077  from  vutny/fix-jobs-sched‐
284849             uled-with-whens
284850
284851             · b1960cea44 Fix scheduled job run on Master if when parameter is
284852               a list
284853
284854           · f9cb536589     Merge      pull      request      #42414      from
284855             vutny/unify-hash-params-format
284856
284857             · d1f2a93368 DOCS: unify hash sum with hash type format
284858
284859           · 535c922511 Merge pull request #42523 from rallytime/fix-42375
284860
284861             · 685c2cced6  Add  information  about  returning  a tuple with an
284862               error message
284863
284864             · fa466519c4 Add a mention of the True/False returns with  __vir‐
284865               tual__()
284866
284867           · 0df0e7e749 Merge pull request #42527 from twangboy/win_wua
284868
284869             · 0373791f2a Correct capatlization
284870
284871             · af3bcc927b Document changes to Windows Update in 10/2016
284872
284873           · 69b06586da      Merge      pull      request      #42551     from
284874             binocvlar/fix-lack-of-align-check-output
284875
284876             · c4fabaa192 Remove '-s' (--script)  argument  to  parted  within
284877               align_check function
284878
284879           · 9e0b4e9faf Merge pull request #42573 from rallytime/bp-42433
284880
284881             · 0293429e24 Only force saltenv/pillarenv to be a string when not
284882               None
284883
284884           · e931ed2517   Merge    pull    request    #42571    from    twang‐
284885             boy/win_add_pythonpath
284886
284887             · d55a44dd1a Avoid loading user site packages
284888
284889             · 9af1eb2741  Ignore  any PYTHON* environment vars already on the
284890               system
284891
284892             · 4e2fb03a95 Add pythonpath to batch files and service
284893
284894           · de2f397041   Merge   pull   request   #42387   from   DSRCorpora‐
284895             tion/bugs/42371_KeyError_WeakValueDict
284896
284897             · e721c7eee2 Don't use key in weakvaluedict because it could lie.
284898
284899           · 641a9d7efd   Merge   pull  request  #41968  from  root360-Andrea‐
284900             sUlm/fix-rabbitmqctl-output-handler
284901
284902             · 76fd941d91 added tests for rabbitmq 3.6.10 output handler
284903
284904             · 3602af1e1b Fix rabbitmqctl output handler for 3.6.10
284905
284906           · 66fede378a Merge pull request #42479 from gtmanfred/interface
284907
284908             · c32c1b2803 fix pylint
284909
284910             · 99ec634c6b validate ssh_interface for ec2
284911
284912           · a925c7029a Merge pull request #42516 from rallytime/fix-42405
284913
284914             · e3a6717efa Add info about top file to pillar walk-through exam‐
284915               ple to include edit.vim
284916
284917       · ISSUE  #42148:  (sjorge)  [2017.7.0rc1] use_superseded and module.run
284918         changes from release notes do nothing? (refs: #42270)
284919
284920       · PR #42290: (isbm) Backport of #42270 @ 2017-07-27 22:30:05 UTC
284921
284922         · PR #42270: (The-Loeki) State module.run/wait misses args when look‐
284923           ing for kwargs (refs: #42290)
284924
284925         · 22eea389fa   Merge   pull   request   #42290   from  isbm/isbm-mod‐
284926           ule_run_parambug_42270_217
284927
284928         · e38d432f90 Fix docs
284929
284930         · 1e8a56eda5 Describe function tagging
284931
284932         · 1d7233224b Describe function batching
284933
284934         · 1391a05d5e Bugfix: syntax error in the example
284935
284936         · 8c71257a4b Call unnamed parameters properly
284937
284938         · 94c97a8f25 Update and correct the error message
284939
284940         · ea8351362c Bugfix: args gets ignored alongside named parameters
284941
284942         · 74689e3462 Add ability to use tagged functions in the same set
284943
284944       · PR #42251: (twangboy)  Fix  unit.modules.test_win_ip  for  Windows  @
284945         2017-07-27 19:22:03 UTC
284946
284947         · 4c20f1cfbb     Merge    pull    request    #42251    from    twang‐
284948           boy/unit_win_test_win_ip
284949
284950         · 97261bfe69 Fix win_inet_pton check for malformatted ip addresses
284951
284952       · PR #42255: (twangboy) Fix unit.modules.test_win_system for Windows  @
284953         2017-07-27 19:12:42 UTC
284954
284955         · 2985e4c0e6     Merge    pull    request    #42255    from    twang‐
284956           boy/win_unit_test_win_system
284957
284958         · acc0345bc8 Fix unit tests
284959
284960       · PR #42528: (twangboy) Namespace cmp_to_key in the pkg state for  Win‐
284961         dows @ 2017-07-27 18:30:23 UTC
284962
284963         · a573386260     Merge    pull    request    #42528    from    twang‐
284964           boy/win_fix_pkg_state
284965
284966         · a040443fa1 Move functools import inside pylint escapes
284967
284968         · 118d5134e2 Remove namespaced function cmp_to_key
284969
284970         · a02c91adda Namespace cmp_to_key in the pkg state for Windows
284971
284972       · ISSUE #42521:  (rickh563)  chocolatey.installed  broken  on  2017.7.0
284973         (refs: #42534)
284974
284975       · PR  #42534:  (jmarinaro)  Fixes  AttributeError  thrown by chocolatey
284976         state @ 2017-07-27 17:59:50 UTC
284977
284978         · 62ae12bcd9 Merge pull request #42534 from jmarinaro/2017.7
284979
284980         · b242d2d6b5 Fixes AttributeError thrown by  chocolatey  state  Fixes
284981           #42521
284982
284983       · ISSUE  #40354:  (exc414)  CentOS  6.8  Init Script - Sed unterminated
284984         address regex (refs: #42557)
284985
284986       · ISSUE #37312: (gtmanfred) CLI flags should take overload settings  in
284987         the config files (refs: #42557)
284988
284989       · PR   #42557:   (justincbeard)  Fixing  output  so  --force-color  and
284990         --no-color override master and min… @ 2017-07-27 17:07:33 UTC
284991
284992         · 52605c249d Merge pull request #42557 from justincbeard/bugfix_37312
284993
284994         · ee3bc6eb10 Fixing output so --force-color and  --no-color  override
284995           master and minion config color value
284996
284997       · PR   #42567:   (skizunov)  Fix  disable_<tag-name>  config  option  @
284998         2017-07-27 17:05:00 UTC
284999
285000         · ab33517efb Merge pull request #42567 from skizunov/develop3
285001
285002         · 0f0b7e3e0a Fix disable_<tag-name> config option
285003
285004       · PR #42577: (twangboy) Compile scripts with -E -s params for  Salt  on
285005         Mac @ 2017-07-26 22:44:37 UTC
285006
285007         · 30bb941179 Merge pull request #42577 from twangboy/mac_scripts
285008
285009         · 69d5973651 Compile scripts with -E -s params for python
285010
285011       · PR  #42524: (rallytime) [2017.7] Merge forward from 2016.11 to 2017.7
285012         @ 2017-07-26 22:41:06 UTC
285013
285014         · 60cd078164 Merge pull request #42524 from rallytime/merge-2017.7
285015
285016         · 14d8d795f6 Merge branch '2016.11' into '2017.7'
285017
285018           · 1bd5bbccc2  Merge  pull   request   #42509   from   clem-compila‐
285019             tio/fix-42417
285020
285021             · 72924b06b8 Fix _assign_floating_ips in openstack.py
285022
285023           · 4bf35a74de   Merge   pull   request   #42464   from  garethgreen‐
285024             away/2016_11_remove_tmp_identity_file
285025
285026             · ff24102d51 Uncomment the line that removes the temporary  iden‐
285027               tity file.
285028
285029           · e2120dbd0e   Merge   pull   request   #42443   from  garethgreen‐
285030             away/42357_pass_args_kwargs_correctly
285031
285032             · 635810b3e3 Updating the slack engine in  2016.11  to  pass  the
285033               args and kwrags correctly to LocalClient
285034
285035           · 8262cc9054      Merge      pull      request      #42200     from
285036             shengis/sqlite3_fix_row_absent_2016.11
285037
285038             · 407b8f4bb3 Fix #42198 If where_args is not set, not using it in
285039               the delete request.
285040
285041           · d9df97e5a3 Merge pull request #42424 from goten4/2016.11
285042
285043             · 1c0574d05e  Fix  error  message  when  tornado or pycurl is not
285044               installed
285045
285046       · PR #42575: (rallytime) [2017.7] Merge forward from 2017.7.1 to 2017.7
285047         @ 2017-07-26 22:39:10 UTC
285048
285049         · 2acde837df     Merge    pull    request    #42575    from    rally‐
285050           time/merge-2017.7.1-into-2017.7
285051
285052         · 63bb0fb2c4 pass in empty kwarg for reactor
285053
285054         · 2868061ee4 update chunk, not kwarg in chunk
285055
285056         · 46715e9d94 Merge branch '2017.7.1' into '2017.7'
285057
285058       · PR  #42555:  (Ch3LL)  add  changelog  to  2017.7.1  release  notes  @
285059         2017-07-26 14:57:43 UTC
285060
285061         · 1d93e92194 Merge pull request #42555 from Ch3LL/7.1_add_changelog
285062
285063         · fb69e71093 add changelog to 2017.7.1 release notes
285064
285065       · PR   #42266:  (twangboy)  Fix  unit.states.test_file  for  Windows  @
285066         2017-07-25 20:26:32 UTC
285067
285068         · 07c2793e86    Merge    pull    request    #42266    from     twang‐
285069           boy/win_unit_states_test_file
285070
285071         · 669aaee10d Mock file exists properly
285072
285073         · a4231c9827 Fix ret mock for linux
285074
285075         · 0c484f8979 Fix unit tests on Windows
285076
285077       · PR #42484: (shengis) Fix a potential Exception with an explicit error
285078         message @ 2017-07-25 18:34:12 UTC
285079
285080         · df417eae17      Merge      pull      request      #42484       from
285081           shengis/fix-explicit-error-msg-x509-sign-remote
285082
285083         · 0b548c72e1 Fix a potential Exception with an explicit error message
285084
285085       · ISSUE   saltstack/salt-jenkins#396:   (Ch3LL)   Python3   Fix   Test:
285086         JoyentTest.test_instance (refs: #42529)
285087
285088       · ISSUE #41720: (rallytime) [Py3] Some salt-cloud drivers do  not  work
285089         using Python 3 (refs: #42529)
285090
285091       · PR  #42529:  (gtmanfred) Fix joyent for python3 @ 2017-07-25 16:37:48
285092         UTC
285093
285094         · 0f25ec76f9 Merge pull request #42529 from gtmanfred/2017.7
285095
285096         · b7ebb4d81a these drivers do not actually have an issue.
285097
285098         · e90ca7a114 use salt encoding for joyent on 2017.7
285099
285100       · PR #42465: (garethgreenaway) [2017.7] Small fix to  modules/git.py  @
285101         2017-07-24 17:24:55 UTC
285102
285103         · 488457c5a0    Merge   pull   request   #42465   from   garethgreen‐
285104           away/2017_7_remove_tmp_identity_file
285105
285106         · 1920dc6079 Uncomment the line that removes the  temporary  identity
285107           file.
285108
285109       · ISSUE  #23516:  (dkiser)  BUG:  cron job scheduler sporadically works
285110         (refs: #42077)
285111
285112       · PR #42107: (vutny) [2017.7] Fix scheduled jobs if when parameter is a
285113         list @ 2017-07-24 17:04:12 UTC
285114
285115         · PR  #42077: (vutny) Fix scheduled job run on Master if when parame‐
285116           ter is a list (refs: #42107)
285117
285118         · PR #41973: (vutny) Fix Master/Minion scheduled jobs based  on  Cron
285119           expressions (refs: #42077)
285120
285121         · 4f044999fa       Merge      pull      request      #42107      from
285122           vutny/2017.7-fix-jobs-scheduled-with-whens
285123
285124         · 905be493d4 [2017.7] Fix scheduled jobs if when parameter is a list
285125
285126       · PR #42506: (terminalmage) Add PER_REMOTE_ONLY to init_remotes call in
285127         git_pillar runner @ 2017-07-24 16:59:21 UTC
285128
285129         · 6eaa0763e1 Merge pull request #42506 from terminalmage/fix-git-pil‐
285130           lar-runner
285131
285132         · 6352f447ce Add PER_REMOTE_ONLY to init_remotes call  in  git_pillar
285133           runner
285134
285135       · PR  #42502:  (shengis)  Fix  azurerm  query  to show IPs @ 2017-07-24
285136         15:54:45 UTC
285137
285138         · b88e645f10  Merge  pull  request  #42502   from   shengis/fix_azur‐
285139           erm_request_ips
285140
285141         · 92f1890701 Fix azurerm query to show IPs
285142
285143       · PR  #42180:  (twangboy)  Fix unit.modules.test_timezone for Windows @
285144         2017-07-24 14:46:16 UTC
285145
285146         · c793d83d26    Merge    pull    request    #42180    from     twang‐
285147           boy/win_unit_test_timezone
285148
285149         · 832a3d86dd Skip tests that use os.symlink on Windows
285150
285151       · PR  #42474:  (whiteinge)  Cmd  arg  kwarg  parsing  test @ 2017-07-24
285152         14:13:30 UTC
285153
285154         · PR #39646: (terminalmage) Handle deprecation of passing string args
285155           to load_args_and_kwargs (refs: #42474)
285156
285157         · 083ff00410       Merge      pull      request      #42474      from
285158           whiteinge/cmd-arg-kwarg-parsing-test
285159
285160         · 0cc0c0967a Lint fixes
285161
285162         · 66093738c8 Add back support for string kwargs
285163
285164         · 622ff5be40 Add LocalClient.cmd test for arg/kwarg parsing
285165
285166         · 9f4eb80d90 Add a test.arg variant that cleans  the  pub  kwargs  by
285167           default
285168
285169       · PR  #42425: (rallytime) [2017.7] Merge forward from 2016.11 to 2017.7
285170         @ 2017-07-21 22:43:41 UTC
285171
285172         · c91a5e539e Merge pull request #42425 from rallytime/merge-2017.7
285173
285174         · ea457aa0a5 Remove ALIASES block from template util
285175
285176         · c673b64583 Merge branch '2016.11' into '2017.7'
285177
285178           · 42bb1a64ca   Merge    pull    request    #42350    from    twang‐
285179             boy/win_fix_ver_grains_2016.11
285180
285181             · 8c048403d7 Detect Server OS with a desktop release name
285182
285183           · 0a72e56f6b Merge pull request #42356 from meaksh/2016.11-Aliases‐
285184             Loader-wrapper-fix
285185
285186             · 915d94219e Allow to check whether a function  is  available  on
285187               the AliasesLoader wrapper
285188
285189           · 10eb7b7a79    Merge    pull    request    #42368    from   twang‐
285190             boy/win_fix_build_2016.11
285191
285192             · a7c910c31e Remove build and dist directories before install
285193
285194           · 016189f62f Merge pull request #42370 from rallytime/merge-2016.11
285195
285196             · 0aa5dde1de Merge branch '2016.3' into '2016.11'
285197
285198             · e9b0f20f8a     Merge     pull     request      #42359      from
285199               Ch3LL/doc-update-2016.3
285200
285201               · dc85b5edbe  [2016.3] Update version numbers in doc config for
285202                 2017.7.0 release
285203
285204           · f06a6f1796     Merge      pull      request      #42360      from
285205             Ch3LL/doc-update-2016.11
285206
285207             · b90b7a7506  [2016.11]  Update version numbers in doc config for
285208               2017.7.0 release
285209
285210           · e0595b0a0f Merge pull request #42319 from rallytime/config-docs
285211
285212             · b40f980632 Add more documentation for config options  that  are
285213               missing from master/minion docs
285214
285215           · 78940400e3 Merge pull request #42352 from CorvinM/issue42333
285216
285217             · 526b6ee14d Multiple documentation fixes
285218
285219       · ISSUE  #42357:  (Giandom)  Salt  pillarenv  problem with slack engine
285220         (refs: #42443, #42444)
285221
285222       · PR  #42444:  (garethgreenaway)  [2017.7]  Fix  to  slack   engine   @
285223         2017-07-21 22:03:48 UTC
285224
285225         · 10e4d9234b    Merge   pull   request   #42444   from   garethgreen‐
285226           away/42357_2017_7_pass_args_kwargs_correctly
285227
285228         · f411cfc2a9 Updating the slack engine in 2017.7 to pass the args and
285229           kwrags correctly to LocalClient
285230
285231       · PR  #42461:  (rallytime) Bump warning version from Oxygen to Fluorine
285232         in roster cache @ 2017-07-21 21:33:25 UTC
285233
285234         · 723be49fac  Merge  pull  request  #42461  from  rallytime/bump-ros‐
285235           ter-cache-deprecations
285236
285237         · c0df0137f5  Bump  warning version from Oxygen to Fluorine in roster
285238           cache
285239
285240       · ISSUE #42374: (tyhunt99) [2017.7.0]  salt-run  mange.versions  throws
285241         exception if minion is offline or unresponsive (refs: #42436)
285242
285243       · PR  #42436:  (garethgreenaway)  Fixes  to versions function in manage
285244         runner @ 2017-07-21 19:41:07 UTC
285245
285246         · 09521602c1   Merge   pull   request   #42436   from    garethgreen‐
285247           away/42374_manage_runner_minion_offline
285248
285249         · 0fd39498c0  Updating the versions function inside the manage runner
285250           to account for when a minion is offline and we are unable to deter‐
285251           mine it's version.
285252
285253       · ISSUE  #42427:  (grichmond-salt) Issue Passing Variables created from
285254         load_json as Inline Pillar Between States (refs: #42435)
285255
285256       · PR #42435: (terminalmage) Modify our custom YAML loader to treat uni‐
285257         code literals as unicode strings (refs: #42812) @ 2017-07-21 19:40:34
285258         UTC
285259
285260         · 54193ea543 Merge pull request #42435 from terminalmage/issue42427
285261
285262         · 31273c7ec1 Modify our custom YAML loader to treat unicode  literals
285263           as unicode strings
285264
285265       · ISSUE  #42381:  (zebooka)  Git.detached  broken  in  2017.7.0  (refs:
285266         #42399)
285267
285268       · ISSUE  #38878:  (tomlaredo)  [Naming  consistency]  git.latest  "rev"
285269         option VS git.detached "ref" option (refs: #38898)
285270
285271       · PR  #42399:  (rallytime)  Update  old  "ref"  references  to "rev" in
285272         git.detached state @ 2017-07-21 19:38:59 UTC
285273
285274         · PR #38898: (terminalmage) git.detached: rename ref to rev for  con‐
285275           sistency (refs: #42399)
285276
285277         · 0b3179135c Merge pull request #42399 from rallytime/fix-42381
285278
285279         · d9d94fe02f  Update  old  "ref"  references to "rev" in git.detached
285280           state
285281
285282       · ISSUE #42400: (Enquier) Conflict in execution of passing pillar  data
285283         to orch/reactor event executions 2017.7.0 (refs: #42031)
285284
285285       · PR  #42031: (skizunov) Fix: Reactor emits critical error @ 2017-07-21
285286         19:38:34 UTC
285287
285288         · bd4adb483d Merge pull request #42031 from skizunov/develop3
285289
285290         · 540977b4b1 Fix: Reactor emits critical error
285291
285292       · ISSUE #41949: (jrporcaro) Event returner doesn't  work  with  Windows
285293         Master (refs: #42027)
285294
285295       · PR #42027: (gtmanfred) import salt.minion for EventReturn for Windows
285296         @ 2017-07-21 19:37:03 UTC
285297
285298         · 3abf7ad7d7 Merge pull request #42027 from gtmanfred/2017.7
285299
285300         · fd4458b6c7 import salt.minion for EventReturn for Windows
285301
285302       · PR #42454: (terminalmage) Document future renaming  of  new  rand_str
285303         jinja filter @ 2017-07-21 18:47:51 UTC
285304
285305         · 994d3dc74a    Merge    pull    request    #42454   from   terminal‐
285306           mage/jinja-docs-2017.7
285307
285308         · 98b661406e Document future renaming of new rand_str jinja filter
285309
285310       · PR #42452: (Ch3LL) update windows urls to new py2/py3 naming scheme @
285311         2017-07-21 17:20:47 UTC
285312
285313         · 4480075129 Merge pull request #42452 from Ch3LL/fix_url_windows
285314
285315         · 3f4a918f73 update windows urls to new py2/py3 naming scheme
285316
285317       · ISSUE  #42404:  (gabekahen)  [2017.7] file.managed with cmd_check "No
285318         such file or directory" (refs: #42411)
285319
285320       · ISSUE #33708: (pepinje) visudo check command  leaves  cache  file  in
285321         /tmp (refs: #42411, #38063)
285322
285323       · PR  #42411: (seedickcode) Fix file.managed check_cmd file not found -
285324         Issue #42404 @ 2017-07-20 21:59:17 UTC
285325
285326         · PR #38063: (llua) tmp file clean up in file.manage - fix for #33708
285327           (refs: #42411)
285328
285329         · 33e90be1fe Merge pull request #42411 from seedickcode/check_cmd_fix
285330
285331         · 4ae3911f01 Fix file.managed check_cmd file not found - Issue #42404
285332
285333       · PR  #42409:  (twangboy)  Add Scripts to build Py3 on Mac @ 2017-07-20
285334         21:36:34 UTC
285335
285336         · edde31376a Merge pull request #42409 from twangboy/mac_py3_scripts
285337
285338         · ac0e04af72 Remove build and dist, sign pkgs
285339
285340         · 9d66e273c4 Fix hard coded pip path
285341
285342         · 7b8d6cbbd2 Add support for Py3
285343
285344         · aa4eed93c8 Update Python and other reqs
285345
285346       · ISSUE #42403: (astronouth7303) [2017.7] Pillar empty  when  state  is
285347         applied from orchestrate (refs: #42433)
285348
285349       · PR #42433: (terminalmage) Only force saltenv/pillarenv to be a string
285350         when not None (refs: #42573) @ 2017-07-20 21:32:24 UTC
285351
285352         · 82982f940d Merge pull request #42433 from terminalmage/issue42403
285353
285354       · PR    #42408:    (CorvinM)    Fix    documentation    misformat    in
285355         salt.states.file.replace @ 2017-07-20 00:45:43 UTC
285356
285357         · a71938cefe     Merge     pull    request    #42408    from    Corv‐
285358           inM/file-replace-doc-fix
285359
285360         · 246a2b3e74 Fix documentation misformat in salt.states.file.replace
285361
285362       · PR #42347: (twangboy) Fixes  problem  with  Version  and  OS  Release
285363         related  grains  on  certain versions of Python @ 2017-07-19 17:05:43
285364         UTC
285365
285366         · d385dfd19d    Merge    pull    request    #42347    from     twang‐
285367           boy/win_fix_ver_grains
285368
285369         · ef1f663fc9 Detect server OS with a desktop release name
285370
285371       · PR  #42366:  (twangboy)  Remove  build  and  dist  directories before
285372         install @ 2017-07-19 16:37:41 UTC
285373
285374         · eb9e4206c9 Merge pull request #42366 from twangboy/win_fix_build
285375
285376         · 0946002713 Add blank line after delete
285377
285378         · f7c0bb4f46 Remove build and dist directories before install
285379
285380       · PR  #42373:  (Ch3LL)  Add  initial  2017.7.1  Release  Notes  File  @
285381         2017-07-19 16:28:46 UTC
285382
285383         · af7820f25d Merge pull request #42373 from Ch3LL/add_2017.7.1
285384
285385         · ce1c1b6d28 Add initial 2017.7.1 Release Notes File
285386
285387       · PR   #42150:  (twangboy)  Fix  unit.modules.test_pip  for  Windows  @
285388         2017-07-19 16:01:17 UTC
285389
285390         · 59e012b485    Merge    pull    request    #42150    from     twang‐
285391           boy/win_unit_test_pip
285392
285393         · 4ee24202fc Fix unit tests for test_pip
285394
285395       · PR  #42154:  (twangboy)  Fix  unit.modules.test_reg_win for Windows @
285396         2017-07-19 16:00:38 UTC
285397
285398         · ade25c6b34    Merge    pull    request    #42154    from     twang‐
285399           boy/win_unit_test_reg
285400
285401         · 00d9a52802 Fix problem with handling REG_QWORD in list values
285402
285403       · PR  #42182:  (twangboy)  Fix  unit.modules.test_useradd for Windows @
285404         2017-07-19 15:55:33 UTC
285405
285406         · 07593675e2    Merge    pull    request    #42182    from     twang‐
285407           boy/win_unit_test_useradd
285408
285409         · 8260a71c07 Disable tests that require pwd in Windows
285410
285411       · PR #42364: (twangboy) Windows Package notes for 2017.7.0 @ 2017-07-18
285412         19:24:45 UTC
285413
285414         · a175c40c1d    Merge    pull    request    #42364    from     twang‐
285415           boy/release_notes_2017.7.0
285416
285417         · 96517d1355 Add note about patched windows packages
285418
285419       · PR  #42361: (Ch3LL) [2017.7] Update version numbers in doc config for
285420         2017.7.0 release @ 2017-07-18 19:23:22 UTC
285421
285422         · 4dfe50e558 Merge pull request #42361 from Ch3LL/doc-update-2017.7
285423
285424         · dc5bb301f7 [2017.7]  Update  version  numbers  in  doc  config  for
285425           2017.7.0 release
285426
285427       · PR  #42363: (rallytime) [2017.7] Merge forward from 2016.11 to 2017.7
285428         @ 2017-07-18 18:40:48 UTC
285429
285430         · 587138d771 Merge pull request #42363 from rallytime/merge-2017.7
285431
285432         · 7aa31ff030 Merge branch '2016.11' into '2017.7'
285433
285434           · b256001760   Merge   pull   request   #42353    from    terminal‐
285435             mage/fix-git-test
285436
285437             · 14cf6ce322 is_windows is a function, not a propery/attribute
285438
285439           · 866a1febb4 Merge pull request #42264 from rallytime/fix-41116
285440
285441             · bd638880e3  Add  mono-spacing to salt-minion reference for con‐
285442               sistency
285443
285444             · 30d62f43da Update minion restart section in FAQ doc for windows
285445
285446           · 9a707088ad Merge pull request #42275 from terminalmage/issue42194
285447
285448             · 663874908a pkg.installed: pack name/version into pkgs argument
285449
285450           · e588f235e0 Merge pull request #42269 from rallytime/fix-41721
285451
285452             · f2250d474a Add a note about using different styles of quotes.
285453
285454             · 38d9b3d553 Add some clarity to  "multiple  quotes"  section  of
285455               yaml docs
285456
285457           · 5aaa214a75 Merge pull request #42282 from rallytime/fix-42152
285458
285459             · f032223843 Handle libcloud objects that throw RepresenterErrors
285460               with --out=yaml
285461
285462           · fb5697a4bc     Merge      pull      request      #42308      from
285463             lubyou/42295-fix-file-absent-windows
285464
285465             · 026ccf401a Force file removal on Windows. Fixes #42295
285466
285467           · da2a8a518f Merge pull request #42314 from rallytime/fix-42267
285468
285469             · c406046940  Add  clarification  to  salt  ssh  docs  about  key
285470               auto-generation.
285471
285472           · acadd54013  Merge   pull   request   #41945   from   garethgreen‐
285473             away/41936_allow_identity_files_with_user
285474
285475             · 44841e5626 Moving the call to cp.get_file inside the with block
285476               to ensure the umask is preserved when we grab the file.
285477
285478             · f9ba60eed8 Merge pull request #1 from terminalmage/pr-41945
285479
285480               · 1b6026177c Restrict set_umask to mkstemp call only
285481
285482             · 68549f3496 Fixing umask to we can set files as executable.
285483
285484             · 4949bf3ff3     Updating     to     swap     on     the      new
285485               salt.utils.files.set_umask context_manager
285486
285487             · 8faa9f6d92 Updating PR with requested changes.
285488
285489             · 494765e939 Updating the git module to allow an identity file to
285490               be used when passing the user parameter
285491
285492           · f90e04a2bc Merge pull request #42289 from CorvinM/bp-41543
285493
285494             · 357dc22f05 Fix user creation with empty password
285495
285496           · a91a3f81b1  Merge  pull  request   #42123   from   vutny/fix-mas‐
285497             ter-utils-import
285498
285499             · 6bb8b8f98c Add missing doc for utils_dirs Minion config option
285500
285501             · f1bc58f6d5 Utils: add example of module import
285502
285503           · e2aa5114e4 Merge pull request #42261 from rallytime/minor-doc-fix
285504
285505             · 8c76bbb53d  Some  minor doc fixes for dnsutil module so they'll
285506               render correctly
285507
285508           · 3e9dfbc9cc Merge pull request #42262 from rallytime/bp-42224
285509
285510             · c31ded341c Remove duplicate instruction in Openstack  Rackspace
285511               config example
285512
285513           · 7780579c36   Merge   pull   request   #42181   from  garethgreen‐
285514             away/42137_backport_fix_from_2017_7
285515
285516             · a34970b45b Back porting the fix for  2017.7  that  ensures  the
285517               order of the names parameter.
285518
285519           · 72537868a6 Merge pull request #42253 from gtmanfred/2016.11
285520
285521             · 53e25760be Only use unassociated ips when unable to allocate
285522
285523           · b2a4698b5d Merge pull request #42252 from UtahDave/2016.11local
285524
285525             · e6a9563d47 simple doc updates
285526
285527           · 781fe13be7      Merge      pull      request      #42235     from
285528             astronouth7303/patch-1-2016.3
285529
285530             · 4cb51bd03a Make note of dig partial requirement.
285531
285532             · 08e7d8351a Abolish references to dig in examples.
285533
285534           · 83cbd76f16 Merge pull request #42215 from twangboy/win_iis_docs
285535
285536             · c07e22041a Add missing config to example
285537
285538           · 274946ab00 Merge pull request #42211 from terminalmage/issue40928
285539
285540             · 22a18fa2ed Only pass a saltenv  in  orchestration  if  one  was
285541               explicitly passed (2016.11)
285542
285543           · 89261cf06c Merge pull request #42173 from rallytime/bp-37424
285544
285545             · 01addb6053 Avoid Early Convert ret['comment'] to String
285546
285547           · 3b17fb7f83 Merge pull request #42175 from rallytime/bp-39366
285548
285549             · 53f7b987e8 Pass sig to service.status in after_toggle
285550
285551           · ea16f47f0a Merge pull request #42172 from rallytime/merge-2016.11
285552
285553             · b1fa332a11 Merge branch '2016.3' into '2016.11'
285554
285555               · 8fa1fa5bb1     Merge     pull     request     #42155     from
285556                 phsteve/doc-fix-puppet
285557
285558               · fb2cb78a31 Fix docs for puppet.plugin_sync so code-block ren‐
285559                 ders properly and sync is spelled consistently
285560
285561           · 6307b9873f Merge pull request #42176 from rallytime/bp-42109
285562
285563             · 686926daf7 Update aws.rst - add Debian default username
285564
285565           · 28c4e4c3b7    Merge    pull   request   #42095   from   terminal‐
285566             mage/docker-login-debugging
285567
285568             · bd27870a71 Add debug logging to dockerng.login
285569
285570           · 2b754bc5af Merge pull request #42119 from terminalmage/issue42116
285571
285572             · 9a268949e3 Add integration test for 42116
285573
285574             · 1bb42bb609 Fix regression when CLI pillar override is used with
285575               salt-call
285576
285577           · 8c0a83cbb5 Merge pull request #42121 from terminalmage/issue42114
285578
285579             · d14291267f Fix pillar.get when saltenv is passed
285580
285581           · 687992c240    Merge    pull   request   #42094   from   terminal‐
285582             mage/quiet-exception
285583
285584             · 47d61f4edf Prevent command from showing in exception when  out‐
285585               put_loglevel=quiet
285586
285587           · dad255160c Merge pull request #42163 from vutny/fix-42115
285588
285589             · b27b1e340a Fix #42115: parse libcloud "rc" version correctly
285590
285591           · 2a8ae2b3b6 Merge pull request #42164 from Ch3LL/fix_kerb_doc
285592
285593             · 7c0fb248ec Fix kerberos create_keytab doc
285594
285595           · 678d4d4098 Merge pull request #42141 from rallytime/bp-42098
285596
285597             · bd80243233 Change repo_ng to repo-ng
285598
285599           · c8afd7a3c9 Merge pull request #42140 from rallytime/bp-42097
285600
285601             · 9c4e132540 Import datetime
285602
285603             · 1435bf177e require large timediff for ipv6 warning
285604
285605           · c239664c8b Merge pull request #42142 from Ch3LL/change_builds
285606
285607             · e1694af39c Update builds available for rc1
285608
285609       · PR #42340: (isbm) Bugfix: Jobs scheduled to run at a future time stay
285610         pending for Salt … @ 2017-07-18 18:13:36 UTC
285611
285612         · 55b7a5cb4a Merge pull  request  #42340  from  isbm/isbm-jobs-sched‐
285613           uled-in-a-future-2017.7-bsc1036125
285614
285615         · 774d204d65  Bugfix:  Jobs  scheduled  to  run at a future time stay
285616           pending for Salt minions (bsc#1036125)
285617
285618       · PR #42327: (mirceaulinic) Default skip_verify to False  @  2017-07-18
285619         18:04:36 UTC
285620
285621         · e72616c5f1 Merge pull request #42327 from mirceaulinic/patch-10
285622
285623         · c830573a2c Trailing whitespaces
285624
285625         · c83e6fc696 Default skip_verify to False
285626
285627       · ISSUE  #42151:  (sjorge)  Doc  errors in jinja doc for develop branch
285628         (refs: #42179)
285629
285630       · PR #42179: (rallytime) Fix some documentation issues found  in  jinja
285631         filters doc topic @ 2017-07-18 18:01:57 UTC
285632
285633         · ba799b2831 Merge pull request #42179 from rallytime/fix-42151
285634
285635         · 798d29276e Add note about "to_bytes" jinja filter issues when using
285636           yaml_jinja renderer
285637
285638         · 1bbff572ab Fix some documentation issues found in jinja filters doc
285639           topic
285640
285641       · ISSUE #42076: (abulford) dockerng.volume_present test looks as though
285642         it would cause a change (refs: #42087, #42086)
285643
285644       · PR #42087: (abulford)  Make  result=true  if  Docker  volume  already
285645         exists @ 2017-07-17 18:41:47 UTC
285646
285647         · PR  #42086:  (abulford)  Make  result=true if Docker volume already
285648           exists (refs: #42087)
285649
285650         · 8dbb93851d  Merge  pull  request  #42087  from  redmatter/fix-dock‐
285651           erng-volume-present-result-2017.7
285652
285653         · 2e1dc95500 Make result=true if Docker volume already exists
285654
285655       · ISSUE #42166: (sjorge) [2017.7.0rc1] jinja filter network_hosts fails
285656         on large IPv6 networks (refs: #42186)
285657
285658       · PR  #42186:  (rallytime)  Use  long_range  function  for  IPv6Network
285659         hosts() function @ 2017-07-17 18:39:35 UTC
285660
285661         · c84d6db548 Merge pull request #42186 from rallytime/fix-42166
285662
285663         · b8bcc0d599  Add  note  to various network_hosts docs about long_run
285664           for IPv6 networks
285665
285666         · 11862743c2 Use long_range function for IPv6Network hosts() function
285667
285668       · PR #42210: (terminalmage) Only pass a saltenv in orchestration if one
285669         was explicitly passed (2017.7) @ 2017-07-17 18:22:39 UTC
285670
285671         · e7b79e0fd2    Merge    pull    request    #42210   from   terminal‐
285672           mage/issue40928-2017.7
285673
285674         · 771ade5d73 Only pass a saltenv in orchestration if one was  explic‐
285675           itly passed (2017.7)
285676
285677       · PR   #42236:  (mirceaulinic)  New  option  for  napalm  proxy/minion:
285678         provider @ 2017-07-17 18:19:56 UTC
285679
285680         · 0e49021b0e    Merge    pull    request    #42236    from     cloud‐
285681           flare/napalm-provider
285682
285683         · 1ac69bd737 Document the provider option and rearrange the doc
285684
285685         · 4bf4b14161 New option for napalm proxy/minion: provider
285686
285687       · PR   #42257:   (twangboy)  Fix  unit.pillar.test_git  for  Windows  @
285688         2017-07-17 17:51:42 UTC
285689
285690         · 3ec5bb1c2f Merge pull request  #42257  from  twangboy/win_unit_pil‐
285691           lar_test_git
285692
285693         · 45be32666a Add error-handling function to shutil.rmtree
285694
285695       · PR  #42258:  (twangboy)  Fix  unit.states.test_environ  for Windows @
285696         2017-07-17 17:50:38 UTC
285697
285698         · 36395625c2    Merge    pull    request    #42258    from     twang‐
285699           boy/win_unit_states_tests_environ
285700
285701         · 55b278c478 Mock the reg.read_value function
285702
285703       · PR  #42265: (rallytime) Gate boto_elb tests if proper version of moto
285704         isn't installed @ 2017-07-17 17:47:52 UTC
285705
285706         · 894bdd2b19 Merge pull request #42265 from  rallytime/gate-moto-ver‐
285707           sion
285708
285709         · 78cdee51d5  Gate  boto_elb  tests  if  proper version of moto isn't
285710           installed
285711
285712       · PR #42277: (twangboy)  Fix  unit.states.test_winrepo  for  Windows  @
285713         2017-07-17 17:37:07 UTC
285714
285715         · baf04f2a2d     Merge    pull    request    #42277    from    twang‐
285716           boy/win_unit_states_test_winrepo
285717
285718         · ed89cd0b93 Use os.sep for path seps
285719
285720       · PR #42309: (terminalmage) Change "TBD" in versionadded to  "2017.7.0"
285721         @ 2017-07-17 17:11:45 UTC
285722
285723         · be6b211683 Merge pull request #42309 from terminalmage/fix-version‐
285724           added
285725
285726         · 603f5b7de6 Change "TBD" in versionadded to "2017.7.0"
285727
285728       · PR #42206: (rallytime) [PY3] Fix test  that  is  flaky  in  Python  3
285729         (refs: #42783) @ 2017-07-17 17:09:53 UTC
285730
285731         · acd29f9b38 Merge pull request #42206 from rallytime/fix-flaky-test
285732
285733         · 2be4865f48 [PY3] Fix test that is flaky in Python 3
285734
285735       · PR  #42126: (rallytime) [2017.7] Merge forward from 2016.11 to 2017.7
285736         @ 2017-07-17 17:07:19 UTC
285737
285738         · 8f1cb287cf Merge pull request #42126 from rallytime/merge-2017.7
285739
285740       · PR #42078: (damon-atkins) pkg.install and pkg.remove fix version num‐
285741         ber input.  @ 2017-07-05 06:04:57 UTC
285742
285743         · 4780d7830a  Merge  pull  request  #42078 from damon-atkins/fix_con‐
285744           vert_flt_str_version_on_cmd_line
285745
285746         · 09d37dd892 Fix comment typo
285747
285748         · 7167549425 Handle version=None   when  converted  to  a  string  it
285749           becomes  'None'  parm  should  default  to empty string rather than
285750           None, it would fix better with existing code.
285751
285752         · 4fb2bb1856 Fix typo
285753
285754         · cf55c3361c pkg.install and pkg.remove on the command line take num‐
285755           ber  version numbers, store them within a float. However version is
285756           a string, to support versions numbers like 1.3.4
285757
285758       · PR #42105: (Ch3LL) Update releasecanddiate doc with  new  2017.7.0rc1
285759         Release @ 2017-07-04 03:14:42 UTC
285760
285761         · 46d575acbc Merge pull request #42105 from Ch3LL/update_rc
285762
285763         · d4e7b91608 Update releasecanddiate doc with new 2017.7.0rc1 Release
285764
285765       · ISSUE #41885: (astronouth7303) Recommended pip installation outdated?
285766         (refs: #42099)
285767
285768       · PR #42099: (rallytime) Remove  references  in  docs  to  pip  install
285769         salt-cloud @ 2017-07-03 22:13:44 UTC
285770
285771         · d38548bbbd Merge pull request #42099 from rallytime/fix-41885
285772
285773         · c2822e05ad Remove references in docs to pip install salt-cloud
285774
285775       · ISSUE #42076: (abulford) dockerng.volume_present test looks as though
285776         it would cause a change (refs: #42087, #42086)
285777
285778       · PR #42086: (abulford)  Make  result=true  if  Docker  volume  already
285779         exists (refs: #42087) @ 2017-07-03 15:48:33 UTC
285780
285781         · 81d606a8cb  Merge  pull  request  #42086  from  redmatter/fix-dock‐
285782           erng-volume-present-result
285783
285784         · 8d549685a7 Make result=true if Docker volume already exists
285785
285786       · ISSUE #25842: (shikhartanwar) Running salt-minion as non-root user to
285787         execute sudo commands always returns an error (refs: #42021)
285788
285789       · PR  #42021:  (gtmanfred)  Set  concurrent to True when running states
285790         with sudo @ 2017-06-30 21:02:15 UTC
285791
285792         · 7160697123 Merge pull request #42021 from gtmanfred/2016.11
285793
285794         · 26beb18aa5 Set concurrent to True when running states with sudo
285795
285796       · PR #42029: (terminalmage) Mock socket.getaddrinfo in  unit.utils.net‐
285797         work_test.NetworkTestCase.test_host_to_ips @ 2017-06-30 20:58:56 UTC
285798
285799         · b784fbbdf8 Merge pull request #42029 from terminalmage/host_to_ips
285800
285801         · 26f848e111  Mock socket.getaddrinfo in unit.utils.network_test.Net‐
285802           workTestCase.test_host_to_ips
285803
285804       · PR #42055: (dmurphy18) Upgrade support for gnupg v2.1  and  higher  @
285805         2017-06-30 20:54:02 UTC
285806
285807         · e067020b9b Merge pull request #42055 from dmurphy18/handle_gnupgv21
285808
285809         · e20cea6350 Upgrade support for gnupg v2.1 and higher
285810
285811       · PR  #42048:  (Ch3LL) Add initial 2016.11.7 Release Notes @ 2017-06-30
285812         16:00:05 UTC
285813
285814         · 74ba2abc48 Merge pull request #42048 from Ch3LL/add_11.7
285815
285816         · 1de5e008a0 Add initial 2016.11.7 Release Notes
285817
285818   Salt 2017.7.3 Release Notes
285819       Version 2017.7.3 is a bugfix release for 2017.7.0.
285820
285821   Statistics
285822       · Total Merges: 501
285823
285824       · Total Issue References: 94
285825
285826       · Total PR References: 423
285827
285828       · Contributors: 86 (3add3287, BenoitKnecht,  Ch3LL,  CorvinM,  Da-Juan,
285829         DmitryKuzmenko,  Giandom,  The-Loeki,  UtahDave,  adelcast, amendlik,
285830         angeloudy, anlutro, arthurlogilab,  basepi,  benediktwerner,  brejoc,
285831         cachedout,   campbellmc,   chnrxn,  clan,  corywright,  damon-atkins,
285832         dincamihai,  dmurphy18,  eliasp,   eradman,   forksaber,   frogunder,
285833         gaborn57,  garethgreenaway,  golmaal,  gracinet,  gtmanfred,  haam3r,
285834         isbm, jettero, jf, jubrad, keesbos, kris-anderson,  lomeroe,  mateiw,
285835         mattLLVW, mephi42, mirceaulinic, mkurtak, morganwillcock, msummers42,
285836         mtorromeo,    multani,    mvivaldi,     mz-bmcqueen,     nasenbaer13,
285837         nicholasmhughes,  oarmstrong,  pkruk,  pratik705, psagers, rallytime,
285838         rbjorklin,  rcallphin,   renner,   rhoths,   richardsimko,   rklaren,
285839         roaldnefs,   s0undt3ch,   samodid,   skizunov,  skjaro,  steverweber,
285840         sumeetisp,   t0fik,   techhat,   terminalmage,   timfreund,    timka,
285841         tkwilliams,  twangboy,  unthought,  vernondcole, vutny, wedge-jarrad,
285842         whytewolf, xuhcc)
285843
285844   Windows Changes
285845   pkg Execution Module`
285846       Significate changes (PR #43708 & #45390, damon-atkins) have  been  made
285847       to  the  pkg  execution  module. Users should test this release against
285848       their existing package sls definition files.
285849
285850       · pkg.list_available no longer defaults to refreshing the winrepo  meta
285851         database.
285852
285853       · pkg.install  without  a version parameter no longer upgrades software
285854         if the software is already installed.  Use pkg.install version=latest
285855         (or simply use a pkg.latest state to get the old behavior.
285856
285857       · pkg.list_pkgs  now  returns  multiple  versions if software installed
285858         more than once.
285859
285860       · pkg.list_pkgs now returns Not Found when the  version  is  not  found
285861         instead of (value not set) which matches the contents of the sls def‐
285862         initions.
285863
285864       · pkg.remove will wait up to 3 seconds (normally  about  a  second)  to
285865         detect  changes  in  the  registry after removing software, improving
285866         reporting of version changes.
285867
285868       · pkg.remove can remove latest software, if latest is  defined  in  sls
285869         definition.
285870
285871       · Documentation  was update for the execution module to match the style
285872         in new versions, some corrections as well.
285873
285874       · All install/remove commands are prefix with cmd.exe shell and  cmdmod
285875         is  called  with  a  command  line string instead of a list. Some sls
285876         files in saltstack/salt-winrepo-ng expected the commands to  be  pre‐
285877         fixed with cmd.exe (i.e. the use of &).
285878
285879       · Some  execution  module functions results, now behave more like their
285880         Unix/Linux versions.
285881
285882   cmd Execution Module
285883       Due to a difference in how Python's subprocess.Popen() spawns processes
285884       on  Windows,  passing  the command as a list of arguments can result in
285885       problems.  This is because Windows' CreateProcess requires the  command
285886       to  be passed as a single string. Therefore, subprocess will attempt to
285887       re-assemble the list of arguments into as string. Some escaped  charac‐
285888       ters and quotes can cause the resulting string to be incorrectly-assem‐
285889       bled, resulting in a failure to execute the command.
285890
285891       Salt now deals with these cases by joining the list of  arguments  cor‐
285892       rectly and ensuring that the command is passed to subprocess.Popen() as
285893       a string.
285894
285895   Changelog for v2017.7.2..v2017.7.3
285896       Generated at: 2018-05-26 21:36:50 UTC
285897
285898       · ISSUE #45743: (frogunder) Multi-master PKI not working on Py3  (refs:
285899         #45755)
285900
285901       · PR  #45755:  (terminalmage)  salt.crypt:  Ensure  message  is encoded
285902         before signing @ 2018-01-29 19:04:50 UTC
285903
285904         · 1439da8d76 Merge pull request #45755 from terminalmage/issue45743
285905
285906         · 8af1251c59 salt.crypt: Ensure message is encoded before signing
285907
285908       · PR #45700: (Ch3LL) Add PRs to 2017.7.3  Release  Notes  @  2018-01-25
285909         20:56:45 UTC
285910
285911         · fe194d755f Merge pull request #45700 from Ch3LL/7.3_rn
285912
285913         · 84c8216901 Add PRs to 2017.7.3 Release Notes
285914
285915       · PR  #45681:  (damon-atkins)  2017.7.3  Release  notes  for  Windows @
285916         2018-01-25 15:13:18 UTC
285917
285918         · ce41f6a6ee      Merge      pull      request      #45681       from
285919           damon-atkins/2017.7.3_win_release_notes
285920
285921         · 1d21f86228 Update 2017.7.3.rst
285922
285923       · PR  #45672:  (rallytime)  Back-port  #45667  to 2017.7.3 @ 2018-01-25
285924         14:04:54 UTC
285925
285926         · PR #45667: (gtmanfred) default  to  upgrading  when  refreshing  on
285927           archlinux (refs: #45672)
285928
285929         · 2f303439b7 Merge pull request #45672 from rallytime/bp-45667
285930
285931         · 74bbaeb7ce  we should default to upgrading when refreshing on arch‐
285932           linux
285933
285934       · PR #45669: (rallytime)  Update  man  pages  for  2017.7.3  release  @
285935         2018-01-24 21:04:59 UTC
285936
285937         · 23ff1264e0     Merge    pull    request    #45669    from    rally‐
285938           time/man-pages-2017.7.3
285939
285940         · d31b41adeb Update man pages for 2017.7.3 release
285941
285942       · PR #45666: (terminalmage)  Fix  failing  pkg  integration  tests  for
285943         releases with no '.' @ 2018-01-24 17:19:10 UTC
285944
285945         · 9a17405ba6  Merge  pull request #45666 from terminalmage/salt-jenk‐
285946           ins-793
285947
285948         · 4a6ab729dd Fix failing pkg integration tests for releases  with  no
285949           '.'
285950
285951       · PR  #45664:  (rallytime)  Back-port  #45452  to 2017.7.3 @ 2018-01-24
285952         15:33:13 UTC
285953
285954         · PR #45452: (adelcast) opkg.py: make  owner  fuction  return  value,
285955           instead of iterator (refs: #45664)
285956
285957         · 0717f7a578 Merge pull request #45664 from rallytime/bp-45452
285958
285959         · 369720677b  opkg.py:  make  owner function return value, instead of
285960           iterator
285961
285962       · PR #45649: (rallytime) Back-port  #45634  to  2017.7.3  @  2018-01-24
285963         14:59:43 UTC
285964
285965         · PR  #45634:  (Ch3LL)  Add different service name for Mac 10.13 test
285966           (refs: #45649)
285967
285968         · 7934372b7b Merge pull request #45649 from rallytime/bp-45634
285969
285970         · 1c78fc23ea Add different service name for Mac 10.13 test
285971
285972       · PR #45654: (twangboy) Merge forward #45638 @ 2018-01-24 14:59:14 UTC
285973
285974         · PR #45638: (twangboy) Win fix shell info (refs: #45654)
285975
285976         · 770f0c4664    Merge    pull    request    #45654    from     twang‐
285977           boy/win_fix_shell_info_2017.7.3
285978
285979         · 5bb01aeb8c Merge forward #45638
285980
285981       · PR  #45653:  (rallytime)  Back-port  #45611  to 2017.7.3 @ 2018-01-24
285982         05:20:11 UTC
285983
285984         · PR  #45611:  (terminalmage)  Fix  unnecessary/incorrect  usage   of
285985           six.binary_type (refs: #45653)
285986
285987         · 6fc293da46 Merge pull request #45653 from rallytime/bp-45611
285988
285989         · 0a6b06d8ea Fix unnecessary/incorrect usage of six.binary_type
285990
285991       · PR  #45642:  (rallytime)  Back-port  #45636  to 2017.7.3 @ 2018-01-23
285992         22:00:30 UTC
285993
285994         · PR #45636: (Ch3LL)  Fix mac service and pkg tests for 10.13  (refs:
285995           #45642)
285996
285997         · 0a07e0d259 Merge pull request #45642 from rallytime/bp-45636
285998
285999         · df0ad54c9a remove unnecessary variable for test
286000
286001         · acb14fd43d fix pylint
286002
286003         · a9b12cd1ea Fix mac service and pkg tests for 10.13
286004
286005       · PR  #45645:  (rallytime)  Back-port  #45606  to 2017.7.3 @ 2018-01-23
286006         21:54:45 UTC
286007
286008         · PR #45606: (terminalmage) Fix bug affecting salt-ssh when  root_dir
286009           differs from the default (refs: #45645)
286010
286011         · f37a5b6d8d Merge pull request #45645 from rallytime/bp-45606
286012
286013         · d52d96f30a  Fix  bug  affecting salt-ssh when root_dir differs from
286014           the default
286015
286016       · PR #45641: (rallytime) Back-port  #45508  to  2017.7.3  @  2018-01-23
286017         21:18:39 UTC
286018
286019         · PR  #45508:  (frogunder)  fix  test_archive  test for mac on 2017.7
286020           branch (refs: #45641)
286021
286022         · e659793c09 Merge pull request #45641 from rallytime/bp-45508
286023
286024         · e6917a291e fix test_archive test for mac on 2017.7 branch
286025
286026       · PR #45604: (rallytime) Back-port  #45582  to  2017.7.3  @  2018-01-22
286027         16:54:15 UTC
286028
286029         · PR #45582: (terminalmage) Two salt-ssh fixes (refs: #45604)
286030
286031         · ced3269ae8 Merge pull request #45604 from rallytime/bp-45582
286032
286033         · bc8a450cc7 Remove state.py utils file from thin list
286034
286035         · 629e6c9674 Further fixes to for salt-ssh test under heavy load
286036
286037         · 0dff596b59 Add salt/utils/state.py to thin tarball
286038
286039         · a61afda100 Pass on OSError if thin tarball already removed
286040
286041       · PR   #45591:  (gtmanfred)  mark  minion_blackout  tests  as  flaky  @
286042         2018-01-22 00:14:31 UTC
286043
286044         · 4672baa6c8 Merge pull request #45591 from gtmanfred/2017.7.3
286045
286046         · f7fd35fc4a test updating the minion blackout timeout to 10 seconds
286047
286048       · PR #45585: (rallytime) Back-port  #45579  to  2017.7.3  @  2018-01-22
286049         00:13:59 UTC
286050
286051         · PR #45579: (terminalmage) Test suite stability fixes (refs: #45585)
286052
286053         · 2a992f9017 Merge pull request #45585 from rallytime/bp-45579
286054
286055         · 0292c8345b Lint fix: use six's map
286056
286057         · 108d8cbeef Use correct utils path for 2017.7
286058
286059         · a38f4cb6d6 Restrict pyzmq optimizations to pyzmq >= 14.3.0
286060
286061         · 58ad558346 Fix event unpack
286062
286063       · PR  #45573:  (gtmanfred)  update 2017.7.3 tests @ 2018-01-20 20:05:13
286064         UTC
286065
286066         · 19cd97ed3b Merge pull request #45573 from gtmanfred/2017.7.3
286067
286068         · bd3cb47fa7 fix mock for opensuse
286069
286070         · 808e26e69a test simple website
286071
286072       · PR #45570: (gtmanfred) Fix tests for 2017.7.3 @  2018-01-20  15:01:21
286073         UTC
286074
286075         · e72d81ef22 Merge pull request #45570 from gtmanfred/2017.7.3
286076
286077         · 1f71f301ba specify checking man page path
286078
286079         · 2ddbcb45c1 fix pkg_resources for usage with testing pip
286080
286081         · 0ba39a7108 switch systemd-journald for sshd for arch service test
286082
286083       · PR  #45538:  (gtmanfred) Backport test fixes to 2017.7.3 @ 2018-01-19
286084         14:39:44 UTC
286085
286086         · 7bc60c56d4 Merge pull request #45538 from gtmanfred/2017.7.3
286087
286088         · 801e0639b6 Merge branch '2017.7.3' into 2017.7.3
286089
286090       · PR #45533: (rallytime) Back-port  #45529  to  2017.7.3  @  2018-01-18
286091         22:52:29 UTC
286092
286093         · PR  #45529:  (Ch3LL)  Fix UnboundLocalError for pacman pkg installs
286094           (refs: #45533)
286095
286096         · 8ad65e3359 Merge pull request #45533 from rallytime/bp-45529
286097
286098         · 6d56c64d88 Fix UnboundLocalError for pacman pkg installs
286099
286100           · 8d907ee1a0 fix moto version
286101
286102           · 1241ab5fc6 fix test boto imports
286103
286104           · f4b6367cf9 fix fedora pkg test
286105
286106       · ISSUE #45394: (dmurphy18) git.latest fails when "depth"  is used with
286107         a non-default branch (refs: #45399)
286108
286109       · PR  #45442:  (rallytime)  Back-port  #45399  to 2017.7.3 @ 2018-01-17
286110         17:20:48 UTC
286111
286112         · PR #45399: (terminalmage) Fix git.latest failure when  rev  is  not
286113           the default branch (refs: #45442)
286114
286115         · 7379f9e3e5 Merge pull request #45442 from rallytime/bp-45399
286116
286117         · 590a6db626  Lint:  use  support TMP path instead of integration TMP
286118           path
286119
286120         · c081b2c62c Fix git.latest failure  when  rev  is  not  the  default
286121           branch
286122
286123       · PR  #45468:  (twangboy)  Fix  some  issues  with  reg.py @ 2018-01-16
286124         22:23:47 UTC
286125
286126         · ee5090f69b Merge pull request #45468 from twangboy/win_reg
286127
286128         · a0d21c6354 Fix some issues with reg.py
286129
286130       · ISSUE #44913: (ari) FreeBSD packaging install performance  regression
286131         (refs: #45174)
286132
286133       · PR  #45434:  (rallytime)  Back-port  #45174  to 2017.7.3 @ 2018-01-14
286134         12:43:16 UTC
286135
286136         · PR #45174: (eradman) Do not force pkg reinstall on  FreeBSD  (refs:
286137           #45434)
286138
286139         · ef7a896eb6 Merge pull request #45434 from rallytime/bp-45174
286140
286141         · b310ff7ab8 Do not force pkg reinstall on FreeBSD
286142
286143       · PR  #45395:  (rallytime)  Back-port  #45380  to 2017.7.3 @ 2018-01-12
286144         18:49:20 UTC
286145
286146         · PR #45380: (twangboy) Backport changes from #45308 (refs: #45395)
286147
286148         · PR #45308: (twangboy) Fix integration.modules.test_state  for  Win‐
286149           dows (refs: #45380)
286150
286151         · c3fdd1dcc4 Merge pull request #45395 from rallytime/bp-45380
286152
286153         · 0356b3d56f Backport changes from #45308
286154
286155       · ISSUE  #44107:  (anlutro) salt-ssh 2017.7 doesn't work with Python 3,
286156         missing backports_abc (refs: #45294)
286157
286158       · PR #45294: (gtmanfred) include backports_abc  @  2018-01-11  18:18:16
286159         UTC
286160
286161         · f7da716d32 Merge pull request #45294 from gtmanfred/2017.7
286162
286163         · 3633ceeaa7 Merge branch '2017.7' into 2017.7
286164
286165         · 29806e4496 ignore salt.ext in pylint
286166
286167         · 8b597a4890 include backports_abc
286168
286169       · ISSUE  #43130:  (boltronics)  module.run  documentation issues (refs:
286170         #45381)
286171
286172       · PR #45381: (gtmanfred) fix module.run docs @ 2018-01-11 18:02:38 UTC
286173
286174         · f77a3e9cd4 Merge pull request #45381 from gtmanfred/module.run
286175
286176         · 230e899192 fix module.run docs
286177
286178       · ISSUE #43995: (dragonpaw) Using zmq built with --enable-draft  breaks
286179         Salt (refs: #45368)
286180
286181       · PR   #45368:   (DmitryKuzmenko)   Fixes   to  work  with  pyzmq  with
286182         --enable-drafts @ 2018-01-11 17:53:16 UTC
286183
286184         · 8efd29f4d9   Merge   pull   request   #45368    from    DSRCorpora‐
286185           tion/bugs/zmq_draft
286186
286187         · 7622e355cf Minor: removed a stale comment.
286188
286189         · 00f31bf9b5 Fixes to work with pyzmq with --enable-drafts
286190
286191       · PR  #45371:  (rallytime)  Back-port  #45158  to  2017.7  @ 2018-01-11
286192         17:51:38 UTC
286193
286194         · PR #45158: (terminalmage) Fix integration.modules.test_state.State‐
286195           ModuleTest.test_exclude (refs: #45371)
286196
286197         · 22c3efda06 Merge pull request #45371 from rallytime/bp-45158
286198
286199         · 3565bc2bf2 Don't use include-test SLS in orch tests
286200
286201         · 8bc17e0d7a       Fix       integration.modules.test_state.StateMod‐
286202           uleTest.test_exclude
286203
286204       · PR #45387: (renner)  Set  SHELL  environment  variable  @  2018-01-11
286205         16:23:21 UTC
286206
286207         · PR #40630: (mateiw) develop: SUSE specific changes to salt-api.ser‐
286208           vice (refs: #45387)
286209
286210         · PR #40620:  (mateiw)  SUSE  specific  changes  to  salt-api.service
286211           (refs: #40630, #45387)
286212
286213         · 3a0e2de995 Merge pull request #45387 from renner/patch-2
286214
286215         · 530ddd2d29 Set SHELL environment variable
286216
286217       · PR  #45388:  (terminalmage)  Fix  loader  error  in  2017.7  tests  @
286218         2018-01-11 16:13:53 UTC
286219
286220         · dcf98a2260   Merge   pull    request    #45388    from    terminal‐
286221           mage/fix-test-loader-error
286222
286223         · 5473c085d9 Fix loader error in 2017.7 tests
286224
286225       · PR  #45382:  (terminalmage)  Skip  flaky  test  on  2017.7  branch  @
286226         2018-01-11 14:23:05 UTC
286227
286228         · d15f9e1020 Merge pull request #45382  from  terminalmage/salt-jenk‐
286229           ins-686
286230
286231         · ff3039db6c Skip flaky test on 2017.7 branch
286232
286233       · PR  #45369: (rallytime) [2017.7] Merge forward from 2016.11 to 2017.7
286234         @ 2018-01-10 22:14:05 UTC
286235
286236         · dbe21b2c0d Merge pull request #45369 from rallytime/merge-2017.7
286237
286238         · f65e091df8 Merge branch '2016.11' into '2017.7'
286239
286240           · 0959ae4ea3    Merge    pull    request    #45327    from     lom‐
286241             eroe/bp-44861_2016.11
286242
286243             · 784139f734 Check for values other than 0 or 1
286244
286245           · a6db5f95f0      Merge      pull      request      #45268     from
286246             damon-atkins/2016.11_win_pkg_pkg_install_latest
286247
286248             · 325a9f0f66 Update 2016.11.9.rst
286249
286250             · 4da9200b9c Update 2016.11.9.rst
286251
286252             · 126aee36ac Update 2016.11.9.rst
286253
286254             · 1c01967943 Update 2016.11.9.rst
286255
286256             · a0d89882b8 Fix pkg.install packagename version=latest  i.e.  if
286257               on an old version upgrade to the latest
286258
286259       · PR  #45379:  (rhoths)  Minor  spelling/grammar fixes in the highstate
286260         returner documentation @ 2018-01-10 20:09:52 UTC
286261
286262         · 55979b3a48 Merge pull request #45379  from  rhoths/rhoths-doc-high‐
286263           state-1
286264
286265         · afbbd492cd Minor spelling/grammar fixes in highstate returner
286266
286267       · PR  #45358:  (UtahDave) gate the minion data cache refresh events.  @
286268         2018-01-10 17:21:05 UTC
286269
286270         · PR  #45299:  (garethgreenaway)  [2017.7]  config  gate  auth_events
286271           (refs: #45358)
286272
286273         · 541e59fa75     Merge     pull    request    #45358    from    Utah‐
286274           Dave/gate_data_cache_refresh
286275
286276         · 379b6cd23e should be self, not salt
286277
286278         · a82e158f2d gate the minion data cache refresh events.
286279
286280       · PR #45297: (Ch3LL) Allow macosx service state tests to check for  pid
286281         return @ 2018-01-09 20:47:24 UTC
286282
286283         · fb87010461 Merge pull request #45297 from Ch3LL/mac_service_state
286284
286285         · 4e569b5802 Allow macosx service state tests to check for pid return
286286
286287       · PR  #45351:  (dmurphy18) Update debbuild to explicitly include source
286288         code for Debian, Ubuntu @ 2018-01-09 17:21:51 UTC
286289
286290         · beedf6e815 Merge pull request #45351 from dmurphy18/upd_debbuild
286291
286292         · 478dc70092 Update debbuild flags
286293
286294       · PR #45299: (garethgreenaway) [2017.7] config gate auth_events  (refs:
286295         #45358) @ 2018-01-09 15:00:30 UTC
286296
286297         · 66da9b47bc  Merge  pull  request  #45299  from garethgreenaway/con‐
286298           fig_gate_auth_events
286299
286300         · 9a15ec3430 Updating versionadded string.  Fixing typo.
286301
286302         · edfc3dc078 Adding  in  documention  for  auth_events  configuration
286303           option
286304
286305         · 3ee4eabffd Fixing small typo
286306
286307         · 6a28bddcc9 Adding some code to config gate if auth_events are sent
286308
286309       · PR   #44856:   (Ch3LL)  Add  state.running  ssh  integration  test  @
286310         2018-01-08 21:40:50 UTC
286311
286312         · 8d04c2b3d4 Merge pull request #44856 from Ch3LL/running_test
286313
286314         · 9a35a73711 add time limit to while loop
286315
286316         · aeb5f4e248 Add state.running ssh integration test
286317
286318       · ISSUE      saltstack/salt-jenkins#675:      (rallytime)      [2017.7]
286319         unit.states.test_file.TestFileState.test_directory   is   failing  on
286320         Fedora 27 and CentOS 6 (refs: #45295)
286321
286322       · PR #45295: (gtmanfred) test directory that doesn't exist @ 2018-01-08
286323         20:59:53 UTC
286324
286325         · d0e5e70277 Merge pull request #45295 from gtmanfred/test_directory
286326
286327         · e6178fe6d4 Merge branch '2017.7' into test_directory
286328
286329         · 24114e91c1 test was different slightly on 2017.7
286330
286331         · d20fc93625 test directory that doesn't exist
286332
286333       · ISSUE  saltstack/salt-jenkins#678:  (rallytime) [2017.7] Proxy Minion
286334         Tests for Py3 are failing (refs: #45302)
286335
286336       · PR #45302: (gtmanfred) fix proxy tests for py3 on 2017.7 @ 2018-01-08
286337         17:41:58 UTC
286338
286339         · f49b204b75 Merge pull request #45302 from gtmanfred/proxyp3
286340
286341         · b295ec0429 make dummy proxy module py3 compatible
286342
286343         · 8736e21f65 fix starting proxy minion on py3
286344
286345         · e2824a7253 fix py3 tests
286346
286347       · PR  #45279: (rallytime) [2017.7] Merge forward from 2016.11 to 2017.7
286348         @ 2018-01-08 17:26:49 UTC
286349
286350         · eea7158e82 Merge pull request #45279 from rallytime/merge-2017.7
286351
286352         · 8025b14584 Merge branch '2016.11' into '2017.7'
286353
286354           · 1c5e905b61 Merge pull request #45256 from rallytime/bp-45034
286355
286356             · 68f971b38f Apply test fixes from #45034 to parsers_test.py
286357
286358             · 9454236694 Fix for pidfile removal logging
286359
286360       · PR #44853: (gtmanfred) remove  not  from  vault  utils  @  2018-01-05
286361         17:43:18 UTC
286362
286363         · dab4a8cff3 Merge pull request #44853 from gtmanfred/vault
286364
286365         · bfee1cead6 set role for loading minion config
286366
286367         · c5af2e5048 if utils is not loaded, load it
286368
286369         · 6a5e0f9ac1 remove not from vault utils
286370
286371       · PR  #45277:  (rallytime)  Back-port  #45025  to  2017.7  @ 2018-01-05
286372         15:35:53 UTC
286373
286374         · PR #45025: (steverweber) Fix  pillar  include  merge  order  (refs:
286375           #45277)
286376
286377         · f09d0e5fdb Merge pull request #45277 from rallytime/bp-45025
286378
286379         · 942c14bb29 pillar body overrides includes
286380
286381         · 1152202fdc  fix  pillar  includes from merging over the current sls
286382           defines
286383
286384       · PR #45276:  (rallytime)  Back-port  #45260  to  2017.7  @  2018-01-05
286385         14:45:40 UTC
286386
286387         · PR  #45260:  (gtmanfred)  Make  some kitchen-salt tests blue (refs:
286388           #45276)
286389
286390         · fc84f1104f Merge pull request #45276 from rallytime/bp-45260
286391
286392         · 9ab1af738f switch kitchen-salt to use rsync transport  to  preserve
286393           symlinks
286394
286395         · cf98ed472e fix up symlinks
286396
286397       · ISSUE  #43340:  (syphernl)  Upgrading  Salt via Salt results in dying
286398         minions and broken dpkg (refs: #45255)
286399
286400       · PR #45255:  (rallytime)  Back-port  #44427  to  2017.7  @  2018-01-04
286401         21:46:17 UTC
286402
286403         · PR  #44427:  (samodid) use KillMode=process for salt-minion.service
286404           (refs: #45255)
286405
286406         · ff9880c498 Merge pull request #45255 from rallytime/bp-44427
286407
286408         · 6ceafbbf3a use KillMode=process for salt-minion.service
286409
286410       · ISSUE  #23454:  (HontoNoRoger)  SLS  rendering  error  with  Salt-SSH
286411         (pydsl) (refs: #45251)
286412
286413       · PR  #45251:  (forksaber) Fix #23454 : make pydsl work with salt-ssh @
286414         2018-01-04 21:33:09 UTC
286415
286416         · e715eb603f Merge pull request #45251 from forksaber/salt-ssh-pydsl
286417
286418         · b3660d5190 [#23454] make pydsl work with salt-ssh
286419
286420       · PR #45254: (Ch3LL) Add darwin value for  ssh  grain  items  tests  on
286421         MacOSX @ 2018-01-04 21:31:35 UTC
286422
286423         · 2934b60d53 Merge pull request #45254 from Ch3LL/fix_mac_grain_ssh
286424
286425         · b4b59b89cd remove platform from salt.utils call for 2017.7
286426
286427         · 85e853a63d Add darwin value for ssh grain items tests on MacOSX
286428
286429       · PR  #45135:  (twangboy)  Fix win_dacl problems with SIDs @ 2018-01-04
286430         21:01:48 UTC
286431
286432         · af2d880303 Merge pull request #45135 from twangboy/win_fix_dacl
286433
286434         · b31e08946a Merge branch '2017.7' into win_fix_dacl
286435
286436         · 35a417f510 Fix win_dacl problems with SIDs
286437
286438       · ISSUE #43806: (Ch3LL) Add spm man Test  to  Auto  Test  Suite  (refs:
286439         #44930)
286440
286441       · PR #44930: (frogunder) man_spm_test @ 2018-01-04 20:58:02 UTC
286442
286443         · d0a3770035 Merge pull request #44930 from frogunder/man_spm
286444
286445         · 48e6953e1f fix_string_error
286446
286447         · c9fa4ed2a7 man_spm_test
286448
286449       · PR  #45259:  (Ch3LL)  Fix MacOSX Service Status Check and integration
286450         test @ 2018-01-04 14:25:01 UTC
286451
286452         · 543eebf411  Merge  pull  request  #45259  from   Ch3LL/fix-mac-ser‐
286453           vice-test
286454
286455         · 74e6ed60ea Fix MacOSX Service Status Check and integration test
286456
286457       · PR   #45263:   (sumeetisp)  Updating  python  version  for  2017.7  @
286458         2018-01-04 14:16:26 UTC
286459
286460         · bbbd1872a7 Merge pull request #45263 from sumeetisp/2017.7
286461
286462         · e3a5ee3a08 Merge branch '2017.7' into 2017.7
286463
286464         · 71aea9a3bc       Merge       pull       request       #1       from
286465           sumeetisp/sumeetisp-python-version
286466
286467           · 1b4806e2b9 Updating python version
286468
286469       · PR #45244: (twangboy) Fix search/replace in Py3 @ 2018-01-04 14:02:22
286470         UTC
286471
286472         · d46e1197be Merge pull request #45244  from  twangboy/win_fix_porta‐
286473           ble.py
286474
286475         · e3a8279c01 Get path to python binary based on executable
286476
286477         · 03aec37040 Fix search/replace in Py3
286478
286479       · PR  #45233: (rallytime) [2017.7] Merge forward from 2016.11 to 2017.7
286480         @ 2018-01-03 15:34:00 UTC
286481
286482         · eba360870a Merge pull request #45233 from rallytime/merge-2017.7
286483
286484         · a3d251b2cd Merge branch '2016.11' into '2017.7'
286485
286486           · b75f50afe3 Merge pull request #45235 from rallytime/bp-45209
286487
286488             · 2d0a9bbf7e enable UsePAM for ssh tests
286489
286490         · 5d9a1e91e9 Merge branch '2016.11' into '2017.7'
286491
286492           · 3ab962b01a Merge pull request #44965 from gtmanfred/2016.11
286493
286494             · a5d8a6340e check if VALUE is a string_type
286495
286496           · 40fb30f63f Merge pull request #45232 from rasathus/2016.11
286497
286498             · 7a2bd8f49b Merge branch '2016.11' into 2016.11
286499
286500             · de53c45c29 Backport #27160 to 2016.11
286501
286502       · PR #45175: (amendlik) Pkg uptodate @ 2018-01-02 17:38:36 UTC
286503
286504         · 693cc807e8 Merge pull request #45175 from amendlik/pkg-uptodate
286505
286506         · 4f514a29a7 Merge branch '2017.7' into pkg-uptodate
286507
286508       · PR #45226: (gtmanfred) Update kitchen to  use  runtests  verifier  on
286509         2017.7 @ 2017-12-31 18:13:28 UTC
286510
286511         · 1b3f3ba1be Merge pull request #45226 from gtmanfred/2017.7
286512
286513         · 4f3b089e0e fix copying back
286514
286515         · f56f062a6a download xml for junit
286516
286517         · 7cc342a5d6 use new runtests verifier
286518
286519       · PR  #45221: (rallytime) [2017.7] Merge forward from 2016.11 to 2017.7
286520         @ 2017-12-30 18:08:29 UTC
286521
286522         · 7d3a6cbc65 Merge pull request #45221 from rallytime/merge-2017.7
286523
286524         · 508599e159 Merge branch '2016.11' into '2017.7'
286525
286526         · 707ef55175 Merge pull request #45161 from lomeroe/bp-44944_2016.11
286527
286528           · 0a4c6b5a83 remove references to six.unichr
286529
286530           · f3196d795d lint fixes for static regexes
286531
286532           · 11b637d108 lint fixes
286533
286534           · c14d6282ad do not decode registry.pol file wholesale, but instead
286535             decode individual elements of the file
286536
286537         · 6f52034e08 Merge pull request #45199 from gtmanfred/status
286538
286539           · fb07f9ea7d status.pid returns pid ids not process names
286540
286541       · ISSUE  #45176:  (thuhak)  osquery  execution  module does't work with
286542         attrs parameter (refs: #45204)
286543
286544       · PR #45204: (garethgreenaway) [2017.7] Fixes to osquery module & addi‐
286545         tion of unit tests @ 2017-12-30 13:25:38 UTC
286546
286547         · abed378981    Merge   pull   request   #45204   from   garethgreen‐
286548           away/45176_fixes_to_osquery_module
286549
286550         · dc933e9e24 Fixing typo
286551
286552         · d834bd1b6f Fixing some minor lint issues.
286553
286554         · 4738205154 Fixing a bug  when  attributes  are  passed  to  various
286555           osquery module functions.
286556
286557              · 66884334d9 Update states.pkg for Python3 compatibility
286558
286559              · 2a7d76ad6e  Fail  pkg.uptodate  if  expected  packages are not
286560                upgraded
286561
286562              · 29ef67bac2 Test pkg.uptodate with failed upgrades
286563
286564              · 23ab93353b Produce changes dict for pkg.uptodate dry-run mode
286565
286566              · 7c67ec39d9 Add tests for pkg.uptodate state
286567
286568       · PR #45203: (rallytime) [2017.7] Merge forward from 2016.11 to  2017.7
286569         @ 2017-12-29 01:11:03 UTC
286570
286571         · 5991d8ca15 Merge pull request #45203 from rallytime/merge-2017.7
286572
286573         · 430c913c8c Merge branch '2016.11' into '2017.7'
286574
286575           · d3381e27d0   Merge   pull   request   #45118   from  garethgreen‐
286576             away/44728_nodegroups_seq
286577
286578             · 0ff811de70 Swapping import to be the old path for 2016.11
286579
286580             · b3e2f388f5 Fix to allow nodegroups to include sequences
286581
286582           · f969aca3a3 Merge pull request #45127 from twangboy/win_fix_pkg
286583
286584             · 14639739f2 Fix issue with 1641 return code
286585
286586           · dc357b39f0   Merge    pull    request    #45137    from    twang‐
286587             boy/win_fix_reg_tests
286588
286589             · b6f4ef8d73  Catch correct error type in list_keys and list_val‐
286590               ues
286591
286592           · 0aa1662731 Merge pull request #45130 from rallytime/api-groups
286593
286594             · 2dcc8df845 Resolve groups for salt api
286595
286596           · 7dc3cc4641 Merge pull request #45114 from twangboy/win_fix_pam
286597
286598             · cf5eae1f77 Move pam library load to try/except block
286599
286600       · PR #45201: (rallytime) [2017.7] Check for running on  python3  before
286601         decoding bytes @ 2017-12-28 22:59:14 UTC
286602
286603         · PR #45090: (angeloudy) fix TypeError in python 3 (refs: #45201)
286604
286605         · 882267314f  Merge pull request #45201 from rallytime/fix-jinja-tem‐
286606           plate-test-failure
286607
286608         · b4af3bdff8 Check for running on python3 before decoding bytes
286609
286610       · PR #45200: (rallytime) [2017.7] Fix docstring integration test  fail‐
286611         ure @ 2017-12-28 22:58:34 UTC
286612
286613         · PR #44552: (Da-Juan) pip_state: Check if available upgrades fulfill
286614           version requirements. (refs: #45200)
286615
286616         · 2e18398f12  Merge  pull  request  #45200  from   rallytime/fix-doc‐
286617           string-test-failure
286618
286619         · a26d4795bd [2017.7] Fix docstring integration test failure
286620
286621       · PR  #45186:  (rallytime)  Back-port  #44922  to  2017.7  @ 2017-12-28
286622         19:02:51 UTC
286623
286624         · PR #44922: (dincamihai)  Fix  salt-master  for  old  psutil  (refs:
286625           #45186)
286626
286627         · 67d97303b5 Merge pull request #45186 from rallytime/bp-44922
286628
286629         · 6970fe8103 Fix salt-master for old psutil
286630
286631       · PR  #44624:  (eliasp)  Fix  Traceback  when using the service.enabled
286632         state on non-booted systems @ 2017-12-28 10:58:43 UTC
286633
286634         · 30d7f7257a      Merge      pull      request      #44624       from
286635           eliasp/fix-upstart-utmp-exception
286636
286637         · 43d44e051a  Do  not blindly assume presence of either /var/run/utmp
286638           or /run/utmp, none of both might be available (e.g.  on  non-booted
286639           systems).
286640
286641       · PR  #45183:  (twangboy)  Add libnacl dependency @ 2017-12-27 22:08:32
286642         UTC
286643
286644         · 3832e7b227 Merge pull  request  #45183  from  twangboy/win_add_lib‐
286645           nacl_2017.7
286646
286647         · b46845888d Add libnacl dependency
286648
286649       · ISSUE  #44928: (rcallphin) Duplicating master token when no match for
286650         Minion policy (Vault Module) (refs: #44966)
286651
286652       · PR #44966: (rcallphin) Fix bug with vault runner  creating  token  on
286653         empty policy @ 2017-12-22 20:30:37 UTC
286654
286655         · fbbf33574e     Merge    pull    request    #44966    from    rcall‐
286656           phin/fix-bug-vault-empty-policy
286657
286658         · 7f327ab760 Lint: Remove extra whitespace
286659
286660         · 04ab6a5e9d Merge branch '2017.7' into fix-bug-vault-empty-policy
286661
286662         · 5be463bb46 Merge branch '2017.7' into fix-bug-vault-empty-policy
286663
286664         · 48d9cc3674 Fix bug with vault runner creating token on empty policy
286665
286666       · PR #44552: (Da-Juan) pip_state: Check if available  upgrades  fulfill
286667         version requirements. (refs: #45200) @ 2017-12-22 19:25:17 UTC
286668
286669         · 487207f61d       Merge      pull      request      #44552      from
286670           Da-Juan/avoid_unneeded_pip_install
286671
286672         · 49a6a8f02e Merge branch '2017.7' into avoid_unneeded_pip_install
286673
286674         · 3a8e62493d pip_state: Check if available upgrades  fulfill  version
286675           requirements
286676
286677         · 62252d74d9       pip_state:       Compare       versions      using
286678           pkg_resources.parse_version
286679
286680         · 5219ab974c Add list_all_versions function to pip module
286681
286682       · PR #45090: (angeloudy) fix TypeError in python  3  (refs:  #45201)  @
286683         2017-12-22 18:11:13 UTC
286684
286685         · 5ae26f0c09 Merge pull request #45090 from angeloudy/2017.7
286686
286687         · cf411f8984 Merge branch '2017.7' into 2017.7
286688
286689         · 177fd18671 fix TypeError in python 3
286690
286691       · ISSUE  #44315: (whytewolf) cmd.* cwd does not escape spaces. 2017.7.2
286692         (refs: #45134)
286693
286694       · PR #45134: (garethgreenaway) [2017.7] fix to cmd.script for cwd  with
286695         space @ 2017-12-22 15:31:24 UTC
286696
286697         · a1946730a9    Merge   pull   request   #45134   from   garethgreen‐
286698           away/44315_cmd_script_cwd_with_space
286699
286700         · 48eafe3206 Adding some tests to tests cmd.script with cwd
286701
286702         · 8dfcf71b08 Adding _cmd_quote to handle cases when the current work‐
286703           ing directory for cmd.script might have a space in it.
286704
286705       · PR   #44964:   (Giandom)   added-highstate-output-to-slack-engine   @
286706         2017-12-21 21:32:01 UTC
286707
286708         · f41adfc913    Merge    pull    request    #44964     from     Gian‐
286709           dom/2017.7-added-highstate-output-to-slack-engine
286710
286711         · 4526c158f1 added-highstate-output-to-slack-engine
286712
286713         · 573a0a4143 added-highstate-output-to-slack-engine
286714
286715         · 9a6e03ce6e added-highstate-output-to-slack-engine
286716
286717       · PR #45124: (gtmanfred) enable using kitchen-salt with ec2 on 2017.7 @
286718         2017-12-21 19:11:27 UTC
286719
286720         · b49ee97938 Merge pull request #45124 from gtmanfred/2017.7
286721
286722         · d0586013eb fix pylint
286723
286724         · 59e2e56d13 chmod the xml files before trying to copy
286725
286726         · a5c1410e23 catch IOError when copying xml files back
286727
286728         · 23bd38ad66 enable using kitchen-salt on ec2
286729
286730       · PR #45087: (rallytime) [2017.7] Merge forward from 2016.11 to  2017.7
286731         @ 2017-12-20 22:24:51 UTC
286732
286733         · 42e894570d Merge pull request #45087 from rallytime/merge-2017.7
286734
286735         · fe81e2d39a Merge branch '2016.11' into '2017.7'
286736
286737           · 7e128e8f15 Merge pull request #45100 from rallytime/bp-45070
286738
286739             · 0bdb46dab9 add clouds modules to index
286740
286741           · bdf93f339d Merge pull request #45098 from rallytime/bp-45092
286742
286743             · 80b6bd6813         Fix         integration.states.test_pip.Pip‐
286744               StateTest.test_pip_installed_weird_install
286745
286746         · 4f21a2bbfd Merge branch '2016.11' into '2017.7'
286747
286748           · 324b7d4058   Merge   pull   request   #44078    from    rossenge‐
286749             orgiev/fix-41044
286750
286751             · a81a6fe23c fix #41044; allow for date param to be 0
286752
286753           · 48a59761df  Merge pull request #44970 from rallytime/update-boot‐
286754             strap-script
286755
286756             · b2c8057427  Update  bootstrap   script   to   latest   release:
286757               2017.12.13
286758
286759           · 637fdaed58 Merge pull request #45069 from rallytime/bp-45040
286760
286761             · aa438e1605 Installation Fails on headless machines.
286762
286763           · 4d6d640381 Merge pull request #44969 from rallytime/bp-41305
286764
286765             · 5c4bee43dc correct accept_vpc_peering_connection
286766
286767           · 10de468f13    Merge    pull   request   #45031   from   terminal‐
286768             mage/fix-mysql-returner
286769
286770             · f3bd12c27c Fix invalid exception class in mysql returner
286771
286772           · 9a7406207f Merge pull request #44972 from terminalmage/bp-44958
286773
286774             · a416bf0112 No need to manually do connect_pub, use  listen=True
286775               in run_job
286776
286777             · 3ec004bd2e Fix a race condition in manage runner
286778
286779           · 1032ca3290 Merge pull request #44385 from gtmanfred/schedule
286780
286781             · 9e15c38da2 add comma
286782
286783             · 855d933cb7 schedule should be a dict
286784
286785       · PR  #45112:  (Ch3LL)  Fix  spm  big  file  build test to check /tmp @
286786         2017-12-20 22:09:21 UTC
286787
286788         · 9550e742ac Merge pull request #45112 from Ch3LL/fix-arch
286789
286790         · 1bd7110a14 Fix spm big file build test to check /tmp
286791
286792       · ISSUE #44303: (mwerickso) boto3_route53 module times out  on  retries
286793         (refs: #44976)
286794
286795       · PR  #45068:  (rallytime)  Back-port  #44976  to  2017.7  @ 2017-12-20
286796         16:31:22 UTC
286797
286798         · PR #44976: (tkwilliams) Fix bad variable name in boto3_route53 mod‐
286799           ule - resolves #44303 (refs: #45068)
286800
286801         · 71f9c7ee49 Merge pull request #45068 from rallytime/bp-44976
286802
286803         · 0ca0f37805 44303 - resolves #44303
286804
286805       · ISSUE  #44961: (golmaal) The archive tar function fails to untar file
286806         when dest argument is passed (refs: #44983)
286807
286808       · PR #45099:  (rallytime)  Back-port  #44983  to  2017.7  @  2017-12-20
286809         14:41:22 UTC
286810
286811         · PR  #44983:  (golmaal) Ref:44961 - Modified archive.tar to add dest
286812           at the end of the tar cmd (refs: #45099)
286813
286814         · 54a33c0e1d Merge pull request #45099 from rallytime/bp-44983
286815
286816         · 23361de8a2 Ref:44961 - Modified archive.tar to add dest argument at
286817           the end of the tar cmd.
286818
286819       · ISSUE  #43533:  (Ch3LL) Add status.pid Test to Auto Test Suite (refs:
286820         #44650)
286821
286822       · PR #44650: (frogunder) add status.pid test @ 2017-12-19 16:21:09 UTC
286823
286824         · e0d7b330fa Merge pull request #44650 from frogunder/status
286825
286826         · 904c0da893 Merge branch '2017.7' into status
286827
286828         · 619bd2be1e fix lint error
286829
286830         · d406cb07a3 add status.pid test
286831
286832       · ISSUE #44516: (doesitblend) Windows PY3  Minion  Returns  UTF16  Uni‐
286833         codeError (refs: #45161, #44944)
286834
286835       · PR  #44944:  (lomeroe)  win_lgpo registry.pol encoding updates (refs:
286836         #45161) @ 2017-12-19 14:42:49 UTC
286837
286838         · 422d8b8f1b  Merge  pull  request  #44944  from  lomeroe/update_reg‐
286839           pol_encoding
286840
286841         · 07d04c7bc7 lint fixes for static regexes
286842
286843         · d17c46ce41 lint fixes
286844
286845         · ab8e431729  do  not decode registry.pol file wholesale, but instead
286846           decode individual elements of the file
286847
286848       · PR #44938: (The-Loeki) Libcloud dns fixes @ 2017-12-18 15:47:18 UTC
286849
286850         · d9a4b9681e  Merge   pull   request   #44938   from   The-Loeki/lib‐
286851           cloud_dns_fixes
286852
286853         · 276e8828ae libcloud_dns: pylint fix
286854
286855         · c994423286 Merge branch '2017.7' into libcloud_dns_fixes
286856
286857       · PR  #44951: (rallytime) [2017.7] Merge forward from 2016.11 to 2017.7
286858         @ 2017-12-16 13:16:24 UTC
286859
286860         · 5137be01ec Merge pull request #44951 from rallytime/merge-2017.7
286861
286862         · a0d2dd2069 Lint fix
286863
286864         · 9db4179462 Merge branch '2016.11' into '2017.7'
286865
286866           · 68d901b12c Merge pull request #44770 from cruscio/2016.11
286867
286868             · e2682bf441 Fix minion ping_interval documentation
286869
286870           · d4ab55ec47 Merge pull request #44335 from gtmanfred/2016.11
286871
286872             · 3f1268d67f fix patching for python 2.6
286873
286874             · 1d0bd5bb32 Merge branch '2016.11' into 2016.11
286875
286876             · f02b02032d Merge pull request #4 from terminalmage/pr-44335
286877
286878               · b4eb1527a6 Add test for PR 44335
286879
286880             · a30af3252e add docker-ce to docker subtype grains check
286881
286882       · PR  #44995:  (twangboy)  Fix  unit.modules.test_file  for  Windows  @
286883         2017-12-15 17:05:49 UTC
286884
286885         · 698b04779e  Merge pull request #44995 from twangboy/win_fix_atomic‐
286886           file
286887
286888         · 8316481944 Comment the salt import
286889
286890         · fe34f0c877 Set owner properly on Windows
286891
286892       · ISSUE #44934: (vernondcole) http.wait_for_successful_query  does  not
286893         pause for documented intervals (refs: #44968)
286894
286895       · PR  #44968: (gtmanfred) fix http wait for state @ 2017-12-14 20:06:01
286896         UTC
286897
286898         · 2e1a57b9bc Merge pull request #44968 from gtmanfred/http
286899
286900         · ca6936f6eb fix http wait for state
286901
286902              · c72db283d5 libcloud_dns: Further fixes to state output, pylint
286903                fixes
286904
286905              · e9bbc23b11 Merge branch '2017.7' into libcloud_dns_fixes
286906
286907       · ISSUE  #44811:  (xuhcc)  rbenv.installed  fails  when rbenv installed
286908         globally (refs: #44900)
286909
286910       · PR #44900: (xuhcc) Fix TypeError during rbenv ruby installation  when
286911         rbenv is not found @ 2017-12-14 17:37:14 UTC
286912
286913         · c4f0894689 Merge pull request #44900 from xuhcc/rbenv-ret-fix
286914
286915         · fdd8310c31 Merge branch '2017.7' into rbenv-ret-fix
286916
286917         · bfd0972d25  Fix TypeError during rbenv ruby installation when rbenv
286918           is not found
286919
286920       · PR #44974: (twangboy) Skip test_log_created on Windows  @  2017-12-14
286921         13:59:25 UTC
286922
286923         · f0c2cf3cec     Merge    pull    request    #44974    from    twang‐
286924           boy/win_skip_test_parsers
286925
286926         · 40665d7b08 Skip test_log_created on Windows
286927
286928       · ISSUE #44820: (msteed) Custom returner breaks  manage  runner  (refs:
286929         #44958)
286930
286931       · PR  #44958:  (terminalmage)  Fix  a  race  condition in manage runner
286932         (refs: #44972) @ 2017-12-13 15:20:36 UTC
286933
286934         · dad2d723ca Merge pull request #44958 from terminalmage/issue44820
286935
286936         · ef749abfc6 No need to manually do connect_pub, use  listen=True  in
286937           run_job
286938
286939         · 2ac70cfab5 Fix a race condition in manage runner
286940
286941       · PR #44956: (terminalmage) Avoid traceback when bogus value in pidfile
286942         @ 2017-12-13 14:30:12 UTC
286943
286944         · db58345abb Merge pull request #44956 from terminalmage/fix-get_pid‐
286945           file
286946
286947         · d66f3a98d7 Avoid traceback when bogus value in pidfile
286948
286949       · ISSUE #44932: (knine) ACLs Not Completely Verified (refs: #44945)
286950
286951       · PR  #44945:  (gtmanfred)  Fix handling of effective acls @ 2017-12-12
286952         21:49:34 UTC
286953
286954         · e8e3b3c8ff Merge pull request #44945 from gtmanfred/2017.7
286955
286956         · 66bb755751 add test for effective acls
286957
286958         · 0ff52a93dd use last entry in acl
286959
286960       · PR  #44942:  (rallytime)  Update  README  with  SaltConf18   info   @
286961         2017-12-12 21:47:23 UTC
286962
286963         · 47dc7b7afb  Merge  pull  request #44942 from rallytime/readme-salt‐
286964           conf-update
286965
286966         · d1317c44e2 Update README with SaltConf18 info
286967
286968       · ISSUE #44665: (mvivaldi) Documentation of salt renders  jinja  (refs:
286969         #44943, #44895)
286970
286971       · PR  #44943:  (mvivaldi)  Fix for the jinja documentation @ 2017-12-12
286972         20:20:41 UTC
286973
286974         · 7572982419 Merge pull request #44943 from mvivaldi/filters-doc
286975
286976         · d23ac4eabc Fix for the jinja documentation
286977
286978       · ISSUE #43417: (damon-atkins)  win_pkg:   pkg.install  and  pkg.remove
286979         general issues (refs: #44832, #43708)
286980
286981       · PR  #44832:  (damon-atkins)  win_pkg: Merge full copy of 2016.11 with
286982         many fixes and improvements to 2017.7 @ 2017-12-12 18:30:06 UTC
286983
286984         · 465cacad83      Merge      pull      request      #44832       from
286985           damon-atkins/2017.7_replace_with_newer_2016.11_win_pkg
286986
286987         · a4f0b41ba2  Should be a smaller change set since recent update from
286988           2016.11
286989
286990         · 695334b201 Merge branch '2017.7_replace_with_newer_2016.11_win_pkg'
286991           of                 github.com:damon-atkins/salt                into
286992           2017.7_replace_with_newer_2016.11_win_pkg
286993
286994           · 843e204582        Merge        branch        '2017.7'        into
286995             2017.7_replace_with_newer_2016.11_win_pkg
286996
286997         · 4b60b1ec84  Merge remote branch 'refs/remotes/upstream/2017.7' into
286998           2017.7_replace_with_newer_2016.11_win_pkg
286999
287000         · b46f818a57 Raise a PR to  fix  2016  issues  commited  here,  fixed
287001           issues with merge.
287002
287003         · 32ef1e12ae         Merge         branch        '2017.7'        into
287004           2017.7_replace_with_newer_2016.11_win_pkg
287005
287006         · 494835c3f2 I backported develop and applied a long list of fixes to
287007           2016.11  this  brings  these  fixes  into 2017.7 - Software was not
287008           always being removed, general if & was in the  string  or  msi  was
287009           downloaded  to  uninstall  the software - pkg.list_upgrades failed.
287010           Added support for 'latest' and 'Not Found' for version_cmp() to fix
287011           this.  -  output  fixes  -  pkg.list_available  no  longer forces a
287012           pkg.refresh_db this is no longer required, as by  default  it  will
287013           update  if  older than 6 hours - cmd /s /c is prefixed for all com‐
287014           mands i.e. installs and removes. - cmd are now strings, instead  of
287015           a  list  when  using cmd.run. As windows only supports strings. And
287016           the " were being broken
287017
287018       · PR #44754: (twangboy) Fix inet_pton for Windows on Py3  @  2017-12-12
287019         14:04:20 UTC
287020
287021         · a811a92b17     Merge    pull    request    #44754    from    twang‐
287022           boy/win_fix_inet_pton
287023
287024         · 25a20109fe Merge branch '2017.7' into win_fix_inet_pton
287025
287026         · 849b99eb34 Merge branch '2017.7' into win_fix_inet_pton
287027
287028         · df1e6a202b Use salt.ext.six
287029
287030         · 5ac8112585 Use six to ensure unicode value
287031
287032         · 9b5d8c421b Handle unicode values
287033
287034       · PR #44931: (pkruk) add missing parenthis  to  keep  integration  with
287035         python3 @ 2017-12-12 13:49:39 UTC
287036
287037         · 53b34e24cd  Merge pull request #44931 from pkruk/fix-missing-paren‐
287038           this
287039
287040         · b1ed739b44 Merge branch '2017.7' into fix-missing-parenthis
287041
287042         · 4f1b1f12d2     Merge     branch     'fix-missing-parenthis'      of
287043           https://github.com/pkruk/salt into fix-missing-parenthis
287044
287045           · 3475d3fa01 add missing parenthis to keep integration with python3
287046
287047         · adf38cacfb add missing parenthis to keep integration with python3
287048
287049              · ad55e33f57 libcloud_dns: fix state output
287050
287051              · a68d594e3a libcloud_dns: copy args before deleting from them
287052
287053       · PR  #44891:  (twangboy) Fix issue with unsafe path in Windows jenkins
287054         tests @ 2017-12-11 21:10:43 UTC
287055
287056         · ba6146250a Merge pull request #44891 from twangboy/win_fix_verify
287057
287058         · 7232579167 Allow test suite file_roots as a safe path
287059
287060       · PR #44921: (Ch3LL)  Add test  to  ensure  log  files  are  created  @
287061         2017-12-11 18:24:16 UTC
287062
287063         · 85160fd297 Merge pull request #44921 from Ch3LL/log_test
287064
287065         · 3bb58fb577 skip salt-key log creation test
287066
287067         · 6a379195bc Add test to ensure log files are created
287068
287069       · PR  #44787: (rallytime) GroupAdd test: Add destructive test decorator
287070         to entire class @ 2017-12-11 18:14:18 UTC
287071
287072         · 54d29a61cb    Merge    pull    request    #44787    from     rally‐
287073           time/groupadd-destructive-clean
287074
287075         · 817ac002b0 Add destructive test decorator to test class
287076
287077       · ISSUE  #44665:  (mvivaldi) Documentation of salt renders jinja (refs:
287078         #44943, #44895)
287079
287080       · PR #44895: (mvivaldi) Jinja Filters doc @ 2017-12-11 15:32:07 UTC
287081
287082         · 0292e3612a Merge pull request #44895 from mvivaldi/filters-doc
287083
287084         · 62409d608a Added Escape Filters and Set  Theory  Filters  in  jinja
287085           documentation
287086
287087       · PR  #44879: (rallytime) [2017.7] Merge forward from 2016.11 to 2017.7
287088         @ 2017-12-10 16:53:44 UTC
287089
287090         · PR #44855: (rallytime)  [2017.7]  Merge  forward  from  2016.11  to
287091           2017.7 (refs: #44879)
287092
287093         · df28f312ac Merge pull request #44879 from rallytime/merge-2017.7
287094
287095         · 23c5a4ca3e Merge branch '2016.11' into '2017.7'
287096
287097           · bb1f8dceaf    Merge    pull    request    #44579    from   roald‐
287098             nefs/fix-cron-identifier
287099
287100             · df73a4c051 Merge branch '2016.11' into fix-cron-identifier
287101
287102           · af0131fa1f     Merge      pull      request      #44852      from
287103             damon-atkins/2016.11_win_pkg_typo_n_fix
287104
287105             · 0e7c19084f Lint: Remove extra whitespace
287106
287107             · 7c7e21f94d Fix spelling typo, and fix backwards campatible min‐
287108               ion option for repo location
287109
287110           · 88c0d66b4e Merge pull request #44794 from terminalmage/issue44365
287111
287112             · 3b8b6f25e6 Remove debugging line
287113
287114             · 153bf45b03 Fix regression in file.managed when source_hash used
287115               with local file
287116
287117           · c8bb9dfbbb  Merge  pull  request  #44738 from rallytime/bump-oxy‐
287118             gen-warnings
287119
287120             · ead3c569e1 Bump deprecation warnings from Oxygen to Fluorine
287121
287122           · 88e3aab00d Merge pull request #44741 from gtmanfred/rhip
287123
287124             · 439dc8dce6 if gateway is not specified use iface
287125
287126               · 3ec4329307 Merge branch '2016.11' into fix-cron-identifier
287127
287128               · 99fa05a456 Fix for bug in cron state
287129
287130               · 97328faeac Fix for bug in cron module
287131
287132       · PR #44880: (UtahDave) Determine windows  hardware  arch  correctly  @
287133         2017-12-08 22:24:09 UTC
287134
287135         · 8e14bc3941 Merge pull request #44880 from UtahDave/2017.7local
287136
287137         · 6e3c7ac1ac Merge branch '2017.7' into 2017.7local
287138
287139       · PR  #44861: (twangboy) Fix win_lgpo for unknown values (refs: #45327)
287140         @ 2017-12-08 18:52:05 UTC
287141
287142         · dc51174670    Merge    pull    request    #44861    from     twang‐
287143           boy/win_fix_lgpo_invalid_value
287144
287145         · 89f65e19ff Check for values other than 0 or 1
287146
287147       · PR  #44621:  (isbm)  Bugfix:  errors in external pillar causes crash,
287148         instead of report of them @ 2017-12-08 18:46:56 UTC
287149
287150         · f5a143f8c5      Merge      pull      request      #44621       from
287151           isbm/isbm-bsc1068446-2017.7
287152
287153         · 0d2675c4fe Use variable, instead of direct value
287154
287155         · 1ddc47da0a  Add unit test for _get_pillar_errors when external pil‐
287156           lar is clean and internal contains errors
287157
287158         · 68480d5dc9 Add unit test for _get_pillar_errors when both  external
287159           and internal pillars contains errors
287160
287161         · 218a59e93b  Add unit test for _get_pillar_errors when external pil‐
287162           lar has errors and internal is clean
287163
287164         · 3ce19356c2 Add unit test for _get_pillar_errors when  external  and
287165           internal pillars are clean
287166
287167         · 67034139d9 Fix unit test: wrong error types in side effect
287168
287169         · d9359bca13  Bugfix: unit test mistakenly expects pillar errors as a
287170           string, while it is a list
287171
287172         · 8c2bdc696b Bugfix: do not pull '_errors' from unchecked objects
287173
287174         · d5e30999c7  Remove  unused  variable  (no  exception,  within   the
287175           try/finally block)
287176
287177         · aad668d559 Fix and clarify docstring.
287178
287179         · c2c47e4e71 Rename function from ambiguous name
287180
287181         · 265de8e61c  Bugfix  the logic according to the exact described pur‐
287182           pose of the function.
287183
287184              · dae9c6aa5c Determine windows hardware arch correctly
287185
287186       · PR #43379: (twangboy) Fix file.managed on Windows  with  test=True  @
287187         2017-12-07 21:10:43 UTC
287188
287189         · abe089ad54     Merge    pull    request    #43379    from    twang‐
287190           boy/win_fix_file.managed
287191
287192         · edcd581ca5 Merge branch '2017.7' into win_fix_file.managed
287193
287194         · a27bb6993a Fix py3 error
287195
287196         · 0ff9fa498a Fix test_directory
287197
287198         · 187bc1e61e Add back the try/finally blocks
287199
287200         · d7241d004f Fix 2 more tests
287201
287202         · d5dd42aebe Fix integration tests for Windows
287203
287204         · d56bc9aae9 Fix typo
287205
287206         · af5565859e Use file functions for symlink and remove
287207
287208         · 72ac59c991 Fix some more integration tests for Linux
287209
287210         · 3f0499cbc4 Fix some integration tests
287211
287212         · a24b964ea5 Fix unit test to handle new Exception
287213
287214         · e3c3845f73 Raise CommandExecutionError when file doesn't exist
287215
287216         · 4602f499a2 Remove loader module mixin, add linux paths
287217
287218         · 99b27c037f Add tests to avoid future regression
287219
287220         · 5c215ed8c2 Fix documentation formatting
287221
287222         · 6a4e77e4b9 Return empty or unmodified dict on file not found
287223
287224       · ISSUE #44565: (arthurlogilab) NameError: global name  '__jid_event__'
287225         is not defined when running a runner in the scheduler (refs: #44570)
287226
287227       · PR  #44570: (gtmanfred) Include client mixin globals in scheduler for
287228         runner modules @ 2017-12-07 20:23:33 UTC
287229
287230         · cf4cbcd340 Merge pull request #44570 from gtmanfred/2017.7
287231
287232         · 7b17f9f63c Merge branch '2017.7' into 2017.7
287233
287234       · PR #44494: (skizunov) Fix  broken  beacons_before_connect  feature  @
287235         2017-12-07 18:24:49 UTC
287236
287237         · PR #38289: (skizunov) Add config options for running beacons/sched‐
287238           uler before connect (refs: #44494)
287239
287240         · febb913743 Merge pull request #44494 from skizunov/develop2
287241
287242         · 7adcfbf8ec Merge branch '2017.7' into develop2
287243
287244       · ISSUE #44298: (skjaro) ipset state check problem (refs: #44356)
287245
287246       · ISSUE #39552: (Xiami2012) ipset.check new implementation by  @lingonl
287247         has countless critical bugs (refs: #44356)
287248
287249       · PR  #44512:  (rallytime)  Back-port  #44356  to  2017.7  @ 2017-12-07
287250         14:44:50 UTC
287251
287252         · PR #44356: (skjaro) Fix ipset state with multiple entries and  sub‐
287253           types separated with comma (refs: #44512)
287254
287255         · 284a817565 Merge pull request #44512 from rallytime/bp-44356
287256
287257         · 6f92c71834 Merge branch '2017.7' into bp-44356
287258
287259         · 9a325146df Fix lint violation
287260
287261         · 5aac729855  Fix check multiple entries with subtypes separated with
287262           comma
287263
287264       · PR #44748: (twangboy) Fix auto login support  for  OSX  @  2017-12-07
287265         14:22:23 UTC
287266
287267         · 74ee7ce541     Merge    pull    request    #44748    from    twang‐
287268           boy/osx_fix_auto_login
287269
287270         · 068e463870 Fix lint, add integration tests
287271
287272         · 3df886df75 Fix lint, add gtmanfreds change
287273
287274         · 16cb24614f Add kcpassword functionality
287275
287276       · PR #44842: (twangboy) Win fix lgpo unicode on Py3 issue @  2017-12-07
287277         14:21:14 UTC
287278
287279         · b60cca174c Merge pull request #44842 from twangboy/win_fix_lgpo
287280
287281         · efe77999d1 Gate log.debug statement behind successful pop
287282
287283         · 1c0ec79cd1 Fix py3 issue
287284
287285       · PR  #44843:  (twangboy)  Fix  2  typos  in  lgpo  module @ 2017-12-06
287286         17:56:44 UTC
287287
287288         · bb58e2fec0    Merge    pull    request    #44843    from     twang‐
287289           boy/win_fix_lgpo_typo
287290
287291         · c8f93e6dd7 Fix 2 types, shorten line lengths for spellchecking
287292
287293       · PR #44827: (mz-bmcqueen) add more clone options to virtualbox and add
287294         better dhcp handling @ 2017-12-06 15:02:23 UTC
287295
287296         · d6c37ea19c Merge pull request #44827 from mz-bmcqueen/2017.7
287297
287298         · 4ead3014b7 Merge branch '2017.7' into 2017.7
287299
287300         · b7ce154014         Merge         branch         '2017.7'         of
287301           https://github.com/mz-bmcqueen/salt into 2017.7
287302
287303           · 2f80f431b3 Merge branch '2017.7' into 2017.7
287304
287305         · c2018c9021 fix pylint complaints
287306
287307         · c38ff74261 add more clone options to virtualbox and add better dhcp
287308           handling
287309
287310       · PR #44824: (Ch3LL)  Add  spm  -y  and  -f  arg  integration  tests  @
287311         2017-12-05 21:49:32 UTC
287312
287313         · 019169ed61 Merge pull request #44824 from Ch3LL/spm_args
287314
287315         · d8f81d2e4d fix pylint
287316
287317         · 61ac5cf157 Add spm -y and -f arg integration tests
287318
287319       · PR  #44742:  (Ch3LL)  Add salt-cloud action rename integration test @
287320         2017-12-05 17:44:50 UTC
287321
287322         · 59b930668c Merge pull request #44742 from Ch3LL/cloud_action_test
287323
287324         · 951d09ca2f remove unnecessary try/except block
287325
287326         · c329ced7ee Add salt-cloud action rename integration test
287327
287328       · ISSUE #42676: (mind-code) Changes  in  Pillar  defined  Beacons  only
287329         apply after Minion restart (refs: #44771)
287330
287331       · PR   #44771:   (garethgreenaway)   [2017.7]  Back  porting  #44071  @
287332         2017-12-05 17:16:06 UTC
287333
287334         · PR #44071: (garethgreenaway) [develop]  Various  fixes  to  beacons
287335           (refs: #44771)
287336
287337         · 10442d9211    Merge   pull   request   #44771   from   garethgreen‐
287338           away/42676_backport_44071
287339
287340         · ec2a8b2032 Merge branch '2017.7' into 42676_backport_44071
287341
287342         · 180971203e Updating minion to respond to list_available events  for
287343           beacons
287344
287345         · db6fcefe62  Adding list_available which is used by the add function
287346           to verify that a becaon exists.
287347
287348         · e9e0318bc6 Backporting fixes related to having  beacons  in  pillar
287349           from #44071
287350
287351       · PR  #44784: (rallytime) [2017.7] Merge forward from 2016.11 to 2017.7
287352         @ 2017-12-05 17:13:49 UTC
287353
287354         · PR #44732: (rallytime)  [2017.7]  Merge  forward  from  2016.11  to
287355           2017.7 (refs: #44784)
287356
287357         · 23d151b40a Merge pull request #44784 from rallytime/merge-2017.7-1
287358
287359         · 3d9eafc4bd Lint: Remove extra empty lines at end of files
287360
287361         · 239f3511bf Merge branch '2016.11' into '2017.7'
287362
287363           · 97e0cf569c Merge pull request #44699 from jfindlay/attr_file
287364
287365             · 9e5a40ea7c Merge branch '2016.11' into attr_file
287366
287367             · 5c34607f6c utils/files remove temp file upon move failure
287368
287369           · 7434e0afdf Merge pull request #44714 from rallytime/fix-44556
287370
287371             · 1bbe1abeb2  Allow  --static  option  to display state runs with
287372               highstate output
287373
287374           · 998d714ee7  Merge  pull  request   #44517   from   whytewolf/pub‐
287375             lish_port_doc_missing
287376
287377             · 4b5855283a  missed  one place where i didnt chanbge master_port
287378               from my copy to publish_port
287379
287380             · e4610baea5 update doc to have publish port
287381
287382           · 6169b52749 Merge pull request #41279 from Ch3LL/add_grain_tests
287383
287384             · 1b64f15692 Merge branch '2016.11' into add_grain_tests
287385
287386           · dc6de050a9 Merge pull request #44563 from creideiki/pgjsonb-time‐
287387             stamps-44544
287388
287389             · 231e412ca4 Merge branch '2016.11' into pgjsonb-timestamps-44544
287390
287391           · 4369df020b Merge pull request #44602 from rallytime/fix-44601
287392
287393             · ff303fd060  Handle  timeout_monitor/TimeoutError issues for new
287394               versions of CherryPy
287395
287396           · 4a4756fc37 Merge pull request #44604 from lorengordon/doc-exclude
287397
287398             · c4a6c40eb3 Documents the exclude argument  in  state  execution
287399               module
287400
287401             · 15c445e6b9 Send Unix timestamps to database in pgjsonb
287402
287403             · 095f1b7d7a Merge branch '2016.11' into add_grain_tests
287404
287405           · 91d46d4cfc Merge pull request #44434 from whytewolf/1837
287406
287407             · d148e39dda change from md to rst for code reference
287408
287409             · 955e305bda fix bad english, as requested by cachedout
287410
287411             · 7256fcc1c9 update note to take into account grains_cache
287412
287413             · 7a2981585e Merge branch '2016.11' into 1837
287414
287415             · aca0405b26  add  a  note  that  describes  grain  rebuilding on
287416               restart and refresh
287417
287418                  · 9ea4db4224 mock socket.getaddrinfo
287419
287420                  · 78a07e30f4 add more fqdn tests  and  remove  some  of  the
287421                    mocking
287422
287423                  · 5dbf4144ce add ipv6 in opts
287424
287425                  · eabc1b4f9c Add fqdn and dns core grain tests
287426
287427           · a3bd99317f    Merge    pull    request    #44321    from    gven‐
287428             gel/fix-file-line-diff-output
287429
287430             · 69a50204a6 Add newline for lint.
287431
287432             · ef7b6bbb81 Fixed issue with file.line on Windows running Python
287433               2.
287434
287435             · 8f89c99fa5  Fix  FileModuleTest  setUp  and tearDown to work on
287436               Windows.
287437
287438             · 3ac5391f5f Namespace missing functions for  file.line  on  Win‐
287439               dows.
287440
287441             · b2b8f075b9 Fixed test to work on Windows.
287442
287443             · 5a5a2dd026 Added integration test for issue #41474
287444
287445             · 24d7315f1a Fix file.line diff formatting.
287446
287447           · 9ca563718d      Merge      pull      request      #43708     from
287448             damon-atkins/2016.11_43417_Backport_and_Fixes
287449
287450             · 04d03ea6b8 Updated comment
287451
287452             · 1dd565e585  Merge   remote   branch   'upstream/2016.11'   into
287453               2016.11_43417_Backport_and_Fixes
287454
287455             · dd48ba2616   Merge   remote   branch   'upstream/2016.11'  into
287456               2016.11_43417_Backport_and_Fixes
287457
287458             · a0d08598bf dco fix
287459
287460             · 9467899fc6  Merge   remote   branch   'upstream/2016.11'   into
287461               2016.11_43417_Backport_and_Fixes
287462
287463             · 6dc180fd0e doco fixes
287464
287465             · 2496a42ea4 lint fix
287466
287467             · 2c937fbe19   Merge   remote   branch   'upstream/2016.11'  into
287468               2016.11_43417_Backport_and_Fixes
287469
287470             · c9c8c48a4d all remove/install commands are passed to cmd.exe /s
287471               /c and commands are passed as strings to cmdmod
287472
287473             · 350244bd93 typo in comments and doc strings.
287474
287475             · ec31f5a9bd  2017.11/develop version() was ignoring saltenv set‐
287476               ting.
287477
287478             · b314549a32 Backport of devlop to 2016.11  with  additional  bug
287479               fixes
287480
287481           · 68ea22188e Merge pull request #44477 from rallytime/bp-44424
287482
287483             · 4a9f8dcc96 Fix #44423: Handle index=None and index=0 distinctly
287484
287485           · 2c89050a24 Merge pull request #44483 from terminalmage/issue44034
287486
287487             · a9db8becea salt-call: account for instances where __pillar__ is
287488               empty
287489
287490           · b5c2028680   Merge    pull    request    #44489    from    whyte‐
287491             wolf/1956_log-granular-levels
287492
287493             · 9cdeb4e903 update log-granular-levels to describe what they are
287494               filtering on
287495
287496           · ea07f9c54c Merge pull request #44193 from twangboy/win_fix_reg
287497
287498             · 44d6d9f46d Remove unused import (lint)
287499
287500             · f7502436bd Fix various issues
287501
287502             · 221e6e3b91 make salt.utils.to_unicode return none  when  passed
287503               none
287504
287505             · ce41acc788 Fix many issues with reg.py
287506
287507             · 4a19df1f7f Use six.text_type instead of str
287508
287509             · 1b12acd303 Check type before casting
287510
287511             · 03fa37b445 Cast vdata to it's proper type
287512
287513           · ed8da2450b      Merge      pull      request      #43863     from
287514             nicholasmhughes/fix-atomicfile-permission-copy
287515
287516             · ea852ec5d3 remove index use with stat module attributes
287517
287518             · dbeeb0e917 fixes #38452 atomicfile only  copies  mode  and  not
287519               user/group perms
287520
287521       · PR  #44788:  (kris-anderson)  Example  yaml  of influxdb_user state @
287522         2017-12-04 14:28:45 UTC
287523
287524         · 4643a112e7  Merge  pull  request  #44788  from  kris-anderson/exam‐
287525           ple-yaml-of-influxdb-user-state
287526
287527         · afd23d058c converted yaml example to use 2 spaces
287528
287529         · 29e410c1ea  added  a  code-block  example of how the yaml should be
287530           formatted
287531
287532       · ISSUE #42713: (boltronics) 2017.7.0 master upgrade breaks  mine  data
287533         on non-glob matching on minions (refs: #44735)
287534
287535       · PR  #44735: (gracinet) Backported issue #42713 to 2017.7 @ 2017-12-04
287536         01:43:23 UTC
287537
287538         · 4ebac09f60 Merge  pull  request  #44735  from  gracinet/42713_back‐
287539           port_2017.7
287540
287541         · 6806d83314 Merge branch '2017.7' into 42713_backport_2017.7
287542
287543         · fb586c6dce Backported issue #42713 to 2017.7
287544
287545       · PR  #44766:  (twangboy)  Fix  unit.utils.test_process  for  Windows @
287546         2017-12-02 13:15:53 UTC
287547
287548         · 06ce7b7328    Merge    pull    request    #44766    from     twang‐
287549           boy/win_fix_test_process
287550
287551         · a5737e8fc3 Fix lint errors
287552
287553         · be96de09cc Fix pickling error by decorating
287554
287555       · ISSUE  #44083:  (ari)  timezone.system  fails  when /etc/localtime is
287556         missing on FreeBSD (refs: #44605)
287557
287558       · PR #44716:  (rallytime)  Back-port  #44605  to  2017.7  @  2017-12-01
287559         23:12:24 UTC
287560
287561         · PR   #44605:   (campbellmc)  Add  handling  for  FreeBSD  in  time‐
287562           zone.zone_compare (refs: #44716)
287563
287564         · f8b8a8966d Merge pull request #44716 from rallytime/bp-44605
287565
287566         · 9d43221422 Correct indentation
287567
287568         · d6e28ebed1 Add handling for FreeBSD in method zone_compare to avoid
287569           exception  when  /etc/localtime file does is absent.  This is valid
287570           configuration on FreeBSD and represents UTC.
287571
287572       · ISSUE #41869:  (mirceaulinic)  Thorium:  unable  to  execute  runners
287573         (refs: #44781)
287574
287575       · PR  #44781:  (mirceaulinic)  Correct  the thorium runner @ 2017-12-01
287576         22:55:52 UTC
287577
287578         · 8ed6287762  Merge  pull   request   #44781   from   cloudflare/tho‐
287579           rium-fix-41869
287580
287581         · 83c73a69cb Instance the Runner class instead of the RunnerClient as
287582           we're running on the Master
287583
287584         · b72b7c5402 Correct the thorium runner
287585
287586       · PR  #44466:  (twangboy)  Fix  unit.modules.test_disk  for  Windows  @
287587         2017-12-01 22:31:42 UTC
287588
287589         · 52596be102     Merge    pull    request    #44466    from    twang‐
287590           boy/win_fix_test_disk
287591
287592         · 5615862f23 Fix some lint
287593
287594         · 627d5ab0c9 Mock salt.utils.which
287595
287596         · e5a96fe00f Skip test_fstype on Windows
287597
287598       · ISSUE #42763: (xuhcc) acme.cert state falsely reports  about  renewed
287599         certificate (refs: #44667)
287600
287601       · PR  #44719:  (rallytime)  Back-port  #44667  to  2017.7  @ 2017-12-01
287602         15:20:49 UTC
287603
287604         · PR #44667: (oarmstrong) Fix acme.cert to run  certbot  non-interac‐
287605           tively (refs: #44719)
287606
287607         · b9ad4bba2d Merge pull request #44719 from rallytime/bp-44667
287608
287609         · 3d85a260c4 Fix acme.cert to run certbot non-interactively
287610
287611       · ISSUE  #44744:  (brmzkw)  roster_defaults  breaks  salt-ssh  globbing
287612         (refs: #44747)
287613
287614       · PR #44747: (gtmanfred) use a copy so roster_defaults doesn't mangle @
287615         2017-12-01 15:13:48 UTC
287616
287617         · d23192c492 Merge pull request #44747 from gtmanfred/roster_defaults
287618
287619         · 911411ed8f add unit test
287620
287621         · eefcfc719c use a copy so roster_defaults doesn't mangle
287622
287623       · ISSUE  #44694:  (thuhak)  state  module  at.absent does't work (refs:
287624         #44717)
287625
287626       · PR #44717: (garethgreenaway) [2017.7] Fixes to at module @ 2017-12-01
287627         14:37:05 UTC
287628
287629         · 20f20ad9e1    Merge   pull   request   #44717   from   garethgreen‐
287630           away/44694_at_absent_failing_to_find_jobs
287631
287632         · 1f2b3c5f46  Merge  branch   '2017.7'   into   44694_at_absent_fail‐
287633           ing_to_find_jobs
287634
287635         · 3bb385b44e removing debugging logging
287636
287637         · 7f0ff5a8b0  When  passing  IDs on the command line convert them all
287638           the strings for later comparision.
287639
287640         · 99e436add4 When looking for job ids to remove based on the tag_name
287641           the  comparision  was comparing an INT to a STR, so the correct job
287642           id was not being returned.
287643
287644       · ISSUE #44136: (dupsatou) KeyError: 'runas' after updating  to  latest
287645         salt in yum repo. (refs: #44695)
287646
287647       · PR  #44695:  (gtmanfred)  pop  None  for  runas  and runas_password @
287648         2017-12-01 14:35:01 UTC
287649
287650         · 6e61aa787f Merge pull request #44695 from gtmanfred/pop
287651
287652         · 0efb90b6f7 Merge branch '2017.7' into pop
287653
287654       · PR #44725: (whytewolf) document note suggesting  systemd-run  --scope
287655         with cmd.run_bg @ 2017-11-30 19:18:06 UTC
287656
287657         · 20391c54c0     Merge    pull    request    #44725    from    whyte‐
287658           wolf/1919_cmd.run_no_daemons
287659
287660         · 4b11f8d66d add quick documentation suggesting  systemd-run  --scope
287661           if using cmd.run_bg with systemd
287662
287663       · ISSUE  #42300:  (mirceaulinic)  Grains state doesn't work (fine) with
287664         proxy minions (refs: #44760)
287665
287666       · ISSUE #42074: (mirceaulinic) How to configure static grains for proxy
287667         minions (refs: #44549)
287668
287669       · PR  #44760:  (mirceaulinic) Fix the grains.setvals execution function
287670         when working with proxy minions @ 2017-11-30 18:27:02 UTC
287671
287672         · PR #44549: (mirceaulinic) Allow proxy minions to load static grains
287673           (refs: #44760)
287674
287675         · 85451ae977     Merge    pull    request    #44760    from    cloud‐
287676           flare/px-grains-set-42300
287677
287678         · 655139d01c Different path to the static grains  file  when  running
287679           under a proxy minion
287680
287681         · 3eec8dbc63 Dummy proxy: catch EOFError instead of IOError
287682
287683       · ISSUE  #44583: (creideiki) Using splay in cron schedule throws excep‐
287684         tion "unsupported operand type(s) for +: 'NoneType' and 'int'" (refs:
287685         #44640)
287686
287687       · PR  #44640: (vutny) Fix #44583: splay with cron-like scheduled jobs @
287688         2017-11-30 15:30:41 UTC
287689
287690         · 06fb80b69c Merge pull  request  #44640  from  vutny/fix-cron-sched‐
287691           ule-splay
287692
287693         · d1f247e49e Add basic unit tests for schedule util eval func
287694
287695         · 6ff8e75ac6 Fix #44583: splay with cron-like scheduled jobs
287696
287697       · PR  #44712:  (Ch3LL)  Add  pillar  ssh integration tests @ 2017-11-30
287698         15:29:33 UTC
287699
287700         · e5a1401b82 Merge pull request #44712 from Ch3LL/ssh_pillar_items
287701
287702         · 97ec0e6ea0 Merge branch '2017.7' into ssh_pillar_items
287703
287704         · c7f5af1274 Add pillar ssh integration tests
287705
287706       · PR #44763: (mirceaulinic) Just a small  improvement  to  the  Thorium
287707         documentation @ 2017-11-30 14:38:03 UTC
287708
287709         · 2e1c946990 Merge pull request #44763 from cloudflare/thorium-doc
287710
287711         · f8d69dd0ba Add thorium_roots configuration example
287712
287713         · 4610fb4e62 thorium_roots not thorium_roots_dir
287714
287715       · PR #44531: (mirceaulinic) Add deprecation notes for the NAPALM native
287716         templates @ 2017-11-30 14:18:56 UTC
287717
287718         · 8ba2df1ea0  Merge  pull  request  #44531   from   cloudflare/depre‐
287719           cate-napalm-tpl
287720
287721         · b462776d8b Add deprecation notes for the NAPALM native templates
287722
287723       · PR  #44737:  (twangboy)  Skip  unit.transport.test_ipc  for Windows @
287724         2017-11-29 19:18:21 UTC
287725
287726         · 7bde48282e    Merge    pull    request    #44737    from     twang‐
287727           boy/win_skip_test_ipc
287728
287729         · 4e0359b603 Skip IPC transport tests in Windows, not supported
287730
287731       · PR  #44629: (Ch3LL) Add masterless state.highstate integration test @
287732         2017-11-29 19:05:23 UTC
287733
287734         · c5206113ce Merge pull request #44629 from Ch3LL/high_masterless
287735
287736         · 9b7421b261 Change check to the state id
287737
287738         · 9cc853e3d5 Add masterless state.highstate integration test
287739
287740       · PR #44613: (Ch3LL) Add pillar.items test for masterless @  2017-11-29
287741         14:43:11 UTC
287742
287743         · 2dc3e5c42a Merge pull request #44613 from Ch3LL/pillar_masterless
287744
287745         · 2c2e1e2332 Merge branch '2017.7' into pillar_masterless
287746
287747         · 69134e83ca Change order of local kwarg in run_call method
287748
287749         · b3b5ecc6ff Add pillar.items test for masterless
287750
287751       · PR  #44659:  (Ch3LL)  Add  state.sls_id  to  ssh  wrapper and tests @
287752         2017-11-29 14:41:47 UTC
287753
287754         · cc05481026 Merge pull request #44659 from Ch3LL/ssh_sls_id
287755
287756         · 04b5a3dd4e Add state.sls_id to ssh wrapper and tests
287757
287758       · PR  #44698:  (Ch3LL)  Add  salt-ssh  mine.get  integration   test   @
287759         2017-11-28 22:15:29 UTC
287760
287761         · 642eed11e1 Merge pull request #44698 from Ch3LL/mine_ssh
287762
287763         · f6a72acfe3 Merge branch '2017.7' into mine_ssh
287764
287765         · 9e67babf85 Add teardown to remove ssh dir
287766
287767         · f90b4f7653 Add salt-ssh mine.get integration test
287768
287769       · PR  #44697: (Ch3LL) Sort the show_top results for test_state_show_top
287770         test @ 2017-11-28 20:35:41 UTC
287771
287772         · 5d82df5667 Merge pull request #44697 from Ch3LL/show_top_test
287773
287774         · 974db59dc1 convert the assert to a union set instead
287775
287776         · add43c4cfe Sort the show_top results for test_state_show_top test
287777
287778       · PR #44608: (Ch3LL) Add jinja  to  ssh  sls  test  file  @  2017-11-27
287779         22:00:28 UTC
287780
287781         · f2f6817e86 Merge pull request #44608 from Ch3LL/ssh_jinja
287782
287783         · df669b551d Merge branch '2017.7' into ssh_jinja
287784
287785         · ca97517795 Add jinja to ssh sls test file
287786
287787       · ISSUE   #33957:  (ghost)  grains.setval  doesn't  setval  if  set  in
287788         /etc/salt/minion (refs: #44663)
287789
287790       · PR  #44663:  (whytewolf)  Update  notes  around  grains  topic,   and
287791         salt.modules.grains and salt.state.grains @ 2017-11-27 21:33:38 UTC
287792
287793         · 04b97bcfad     Merge    pull    request    #44663    from    whyte‐
287794           wolf/ZD1777_ensure_understanding_of_minion_config_over_grains_file
287795
287796         · c9122e4b85 fixed pylint error, and updated description  on  at  the
287797           top the the module and state.
287798
287799         · 7fb208b5ad  Update  note  in  topics/grains to reflect that not all
287800           grains are ignored. only those set in the minion config
287801
287802       · PR #44332: (mirceaulinic) Improve the net.load_config execution func‐
287803         tion @ 2017-11-27 21:22:18 UTC
287804
287805         · 364deee6ac     Merge    pull    request    #44332    from    cloud‐
287806           flare/improve-net-load
287807
287808         · cd0bac87e6 Merge branch '2017.7' into improve-net-load
287809
287810         · 6d861f9a74 Disable pylint warning
287811
287812         · 3a0945ce3d Merge pull request #11 from tonybaloney/gh_44332_clone
287813
287814           · 88ef9f18fc ignore lint error on import
287815
287816           · 25427d845e convert key iterator to list as python 3 wont index an
287817             iterator
287818
287819         · bce50154e5 Merge branch '2017.7' into improve-net-load
287820
287821         · ba4a62769c Fix trailing spaces
287822
287823         · 0a47a7acbf Merge pull request #10 from tonybaloney/gh_44332_clone
287824
287825           · ba0280e727 linting updates
287826
287827           · 78b90f3d0c add remaining tests
287828
287829           · 386c4e5791 add tests for all the getters
287830
287831         · f3d2d1aaaa Merge pull request #9 from tonybaloney/gh_44332_clone
287832
287833           · c63222358b  update tests with correct assertions and mock methods
287834             on device instance
287835
287836           · b69c559c52 fix kwargs typo
287837
287838         · edea76d3f3 Improve the net.load_config function
287839
287840       · PR #44664: (mvivaldi) Patch 1 @ 2017-11-27 21:17:20 UTC
287841
287842         · b6a1ed06b8 Merge pull request #44664 from mvivaldi/patch-1
287843
287844         · 4551999ec7 Update jinja.py
287845
287846         · ae13d57307 Update file.py
287847
287848       · ISSUE #42074: (mirceaulinic) How to configure static grains for proxy
287849         minions (refs: #44549)
287850
287851       · PR  #44549:  (mirceaulinic) Allow proxy minions to load static grains
287852         (refs: #44760) @ 2017-11-27 20:57:09 UTC
287853
287854         · 9ea4ee1479    Merge    pull    request    #44549    from     cloud‐
287855           flare/fix-proxy-grains
287856
287857         · 7b03574ab6 Merge branch '2017.7' into fix-proxy-grains
287858
287859         · 0320174ea4 Add doc note regarding static grains on proxy minions
287860
287861         · 509d1af832 Allow proxy minions to load static grains
287862
287863       · PR  #44572:  (Ch3LL)  Add  watch_in  integration  test  @  2017-11-27
287864         20:52:31 UTC
287865
287866         · 5ec7ea0bb5 Merge pull request #44572 from Ch3LL/watchin_test
287867
287868         · 0a54584ddb Merge branch '2017.7' into watchin_test
287869
287870         · 898c28e6d9 Merge branch '2017.7' into watchin_test
287871
287872         · 3df70f3fed remove iter for watch_in failure test
287873
287874         · ac437ddf90 add order check and remove iter
287875
287876         · 5f2b4f434e Add watch_in integration test
287877
287878              · c6733ac1ee pop None
287879
287880       · PR #44616: (Ch3LL) Add Non Base Environement salt:// source  integra‐
287881         tion test @ 2017-11-22 16:13:54 UTC
287882
287883         · d6ccf4bb30 Merge pull request #44616 from Ch3LL/nonbase_test
287884
287885         · 80b71652e3 Merge branch '2017.7' into nonbase_test
287886
287887         · c9ba33432e  Add  Non  Base  Environement salt:// source integration
287888           test
287889
287890       · PR #44617: (Ch3LL) Add ssh thin_dir  integration  test  @  2017-11-22
287891         16:12:51 UTC
287892
287893         · 3ace504c8c Merge pull request #44617 from Ch3LL/thindir_ssh
287894
287895         · 071a1bd65b Merge branch '2017.7' into thindir_ssh
287896
287897       · PR  #44625:  (Ch3LL)  Add  salt-key  -d integration test @ 2017-11-22
287898         03:15:23 UTC
287899
287900         · 2cd618f99b Merge pull request #44625 from Ch3LL/delete_key_test
287901
287902         · 443dc1e16b Merge branch '2017.7' into delete_key_test
287903
287904       · ISSUE  #44601:  (rallytime)  CherryPy  12.0   removed   support   for
287905         "engine.timeout_monitor.on" config option (refs: #44602)
287906
287907       · PR  #44614:  (rallytime)  [2017.7] Move PR #44602 forward to 2017.7 @
287908         2017-11-21 21:21:06 UTC
287909
287910         · PR #44602: (rallytime) Handle timeout_monitor attribute  error  for
287911           new versions of CherryPy (refs: #44614)
287912
287913         · 4f30e845ee Merge pull request #44614 from rallytime/44602-2017.7
287914
287915         · 628f015c1b Move TimoutError check lower down in exception list
287916
287917         · d26d9ff5e4  Handle timeout_monitor/TimeoutError issues for new ver‐
287918           sions of CherryPy
287919
287920         · 359a59dd64 Add salt-key -d integration test
287921
287922         · 74ededafa7 Add ssh thin_dir integration test
287923
287924              · 4d0806e28c Merge branch '2017.7' into develop2
287925
287926              · 4d0d023115 Fix broken beacons_before_connect feature
287927
287928                · 98536110d9 Merge branch '2017.7' into 2017.7
287929
287930       · PR #44571:  (rallytime)  Back-port  #43822  to  2017.7  @  2017-11-20
287931         19:01:26 UTC
287932
287933         · PR  #43822:  (chnrxn)  check_result: Correctly check the __extend__
287934           state. (refs: #44571)
287935
287936         · 136b9e3bc4 Merge pull request #44571 from rallytime/bp-43822
287937
287938         · f81bb61f2d check_result: Correctly check the __extend__ state.
287939
287940       · PR #44588: (rallytime) Add documentation about logging before modules
287941         are loaded @ 2017-11-20 18:43:18 UTC
287942
287943         · PR  #44576: (rallytime) Remove logging from top of napalm util file
287944           (refs: #44588)
287945
287946         · PR #44439: (mirceaulinic)  Adapt napalm modules to the new  library
287947           structure (refs: #44576)
287948
287949         · bea7f65291 Merge pull request #44588 from rallytime/logging-in-vir‐
287950           tual-funcs
287951
287952         · 90d1cb221d Add  documentation  about  logging  before  modules  are
287953           loaded
287954
287955       · PR  #44513:  (rallytime)  Back-port  #44472  to  2017.7  @ 2017-11-20
287956         16:09:02 UTC
287957
287958         · PR #44472:  (mephi42)  nova:  fix  endpoint  URL  determination  in
287959           _v3_setup() (refs: #44513)
287960
287961         · a8044b73c3 Merge pull request #44513 from rallytime/bp-44472
287962
287963         · 6e00e415d3 nova: fix endpoint URL determination in _v3_setup()
287964
287965       · PR  #44596:  (roaldnefs)  Fixed  Mattermost  module  documentation  @
287966         2017-11-19 23:30:53 UTC
287967
287968         · f55b9daa63 Merge pull  request  #44596  from  roaldnefs/fix-matter‐
287969           most-doc
287970
287971         · 549f4806ce Fixed documentation in Mattermost module
287972
287973       · PR      #44528:     (tkwilliams)     INFRA-5978     -     fix     for
287974         https://github.com/saltstack/salt/issues/44290 @ 2017-11-17  17:35:44
287975         UTC
287976
287977         · f84a2b5ab1 Merge pull request #44528 from bodhi-space/infra5978
287978
287979         · ba1d57f5eb Merge branch '2017.7' into infra5978
287980
287981         · 021692b6c9 INFRA-5978 - pylint / whitespace fix
287982
287983         · c2210aaf7c          INFRA-5978          -          fix          for
287984           https://github.com/saltstack/salt/issues/44290
287985
287986       · PR #44537: (Ch3LL) Add multiple salt-ssh state  integration  tests  @
287987         2017-11-17 17:17:48 UTC
287988
287989         · 7f2dd0382c Merge pull request #44537 from Ch3LL/ssh_highlow
287990
287991         · b98df6de24 Add known_hosts_file to salt-ssh opts_pkg in wfuncs
287992
287993         · 913eedc699 Add multiple salt-ssh state integration tests
287994
287995       · PR  #44576:  (rallytime)  Remove logging from top of napalm util file
287996         (refs: #44588) @ 2017-11-17 14:55:13 UTC
287997
287998         · PR #44439: (mirceaulinic)  Adapt napalm modules to the new  library
287999           structure (refs: #44576)
288000
288001         · 1975fb41bc     Merge    pull    request    #44576    from    rally‐
288002           time/remove-napalm-logging
288003
288004         · eb91af999e Remove logging from top of napalm util file
288005
288006       · PR #44575: (Ch3LL)  Add  service.running  integration  state  test  @
288007         2017-11-16 22:27:57 UTC
288008
288009         · c2c3048f46 Merge pull request #44575 from Ch3LL/ser_run_test
288010
288011         · 7536150567 Add service.running integration state test
288012
288013       · PR  #44518: (twangboy) Pass root_dir to the win_verify_env function @
288014         2017-11-16 20:57:49 UTC
288015
288016         · 24b1d7af31 Merge pull  request  #44518  from  twangboy/win_fix_ver‐
288017           ify_env
288018
288019         · 47114fdb30 Pass root_dirs to the win_verify_env function
288020
288021              · 3385f7faf3 fix pylint
288022
288023              · a2af3cb857  Include client mixin globals in scheduler for run‐
288024                ner modules
288025
288026       · PR #44551: (mirceaulinic) Removes  proxy  minions  false  alarms  and
288027         security risks @ 2017-11-16 15:09:14 UTC
288028
288029         · 1643bb7fd4  Merge pull request #44551 from cloudflare/annoying-tmp‐
288030           nam
288031
288032         · ce1882943d Use salt.utils.files.mkstemp() instead
288033
288034         · 6689bd3b2d Dont use dangerous os.tmpnam
288035
288036         · 2d6176b0bc Fx2 proxy minion: clean return, like all the other  mod‐
288037           ules
288038
288039       · ISSUE #30454: (favoretti) Using yaml serializer inside jinja template
288040         results in  unicode  being  prepended  by  '!!python/unicode'  (refs:
288041         #30481, #42064, #38554)
288042
288043       · PR  #44541: (terminalmage) Fix test to reflect changes in YAML dumper
288044         @ 2017-11-15 13:23:58 UTC
288045
288046         · PR #42064: (The-Loeki) utils.jinja: use utils.yamldumper  for  safe
288047           yaml dumping (refs: #44541)
288048
288049         · PR  #38554:  (multani)  Fix  YAML deserialization of unicode (refs:
288050           #42064)
288051
288052         · PR #30481: (basepi) Add yaml_safe jinja filter (refs: #38554)
288053
288054         · 60083ac27b   Merge   pull    request    #44541    from    terminal‐
288055           mage/fix-yaml-test
288056
288057         · 5b8f54084b Merge branch '2017.7' into fix-yaml-test
288058
288059       · PR  #44538:  (gtmanfred)  Fix up some test kitchen stuff @ 2017-11-14
288060         20:36:56 UTC
288061
288062         · 5c123eb551 Merge pull request #44538 from gtmanfred/kitchen
288063
288064         · 3e04d2d44c use kitchen-sync for copying files
288065
288066         · 9bc70fd31b back up to 2017.7.1 for kitchen tests
288067
288068         · 3b93ea058b ubuntu 14 and centos 6 should not have py3 tests
288069
288070         · 958e1aeb8d Fix test to reflect changes in YAML dumper
288071
288072       · ISSUE #30454: (favoretti) Using yaml serializer inside jinja template
288073         results  in  unicode  being  prepended  by  '!!python/unicode' (refs:
288074         #30481, #42064, #38554)
288075
288076       · PR #42064: (The-Loeki) utils.jinja:  use  utils.yamldumper  for  safe
288077         yaml dumping (refs: #44541) @ 2017-11-13 19:45:14 UTC
288078
288079         · PR  #38554:  (multani)  Fix  YAML deserialization of unicode (refs:
288080           #42064)
288081
288082         · PR #30481: (basepi) Add yaml_safe jinja filter (refs: #38554)
288083
288084         · 27a7b607b1 Merge pull request #42064 from The-Loeki/jinja_unicode
288085
288086         · b1cf43c02d Merge branch '2017.7' into jinja_unicode
288087
288088         · 8c2ac58523 Merge branch '2017.7' into jinja_unicode
288089
288090         · 57dc6226a2 Merge branch '2017.7' into jinja_unicode
288091
288092         · 0a8346b585 Merge branch '2017.7' into jinja_unicode
288093
288094         · 393fe061b2 jinja utils: yaml import still necessary
288095
288096         · 3c9130f9f0 utils.jinja: use utils.yamldumper for safe yaml dumping
288097
288098       · PR #43692: (mirceaulinic) Addressing a bug in the network find runner
288099         @ 2017-11-13 19:42:24 UTC
288100
288101         · b1f14c7518 Merge pull request #43692 from cloudflare/fix-net-runner
288102
288103         · 02ffb4f38e Merge branch '2017.7' into fix-net-runner
288104
288105         · 4b2f791bd2 Check if addr is short IPv6
288106
288107         · 765504c137 Add all the possible keys to the result
288108
288109       · ISSUE  #42393:  (The-Loeki)  pillarenv  ignored with Salt Master pil‐
288110         lar_cache: True (refs: #43689)
288111
288112       · ISSUE #36153: (krcroft) Pillarenv doesn't allow using separate pillar
288113         environments (refs: #43689)
288114
288115       · PR  #43689: (The-Loeki) make cached pillars use pillarenv rather than
288116         saltenv @ 2017-11-13 19:30:00 UTC
288117
288118         · 1e94a5bd5f Merge pull request #43689 from The-Loeki/cached_pilarenv
288119
288120         · 395c0c424d Merge branch '2017.7' into cached_pilarenv
288121
288122         · 60e001733b make cached pillars use pillarenv rather than saltenv
288123
288124       · PR #43837: (twangboy)  Fix  unit.states.test_archive  for  Windows  @
288125         2017-11-13 19:12:19 UTC
288126
288127         · f9b273a894     Merge    pull    request    #43837    from    twang‐
288128           boy/win_unit_test_archive
288129
288130         · 5505a8819a Merge branch '2017.7' into win_unit_test_archive
288131
288132         · b1dfe9c3c8 Format patching with statements for easier reading
288133
288134         · ba2f2eb788 Add Erik's changes
288135
288136         · 4ef1e3eb97 Fix unit.states.test_archive for Windows
288137
288138       · PR #44507: (Ch3LL) Increase sleep timeout for pillar refresh  test  @
288139         2017-11-13 18:29:06 UTC
288140
288141         · caa81728a0 Merge pull request #44507 from Ch3LL/pillar_time
288142
288143         · ffa4bddcad Increase sleep timeout for pillar refresh test
288144
288145       · PR  #44302: (morganwillcock) Fix traceback and incorrect message when
288146         resolving an unresolvable SID @ 2017-11-13 18:19:01 UTC
288147
288148         · cffea5ac71 Merge pull request #44302 from morganwillcock/badsid
288149
288150         · f3af106e33         Merge         branch         'badsid'         of
288151           https://github.com/morganwillcock/salt into badsid
288152
288153           · 95733fbb3b Merge branch '2017.7' into badsid
288154
288155           · facc2cd16e Merge branch '2017.7' into badsid
288156
288157         · c7cf5f6f70 Format pywintypes.error
288158
288159         · 9572aabb67  Fix  traceback  and incorrect message when resolving an
288160           unresolvable SID
288161
288162       · PR #44439: (mirceaulinic)  Adapt napalm modules to  the  new  library
288163         structure (refs: #44576) @ 2017-11-13 17:43:24 UTC
288164
288165         · 32fc952000 Merge pull request #44439 from cloudflare/fix-napalm
288166
288167         · f45378af04 Lint: remove extra spaces
288168
288169         · c6a38258a3 Add napalm>2.0.0 note and update URLs
288170
288171         · 52f73835b8 Adapt napalm modules to the new library structure
288172
288173       · PR #44457: (twangboy) Remove wmi monkeypatching @ 2017-11-13 17:38:52
288174         UTC
288175
288176         · ebbe5949ea    Merge    pull    request    #44457    from     twang‐
288177           boy/win_remove_wmi_monkeypatching
288178
288179         · 6c872e95e6 Add back the setup_loader_modules function
288180
288181         · 20273e3697  No  need  for setup_loader_modules since we're actually
288182           importing wmi
288183
288184         · 8c107873cd Remove wmi monkeypatching
288185
288186       · PR #44490: (Ch3LL) Enable test_deploy ssh test @ 2017-11-13  17:12:48
288187         UTC
288188
288189         · 1da1a97d7d Merge pull request #44490 from Ch3LL/ssh_ping
288190
288191         · e952cd6712 Enable test_deploy ssh test
288192
288193       · PR  #44491:  (Ch3LL)  Add salt-ssh raw integration tests @ 2017-11-13
288194         15:47:12 UTC
288195
288196         · 18624d6798 Merge pull request #44491 from Ch3LL/ssh_raw
288197
288198         · 3dc8673417 change class name to raw
288199
288200         · 308596ac8d Add salt-ssh raw integration tests
288201
288202       · PR  #44492:  (twangboy)  Fix  unit.utils.test_cloud  for  Windows   @
288203         2017-11-13 15:44:31 UTC
288204
288205         · aa17bfa8e7     Merge    pull    request    #44492    from    twang‐
288206           boy/win_skip_mode_check
288207
288208         · 2f30ad93b1 Skips mode check in Windows
288209
288210       · PR #44484: (Ch3LL) Add orchestration tests when target exists or  not
288211         @ 2017-11-10 19:24:22 UTC
288212
288213         · 5b95495e75 Merge pull request #44484 from Ch3LL/orch_test
288214
288215         · f3ec6df76e Add orchestration tests when target exists or not
288216
288217       · PR  #44480:  (Ch3LL)  Add  integration  pillar  command  line  test @
288218         2017-11-10 19:14:31 UTC
288219
288220         · 62c42ca6fb Merge pull request #44480 from Ch3LL/override_pillar
288221
288222         · 12fed1b4d8 Add integration pillar command line test
288223
288224       · PR #44317: (Ch3LL) Add  state  tests  and  state  request  system  to
288225         salt-ssh @ 2017-11-10 18:28:43 UTC
288226
288227         · cc08ad2edc Merge pull request #44317 from Ch3LL/ssh_test
288228
288229         · 46bce3bd5e add additional parser argument for ssh integration tests
288230
288231         · e9231430b5 remove logic similar to cloud/proxy tests
288232
288233         · c731eb8ea6 add ssh dir to test runner when --ssh-tests set
288234
288235         · 8089a885c2 add wipe function to other run_ssh method
288236
288237         · 200b12ae6a change versionadded salt version
288238
288239         · e3ebb5e9b3 fix comment and variables
288240
288241         · faef0886a7 Add state tests and state request system to salt-ssh
288242
288243       · PR  #44478: (rallytime) [2017.7] Merge forward from 2016.11 to 2017.7
288244         @ 2017-11-10 18:00:56 UTC
288245
288246         · 6669035a30 Merge pull request #44478 from rallytime/merge-2017.7
288247
288248         · 9fcc2a70b5 Merge branch '2016.11' into '2017.7'
288249
288250           · a66cd67d15 Merge pull request #44260 from seanjnkns/issue-39901
288251
288252             · ed8cccf457 #39901: Fix pylint
288253
288254             · 43c81dfdee #39901: Add unit tests
288255
288256             · 613d500876 Merge branch '2016.11' into issue-39901
288257
288258             · b97e8046ca      Utilize      salt.utils.validate.net.*      and
288259               _raise_error_iface
288260
288261             · 6818f3631d Fixes #39901 for RH/CentOS 7
288262
288263       · PR  #44444:  (twangboy)  LGPO:  Issue  with  Maximum  Password  Age @
288264         2017-11-10 17:26:53 UTC
288265
288266         · 60719d0683    Merge    pull    request    #44444    from     twang‐
288267           boy/win_lgpo_non_zero
288268
288269         · de6b394445 Remove unneeded functions
288270
288271         · ee0914f7e9 Fix some lint, remove unnecessary function
288272
288273         · d52a7c12db Fix typo in PasswordComplexity policy
288274
288275         · 44f8f43812 Fix problem where 0 isn't 0
288276
288277       · PR  #44467:  (twangboy)  Fix  unit.test_doc  for Windows @ 2017-11-10
288278         15:21:58 UTC
288279
288280         · 4f3a79df07 Merge pull request #44467 from twangboy/win_fix_test_doc
288281
288282         · 0a9e862bf4 Use regex to split
288283
288284       · PR #44443:  (Ch3LL)  Add  salt-ssh  grains.items  test  @  2017-11-09
288285         00:42:11 UTC
288286
288287         · ff4f13877f Merge pull request #44443 from Ch3LL/ssh_grains
288288
288289         · 5d1a9af4b5 Add salt-ssh grains.items test
288290
288291       · PR  #44429:  (Ch3LL)  Fix  orch  doc  from pillat.get to pillar.get @
288292         2017-11-07 23:06:38 UTC
288293
288294         · dcdf2d4c90 Merge pull request #44429 from Ch3LL/orch_doc
288295
288296         · 38ca5520f0 Fix orch doc from pillat.get to pillar.get
288297
288298       · ISSUE #42568: (clallen) Orchestration runner doesn't populate  __pil‐
288299         lar__ based on pillarenv (refs: #43817)
288300
288301       · PR  #43817:  (The-Loeki)  Orchestrate  runner  forces  pillarenv  and
288302         saltenv to None @ 2017-11-07 06:00:16 UTC
288303
288304         · 62c4addef8 Merge pull request #43817 from The-Loeki/orch-pillarenv
288305
288306         · 3fd652623c orchestrate runner: retain default envs
288307
288308       · PR #44408: (rallytime) [2017.7] Merge forward from 2016.11 to  2017.7
288309         @ 2017-11-06 15:53:00 UTC
288310
288311         · 9e4708b7b9 Merge pull request #44408 from rallytime/merge-2017.7
288312
288313         · edbbd5fc2b Merge branch '2016.11' into '2017.7'
288314
288315         · 5e289f42ba Merge pull request #44383 from gtmanfred/2016kitchen
288316
288317           · b65f4ea4ea switch salt-jenkins over to saltstack
288318
288319         · cab54e34b5 Merge pull request #44173 from twangboy/win_system_docs
288320
288321           · 8e111b413d Fix some of the wording and grammer errors
288322
288323           · a12bc5ae41 Use google style docstrings
288324
288325         · 7aaea1d179 Merge pull request #44304 from jfindlay/cron_id
288326
288327           · cc038c5bec states.cron identifier defaults to name
288328
288329         · e4dbbde734    Merge    pull    request    #44322   from   rossenge‐
288330           orgiev/saltssh-docs-update
288331
288332           · b18f2e5a6d fix program name and description for --static
288333
288334           · 5b10918f02 updated CLI docs for salt-ssh
288335
288336       · PR #44358: (The-Loeki) Kubernetes client certificate file usage fix @
288337         2017-11-03 21:51:27 UTC
288338
288339         · b11da0d2da       Merge      pull      request      #44358      from
288340           The-Loeki/kube-client-cert-file
288341
288342         · 35a8b0bb38 Kubernetes client certificate file usage fix
288343
288344       · PR #44347: (rallytime) [2017.7] Merge forward from 2016.11 to  2017.7
288345         @ 2017-11-03 21:48:21 UTC
288346
288347         · 1974e52c06 Merge pull request #44347 from rallytime/merge-2017.7
288348
288349         · 9bad04b94b Merge branch '2016.11' into '2017.7'
288350
288351           · 4e6f09e3eb Merge pull request #44345 from gtmanfred/2016kitchen
288352
288353             · 79b8b2d0bf remove binding
288354
288355           · 209847c8c2 Merge pull request #44342 from gtmanfred/2016kitchen
288356
288357             · c50508f0b7 render template files platforms.yml and driver.yml
288358
288359           · 1be65224cb    Merge    pull    request    #44339    from    cory‐
288360             wright/issue-44336-fix-archive-tar-docs-2016-11
288361
288362             · 9c1c35a59f Remove leading dash (-) from options in  archive.tar
288363               documentation
288364
288365           · bebc33daf5   Merge   pull   request   #44295   from  HeinleinSup‐
288366             port/issue44272
288367
288368             · f972715a45 fixes issue #44272
288369
288370           · e7ca9f8407 Merge pull request #44286 from gtmanfred/2016.11
288371
288372             · 193e715e37 use our git repo for kitchen-salt
288373
288374       · PR    #44364:    (Ch3LL)    Include    disk    size     check     for
288375         test_spm_build_big_file test @ 2017-11-01 13:57:24 UTC
288376
288377         · aea9f4a115 Merge pull request #44364 from Ch3LL/fix_size_test
288378
288379         · 952c6bfea4 Include file size check for test_spm_build_big_file test
288380
288381       · ISSUE  #44239:  (boltronics)  --progress  fails when hosts routed via
288382         syndic (refs: #44273)
288383
288384       · PR #44273: (DmitryKuzmenko) Workaround progressbar failure if  minion
288385         is behind syndic.  @ 2017-10-31 17:07:17 UTC
288386
288387         · 609de9367a    Merge    pull   request   #44273   from   DSRCorpora‐
288388           tion/bugs/44239_syndic_progress
288389
288390         · e1a7605623 Workaround progressbar failure if minion is behind  syn‐
288391           dic.
288392
288393       · PR   #44350:   (gtmanfred)  update  salt-jenkins  repo  to  2017.7  @
288394         2017-10-30 21:31:30 UTC
288395
288396         · eef6dbfa58 Merge pull request #44350 from gtmanfred/2017.7
288397
288398         · cf71e3d9f2 update salt-jenkins repo to 2017.7
288399
288400       · PR #44346: (gtmanfred) remove binding  from  erb  template  rendering
288401         (2017.7) @ 2017-10-30 20:57:19 UTC
288402
288403         · d586b3bf97 Merge pull request #44346 from gtmanfred/2017.7
288404
288405         · bf577c3d8b remove binding
288406
288407       · PR  #44343:  (gtmanfred)  render  template  files  platforms.yml  and
288408         driver.yml (2017.7) @ 2017-10-30 20:04:22 UTC
288409
288410         · 547aac6658 Merge pull request #44343 from gtmanfred/2017.7
288411
288412         · ec24fbc0c2 render template files platforms.yml and driver.yml
288413
288414       · ISSUE #44336: (corywright) Docs for archive.tar should not use  lead‐
288415         ing dash for tar options (refs: #44339, #44338)
288416
288417       · PR  #44338:  (corywright)  Remove  leading  dash  from options in ar‐
288418         chive.tar docs (2017.7 and develop) @ 2017-10-30 18:59:33 UTC
288419
288420         · 6e2a74c18b    Merge    pull    request    #44338     from     cory‐
288421           wright/issue-44336-fix-archive-tar-docs-2017-7-and-newer
288422
288423         · 49b0abc284 Remove leading dash (-) from options in archive.tar doc‐
288424           umentation
288425
288426       · PR #44265: (Ch3LL)  Add service.status integration test @  2017-10-30
288427         15:00:12 UTC
288428
288429         · 71923bed97 Merge pull request #44265 from Ch3LL/service_test
288430
288431         · 716aabc0bf Merge branch '2017.7' into service_test
288432
288433         · dd5c823210 remove skipIf import
288434
288435         · ff92f31cbe remove skipif for docker
288436
288437         · c13f37eee4 change service name depending on os
288438
288439         · 980c43ebc9 change skip message check to docker
288440
288441         · 3955537609 change skip if check to docker
288442
288443         · aa8875a0e2 change service name to docker
288444
288445         · 654071028b change service to crond
288446
288447         · 7911b4b3eb Add service.status integration test
288448
288449       · PR  #44294:  (nasenbaer13)  Boto  asg  fixes,  Backport  of  #43858 @
288450         2017-10-30 14:48:52 UTC
288451
288452         · PR #43858: (nasenbaer13) Boto_ASG fixes  for  scaling  policy  rate
288453           limiting and tag conversion (refs: #44294)
288454
288455         · 8ae9769bfb Merge pull request #44294 from eyj/boto_asg
288456
288457         · f5ad6aeb70 Debug log added when throttled by API
288458
288459         · c05d9aeced Encode tags as utf-8, retry policy readout
288460
288461       · PR  #44312:  (rallytime)  Back-port  #44287  to  2017.7  @ 2017-10-30
288462         14:25:56 UTC
288463
288464         · PR #44287: (jf) Fix utils.files.guess_archive_type to recognize the
288465           "tbz" extension as well (refs: #44312)
288466
288467         · 68a9bebf90 Merge pull request #44312 from rallytime/bp-44287
288468
288469         · 4d02e61f97 Merge branch '2017.7' into bp-44287
288470
288471         · ba0eaae95e  Fix  utils.files.guess_archive_type  to  recognize  the
288472           "tbz" extension as well (also tidy up list of extensions)
288473
288474       · ISSUE #44258: (oarmstrong)  docker_container.running  recreates  con‐
288475         tainers with multiple links (refs: #44262)
288476
288477       · PR  #44311:  (rallytime)  Back-port  #44262  to  2017.7  @ 2017-10-30
288478         14:25:35 UTC
288479
288480         · PR #44262: (oarmstrong) docker_container.running sort list of links
288481           (refs: #44311)
288482
288483         · b8854e27c0 Merge pull request #44311 from rallytime/bp-44262
288484
288485         · 72d617cfbe Merge branch '2017.7' into bp-44262
288486
288487         · ae34a15503 docker_container.running sort list of links
288488
288489       · PR  #44314:  (gtmanfred)  update  .kitchen.yml to run py3 tests too @
288490         2017-10-30 14:23:15 UTC
288491
288492         · 48df79ef77 Merge pull request #44314 from gtmanfred/2017.7
288493
288494         · 54265769c4 Merge branch '2017.7' into 2017.7
288495
288496       · PR #44316: (rallytime) Fix lint failure on 2017.7 branch @ 2017-10-27
288497         18:36:08 UTC
288498
288499         · dbc5e224e9 Merge pull request #44316 from rallytime/fix-lint
288500
288501         · 6d2490f6a0 Fix lint failure on 2017.7 branch
288502
288503         · 39262b625e update .kitchen.yml to run py3 tests too
288504
288505       · PR  #44279: (rallytime) [2017.7] Merge forward from 2016.11 to 2017.7
288506         @ 2017-10-27 16:17:19 UTC
288507
288508         · b2b0c770a4 Merge pull request #44279 from rallytime/merge-2017.7
288509
288510         · 8237f45a46 Add print_function to __future__ import list
288511
288512         · 055b0701de Lint fix from sloppy merge conflict resolution
288513
288514         · 1c3cb5c6a4 Merge branch '2016.11' into '2017.7'
288515
288516           · 8a1ea165af Merge pull request #44259 from gtmanfred/2016.11
288517
288518             · 56a3ad8f68 fix pylint comments
288519
288520             · 4add666db1 add comment to Gemfile and move copyartifacts
288521
288522             · b4c8f7eb57 fix pylint
288523
288524             · 392fd4f837 try newest salttesting
288525
288526             · 79251287d0 add logging
288527
288528             · 38963d5a82 use transport if not set in state_file
288529
288530             · 10e309a64f which vagrant should go to stderr
288531
288532             · 9307564de0 fix output columns
288533
288534             · 2da22f87e1 test opennebula
288535
288536             · 9f38f16905 add opennebula to Gemfile
288537
288538             · 7465f9b27a add script for copying back artifacts
288539
288540             · 255118cfd7 run tests with kitchen
288541
288542           · 9d6bc8509b   Merge    pull    request    #44268    from    twang‐
288543             boy/win_fix_lgpo_typo
288544
288545             · a6a4c10a77 Fix typo
288546
288547           · 0beb65a283    Merge    pull   request   #44269   from   terminal‐
288548             mage/fix-log-message
288549
288550             · bc9cd65496 Fix log message in salt.utils.gitfs
288551
288552           · 304dd2529d Merge pull request #44160 from gtmanfred/directory
288553
288554             · a7d3d668f4 missed removing changes in the next test
288555
288556             · ac0b5ec440 fix test
288557
288558             · d3d00c3e62 add changes to test return
288559
288560           · e10395483d Merge pull request #44205 from rallytime/bp-44177
288561
288562             · b9940f8521 Fixing default redis.host in documentation
288563
288564       · PR #44291: (Ch3LL)  add  saltutil.refresh_pillar  test  @  2017-10-27
288565         15:19:43 UTC
288566
288567         · bd5b9dd0aa Merge pull request #44291 from Ch3LL/pillar_test
288568
288569         · 34e2955445 add saltutil.refresh_pillar test
288570
288571       · PR  #44267:  (twangboy)  Fix  type  and  Py3  issues in LGPO module @
288572         2017-10-27 14:27:50 UTC
288573
288574         · ba17a1c4d0 Merge pull request #44267 from twangboy/win_fix_lgpo
288575
288576         · 5d22d34cac Use unicode_literals
288577
288578         · 40636397d8 Fix set for Py3
288579
288580         · 8f8c706426 Fix typo
288581
288582       · PR #44285: (Ch3LL) add spm integration tests for remove and  build  @
288583         2017-10-26 21:20:10 UTC
288584
288585         · e16707c403 Merge pull request #44285 from Ch3LL/all_spm
288586
288587         · 1f77f3e6a3 add skipif logic for fallocate cmd
288588
288589         · 03b5c4bc6d add spm integration tests for remove and build
288590
288591       · PR #44301: (twangboy) Fix test_pydsl on Windows @ 2017-10-26 21:14:21
288592         UTC
288593
288594         · 6392896a22    Merge    pull    request    #44301    from     twang‐
288595           boy/win_fix_test_pydsl
288596
288597         · 6db23757bc Fix test_pydsl on Windows
288598
288599       · PR #44293: (UtahDave) Fix documentation grammar and spelling errors @
288600         2017-10-26 13:05:31 UTC
288601
288602         · 8787d02688    Merge    pull    request    #44293     from     Utah‐
288603           Dave/fix_unittest_docs
288604
288605         · c919648ab4 Fix documentation grammar and spelling errors
288606
288607       · PR  #44248:  (Ch3LL)  SPM  tests:  use _spm_build_files method during
288608         test_build setup @ 2017-10-25 19:45:03 UTC
288609
288610         · 6e33743c1a Merge pull request #44248 from Ch3LL/spm_create_repo
288611
288612         · 0a387c2ecd fix pylint
288613
288614         · f383f05a93 Add SPM create_repo integration test
288615
288616       · PR #44253: (Ch3LL) Add multiple spm integration  tests  @  2017-10-25
288617         13:36:03 UTC
288618
288619         · bd75be24ca Merge pull request #44253 from Ch3LL/spm_install
288620
288621         · 9e2e785034 add spm tests to test runner
288622
288623         · 4729ccd32b Add multiple spm integration tests
288624
288625       · PR  #44254: (twangboy) Fix unit.modules.test_win_groupadd for Windows
288626         @ 2017-10-25 13:33:40 UTC
288627
288628         · 75ee1ebc50    Merge    pull    request    #44254    from     twang‐
288629           boy/win_fix_test_win_groupadd
288630
288631         · 609361bf48 Fix some lint errors
288632
288633         · 1f44d8d5e6 Document helper functions
288634
288635         · b0caec320e Move _get_all_groups up to the top
288636
288637         · 7a3ff9387d Mock the rest of the tests
288638
288639         · 5ce14df82c Change how members are retrieved in win_groupadd
288640
288641         · 6ab82394be Set up mocking
288642
288643       · PR  #44266:  (Ch3LL)  Add  state,  grains  and  service proxy tests @
288644         2017-10-25 13:08:50 UTC
288645
288646         · 4c23fa63bb Merge pull request #44266 from Ch3LL/proxy_tests
288647
288648         · e5701b472d Add state, grains and service proxy tests
288649
288650       · ISSUE #43187: (mirceaulinic) How to point from  an  execution  module
288651         that a certain function failed (refs: #44244)
288652
288653       · PR  #44244:  (mirceaulinic)  Add  explicit non-zero retcode to napalm
288654         config functions @ 2017-10-24 09:23:40 UTC
288655
288656         · c849f350ba Merge pull request #44244 from cloudflare/add-retcode
288657
288658         · a1f27c9f00 Add explicit non-zero retcode to napalm config functions
288659
288660       · ISSUE #44227: (rklaren) salt-cloud leaves a broken vm around when the
288661         salt bootstrap fails (refs: #44228)
288662
288663       · PR  #44228:  (rklaren)  Fixes #44227, make salt-cloud/libvirt cleanup
288664         after errors more robust @ 2017-10-23 17:09:35 UTC
288665
288666         · 195b225540      Merge      pull      request      #44228       from
288667           rklaren/fix-salt-cloud-libvirt-cleanup-after-errors
288668
288669         · 7917d1e61e Incorporate review comments.
288670
288671         · 3a10b6aef1  Fixes  #44227,  make  salt-cloud/libvirt  cleanup after
288672           errors more robust
288673
288674       · ISSUE #19532: (stolendog) salt-ssh running git clone  with  not  root
288675         user (refs: #43769)
288676
288677       · ISSUE  #10582:  (mtorromeo)  Git  ssh helper may be unable run (refs:
288678         #43769)
288679
288680       · PR  #44008:  (mtorromeo)  Backport  #43769  to  2017.7  @  2017-10-23
288681         14:19:57 UTC
288682
288683         · PR #43769: (mtorromeo) Copy git ssh-id-wrapper to /tmp only if nec‐
288684           essary (Fixes #10582, #19532) (refs: #44008)
288685
288686         · 01e7bab990 Merge pull request #44008 from mtorromeo/git-noexec-fix
288687
288688         · a7a841d9d2 Merge branch '2017.7' into git-noexec-fix
288689
288690         · d177240cfc Merge branch '2017.7' into git-noexec-fix
288691
288692         · a63e6ca963 Copy git ssh-id-wrapper to /tmp only if necessary (Fixes
288693           #10582, Fixes #19532)
288694
288695       · PR  #44202: (rallytime) [2017.7] Merge forward from 2016.11 to 2017.7
288696         @ 2017-10-23 14:18:30 UTC
288697
288698         · 85c0ef493f Merge pull request #44202 from rallytime/merge-2017.7
288699
288700         · 99ff7a5c12 Merge branch '2016.11' into '2017.7'
288701
288702           · 09ddfd0c08  Merge   pull   request   #44167   from   garethgreen‐
288703             away/44140_debian_ip_fixes
288704
288705             · 5f7555846f  When  looping through the various pre, post, up and
288706               down commands put them into the interface dict using the  right
288707               internet family variable.
288708
288709           · 9f9e936b52 Merge pull request #43830 from rallytime/bp-43644
288710
288711             · 12845ae802 Several fixes for RDS DB parameter group management
288712
288713           · 07db6a3d8b  Merge  pull  request  #43994  from  oeuftete/fix-man‐
288714             age-runner-presence
288715
288716             · f3980d7d83 Fix manage.present to show lost minions
288717
288718           · a07537e258 Merge pull request #44188 from terminalmage/issue44150
288719
288720             · 0692f442db yumpkg: Check pkgname instead of name to see  if  it
288721               is a kernel pkg
288722
288723           · 715edc0cea Merge pull request #44158 from rallytime/bp-44089
288724
288725             · 534faf0b7a Catch on empty Virtualbox network addr #43427
288726
288727       · PR  #44208:  (twangboy)  Fix  some  lint  in  PR:  44080 @ 2017-10-20
288728         16:42:02 UTC
288729
288730         · d7dc2bd0e8    Merge    pull    request    #44208    from     twang‐
288731           boy/win_fix_group.present
288732
288733         · 61e2e9ccda Fix some lint
288734
288735       · PR  #43843:  (twangboy)  Fix  unit.states.test_mount  for  Windows  @
288736         2017-10-20 14:27:25 UTC
288737
288738         · c6d27ada51    Merge    pull    request    #43843    from     twang‐
288739           boy/win_unit_test_mount
288740
288741         · a862e0bf2d Remove unneeded import
288742
288743         · d78f27466d Fix unit.states.test_mount for Windows
288744
288745       · PR  #44111:  (anlutro)  Try  to  correctly parse debian codename from
288746         /etc/os-release @ 2017-10-19 22:23:26 UTC
288747
288748         · 372820ea38 Merge pull request #44111 from  alprs/fix-deb8-py3-osco‐
288749           dename
288750
288751         · 1e1e5a3ff6   try   to   correctly   parse   debian   codename  from
288752           /etc/os-release
288753
288754       · PR #44187: (twangboy) Fix pickling errors  on  Windows  @  2017-10-19
288755         20:36:51 UTC
288756
288757         · 75136152c1     Merge    pull    request    #44187    from    twang‐
288758           boy/win_fix_unit_test_daemons.py
288759
288760         · 64d2e4f732 Fix pickling errors on Windows
288761
288762       · ISSUE #44181: (jonans) Scheduler with multiple  when  values  doesn't
288763         run (refs: #44186)
288764
288765       · PR  #44186:  (garethgreenaway)  [2017.7] scheduler fixes @ 2017-10-19
288766         20:36:04 UTC
288767
288768         · 7a89cd8697   Merge   pull   request   #44186   from    garethgreen‐
288769           away/44181_scheduler_multiple_whens
288770
288771         · 7eef3b3571  Adding  a  copy.deepcopy to the for loop that looks for
288772           old jobs to avoid stale jobs ending up in the list.
288773
288774       · PR #43896: (twangboy) Fix  win_lgpo  execution  module  @  2017-10-19
288775         20:13:18 UTC
288776
288777         · 1d16ae8ba7     Merge    pull    request    #43896    from    twang‐
288778           boy/win_fix_lgpo_scom
288779
288780         · 648d1b8d99 Catch CommandExecutionError
288781
288782         · 0040082d0a Fix pylint error
288783
288784         · 91258cd6a8 Fix typo
288785
288786         · 261dba347d Put the file.remove in a try/except/else block
288787
288788         · 020c2a2b85 Fix syntax error
288789
288790         · d5bec99126 Fix some lint
288791
288792         · b96186d60d Fix INSTALL_LANGUAGE
288793
288794         · 5471bd521f Fix problem with file handle
288795
288796         · 5ec58c6200 Use System Install Language as default fallback
288797
288798         · f9ad446019 Fix win_lgpo execution module
288799
288800       · PR #44080: (twangboy) Fix a regression in group.present in Windows  @
288801         2017-10-19 20:10:44 UTC
288802
288803         · 98356b86af     Merge    pull    request    #44080    from    twang‐
288804           boy/win_fix_group.present
288805
288806         · 29bc80ff87 Improve get_sam_name
288807
288808         · ef759a3875 Fix example in function docs for get_sam_name
288809
288810         · 43740c5fed Document 15 character limit
288811
288812         · 83f36cc2ef Account for 15 character limit in hostname
288813
288814         · aa278966de Remove *args, pass gid as a keyword
288815
288816         · 5230ecd7e1 Accept *args
288817
288818       · PR #44171: (Ch3LL) Add  SPM  Build  Integration  Tests  @  2017-10-19
288819         19:49:14 UTC
288820
288821         · 5ef124bf2d Merge pull request #44171 from Ch3LL/spm_int
288822
288823         · cd79e9444e remove unneded kwarg
288824
288825         · 1541376c4f Add spm build test
288826
288827       · PR  #44157:  (benediktwerner)  Added  'versionadded' tags to sensehat
288828         modules @ 2017-10-19 14:13:31 UTC
288829
288830         · 34a843252d Merge pull request #44157 from benediktwerner/2017.7
288831
288832         · bd825b51cc Changed sensehat versionadded from 2017.7 to 2017.7.0
288833
288834         · f1d3c5bbcf Added 'versionadded' tags to sensehat modules
288835
288836       · PR   #44164:   (terminalmage)    Fix    examples    in    docker_con‐
288837         tainer.{stopped,absent} docstrings @ 2017-10-19 14:12:37 UTC
288838
288839         · 1427c72e1e    Merge    pull    request    #44164   from   terminal‐
288840           mage/fix-docker-docstring
288841
288842         · 7b46489e33 Fix examples in  docker_container.{stopped,absent}  doc‐
288843           strings
288844
288845       · PR  #44168:  (twangboy)  Fix  unit.test_auth for Windows @ 2017-10-19
288846         14:12:22 UTC
288847
288848         · 77969c4161    Merge    pull    request    #44168    from     twang‐
288849           boy/win_skip_pam_eath
288850
288851         · bb1d2eb85b Skip tests that are failing on PAM eauth
288852
288853       · PR  #44151: (rallytime) [2017.7] Merge forward from 2016.11 to 2017.7
288854         @ 2017-10-18 16:52:30 UTC
288855
288856         · 88a776d9d2 Merge pull request #44151 from rallytime/merge-2017.7
288857
288858         · 6aa8f03a4a Merge branch '2016.11' into '2017.7'
288859
288860           · 0cd493b691 Merge pull request #44131 from rallytime/bp-44029
288861
288862             · bebf301976 fixed test addressing issue #43307, disk.format_  to
288863               disk.format
288864
288865             · b4ba7ae2fc addresses issue #43307, disk.format_ to disk.format
288866
288867           · 3a68e356f8 Merge pull request #44093 from gtmanfred/fix-44087
288868
288869             · 5455c5053b fix pylint
288870
288871             · f749cafa25 don't filter if return is not a dict
288872
288873           · c785d7a847  Merge  pull request #44122 from cachedout/gpg_pr_tem‐
288874             plate
288875
288876             · e41e3d76be Typo fix
288877
288878             · 37c7980880 Add note about GPG signing to PR template
288879
288880           · bf90ea1f51 Merge pull request #44124 from rallytime/merge-2016.11
288881
288882             · 59861291c8 Merge branch '2016.11.8' into '2016.11'
288883
288884               · 57623e2abe Merge pull request #44028 from rallytime/bp-44011
288885
288886                 · 89e084bda3 Do not allow IDs with null bytes in decoded pay‐
288887                   loads
288888
288889                 · 206ae23f15 Don't allow path separators in minion ID
288890
288891           · 13f3ffa83a Merge pull request #44097 from gtmanfred/openneb
288892
288893             · c29655b2c2 Merge branch '2016.11' into openneb
288894
288895             · bd2490b149  OpenNebula  does  not require the template_id to be
288896               specified
288897
288898           · ac3e4df964   Merge    pull    request    #44110    from    roald‐
288899             nefs/fix-doc-local-returner
288900
288901             · efd58f7594 Merge branch '2016.11' into fix-doc-local-returner
288902
288903             · 881f1822f2 Format fix code example local returner doc
288904
288905       · ISSUE  #43918:  (mwerickso)  subset argument does not work with salt‐
288906         mod.state (refs: #43933)
288907
288908       · PR #43933: (gtmanfred) if expect_minions is passed use that instead @
288909         2017-10-18 16:43:39 UTC
288910
288911         · 0b47eb7242 Merge pull request #43933 from gtmanfred/2017.7
288912
288913         · 272dcc6ba5 add inline comment about popping expect_minions
288914
288915         · b615ce1762 if expect_minions is passed use that instead
288916
288917       · PR   #44081:  (skizunov)  Windows:  Fix  usage  of  pkgrepo  state  @
288918         2017-10-18 16:16:46 UTC
288919
288920         · 36da1a7fac Merge pull request #44081 from skizunov/develop3
288921
288922         · 351d16840b Move strip_uri to salt/utils/pkg/deb.py
288923
288924         · f54c7a6f01 Windows: Fix usage of pkgrepo state
288925
288926       · PR #43913: (twangboy) Fix  unit.templates.test_jinja  for  Windows  @
288927         2017-10-17 21:09:05 UTC
288928
288929         · afcaa0c591     Merge    pull    request    #43913    from    twang‐
288930           boy/win_fix_test_jinja
288931
288932         · a4e2d8059d Fix unit.templates.test_jinja for Windows
288933
288934       · PR #43917: (twangboy) Fix unit.test_pillar for Windows  @  2017-10-17
288935         21:06:46 UTC
288936
288937         · fc5754c6a1     Merge    pull    request    #43917    from    twang‐
288938           boy/win_unit_test_pillar
288939
288940         · 00dbba5712 Fix unit.test_pillar for Windows
288941
288942       · PR #44133: (cachedout) Fix typos in parallel states docs @ 2017-10-17
288943         15:24:19 UTC
288944
288945         · 6252f82f58   Merge  pull  request  #44133  from  cachedout/fix_par‐
288946           alell_docs
288947
288948         · 8d1c1e21f0 Fix typos in paralell states docs
288949
288950       · PR #44135: (timfreund) Insert missing verb  in  gitfs  walkthrough  @
288951         2017-10-17 14:32:13 UTC
288952
288953         · 0d3f5db867  Merge  pull  request #44135 from timfreund/insert_miss‐
288954           ing_verb
288955
288956         · 9557504b75 Insert missing verb in gitfs walkthrough
288957
288958       · PR #44055: (nasenbaer13) Activate jid_queue also for SingleMinions to
288959         workaround (Backport) @ 2017-10-16 20:14:52 UTC
288960
288961         · PR  #43860: (nasenbaer13) Activate jid_queue also for SingleMinions
288962           (occurs on reconnect) (refs: #44055)
288963
288964         · a9700f6061 Merge pull request #44055 from eyj/jid_queue
288965
288966         · 4bdd5bbf6b Merge branch '2017.7' into jid_queue
288967
288968         · facef2227d Merge branch '2017.7' into jid_queue
288969
288970         · 2fedcec6bb Merge branch '2017.7' into jid_queue
288971
288972         · 255aa94c64 Activate jid_queue also for SingleMinions to  workaround
288973           0mq reconnection issues
288974
288975       · PR #44125: (rallytime) [2017.7] Merge forward from 2017.7.2 to 2017.7
288976         @ 2017-10-16 20:02:25 UTC
288977
288978         · 2fba45cd3f Merge pull request #44125 from rallytime/merge-2017.7
288979
288980         · c4ae4a6b50 Merge branch '2017.7.2' into '2017.7'
288981
288982           · 5d719a2219 Merge pull request #44027 from rallytime/bp-44012
288983
288984           · f7824e41f3 Don't allow path separators in minion ID
288985
288986           · 44060dc9c1 Do not allow IDs with null bytes in decoded payloads
288987
288988       · ISSUE #43307: (marek-knappe) Filesystem creation is failing on  newly
288989         created LV (refs: #44029)
288990
288991       · PR  #44029:  (msummers42)  addresses  issue  #43307,  disk.format_ to
288992         disk.format (refs: #44131) @ 2017-10-16 19:59:20 UTC
288993
288994         · 68974aa74d Merge pull request #44029 from msummers42/2017.7
288995
288996         · 16e1c1dfc8 fixed test  addressing  issue  #43307,  disk.format_  to
288997           disk.format
288998
288999         · 3d597db51c Merge branch '2017.7' into 2017.7
289000
289001         · 18fb0be96a addresses issue #43307, disk.format_ to disk.format
289002
289003       · PR   #44079:  (skizunov)  opkg:  Fix  usage  with  pkgrepo.managed  @
289004         2017-10-16 19:58:13 UTC
289005
289006         · d0bbe65ffa Merge pull request #44079 from skizunov/develop2
289007
289008         · 0614d1af30 Merge branch '2017.7' into develop2
289009
289010         · b6b12fe495 opkg: Fix usage with pkgrepo.managed
289011
289012       · PR #44090: (pratik705) Fix  create_attach_volumes  salt-cloud  action
289013         for gcp @ 2017-10-16 19:04:22 UTC
289014
289015         · 22a8253595   Merge  pull  request  #44090  from  pratik705/fix-cre‐
289016           ate_attach_volumes_salt-cloud_action-GCP
289017
289018         · 3eefd334c5 Fixed "create_attach_volumes" salt-cloud action for GCP
289019
289020       · PR #44121: (benediktwerner) Fixed code snippet in unit testing  docu‐
289021         mentation @ 2017-10-16 18:28:36 UTC
289022
289023         · 888e5f51a2 Merge pull request #44121 from benediktwerner/2017.7
289024
289025         · 1319c822bd Fixed code snippet in unit testing doc
289026
289027       · PR  #44098:  (twangboy)  Return multiprocessing queue in LogSetupMock
289028         class @ 2017-10-16 18:14:30 UTC
289029
289030         · 9fe94d7843    Merge    pull    request    #44098    from     twang‐
289031           boy/win_mock_test_parsers
289032
289033         · cc43ca27af Return multiprocessing queue in LogSetupMock class
289034
289035       · PR  #44118: (rallytime) [2017.7] Merge forward from 2016.11 to 2017.7
289036         @ 2017-10-16 17:01:38 UTC
289037
289038         · 0ee04eaf1d Merge pull request #44118 from rallytime/merge-2017.7
289039
289040         · bbec47afbc Merge branch '2016.11' into '2017.7'
289041
289042           · c960ca32c2 Merge pull request #44092 from techhat/awsunicode
289043
289044             · bbd9db4d00 One more encoding
289045
289046             · 0e8b325667 Apparently __salt_system_encoding__ is a thing
289047
289048             · 1e7211838d Use system encoding
289049
289050             · 1af21bbe5e Made sure that unicoded data is sent to sha256()
289051
289052           · d89c317d96     Merge      pull      request      #44021      from
289053             whiteinge/cpstats-attribute-error
289054
289055             · bf14e5f578  Also  catch cpstats AttributeError for bad CherryPy
289056               release ~5.6.0
289057
289058           · bbdabe242a Merge pull request #44025 from dayid/lover_typo
289059
289060             · 385980c21a       Merge        branch        '2016.11'        of
289061               https://github.com/saltstack/salt into lover_typo
289062
289063             · 266dc00a23 Typo correction of lover to lower
289064
289065           · d8f3891a5e Merge pull request #44030 from rallytime/merge-2016.11
289066
289067             · 53eaf0d75c Merge branch '2016.3' into '2016.11'
289068
289069             · 64fd839377  Merge  pull request #44010 from Ch3LL/2016.3.7_fol‐
289070               low_up
289071
289072               · 9a00302cd8 fix 2016.3.7 release notes merge conflict
289073
289074               · 63da1214db Do not allow IDs with null bytes in  decoded  pay‐
289075                 loads
289076
289077               · ee792581fc Don't allow path separators in minion ID
289078
289079               · 8aab65c718 fix 2016.3.7 release notes merge conflict
289080
289081             · bd73dcb02c Merge pull request #43977 from Ch3LL/3.8_sec
289082
289083             · 5fb3f5f6b1 Add Security Notes to 2016.3.8 Release Notes
289084
289085       · PR  #44099: (twangboy) Skip Master, Minion, and Syndic parser tests @
289086         2017-10-16 16:07:00 UTC
289087
289088         · 28fa097b9b    Merge    pull    request    #44099    from     twang‐
289089           boy/win_skip_test_parsers
289090
289091         · caf086c05a Skip Master, Minion, and Syndic parser tests
289092
289093       · PR  #44106:  (roaldnefs)  Fix  mattermost  returner  documentation  @
289094         2017-10-16 13:12:23 UTC
289095
289096         · dbf112ead7 Merge pull request #44106 from roaldnefs/fix-doc-matter‐
289097           most_returner
289098
289099         · b3761a0401 Fix doc indentation in mattermost_returner
289100
289101       · PR  #44054: (nasenbaer13) Backport of missing delete_on_termination @
289102         2017-10-13 15:45:25 UTC
289103
289104         · PR  #43859:   (nasenbaer13)   Add   missing   delete_on_termination
289105           passthrough. Adapt docs. (refs: #44054)
289106
289107         · fd2c51b76c Merge pull request #44054 from eyj/boto_lc
289108
289109         · 34d4629a64 Merge branch '2017.7' into boto_lc
289110
289111         · 9efd63526a Adapted documentation of delete_on_termination parameter
289112
289113         · eb2bfd047b  Add  missing  delete_on_termination  passthrough. Adapt
289114           docs.
289115
289116       · PR #44076: (Ch3LL) Add spm shell tests @ 2017-10-13 14:32:19 UTC
289117
289118         · b61ed96268 Merge pull request #44076 from Ch3LL/spm_test
289119
289120         · d2e91c33bd Add spm shell tests
289121
289122       · PR #44051: (twangboy) Fix some documentation formatting issues in the
289123         win_dacl state @ 2017-10-12 15:40:17 UTC
289124
289125         · e38f313ac0     Merge    pull    request    #44051    from    twang‐
289126           boy/win_fix_docs_dacl
289127
289128         · 377d6b6171 Fix some docs in the win_dacl state module
289129
289130       · PR #44066: (Ch3LL) Add Known CherryPy Issue to 2017.7.2 Release Notes
289131         @ 2017-10-12 15:18:25 UTC
289132
289133         · a85837d72b Merge pull request #44066 from Ch3LL/cherry_release
289134
289135         · 8e597fcce9 Add Known CherryPy Issue to 2017.7.2 Release Notes
289136
289137       · ISSUE  #43643:  (doublez13)  salt-ssh:  multiple  targets fails after
289138         upgrade to 2017.7 (refs: #43889)
289139
289140       · ISSUE #43449: (ecgg) salt-ssh  -L  with  hosts  down  or  unreachable
289141         returns wrong results (refs: #43889)
289142
289143       · PR  #43889:  (CorvinM) Fix issue with using roster_defaults with flat
289144         or cloud rosters.  @ 2017-10-11 23:22:11 UTC
289145
289146         · fcab77ac7b Merge pull request #43889 from CorvinM/issue43449
289147
289148         · fefd28d896 Add futureproofing to roster_defaults to support  roster
289149           dictionary options
289150
289151         · aebe76b6f8  Fix issue with using roster_defaults with flat or cloud
289152           rosters. fixes #43449 fixes #43643
289153
289154       · PR #44031: (rallytime) [2017.7] Merge forward from 2016.11 to  2017.7
289155         @ 2017-10-11 22:03:31 UTC
289156
289157         · 3ad1c6d1d9 Merge pull request #44031 from rallytime/merge-2017.7
289158
289159         · 1d4a6c3949 Lint: Fixup undefined variable errors
289160
289161         · 788ad0609a Merge branch '2016.11' into '2017.7'
289162
289163           · 0dbf41e79e  Merge  pull  request #44011 from Ch3LL/2016.11.7_fol‐
289164             low_up
289165
289166             · c0149101c0 Do not allow IDs with null bytes in decoded payloads
289167
289168             · 19481423dd Don't allow path separators in minion ID
289169
289170           · d61300df20 Merge pull request #44023 from Ch3LL/11.9rn
289171
289172             · 7f9015eb41 Add 2016.11.9 Release Note File
289173
289174           · 9ff53bf63a Merge pull request #44019 from benediktwerner/2016.11
289175
289176             · bc53598027 Fixed spelling mistake in salt_bootstrap tutorial
289177
289178             · 6c30344824 Added missing tutorial docs to the tutorial index
289179
289180           · 364523f5f8 Merge pull request #43955 from meaksh/2016.11-fix-2291
289181
289182             · a81b78381b Merge branch '2016.11' into 2016.11-fix-2291
289183
289184             · 44bc91bb98 Enable '--with-salt-version' parameter for  setup.py
289185               script
289186
289187           · fec714b91d Merge pull request #43962 from bobrik/kmod-built-in
289188
289189             · 95ab901553  Report  built-in  modiles  in kmod.available, fixes
289190               #43945
289191
289192           · e434c39c4e Merge pull request #43960 from cro/ldap_nopw_bind2
289193
289194             · 962a20cf4b Require that bindpw be non-empty if auth.ldap.anony‐
289195               mous=False
289196
289197             · 9df3d91d8f  Release  notes  blurb for change to bindpw require‐
289198               ments
289199
289200           · e9dfda2177 Merge pull request #43991 from Ch3LL/3.8_sec_2
289201
289202             · 1977df8462 Add Security Notes to 2016.3.8 Release Notes
289203
289204           · 2346d2691e   Merge   pull   request   #43968    from    rossenge‐
289205             orgiev/fix-zenoss-prod_state
289206
289207             · e6d31c1ea6 fix zenoss state module not respecting test=true
289208
289209           · 8d56a5ac45 Merge pull request #43776 from Ch3LL/2016.11.8_docs
289210
289211             · f72bc00000 [2016.11] Bump latest and previous versions
289212
289213           · 21bf71c3f5 Merge pull request #43976 from Ch3LL/11.8_sec
289214
289215             · f0c3184288 Add Security Notes to 2016.11.8 Release Notes
289216
289217           · 1d5397ab5b    Merge    pull   request   #43973   from   terminal‐
289218             mage/fix-grains.has_value
289219
289220             · bf45ae6e6a Fix grains.has_value when value is False
289221
289222           · 9ac3f2ea7b Merge pull request #43888 from rallytime/bp-43841
289223
289224             · 87d676f08a add -n with netstat so we don't resolve
289225
289226           · f880ac4c08   Merge   pull    request    #43916    from    dereck‐
289227             son/fix-typo-cloud-scaleway
289228
289229             · 15b8b8a9f4 Fix typo in salt-cloud scaleway documentation
289230
289231       · PR  #44045:  (isbm)  Bugfix: always return a string "list" on unknown
289232         job target type.  @ 2017-10-11 21:58:12 UTC
289233
289234         · 5db1e8c6ca  Merge   pull   request   #44045   from   isbm/isbm-tgt‐
289235           type-fix-2017-port
289236
289237         · 471ff35c2f  Bugfix:  always  return  a string "list" on unknown job
289238           target type.
289239
289240       · ISSUE  #43949:  (arthurlogilab)  [logger]  [sentry]  KeyError:  'SEN‐
289241         TRY_PROJECT' (refs: #43950)
289242
289243       · PR  #44026:  (rallytime)  Back-port  #43950  to  2017.7  @ 2017-10-11
289244         15:27:49 UTC
289245
289246         · PR  #43950:  (arthurlogilab)  [log/sentry]  avoid  KeyError:  'SEN‐
289247           TRY_PROJECT' (refs: #44026)
289248
289249         · 6c8f7fd5ec Merge pull request #44026 from rallytime/bp-43950
289250
289251         · a37e0bad62 [log/sentry] avoid KeyError: 'SENTRY_PROJECT'
289252
289253       · PR  #44012:  (Ch3LL)  Security  Fixes  for  2017.7.2 (refs: #44027) @
289254         2017-10-10 20:04:08 UTC
289255
289256         · 369ee8a132 Merge pull request #44012 from Ch3LL/2017.7.1_follow_up
289257
289258         · 92e05cf1c0 Don't allow path separators in minion ID
289259
289260         · 70133aa305 Do not allow IDs with null bytes in decoded payloads
289261
289262       · PR #44024: (Ch3LL)  Add  2017.7.3  Release  Note  File  @  2017-10-10
289263         20:03:12 UTC
289264
289265         · 4fe029a0ab Merge pull request #44024 from Ch3LL/7.3rn
289266
289267         · 027f509368 Add 2017.7.3 Release Note File
289268
289269       · ISSUE  #43997: (unthought) gce cloud provider breaks for make_master:
289270         True (refs: #43998)
289271
289272       · PR #43998: (unthought) Fix gce make_master @ 2017-10-10 20:01:25 UTC
289273
289274         · e484d16817      Merge      pull      request      #43998       from
289275           unthought/fix-gce-make_master
289276
289277         · 6e9f0fa24e Fix GCE provider: #create returns bootstrap result
289278
289279       · ISSUE  #44013:  (DenisBY)  pkgrepo.managed  broken in 2017.7.2 (refs:
289280         #44016)
289281
289282       · PR #44016: (terminalmage) Fix on_header callback when not redirecting
289283         and no Content-Type present @ 2017-10-10 19:59:24 UTC
289284
289285         · 82b92d54b3 Merge pull request #44016 from terminalmage/issue44013
289286
289287         · d594b95f92  No  need  to set a specific encoding if one hasn't been
289288           provided via the headers
289289
289290         · 425ede4b84 Fix on_header callback when not redirecting and no  Con‐
289291           tent-Type present
289292
289293       · PR  #43952:  (t0fik) add requisites to stateconf ( backport #43920) @
289294         2017-10-10 13:03:31 UTC
289295
289296         · PR #43920: (t0fik) Added missing requisites to  stateconf  renderer
289297           (refs: #43952)
289298
289299         · bd879eb66e Merge pull request #43952 from jdsieci/2017.7_add_requi‐
289300           sites_to_stateconf
289301
289302         · 9994c64670   Merge   branch   '2017.7'    into    2017.7_add_requi‐
289303           sites_to_stateconf
289304
289305       · PR  #43777:  (Ch3LL)  [2017.7]  Bump  latest  and previous versions @
289306         2017-10-09 17:21:57 UTC
289307
289308         · a4358dfa36 Merge pull request #43777 from Ch3LL/2017.7.2_docs
289309
289310         · 410c624f7a [2017.7] Bump latest and previous versions
289311
289312       · PR #43978: (Ch3LL) Add Security Notes to  2017.7.2  Release  Notes  @
289313         2017-10-09 17:20:04 UTC
289314
289315         · 2a064c1a72 Merge pull request #43978 from Ch3LL/7.2_sec
289316
289317         · 57fd6f7bcb Add Security Notes to 2017.7.2 Release Notes
289318
289319       · PR  #43932:  (techhat) Don't try to modify dict while looping through
289320         it @ 2017-10-06 21:20:54 UTC
289321
289322         · d9530e3c52 Merge pull request #43932 from techhat/moddict
289323
289324         · 4a77560646 Don't try to modify dict while looping through it
289325
289326       · PR #43956: (terminalmage) Fix fileclient's get_url  when  redirecting
289327         to a redirect @ 2017-10-06 21:19:41 UTC
289328
289329         · 39893a1dab    Merge    pull    request    #43956   from   terminal‐
289330           mage/fix-get_url-redirects
289331
289332         · 9a4f6a260f Fix fileclient's get_url when redirecting to a redirect
289333
289334       · PR  #43943:  (twangboy)  Fix  unit.utils.test_utils  for  Windows   @
289335         2017-10-06 19:35:24 UTC
289336
289337         · 1baf286719     Merge    pull    request    #43943    from    twang‐
289338           boy/win_unit_test_utils
289339
289340         · 254dac7723 Fix unit.utils.test_utils for Windows
289341
289342              · 89200ff28e rebase from 2017.7.2
289343
289344       · PR #43939: (terminalmage)  Fix  typo  in  log  message  @  2017-10-05
289345         23:20:04 UTC
289346
289347         · a8f1750323 Merge pull request #43939 from terminalmage/fix-typo
289348
289349         · 29d8cf4f26 Fix typo in log message
289350
289351       · ISSUE  #43909:  (frogunder)  state.highstate not working on py3 setup
289352         (refs: #43910)
289353
289354       · ISSUE #43605:  (cruscio)  Module.Run:  Passed  invalid  arguments  to
289355         state.apply:  can't  serialize dict_keys(['task.create_task']) (refs:
289356         #43910)
289357
289358       · PR #43910: (terminalmage) Don't put unserializable  dict.keys()  into
289359         state return @ 2017-10-05 20:33:47 UTC
289360
289361         · 1a718eb1ed Merge pull request #43910 from terminalmage/issue43605
289362
289363         · 042e092ac8 Don't put unserializable dict.keys() into state return
289364
289365       · ISSUE  #41894:  (DR3EVR8u8c) Salt-cloud can't resize root volume with
289366         public ami images (refs: #43907)
289367
289368       · ISSUE  #39257:  (aig787)  Using  del_root_vol_on_destroy  option   in
289369         salt-cloud gives IndexError (refs: #43907)
289370
289371       · PR  #43927:  (rallytime)  Back-port  #43907  to  2017.7  @ 2017-10-05
289372         20:10:16 UTC
289373
289374         · PR #43907: (richardsimko) Make sure EBS volume exists before query‐
289375           ing (refs: #43927)
289376
289377         · PR  #33115:  (rbjorklin)  Fix  override  of  ec2  volumetype (refs:
289378           #43907)
289379
289380         · a7a59868c8 Merge pull request #43927 from rallytime/bp-43907
289381
289382         · f62e8ca87f Make sure volume exists before querying
289383
289384       · PR #43934: (rallytime) [2017.7] Merge forward from 2016.11 to  2017.7
289385         @ 2017-10-05 20:07:36 UTC
289386
289387         · 4fcd4709ea Merge pull request #43934 from rallytime/merge-2017.7
289388
289389         · eaca3291e2 Merge branch '2016.11' into '2017.7'
289390
289391           · 2ab7549d48 Merge pull request #43884 from UtahDave/2016.11local
289392
289393             · e3b2857285 Merge branch '2016.11' into 2016.11local
289394
289395           · 4b882d4272 Merge pull request #43869 from terminalmage/issue43522
289396
289397             · fe28b0d4fb Only join cmd if it's not a string
289398
289399             · 8c671fd0c1 Update SaltConf banner per Rhett's request
289400
289401           · a2161efda3 Merge pull request #43707 from terminalmage/issue43373
289402
289403             · 3ebde1895f Merge branch '2016.11' into issue43373
289404
289405             · e580ed4caa Merge branch '2016.11' into issue43373
289406
289407             · 5b3be6e8af Fix failing unit test
289408
289409             · f73764481b  Add  missing  support  for use/use_in requisites to
289410               state.sls_id
289411
289412       · ISSUE #43658: (kvnaveen) KeyError: 'as_dict'  [DEBUG    ]  LazyLoaded
289413         nested.output (refs: #43886)
289414
289415       · PR  #43886:  (techhat)  Fix  object_to_dict  in  azure  @  2017-10-05
289416         19:33:56 UTC
289417
289418         · 7d174172a0 Merge pull request #43886 from techhat/azuredict
289419
289420         · 223a1eea83 Fix object_to_dict in azure
289421
289422       · PR #43899: (gtmanfred) enable tox for tests @ 2017-10-04 15:08:16 UTC
289423
289424         · 7038248820 Merge pull request #43899 from gtmanfred/2017.7
289425
289426         · 51eca1a6bd enable tox for tests
289427
289428       · PR #43828: (rallytime) [2017.7] Merge forward from 2016.11 to  2017.7
289429         @ 2017-10-04 13:10:13 UTC
289430
289431         · a5abe33e1c Merge pull request #43828 from rallytime/merge-2017.7
289432
289433         · 2ff02e4320 Merge branch '2016.11' into '2017.7'
289434
289435           · 85b3aa332a Merge pull request #43807 from terminalmage/issue43522
289436
289437             · d8708bf698 cmdmod: Don't list-ify string commands on Windows
289438
289439           · ea8d273c2b Merge pull request #43768 from vutny/fix-pylint-depre‐
289440             cation-warnings
289441
289442             · f8b3fa9da1  Merge  branch  '2016.11'  into  fix-pylint-depreca‐
289443               tion-warnings
289444
289445             · 651ed16ad3 Fix Pylint deprecated option warnings
289446
289447       · PR #43854: (keesbos) Map __env__ in git_pillar before sanity checks @
289448         2017-10-02 20:44:53 UTC
289449
289450         · PR #43656: (keesbos) Git pillar fixes (refs: #43854)
289451
289452         · 36b0b1174b Merge pull request #43854 from keesbos/2017.7
289453
289454         · fba9c9a935 Map __env__ in git_pillar before sanity checks
289455
289456       · PR #43847: (cachedout) Fix to module.run @ 2017-10-02 19:25:03 UTC
289457
289458         · c81e8457b8 Merge pull request #43847 from cachedout/module_run_com‐
289459           pare
289460
289461         · b11f8c8f29 Merge pull request #17 from terminalmage/pr-43847
289462
289463           · 93eaba7c54 Use six.iterkeys() instead of dict.keys()
289464
289465           · 5d56a03a67 Improve failures for module.run states
289466
289467         · 71780beb5a Merge branch '2017.7' into module_run_compare
289468
289469       · ISSUE  #43819: (mephi42) archive.extracted shows the http password in
289470         the comment field on failure (refs: #43844)
289471
289472       · PR #43844: (garethgreenaway) [2017.7] Changes to  states/file.py  and
289473         states/archived.py @ 2017-10-01 09:08:48 UTC
289474
289475         · dd01e0ce67    Merge   pull   request   #43844   from   garethgreen‐
289476           away/43819_redact_url_additions
289477
289478         · c58c72aff9 When using URLs in  archive.extracted,  on  failure  the
289479           username    &    password    is    in   the   exception.    Calling
289480           salt.utils.url.redact_http_basic_auth to ensure the credentials are
289481           redacted.
289482
289483           · f0b985cbbe      Merge      branch     'module_run_compare'     of
289484             ssh://github.com/cachedout/salt into module_run_compare
289485
289486             · aefc773c2f Merge branch '2017.7' into module_run_compare
289487
289488       · PR #43840:  (twangboy)  Fix  unit.states.test_augeas  for  Windows  @
289489         2017-09-29 21:53:21 UTC
289490
289491         · 1f52546eab     Merge    pull    request    #43840    from    twang‐
289492           boy/win_fix_test_augeas
289493
289494         · fd1d6c31de Fix unit.states.test_augeas for Windows
289495
289496       · ISSUE #43553: (dafyddj)  Vagrant  setup  (Windows  guest)  broken  on
289497         upgrade to 2017.7 (refs: #43801)
289498
289499       · PR    #43801:   (terminalmage)   Properly   handle   UNC   paths   in
289500         salt.utils.path.readlink() @ 2017-09-29 09:58:02 UTC
289501
289502         · c6fd2cd452 Merge pull request #43801 from terminalmage/issue43553
289503
289504         · 66e6e89dc7 Properly handle UNC paths in salt.utils.path.readlink()
289505
289506       · PR #43800: (Ch3LL) Add note to nitrogen release notes about  pip  for
289507         cent6 @ 2017-09-28 17:36:49 UTC
289508
289509         · 7304907db6 Merge pull request #43800 from Ch3LL/update_7.0
289510
289511         · 50779c3b1c Add note to nitrogen release notes about pip for cent6
289512
289513       · PR  #43779:  (twangboy)  Fix  unit.modules.test_state  for  Windows @
289514         2017-09-28 14:27:03 UTC
289515
289516         · 6f687fdcff    Merge    pull    request    #43779    from     twang‐
289517           boy/win_fix_test_state
289518
289519         · a64fe75816 Use os agnostic paths
289520
289521       · PR  #43782:  (twangboy)  Fix  unit.modules.test_virt  for  Windows  @
289522         2017-09-28 14:25:16 UTC
289523
289524         · db0f569f7a    Merge    pull    request    #43782    from     twang‐
289525           boy/win_fix_test_virt
289526
289527         · 7192332758 Fix unit.modules.test_virt for Windows
289528
289529       · PR #43723: (nicholasmhughes) Fix ini_manage error and change handling
289530         @ 2017-09-28 09:52:09 UTC
289531
289532         · dd4fc52f1e Merge pull request #43723 from  nicholasmhughes/ini_man‐
289533           age-error-handling
289534
289535         · d68c5c4be0 prevent exception when test=True
289536
289537         · cfe37916c3 handling changes per section
289538
289539         · 1c484f6ad5 prevent exception when test=True
289540
289541       · PR  #43781:  (twangboy)  Fix  unit.modules.test_status  for Windows @
289542         2017-09-28 09:06:19 UTC
289543
289544         · 5e29507c21    Merge    pull    request    #43781    from     twang‐
289545           boy/win_fix_test_status
289546
289547         · 16ae8253c1 Mock which, use os.linesep for cmd.run return
289548
289549       · PR   #43785:  (twangboy)  Fix  unit.modules.test_znc  for  Windows  @
289550         2017-09-28 08:56:11 UTC
289551
289552         · 05c78ae649 Merge pull request #43785 from twangboy/win_fix_test_znc
289553
289554         · 7d90721f6b Merge branch '2017.7' into win_fix_test_znc
289555
289556         · 228e74c8e3 Fix unit.modules.test_znc for Windows
289557
289558       · PR #43786: (twangboy)  Fix  unit.modules.test_zypper  for  Windows  @
289559         2017-09-28 08:51:59 UTC
289560
289561         · 10ddb8491c     Merge    pull    request    #43786    from    twang‐
289562           boy/win_fix_test_zypper
289563
289564         · 1c05e37a66 Merge branch '2017.7' into win_fix_test_zypper
289565
289566         · aafec7ab0e Fix unit.modules.test_zypper for Windows
289567
289568       · PR #43773: (rallytime) [2017.7] Merge forward from 2016.11 to  2017.7
289569         @ 2017-09-28 08:48:39 UTC
289570
289571         · 9615ca32d5 Merge pull request #43773 from rallytime/merge-2017.7
289572
289573         · f7035ed7da Merge branch '2017.7' into merge-2017.7
289574
289575         · dfef4a722c Merge branch '2016.11' into '2017.7'
289576
289577           · 1a8cc60bb4 Merge pull request #43772 from gtmanfred/2016.11
289578
289579             · 0194c60960 dont print Minion not responding with quiet
289580
289581           · 9dee896fb9 Merge pull request #43747 from rallytime/gpg-verifica‐
289582             tion
289583
289584             · 7a70de19f4 Merge branch '2016.11' into gpg-verification
289585
289586             · 23bb4a5dde Add GPG Verification section to Contributing Docs
289587
289588       · PR #43784: (twangboy) Fix unit.modules.test_win_service @  2017-09-28
289589         03:14:39 UTC
289590
289591         · 9a9cc69d55     Merge    pull    request    #43784    from    twang‐
289592           boy/win_fix_test_win_service
289593
289594         · 058e50e530 Fix unit.modules.test_win_service
289595
289596       · PR #43774:  (The-Loeki)  typo  fix  aka  what  is  a  'masterarpi'  @
289597         2017-09-27 18:52:19 UTC
289598
289599         · 1254da1df5 Merge pull request #43774 from The-Loeki/patch-1
289600
289601         · 84bbe85e60 typo fix aka what is a 'masterarpi'
289602
289603       · PR  #43732: (twangboy) Skip unit.stats.test_mac_packages on Windows @
289604         2017-09-27 14:48:08 UTC
289605
289606         · 3f888753d4    Merge    pull    request    #43732    from     twang‐
289607           boy/win_skip_mac_pkg_tests
289608
289609         · 1c01e06097 Only skip test on Windows
289610
289611         · ec99a3ce3c Fix lint error
289612
289613         · 61f8a2f7ff Skip mac specific tests
289614
289615       · PR  #43761:  (Ch3LL) Release Notes for 2017.7.2 @ 2017-09-27 14:34:52
289616         UTC
289617
289618         · fb86935d99 Merge pull request #43761 from Ch3LL/release_2017.7.2
289619
289620         · caf5795856 add mac patch notes
289621
289622         · 3d5fce0955 Add 2017.7.2 Release Notes
289623
289624       · PR #43767: (twangboy) Skip  unit.modules.test_snapper  on  Windows  @
289625         2017-09-27 14:10:27 UTC
289626
289627         · 5ea603cf16     Merge    pull    request    #43767    from    twang‐
289628           boy/win_skip_test_snapper
289629
289630         · b41b9c8378 Skip snapper tests on Windows
289631
289632       · PR #43759: (rallytime) [2017.7] Merge forward from 2016.11 to  2017.7
289633         @ 2017-09-27 13:30:38 UTC
289634
289635         · 77c2c7cbf7 Merge pull request #43759 from rallytime/merge-2017.7
289636
289637         · 120f49f2c4 Merge branch '2016.11' into '2017.7'
289638
289639           · 1cc3ad1c8d Merge pull request #43733 from terminalmage/issue43729
289640
289641             · 6e5c99bda0  Allow  docker_events  engine  to  work  with  newer
289642               docker-py
289643
289644           · 5d38be4ff7 Merge pull request #43458 from terminalmage/issue42082
289645
289646             · 5f90812b12 Fix missing PER_REMOTE_ONLY in  cache.clear_git_lock
289647               runner
289648
289649           · 023a563657 Merge pull request #43727 from rallytime/fix-43650
289650
289651             · babad12d83  Revise  "Contributing" docs: merge-forwards/release
289652               branches explained!
289653
289654       · ISSUE #43737:  (syedaali)  salt.loaded.int.module.boto_kinesis.__vir‐
289655         tual__()  is  wrongly  returning  None. It should either return True,
289656         False  or  a  new  name.  If  you're  the  developer  of  the  module
289657         'boto_kinesis', please fix this. (refs: #43748)
289658
289659       · PR  #43748:  (rallytime)  Add message to boto_kinesis modules if boto
289660         libs are missing @ 2017-09-27 13:19:33 UTC
289661
289662         · 5c203df056 Merge pull request #43748 from rallytime/fix-43737
289663
289664         · 5a2593dbd3 Add message to boto_kinesis modules  if  boto  libs  are
289665           missing
289666
289667       · PR  #43731:  (twangboy)  Fix  unit.beacons.test_status  for Windows @
289668         2017-09-26 16:25:12 UTC
289669
289670         · 2581098595 Merge pull request  #43731  from  twangboy/win_unit_bea‐
289671           cons_test_status
289672
289673         · dc1b36b7e2 Change expected return for Windows
289674
289675       · PR  #43724:  (brejoc)  Improved delete_deployment test for kubernetes
289676         module @ 2017-09-26 16:19:31 UTC
289677
289678         · 10f3d47498 Merge  pull  request  #43724  from  brejoc/2017.7.kuber‐
289679           netes_delete_test
289680
289681         · 85b0a8c401 Improved delete_deployment test for kubernetes module
289682
289683       · PR  #43734:  (twangboy) Fix unit.modules.test_poudriere for Windows @
289684         2017-09-26 14:13:47 UTC
289685
289686         · 13cc27bdab    Merge    pull    request    #43734    from     twang‐
289687           boy/win_unit_test_poudriere
289688
289689         · 922e60fa67 Add os agnostic paths
289690
289691       · PR   #43742:  (terminalmage)  Fix  incorrect  value  in  docstring  @
289692         2017-09-26 13:55:00 UTC
289693
289694         · 41aeee7ac8 Merge pull  request  #43742  from  terminalmage/fix-doc‐
289695           string
289696
289697         · 553335b1c9 Fix incorrect value in docstring
289698
289699       · PR  #41998:  (twangboy)  Fix  unit.modules.test_environ for Windows @
289700         2017-09-26 12:25:48 UTC
289701
289702         · d78b9a3294    Merge    pull    request    #41998    from     twang‐
289703           boy/win_unit_test_environ
289704
289705         · d73ef44cf6 Mock with uppercase KEY
289706
289707         · 048e16883f Use uppercase KEY
289708
289709       · PR  #42036:  (twangboy)  Fix  unit.modules.test_file  for  Windows  @
289710         2017-09-26 12:23:10 UTC
289711
289712         · 7fbbea3806    Merge    pull    request    #42036    from     twang‐
289713           boy/win_unit_test_file
289714
289715         · 056f3bb4c0 Use with to open temp file
289716
289717         · 352fe69e35 Clarify the purpose of the for loop
289718
289719         · b55172d5dc Split by Windows and Linux style line endings
289720
289721         · e20aa5c39b Fix line, use os.sep instead of os.linesep
289722
289723         · d5f27901e3 Fix additional bytestring issue
289724
289725         · 716e99c453 Fix py3 bytestring problems
289726
289727         · 543610570c Fix bytestring issues, fix errored tests
289728
289729         · 9fe83a34a5 Remove old variable declaration
289730
289731         · c5cf5e92c1 Fix many tests
289732
289733       · PR  #43557:  (clan)  disable  modify  yaml  constructor  @ 2017-09-25
289734         14:03:47 UTC
289735
289736         · a81d4b8d8d Merge pull request #43557 from clan/yaml
289737
289738         · 485471c8a7 Merge branch '2017.7' into yaml
289739
289740         · da15658304 remove modify yaml constructor
289741
289742       · PR        #43566:        (damon-atkins)         2017.7         update
289743         salt.utils.files.safe_filepath func @ 2017-09-25 13:58:29 UTC
289744
289745         · b5beec16e8       Merge      pull      request      #43566      from
289746           damon-atkins/2017.7_update_safe_filename_func
289747
289748         · c7a652784a remove blank line at end of file
289749
289750         · e97651d49b  Merge  branch  '2017.7'  into  2017.7_update_safe_file‐
289751           name_func
289752
289753         · 3b4c1bbf7f  Merge  branch  '2017.7'  into  2017.7_update_safe_file‐
289754           name_func
289755
289756         · 4c88c80ef9  Merge  branch  '2017.7'  into  2017.7_update_safe_file‐
289757           name_func
289758
289759         · 4171d11838 utils.files.safe_filepath add support to override the os
289760           default directory separator
289761
289762       · ISSUE #43711: (wedge-jarrad) fcontext_get_policy emits command  error
289763         if policy doesn't exist (refs: #43712)
289764
289765       · PR   #43712:  (wedge-jarrad)  Ignore  retcode  on  call  to  grep  in
289766         selinux.py module @ 2017-09-25 13:56:17 UTC
289767
289768         · 3bb337cf6a Merge pull request #43712 from wedge-jarrad/fix-43711
289769
289770         · 96c1ef48e6 Ignore retcode on call to grep in selinux.py module
289771
289772       · ISSUE #43659: (gaborn57) unable to retrieve pillar data  in  postgres
289773         db (refs: #43716)
289774
289775       · PR  #43716:  (gaborn57)  Corrected  custom port handling @ 2017-09-25
289776         13:44:58 UTC
289777
289778         · 5b7411e335 Merge pull request #43716 from gaborn57/2017.7
289779
289780         · 78137c0860 Corrected custom port handling
289781
289782       · PR #43700: (rklaren) Ensure salt-cloud with libvirt provider does not
289783         write low level errors to stderr @ 2017-09-25 01:47:25 UTC
289784
289785         · PR #43684: (rklaren) salt-cloud libvirt updates (refs: #43700)
289786
289787         · 6bbd50c453   Merge   pull   request  #43700  from  rklaren/fix-lib‐
289788           virt-stderr-spam
289789
289790         · 88530c4cb6 Lint fixes
289791
289792         · 235bec492e salt-cloud + libvirt: Mention Fedora 26 support
289793
289794         · 9aecf5f847 Remove stderr spam when using salt-cloud with libvirt
289795
289796       · PR #43702: (rallytime) [2017.7] Merge forward from 2016.11 to  2017.7
289797         @ 2017-09-25 01:26:20 UTC
289798
289799         · 437ac03801 Merge pull request #43702 from rallytime/merge-2017.7
289800
289801         · 132b1b343b Merge branch '2017.7' into merge-2017.7
289802
289803       · ISSUE #38971: (morganwillcock) archive.extracted: lots of unnecessary
289804         file transferring, copying, and hashing (refs: #43681, #43518)
289805
289806       · PR #43681: (terminalmage) Backport the non-fileclient changes from PR
289807         43518 to 2017.7 @ 2017-09-22 19:27:25 UTC
289808
289809         · PR  #43518:  (terminalmage)  Reduce unnecessary file downloading in
289810           archive/file states (refs: #43681)
289811
289812         · 47cd8723c6   Merge   pull    request    #43681    from    terminal‐
289813           mage/issue38971-2017.7
289814
289815         · 91edf865e2 Merge branch '2017.7' into issue38971-2017.7
289816
289817         · 84f34c93be  Backport  the  non-fileclient  changes from PR 43518 to
289818           2017.7
289819
289820       · ISSUE #43396: (mkurtak) yumpkg pkg.installed slowed down due to wild‐
289821         card namig support (refs: #43687)
289822
289823       · PR  #43687: (mkurtak) yumpkg.py: install calls list_repo_pkgs only if
289824         wildcard is used in pkg name @ 2017-09-22 19:23:18 UTC
289825
289826         · 0a1c5185f5 Merge pull request #43687 from mkurtak/fix-43396
289827
289828         · b1e64b11fb yumpkg.py: install calls list_repo_pkgs only if wildcard
289829           in pkg name is used
289830
289831       · ISSUE  #43124:  (UtahDave)  publisher_acl  with regex on username not
289832         working and has no documentation (refs: #43467)
289833
289834       · PR #43467:  (DmitryKuzmenko)  Bugs/43124  users  regex  @  2017-09-22
289835         19:21:09 UTC
289836
289837         · 3a79549af4    Merge    pull   request   #43467   from   DSRCorpora‐
289838           tion/bugs/43124_users_regex
289839
289840         · 14bf2dd8ff Support regex in publisher_acl.
289841
289842         · 9fe32f8b6e Regex support for user names in external_auth config.
289843
289844       · ISSUE #43381: (V3XATI0N)  Sharing  minion  data  cache  causes  false
289845         errors in returns (refs: #43670)
289846
289847       · PR  #43670:  (DmitryKuzmenko)  Fix  for list and contains redis cache
289848         logic.  @ 2017-09-22 17:56:58 UTC
289849
289850         · 0e86266b93   Merge   pull   request   #43670    from    DSRCorpora‐
289851           tion/bugs/43381_redis_cache_fix
289852
289853         · 1c979d5809  Update redis cache contains logic to use more efficient
289854           sismember.
289855
289856         · 039d236948 Fixed list and contains redis cache logic.
289857
289858              · 6e5cf65d65 Merge branch '2016.11' into '2017.7'
289859
289860              · f46c858f25  Merge  pull  request  #43648  from  rallytime/han‐
289861                dle-boto-vpc-errors
289862
289863                · 54842b5012 Handle VPC/Subnet ID not found errors in boto_vpc
289864                  module
289865
289866       · PR #43697: (rallytime) [2017.7] Merge forward from 2016.11 to  2017.7
289867         @ 2017-09-22 17:31:09 UTC
289868
289869         · aa47da35dd Merge pull request #43697 from rallytime/merge-2017.7
289870
289871         · cbae45bec4 Lint: Remove extra line at end of file
289872
289873         · fca4e5563a Merge branch '2016.11' into '2017.7'
289874
289875         · 9dba34aa06 Merge pull request #43575 from akissa/fix-csr-not-recre‐
289876           ated-if-key-changes
289877
289878           · b1b4dafd39 Fix CSR not recreated if key changes
289879
289880         · 1d4fa48209 Merge pull request #43672 from rallytime/bp-43415
289881
289882           · 3fb42bc238 Fix env_order in state.py
289883
289884         · ff832ee607 Merge pull request #43673 from rallytime/bp-43652
289885
289886           · d91c47c6f0 Salt Repo has Deb 9 and 8
289887
289888         · 365cb9fba8  Merge  pull  request  #43677   from   terminalmage/run‐
289889           ners-docs-2016.11
289890
289891           · 2fd88e94fa Fix RST headers for runners (2016.11 branch)
289892
289893         · be38239e5d     Merge    pull    request    #43534    from    twang‐
289894           boy/win_fix_pkg.install_2016.11
289895
289896           · 1546c1ca04 Add posix=False to call to salt.utils.shlex_split
289897
289898         · 0d3fd3d374 Merge pull request  #43661  from  moio/2016.11-multipro‐
289899           cessing-doc-fix
289900
289901           · 625eabb83f multiprocessing minion option: documentation fixes
289902
289903         · 6b4516c025  Merge  pull  request  #43646 from brejoc/2016.11.4-pid‐
289904           file-tests
289905
289906           · 96f39a420b Fixed linting
289907
289908           · 08fba98735 Fixed several issues with the test
289909
289910           · 3a089e450f Added tests for pid-file deletion in DaemonMixIn
289911
289912         · cfb1625741 Merge pull request #43591 from rallytime/merge-2016.11
289913
289914           · 57b9d642c2 Merge branch '2016.11.8' into '2016.11'
289915
289916             · e83421694f Merge pull request #43550 from twangboy/osx_fix_pre‐
289917               install_2016.11.8
289918
289919               · 1b0a4d39d2 Fix logic in /etc/paths.d/salt detection
289920
289921             · a648f75949 Merge pull request #43508 from rallytime/bp-43333
289922
289923               · d4981a2717 Update doco
289924
289925               · a7c8b9e048 Update win_pkg.py
289926
289927               · 1d6dc6fb72  Docs  are  wrong  cache_dir (bool) and cache_file
289928                 (str) cannot be passed on the cli (#2)
289929
289930             · e7009877bc   Merge   pull   request    #43434    from    rally‐
289931               time/2016.11.8-release-notes
289932
289933               · 68f529ee5e Add 2016.11.8 release notes
289934
289935         · 8671b91f62       Merge      pull      request      #43572      from
289936           vutny/fix-salt-cloud-list-min-instance-set
289937
289938           · 21966e7ce8 cloud.action: list_nodes_min returns all instances
289939
289940       · PR  #43314:  (twangboy)  Fix  unit.utils.test_verify  for  Windows  @
289941         2017-09-21 22:26:13 UTC
289942
289943         · e6dc4d64df     Merge    pull    request    #43314    from    twang‐
289944           boy/win_fix_unit.utils.test_verify
289945
289946         · 9ada7f626c Merge branch '2017.7' into  win_fix_unit.utils.test_ver‐
289947           ify
289948
289949         · c0dc3f73ef Use sys.platform instead of salt.utils to detect Windows
289950
289951         · e496d28cbf Fix unit.utils.test_verify for Windows
289952
289953       · ISSUE  #43599: (vernondcole) Incorrect default for salt.cache.Cache()
289954         if opts does not define "cache" (refs: #43680)
289955
289956       · PR #43680: (vernondcole) correct default value for salt.cache.Cache @
289957         2017-09-21 20:09:36 UTC
289958
289959         · ec34df2c27    Merge    pull    request    #43680    from   vernond‐
289960           cole/fix-salt.cache.Cache-default
289961
289962         · 292f8c79b8 correct default value for salt.cache.Cache
289963
289964       · PR #43530: (twangboy) Fixes removal of double-quotes  by  shlex_split
289965         in winrepo @ 2017-09-21 18:04:48 UTC
289966
289967         · 99d9d784b1     Merge    pull    request    #43530    from    twang‐
289968           boy/win_fix_pkg.install
289969
289970         · 7f59119f95 Merge branch '2017.7' into win_fix_pkg.install
289971
289972         · f146399f7a Use posix=False for shlex.split
289973
289974       · PR #43671: (rallytime) [2017.7] Merge forward from 2017.7.2 to 2017.7
289975         @ 2017-09-21 16:39:49 UTC
289976
289977         · 12b5e62d81 Merge pull request #43671 from rallytime/merge-2017.7
289978
289979         · a401166bd5 Merge branch '2017.7.2' into '2017.7'
289980
289981       · PR #43676: (terminalmage) Fix RST headers for runners (2017.7 branch)
289982         @ 2017-09-21 16:36:21 UTC
289983
289984         · e3a2fbc2a3  Merge  pull  request  #43676   from   terminalmage/run‐
289985           ners-docs-2017.7
289986
289987         · 9b74634b23 Fix badly-formatted RST in mattermost runner docstring
289988
289989         · c0a79c70a4 Fix RST headers for runners (2017.7 branch)
289990
289991       · PR  #43235:  (brejoc) Improve delete_deployment handling @ 2017-09-20
289992         21:33:33 UTC
289993
289994         · d02953ce6a    Merge    pull    request     #43235     from     bre‐
289995           joc/improve-async-operation-handling-in-kubernetes-module
289996
289997         · 4e8da3045f Fixed logic for windows fallback
289998
289999         · 3b1cb884b9  Merge branch '2017.7' into improve-async-operation-han‐
290000           dling-in-kubernetes-module
290001
290002         · d1b5ec098c Merge branch '2017.7' into  improve-async-operation-han‐
290003           dling-in-kubernetes-module
290004
290005         · 35cf69bc50 Moved exception Salt core
290006
290007         · 7431ec64e3 Removed unused sys import
290008
290009         · 0c71da95f6 Using salt method to identify MS Windows, single instead
290010           of double quotes
290011
290012         · 20619b24c4 Fixed test for delete_deployment
290013
290014         · 91076bbafa Merge branch '2017.7' into  improve-async-operation-han‐
290015           dling-in-kubernetes-module
290016
290017         · 7b600e2832   Added   pylint-disable   statements   and  import  for
290018           salt.ext.six.moves.range
290019
290020         · 99fe138325 Code styling and added log message for timeout
290021
290022         · dcd8d4f639 Merge branch '2017.7' into  improve-async-operation-han‐
290023           dling-in-kubernetes-module
290024
290025         · 702a058c38 Fixed linting
290026
290027         · 3fe623778e Added Windows fallback
290028
290029         · 52b1cb8147 Compatibility with Python3.6
290030
290031         · 767af9bb4f Added timeout for checking the deployment
290032
290033         · 32d7d34fe5 First simple draft for the deletion verification
290034
290035       · PR #43554: (twangboy) Win fix chocolatey @ 2017-09-20 16:06:18 UTC
290036
290037         · 73cb0c27b5  Merge  pull request #43554 from twangboy/win_fix_choco‐
290038           latey
290039
290040         · e04acb6216 Merge branch '2017.7' into win_fix_chocolatey
290041
290042         · 56be5c35eb Improve logic for handling chocolatey states
290043
290044         · bcbf7b4e68 Add logic for test=True
290045
290046       · ISSUE   #43598:    (davidvon)    Passed    invalid    arguments    to
290047         mysql.file_query:  unsupported  operand  type(s)  for  +=:  'int' and
290048         'tuple' (refs: #43625)
290049
290050       · PR #43625: (gtmanfred)  results  and  columns  are  lists  for  mysql
290051         returns @ 2017-09-20 15:42:59 UTC
290052
290053         · ed7eeaaafb Merge pull request #43625 from gtmanfred/2017.7
290054
290055         · f84b50a06b results and columns are lists for mysql returns
290056
290057       · ISSUE   #43560:   (smitelli)   salt.states.linux_acl   requires  set‐
290058         facl/getacl binaries but this is not obvious (refs: #43587, #43580)
290059
290060       · PR #43587: (rallytime) Add reason to linux_acl state loading  failure
290061         @ 2017-09-19 16:26:51 UTC
290062
290063         · PR  #43580:  (garethgreenaway) Updating ACL module and state module
290064           documentation (refs: #43587)
290065
290066         · 1bda4832ef Merge pull request #43587 from rallytime/fix-virtual
290067
290068         · e5297e3869 Add reason to linux_acl state loading failure
290069
290070       · PR #43584: (cachedout) Enhance engines docs @ 2017-09-18 20:40:57 UTC
290071
290072         · 2e19533e3c    Merge    pull    request    #43584    from    cached‐
290073           out/engines_doc_clarification
290074
290075         · 634536b0ff Merge branch '2017.7' into engines_doc_clarification
290076
290077         · 1a619708c1 Enhance engines docs
290078
290079       · PR  #43519:  (terminalmage) Fix incorrect handling of pkg virtual and
290080         os_family grain @ 2017-09-18 20:35:01 UTC
290081
290082         · 50b134ef4c Merge pull request #43519 from terminalmage/fix-aptpkg
290083
290084         · 0e3c447567 Fix incorrect handling  of  pkg  virtual  and  os_family
290085           grain
290086
290087       · PR  #43520:  (clan)  _search_name  is  ''  if  acl  type  is  other @
290088         2017-09-18 20:33:51 UTC
290089
290090         · dd953f36ae Merge pull request #43520 from clan/acl
290091
290092         · 54216177c1 _search_name is '' if acl type is other
290093
290094       · PR #43561: (wedge-jarrad) Clean up doc formatting in selinux state  &
290095         module @ 2017-09-18 20:28:47 UTC
290096
290097         · ad9663a7fc    Merge    pull    request   #43561   from   wedge-jar‐
290098           rad/selinux-doc-cleanup
290099
290100         · 1bd263cd51 Clean up doc formatting in selinux state & module
290101
290102       · ISSUE  #43560:   (smitelli)   salt.states.linux_acl   requires   set‐
290103         facl/getacl binaries but this is not obvious (refs: #43587, #43580)
290104
290105       · PR  #43580:  (garethgreenaway)  Updating  ACL module and state module
290106         documentation (refs: #43587) @ 2017-09-18 20:11:26 UTC
290107
290108         · cc3d9c1a01   Merge   pull   request   #43580   from    garethgreen‐
290109           away/43560_update_linux_acl_documentation
290110
290111         · e63fae4c91  Merge branch '2017.7' into 43560_update_linux_acl_docu‐
290112           mentation
290113
290114       · PR #43523: (skizunov) Add back lost  logic  for  multifunc_ordered  @
290115         2017-09-18 17:46:16 UTC
290116
290117         · PR  #38168:  (skizunov) Add support for a multi-func job using same
290118           func more than once (refs: #43523)
290119
290120         · bf7b23316f Merge pull request #43523 from skizunov/develop2
290121
290122         · fb579321a9 Add back lost logic for multifunc_ordered
290123
290124           · 117a0ddbbc Updating the documentation to call out the requirement
290125             for the getfacl and setfacl binaries
290126
290127                · 49f25b9f19 Lint
290128
290129                · 31d17c0124 Fix typo found by @s0undt3ch
290130
290131                · 5dba74d2cb Fix to module.run [WIP]
290132
290133       · ISSUE  #43447: (UtahDave) When using Syndic with Multi Master the top
290134         level master doesn't reliably get returns from lower  minion.  (refs:
290135         #43526)
290136
290137       · PR #43526: (DmitryKuzmenko) Forward events to all masters syndic con‐
290138         nected to @ 2017-09-18 16:54:46 UTC
290139
290140         · e29efecf4f   Merge   pull   request   #43526    from    DSRCorpora‐
290141           tion/bugs/43447_syndic_events_forwarding
290142
290143         · 64d6109654 Merge branch '2017.7' into bugs/43447_syndic_events_for‐
290144           warding
290145
290146         · 3b2a529385 Merge branch '2017.7' into bugs/43447_syndic_events_for‐
290147           warding
290148
290149         · 0e4a744d95 Forward events to all masters syndic connected to.
290150
290151       · ISSUE  #43077:  (Manoj2087) Issue with  deleting key via wheel (refs:
290152         #43330)
290153
290154       · PR #43330: (terminalmage) Fix reactor regression + unify reactor con‐
290155         fig schema @ 2017-09-18 16:46:11 UTC
290156
290157         · 56b671e087 Merge pull request #43330 from terminalmage/issue43077
290158
290159         · a7b4e1f782 Simplify client logic
290160
290161         · b85c8510c7 Improve the reactor documentation
290162
290163         · 20f6f3cc39 Include a better example for reactor in master conf file
290164
290165         · 4243a2211d Rewrite the reactor unit tests
290166
290167         · 9db3f5ae6d Unify reactor configuration, fix caller reactors
290168
290169         · 34b6c3b65f Un-deprecate passing kwargs outside of 'kwarg' param
290170
290171       · ISSUE  #33793: (mstarostik) states.ssh_auth adds bogus newline before
290172         newly added keys (refs: #43483)
290173
290174       · PR #43505:  (rallytime)  Back-port  #43483  to  2017.7  @  2017-09-15
290175         21:22:12 UTC
290176
290177         · PR  #43483: (3add3287) Handle bogus newline before newly added keys
290178           (refs: #43505)
290179
290180         · 078d5d17de Merge pull request #43505 from rallytime/bp-43483
290181
290182         · c68dd5b8a4 Lint: fix spacing
290183
290184         · 406f61ac9a Fix indentation from tabs to spaces
290185
290186         · 923ec62771 Copy paste typo
290187
290188         · 6f6619242f Fix checking for newline on  end  of  file  by  properly
290189           checking the last byte of the file if the file is non empty.
290190
290191       · ISSUE #43464: (psagers) acme.cert state: IOError on failure to create
290192         a new certificate (refs: #43465)
290193
290194       · PR #43491:  (rallytime)  Back-port  #43465  to  2017.7  @  2017-09-15
290195         18:24:47 UTC
290196
290197         · PR  #43465:  (psagers)  acme.cert: avoid IOError on failure. (refs:
290198           #43491)
290199
290200         · a6df3f2acc Merge pull request #43491 from rallytime/bp-43465
290201
290202         · 3118faca0a acme.cert: avoid IOError on failure.
290203
290204       · PR #43492: (rallytime) [2017.7] Merge forward from 2016.11 to  2017.7
290205         @ 2017-09-15 18:23:49 UTC
290206
290207         · 3620c15c9a Merge pull request #43492 from rallytime/merge-2017.7
290208
290209         · 4251ce5a27 Merge branch '2016.11' into '2017.7'
290210
290211           · f2b86fa2db Merge pull request #43461 from twangboy/win_norestart
290212
290213             · 2d269d1a76 Change all comment markers to '#'
290214
290215             · d80aea16cb Handle ErrorCodes returned by VCRedist installer
290216
290217             · fb31e9a530 Add /norestart switch to vcredist install
290218
290219           · 90e8ca9c36  Merge  pull  request  #43366 from brejoc/2016.11.pid‐
290220             file-fix
290221
290222             · 6e3eb76c79 Removed unused format argument
290223
290224             · daf4948b3d Catching error when PIDfile cannot be deleted
290225
290226           · a6c458607a  Merge   pull   request   #43442   from   garethgreen‐
290227             away/43386_2016_11_schedule_kwargs_pub
290228
290229             · e637ecbe86  Merge  branch  '2016.11'  into 43386_2016_11_sched‐
290230               ule_kwargs_pub
290231
290232             · 6114df8dc3 Adding a small check to ensure we do not continue to
290233               populate kwargs with __pub_ items from the kwargs item.
290234
290235           · 3c429299f9  Merge  pull  request #43456 from rallytime/43445_fol‐
290236             low_up
290237
290238             · 35c1d8898d Add Neon to version list
290239
290240           · 6db7a721c0     Merge      pull      request      #43441      from
290241             meaksh/2016.11-salt-bash-completion-fix
290242
290243             · be4f26ab21  Use  $HOME  to  get the user home directory instead
290244               using '~' char
290245
290246           · 05fff44a50 Merge pull request #43445 from rallytime/bump-depreca‐
290247             tion-warning
290248
290249             · c91cd1c6d9       Bump       deprecation       warning       for
290250               boto_vpc.describe_route_table
290251
290252           · c57dc5f0e3 Merge pull request #43432 from rallytime/bp-43419
290253
290254             · c471a29527 make cache dirs when spm starts
290255
290256       · ISSUE #43479: (haam3r) Mattermost runner failing to  retrieve  config
290257         values due to unavailable config runner   (refs: #43513)
290258
290259       · PR #43513: (haam3r) Issue #43479 No runners.config in 2017.7 branch @
290260         2017-09-15 14:58:27 UTC
290261
290262         · 8a90c7059b Merge pull request #43513 from haam3r/2017.7
290263
290264         · 58f7d051c9 Issue #43479 No runners.config in 2017.7 branch
290265
290266       · ISSUE #42926: (nixjdm) network.system not setting hostname  in  hosts
290267         file, preventing sudo. (refs: #43431)
290268
290269       · PR #43431: (mattLLVW) Fix /etc/hosts not being modified when hostname
290270         is changed @ 2017-09-13 18:35:55 UTC
290271
290272         · c3d9e2d9b2 Merge pull request #43431 from mattLLVW/fix-hosts-deb
290273
290274         · c6320b1dff Merge branch '2017.7' into fix-hosts-deb
290275
290276         · a3b2e19149 Fix /etc/hosts  not  being  modified  when  hostname  is
290277           changed
290278
290279       · PR #43403: (twangboy) Proper timestamp conversion in redis.lastsave @
290280         2017-09-12 21:18:06 UTC
290281
290282         · a09f289fbb Merge pull request #43403 from twangboy/win_fix_redismod
290283
290284         · f6da23e1aa Properly handle timestamp conversion
290285
290286       · PR #43463: (twangboy) Add /norestart switch to vcredist  installer  @
290287         2017-09-12 20:29:27 UTC
290288
290289         · 0eaa5acb72     Merge    pull    request    #43463    from    twang‐
290290           boy/win_norestart_2017.7
290291
290292         · 6984b8fd60 Add /norestart to vcredist installer
290293
290294       · ISSUE #43386: (rajvidhimar) Scheduler's  job_kwargs  not  working  as
290295         expected. (refs: #43443, #43442)
290296
290297       · PR #43443: (garethgreenaway) [2017.7] Fixes to scheduler __pub values
290298         in kwargs @ 2017-09-12 18:14:46 UTC
290299
290300         · 2fc237a806   Merge   pull   request   #43443   from    garethgreen‐
290301           away/43386_2017_7_schedule_kwargs_pub
290302
290303         · a29a9855a6 Fixing typo.
290304
290305         · 2681b7d3fa   Merge   branch   '2017.7'   into   43386_2017_7_sched‐
290306           ule_kwargs_pub
290307
290308       · ISSUE  #39775:  (mirceaulinic)  Proxy  mine_interval  config  ignored
290309         (refs: #41547)
290310
290311       · PR #41547: (mirceaulinic) Override proxy minion opts with pillar data
290312         @ 2017-09-11 21:47:51 UTC
290313
290314         · 5378ac7756 Merge pull request #41547 from  cloudflare/px_merge_pil‐
290315           lar_opts
290316
290317         · aad39ba665 Document the new opts
290318
290319         · cdc0d9674a Allow disabling the mines details merge
290320
290321         · 732b63b0b9 Merge mine details whenever possible
290322
290323         · 96b31d5643 Override proxy opts with pillar data when required
290324
290325         · fd499887f9 Define new proxy merge pillar in opts... opts
290326
290327         · abab6fd91c Override minion opts with pillar data
290328
290329       · PR #41943: (twangboy) Fix unit.returners.test_local_cache for Windows
290330         @ 2017-09-11 21:34:03 UTC
290331
290332         · 08d102c869    Merge    pull    request    #41943    from     twang‐
290333           boy/win_unit_test_local_cache
290334
290335         · 3777b34572 Merge branch '2017.7' into win_unit_test_local_cache
290336
290337         · 35b79ecde6 Remove cur variable, use time.time() in comparison
290338
290339         · 9b61533b09 Get more accurate currnet time in local_cache
290340
290341         · 844e3f65bc Fix unit tests for Windows
290342
290343       · PR  #43424:  (twangboy)  Fix  unit.modules.test_hosts  for  Windows @
290344         2017-09-11 21:28:41 UTC
290345
290346         · 50ab79f0cb    Merge    pull    request    #43424    from     twang‐
290347           boy/win_unit_test_hosts
290348
290349         · 90dcf8287c Fix unit.modules.test_hosts for Windows
290350
290351       · PR #42652: (skizunov) Fix loader.py's raw_mod() to look in all module
290352         dirs @ 2017-09-11 19:43:48 UTC
290353
290354         · 0f0ed5a093 Merge pull request #42652 from skizunov/develop3
290355
290356         · d82e406f15 Fix loader.py's raw_mod() to look in all module dirs
290357
290358       · PR #43438: (rallytime) [2017.7] Merge forward from 2016.11 to  2017.7
290359         @ 2017-09-11 18:33:39 UTC
290360
290361         · ca091bc8a4 Merge pull request #43438 from rallytime/merge-2017.7
290362
290363         · ef7b4242c3 Merge branch '2016.11' into '2017.7'
290364
290365           · 57cccd75d0  Merge  pull  request  #43390  from aogier/43387-gene‐
290366             sis-qemu
290367
290368             · 496f14a7e7 forgot to mock the proper one
290369
290370             · 51c7a1ba00 only check if static_qemu is_executable()
290371
290372             · 70642e495d better qemu_static parameter  mangle  in  deboostrap
290373               management, tests
290374
290375           · 6106aec696 Merge pull request #43356 from gtmanfred/2016.11
290376
290377             · 3f19b247f3 Add handler.messages back in for test comparison
290378
290379             · 9911b04208 fix test
290380
290381             · 3c6ae99a77 never-download got readded
290382
290383           · e638fac54e    Merge    pull    request    #43325   from   doesit‐
290384             blend/salt-mine-doc-fix
290385
290386             · 1e94d0ac3a Lint: Remove trailing whitespace
290387
290388             · 51af8f8757 Fix mine_interval phrasing in default file
290389
290390             · ba0cdd4536 Fix phrasing for mine_interval description
290391
290392             · 9ff03c2d43 Update Salt Mine  documentation  to  show  that  the
290393               mine_interval option is configured in minutes.
290394
290395           · fc587f784a Merge pull request #43105 from aogier/43086-no-member
290396
290397             · 5111cf8bad Merge branch '2016.11' into 43086-no-member
290398
290399           · d97a680372 Merge pull request #43333 from damon-atkins/2016.11
290400
290401             · 92de2bb498 Update doco
290402
290403             · fc9c61d12e Update win_pkg.py
290404
290405             · c91fc14704 Merge branch '2016.11' into 2016.11
290406
290407             · cb3af2bbbd Docs are wrong cache_dir (bool) and cache_file (str)
290408               cannot be passed on the cli (#2)
290409
290410                  · 42a118ff56 fixed cmd composition and  unified  his  making
290411                    across module
290412
290413                        · 3fd59ed369  Adding a small check to ensure we do not
290414                          continue to populate kwargs with __pub_  items  from
290415                          the kwargs item.
290416
290417       · PR  #43320: (twangboy) Fix unit.modules.test_alternatives for Windows
290418         @ 2017-09-11 17:28:00 UTC
290419
290420         · a9592dd3e2 Merge pull request #43320 from twangboy/win_fix_alterna‐
290421           tives
290422
290423         · a909813fa5 Remove unused import (lint)
290424
290425         · 3ef8d714cb Fix unit tests to mock salt.utils.path.readlink
290426
290427         · c0d81aa1ce Use salt.utils.path.readlink
290428
290429         · 7c4460164b Fix alternatives for Windows
290430
290431       · PR  #43363: (twangboy) Fix unit.modules.test_ini_manage for Windows @
290432         2017-09-11 17:10:31 UTC
290433
290434         · 9b89e49846    Merge    pull    request    #43363    from     twang‐
290435           boy/scratch_ini_tests
290436
290437         · a94319a082 Make sure formatting of TEST_FILE_CONTENT matches origi‐
290438           nal
290439
290440         · 6263bc8983 Remove print statement
290441
290442         · 79cd3831ae Fix empty value preserved test
290443
290444         · 85997391f1 Is this handled the same on Linux and Windows
290445
290446       · PR #43421: (gtmanfred) Revert "Reduce fileclient.get_file latency  by
290447         merging _file_find and … @ 2017-09-11 17:07:18 UTC
290448
290449         · 673ce387c1 Merge pull request #43421 from gtmanfred/compat
290450
290451         · f85bf8c18f  Revert  "Reduce  fileclient.get_file latency by merging
290452           _file_find and _file_hash"
290453
290454       · ISSUE #42165:  (arount)  top_file_merging_strategy:  merge  does  not
290455         works (refs: #43415)
290456
290457       · PR  #43415:  (mattLLVW)  Fix  env_order  in state.py (refs: #43672) @
290458         2017-09-11 15:18:08 UTC
290459
290460         · 47d982fd37 Merge pull request #43415 from mattLLVW/fix-env-order
290461
290462         · f6313a1b2c Merge branch '2017.7' into fix-env-order
290463
290464         · e93a962980 Fix env_order in state.py
290465
290466       · PR #43422: (twangboy) Fix unit.cloud.clouds.test_ec2  for  Windows  @
290467         2017-09-11 15:17:20 UTC
290468
290469         · e89e23a32e     Merge    pull    request    #43422    from    twang‐
290470           boy/win_unit_cloud_ec2
290471
290472         · 1379627334 Fix unit.cloud.clouds.test_ec2 for Windows
290473
290474       · PR  #43423:  (twangboy)  Fix  unit.modules.test_gem  for  Windows   @
290475         2017-09-11 15:15:28 UTC
290476
290477         · 54f833ac59     Merge    pull    request    #43423    from    twang‐
290478           boy/win_unit_test_gem
290479
290480         · b2cea18d13 Fix unit.modules.test_gem for Windows
290481
290482       · PR #43419: (gtmanfred) make cache dirs when spm starts (refs: #43432)
290483         @ 2017-09-11 13:42:50 UTC
290484
290485         · b3116109e5 Merge pull request #43419 from gtmanfred/2017.7
290486
290487         · 58378866e5 make cache dirs when spm starts
290488
290489       · PR  #43371: (rallytime) [2017.7] Merge forward from 2016.11 to 2017.7
290490         @ 2017-09-08 15:39:12 UTC
290491
290492         · 9b27473763 Merge pull request #43371 from rallytime/merge-2017.7
290493
290494         · 7b07b58396 Merge branch '2016.11' into '2017.7'
290495
290496           · 0c986f5eba Merge pull request #43361 from rallytime/bp-43329
290497
290498             · b09e5b4379 Fix #43295, better handling of consul initialization
290499               issues
290500
290501           · 22287439e6      Merge      pull      request      #42903     from
290502             junovitch/issue-35840-fix-preserve-minion-cache-2016.11
290503
290504             · c9d4fdbd45 Merge  branch  '2016.11'  into  issue-35840-fix-pre‐
290505               serve-minion-cache-2016.11
290506
290507             · 93a68e32a5  Merge  branch  '2016.11'  into issue-35840-fix-pre‐
290508               serve-minion-cache-2016.11
290509
290510             · 079f097985  Fix  'preserve_minion_cache:  True'   functionality
290511               (fixes #35840)
290512
290513           · 4860e10757 Merge pull request #43360 from terminalmage/sj-496
290514
290515             · 433bca14b1 Fix KeyError in yumpkg configparser code on Python 3
290516
290517             · f6c16935d8 Move --showduplicates before repository-packages
290518
290519           · 4ba2dbe41e    Merge    pull    request    #43244    from   rally‐
290520             time/release-branch-clarifications
290521
290522             · 0d5a46dbaa Update  release  branch  section  with  a  few  more
290523               details
290524
290525           · 1a012eb3d7 Merge pull request #43359 from gtmanfred/ipaddr
290526
290527             · 23d9abb560 ipaddr_start ipaddr_end for el7
290528
290529           · 8f88111be8  Merge  pull  request  #43247  from rallytime/mention‐
290530             bot-backports
290531
290532             · 2b85757d73 Always notify tkwilliams when changes occur on  boto
290533               files
290534
290535             · 40b5a29f90 Add basepi to userBlacklist for mention bot
290536
290537             · bad8f56969  Always  notify ryan-lane when changes occur on boto
290538               files
290539
290540       · PR #43398:  (twangboy)  Fix  unit.modules.test_mount  for  Windows  @
290541         2017-09-08 13:39:29 UTC
290542
290543         · 97f05ff603     Merge    pull    request    #43398    from    twang‐
290544           boy/win_fix_test_mount
290545
290546         · 4a8d7e522c Fix tests, Use full path to salt.utils.which
290547
290548       · PR  #43399:  (twangboy)  Fix  unit.modules.test_pam  for  Windows   @
290549         2017-09-08 13:37:50 UTC
290550
290551         · 6a4cc5c1b0 Merge pull request #43399 from twangboy/win_fix_test_pam
290552
290553         · 6257aa964a Fix unit.modules.test_pam for Windows
290554
290555       · PR  #43400:  (twangboy)  Fix  unit.modules.test_parted  for Windows @
290556         2017-09-08 13:37:00 UTC
290557
290558         · 2b5cfae3f8    Merge    pull    request    #43400    from     twang‐
290559           boy/win_unit_test_parted
290560
290561         · 8e3e897ee2 Fix unit.modules.test_parted for Windows
290562
290563       · PR  #43401:  (twangboy)  Fix unit.modules.test_pw_group for Windows @
290564         2017-09-08 13:35:45 UTC
290565
290566         · 332deeb013    Merge    pull    request    #43401    from     twang‐
290567           boy/win_unit_test_pw_group
290568
290569         · 78e39a1b9d Fix unit.modules.test_pw_group for Windows
290570
290571       · PR  #43402:  (twangboy)  Fix unit.modules.test_qemu_nbd for Windows @
290572         2017-09-08 13:34:58 UTC
290573
290574         · c0f54bfef1    Merge    pull    request    #43402    from     twang‐
290575           boy/win_unit_test_qemu_nbd
290576
290577         · 531ce8022b Fix unit.modules.test_qemu_nbd for Windows
290578
290579       · PR  #43404:  (twangboy)  Fix  unit.modules.test_seed  for  Windows  @
290580         2017-09-08 13:32:41 UTC
290581
290582         · be88fbb45f    Merge    pull    request    #43404    from     twang‐
290583           boy/win_unit_test_seed
290584
290585         · 6ceb895a84 Use os.path.join for paths
290586
290587       · PR  #43301:  (twangboy)  Fix  unit.test_spm  for Windows @ 2017-09-08
290588         13:24:35 UTC
290589
290590         · 612c6a8756    Merge    pull    request    #43301    from     twang‐
290591           boy/win_fix_unit_test_spm
290592
290593         · 8608a6b303 Merge branch '2017.7' into win_fix_unit_test_spm
290594
290595         · b8da04c04d Add Mike's changes
290596
290597         · f36efbd6a7 Fix unit.test_spm for Windows
290598
290599       · PR  #43372: (skizunov) Fix system.set_system_time when no hw clock is
290600         present @ 2017-09-07 17:45:33 UTC
290601
290602         · f959113694 Merge pull request #43372 from skizunov/develop5
290603
290604         · 281e471853 Fix system.set_system_time when no hw clock is present
290605
290606       · PR #43193: (jettero) Prevent spurious "Template does not exist" error
290607         @ 2017-09-06 20:16:58 UTC
290608
290609         · PR  #39516:  (jettero)  Prevent  spurious "Template does not exist"
290610           error (refs: #43193)
290611
290612         · 6d13535ed0   Merge   pull   request   #43193   from    jettero/tem‐
290613           plate-dne-again
290614
290615         · cde8aed2cf Merge branch '2017.7' into template-dne-again
290616
290617       · ISSUE  #42706:  (blarghmatey)  Parallel  Cache Failure (refs: #43018,
290618         #43159)
290619
290620       · PR #43159: (jubrad) Bp 43018 @ 2017-09-05 22:29:16 UTC
290621
290622         · PR  #43056:  (damon-atkins)  safe_filename_leaf(file_basename)  and
290623           safe_filepath(file_path_name) (refs: #43159, #43172)
290624
290625         · PR #43018: (jubrad) Update state.py (refs: #43159, #43727)
290626
290627         · 015cbc57d9 Merge pull request #43159 from jubrad/bp-43018
290628
290629         · 25419a56db Merge branch '2017.7' into bp-43018
290630
290631         · 971b4c0890 Merge branch '2017.7' into bp-43018
290632
290633         · 4f8e6c65e5  access  safe_filename_leaf through utils.files, changed
290634           in #43172
290635
290636         · 42064883ea state.py remove unused urllib import
290637
290638         · 4957268b37 update state.py to use safe_filename_leaf
290639
290640         · b8ead879ed Fixing lint issues
290641
290642         · 446457d017 Swapping from for import
290643
290644         · fb80e17400 state.py: fix import and utf8 encode before quote
290645
290646         · 1dcf167bb7 Update state.py
290647
290648       · PR #43232: (terminalmage) Improve inheritance in  salt.utils.gitfs  @
290649         2017-09-05 20:37:06 UTC
290650
290651         · 6e1b541b46 Merge pull request #43232 from terminalmage/gitfs-inher‐
290652           itance
290653
290654         · 53bd3a3e23 Improve inheritance in salt.utils.gitfs
290655
290656       · PR #43238: (s0undt3ch) Include the line number by default on the  log
290657         file format @ 2017-09-05 20:31:54 UTC
290658
290659         · 086b220091 Merge pull request #43238 from s0undt3ch/2017.7
290660
290661         · 630a1db3ab  Include the line number by default on the log file for‐
290662           mat
290663
290664       · PR #43294: (twangboy) Win build scripts @ 2017-09-05 20:12:54 UTC
290665
290666         · 09dc58cde5    Merge    pull    request    #43294    from     twang‐
290667           boy/win_build_scripts
290668
290669         · 9979ccb613 Remove Py2 and Py3 in the same run
290670
290671         · a5d9f85db6 Modifications to build scripts
290672
290673       · PR  #43322: (rallytime) [2017.7] Merge forward from 2016.11 to 2017.7
290674         @ 2017-09-05 18:21:26 UTC
290675
290676         · 21ab306ef4 Merge pull request #43322 from rallytime/merge-2017.7
290677
290678         · b1062f8c15 Merge branch '2016.11' into '2017.7'
290679
290680           · 02867fdcd2 Merge pull request #43277 from rallytime/owners-file
290681
290682             · 2b4da0f0e7 Add CODEOWNERS file
290683
290684           · 1c1c484479 Merge pull request #43312 from lordcirth/fix-cron-docs
290685
290686             · ec94a13750 cron docs: Remind user to  use  quotes  for  special
290687               strings
290688
290689           · 0d1ed4b750    Merge    pull    request    #43290    from    lord‐
290690             cirth/fix-file-path-docs
290691
290692             · 14a4591854 file.py docs: correct group and mode
290693
290694             · d4214ca283 file.py docs: specify absolute paths
290695
290696           · 26ff89539e   Merge   pull   request   #43274    from    terminal‐
290697             mage/fix-int-types
290698
290699             · d533877743 Use six.integer_types instead of int
290700
290701           · cf21f91fb2    Merge    pull    request    #43271    from   twang‐
290702             boy/win_fix_pkg.install
290703
290704             · 91b062f564 Fix formatting issue, spaces surrounding +
290705
290706       · PR  #43324:  (twangboy)  Fix  unit.modules.test_chef  for  Windows  @
290707         2017-09-05 16:40:11 UTC
290708
290709         · 62429c547d  Merge  pull  request #43324 from twangboy/fix_unit.mod‐
290710           ules.test_chef
290711
290712         · 5bd5ea042a Fix unit.modules.test_chef for Windows
290713
290714       · PR #43268:  (rallytime)  Back-port  #43237  to  2017.7  @  2017-09-01
290715         18:17:13 UTC
290716
290717         · PR  #43237: (timka) .utils.aws.get_location() expects a dict (refs:
290718           #43268)
290719
290720         · 367668a0a3 Merge pull request #43268 from rallytime/bp-43237
290721
290722         · 047ad07da4 .utils.aws.get_location() expects a dict
290723
290724       · PR #43270: (rallytime) [2017.7] Merge forward from 2016.11 to  2017.7
290725         @ 2017-09-01 18:09:46 UTC
290726
290727         · 02504dd363 Merge pull request #43270 from rallytime/merge-2017.7
290728
290729         · f8b025f6dc Merge branch '2016.11' into '2017.7'
290730
290731         · 3a0b02f3ae     Merge    pull    request    #43228    from    twang‐
290732           boy/win_fix_pkg.install
290733
290734           · 13dfabb1ce Fix regex statement, add .
290735
290736           · 31ff69f0ad Add underscore to regex search
290737
290738           · 3cf2b6575c Fix spelling
290739
290740           · ed030a35a5 Use regex to detect salt-minion install
290741
290742           · e5daff495a Fix pkg.install
290743
290744         · b4c689dff5   Merge   pull   request    #43191    from    viktorkri‐
290745           vak/fix-apache-config-multi-entity
290746
290747           · c15bcbe1cc  Merge  remote-tracking branch 'upstream/2016.11' into
290748             fix-apache-config-multi-entity
290749
290750           · 4164047951 Fix apache.config  with  multiple  statement  At  this
290751             moment  when you post more than one statement in config only last
290752             is used. Also file is rewrited multiple times until  last  state‐
290753             ment    is    written.    Example:    salt    '*'   apache.config
290754             /etc/httpd/conf.d/ports.conf     config="[{'Listen':     '8080'},
290755             {'Proxy':  "Something"}]"  Ends  only with    Proxy Something and
290756             ignore Listen 8080, This patch fix this issue.
290757
290758         · b90e59ede9 Merge pull request #43154 from lomeroe/bp-43116-2016.11
290759
290760         · 8f593b0b02 verify that files exist before trying  to  remove  them,
290761           win_file.remove raises an exception if the file does not exist
290762
290763         · 33a30bac06  correcting bad format statement in search for policy to
290764           be disabled
290765
290766         · acc3d7ac82 correct fopen calls from salt.utils for 2016.11's  utils
290767           function
290768
290769         · 2da1cdd109 lint fix
290770
290771         · 61bd12c0de  track  xml namespace to ensure policies w/duplicate IDs
290772           or Names do not conflict
290773
290774         · f232bed9f9 add additional checks for ADM  policies  that  have  the
290775           same ADMX policy ID (#42279)
290776
290777       · ISSUE #42459: (iavael) Broken ldap groups retrieval in salt.auth.ldap
290778         after upgrade to 2017.7 (refs: #43283)
290779
290780       · PR #43283: (DmitryKuzmenko) Fix ldap token groups auth.  @ 2017-09-01
290781         17:49:46 UTC
290782
290783         · ece0e393ef    Merge    pull   request   #43283   from   DSRCorpora‐
290784           tion/bugs/42459_broken_ldap_groups
290785
290786         · 3ad6911210 Fix for tests:  don't  require  'groups'  in  the  eauth
290787           token.
290788
290789         · 1f104cf85b Fix ldap token groups auth.
290790
290791       · PR  #43149:  (BenoitKnecht) Fix iptables.get_rules when rules contain
290792         --nfmask or --ctmask @ 2017-09-01 15:57:05 UTC
290793
290794         · 4f023c4cb6 Merge pull request #43149 from BenoitKnecht/2017.7.1
290795
290796         · 3c1ddc9bde modules: iptables: correctly parse --nfmask/--ctmask
290797
290798       · ISSUE  #43258:  (nomeelnoj)  metadata_server_grains  problems  (refs:
290799         #43265)
290800
290801       · PR  #43265:  (gtmanfred)  make  sure  meta-data  grains work on ec2 @
290802         2017-09-01 15:31:12 UTC
290803
290804         · cf2b75bb86 Merge pull request #43265 from gtmanfred/2017.7
290805
290806         · 04dd8ebedb make sure meta-data grains work on ec2
290807
290808       · PR #43299: (twangboy)  Fix  unit.netapi.rest_cherrypy.test_tools  for
290809         Windows @ 2017-09-01 15:13:43 UTC
290810
290811         · 618b221895     Merge    pull    request    #43299    from    twang‐
290812           boy/win_fix_netapi_cherrypy
290813
290814         · fd74acb603 Merge branch '2017.7' into win_fix_netapi_cherrypy
290815
290816       · PR #43300: (twangboy) Fix unit.netapi.rest_tornado.test_handlers  for
290817         Windows @ 2017-09-01 13:10:11 UTC
290818
290819         · aee654da92     Merge    pull    request    #43300    from    twang‐
290820           boy/win_fix_netapi_rest_tornado
290821
290822         · c93d2ed386 Use os.sep instead of '/'
290823
290824         · 3fbf24b91a Use os.sep instead of '/'
290825
290826       · ISSUE #43259: (mahesh21) NameError: global  name  '__opts__'  is  not
290827         defined (refs: #43266)
290828
290829       · PR  #43278:  (gtmanfred) bootstrap can come from dunders @ 2017-08-31
290830         13:31:20 UTC
290831
290832         · PR #43266:  (gtmanfred)  switch  virtualbox  cloud  driver  to  use
290833           __utils__ (refs: #43278)
290834
290835         · aed2975979 Merge pull request #43278 from gtmanfred/virtualbox
290836
290837         · c4ae2de30f bootstrap can come from dunders
290838
290839       · PR  #42975:  (brejoc)  Added  unit  tests  for  Kubernetes  module  @
290840         2017-08-30 20:30:16 UTC
290841
290842         · 479e0e06ac Merge pull request #42975  from  brejoc/tests-for-kuber‐
290843           netes-module
290844
290845         · fdad9177b5 Merge branch '2017.7' into tests-for-kubernetes-module
290846
290847         · c227cb25ad Skipping test on ImportError
290848
290849         · bd76a870ce Dunder vars are now defined via setup_loader_modules
290850
290851         · 3c99e61637 Renamed test to match new convention
290852
290853         · caf78d206d Fixed imports for pytest
290854
290855         · c8e98c8d8a Added unit tests for Kubernetes module
290856
290857       · ISSUE  #42935: (BenjaminSchubert) docker_image.present always ends up
290858         failing even on correct result. (refs: #43176)
290859
290860       · PR #43176: (terminalmage) docker_image states: Handle Hub images pre‐
290861         fixed with "docker.io/" @ 2017-08-30 20:08:13 UTC
290862
290863         · ca7df1d4cf Merge pull request #43176 from terminalmage/issue42935
290864
290865         · df18a89836 Lint: Remove unused import
290866
290867         · 7279f98e92  docker_image  states:  Handle  Hub images prefixed with
290868           "docker.io/"
290869
290870         · f7c945f6e4 Prevent spurious "Template does not exist" error
290871
290872   Salt 2017.7.4 Release Notes
290873       Version 2017.7.4 is a bugfix release for 2017.7.0.
290874
290875   Statistics
290876       · Total Merges: 8
290877
290878       · Total Issue References: 4
290879
290880       · Total PR References: 11
290881
290882       · Contributors: 6  (Ch3LL,  garethgreenaway,  gtmanfred,  marccardinal,
290883         rallytime, terminalmage)
290884
290885   Changelog for v2017.7.3..v2017.7.4
290886       Generated at: 2018-05-26 21:48:28 UTC
290887
290888       · PR  #46074:  (Ch3LL)  Update  2017.7.4 Release Notes with new fixes @
290889         2018-02-16 16:47:56 UTC
290890
290891         · b5b083fd26 Merge pull request #46074 from Ch3LL/update-7.4
290892
290893         · 8d0eeeb059 Update 2017.7.4 Release Notes with new fixes
290894
290895       · ISSUE #45790: (bdarnell) Test with Tornado 5.0b1 (refs: #46066)
290896
290897       · PR #46066: (rallytime) Pin tornado version  in  requirements  file  @
290898         2018-02-16 16:40:05 UTC
290899
290900         · 32f3d00e44 Merge pull request #46066 from rallytime/pin-tornado
290901
290902         · 6dc1a3b9dc Pin tornado version in requirements file
290903
290904       · PR  #46036:  (terminalmage)  git.latest: Fix regression with identity
290905         file usage @ 2018-02-16 13:57:23 UTC
290906
290907         · 85761ee650 Merge pull request #46036 from terminalmage/issue43769
290908
290909         · e2140d9a84 Mock the ssh.key_is_encrypted utils func
290910
290911         · 169924b3fe Move ssh.key_is_encrypted to a utils module temporarily
290912
290913         · 54f4d78f7a Only keep ssh.py in the Windows installer
290914
290915         · 5f04531e1b Keep ssh state and execution modules in the installer
290916
290917         · f2b69f703d git.latest: Fix regression with identity file usage
290918
290919       · PR #46009: (Ch3LL) Add 2017.7.4 Release Notes with PRs  @  2018-02-13
290920         16:40:30 UTC
290921
290922         · 6d534c6e7e Merge pull request #46009 from Ch3LL/rn_7.4
290923
290924         · ac0baf4b34 Add 2017.7.4 Release Notes with PRs
290925
290926       · ISSUE #45976: (ghost) 6a5e0f9 introduces regression that breaks Vault
290927         module for salt masterless (refs: #45981)
290928
290929       · PR #45981: (gtmanfred) use local config for vault when  masterless  @
290930         2018-02-13 15:22:01 UTC
290931
290932         · ca76a0b328 Merge pull request #45981 from gtmanfred/2017.7.3
290933
290934         · 0d448457dc apparently local is not set by default
290935
290936         · 2a92f4bc16 use local config for vault when masterless
290937
290938       · ISSUE  #45915:  (MatthiasKuehneEllerhold)  2017.7.3: Salt-SSH & Vault
290939         Pillar: Permission denied "minion.pem" (refs: #45928)
290940
290941       · PR #45953: (rallytime) Back-port  #45928  to  2017.7.3  @  2018-02-09
290942         22:29:10 UTC
290943
290944         · PR  #45928:  (garethgreenaway) [2017.7] Fixing vault when used with
290945           pillar over salt-ssh (refs: #45953)
290946
290947         · 6530649dbc    Merge    pull    request    #45953    from     rally‐
290948           time/bp-45928-2017.7.3
290949
290950         · 85363189d1 Fixing vault when used with pillar over salt-ssh
290951
290952       · ISSUE #45893: (CrackerJackMack) archive.extracted ValueError "No path
290953         specified" in 2017.7.3 (refs: #45902)
290954
290955       · PR #45934: (rallytime) Back-port  #45902  to  2017.7.3  @  2018-02-09
290956         16:31:08 UTC
290957
290958         · PR  #45902:  (terminalmage)  Check the effective saltenv for cached
290959           archive (refs: #45934)
290960
290961         · fb378cebb0 Merge pull request #45934 from rallytime/bp-45902
290962
290963         · bb83e8b345 Add regression test for issue 45893
290964
290965         · cdda66d759 Remove duplicated section in docstring and fix example
290966
290967         · 4b6351cda6 Check the effective saltenv for cached archive
290968
290969       · PR #45935: (rallytime) Back-port  #45742  to  2017.7.3  @  2018-02-09
290970         14:02:26 UTC
290971
290972         · PR #45742: (marccardinal) list.copy() is not compatible with python
290973           2.7 (refs: #45935)
290974
290975         · 0d74151c71 Merge pull request #45935 from rallytime/bp-45742
290976
290977         · 6a0b5f7af3 Removed the chained copy
290978
290979         · ad1150fad4 list.copy() is not compatible with python 2.7
290980
290981   Salt 2017.7.5 Release Notes
290982       Version 2017.7.5 is a bugfix release for 2017.7.0.
290983
290984   Statistics
290985       · Total Merges: 213
290986
290987       · Total Issue References: 58
290988
290989       · Total PR References: 202
290990
290991       · Contributors:   52   (Ch3LL,   DmitryKuzmenko,    GwiYeong,    L4rS6,
290992         SteffenKockel,  The-Loeki,  amendlik,  andreaspe,  angeloudy,  aphor,
290993         bdrung, cebe,  ciiqr,  damon-atkins,  danlsgiga,  ddoh94,  dmurphy18,
290994         dwoz,   eliasp,   frogunder,   garethgreenaway,  gclinch,  gtmanfred,
290995         jfindlay,   kstreee,   marccardinal,   mcalmer,   mchugh19,   meaksh,
290996         michelsen,  nullify005,  oarmstrong, oeuftete, philpep, racker-markh,
290997         rallytime, redbaron4, roaldnefs,  rongshengfang,  rongzeng54,  rrroo,
290998         samilaine,   samodid,   skizunov,   terminalmage,  tintoy,  twangboy,
290999         viktordaniel, vutny, while0pass, whytewolf, zer0def)
291000
291001   Changes to file.blockreplace State
291002       The append_newline argument was added to this state.  Additionally,  to
291003       improve  idempotence,  if the string represented by marker_end is found
291004       in the middle of the line, the content preceding  the  marker  will  be
291005       removed  when  the  block  is  replaced.  This  allows  one  to  remove
291006       append_newline: False from the SLS and have the block properly replaced
291007       if  the  end  of  the  content  block  is  immediately  followed by the
291008       marker_end (i.e. no newline before the marker).
291009
291010       NOTE:
291011          This will require changes to your SLS if your  marker_end  does  not
291012          include the very beginning of the content you want to keep.
291013
291014       See the file.blockreplace state documentation for further information.
291015
291016   Changelog for v2017.7.4..v2017.7.5
291017       Generated at: 2018-05-26 21:50:00 UTC
291018
291019       · PR  #46612:  (Ch3LL)  Add  changelog  to  2017.7.5  release  notes  @
291020         2018-03-19 20:47:38 UTC
291021
291022         · 19bb725698 Merge pull request #46612 from Ch3LL/7.5_rn
291023
291024         · 6076bfa2ee Add changelog to 2017.7.5 release
291025
291026       · PR #46572: (dmurphy18) Addition of -sa flag  to  allow  for  revision
291027         numbers other than -0 or -1 @ 2018-03-19 20:07:26 UTC
291028
291029         · 31c78aef11 Merge pull request #46572 from dmurphy18/update_xxxbuild
291030
291031         · c87511570d Merge branch '2017.7.5' into update_xxxbuild
291032
291033       · ISSUE   saltstack/salt-jenkins#884:   (gtmanfred)   [2017.7.5][Fedora
291034         27][py2/py3]                         integration.states.test_npm.Npm‐
291035         StateTest.test_npm_install_url_referenced_package (refs: #46577)
291036
291037       · PR #46577: (gtmanfred) Fix npm issue @ 2018-03-19 11:51:04 UTC
291038
291039         · cdd768fa4d Merge pull request #46577 from gtmanfred/2017.7.5
291040
291041         · 78cbf7b5cd Fix npm issue
291042
291043         · c76f7eb028 enable debug logging on the minionlog
291044
291045       · PR  #46551:  (terminalmage) Fix failing pkg integration test on Open‐
291046         SUSE @ 2018-03-19 11:50:12 UTC
291047
291048         · e6682c660c Merge pull request #46551  from  terminalmage/salt-jenk‐
291049           ins-885
291050
291051         · 703b5e7e65  Change versionadded to show that 2018.3.0 will not have
291052           this function
291053
291054         · 010d260d06 Rewrite failing Suse pkg integration test
291055
291056         · f3f5dec239 zypper.py: fix version argument being ignored
291057
291058         · 214f2d6ad3 Add pkg.list_repo_pkgs to zypper.py
291059
291060              · 0a541613f2 Additon of -sa flag to allow for  revision  numbers
291061                other than -0 or -1
291062
291063       · ISSUE   saltstack/salt-jenkins#886:   (gtmanfred)   [2017.7.5][Fedora
291064         26/Ubuntu        17.10][py3]         integration.states.test_pip.Pip‐
291065         StateTest.test_46127_pip_env_vars (refs: #46563)
291066
291067       · PR  #46563:  (gtmanfred)  virtualenv  version too old for python3.6 @
291068         2018-03-15 20:17:16 UTC
291069
291070         · bd62699ccb Merge pull request #46563 from gtmanfred/2017.7.5
291071
291072         · 8d5ab72983 virtualenv version too old for python3.6
291073
291074       · PR #46561: (gtmanfred) disable verbose @ 2018-03-15 16:36:41 UTC
291075
291076         · 2916708124 Merge pull request #46561 from gtmanfred/2017.7.5
291077
291078         · 2c39ac6dfb disable verbose
291079
291080       · PR #46537: (rallytime) Back-port  #46529  to  2017.7.5  @  2018-03-14
291081         14:47:28 UTC
291082
291083         · PR #46529: (gtmanfred) retry if there is a segfault (refs: #46537)
291084
291085         · ee3bff6e32 Merge pull request #46537 from rallytime/bp-46529
291086
291087         · 289c7a228f retry if there is a segfault
291088
291089       · PR  #46519:  (rallytime)  Update  man pages for 2017.7.5 @ 2018-03-13
291090         20:00:51 UTC
291091
291092         · 1271536a89    Merge    pull    request    #46519    from     rally‐
291093           time/man-pages-2017.7.5
291094
291095         · 782a5584f5 Update man pages for 2017.7.5
291096
291097       · ISSUE  #46207:  (seanjnkns)  Issue  #44034  still  unresolved  (refs:
291098         #46493)
291099
291100       · ISSUE  #44034:  (seanjnkns)  salt-call  pillar  overrides  broken  in
291101         2016.11.8 and 2017.7.2 (refs: #44483)
291102
291103       · PR  #46493:  (terminalmage) salt-call: don't re-use initial pillar if
291104         CLI overrides passed @ 2018-03-12 20:41:52 UTC
291105
291106         · PR #44483: (terminalmage) salt-call: account  for  instances  where
291107           __pillar__ is empty (refs: #46493)
291108
291109         · 0e90c8ca6f Merge pull request #46493 from terminalmage/issue46207
291110
291111         · f06ff68f10  salt-call: don't re-use initial pillar if CLI overrides
291112           passed
291113
291114       · PR #46450: (gtmanfred) load grains for salt.cmd runner  @  2018-03-12
291115         18:52:22 UTC
291116
291117         · b11a8fc8e0 Merge pull request #46450 from gtmanfred/salt_runner
291118
291119         · 7974ff7264 load grains for salt.cmd runner
291120
291121       · ISSUE #30115: (gtmanfred) [BUG] listen does not appear to respect the
291122         special names directive (refs: #46337)
291123
291124       · PR #46337: (gtmanfred) Fix using names with listen  and  listen_in  @
291125         2018-03-12 18:50:00 UTC
291126
291127         · 22d753364b Merge pull request #46337 from gtmanfred/2017.7
291128
291129         · d6d9e36359 add tests for names and listen/listen_in
291130
291131         · 3f8e0db572 let listen_in work with names
291132
291133         · 7161f4d4df fix listen to be able to handle names
291134
291135       · PR #46413: (meaksh) Explore 'module.run' state module output in depth
291136         to catch "result" properly @ 2018-03-12 18:49:07 UTC
291137
291138         · b7191b8782      Merge      pull      request      #46413       from
291139           meaksh/2017.7-explore-result-in-depth
291140
291141         · 885751634e Add new unit test to check state.apply within module.run
291142
291143         · 9f19ad5264 Rename and fix recursive method
291144
291145         · 1476ace558 Fix Python3 and pylint issue
291146
291147         · 726ca3044d  Explore  'module.run' response to catch the 'result' in
291148           depth
291149
291150       · PR #46496: (gtmanfred)  more  test  kitchen  clean  up  @  2018-03-12
291151         18:28:34 UTC
291152
291153         · 02a79a2014 Merge pull request #46496 from gtmanfred/kitchen
291154
291155         · da002f78d0 include virtualenv path for py3 windows
291156
291157         · fe2efe03ea remove duplicate setup
291158
291159       · ISSUE    #46329:    (bdrung)   test_create_deployments   fails   with
291160         python-kubernetes 4.0.0 (refs: #46330)
291161
291162       · PR #46330: (bdrung) Fix ValueError for template in AppsV1beta1Deploy‐
291163         mentSpec @ 2018-03-12 16:56:18 UTC
291164
291165         · 5c4c182d75   Merge   pull  request  #46330  from  bdrung/fix_kuber‐
291166           netes_test_create_deployments
291167
291168         · 5008c53c44 Fix ValueError for template in AppsV1beta1DeploymentSpec
291169
291170       · ISSUE #46479: (rongshengfang) boto_ec2.instance_present throwing Key‐
291171         Error  exception  when associating EIP to an existing instance (refs:
291172         #46482)
291173
291174       · PR #46482: (rongshengfang) Fix KeyError in salt/states/boto_ec2.py  @
291175         2018-03-12 15:13:13 UTC
291176
291177         · c7e05d3ff4  Merge pull request #46482 from rongshengfang/fix-keyer‐
291178           ror-in-instance_present
291179
291180         · ed8c83e89a Fix KeyError in salt/states/boto_ec2.py when an  EIP  is
291181           being  associated to an existing instance with the instance_present
291182           state.
291183
291184       · PR #46463: (terminalmage) Update  requirements  files  to  depend  on
291185         mock>=2.0.0 @ 2018-03-09 19:24:41 UTC
291186
291187         · 573d51afec Merge pull request #46463 from terminalmage/mock-2.0
291188
291189         · b958b4699c Update requirements files to depend on mock>=2.0.0
291190
291191       · ISSUE  #46299:  (gclinch)  debconf  module  fails  on Python 3 (refs:
291192         #46300)
291193
291194       · PR #46422:  (rallytime)  Back-port  #46300  to  2017.7  @  2018-03-09
291195         19:19:25 UTC
291196
291197         · PR #46300: (gclinch) Python 3 support for debconfmod (fixes #46299)
291198           (refs: #46422)
291199
291200         · a154d35fc7 Merge pull request #46422 from rallytime/bp-46300
291201
291202         · 829dfde8e8 Change stringutils path to old utils path for 2017.7
291203
291204         · 91db2e0782 Python 3 support
291205
291206       · PR #46320: (mcalmer) add warning about future config option change  @
291207         2018-03-09 17:48:29 UTC
291208
291209         · 2afaca17a1 Merge pull request #46320 from mcalmer/warn-kubernetes
291210
291211         · c493ced415 add warning about future config option change
291212
291213       · PR   #46449:   (bdrung)   Make  documentation  theme  configurable  @
291214         2018-03-09 17:47:15 UTC
291215
291216         · c7f95581e3      Merge      pull      request      #46449       from
291217           bdrung/make-doc-theme-configurable
291218
291219         · 4a5da2d144 Make documentation theme configurable
291220
291221       · PR  #46162:  (rallytime)  Add team-suse to CODEOWNERS file for zypper
291222         files @ 2018-03-09 17:46:13 UTC
291223
291224         · 10ce0e9e20 Merge pull request #46162 from  rallytime/team-suse-zyp‐
291225           per-owner
291226
291227         · 13a295a3b7 Add pkg and snapper to team-suse
291228
291229         · 35c7b7b0d3 Add btrfs, xfs, yumpkg, and kubernetes file to team-suse
291230
291231         · 485d777ac0 Add team-suse to CODEOWNERS file for zypper files
291232
291233       · PR  #46434: (gtmanfred) split return key value correctly @ 2018-03-09
291234         17:45:21 UTC
291235
291236         · cac096b311  Merge  pull   request   #46434   from   gtmanfred/high‐
291237           state_return
291238
291239         · d18f1a55a7 fix pylint
291240
291241         · 9e2c3f7991 split return key value correctly
291242
291243       · ISSUE  #44452:  (konstest) salt-cloud can't create snapshots, because
291244         there is a bug in the Unicode name  of  the  virtual  machine  (refs:
291245         #46455)
291246
291247       · PR  #46455:  (whytewolf)  .format  remove fix for #44452 @ 2018-03-09
291248         17:37:19 UTC
291249
291250         · 7dd71101ce    Merge    pull    request    #46455    from     whyte‐
291251           wolf/Issue_44452_unicode_cloud
291252
291253         · 5fe474b1a8 .format remove fix for #44452
291254
291255       · PR  #46428:  (twangboy)  Fix  issue with dev env install on Windows @
291256         2018-03-09 14:52:46 UTC
291257
291258         · 4c8d9026d3 Merge pull request #46428 from twangboy/win_fix_reqs
291259
291260         · e7ab97cc17 Remove six as a hard dep for Salt
291261
291262         · cc67e5c2ef Set six to 1.11.0
291263
291264       · PR #46454: (gtmanfred) fix windows for kitchen @ 2018-03-08  21:19:31
291265         UTC
291266
291267         · e834d9a63b Merge pull request #46454 from gtmanfred/kitchen
291268
291269         · b8ab8434a5 fix windows for kitchen
291270
291271       · ISSUE #46451: (gmacon) SPM fails to start with customized cache loca‐
291272         tion (refs: #46452)
291273
291274       · PR #46452: (gtmanfred) make spm cache_dir instead of all cachedirs  @
291275         2018-03-08 21:12:20 UTC
291276
291277         · 2886dca88f Merge pull request #46452 from gtmanfred/spm_cache_dir
291278
291279         · 169cf7a4e2 make spm cache_dir instead of all cachedirs
291280
291281       · PR #46446: (bdrung) Fix various typos @ 2018-03-08 21:11:47 UTC
291282
291283         · a188984cd9 Merge pull request #46446 from bdrung/fix-typos
291284
291285         · 7e6e80be87 heat: Fix spelling mistake of environment
291286
291287         · a3c54b50f6 Fix various spelling mistakes
291288
291289       · ISSUE #20581: (notpeter) Many environments: one pillar_root (all your
291290         envs are belong to base) (refs: #46309)
291291
291292       · PR  #46309:  (bdrung)  Support  dynamic  pillar_root  environment   @
291293         2018-03-08 19:15:35 UTC
291294
291295         · e35fc5263c Merge pull request #46309 from bdrung/dynamic-pillarenv
291296
291297         · 584b451fd1 Support dynamic pillar_root environment
291298
291299       · ISSUE #44032: (PhilippeAB) blockreplace marker_end isn't applied with
291300         newline (refs: #46430)
291301
291302       · PR  #46430:   (terminalmage)   Improve   reliability/idempotence   of
291303         file.blockreplace state @ 2018-03-08 15:41:38 UTC
291304
291305         · 35fe9827fe Merge pull request #46430 from terminalmage/issue44032
291306
291307         · f9f187e915  Improve  reliability/idempotence  of  file.blockreplace
291308           state
291309
291310       · PR #46429: (twangboy) Fix problem  with  __virtual__  in  win_snmp  @
291311         2018-03-07 23:26:46 UTC
291312
291313         · 2bad0a21c0 Merge pull request #46429 from twangboy/win_fix_snmp
291314
291315         · 8995a9b8de Fix problem with __virtual__ in win_snmp
291316
291317       · PR  #46100:  (jfindlay)  Handle IPv6 scope parameter in resolv.conf @
291318         2018-03-07 19:51:20 UTC
291319
291320         · 93a572f229 Merge pull request #46100 from jfindlay/resolv_scope
291321
291322         · d5561bedaf tests.unit.grains.core add scoped IPv6 nameserver
291323
291324         · 4e2e62d508 salt.utils.dns parse scope param for ipv6 servers
291325
291326       · PR #46420: (bdrung) Fix SSH client exception if SSH is  not  found  @
291327         2018-03-07 17:49:00 UTC
291328
291329         · 5acc1d5c54 Merge pull request #46420 from bdrung/2017.7
291330
291331         · e48c13d9e0 Fix SSH client exception if SSH is not found
291332
291333       · PR  #46379:  (angeloudy)  TypeError: a bytes-like object is required,
291334         not 'str' @ 2018-03-07 15:00:47 UTC
291335
291336         · ca6a76e317 Merge pull request #46379 from angeloudy/2017.7
291337
291338         · 3acb59c74c Merge branch '2017.7' into 2017.7
291339
291340         · d971e0c08b Fix indent
291341
291342         · 269514683f Update http.py
291343
291344         · 908c040ac3 Update http.py
291345
291346         · 51ba3c135b Update http.py
291347
291348         · 14aba24111 fix bytes-object required error in python 3
291349
291350       · PR #46404: (gtmanfred) get 2017.7 ready to switch  over  to  the  new
291351         jenkins @ 2018-03-07 14:29:30 UTC
291352
291353         · 73f9233557 Merge pull request #46404 from gtmanfred/kitchen
291354
291355         · c56baa95a8 clone .git for the version tests
291356
291357         · 3620611b5b fix unhold package for debian
291358
291359         · 5219f7d2ba fix minion log path
291360
291361       · ISSUE  #46192: (asymetrixs) salt-log-setup: AttributeError 'NoneType'
291362         object has no attribute 'flush' (refs: #46310)
291363
291364       · PR #46310: (twangboy) Update the Windows installer  build  scripts  @
291365         2018-03-06 20:21:58 UTC
291366
291367         · ca28cfd4e4  Merge  pull request #46310 from twangboy/win_update_in‐
291368           staller_build
291369
291370         · bcf8b19566 Update the installer build
291371
291372       · PR #46316: (twangboy) Fix issues with the  DSC  module  @  2018-03-06
291373         20:16:18 UTC
291374
291375         · decccbeca3 Merge pull request #46316 from twangboy/win_fix_dsc
291376
291377         · 2042d33d59 Fix issues with the DSC module
291378
291379       · PR  #46394:  (Ch3LL) Add mac py2 and py3 packages to mac installation
291380         docs @ 2018-03-06 16:45:30 UTC
291381
291382         · 95586678c3 Merge pull request #46394 from Ch3LL/mac_doc
291383
291384         · 158add6661 change oxdownload to oxdownload-{python_version}
291385
291386         · 21aa848c89 Add mac py2 and py3 packages to mac installation docs
291387
291388       · ISSUE #44831: (kivoli) cmd.wait deprecated but cannot replicate  con‐
291389         ditional execution with onchanges (refs: #46338)
291390
291391       · PR  #46338: (rallytime) Remove cmd.wait deprecation reference in docs
291392         @ 2018-03-05 21:48:52 UTC
291393
291394         · 07b5d09ac1 Merge pull request #46338 from rallytime/fix-44831
291395
291396         · 90771da999 Remove cmd.wait deprecation reference in docs
291397
291398       · ISSUE #42438: (ajoaugustine) Failed to send message:  hipchat-message
291399         (refs: #46333)
291400
291401       · PR #46333: (danlsgiga) Fixes color parameter mismatch and handles 204
291402         responses correctly @ 2018-03-05 19:42:26 UTC
291403
291404         · 3849e7a085 Merge pull request #46333 from danlsgiga/issue-42438
291405
291406         · 3b13f37b44 Revert changes in the code and change docs instead
291407
291408         · 38114a65d8 Fixes color parameter mismatch and handles 204 responses
291409           correctly
291410
291411       · ISSUE  #44935:  (grinapo)  module.file.replace  string  seems  to  be
291412         mutated into arrays (refs: #46322)
291413
291414       · PR #46322: (terminalmage) yamlify_arg: don't treat leading dashes  as
291415         lists @ 2018-03-05 15:40:17 UTC
291416
291417         · a8f2f1b063 Merge pull request #46322 from terminalmage/issue44935
291418
291419         · 85ac6a9893 yamlify_arg: don't treat leading dashes as lists
291420
291421       · PR #46327: (samilaine) Modify the way a FQDN is handled in the vmware
291422         cloud provider.  @ 2018-03-05 15:35:37 UTC
291423
291424         · da5c282cb2    Merge    pull    request    #46327     from     sami‐
291425           laine/fix-vmware-cloud-fqdn
291426
291427         · 4b8dfb326f  Modify  the  way  a FQDN is handled in the vmware cloud
291428           provider.
291429
291430       · PR   #46318:   (terminalmage)   Skip   type-checking   for    several
291431         gitfs/git_pillar/winrepo params @ 2018-03-05 15:04:27 UTC
291432
291433         · 78c45d3786    Merge    pull    request    #46318   from   terminal‐
291434           mage/squelch-warnings
291435
291436         · 5889b36646 Skip type-checking for several  gitfs/git_pillar/winrepo
291437           params
291438
291439       · ISSUE #45535: (whytewolf) module_dirs left out salt-ssh, leaving cus‐
291440         tom ext_pillars and modules out of salt-ssh (refs: #46312)
291441
291442       · PR #46312: (gtmanfred) add module_dirs to salt  ssh  thin  tarball  @
291443         2018-03-05 15:00:48 UTC
291444
291445         · bb0d6fc263 Merge pull request #46312 from gtmanfred/2017.7
291446
291447         · 749ae580ed add module_dirs to salt ssh thin tarball
291448
291449       · ISSUE  #46127:  (redbaron4) pip.installed does not pass env_vars when
291450         calling freeze to  check  if  package  is  already  installed  (refs:
291451         #46242)
291452
291453       · PR  #46242:  (redbaron4)  Pass  env_vars  to  pip.freeze @ 2018-03-05
291454         14:53:13 UTC
291455
291456         · 88b5f7383d Merge pull request #46242 from redbaron4/fix-46127
291457
291458         · 06dba51617 Make changes from review
291459
291460         · 727ebe1056 Merge branch '2017.7' into fix-46127
291461
291462         · 08d1ee8baf Fix Python3 test errors
291463
291464         · aa9d709015 Pass env_vars to pip.freeze
291465
291466       · PR #46265: (Ch3LL) Add username/password  to  profitbricks  conf  for
291467         cloud tests @ 2018-03-02 21:40:22 UTC
291468
291469         · a0716643e4 Merge pull request #46265 from Ch3LL/profit_cloud
291470
291471         · d4893eab4c  Add  username/password  to  profitbricks conf for cloud
291472           tests
291473
291474       · PR #46306:  (rallytime)  Back-port  #46256  to  2017.7  @  2018-03-02
291475         21:37:26 UTC
291476
291477         · PR #46256: (rallytime) Don't install msgpack 0.5.5 (refs: #46306)
291478
291479         · ed7bffa7e0 Merge pull request #46306 from rallytime/bp-46256
291480
291481         · 6439bce4a8 Don't install msgpack 0.5.5
291482
291483       · PR  #46208:  (terminalmage)  Blacklist os.umask @ 2018-03-02 18:46:07
291484         UTC
291485
291486         · 8c2c4e3316   Merge   pull    request    #46208    from    terminal‐
291487           mage/audit-umask-usage
291488
291489         · 9c92aadce8 Disable blacklisted-function check for legitimate uses
291490
291491         · 58a11aaa26 Disable pylint check in salt-ssh shim
291492
291493         · ecadf67659 Blacklist os.umask
291494
291495         · 31b1d98fcb Replace direct use of os.umask with use of existing con‐
291496           text manager
291497
291498         · 82ce546e18 Prevent failed os.makedirs from leaving  modified  umask
291499           in place
291500
291501       · PR  #46293:  (eliasp)  Fix  Python3 comparison TypeError in salt.mod‐
291502         ules.upstart @ 2018-03-02 16:36:10 UTC
291503
291504         · PR #44624: (eliasp) Fix Traceback when  using  the  service.enabled
291505           state on non-booted systems (refs: #46293)
291506
291507         · 978e869490       Merge      pull      request      #46293      from
291508           eliasp/2017.7-44624-py3-compat
291509
291510         · 2e08b0d9c8 Fix Python3 comparison TypeError in salt.modules.upstart
291511
291512       · ISSUE #46128: (Boulet-) Mountpoint in git_pillar (refs: #46264)
291513
291514       · PR #46264: (terminalmage) Fix incorrect merge conflict  resolution  @
291515         2018-03-02 14:21:13 UTC
291516
291517         · bee4a66d0c Merge pull request #46264 from terminalmage/issue46128
291518
291519         · 68000b7211 Fix incorrect merge conflict resolution
291520
291521       · PR #46296: (vutny) [DOC] Add missing params to pillar.get docstring @
291522         2018-03-02 14:19:41 UTC
291523
291524         · 1e0b3aa348 Merge pull request #46296 from vutny/doc-pillar-get
291525
291526         · 1faa8331e1 [DOC] Add missing params to pillar.get docstring
291527
291528       · PR #45874: (GwiYeong) fix for local client timeout bug  @  2018-03-01
291529         19:39:35 UTC
291530
291531         · c490a50452       Merge      pull      request      #45874      from
291532           GwiYeong/2017.7-local-client-hotfix
291533
291534         · 949aefc82b Merge branch '2017.7' into 2017.7-local-client-hotfix
291535
291536         · 45d663f435 fix for local client timeout bug
291537
291538       · PR #46261: (rallytime) [2017.7] Merge forward from 2016.11 to  2017.7
291539         @ 2018-03-01 17:55:23 UTC
291540
291541         · 8e8a3a2897 Merge pull request #46261 from rallytime/merge-2017.7
291542
291543         · 8256ae5ee5 Merge branch '2016.11' into '2017.7'
291544
291545           · 140ef4d6b9 Merge pull request #46253 from rallytime/doc-banners
291546
291547             · 07ed8c7db3 Update docbanner for SaltConf18
291548
291549           · 9fe86ee520    Merge   pull   request   #46179   from   wedge-jar‐
291550             rad/cifs-remount-fix
291551
291552             · 9ca25c4313 Add  credentials  and  secretfile  to  mount.mounted
291553               mount_invisible_keys
291554
291555       · ISSUE #44046: (t2b) docker_container.running states fail if the argu‐
291556         ment ulimits is set and a watch requisite is triggered (refs: #46276)
291557
291558       · PR #46276: (terminalmage) salt.utils.docker.translate_input:  operate
291559         on deepcopy of kwargs @ 2018-03-01 15:37:44 UTC
291560
291561         · 88a3166589 Merge pull request #46276 from terminalmage/issue44046
291562
291563         · a14d4daf8c  salt.utils.docker.translate_input:  operate on deepcopy
291564           of kwargs
291565
291566       · ISSUE #46182: (oeuftete)  docker_container.running  is  sensitive  to
291567         HostConfig Ulimits ordering (refs: #46183)
291568
291569       · PR #46183: (oeuftete) Fix docker_container.running HostConfig Ulimits
291570         comparison @ 2018-02-28 22:22:11 UTC
291571
291572         · da60399b8f Merge pull request #46183 from  oeuftete/fix-docker-con‐
291573           tainer-running-host-config-ulimits
291574
291575         · 5b09644429 Sort lists from Ulimits before comparing
291576
291577         · 0b80f02226 Update old dockerng doc ref
291578
291579       · ISSUE   #46259:  (terminalmage)  git_pillar_branch  overrides  branch
291580         defined in git_pillar configuration (refs: #46260)
291581
291582       · ISSUE #46258: (terminalmage) git_pillar_base doesn't work for  values
291583         when PyYAML loads them as int/float (refs: #46260)
291584
291585       · PR  #46260: (terminalmage) Normalize global git_pillar/winrepo config
291586         items @ 2018-02-28 22:05:26 UTC
291587
291588         · 509429f08c Merge pull request #46260 from terminalmage/git_pillar
291589
291590         · b1ce2501fd Normalize global git_pillar/winrepo config items
291591
291592       · PR #46101: (jfindlay) In OpenRC exec module, make sure to ignore ret‐
291593         code on status @ 2018-02-28 20:01:37 UTC
291594
291595         · a97a3e6fb0 Merge pull request #46101 from jfindlay/openrc_ret
291596
291597         · 2eef3c65a6 tests.unit.modules.gentoo_service add retcode arg
291598
291599         · 81ec66fd8b modules.gentoo_service handle stopped retcode
291600
291601       · PR #46254: (rallytime) Update enterprise banner @ 2018-02-28 19:54:03
291602         UTC
291603
291604         · 1a17593c05 Merge pull request #46254 from rallytime/enterprise-ban‐
291605           ner
291606
291607         · f5fae3dedf Update enterprise banner
291608
291609       · PR  #46250: (terminalmage) Add documentation to the fileserver runner
291610         @ 2018-02-28 18:53:49 UTC
291611
291612         · 8c50ff32bd Merge pull request #46250 from terminalmage/runner-docs
291613
291614         · 91b4895087 Add documentation to the fileserver runner
291615
291616       · ISSUE #46215:  (racker-markh)  salt-cloud  will  only  intermittently
291617         build  rackspace  cloud instances with purely private networks (refs:
291618         #46243)
291619
291620       · PR #46243: (racker-markh) Don't ignore 'private_ips' unnecessarily  @
291621         2018-02-28 15:28:29 UTC
291622
291623         · 53067cca43  Merge  pull  request #46243 from racker-markh/fix-open‐
291624           stack-private-network-issue
291625
291626         · 50c1e140f0 Don't check deny private_ips  already  in  the  original
291627           list of private_ips
291628
291629       · ISSUE #46109: (rombert) archive.extracted takes a long time (> 4 min‐
291630         utes) even though directory exists (refs: #46239)
291631
291632       · PR #46239: (terminalmage) archive.extracted: don't check source  file
291633         when if_missing path exists @ 2018-02-28 15:01:36 UTC
291634
291635         · 15405c8760 Merge pull request #46239 from terminalmage/issue46109
291636
291637         · 586d8b0dcf archive.extracted: don't check source file when if_miss‐
291638           ing path exists
291639
291640       · PR #46221: (terminalmage) Fix hanging tests in  integration  suite  @
291641         2018-02-27 21:32:25 UTC
291642
291643         · 633e1208e4  Merge  pull request #46221 from terminalmage/salt-jenk‐
291644           ins-854
291645
291646         · 0eb012659c Fix hanging tests in integration suite
291647
291648       · PR #46214:  (vutny)  [DOC]  Replace  note  rST  block  for  GitHub  @
291649         2018-02-27 17:42:37 UTC
291650
291651         · 7917277345    Merge   pull   request   #46214   from   vutny/formu‐
291652           las-readme-formatting
291653
291654         · d702846961 [DOC] Replace note rST block for GitHub
291655
291656       · PR #46203: (Ch3LL) Add  2017.7.5  Release  Notes  File  @  2018-02-26
291657         21:17:48 UTC
291658
291659         · a2e099b744 Merge pull request #46203 from Ch3LL/7.5_release
291660
291661         · 6ddf3246ce Add 2017.7.5 Release Notes File
291662
291663       · PR  #46201: (rallytime) [2017.7] Merge forward from 2016.11 to 2017.7
291664         @ 2018-02-26 18:56:47 UTC
291665
291666         · 973b227818 Merge pull request #46201 from rallytime/merge-2017.7
291667
291668         · 9ac2101baa Merge branch '2016.11' into '2017.7'
291669
291670         · a4c5417d23    Merge    pull    request    #46132    from     rally‐
291671           time/2016.11_update_version_doc
291672
291673           · d2196b6df3 Update release versions for the 2016.11 branch
291674
291675       · ISSUE  #34423:  (bdrung) oscodename wrong on Debian 8 (jessie) (refs:
291676         #46139)
291677
291678       · PR #46139: (bdrung) Add os grains test cases  for  Debian/Ubuntu  and
291679         fix oscodename on Ubuntu @ 2018-02-26 16:44:04 UTC
291680
291681         · 89cf2e5061 Merge pull request #46139 from bdrung/os-grains
291682
291683         · 0b445f2a37 tests: Add unit tests for _parse_os_release()
291684
291685         · f6069b77ed Fix osfinger grain on Debian
291686
291687         · 8dde55a761 tests: Add os_grains test cases for Debian
291688
291689         · ff02ab9937 tests: Add Ubuntu 17.10 (artful) os_grains test case
291690
291691         · 77d5356aba Fix incorrect oscodename grain on Ubuntu
291692
291693         · 7e62dc9fd2 tests: Support reading os-release files from disk
291694
291695         · a92ec0db1b Make _parse_os_release() always callable
291696
291697         · eee1fe5b38 tests: Dissolve _run_ubuntu_os_grains_tests
291698
291699         · 1d6ef731fe tests: Deduplicate _run_os_grains_tests()
291700
291701       · PR  #46133: (rallytime) Update release versions for the 2017.7 branch
291702         @ 2018-02-26 16:42:43 UTC
291703
291704         · c8c71e75ca    Merge    pull    request    #46133    from     rally‐
291705           time/2017.7_update_version_doc
291706
291707         · 0ed338e643 Update release versions for the 2017.7 branch
291708
291709       · ISSUE  #46124:  (moremo) GitFS  saltenv ref won't pick up multiple of
291710         the same ref (refs: #46185)
291711
291712       · PR #46185: (terminalmage) gitfs: Fix detection of base env  when  its
291713         ref is also mapped to a different env @ 2018-02-26 14:52:16 UTC
291714
291715         · 390d592aa6 Merge pull request #46185 from terminalmage/issue46124
291716
291717         · 3b58dd0da0  gitfs:  Fix  detection of base env when its ref is also
291718           mapped to a different env
291719
291720       · PR #46148: (rallytime) [2017.7] Merge forward from 2017.7.3 to 2017.7
291721         @ 2018-02-23 19:21:38 UTC
291722
291723         · 705caa8cca Merge pull request #46148 from rallytime/merge-2017.7
291724
291725         · 25deebf7a6 Merge branch '2017.7.3' into '2017.7'
291726
291727       · PR  #46137:  (damon-atkins) [2017.7] update ec2 pillar arguments with
291728         better names @ 2018-02-23 13:32:04 UTC
291729
291730         · PR  #45878:  (damon-atkins)  ec2_pillar  update  to   fix   finding
291731           instance-id (refs: #46137)
291732
291733         · 10a47dcbc4       Merge      pull      request      #46137      from
291734           damon-atkins/2017.7_fix_ec2_pillar2
291735
291736         · 99e7f6a7d3 update ec2 pillar arguments with better names
291737
291738       · ISSUE #46004: (github-abcde) opts file_roots  gets  overwritten  with
291739         pillar_roots in orchestration run (refs: #46145)
291740
291741       · PR  #46145:  (terminalmage) 3 small fixes for runners/orchestration @
291742         2018-02-22 22:11:11 UTC
291743
291744         · d74cb14557 Merge pull request #46145 from terminalmage/issue46004
291745
291746         · 467ff841cd pillarenv argument should default to None  and  not  the
291747           value from opts
291748
291749         · 2a185855ea  Better  solution  for  fixing  the opts munging in pil‐
291750           lar.show_pillar runner
291751
291752         · e2c4702e0c Update tests to reflect changes to the SaltCacheLoader
291753
291754         · f9301fcc34 Document behavior  when  orchestration  runnner  invoked
291755           with non-orch states
291756
291757         · 9644579cd0  Instantiate  the  SaltCacheLoader's  fileclient  in the
291758           __init__
291759
291760         · f9a6c86e21  salt.runners.pillar.show_pillar:  don't  modify  master
291761           opts
291762
291763         · e0940a9fc4 Properly detect use of the state.orch alias and add orch
291764           jid to kwargs
291765
291766       · PR #46135:  (rallytime)  Back-port  #46088  to  2017.7  @  2018-02-22
291767         15:11:14 UTC
291768
291769         · PR  #46088:  (rongzeng54) fix kernel subpackages install bug (refs:
291770           #46135)
291771
291772         · 0398ce0482 Merge pull request #46135 from rallytime/bp-46088
291773
291774         · 57a60f62a3 fix kernel subpackages install bug
291775
291776       · ISSUE #45837: (johje349) Salt Cloud does not recognise all  Digitalo‐
291777         cean sizes (refs: #46115)
291778
291779       · PR  #46136:  (rallytime)  Back-port  #46115  to  2017.7  @ 2018-02-21
291780         19:17:23 UTC
291781
291782         · PR #46115: (samodid) update digitalocean salt-cloud  driver  (refs:
291783           #46136)
291784
291785         · 1fcbbd1e02 Merge pull request #46136 from rallytime/bp-46115
291786
291787         · 0a481d707f update digitalocean salt-cloud driver
291788
291789       · PR  #45911: (twangboy) LGPO Module: Convert reg values to unicode for
291790         debug @ 2018-02-21 19:02:17 UTC
291791
291792         · 11e5e8eb86    Merge    pull    request    #45911    from     twang‐
291793           boy/win_fix_lgpo_unicode
291794
291795         · bcde5cc625 Update log statement
291796
291797         · e9fa53d3b7 Change the Invalid Data Message
291798
291799         · c818d4b791 Convert reg values to unicode for debug
291800
291801       · ISSUE  #46085:  (zmedico) 2017.7.3 salt master with "open_mode: True"
291802         becomes unresponsive  if  minion  submits  empty  public  key  (refs:
291803         #46123)
291804
291805       · PR  #46123:  (gtmanfred)  If  no  pubkey is passed in openmode fail @
291806         2018-02-21 19:01:47 UTC
291807
291808         · 524a6a72a0 Merge pull request #46123 from gtmanfred/2017.7
291809
291810         · 8d36730ef7 If no pubkey is passed in openmode fail
291811
291812       · PR #46131: (vutny)  [DOC]  Fix  code-blocks  for  reStructuredText  @
291813         2018-02-21 15:47:05 UTC
291814
291815         · e48fa58012 Merge pull request #46131 from vutny/doc-formula-format‐
291816           ting
291817
291818         · d8fb051e44 [DOC] Fix code-blocks for reStructuredText
291819
291820       · ISSUE #42763: (xuhcc) acme.cert state falsely reports  about  renewed
291821         certificate (refs: #44603)
291822
291823       · ISSUE  #40208:  (bewing)  Inconsistent  state  return  when test=True
291824         (refs: #44603)
291825
291826       · PR #46118:  (rallytime)  Back-port  #44603  to  2017.7  @  2018-02-21
291827         15:21:42 UTC
291828
291829         · PR  #44603: (oarmstrong) Fix acme state to correctly return on test
291830           (refs: #46118)
291831
291832         · 6cea44ee95 Merge pull request #46118 from rallytime/bp-44603
291833
291834         · 2a2c23c66b Fix acme state to correctly return on test
291835
291836       · PR #46121: (rallytime) [2017.7] Merge forward from 2016.11 to  2017.7
291837         @ 2018-02-21 10:07:18 UTC
291838
291839         · 16c382b55b Merge pull request #46121 from rallytime/merge-2017.7
291840
291841         · 4c2f504a85 Merge branch '2016.11' into '2017.7'
291842
291843           · e197a0fbc5 Merge pull request #46076 from rallytime/bp-46066
291844
291845             · b94d73c53e Pin tornado version in requirements file
291846
291847           · c72c1bde5f Merge pull request #46093 from wedge-jarrad/contribut‐
291848             ing-doc-typo
291849
291850             · 5a0fe104f7 Fix contributing doc typo
291851
291852           · 3cb83ea87e   Merge    pull    request    #45992    from    bgrid‐
291853             ley/fix-routes-present-state
291854
291855             · 679787699c        Add        vpc_peering_connection_id       to
291856               describe_route_tables route_keys
291857
291858           · 8a60635da0 Merge pull request #46000 from terminalmage/issue45910
291859
291860             · 8cf13325ee salt.states.reg.present: Prevent traceback when  reg
291861               data is binary
291862
291863           · 1f44e285dc    Merge    pull   request   #46011   from   terminal‐
291864             mage/fix-solaris-runas
291865
291866             · 8ee0a3a28b Move Solaris USER workaround up a bit
291867
291868             · 13cdb52690 cmdmod.py: runas workaround for platforms that don't
291869               set a USER env var
291870
291871           · 30fb8f7be0    Merge    pull    request    #45467    from   twang‐
291872             boy/win_exclude_hidden
291873
291874             · ea41215646 Make the regex pattern less greedy
291875
291876             · 6d223cffa7 Add tip about passing bogus saltenv
291877
291878             · 1282ae3a93 Skip hidden first
291879
291880             · 437a457911 Skip hidden dirs in genrepo
291881
291882             · 87dc554dc3 Add final updates to docs
291883
291884             · 3646d5c897 Fix some docs formatting, add some warnings
291885
291886             · 35c81faf5a Log the source_dir when caching the files
291887
291888             · 91c3da8dfd Improve docs for pkg.refresh_db
291889
291890             · 4803d92707 Add some documentation
291891
291892             · 08b82e0875 Fix lint error, use raw
291893
291894             · 2f712691cf Exclude hidden directories in pkg.refresh_db
291895
291896       · ISSUE #46106: (amendlik) yumpkg.refresh_db hangs (refs: #46107)
291897
291898       · PR  #46107:  (amendlik)  Add  --assumeyes  on  YUM/DNF   commands   @
291899         2018-02-20 22:52:06 UTC
291900
291901         · b92346645b Merge pull request #46107 from amendlik/yumpkg-assumeyes
291902
291903         · 8d9a432fb2 Add --assumeyes to yum/dnf commands in yumpkg.refresh_db
291904
291905       · PR #46094: (kstreee) Fix memory leak @ 2018-02-20 21:36:02 UTC
291906
291907         · 14fe423e0c Merge pull request #46094 from kstreee/fix-memory-leak
291908
291909         · 48080a1bae  Fixes  memory leak, saltclients should be cleaned after
291910           used.
291911
291912         · aba00805f4  Adds  set_close_callback  function  to  removes  stream
291913           instance after closed from a set streams.
291914
291915       · ISSUE #13: (thatch45) Expand the stats module (refs: #46097)
291916
291917       · PR  #46097:  (vutny)  [DOC] Put https link to the formulas doc page @
291918         2018-02-20 17:07:39 UTC
291919
291920         · 320c2037e1 Merge pull request #46097 from vutny/fix-https-link
291921
291922         · 2062fd0e5c [DOC] Put https link to the formulas doc page
291923
291924       · PR #46103: (bdrung) Fix skipping Kubernetes tests if  client  is  not
291925         installed @ 2018-02-20 16:33:42 UTC
291926
291927         · 0eb137fb4e Merge pull request #46103 from bdrung/2017.7
291928
291929         · dd3f936557 Fix skipping Kubernetes tests if client is not installed
291930
291931       · PR  #46070: (Ch3LL) add required arg to dns_check jinja doc example @
291932         2018-02-16 20:00:44 UTC
291933
291934         · c3a938e994 Merge pull request #46070 from Ch3LL/fix-doc-dns
291935
291936         · 2a5d855d97 add required arg to dns_check jinja doc example
291937
291938       · PR #46067:  (rallytime)  Back-port  #45994  to  2017.7  @  2018-02-16
291939         19:55:27 UTC
291940
291941         · PR #45994: (nullify005) Fix hosted zone Comment updates & quote TXT
291942           entries correctly (refs: #46067)
291943
291944         · 01042e9d77 Merge pull request #46067 from rallytime/bp-45994
291945
291946         · a07bb48726 Correct formatting for lint
291947
291948         · e8678f633d Fix Comment being None not '' and inject quotes into the
291949           TXT ChangeRecords
291950
291951       · ISSUE  #42932:  (bobrik)  cmd.run with bg: true doesn't fail properly
291952         (refs: #45932)
291953
291954       · PR #45932: (The-Loeki) Fix cmd run_all bg error @ 2018-02-16 14:53:15
291955         UTC
291956
291957         · PR #39980: (vutny) [2016.3] Allow to use bg kwarg for cmd.run state
291958           function (refs: #45932)
291959
291960         · 5e0e2a30e2      Merge      pull      request      #45932       from
291961           The-Loeki/fix_cmd_run_all_bg
291962
291963         · f83da27ca5 Merge branch '2017.7' into fix_cmd_run_all_bg
291964
291965         · 771758fbca Merge branch '2017.7' into fix_cmd_run_all_bg
291966
291967         · c54fcf7a2d cmd: move separate DRY logging blocks into _run, prevent
291968           logging on bg=True, don't use_vt on bg
291969
291970         · ebb1f81a9b cmd run: when running in bg, force ignore_retcode=True
291971
291972       · PR #46062: (vutny) Fix typo in postgres_user.present state function @
291973         2018-02-16 14:44:29 UTC
291974
291975         · 45ace39961       Merge      pull      request      #46062      from
291976           vutny/pg-user-state-fix-typo
291977
291978         · a5fbe4e95e Fix typo in postgres_user.present state function
291979
291980       · PR #45763: (twangboy) Fix rehash function in win_path.py @ 2018-02-15
291981         20:05:16 UTC
291982
291983         · edcb64de76     Merge    pull    request    #45763    from    twang‐
291984           boy/win_fix_path_rehash
291985
291986         · b9a2bc7b29 Fix hyperlinks
291987
291988         · 29912adc15 Move the test_rehash test to test_win_functions
291989
291990         · adc594c183 Remove duplicate link
291991
291992         · e84628c1eb Add some comments to the code
291993
291994         · d50d5f582f Add additional info to docs for broadcast_setting_change
291995
291996         · 3a54e09cd9 Rename setting to message
291997
291998         · a3f9e99bc0 Change to a generic function to broadcast change
291999
292000         · 79299361c3 Create refresh_environment salt util
292001
292002         · 967b83940c Fix rehash function
292003
292004       · PR #46042: (jfindlay) Revise file_tree pillar module documentation  @
292005         2018-02-15 19:29:52 UTC
292006
292007         · PR  #46027: (jfindlay) Revise file_tree pillar module documentation
292008           (refs: #46042)
292009
292010         · a46fbc546c Merge pull request #46042 from jfindlay/file_tree_doc
292011
292012         · 0ba4954a4b salt.pillar.file_tree revise module documentation
292013
292014         · 3c6a5bf967 salt.pillar.file_tree provide better debug info
292015
292016         · bb1cdc451e salt.pillar.file_tree no  stack  trace  when  nodegroups
292017           undefined
292018
292019       · PR  #46013:  (rallytime)  Back-port  #45598  to  2017.7  @ 2018-02-15
292020         16:11:05 UTC
292021
292022         · PR #45598: (nullify005) Patch around ResourceRecords needing to  be
292023           present for AliasTarget (refs: #46013)
292024
292025         · de86126dd8 Merge pull request #46013 from rallytime/bp-45598
292026
292027         · 2ea3fef543 No lazy logging
292028
292029         · f427b0febc Change formatting style of logging lines per review
292030
292031         · ebb244396b  Patch  around ResourceRecords needing to be present for
292032           AliasTarget entries to work
292033
292034       · ISSUE #45825: (philpep) selinux.fcontext_policy_present doesn't  work
292035         on Centos 6 with filetype = all files (refs: #45826)
292036
292037       · PR  #46016:  (rallytime)  Back-port  #45826  to  2017.7  @ 2018-02-14
292038         18:16:24 UTC
292039
292040         · PR #45826: (philpep) Fix selinux.fcontext_policy_present for Centos
292041           6 (refs: #46016)
292042
292043         · 07e5735471 Merge pull request #46016 from rallytime/bp-45826
292044
292045         · 1916e5c4a4 Fix selinux.fcontext_policy_present for Centos 6
292046
292047       · ISSUE  #45784:  (oarmstrong) SELinux module fcontext_get_policy fails
292048         with long regex (refs: #45785)
292049
292050       · PR #46015:  (rallytime)  Back-port  #45785  to  2017.7  @  2018-02-14
292051         18:16:09 UTC
292052
292053         · PR  #45785:  (oarmstrong)  m/selinux.fcontext_get_policy allow long
292054           filespecs (refs: #46015)
292055
292056         · a1f4092811 Merge pull request #46015 from rallytime/bp-45785
292057
292058         · ef6ffb1492 Resolve linting errors
292059
292060         · 8047066c46 Remove unused import
292061
292062         · 8f7c45935a Add tests for salt.modules.selinux.fcontext_get_policy
292063
292064         · bafb7b4e6e Ensure parsed fields are stripped
292065
292066         · a830a6e819 m/selinux.fcontext_get_policy allow long filespecs
292067
292068       · PR #46012:  (rallytime)  Back-port  #45462  to  2017.7  @  2018-02-14
292069         18:14:56 UTC
292070
292071         · PR #45462: (aphor) emit port cli version, variants as separate args
292072           (refs: #46012)
292073
292074         · 96097c037e Merge pull request #46012 from rallytime/bp-45462
292075
292076         · 9f76836a6c emit port cli version, variants as separate args
292077
292078       · PR  #45991:  (terminalmage)  yumpkg:  Fix  a   couple   issues   with
292079         _get_extra_opts @ 2018-02-14 16:48:28 UTC
292080
292081         · 1279924f5f  Merge  pull request #45991 from terminalmage/fix-dupli‐
292082           cate-extra-opts
292083
292084         · 916766f651 yumpkg: Fix a couple issues with _get_extra_opts
292085
292086       · PR #46017: (rallytime) [2017.7] Merge forward from 2017.7.3 to 2017.7
292087         @ 2018-02-13 21:43:15 UTC
292088
292089         · 8b9adc258e Merge pull request #46017 from rallytime/merge-2017.7
292090
292091         · a06645ce71 Merge branch '2017.7.3' into '2017.7'
292092
292093       · ISSUE  #45796:  (L4rS6) aliases module doesn't follow symlinks (refs:
292094         #45797)
292095
292096       · PR #45988:  (rallytime)  Back-port  #45797  to  2017.7  @  2018-02-13
292097         17:49:02 UTC
292098
292099         · PR #45797: (L4rS6) follow symlinks in aliases module (close #45796)
292100           (refs: #45988)
292101
292102         · d20ff89414 Merge pull request #45988 from rallytime/bp-45797
292103
292104         · 953a400d79 follow symlinks
292105
292106       · PR #45711: (bdrung) Fix Unicode tests when run  with  LC_ALL=POSIX  @
292107         2018-02-13 17:42:07 UTC
292108
292109         · b18087cee0 Merge pull request #45711 from bdrung/fix-unicode-tests
292110
292111         · b6181b5ed6 Fix Unicode tests when run with LC_ALL=POSIX
292112
292113       · PR   #45878:   (damon-atkins)   ec2_pillar   update  to  fix  finding
292114         instance-id (refs: #46137) @ 2018-02-13 17:34:14 UTC
292115
292116         · 5271fb1d40      Merge      pull      request      #45878       from
292117           damon-atkins/2017.7_fix_ec2_pillar
292118
292119         · 0e74025714 Merge branch '2017.7' into 2017.7_fix_ec2_pillar
292120
292121         · b4d0b23891 py3 fix
292122
292123         · 75d9e20d8a  Add  ignoring  'terminated',  'stopped'  instances,  to
292124           improve changes of a single match
292125
292126         · 0093472a37   added   tag_key_list   and   tag_key_sep   to   create
292127           ec2_tags_list
292128
292129         · afb3968aa7  ec2_pillar  could  not  find instance-id, resolved. add
292130           support to use any tag to compare minion id against.
292131
292132       · PR  #45942:  (terminalmage)  Fix  incorrect  translation  of   docker
292133         port_bindings -> ports (2017.7 branch) @ 2018-02-13 16:10:03 UTC
292134
292135         · cf367dbd04    Merge    pull    request    #45942   from   terminal‐
292136           mage/issue45679-2017.7
292137
292138         · 89cbd72a0d Don't try to sort ports when translating docker input
292139
292140         · 9cd47b39dd Fix incorrect translation  of  docker  port_bindings  ->
292141           ports
292142
292143       · PR #45959: (rallytime) A couple of grammar updates for the state com‐
292144         piler docs @ 2018-02-12 22:17:49 UTC
292145
292146         · dae41de7a8    Merge    pull    request    #45959    from     rally‐
292147           time/state-doc-update
292148
292149         · 6f781cb95d A couple of grammar updates for the state compiler docs
292150
292151       · ISSUE  saltstack/salt#45884:  (tintoy)  "TypeError:  can't  serialize
292152         <NodeImage" when calling salt-cloud  with  the  dimensiondata  driver
292153         (refs: #45908)
292154
292155       · ISSUE  #45884:  (tintoy) "TypeError: can't serialize <NodeImage" when
292156         calling salt-cloud with the dimensiondata driver (refs: #45908)
292157
292158       · PR #45908: (tintoy)  Fix  for  #45884  ("TypeError:  can't  serialize
292159         <NodeImage"  when calling salt-cloud with the dimensiondata driver) @
292160         2018-02-12 22:05:29 UTC
292161
292162         · 007214f7bf  Merge  pull  request   #45908   from   DimensionDataRe‐
292163           search/fix/issue/45884
292164
292165         · 1a75786b5a Fix linter warnings.
292166
292167         · 82ec0b589c Revert to using salt.utils.cloud.is_public_ip.
292168
292169         · 9b6b01873b Fix violations reported by flake8.
292170
292171         · a2bc155c73 Use __utils__['cloud.'] instead of salt.cloud.utils.
292172
292173         · 98907a32cb  Ensure  'auth'  parameter is correctly passed to dimen‐
292174           siondata driver.
292175
292176         · de26b03e2c Fix copy/paste bug in dimensiondata provider integration
292177           test.
292178
292179         · 6b1b6be427 Add integration tests for dimensiondata cloud provider.
292180
292181         · f6ea9fed7d  Ensure  that  event  data provided by the dimensiondata
292182           driver is serialisable.
292183
292184       · PR #45985: (garethgreenaway) [2017.7] Backport #45894 - Missing  for‐
292185         mat in the call to write.  @ 2018-02-12 20:22:31 UTC
292186
292187         · PR  #45894:  (while0pass)  Fix inconcistencies in param description
292188           (refs: #45985)
292189
292190         · efcbfa868c   Merge   pull   request   #45985   from    garethgreen‐
292191           away/2017_7_fixing_mac_tests_again
292192
292193         · 7b8dc14433 Missing format in the call to write.
292194
292195       · PR   #45958:   (garethgreenaway)   Backporting  #45935  to  2017.7  @
292196         2018-02-12 16:25:07 UTC
292197
292198         · PR   #45936:   (garethgreenaway)   [oxygen]   Fix    to    log/han‐
292199           dlers/__init__.py (refs: #45958)
292200
292201         · PR #45935: (rallytime) Back-port #45742 to 2017.7.3 (refs: #45958)
292202
292203         · PR #45742: (marccardinal) list.copy() is not compatible with python
292204           2.7 (refs: #45935)
292205
292206         · bf03abd07c Merge pull  request  #45958  from  garethgreenaway/back‐
292207           port-fixing_mactests_queue_full
292208
292209         · 25dffaae91 Backporting #45935
292210
292211       · PR  #45949: (rallytime) [2017.7] Merge forward from 2016.11 to 2017.7
292212         @ 2018-02-09 22:32:09 UTC
292213
292214         · bab365d6c6 Merge pull request #45949 from rallytime/merge-2017.7
292215
292216         · f51687e903 Merge branch '2016.11' into '2017.7'
292217
292218         · 7779fea7ba Merge pull request #45940 from dmurphy18/fix_aix_cmdmod
292219
292220           · dd2788419b Fix use of 'su' for AIX to use '-'
292221
292222       · ISSUE #45915: (MatthiasKuehneEllerhold) 2017.7.3:  Salt-SSH  &  Vault
292223         Pillar: Permission denied "minion.pem" (refs: #45928)
292224
292225       · PR  #45928:  (garethgreenaway)  [2017.7]  Fixing vault when used with
292226         pillar over salt-ssh @ 2018-02-09 16:32:35 UTC
292227
292228         · 7fd00ec752   Merge   pull   request   #45928   from    garethgreen‐
292229           away/45915_fixing_vault_pillar_for_salt_ssh
292230
292231         · 259e60e5d4 Fixing vault when used with pillar over salt-ssh
292232
292233       · PR   #45925:   (terminalmage)  Fix  spelling  error  in  docstring  @
292234         2018-02-08 21:52:35 UTC
292235
292236         · 9d14ad9ccf Merge pull request #45925 from terminalmage/fix-spelling
292237
292238         · 7a143fe454 Fix spelling error in docstring
292239
292240       · PR #45920: (rallytime) [2017.7] Merge forward from 2016.11 to  2017.7
292241         @ 2018-02-08 15:43:49 UTC
292242
292243         · 0cbe93cd69 Merge pull request #45920 from rallytime/merge-2017.7
292244
292245         · e4e4744218 Merge branch '2016.11' into '2017.7'
292246
292247         · 27ff82f996     Merge    pull    request    #45864    from    rally‐
292248           time/release-note-fix
292249
292250           · 104a24f244 Remove extraneous ] in release notes for 2016.11.9
292251
292252         · 5fa010de2b Merge pull request #45787 from rallytime/2016.11.9_docs
292253
292254           · a38d4d44fa [2016.11] Bump latest and previous versions
292255
292256       · ISSUE #45805: (bgridley) Execution module victorops throws  an  error
292257         "RuntimeError:  dictionary  changed  size  during  iteration"  (refs:
292258         #45814)
292259
292260       · PR #45814: (gtmanfred) fix cookies dict size changing in http.query @
292261         2018-02-08 15:35:30 UTC
292262
292263         · 643a8a5278 Merge pull request #45814 from gtmanfred/2017.7
292264
292265         · d8eec9aa97 fix cookies dict size changing in http.query
292266
292267       · PR  #45877: (rallytime) Add release notes file for 2017.7.4 release @
292268         2018-02-08 14:07:43 UTC
292269
292270         · 3a3f87c16d    Merge    pull    request    #45877    from     rally‐
292271           time/new-release-notes
292272
292273         · f937e8ba81 Add release notes file for 2017.7.4 release
292274
292275       · PR  #45904:  (rallytime)  Back-port  #41017  to  2017.7  @ 2018-02-08
292276         13:57:45 UTC
292277
292278         · PR #41017: (cebe) Fixed typo  in  pkg  state  documentation  (refs:
292279           #45904)
292280
292281         · 1c3cc00670 Merge pull request #45904 from rallytime/bp-41017
292282
292283         · 80c56cdcea Fixed typo in pkg state documentation
292284
292285       · PR  #45907:  (terminalmage)  Fix  backport of grains fix @ 2018-02-08
292286         13:57:26 UTC
292287
292288         · 317d35bd15   Merge   pull    request    #45907    from    terminal‐
292289           mage/fix-grains-backport
292290
292291         · 6cf7e50cc4 Fix backport of grains fix
292292
292293       · PR  #45906:  (rallytime)  Back-port  #45548  to  2017.7  @ 2018-02-08
292294         13:57:07 UTC
292295
292296         · PR #45548: (viktordaniel) Update x509.py - documentation fix (refs:
292297           #45906)
292298
292299         · dade5f0cab Merge pull request #45906 from rallytime/bp-45548
292300
292301         · 1befa7386c Update x509.py
292302
292303       · ISSUE #45893: (CrackerJackMack) archive.extracted ValueError "No path
292304         specified" in 2017.7.3 (refs: #45902)
292305
292306       · PR #45902: (terminalmage) Check the effective saltenv for cached  ar‐
292307         chive @ 2018-02-08 13:42:00 UTC
292308
292309         · 82c473a1fe Merge pull request #45902 from terminalmage/issue45893
292310
292311         · 9d200efc26 Add regression test for issue 45893
292312
292313         · 1468f1d0ff Remove duplicated section in docstring and fix example
292314
292315         · 6cc5cd9b8a Check the effective saltenv for cached archive
292316
292317       · PR  #45862:  (rallytime)  Back-port  #45830  to  2017.7  @ 2018-02-08
292318         13:22:26 UTC
292319
292320         · PR #45830: (garethgreenaway)  [oxygen] Catch exception when logging
292321           queue is full (refs: #45862)
292322
292323         · fdedde3cfb Merge pull request #45862 from rallytime/bp-45830
292324
292325         · 1024856f9a  Wrapping  the put_nowait in a try...except and catching
292326           the exception when the multiprocessing queue is full.  This  situa‐
292327           tion  is  happening  when  running  the full testing suite on MacOS
292328           where the queue limit is 32767 vs on Linux where the queue limit is
292329           unlimited.
292330
292331       · PR #45779: (The-Loeki) SSH shell shim: Don't use $() for optimal sup‐
292332         port @ 2018-02-05 18:35:21 UTC
292333
292334         · 43a45b42c3 Merge pull request #45779 from The-Loeki/patch-3
292335
292336         · 8575ae3d52 Merge branch '2017.7' into patch-3
292337
292338         · 47cf00d88e SSH shell shim: Don't use $() for optimal support
292339
292340       · PR #45788: (rallytime) [2017.7] Bump latest and previous  versions  @
292341         2018-02-05 15:30:46 UTC
292342
292343         · cca997d0da Merge pull request #45788 from rallytime/2017.7.3_docs
292344
292345         · d5faf6126b [2017.7] Bump latest and previous versions
292346
292347       · PR  #45842:  (rallytime)  Back-port  #45827  to  2017.7  @ 2018-02-05
292348         15:04:11 UTC
292349
292350         · PR #45827:  (terminalmage)  Fix  traceback  in  disks  grains  when
292351           /sys/block not available (refs: #45842)
292352
292353         · 746206cebe Merge pull request #45842 from rallytime/bp-45827
292354
292355         · c631598a87 Fix traceback in disks grains when /sys/block not avail‐
292356           able
292357
292358       · ISSUE #44978: (doesitblend)  State  duration  not  always  calculated
292359         (refs: #45721)
292360
292361       · PR #45721: (garethgreenaway)  [2017.7] Ensure duration and start time
292362         exist @ 2018-02-05 14:59:33 UTC
292363
292364         · 900aadcd67   Merge   pull   request   #45721   from    garethgreen‐
292365           away/44978_show_duration_when_no_state_run
292366
292367         · 359265869f  Adding  a  couple  tests  to  ensure  that  duration is
292368           included in state run results even when states do not run.
292369
292370         · 912347abc3 Include the duration when a  state  does  not  run,  for
292371           example when the onchanges requisite is not met.
292372
292373       · PR  #45517: (kstreee) Fixes base dir making logic to ensure not rais‐
292374         ing the exception when base directory already exists.   @  2018-02-05
292375         14:56:23 UTC
292376
292377         · 80a2d009b4 Merge pull request #45517 from kstreee/fix-mkdir
292378
292379         · 24d41f2451  Fixes  base  dir making logic to ensure not raising the
292380           exception when base directory already exists.
292381
292382       · PR #45835: (kstreee) Adds a missing return statement.   @  2018-02-02
292383         22:51:41 UTC
292384
292385         · 7a4b1b2e77   Merge   pull  request  #45835  from  kstreee/fix-miss‐
292386           ing-return-statement
292387
292388         · 68c7f3dcba Adds a missing return statement.
292389
292390       · PR #45840:  (rallytime)  Back-port  #45603  to  2017.7  @  2018-02-02
292391         20:17:32 UTC
292392
292393         · PR  #45603:  (andreaspe) Fix for duplicate entries with pkrepo.man‐
292394           aged (refs: #45840)
292395
292396         · 0a04f118c2 Merge pull request #45840 from rallytime/bp-45603
292397
292398         · 9653363131 Fix for duplicate entries with pkrepo.managed
292399
292400       · ISSUE #44315: (whytewolf) cmd.* cwd does not escape spaces.  2017.7.2
292401         (refs: #45134)
292402
292403       · PR  #45716:  (ciiqr)  fixed  quoting  of  script path in cmd.script @
292404         2018-02-02 14:36:49 UTC
292405
292406         · PR #45134: (garethgreenaway) [2017.7] fix  to  cmd.script  for  cwd
292407           with space (refs: #45716)
292408
292409         · bd2178cd5f       Merge      pull      request      #45716      from
292410           ciiqr/fix_cmd_script_quoting
292411
292412         · 217791079b some code cleanup (lint errors  and  escape_argument  as
292413           _cmd_quote)
292414
292415         · 1c29bc5a3d fixed quoting of script path in cmd.script
292416
292417       · ISSUE  #45684: (bdrung) salt documentation fails to build with Python
292418         3 version of sphinx (refs: #45719)
292419
292420       · PR #45719: (bdrung) Fix python3 sphinx build  @  2018-02-02  14:20:37
292421         UTC
292422
292423         · 272f912c7c       Merge      pull      request      #45719      from
292424           bdrung/fix-python3-sphinx-build
292425
292426         · 179e8fbe73 doc: Do not mock non-existing __qualname__ attribute
292427
292428         · 971e59ebe2 Drop enforcing new-style object for SaltYamlSafeLoader
292429
292430       · PR #45764: (mchugh19) support amazon linux 2  for  service  module  @
292431         2018-02-02 14:12:07 UTC
292432
292433         · PR  #45758:  (mchugh19)  support  amazon linux 2 for service module
292434           (refs: #45764)
292435
292436         · fc04336c3b Merge pull request #45764 from mchugh19/2017.7
292437
292438         · 0a7f1a4d75 English better
292439
292440         · 37e067c7b5 support amazon linux 2 for service module
292441
292442       · PR #45756: (roaldnefs) Fix Grafana4 states documentation @ 2018-01-31
292443         19:01:33 UTC
292444
292445         · f234bf52f4     Merge    pull    request    #45756    from    roald‐
292446           nefs/fix-grafana4-documentation
292447
292448         · 92979c0b57 Fix grafana4 states documentation
292449
292450       · PR #45801: (rallytime) [2017.7] Merge forward from 2016.11 to  2017.7
292451         @ 2018-01-31 18:55:52 UTC
292452
292453         · 685b683db5 Merge pull request #45801 from rallytime/merge-2017.7
292454
292455         · 26e992e011 Merge branch '2016.11' into '2017.7'
292456
292457           · 746386d04c      Merge      pull      request      #45794     from
292458             vutny/doc-file-state-examples
292459
292460             · ddfeae6a29 [DOC] Fix code-block rST  directive  in  file  state
292461               module
292462
292463           · abc9ece214  Merge pull request #45780 from vutny/doc-pkgrepo-zyp‐
292464             per
292465
292466             · f80c7d8d69 [DOC] Add missing gpgautoimport for pkgrepo.managed
292467
292468       · PR #45802: (rallytime) [2017.7] Merge forward from 2017.7.3 to 2017.7
292469         @ 2018-01-31 18:55:35 UTC
292470
292471         · c7d319f3bc     Merge    pull    request    #45802    from    rally‐
292472           time/merge-2017.7-from-2017.7.3
292473
292474         · eb48513ba0 Merge branch '2017.7.3' into '2017.7'
292475
292476       · ISSUE #45738: (UtahCampusD) minion cache  overwritten  for  scheduled
292477         jobs (refs: #45761)
292478
292479       · PR  #45761: (gtmanfred) generate a jid for cache_jobs on the minion @
292480         2018-01-31 18:01:53 UTC
292481
292482         · 96e9232cc2 Merge pull request #45761 from gtmanfred/2017.7
292483
292484         · 280767ed57 generate a jid for cache_jobs on the minion
292485
292486       · ISSUE #45301: (twangboy) Ctl+C causes stack trace on  Windows  (refs:
292487         #45707)
292488
292489       · PR  #45707:  (skizunov) Fix exception when shutting down logging lis‐
292490         tener @ 2018-01-30 13:28:10 UTC
292491
292492         · 38ed46a61a Merge pull request #45707 from skizunov/develop2
292493
292494         · e84801a381 Ensure we have at least one logging root handler
292495
292496         · 3da9b8dd33 Fix exception when shutting down logging listener
292497
292498       · PR #45773: (terminalmage) Fix misspellings @ 2018-01-30 13:24:52 UTC
292499
292500         · 53008ffec7 Merge pull  request  #45773  from  terminalmage/fix-mis‐
292501           spelling
292502
292503         · 0a45f998fe Fix misspellings
292504
292505       · ISSUE  #45489:  (ipmb)  cache.grains  runner returns all minions when
292506         match is not found (refs: #45588)
292507
292508       · PR #45751:  (rallytime)  Back-port  #45588  to  2017.7  @  2018-01-29
292509         17:12:25 UTC
292510
292511         · PR  #45588:  (samodid)  update   MasterPillarUtil get_minion_grains
292512           method (refs: #45751)
292513
292514         · 454ed23f62 Merge pull request #45751 from rallytime/bp-45588
292515
292516         · aa149a0e7a fix typo
292517
292518         · 3e794a043d  fix copy-paste error in  get_minion_grains  method  doc
292519           string
292520
292521         · 1fb94a08e0 update MasterPillarUtil
292522
292523       · PR  #45753: (rallytime) [2017.7] Merge forward from 2016.11 to 2017.7
292524         @ 2018-01-29 17:11:11 UTC
292525
292526         · 860e21955c Merge pull request #45753 from rallytime/merge-2017.7
292527
292528         · cb50cce181 Merge branch '2016.11' into '2017.7'
292529
292530         · d7e09e2649 Merge pull request #45749 from vutny/fix-typo
292531
292532           · e80bfb20c6 The zypper.mod_repo: fix typo in the docstring
292533
292534         · cb6ce378ea      Merge      pull      request      #45459       from
292535           vutny/salt-cloud-fix-loading-utf-cache
292536
292537           · b370796e9d Salt Cloud: write/read cached data in UTF-8 explicitly
292538
292539           · cd999201be [2016.11] Salt Cloud: fix loading UTF-8 cached data
292540
292541       · ISSUE  #40173:  (gtmanfred) Document the Open File limit issue better
292542         (refs: #45688)
292543
292544       · PR #45688: (bdrung) Raise LimitNOFILE to default  max  open  files  @
292545         2018-01-29 14:26:57 UTC
292546
292547         · 9fb4d4a528       Merge      pull      request      #45688      from
292548           bdrung/raise-max-open-files
292549
292550         · bbedeec756 Raise LimitNOFILE to default max open files
292551
292552       · PR #45686: (bdrung) Use dbus-run-session  instead  of  dbus-launch  @
292553         2018-01-29 14:24:11 UTC
292554
292555         · 79da49ec8b Merge pull request #45686 from bdrung/2017.7
292556
292557         · f49d0a0eec Use dbus-run-session instead of dbus-launch
292558
292559       · PR  #45740:  (terminalmage) Fix incorrect attempt at version compari‐
292560         son.  @ 2018-01-29 14:12:05 UTC
292561
292562         · 7fb666bcd2 Merge pull request #45740  from  terminalmage/fix-incor‐
292563           rect-version-comparison
292564
292565         · 1e0b38dcaa Fix incorrect attempt at version comparison.
292566
292567       · PR #45747: (SteffenKockel) Fix typos @ 2018-01-29 13:53:27 UTC
292568
292569         · fe636f53f8 Merge pull request #45747 from SteffenKockel/2017.7
292570
292571         · 319b513183 Fix typos
292572
292573       · PR  #45734:  (terminalmage) Fix traceback in CLI output when value is
292574         trimmed @ 2018-01-28 13:35:56 UTC
292575
292576         · eb91ae8b6e   Merge   pull    request    #45734    from    terminal‐
292577           mage/fix-trimmed-output
292578
292579         · 966ad07452 Fix traceback in CLI output when value is trimmed
292580
292581       · PR  #45712:  (bdrung) Decode git call output in Python 3 @ 2018-01-28
292582         02:03:21 UTC
292583
292584         · 7516bfbffe Merge pull request #45712 from bdrung/fix-version-decode
292585
292586         · 217183405a Decode git call output in Python 3
292587
292588       · ISSUE #44449: (brianthelion) salt-ssh + salt-cloud: cloud roster  not
292589         working and/or update_cachedir is broken (refs: #45720)
292590
292591       · PR  #45720:  (dwoz) Salt cloud adds newly created insances to cache @
292592         2018-01-26 22:45:43 UTC
292593
292594         · 91b848debb Merge pull request #45720 from dwoz/issue-44449-prod-fix
292595
292596         · 4a4bd6119d Salt cloud adds newly created insances to cache
292597
292598       · PR #45724: (eliasp) Typo (HelliumHelium) @ 2018-01-26 22:37:44 UTC
292599
292600         · 831698f066      Merge      pull      request      #45724       from
292601           eliasp/2017.7-typo-from-hell
292602
292603         · bec78276f3 Replace left-over mistyped codename reference (Hellium
292604           2014.7.0)
292605
292606       · PR #45722: (rallytime) [2017.7] Merge forward from 2016.11 to  2017.7
292607         @ 2018-01-26 22:15:40 UTC
292608
292609         · cdb21a0186 Merge pull request #45722 from rallytime/merge-2017.7
292610
292611         · 8e3a2e25fe Merge branch '2016.11' into '2017.7'
292612
292613         · e4047a1234 Merge pull request #45511 from twangboy/win_fix_git
292614
292615           · 160dd7c6ce Pull the first item in the list
292616
292617           · 52d6d78150 Only keep ssh.py in the Windows installer
292618
292619           · 54eb0db2c4 Keep ssh state and execution modules in the installer
292620
292621           · 0fa801a329 Add additional path to find ssh.exe
292622
292623         · a550e8d25d Merge pull request #45694 from twangboy/win_reg_add_keys
292624
292625           · 8f53cd2d68 Add new keys to subkey_slash_check
292626
292627           · 62050c711c Add support for additional reg keys
292628
292629         · 7ceebf62f0       Merge      pull      request      #45577      from
292630           zer0def/fix-git-detached-31363
292631
292632           · a924b971ef Applied PR #40524 to git.detached state  module  func‐
292633             tion. (refs #31363)
292634
292635       · PR #45718: (rallytime) [2017.7] Merge forward from 2017.7.3 to 2017.7
292636         @ 2018-01-26 16:49:44 UTC
292637
292638         · 3a413e96c5 Merge pull request #45718 from rallytime/merge-2017.7
292639
292640         · f10c7ee92d Merge branch '2017.7.3' into '2017.7'
292641
292642       · PR #45690: (rallytime) [2017.7] Merge forward from 2016.11 to  2017.7
292643         @ 2018-01-26 14:41:44 UTC
292644
292645         · d0955519cf Merge pull request #45690 from rallytime/merge-2017.7
292646
292647         · d4dac9f7cc Merge branch '2016.11' into '2017.7'
292648
292649           · 3a6837e232 Merge pull request #45675 from Ch3LL/rn_2016.11.9
292650
292651             · 7b5bed36d9 Add new commits to 2016.11.9 release notes
292652
292653           · 915e259bad    Merge    pull    request    #45663    from   rally‐
292654             time/bp-45452-2016.11
292655
292656             · ae94fb61d9 opkg.py: make owner function return  value,  instead
292657               of iterator
292658
292659           · ecd75c137f Merge pull request #45651 from rallytime/merge-2016.11
292660
292661             · 1583e1edbe Merge branch '2016.11.9' into '2016.11'
292662
292663             · 10812969f0    Merge    pull    request   #45638   from   twang‐
292664               boy/win_fix_shell_info
292665
292666               · 872da3ffba Only convert text types in the  list_values  func‐
292667                 tion
292668
292669               · 0e41535cdb Fix reg.py to only convert text types to unicode
292670
292671               · 3579534ea5 Fix issue with detecting powershell
292672
292673             · 2d1dd1186e Merge pull request #45564 from Ch3LL/r-notes-2016
292674
292675             · 28e4398150 Merge pull request #45563 from Ch3LL/man_2016
292676
292677           · 22bcd3d110  Merge  pull  request #45600 from vutny/doc-fix-refer‐
292678             ences
292679
292680             · 35675fe6b3 [DOC] Fix references on Salt Formulas page
292681
292682           · 0d622f92a9    Merge    pull    request    #45542    from    Utah‐
292683             Dave/doc_mixed_transports
292684
292685             · b5b5054ec2 capitalize masters and minions
292686
292687             · f542bdf566 Add warning about using mixed transports
292688
292689           · c70b9dc20b Merge pull request #45565 from Ch3LL/r-notes-2016
292690
292691             · 325f4cbcda Add PR changes to 2016.11.9 Release Notes
292692
292693           · d8526062c1 Merge pull request #45562 from Ch3LL/man_2016
292694
292695             · 529bc0c680   update  release  number  for  salt-call  man  page
292696               2016.11.9
292697
292698             · 11b7222148 Update man pages for 2016.11.9
292699
292700       · PR #45710: (michelsen) Added  source  argument  to  function  call  @
292701         2018-01-26 14:30:48 UTC
292702
292703         · 9c92e93834  Merge  pull  request  #45710  from michelsen/fix-choco‐
292704           latey-state-bug
292705
292706         · 8accc0ce5c Added source argument to function call
292707
292708       · PR #45667: (gtmanfred) default to upgrading when refreshing on  arch‐
292709         linux @ 2018-01-25 14:05:24 UTC
292710
292711         · 693f72d5a7 Merge pull request #45667 from gtmanfred/syu
292712
292713         · 44c601102a  we should default to upgrading when refreshing on arch‐
292714           linux
292715
292716       · PR #45674: (rallytime) [2017.7] Merge forward from 2017.7.3 to 2017.7
292717         @ 2018-01-24 22:46:31 UTC
292718
292719         · bec946b080 Merge pull request #45674 from rallytime/merge-2017.7
292720
292721         · 9f78e53d4b Merge branch '2017.7.3' into '2017.7'
292722
292723       · ISSUE  #45590:  (viq) webhook engine does not work with tornado 4.5.2
292724         (refs: #45589)
292725
292726       · PR #45589: (gtmanfred) change webhook headers to  dict  @  2018-01-24
292727         22:32:37 UTC
292728
292729         · 50de847191 Merge pull request #45589 from gtmanfred/2017.7
292730
292731         · 395d6f5c91 change webhook headers to dict
292732
292733       · ISSUE  #45072:  (vernondcole)  cannot  build  documentation on Ubuntu
292734         17.10 (refs: #45662)
292735
292736       · PR  #45662:  (bdrung)  Fix  documentation  generation  @   2018-01-24
292737         17:14:22 UTC
292738
292739         · e21088c1a4 Merge pull request #45662 from bdrung/2017.7
292740
292741         · 71076afbcc doc: Define fake version for msgpack and psutil
292742
292743         · b6a5b745b1 doc: Mock keyring module import
292744
292745       · PR  #45650:  (rallytime)  Back-port  #45555  to  2017.7  @ 2018-01-24
292746         14:47:54 UTC
292747
292748         · PR  #45555:  (ddoh94)  update  winrepo_source_dir  document  (refs:
292749           #45650)
292750
292751         · da82f190d2 Merge pull request #45650 from rallytime/bp-45555
292752
292753         · e474d0416b update winrepo_source_dir document
292754
292755       · PR   #45611:   (terminalmage)   Fix  unnecessary/incorrect  usage  of
292756         six.binary_type @ 2018-01-23 22:53:20 UTC
292757
292758         · 79ee24c0c7   Merge   pull    request    #45611    from    terminal‐
292759           mage/tests-log-level
292760
292761         · 6aa865cf54 Fix unnecessary/incorrect usage of six.binary_type
292762
292763       · PR #45652: (rallytime) [2017.7] Merge forward from 2017.7.3 to 2017.7
292764         @ 2018-01-23 22:45:22 UTC
292765
292766         · 634d8dbcc0 Merge pull request #45652 from rallytime/merge-2017.7
292767
292768         · 4e907dc84b Merge branch '2017.7.3' into '2017.7'
292769
292770       · ISSUE #45627: (bdrung) Failing unit tests  in  Debian  package  build
292771         (refs: #45630)
292772
292773       · PR #45630: (bdrung) Fix tests @ 2018-01-23 21:56:46 UTC
292774
292775         · dbdef8230e Merge pull request #45630 from bdrung/2017.7
292776
292777         · 76d44e9490 Fix skipping test when boto is not installed
292778
292779         · 2b9b262357 Fix unit.modules.test_cmdmod.CMDMODTestCase.test_run
292780
292781       · PR        #45619:       (garethgreenaway)       [2017.7]       Fixing
292782         test_mac_user_enable_auto_login @ 2018-01-23 21:56:03 UTC
292783
292784         · e5c9cd91e8   Merge   pull   request   #45619   from    garethgreen‐
292785           away/2017_7_test_mac_user_enable_auto_login
292786
292787         · f5f03e1e6c   Fixing   integration.modules.test_mac_user.MacUserMod‐
292788           uleTest.test_mac_user_disable_auto_login
292789
292790       · PR #45644: (twangboy) Add missing  space  to  deprecation  warning  @
292791         2018-01-23 21:55:11 UTC
292792
292793         · 8a95fc4257     Merge    pull    request    #45644    from    twang‐
292794           boy/win_fix_dep_warns
292795
292796         · de9bc384cc Add missing space to deprecation warning
292797
292798       · PR #45634: (Ch3LL) Add different service name for Mac  10.13  test  @
292799         2018-01-23 21:51:56 UTC
292800
292801         · c290b6320b Merge pull request #45634 from Ch3LL/mac-service
292802
292803         · 31b712e27d Add different service name for Mac 10.13 test
292804
292805       · PR  #45606:  (terminalmage)  Fix bug affecting salt-ssh when root_dir
292806         differs from the default @ 2018-01-23 20:03:49 UTC
292807
292808         · c28151f5f7   Merge   pull    request    #45606    from    terminal‐
292809           mage/salt-ssh-root-dir-fix
292810
292811         · 3f9309521b  Fix  bug  affecting salt-ssh when root_dir differs from
292812           the default
292813
292814       · PR #45636: (Ch3LL)  Fix  mac  service  and  pkg  tests  for  10.13  @
292815         2018-01-23 18:44:56 UTC
292816
292817         · 0931b6417d Merge pull request #45636 from Ch3LL/mac-tests
292818
292819       · PR #45609: (rallytime) [2017.7] Merge forward from 2017.7.3 to 2017.7
292820         @ 2018-01-22 20:24:36 UTC
292821
292822         · 63a294f498 Merge pull request #45609 from rallytime/merge-2017.7
292823
292824         · a5fc3b3363 Merge branch '2017.7.3' into '2017.7'
292825
292826       · ISSUE #45431: (zer0def) boto3_route53.hosted_zone_present  state  can
292827         fail due to related execution module function's typo (refs: #45576)
292828
292829       · PR  #45576:  (zer0def)  Fixed boto3_route53 execution module function
292830         signature diSassociate_vpc_from_hosted_zone  typo.  (refs  #45431)  @
292831         2018-01-22 19:37:13 UTC
292832
292833         · 59329957ca       Merge      pull      request      #45576      from
292834           zer0def/boto3-route53-typo
292835
292836         · 21e1e9e226 Fixed boto3_route53 execution module function  signature
292837           diSassociate_vpc_from_hosted_zone typo. (refs #45431)
292838
292839       · PR #45552: (rallytime) [2017.7] Merge forward from 2017.7.3 to 2017.7
292840         @ 2018-01-19 19:12:49 UTC
292841
292842         · 42b0d27f71    Merge    pull    request    #45552    from     rally‐
292843           time/merge-2017.7-from-.3
292844
292845         · dba7410b80 Merge branch '2017.7.3' into '2017.7'
292846
292847       · PR  #45551: (rallytime) [2017.7] Merge forward from 2016.11 to 2017.7
292848         @ 2018-01-19 18:21:27 UTC
292849
292850         · 879cfcb889 Merge pull request #45551 from rallytime/merge-2017.7
292851
292852         · e0ffa32b49 Merge branch '2016.11' into '2017.7'
292853
292854         · 18e814a7bb Merge pull request #45540 from rallytime/merge-2016.11
292855
292856           · 441f819b7b Merge branch '2016.11.9' into '2016.11'
292857
292858           · 654df0f526 Merge pull request #45532 from gtmanfred/2016.11.9
292859
292860             · 6c26025664 fix mock for opensuse
292861
292862         · 4f3b9b57fa Merge pull request #45522 from rallytime/merge-2016.11
292863
292864           · 36c038c92a Merge branch '2016.11.9' into '2016.11'
292865
292866           · 571c33aa39 Merge pull request #45518 from gtmanfred/2016.11.9
292867
292868             · 5455d2dee6 fix centos 6 pip test
292869
292870             · 40255194b0 fix fedora pkg test
292871
292872         · 0638638fb9 Merge pull request #45504 from rallytime/merge-2016.11
292873
292874           · d72fc74e8c Merge branch '2016.11.9' into '2016.11'
292875
292876             · 4e0a0eec1f   Merge   pull   request    #45443    from    rally‐
292877               time/bp-45399-2016.11.9
292878
292879               · 919e92c911 Fix git.latest failure when rev is not the default
292880                 branch
292881
292882             · ebd4db66b8     Merge     pull     request      #45493      from
292883               damon-atkins/2016.11_fix_sls_defintion_wrong_type
292884
292885               · af108440df win_pkg lint space after ,
292886
292887               · c6e922a236 win_pkg lint issues
292888
292889               · f4627d7a80 fix quote i.e. change ` to '
292890
292891               · 6938a4c099  pkg.refresh_db report an issue if a sls pkg defi‐
292892                 nition id not a dict instead of aborting.
292893
292894         · 5a2a31bfff      Merge      pull      request      #45495       from
292895           vutny/doc-rhel-pygit2-compat
292896
292897           · 0d79b9eaff [DOC] Suggest to upgrade pygit2 and deps
292898
292899         · 9c4fb42e5f Merge pull request #45481 from twangboy/fix_aptpkg
292900
292901           · fd67b086b4 Fix if statement in __init__()
292902
292903       · ISSUE  #42626:  (UtahDave)  new  args  and  kwargs  options  for pub‐
292904         lisher_acl are not documented at  all  and  very  little  for  exter‐
292905         nal_auth (refs: #45389)
292906
292907       · PR  #45389:  (DmitryKuzmenko)  Docs update for function args limit in
292908         pub acl.  @ 2018-01-18 22:56:10 UTC
292909
292910         · 28554ca935   Merge   pull   request   #45389    from    DSRCorpora‐
292911           tion/bugs/42626_pub_acl_doc
292912
292913         · f33ebcada0  Doc note about user names regex matching in pub acl and
292914           eauth.
292915
292916         · e29c0ff19e Docs update for function args limit in pub acl.
292917
292918       · PR #45483: (rallytime) [2017.7] Merge forward from 2016.11 to  2017.7
292919         @ 2018-01-18 22:54:12 UTC
292920
292921         · b3dc758ab0 Merge pull request #45483 from rallytime/merge-2017.7
292922
292923         · de6d85959a Lint fix
292924
292925         · 9f547a31f0 Merge branch '2016.11' into '2017.7'
292926
292927           · b756760415 Merge pull request #45482 from rallytime/merge-2016.11
292928
292929             · 3b38c77159 Merge branch '2016.11.9' into '2016.11'
292930
292931             · 7322efba92 Merge pull request #45446 from rallytime/bp-45390
292932
292933           · 96ae237d37    Merge    pull    request    #45448    from   rally‐
292934             time/merge-2016.11.9
292935
292936             · 646379d981 Merge branch '2016.11' into '2016.11.9'
292937
292938           · 1ed323a3ee Merge pull request #45437  from  terminalmage/fix-doc‐
292939             string
292940
292941             · c11b16dc29 Fix incorrect wording in jboss7 docstrings
292942
292943           · 600fa3939f      Merge      pull      request      #45390     from
292944             damon-atkins/2016.11_win_pkg_remove_final_fixes
292945
292946             · 69f045ea24 lint too-many-blank-lines
292947
292948             · 10a7501ede Update release notes
292949
292950             · 6f2affe01c fix pkg.remove, pkg.list_pkgs
292951
292952           · 057df44a4a   Merge   pull   request   #45399    from    terminal‐
292953             mage/fix-git.latest-depth
292954
292955           · 0cbc6767bf  Fix  git.latest  failure  when rev is not the default
292956             branch
292957
292958           · b0ece9f4d4 Merge pull request #45424 from twangboy/win_reg
292959
292960           · 30f06205f7 Fix some issues with reg.py
292961
292962       · PR #45529: (Ch3LL) Fix UnboundLocalError for pacman  pkg  installs  @
292963         2018-01-18 19:01:49 UTC
292964
292965         · 5e26282843 Merge pull request #45529 from Ch3LL/pacman-sources
292966
292967         · e619d49ef3 Fix UnboundLocalError for pacman pkg installs
292968
292969       · PR #45508: (frogunder) fix test_archive test for mac on 2017.7 branch
292970         @ 2018-01-18 16:04:36 UTC
292971
292972         · 840c97417d Merge pull  request  #45508  from  frogunder/fix_mac_ar‐
292973           chive_tests_2017.7_branch
292974
292975         · ccf062d62e fix test_archive test for mac on 2017.7 branch
292976
292977       · PR  #45444:  (rallytime)  Back-port  #45343  to  2017.7  @ 2018-01-17
292978         17:17:59 UTC
292979
292980         · PR #45343: (rrroo) Support  expr_form  for  manage.up,  manage.down
292981           (refs: #45444)
292982
292983         · e1403b6813 Merge pull request #45444 from rallytime/bp-45343
292984
292985         · c7d2081390 Support expr_form for manage.up, manage.down
292986
292987       · PR   #45465:  (terminalmage)  Backport  #45095  to  2017.7  branch  @
292988         2018-01-17 15:13:05 UTC
292989
292990         · PR #45095: (terminalmage) PY3: Make loader ignore .pyc files not in
292991           __pycache__ (refs: #45465)
292992
292993         · 4b2c88e2e6 Merge pull request #45465 from terminalmage/bp-45095
292994
292995         · 2f63a6dbf4 Optimization: don't allocate a new list to concatenate
292996
292997         · 5074741130 EAFP
292998
292999         · 85dbdc6a39 PY3: Make loader ignore .pyc files not in __pycache__
293000
293001       · PR  #45365:  (meaksh) Return an error when "gid_from_name" is set but
293002         group does not exist @ 2018-01-16 18:31:50 UTC
293003
293004         · 5f58a87e84 Merge pull request #45365 from meaksh/2017.7-issue-45345
293005
293006         · da23067f80 Refactor to prevent logical bug when gid is 0
293007
293008         · 9fdaa0d5e9 Update documentation for 'gid_from_name' parameter
293009
293010         · 52f9c06908 Fix integration tests for 'user.present' state.
293011
293012         · e2c32dc6dc Make pylint happy
293013
293014         · a18dbe0c11 Return error  when  gid_from_name  and  group  does  not
293015           exist.
293016
293017         · ce7b1f4baf Ensure empty string gid is set to None
293018
293019       · ISSUE  #43535: (Ch3LL) Add pkg.latest_version Test to Auto Test Suite
293020         (refs: #44822)
293021
293022       · PR #44822:  (frogunder)  add  pkg_latest_version  test  @  2018-01-16
293023         14:16:54 UTC
293024
293025         · de080983e3  Merge pull request #44822 from frogunder/pkg_latestver‐
293026           sion
293027
293028         · 08644e02a0 skip if mac
293029
293030         · dfb68f32d2 fix if statements and string
293031
293032         · 3504083849 add pkg_latest_version test
293033
293034       · ISSUE saltstack/salt-jenkins#603: (rallytime) [oxygen]  CentOS  7  is
293035         failing several boto tests with module import failures (refs: #45401)
293036
293037       · PR  #45435:  (rallytime)  Back-port  #45401  to  2017.7  @ 2018-01-14
293038         12:43:48 UTC
293039
293040         · PR #45401: (gtmanfred) fix boto import failures (refs: #45435)
293041
293042         · cb3e0cffb3 Merge pull request #45435 from rallytime/bp-45401
293043
293044         · b9761971c2 fix moto version
293045
293046         · 0cd95d1cc6 fix test boto imports
293047
293048       · PR #45380: (twangboy)  Backport  changes  from  #45308  @  2018-01-11
293049         19:45:21 UTC
293050
293051         · PR  #45308:  (twangboy) Fix integration.modules.test_state for Win‐
293052           dows (refs: #45380)
293053
293054         · 2340f0b487 Merge pull request #45380 from twangboy/backport_45308
293055
293056         · 419be8a9b5 Backport changes from #45308
293057
293058   Salt 2017.7.6 Release Notes
293059       Version 2017.7.6 is a bugfix release for 2017.7.0.
293060
293061   Statistics
293062       · Total Merges: 182
293063
293064       · Total Issue References: 60
293065
293066       · Total PR References: 217
293067
293068       · Contributors:   47   (Ch3LL,   DmitryKuzmenko,   GwiYeong,   Quarky9,
293069         RichardW42,  UtahDave,  amaclean199,  arif-ali,  baniobloom,  bdrung,
293070         benediktwerner, bmiguel-teixeira, cachedout,  dafenko,  damon-atkins,
293071         dwoz,  ezh,  folti,  fpicot,  frogunder,  garethgreenaway, gtmanfred,
293072         isbm, jeroennijhof,  jfindlay,  jfoboss,  kstreee,  lomeroe,  mattp-,
293073         meaksh,  mirceaulinic,  myinitialsarepm,  mzbroch,  nages13,  paclat,
293074         pcjeff,  pruiz,  psyer,  rallytime,  s0undt3ch,  skizunov,  smitty42,
293075         terminalmage, twangboy, vutny, yagnik, yannj-fr)
293076
293077   Tornado 5.0 Support for Python 2 Only
293078       Tornado  5.0  moves to using asyncio for all python3 versions.  Because
293079       of this and changes in asyncio between python 3.4 and 3.5  to  only  be
293080       able to use one ioloop, which requires some rearchitecting, support for
293081       tornado 5.0 and python3 versions of salt has been delayed  to  a  later
293082       release.
293083
293084       For now, to use tornado 5.0, the python 2 version of salt must be used.
293085
293086   Tornado 5.0 Support for Python 2 Only
293087       Tornado  5.0  moves to using asyncio for all python3 versions.  Because
293088       of this and changes in asyncio between python 3.4 and 3.5  to  only  be
293089       able to use one ioloop, which requires some rearchitecting, support for
293090       tornado 5.0 and python3 versions of salt has been delayed  to  a  later
293091       release.
293092
293093       For now, to use tornado 5.0, the python 2 version of salt must be used.
293094
293095   Option to Return to Previous Pillar Include Behavior
293096       Prior to version 2017.7.3, keys from pillar includes would be merged on
293097       top of the pillar SLS. Since 2017.7.3, the includes are merged together
293098       and then the pillar SLS is merged on top of that.
293099
293100       The  pillar_includes_override_sls  option has been added allow users to
293101       switch back to the pre-2017.7.3 behavior.
293102
293103   Changelog for v2017.7.5..v2017.7.6
293104       Generated at: 2018-05-29 14:05:53 UTC
293105
293106       · PR #47775: (gtmanfred) catch UnsupportedOperation with AssertionError
293107         @ 2018-05-22 19:04:13 UTC
293108
293109         · edf94c915e Merge pull request #47775 from gtmanfred/2017.7.6
293110
293111         · 548f65d056 catch UnsupportedOperation with AssertionError
293112
293113       · PR  #47769: (gtmanfred) skip test that breaks test suite @ 2018-05-22
293114         15:12:54 UTC
293115
293116         · 8c38ecd75f Merge pull request #47769 from gtmanfred/2017.7.6
293117
293118         · 3fdfc0fa82 skip test that breaks test suite
293119
293120       · PR  #47747:  (Ch3LL)  Add  changelog  to  2017.7.6  release  notes  @
293121         2018-05-21 14:25:00 UTC
293122
293123         · 0d5b473ce2 Merge pull request #47747 from Ch3LL/rn_2017.7.6
293124
293125         · d4aa83b92d Add changelog to 2017.7.6 release notes
293126
293127       · ISSUE  #47484:  (whytewolf)  Windows:  pkg.latest  state not updating
293128         packages. (refs: #47702)
293129
293130       · PR #47702: (damon-atkins) State  pkg.latest  called  win  pkg.install
293131         with list of pkgs and the required versions @ 2018-05-19 11:21:23 UTC
293132
293133         · 8a5b34f7d9       Merge      pull      request      #47702      from
293134           damon-atkins/2017.7.6_fix_pkg.latest_state
293135
293136         · adcc094e08  Merge  branch  '2017.7.6'  into   2017.7.6_fix_pkg.lat‐
293137           est_state
293138
293139       · PR  #47700: (yannj-fr) fix roots modification time check @ 2018-05-18
293140         18:42:17 UTC
293141
293142         · d610c192d9 Merge pull request #47700 from yannj-fr/2017.7.6
293143
293144         · 961c1ef61e fix roots modification time check
293145
293146           · 2a73e905df Merge branch '2017.7.6' into 2017.7.6
293147
293148       · PR #47632: (gtmanfred) handle new _create_stream  in  tornado  5.0  @
293149         2018-05-18 14:25:17 UTC
293150
293151         · 266749420f Merge pull request #47632 from gtmanfred/2017.7.6
293152
293153         · 2c50c0d2f5 fix pylint
293154
293155         · 4a29057b16 Fix last test for tornado
293156
293157         · 550ef2e272 allow using tornado 5.0
293158
293159         · 62e468448b handle new _create_stream in tornado 5.0
293160
293161       · PR  #47720:  (rallytime)  Back-port  #47692  to 2017.7.6 @ 2018-05-18
293162         13:23:03 UTC
293163
293164         · PR #47692: (dwoz)  Default  windows  to  m1.small  for  ec2-classic
293165           (refs: #47720)
293166
293167         · 2643c356af     Merge    pull    request    #47720    from    rally‐
293168           time/bp-47692-2017.7.6
293169
293170         · 6e5cb36839 Default windows to m1.small for ec2-classic
293171
293172           · 20d9785244 fix roots modification time check
293173
293174         · aef37dd1ce fix roots modification time check
293175
293176         · d51662e053 Ensure targeted_pkgs always contains value for  non-win‐
293177           dows.
293178
293179         · 83b4224cf8 Adjusted based on feed back.
293180
293181         · 12f983ce9f Whitespace lint issues
293182
293183         · 075d3d3c49  pkg.install  execution  module  on  windows ensures the
293184           software package is installed when no version is specified, it does
293185           not  upgrade  the  software  to the latest. This is per the design.
293186           pkg.latest must provide the versions to install to pkg.install
293187
293188       · PR #47667: (Ch3LL)  Update  test_mac_user_enable_auto_login  to  test
293189         both py2 and py3 @ 2018-05-16 15:54:49 UTC
293190
293191         · 16c2153385 Merge pull request #47667 from Ch3LL/mac_user_enable
293192
293193         · ba40d3d1a1  Update test_mac_user_enable_auto_login to test both py2
293194           and py3
293195
293196       · PR #47645: (Ch3LL) query the pip path for test  test_issue_2087_miss‐
293197         ing_pip @ 2018-05-15 17:16:10 UTC
293198
293199         · a4921e86c9 Merge pull request #47645 from Ch3LL/py3_rm_pip
293200
293201         · 225d90ad4c query the pip path for test test_issue_2087_missing_pip
293202
293203       · PR  #47646:  (rallytime)  Back-port  #47601  and #47643 to 2017.7.6 @
293204         2018-05-15 14:04:45 UTC
293205
293206         · PR #47643: (dwoz) Remove unwanted file (refs: #47646)
293207
293208         · PR #47601: (dwoz) Skip tests when  we  can  not  use  runas  (refs:
293209           #47646)
293210
293211         · e441733ac1     Merge    pull    request    #47646    from    rally‐
293212           time/bp-47601-and-47643
293213
293214         · 9e1d1a5ef8 Fix typo
293215
293216         · 4e94609136 Remove unwanted file
293217
293218         · 0109249c78 use ignore-undefined-variable
293219
293220         · 37caecb7f4 Ignore pylint WindowsError
293221
293222         · c1135d90c7 Better doc string
293223
293224         · e53d6b9ed9 Skip tests when we can not use runas
293225
293226       · PR #47570: (gtmanfred) Update  dependency  to  msgpack  @  2018-05-10
293227         13:23:09 UTC
293228
293229         · 6f178ca908 Merge pull request #47570 from gtmanfred/2017.7.6
293230
293231         · 84aa034e03 Update dependency to msgpack
293232
293233       · PR  #47523:  (rallytime)  [2017.7.6]  Update  man  pages @ 2018-05-08
293234         13:31:19 UTC
293235
293236         · 98bd598701 Merge pull request #47523 from rallytime/man-pages
293237
293238         · 48ecb78dec [2017.7.6] Update man pages
293239
293240       · ISSUE #47443: (skylerberg) Input validation does not raise  SaltInvo‐
293241         cationError in win_dsc.py (refs: #47505)
293242
293243       · PR  #47517:  (rallytime)  Back-port  #47505  to 2017.7.6 @ 2018-05-07
293244         19:42:37 UTC
293245
293246         · PR #47505: (dwoz) Raise proper invocation errors (refs: #47517)
293247
293248         · e608ea9617    Merge    pull    request    #47517    from     rally‐
293249           time/bp-47505-2017.7.6
293250
293251         · 0734578533 Raise proper invocation errors
293252
293253       · PR  #47476:  (gtmanfred)  Specify  the cache directory for newer vir‐
293254         tualenv modules @ 2018-05-04 19:20:45 UTC
293255
293256         · 611ca1fc03 Merge pull request #47476 from gtmanfred/2017.7
293257
293258         · 1f91a85587 specify cache dir for pip install
293259
293260         · 99e150e09c check for kitchen-vagrant  gem  before  loading  windows
293261           tests
293262
293263       · PR  #47412:  (twangboy)  Fix  issue where the cwd was being removed @
293264         2018-05-04 17:28:11 UTC
293265
293266         · 7c3f2c56da Merge pull request #47412 from twangboy/fix_47125
293267
293268         · c9bab0b8e3 Merge branch '2017.7' into fix_47125
293269
293270         · 2600e404d5 Fix overly long line
293271
293272         · 5c8db05769 Fix issue where the cwd was being removed
293273
293274       · PR  #47467:  (twangboy)  Remove  unused  settings,  update   NSIS   @
293275         2018-05-04 17:11:37 UTC
293276
293277         · 4846e957c4 Merge pull request #47467 from twangboy/cleanup_settings
293278
293279         · 9d498293b1 Remove unused settings, update NSIS
293280
293281       · PR #47196: (twangboy) Fix issues with pip @ 2018-05-04 14:23:04 UTC
293282
293283         · da9871d36b Merge pull request #47196 from twangboy/fix_47024
293284
293285         · 14ee5537b9 Add @with_tempdir helper
293286
293287         · 6c3b5fa6fa Fix typo
293288
293289         · f031710af2 Merge branch '2017.7' into fix_47024
293290
293291         · 7c46d9d0d4 Fix integration.modules.test_pip
293292
293293         · 22ac81df63 Fix integration.modules.test_pip
293294
293295         · 57d98224d4   Merge   pull   request   #9  from  terminalmage/twang‐
293296           boy/fix_47024
293297
293298           · 37a13d8004 Update pip unit tests to reflect changes
293299
293300           · 7f86779be0 Lint fix
293301
293302         · c48d8f4f61 DRY and other fixes in pip module
293303
293304         · b1117896a0 Change from global variable to __context__``
293305
293306         · 3e6e524eca Fix some tests``
293307
293308         · c94f0f20e4 Fix lint error
293309
293310         · fd47b21530 Fix merge conflict
293311
293312       · PR #47455: (Ch3LL) Add In Progress Warning for 2017.7.6 Release Notes
293313         @ 2018-05-04 13:44:54 UTC
293314
293315         · e8c4524bae Merge pull request #47455 from Ch3LL/unreleased_rn
293316
293317         · b6d0cc2ab7 Add In Progress Warning for 2017.7.6 Release Notes
293318
293319       · PR  #47459:  (gtmanfred)  update ubuntu-rolling to 18.04 @ 2018-05-03
293320         20:39:20 UTC
293321
293322         · 2c7a4b6179 Merge pull request #47459 from gtmanfred/2017.7
293323
293324         · d228e72477 update ubuntu-rolling to 18.04
293325
293326       · PR #47462: (terminalmage) Fix docs build on Sphinx 1.7+ @  2018-05-03
293327         20:06:57 UTC
293328
293329         · 64a64c0ed7 Merge pull request #47462 from terminalmage/docs
293330
293331         · 6d7803ece0 Fix docs build on Sphinx 1.7+
293332
293333       · ISSUE #47436: (lomeroe) Some Administrative Template policies are not
293334         properly set by lgpo (refs: #47438)
293335
293336       · ISSUE #44516: (doesitblend) Windows PY3  Minion  Returns  UTF16  Uni‐
293337         codeError (refs: #44944)
293338
293339       · PR  #47438: (lomeroe) lgpo fix for issue #47436 @ 2018-05-03 14:40:27
293340         UTC
293341
293342         · PR #44944: (lomeroe) win_lgpo registry.pol encoding updates  (refs:
293343           #46913, #47438)
293344
293345         · 6cd0d31c03 Merge pull request #47438 from lomeroe/double_admx_test
293346
293347         · 4902f1e2ba check if a policy has either an enabled value or enabled
293348           list entry or a disabled value or disabled list entry  when  deter‐
293349           mining the state of the policy
293350
293351       · ISSUE  #45790:  (bdarnell)  Test  with  Tornado  5.0b1 (refs: #47106,
293352         #47433)
293353
293354       · PR #47433: (s0undt3ch) Add missing requirements files not commited in
293355         #47106 @ 2018-05-02 20:57:14 UTC
293356
293357         · PR  #47106:  (DmitryKuzmenko)  Tornado50 compatibility fixes (refs:
293358           #47433)
293359
293360         · ed69821d19 Merge pull request #47433 from s0undt3ch/2017.7
293361
293362         · 5abadf25d6 Add missing requirements files not commited in #47106
293363
293364       · ISSUE #47424: (bcharron) "salt-cloud  -m"  fails  with  nova  driver:
293365         "There was a query error: u'state'" (refs: #47429)
293366
293367       · PR #47429: (gtmanfred) server_list_min should use state, not status @
293368         2018-05-02 16:27:56 UTC
293369
293370         · 7ae3497b0c Merge pull request #47429 from gtmanfred/2017.7
293371
293372         · 8ae32033cc server_list_min should use state, not status
293373
293374       · PR #47399: (isbm) zeromq 17 deprecation warning backport from  2018.3
293375         + tornado 5 fixes @ 2018-05-02 15:11:16 UTC
293376
293377         · 2f5fc4ecc5 Merge pull request #47399 from isbm/isbm-zeromq17-depre‐
293378           cationwarning-2017.7.2-v2
293379
293380         · a36e49fd27 fix pylint
293381
293382         · 98b5629b36 Fix imports
293383
293384         · d94c0f0152 Remove unnecessary variable
293385
293386         · 8e377b5653 Lintfix: E0203 and attribute access
293387
293388         · 2aab70b1b8 Install ZMQ handler if <15 version
293389
293390         · 296c589f4b Use ZMQ switch utility in the integration tests
293391
293392         · ab5fa34d7c Use ZMQ_VERSION_INFO constant everywhere
293393
293394         · 43b5558b82 Add trace logging on ZMQ sockets communication
293395
293396         · 164204a9fe Remove duplicate code for ZMQ monitor handling
293397
293398         · 834b1e4ff0 Remove obsolete ZMQIOLoop direct instance
293399
293400         · 1c90cbdb3c Remove an empty line
293401
293402         · ef2e0acd66 Add logging on ZMQ socket exception
293403
293404         · 38ceed371d Lintfix: ident
293405
293406         · 1ece6a5f52 Lintfix: line too long
293407
293408         · 4e650c0b44 Remove code duplicate by reusing utilities functions
293409
293410         · 57da54b676 Fix imports
293411
293412         · 948368e9a1 Add libzmq version info builder
293413
293414         · 0b4a17b859 Update log exception message
293415
293416         · 116e1809fc Put a message alongside the exception to the logs
293417
293418         · 4bc43124b7 Remove unnecessary ZMQ import and check for its presence
293419
293420         · 05f4d40269 Use utility for ZMQ import handling in SSH client
293421
293422         · 457ef7d9a5 Use utility for ZMQ import handling in flo/zero
293423
293424         · 08dee6f5bd Use utility for ZMQ import handling
293425
293426         · e2a353cfb0 Remove unnecessary ZMQ extra-check for cache utils
293427
293428         · c8f2cc271d Remove unnecessary ZMQ extra-check for master utils
293429
293430         · 3940667bb9 Remove old ZMQ import handling
293431
293432         · f34a53e029 Use ZMQ utility for version check
293433
293434         · cbb26dcb28 Use ZMQ installer for master
293435
293436         · 453e83210a Add ZMQ version build
293437
293438         · af9601e21d Use ZMQ importer utility in async
293439
293440         · d50b2b2023 Incorporate tornado-5 fixes
293441
293442         · 1fd9af0655 Add ZMQ  backward-compatibility  tornado  installer  for
293443           older versions
293444
293445         · ad4b40415c  Add  one  place  for  handling various ZMQ versions and
293446           IOLoop classes
293447
293448       · PR #47343: (Ch3LL) Add additional service  module  integration  tests
293449         and enable for windows @ 2018-05-02 13:39:46 UTC
293450
293451         · b14e974b5f Merge pull request #47343 from Ch3LL/win_srv_test
293452
293453         · 2173b6f549 ensure we are enabling/disabling before test
293454
293455         · d58be06751  Add  additionatl  service  module integration tests and
293456           enable for windows
293457
293458       · PR  #47375:  (terminalmage)  Warn  on  use  of  virtual  packages  in
293459         pkg.installed state @ 2018-05-01 21:12:18 UTC
293460
293461         · b0f3fb577f Merge pull request #47375 from terminalmage/issue47310
293462
293463         · fa2bea52bb Remove extra blank line to appease linter
293464
293465         · f8ab2be81c Add debug logging if we fail to detect virtual packages
293466
293467         · 67c4fc56ac Warn on use of virtual packages in pkg.installed state
293468
293469       · PR  #47415:  (kstreee)  Fixes a bug of rest_tornado's 'local' client,
293470         complement fix of #46326 @ 2018-05-01 21:11:25 UTC
293471
293472         · PR #47200: (kstreee) Resolve a conflict with syndic timeout and bug
293473           fixes of the local client in rest_tornado (refs: #47415)
293474
293475         · PR  #47123:  (rallytime)  [develop]  Merge  forward  from 2018.3 to
293476           develop (refs: #47200)
293477
293478         · PR #47110: (kstreee) Fixes misusing of the timeout  option.  (refs:
293479           #47200)
293480
293481         · PR  #46692:  (mattp-)  saltnado  bugfixes for ldap & syndics (refs:
293482           #47123, #47200)
293483
293484         · PR #46326: (kstreee) Fixes a timing bug of saltnado's client local.
293485           (refs: #47110, #47123, #47200, #47415)
293486
293487         · PR  #45874:  (GwiYeong)  fix  for  local  client timeout bug (refs:
293488           #46326)
293489
293490         · 56235032f4      Merge      pull      request      #47415       from
293491           kstreee/fix-local-client-tgt-bug
293492
293493         · b8d37e0a1e  To  add  a test case for the syndic environment, copies
293494           the test case which was written by @mattp- that was already  merged
293495           into develop branch, related pr is #46692.
293496
293497         · 4627bad1fd Realizes 'tgt' field into actual minions using ckminions
293498           to subscribe results of the minions before publishing a payload.
293499
293500       · PR #47286: (baniobloom) fixed  vpc_peering_connection_name  option  @
293501         2018-05-01 19:02:10 UTC
293502
293503         · d65ceaee03  Merge  pull  request  #47286  from baniobloom/vpc_peer‐
293504           ing_connection_name_fix
293505
293506         · a968965087   Merge   branch   '2017.7'   into   vpc_peering_connec‐
293507           tion_name_fix
293508
293509       · PR  #47270:  (meaksh)  Fix  minion scheduler to return 'retcode' from
293510         executed functions @ 2018-04-30 18:21:55 UTC
293511
293512         · 8a5d4437bb Merge pull request  #47270  from  meaksh/2017.7-fix-ret‐
293513           code-on-schedule-utils
293514
293515         · d299cf3385  Merge branch '2017.7' into 2017.7-fix-retcode-on-sched‐
293516           ule-utils
293517
293518         · b6da600fff Initialize __context__ retcode for functions handled via
293519           schedule util module
293520
293521       · ISSUE                 #47264:                (jf)                doc:
293522         https://docs.saltstack.com/en/latest/ref/modules/all/salt.modules.grains.html#salt.modules.grains.delval
293523         s/of pass/or pass/ (refs: #47371)
293524
293525       · PR  #47371:  (rallytime)  Fix  "of  pass" typo in grains.delval docs:
293526         change to "or pass" @ 2018-04-30 18:18:46 UTC
293527
293528         · 5b51075384 Merge pull request #47371 from rallytime/fix-47264
293529
293530         · a43485b49c Fix "of pass" typo in grains.delval docs: change to  "or
293531           pass"
293532
293533       · PR  #47389:  (dwoz)  Older  GitPython  versions will not have close @
293534         2018-04-29 16:42:06 UTC
293535
293536         · a86e53be66 Merge pull request #47389 from dwoz/moregittestfix
293537
293538         · 67745c1362 Older GitPython versions will not have close
293539
293540       · PR #47388: (dwoz) Fix missing import @ 2018-04-28 18:33:14 UTC
293541
293542         · a5367eaf63 Merge pull request #47388 from dwoz/test_pip_fix
293543
293544         · eb26321e8b Fix missing import
293545
293546       · PR #47380: (gtmanfred) add io_loop  handling  to  runtests  engine  @
293547         2018-04-28 17:25:28 UTC
293548
293549         · 9b59b991c2 Merge pull request #47380 from gtmanfred/2017.7
293550
293551         · 93d1445ec1 add io_loop handling to runtests engine
293552
293553       · PR  #47384:  (dwoz) Fix py2 version of pip test @ 2018-04-28 15:13:28
293554         UTC
293555
293556         · 37822c0cbb Merge pull request #47384 from dwoz/test_pip_fix
293557
293558         · a37a9da1fb Fix py2 version of pip test
293559
293560       · PR #47382: (dwoz) Close the repo and fix multiple tests @  2018-04-28
293561         15:09:17 UTC
293562
293563         · eefd96732e Merge pull request #47382 from dwoz/gitfs_tests
293564
293565         · 1570708fac Close the repo and fix multiple tests
293566
293567       · PR  #47369: (terminalmage) Return an empty dict if no search_order in
293568         ldap ext_pillar config file @ 2018-04-27 20:58:52 UTC
293569
293570         · 57c75ff660 Merge pull request #47369 from terminalmage/ldap_pillar
293571
293572         · 085883ae2d Return an empty dict if no search_order in ldap ext_pil‐
293573           lar config file
293574
293575       · PR  #47363: (DmitryKuzmenko) Tornado5.0: Future.exc_info is dropped @
293576         2018-04-27 18:30:18 UTC
293577
293578         · bcc66dd9bf   Merge   pull   request   #47363    from    DSRCorpora‐
293579           tion/bugs/replace_exc_info_with_exception
293580
293581         · 3f7b93a23c Tornado5.0: Future.exc_info is dropped
293582
293583       · PR #47334: (terminalmage) pillar_ldap: Fix cryptic errors when config
293584         file fails to load @ 2018-04-27 17:53:51 UTC
293585
293586         · bcef34f7e1 Merge pull request #47334 from terminalmage/ldap_pillar
293587
293588         · 0175a8687c pillar_ldap: Fix cryptic errors when config  file  fails
293589           to load
293590
293591         · 65c3ba7ff1 Remove useless documentation
293592
293593         · 5d67cb27de Remove unncessary commented line
293594
293595       · PR  #47347:  (dwoz)  Proper fix for mysql tests @ 2018-04-27 17:27:53
293596         UTC
293597
293598         · 31db8ca7ad Merge pull request #47347 from dwoz/test_mysql_fix_again
293599
293600         · add78fb618 Fix linter warnings
293601
293602         · 2644cc7553 Fix linter nits
293603
293604         · 799c601184 Proper fix for mysql tests
293605
293606       · PR #47359: (gtmanfred) add mention of the  formulas  channel  to  the
293607         formulas docs @ 2018-04-27 16:56:13 UTC
293608
293609         · e573236848 Merge pull request #47359 from gtmanfred/2017.7
293610
293611         · 6214ed8133 add mention of the formulas channel to the formulas docs
293612
293613       · PR  #47317:  (dwoz) Do not join a thread that is stopped @ 2018-04-27
293614         13:15:09 UTC
293615
293616         · PR #47279: (dwoz) Gracefully shutdown worker threads (refs: #47317)
293617
293618         · 629503b2a8 Merge pull request #47317 from dwoz/threadshutdown
293619
293620         · 6db2a0e4d3 Log exceptions at exception level
293621
293622         · d4ae787595 Do not join a thread that is stopped
293623
293624       · PR  #47304:  (cachedout)  Pass  timeout  to  salt  CLI  for  tests  @
293625         2018-04-27 13:11:58 UTC
293626
293627         · aacd5cefe3  Merge pull request #47304 from cachedout/test_cli_time‐
293628           out_arg
293629
293630         · 85025af83c Pass timeout to salt CLI for tests
293631
293632       · PR #47311: (Ch3LL) Add firewall execution modules tests for windows @
293633         2018-04-27 13:10:54 UTC
293634
293635         · 55534fb659 Merge pull request #47311 from Ch3LL/firewall_windows
293636
293637         · 4e16c18c16 Add firewall module windows tests to whitelist
293638
293639         · 4b2fc4ec66 Add windows firewall execution modules integration tests
293640
293641       · PR  #47348:  (dwoz)  Ignore  gitfs  tests when symlinks not enabled @
293642         2018-04-27 13:08:27 UTC
293643
293644         · 1667375a80 Merge pull request #47348 from dwoz/no_symlinks
293645
293646         · 94a70e847a Ignore gitfs tests when symlinks not enabled
293647
293648       · PR #47342: (dwoz) Fix mysql test cases @ 2018-04-27 00:50:53 UTC
293649
293650         · dac04261b5 Merge pull request #47342 from dwoz/test_mysql_fix
293651
293652         · 7496f4c5a8 Fix mysql test cases
293653
293654       · PR #47341: (dwoz) Fix python  3  support  for  inet_pton  function  @
293655         2018-04-26 23:35:45 UTC
293656
293657         · 34e78ef564 Merge pull request #47341 from dwoz/inet_pton_fix
293658
293659         · 85451f48d4 Fix python 3 support for inet_pton function
293660
293661       · PR  #47339: (dwoz) Use salt.utils.fopen for line ending consistancy @
293662         2018-04-26 22:39:56 UTC
293663
293664         · e4779f3246 Merge pull request #47339 from dwoz/ssh_key_test_fix
293665
293666         · e37a93a1ca Remove redundent close call
293667
293668         · b2ae5889b7 Close the temporary file handle
293669
293670         · 9f7f83a975 Use salt.utils.fopen for line ending consistancy
293671
293672       · PR  #47335:  (dwoz)  Remove  un-needed  string-escape  @   2018-04-26
293673         21:49:27 UTC
293674
293675         · b221860151 Merge pull request #47335 from dwoz/pip_test_fix
293676
293677         · dcb6a22c00 Remove un-needed string-escape
293678
293679       · PR #47331: (dwoz) Do not encode usernames @ 2018-04-26 19:57:28 UTC
293680
293681         · 1c527bfd3a Merge pull request #47331 from dwoz/py3_wingroup_fix
293682
293683         · cc154ef857 Do not encode usernames
293684
293685       · PR  #47329:  (cachedout) Credit Frank Spierings @ 2018-04-26 16:37:59
293686         UTC
293687
293688         · 708078b152 Merge pull request #47329 from cachedout/frank_credit
293689
293690         · 33c0644ac4 Credit Frank Spierings
293691
293692       · PR  #47281:  (Ch3LL)  Add  win_system  integration  module  tests   @
293693         2018-04-26 16:07:41 UTC
293694
293695         · a545e55543 Merge pull request #47281 from Ch3LL/system_test
293696
293697         · c9181a75a6 Add destructivetest decorator on tests
293698
293699         · 0d0c8987fc Add win_system integration module tests
293700
293701       · PR  #47283:  (Ch3LL)  Add  windows  ntp  integration  module  tests @
293702         2018-04-26 16:04:44 UTC
293703
293704         · b64d930df0 Merge pull request #47283 from Ch3LL/ntp_test
293705
293706         · ced7f86546 Add windows ntp integration module tests
293707
293708       · PR #47314: (Ch3LL) Skip netstat test on macosx as its not supported @
293709         2018-04-26 16:00:37 UTC
293710
293711         · 910aff910f Merge pull request #47314 from Ch3LL/net_mac_test
293712
293713         · 67beb1451c Skip netstat test on macosx as its not supported
293714
293715       · PR  #47307:  (rallytime)  Back-port  #47257  to  2017.7  @ 2018-04-26
293716         15:16:23 UTC
293717
293718         · PR #47257: (jeroennijhof) Role is  not  a  list  but  a  dictionary
293719           (refs: #47307)
293720
293721         · 0549ef7c16 Merge pull request #47307 from rallytime/bp-47257
293722
293723         · 6c5b2f92bc Role is not a list but a dictionary
293724
293725       · PR  #47312:  (rallytime)  Update  bootstrap script to latest release:
293726         2018.04.25 @ 2018-04-26 15:15:13 UTC
293727
293728         · d6ff4689f6 Merge pull request  #47312  from  rallytime/update-boot‐
293729           strap-release
293730
293731         · 765cce06a2 Update bootstrap script to latest release: 2018.04.25
293732
293733       · PR #47279: (dwoz) Gracefully shutdown worker threads (refs: #47317) @
293734         2018-04-25 21:15:43 UTC
293735
293736         · e0765f5719 Merge pull request #47279 from dwoz/py3_build_fix
293737
293738         · 21dc1bab91 Pep-8 line endings
293739
293740         · 717abedaf7 Fix comman wart
293741
293742         · 4100dcd64c Close might get called more than once
293743
293744         · dbe671f943 Stop socket before queue on delete
293745
293746         · 9587f5c69e Silence pylint import-error for six.moves
293747
293748         · 4b0c7d3b34 Fix typo
293749
293750         · 05adf7c2b1 Use six.moves for queue import
293751
293752         · fe340778fa Gracefully shutdown worker threads
293753
293754       · PR #47113: (jfindlay) Support proto for  IPSec  policy  extension  in
293755         iptables state @ 2018-04-25 18:01:19 UTC
293756
293757         · 44f19b2f94 Merge pull request #47113 from jfindlay/iptables_state
293758
293759         · 8bd08012ee modules,states.iptables support proto for policy ext
293760
293761       · PR  #47302:  (Ch3LL) Remove unnecessary code from core grains and add
293762         test @ 2018-04-25 17:58:48 UTC
293763
293764         · b7a6206330 Merge pull request #47302 from Ch3LL/dead_code
293765
293766         · daa68b4877 Add virtual grains test for core grains
293767
293768         · a59dd2785d Remove dead code in core grains file for virt-what
293769
293770       · PR #47303:  (baniobloom)  Added  clarity  on  oldest  supported  main
293771         release branch @ 2018-04-25 17:52:39 UTC
293772
293773         · e29362acfc Merge pull request #47303 from baniobloom/bug_fix_doc
293774
293775         · b97c9df5f3  added  clarity  on how to figure out what is the oldest
293776           supported main release branch
293777
293778       · ISSUE #45790: (bdarnell)  Test  with  Tornado  5.0b1  (refs:  #47106,
293779         #47433)
293780
293781       · PR  #47106:  (DmitryKuzmenko)  Tornado50  compatibility  fixes (refs:
293782         #47433) @ 2018-04-25 15:32:37 UTC
293783
293784         · 0d9d55e013 Merge pull request #47106 from  DSRCorporation/bugs/tor‐
293785           nado50
293786
293787         · 39e403b18d Merge branch '2017.7' into bugs/tornado50
293788
293789         · 6706b3a2d1 Run off of a temporary config
293790
293791         · d6873800d5 Allow running pytest>=3.5.0
293792
293793         · 2da3983740 Tornado 5.0 compatibility fixes
293794
293795       · ISSUE  #47258: (drewmat) service state no longer working after kernel
293796         upgrade (refs: #47271)
293797
293798       · PR #47271: (gtmanfred) load rh_service for amazon  linux  not  booted
293799         with systemd @ 2018-04-25 14:47:06 UTC
293800
293801         · 2e014f4746 Merge pull request #47271 from gtmanfred/amazon
293802
293803         · 8a53908908 Do not load rh_service module when booted with systemd
293804
293805         · e4d1d5bf11 Revert "support amazon linux 2 for service module"
293806
293807       · ISSUE  #44847:  (malbertus)  netconfig.managed state.apply unexpected
293808         behaviour of test & debug variables (refs: #47246)
293809
293810       · PR #47246: (mirceaulinic) Attempting to fix #44847: allow a different
293811         way  to  get  the  test  and  debug  flags into the netconfig state @
293812         2018-04-25 14:44:02 UTC
293813
293814         · 599b0ed1e9    Merge    pull    request    #47246    from     cloud‐
293815           flare/fix-44847-2017.7
293816
293817         · ad80028104  This  way,  we  can  pass  flags such as debug into the
293818           state, but also test.
293819
293820       · PR  #47220:  (benediktwerner)  Fix  pip.installed  when  no   changes
293821         occurred with pip >= 1.0.0 @ 2018-04-25 14:23:50 UTC
293822
293823         · PR  #47207:  (benediktwerner) Fix pip_state with pip3 if no changes
293824           occourred (refs: #47220)
293825
293826         · PR #47102: (gtmanfred) dont allow using no_use_wheel for pip 10.0.0
293827           or newer (refs: #47220)
293828
293829         · 4e2e1f0719    Merge    pull    request    #47220    from   benedik‐
293830           twerner/fix-pip-2017.7
293831
293832         · 0197c3e973 Fix pip test
293833
293834         · 34bf66c09f Fix pip.installed with pip>=10.0.0
293835
293836       · PR #47272: (rallytime) Add windows  tests  and  reg  module/state  to
293837         CODEOWNERS file for team-windows @ 2018-04-25 13:25:29 UTC
293838
293839         · 92e606251f   Merge  pull  request  #47272  from  rallytime/reg-win‐
293840           dows-codeowners
293841
293842         · 9445af0185 Add windows tests and  reg  module/state  to  CODEOWNERS
293843           file for team-windows
293844
293845              · 8de3d41adb fixed vpc_peering_connection_name option
293846
293847       · PR  #47252:  (rallytime)  Fix the matching patterns in the CODEOWNERS
293848         file to use fnmatch patterns @ 2018-04-24 14:10:42 UTC
293849
293850         · 9dca5c0221  Merge  pull  request  #47252  from   rallytime/codeown‐
293851           ers-fixes
293852
293853         · 204b6af92b  Fix the matching patterns in the CODEOWNERS file to use
293854           fnmatch patterns
293855
293856       · ISSUE #47173:  (fpicot)  pkg.installed  ignores  normalize  parameter
293857         (refs: #47177)
293858
293859       · PR  #47177:  (fpicot)  fix  normalize  parameter  in  pkg.installed @
293860         2018-04-24 13:37:54 UTC
293861
293862         · 3de1bb49c8 Merge pull request #47177 from fpicot/fix_47173_pkg_nor‐
293863           malize
293864
293865         · 149f846f34 fix normalize parameter in pkg.installed
293866
293867       · PR  #47251:  (Ch3LL)  Update  Docs  to  remove  unnecessary  + sign @
293868         2018-04-23 19:37:04 UTC
293869
293870         · 10e30515dc Merge pull request #47251 from Ch3LL/pub_fix_rn
293871
293872         · fa4c2e6575 Update Docs to remove unnecessary + sign
293873
293874       · PR #47249: (Ch3LL) Add CVE number to 2016.3.6  Release  @  2018-04-23
293875         19:05:42 UTC
293876
293877         · bb7850a431 Merge pull request #47249 from Ch3LL/pub_fix_rn
293878
293879         · 24dea24b7e Add CVE number to 2016.3.6 Release
293880
293881       · ISSUE  #47225:  (pruiz)  zfs.filesystem_present  takes  forever  on a
293882         dataset with lots (10k+) of snapshots (refs: #47226, #47227)
293883
293884       · PR #47227: (pruiz) Fix  issue  #47225:  avoid  zfs.filesystem_present
293885         slowdown  when  dataset  has  lots  of  snapshots  (2017.7  branch) @
293886         2018-04-23 14:05:58 UTC
293887
293888         · PR #47226: (pruiz) Fix issue #47225:  avoid  zfs.filesystem_present
293889           slowdown when dataset has lots of snapshots (refs: #47227)
293890
293891         · 56933eb0b2       Merge      pull      request      #47227      from
293892           pruiz/pruiz/zfs-dataset-present-slow-2017.7
293893
293894         · fded61f19b Fix issue #47225: avoid zfs.filesystem_present  slowdown
293895           when dataset has lots of snapshots
293896
293897       · PR  #47167:  (smitty42)  Adding updates for python3 compatibility and
293898         new virtualbox SDK versi… @ 2018-04-23 13:20:42 UTC
293899
293900         · 9825065048 Merge pull request #47167 from smitty42/vbox-skd-fix
293901
293902         · 5de53139cd Merge branch '2017.7' into vbox-skd-fix
293903
293904       · PR #47213: (dwoz) Fix coverage on py3  windows  builds  @  2018-04-20
293905         22:09:57 UTC
293906
293907         · 976f031170 Merge pull request #47213 from dwoz/py3win
293908
293909         · ad9c7f63f0 Fix coverate on py3 windows builds
293910
293911         · 91252bac95  Adding updates for python3 compatibility and new virtu‐
293912           albox SDK version support.
293913
293914       · PR #47197: (dwoz) Move process target to top level module namespace @
293915         2018-04-20 15:41:06 UTC
293916
293917         · cebcd6d069 Merge pull request #47197 from dwoz/testfix
293918
293919         · 25803c9176 Move process target to top level module namespace
293920
293921       · PR  #47193: (Ch3LL) Add network module integration tests @ 2018-04-20
293922         13:37:19 UTC
293923
293924         · d4269c2b70 Merge pull request #47193 from Ch3LL/network_test
293925
293926         · bbf9987c19 Add network module integration tests
293927
293928       · PR #47189: (Ch3LL) Add autoruns.list integration test for  Windows  @
293929         2018-04-19 21:16:34 UTC
293930
293931         · c777248a78 Merge pull request #47189 from Ch3LL/autoruns
293932
293933         · 6a88bedb7a Add autoruns to windows whitelist
293934
293935         · e9e4d4af70 Add autoruns.list integration test for Windows
293936
293937       · PR  #47184:  (Ch3LL)  Add status module integration modules tests for
293938         Windows @ 2018-04-19 19:38:56 UTC
293939
293940         · 65f344e371 Merge pull request #47184 from Ch3LL/status_test
293941
293942         · 25a84428b8 Add status module integration modules tests for Windows
293943
293944       · PR #47163: (rallytime) Updage jenkins module autodocs to use jenkins‐
293945         mod name instead @ 2018-04-19 19:35:00 UTC
293946
293947         · PR  #46801:  (yagnik)  rename  jenkins to jenkinsmod (refs: #46900,
293948           #47163)
293949
293950         · 965600ad6c Merge pull request #47163 from rallytime/jenkins-autodoc
293951
293952         · 0039395017 Updage jenkins module autodocs to  use  jenkinsmod  name
293953           instead
293954
293955       · PR #47185: (twangboy) Add additional integration tests to whitelist @
293956         2018-04-19 18:20:25 UTC
293957
293958         · 0a43dde5fc Merge pull request #47185 from twangboy/add_tests
293959
293960         · 345daa0423 Add additional integration tests to whitelist
293961
293962       · PR #47172: (dwoz) Allow non  admin  name  based  runs  on  windows  @
293963         2018-04-19 17:26:42 UTC
293964
293965         · 1a600bb9a4 Merge pull request #47172 from dwoz/cover_without_admin
293966
293967         · cadd759727 Use warnings to warn user
293968
293969         · 144c68e214 Allow non admin name based runs on windows
293970
293971       · PR  #47110:  (kstreee)  Fixes  misusing of the timeout option. (refs:
293972         #47200) @ 2018-04-18 17:16:20 UTC
293973
293974         · PR #46326: (kstreee) Fixes a timing bug of saltnado's client local.
293975           (refs: #47110, #47123, #47200, #47415)
293976
293977         · PR  #45874:  (GwiYeong)  fix  for  local  client timeout bug (refs:
293978           #46326)
293979
293980         · d5997d2301  Merge  pull  request  #47110  from   kstreee/fix-misus‐
293981           ing-of-timeout
293982
293983         · 0624aee0ed Fixes misusing of the timeout option.
293984
293985       · ISSUE #40948: (ScoreUnder) salt-call falsely reports a master as down
293986         if it does not have PKI directories created (refs: #40961)
293987
293988       · PR #40961: (terminalmage) Make error more explicit when PKI  dir  not
293989         present for salt-call @ 2018-04-18 16:08:17 UTC
293990
293991         · 87ca2b4003 Merge pull request #40961 from terminalmage/issue40948
293992
293993         · 6ba66cca41 Fix incorrect logic in exception check
293994
293995         · fed5041c5f Make error more specific to aid in troubleshooting
293996
293997         · 8c67ab53b4 Fix path in log message
293998
293999         · 3198ca8b19  Make  error  more explicit when PKI dir not present for
294000           salt-call
294001
294002       · PR #47134: (Ch3LL) Add  user  integration  tests  for  windows  OS  @
294003         2018-04-18 14:29:40 UTC
294004
294005         · f5e63584d4 Merge pull request #47134 from Ch3LL/user_win_test
294006
294007         · e7c9bc4038 Add user integration tests for windows OS
294008
294009       · PR #47131: (gtmanfred) add __cli opts variable for master processes @
294010         2018-04-17 21:33:57 UTC
294011
294012         · da2f6a3fac Merge pull request #47131 from gtmanfred/cli
294013
294014         · 1b1c29bf62 add __cli for master processes
294015
294016       · ISSUE #47116: (pcjeff) pip  10.0.0  can  not  import  pip.req  (refs:
294017         #47121)
294018
294019       · PR  #47129:  (rallytime)  Back-port  #47121  to  2017.7  @ 2018-04-17
294020         20:45:11 UTC
294021
294022         · PR #47121: (pcjeff) fix pip  import  error  in  pip  10.0.0  (refs:
294023           #47129)
294024
294025         · 9b8e6ffb8c Merge pull request #47129 from rallytime/bp-47121
294026
294027         · 11da526b21 add ImportError
294028
294029         · bd0c23396c fix pip.req import error in pip 10.0.0
294030
294031       · PR  #47102:  (gtmanfred) dont allow using no_use_wheel for pip 10.0.0
294032         or newer (refs: #47220) @ 2018-04-17 20:44:58 UTC
294033
294034         · eb5ac51a48 Merge pull request #47102 from gtmanfred/2017.7
294035
294036         · 3dc93b310b fix tests
294037
294038         · 8497e08f8e fix pip module for 10.0.0
294039
294040         · 4c07a3d1e9 fix other tests
294041
294042         · b71e3d8a04 dont allow using no_use_wheel for pip 10.0.0 or newer
294043
294044       · PR #47037: (twangboy) Fix build_env scripts @ 2018-04-17 18:54:17 UTC
294045
294046         · c1dc42e67e Merge pull request #47037 from twangboy/fix_dev_scripts
294047
294048         · 990a24d7ed Fix build_env scripts
294049
294050       · PR  #47108:   (dwoz)   Fix   unit.utils.test_event.TestAsyncEventPub‐
294051         lisher.test_event_subscription @ 2018-04-17 00:25:07 UTC
294052
294053         · 6a4c0b8a1a Merge pull request #47108 from dwoz/async_test_fix
294054
294055         · 3d85e30ce5 AsyncTestCase is required for AsyncEventPublisher
294056
294057       · PR  #47068:  (cachedout)  Catch  an operation on a closed socket in a
294058         test @ 2018-04-16 19:56:03 UTC
294059
294060         · 03892eaf0b    Merge    pull    request    #47068    from    cached‐
294061           out/catch_value_error_socket_test
294062
294063         · 7db5625632 Catch an operation on a closed socket in a test
294064
294065       · PR #47065: (dwoz) Jinja test fix @ 2018-04-16 16:16:42 UTC
294066
294067         · 1ea2885ec2 Merge pull request #47065 from dwoz/jinja_test_fix
294068
294069         · 673cd31c65 Merge branch '2017.7' into jinja_test_fix
294070
294071       · PR  #47077: (dwoz) Fix failing state test by normalizing line endings
294072         @ 2018-04-16 15:48:39 UTC
294073
294074         · 5293b5b5ca Merge pull request #47077 from dwoz/test_state_fix
294075
294076         · 444da3f893 Fix py3 wart (chr vs bytesstring)
294077
294078         · e8acca01c2 Fix failing state test by normalizing line endings
294079
294080       · ISSUE #46538: (HenriWahl) salt-cloud gives "FutureWarning: The behav‐
294081         ior of this method will change in future versions." (refs: #47067)
294082
294083       · PR #47067: (gtmanfred) use the recommended opennebula lookup method @
294084         2018-04-16 15:48:15 UTC
294085
294086         · ca967de5da Merge pull request #47067 from gtmanfred/2017.7
294087
294088         · f913a7859c use the recommended opennebula lookup method
294089
294090       · PR #47064: (dwoz) Fix fileserver roots tests  @  2018-04-14  21:30:23
294091         UTC
294092
294093         · 7fddad6cd9 Merge pull request #47064 from dwoz/roots_tests_fix
294094
294095         · 25fd7c0694 fix py3 wart, encode os.linesep
294096
294097         · d79f1a1961 Fix fileserver roots tests
294098
294099       · PR  #47069:  (cachedout)  Pass  the  timeout variable to the CLI when
294100         calling salt in tests @ 2018-04-14 15:20:25 UTC
294101
294102         · 977c6939c4 Merge pull  request  #47069  from  cachedout/match_time‐
294103           out_arg
294104
294105         · b8990f5258  Pass  the timeout variable to the CLI when calling salt
294106           in tests
294107
294108       · PR  #47074:  (dwoz)  Kitchn  should  ignore  artifacts  directory   @
294109         2018-04-14 13:06:19 UTC
294110
294111         · 2c4c19c622 Merge pull request #47074 from dwoz/ignore_artifacts
294112
294113         · c3941efad0 Kitchn should ignore artifacts directory
294114
294115       · ISSUE  #47000:  (mvintila) Client API: full_return paramenter missing
294116         from cmd_subset function (refs: #47055)
294117
294118       · PR #47055: (mattp-) #47000 - add proper handling  of  full_return  in
294119         cmd_subset @ 2018-04-13 20:17:10 UTC
294120
294121         · c484c0bd71 Merge pull request #47055 from bloomberg/GH-47000
294122
294123         · 8af3f5b874 GH-47000: add proper handling of full_return in cmd_sub‐
294124           set
294125
294126       · PR #47039:  (twangboy)  Fix  winrm  powershell  script  @  2018-04-13
294127         18:09:56 UTC
294128
294129         · f3496030cc     Merge    pull    request    #47039    from    twang‐
294130           boy/win_fix_winrm_script
294131
294132         · 6635b9003f Fix winrm powershell script
294133
294134              · 46fa2c04de Fix py3 os.linesep wart
294135
294136              · 3c565d7e54 Use salt.utils.fopen
294137
294138              · aa965310f1 Clean up cruft
294139
294140              · efc9866580 Jinja test fixes
294141
294142       · PR #46326: (kstreee) Fixes a timing bug of saltnado's  client  local.
294143         (refs: #47110, #47123, #47200, #47415) @ 2018-04-13 13:59:28 UTC
294144
294145         · PR  #45874:  (GwiYeong)  fix  for  local  client timeout bug (refs:
294146           #46326)
294147
294148         · 1700a10ebe Merge pull request #46326 from kstreee/fix-client-local
294149
294150         · 0f358a9c9e Fixes a timing bug of saltnado's client local.
294151
294152       · ISSUE #46877: (trudesea) Unable to apply GPO  (Windows  2016)  (refs:
294153         #46913)
294154
294155       · ISSUE  #44516:  (doesitblend)  Windows  PY3 Minion Returns UTF16 Uni‐
294156         codeError (refs: #44944)
294157
294158       · PR #46913: (lomeroe) 2017.7 Fix  #46877  --  win_lgpo  start/shutdown
294159         script reading @ 2018-04-12 15:10:50 UTC
294160
294161         · PR  #44944: (lomeroe) win_lgpo registry.pol encoding updates (refs:
294162           #46913, #47438)
294163
294164         · c3c00316c5 Merge pull request #46913 from lomeroe/2017_7-fix46877
294165
294166         · 369a0645ed move exception for clarity
294167
294168         · 32ce5bfda5 Use configparser serializer object to read  psscript.ini
294169           and script.ini startup/shutdown script files.
294170
294171       · PR  #47025:  (terminalmage)  Fix  server_id grain in PY3 on Windows @
294172         2018-04-12 15:08:00 UTC
294173
294174         · 9e37cfc9d6   Merge   pull    request    #47025    from    terminal‐
294175           mage/fix-server_id-windows
294176
294177         · cb0cf89ed3 Fix server_id grain in PY3 on Windows
294178
294179       · PR  #47027:  (rallytime)  Back-port  #44508  to  2017.7  @ 2018-04-12
294180         15:05:51 UTC
294181
294182         · PR #44508: (mzbroch) Capirca integration (refs: #47027)
294183
294184         · 2e193cfb45 Merge pull request #47027 from rallytime/bp-44508
294185
294186         · 8e72f362f4 Add priority field to support the latest capirca.
294187
294188         · 112f92baab Add priority field to support the latest capirca.
294189
294190       · PR #47020:  (rallytime)  Back-port  #46970  to  2017.7  @  2018-04-11
294191         21:48:25 UTC
294192
294193         · PR #46970: (garethgreenaway)  [2017.7] fix to pkgrepo comments test
294194           (refs: #47020)
294195
294196         · 385fe2bc1e Merge pull request #47020 from rallytime/bp-46970
294197
294198         · 9373dff52b Update test_pkgrepo.py
294199
294200         · 13cf9eb5b1 Removing debugging.
294201
294202         · a61a8593e5 Removing suse from pkgrepo comments tests.  the  pkgrepo
294203           functions in SUSE pkg module do not support comments.
294204
294205       · ISSUE  #46504:  (jfoboss)  ntp.managed  fails  on non-english systems
294206         (refs: #46539)
294207
294208       · PR #46539: (jfoboss) #46504 Fix @ 2018-04-11 14:13:24 UTC
294209
294210         · 8f994e7cf9 Merge pull request #46539 from jfoboss/patch-1
294211
294212         · 6890122e41 Merge pull request #1 from twangboy/pull_46539
294213
294214           · 19c3fadbe5 Fix unit test for win_ntp
294215
294216         · 826a8d3099 Fixing #46504
294217
294218       · PR #46999: (gtmanfred) switch pip test package @ 2018-04-10  21:18:33
294219         UTC
294220
294221         · 74d70e95a5 Merge pull request #46999 from gtmanfred/2017.7
294222
294223         · 791af8f6ce switch pip test package
294224
294225       · PR  #46023:  (mattp-)  add  parallel  support  for  orchestrations  @
294226         2018-04-10 19:26:04 UTC
294227
294228         · 8adaf7f526 Merge pull request #46023 from bloomberg/parallel-orch
294229
294230         · 0ac0b3ca29 Merge branch '2017.7' into parallel-orch
294231
294232       · ISSUE #46581: (qcpeter) puppet.fact tries to parse output  to  stderr
294233         (refs: #46613)
294234
294235       · PR  #46613: (myinitialsarepm) Fix puppet.fact and puppet.facts to use
294236         stdout.  @ 2018-04-10 15:18:07 UTC
294237
294238         · 39d65a39cf Merge pull request #46613 from  myinitialsarepm/fix_pup‐
294239           pet.fact_and_puppet.facts
294240
294241         · 44ecd13abc Update tests to use cmd.run_all
294242
294243         · 7d7d40f541  Merge  branch  '2017.7'  into  fix_puppet.fact_and_pup‐
294244           pet.facts
294245
294246         · 0ce1520bd0  Merge  branch  '2017.7'  into  fix_puppet.fact_and_pup‐
294247           pet.facts
294248
294249         · 69e1f6f681 Fix puppet.fact and puppet.facts to use stdout.
294250
294251       · PR  #46991:  (gtmanfred)  use  saltstack  salt-jenkins  @  2018-04-10
294252         14:19:00 UTC
294253
294254         · ba5421d988 Merge pull request #46991 from gtmanfred/windows
294255
294256         · 98588c1dc5 use saltstack salt-jenkins
294257
294258       · PR #46975: (gtmanfred) Make windows work for test runs in jenkinsci @
294259         2018-04-10 13:41:18 UTC
294260
294261         · 00c4067585 Merge pull request #46975 from gtmanfred/windows
294262
294263         · 1f69c0d7f8 make sure windows outputs xml junit files
294264
294265         · 4a2ec1bbb3 support new versions of winrm-fs
294266
294267         · b9efec8526 remove libnacl on windows
294268
294269         · 2edd5eaf9e fix path
294270
294271         · b03e272e44 windows work
294272
294273       · PR  #46945:  (vutny)  [DOC]  Fix Jinja block in FAQ page @ 2018-04-09
294274         13:05:28 UTC
294275
294276         · 3cf2353e41 Merge pull request #46945 from vutny/doc-faq-fix-jinja
294277
294278         · bfdf54e61d [DOC] Fix Jinja block in FAQ page
294279
294280       · PR #46925: (terminalmage) Remove reference to  directory  support  in
294281         file.patch state @ 2018-04-06 13:54:47 UTC
294282
294283         · fc2f728665    Merge    pull    request    #46925   from   terminal‐
294284           mage/fix-file.patch-docstring
294285
294286         · 97695657f0 Remove reference  to  directory  support  in  file.patch
294287           state
294288
294289       · PR  #46900:  (rallytime)  Back-port  #46801  to  2017.7  @ 2018-04-06
294290         13:47:44 UTC
294291
294292         · PR #46801: (yagnik) rename jenkins  to  jenkinsmod  (refs:  #46900,
294293           #47163)
294294
294295         · eef6c518e1 Merge pull request #46900 from rallytime/bp-46801
294296
294297         · 6a41e8b457 rename jenkins to jenkinsmod
294298
294299       · PR  #46899:  (rallytime)  Back-port  #45116  to  2017.7  @ 2018-04-06
294300         13:47:17 UTC
294301
294302         · PR #45116: (arif-ali) fix adding parameters to http.query from  sdb
294303           yaml (refs: #46899)
294304
294305         · 71839b0303 Merge pull request #46899 from rallytime/bp-45116
294306
294307         · b92f908da4 fix adding parameters to http.query from sdb yaml
294308
294309              · 3d5e69600b address lint issues raised by @isbm
294310
294311              · a9866c7a03 fix parallel mode py3 compatibility
294312
294313              · 6d7730864a removing prereq from test orch
294314
294315              · 6c8a25778f add integration test to runners/test_state to exer‐
294316                cise parallel
294317
294318              · 2c86f16b39 cherry-pick cdata KeyError prevention from #39832
294319
294320              · 26a96e8933 record start/stop duration for  parallel  processes
294321                separately
294322
294323              · e4844bdf2b  revisit  previous  join() behavior in check_requi‐
294324                sites
294325
294326              · f00a359cdf join() parallel  process  instead  of  a  recursive
294327                sleep
294328
294329              · 6e7007a4dc add parallel support for orchestrations
294330
294331       · ISSUE  #43529:  (Ch3LL)  Add  publisher_acl  Test  to Auto Test Suite
294332         (refs: #44926)
294333
294334       · PR #44926: (frogunder) whitelist_acl_test @ 2018-04-05 15:09:26 UTC
294335
294336         · d0f5b43753 Merge pull request #44926 from frogunder/whitelisted_acl
294337
294338         · 18e460fc30 Merge branch '2017.7' into whitelisted_acl
294339
294340         · 1ad4d7d988 fix assert errors
294341
294342         · e6a56016df update test
294343
294344         · 19a2244cb7 whitelist_acl_test
294345
294346       · ISSUE #46456: (vitaliyf) "ValueError" when running orch with "subset"
294347         (refs: #46464)
294348
294349       · PR  #46464:  (gtmanfred) fix salt subset in orchestrator @ 2018-04-05
294350         14:52:01 UTC
294351
294352         · 7d822f9cec Merge pull request #46464 from gtmanfred/orchestration
294353
294354         · 637cdc6b7b fix pylint
294355
294356         · 0151013ddb document cli option for cmd_subset
294357
294358         · 4a3ed6607d add test for subset in orchestration
294359
294360         · 3112359dd6 fix salt subset in orchestrator
294361
294362       · ISSUE #46523: (dwoz) Add a test to the cloud suite for Windows minion
294363         on EC2 (refs: #46879)
294364
294365       · PR  #46879:  (dwoz)  Fix  multiple  typos  causing  tests  to  fail @
294366         2018-04-05 13:59:28 UTC
294367
294368         · 805ed1c964 Merge pull request #46879 from dwoz/cloudtestfix
294369
294370         · dc54fc53c3 Fix multiple typos causing tests to fail
294371
294372       · PR #46647: (twangboy) Fix the tear down function in  integration.mod‐
294373         ules.test_grains @ 2018-04-04 21:14:06 UTC
294374
294375         · f70f6de282     Merge    pull    request    #46647    from    twang‐
294376           boy/win_fix_test_grains
294377
294378         · c179388b0e  Fix  the  tear  down   function   in   integration.mod‐
294379           ules.test_grains.GrainsAppendTestCase
294380
294381       · ISSUE  #46754:  (nages13)  grain  item  virtual_subtype shows 'Xen PV
294382         DomU' on Docker containers (refs: #46756)
294383
294384       · ISSUE #43405: (kfix) LXD-created LXC container is detected as  a  Xen
294385         domU (refs: #46756)
294386
294387       · PR  #46756: (nages13) fix grains['virtual_subtype'] to show Docker on
294388         xen kernels @ 2018-04-04 20:53:49 UTC
294389
294390         · 91c078ce12 Merge pull request #46756 from nages13/bugfix-grain-vir‐
294391           tual_subtype
294392
294393         · 781f5030a4    Merge    branch   'bugfix-grain-virtual_subtype'   of
294394           https://github.com/nages13/salt into bugfix-grain-virtual_subtype
294395
294396           · cd1ac4b7f9 Merge branch '2017.7'  into  bugfix-grain-virtual_sub‐
294397             type
294398
294399           · 0ace76c0e7  Merge  branch '2017.7' into bugfix-grain-virtual_sub‐
294400             type
294401
294402           · 9eb6f5c0d0 Merge branch '2017.7'  into  bugfix-grain-virtual_sub‐
294403             type
294404
294405           · 73d6d9d365  Merge  branch '2017.7' into bugfix-grain-virtual_sub‐
294406             type
294407
294408           · a4a17eba6a Merge branch '2017.7'  into  bugfix-grain-virtual_sub‐
294409             type
294410
294411           · bf5034dbdb  Merge  branch '2017.7' into bugfix-grain-virtual_sub‐
294412             type
294413
294414           · 8d12770951 Merge branch '2017.7'  into  bugfix-grain-virtual_sub‐
294415             type
294416
294417         · 7e704c0e81  Moved  down  container  check code below hypervisors to
294418           validate containers type  running  in  virtual  environment.  Fixes
294419           #46754 & #43405
294420
294421         · 710f74c4a6 fix grains['virtual_subtype'] to show Docker on xen ker‐
294422           nels
294423
294424       · ISSUE #46762:  (ScoreUnder)  prereq  stack  overflow  (refs:  #46788,
294425         #46799)
294426
294427       · PR  #46799:  (garethgreenaway)  [2017.7]  Adding test for PR #46788 @
294428         2018-04-04 20:41:23 UTC
294429
294430         · PR #46788: (garethgreenaway) [2017.7] Ensure failed tags are  added
294431           to self.pre (refs: #46799)
294432
294433         · 058bbed221    Merge   pull   request   #46799   from   garethgreen‐
294434           away/46762_prereq_shenanigans_tests
294435
294436         · 13875e78cf Fixing documention string for test.
294437
294438         · 3d288c44d4 Fixing test documentation
294439
294440         · 6cff02ef6a Adding tests for #46788
294441
294442       · PR #46867: (terminalmage) Backport string arg normalization to 2017.7
294443         branch @ 2018-04-04 18:06:57 UTC
294444
294445         · d9770bf3f8 Merge pull request #46867 from terminalmage/unicode-log‐
294446           ging-normalization
294447
294448         · 7652688e83 Backport string arg normalization to 2017.7 branch
294449
294450       · PR #46770: (twangboy) Change the order of  SID  Lookup  @  2018-04-04
294451         17:33:10 UTC
294452
294453         · 9eb98b1f6e Merge pull request #46770 from twangboy/fix_46433
294454
294455         · 89af0a6222 Merge branch '2017.7' into fix_46433
294456
294457         · 67b4697578 Remove unused import (ling)
294458
294459         · 9302fa5ab0 Clean up code comments
294460
294461         · b383b9b330 Change the order of SID Lookup
294462
294463       · ISSUE  #46826:  (robgott) grain modules using tuples affect targeting
294464         (refs: #46839)
294465
294466       · PR #46839: (gtmanfred) match tuple for targets as well  @  2018-04-04
294467         14:07:12 UTC
294468
294469         · 9c776cffb7 Merge pull request #46839 from gtmanfred/tupletarget
294470
294471         · 3b7208ce27 match tuple for targets as well
294472
294473       · ISSUE  #40245:  (czhong111)  salt-api automatically restart caused by
294474         "opening too many files" (refs: #46817)
294475
294476       · ISSUE #36374: (szjur) Descriptor leaks in  multithreaded  environment
294477         (refs: #46817)
294478
294479       · ISSUE #20639: (GrizzlyV) salt.client.LocalClient leaks connections to
294480         local salt master (refs: #46817)
294481
294482       · PR #46845:  (rallytime)  Back-port  #46817  to  2017.7  @  2018-04-03
294483         19:52:29 UTC
294484
294485         · PR  #46817: (mattp-) address filehandle/event leak in async run_job
294486           invocations (refs: #46845)
294487
294488         · PR #32145: (paclat) fixes 29817 (refs: #46817)
294489
294490         · 7db251dc11 Merge pull request #46845 from rallytime/bp-46817
294491
294492         · 36a0f6d8ca address filehandle/event leak in async  run_job  invoca‐
294493           tions
294494
294495       · PR  #46847:  (dwoz)  strdup  from  libc is not available on windows @
294496         2018-04-03 19:51:33 UTC
294497
294498         · e3d17ab7bc Merge pull request #46847 from dwoz/missing-strdup
294499
294500         · 55845f4846 strdup from libc is not available on windows
294501
294502       · ISSUE #46765: (roskens) pkg.mod_repo fails with a python  error  when
294503         removing a dictionary key (refs: #46776)
294504
294505       · PR  #46776:  (gtmanfred)  fix  shrinking  list  in  for  loop  bug  @
294506         2018-04-03 17:32:16 UTC
294507
294508         · f2dd79f9c4 Merge pull request #46776 from gtmanfred/2017.7
294509
294510         · edc1059ee0 fix shrinking list in for loop bug
294511
294512       · PR #46838:  (gtmanfred)  use  http  registry  for  npm  @  2018-04-03
294513         17:02:32 UTC
294514
294515         · 1941426218 Merge pull request #46838 from gtmanfred/npm
294516
294517         · bff61dd291 use http registry for npm
294518
294519       · ISSUE  #42312:  (frogunder)  salt-call  --local  sys.doc  none  gives
294520         error/traceback in raspberry pi (refs: #46823)
294521
294522       · PR #46823: (rallytime) Improve __virtual__ checks in sensehat  module
294523         @ 2018-04-03 16:56:08 UTC
294524
294525         · e544254e7b Merge pull request #46823 from rallytime/fix-42312
294526
294527         · dafa820f93 Improve __virtual__ checks in sensehat module
294528
294529       · PR  #46641:  (skizunov)  Make  LazyLoader  thread  safe  @ 2018-04-03
294530         16:09:17 UTC
294531
294532         · 37f6d2de35 Merge pull request #46641 from skizunov/develop3
294533
294534         · c624aa4827 Make LazyLoader thread safe
294535
294536       · PR #46837: (rallytime) [2017.7] Merge forward from 2016.11 to  2017.7
294537         @ 2018-04-03 14:54:10 UTC
294538
294539         · 989508b100 Merge pull request #46837 from rallytime/merge-2017.7
294540
294541         · 8522c1d634 Merge branch '2016.11' into '2017.7'
294542
294543         · 3e844ed1df     Merge    pull    request    #46739    from    rally‐
294544           time/2016.11_update_version_doc
294545
294546         · 4d9fc5cc0f Update release versions for the 2016.11 branch
294547
294548       · PR #46740: (rallytime) Update release versions for the 2017.7  branch
294549         @ 2018-04-03 14:36:07 UTC
294550
294551         · 307e7f35f9     Merge    pull    request    #46740    from    rally‐
294552           time/2017.7_update_version_doc
294553
294554         · 7edf98d224 Update 2018.3.0 information and move branch  from  "lat‐
294555           est" to "previous"
294556
294557         · 5336e866ac Update release versions for the 2017.7 branch
294558
294559       · PR  #46783:  (twangboy)  Fix  network.managed  test=True on Windows @
294560         2018-04-03 12:54:56 UTC
294561
294562         · ebf5dd276f Merge pull request #46783 from twangboy/fix_46680
294563
294564         · da5ce25ef3 Fix unit tests on Linux
294565
294566         · b7f4f377cd Add space I removed
294567
294568         · f1c68a09b5 Fix network.managed test=True on Windows
294569
294570       · PR #46821: (rallytime) Fix the new test  failures  from  the  mantest
294571         changes @ 2018-04-03 12:40:51 UTC
294572
294573         · PR #46778: (terminalmage) Replace flaky SPM man test (refs: #46821)
294574
294575         · f652f25cc1   Merge  pull  request  #46821  from  rallytime/fix-man‐
294576           test-failures
294577
294578         · 209a8029c3 Fix the new test failures from the mantest changes
294579
294580       · ISSUE #46627: (vangourd) Win_LGPO  fails  on  writing  Administrative
294581         Template for Remote Assistance (refs: #46800)
294582
294583       · PR  #46800:  (lomeroe) fix win_lgpo to correctly create valuenames of
294584         list item types @ 2018-04-03 12:38:45 UTC
294585
294586         · c460f62081 Merge pull request #46800 from lomeroe/2017_7-46627
294587
294588         · 2bee383e9d correct create list item value names if the  valuePrefix
294589           attribute  does  not exist on the list item, the value is the value
294590           name, other wise, the  valuename  a  number  with  the  valuePrefix
294591           prepended to it
294592
294593       · ISSUE  #46347: (twangboy) Buid 449: unit.modules.test_inspect_collec‐
294594         tor (refs: #46675)
294595
294596       · PR #46675: (dwoz) Skip test when git symlinks are  not  configured  @
294597         2018-04-03 12:19:19 UTC
294598
294599         · df26f2641e Merge pull request #46675 from dwoz/inspectlib-tests
294600
294601         · d39f4852d8 Handle non-zero status exception
294602
294603         · 83c005802b Handle cases where git can not be found
294604
294605         · 628b87d5c4 Skip test when git symlinks are not configured
294606
294607       · ISSUE  #46808:  (ezh)  Sharedsecret  authentication  is broken (refs:
294608         #46809)
294609
294610       · PR #46815: (terminalmage) Backport  #46809  to  2017.7  @  2018-04-02
294611         20:05:15 UTC
294612
294613         · PR #46809: (ezh) Fix sharedsecret authentication (refs: #46815)
294614
294615         · 4083e7c460 Merge pull request #46815 from terminalmage/bp-46809
294616
294617         · 71d5601507 Fix sharedsecret authentication
294618
294619       · PR  #46769:  (dwoz)  Adding  windows  minion  tests  for salt cloud @
294620         2018-04-02 18:51:49 UTC
294621
294622         · 3bac9717f4 Merge pull request #46769 from dwoz/wincloudtest
294623
294624         · eabc234e5d Fix config override name
294625
294626         · 5c22a0f88d Use aboslute imports
294627
294628         · 810042710d Set default cloud test timeout back to 500 seconds
294629
294630         · 5ac89ad307 Use winrm_verify_ssl option causing tests to pass
294631
294632         · 71858a709c allow not verifying ssl winrm saltcloud
294633
294634         · ba5f11476c Adding windows minion tests for salt cloud
294635
294636       · PR #46786: (twangboy) Return int(-1) when  pidfile  contains  invalid
294637         data @ 2018-04-02 18:42:12 UTC
294638
294639         · f1be939763 Merge pull request #46786 from twangboy/fix_46757
294640
294641         · b0053250ff Remove int(), just return -1
294642
294643         · 7d56126d74 Fixes some lint
294644
294645         · 49b3e937da Return int(-1) when pidfile contains invalid data
294646
294647       · PR  #46814:  (terminalmage)  Backport  #46772  to 2017.7 @ 2018-04-02
294648         18:39:37 UTC
294649
294650         · PR #46772: (bmiguel-teixeira) fix container removal if  auto_remove
294651           was enabled (refs: #46814)
294652
294653         · 89bf24b15c Merge pull request #46814 from terminalmage/bp-46772
294654
294655         · a9f26f2ab8 avoid breaking if AutoRemove is not found
294656
294657         · 97779c965d fix container removal if auto_remove was enabled
294658
294659       · PR  #46813:  (terminalmage)  Get  rid  of  confusing  debug logging @
294660         2018-04-02 18:19:27 UTC
294661
294662         · 5ea4ffbdb6   Merge   pull    request    #46813    from    terminal‐
294663           mage/event-debug-log
294664
294665         · 5d6de3a2eb Get rid of confusing debug logging
294666
294667       · PR  #46766:  (twangboy)  Change  the way we're cleaning up after some
294668         tests @ 2018-03-30 18:01:03 UTC
294669
294670         · e533b7182d Merge pull request #46766 from twangboy/win_fix_test_git
294671
294672         · 5afc66452c Remove unused/redundant imports
294673
294674         · 88fd72c52c Use with_tempfile decorator where possible
294675
294676       · PR #46778: (terminalmage) Replace flaky SPM man test (refs: #46821) @
294677         2018-03-30 17:55:14 UTC
294678
294679         · 69d450db84  Merge  pull request #46778 from terminalmage/salt-jenk‐
294680           ins-906
294681
294682         · bbfd35d3ea Replace flaky SPM man test
294683
294684       · ISSUE #46762:  (ScoreUnder)  prereq  stack  overflow  (refs:  #46788,
294685         #46799)
294686
294687       · PR #46788: (garethgreenaway) [2017.7] Ensure failed tags are added to
294688         self.pre (refs: #46799) @ 2018-03-30 17:11:38 UTC
294689
294690         · c935ffb740   Merge   pull   request   #46788   from    garethgreen‐
294691           away/46762_prereq_shenanigans
294692
294693         · fa7aed6424 Ensure failed tags are added to self.pre.
294694
294695       · ISSUE #46354: (twangboy) Build 449: unit.test_state (refs: #46655)
294696
294697       · ISSUE #46350: (twangboy) Build 449: unit.test_pyobjects.RendererTests
294698         (refs: #46655)
294699
294700       · ISSUE #46349: (twangboy) Build 449: unit.test_pydsl (refs: #46655)
294701
294702       · ISSUE  #46345:  (twangboy)  Build  449:  unit.test_pyobjects.MapTests
294703         (Manual Pass) (refs: #46655)
294704
294705       · PR  #46655:  (dwoz)  Fixing  cleanUp  method to restore environment @
294706         2018-03-29 18:31:48 UTC
294707
294708         · 395b7f8fdc Merge pull request #46655 from dwoz/pyobjects-46350
294709
294710         · 5aabd442f2 Fix up import and docstring syntax
294711
294712         · 62d64c9230 Fix missing import
294713
294714         · 18b1730320 Skip test that requires pywin32 on *nix platforms
294715
294716         · 45dce1a485 Add reg module to globals
294717
294718         · 09f9322981 Fix pep8 wart
294719
294720         · 73d06f664b Fix linter error
294721
294722         · 009a8f56ea Fix up environ state tests for Windows
294723
294724         · b4be10b8fc Fixing cleanUp method to restore environment
294725
294726       · ISSUE #36802: (rmarcinik) using clean=True parameter in  file.recurse
294727         causes python process to spin out of control (refs: #46632)
294728
294729       · PR  #46632: (dwoz) Fix file.recurse w/ clean=True #36802 @ 2018-03-29
294730         18:30:42 UTC
294731
294732         · af45c49c42 Merge pull request #46632 from dwoz/file-recurse-36802
294733
294734         · 44db77ae79 Fix lint errors and typo
294735
294736         · cb5619537f Only change what is essential for test fix
294737
294738         · eb822f5a12 Fix file.recurse w/ clean=True #36802
294739
294740       · ISSUE #46660: (mruepp) top file merging same does produce conflicting
294741         ids with gitfs (refs: #46751)
294742
294743       · PR  #46751:  (folti)  top  file merging strategy 'same' works again @
294744         2018-03-28 21:12:27 UTC
294745
294746         · 6e9f504ed1 Merge pull request #46751 from folti/2017.7
294747
294748         · 7058f10381 same top merging strategy works again
294749
294750       · PR #46691: (Ch3LL) Add groupadd module integration tests for  Windows
294751         @ 2018-03-28 18:01:46 UTC
294752
294753         · d3623e0815 Merge pull request #46691 from Ch3LL/win_group_test
294754
294755         · 7cda825e90 Add groupadd module integration tests for Windows
294756
294757       · ISSUE #46352: (twangboy) Build 449: unit.test_client (refs: #46696)
294758
294759       · PR   #46696:  (dwoz)  Windows  unit.test_client  fixes  @  2018-03-28
294760         17:55:47 UTC
294761
294762         · 14ab50d3f4 Merge pull request #46696 from dwoz/win_test_client
294763
294764         · ec4634fc06 Better explanation in doc strings
294765
294766         · d9ae2abb34 Fix splling in docstring
294767
294768         · b40efc5db8 Windows test client fixes
294769
294770       · ISSUE #45956: (frogunder) CTRL-C gives traceback on py3 setup  (refs:
294771         #46032)
294772
294773       · PR  #46732:  (rallytime)  Back-port  #46032  to  2017.7  @ 2018-03-28
294774         13:43:17 UTC
294775
294776         · PR #46032: (DmitryKuzmenko) Workaroung python bug in traceback.for‐
294777           mat_exc() (refs: #46732)
294778
294779         · 1222bdbc00 Merge pull request #46732 from rallytime/bp-46032
294780
294781         · bf0b962dc0 Workaroung python bug in traceback.format_exc()
294782
294783       · ISSUE  #28142:  (zmalone)  Deprecate  or  update the copr repo (refs:
294784         #46749)
294785
294786       · PR #46749: (vutny) [DOC] Remove  mentions  of  COPR  repo  from  RHEL
294787         installation page @ 2018-03-28 13:20:50 UTC
294788
294789         · 50fe1e9480 Merge pull request #46749 from vutny/doc-deprecate-copr
294790
294791         · a1cc55da3d  [DOC]  Remove mentions of COPR repo from RHEL installa‐
294792           tion page
294793
294794       · PR #46734: (terminalmage) Make busybox image builder work with  newer
294795         busybox releases @ 2018-03-27 21:14:28 UTC
294796
294797         · bd1e8bcc7d Merge pull request #46734 from terminalmage/busybox
294798
294799         · 6502b6b4ff  Make  busybox  image  builder  work  with newer busybox
294800           releases
294801
294802       · ISSUE saltstack/salt-jenkins#902: (rallytime) [2017.7/.5] Test  fail‐
294803         ures for NPM on CentOS 6/7, Ubuntu 14, and OpenSUSE (refs: #46742)
294804
294805       · PR  #46742:  (gtmanfred)  only use npm test work around on newer ver‐
294806         sions @ 2018-03-27 21:13:28 UTC
294807
294808         · c09c6f819c Merge pull request #46742 from gtmanfred/2017.7
294809
294810         · fd0e649d1e only use npm test work around on newer versions
294811
294812       · PR #46743: (Ch3LL) Workaround getpwnam in  auth  test  for  MacOSX  @
294813         2018-03-27 21:10:47 UTC
294814
294815         · 3b6d5eca88 Merge pull request #46743 from Ch3LL/mac_auth
294816
294817         · 4f1c42c0e3 Workaround getpwnam in auth test for MacOSX
294818
294819       · ISSUE  #26920:  (david-fairbanks42)  MySQL  grant with underscore and
294820         wildcard (refs: #46171)
294821
294822       · PR #46171: (amaclean199) Fix mysql  grant  comparisons  @  2018-03-27
294823         17:54:48 UTC
294824
294825         · b548a3e742       Merge      pull      request      #46171      from
294826           amaclean199/fix_mysql_grants_comparison
294827
294828         · 97db3d9766 Merge branch '2017.7' into fix_mysql_grants_comparison
294829
294830         · 0565b3980e Merge branch '2017.7' into fix_mysql_grants_comparison
294831
294832         · 8af407173d Merge branch '2017.7' into fix_mysql_grants_comparison
294833
294834         · 00d13f05c4 Fix mysql grant comparisons by stripping both of  escape
294835           characters and quotes. Fixes #26920
294836
294837       · ISSUE  #5721:  (ozgurakan)  salt-minion  can't  restart itself (refs:
294838         #46709)
294839
294840       · PR #46709: (vutny) [DOC] Update  FAQ  about  Salt  self-restarting  @
294841         2018-03-27 14:34:58 UTC
294842
294843         · 554400e067 Merge pull request #46709 from vutny/doc-faq-minion-mas‐
294844           ter-restart
294845
294846         · d0929280fc [DOC] Update FAQ about Salt self-restarting
294847
294848       · PR  #46503:  (psyer)  Fixes  stdout  user  environment  corruption  @
294849         2018-03-27 14:20:15 UTC
294850
294851         · 3f21e9cc65       Merge      pull      request      #46503      from
294852           psyer/fix-cmd-run-env-corrupt
294853
294854         · e8582e80f2 Python 3-compatibility fix to unit test
294855
294856         · 27f651906d    Merge    pull    request    #1     from     terminal‐
294857           mage/fix-cmd-run-env-corrupt
294858
294859           · 172d3b2e04 Allow cases where no marker was found to proceed with‐
294860             out raising exception
294861
294862           · 35ad828ab8 Simplify the marker parsing logic
294863
294864         · a09f20ab45 fix repr for the linter
294865
294866         · 4ee723ac0f Rework how errors are output
294867
294868         · dc283940e0 Merge branch '2017.7' into fix-cmd-run-env-corrupt
294869
294870         · a91926561f Fix linting problems
294871
294872         · e8d3d017f9 fix bytes or str in find command
294873
294874         · 0877cfc38f Merge branch '2017.7' into fix-cmd-run-env-corrupt
294875
294876         · 86176d1252 Merge branch '2017.7' into fix-cmd-run-env-corrupt
294877
294878         · 3a7cc44ade Add python3 support for byte encoded markers
294879
294880         · 09048139c7 Do not show whole env in error
294881
294882         · ed94700255 fix missing raise statement
294883
294884         · 15868bc88c Fixes stdout user environment corruption
294885
294886       · PR  #46432:  (twangboy)  Default  to  UTF-8  for  templated  files  @
294887         2018-03-26 19:02:14 UTC
294888
294889         · ac2a6616a7 Merge pull request #46432 from twangboy/win_locales_utf8
294890
294891         · affa35c30d Revert passing encoding
294892
294893         · a0ab27ef15  Merge remote-tracking branch 'dw/win_locales_utf8' into
294894           win_locales_utf8
294895
294896           · 9f95c50061 Use default SLS encoding, fall back to system encoding
294897
294898           · 6548d550d0 Use salt.utils.to_unicode
294899
294900           · 8c0164fb63 Add ability to specify encoding in sdecode
294901
294902           · 2e7985a81c Default to utf-8 on Windows
294903
294904         · 8017860dcc Use salt.utils.to_unicode
294905
294906         · c10ed26eab Add ability to specify encoding in sdecode
294907
294908         · 8d7e2d0058 Default to utf-8 on Windows
294909
294910       · PR #46669: (terminalmage) Add option to return to pre-2017.7.3 pillar
294911         include merge order @ 2018-03-26 19:00:28 UTC
294912
294913         · fadc5e4ba4   Merge   pull  request  #46669  from  terminalmage/pil‐
294914           lar-merge-order
294915
294916         · b4a1d34b47 Add option to  return  to  pre-2017.7.3  pillar  include
294917           merge order
294918
294919       · PR  #46711: (terminalmage) Add performance reminder for wildcard ver‐
294920         sions @ 2018-03-26 18:07:31 UTC
294921
294922         · b90f0d1364  Merge  pull  request  #46711  from   terminalmage/wild‐
294923           card-versions-info
294924
294925         · fc7d16f1af Add performance reminder for wildcard versions
294926
294927       · ISSUE  #46353:  (twangboy) Build 449: unit.returners.test_smtp_return
294928         (refs: #46693)
294929
294930       · PR #46693: (dwoz) File and Pillar roots are dictionaries @ 2018-03-26
294931         15:15:38 UTC
294932
294933         · 6c80d90bb6 Merge pull request #46693 from dwoz/test_smtp_return
294934
294935         · 5bf850c67f File and Pillar roots are dictionaries
294936
294937       · ISSUE #36153: (krcroft) Pillarenv doesn't allow using separate pillar
294938         environments (refs: #46543)
294939
294940       · PR #46543: (dafenko) Fix missing saltenv and pillarenv in pillar.item
294941         @ 2018-03-26 15:05:13 UTC
294942
294943         · 9a6bc1418c       Merge      pull      request      #46543      from
294944           dafenko/fix-add-saltenv-pillarenv-to-pillar-item
294945
294946         · 6d5b2068aa  Merge   branch   '2017.7'   into   fix-add-saltenv-pil‐
294947           larenv-to-pillar-item
294948
294949         · 5219377313   Merge   branch   '2017.7'   into  fix-add-saltenv-pil‐
294950           larenv-to-pillar-item
294951
294952         · b7d39caa86  Merge   branch   '2017.7'   into   fix-add-saltenv-pil‐
294953           larenv-to-pillar-item
294954
294955         · 25f1074a85 Add docstring for added parameters
294956
294957         · 973bc13955   Merge   branch   '2017.7'   into  fix-add-saltenv-pil‐
294958           larenv-to-pillar-item
294959
294960         · 164314a859  Merge   branch   '2017.7'   into   fix-add-saltenv-pil‐
294961           larenv-to-pillar-item
294962
294963         · 267ae9f633 Fix missing saltenv and pillarenv in pillar.item
294964
294965       · PR  #46679:  (vutny)  [DOC]  Correct  examples  in pkg state module @
294966         2018-03-26 14:40:07 UTC
294967
294968         · f776040e25 Merge pull request #46679 from vutny/doc-state-pkg
294969
294970         · 4a730383bf [DOC] Correct examples in pkg state module
294971
294972       · PR #46646: (twangboy) Fix unit.returners.test_local_cache for Windows
294973         @ 2018-03-26 14:16:23 UTC
294974
294975         · 47409eaa6e     Merge    pull    request    #46646    from    twang‐
294976           boy/win_fix_test_local_cache
294977
294978         · 8d93156604 Fix unit.returners.test_local_cache for Windows
294979
294980       · ISSUE #46595: (aboe76) saltstack server_id changes with each  run  on
294981         python3 (refs: #46649)
294982
294983       · PR  #46649:  (terminalmage)  Make  server_id consistent on Python 3 @
294984         2018-03-26 13:58:59 UTC
294985
294986         · 0c2dce0416 Merge pull request #46649 from terminalmage/issue46595
294987
294988         · e82a1aa1ec Make server_id consistent on Python 3
294989
294990       · PR #46588: (UtahDave) Don't crash  when  saltwinshell  is  missing  @
294991         2018-03-21 20:26:31 UTC
294992
294993         · 4e7466a21c  Merge  pull  request #46588 from UtahDave/no_crash_win‐
294994           shell
294995
294996         · b7842a1777 Update error message.
294997
294998         · 95dfdb91ca Don't stacktrace when salt-ssh w/o saltwinshell
294999
295000       · ISSUE #22063: (jeanpralo) Wildcard inside  top.sls  file  for  pillar
295001         (refs: #41423)
295002
295003       · ISSUE #20581: (notpeter) Many environments: one pillar_root (all your
295004         envs are belong to base) (refs: #46309)
295005
295006       · PR #46631: (rallytime) Fix pillar unit test failures: file_roots  and
295007         pillar_roots environments should be lists @ 2018-03-21 19:22:49 UTC
295008
295009         · PR  #46629:  (terminalmage)  Fix  symlink loop when file_roots/pil‐
295010           lar_roots is a string instead of a list (refs: #46631)
295011
295012         · PR #46569: (rallytime) [2018.3] Merge forward from 2017.7 to 2018.3
295013           (refs: #46631)
295014
295015         · PR  #46309: (bdrung) Support dynamic pillar_root environment (refs:
295016           #46631)
295017
295018         · PR #41423: (RichardW42) pillar: target's state list  support  wild‐
295019           card in top.sls (refs: #46631)
295020
295021         · 33af3cfc7c  Merge  pull  request  #46631 from rallytime/update-pil‐
295022           lar-unit-tests
295023
295024         · 0f728186aa Fix pillar  unit  test  failures:  file_roots  and  pil‐
295025           lar_roots environments should be lists
295026
295027       · ISSUE  #26450:  (typeshige)  file.copy:  source  file is not present.
295028         (refs: #46640)
295029
295030       · PR #46640: (terminalmage) Clarify the docs for the file.copy state  @
295031         2018-03-21 19:14:50 UTC
295032
295033         · d329e7af78    Merge    pull    request    #46640   from   terminal‐
295034           mage/file.copy-docs
295035
295036         · 480c5f8faa Clarify the docs for the file.copy state
295037
295038       · PR  #46642:  (vutny)  [DOC]  Unify  cloud  modules  index  header   @
295039         2018-03-21 19:13:28 UTC
295040
295041         · ff40590c06 Merge pull request #46642 from vutny/doc-cloud-index
295042
295043         · 51e6aa54a1 [DOC] Unify cloud modules index header
295044
295045       · PR #46619: (rallytime) [2017.7] Merge forward from 2017.7.5 to 2017.7
295046         @ 2018-03-20 19:03:30 UTC
295047
295048         · 83ed40c06a Merge pull request #46619 from rallytime/merge-2017.7
295049
295050         · bcbddf5d07 Merge branch '2017.7.5' into '2017.7'
295051
295052       · PR #46584: (twangboy) Fix issue LGPO issue @ 2018-03-20 17:48:33 UTC
295053
295054         · df12135439 Merge pull request #46584 from twangboy/lgpo-46568
295055
295056         · 661017104b Detect disabled reg_multi_sz elements properly
295057
295058       · PR #46624: (twangboy) Fix  a  few  inconsitencies  in  the  installer
295059         script @ 2018-03-20 17:47:44 UTC
295060
295061         · 2fd3aa487c Merge pull request #46624 from twangboy/win_fix_install‐
295062           er
295063
295064         · fa0b0efe46 Fix some installer script inconsistencies
295065
295066       · ISSUE #46552: (JeffLee123)  State  with  require  requisite  executes
295067         despite onfail requisite on another state.   (refs: #46571)
295068
295069       · PR  #46571: (garethgreenaway) [2017.7] fixes to state.py @ 2018-03-20
295070         13:40:04 UTC
295071
295072         · f038e3c452   Merge   pull   request   #46571   from    garethgreen‐
295073           away/46552_onfail_and_require
295074
295075         · 152c43c843  Accounting  for  a  case when multiple onfails are used
295076           along with requires.  Previously if you have multiple states  using
295077           'onfail'  and  two  of  those  states using a 'require' against the
295078           first one state, the last two will run even if the  'onfail'  isn't
295079           met  because  the  'require' is met because the first state returns
295080           true even though it didn't excute.  This change adds an  additional
295081           hidden variable that is used when checking requisities to determine
295082           if the state actually ran.
295083
295084       · ISSUE #46512: (blarghmatey) git.pull failing when run from  the  salt
295085         scheduler (refs: #46520)
295086
295087       · PR  #46520:  (gtmanfred) pass utils to the scheduler for reloading in
295088         modules @ 2018-03-20 13:35:49 UTC
295089
295090         · 2677330e19 Merge pull request #46520 from gtmanfred/2017.7
295091
295092         · caefedc095 make sure utils is empty for pickling for windows
295093
295094         · 2883548e6b pass utils to the scheduler for reloading in modules
295095
295096       · ISSUE #44299: (nhavens) 2017.7.2 breaks pkgrepo.managed yum repo com‐
295097         ments (refs: #46531)
295098
295099       · PR #46531: (terminalmage) Fix regression in yumpkg._parse_repo_file()
295100         @ 2018-03-20 13:34:59 UTC
295101
295102         · 7bc3c2e588 Merge pull request #46531 from terminalmage/issue44299
295103
295104         · b70c3389da Fix case where no comments specified
295105
295106         · ce391c53f4 Add regression test for #44299
295107
295108         · c3e36a6c94 Fix regression in yumpkg._parse_repo_file()
295109
295110         · f0c79e3da3 Slight modification  to  salt.utils.pkg.rpm.combine_com‐
295111           ments()
295112
295113       · ISSUE #46521: (dwoz) --name argument not honored for cloud test suite
295114         (refs: #46567)
295115
295116       · PR #46567: (dwoz) Honor named tests when running integration suites @
295117         2018-03-20 13:24:42 UTC
295118
295119         · b80edb5d26 Merge pull request #46567 from dwoz/runtest-n-wart
295120
295121         · 3b6901e19d Honor named tests when running integration suites
295122
295123       · PR   #46580:  (twangboy)  Clarify  some  issues  with  msu  files  in
295124         win_dism.py @ 2018-03-16 18:57:55 UTC
295125
295126         · 1dcd22e767    Merge    pull    request    #46580    from     twang‐
295127           boy/win_update_docs_dism
295128
295129         · d52b99d7a3 Clarify some issues with msu files in win_dism.py
295130
295131       · ISSUE #46073: (layer3switch) salt 2017.7.3 grains metadata collection
295132         in AWS EC2 cause failure and nested iteration (refs: #46541)
295133
295134       · PR  #46541:  (gtmanfred)  handle  user-data  for  metadata  grains  @
295135         2018-03-15 17:21:31 UTC
295136
295137         · 0a68c22332 Merge pull request #46541 from gtmanfred/metadata
295138
295139         · 19bd1d9db5 handle user-data for metadata grains
295140
295141       · ISSUE  #46427:  (wasabi222)  cumulus  linux  should  use systemd as a
295142         default service pkg instead of debian_service (refs: #46547)
295143
295144       · PR #46547: (garethgreenaway)  [2017.7]  Disable  service  module  for
295145         Cumulus @ 2018-03-15 16:15:00 UTC
295146
295147         · 048b2ba3f6    Merge   pull   request   #46547   from   garethgreen‐
295148           away/46427_service_module_cumulus
295149
295150         · edd0b11447 Merge branch '2017.7' into 46427_service_module_cumulus
295151
295152         · ea3c16080e Disable the service module on Cumulus since it is  using
295153           systemd.
295154
295155       · PR #46548: (Ch3LL) profitbrick test: check for foo,bar username,pass‐
295156         word set in profitbrick config @ 2018-03-15 14:25:27 UTC
295157
295158         · 98e3260b9a Merge pull request #46548 from Ch3LL/profit_test
295159
295160         · db96c4e72e check for foo,bar username,password set  in  profitbrick
295161           config
295162
295163       · PR  #46549:  (Ch3LL)  Fix  dimensionsdata  test  random_name  call  @
295164         2018-03-15 14:23:41 UTC
295165
295166         · 79f2a76609 Merge pull request #46549 from Ch3LL/dimension_test
295167
295168         · bb338c464c Fix dimensionsdata test random_name call
295169
295170       · PR #46529: (gtmanfred) retry if there  is  a  segfault  @  2018-03-13
295171         22:41:54 UTC
295172
295173         · 083846fe0e Merge pull request #46529 from gtmanfred/kitchen
295174
295175         · 50d6e2c7be retry if there is a segfault
295176
295177       · PR  #46511:  (rallytime)  Back-port  #45769  to  2017.7  @ 2018-03-13
295178         17:08:52 UTC
295179
295180         · PR #45769: (Quarky9) Surpress boto WARNING during SQS msg decode in
295181           sqs_engine (refs: #46511)
295182
295183         · 5cc11129f1 Merge pull request #46511 from rallytime/bp-45769
295184
295185         · a8ffceda53   Surpress   boto   WARNING  during  decode,  reference:
295186           https://github.com/boto/boto/issues/2965
295187
295188   Salt 2017.7.7 Release Notes
295189       Version 2017.7.7 is a bugfix release for 2017.7.0.
295190
295191       The 2017.7.7 release contains only a small number of fixes,  which  are
295192       detailed below.
295193
295194       This release fixes two critical issues.
295195
295196       The  first  is  Issue  #48038, which is a critical bug that occurs in a
295197       multi-syndic setup where the same job is run multiple times on  a  min‐
295198       ion.
295199
295200       The  second  issue  is #48130. This bug appears in certain setups where
295201       the Master reports a Minion time-out, even though the job is still run‐
295202       ning on the Minion.
295203
295204       Both of these issues have been fixed with this release.
295205
295206   Statistics
295207       · Total Merges: 5
295208
295209       · Total Issue References: 2
295210
295211       · Total PR References: 6
295212
295213       · Contributors: 3 (garethgreenaway, gtmanfred, rallytime)
295214
295215   Changelog for v2017.7.6..v2017.7.7
295216       Generated at: 2018-06-17 19:26:52 UTC
295217
295218       · ISSUE #48130: (rmarchei) Minion timeouts with 2018.3.1 (refs: #48157)
295219
295220       · PR  #48157:  (gtmanfred)  always  listen  when  gathering  job info @
295221         2018-06-17 19:04:09 UTC
295222
295223         · 8af4452134 Merge pull request #48157 from gtmanfred/2017.7.7
295224
295225         · d8209e8a40 always listen when gathering job info
295226
295227       · PR #48140: (rallytime) Update man pages  for  2017.7.7  @  2018-06-14
295228         21:22:43 UTC
295229
295230         · b98c52ee51     Merge    pull    request    #48140    from    rally‐
295231           time/man-pages-2017.7.7
295232
295233         · 8893bf0d4c Update man pages for 2017.7.7
295234
295235       · PR #48136: (gtmanfred) [2017.7.7] bootstrap kitchen branch tests with
295236         2017.7.6 @ 2018-06-14 21:20:16 UTC
295237
295238         · baa0363336 Merge pull request #48136 from gtmanfred/2017.7.7
295239
295240         · fce1c31146 bootstrap kitchen branch tests with 2017.7.6
295241
295242       · PR  #48134:  (rallytime)  Add  release  notes  file  for  2017.7.7  @
295243         2018-06-14 16:31:34 UTC
295244
295245         · b0ba08f4d9    Merge    pull    request    #48134    from     rally‐
295246           time/release-notes-2017.7.7
295247
295248         · 217005b8f1 Add missing v for tag reference
295249
295250         · d53569d1e3 Add release notes file for 2017.7.7
295251
295252       · ISSUE  #48038: (austinpapp) jobs are not dedup'ing minion side (refs:
295253         #48075)
295254
295255       · PR #48098: (rallytime) Back-port  #48075  to  2017.7.7  @  2018-06-14
295256         12:53:42 UTC
295257
295258         · PR  #48075:  (garethgreenaway) [2017.7] Ensure that the shared list
295259           of jids is passed (refs: #48098)
295260
295261         · 084de927fe    Merge    pull    request    #48098    from     rally‐
295262           time/bp-48075-2017.7.7
295263
295264         · e4e62e8b3a  Ensure that the shared list of jids is passed when cre‐
295265           ating the Minion.  Fixes an issue when minions are pointed at  mul‐
295266           tiple syndics.
295267
295268   Salt 2017.7.8 Release Notes
295269       Version 2017.7.8 is a security and bugfix release for 2017.7.0.
295270
295271   Statistics
295272       · Total Merges: 237
295273
295274       · Total Issue References: 48
295275
295276       · Total PR References: 279
295277
295278       · Contributors:  52  (AVeenstra,  Ch3LL,  Circuitsoft,  DmitryKuzmenko,
295279         KaiSforza, Martin819, OrlandoArcapix, UtahDave, Vaelatern, abednarik,
295280         asnell,  b1naryth1ef,  baniobloom,  basepi, bdrung, beornf, bmcorser,
295281         bowmanjd-lms,  damon-atkins,  darkpixel,  discogestalt,  doesitblend,
295282         dqminh,  dubb-b, dwoz, frankiexyz, frogunder, fzipi, garethgreenaway,
295283         grokrecursion,  gtmanfred,  jacksontj,  jagguli,  lejambon,  lomeroe,
295284         lordcirth,    lusche,    mbunkus,   meaksh,   mirceaulinic,   nbraud,
295285         pritambaral,  ralex,  rallytime,  rmcintosh,   slaws,   terminalmage,
295286         twangboy, twellspring, wyardley, xetix, zer0def)
295287
295288   Security Fix
295289       CVE-2018-15751  Remote  command  execution and incorrect access control
295290       when using salt-api.
295291
295292       CVE-2018-15750 Directory traversal vulnerability when  using  salt-api.
295293       Allows  an  attacker  to  determine  what  files exist on a server when
295294       querying /run or /events.
295295
295296       Credit and thanks for discovery and responsible disclosure:  nullbr4in,
295297       xcuter, koredge, loupos, blackcon, Naver Business Platform
295298
295299   New win_snmp behavior
295300       · win_snmp.get_community_names  now  returns the SNMP settings actually
295301         in effect on the box. If settings are managed via GroupPolicy,  those
295302         settings will be returned. Otherwise, normal settings are returned.
295303
295304       · win_snmp.set_community_names  now  raises an error when SNMP settings
295305         are being managed by GroupPolicy.
295306
295307   Option Added to Disable Docker Mine Updates
295308       When a docker container is added, removed, started, stopped, etc.,  the
295309       results  of a docker.ps verbose=True all=True host=True are sent to the
295310       mine, to be used by mine.get_docker.
295311
295312       A new config option (docker.update_mine) has been added.  When  set  to
295313       False,  Salt will not send this information to the mine. This is useful
295314       in cases where sensitive information is stored in the container's envi‐
295315       ronment.
295316
295317   Changelog for v2017.7.7..v2017.7.8
295318       Generated at: 2018-09-04 21:09:41 UTC
295319
295320       · PR  #49498:  (rallytime) Pin CherryPy version to < 18.0.0 in require‐
295321         ments files for PY2 @ 2018-09-04 17:55:02 UTC
295322
295323         · 0d7b173b24  Merge  pull  request  #49498  from  rallytime/pin-cher‐
295324           rypy-2017.7.8
295325
295326         · 81a6155b6b  Pin  CherryPy version to < 18.0.0 in requirements files
295327           for PY2
295328
295329       · ISSUE #47087: (darkpixel) How do I stop the prompt "Permission denied
295330         for  host  <hostname>, do you want to deploy the salt-ssh key? (pass‐
295331         word required):"? (refs: #47100, #`saltstack/salt`#47100`_`_)
295332
295333         · PR saltstack/salt#47100: (gtmanfred) Allow for not  being  prompted
295334           to supply a password to deploy keys to a… (refs: #49461)
295335
295336       · PR  #49466:  (rallytime)  Back-port  #49461  to 2017.7.8 @ 2018-08-31
295337         15:44:11 UTC
295338
295339         · PR #49461: (gtmanfred) Revert "Allow for not being prompted to sup‐
295340           ply a password to deploy keys to a…" (refs: #49466)
295341
295342         · 52ab2c0574 Merge pull request #49466 from rallytime/bp-49461
295343
295344         · 58428003b1  Revert  "Allow for not being prompted to supply a pass‐
295345           word to deploy keys to a…"
295346
295347       · PR #49284: (twangboy) Fix path  to  libsodium  tarball  @  2018-08-23
295348         17:19:24 UTC
295349
295350         · 1bbe7df6c4  Merge  pull  request  #49284 from twangboy/fix_install‐
295351           er_osx
295352
295353         · a112eaa597 Fix path to libsodium tarball
295354
295355       · PR #49272: (twangboy) Add 64 bit binaries for KB2999226  to  the  x86
295356         installer @ 2018-08-23 14:27:09 UTC
295357
295358         · e0e8779985  Merge  pull  request  #49272 from twangboy/fix_install‐
295359           er_more
295360
295361         · a8f054b2d2 Add 64bit binaries for KB2999226 to the x86 installer
295362
295363       · PR #49218: (twangboy) Fix Windows and  OSX  installers  @  2018-08-21
295364         01:10:30 UTC
295365
295366         · 0eb6ddf0e8 Merge pull request #49218 from twangboy/fix_installer
295367
295368         · e8a1d2f772 Add more descriptive error when KB not found
295369
295370         · 71737ea687 Suppress all ui on vcredist installation
295371
295372         · 7dae9bb2a1 Fix Windows and OSX installers
295373
295374       · PR  #49116:  (twangboy)  Fix  windows  installer  script @ 2018-08-14
295375         17:09:35 UTC
295376
295377         · e484f261ee Merge pull request #49116 from twangboy/fix_installer
295378
295379         · 1227095c5d Add nonfatal switch to VCRedist
295380
295381       · PR  #49113:  (Ch3LL)  Add  changelog  to  2017.7.8  release  notes  @
295382         2018-08-14 15:03:16 UTC
295383
295384         · 0b9f2f8884 Merge pull request #49113 from Ch3LL/rn_7.8
295385
295386         · f6b70bb653 Add changelog to 2017.7.8 release notes
295387
295388       · PR  #49051:  (rallytime)  Back-port  #49046  to 2017.7.8 @ 2018-08-10
295389         17:19:18 UTC
295390
295391         · PR #49046: (garethgreenaway) [2017.7] Another fix to tests/integra‐
295392           tion/modules/test_service.py (refs: #49051)
295393
295394         · 01cf2c71ff Merge pull request #49051 from rallytime/bp-49046
295395
295396         · fc0817cb35  The  osfullname  grain  differs  when  using Python2 vs
295397           Python3, swapping this out for the "OS" grain which is consistent.
295398
295399       · PR #49044: (Ch3LL) increase timeout on vultr cloud integration test @
295400         2018-08-10 01:28:17 UTC
295401
295402         · 189e28691f Merge pull request #49044 from Ch3LL/vultr_test
295403
295404         · 0dedfae4d1 increase timeout on vultr cloud integration test
295405
295406       · PR  #49042:  (rallytime)  Mark  a  jinja  template  test  as  flaky @
295407         2018-08-09 21:05:54 UTC
295408
295409         · c606a32cf2    Merge    pull    request    #49042    from     rally‐
295410           time/flaky-jinja-test
295411
295412         · a43d9b4ba6 Mark a jinja template test as flaky
295413
295414       · PR  #49041:  (Ch3LL)  [2017.7.8]  backport  PR  #48212  @  2018-08-09
295415         21:05:27 UTC
295416
295417         · PR #48212:  (Ch3LL)  Fix  python3  ec2  salt-cloud  TypeError  when
295418           installing salt (refs: #49041)
295419
295420         · 6415b6f73b Merge pull request #49041 from Ch3LL/ec2_fix
295421
295422         · cf7f2459b8 [2017.7.8] backport PR #48212
295423
295424       · PR  #49030:  (rallytime)  Update  netapi  client  tests  @ 2018-08-09
295425         17:11:14 UTC
295426
295427         · 1db036406b    Merge    pull    request    #49030    from     rally‐
295428           time/update-client-tests
295429
295430         · f08ee6c6ae Update netapi client tests
295431
295432       · PR  #49024: (rallytime) Fix test error in test_compiler jinja check @
295433         2018-08-09 12:43:23 UTC
295434
295435         · PR #49002:  (rallytime)  Skip  test_jinja_deep_error  on  Debian  8
295436           (refs: #49024)
295437
295438         · f73ba21bc7 Merge pull request #49024 from rallytime/fix-deb-test
295439
295440         · a9c16d9137 Fix test error in test_compiler jinja check
295441
295442       · PR  #49020:  (rallytime)  Make  grains integration test more robust @
295443         2018-08-08 20:59:18 UTC
295444
295445         · 6b6d68c615 Merge pull request #49020 from rallytime/fix-grains-test
295446
295447         · f72a3ac6be Make grains integration test more robust
295448
295449       · PR #49002: (rallytime) Skip test_jinja_deep_error on Debian 8  (refs:
295450         #49024) @ 2018-08-08 19:18:39 UTC
295451
295452         · 92d6c25c7f     Merge    pull    request    #49002    from    rally‐
295453           time/skip-jinja-deep-error-test
295454
295455         · 23b66ef8bb Skip test_jinja_deep_error on Debian 8
295456
295457       · PR #48999: (rallytime) Update expected return value in  boto  test  @
295458         2018-08-08 14:42:15 UTC
295459
295460         · 41d9f11eb3 Merge pull request #48999 from rallytime/fix-boto-test
295461
295462         · d0136b1be5 Update expected return value in boto test
295463
295464       · PR  #48976:  (rallytime)  Skip  unreliable tornado tests @ 2018-08-07
295465         18:55:25 UTC
295466
295467         · a1e54634dc Merge pull request #48976 from rallytime/tornado
295468
295469         · 0bd838ab6c Skip unreliable tornado tests
295470
295471       · PR #48979: (rallytime) Back-port  #48959  to  2017.7.8  @  2018-08-07
295472         18:11:53 UTC
295473
295474         · PR #48959: (rallytime) Mark some more tests as flaky (refs: #48979)
295475
295476         · 22713be9c1 Merge pull request #48979 from rallytime/bp-48959
295477
295478         · aaf986d728  Mark one grains test as flaky & convert to pytest nota‐
295479           tion
295480
295481         · e7e5abcf48 Mark 2 matcher tests as flaky
295482
295483       · PR #48970: (Ch3LL) [2017.7.8] Backport #48962 @  2018-08-07  15:01:57
295484         UTC
295485
295486         · PR #48962: (garethgreenaway) [2017.7] Fixing tests/integration/mod‐
295487           ules/test_service.py (refs: #48970)
295488
295489         · 03aa0e49b0 Merge pull request #48970 from Ch3LL/back_48962
295490
295491         · 3ce1b8a3c9 Update the elif block to only be true for versions below
295492           Debian 9.
295493
295494       · PR  #48968:  (rallytime)  Update  man  pages  for  2017.7.8 release @
295495         2018-08-07 14:29:08 UTC
295496
295497         · e6cea5e3c7 Merge pull request #48968 from rallytime/man-pages
295498
295499         · 64fe3be41a Update man pages for 2017.7.8 release
295500
295501       · PR #48950: (KaiSforza)  Added  a  quote  to  kitchen  Jenkinsfiles  @
295502         2018-08-06 14:29:08 UTC
295503
295504         · 848d583438   Merge  pull  request  #48950  from  KaiSforza/kitchen‐
295505           fix-2017.7
295506
295507         · 5242cb143a Added a quote to kitchen Jenkinsfiles
295508
295509       · PR #48943: (rallytime) Mark some shell and runner  integration  tests
295510         as flaky @ 2018-08-06 13:08:14 UTC
295511
295512         · 928d688d65 Merge pull request #48943 from rallytime/flaky-tests
295513
295514         · 668da57ab9 Mark some shell and runner integration tests as flaky
295515
295516       · PR  #48940:  (rallytime)  Back-port  #48852  to  2017.7  @ 2018-08-05
295517         21:32:26 UTC
295518
295519         · PR #48852: (KaiSforza) Record all  the  artifacts  from  the  build
295520           (refs: #48940)
295521
295522         · cd42510d3a Merge pull request #48940 from rallytime/bp-48852
295523
295524         · fa4ef92e79 Record all the artifacts from the build
295525
295526       · PR      #48935:      (garethgreenaway)      [2017.7]      Fix      to
295527         test_pkg.test_pkg_015_installed_held @ 2018-08-05 19:47:39 UTC
295528
295529         · 43649a68be   Merge   pull   request   #48935   from    garethgreen‐
295530           away/1045_test_pkg_015_installed_held_centos
295531
295532         · 0bb10107b6         Merge         branch        '2017.7'        into
295533           1045_test_pkg_015_installed_held_centos
295534
295535         · 24d5e6a22f Fixing the test_pkg_015_installed_held test to  be  able
295536           to successfully run on CentOS
295537
295538       · ISSUE #47087: (darkpixel) How do I stop the prompt "Permission denied
295539         for host <hostname>, do you want to deploy the salt-ssh  key?  (pass‐
295540         word required):"? (refs: #47100)
295541
295542       · PR #47100: (gtmanfred) Allow for not being prompted to supply a pass‐
295543         word to deploy keys to a… @ 2018-08-05 19:12:58 UTC
295544
295545         · 2421e2a570 Merge pull request #47100 from gtmanfred/ssh
295546
295547         · 5b443af7ae add key-deploy test
295548
295549         · a131c9beeb Allow for not being prompted to  supply  a  password  to
295550           deploy keys to a minion with salt-ssh
295551
295552       · ISSUE #48865: (mts-avco) Windows packages are hidden in pkg.list_pkgs
295553         if they have no DisplayVersion (refs: #48891)
295554
295555       · PR #48891: (damon-atkins) win_pkg: Fix issue introduced in  Jan  2018
295556         DisplayVersion missing should result… @ 2018-08-05 18:53:47 UTC
295557
295558         · d541bd6446       Merge      pull      request      #48891      from
295559           damon-atkins/2017.7_win_pkg.list_pkgs_not_found
295560
295561         · a4af1dbfb1 Fix win_pkg issues introduced Jan 2018.  If  DisplayVer‐
295562           sion does not exist it should return version as "Not Found"
295563
295564       · ISSUE  #27056:  (oogali)  pkgng  provider  on  FreeBSD  does  not  do
295565         BATCH=yes (refs: #48730, #29909)
295566
295567       · PR #48896:  (rallytime)  Back-port  #48730  to  2017.7  @  2018-08-05
295568         18:20:40 UTC
295569
295570         · PR  #48730: (fzipi) Fix batch install on FreeBSD using pkgng (refs:
295571           #48896)
295572
295573         · PR  #29909:  (abednarik)  FreeBSD  pkgng  fix  for  non-interactive
295574           install. (refs: #48730)
295575
295576         · PR #29907: (bmcorser) Presumably what was meant (refs: #48730)
295577
295578         · 5f6a56f5dc Merge pull request #48896 from rallytime/bp-48730
295579
295580         · 57aa204c9d Merge branch '2017.7' into bp-48730
295581
295582         · 4995922584 Forgot variable in signature
295583
295584         · 0503bc18b6 Fix batch install using pkgng
295585
295586       · PR   #48933:  (garethgreenaway)  [2017.7]  Fix  to  test_service_dis‐
295587         able_doesnot_exist @ 2018-08-05 14:29:43 UTC
295588
295589         · 0c64bba865   Merge   pull   request   #48933   from    garethgreen‐
295590           away/1022_debian_8_failing_service-test
295591
295592         · 280d1d2ad2   Fixing   failing  test,  integration.modules.test_ser‐
295593           vice.ServiceModuleTest.test_service_disable_doesnot_exist,       on
295594           Debian 8 and higher.
295595
295596       · PR   #48922:   (rallytime)  Update  backticks  on  job_cache  docs  @
295597         2018-08-03 21:05:46 UTC
295598
295599         · 0c3d2c6a09 Merge pull request #48922 from rallytime/cache-doc-error
295600
295601         · 8ca89df7e8 Update backticks on job_cache docs
295602
295603       · PR #48866: (Ch3LL) Add cmd module integration tests for  windows  and
295604         fix space in path issue @ 2018-08-03 21:03:33 UTC
295605
295606         · 8d1fc4f8e5 Merge pull request #48866 from Ch3LL/cmd_win_tests
295607
295608         · 905da13653 Merge branch '2017.7' into cmd_win_tests
295609
295610       · PR  #48920:  (rallytime)  Back-port  #48904  to  2017.7  @ 2018-08-03
295611         15:17:07 UTC
295612
295613         · PR #48904: (KaiSforza) No rehashing in parallel (refs: #48920)
295614
295615         · 57d58e7541 Merge pull request #48920 from rallytime/bp-48904-2017.7
295616
295617         · a55f92954a No rehashing in parallel
295618
295619       · PR  #48876:  (Vaelatern)  Make  IP_LEARNING  optional  @   2018-08-02
295620         19:30:24 UTC
295621
295622         · e79ccb35b1  Merge  pull  request  #48876  from  Vaelatern/make-net‐
295623           work-learning-optional
295624
295625         · a4905b0e5d Make IP_LEARNING optional
295626
295627       · PR  #48890:  (Ch3LL)  add  sleep  in  test_cmd  integration  test   @
295628         2018-08-02 19:15:08 UTC
295629
295630         · f8bfab4f9f Merge pull request #48890 from Ch3LL/cmd_test
295631
295632         · acda4ed9ab add sleep in test_cmd integration test
295633
295634       · PR #48885: (rallytime) Mark shadow module integration test as flaky @
295635         2018-08-02 19:04:35 UTC
295636
295637         · 52722f6ded    Merge    pull    request    #48885    from     rally‐
295638           time/flaky-tests-shadow
295639
295640         · da871a2d57 Mark shadow module integration test as flaky
295641
295642       · PR  #48884: (rallytime) Separate compound matcher tests into individ‐
295643         ual tests @ 2018-08-02 19:04:03 UTC
295644
295645         · bf0895656e    Merge    pull    request    #48884    from     rally‐
295646           time/flaky-tests-matchers
295647
295648         · 38d9eae537 Merge branch '2017.7' into flaky-tests-matchers
295649
295650       · PR #48868: (terminalmage) Fix race when SIGTERM/SIGINT received while
295651         lazyloading a module @ 2018-08-02 17:13:34 UTC
295652
295653         · a567666938   Merge   pull    request    #48868    from    terminal‐
295654           mage/fix-loader-race
295655
295656         · 5f1169b9a2  Fix race when SIGTERM/SIGINT received while lazyloading
295657           a module
295658
295659       · PR #48883: (terminalmage) Fix failing git worktree tests @ 2018-08-02
295660         16:51:40 UTC
295661
295662         · 0ca0b6f2f2  Merge  pull request #48883 from terminalmage/salt-jenk‐
295663           ins-1023
295664
295665         · c61f75cb50 Fix failing git worktree tests
295666
295667              · 3660dff13c Separate compound  matcher  tests  into  individual
295668                tests
295669
295670       · PR  #48869:  (Ch3LL)  Catch  socket.error  exception in testprogram @
295671         2018-08-02 14:19:22 UTC
295672
295673         · a84f5155a1 Merge pull request #48869 from Ch3LL/mac_shell_tests
295674
295675         · 3734b1ec89 Catch socket.error exception in testprogram
295676
295677       · PR #48867: (rallytime) Skip unreliable tornado  test.   @  2018-08-01
295678         21:07:07 UTC
295679
295680         · 7f56b8bf44  Merge  pull  request  #48867  from  rallytime/skip-tor‐
295681           nado-test
295682
295683         · 7320aa9104 Skip unreliable tornado test.
295684
295685         · 3be11e06fe Add docs for new escape kwarg
295686
295687         · 391bb8a411 use a specific path for just the cmd._run call
295688
295689         · 62c66ba489 make sure we lower the check on shell
295690
295691         · 9312a993a5 Add cmd module integration tests  for  windows  and  fix
295692           space in path issue
295693
295694       · PR  #48853:  (rallytime)  Back-port  #48850  to  2017.7  @ 2018-07-31
295695         20:21:49 UTC
295696
295697         · PR #48850: (rallytime) Skip tests in  integration.shell.test_master
295698           (refs: #48853)
295699
295700         · 05f2d65de3 Merge pull request #48853 from rallytime/bp-48850
295701
295702         · 3c33ee554a Skip tests in integration.shell.test_master
295703
295704       · ISSUE  #46689:  (mxork)  pkg.installed:  hold:  True not applied to a
295705         package which is already installed. (refs: #48426)
295706
295707       · PR  #48426:  (garethgreenaway)  [2017.7]  fixes  to  states/pkg.py  @
295708         2018-07-31 20:18:05 UTC
295709
295710         · 8a1285239a    Merge   pull   request   #48426   from   garethgreen‐
295711           away/46689_fixing_pkg_held_when_package_is_installed
295712
295713         · 9b0f5dd212 Fixing identation, removing some unnecessary  condition‐
295714           als.
295715
295716         · 727964ab55 One last cleanup.
295717
295718         · 11cb86e6eb  General  cleanup in pkg state, reducing duplicate code.
295719           Fixing the requires_salt_modules decorator, sys.doc  was  returning
295720           too much information for the event to handle.  This change specifi‐
295721           cally calls sys.doc with the module name.
295722
295723         · 16fb6ae635 Make sure pkg.hold and pkg.unhold are  available  before
295724           running the test.
295725
295726         · 998651102d  Fixing  a situation when a package is already installed
295727           via salt or manually and a state attempts to set that package to be
295728           held.   Previously  the  holding/unholding logic was only being run
295729           against packages that were being installed.  This change moves  the
295730           holding  logic  outside  and  runs it against all desired packages.
295731           Adding a new test to test holding logic.
295732
295733       · ISSUE #47689: (OrlandoArcapix) Poor performance of pip.installed when
295734         given a list of packages (refs: #47734)
295735
295736       · PR  #47734:  (OrlandoArcapix) #47689 improve run-speed of pip package
295737         state @ 2018-07-31 19:15:35 UTC
295738
295739         · c8e69431ff   Merge   pull   request    #47734    from    OrlandoAr‐
295740           capix/Issue47689-pip-state-performance
295741
295742         · 662bd1f780  Merge branch '2017.7' into Issue47689-pip-state-perfor‐
295743           mance
295744
295745         · 66936b4f41 Changed string comparison in pip test to match new  con‐
295746           firmation string - ref PR #47734.
295747
295748         · bb5939d6ef  Merge branch '2017.7' into Issue47689-pip-state-perfor‐
295749           mance
295750
295751         · d6a49ae41c Merge branch '2017.7' into  Issue47689-pip-state-perfor‐
295752           mance
295753
295754         · d4083fc9d1   Merge   branch  'Issue47689-pip-state-performance'  of
295755           github.com:OrlandoArcapix/salt  into   Issue47689-pip-state-perfor‐
295756           mance
295757
295758           · 779b5fa785  Merge  branch '2017.7' into Issue47689-pip-state-per‐
295759             formance
295760
295761         · f3653349ab Removed whitespaces at end of added comments lines
295762
295763         · db11f2ff4b Merge branch '2017.7' into  Issue47689-pip-state-perfor‐
295764           mance
295765
295766         · eac0178de2  Ref:  #47689  -  document  additional  kwarg  passed to
295767           pip._check_if_installed function
295768
295769         · 0d19803106 Merge branch '2017.7' into  Issue47689-pip-state-perfor‐
295770           mance
295771
295772         · d3678bf2f3 #47689 fix lint errors
295773
295774         · 4fec8f6bcc  #47698 improve run-speed of pip package state checks by
295775           only loading the current package list once when  checking  multiple
295776           packages
295777
295778       · PR  #48844:  (AVeenstra) Fixed Python 3 incompatibility in methods in
295779         nilrt_ip and debian_ip.  @ 2018-07-31 17:20:27 UTC
295780
295781         · 83a5b3cc47    Merge    pull    request    #48844    from     AVeen‐
295782           stra/fix-python3-incompatibility
295783
295784         · f238779a62 Merge branch '2017.7' into fix-python3-incompatibility
295785
295786         · 6b1805afc6  Fixed  Python  3 incompatibility in methods in nilrt_ip
295787           and debian_ip.
295788
295789       · ISSUE #48637: (slaws) state.file.retention_schedule does  not  ignore
295790         relative directory when using getmtime() (refs: #48662)
295791
295792       · PR  #48662:  (slaws)  Excluding  relative  dirs  in state.file.reten‐
295793         tion_schedule @ 2018-07-31 16:15:09 UTC
295794
295795         · 136ff6735a  Merge  pull  request   #48662   from   slaws/fix-reten‐
295796           tion-schedule-48637
295797
295798         · 3c8f5f5b3d pylint fix
295799
295800         · 5539eff39e Excluding relative dirs in state.file.retention_schedule
295801
295802       · ISSUE #48818: (guettli) Broken Link in Docs (refs: #48840)
295803
295804       · PR  #48840:  (gtmanfred) fix links in pkg doc.  @ 2018-07-31 16:13:00
295805         UTC
295806
295807         · 1fc04f281b Merge pull request #48840 from gtmanfred/docs
295808
295809         · 8d2d268c4a fix links in pkg doc.
295810
295811       · PR #48834: (gtmanfred) read output of stringio if it  is  readable  @
295812         2018-07-31 13:40:48 UTC
295813
295814         · 0a19f845ea Merge pull request #48834 from gtmanfred/slsutil
295815
295816         · f9441d2bef read output of stringio if it is readable
295817
295818       · PR  #48788:  (Ch3LL)  Add  timzeone windows integration tests and fix
295819         get_zone @ 2018-07-27 20:14:30 UTC
295820
295821         · 2e00939a6e Merge pull request #48788 from Ch3LL/timezone_windows
295822
295823         · de95a6a215 add unused import to timezone test file
295824
295825         · 22e424859e add unused import to import
295826
295827         · 0840fc3117 disable pylint import error
295828
295829         · f09d1a2c7e Add timzeon windows integration tests and fix get_zone
295830
295831       · PR #48742: (frogunder) add windows integration tests for  states.file
295832         @ 2018-07-27 13:57:27 UTC
295833
295834         · 8e61f3dce0 Merge pull request #48742 from frogunder/45014
295835
295836         · f08058b043          Merge         branch         '45014'         of
295837           https://github.com/frogunder/salt into 45014
295838
295839           · 757fde70c6 Merge branch '2017.7' into 45014
295840
295841         · 33c20c1ec0 fix tests
295842
295843         · a7a914060d add windows integration tests for states.file
295844
295845       · ISSUE #48417: (samilaine) Contribution Documentation Refers to Incor‐
295846         rect Pylintrc (refs: #48795)
295847
295848       · PR #48795: (rallytime) Update linting docs to contain .testing.pylin‐
295849         trc use @ 2018-07-27 13:34:13 UTC
295850
295851         · d74f47b340 Merge pull request #48795 from rallytime/fix-48417
295852
295853         · 5123b17ffd Update linting docs to contain .testing.pylintrc use
295854
295855       · PR #48789:  (rallytime)  Back-port  #48783  to  2017.7  @  2018-07-26
295856         21:47:49 UTC
295857
295858         · PR  #48783:  (KaiSforza) Only run lint checks against changed files
295859           (refs: #48789)
295860
295861         · PR #48610: (gtmanfred) only run pylint on files that change  (refs:
295862           #48783)
295863
295864         · bbea9ae936 Merge pull request #48789 from rallytime/bp-48783
295865
295866         · 682a05bebe Threshold was wrong
295867
295868         · d4ca0e3a97 test: except for OSError only
295869
295870         · 4547231909 Only run lint checks against changed files
295871
295872       · PR  #48731:  (zer0def)  Fixed enable_vnc runner arg being passed into
295873         seed_cmd module arg in virt.init.  @ 2018-07-26 21:13:59 UTC
295874
295875         · 41464d4b39  Merge  pull  request  #48731   from   zer0def/virt-run‐
295876           ner-init-args
295877
295878         · a1fa081ad0 Documentation to missing parameters in virt.init runner.
295879
295880         · 365ebdf539  Fixed  enable_vnc runner arg being passed into seed_cmd
295881           module arg in virt.init.
295882
295883       · PR #48749: (Ch3LL) Update Saltstack Logo banner on docs.saltstack.com
295884         @ 2018-07-25 13:05:04 UTC
295885
295886         · 169afea16a Merge pull request #48749 from Ch3LL/logo_docs
295887
295888         · 73b1fc29f0 Update Saltstack Logo banner on docs.saltstack.com
295889
295890       · PR  #48743:  (rallytime) Update DOCBANNER with new SaltConf18 image @
295891         2018-07-24 16:46:19 UTC
295892
295893         · 781c6a6c36  Merge  pull   request   #48743   from   rallytime/salt‐
295894           conf-ad-2017.7
295895
295896         · 6df8fd8652 Update DOCBANNER with new SaltConf18 image
295897
295898       · PR  #48720:  (Ch3LL) Fix test_managed_source_hash_indifferent_case on
295899         macosx to correct tmp path @ 2018-07-23 22:32:56 UTC
295900
295901         · ce4e22224e Merge pull request #48720 from Ch3LL/mac_file_path
295902
295903         · 01d25fae19 Fix test_managed_source_hash_indifferent_case on  macosx
295904           to correct tmp path
295905
295906       · PR  #48719:  (Ch3LL)  Enable service if disabled before running state
295907         service tests @ 2018-07-23 21:01:14 UTC
295908
295909         · 4b9f037d43 Merge pull request #48719 from Ch3LL/service_mac_state
295910
295911         · f44a2fc349 Enable service if disabled before running state  service
295912           tests
295913
295914       · PR  #48715:  (rallytime)  [2017.7] Mark some tornado tests as flaky @
295915         2018-07-23 17:27:13 UTC
295916
295917         · b2431eab10 Merge pull request #48715 from rallytime/flaky-tests
295918
295919         · 7332cce567 [2017.7] Mark some tornado tests as flaky
295920
295921       · PR #48672: (frogunder) add service enabled test @ 2018-07-23 15:38:49
295922         UTC
295923
295924         · 801eae3b8d Merge pull request #48672 from frogunder/45012
295925
295926         · 0747f2e58a add service enabled test
295927
295928       · PR  #48691:  (Ch3LL)  Add  windows  pkg  module  integration  tests @
295929         2018-07-22 20:01:30 UTC
295930
295931         · 689c231d2b Merge pull request #48691 from Ch3LL/win_repo_pkg_test
295932
295933         · 4b7d6d80c5 Remove unnecessary jinja in curl.sls file
295934
295935         · 2bedadfadb Add windows pkg module integration tests
295936
295937       · ISSUE #48627: (nbraud) acme module's  group  parameter  is  non-func‐
295938         tional (refs: #48635)
295939
295940       · ISSUE  #48626:  (nbraud) acme module fails to set file permissions if
295941         the certificate is already present (refs: #48635)
295942
295943       · PR #48635: (nbraud) Bug fixes in the acme module & state @ 2018-07-22
295944         19:53:49 UTC
295945
295946         · 83e4bba916 Merge pull request #48635 from nbraud/acme
295947
295948         · 3673bae9de modules/acme: explicitely ignore the perms return value
295949
295950         · 1800a231e8 Fixup some schema expectations
295951
295952         · 8c718cb417 acme: Make the private key mode configurable
295953
295954         · 917dea6761 modules/acme: Use file.check_perms ret-morphing powers
295955
295956         · d2241ceb2d  module/acme:  Do  not  exit  early when the certificate
295957           already exists
295958
295959         · 98af0db826 modules/acme: Set the private key filemode to 0640
295960
295961       · PR #48345: (twangboy) Fix behavior of powercfg  module  and  state  @
295962         2018-07-20 17:37:13 UTC
295963
295964         · 85991680c8 Merge pull request #48345 from twangboy/fix_48169
295965
295966         · ead19725b6 Merge branch '2017.7' into fix_48169
295967
295968         · 653fbcb383 Fix some docs errata
295969
295970         · 8898e5ff11 Add warn_until Fluorine
295971
295972         · 707906ac15 Fix unit.state.test_powercfg
295973
295974         · 32c5014eb6 Fix unit tests
295975
295976         · 0d9c56e540 Add some more logging
295977
295978         · b20453de9f Use minutes to set
295979
295980         · 7dc7eb11c2 Fix documentation to denote seconds when setting
295981
295982       · PR  #48656:  (Ch3LL)  Add  windows  ip  module  integration  tests  @
295983         2018-07-20 14:57:45 UTC
295984
295985         · 96447ce541 Merge pull request #48656 from Ch3LL/windows_ip_mod
295986
295987         · 90c3f568b1 Add windows ip module integration tests
295988
295989       · PR #48638: (twangboy) Remove  vcredist  2015  from  Py3  installer  @
295990         2018-07-20 14:56:40 UTC
295991
295992         · 0c5fff3dc8 Merge pull request #48638 from twangboy/fix_vcredist
295993
295994         · e30d17099d Use goto instead of if statement
295995
295996         · e1042fa084 Remove vcredist for Py3
295997
295998       · PR  #48664:  (Ch3LL)  [2017.7] Fix service.disabled test for macosx @
295999         2018-07-20 14:32:56 UTC
296000
296001         · 1ebd96d909 Merge pull request #48664 from Ch3LL/srv_disable_mac
296002
296003         · f1fbfad387 move the disable call up in try block
296004
296005         · f60d21bda4 reverse assertion order for service disable test
296006
296007         · 3727d1b3b9 switch try/except to match 2018.3
296008
296009         · fb953c2369 [2017.7] Fix service.disabled test for macosx
296010
296011       · PR #48625: (Ch3LL) Follow up to PR #48555 @ 2018-07-20 14:27:55 UTC
296012
296013         · PR #48555: (Ch3LL) Fix  state.sls_id  not  running  on  ssh  minion
296014           (refs: #48625)
296015
296016         · 3da3cf2f3f Merge pull request #48625 from Ch3LL/ssh_state
296017
296018         · f590eb2b02 Update state.py
296019
296020         · 9790ee3d0d Follow up to PR #48555
296021
296022       · PR  #48673:  (Ch3LL)  Use different pub and ret ports for testprogram
296023         integration tests @ 2018-07-20 14:11:51 UTC
296024
296025         · 33812f78f1 Merge pull request #48673 from Ch3LL/mac_port
296026
296027         · 87dd85a220 Use different pub and ret ports for testprogram integra‐
296028           tion tests
296029
296030       · PR  #48675:  (Ch3LL)  Fix  mac  service.disable  tests  @  2018-07-20
296031         14:09:41 UTC
296032
296033         · 5f6a7c4d89 Merge pull request #48675 from Ch3LL/mac_disable
296034
296035         · c78efab828 Fix mac service.disable tests
296036
296037       · ISSUE #43138: (F30) npm.installed mistakenly throws error  for  pack‐
296038         ages which are "installed via remote" (refs: #48492, #48658)
296039
296040       · PR  #48658:  (wyardley)  Improve  handling  of json output (#43138) @
296041         2018-07-20 14:08:34 UTC
296042
296043         · PR #48492: (wyardley) Improve identifying json out in npm module (‐
296044           #43138) (refs: #48658)
296045
296046         · 93d2f51d2b   Merge   pull   request   #48658  from  wyardley/wyard‐
296047           ley-npm-json-output-2017
296048
296049         · 7ff3c9c5ff Improve handling of npm json output (#43138)
296050
296051       · ISSUE #48677: (OrlandoArcapix) npm.bootstrap  does  not  return  True
296052         (clean) with test=true and no changes (refs: #48678)
296053
296054       · PR  #48678:  (OrlandoArcapix)  Fix  for  issue  #48677 - return clean
296055         npm.bootstrap on no changes @ 2018-07-20 14:07:22 UTC
296056
296057         · 3e293b0513   Merge   pull   request    #48678    from    OrlandoAr‐
296058           capix/fix-npm-dryrun-test
296059
296060         · 851a404f6b  Fix  for issue #48677 - return True when no changes are
296061           to be made with npm.bootstrap with test=true
296062
296063       · ISSUE #46884:  (alexandergraul)  salt.utils.rsax931._init_libcrypto()
296064         fails to initialize libopenssl1_1-1.1.0h (refs: #48580)
296065
296066       · PR    #48580:    (rallytime)    Don't   error   on   retcode   0   in
296067         libcrypto.OPENSSL_init_crypto call @ 2018-07-19 19:21:13 UTC
296068
296069         · PR #37772: (bdrung) Support initializing OpenSSL 1.1 (refs: #48580)
296070
296071         · 07a1f6520f Merge pull request #48580 from rallytime/fix-46884
296072
296073         · 736b382e91     Don't      error      on      retcode      0      in
296074           libcrypto.OPENSSL_init_crypto call
296075
296076       · PR  #48628:  (terminalmage)  Fix  NameError  in  testinfra  module  @
296077         2018-07-18 21:34:03 UTC
296078
296079         · 9874429741 Merge pull request #48628 from terminalmage/testinfra
296080
296081         · 5ace9f01ec Fix NameError in testinfra module
296082
296083       · PR  #48651:  (gtmanfred)  [2017.7]  handle  pyzmq  for  python3.4   @
296084         2018-07-18 17:34:41 UTC
296085
296086         · 0d4c80205f Merge pull request #48651 from gtmanfred/pylint-2017.7
296087
296088         · b6ee52f859 handle pyzmq for python3.4
296089
296090       · PR #48647: (gtmanfred) [2017.7] disable checks on pylint @ 2018-07-18
296091         16:21:22 UTC
296092
296093         · 160ae29cf2 Merge pull request #48647 from gtmanfred/pylint-2017.7
296094
296095         · ff818c4ca2 disable checks on pylint
296096
296097       · ISSUE #46924: (chschmitt) Stale custom roster from  __pycache__  exe‐
296098         cuted instead of changed .py file (refs: #48593)
296099
296100       · PR #48593: (pritambaral) Fix importlib pyc loading order @ 2018-07-17
296101         21:06:28 UTC
296102
296103         · 47b1032efa    Merge    pull    request    #48593    from    pritam‐
296104           baral/fix/2017.7-importlib-pyc-loading-order
296105
296106         · add7894dee loader: Fix suffix order when importlib is used
296107
296108       · PR  #48630:  (dubb-b)  Adding  options  to  Jenkins  pipline builds @
296109         2018-07-17 20:16:23 UTC
296110
296111         · 9da7b2ec8d Merge pull request #48630 from dubb-b/pipeline-updates
296112
296113         · 8594a8dd05 Adding PY_COLORS=1 as PY_COLORS = 1 instead
296114
296115         · 314b0e3599 Adding PY_COLORS=1 for python programs to use ANSI  Col‐
296116           ors
296117
296118         · b705e8f7a5 Adding correct spacing to options section
296119
296120         · 9d8a7e07db Adding options to Jenkins pipline builds
296121
296122         · PR  saltstack/salt#48610: (gtmanfred) only run pylint on files that
296123           change (refs: #48633)
296124
296125       · PR #48633: (gtmanfred) Revert "only run pylint on files that  change"
296126         @ 2018-07-17 18:44:03 UTC
296127
296128         · a8ae2adf64     Merge     pull    request    #48633    from    salt‐
296129           stack/revert-48610-2017.7
296130
296131         · bab4a769d4 Revert "only run pylint on files that change"
296132
296133       · PR #48614:  (rallytime)  Back-port  #48562  to  2017.7  @  2018-07-17
296134         15:04:04 UTC
296135
296136         · PR #48562: (basepi) Add timeouts to all s3 queries (refs: #48614)
296137
296138         · 6e32bb7f74 Merge pull request #48614 from rallytime/bp-48562
296139
296140         · cb654bbf2c Add timeouts to all s3 queries
296141
296142       · ISSUE #48415: (doesitblend) Event.send short-circuiting in multi-mas‐
296143         ter mode (refs: #48588)
296144
296145       · PR #48588: (garethgreenaway)  [2017.7]  event  send  multi  master  @
296146         2018-07-17 10:31:20 UTC
296147
296148         · 1b6e6388f8    Merge   pull   request   #48588   from   garethgreen‐
296149           away/48415_event_send_multi_master
296150
296151         · fab25af1a9 Adding some quick documention about why we  are  setting
296152           ret=True following the channel.send.
296153
296154         · bf78f4b188  If  the channel send is sucessful and does not raise an
296155           exception, we set ret to True, in case a previous exception from  a
296156           previous channel send to another master has sent it to False.
296157
296158         · 8d1551c5fb When using Salt multi-master, if we encouter a salt mas‐
296159           ter that has not accepted the minion key yet  we  should  not  exit
296160           right  away, rather continue on and try the next salt master avail‐
296161           able in the list.
296162
296163       · PR #48610: (gtmanfred) only run pylint on files  that  change  (refs:
296164         #48783) @ 2018-07-17 01:36:50 UTC
296165
296166         · 24ffda49ba Merge pull request #48610 from gtmanfred/2017.7
296167
296168         · 779d1a3dcb only run pylint on files that change
296169
296170       · PR  #48584:  (Ch3LL)  Fix grp import for mac in test_user integration
296171         test @ 2018-07-16 19:28:13 UTC
296172
296173         · 5391dd0a8d Merge pull request #48584 from Ch3LL/mac_user_grp
296174
296175         · 585ee9db90 Fix grp import for mac in test_user integration test
296176
296177       · PR #48555: (Ch3LL) Fix state.sls_id not running on ssh minion  (refs:
296178         #48625) @ 2018-07-16 13:24:41 UTC
296179
296180         · 61572b6780 Merge pull request #48555 from Ch3LL/ssh_id
296181
296182         · f69932f506 fix pylint
296183
296184         · 70e36764ee Add more tests for salt-ssh state.sls_id
296185
296186         · dab80e805c Fix state.sls_id to run on ssh minion and not master
296187
296188       · PR #48583: (Ch3LL) Add flaky decorator to mac_system and mac_timezone
296189         tests @ 2018-07-13 19:56:40 UTC
296190
296191         · aa6dcf39e8 Merge pull request #48583 from Ch3LL/mac_flaky_tests
296192
296193         · 4ba2299a87 import flaky decorator on mac tests
296194
296195         · 811220b41e Add flaky decorator to mac_system and mac_timezone tests
296196
296197       · PR #48534: (xetix) Fix behaviour of function latest_version in zypper
296198         module when multip… @ 2018-07-13 19:56:05 UTC
296199
296200         · 6973152057  Merge  pull  request  #48534 from xetix/fix-zypper-lat‐
296201           est_version
296202
296203         · 9985f0b4c1 Lint: remove extra blank line
296204
296205         · 5fbead8a36 Merge branch '2017.7' into fix-zypper-latest_version
296206
296207         · 56ac449271    Merge    branch    'fix-zypper-latest_version'     of
296208           https://github.com/xetix/salt into fix-zypper-latest_version
296209
296210           · 44e87f5a0f Adding testcase for this fix.
296211
296212           · b354c6863c  Fix  behaviour  of  function latest_version in zypper
296213             module when multiple packages are passed  to  function.  Function
296214             now  properly  return dict with empty string as version if latest
296215             packages is already installed, and multiple packages  are  passed
296216             to function
296217
296218         · db35d0c1e1 Adding testcase for this fix.
296219
296220         · d2513757ed  Fix behaviour of function latest_version in zypper mod‐
296221           ule when multiple packages are passed  to  function.  Function  now
296222           properly  return  dict with empty string as version if latest pack‐
296223           ages is already installed, and  multiple  packages  are  passed  to
296224           function
296225
296226       · PR  #48582: (dwoz) Finally fix prepend for real @ 2018-07-13 18:45:35
296227         UTC
296228
296229         · 10124034cb Merge pull request #48582 from dwoz/test_prepend_fix
296230
296231         · f37571e0bd Merge branch '2017.7' into test_prepend_fix
296232
296233       · PR #48564: (dwoz) Fix failing prepend test @ 2018-07-13 14:12:47 UTC
296234
296235         · 13f67335f3 Merge pull request #48564 from dwoz/test_prepend_fix
296236
296237           · 136ddf5f54 Finally fix prepend for real
296238
296239         · 66b25e65bf Fix failing prepend test
296240
296241       · PR #48558: (dwoz) Remove  which  mock  to  get  the  test  passing  @
296242         2018-07-12 19:04:12 UTC
296243
296244         · b8ce27729f Merge pull request #48558 from dwoz/test_file_fix
296245
296246         · c858bf477f Remove which mock to get the test passing
296247
296248       · PR  #48552: (KaiSforza) Set up junit in jenkins @ 2018-07-12 16:23:33
296249         UTC
296250
296251         · a15c65202d  Merge  pull   request   #48552   from   KaiSforza/jenk‐
296252           ins-junit-2017
296253
296254         · 72b1830974 Set up junit in jenkins
296255
296256       · PR  #48550:  (gtmanfred)  add  posargs  to  tox  pylint  @ 2018-07-12
296257         14:34:25 UTC
296258
296259         · f73108026e Merge pull request #48550 from gtmanfred/2017.7
296260
296261         · d5c603d9b6 add posargs to tox pylint
296262
296263       · PR #48535: (asnell) Update manage_file helptext @ 2018-07-12 13:34:47
296264         UTC
296265
296266         · 113b0426f8 Merge pull request #48535 from asnell/asnell-patch-2
296267
296268         · d328f6e43d Update manage_file helptext
296269
296270         · PR   saltstack/salt#48525:   (gtmanfred)   add  kazoo  for  testing
296271           zookeeper. (refs: #48527)
296272
296273       · PR #48527: (gtmanfred) Revert "add kazoo for testing  zookeeper."   @
296274         2018-07-11 17:29:16 UTC
296275
296276         · 0c0c05c2bc     Merge     pull    request    #48527    from    salt‐
296277           stack/revert-48525-2017.7
296278
296279         · 18d06c1a93 Revert "add kazoo for testing zookeeper."
296280
296281       · PR #48526:  (twangboy)  Rollback  python-certifi-win32  @  2018-07-11
296282         17:26:56 UTC
296283
296284         · 05bad3e71c  Merge  pull  request #48526 from twangboy/rollback_cer‐
296285           tifi-win32
296286
296287         · 361b3cdc2f Rollback python-certifi-win32
296288
296289       · PR #48521:  (Martin819)  Back-port  #48222  to  2017.7  @  2018-07-11
296290         16:42:51 UTC
296291
296292         · PR  #48222:  (Martin819)  Fix  GlusterFS module for version 4.0 and
296293           above (refs: #48521)
296294
296295         · db066effe4 Merge pull request #48521 from Martin819/2017.7
296296
296297         · d5d01f6698 Fix for GlusterFS 4.0 and above
296298
296299       · PR #48525: (gtmanfred) add kazoo for testing zookeeper.  @ 2018-07-11
296300         16:09:40 UTC
296301
296302         · ed0bd2bbec Merge pull request #48525 from gtmanfred/2017.7
296303
296304         · d7a6bff2b2 add kazoo for testing zookeeper.
296305
296306       · ISSUE  #48277:  (dvenckus)  init.sls  with included states fails with
296307         more than one, 'Template was  specified  incorrectly:  False'  (refs:
296308         #48388)
296309
296310       · ISSUE  #46986:  (github-abcde)  opts file_roots gets overwritten with
296311         pillar_roots in orchestration run (refs: #48388)
296312
296313       · PR #48388: (garethgreenaway) [2017.7] reset file_roots for  renderers
296314         after compile_pillar @ 2018-07-11 13:13:45 UTC
296315
296316         · ad5a959ab9    Merge   pull   request   #48388   from   garethgreen‐
296317           away/48277_2017_7_file_roots_wrong
296318
296319         · 6f11da35a7 Fixing a few things in the new test.
296320
296321         · cf747b14ec Fixing lint issue
296322
296323         · 16d36c79c8 When pillar items are compiled a new render is instanti‐
296324           ated  but  the  file_roots is the pillar_roots.  This change forces
296325           the  __opts__['file_roots']  to  be  set  to   what   is   set   in
296326           actual_file_roots  for  all  renderers once compile_pillar has fin‐
296327           ished.  Adding a test when this situation is run via  a  orchestra‐
296328           tion runner.
296329
296330       · PR  #48512:  (gtmanfred)  pin  pm  and grunt packages for npm tests @
296331         2018-07-11 13:06:06 UTC
296332
296333         · 38df812257 Merge pull request #48512 from gtmanfred/npm
296334
296335         · 9ba0f6b3a0 pin pm and grunt packages for npm tests
296336
296337       · PR #48513: (rallytime) [2017.7] Merge forward from 2017.7.7 to 2017.7
296338         @ 2018-07-11 13:04:01 UTC
296339
296340         · 04ba31147f Merge pull request #48513 from rallytime/merge-2017.7
296341
296342         · a466a4880f Merge branch '2017.7.7' into '2017.7'
296343
296344       · PR  #48514:  (gtmanfred)  upgrade  dependencies  for  pytest  tests @
296345         2018-07-10 20:53:55 UTC
296346
296347         · f0352ea95a Merge pull request #48514 from gtmanfred/2017.7
296348
296349         · 739bf92599 upgrade dependencies for pytest tests
296350
296351       · PR #48491: (grokrecursion) Group gid fixed as  integer  @  2018-07-10
296352         19:31:40 UTC
296353
296354         · 5372b60137    Merge    pull    request   #48491   from   grokrecur‐
296355           sion/group-fix-v2
296356
296357         · 1556b37221 fixed pylint errors
296358
296359         · f6d9177dab fixed indentation for pep8
296360
296361         · b9556bf923 v2 try of gid converted to integer
296362
296363       · PR #48375: (Ch3LL) Add user and group to makedirs cmd in file.copy  @
296364         2018-07-10 12:35:10 UTC
296365
296366         · 16d3daab3c Merge pull request #48375 from Ch3LL/file_copy
296367
296368         · d16a790775 Add mode to _makedirs call in file.copy
296369
296370         · 2cbcb4fd26 Add user and group to makedirs cmd in file.copy
296371
296372       · PR #48490: (KaiSforza) Cifixes @ 2018-07-09 15:20:46 UTC
296373
296374         · d38951b1b3 Merge pull request #48490 from KaiSforza/cifixes
296375
296376         · 9fe7199af5 Mark failed if anything is found
296377
296378         · 6749a6bf19 Stop archiving the docs
296379
296380       · PR  #48472:  (gtmanfred)  use tox to run pylint @ 2018-07-07 02:46:46
296381         UTC
296382
296383         · 22cd4206c4 Merge pull request #48472 from gtmanfred/2017.7
296384
296385         · c7a3a7d8bd update jenkins tests to use tox for lint
296386
296387         · 44aaac1d33 use tox to run pylint
296388
296389       · PR #48476: (twangboy) Fix dependencies @ 2018-07-06 23:43:26 UTC
296390
296391         · 27ea8f35ea Merge pull request #48476 from twangboy/fix_dependencies
296392
296393         · b0087d425c Add license info
296394
296395         · 935f9b560c Fix dependencies
296396
296397       · ISSUE #48336: (JuanManuelVizcainoAbad) file.directory (refs: #48399)
296398
296399       · PR #48399:  (garethgreenaway)  [2017.7]  fixes  to  module/file.py  @
296400         2018-07-06 18:02:29 UTC
296401
296402         · acf42864aa    Merge   pull   request   #48399   from   garethgreen‐
296403           away/48336_2017_7_ensure_chmod_setuid_with_chown
296404
296405         · 8efd33320f Normalize the mode before we compare it.
296406
296407         · f894f0ecb8 Setting the mode with setuid or setgid bits in  addition
296408           to  setting the owner and group will force the setuid & setgid bits
296409           to reset.  This change ensures that we set the mode  after  setting
296410           the owner & group.
296411
296412       · PR  #48471:  (gtmanfred)  Add some configurations to tox @ 2018-07-06
296413         17:45:55 UTC
296414
296415         · 6166ff6b78 Merge pull request #48471 from gtmanfred/2017.7
296416
296417         · 392ab4e51f Add some configurations to tox
296418
296419       · PR #48433: (discogestalt) Fix  issue  with  redismod.hmset  method  @
296420         2018-07-06 15:55:44 UTC
296421
296422         · 6234d9b15d     Merge    pull    request    #48433    from    disco‐
296423           gestalt/fix-redis.hmset
296424
296425         · 65817ac74d Use clean_kwargs method instead
296426
296427         · f7fa7f57c6 Found another issue with redismod.hmset
296428
296429         · 5624865f86 Fix issue with redismod.hmset method
296430
296431       · PR #48428: (terminalmage) Fix outputter detection in  jobs.lookup_jid
296432         runner @ 2018-07-06 14:37:37 UTC
296433
296434         · aacee0fe2c    Merge    pull    request    #48428   from   terminal‐
296435           mage/fix-jobs.lookup_jid
296436
296437         · 6509aa9089 Fix outputter detection in jobs.lookup_jid runner
296438
296439       · PR #48429:  (rallytime)  Back-port  #46824  to  2017.7  @  2018-07-03
296440         21:45:36 UTC
296441
296442         · PR  #46824: (beornf) Regression to ignore retcodes on crontab calls
296443           (refs: #48429)
296444
296445         · a7e52f0de2 Merge pull request #48429 from rallytime/bp-46824
296446
296447         · 8b4486248d Added ignore_retcode to mock unit tests
296448
296449         · f8beab71dd Regression to ignore retcodes on crontab calls
296450
296451       · PR #48432: (dwoz) Prepend test needs file.touch method  @  2018-07-03
296452         21:32:48 UTC
296453
296454         · 4576ef20bc Merge pull request #48432 from dwoz/file-prepend-again
296455
296456         · 349a2b279e Prepend test needs file.touch method
296457
296458       · ISSUE #48230: (whytewolf) file.managed source_hash case-sensitive for
296459         test=true (refs: #48422)
296460
296461       · ISSUE #38914: (hgfischer) Uppercase checksums are not accepted by ar‐
296462         chive.extracted (refs: #40754, #48422)
296463
296464       · PR  #48422:  (rallytime)  Allow  file.managed  to work with uppercase
296465         source_hash in test=true mode @ 2018-07-03 16:40:59 UTC
296466
296467         · PR #40754: (lordcirth) file.manage_file:  uppercase  checksums  now
296468           work (refs: #48422)
296469
296470         · 422441505d Merge pull request #48422 from rallytime/fix-48230
296471
296472         · a6abf85621 Allow file.managed to work with uppercase source_hash in
296473           test=true mode
296474
296475         · 4c691ac57a Add regression test for Issue #48230
296476
296477       · PR #48410: (dwoz) Fix service  dead  test  on  windows  @  2018-07-03
296478         14:17:29 UTC
296479
296480         · 83e387c951    Merge    pull    request    #48410   from   dwoz/ser‐
296481           vice_dead_test_fix
296482
296483         · 5c0923448d Fix service dead test on windows
296484
296485       · PR #48413: (twangboy) Fix archive.extracted to  handle  UNC  paths  @
296486         2018-07-03 14:14:46 UTC
296487
296488         · d3ba345da5 Merge pull request #48413 from twangboy/fix_47811
296489
296490         · c5aad04140 handle unc paths
296491
296492       · PR  #48416:  (dwoz)  Fix  service integration test (py3) @ 2018-07-03
296493         14:08:45 UTC
296494
296495         · 827ef2aac4 Merge pull  request  #48416  from  dwoz/service_integra‐
296496           tion_fix
296497
296498         · c43f150dcd Fix service integration test (py3)
296499
296500       · PR  #48385:  (Ch3LL)  Update release versions for the 2017.7 branch @
296501         2018-07-03 13:39:29 UTC
296502
296503         · 10fe7d2b9b  Merge  pull  request  #48385  from   Ch3LL/1update_ver‐
296504           sion_doc_2017.7
296505
296506         · 3cf335b0b9 Update release versions for the 2017.7 branch
296507
296508       · PR  #48405: (Ch3LL) [2017.7] Remove In Progress Warning on 2017.7.7 @
296509         2018-07-03 13:32:10 UTC
296510
296511         · f8a9a037e6 Merge pull request #48405 from Ch3LL/rm_inprog_2017.7
296512
296513         · 03ed5167fa [2017.7] Remove In Progress Warning on 2017.7.7
296514
296515       · PR #48409: (dwoz) Fix file state prepend test @  2018-07-02  23:21:08
296516         UTC
296517
296518         · 8ac867c168 Merge pull request #48409 from dwoz/test_prepend_fix
296519
296520         · 9c7085b70f Fix file state prepend test
296521
296522       · PR   #48396:  (dwoz)  Fix  file.symlink  state  test  for  windows  @
296523         2018-07-02 18:10:32 UTC
296524
296525         · 10e93bff7f Merge pull request #48396 from dwoz/symlink_test_fix
296526
296527         · d3456d31e6 Fix file.symlink state test for windows
296528
296529       · PR #48362: (twangboy) Fix stacktrace when registry entries are  miss‐
296530         ing @ 2018-06-30 13:20:01 UTC
296531
296532         · 7e25f26837 Merge pull request #48362 from twangboy/fix_48276
296533
296534         · 77629f640a Fix module unit tests
296535
296536         · b5ca560b73 Fix lint error
296537
296538         · 210e280ecf Use explicit parameter names
296539
296540         · 776db98a5c Handle missing registry entries
296541
296542       · PR  #48383:  (rallytime)  Back-port  #48379  to  2017.7  @ 2018-06-29
296543         19:48:38 UTC
296544
296545         · PR #48379: (KaiSforza) Clean up the workspaces at the end for every
296546           job (refs: #48383)
296547
296548         · 80222b6b7c Merge pull request #48383 from rallytime/bp-48379
296549
296550         · 9fc7815594 Clean up the workspaces at the end for every job
296551
296552       · PR  #48382:  (rallytime)  Back-port  #48346  to  2017.7  @ 2018-06-29
296553         19:45:12 UTC
296554
296555         · PR #48346: (KaiSforza) Use the right ssh  key  to  destroy  kitchen
296556           (refs: #48382)
296557
296558         · aa68aa774a Merge pull request #48382 from rallytime/bp-48346
296559
296560         · 6a70ba222e Use the right ssh key to destroy kitchen
296561
296562       · PR  #48381:  (rallytime)  Back-port  #48330  to  2017.7  @ 2018-06-29
296563         19:43:46 UTC
296564
296565         · PR #48330: (KaiSforza) Add warnings plugin  to  replace  violations
296566           (refs: #48381)
296567
296568         · 9519f640e7 Merge pull request #48381 from rallytime/bp-48330
296569
296570         · 6857bedcc2 Add warnings plugin to replace violations
296571
296572       · PR  #48363:  (dubb-b) Changing debug to info for logging @ 2018-06-28
296573         20:45:17 UTC
296574
296575         · 14db0aa35d Merge pull request #48363 from dubb-b/2017.7
296576
296577         · c0b962e28d Changing debug to info for logging
296578
296579       · PR #48352: (Ch3LL) Add missing key to accept_dict function  in  wheel
296580         docs @ 2018-06-28 13:54:37 UTC
296581
296582         · 5b29cd326f Merge pull request #48352 from Ch3LL/wheel_doc
296583
296584         · 89ada68165 Add missing key to accept_dict function in wheel docs
296585
296586       · PR  #48329: (rallytime) Trigger review requests for team-ssh for ros‐
296587         ter files @ 2018-06-28 13:53:42 UTC
296588
296589         · 02cf19ee3b Merge pull request #48329 from rallytime/codeowners-ros‐
296590           ter-files
296591
296592         · 5e56615e00 Trigger review requests for team-ssh for roster files
296593
296594       · ISSUE  #48316: (ralex) Wrong init system used in virtual module "ser‐
296595         vice" on Manjaro (refs: #48349)
296596
296597       · PR #48349: (ralex) Disable the "service" module on Manjaro  since  it
296598         is using systemd @ 2018-06-28 13:32:37 UTC
296599
296600         · 53cf1794be  Merge  pull  request #48349 from ralex/fix-manjaro-ser‐
296601           vice-behaviour
296602
296603         · 6cafce547e Disable the service module on Manjaro since it is  using
296604           systemd
296605
296606       · PR  #48324:  (Ch3LL)  Update release versions for the 2017.7 branch @
296607         2018-06-27 13:44:22 UTC
296608
296609         · 89dfcf3a4e  Merge  pull  request  #48324   from   Ch3LL/update_ver‐
296610           sion_doc_2017.7
296611
296612         · 47845ba810 Update release versions for the 2017.7 branch
296613
296614       · PR  #48331:  (rallytime)  Back-port  #48215  to  2017.7  @ 2018-06-27
296615         13:12:35 UTC
296616
296617         · PR #48215: (KaiSforza) Notify during tests using different  creden‐
296618           tials (refs: #48331)
296619
296620         · ece4c30aac Merge pull request #48331 from rallytime/bp-48215
296621
296622         · 9d6ba3e247 Set jobs to pending when they come in
296623
296624         · 727d2b4ffe Use proper creds with githubNotify
296625
296626         · d355861c5c Test using different credentials
296627
296628       · PR  #48332:  (rallytime)  Back-port  #48321  to  2017.7  @ 2018-06-27
296629         13:12:15 UTC
296630
296631         · PR #48321: (KaiSforza) Jenkins needs the /  to  get  the  directory
296632           (refs: #48332)
296633
296634         · ab05e00d8c Merge pull request #48332 from rallytime/bp-48321
296635
296636         · d72af6ab4e Jenkins needs the / to get the directory
296637
296638       · ISSUE  #42659:  (szin2012)  rest_tornado is not able to return normal
296639         result  (refs: #48193, #48295)
296640
296641       · PR #48295:  (rallytime)  Back-port  #48193  to  2017.7  @  2018-06-26
296642         23:42:18 UTC
296643
296644         · PR  #48193: (jacksontj) Properly wait on returns in saltnado (refs:
296645           #48295)
296646
296647         · 21ed5b97ce Merge pull request #48295 from rallytime/bp-48193
296648
296649         · 352fe33fd6 Separate set_result() to a new line apart from  Future()
296650           call
296651
296652         · c0180ff33d Properly configure syndic in test case
296653
296654         · d0a98534a9 Properly wait on returns in saltnado
296655
296656       · PR  #48117:  (twangboy)  service.disabled  on  Windows  @  2018-06-26
296657         23:35:59 UTC
296658
296659         · 9aa4687ab9 Merge pull request #48117 from twangboy/fix_48026
296660
296661         · dd37f8fbc2 Disable services that are set to manual
296662
296663       · ISSUE #48122: (pasmon) Salt minion 2017.7.6 disregards  "bin_env"  in
296664         pip state (refs: #48189)
296665
296666       · PR  #48207:  (rallytime)  Back-port  #48189  to  2017.7  @ 2018-06-25
296667         19:26:56 UTC
296668
296669         · PR #48189: (gtmanfred) If pip binary is passed to bin_env, use that
296670           pip binary (refs: #48207)
296671
296672         · caf630487c Merge pull request #48207 from rallytime/bp-48189
296673
296674         · e9d09e0375 Use old is_windows utils path on 2017.7
296675
296676         · b965d6c9b3 If pip binary is passed to bin_env, use that pip binary
296677
296678       · ISSUE  #45383:  (jodok)  RabbitMQ  commands  fail due to wrong locale
296679         (refs: #47453)
296680
296681       · PR #48293:  (rallytime)  Back-port  #47453  to  2017.7  @  2018-06-25
296682         19:06:42 UTC
296683
296684         · PR  #47453:  (dqminh) dont reset system locale when running rabbit‐
296685           mqctl commands (refs: #48293)
296686
296687         · 06a927b2aa Merge pull request #48293 from rallytime/bp-47453
296688
296689         · e96ab6778e dont reset system locale when running  rabbitmqctl  com‐
296690           mands
296691
296692       · PR  #48219:  (zer0def)  Fix:  LXC  legacy  configuration key warnings
296693         falsely report errors during state change @ 2018-06-25 13:46:07 UTC
296694
296695         · 95ef006e00  Merge  pull  request  #48219   from   zer0def/lxc-boot‐
296696           strap-fixes
296697
296698         · c77058560b Merge branch '2017.7' into lxc-bootstrap-fixes
296699
296700         · d63cf3f072  Fixes  another  case  of legacy configuration key usage
296701           warning getting in the way of changing container's state.
296702
296703       · ISSUE #46507: (nkv16786) Failed to return clean data (refs: #48234)
296704
296705       · PR #48234: (dwoz) Fix py2 thin dir issues @ 2018-06-25 13:33:02 UTC
296706
296707         · 3327181507 Merge pull request #48234 from dwoz/thin_dir
296708
296709         · 70c603451b Fix py2 thin dir issues
296710
296711       · ISSUE #47984: (jeduardo) x509 module/state writing wrong  certificate
296712         serial number to CRL  (refs: #48080)
296713
296714       · PR  #48080: (lusche) Bugfix #47984 messed up cert serial @ 2018-06-22
296715         18:00:14 UTC
296716
296717         · 83d7d286c4 Merge pull request #48080 from lusche/2017.7
296718
296719         · 917dc985fc #47984 remove the line completly
296720
296721         · ba12ee947b         Merge         branch         '2017.7'         of
296722           https://github.com/saltstack/salt into 2017.7
296723
296724         · dfb13d5051 Bugfix #47984 messed up cert serial
296725
296726       · PR  #48232:  (gtmanfred)  do  not  expand  kwargs  for cloud.action @
296727         2018-06-22 15:49:21 UTC
296728
296729         · bccb4dcd46 Merge pull request #48232 from gtmanfred/cloud
296730
296731         · d108112e1a do not expand kwargs for cloud.action
296732
296733       · PR #48238: (mirceaulinic) SDB cache module:  AttributeError:  'Cache'
296734         object has no attribute 'set' @ 2018-06-22 15:37:22 UTC
296735
296736         · 056f43f663       Merge      pull      request      #48238      from
296737           mirceaulinic/fix-sdb-cache
296738
296739         · 51e5fbfa1d SDB cache module: AttributeError: 'Cache' object has  no
296740           attribute 'set'
296741
296742       · ISSUE #48025: (onmeac) Autoloading Utility Modules? (refs: #48037)
296743
296744       · PR    #48037:    (terminalmage)    Add    "sync_mods"   argument   to
296745         state.apply/state.sls @ 2018-06-21 19:57:03 UTC
296746
296747         · 731ec0a11a Merge pull  request  #48037  from  terminalmage/fix-cus‐
296748           tom-types-sync-docs
296749
296750         · 052ae83c4b Update versionchanged
296751
296752         · 8b1bd0eda2 Update test to reflect changed argument name
296753
296754         · 5e75936198 Change 2018.3.2 to 2018.3.3
296755
296756         · c53ad603fc Rename sync -> sync_mods per review suggestion
296757
296758         · e4d67c5fd8 Update docs to include references to new "sync" argument
296759
296760         · cb8e6f9fb8 Remove redundant mocking
296761
296762         · bc3ad795e9 Add test for sync argument to state.sls
296763
296764         · f81ccd1fdd Add sync option to state.apply/state.sls
296765
296766         · 8289b07e24 Fix documentation on when custom types are synced
296767
296768       · PR #48249: (rallytime) Update release notes for 2017.7.7 @ 2018-06-21
296769         18:30:39 UTC
296770
296771         · 0bae927048    Merge    pull    request    #48249    from     rally‐
296772           time/2017.7.7-release-notes-update
296773
296774         · 36032c8ee7 Update release notes for 2017.7.7
296775
296776       · PR  #48242:  (asnell)  Add sample list data via command line pillar @
296777         2018-06-21 18:27:41 UTC
296778
296779         · 8e06471817 Merge pull request #48242 from asnell/asnell-patch-1
296780
296781         · f66bf60073 Add sample list data via command line pillar
296782
296783       · PR #48226: (terminalmage) 2 fixes for when Salt  is  installed  using
296784         -OO @ 2018-06-20 20:12:34 UTC
296785
296786         · a172f9de84    Merge    pull    request    #48226   from   terminal‐
296787           mage/fix-alias-docstring
296788
296789         · fb237272f5 Don't display "None" in  SaltInvocationError  when  Salt
296790           installed using -OO
296791
296792         · 90c90f5d5c  Fix  docstring construction in alias_function when Salt
296793           installed using -OO
296794
296795       · PR #48227: (Ch3LL) Skip new sha256 files  on  repo.saltstack.com/win‐
296796         dows @ 2018-06-20 20:12:09 UTC
296797
296798         · c6a0207cae Merge pull request #48227 from Ch3LL/fix_win_tests
296799
296800         · 236773e3e9 Skip new sha256 files on repo.saltstack.com/windows
296801
296802       · ISSUE  #48128:  (bowmanjd-lms)  apk.py  Python 3 compatibility (refs:
296803         #48131)
296804
296805       · PR #48131: (bowmanjd-lms) Fix py3-incompatible dict.keys()[x] call in
296806         apk.py @ 2018-06-19 18:19:02 UTC
296807
296808         · 6929423528     Merge     pull     request    #48131    from    bow‐
296809           manjd-lms/fix-apk-python3
296810
296811         · f5d2835299 Merge branch '2017.7' into fix-apk-python3
296812
296813         · 022f9cba50 Fix py3-incompatible dict.keys()[x] call in apk.py
296814
296815       · ISSUE #47901: (frogunder) 2017.7.6  -  Exiting  command  with  CTRL-C
296816         gives Error/Traceback (refs: #48185)
296817
296818       · PR  #48185: (DmitryKuzmenko) Don't call .exception() on future unless
296819         it's done.  @ 2018-06-19 18:16:27 UTC
296820
296821         · 868c17377f   Merge   pull   request   #48185    from    DSRCorpora‐
296822           tion/bugs/47901_future_done_exception
296823
296824         · 5f63316311 Merge branch '2017.7' into bugs/47901_future_done_excep‐
296825           tion
296826
296827         · 9f2dbf94cb Don't call .exception() on future unless it's done.
296828
296829       · PR #48192:  (twangboy)  Use  the  --disable-pip-version-check  option
296830         (2017.7) @ 2018-06-19 18:13:12 UTC
296831
296832         · 80a3e37c2e  Merge  pull  request  #48192 from twangboy/fix_pip_ver‐
296833           sion_2017.7
296834
296835         · 59ae2cc5fc Use --disable-pip-version-check for build_env_#.ps1
296836
296837       · PR #48201: (zer0def) Fixes to LXC bootstrap when alternate lxcpath is
296838         provided.  @ 2018-06-19 12:56:40 UTC
296839
296840         · 12e2b8882a   Merge   pull  request  #48201  from  zer0def/lxc-boot‐
296841           strap-fixes
296842
296843         · 6f6d3d40d4 Take lxcpath into account when  bootstrapping  new  con‐
296844           tainers. Version comparison fixes.
296845
296846       · PR  #48190:  (terminalmage)  Fix  mount.vfstab unit test @ 2018-06-18
296847         21:47:54 UTC
296848
296849         · e079fce38d   Merge   pull    request    #48190    from    terminal‐
296850           mage/fix-vfstab-test
296851
296852         · 8d70d14362 Fix mount.vfstab unit test
296853
296854       · PR  #48115:  (KaiSforza)  Add  jenkinsfiles to define tests in 2017 @
296855         2018-06-18 21:27:40 UTC
296856
296857         · c8b9cec986 Merge pull request #48115 from KaiSforza/pr-lint-2017
296858
296859         · 494727ab39 Add docs, kitchen tests
296860
296861         · 317023bb20 Move .jenkins to .ci for future
296862
296863         · dedc313cee Make it parallel so we don't fail right away
296864
296865         · cd13426726 Add a .jenkins file to run pylint
296866
296867       · PR #48174: (terminalmage)  Add  docker.update_mine  config  option  @
296868         2018-06-18 19:04:54 UTC
296869
296870         · fc1752b721    Merge    pull    request    #48174   from   terminal‐
296871           mage/docker-update-mine
296872
296873         · 9af09e0127 Mock config.get due to changes in _refresh_mine_cache
296874
296875         · c5802ad465 Fix the version number in versionadded
296876
296877         · d403ae58d7 Add unit test for docker.update_mine
296878
296879         · 44c275698a Actually it's more than just add/remove that updates the
296880           mine
296881
296882         · 0cb6996b07  Add  release notes mention of docker.update_mine config
296883           option
296884
296885         · de05097b20 Add docs for new config option
296886
296887         · 04c55a9178 Add note in mine.get_docker docstring about  new  config
296888           item
296889
296890         · 4e456255c0 Allow mine update to be disabled using new config option
296891
296892       · ISSUE #47031: (lejambon) Cannot set hwclock on UTC on CentOS 7 (refs:
296893         #47049, #48061)
296894
296895       · PR #48061: (garethgreenaway) [2017.7] Porting #47049  to  2017.7.   @
296896         2018-06-15 17:15:50 UTC
296897
296898         · PR #47049: (lejambon) Centos set utc hwclock (refs: #48061)
296899
296900         · df2a156338    Merge   pull   request   #48061   from   garethgreen‐
296901           away/port_47049_2017_7
296902
296903         · 7c472fed51 Fixing failing test_set_hwclock_aix test.
296904
296905         · ccb0acc958 Porting #47049 to 2017.7.
296906
296907       · PR #48143: (Ch3LL) Add timeout argument to run_salt for  ShellCase  @
296908         2018-06-15 17:04:57 UTC
296909
296910         · 5ec3cf2dd4 Merge pull request #48143 from Ch3LL/fix_long_job
296911
296912         · 48b5d2e9d3 Add timeout argument to run_salt for ShellCase
296913
296914       · PR #48135: (rallytime) Update the 2017.7.7 and 2017.7.8 release notes
296915         @ 2018-06-14 21:22:06 UTC
296916
296917         · PR #48134: (rallytime) Add release notes file for  2017.7.7  (refs:
296918           #48135)
296919
296920         · e1e566d1f8     Merge    pull    request    #48135    from    rally‐
296921           time/release-notes-2017.7
296922
296923         · 7a97f157b3 Add missing v for tag reference
296924
296925         · 2f2b69ed37 Add "in progress" notation to 2017.7.7 release notes
296926
296927         · 06a1151a63 Add release notes file for 2017.7.7
296928
296929         · 885b2862ce Move 2017.7.7 release notes to 2017.7.8
296930
296931       · PR #48105: (rallytime) [2017.7] Merge forward from 2017.7.6 to 2017.7
296932         @ 2018-06-14 17:00:09 UTC
296933
296934         · ac9dabbfaa Merge pull request #48105 from rallytime/merge-2017.7
296935
296936         · cdb45874de Merge branch '2017.7.6' into '2017.7'
296937
296938       · PR #48101: (rallytime) [2017.7] Update 2017.7.7 reference to 2017.7.8
296939         @ 2018-06-14 13:14:09 UTC
296940
296941         · 2da56a69d9    Merge    pull    request    #48101    from     rally‐
296942           time/update-doc-refs-2017.7
296943
296944         · 7ba6f5fb36 Update 2017.7.7 reference to 2017.7.8
296945
296946       · PR  #48091:  (terminalmage)  Reverse  monkeypatching  after test_sym‐
296947         link_list finishes @ 2018-06-13 18:02:53 UTC
296948
296949         · 5a0e3d46e7   Merge   pull    request    #48091    from    terminal‐
296950           mage/fix-file_roots-monkeypatching
296951
296952         · 6fe711ad76 Reverse monkeypatching after test_symlink_list finishes
296953
296954       · PR  #48088: (rallytime) Update release versions for the 2017.7 branch
296955         @ 2018-06-13 14:03:03 UTC
296956
296957         · 053b019a8f Merge pull  request  #48088  from  rallytime/update_ver‐
296958           sion_doc_2017.7
296959
296960         · 1b8d1c936b Remove "in progress" info for 2017.7.6 release notes
296961
296962         · 9a0f4d190a Update release versions for the 2017.7 branch
296963
296964       · ISSUE  #48038: (austinpapp) jobs are not dedup'ing minion side (refs:
296965         #48075)
296966
296967       · PR #48075: (garethgreenaway) [2017.7] Ensure that the shared list  of
296968         jids is passed @ 2018-06-13 13:25:35 UTC
296969
296970         · d6d2c5ee18    Merge   pull   request   #48075   from   garethgreen‐
296971           away/48038_jobs_are_not_deduping_minion_side
296972
296973         · c537b3275b Ensure that the shared list of jids is passed when  cre‐
296974           ating  the Minion.  Fixes an issue when minions are pointed at mul‐
296975           tiple syndics.
296976
296977       · PR #48071: (terminalmage) Fix  inaccurate  gitfs_saltenv  example  in
296978         GitFS Walkthrough @ 2018-06-12 20:34:13 UTC
296979
296980         · aa33cc0b0c Merge pull request #48071 from terminalmage/gitfs-docs
296981
296982         · 24545204b3  Fix  inaccurate  gitfs_saltenv  example  in GitFS Walk‐
296983           through
296984
296985       · ISSUE #48039: (twellspring) github.repo_present  returns  stacktrace,
296986         got multiple values for keyword argument profile (refs: #48040)
296987
296988       · PR  #48053:  (rallytime)  Back-port  #48040  to  2017.7  @ 2018-06-12
296989         14:46:12 UTC
296990
296991         · PR #48040: (twellspring) states/github.py fix for  incorrect  posi‐
296992           tional argument (refs: #48053)
296993
296994         · fb4ceacb88 Merge pull request #48053 from rallytime/bp-48040
296995
296996         · 265b22b194 states/github.py fix for incorrect positional argument
296997
296998       · PR   #48024:  (gtmanfred)  add  pytest  coverage  and  xml  junits  @
296999         2018-06-12 14:03:26 UTC
297000
297001         · f37dcaac6d Merge pull request #48024 from gtmanfred/2017.7
297002
297003         · 56b074ab27 allow specifying a different state to run on converge
297004
297005         · cc9c4b4d5a add pytest coverage and xml junits
297006
297007       · PR #48044: (twangboy) Add fail code for WinHTTP send/receive error  @
297008         2018-06-11 13:49:29 UTC
297009
297010         · ffee3576ec     Merge    pull    request    #48044    from    twang‐
297011           boy/wua_add_fail_code
297012
297013         · d41d0c25eb Add faile code for WinHTTP send/receive error
297014
297015       · PR #48009: (dwoz) minionswarm runs on windows @  2018-06-08  13:52:36
297016         UTC
297017
297018         · 871a910fcb Merge pull request #48009 from dwoz/winswarmfix
297019
297020         · 5027c7bb84 minionswarm runs on windows
297021
297022       · PR  #47968:  (gtmanfred)  Clean up tox + pytest @ 2018-06-06 21:23:52
297023         UTC
297024
297025         · 0dcaead36d Merge pull request #47968 from gtmanfred/2017.7
297026
297027         · ae1b0d28bb pass LANG and HOME into tox commands
297028
297029         · 8d15b93d00 remove tox virtualenvs from doc tests
297030
297031         · e1872e2036 simplify tox.ini
297032
297033         · 81bd01f5af add tests.txt for running tests with tox requirements
297034
297035         · 556a2067fc fix masterapi test to use testing directory for configs
297036
297037         · 5a41f484ef add EXPENSIVE_TESTS
297038
297039         · 055cd5a6ba set DESTRUCTIVE_TESTS environment variable for pytest
297040
297041       · PR #47978: (twangboy) Add try/finally, fix typo in 7zip  def  file  @
297042         2018-06-06 19:06:04 UTC
297043
297044         · 42dd6b83eb Merge pull request #47978 from twangboy/fix_test_pkg
297045
297046         · 8bb36b3a4b Add try/finally, fix typo in 7zip def file
297047
297048       · PR  #47959:  (twangboy) Fix failing test when service doesn't exist @
297049         2018-06-06 19:05:43 UTC
297050
297051         · a67b21ef3d Merge pull request #47959 from twangboy/fix_test_service
297052
297053         · 0cd47aa81e Remove unused import
297054
297055         · d4b42540e3 Fix failing test when service doesn't exist
297056
297057       · ISSUE #30367:  (paulfanelli)  salt-run  orchestration  via  state.sls
297058         always successful; it is ignoring state return value (refs: #47843)
297059
297060       · PR #47983: (garethgreenaway) [2017.7] Backporting #47843 @ 2018-06-06
297061         19:03:15 UTC
297062
297063         · PR #47843: (garethgreenaway) [2018.3] orchestration  results  False
297064           when function is False (refs: #47983)
297065
297066         · b81d482067  Merge  pull  request  #47983 from garethgreenaway/back‐
297067           port_47843_2017_7
297068
297069         · 7b7fb1f5d5 Adding missing test sls file.
297070
297071         · 54e51bc627 Backporting #47843 to 2017.7, updating test for 2017.7.
297072
297073       · PR #47533: (twangboy) Fix issues with functions that use makedirs  on
297074         Windows @ 2018-06-06 17:20:51 UTC
297075
297076         · d56ddad22c Merge pull request #47533 from twangboy/fix_47178
297077
297078         · 24717cbc21 Change version added to 2017.7.7
297079
297080         · 0592f1bac2 Fix issues with functions that user makedirs on Windows
297081
297082       · PR  #47827:  (twangboy)  Fix  issue when archive is on mapped drive @
297083         2018-06-06 17:18:00 UTC
297084
297085         · 5c56b8c755 Merge pull request #47827 from twangboy/fix_47791
297086
297087         · fbbd91f09e Add more descriptive debug message
297088
297089         · 365f81651b Fix deprecated exception handling
297090
297091         · 8dd6710b93 Use local instead of network
297092
297093         · 980d99d74b Fix issue when archive is on mapped drive
297094
297095       · ISSUE #47888: (mbunkus) postfix.set_main overwrites wrong keys (refs:
297096         #47966)
297097
297098       · PR #47966: (mbunkus) Fix postfix.set_main's assumption of prefix-free
297099         key names @ 2018-06-06 15:43:24 UTC
297100
297101         · 998a1c13d5 Merge pull request #47966 from  mbunkus/fix-postfix-pre‐
297102           fix-free-key-names-assumption
297103
297104         · 0ae402d1b5  Fix  postfix.set_main's  assumption  of prefix-free key
297105           names
297106
297107       · PR  #47824:  (twangboy)  Fix  issues  with  setup.py  in  Windows   @
297108         2018-06-05 17:39:53 UTC
297109
297110         · df50ce7b1b Merge pull request #47824 from twangboy/fix_setup.py
297111
297112         · 4538b3abb3 Remove 'len-as-condition' disablement
297113
297114         · d4efcc3c8b Skip lint errors
297115
297116         · 1b3977f8d4 Remove m2crypto download for Windows
297117
297118       · PR  #47922:  (damon-atkins)  win_pkg: pkg.refresh_db verbose=True PY3
297119         compatibility fix @ 2018-06-05 13:31:49 UTC
297120
297121         · 3e91a31134      Merge      pull      request      #47922       from
297122           damon-atkins/2017.7_win_pkg_keys_fix
297123
297124         · 7129203b1b Merge branch '2017.7' into 2017.7_win_pkg_keys_fix
297125
297126       · PR  #47933:  (terminalmage)  Clarify  pillar.get  docs  @  2018-06-04
297127         14:07:58 UTC
297128
297129         · 8008fca2f6 Merge pull  request  #47933  from  terminalmage/add-pil‐
297130           lar.get-docs
297131
297132         · 4eb022b675 Clarify pillar.get docs
297133
297134       · PR  #47944: (terminalmage) Replace use of deprecated argument name in
297135         git.detached docstring @ 2018-06-04 13:53:34 UTC
297136
297137         · ab565bfaa3   Merge   pull    request    #47944    from    terminal‐
297138           mage/fix-git.detached-docs
297139
297140         · 1d082b4389  Replace use of deprecated argument name in git.detached
297141           docstring
297142
297143         · 6253793cb6 Merge branch '2017.7' into 2017.7_win_pkg_keys_fix
297144
297145       · PR #47860: (terminalmage) Clean up doc build warnings, add best prac‐
297146         tices for writing states @ 2018-06-01 14:42:55 UTC
297147
297148         · a2b588299b  Merge pull request #47860 from terminalmage/state-writ‐
297149           ing-docs
297150
297151         · 8cb33d3dec Quiet the linter
297152
297153         · af51e16f23 Use more elegant RST syntax
297154
297155         · 91cd57d1e0 Update mocking to reflect changes in service module
297156
297157         · b9ace5a859 Fix crappy mocking
297158
297159         · bc9e3acef3 Lint fixes
297160
297161         · d37f7e4f04 Add 2017.7.6 release notes
297162
297163         · 9dddeeefab Improve documentation on syncing states
297164
297165         · f465fa3ca7 Add best practices docs for writing states
297166
297167         · 93ee5ee2b0 Fix all Sphinx warnings
297168
297169         · 64b9b4d0b8 Clarify that name would override the id declaration
297170
297171       · PR #47877: (dwoz) Revert job chunk  wait  time  change  @  2018-06-01
297172         14:11:46 UTC
297173
297174         · d2f3377b5b Merge pull request #47877 from dwoz/sleep_audit
297175
297176         · ebc7cde9cb Revert job chunk wait time change
297177
297178              · 4ce0fe6546  win_pkg under py3 keys returns a view instead of a
297179                list, wrap keys in list()
297180
297181       · PR #47917: (dwoz) Fix  windows  tests  suite  breakage  @  2018-06-01
297182         11:42:15 UTC
297183
297184         · PR  #47500:  (dwoz)  Get  the  current  username  on windows (refs:
297185           #47917)
297186
297187         · 735e92093e Merge pull request #47917 from dwoz/winsuite
297188
297189         · 118601ebd6 Fix windows tests suite breakage
297190
297191       · PR #47822: (Ch3LL) Add user state  integration  tests  to  windows  @
297192         2018-05-30 21:13:07 UTC
297193
297194         · 63efb76d51 Merge pull request #47822 from Ch3LL/win_user_test
297195
297196         · 3a691b405f add user_home path for both windows and linux
297197
297198         · 788abf771e Add user state integration tests to windows
297199
297200       · PR  #47876: (doesitblend) Add file read windows @ 2018-05-30 14:03:55
297201         UTC
297202
297203         · b9da4f1221    Merge    pull    request    #47876    from    doesit‐
297204           blend/add-file-read-windows
297205
297206         · 3f7e7ec327 Add file.read function to Windows module
297207
297208       · PR #47882: (frogunder) add whoami test @ 2018-05-30 13:47:13 UTC
297209
297210         · cbe2ecfae8 Merge pull request #47882 from frogunder/45013
297211
297212         · 38d114a2d2 add whoami test
297213
297214       · PR  #47853:  (dwoz) Fix for py3 ec2 cloud tests @ 2018-05-28 23:08:09
297215         UTC
297216
297217         · 4b28e510f1 Merge pull request #47853 from dwoz/py3-cloud-test
297218
297219         · c2f8aef7c5 Fix for py3 ec2 cloud tests
297220
297221       · ISSUE #47833: (blefeuvr) reactor.add | list | delete -> python excep‐
297222         tion (refs: #47847)
297223
297224       · PR  #47847: (garethgreenaway) [2017.7] reactor runner documentation @
297225         2018-05-25 23:23:31 UTC
297226
297227         · 215efa6b73   Merge   pull   request   #47847   from    garethgreen‐
297228           away/47833_reactor_runner_documentation
297229
297230         · 03676712de Adding some addition documentation to the reactor runner
297231           indicating that the reactor system must be active  prior  to  using
297232           it.
297233
297234       · PR  #47846:  (Ch3LL)  Fix  flaky  refresh  pillar  integration test @
297235         2018-05-25 20:50:48 UTC
297236
297237         · 0bf651b470 Merge pull request #47846 from Ch3LL/p_refresh_test
297238
297239         · 019edad8e4 Fix flaky refresh pillar integration test
297240
297241       · PR #47552: (twangboy) Show GPO settings, raise error if trying to set
297242         gpo managed settings @ 2018-05-25 20:41:22 UTC
297243
297244         · 799fce979d Merge pull request #47552 from twangboy/fix_46981
297245
297246         · cffc9b7806 Merge branch '2017.7' into fix_46981
297247
297248         · 81308a4a44 Add release notes for 2017.7.7
297249
297250         · 008af0ac6b Fix unit tests
297251
297252         · 87097eefb6 Add comments about how get is returning data
297253
297254         · f1f1bfc5c1 Show GPO settings, raise error if trying to set gpo man‐
297255           aged settings
297256
297257       · ISSUE #47690: (lomeroe) productname grain missing on  Solaris  (refs:
297258         #47691)
297259
297260       · PR  #47691:  (lomeroe) Update regexes for Solaris 'product' grain and
297261         copy to 'productname' grain @ 2018-05-25 20:38:18 UTC
297262
297263         · ffc2ebc373 Merge pull  request  #47691  from  lomeroe/solaris_prod‐
297264           uct_grains
297265
297266         · 6889befc6b Merge branch '2017.7' into solaris_product_grains
297267
297268         · 49053bc106 lint fix
297269
297270         · 6f185c9179 another lint fix
297271
297272         · dbffba6876 fix tons of errors in my tests
297273
297274         · 8c9355d34c Lint fix
297275
297276         · b29ec75da7  Update  regexes in core grains for detecting the 'prod‐
297277           uct' grain on Solaris Sparc systems.  Additionally, copy the 'prod‐
297278           uct' grain to 'productname' to be consistent with other OSes.
297279
297280       · PR  #47778: (Ch3LL) Add test_pkg integration state tests to windows @
297281         2018-05-25 20:36:47 UTC
297282
297283         · 96b7c0cc76 Merge pull request #47778 from Ch3LL/win_state_pkg
297284
297285         · e1786de6b0 Merge branch '2017.7' into win_state_pkg
297286
297287         · f8c467d3e6 Fix text editor error
297288
297289         · 872e162137 Add test_pkg integration state tests to windows
297290
297291       · PR #47823: (Ch3LL) Add win_dns module integration tests for windows @
297292         2018-05-25 20:34:03 UTC
297293
297294         · 6f934c2259 Merge pull request #47823 from Ch3LL/win_dns_test
297295
297296         · 7848114d6a Add win_dns module integration tests for windows
297297
297298       · PR  #47838:  (rallytime)  Back-port  #47810  to  2017.7  @ 2018-05-25
297299         20:33:44 UTC
297300
297301         · PR #47810: (rmcintosh) Fix Linode plan selection (refs: #47838)
297302
297303         · e63e04602d Merge pull request #47838 from rallytime/bp-47810
297304
297305         · bd2b62fa66 better debug message
297306
297307         · 83565c55df Address PR feedback
297308
297309         · 50bce3a2f3 make decode_linode_plan_label a private function
297310
297311         · 2ba4fc4cea fix raising when a 'GB' format invalid plan is supplied
297312
297313         · 3afb50d5a2 slight cleanup
297314
297315         · 319fbd3406 match quotation mark types properly
297316
297317         · 95e0202223 more consistent use of parens in logged warning
297318
297319         · f52926ca87 log a warning when the user supplied a  label  we  could
297320           decode but was not in the proper format
297321
297322         · 121303d827  reduce  complexity of get_plan_id by moving decoding of
297323           the user-supplied label to its own function
297324
297325         · cf534c7314 Fix Linode plan selection
297326
297327       · PR #47805: (twangboy) Add sign.bat  script  for  signing  packages  @
297328         2018-05-25 13:53:58 UTC
297329
297330         · 9ef6e60617 Merge pull request #47805 from twangboy/add_sign.bat
297331
297332         · 66d8b0331a Add sign.bat script for signing packages
297333
297334       · PR  #47500: (dwoz) Get the current username on windows (refs: #47917)
297335         @ 2018-05-24 19:14:07 UTC
297336
297337         · 93420950d3 Merge pull request #47500 from dwoz/winuser
297338
297339         · 0ca5224cbf Merge branch '2017.7' into winuser
297340
297341         · e5948902af Use salt utils method for this_user
297342
297343         · a056a293f1 Centeralize test username lookup
297344
297345         · 6a6ab69722 Get the current username on windows
297346
297347       · ISSUE #35960: (basepi) Beacons cannot be  reloaded/refreshed  without
297348         minion restart (refs: #40892)
297349
297350       · PR  #47802:  (rallytime)  Back-port  #40892  to  2017.7  @ 2018-05-24
297351         16:34:35 UTC
297352
297353         · PR #40892: (jagguli) add minion function to  reload  beacon  #35960
297354           (refs: #47802)
297355
297356         · 552526f309 Merge pull request #47802 from rallytime/bp-40892
297357
297358         · bb357da084 add minion function to reload beacon #35960
297359
297360       · PR  #47816:  (Ch3LL)  Add  windows  to service disable ERROR check in
297361         tests @ 2018-05-24 15:31:36 UTC
297362
297363         · c9cccf53b9 Merge pull request #47816 from Ch3LL/disable_windows
297364
297365         · 2509d36888 Add windows to service disable ERROR check in tests
297366
297367       · PR #47773: (frogunder) add  win_servermanager.list_available  test  @
297368         2018-05-23 19:44:14 UTC
297369
297370         · 2cb6634c6b Merge pull request #47773 from frogunder/45011
297371
297372         · 7c9b0bda33 add win_servermanager.list_available test
297373
297374       · PR  #47807:  (dwoz)  Try an even bigger timeout @ 2018-05-23 19:38:21
297375         UTC
297376
297377         · e65dece202 Merge pull request #47807 from dwoz/winrmtests
297378
297379         · 1f1cc1357a Increase instance size for cloud tests
297380
297381         · be8dcd21f1 Try an even bigger timeout
297382
297383       · PR #47765: (meaksh) Prevent zypper from  parsing  repo  configuration
297384         from not .repo files @ 2018-05-23 14:45:04 UTC
297385
297386         · 46618d2ce7  Merge  pull  request #47765 from meaksh/2017.7-fix-zyp‐
297387           per-error-reading-repo
297388
297389         · 4475ba19b8 Prevent zypper from parsing repo configuration from  not
297390           .repo files
297391
297392       · PR  #47781: (rallytime) Update cloud test profile and docs to use new
297393         Linode size lables @ 2018-05-23 13:09:13 UTC
297394
297395         · 0e87559ee3 Merge pull  request  #47781  from  rallytime/update-lin‐
297396           ode-sizes
297397
297398         · a90c1b760e  Update  cloud  test  profile and docs to use new Linode
297399           size lables
297400
297401       · PR #47748: (rallytime) [2017.7] Merge forward from 2017.7.6 to 2017.7
297402         @ 2018-05-22 20:53:02 UTC
297403
297404         · 3ddc56cb9b Merge pull request #47748 from rallytime/merge-2017.7
297405
297406         · b75f5ae38e Merge branch '2017.7.6' into '2017.7'
297407
297408         · 17596f3025 Merge branch '2017.7.6' into '2017.7'
297409
297410         · e458f4a031 Merge branch '2017.7.6' into '2017.7'
297411
297412       · PR  #47779:  (dwoz)  Increase ec2 cloud timeouts to 1000 @ 2018-05-22
297413         20:35:45 UTC
297414
297415         · 0ddc864f90 Merge pull request #47779 from dwoz/winrmtests
297416
297417         · d5eafe9d53 Use common timeout variable
297418
297419         · 7e948eb540 Increase ec2 cloud timeouts to 1000
297420
297421       · PR  #47430:  (baniobloom)  Add  catch  for  VPCAssociationNotFound  @
297422         2018-05-22 14:54:01 UTC
297423
297424         · 17c4c8443c  Merge  pull request #47430 from baniobloom/vpc_associa‐
297425           tion_not_found
297426
297427         · 0f1d007f91 added catch for VPCAssociationNotFound
297428
297429       · PR #47525: (baniobloom) Trying to add a duplicate sec group rule true
297430         @ 2018-05-22 14:51:09 UTC
297431
297432         · 9c5dde1449   Merge   pull  request  #47525  from  baniobloom/dupli‐
297433           cate_sec_group_rule
297434
297435         · dcc35df489 if we are trying to  add  the  same  rule  then  we  are
297436           already in the desired state, return true
297437
297438       · PR  #47772:  (gtmanfred)  lock  down  dependencies for kitchen-salt @
297439         2018-05-22 14:21:49 UTC
297440
297441         · 536ce2fa42 Merge pull request #47772 from gtmanfred/2017.7
297442
297443         · 67756a50fd lock down dependencies for kitchen-salt
297444
297445       · ISSUE #47717: (server-monitoring) Invalid output of pkg.list_upgrades
297446         on Fedora 27 Server (refs: #47749)
297447
297448       · PR   #47749:   (terminalmage)  Fix  "dnf  list  upgrades"  parsing  @
297449         2018-05-22 12:51:29 UTC
297450
297451         · 12b330f049 Merge pull request #47749 from terminalmage/issue47717
297452
297453         · cd484bef69 Fix "dnf list upgrades" parsing
297454
297455       · PR #47755: (dwoz)  Be  explicit  about  winrm  setting  @  2018-05-21
297456         22:39:24 UTC
297457
297458         · 5cd18b9e70 Merge pull request #47755 from dwoz/winrmtests
297459
297460         · 57dd89e6c3 Default to ec2 classic compatible images
297461
297462         · f89668920a Be explicit about winrm setting
297463
297464       · PR  #47668:  (Ch3LL) Add pkg.latest_version windows test @ 2018-05-21
297465         20:26:45 UTC
297466
297467         · f45a96ba1d Merge pull request #47668 from Ch3LL/win_pkg_test
297468
297469         · a8981024de Add pkg.latest_version windows test
297470
297471       · PR #47750: (dwoz) Allow ssh_interface  to  default  to  public_ips  @
297472         2018-05-21 17:14:11 UTC
297473
297474         · 7b12444dfa Merge pull request #47750 from dwoz/cloudtest
297475
297476         · 63b722ba21 Allow ssh_interface to default to public_ips
297477
297478       · PR #47737: (dwoz) Cloud test fixup @ 2018-05-21 14:19:49 UTC
297479
297480         · 27fbb42210 Merge pull request #47737 from dwoz/win_timeout
297481
297482         · e88833a07d Cloud test fixup
297483
297484       · PR  #47729:  (UtahDave)  fix  cli  example  to  match function name @
297485         2018-05-19 11:31:21 UTC
297486
297487         · 1a93f060fb Merge pull request #47729 from UtahDave/fix_get_info_doc
297488
297489         · 443a2d72a2 fix cli example to match function name
297490
297491       · ISSUE #47182: (MartinEmrich) state.highstate error  with  require_in:
297492         sls:  (refs: #47682)
297493
297494       · PR  #47682: (terminalmage) Fix traceback when excludes are present in
297495         an included SLS file @ 2018-05-18 16:47:47 UTC
297496
297497         · 00a13761c7 Merge pull request #47682 from terminalmage/issue47182
297498
297499         · d0243e8f23 Suppress spurious lint failure
297500
297501         · 3b449f11fc Add regression test for excludes issue
297502
297503         · 28a7d2b81c Skip __exclude__ in find_sls_ids
297504
297505       · ISSUE #47696: (darkpixel) 2017.7.5 zpool.present does not  check  for
297506         properties=None  before  attempting  to  enumerate  properties (refs:
297507         #47708)
297508
297509       · PR #47708: (darkpixel) Wrap properties loop with a  check  for  None.
297510         Closes GH-47696 @ 2018-05-18 15:25:44 UTC
297511
297512         · 518f7bcc62     Merge     pull    request    #47708    from    dark‐
297513           pixel/47696-do-not-enumerate-none
297514
297515         · 54e9bf9ec9 Merge branch '2017.7' into 47696-do-not-enumerate-none
297516
297517       · PR #47681: (rallytime) [2017.7] Merge forward from 2017.7.6 to 2017.7
297518         @ 2018-05-17 21:30:02 UTC
297519
297520         · cad062eaa7 Merge pull request #47681 from rallytime/merge-2017.7
297521
297522         · 6c06cb3ae3 Merge branch '2017.7.6' into '2017.7'
297523
297524       · PR  #47683: (Ch3LL) Remove unnecessary setUp in states.test_user test
297525         for mac @ 2018-05-17 21:28:26 UTC
297526
297527         · fd2d45d9c2 Merge pull request #47683 from Ch3LL/mac_user_test
297528
297529         · 5a1b25b9c7 Remove unnecessary setUp in  states.test_user  test  for
297530           mac
297531
297532       · PR  #47692:  (dwoz)  Default  windows  to  m1.small for ec2-classic @
297533         2018-05-17 14:44:10 UTC
297534
297535         · f323799c42 Merge pull request #47692 from dwoz/win_instance_type
297536
297537         · 20b6070d54 Default windows to m1.small for ec2-classic
297538
297539       · ISSUE #45125: (wes-novack) salt-cloud no  longer  picking  up  master
297540         setting from provider file (refs: #47665)
297541
297542       · PR #47665: (gtmanfred) use dictupdate to update the providers dictio‐
297543         nary and merge lists @ 2018-05-16 15:59:17 UTC
297544
297545         · 990ece5cd5 Merge pull request #47665 from gtmanfred/cloud
297546
297547         · fd8a02decb use dictupdate to update the  providers  dictionary  and
297548           merge lists
297549
297550       · PR  #47151:  (zer0def) Allow interaction with default section in Con‐
297551         figParser serializer @ 2018-05-16 13:53:44 UTC
297552
297553         · a2ed8cbb7f  Merge  pull   request   #47151   from   zer0def/config‐
297554           parser-defaultsect
297555
297556         · a8f2ad977e Merge branch '2017.7' into configparser-defaultsect
297557
297558         · cca2a806c9  Made interaction with [DEFAULT] section in ConfigParser
297559           as sane as upstream permits.
297560
297561       · ISSUE #40846: (ghost) file.managed fails for long URLs (refs: #45808)
297562
297563       · PR #47673: (terminalmage) Backport  #45808  to  2017.7  @  2018-05-16
297564         13:52:06 UTC
297565
297566         · PR  #45808:  (b1naryth1ef)  [bugfix] Fix for oversized filenames in
297567           fileclient (refs: #47673)
297568
297569         · e6fb8342ef Merge pull request #47673 from terminalmage/bp-45808
297570
297571         · 454291ad62 Fix errors when attempting  to  cache  files  with  long
297572           names or URLs
297573
297574       · PR  #47670:  (gtmanfred) add a pytest.ini and update a dependency for
297575         kitchen @ 2018-05-16 01:56:17 UTC
297576
297577         · b0446aab07 Merge pull request #47670 from gtmanfred/2017.7
297578
297579         · dfd5a8715f add a pytest.ini and update a dependency for kitchen
297580
297581       · PR #47626: (gtmanfred) Implement Pipfile and  remove  extra  require‐
297582         ments.txt files @ 2018-05-16 00:03:12 UTC
297583
297584         · 0d06da6944 Merge pull request #47626 from gtmanfred/2017.7
297585
297586         · 418364a533   make   dev_python27.txt   have  the  same  message  as
297587           dev_python34.txt
297588
297589         · d53b44d10f remove lock file
297590
297591         · 493ed7f93d use the toml dict format
297592
297593         · e0f7cc1447 add proxy tests decorator to pytest conftest
297594
297595         · 0a621dd0ec add Pipfile for managing dependencies in salt
297596
297597         · f78b81db94 simplify dev and base.txt to single files
297598
297599       · PR #47578: (Ch3LL) Ensure mac_service.disabled is correctly  querying
297600         services @ 2018-05-15 18:26:37 UTC
297601
297602         · a07a8906a0  Merge  pull  request #47578 from Ch3LL/mac_service_dis‐
297603           abled
297604
297605         · 6032a01f55 change disable check for upstart service on ubuntu14
297606
297607         · 33b4cfbc5b Change service assertion check for systemd platforms
297608
297609         · 14896f9743 change codeauthor and class name
297610
297611         · 502c5bdff5 Ensure mac_service.disabled is correctly  querying  ser‐
297612           vices
297613
297614       · PR #47639: (rallytime) [2017.7] Merge forward from 2017.7.6 to 2017.7
297615         @ 2018-05-14 17:58:25 UTC
297616
297617         · f63d801858 Merge pull request #47639 from rallytime/merge-2017.7
297618
297619         · 1503f1020f Merge branch '2017.7.6' into '2017.7'
297620
297621       · PR #47643: (dwoz) Remove unwanted file @ 2018-05-14 17:53:57 UTC
297622
297623         · db0eef3e8b Merge pull request #47643 from dwoz/runas_detect
297624
297625         · 8c5e54b8b3 Fix typo
297626
297627         · 69bc88f1c6 Remove unwanted file
297628
297629       · PR #47601: (dwoz) Skip tests when we can not use runas  @  2018-05-14
297630         15:26:36 UTC
297631
297632         · 6dd3ab9f06 Merge pull request #47601 from dwoz/runas_detect
297633
297634         · 3235ac08cb use ignore-undefined-variable
297635
297636         · 58911d510a Ignore pylint WindowsError
297637
297638         · 17987d3c5a Better doc string
297639
297640         · a48ac26573 Skip tests when we can not use runas
297641
297642       · PR  #47611:  (Ch3LL) Update debian install docs to reflect new latest
297643         debian releases @ 2018-05-11 16:32:53 UTC
297644
297645         · f61ccae627 Merge pull request #47611 from Ch3LL/deb_doc
297646
297647         · 6d2ddd050f One more grammar fixup
297648
297649         · 2d5ff01261 Grammar fix
297650
297651         · 138847c9c4 Update debian install docs to reflect new latest  debian
297652           releases
297653
297654       · PR  #47598:  (rallytime)  Back-port  #47568  to  2017.7  @ 2018-05-10
297655         22:06:20 UTC
297656
297657         · PR  #47568:  (terminalmage)  salt.serializers.yaml/yamlex:   remove
297658           invalid multi_constructor (refs: #47598)
297659
297660         · 9e2fe284e4 Merge pull request #47598 from rallytime/bp-47568-2017.7
297661
297662         · 09458c65cf  Add  exception  logging on serialize/deserialize excep‐
297663           tions
297664
297665         · c62c855f9c salt.serializers.yaml/yamlex: remove invalid  multi_con‐
297666           structor
297667
297668       · PR  #47548: (Ch3LL) Catch Sysloghandler errors when log file does not
297669         exist @ 2018-05-10 20:23:25 UTC
297670
297671         · 8a7913ccc3 Merge pull request #47548 from Ch3LL/syslog
297672
297673         · 31f13a4197 sysloghander: check for 3.5.4 python version
297674
297675         · a020352a03 Catch Sysloghandler errors when log file does not exist
297676
297677       · ISSUE  #47491:  (doc987)  mysql_query.run_file  Doesn't   Work   when
297678         query_file = salt://... (refs: #47508)
297679
297680       · PR #47508: (gtmanfred) allow pulling the mysql_query.run_file to pull
297681         from the fileserver @ 2018-05-10 18:12:28 UTC
297682
297683         · 82fb6ba366 Merge pull request #47508 from gtmanfred/2017.7
297684
297685         · 1a87e7455f allow pulling the mysql_query.run_file to pull from  the
297686           fileserver
297687
297688       · ISSUE #47203: (aesposito91) NAPALM grains not updating (refs: #47513)
297689
297690       · ISSUE #46546: (ppalmieri) salt-minion installed on vEOS does not give
297691         vendor grain (refs: #47513)
297692
297693       · PR #47562:  (rallytime)  Back-port  #47513  to  2017.7  @  2018-05-10
297694         15:19:04 UTC
297695
297696         · PR  #47513:  (frankiexyz)  Fix  #46546  eos  napalm's  grains issue
297697           (refs: #47562)
297698
297699         · be29b58a09 Merge pull request #47562 from rallytime/bp-47513
297700
297701         · 357bc084b3 fix #46546
297702
297703       · PR #47471: (meaksh) Fix inconsistency with "jid" on minion  scheduled
297704         jobs and the returners output @ 2018-05-09 18:20:00 UTC
297705
297706         · d3121fcfa4  Merge pull request #47471 from meaksh/2017.7-fix-incon‐
297707           sistent-scheduled-jid-with-returners
297708
297709         · f079939500 Do not override jid on returners, only sending  back  to
297710           master
297711
297712       · PR #47313: (Circuitsoft) Add Poky/Yocto support @ 2018-05-09 17:31:59
297713         UTC
297714
297715         · 662f6086db Merge pull request #47313 from Circuitsoft/2017.7
297716
297717         · 237560b745 Merge branch '2017.7' into 2017.7
297718
297719       · PR #47540: (terminalmage) Fix corner case where runas user's HOME env
297720         value is incorrect @ 2018-05-08 20:31:40 UTC
297721
297722         · 291d3d3bd8   Merge   pull  request  #47540  from  terminalmage/cmd‐
297723           mod-home-fix
297724
297725         · e4b277f82e Fix corner case where runas user's  HOME  env  value  is
297726           incorrect
297727
297728       · ISSUE  #24148:  (abng88) Update gitfs docs to include tutorial on how
297729         to configure gitfs for salt-call (masterless) (refs: #47547)
297730
297731       · PR #47547: (terminalmage) Add masterless mode docs to gitfs  tutorial
297732         @ 2018-05-08 20:24:29 UTC
297733
297734         · 49af577b3e  Merge pull request #47547 from terminalmage/gitfs-tuto‐
297735           rial
297736
297737         · 806ffb298a Add masterless mode docs to gitfs tutorial
297738
297739       · PR #47538: (terminalmage) Fix/clarify some of the pip module documen‐
297740         tation @ 2018-05-08 15:24:18 UTC
297741
297742         · 476ba053d1 Merge pull request #47538 from terminalmage/pip-docs
297743
297744         · 98e8ffeba4 Fix/clarify some of the pip module documentation
297745
297746       · PR  #47524:  (dwoz)  Gracefully handle blank lines in whitelist.txt @
297747         2018-05-08 15:04:23 UTC
297748
297749         · 7cc8d9d30a Merge pull request #47524 from dwoz/whitelistlines
297750
297751         · 2605ff8712 Gracefully handle blank lines in whitelist.txt
297752
297753       · PR #47527: (dwoz) Test file name @ 2018-05-07 22:02:04 UTC
297754
297755         · f1a5b13072 Merge pull request #47527 from dwoz/test_file_name
297756
297757         · 4aea7ca571 Update doc string
297758
297759         · b3289e5a1c Fix test file name
297760
297761       · PR #47408: (Ch3LL) Skip status.diskusage integration tests on  macsox
297762         @ 2018-05-07 19:06:57 UTC
297763
297764         · e9c1723175 Merge pull request #47408 from Ch3LL/skip_diskusage
297765
297766         · 068da8ad7d Merge branch '2017.7' into skip_diskusage
297767
297768         · 1a7ffb4e0d return error if diskusage not available
297769
297770         · 10bd63a976 Skip status.diskusage integration tests on macsox
297771
297772       · PR #47480: (baniobloom) added handling for the aws error Conflicting‐
297773         DomainExists @ 2018-05-07 19:05:28 UTC
297774
297775         · 2f50ff7bc8 Merge pull request #47480 from baniobloom/ConflictingDo‐
297776           mainExists
297777
297778         · d22ed7dffa added handling for the aws error ConflictingDomainExists
297779
297780       · PR  #47444:  (terminalmage)  Skip  trying  to render a template for a
297781         nonexistant SLS file @ 2018-05-07 13:48:24 UTC
297782
297783         · 7f53be6e92  Merge  pull  request  #47444   from   terminalmage/ren‐
297784           der_state-spurious-error
297785
297786         · a1e9fe00fd  Skip  trying to render a template for a nonexistant SLS
297787           file
297788
297789       · PR #47478: (terminalmage) Rename pip state test modules to match nam‐
297790         ing convention @ 2018-05-07 13:13:13 UTC
297791
297792         · 50b9c4d79d    Merge    pull    request    #47478   from   terminal‐
297793           mage/rename-pip-state-test
297794
297795         · 9f7a9ebebd Rename pip state test modules to match naming convention
297796
297797       · ISSUE #47443: (skylerberg) Input validation does not raise  SaltInvo‐
297798         cationError in win_dsc.py (refs: #47505)
297799
297800       · PR  #47505:  (dwoz)  Raise  proper  invocation  errors  @  2018-05-07
297801         13:05:22 UTC
297802
297803         · e78ac0f9b7 Merge pull request #47505 from dwoz/win_dsc_fixes
297804
297805         · d1fcb40d1c Raise proper invocation errors
297806
297807       · PR #47499: (dwoz) Move kill process tree and re-use it  @  2018-05-06
297808         20:54:22 UTC
297809
297810         · 0d4d5047d8   Merge  pull  request  #47499  from  dwoz/win_run_time‐
297811           out_again
297812
297813         · c6697b9f16 Move kill process tree and re-use it
297814
297815       · PR #47493: (dwoz) Add support  for  windows  timeout  to  run_salt  @
297816         2018-05-06 05:34:31 UTC
297817
297818         · 6a4d0380b1 Merge pull request #47493 from dwoz/win_run_timeout
297819
297820         · fec1233dc4 Add support for windows timeout to run_salt
297821
297822         · cb674fb1cb Enable opkg as pkgrepo handler on Poky
297823
297824         · 7a58fd157e Enable opkg on non-NILinuxRT systems
297825
297826         · 139360c55f Add Poky to OS Information Grains
297827
297828         · d74057224d Un-normalize os_family in pkgrepo state
297829
297830         · 95d4488f01 Merge branch '2017.7.6' into 47696-do-not-enumerate-none
297831
297832         · 041e4c6ddb  Wrap  properties  loop  with  a check for None.  Closes
297833           GH-47696
297834
297835   In Progress: Salt 2017.7.9 Release Notes
297836       Version 2017.7.9 is an unreleased bugfix release  for  2017.7.0.   This
297837       release is still in progress and has not been released yet.
297838
297839   Salt Cloud Features
297840   GCE Driver
297841       The GCE salt cloud driver can now be used with GCE instance credentials
297842       by setting the configuration paramaters service_account_private_key and
297843       service_account_private_email to an empty string.
297844
297845   Salt 2016.11.0 Release Notes - Codename Carbon
297846   New Features
297847   Docker Introspection and Configuration
297848       Major  additions have been made to the Docker support in 2016.11.0. The
297849       new addition allows Salt to be executed within a Docker container with‐
297850       out  a minion running or installed in the container. This allows states
297851       to be run inside a container, but also all of Salt's  remote  execution
297852       commands  to  be  run inside docker containers as well. This makes con‐
297853       tainer introspection simple and powerful. See  the  tutorial  on  using
297854       this new feature here:
297855
297856       See Salt in Docker Containers.
297857
297858   Advanced Ceph Control
297859       Our friends over at SUSE have delivered a powerful new tool to make the
297860       deployment of Ceph storage systems using Salt very easy. These new Ceph
297861       tools  allow  for  a  storage system to be easily defined using the new
297862       ceph.quorum state.
297863
297864   Thorium Additions and Improvements
297865       The Thorium  advanced  reactor  has  undergone  extensive  testing  and
297866       updates.   These updates include many more Thorium states, a system for
297867       automating key management, the ability to use Thorium to easily replace
297868       old reactors and a great deal of stability and bug fixes.
297869
297870   State Rollback Using Snapper
297871       Rollback  has been one of the most prevalent requests for Salt. We have
297872       researched it extensively and concluded that the only way to accomplish
297873       truly reliable rollback would be to execute it at the filesystem layer.
297874       To accomplish this we have introduced  Snapper  integration  into  Salt
297875       States.
297876
297877       Snapper is a tool which allows for simple and reliable snapshots of the
297878       filesystem to be made. With the new snapper_states option set  to  True
297879       in  the  minion  config  a snapshot will be made before and after every
297880       Salt State run.
297881
297882       These snapshots can be viewed, managed and rolled back to via the snap‐
297883       per execution module.
297884
297885   Preserve File Perms in File States
297886       This  feature  has  been requested for years, the ability to set a flag
297887       and use the same file permissions for files deployed to a minion as the
297888       permissions  set  to  the  file  on  the master. Just set the keep_mode
297889       option on any file management state to True.
297890
297891   Ponies!
297892       We all agreed that cowsay was just not good enough, install the ponysay
297893       command and the new pony outputter will work. Fun for the whole family!
297894
297895   Additional Features
297896       · Minions  can run in stand-alone mode to use beacons and engines with‐
297897         out having to connect to a master. (Thanks @adelcast!)
297898
297899       · Added a salt runner to allow running salt modules via salt-run.
297900
297901                salt-run salt.cmd test.ping
297902                # call functions with arguments and keyword arguments
297903                salt-run salt.cmd test.arg 1 2 3 a=1
297904
297905       · Added SSL support to Cassandra CQL returner.  SSL can be  enabled  by
297906         setting  ssl_options for the returner.  Also added support for speci‐
297907         fying protocol_version when establishing cluster connection.
297908
297909       · The mode parameter in  the  file.managed  state,  and  the  file_mode
297910         parameter  in the file.recurse state, can both now be set to keep and
297911         the minion will keep the mode of the file from the  Salt  fileserver.
297912         This works only with files coming from sources prefixed with salt://,
297913         or files local to the minion (i.e. those which are absolute paths, or
297914         are prefixed with file://). For example:
297915
297916            /etc/myapp/myapp.conf:
297917              file.managed:
297918                - source: salt://conf/myapp/myapp.conf
297919                - mode: keep
297920
297921            /var/www/myapp:
297922              file.recurse:
297923                - source: salt://path/to/myapp
297924                - dir_mode: 755
297925                - file_mode: keep
297926
297927       · The  junos  state  module  is now available. It has all the functions
297928         that are present in the junos execution module.
297929
297930       · The junos state module is now available. It  has  all  the  functions
297931         that are present in the junos execution module.
297932
297933       · The  minion  data  cache  is a pluggable data store now. It's config‐
297934         urable with cache option. Default is localfs.
297935
297936       · User names in client_acl support glob matching now.
297937
297938   New Top File Merging Strategy for States
297939       A new strategy called merge_all has been added to provide a new way  of
297940       merging   top  file  matches  when  executing  a  highstate.   See  the
297941       top_file_merging_strategy documentation for further information.
297942
297943       In addition, the same merging strategy was  not  functioning  as  docu‐
297944       mented.   This has now been corrected. While this is technically a bug‐
297945       fix, we decided to hold a change in top file merging  until  a  feature
297946       release to minimize user impact.
297947
297948   Improved Archive Extraction Support
297949       The  archive.extracted  state  has  been  overhauled.  Notable  changes
297950       include the following:
297951
297952       · When enforcing ownership (with the user and/or group arguments),  the
297953         if_missing  argument  no  longer  has any connection to which path(s)
297954         have ownership enforced. Instead, the paths are determined using  the
297955         either  the  newly-added  archive.list  function,  or the newly-added
297956         enforce_ownership_on argument.
297957
297958       · if_missing also is no longer required to skip extraction, as Salt  is
297959         now  able  to  tell  which paths would be present if the archive were
297960         extracted. It should, in most cases, only be necessary in cases where
297961         a  semaphore file is used to conditionally skip extraction of the ar‐
297962         chive.
297963
297964       · Password-protected ZIP archives are now detected  before  extraction,
297965         and  the  state fails without attempting to extract the archive if no
297966         password was specified.
297967
297968       · By default, a  single  top-level  directory  is  enforced,  to  guard
297969         against  'tar-bombs'.  This  enforcement  can  be disabled by setting
297970         enforce_toplevel to False.
297971
297972       · The tar_options and zip_options arguments  have  been  deprecated  in
297973         favor of a single options argument.
297974
297975       · The archive_format argument is now optional. The ending of the source
297976         argument is used to guess whether it is a tar, zip or  rar  file.  If
297977         the  archive_format cannot be guessed, then it will need to be speci‐
297978         fied, but in many cases it can now be omitted.
297979
297980       · Ownership enforcement is now performed irrespective of whether or not
297981         the  archive needed to be extracted. This means that the state can be
297982         re-run after the archive has been fully extracted to  repair  changes
297983         to ownership.
297984
297985       A  number  of  new arguments were also added. See the docs py:func:docs
297986       for the  archive.extracted  state  <salt.states.archive.extracted>  for
297987       more information.
297988
297989       Additionally,  the following changes have been made to the archive exe‐
297990       cution module:
297991
297992       · A new function (archive.list) has been added. This function lists the
297993         files/directories in an archive file, and supports a verbose argument
297994         that gives a more detailed breakdown of which paths are files,  which
297995         are directories, and which paths are at the top level of the archive.
297996
297997       · A  new  function (archive.is_encrypted) has been added. This function
297998         will return True if the archive is  a  password-protected  ZIP  file,
297999         False  if  not.  If  the  archive is not a ZIP file, an error will be
298000         raised.
298001
298002       · archive.cmd_unzip now supports passing a  password,  bringing  it  to
298003         feature  parity  with archive.unzip. Note that this is still not con‐
298004         sidered to be secure, and archive.unzip is  recommended  for  dealing
298005         with password-protected ZIP archives.
298006
298007       · The default value for the extract_perms argument to archive.unzip has
298008         been changed to True.
298009
298010   Improved Checksum Handling in file.managed, archive.extracted States
298011       When the source_hash argument for these states refers to  a  file  con‐
298012       taining  checksums,  Salt  now looks for checksums matching the name of
298013       the source URI, as well as the file being managed. Prior releases  only
298014       looked for checksums matching the filename being managed. Additionally,
298015       a new argument (source_hash_name) has been added, which allows the user
298016       to  disambiguate ambiguous matches when more than one matching checksum
298017       is found in the source_hash file.
298018
298019       A more detailed explanation of this functionality can be found  in  the
298020       file.managed documentation, in the section for the new source_hash_name
298021       argument.
298022
298023       NOTE:
298024          This improved functionality is also available in the 2016.3  (Boron)
298025          release cycle, starting with the 2016.3.5 release.
298026
298027   Config Changes
298028       The following default config values were changed:
298029
298030       · gitfs_ssl_verify: Changed from False to True
298031
298032       · git_pillar_ssl_verify: Changed from False to True
298033
298034       · winrepo_ssl_verify: Changed from False to True
298035
298036   Grains Changes
298037       · All  core grains containing VMWare have been changed to VMware, which
298038         is the official  capitalization.   Additionally,  all  references  to
298039         VMWare in the documentation have been changed to VMware issue #30807.
298040         Environments using versions of Salt before and after  Salt  2016.11.0
298041         should employ case-insensitive grain matching on these grains.
298042
298043            {% set on_vmware = grains['virtual'].lower() == 'vmware' %}
298044
298045       · On Windows the cpu_model grain has been changed to provide the actual
298046         cpu model name and not the cpu family.
298047
298048         Old behavior:
298049
298050            root@master:~# salt 'testwin200' grains.item cpu_model
298051            testwin200:
298052                ----------
298053                cpu_model:
298054                    Intel64 Family 6 Model 58 Stepping 9, GenuineIntel
298055
298056         New behavior:
298057
298058            root@master:~# salt 'testwin200' grains.item cpu_model
298059            testwin200:
298060                ----------
298061                cpu_model:
298062                    Intel(R) Core(TM) i7-3520M CPU @ 2.90GHz
298063
298064   Beacons Changes
298065       · The loadavg beacon  now  outputs  averages  as  integers  instead  of
298066         strings.  (Via issue #31124.)
298067
298068   Runner Changes
298069       · Runners can now call out to utility modules via __utils__.
298070
298071       · ref:Utility     modules    <writing-utility-modules>    (placed    in
298072         salt://_utils/) are now able to be synced to the  master,  making  it
298073         easier  to use them in custom runners. A saltutil.sync_utils function
298074         has been added to the saltutil runner to facilitate  the  syncing  of
298075         utility modules to the master.
298076
298077   Pillar Changes
298078       · Thanks to the new saltutil.sync_utils runner, it is now easier to get
298079         ref:utility modules <writing-utility-modules> synced to  the  correct
298080         location  on  the Master so that they are available in execution mod‐
298081         ules called from Pillar SLS files.
298082
298083   Junos Module Changes
298084       · The following new functionalities were added to the junos module
298085
298086         · facts - Displays the facts gathered during the connection.
298087
298088         · shutdown - Shut down or reboot a device running Junos OS.
298089
298090         · install_config - Modify the configuration of a Junos device.
298091
298092         · install_os - Install Junos OS software package.
298093
298094         · zeroize - Remove  all  configuration  information  on  the  Routing
298095           Engines and reset all key values on a device.
298096
298097         · file_copy - Copy file from proxy to the Junos device.
298098
298099   Network Automation: NAPALM
298100       Beginning  with 2016.11.0, network automation is included by default in
298101       the core of Salt. It is based on a  the  NAPALM  library  and  provides
298102       facilities  to  manage the configuration and retrieve data from network
298103       devices running widely used operating systems such: JunOS, IOS-XR, eOS,
298104       IOS, NX-OS etc.
298105
298106       · see the complete list of supported devices.
298107
298108       The connection is established via the NAPALM proxy.
298109
298110       In the current release, the following modules were included:
298111
298112       · NAPALM grains - Select network devices based on their characteristics
298113
298114       · NET execution module - Networking basic features
298115
298116       · NTP execution module
298117
298118       · BGP execution module
298119
298120       · Routes execution module
298121
298122       · SNMP execution module
298123
298124       · Users execution module
298125
298126       · Probes execution module
298127
298128       · NTP peers management state
298129
298130       · SNMP configuration management state
298131
298132       · Users management state
298133
298134   Cisco NXOS Proxy Minion
298135       Beginning  with  2016.11.0, there is a proxy minion that can be used to
298136       configure nxos cisco devices over ssh.
298137
298138       · Proxy Minion
298139
298140       · Execution Module
298141
298142       · State Module
298143
298144   Cisco Network Services Orchestrator Proxy Minion
298145       Beginning with 2016.11.0, there is a proxy minion to use the Cisco Net‐
298146       work Services Orchestrator as a proxy minion.
298147
298148       · Proxy Minion
298149
298150       · Execution Module
298151
298152       · State Module
298153
298154   Junos Module Changes
298155       · The following new functionalities were added to the junos module
298156
298157         · facts - Displays the facts gathered during the connection.
298158
298159         · shutdown - Shut down or reboot a device running Junos OS.
298160
298161         · install_config - Modify the configuration of a Junos device.
298162
298163         · install_os - Install Junos OS software package.
298164
298165         · zeroize  -  Remove  all  configuration  information  on the Routing
298166           Engines and reset all key values on a device.
298167
298168         · file_copy - Copy file from proxy to the Junos device.
298169
298170   Returner Changes
298171       · Any returner which implements a save_load function is now required to
298172         accept a minions keyword argument. All returners which ship with Salt
298173         have been modified to do so.
298174
298175   Renderer Changes
298176       Added the ability to restrict allowed renderers. Two new config parame‐
298177       ters, renderer_whitelist and renderer_blacklist are introduced for this
298178       purpose.
298179
298180   eAuth Changes
298181       · External auth modules' auth method can return an  ACL  list  for  the
298182         given  username instead of True. This list should be in the same for‐
298183         mat as described in the eAuth documentation. It will be used for  the
298184         user instead of one set in master config.
298185
298186         Example of the auth method return that allows a user to execute func‐
298187         tions in the test and network modules on the minions that  match  the
298188         web* target and allow access to wheel and runner modules:
298189
298190            [{'web*': ['test.*',
298191                       'network.*']},
298192             '@wheel',
298193             '@runner']
298194
298195       · External  auth  is  supported by salt-run and salt-key now. Note that
298196         master must be started to use them with eAuth.
298197
298198   External Module Packaging
298199       Modules may now be packaged via entry-points in setuptools. See  exter‐
298200       nal module packaging tutorial for more information.
298201
298202   Functionality Changes
298203       · The  onfail  requisite now uses OR logic instead of AND logic.  issue
298204         #22370
298205
298206       · The consul external pillar now strips  leading  and  trailing  white‐
298207         space.  issue #31165
298208
298209       · The  win_system.py  state  is  now case sensitive for computer names.
298210         Previously computer names set with a  state  were  converted  to  all
298211         caps. If you have a state setting computer names with lower case let‐
298212         ters in the name that has been applied, the  computer  name  will  be
298213         changed again to apply the case sensitive name.
298214
298215       · The  mac_user.list_groups  function  in the mac_user execution module
298216         now lists all groups for the specified user, including groups  begin‐
298217         ning  with an underscore. In previous releases, groups beginning with
298218         an underscore were excluded from the list of groups.
298219
298220       · The junos.call_rpc function in the junos execution module can now  be
298221         used  to  call any valid rpc. Earlier it used to call only "get_soft‐
298222         ware_information".
298223
298224       · A new option for minions called master_tries  has  been  added.  This
298225         specifies  the  number  of times a minion should attempt to contact a
298226         master to attempt a connection.  This allows better handling of occa‐
298227         sional master downtime in a multi-master topology.
298228
298229       · The  default hash_type is now sha256 instead of md5. You will need to
298230         make sure both your master and minion share the same hash_type.
298231
298232       · Nodegroups consisting of a simple list of minion IDs can now also  be
298233         declared as a yaml list. The below two examples are equivalent:
298234
298235            # Traditional way
298236            nodegroups:
298237              - group1: L@host1,host2,host3
298238
298239            # New way (optional)
298240            nodegroups:
298241              - group1:
298242                - host1
298243                - host2
298244                - host3
298245
298246   New Azure ARM Cloud Driver
298247       A  new  cloud  driver  has  been  added  for  Azure ARM, aka, the Azure
298248       Resource Manager. The older Azure driver is still required to work with
298249       the  older  Azure  API.  This  new driver works with the newer ARM API,
298250       which is managed via the newer Azure Portal website.
298251
298252   New Modules
298253   Beacons
298254       · salt.beacons.avahi_announce
298255
298256       · salt.beacons.bonjour_announce
298257
298258       · salt.beacons.haproxy
298259
298260       · salt.beacons.status
298261
298262   Clouds
298263       · salt.cloud.clouds.azurearm
298264
298265   Engines
298266       · salt.engines.hipchat
298267
298268       · salt.engines.http_logstash
298269
298270   Modules
298271       · salt.modules.boto_cloudwatch_event
298272
298273       · salt.modules.celery
298274
298275       · salt.modules.ceph
298276
298277       · salt.modules.influx08
298278
298279       · salt.modules.inspectlib.entities
298280
298281       · salt.modules.inspectlib.fsdb
298282
298283       · salt.modules.inspectlib.kiwiproc
298284
298285       · salt.modules.inspector
298286
298287       · salt.modules.libcloud_dns
298288
298289       · salt.modules.openstack_mng
298290
298291       · salt.modules.servicenow
298292
298293       · salt.modules.testinframod
298294
298295       · salt.modules.win_lgpo
298296
298297       · salt.modules.win_pki
298298
298299       · salt.modules.win_psget
298300
298301       · salt.modules.win_snmp
298302
298303       · salt.modules.xbpspkg
298304
298305   Outputters
298306       · salt.output.pony
298307
298308   Pillar
298309       · salt.pillar.csvpillar
298310
298311       · salt.pillar.http_json
298312
298313       · salt.pillar.makostack
298314
298315   Returners
298316       · salt.returners.zabbix_return
298317
298318   Runners
298319       · salt.runners.auth
298320
298321       · salt.runners.event
298322
298323       · salt.runners.smartos_vmadm
298324
298325       · salt.runners.vistara
298326
298327   SDB
298328       · salt.sdb.env
298329
298330   States
298331       · salt.states.boto_cloudwatch_event
298332
298333       · salt.states.csf
298334
298335       · salt.states.ethtool
298336
298337       · salt.states.influxdb08_database
298338
298339       · salt.states.influxdb08_user
298340
298341       · salt.states.libcloud_dns
298342
298343       · salt.states.snapper
298344
298345       · salt.states.testinframod
298346
298347       · salt.states.win_lgpo
298348
298349       · salt.states.win_pki
298350
298351       · salt.states.win_snmp
298352
298353   Thorium
298354       · salt.thorium.calc
298355
298356       · salt.thorium.key
298357
298358       · salt.thorium.runner
298359
298360       · salt.thorium.status
298361
298362       · salt.thorium.wheel
298363
298364   Deprecations
298365   General Deprecations
298366       · env to saltenv
298367
298368         All occurrences of env and some occurrences  of  __env__  marked  for
298369         deprecation  in Salt 2016.11.0 have been removed.  The new way to use
298370         the salt environment setting is with a variable called saltenv:
298371
298372            def fcn(msg='', env='base', refresh=True, saltenv='base', **kwargs):
298373
298374         has been changed to
298375
298376            def fcn(msg='', refresh=True, saltenv='base', **kwargs):
298377
298378         · If env (or __env__) is supplied as a keyword argument to a function
298379           that  also  accepts arbitrary keyword arguments, then a new warning
298380           informs the user that env is no longer used if it is  found.   This
298381           new warning will be removed in Salt 2017.7.0.
298382
298383              def fcn(msg='', refresh=True, saltenv='base', **kwargs):
298384
298385              # will result in a warning log message
298386              fcn(msg='add more salt', env='prod', refresh=False)
298387
298388         · If env (or __env__) is supplied as a keyword argument to a function
298389           that does not accept arbitrary keyword arguments, then python  will
298390           issue an error.
298391
298392              def fcn(msg='', refresh=True, saltenv='base'):
298393
298394              # will result in a python TypeError
298395              fcn(msg='add more salt', env='prod', refresh=False)
298396
298397         · If env (or __env__) is supplied as a positional argument to a func‐
298398           tion, then undefined behavior will occur, as the removal of env and
298399           __env__  from  the  function's argument list changes the function's
298400           signature.
298401
298402              def fcn(msg='', refresh=True, saltenv='base'):
298403
298404              # will result in refresh evaluating to True and saltenv likely not being a string at all
298405              fcn('add more salt', 'prod', False)
298406
298407       · Deprecations in minion.py:
298408
298409         · The salt.minion.parse_args_and_kwargs function  has  been  removed.
298410           Please use the salt.minion.load_args_and_kwargs function instead.
298411
298412   Cloud Deprecations
298413       · The  vsphere  cloud  driver  has  been removed. Please use the vmware
298414         cloud driver instead.
298415
298416       · The private_ip option in the linode cloud driver  is  deprecated  and
298417         has been removed. Use the assign_private_ip option instead.
298418
298419       · The  create_dns_record and delete_dns_record functions are deprecated
298420         and  have  been  removed  from  the  digital_ocean  driver.  Use  the
298421         post_dns_record function instead.
298422
298423   Execution Module Deprecations
298424       · The blockdev execution module had four functions removed:
298425
298426         · dump
298427
298428         · tune
298429
298430         · resize2fs
298431
298432         · wipe
298433
298434         The disk module should be used instead with the same function names.
298435
298436       · The boto_vpc execution module had two functions removed, boto_vpc.as‐
298437         sociate_new_dhcp_options_to_vpc    and    boto_vpc.associate_new_net‐
298438         work_acl_to_subnet   in   favor   of  more  concise  function  names,
298439         boto_vpc.create_dhcp_options and boto_vpc.create_network_acl, respec‐
298440         tively.
298441
298442       · The data execution module had getval and getvals functions removed in
298443         favor of one function, get, which combines the functionality  of  the
298444         removed functions.
298445
298446       · File module deprecations:
298447
298448         · The  contains_regex_multiline function was removed. Use file.search
298449           instead.
298450
298451         · Additional command line options for file.grep should be passed  one
298452           at a time.  Please do not pass more than one in a single argument.
298453
298454       · The lxc execution module has the following changes:
298455
298456         · The run_cmd function was removed. Use lxc.run instead.
298457
298458         · The  nic  argument was removed from the lxc.init function. Use net‐
298459           work_profile instead.
298460
298461         · The clone argument was removed  from  the  lxc.init  function.  Use
298462           clone_from instead.
298463
298464         · passwords  passed  to  the  lxc.init function will be assumed to be
298465           hashed, unless password_encrypted=False.
298466
298467         · The restart argument for lxc.start  was  removed.  Use  lxc.restart
298468           instead.
298469
298470         · The  old  style of defining lxc containers has been removed. Please
298471           use keys under which LXC profiles  should  be  configured  such  as
298472           lxc.container_profile.profile_name.
298473
298474       · The  env  and  activate  keyword arguments have been removed from the
298475         install function in the pip execution  module.  The  use  of  bin_env
298476         replaces both of these options.
298477
298478       · reg execution module
298479
298480         Functions  in  the  reg execution module had misleading and confusing
298481         names for dealing with the Windows registry. They failed  to  clearly
298482         differentiate  between  hives,  keys, and name/value pairs. Keys were
298483         treated like value names.  There was no way to delete a key.
298484
298485         New functions were added in 2015.5 to properly  work  with  the  reg‐
298486         istry.  They also made it possible to edit key default values as well
298487         as delete an entire key tree recursively. With the new  functions  in
298488         place, the following functions have been deprecated:
298489
298490         · read_key
298491
298492         · set_key
298493
298494         · create_key
298495
298496         · delete_key
298497
298498         Use the following functions instead:
298499
298500         · for read_key use read_value
298501
298502         · for set_key use set_value
298503
298504         · for create_key use set_value with no vname and no vdata
298505
298506         · for  delete_key  use  delete_key_recursive.  To delete a value, use
298507           delete_value.
298508
298509       · The hash_hostname option was removed from the salt.modules.ssh execu‐
298510         tion module. The hash_known_hosts option should be used instead.
298511
298512       · The human_readable option was removed from the uptime function in the
298513         status execution module. The function was also updated in 2015.8.9 to
298514         return  a  more complete offering of uptime information, formatted as
298515         an easy-to-read dictionary. This updated function replaces  the  need
298516         for the human_readable option.
298517
298518       · The  persist kwarg was removed from the win_useradd execution module.
298519         This option is no longer supported for Windows. persist is only  sup‐
298520         ported as part of user management in UNIX/Linux.
298521
298522       · The  zpool_list  function  in the zpool execution module was removed.
298523         Use list instead.
298524
298525   Outputter Module Deprecations
298526       · The compact outputter has been removed. Set  state_verbose  to  False
298527         instead.
298528
298529   Runner Module Deprecations
298530       · The grains.cache runner no longer accepts outputter or minion as key‐
298531         word arguments.  Users will need to specify an  outputter  using  the
298532         --out option. tgt is replacing the minion kwarg.
298533
298534       · The  fileserver  runner no longer accepts the outputter keyword argu‐
298535         ment. Users will need to specify an outputter using the --out option.
298536
298537       · The jobs runner no longer accepts  the  outputter  keyword  argument.
298538         Users will need to specify an outputter using the --out option.
298539
298540       · virt runner module:
298541
298542         · The  hyper  kwarg  was removed from the init, list, and query func‐
298543           tions.  Use the host option instead.
298544
298545         · The next_hyper function was removed.  Use  the  next_host  function
298546           instead.
298547
298548         · The  hyper_info  function  was  removed. Use the host_info function
298549           instead.
298550
298551   State Module Deprecations
298552       · The  env  and  activate  keyword  arguments  were  removed  from  the
298553         installed  function  in  the  pip  state  module.  The use of bin_env
298554         replaces both of these options.
298555
298556       · reg state module
298557
298558         The reg state module was modified to work with the new  functions  in
298559         the  execution module. Some logic was left in the reg.present and the
298560         reg.absent functions to handle existing state  files  that  used  the
298561         final  key in the name as the value name. That logic has been removed
298562         so you now must specify value name (vname) and, if needed, value data
298563         (vdata).
298564
298565         For  example,  a  state file that adds the version value/data pair to
298566         the Software\Salt key in the HKEY_LOCAL_MACHINE  hive  used  to  look
298567         like this:
298568
298569            HKEY_LOCAL_MACHINE\\Software\\Salt\\version:
298570              reg.present:
298571                - value: 2016.3.1
298572
298573         Now it should look like this:
298574
298575            HKEY_LOCAL_MACHINE\\Software\\Salt
298576              reg.present:
298577                - vname: version
298578                - vdata: 2016.3.1
298579
298580         A  state  file  for  removing  the  same value added above would have
298581         looked like this:
298582
298583            HKEY_LOCAL_MACHINE\\Software\\Salt\\version:
298584              reg.absent:
298585
298586         Now it should look like this:
298587
298588            HKEY_LOCAL_MACHINE\\Software\\Salt
298589              reg.absent:
298590                - vname: version
298591
298592         This new structure is important as it allows salt to  deal  with  key
298593         default values which was not possible before. If vname is not passed,
298594         salt will work with the default value for that hivekey.
298595
298596         Additionally, since you could only delete a value from  a  the  state
298597         module,  a  new  function (key_absent) has been added to allow you to
298598         delete a registry key and all subkeys  and  name/value  pairs  recur‐
298599         sively. It uses the new delete_key_recursive function.
298600
298601         For  additional  information see the documentation for the reg execu‐
298602         tion and state modules.
298603
298604       · lxc state module: The following functions were removed from  the  lxc
298605         state module:
298606
298607         · created: replaced by the present state.
298608
298609         · started: replaced by the running state.
298610
298611         · cloned:  replaced by the present state. Use the clone_from argument
298612           to set the name of the clone source.
298613
298614       · The     hash_hostname     option     was     removed     from     the
298615         salt.states.ssh_known_hosts state. The hash_known_hosts option should
298616         be used instead.
298617
298618       · The always kwarg used in the built function  of  the  pkgbuild  state
298619         module was removed. Use force instead.
298620
298621   Utils Module Deprecations
298622       · The use of jid_dir and jid_load were removed from the salt.utils.jid.
298623         jid_dir functionality for  job_cache  management  was  moved  to  the
298624         local_cache  returner.  jid_load  data is now retrieved from the mas‐
298625         ter_job_cache.
298626
298627       · ip_in_subnet function in salt.utils.network.py has been removed.  Use
298628         the in_subnet function instead.
298629
298630       · The     iam    utils    module    had    two    functions    removed:
298631         salt.utils.iam.get_iam_region and salt.utils.iam.get_iam_metadata  in
298632         favor of the aws utils functions salt.utils.aws.get_region_from_meta‐
298633         data and salt.utils.aws.creds, respectively.
298634
298635   Salt 2016.11.1 Release Notes
298636       Version 2016.11.1 is a bugfix release for 2016.11.0.
298637
298638   Statistics
298639       · Total Merges: 89
298640
298641       · Total Issue References: 29
298642
298643       · Total PR References: 83
298644
298645       · Contributors:  30  (Ch3LL,  Da-Juan,   DmitryKuzmenko,   MTecknology,
298646         adelcast,  attiasr,  bbinet,  cachedout,  cro,  dmurphy18, gtmanfred,
298647         isbm, jeanpralo, kraney, kstreee, lorengordon, mateiw,  mirceaulinic,
298648         morsik,   mschneider82,   rallytime,   rbjorklin,   scott-w,  sjorge,
298649         skizunov, techhat, terminalmage, thatch45, ticosax, whiteinge)
298650
298651   Changelog for v2016.11.0..v2016.11.1
298652       Generated at: 2018-05-27 14:25:03 UTC
298653
298654       · PR #38186: (Ch3LL) add 2016.11.1 changelog to release notes
298655
298656       · PR #38182: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
298657         @ 2016-12-09 21:25:47 UTC
298658
298659         · 23c039347e Merge pull request #38182 from rallytime/merge-2016.11
298660
298661         · 627242ab5d Merge branch '2016.3' into '2016.11'
298662
298663           · 65b2ad7b14 Merge pull request #38163 from Ch3LL/enabled_ec2_cloud
298664
298665             · be74c45463 enabled ec2 cloud tests
298666
298667           · b63f74e034      Merge      pull      request      #38177     from
298668             vutny/fix-cp-get-file-str
298669
298670             · a449980672 Correct cp.get_file_str docstring and  add  integra‐
298671               tion tests
298672
298673           · 7596313be0    Merge   pull   request   #38153   from   vutny/mas‐
298674             ter-includes-error-tolerance
298675
298676             · cd0154ee93 Master config includes may  contain  errors  and  be
298677               safely skipped
298678
298679       · ISSUE  #38094:  (bfilipek)  TypeError:  object of type 'float' has no
298680         len() in grains.filter_by (refs: #38158)
298681
298682       · PR  #38158:  (cachedout)  Fix  type  problem  in  grains.filter_by  @
298683         2016-12-09 21:24:40 UTC
298684
298685         · 8355adc535 Merge pull request #38158 from cachedout/issue_38094
298686
298687         · e8196e23c2 Lint, remove set literal
298688
298689         · 9f4ebb3c18 Fix type problem in grains.filter_by
298690
298691       · ISSUE  #38090:  (jf)  pkg.installed does not seem to refresh the repo
298692         database, no matter what (refs: #38113, #38156)
298693
298694       · PR #38156: (terminalmage) Remove rtag when windows  minion  refreshes
298695         early in state @ 2016-12-09 21:15:01 UTC
298696
298697         · 31a157d902  Merge  pull  request  #38156 from terminalmage/fix-win‐
298698           dows-refresh
298699
298700         · 258bd4c2aa Remove rtag when windows minion refreshes early in state
298701
298702       · ISSUE #37981: (tazaki)  Salt-cloud  ec2  vpc  securitygroupid  always
298703         returning default (refs: #38183)
298704
298705       · PR  #38183:  (cro)  Fix  bad set operations when setting up security‐
298706         groups in AWS.  @ 2016-12-09 21:12:10 UTC
298707
298708         · c638952684 Merge pull request #38183 from cro/fix_37891
298709
298710         · 0527d6f25e Fix bad set operations when setting up securitygroups in
298711           AWS.  Fixes #37891.
298712
298713         · PR  #38181: (rallytime) Reset socket default timeout to None (fixes
298714           daemons_tests failures)
298715
298716       · PR #38148: (whiteinge) Remove ssh_async from NetapiClient clients; it
298717         is not implemented @ 2016-12-09 18:49:42 UTC
298718
298719         · 7ccbedd2cc       Merge      pull      request      #38148      from
298720           whiteinge/no-ssh-async-client
298721
298722         · cb58cd4795 Remove ssh_async from NetapiClient clients;  it  is  not
298723           implemented
298724
298725       · PR  #38160:  (terminalmage)  Update information about xz-utils in ar‐
298726         chive state/module docs @ 2016-12-09 18:34:03 UTC
298727
298728         · 8d4e194400 Merge pull request #38160  from  terminalmage/update-ar‐
298729           chive-docs
298730
298731         · 8e4ad3cff3  Update information about xz-utils in archive state/mod‐
298732           ule docs
298733
298734       · ISSUE #38024: (Ch3LL) 2016.11.0 release notes missing azure arm  ref‐
298735         erence (refs: #38164)
298736
298737       · PR  #38164:  (techhat)  Add Azure ARM docs for 2016.11.0 @ 2016-12-09
298738         18:00:22 UTC
298739
298740         · 05136f0d8c Merge pull request #38164 from techhat/azuredocs
298741
298742         · 71b787e250 Add Azure ARM docs for 2016.11.0
298743
298744       · PR #38173: (rallytime) Bump some win* module deprecations from Nitro‐
298745         gen to Oxygen @ 2016-12-09 16:57:29 UTC
298746
298747         · e3c858cc28 Merge pull request #38173 from rallytime/update-win-dep‐
298748           recation-versions
298749
298750         · 09a50b25e7 Bump some win* module deprecations from Nitrogen to Oxy‐
298751           gen
298752
298753       · PR  #38036: (terminalmage) archive.extracted: fix problems with over‐
298754         write arg @ 2016-12-08 19:08:41 UTC
298755
298756         · PR  #37889:  (isbm)  Allow  overwrite  archives  extraction  (refs:
298757           #38036)
298758
298759         · 827bf59999   Merge   pull   request  #38036  from  terminalmage/ar‐
298760           chive-extracted-override
298761
298762         · a1c70c7b95 archive.extracted: fix problems with overwrite arg
298763
298764       · PR #38133: (terminalmage) Fix edge case in creation of trans tar  for
298765         salt-thin @ 2016-12-08 17:47:26 UTC
298766
298767         · 50773a5f96 Merge pull request #38133 from terminalmage/zd1067
298768
298769         · 71e0bd023f Fix edge case in creation of trans tar for salt-thin
298770
298771       · PR #38138: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
298772         @ 2016-12-07 20:15:56 UTC
298773
298774         · 6026cb23b2 Merge pull request #38138 from rallytime/merge-2016.11
298775
298776         · 28b56ea3b4 Merge branch '2016.3' into '2016.11'
298777
298778         · 86091db647 Skip daemon unit tests when running  on  Python  2.6  (‐
298779           #38134)
298780
298781       · PR #38130: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
298782         @ 2016-12-07 20:11:19 UTC
298783
298784         · 90478ef25e Merge pull request #38130 from rallytime/merge-2016.11
298785
298786         · 4d7d9abb41 Merge branch '2016.3' into '2016.11'
298787
298788           · d3d98fd4eb Merge pull request #38102 from rallytime/fix-38091
298789
298790             · 4f79d5a0d1 Add False + msg tuple return if requests is  missing
298791               for zenoss module
298792
298793           · 8c8cbc2734 Merge pull request #38104 from rallytime/bp-36794
298794
298795             · c906c8a0d5 Pylint fixes
298796
298797             · da3ebf83e6 FreeBSD sysctl module now handels config_file param‐
298798               eter in show method
298799
298800         · PR #38129: (Ch3LL) Fix beacon index
298801
298802         · PR #38127: (rallytime) Add versionadded  tags  for  network  module
298803           funcs
298804
298805       · ISSUE  #38042: (MTecknology) [2016.11.0] Invalid interfaces file pro‐
298806         duced by debian_ip module (refs: #38043)
298807
298808       · PR #38043: (MTecknology) Debian networking fix @ 2016-12-07  17:32:18
298809         UTC
298810
298811         · fd06bab673 Merge pull request #38043 from MTecknology/2016.11
298812
298813         · 6d5e132e44 Removing trailing whitespace from previous commit
298814
298815         · f882674acf Adding some options that are valid for inet6 blocks.
298816
298817         · 81cb688d4c Better check for dual stack.
298818
298819         · 525c746274 May Cthulhu take mercy on my soul for this commit.
298820
298821         · 300ca6047e  I guess this makes the previous commit a bit redundant,
298822           but I'm not sure if I want to remove it.
298823
298824         · 6e7fc39c68 This now seems absurdly obvious, but I'm not ruling  out
298825           that I'll break everything.
298826
298827         · 82d2b89e0c Rolling back unit test.
298828
298829         · b3edbcfd05 Adding larger and more complete debian_ip unit test.
298830
298831         · 3afd7b6cf4 Adding the valid/documented 'slaves' option.
298832
298833         · b6b1adc091 Typo: missing closing parenthesis
298834
298835         · 756e41caf2 Fixing a typo; line should not be commented
298836
298837         · 32a1374748 Corrects expected return value
298838
298839         · 88f9d9f22c Mostly whitespace & comment changes
298840
298841         · 41ffb8d805 Removing redundant line
298842
298843         · 3a8168667b Ensure iface_dict not being populated will not produce a
298844           stacktrace
298845
298846         · 4de2cb2805 Corrects regression in debian_ip/debian_eth.jinja
298847
298848       · PR #38107: (cachedout) Status beacon should raise proper exception  @
298849         2016-12-07 17:21:49 UTC
298850
298851         · PR  #38088:  (dmurphy18)  Updated  to  match formulas and allow for
298852           missing functions (refs: #38107)
298853
298854         · 4b9a7f2295 Merge pull request #38107 from cachedout/supercede_38088
298855
298856         · 73d724845d Change to log.debug per Tom
298857
298858         · da135b1b59 Fix docs
298859
298860         · 792b422dc2 Pylint fix
298861
298862         · 88e03bba6d Fix typo
298863
298864         · a8ce153252 Status beacon should raise proper exception
298865
298866       · PR #38101: (lorengordon) Clarifies file.replace behavior on  symlinks
298867         @ 2016-12-07 13:27:11 UTC
298868
298869         · da8f5ac0c6    Merge    pull    request    #38101   from   lorengor‐
298870           don/file-replace-note
298871
298872         · 345990f2b0 Clarifies file.replace behavior on symlinks
298873
298874       · ISSUE #38090: (jf) pkg.installed does not seem to  refresh  the  repo
298875         database, no matter what (refs: #38113, #38156)
298876
298877       · PR  #38113:  (terminalmage)  Revert  changes  to  refresh tag for pkg
298878         states @ 2016-12-07 13:11:14 UTC
298879
298880         · d47761f349 Merge pull request #38113 from terminalmage/issue38090
298881
298882         · 9f347df012 Revert changes to refresh tag for pkg states
298883
298884       · ISSUE #37976: (t0nyhays) Error when status beacon  fires  (2016.11.0)
298885         (refs: #38120)
298886
298887       · PR  #38120:  (Da-Juan)  Fix  status  beacon  config  default values @
298888         2016-12-07 13:08:33 UTC
298889
298890         · d4c34e0a58 Merge pull request #38120 from Da-Juan/2016.11
298891
298892         · 7e4a35e8ad Fix status beacon config default values
298893
298894       · PR #38114: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
298895         @ 2016-12-07 12:45:04 UTC
298896
298897         · 6868089a87 Merge pull request #38114 from rallytime/merge-2016.11
298898
298899         · fec9dec23a Merge branch '2016.3' into '2016.11'
298900
298901           · fbc87769b9 Merge pull request #38083 from twangboy/fix_refresh_db
298902
298903             · 978af6d83c Remove only .sls files from the cached winrepo-ng
298904
298905           · 9dcfdeef6b   Merge   pull   request  #38059  from  rallytime/dae‐
298906             mons-test-fix
298907
298908             · eb372b27d8 Add missing "not" statement: The  last  syndic  test
298909               should assertFalse()
298910
298911             · 4e10f8e018   Call   exec_test   for   the   Syndic   daemon  in
298912               tests.unit.daemons_test.py
298913
298914           · 9cd42b9b3f Merge pull request #38039 from rallytime/fix-37939
298915
298916             · 1da7aacfbe  Update  unit  tests  to  account   for   additional
298917               file.search call
298918
298919             · 8a685b1820  Check  to see if a line is already commented before
298920               moving on
298921
298922             · f2c045520d Write an integration test demonstrating the issue
298923
298924           · a34a763984 Merge pull request #38045 from terminalmage/issue38037
298925
298926             · 65289503d9 Simplify logic for matching desired  pkg  arch  with
298927               actual pkg arch
298928
298929             · 3babbcda94  yumpkg.py: don't include non-upgrade versions found
298930               by "yum list available"
298931
298932       · PR #38109: (gtmanfred) mode needs  to  be  an  integer  @  2016-12-07
298933         11:58:24 UTC
298934
298935         · b9920e54ee Merge pull request #38109 from gtmanfred/2016.11
298936
298937         · 7546760eb3 mode needs to be an integer
298938
298939       · PR  #38103:  (rallytime)  Back-port  #37283  to  2016.11 @ 2016-12-06
298940         23:12:59 UTC
298941
298942         · PR #37283: (jeanpralo) Handle docker-compose up  to  version  1.9.0
298943           (refs: #38103)
298944
298945         · PR #37215: (mschneider82) removed version check (refs: #37283)
298946
298947         · fd77dcbd0f Merge pull request #38103 from rallytime/bp-37283
298948
298949         · 11944df69b handle up to version 1.9.0
298950
298951       · PR #38057: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
298952         (refs: #38059) @ 2016-12-06 23:11:41 UTC
298953
298954         · 5d9d6b9280 Merge pull request #38057 from rallytime/merge-2016.11
298955
298956         · 342884018b Fix SaltKeyOptionParserTestCase test failures
298957
298958         · 186e2d0d03  Don't  allow  libcloud   mock   module   injection   in
298959           unit/states/libcloud_dns_test.py either
298960
298961         · d513a60189  Do not allow libcloud to be injected as a mock value in
298962           the libcloud_dns_test
298963
298964         · 74a417e527 Update the mocked cloud configs to also  include  master
298965           configs
298966
298967         · f2c8cb13d0 Better merge conflict resolution from the initial merge
298968
298969         · 8fd53a4808 Merge branch '2016.3' into '2016.11'
298970
298971           · 6724fe4871 Modify daemons test to use multiprocessing (#38034)
298972
298973           · 6942d5d95b Merge pull request #37995 from rallytime/merge-2016.3
298974
298975             · b44e17921c Merge branch '2015.8' into '2016.3'
298976
298977               · 7a7e36728f   Merge   pull   request   #37978  from  terminal‐
298978                 mage/ext_pillar_first-docs
298979
298980                 · 61ed9a8657 Add clarifying language to ext_pillar_first docs
298981
298982           · cd66c179cb fix broken yaml code block (#38002)
298983
298984           · 3dd45fbedf    Merge    pull    request    #37912    from    atti‐
298985             asr/fix_aws_response_encoding
298986
298987             · ba4ec4e7f1 use Requests result encoding to encode the text
298988
298989             · abe4eb3b98 fix encoding problem aws responses
298990
298991           · 69a74a4d2d   Merge  pull  request  #37950  from  vutny/fix-start‐
298992             ing-up-syndic
298993
298994             · 7d9bc9abce syndic_master: correct default value,  documentation
298995               and example config
298996
298997             · 92a7c7ed1b  Set  default Salt Master address for a Syndic (like
298998               for a Minion)
298999
299000           · 7f269bc7f9 Add clarification on expr_form usage and future depre‐
299001             cation (#37964)
299002
299003           · 1001987f64 Catch possible exception from lsb_release (#37962)
299004
299005           · 330021cd8b Handle empty tokens safely (#37961)
299006
299007           · ea46639ce7   Merge   pull   request  #37272  from  vutny/fix-get‐
299008             ting-default-logging-opts
299009
299010             · e5ce52388a Fix description in the Salt Syndic usage info
299011
299012             · 518a3dd7ee Add unit tests for Salt parsers  processing  logging
299013               options
299014
299015             · 83d6a44254  Add  ssh_log_file option to master config and docu‐
299016               mentation
299017
299018             · c8a0915460 Fix configuration example and documentation for syn‐
299019               dic_log_file option
299020
299021             · e64dd3ed6b   Correct  default  attributes  for  various  parser
299022               classes
299023
299024             · 82a2e216b3 Fix default usage string for Salt command line  pro‐
299025               grams
299026
299027             · 45dffa292f Fix readding and updating logfile and pidfile config
299028               options for Salt API
299029
299030             · f47253c21b Fix reading and applying Salt Cloud default configu‐
299031               ration
299032
299033             · fad5bec936 Work with a copy of default opts dictionaries
299034
299035             · b7c24811e5 Fix log_level_logfile config value type
299036
299037             · 1bd76a1d96  Fix setting temporary log level if CLI option omit‐
299038               ted
299039
299040             · 121848cc77 Fix obtaining log_granular_levels config setting
299041
299042             · 44cf07fec2 Make CLI options take precedence for setting up log‐
299043               file_logger
299044
299045             · 61afaf1792   Fix  setting  option  attributes  when  processing
299046               log_level and log_file
299047
299048             · 3c60e2388e Fix processing of log_level_logfile config setting
299049
299050             · 55a0af5bbd Use attribute functions for getting/setting  options
299051               and config values
299052
299053             · c25f2d091e Fix getting Salt API default logfile option
299054
299055             · f2422373c1   Remove   processing  of  unused  and  undocumented
299056               cli_*_log_* config options
299057
299058             · 2065e8311c Get default logging level and file from default opts
299059               dict
299060
299061           · f2f957da6c Merge pull request #37925 from kontrolld/add-ipv6-cen‐
299062             tos-network
299063
299064             · ac2b477412 Adding IPv6 functionality  for  CentOS  /etc/syscon‐
299065               fig/network
299066
299067           · c07ad11279   Merge   pull   request   #37899   from   DSRCorpora‐
299068             tion/bugs/37059_schedule_task_hang
299069
299070             · 9497748546  Clear  functions  context  in  schedule  tasks  for
299071               ZeroMQ.
299072
299073           · a55519db40 Merge pull request #37928 from techhat/issue37737
299074
299075             · a09a60e89b Don't modify self.opts directly
299076
299077           · 9d17f1ce90 Merge pull request #37929 from gtmanfred/2016.3
299078
299079             · c7d2c73503 add list_nodes_min to nova driver
299080
299081           · 3bb743b59f Merge pull request #37926 from kontrolld/fix-ipv6-cen‐
299082             tos-network
299083
299084             · 3ed42e5b44 updated
299085
299086             · 3b3bc4f239 Fixes no IPv6 functionality  in  /etc/sysconfig/net‐
299087               work
299088
299089           · 271170a9f3 Merge pull request #37921 from rallytime/merge-2016.3
299090
299091             · 523a67c422 Merge branch '2015.8' into '2016.3'
299092
299093               · 4cdc6cf5ec  Update earlier release channels' docs with Carbon
299094                 release notes (#37914)
299095
299096               · d31491a7fe [2015.8] Update version numbers in doc config  for
299097                 2016.11.0 release (#37918)
299098
299099           · 6cd6429ac0    Merge    pull    request    #37924   from   cached‐
299100             out/fix_gem_states
299101
299102             · 894cca3427 Update test for new gem ver
299103
299104         · PR #38112: (rallytime) Account for case where vim  install  already
299105           exists and is at an older version
299106
299107       · ISSUE  #19502:  (kt97679)  salt-ssh fails to run state.highstate with
299108         custom master_tops (refs: #38021)
299109
299110       · PR #38021: (mateiw) Add master_tops support in salt-ssh @  2016-12-06
299111         14:26:22 UTC
299112
299113         · f8c67a9598  Merge  pull  request  #38021  from mateiw/salt-ssh_mas‐
299114           ter_tops
299115
299116         · 65a0f102fd Add/remove newlines
299117
299118         · 7037fa116d Add master_tops support in salt-ssh
299119
299120         · PR #38084: (rallytime)  Start  release  notes  file  for  2016.11.1
299121           release
299122
299123       · PR  #37878: (kstreee) Makes threads avoid blocking waiting while com‐
299124         municating using Zeromq.  @ 2016-12-05 19:50:46 UTC
299125
299126         · 78295516e7 Merge pull request #37878 from kstreee/2016.11
299127
299128         · 9103878c4f Fixes blocking waiting  through  implementing  a  socket
299129           pool class.
299130
299131       · PR  #37987:  (rbjorklin)  consul_pillar  support  for limiting pillar
299132         exposure via minion targeting @ 2016-12-05 19:48:20 UTC
299133
299134         · PR #37985: (rbjorklin) consul_pillar support  for  limiting  pillar
299135           exposure via minion targeting (refs: #37987)
299136
299137         · 0809ccd429  Merge  pull  request  #37987 from rbjorklin/consul-pil‐
299138           lar-target
299139
299140         · 5d0454a7ca Ignore W1401 (anomalous-backslash-in-string)
299141
299142         · 2e929a5ecc Linting fixes
299143
299144         · 171cab1726 Fixed possible incorrect behavior if  target  wasn't  on
299145           start/end of str
299146
299147         · 7440582ce8  consul_pillar  support for limiting pillar exposure via
299148           minion targeting
299149
299150       · ISSUE #38062: (UtahDave) archive execution module not loading on Win‐
299151         dows in 2016.11.0 (refs: #38067)
299152
299153       · PR #38067: (terminalmage) Remove virtual funcs for archive state/mod‐
299154         ule @ 2016-12-05 16:37:23 UTC
299155
299156         · 83dcfe81ea Merge pull request #38067 from terminalmage/issue38062
299157
299158         · 2e0f26a084 Remove virtual funcs for archive state/module
299159
299160       · ISSUE  #38001:  (tomlaredo)  Regression   on   postgres_group.present
299161         ('postgres_group' __virtual__ returned False) (refs: #38023)
299162
299163       · ISSUE  #37986:  (marek-obuchowicz)  Module  postgres  -  wrong  docs,
299164         doesn't work with debian 8.5 (refs: #38023)
299165
299166       · ISSUE #37935: (ipmb) Postgres module  regression  on  2016.11  (refs:
299167         #37946, #37993, #38023, #38058)
299168
299169       · PR  #38058: (rallytime) Remove initdb dependency in postgres module @
299170         2016-12-04 04:19:02 UTC
299171
299172         · PR #38023: (gtmanfred) Expand error  message  for  postgres  states
299173           (refs: #38058)
299174
299175         · PR  #37993:  (ticosax) Remove initdb dependency to consume postgres
299176           module. (refs: #38058)
299177
299178         · c9933670f9    Merge    pull    request    #38058    from     rally‐
299179           time/remove-init-db-dep
299180
299181         · c1ceeca3d3 Remove initdb dependency in postgres module
299182
299183       · ISSUE  #37969:  (lordcirth) Archive.extracted fails if -user: root is
299184         specified (refs: #38004)
299185
299186       · PR #38004: (terminalmage) Fix regression in user/group mgmt  for  ar‐
299187         chive.extracted @ 2016-12-02 18:28:49 UTC
299188
299189         · 1ac53e5196 Merge pull request #38004 from terminalmage/issue37969
299190
299191         · 23bb90a7ce   Add   integration   test  for  archive.extracted  with
299192           user/group set to root
299193
299194         · e5ee721696 Don't use simple boolean check on uid/gid
299195
299196       · ISSUE #37941: (L4rS6) Outdated  documentation  for  2016.11.x  (refs:
299197         #38051)
299198
299199       · PR  #38051:  (Ch3LL)  add  docs  for  hash_type  change  to  sha256 @
299200         2016-12-02 18:11:36 UTC
299201
299202         · e90cbbef08 Merge pull request #38051 from Ch3LL/fix_hash_docs
299203
299204         · e95f88fbe3 add docs for hash_type change to sha256
299205
299206       · ISSUE #38000: (morganwillcock) 2016.11.0: saltutil.runner  returns  a
299207         different dict structure and breaks template rendering (refs: #38028)
299208
299209       · PR  #38028:  (terminalmage)  Pass  full_return  to  saltutil.runner @
299210         2016-12-02 09:49:31 UTC
299211
299212         · 1b52289508 Merge pull request #38028 from terminalmage/issue38000
299213
299214         · 9bf13d55b4 Pass full_return to saltutil.runner
299215
299216       · ISSUE #37980: (tveastman) Having 'git' in fileserver_backends and  no
299217         gitfs_remotes defined causes a crash (refs: #38044)
299218
299219       · PR #38044: (terminalmage) Remove debugging code @ 2016-12-02 09:43:44
299220         UTC
299221
299222         · 41c44ff684 Merge pull request #38044 from terminalmage/issue37980
299223
299224         · f70a0409b3 Remove debugging code
299225
299226       · PR #38035: (dmurphy18) Updated to return status from make_repo  simi‐
299227         lar to rpmbuild.py @ 2016-12-01 22:30:53 UTC
299228
299229         · 9661258f22 Merge pull request #38035 from dmurphy18/fix_debbuild
299230
299231         · 3bca96e7f2  Updated to return status from make_repo similar to rpm‐
299232           build.py
299233
299234       · ISSUE  #38001:  (tomlaredo)  Regression   on   postgres_group.present
299235         ('postgres_group' __virtual__ returned False) (refs: #38023)
299236
299237       · ISSUE  #37986:  (marek-obuchowicz)  Module  postgres  -  wrong  docs,
299238         doesn't work with debian 8.5 (refs: #38023)
299239
299240       · ISSUE #37935: (ipmb) Postgres module  regression  on  2016.11  (refs:
299241         #37946, #37993, #38023, #38058)
299242
299243       · PR  #38023:  (gtmanfred)  Expand  error  message  for postgres states
299244         (refs: #38058) @ 2016-12-01 22:05:06 UTC
299245
299246         · 141b5c5656 Merge pull request #38023 from gtmanfred/2016.11
299247
299248         · 1aa43eba80 Expand error message for postgres states
299249
299250         · ac72ee600e Revert  "Updated  the  bins_dir  to  default  to  pg_bin
299251           #37935"
299252
299253       · PR  #38026:  (rallytime)  Back-port  #38015  to  2016.11 @ 2016-12-01
299254         19:16:15 UTC
299255
299256         · PR #38015: (morsik) Typo fix (refs: #38026)
299257
299258         · 79486421f5 Merge pull request #38026 from rallytime/bp-38015
299259
299260         · 11becf3e68 Typo fix
299261
299262         · PR #38022:  (DmitryKuzmenko)  Added  Carbon  release  notes.  Fixed
299263           sphinx errors in the file.
299264
299265         · PR #38011: (rallytime) Adjust code examples to use the actual boot‐
299266           strap-salt.sh file name
299267
299268       · ISSUE #37940: (alex-zel) dockerng.sls_build fails on  some  distribu‐
299269         tions (refs: #37954)
299270
299271       · PR  #37954:  (gtmanfred)  use  sleep from path for docker.sls_build @
299272         2016-11-30 18:08:45 UTC
299273
299274         · 0a041277ea Merge pull request #37954 from gtmanfred/2016.11
299275
299276         · 9caf0b406d use sleep from path for docker.sls_build
299277
299278       · ISSUE #37935: (ipmb) Postgres module  regression  on  2016.11  (refs:
299279         #37946, #37993, #38023, #38058)
299280
299281       · PR  #37993:  (ticosax)  Remove  initdb dependency to consume postgres
299282         module. (refs: #38058) @ 2016-11-30 18:08:13 UTC
299283
299284         · 4ef5c98845      Merge      pull      request      #37993       from
299285           ticosax/remove-initdb-requirement
299286
299287         · c5c7a53d72 Remove initdb dependency to consume postgres module.
299288
299289       · PR  #37997:  (cachedout)  Update  gem  test  for 2016.11 @ 2016-11-30
299290         17:13:45 UTC
299291
299292         · 2e5565685c Merge pull request #37997 from cachedout/gem_test_carbon
299293
299294         · 1d221aa91c Update gem test for 2016.11
299295
299296       · ISSUE #36723: (white-hat) ext_pillar_first option is broken in 2016.3
299297         (refs: #36807)
299298
299299       · ISSUE  #24501:  (astehlik) Order in top.sls file is not respected for
299300         pillar data in local mode (refs: #31316)
299301
299302       · ISSUE #19332: (QuinnyPig) Nondeterminism in Pillar (refs: #31316)
299303
299304       · PR  #37979:  (terminalmage)  Revert  addition  of  pillar_roots_over‐
299305         ride_ext_pillar @ 2016-11-30 14:34:24 UTC
299306
299307         · PR  #36807: (terminalmage) Fix pillar merging when ext_pillar_first
299308           is enabled (refs: #37979)
299309
299310         · PR #31316: (kraney) Let  ext_pillar_first  determine  the  override
299311           order (refs: #37979)
299312
299313         · ca3a9488f1  Merge pull request #37979 from terminalmage/revert-pil‐
299314           lar-change
299315
299316         · 6135dfa4dd Revert addition of pillar_roots_override_ext_pillar
299317
299318         · PR #37970: (rallytime) Back-port #37958 to 2016.11
299319
299320         · PR #37958: (mirceaulinic) Fix RST link  format  in  Carbon  release
299321           notes (refs: #37970)
299322
299323         · PR #37971: (rallytime) Lint 2016.11 sooner rather than later
299324
299325         · PR  #37955:  (rallytime)  [2016.11]  Merge  forward  from 2016.3 to
299326           2016.11 (refs: #37971)
299327
299328       · ISSUE #37935: (ipmb) Postgres module  regression  on  2016.11  (refs:
299329         #37946, #37993, #38023, #38058)
299330
299331       · PR  #37946:  (scott-w)  Updated  the  bins_dir to default to pg_bin @
299332         2016-11-29 16:48:27 UTC
299333
299334         · 36f91408c5 Merge pull request #37946 from scott-w/37935-fix-bin-dir
299335
299336         · d33d403969 Restored missing initdb #37935
299337
299338         · a041b9f8e8 Use Salt deprecation warning #37935
299339
299340         · a96789353f Updated the bins_dir to default to pg_bin #37935
299341
299342       · PR #37889: (isbm) Allow overwrite archives extraction (refs:  #38036)
299343         @ 2016-11-29 16:18:57 UTC
299344
299345         · d8650c5474  Merge  pull  request  #37889  from isbm/isbm-states-ar‐
299346           chive-fix
299347
299348         · e67706bd29 Document the behaviour.
299349
299350         · 1970814111 Prevent crash during externally changed archive  permis‐
299351           sions
299352
299353         · 91b42578b2  Add  overwrite  option so the extraction of the archive
299354           can be always performed.
299355
299356         · e6958f7f15 Remove nonsense comment and react  on  generally  absent
299357           path name
299358
299359       · PR #37869: (isbm) Input sanitation (16.11) @ 2016-11-29 16:17:16 UTC
299360
299361         · e2b9e58d30  Merge  pull request #37869 from isbm/isbm-input-sanita‐
299362           tion-16.11
299363
299364         · f9ec5d68af Use six instead of builtins
299365
299366         · 203dfcb238 Use American spelling instead
299367
299368         · 91ed307af9 Sanitise input for the keys and IDs
299369
299370         · 86623f913d Add a stub for ID sanitiser (at the moment same as host‐
299371           name)
299372
299373         · 637144c841 Rename "general.py" to "sanitisers.py"
299374
299375         · f2571fc8bf Add hostname sanitiser
299376
299377         · 3ae086aff4 Add filename sanitiser
299378
299379         · 816b1d1977 Add general sanitisers
299380
299381       · PR  #37884: (isbm) Do not include "gpg-pubkey" packages, filtering by
299382         their name @ 2016-11-28 21:11:37 UTC
299383
299384         · e539a94a56  Merge   pull   request   #37884   from   isbm/isbm-zyp‐
299385           per-gpgkey-pkg-filter
299386
299387         · 038374a586 Do not include "gpg-pubkey" packages, filtering by their
299388           name
299389
299390       · PR #37882: (attiasr) multiple issues in boto_rds state and  module  @
299391         2016-11-28 21:09:11 UTC
299392
299393         · eb3d81a1de Merge pull request #37882 from attiasr/fix_missing_tags
299394
299395         · 73b3c5fa1a Add newline
299396
299397         · 166c42bc51 fix boto_rds.describe
299398
299399         · ddd88ba047    fix   boto_rds.describe    parameters   and   subnet‐
299400           group_present
299401
299402         · bfe7f92cb4 fix missing tags in call to boto_rds.exists
299403
299404         · PR #37931:  (rallytime)  Remove  release  candidate  doc  ref  from
299405           2016.11.0 release notes
299406
299407       · PR  #37930: (cachedout) Remove dictionary comprehension in netusers @
299408         2016-11-28 20:27:06 UTC
299409
299410         · 3d2dabc7b7 Merge pull request #37930 from cachedout/fix_comp
299411
299412         · 670e83200b Remove dictionary comprehension in netusers
299413
299414       · PR #37923: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
299415         @ 2016-11-28 19:55:03 UTC
299416
299417         · 0f8b187d15 Merge pull request #37923 from rallytime/merge-2016.11
299418
299419         · da7f5518eb  Don't  let  2016.3  doc  config  changes  overwrite the
299420           2016.11 changes
299421
299422         · dfedd1185a Merge branch '2016.3' into '2016.11'
299423
299424           · c35ba1f390   Merge    pull    request    #37916    from    rally‐
299425             time/doc-update-2016.3
299426
299427             · bd40592289  [2016.3]  Update  version numbers in doc config for
299428               2016.11.0 release
299429
299430           · e13a2488c8     Merge      pull      request      #37785      from
299431             Cloudtek/ddns-respect-trailing-dot
299432
299433             · 262e3b3697 respect trailing dot in ddns name parameter
299434
299435           · c03b389422      Merge      pull      request      #37895     from
299436             fj40crawler/fix-augeas-return-for-test
299437
299438             · ddc238df36 Fixed augeas_test.py to match  True  v.s.  None  for
299439               test_change_in_test_mode
299440
299441             · ef75c459c0  Merge  branch '2016.3' of github.com:saltstack/salt
299442               into fix-augeas-return-for-test
299443
299444             · b0fe0cd256 Change return value for salt/states/augeas.py to  be
299445               True  instead  of  None  for  cases  where  salt  is  run  with
299446               test=True. Fixes #37870
299447
299448           · fdbc31e8d8 Merge pull request #37907 from Talkless/patch-2
299449
299450             · 072a319490 Fix server trust in test run of svn.latest
299451
299452           · f39fdf443f Merge pull request #37896 from toanju/2016.3
299453
299454             · c95304188e rh networking: add missing values
299455
299456           · ea935c5a91 Merge pull request #37886 from bdrung/fix-typos
299457
299458             · 9a51ba5c5b Fix various spelling mistakes
299459
299460           · 371b0a86d9 Merge pull request #37736 from dhaines/issue-37732
299461
299462             · 7ef590a505 Update selinux.py
299463
299464             · 516a67e6a3 fix indexing error
299465
299466             · 4e49c1e991 fix typo
299467
299468             · b16f2d8400 handle semodule version >=2.4 (#37732) and fix typo
299469
299470           · 87aeb66fbf Merge pull request #37797 from clan/extfs
299471
299472             · acf0f960ef check count of columns after split
299473
299474           · f7c7109152 Merge pull  request  #37762  from  twangboy/fix_choco‐
299475             latey_state
299476
299477             · 9696b6dfa5 Use keyword args instead of relying on ordering
299478
299479             · 398eaa074d Add pre_versions to the available arguments
299480
299481           · 56baa92d55      Merge      pull      request      #37866     from
299482             meaksh/2016.3-bp-37149-36938-36784
299483
299484             · 9d8d578109 Fix pkg.latest_version when latest already installed
299485
299486             · ffca0d491c - acl.delfacl: fix position of -X option to setfacl
299487
299488             · 3dfed6b841 Adjust linux_acl unit test argument ordering
299489
299490             · f185ecdde1 core.py: quote style fixed
299491
299492             · 8404d13424 Setting up  OS  grains  for  SLES  Expanded  Support
299493               (SUSE's Red Hat compatible platform)
299494
299495           · d0cc7f0d56 Merge pull request #37863 from rallytime/bp-36893
299496
299497             · 4c70534991 Add versionadded to reauth option in dockerng module
299498
299499             · 5ca2c388c2  added  documentation  for  the  new reuth option in
299500               docker registry configuration
299501
299502             · 5b0c11ab47 add option to force a reauth for a docker registry
299503
299504           · b17a118e72 add multiline  encryption  documentation  to  nacl  (‐
299505             #37847)
299506
299507         · PR  #37927:  (thatch45)  Add  a  release  notes  reference  to  the
299508           docker-sls tutorial
299509
299510         · PR #37917: (rallytime) [2016.11] Update version numbers in doc con‐
299511           fig for 2016.11.0 release
299512
299513       · PR  #37890: (bbinet) Fix support for extra_mods='six' to add six mod‐
299514         ule to a thin.tgz tarball @ 2016-11-28 13:53:06 UTC
299515
299516         · ee00592995 Merge pull request #37890 from bbinet/fix-genthin-six
299517
299518         · 7fceaa3476 Fix support for extra_mods='six' to add six module to  a
299519           thin.tgz tarball
299520
299521       · ISSUE  #37713: (aboe76) masterless minion can't call pillar.item from
299522         pillar stack (development branch) (refs: #37843)
299523
299524         · PR #37843: (terminalmage) Don't skip pillar compilation  when  mas‐
299525           ter_type=='disable'
299526
299527         · PR  #32521:  (adelcast)  Fix  salt-call  on  standalone minion case
299528           (refs: #37843)
299529
299530       · ISSUE #37449: (thatch45) Allow TLS connections  in  the  Tornado  TCP
299531         transport (refs: #37776, #37859)
299532
299533         · PR #37849: (skizunov) Eliminate warning when 'ssl' not set
299534
299535         · PR  #37776:  (DmitryKuzmenko)  Full TLS/SSL options support as pro‐
299536           vided by Tornado TCPServer. (refs: #37849)
299537
299538       · ISSUE #37449: (thatch45) Allow TLS connections  in  the  Tornado  TCP
299539         transport (refs: #37776, #37859)
299540
299541         · PR #37859: (DmitryKuzmenko) TLS example config
299542
299543         · PR #37841: (terminalmage) Clarify the master_type docs
299544
299545         · PR  #37831:  (skizunov)  PY3:  Fix  exception when handling connect
299546           exception in TCP transport
299547
299548       · PR #37829: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
299549         @ 2016-11-22 15:26:00 UTC
299550
299551         · dd81d2fa67 Merge pull request #37829 from rallytime/merge-2016.11
299552
299553         · 3d6d32edc5 Merge branch '2016.3' into '2016.11'
299554
299555         · aa3748744c add missing chloginclass (#37827)
299556
299557         · 0e74bad284 Update branch refs to more relevant branch (#37826)
299558
299559         · 6a9b49c782  Add  "names"  option to file state docs: point users to
299560           highstate doc examples (#37823)
299561
299562         · aaf587de63 Clarify keystone.user_present password state  docs  with
299563           default behavior (#37821)
299564
299565         · c300863159  Add  some  dependency  documentation to libvirt docs (‐
299566           #37820)
299567
299568         · 485270f74e Merge pull request #37772 from bdrung/openssl1.1
299569
299570           · 819c9658ed Support initializing OpenSSL 1.1
299571
299572         · 4910912ffa Update orchestrate runner file.copy doc example (#37817)
299573
299574         · c5d3d8b66a Merge pull request #37816 from rallytime/bp-32157
299575
299576           · d9c297119e Add quotes to cron doc
299577
299578         · 97e6b6aabe Merge pull request #37812 from rallytime/bp-37790
299579
299580           · ca3b6e7874 Update proxmox.rst with more options and LXC
299581
299582         · 27703c54bc Merge pull request #37811 from rallytime/bp-37789
299583
299584           · ba3fef48e1  fix comment
299585
299586           · a021f76a9b issue: 37751 Add documentation for option privileged
299587
299588         · adac9d7c0c Merge pull request #37810 from rallytime/bp-37775
299589
299590           · 2bed91437b Document python argument in salt.states.virtualenv_mod
299591
299592         · PR #37794: (sjorge) network.routes should not raise exception if no
299593           interface
299594
299595       · PR #37815: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
299596         @ 2016-11-21 20:22:49 UTC
299597
299598         · 628c4a3d27 Merge pull request #37815 from rallytime/merge-2016.11
299599
299600         · c6b5fd3715 Merge branch '2016.3' into '2016.11'
299601
299602           · 7de784411d Add nodegroup check to ckminions (#37763)
299603
299604           · d674369efc Fix ip/port issue with salt-call (#37766)
299605
299606       · ISSUE #37449: (thatch45) Allow TLS connections  in  the  Tornado  TCP
299607         transport (refs: #37776, #37859)
299608
299609       · PR  #37776: (DmitryKuzmenko) Full TLS/SSL options support as provided
299610         by Tornado TCPServer. (refs: #37849) @ 2016-11-21 20:11:52 UTC
299611
299612         · 0b30b93dbb  Merge  pull  request  #37776  from  DSRCorporation/fea‐
299613           tures/37449_tls
299614
299615         · 6857b9b8b1 Documented new TLS/SSL settings.
299616
299617         · e42898f2e3  Full  TLS/SSL  options  support  as provided by Tornado
299618           TCPServer.
299619
299620       · PR #37773: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
299621         @ 2016-11-18 19:18:42 UTC
299622
299623         · 3835f91d99 Merge pull request #37773 from rallytime/merge-2016.11
299624
299625         · c859fc9ec1 Merge branch '2016.3' into '2016.11'
299626
299627         · c62ff6b023 Add thorium path to syspaths (#37767)
299628
299629         · bff949f4e9 Merge pull request #37760 from hu-dabao/fix_cb_returner
299630
299631           · de372f277e  1.  returner  no need to check whether the jid exists
299632             for external job cache setup 2. add full_ret  to  return  doc  so
299633             that  the  document  will  be informative 3. make ttl as a config
299634             attribute because salt-minion does not have  keep_jobs  attribute
299635             4.  add  password  into  config attribute 5. update the documents
299636             accordingly
299637
299638         · 1f976ac212 Merge pull request #37738 from terminalmage/issue36629
299639
299640           · da46678c51 Allow pillar.get to retrieve fresh  pillar  data  when
299641             saltenv passed
299642
299643         · 7aee7fc63c  Switch  default  filter tag for ONE resources from user
299644           only to all resources (#37745)
299645
299646       · PR #37764: (mirceaulinic) Doc fixes and replace feature @  2016-11-18
299647         03:15:31 UTC
299648
299649         · 6f0f70c9a3 Merge pull request #37764 from cloudflare/NET-UPDATE
299650
299651         · c3f0202fdd Replace feature and doc fixes
299652
299653   Salt 2016.11.10 Release Notes
299654       Version 2016.11.10 is a security release for 2016.11.0.
299655
299656   Changes for v2016.11.9..v2016.11.10
299657   Security Fix
299658       CVE-2018-15751  Remote  command  execution and incorrect access control
299659       when using salt-api.
299660
299661       CVE-2018-15750 Directory traversal vulnerability when  using  salt-api.
299662       Allows  an  attacker  to  determine  what  files exist on a server when
299663       querying /run or /events.
299664
299665       Credit and thanks for discovery and responsible disclosure:  nullbr4in,
299666       xcuter, koredge, loupos, blackcon, Naver Business Platform
299667
299668   Salt 2016.11.2 Release Notes
299669       Version 2016.11.2 is a bugfix release for 2016.11.0.
299670
299671   Statistics
299672       · Total Merges: 157
299673
299674       · Total Issue References: 34
299675
299676       · Total PR References: 116
299677
299678       · Contributors:   45   (Ch3LL,   Cybolic,   DmitryKuzmenko,   UtahDave,
299679         Vaelatern, alex-zel, alxwr,  amendlik,  anlutro,  aosagie,  basdusee,
299680         bbinet,    benediktwerner,   cachedout,   clinta,   cro,   dereckson,
299681         disaster123,  ewapptus,  ezh,  folti,  gmacon,  gqgunhed,  gtmanfred,
299682         kkoppel,  lorengordon,  martintamare,  mcalmer, meaksh, mirceaulinic,
299683         mostafahussein,  mvdwalle,  rallytime,  rbjorklin,   scthi,   sjorge,
299684         techhat,  terminalmage,  tsaridas,  twangboy,  vutny,  wolfpackmars2,
299685         yhekma, yopito, yue9944882)
299686
299687   Security Fixes
299688       CVE-2017-5192 local_batch client external authentication not respected
299689
299690       The LocalClient.cmd_batch() method client does not accept external_auth
299691       credentials and so access to it from salt-api has been removed for now.
299692       This vulnerability  allows  code  execution  for  already-authenticated
299693       users and is only in effect when running salt-api as the root user.
299694
299695       CVE-2017-5200   Salt-api   allows  arbitrary  command  execution  on  a
299696       salt-master via Salt's ssh_client
299697
299698       Users of Salt-API and salt-ssh could execute a command on the salt mas‐
299699       ter via a hole when both systems were enabled.
299700
299701       We recommend everyone upgrade to 2016.11.2 as soon as possible.
299702
299703   Changelog for v2016.11.1..v2016.11.2
299704       Generated at: 2018-05-27 19:28:11 UTC
299705
299706       · PR  #38859:  (alxwr) fix parsing of sockstat -4 @ 2017-01-23 16:47:22
299707         UTC
299708
299709         · ec59ae67c8 Merge pull request #38859 from alxwr/2016.11
299710
299711         · 30fe5641c7 fix parsing of sockstat -4
299712
299713       · PR #38850: (techhat) Strip .p from  cache  file  names  @  2017-01-23
299714         16:28:46 UTC
299715
299716         · 5fe6db6201 Merge pull request #38850 from techhat/stripcache
299717
299718         · 109cb62e76 Remove .p from test
299719
299720         · 534aa3f527 Strip .p from cache file names
299721
299722         · PR #38848: (Ch3LL) add 2016.11.2 changelog to release notes
299723
299724       · PR  #38819:  (twangboy)  Remove Users from c:\salt [DO NOT MERGE FOR‐
299725         WARD] @ 2017-01-20 20:17:35 UTC
299726
299727         · 4913c4f90c    Merge    pull    request    #38819    from     twang‐
299728           boy/salt_perms_2016.11
299729
299730         · eb04ed7eef Remove User from c:salt
299731
299732       · PR #38815: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
299733         @ 2017-01-20 18:53:01 UTC
299734
299735         · a275b9714e Merge pull request #38815 from rallytime/merge-2016.11
299736
299737         · ce6d1b103d  Make  sure  we're  using  the  opts  dict  mocking   in
299738           parsers_test
299739
299740         · 315b2c8712 Merge branch '2016.3' into '2016.11'
299741
299742           · d14f0c64eb   Merge   pull  request  #38812  from  rallytime/pyob‐
299743             jects-test
299744
299745             · f3e84c1ab7 Update pyobjects test to be a list
299746
299747           · 50f03f8057 Merge pull request #38813 from gtmanfred/2016.3
299748
299749             · ce3472cec2 catch SIGPIPE in vmware connection
299750
299751           · 23b8b47258 Merge  pull  request  #38809  from  twangboy/fix_host‐
299752             name_2016.3
299753
299754             · d57a51f9f9 Fix tests for get_hostname
299755
299756             · 7ca3fd7484 Fix get_hostname to handle longer computer names
299757
299758           · 1033bbdde8 Merge pull request #38808 from vutny/fix-38388
299759
299760             · 9bd203ffcc Fix #38388
299761
299762           · f3ae3cd5c8 Merge pull request #38668 from terminalmage/issue38604
299763
299764             · 0ea97cdad9 Merge pull request #10 from cachedout/pr-38668
299765
299766               · db81afc035 Munge retcode into return data for batching
299767
299768             · a642a995dc  Return the ret data from batch execution instead of
299769               raw data
299770
299771           · c6a19a9e5a Merge pull request #38789 from rallytime/fix-38622
299772
299773             · af41fe0c6e Update some saltenv refs to environment in salt.mod‐
299774               ules.state docs
299775
299776           · e0bf700020  Merge  pull  request  #38790 from cachedout/fix_pyob‐
299777             jects_test_typo
299778
299779             · a66afb5f0f Fix typo in pyobjects test
299780
299781           · 6e9785edea Merge pull request #38792 from rallytime/fix-38629
299782
299783             · 1e125e2844 Update pillar tutorial lanuage regarding pillar_opts
299784               settings
299785
299786       · PR  #38832:  (terminalmage) archive.extracted: Identify symlinks when
299787         checking for incorrect types @ 2017-01-20 18:36:15 UTC
299788
299789         · efe1bf10e8 Merge pull request #38832 from terminalmage/issue38711
299790
299791         · d10c068e25 Update archive state unit tests to reflect  symlinks  in
299792           archive.list
299793
299794         · d6adfb6d12 Identify symlinks when looking for incorrect types
299795
299796         · 09b9e95f7c archive.list: organize symlinks separately from files in
299797           verbose mode
299798
299799         · e6483f096d Support removing symlinks in salt.utils.rm_rf
299800
299801       · PR #38726: (twangboy) Add VC Redist  2008  SP1  MFC  to  installer  @
299802         2017-01-19 19:13:42 UTC
299803
299804         · 10a3d8b8dd Merge pull request #38726 from twangboy/vcredist
299805
299806         · f00a65355d change extensions .ext to .exe
299807
299808         · 98c40e278c Add VC Redist 2008 SP1 MFC to installer
299809
299810       · PR #38810: (UtahDave) Fix beacon doc @ 2017-01-18 21:37:21 UTC
299811
299812         · d5f2d92a4e   Merge   pull  request  #38810  from  UtahDave/fix_bea‐
299813           con_doc_zd1035
299814
299815         · dbe9edb806 fix reactor example.
299816
299817       · PR #38811: (techhat) Show a lot less data  when  requesting  a  VM  @
299818         2017-01-18 21:08:03 UTC
299819
299820         · 88faf08a71 Merge pull request #38811 from techhat/sanvm
299821
299822         · 47c19325cf Show a lot less data when requesting a VM
299823
299824         · PR #38807: (Ch3LL) refine the os detection in archive test
299825
299826       · PR #38799: (aosagie) Parse ansible dynamic inventory output correctly
299827         @ 2017-01-18 15:32:47 UTC
299828
299829         · e3ca6881c8  Merge  pull  request  #38799   from   aosagie/fix-ansi‐
299830           ble-dynamic-roster
299831
299832         · 26d6f699a7 Parse ansible dynamic inventory output correctly
299833
299834       · PR #38787: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
299835         @ 2017-01-18 08:39:08 UTC
299836
299837         · 76df6a43f3 Merge pull request #38787 from rallytime/merge-2016.11
299838
299839         · 2aad54c49f Merge branch '2016.3' into '2016.11'
299840
299841           · 3417adc617    Merge    pull    request    #38796    from    salt‐
299842             stack/revert-38707-root_dir_fix-gh
299843
299844             · cb080f3bbe Revert "Fixed prepending of root_dir override to the
299845               other paths"
299846
299847         · 64d866f7ab Merge branch '2016.3' into '2016.11'
299848
299849         · bab3479a3c Merge pull request #38585 from rallytime/follow-up-38527
299850
299851           · 05587201b6 Pylint fix: add line at end of file
299852
299853           · fa01367599 Keep a copy of the DEFAULT_API_OPTS and  restore  them
299854             after the test run
299855
299856           · 2ad07634d9 Test clean up
299857
299858           · fd2ee7db30  Add some simple unit tests for salt.config.api_config
299859             function
299860
299861           · 3d2fefc83b Make sure the pidfile and log_file values are  overri‐
299862             den by api opts
299863
299864           · 1f6b540e46  Make sure the pidfile and log_file values are overri‐
299865             den by api opts
299866
299867           · 04d307f917 salt-api no longer forces the default timeout
299868
299869         · 0fb6bb7b77      Merge      pull      request      #38707       from
299870           alexbleotu/root_dir_fix-gh
299871
299872           · 0bac8c8be3  Fixed  prepending  of  root_dir override to the other
299873             paths
299874
299875         · 96c9dc10f7 Merge pull request #38774 from vutny/dev-test-docs
299876
299877           · 4620dc4afa DOCS: add C++ compiler installation on  RHEL  required
299878             for bundled 0mq
299879
299880         · aedfbb7a43  Merge  pull  request  #38749  from vutny/pkg-build-bet‐
299881           ter-exception-msg
299882
299883           · 53f2be5b21 pkg build modules throw better  exception  message  if
299884             keyid wasn't found
299885
299886       · PR #38660: (techhat) Don't force salt.cache to use cachedir from opts
299887         @ 2017-01-17 18:38:35 UTC
299888
299889         · 4e6146f65f Merge pull request #38660 from techhat/cachedir
299890
299891         · be55b57abf One last fix
299892
299893         · fc24b24998 Add correct function name
299894
299895         · 9bbecf7960 Typo fix
299896
299897         · 436ba28f08 Change getlist back to list (using _list)
299898
299899         · ff734fe93b Default to CACHE_DIR in syspaths
299900
299901         · 380abd3744 Add cachedir args to tests
299902
299903         · deb08c0587 Not every module will need cachedir
299904
299905         · 4489f7cac0 Don't force salt.cache to use cachedir from opts
299906
299907       · ISSUE #37948: (djacobs2016) ssh_known_hosts.present is  failing  when
299908         checking key/host (refs: #37982)
299909
299910       · ISSUE  #33932:  (folti) ssh_known_hosts.present: hashing global known
299911         hosts file makes it readable by root only (refs: #33933)
299912
299913       · PR #38667: (rallytime)  Back-port  #37982  to  2016.11  @  2017-01-17
299914         15:42:13 UTC
299915
299916         · PR #37982: (wolfpackmars2) Update ssh.py (refs: #38667)
299917
299918         · PR  #33933:  (folti)  ssh:  keep original permissions, when hashing
299919           known_hosts (refs: #38667)
299920
299921         · 89dc86e2bc Merge pull request #38667 from rallytime/bp-37982
299922
299923         · be91e46a93 Update ssh.py
299924
299925       · PR #38759: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
299926         @ 2017-01-17 15:22:01 UTC
299927
299928         · 751e14c523 Merge pull request #38759 from rallytime/merge-2016.11
299929
299930         · 30e8a66fb0 Merge branch '2016.3' into '2016.11'
299931
299932           · 8466b34e82 Merge pull request #38743 from rallytime/merge-2016.3
299933
299934             · d24776f5e9 Merge branch '2015.8' into '2016.3'
299935
299936             · 6869621ed1    Merge    pull    request   #38731   from   rally‐
299937               time/merge-2015.8
299938
299939               · 9eb191b6ac Pylint fix
299940
299941               · b910499dbe Various follow up fixes
299942
299943               · e8309a6bbf Add release notes for 2015.8.13
299944
299945               · f881f366b7   Merge   pull    request    #20    from    rally‐
299946                 time/2015.8.12_follow_up-batch-tests
299947
299948                 · 34282322c0 Clean up tests and docs for batch execution
299949
299950               · c80b20b957 Merge pull request #19 from whiteinge/batchclient
299951
299952                 · 3d8f3d18f6  Remove  batch  execution  from NetapiClient and
299953                   Saltnado
299954
299955               · 97b0f64923 Lintfix
299956
299957               · d1516664f7 Add explanation comment
299958
299959               · 62f2c87080 Add docstring
299960
299961               · 9b0a786aeb Explain what it is about and how to configure that
299962
299963               · 5ea3579e10 Pick up a specified roster file from  the  config‐
299964                 ured locations
299965
299966               · 3a8614c5df Disable custom rosters in API
299967
299968               · c0e5a1171d Add roster disable flag
299969
299970             · e9c59e9b8f   Merge   pull   request   #38602   from   terminal‐
299971               mage/fix-boto-test
299972
299973             · 3424a108ac                     Fix                      failing
299974               unit.states.boto_vpc_test.BotoVpcRouteTableTest‐
299975               Case.test_present_with_routes
299976
299977           · a642cdef79 Merge pull request #38723 from rallytime/fix-38674
299978
299979             · 706c885f55      Remove      "event_publisher_pub_hwm"       and
299980               "salt_event_pub_hwm" from config/__init__.py
299981
299982           · fc545af10b  Merge pull request #38669 from rallytime/update-boot‐
299983             strap-script
299984
299985             · 78ba76e34c Update bootstrap script verstion to latest release
299986
299987           · 50d417f267 Merge pull request #38693 from twangboy/update_jinja
299988
299989             · e0c7e5549b Update jinja2 to 2.9.4
299990
299991           · f4233bb18d Merge pull request #38739 from vutny/fix-runtests-doc
299992
299993             · b872bb63f6 DOCS: correct examples of running test suite
299994
299995           · 51d4707071 DOCS: add links to File State Backups page where  nec‐
299996             essary (#38735)
299997
299998           · 6d3717b9ee Proofread jinja_to_execution_module tutorial (#38720)
299999
300000       · ISSUE #38775: (charburns) Error using napalm netusers (refs: #38778)
300001
300002       · PR  #38778:  (mirceaulinic)  Fix  "Error  using  napalm  netusers"  @
300003         2017-01-17 15:20:27 UTC
300004
300005         · bb6291d93a Merge pull request #38778 from cloudflare/fix-38775
300006
300007         · b3388f7162 Fix #38775
300008
300009       · ISSUE #38528: (MorphBonehunter) x509  make  permissions  configurable
300010         (refs: #38664)
300011
300012       · ISSUE  #38081:  (haraldrudell)  x509  state or module cannot generate
300013         password protected private keys (refs: #38664)
300014
300015       · PR #38664: (clinta) X509 Improvements.  Expose  setting  permissions,
300016         encrypted  private  keys, and combined key and cert management in one
300017         state @ 2017-01-17 02:20:18 UTC
300018
300019         · 6663107021 Merge pull request #38664 from clinta/x509-passphrase2
300020
300021         · 77c78723fe pep8
300022
300023         · a2b20ee518 No mutable default args, remove unneeded import
300024
300025         · b48b85cc70 bug fixes
300026
300027         · f62393b864 pep8
300028
300029         · c8613243a1 change documentation
300030
300031         · 9a0abde9ac expose passphrase functionality to state
300032
300033         · e47a93d496 add passphrase to execution module
300034
300035         · a4d6598f1e preserve detailed change reports
300036
300037         · d0ad251778 combine private key and cert management
300038
300039         · 3d1474d911 cross call file.managed to get permissions options
300040
300041       · PR #38682: (mirceaulinic)  [2016.11.2/napalm]  Better  error  message
300042         when NotImplementedError raised @ 2017-01-15 18:34:25 UTC
300043
300044         · bf6d74c98e  Merge pull request #38682 from cloudflare/NotImplement‐
300045           edError-MSG
300046
300047         · f847639dee Better error message when NotImplementedError raised
300048
300049       · ISSUE  #37996:  (stefan-as)  influxdb_user.present  does   not   pass
300050         client_args (refs: #38695)
300051
300052       · PR #38695: (rallytime) Pass in client_args when calling influxdb exe‐
300053         cution module funcs @ 2017-01-15 18:33:48 UTC
300054
300055         · df12e49d80 Merge pull request #38695 from rallytime/fix-37996
300056
300057         · 05b0975888 Pass in client_args when calling influxdb execution mod‐
300058           ule funcs
300059
300060       · ISSUE  #38521:  (vladvasiliu)  State cloud.present on AWS: TypeError:
300061         'NoneType' object is not iterable (refs: #38651)
300062
300063       · ISSUE #37981: (tazaki)  Salt-cloud  ec2  vpc  securitygroupid  always
300064         returning default (refs: #38183)
300065
300066       · PR #38651: (rallytime) Don't lose the set reference for ec2 security‐
300067         group ids @ 2017-01-15 18:06:25 UTC
300068
300069         · PR #38183: (cro) Fix bad set operations when setting  up  security‐
300070           groups in AWS. (refs: #38651)
300071
300072         · 834e5469fc Merge pull request #38651 from rallytime/fix-38521
300073
300074         · 830c03cec6 Don't lose the set reference for ec2 securitygroup ids
300075
300076       · ISSUE  #38216:  (pgrishin)  salt-run:  can't  get cache.grains (refs:
300077         #38659)
300078
300079       · PR #38659: (techhat) Turn None  into  an  empty  string  (for  minion
300080         matching) @ 2017-01-15 18:02:03 UTC
300081
300082         · 8b38cfea8d Merge pull request #38659 from techhat/issue38216
300083
300084         · 4073c91584 Turn None into an empty string (for minion matching)
300085
300086       · PR #38703: (yhekma) The test option is only valid for the minion, not
300087         the master @ 2017-01-15 17:56:22 UTC
300088
300089         · 0ad5d22ad4 Merge pull request #38703 from yhekma/docfix
300090
300091         · 57df3bf148 The test option is only valid for the  minion,  not  the
300092           master
300093
300094       · PR  #38718:  (terminalmage) Fix for dynamic git_pillar when pillarenv
300095         is used @ 2017-01-15 14:37:30 UTC
300096
300097         · 8c1222e7db Merge pull request #38718 from terminalmage/zd909
300098
300099         · 12bbea5a24 Fix for dynamic git_pillar when pillarenv is used
300100
300101       · ISSUE #38677: (yhekma) consul cache backend broken (refs: #38676)
300102
300103       · PR #38676:  (yhekma)  Removed  overloading  of  list()  @  2017-01-15
300104         05:42:13 UTC
300105
300106         · aae8b54860 Merge pull request #38676 from yhekma/2016.11
300107
300108         · 3237d23e1c Localfs should also be changed of course
300109
300110         · 9d9de67219 We do not want to overload the list() type because if we
300111           do, we turn this function into a recursive one, which results in an
300112           exception because set() cannot be concatenated with str ('/')
300113
300114       · ISSUE  #38684:  (rukender) 2016.11.1 :[ERROR][11182] Failed to import
300115         beacons avahi_announce (refs: #38713)
300116
300117       · PR #38713: (rallytime) Add NameError to exception  in  avahi_announce
300118         beacon @ 2017-01-15 05:33:04 UTC
300119
300120         · c246ab41c5 Merge pull request #38713 from rallytime/fix-38684
300121
300122         · db60bed24c Add NameError to exception in avahi_announce beacon
300123
300124       · PR #38729: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
300125         @ 2017-01-13 23:15:33 UTC
300126
300127         · 6c14774c04 Merge pull request #38729 from rallytime/merge-2016.11
300128
300129         · 4e1e45d640 Merge branch '2016.3' into '2016.11'
300130
300131         · 7b850d472d Merge pull request #38647 from gtmanfred/nova
300132
300133           · 5be9b60851 add documentation about using keystoneauth for v3
300134
300135           · 7b657ca4ae add the ability to use keystone v2 and v3
300136
300137           · 5646ae1b34 add ability to use  keystoneauth  to  authenitcate  in
300138             nova driver
300139
300140         · 383768d838     Merge    pull    request    #38650    from    rally‐
300141           time/remove-ubuntu-ppa-docs
300142
300143           · 30429b2e44 Remove the installation instructions  for  out-of-date
300144             community ppa
300145
300146         · 7d9f56e3b5    Merge    pull   request   #38657   from   DSRCorpora‐
300147           tion/bugs/38087_syndic_event_format_fix
300148
300149           · 594c33f396 Publish the 'data' field content for Syndic evets
300150
300151         · 83987511fd Merge pull request #38649 from Ch3LL/test_apply_template
300152
300153           · 47f8b68e0b fix unit.modules.file_test
300154
300155       · ISSUE #38631: (doitian) In Orchestration, kwargs are  not  passed  to
300156         state.sls in masterless mode (refs: #38635)
300157
300158       · PR  #38635: (lorengordon) Sends pass-through params to state module @
300159         2017-01-10 20:01:59 UTC
300160
300161         · cfd82d1631 Merge pull request #38635 from lorengordon/issue-38631
300162
300163         · 14666138b9 Sends pass-through params to state module
300164
300165       · PR #38640: (mirceaulinic) Import  napalm_base  instead  of  napalm  @
300166         2017-01-10 19:58:01 UTC
300167
300168         · 017094a207 Merge pull request #38640 from cloudflare/NAPALM-IMPORTS
300169
300170         · 8f13f63880 Import napalm_base instead of napalm
300171
300172       · PR  #38661:  (techhat) Add sane cache defaults for minion and cloud @
300173         2017-01-10 19:55:15 UTC
300174
300175         · 79663132dd Merge pull request #38661 from techhat/sanedefault
300176
300177         · aee40648ec Add a sane cache default for cloud
300178
300179         · c9e01a36e7 Add a sane cache default for minions
300180
300181       · PR #38645: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
300182         @ 2017-01-10 19:54:06 UTC
300183
300184         · b0ed91ce2d Merge pull request #38645 from rallytime/merge-2016.11
300185
300186         · 7a668e9749 Merge branch '2016.3' into '2016.11'
300187
300188         · 74ddc71be3     Merge     pull    request    #38626    from    salt‐
300189           stack/revert-37358-2016.3.3_issue37355
300190
300191           · e912ac99c2 Revert "Fix/workaround for issue #37355"
300192
300193         · 5e58b32934      Merge      pull      request      #37358       from
300194           Firewire2002/2016.3.3_issue37355
300195
300196           · 910da18bfd fixed typo
300197
300198           · 4fbc5ddd06 fixed wrong renamed variable and spaces
300199
300200           · 92366e646c issue #37355
300201
300202           · 7dc87ab7b8 issue #37355
300203
300204           · 2878180405 issue #37355
300205
300206         · 6c2fe615aa Merge pull request #35390 from alexandr-orlov/2016.3
300207
300208           · cd5ae17e8d fxd missed proper grains dictionary
300209
300210         · 2579cfa42d Merge pull request #38618 from rallytime/bp-38579
300211
300212           · 2052ecee2c Add copy import
300213
300214           · 2c8845aaa0 add test for pillar.get() + default value
300215
300216           · c2f98d2f04 ticket 38558: add unit test, deepcopy() only if neces‐
300217             sary
300218
300219           · 30ae0a1958 added deepcopy of default if merge=True
300220
300221       · PR #38627: (cachedout) Pr 38476 @ 2017-01-06 22:05:45 UTC
300222
300223         · PR #38476: (amendlik) Key fingerprints (refs: #38627)
300224
300225         · d67f6937d7 Merge pull request #38627 from cachedout/pr-38476
300226
300227         · 2a423ffedd Add changes to raetkey
300228
300229         · 55ad9d6c6c Add hash_type argument to  MultiKeyCLI.finger_all  func‐
300230           tion
300231
300232         · c8681269a4  Add  hash_type argument to key module fingerprint func‐
300233           tions
300234
300235         · d0f4c300b7 Add hash_type argument to wheel fingerprint functions
300236
300237         · e558ddcb18 Add finger_master function to wheel.key module
300238
300239       · ISSUE #38595: (yue9944882) Redis ext job cache occurred error  (refs:
300240         #38610)
300241
300242       · PR  #38610: (yue9944882) Fix #38595 - Unexpected error log from redis
300243         retuner in master's log @ 2017-01-06 21:47:21 UTC
300244
300245         · b13cd1370f Merge pull request #38610 from yue9944882/2016.11
300246
300247         · 54325cf293 Fix #38595 - Unexpected error log from redis retuner  in
300248           master's log
300249
300250       · ISSUE  #36148:  (alex-zel)  Eauth  error  with openLDAP groups (refs:
300251         #38406)
300252
300253       · PR #38406: (alex-zel) Fix eauth  error  with  openLDAP/389  directory
300254         server groups @ 2017-01-06 21:40:30 UTC
300255
300256         · 179d385003       Merge      pull      request      #38406      from
300257           alex-zel/fix-eauth-groups-permissions
300258
300259         · 6b9e9d8f89 Fix  eauth  error  with  openLDAP/389  directory  server
300260           groups
300261
300262       · PR #38619: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
300263         @ 2017-01-06 17:51:19 UTC
300264
300265         · 82e9b3d1a1 Merge pull request #38619 from rallytime/merge-2016.11
300266
300267         · 0efb2d844e Merge branch '2016.3' into '2016.11'
300268
300269           · da676cebd6 Merge pull request #38601 from terminalmage/pillar-get
300270
300271             · 8613d7254d pillar.get:  Raise  exception  when  merge=True  and
300272               default is not a dict
300273
300274           · 224fc7712a    Merge    pull   request   #38600   from   terminal‐
300275             mage/issue38459-2016.3
300276
300277             · 8a45b13e76 Avoid errors when sudo_user is set
300278
300279           · a376970f88     Merge      pull      request      #38589      from
300280             tobithiel/fix_rvm_rbenv_warning
300281
300282             · 9ec470b4a5  State  Gem:  fix  incorrect  warning  about missing
300283               rvm/rbenv
300284
300285           · 02e6a78254 Merge  pull  request  #38567  from  pass-by-value/pgj‐
300286             sonb_queue_changes_2016.3
300287
300288             · 67879ebe65 Create queue if one doesn't exist
300289
300290           · 0889cbdb31 Merge pull request #38587 from rallytime/fix-37498
300291
300292             · 2a5880966f  Change  daemontools __virtualname__ from service to
300293               daemontools
300294
300295       · PR  #38612:  (sjorge)  network.ifacestartswith  throws  exception  on
300296         Solaris-like platforms @ 2017-01-06 17:20:32 UTC
300297
300298         · f64e003a69       Merge      pull      request      #38612      from
300299           sjorge/2016.11-solaris-ifacestartswith
300300
300301         · 26fae54f5b network.ifacestartswith throws exception on Solaris-like
300302           platforms
300303
300304       · ISSUE  #37027:  (sjorge)  Solaris FQDN/UQDN and documentation/consis‐
300305         tancy (refs: #38615)
300306
300307       · PR #38615: (sjorge) add note related to  issue  #37027  @  2017-01-06
300308         16:38:34 UTC
300309
300310         · 5820ceee16  Merge  pull request #38615 from sjorge/2016.11-solaris‐
300311           docs
300312
300313         · fbdd32f46b add note related to issue #37027
300314
300315       · PR #38598: (terminalmage) Avoid errors when sudo_user is  set  (refs:
300316         #38600, #38599) @ 2017-01-05 23:16:22 UTC
300317
300318         · a27fdb46a7 Merge pull request #38598 from terminalmage/issue38459
300319
300320         · b37f7ffa38 Avoid errors when sudo_user is set
300321
300322       · PR  #38599:  (terminalmage) archive.extracted: Prevent traceback when
300323         state.single cannot be run @ 2017-01-05 23:16:11 UTC
300324
300325         · PR #38598: (terminalmage) Avoid errors when sudo_user is set (refs:
300326           #38600, #38599)
300327
300328         · d6b7019df6   Merge   pull   request  #38599  from  terminalmage/ar‐
300329           chive-results-handling
300330
300331         · 9aceb8186d archive.extracted: Prevent traceback  when  state.single
300332           cannot be run
300333
300334       · ISSUE #38517: (basdusee) Slack.py engine 100% CPU load due to missing
300335         time.sleep(1) (refs: #38520)
300336
300337       · PR #38520: (basdusee) Fix issue #38517, added time.sleep(1)  at  line
300338         227 in slack.py @ 2017-01-05 20:35:08 UTC
300339
300340         · d486b42ceb Merge pull request #38520 from basdusee/fix-issue-38517
300341
300342         · e3a883c915 Small fix on the fix regarding indentation
300343
300344         · 8adeae6f81  Fix  issue  #38517,  added time.sleep(1) at line 227 in
300345           slack.py engine.
300346
300347       · ISSUE #38485: (wasabi222) bgp.config not working (refs: #38499)
300348
300349       · PR #38577: (mirceaulinic)  Fix  function  headers  as  per  #38499  @
300350         2017-01-05 18:41:33 UTC
300351
300352         · PR #38499: (mirceaulinic) Fix #38485 (refs: #38577)
300353
300354         · 0706cde626 Merge pull request #38577 from cloudflare/PREP-2016.11.2
300355
300356         · 62bee3c793 Fix function headers as per #38499
300357
300358       · PR  #38578:  (mirceaulinic)  [2016.11] Port 5123f11 from develop into
300359         2016.11.2 @ 2017-01-05 18:11:12 UTC
300360
300361         · 55d1747792 Merge pull request #38578 from cloudflare/PORT-5123f1
300362
300363         · dea7866d57 Update net.load_template doc: 2016.11.2
300364
300365       · ISSUE #38462: (g-shockfx) Can`t add beacon memusage on Windows (refs:
300366         #38584)
300367
300368       · PR  #38584:  (rallytime)  Allow  memusage beacon to load on Windows @
300369         2017-01-05 18:08:30 UTC
300370
300371         · be69bafe6e Merge pull request #38584 from rallytime/fix-38462
300372
300373         · 1fe945df5e Allow memusage beacon to load on Windows
300374
300375       · PR #38570: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
300376         (refs: #38585) @ 2017-01-05 14:28:38 UTC
300377
300378         · 14b643fd48 Merge pull request #38570 from rallytime/merge-2016.11
300379
300380         · 30f14d15df Merge branch '2016.3' into '2016.11'
300381
300382         · 7b74436d13     Merge    pull    request    #38562    from    rally‐
300383           time/arch-install-docs
300384
300385           · 8b1897ace9 Update arch installation  docs  with  correct  package
300386             name
300387
300388         · 01860702cb Merge pull request #38560 from Ch3LL/fix_api_log
300389
300390           · 1b45e9670b fix api logfile
300391
300392         · 0056620a53 Merge pull request #38531 from rallytime/bp-33601
300393
300394           · c36cb39825 remove the unnecessary double trigger
300395
300396           · 38414493bf fix spacing lint error
300397
300398           · 8c1defc710 Remove uncessary type from alias commands. Deduplicate
300399             alias  handling  to  autodetect  function  selection.  Add  error
300400             reporting  to slack connectivty problems. Cleanup slack's unicode
300401             conversion
300402
300403           · c2f23bc45e Fix slack engine to run on python2.6
300404
300405         · 50242c7f17 Merge pull request #38541 from techhat/issue38187
300406
300407           · eae3a435dd Strip user:pass from cached URLs
300408
300409         · 325dc56e59 Merge pull request #38554 from multani/fix/30454
300410
300411           · 2e7f743371 yaml: support unicode serialization/deserialization
300412
300413           · df76113c5c jinja: test the "yaml" filter with ordered dicts
300414
300415           · f7712d417f Revert "Add yaml_safe filter"
300416
300417         · 4ddbc2ecaa add note about pyVmomi locale workaround (#38536)
300418
300419         · 1c951d152b fix gce image bug (#38542)
300420
300421       · PR #38509: (mostafahussein) Stop request from being processed if  bad
300422         ip @ 2017-01-04 20:05:44 UTC
300423
300424         · 9a1550d336 Merge pull request #38509 from mostafahussein/2016.11
300425
300426         · 8847289c3e remove commented code
300427
300428         · 420817a963 Stop request from being processed if bad ip
300429
300430       · ISSUE  #38518:  (kkoppel)  slack_notify.call_hook  returns tracebacks
300431         (refs: #38522)
300432
300433       · PR  #38522:  (kkoppel)  Fix   usage   of   salt.utils.http.query   in
300434         slack_notify.call_hook @ 2017-01-04 20:04:57 UTC
300435
300436         · bc07d420e9 Merge pull request #38522 from kkoppel/fix-issue-38518
300437
300438         · ff1e7f0c71     Fix     usage     of     salt.utils.http.query    in
300439           slack_notify.call_hook
300440
300441       · ISSUE #38524: (rbjorklin) salt-api seems to ignore rest_timeout since
300442         2016.11.0 (refs: #38585, #38527)
300443
300444       · PR  #38527: (rbjorklin) salt-api no longer forces the default timeout
300445         (refs: #38585) @ 2017-01-04 17:10:15 UTC
300446
300447         · 42fef270ee Merge pull request #38527 from rbjorklin/api-timeout-fix
300448
300449         · 0202f68820 salt-api no longer forces the default timeout
300450
300451       · PR #38529: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
300452         @ 2017-01-04 17:06:57 UTC
300453
300454         · 1895eb7533 Merge pull request #38529 from rallytime/merge-2016.11
300455
300456         · 85f470207c Merge branch '2016.3' into '2016.11'
300457
300458           · ec60f9c721 Merge pull request #38487 from gtmanfred/2016.3
300459
300460             · 048b9f6b9d add test
300461
300462             · c480c11528 allow spaces in cron env
300463
300464             · c529ec8c34 allow crons to have multiple spaces
300465
300466           · c5ba11b5e0 Merge pull request #38491 from gtmanfred/timing
300467
300468             · 79368c7528 Use UTC for timing in case timezone changes
300469
300470           · 86f0aa0bb3 Merge pull request #38503 from jinm/issue_38472_jinm
300471
300472             · 0cd9df299f Hash type fallback for file management
300473
300474           · ed2ba4bd1b  Merge  pull  request #38457 from bshelton229/git-lat‐
300475             est-head-bug
300476
300477             · 558e7a771a Stops git.latest checking for  local  changes  in  a
300478               bare repo
300479
300480           · 36e21b22cb  Merge  pull request #38385 from dragon788/2016.3-dou‐
300481             ble-dash
300482
300483             · 86c4b56f47 Newline for lint compat
300484
300485             · 9d9b686057 Address review comments, consistency of quotes
300486
300487             · df9bd5e7f9 Use unambigous long names with double dashes
300488
300489           · 59f2560d88 Merge pull request #38474 from cachedout/key_loop
300490
300491             · de504538e1 Allow an existing ioloop to be passed to salt-key
300492
300493           · 3d0c752acd Merge pull request #38467 from gtmanfred/2016.3
300494
300495             · 7b7c6b3878 file.line fail with mode=delete
300496
300497           · 940025d5c4     Merge      pull      request      #38434      from
300498             slinn0/issue_38433_fixes
300499
300500             · 22af87a3fc                       Fixes                      for
300501               https://github.com/saltstack/salt/issues/38433
300502
300503           · e5eb51255b Update deprecation notices to the correct  version  (‐
300504             #38421)
300505
300506           · 9ce53318df  file.managed: Fix failure when filename contains uni‐
300507             code chars (#38415)
300508
300509           · 2cdb59d055 Merge pull request #38419 from Ch3LL/fix_doc_scsi
300510
300511             · 234043b8bb fix scsci docs example
300512
300513       · PR #38539: (twangboy) Fix DSC LCM  Config  int  checks  @  2017-01-04
300514         16:56:27 UTC
300515
300516         · ec4f118ca2 Merge pull request #38539 from twangboy/dsc_int_checks
300517
300518         · 5657fd1956 Add repr flag for str
300519
300520         · aea4219502 Fix DSC LCM Config int checks
300521
300522       · PR  #38549: (meaksh) Adding multiple SUBVOLUME support and some fixes
300523         to the Snapper module @ 2017-01-04 15:32:30 UTC
300524
300525         · 53449c89a5 Merge  pull  request  #38549  from  meaksh/2016.11-snap‐
300526           per-multiple-subvolumen-support
300527
300528         · ef26e93bb7 Some fixes and pylint
300529
300530         · 1e6ba45db4 Fixes pre/post snapshot order to get the inverse status
300531
300532         · 68d5475c1f Fixing Snapper unit tests for SUBVOLUME support
300533
300534         · e9919a913f Removing posible double '/' from the file paths
300535
300536         · 8b4f87f226 Updating and fixing the documentation
300537
300538         · edea45272a Raises "CommandExecutionError" if snapper command fails
300539
300540         · 3841e1143b  Only include diff in the state response if include_diff
300541           is True
300542
300543         · 7803e7716c Adds multiple SUBVOLUME support to the Snapper module
300544
300545         · PR #38545: (rallytime) Move boto_vpc.describe_route_table  depreca‐
300546           tion version to Oxygen
300547
300548       · PR   #38471:   (twangboy)  Fix  Problem  with  win_service  module  @
300549         2017-01-01 20:30:21 UTC
300550
300551         · 5e80104a70 Merge pull request #38471 from twangboy/fix_win_service
300552
300553         · 810471b9cd Fix problem with some services getting access denied
300554
300555       · ISSUE #38485: (wasabi222) bgp.config not working (refs: #38499)
300556
300557       · PR #38499: (mirceaulinic) Fix  #38485  (refs:  #38577)  @  2017-01-01
300558         17:42:15 UTC
300559
300560         · 0a09049a2d Merge pull request #38499 from cloudflare/FIX-38485
300561
300562         · 18018139f3 Fix #38485
300563
300564       · PR  #38501:  (mvdwalle)  Do  not  assume  every  object is a server @
300565         2017-01-01 17:37:57 UTC
300566
300567         · 13f0b809df    Merge    pull    request     #38501     from     mvd‐
300568           walle/fix-gogrid-list-password
300569
300570         · bd7dee9a10 Do not assume every object is a server
300571
300572       · PR  #38461:  (anlutro)  Improvements/fixes  to  kapacitor task change
300573         detection @ 2016-12-29 17:08:47 UTC
300574
300575         · aa0c843553  Merge  pull  request  #38461   from   alprs/fix-kapaci‐
300576           tor_changes
300577
300578         · 52721e97d6 clean up and fix tests
300579
300580         · 8648775c2a if task is not defined, it's not up to date
300581
300582         · c3ab954c6e improvements/fixes to kapacitor task change detection
300583
300584       · PR  #38473:  (twangboy)  Change  OSX/OS  X  to macOS where possible @
300585         2016-12-29 16:35:11 UTC
300586
300587         · 2c51eb9d16 Merge pull request #38473 from twangboy/osx_to_macos
300588
300589         · e96bfe8fa2 Change OSX/OS X to macOS where possible
300590
300591       · PR #38412: (bbinet) Update PillarStack stack.py  to  latest  upstream
300592         version @ 2016-12-28 19:28:40 UTC
300593
300594         · 2497fb547e    Merge    pull   request   #38412   from   bbinet/pil‐
300595           larstack-updates
300596
300597         · b66b4bd060 Fix lint violations in stack.py
300598
300599         · 6a30fe6aeb Update PillarStack stack.py to latest upstream version
300600
300601       · PR #38456: (twangboy) Gate Windows Specific Salt Utils  @  2016-12-28
300602         18:44:33 UTC
300603
300604         · 5395d3210a Merge pull request #38456 from twangboy/gate_win_utils
300605
300606         · d34d110a84 Fix lint, fix boto module
300607
300608         · c20111142f Gate Windows Utils
300609
300610       · PR #38428: (gqgunhed) fixed typo: lq command-line syntax @ 2016-12-27
300611         15:42:02 UTC
300612
300613         · 7c7799162b Merge pull request #38428 from gqgunhed/fix_lq_typo
300614
300615         · d79d682e8b fixed typo: lq command-line syntax
300616
300617       · ISSUE #38443: (lorengordon) 2016.11 breaks  file.managed  on  Windows
300618         (refs: #38444)
300619
300620       · ISSUE  #34101:  (windoverwater)  archive.extracted  breakage  due  to
300621         2016.3.0 upgrade from 2015.8.10 (refs: #37368)
300622
300623       · PR #38444: (lorengordon) Adds new import required for extract_hash  @
300624         2016-12-27 15:37:20 UTC
300625
300626         · PR  #37368:  (terminalmage) Overhaul archive.extracted state (refs:
300627           #38444)
300628
300629         · f5984d0f81 Merge pull request #38444 from lorengordon/issue-38443
300630
300631         · b2925ad7b7 Adds new import required for extract_hash
300632
300633       · ISSUE #38071: (luochun-95) remote execute is very slow (refs: #38167)
300634
300635       · PR #38167: (cachedout) Kill  pkg_resources  for  CLI  tools  [DO  NOT
300636         MERGE] @ 2016-12-22 22:11:22 UTC
300637
300638         · 4c4f07ca4c    Merge    pull    request    #38167    from    cached‐
300639           out/no_pkg_resources
300640
300641         · ec6901720a Remove debugging
300642
300643         · f28e33b9b6 Remove from all but salt cli
300644
300645         · bb3af72317 Remove from salt-call
300646
300647         · c676846066 Kill pkg_resources for CLI tools
300648
300649       · PR #38417: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
300650         @ 2016-12-22 19:00:44 UTC
300651
300652         · 2fc8c154af Merge pull request #38417 from rallytime/merge-2016.11
300653
300654         · efb8a8ddf5 Merge branch '2016.3' into '2016.11'
300655
300656         · 27253522c8 Improve pillar documentation (#38407)
300657
300658         · 423b1fddff Merge pull request #38398 from terminalmage/issue38372
300659
300660           · c80dbaa914 Fix call to file.get_managed in cron.file state
300661
300662         · 5a33d1e697 Fix http.query when result has no text (#38382)
300663
300664         · b74b5c7d38       Merge      pull      request      #38390      from
300665           meaksh/2016.3-fix-try-restart-for-autorestarting-on-SUSE-systems
300666
300667           · de6ec05ec0 add try-restart to fix autorestarting on SUSE systems
300668
300669         · 2c3a39760a    Merge    pull    request    #38221     from     Utah‐
300670           Dave/fix_default_returner
300671
300672           · 385640765b remove a blank line to satisfy linter
300673
300674           · 9c248aa14c validate return opt, remove default.
300675
300676           · 8bb37f9fe7 specify allowed types and default for "returner"
300677
300678           · 11863a4bfe add examples of default minion returners
300679
300680           · e7c6012655 add support for default returners using return
300681
300682       · PR #38342: (scthi) Bugfix ext pillar nodegroups @ 2016-12-22 16:47:42
300683         UTC
300684
300685         · bbc149c67f Merge pull  request  #38342  from  scthi/bugfix-ext-pil‐
300686           lar-nodegroups
300687
300688         · dba315c4b6 ext-pillar nodegroups works for all minions now.
300689
300690       · PR  #38403:  (terminalmage)  git_pillar: Document the transition from
300691         env to saltenv in the jinja context @ 2016-12-22 16:34:48 UTC
300692
300693         · 453476d982  Merge  pull  request  #38403  from   terminalmage/docu‐
300694           ment-saltenv
300695
300696         · 0a72e0f0be  git_pillar: Document the transition from env to saltenv
300697           in the jinja context
300698
300699       · ISSUE #38253: (gmacon) There was no error installing package  'setup‐
300700         tools'  although  it  does not show when calling 'pip.freeze'. (refs:
300701         #38354)
300702
300703       · PR #38354: (gmacon)  Use  --all  when  calling  pip.py  @  2016-12-20
300704         20:40:21 UTC
300705
300706         · 12436efb54 Merge pull request #38354 from gmacon/pip-freeze-all
300707
300708         · dca24b270e Use --all when calling pip.py
300709
300710       · PR #38348: (rallytime) Update autodoc topics for new modules added in
300711         2016.11 @ 2016-12-20 20:36:20 UTC
300712
300713         · 68430b1fa6    Merge    pull    request    #38348    from     rally‐
300714           time/mod-docs-2016.11
300715
300716         · b31c2412ca Add __iter__ and next options to doc/conf.py
300717
300718         · b8c16094c4  Revert  "Move  import/error messaging logic for snapper
300719           module into __virtual__()"
300720
300721         · 640db5b5ac Move import/error messaging  logic  for  snapper  module
300722           into __virtual__()
300723
300724         · 366271f459 Add snapper to state index doc module list
300725
300726         · 135d254c80 Remove netapi autodoc files: they should not be added as
300727           their doc structure is different
300728
300729         · 0006139aca Update autodoc topics for new modules added in 2016.11
300730
300731       · PR  #38377:  (DmitryKuzmenko)  Implementation  and  docs  for  Consul
300732         key-value  store plugin for minion data cache.  @ 2016-12-20 20:36:02
300733         UTC
300734
300735         · 6ee7b2bae7  Merge  pull  request  #38377  from  DSRCorporation/fea‐
300736           tures/consul_cache
300737
300738         · 6fb4430ae3  Configuration options and documentation for Consul data
300739           cache plugin.
300740
300741         · dad748f57a Data cache plugin configuration documentation.
300742
300743         · c7209cd90c Consul data cache plugin.
300744
300745       · PR #38373: (rallytime)  Back-port  #38212  to  2016.11  @  2016-12-20
300746         20:35:09 UTC
300747
300748         · PR #38212: (disaster123) ZMQ: add an option for zmq.BACKLOG to salt
300749           master (zmq_backlog) (refs: #38373)
300750
300751         · f6d1b559bc Merge pull request #38373 from rallytime/bp-38212
300752
300753         · 52fc6daac0 ZMQ: add  an  option  for  zmq.BACKLOG  to  salt  master
300754           (zmq_backlog)
300755
300756       · PR  #38374: (mirceaulinic) NAPALM proxy module: Fix optional_args key
300757         issue @ 2016-12-20 20:34:59 UTC
300758
300759         · 69c3f19fc1    Merge    pull    request    #38374    from     cloud‐
300760           flare/FIX-NAPALM-PROXY
300761
300762         · 44169315d8 Fix optional_args key issue
300763
300764       · ISSUE #38048: (ezh) [2016.11.0] Salt-cloud throws TypeError exception
300765         (refs: #38073)
300766
300767       · PR #38073: (ezh) 2016.11 @ 2016-12-20 14:51:11 UTC
300768
300769         · 530f495955 Merge pull request #38073 from doublescoring/2016.11
300770
300771         · 42d3d26f28 [38073] Fix test assertion
300772
300773         · 9b37ead913 Fix broken os.write without string.encode
300774
300775       · PR #38344: (bbinet) Fix influxdb_database.present state @  2016-12-20
300776         13:57:45 UTC
300777
300778         · 67908d5aba  Merge pull request #38344 from bbinet/fix-influx-creat‐
300779           edb
300780
300781         · c6b075d6f4 Fix influxdb_database.present state
300782
300783       · PR #38358: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
300784         @ 2016-12-20 00:11:48 UTC
300785
300786         · 04d6898958 Merge pull request #38358 from rallytime/merge-2016.11
300787
300788         · c6e191ad0d Remove doc markup references from 2016.11 branch
300789
300790         · 513058945c Merge branch '2016.3' into '2016.11'
300791
300792         · 09d9cff992   Merge   pull   request  #38288  from  terminalmage/ar‐
300793           chive-extracted-local-source-2016.3
300794
300795           · 845e3d0e75 Update tests to reflect change in cache behavior
300796
300797           · 5a08d7c70a archive.extracted: don't try to  cache  local  sources
300798             (2016.3 branch)
300799
300800         · bf37667f8a Merge pull request #38312 from cro/proxy_config_in_cfg
300801
300802           · 2006c4000e Typo
300803
300804           · 689d95b10f Backport feature allowing proxy config to live in pil‐
300805             lar OR /etc/salt/proxy.
300806
300807         · c83db5a785    Merge    pull    request    #38320    from     rally‐
300808           time/cleanup-doc-refs
300809
300810           · 62978cb7a0 Don't check the doc/conf.py file for doc markup refs
300811
300812           · 770e732d76 Add a unit test to search for new doc markup refs
300813
300814           · 5c42a361a0  Remove ":doc:" references from all doc/topics/instal‐
300815             lation/* files
300816
300817           · 23bce1c929  Remove   ":doc:"   references   from   all   doc/top‐
300818             ics/releases/* files
300819
300820           · 4aafa41d22 Remove ":doc:" references from a bunch of doc/* files
300821
300822           · 02bfe7912c Remove more ":doc:" references from doc/* files
300823
300824           · 6e32267d0c Remove ":doc:" references in salt/* files
300825
300826         · PR  #38285:  (terminalmage)  archive.extracted:  don't try to cache
300827           local sources
300828
300829       · PR #37947: (vutny) Fix salt-minion initscript  for  RHEL5  (SysV)  to
300830         pick up proper python version @ 2016-12-19 21:03:50 UTC
300831
300832         · 13414949e3  Merge  pull  request  #37947  from vutny/fix-rhel5-min‐
300833           ion-init
300834
300835         · c94e798b8a SysV init script for rpm: get and show unique PIDs only
300836
300837         · 8ff68c4128 Fix initscript for RHEL5 (SysV) to pick up proper python
300838           version
300839
300840       · PR #38106: (techhat) "test" is not necessarily in opts, for thorium @
300841         2016-12-19 14:40:32 UTC
300842
300843         · 4d072ca689 Merge pull request #38106 from techhat/stateget
300844
300845         · 5edc16f606 "test" is not necessarily in opts, for thorium
300846
300847       · PR #38333: (amendlik) Suppress errors when checking if an alternative
300848         exists @ 2016-12-19 13:40:49 UTC
300849
300850         · a01fade604  Merge pull request #38333 from amendlik/states-alterna‐
300851           tives
300852
300853         · 8bfcd5bcd5 Adjust alternatives test for updated error message
300854
300855         · 09dee3c611 Suppress errors when checking if an alternative exists
300856
300857       · PR #38340: (ewapptus) Backport PR #38251:  Fixed  nested  orchestrate
300858         not respecting failures @ 2016-12-19 13:31:16 UTC
300859
300860         · PR #38251: (ewapptus) Fixed nested orchestrate not respecting fail‐
300861           ures (refs: #38340)
300862
300863         · 15d3b476e9 Merge pull request #38340 from ewapptus/bp-38251
300864
300865         · 266e0a465c Fixed nested orchestrate not respecting failures
300866
300867       · PR #38229: (mcalmer) provide kwargs of sls_build to dockerng.create @
300868         2016-12-18 13:13:10 UTC
300869
300870         · ecd441d090   Merge   pull   request   #38229   from   mcalmer/dock‐
300871           erng-sls_build-kwargs
300872
300873         · e7292fabb7 make it explicit that we want to delete these keys
300874
300875         · 4c710139b5 use default values for pop() to prevent KeyError raised
300876
300877         · 455c18325c provide kwargs to dockerng.create to  provide  all  fea‐
300878           tures to sls_build as well
300879
300880       · ISSUE  #36204:  (stanvarlamov)  Salt-Cloud: salt.runners.cloud.create
300881         exits with True on Python process (ec2.py) exception (refs: #37333)
300882
300883       · PR #38309: (ewapptus) Backport PR #37333:  Fixed  state.salt.runner()
300884         reporting success on exceptions @ 2016-12-18 12:39:53 UTC
300885
300886         · PR  #37333:  (benediktwerner)  Fixed  state.salt.runner() reporting
300887           success on exceptions (refs: #38309)
300888
300889         · d2ce9c3e71 Merge pull request #38309 from ewapptus/bp-37333
300890
300891         · a2b1259671 Fixed display of errors
300892
300893         · 14a39f914e Fixed state.salt.runner return value on exceptions
300894
300895       · PR #38323: (rallytime) Update the Cloud Provider Specifics  links  in
300896         cloud docs @ 2016-12-18 12:30:49 UTC
300897
300898         · ebb9f6cbbc     Merge    pull    request    #38323    from    rally‐
300899           time/update-cloud-provider-links
300900
300901         · 022caf23e9 Update the Cloud Provider Specifics links in cloud docs
300902
300903       · PR #38324: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
300904         @ 2016-12-18 12:30:26 UTC
300905
300906         · 5bd7471e30 Merge pull request #38324 from rallytime/merge-2016.11
300907
300908         · 5940db5b3f Merge branch '2016.3' into '2016.11'
300909
300910           · 6367ca7d2a Add nick to args for create_multi (#38281)
300911
300912           · 235682b1e6 Merge pull request #38313 from dragon788/2016.3-choco‐
300913             latey-fix
300914
300915             · 1f5fc17551 Use machine readable output for list
300916
300917             · cdbd2fbe3c Added limit-output to eliminate false packages
300918
300919           · 9e78ddc80e Merge pull request #38279 from rallytime/fix-38174
300920
300921             · 4a62d01577 Add docs for syndic_wait setting
300922
300923       · ISSUE #38246: (martintamare) Windows Minion unable to start via  nssm
300924         (refs: #38247)
300925
300926       · PR  #38325:  (rallytime)  Back-port  #38247  to  2016.11 @ 2016-12-18
300927         12:28:41 UTC
300928
300929         · PR #38247: (martintamare) fix(win_function): handle other  language
300930           (refs: #38325)
300931
300932         · 83523d2f73 Merge pull request #38325 from rallytime/bp-38247
300933
300934         · 4b6c5438e3 fix(win_functions): syntax
300935
300936         · e602f17e3d fix(win_function): handle other language
300937
300938       · ISSUE  #30195:  (Vaelatern)  Add  Void  Linux  support in Salt (refs:
300939         #31262, #38326)
300940
300941       · PR #38326: (yopito) fix runit init support (grain init) in 2016.11  @
300942         2016-12-18 12:07:25 UTC
300943
300944         · PR #31262: (Vaelatern) Add support for Void Linux (refs: #38326)
300945
300946         · 54a2bb95de       Merge      pull      request      #38326      from
300947           yopito/fix-runit-init-support
300948
300949         · 25b91bb686 fix detection of runit as init system (grain init)
300950
300951         · PR #38322: (rallytime) Add azurearm module to doc index
300952
300953       · PR #38305: (dereckson) Avoid normalization call for  normalized  mode
300954         value @ 2016-12-16 17:31:25 UTC
300955
300956         · 1e4f299e7d Merge pull request #38305 from dereckson/fix-mode-extra‐
300957           neous-normalization
300958
300959         · 573ac3565e Avoid normalization call for normalized mode value
300960
300961         · PR   #38291:   (terminalmage)   Improve   documentation   for   ar‐
300962           chive.extracted in 2016.11
300963
300964       · ISSUE  #37966:  (Cybolic)  salt-cloud EC2 instance can't be initiated
300965         (refs: #37967)
300966
300967       · PR #38298: (rallytime)  Back-port  #37967  to  2016.11  @  2016-12-16
300968         15:20:04 UTC
300969
300970         · PR  #37967:  (Cybolic)  Fixed faulty logic preventing instance ini‐
300971           tialisation. (refs: #38298)
300972
300973         · 3cf0135d50 Merge pull request #38298 from rallytime/bp-37967
300974
300975         · 42d367f39d Fixed faulty logic preventing instance initialisation.
300976
300977       · ISSUE #38070: (ezh) [2016.11.0] Salt-cloud throws  UnicodeDecodeError
300978         exception (refs: #38076)
300979
300980       · PR  #38076: (ezh) Fix decoding of broken string from remote sources @
300981         2016-12-15 19:05:25 UTC
300982
300983         · f4f0036f30   Merge   pull   request   #38076    from    doublescor‐
300984           ing/fix-2016.11-38070
300985
300986         · 70c8db5489 Fix decoding of broken string from remote sources
300987
300988       · PR  #38278:  (rallytime)  Back-port  #38207  to  2016.11 @ 2016-12-15
300989         18:09:27 UTC
300990
300991         · PR #38207: (tsaridas) remove empty strings from list but  not  ones
300992           with one empty space char (refs: #38278)
300993
300994         · PR  #38188:  (tsaridas)  fix  for  push_dir  in different OS (refs:
300995           #38203, #38207)
300996
300997         · 2ccab22c19 Merge pull request #38278 from rallytime/bp-38207
300998
300999         · 5e8bf571d8 python3 compatibility and fix pylint
301000
301001         · e0df047000 remove empty strings from list but  not  ones  with  one
301002           empty space char
301003
301004       · PR #38277: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
301005         @ 2016-12-15 18:09:10 UTC
301006
301007         · a748e842a8 Merge pull request #38277 from rallytime/merge-2016.11
301008
301009         · 49a3355915 Merge branch '2016.3' into '2016.11'
301010
301011         · fc9e1dff35 Merge pull request #38248 from  meaksh/salt-api-success‐
301012           fully-close-child-processes
301013
301014           · ee6eae9855  Successfully  exit  of  salt-api child processes when
301015             SIGTERM.
301016
301017         · 3c718ed35e Merge pull request #38254  from  terminalmage/check-pil‐
301018           larenv
301019
301020           · fa9ad311c6 Also check if pillarenv is in opts
301021
301022         · 6b9060c38f  [2016.3]  Bump  latest  release version to 2016.11.1 (‐
301023           #38256)
301024
301025       · ISSUE #38231: (tjuup) Typo: salt-key deleteed (refs: #38232)
301026
301027       · PR #38232: (rallytime) Strip final 'e' in key cmd to  correct  "dele‐
301028         teed" misspelling @ 2016-12-15 10:38:49 UTC
301029
301030         · 0af343e71f Merge pull request #38232 from rallytime/fix-38231
301031
301032         · 26e1ee3650  Strip  final  'e' in key cmd to correct "deleteed" mis‐
301033           spelling
301034
301035       · ISSUE #38200: (sebw)  selinux.mode  doesn't  return  any  output  and
301036         doesn't persist (refs: #38236)
301037
301038       · PR #38236: (gtmanfred) SELINUXTYPE should not be changed @ 2016-12-15
301039         10:37:06 UTC
301040
301041         · 6c1ca9dae7 Merge pull request #38236 from gtmanfred/2016.11
301042
301043         · d1b070c894 clean up selinux unit test
301044
301045         · 96eabd4939 SELINUXTYPE should not be changed
301046
301047       · ISSUE  #38228:  (vquiering)  archive.extracted   with   options   and
301048         user/group (refs: #38262)
301049
301050       · PR  #38262:  (terminalmage)  Fix  archive.extracted  when  --strip or
301051         --strip-components is in the options @ 2016-12-15 08:57:18 UTC
301052
301053         · fd32dc3e9b Merge pull request #38262 from terminalmage/issue38228
301054
301055         · 6442f8a7b5 Add tests for --strip/--strip-components
301056
301057         · c502e68f12 Detect --strip/--strip-components  in  tar  options  and
301058           handle properly
301059
301060         · e95770594d Add strip_components arg to archive.list
301061
301062       · PR  #38264:  (mirceaulinic)  Port  #37862  into  2016.11 @ 2016-12-15
301063         08:51:20 UTC
301064
301065         · PR #37862: (mirceaulinic) [2016.11.1] Docstring fixes and new  fea‐
301066           tures for napalm_network (refs: #38264)
301067
301068         · b232bd8ce8 Merge pull request #38264 from cloudflare/PORT-37862
301069
301070         · 28bbb73151 Import from napalm_base instead of napalm
301071
301072         · 0a675afc40 Vice-versa docstring
301073
301074         · 09c50176e2 More docfix
301075
301076         · 215b8f38e2 Lint cleanup
301077
301078         · PR #38260: (rallytime) Add 2016.11.2 release notes
301079
301080         · PR  #38257:  (rallytime)  [2016.11]  Bump latest release version to
301081           2016.11.1
301082
301083         · PR  #38233:  (terminalmage)  Correct  an  inaccurate  warning  when
301084           top_file_merging_strategy == merge_all
301085
301086       · PR #38234: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
301087         @ 2016-12-13 18:28:02 UTC
301088
301089         · ba62fcf2ec Merge pull request #38234 from rallytime/merge-2016.11
301090
301091         · 6a327d1367 Merge branch '2016.3' into '2016.11'
301092
301093         · 004e46afe7      Merge      pull      request      #38198       from
301094           vutny/unit-tests-require-libcloud-boto3
301095
301096           · a6098bac1a  Remove note about SaltTesting installation, now it is
301097             in the requirements
301098
301099           · 004bff113e Add missing requirements for running unit tests:  lib‐
301100             cloud and boto3
301101
301102         · 9d497bc74c Merge pull request #38213 from rallytime/skip-tls-test
301103
301104           · bdb807fc7c   Skip  test_cert_info  tls  unit  test  on  pyOpenSSL
301105             upstream errors
301106
301107         · 203109dd17      Merge      pull      request      #38224       from
301108           whiteinge/cors-options-unauthed
301109
301110           · de4d3227ab Allow CORS OPTIONS requests to be unauthenticated
301111
301112         · 721a5feccd       Merge      pull      request      #38223      from
301113           whiteinge/salt-api-root_dirs
301114
301115           · bfbf390c0e Add root_dir to salt-api file paths
301116
301117       · PR #38205: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
301118         @ 2016-12-12 18:13:18 UTC
301119
301120         · 7ead1ed336 Merge pull request #38205 from rallytime/merge-2016.11
301121
301122         · e31f97cf71 Merge branch '2016.3' into '2016.11'
301123
301124         · 70f7d22ad6 Merge pull request #38191 from terminalmage/issue38162
301125
301126           · 1ae543a98a  Clarify  the  fact  that  git_pillar.update  does not
301127             fast-forward
301128
301129         · 28171cbfc5  Merge   pull   request   #38194   from   vutny/integra‐
301130           tion-test-requirements-doc
301131
301132           · e9f419ff64  Document  the  requirements  for running ZeroMQ-based
301133             integration tests
301134
301135         · a4ef037ab1 Merge pull request #38185 from rallytime/bp-38181
301136
301137         · 609f814454  Reset  socket  default  timeout  to  None  (fixes  dae‐
301138           mons_tests failures)
301139
301140       · PR  #38203:  (rallytime)  Back-port  #38188  to  2016.11 @ 2016-12-12
301141         17:48:51 UTC
301142
301143         · PR #38188: (tsaridas) fix  for  push_dir  in  different  OS  (refs:
301144           #38203, #38207)
301145
301146         · 669409d681 Merge pull request #38203 from rallytime/bp-38188
301147
301148         · 50d3200b12 removing not needed join
301149
301150         · 7af708e1e7 fix for push_dir in different OS
301151
301152   Salt 2016.11.3 Release Notes
301153       Version 2016.11.3 is a bugfix release for 2016.11.0.
301154
301155   Statistics
301156       · Total Merges: 137
301157
301158       · Total Issue References: 49
301159
301160       · Total PR References: 130
301161
301162       · Contributors:  47  (Ch3LL,  DmitryKuzmenko,  MTecknology,  The-Loeki,
301163         UtahDave, anlutro, arthru, axmetishe,  bailsman,  bobrik,  cachedout,
301164         clinta,  corywright,  cro,  dmaziuk,  dmitrievav,  dmurphy18, eliasp,
301165         eradman,  ezh,   gtmanfred,   hu-dabao,   hujunya,   isbm,   jak3kaj,
301166         janhorstmann, joe-niland, kevinanderson1, kstreee, l2ol33rt, lomeroe,
301167         mcalmer,   meaksh,   mirceaulinic,    morganwillcock,    nasenbaer13,
301168         nicholasmhughes,  rallytime,  sakateka,  sergeizv,  sjorge,  techhat,
301169         terminalmage, thatch45, toanju, twangboy, vutny)
301170
301171   Changelog for v2016.11.2..v2016.11.3
301172       Generated at: 2018-05-27 19:39:56 UTC
301173
301174       · PR #39536: (twangboy) Namespace 'status' functions in 'win_status'  @
301175         2017-02-21 23:45:31 UTC
301176
301177         · PR  #39005: (cro) Ungate the status.py module and raise unsupported
301178           errors in functions not executable on Windows. (refs: #39536)
301179
301180         · 40f72db53e Merge pull request #39536 from twangboy/fix_win_status
301181
301182         · d5453e2f9e Remove unused import (lint)
301183
301184         · 837c32e673 Remove list2cmdline
301185
301186         · c258cb3f73 Streamline wmic command returns for easier parsing
301187
301188         · 6d2cf8171e Fix 'ping_master' function
301189
301190         · d946d10597 Namespace 'status' functions in 'win_status'
301191
301192       · PR #39534: (rallytime) Fix breakage in aptpkg and dpkg execution mod‐
301193         ules @ 2017-02-21 20:31:15 UTC
301194
301195         · PR  #39418:  (anlutro) Allow aptpkg.info_installed on package names
301196           that aren't installed (refs: #39534)
301197
301198         · dc8f578447 Merge pull request #39534  from  rallytime/fix-pkg-func‐
301199           tion-specs
301200
301201         · d34a8fe9dc Fix breakage in aptpkg and dpkg execution modules
301202
301203       · ISSUE #34712: (richardscollin) Salt Test Suite Error - develop (refs:
301204         #37366)
301205
301206         · PR #39521: (vutny)  Upgrade  SaltTesting  to  run  test  suite  for
301207           2016.11 and add SaltPyLint
301208
301209         · PR  #37366:  (eradman) dev_python*.txt: use current SaltTesting and
301210           SaltPyLint modules (refs: #39521)
301211
301212       · PR #39370: (twangboy) Gate win_osinfo  and  winservice  @  2017-02-17
301213         23:53:58 UTC
301214
301215         · e4c71683d9 Merge pull request #39370 from twangboy/gate_win_utils
301216
301217         · 167cdb3447 Gate windows specific imports, add __virtual__
301218
301219         · e67387deb7 Add option to return a Non instantiated class
301220
301221         · 315b0cc105 Clarify return value for win_osinfo
301222
301223         · 994314ed3d Fix more docs
301224
301225         · 2bbe3cbf49 Fix some docs
301226
301227         · 4103563ee1       Merge       branch       'gate_win_utils'       of
301228           https://github.com/twangboy/salt into gate_win_utils
301229
301230           · 24c1bd079d Remove extra newlines
301231
301232         · 82a86ced55 Add helper function for winservice
301233
301234         · 0051b5a5e2 Put the win_osinfo classes in a helper function
301235
301236         · 4e08534877 Gate win_osinfo and winservice better
301237
301238       · PR  #39486:  (twangboy)   Remove   orphaned   function   list_config‐
301239         urable_policies @ 2017-02-17 22:21:50 UTC
301240
301241         · a3e71b6cce     Merge    pull    request    #39486    from    twang‐
301242           boy/win_remove_orphaned
301243
301244         · 1328055c4d Remove orphaned function list_configurable_policies
301245
301246       · PR #39418: (anlutro) Allow  aptpkg.info_installed  on  package  names
301247         that aren't installed (refs: #39534) @ 2017-02-17 18:34:19 UTC
301248
301249         · 87b269fc80       Merge      pull      request      #39418      from
301250           alprs/fix-aptpkg_info_nonexistent_pkg
301251
301252         · 246bf1e938 add failhard argument to various apt pkg functions
301253
301254       · PR #39438: (mirceaulinic) file.get_managed: refetch source when  file
301255         hashsum is changed @ 2017-02-17 17:58:29 UTC
301256
301257         · e816d6c23e Merge pull request #39438 from cloudflare/fix_39422
301258
301259         · 8453800639  file.get_managed:  refetch  cached  file  when  hashsum
301260           chnaged
301261
301262       · ISSUE #39203: (dmaziuk) salt.users gecos field (refs: #39432)
301263
301264       · PR #39432: (dmaziuk) Quick and dirty fix for GECOS fields  with  more
301265         than 3 commas @ 2017-02-17 17:57:30 UTC
301266
301267         · a5fe8f0fa6 Merge pull request #39432 from dmaziuk/issue39203
301268
301269         · 41c046308c Remove #
301270
301271         · 4f877c6b6f  Quick  and  dirty fix for GECOS fields with more than 3
301272           commas
301273
301274       · PR #39484: (corywright)  The  Reactor  docs  should  use  pillar='{}'
301275         instead of 'pillar={}' @ 2017-02-17 17:50:57 UTC
301276
301277         · 3665229a5a  Merge  pull  request  #39484  from corywright/fix-reac‐
301278           tor-docs-pillar-keyword-args
301279
301280         · cc90d0d53f The Reactor docs should use pillar='{}' instead of 'pil‐
301281           lar={}'
301282
301283       · PR   #39456:  (twangboy)  Add  salt  icon  to  buildenv  directory  @
301284         2017-02-16 22:47:58 UTC
301285
301286         · 2e3a9c5e58 Merge pull request #39456 from twangboy/win_fix_icon
301287
301288         · 8dd915dae4 Add salt icon to buildenv directory
301289
301290       · PR  #39462:  (twangboy)  Use  url_path  instead  of  url_data.path  @
301291         2017-02-16 22:44:18 UTC
301292
301293         · 63adc03484  Merge  pull  request #39462 from twangboy/win_fix_file‐
301294           client
301295
301296         · a96bc13133 Use url_path instead of url_data.path
301297
301298       · PR #39458: (rallytime) Fix more warnings in doc  build  @  2017-02-16
301299         21:45:52 UTC
301300
301301         · e9b034f02f     Merge    pull    request    #39458    from    rally‐
301302           time/fixup-more-doc-build-warnings
301303
301304         · e698bc3508 Fix more warnings in doc build
301305
301306       · PR #39437: (sakateka) Fixes about saltfile @ 2017-02-16 20:32:15 UTC
301307
301308         · e4f8c2bfb0      Merge      pull      request      #39437       from
301309           sakateka/fixes_about_saltfile
301310
301311         · ab68524d7a less pylint: salt/utils/parsers.py
301312
301313         · 9e7d9dcc78 Revert "pylint: salt/utils/parsers.py"
301314
301315         · f3f129c8f1 document ~/.salt/Saltfile
301316
301317         · 33f3614b1e pylint: salt/utils/parsers.py
301318
301319         · 0f36e10e7d expand config_dir and '~/.salt/Saltfile' as last resort
301320
301321         · PR #39451: (Ch3LL) add 2016.11.3 changelog to release notes
301322
301323       · ISSUE #38032: (meggiebot) Add missing Carbon docs (refs: #39448)
301324
301325       · PR  #39448:  (gtmanfred)  Add  release  notes for cisco proxy minions
301326         added in Carbon @ 2017-02-16 17:29:48 UTC
301327
301328         · 8e2cbd2307 Merge pull request #39448 from gtmanfred/2016.11
301329
301330         · 3172e88700 Add release notes for cisco proxy minions added in  Car‐
301331           bon
301332
301333       · PR #39428: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
301334         @ 2017-02-16 00:01:15 UTC
301335
301336         · 070904b719 Merge pull request #39428 from rallytime/merge-2016.11
301337
301338         · 2acb188ac9 Change path value from a tuple to a list
301339
301340         · 6d78adbf08 Merge branch '2016.3' into '2016.11'
301341
301342           · 4ff13acf8b salt.fileserver.roots: Fix regression in  symlink_list
301343             (#39409)
301344
301345           · 8b8ab8ef8e    Merge    pull    request   #39362   from   dincami‐
301346             hai/cp-push-test-2016.3
301347
301348             · 91383c5a19 Add cp.push test
301349
301350           · 4b726f955b     Merge      pull      request      #39380      from
301351             joe-niland/quote-numeric-usernames
301352
301353             · c2edfdd464  Quote  numeric  user  names so pwd.getpwnam handles
301354               them properly
301355
301356           · 1116d32df9     Merge      pull      request      #39400      from
301357             meaksh/2016.3-fix-local-cache-issue
301358
301359             · e7e559ef5c  Prevents  'OSError'  exception in case path doesn't
301360               exist
301361
301362           · 6c854da1d4   Merge   pull   request   #39300    from    terminal‐
301363             mage/loader-optimization
301364
301365             · d3e5d1525e Replace more usage of str.format in the loader
301366
301367           · 5286b5ff1b Merge pull request #39337 from terminalmage/issue34428
301368
301369             · a7d2135dc2 Don't re-walk the roots fileserver in symlink_list()
301370
301371           · ce781deeb5 Merge pull request #39339 from cro/pillar_filetree_doc
301372
301373             · 410810cea2 Clarification on external pillar usage.
301374
301375           · fa3014393c  Document  the  upstream  RedHat bug with their pygit2
301376             package (#39316)
301377
301378       · ISSUE #39360: (bbinet) file.symlink should not try to  set  ownership
301379         to root:root (refs: #39364)
301380
301381       · PR  #39429:  (rallytime)  Back-port  #39364  to  2016.11 @ 2017-02-15
301382         21:27:21 UTC
301383
301384         · PR #39364: (gtmanfred) set default user variable to  the  user  cmd
301385           runs as (refs: #39429)
301386
301387         · 54a572e50c Merge pull request #39429 from rallytime/bp-39364
301388
301389         · 157f4dcdf9 set default user variable to the user cmd runs as
301390
301391       · PR  #39424:  (twangboy) Fix problem with too many connection attempts
301392         in Windows @ 2017-02-15 18:51:35 UTC
301393
301394         · 881ebf2e93 Merge pull request #39424 from twangboy/win_fix_dos
301395
301396         · d3f7dd7f50 Add sleep to eval_master
301397
301398       · ISSUE #30561: (jfindlay) salt-ssh  fails  with  IPv6  address  (refs:
301399         #39419, #38831)
301400
301401       · ISSUE #22984: (tomasfejfar) salt-ssh problem possibly related to ipv6
301402         (refs: #39419, #38831)
301403
301404       · PR #39419: (The-Loeki) Backport Salt-SSH  IPv6  fixes  to  2016.11  @
301405         2017-02-15 17:33:13 UTC
301406
301407         · PR  #38877:  (The-Loeki) Salt-SSH client: Don't overwrite self.host
301408           w/IPv6 brackets (refs: #39419)
301409
301410         · PR #38831: (The-Loeki) Salt-SSH deal with raw IPv6 addresses (refs:
301411           #39419, #38877)
301412
301413         · 47872355a8 Merge pull request #39419 from The-Loeki/bp-ssh-ipv6
301414
301415         · 4fc5626f16 Don't overwrite self.host w/IPv6 brackets
301416
301417         · dd1223468b Salt-SSH deal with raw IPv6 addresses
301418
301419       · PR #39379: (terminalmage) win_pkg: remove all installed versions when
301420         no explicit version passed @ 2017-02-14 18:41:28 UTC
301421
301422         · 878946d0f8 Merge pull request #39379 from terminalmage/issue34821
301423
301424         · fd9ab8e4e3 Remove extra newline
301425
301426         · 5871825b9e win_pkg: remove all installed versions when no  explicit
301427           version passed
301428
301429       · PR  #39392:  (anlutro)  Make  sure  OrderedDict order is preserved in
301430         nested output @ 2017-02-14 17:50:15 UTC
301431
301432         · caffef88cf Merge pull  request  #39392  from  alprs/fix-nested_out‐
301433           put_ordered_dict
301434
301435         · 625a770a23 make sure OrderedDict order is preserved in output
301436
301437       · PR #39378: (dmurphy18) Update make_repo in debbuild.py execution mod‐
301438         ule to utilize timeout @ 2017-02-14 17:10:15 UTC
301439
301440         · f2459e3ce8 Merge pull request #39378 from dmurphy18/deb_pkg_fix
301441
301442         · 4bd47cc18a Updated all make_repo loops to  use  timeout  value  for
301443           retries
301444
301445       · ISSUE  #39358:  (Kimamisa)  Backport  the  RDS fix  in  Carbon (refs:
301446         #39369)
301447
301448       · PR #39369: (rallytime)  Back-port  #37338  to  2016.11  @  2017-02-13
301449         21:41:19 UTC
301450
301451         · PR  #37338:  (bailsman) Fix wait_status in boto_rds.create() (refs:
301452           #39369)
301453
301454         · 99554d9d72 Merge pull request #39369 from rallytime/bp-37338
301455
301456         · 2e7f6e8e37 Fix wait_status in boto_rds.create()
301457
301458       · PR #39303: (kstreee) Removes a  redundant  test  case  after  removed
301459         'batch' in 'netapi'.  @ 2017-02-13 19:55:46 UTC
301460
301461         · 03ab8b1b5a   Merge   pull  request  #39303  from  kstreee/fix-test‐
301462           case-rm-batch-in-netapi
301463
301464         · 51972d0724 Removes a redundant test case after removed  'batch'  in
301465           'netapi'.
301466
301467       · PR  #39315:  (Ch3LL)  improve  salt-run  salt.cmd  test  @ 2017-02-13
301468         19:00:14 UTC
301469
301470         · 60640f77d7 Merge pull request #39315 from Ch3LL/fix_run_salt_test
301471
301472         · b3cbc5a408 improve salt-run salt.cmd test
301473
301474       · ISSUE #39243: (morganwillcock)  win_system.reboot:  can  return  True
301475         without rebooting (refs: #39311)
301476
301477       · PR  #39311:  (morganwillcock) win_system: return False from a skipped
301478         reboot @ 2017-02-13 18:59:11 UTC
301479
301480         · 2ca63a93cd   Merge   pull   request   #39311    from    morganwill‐
301481           cock/skip-reboot
301482
301483         · 0f3abb613d Clarify success for shutdown function
301484
301485         · dcb4d05275 win_system: return False from a skipped reboot
301486
301487       · PR  #39346:  (joe-niland)  Ignore  non-HTTP IIS bindings @ 2017-02-13
301488         18:18:36 UTC
301489
301490         · 082105fa84  Merge  pull   request   #39346   from   joe-niland/han‐
301491           dle-iis-bindings
301492
301493         · 8d5afdb0ae  win_iis  module: list_sites - when retrieving bindings,
301494           ignore bindigs whose protocols do not have host headers
301495
301496       · ISSUE #39321: (mgresser) Grain matching failing where grain value  is
301497         an INT (refs: #39361)
301498
301499       · PR  #39361:  (gtmanfred)  make  sure  both  variables are strings.  @
301500         2017-02-13 17:20:17 UTC
301501
301502         · a3a9a8e1ed Merge pull request #39361 from gtmanfred/2016.11
301503
301504         · ee2275ad67 make sure both variables are strings.
301505
301506         · PR #39341: (eliasp) Add creation/configuration of Salt PKI dirs  to
301507           hacking docs
301508
301509       · PR #39317: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
301510         @ 2017-02-10 23:07:32 UTC
301511
301512         · ce1f01f81a Merge pull request #39317 from rallytime/merge-2016.11
301513
301514         · c1df446b7a Merge branch '2016.3' into '2016.11'
301515
301516         · 9de559ff4e Merge pull request #39313 from rallytime/merge-2016.3
301517
301518           · 0b8dddf12b Merge branch '2015.8' into '2016.3'
301519
301520           · fc551bcf5d Merge pull request #39293 from sergeizv/grammar-fix
301521
301522             · 70f2b586d3 Rewrap paragraph
301523
301524             · e6ab5178ea Grammar fix
301525
301526           · 8a1b45632a Merge pull request #39295 from sergeizv/typo-fix
301527
301528             · 5d9f36d58d Fix typo
301529
301530           · cfaafece34 Merge pull request #39296 from sergeizv/whitespace-fix
301531
301532             · 1d4c1dc140 Whitespace fix in docs Makefile
301533
301534           · 0b4dcf4a47 Merge pull request #39294 from sergeizv/fix-link
301535
301536             · 04bde6eed2 Fix link in proxyminion guide
301537
301538         · dd3ca0ecb0 Fix #38595 - Unexpected error log from redis retuner  in
301539           master's log (#39299)
301540
301541         · f16027d30e Merge pull request #39297 from cro/pg_returner_docs
301542
301543           · 28bac649ae Typo
301544
301545           · 19fedcdd23 Add doc to recommend pgjsonb for master job caches
301546
301547         · 77e50ed8b7  Merge  pull  request  #39286 from terminalmage/fix-pil‐
301548           larenv-precedence
301549
301550           · 3cb9833e57 Allow minion/CLI saltenv/pillarenv to override  master
301551             when compiling pillar
301552
301553         · 52440416ca Merge pull request #39221 from lvg01/fix-bug-39220
301554
301555           · e8a41d6341  Removes to early content stripping (stripping is all‐
301556             ready done when needed with ident:true), fixes #39220
301557
301558           · a4b169e0bd Fixed wrong logic, fixes #39220
301559
301560         · 5a27207c57 Add warning for Dulwich removal (#39280)
301561
301562       · ISSUE #38451: (ezh) 2016.11 file.replace has  multiple  errors  under
301563         python 3 (refs: #38464)
301564
301565       · PR  #38464:  (ezh)  [38451]  Fix  file.replace  2016.11  @ 2017-02-09
301566         23:07:49 UTC
301567
301568         · c3c621aab0   Merge   pull   request   #38464    from    doublescor‐
301569           ing/fix-2016.11-38451
301570
301571         · 81f0337338 [38451] Fix few bugs after review
301572
301573         · 1bdab253ad [38451] Fix pylint W1699(incompatible-py3-code)
301574
301575         · 3bfc6547da [38451] Fix file.replace to make it suitable to python 3
301576
301577       · PR  #39291:  (terminalmage) Add note about using saltenv jinja var in
301578         pillar top files @ 2017-02-09 21:43:50 UTC
301579
301580         · 6365211a6f Merge pull request #39291 from terminalmage/pillar-docs
301581
301582         · fbd551e069 Add note about using saltenv jinja  var  in  pillar  top
301583           files
301584
301585       · PR #39281: (twangboy) Require VCRedist on 2008R2 and below instead of
301586         2008 @ 2017-02-09 17:59:57 UTC
301587
301588         · a496ec2a16 Merge pull request #39281 from twangboy/win_installer
301589
301590         · ef5078729a Capitalize the 'r' for 2008R2
301591
301592         · 1b6bd634ac Require VCRedist on 2008R2 and below instead of 2008
301593
301594       · PR #39264: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
301595         @ 2017-02-09 17:10:14 UTC
301596
301597         · db6140aa83 Merge pull request #39264 from rallytime/merge-2016.11
301598
301599         · a9c2c106c1 Pylint fix
301600
301601         · f6aad99db2 Merge branch '2016.3' into '2016.11'
301602
301603           · 1b9217d636  Update  jsonschema  tests  to reflect change in json‐
301604             schema 2.6.0 (#39260)
301605
301606           · c1d16cc3d0  Better  handling  of  enabled/disabled  arguments  in
301607             pkgrepo.managed (#39251)
301608
301609           · 8e88f71dd9    Merge    pull   request   #39227   from   terminal‐
301610             mage/loader-optimization
301611
301612             · c750662946 Loader optimzation
301613
301614           · bc89b297f8 Merge pull request #39228 from gtmanfred/2016.3
301615
301616             · afee047b08 default to utf8 encoding if not specified
301617
301618           · d9b0671dbd Merge  pull  request  #39231  from  terminalmage/clar‐
301619             ify-jenkins-depends
301620
301621             · ad1b1255f2 Add clarification for jenkins execution module
301622
301623           · ddcff89a84 Merge pull request #39232 from terminalmage/issue21342
301624
301625             · c88896c277 Avoid recursion in s3/svn ext_pillars
301626
301627           · ef4e437bbc Fix the win_ip_test failures (#39230)
301628
301629           · df5f934c34 Merge pull request #39199 from rallytime/bp-39170
301630
301631             · c129905310  Added missing source_hash_name argument in get_man‐
301632               aged function Additional fix to  #33187 Customer was still see‐
301633               ing  errors,  this  should  now work. Tested with 2015.8.13 and
301634               2016.11.2
301635
301636           · 2621c119fd   Merge   pull    request    #39206    from    cached‐
301637             out/issue_issue_37174
301638
301639             · be31e0559c Ignore empty dicts in highstate outputter
301640
301641           · dd440452ea    Merge    pull   request   #39209   from   terminal‐
301642             mage/sorted-envs
301643
301644             · e6dda4a625 Sort the return list from the fileserver.envs runner
301645
301646           · 7bed68743e [2016.3] Pylint fix (#39202)
301647
301648           · ab76054127 Merge pull request #39197 from cachedout/pr-38793
301649
301650             · f3d35fb5c6 Lint fixes
301651
301652             · 624f25b78d Fix for #38697
301653
301654       · ISSUE #39269: (alexharrington)  Remount  forced  with  lizardfs  fuse
301655         filesystem due to device missmatch (refs: #39276)
301656
301657       · ISSUE  #39106:  (carsten-AEI)  CVMFS  fuse mount gets remounted every
301658         time (refs: #39276)
301659
301660       · PR #39276: (gtmanfred) _device_mismatch_ignored will never be True  @
301661         2017-02-09 17:05:28 UTC
301662
301663         · 304eb19b18 Merge pull request #39276 from gtmanfred/2016.11
301664
301665         · 6635a9fd3b _device_mismatch_ignored will never be True
301666
301667       · PR  #39238:  (dmurphy18)  Update disk fstype, inodeusage, percent and
301668         mount.active functions for AIX support @ 2017-02-08 21:53:32 UTC
301669
301670         · 7611698474    Merge    pull    request    #39238     from     dmur‐
301671           phy18/fix_aix_disk_mount
301672
301673         · a8a519c493 Removed space for pylint
301674
301675         · 8fa0ffa427 Updates due to code review comments
301676
301677         · 97c59a8d1c Updated mount functionality for active on AIX
301678
301679         · 1a32b2cc89  Updated  disk  functionality  for fstype, inodeuage and
301680           percent on AIX
301681
301682       · PR #39233: (rallytime) Various doc updates to  fix  warnings  in  doc
301683         build @ 2017-02-08 19:29:53 UTC
301684
301685         · 99bfa7dfee     Merge    pull    request    #39233    from    rally‐
301686           time/fixup-more-doc-build-warnings
301687
301688         · 2f74dcf685 Various doc updates to fix warnings in doc build
301689
301690       · PR #39237: (axmetishe) fix rds subnet  group  creation  @  2017-02-08
301691         19:04:31 UTC
301692
301693         · 59e927b520 Merge pull request #39237 from axmetishe/2016.11
301694
301695         · 6f4be8b69c fix rds subnet group creation
301696
301697         · PR  #39234:  (rallytime)  [2016.11]  Merge  forward  from 2016.3 to
301698           2016.11
301699
301700         · PR #39225: (terminalmage) Put legacy git_pillar  on  a  deprecation
301701           path for Oxygen
301702
301703       · ISSUE  #39078: (morganwillcock) setup.py: cannot install without set‐
301704         ting global options (refs: #39180)
301705
301706       · PR #39180: (morganwillcock)  setup.py:  Remove  global  options  from
301707         install command @ 2017-02-07 16:20:49 UTC
301708
301709         · 19c3d90a32 Merge pull request #39180 from morganwillcock/setup
301710
301711         · d7e05091a2 Remove global options from Install
301712
301713       · PR  #38863:  (hujunya) fix django auth not work @ 2017-02-07 15:43:00
301714         UTC
301715
301716         · a0907bc861 Merge pull request #38863 from hujunya/fix_django_auth
301717
301718         · 2a99ff46d3 check if django_auth_path has been in sys.path
301719
301720         · 933ebf15d7 fix pylint violations
301721
301722         · 6b5a7f4b64 fix django auth not work
301723
301724       · PR #39198: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
301725         @ 2017-02-06 21:01:56 UTC
301726
301727         · c3e541e0a2 Merge pull request #39198 from rallytime/merge-2016.11
301728
301729         · 7ea5f7f82f Merge branch '2016.3' into '2016.11'
301730
301731           · fa45cbc359 Merge pull request #39166 from Ch3LL/fix_boto_ec2_docs
301732
301733             · 90af696331 fix boto ec2 module create_image doc
301734
301735           · a40cb46249  Merge pull request #39173 from rallytime/restore-com‐
301736             munity-docs
301737
301738             · 5aeddf42a0 Restore "Salt Community" doc section
301739
301740       · ISSUE #39059: (mirceaulinic) KeyError: 'multiprocessing' in the  mas‐
301741         ter logs (proxy minions) (refs: #39063)
301742
301743       · PR  #39063:  (mirceaulinic)  Avoid KeyError: 'multiprocessing' in the
301744         master logs @ 2017-02-06 19:37:35 UTC
301745
301746         · 2a85d73f59 Merge pull request #39063 from cloudflare/ISS-39059
301747
301748         · 7118eff034 Avoid KeyError: 'multiprocessing'
301749
301750       · ISSUE #38782: (lomeroe) win_lgpo unable to find  some  Administrative
301751         Template policies (refs: #38783, #39083, #39090)
301752
301753       · ISSUE  #38761: (DaveOHenry) Cannot apply state that contains lgpo.set
301754         (refs: #39083, #39088)
301755
301756       · ISSUE #38689: (lomeroe) win_lgpo state fails to set single policy due
301757         to case sensitive check (refs: #39083, #39084, #38690)
301758
301759       · ISSUE  #38100:  (skjaro)  Problem  with win_lgpo.py in salt 2016.11.0
301760         (refs: #39083, #39089, #38779)
301761
301762       · ISSUE #21485: (lorengordon) Feature  Request:  Manage  Windows  Local
301763         Security Policy Settings (refs: #36336)
301764
301765       · PR #39083: (lomeroe) Backport #36336 to 2016.11 @ 2017-02-06 18:50:52
301766         UTC
301767
301768         · PR #36336: (lomeroe) add additional  static  policies  to  computer
301769           configuration policy class (refs: #39083)
301770
301771         · 91c25bd651 Merge pull request #39083 from lomeroe/bp-36336
301772
301773         · 03e5319124 Merge branch '2016.11' into bp-36336
301774
301775         · 981ec89a4d update command line example to correct policy name
301776
301777         · e2574da0b8 Fix/Add documentation, 80 char line lengths
301778
301779         · 5e94a30a34 add additional static policies to computer configuration
301780           policy class duplicate code cleanup/misc code efficiencies
301781
301782       · PR #39153: (nicholasmhughes) Fix selinux.mode state config file  han‐
301783         dling @ 2017-02-06 18:37:34 UTC
301784
301785         · 30455079fe       Merge      pull      request      #39153      from
301786           nicholasmhughes/fix-selinux.mode-config-predictability
301787
301788         · 8d8ba9c7d2 added the new getconfig function to the test
301789
301790         · a6a24e1a1b Addressed edge case when attempting to  set  the  config
301791           file to 'Disabled'. The state should only check the file, since the
301792           in-memory setting won't disappear until after reboot.
301793
301794         · 6858658cc2 The selinux.mode state only checked the  current  status
301795           of  SELinux  in  memory  (getenforce)  when  determining if changes
301796           needed to be made. The /etc/selinux/config file could have  a  dif‐
301797           ferent  value,  and  it  would not be changed. This commit enhances
301798           idempotency of the state in regards to both the in-memory and  con‐
301799           figuration file enforcement of SELinux.
301800
301801       · ISSUE  #38081:  (haraldrudell)  x509  state or module cannot generate
301802         password protected private keys (refs: #39159)
301803
301804       · PR #39159: (clinta) Csr crl passphrase @ 2017-02-06 18:36:05 UTC
301805
301806         · 7b5eb17cbe Merge pull request #39159 from clinta/csr-crl-passphrase
301807
301808         · cf548ac717 Remove unnecessary pass
301809
301810         · 4ebf7a3df4 Remove unnecessary pass statement
301811
301812         · 6a8046970e fix csr bugs and pep8
301813
301814         · 36dcf5f3da only overwrite if overwrite option is specified
301815
301816         · 403000d375 recreate cert on bad password
301817
301818         · 6497094ba7 passphrase for crl
301819
301820         · 3ef809fb0f passphrase for csr
301821
301822       · PR  #39162:  (meaksh)  Adding  more  function  to  Snapper  module  @
301823         2017-02-06 18:33:53 UTC
301824
301825         · b240468525  Merge  pull  request  #39162  from  meaksh/snapper-mod‐
301826           ule-improvements
301827
301828         · f950732fa0 pylint fixes
301829
301830         · aa2f9906e0 Removing extra spaces
301831
301832         · 9d6a33f257 Adds 'snapper.create_config' unit tests
301833
301834         · d38ed505f8 Adds 'snapper.modify_snapshots' unit tests
301835
301836         · d5496ccc99 Adds 'snapper.delete_snapshots' unit tests
301837
301838         · 3eecb6076b Snapper: Adding support for creating configurations
301839
301840         · 041e54d42a Snapper: Adding support for snapshot metadata  modifica‐
301841           tion
301842
301843         · eaf5de9dce Snapper: Adding support for deleting snapshots
301844
301845       · ISSUE  #38370: (tjyang) Salt-Cloud: There was a query error: Required
301846         field "deviceChange" not provided (not @optional) (refs: #39171)
301847
301848       · PR #39171: (techhat) Raise an error for a disk size that is too small
301849         @ 2017-02-06 18:19:46 UTC
301850
301851         · 6f9251ebed Merge pull request #39171 from techhat/issue38370
301852
301853         · ec57a39c00 Typo
301854
301855         · 2ed2932387 Clean up debug logs
301856
301857         · 671282656a Raise an error for a disk size that is too small
301858
301859       · PR #39179: (mcalmer) fix error parsing @ 2017-02-06 17:57:00 UTC
301860
301861         · 036f36dc9b   Merge   pull  request  #39179  from  mcalmer/fix-dock‐
301862           erng-error-parsing
301863
301864         · 6750ccd78e fix error parsing
301865
301866       · PR #39189: (morganwillcock) Fix NetBSD sockstat parsing @  2017-02-06
301867         17:28:08 UTC
301868
301869         · 30f83156cb Merge pull request #39189 from morganwillcock/sockstat
301870
301871         · 344d13eff5 Fix NetBSD sockstat example
301872
301873         · 64b693195c Fix NetBSD sockstat parsing
301874
301875       · ISSUE  #38003:  (morganwillcock) salt.runners.cache functions seem to
301876         ignore minion targeting parameter (refs: #39141)
301877
301878       · PR #39141: (UtahDave) Don't overwrite the  minion_ids  var  that  was
301879         passed @ 2017-02-03 20:56:25 UTC
301880
301881         · 6a9704189f     Merge     pull    request    #39141    from    Utah‐
301882           Dave/fix_cache_lookup_ZD1187
301883
301884         · 0340614d15 return all minions' grains if no tgt
301885
301886         · f833bf3a79 Don't overwrite the minion_ids var that was passed
301887
301888       · PR #39164: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
301889         @ 2017-02-03 17:57:07 UTC
301890
301891         · d19cee716f Merge pull request #39164 from rallytime/merge-2016.11
301892
301893         · 6504bb6b02 Merge branch '2016.3' into '2016.11'
301894
301895           · 9de08af950 Apply fix from #38705 to 2016.3 branch (#39077)
301896
301897           · da3053ea9b update vmware getting started doc (#39146)
301898
301899           · e78ca0f575  Fixing  a weird edge case when using salt syndics and
301900             targetting via pillar.  Without this fix the  master  of  masters
301901             ends up in an infinite loop since the data returned from the min‐
301902             ions is differently structured than if a sync was not in use.  (‐
301903             #39145)
301904
301905           · cd8077ab81      Merge      pull      request      #38804     from
301906             alexbleotu/root_dir_fix-2016.3-gh
301907
301908             · b3bdd3b04a Add missing whiteline
301909
301910             · c7715acd53 Merge pull request #3 from cro/ab_rootdirfix
301911
301912               · e8cbafaaf1 When running testsuite, salt.syspaths.ROOT_DIR  is
301913                 often empty.
301914
301915             · b12dd44a26 Merge pull request #1 from cro/ab_rootdirfix
301916
301917               · bffc537aca  Remove extra if statements (rstrip will check for
301918                 the presence anyway).
301919
301920             · 97521b3468 Second attempt to  fix  prepending  of  root_dir  to
301921               paths
301922
301923           · 6ffeda3ee5  Clarify  ipv6 option for minion and inteface for mas‐
301924             ter, closes #39118 (#39131)
301925
301926           · 646b9ea4e5 Don't abort pillar.get with merge=True if  default  is
301927             None (#39116)
301928
301929       · PR  #39152:  (twangboy)  Remove  files  not  needed  by salt-minion @
301930         2017-02-03 17:11:11 UTC
301931
301932         · ed12512045 Merge pull request #39152 from twangboy/win_installer
301933
301934         · 5ff8a14317 Fix problem deleting files
301935
301936         · 4524dd49d4 Remove files not needed by salt-minion
301937
301938       · ISSUE #38691: (lomeroe) win_lgpo module throws a key error  when  run
301939         with return_not_configured=True (refs: #39085, #38666)
301940
301941         · PR #39085: (lomeroe) Backport #38666 to 2016.11
301942
301943         · PR  #38666:  (lomeroe)  correct  issue  when  running lgpo.get with
301944           return_not_configured=True (refs: #39085)
301945
301946         · PR #39086: (lomeroe) Backport #38165 to 2016.11
301947
301948         · PR #38165: (lomeroe) have _in_range_inclusive function  attempt  to
301949           convert a string to an i… (refs: #39086)
301950
301951       · ISSUE  #38241:  (frogunder) mine.get and salt-ssh gives error message
301952         (refs: #38970)
301953
301954       · PR #38970: (gtmanfred) when using local_cache we  have  to  pass  the
301955         list of minions @ 2017-02-02 19:24:39 UTC
301956
301957         · 4eec641b65 Merge pull request #38970 from gtmanfred/2016.11
301958
301959         · ebb9df3ec7  when using local_cache we have to pass the list of min‐
301960           ions
301961
301962       · ISSUE #39110: (morganwillcock) archive.extracted:  2016.11.2  returns
301963         state  failure  for  some  zip  formats,  if already extracted (refs:
301964         #39128)
301965
301966         · PR #39128: (terminalmage) Fix archive.list on Windows
301967
301968       · ISSUE saltstack/salt#36712: (dmitrievav)  s3.put  function  does  not
301969         create s3 bucket (refs: #36714)
301970
301971         · PR #39133: (rallytime) Back-port #36714 to 2016.11
301972
301973         · PR  #36714:  (dmitrievav)  s3.put  can't  create  s3  bucket (refs:
301974           #39133)
301975
301976       · ISSUE #38689: (lomeroe) win_lgpo state fails to set single policy due
301977         to case sensitive check (refs: #39083, #39084, #38690)
301978
301979         · PR #39084: (lomeroe) Backport #38690 to 2016.11
301980
301981         · PR  #38690:  (lomeroe)  correct checking of policy_class to compare
301982           with lower() version of t… (refs: #39084)
301983
301984       · ISSUE #38100: (skjaro) Problem with  win_lgpo.py  in  salt  2016.11.0
301985         (refs: #39083, #39089, #38779)
301986
301987         · PR #39089: (lomeroe) Backport #38779 to 2016.11
301988
301989         · PR  #38779:  (lomeroe)  win_lgpo handle errors when 'encoding="uni‐
301990           code"' exists in ADMX file (refs: #39089)
301991
301992       · ISSUE #38782: (lomeroe) win_lgpo unable to find  some  Administrative
301993         Template policies (refs: #38783, #39083, #39090)
301994
301995         · PR #39090: (lomeroe) Backport  #38783 to 2016.11
301996
301997         · PR  #38783:  (lomeroe) Perform a "starts-with" search to match ADML
301998           text names (refs: #39090)
301999
302000       · ISSUE #38761: (DaveOHenry) Cannot apply state that contains  lgpo.set
302001         (refs: #39083, #39088)
302002
302003         · PR #39088: (lomeroe) Backport  #37262 to 2016.11
302004
302005         · PR  #37262:  (lomeroe)  correct  issues  in  win_lgpo module (refs:
302006           #39088)
302007
302008       · PR #39122: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
302009         @ 2017-02-01 21:41:59 UTC
302010
302011         · 50d72da3f6 Merge pull request #39122 from rallytime/merge-2016.11
302012
302013         · a782b00ee1 Merge branch '2016.3' into '2016.11'
302014
302015         · cc9b69b6bc    Merge    pull    request    #39091   from   terminal‐
302016           mage/update-test-valid-docs
302017
302018           · d76f0380d0 add debug logging for batch vars
302019
302020           · b4afea2a25 Don't fail test if data is empty
302021
302022           · b3a5d549c1 Account for trimmed value in 'salt -d' output
302023
302024           · 909916c78e Run test_valid_docs in batches
302025
302026         · bcee3d1ef6  Move  fileclient   tests   to   tests/integration/file‐
302027           server/fileclient_test.py (#39081)
302028
302029         · 122422bc08 Bump openstack deprecation notice to Oxygen (#39067)
302030
302031       · PR #39087: (lomeroe) Backport #37375 to 2016.11 @ 2017-02-01 19:02:58
302032         UTC
302033
302034         · PR #37375: (lomeroe) add updating gpt.ini file  when  ADM  template
302035           policies are modified (gp… (refs: #39087)
302036
302037         · f8a6863d98 Merge pull request #39087 from lomeroe/bp-37375
302038
302039         · c3aaa536f3  _in_range_inclusive  class  method  incorrectly  called
302040           isinstance
302041
302042         · ce263f9372 set_computer_policy and set_user_policy  call  "set"  by
302043           the  original  function  name (set) instead of the aliased function
302044           name set_
302045
302046         · ff7d74bfb0 correct tool extension guid for user registry policies
302047
302048         · 08f0078ef3 spelling correction
302049
302050         · 5fc40485f7 add updating gpt.ini file when ADM template policies are
302051           modified (gpt.ini file must exist with proper data for ADM policies
302052           to apply)
302053
302054       · PR #39094: (rallytime) Add a bunch of missing doc module references @
302055         2017-02-01 18:56:27 UTC
302056
302057         · c4c6e701af Merge pull request #39094 from rallytime/doc-build-warn‐
302058           ings
302059
302060         · b866427f59 Add a bunch of missing doc module references
302061
302062       · PR #39108:  (janhorstmann)  [Bugfix]  Fix  state  x509.crl_managed  @
302063         2017-02-01 18:32:43 UTC
302064
302065         · d302bb747e     Merge     pull     request    #39108    from    jan‐
302066           horstmann/fix-x509-state
302067
302068         · 9f5c532510 [Bugfix] Fix state x509.crl_managed
302069
302070       · ISSUE #39100: (whytewolf) salt-run fileserver.update Exception (refs:
302071         #39107)
302072
302073       · ISSUE  #39098:  (FraaJad)  state.event  runner  fails with TypeError:
302074         argument of type 'NoneType' is not iterable  (refs: #39107)
302075
302076       · ISSUE #38638: (mirceaulinic) salt.cmd runner  raises  TypeError  when
302077         function returns bool (refs: #39107)
302078
302079       · PR  #39107:  (mirceaulinic)  Check  if  data['return'] is dict type @
302080         2017-02-01 18:21:46 UTC
302081
302082         · bf61ec9515 Merge pull request #39107 from cloudflare/FIX-38638
302083
302084         · 7c34815979 Check if data['return'] is dict type
302085
302086       · ISSUE #39065: (jak3kaj) primary bonding option is not applied  (refs:
302087         #39068, #39069)
302088
302089         · PR #39069: (jak3kaj) Update primary bonding option in rh_ip.py
302090
302091       · ISSUE  #39065: (jak3kaj) primary bonding option is not applied (refs:
302092         #39068, #39069)
302093
302094         · PR #39068: (jak3kaj) Update primary bonding option in debian_ip.py
302095
302096       · ISSUE #38704: (nasenbaer13)  Archive  extracted  fails  when  another
302097         state run is queued (refs: #38705)
302098
302099       · PR  #39076: (terminalmage) Re-submit PR #38705 against 2016.11 branch
302100         @ 2017-01-31 20:11:55 UTC
302101
302102         · PR #38705: (nasenbaer13) Fix for #38704 archive extracted and dock‐
302103           erio states (refs: #39077, #39076)
302104
302105         · 9836d7dd29 Merge pull request #39076 from terminalmage/pr-38705
302106
302107         · 15db8d47ed Fix for #38704 archive extracted and dockerio states
302108
302109       · ISSUE   #39057:   (sergeizv)  modules.linux_lvm.fullversion  provides
302110         incomplete info (refs: #39058)
302111
302112       · PR  #39058:  (sergeizv)  Fix   salt.modules.linux_lvm.fullversion   @
302113         2017-01-31 19:01:12 UTC
302114
302115         · 86b4b77bfe Merge pull request #39058 from sergeizv/fix-lvm-fullver‐
302116           sion
302117
302118         · e46c89f9ed Fix salt.modules.linux_lvm.fullversion
302119
302120         · fb7ef99838 Fix mock emulating lvm version
302121
302122       · ISSUE #39051: (afletch) salt.roster.cache / salt.utils.cloud  is_pub‐
302123         lic_ip - incorrect public IP address (refs: #39066)
302124
302125       · PR  #39066:  (techhat)  127.0.0.0/8  is  all  loopback  @  2017-01-31
302126         18:43:22 UTC
302127
302128         · 721b245f90 Merge pull request #39066 from techhat/issue39051
302129
302130         · ea43bb8101 127.0.0.0/8 is all loopback
302131
302132       · ISSUE #39070: (sergeizv) modules.linux_lvm.pvcreate misbehaves if all
302133         submitted devices are already LVM PVs (refs: #39071)
302134
302135       · PR  #39071: (sergeizv) Fix modules.linux_lvm.pvcreate on existing LVM
302136         PVs @ 2017-01-31 18:36:54 UTC
302137
302138         · c54d9f4e2a Merge pull request #39071 from sergeizv/fix-lvm-pvcreate
302139
302140         · f1e3e86e6a Fix modules.linux_lvm.pvcreate on existing LVM PVs
302141
302142         · 0f84ca2487 Add test for modules.linux_lvm.pvcreate on existing  LVM
302143           PVs
302144
302145         · 3967992bfd Fix test for modules.linux_lvm.pvcreate
302146
302147       · PR #39048: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
302148         @ 2017-01-31 15:55:49 UTC
302149
302150         · 88b171f863 Merge pull request #39048 from rallytime/merge-2016.11
302151
302152         · b2b3989773 Merge branch '2016.3' into '2016.11'
302153
302154           · a24af5ac46 Merge pull request #39047 from rallytime/merge-2016.3
302155
302156             · b732a1f646 Merge branch '2015.8' into '2016.3'
302157
302158             · 56ccae6ff7 Add 2015.8.14 release notes file (#39046)
302159
302160             · 5943fe65d3 Update 2015.8.13 release notes (#39037)
302161
302162           · fef1b1133d Add 2016.3.6 release notes file (#39045)
302163
302164           · 7c43f4ac32 [2016.3] Update release numbers for doc build (#39042)
302165
302166           · ff324599d5 Update 2016.3.5 release notes (#39038)
302167
302168           · 5b09dc4198 Merge  pull  request  #39028  from  terminalmage/clar‐
302169             ify-delimiter-argument
302170
302171             · f29ef071f3 Clarify delimiter argument
302172
302173           · 1ff359fa58  Add CLI Example for rest_sample_utils.get_test_string
302174             function (#39030)
302175
302176           · f13fb9ef1e Enable __proxy__ availability  in  states,  highstate,
302177             and utils. Enable __utils__ availability in proxies. (#38899)
302178
302179         · PR #39035: (cro) Add CLI Examples so tests will pass
302180
302181         · PR #39044: (rallytime) Add 2016.11.3 release notes file
302182
302183         · PR  #39040:  (rallytime)  [2016.11]  Update release numbers for doc
302184           build
302185
302186         · PR #39039: (rallytime) Update 2016.11.2 release notes
302187
302188         · PR #39005: (cro) Ungate the status.py module and raise  unsupported
302189           errors in functions not executable on Windows. (refs: #39536)
302190
302191       · PR  #39012: (terminalmage) Fix "invalid lexer" errors in docs build @
302192         2017-01-28 06:47:45 UTC
302193
302194         · e70904c480   Merge   pull    request    #39012    from    terminal‐
302195           mage/invalid-lexer
302196
302197         · 868001baac Fix "invalid lexer" errors in docs build
302198
302199       · PR #39003: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
302200         @ 2017-01-28 00:09:09 UTC
302201
302202         · cea0f32936 Merge pull request #39003 from rallytime/merge-2016.11
302203
302204         · 76e95087fd Merge branch '2016.3' into '2016.11'
302205
302206         · da96221741   Merge   pull   request   #38951    from    DSRCorpora‐
302207           tion/bugs/37938_fix_depends_decorator_memleak
302208
302209           · 0b18f34678  Keep  the  only  one  record  per  module-function in
302210             depends decorator.
302211
302212         · 85165edb70 Merge pull request #38982 from rallytime/fix-34780
302213
302214           · 1583c5579a Set response when using "GET" method in s3 utils
302215
302216         · cfdbc99e12   Merge   pull   request    #38989    from    alprs/doc‐
302217           fix-state_pt3_environ
302218
302219           · 52a9ad1c60 fix SLS in environment variable examples
302220
302221         · 55e4d2572e  Merge  pull  request  #39000  from  rallytime/skip-bad‐
302222           load-test
302223
302224           · 4b3ff0fe0f Skip the test_badload test until Jenkins move is  com‐
302225             plete
302226
302227         · fe054eb772  Merge  pull  request  #38995 from terminalmage/fix-pil‐
302228           lar.item-docstring
302229
302230           · 06d094dd8f Fix pillar.item docstring
302231
302232       · ISSUE #38853: (bobrik) file.serialize still expects show_diff instead
302233         of show_changes (refs: #38908)
302234
302235       · PR  #38908:  (bobrik) Deprecate show_diff for file.serialize to mimic
302236         file.managed, closes #38853 @ 2017-01-27 17:15:37 UTC
302237
302238         · 58543d5cbf      Merge      pull      request      #38908       from
302239           bobrik/show-changes-for-serialize
302240
302241         · e0af212c1b Remove unnecessary blank lines
302242
302243         · a08c1ca530   Deprecate   show_diff   for  file.serialize  to  mimic
302244           file.managed, closes #38853
302245
302246       · ISSUE saltstack/salt-bootstrap#1021: (sjorge) salt-bootstrap  missing
302247         salt-api.xml on smartos (refs: #38978)
302248
302249       · PR  #38978: (sjorge) fixes saltstack/salt-bootstrap#1021 @ 2017-01-27
302250         17:05:10 UTC
302251
302252         · 4b75dfac95 Merge pull request #38978 from sjorge/2016.11-bootstrap
302253
302254         · 26eb35f99d fixes salt/salt-bootstrap`#1021`_
302255
302256       · PR #38991: (isbm) Isbm zypper state unknown pkg  crash  @  2017-01-27
302257         16:59:38 UTC
302258
302259         · b40f369d98   Merge   pull   request   #38991   from  isbm/isbm-zyp‐
302260           per-state-unknown-pkg-crash
302261
302262         · 35f620e1c8 Prevent crash on unknown to the repo package
302263
302264       · PR #38979: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
302265         @ 2017-01-26 22:56:13 UTC
302266
302267         · 3e76662166 Merge pull request #38979 from rallytime/merge-2016.11
302268
302269         · fdaa5ac1b0 Merge branch '2016.3' into '2016.11'
302270
302271         · b66b6f6423 Merge pull request #38950 from mbom2004/2016.3
302272
302273           · c09f39d6c9 Remove unused json import
302274
302275           · 249efa3068 Fixed Logstash Engine in file logstash.py
302276
302277         · a6c6e47842  Handle  changing "is_default" value in moto package for
302278           boto test mock (#38973)
302279
302280         · b965b5dcc2 Merge pull request #38952 from terminalmage/zd1168
302281
302282           · 6b014e53fc Rename on_demand_pillar to on_demand_ext_pillar
302283
302284           · d216f90c63 Document new on_demand_pillar option and add to config
302285             template
302286
302287           · 426b20f02f  Add  documentation for on-demand pillar to pillar.ext
302288             docstring
302289
302290           · 7b10274b6b Make on-demand ext_pillars tunable
302291
302292           · d54723ccae Add on_demand_pillar config option
302293
302294         · 2c4ad85a78  Merge  pull  request  #38948  from  rallytime/bump-tem‐
302295           plate-context-deprecation
302296
302297           · 749e0031d7  Bump the template context deprecation version to Oxy‐
302298             gen
302299
302300         · e4514ca7d8 Merge pull request #38946 from rallytime/bp-37632
302301
302302           · ee37cdace9 Fix some lint
302303
302304           · c08071e182 Fix versions report for server OSs
302305
302306         · 953a20350a Merge pull request #38913 from Adaephon-GH/patch-1
302307
302308           · e2f4a16fdd Removing trailing whitespace
302309
302310           · 616292c6b1 Ignore plist files without Label key
302311
302312         · 826dce1059 Merge pull request #38917 from twangboy/update_jinja_mac
302313
302314           · 62e608b627 Update Jinja2 to 2.9.4
302315
302316         · b27733cc33 Merge pull request #38925 from terminalmage/issue38540
302317
302318           · 76392fc6ad Fix traceback when a netapi module uses wheel_async
302319
302320           · bd4474fa62 Fix 'success' value for wheel commands
302321
302322         · 618596f0cc Merge pull request #38926 from gtmanfred/2016.3
302323
302324           · 9cae953c93 add note about pysss for pam eauth
302325
302326       · PR #38937: (arthru) Fix smtp ret require gnupg @ 2017-01-26  20:08:16
302327         UTC
302328
302329         · 0660cc3cf2     Merge     pull    request    #38937    from    Hash‐
302330           BangDev/fix-smtp-ret-require-gnupg
302331
302332         · 399556b9fe Remove trailing whitespace
302333
302334         · f308d13a17 log an error on gnupg  absence  instead  of  raising  an
302335           exception
302336
302337         · 0427879d19 fails if gpgowner is set in smtp returner config but the
302338           installation lacks gnupg module
302339
302340         · 27449c5a9b smtp returner does not require gnupg to be installed
302341
302342       · ISSUE #38816: (grichmond-salt) Errors in cloud runners are not  reli‐
302343         ably being captured as failures. (refs: #38955)
302344
302345       · PR  #38955: (techhat) Do a better job at error detection in runners @
302346         2017-01-26 20:00:18 UTC
302347
302348         · d947c5c449 Merge pull request #38955 from techhat/issue38816
302349
302350         · ea8654f400 Typo
302351
302352         · 94050ff716 Watch out for bools
302353
302354         · 0142b0bcb3 Do a better job at error detection in runners
302355
302356       · PR #38953: (thatch45) fix an issue where thorium would remove keys of
302357         reattaching minions @ 2017-01-26 19:15:59 UTC
302358
302359         · 04a5b05c36 Merge pull request #38953 from thatch45/thorium_keyfix
302360
302361         · 68e96b11ac This is faster and cleaner
302362
302363         · 13d28a34a6  fix  an  issue where thorium would remove keys of reat‐
302364           taching minions
302365
302366         · PR   #38972:   (rallytime)   Add   CLI   Example   for    rest_sam‐
302367           ple_utils.get_test_string function (refs: #39030)
302368
302369       · PR  #38957:  (mcalmer)  Fix  timezone  handling for rpm installtime @
302370         2017-01-26 18:41:15 UTC
302371
302372         · 27166fad4e      Merge      pull      request      #38957       from
302373           mcalmer/fix-rpm-install_date-timezone
302374
302375         · c7da9f87b6 Fix timezone handling for rpm installtime
302376
302377       · PR  #38965:  (toanju) salt-cloud will use list_floating_ips for Open‐
302378         Stack @ 2017-01-26 16:44:12 UTC
302379
302380         · PR #34280: (kevinanderson1) salt-cloud will  use  list_floating_ips
302381           for Openstack (refs: #38965)
302382
302383         · ec690a0a12 Merge pull request #38965 from toanju/2016.11
302384
302385         · 1253ce9b63 salt-cloud will use list_floating_ips for OpenStack
302386
302387       · PR  #38949: (clinta) Use signing passphrase as public passphrase when
302388         generating self-sign… @ 2017-01-25 20:20:58 UTC
302389
302390         · d906e8fadb      Merge      pull      request      #38949       from
302391           clinta/x509-passphrase-bug
302392
302393         · c8697e38a8  Use signing passphrase as public passphrase when gener‐
302394           ating self-signed certificates
302395
302396       · PR  #38929:  (MTecknology)  Fix  psutil  regressions  in  2016.11   @
302397         2017-01-25 20:17:41 UTC
302398
302399         · de3b2cc97b Merge pull request #38929 from MTecknology/2016.11
302400
302401         · 73a8c6d121 Load core grains only if required.
302402
302403         · 4966011cb5 Modules might still be needed, even if psutil loads.
302404
302405         · fb0432fd21 Fixes a regression with old versions of python-psutil.
302406
302407       · PR  #38940:  (isbm)  Isbm  sanitizers  fix and unit test @ 2017-01-25
302408         20:15:56 UTC
302409
302410         · 3ec806c003  Merge  pull  request  #38940  from   isbm/isbm-sanitiz‐
302411           ers-fix-and-unit-test
302412
302413         · a112b790fe Fix typo
302414
302415         · 47a16916c3 Add unit test
302416
302417         · 046c5436eb Fix leading dots on sanitized hostname
302418
302419       · PR #38944: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
302420         @ 2017-01-25 19:44:42 UTC
302421
302422         · e420763285 Merge pull request #38944 from rallytime/merge-2016.11
302423
302424         · ee33a53a64 Merge branch '2016.3' into '2016.11'
302425
302426           · 405d86a2ca Merge pull request #38847 from terminalmage/issue38825
302427
302428             · 11a47803ce Use log.exception() instead
302429
302430             · e40fac589a Catch MinionError in file.source_list
302431
302432           · b5df104fc2 Merge pull request #38875 from terminalmage/issue36121
302433
302434             · fbc4d2a2c4 reactor: ensure glob_ref is a string
302435
302436             · 2e443d79a3 cp.cache_file: add note re: return  for  nonexistant
302437               salt:// path
302438
302439           · e9ebec4d80      Merge      pull      request      #38890     from
302440             cro/vmware_reset_vm_20163
302441
302442             · 0146562fb4 Call correct function for resetting a VM
302443
302444           · c3fbfcd231 Merge pull request #38883 from techhat/dontrequire
302445
302446             · 67bc4d6687 Don't require text_out path to exist
302447
302448           · 6430a45196   Merge   pull   request   #38851    from    terminal‐
302449             mage/docker-py-2.0
302450
302451             · 3c061b21fe Support docker-py 2.0 in dockerng
302452
302453           · ac8008d843  Merge  pull  request  #38844 from cachedout/http_mem‐
302454             ory_leak
302455
302456             · c46bf85518 Fix memory leak in HTTP client
302457
302458           · dfe6dfe963 Merge pull request #38823 from gtmanfred/2016.3
302459
302460             · f0a71e8707 pass pillar to compound matcher in match module
302461
302462           · a04ab86da1     Merge      pull      request      #38833      from
302463             Ch3LL/add_release_notes_2016.3.5
302464
302465           · 374dc1ab88 skip 2016.3.5 due to :doc: references
302466
302467           · 31f324c4ff add 2016.3.5 changelog to release notes
302468
302469       · ISSUE  #38753:  (alexbleotu)  __proxy__  dunder  is not injected when
302470         invoking the salt  variable  in  sls  files  (refs:  #38899,  #38900,
302471         #38829)
302472
302473       · ISSUE  #38557:  (alexbleotu)  Proxy  not  working  on  develop (refs:
302474         #38829)
302475
302476       · ISSUE #38265: (mirceaulinic) __utils__ object not available in  proxy
302477         module (refs: #38899, #38900, #38829)
302478
302479       · ISSUE   #32918:  (mirceaulinic)  Proxy  minions  reconnection  (refs:
302480         #38829)
302481
302482       · PR #38900: (cro) Enable __proxy__ availability in states,  highstate,
302483         and utils. Enable __utils__ for proxies.  @ 2017-01-25 19:36:48 UTC
302484
302485         · PR  #38899:  (cro)  Enable  __proxy__ availability in states, high‐
302486           state, and utils. Enable __utils__ for proxies. (refs: #38900)
302487
302488         · PR #38829: (cro) MANY dunder variable fixes  for  proxies  +  proxy
302489           keepalive from @mirceaulinic (refs: #38899, #38900)
302490
302491         · PR #37864: (mirceaulinic) Proxy keepalive feature (refs: #38829)
302492
302493         · bd4889ac73 Merge pull request #38900 from cro/px_dunder_201611
302494
302495         · 9a86fddfa1 Remove extra call to salt.loader.utils.
302496
302497         · f4ba89735c Resolve merge conflict
302498
302499       · PR #38918: (thatch45) Thorium typos @ 2017-01-25 19:00:40 UTC
302500
302501         · f94b8798b6 Merge pull request #38918 from thatch45/thorium_typos
302502
302503         · 0b4aca9145 fix some minor typos in the thorium docs
302504
302505         · 58a18e2b58  Add  test=  True to the master so that thorium does not
302506           stack trace
302507
302508       · ISSUE #38543: (amendlik) salt --subset returns wrong number  of  min‐
302509         ions (refs: #38919)
302510
302511       · PR   #38919:  (cachedout)  Correctly  pass  subset  to  cmd_subset  @
302512         2017-01-25 18:59:16 UTC
302513
302514         · 32fbb945b7 Merge pull request #38919 from cachedout/issue_38543
302515
302516         · a555de7c56 Correctly pass subset to cmd_subset
302517
302518       · PR #38922: (twangboy) Fix 64bit detection, vcredist only on <= 2008 @
302519         2017-01-25 18:47:41 UTC
302520
302521         · 6b3c738bfd Merge pull request #38922 from twangboy/fix_vcredist
302522
302523         · 214e1cc598 Fix 64bit detection, vcredist only on <= 2008
302524
302525       · ISSUE #38371: (syphernl) [2016.11.1] Scheduled highstates not return‐
302526         ing to master (refs: #38923)
302527
302528       · PR #38923: (DmitryKuzmenko) Fixed broken  __schedule_return  handler.
302529         @ 2017-01-25 18:45:30 UTC
302530
302531         · PR  #36202:  (hu-dabao) for 36049, log current connected master and
302532           make status module more useful and efficient (refs: #38923)
302533
302534         · 954658523b   Merge   pull   request   #38923    from    DSRCorpora‐
302535           tion/bugs/38371_fix_schedule_return
302536
302537         · b18f675486 Fixed broken __schedule_return handler.
302538
302539       · PR  #38927:  (l2ol33rt)  Adding explicit install of python-systemd in
302540         jessie-backports on Debian Guide @ 2017-01-25 18:21:18 UTC
302541
302542         · 828e9bd8f9 Merge pull request #38927 from l2ol33rt/debian_doc_fix
302543
302544         · 9cc9c6110d Adding explicit call to python-systemd  in  jessie-back‐
302545           ports
302546
302547       · ISSUE #37413: (Snarfingcode666) Salt-cloud vmware missing reboot com‐
302548         mand (refs: #38890, #38887, #38889)
302549
302550       · PR #38889: (cro) Backport #38887 to 2016.11:  Call  correct  function
302551         for resetting a VM @ 2017-01-24 15:20:29 UTC
302552
302553         · PR  #38887:  (cro)  Enable  resetting  a VM via salt-cloud & VMware
302554           driver (refs: #38890, #38889)
302555
302556         · 5ff5e97598      Merge      pull      request      #38889       from
302557           cro/vmware_reset_vm_201611
302558
302559         · 76a9920a6b Call correct function for resetting a VM
302560
302561       · PR  #38891: (UtahDave) Proper function parameter default @ 2017-01-24
302562         15:06:09 UTC
302563
302564         · 53d0aa8855 Merge  pull  request  #38891  from  UtahDave/fix_cassan‐
302565           dra_protocol_version
302566
302567         · c475609683 Proper function parameter default
302568
302569       · PR  #38904:  (terminalmage)  Add  top file merging docs to the master
302570         config file documentation @ 2017-01-24 14:59:26 UTC
302571
302572         · c680ee3174 Merge pull request #38904 from terminalmage/docs
302573
302574         · 42a3652620 Add top file merging docs to the master config file doc‐
302575           umentation
302576
302577       · PR  #38885:  (meaksh)  Increasing  timeouts  for running integrations
302578         tests @ 2017-01-23 18:59:50 UTC
302579
302580         · 41a3055213      Merge      pull      request      #38885       from
302581           meaksh/2016.11-fix-tests-issues
302582
302583         · 4311b0b6de Increasing timeouts for running integrations tests
302584
302585       · PR  #38639:  (isbm)  Isbm  disable  custom  roster  for api 2016.11 @
302586         2017-01-23 18:59:11 UTC
302587
302588         · bde6d3eee7 Merge pull request  #38639  from  isbm/isbm-disable-cus‐
302589           tom-roster-for-api-2016.11
302590
302591         · ffbd45062e Explain what it is about and how to configure that
302592
302593   Salt 2016.11.4 Release Notes
302594       Version 2016.11.4 is a bugfix release for 2016.11.0.
302595
302596   Statistics
302597       · Total Merges: 276
302598
302599       · Total Issue References: 63
302600
302601       · Total PR References: 223
302602
302603       · Contributors:   62   (Ch3LL,   DennisHarper,  DmitryKuzmenko,  L4rS6,
302604         MasterNayru, Seb-Solon,  The-Loeki,  UtahDave,  aabognah,  alankrita,
302605         amontalban,  ardakuyumcu,  attiasr,  bdrung,  bewing, cachedout, cro,
302606         defanator,    discountbin,    dmurphy18,    drawsmcgraw,     eldadru,
302607         garethgreenaway,   githubcdr,   gtmanfred,   hkrist,  isbm,  jbadson,
302608         jeanpralo, jettero, jinm, joe-niland, kaszuba, lomeroe,  lorengordon,
302609         mateiw,    mcalmer,    mchugh19,   meaksh,   mirceaulinic,   mlalpho,
302610         narendraingale2, nmadhok, rallytime, redbaron4, roaldnefs, s0undt3ch,
302611         skazi0,  skizunov,  smarsching,  sofixa,  sp1r,  sthrasher,  techhat,
302612         terminalmage, thatch45, thor, ticosax,  twangboy,  vutny,  whiteinge,
302613         zer0def)
302614
302615   AIX Support Expanded
302616       AIX support has been added for the following execution modules:
302617
302618       · user
302619
302620       · group
302621
302622       · network
302623
302624       · status
302625
302626       · timezone
302627
302628       Additionally,  AIX is now supported in the disk.iostat remote-execution
302629       function, and the status beacon is now supported.
302630
302631   Minion Data Cache Enhancement
302632       Memcache is now supported as a data store for the minion data cache.
302633
302634       Memcache is an additional cache layer that keeps a  limited  amount  of
302635       data fetched from the minion data cache for a limited period of time in
302636       memory that makes cache operations faster. It doesn't make  much  sense
302637       for  the  localfs  cache driver but helps for more complex drivers like
302638       consul.
302639
302640       For more  details  see  memcache_expire_seconds  and  other  memcache_*
302641       options in the master config reverence.
302642
302643   Docker Fixes
302644       · Docker  authentication has been re-organized. Instead of attempting a
302645         login for each push/pull (which  was  unnecessary),  a  new  function
302646         called dockerng.login has been added, which authenticates to the reg‐
302647         istry and adds the credential  token  to  the  ~/.docker/config.json.
302648         After  upgrading, if you have not already performed a docker login on
302649         the minion using the docker CLI, you will need to run  dockerng.login
302650         to login. This only needs to be done once.
302651
302652       · A  bug  in  resolving  the  tag  name for images in a custom registry
302653         (where  a  colon  can  appear  in  the  image  name,   e.g.    myreg‐
302654         istry.com:5000/image:tagname)  has  been fixed. In previous releases,
302655         Salt would use the colon to separate the  tag  name  from  the  image
302656         name, and if there was no colon, the default tag name of latest would
302657         be assumed.  However,  this  caused  custom  registry  images  to  be
302658         misidentified  when  no  explicit  tag  name  was passed (e.g. myreg‐
302659         istry.com:5000/image). To work around this in earlier releases,  sim‐
302660         ply specify the tag name.
302661
302662   Salt-Cloud Fixes
302663       2016.11.0  added  support  for  templating  userdata  files for the ec2
302664       driver, using the renderer option from the master config file. However,
302665       as  the  default renderer first evaluates jinja templating, followed by
302666       loading the data as a YAML dictionary, this  results  in  unpredictable
302667       results  when userdata files are comprised of non-YAML data (which they
302668       generally are).
302669
302670       2016.11.4 fixes this by only templating the userdata_file  when  it  is
302671       explicitly  configured  to do so. This is done by adding a new optional
302672       parameter to the cloud profile called userdata_template. This option is
302673       used  in  the same way as the template argument in file.managed states,
302674       it is simply set to the desired templating renderer:
302675
302676          my-ec2-config:
302677            # Pass userdata to the instance to be created
302678            userdata_file: /etc/salt/my-userdata-file
302679            userdata_template: jinja
302680
302681       If no userdata_template  option is  set  in  the  cloud  profile,  then
302682       salt-cloud  will  check  for  the  presence of the master configuration
302683       parameter userdata_renderer. If this is also not set, then no  templat‐
302684       ing will be performed on the userdata_file.
302685
302686       In  addition,  the  other  cloud  drivers which support setting a user‐
302687       data_file (azurearm, nova, and openstack) have had  templating  support
302688       added to bring them to feature parity with the ec2 driver's implementa‐
302689       tion of the userdata_file option.
302690
302691   Changelog for v2016.11.3..v2016.11.4
302692       Generated at: 2018-05-27 19:46:47 UTC
302693
302694       · PR #40708: (Ch3LL) Add 2016.11.4 Release Note ChangeLog @  2017-04-14
302695         22:12:57 UTC
302696
302697         · e5cd6086a7 Merge pull request #40708 from Ch3LL/2016.11.4_release
302698
302699         · d228fb6e02 Add 2016.11.4 Release Note ChangeLog
302700
302701       · PR  #40685: (Ch3LL) Fix errno code for filecache test for other oper‐
302702         ating systems.  @ 2017-04-14 16:54:25 UTC
302703
302704         · 77028a6c4e Merge pull request #40685 from Ch3LL/fix_mac_file
302705
302706         · 9ea6e8b456 remove io and change to EROFS
302707
302708         · 688791ff60 remove try-except and change errno
302709
302710         · e30afc4c01 add exception type
302711
302712         · acf333df08 change errno code for fileclient test
302713
302714       · ISSUE #40688: (jbadson) Syslog returner does not work with Python 2.6
302715         (refs: #40689)
302716
302717       · PR  #40689:  (jbadson)  Fixes  bug that prevents syslog returner from
302718         working under Python 2.6 @ 2017-04-14 10:45:13 UTC
302719
302720         · bc70772f9d  Merge  pull  request   #40689   from   jbadson/fix-sys‐
302721           log-returner
302722
302723         · e5a3a7d217  Fixes  bug  that  prevents syslog returner from working
302724           under Python 2.6
302725
302726       · ISSUE #40658: (sebw) State tomcat.war_deployed  regression  when  WAR
302727         filename contains version (refs: #40690)
302728
302729       · PR  #40690:  (thor)  Fixes #40658: even clearer and working(!) Tomcat
302730         version handling @ 2017-04-14 10:44:02 UTC
302731
302732         · 983d35ad38 Merge pull request #40690 from thor/2016.11-tomcat
302733
302734         · 09145ea1a5 Fixes unindexed strfmt curly braces for python 2.6
302735
302736         · b78fc46b91 Fixes #40658: clearer version handling
302737
302738       · PR #40686: (twangboy) Fix 'salt-minion' service for Win  10  Creators
302739         Update 1703 @ 2017-04-13 20:00:12 UTC
302740
302741         · 3cd9a50b22 Merge pull request #40686 from twangboy/fix_service
302742
302743         · b6ac4aa86d Fix service for win10 update
302744
302745       · PR   #40675:  (gtmanfred)  use  loader  for  getting  war  version  @
302746         2017-04-13 19:58:30 UTC
302747
302748         · ad4d6839fd Merge pull request #40675 from gtmanfred/2016.11
302749
302750         · a61fc824c4 use loader for war extraction
302751
302752       · ISSUE #38497: (chrisLeeTW) local_batch client  ignore  external  auth
302753         (refs: #40598)
302754
302755       · PR  #40680:  (rallytime)  Back-port  #40598  to  2016.11 @ 2017-04-13
302756         19:58:16 UTC
302757
302758         · PR #40598: (mchugh19) Ensure batch uses passed eauth token or  cre‐
302759           dentials (refs: #40680)
302760
302761         · 7ea526f59e Merge pull request #40680 from rallytime/bp-40598
302762
302763         · cc1643eb1f Fix netapi lint
302764
302765         · e790930f5a re-add batch support to cherrypy saltapi
302766
302767         · 6eec04b2db pop out of kwargs
302768
302769         · 260dd84758 Create eauth dict for passing into batch class
302770
302771         · 5fb8190d44 Ensure batch uses passed eauth token or credentials
302772
302773       · PR  #40681:  (cachedout)  Allow status beacon to run on all operating
302774         systems @ 2017-04-13 19:33:10 UTC
302775
302776         · db68df23dd Merge pull request #40681 from cachedout/status_beacon
302777
302778         · ecbb0d186f Allow status beacon to run on all operating systems
302779
302780       · PR #40678: (Ch3LL) fix test_fstype test for mac @ 2017-04-13 19:20:32
302781         UTC
302782
302783         · 39dd6e284d Merge pull request #40678 from Ch3LL/fix_mac_fstype
302784
302785         · 60724980ec fix test_fstype test for mac
302786
302787       · PR  #40665:  (rallytime)  Back-port  #35665  to  2016.11 @ 2017-04-12
302788         21:06:36 UTC
302789
302790         · PR #35665: (sthrasher) Speed up /jobs for salt-api when  run  under
302791           cherrypy. (refs: #40665)
302792
302793         · 6df76f6687 Merge pull request #40665 from rallytime/bp-35665
302794
302795         · 0f897b2426  Switch from comprehension to logic used in jobs runner.
302796           This makes it easier to deal with potential unicode in returns.
302797
302798         · 78dd629f09 Fix compat issues with /jobs return values.
302799
302800         · 4778bc7365 Speed up /jobs for salt-api when run under cherrypy.
302801
302802       · PR #40666: (gtmanfred) make sure userdata is always defined in ec2  @
302803         2017-04-12 21:06:00 UTC
302804
302805         · 3e41a248a5 Merge pull request #40666 from gtmanfred/userdata
302806
302807         · 5e92fd0948 make sure userdata is always defined in ec2
302808
302809       · PR  #40662:  (twangboy)  Backport  msi-conformant-version  function @
302810         2017-04-12 18:49:23 UTC
302811
302812         · b245abbea5  Merge   pull   request   #40662   from   twangboy/back‐
302813           port_msi_versioning
302814
302815         · 825832812b Backport msi-conformant-version function
302816
302817       · ISSUE    #39868:    (amontalban)    archive.extracted    issue   when
302818         source_hash_update=True and extracted files  does  not  exist  (refs:
302819         #40551)
302820
302821       · PR  #40551: (terminalmage) Fix four issues in archive.extracted state
302822         @ 2017-04-12 18:37:52 UTC
302823
302824         · 92b5f03beb Merge pull request #40551 from terminalmage/issue39868
302825
302826         · a722ca9ccf  archive.extracted:  also  cleanup  fileclient's  cached
302827           location
302828
302829         · 5ea1f607b0 Fix mocking in unit tests
302830
302831         · 8dfa51f31f Moar fixes for source_hash_update
302832
302833         · 7103707d49 Remove unnecessary versionadded lines
302834
302835         · a717881f53 Just get a hash for the source archive
302836
302837         · 9da4eb18bf  Check  hash of cached source against source_hash before
302838           downloading archive
302839
302840         · ad24faa59d Fix three issues in archive.extracted state
302841
302842       · PR  #40637:  (twangboy)  Add  unicode_literals  import  @  2017-04-12
302843         16:55:03 UTC
302844
302845         · 0638418d22   Merge   pull  request  #40637  from  twangboy/fix_uni‐
302846           code_issues
302847
302848         · 021783dbae Add unicode_literals import
302849
302850       · PR #40651: (twangboy) Fix  status.diskusage  for  Windows  on  Py3  @
302851         2017-04-12 16:21:29 UTC
302852
302853         · 491661f323     Merge    pull    request    #40651    from    twang‐
302854           boy/fix_diskusage_py3
302855
302856         · 7c5079ec91 Correct capitalization problem with api call
302857
302858       · ISSUE #40624: (sumeetisp) Issue - grains.append (refs: #40631)
302859
302860       · PR #40631: (gtmanfred) if grain is defined as None still  convert  in
302861         append @ 2017-04-12 16:19:16 UTC
302862
302863         · 3aabd85e53 Merge pull request #40631 from gtmanfred/grains
302864
302865         · b0bd99c26d add comment and unit test
302866
302867         · b21bc7528f if grain is defined as None still convert in append
302868
302869       · ISSUE  #40167:  (alias454)  file.replace  diff results output showing
302870         additional characters (refs: #40629)
302871
302872       · PR #40629: (aabognah) Fixing issue # 40167 @ 2017-04-11 22:45:08 UTC
302873
302874         · 3737289bee Merge pull request #40629 from aabognah/fix-bug-40167
302875
302876         · 28f7744cb6 Fixing issue # 40167 with file.replace  where  the  diff
302877           output does not display correctly.
302878
302879       · PR  #40646:  (twangboy) Keep network.py execution module @ 2017-04-11
302880         22:03:02 UTC
302881
302882         · 2a22bea290 Merge pull request #40646 from twangboy/fix_win_network
302883
302884         · 0f7a81cd34 Keep network.py execution module
302885
302886       · PR #40645: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
302887         @ 2017-04-11 20:59:13 UTC
302888
302889         · e1f5a5dfc3 Merge pull request #40645 from rallytime/merge-2016.11
302890
302891         · 8de6497933 Merge branch '2016.3' into '2016.11'
302892
302893           · 2ae9eaa176 Merge pull request #40638 from rallytime/bp-40571
302894
302895             · 2d1c4be2df pkgrepo.managed: properly handle comments for debian
302896
302897       · ISSUE  #40594: (anlutro) salt-ssh file.recurse adds a lot of unwanted
302898         directories (refs: #40642)
302899
302900       · ISSUE #38458: (duk3luk3) salt-ssh uses  sudo  to  create  cache  dir,
302901         later fails to access it (refs: #40442)
302902
302903       · PR  #40642: (DmitryKuzmenko) Correctly resolve relative cache path to
302904         absolute.  @ 2017-04-11 20:43:57 UTC
302905
302906         · PR #40442: (gtmanfred) allow file_client  to  figure  out  cachedir
302907           (refs: #40642)
302908
302909         · 6c4ae3c914    Merge    pull   request   #40642   from   DSRCorpora‐
302910           tion/bugs/40594_ssh_cachedir
302911
302912         · 055256c518 Correctly resolve relative cache path to absolute.
302913
302914       · ISSUE #40075: (afletch) salt-ssh temporary files -  insecure  permis‐
302915         sions (refs: #40609)
302916
302917       · PR #40609: (gtmanfred) stat_file when keep is set, instead of mirror‐
302918         ing all file permissions @ 2017-04-11 18:48:47 UTC
302919
302920         · 8492cef7a5 Merge pull request #40609 from gtmanfred/2016.11
302921
302922         · 6e34c2b5e5 stat file when placing it on server instead of caching
302923
302924       · PR #40620: (mateiw)  SUSE  specific  changes  to  salt-api.service  @
302925         2017-04-11 14:45:00 UTC
302926
302927         · 05ac613ecf       Merge      pull      request      #40620      from
302928           mateiw/2016.11-suse-saltapi-service
302929
302930         · ee911a74b4 suse specific changes to salt-api.service
302931
302932       · ISSUE  #39463:  (githubcdr)  Transport  TCP  minions   don't   recon‐
302933         nect/recover (refs: #40614)
302934
302935       · PR  #40614:  (gtmanfred)  add  retries on authentications of the salt
302936         minion reconnecting @ 2017-04-10 22:42:16 UTC
302937
302938         · b0a2414d68 Merge pull request #40614 from gtmanfred/tcp
302939
302940         · a86b101ae6 add retries on authentications of the salt minion recon‐
302941           necting
302942
302943       · PR #40606: (kaszuba) Use correct exec_driver in dockerng.sls module @
302944         2017-04-10 22:25:31 UTC
302945
302946         · f7e121a9ee Merge pull request #40606 from kaszuba/fix-dockerng-sls
302947
302948         · 3a0d61f108 Use correct exec_driver in dockerng.sls module
302949
302950       · ISSUE #39863: (daswathn) Salt-Master not responding when the list  of
302951         minions are high after upgrade to 2016.11.2 (refs: #40615)
302952
302953       · PR  #40615:  (rallytime) Call out to _pki_minions() once, rather than
302954         in a loop in _check_list_minions() @ 2017-04-10 22:22:18 UTC
302955
302956         · PR #34920: (cachedout) Key cache (refs: #40615)
302957
302958         · b6cf948afe Merge pull request #40615 from rallytime/fix-39863
302959
302960         · 1a9f03ab92 Call out to _pki_minions() once, rather than in  a  loop
302961           in _check_list_minions()
302962
302963       · PR #40588: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
302964         @ 2017-04-07 19:30:14 UTC
302965
302966         · 4fa58be222 Merge pull request #40588 from rallytime/merge-2016.11
302967
302968         · 5a419b8aae Merge branch '2016.3' into '2016.11'
302969
302970         · 83f6d3d3bb Merge pull  request  #40567  from  terminalmage/fix-pil‐
302971           lar-get-merge-lists
302972
302973           · cb4db56eb5 Allow pillar.get to merge list as well as dictionaries
302974
302975         · a8304cd5a1    Merge    pull    request    #40552   from   terminal‐
302976           mage/fix-hash-type-refs
302977
302978           · 8c61f333ae Don't use __opts__.get() for hash_type
302979
302980         · 705e1d8a08   Merge   pull    request    #40562    from    terminal‐
302981           mage/fix-get-client
302982
302983           · 7f1ef72f83 Fix dockerng _get_client() regression
302984
302985         · 00f8ef0c55 Merge pull request #40548 from Ch3LL/fix_vultrpy
302986
302987           · 7710355e3a check for salt install fail on vultur test
302988
302989           · aae3d14ea4 fix vultr cloud race condition to match on 0*
302990
302991       · PR  #40575:  (rallytime)  Back-port  #40559  to  2016.11 @ 2017-04-07
302992         15:42:26 UTC
302993
302994         · PR        #40559:         (jinm)         Fix         v3         for
302995           https://github.com/saltstack/salt/issues/38472 (refs: #40575)
302996
302997         · 3d07f637ca Merge pull request #40575 from rallytime/bp-40559
302998
302999         · 8280e5256e                 Fix                v3                for
303000           https://github.com/saltstack/salt/issues/38472
303001
303002       · PR #40576: (rallytime)  Back-port  #40573  to  2016.11  @  2017-04-07
303003         15:20:11 UTC
303004
303005         · PR #40573: (ardakuyumcu) Fix typo in IAM state for managed policies
303006           (refs: #40576)
303007
303008         · 9041ca2ba5 Merge pull request #40576 from rallytime/bp-40573
303009
303010         · 12180808ee Fix typo in IAM state for managed policies
303011
303012       · PR  #40563:  (terminalmage)  Merge-forward  2016.3   ->   2016.11   @
303013         2017-04-07 15:08:20 UTC
303014
303015         · PR  #40562:  (terminalmage)  Fix  dockerng _get_client() regression
303016           (refs: #40563)
303017
303018         · PR #40481: (terminalmage) Backport auth and custom  registry  fixes
303019           from #40480 to 2016.3 branch (refs: #40563, #40562)
303020
303021         · PR  #40480:  (terminalmage) Improved Docker auth handling and other
303022           misc. Docker improvements (refs: #40481)
303023
303024         · f8bc423ef9   Merge   pull    request    #40563    from    terminal‐
303025           mage/merge-2016.3-2016.11
303026
303027         · 0c608d7417 Add client_args_mock back to test
303028
303029         · a7a78da984 remove unused imports
303030
303031         · a6d68f50fe  Merge  remote-tracking  branch  'upstream/2016.3'  into
303032           merge-2016.3-2016.11
303033
303034           · 0918311330 Don't mark files that already were deleted as errors
303035
303036           · 51d88a16c8 Merge branch 'zer0def-fix-31363' into 2016.3
303037
303038             · 7f3cbd5cf9       Merge       branch       'fix-31363'        of
303039               https://github.com/zer0def/salt into zer0def-fix-31363
303040
303041             · 3c750c2b24 Changed rm_rf's argument to actually remove intended
303042               file. (refs #31363)
303043
303044             · 9ed85f3c59 Remove directory content instead of directory itself
303045               when using force_clone in git.latest state. (refs #31363)
303046
303047           · cfba4cb422 Merge pull request #40534 from terminalmage/issue39892
303048
303049             · ad88c58a09 Check master's ssh_minion_opts for fileserver/pillar
303050               values and ignore them
303051
303052           · 8da27c9e1d Merge pull request #40306 from terminalmage/issue40279
303053
303054             · 57ace1f336       Merge       branch       'issue40279'       of
303055               https://github.com/terminalmage/salt into issue40279
303056
303057               · 8bcdf1a761 Remove unused import for lint
303058
303059             · 808ad76419  systemd.py: when getting all services, don't repeat
303060               gathering of systemd services
303061
303062             · 2d219af67a Don't use context caching for gathering systemd ser‐
303063               vices
303064
303065           · 97caac4c0a    Merge    pull   request   #40481   from   terminal‐
303066             mage/docker-auth-handling-2016.3
303067
303068             · dcef1e0d4b Make sure we keep the cached  client  when  clearing
303069               context
303070
303071             · 1e2a04cfc5  Backport auth and custom registry fixes from #40480
303072               to 2016.3 branch
303073
303074           · e62603d5eb Merge pull request #40505 from gtmanfred/2016.3
303075
303076             · 6e2f9080ca update docs for logging handlers
303077
303078       · ISSUE #39778: (Talkless) pkgrepo.managed state always report  changes
303079         with test=True on APT system (refs: #40571)
303080
303081       · PR  #40571:  (terminalmage) pkgrepo.managed: properly handle comments
303082         for debian (refs: #40638) @ 2017-04-06 21:55:46 UTC
303083
303084         · fd757fffa3 Merge pull request #40571 from terminalmage/issue39778
303085
303086         · 191610482d pkgrepo.managed: properly handle comments for debian
303087
303088       · ISSUE #40278: (UtahDave)  cloud.action  giving  errors  on  2016.11.1
303089         (refs: #40572)
303090
303091       · PR  #40572:  (rallytime) Clean out kwargs dict in cloud.action before
303092         calling cloud driver function @ 2017-04-06 21:53:40 UTC
303093
303094         · b1698e830e Merge pull request #40572 from rallytime/fix-40278
303095
303096         · c978486452 Clean out kwargs dict  in  cloud.action  before  calling
303097           cloud driver function
303098
303099       · ISSUE  #39842:  (smarsching)  File module removes trailing newline on
303100         Windows (refs: #39882)
303101
303102       · PR #39882: (smarsching) Fix handling of trailing newlines on  Windows
303103         @ 2017-04-06 21:12:24 UTC
303104
303105         · 62d8ad2b4b Merge pull request #39882 from smarsching/issue-39842
303106
303107         · d485d1af44 Fix context for _splitlines_preserving_trailing_newline.
303108
303109         · 76cb7bf612 Fix trailing newlines on Windows (#39842).
303110
303111       · PR #40451: (isbm) Fileclient testcase (2016.11) @ 2017-04-06 19:53:31
303112         UTC
303113
303114         · ae13de622a  Merge  pull   request   #40451   from   isbm/isbm-file‐
303115           client-testcase-2016.11
303116
303117         · 74c65557dd Add space before in-lint comment for lint
303118
303119         · 35fcb8b52d Fix race condition on cache directory creation
303120
303121         · aba94495a5 Lintfix (Py3 code compat)
303122
303123         · 9f9dc6e4e7 Add unit test case for fileclient
303124
303125       · ISSUE  #40084:  (podstava) profile fields in azurearm salt-cloud need
303126         to be actualized to sources (refs: #40564)
303127
303128       · PR #40564: (techhat) Update Azure ARM docs @ 2017-04-06 18:17:32 UTC
303129
303130         · 74366c57a4 Merge pull request #40564 from techhat/azuredocs
303131
303132         · 08d071bc68 Update Azure ARM docs
303133
303134       · ISSUE #40005: (vutny) ssh_known_hosts.present does not support SHA256
303135         key fingerprints (refs: #40543)
303136
303137       · PR  #40543: (rallytime) Add the "fingerprint_hash_type" option to ssh
303138         state and module @ 2017-04-05 21:21:16 UTC
303139
303140         · cb9dcb1e1b Merge pull request #40543 from rallytime/fix-40005
303141
303142         · 1ef81e6a55 Add the "fingerprint_hash_type" option to ssh state  and
303143           module
303144
303145       · PR  #40540:  (DmitryKuzmenko)  A  quick  fix  for Cache has no 'list'
303146         attribute.  @ 2017-04-05 18:50:18 UTC
303147
303148         · PR #40494: (rallytime) [develop]  Merge  forward  from  2016.11  to
303149           develop (refs: #40540)
303150
303151         · 3f0695575a    Merge    pull   request   #40540   from   DSRCorpora‐
303152           tion/bugs/40494_merge_forward_cache_list_fix
303153
303154         · c0fd5634cf A quick fix for Cache has no 'list' attribute.
303155
303156       · ISSUE #32662: (anlutro) salt-cloud: allow templating of EC2 userdata,
303157         similar to deploy script (refs: #32698)
303158
303159       · PR  #40464:  (terminalmage)  salt-cloud:  Do  not  pass userdata_file
303160         through yaml renderer @ 2017-04-05 17:32:07 UTC
303161
303162         · PR #32698: (techhat) Allow EC2  userdata  to  be  templated  (refs:
303163           #40464)
303164
303165         · 28fc048030   Merge  pull  request  #40464  from  terminalmage/user‐
303166           data-renderer
303167
303168         · 84ee693006 Nova and openstack don't accept base64-encoded userdata
303169
303170         · 73f4c43e2a  Allow  for  userdata_template  to  be  disabled  in   a
303171           cloud_profile
303172
303173         · 78b4798b1b Update compile_template test to use StringIO
303174
303175         · 5f7c5613ce Properly handle renderers which return StringIO objects
303176
303177         · d551b0d857 Bring in salt.utils.stringio from develop branch
303178
303179         · 6a6ef0adf8 Move userdata templating to salt.utils.cloud
303180
303181         · b440d0c679  Update 2016.11.4 release notes for userdata_renderer ->
303182           userdata_template
303183
303184         · a6183d93d3 Preserve windows newlines in  salt.template.compile_tem‐
303185           plate()
303186
303187         · 04f02df5fe Try to read compiled template as StringIO
303188
303189         · 79cc253bbf Only template the userdata_file if explicitly configured
303190           to do so
303191
303192         · b580654f85 Update cloud docs to reflect userdata_renderer ->  user‐
303193           data_template
303194
303195         · a6064fb2e4  Rename userdata_renderer -> userdata_template in master
303196           config docs
303197
303198         · 50f2b2831f Remove userdata_renderer value
303199
303200         · cc2186f35a Add templating support for other cloud drivers that sup‐
303201           port userdata_file
303202
303203         · be8d34c59b ec2: Add support for using userdata_renderer to template
303204           userdata_file
303205
303206         · eddbd41265 Openstack did not  have  templating  support  for  user‐
303207           data_file before 2016.11.4
303208
303209         · a85a416c72  Add  userdata_renderer  fix  info  to 2016.11.4 release
303210           notes
303211
303212         · 111188742a Add documentation for userdata_renderer
303213
303214         · 9ee2dcfc2d Add userdata_renderer master config param
303215
303216       · PR #40530: (dmurphy18) Update release information for  2016.11.4  for
303217         additional AIX support @ 2017-04-05 16:20:22 UTC
303218
303219         · 990bde4c07 Merge pull request #40530 from dmurphy18/aix_docupd
303220
303221         · fd93caf206  Added  further  support  for  functionality  on AIX for
303222           2016.11.4
303223
303224         · 17b58917f2 Update release information for new AIX support
303225
303226       · PR #40528: (dmurphy18) Allow for nightly build designations  in  Salt
303227         versions @ 2017-04-04 20:34:26 UTC
303228
303229         · 4d932691f1  Merge  pull request #40528 from dmurphy18/salt_nightly‐
303230           build
303231
303232         · d62a119fc1 Allow for nightly build designations in Salt versions
303233
303234       · ISSUE #37699:  (gstachowiak)  Artifactory  state.  Incorrect  timeout
303235         error reporting. (refs: #40465)
303236
303237       · PR  #40465:  (rallytime)  Artifactory Execution & State Module: Fixup
303238         Error Handling @ 2017-04-04 20:12:21 UTC
303239
303240         · 0ed385210f Merge pull request #40465 from rallytime/fix-37699
303241
303242         · 8f084f7056 Update unit test to look for actual string comment
303243
303244         · ef664b46ae Artifactory State: Only wrap main function call to  mod‐
303245           ule in try/except and wrap exc comment in str()
303246
303247         · f1015e3900  Artifactory  Module: catch URLErrors as well as HTTPEr‐
303248           rors
303249
303250       · ISSUE #39275: (yhekma) Cache backend gets hit a  lot  (refs:  #40497,
303251         #40429)
303252
303253       · PR #40497: (DmitryKuzmenko) Memcache documentation and minor updates.
303254         @ 2017-04-04 19:55:18 UTC
303255
303256         · PR #40429: (DmitryKuzmenko) MemCache - a minion data cache booster.
303257           (refs: #40497, #40468)
303258
303259         · 7a04ed2439  Merge  pull  request  #40497  from  DSRCorporation/fea‐
303260           tures/39275_memcache
303261
303262         · 82c45b1a52 Memcache documentation and minor updates.
303263
303264       · ISSUE #38683: (gstachowiak) require/order/failhard combination  error
303265         (refs: #40504)
303266
303267       · PR  #40504:  (rallytime)  Group  checks for failhard setting in () in
303268         state.check_failhard function @ 2017-04-04 19:53:48 UTC
303269
303270         · d654de52ed Merge pull request #40504 from rallytime/fix-38683
303271
303272         · ede4c28887  Group  checks   for   failhard   setting   in   ()   in
303273           state.check_failhard function
303274
303275       · PR  #40503:  (thatch45) first pass at adding support for pycryptodome
303276         installed as @ 2017-04-04 19:39:02 UTC
303277
303278         · 4d5d7d9712 Merge pull request #40503 from thatch45/2016.11
303279
303280         · e21fd54d1b fix lint on the lint ignores...
303281
303282         · 60113248b1 pycryptodome adds  RSA  to  the  key  header  which  the
303283           openssl
303284
303285         · 206dec63ff  fix  the  cryptodome  version  lookup  for the versions
303286           report
303287
303288         · d3b77092b5 good catch
303289
303290         · 31c6a10d1b first pass at adding support for pycryptodome  installed
303291           as
303292
303293       · PR   #40525:  (dmurphy18)  Add  support  for  disk.iostat  on  AIX  @
303294         2017-04-04 19:31:41 UTC
303295
303296         · 0dd92c63ea Merge pull request #40525 from dmurphy18/aix_dskiostat
303297
303298         · 712537272b Added support on AIX for disk.iostat
303299
303300       · PR #40496: (rallytime)  Back-port  #40415  to  2016.11  @  2017-04-04
303301         17:19:39 UTC
303302
303303         · PR  #40415:  (defanator)  Fix  boto_vpc.create_route() to work with
303304           interface_id (refs: #40496)
303305
303306         · a6291b17c1 Merge pull request #40496 from rallytime/bp-40415
303307
303308         · f8b3006898 Fix boto_vpc.create_route() to work with interface_id
303309
303310       · ISSUE #39275: (yhekma) Cache backend gets hit a  lot  (refs:  #40497,
303311         #40429)
303312
303313       · PR #40468: (techhat) Add __func_alias__ back in @ 2017-04-04 17:02:43
303314         UTC
303315
303316         · PR #40429: (DmitryKuzmenko) MemCache - a minion data cache booster.
303317           (refs: #40497, #40468)
303318
303319         · 3eb8e0baf1 Merge pull request #40468 from techhat/cachealias
303320
303321         · 6ec0baa9a0 Swap around aliases
303322
303323         · 76e54a2900 Add __func_alias__ back in
303324
303325       · ISSUE #29104: (adithep) Merging Order warning (refs: #39109)
303326
303327       · PR   #39109:   (bdrung)   Fix  top_file_merging_strategy  warning  if
303328         env_order is set @ 2017-04-04 14:20:56 UTC
303329
303330         · 8c0befaa8b      Merge      pull      request      #39109       from
303331           bdrung/fix-merge-order-warning
303332
303333         · fbf8fcfa98 Simplify _get_envs() by using list comprehensions
303334
303335         · 74a3b066ea  Fix  top_file_merging_strategy  warning if env_order is
303336           set
303337
303338         · ec219b5f42 Remove duplicate client_envs variable definitions
303339
303340         · 6279f7c120 fix do to pre correct on python randome function
303341
303342         · 66b9515af7 Fix up the doc for failover clarity
303343
303344       · PR #40495: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
303345         @ 2017-04-03 18:36:16 UTC
303346
303347         · 02a1f642ab Merge pull request #40495 from rallytime/merge-2016.11
303348
303349         · 8111909bb1 Merge branch '2016.3' into '2016.11'
303350
303351         · 3d45a004b0 Merge pull request #40427 from terminalmage/clarify-mas‐
303352           ter-tops-docs
303353
303354           · bda781d8f9 Grammar fix
303355
303356           · 0d7b0c4ef0 Improve the master_tops documentation
303357
303358           · d27340a9f2 Add saltutil.sync_tops runner func
303359
303360       · PR #40466: (dmurphy18) Support for execution module status on  AIX  @
303361         2017-04-01 00:28:51 UTC
303362
303363         · ac82972cb3 Merge pull request #40466 from dmurphy18/aix_status
303364
303365         · 7c0b30d9a4 Support for AIX
303366
303367       · ISSUE  #39275:  (yhekma)  Cache backend gets hit a lot (refs: #40497,
303368         #40429)
303369
303370       · PR #40429: (DmitryKuzmenko) MemCache - a minion data  cache  booster.
303371         (refs: #40497, #40468) @ 2017-03-31 20:21:00 UTC
303372
303373         · fdb0250c95  Merge  pull  request  #40429  from  DSRCorporation/fea‐
303374           tures/39275_memcache
303375
303376         · 4475d1757d In-memory minion data cache.
303377
303378       · ISSUE #38458: (duk3luk3) salt-ssh uses  sudo  to  create  cache  dir,
303379         later fails to access it (refs: #40442)
303380
303381       · PR  #40442:  (gtmanfred)  allow  file_client  to  figure out cachedir
303382         (refs: #40642) @ 2017-03-31 20:14:27 UTC
303383
303384         · 31d4e6949c Merge pull request #40442 from gtmanfred/salt-ssh
303385
303386         · 8367735063 allow file_client to figure out cachedir
303387
303388       · PR #40456: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
303389         @ 2017-03-31 17:51:11 UTC
303390
303391         · 0cfcd188a9 Merge pull request #40456 from rallytime/merge-2016.11
303392
303393         · 0da4c46b68 Merge branch '2016.3' into '2016.11'
303394
303395         · c26f4cc76c Merge pull request #40371 from terminalmage/pr-40344
303396
303397           · a8bcaa73d7  Force  use  of posixpath when joining salt fileserver
303398             paths in gitfs
303399
303400           · cafa08d8e0 Add ability for salt.utils.path_join to force the  use
303401             of posixpath
303402
303403         · df9df82959 Merge pull request #40379 from rallytime/tests-for-39855
303404
303405           · 96259d6c63 Lint fix
303406
303407           · 4f7ac1431e  Create a unit test for the _replace_auth_key function
303408             in the ssh module
303409
303410       · PR  #40443:  (gtmanfred)  prepend  ssh_log_file   with   root_dir   @
303411         2017-03-31 09:23:46 UTC
303412
303413         · 8617be9c6d Merge pull request #40443 from gtmanfred/sshlog
303414
303415         · 7f6046deec prepend ssh_log_file with root_dir
303416
303417       · PR  #40376: (nmadhok) Backporting changes in vmware cloud driver from
303418         develop branch to 2016.11 branch @ 2017-03-30 22:35:13 UTC
303419
303420         · 132d8b7b88 Merge pull request #40376 from nmadhok/2016.11
303421
303422         · dd62310941 Adding unit tests for vmware_test
303423
303424         · 36edf0af64 Add additional VMware related exceptions
303425
303426         · 034ef30f7c Remove old vmware unit tests
303427
303428         · 7c144888da Backporting changes in vmware cloud driver from  develop
303429           branch to 2016.11 branch
303430
303431       · ISSUE  #39692: (djsly) tuned module and state are broken on 7.3 fami‐
303432         lies.  (refs: #40387, #39719, #39768)
303433
303434       · PR #40387: (redbaron4) More  complete  fix  for  39692  @  2017-03-30
303435         22:29:05 UTC
303436
303437         · dfaa670b66 Merge pull request #40387 from redbaron4/fix-39692
303438
303439         · 77a40a0c44 Lint fixes
303440
303441         · 8c1adfafd5 More complete fix for 39692
303442
303443       · ISSUE  #7287: (dragozov) django.loaddata treats fixture list as argu‐
303444         ments and prepends "--" for each (refs: #40404)
303445
303446       · PR #40404: (roaldnefs) Fix for fixtures in  the  djangomod  module  @
303447         2017-03-30 22:26:09 UTC
303448
303449         · 313d21626f  Merge  pull  request  #40404 from roaldnefs/fix-django‐
303450           mod-loaddata
303451
303452         · 92285cb045 Fix for fixtures in the djangomod module
303453
303454       · PR #40416: (lorengordon) Adds some missing file functions on  Windows
303455         @ 2017-03-30 22:22:44 UTC
303456
303457         · 5379899442    Merge    pull    request    #40416   from   lorengor‐
303458           don/win-file-funcs
303459
303460         · 8edaf25e10 Adds some missing file functions on Windows
303461
303462       · ISSUE #40417: (lorengordon) temp.file does not close the file  handle
303463         (refs: #40418)
303464
303465       · PR  #40418:  (lorengordon)  Closes  handle  to  temporary file before
303466         returning the path @ 2017-03-30 22:22:03 UTC
303467
303468         · 1f5d6b88f9   Merge   pull    request    #40418    from    lorengor‐
303469           don/close-temp-file
303470
303471         · 7baf2809cf  Closes  handle  to  temporary file before returning the
303472           path
303473
303474       · PR #40430: (twangboy)  Fix  logic  for  __virtual__  in  win_dsc  and
303475         win_psget @ 2017-03-30 22:06:16 UTC
303476
303477         · 5c78d55eab Merge pull request #40430 from twangboy/fix_virtual
303478
303479         · 08e95ce4f0 Add logging on __virtual__ failures
303480
303481         · 43ecb1a597 Fix logic for __virtual__
303482
303483       · PR #40431: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
303484         @ 2017-03-30 21:37:39 UTC
303485
303486         · b855f29928 Merge pull request #40431 from rallytime/merge-2016.11
303487
303488         · d5576d75e7 Merge branch '2016.3' into '2016.11'
303489
303490         · b6770fd81f Merge pull request #40407 from aesdana/fix_rabbitmq_ver‐
303491           sion_check
303492
303493           · 4c0763fa2f  Added  split  to  cut  off  debian_revision from rab‐
303494             bitmq-server version Fixes #40396
303495
303496         · d4fb45d9f8   Merge   pull    request    #40424    from    terminal‐
303497           mage/fix-open-filehandle
303498
303499           · 66251263cf Fix open filehandles
303500
303501         · 8708096365    Merge    pull    request    #40399   from   terminal‐
303502           mage/docker-py_version
303503
303504           · 14c6575655 Add docker-py version to the versions report
303505
303506         · ff1266b3a6      Merge      pull      request      #40391       from
303507           Ch3LL/2016.3.7_release_notes
303508
303509           · f532ec5288 initial 2016.3.7 release notes
303510
303511         · 96bf9427b0 Merge pull request #40368 from Ch3LL/bump_version_3
303512
303513           · a02fa7dd1f [2016.3] Bump previous version to 2016.3.6
303514
303515       · PR   #40401:  (roaldnefs)  fix  Ubuntu  notation  in  docs/faq.rst  @
303516         2017-03-29 20:28:31 UTC
303517
303518         · 7d900d31ea Merge pull request #40401 from roaldnefs/fix-doc-faq
303519
303520         · 21f161fecc fix Ubuntu notation in docs/faq.rst
303521
303522       · ISSUE #29028: (kevins9) state.sls fails to render state  with  pillar
303523         data: Jinja variable 'dict object' has no attribute (refs: #37795)
303524
303525       · PR  #40390:  (rallytime)  Back-port  #37795  to  2016.11 @ 2017-03-29
303526         19:05:12 UTC
303527
303528         · PR #37795: (jettero) please tell me where  is  the  “error:  'dict'
303529           object has no …” (refs: #40390)
303530
303531         · 70a3f963ec Merge pull request #40390 from rallytime/bp-37795
303532
303533         · 1ba15577bd Pylint fix
303534
303535         · ec65924659 please tell me where is the "error: 'dict' object has no
303536           attribute 'seek'" ??
303537
303538       · PR #40395: (rallytime) Handle AttributeError for  dockerng_mod.docker
303539         attempt fails and docker is installed @ 2017-03-29 17:47:11 UTC
303540
303541         · f8fbfff7dc     Merge    pull    request    #40395    from    rally‐
303542           time/catch-attribute-error-docker-test
303543
303544         · 99c8dcc18e Handle AttributeError  for  dockerng_mod.docker  attempt
303545           fails and docker is installed
303546
303547       · PR #40362: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
303548         @ 2017-03-28 22:50:32 UTC
303549
303550         · d7d3d68035 Merge pull request #40362 from rallytime/merge-2016.11
303551
303552         · 4f1543c2a1 Merge branch '2016.3' into '2016.11'
303553
303554           · 1381f97292     Merge      pull      request      #40264      from
303555             meaksh/2016.3-gather_job_timeout-fix
303556
303557             · 68dccae5b4 Makes sure "gather_job_timeout" is an integer
303558
303559       · PR  #40372:  (zer0def)  Fixes  related  to  cache  directory argument
303560         changes in pip>=6.  @ 2017-03-28 22:48:41 UTC
303561
303562         · 2febd05896 Merge pull request #40372 from zer0def/pip-cache-fixes
303563
303564         · d68067f1d7  Merge  remote-tracking   branch   'main/2016.11'   into
303565           pip-cache-fixes
303566
303567         · 4f23a23ca8      Fixed     the     test_install_download_cache_argu‐
303568           ment_in_resulting_command to accomodate introduced cache  directory
303569           argument    fixes    and    renamed    it   to   test_install_down‐
303570           load_cache_dir_arguments_in_resulting_command.
303571
303572         · 9d0f94eeba Fixed unnecessary API changes introduced with  suggested
303573           changes.
303574
303575       · PR  #40369:  (Ch3LL)  [2016.11]  Bump  previous version to 2016.3.6 @
303576         2017-03-28 18:50:39 UTC
303577
303578         · 6162698c87 Merge pull request #40369 from Ch3LL/bump_version_11
303579
303580         · 7597d96edb [2016.11] Bump previous version to 2016.3.6
303581
303582       · ISSUE #40322: (Whissi) ssh_auth.absent: Wrong comment when  test=True
303583         (refs: #40333)
303584
303585       · ISSUE   #40321:   (Whissi)  state.alternatives:  Wrong  comment  when
303586         test=True (refs: #40333)
303587
303588       · PR #40333: (gtmanfred)  fix  some  test=True  comments  @  2017-03-28
303589         16:11:01 UTC
303590
303591         · 2d2cb5b837 Merge pull request #40333 from gtmanfred/2016.11
303592
303593         · 5596620dfb fix some test=True comments
303594
303595       · PR #40347: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
303596         @ 2017-03-28 02:39:31 UTC
303597
303598         · bb37f133fc Merge pull request #40347 from rallytime/merge-2016.11
303599
303600         · e77e86db3a Merge branch '2016.3' into '2016.11'
303601
303602         · 17ab1da0ab Merge pull request #40345 from twangboy/fix_osx_build
303603
303604           · 3207d670c5 Fix osx build
303605
303606         · 7ab10491ab  Merge  pull  request  #40338  from   UtahDave/fix_cher‐
303607           rypy_ssl_error_link
303608
303609           · 280b501950 Upstream cherrypy moved to Github from Bitbucket
303610
303611         · PR saltstack/salt#40332: (zer0def) Fixes related to cache directory
303612           argument changes in pip>=6. (refs: #40346)
303613
303614       · PR #40346: (cachedout) Revert "Fixes related to cache directory argu‐
303615         ment changes in pip>=6."  @ 2017-03-27 23:17:29 UTC
303616
303617         · a572b46183     Merge     pull    request    #40346    from    salt‐
303618           stack/revert-40332-pip-cache-fixes
303619
303620         · b4753d1a5a  Revert  "Fixes  related  to  cache  directory  argument
303621           changes in pip>=6."
303622
303623       · ISSUE  #40296:  (L4rS6)  Wrong  documentation in mount.mounted (refs:
303624         #40326)
303625
303626       · PR #40326: (L4rS6) Update mount state documentation (Fixes: #40296) @
303627         2017-03-27 23:15:53 UTC
303628
303629         · a91bab867e       Merge      pull      request      #40326      from
303630           L4rS6/update-mount-state-doc
303631
303632         · a717c527a1 Update mount state documentation (Fixes: #40296)
303633
303634       · PR #40328: (L4rS6) Fixes  wrong  compared  extra_mount_ignore_fs_keys
303635         key.  @ 2017-03-27 23:14:22 UTC
303636
303637         · ca2980cfb0       Merge      pull      request      #40328      from
303638           L4rS6/fix-mount-state-extra-ignore-fs-key
303639
303640         · f0f68b9033 Fixes wrong compared extra_mount_ignore_fs_keys key.
303641
303642       · PR #40329: (isbm) Merge tops (backport) @ 2017-03-27 23:13:47 UTC
303643
303644         · 3a6c5d0297      Merge      pull      request      #40329       from
303645           isbm/isbm-merge-tops-201611
303646
303647         · a762c9edda Merge output from master_tops
303648
303649       · PR  #40285:  (rallytime)  Dockerng  unit  tests fixes: isolate global
303650         variables @ 2017-03-27 23:05:03 UTC
303651
303652         · 2b7b2f1cb4    Merge    pull    request    #40285    from     rally‐
303653           time/docker-test-fixes
303654
303655         · 0f263a52e0  Mock out the get_client_args mocks in the dockerng mod‐
303656           ule tests more aggressively
303657
303658         · f1352fe253 Add one more dockerng.version mock that was missed  pre‐
303659           viously
303660
303661         · 0d31d2c4d1 Add a couple more patches for docker.version information
303662
303663         · a9c5eebaf0  Clean  up dockerng unit tests to avoid global variables
303664           and fixup some patching
303665
303666       · PR #40341: (twangboy)  Fix  service.create,  fix  docs  @  2017-03-27
303667         21:46:19 UTC
303668
303669         · 01efc842c1 Merge pull request #40341 from twangboy/fix_win_service
303670
303671         · 6736457ec8 Docs for create
303672
303673         · 652cf08f8a Fix service.create, fix docs
303674
303675       · PR  #40332:  (zer0def)  Fixes  related  to  cache  directory argument
303676         changes in pip>=6.  @ 2017-03-27 21:01:15 UTC
303677
303678         · 8eabcca6dc Merge pull request #40332 from zer0def/pip-cache-fixes
303679
303680         · 7976840100 Fixes related to cache directory changes in pip>=6.
303681
303682       · PR #40337: (Ch3LL) Add archive.extracted with use_cmd_unzip  argument
303683         @ 2017-03-27 21:00:23 UTC
303684
303685         · ceba1b9bc6 Merge pull request #40337 from Ch3LL/add_unzip_test
303686
303687         · 8b21b4c8bb add use_cmd_unzip test
303688
303689       · PR  #40312:  (rallytime)  Update  minion  data  cache documentation @
303690         2017-03-27 20:56:55 UTC
303691
303692         · a192597ec2 Merge pull request #40312 from rallytime/cache-docs
303693
303694         · 5363e0b58b Update minion data cache documentation
303695
303696       · PR #40315: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
303697         @ 2017-03-27 15:11:25 UTC
303698
303699         · 7f16754619 Merge pull request #40315 from rallytime/merge-2016.11
303700
303701         · c65d602f60 Merge branch '2016.3' into '2016.11'
303702
303703           · 7c21153d3a      Merge      pull      request      #40300     from
303704             meaksh/2016.3-adding-timeouts-parameters-to-cmd_batch
303705
303706             · 9174e6f281 Fixes testing opts dict for batch unit tests
303707
303708             · b1de79abcf Adds custom 'timeout'  and  'gather_job_timeout'  to
303709               'local_batch' client
303710
303711       · PR  #40313:  (techhat)  Add  minimum  and  maximum to calls to calc @
303712         2017-03-27 14:54:15 UTC
303713
303714         · a9a73bf8dc Merge pull request #40313 from techhat/calcref
303715
303716         · 7106a86258 Use named kwargs
303717
303718         · 822f3b81c3 Add minimum and maximum to calls to calc
303719
303720       · ISSUE #40247: (eldadru) boto_rds.delete wait_for_deletion checks  rds
303721         status incorrectly and always loop until timeout (refs: #40277)
303722
303723       · PR  #40277:  (eldadru) Fixing boto_rds.py delete() wait_for_deletion,
303724         if statement was inco… @ 2017-03-24 22:29:25 UTC
303725
303726         · 9d0762deca      Merge      pull      request      #40277       from
303727           eldadru/Fix-40247-boto_rds-delete-wait-for-deletion-failure
303728
303729         · 3c15a32764   Fixing  boto_rds.py  delete()  wait_for_deletion,   if
303730           statement was incorrectly checking the return value of  boto_rds.py
303731           exists() method.
303732
303733       · PR  #40280:  (bewing)  Clean up temporary file in net.load_template @
303734         2017-03-24 22:27:04 UTC
303735
303736         · PR #40273: (bewing) Clean up temporary  file  in  net.load_template
303737           (refs: #40280)
303738
303739         · 6c29c81d01 Merge pull request #40280 from bewing/bp_40273
303740
303741         · f028e939f5 Clean up temporary file in net.load_template
303742
303743       · ISSUE  #37972:  (ebauman)  salt-run execution for master with no AAAA
303744         record adds significant execution time (refs: #40310)
303745
303746       · PR #40310: (gtmanfred) add warning when no host/dns record  is  found
303747         for fqdn_ip @ 2017-03-24 21:55:20 UTC
303748
303749         · 839b620f32 Merge pull request #40310 from gtmanfred/2016.11
303750
303751         · cff027ddc6 add warning when no host/dns record is found for fqdn
303752
303753       · PR  #40288:  (dmurphy18)  Execution  module network support for AIX @
303754         2017-03-24 20:10:36 UTC
303755
303756         · eb86d55478 Merge pull request #40288 from dmurphy18/aix_network
303757
303758         · b53a95dab1 Further update to us in  similar to review comments
303759
303760         · 59c0bdc14d Updated for review comments
303761
303762         · 031c9457ba Execution module network support for AIX
303763
303764       · PR #40308: (rallytime)  Back-port  #38835  to  2016.11  @  2017-03-24
303765         19:00:46 UTC
303766
303767         · PR #38835: (UtahDave) Cache docs (refs: #40308)
303768
303769         · 4928026253 Merge pull request #40308 from rallytime/bp-38835
303770
303771         · 3ba50d3c52 add info about what is cached
303772
303773         · 77e8f6aff9 fix config example
303774
303775         · 61f2fa9339 Add documentation for the Minion data cache
303776
303777       · PR #40287: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
303778         @ 2017-03-24 16:50:23 UTC
303779
303780         · 12a9fc43c9 Merge pull request #40287 from rallytime/merge-2016.11
303781
303782         · 77415369cc Merge branch '2016.3' into '2016.11'
303783
303784         · 0e2d52c3ea Merge pull request #40260 from lubyou/fix-join_domain
303785
303786           · 1cb15d1ea8 use win32api.FormatMessage() to get the error  message
303787             for the system code
303788
303789         · 0c62bb37d3 Merge pull request #40275 from UtahDave/2016.3local
303790
303791           · 9f0c9802c2 remove reference to auth_minion.
303792
303793         · 57ce474d73 Merge pull request #40265 from terminalmage/issue40219
303794
303795           · 1a731e0216 Pop off the version when aggregating pkg states
303796
303797           · 0055fda3e9 Properly aggregate version when passed with name
303798
303799           · 62d76f50fc  Don't  aggregate  both  name/pkgs  and sources in pkg
303800             states
303801
303802         · b208630d85  Merge  pull  request  #40201  from  sergeizv/cloud-ros‐
303803           ter-fixes-2016.3
303804
303805           · d87b377ad2  cloud  roster:  Don't  stop if minion wasn't found in
303806             cloud cache index
303807
303808           · a6865e0283 cloud roster: Check whether show_instance succeeded on
303809             node
303810
303811           · 1b45c8e8c2  cloud  roster: Check provider and profile configs for
303812             ssh_username
303813
303814           · a18250b2e4 cloud roster: Return proper target name
303815
303816           · 637930b2b3 cloud roster: Fix extracting instance's info
303817
303818           · dd1d3aac74 cloud roster: Work with custom conf dir
303819
303820       · PR #40250: (techhat) Add wait_for_fun() to  set_tags()  @  2017-03-23
303821         16:42:13 UTC
303822
303823         · PR  #40225:  (techhat)  Add  wait_for_fun()  to  set_tags()  (refs:
303824           #40250)
303825
303826         · b7f9100e6d Merge pull request #40250 from techhat/settags
303827
303828         · baff7a046d Add wait_for_fun() to set_tags()
303829
303830       · ISSUE #39976: (peterhirn) win_lgpo missing policies, eg. Prevent  the
303831         usage of OneDrive for file storage (refs: #40255, #40253)
303832
303833       · PR #40255: (lomeroe) backport #40253 @ 2017-03-23 16:36:44 UTC
303834
303835         · PR  #40253:  (lomeroe)  correct method of getting 'text' of the XML
303836           object to compare to the … (refs: #40255)
303837
303838         · 904e144ae4 Merge pull request #40255 from lomeroe/fix_39976_2016.11
303839
303840         · 0e9f5820cc backport #40253
303841
303842       · PR #40240: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
303843         @ 2017-03-23 14:14:11 UTC
303844
303845         · PR  #40237:  (rallytime)  [2016.11]  Merge  forward  from 2016.3 to
303846           2016.11 (refs: #40240)
303847
303848         · 720a362c7a Merge pull request #40240 from rallytime/merge-2016.11
303849
303850         · 5c5b74b09a Merge branch '2016.3' into '2016.11'
303851
303852           · 35ced607dd Merge pull request #40226 from terminalmage/issue40149
303853
303854             · 2a8df9384c Fix wrong errno in systemd.py
303855
303856           · 24c4ae9c21   Merge    pull    request    #40232    from    rally‐
303857             time/update-release-notes
303858
303859             · 2ead188b4f Update release notes for 2016.3.6
303860
303861           · c59ae9a82c     Merge    pull    request    #39855    from    Fox‐
303862             lik/use_regex_to_compare_authorized_keys
303863
303864             · d46845a5b6 Add newline at end of file
303865
303866             · d4a3c8a66a Use regular expression instead of split when replac‐
303867               ing authorized_keys
303868
303869           · fd10430018 Merge pull request #40221 from rallytime/bp-39179
303870
303871             · 07dc2de084 fix error parsing
303872
303873           · a27a2cc3bb Merge pull request #40206 from cro/sign_pub_take2
303874
303875             · 01048de83f leave sign_pub_messages off on minion by default.
303876
303877             · a82b005507 Leave sign_pub_messages off by default.
303878
303879           · d1abb4cbaa Merge pull request #40193 from rallytime/bp-40117
303880
303881             · cf1857904b More optimization.
303882
303883             · 5a08266814 Removed debug statemnt
303884
303885             · f557f7c6bb Added fix for issue 39393
303886
303887             · bb62278b73 Reverting changes.
303888
303889             · a9107cde44 Added if condition for broken link.
303890
303891           · 0f1ff4d4a8 Merge pull request #40196 from twangboy/win_fix_deps
303892
303893             · 6761527793 Update dependencies for PyOpenSSL
303894
303895           · b0501515cb Merge pull request #40184 from terminalmage/link-reac‐
303896             tor-example
303897
303898             · a42be82993 Link to minion start reactor example from FAQ.
303899
303900       · ISSUE #39445: (systemtrap) state file.copy for directories  does  not
303901         set ownership recursively (refs: #40030)
303902
303903       · PR  #40231:  (rallytime)  Back-port  #40030  to  2016.11 @ 2017-03-22
303904         23:14:40 UTC
303905
303906         · PR #40030: (narendraingale2) Added  changes  for  fix_39445  (refs:
303907           #40231)
303908
303909         · c40376250f Merge pull request #40231 from rallytime/bp-40030
303910
303911         · 4d1c687cbd Using lchown insted of chown.
303912
303913         · 52b3d986b5 Added changes for fix_39445
303914
303915         · PR saltstack/salt#40225: (techhat) Add wait_for_fun() to set_tags()
303916           (refs: #40239)
303917
303918       · PR #40239: (cachedout) Revert "Add wait_for_fun()  to  set_tags()"  @
303919         2017-03-22 22:59:16 UTC
303920
303921         · e39f5cbf40     Merge     pull    request    #40239    from    salt‐
303922           stack/revert-40225-waitforfun
303923
303924         · 95bdab87b4 Revert "Add wait_for_fun() to set_tags()"
303925
303926       · PR #40225: (techhat) Add wait_for_fun() to set_tags() (refs:  #40250)
303927         @ 2017-03-22 18:15:35 UTC
303928
303929         · 11d2f5abec Merge pull request #40225 from techhat/waitforfun
303930
303931         · 89b5010883 Add wait_for_fun() to set_tags()
303932
303933       · PR #40172: (dmurphy18) Fix solaris network @ 2017-03-22 17:41:56 UTC
303934
303935         · c8cfbb7df6     Merge     pull    request    #40172    from    dmur‐
303936           phy18/fix_solaris_network
303937
303938         · a6218b9484 Updated use of tail on Solaris and Sun-like OS
303939
303940         · 90e6a1d8f6 Further update to support correct tail  in  network  for
303941           Solaris
303942
303943         · 5b6d33dd70 Fix use of correct tail on Solaris for active_tcp
303944
303945       · PR  #40210: (rallytime) Skip flaky test for now @ 2017-03-22 16:34:41
303946         UTC
303947
303948         · e9a4e8548b Merge pull request #40210 from rallytime/test-skip
303949
303950         · 0ba773d86b Skip flaky test for now
303951
303952       · ISSUE  #40204:  (sofixa)  InfluxDB  returner  present  on   salt-min‐
303953         ion(installed  via  salt-bootstrap and updated via apt-get) has a bug
303954         (refs: #40209)
303955
303956       · PR #40209: (sofixa) change InfluxDB get_version to expect status code
303957         204 @ 2017-03-21 21:42:26 UTC
303958
303959         · 0b00489eb2 Merge pull request #40209 from sofixa/2016.11
303960
303961         · e1cc7234ff change InfluxDB get_version to expect status code 204
303962
303963       · ISSUE  #39775:  (mirceaulinic)  Proxy  mine_interval  config  ignored
303964         (refs: #39935, #saltstack/salt`#39935`_, #39776)
303965
303966         · PR saltstack/salt#39935: (cro) Add special token to insert the min‐
303967           ion id into the default_include path (refs: #40202)
303968
303969       · PR  #40202:  (cro)  Revert "Add special token to insert the minion id
303970         into the default_include path" @ 2017-03-21 21:37:33 UTC
303971
303972         · 66bc680d0a    Merge    pull    request    #40202     from     salt‐
303973           stack/revert-39935-namespace_proxy_cfg
303974
303975         · bb71710747  Revert  "Add special token to insert the minion id into
303976           the default_include path"
303977
303978       · PR #40199: (whiteinge) Ponysay emergency hotfix @ 2017-03-21 21:10:21
303979         UTC
303980
303981         · d8f0b79997  Merge  pull request #40199 from whiteinge/ponysay-emer‐
303982           gency-hotfix
303983
303984         · 85ea61b544 Add depends note
303985
303986         · 5a271acfdc Fix ponysay outputter hardcoded path
303987
303988       · PR  #40194:  (terminalmage)  Change  imports  for  dockerng  tests  @
303989         2017-03-21 19:34:55 UTC
303990
303991         · 82cee58e72    Merge    pull    request    #40194   from   terminal‐
303992           mage/fix-docker-test-imports
303993
303994         · 6caedb0de8 Change imports for dockerng tests
303995
303996       · PR #40189: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
303997         @ 2017-03-21 18:02:51 UTC
303998
303999         · 0b512f9ffb Merge pull request #40189 from rallytime/merge-2016.11
304000
304001         · a55c4138a8 Merge branch '2016.3' into '2016.11'
304002
304003           · d4e6c58526  Merge  pull  request  #40182  from terminalmage/dock‐
304004             erng-mod_watch-stopped
304005
304006             · 4629a26fb7  Add  support  for  "stopped"  state  to  dockerng's
304007               mod_watch
304008
304009           · a0b4082484 Merge pull request #40171 from Ch3LL/2016.3.6_release
304010
304011             · 9c6d8d892f additional PRs/issues for 2016.3.6 release notes
304012
304013           · 33ba7821f7      Merge      pull      request      #40120     from
304014             sergeizv/gce-expand-node-fix
304015
304016             · 9d0fbe7e01 gce: Exclude GCENodeDriver objects from _expand_node
304017               result
304018
304019           · 48843977c3 Merge pull request #40122 from meaksh/2016.3-yum-down‐
304020             loadonly-support
304021
304022             · 067f3f77c2 Adding downloadonly support to yum/dnf module
304023
304024           · 60e1d4e2f3 Merge pull request #40159 from cro/sign_pub
304025
304026             · e663b761fb Fix small syntax error
304027
304028             · 0a0f46fb14 Turn on sign_pub_messages  by  default.   Make  sure
304029               messages   with   no   'sig'   are   dropped  with  error  when
304030               sign_pub_messages is True.
304031
304032       · ISSUE #39779: (sp1r) Pillar scheduling is broken (refs: #40034)
304033
304034       · ISSUE #38523: (MorphBonehunter) schedule not changed on pillar update
304035         after minion restart (refs: #40034)
304036
304037       · ISSUE  #36134:  (Ch3LL)  carbon:  multi-master with failover does not
304038         failover when master goes down (refs: #36437)
304039
304040       · PR #40034: (sp1r) Disallow modification  of  jobs  from  pillar  with
304041         schedule execution module @ 2017-03-21 16:36:34 UTC
304042
304043         · PR  #36437:  (DmitryKuzmenko)  Keep the schedule jobs in ONE place.
304044           (refs: #40034)
304045
304046         · d9cb222aa8 Merge pull request #40034 from  sp1r/fix-pillar-schedul‐
304047           ing
304048
304049         · 595f786327 fix evaluating jobs when "pillar" is missing in opts
304050
304051         · 9d5db1910c fix initial data structure for schedule tests
304052
304053         · d3a2489c9c schedule tests to ensure pillar jobs are not modified
304054
304055         · 27385ff49c added a check ensuring schedule is a dict before merging
304056
304057         · 14d71918b2 Fixes #39779
304058
304059       · PR        #40160:        (eldadru)        Fix       this       issue:
304060         https://github.com/saltstack/salt/issues/40073, descr…  @  2017-03-20
304061         21:37:43 UTC
304062
304063         · 257c862c52       Merge      pull      request      #40160      from
304064           eldadru/fix-issue-40073-boto-rds-describe-empty-dict
304065
304066         · 954c871332              Fix               this               issue:
304067           https://github.com/saltstack/salt/issues/40073,   describe   return
304068           dictionary returned empty , probably as result  of  incorrect  past
304069           merge (see discussion on issue)
304070
304071       · PR #40162: (rallytime) Make sure the tornado web server is stopped at
304072         the end of the test class @ 2017-03-20 20:35:21 UTC
304073
304074         · aec504173a Merge pull request #40162  from  rallytime/archive-inte‐
304075           gration-test-fixes
304076
304077         · dd193cc740  Make  sure the tornado web server is stopped at the end
304078           of the test class
304079
304080       · PR #40158: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
304081         @ 2017-03-20 20:34:23 UTC
304082
304083         · 461e15f0f4 Merge pull request #40158 from rallytime/merge-2016.11
304084
304085         · 88f3ebd7e9 Remove extra "connect" kwarg caught by linter
304086
304087         · f4d4768a6d Merge branch '2016.3' into '2016.11'
304088
304089           · 28e4fc17b6  Merge  pull request #40123 from twangboy/win_fix_net‐
304090             work
304091
304092             · 06dfd55ef9 Adds support for inet_pton  in  Windows  to  network
304093               util
304094
304095           · 35ddb79f59 Merge pull request #40141 from bobrik/fallback-resolve
304096
304097             · af1545deed Use the first address if cannot connect to any
304098
304099       · PR  #40165:  (rallytime)  Don't try to run the dockerng unit tests if
304100         docker-py is missing @ 2017-03-20 20:33:19 UTC
304101
304102         · b235f0953f    Merge    pull    request    #40165    from     rally‐
304103           time/gate-docker-unit-tests
304104
304105         · f32d8a8683 Don't try to run the dockerng unit tests if docker-py is
304106           missing
304107
304108       · PR #40085: (mirceaulinic) VRF arg and better doc for ping and tracer‐
304109         oute @ 2017-03-20 19:48:57 UTC
304110
304111         · db9fb58b82 Merge pull request #40085 from cloudflare/fix-ping-tr
304112
304113         · 6cbdd61b54 Strip trailing whitespaces
304114
304115         · 897a2a37c3 VRF arg and better doc for ping and traceroute
304116
304117       · PR  #40095:  (skizunov) dns_check should not try to connect when con‐
304118         nect=False @ 2017-03-17 17:31:42 UTC
304119
304120         · 3bac06f099 Merge pull request #40095 from skizunov/develop2
304121
304122         · 880790f743 dns_check should not try to connect when connect=False
304123
304124       · PR #40096: (skizunov) When building up the 'master_uri_list', do  not
304125         try to connect @ 2017-03-17 17:13:41 UTC
304126
304127         · 31da90edd9 Merge pull request #40096 from skizunov/develop3
304128
304129         · eb9a0a6fd1  When  building  up the 'master_uri_list', do not try to
304130           connect
304131
304132       · PR #40111: (eldadru) Fixing simple issue 40081 - the key parameter of
304133         the method create ov… @ 2017-03-17 17:00:03 UTC
304134
304135         · 5303386d93       Merge      pull      request      #40111      from
304136           eldadru/fix-issue-40081-boto-rds-create-overwritten-key-parameter
304137
304138         · 78b5d112d7 Fixing simple issue 40081 - the  key  parameter  of  the
304139           method create overwritten by internal loop.
304140
304141       · PR #40118: (rallytime) Add CLI Example for dockerng.get_client_args @
304142         2017-03-17 16:34:13 UTC
304143
304144         · d2e376e8f2 Merge pull request #40118 from rallytime/cli-example
304145
304146         · bb496bb7f4 Add CLI Example for dockerng.get_client_args
304147
304148       · PR #40097: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
304149         @ 2017-03-17 15:17:08 UTC
304150
304151         · baef5009aa Merge pull request #40097 from rallytime/merge-2016.11
304152
304153         · ef1ff38f8d Merge branch '2016.3' into '2016.11'
304154
304155         · 116201f345  Merge  pull  request  #40059 from terminalmage/fix-vir‐
304156           tualenv-traceback
304157
304158           · e3cfd29d6b Fix traceback when virtualenv.managed is invoked  with
304159             nonexistant user
304160
304161         · a01b52b9a3 Merge pull request #40090 from rallytime/bp-40056
304162
304163           · ae012db87a update mention bot blacklist
304164
304165         · d1570bba4c Merge pull request #40057 from cachedout/ollie_blacklist
304166
304167           · 0ac2e83d37 Merge branch '2016.3' into ollie_blacklist
304168
304169           · 5592c680b5 More mentionbot blacklists
304170
304171       · ISSUE  #39771: (mirceaulinic) Empty __proxy__ dunder inside scheduler
304172         (refs: #40077)
304173
304174       · PR #40077: (mirceaulinic) Fix #39771 (Empty __proxy__  dunder  inside
304175         scheduler) @ 2017-03-16 20:56:02 UTC
304176
304177         · 9ef3e070c2 Merge pull request #40077 from cloudflare/fix-39771
304178
304179         · cd319e7e39 Add proxy kwarg to scheduler
304180
304181         · c6e6dd1a04 ProxyMinion: correctly build the scheduler
304182
304183       · PR #40088: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
304184         @ 2017-03-16 19:58:44 UTC
304185
304186         · b12720a56f Merge pull request #40088 from rallytime/merge-2016.11
304187
304188         · 626bd03885 Merge branch '2016.3' into '2016.11'
304189
304190         · d36bdb1a6e Merge pull request #40070 from Ch3LL/2016.3.6_release
304191
304192           · a1f8b49bd1 update 2016.3.6 release notes with additional PR's
304193
304194         · 8dcffc7751  Merge  pull  request  #40018  from   meaksh/2016.3-han‐
304195           dling-timeouts-for-manage.up-runner
304196
304197           · 9f5c3b7dcd  Allows  to  set  custom  timeouts for 'manage.up' and
304198             'manage.status'
304199
304200           · 2102d9c75c Allows to set 'timeout' and  'gather_job_timeout'  via
304201             kwargs
304202
304203         · 22fc5299a2       Merge      pull      request      #40038      from
304204           velom/fix-pip-freeze-parsing
304205
304206           · 3fae91d879 correctly parse "pkg_name===version" from pip freeze
304207
304208         · 3584f935fa Merge pull request #40053 from saltstack/rh_ip_patch
304209
304210           · 219947acdb Update rh_ip.py
304211
304212         · 837432d3d2 Merge pull request #40041 from terminalmage/issue40011
304213
304214           · 5b5d1b375c Fix transposed lines in salt.utils.process
304215
304216       · PR #40055:  (rallytime)  Update  "yaml"  code-block  references  with
304217         "jinja" where needed @ 2017-03-16 16:30:38 UTC
304218
304219         · 703ab23953 Merge pull request #40055 from rallytime/doc-build-warn‐
304220           ings
304221
304222         · 72d16c9fa9 Update "yaml" code-block references with  "jinja"  where
304223           needed
304224
304225       · PR   #40072:  (meaksh)  [2016.11]  Allows  overriding  'timeout'  and
304226         'gather_job_timeout' to 'manage.up' runner call @ 2017-03-16 15:31:46
304227         UTC
304228
304229         · PR    #40018:    (meaksh)    Allows    overriding   'timeout'   and
304230           'gather_job_timeout' to 'manage.up' runner call (refs: #40072)
304231
304232         · e73a1d0e54  Merge  pull  request  #40072  from  meaksh/2016.11-han‐
304233           dling-timeouts-for-manage.up-runner
304234
304235         · 40246d3723  Allows to set custom timeouts for 'manage.up' and 'man‐
304236           age.status'
304237
304238         · ad232fdc01 Allows to set  'timeout'  and  'gather_job_timeout'  via
304239           kwargs
304240
304241       · PR  #40045:  (terminalmage)  Fix  error  when  chhome  is  invoked by
304242         user.present state in Windows @ 2017-03-15 19:00:41 UTC
304243
304244         · 2f28ec26ee Merge pull  request  #40045  from  terminalmage/fix-win‐
304245           dows-user-present
304246
304247         · 359af3bb2b  Fix  error when chhome is invoked by user.present state
304248           in Windows
304249
304250       · PR #40047: (rallytime)  Back-port  #40000  to  2016.11  @  2017-03-15
304251         17:47:37 UTC
304252
304253         · PR  #40000:  (skizunov) Fix exception in salt-call when master_type
304254           is 'disable' (refs: #40047)
304255
304256         · 4067625676 Merge pull request #40047 from rallytime/bp-40000
304257
304258         · 11766c7259 Fix exception in salt-call when master_type is 'disable'
304259
304260       · PR #40023: (jeanpralo) We need to match on .p  not  just  strip  '.p'
304261         otherwise it will remove a… @ 2017-03-14 23:14:56 UTC
304262
304263         · 86f7195e0e   Merge  pull  request  #40023  from  jeanpralo/fix-min‐
304264           ions-cant-finish-by-char-p
304265
304266         · d7b0c8ae88 We need to match on .p not just strip '.p' otherwise  it
304267           will remove any p from the string even if we have no dot
304268
304269       · PR #40025: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
304270         @ 2017-03-14 23:14:33 UTC
304271
304272         · 277bd17ff2 Merge pull request #40025 from rallytime/merge-2016.11
304273
304274         · 029f28bbd5 Merge branch '2016.3' into '2016.11'
304275
304276         · ee7f3b1200 Merge pull request #40021 from Ch3LL/2016.3.6_release
304277
304278           · f3e7e4fb2a Add 2016.3.6 Release Notes
304279
304280         · 26895b7be2   Merge   pull    request    #40016    from    terminal‐
304281           mage/fix-grains-test
304282
304283           · 0ec81a4cde Fixup a syntax error
304284
304285           · 5d84b40bfd Attempt to fix failing grains tests in 2016.3
304286
304287         · 0c61d064ad Merge pull request #39980 from vutny/cmd-run-state-bg
304288
304289           · a81dc9dfc1 [2016.3] Allow to use bg kwarg for cmd.run state func‐
304290             tion
304291
304292         · b042484455 Merge pull request #39994  from  rallytime/ulimits-dock‐
304293           erng-version
304294
304295           · 37bd800fac Add a versionadded tag for dockerng ulimits addition
304296
304297         · e125c94ba5   Merge  pull  request  #39988  from  terminalmage/dock‐
304298           erng-timeout
304299
304300           · bd2519ed1b Add comment explaining change from #39973
304301
304302       · PR #40020: (dmurphy18) Full support for execution module timezone  on
304303         AIX @ 2017-03-14 21:05:31 UTC
304304
304305         · 8db74fb275 Merge pull request #40020 from dmurphy18/aix_timezone
304306
304307         · aabbbffd45 Full support to execution module timezone on AIX
304308
304309         · 16d5c7ce4a WIP: timezone support for AIX
304310
304311       · PR  #39924:  (dmurphy18) Add AIX support for user and group execution
304312         modules @ 2017-03-14 21:04:02 UTC
304313
304314         · 60066da614 Merge pull request #39924 from dmurphy18/salt_aix_fixMar
304315
304316         · 5077c989bb Updated changes file for added AIX support
304317
304318         · 8e107bd43e WIP: support for useradd on AIX
304319
304320         · 2f87d727d6 WIP: group support for AIX
304321
304322       · PR #40010: (jettero) S3 bucket path broken @ 2017-03-14 19:01:01 UTC
304323
304324         · cd73eafec8    Merge    pull    request     #40010     from     jet‐
304325           tero/s3-bucket-path-broken
304326
304327         · acee5bf7c8 clarify this, because it messes people up in the mailing
304328           lists, and myself briefly before I thought about it
304329
304330         · 8102ac8e3c same here
304331
304332         · 21b79e00be In order for the heredoc to be correct, bucket and  path
304333           have to default to '', not None
304334
304335       · PR  #39991:  (terminalmage)  Document the fact that the checksum type
304336         can be omitted in file.managed states @ 2017-03-14 15:58:11 UTC
304337
304338         · 61f1fb04c5   Merge   pull    request    #39991    from    terminal‐
304339           mage/source_hash-docs
304340
304341         · 537fc36029  Document the fact that the checksum type can be omitted
304342           in file.managed states
304343
304344       · PR #39984: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
304345         @ 2017-03-13 18:30:16 UTC
304346
304347         · 53d14d8ad9 Merge pull request #39984 from rallytime/merge-2016.11
304348
304349         · ef6f4b15ca Merge branch '2016.3' into '2016.11'
304350
304351         · cd0336e868   Merge  pull  request  #39973  from  terminalmage/dock‐
304352           erng-timeout
304353
304354           · 869416e7db Don't use docker.Client instance from context if miss‐
304355             ing attributes
304356
304357       · PR #39967: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
304358         @ 2017-03-10 23:45:33 UTC
304359
304360         · 31c00740e7 Merge pull request #39967 from rallytime/merge-2016.11
304361
304362         · 3022466615 Merge branch '2016.3' into '2016.11'
304363
304364         · 282c607d26 Merge pull request  #39962  from  cachedout/disable_men‐
304365           tionbot_delay_3
304366
304367           · 7a638f204b Disable mention bot delay on 2016.3
304368
304369         · 1e0c88ae08 Merge pull request #39937 from cachedout/gpg_zypper
304370
304371           · 13ed0d1209 Fix --non-gpg-checks in zypper module
304372
304373       · PR  #39963:  (cachedout)  Mention  bot  delay  disable  for 2016.11 @
304374         2017-03-10 20:25:25 UTC
304375
304376         · 269a2fd739 Merge pull request  #39963  from  cachedout/disable_men‐
304377           tionbot_delay_11
304378
304379         · 5fcea05691 Mention bot delay disable for 2016.11
304380
304381       · ISSUE  #7997:  (shantanub)  Proper  way  to  upgrade  salt-minions  /
304382         salt-master  packages  without  losing  minion  connectivity   (refs:
304383         #39952)
304384
304385       · PR  #39952: (vutny) Fix #7997: describe how to upgrade Salt Minion in
304386         a proper way @ 2017-03-10 18:41:57 UTC
304387
304388         · 6350b07384  Merge  pull  request  #39952  from   vutny/doc-faq-min‐
304389           ion-upgrade-restart
304390
304391         · d989d749d6  Fix  #7997:  describe  how  to upgrade Salt Minion in a
304392           proper way
304393
304394       · ISSUE  #39775:  (mirceaulinic)  Proxy  mine_interval  config  ignored
304395         (refs: #39935, #saltstack/salt`#39935`_, #39776)
304396
304397       · PR  #39935:  (cro) Add special token to insert the minion id into the
304398         default_include path @ 2017-03-10 17:51:55 UTC
304399
304400         · dc7d4f4224 Merge pull request #39935 from cro/namespace_proxy_cfg
304401
304402         · e4aef54c73 Add special token to  insert  the  minion  id  into  the
304403           default_include path
304404
304405       · PR #39936: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
304406         @ 2017-03-10 17:05:04 UTC
304407
304408         · 9503a1d0c6 Merge pull request #39936 from rallytime/merge-2016.11
304409
304410         · c8b5d390b5 Merge branch '2016.3' into '2016.11'
304411
304412           · 4526fc6e08   Merge   pull   request   #39929    from    terminal‐
304413             mage/pr-39770-2016.3
304414
304415             · cf0100dabe Scrap event-based approach for refreshing grains
304416
304417           · 111110caf8 Merge pull request #39919 from The-Loeki/patch-1
304418
304419             · 170cbadc54 CIDR matching supports IPv6, update docs
304420
304421           · caf10e9988 Merge pull request #39899 from techhat/cleanupdisks
304422
304423             · baf4579e63 Update cleanup function for azure
304424
304425           · fcf95f3654    Merge    pull   request   #39871   from   terminal‐
304426             mage/squelch-import-warning
304427
304428             · 2b2ec69d04 Squelch warning for pygit2 import
304429
304430           · f223fa8906 Merge pull request #39794  from  cachedout/clean_moni‐
304431             tor_socket_shutdown
304432
304433             · 2e683e788b Clean up errors which might be thrown when the moni‐
304434               tor socket shuts down
304435
304436           · 4002dc1947   Merge   pull   request   #39819    from    terminal‐
304437             mage/top-file-matching-docs
304438
304439             · 7178e77eee Improve the Top File matching docs
304440
304441           · c08aaeb7fd   Merge   pull   request   #39820  from  ni3mm4nd/bea‐
304442             cons_topic_doc_typo
304443
304444             · 804b12048c Add missing apostrophe
304445
304446           · cbd2a4e3cc Merge pull request #39826 from cachedout/yubikey_fix
304447
304448             · 6125eff02d Add group func to yubikey auth
304449
304450           · f575ef459f Merge pull request #39624 from drawsmcgraw/39622
304451
304452             · 13da50be33 Fix indention lint errors
304453
304454             · 545026352f Address issue 39622
304455
304456           · 1f3619c1e5 Merge pull request #39796 from  cachedout/master_shut‐
304457             down
304458
304459             · e31d46c1b8  Stop the process manager when it no longer has pro‐
304460               cesses to manage
304461
304462           · 53341cf152 Merge pull request #39791 from gtmanfred/2016.3
304463
304464             · 3ab4f843bf load runners if role is master
304465
304466           · c234c25092 Merge pull request #39784 from sergeizv/fix-39782
304467
304468             · b71c3fe13c Revert "cloud.clouds.ec2: cache each named  node  (‐
304469               #33164)"
304470
304471           · 4ee59be22c Merge pull request #39766 from rallytime/fix-ipv6-con‐
304472             nection
304473
304474             · 65b239664e Restore ipv6 connectivity and "master:  <ip>:<port>"
304475               support
304476
304477       · ISSUE  #38121:  (Da-Juan) Beacon configuration doesn't work as a list
304478         (refs: #39932, #39930)
304479
304480       · PR #39932: (rallytime) Cherry-pick the beacon fixes made in #39930 to
304481         2016.11 @ 2017-03-10 00:21:09 UTC
304482
304483         · PR #39930: (s0undt3ch) Moar Py3 and a fix for #38121 (refs: #39932)
304484
304485         · 899e037f0a Merge pull request #39932 from rallytime/cp-beacon-fixes
304486
304487         · 4a52cca926 Pylint fixes
304488
304489         · 4627c4ea6d  Code  cleanup  and make sure the beacons config file is
304490           deleted after testing
304491
304492         · c7fc09f97d Support the new list configuration format.
304493
304494         · be06df9b64 Remove *args, **kwargs. Not needed, not useful.
304495
304496         · 4a242829ee These tests aren't even using mock!
304497
304498         · 6408b123e7 These tests are not destructive
304499
304500         · 50e51b5b9d The beacons configuration is now a list. Handle it!
304501
304502       · PR #39933: (hkrist) Fixed rawfile_json  returner  output  format.   @
304503         2017-03-10 00:20:52 UTC
304504
304505         · 2e68edee4a   Merge   pull   request   #39933  from  hkrist/fix-raw‐
304506           file_json_returner-format
304507
304508         · 4d0ddcd110 Fixed rawfile_json returner output format. It  outputted
304509           python object instead of standard json.
304510
304511       · PR  #39934:  (dmurphy18)  Correct comment lines output from execution
304512         module's host.list_hosts @ 2017-03-10 00:20:14 UTC
304513
304514         · fb0dc33c42 Merge pull request #39934 from dmurphy18/fix_host_list
304515
304516         · e7b9a45079 Correct comment lines output got list_hosts
304517
304518       · PR  #39900:  (twangboy)  Namespace  the  line  function  properly  in
304519         win_file @ 2017-03-09 22:19:12 UTC
304520
304521         · a6f88d03df Merge pull request #39900 from twangboy/win_fix_line
304522
304523         · 462bdecd33 Namespace the line function properly in win_file
304524
304525       · ISSUE   #37741:   (discountbin)   Check  in  file.replace  state  for
304526         ignore_if_missing (refs: #37743, #39910)
304527
304528       · PR #39910: (rallytime)  Back-port  #37743  to  2016.11  @  2017-03-09
304529         22:16:58 UTC
304530
304531         · PR  #37743:  (discountbin) Adding check for ignore_if_missing param
304532           when calling _check_file. (refs: #39910)
304533
304534         · 77ecff4e02 Merge pull request #39910 from rallytime/bp-37743
304535
304536         · ca306c0860 Replace pass with updated comment for return
304537
304538         · 1a78878b47 Adding check for ignore_if_missing  param  when  calling
304539           _check_file.
304540
304541       · PR #39770: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
304542         @ 2017-03-09 22:00:17 UTC
304543
304544         · c2d4d17589 Merge pull request #39770 from rallytime/merge-2016.11
304545
304546         · dbaea3de73 Remove extra refresh reference that snuck in
304547
304548         · d9f48ac6ea Don't shadow refresh_pillar
304549
304550         · d86b03dc90 Remove manual refresh code from minion.py
304551
304552         · a7e419e35f Scrap event-based approach for refreshing grains
304553
304554         · 776a9431b9 Merge branch '2016.3' into '2016.11'
304555
304556           · a24da31131 Merge pull request #39761 from cachedout/issue_33187
304557
304558             · c2df29edb2 Properly display error in jboss7 state
304559
304560           · 0888bc32ef   Merge    pull    request    #39728    from    rally‐
304561             time/update-release-ver-2016.3
304562
304563             · c9bc8af8f2 [2016.3] Bump latest release version to 2016.11.3
304564
304565           · b52dbeec68 Merge pull request #39619 from terminalmage/zd1207
304566
304567             · c7dfb494a6 Fix mocking for grains refresh
304568
304569             · 7e0ced3b45 Properly hand proxy minions
304570
304571             · 692c456da3 Add a function to simply refresh the grains
304572
304573       · PR  #39872:  (techhat)  Add  installation  tips for azurearm driver @
304574         2017-03-07 23:18:04 UTC
304575
304576         · 801ff28053 Merge pull request #39872 from techhat/fixdocs
304577
304578         · 35440c5936 Add installation tips for azure
304579
304580         · 2a1ae0bf2e Change example master in azure docs
304581
304582       · PR #39837: (terminalmage) Fix regression in archive.extracted when it
304583         runs file.directory @ 2017-03-07 04:09:51 UTC
304584
304585         · 6d0f15c31a    Merge    pull    request    #39837   from   terminal‐
304586           mage/more-issue39751
304587
304588         · 0285ff3c7d  Fix  regression  in  archive.extracted  when  it   runs
304589           file.directory
304590
304591       · PR  #39858:  (techhat)  Reorder  keys that were being declared in the
304592         wrong place @ 2017-03-07 03:51:56 UTC
304593
304594         · 68752a2a18 Merge pull request #39858 from techhat/statuskey
304595
304596         · 507a4f7f93 Reorder keys that were being declared in the wrong place
304597
304598       · ISSUE #38830: (danielmotaleite) salt-ssh: vault fails to  use  config
304599         (refs: #38943)
304600
304601       · PR  #39862:  (rallytime)  Back-port  #38943  to  2016.11 @ 2017-03-07
304602         03:34:40 UTC
304603
304604         · PR #38943: (thatch45) When we generate the pillar we should send in
304605           the master opts (refs: #39862)
304606
304607         · 49c8faa141 Merge pull request #39862 from rallytime/bp-38943
304608
304609         · e21b16c002 try it with a different init sequence
304610
304611         · 92cac0ff8b make it a deepcopy
304612
304613         · 58cb8cd4f5  make  sure  to copy the top dict reference since we are
304614           moding it
304615
304616         · a0b671ea43 When we generate the pillar we should send in the master
304617           opts
304618
304619       · PR  #39852:  (rallytime)  Back-port  #39651  to  2016.11 @ 2017-03-06
304620         21:18:34 UTC
304621
304622         · PR #39651: (DennisHarper) Checking Instance when calling a function
304623           that can return None (refs: #39852)
304624
304625         · 8ecc719f90 Merge pull request #39852 from rallytime/bp-39651
304626
304627         · bb5ddbe18c  Checking  instance  exists  in  master._get_cached_min‐
304628           ion_data when cache.fetch returns None
304629
304630         · 79f2a7cbb7 Update __init__.py
304631
304632         · e2a232921d  Checking  instance  exists  in  master._get_cached_min‐
304633           ion_data when cache.fetch returns None
304634
304635         · 838774291d Update __init__.py
304636
304637         · ff6f63e9dd  Checking  instance  exists  in  master._get_cached_min‐
304638           ion_data when cache.fetch returns None
304639
304640         · 855f87554c  Checking  instance  exists  in  master._get_cached_min‐
304641           ion_data when cache.fetch returns None
304642
304643       · ISSUE  #39052:  (githubcdr)  Minion restart very slow since 2016.11.2
304644         (refs: #39104)
304645
304646       · PR #39851: (rallytime)  Back-port  #39104  to  2016.11  @  2017-03-06
304647         21:17:43 UTC
304648
304649         · PR #39104: (githubcdr) Do not use name resolving for --notrim check
304650           (refs: #39851)
304651
304652         · 897275ae5f Merge pull request #39851 from rallytime/bp-39104
304653
304654         · 6539dbdbca Do not use name resolving for --notrim check
304655
304656       · ISSUE #38231: (tjuup) Typo: salt-key deleteed (refs: #39799)
304657
304658       · PR #39799: (Ch3LL)  Fix  deleteed  message  when  key  is  deleted  @
304659         2017-03-03 05:17:43 UTC
304660
304661         · d0440e2a2a Merge pull request #39799 from Ch3LL/fix_salt_key_msg
304662
304663         · 8346682cf7 Fix deleteed message when key is deleted
304664
304665       · ISSUE   #38962:  (gstachowiak)  Broken  /jobs  in  salt-api  in  salt
304666         2016.11.1 (Carbon) (refs: #39472)
304667
304668       · PR #39472: (whiteinge) Update _reformat_low to not  run  kwarg  dicts
304669         through parse_input @ 2017-03-02 17:46:20 UTC
304670
304671         · 9f70ad7164   Merge   pull  request  #39472  from  whiteinge/_refor‐
304672           mat_low-update
304673
304674         · d11f5381a4 Add RunnerClient test for old/new-style arg/kwarg  pars‐
304675           ing
304676
304677         · ec377ab379 Reenable skipped RunnerClient tests
304678
304679         · 27f7fd9ad4 Update _reformat_low to run arg through parse_input
304680
304681         · 5177153459 Revert parse_input change from #32005
304682
304683       · PR  #39727:  (terminalmage) salt.modules.state: check gathered pillar
304684         for errors instead of in-memory pillar @ 2017-03-02 17:06:43 UTC
304685
304686         · 7dfc4b572a Merge pull request #39727 from terminalmage/issue39627
304687
304688         · 3bb0ebd872 Update tests for PR 39727
304689
304690         · c334b59c96 salt.modules.state: check  gathered  pillar  for  errors
304691           instead of in-memory pillar
304692
304693         · 97dd8a13d9  Ensure  that  ext_pillar begins with pillar_override if
304694           ext_pillar_first is True
304695
304696         · f951266944 Add log message for successful makostack processing
304697
304698       · ISSUE  #39775:  (mirceaulinic)  Proxy  mine_interval  config  ignored
304699         (refs: #39935, #saltstack/salt`#39935`_, #39776)
304700
304701       · PR  #39776:  (mirceaulinic) WIP: Save _schedule.conf under <proxy ID>
304702         dir @ 2017-03-02 16:27:45 UTC
304703
304704         · 965f474316 Merge pull request #39776 from cloudflare/proxy-schedule
304705
304706         · 35b8b8fd64 Save _schedule.conf under <minion ID> dir
304707
304708       · PR  #39788:  (cachedout)  Disable  one  API  test  that  is  flaky  @
304709         2017-03-02 16:17:31 UTC
304710
304711         · 555f1473f6   Merge   pull   request   #39788   from  cachedout/dis‐
304712           able_api_test
304713
304714         · 523e377b33 Disable one API test that is flaky
304715
304716       · PR  #39762:  (terminalmage)  Fix  regression  in  file.get_managed  @
304717         2017-03-02 02:59:34 UTC
304718
304719         · 793979cbe6 Merge pull request #39762 from terminalmage/issue39751
304720
304721         · 64db0b8563 Add integration tests for remote file sources
304722
304723         · f9f894d981 Fix regression in file.get_managed when skip_verify=True
304724
304725         · 28651a6699 Remove next(iter()) extraction
304726
304727       · ISSUE  #35088:  (Modulus) salt/cloud/ec2.py encoding problems. (refs:
304728         #37912)
304729
304730       · PR #39767: (rallytime)  Back-port  #38316  to  2016.11  @  2017-03-02
304731         02:54:57 UTC
304732
304733         · PR #38316: (mlalpho) salt utils aws encoding fix (refs: #39767)
304734
304735         · PR  #37912:  (attiasr)  fix  encoding  problem aws responses (refs:
304736           #38316)
304737
304738         · 91a9337ab3 Merge pull request #39767 from rallytime/bp-38316
304739
304740         · 1dcf018df7 requests api says  Response.encoding  can  sometimes  be
304741           None
304742           http://docs.python-requests.org/en/master/api/#requests.Response.encoding
304743           and result.text.encode() doesn't accept None and expects a string.
304744
304745       · ISSUE  #39692: (djsly) tuned module and state are broken on 7.3 fami‐
304746         lies.  (refs: #40387, #39719, #39768)
304747
304748       · PR #39768: (rallytime)  Back-port  #39719  to  2016.11  @  2017-03-02
304749         02:54:40 UTC
304750
304751         · PR  #39719:  (Seb-Solon)  Support  new  version of tuned-adm binary
304752           (refs: #39768)
304753
304754         · 4a01bd64ea Merge pull request #39768 from rallytime/bp-39719
304755
304756         · d7cb70f203 Enh: Support new version of tuned-adm binary
304757
304758       · PR #39760: (Ch3LL) Initial 2016.11.4 Release Notes Doc  @  2017-03-01
304759         18:43:39 UTC
304760
304761         · 780457f934 Merge pull request #39760 from Ch3LL/2016.11.4_notes
304762
304763         · 1853c998c4 add initial 2016.11.4 release notes
304764
304765       · PR  #39731:  (twangboy)  Add  docs  for  Kwargs  in  pkg.refresh_db @
304766         2017-02-28 22:02:59 UTC
304767
304768         · 0147f78ab5 Merge pull request #39731 from twangboy/win_pkg_docs
304769
304770         · 423e6f7448 Add docs for Kwargs in pkg.refresh_db
304771
304772       · ISSUE  #39710:  (huangfupeng)  schedule.add  parameter  can  not  use
304773         “after“ (refs: #39734)
304774
304775       · PR  #39734:  (garethgreenaway)  Missing parameter in the schedule.add
304776         function @ 2017-02-28 20:43:08 UTC
304777
304778         · fce2d184f3   Merge   pull   request   #39734   from    garethgreen‐
304779           away/39710_missing_schedule_add_parameter
304780
304781         · 63eb610245  Per #39710, missing parameter in the schedule.add func‐
304782           tion
304783
304784       · PR #39729: (rallytime)  [2016.11]  Bump  latest  release  version  to
304785         2016.11.3 @ 2017-02-28 18:08:25 UTC
304786
304787         · 7b4865c058     Merge    pull    request    #39729    from    rally‐
304788           time/update-release-ver-2016.11
304789
304790         · b5a7111ad9 [2016.11] Bump latest release version to 2016.11.3
304791
304792       · PR #39721: (vutny) DOCS: add 2nd level header for advanced  targeting
304793         methods @ 2017-02-28 17:57:46 UTC
304794
304795         · 47e494fe07 Merge pull request #39721 from vutny/doc-targeting
304796
304797         · 1d86cf1161  DOCS: add 2nd level header for advanced targeting meth‐
304798           ods
304799
304800       · ISSUE #39683: (alankrita) Error in Saltstack's rest auth "Authentica‐
304801         tion module threw 'status' " (refs: #39711)
304802
304803       · PR  #39711: (alankrita) Fix error in Saltstack's rest auth "Authenti‐
304804         cation module threw 'status' " @ 2017-02-28 15:56:09 UTC
304805
304806         · d39b679d82 Merge pull request #39711 from alankrita/fix-rest-eauth
304807
304808         · ee426562a7 Fix error in Saltstack's rest auth "Authentication  mod‐
304809           ule threw 'status' "
304810
304811       · PR  #39699:  (techhat)  Strip  shabang line from rendered HTTP data @
304812         2017-02-28 00:05:01 UTC
304813
304814         · 3940321462 Merge pull request #39699 from techhat/httpshabang
304815
304816         · 559eb93576 Strip shabang line from rendered HTTP data
304817
304818       · PR #39694: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
304819         @ 2017-02-27 22:13:49 UTC
304820
304821         · 00f121eade Merge pull request #39694 from rallytime/merge-2016.11
304822
304823         · 756f1de2d2 Merge branch '2016.3' into '2016.11'
304824
304825           · 3f8b5e6733 Merge pull request #39487 from bobrik/mode-docs
304826
304827             · 41ef69b3ca Document default permission modes for file module
304828
304829           · f7389bf1f5      Merge      pull      request      #39641     from
304830             smarsching/issue-39169-2016.3
304831
304832             · 88c2d9a540 Fix return data structure for runner (issue #39169).
304833
304834           · fc970b6a16 Merge pull request #39633  from  terminalmage/fix-sys‐
304835             temd-typo
304836
304837             · ca54541abe Add missing unit test for disable func
304838
304839             · 17109e1522 Fix misspelled argument in salt.modules.systemd.dis‐
304840               able()
304841
304842           · 53e78d67f6 Merge pull request #39613 from terminalmage/fix-docs
304843
304844             · 9342eda377 Fix inaccurate documentation
304845
304846       · ISSUE #39642:  (drawsmcgraw)  boto_vpc.nat_gateway_present  does  not
304847         honor the allocation_id parameter like the module does (refs: #39643)
304848
304849       · PR  #39643:  (drawsmcgraw) issue 39642 - boto_vpc.nat_gateway_present
304850         should accept parameter al… @ 2017-02-27 20:19:09 UTC
304851
304852         · 2c919e31d6 Merge pull request #39643 from drawsmcgraw/39642
304853
304854         · 56d9adfbf6 issue 39642 - boto_vpc.nat_gateway_present should accept
304855           parameter allocation_id.
304856
304857       · PR   #39666:   (terminalmage)  Rewrite  the  test_valid_docs  test  @
304858         2017-02-26 20:14:33 UTC
304859
304860         · df013c5f31   Merge   pull    request    #39666    from    terminal‐
304861           mage/test_valid_docs
304862
304863         · 5a3c099e4f Rewrite the tests_valid_docs test
304864
304865       · PR  #39662:  (The-Loeki)  Py3  compat: Force minions to be a list for
304866         local serialized caches @ 2017-02-26 02:36:46 UTC
304867
304868         · a29a7be7f8 Merge pull request #39662 from The-Loeki/py3cachefix
304869
304870         · b02ef984f7 Add comment
304871
304872         · 0fe5c90a05 Py3 compat: Force minions to be a list for local serial‐
304873           ized caches
304874
304875       · PR #39644: (vutny) Improve and align dockerng execution module docs @
304876         2017-02-25 04:16:28 UTC
304877
304878         · bd6efd18b1 Merge pull request #39644 from vutny/dockerng-docs
304879
304880         · c4988e874e Improve and align dockerng execution module docs
304881
304882       · PR #39516: (jettero) Prevent spurious "Template does not exist" error
304883         @ 2017-02-24 23:41:36 UTC
304884
304885         · fffab54078   Merge   pull  request  #39516  from  jettero/give-pil‐
304886           larenv-tops-similar-treatment
304887
304888         · 8fe48fa5c4 prevent billions of inexplicable lines of this:
304889
304890       · PR #39654: (skizunov) Fix issue where compile_pillar  failure  causes
304891         minion to exit @ 2017-02-24 22:47:52 UTC
304892
304893         · be9629b180 Merge pull request #39654 from skizunov/develop2
304894
304895         · 9f80bbce07  Fix issue where compile_pillar failure causes minion to
304896           exit
304897
304898       · PR #39653:  (cachedout)  Use  salt's  ordereddict  for  comparison  @
304899         2017-02-24 22:46:24 UTC
304900
304901         · e63cbbaab9 Merge pull request #39653 from cachedout/26_odict
304902
304903         · 91eb7210bb Use salt's ordereddict for comparison
304904
304905       · ISSUE  #38836:  (toanctruong)  file.managed with S3 Source errors out
304906         with obscure message (refs: #39609, #39589)
304907
304908       · PR #39609: (gtmanfred) intialize  the  Client  stuff  in  FSClient  @
304909         2017-02-24 18:50:55 UTC
304910
304911         · 0bc6027e68 Merge pull request #39609 from gtmanfred/2016.11
304912
304913         · 0820620ef8 intialize the Client stuff in FSClient
304914
304915       · PR  #39615:  (skizunov)  Bonjour/Avahi  beacons: Make sure TXT record
304916         length is valid @ 2017-02-24 18:47:05 UTC
304917
304918         · 28035c07b3 Merge pull request #39615 from skizunov/develop2
304919
304920         · b1c7e9b505 Bonjour/Avahi beacons: Make sure TXT  record  length  is
304921           valid
304922
304923       · PR #39617: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
304924         @ 2017-02-24 16:07:55 UTC
304925
304926         · e9410fb669 Merge pull request #39617 from rallytime/merge-2016.11
304927
304928         · 13622899d2 Merge branch '2016.3' into '2016.11'
304929
304930         · 4e2b852f83 Merge pull request #39600 from vutny/state-file-docs
304931
304932           · 9b0427c27a state.file: drop non-relevant examples for source_hash
304933             parameter
304934
304935         · ed83420417 Merge pull request #39584 from cachedout/mentionbot_docs
304936
304937           · 652044b18f A note in the docs about mentionbot
304938
304939         · d3e50b4f2f   Merge  pull  request  #39583  from  cachedout/mention‐
304940           bot_blacklist
304941
304942           · 62491c900d Add empty blacklist to mention bot
304943
304944       · ISSUE #38758: (bobrik) Remote  state  execution  is  much  slower  on
304945         2016.11.1 compared to 2016.3.4 (refs: #39505)
304946
304947       · ISSUE #33575: (anlutro) File states seem slower in 2016.3, especially
304948         on first cache retrieval (refs: #33896)
304949
304950       · ISSUE #29643: (matthayes) Can't get batch mode and --failhard to work
304951         as expected (refs: #31164)
304952
304953       · ISSUE #28569: (andrejohansson) Reactor alert on highstate fail (refs:
304954         #31164)
304955
304956       · PR #39505: (cachedout) Threadsafety option for context dictionaries @
304957         2017-02-23 19:38:13 UTC
304958
304959         · PR  #37378:  (skizunov)  Fix __context__ to properly sandbox (refs:
304960           #39505)
304961
304962         · PR #33896: (DmitryKuzmenko) Don't deep copy  context  dict  values.
304963           (refs: #39505)
304964
304965         · PR #31164: (DmitryKuzmenko) Issues/29643 fix invalid retcode (refs:
304966           #33896)
304967
304968         · 0d31201e08 Merge pull request #39505 from cachedout/issue_38758
304969
304970         · 1dba2f9cb0 Add warning in docs
304971
304972         · 9cf654b72c Threadsafety option for context dictionaries
304973
304974       · PR #39507: (joe-niland) Detect IIS version and vary certificate asso‐
304975         ciation command depending on version @ 2017-02-23 19:15:40 UTC
304976
304977         · c0d4357f46       Merge      pull      request      #39507      from
304978           joe-niland/iis-7-cert-binding
304979
304980         · c94f0b8c62 Fix additional issue whereby existing certificate  bind‐
304981           ings  were  not  found in IIS 7.5, due to the fact that IIS earlier
304982           than 8 doesn't support SNI
304983
304984         · 18effe0103 Detect IIS version and vary certificate association com‐
304985           mand depending on version
304986
304987       · PR  #39565: (terminalmage) states.file.patch/modules.file.check_hash:
304988         use hash length to determine type @ 2017-02-23 19:14:28 UTC
304989
304990         · e6f5e8a474 Merge pull request #39565 from terminalmage/issue39512
304991
304992         · cbdf905b9f Update test to reflect new state comment
304993
304994         · 650dbaca4e  states.file.patch/modules.file.check_hash:   use   hash
304995           length to determine type
304996
304997       · PR  #39591:  (mcalmer)  fix  case  in os_family for Suse @ 2017-02-23
304998         19:07:17 UTC
304999
305000         · 53e22b8f15      Merge      pull      request      #39591       from
305001           mcalmer/fix-case-in-os_family
305002
305003         · 81bd96e32d fix case in os_family for Suse
305004
305005       · ISSUE  #38452: (jf) file.line with mode=delete does not preserve own‐
305006         ership of a file (refs: #39592)
305007
305008       · PR #39592: (skazi0) Ensure user/group/file_mode  after  line  edit  @
305009         2017-02-23 18:40:05 UTC
305010
305011         · aee43f7fa4 Merge pull request #39592 from skazi0/line-user-fix
305012
305013         · baf84b4430 Ensure user/group/file_mode after line edit
305014
305015       · PR  #39596:  (ticosax) Reduce scope of try except StopIteration wrap‐
305016         ping @ 2017-02-23 18:16:17 UTC
305017
305018         · 6ab4151213      Merge      pull      request      #39596       from
305019           ticosax/reduce-scope-catehed-exception
305020
305021         · 54cdacb680 Reduce scope of try except StopIteration wrapping
305022
305023       · ISSUE  #38836:  (toanctruong)  file.managed with S3 Source errors out
305024         with obscure message (refs: #39609, #39589)
305025
305026       · PR #39610: (rallytime)  Back-port  #39589  to  2016.11  @  2017-02-23
305027         17:48:03 UTC
305028
305029         · PR  #39589:  (MasterNayru)  Allow  masterless minions to pull files
305030           from S3 (refs: #39610)
305031
305032         · b1c3b84862 Merge pull request #39610 from rallytime/bp-39589
305033
305034         · 83ec174d44 Set utils property explicitly for FSClient
305035
305036         · 3889006149 Allow masterless minions to pull files from S3
305037
305038       · PR  #39606:  (rallytime)  [2016.11]  Pylint:  add  missing  import  @
305039         2017-02-23 16:39:55 UTC
305040
305041         · fe15ed9b92 Merge pull request #39606 from rallytime/lint-2016.11
305042
305043         · 71164348e7 [2016.11] Pylint: add missing import
305044
305045       · PR  #39573:  (thatch45)  Added  a few more comments to the ssl docs @
305046         2017-02-23 02:17:13 UTC
305047
305048         · PR #39554: (DmitryKuzmenko) Cosmetic: support bool value for  'ssl'
305049           config option. (refs: #39573)
305050
305051         · PR #39528: (thatch45) Add better ssl option docs (refs: #39554)
305052
305053         · 5987c4e30e Merge pull request #39573 from thatch45/ssl_docs
305054
305055         · b230c35eac This should be good to go now
305056
305057       · PR #39577: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
305058         @ 2017-02-23 02:10:12 UTC
305059
305060         · b8e321cbec Merge pull request #39577 from rallytime/merge-2016.11
305061
305062         · 397c756a01 Merge branch '2016.3' into '2016.11'
305063
305064           · 8352e6b44b Merge pull request #39579 from rallytime/fix-lint
305065
305066             · 65889e1f30 [2016.3] Pylint: Remove unused import
305067
305068           · 43dba3254c Merge pull request #39578 from cachedout/2016.3
305069
305070             · 344499eef7 Add mention-bot configuration
305071
305072         · c52cecd856 Fix syntax error leftover from incomplete merge-conflict
305073           resolution
305074
305075         · 7b9b3f700d Merge branch '2016.3' into '2016.11'
305076
305077           · 8f7a0f9d96    Merge    pull    request    #39542    from   twang‐
305078             boy/gate_ssh_known_hosts
305079
305080             · c90a52ef27 Remove expensive check
305081
305082             · 6d645cae0e Add __virtual__ function
305083
305084           · c10965833a Merge pull request #39289 from bobrik/autodetect-ipv6
305085
305086             · 2761a1b244 Move new kwargs to the end of argument list
305087
305088             · 0df6b922e7 Narrow down connection exception to socket.error
305089
305090             · e8a2cc0488 Do no try to connect to salt master in syndic config
305091               test
305092
305093             · af9578631e  Properly log address that failed to resolve or pass
305094               connection check
305095
305096             · 9a34fbeba9 Actually connect to master instead of checking route
305097               availability
305098
305099             · c494839c65 Avoid bare exceptions in dns_check
305100
305101             · 29f376676d Rewrite dns_check to try to connect to address
305102
305103             · 55965ce505 Autodetect IPv6 connectivity from minion to master
305104
305105           · 3fb928b63a Merge pull request #39569 from s0undt3ch/2016.3
305106
305107             · 49da135abd  Don't  use  our  own  six  dictionary fixes in this
305108               branch
305109
305110           · 91e3319df8 Merge pull request #39508 from dincamihai/openscap
305111
305112             · 9fedb84607 Always return oscap's stderr
305113
305114             · 0ecde2cd02 Include oscap returncode in response
305115
305116           · fbe2194a93 Merge pull request #39562 from terminalmage/issue30802
305117
305118             · c50374041d Add ulimits to dockerng state/exec module
305119
305120             · da42040c1a Try the docker-py 2.0 client name first
305121
305122           · 01d4a84a2f dockerng.get_client_args: Fix path for endpoint config
305123             for some versions of docker-py (#39544)
305124
305125       · PR  #39574:  (Ch3LL)  Update  2016.11.3  release  notes  @ 2017-02-23
305126         00:10:23 UTC
305127
305128         · cff9334929      Merge      pull      request      #39574       from
305129           Ch3LL/update_release_notes
305130
305131         · c0f8c35df7 fix reference to set in docs
305132
305133         · 663f6f159d add additional PRs to 2016.11.3 release notes
305134
305135       · PR  #39528:  (thatch45)  Add  better ssl option docs (refs: #39554) @
305136         2017-02-22 18:29:47 UTC
305137
305138         · b492f7094c Merge pull request #39528 from thatch45/ssl_docs
305139
305140         · c357e37831 Add minion config
305141
305142         · 539bb2aa80 Add better ssl option docs
305143
305144       · ISSUE saltstack/salt#35869: (amontalban) timezone.system state  fails
305145         on FreeBSD when /etc/localtime does not exists (refs: #39532)
305146
305147       · PR #39532: (amontalban) Fix case when /etc/localtime is a file and it
305148         is not updated @ 2017-02-22 18:28:54 UTC
305149
305150         · 0dad49cdff  Merge  pull   request   #39532   from   amontalban/cor‐
305151           ner_case_35869
305152
305153         · f0d3c16547  Fix  case  when  /etc/localtime is a file and it is not
305154           updated
305155
305156       · PR #39540: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
305157         @ 2017-02-22 18:24:01 UTC
305158
305159         · 9cfaf3b599 Merge pull request #39540 from rallytime/merge-2016.11
305160
305161         · 49fe4e891e Merge branch '2016.11' into '2016.11'
305162
305163         · c613d19e76 Merge branch '2016.3' into '2016.11'
305164
305165         · dff35b58f8 Merge pull request #39498 from terminalmage/pr-39483
305166
305167           · 20b097a745  dockerng:  compare  sets  instead  of  lists of secu‐
305168             rity_opt
305169
305170         · 6418e725ed Merge pull request #39497 from  terminalmage/docker-com‐
305171           pat-fixes
305172
305173           · cbd0270bac docker: make docker-exec the default execution driver
305174
305175           · a6a17d58aa Handle docker-py 2.0's new host_config path
305176
305177         · 9c4292fb4e Merge pull request #39423 from dincamihai/openscap
305178
305179           · 9d13422ac1 OpenSCAP module
305180
305181         · 7dd2502360 Merge pull request #39464 from gtmanfred/2016.3
305182
305183           · f829d6f9fc skip false values from preferred_ip
305184
305185         · db359ff2c3    Merge    pull    request    #39460    from    cached‐
305186           out/win_dism_test_fix
305187
305188           · e652a45592 Fix mocks in win_disim tests
305189
305190         · 9dbfba9b57 Merge pull request #39426 from morganwillcock/dism
305191
305192           · a7d5118262 Return failure when package path does not exist
305193
305194         · 56162706e3 Merge pull request #39431 from  UtahDave/fix_grains.set‐
305195           val_performance
305196
305197           · 391bbecd90 add docs
305198
305199           · 709c197f84 allow sync_grains to be disabled on grains.setval
305200
305201         · 239e16e612 Merge pull request #39405 from rallytime/fix-39304
305202
305203           · bd1fe03ce7 Update :depends: docs for boto states and modules
305204
305205         · 415102f346 Merge pull request #39411 from rallytime/fix-38762
305206
305207           · e13febe58d  Update  external_cache  docs with other configuration
305208             options
305209
305210         · 7e1803b617 Update docs on upstream EPEL7 pygit2/libgit2  issues  (‐
305211           #39421)
305212
305213       · PR  #39554:  (DmitryKuzmenko)  Cosmetic: support bool value for 'ssl'
305214         config option. (refs: #39573) @ 2017-02-22 16:59:03 UTC
305215
305216         · PR #39528: (thatch45) Add better ssl option docs (refs: #39554)
305217
305218         · 56fe2f198e   Merge   pull   request   #39554    from    DSRCorpora‐
305219           tion/bugs/ssl_bool
305220
305221         · 7a6fc11291 Cosmetic: support bool value for 'ssl' config option.
305222
305223       · PR  #39560:  (vutny) [CLOUD] Log error when private/public IP was not
305224         detected @ 2017-02-22 16:49:46 UTC
305225
305226         · cf37f83565 Merge pull request #39560 from vutny/cloud-detect-ips
305227
305228         · 567bb50884  [CLOUD]  Log  error  when  private/public  IP  was  not
305229           detected
305230
305231   Salt 2016.11.5 Release Notes
305232       Version 2016.11.5 is a bugfix release for 2016.11.0.
305233
305234   Statistics
305235       · Total Merges: 82
305236
305237       · Total Issue References: 23
305238
305239       · Total PR References: 80
305240
305241       · Contributors:   32  (BenoitKnecht,  Ch3LL,  DmitryKuzmenko,  Enquier,
305242         SolarisYan,  UtahDave,  alexproca,   benediktwerner,   bobrik,   brd,
305243         cachedout,  clinta,  corywright,  cro,  danlsgiga,  drawsmcgraw, ezh,
305244         gtmanfred, isbm,  jf,  jleproust,  lorengordon,  nevins-b,  oeuftete,
305245         peter-funktionIT,   rallytime,   rkgrunt,   senthilkumar-e,   sjorge,
305246         skizunov, terminalmage, twangboy)
305247
305248   Patched Packages
305249       Due to the critical nature of issue issue #41230  we  have  decided  to
305250       patch  the  2016.11.5  packages  with PR #41244. This issue affects all
305251       calls to a salt-minion if there is an ipv6 nameserver set on  the  min‐
305252       ion's host. The patched packages on repo.saltstack.com will divert from
305253       the v2016.11.5 tag and pypi packages due to the patches applied to  the
305254       packages.
305255
305256   Changelog for v2016.11.4..v2016.11.5
305257       Generated at: 2018-05-27 20:12:47 UTC
305258
305259       · PR  #41134:  (twangboy)  Fix  pkg.install  on  Windows  on  2016.11 @
305260         2017-05-09 15:10:19 UTC
305261
305262         · a10f0146a4 Merge pull request #41134 from twangboy/fix_get_msiexec
305263
305264         · d808a60129 Remove redundant if statement
305265
305266         · b4d6d5a927 Fix for version_num of None and Latest
305267
305268         · 0f31822a83 Fix problem when use_msiexec is a bool
305269
305270       · ISSUE #41100: (frogunder) Exception occurred in runner jobs.list_jobs
305271         (refs: #41102)
305272
305273       · PR  #41102:  (gtmanfred)  don't  pass  jid  to list_jobs @ 2017-05-08
305274         17:45:40 UTC
305275
305276         · 4ecab68bb9 Merge pull request #41102 from gtmanfred/2016.11
305277
305278         · 83057d0f0f don't pass jid to list_jobs
305279
305280         · 505cb45722 Merge  branch  'fix-file-blockreplace-diff-in-test-mode'
305281           of   https://github.com/L4rS6/salt   into   L4rS6-fix-file-blockre‐
305282           place-diff-in-test-mode
305283
305284         · de9f66b448 show chanages in file.blockreplace function  in  testing
305285           mode. also used same programming style as in file.managed function:
305286           (ret['changes']['diff'] = ret['pchanges']['diff'])
305287
305288       · PR #41103: (lorengordon) Adds  a  get_route()  function  to  win_net‐
305289         work.py @ 2017-05-06 06:19:42 UTC
305290
305291         · 2af89beb53 Merge pull request #41103 from lorengordon/win.get_route
305292
305293         · 93ce5644ea Adds test for win_network.get_route
305294
305295         · b9cbbc0290 Adds a get_route() function to win_network.py
305296
305297       · PR  #41098:  (rallytime)  Back-port  #41088  to  2016.11 @ 2017-05-05
305298         19:04:03 UTC
305299
305300         · PR #41088: (sjorge) Fix docs for zfs state module (refs: #41098)
305301
305302         · 2f9b5a4074 Merge pull request #41098 from rallytime/bp-41088
305303
305304         · dc6cd2ea45 Fix docs for zfs state module
305305
305306       · PR #41097: (rallytime)  Back-port  #41079  to  2016.11  @  2017-05-05
305307         19:03:43 UTC
305308
305309         · PR  #41079:  (brd)  Remove an extra colon that is causing rendering
305310           issues (refs: #41097)
305311
305312         · 2123001f32 Merge pull request #41097 from rallytime/bp-41079
305313
305314         · 845b49c304 Remove and extra colon that is causing rendering issues
305315
305316       · PR #41093: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
305317         @ 2017-05-05 17:22:09 UTC
305318
305319         · ff6fa2b120 Merge pull request #41093 from rallytime/merge-2016.11
305320
305321         · a670eaa1db Merge branch '2016.3' into '2016.11'
305322
305323         · 247400c44e Merge pull request #41083 from rallytime/git-state-fix
305324
305325           · b85ee48ff4  Git  state:  head_ref  should be head_rev in "latest"
305326             function
305327
305328       · PR  #41084:  (rallytime)   Skip   the   test_salt_documentation_argu‐
305329         ments_not_assumed test for Arch @ 2017-05-04 21:56:29 UTC
305330
305331         · PR   #41074:   (rallytime)  Skip  integration.shell.matcher.MatchT‐
305332           est.test_salt_documentation test for Arch (refs: #41084)
305333
305334         · 4c2e636cd1  Merge   pull   request   #41084   from   rallytime/dis‐
305335           able-matcher-test-arch
305336
305337         · da811fe505 Skip the correct test for the matcher tests in Arch
305338
305339         · b9d1ce9aed     Revert    "Skip    integration.shell.matcher.MatchT‐
305340           est.test_salt_documentation test for Arch"
305341
305342       · PR #41069: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
305343         @ 2017-05-04 20:34:58 UTC
305344
305345         · 1179720327 Merge pull request #41069 from rallytime/merge-2016.11
305346
305347         · 08c58919cb Merge branch '2016.3' into '2016.11'
305348
305349           · 69418092bd Merge pull request #41070 from rallytime/lint-2016.3
305350
305351             · 486e2ba62e Pylint: remove extra line in mac_system module
305352
305353         · db70b2d42e Pylint: remove extra line in mac_system module
305354
305355         · 855d157aa6 Merge branch '2016.3' into '2016.11'
305356
305357           · 3101694d71   Merge  pull  request  #41048  from  willkil/mac_sys‐
305358             tem_non_root
305359
305360             · b65b82a750 mac_system: return False for non-root user
305361
305362       · PR   #41074:   (rallytime)   Skip   integration.shell.matcher.MatchT‐
305363         est.test_salt_documentation test for Arch (refs: #41084) @ 2017-05-04
305364         19:26:16 UTC
305365
305366         · 9d638abc62  Merge   pull   request   #41074   from   rallytime/dis‐
305367           able-matcher-test-arch
305368
305369         · 9eb482d5c7 Skip integration.shell.matcher.MatchTest.test_salt_docu‐
305370           mentation test for Arch
305371
305372       · PR #41078: (Ch3LL) Add 2016.11.5  release  notes  and  change  log  @
305373         2017-05-04 19:00:58 UTC
305374
305375         · 72c854d9ac       Merge      pull      request      #41078      from
305376           Ch3LL/add_2016.11.5_release
305377
305378         · 96ed815687 Add 2016.11.5 release notes and change log
305379
305380       · PR #40879: (peter-funktionIT) Update win_pki.py @ 2017-05-04 16:12:00
305381         UTC
305382
305383         · eac8401e90 Merge pull request #40879 from peter-funktionIT/2016.11
305384
305385         · 80fa9e5b76 Update win_pki.py
305386
305387         · a48b05f158 Update win_pki.py
305388
305389         · 3a4e6d9d91 Update win_pki.py
305390
305391       · ISSUE  #40928:  (sokratisg) Orchestration runner, highstate and envi‐
305392         ronment question (refs: #41036)
305393
305394       · PR #41036: (terminalmage) Do not force effective saltenv when running
305395         states via orchestration @ 2017-05-04 15:44:14 UTC
305396
305397         · 547a9738db Merge pull request #41036 from terminalmage/issue40928
305398
305399         · 72ef34c420  Do  not force effective saltenv when running states via
305400           orchestration
305401
305402       · PR #41039: (terminalmage) Look  for  currently-running  python's  pip
305403         first @ 2017-05-04 15:43:52 UTC
305404
305405         · 6e2458e171    Merge    pull    request    #41039   from   terminal‐
305406           mage/improve-pip-bin
305407
305408         · effe8b9432 Look for currently-running python's pip first
305409
305410       · PR #41049: (Ch3LL) fix integration wheel test_gen test  @  2017-05-04
305411         15:33:59 UTC
305412
305413         · ff39613a53 Merge pull request #41049 from Ch3LL/fix_wheel_test
305414
305415         · ba223827b9 fix integration wheel test_gen test
305416
305417       · PR #41054: (terminalmage) Update package targets for Arch pkg tests @
305418         2017-05-04 14:59:42 UTC
305419
305420         · 4e4b3514b4 Merge pull request #41054  from  terminalmage/salt-jenk‐
305421           ins-315
305422
305423         · ee493bae47 Update package targets for Arch pkg tests
305424
305425       · PR #41046: (twangboy) Fix pkg.remove @ 2017-05-04 14:58:57 UTC
305426
305427         · 62dff52820 Merge pull request #41046 from twangboy/fix_pkg_remove
305428
305429         · 2af38e5564 Use target instead of version_num
305430
305431       · PR  #41045:  (terminalmage)  Clarify gitfs docs @ 2017-05-03 22:24:55
305432         UTC
305433
305434         · 2b47b7bec6  Merge  pull  request  #41045  from   terminalmage/clar‐
305435           ify-gitfs-docs
305436
305437         · c757eda331 Clarify gitfs docs
305438
305439       · PR #41032: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
305440         @ 2017-05-03 19:31:58 UTC
305441
305442         · 819007cd00 Merge pull request #41032 from rallytime/merge-2016.11
305443
305444         · d26fd0bbf4 Merge branch '2016.3' into '2016.11'
305445
305446           · b00acb0034   Merge   pull   request   #41011    from    terminal‐
305447             mage/docker-refresh-credentials
305448
305449             · b8d1dcc307 Use proposed docker-py reload_config() func
305450
305451       · ISSUE  #35699:  (jleproust) LVM state fails to add new device, volume
305452         group name is empty string (refs: #41007)
305453
305454       · PR #41007: (jleproust) Recognize LVM2 pv with empty vg  as  orphan  @
305455         2017-05-03 18:24:51 UTC
305456
305457         · d7fbd38474       Merge      pull      request      #41007      from
305458           jleproust/fix_lvm_empty_vg
305459
305460         · 3b9a845145 Recognize LVM2 pv with empty vg as orphan
305461
305462       · PR #41029: (rallytime)  Back-port  #38565  to  2016.11  @  2017-05-03
305463         17:05:10 UTC
305464
305465         · PR #38565: (drawsmcgraw) Update management of ip addresses for salt
305466           cloud azurearm module (refs: #41029)
305467
305468         · 4eab962e9e Merge pull request #41029 from rallytime/bp-38565
305469
305470         · 2df93ae3ab Update management of ip addresses. - Assign static, pri‐
305471           vate IP addresses. - Ability to not assign a public IP to a VM.
305472
305473       · PR #41012: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
305474         @ 2017-05-02 22:06:40 UTC
305475
305476         · 97500f078d Merge pull request #41012 from rallytime/merge-2016.11
305477
305478         · fc756c595c Merge branch '2016.3' into '2016.11'
305479
305480         · 19894f68ca Merge pull request #40724 from cro/minion_key_revoke_cfg
305481
305482           · cbc70195c0 Change message level when minion requests  key  revoke
305483             and feature is turned off.
305484
305485           · 65ea8997b7 Add allow_minion_key_revoke config option
305486
305487           · 8920495943  Add  config  option  to prevent minions from revoking
305488             their own keys.
305489
305490         · 129859f79b Merge pull request  #40952  from  terminalmage/fix-dock‐
305491           erng.login-docs
305492
305493           · dfbbeb5946   Fix  documentation  for  docker  login  function  in
305494             pre-nitrogen release branches
305495
305496       · PR #40726: (benediktwerner) Fixed minion keys remaining pending after
305497         auto  signing  and  fixed  typo  (Resubmitted to 2016.3) @ 2017-05-02
305498         16:57:34 UTC
305499
305500         · e210eaead4 Merge pull request #40726  from  benediktwerner/fix-min‐
305501           ions-remain-pending-after-autosign-and-typo
305502
305503         · 82c144e960  Fixed  minion keys remaining pending after auto signing
305504           and fixed typo
305505
305506       · PR #40960: (danlsgiga)  Fix  consul  module  "AttributeError:  'dict'
305507         object has no attribute 'json'" @ 2017-05-02 16:16:57 UTC
305508
305509         · 4f342e2fe5 Merge pull request #40960 from danlsgiga/2016.11
305510
305511         · 6e4cc6db47  Fix consul module "AttributeError: 'dict' object has no
305512           attribute 'json'"
305513
305514       · PR #40963: (twangboy) Fix  fullname  parameter  for  add  function  @
305515         2017-05-02 16:08:59 UTC
305516
305517         · c3b329b398 Merge pull request #40963 from twangboy/fix_win_useradd
305518
305519         · 5371b6b85e Fix fullname parameter for add function
305520
305521       · PR  #40995:  (twangboy)  Remove  unused  code  fragments @ 2017-05-02
305522         15:31:58 UTC
305523
305524         · d79c033239 Merge pull request #40995 from twangboy/remove_utils
305525
305526         · 8c01aacd9b Remove unused code fragments
305527
305528       · ISSUE #40981: (ezh) docker-events engine is broken with modern docker
305529         (refs: #40982)
305530
305531       · PR  #40991:  (rallytime)  Back-port  #40982  to  2016.11 @ 2017-05-01
305532         22:31:30 UTC
305533
305534         · PR #40982: (ezh) Fix docker_events field handling (refs: #40991)
305535
305536         · c6162876d6 Merge pull request #40991 from rallytime/bp-40982
305537
305538         · 8fcb7205db Fix docker_events field handling
305539
305540       · ISSUE #40965: (weirdbricks) salt-cloud sudo failing (refs: #40987)
305541
305542       · PR #40987:  (gtmanfred)  get  sudo_password  correctly  @  2017-05-01
305543         19:39:55 UTC
305544
305545         · 3fb24929c6 Merge pull request #40987 from gtmanfred/2016.11
305546
305547         · 2ed694cac6 get sudo_password correctly
305548
305549       · ISSUE  #40988:  (santzi) status.netdev tx_bytes is always zero (refs:
305550         #40992)
305551
305552       · PR #40992: (gtmanfred) fix bug in status.netdev @ 2017-05-01 19:38:35
305553         UTC
305554
305555         · ecbac138d1 Merge pull request #40992 from gtmanfred/netdev
305556
305557         · a9eed7f1c9 fix bug in status.netdev
305558
305559       · ISSUE #40976: (sjorge) smtp.send_msg state oddities (refs: #40993)
305560
305561       · PR  #40993:  (gtmanfred)  smtp  state  can  use  profile  or sender @
305562         2017-05-01 19:35:47 UTC
305563
305564         · d852320d34 Merge pull request #40993 from gtmanfred/smtp
305565
305566         · 068ebfd9ec smtp state can use profile or sender
305567
305568       · PR #40958: (rallytime)  Back-port  #40939  to  2016.11  @  2017-04-28
305569         18:01:17 UTC
305570
305571         · PR  #40939:  (Ch3LL)  Allow  vmware  to  query deploy arg from opts
305572           (refs: #40958)
305573
305574         · fc26fb8a05 Merge pull request #40958 from rallytime/bp-40939
305575
305576         · 3e9394862f allow vmware to query deploy arg from opts
305577
305578       · ISSUE  saltstack/salt#34640:  (nevins-b)  utils.shlex_split  removing
305579         quotes which are required for augeas (refs: #`saltstack/salt#34643`_)
305580
305581         · PR  saltstack/salt#34643:  (nevins-b)  fix  augeas  module so shlex
305582           doesn't strip quotes (refs: #38115)
305583
305584       · PR #40957: (rallytime)  Back-port  #38115  to  2016.11  @  2017-04-28
305585         18:01:02 UTC
305586
305587         · PR  #38115:  (cro) Revert "fix augeas module so shlex doesn't strip
305588           quotes" (refs: #40957)
305589
305590         · a586e12180 Merge pull request #40957 from rallytime/bp-38115
305591
305592         · eb889173b0 Revert "fix augeas module so shlex doesn't strip quotes"
305593
305594       · ISSUE #40635: (promorphus) Orchestrate + Batches returns false failed
305595         information (refs: #40905)
305596
305597       · PR  #40905:  (rkgrunt)  Fixed  issue  with  parsing  of master minion
305598         returns when batching is en… @ 2017-04-28 17:52:32 UTC
305599
305600         · 00a15eba60 Merge pull request #40905 from rkgrunt/40635
305601
305602         · 4f9c92a012 Fixed issue with parsing of master minion  returns  when
305603           batching is enabled.
305604
305605       · PR #40954: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
305606         @ 2017-04-28 16:41:49 UTC
305607
305608         · bb50d4f646 Merge pull request #40954 from rallytime/merge-2016.11
305609
305610         · 7f31e41aa6 Merge branch '2016.3' into '2016.11'
305611
305612         · 55a399583e Merge pull request #40930 from rallytime/bp-40811
305613
305614           · 3ccb553f9f get config_dir based off conf_file
305615
305616         · 7bc01be859 Merge pull request #40927 from terminalmage/docs
305617
305618           · 8c078f144c Add additional note about quoting within load_yaml
305619
305620           · 123b5cdc11 Add documentation for PyYAML's loading of time expres‐
305621             sions
305622
305623         · 7eab9c6cf4    Merge    pull    request    #40891   from   terminal‐
305624           mage/pip-installed
305625
305626           · 75e6bc0aa3 Fix two issues with pip.install
305627
305628       · ISSUE #39531: (ypid) Use yaml.safe_* instaed of yaml.load / yaml.dump
305629         / … (refs: #40751)
305630
305631       · PR #40751: (rallytime) Use Salt's SaltYamlSafeLoader and SafeOrdered‐
305632         Dumper classes for yaml.load/dump @ 2017-04-28 12:56:06 UTC
305633
305634         · 909d519ddb Merge pull request #40751 from rallytime/fix-39531
305635
305636         · 85dc4164f5 Don't change the salt.utils.jinja yaml Dumper class
305637
305638         · 4fe6ac93c6 Add extra line for lint
305639
305640         · 55cfa12975 Use salt.utils.yamldumper with SafeOderedDumper  as  the
305641           Dumper in yaml.dump
305642
305643         · 62c4d37c2f Use salt.utils.yamlloader with SaltYamlSafeLoader as the
305644           Loader with yaml.load
305645
305646       · ISSUE #37307: (szjur) Minions run every job twice and open 2  connec‐
305647         tions to the same syndic - apparently after reconnection between mas‐
305648         ters (refs: #40861)
305649
305650       · PR #40861: (DmitryKuzmenko) Don't run status.master while  minion  is
305651         failing-over.  @ 2017-04-28 12:14:56 UTC
305652
305653         · 18fdd8cc34    Merge    pull   request   #40861   from   DSRCorpora‐
305654           tion/bugs/37307_minion_run_jobs_twice
305655
305656         · f0d46d04af Don't run status.master while minion is failing-over.
305657
305658       · PR #40923: (terminalmage) aptpkg: fix temp pkg unhold when version is
305659         specified @ 2017-04-28 11:59:54 UTC
305660
305661         · 62cb7b1ae6    Merge    pull    request    #40923   from   terminal‐
305662           mage/aptpkg-install-fix-unhold
305663
305664         · 6dda4f2bc3 aptpkg: fix temp pkg unhold when version is specified
305665
305666       · ISSUE #40908: (nicksloan) If master_port is a string the minion  can‐
305667         not connect and prints an unhelpful error message (refs: #40933)
305668
305669       · ISSUE  #39118:  (bobrik)  Minion ipv6 option is not documented (refs:
305670         #39289)
305671
305672       · PR #40933: (gtmanfred) allow master_port to be a string @  2017-04-28
305673         11:54:58 UTC
305674
305675         · PR  #39289:  (bobrik)  Autodetect  IPv6 connectivity from minion to
305676           master (refs: #40933)
305677
305678         · 9d92ba7878 Merge pull request #40933 from gtmanfred/2016.11
305679
305680         · 194423c08e allow master_port to be a string
305681
305682       · ISSUE #40912: (razed11) IPV6 Warning when ipv6 set  to  False  (refs:
305683         #40934)
305684
305685       · PR  #40934: (gtmanfred) Only display IPvX warning if role is master @
305686         2017-04-28 11:53:50 UTC
305687
305688         · d5e0b8b655 Merge pull request #40934 from gtmanfred/ipv6
305689
305690         · 7855cd6ce6 Only display IPvX warning if role is master
305691
305692       · ISSUE #40881: (stamak) 2016.11 SoftLayer salt-cloud  driver  connects
305693         on private IP instead of public IP (refs: #40935)
305694
305695       · PR  #40935:  (gtmanfred)  Attempt  to connect to public ip address in
305696         softlayer @ 2017-04-28 11:43:57 UTC
305697
305698         · 8fdfe4ece6 Merge pull request #40935 from gtmanfred/softlayer
305699
305700         · d6eb11410f Attempt to connect to public ip address in softlayer
305701
305702       · PR #40936: (terminalmage) Add dockerng  fixes  to  2016.11.4  release
305703         notes @ 2017-04-27 19:54:16 UTC
305704
305705         · 7404309bec    Merge    pull    request    #40936   from   terminal‐
305706           mage/release_notes
305707
305708         · e494ae43e5 Add dockerng fixes to 2016.11.4 release notes
305709
305710       · ISSUE #33093:  (gtmanfred)  [salt-cloud][nova]  race  condition  when
305711         assigning floating ips to cloud servers (refs: #37696)
305712
305713       · PR  #40929:  (rallytime)  Back-port  #37696  to  2016.11 @ 2017-04-27
305714         17:43:26 UTC
305715
305716         · PR #37696: (SolarisYan) if vm state is not  ACTIVE,  it  will  fail
305717           (refs: #40929)
305718
305719         · a622518ad2 Merge pull request #40929 from rallytime/bp-37696
305720
305721         · 1a28722c5a Pylint fix
305722
305723         · 8e0a9864c5  if  vm state is not ACTIVE, associate floating ip to it
305724           will fail.So we should wait for state of vm  is  ACTIVE,then  asso‐
305725           ciate the assigned floating ip to it
305726
305727       · PR  #40921:  (corywright) Make salt.auth.rest heading consistent with
305728         all other salt.auth documentation @ 2017-04-27 17:36:47 UTC
305729
305730         · f88ce8e4de  Merge  pull  request  #40921  from   corywright/consis‐
305731           tent-salt-auth-headings
305732
305733         · 2995a05c2b  Make  salt.auth.rest  heading consistent with all other
305734           salt.auth documentation
305735
305736       · ISSUE #37824: (dxiri) SSLError Trying to use v3 API of Openstack New‐
305737         ton as provider. (refs: #40752)
305738
305739       · PR  #40752: (Enquier) Add ability to specify a custom SSL certificate
305740         or disable SSL verification in KeystoneAuth v3 @ 2017-04-27  17:29:09
305741         UTC
305742
305743         · 26be306b5c Merge pull request #40752 from Enquier/nova_ssl_2
305744
305745         · 817f49296e fixing lint errors in keystone auth error
305746
305747         · f683636c61 fix trailing whitespace
305748
305749         · 4a70b8c0cc  fixing  minor  error in security_groups security groups
305750           parser had incorrect split action which caused errors
305751
305752         · c9d6f8e5ed adding note in documentation
305753
305754         · c24dfe3fba adding support for cacert verification
305755
305756         · bfaf5e322d Merge pull request #5 from saltstack/2016.11
305757
305758       · ISSUE #40845: (e-senthilkumar) /jobs  call  is  broken  in  2016.11.4
305759         (refs: #40894)
305760
305761       · PR #40894: (senthilkumar-e) Fix for broken /jobs/<jid> in 2016.11.4 @
305762         2017-04-27 11:33:00 UTC
305763
305764         · 0f2ec1e1db  Merge  pull  request  #40894  from  senthilkumar-e/bro‐
305765           ken_jobs_api_fix
305766
305767         · 2f55b26e08 Fixing the pylint issue
305768
305769         · fb607bab75 Fix for broken /jobs/<jid> in 2016.11.4
305770
305771       · PR  #40876:  (BenoitKnecht)  states:  sqlite3: fix table_present with
305772         multi-line schema @ 2017-04-26 15:21:19 UTC
305773
305774         · ea55c15367      Merge      pull      request      #40876       from
305775           BenoitKnecht/fix-sqlite3-table-present-with-multiline-schema
305776
305777         · 2ca627d02d  states:  sqlite3:  fix  table_present  with  multi-line
305778           schema
305779
305780       · ISSUE #40741: (clinta) Regression in  2016.11.3.  File.managed  down‐
305781         loads every time. (refs: #40742)
305782
305783       · PR #40742: (clinta) Fix #40741 @ 2017-04-25 22:52:06 UTC
305784
305785         · e09bafdceb Merge pull request #40742 from clinta/40741
305786
305787         · 72bf5af9e6 Set sfn if cached_sum == source_sum
305788
305789       · PR  #40859:  (skizunov)  Fix TCP Transport to work with Tornado 4.5 @
305790         2017-04-25 04:29:00 UTC
305791
305792         · 5249496f74 Merge pull request #40859 from skizunov/develop2
305793
305794         · 958ecdace8 Fix TCP Transport to work with Tornado 4.5
305795
305796       · PR #40862: (gtmanfred) status should be an int @ 2017-04-24  23:11:31
305797         UTC
305798
305799         · ca80f287af Merge pull request #40862 from gtmanfred/2016.11
305800
305801         · 87ec1da771 status should be an int
305802
305803       · PR #40865: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
305804         @ 2017-04-24 23:06:28 UTC
305805
305806         · c95341959d Merge pull request #40865 from rallytime/merge-2016.11
305807
305808         · 53ad3159cc Merge branch '2016.3' into '2016.11'
305809
305810         · 2a71dc3552 Merge pull request #40854 from Ch3LL/11.4_release_2016.3
305811
305812           · 889540a313 [2016.3] Bump latest release version to 2016.11.4
305813
305814         · b5f67f0750    Merge    pull    request    #40822     from     lord‐
305815           cirth/fix-rsync-changes
305816
305817           · 1b304bb476 Extra space before inline comment
305818
305819           · ea4592de91 rsync.py: Don't return changes when clean
305820
305821       · PR #40855: (Ch3LL) [2016.11] Bump latest release version to 2016.11.4
305822         @ 2017-04-24 17:37:47 UTC
305823
305824         · 7861f12df8      Merge      pull      request      #40855       from
305825           Ch3LL/11.4_release_2016.11
305826
305827         · e7b604339d [2016.11] Bump latest release version to 2016.11.4
305828
305829       · PR #40817: (isbm) Some UT for cloud @ 2017-04-23 10:01:40 UTC
305830
305831         · 25b62aee47 Merge pull request #40817 from isbm/isbm-skip-false-val‐
305832           ues-from-preferred-ip-201611
305833
305834         · 7c5714b90b Describe debug information
305835
305836         · e0210ff8cb Reformat idents, fix typos
305837
305838         · fb777e3f3e PEP8: fix unused variable
305839
305840         · b2e85de85d Fix lint, typos and readability
305841
305842         · 116c96a4b7 Fix UT parameter changes
305843
305844         · 61558f08e7 Lintfix E0602
305845
305846         · ed84420df0 Add unit test for node ip filtering
305847
305848         · 82582cff77 Skip test, if libcloud is not around
305849
305850         · f005d53c56 Fix name error exception
305851
305852         · b668e60b4c Move out nested function for testing purposes
305853
305854         · 5e574a24d9 Add unit test for nova connector
305855
305856         · 181d0780d0 Lintfix
305857
305858         · 8e9ce1a68d Move out nested function to be unit-testable
305859
305860         · cd43805770 Add initial unit test for openstack cloud module
305861
305862         · 177f31446d Add fake preferred IP function for testing
305863
305864         · d1aeb13ac7 Move out openstack's nested function to be testable
305865
305866       · PR #40824: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
305867         @ 2017-04-21 20:03:10 UTC
305868
305869         · 50ddf219a6 Merge pull request #40824 from rallytime/merge-2016.11
305870
305871         · f31f9512b8 Merge branch '2016.3' into '2016.11'
305872
305873           · 3b9ebeb98f  Merge  pull  request #40754 from lordcirth/fix-upper‐
305874             case-checksums
305875
305876             · c80c792704 remove too many newlines for lint
305877
305878             · a7d8f375e8 file.manage_file: uppercase checksums now work
305879
305880       · PR  #40811:  (UtahDave)  get  config_dir  based  off   conf_file   if
305881         __opts__['config_dir']  doesn't  exist  (refs:  #40930)  @ 2017-04-21
305882         17:44:42 UTC
305883
305884         · d6e26d18cb Merge pull request #40811 from UtahDave/2016.11local
305885
305886         · 9f6e2e9c92 get config_dir based off conf_file
305887
305888       · PR #40820: (gtmanfred) remove  deprecated  firstgen  rackspace  cloud
305889         driver @ 2017-04-21 17:42:19 UTC
305890
305891         · ddedf05b7d Merge pull request #40820 from gtmanfred/2016.11
305892
305893         · b60a8d013a remove rackspace from index
305894
305895         · 559aa1d8b6 remove deprecated firstgen rackspace cloud driver
305896
305897       · PR #40797: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
305898         @ 2017-04-20 19:42:04 UTC
305899
305900         · 2ab42489df Merge pull request #40797 from rallytime/merge-2016.11
305901
305902         · 22500a7261 Merge branch '2016.3' into '2016.11'
305903
305904           · 623e2eb61f   Merge    pull    request    #40791    from    a-pow‐
305905             ell/s3-util-get-memory-fix
305906
305907             · 36f6521014  Merge remote-tracking branch 'upstream/2016.3' into
305908               s3-util-get-memory-fix
305909
305910             · 04637cd4eb Fixing objects being loaded into  memory  when  per‐
305911               forming a GET request with a local file specified.
305912
305913       · PR  #40800:  (rallytime)  Back-port  #40720  to  2016.11 @ 2017-04-20
305914         19:41:41 UTC
305915
305916         · PR #40720: (oeuftete) Call  tornado.httputil.url_concat  compatibly
305917           (refs: #40800)
305918
305919         · ced839f841 Merge pull request #40800 from rallytime/bp-40720
305920
305921         · 6c0124ae21 Call tornado.httputil.url_concat compatibly
305922
305923       · ISSUE  #19137:  (jeffclay) MSI installer(s) for windows minion (refs:
305924         #40716)
305925
305926       · PR #40785: (alexproca) win_pkg: backport 2016.11 add msiexec override
305927         to enable selection of 32 or 64 msiexec.exe @ 2017-04-20 16:45:14 UTC
305928
305929         · PR  #40716:  (alexproca)  win_pkg:  add  msiexec override to enable
305930           selection of 32 or 64 msiexec.exe (refs: #40785)
305931
305932         · 5388ffa7a2  Merge  pull   request   #40785   from   alexproca/back‐
305933           port-winexec-selection
305934
305935         · 91cafd5094 Add option to select 32 or 64 version of msiexec
305936
305937       · PR  #40796: (terminalmage) Fix inaccurate nodegroup docs @ 2017-04-20
305938         16:08:22 UTC
305939
305940         · f0f135c71d Merge pull request  #40796  from  terminalmage/fix-node‐
305941           group-docs
305942
305943         · f99259a6eb Fix inaccurate nodegroup docs
305944
305945       · ISSUE  #40737:  (jf)  Fix consul_pillar documentation: 'root=' canNOT
305946         start with a slash (refs: #40760)
305947
305948       · PR #40769: (rallytime)  Back-port  #40760  to  2016.11  @  2017-04-19
305949         20:23:22 UTC
305950
305951         · PR  #40760:  (jf) Fix 'root=/...' references in consul_pillar docu‐
305952           mentation: 'keys should not start with  a  forward  slash'!  (refs:
305953           #40769)
305954
305955         · d8f78550d9 Merge pull request #40769 from rallytime/bp-40760
305956
305957         · 71ac15fc4c  Fix  'root=/...' references in consul_pillar documenta‐
305958           tion: 'keys should not start with a forward slash'!
305959
305960       · PR #40756: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
305961         @ 2017-04-19 17:47:51 UTC
305962
305963         · 61f8de43df Merge pull request #40756 from rallytime/merge-2016.11
305964
305965         · 0e087323f1 Merge branch '2016.3' into '2016.11'
305966
305967         · f4f3ee69ba Merge pull request #40721 from gtmanfred/2016.3
305968
305969           · 58b88859b3 unset the bitwise instead of toggle
305970
305971       · ISSUE  #29602: (multani) cloud.action start raises "got an unexpected
305972         keyword argument 'kwargs'" (refs: #40735)
305973
305974       · PR #40735: (rallytime) Handle stacktraces in cloud.action function in
305975         module and runner @ 2017-04-18 20:05:06 UTC
305976
305977         · 3557b5140e   Merge   pull   request   #40735   from  rallytime/han‐
305978           dle-cloud-traces
305979
305980         · 87154a95a4 Use log.error instead of log.err
305981
305982         · b35bf919a3 Handle stacktraces in cloud.action  function  in  module
305983           and runner
305984
305985       · PR  #40745: (cro) Backport Add support for specifying a datastore for
305986         new disks. PR #36457 @ 2017-04-18 20:00:51 UTC
305987
305988         · PR #36457: (cro) Add support for specifying  a  datastore  for  new
305989           disks. (refs: #40745)
305990
305991         · e700d8183b  Merge  pull  request #40745 from cro/vmware_disk_datas‐
305992           tore_bp
305993
305994         · 1460f82ce4 Remove leftover conflict markers (oops! :-/ )
305995
305996         · b26be652dd Remove leftover conflict markers (oops! :-/ )
305997
305998         · 096f063464 Remove leftover conflict markers (oops! :-/ )
305999
306000         · d24078d1a0 Add docs for "datastore" param for disks
306001
306002         · 500d6b281d Document validity of a datastore key inside a disk defi‐
306003           nition.
306004
306005         · 7608b10225 Add support for specifying a datastore for new disks.
306006
306007       · PR  #40740:  (cro)  Backport  pr #39802 to add random_startup_delay @
306008         2017-04-18 19:47:55 UTC
306009
306010         · PR #39802: (cachedout) A random startup delay  option  for  minions
306011           (refs: #40740)
306012
306013         · 78dbab01dc Merge pull request #40740 from cro/minion_delay_start
306014
306015         · 2ab95b7dd5 Set minion test to use default opts
306016
306017         · 785e6060a9 Add requested docs
306018
306019         · 8ab321f934 A random startup delay option for minions
306020
306021       · PR #40728: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
306022         @ 2017-04-17 21:13:15 UTC
306023
306024         · a48ecc4a5c Merge pull request #40728 from rallytime/merge-2016.11
306025
306026         · 0a5e05a6e5 Merge branch '2016.3' into '2016.11'
306027
306028         · bf8bb0fde6 Merge pull request #40719 from rallytime/bp-40714
306029
306030           · d6c436246b Make salt.modules.pw_user.get_loginclass return string
306031             rather than dict
306032
306033         · 4145d33e46  Merge  pull  request  #40718 from terminalmage/fix-doc‐
306034           string
306035
306036         · 14e8b85da5 Fix copypasta in the pw_user docstring
306037
306038       · ISSUE #36967: (gmykhailiuta) S3fs objects list gets truncated  (refs:
306039         #40707)
306040
306041       · PR #40707: (gtmanfred) Use markers when s3 bucket list is truncated @
306042         2017-04-17 16:45:21 UTC
306043
306044         · c5cbfc2e63 Merge pull request #40707 from gtmanfred/2016.11
306045
306046         · 1932f7265d Use markers when s3 bucket list is truncated
306047
306048   Salt 2016.11.6 Release Notes
306049       Version 2016.11.6 is a bugfix release for 2016.11.0.
306050
306051   Statistics
306052       · Total Merges: 137
306053
306054       · Total Issue References: 58
306055
306056       · Total PR References: 153
306057
306058       · Contributors:  49  (BenoitKnecht,  Ch3LL,   Enquier,   F30,   Foxlik,
306059         The-Loeki,      UtahDave,      abednarik,     alex-zel,     arif-ali,
306060         automate-solutions, axmetishe, bdrung, cachedout,  cro,  darenjacobs,
306061         dmurphy18,    dschaller,    epcim,   garethgreenaway,   github-abcde,
306062         gtmanfred, isbm,  jettero,  jmarinaro,  kiorky,  lomeroe,  lordcirth,
306063         lorengordon,  lubyou,  mcalmer,  moio,  onlyanegg,  peter-funktionIT,
306064         pkazmierczak,  pprkut,   rallytime,   ricohouse,   seanjnkns,   sebw,
306065         skizunov,   svinota,   t0fik,   terminalmage,  tmeneau,  tonybaloney,
306066         twangboy, whiteinge, yannj-fr)
306067
306068   Changelog for v2016.11.5..v2016.11.6
306069       Generated at: 2018-05-27 20:18:17 UTC
306070
306071       · PR #41861: (twangboy) Fix problems with get_rule  and  delete_rule  @
306072         2017-06-20 20:37:23 UTC
306073
306074         · afc61ffe63 Merge pull request #41861 from twangboy/fix_win_firewall
306075
306076         · 78892074f5 Fix problems with get_rule and delete_rule
306077
306078       · ISSUE  #41778:  (frogunder) 2016.11.6 - TCP Transport gives Exception
306079         (refs: #41787)
306080
306081       · PR #41787: (skizunov) Fix #41778 @ 2017-06-20 20:11:23 UTC
306082
306083         · PR #41436: (skizunov) TCP transport:  Fix  occasional  errors  when
306084           using salt command (refs: #41787)
306085
306086         · 938d4fddf1 Merge pull request #41787 from skizunov/develop3
306087
306088         · 2ffd20cede Fix #41778
306089
306090       · PR  #41812:  (skizunov)  TCP:  Fix salt-master in bad state if remote
306091         side closed connection @ 2017-06-20 19:46:53 UTC
306092
306093         · 03b6ae5ea8 Merge pull request #41812 from skizunov/develop4
306094
306095         · 736420eb83 TCP: Fix salt-master in bad state if remote side  closed
306096           connection
306097
306098       · PR  #41857: (dmurphy18) Modified support for deprecated netstat being
306099         removed by utilizing ss @ 2017-06-20 18:46:27 UTC
306100
306101         · cf2252bcea Merge pull request #41857 from dmurphy18/netstat_fix
306102
306103         · 017fbdbc53 Modified support for deprecated netstat being removed by
306104           utilizing ss
306105
306106       · ISSUE  #40878: (joewreschnig) SSH modules spam warning about MD5 fin‐
306107         gerprints when there aren't any (refs: #41837)
306108
306109       · ISSUE #40005: (vutny) ssh_known_hosts.present does not support SHA256
306110         key fingerprints (refs: #40543)
306111
306112       · PR  #41837:  (rallytime)  Add fingerpint_hash_type option to ssh_auth
306113         state and related functions @ 2017-06-20 18:14:53 UTC
306114
306115         · PR #40543: (rallytime) Add the  "fingerprint_hash_type"  option  to
306116           ssh state and module (refs: #41837)
306117
306118         · 12ec5f9f23 Merge pull request #41837 from rallytime/fix-40878
306119
306120         · 48ff5d2a62  Add  fingerpint_hash_type  option to ssh_auth state and
306121           related functions
306122
306123       · PR #41839: (cro) Extend proxy to jinja @ 2017-06-19 23:03:00 UTC
306124
306125         · e7fc30f482 Merge pull request #41839 from cro/extend_proxy_to_jinja
306126
306127         · 172d3520ea     Merge     branch     'extend_proxy_to_jinja'      of
306128           github.com:cro/salt into extend_proxy_to_jinja
306129
306130           · 2e4a0633da   Extend   __proxy__   to   jinja   as   proxy   (like
306131             __salt__->salt)
306132
306133         · 2ffad2af35 Extend __proxy__ to jinja as proxy (like __salt__->salt)
306134
306135       · ISSUE #41733: (sumeetisp) Salt Rest Api call (refs: #41786)
306136
306137       · ISSUE #40845: (e-senthilkumar) /jobs  call  is  broken  in  2016.11.4
306138         (refs: #41786)
306139
306140       · ISSUE   #38962:  (gstachowiak)  Broken  /jobs  in  salt-api  in  salt
306141         2016.11.1 (Carbon) (refs: #39472)
306142
306143       · PR #41786: (whiteinge) Runner arg parsing  regressions  @  2017-06-19
306144         23:00:07 UTC
306145
306146         · PR  #39472: (whiteinge) Update _reformat_low to not run kwarg dicts
306147           through parse_input (refs: #41786)
306148
306149         · 58387b127a  Merge   pull   request   #41786   from   whiteinge/run‐
306150           ner-arg-parsing-regressions
306151
306152         · bf15c0bb5f  Restore  sending __current_eauth_* through to the func‐
306153           tion
306154
306155         · 6be975da2c Fix regressions from not calling load_args_and_kwargs
306156
306157         · 9d1cc1a176 Add test to check that runners ignore invalid kwargs
306158
306159       · PR #41776: (gtmanfred) npm 5.0.0 added a second line after fsevents @
306160         2017-06-19 16:53:43 UTC
306161
306162         · be0e9abedb Merge pull request #41776 from gtmanfred/2016.11
306163
306164         · 733a2279ca npm 5.0.0 added a second line after fsevents
306165
306166       · ISSUE  #32400:  (rallytime)  Document  Default  Config  Values (refs:
306167         #41783)
306168
306169       · PR #41783: (rallytime) Add a bunch of config options to  the  various
306170         master/minion files that are missing @ 2017-06-19 16:42:54 UTC
306171
306172         · d94d4e4d19   Merge   pull   request   #41783   from  rallytime/con‐
306173           fig-doc-updates
306174
306175         · c828ad803a Add a bunch of config options to the various master/min‐
306176           ion files that are missing
306177
306178       · PR  #41816:  (twangboy)  Upgrade psutil to version 5.2.2 @ 2017-06-17
306179         01:51:29 UTC
306180
306181         · 2c681887d3 Merge  pull  request  #41816  from  twangboy/update_psu‐
306182           til_req
306183
306184         · 8b4e3ad77d Upgrade psutil to version 5.2.2
306185
306186       · ISSUE  #41785:  (UtahDave)  Using  master tops without a top.sls file
306187         causes extra errors in minion log (refs: #41803)
306188
306189       · PR #41803: (terminalmage) Don't log an error when no top.sls is found
306190         @ 2017-06-16 22:49:08 UTC
306191
306192         · 3e5fe7ca4b Merge pull request #41803 from terminalmage/issue41785
306193
306194         · f9f4d49f05 Don't log an error when no top.sls is found
306195
306196       · PR  #41801:  (terminalmage)  Don't take hostname from name param when
306197         creating docker container (2016.11 branch) @ 2017-06-16 17:02:02 UTC
306198
306199         · d12bc4ee68   Merge   pull    request    #41801    from    terminal‐
306200           mage/issue41781-2016.11
306201
306202         · 8236d3e1c3 Don't take hostname from name param when creating docker
306203           container (2016.11 branch)
306204
306205       · PR #41768: (rallytime) Manually back-port the changes in PR #41615  @
306206         2017-06-15 20:41:45 UTC
306207
306208         · PR  #41615:  (Ch3LL)  Fix  get_hwclock_aix  test  on  MacOSX (refs:
306209           #41768)
306210
306211         · 87e2e72d94 Merge pull request #41768 from rallytime/bp-41615
306212
306213         · b6cc0b6bf0 Manually backport the changes in PR #41615
306214
306215       · PR #41740: (terminalmage) Fix spurious error when glob/regex used  in
306216         publisher_acl @ 2017-06-15 15:14:56 UTC
306217
306218         · 36cb223ab2 Merge pull request #41740 from terminalmage/zd1532
306219
306220         · e5f3d08751 Fix spurious error when glob/regex used in publisher_acl
306221
306222       · PR  #41749: (terminalmage) Fix bug in pkg_resource.parse_targets when
306223         version passed @ 2017-06-15 15:05:52 UTC
306224
306225         · 126a36747b Merge pull request #41749  from  terminalmage/parse_tar‐
306226           gets
306227
306228         · 698806fb09 No need to manually create pkg_params dict when name and
306229           version passed
306230
306231         · 7484bcc6c6 parse_targets: include version in packed return data
306232
306233       · PR #41753: (rallytime)  Back-port  #41449  to  2016.11  @  2017-06-14
306234         22:16:10 UTC
306235
306236         · PR  #41449:  (sebw) Fix state "svn.latest" diff output in test mode
306237           (refs: #41753)
306238
306239         · 2c24012ded Merge pull request #41753 from rallytime/bp-41449
306240
306241         · fae41c2875 Adjusting SVN unit test
306242
306243         · eac6b151eb Improved SVN output in test mode
306244
306245       · PR #41750: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
306246         @ 2017-06-14 22:15:41 UTC
306247
306248         · e685858269 Merge pull request #41750 from rallytime/merge-2016.11
306249
306250         · 89834e49c2 Merge branch '2016.3' into '2016.11'
306251
306252           · c5a79a1ea6  Merge pull request #41695 from xiaoanyunfei/fixRecur‐
306253             sion
306254
306255             · c54fde69a0 fix spell error
306256
306257             · bc855b4711 fix swallow exception
306258
306259             · c0b1f57fc0 add exception
306260
306261             · aacf9f0a44 fix  maximum recursion depth exceeded
306262
306263           · 4b43ba3366 Merge pull request  #41585  from  cro/sign_minion_mes‐
306264             sages
306265
306266             · 628f709c3c Correct test--caching requires files on disk but the
306267               test just supplies what would have been read from disk.
306268
306269             · 687872a488 Lint
306270
306271             · dadf4b851c Add documentation to the example master  and  minion
306272               configuration  files.  Move  minion  event  signing  to a saner
306273               place. Enable dropping messages when signature does not  verify
306274               or when minion is not adding the signature to its payloads.
306275
306276             · e44673cdae Add caching of key.
306277
306278             · c3917d1e91 Fat finger fix.
306279
306280             · 3b9326fda7 Sign_minion_messages support
306281
306282       · PR  #41756:  (Ch3LL)  Add  Change  Log  to  2016.11.6 Release Notes @
306283         2017-06-14 20:57:08 UTC
306284
306285         · 36cc8f1e35 Merge pull request #41756 from Ch3LL/2016.11.6_release
306286
306287         · fa368f21ac Add Change Log to 2016.11.6 Release Notes
306288
306289       · ISSUE #40155: (grichmond-salt) State module boto_vpc not working with
306290         boto 2 (refs: #41692)
306291
306292       · PR  #41692:  (rallytime)  Add  boto and boto3 version dependencies to
306293         boto_vpc state docs @ 2017-06-14 19:05:07 UTC
306294
306295         · edcafc6a26 Merge pull request #41692 from rallytime/fix-40155
306296
306297         · 539c1b0692 Add boto and  boto3  version  dependencies  to  boto_vpc
306298           state docs
306299
306300       · ISSUE  #39918: (kivoli) Enabling list merging leads to multiplying of
306301         unique list items (refs: #40902)
306302
306303       · PR #40902: (lorengordon) Removes duplicates when merging pillar lists
306304         and  adds  pillar.get  override  for  pillar_merge_lists @ 2017-06-14
306305         18:39:09 UTC
306306
306307         · bdaeb55a77  Merge  pull  request   #40902   from   lorengordon/pil‐
306308           lar-get-merge-lists
306309
306310         · 6e35673fe3 Preserves order when removing duplicates
306311
306312         · 18eda7084c  Updates  list  merge  tests to check for sorted, unique
306313           lists
306314
306315         · 74bf91f99e Sorts the list when removing duplicates
306316
306317         · 26a4b1b17f Adds pillar.get param to  control  list  merge/overwrite
306318           behavior
306319
306320         · ed04bae94c Removes duplicate values when merging lists
306321
306322       · ISSUE  #32743: (tonybaloney) Issue with salt-cloud on OpenSUSE (refs:
306323         #41723)
306324
306325       · PR #41723: (rallytime) Support apache-libcloud work-around for  issue
306326         #32743 for versions older than 2.0.0 @ 2017-06-14 17:13:38 UTC
306327
306328         · PR #40837: (tonybaloney) Upgrade apache-libcloud package dependency
306329           for 2.0 (refs: #41723)
306330
306331         · 203ec6730f Merge pull request #41723  from  rallytime/libcloud-sup‐
306332           port
306333
306334         · 1e9a06000b  Bump version check down to 1.4.0 and use distutils.ver‐
306335           sion lib
306336
306337         · a30f654b04 Support apache-libcloud work-around for issue #32743 for
306338           versions older than 2.0.0
306339
306340       · ISSUE   #41654:   (Enquier)   Nova  Cloud  module  doesn't  work  for
306341         python-novaclient 8.0.0+ (refs: #41655)
306342
306343       · PR #41655: (Enquier) Allow Nova cloud module to set a specific float‐
306344         ing ip address @ 2017-06-14 16:44:05 UTC
306345
306346         · 62dbf5083c       Merge      pull      request      #41655      from
306347           Enquier/nova-cloud-set_ip_address
306348
306349         · 293bc64158 Removed empty debug log
306350
306351         · 3d9871fe11 Cleaning up, removing debugging tests
306352
306353         · c78e5feea9 Fixing error message
306354
306355         · 404dffb6b8 Debugging variable format
306356
306357         · 6fa3b976a5 removing string call
306358
306359         · 005995e1b0 modifying variable calls
306360
306361         · 9e5e7a38ec Testing variable changes
306362
306363         · 05e240f37f Debugging Format of floating_ip variable
306364
306365         · 366aca00a8 Adding Max version check for Nova since Cloud no  longer
306366           operates at higher versions
306367
306368         · 6f66c9d10c Fixing response of  floating_ip_show to align with other
306369           floating ip's. Spelling fix
306370
306371         · 58459adbe8 Adding ability to set a Floating IP  by  a  specific  IP
306372           address
306373
306374       · PR  #41731:  (terminalmage)  Clarify  that archive_format is required
306375         pre-2016.11.0 @ 2017-06-14 15:05:21 UTC
306376
306377         · 82eab84883 Merge pull request #41731 from terminalmage/docs
306378
306379         · d3f4ea1a84 Clarify that archive_format is required pre-2016.11.0
306380
306381       · PR #41663: (skizunov) Don't invoke lspci if enable_lspci is  False  @
306382         2017-06-13 21:19:42 UTC
306383
306384         · b6d27beac2 Merge pull request #41663 from skizunov/develop3
306385
306386         · 154d6ce59e Don't invoke lspci if enable_lspci is False
306387
306388       · ISSUE  #40446: (sumeetisp) [Documentation] include list of kwargs for
306389         ec2.create_volume in cloud driver (refs: #41693)
306390
306391       · PR #41693: (rallytime) Document available kwargs for  ec2.create_vol‐
306392         ume function @ 2017-06-13 19:51:10 UTC
306393
306394         · 46b8d5dc4b Merge pull request #41693 from rallytime/fix-40446
306395
306396         · 569eb2bf7e Document available kwargs for ec2.create_volume function
306397
306398       · ISSUE  #41691: (jdonofrio728) Can't pass integers as cmd.run environ‐
306399         ment variables (refs: #41696)
306400
306401       · PR  #41696:  (terminalmage)  Handle  a  few  edge/corner  cases  with
306402         non-string input to cmd.run @ 2017-06-13 18:48:56 UTC
306403
306404         · aab55d304a Merge pull request #41696 from terminalmage/issue41691
306405
306406         · 0623e40d33 Apparently some funcs are passing tuples to cmd.run_*
306407
306408         · cdbfb94cfe  Handle a few edge/corner cases with non-string input to
306409           cmd.run
306410
306411       · PR #41697: (terminalmage) Resubmit #41545 against  2016.11  branch  @
306412         2017-06-13 16:10:37 UTC
306413
306414         · PR #41545: (kiorky) Make print_cli resilient on slow systems (refs:
306415           #41697)
306416
306417         · 97897d7a7a Merge pull request #41697 from terminalmage/pr-41545
306418
306419         · faaacf88bf Use error name instead of error number
306420
306421         · 7eacda5cbf Make print_cli resilient on slow systems
306422
306423       · ISSUE #40605: (sumeetisp) Salt-run manage.bootstrap (refs: #41711)
306424
306425       · PR #41711: (rallytime) Update deprecated version info in manage.boot‐
306426         strap func for root_user @ 2017-06-13 16:04:32 UTC
306427
306428         · 09260d7c08 Merge pull request #41711 from rallytime/fix-40605
306429
306430         · 903c2ffca5  Update deprecated version info in manage.bootstrap fucn
306431           for root_user
306432
306433       · ISSUE #39668: (mirceaulinic) Master scheduled job not recorded on the
306434         event bus (refs: #41658)
306435
306436       · PR #41658: (garethgreenaway) Fixes to the salt scheduler @ 2017-06-13
306437         16:00:57 UTC
306438
306439         · d563b3e345   Merge   pull   request   #41658   from    garethgreen‐
306440           away/39668_schedule_runners_fire_events
306441
306442         · d688a1cd88 Enable jobs scheduled on the master to fire their return
306443           data to the event bus
306444
306445       · PR #41706: (twangboy) Add missing batch files @  2017-06-13  15:32:53
306446         UTC
306447
306448         · 3c3b9343b7 Merge pull request #41706 from twangboy/batch_files
306449
306450         · 0d4be0220b Add batch files for master
306451
306452       · PR #41710: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
306453         @ 2017-06-13 15:11:38 UTC
306454
306455         · 1afc4adc5a Merge pull request #41710 from rallytime/merge-2016.11
306456
306457         · 5150916556 Merge branch '2016.3' into '2016.11'
306458
306459         · 5058b0de1f  Merge  pull  request  #41707   from   terminalmage/mas‐
306460           ter-tops-docs
306461
306462           · 6ec9dfb7f3 Update version in master-tops docs
306463
306464         · 1c1964d807 Merge pull request #41689 from yannj-fr/fix-41688
306465
306466           · a47eddccd2 Fix #41688 : fix mkfs command linux-swap support
306467
306468       · PR  #41702:  (gtmanfred) npm 5 and greater requires --force for cache
306469         clean @ 2017-06-12 23:21:56 UTC
306470
306471         · 5d763b9b7f Merge pull request #41702 from gtmanfred/2016.11
306472
306473         · 8bd19fcc17 fix version number
306474
306475         · 0fa380f75c npm 5 and greater requires --force for cache clean
306476
306477       · ISSUE #41668: (yannj-fr) Parted modules mkfs command  does  not  work
306478         with NTFS (refs: #41670)
306479
306480       · PR  #41704:  (rallytime)  Back-port  #41670  to  2016.11 @ 2017-06-12
306481         23:20:31 UTC
306482
306483         · PR #41670: (yannj-fr) fixes #41668 ntfs case problem in parted mod‐
306484           ule (refs: #41704)
306485
306486         · f6519e7f80 Merge pull request #41704 from rallytime/bp-41670
306487
306488         · 8afc8792d1 fixes #41668 ntfs case problem in parted module
306489
306490       · ISSUE  #39939:  (martinschipper)  Relative  symlinks are changed with
306491         file.recurse 2016.11.3 (refs: #41700)
306492
306493       · PR #41700: (terminalmage) roots: return actual link destination  when
306494         listing symlinks @ 2017-06-12 22:07:03 UTC
306495
306496         · 0b89377dce Merge pull request #41700 from terminalmage/issue39939
306497
306498         · bdbb265a0b  roots: return actual link destination when listing sym‐
306499           links
306500
306501       · PR #41699: (rallytime) Remove note about version incompatibility with
306502         salt-cloud @ 2017-06-12 19:44:28 UTC
306503
306504         · 7cf47f9651  Merge  pull request #41699 from rallytime/troubleshoot‐
306505           ing-doc-update
306506
306507         · c91ca5f809  Remove  note   about   version   incompatibility   with
306508           salt-cloud
306509
306510       · ISSUE  #40410:  (DarrenDai) Targeting Minions by IP Range via restful
306511         API doesn't work (refs: #41694)
306512
306513       · PR #41694: (rallytime) Add ipcidr options to "Allowed Values" list in
306514         LocalClient expr_form docs @ 2017-06-12 19:06:16 UTC
306515
306516         · d68a6316b8 Merge pull request #41694 from rallytime/fix-40410
306517
306518         · 6de9da1d5d  Add  ipcidr  options to "Allowed Values" list in Local‐
306519           Client expr_form docs
306520
306521       · ISSUE #41365: (lubyou) file.managed  chokes  on  windows  paths  when
306522         source_hash  is  set  to  the URI of a file that contains source hash
306523         strings (refs: #41659)
306524
306525       · PR #41659: (lubyou) Use re.escape to escape paths before handing them
306526         to re.match @ 2017-06-12 18:10:53 UTC
306527
306528         · 80d4a3ab98       Merge      pull      request      #41659      from
306529           lubyou/41365-fix-file-managed
306530
306531         · d49a1579b0 Use re.escape to escape paths, before  handing  them  to
306532           re.match
306533
306534         · ac240facca use correct variable
306535
306536         · c777eba2c1  Use  re.escape  to escape paths, before handing them to
306537           re.match
306538
306539       · PR #41661: (whiteinge) Add note about avoiding the -i  flag  for  the
306540         /keys endpoint @ 2017-06-09 15:03:40 UTC
306541
306542         · 564d5fd9d3  Merge  pull  request  #41661  from whiteinge/rest_cher‐
306543           rypy-keys-headers
306544
306545         · a66ffc9d3e Add note about avoiding the -i flag for the  /keys  end‐
306546           point
306547
306548       · ISSUE  #41651:  (Sakorah)  pkg.installed  fails  when  unholding  and
306549         test=true (refs: #41660)
306550
306551       · PR #41660: (garethgreenaway) Fix to modules/aptpkg.py  for  unheld  @
306552         2017-06-09 14:53:23 UTC
306553
306554         · 38424f3e3e    Merge   pull   request   #41660   from   garethgreen‐
306555           away/41651_fixing_aptpkg_held_unheld_with_test
306556
306557         · 30da2370a4 Fix when  test=True  and  packages  were  being  set  to
306558           unheld.
306559
306560       · PR  #41656:  (rallytime)  Back-port  #41575  to  2016.11 @ 2017-06-08
306561         22:43:23 UTC
306562
306563         · PR #41575: (dschaller) Fix 41562 (refs: #41656)
306564
306565         · a308b960d8 Merge pull request #41656 from rallytime/bp-41575
306566
306567         · 4374e6b034 Replace "tbd" with release version information
306568
306569         · 81413896d1 Lint: Add index numbers to format {} calls
306570
306571         · 384570384e only list top level npm modules during {un)install
306572
306573       · PR #41456: (bdrung) Fix pkgrepo.managed  always  return  changes  for
306574         test=true @ 2017-06-08 18:21:05 UTC
306575
306576         · e6d37b5f3e  Merge  pull request #41456 from bdrung/fix-pkgrepo.man‐
306577           aged-changes-check
306578
306579         · d3ce7bf05f Fix pkgrepo.managed always return changes for test=true
306580
306581         · 1592687294 Document aptpkg architectures parameter
306582
306583       · ISSUE #41478: (jf) security / information  leak  with  consul  pillar
306584         when subsitution values are not present (refs: #41530)
306585
306586       · PR  #41530:  (gtmanfred)  Set  default  for  consul_pillar  to None @
306587         2017-06-08 18:13:15 UTC
306588
306589         · 721e5b6cb9 Merge pull request #41530 from gtmanfred/2016.11
306590
306591         · 2a4633ce16 Set default for consul_pillar to None
306592
306593       · ISSUE #41629: (lubyou) salt.states.cmd.script:  Parameter  "args"  is
306594         overwritten if "name/id" contains spaces (refs: #41638)
306595
306596       · PR #41638: (gtmanfred) don't overwrite args if they are passed to the
306597         script @ 2017-06-08 17:48:48 UTC
306598
306599         · 8926d1c731 Merge pull request #41638 from gtmanfred/cmdscript
306600
306601         · 6c7d68b97d don't overwrite args if they are passed to the script
306602
306603       · PR #41639: (dmurphy18) Update notrim check, netstat takes minutes  if
306604         large number connections @ 2017-06-07 23:03:24 UTC
306605
306606         · ecb09b8694  Merge  pull  request  #41639 from dmurphy18/minion_net‐
306607           stat_check
306608
306609         · 7ab3319090 Update notrim check, netstat takes minutes if large num‐
306610           ber connections - 260K
306611
306612       · ISSUE  #38894: (amendlik) salt.runner and salt.wheel ignore test=True
306613         (refs: #41309, #41611)
306614
306615       · PR #41611: (garethgreenaway) Additional fixes to states/saltmod.py  @
306616         2017-06-07 22:58:24 UTC
306617
306618         · 2913a33b27    Merge   pull   request   #41611   from   garethgreen‐
306619           away/41309_right_return_res
306620
306621         · fda41ede76 Updating result values to be None for test cases.
306622
306623         · 003f2d9323 Following the documentation, when passed  the  test=True
306624           argument  the  runner  and  wheel  functions should return a result
306625           value of False.
306626
306627       · ISSUE #41626: (ruiaylin) When onlyif and bg  are  used  together  the
306628         (refs: #41637)
306629
306630       · PR #41637: (gtmanfred) never run bg for onlyif or unless cmd states @
306631         2017-06-07 17:37:47 UTC
306632
306633         · 334a5fc2a0 Merge pull request #41637 from gtmanfred/cmd
306634
306635         · 40fb6c6249 never run bg for onlyif or unless cmd states
306636
306637       · PR  #41255:  (lordcirth)  linux_syctl.default_config():  only  return
306638         path, don't create it @ 2017-06-07 14:13:07 UTC
306639
306640         · 34dd9ea862     Merge     pull    request    #41255    from    lord‐
306641           cirth/fix-sysctl-test-11
306642
306643         · 0089be4440 linux_sysctl: use dirname() as suggested
306644
306645         · 262d95e41d linux_syctl.default_config(): only  return  path,  don't
306646           create it
306647
306648         · 277232b3ac linux_sysctl.persist(): create config dir if needed
306649
306650       · ISSUE  #35481:  (giany)  global_identifier  does  not work when using
306651         Softlayer driver (refs: #41551)
306652
306653       · PR #41616: (rallytime)  Back-port  #41551  to  2016.11  @  2017-06-06
306654         22:44:09 UTC
306655
306656         · PR #41551: (darenjacobs) Update __init__.py (refs: #41616)
306657
306658         · 4cf577771b Merge pull request #41616 from rallytime/bp-41551
306659
306660         · 53bca96328 Update __init__.py
306661
306662       · PR  #41552: (Enquier) Adding logic so that update_floatingip can dis‐
306663         sassociate floatingip's @ 2017-06-06 18:25:56 UTC
306664
306665         · 846ca54688 Merge pull request  #41552  from  Enquier/neutron-float‐
306666           ingip-remove
306667
306668         · aeed51c1e3 Adding port=None default and documentation
306669
306670         · fcce05e1e4 Adding logic so that update_floatingip can dissassociate
306671           floatingip's Previously update_floatingip would cause an  error  if
306672           port is set to None.
306673
306674       · PR  #41569:  (gtmanfred)  Check  all  entries  in result @ 2017-06-06
306675         18:18:17 UTC
306676
306677         · b720ecb732    Merge    pull    request    #41569    from     gtman‐
306678           fred/fix_test_result_check
306679
306680         · 19ea5481b6 remove test that never passed
306681
306682         · e2a4d5e1e2 Check all entries in result
306683
306684       · ISSUE #41540: (UtahDave) archive.extracted fails on second run (refs:
306685         #41599)
306686
306687       · PR #41599: (garethgreenaway) Fixes to modules/archive.py @ 2017-06-06
306688         18:02:14 UTC
306689
306690         · d9546c6283    Merge   pull   request   #41599   from   garethgreen‐
306691           away/41540_fixes_to_archive_module
306692
306693         · 66a136e6d8 Fixing issues raised in #41540 when a zip file  is  cre‐
306694           ated  on a Windows system.  The issue has two parts, first directo‐
306695           ries that  end  up  in  the  archive  end  up  in  the  results  of
306696           aarchive.list  twice  as they show up as both files and directories
306697           because of the logic to handle the fact that Windows  doesn't  mark
306698           them as directories.  This issue shows up when an extraction is run
306699           a second time since the module verified the file types and the sub‐
306700           directory  is  not  a file.  The second issue is related to permis‐
306701           sions, if Salt  is  told  to  extract  permissions  (which  is  the
306702           default) then the directory and files end up being unreadable since
306703           the permissions are not available.  This change  sets  the  permis‐
306704           sions to what the default umask for the user running Salt is.
306705
306706       · ISSUE #40950: (idokaplan) Import certificate (refs: #41453, #41383)
306707
306708       · PR #41453: (peter-funktionIT) Update win_pki.py @ 2017-06-06 17:15:55
306709         UTC
306710
306711         · PR #41383: (peter-funktionIT) Update win_pki.py (refs: #41453)
306712
306713         · 10ac80ee96   Merge   pull   request   #41453    from    peter-funk‐
306714           tionIT/fix_win_pki_state_import_cert
306715
306716         · d146fd029c Update win_pki.py
306717
306718         · ef8e3ef569 Update win_pki.py
306719
306720       · PR #41557: (dmurphy18) Add symbolic link for salt-proxy service simi‐
306721         lar to other serivce files @ 2017-06-06 17:13:52 UTC
306722
306723         · 3335fcbc7d Merge pull request #41557 from  dmurphy18/fix-proxy-ser‐
306724           vice
306725
306726         · ffe492d6a9  Add  symbolic  link salt-proxy service similar to other
306727           service files
306728
306729       · PR #41597: (rallytime)  Back-port  #41533  to  2016.11  @  2017-06-06
306730         15:15:09 UTC
306731
306732         · PR  #41533:  (svinota) unit tests: add pyroute2 interface dict test
306733           (refs: #41597)
306734
306735         · 65ed230f45 Merge pull request #41597 from rallytime/bp-41533
306736
306737         · 535b8e8d8e Update new pyroute2 unit test to  conform  with  2016.11
306738           branch standards
306739
306740         · 5c86dee73c unit tests: test_pyroute2 -- add skipIf
306741
306742         · 026b39493f unit tests: add encoding clause into test_pyroute2
306743
306744         · 9ab203d54b unit tests: fix absolute imports in test_pyroute2
306745
306746         · 1f507cfa7a unit tests: add pyroute2 interface dict test
306747
306748       · PR  #41596:  (rallytime)  Back-port  #41487  to  2016.11 @ 2017-06-06
306749         02:44:17 UTC
306750
306751         · PR #41487: (svinota) clean up change attribute from interface  dict
306752           (refs: #41596)
306753
306754         · bf8aed153d Merge pull request #41596 from rallytime/bp-41487
306755
306756         · 7b497d9ec6 clean up change attribute from interface dict
306757
306758       · ISSUE  #41435:  (seanjnkns)  2016.11: Keystone.endpoint_present over‐
306759         writes all interfaces (refs: #41509)
306760
306761       · PR #41509: (seanjnkns) Add keystone V3 API support for  keystone.end‐
306762         point_present|absent @ 2017-06-03 03:01:05 UTC
306763
306764         · cc6c98a8d8   Merge  pull  request  #41509  from  seanjnkns/fix-key‐
306765           stone-v3-endpoint_present
306766
306767         · 095e5949a3 Fix unit tests for PR #41509
306768
306769         · eb7ef3c856  Add  keystone  V3   API   support   for   keystone.end‐
306770           point_present|get, endpoint_absent|delete.
306771
306772       · ISSUE  #38061: (Ch3LL) x509.crl_managed ValueError when digest is not
306773         specified in the module (refs: #41539)
306774
306775       · PR #41539: (gtmanfred) allow digest  to  be  empty  in  create_crl  @
306776         2017-06-02 17:00:04 UTC
306777
306778         · 0a08649637 Merge pull request #41539 from gtmanfred/x509
306779
306780         · 0989be8919 allow digest to be empty in create_crl
306781
306782       · ISSUE  #41154:  (mephi42) archive.extracted outputs password embedded
306783         in archive URL (refs: #41561)
306784
306785       · PR #41561: (terminalmage) Redact HTTP  basic  authentication  in  ar‐
306786         chive.extracted @ 2017-06-02 15:33:14 UTC
306787
306788         · 3ae8336895 Merge pull request #41561 from terminalmage/issue41154
306789
306790         · cbf8acbafc Redact HTTP basic authentication in archive.extracted
306791
306792       · PR #41436: (skizunov) TCP transport: Fix occasional errors when using
306793         salt command (refs: #41787) @ 2017-06-01 16:37:43 UTC
306794
306795         · 39840bfe4e Merge pull request #41436 from skizunov/develop2
306796
306797         · 07d5862773 unit.transport.tcp_test: Clean up channel after use
306798
306799         · 4b6aec7154 Preserve original IO Loop on cleanup
306800
306801         · 892c6d4d24 TCP transport: Fix occasional  errors  when  using  salt
306802           command
306803
306804       · ISSUE  #41335:  (syphernl)  [2016.11.5] ssh_auth.present: IndexError:
306805         list index out of range (refs: #41337)
306806
306807       · PR #41337: (Foxlik) Fix #41335 - list index out  of  range  on  empty
306808         line in authorized_keys @ 2017-05-31 19:59:17 UTC
306809
306810         · 06ed4f077b Merge pull request #41337 from Foxlik/2016.11
306811
306812         · 916fecb64f modify ssh_test.py, to check empty lines and comments in
306813           authorized_keys #41335
306814
306815         · 011d6d65e7 Fix #41335 - list index out of range on  empty  line  in
306816           authorized_keys
306817
306818       · PR  #41512:  (twangboy)  Use psutil where possible in win_status.py @
306819         2017-05-31 19:56:00 UTC
306820
306821         · 1ace72d871 Merge pull request #41512 from twangboy/fix_win_status
306822
306823         · 582d09b484 Get psutil import
306824
306825         · fd88bb277f Remove unused imports (lint)
306826
306827         · 41a39dff00 Use psutil where possible
306828
306829       · PR #41490:  (t0fik)  Backport  of  SELinux  module  installation  and
306830         removal @ 2017-05-31 19:38:00 UTC
306831
306832         · 683cc5f414 Merge pull request #41490 from jdsieci/2016.11_selinux
306833
306834         · e2fbada1c1 Backport of SELinux module installation and removal
306835
306836       · PR #41522: (jettero) Sadly, you can't have '.'s and '$'s in dict keys
306837         in a mongodb doc.  @ 2017-05-31 15:55:24 UTC
306838
306839         · 2e7e84b8f2   Merge   pull   request   #41522   from    jettero/mon‐
306840           godb-keys-are-stupid
306841
306842         · 12648f5439  dang,  thought  I already got that. Apparently only got
306843           the bottom one. This should do it.
306844
306845         · 7c4a763518 ugh, forgot about this lint too. This  one  looks  espe‐
306846           cially terrible.
306847
306848         · c973988d8d forgot about the linter pass … fixed
306849
306850         · da0d9e4045  Sadly,  you  can't have '.'s and '$'s in dict keys in a
306851           mongodb doc.
306852
306853       · ISSUE #41504: (mtkennerly) Can't set REG_DWORD registry value  larger
306854         than 0x7FFFFFFF (refs: #41506)
306855
306856       · PR  #41506: (gtmanfred) check for integer types @ 2017-05-31 00:48:21
306857         UTC
306858
306859         · 30ad4fd9a0 Merge pull request #41506 from gtmanfred/2016.11
306860
306861         · 5fe2e9bbf5 check for integer types
306862
306863       · PR #41469:  (Ch3LL)  Fix  keep_jobs  keyerror  in  redis  returner  @
306864         2017-05-30 18:37:42 UTC
306865
306866         · 06ef17dec3 Merge pull request #41469 from Ch3LL/fix_redis_error
306867
306868         · 8ee1251a3a Fix keep_jobs keyerror in redis returner
306869
306870       · PR  #41473: (twangboy) Fix win_firewall execution and state modules @
306871         2017-05-30 18:35:24 UTC
306872
306873         · 7a09b2b678 Merge pull request #41473 from twangboy/fix_win_firewall
306874
306875         · e503b455c3 Fix lint error
306876
306877         · d3f0f8bcd2 Fix win_firewall execution and state modules
306878
306879       · PR #41499: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
306880         @ 2017-05-30 18:06:03 UTC
306881
306882         · f635cb11c4 Merge pull request #41499 from rallytime/merge-2016.11
306883
306884         · 20d893d397 Merge branch '2016.3' into '2016.11'
306885
306886         · 964b1ee027    Merge    pull    request    #41439   from   terminal‐
306887           mage/salt-cp-base64
306888
306889           · ebf6cc78c7 base64 encode binary data sent using salt-cp
306890
306891       · PR #41464: (rallytime)  Back-port  #39850  to  2016.11  @  2017-05-26
306892         21:22:44 UTC
306893
306894         · PR #39850: (epcim) Fix endpoint handling per region (refs: #41464)
306895
306896         · 83f1e48241 Merge pull request #41464 from rallytime/bp-39850
306897
306898         · 9b84b751b2 Pylint fixes
306899
306900         · 6db8915021  Endpoint  handling  per  region,  fixes #35874 - extend
306901           tests for multiple regions - region arg by default set  to  None  -
306902           print verbose changes to be exec.
306903
306904       · PR #41443: (UtahDave) use proper arg number @ 2017-05-26 20:36:37 UTC
306905
306906         · 960c5767fa  Merge  pull  request #41443 from UtahDave/fix_args_mas‐
306907           terpy
306908
306909         · dfbdc275ca use proper arg number
306910
306911       · ISSUE #41341: (lorengordon)  TypeError  traceback  in  network.system
306912         with retain_settings=True (refs: #41350)
306913
306914       · PR  #41350:  (lorengordon)  Supports  quoted  values  in /etc/syscon‐
306915         fig/network @ 2017-05-26 16:22:03 UTC
306916
306917         · 88c28c18c3 Merge pull request #41350 from lorengordon/issue-41341
306918
306919         · f2f6da7039 Supports quoted values in /etc/sysconfig/network
306920
306921       · PR #41398: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
306922         @ 2017-05-26 15:17:49 UTC
306923
306924         · 824f2d3b69 Merge pull request #41398 from rallytime/merge-2016.11
306925
306926         · 2941e9c923 Merge pull request #22 from terminalmage/merge-2016.11
306927
306928           · 087a958afc base64 encode binary data sent using salt-cp
306929
306930         · 503f925275 Add missing import
306931
306932         · d2d9a3d29f Merge branch '2016.3' into '2016.11'
306933
306934           · d617c9fe72 Merge pull request #41265 from terminalmage/issue41234
306935
306936             · edf552fe9a Update PKG_TARGETS for RHEL-based distros
306937
306938             · 0ecc7b9b20  yumpkg:  fix latest_version() when showdupesfromre‐
306939               pos=1 set in /etc/yum.conf
306940
306941           · 26bd914580  Merge  pull  request  #41316  from  Ch3LL/update_lat‐
306942             est_2016.3
306943
306944             · 520740d862 [2016.13] Bump latest release version to 2016.11.5
306945
306946           · 18898b7d1f Merge pull request #41216 from terminalmage/issue16592
306947
306948             · 0e15fdbb1a  Update  salt-cp  integration test to reflect recent
306949               changes
306950
306951             · 10dc695cc4 Make salt-cp work with larger files
306952
306953             · c078180539  Make  KeyErrors  more  specific  when  interpreting
306954               returns
306955
306956             · fc401c9eb4 Add generator functions for reading files
306957
306958       · PR #41442: (UtahDave) use proper arg number @ 2017-05-26 13:42:50 UTC
306959
306960         · ec08064b99 Merge pull request #41442 from UtahDave/fix_args
306961
306962         · 0324833c9e use proper arg number
306963
306964       · ISSUE #37824: (dxiri) SSLError Trying to use v3 API of Openstack New‐
306965         ton as provider. (refs: #41397, #40752)
306966
306967       · ISSUE #36548: (abonillasuse) openstack auth with nova  driver  (refs:
306968         #38647)
306969
306970       · PR  #41397:  (Enquier)  Updating Nova/Neutron modules to support Key‐
306971         stoneAuth and SSLVerify @ 2017-05-25 21:16:14 UTC
306972
306973         · PR #40752: (Enquier) Add ability to specify a custom  SSL  certifi‐
306974           cate or disable SSL verification in KeystoneAuth v3 (refs: #41397)
306975
306976         · PR  #38647:  (gtmanfred) Allow novaclient to use keystoneauth1 ses‐
306977           sions for authentication (refs: #41397)
306978
306979         · 22096d9213 Merge pull request #41397 from  Enquier/neutron-ssl-ver‐
306980           ify
306981
306982         · d25dcf61d5 Small error in nova that was preventing execution
306983
306984         · 0e7a1009ed Updated module docs to include changes made
306985
306986         · 05e0192665 Adding missing os_auth_system
306987
306988         · 4e0f4981e4  allow service_type to be specified default is now 'net‐
306989           work'
306990
306991         · 991e84343f Added non-profile and defaults for Neutron
306992
306993         · c93f112c9b Updating Nova Module to include use_keystone Auth
306994
306995         · 66ab1e5184 Re-adding neutron dependency check
306996
306997         · cce07eefc2 Updating Neutron module to suport KeystoneAuth
306998
306999       · ISSUE #34460: (Ch3LL) Receive an error when using salt-api to call  a
307000         runner (refs: #41409)
307001
307002       · PR  #41409:  (garethgreenaway)  Fixes  to  ipc transport @ 2017-05-25
307003         21:06:27 UTC
307004
307005         · 14a58cf536   Merge   pull   request   #41409   from    garethgreen‐
307006           away/34460_fixes_ipc_transport
307007
307008         · 5613b72dfe  Updating the exception variable to be more in line with
307009           the rest of the exception code
307010
307011         · 41eee8b333 Fixing a potential lint issue
307012
307013         · 760d561dfa Fixing a potential lint issue
307014
307015         · c11bcd0d12 Changing the approaching and including an except for the
307016           action  socket.error  exception,  then logging a trace log if error
307017           number is 0 and an error log otherwise.
307018
307019         · 3f950596f4 Fixing lint issues.
307020
307021         · f3a6531a69 On occasion an exception will occur which results in the
307022           event  not  returning properly, even though the wire_bytes  is cor‐
307023           rectly populated. In this situation, we log to trace  and continue.
307024           #34460
307025
307026       · PR  #41421:  (UtahDave)  Correct doc to actually blacklist a module @
307027         2017-05-25 21:01:46 UTC
307028
307029         · 824428700d  Merge  pull  request  #41421  from  UtahDave/fix_black‐
307030           list_docs
307031
307032         · 5eb27571a0 Correct doc to actually blacklist a module
307033
307034       · ISSUE   #41353:   (rmarchei)  Orchestrate  runner  needs  saltenv  on
307035         2016.11.5 (refs: #41431)
307036
307037       · PR #41431: (terminalmage) Fix regression  in  state  orchestration  @
307038         2017-05-25 18:44:53 UTC
307039
307040         · b98d5e00d4 Merge pull request #41431 from terminalmage/issue41353
307041
307042         · 16eae64cca Fix regression in state orchestration
307043
307044       · ISSUE  #41338:  (ricohouse)  Exception not raised when running config
307045         compare and the device (Juniper) returns error (refs: #41429)
307046
307047       · PR #41429: (ricohouse) Issue #41338: Return false when compare config
307048         fails @ 2017-05-25 17:18:02 UTC
307049
307050         · eeff3dd7fb Merge pull request #41429 from ricohouse/fix-compare-bug
307051
307052         · 9b61665c4c Issue #41338: Return false when compare config fails
307053
307054       · PR  #41414:  (Ch3LL)  Update  bootstrap  script  verstion  to  latest
307055         release(v2017.05.24) @ 2017-05-24 19:51:49 UTC
307056
307057         · 561a416cf3 Merge pull request #41414 from Ch3LL/update_bootstrap
307058
307059         · d8c03eef60   Update   bootstrap   script   verstion    to    latest
307060           release(v2017.05.24)
307061
307062       · PR #41336: (mcalmer) fix setting and getting locale on SUSE systems @
307063         2017-05-24 17:46:08 UTC
307064
307065         · 88fd3c0ed9      Merge      pull      request      #41336       from
307066           mcalmer/fix-locale-on-SUSE
307067
307068         · f30f5c8a25 fix unit tests
307069
307070         · 428baa9bce fix setting and getting locale on SUSE systems
307071
307072       · PR  #41393:  (rallytime)  Back-port  #41235  to  2016.11 @ 2017-05-24
307073         16:08:56 UTC
307074
307075         · PR #41235: (moio) rest_cherrypy: remove sleep call (refs: #41393)
307076
307077         · 4265959647 Merge pull request #41393 from rallytime/bp-41235
307078
307079         · c79c0e3f43 rest_cherrypy: remove sleep call
307080
307081       · PR #41394: (rallytime)  Back-port  #41243  to  2016.11  @  2017-05-24
307082         16:00:17 UTC
307083
307084         · PR  #41243:  (arif-ali) Remove the keys that don't exist in the new
307085           change (refs: #41394)
307086
307087         · 83f54694f9 Merge pull request #41394 from rallytime/bp-41243
307088
307089         · a5351302af Lint fix
307090
307091         · 05fadc0af3 Remove the keys that don't exist in the new change
307092
307093       · PR #41401: (bdrung) Add documentation key to systemd service files  @
307094         2017-05-24 15:49:54 UTC
307095
307096         · 3a45ac30f0  Merge  pull  request  #41401  from  bdrung/systemd-ser‐
307097           vice-documentation-key
307098
307099         · 3f7f30895d Add documentation key to systemd service files
307100
307101       · PR #41404: (bdrung) Fix typos @ 2017-05-24 14:42:44 UTC
307102
307103         · d34333c30b Merge pull request #41404 from bdrung/fix-typos
307104
307105         · 33a7f8b2ec Fix typos
307106
307107       · PR #41388: (bdrung) Do not require sphinx-build for cleaning  docs  @
307108         2017-05-23 19:32:41 UTC
307109
307110         · 3083764195  Merge  pull  request #41388 from bdrung/clean-doc-with‐
307111           out-sphinx
307112
307113         · 5b79a0a9f8 Do not require sphinx-build for cleaning docs
307114
307115       · ISSUE  #41362:  (automate-solutions)  On  AWS  EC2:   salt-cloud   -f
307116         delete_keypair  ec2  keyname=mykeypair  doesn't  delete  the  keypair
307117         (refs: #41364)
307118
307119       · PR #41364: (automate-solutions) Fix issue  #41362  invalid  parameter
307120         used: KeyName.1 instead of KeyName @ 2017-05-23 17:32:10 UTC
307121
307122         · 842875e590   Merge   pull   request   #41364   from  automate-solu‐
307123           tions/fix-issue-41362
307124
307125         · cfd8eb7a87 Set DescribeKeyPairs back to KeyName.1 according to doc‐
307126           umentation
307127
307128         · 6a82ddc6fc  Fix  issue  #41362  invalid  parameter  used: KeyName.1
307129           instead of KeyName
307130
307131       · ISSUE #40950: (idokaplan) Import certificate (refs: #41453, #41383)
307132
307133       · PR #41383: (peter-funktionIT)  Update  win_pki.py  (refs:  #41453)  @
307134         2017-05-23 17:26:43 UTC
307135
307136         · 92f94e66bc    Merge    pull   request   #41383   from   peter-funk‐
307137           tionIT/fix-win_pki-get_cert_file
307138
307139         · 4d9bd06176 Update win_pki.py
307140
307141       · PR #41113: (cro) Rescue proxy_auto_tests PR from git  rebase  hell  @
307142         2017-05-22 17:05:07 UTC
307143
307144         · PR  #39575: (cro) WIP: Proxy auto test, feedback appreciated (refs:
307145           #41113)
307146
307147         · 1ba95684a9 Merge pull request #41113 from cro/proxy_auto_test2
307148
307149         · 19db038b99 Fix test--use proxy_config instead of minion_config
307150
307151         · 7749ceadb6 Change default proxy minion opts so only the  proxy-spe‐
307152           cific  ones  are  listed,  and the rest are taken from DEFAULT_MIN‐
307153           ION_OPTS.
307154
307155         · 106394c80c Lint.
307156
307157         · 3be90cc9f4 Rescue proxy_auto_tests PR from git rebase hell
307158
307159       · PR #41360: (cro) Sysrc on FreeBSD, YAML overeager to coerce  to  bool
307160         and int @ 2017-05-22 15:54:31 UTC
307161
307162         · 375892d910 Merge pull request #41360 from cro/sysrc_fix
307163
307164         · 6db31ce52a  Fix  problem  with  sysrc on FreeBSD, YAML overeager to
307165           coerce to bool and int.
307166
307167       · ISSUE #41190: (jheidbrink) Cannot  extract  tar.xz  archive  when  it
307168         exceeds size of /tmp (refs: #41372)
307169
307170       · PR  #41372:  (terminalmage)  Don't use intermediate file when listing
307171         contents of tar.xz file @ 2017-05-22 15:36:45 UTC
307172
307173         · 01b71c75c1 Merge pull request #41372 from terminalmage/issue41190
307174
307175         · 1f08936d9c Remove unused import
307176
307177         · 68cb897520 Replace reference to fileobj
307178
307179         · 788874408a Remove '*' from mode
307180
307181         · 3d4b833627 Don't use intermediate file  when  listing  contents  of
307182           tar.xz file
307183
307184       · PR  #41373: (alex-zel) Allow HTTP authentication to ES.  @ 2017-05-22
307185         15:32:09 UTC
307186
307187         · 5edfcf972c Merge pull request #41373 from alex-zel/patch-3
307188
307189         · 3192eab128 Allow HTTP authentication to ES.
307190
307191       · ISSUE #40748: (djhaskin987) Consul backend minion cache does not work
307192         (refs: #41287)
307193
307194       · PR  #41287:  (garethgreenaway)  Fix  to  consul  cache  @  2017-05-19
307195         18:32:56 UTC
307196
307197         · 29bd7f48b7   Merge   pull   request   #41287   from    garethgreen‐
307198           away/40748_2016_11_consul
307199
307200         · 5039fe12fb Removing chdir as it is no needed with this change
307201
307202         · 4550c3ce49  Updating the code that is pulling in the list of cached
307203           minions to use self.cache.list instead of relying on  checking  the
307204           local  file  system, which only works for the localfs cache method.
307205           #40748
307206
307207       · ISSUE #38894: (amendlik) salt.runner and salt.wheel ignore  test=True
307208         (refs: #41309, #41611)
307209
307210       · PR #41309: (garethgreenaway) Adding test argument for runners & wheel
307211         orchestration modules @ 2017-05-19 18:26:09 UTC
307212
307213         · 672aaa88d3   Merge   pull   request   #41309   from    garethgreen‐
307214           away/38894_allowing_test_argument
307215
307216         · e1a88e8bf7  Allowing  test=True  to  be  passed for salt.runner and
307217           salt.wheel when used with orchestration
307218
307219       · ISSUE #41306: (lomeroe) win_lgpo does not properly pack group  policy
307220         version number in gpt.ini (refs: #41319, #41307)
307221
307222       · PR  #41319:  (lomeroe) backport #41307 to 2016.11, properly pack ver‐
307223         sion numbers into single @ 2017-05-19 18:25:00 UTC
307224
307225         · PR #41307: (lomeroe) properly pack/unpack the verison numbers  into
307226           a number (refs: #41319)
307227
307228         · 140b0427e1 Merge pull request #41319 from lomeroe/bp_41307
307229
307230         · 4f0aa577a5 backport 41307 to 2016.11, properly pack version numbers
307231           into single number
307232
307233       · PR #41327: (Ch3LL) Add 2016.11.6 Release Notes @ 2017-05-19  18:05:09
307234         UTC
307235
307236         · 6bdb7cca7d       Merge      pull      request      #41327      from
307237           Ch3LL/add_2016.11.6_release
307238
307239         · e5fc0aeb9c Add 2016.11.6 Release Notes
307240
307241       · PR  #41329:  (lorengordon)   Corrects   versionadded   for   win_net‐
307242         work.get_route @ 2017-05-19 17:47:57 UTC
307243
307244         · 1faffd3932 Merge pull request #41329 from lorengordon/doc-fix
307245
307246         · 3c471247f0 Corrects versionadded for win_network.get_route
307247
307248       · PR  #41322: (Ch3LL) Add patched packages warning to 2016.11.5 release
307249         notes @ 2017-05-18 21:53:26 UTC
307250
307251         · 6ca65592da      Merge      pull      request      #41322       from
307252           Ch3LL/fix_release_2016.11.5_notes
307253
307254         · 9a1bf4205f fix url refs in rst
307255
307256         · cde008ff77 Add patched packages warning to 2016.11.5 release notes
307257
307258       · PR  #41208:  (pkazmierczak)  Fix: zypper handling of multiple version
307259         packages @ 2017-05-18 15:44:26 UTC
307260
307261         · 9f359d841f Merge pull request  #41208  from  pkazmierczak/pkazmier‐
307262           czak-zypper-multiple-ver-pkgs
307263
307264         · d411a91676  Reverted  back  to cascading with statements for python
307265           2.6 compat
307266
307267         · 7204013653 Compacted with statements in the unit test.
307268
307269         · 6c4c08042c Added unit tests and copied  the  behavior  to  .upgrade
307270           method, too.
307271
307272         · 5f952007f6 Fix: zypper handling of multiple version packages
307273
307274       · PR #41317: (Ch3LL) [2016.11] Bump latest release version to 2016.11.5
307275         @ 2017-05-18 15:34:13 UTC
307276
307277         · bcef99adb6  Merge  pull  request  #41317   from   Ch3LL/update_lat‐
307278           est_2016.11
307279
307280         · cdb072c207 [2016.11] Bump latest release version to 2016.11.5
307281
307282       · PR  #41232:  (axmetishe) Add basic auth for SPM @ 2017-05-17 19:08:56
307283         UTC
307284
307285         · b8ddd7ee08 Merge pull request #41232 from axmetishe/2016.11
307286
307287         · 76104f23b4 Add basic auth for SPM
307288
307289       · PR #41236: (BenoitKnecht) states: cron:  show  correct  changes  when
307290         using special @ 2017-05-17 18:51:58 UTC
307291
307292         · 7bdb66d969 Merge pull request #41236 from BenoitKnecht/2016.11
307293
307294         · 33211d032e states: cron: show correct changes when using special
307295
307296       · PR  #41269:  (isbm)  Bugfix:  Unable to use "127" as hostname for the
307297         Minion ID @ 2017-05-17 18:31:15 UTC
307298
307299         · 1c1e092f56  Merge   pull   request   #41269   from   isbm/isbm-min‐
307300           ion-id-127-name
307301
307302         · 5168ef8959 Add unit test for hostname can be started from 127
307303
307304         · 0d0354198b Harden to 127. IP part
307305
307306         · d9c8324a6b Unit test for accepting hosts names as 127
307307
307308         · 65b03c667b Bugfix: unable to use 127 as hostname
307309
307310       · PR   #41289:  (garethgreenaway)  Fixing  consul  cache  @  2017-05-17
307311         16:54:12 UTC
307312
307313         · d0fa31d4ca   Merge   pull   request   #41289   from    garethgreen‐
307314           away/2016_11_5_fix_consul_cache_ls
307315
307316         · 780a28c9a0  Swapping the order in the func_alias so the ls function
307317           is available.
307318
307319       · ISSUE #41291: (lomeroe) win_lgpo does not properly convert large dec‐
307320         imal values in regpol data (refs: #41301, #41303)
307321
307322       · PR  #41303:  (lomeroe)  backport  #41301  --  properly convert packed
307323         string to decimal values @ 2017-05-17 16:32:22 UTC
307324
307325         · PR #41301: (lomeroe) properly convert packed string to decimal val‐
307326           ues (refs: #41303)
307327
307328         · 6566648948 Merge pull request #41303 from lomeroe/bp-41301
307329
307330         · f4b93f9d9a properly convert packed string to decimal values
307331
307332       · ISSUE  #41231: (kaihowl) PR #30777 misses an update to the documenta‐
307333         tion for pkg.installed and hold:true (refs: #41251)
307334
307335       · ISSUE #30733: (ealphonse) version-controlled packages with hold: True
307336         can no longer be upgraded by salt (refs: #30777)
307337
307338       · PR  #41283:  (terminalmage)  Backport  #41251 to 2016.11 @ 2017-05-16
307339         18:01:17 UTC
307340
307341         · PR #41251: (abednarik) Update apt module regarding upgrade  against
307342           hold packages. (refs: #41283)
307343
307344         · PR #30777: (abednarik) Fix update apt hold pkgs (refs: #41251)
307345
307346         · 44598617be Merge pull request #41283 from terminalmage/bp-41251
307347
307348         · ed03ca534f  Update  apt module regarding upgrade against hold pack‐
307349           ages.
307350
307351       · PR #41181: (gtmanfred) add resolving extra flags  to  yum  upgrade  @
307352         2017-05-16 04:07:47 UTC
307353
307354         · d8e9676fcf Merge pull request #41181 from gtmanfred/2016.11
307355
307356         · 2ca71713b1 use six and clean_kwargs
307357
307358         · c9bf09a5a1 add resolving extra flags to yum upgrade
307359
307360       · ISSUE #40177: (eldadru) libcloud_dns state "global name '__salt__' is
307361         not defined" in salt.cmd runner (refs: #40246)
307362
307363       · PR #41220: (rallytime)  Back-port  #40246  to  2016.11  @  2017-05-15
307364         17:59:38 UTC
307365
307366         · PR  #40246:  (tonybaloney) Fix libcloud_dns state module bug (refs:
307367           #41220)
307368
307369         · 75942235f0 Merge pull request #41220 from rallytime/bp-40246
307370
307371         · 79f1bb2bba Remove unused/duplicate imports leftover from merge-con‐
307372           flict resolution
307373
307374         · 2f610680e5 remove unused imports
307375
307376         · 9b7de2e7d7 fix unit tests
307377
307378         · 49d94559ab linting
307379
307380         · 4b260a4594 linting
307381
307382         · 41d1adab5f fix up tests
307383
307384         · b3822e03fc  add  fixes  for  incorrectly importing modules directly
307385           instead of using __salt__
307386
307387       · ISSUE #41230: (RealKelsar) 2016.11.5 IPv6 nameserver  in  resolv.conf
307388         leads to minion exception (refs: #41244)
307389
307390       · ISSUE  #40912:  (razed11)  IPV6 Warning when ipv6 set to False (refs:
307391         #40934)
307392
307393       · PR #41244:  (cachedout)  Fix  ipv6  nameserver  grains  @  2017-05-15
307394         17:55:39 UTC
307395
307396         · PR  #40934: (gtmanfred) Only display IPvX warning if role is master
307397           (refs: #41244)
307398
307399         · 53d5b3e816 Merge pull request #41244 from  cachedout/fix_ipv6_name‐
307400           server_grains
307401
307402         · f745db1a43 Lint
307403
307404         · 6e1ab69710 Partial revert of #40934
307405
307406         · 88f49f9146 Revert "Only display IPvX warning if role is master"
307407
307408       · PR  #41242: (pprkut) Fix changing a mysql user to unix socket authen‐
307409         tication.  @ 2017-05-15 17:00:06 UTC
307410
307411         · 895fe582eb Merge pull request #41242 from M2Mobi/mysql_socket_auth
307412
307413         · 7d8359766d Fix changing a mysql user to unix socket authentication.
307414
307415       · ISSUE #40940: (djhaskin987) When state_aggregate is set to True,  the
307416         latest keyword doesn't work with pkg.installed (refs: #41101)
307417
307418       · PR #41101: (terminalmage) Fix "latest" keyword for version specifica‐
307419         tion when used with aggregation @ 2017-05-15 16:52:35 UTC
307420
307421         · 50d8fde123 Merge pull request #41101 from terminalmage/issue40940
307422
307423         · 7fe64219ae Add rtag check to integration test for pkg.refresh_db
307424
307425         · 88a08aa3bf Add comments to explain  what  removing  the  rtag  file
307426           actually does
307427
307428         · 92011dbe5f Fix "latest" keyword for version specification when used
307429           with aggregation
307430
307431       · ISSUE #34775: (babilen) Please allow users to disable branch environ‐
307432         ment mapping in GitFS (refs: #41144)
307433
307434       · PR  #41146: (terminalmage) gitfs: Backport performance fixes for get‐
307435         ting tree objects @ 2017-05-12 17:35:47 UTC
307436
307437         · PR #41144: (terminalmage) gitfs: Add  two  new  options  to  affect
307438           saltenv mapping (refs: #41146)
307439
307440         · 049712ba53   Merge  pull  request  #41146  from  terminalmage/back‐
307441           port-get_tree-performance-improvement
307442
307443         · f9d6734afe gitfs:  Backport  performance  fixes  for  getting  tree
307444           objects
307445
307446       · ISSUE  #41135:  (shallot)  gpg  renderer  doesn't  seem  to work with
307447         salt-ssh, tries to execute gpg on the minion? (refs: #41161)
307448
307449       · PR #41161: (The-Loeki) gpg renderer: fix gpg_keydir always  reverting
307450         to default @ 2017-05-12 17:19:07 UTC
307451
307452         · 4215a0b99d Merge pull request #41161 from The-Loeki/2016.11
307453
307454         · 24946fef18 gpg renderer: fix gpg_keydir always reverting to default
307455
307456       · ISSUE  #41162: (onlyanegg) Elasticsearch module functions should pass
307457         hosts and profile to index_exists() (refs: #41163)
307458
307459       · PR #41163: (onlyanegg) Elasticsearch -  pass  hosts  and  profile  to
307460         index_exists() @ 2017-05-12 17:18:06 UTC
307461
307462         · 5b10fc58ba   Merge  pull  request  #41163  from  onlyanegg/elastic‐
307463           search-pass_profile_to_index_exists
307464
307465         · 7f512c701b Pass hosts and profile to index_exists() method
307466
307467       · ISSUE #41185: (jmarinaro) package name collisions in chocolatey state
307468         (refs: #41186)
307469
307470       · PR  #41186:  (jmarinaro)  Fix  package  name collisions in chocolatey
307471         state @ 2017-05-12 17:01:31 UTC
307472
307473         · d433cf850d Merge  pull  request  #41186  from  jmarinaro/fix-choco‐
307474           latey-package-collision
307475
307476         · 229f3bf9f3 apply changes to uninstalled function
307477
307478         · ffd4c7ef04 Fix package name collisions in chocolatey state
307479
307480       · PR  #41189: (github-abcde) utils/minions.py: Fixed case where data is
307481         an empty dict resulting in… @ 2017-05-12 16:32:25 UTC
307482
307483         · bb5ef41ce0 Merge pull request #41189  from  github-abcde/utils-min‐
307484           ions-fix
307485
307486         · 853dc5406c utils/minions.py: Fixed case where data is an empty dict
307487           resulting in errors.
307488
307489       · PR #41104: (Ch3LL) Add test to query results of /jobs call in  api  @
307490         2017-05-10 20:11:08 UTC
307491
307492         · b136b15330 Merge pull request #41104 from Ch3LL/add_jobs_test
307493
307494         · dac16583b7 add test to query results of /jobs call in api
307495
307496       · PR #41170: (lomeroe) Backport #41081 to 2016.11 @ 2017-05-10 19:58:52
307497         UTC
307498
307499         · PR #41081: (lomeroe) Update win_dns_client  to  use  reg.read_value
307500           and set_value (refs: #41170)
307501
307502         · ca18b4df93 Merge pull request #41170 from lomeroe/bp-41081
307503
307504         · 2af89f2165 update mock data
307505
307506         · b7fa115a59 update win_dns_client tests with correct module names
307507
307508         · 4d05a22675   Update   win_dns_client   to  use  reg.read_value  and
307509           set_value
307510
307511       · PR #41173: (twangboy) Add silent action to MsgBox for Path Actions  @
307512         2017-05-10 19:57:06 UTC
307513
307514         · d7ec37b003 Merge pull request #41173 from twangboy/fix_installer
307515
307516         · 24b11ffdc2 Add release notes
307517
307518         · 96918dcfa6 Add silent action to MsgBox for Path Actions
307519
307520       · PR  #41158: (Ch3LL) 2016.11.5 release notes: add additional commits @
307521         2017-05-09 22:41:40 UTC
307522
307523         · 88e93b7fe5 Merge pull request #41158 from Ch3LL/update_2016.11.5
307524
307525         · 28371aa035 2016.11.5 release notes: add additional commits
307526
307527       · PR #41148: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
307528         @ 2017-05-09 20:23:28 UTC
307529
307530         · d2ae7deff2 Merge pull request #41148 from rallytime/merge-2016.11
307531
307532         · aba35e20dd Merge branch '2016.3' into '2016.11'
307533
307534           · 2969153097  Merge  pull  request #41122 from terminalmage/master‐
307535             less-env_cache-fix
307536
307537             · be732f0577 gitfs: refresh env cache during update in masterless
307538
307539           · b8f0a4f108   Merge   pull   request   #41123    from    terminal‐
307540             mage/gitfs-vsts-note
307541
307542             · f6a16956a0  Add  note on lack of support for VSTS in older lib‐
307543               ssh2 releases.
307544
307545           · 8f79b6f537 Merge pull request #41090 from bbinet/rdurations_float
307546
307547           · fd48a63653 rdurations should be floats so that they can be summed
307548             when profiling
307549
307550       · PR  #41147:  (rallytime)  Back-port  #39676  to  2016.11 @ 2017-05-09
307551         18:40:44 UTC
307552
307553         · PR #39676: (F30) Fix comments about the "hash_type"  option  (refs:
307554           #41147)
307555
307556         · 2156395b2e Merge pull request #41147 from rallytime/bp-39676
307557
307558         · 5b55fb2452 Fix comments about the "hash_type" option
307559
307560       · PR  #40852:  (isbm)  Isbm  fix  coregrains  constants  bsc#1032931  @
307561         2017-05-09 18:35:46 UTC
307562
307563         · a2f359fa13  Merge  pull  request  #40852  from  isbm/isbm-fix-core‐
307564           grains-constants-bsc#1032931
307565
307566         · f3b12a3f5b  Do not use multiple variables in "with" statement as of
307567           lint issues
307568
307569         · 35a8d99934 Disable the test for a while
307570
307571         · 76cb1b7150 Rewrite test case for using no patch decorators
307572
307573         · f71af0b625 Fix lint issues
307574
307575         · 0e6abb3e37 Add UT on set_hw_clock on Gentoo
307576
307577         · a2b1d4638c Add UT for set_hwclock on Debian
307578
307579         · 5356a0821a Bugfix: use correct grain name for SUSE platform
307580
307581         · 88e8184702 Add UT set_hwclock on SUSE
307582
307583         · 0cd590f927 Fix UT names
307584
307585         · bee94ade63 Add UT for set_hwclock on RedHat
307586
307587         · dfe2610d05 Add UT for set_hwclock on Arch
307588
307589         · d000a8a6f5 Add UT for set_hwclock on solaris
307590
307591         · d2614aedaa Fix docstrings
307592
307593         · 6d782191dc Add UT for set_hwclock on AIX
307594
307595         · d303e0dd8a Add UT for AIX on get_hwclock
307596
307597         · 86f2d83781 Add UT on Solaris
307598
307599         · c3cafed6d5 Add UT for Debian on get_hwclock
307600
307601         · d337c09357 Add UT for RedHat/SUSE platforms on get_hwclock
307602
307603         · 501a59ca7e Bugfix: use correct grain for SUSE and RedHat platform
307604
307605         · f25dc5c56c Add UT for get_hwclock on SUSE platform
307606
307607         · 08e00c865c Remove dead code
307608
307609         · 1216a0bf12 Add UT for get_hwclock on UTC/localtime
307610
307611         · 39332c71d3 Remove duplicate code
307612
307613         · 58676c568d Add UT for Debian on set_zone
307614
307615         · 1b9ce37b1b Add UT for gentoo on set_zone
307616
307617         · cf7f766a68 Bugfix: use  correct  os_family  grain  value  for  SUSE
307618           series
307619
307620         · 6ed9be985e Adjust UT to use correct grain for SUSE series
307621
307622         · ce4c836a60 Add UT for set_zone on SUSE series
307623
307624         · 155a498b49 Doc fix
307625
307626         · a40876cdac Remove unnecessary mock patch
307627
307628         · ffab2db213 Fix doc for RH UT
307629
307630         · 72388f7ae2 Add UT for RedHat's set_zone
307631
307632         · 11595d3a42 Refactor with setup/teardown
307633
307634         · ce6a06de98 Bugfix: use correct grain constant for platform
307635
307636         · 28072c9e41  Adjust the test so it is using the right grain for SUSE
307637           systems
307638
307639         · 7a0e4be4f8 Add unit test for get_zone and various platforms
307640
307641       · ISSUE #41105: (terminalmage) ssl_verify gitfs/git_pillar option  does
307642         not work with pygit2 (refs: #41111)
307643
307644       · PR  #41111:  (terminalmage)  Allow  "ssl_verify:  False" to work with
307645         pygit2 @ 2017-05-09 17:56:12 UTC
307646
307647         · 6fa41dc89d Merge pull request #41111 from terminalmage/issue41105
307648
307649         · 8c6410e3cd Add notices about ssl_verify only working in 0.23.2  and
307650           newer
307651
307652         · 98ce829729 Support ssl_verify in pygit2
307653
307654         · f73c4b7167 Add http(s) auth config docs for GitPython
307655
307656       · PR  #41008: (cro) Look in /opt//lib instead of just /opt/local/lib on
307657         Illumos distros.  @ *2017-05-09 16:56:00 UTC
307658
307659         · 81add1b944 Merge pull request #41008 from cro/rsax_smos
307660
307661         · a4f7aa145e Look for libcrypto in both /opt/tools and /opt/local  on
307662           Illumos-based distros.
307663
307664       · PR  #41124:  (gtmanfred)  add  user_data to digitalocean @ 2017-05-09
307665         16:47:42 UTC
307666
307667         · c649725e9b Merge pull request #41124 from gtmanfred/do
307668
307669         · 2370d9316b add user_data to digital ocean
307670
307671       · ISSUE #41125: (tmeneau) service.running returns True  if  enable=None
307672         and init script returns 0 (refs: #41127)
307673
307674       · PR  #41127:  (tmeneau)  Fix  incorrect service.running state response
307675         when enable=None and init script returns 0 @ 2017-05-09 16:43:35 UTC
307676
307677         · d0a3fcf33a Merge pull request #41127 from  xetus-oss/fix-41125-ser‐
307678           vice-running
307679
307680         · d8766562c9 fix incorrect service.running success response
307681
307682   Salt 2016.11.7 Release Notes
307683       Version 2016.11.7 is a bugfix release for 2016.11.0.
307684
307685   Security Fix
307686       CVE-2017-12791 Maliciously crafted minion IDs can cause unwanted direc‐
307687       tory traversals on the Salt-master
307688
307689       This release corrects a flaw in minion ID validation which could  allow
307690       certain minions to authenticate to a master despite not having the cor‐
307691       rect credentials.  To exploit the vulnerability, an attacker must  cre‐
307692       ate  a  salt-minion  with an ID containing characters that will cause a
307693       directory traversal. Credit for discovering the security flaw goes  to:
307694       Vernhk@qq.com
307695
307696   Salt 2016.11.8 Release Notes
307697       Version 2016.11.8 is a bugfix release for 2016.11.0.
307698
307699   Statistics
307700       · Total Merges: 171
307701
307702       · Total Issue References: 68
307703
307704       · Total PR References: 202
307705
307706       · Contributors: 61 (AFriemann, Ch3LL, CorvinM, Da-Juan, DmitryKuzmenko,
307707         UtahDave, abulford, amalleo25, amendlik, aneeshusa,  aogier,  arount,
307708         arthurlogilab,  astronouth7303,  binocvlar,  blarghmatey,  cachedout,
307709         clem-compilatio,  corywright,   cri-epita,   damon-atkins,   davidjb,
307710         dglloyd,    dmurphy18,    ferringb,    garethgreenaway,   gdubroeucq,
307711         gilbsgilbs,  goten4,  gtmanfred,   isbm,   jagguli,   kevinanderson1,
307712         kojiromike,   kstreee,   leeclemens,  lomeroe,  lorengordon,  lubyou,
307713         mcarlton00, meaksh, morganwillcock,  nhavens,  pabloh007,  rallytime,
307714         remijouannet,      renner,      root360-AndreasUlm,      s-sebastian,
307715         sarcasticadmin, sbojarski, shengis, tdutrion,  terminalmage,  toanju,
307716         twangboy, ushmodin, viktorkrivak, vutny, whiteinge, xiaoanyunfei)
307717
307718   Security Fix
307719       CVE-2017-14695  Directory  traversal vulnerability in minion id valida‐
307720       tion in SaltStack. Allows remote minions with incorrect credentials  to
307721       authenticate  to a master via a crafted minion ID. Credit for discover‐
307722       ing the security flaw goes to: Julian Brost (julian@0x4a42.net)
307723
307724       CVE-2017-14696 Remote  Denial  of  Service  with  a  specially  crafted
307725       authentication  request.  Credit for discovering the security flaw goes
307726       to: Julian Brost (julian@0x4a42.net)
307727
307728   Anonymous Binds and LDAP/Active Directory
307729       When auth.ldap.anonymous is set to False,  the  bind  password  can  no
307730       longer be empty.
307731
307732   Changelog for v2016.11.7..v2016.11.8
307733       Generated at: 2018-05-27 20:23:07 UTC
307734
307735       · PR  #43508:  (rallytime)  Back-port  #43333 to 2016.11.8 @ 2017-09-14
307736         21:40:19 UTC
307737
307738         · PR #43333: (damon-atkins)  Docs  are  wrong  cache_dir  (bool)  and
307739           cache_file (str) cannot be passed as params + 1 bug (refs: #43508)
307740
307741         · a648f75949 Merge pull request #43508 from rallytime/bp-43333
307742
307743         · d4981a2717 Update doco
307744
307745         · a7c8b9e048 Update win_pkg.py
307746
307747         · 1d6dc6fb72  Docs  are  wrong  cache_dir (bool) and cache_file (str)
307748           cannot be passed on the cli (#2)
307749
307750       · PR #43434: (rallytime)  Add  2016.11.8  release  notes  @  2017-09-11
307751         17:06:29 UTC
307752
307753         · e7009877bc     Merge    pull    request    #43434    from    rally‐
307754           time/2016.11.8-release-notes
307755
307756         · 68f529ee5e Add 2016.11.8 release notes
307757
307758       · PR  #43271:  (twangboy)  Fix  minor  formatting  issue  @  2017-08-30
307759         18:35:12 UTC
307760
307761         · cf21f91fb2     Merge    pull    request    #43271    from    twang‐
307762           boy/win_fix_pkg.install
307763
307764         · 91b062f564 Fix formatting issue, spaces surrounding +
307765
307766       · PR #43228: (twangboy) Win fix pkg.install @ 2017-08-30 14:26:21 UTC
307767
307768         · 3a0b02f3ae    Merge    pull    request    #43228    from     twang‐
307769           boy/win_fix_pkg.install
307770
307771         · 13dfabb1ce Fix regex statement, add .
307772
307773         · 31ff69f0ad Add underscore to regex search
307774
307775         · 3cf2b6575c Fix spelling
307776
307777         · ed030a35a5 Use regex to detect salt-minion install
307778
307779         · e5daff495a Fix pkg.install
307780
307781       · PR #43191: (viktorkrivak) Fix apache.config with multiple statement @
307782         2017-08-28 18:13:44 UTC
307783
307784         · b4c689dff5   Merge   pull   request    #43191    from    viktorkri‐
307785           vak/fix-apache-config-multi-entity
307786
307787         · c15bcbe1cc  Merge  remote-tracking  branch  'upstream/2016.11' into
307788           fix-apache-config-multi-entity
307789
307790         · 4164047951 Fix apache.config with multiple statement At this moment
307791           when  you post more than one statement in config only last is used.
307792           Also file is rewrited multiple times until last statement is  writ‐
307793           ten.  Example:  salt '*' apache.config /etc/httpd/conf.d/ports.conf
307794           config="[{'Listen': '8080'},  {'Proxy':  "Something"}]"  Ends  only
307795           with    Proxy Something and ignore Listen 8080, This patch fix this
307796           issue.
307797
307798       · ISSUE #42279: (dafyddj) win_lgpo matches  multiple  policies  due  to
307799         startswith() (refs: #43154, #43116)
307800
307801       · PR #43154: (lomeroe) Backport #43116 to 2016.11 @ 2017-08-28 16:40:41
307802         UTC
307803
307804         · PR #43116: (lomeroe) Fix 42279 in develop (refs: #43154)
307805
307806         · b90e59ede9 Merge pull request #43154 from lomeroe/bp-43116-2016.11
307807
307808         · 8f593b0b02 verify that files exist before trying  to  remove  them,
307809           win_file.remove raises an exception if the file does not exist
307810
307811         · 33a30bac06  correcting bad format statement in search for policy to
307812           be disabled
307813
307814         · acc3d7ac82 correct fopen calls from salt.utils for 2016.11's  utils
307815           function
307816
307817         · 2da1cdd109 lint fix
307818
307819         · 61bd12c0de  track  xml namespace to ensure policies w/duplicate IDs
307820           or Names do not conflict
307821
307822         · f232bed9f9 add additional checks for ADM  policies  that  have  the
307823           same ADMX policy ID (#42279)
307824
307825       · ISSUE #42642: (githubcdr) state.augeas (refs: #42669, #43202)
307826
307827       · PR #43202: (garethgreenaway) Reverting previous augeas module changes
307828         @ 2017-08-28 13:14:27 UTC
307829
307830         · 5308c27f9f   Merge   pull   request   #43202   from    garethgreen‐
307831           away/42642_2016_11_augeas_module_revert_fix
307832
307833         · ef7e93eb3f Reverting this change due to it breaking other uses.
307834
307835       · ISSUE   #43101:  (aogier)  genesis.bootstrap  fails  if  no  pkg  AND
307836         exclude_pkgs (which can't be a string) (refs: #43103)
307837
307838       · PR #43103: (aogier) genesis.bootstrap  deboostrap  fix  @  2017-08-25
307839         20:48:23 UTC
307840
307841         · f16b7246e4   Merge  pull  request  #43103  from  aogier/43101-gene‐
307842           sis-bootstrap
307843
307844         · db94f3bb1c better formatting
307845
307846         · e5cc667762 tests: fix a leftover and simplify some parts
307847
307848         · 13e5997457 lint
307849
307850         · 216ced69e5 allow comma-separated pkgs lists, quote args,  test  deb
307851           behaviour
307852
307853         · d8612ae006  fix debootstrap and enhance packages selection/deletion
307854           via cmdline
307855
307856       · ISSUE #42329: (jagguli) State git.latest does not  pull  latest  tags
307857         (refs: #42663)
307858
307859       · PR  #42663: (jagguli) Check remote tags before deciding to do a fetch
307860         #42329 @ 2017-08-25 20:14:32 UTC
307861
307862         · 4863771428   Merge   pull   request   #42663    from    StreetHawk‐
307863           Inc/fix_git_tag_check
307864
307865         · 2b5af5b59d Remove refs/tags prefix from remote tags
307866
307867         · 3f2e96e561 Convert set to list for serializer
307868
307869         · 2728e5d977 Only include new tags in changes
307870
307871         · 4b1df2f223 Exclude annotated tags from checks
307872
307873         · 389c037285 Check remote tags before deciding to do a fetch #42329
307874
307875       · ISSUE  #43198:  (corywright)  disk.format_  needs  to  be  aliased to
307876         disk.format (refs: #43199)
307877
307878       · PR #43199: (corywright) Add  disk.format  alias  for  disk.format_  @
307879         2017-08-25 19:21:07 UTC
307880
307881         · 4193e7f0a2  Merge  pull  request  #43199  from corywright/disk-for‐
307882           mat-alias
307883
307884         · f00d3a9ddc Add disk.format alias for disk.format_
307885
307886       · ISSUE saltstack/salt-jenkins#495: (Ch3LL) npm  tests  failing  (refs:
307887         #43196)
307888
307889       · PR #43196: (gtmanfred) Pin request install to version for npm tests @
307890         2017-08-25 18:43:06 UTC
307891
307892         · 5471f9fe0c Merge pull request #43196 from gtmanfred/2016.11
307893
307894         · ccd2241777 Pin request install to version
307895
307896       · ISSUE #43143: (abulford) git.detached does not fetch if rev is  miss‐
307897         ing from local (refs: #43178)
307898
307899       · PR  #43178:  (terminalmage) git.detached: Fix traceback when rev is a
307900         SHA and is not present locally @ 2017-08-25 13:58:37 UTC
307901
307902         · ace2715c60 Merge pull request #43178 from terminalmage/issue43143
307903
307904         · 2640833400 git.detached: Fix traceback when rev is a SHA and is not
307905           present locally
307906
307907       · PR   #43179:  (terminalmage)  Fix  missed  deprecation  @  2017-08-24
307908         22:52:34 UTC
307909
307910         · 12e9507b9e Merge pull request #43179 from terminalmage/old-depreca‐
307911           tion
307912
307913         · 3adf8ad04b Fix missed deprecation
307914
307915       · PR  #43171:  (terminalmage) Add warning about adding new functions to
307916         salt/utils/__init__.py @ 2017-08-24 19:10:23 UTC
307917
307918         · b595440d90   Merge   pull    request    #43171    from    terminal‐
307919           mage/salt-utils-warning
307920
307921         · 7b5943a31a    Add   warning   about   adding   new   functions   to
307922           salt/utils/__init__.py
307923
307924       · PR #43173: (Ch3LL) Add New Release Branch  Strategy  to  Contribution
307925         Docs @ 2017-08-24 19:04:56 UTC
307926
307927         · 4f273cac4f Merge pull request #43173 from Ch3LL/add_branch_docs
307928
307929         · 1b24244bd3 Add New Release Branch Strategy to Contribution Docs
307930
307931       · PR  #43151:  (ushmodin)  state.sls  hangs on file.recurse with clean:
307932         True on windows @ 2017-08-23 17:25:33 UTC
307933
307934         · PR #42969: (ushmodin) state.sls hangs on file.recurse  with  clean:
307935           True on windows (refs: #43151)
307936
307937         · 669b376abf Merge pull request #43151 from ushmodin/2016.11
307938
307939         · c5841e2ade state.sls hangs on file.recurse with clean: True on win‐
307940           dows
307941
307942       · PR #42986: (renner) Notify systemd synchronously (via  NOTIFY_SOCKET)
307943         @ 2017-08-22 16:52:56 UTC
307944
307945         · ae9d2b7985 Merge pull request #42986 from renner/systemd-notify
307946
307947         · 79c53f3f81   Fallback   to   systemd_notify_call()   in   case   of
307948           socket.error
307949
307950         · f1765472dd Notify systemd synchronously (via NOTIFY_SOCKET)
307951
307952       · ISSUE #43036: (mcarlton00) Linux VMs in Bhyve aren't displayed  prop‐
307953         erly in grains (refs: #43037)
307954
307955       · PR #43037: (mcarlton00) Issue #43036 Bhyve virtual grain in Linux VMs
307956         @ 2017-08-22 16:43:40 UTC
307957
307958         · b420fbe618    Merge    pull    request    #43037    from     mcarl‐
307959           ton00/fix-bhyve-grains
307960
307961         · 73315f0cf0 Issue #43036 Bhyve virtual grain in Linux VMs
307962
307963       · PR #43100: (vutny) [DOCS] Add missing utils sub-dir listed for exten‐
307964         sion_modules @ 2017-08-22 15:40:09 UTC
307965
307966         · 0a86f2d884  Merge  pull  request  #43100  from  vutny/doc-add-miss‐
307967           ing-utils-ext
307968
307969         · af743ff6c3  [DOCS]  Add  missing  utils  sub-dir  listed for exten‐
307970           sion_modules
307971
307972       · ISSUE #15171: (JensRantil) Maximum recursion  limit  hit  related  to
307973         requisites (refs: #42985)
307974
307975       · PR #42985: (DmitryKuzmenko) Properly handle prereq having lost requi‐
307976         sites.  @ 2017-08-21 22:49:39 UTC
307977
307978         · e2bf2f448e   Merge   pull   request   #42985    from    DSRCorpora‐
307979           tion/bugs/15171_recursion_limit
307980
307981         · 651b1bab09 Properly handle prereq having lost requisites.
307982
307983       · PR  #43092: (blarghmatey) Fixed issue with silently passing all tests
307984         in Testinfra module @ 2017-08-21 20:22:08 UTC
307985
307986         · e51333306c Merge pull request #43092 from mitodl/2016.11
307987
307988         · d4b113acdf Fixed issue with silently passing all tests in Testinfra
307989           module
307990
307991       · PR  #43060:  (twangboy)  Osx update pkg scripts @ 2017-08-21 20:06:12
307992         UTC
307993
307994         · 77a443ce8e    Merge    pull    request    #43060    from     twang‐
307995           boy/osx_update_pkg_scripts
307996
307997         · ef8a14cdf9 Remove /opt/salt instead of /opt/salt/bin
307998
307999         · 2dd62aa1da Add more information to the description
308000
308001         · f44f5b70dc Only stop services if they are running
308002
308003         · 3b62bf953c Remove salt from the path
308004
308005         · ebdca3a0f5 Update pkg-scripts
308006
308007       · ISSUE  #42869:  (abednarik)  Git Module : Failed to update repository
308008         (refs: #43064)
308009
308010       · PR  #43064:  (terminalmage)  Fix  race  condition  in  git.latest   @
308011         2017-08-21 14:29:52 UTC
308012
308013         · 1b1b6da803 Merge pull request #43064 from terminalmage/issue42869
308014
308015         · 093c0c2f77 Fix race condition in git.latest
308016
308017       · ISSUE  #42041:  (lorengordon)  pkg.list_repo_pkgs  fails to find pkgs
308018         with spaces around yum repo enabled value (refs: #43054)
308019
308020       · PR #43054: (lorengordon) Uses ConfigParser to read yum config files @
308021         2017-08-18 20:49:44 UTC
308022
308023         · PR  #42045: (arount) Fix: salt.modules.yumpkg: ConfigParser to read
308024           ini like files. (refs: #43054)
308025
308026         · 96e8e836d1   Merge   pull    request    #43054    from    lorengor‐
308027           don/fix/yumpkg/config-parser
308028
308029         · 3b2cb81a72 fix typo in salt.modules.yumpkg
308030
308031         · 38add0e4a2 break if leading comments are all fetched
308032
308033         · d7f65dc7a7 fix configparser import & log if error was raised
308034
308035         · ca1b1bb633 use configparser to parse yum repo file
308036
308037       · PR  #43048:  (rallytime)  Back-port  #43031  to  2016.11 @ 2017-08-18
308038         12:56:04 UTC
308039
308040         · PR #43031: (gtmanfred) use a ruby gem that doesn't  have  dependen‐
308041           cies (refs: #43048)
308042
308043         · 43aa46f512 Merge pull request #43048 from rallytime/bp-43031
308044
308045         · 35e45049e2 use a ruby gem that doesn't have dependencies
308046
308047       · PR  #43023: (terminalmage) Fixes/improvements to Jenkins state/module
308048         @ 2017-08-18 01:33:10 UTC
308049
308050         · ad89ff3104 Merge pull request  #43023  from  terminalmage/fix-jenk‐
308051           ins-xml-caching
308052
308053         · 33fd8ff939 Update jenkins.py
308054
308055         · fc306fc8c3 Add missing colon in if statement
308056
308057         · 822eabcc81 Catch exceptions raised when making changes to jenkins
308058
308059         · 91b583b493 Improve and correct exception raising
308060
308061         · f096917a0e Raise an exception if we fail to cache the config xml
308062
308063       · PR  #43026:  (rallytime)  Back-port  #43020  to  2016.11 @ 2017-08-17
308064         23:19:46 UTC
308065
308066         · PR #43020: (gtmanfred) test with gem that appears to  be  abandoned
308067           (refs: #43026)
308068
308069         · 2957467ed7 Merge pull request #43026 from rallytime/bp-43020
308070
308071         · 0eb15a1f67 test with gem that appears to be abandoned
308072
308073       · ISSUE  #40490: (alxwr) saltstack x509 incompatible to m2crypto 0.26.0
308074         (refs: #42760)
308075
308076       · PR #43033: (rallytime)  Back-port  #42760  to  2016.11  @  2017-08-17
308077         22:24:43 UTC
308078
308079         · PR  #42760:  (AFriemann)  Catch  TypeError  thrown by m2crypto when
308080           parsing missing subjects in c… (refs: #43033)
308081
308082         · 4150b094fe Merge pull request #43033 from rallytime/bp-42760
308083
308084         · 3e3f7f5d8e Catch TypeError thrown by m2crypto when parsing  missing
308085           subjects in certificate files.
308086
308087       · PR  #43032:  (rallytime)  Back-port  #42547  to  2016.11 @ 2017-08-17
308088         21:53:50 UTC
308089
308090         · PR #42547: (blarghmatey) Updated testinfra  modules  to  work  with
308091           more recent versions (refs: #43032)
308092
308093         · b124d3667e Merge pull request #43032 from rallytime/bp-42547
308094
308095         · ea4d7f4176  Updated testinfra modules to work with more recent ver‐
308096           sions
308097
308098       · ISSUE #42992: (pabloh007) docker.save   flag  push  does  is  ignored
308099         (refs: #43027)
308100
308101       · PR  #43027: (pabloh007) Fixes ignore push flag for docker.push module
308102         issue #42992 @ 2017-08-17 19:55:37 UTC
308103
308104         · a88386ad44      Merge      pull      request      #43027       from
308105           pabloh007/fix-docker-save-push-2016-11
308106
308107         · d0fd949f85  Fixes  ignore  push  flag  for docker.push module issue
308108           #42992
308109
308110       · ISSUE #42627: (taigrrr8) salt-cp no longer works.  Was working a  few
308111         months back. (refs: #42890)
308112
308113       · PR  #42890:  (DmitryKuzmenko) Make chunked mode in salt-cp optional @
308114         2017-08-17 18:37:44 UTC
308115
308116         · 51d16840bb   Merge   pull   request   #42890    from    DSRCorpora‐
308117           tion/bugs/42627_salt-cp
308118
308119         · cfddbf1c75 Apply code review: update the doc
308120
308121         · afedd3b654 Typos and version fixes in the doc.
308122
308123         · 9fedf6012e Fixed 'test_valid_docs' test.
308124
308125         · 999388680c  Make  chunked  mode  in  salt-cp  optional (disabled by
308126           default).
308127
308128       · PR #43009: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
308129         @ 2017-08-17 18:00:09 UTC
308130
308131         · b3c253cdfa Merge pull request #43009 from rallytime/merge-2016.11
308132
308133         · 566ba4fe76 Merge branch '2016.3' into '2016.11'
308134
308135           · 13b8637d53  Merge  pull  request  #42942 from Ch3LL/2016.3.6_fol‐
308136             low_up
308137
308138             · f281e1795f move additional minion config  options  to  2016.3.8
308139               release notes
308140
308141             · 168604ba6b remove merge conflict
308142
308143             · 8a07d95212 update release notes with cve number
308144
308145             · 149633fdca Add release notes for 2016.3.7 release
308146
308147             · 7a4cddcd95 Add clean_id function to salt.utils.verify.py
308148
308149           · bbb1b29ccb Merge pull request #42954 from Ch3LL/latest_2016.3
308150
308151             · b551e66744 [2016.3] Bump latest and previous versions
308152
308153           · 5d5edc54b7 Merge pull request #42949 from Ch3LL/2016.3.7_docs
308154
308155             · d75d3741f8 Add Security Notice to 2016.3.7 Release Notes
308156
308157       · PR  #43021:  (terminalmage)  Use  socket.AF_INET6  to get the correct
308158         value instead of doing an OS check @ 2017-08-17 17:57:09 UTC
308159
308160         · PR  #43014:   (Ch3LL)   Change   AF_INET6   family   for   mac   in
308161           test_host_to_ips (refs: #43021)
308162
308163         · 37c63e7cf2  Merge  pull  request  #43021 from terminalmage/fix-net‐
308164           work-test
308165
308166         · 4089b7b1bc Use socket.AF_INET6 to get the correct value instead  of
308167           doing an OS check
308168
308169       · PR  #43019:  (rallytime)  Update  bootstrap  script to latest stable:
308170         v2017.08.17 @ 2017-08-17 17:56:41 UTC
308171
308172         · 8f6423247c  Merge  pull   request   #43019   from   rallytime/boot‐
308173           strap_2017.08.17
308174
308175         · 2f762b3a17 Update bootstrap script to latest stable: v2017.08.17
308176
308177       · PR #43014: (Ch3LL) Change AF_INET6 family for mac in test_host_to_ips
308178         (refs: #43021) @ 2017-08-17 16:17:51 UTC
308179
308180         · ff1caeee68 Merge pull request #43014 from Ch3LL/fix_network_mac
308181
308182         · b8eee4401e Change AF_INET6 family for mac in test_host_to_ips
308183
308184       · PR #42968: (vutny) [DOCS] Fix link to Salt  Cloud  Feature  Matrix  @
308185         2017-08-16 13:16:16 UTC
308186
308187         · 1ee9499d28 Merge pull request #42968 from vutny/doc-salt-cloud-ref
308188
308189         · 44ed53b1df [DOCS] Fix link to Salt Cloud Feature Matrix
308190
308191       · ISSUE  #38839:  (DaveOHenry) Invoking runner.cloud.action via reactor
308192         sls fails (refs: #42291)
308193
308194       · PR #42291: (vutny) Fix #38839: remove state from Reactor runner kwags
308195         @ 2017-08-15 23:01:08 UTC
308196
308197         · 923f9741fe Merge pull request #42291 from vutny/fix-38839
308198
308199         · 5f8f98a01f Fix #38839: remove state from Reactor runner kwags
308200
308201       · ISSUE  #42644:  (stamak)    nova salt-cloud -P  Private IPs returned,
308202         but not public. Checking for misidentified IPs (refs: #42940)
308203
308204       · PR #42940: (gtmanfred) create new ip address before checking list  of
308205         allocated ips @ 2017-08-15 21:47:18 UTC
308206
308207         · c20bc7d515 Merge pull request #42940 from gtmanfred/2016.11
308208
308209         · 253e216a8d fix IP address spelling
308210
308211         · bd63074e7a  create new ip address before checking list of allocated
308212           ips
308213
308214       · PR #42959: (rallytime)  Back-port  #42883  to  2016.11  @  2017-08-15
308215         21:25:48 UTC
308216
308217         · PR #42883: (rallytime) Fix failing boto tests (refs: #42959)
308218
308219         · d6496eca72 Merge pull request #42959 from rallytime/bp-42883
308220
308221         · c6b9ca4b9e Lint fix: add missing space
308222
308223         · 5597b1a30e Skip 2 failing tests in Python 3 due to upstream bugs
308224
308225         · a0b19bdc27  Update  account  id  value in boto_secgroup module unit
308226           test
308227
308228         · 60b406e088 @mock_elb needs to be changed to @mock_elb_deprecated as
308229           well
308230
308231         · 6ae1111295 Replace @mock_ec2 calls with @mock_ec2_deprecated calls
308232
308233       · PR #42944: (Ch3LL) [2016.11] Add clean_id function to salt.utils.ver‐
308234         ify.py @ 2017-08-15 18:06:12 UTC
308235
308236         · 6366e05d0d Merge pull request #42944 from Ch3LL/2016.11.6_follow_up
308237
308238         · 7e0a20afca Add release notes for 2016.11.7 release
308239
308240         · 63823f8c3e Add clean_id function to salt.utils.verify.py
308241
308242       · PR #42952: (Ch3LL) [2016.11] Bump  latest  and  previous  versions  @
308243         2017-08-15 17:23:02 UTC
308244
308245         · 49d339c976 Merge pull request #42952 from Ch3LL/latest_2016.11
308246
308247         · 74e7055d54 [2016.11] Bump latest and previous versions
308248
308249       · PR  #42950:  (Ch3LL) Add Security Notice to 2016.11.7 Release Notes @
308250         2017-08-15 16:50:23 UTC
308251
308252         · b0d2e05a79 Merge pull request #42950 from Ch3LL/2016.11.7_docs
308253
308254         · a6f902db40 Add Security Notice to 2016.11.77 Release Notes
308255
308256       · PR #42836: (aneeshusa) Backport salt.utils.versions from  develop  to
308257         2016.11 @ 2017-08-14 20:56:54 UTC
308258
308259         · PR  #42835: (aneeshusa) Fix typo in utils/versions.py module (refs:
308260           #42836)
308261
308262         · c0ff69f88c Merge pull request #42836 from  lyft/backport-utils.ver‐
308263           sions-to-2016.11
308264
308265         · 86ce7004a2 Backport salt.utils.versions from develop to 2016.11
308266
308267       · PR  #42919:  (rallytime)  Back-port  #42871  to  2016.11 @ 2017-08-14
308268         20:44:00 UTC
308269
308270         · PR #42871: (amalleo25) Update joyent.rst (refs: #42919)
308271
308272         · 64a79dd5ac Merge pull request #42919 from rallytime/bp-42871
308273
308274         · 4e46c968e6 Update joyent.rst
308275
308276       · ISSUE  #42803:  (gmcwhistler)  master_type:  str,  not   working   as
308277         expected, parent salt-minion process dies. (refs: #42848)
308278
308279       · ISSUE  #42753:  (grichmond-salt) SaltReqTimeout Error on Some Minions
308280         when One Master in a Multi-Master Configuration is Unavailable (refs:
308281         #42848)
308282
308283       · PR  #42918:  (rallytime)  Back-port  #42848  to  2016.11 @ 2017-08-14
308284         20:43:43 UTC
308285
308286         · PR #42848: (DmitryKuzmenko) Execute fire_master  asynchronously  in
308287           the main minion thread. (refs: #42918)
308288
308289         · bea8ec1098 Merge pull request #42918 from rallytime/bp-42848
308290
308291         · cdb48126f7 Make lint happier.
308292
308293         · 62eca9b00b  Execute  fire_master  asynchronously in the main minion
308294           thread.
308295
308296       · PR #42861: (twangboy) Fix pkg.install salt-minion using  salt-call  @
308297         2017-08-14 19:07:22 UTC
308298
308299         · 52bce329cb     Merge    pull    request    #42861    from    twang‐
308300           boy/win_pkg_install_salt
308301
308302         · 0d3789f0c6 Fix pkg.install salt-minion using salt-call
308303
308304       · PR #42798: (s-sebastian) Update return data before calling  returners
308305         @ 2017-08-14 15:51:30 UTC
308306
308307         · b9f4f87aa5 Merge pull request #42798 from s-sebastian/2016.11
308308
308309         · 1cc86592ed Update return data before calling returners
308310
308311       · ISSUE  #41976:  (abulford)  dockerng  network  states  do not respect
308312         test=True (refs: #41977)
308313
308314       · PR #41977: (abulford) Fix dockerng.network_* ignoring of tests=True @
308315         2017-08-11 18:37:20 UTC
308316
308317         · c15d0034fe  Merge  pull  request  #41977  from  redmatter/fix-dock‐
308318           erng-network-ignores-test
308319
308320         · 1cc2aa503a Fix dockerng.network_* ignoring of tests=True
308321
308322       · PR #42886: (sarcasticadmin) Adding missing output flags to  salt  cli
308323         docs @ 2017-08-11 18:35:19 UTC
308324
308325         · 3b9c3c5671    Merge   pull   request   #42886   from   sarcasticad‐
308326           min/adding_docs_salt_outputs
308327
308328         · 744bf954ff Adding missing output flags to salt cli
308329
308330       · PR #42882: (gtmanfred) make sure  cmd  is  not  run  when  npm  isn't
308331         installed @ 2017-08-11 17:53:14 UTC
308332
308333         · e5b98c8a88 Merge pull request #42882 from gtmanfred/2016.11
308334
308335         · da3402a53d make sure cmd is not run when npm isn't installed
308336
308337       · PR  #42788:  (amendlik) Remove waits and retries from Saltify deploy‐
308338         ment @ 2017-08-11 15:38:05 UTC
308339
308340         · 5962c9588b Merge pull request #42788 from amendlik/saltify-timeout
308341
308342         · 928b523797 Remove waits and retries from Saltify deployment
308343
308344       · PR #42877: (terminalmage) Add virtual func for cron  state  module  @
308345         2017-08-11 15:33:09 UTC
308346
308347         · 227ecddd13    Merge    pull    request    #42877   from   terminal‐
308348           mage/add-cron-state-virtual
308349
308350         · f1de196740 Add virtual func for cron state module
308351
308352       · PR #42859: (terminalmage) Add note about git CLI requirement for Git‐
308353         Python to GitFS tutorial @ 2017-08-11 14:53:03 UTC
308354
308355         · ab9f6cef33   Merge   pull  request  #42859  from  terminalmage/git‐
308356           python-git-cli-note
308357
308358         · 35e05c9515 Add note about git  CLI  requirement  for  GitPython  to
308359           GitFS tutorial
308360
308361       · ISSUE  saltstack/salt-jenkins#475:  (rallytime)  Arch  is failing npm
308362         cache test (refs: #42856)
308363
308364       · ISSUE  #41770:   (Ch3LL)   NPM   v5   incompatible   with   salt.mod‐
308365         ules.cache_list (refs: #42856)
308366
308367       · PR  #42856:  (gtmanfred)  skip  cache_clean test if npm version is >=
308368         5.0.0 @ 2017-08-11 13:39:20 UTC
308369
308370         · 682b4a8d14 Merge pull request #42856 from gtmanfred/2016.11
308371
308372         · b458b89fb8 skip cache_clean test if npm version is >= 5.0.0
308373
308374       · PR #42864: (whiteinge) Make syndic_log_file respect root_dir  setting
308375         @ 2017-08-11 13:28:21 UTC
308376
308377         · 01ea854029   Merge   pull   request   #42864   from  whiteinge/syn‐
308378           dic-log-root_dir
308379
308380         · 4b1f55da9c Make syndic_log_file respect root_dir setting
308381
308382       · PR #42851: (terminalmage) Backport #42651  to  2016.11  @  2017-08-10
308383         18:02:39 UTC
308384
308385         · PR  #42651:  (gtmanfred)  python2-  prefix  for  fedora 26 packages
308386           (refs: #42851)
308387
308388         · 2dde1f77e9 Merge pull request #42851 from terminalmage/bp-42651
308389
308390         · a3da86eea8 fix syntax
308391
308392         · 6ecdbcec1d make sure names are correct
308393
308394         · f83b553d6e add py3 for versionlock
308395
308396         · 21934f61bb python2- prefix for fedora 26 packages
308397
308398       · ISSUE #42683:  (rgcosma)  Gluster  module  broken  in  2017.7  (refs:
308399         #42806)
308400
308401       · PR  #42806:  (rallytime)  Update  doc  references  in  glusterfs.vol‐
308402         ume_present @ 2017-08-10 14:10:16 UTC
308403
308404         · c746f79a3a Merge pull request #42806 from rallytime/fix-42683
308405
308406         · 8c8640d6b8 Update doc references in glusterfs.volume_present
308407
308408       · PR #42829: (twangboy) Fix passing version in pkgs as shown in docs  @
308409         2017-08-10 14:07:24 UTC
308410
308411         · 27a8a2695a     Merge    pull    request    #42829    from    twang‐
308412           boy/win_pkg_fix_install
308413
308414         · 83b9b230cd Add winrepo to docs about supporting versions in pkgs
308415
308416         · 81fefa6e67 Add ability to pass version in pkgs list
308417
308418       · PR #42838: (twangboy) Document requirements for win_pki @  2017-08-10
308419         13:59:46 UTC
308420
308421         · 3c3ac6aeb2 Merge pull request #42838 from twangboy/win_doc_pki
308422
308423         · f0a1d06b46 Standardize PKI Client
308424
308425         · 7de687aa57 Document requirements for win_pki
308426
308427       · PR  #42805:  (rallytime)  Back-port  #42552  to  2016.11 @ 2017-08-09
308428         22:37:56 UTC
308429
308430         · PR #42552: (remijouannet) update consul module following this docu‐
308431           mentation https://www.consul.… (refs: #42805)
308432
308433         · b3e2ae3c58 Merge pull request #42805 from rallytime/bp-42552
308434
308435         · 5a91c1f2d1   update  consul  module  following  this  documentation
308436           https://www.consul.io/api/acl.html
308437
308438       · ISSUE #42731: (infoveinx) http.query template_data  render  exception
308439         (refs: #42804)
308440
308441       · PR  #42804:  (rallytime)  Back-port  #42784  to  2016.11 @ 2017-08-09
308442         22:37:40 UTC
308443
308444         · PR #42784: (gtmanfred) only read file if ret is  not  a  string  in
308445           http.query (refs: #42804)
308446
308447         · d2ee7934ed Merge pull request #42804 from rallytime/bp-42784
308448
308449         · dbd29e4aaa only read file if it is not a string
308450
308451       · PR  #42826: (terminalmage) Fix misspelling of "versions" @ 2017-08-09
308452         19:39:43 UTC
308453
308454         · 4cbf8057b3 Merge pull request #42826 from terminalmage/fix-spelling
308455
308456         · 00f93142e4 Fix misspelling of "versions"
308457
308458       · PR #42786:  (Ch3LL)  Fix  typo  for  template_dict  in  http  docs  @
308459         2017-08-08 18:14:50 UTC
308460
308461         · de997edd90 Merge pull request #42786 from Ch3LL/fix_typo
308462
308463         · 90a2fb66a2 Fix typo for template_dict in http docs
308464
308465       · ISSUE  #42600:  (twangboy)  Unable  to  set  'Not  Configured'  using
308466         win_lgpo execution module (refs: #42795, #42744)
308467
308468       · PR #42795: (lomeroe) backport #42744 to 2016.11 @ 2017-08-08 17:17:15
308469         UTC
308470
308471         · PR #42744: (lomeroe) fix #42600 in develop (refs: #42795)
308472
308473         · bf6153ebe5 Merge pull request #42795 from lomeroe/bp-42744_201611
308474
308475         · 695f8c1ae4 fix #42600 in develop
308476
308477       · ISSUE #42747: (whiteinge) Outputters mutate data which can be a prob‐
308478         lem for Runners and perhaps other things (refs: #42748)
308479
308480       · PR #42748: (whiteinge) Workaround Orchestrate problem that  highstate
308481         outputter mutates data @ 2017-08-07 21:11:33 UTC
308482
308483         · 61fad97286       Merge      pull      request      #42748      from
308484           whiteinge/save-before-output
308485
308486         · de60b77c82 Workaround Orchestrate problem that highstate  outputter
308487           mutates data
308488
308489       · PR  #42764:  (amendlik) Fix infinite loop with salt-cloud and Windows
308490         nodes @ 2017-08-07 20:47:07 UTC
308491
308492         · a4e3e7e786 Merge pull request #42764 from amendlik/cloud-win-loop
308493
308494         · f3dcfca4e0 Fix infinite loops on failed Windows deployments
308495
308496       · ISSUE #42690: (ChristianBeer) git.latest state with remote set  fails
308497         on first try (refs: #42694)
308498
308499       · PR  #42694:  (gtmanfred) allow adding extra remotes to a repository @
308500         2017-08-07 18:08:11 UTC
308501
308502         · da85326ad4 Merge pull request #42694 from gtmanfred/2016.11
308503
308504         · 1a0457af51 allow adding extra remotes to a repository
308505
308506       · ISSUE #42642: (githubcdr) state.augeas (refs: #42669, #43202)
308507
308508       · PR #42669: (garethgreenaway)  [2016.11]  Fixes  to  augeas  module  @
308509         2017-08-06 17:58:03 UTC
308510
308511         · 7b2119feee    Merge   pull   request   #42669   from   garethgreen‐
308512           away/42642_2016_11_augeas_module_fix
308513
308514         · 24413084e2 Updating the call to shlex_split to pass the posix=False
308515           argument so that quotes are preserved.
308516
308517       · PR #42629: (xiaoanyunfei) tornado api @ 2017-08-03 22:21:20 UTC
308518
308519         · 30725769ed Merge pull request #42629 from xiaoanyunfei/tornadoapi
308520
308521         · 1e13383b95 tornado api
308522
308523       · PR   #42655:   (whiteinge)   Reenable  cpstats  for  rest_cherrypy  @
308524         2017-08-03 20:44:10 UTC
308525
308526         · PR #33806: (cachedout) Work around  upstream  cherrypy  bug  (refs:
308527           #42655)
308528
308529         · f0f00fcee1  Merge  pull  request  #42655  from whiteinge/rest_cher‐
308530           rypy-reenable-stats
308531
308532         · deb6316d67 Fix lint errors
308533
308534         · 6bd91c8b03 Reenable cpstats for rest_cherrypy
308535
308536       · ISSUE #42686: (gilbsgilbs)  Unable  to  set  multiple  RabbitMQ  tags
308537         (refs: #42693)
308538
308539       · PR  #42693:  (gilbsgilbs)  Fix  RabbitMQ  tags  not  properly set.  @
308540         2017-08-03 20:23:08 UTC
308541
308542         · 21cf15f9c3  Merge  pull  request  #42693  from  gilbsgilbs/fix-rab‐
308543           bitmq-tags
308544
308545         · 78fccdc7e2 Cast to list in case tags is a tuple.
308546
308547         · 287b57b5c5 Fix RabbitMQ tags not properly set.
308548
308549       · ISSUE #41433: (sbojarski) boto_cfn.present fails when reporting error
308550         for failed state (refs: #42574)
308551
308552       · PR #42574: (sbojarski) Fixed error  reporting  in  "boto_cfn.present"
308553         function.  @ 2017-08-01 17:55:29 UTC
308554
308555         · f2b0c9b4fa     Merge     pull     request    #42574    from    sbo‐
308556           jarski/boto-cfn-error-reporting
308557
308558         · 5c945f10c2 Fix debug message in "boto_cfn._validate" function.
308559
308560         · 181a1beecc Fixed error reporting in "boto_cfn.present" function.
308561
308562       · PR #42623: (terminalmage) Fix  unicode  constructor  in  custom  YAML
308563         loader @ 2017-07-31 19:25:18 UTC
308564
308565         · bc1effc4f2  Merge  pull  request  #42623 from terminalmage/fix-uni‐
308566           code-constructor
308567
308568         · fcf45889dd Fix unicode constructor in custom YAML loader
308569
308570       · PR #42515: (gtmanfred) Allow not interpreting backslashes in the repl
308571         @ 2017-07-28 16:00:09 UTC
308572
308573         · cbf752cd73 Merge pull request #42515 from gtmanfred/backslash
308574
308575         · cc4e45656d Allow not interpreting backslashes in the repl
308576
308577       · ISSUE #42456: (gdubroeucq) Use yum lib  (refs: #42586)
308578
308579       · PR  #42586:  (gdubroeucq)  [Fix] yumpkg.py: add option to the command
308580         "check-update" @ 2017-07-27 23:52:00 UTC
308581
308582         · 549495831f Merge pull request #42586 from gdubroeucq/2016.11
308583
308584         · 9c0b5cc1d6 Remove extra newline
308585
308586         · d2ef4483e4 yumpkg.py: clean
308587
308588         · a96f7c09e0 yumpkg.py: add option to the command "check-update"
308589
308590       · ISSUE #41982: (abulford) dockerng.network_* matches too easily (refs:
308591         #41988)
308592
308593       · PR   #41988:   (abulford)  Fix  dockerng.network_*  name  matching  @
308594         2017-07-27 21:25:06 UTC
308595
308596         · 6b45debf28  Merge  pull  request  #41988  from  redmatter/fix-dock‐
308597           erng-network-matching
308598
308599         · 9eea796da8 Add regression tests for #41982
308600
308601         · 3369f0072f Fix broken unit test test_network_absent
308602
308603         · 0ef6cf634c Add trace logging of dockerng.networks result
308604
308605         · 515c612808 Fix dockerng.network_* name matching
308606
308607       · PR #42339: (isbm) Bugfix: Jobs scheduled to run at a future time stay
308608         pending for Salt minions (bsc#1036125) @ 2017-07-27 19:05:51 UTC
308609
308610         · 4b16109122 Merge pull  request  #42339  from  isbm/isbm-jobs-sched‐
308611           uled-in-a-future-bsc1036125
308612
308613         · bbba84ce2d  Bugfix:  Jobs  scheduled  to  run at a future time stay
308614           pending for Salt minions (bsc#1036125)
308615
308616       · ISSUE #23516: (dkiser) BUG: cron  job  scheduler  sporadically  works
308617         (refs: #42077)
308618
308619       · PR  #42077: (vutny) Fix scheduled job run on Master if when parameter
308620         is a list @ 2017-07-27 19:04:23 UTC
308621
308622         · PR #41973: (vutny) Fix Master/Minion scheduled jobs based  on  Cron
308623           expressions (refs: #42077)
308624
308625         · 6c5a7c604a  Merge  pull  request  #42077 from vutny/fix-jobs-sched‐
308626           uled-with-whens
308627
308628         · b1960cea44 Fix scheduled job run on Master if when parameter  is  a
308629           list
308630
308631       · PR  #42414:  (vutny)  DOCS:  unify  hash  sum with hash type format @
308632         2017-07-27 18:48:40 UTC
308633
308634         · f9cb536589      Merge      pull      request      #42414       from
308635           vutny/unify-hash-params-format
308636
308637         · d1f2a93368 DOCS: unify hash sum with hash type format
308638
308639       · ISSUE #42375: (dragonpaw) salt.modules.*.__virtualname__ doens't work
308640         as documented. (refs: #42523)
308641
308642       · PR #42523: (rallytime) Add a mention of the True/False  returns  with
308643         __virtual__() @ 2017-07-27 18:13:07 UTC
308644
308645         · 535c922511 Merge pull request #42523 from rallytime/fix-42375
308646
308647         · 685c2cced6  Add  information  about returning a tuple with an error
308648           message
308649
308650         · fa466519c4 Add a mention of  the  True/False  returns  with  __vir‐
308651           tual__()
308652
308653       · PR  #42527:  (twangboy) Document changes to Windows Update in Windows
308654         10/Server 2016 @ 2017-07-27 17:45:38 UTC
308655
308656         · 0df0e7e749 Merge pull request #42527 from twangboy/win_wua
308657
308658         · 0373791f2a Correct capatlization
308659
308660         · af3bcc927b Document changes to Windows Update in 10/2016
308661
308662       · PR #42551: (binocvlar) Remove  '-s'  (--script)  argument  to  parted
308663         within align_check function @ 2017-07-27 17:35:31 UTC
308664
308665         · 69b06586da       Merge      pull      request      #42551      from
308666           binocvlar/fix-lack-of-align-check-output
308667
308668         · c4fabaa192  Remove  '-s'  (--script)  argument  to  parted   within
308669           align_check function
308670
308671       · ISSUE  #42403:  (astronouth7303)  [2017.7] Pillar empty when state is
308672         applied from orchestrate (refs: #42433)
308673
308674       · PR #42573: (rallytime)  Back-port  #42433  to  2016.11  @  2017-07-27
308675         13:51:21 UTC
308676
308677         · PR  #42433:  (terminalmage)  Only  force  saltenv/pillarenv to be a
308678           string when not None (refs: #42573)
308679
308680         · 9e0b4e9faf Merge pull request #42573 from rallytime/bp-42433
308681
308682         · 0293429e24 Only force saltenv/pillarenv to be  a  string  when  not
308683           None
308684
308685       · PR #42571: (twangboy) Avoid loading system PYTHON* environment vars @
308686         2017-07-26 22:48:55 UTC
308687
308688         · e931ed2517 Merge pull request #42571 from  twangboy/win_add_python‐
308689           path
308690
308691         · d55a44dd1a Avoid loading user site packages
308692
308693         · 9af1eb2741  Ignore any PYTHON* environment vars already on the sys‐
308694           tem
308695
308696         · 4e2fb03a95 Add pythonpath to batch files and service
308697
308698       · ISSUE #42371: (tsaridas) Minion unresponsive after trying to failover
308699         (refs: #42387)
308700
308701       · PR #42387: (DmitryKuzmenko) Fix race condition in usage of weakvalue‐
308702         dict @ 2017-07-25 20:57:42 UTC
308703
308704         · de2f397041   Merge   pull   request   #42387    from    DSRCorpora‐
308705           tion/bugs/42371_KeyError_WeakValueDict
308706
308707         · e721c7eee2 Don't use key in weakvaluedict because it could lie.
308708
308709       · ISSUE  #41955: (root360-AndreasUlm) rabbitmq 3.6.10 changed output =>
308710         rabbitmq-module broken (refs: #41968)
308711
308712       · PR #41968: (root360-AndreasUlm) Fix rabbitmqctl output sanitizer  for
308713         version 3.6.10 @ 2017-07-25 19:12:36 UTC
308714
308715         · 641a9d7efd   Merge   pull   request   #41968  from  root360-Andrea‐
308716           sUlm/fix-rabbitmqctl-output-handler
308717
308718         · 76fd941d91 added tests for rabbitmq 3.6.10 output handler
308719
308720         · 3602af1e1b Fix rabbitmqctl output handler for 3.6.10
308721
308722       · ISSUE #42477: (aikar) Invalid ssh_interface value prevents salt-cloud
308723         provisioning without reason of why (refs: #42479)
308724
308725       · PR  #42479:  (gtmanfred)  validate ssh_interface for ec2 @ 2017-07-25
308726         18:37:18 UTC
308727
308728         · 66fede378a Merge pull request #42479 from gtmanfred/interface
308729
308730         · c32c1b2803 fix pylint
308731
308732         · 99ec634c6b validate ssh_interface for ec2
308733
308734       · ISSUE #42405: (felrivero) The documentation is  incorrectly  compiled
308735         (PILLAR section) (refs: #42516)
308736
308737       · PR #42516: (rallytime) Add info about top file to pillar walk-through
308738         example to include edit.vim @ 2017-07-25 17:01:12 UTC
308739
308740         · a925c7029a Merge pull request #42516 from rallytime/fix-42405
308741
308742         · e3a6717efa Add info about top file to pillar  walk-through  example
308743           to include edit.vim
308744
308745       · ISSUE  #42417:  (clem-compilatio)  salt-cloud  - openstack - "no more
308746         floating IP addresses" error - but public_ip in node (refs: #42509)
308747
308748       · PR #42509: (clem-compilatio) Fix _assign_floating_ips in openstack.py
308749         @ 2017-07-24 17:14:13 UTC
308750
308751         · 1bd5bbccc2 Merge pull request #42509 from clem-compilatio/fix-42417
308752
308753         · 72924b06b8 Fix _assign_floating_ips in openstack.py
308754
308755       · PR  #42464: (garethgreenaway) [2016.11] Small fix to modules/git.py @
308756         2017-07-21 21:28:57 UTC
308757
308758         · 4bf35a74de   Merge   pull   request   #42464   from    garethgreen‐
308759           away/2016_11_remove_tmp_identity_file
308760
308761         · ff24102d51  Uncomment  the line that removes the temporary identity
308762           file.
308763
308764       · ISSUE #42357: (Giandom) Salt  pillarenv  problem  with  slack  engine
308765         (refs: #42443)
308766
308767       · PR   #42443:  (garethgreenaway)  [2016.11]  Fix  to  slack  engine  @
308768         2017-07-21 15:48:57 UTC
308769
308770         · e2120dbd0e   Merge   pull   request   #42443   from    garethgreen‐
308771           away/42357_pass_args_kwargs_correctly
308772
308773         · 635810b3e3  Updating  the  slack engine in 2016.11 to pass the args
308774           and kwrags correctly to LocalClient
308775
308776       · ISSUE #42198: (shengis) state sqlite3.row_absent fail  with  "parame‐
308777         ters are of unsupported type" (refs: #42200)
308778
308779       · PR #42200: (shengis) Fix #42198 @ 2017-07-21 14:47:29 UTC
308780
308781         · 8262cc9054       Merge      pull      request      #42200      from
308782           shengis/sqlite3_fix_row_absent_2016.11
308783
308784         · 407b8f4bb3 Fix #42198 If where_args is not set, not using it in the
308785           delete request.
308786
308787       · ISSUE  #42413:  (goten4) Invalid error message when proxy_host is set
308788         and tornado not installed (refs: #42424)
308789
308790       · PR #42424: (goten4) Fix error message when tornado or pycurl  is  not
308791         installed @ 2017-07-20 21:53:40 UTC
308792
308793         · d9df97e5a3 Merge pull request #42424 from goten4/2016.11
308794
308795         · 1c0574d05e  Fix  error  message  when  tornado  or  pycurl  is  not
308796           installed
308797
308798       · PR #42350: (twangboy) Fixes  problem  with  Version  and  OS  Release
308799         related  grains  on certain versions of Python (2016.11) @ 2017-07-19
308800         17:07:26 UTC
308801
308802         · 42bb1a64ca    Merge    pull    request    #42350    from     twang‐
308803           boy/win_fix_ver_grains_2016.11
308804
308805         · 8c048403d7 Detect Server OS with a desktop release name
308806
308807       · PR #42356: (meaksh) Allow to check whether a function is available on
308808         the AliasesLoader wrapper @ 2017-07-19 16:56:41 UTC
308809
308810         · 0a72e56f6b Merge pull request #42356  from  meaksh/2016.11-Aliases‐
308811           Loader-wrapper-fix
308812
308813         · 915d94219e  Allow  to  check whether a function is available on the
308814           AliasesLoader wrapper
308815
308816       · PR #42368:  (twangboy)  Remove  build  and  dist  directories  before
308817         install (2016.11) @ 2017-07-19 16:47:28 UTC
308818
308819         · 10eb7b7a79     Merge    pull    request    #42368    from    twang‐
308820           boy/win_fix_build_2016.11
308821
308822         · a7c910c31e Remove build and dist directories before install
308823
308824       · PR #42370: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
308825         @ 2017-07-18 22:39:41 UTC
308826
308827         · 016189f62f Merge pull request #42370 from rallytime/merge-2016.11
308828
308829         · 0aa5dde1de Merge branch '2016.3' into '2016.11'
308830
308831         · e9b0f20f8a Merge pull request #42359 from Ch3LL/doc-update-2016.3
308832
308833           · dc85b5edbe  [2016.3]  Update  version  numbers  in doc config for
308834             2017.7.0 release
308835
308836       · PR #42360: (Ch3LL) [2016.11] Update version numbers in doc config for
308837         2017.7.0 release @ 2017-07-18 19:23:30 UTC
308838
308839         · f06a6f1796 Merge pull request #42360 from Ch3LL/doc-update-2016.11
308840
308841         · b90b7a7506  [2016.11]  Update  version  numbers  in  doc config for
308842           2017.7.0 release
308843
308844       · ISSUE #32400:  (rallytime)  Document  Default  Config  Values  (refs:
308845         #42319)
308846
308847       · PR #42319: (rallytime) Add more documentation for config options that
308848         are missing from master/minion docs @ 2017-07-18 18:02:32 UTC
308849
308850         · e0595b0a0f Merge pull request #42319 from rallytime/config-docs
308851
308852         · b40f980632 Add more documentation for config options that are miss‐
308853           ing from master/minion docs
308854
308855       · ISSUE  #42333:  (b3hni4)  Getting  "invalid  type  of dict, a list is
308856         required" when trying to configure  engines  in  master  config  file
308857         (refs: #42352)
308858
308859       · PR  #42352:  (CorvinM)  Multiple  documentation  fixes  @  2017-07-18
308860         15:10:37 UTC
308861
308862         · 78940400e3 Merge pull request #42352 from CorvinM/issue42333
308863
308864         · 526b6ee14d Multiple documentation fixes
308865
308866       · PR #42353: (terminalmage) is_windows  is  a  function,  not  a  prop‐
308867         ery/attribute @ 2017-07-18 14:38:51 UTC
308868
308869         · b256001760 Merge pull request #42353 from terminalmage/fix-git-test
308870
308871         · 14cf6ce322 is_windows is a function, not a propery/attribute
308872
308873       · ISSUE  #41116: (hrumph) FAQ has wrong instructions for upgrading Win‐
308874         dows minion. (refs: #42264)
308875
308876       · PR #42264: (rallytime) Update minion restart section in FAQ  doc  for
308877         windows @ 2017-07-17 17:40:40 UTC
308878
308879         · 866a1febb4 Merge pull request #42264 from rallytime/fix-41116
308880
308881         · bd638880e3  Add  mono-spacing  to salt-minion reference for consis‐
308882           tency
308883
308884         · 30d62f43da Update minion restart section in FAQ doc for windows
308885
308886       · ISSUE #42194: (jryberg) pkg version: latest are now broken, appending
308887         <package>-latest to filename (refs: #42275)
308888
308889       · PR  #42275: (terminalmage) pkg.installed: pack name/version into pkgs
308890         argument @ 2017-07-17 17:38:39 UTC
308891
308892         · 9a707088ad Merge pull request #42275 from terminalmage/issue42194
308893
308894         · 663874908a pkg.installed: pack name/version into pkgs argument
308895
308896       · ISSUE #41721: (sazaro) state.sysrc broken when setting the  value  to
308897         YES or NO (refs: #42269)
308898
308899       · PR  #42269: (rallytime) Add some clarity to "multiple quotes" section
308900         of yaml docs @ 2017-07-17 17:38:18 UTC
308901
308902         · e588f235e0 Merge pull request #42269 from rallytime/fix-41721
308903
308904         · f2250d474a Add a note about using different styles of quotes.
308905
308906         · 38d9b3d553 Add some clarity to "multiple quotes"  section  of  yaml
308907           docs
308908
308909       · ISSUE  #42152:  (dubb-b)  salt-cloud errors on Rackspace driver using
308910         -out=yaml  (refs: #42282)
308911
308912       · PR #42282: (rallytime) Handle libcloud objects that  throw  Represen‐
308913         terErrors with --out=yaml @ 2017-07-17 17:36:35 UTC
308914
308915         · 5aaa214a75 Merge pull request #42282 from rallytime/fix-42152
308916
308917         · f032223843  Handle  libcloud  objects  that throw RepresenterErrors
308918           with --out=yaml
308919
308920       · ISSUE #42295: (lubyou) file.absent fails on windows if the file to be
308921         removed has the "readonly" attribute set (refs: #42308)
308922
308923       · PR  #42308:  (lubyou)  Force  file removal on Windows. Fixes #42295 @
308924         2017-07-17 17:12:13 UTC
308925
308926         · fb5697a4bc      Merge      pull      request      #42308       from
308927           lubyou/42295-fix-file-absent-windows
308928
308929         · 026ccf401a Force file removal on Windows. Fixes #42295
308930
308931       · ISSUE  #42267:  (gzcwnk) salt-ssh not creating ssh keys automatically
308932         as per documentation (refs: #42314)
308933
308934       · PR #42314: (rallytime) Add clarification to salt ssh docs  about  key
308935         auto-generation.  @ 2017-07-17 14:07:49 UTC
308936
308937         · da2a8a518f Merge pull request #42314 from rallytime/fix-42267
308938
308939         · c406046940 Add clarification to salt ssh docs about key auto-gener‐
308940           ation.
308941
308942       · ISSUE #41936: (michaelkarrer81) git.latest identity does not set  the
308943         correct user for the private key file on the minion (refs: #41945)
308944
308945       · PR  #41945:  (garethgreenaway)  Fixes  to modules/git.py @ 2017-07-14
308946         17:46:10 UTC
308947
308948         · acadd54013   Merge   pull   request   #41945   from    garethgreen‐
308949           away/41936_allow_identity_files_with_user
308950
308951         · 44841e5626  Moving the call to cp.get_file inside the with block to
308952           ensure the umask is preserved when we grab the file.
308953
308954         · f9ba60eed8 Merge pull request #1 from terminalmage/pr-41945
308955
308956           · 1b6026177c Restrict set_umask to mkstemp call only
308957
308958         · 68549f3496 Fixing umask to we can set files as executable.
308959
308960         · 4949bf3ff3 Updating to swap on the  new  salt.utils.files.set_umask
308961           context_manager
308962
308963         · 8faa9f6d92 Updating PR with requested changes.
308964
308965         · 494765e939  Updating the git module to allow an identity file to be
308966           used when passing the user parameter
308967
308968       · ISSUE #42240: (casselt) empty_password in user.present always changes
308969         password, even with test=True (refs: #42289)
308970
308971       · PR  #42289:  (CorvinM) Multiple empty_password fixes for state.user @
308972         2017-07-14 16:14:02 UTC
308973
308974         · PR #41543: (cri-epita) Fix user creation with empty password (refs:
308975           #42289)
308976
308977         · f90e04a2bc Merge pull request #42289 from CorvinM/bp-41543
308978
308979         · 357dc22f05 Fix user creation with empty password
308980
308981       · PR  #42123:  (vutny)  DOCS:  describe importing custom util classes @
308982         2017-07-12 15:53:24 UTC
308983
308984         · a91a3f81b1  Merge   pull   request   #42123   from   vutny/fix-mas‐
308985           ter-utils-import
308986
308987         · 6bb8b8f98c Add missing doc for utils_dirs Minion config option
308988
308989         · f1bc58f6d5 Utils: add example of module import
308990
308991       · PR  #42261:  (rallytime)  Some  minor doc fixes for dnsutil module so
308992         they'll render correctly @ 2017-07-11 23:14:53 UTC
308993
308994         · e2aa5114e4 Merge pull request #42261 from rallytime/minor-doc-fix
308995
308996         · 8c76bbb53d Some minor doc fixes for dnsutil module so they'll  ren‐
308997           der correctly
308998
308999       · PR  #42262:  (rallytime)  Back-port  #42224  to  2016.11 @ 2017-07-11
309000         23:14:25 UTC
309001
309002         · PR #42224: (tdutrion) Remove  duplicate  instruction  in  Openstack
309003           Rackspace config example (refs: #42262)
309004
309005         · 3e9dfbc9cc Merge pull request #42262 from rallytime/bp-42224
309006
309007         · c31ded341c Remove duplicate instruction in Openstack Rackspace con‐
309008           fig example
309009
309010       · ISSUE #42137: (kiemlicz) cmd.run  with  multiple  commands  -  random
309011         order of execution (refs: #42181)
309012
309013       · PR  #42181: (garethgreenaway) fixes to state.py for names parameter @
309014         2017-07-11 21:21:32 UTC
309015
309016         · 7780579c36   Merge   pull   request   #42181   from    garethgreen‐
309017           away/42137_backport_fix_from_2017_7
309018
309019         · a34970b45b  Back  porting the fix for 2017.7 that ensures the order
309020           of the names parameter.
309021
309022       · PR #42253: (gtmanfred) Only use unassociated ips when unable to allo‐
309023         cate @ 2017-07-11 20:53:51 UTC
309024
309025         · PR #38965: (toanju) salt-cloud will use list_floating_ips for Open‐
309026           Stack (refs: #42253)
309027
309028         · PR #34280: (kevinanderson1) salt-cloud will  use  list_floating_ips
309029           for Openstack (refs: #38965)
309030
309031         · 72537868a6 Merge pull request #42253 from gtmanfred/2016.11
309032
309033         · 53e25760be Only use unassociated ips when unable to allocate
309034
309035       · PR  #42252: (UtahDave) simple docstring updates @ 2017-07-11 20:48:33
309036         UTC
309037
309038         · b2a4698b5d Merge pull request #42252 from UtahDave/2016.11local
309039
309040         · e6a9563d47 simple doc updates
309041
309042       · ISSUE #42232: (astronouth7303) Half of dnsutil refers to  dig  (refs:
309043         #42235)
309044
309045       · PR #42235: (astronouth7303) Abolish references to dig in examples.  @
309046         2017-07-10 20:06:11 UTC
309047
309048         · 781fe13be7      Merge      pull      request      #42235       from
309049           astronouth7303/patch-1-2016.3
309050
309051         · 4cb51bd03a Make note of dig partial requirement.
309052
309053         · 08e7d8351a Abolish references to dig in examples.
309054
309055       · PR  #42215:  (twangboy)  Add  missing  config to example @ 2017-07-07
309056         20:18:44 UTC
309057
309058         · 83cbd76f16 Merge pull request #42215 from twangboy/win_iis_docs
309059
309060         · c07e22041a Add missing config to example
309061
309062       · PR #42211: (terminalmage) Only pass a saltenv in orchestration if one
309063         was explicitly passed (2016.11) @ 2017-07-07 20:16:35 UTC
309064
309065         · 274946ab00 Merge pull request #42211 from terminalmage/issue40928
309066
309067         · 22a18fa2ed  Only pass a saltenv in orchestration if one was explic‐
309068           itly passed (2016.11)
309069
309070       · PR #42173: (rallytime)  Back-port  #37424  to  2016.11  @  2017-07-07
309071         16:39:59 UTC
309072
309073         · PR  #37424:  (kojiromike)  Avoid  Early  Convert  ret['comment'] to
309074           String (refs: #42173)
309075
309076         · 89261cf06c Merge pull request #42173 from rallytime/bp-37424
309077
309078         · 01addb6053 Avoid Early Convert ret['comment'] to String
309079
309080       · ISSUE #39365: (dglloyd) service.running fails if sysv script  has  no
309081         status command and enable: True (refs: #39366)
309082
309083       · PR  #42175:  (rallytime)  Back-port  #39366  to  2016.11 @ 2017-07-06
309084         19:51:47 UTC
309085
309086         · PR #39366: (dglloyd) Pass sig  to  service.status  in  after_toggle
309087           (refs: #42175)
309088
309089         · 3b17fb7f83 Merge pull request #42175 from rallytime/bp-39366
309090
309091         · 53f7b987e8 Pass sig to service.status in after_toggle
309092
309093       · PR #42172: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
309094         @ 2017-07-06 18:16:29 UTC
309095
309096         · ea16f47f0a Merge pull request #42172 from rallytime/merge-2016.11
309097
309098         · b1fa332a11 Merge branch '2016.3' into '2016.11'
309099
309100           · 8fa1fa5bb1 Merge pull request #42155 from phsteve/doc-fix-puppet
309101
309102             · fb2cb78a31 Fix docs for puppet.plugin_sync so  code-block  ren‐
309103               ders properly and sync is spelled consistently
309104
309105       · PR  #42176:  (rallytime)  Back-port  #42109  to  2016.11 @ 2017-07-06
309106         18:15:35 UTC
309107
309108         · PR #42109:  (arthurlogilab)  [doc]  Update  aws.rst  -  add  Debian
309109           default username (refs: #42176)
309110
309111         · 6307b9873f Merge pull request #42176 from rallytime/bp-42109
309112
309113         · 686926daf7 Update aws.rst - add Debian default username
309114
309115       · PR  #42095:  (terminalmage)  Add  debug  logging  to dockerng.login @
309116         2017-07-06 17:13:05 UTC
309117
309118         · 28c4e4c3b7   Merge   pull    request    #42095    from    terminal‐
309119           mage/docker-login-debugging
309120
309121         · bd27870a71 Add debug logging to dockerng.login
309122
309123       · ISSUE  #42116:  (terminalmage)  CLI  pillar  override  regression  in
309124         2017.7.0rc1 (refs: #42119)
309125
309126       · PR #42119: (terminalmage) Fix regression in CLI pillar  override  for
309127         salt-call @ 2017-07-06 17:02:52 UTC
309128
309129         · 2b754bc5af Merge pull request #42119 from terminalmage/issue42116
309130
309131         · 9a268949e3 Add integration test for 42116
309132
309133         · 1bb42bb609  Fix  regression  when  CLI pillar override is used with
309134           salt-call
309135
309136       · ISSUE #42114: (clallen) saltenv bug in  pillar.get  execution  module
309137         function (refs: #42121)
309138
309139       · PR  #42121:  (terminalmage)  Fix  pillar.get when saltenv is passed @
309140         2017-07-06 16:52:34 UTC
309141
309142         · 8c0a83cbb5 Merge pull request #42121 from terminalmage/issue42114
309143
309144         · d14291267f Fix pillar.get when saltenv is passed
309145
309146       · PR #42094: (terminalmage) Prevent command from showing  in  exception
309147         when output_loglevel=quiet @ 2017-07-06 16:18:09 UTC
309148
309149         · 687992c240 Merge pull request #42094 from terminalmage/quiet-excep‐
309150           tion
309151
309152         · 47d61f4edf Prevent command from  showing  in  exception  when  out‐
309153           put_loglevel=quiet
309154
309155       · ISSUE  #42115:  (nomeelnoj)  Installing  EPEL  repo breaks salt-cloud
309156         (refs: #42163)
309157
309158       · PR #42163: (vutny) Fix #42115: parse libcloud "rc" version  correctly
309159         @ 2017-07-06 16:15:07 UTC
309160
309161         · dad255160c Merge pull request #42163 from vutny/fix-42115
309162
309163         · b27b1e340a Fix #42115: parse libcloud "rc" version correctly
309164
309165       · PR  #42164:  (Ch3LL)  Fix  kerberos  create_keytab  doc  @ 2017-07-06
309166         15:55:33 UTC
309167
309168         · 2a8ae2b3b6 Merge pull request #42164 from Ch3LL/fix_kerb_doc
309169
309170         · 7c0fb248ec Fix kerberos create_keytab doc
309171
309172       · PR #42141: (rallytime)  Back-port  #42098  to  2016.11  @  2017-07-06
309173         15:11:49 UTC
309174
309175         · PR #42098: (twangboy) Change repo_ng to repo-ng (refs: #42141)
309176
309177         · 678d4d4098 Merge pull request #42141 from rallytime/bp-42098
309178
309179         · bd80243233 Change repo_ng to repo-ng
309180
309181       · PR  #42140:  (rallytime)  Back-port  #42097  to  2016.11 @ 2017-07-06
309182         15:11:29 UTC
309183
309184         · PR #42097: (gtmanfred) require  large  timediff  for  ipv6  warning
309185           (refs: #42140)
309186
309187         · c8afd7a3c9 Merge pull request #42140 from rallytime/bp-42097
309188
309189         · 9c4e132540 Import datetime
309190
309191         · 1435bf177e require large timediff for ipv6 warning
309192
309193       · PR  #42142:  (Ch3LL)  Update  builds  available  for rc1 @ 2017-07-05
309194         21:11:56 UTC
309195
309196         · c239664c8b Merge pull request #42142 from Ch3LL/change_builds
309197
309198         · e1694af39c Update builds available for rc1
309199
309200       · PR #42078: (damon-atkins) pkg.install and pkg.remove fix version num‐
309201         ber input.  @ 2017-07-05 06:04:57 UTC
309202
309203         · 4780d7830a  Merge  pull  request  #42078 from damon-atkins/fix_con‐
309204           vert_flt_str_version_on_cmd_line
309205
309206         · 09d37dd892 Fix comment typo
309207
309208         · 7167549425 Handle version=None   when  converted  to  a  string  it
309209           becomes  'None'  parm  should  default  to empty string rather than
309210           None, it would fix better with existing code.
309211
309212         · 4fb2bb1856 Fix typo
309213
309214         · cf55c3361c pkg.install and pkg.remove on the command line take num‐
309215           ber  version numbers, store them within a float. However version is
309216           a string, to support versions numbers like 1.3.4
309217
309218       · PR #42105: (Ch3LL) Update releasecanddiate doc with  new  2017.7.0rc1
309219         Release @ 2017-07-04 03:14:42 UTC
309220
309221         · 46d575acbc Merge pull request #42105 from Ch3LL/update_rc
309222
309223         · d4e7b91608 Update releasecanddiate doc with new 2017.7.0rc1 Release
309224
309225       · ISSUE #41885: (astronouth7303) Recommended pip installation outdated?
309226         (refs: #42099)
309227
309228       · PR #42099: (rallytime) Remove  references  in  docs  to  pip  install
309229         salt-cloud @ 2017-07-03 22:13:44 UTC
309230
309231         · d38548bbbd Merge pull request #42099 from rallytime/fix-41885
309232
309233         · c2822e05ad Remove references in docs to pip install salt-cloud
309234
309235       · ISSUE #42076: (abulford) dockerng.volume_present test looks as though
309236         it would cause a change (refs: #42086)
309237
309238       · PR #42086: (abulford)  Make  result=true  if  Docker  volume  already
309239         exists @ 2017-07-03 15:48:33 UTC
309240
309241         · 81d606a8cb  Merge  pull  request  #42086  from  redmatter/fix-dock‐
309242           erng-volume-present-result
309243
309244         · 8d549685a7 Make result=true if Docker volume already exists
309245
309246       · ISSUE #25842: (shikhartanwar) Running salt-minion as non-root user to
309247         execute sudo commands always returns an error (refs: #42021)
309248
309249       · PR  #42021:  (gtmanfred)  Set  concurrent to True when running states
309250         with sudo @ 2017-06-30 21:02:15 UTC
309251
309252         · 7160697123 Merge pull request #42021 from gtmanfred/2016.11
309253
309254         · 26beb18aa5 Set concurrent to True when running states with sudo
309255
309256       · PR #42029: (terminalmage) Mock socket.getaddrinfo in  unit.utils.net‐
309257         work_test.NetworkTestCase.test_host_to_ips @ 2017-06-30 20:58:56 UTC
309258
309259         · b784fbbdf8 Merge pull request #42029 from terminalmage/host_to_ips
309260
309261         · 26f848e111  Mock socket.getaddrinfo in unit.utils.network_test.Net‐
309262           workTestCase.test_host_to_ips
309263
309264       · PR #42055: (dmurphy18) Upgrade support for gnupg v2.1  and  higher  @
309265         2017-06-30 20:54:02 UTC
309266
309267         · e067020b9b Merge pull request #42055 from dmurphy18/handle_gnupgv21
309268
309269         · e20cea6350 Upgrade support for gnupg v2.1 and higher
309270
309271       · PR  #42048:  (Ch3LL) Add initial 2016.11.7 Release Notes @ 2017-06-30
309272         16:00:05 UTC
309273
309274         · 74ba2abc48 Merge pull request #42048 from Ch3LL/add_11.7
309275
309276         · 1de5e008a0 Add initial 2016.11.7 Release Notes
309277
309278       · PR #42024: (leeclemens) doc: Specify versionadded for SELinux  policy
309279         install/uninstall @ 2017-06-29 23:29:50 UTC
309280
309281         · ca4e619edb Merge pull request #42024 from leeclemens/doc/selinux
309282
309283         · b63a3c0fae   doc:   Specify   versionadded   for   SELinux   policy
309284           install/uninstall
309285
309286         · PR saltstack/salt#41961: (cachedout) Allow docs to be  built  under
309287           Python 3 (refs: #42028)
309288
309289       · PR  #42030: (whiteinge) Re-add msgpack to mocked imports @ 2017-06-29
309290         20:47:59 UTC
309291
309292         · PR #42028: (whiteinge) Revert "Allow docs to be built under  Python
309293           3" (refs: #42030)
309294
309295         · 50856d0e28       Merge      pull      request      #42030      from
309296           whiteinge/revert-py3-doc-chagnes-pt-2
309297
309298         · 18dfa9893c Re-add msgpack to mocked imports
309299
309300         · PR saltstack/salt#41961: (cachedout) Allow docs to be  built  under
309301           Python 3 (refs: #42028)
309302
309303       · PR #42028: (whiteinge) Revert "Allow docs to be built under Python 3"
309304         (refs: #42030) @ 2017-06-29 19:47:46 UTC
309305
309306         · 53031d2f55    Merge    pull    request    #42028     from     salt‐
309307           stack/revert-41961-py3_doc
309308
309309         · 5592e6e5d4 Revert "Allow docs to be built under Python 3"
309310
309311       · ISSUE  #42013: (dusto) Misspelled nozeroconf in salt/modules/rh_ip.py
309312         (refs: #42017)
309313
309314       · PR #42017: (lorengordon) Fixes typo  "nozerconf"  ->  "nozeroconf"  @
309315         2017-06-29 17:30:48 UTC
309316
309317         · 1416bf70b9 Merge pull request #42017 from lorengordon/issue-42013
309318
309319         · b6cf5f2528 Fixes typo nozerconf -> nozeroconf
309320
309321       · PR  #41906:  (terminalmage)  Better  support  for  numeric saltenvs @
309322         2017-06-29 17:19:33 UTC
309323
309324         · 0ebb50b601   Merge   pull    request    #41906    from    terminal‐
309325           mage/numeric-saltenv
309326
309327         · 2d798de982 Better support for numeric saltenvs
309328
309329       · PR #41995: (terminalmage) Temporarily set the umask before writing an
309330         auth token @ 2017-06-29 01:09:48 UTC
309331
309332         · 6a3c03c2d5 Merge pull request #41995 from terminalmage/token-umask
309333
309334         · 4f54b0069f Temporarily set the umask before writing an auth token
309335
309336       · PR #41999:  (terminalmage)  Update  IP  address  for  unit.utils.net‐
309337         work_test.NetworkTestCase.test_host_to_ips @ 2017-06-29 01:01:31 UTC
309338
309339         · e3801b0e78  Merge  pull  request  #41999 from terminalmage/fix-net‐
309340           work-test
309341
309342         · fb6a93314f Update IP address  for  unit.utils.network_test.Network‐
309343           TestCase.test_host_to_ips
309344
309345       · ISSUE  #18659:  (whiteinge)  mod_aggregate  not working for list-form
309346         configuration (refs: #41991)
309347
309348       · PR #41991: (Da-Juan) Accept a list for state_aggregate global setting
309349         @ 2017-06-29 00:58:59 UTC
309350
309351         · a7f38929cb  Merge pull request #41991 from Da-Juan/fix-state_aggre‐
309352           gate-list
309353
309354         · c9075b8f84 Accept a list for state_aggregate setting
309355
309356       · PR #41993: (UtahDave) change out salt support link to SaltConf link @
309357         2017-06-29 00:55:20 UTC
309358
309359         · 7424f879a3 Merge pull request #41993 from UtahDave/2016.11local
309360
309361         · bff050ad52 change out salt support link to SaltConf link
309362
309363       · PR #41987: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
309364         @ 2017-06-28 20:19:11 UTC
309365
309366         · 3b9ccf09d7 Merge pull request #41987 from rallytime/merge-2016.11
309367
309368         · 48867c4a82 Merge branch '2016.3' into '2016.11'
309369
309370           · c589eae03f Merge pull request #41981 from Ch3LL/11.6_3
309371
309372           · 2516ae1349 [2016.3] Bump latest release version to 2016.11.6
309373
309374       · PR #41985: (rallytime)  Back-port  #41780  to  2016.11  @  2017-06-28
309375         20:18:57 UTC
309376
309377         · PR  #41780:  (ferringb)  Fix  salt.util.render_jinja_tmpl usage for
309378           when not used in an environmnet (refs: #41985)
309379
309380         · 768339d734 Merge pull request #41985 from rallytime/bp-41780
309381
309382         · 8f8d3a473a Fix salt.util.render_jinja_tmpl usage for when not  used
309383           in an environment.
309384
309385       · ISSUE  #34963:  (craigafinch) Incorrect behavior or documentation for
309386         comments in salt.states.pkgrepo.managed (refs: #41820)
309387
309388       · PR #41986: (rallytime)  Back-port  #41820  to  2016.11  @  2017-06-28
309389         20:18:43 UTC
309390
309391         · PR  #41820:  (nhavens)  Fix yum repo file comments to work as docu‐
309392           mented in pkgrepo.managed (refs: #41986)
309393
309394         · bd9090c0bf Merge pull request #41986 from rallytime/bp-41820
309395
309396         · 72320e35b9 Fix yum repo file comments  to  work  as  documented  in
309397           pkgrepo.managed
309398
309399       · PR  #41973:  (vutny)  Fix  Master/Minion scheduled jobs based on Cron
309400         expressions (refs: #42077) @ 2017-06-28 16:39:02 UTC
309401
309402         · a31da52635 Merge pull request #41973 from vutny/fix-croniter-sched‐
309403           uled-jobs
309404
309405         · 148788e652  Fix  Master/Minion scheduled jobs based on Cron expres‐
309406           sions
309407
309408       · PR #41980: (Ch3LL) [2016.11] Bump latest release version to 2016.11.6
309409         @ 2017-06-28 15:35:11 UTC
309410
309411         · 689ff93349 Merge pull request #41980 from Ch3LL/11.6_11
309412
309413         · fe4f5711d5 [2016.11] Bump latest release version to 2016.11.6
309414
309415       · PR  #41961:  (cachedout)  Allow  docs  to  be  built under Python 3 @
309416         2017-06-27 21:11:54 UTC
309417
309418         · 82b1eb28ab Merge pull request #41961 from cachedout/py3_doc
309419
309420         · 7aacddf6ef Allow docs to be built under Python 3
309421
309422       · PR #41948: (davidjb) Fix Composer state's  name  docs;  formatting  @
309423         2017-06-27 17:51:29 UTC
309424
309425         · PR  #41933:  (davidjb)  Fix  Composer state's name docs and improve
309426           formatting (refs: #41948)
309427
309428         · f0eb51df17 Merge pull request #41948 from davidjb/patch-9
309429
309430         · 0e4b3d9a42 Fix Composer state's name docs; formatting
309431
309432       · PR #41914: (vutny) archive.extracted: fix hash sum  verification  for
309433         local archives @ 2017-06-26 17:59:27 UTC
309434
309435         · e28e10ded2   Merge   pull   request   #41914   from   vutny/fix-ar‐
309436           chive-extracted-local-file-hash
309437
309438         · 54910fe55f archive.extracted: fix hash sum verification  for  local
309439           archives
309440
309441       · PR #41912: (Ch3LL) Allow pacman module to run on Manjaro @ 2017-06-26
309442         15:35:20 UTC
309443
309444         · 76ad6ff064 Merge pull request #41912 from Ch3LL/fix_manjaro
309445
309446         · e4dd72a3e7 Update os_name_map in core grains for new  manjaro  sys‐
309447           tems
309448
309449         · aa7c839fc5 Allow pacman module to run on Manjaro
309450
309451       · ISSUE  #38093:  (DmitryKuzmenko)  Make threads avoid blocking waiting
309452         while communicating using TCP transport. (refs: #41516)
309453
309454       · PR #41516: (kstreee) Implements MessageClientPool to  avoid  blocking
309455         waiting for zeromq and tcp communications.  @ 2017-06-26 14:41:38 UTC
309456
309457         · PR  #37878:  (kstreee)  Makes  threads avoid blocking waiting while
309458           communicating using Zeromq. (refs: #41516)
309459
309460         · ff67d47a2e  Merge  pull  request  #41516  from   kstreee/fix-block‐
309461           ing-waiting-tcp-connection
309462
309463         · df96969959 Removes redundant closing statements.
309464
309465         · 94b9ea51eb  Implements  MessageClientPool to avoid blocking waiting
309466           for zeromq and tcp communications.
309467
309468       · PR #41888: (Ch3LL) Add additional commits to 2016.11.6 release  notes
309469         @ 2017-06-22 16:19:00 UTC
309470
309471         · c90cb6798a Merge pull request #41888 from Ch3LL/change_release
309472
309473         · 4e1239d980 Add additional commits to 2016.11.6 release notes
309474
309475       · PR  #41882:  (Ch3LL)  Add  pycryptodome  to  crypt_test  @ 2017-06-21
309476         19:51:10 UTC
309477
309478         · 4a326444fe Merge pull request #41882 from Ch3LL/fix_crypt_test
309479
309480         · 6f70dbd0e1 Add pycryptodome to crypt_test
309481
309482       · PR #41877: (Ch3LL) Fix netstat and routes test @ 2017-06-21  16:16:58
309483         UTC
309484
309485         · 13df29ed9b Merge pull request #41877 from Ch3LL/fix_netstat_test
309486
309487         · d2076a6c93 Patch salt.utils.which for test_route test
309488
309489         · 51f7e107dc Patch salt.utils.which for test_netstat test
309490
309491       · ISSUE  #41367:  (lubyou) certutil.add_store does not work on non eng‐
309492         lish windows versions or on Windows 10 (localised or English)  (refs:
309493         #41566)
309494
309495       · PR  #41566:  (morganwillcock)  win_certutil:  workaround  for reading
309496         serial numbers with non-English languages @ 2017-06-21 15:40:29 UTC
309497
309498         · 66f8c83c93 Merge pull request #41566 from morganwillcock/certutil
309499
309500         · c337d52d0c Fix test data for test_get_serial, and a typo
309501
309502         · 7f6961378e test and lint fixes
309503
309504         · 8ee48432f4 Suppress output of crypt context  and  be  more  specifc
309505           with whitespace vs. serial
309506
309507         · 61f817d172 Match serials based on output position (fix for non-Eng‐
309508           lish languages)
309509
309510       · PR #41679: (terminalmage) Prevent unnecessary duplicate pillar compi‐
309511         lation @ 2017-06-21 15:32:42 UTC
309512
309513         · 4d0f5c433d    Merge    pull    request    #41679   from   terminal‐
309514           mage/get-top-file-envs
309515
309516         · a916e8da49 Improve normalization  of  saltenv/pillarenv  usage  for
309517           states
309518
309519         · 02f293a19c Update state unit tests to reflect recent changes
309520
309521         · b7e5c11165 Don't compile pillar data when getting top file envs
309522
309523         · 8d6fdb7c9a Don't compile pillar twice for salt-call
309524
309525         · d2abfbf4ed Add initial_pillar argument to salt.state
309526
309527         · 70186de532  salt.pillar:  rename  the  "pillar"  argument  to "pil‐
309528           lar_override"
309529
309530       · ISSUE #39668: (mirceaulinic) Master scheduled job not recorded on the
309531         event bus (refs: #41658)
309532
309533       · ISSUE #12653: (pengyao) salt schedule doesn't return jobs result info
309534         to master (refs: #41853)
309535
309536       · PR #41853: (vutny) Fix master side scheduled jobs to return events  @
309537         2017-06-20 22:06:29 UTC
309538
309539         · PR  #41695:  (xiaoanyunfei) fix max RecursionError, Ellipsis (refs:
309540           #41853)
309541
309542         · PR #41658: (garethgreenaway) Fixes to  the  salt  scheduler  (refs:
309543           #41853)
309544
309545         · 29b0acc3a2  Merge  pull request #41853 from vutny/fix-master-sched‐
309546           ule-event
309547
309548         · e206c381c6 Fix master side scheduled jobs to return events
309549
309550   Salt 2016.11.9 Release Notes
309551       Version 2016.11.9 is a bugfix release for 2016.11.0.
309552
309553   Statistics
309554       · Total Merges: 143
309555
309556       · Total Issue References: 60
309557
309558       · Total PR References: 167
309559
309560       · Contributors:  54  (Ch3LL,  UtahDave,  VertigoRay,  akissa,   aogier,
309561         arthtux,   austinpapp,   basepi,   benediktwerner,   bobrik,  brejoc,
309562         cachedout, cetanu, corywright, creideiki, cro, cruscio, damon-atkins,
309563         dayid,  defanator,  dereckson,  dijit,  doesitblend, garethgreenaway,
309564         gtmanfred, gurubert, gvengel,  jfindlay,  johnj,  jubrad,  junovitch,
309565         lomeroe,  lordcirth, lorengordon, mattLLVW, meaksh, moio, msummers42,
309566         mtkennerly,   nicholasmhughes,   oeuftete,    rallytime,    rasathus,
309567         roaldnefs,   rossengeorgiev,   seanjnkns,   senthilkumar-e,  techhat,
309568         terminalmage, twangboy, vernondcole, vutny, whiteinge, whytewolf)
309569
309570   Windows Changes
309571   pkg Execution Module`
309572       Significate changes (PR #43708 & #45390, damon-atkins) have  been  made
309573       to  the  pkg  execution  module. Users should test this release against
309574       their existing package sls definition files.
309575
309576       · pkg.list_available no longer defaults to refreshing the winrepo  meta
309577         database.
309578
309579       · pkg.install  without  a version parameter no longer upgrades software
309580         if the software is already installed.  Use pkg.install version=latest
309581         (or simply use a pkg.latest state to get the old behavior.
309582
309583       · pkg.list_pkgs  now  returns  multiple  versions if software installed
309584         more than once.
309585
309586       · pkg.list_pkgs now returns Not Found when the  version  is  not  found
309587         instead of (value not set) which matches the contents of the sls def‐
309588         initions.
309589
309590       · pkg.remove will wait up to 3 seconds (normally  about  a  second)  to
309591         detect  changes  in  the  registry after removing software, improving
309592         reporting of version changes.
309593
309594       · pkg.remove can remove latest software, if latest is  defined  in  sls
309595         definition.
309596
309597       · Documentation  was update for the execution module to match the style
309598         in new versions, some corrections as well.
309599
309600       · All install/remove commands are prefix with cmd.exe shell and  cmdmod
309601         is  called  with  a  command  line string instead of a list. Some sls
309602         files in saltstack/salt-winrepo-ng expected the commands to  be  pre‐
309603         fixed with cmd.exe (i.e. the use of &).
309604
309605       · Some  execution  module functions results, now behave more like their
309606         Unix/Linux versions.
309607
309608   cmd Execution Module
309609       Due to a difference in how Python's subprocess.Popen() spawns processes
309610       on  Windows,  passing  the command as a list of arguments can result in
309611       problems.  This is because Windows' CreateProcess requires the  command
309612       to  be passed as a single string. Therefore, subprocess will attempt to
309613       re-assemble the list of arguments into as string. Some escaped  charac‐
309614       ters and quotes can cause the resulting string to be incorrectly-assem‐
309615       bled, resulting in a failure to execute the command.
309616
309617       Salt now deals with these cases by joining the list of  arguments  cor‐
309618       rectly and ensuring that the command is passed to subprocess.Popen() as
309619       a string.
309620
309621   Changelog for v2016.11.8..v2016.11.9
309622       Generated at: 2018-05-27 20:28:05 UTC
309623
309624       · PR #45638: (twangboy) Win fix shell info @ 2018-01-23 22:38:22 UTC
309625
309626         · 10812969f0    Merge    pull    request    #45638    from     twang‐
309627           boy/win_fix_shell_info
309628
309629         · 872da3ffba Only convert text types in the list_values function
309630
309631         · 0e41535cdb Fix reg.py to only convert text types to unicode
309632
309633         · 3579534ea5 Fix issue with detecting powershell
309634
309635       · PR  #45564:  (Ch3LL)  Add  PR  changes  to  2016.11.9 Release Notes @
309636         2018-01-19 21:36:05 UTC
309637
309638         · 2d1dd1186e Merge pull request #45564 from Ch3LL/r-notes-2016
309639
309640         · 325f4cbcda Add PR changes to 2016.11.9 Release Notes
309641
309642       · PR #45563: (Ch3LL)  Update  man  pages  for  2016.11.9  @  2018-01-19
309643         21:19:00 UTC
309644
309645         · 28e4398150 Merge pull request #45563 from Ch3LL/man_2016
309646
309647         · 529bc0c680 update release number for salt-call man page 2016.11.9
309648
309649         · 11b7222148 Update man pages for 2016.11.9
309650
309651       · PR  #45532:  (gtmanfred)  fix mock for opensuse @ 2018-01-18 22:48:30
309652         UTC
309653
309654         · 654df0f526 Merge pull request #45532 from gtmanfred/2016.11.9
309655
309656         · 6c26025664 fix mock for opensuse
309657
309658       · PR #45518: (gtmanfred) fix last 2016.11.9 failing tests @  2018-01-18
309659         12:03:50 UTC
309660
309661         · 571c33aa39 Merge pull request #45518 from gtmanfred/2016.11.9
309662
309663         · 5455d2dee6 fix centos 6 pip test
309664
309665         · 40255194b0 fix fedora pkg test
309666
309667       · ISSUE #45394: (dmurphy18) git.latest fails when "depth"  is used with
309668         a non-default branch (refs: #45399)
309669
309670       · PR #45443: (rallytime) Back-port #45399  to  2016.11.9  @  2018-01-17
309671         14:53:58 UTC
309672
309673         · PR  #45399:  (terminalmage)  Fix git.latest failure when rev is not
309674           the default branch (refs: #45443)
309675
309676         · 4e0a0eec1f    Merge    pull    request    #45443    from     rally‐
309677           time/bp-45399-2016.11.9
309678
309679         · 919e92c911  Fix  git.latest  failure  when  rev  is not the default
309680           branch
309681
309682       · ISSUE #45432: (TheBigBear) winrepo-ng  fault  pkg.refresh_db  doesn't
309683         work  -  it  processes ANY stray .git metadata *.sls files present on
309684         minion (refs: #45493)
309685
309686       · PR #45493: (damon-atkins) win_pkg: pkg.refresh_db report an issue  if
309687         a  sls  pkg  definition does not contain a dict instead of aborting @
309688         2018-01-17 14:52:03 UTC
309689
309690         · ebd4db66b8      Merge      pull      request      #45493       from
309691           damon-atkins/2016.11_fix_sls_defintion_wrong_type
309692
309693         · af108440df win_pkg lint space after ,
309694
309695         · c6e922a236 win_pkg lint issues
309696
309697         · f4627d7a80 fix quote i.e. change ` to '
309698
309699         · 6938a4c099  pkg.refresh_db  report an issue if a sls pkg definition
309700           id not a dict instead of aborting.
309701
309702       · PR #45446: (rallytime) Back-port #45390  to  2016.11.9  @  2018-01-16
309703         20:08:38 UTC
309704
309705         · PR  #45390:  (damon-atkins)  win_pkg: fix pkg.remove, pkg.list_pkgs
309706           (refs: #45446)
309707
309708         · 7322efba92 Merge pull request #45446 from rallytime/bp-45390
309709
309710         · 69f045ea24 lint too-many-blank-lines
309711
309712         · 10a7501ede Update release notes
309713
309714         · 6f2affe01c fix pkg.remove, pkg.list_pkgs
309715
309716       · PR #45424: (twangboy)  Fix  some  issues  with  reg.py  @  2018-01-13
309717         19:34:47 UTC
309718
309719         · b0ece9f4d4 Merge pull request #45424 from twangboy/win_reg
309720
309721         · 30f06205f7 Fix some issues with reg.py
309722
309723       · PR #45327: (lomeroe) Backport #44861 to 2016.11 @ 2018-01-08 21:10:41
309724         UTC
309725
309726         · PR #44861:  (twangboy)  Fix  win_lgpo  for  unknown  values  (refs:
309727           #45327)
309728
309729         · 0959ae4ea3 Merge pull request #45327 from lomeroe/bp-44861_2016.11
309730
309731         · 784139f734 Check for values other than 0 or 1
309732
309733       · PR  #45268: (damon-atkins) Fix pkg.install packagename version=latest
309734         i.e. if on an old version is installed @ 2018-01-08 17:34:15 UTC
309735
309736         · a6db5f95f0      Merge      pull      request      #45268       from
309737           damon-atkins/2016.11_win_pkg_pkg_install_latest
309738
309739         · 325a9f0f66 Update 2016.11.9.rst
309740
309741         · 4da9200b9c Update 2016.11.9.rst
309742
309743         · 126aee36ac Update 2016.11.9.rst
309744
309745         · 1c01967943 Update 2016.11.9.rst
309746
309747         · a0d89882b8 Fix pkg.install packagename version=latest i.e. if on an
309748           old version upgrade to the latest
309749
309750       · PR #45256: (rallytime)  Back-port  #45034  to  2016.11  @  2018-01-04
309751         14:25:42 UTC
309752
309753         · PR #45034: (brejoc) Fix for pidfile removal logging (refs: #45256)
309754
309755         · 1c5e905b61 Merge pull request #45256 from rallytime/bp-45034
309756
309757         · 68f971b38f Apply test fixes from #45034 to parsers_test.py
309758
309759         · 9454236694 Fix for pidfile removal logging
309760
309761       · ISSUE  saltstack/salt-jenkins#598:  (rallytime)  [oxygen] CentOS 7 is
309762         failing ~ 20  tests  in  the  integration.ssh.test_state.SSHStateTest
309763         (refs: #45209)
309764
309765       · PR  #45235:  (rallytime)  Back-port  #45209  to  2016.11 @ 2018-01-02
309766         20:20:15 UTC
309767
309768         · PR #45209: (gtmanfred) enable UsePAM for ssh tests (refs: #45235)
309769
309770         · b75f50afe3 Merge pull request #45235 from rallytime/bp-45209
309771
309772         · 2d0a9bbf7e enable UsePAM for ssh tests
309773
309774       · PR #44965: (gtmanfred) check if VALUE is a string_type  @  2018-01-02
309775         16:42:39 UTC
309776
309777         · 3ab962b01a Merge pull request #44965 from gtmanfred/2016.11
309778
309779         · a5d8a6340e check if VALUE is a string_type
309780
309781       · ISSUE  #27160:  (martinadolfi)  salt.states.mount  persistence  error
309782         using spaces in route (refs: #45232)
309783
309784       · PR  #45232:  (rasathus)  Backport  #27160  to  2016.11  @  2018-01-02
309785         15:48:22 UTC
309786
309787         · 40fb30f63f Merge pull request #45232 from rasathus/2016.11
309788
309789         · 7a2bd8f49b Merge branch '2016.11' into 2016.11
309790
309791       · ISSUE  #44516:  (doesitblend)  Windows  PY3 Minion Returns UTF16 Uni‐
309792         codeError (refs: #44944, #45161)
309793
309794       · PR #45161: (lomeroe) Backport #44944 to 2016.11 @ 2017-12-30 13:19:35
309795         UTC
309796
309797         · PR  #44944: (lomeroe) win_lgpo registry.pol encoding updates (refs:
309798           #45161)
309799
309800         · 707ef55175 Merge pull request #45161 from lomeroe/bp-44944_2016.11
309801
309802         · 0a4c6b5a83 remove references to six.unichr
309803
309804         · f3196d795d lint fixes for static regexes
309805
309806         · 11b637d108 lint fixes
309807
309808         · c14d6282ad do not decode registry.pol file wholesale,  but  instead
309809           decode individual elements of the file
309810
309811       · ISSUE  #45188:  (jak3kaj)  salt  state  status.process always returns
309812         false (refs: #45199)
309813
309814       · PR #45199: (gtmanfred) status.pid returns pid ids not process names @
309815         2017-12-28 19:06:11 UTC
309816
309817         · 6f52034e08 Merge pull request #45199 from gtmanfred/status
309818
309819         · fb07f9ea7d status.pid returns pid ids not process names
309820
309821       · ISSUE  #44728: (casselt) Nodegroups can not be defined by glob with ?
309822         or seq (refs: #45118)
309823
309824       · PR #45118: (garethgreenaway) [2016.11] Fix  to  allow  nodegroups  to
309825         include sequences @ 2017-12-27 18:49:10 UTC
309826
309827         · d3381e27d0    Merge   pull   request   #45118   from   garethgreen‐
309828           away/44728_nodegroups_seq
309829
309830         · 0ff811de70 Swapping import to be the old path for 2016.11
309831
309832         · b3e2f388f5 Fix to allow nodegroups to include sequences
309833
309834       · PR #45127: (twangboy) Fix issue with 1641 return  code  @  2017-12-22
309835         15:18:28 UTC
309836
309837         · f969aca3a3 Merge pull request #45127 from twangboy/win_fix_pkg
309838
309839         · 14639739f2 Fix issue with 1641 return code
309840
309841       · PR  #45137:  (twangboy)  Catch  correct  error  type in list_keys and
309842         list_values @ 2017-12-22 14:45:22 UTC
309843
309844         · dc357b39f0    Merge    pull    request    #45137    from     twang‐
309845           boy/win_fix_reg_tests
309846
309847         · b6f4ef8d73 Catch correct error type in list_keys and list_values
309848
309849       · PR  #45130:  (rallytime)  Resolve  groups  for  salt api @ 2017-12-21
309850         20:38:32 UTC
309851
309852         · 0aa1662731 Merge pull request #45130 from rallytime/api-groups
309853
309854         · 2dcc8df845 Resolve groups for salt api
309855
309856       · PR #45114: (twangboy) Move pam library load  to  try/except  block  @
309857         2017-12-21 14:37:17 UTC
309858
309859         · 7dc3cc4641 Merge pull request #45114 from twangboy/win_fix_pam
309860
309861         · cf5eae1f77 Move pam library load to try/except block
309862
309863       · ISSUE  #45049: (vernondcole) salt cloud module documentation is miss‐
309864         ing from the index. (refs: #45070)
309865
309866       · PR #45100: (rallytime)  Back-port  #45070  to  2016.11  @  2017-12-20
309867         14:55:01 UTC
309868
309869         · PR  #45070:  (vernondcole)  insert  clouds  modules in index (refs:
309870           #45100)
309871
309872         · 7e128e8f15 Merge pull request #45100 from rallytime/bp-45070
309873
309874         · 0bdb46dab9 add clouds modules to index
309875
309876       · PR #45098: (rallytime)  Back-port  #45092  to  2016.11  @  2017-12-20
309877         14:40:51 UTC
309878
309879         · PR   #45092:  (terminalmage)  Fix  integration.states.test_pip.Pip‐
309880           StateTest.test_pip_installed_weird_install (refs: #45098)
309881
309882         · bdf93f339d Merge pull request #45098 from rallytime/bp-45092
309883
309884         · 80b6bd6813           Fix           integration.states.test_pip.Pip‐
309885           StateTest.test_pip_installed_weird_install
309886
309887       · ISSUE  #41044:  (pirxthepilot)  user.present  'date' parameter is not
309888         applying (refs: #44078)
309889
309890       · PR #44078: (rossengeorgiev) user.present: allow date param to be 0  @
309891         2017-12-19 15:59:29 UTC
309892
309893         · 324b7d4058 Merge pull request #44078 from rossengeorgiev/fix-41044
309894
309895         · a81a6fe23c fix #41044; allow for date param to be 0
309896
309897       · PR  #44970:  (rallytime)  Update  bootstrap script to latest release:
309898         2017.12.13 @ 2017-12-19 15:49:05 UTC
309899
309900         · 48a59761df Merge pull request  #44970  from  rallytime/update-boot‐
309901           strap-script
309902
309903         · b2c8057427 Update bootstrap script to latest release: 2017.12.13
309904
309905       · ISSUE  #45036:  (dijit)  Quiet installation of packaged minions fails
309906         due to redistributable not being quietly  installed  [py3]  [Windows]
309907         (refs: #45040)
309908
309909       · PR  #45069:  (rallytime)  Back-port  #45040  to  2016.11 @ 2017-12-19
309910         14:25:57 UTC
309911
309912         · PR #45040: (dijit) Installation Fails on headless machines.  (refs:
309913           #45069)
309914
309915         · 637fdaed58 Merge pull request #45069 from rallytime/bp-45040
309916
309917         · aa438e1605 Installation Fails on headless machines.
309918
309919              · de53c45c29 Backport #27160 to 2016.11
309920
309921       · ISSUE #41286: (arthtux) boto_vpc.accept_vpc_peering_connection wait a
309922         object  (refs: #41305)
309923
309924       · PR #44969: (rallytime)  Back-port  #41305  to  2016.11  @  2017-12-15
309925         17:22:18 UTC
309926
309927         · PR  #41305:  (arthtux) correct accept_vpc_peering_connection (refs:
309928           #44969)
309929
309930         · 4d6d640381 Merge pull request #44969 from rallytime/bp-41305
309931
309932         · 5c4bee43dc correct accept_vpc_peering_connection
309933
309934       · PR #45031:  (terminalmage)  Fix  invalid  exception  class  in  mysql
309935         returner @ 2017-12-15 15:00:15 UTC
309936
309937         · 10de468f13    Merge    pull    request    #45031   from   terminal‐
309938           mage/fix-mysql-returner
309939
309940         · f3bd12c27c Fix invalid exception class in mysql returner
309941
309942       · ISSUE #44820: (msteed) Custom returner breaks  manage  runner  (refs:
309943         #44958)
309944
309945       · PR  #44972:  (terminalmage)  Backport  #44958  to  2016.11  branch  @
309946         2017-12-14 16:56:02 UTC
309947
309948         · PR #44958: (terminalmage) Fix a race  condition  in  manage  runner
309949           (refs: #44972)
309950
309951         · 9a7406207f Merge pull request #44972 from terminalmage/bp-44958
309952
309953         · a416bf0112  No  need to manually do connect_pub, use listen=True in
309954           run_job
309955
309956         · 3ec004bd2e Fix a race condition in manage runner
309957
309958       · ISSUE #44378: (llua) minion: infinite loop during start when schedule
309959         key is null  (refs: #44385)
309960
309961       · PR #44385: (gtmanfred) schedule should be a dict in opts @ 2017-12-12
309962         20:44:02 UTC
309963
309964         · 1032ca3290 Merge pull request #44385 from gtmanfred/schedule
309965
309966         · 9e15c38da2 add comma
309967
309968         · 855d933cb7 schedule should be a dict
309969
309970       · ISSUE  #44734:  (cruscio)  Documentation  inconsistency  for   minion
309971         ping_interval timing (refs: #44770)
309972
309973       · PR   #44770:  (cruscio)  Fix  minion  ping_interval  documentation  @
309974         2017-12-11 19:50:19 UTC
309975
309976         · 68d901b12c Merge pull request #44770 from cruscio/2016.11
309977
309978         · e2682bf441 Fix minion ping_interval documentation
309979
309980       · ISSUE #44292: (andrew-regan) grains['virtual_subtype'] assignment for
309981         Docker broken on Mac (refs: #44335)
309982
309983       · PR #44335: (gtmanfred) add docker-ce to docker subtype grains check @
309984         2017-12-10 17:17:49 UTC
309985
309986         · d4ab55ec47 Merge pull request #44335 from gtmanfred/2016.11
309987
309988         · 3f1268d67f fix patching for python 2.6
309989
309990         · 1d0bd5bb32 Merge branch '2016.11' into 2016.11
309991
309992         · f02b02032d Merge pull request #4 from terminalmage/pr-44335
309993
309994           · b4eb1527a6 Add test for PR 44335
309995
309996         · a30af3252e add docker-ce to docker subtype grains check
309997
309998       · ISSUE #44530: (roaldnefs) Identifier not working in  salt.states.cron
309999         when special is used (refs: #44579)
310000
310001       · PR  #44579:  (roaldnefs)  Fix  bug  in  cron module and state - Fixes
310002         #44530 @ 2017-12-07 20:18:27 UTC
310003
310004         · bb1f8dceaf Merge pull request #44579 from  roaldnefs/fix-cron-iden‐
310005           tifier
310006
310007         · df73a4c051 Merge branch '2016.11' into fix-cron-identifier
310008
310009       · PR  #44852:  (damon-atkins)  win_pkg  fix  spelling  typos and minion
310010         option 2016.11 @ 2017-12-06 16:49:17 UTC
310011
310012         · af0131fa1f      Merge      pull      request      #44852       from
310013           damon-atkins/2016.11_win_pkg_typo_n_fix
310014
310015         · 0e7c19084f Lint: Remove extra whitespace
310016
310017         · 7c7e21f94d  Fix  spelling typo, and fix backwards campatible minion
310018           option for repo location
310019
310020       · ISSUE #44365: (icycle77) file.managed appears to  ignore  source_hash
310021         check (refs: #44794)
310022
310023       · PR   #44794:  (terminalmage)  Fix  regression  in  file.managed  when
310024         source_hash used with local file @ 2017-12-04 14:23:29 UTC
310025
310026         · 88c0d66b4e Merge pull request #44794 from terminalmage/issue44365
310027
310028         · 3b8b6f25e6 Remove debugging line
310029
310030         · 153bf45b03 Fix regression in  file.managed  when  source_hash  used
310031           with local file
310032
310033       · ISSUE #35777: (rallytime) Properly deprecate template context data in
310034         Fluorine (refs: #44738)
310035
310036       · ISSUE #35523: (rallytime) Come up with a reasonable  alternative  for
310037         lxc.edited_conf (refs: #44738)
310038
310039       · PR  #44738: (rallytime) Bump some deprecation warnings from Oxygen to
310040         Fluorine @ 2017-12-01 23:10:08 UTC
310041
310042         · c8bb9dfbbb  Merge  pull  request  #44738  from  rallytime/bump-oxy‐
310043           gen-warnings
310044
310045         · ead3c569e1 Bump deprecation warnings from Oxygen to Fluorine
310046
310047       · ISSUE  #44730:  (msciciel)  State  network.routes could not add route
310048         without gateway on centos7 (refs: #44741)
310049
310050       · PR #44741: (gtmanfred) if  gateway  is  not  specified  use  iface  @
310051         2017-12-01 23:09:03 UTC
310052
310053         · 88e3aab00d Merge pull request #44741 from gtmanfred/rhip
310054
310055         · 439dc8dce6 if gateway is not specified use iface
310056
310057       · ISSUE  #31405:  (SEJeff)  Salt leaves tmp file when file.managed dest
310058         file is immutable (refs: #44699)
310059
310060       · PR #44699: (jfindlay) utils/files.py remove temp file upon move fail‐
310061         ure @ 2017-12-01 15:03:54 UTC
310062
310063         · 97e0cf569c Merge pull request #44699 from jfindlay/attr_file
310064
310065         · 9e5a40ea7c Merge branch '2016.11' into attr_file
310066
310067         · 5c34607f6c utils/files remove temp file upon move failure
310068
310069       · ISSUE  #44556: (doesitblend) --static option doesn't return highstate
310070         output (refs: #44714)
310071
310072       · PR #44714: (rallytime) Allow --static option to  display  state  runs
310073         with highstate output @ 2017-12-01 14:31:19 UTC
310074
310075         · 7434e0afdf Merge pull request #44714 from rallytime/fix-44556
310076
310077         · 1bbe1abeb2  Allow  --static option to display state runs with high‐
310078           state output
310079
310080       · PR #44517: (whytewolf) Publish port doc missing @ 2017-11-28 21:50:19
310081         UTC
310082
310083         · 998d714ee7   Merge   pull   request   #44517   from  whytewolf/pub‐
310084           lish_port_doc_missing
310085
310086         · 4b5855283a missed one place where i didnt chanbge master_port  from
310087           my copy to publish_port
310088
310089         · e4610baea5 update doc to have publish port
310090
310091       · PR  #41279:  (Ch3LL)  Add  fqdn and dns core grain tests @ 2017-11-27
310092         21:28:10 UTC
310093
310094         · 6169b52749 Merge pull request #41279 from Ch3LL/add_grain_tests
310095
310096         · 1b64f15692 Merge branch '2016.11' into add_grain_tests
310097
310098         · 095f1b7d7a Merge branch '2016.11' into add_grain_tests
310099
310100         · 9ea4db4224 mock socket.getaddrinfo
310101
310102         · 78a07e30f4 add more fqdn tests and remove some of the mocking
310103
310104         · 5dbf4144ce add ipv6 in opts
310105
310106         · eabc1b4f9c Add fqdn and dns core grain tests
310107
310108              · 3ec4329307 Merge branch '2016.11' into fix-cron-identifier
310109
310110       · ISSUE #44544: (creideiki) pgjsonb returner  sets  wrong  timezone  on
310111         timestamps in database when using Python 2 (refs: #44563)
310112
310113       · PR  #44563:  (creideiki)  Send Unix timestamps to database in pgjsonb
310114         returner @ 2017-11-21 17:44:32 UTC
310115
310116         · dc6de050a9 Merge pull request #44563  from  creideiki/pgjsonb-time‐
310117           stamps-44544
310118
310119         · 231e412ca4 Merge branch '2016.11' into pgjsonb-timestamps-44544
310120
310121       · ISSUE   #44601:   (rallytime)   CherryPy  12.0  removed  support  for
310122         "engine.timeout_monitor.on" config option (refs: #44602)
310123
310124       · PR #44602: (rallytime) Handle timeout_monitor attribute error for new
310125         versions of CherryPy @ 2017-11-20 21:38:40 UTC
310126
310127         · 4369df020b Merge pull request #44602 from rallytime/fix-44601
310128
310129         · ff303fd060  Handle timeout_monitor/TimeoutError issues for new ver‐
310130           sions of CherryPy
310131
310132       · PR #44604: (lorengordon) Documents the exclude argument in state exe‐
310133         cution module @ 2017-11-20 18:19:18 UTC
310134
310135         · 4a4756fc37 Merge pull request #44604 from lorengordon/doc-exclude
310136
310137         · c4a6c40eb3 Documents the exclude argument in state execution module
310138
310139         · 15c445e6b9 Send Unix timestamps to database in pgjsonb
310140
310141              · 99fa05a456 Fix for bug in cron state
310142
310143              · 97328faeac Fix for bug in cron module
310144
310145       · PR  #44434: (whytewolf) add a note that describes grain rebuilding on
310146         restart and refresh @ 2017-11-14 11:21:54 UTC
310147
310148         · 91d46d4cfc Merge pull request #44434 from whytewolf/1837
310149
310150         · d148e39dda change from md to rst for code reference
310151
310152         · 955e305bda fix bad english, as requested by cachedout
310153
310154         · 7256fcc1c9 update note to take into account grains_cache
310155
310156         · 7a2981585e Merge branch '2016.11' into 1837
310157
310158         · aca0405b26 add a note that describes grain  rebuilding  on  restart
310159           and refresh
310160
310161       · ISSUE #41474: (dmaziuk) state.file.* line endings (refs: #44321)
310162
310163       · PR  #44321:  (gvengel)  Fix  file.line diff formatting.  @ 2017-11-13
310164         19:36:39 UTC
310165
310166         · a3bd99317f    Merge    pull    request    #44321     from     gven‐
310167           gel/fix-file-line-diff-output
310168
310169         · 69a50204a6 Add newline for lint.
310170
310171         · ef7b6bbb81 Fixed issue with file.line on Windows running Python 2.
310172
310173         · 8f89c99fa5  Fix  FileModuleTest  setUp and tearDown to work on Win‐
310174           dows.
310175
310176         · 3ac5391f5f Namespace missing functions for file.line on Windows.
310177
310178         · b2b8f075b9 Fixed test to work on Windows.
310179
310180         · 5a5a2dd026 Added integration test for issue #41474
310181
310182         · 24d7315f1a Fix file.line diff formatting.
310183
310184       · ISSUE #43417: (damon-atkins)  win_pkg:   pkg.install  and  pkg.remove
310185         general issues (refs: #43708)
310186
310187       · PR  #43708:  (damon-atkins) Merge Ready : Backport develop win_pkg to
310188         2016.11 with additional bug fixes @ 2017-11-13 19:33:41 UTC
310189
310190         · 9ca563718d      Merge      pull      request      #43708       from
310191           damon-atkins/2016.11_43417_Backport_and_Fixes
310192
310193         · 04d03ea6b8 Updated comment
310194
310195         · 1dd565e585    Merge    remote    branch   'upstream/2016.11'   into
310196           2016.11_43417_Backport_and_Fixes
310197
310198         · dd48ba2616   Merge   remote    branch    'upstream/2016.11'    into
310199           2016.11_43417_Backport_and_Fixes
310200
310201         · a0d08598bf dco fix
310202
310203         · 9467899fc6    Merge    remote    branch   'upstream/2016.11'   into
310204           2016.11_43417_Backport_and_Fixes
310205
310206         · 6dc180fd0e doco fixes
310207
310208         · 2496a42ea4 lint fix
310209
310210         · 2c937fbe19   Merge   remote    branch    'upstream/2016.11'    into
310211           2016.11_43417_Backport_and_Fixes
310212
310213         · c9c8c48a4d  all remove/install commands are passed to cmd.exe /s /c
310214           and commands are passed as strings to cmdmod
310215
310216         · 350244bd93 typo in comments and doc strings.
310217
310218         · ec31f5a9bd 2017.11/develop version() was ignoring saltenv setting.
310219
310220         · b314549a32 Backport of devlop to 2016.11 with additional bug fixes
310221
310222       · ISSUE #44423: (mtkennerly) The win_path.exists state  cannot  prepend
310223         to the very start of the PATH (refs: #44424)
310224
310225       · PR  #44477:  (rallytime)  Back-port  #44424  to  2016.11 @ 2017-11-13
310226         17:33:29 UTC
310227
310228         · PR #44424: (mtkennerly) Fix #44423: Handle index=None  and  index=0
310229           distinctly in the win_path.exists state (refs: #44477)
310230
310231         · 68ea22188e Merge pull request #44477 from rallytime/bp-44424
310232
310233         · 4a9f8dcc96 Fix #44423: Handle index=None and index=0 distinctly
310234
310235       · ISSUE  #44034:  (seanjnkns)  salt-call  pillar  overrides  broken  in
310236         2016.11.8 and 2017.7.2 (refs: #44483)
310237
310238       · PR #44483: (terminalmage)  salt-call:  account  for  instances  where
310239         __pillar__ is empty @ 2017-11-13 17:30:36 UTC
310240
310241         · 2c89050a24 Merge pull request #44483 from terminalmage/issue44034
310242
310243         · a9db8becea  salt-call:  account  for  instances where __pillar__ is
310244           empty
310245
310246       · PR #44489: (whytewolf) update log-granular-levels  to  describe  what
310247         they are filtering on @ 2017-11-13 17:27:37 UTC
310248
310249         · b5c2028680 Merge pull request #44489 from whytewolf/1956_log-granu‐
310250           lar-levels
310251
310252         · 9cdeb4e903 update log-granular-levels to  describe  what  they  are
310253           filtering on
310254
310255       · PR  #44193:  (twangboy)  Fix  reg.py  for  use  with  LGPO  module  @
310256         2017-11-10 19:01:17 UTC
310257
310258         · ea07f9c54c Merge pull request #44193 from twangboy/win_fix_reg
310259
310260         · 44d6d9f46d Remove unused import (lint)
310261
310262         · f7502436bd Fix various issues
310263
310264         · 221e6e3b91 make salt.utils.to_unicode return none when passed none
310265
310266         · ce41acc788 Fix many issues with reg.py
310267
310268         · 4a19df1f7f Use six.text_type instead of str
310269
310270         · 1b12acd303 Check type before casting
310271
310272         · 03fa37b445 Cast vdata to it's proper type
310273
310274       · PR #43863: (nicholasmhughes) Atomicfile  only  copies  mode  and  not
310275         user/group perms @ 2017-11-10 18:47:55 UTC
310276
310277         · ed8da2450b Merge pull request #43863 from nicholasmhughes/fix-atom‐
310278           icfile-permission-copy
310279
310280         · ea852ec5d3 remove index use with stat module attributes
310281
310282         · dbeeb0e917  fixes  #38452  atomicfile  only  copies  mode  and  not
310283           user/group perms
310284
310285       · ISSUE  #39901:  (seanjnkns)  network.managed  ipaddrs  ignored (refs:
310286         #44260)
310287
310288       · PR #44260: (seanjnkns) Fixes #39901  for  RH/CentOS  7  @  2017-11-07
310289         23:14:59 UTC
310290
310291         · a66cd67d15 Merge pull request #44260 from seanjnkns/issue-39901
310292
310293         · ed8cccf457 #39901: Fix pylint
310294
310295         · 43c81dfdee #39901: Add unit tests
310296
310297         · 613d500876 Merge branch '2016.11' into issue-39901
310298
310299         · b97e8046ca Utilize salt.utils.validate.net.* and _raise_error_iface
310300
310301         · 6818f3631d Fixes #39901 for RH/CentOS 7
310302
310303       · PR  #44383:  (gtmanfred)  switch  salt-jenkins  over to saltstack for
310304         kitchen-salt tests @ 2017-11-03 19:56:48 UTC
310305
310306         · 5e289f42ba Merge pull request #44383 from gtmanfred/2016kitchen
310307
310308         · b65f4ea4ea switch salt-jenkins over to saltstack
310309
310310       · PR #44173: (twangboy) Use google style docstrings in win_system.py  @
310311         2017-10-31 17:56:34 UTC
310312
310313         · cab54e34b5 Merge pull request #44173 from twangboy/win_system_docs
310314
310315         · 8e111b413d Fix some of the wording and grammer errors
310316
310317         · a12bc5ae41 Use google style docstrings
310318
310319       · PR  #44304:  (jfindlay)  states.cron  identifier  defaults  to name @
310320         2017-10-31 16:39:47 UTC
310321
310322         · 7aaea1d179 Merge pull request #44304 from jfindlay/cron_id
310323
310324         · cc038c5bec states.cron identifier defaults to name
310325
310326       · ISSUE #44313: (rossengeorgiev) salt-ssh: --user option  missing  from
310327         the cli documentation (refs: #44322)
310328
310329       · PR   #44322:   (rossengeorgiev)  updated  CLI  docs  for  salt-ssh  @
310330         2017-10-30 21:39:23 UTC
310331
310332         · e4dbbde734   Merge   pull    request    #44322    from    rossenge‐
310333           orgiev/saltssh-docs-update
310334
310335         · b18f2e5a6d fix program name and description for --static
310336
310337         · 5b10918f02 updated CLI docs for salt-ssh
310338
310339       · PR  #44345:  (gtmanfred) remove binding from erb template rendering @
310340         2017-10-30 20:57:43 UTC
310341
310342         · 4e6f09e3eb Merge pull request #44345 from gtmanfred/2016kitchen
310343
310344         · 79b8b2d0bf remove binding
310345
310346       · PR  #44342:  (gtmanfred)  render  template  files  platforms.yml  and
310347         driver.yml @ 2017-10-30 20:04:00 UTC
310348
310349         · 209847c8c2 Merge pull request #44342 from gtmanfred/2016kitchen
310350
310351         · c50508f0b7 render template files platforms.yml and driver.yml
310352
310353       · ISSUE  #44336: (corywright) Docs for archive.tar should not use lead‐
310354         ing dash for tar options (refs: #44339)
310355
310356       · PR #44339: (corywright) Remove  leading  dash  from  options  in  ar‐
310357         chive.tar docs (2016.11) @ 2017-10-30 19:00:34 UTC
310358
310359         · 1be65224cb     Merge     pull    request    #44339    from    cory‐
310360           wright/issue-44336-fix-archive-tar-docs-2016-11
310361
310362         · 9c1c35a59f Remove leading dash (-) from options in archive.tar doc‐
310363           umentation
310364
310365       · ISSUE  #44272:  (gurubert)  [patch]  win_service.stop()  fails (refs:
310366         #44295)
310367
310368       · PR #44295: (gurubert) fixes issue #44272 @ 2017-10-27 14:28:57 UTC
310369
310370         · bebc33daf5   Merge   pull   request   #44295   from    HeinleinSup‐
310371           port/issue44272
310372
310373         · f972715a45 fixes issue #44272
310374
310375       · PR #44286: (gtmanfred) use our git repo for kitchen-salt @ 2017-10-25
310376         19:27:32 UTC
310377
310378         · e7ca9f8407 Merge pull request #44286 from gtmanfred/2016.11
310379
310380         · 193e715e37 use our git repo for kitchen-salt
310381
310382       · PR #44259: (gtmanfred) begin switching in  kitchen-salt  for  running
310383         the test suite @ 2017-10-25 13:30:35 UTC
310384
310385         · 8a1ea165af Merge pull request #44259 from gtmanfred/2016.11
310386
310387         · 56a3ad8f68 fix pylint comments
310388
310389         · 4add666db1 add comment to Gemfile and move copyartifacts
310390
310391         · b4c8f7eb57 fix pylint
310392
310393         · 392fd4f837 try newest salttesting
310394
310395         · 79251287d0 add logging
310396
310397         · 38963d5a82 use transport if not set in state_file
310398
310399         · 10e309a64f which vagrant should go to stderr
310400
310401         · 9307564de0 fix output columns
310402
310403         · 2da22f87e1 test opennebula
310404
310405         · 9f38f16905 add opennebula to Gemfile
310406
310407         · 7465f9b27a add script for copying back artifacts
310408
310409         · 255118cfd7 run tests with kitchen
310410
310411       · PR #44268: (twangboy) Fix typo @ 2017-10-25 13:01:35 UTC
310412
310413         · 9d6bc8509b     Merge    pull    request    #44268    from    twang‐
310414           boy/win_fix_lgpo_typo
310415
310416         · a6a4c10a77 Fix typo
310417
310418       · PR #44269: (terminalmage)  Fix  log  message  in  salt.utils.gitfs  @
310419         2017-10-25 13:00:58 UTC
310420
310421         · 0beb65a283 Merge pull request #44269 from terminalmage/fix-log-mes‐
310422           sage
310423
310424         · bc9cd65496 Fix log message in salt.utils.gitfs
310425
310426       · ISSUE #44155: (rhoths) file.directory with clean not triggering  lis‐
310427         tener in test mode (refs: #44160)
310428
310429       · PR  #44160:  (gtmanfred)  add  changes  to  test  return @ 2017-10-23
310430         14:35:21 UTC
310431
310432         · 304dd2529d Merge pull request #44160 from gtmanfred/directory
310433
310434         · a7d3d668f4 missed removing changes in the next test
310435
310436         · ac0b5ec440 fix test
310437
310438         · d3d00c3e62 add changes to test return
310439
310440       · PR #44205: (rallytime)  Back-port  #44177  to  2016.11  @  2017-10-23
310441         14:09:07 UTC
310442
310443         · PR #44177: (senthilkumar-e) Fixing default redis.host in documenta‐
310444           tion (refs: #44205)
310445
310446         · e10395483d Merge pull request #44205 from rallytime/bp-44177
310447
310448         · b9940f8521 Fixing default redis.host in documentation
310449
310450       · ISSUE #44140: (vtolstov) incorrect network interfaces  settings  with
310451         network.managed under debian jessie (refs: #44167)
310452
310453       · PR  #44167: (garethgreenaway) Fixes to modules/debian_ip @ 2017-10-20
310454         14:25:39 UTC
310455
310456         · 09ddfd0c08   Merge   pull   request   #44167   from    garethgreen‐
310457           away/44140_debian_ip_fixes
310458
310459         · 5f7555846f  When looping through the various pre, post, up and down
310460           commands put them into the interface dict using the right  internet
310461           family variable.
310462
310463       · PR  #43830:  (rallytime)  Back-port  #43644  to  2016.11 @ 2017-10-19
310464         22:57:51 UTC
310465
310466         · PR #43644: (defanator) Several fixes for  RDS  DB  parameter  group
310467           management (refs: #43830)
310468
310469         · 9f9e936b52 Merge pull request #43830 from rallytime/bp-43644
310470
310471         · 12845ae802 Several fixes for RDS DB parameter group management
310472
310473       · ISSUE  #43936:  (oeuftete)  manage.present  still reports lost minion
310474         (refs: #43994)
310475
310476       · ISSUE #38367: (tyeapple) logic error in  connected_ids   function  of
310477         salt/utils/minions.py   when   using   include_localhost=True  (refs:
310478         #43994)
310479
310480       · PR #43994: (oeuftete) Fix  manage.present  to  show  lost  minions  @
310481         2017-10-19 22:27:59 UTC
310482
310483         · 07db6a3d8b  Merge pull request #43994 from oeuftete/fix-manage-run‐
310484           ner-presence
310485
310486         · f3980d7d83 Fix manage.present to show lost minions
310487
310488       · ISSUE #44150: (rossengeorgiev) version param in pkg.installed  broken
310489         in 2016.11.8/2017.7.2 in EL6-7 (refs: #44188)
310490
310491       · PR  #44188:  (terminalmage)  yumpkg: Check pkgname instead of name to
310492         see if it is a kernel pkg @ 2017-10-19 22:20:35 UTC
310493
310494         · a07537e258 Merge pull request #44188 from terminalmage/issue44150
310495
310496         · 0692f442db yumpkg: Check pkgname instead of name to see if it is  a
310497           kernel pkg
310498
310499       · ISSUE #43427: (tylerjones4508) Salt-Cloud  There was a profile error:
310500         invalid literal for int() with base 10: (refs: #44089)
310501
310502       · PR #44158: (rallytime)  Back-port  #44089  to  2016.11  @  2017-10-19
310503         20:38:15 UTC
310504
310505         · PR  #44089:  (cetanu) Catch on empty Virtualbox network addr #43427
310506           (refs: #44158)
310507
310508         · 715edc0cea Merge pull request #44158 from rallytime/bp-44089
310509
310510         · 534faf0b7a Catch on empty Virtualbox network addr #43427
310511
310512       · ISSUE #43307: (marek-knappe) Filesystem creation is failing on  newly
310513         created LV (refs: #44029)
310514
310515       · PR  #44131:  (rallytime)  Back-port  #44029  to  2016.11 @ 2017-10-17
310516         15:05:39 UTC
310517
310518         · PR #44029: (msummers42) addresses  issue  #43307,  disk.format_  to
310519           disk.format (refs: #44131)
310520
310521         · 0cd493b691 Merge pull request #44131 from rallytime/bp-44029
310522
310523         · bebf301976  fixed  test  addressing  issue  #43307, disk.format_ to
310524           disk.format
310525
310526         · b4ba7ae2fc addresses issue #43307, disk.format_ to disk.format
310527
310528       · ISSUE #44087: (mfussenegger) Using  state.highstate  with  terse=true
310529         prevents useful error output  (refs: #44093)
310530
310531       · PR  #44093:  (gtmanfred)  don't  filter  if  return  is  not a dict @
310532         2017-10-16 19:13:19 UTC
310533
310534         · 3a68e356f8 Merge pull request #44093 from gtmanfred/fix-44087
310535
310536         · 5455c5053b fix pylint
310537
310538         · f749cafa25 don't filter if return is not a dict
310539
310540       · PR #44122: (cachedout) Add note about GPG signing to  PR  template  @
310541         2017-10-16 19:09:38 UTC
310542
310543         · c785d7a847 Merge pull request #44122 from cachedout/gpg_pr_template
310544
310545         · e41e3d76be Typo fix
310546
310547         · 37c7980880 Add note about GPG signing to PR template
310548
310549       · PR  #44124:  (rallytime)  [2016.11]  Merge  forward from 2016.11.8 to
310550         2016.11 @ 2017-10-16 19:07:14 UTC
310551
310552         · bf90ea1f51 Merge pull request #44124 from rallytime/merge-2016.11
310553
310554         · 59861291c8 Merge branch '2016.11.8' into '2016.11'
310555
310556           · 57623e2abe Merge pull request #44028 from rallytime/bp-44011
310557
310558             · 89e084bda3 Do not allow IDs with null bytes in decoded payloads
310559
310560             · 206ae23f15 Don't allow path separators in minion ID
310561
310562       · PR #44097: (gtmanfred) OpenNebula does not require the template_id to
310563         be specified @ 2017-10-16 18:36:17 UTC
310564
310565         · 13f3ffa83a Merge pull request #44097 from gtmanfred/openneb
310566
310567         · c29655b2c2 Merge branch '2016.11' into openneb
310568
310569         · bd2490b149 OpenNebula does not require the template_id to be speci‐
310570           fied
310571
310572       · PR #44110: (roaldnefs) Format fix code example local returner  doc  @
310573         2017-10-16 15:57:50 UTC
310574
310575         · ac3e4df964     Merge    pull    request    #44110    from    roald‐
310576           nefs/fix-doc-local-returner
310577
310578         · efd58f7594 Merge branch '2016.11' into fix-doc-local-returner
310579
310580       · PR #44092: (techhat) Made sure that unicoded data is sent to sha256()
310581         @ 2017-10-13 21:20:12 UTC
310582
310583         · c960ca32c2 Merge pull request #44092 from techhat/awsunicode
310584
310585         · bbd9db4d00 One more encoding
310586
310587         · 0e8b325667 Apparently __salt_system_encoding__ is a thing
310588
310589         · 1e7211838d Use system encoding
310590
310591         · 1af21bbe5e Made sure that unicoded data is sent to sha256()
310592
310593       · ISSUE #43581: (jcourington) cherrypy stats issue (refs: #44021)
310594
310595       · PR  #44021:  (whiteinge)  Also  catch  cpstats AttributeError for bad
310596         CherryPy release ~5.6.0 @ 2017-10-12 18:11:41 UTC
310597
310598         · PR #42655: (whiteinge) Reenable cpstats  for  rest_cherrypy  (refs:
310599           #44021)
310600
310601         · PR  #33806:  (cachedout)  Work  around upstream cherrypy bug (refs:
310602           #42655)
310603
310604         · d89c317d96      Merge      pull      request      #44021       from
310605           whiteinge/cpstats-attribute-error
310606
310607         · bf14e5f578  Also  catch  cpstats  AttributeError  for  bad CherryPy
310608           release ~5.6.0
310609
310610       · PR #44025: (dayid) Typo correction of lover  to  lower  @  2017-10-11
310611         17:31:45 UTC
310612
310613         · bbdabe242a Merge pull request #44025 from dayid/lover_typo
310614
310615         · 385980c21a         Merge         branch         '2016.11'        of
310616           https://github.com/saltstack/salt into lover_typo
310617
310618         · 266dc00a23 Typo correction of lover to lower
310619
310620       · PR #44030: (rallytime) [2016.11] Merge forward from 2016.3 to 2016.11
310621         @ 2017-10-11 13:01:42 UTC
310622
310623         · d8f3891a5e Merge pull request #44030 from rallytime/merge-2016.11
310624
310625         · 53eaf0d75c Merge branch '2016.3' into '2016.11'
310626
310627         · 64fd839377 Merge pull request #44010 from Ch3LL/2016.3.7_follow_up
310628
310629           · 9a00302cd8 fix 2016.3.7 release notes merge conflict
310630
310631           · 63da1214db Do not allow IDs with null bytes in decoded payloads
310632
310633           · ee792581fc Don't allow path separators in minion ID
310634
310635           · 8aab65c718 fix 2016.3.7 release notes merge conflict
310636
310637         · bd73dcb02c Merge pull request #43977 from Ch3LL/3.8_sec
310638
310639         · 5fb3f5f6b1 Add Security Notes to 2016.3.8 Release Notes
310640
310641       · PR  #44011:  (Ch3LL)  Security  Fixes  for 2016.11.8 (refs: #44028) @
310642         2017-10-10 20:04:36 UTC
310643
310644         · 0dbf41e79e Merge pull request #44011 from Ch3LL/2016.11.7_follow_up
310645
310646         · c0149101c0 Do not allow IDs with null bytes in decoded payloads
310647
310648         · 19481423dd Don't allow path separators in minion ID
310649
310650       · PR #44023: (Ch3LL) Add  2016.11.9  Release  Note  File  @  2017-10-10
310651         20:03:03 UTC
310652
310653         · d61300df20 Merge pull request #44023 from Ch3LL/11.9rn
310654
310655         · 7f9015eb41 Add 2016.11.9 Release Note File
310656
310657       · PR  #44019: (benediktwerner) Added missing docs to the tutorial index
310658         and fixed  spelling mistake @ 2017-10-10 19:57:06 UTC
310659
310660         · 9ff53bf63a Merge pull request #44019 from benediktwerner/2016.11
310661
310662         · bc53598027 Fixed spelling mistake in salt_bootstrap tutorial
310663
310664         · 6c30344824 Added missing tutorial docs to the tutorial index
310665
310666       · PR #43955: (meaksh) Enable a new '--with-salt-version' parameter  for
310667         the "setup.py" script @ 2017-10-10 17:36:52 UTC
310668
310669         · 364523f5f8 Merge pull request #43955 from meaksh/2016.11-fix-2291
310670
310671         · a81b78381b Merge branch '2016.11' into 2016.11-fix-2291
310672
310673         · 44bc91bb98  Enable  '--with-salt-version'  parameter  for  setup.py
310674           script
310675
310676       · ISSUE #43945: (bobrik) kmod.present  doesn't  work  with  compiled-in
310677         modules (refs: #43962)
310678
310679       · PR  #43962: (bobrik) Report built-in modiles in kmod.available, fixes
310680         #43945 @ 2017-10-10 16:31:39 UTC
310681
310682         · fec714b91d Merge pull request #43962 from bobrik/kmod-built-in
310683
310684         · 95ab901553 Report built-in modiles in kmod.available, fixes #43945
310685
310686       · PR  #43960:   (cro)   Require   that   bindpw   be   non-empty   when
310687         auth.ldap.anonymous is False @ 2017-10-09 23:09:02 UTC
310688
310689         · e434c39c4e Merge pull request #43960 from cro/ldap_nopw_bind2
310690
310691         · 962a20cf4b  Require  that  bindpw  be non-empty if auth.ldap.anony‐
310692           mous=False
310693
310694         · 9df3d91d8f Release notes blurb for change to bindpw requirements
310695
310696       · PR #43991: (Ch3LL) Add Security Notes to  2016.3.8  Release  Notes  @
310697         2017-10-09 22:00:25 UTC
310698
310699         · e9dfda2177 Merge pull request #43991 from Ch3LL/3.8_sec_2
310700
310701         · 1977df8462 Add Security Notes to 2016.3.8 Release Notes
310702
310703       · ISSUE  #42947: (rossengeorgiev) Zenoss state changes production state
310704         even when test=true (refs: #43968)
310705
310706       · PR #43968: (rossengeorgiev) fix zenoss state  module  not  respecting
310707         test=true @ 2017-10-09 21:27:31 UTC
310708
310709         · 2346d2691e    Merge    pull    request    #43968   from   rossenge‐
310710           orgiev/fix-zenoss-prod_state
310711
310712         · e6d31c1ea6 fix zenoss state module not respecting test=true
310713
310714       · PR #43776: (Ch3LL) [2016.11] Bump  latest  and  previous  versions  @
310715         2017-10-09 17:22:15 UTC
310716
310717         · 8d56a5ac45 Merge pull request #43776 from Ch3LL/2016.11.8_docs
310718
310719         · f72bc00000 [2016.11] Bump latest and previous versions
310720
310721       · PR  #43976:  (Ch3LL)  Add Security Notes to 2016.11.8 Release Notes @
310722         2017-10-09 17:20:54 UTC
310723
310724         · 21bf71c3f5 Merge pull request #43976 from Ch3LL/11.8_sec
310725
310726         · f0c3184288 Add Security Notes to 2016.11.8 Release Notes
310727
310728       · PR #43973: (terminalmage) Fix grains.has_value when value is False  @
310729         2017-10-09 14:59:20 UTC
310730
310731         · 1d5397ab5b    Merge    pull    request    #43973   from   terminal‐
310732           mage/fix-grains.has_value
310733
310734         · bf45ae6e6a Fix grains.has_value when value is False
310735
310736       · PR #43888: (rallytime)  Back-port  #43841  to  2016.11  @  2017-10-05
310737         20:09:58 UTC
310738
310739         · PR #43841: (austinpapp) add -n with netstat so we don't resolve IPs
310740           (refs: #43888)
310741
310742         · 9ac3f2ea7b Merge pull request #43888 from rallytime/bp-43841
310743
310744         · 87d676f08a add -n with netstat so we don't resolve
310745
310746       · PR #43916: (dereckson) Fix typo in salt-cloud scaleway  documentation
310747         @ 2017-10-05 18:58:00 UTC
310748
310749         · f880ac4c08    Merge    pull    request    #43916    from    dereck‐
310750           son/fix-typo-cloud-scaleway
310751
310752         · 15b8b8a9f4 Fix typo in salt-cloud scaleway documentation
310753
310754       · PR #43884: (UtahDave) Update SaltConf banner per  Rhett's  request  @
310755         2017-10-04 13:08:30 UTC
310756
310757         · 2ab7549d48 Merge pull request #43884 from UtahDave/2016.11local
310758
310759         · e3b2857285 Merge branch '2016.11' into 2016.11local
310760
310761       · PR  #43869:  (terminalmage)  Only  join  cmd  if  it's not a string @
310762         2017-10-03 16:25:07 UTC
310763
310764         · 4b882d4272 Merge pull request #43869 from terminalmage/issue43522
310765
310766         · fe28b0d4fb Only join cmd if it's not a string
310767
310768         · 8c671fd0c1 Update SaltConf banner per Rhett's request
310769
310770       · ISSUE #43373: (rgcosma) use keyword breaks sls_id (refs: #43707)
310771
310772       · PR #43707: (terminalmage) Add missing support for  use/use_in  requi‐
310773         sites to state.sls_id @ 2017-10-01 14:07:53 UTC
310774
310775         · a2161efda3 Merge pull request #43707 from terminalmage/issue43373
310776
310777         · 3ebde1895f Merge branch '2016.11' into issue43373
310778
310779         · e580ed4caa Merge branch '2016.11' into issue43373
310780
310781         · 5b3be6e8af Fix failing unit test
310782
310783         · f73764481b   Add  missing  support  for  use/use_in  requisites  to
310784           state.sls_id
310785
310786       · PR #43807: (terminalmage) cmdmod: Don't list-ify string  commands  on
310787         Windows @ 2017-09-29 02:48:36 UTC
310788
310789         · 85b3aa332a Merge pull request #43807 from terminalmage/issue43522
310790
310791         · d8708bf698 cmdmod: Don't list-ify string commands on Windows
310792
310793       · PR #43768: (vutny) Fix Pylint deprecated option warnings @ 2017-09-28
310794         12:27:36 UTC
310795
310796         · ea8d273c2b Merge pull request #43768 from vutny/fix-pylint-depreca‐
310797           tion-warnings
310798
310799         · f8b3fa9da1 Merge branch '2016.11' into fix-pylint-deprecation-warn‐
310800           ings
310801
310802       · ISSUE #40311: (cralston0)  --hide-timeout  used  with  --output  json
310803         --static produces unparseable JSON (refs: #43772)
310804
310805       · PR  #43772: (gtmanfred) dont print Minion not responding with quiet @
310806         2017-09-27 15:39:18 UTC
310807
310808         · 1a8cc60bb4 Merge pull request #43772 from gtmanfred/2016.11
310809
310810         · 0194c60960 dont print Minion not responding with quiet
310811
310812       · PR #43747: (rallytime) Add GPG Verification section  to  Contributing
310813         Docs @ 2017-09-26 21:25:37 UTC
310814
310815         · 9dee896fb9  Merge  pull request #43747 from rallytime/gpg-verifica‐
310816           tion
310817
310818         · 7a70de19f4 Merge branch '2016.11' into gpg-verification
310819
310820       · ISSUE #43729:  (The-Loeki)  Docker  events  engine  broken  on  newer
310821         docker.py  (refs: #43733)
310822
310823       · PR  #43733:  (terminalmage)  Allow  docker_events engine to work with
310824         newer docker-py @ 2017-09-26 16:47:40 UTC
310825
310826         · 1cc3ad1c8d Merge pull request #43733 from terminalmage/issue43729
310827
310828         · 6e5c99bda0 Allow docker_events engine to work with newer docker-py
310829
310830       · ISSUE #42082: (stamak) [salt.utils.gitfs  ][CRITICAL]  Invalid  gitfs
310831         configuration  parameter  'saltenv'  in  remote git+ssh://git@ourgit‐
310832         server/ourgitrepo.git. (refs: #43458)
310833
310834       · PR   #43458:   (terminalmage)   Fix   missing   PER_REMOTE_ONLY    in
310835         cache.clear_git_lock runner @ 2017-09-26 14:39:01 UTC
310836
310837         · 5d38be4ff7 Merge pull request #43458 from terminalmage/issue42082
310838
310839         · 5f90812b12 Fix missing PER_REMOTE_ONLY in cache.clear_git_lock run‐
310840           ner
310841
310842              · 23bb4a5dde Add GPG Verification section to Contributing Docs
310843
310844       · ISSUE #43650: (rallytime) Review contributing documentation  and  the
310845         merge-forward process (refs: #43727)
310846
310847       · ISSUE #42706: (blarghmatey) Parallel Cache Failure (refs: #43018)
310848
310849       · PR   #43727:   (rallytime)  Revise  "Contributing"  docs:  merge-for‐
310850         wards/release branches explained!  @ 2017-09-26 12:43:16 UTC
310851
310852         · PR #43018: (jubrad) Update state.py (refs: #43727)
310853
310854         · 023a563657 Merge pull request #43727 from rallytime/fix-43650
310855
310856         · babad12d83  Revise  "Contributing"   docs:   merge-forwards/release
310857           branches explained!
310858
310859       · PR  #43648:  (rallytime)  Handle  VPC/Subnet  ID  not found errors in
310860         boto_vpc module @ 2017-09-22 17:40:43 UTC
310861
310862         · f46c858f25  Merge   pull   request   #43648   from   rallytime/han‐
310863           dle-boto-vpc-errors
310864
310865         · 54842b5012 Handle VPC/Subnet ID not found errors in boto_vpc module
310866
310867           · 651ed16ad3 Fix Pylint deprecated option warnings
310868
310869       · PR #43575: (akissa) Fix CSR not recreated if key changes @ 2017-09-21
310870         17:52:01 UTC
310871
310872         · 9dba34aa06 Merge pull request #43575 from akissa/fix-csr-not-recre‐
310873           ated-if-key-changes
310874
310875         · b1b4dafd39 Fix CSR not recreated if key changes
310876
310877       · ISSUE  #42165:  (arount)  top_file_merging_strategy:  merge  does not
310878         works (refs: #43415)
310879
310880       · PR #43672: (rallytime)  Back-port  #43415  to  2016.11  @  2017-09-21
310881         16:38:56 UTC
310882
310883         · PR #43415: (mattLLVW) Fix env_order in state.py (refs: #43672)
310884
310885         · 1d4fa48209 Merge pull request #43672 from rallytime/bp-43415
310886
310887         · 3fb42bc238 Fix env_order in state.py
310888
310889       · PR  #43673:  (rallytime)  Back-port  #43652  to  2016.11 @ 2017-09-21
310890         16:37:36 UTC
310891
310892         · PR #43652: (VertigoRay) Salt Repo has Deb 9 and 8 (refs: #43673)
310893
310894         · ff832ee607 Merge pull request #43673 from rallytime/bp-43652
310895
310896         · d91c47c6f0 Salt Repo has Deb 9 and 8
310897
310898       · PR #43677:  (terminalmage)  Fix  RST  headers  for  runners  (2016.11
310899         branch) @ 2017-09-21 16:35:57 UTC
310900
310901         · 365cb9fba8   Merge   pull  request  #43677  from  terminalmage/run‐
310902           ners-docs-2016.11
310903
310904         · 2fd88e94fa Fix RST headers for runners (2016.11 branch)
310905
310906       · PR #43534: (twangboy) Fixes removal of double-quotes  by  shlex_split
310907         in winrepo for 2016.11 @ 2017-09-21 14:39:42 UTC
310908
310909         · be38239e5d     Merge    pull    request    #43534    from    twang‐
310910           boy/win_fix_pkg.install_2016.11
310911
310912         · 1546c1ca04 Add posix=False to call to salt.utils.shlex_split
310913
310914         · PR #43663:  (moio)  multiprocessing  minion  option:  documentation
310915           fixes (develop) (refs: #43661)
310916
310917       · PR  #43661: (moio) multiprocessing minion option: documentation fixes
310918         (2016.11) @ 2017-09-21 13:02:27 UTC
310919
310920         · 0d3fd3d374 Merge pull request  #43661  from  moio/2016.11-multipro‐
310921           cessing-doc-fix
310922
310923         · 625eabb83f multiprocessing minion option: documentation fixes
310924
310925       · PR  #43646: (brejoc) Added tests for pid-file deletion in DaemonMixIn
310926         @ 2017-09-20 19:21:54 UTC
310927
310928         · 6b4516c025 Merge pull  request  #43646  from  brejoc/2016.11.4-pid‐
310929           file-tests
310930
310931         · 96f39a420b Fixed linting
310932
310933         · 08fba98735 Fixed several issues with the test
310934
310935         · 3a089e450f Added tests for pid-file deletion in DaemonMixIn
310936
310937       · PR  #43591:  (rallytime)  [2016.11]  Merge  forward from 2016.11.8 to
310938         2016.11 @ 2017-09-19 16:18:34 UTC
310939
310940         · cfb1625741 Merge pull request #43591 from rallytime/merge-2016.11
310941
310942         · 57b9d642c2 Merge branch '2016.11.8' into '2016.11'
310943
310944           · e83421694f Merge pull request #43550 from twangboy/osx_fix_prein‐
310945             stall_2016.11.8
310946
310947           · 1b0a4d39d2 Fix logic in /etc/paths.d/salt detection
310948
310949       · PR  #43572:  (vutny)  cloud.action:  list_nodes_min  returns  all EC2
310950         instances @ 2017-09-18 20:36:44 UTC
310951
310952         · 8671b91f62      Merge      pull      request      #43572       from
310953           vutny/fix-salt-cloud-list-min-instance-set
310954
310955         · 21966e7ce8 cloud.action: list_nodes_min returns all instances
310956
310957       · PR  #43461:  (twangboy)  Add  /norestart switch to vcredist install @
310958         2017-09-12 20:33:46 UTC
310959
310960         · f2b86fa2db Merge pull request #43461 from twangboy/win_norestart
310961
310962         · 2d269d1a76 Change all comment markers to '#'
310963
310964         · d80aea16cb Handle ErrorCodes returned by VCRedist installer
310965
310966         · fb31e9a530 Add /norestart switch to vcredist install
310967
310968       · ISSUE #43267: (brejoc) OSError - Can't delete PIDfile when  not  root
310969         (refs: #43366)
310970
310971       · PR  #43366:  (brejoc) Catching error when PIDfile cannot be deleted @
310972         2017-09-12 15:31:16 UTC
310973
310974         · 90e8ca9c36  Merge  pull  request  #43366  from  brejoc/2016.11.pid‐
310975           file-fix
310976
310977         · 6e3eb76c79 Removed unused format argument
310978
310979         · daf4948b3d Catching error when PIDfile cannot be deleted
310980
310981       · ISSUE  #43386:  (rajvidhimar)  Scheduler's  job_kwargs not working as
310982         expected. (refs: #43442)
310983
310984       · PR #43442: (garethgreenaway)  [2016.11] Fixes to scheduler __pub val‐
310985         ues in kwargs @ 2017-09-12 15:16:20 UTC
310986
310987         · a6c458607a    Merge   pull   request   #43442   from   garethgreen‐
310988           away/43386_2016_11_schedule_kwargs_pub
310989
310990         · e637ecbe86  Merge  branch   '2016.11'   into   43386_2016_11_sched‐
310991           ule_kwargs_pub
310992
310993         · 6114df8dc3  Adding  a  small  check to ensure we do not continue to
310994           populate kwargs with __pub_ items from the kwargs item.
310995
310996       · ISSUE #43223:  (rallytime)  Properly  deprecate  describe_route_table
310997         function in boto_vpc module (refs: #43445)
310998
310999       · PR #43456: (rallytime) Add Neon to version list @ 2017-09-12 15:00:27
311000         UTC
311001
311002         · PR   #43445:   (rallytime)    Bump    deprecation    warning    for
311003           boto_vpc.describe_route_table (refs: #43456)
311004
311005         · 3c429299f9 Merge pull request #43456 from rallytime/43445_follow_up
311006
311007         · 35c1d8898d Add Neon to version list
311008
311009       · PR  #43441: (meaksh) Use $HOME to get the user home directory instead
311010         using '~' char @ 2017-09-11 21:25:20 UTC
311011
311012         · 6db7a721c0      Merge      pull      request      #43441       from
311013           meaksh/2016.11-salt-bash-completion-fix
311014
311015         · be4f26ab21  Use  $HOME to get the user home directory instead using
311016           '~' char
311017
311018       · ISSUE #43223:  (rallytime)  Properly  deprecate  describe_route_table
311019         function in boto_vpc module (refs: #43445)
311020
311021       · PR    #43445:    (rallytime)    Bump    deprecation    warning    for
311022         boto_vpc.describe_route_table (refs: #43456)  @  2017-09-11  21:23:28
311023         UTC
311024
311025         · 05fff44a50  Merge  pull request #43445 from rallytime/bump-depreca‐
311026           tion-warning
311027
311028         · c91cd1c6d9 Bump deprecation warning for boto_vpc.describe_route_ta‐
311029           ble
311030
311031       · PR  #43432:  (rallytime)  Back-port  #43419  to  2016.11 @ 2017-09-11
311032         17:36:37 UTC
311033
311034         · PR #43419: (gtmanfred) make  cache  dirs  when  spm  starts  (refs:
311035           #43432)
311036
311037         · c57dc5f0e3 Merge pull request #43432 from rallytime/bp-43419
311038
311039         · c471a29527 make cache dirs when spm starts
311040
311041       · ISSUE #43387: (aogier) genesis.bootstrap debootstrap fails if no qemu
311042         specified (refs: #43390)
311043
311044       · PR #43390: (aogier) better qemu_static parameter mangle in deboostrap
311045         management, tests @ 2017-09-11 13:18:30 UTC
311046
311047         · 57cccd75d0 Merge pull request #43390 from aogier/43387-genesis-qemu
311048
311049         · 496f14a7e7 forgot to mock the proper one
311050
311051         · 51c7a1ba00 only check if static_qemu is_executable()
311052
311053         · 70642e495d  better  qemu_static parameter mangle in deboostrap man‐
311054           agement, tests
311055
311056       · ISSUE #43338: (LEMNX) virtualenv never-download (refs: #43356)
311057
311058       · PR  #43356:  (gtmanfred)  never-download  got  readded  @  2017-09-07
311059         17:46:05 UTC
311060
311061         · 6106aec696 Merge pull request #43356 from gtmanfred/2016.11
311062
311063         · 3f19b247f3 Add handler.messages back in for test comparison
311064
311065         · 9911b04208 fix test
311066
311067         · 3c6ae99a77 never-download got readded
311068
311069       · PR  #43325: (doesitblend) mine_interval option is minutes not seconds
311070         @ 2017-09-07 16:58:11 UTC
311071
311072         · e638fac54e    Merge    pull    request    #43325    from    doesit‐
311073           blend/salt-mine-doc-fix
311074
311075         · 1e94d0ac3a Lint: Remove trailing whitespace
311076
311077         · 51af8f8757 Fix mine_interval phrasing in default file
311078
311079         · ba0cdd4536 Fix phrasing for mine_interval description
311080
311081         · 9ff03c2d43   Update  Salt  Mine  documentation  to  show  that  the
311082           mine_interval option is configured in minutes.
311083
311084       · ISSUE #43086: (aogier) pylint: Instance of 'tuple'  has  no  'extend'
311085         member (no-member) (refs: #43105)
311086
311087       · PR  #43105:  (aogier) groupadd module: string does not have attribute
311088         'extend', plus homogeneous cmd parm building  @  2017-09-06  15:49:44
311089         UTC
311090
311091         · fc587f784a Merge pull request #43105 from aogier/43086-no-member
311092
311093         · 5111cf8bad Merge branch '2016.11' into 43086-no-member
311094
311095       · PR  #43333:  (damon-atkins)  Docs  are  wrong  cache_dir  (bool)  and
311096         cache_file (str) cannot be passed as params  +  1  bug  @  2017-09-06
311097         14:21:35 UTC
311098
311099         · d97a680372 Merge pull request #43333 from damon-atkins/2016.11
311100
311101         · 92de2bb498 Update doco
311102
311103         · fc9c61d12e Update win_pkg.py
311104
311105         · c91fc14704 Merge branch '2016.11' into 2016.11
311106
311107         · cb3af2bbbd  Docs  are  wrong  cache_dir (bool) and cache_file (str)
311108           cannot be passed on the cli (#2)
311109
311110       · ISSUE #43295: (V3XATI0N)  salt.cache.redis_cache  does  not  actually
311111         work. (refs: #43329)
311112
311113       · PR  #43361:  (rallytime)  Back-port  #43329  to  2016.11 @ 2017-09-05
311114         23:23:01 UTC
311115
311116         · PR #43329: (johnj) Fix #43295, better handling of  consul  initial‐
311117           ization (refs: #43361)
311118
311119         · 0c986f5eba Merge pull request #43361 from rallytime/bp-43329
311120
311121         · b09e5b4379  Fix  #43295,  better  handling of consul initialization
311122           issues
311123
311124       · ISSUE #35840: (junovitch) preserve_minion_cache is broken in  2016.3+
311125         (refs: #42903)
311126
311127       · PR  #42903: (junovitch) Fix 'preserve_minion_cache: True' functional‐
311128         ity (fixes #35840) @ 2017-09-05 22:57:14 UTC
311129
311130         · 22287439e6      Merge      pull      request      #42903       from
311131           junovitch/issue-35840-fix-preserve-minion-cache-2016.11
311132
311133         · c9d4fdbd45   Merge   branch   '2016.11'  into  issue-35840-fix-pre‐
311134           serve-minion-cache-2016.11
311135
311136         · 93a68e32a5  Merge  branch   '2016.11'   into   issue-35840-fix-pre‐
311137           serve-minion-cache-2016.11
311138
311139         · 079f097985  Fix  'preserve_minion_cache: True' functionality (fixes
311140           #35840)
311141
311142       · PR #43360: (terminalmage) Fix failing tests in  Fedora  @  2017-09-05
311143         22:23:13 UTC
311144
311145         · 4860e10757 Merge pull request #43360 from terminalmage/sj-496
311146
311147         · 433bca14b1 Fix KeyError in yumpkg configparser code on Python 3
311148
311149         · f6c16935d8 Move --showduplicates before repository-packages
311150
311151       · PR  #43244: (rallytime) Update release branch section with a few more
311152         details @ 2017-09-05 20:27:59 UTC
311153
311154         · 4ba2dbe41e    Merge    pull    request    #43244    from     rally‐
311155           time/release-branch-clarifications
311156
311157         · 0d5a46dbaa Update release branch section with a few more details
311158
311159       · ISSUE  #43348:  (9maf4you)  network.managed  doesn't work on CentOS 7
311160         (refs: #43359)
311161
311162       · PR #43359: (gtmanfred) ipaddr_start ipaddr_end for el7  @  2017-09-05
311163         19:44:24 UTC
311164
311165         · 1a012eb3d7 Merge pull request #43359 from gtmanfred/ipaddr
311166
311167         · 23d9abb560 ipaddr_start ipaddr_end for el7
311168
311169       · PR  #43247:  (rallytime)  Back-port  various  mention bot settings to
311170         2016.11 @ 2017-09-05 18:17:54 UTC
311171
311172         · PR #43206: (rallytime) Always notify tkwilliams when changes  occur
311173           on boto files (refs: #43247)
311174
311175         · PR  #43183:  (basepi)  Add  basepi to userBlacklist for mention bot
311176           (refs: #43247)
311177
311178         · PR #42923: (rallytime) Always notify ryan-lane when  changes  occur
311179           on boto files (refs: #43247)
311180
311181         · 8f88111be8   Merge  pull  request  #43247  from  rallytime/mention‐
311182           bot-backports
311183
311184         · 2b85757d73 Always notify tkwilliams  when  changes  occur  on  boto
311185           files
311186
311187         · 40b5a29f90 Add basepi to userBlacklist for mention bot
311188
311189         · bad8f56969 Always notify ryan-lane when changes occur on boto files
311190
311191       · PR #43277: (rallytime) Add CODEOWNERS file @ 2017-09-01 16:56:53 UTC
311192
311193         · 02867fdcd2 Merge pull request #43277 from rallytime/owners-file
311194
311195         · 2b4da0f0e7 Add CODEOWNERS file
311196
311197       · PR  #43312: (lordcirth) cron docs: Remind user to use quotes for spe‐
311198         cial strings @ 2017-09-01 16:24:15 UTC
311199
311200         · 1c1c484479 Merge pull request #43312 from lordcirth/fix-cron-docs
311201
311202         · ec94a13750 cron docs: Remind user to use quotes for special strings
311203
311204       · PR #43290: (lordcirth) Clarify file.py docs @ 2017-09-01 14:30:04 UTC
311205
311206         · 0d1ed4b750    Merge    pull    request    #43290     from     lord‐
311207           cirth/fix-file-path-docs
311208
311209         · 14a4591854 file.py docs: correct group and mode
311210
311211         · d4214ca283 file.py docs: specify absolute paths
311212
311213       · PR  #43274:  (terminalmage)  Use  six.integer_types  instead of int @
311214         2017-08-30 21:32:42 UTC
311215
311216         · 26ff89539e   Merge   pull    request    #43274    from    terminal‐
311217           mage/fix-int-types
311218
311219         · d533877743 Use six.integer_types instead of int
311220
311221         · 42a118ff56 fixed cmd composition and unified his making across mod‐
311222           ule
311223
311224         · 881f1822f2 Format fix code example local returner doc
311225
311226   Salt 2016.3.0 Release Notes - Codename Boron
311227   Known Issues
311228       WARNING:
311229          Some Salt Masters may need to apply a patch for Default Job Cache to
311230          prevent a possible crash
311231
311232          An  issue  exists  that  prevents  the Salt master from cleaning the
311233          default job cache.  This  issue  can  cause  an  overconsumption  of
311234          resources  resulting  in a crash. 2016.3.0 Salt masters should apply
311235          the patch in PR #33555. This issue will be addressed in 2016.3.1.
311236
311237       · issue #33516: When upgrading  from  2015.8.10  to  2016.3.0  on  cen‐
311238         tos7/redhat7 salt-minion must be restarted twice.
311239
311240       · issue #33517: SPM does not work on amazon linux 2015 in 2016.3.0.
311241
311242   Backwards-incompatible Changes
311243       · The  default  path for the extension_modules master config option has
311244         been changed.  Prior to this release, the location  was  a  directory
311245         named extmods in the Salt cachedir. On most platforms, this would put
311246         the extension_modules directory in /var/cache/salt/extmods.   It  has
311247         been  moved  one  directory  down,  into the master cachedir. On most
311248         platforms, this is /var/cache/salt/master/extmods. Most  users  won't
311249         have  to  worry  about this, but those who have been manually placing
311250         custom runners into  /var/cache/salt/extmods/runners,  or  outputters
311251         into  /var/cache/salt/extmods/output,  etc. will be affected by this.
311252         To transition, it is recommended  not  to  simply  move  the  extmods
311253         directory into /var/cache/salt/master, but to copy the custom modules
311254         into the salt fileserver under salt://_runners, salt://_output,  etc.
311255         and sync them using the functions in the new saltutil runner.
311256
311257       · The pkg.check_db function has been removed for yum/dnf.
311258
311259   Core Changes
311260       · The onchanges requisite now fires if any watched state changes. issue
311261         #19592.
311262
311263       · The ext_pillar functions must now accept a minion  ID  as  the  first
311264         argument.  This  stops  the  deprecation path started in Salt 0.17.x.
311265         Before this minion ID first argument was introduced,  the  minion  ID
311266         could  be  retrieved accessing __opts__['id'] losing the reference to
311267         the master ID initially set in opts. This  is  no  longer  the  case,
311268         __opts__['id'] will be kept as the master ID.
311269
311270       · Custom  types  can now be synced to the master using the new saltutil
311271         runner. Before, these needed to manually be placed under  the  exten‐
311272         sion_modules  directory.  This  allows  custom  modules  to easily be
311273         synced to the master to make them  available  when  compiling  Pillar
311274         data.  Just place custom runners into salt://_runners, custom output‐
311275         ters into  salt://_output,  etc.  and  use  the  functions  from  the
311276         saltutil runner to sync them.
311277
311278       · The client_acl configuration options were renamed to publisher_acl.
311279
311280       · Added a new --config-dump option (issue #26639).
311281
311282       · TCP  Transport  presence  events  were updated to work with a NAT (PR
311283         #30629).
311284
311285       · A minion_pillar_cache setting was added to save rendered pillar  data
311286         to  cachedir  for  later  use  when  file_client  is set to local (PR
311287         #30428).
311288
311289       · Added the ability for binary data (such as a license key) to be  dis‐
311290         tributed via pillar using the file.managed (issue #9569).
311291
311292       · Scheduled jobs now include success and retcode (issue #24237).
311293
311294       · The  saltversioninfo  grain  was  changed  from a string to a list to
311295         enable reading values by index. (PR #30082).
311296
311297       · A pillar_merge_lists option was added to enable  recursively  merging
311298         pillar  lists  by  aggregating  them  instead  of  replacing them (PR
311299         #30062).
311300
311301       · Grain values reported  by  Debian  8  (jessie)  when  lsb-release  is
311302         installed were updated for consistency (PR #28649).
311303
311304       · A  new  option  for  minions called master_tries has been added. This
311305         specifies the number of times a minion should attempt  to  contact  a
311306         master  to attempt a connection. This allows better handling of occa‐
311307         sional master downtime in a multi-master topology.
311308
311309       · The default directory for deploying the salt-thin tarball has changed
311310         for salt-ssh. It is now /var/tmp instead of /tmp. Users may also wish
311311         to delete any directories in /tmp ending with _salt/. (issue #32771)
311312
311313   External Module Packaging
311314       Modules may now be packaged via entry-points in setuptools. See  exter‐
311315       nal module packaging tutorial for more information.
311316
311317   Cloud Changes
311318       · Refactored  the  OpenNebula  driver and added numerous --function and
311319         --action commands to enhance Salt support for image, template,  secu‐
311320         rity  group,  virtual network and virtual machine management in Open‐
311321         Nebula.
311322
311323       · Added execution/state modules to support the deployment of  AWS  cog‐
311324         nito identity pools (PR #31094).
311325
311326       · Added  ability  to  set  tags  and listener policies on a AWS ELB (PR
311327         #27552).
311328
311329   Platform Changes
311330       · Renamed modules related to macOS. The following module filenames were
311331         changed.  The virtual name remained unchanged.
311332
311333       · PR ##30558: renamed osxdesktop.py to mac_desktop.py
311334
311335       · PR ##30557: renamed macports.py to mac_ports.py
311336
311337       · PR ##30556: renamed darwin_sysctl.py to mac_sysctl.py
311338
311339       · PR ##30555: renamed brew.py to mac_brew.py
311340
311341       · PR ##30552: renamed darwin_pkgutil.py to mac_pkgutil.py
311342
311343   Package Support
311344       · Ubuntu  Xenial:  Packages for Ubuntu Xenial (16.04) are available for
311345         2016.3.0 and onwards. See repo.saltstack.com  for  more  information.
311346         Note  that  Xenial  comes  with  Debian's  packaged  version  of Salt
311347         2015.8.8 and official repo.saltstack.com packages are  available  for
311348         2015.8 releases beginning with Salt 2015.8.11.
311349
311350   Proxy Minion Changes
311351       The deprecated config option enumerate_proxy_minions has been removed.
311352
311353       As mentioned in earlier documentation, the add_proxymodule_to_opts con‐
311354       figuration variable defaults to False in this release.  This  means  if
311355       you  have proxymodules or other code looking in __opts__['proxymodule']
311356       you will need to set this variable in  your  /etc/salt/proxy  file,  or
311357       modify your code to use the __proxy__ injected variable.
311358
311359       The  __proxyenabled__  directive  now  only applies to grains and proxy
311360       modules themselves.  Standard execution modules and state  modules  are
311361       not prevented from loading for proxy minions.
311362
311363       Support has been added to Salt's loader allowing custom proxymodules to
311364       be placed in salt://_proxy.  Proxy minions that need these modules will
311365       need  to  be restarted to pick up any changes.  A corresponding utility
311366       function, saltutil.sync_proxymodules, has been added to sync these mod‐
311367       ules to minions.
311368
311369       Enhancements in grains processing have made the __proxyenabled__ direc‐
311370       tive somewhat redundant in dynamic grains code.  It is still  required,
311371       but  best  practices  for the __virtual__ function in grains files have
311372       changed.  It is now recommended that the __virtual__ functions check to
311373       make  sure  they  are  being  loaded for the correct proxytype, example
311374       below:
311375
311376          def __virtual__():
311377              '''
311378              Only work on proxy
311379              '''
311380              try:
311381                  if salt.utils.is_proxy() and \
311382                     __opts__['proxy']['proxytype'] == 'ssh_sample':
311383                      return __virtualname__
311384              except KeyError:
311385                  pass
311386
311387              return False
311388
311389       NOTE:
311390          salt.utils.is_proxy()   has   been   renamed   to   salt.utils.plat‐
311391          form.is_proxy as of the Oxygen release.
311392
311393       The  try/except  block  above  exists because grains are processed very
311394       early in the proxy minion startup process, sometimes earlier  than  the
311395       proxy key in the __opts__ dictionary is populated.
311396
311397       Grains  are  loaded so early in startup that no dunder dictionaries are
311398       present, so __proxy__, __salt__, etc. are not available.  Custom grains
311399       located  in  /srv/salt/_grains and in the salt install grains directory
311400       can now take a single argument, proxy, that is identical to  __proxy__.
311401       This enables patterns like
311402
311403          def get_ip(proxy):
311404              '''
311405              Ask the remote device what IP it has
311406              '''
311407              return {'ip':proxy['proxymodulename.get_ip']()}
311408
311409       Then the grain ip will contain the result of calling the get_ip() func‐
311410       tion in the proxymodule called proxymodulename.
311411
311412       Proxy modules now benefit from including  a  function  called  initial‐
311413       ized().   This  function should return True if the proxy's init() func‐
311414       tion has been successfully called.  This is needed to make grains  pro‐
311415       cessing easier.
311416
311417       Finally,  if  there  is a function called grains in the proxymodule, it
311418       will be executed on proxy-minion  startup  and  its  contents  will  be
311419       merged  with the rest of the proxy's grains.  Since older proxy-minions
311420       might have used other methods to call  such  a  function  and  add  its
311421       results  to  grains,  this is config-gated by a new proxy configuration
311422       option called proxy_merge_grains_in_module.  This defaults to False  in
311423       this  release.  It will default to True in the release after next.  The
311424       next release is codenamed Carbon, the following is Nitrogen.
311425
311426       The example proxy minions rest_sample and ssh_sample have been  updated
311427       to reflect these changes.
311428
311429   Syndic Updates
311430       A  major  performance  and  management issue was found and fixed in the
311431       syndic. This makes the Salt Syndic substantially more reliable and per‐
311432       formant.  Please  make  sure  that the syndic and the master of masters
311433       which syndics attach to are updated, otherwise the syndic  fixes  alone
311434       can  cause  minor  performance  issues  with  older  master of masters.
311435       Please update masters first, then syndics.  Minions do not need  to  be
311436       updated for this fix to work.
311437
311438   Module Changes
311439       · file   execution   module:   show_diff  is  deprecated  in  favor  of
311440         show_changes. (PR #30988)
311441
311442       · reg execution module:
311443
311444         · Removed the following deprecated functions from the reg module  (PR
311445           #30956):
311446
311447           · read_key
311448
311449           · set_key
311450
311451           · create_key
311452
311453           · delete_key
311454
311455         · Removed force parameter from reg state module
311456
311457         · Fixed virtual function in state
311458
311459         · Improved error information for reg.delete_value function
311460
311461       · jboss7  execution  module: deployed function was decoupled from Arti‐
311462         factory by removing Artifactory-specific  functionality.   Note  that
311463         the  changes  in  some of the function arguments break existing state
311464         files, see issue #30515 and PR #3080 for details.
311465
311466       · pkg state module: The wait function was  removed,  the  functionality
311467         was replaced with the onchanges requisite (PR #30297).
311468
311469       · firewalld state module: A permanent argument was added add_port. Note
311470         that permanent defaults to True, which changes previous behavior  (PR
311471         #30275).  A bind function was also added that allows binding zones to
311472         interfaces and sources (PR #29497).
311473
311474       · journald beacon module: The event string was  updated  to  include  a
311475         tag.  Note  this might impact existing reactors based on this beacon.
311476         (PR #30116).
311477
311478       · postgres_privileges state module: The default value  of  the  prepend
311479         argument was changed from None to public.
311480
311481       · zenoss  execution  module: The add_device function was updated with a
311482         default value of 1000 for prod_state to match the  documentation  (PR
311483         #28924).
311484
311485       · The  etcd  execution  module, state module, returner module, and util
311486         module were refactor (PR #28599). This refactor changes error returns
311487         for several functions (primarily edge cases):
311488
311489         · get: Used to return '' on key-not-found. Now returns None.
311490
311491         · set: Used to return '' on issues setting keys. Now returns None.
311492
311493         · ls: Used to return {path: {}} on key-not-found. Now returns None.
311494
311495         · Tree: Used to return {} on key-not-found. Now returns None.
311496
311497       · smartos_virt  execution  module: Updated to use most of the new smar‐
311498         tos_vmadm (PR #28284).
311499
311500       · apache_conf state module, apache_module state module, and apache_site
311501         state  module:  the  enable  and  disable  functions  were renamed to
311502         enabled and disabled, respectively.  In PR  #33562,  these  functions
311503         were  readded  and  properly  deprecated  and will be removed in Salt
311504         2017.7.0.  This fix will be available in 2016.3.1.  As a  workaround,
311505         try
311506
311507            apache_module.enable{{ 'd' if grains.saltversioninfo == [2016, 3, 0] else '' }}
311508
311509   New Features
311510   Thorium - Provisional New Reactor
311511       The  2016.3 release introduces the new Thorium Reactor. This reactor is
311512       an experimental new feature that implements a flow  programming  inter‐
311513       face  using  the  salt  state system as the engine. This means that the
311514       Thorium reactor uses a classic state tree approach to create a  reactor
311515       that  can aggregate event data from multiple sources and make aggregate
311516       decisions about executing reactions.
311517
311518       This feature is both experimental and provisional, it  may  be  removed
311519       and  APIs may be changed. This system should be considered as ambitious
311520       as the Salt State System in that the scope  of  adding  a  programmable
311521       logic engine of this scale into the event systems is non trivial.
311522
311523       See Thorium Complex Reactor.
311524
311525   Improved Mac OS Support
311526   Improved Solaris Support
311527       A  lot  of work was done to improve support for SmartOS. This work also
311528       resulted in improvements for Solaris and illumos as SmartOS.
311529
311530       · rewrite of vmadm module (SmartOS)
311531
311532       · rewrite of imgadm module (SmartOS)
311533
311534       · deprecation of virt module in favor of vmadm (SmartOS)
311535
311536       · implemented smartos state (SmartOS)
311537
311538       · improved zpool module add SmartOS, illumos and Solaris support
311539
311540       · improved zfs module add SmartOS, illumos and Solaris support
311541
311542       · implemented zpool state
311543
311544       · implemented zfs state implemented  solaris_system  system  module  to
311545         provide better Solaris support (PR #30519)
311546
311547       · other minor fixes to grains, localmod, ...
311548
311549   Tornado Transport
311550       IMPORTANT:
311551          The Tornado Transport wire protocol was changed in 2016.3, making it
311552          incompatible with 2015.8 (PR #29339).
311553
311554   Windows DSC Integration (Experiemental)
311555   Dimension Data Cloud Support
311556       A SaltStack Cloud driver for Dimension Data Public Cloud, provides  the
311557       driver  functionality  to  service  automation for any of the Dimension
311558       Data Public Cloud locations:
311559
311560       · Deploy new virtual machines
311561
311562       · List and query virtual machine images
311563
311564       · Destroy and query virtual machines
311565
311566       Documentation of the Dimension Data SaltStack integration is  found  on
311567       developer.dimensiondata.com
311568
311569   Minion Blackout
311570       During  a  blackout, minions will not execute any remote execution com‐
311571       mands, except for saltutil.refresh_pillar. Blackouts are enabled  using
311572       a special pillar key, minion_blackout set to True.
311573
311574       See Minion Blackout.
311575
311576   Splunk Returner
311577       A  Splunk  Returner that uses HTTP Event Collector is now available (PR
311578       #30718).
311579
311580   SQLCipher Pillar Module
311581       Support was added for retrieving pillar data via  queries  to  SQLCiper
311582       databases (PR #29782).
311583
311584   New Modules
311585       The  following  list  contains  a link to the new modules added in this
311586       release.
311587
311588   Beacons
311589       · beacons.adb
311590
311591       · beacons.glxinfo
311592
311593       · beacons.memusage
311594
311595       · beacons.network_settings
311596
311597       · beacons.proxy_example
311598
311599       · beacons.salt_proxy
311600
311601   Engines
311602       · engines.docker_events
311603
311604       · engines.redis_sentinel
311605
311606       · engines.slack
311607
311608       · engines.sqs_events
311609
311610       · engines.thorium
311611
311612   Execution Modules
311613       · modules.bcache
311614
311615       · modules.beacons
311616
311617       · modules.boto_cloudtrail
311618
311619       · modules.boto_datapipeline
311620
311621       · modules.boto_iot
311622
311623       · modules.boto_lambda
311624
311625       · modules.boto_s3_bucket
311626
311627       · modules.chronos
311628
311629       · modules.cytest
311630
311631       · modules.dockercompose
311632
311633       · modules.dsc
311634
311635       · modules.ethtool
311636
311637       · modules.github
311638
311639       · modules.infoblox
311640
311641       · modules.iwtools
311642
311643       · modules.jenkins
311644
311645       · modules.linux_ip
311646
311647       · modules.mac_assistive
311648
311649       · modules.mac_brew
311650
311651       · modules.mac_defaults
311652
311653       · modules.mac_desktop
311654
311655       · modules.mac_keychain
311656
311657       · modules.mac_pkgutil
311658
311659       · modules.mac_ports
311660
311661       · modules.mac_power
311662
311663       · modules.mac_service
311664
311665       · modules.mac_shadow
311666
311667       · modules.mac_softwareupdate
311668
311669       · modules.mac_sysctl
311670
311671       · modules.mac_system
311672
311673       · modules.mac_timezone
311674
311675       · modules.mac_xattr
311676
311677       · modules.marathon
311678
311679       · modules.minion
311680
311681       · modules.openvswitch
311682
311683       · modules.opkg
311684
311685       · modules.philips_hue
311686
311687       · modules.proxy
311688
311689       · modules.pushbullet
311690
311691       · modules.restartcheck
311692
311693       · modules.s6
311694
311695       · modules.salt_proxy
311696
311697       · modules.ssh_package
311698
311699       · modules.ssh_service
311700
311701       · modules.sysfs
311702
311703       · modules.vboxmanage
311704
311705       · modules.win_certutil
311706
311707       · modules.win_dism
311708
311709       · modules.win_dism
311710
311711       · modules.win_license
311712
311713       · modules.win_iis
311714
311715       · modules.win_task
311716
311717       · modules.zabbix
311718
311719   Pillar
311720       · pillar.http_yaml
311721
311722       · pillar.stack
311723
311724   Proxy
311725       · proxy.chronos
311726
311727       · proxy.junos
311728
311729       · proxy.marathon
311730
311731       · proxy.phillips_hue
311732
311733       · proxy.ssh_sample
311734
311735   Roster
311736       · roster.range
311737
311738   States
311739       · states.apache_conf
311740
311741       · states.apache_site
311742
311743       · states.boto_cloudtrail
311744
311745       · states.boto_datapipeline
311746
311747       · states.boto_iot
311748
311749       · states.boto_lamda
311750
311751       · states.boto_s3_bucket
311752
311753       · states.chocolatey
311754
311755       · states.chronos_job
311756
311757       · states.firewall
311758
311759       · states.github
311760
311761       · states.gpg
311762
311763       · states.grafana_dashboard
311764
311765       · states.grafana_datasource
311766
311767       · states.infoblox
311768
311769       · states.jenkins
311770
311771       · states.mac_assistive
311772
311773       · states.mac_defaults
311774
311775       · states.mac_keychain
311776
311777       · states.mac_xattr
311778
311779       · states.marathon_app
311780
311781       · states.openvswitch_bridge
311782
311783       · states.openvswitch_port
311784
311785       · states.postgres_cluster
311786
311787       · states.proxy
311788
311789       · states.salt_proxy
311790
311791       · states.virt
311792
311793       · states.win_certutil
311794
311795       · states.win_dism
311796
311797       · states.win_license
311798
311799       · states.zabbix_host
311800
311801       · states.zabbix_hostgroup
311802
311803       · states.zabbix_user
311804
311805       · states.zabbix_usergroup
311806
311807   Salt 2016.3.1 Release Notes
311808       Version 2016.3.1 is a bugfix release for 2016.3.0.
311809
311810   Statistics
311811       · Total Merges: 87
311812
311813       · Total Issue References: 23
311814
311815       · Total PR References: 58
311816
311817       · Contributors: 25 (abednarik, amontalban, anlutro, babilen, cachedout,
311818         clburlison,  danslimmon,  eliasp,  glomium,  jacobhammons,  jfindlay,
311819         kev009,  lomeroe,  michalsuba,   neil-williamson,   onorua,   opdude,
311820         rallytime,   sjorge,   terminalmage,  thatch45,  ticosax,  tomlaredo,
311821         twangboy, zigarn)
311822
311823   Final Release of Debian 7 Packages
311824       Regular security support for Debian 7 ended on April 25th, 2016.  As  a
311825       result, 2016.3.1 and 2015.8.10 will be the last Salt releases for which
311826       Debian 7 packages are created.
311827
311828   Changelog for v2016.3.0..v2016.3.1
311829       Generated at: 2018-05-27 04:31:54 UTC
311830
311831          · PR #33883: (jfindlay) add 2016.3.1 release notes
311832
311833       · PR #33866: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
311834         2016-06-08 19:49:56 UTC
311835
311836         · be20ce1bbf Merge pull request #33866 from rallytime/merge-2016.3
311837
311838         · 595d4f2ac3 Fixup new groupadd tests for syntax change in 2016.3
311839
311840         · c5b4ec0b0f Merge branch '2015.8' into '2016.3'
311841
311842           · ec09095c45 Merge pull request #33827 from cachedout/issue_33810
311843
311844             · 9d36f1e474 Fix broken locate.locate function
311845
311846           · f7b3d0eda0  Merge  pull  request #33839 from cachedout/fix_pkgre‐
311847             source_test_stacktrace
311848
311849             · 435547a747 Fix another unit test stacktrace in pkg_resource
311850
311851           · 5f081ef31c   Merge   pull    request    #33840    from    cached‐
311852             out/remove_matcher_unit_tests
311853
311854             · 6297448377 Remove matcher tests
311855
311856           · cda032dab2  Merge  pull  request  #33836  from cachedout/fix_win‐
311857             server_manager_test
311858
311859             · 453fb1ac91 Fixing more stupid unit tests
311860
311861           · 1db559afe9 Merge pull request #33805 from jfindlay/pkg_tests
311862
311863             · 0c069ddc95 states.pkg int tests: skip if pkg mgr unavailable
311864
311865           · 3984b65486 Merge pull request #33808 from jfindlay/gem_tests
311866
311867             · f7c19a1a58 modules.gem int tests: relax version checks
311868
311869             · 6af47d2ba7 modules.gem int tests: remove  pkgs  before  testing
311870               install
311871
311872           · c30d8a8c61 Merge pull request #33770 from jfindlay/service_tests
311873
311874             · f13f914755 states.service: add integration tests
311875
311876             · 90aee79c39 states.service.mod_watch: update unit test
311877
311878             · d210a92f09 states.service.mod_watch: update sfun and force docs
311879
311880           · 7fdfbe9a28  Merge  pull  request  #33691  from jtand/gem_integra‐
311881             tion_test
311882
311883             · ff2dae103d ubuntu doesn't install default  gems  when  ruby  is
311884               installed
311885
311886             · 504df9a65a Fixed lint error
311887
311888             · 0cb1bfa0d3 Removed extra :
311889
311890             · 86f59b3e80 Made more pythonic
311891
311892             · 2f36f34981  Fixed  salt.util import. Added status check to make
311893               sure external resource is available
311894
311895             · 400a71ec33 Removed redundancies
311896
311897             · 91db411bea A couple lint fixes
311898
311899             · c97f3319b9 Add check for gem binary
311900
311901             · 210aceb402 Refactored tests to not use return messages
311902
311903             · 9d437bd45d Removed artifact from testing
311904
311905             · 134e1fa888 Fixed typos, and added destructiveTest decorator
311906
311907             · 37bc3ad8fd Fixed typo, uninstalled to uninstall
311908
311909             · 5b23b91ac6 Integration test for gem module
311910
311911           · bb4194bb79  Merge   pull   request   #33777   from   sodium-chlo‐
311912             ride/2015.8-2016-0604-1939
311913
311914             · c1fd830a1a Fix minor docstring issue of arg being missing
311915
311916           · c749aea409 Merge pull request #33759 from cachedout/issue_31219
311917
311918             · 15a39f8646 Catch no minions exception in batch mode
311919
311920           · 47d668e071 Merge pull request #33719 from cachedout/fixup_33653
311921
311922             · 635efa248b Change to just surround the mkdir
311923
311924             · 21b7123a60 Catch oserror for race condition
311925
311926           · 11e39e7203      Merge      pull      request      #33712     from
311927             meaksh/fix-for-groupadd-module-failures-in-SLE11-2015.8
311928
311929             · ab738416ba pylint fix
311930
311931             · bf27e5d36e test_members cleanup
311932
311933             · ba815dbf76 improvements on groupadd unit tests
311934
311935             · 3bbc5ae0d9 one line is better
311936
311937             · a53dc192c9 fix groupadd module for sles11 systems
311938
311939           · 2c450a7494 Merge pull request #33718 from rallytime/bp-33700
311940
311941             · a6a446121a Fix speed issue
311942
311943             · a41146730a Fix incorrect args passed to timezone.set_hwclock
311944
311945           · b07701f0a0 Merge pull request #33727 from terminalmage/issue33725
311946
311947             · d8ba7ed5a5 Fix git_pillar edge case for remote repos without  a
311948               master branch
311949
311950           · 015e50cec8    Merge    pull    request    #33728    from   jfind‐
311951             lay/test_state_test
311952
311953             · 87e018af2a states.test.configurable_test_state: add unit tests
311954
311955             · c2d0679c4b    states.test.configurable_test_state:     refactor
311956               change_data
311957
311958             · f06ff1af1f states.test.configurable_test_state test mode
311959
311960           · 1cf8fe3f1d    Merge    pull    request    #33729    from   twang‐
311961             boy/fix_win_servermanager
311962
311963             · 2de91d166f Fix docstring
311964
311965             · 9870479d99 Add exclude option to state
311966
311967             · 50bd76e206 Add exclude option
311968
311969           · 6c150d840d Merge pull request #33743 from  vutny/drop-debian-com‐
311970             munity-repo-doc
311971
311972             · 8621f5be54  Debian installation docs: drop section about commu‐
311973               nity-maintained repository
311974
311975           · 56c0a42e12 Create missing jid dir if it doesn't exist (#33653)
311976
311977           · 8a566ff4b9   Merge    pull    request    #33654    from    twang‐
311978             boy/fix_win_servermanager
311979
311980             · 6c7b21676a Fix lint and tests
311981
311982             · 4775e6bdf0 Add additional params to state
311983
311984             · b0af32346d Add additional params to install and remove
311985
311986           · 996ff56dd4 Merge pull request #33679 from terminalmage/issue33424
311987
311988             · 9da40c4437  Append  empty dictionaries for saltenvs with no top
311989               file
311990
311991             · 5eb1b3ca62 Only compile the template contents if they  evaluate
311992               to True
311993
311994       · ISSUE  #33843:  (richardscollin)  2016.3  Test Suite TCP Error (refs:
311995         #33860)
311996
311997       · PR #33860: (cachedout) Allow socket closes when the socket is discon‐
311998         nected @ 2016-06-08 18:26:16 UTC
311999
312000         · 669aa92d59 Merge pull request #33860 from cachedout/issue_33843
312001
312002         · 2c88e22c07 Use errno
312003
312004         · e7de99dd0e Correct silly mistake
312005
312006         · 7a46360a13 Allow socket closes when the socket is disconnected
312007
312008       · ISSUE  #33818:  (saltuser)  2016.3.0  minion  default  log level INFO
312009         (refs: #33821, #33861)
312010
312011         · PR #33861: (cachedout) Set master and cloud to log level warning
312012
312013         · PR #33821: (cachedout) Restore deafault log level to warning (refs:
312014           #33861)
312015
312016       · PR #33698: (opdude) Vsphere fixes @ 2016-06-08 14:12:17 UTC
312017
312018         · a3202f1ad6   Merge   pull   request   #33698  from  Unity-Technolo‐
312019           gies/vsphere-fixes
312020
312021         · 8ff5906fad Revert "Fix a bug when creating a new  VM  and  changing
312022           the network info"
312023
312024         · 636f4c00f0  Make  sure  we only use GetConnection if we are using a
312025           proxy salt minion
312026
312027         · 64e9334d56 Fix a bug with self signed certificates and  creating  a
312028           new VM
312029
312030         · 7834aeda7d  Fix a  bug when creating a new VM and changing the net‐
312031           work info
312032
312033       · PR #33771:  (twangboy)  Additional  functionality  to  win_dism.py  @
312034         2016-06-08 13:58:20 UTC
312035
312036         · 01aaf3e2a9 Merge pull request #33771 from twangboy/win_dism
312037
312038         · 9be45fe37a Fix some more lint
312039
312040         · 421dc97957 Fix/add unit tests for state
312041
312042         · 8d66fac74c Add missing unit tests
312043
312044         · 60f856f73d Fix unit tests for module
312045
312046         · b574947afe Fix some lint errors
312047
312048         · a32774c07d Add salt.utils.compare_lists
312049
312050         · 7ff7050705 Fix incorrect parameters in the state
312051
312052         · b8ee89f18e Fix typos
312053
312054         · 10458d8a70 Remove multiple lookups, faster
312055
312056         · d9b848c0d9 Change to dict instead of error
312057
312058         · 6510e0a5b0 Add restart option
312059
312060         · da8562dbc8 Add quiet and norestart options
312061
312062         · 946371bf1f Handle errors, ensure add/remove
312063
312064         · 7e6382a8b2 Use list instead of string for cmd
312065
312066         · fbdd28f144 Add state functions
312067
312068         · 90a4ee3d96         Merge         branch         '2016.3'         of
312069           https://github.com/saltstack/salt into win_dism
312070
312071         · 00c24abe1f Add get functions
312072
312073         · c6621053fd Add additional functions
312074
312075         · 36507845b6 Update documentation
312076
312077       · ISSUE #33649: (tyhunt99) 2016.3.0 dockerng state fails comparing  cmd
312078         configuration (refs: #33851)
312079
312080       · PR  #33851:  (ticosax)  [dockerng] Add support for edge case when Cmd
312081         and Entrypoint can't be blanked @ 2016-06-08 13:52:40 UTC
312082
312083         · f546e47552  Merge  pull  request  #33851  from   ticosax/fix-entry‐
312084           point-support
312085
312086         · 0d40e1c4f3  Add support for edge case when Cmd and Entrypoint can't
312087           be blanked
312088
312089       · ISSUE #33818: (saltuser)  2016.3.0  minion  default  log  level  INFO
312090         (refs: #33821, #33861)
312091
312092       · PR  #33821:  (cachedout) Restore deafault log level to warning (refs:
312093         #33861) @ 2016-06-07 16:51:46 UTC
312094
312095         · 3f6d06a060 Merge pull request #33821 from cachedout/issue_33818
312096
312097         · 52f1f77a38 Restore deafault log level to warning
312098
312099       · ISSUE #33578: (ohauer) 2016.3.0 FreeBSD Failed to load grains defined
312100         in   grain   file   disks.disks   in   function  <function  disks  at
312101         0x80cff9320>, error: (refs: #33604, #33767)
312102
312103       · PR #33767: (amontalban) Fix #33604  implementation  when  'geom  disk
312104         list' does not output rotat… @ 2016-06-07 14:41:56 UTC
312105
312106         · PR #33604: (kev009) Fix #33578 disks grain (refs: #33767)
312107
312108         · 3e48b701e3 Merge pull request #33767 from amontalban/2016.3
312109
312110         · b8c0dd5b4c Fix #33604 implementation when 'geom disk list' does not
312111           output rotationrate. #33578
312112
312113       · PR #33806: (cachedout) Work around upstream cherrypy bug @ 2016-06-07
312114         14:39:57 UTC
312115
312116         · a84588c788 Merge pull request #33806 from cachedout/cherrypy_1444
312117
312118         · 1b537d41b6 Work around upstream cherrypy bug
312119
312120       · ISSUE  #33754:  (zerthimon)  boto_s3_bucket.present is not idempotent
312121         (refs: #33776)
312122
312123       · PR #33776: (danslimmon) Fixed ACL user comparison.  Resolves  #33754.
312124         @ 2016-06-06 11:11:15 UTC
312125
312126         · 94f98b4ab8    Merge    pull    request    #33776    from   danslim‐
312127           mon/s3-bucket-idempotency-33754
312128
312129         · 35b84f1877 Fixed bug where _prep_acl_for_compare() would  edit  but
312130           not return
312131
312132         · f87bc347fd Fixed ACL user comparison. Resolves #33754.
312133
312134       · ISSUE  #33741:  (jopohl)  pkg.install: ERROR: Zypper command failure:
312135         Unknown option '--no-refresh' (refs: #33763)
312136
312137       · PR #33763: (abednarik) Insert --no-refresh before install in  Zypper.
312138         @ 2016-06-06 10:53:27 UTC
312139
312140         · a92e155a04  Merge pull request #33763 from abednarik/abednarik_zyp‐
312141           per_no_refresh_fix
312142
312143         · 7c909a1d7f Insert --no-refresh before install in Zypper.
312144
312145       · ISSUE #33647: (closepin) Pillars passed  from  command-line  override
312146         pillar subtrees instead of merging (refs: #33764)
312147
312148       · PR  #33764: (terminalmage) Merge instead of update pillar overrides @
312149         2016-06-06 10:52:22 UTC
312150
312151         · 306848a2d7 Merge pull request #33764 from terminalmage/issue33647
312152
312153         · 914003c995 Merge instead of update pillar overrides
312154
312155       · PR #33772: (danslimmon) Fixed  spelling  of  "through"  @  2016-06-06
312156         10:50:54 UTC
312157
312158         · b37a862b70 Merge pull request #33772 from danslimmon/trough-through
312159
312160         · ea3498aedc Fixed spelling of "through"
312161
312162       · ISSUE  #33614:  (knuta)  grains.has_key()   always  returns  false in
312163         2016.3.0 (refs: #33651)
312164
312165       · PR  #33651:  (cachedout)  Restore  grains  context  to  renderers   @
312166         2016-06-03 20:48:44 UTC
312167
312168         · a8d9221631 Merge pull request #33651 from cachedout/issue_33614
312169
312170         · 5518e1dd14 Fix whitespace
312171
312172         · 7b50e1766e Better fix
312173
312174         · 4e18ff7000 Restore grains context to renderers
312175
312176       · PR  #33757:  (cachedout) Reminder not to return non-serializable data
312177         from states @ 2016-06-03 19:23:54 UTC
312178
312179         · daf462e430 Merge pull request #33757 from cachedout/state_set_doc
312180
312181         · 500d4ccec2 Reminder not to return non-serializable data from states
312182
312183       · ISSUE #33605: (morganwillcock) win_pkg: UnicodeEncodeError where Dis‐
312184         playName includes "Español" (refs: #33670)
312185
312186       · PR  #33670:  (rallytime) Handle non-ascii package names in state.for‐
312187         mat_log @ 2016-06-03 16:16:53 UTC
312188
312189         · a5684ed123 Merge pull request #33670 from rallytime/fix-33605
312190
312191         · 59bd51f4c8 Update test to correct iteration
312192
312193         · a580d1c6e0 Add unit test for format_log change
312194
312195         · e68097445c Revert "Track down more  unicode  instances  and  add  a
312196           test"
312197
312198         · 9729aed262 Track down more unicode instances and add a test
312199
312200         · ae332d1f88 Handle non-ascii package names in state.format_log
312201
312202       · ISSUE #33588: (whytewolf) rabbitmq_user.present error  (refs: #33641)
312203
312204       · PR  #33723:  (rallytime)  Back-port  #33641  to  2016.3  @ 2016-06-03
312205         16:07:53 UTC
312206
312207         · PR #33641: (glomium) check rabbitmq version and use  different  api
312208           to validate a users pass… (refs: #33723)
312209
312210         · 56eab363ff Merge pull request #33723 from rallytime/bp-33641
312211
312212         · 77a51a00a3 pylint W0141, W0702
312213
312214         · f8518939a7 check rabbitmq version and use different api to validate
312215           a users password
312216
312217       · ISSUE #32059: (fuzzy-id) dockerng fails with: create_container()  got
312218         an unexpected keyword argument 'binds' (refs: #33748)
312219
312220       · PR  #33748:  (ticosax)  HostConfig  has been introduced by docker api
312221         version 1.15 @ 2016-06-03 15:28:40 UTC
312222
312223         · c2b970789c Merge pull request #33748  from  ticosax/adjust-api-ver‐
312224           sion-host-config
312225
312226         · 134e4a9abf  HostConfig  has  been intoriduced by docker api version
312227           1.15
312228
312229       · PR #33745: (eliasp)  Typo  (privilagesprivileges)  @  2016-06-03
312230         15:14:37 UTC
312231
312232         · e08c685a6c Merge pull request #33745 from eliasp/2016.3-typo-privi‐
312233           lages-privileges
312234
312235         · 646bc426c6 Typo (privilagesprivileges)
312236
312237       · ISSUE #33537: (anlutro) apache_module state functions  changed  names
312238         with no deprecation warning or backward compatibility (refs: #33562)
312239
312240       · PR #33562: (jfindlay) states.apache_*: readd and deprecate enable and
312241         disable @ 2016-06-02 19:51:37 UTC
312242
312243         · PR #29651: (zigarn) Deb apache fixes (refs: #33562)
312244
312245         · 5f4c6902aa Merge pull request #33562 from jfindlay/apache_funcs
312246
312247         · 9b0eb858a6 add note and workaround to release notes
312248
312249         · 17306bfc69 states.apache_*: readd and deprecate enable and disable
312250
312251       · ISSUE #33632: (rbjorklin) dockerng.volume_present: Dryrun  isn't  dry
312252         (refs: #33659)
312253
312254       · PR  #33659: (danslimmon) Added test mode to states.dockerng. Resolves
312255         #33632.  @ 2016-06-02 17:45:49 UTC
312256
312257         · d3253effe9  Merge  pull  request   #33659   from   danslimmon/dock‐
312258           erng-dryrun-33632
312259
312260         · ef885c1b7e  Added  test  mode  to dockerng.volume_present. Resolves
312261           #33632.
312262
312263       · PR #33696:  (clburlison)  Update  mac  native  package  for  upcoming
312264         release @ 2016-06-02 17:44:01 UTC
312265
312266         · 1d6582b659 Merge pull request #33696 from clburlison/2016.3-pkg-fix
312267
312268         · b483d1d8a6 Update mac native package for upcoming release
312269
312270       · PR #33710: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
312271         2016-06-02 16:19:00 UTC
312272
312273         · 78966f5f30 Merge pull request #33710 from rallytime/merge-2016.3
312274
312275         · b7accb0b3b Merge branch '2015.8' into '2016.3'
312276
312277         · c8dc70b96a Merge pull request #33685 from jfindlay/get_url_test
312278
312279           · 2b5035fdc0 modules.cp.get_url: add test for https://
312280
312281         · 5e022ff29c Merge pull request #33581 from dincamihai/2015.8
312282
312283           · 788730ea72 DRY test
312284
312285           · 1d3769ccfa Improve zypper_patcher_config looks
312286
312287           · 42d8d4195c Assert only gpgautoimport: True works
312288
312289           · ced75e8e62 Reverse if conditions and rename variable
312290
312291           · 80bfbe5c52 Reduce dicts and lists to one line where possible
312292
312293           · 1d5d6d7d60 Update test method names to pass pylint
312294
312295           · c7ae5907ee Call zypper refresh after adding/modifying  a  reposi‐
312296             tory
312297
312298         · 069ee15b7c Merge pull request #33681 from rallytime/bp-33599
312299
312300           · 45143a599b  use  requests streaming for uploads/downloads to file
312301             (return_bin  unchanged)  allows  downloading  files  larger  than
312302             amount  of memory (non-stream reads into memory before writing to
312303             disk or uploading)
312304
312305           · 4a9b23f03f first go at having requests use streaming for  get/put
312306             requests
312307
312308         · 13537c4891 Merge pull request #33396 from babilen/issue-33393
312309
312310           · 57e0475cd4 Make pip InstallationError import more robust
312311
312312           · 291a3e21fa Remove duplicated code.
312313
312314         · 7bce4ece1a Merge pull request #33652 from terminalmage/zh723
312315
312316           · 411841603a Lower the log level for failed auths
312317
312318         · 504989388a  Merge  pull request #33615 from danslimmon/mysql-trace‐
312319           back-33582
312320
312321           · 180099ae9f Wrote test for broken server connection
312322
312323           · c6c3ff02e3 Added some error checking to resolve #33582.
312324
312325       · ISSUE #32916: (giannello) file.managed memory usage with  s3  sources
312326         (refs: #33599, #33682)
312327
312328         · PR #33682: (lomeroe) backport #33599 to 2016.3
312329
312330         · PR  #33599:  (lomeroe)  Fix  s3  large file download (refs: #33681,
312331           #33682)
312332
312333       · ISSUE #33532: (Routhinator) 2016.3 breaks existing formulas that work
312334         on 2015.8 (refs: #33688)
312335
312336         · PR  #33688:  (terminalmage)  Undo __repr__() and __str__() parts of
312337           d5a7dcc
312338
312339       · ISSUE #29265: (mbochenk) mysql_user.present does not work with  MySQL
312340         5.7 (refs: #33690, #32440, #30603)
312341
312342         · PR #33690: (neil-williamson) Remove explicit PW column default from
312343           mysql_user
312344
312345         · PR #32440: (neil-williamson)  Automatically  detect  correct  MySQL
312346           password column for 5.7 and fix setting passwords (refs: #33690)
312347
312348         · PR #30603: (michalsuba) addressing #29265 (refs: #32440)
312349
312350       · PR  #33680:  (rallytime)  Back-port  #32942  to  2016.3  @ 2016-06-01
312351         22:14:20 UTC
312352
312353         · PR #32942: (onorua) Make tornado raise  error  configurable  (refs:
312354           #33680)
312355
312356         · c725854596 Merge pull request #33680 from rallytime/bp-32942
312357
312358         · 09751ecb04 Make tornado raise error configurable (#32942)
312359
312360       · PR  #33677:  (twangboy)  Pass kwargs to cmd.run @ 2016-06-01 20:20:08
312361         UTC
312362
312363         · 9571dad678 Merge pull request #33677 from twangboy/fix_runas
312364
312365         · 4272afe0d5 Pass kwargs to cmd.run
312366
312367       · ISSUE #33529: (djneades) pkg.latest completely broken on  FreeBSD  in
312368         salt-ssh 2016.3 (refs: #33648)
312369
312370       · PR  #33648: (terminalmage) salt.modules.pkgng: Fix incorrect usage of
312371         _pkg() @ 2016-06-01 16:37:46 UTC
312372
312373         · d566ec4b31 Merge pull request #33648 from terminalmage/issue33529
312374
312375         · 4ad80d29b6 salt.modules.pkgng: Fix incorrect usage of _pkg()
312376
312377       · PR #33646: (jfindlay) Fix  more  tmp  paths  on  MacOS  @  2016-06-01
312378         16:36:33 UTC
312379
312380         · e92d6e214f Merge pull request #33646 from jfindlay/mac_tests
312381
312382         · c53a727c18 tests.runtests: use globally-determined tempdir
312383
312384         · 8295b48459 test.integration: use hard /tmp on MacOS
312385
312386       · PR   #33656:   (cachedout)  Fix  indentation  error  in  minion.py  @
312387         2016-06-01 16:23:20 UTC
312388
312389         · PR #33076: (cachedout) Avoid second grains load on  windows  multi‐
312390           processing (refs: #33656)
312391
312392         · 9603cd3c0d Merge pull request #33656 from cachedout/fix_33076
312393
312394         · 8259d4091f Fix indentation error in minion.py
312395
312396       · PR #33637: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
312397         2016-05-31 18:43:17 UTC
312398
312399         · b379dc57fd Merge pull request #33637 from rallytime/merge-2016.3
312400
312401         · cd05d2bed1 Fix zypper test
312402
312403         · 74a7b78e00 Merge branch '2015.8' into '2016.3'
312404
312405           · b47182e47c   Merge    pull    request    #33558    from    twang‐
312406             boy/fix_win_servermanager
312407
312408             · 62a6bde0ea Fix comment when already installed
312409
312410             · 79bc7195dc Fix unit tests
312411
312412             · 56a6f6bb83 Fix changes
312413
312414             · 8ebe99ec5e Fix restart_needed
312415
312416             · 6e478cbda0 Add restart needed
312417
312418             · 72ebf26616 Add missing import
312419
312420             · 193583be96 Use dictionary compare for changes in remove
312421
312422             · 1ae7dd76c1 Use dictionary compare for changes
312423
312424           · 58d89d66e3 Merge pull request #33555 from cachedout/issue_33544
312425
312426             · fe7ee7a470 Fix crashing Maintenence process
312427
312428           · d052908729  Merge  pull  request  #33501 from meaksh/zypper-down‐
312429             load-check-signature-2015.8
312430
312431             · eaaef25c79 lint issue fixed
312432
312433             · 6b6febb211 unit tests for rpm.checksum() and zypper.download()
312434
312435           · e2d0c4abb1 Merge pull request #33513 from rallytime/fix-33319
312436
312437             · 81c1471209 Add a section to the jinja docs about escaping jinja
312438
312439           · fabc15e616   Merge   pull   request   #33520    from    jacobham‐
312440             mons/release-notes.8
312441
312442             · 42e358af7d Updated version numbers in the docs for the 2016.3.0
312443               release
312444
312445         · PR #33638: (rallytime) Back-port #33613 to 2016.3
312446
312447         · PR #33613: (abednarik) Updated apache_module for backward  compati‐
312448           ble. (refs: #33638)
312449
312450       · ISSUE  #33590: (morganwillcock) ini_manage.options_absent: only works
312451         in test mode (TypeError: unhashable type: 'list') (refs: #33606)
312452
312453       · PR #33606: (danslimmon) Fixed ini.options_absent. Resolves #33590.  @
312454         2016-05-31 15:51:35 UTC
312455
312456         · 23506f8279 Merge pull request #33606 from danslimmon/ini-optionsab‐
312457           sent-33590
312458
312459         · fb13852102 Fixed ini.options_absent. Resolves #33590.
312460
312461       · ISSUE #33578: (ohauer) 2016.3.0 FreeBSD Failed to load grains defined
312462         in   grain   file   disks.disks   in   function  <function  disks  at
312463         0x80cff9320>, error: (refs: #33604, #33767)
312464
312465       · PR  #33604:  (kev009)  Fix  #33578  disks  grain  (refs:  #33767)   @
312466         2016-05-31 15:17:37 UTC
312467
312468         · 44e8c9e720 Merge pull request #33604 from kev009/fix-33578
312469
312470         · e452ec514e Ignore cdroms in disks grain
312471
312472         · 8bf0290024 Make disks grain datatyper more resilient
312473
312474         · PR  #33631:  (babilen)  Fix  'virt' state names in cloud controller
312475           tutorial
312476
312477       · PR #33603: (sjorge) allow esky packages to be build on base64  2015Q4
312478         @ 2016-05-29 00:36:02 UTC
312479
312480         · e9a0c9304a  Merge  pull  request  #33603  from  sjorge/2016.3-smar‐
312481           tos-esky
312482
312483         · 1064102394 add no-wheel,  instructions  were  failing  for  someone
312484           testing due to wheel being used nog producing an egg
312485
312486         · c85e03ecf7 allow for newer pyzmq in esky packages
312487
312488         · 1620b8c0fa allow esky packages to be build on base64 2015Q4
312489
312490       · ISSUE  #33565:  (jamesp9)  Typo  in  states/virtualenv_mod.py  (refs:
312491         #33576)
312492
312493       · PR #33576: (tomlaredo) Fix #33565  (typo  causes  invalid  syntax)  @
312494         2016-05-27 16:46:35 UTC
312495
312496         · afd3c1b9bd Merge pull request #33576 from rodacom/2016.3
312497
312498         · 9f7d81e0cc Fix #33565
312499
312500       · ISSUE  #33530:  (kluoto) Centos7 pkg.upgrade failure on 2016.3 (refs:
312501         #33549)
312502
312503       · PR #33549: (thatch45) Fix for #33530 @ 2016-05-26 19:26:01 UTC
312504
312505         · 71145ddda7 Merge pull request #33549 from thatch45/33530
312506
312507         · b906859fce Fix for #33530
312508
312509       · PR #33538: (anlutro) Fix a KeyError if group is provided but not user
312510         in cmd states @ 2016-05-26 17:58:05 UTC
312511
312512         · 4831c6a353       Merge      pull      request      #33538      from
312513           alprs/fix-cmd_user_runas_deprecation_bug
312514
312515         · c738a0de76 fix a KeyError if group is provided but not user
312516
312517       · ISSUE #33543: (arthurlogilab) Thorium  documentation  is  incorrectly
312518         formated and appears partially on docs.saltstack.com (refs: #33550)
312519
312520       · PR  #33550: (jacobhammons) Fixes display of thorium docs @ 2016-05-26
312521         17:57:05 UTC
312522
312523         · 5287a1b8c8  Merge  pull  request  #33550  from  saltstack/jacobham‐
312524           mons-patch-1
312525
312526         · 65df3a6fa2 Refs #33543
312527
312528       · PR  #33509:  (twangboy)  Detect  System  Architecture for Mac Build @
312529         2016-05-26 14:40:54 UTC
312530
312531         · 3a95f8a977 Merge pull request #33509 from twangboy/fix_arch
312532
312533         · 7844059dcf Handle system architecture
312534
312535       · PR #33522: (jfindlay) rework modules.mac_brew.latest_version to  work
312536         around brew version inconsistency @ 2016-05-26 14:19:25 UTC
312537
312538         · 0bc881b4da Merge pull request #33522 from jfindlay/mac_pkg
312539
312540         · 2781377b17 modules.mac_brew: update unit tests
312541
312542         · 0ed3598fc9 modules.mac_brew int tests: add latest_version test
312543
312544         · 8789c2d06d        modules.mac_brew       int       tests:       add
312545           list_upgrades,info_installed
312546
312547         · be381e0fc9 modules.mac_brew int tests: move decorators to class
312548
312549         · fa3ec8a2bf modules.mac_brew.latest_version: refactor to  use  stan‐
312550           dard methods
312551
312552         · 58492c29cf modules.mac_brew: add info_installed function
312553
312554         · 9abf8f4832 modules.mac_brew.list_upgrades: use brew's json output
312555
312556         · 77a4f5b01e modules.mac_brew: move retcode check to _call_brew
312557
312558       · PR  #33519: (jacobhammons) New doc site layout, 2016.3.0 release note
312559         known issue additions @ 2016-05-26 13:53:21 UTC
312560
312561         · 518713f5e5 Merge pull request #33519 from jacobhammons/2016.3.0rel
312562
312563         · a424c38f5d New doc site layout, 2016.3.0 release note  known  issue
312564           additions
312565
312566       · PR #33508: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
312567         2016-05-25 20:34:49 UTC
312568
312569         · 9199101ef2 Merge pull request #33508 from rallytime/merge-2016.3
312570
312571         · a5e0141eda Merge branch '2015.8' into '2106.3'
312572
312573         · 5a6b037cbd Merge pull request #33507 from rallytime/merge-2015.8
312574
312575           · 03b0c97520 Merge branch '2015.5' into '2015.8'
312576
312577           · 6f7fda0354 Merge pull request #33486 from jtand/2015.5
312578
312579             · d1e210fff8        Merge        branch        '2015.5'        of
312580               https://github.com/saltstack/salt into 2015.5
312581
312582             · ee2ae0ea8a  Added docstring examples to glance.image_schema and
312583               schema_get
312584
312585             · 59e90064e6 modules.swift.head does not have a body. Should  not
312586               be checked for a docstring right now.
312587
312588           · f72ec1479b   Merge   pull   request  #33482  from  rallytime/pil‐
312589             lar-opts-docs
312590
312591             · 087564528d Add pillar_opts docs to master.rst
312592
312593           · dc644b145d Merge pull request #33488 from rallytime/fix-18752
312594
312595             · b0a9f4181f Add docs for the syndic_finger config
312596
312597           · a4e84aa7d2 Merge pull request #33454 from scubahub/2015.5
312598
312599             · df3c0b8e78 Correct (and make consistent) determination  of  the
312600               test flag.
312601
312602           · 3a52ace673 manage account information for pam (#33473)
312603
312604         · ee76be3b0b Merge pull request #33503 from rallytime/fix-15252
312605
312606           · cfc07f7641 Add docs about minion config file in standalone minion
312607             docs
312608
312609         · e9b648e461 Merge pull request #33474 from cachedout/issue_29451
312610
312611           · aa2bac3a0d Remove debugging
312612
312613           · 68d8050cb8 Fix diskusage beacon
312614
312615         · 3bfb6bf719      Merge      pull      request      #33465       from
312616           meaksh/check-if-job-returns-successfully-2015.8
312617
312618           · 9deb70fd8e  jobs.exit_success()  now works parsing the results of
312619             jobs.lookup_id()
312620
312621           · 7ba40c4f31 jobs.exit_success allow to check if a job has executed
312622             and exit successfully
312623
312624         · 70eb7b66f3 Merge pull request #33487 from jtand/glance_doc_fixes
312625
312626           · 0b1cae05d9   Added  docstring  examples  to  glance  methods  and
312627             nova.list
312628
312629           · ebf1256545 Don't need to check swift.head due  to  it  having  no
312630             body
312631
312632         · 56ea979916 Merge pull request #33481 from rallytime/fix-33423
312633
312634           · 7fd3e8f361 Fix docs about etcd config options and add pillar_opts
312635             doc
312636
312637         · 2394cdc4bf Merge pull request #33490 from rallytime/fix-16319
312638
312639           · 0c5548f9d1 Document the postgres.psql_query function
312640
312641         · ede232f0f1 Merge pull request #33480 from jfindlay/service_doc
312642
312643           · 29c00a1b1b states.service: clarify function description language
312644
312645           · 6a9ae09e79 states.service.__virtual__: add load fail reason
312646
312647         · 4f96cc1f54 Return full pending computer name (#33483)
312648
312649         · a89be5e9d4 Use six.string_types in jobs runner (#33499)
312650
312651         · 2e24a04565 Merge pull request #33491 from BlaineAtAffirm/2015.8
312652
312653           · 7599b18995 fix jobs.list_jobs failing with search_target
312654
312655         · 1861af427e Merge pull request #33478 from rallytime/bp-32484
312656
312657           · 042f17efa4 Only unsub if we have a jid
312658
312659         · b8154b678e Merge pull request #33457 from rallytime/doc-formatting
312660
312661           · 82f8f3efff Make doc formatting consistent and  use  correct  ver‐
312662             sionadded
312663
312664         · 1dfa95651c Don't allow a "repo" kwarg for pkgrepo.managed (#33477)
312665
312666         · b4071b07f1  Allow  for config entry to be a list in a dict for bea‐
312667           cons (#33476)
312668
312669         · 9f56ab4c45  Merge  pull  request  #33469  from  meaksh/zypper-down‐
312670           load-check-signature-2015.8
312671
312672           · a65071a6d1 simpler rpm.checksum function
312673
312674           · 80fe303e38 Renamed check_sig to checksum and some refactoring
312675
312676           · d56e3f4258  bugfix:  showing errors when a package download fails
312677             using zypper pkg.download
312678
312679           · 8a21b9149e check the signature of downloaded RPM files
312680
312681         · 00f9090928 Add docs about PyYAML's 1024 character  limitations  for
312682           simple keys (#33459)
312683
312684         · 3b12f396b4  Prevent several minion processes on the same machine (‐
312685           #33464)
312686
312687         · c8b4f338d8 Make --gpg-auto-import-keys a global param when  calling
312688           zypper (#33432)
312689
312690         · 0c4e38ced4  Fix  the  saltutil.wheel  function  and add integration
312691           tests  (#33414)
312692
312693       · PR #33505: (twangboy) Fix  build  script  where  pip  didn't  work  @
312694         2016-05-25 18:15:27 UTC
312695
312696         · a43ffadcb7 Merge pull request #33505 from twangboy/fix_build_script
312697
312698         · 7d78e5d612 Fix build script where pip wouldn't work
312699
312700       · PR  #33076: (cachedout) Avoid second grains load on windows multipro‐
312701         cessing (refs: #33656) @ 2016-05-25 17:10:06 UTC
312702
312703         · 4cf40da7d7 Merge pull request #33076 from cachedout/win_grains
312704
312705         · dab9825c88 Fix indentation error
312706
312707         · b14e2cce9e Avoid second grains load on windows multiprocessing
312708
312709   Salt 2016.3.2 Release Notes
312710       Version 2016.3.2 is a bugfix release for 2016.3.0.
312711
312712   Statistics
312713       · Total Merges: 200
312714
312715       · Total Issue References: 66
312716
312717       · Total PR References: 177
312718
312719       · Contributors: 52 (Ch3LL,  DarkKnightCZ,  DmitryKuzmenko,  Inveracity,
312720         abalashov,  abednarik, adelcast, ajacoutot, amendlik, anlutro, aphor,
312721         artxki,  bbinet,  bensherman,  cachedout,  christoe,   clinta,   cro,
312722         dmurphy18,  dongweiming, eliasp, eradman, farcaller, garethgreenaway,
312723         glomium, gtmanfred,  isbm,  jacobhammons,  jacobweinstock,  jfindlay,
312724         jmacfar,  jnhmcknight,  justinta,  l2ol33rt, lomeroe, meaksh, nulfox,
312725         opdude, peterdemin,  rallytime,  s0undt3ch,  secumod,  sjmh,  sjorge,
312726         terminalmage,  thatch45,  themalkolm,  ticosax, tmehlinger, twangboy,
312727         vutny, whiteinge)
312728
312729   Returner Changes
312730       · Any returner which implements a save_load function is now required to
312731         accept a minions keyword argument. All returners which ship with Salt
312732         have been modified to do so.
312733
312734   Changelog for v2016.3.1..v2016.3.2
312735       Generated at: 2018-05-27 04:37:58 UTC
312736
312737       · PR #34988: (rallytime)  Update  release  notes  with  new  changes  @
312738         2016-07-27 15:54:16 UTC
312739
312740         · 721e6dcce8     Merge    pull    request    #34988    from    rally‐
312741           time/release-notes-update
312742
312743         · a2aae987a6 Update release notes with new changes
312744
312745       · PR #34946: (anlutro) Fix virtualenv behavior when requirements  files
312746         are in subdirectories @ 2016-07-27 14:43:27 UTC
312747
312748         · d63ac1671c  Merge pull request #34946 from alprs/fix-venv_reqs_sub‐
312749           dir
312750
312751         · f773d63cbb normalize requirements path to be absolute
312752
312753         · bdec73bb03 remove unnecessary os.path.basename logic
312754
312755       · PR #34957: (sjmh) Don't fall  through  to  checking  auth  entries  @
312756         2016-07-26 22:16:17 UTC
312757
312758         · f765faa3aa Merge pull request #34957 from sjmh/2016.3
312759
312760         · 0095dbe530 Don't fall through to checking auth entries
312761
312762       · PR  #34971: (cachedout) Increase timeout for grains test @ 2016-07-26
312763         22:11:29 UTC
312764
312765         · 2d3b95dec9 Merge pull request #34971 from  cachedout/increase_time‐
312766           out_grains_test
312767
312768         · 82d271b43a Increase timeout for grains test
312769
312770       · ISSUE  saltstack/salt#34873:  (Cashwini) Scheduler on master does not
312771         recognize the  date  strings  supported  by  python  dateutil  (refs:
312772         #34951)
312773
312774       · ISSUE  #34873:  (Cashwini) Scheduler on master does not recognize the
312775         date strings supported by python dateutil (refs: #34951)
312776
312777       · PR #34951: (vutny) Fix #34873 @ 2016-07-26 17:07:48 UTC
312778
312779         · f23e8c525e Merge pull request #34951 from vutny/fix-schedule-dateu‐
312780           til
312781
312782         · 0faa490991   Fix   job   scheduling   using   when   parameter  (by
312783           python-dateutil)
312784
312785       · PR #34935: (rallytime) Avoid UnboundLocalError in  beacons  module  @
312786         2016-07-26 17:01:23 UTC
312787
312788         · PR  #34894:  (rallytime)  [develop]  Merge  forward  from 2016.3 to
312789           develop (refs: #34935)
312790
312791         · deb1331601  Merge   pull   request   #34935   from   rallytime/bea‐
312792           cons-mod-cleanup
312793
312794         · 97a36ef367 Avoid UnboundLocalError in beacons module
312795
312796         · PR #34956: (cachedout) Increase all run_script timeouts to 30s
312797
312798       · PR #34933: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
312799         2016-07-25 22:09:05 UTC
312800
312801         · 5d194f2d17 Merge pull request #34933 from rallytime/merge-2016.3
312802
312803         · 8b295fe4ea Merge branch '2015.8' into '2016.3'
312804
312805         · ec8fc058d4 Master performance improvement (#34916)
312806
312807         · 34dc2fd792 Merge pull request #34911 from cachedout/backport_34906
312808
312809           · 8becec2f4f Backport #34906
312810
312811         · 6ccc27f697      Merge      pull      request      #34898       from
312812           hrumph/list_upgrades_refresh
312813
312814           · acd4b1a23b Fixes #33620
312815
312816         · 5c13ee0e72  Merge  pull  request #34606 from isbm/isbm-config-read‐
312817           ing-exit-2015.8
312818
312819           · 5f5b802c0c Add option to master config reader on ignoring  system
312820             exit for wrong configuration
312821
312822           · 6fc677f177  Ignore minion config errors everywhere but the minion
312823             itself
312824
312825           · 8699194647 Remove deprecation:  BaseException.message  deprecated
312826             as of 2.6
312827
312828           · 0e65cfec91 Fix lint: E8302
312829
312830           · 67faa56bf1 Use Salt default exit codes instead of hard-coded val‐
312831             ues
312832
312833           · a84556e596 Exit immediately on configuration error
312834
312835           · 43d965907c Raise an exception on any  found  wrong  configuration
312836             file
312837
312838           · 30ed728d05 Cover exception handling in the utils.parsers
312839
312840           · 5e8c0c6bdb Introduce configuration error exception
312841
312842       · ISSUE  #34760: (nate-byrnes) XenServer 7 needs correct provider setup
312843         for services. (refs: #34915)
312844
312845         · PR  #34915:  (abednarik)  Update  service_rh  provider  to  exclude
312846           XenServer >= 7.
312847
312848       · PR #34926: (rallytime) Lint #34923 @ 2016-07-25 14:53:42 UTC
312849
312850         · PR #34923: (eliasp) Handle exception when no Slack API key was pro‐
312851           vided (refs: #34926)
312852
312853         · a7e7ec6d25 Merge pull request #34926 from rallytime/lint-34923
312854
312855         · b3514abf1b Lint fixes for #34923
312856
312857         · 69afcc4060 Handle exception when no Slack API key was provided
312858
312859       · ISSUE saltstack/salt#34908: (Ch3LL) Cannot start proxy minion due  to
312860         keyerror in grains (refs: #34910)
312861
312862       · PR #34910: (cachedout) Fix grains error on proxy minions @ 2016-07-22
312863         23:05:46 UTC
312864
312865         · c663c8bb5b Merge pull request #34910 from cachedout/proxy_grains
312866
312867         · 0970ebace8 Fix grains error on proxy minions
312868
312869         · PR #34864: (jmacfar) Check for version in list  of  installed  ver‐
312870           sions
312871
312872       · ISSUE saltstack/salt#34816: (msdogado) VirtuozzoLinux not realized as
312873         RedHat by pkg (refs: #`saltstack/salt`#34878`_`_, #34878)
312874
312875         · PR saltstack/salt#34878: (abednarik) Add VirtuozzoLinux  is  yumpkg
312876           enable list. (refs: #34902)
312877
312878         · PR #34902: (rallytime) Back-port #34878 to 2016.3
312879
312880         · PR  #34878:  (abednarik)  Add VirtuozzoLinux is yumpkg enable list.
312881           (refs: #34902)
312882
312883       · ISSUE saltstack/salt#34893: (msdogado) rpm VirtuozzoLinux not working
312884         (refs: #34901)
312885
312886       · PR #34901: (rallytime) Add VirtuozzoLinux to the list of enabled dis‐
312887         tros for rpm.py @ 2016-07-22 22:23:48 UTC
312888
312889         · ad640cc046 Merge pull request #34901 from rallytime/fix-34893
312890
312891         · 45e2ce10a4 Add VirtuozzoLinux to the list of  enabled  distros  for
312892           rpm.py
312893
312894       · ISSUE  saltstack/salt#34890:  (msdogado) VirtuozzoLinux enabling ser‐
312895         vices not working (refs: #34900)
312896
312897       · PR #34900: (rallytime) Add VirtuozzoLinux to enabled  platforms  list
312898         in rh_service.py @ 2016-07-22 22:21:20 UTC
312899
312900         · 5aa532f98b Merge pull request #34900 from rallytime/fix-34890
312901
312902         · 12824487cc  Add VirtuozzoLinux to enabled platforms list in rh_ser‐
312903           vice.py
312904
312905       · PR #34887: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
312906         2016-07-22 18:04:47 UTC
312907
312908         · ebebfa647f Merge pull request #34887 from rallytime/merge-2016.3
312909
312910         · 109b368d19 Merge branch '2015.8' into '2016.3'
312911
312912           · fb223e1bd4 Invalidate the target cache very quickly (#34862)
312913
312914           · 1ca1367289  Fail  git.latest states with uncommitted changes when
312915             force_reset=False (#34869)
312916
312917           · 4f4381e5b9   Merge   pull    request    #34859    from    cached‐
312918             out/fix_wheel_test
312919
312920             · b4be66dedf Fix wheel test
312921
312922       · PR  #34632: (eliasp) Try to create the log directory when not present
312923         yet @ 2016-07-22 17:34:31 UTC
312924
312925         · eba34f7f4c  Merge  pull  request  #34632  from   eliasp/2016.3-cre‐
312926           ate-logdir-when-needed
312927
312928         · 9c89470661 Try to create the log directory when not present yet
312929
312930       · PR #34854: (rallytime) Remove string_types import from state compiler
312931         @ 2016-07-22 17:20:15 UTC
312932
312933         · 965f517889    Merge    pull    request    #34854    from     rally‐
312934           time/cleanup-state-imports
312935
312936         · 73d3075ce9 Remove string_types import from state compiler
312937
312938       · ISSUE  saltstack/salt#26171: (HG00) salt-ssh from python2.6 master to
312939         python2.7 minion fails on "from _elementtree import *" (refs: #34865)
312940
312941       · PR #34865: (thatch45) This needs discussion, since this breaks SUSE @
312942         2016-07-22 17:19:34 UTC
312943
312944         · 584d7606d4 Merge pull request #34865 from thatch45/break_suse
312945
312946         · 6c5f363921 This needs discussion, since this breaks SUSE
312947
312948       · PR #34858: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
312949         2016-07-21 21:01:17 UTC
312950
312951         · aaede31f66 Merge pull request #34858 from rallytime/merge-2016.3
312952
312953         · 9227c3dd26 Merge branch '2015.8' into '2016.3'
312954
312955         · acc9e31c02 Merge pull request #34822 from thatch45/ssh_fixes
312956
312957           · b5de492143 fix #34798
312958
312959           · 5ad6bd7307 fix #34796
312960
312961         · 5d91139bc9 Merge pull request #34847 from cachedout/pwall
312962
312963           · 2c8298dc6e Profile logging
312964
312965           · 3affafa2e9 Add an option to skip the verification  of  client_acl
312966             users
312967
312968         · 07d1d36653 Merge pull request #34827 from thatch45/34691
312969
312970           · 1ccf35eca4 fix beacon list to include all beacons being processed
312971
312972         · b375720251 Merge pull request #34833 from rallytime/bp-28521
312973
312974           · e50a6783ce SPM: packaging doesn't work in Python 2.6. Fixed.
312975
312976         · 042646582f Merge pull request #34823 from rallytime/bp-25276
312977
312978           · a028796eff copy spm.1 man page during setup Refs #25213
312979
312980         · 6c35d88268 Fix #34648 (#34828)
312981
312982       · PR  #34852:  (rallytime)  Skip  GCE unit tests - causes test suite to
312983         hang @ 2016-07-21 17:52:31 UTC
312984
312985         · b3d8143d36 Merge pull request #34852 from rallytime/skip-gce-tests
312986
312987         · 15b4f5a8b3 Skip GCE unit tests - causes test suite to hang
312988
312989         · PR #34850: (rallytime) Update 2016.3.2 release notes
312990
312991       · ISSUE #34215: (rvora)  salt-master  crashes  every  few  days  (refs:
312992         #34683)
312993
312994       · PR  #34844: (vutny) Fix getting total available memory without psutil
312995         installed @ 2016-07-21 17:12:38 UTC
312996
312997         · PR #34683: (cachedout) Fix publisher leak (refs: #34844)
312998
312999         · 650674d14a      Merge      pull      request      #34844       from
313000           vutny/fix-grains-load-in-config-init
313001
313002         · 4dc7827020  Fix comment in master config, prevents the service from
313003           starting
313004
313005         · b4cfebb107 Fix Salt failure after merge of #34683
313006
313007         · PR #34848: (rallytime) Update release notes for 2016.3.2
313008
313009       · ISSUE saltstack/salt#34345: (edgan) Salt master mode's  and  salt-ssh
313010         mode's top.sls processing aren't the same (refs: #34837)
313011
313012       · ISSUE  #34345: (edgan) Salt master mode's and salt-ssh mode's top.sls
313013         processing aren't the same (refs: #34837)
313014
313015       · PR #34837: (thatch45) Fix #34345 @ 2016-07-21 14:36:15 UTC
313016
313017         · 52a95b2ea3 Merge pull request #34837 from thatch45/34345
313018
313019         · 1e8c585cd3 Fix #34345
313020
313021       · ISSUE saltstack/salt#32591:  (AndrewPashkin)  "RuntimeError:  maximum
313022         recursion  depth  exceeded"  in  salt/utils/lazy.py,  using  Salt-SSH
313023         (refs: #34838)
313024
313025       · PR  #34838:  (thatch45)  Check  if  a  valid  value  is   passed   to
313026         unlyif/unless @ 2016-07-21 14:34:29 UTC
313027
313028         · 96450ac74d Merge pull request #34838 from thatch45/unless_valid
313029
313030         · 1f34299a84 Check if a valid value is passed to unlyif/unless
313031
313032       · ISSUE  saltstack/salt#32525: (anlutro) state.show_low_sls not working
313033         in salt-ssh (refs: #34840)
313034
313035       · PR  #34840:  (thatch45)  update  the   state   wrapper   to   include
313036         show_low_sls @ 2016-07-21 14:34:02 UTC
313037
313038         · 3a5ef86d58 Merge pull request #34840 from thatch45/state_update_ssh
313039
313040         · 77dce3920c update the state wrapper to include show_low_sls
313041
313042       · ISSUE  #34762: (aphor) zpool state module needs support for disk vdev
313043         (refs: #34791, #34770)
313044
313045       · PR #34842: (sjorge) 2016.3  zpool  cleanup  and  fixes  @  2016-07-21
313046         14:32:56 UTC
313047
313048         · PR  #34770:  (aphor) zpool state module needs support for disk vdev
313049           #34762 (refs: #34842)
313050
313051         · 5f67318fd7 Merge pull request #34842 from  sjorge/2016.3-zpool-sim‐
313052           plifaction
313053
313054         · a7ff9524b0 drop parsing of vdevs, error passthrough from zpool cli
313055
313056         · 25d6c8139b eliminate hardcoded vdev type from zpool state
313057
313058         · 47b8dc946c salt.states.zpool - work with updates exec module
313059
313060         · a5a98845c7 salt.module.zpool - fix bug with properties on/off being
313061           parsed as true/false
313062
313063         · dd64494a19 salt.modules.zpool - drop vdev types  to  make  it  more
313064           future proof, fallback to zpool cli error messages
313065
313066         · PR  #34825:  (thatch45)  keep this beacon from stack tracing at the
313067           loader
313068
313069       · PR #34824: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
313070         2016-07-20 20:54:35 UTC
313071
313072         · b9db0b0036 Merge pull request #34824 from rallytime/merge-2016.3
313073
313074         · 094731f4b6 Merge branch '2015.8' into '2016.3'
313075
313076         · 98fa4a404e  Merge  pull request #34818 from jtand/mysql_state_inte‐
313077           gration_test_cleanup
313078
313079           · 9abb6f91bb Skip mysql state test if mysqladmin is not available
313080
313081         · 6636f2b449 Merge pull request #34803 from junovitch/issue_24744
313082
313083           · 64c850410f salt/state.py: set 'chunk['order'] = 0'  with  'order:
313084             first'; fixes #24744
313085
313086       · PR  #34670:  (isbm)  Add "osmajorrelease" grain (2016.3) @ 2016-07-20
313087         14:39:38 UTC
313088
313089         · 62ef8fdb35 Merge  pull  request  #34670  from  isbm/isbm-osmajorre‐
313090           lease-grain-suse
313091
313092         · a6bcbd615f Lintfix PEP8: E262
313093
313094         · 110a422d5a Keep osmajorrelease as a string type for 2016.3 release
313095
313096         · 208fd33b48 Add unit test for osmajorrelease grain
313097
313098         · 9a6b2175c6 Implement "osmajorrelease" by killing spaghetti
313099
313100       · ISSUE  #34215:  (rvora)  salt-master  crashes  every  few days (refs:
313101         #34683)
313102
313103       · PR #34683: (cachedout) Fix publisher leak (refs: #34844) @ 2016-07-20
313104         13:57:10 UTC
313105
313106         · 6ca9ffa7c7 Merge pull request #34683 from cachedout/issue_34215
313107
313108         · ccd53e9214 Lint
313109
313110         · 76eb46fb08 Document master setting
313111
313112         · 0dfe3aaf31 Set up dynamic config
313113
313114         · 3cfb82cdd4 Fix silly error
313115
313116         · 35a845fff5 Only set IPC with write buffer if set
313117
313118         · b2d636017d Add IPC to minion opts
313119
313120         · 2c1c92c48e Lint
313121
313122         · c4395ae84e Dial down default buffer and apply to just write buffer
313123
313124         · 3e3e2a997e Typo
313125
313126         · 78f6251c09 Correct issues with config
313127
313128         · c138cc03e3 Configuration settings for IPC buffers
313129
313130       · ISSUE  #34762: (aphor) zpool state module needs support for disk vdev
313131         (refs: #34791, #34770)
313132
313133       · PR #34791: (sjorge) salt.state.zpool tweaks @ 2016-07-19 20:56:47 UTC
313134
313135         · 49ab3fd2b5 Merge pull request #34791 from sjorge/zpool-state-tweaks
313136
313137         · d48c6d2dcb accomidate use of "fake" vdev type disk,  this  behavior
313138           may  be  broken  later  if  a  disk vdev ever gets added to the cli
313139           tools. improve documentation explaining how  to  create  a  striped
313140           pool without the "fake" vdev type
313141
313142       · PR #34784: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
313143         2016-07-19 16:30:18 UTC
313144
313145         · 1617a7058a Merge pull request #34784 from rallytime/merge-2016.3
313146
313147         · 3e032dc397 Merge branch '2015.8' into '2016.3'
313148
313149         · 58021035a9    Merge    pull    request     #34773     from     ran‐
313150           domed/mysql-returner-startup/2015.8
313151
313152           · 0cd55eb7d7  Add  jid=req  handling  for mysql returner. It should
313153             also store the return jid into the jid list table.
313154
313155         · 10a1af9949 Remove unnedeed config test (#34751)
313156
313157         · f19caac8e4  Merge   pull   request   #34754   from   cachedout/dis‐
313158           able_mid_test
313159
313160           · 46901c6e65 Disable test
313161
313162         · 81f29006f2 Merge pull request #34741 from rallytime/bp-34726
313163
313164           · d949110993  Loop over updated keys in non recursive update
313165
313166       · ISSUE  saltstack/salt#34630:  (bdrung) Spelling errors (refs: #34756,
313167         #34722)
313168
313169       · ISSUE saltstack/salt#33923:  (pavankumar2203)  Salt  module  certutil
313170         install doesnt work (refs: #34756)
313171
313172         · PR #34756: (jacobhammons) Rebuild man pages
313173
313174       · ISSUE   saltstack/salt#27980:   (rayba)   salt-cloud  2015.5.0  azure
313175         provider could not be loaded (refs: #34746)
313176
313177       · PR #34746: (rallytime) Update azure lib  dep  to  match  the  one  in
313178         cloud.clouds.msazure @ 2016-07-18 18:54:40 UTC
313179
313180         · 2a9738f00d Merge pull request #34746 from rallytime/azure-version
313181
313182         · ead3eb1606   Update   azure   lib   dep   to   match   the  one  in
313183           cloud.clouds.msazure
313184
313185       · PR #34744: (justinta) Test valid docs fix @ 2016-07-18 18:22:47 UTC
313186
313187         · c0e2657c8e Merge pull request #34744 from jtand/test_valid_docs_fix
313188
313189         · 4fe33a7695 add directives example to ldap3.modify
313190
313191         · 6fa40a0d46 Add cli examples for ldap3 module
313192
313193         · b94e0dd95a ipset.long_range doesn't need a docstring
313194
313195       · PR #34740: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
313196         2016-07-18 16:28:56 UTC
313197
313198         · d4adf98b85 Merge pull request #34740 from rallytime/merge-2016.3
313199
313200         · 7d106c78f0 Merge branch '2015.8' into '2016.3'
313201
313202           · e9e5bbe38b Merge pull request #34721 from rallytime/fix-34703
313203
313204             · 9c803d05a5 Add output_file option to master config docs
313205
313206       · PR  #34607:  (isbm)  Bugfix:  Exit on configuration read (backport) @
313207         2016-07-18 15:15:21 UTC
313208
313209         · efc7599f85 Merge pull request  #34607  from  isbm/isbm-config-read‐
313210           ing-exit-2016.3
313211
313212         · fb7542f920  Add  option  to master config reader on ignoring system
313213           exit for wrong configuration
313214
313215         · abd10b5782 Ignore minion config errors everywhere  but  the  minion
313216           itself
313217
313218         · e5f43e6711  Remove deprecation: BaseException.message deprecated as
313219           of 2.6
313220
313221         · 23d1031a09 Fix lint: E8302
313222
313223         · 6b660678fa Use Salt default exit codes instead of hard-coded values
313224
313225         · 0c2d3511c9 Exit immediately on configuration error
313226
313227         · c5de6c8c4a Raise an exception on any found wrong configuration file
313228
313229         · 575767022b Cover exception handling in the utils.parsers
313230
313231         · 2cf696671f Introduce configuration error exception
313232
313233         · PR saltstack/salt#34607: (isbm) Bugfix: Exit on configuration  read
313234           (backport) (refs: #34739)
313235
313236       · PR  #34739:  (cachedout)  Remove  unnedeed  config  test @ 2016-07-18
313237         15:15:15 UTC
313238
313239         · d0e0c0186b Merge pull  request  #34739  from  cachedout/remove_con‐
313240           fig_test
313241
313242         · 4625ee65b8 Remove unnedeed config test
313243
313244       · ISSUE  saltstack/salt#34630:  (bdrung) Spelling errors (refs: #34756,
313245         #34722)
313246
313247       · PR #34722: (rallytime) Various spelling fixes @  2016-07-16  19:49:54
313248         UTC
313249
313250         · abf5b976ed Merge pull request #34722 from rallytime/fix-34630
313251
313252         · cca9446c37 Various spelling fixes
313253
313254       · PR  #34714:  (sjmh)  Fix  ldap auth for function matches @ 2016-07-16
313255         19:49:12 UTC
313256
313257         · 922cc5a8a7 Merge pull request #34714 from sjmh/fix/ldap_auth
313258
313259         · d4144039bc Fix ldap auth for function matches
313260
313261       · PR #34720: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
313262         2016-07-16 19:22:28 UTC
313263
313264         · 40626d786a Merge pull request #34720 from rallytime/merge-2016.3
313265
313266         · c2130d5a04 Merge branch '2015.8' into '2016.3'
313267
313268         · 08d00f3a61 Merge pull request #34689 from Azidburn/fix_pkg_sources
313269
313270           · 2c0fc919b3  fix  second  run  problems  with  pkg.installed using
313271             sources
313272
313273         · 4cb1ded520 Merge pull request  #34695  from  isbm/isbm-zypper-prod‐
313274           uct-boolean-values
313275
313276           · 5ed5142fbc  Update  test data for 'registerrelease' and 'product‐
313277             line' fields
313278
313279           · 21444ee240  Bugfix:  return  boolean  only   for   'isbase'   and
313280             'installed' attributes
313281
313282         · aaa6f7d80a update 2015.8.11 release notes (#34682)
313283
313284       · ISSUE  #34661: (chrimi) Cron State documentation lacks information of
313285         "New in" for special parameter in cron.present (refs: #34707)
313286
313287         · PR #34707: (rallytime) Add  versionadded  to  "special"  option  in
313288           cron.present state
313289
313290       · PR  #34696:  (isbm) Bugfix: Zypper pkg.list_products returns False on
313291         some empty values (2016.3) @ 2016-07-15 21:18:21 UTC
313292
313293         · 51fce770a5 Merge pull request  #34696  from  isbm/isbm-zypper-prod‐
313294           uct-boolean-values-2016.3
313295
313296         · 96021e257c Update test data for 'registerrelease' and 'productline'
313297           fields
313298
313299         · 337eee33ac Bugfix: return boolean only for 'isbase' and 'installed'
313300           attributes
313301
313302       · PR #34702: (farcaller) Fixed dockerng.list_tags @ 2016-07-15 20:50:35
313303         UTC
313304
313305         · 45045f6900 Merge pull request #34702 from farcaller/fixtags
313306
313307         · 032e35a28e Fixed dockerng.list_tags
313308
313309       · ISSUE saltstack/salt#34548: (Inveracity) win_dsc.set_lcm_config  does
313310         not  set  multiple  values,  missing  semicolon (refs: #34549, #salt‐
313311         stack/salt`#34549`_)
313312
313313         · PR saltstack/salt#34549: (Inveracity) fixes multiple values in  mof
313314           configuration (refs: #34681)
313315
313316         · PR #34681: (rallytime) Back-port #34549 to 2016.3
313317
313318         · PR  #34549: (Inveracity) fixes multiple values in mof configuration
313319           (refs: #34681)
313320
313321       · PR #34679: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
313322         2016-07-14 20:59:45 UTC
313323
313324         · d57507dde8 Merge pull request #34679 from rallytime/merge-2016.3
313325
313326         · 0c566dce89 Merge branch '2015.8' into '2016.3'
313327
313328         · 3192e1674b   Merge   pull   request   #34676   from  cachedout/par‐
313329           tial_revert_34644
313330
313331           · 64a154826a Revert "Modify lodaer global  test  to  use  populated
313332             dunders"
313333
313334         · 3b6f1089b2 Merge pull request #34601 from lorengordon/clarify-doc
313335
313336           · bfe0dd0b8a Clarifies the proper way to reference states
313337
313338         · bc63f25a6f Lint 34644 (#34651)
313339
313340         · 50360263c5  Adjust  the  mine test a little bit to give it a better
313341           chance of success (#34647)
313342
313343         · 8a0209101e Merge  pull  request  #34642  from  jtand/mysql_integra‐
313344           tion_cleanup
313345
313346           · dd1559a599  Check  that  mysqladmin  exists  before running mysql
313347             integration tests.
313348
313349         · 3e612c3794 Merge pull request  #34618  from  jtand/network_integra‐
313350           tion_fix
313351
313352           · 34bcf9ccfc Changed network state test to use test=True
313353
313354           · b2616833b0 Some small changes
313355
313356           · ed59113e94 Change network state integration test to use test=True
313357
313358       · ISSUE  saltstack/salt#33452:  (Ch3LL)  Digital  Ocean does not return
313359         anything on deletion (refs: #34605)
313360
313361       · PR #34605:  (gtmanfred)  catch  error  if  no  dns  domains  exist  @
313362         2016-07-14 15:20:46 UTC
313363
313364         · b88c39e1d2 Merge pull request #34605 from gtmanfred/2016.3
313365
313366         · 37b0943539 catch error if no dns domains exist
313367
313368       · PR  #34557:  (jacobweinstock) handle jboss cli expression type in the
313369         parsing of output @ 2016-07-14 15:09:49 UTC
313370
313371         · b3dc6031fe   Merge   pull   request    #34557    from    jacobwein‐
313372           stock/jboss7_cli-handle-expression-type
313373
313374         · 1945153399  handle  jboss cli expression type in the parsing of the
313375           output
313376
313377         · PR #34652: (rallytime) Spelling fixes found in sqlite3 pillar docs
313378
313379       · ISSUE saltstack/salt#34382: (amontalban) Exception: unsupported oper‐
313380         and type(s) for -: 'str' and 'int' (refs: #34565)
313381
313382       · ISSUE #34554: (stjack99) num_cpus grain missing with Salt 2016.3.1 on
313383         FreeBSD 10.x (refs: #34565)
313384
313385         · PR #34565: (Ch3LL) add num_cpus grain to freebsd
313386
313387         · PR #34621: (justinta) Suse Leap doesn't have 'man'
313388
313389       · PR #34619: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
313390         2016-07-12 21:52:01 UTC
313391
313392         · 61f5045a0d Merge pull request #34619 from rallytime/merge-2016.3
313393
313394         · f734afd0b0 Merge branch '2015.8' into '2016.3'
313395
313396         · 9f123543e5 Merge pull request #34617 from rallytime/merge-2015.8
313397
313398           · 3026df346f Merge branch '2015.5' into '2015.8'
313399
313400           · 57df38e685  Update  github  IP for ssh state integration tests (‐
313401             #34592)
313402
313403           · 2e1007254b Avoid circular imports when calling  salt.utils  func‐
313404             tions (#34584)
313405
313406         · b90ae407f9  Add support for edge case when Cmd and Entrypoint can't
313407           be blanked (#34593)
313408
313409         · 12b579c4e3 When sorting list actual_data, make it a list (#34590)
313410
313411         · 7dd8035c62 Gate docker unit test to check for docker (#34591)
313412
313413         · ae38c874da Add a bunch of documentation on getting files from other
313414           environments (#34560)
313415
313416         · 91e0656d44 Merge pull request #34531 from terminalmage/issue34397
313417
313418           · d0fec1b8f6 salt/modules/zypper.py: accept ignore_epoch argument
313419
313420           · 5ae9463c1f salt/modules/yumpkg.py: accept ignore_epoch argument
313421
313422           · c2791117af salt/modules/rpm.py: accept ignore_epoch argument
313423
313424           · c5de8b880d salt/modules/ebuild.py: accept ignore_epoch argument
313425
313426           · 4ee8e8f037 salt/modules/aptpkg.py: accept ignore_epoch argument
313427
313428           · 5b123b403c Pass ignore_epoch to salt.utils.compare_versions()
313429
313430           · 07368fac40   Accept  ignore_epoch  argument  for  salt.utils.com‐
313431             pare_versions()
313432
313433         · e99befad47   Merge   pull    request    #34545    from    terminal‐
313434           mage/docker-exec-driver
313435
313436           · dd5838e242  Handle cases where Docker Remote API returns an empty
313437             ExecutionDriver
313438
313439         · PR #34585: (rallytime) [2016.3] Avoid salt.utils  circular  imports
313440           when using "from"
313441
313442       · PR  #34616:  (jacobhammons) Adds a mock required for the network set‐
313443         tings beacon @ 2016-07-12 19:09:30 UTC
313444
313445         · c8bdfb272d Merge pull request #34616 from jacobhammons/network-set‐
313446           tings-mock
313447
313448         · 5e2ddb5eb0 Adds a mock required for the network settings beacon
313449
313450       · PR #34553: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
313451         2016-07-11 19:36:26 UTC
313452
313453         · d8c8b4ac6f Merge pull request #34553 from rallytime/merge-2016.3
313454
313455         · 815c8b38d5 Merge branch '2015.8' into '2016.3'
313456
313457           · 7120d43df0   Merge    pull    request    #34546    from    rally‐
313458             time/rename-boto-secgroup-test
313459
313460             · f8a3622be7       Rename       unit.states.boto_secgroup      to
313461               unit.states.boto_secgroup_test
313462
313463           · ca92061821 Merge pull request #34537  from  rallytime/rename-sim‐
313464             ple-test
313465
313466             · ceefb6e34c Rename tests.unit.simple to tests.unit.simple_test
313467
313468           · fbab2f8c2b  [2015.8]  Update bootstrap script to latest stable (‐
313469             #34527)
313470
313471           · 6b8c76af83 Prevent many errors in the test suite in loader  tests
313472             (#34521)
313473
313474           · c2f296c95b Fix wrong order of retention_policy_exists (#34507)
313475
313476           · 685df80929    Merge    pull   request   #34518   from   terminal‐
313477             mage/fix-pkg.latest-test
313478
313479             · 4aef44ecdf Fix pkg.latest integration test for non-LTS ubuntu
313480
313481       · PR  #34569:  (eliasp)  Minor  doc  fixes  for  PostgreSQL  states   @
313482         2016-07-11 14:02:13 UTC
313483
313484         · 5b002e11b4  Merge  pull  request  #34569  from  eliasp/2016.3-post‐
313485           gres-doc
313486
313487         · 221da29ef5 Typo (defauldefault)
313488
313489         · ba3d7c624b Add code formatting
313490
313491         · b3409c97a2 Fix typo (seensseen)
313492
313493       · PR  #34524:  (terminalmage)  yumpkg:  Avoid   spurious   logging   in
313494         pkg.upgrade @ 2016-07-07 22:06:01 UTC
313495
313496         · 7e1abd77ba    Merge    pull    request    #34524   from   terminal‐
313497           mage/yumpkg-upgrade-logging
313498
313499         · 40992f0790 yumpkg: Avoid spurious logging in pkg.upgrade
313500
313501       · ISSUE #34439: (edgan) Fast memory leak on ctrl-c  out  of   salt  '*'
313502         state.highstate (refs: #34490)
313503
313504         · PR  #34490:  (cachedout) Fix master crash on ctl-c for long-running
313505           job
313506
313507       · PR #34520: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
313508         2016-07-07 19:22:40 UTC
313509
313510         · b9e87620f5 Merge pull request #34520 from rallytime/merge-2016.3
313511
313512         · 27988dde48 Merge branch '2015.8' into '2016.3'
313513
313514         · a516f116d1    Merge    pull    request    #34513    from    cached‐
313515           out/lower_loader_log
313516
313517           · 733c5d00c0 Lower the log level for modules which cannot be loaded
313518             to trace
313519
313520         · 63f0451041 Merge pull request #34498 from rallytime/bootstrap-tuto‐
313521           rial-doc-fix
313522
313523           · 23c5739c3b Use -O in wget develop example in bootstrap tutorial
313524
313525         · 3ebba020b6 Rename some unit test files by adding _test (#34503)
313526
313527         · 8722257b82 Improve top file merging documentation (#34505)
313528
313529         · 6ce7cb9616 Gracefully handle non-XML output in GlusterFS  execution
313530           module. (#34492)
313531
313532         · 75299456be Use skipTest for network state integration test (#34489)
313533
313534         · 0f3f87fbc5  Update  dnsmasq.get_config  docs  to  use  correct con‐
313535           fig_file param. (#34488)
313536
313537       · ISSUE #34224: (tehsu) salt-cloud to rackspace uses public ip  instead
313538         of private (refs: #34499)
313539
313540       · PR  #34499: (gtmanfred) remove unnecessary block parsing ip addrs for
313541         nova @ 2016-07-07 16:23:46 UTC
313542
313543         · 58f46eae15 Merge pull request #34499 from gtmanfred/2016.3
313544
313545         · 019671d4c2 remove unnecessary block parsing ip addrs for nova
313546
313547         · PR #34468: (twangboy) Use Python 2.7.12 for Windows Build
313548
313549         · PR #34493: (twangboy) Use Python 2.7.12 for Mac Build
313550
313551       · PR #34486: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
313552         2016-07-06 17:28:31 UTC
313553
313554         · 95094c73ff Merge pull request #34486 from rallytime/merge-2016.3
313555
313556         · 2b307b7ea1 Merge branch '2015.8' into '2016.3'
313557
313558         · e2f576e847    Merge    pull    request    #34462   from   terminal‐
313559           mage/git-describe-always
313560
313561           · 6ef7ee198e Restrict use of --always to git 1.5.6 and newer
313562
313563           · c554b22fc8   modules/git:   added    --always    parameter    for
313564             git.describe().
313565
313566         · 85f1f18239 Merge pull request #34467 from rallytime/bp-34457
313567
313568           · 746883741f Only access key metadata if we found key metadata
313569
313570         · 9e15337b74 Merge pull request #34432 from twangboy/fix_file.append
313571
313572           · 13f11fddce Remove refactoring code
313573
313574           · 78f7c530bb Remove unit tests, integration tests written
313575
313576           · b83392edea Remove len() in favor of boolean test
313577
313578           · 4373408163 Fix line error
313579
313580           · 2479b53e2f Fix erroneous report on newline code
313581
313582           · 75b6ed1fd5 Change back to binary read
313583
313584           · 65753cff6d Use os.linesep instead of n
313585
313586           · a55d63f086 Fix object names
313587
313588           · 3e2fe12e5e Add new line if missing
313589
313590           · 0b7821c8db Fix file.append state
313591
313592         · 91e095bb41  Merge  pull  request  #34429 from terminalmage/pkg-lat‐
313593           est-versioncheck
313594
313595           · 667f31a72a  Skip  version  checking  for  targeted  packages   in
313596             pkg.latest state
313597
313598         · 0a264597ca Forgot reference to inotify (#34455)
313599
313600       · ISSUE  #33915:  (mattglv)  Orchestration  runner output on Success vs
313601         Failures in 2016.3.0 (refs: #34459)
313602
313603       · PR #34459: (terminalmage) Ignore retcode  when  formatting  highstate
313604         output @ 2016-07-06 03:59:23 UTC
313605
313606         · 7867d49193 Merge pull request #34459 from terminalmage/issue33915
313607
313608         · 82a70e015f Ignore retcode when formatting highstate output
313609
313610       · ISSUE  #34371:  (erikgrinaker) git.detached does not work with commit
313611         ID as ref (refs: #34463)
313612
313613       · PR #34463: (terminalmage) states/git: pass required cwd parameter  to
313614         git.describe.  @ 2016-07-06 03:59:05 UTC
313615
313616         · ae6902290a Merge pull request #34463 from terminalmage/issue34371
313617
313618         · f981a5646a states/git: pass required cwd parameter to git.describe.
313619
313620       · ISSUE    #34395:    (artxki)   Nonfunctioning   default_password   in
313621         states.postgres_user.present (refs: #34436)
313622
313623       · PR #34466:  (rallytime)  Back-port  #34436  to  2016.3  @  2016-07-06
313624         03:57:15 UTC
313625
313626         · PR  #34436:  (artxki)  Fix #34395 Nonfunctional default_password in
313627           states.postgres_user.present (refs: #34466)
313628
313629         · 8f8a6d2f68 Merge pull request #34466 from rallytime/bp-34436
313630
313631         · e97c00b018   Fix   #34395   Nonfunctional    default_password    in
313632           states.postgres_user.present
313633
313634         · PR  #34453:  (justinta) Arch linux does not have osrelease or osma‐
313635           jorrelease grains
313636
313637       · ISSUE #33697:  (asloboda-cisco)  Client  clash  with  Tornado  IOLoop
313638         (refs: #34456)
313639
313640       · PR  #34456:  (thatch45)  Be  more  careful  when making the SMinion @
313641         2016-07-05 18:41:57 UTC
313642
313643         · fc67a4e216 Merge pull request #34456 from thatch45/2016.3
313644
313645         · edd6b95c60 we need to be more careful when making the SMinion
313646
313647       · PR #34452: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
313648         2016-07-05 17:49:19 UTC
313649
313650         · 72b4d6b52c Merge pull request #34452 from rallytime/merge-2016.3
313651
313652         · 91120dba01 Merge branch '2015.8' into '2016.3'
313653
313654         · 7bb0868c66 Merge pull request #34451 from rallytime/merge-2015.8
313655
313656           · 55a91e22be Merge branch '2015.5' into '2015.8'
313657
313658           · 8c72ee56e4 Merge pull request #34435 from cachedout/backport_con‐
313659             fig_dir_integration
313660
313661             · 0e2c71a537 Backport change to integraiton test suite
313662
313663         · e65d1ae374 Merge pull  request  #34401  from  terminalmage/rpm-ver‐
313664           sion_cmp
313665
313666           · 7cefd4182d Use rpmdev-vercmp as a fallback for version comparison
313667             on RHEL5
313668
313669         · 5ddf417432 Merge pull request #34366 from steverweber/fix_servicer‐
313670           estart
313671
313672           · 7847c39024 Update service.py
313673
313674         · 485454febb Merge pull request #34426 from cro/inotify-linux-only
313675
313676           · 54a02f25ba Document that inotify is Linux only
313677
313678       · PR  #34427:  (twangboy)  Automated  signing  fixes  for Ubuntu 16.04,
313679         14.04, 12.04 (for dmurphy) @ 2016-07-05 15:18:46 UTC
313680
313681         · 7508d291d2 Merge pull request #34427 from twangboy/sign_fx
313682
313683         · c804480982 Add changes suggested by @cachedout
313684
313685         · 494deda074 Automated signing fixes for Ubuntu 16.04, 14.04, 12.04
313686
313687       · ISSUE #34379: (UtahDave) variable referenced before assignment (refs:
313688         #34400)
313689
313690       · PR  #34400: (cachedout) Fix uninitialized value @ 2016-07-01 17:42:55
313691         UTC
313692
313693         · b3875f397d Merge pull request #34400 from cachedout/issue_34379
313694
313695         · b413f05a4f Fix uninitialized value
313696
313697       · PR #34404: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
313698         2016-07-01 15:02:09 UTC
313699
313700         · d1cd36ab2b Merge pull request #34404 from rallytime/merge-2016.3
313701
313702         · 8398de0baf Merge branch '2015.8' into '2016.3'
313703
313704         · fe18bbb527  Merge pull request #34392 from cro/salt-cloud-doc-clar‐
313705           ify
313706
313707           · 6cce575d40 Clarify that salt-cloud doesn't get installed by boot‐
313708             strap
313709
313710         · 45b8fb10d7 Merge pull request #34373 from jtand/network_state_inte‐
313711           gration_test
313712
313713           · 1d24053e36 network.system sls file
313714
313715           · 4a9e6af542 network.routes sls file
313716
313717           · 76c90b2ef6 network.managed sls file
313718
313719           · 84a36369fa Added network state integration test
313720
313721         · d6af1de0b7 Optimize pkg integration tests  and  add  a  couple  new
313722           tests (#34377)
313723
313724       · PR  #34292:  (twangboy)  Fix  runas  function  for  System  Account @
313725         2016-06-30 18:25:09 UTC
313726
313727         · ad63b1d3d3 Merge pull request #34292 from twangboy/fix_runas
313728
313729         · 433f300eba Enable all privileges
313730
313731         · 5584cc2c6f Handle users that aren't admin
313732
313733         · e9d2402c0b Fix runas function for System Account
313734
313735       · PR #34388:  (rallytime)  Back-port  #34378  to  2016.3  @  2016-06-30
313736         17:50:48 UTC
313737
313738         · PR #34378: (adelcast) network_settings.py: fix documentation (refs:
313739           #34388)
313740
313741         · be9a831ef6 Merge pull request #34388 from rallytime/bp-34378
313742
313743         · 2040dbeca5 network_settings.py: fix documentation
313744
313745         · PR #34352: (cro) Esxi dvs
313746
313747         · PR #34386: (rallytime) Beacon network docs
313748
313749       · PR #34376: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
313750         2016-06-30 14:31:28 UTC
313751
313752         · 5a44b077a0 Merge pull request #34376 from rallytime/merge-2016.3
313753
313754         · 3149da1bcc Merge branch '2015.8' into '2016.3'
313755
313756         · af8ef1e461 Merge pull request #34368 from rallytime/merge-2015.8
313757
313758           · 3bce0cb510 Merge branch '2015.5' into '2015.8'
313759
313760           · 970aaa46d4 Merge pull request #34252 from gtmanfred/2015.5
313761
313762             · 82183f1572  return  list  of  nodes  for lxc driver when called
313763               directly
313764
313765         · 94e094652c Back-port #34324 to 2015.8 (#34344)
313766
313767         · 11dc0203b0 Making salt-ssh pass proper return codes for jinja  ren‐
313768           dering errors (#34342)
313769
313770       · PR  #34365:  (sjorge)  fixes  computenode_* grains on SmartOS compute
313771         nodes @ 2016-06-29 17:55:24 UTC
313772
313773         · 3808d849fe Merge pull request  #34365  from  sjorge/2016.3-fix-bro‐
313774           ken-smartos-grains
313775
313776         · 3ff895cacf fixes computenode_* grains on SmartOS compute nodes
313777
313778       · PR  #34353:  (cro)  Remove  proxy  check  and  additional  GetConnec‐
313779         tion--this makes the proxy… @ 2016-06-29 14:54:47 UTC
313780
313781         · 65efb55917 Merge pull request #34353 from cro/pyvmomi-ssl-fail
313782
313783         · 14ea29f446 Remove proxy check  and  additional  GetConnection--this
313784           makes  the proxy fail to start.  Need to check to see if proxy mem‐
313785           ory leak is back.
313786
313787       · PR #34348: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
313788         2016-06-28 23:28:45 UTC
313789
313790         · c89d1ad27f Merge pull request #34348 from rallytime/merge-2016.3
313791
313792         · c87a108a12 Don't forget the pylint disables for range
313793
313794         · 359e8ca2ce Pylint fixes
313795
313796         · f9ab8ba46d Merge branch '2015.8' into '2016.3'
313797
313798           · f6bd1ad47e Revert py3modernize lint changes (#34339)
313799
313800           · 046bdaa9f2   Merge   pull   request   #34306   from   ghedo/ipta‐
313801             bles_flush_table
313802
313803             · 882c6c9c86 Do not force 'filter' table when flushing
313804
313805           · 0c60feac02 Doc clarifications to file modules,  addition  of  new
313806             profile log level to docs, fixed example in dnsmasq (#34323)
313807
313808           · b793426c23 Remove unnecessarily-disabled sanity check (#34325)
313809
313810           · c5890a0eca Merge pull request #34335 from rallytime/merge-2015.8
313811
313812             · 2296587536 Merge branch '2015.5' into '2015.8'
313813
313814             · 6cce545d92  Merge  pull  request  #34313  from  rallytime/boot‐
313815               strap-2015.5
313816
313817               · c7db73be92  [2015.5]  Update  to  latest   bootstrap   script
313818                 v2016.06.27
313819
313820           · a6d3cc637b Typo in dockerio doc (#34319)
313821
313822           · dd4c937009   Merge   pull  request  #34312  from  rallytime/boot‐
313823             strap-2015.8
313824
313825             · 944a393f89  [2015.8]  Update   to   latest   bootstrap   script
313826               v2016.06.27
313827
313828           · 91703d2dc4    Merge    pull    request    #34307    from   rally‐
313829             time/fix-test-example
313830
313831             · f44a0543fe Fix test example in integration testing docs
313832
313833       · ISSUE #34255: (tmehlinger) fire_event  requisite  does  not  work  in
313834         orchestration states (refs: #34256, #34343)
313835
313836         · PR #34343: (rallytime) Back-port #34256 to 2016.3
313837
313838         · PR  #34256:  (tmehlinger) detect running from master in State.event
313839           method (refs: #34343)
313840
313841       · PR #34338: (themalkolm) Add listen/listen_in support to  stateconf.py
313842         @ 2016-06-28 21:50:14 UTC
313843
313844         · 0b9cb602fe Merge pull request #34338 from themalkolm/patch-2
313845
313846         · cd63541325 Add listen/listen_in support to stateconf.py
313847
313848       · PR #34283: (sjorge) 2016.3 mount vfstab support @ 2016-06-28 19:23:39
313849         UTC
313850
313851         · 80a659bb51 Merge pull request #34283 from sjorge/2016.3-mount-fstab
313852
313853         · b8c6948cd5 fixes broken rm_fstab test due to missing __grain__.ker‐
313854           nel
313855
313856         · d633e774ea actually do the cleanup, oops
313857
313858         · 987c240850 minor cleanup
313859
313860         · c3667203bf add test for vfstab
313861
313862         · 80e9d1d278 set __grains__ for fstab unit test
313863
313864         · f0f5d449c3 mount.vfstab implemented on Solaris like platforms
313865
313866         · 4398e8841b  undo  some  changes  to mount.fstab and mount.rm_fstab,
313867           create mount.vfstab and mount.rm_vfstab
313868
313869         · 133d3bb2bb mount.set_fstab errors out on Solaris like platforms
313870
313871         · c0863fb024 mount.rm_fstab works with Solaris like platforms
313872
313873         · 151799ea74 initial vfstab support (Solaris like platforms)
313874
313875       · ISSUE #34321: (Ch3LL) Raspberry Pi salt-minion missing osmajorrelease
313876         grain (refs: #34322)
313877
313878       · PR #34322: (Ch3LL) add osmajorrelease grain for raspbian @ 2016-06-28
313879         19:08:39 UTC
313880
313881         · 75aad073a9 Merge pull request #34322 from Ch3LL/add_grains_majorre‐
313882           lease_test
313883
313884         · 693cc61aa4 add osmajorrelease to ubuntu and fix pylint
313885
313886         · 2fc3e8a54b add osmajorrelease grain for raspbian
313887
313888       · PR  #34337:  (clinta) Change merge-if-exists logic to properly report
313889         changes @ 2016-06-28 18:41:56 UTC
313890
313891         · 81547f413d Merge pull request #34337 from clinta/serialize-merge
313892
313893         · ebe7def2fb Change merge-if-exists logic to properly report changes
313894
313895       · PR #34300: (vutny) Make apache.configfile state  handle  the  Options
313896         list correctly @ 2016-06-28 18:34:45 UTC
313897
313898         · affc65dc79       Merge      pull      request      #34300      from
313899           vutny/fix-apache-vhost-options
313900
313901         · 52001afdde Fix apache.configfile state example
313902
313903         · 64a9442e38 apache.config: correctly output a list of the Options
313904
313905       · ISSUE #33588: (whytewolf) rabbitmq_user.present error  (refs: #34333)
313906
313907         · PR #34333: (rallytime) Back-port #33734 to 2016.3
313908
313909         · PR #34304: (rallytime) Back-port #33734 to 2016.3 (refs: #34333)
313910
313911         · PR #33734: (glomium) modules/rabbitmq.py  version  checking  had  a
313912           logical error (refs: #34333, #34304)
313913
313914       · ISSUE  #34329: (clinta) file.serialize merge_if_exists fails:  'func‐
313915         tion' object has no attribute 'deserialize' (refs: #34330)
313916
313917         · PR #34330: (clinta) fix #34329
313918
313919       · ISSUE #34170: (rodoyle) ps.top raises ValueError "too many values  to
313920         unpack" when psutil > 4.1.0 (refs: #34318)
313921
313922         · PR #34318: (rallytime) Back-port #32182 to 2016.3
313923
313924         · PR  #32182:  (dongweiming) Fix psutil.cpu_times unpack error (refs:
313925           #34318)
313926
313927       · PR #34311: (rallytime) [2016.3] Update  to  latest  bootstrap  script
313928         v2016.06.27 @ 2016-06-27 18:59:27 UTC
313929
313930         · 1398b1c51e   Merge   pull   request   #34311  from  rallytime/boot‐
313931           strap-2016.3
313932
313933         · 75aa7047bc [2016.3] Update to latest bootstrap script v2016.06.27
313934
313935       · ISSUE #34129: (onorua) fqdn_ip4 and fqdn_ip6  are  empty  on  2016.3+
313936         (refs: #34284)
313937
313938       · PR  #34284:  (rallytime)  Don't require 'domain' to be present before
313939         checking fqdn_ip* grains @ 2016-06-27 17:06:17 UTC
313940
313941         · dc8462451d Merge pull request #34284 from rallytime/fix-34129
313942
313943         · 5f45a8ff73 Don't require 'domain' to  be  present  before  checking
313944           fqdn_ip* grains
313945
313946       · ISSUE  #30493:  (sjorge) salt.modules.status mostly broken on solaris
313947         like operating systems. (refs: #34296)
313948
313949       · PR #34296: (sjorge) 2016.3 status module now works  on  Solaris  like
313950         platforms @ 2016-06-27 16:49:41 UTC
313951
313952         · 259935d6d2 Merge pull request #34296 from sjorge/2016.3-module.sta‐
313953           tus
313954
313955         · a26340c555 make status.all_status work on Solaris like platforms
313956
313957         · 33e24fa697 make status.cpustats work on Solaris like platforms
313958
313959         · d214e9c776 correctly cast to int for status.netdevs on Solaris like
313960           platforms
313961
313962         · b74761b52d  make  status.cpuinfo support Solaris like platforms and
313963           OpenBSD
313964
313965         · 2cd76d5ab5 make status.diskstats work on Solaris like platforms
313966
313967         · 3211538830 make status.diskusage work on Solaris like platforms
313968
313969         · a12b311a62 make status.netdev compatible with  Solaris  like  plat‐
313970           forms
313971
313972         · 3bc01458aa  make status.netstats compatible with Solaris like plat‐
313973           forms
313974
313975         · 25678901fa avoid KeyError in ping_master
313976
313977         · 81d7fc98d8 make status.vmstats work on Solaris like  platforms  and
313978           OpenBSD
313979
313980       · PR #34281: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
313981         2016-06-24 21:51:43 UTC
313982
313983         · 376bec0455 Merge pull request #34281 from rallytime/merge-2016.3
313984
313985         · ae8ad9329c Merge branch '2015.8' into '2016.3'
313986
313987         · d235b1245b   Merge    pull    request    #34233    from    thegood‐
313988           duke/for_2015.8_ipset
313989
313990           · 4da5e35bf4 ipset: fix the comment containing blank
313991
313992         · 65c5675a3f Merge pull request #34257 from rallytime/fix-34037
313993
313994           · d7a5e9b10e Remove test that doesn't actually test anything
313995
313996           · c4c037d600  Use 'config_dir' setting instead of CONFIG_DIR in gpg
313997             renderer
313998
313999         · 203870f147 Merge pull request #34274 from clinta/2015.8
314000
314001           · 6572454918 Don't escape source before calling managed
314002
314003         · a59dc85a15 Merge pull request #34258 from rallytime/merge-2015.8
314004
314005           · ea914b67cd Merge branch '2015.5' into '2015.8'
314006
314007           · 8d5ed91980   Merge   pull   request    #34225    from    richard‐
314008             scollin/fix-win-set-datetime
314009
314010             · 6286771ef7 Fix win_system.set_system_date_time
314011
314012           · cb1e8bf082    Merge    pull    request   #34232   from   thegood‐
314013             duke/for_2015.5_ipset
314014
314015             · 344eb60762 ipset: fix commont containing blank
314016
314017       · PR #34271: (opdude) Fixed symlinks on windows where the slashes don't
314018         match @ 2016-06-24 17:05:25 UTC
314019
314020         · 805171c949  Merge  pull request #34271 from Unity-Technologies/hot‐
314021           fix/windows_symlinks
314022
314023         · e0a1a55431 Fixed symlinks on windows where the slashes don't match
314024
314025       · ISSUE #14915:  (johngrasty)  SmartOS/OmniOS  -  mount  module  fails.
314026         (refs: #34254)
314027
314028         · PR #34254: (sjorge) Fix for #14915
314029
314030       · PR #34259: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
314031         2016-06-24 14:27:30 UTC
314032
314033         · 39579ce5f6 Merge pull request #34259 from rallytime/merge-2016.3
314034
314035         · eeaf3cc1e7 Merge branch '2015.8' into '2016.3'
314036
314037         · 92962957c8 Merge pull request #34093 from terminalmage/issue33873
314038
314039           · 5edb45d746 win_pkg: refresh pkg database if  refresh=True  passed
314040             to version() or list_pkgs()
314041
314042           · 0078adee35 Catch CommandExecutionError in pkg states
314043
314044         · cb5399787c       Merge      pull      request      #34136      from
314045           meaksh/salt-suse-os-detection-2015.8
314046
314047           · 97f1958863 some cleanup and renaming
314048
314049           · 72c8e5d78f better way to check for openSUSE Leap
314050
314051           · 548971bdc9 Fix for SUSE OS grains in 2015.8
314052
314053       · PR #34134: (meaksh) Fixed behavior  for  SUSE  OS  grains  in  2016.3
314054         (refs: #34136) @ 2016-06-23 20:24:51 UTC
314055
314056         · PR  #33903:  (meaksh) Fetching grains['os'] from /etc/os-release on
314057           SUSE systems if it is possible (refs: #34134)
314058
314059         · 3acda896f2      Merge      pull      request      #34134       from
314060           meaksh/salt-suse-os-detection
314061
314062         · 23ce0b431b some cleanup and renaming
314063
314064         · 516bbc454d better way to check for openSUSE Leap
314065
314066         · 44eda2ad9f Fix for openSUSE Tumbleweed
314067
314068         · 0d4a710d86  fixes  for  fopen  mock  and  some  os_release_map  for
314069           SLES11SP3
314070
314071         · d6410a03b8 unit tests for SUSE os grains detection
314072
314073         · 47ecb7013b Normalization of osfullname grain for openSUSE
314074
314075         · 9c81f434fa one clause to set OS grain from CPE_NAME
314076
314077         · d78d57b717 Test fixed: get OS grain from /etc/os-release if  possi‐
314078           ble
314079
314080         · d80e0532ff fix: osarch_mock
314081
314082         · db00ec756d osarch mock for unit test
314083
314084         · dabc5cab7e lint fix
314085
314086         · 9ac514724b testing if SUSE os grain is set from /etc/os-release
314087
314088         · bc671336a7   Getting   the   'os'   grain   from   CPE_NAME  inside
314089           /etc/os-release for SUSE and openSUSE
314090
314091         · 64af4d4145 Adding SLES_SAP to OS_FAMILY_MAP
314092
314093       · ISSUE #34137: (christoe) Win_task info function broken (refs: #34159)
314094
314095       · ISSUE #34135: (christoe) Arguments to Windows  task  creation  module
314096         are not used (refs: #34159)
314097
314098       · PR  #34159:  (christoe)  Fixes  to  the  win_task module @ 2016-06-23
314099         17:54:53 UTC
314100
314101         · 5f42fd4486 Merge pull request #34159 from christoe/2016.3
314102
314103         · f4143669db Fixes #34135, Fixes #34137
314104
314105       · PR #34223: (peterdemin) Fixed typo in filtering LDAP's  potential_ous
314106         @ 2016-06-23 17:26:31 UTC
314107
314108         · 0a0267149f   Merge   pull   request   #34223  from  peterdemin/bug‐
314109           fix-eauth-ldap-expanding
314110
314111         · 8bb03ec109 Fixed typo in filtering LDAP's potential_ous
314112
314113       · PR #34239: (vutny) file.find module: fix handling of broken  symlinks
314114         @ 2016-06-23 17:25:17 UTC
314115
314116         · f74f176bd5  Merge  pull  request  #34239  from vutny/file-find-bro‐
314117           ken-symlinks
314118
314119         · 7e164c4f86 file.find module: fix handling of broken symlinks
314120
314121       · PR #34229: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
314122         2016-06-22 22:57:00 UTC
314123
314124         · 4157f6fd39 Merge pull request #34229 from rallytime/merge-2016.3
314125
314126         · 940ac86d4e Merge branch '2015.8' into '2016.3'
314127
314128         · 56c7267631  fix  regression from #33681 which causes pulling a list
314129           of s3 objects via s3.query to fail (#34208)
314130
314131         · 02eb331494 Fix a pair of gitfs bugs (#34218)
314132
314133         · 6d643cd528 Merge pull request #34182 from rallytime/fix-34043
314134
314135           · b7d49c5052 Handle child PIDs differently depending on the  avail‐
314136             ability of psutils
314137
314138         · 5d3ec31564  Clarify  pkg.list_repo_pkgs docstring for held packages
314139           (#34188)
314140
314141         · 5bca5c42f1 Change target for dockerng assuming  default  status  to
314142           Nitrogen release (#34206)
314143
314144       · ISSUE  #33879:  (Ch3LL)  saltutil.wheel  minions.connected  does  not
314145         return anything with remote minions (refs: #34214)
314146
314147       · PR #34214: (rallytime) Update saltutil.wheel docs to  specify  remote
314148         vs local minion behavior @ 2016-06-22 19:22:30 UTC
314149
314150         · b5ea1495af Merge pull request #34214 from rallytime/fix-33879
314151
314152         · 1be05f6a87  Update  saltutil.wheel  docs to specify remote vs local
314153           minion behavior
314154
314155       · ISSUE #34074: (fooka03) Unable to use S3 file backend  with  2016.3.1
314156         on Ubuntu 14.04 or 16.04 (refs: #34209, #34208)
314157
314158       · ISSUE  #32916:  (giannello) file.managed memory usage with s3 sources
314159         (refs: #33599, #33682)
314160
314161       · PR #34209:  (lomeroe)  fix  regression  in  s3.query  from  #33682  @
314162         2016-06-22 18:50:19 UTC
314163
314164         · PR #33682: (lomeroe) backport #33599 to 2016.3 (refs: #34209)
314165
314166         · PR  #33599:  (lomeroe)  Fix  s3  large file download (refs: #33681,
314167           #33682)
314168
314169         · 4205fd605c    Merge    pull    request     #34209     from     lom‐
314170           eroe/fix_s3_utils_regression_33682
314171
314172         · a2b99703b1 fix regression in s3.query from #33682
314173
314174       · PR #34222: (cachedout) Lint 34200 @ 2016-06-22 18:48:54 UTC
314175
314176         · PR  #34200:  (secumod)  Fix  parted  module  set CLI example (refs:
314177           #34222)
314178
314179         · 05a4785c8c Merge pull request #34222 from cachedout/lint_34200
314180
314181         · eadf80a56f Linted #34200
314182
314183         · 2cd0433f8d Fix parted module set CLI example
314184
314185       · PR #34197: (eliasp) Make module.ssh.recv_known_host() more  resilient
314186         against hosts not returning a key @ 2016-06-22 17:26:02 UTC
314187
314188         · 0cbdb73fc5  Merge  pull request #34197 from eliasp/2016.3-salt.mod‐
314189           ules.ssh.recv_known_host-empty_results
314190
314191         · 82c4b1229e Make module.ssh.recv_known_host() more resilient against
314192           hosts not returning a key
314193
314194       · ISSUE  #34199:  (DarkKnightCZ) cmdmod.exec_all doesn't work with Win‐
314195         dows PowerShell (refs: #34201)
314196
314197       · ISSUE #34196: (DarkKnightCZ) Salt call cmdmod.exec_code_all fails  on
314198         Windows minion due to invalid file mode (refs: #34198)
314199
314200       · PR  #34201:  (DarkKnightCZ) Suffix temp file with .sr1 and add manda‐
314201         tory argument when executing PowerShell script @ 2016-06-22  17:21:24
314202         UTC
314203
314204         · PR   #34198:   (DarkKnightCZ)   Don't  use  binary  mode  for  cmd‐
314205           mod.exec_code (refs: #34201)
314206
314207         · 606ae3c886 Merge pull request #34201 from DarkKnightCZ/cmdmod-34199
314208
314209         · 05748743bc Suffix temp file with .sr1 and add -File  argument  when
314210           executing PowerShell code via cmdmod.exec_code
314211
314212       · ISSUE  #34196: (DarkKnightCZ) Salt call cmdmod.exec_code_all fails on
314213         Windows minion due to invalid file mode (refs: #34198)
314214
314215       · PR #34198: (DarkKnightCZ) Don't use binary mode for  cmdmod.exec_code
314216         (refs: #34201) @ 2016-06-22 17:14:06 UTC
314217
314218         · cb704b780b Merge pull request #34198 from DarkKnightCZ/cmdmod-34196
314219
314220         · 04553cd3de Don't use binary mode for cmdmod.exec_code
314221
314222       · PR  #34172:  (dmurphy18)  Support for building with local packages on
314223         Debian and Ubuntu @ 2016-06-22 16:36:44 UTC
314224
314225         · 0578a2f87d Merge pull request #34172 from dmurphy18/debbuild_deps
314226
314227         · f7f8a5d33f Fixed pylint issues
314228
314229         · 82fa276141 Support for building with local packages on  Debian  and
314230           Ubuntu
314231
314232         · PR  #34194:  (vutny)  Correct the docstrings formatting in pkgbuild
314233           modules and state
314234
314235         · PR #34056: (vutny) Make  rpmbuild  module  work  on  non-RPM  based
314236           GNU/Linux systems (refs: #34194)
314237
314238       · PR #34186: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
314239         2016-06-21 23:26:34 UTC
314240
314241         · a8429c2595 Merge pull request #34186 from rallytime/merge-2016.3
314242
314243         · 318c2ed6a1 Merge branch '2015.8' into '2016.3'
314244
314245         · 1c4369d093 Merge pull request #34184 from rallytime/merge-2015.8
314246
314247           · 8e36e90966 Merge branch '2015.5' into '2015.8'
314248
314249           · 5411ebb3b4 Merge pull request #34141 from jtand/boto_vpc_test_fix
314250
314251             · b7ac6c735a Moved imports to top, out of _get_moto_version func‐
314252               tion
314253
314254             · 02f9ba99ba  Updated  version  check.  Moved check into it's own
314255               function
314256
314257             · d445026c56 Updated test to work with new moto version.  Changed
314258               strings to unicode
314259
314260         · c059d6c08c Merge pull request #34176 from rallytime/bp-34103
314261
314262           · 2e5e7ed03c Fix diskusage beacon
314263
314264         · 5cbaaed167 Merge pull request #34179 from terminalmage/issue34114
314265
314266           · 86d1b8e864  Raise  the  correct  exception when gitfs lockfile is
314267             empty
314268
314269         · 67deded119 Merge pull request #34178 from  terminalmage/remove-com‐
314270           ment
314271
314272           · 4965be72b1 Remove unnecesssary comment
314273
314274         · 6387d1636e  fix salt --summary to count not responding minions cor‐
314275           rectly (#34165)
314276
314277         · e5949ea6f1 doc: add missing dot (#34175)
314278
314279         · 47595d6795 Typo fix (#34174)
314280
314281         · 3669048654 Merge pull request #34077 from rallytime/grains-tests
314282
314283           · 2199bb8a78 Add integration tests for grains.append
314284
314285           · 37cfe70724 Add some grains targeting tests
314286
314287       · ISSUE #34162:  (ryanwalder)  salt-call  default  loglevel  regression
314288         (refs: #34173)
314289
314290       · PR  #34173:  (rallytime)  Update  docs  to  match log_level default @
314291         2016-06-21 17:15:53 UTC
314292
314293         · 3413c494bd Merge pull request #34173 from rallytime/fix-34162
314294
314295         · f577681f0b Update docs to match log_level warning default
314296
314297       · ISSUE #34094: (avandendorpe) cron.file is broken (refs: #34095)
314298
314299       · PR #34095:  (rallytime)  Back-port  #32396  to  2016.3  @  2016-06-21
314300         16:12:39 UTC
314301
314302         · PR #32396: (eradman) Unbreak cron.file (refs: #34095)
314303
314304         · c596bf5744 Merge pull request #34095 from rallytime/bp-32396
314305
314306         · 074b6ab5c2 Correct pylint error
314307
314308         · 20ff5c879a Unbreak cron.file
314309
314310       · PR  #34108:  (l2ol33rt)  Make dockerng.absent state honor test=true @
314311         2016-06-21 15:55:29 UTC
314312
314313         · b98687875f      Merge      pull      request      #34108       from
314314           l2ol33rt/docker_absent_dryrun
314315
314316         · 5598cb4a21 Make docker.absent honor test=true
314317
314318       · ISSUE  #34012:  (viq)  States  mount.* fail on OpenBSD's tmpfs (refs:
314319         #34133)
314320
314321       · PR #34133:  (rallytime)  Back-port  #34057  to  2016.3  @  2016-06-21
314322         15:53:46 UTC
314323
314324         · PR  #34057:  (ajacoutot) _active_mounts_openbsd: unbreak output for
314325           special filesystems (refs: #34133)
314326
314327         · a75386a669 Merge pull request #34133 from rallytime/bp-34057
314328
314329         · f7be5e182b  _active_mounts_openbsd:  unbreak  output  for   special
314330           filesystems
314331
314332       · PR #34156: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
314333         2016-06-21 15:52:59 UTC
314334
314335         · dd989dac78 Merge pull request #34156 from rallytime/merge-2016.3
314336
314337         · b061b86946 Merge branch '2015.8' into '2016.3'
314338
314339           · 65fba5b4d7     Merge      pull      request      #34142      from
314340             isbm/isbm-getid-loglevel-shift
314341
314342             · 236a67b702 Move log message from INFO to DEBUG.
314343
314344           · 79a719b719  Update  documentation  on  "refresh"  behavior in pkg
314345             states (#34100)
314346
314347           · 6d0d52fa86 modules.pkg int tests: skip refresh_db upon  error  (‐
314348             #34072)
314349
314350       · PR  #34110:  (garethgreenaway)  Fixes  to  git  module & state module
314351         related to identity file @ 2016-06-21 15:52:17 UTC
314352
314353         · b302cb03ef   Merge   pull   request   #34110   from    garethgreen‐
314354           away/git_needs_saltenv_for_identity
314355
314356         · 68092cdc8c  When  specifying  the SSH identity to use with Git as a
314357           salt URL, eg. salt://files/identity, if that file exists outside of
314358           the  default  base  environment  the file won't be accessible so we
314359           need to include the saltenv.
314360
314361       · ISSUE #34120: (rmohta) Correct package  name  to  systemd-python  for
314362         RHEL 7 in docs.saltstack.com (refs: #34138)
314363
314364       · ISSUE #31402: (vutny) [repo] systemd-python required package is miss‐
314365         ing from RHEL7 archive (refs: #34138)
314366
314367       · PR #34138: (rallytime) Update package dep note to systemd-python  for
314368         RHEL7 install @ 2016-06-21 15:51:24 UTC
314369
314370         · 6c3405755a Merge pull request #34138 from rallytime/fix-34120
314371
314372         · 73f3e12ce6  Update  package  dep  note  to systemd-python for RHEL7
314373           install
314374
314375         · PR #34166: (vutny) Fix YAML indentation in Apache state docstrings
314376
314377         · PR #34098: (terminalmage) Restore old refresh logic
314378
314379         · PR #34087: (bbinet) Encourage to report  issues  to  upstream  Pil‐
314380           larStack project
314381
314382       · PR #34075: (jfindlay) modules.inspectlib.kiwiproc: import gate lxml @
314383         2016-06-17 15:36:08 UTC
314384
314385         · 9da592a297 Merge pull request #34075 from jfindlay/import_xml
314386
314387         · f882a72348 modules.inspectlib.kiwiproc: import gate lxml
314388
314389       · PR #34056:  (vutny)  Make  rpmbuild  module  work  on  non-RPM  based
314390         GNU/Linux systems (refs: #34194) @ 2016-06-17 15:14:51 UTC
314391
314392         · 52b852216a  Merge  pull  request  #34056  from  vutny/rpmbuild-sup‐
314393           port-debian
314394
314395         · 8ff36d4f2b Expose virtual pkgbuild module as  rpmbuild  on  non-RPM
314396           based systems if all required utilities are in place
314397
314398         · 758f5cd77c Make rpmbuild module work on Debian GNU/Linux and deriv‐
314399           atives
314400
314401       · PR #34073: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
314402         2016-06-16 23:02:32 UTC
314403
314404         · f2a2c2bf53 Merge pull request #34073 from rallytime/merge-2016.3
314405
314406         · f6bfaede21 Merge branch '2015.8' into '2016.3'
314407
314408         · 1b76de1557  Merge  pull  request  #34069  from  rallytime/test-min‐
314409           ion-return-message
314410
314411           · 60561ac6fc Add a test to check for disconnected minion messaging
314412
314413         · 3119693dac Merge pull request #34048 from terminalmage/issue30100
314414
314415           · 715e7af8a4 Ensure only one fileserver update in a masterless run
314416
314417         · dd03024931 Merge pull request #34011 from rallytime/bp-33948-2015.8
314418
314419           · a4660d1ff7 Warn when custom returners don't have minions kwarg in
314420             save_load
314421
314422           · 78befde62f Add note to release notes about returner minions kwarg
314423             change
314424
314425           · 4e7f35fa36 Fix loop over cache in auth checking!
314426
314427           · 06963e0505 Save an entire minion cache traversal on  each  master
314428             pub
314429
314430         · bca437128e  Fixed a bug in the consul.py module that was preventing
314431           services (#34051)
314432
314433         · 8ba117c7f6 Merge pull request #34045 from jacobhammons/release-prev
314434
314435           · 43b4a12aa2 Updated latest release version
314436
314437         · f9bfcde61f Always make changes to minion config if set (#34020)
314438
314439         · e25dba49e2 More YAML indentation fixes in state module examples  (‐
314440           #34030)
314441
314442         · 5b5eae4ca9 Merge pull request #34018 from rallytime/merge-2015.8
314443
314444           · 77f44f3087 Merge branch '2015.5' into '2015.8'
314445
314446           · 871f7966ce Lint fix for #34000 (#34005)
314447
314448           · f758e42172 Fix incorrectly written test (#34000)
314449
314450           · cf6281b4cf  Add  loader.utils() example to calling minion_mods (‐
314451             #33953)
314452
314453           · 6b98e8a9ea Merge pull request #33880 from terminalmage/zh744
314454
314455             · ea726d11c8 pkg.uptodate: Pass kwargs to pkg.list_upgrades
314456
314457             · de90b35d2b  salt/modules/zypper.py:  add  fromrepo  support  to
314458               list_upgrades
314459
314460             · 35fbb06df5 salt/modules/win_pkg.py: add kwargs to list_upgrades
314461
314462             · bf5505f425    salt/modules/solarisips.py:    add    kwargs   to
314463               list_upgrades
314464
314465             · 6e89a8be98 salt/modules/pkgutil.py: add kwargs to list_upgrades
314466
314467             · 5179dbcec4 salt/modules/pacman.py: add kwargs to list_upgrades
314468
314469             · 46e5a52784    salt/modules/macports.py:    add    kwargs     to
314470               list_upgrades
314471
314472             · 76143b76ca salt/modules/ebuild.py: add kwargs to list_upgrades
314473
314474             · b40fc9bc62 salt/modules/brew.py: add kwargs to list_upgrades
314475
314476             · 4f11c16d86  salt/modules/aptpkg.py:  add  fromrepo  support  to
314477               list_upgrades
314478
314479           · cb88960ed1 Merge pull request #33904 from rallytime/bp-33806
314480
314481             · 638ccf501d Work around upstream cherrypy bug
314482
314483         · 7d940aed1f states.file: fix indentation in YAML examples (#34003)
314484
314485         · 4c7fac0aaa Remove loader test for pam module (#34002)
314486
314487         · c4dab6a074  Merge  pull  request  #33990  from  jacobhammons/commu‐
314488           nity-projects
314489
314490           · b20213fd79  Adds  links  to several current Salt-related projects
314491             Removes the salt_projects.rst file which hasn't been updated in a
314492             long    time,    this   is   replaced   by   the   updated   top‐
314493             ics/projects/index.rst file Adds a note about Salt  Pack  to  the
314494             installation doc
314495
314496         · 444c15792c     Merge    pull    request    #33983    from    twang‐
314497           boy/fix_docs_join_domain
314498
314499           · b057be04b4 Fix typo, more documentation
314500
314501           · d8c2f3e57a Clarify the account_exists parameter
314502
314503         · 9bd2317992 Merge pull request #33951 from jfindlay/gem_tests
314504
314505           · 2eb633ccad modules.gem int tests: only check known installed gems
314506
314507           · 9f3e18b037 modules.gem int tests: (un)install a non-core gem
314508
314509         · 53baae6eb1 Merge pull request #33984 from jfindlay/disk_capacity
314510
314511           · 6cbe31e6c2 states.disk: rewrite unit tests
314512
314513           · 82c77b533f states.disk.status: validate percent values
314514
314515           · aedc4e15e5 states.disk: add documentation
314516
314517         · fa5efb6a69    Merge    pull    request    #33985    from     rally‐
314518           time/more-batch-tests
314519
314520           · 3e7ab8c7b3 Write some more simple batch command tests
314521
314522         · 6080846cce acl.ClientACL: add unit tests (#33684)
314523
314524       · ISSUE  #33831:  (astehlik)  file.managed  state should not download a
314525         file if the checksum did not change (refs: #34010)
314526
314527       · PR #34010: (terminalmage) Do not  cache  remote  files  if  they  are
314528         already cached @ 2016-06-16 21:03:47 UTC
314529
314530         · 790384f413 Merge pull request #34010 from terminalmage/issue33831
314531
314532         · 636d081ae0 Do not cache remote files if they are already cached
314533
314534       · PR  #34009:  (rallytime) Back-port #33948 to 2016.3 + add log message
314535         (refs: #34011) @ 2016-06-16 21:01:09 UTC
314536
314537         · PR #33948: (cachedout) Save an entire  minion  cache  traversal  on
314538           each master pub (refs: #34011, #34009)
314539
314540         · dd26d6fd74 Merge pull request #34009 from rallytime/bp-33948
314541
314542         · 239af9ae5e  Warn  when custom returners don't have minions kwarg in
314543           save_load
314544
314545         · c776d2d795 Add note to release notes about returner  minions  kwarg
314546           change
314547
314548         · 5f696082e3 Fix loop over cache in auth checking!
314549
314550         · 180c312715 Save an entire minion cache traversal on each master pub
314551
314552       · ISSUE  #33927:  (phil123456) Salt - windows minion cannot do anything
314553         (refs: #33941)
314554
314555       · PR  #33941:  (cachedout)  Don't  call  os.getppid()  on   Windows   @
314556         2016-06-16 20:56:17 UTC
314557
314558         · 5f4ef46d2f Merge pull request #33941 from cachedout/issue_33927
314559
314560         · 5fe889c7f1 Don't call os.getppid() on Windows
314561
314562       · PR  #34067: (jacobhammons) Fixes doc refresh bug on chrome mobile.  @
314563         2016-06-16 18:44:12 UTC
314564
314565         · fa253aa62b Merge pull request #34067 from jacobhammons/mobile-fix
314566
314567         · ce027fd769 Fixes doc refresh bug on chrome mobile.
314568
314569         · PR #34050: (rallytime) Back-port #34026 to 2016.3
314570
314571         · PR #34026: (bensherman) removed method that  doesn't  exist  (refs:
314572           #34050)
314573
314574       · PR #33987: (isbm) inspectlib cleanup @ 2016-06-15 22:09:31 UTC
314575
314576         · 73ff11585e       Merge      pull      request      #33987      from
314577           isbm/isbm-inspectlib-cleanup
314578
314579         · e36821510f Fix documentation: add an example how to  export  system
314580           to the Kiwi
314581
314582         · fe300ccf73 Lintfix
314583
314584         · 96423076b1 Add unit test for file tree
314585
314586         · 8975036b27 Add get_unmanaged_files test
314587
314588         · be5f12fcaf Add initial unit test for inspectlib.collector.Inspector
314589
314590         · 652c96d7e7 Stop build (not implemented yet)
314591
314592         · 58e85ea0ab Refactor class caller
314593
314594         · 878f67674a Sort package names
314595
314596         · c31818b4aa Fix lint: PEP8 multiplication of 4.
314597
314598         · c87fff3680 Add root-only warning when exporting system with Kiwi
314599
314600         · 9bd80f02fc Implement users Kiwi export
314601
314602         · e191f338c7 Cleanup code
314603
314604         · 80f45defae Implement packages and patterns gathering
314605
314606         · ad45a265f5 Add Debian support for the repo generator
314607
314608         · 6280ad137e  Semifix:  sometimes  SQLite3  is locked. TODO: a proper
314609           handling required.
314610
314611         · 51567ab61d Implement SUSE repositories export
314612
314613         · e4ac113927 Add Kiwi support to the collector/inspector
314614
314615         · eceeb4ecf2 Add ability to specify an additional PID file
314616
314617         · f522a91ac6 Add ISO/image build (stub) and export to the Kiwi
314618
314619         · bb19684606 Add Kiwi processor exception
314620
314621         · 805e2ce204 Add Kiwi exported (initial)
314622
314623         · a52f9f7107 Add default configuration
314624
314625       · ISSUE #34038: (Ch3LL) user.list_users does not work on smartos (refs:
314626         #34042)
314627
314628         · PR #34042: (sjorge) fix #34038
314629
314630       · PR #34025: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
314631         2016-06-15 19:41:00 UTC
314632
314633         · f546a00dc9 Merge pull request #34025 from rallytime/merge-2016.3
314634
314635       · PR #34044:  (jacobhammons)  Updated  latest  release  to  2016.3.1  @
314636         2016-06-15 19:20:28 UTC
314637
314638         · 3035520594 Merge pull request #34044 from jacobhammons/3.1
314639
314640         · a4b67fd1e9 Updated latest release to 2016.3.1 Clean up installation
314641           instructions code-block type updates Add link to jinja tutorial
314642
314643         · PR #34014: (jnhmcknight) fix launch config creation params
314644
314645         · PR #34021: (twangboy) Always make changes to minion config  if  set
314646           (2016.3)
314647
314648       · PR  #34031:  (eliasp) states.postgres_privileges expects a real list,
314649         not a comma-separated string @ 2016-06-15 16:34:04 UTC
314650
314651         · 5f90717fd3      Merge      pull      request      #34031       from
314652           eliasp/2016.3-salt.states.postgres_privileges-doc-priv-list
314653
314654         · d3198ea538  states.postgres_privileges  expects  a real list, not a
314655           comma-separated string for privileges
314656
314657       · ISSUE #33023: (cmclaughlin) rest_cherrypy  eauth  can't  handle  some
314658         characters (refs: #33995)
314659
314660       · ISSUE  #23522:  (nbirnel)  Update the best practices documentation to
314661         include simpler examples of of jinja dictionaries (refs: #33995)
314662
314663       · ISSUE #12470: (whiteinge) Document how to (and not NOT to) use  Jinja
314664         in states (refs: #33995)
314665
314666       · ISSUE #10480: (gravyboat) Create documentation that talks about using
314667         Jinja specifically for Salt. (refs: #33995)
314668
314669       · ISSUE #10206: (rabits) Jinja import: Jinja variable 'salt'  is  unde‐
314670         fined (refs: #33995)
314671
314672       · PR  #33995:  (jacobhammons)  Understanding  Jinja  topic,  Jinja  doc
314673         issues.  @ 2016-06-14 02:00:29 UTC
314674
314675         · 1132bc5d0b Merge pull request #33995 from jacobhammons/doc-fixes
314676
314677         · 887a415138 Adds new Understanding Jinja topic,  and  fixes  several
314678           Jinja  doc issues. Removes the "Full list of builtin ..." from each
314679           module reference list, leaving just the module type  for  scanabil‐
314680           ity.
314681
314682       · PR  #33900:  (amendlik)  Document  sudo policy for gitfs post-recieve
314683         hook @ 2016-06-14 01:04:35 UTC
314684
314685         · a400f6a6c3 Merge pull request #33900 from amendlik/gitfs-hook-doc
314686
314687         · b4a28e2684 Add clarifying documentation about the need for sudo  in
314688           the git hook
314689
314690         · 1046279cb7 Document sudo policy for gitfs post-recieve hook
314691
314692       · PR  #33980:  (twangboy)  Use  full  path  to  python.exe @ 2016-06-14
314693         00:46:14 UTC
314694
314695         · 28c886edd0 Merge pull request #33980 from twangboy/fix_build
314696
314697         · dd7d55afb9 Use full path to python.exe
314698
314699       · PR #33993: (s0undt3ch) Call sys.exit() instead of exit() @ 2016-06-14
314700         00:30:46 UTC
314701
314702         · 26fee377ec Merge pull request #33993 from s0undt3ch/2016.3
314703
314704         · 34f7d90d9f Call sys.exit() instead of exit()
314705
314706       · PR #33976: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
314707         2016-06-13 19:29:40 UTC
314708
314709         · 2e934cffef Merge pull request #33976 from rallytime/merge-2016.3
314710
314711         · 19d49d94f2 Merge branch '2015.8' into '2016.3'
314712
314713           · a74f1b8077 ZD 762 (#33942)
314714
314715           · 0281d491c6 Merge pull request #33946 from rallytime/bp-33698
314716
314717             · 5fdfed1cb9 Make sure we only use GetConnection if we are  using
314718               a proxy salt minion
314719
314720             · 1505c5724b Fix a bug with self signed certificates and creating
314721               a new VM
314722
314723           · dff3f51955 Merge pull request #33952 from rallytime/fix-33911
314724
314725             · 03b7cbbd2c Add base argument to  salt-ssh  grains  wrapper  for
314726               filter_by func
314727
314728           · 4a8064918a  Adds  a "Generated on <timestamp>" line to the footer
314729             of each doc html page in the doc (#33962)
314730
314731       · ISSUE #33868: (abalashov)  Returner  configuration  override  options
314732         don't work for scheduled jobs (schedule module) (refs: #33912)
314733
314734       · PR  #33912:  (abalashov)  utils/schedule.py:handle_func()  -  Fix for
314735         accessing returner configur… @ 2016-06-13 17:18:04 UTC
314736
314737         · 8d8ed59b85  Merge  pull   request   #33912   from   abalashov/abal‐
314738           ashov/fix-schedule-returner-config
314739
314740         · b5a4f8b313  utils/schedule.py:handle_func()  -  Fix  for  accessing
314741           returner    configuration    attributes     'return_config'     and
314742           'return_kwargs'.
314743
314744       · PR #33945: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
314745         2016-06-13 15:44:30 UTC
314746
314747         · 81e16bb93f Merge pull request #33945 from rallytime/merge-2016.3
314748
314749         · b4ab322ce1 Merge branch '2015.8' into '2016.3'
314750
314751           · b3ec39d644 Correct issue with ping on rotate with minion cache (‐
314752             #33765)
314753
314754           · 378dd7ca06 Merge pull request #33888 from jfindlay/random_check
314755
314756             · 6acee3cc30   modules.random_org._query:  only  return  text  if
314757               present
314758
314759             · 82f95429db modules.random_org unit tests:  skip  if  random.org
314760               down
314761
314762             · 1f9422e0cd utils.http.query: also except gaierror with tornado
314763
314764           · 2dc1914e7c  Add  connecting_settings to boto_elb state attributes
314765             list (#33936)
314766
314767           · 91a2184f2d Wait for up to  a  minute  for  sync_after_install  (‐
314768             #33917)
314769
314770           · ef6da0be5d Merge pull request #33877 from rallytime/merge-2015.8
314771
314772           · 398534a9e7 Fix ret return from merge-conflict resolution
314773
314774           · b8e4706074 Merge branch '2015.5' into '2015.8'
314775
314776           · cdda593c50    Merge    pull   request   #33829   from   terminal‐
314777             mage/update-versionchanged
314778
314779             · f7028eb1c6 Update versionchanged directive
314780
314781           · b8e6c144d8 Merge pull request #33833 from terminalmage/issue33645
314782
314783             · 91745c2a67 Support syncing pillar modules to masterless minions
314784
314785           · e061788e81  Merge  pull  request  #33814  from   terminalmage/ar‐
314786             chive-extracted-xz
314787
314788             · 897a716df2   Support   extraction   of   XZ   archives  in  ar‐
314789               chive.extracted state
314790
314791           · fa983e91cf  Merge   pull   request   #33778   from   sodium-chlo‐
314792             ride/2015.5-2016-0604-1938
314793
314794             · a5fb6d7a69 Fix minor docstring issues
314795
314796           · b9133326c8    Merge   pull   request   #33726   from   jtand/sys‐
314797             mod_skip_valid_docs_glance
314798
314799             · ebee8a89af glance.warn_until shouldn't be  checked  for  a  doc
314800               string
314801
314802           · 137f0b19f3 Merge pull request #33611 from TargetHolding/2015.5
314803
314804           · 1dd15a603b  solve'  TypeError:  expected  string  or  buffer'  in
314805             json/decoder.py
314806
314807           · eaf42ca892 solve AttributeError: 'module' object has no attribute
314808             'exception'
314809
314810       · PR  #33960:  (nulfox)  Fix mongo get_load to return full mongo record
314811         instead of non-existant 'load' key @ 2016-06-13 15:37:46 UTC
314812
314813         · 68d261fe5b Merge pull request #33960 from mecarus/2016.3
314814
314815         · d622133a49 The jid load comes  in  directly,  not  as  'load'  key.
314816           Should return the mongo record directly without accessing keys
314817
314818       · PR  #33961:  (jacobhammons) 2016.3.0 known issues update @ 2016-06-13
314819         02:59:21 UTC
314820
314821         · 8f56406507 Merge pull request #33961 from jacobhammons/release
314822
314823         · 2cf787d4ba 2016.3.0 known issues update
314824
314825         · PR #33908:  (ticosax)  [boto_lambda]  handle  ommitted  Permissions
314826           parameter
314827
314828       · ISSUE #33575: (anlutro) File states seem slower in 2016.3, especially
314829         on first cache retrieval (refs: #33896)
314830
314831       · ISSUE #29643: (matthayes) Can't get batch mode and --failhard to work
314832         as expected (refs: #31164)
314833
314834       · ISSUE #28569: (andrejohansson) Reactor alert on highstate fail (refs:
314835         #31164)
314836
314837       · PR #33896: (DmitryKuzmenko) Don't deep copy context dict  values.   @
314838         2016-06-10 15:32:54 UTC
314839
314840         · PR #31164: (DmitryKuzmenko) Issues/29643 fix invalid retcode (refs:
314841           #33896)
314842
314843         · 16b5e9dcc1    Merge    pull    request    #33896    from    DSRCom‐
314844           pany/issues/33575_do_not_deep_copy_context
314845
314846         · 8e34d0a9c3 Don't deep copy context dict values.
314847
314848       · ISSUE #3077: (torhve) Client ACL and external auth system should have
314849         support for limiting functions to certain arguments (refs: #29153)
314850
314851       · PR #33905:  (rallytime)  Back-port  #33847  to  2016.3  @  2016-06-10
314852         15:22:34 UTC
314853
314854         · PR #33847: (whiteinge) Add docs for arg/kwarg eauth matching (refs:
314855           #33905)
314856
314857         · PR #29153: (DmitryKuzmenko) ACL limit args (refs: #33847)
314858
314859         · 01323322b0 Merge pull request #33905 from rallytime/bp-33847
314860
314861           · b6ebd7b6ef Add docs for arg/kwarg eauth matching
314862
314863         · 261baeb5b5 Ensure tht pillar have freshest grains (#33910)
314864
314865         · 00e016ecfc Add note about Xenial packages to 2016.3.0 release notes
314866           (#33870)
314867
314868   Salt 2016.3.3 Release Notes
314869       Version 2016.3.3 is a bugfix release for 2016.3.0.
314870
314871   Statistics
314872       · Total Merges: 108
314873
314874       · Total Issue References: 26
314875
314876       · Total PR References: 115
314877
314878       · Contributors:  36  (The-Loeki,  abednarik,  cachedout,  cro, deniszh,
314879         dkruger, dmurphy18, eliasp, farcaller,  galet,  gtmanfred,  hu-dabao,
314880         isbm,  jacobhammons,  jacobweinstock,  jfindlay,  justinta,  kstreee,
314881         lubyou,  markuskramerIgitt,  meaksh,  miihael,   mzupan,   nishigori,
314882         rallytime,  s0undt3ch,  skizunov,  tankywoo,  terminalmage, thatch45,
314883         theredcat, ticosax, tonybaloney, twangboy, vutny, whiteinge)
314884
314885   Known Issues
314886       issue #36055: Salt Cloud events (salt/cloud) are not generated  on  the
314887       master event bus when provisioning cloud systems.
314888
314889       Bootstrap  Issue  #973: python-futures is not installed when installing
314890       from a git tag on RedHat-based distributions. Python futures is  needed
314891       when
314892
314893       running  Salt  with  the  TCP  transport.  This is fixed on the develop
314894       branch of the salt-bootstrap repo and the fix will be included  in  the
314895       upcoming  release  of  salt-bootstrap,  but  is  a bug in the bootstrap
314896       release  that  ships  with  this  version  of  Salt.  Please  see   the
314897       salt-bootstrap  repo  for  more information on how to update your boot‐
314898       strap version.
314899
314900   Changelog for v2016.3.2..v2016.3.3
314901       Generated at: 2018-05-27 04:47:36 UTC
314902
314903       · PR #35603: (rallytime) Make sure version label is correct in header
314904
314905       · PR #35602: (rallytime) Update release notes for 2016.3.3
314906
314907       · ISSUE #35102: (TheBigBear) Exception raised  when  processing  __vir‐
314908         tual__  function  for  mac_system  - (mac os x installation relies on
314909         un-installed 'mac_service_helper.sh') (refs: #35580)
314910
314911       · PR #35580: (twangboy) Fix mac_service  attempts  to  parse  non-plist
314912         files @ 2016-08-19 09:24:38 UTC
314913
314914         · 9683bb3c58 Merge pull request #35580 from twangboy/fix_35102
314915
314916         · 4122e66ed5 Handle malformed plist files
314917
314918         · 52feff9309 Fix mac_service attempts to parse non-plist files
314919
314920       · PR  #35586:  (hu-dabao)  Fix 35420,  add run_on_start in build_sched‐
314921         ule_item @ 2016-08-19 09:23:32 UTC
314922
314923         · c4ec94d6e8 Merge pull request #35586 from hu-dabao/fix-35420
314924
314925         · 2d3a882cc2 fix  35420,  add  run_on_start  in  build_schedule_item,
314926           remove redundancy of enabled
314927
314928         · PR #35583: (terminalmage) Fix localemod tests
314929
314930       · PR #35579: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
314931         2016-08-18 22:00:41 UTC
314932
314933         · d1339fd9f5 Merge pull request #35579 from rallytime/merge-2016.3
314934
314935         · 00dff9dcbd Merge branch '2015.8' into '2016.3'
314936
314937         · 26a7f7d9f7   Merge   pull    request    #35577    from    terminal‐
314938           mage/unit-file-changes
314939
314940           · 6cb0fb47f3 pkg/salt-syndic.service: change Type to notify
314941
314942           · 175ba99e0e  pkg/salt-minion.service: remove KillMode, change Type
314943             to notify
314944
314945           · 540ec28954 pkg/salt-master.service: remove KillMode
314946
314947           · 69fad464ab pkg/salt-api.service: change Type to notify
314948
314949       · PR #35571: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
314950         2016-08-18 19:50:03 UTC
314951
314952         · f7a18234db Merge pull request #35571 from rallytime/merge-2016.3
314953
314954         · 2930df924e  Update  localemod_test  systemd.sd_booted  mock  to use
314955           salt.utils.systemd.booted
314956
314957         · e61b04a707 Merge branch '2015.8' into '2016.3'
314958
314959           · 2a5d1a0eee fix-35384, fix the logic caused  by  wrong  indent  (‐
314960             #35566)
314961
314962           · feb852f8c0 Clarify config.get docstring (#35492)
314963
314964           · 205d8e2e7b Merge pull request #35483 from gtmanfred/2015.8
314965
314966             · 2d8ec1e9db use __opts__ in salt.utils.cloud for cache functions
314967
314968           · 70fa2d0901      Merge      pull      request      #35546     from
314969             whiteinge/salt-api-eauth-fail-gracefully
314970
314971             · eb3574adae Don't fail hard if the user's permissions cannot  be
314972               found
314973
314974             · ec597bd54c Change groups check in token to look for truthy val‐
314975               ues
314976
314977           · 61fec6caa9 add missing glob import (#35525)
314978
314979           · 0e3f2fc6cb Whitespace fix for 2015.8 (#35540)
314980
314981           · fd3274c800 Merge pull request #35510 from terminalmage/issue33516
314982
314983             · 5b5f19d269 Update zypper unit test  to  reflect  call  to  con‐
314984               fig.get
314985
314986             · 2730edb516 Add note about systemd-run usage in package states
314987
314988             · e2d9e87e10  salt/modules/systemd.py:  Use  systemd-run  --scope
314989               where needed
314990
314991             · 22919a25bc Notify systemd on salt-api start
314992
314993             · a40b3f8a08 Notify systemd on syndic start
314994
314995             · e847d3af30 Notify systemd on minion start
314996
314997             · d648887afc  salt/modules/zypper.py:  Use  systemd-run   --scope
314998               where needed
314999
315000             · 2e17976722   salt/modules/yumpkg.py:  Use  systemd-run  --scope
315001               where needed
315002
315003             · 86b59c1e74  salt/modules/pacman.py:  Use  systemd-run   --scope
315004               where needed
315005
315006             · e32d92c6d5   salt/modules/ebuild.py:  Use  systemd-run  --scope
315007               where needed
315008
315009             · c7d21d3ae3  salt/modules/aptpkg.py:  Use  systemd-run   --scope
315010               where needed
315011
315012             · f83e0ef242 Add unit tests for salt.utils.systemd
315013
315014             · 5b12f030c6 Add func to salt.utils.systemd to tell if scopes are
315015               available
315016
315017         · PR #35573: (rallytime) Back-port #33337 to 2016.3
315018
315019         · PR #33337: (mzupan) adding the  ()  to  make  changes  work  (refs:
315020           #35573)
315021
315022       · PR  #35572:  (terminalmage)  Fix  poor formatting in pkg state docs @
315023         2016-08-18 18:15:52 UTC
315024
315025         · 73b549ed00 Merge pull request #35572 from terminalmage/docs
315026
315027         · 7d7a7de9e6 Fix poor formatting in pkg state docs
315028
315029         · PR #35545: (hu-dabao) fix-35384, fix cmd.run unless (refs: #35566)
315030
315031         · PR saltstack/salt#35463: (skizunov) Make auth_timeout user  config‐
315032           urable again (refs: #35489)
315033
315034       · PR  #35489:  (rallytime)  Back-port  #35463  to  2016.3  @ 2016-08-18
315035         07:16:03 UTC
315036
315037         · PR #35463: (skizunov) Make  auth_timeout  user  configurable  again
315038           (refs: #35489)
315039
315040         · f2eb3dc105 Merge pull request #35489 from rallytime/bp-35463
315041
315042         · bbf7ce121b Remove final self.MINION_CONNECT_TIMEOUT ref
315043
315044         · cf2e2daab9 Make auth_timeout user configurable again
315045
315046         · PR #35538: (thatch45) Treat python XML as an optdep
315047
315048       · PR #35526: (thatch45) Always deploy the thin to /var/tmp @ 2016-08-17
315049         19:44:26 UTC
315050
315051         · e2bd575461 Merge pull request #35526 from thatch45/ssh_W_tmp
315052
315053         · a381f02cfe Always deploy the thin to /var/tmp
315054
315055       · PR #35522: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
315056         2016-08-17 18:07:16 UTC
315057
315058         · 8b770869e4 Merge pull request #35522 from rallytime/merge-2016.3
315059
315060         · ff212d8976 Whitespace fix
315061
315062         · c305d8d99b Merge branch '2015.8' into '2016.3'
315063
315064         · b3b28cb760 Might be a good idea to be able to download the software
315065           we make (#35513)
315066
315067         · 9f87081cef Merge pull request #35302 from Ch3LL/add_job_cache_test
315068
315069           · ccb2a5cadf remove unused imports
315070
315071           · 512ae81dfd remove TMP and add integration.TMP
315072
315073           · c9b7c3cf80 need to add returners option in other places
315074
315075           · 7316df7a02 fix pylint
315076
315077           · 50a4f0fe6a fix comment
315078
315079           · 6837acf742 add job cache integration tests
315080
315081         · 1c82c6bee5 Merge pull request #35512 from cachedout/fixup_35419
315082
315083           · 253662541a Fix import
315084
315085           · f16a30786b Fixes consul.agent_service_register which  was  broken
315086             for registering service checks.
315087
315088         · e1a373fa4c Merge pull request #35497 from deepakhj/2015.8
315089
315090           · 685db4ab88 Fix spacing
315091
315092         · 4048255ed6  Merge pull request #35508 from terminalmage/update-doc‐
315093           string
315094
315095           · 67c945fce0 Add Carbon to versionadded for git.diff
315096
315097       · PR #35516:  (rallytime)  Back-port  #34441  to  2016.3  @  2016-08-17
315098         15:47:23 UTC
315099
315100         · PR  #34441:  (markuskramerIgitt)  Copy  and delete silently, do not
315101           list each file (refs: #35516)
315102
315103         · e86a39a115 Merge pull request #35516 from rallytime/bp-34441
315104
315105         · e47c661cb0 Copy and delete silently, do not list each file
315106
315107         · PR  saltstack/salt#34502:  (markuskramerIgitt)  Windows   installer
315108           build scripts will exit on error (refs: #35517)
315109
315110       · PR  #35517:  (rallytime)  Back-port  #34502  to  2016.3  @ 2016-08-17
315111         15:47:10 UTC
315112
315113         · PR #34502: (markuskramerIgitt) Windows installer build scripts will
315114           exit on error (refs: #35517)
315115
315116         · 45080d9860 Merge pull request #35517 from rallytime/bp-34502
315117
315118         · 32da48df08 setup.py will not print each individual file
315119
315120         · 698a076a39 Completely remove Python and verify
315121
315122         · 7406bd22a6 Errors will stop the scripts
315123
315124       · PR #35429: (tankywoo) Fix iptables target options with no arguments @
315125         2016-08-17 10:05:17 UTC
315126
315127         · c1deb945d7  Merge  pull  request  #35429  from   tankywoo/fix-ipta‐
315128           bles-target-options
315129
315130         · 914eb60d51 Fix iptables target options with no arguments
315131
315132       · ISSUE  #35458: (iggy) SALT.STATES.APACHE_MODULE needs version annota‐
315133         tions (refs: #35495)
315134
315135       · PR #35495: (rallytime) Use correct deprecated notation instead  of  a
315136         warning   for  apache_module.enable  state  function.   @  2016-08-17
315137         09:36:40 UTC
315138
315139         · 678759ba6c Merge pull request #35495 from rallytime/fix-35458
315140
315141         · 9bae3d09a6 Use correct deprecated notation instead of a warning.
315142
315143       · ISSUE #35336: (Sylvain303) documentation state.file.managed parameter
315144         template  not  reflecting  TEMPLATE_REGISTRY  (refs:  #35360, #35498,
315145         #35406, #saltstack/salt`#35360`_)
315146
315147         · PR saltstack/salt#35360: (rallytime)  Add  all  template  registery
315148           templates to file.managed docs (refs: #35406)
315149
315150       · PR  #35498:  (rallytime) Add supported templates list to all template
315151         doc references in file state @ 2016-08-17 09:33:36 UTC
315152
315153         · PR #35406: (rallytime) Provide links to the renderers in  the  tem‐
315154           plate docs (refs: #35498)
315155
315156         · PR  #35360:  (rallytime)  Add  all  template registery templates to
315157           file.managed docs (refs: #35498)
315158
315159         · 5bd44b10a7 Merge pull request #35498 from rallytime/file-state-docs
315160
315161         · 6190b2d738 Add supported templates list to all template doc  refer‐
315162           ences in file state
315163
315164       · PR #35487: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
315165         2016-08-16 18:36:21 UTC
315166
315167         · 6df4648765 Merge pull request #35487 from rallytime/merge-2016.3
315168
315169         · c6c82be1de Merge branch '2015.8' into '2016.3'
315170
315171         · bfe7107a87 Update bootstrap script to latest stable (2016.08.16) (‐
315172           #35486)
315173
315174         · 240fc12863 Merge pull request #35413 from cachedout/issue_35296
315175
315176           · fb8a12d677 Fix silly error
315177
315178           · 3646cf1afa Additional checks on master and integration test
315179
315180           · 09efde7634 Splat the list into os.path.join
315181
315182           · fc0d5878bc Set file_recv on test master
315183
315184           · 81c4d136c5 Transition file push paths to lists
315185
315186         · c3319b2a8b Merge pull request #35476 from cachedout/issue_35380
315187
315188           · c05fcf33d1 Fixup SSH bug where sudo without sudo user would break
315189
315190         · 004778c966 Merge pull request #35471 from terminalmage/issue34479
315191
315192           · e243c63e43 win_pkg: Fix traceback when package is not installed
315193
315194         · 5c9428c32d Merge pull request #35448 from isbm/isbm-zypper-106-fix
315195
315196           · dd82e6a848  Add  ignore_repo_failure  option to suppress zypper's
315197             exit code 106 on unavailable repos
315198
315199         · 1473474b04  Merge   pull   request   #35451   from   isbm/isbm-zyp‐
315200           per-mod_repo-unchanged
315201
315202           · 8790197d86 Fix Unit test for suppressing the exception removal on
315203             non-modified repos
315204
315205           · 3f00c6997a Remove zypper's raise exception  if  mod_repo  has  no
315206             arguments and/or no changes
315207
315208         · a8c4f17f50    Merge   pull   request   #35453   from   theothergra‐
315209           ham/fix_CacheDisk
315210
315211           · ae5b233d51 fixes #34279
315212
315213         · d8c35b5260 Merge pull request #35459 from thatch45/shim_fix
315214
315215           · 10037b00cb Some environments refuse to return the command output
315216
315217         · 38b60a32e5  [2015.8]  Update  bootstrap  script  to  latest  stable
315218           (2016.08.15) (#35460)
315219
315220       · ISSUE  #34161:  (bobrik) Salt command can hang forever because of one
315221         broken minion (refs: #35446)
315222
315223         · PR #35446: (cachedout) Make salt-client aware  of  edge-case  where
315224           saltutil might be broken
315225
315226       · ISSUE  #35422:  (ViaviSolutions)  aptpkg.py: install_recommends: True
315227         does not force "--install-recommends" (refs: #35449)
315228
315229       · PR #35449: (dkruger)  aptpkg  will  specify  --install-recommends  if
315230         enabled by the SLS @ 2016-08-16 01:38:56 UTC
315231
315232         · f90ecbb15e Merge pull request #35449 from dkruger/fix-35422
315233
315234         · f54bf445b5  aptpkg  will specify --install-recommends if enabled by
315235           the SLS
315236
315237       · ISSUE #33367: (supertom) [salt-cloud] libcloud >= 1.0.0  incompatible
315238         regarding node_state (refs: #33518)
315239
315240       · PR  #35467:  (rallytime)  Back-port  #33518  to  2016.3  @ 2016-08-16
315241         01:17:01 UTC
315242
315243         · PR #35235: (rallytime) Back-port #33518 to 2016.3 (refs: #35467)
315244
315245         · PR #33518: (tonybaloney) Fix libcloud  bug  #33367  (refs:  #35235,
315246           #35467)
315247
315248         · d2dd78e25b Merge pull request #35467 from rallytime/bp-33518
315249
315250         · e427815caf fix clrf
315251
315252         · be41a400fa commit fix
315253
315254         · 06530b5461 add a test to check existing functionality is broken
315255
315256         · PR  #35461:  (rallytime) [2016.3] Update bootstrap script to latest
315257           stable (2016.08.15)
315258
315259       · PR #35456: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
315260         2016-08-15 19:16:23 UTC
315261
315262         · 9b2c075611 Merge pull request #35456 from rallytime/merge-2016.3
315263
315264         · 6a86a12294 Merge branch '2015.8' into '2016.3'
315265
315266         · d75005c519 Fix cp.push_dir pushing empty dirs (#35442)
315267
315268         · 09925ba353 Minor doc fixup (#35436)
315269
315270         · a0b128a85a Merge pull request #35132 from sjorge/2015.8-35121
315271
315272           · 5cb38c8ae0  switch  to fpread().splitlines(), as per @lorengordon
315273             suggestion
315274
315275           · 634f1dded5 fixes #35121, causing lots of mayham  (onchange)  with
315276             2016.3.2 for me
315277
315278         · PR   saltstack/salt#35308:   (farcaller)   Actually   fixed   dock‐
315279           erng.list_tags (refs: #35447)
315280
315281         · PR  saltstack/salt#34702:  (farcaller)   Fixed   dockerng.list_tags
315282           (refs: #35447)
315283
315284         · PR  #35447:  (ticosax) [dockerng] RepoTags can be also be None with
315285           docker 1.12
315286
315287         · PR #34702:  (farcaller)  Fixed  dockerng.list_tags  (refs:  #`salt‐
315288           stack/salt#35308`_)
315289
315290       · ISSUE  saltstack/salt#35403:  (randomed) Setting ext_job_cache breaks
315291         on salt-master (refs: #35427)
315292
315293         · PR #35427: (cachedout) Correct errant call to argspec from  master.
315294           Fix ext_job_cache.
315295
315296       · ISSUE  #35423:  (Ch3LL)  Stacktrace when running state.sls against an
315297         sls does not exist (refs: #35428)
315298
315299         · PR #35428: (cachedout) Resolve stacktrace logged by highstate  out‐
315300           putter if sls cannot be found
315301
315302       · PR  #35412: (s0undt3ch) Only allow one sync read to happen at a time.
315303         @ 2016-08-12 23:57:29 UTC
315304
315305         · 607169a01b Merge pull request #35412 from s0undt3ch/2016.3
315306
315307         · f54b3cc514 Only allow one sync read to happen at a time.
315308
315309       · ISSUE #35336: (Sylvain303) documentation state.file.managed parameter
315310         template  not  reflecting  TEMPLATE_REGISTRY  (refs:  #35360, #35498,
315311         #35406, #saltstack/salt`#35360`_)
315312
315313         · PR saltstack/salt#35360: (rallytime)  Add  all  template  registery
315314           templates to file.managed docs (refs: #35406)
315315
315316         · PR  #35406:  (rallytime) Provide links to the renderers in the tem‐
315317           plate docs (refs: #35498)
315318
315319       · PR #35393: (deniszh)  No  need  to  run  ddns  update  every  time  @
315320         2016-08-12 12:40:36 UTC
315321
315322         · b3e9e98b40 Merge pull request #35393 from deniszh/2016.3_fix35350
315323
315324         · 6f2f080f4a No need to run dns update every time
315325
315326       · PR  #35407:  (hu-dabao)  [Fix-35094] None will not be added to grains
315327         which generate [none] @ 2016-08-12 12:34:05 UTC
315328
315329         · a5fe05b7f9 Merge pull request #35407 from hu-dabao/fix-35094
315330
315331         · a23108f795 None will not be added to grains which generate [none]
315332
315333       · PR #35411: (eliasp) modules.event.send(): Prevent backtrace for  mas‐
315334         terless Minions @ 2016-08-12 12:29:02 UTC
315335
315336         · 4dc776ffbf   Merge  pull  request  #35411  from  eliasp/2016.3-mod‐
315337           ules.event-handle-file_client-opt
315338
315339         · 8d7244bdd9 modules.event.send(): Also  check  for  file_client  and
315340           use_master_when_local opts
315341
315342       · PR #35395: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
315343         2016-08-11 20:59:37 UTC
315344
315345         · c032506e6b Merge pull request #35395 from rallytime/merge-2016.3
315346
315347         · 0d1aa630f1 Lint fix
315348
315349         · cf038ee3fe Merge branch '2015.8' into '2016.3'
315350
315351         · d9c20c0456 Update freebsd.rst (#35394)
315352
315353         · a375dd7e1f Clean up open filehandles (#35359)
315354
315355         · 9ea7a34c30 Merge pull  request  #35339  from  isbm/isbm-2015.8-min‐
315356           ion-importerror-fix
315357
315358           · 12af60b7be  Fix  continuous minion restart if a dependency wasn't
315359             installed
315360
315361         · fd9b05ace4    Merge    pull    request    #35357    from     twang‐
315362           boy/file.recurse.clean.2015.8
315363
315364           · d328ec0157 Fix file.recurse with clean: True
315365
315366       · ISSUE  #35226:  (mathieubouchard)  Do  not throw an exception when an
315367         invalid requisite is set (refs: #35373)
315368
315369         · PR #35373: (cachedout) Raise SaltRenderError on bad requisite
315370
315371       · PR #35352: (twangboy) Fix file.recurse with clean: True   on  Windows
315372         (2016.3) @ 2016-08-11 00:46:11 UTC
315373
315374         · 72f3548671     Merge    pull    request    #35352    from    twang‐
315375           boy/file.recurse.clean
315376
315377         · ecad616d08 Fix file.recurse with clean: True
315378
315379       · PR #35356: (jfindlay) document log levels and  warn  on  all  logging
315380         below info @ 2016-08-11 00:45:56 UTC
315381
315382         · 0fcfc70cc8 Merge pull request #35356 from jfindlay/log_levels
315383
315384         · 2fc3a55338  utils.verify.verify_log:  warn  at all levels less than
315385           info
315386
315387         · 72a3f18a2e log.setup: minor optimization
315388
315389         · 66332510c6 doc.ref.configuration.logging: document log levels
315390
315391         · 93616eff3e doc.ref.configuration.logging: fix formatting
315392
315393         · 472a2d31de doc.ref.configuration.logging: cleanup formatting
315394
315395       · PR #35358: (twangboy) Update libsodium deps @ 2016-08-11 00:36:30 UTC
315396
315397         · 2f7be03053 Merge  pull  request  #35358  from  twangboy/update_lib‐
315398           sodium_deps
315399
315400         · d120a8906f Add vcredist 14 dlls
315401
315402       · ISSUE #35336: (Sylvain303) documentation state.file.managed parameter
315403         template not  reflecting  TEMPLATE_REGISTRY  (refs:  #35360,  #35498,
315404         #35406, #saltstack/salt`#35360`_)
315405
315406       · PR  #35360:  (rallytime)  Add  all  template  registery  templates to
315407         file.managed docs (refs: #35498) @ 2016-08-11 00:35:20 UTC
315408
315409         · f9e03b9c59 Merge pull request #35360 from rallytime/fix-35336
315410
315411         · 30badb5402 Add all template  registery  templates  to  file.managed
315412           docs
315413
315414       · ISSUE #24745: (The-Loeki) RFC: disk versus blockdev (refs: #24893)
315415
315416         · PR saltstack/salt#25267: (jfindlay) Disk module improvements (refs:
315417           #35361)
315418
315419       · PR #35362: (rallytime) Correct deprecation version tags @  2016-08-11
315420         00:34:38 UTC
315421
315422         · PR #35361: (rallytime) Blockdev deprecations (refs: #35362)
315423
315424         · PR #25267: (jfindlay) Disk module improvements (refs: #35362)
315425
315426         · PR  #24893:  (The-Loeki)  Contribution:  Disk  module  improvements
315427           (refs: #`saltstack/salt`#25267`_`_, #25267)
315428
315429         · 3c628d3cbc Merge pull request #35362 from  rallytime/correct-depre‐
315430           cated-tag
315431
315432         · 507827a014 Correct deprecation version tags
315433
315434       · PR #35347: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
315435         2016-08-10 20:07:42 UTC
315436
315437         · 87e29188c0 Merge pull request #35347 from rallytime/merge-2016.3
315438
315439         · a651962e95 Merge branch '2015.8' into '2016.3'
315440
315441         · 4618b433e9 Merge pull request #35323 from thatch45/ssh_crazy
315442
315443           · 8a5b47b5d7 Collect all error data from the wfuncs call
315444
315445           · 11864c31b7 supress a stack trace to show clean ssh error
315446
315447           · 9fbfa282fa wow this solves an issue!
315448
315449         · cfae862972 Merge pull request #35325 from kev009/fbsd-netstat-route
315450
315451           · 0d49dd3c29 Fix fbsd netstat route on fbsd 10+
315452
315453         · 244c3bd495 Pass port  to  ssh.check_known_host,  closes  #35264  (‐
315454           #35301)
315455
315456         · 243909f39d file.recurse: Do not convert octal mode string to int (‐
315457           #35309)
315458
315459         · PR #35334: (cachedout) Restore random_master functionality
315460
315461       · PR #35331: (hu-dabao) fix 35165, salt-run  jobs.exit_success  jid  is
315462         broken @ 2016-08-10 11:50:10 UTC
315463
315464         · 78dfd18ec6 Merge pull request #35331 from hu-dabao/fix-35165
315465
315466         · 4dcce18d01 fix 35165, salt-run jobs.exit_success jid is broken
315467
315468       · PR  #35318:  (rallytime)  Remove  legacy  compat docs in mysql pillar
315469         since the code was removed already @ 2016-08-10 11:34:48 UTC
315470
315471         · PR #30913: (justinta) Deprecated code removed.  (refs: #35318)
315472
315473         · fcca0b9333 Merge pull request #35318 from rallytime/remove-depreca‐
315474           tion-docs
315475
315476         · 75f205e485 Remove legacy compat docs in mysql pillar since the code
315477           was removed already
315478
315479       · PR #35329: (hu-dabao) sys.doc will skip all not connected  minions  @
315480         2016-08-10 11:18:22 UTC
315481
315482         · 3446dc9ec6       Merge      pull      request      #35329      from
315483           hu-dabao/fix-tiny-salt-cli
315484
315485         · 4b806a70ea sys.doc will skip all not connected minions
315486
315487       · PR #35306: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
315488         2016-08-09 18:50:44 UTC
315489
315490         · 31f7d307a7 Merge pull request #35306 from rallytime/merge-2016.3
315491
315492         · 2d3eadfe49 Merge branch '2015.8' into '2016.3'
315493
315494         · 2efc1b333b Merge pull request #35290 from terminalmage/issue35051
315495
315496           · d621aa7b61  Update  runner/wheel unit tests to reflect new key in
315497             ret dict
315498
315499           · 90c12a9c7b Add __orchestration__ key to  orch  returns  for  run‐
315500             ner/wheel funcs
315501
315502           · 7b8c3b86e7  Suppress error about invalid changes data for orches‐
315503             tration jobs
315504
315505           · 54a1704d6c Suppress event for wheel/runner  funcs  executed  from
315506             orchestration
315507
315508           · f409f62bf2 Accept print_event option in WheelClient.cmd()
315509
315510           · b42b25ccce Add cmd func for RunnerClient
315511
315512           · 480065fe00 Add print_event option to client mixins
315513
315514       · PR  #35229: (lubyou) Ignore import error for pwd module in mac_shadow
315515         @ 2016-08-09 15:48:16 UTC
315516
315517         · 94529d0578 Merge pull request #35229 from lubyou/fix-mac_shadow
315518
315519         · b45039c240 Do not blindly ignore import failures
315520
315521         · c1d5670b79 Ignore import error for pwd module
315522
315523       · PR #35227: (isbm) Isbm osfinger ubuntu fix @ 2016-08-09 15:38:31 UTC
315524
315525         · ce7aeb6ca4  Merge  pull  request   #35227   from   isbm/isbm-osfin‐
315526           ger-ubuntu-fix
315527
315528         · fe5da97283 Lintfix: E8303
315529
315530         · 6eea62d4ec Add a deprecation warning
315531
315532         · 4dc45f2509 Add grains unit test for Ubuntu systems
315533
315534         · 3904e4b81c  Bugfix:  Ubuntu osfinger should contain also minor ver‐
315535           sion
315536
315537         · a69f97f9ad  Bugfix:  use  oscodename  if  lsb_distrib_codename  key
315538           exists empty.
315539
315540       · PR  #35286:  (hu-dabao)  fix  34425, a bug that sys.doc cannot output
315541         format @ 2016-08-09 09:50:12 UTC
315542
315543         · 47e328f755 Merge pull request #35286 from hu-dabao/fix-34425
315544
315545         · 86fb359f58 fix 34425, a bug that sys.doc cannot output format
315546
315547       · ISSUE #27294: (stenstad) salt-cloud should support Openstack  Identi‐
315548         tiy v3 for authentication (refs: #35213)
315549
315550       · PR  #35275:  (rallytime)  Back-port  #35213  to  2016.3  @ 2016-08-09
315551         00:02:43 UTC
315552
315553         · PR #35213: (gtmanfred) add identity v3 support to openstack  driver
315554           (refs: #35275)
315555
315556         · d79cb1b4ec Merge pull request #35275 from rallytime/bp-35213
315557
315558         · 9b9fc508cc add identity v3 support to openstack driver
315559
315560         · PR  #35278:  (dmurphy18)  Increase timeout for siging to 10 seconds
315561           when signing rpm packages
315562
315563       · PR #35276: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
315564         2016-08-08 18:20:29 UTC
315565
315566         · 959a00e4b7 Merge pull request #35276 from rallytime/merge-2016.3
315567
315568         · 2b4c156df1 Merge branch '2015.8' into '2016.3'
315569
315570         · f8158124d5 Merge pull request #35211 from cachedout/issue_31074
315571
315572           · 6f53232e6d  Better error handling and a workaround for group mis‐
315573             match.
315574
315575           · 5b56a4acf7 Docs
315576
315577           · ae04e7aaeb Initial POC
315578
315579         · 3e4eb13daa  Merge  pull  request  #35271  from  bobrik/default-out‐
315580           put-profile
315581
315582           · 6cdee21036   Default  state_output_profile  to  True  everywhere,
315583             closes #35166
315584
315585         · 673e1aa1aa Merge pull request #35233 from terminalmage/issue32719
315586
315587           · 730a077041  Do  not  attempt  to  get  fqdn_ip{4,6}  grains  when
315588             ipv{4,6} grains are empty
315589
315590         · cdf3c0fe73 Merge pull request #35202 from multani/fix/test-doc
315591
315592           · 1642dba5d1 doc: fix broken links in the test documentation page
315593
315594         · e1331cd2a3 Merge pull request #35236 from rallytime/bp-35119
315595
315596           · 9ade78de7b Revise unnecessary code duplication
315597
315598           · 7c15f5b20a Fix formatting
315599
315600           · 64f93f8938 Assume two EVRs are equal if E and V are equal but one
315601             R is missing.
315602
315603         · 4f2b8aa5b6 Merge pull request #35240 from derekmaciel/bp-35225
315604
315605           · 9ed47f713a Add missing documentation for pkg.installed
315606
315607         · 4bcfaa97d0 Merge pull request #35241 from terminalmage/gitfs-fixes
315608
315609           · e05648cc2d Break from loop when file is found
315610
315611           · 6764a88601 Ensure that failed recursion results in no blob object
315612             being returned
315613
315614         · f6d7360e0b Merge pull request #35245 from rallytime/bp-35039
315615
315616           · 51ab9cd6d4 Add saltenv support to module.run
315617
315618         · d65a5c7134 Merge pull request #35249 from terminalmage/issue35214
315619
315620           · bcd5129e9f  Fix regression in git.latest when update is fast-for‐
315621             ward
315622
315623           · e2e8bbbfde Add integration test for #35214
315624
315625       · ISSUE #35003: (edgan) rabbitmq_user.present broken  on  Ubuntu  16.04
315626         Xenial (refs: #35232)
315627
315628       · ISSUE  #34481:  (L4rS6)  rabbitmq_user.present  with password keyword
315629         throws exception (refs: #35232)
315630
315631       · ISSUE #33588: (whytewolf) rabbitmq_user.present error  (refs: #35232)
315632
315633       · PR #35274: (rallytime) Lint fixes  for  2016.3  branch  @  2016-08-08
315634         16:45:41 UTC
315635
315636         · PR #35232: (theredcat) fix rabbitmq version detection using a pack‐
315637           age-agnostic version (refs: #35274)
315638
315639         · 157939d5b0 Merge pull request #35274 from rallytime/lint-2016.3
315640
315641         · 0d3d711e9c Lint fixes for 2016.3 branch
315642
315643       · PR #35269: (meaksh) Checksum validation for  zypper  pkg.download  in
315644         2016.3 and develop @ 2016-08-08 14:45:16 UTC
315645
315646         · c58bb18624  Merge  pull  request  #35269  from meaksh/checksum-dur‐
315647           ing-zypper-pkg-download-for-2016.3-and-develop
315648
315649         · 18700e821e unit tests for rpm.checksum() and zypper.download()
315650
315651         · c3f29ab205 checksum validation during zypper pkg.download
315652
315653       · PR #35197: (vutny) Make pkgbuild.repo state recognize createrepo com‐
315654         mand return code @ 2016-08-06 23:20:47 UTC
315655
315656         · d3f2ce2a1a Merge pull request #35197 from vutny/pkgbuild-repo-fail‐
315657           ure-detection
315658
315659         · a5f6630e97 Make pkgbuild.repo state  recognize  createrepo  command
315660           return code
315661
315662       · ISSUE  #34446:  (mirceaulinic)  Proxy minions & straight minion using
315663         the same caching directory (refs: #35178)
315664
315665       · PR #35178: (cro) Add append_minionid_config_dirs option @  2016-08-06
315666         22:21:14 UTC
315667
315668         · f004b831d2 Merge pull request #35178 from cro/proxy_cache_fix2
315669
315670         · 84cc7d67c0 Add documentation for append_minionid_config_dirs.
315671
315672         · f0961e741e Merge with 2016.3
315673
315674       · ISSUE  #35234:  (Sylvain303)  Bug:  module  disk.wipe  dont  wipe the
315675         filesystem information (refs: #35253)
315676
315677       · PR #35259: (cachedout) Fixup 35253 @ 2016-08-06 21:59:48 UTC
315678
315679         · PR #35253: (abednarik) Fix disk.wipe missing option. (refs: #35259)
315680
315681         · 6eb1c48469 Merge pull request #35259 from cachedout/fixup_35253
315682
315683         · 104116f464 Add release notes and include entry about disk.wipe fix
315684
315685         · 6714e8f386 Fix mock call in disk wipe test
315686
315687       · ISSUE #35234:  (Sylvain303)  Bug:  module  disk.wipe  dont  wipe  the
315688         filesystem information (refs: #35253)
315689
315690       · PR #35253: (abednarik) Fix disk.wipe missing option. (refs: #35259) @
315691         2016-08-06 21:55:01 UTC
315692
315693         · 4e7d7f8e4c Merge pull request #35253 from abednarik/disk_wipe_fix
315694
315695         · ff33df4ba1 Fix disk.wipe missing option.
315696
315697       · PR #35206: (hu-dabao) Make the log level back to warning for  unclas‐
315698         sified exc @ 2016-08-06 21:40:38 UTC
315699
315700         · eeede82109 Merge pull request #35206 from hu-dabao/fix-exc-log
315701
315702         · 676be7d711 Make the log level back to warning for unclassified exc
315703
315704       · PR  #35196:  (isbm)  Deprecate  status.uptime  one  version  later  @
315705         2016-08-06 08:39:40 UTC
315706
315707         · 21808e27d5      Merge      pull      request      #35196       from
315708           isbm/isbm-too-fast-uptime-deprecation
315709
315710         · 6f3a32dace Deprecate status.uptime one version later
315711
315712       · PR  #35207:  (eliasp)  Handle  exceptions  in  _get_virtual()  and in
315713         _get_virtual() consumers @ 2016-08-06 08:29:08 UTC
315714
315715         · 100645e557  Merge  pull  request  #35207  from   eliasp/2016.3-mod‐
315716           ules.aptpkg-handle-exceptions
315717
315718         · 2f11df98ca  Handle  exceptions  in  _get_virtual() and in _get_vir‐
315719           tual() consumers
315720
315721       · ISSUE #35003: (edgan) rabbitmq_user.present broken  on  Ubuntu  16.04
315722         Xenial (refs: #35232)
315723
315724       · ISSUE  #34481:  (L4rS6)  rabbitmq_user.present  with password keyword
315725         throws exception (refs: #35232)
315726
315727       · ISSUE #33588: (whytewolf) rabbitmq_user.present error  (refs: #35232)
315728
315729       · PR #35232: (theredcat) fix rabbitmq version detection using  a  pack‐
315730         age-agnostic version (refs: #35274) @ 2016-08-06 08:13:02 UTC
315731
315732         · 7302a8a6e5   Merge  pull  request  #35232  from  theredcat/fix-rab‐
315733           bitmq-version-detection
315734
315735         · f75eb2ecc7 Fix runas in code order and make the check_password work
315736           with the new >3.5.7 version
315737
315738         · 4d8119b88b  fix rabbitmq version detection using a package-agnostic
315739           version
315740
315741       · PR #35244:  (rallytime)  Back-port  #31677  to  2016.3  @  2016-08-06
315742         07:53:28 UTC
315743
315744         · PR #31677: (miihael) Return correct value for services that must be
315745           enabled in Systemd (refs: #35244)
315746
315747         · 2e9fa3799c Merge pull request #35244 from rallytime/bp-31677
315748
315749         · 45d563d5ac Return correct value for services that must  be  enabled
315750           in Systemd, not in SysV
315751
315752       · PR #35182: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
315753         2016-08-03 20:57:29 UTC
315754
315755         · bd0496eef5 Merge pull request #35182 from rallytime/merge-2016.3
315756
315757         · c35974f78f Merge branch '2015.8' into '2016.3'
315758
315759         · 67d8dd0fd0  Don't  discard  running  beacons  config  when  listing
315760           becaons (#35174)
315761
315762         · 3754550dd2  Add  missing  CLI  Examples  to aws_sqs module funcs (‐
315763           #35173)
315764
315765         · 4967ed275f doc version update  to  2015.8.11,  updates  to  release
315766           notes (#35145)
315767
315768       · PR  #35150: (rallytime) Start release notes for 2016.3.3 @ 2016-08-03
315769         13:46:31 UTC
315770
315771         · f9f92ad326    Merge    pull    request    #35150    from     rally‐
315772           time/2016.3.3-release-notes
315773
315774         · a64026fc99 Start release notes for 2016.3.3
315775
315776       · PR #35157: (hu-dabao) master returned from func should be a string as
315777         designed so far @ 2016-08-03 13:29:16 UTC
315778
315779         · 518ecf897a      Merge      pull      request      #35157       from
315780           hu-dabao/func-return-string
315781
315782         · a7506af4c9 master returned from func should be a string as designed
315783           so far
315784
315785         · PR #35147: (jacobhammons) doc version updated to 2016.3.2
315786
315787       · PR #35136: (s0undt3ch) Don't restart processes if the manager is  not
315788         set to restart them @ 2016-08-02 18:40:05 UTC
315789
315790         · dc7d7db3d5 Merge pull request #35136 from s0undt3ch/2016.3
315791
315792         · 7b8bf2d2b4  Don't  restart  processes  if the manager is not set to
315793           restart them
315794
315795       · PR #35133: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
315796         2016-08-02 18:06:18 UTC
315797
315798         · bf04bd3316 Merge pull request #35133 from rallytime/merge-2016.3
315799
315800         · 0d5f0b6016 Merge branch '2015.8' into '2016.3'
315801
315802         · 81845ee31d  Merge  pull  request  #35114 from terminalmage/git_pil‐
315803           lar-env-remap-docs
315804
315805           · 5951554e9f Add clarification docs on a common git_pillar  miscon‐
315806             figuration
315807
315808         · 88a9fb1b31       Merge      pull      request      #34768      from
315809           hrumph/bad-installed-state
315810
315811           · e1fcb8311d Put pkg.latest_version in  try/except  structure  Move
315812             refreshed or refresh to different spot (just for code tidyness)
315813
315814           · e0b6261659    changed    name    of   varibale   'refreshed'   to
315815             'was_refreshed'
315816
315817           · 340110b4b4 Move check for rtag to outermost-nesting in function
315818
315819           · ac67c6b493 Lint fix
315820
315821           · 0435a1375e Get rid of repetition in code by using new "refreshed"
315822             variable instead
315823
315824           · 3b1dc978e2 Lint fix
315825
315826           · a9bd1b92b9 lint fixes
315827
315828           · 71d69343ef Fixes #34767
315829
315830         · 343576408f     Merge    pull    request    #35043    from    rally‐
315831           time/new-release-notes
315832
315833           · bdcc81a384 Start release notes file for 2015.8.12
315834
315835       · PR #35120: (kstreee) The '_handle_event_socket_recv' function in Salt
315836         Api is missing first data of stream.  @ 2016-08-02 16:22:50 UTC
315837
315838         · dd91006ed7   Merge   pull  request  #35120  from  kstreee/fix-miss‐
315839           ing-first-stream-data
315840
315841         · 28f793caac Fix missing first data in stream when subscribing stream
315842           using a function 'read_async'.
315843
315844         · PR  saltstack/salt#35011:  (nishigori) Fix docstring for code-block
315845           of rst (refs: #35131)
315846
315847         · PR #35131: (rallytime) Back-port #35011 to 2016.3
315848
315849         · PR #35011: (nishigori) Fix docstring for code-block of  rst  (refs:
315850           #35131)
315851
315852       · PR  #35110:  (hu-dabao)  Do  not return job status back to master for
315853         master_alive and master_failback schedules @ 2016-08-02 07:49:46 UTC
315854
315855         · 77b1f43b0d   Merge   pull   request   #35110   from   hu-dabao/mas‐
315856           ter-check-lighter
315857
315858         · 3a3b66e27d  dont  return job status back to master for master_alive
315859           and master_failback schedules
315860
315861       · PR #35104: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
315862         2016-08-01 18:56:43 UTC
315863
315864         · 94a983f129 Merge pull request #35104 from rallytime/merge-2016.3
315865
315866         · dda2c32325 Merge branch '2015.8' into '2016.3'
315867
315868           · 848bf0272f  Merge pull request #35050 from terminalmage/fix-salt‐
315869             dev-arg
315870
315871             · 40cfa7cf17   Avoid   needlessly   running   2    argspecs    in
315872               salt.utils.format_call()
315873
315874             · fd186b7e4c  Pass  environment as 'saltdev' if runner/wheel func
315875               accepts a saltdev argument
315876
315877             · 951b52ab93  Pass  __env__  from  saltmod  orch  states  to   to
315878               saltutil.{runner,wheel}
315879
315880           · 2144178ae0 Merge pull request #35066 from jfindlay/postgres_log
315881
315882             · c2c442234f returners.postgres_local_cache: do not log in __vir‐
315883               tual__
315884
315885           · 7121618142   Merge   pull   request   #35024   from   bobrik/dae‐
315886             mon-reload-fix
315887
315888             · c300615e9d  Cache  systemd  unit  update check per unit, closes
315889               #34927
315890
315891           · 865c29f126 Expressly deny a minion  if  a  key  cannot  be  found
315892             instead of raising stacktrace (#35026)
315893
315894       · ISSUE  #32761:  (notpeter)  Ubuntu  16.04 Xenial Xerus Support (refs:
315895         #`saltstack/salt#33870`_)
315896
315897         · PR saltstack/salt#33870: (rallytime) Add note about Xenial packages
315898           to 2016.3.0 release notes (refs: #35105)
315899
315900       · PR  #35105: (rallytime) Update 2016.3.0 release notes with repo.salt‐
315901         stack.com Xenial pkg availability @ 2016-08-01 17:26:55 UTC
315902
315903         · 6c056a829e    Merge    pull    request    #35105    from     rally‐
315904           time/update-2016.3.0-release-notes
315905
315906         · fbaff3e98e  Update  2016.3.0  release notes with repo.saltstack.com
315907           Xenial pkg availability
315908
315909       · PR #35059: (vutny) Add fun_args field to events generated  by  execu‐
315910         tion of Master modules @ 2016-08-01 13:01:42 UTC
315911
315912         · 1f8a0fd1e7 Merge pull request #35059 from vutny/event-function-args
315913
315914         · 19d080445b  Add  fun_args field to events generated by execution of
315915           Master modules
315916
315917       · PR #34955: (lubyou) force  dism  to  always  output  english  text  @
315918         2016-08-01 12:54:03 UTC
315919
315920         · d137c4b986       Merge      pull      request      #34955      from
315921           lubyou/fix-dism-on-non-english-systems
315922
315923         · 63c974a3d0 add missing comma
315924
315925         · 775ea73578 fix unit tests
315926
315927         · 51869807f1 force dism to always output english text
315928
315929       · PR  #35078:  (jacobweinstock)  added  missing  non-keyword   argument
315930         skip_verify to __get_artifact func… @ 2016-08-01 12:22:47 UTC
315931
315932         · ff7ddf0b68  Merge pull request #35078 from jacobweinstock/fix-miss‐
315933           ing-non-keyword-argument
315934
315935         · c40314ba80  added  missing  non-keyword  argument  skip_verify   to
315936           __get_artifact function
315937
315938       · PR  #35008: (hu-dabao) Fix multimaster failover on more than two mas‐
315939         ters and failback behaviour @ 2016-07-29 16:34:37 UTC
315940
315941         · 878e200cd9 Merge pull request #35008 from hu-dabao/fix-multimaster
315942
315943         · 12da890910 Fix multimaster failover on more than  two  masters  and
315944           failback behaviour
315945
315946       · ISSUE  saltstack/salt#33536:  (murzick) pkgrepo.managed does not dis‐
315947         able a yum repo with "disabled: True" (refs: #35055)
315948
315949       · ISSUE #33536: (murzick) pkgrepo.managed does not disable a  yum  repo
315950         with "disabled: True" (refs: #35055)
315951
315952       · PR #35055: (galet) #33536 pkgrepo.managed does not disable a yum repo
315953         with "disabled: True" @ 2016-07-29 15:40:15 UTC
315954
315955         · 11ed147448 Merge pull request #35055 from galet/2016.3
315956
315957         · d70796bbfe #33536 pkgrepo.managed does not disable a yum repo  with
315958           "disabled: True"
315959
315960       · PR  #35039:  (whiteinge)  Add  saltenv  support  to module.run (refs:
315961         #35245) @ 2016-07-29 14:01:03 UTC
315962
315963         · ebaee39b2b  Merge   pull   request   #35039   from   whiteinge/mod‐
315964           ule-run-saltenv
315965
315966         · 7ef287e09e Add saltenv support to module.run
315967
315968       · PR  #35046:  (eliasp)  Prevent  backtrace  in  salt.states.network  @
315969         2016-07-29 13:59:09 UTC
315970
315971         · 32ed78a399      Merge      pull      request      #35046       from
315972           eliasp/2016.3-salt.states.network-prevent-backtrace
315973
315974         · 1542cd5124 Prevent backtrace in salt.states.network
315975
315976       · PR  #35054:  (lubyou)  Only fail user lookup is the user parameter is
315977         required @ 2016-07-29 13:58:41 UTC
315978
315979         · f34bb7a8de Merge pull request #35054 from  lubyou/fix-win_dacl-dis‐
315980           able_inheritance
315981
315982         · 1e4e856fb2 Only fail user lookup is the user parameter is required
315983
315984       · PR #35029: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
315985         2016-07-28 18:01:35 UTC
315986
315987         · bee303db51 Merge pull request #35029 from rallytime/merge-2016.3
315988
315989         · 65f9365ee0 Merge branch '2015.8' into '2016.3'
315990
315991         · 2b511f3013 Merge pull request #35000 from rallytime/bp-33875
315992
315993           · 35696ad637 Pylint fix
315994
315995           · f9fd6ddd8a Fixup #33875
315996
315997           · 56b1f6c651 Fix naive fileserver map diff algorithm
315998
315999         · 837bc6ba7d Merge pull request #34994 from rallytime/bp-34835
316000
316001           · 9268a793de same thing for the mine in salt-ssh
316002
316003           · 3e11e19714 Fix the mine in salt ssh
316004
316005         · PR #35021: (terminalmage) Don't add '.'  to  strerror  when  passed
316006           string ends in ? or !
316007
316008         · PR  #34983: (eliasp) modules.slack.post_message: Allow sending mes‐
316009           sages to direct-message …
316010
316011       · PR #34996: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
316012         2016-07-27 19:03:04 UTC
316013
316014         · 05cfb1cefc Merge pull request #34996 from rallytime/merge-2016.3
316015
316016         · a7d4f93697 Merge branch '2015.8' into '2016.3'
316017
316018           · b58c663d8d Merge pull request #34991 from cachedout/ssh_timeout
316019
316020             · 39cd8da399 Lint diff against salt-testing
316021
316022             · 443e5cdde2 Add timeout to ssh tests
316023
316024           · 5f8370ae8d Refine errors in client (#34976)
316025
316026           · a83cdf9339 Merge pull request #34831 from thatch45/recoverssh
316027
316028           · fa73041a49 If the thin does not match, then redeploy, don't error
316029
316030         · PR   #34987:   (eliasp)  salt.states.slack:  check  correct  result
316031           attribute
316032
316033       · ISSUE saltstack/salt#34526: (danielmotaleite) salt-ssh + mine = weird
316034         error (refs: #34835, #saltstack/salt`#34835`_)
316035
316036       · PR  #34835:  (thatch45)  Make the mine and publish combine minion and
316037         master opts in salt-ssh (refs: #34994) @ 2016-07-27 17:25:26 UTC
316038
316039         · edeb0eda36 Merge pull request #34835 from thatch45/34526_
316040
316041         · 1d2477df05 same thing for the mine in salt-ssh
316042
316043         · 6b6c5ff278 Fix the mine in salt ssh
316044
316045   Salt 2016.3.4 Release Notes
316046       Version 2016.3.4 is a bugfix release for 2016.3.0.
316047
316048   Statistics
316049       · Total Merges: 275
316050
316051       · Total Issue References: 119
316052
316053       · Total PR References: 374
316054
316055       · Contributors: 80 (BenoitKnecht, Ch3LL, DavidWittman,  DmitryKuzmenko,
316056         Jlin317,  Kimamisa,  UtahDave,  aaronm-cloudtek, abednarik, ahammond,
316057         alertedsnake, alexander-bauer, amontalban, basepi, bl4ckcontact, bx2,
316058         cachedout,   clarkperkins,   clinta,  cro,  damon-atkins,  danlsgiga,
316059         darkalia, dmurphy18, do3meli,  edhgoose,  efficks,  eliasp,  eradman,
316060         fix7,  galet,  goestin,  gtmanfred,  hrumph, hu-dabao, isbm, jackywu,
316061         jacobhammons, jbonachera, jf, jfindlay, jizhilong, justinta, kstreee,
316062         l2ol33rt,  lomeroe,  lorengordon,  maximeguillet,  meaksh, mikeadamz,
316063         mirceaulinic, morganwillcock, mrproper, multani,  nvtkaszpir,  oba11,
316064         onorua, opdude, orymate, oz123, pass-by-value, pbdeuchler, rallytime,
316065         roosri, silenius, skizunov, slinn0, stanislavb,  swiftgist,  techhat,
316066         terminalmage,   thatch45,   theredcat,   ticosax,   twangboy,  vutny,
316067         whiteinge, xbglowx, xiaoanyunfei, yhekma)
316068
316069   Known Issues
316070       The Salt Minion does not clean up files in  /tmp  when  rendering  tem‐
316071       plates.   This  potentially results in either running out of disk space
316072       or running out of inodes. Please see issue #37541 for more information.
316073       This  bug  was  fixed  with  PR  #37540, which will be available in the
316074       2016.3.5 release of Salt.
316075
316076       The release of the  bootstrap-salt.sh  script  that  is  included  with
316077       2016.3.4  release  has a bug in it that fails to install salt correctly
316078       for git installs using tags in the 2015.5 branch.   This  bug  has  not
316079       been fixed in the salt-bootstrap repository yet, but the previous boot‐
316080       strap release (v2016.08.16) does not contain this bug.
316081
316082   Changes
316083       · The disk.wipe execution module function has been modified so that  it
316084         correctly wipes a disk.
316085
316086       · Add ability to clone from a snapshot to the VMWare salt-cloud driver.
316087
316088       · Add  ability  to  specify  disk backing mode in the VMWare salt cloud
316089         profile.
316090
316091   Changelog for v2016.3.3..v2016.3.4
316092       Generated at: 2018-05-27 04:56:54 UTC
316093
316094       · PR #37285: (rallytime) Update 2016.3.4 release notes
316095
316096       · ISSUE #37281: (frogunder) 2016.3.4: Raet Transport not working (refs:
316097         #37282)
316098
316099       · PR  #37282: (thatch45) add cpub to raet event for compat @ 2016-10-27
316100         21:33:48 UTC
316101
316102         · 3b62a89e45 Merge pull request #37282 from thatch45/raet_cpub
316103
316104         · 90f778dbc1 Add func for compat with main event system
316105
316106         · 8e52f425e4 add cpub to raet event for compat
316107
316108         · PR #37278: (jfindlay) update 2016.3.4 release notes
316109
316110       · PR #37252: (vutny) Set logging level to 'info' for message about init
316111         system detection @ 2016-10-27 06:15:01 UTC
316112
316113         · d0ce3de50c    Merge    pull    request   #37252   from   vutny/sup‐
316114           press-init-grain-error
316115
316116         · 3f20cc01ed Set logging level to 'info' for message about init  sys‐
316117           tem detection
316118
316119         · PR  #37259:  (rallytime)  [2016.3]  Update man pages for the 2016.3
316120           branch
316121
316122       · PR #37257: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
316123         2016-10-26 17:32:36 UTC
316124
316125         · 2087cfce90 Merge pull request #37257 from rallytime/merge-2016.3
316126
316127         · 2066f10d7b Merge branch '2015.8' into '2016.3'
316128
316129           · f49ccdf30f Merge pull request #37234 from rallytime/bp-37167
316130
316131             · a7dbb5bfc9 fixes pkgrepo for fedora>22 saltstack/salt#31240
316132
316133       · ISSUE  #37238:  (cmclaughlin) Restarting master causes minion to hang
316134         (refs: #37254)
316135
316136       · ISSUE #37192: (Ch3LL) 2016.3.4: Windows minion does not kill  process
316137         running in foreground (refs: #37254)
316138
316139       · ISSUE  #37191:  (Ch3LL)  2016.3.4: Multi-Master Failover minion hangs
316140         when masters not running (refs: #37254)
316141
316142       · ISSUE #35480:  (jelenak)  200  processes  of  salt-master  (2016.3.2)
316143         (refs: #36184, #36555, #37254)
316144
316145       · PR  #37254:  (DmitryKuzmenko)  Bugs/37191  minion  hangs @ 2016-10-26
316146         16:28:41 UTC
316147
316148         · ea6155c3f4   Merge   pull   request   #37254    from    DSRCorpora‐
316149           tion/bugs/37191_minion_hangs
316150
316151         · 9ee24b2d70  Revert  "Don't  set  the  daemon  flag for LoggingQueue
316152           process."
316153
316154       · ISSUE #37187: (darkalia) Supervisord is considered  as  "systemd"  in
316155         grains (refs: #37218)
316156
316157       · PR #37218: (darkalia) Issue #37187 Do not parse first /proc/1/cmdline
316158         binary if it's not b… @ *2016-10-26 01:41:03 UTC
316159
316160         · d1a6bb72ac Merge pull request #37218  from  darkalia/37187_supervi‐
316161           sor_2016.3
316162
316163         · a8dfc6bb96  Issue  #37187 Do not parse first /proc/1/cmdline binary
316164           if it's not *bin/init and set supervisord
316165
316166       · PR #37239: (Ch3LL) Fix cloud tests timeout @ 2016-10-26 01:11:52 UTC
316167
316168         · 760ed9f56d Merge pull request #37239 from Ch3LL/fix_cloud_timeout
316169
316170         · 394fccf556 fix run_cloud timeout
316171
316172         · 23947c5944 change timeout for cloud tests
316173
316174       · PR #37244: (rallytime)  Update  bootstrap  release  to  2016.10.25  @
316175         2016-10-26 00:46:29 UTC
316176
316177         · 6c5f619398  Merge  pull  request #37244 from rallytime/update-boot‐
316178           strap
316179
316180         · f728a5bc7b Update bootstrap release to 2016.10.25
316181
316182         · PR saltstack/salt#36334: (pass-by-value)  Add  ability  to  specify
316183           disk backing mode for VMware cloud profile (refs: #37245)
316184
316185       · PR  #37245:  (rallytime)  Back-port  #36334  to  2016.3  @ 2016-10-26
316186         00:41:00 UTC
316187
316188         · PR #36334: (pass-by-value) Add ability to specify disk backing mode
316189           for VMware cloud profile (refs: #37245)
316190
316191         · bb7caf8c42 Merge pull request #37245 from rallytime/bp-36334
316192
316193         · f64ca3c442 Update release notes and version added
316194
316195         · 0a3d266d6b  Add  ability  to  specify  disk backing mode for VMware
316196           cloud profile
316197
316198       · ISSUE #37132: (bl4ckcontact) Incorrect flag defined for disabling  AD
316199         computer account in win_system.py (refs: #37154)
316200
316201       · PR  #37233:  (rallytime)  Back-port  #37154  to  2016.3  @ 2016-10-25
316202         18:32:56 UTC
316203
316204         · PR #37154: (bl4ckcontact) modules.win_system.py: Fix flag disabling
316205           AD Computer objects (refs: #37233)
316206
316207         · 3c94315d35 Merge pull request #37233 from rallytime/bp-37154
316208
316209         · 849af162f1  modules.win_system.py:  Fix  flag disabling AD Computer
316210           objects
316211
316212       · PR #37232:  (rallytime)  Back-port  #37153  to  2016.3  @  2016-10-25
316213         18:32:41 UTC
316214
316215         · PR  #37153:  (eradman)  Update  configuration  examples  for Joyent
316216           (refs: #37232)
316217
316218         · 94852f2eb1 Merge pull request #37232 from rallytime/bp-37153
316219
316220         · 3829b7592f Update configuration examples for Joyent
316221
316222       · PR #37228: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
316223         2016-10-25 18:22:57 UTC
316224
316225         · a913eed92a Merge pull request #37228 from rallytime/merge-2016.3
316226
316227         · b99d6733b6 Merge branch '2015.8' into '2016.3'
316228
316229         · d608465d77       Merge      pull      request      #37178      from
316230           isbm/isbm-fix-saltapi-ssh-crash
316231
316232           · 44da411c3a Do not prematurily raise an exception,  let  the  main
316233             loop take care of it instead
316234
316235           · ee48deeded Do not restart the whole thing if roster is not around
316236
316237           · b8f4e46920 Fix PEP8
316238
316239       · PR  #37213:  (cachedout) More salttesting fixes @ 2016-10-25 07:53:33
316240         UTC
316241
316242         · 6aaf6bf399 Merge pull request #37213 from  cachedout/more_salttest‐
316243           ing_fixes
316244
316245         · 0bbf06bd86 Lint fix
316246
316247         · f609917760 Workaround for utils
316248
316249         · a6a24c2b3b Workaround for tornado test startup error
316250
316251         · 88bcfa2c0a Fix TCP test
316252
316253       · ISSUE  #37194:  (sjorge)  function_cache in modules.mine docs? (refs:
316254         #37207)
316255
316256       · PR #37207: (cachedout) Correct  documentation  for  mine_functions  @
316257         2016-10-25 07:25:09 UTC
316258
316259         · b448455c31 Merge pull request #37207 from cachedout/issue_37194
316260
316261         · 9fcdf6da94 Correct documentation for mine_functions
316262
316263       · ISSUE  #37182: (Ch3LL) 2016.3.4: multi-master minion stack trace when
316264         killed with ctrl+c (refs: #37208)
316265
316266       · PR #37208: (cachedout) Give multimion a process manager and  its  own
316267         destroy method @ 2016-10-25 07:24:52 UTC
316268
316269         · a5e1c041cc Merge pull request #37208 from cachedout/issue_37182
316270
316271         · 1449770b0b  Give  multimion  a  process manager and its own destroy
316272           method
316273
316274       · PR #37206: (cachedout)  Address  transport  test  hang  @  2016-10-25
316275         05:25:55 UTC
316276
316277         · e19ee88b6b   Merge   pull   request  #37206  from  cachedout/trans‐
316278           port_test_hang
316279
316280         · c4393d5e9e Address transport test hang
316281
316282       · PR #37179: (isbm)  Fix  Salt-API  ssh  crash  (2016.3)  @  2016-10-25
316283         04:52:19 UTC
316284
316285         · 6737fd3ad9       Merge      pull      request      #37179      from
316286           isbm/isbm-fix-saltapi-ssh-crash-2016-3
316287
316288         · 28edda457e Do not prematurily raise an exception, let the main loop
316289           take care of it instead
316290
316291         · 372f2bbd93 Do not restart the whole thing if roster is not around
316292
316293         · 8d1450cc47 Fix PEP8
316294
316295       · ISSUE  saltstack/salt#37176:  (guettli) docs for "load tags" explains
316296         "import_yaml" (refs: #37183)
316297
316298       · PR #37183: (gtmanfred) load tags should  reference  the  actual  load
316299         tags @ 2016-10-25 04:38:00 UTC
316300
316301         · 815dfd1c04 Merge pull request #37183 from gtmanfred/2016.3
316302
316303         · 1b7b4b1a0c load tags should reference the actual load tags
316304
316305       · PR #37188: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
316306         2016-10-25 04:37:26 UTC
316307
316308         · ca63376c97 Merge pull request #37188 from rallytime/merge-2016.3
316309
316310         · ccb664050d Merge branch '2015.8' into '2016.3'
316311
316312         · b3e79dcd51 Merge pull  request  #37139  from  awerner/fix-spm-down‐
316313           load-remote-download
316314
316315           · a606a42575 Minor style change
316316
316317           · e3916813bb  Download  spm package from remote repository and save
316318             it to cache directory
316319
316320         · 35b4494157 Merge pull request #37162 from rallytime/bp-36823
316321
316322           · 3032a542d9 Use NotifyAccess=all in all unit files
316323
316324           · 4826995973 Remove EnvironmentFile and  Restart  lines  from  unit
316325             files
316326
316327           · 3be15694d2 Use Type=notify for debian systemd units
316328
316329           · d58fda6f67 Use control-group default for killmode
316330
316331         · PR #37186: (rallytime) Pylint fix for 2016.3
316332
316333         · PR #37175: (cachedout) Fix test hang (refs: #37186)
316334
316335       · PR  #37175:  (cachedout)  Fix  test  hang (refs: #37186) @ 2016-10-24
316336         09:55:37 UTC
316337
316338         · 0d7af935e5 Merge pull request #37175 from cachedout/fix_test_hange
316339
316340         · 0fecb5ff2e Remove sleep. Thanks @s0undt3ch
316341
316342         · cedc609503 Fix test suite hang on salt testing
316343
316344       · ISSUE #36866: (sjorge) [2016.11.0rc1] salt-master <> salt-minion com‐
316345         munication borken due to master_alive_interval (refs: #37144, #37117,
316346         #37142)
316347
316348       · PR #37144: (DmitryKuzmenko) Bugs/36866 salt minion communication bro‐
316349         ken 2016.3 @ 2016-10-24 03:19:06 UTC
316350
316351         · PR   #37142:   (DmitryKuzmenko)   status.master:   don't   fail  if
316352           host_to_ips returns None (refs: #37144)
316353
316354         · PR #37117: (DmitryKuzmenko) Updated host_to_ip to  return  all  the
316355           IPs instead of the first one. (refs: #37144, #37142)
316356
316357         · 334313ec64    Merge    pull   request   #37144   from   DSRCorpora‐
316358           tion/bugs/36866_salt-minion_communication_broken_2016.3
316359
316360         · 87c2e93e40 Don't fail if host_to_ips returns None.
316361
316362         · f625e6d3a9 Updated host_to_ip to return all the IPs instead of  the
316363           first one.
316364
316365       · PR  #37158:  (jfindlay)  add  mock for status.uptime unit test (refs:
316366         #37157) @ 2016-10-24 03:13:53 UTC
316367
316368         · PR #37157:  (jfindlay)  Implement  status.uptime  on  macOS  (refs:
316369           #37158)
316370
316371         · c5d81a8ade Merge pull request #37158 from jfindlay/mac_skip_uptime
316372
316373         · 094eac06eb modules.status.uptime unit test: mock on linux
316374
316375       · ISSUE  #37037: (mikeadamz) schedule state always reports changed when
316376         running in highstate (refs: #37098)
316377
316378       · PR #37161:  (rallytime)  Back-port  #37098  to  2016.3  @  2016-10-24
316379         03:13:14 UTC
316380
316381         · PR  #37098:  (mikeadamz)  Add  run_on_start to SCHEDULE_CONF (refs:
316382           #37161)
316383
316384         · e51f90b459 Merge pull request #37161 from rallytime/bp-37098
316385
316386         · 36bc2a1ded Add run_on_start to SCHEDULE_CONF
316387
316388       · PR #37159:  (rallytime)  Back-port  #37107  to  2016.3  @  2016-10-22
316389         13:55:47 UTC
316390
316391         · PR  #37107:  (do3meli)  use versionadded and deprecated warnings in
316392           apache_module (refs: #37159)
316393
316394         · b5025c044e Merge pull request #37159 from rallytime/bp-37107
316395
316396         · c63126a2f0 removed trailing whitespaces in apache_module.py
316397
316398         · a812cbfea7 use versionadded and deprecated warnings in  apache_mod‐
316399           ule
316400
316401       · PR #37163: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
316402         2016-10-22 13:52:37 UTC
316403
316404         · 1e520b3f48 Merge pull request #37163 from rallytime/merge-2016.3
316405
316406         · 8fff95b3b4 Merge branch '2015.8' into '2016.3'
316407
316408         · a5335a2f15 Merge pull request #37137 from awerner/fix-spm-msgpack
316409
316410           · 52d47cece9 SPM-METADATA are now loaded as yaml from remote URLs
316411
316412         · 8c46d69251 Merge pull  request  #37109  from  meaksh/zypper-distup‐
316413           grade-support-2015.8
316414
316415           · 330f830c9b Disables 'novendorchange' for old SLEs versions
316416
316417           · 01b0a6917c Minor pylint fixes
316418
316419           · 7dbb0bd252 Unit tests fixes
316420
316421           · e89982b6d2 Improves 'dryrun' outputting. Setting 'novendorchange'
316422             as not supported for SLE11
316423
316424           · c5a34cbadf  Adds  multiple  repositories  support  to  'fromrepo'
316425             parameter
316426
316427         · 38fdd28962 Merge pull request #37087 from vutny/gpg-fix-short-keyid
316428
316429           · c589cba8a9 salt.modules.gpg: allow getting keys by short key ID
316430
316431         · 3a37a22366  Merge  pull  request  #37088 from meaksh/zypper-distup‐
316432           grade-support-2015.8
316433
316434           · c0641a4027 Fix in log message
316435
316436           · a092a974da Refactor: Cleanup and pylint fixes
316437
316438           · 1331ae5c72 Unit tests for zypper upgrade and dist-upgrade
316439
316440           · 4bcfef2ba2 Adding 'dist-upgrade' support to zypper module
316441
316442         · 2f29e9e956 Merge  pull  request  #37090  from  zer0def/silence-pre‐
316443           req-supervisord-warnings
316444
316445           · 6a4bfbb485  Silence  warnings  about  "__prerequired__"  being an
316446             invalid kwarg when using prereq. (no refs)
316447
316448         · PR #37150: (rallytime) Allow the minion test daemons  a  couple  of
316449           tries to connect to the master
316450
316451         · PR  #37152:  (rallytime)  Add note about salt-bootstrap known issue
316452           for 2016.3.4
316453
316454       · PR  #37135:  (aaronm-cloudtek)  Fix   example   signing   policy   in
316455         salt.states.x509 docs @ 2016-10-21 11:45:24 UTC
316456
316457         · 8de7b39b5e Merge pull request #37135 from Cloudtek/x509-docs-fix
316458
316459         · ce87f7311b Fix example signing policy in salt.states.x509 docs
316460
316461       · PR    #37140:   (vutny)   pkgbuild.repo:   fix   GPG   signing   with
316462         use_passphrase=False @ 2016-10-21 09:37:54 UTC
316463
316464         · 41ae90d3c3   Merge   pull   request    #37140    from    vutny/pkg‐
316465           build-repo-sign-with-no-passphrase
316466
316467         · 409a3100a7 pkgbuild.repo: fix GPG signing with use_passphrase=False
316468
316469       · PR  #37071:  (vutny) pkgbuild.repo: add timeout parameter for waiting
316470         passphrase prompt @ 2016-10-21 05:20:26 UTC
316471
316472         · 96a1292a7e   Merge   pull   request    #37071    from    vutny/pkg‐
316473           build-repo-gpg-sign-timeout
316474
316475         · cfc3a0ed92   pkgbuild.repo:   add  timeout  parameter  for  waiting
316476           passphrase prompt
316477
316478       · ISSUE saltstack/salt#31454: (johje349) Salt Mine memory  leak  (refs:
316479         #36024)
316480
316481       · ISSUE #37018: (tsaridas) get events from python (refs: #37115)
316482
316483       · ISSUE #31454: (johje349) Salt Mine memory leak (refs: #36720)
316484
316485       · PR  #37115:  (DmitryKuzmenko)  Backport/36720  fix  race  condition @
316486         2016-10-21 05:16:15 UTC
316487
316488         · PR #36720: (skizunov) Fix race condition when returning events from
316489           commands (refs: #37115)
316490
316491         · PR  #36024:  (DmitryKuzmenko) Don't subscribe to events if not sure
316492           it would read them. (refs: #36720)
316493
316494         · 274120300d Merge  pull  request  #37115  from  DSRCorporation/back‐
316495           port/36720_fix_race_condition
316496
316497         · d7e3209e13 For IPCClient, remove entry from instance map on close
316498
316499         · 82e27634a7 Fix race condition when returning events from commands
316500
316501       · PR  #37119:  (jfindlay)  log.setup:  only  assign  user  if defined @
316502         2016-10-21 05:14:55 UTC
316503
316504         · PR #36203: (xiaoanyunfei) fix owner of  MultiprocessingLoggingQueue
316505           (refs: #37119)
316506
316507         · 169a82e62b Merge pull request #37119 from jfindlay/log_proc_user
316508
316509         · 8c29949a0e log.setup: only assign user if defined
316510
316511         · 1d503f032c tests.integration: pass opts as a dict
316512
316513         · PR #37126: (Ch3LL) fix digital ocean image name in profile
316514
316515         · PR #37125: (jfindlay) add 2016.3.4 release notes
316516
316517       · PR  #37120:  (rallytime)  Back-port  #36246  to  2016.3  @ 2016-10-20
316518         19:38:32 UTC
316519
316520         · PR #36418: (rallytime) Back-port #36246 to 2016.3 (refs: #37120)
316521
316522         · PR #36246: (twangboy) Fix test_issue_6833_pip_upgrade_pip  test  on
316523           OS X (refs: #36418, #37120)
316524
316525         · 2a35f57be8 Merge pull request #37120 from rallytime/bp-36246
316526
316527         · f1c8d98119 Skip weird_install test on Mac OS X
316528
316529         · 90de794290 Fix test_issue_6833_pip_upgrade_pip test on OSX
316530
316531       · PR    #37103:    (cachedout)    Remove    unnecessary    sleep   from
316532         unit.utils.process_test.TestProcessMana… @ 2016-10-20 08:45:07 UTC
316533
316534         · 0b87e7890a Merge pull request #37103 from cachedout/fix_proc_test
316535
316536         · d7aebd1877       Remove        unnecessary        sleep        from
316537           unit.utils.process_test.TestProcessManager.test_restarting
316538
316539       · PR  #36823:  (terminalmage)  Update  debian systemd unit files to use
316540         default KillMode, Type=notify (refs: #37162)  @  2016-10-20  05:54:42
316541         UTC
316542
316543         · PR  #36806: (l2ol33rt) Deb systemd should use control-group default
316544           for killmode (refs: #36823)
316545
316546         · 326bbd5e30 Merge pull request #36823 from terminalmage/pr-36806
316547
316548         · fb6e545f78 Use NotifyAccess=all in all unit files
316549
316550         · 0ccf789172 Remove EnvironmentFile and Restart lines from unit files
316551
316552         · ddd44e9b13 Use Type=notify for debian systemd units
316553
316554         · 036d73f31b Use control-group default for killmode
316555
316556       · PR #37030: (isbm) Fix status.uptime for Solaris  9,  10  and  11.   @
316557         2016-10-20 05:52:53 UTC
316558
316559         · 0c40e71e17  Merge  pull  request #37030 from isbm/isbm-solaris-sta‐
316560           tus-fix
316561
316562         · 7d7b5ef9a9 Lintfix: E8303 too many blank lines
316563
316564         · c11940d14c Fix status.uptime for Solaris 9, 10 and 11.
316565
316566       · PR #37101: (rallytime) [2016.3] Merge forward from 2016.3 to carbon @
316567         2016-10-20 05:39:24 UTC
316568
316569         · eb88c73222 Merge pull request #37101 from rallytime/merge-2016.3
316570
316571         · b445a5e579 Merge branch '2015.8' into '2016.3'
316572
316573         · 68eeb29783  Add  warning about GitPython 2.0.9 incompatibility with
316574           Python 2.6 (#37099)
316575
316576         · 39d59ab0df Merge pull request #36880 from vutny/cp-get-salt-url
316577
316578           · d1ab98b459 cp.get_url: update usage doc and add tests for file://
316579             URL with dest=None
316580
316581           · c7cf79e959  cp.get_url:  add  note and test for https:// URL with
316582             dest=None
316583
316584           · ff55f77179 cp.get_url: write more verbose docstring
316585
316586           · 94a34a08ba cp.get_url: add integration tests
316587
316588           · 983f82fcf4 cp.get_url: fix variable type check
316589
316590           · b33f4d7b93 cp.get_url: log error message  if  no  file  could  be
316591             fetched from salt:// URL
316592
316593           · 99cf3038cc cp.get_url: fix dest=None behaviour with salt:// URL
316594
316595       · PR  #36958: (twangboy) Fix bug where cmd.powershell fails to return @
316596         2016-10-19 16:03:58 UTC
316597
316598         · 8d44efed78 Merge pull request #36958  from  twangboy/fix_cmd_power‐
316599           shell
316600
316601         · 427be7b422 Add versionadded
316602
316603         · d8e0e0e482 Fix missing comma
316604
316605         · 7b46d04a84 Add note about increased completion times
316606
316607         · 9365581a36 Clarify docs, add depth option
316608
316609       · PR  #37086:  (cachedout)  Make  salt-call  a  first-class citizen for
316610         multi-master @ 2016-10-19 15:19:09 UTC
316611
316612         · beb54b3ffa Merge pull request #37086 from cachedout/mm_req
316613
316614         · 7dc15c1a48 Lint utils
316615
316616         · 9bbe3c998b Lint error in publish
316617
316618         · e22a3d2be6 Add multi-master support to publish.publish
316619
316620         · 7f141ba38c Add function to search for substr in list
316621
316622         · 007eef84d7 Extend support to event.fire_master
316623
316624         · 8171c73b00 Multi-master support for salt-call
316625
316626       · ISSUE #36814: (martin-helmich) x509.create_csr  creates  invalid  CSR
316627         (refs: #36898)
316628
316629       · PR #36898: (clinta) X509 fixes @ 2016-10-19 03:03:43 UTC
316630
316631         · 6b94153ea6 Merge pull request #36898 from clinta/x509-fixes
316632
316633         · e732fe7725 fix docs on CSR state
316634
316635         · 9b6f1a336c fix quotes and remove dependency on pkg_resources
316636
316637         · eb4433d1ae return early if there are no requested extensions in the
316638           csr
316639
316640         · d00cf8ef87 allow specifying digest for crl
316641
316642         · dd50705e58 fix #36814
316643
316644       · ISSUE #34872: (cbuechler) "Minion did  not  return"  executing  state
316645         with long running command, 2016.3 regression (refs: #37025)
316646
316647       · PR  #37025:  (cro) Make salt.utils.minion._check_cmdline work on OSes
316648         without /proc.  @ 2016-10-19 03:00:10 UTC
316649
316650         · a32b8cd741 Merge pull request #37025 from cro/freebsd_no_proc
316651
316652         · 1ac87e0efd Make salt.utils.minion._check_cmdline work on OSes with‐
316653           out /proc.
316654
316655       · PR  #37050:  (twangboy)  Fix  service state for Windows (DO NOT MERGE
316656         FORWARD) @ 2016-10-19 02:46:27 UTC
316657
316658         · PR #36923: (twangboy) Fix service state for Windows (refs: #37050)
316659
316660         · e09d9f85c5 Merge pull  request  #37050  from  twangboy/fix_win_ser‐
316661           vice_state
316662
316663         · b3b688e298 Fix tests
316664
316665         · 1e1ee786c9 Set service to manual if disabled on start
316666
316667         · PR saltstack/salt#29322: (mrproper) add http proxy support for tor‐
316668           nado (refs: #37076)
316669
316670       · PR #37076: (jfindlay) Document proxy settings @  2016-10-19  02:30:27
316671         UTC
316672
316673         · 5e998638a4 Merge pull request #37076 from jfindlay/proxy_doc
316674
316675         · 7328df68f5 doc.topic.tutorials.http.query: add proxy section
316676
316677         · 331072b35d doc.topic.tutorials.http.query: add subheadings
316678
316679         · 478def4923 doc.ref.configuration.minion: add proxy vars
316680
316681       · ISSUE  #37001:  (phil123456) URGENT : archive.extracted does not work
316682         anymore (refs: #37081)
316683
316684       · PR #37081: (terminalmage) Fix  archive.extracted  remote  source_hash
316685         verification @ 2016-10-19 02:22:22 UTC
316686
316687         · 9ec366833e Merge pull request #37081 from terminalmage/issue37001
316688
316689         · a3c4deeb82 Fix archive.extracted remote source_hash verification
316690
316691       · ISSUE #35097: (jwhite530) Minions die with "un-handled exception from
316692         the multiprocessing process" (refs: #37064)
316693
316694       · PR #37064: (cachedout) Unify job  check  in  scheduler  @  2016-10-19
316695         02:08:06 UTC
316696
316697         · 67faee1f94 Merge pull request #37064 from cachedout/issue_35097
316698
316699         · 980ba892c9 Unify job check in scheduler
316700
316701       · PR #37072: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
316702         2016-10-18 15:23:17 UTC
316703
316704         · 7ef10f6de6 Merge pull request #37072 from rallytime/merge-2016.3
316705
316706         · 78a144f19a Merge branch '2015.8' into '2016.3'
316707
316708         · 7dd91c2880    Merge    pull    request    #37053    from     rally‐
316709           time/update-fedora-install-docs
316710
316711           · 24e0f5e024 Update the Fedora installation docs
316712
316713         · 4eb0a89b7c remove options from pylint (#37054)
316714
316715       · PR  #37049:  (terminalmage)  Further clarification on new grains docs
316716         from #37028 @ 2016-10-18 01:47:57 UTC
316717
316718         · PR #37028: (damon-atkins) Update topics/grains doco, about  consid‐
316719           erations before adding a Grain (refs: #37049)
316720
316721         · 71fd01ab8d Merge pull request #37049 from terminalmage/grains-docs
316722
316723         · 854586c6a4 Add one more paragraph
316724
316725         · a0502a7b90 Restructure grain writing docs
316726
316727         · 4e419e90ac Further clarification on new grains docs from #37028
316728
316729       · ISSUE  saltstack/salt#18419:  (jasonrm)  salt-cloud  fails  to run as
316730         non-root user (refs: #35483)
316731
316732       · ISSUE #34806: (jerrykan)  salt-cloud  ignores  sock_dir  when  firing
316733         event (refs: #35483)
316734
316735       · PR #37057: (rallytime) [2016.3] Update salt.utils.cloud references to
316736         __utils__ for cache funcs @ 2016-10-18 01:31:43 UTC
316737
316738         · PR #35483: (gtmanfred) use __utils__ in salt.cloud  (refs:  #35855,
316739           #37057, #36070)
316740
316741         · 9a6671ce69     Merge    pull    request    #37057    from    rally‐
316742           time/cloud-utils-cleanup
316743
316744         · d0dc7d4e55 [2016.3] Update salt.utils.cloud references to __utils__
316745           for cache funcs
316746
316747       · PR  #36977:  (twangboy)  Remove  whitespace  from  string  commands @
316748         2016-10-17 22:32:03 UTC
316749
316750         · f8cd7b7b28 Merge pull request #36977 from twangboy/fix_cmd_run
316751
316752         · 6586050736 Move strip to powershell block, add -NoProfile
316753
316754       · PR #37048: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
316755         2016-10-17 16:05:48 UTC
316756
316757         · 9378b22d80 Merge pull request #37048 from rallytime/merge-2016.3
316758
316759         · 5efd6d3df9 Merge branch '2015.8' into '2016.3'
316760
316761         · 7f5aced50e   Merge   pull   request  #36972  from  zer0def/supervi‐
316762           sor-state-fixes
316763
316764           · 53801c6e80 Mitigates failure reports when making sure an existing
316765             supervisor process group is running, despite success.
316766
316767         · 4e2ad07b0f  Prevent  source  files  in  /tmp  from being deleted by
316768           file.managed states (#37023)
316769
316770         · 4e9824a65e args does not always exist (#37019)
316771
316772       · PR #37028: (damon-atkins) Update topics/grains doco, about considera‐
316773         tions before adding a Grain (refs: #37049) @ 2016-10-17 09:54:21 UTC
316774
316775         · 104a153a1f  Merge pull request #37028 from damon-atkins/update_top‐
316776           ics_grains_doco
316777
316778         · 01e83a715e doc/topics/grains Update doco on when a grain should  be
316779           created
316780
316781         · a0e1fcc951  Add  information  to  consider before adding a Grain to
316782           doco's for Grains
316783
316784       · PR #37012: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
316785         2016-10-14 18:07:03 UTC
316786
316787         · c30656814d Merge pull request #37012 from rallytime/merge-2016.3
316788
316789         · a7c9a72104 Merge branch '2015.8' into '2016.3'
316790
316791         · c6254d59fd Merge pull request #36807 from terminalmage/issue36723
316792
316793           · 7d60e73308 Fix pillar merging when ext_pillar_first is enabled
316794
316795         · e2bc94b029 cp.get_file_str: do not fail if file not found (#36936)
316796
316797       · ISSUE #34397: (jaredhanson11) ignore_epoch needs to be passed through
316798         to version_cmp functions (refs: #34531)
316799
316800         · PR #37007: (skizunov) opkg: Support ignore_epoch argument  in  ver‐
316801           sion comparisons
316802
316803         · PR  #34531: (terminalmage) Support ignore_epoch argument in version
316804           comparisons (refs: #37007)
316805
316806       · PR #36808: (gtmanfred) allow for  closing  stuff  in  beacons  (refs:
316807         #36835) @ 2016-10-14 15:50:09 UTC
316808
316809         · 8b3e65448d Merge pull request #36808 from gtmanfred/beacons
316810
316811         · 727d4f309a allow for closing stuff in beacons
316812
316813         · PR #36993: (terminalmage) Make helper funcs private
316814
316815       · ISSUE  #27316:  (efficks)  Extracted  state with zip format failed on
316816         Windows (refs: #27317)
316817
316818       · ISSUE #27207: (PredatorVI)  archive.extracted  state  not  preserving
316819         file permissions (refs: #33906)
316820
316821       · ISSUE  #26569: (ssgward) Add support for password-protected zip files
316822         in archive.extracted on Windows (refs: #31116)
316823
316824       · ISSUE #23822: (sidcarter) Zip file extracted permissions  are  incor‐
316825         rect (refs: #25128)
316826
316827         · PR saltstack/salt#36539: (jfindlay) Prefer archive.cmd_unzip (refs:
316828           #`saltstack/salt`#36648`_`_, #36648)
316829
316830       · PR #36986: (jfindlay)  modules.archive.unzip:  zipfile  is  stdlib  @
316831         2016-10-13 21:38:00 UTC
316832
316833         · PR  #36648: (jfindlay) Integration tests for archive execution mod‐
316834           ule (refs: #36986)
316835
316836         · PR #33906:  (lomeroe)  Archive  unzip  permissions  (refs:  #36539,
316837           #saltstack/salt`#36539`_)
316838
316839         · PR #31116: (UtahDave) Add password support for zip files in archive
316840           module and state (refs: #36539, #saltstack/salt`#36539`_)
316841
316842         · PR #27764: (basepi) Merge forward from  2015.8  to  develop  (refs:
316843           #36539, #saltstack/salt`#36539`_)
316844
316845         · PR  #27317:  (efficks) State unzip should use unzip command instead
316846           of unzip_cmd. (refs: #36539, #saltstack/salt`#36539`_)
316847
316848         · PR #25128:  (stanislavb)  Use  cmd_unzip  to  preserve  permissions
316849           (refs: #36539, #saltstack/salt`#36539`_)
316850
316851         · a75761de87 Merge pull request #36986 from jfindlay/arch_test
316852
316853         · 2ec2684860 modules.archive.unzip: zipfile is stdlib
316854
316855       · ISSUE  #36422:  (rippiedoos)  No error Reporting for (yum)pkg.upgrade
316856         (refs: #`saltstack/salt#36450`_)
316857
316858         · PR saltstack/salt#36980: (rallytime) Skip pkg.upgrade test  if  pkg
316859           install/upgrade has problems (refs: #36981)
316860
316861         · PR  saltstack/salt#36450:  (terminalmage) Normalize pkg.upgrade and
316862           raise  CommandExecutionError  on  failure  (refs:  #36981,  #`salt‐
316863           stack/salt#36980`_)
316864
316865       · PR  #36981:  (rallytime) Skip pkg.upgrades test on distros other that
316866         Suse in 2016.3 @ 2016-10-13 21:29:36 UTC
316867
316868         · c7595b84a7    Merge    pull    request    #36981    from     rally‐
316869           time/upgrades-test-fix
316870
316871         · a5ae737057  Skip  pkg.upgrades  test  on distros other that Suse in
316872           2016.3
316873
316874       · ISSUE #36671:  (wrigtim)  systemd.py  available()  breaks  on  latest
316875         LSB-compliant versions of systemd (refs: #36755)
316876
316877       · PR  #36755:  (terminalmage)  systemd.py:  check  retcode  for service
316878         availability in systemd >= 231 @ 2016-10-13 19:41:50 UTC
316879
316880         · 6b782c15e1 Merge pull request #36755 from terminalmage/issue36671
316881
316882         · d916c2b49c Handle cases where retcode/output feature is backported
316883
316884         · b3364646ad Update systemd module unit tests
316885
316886         · a2439acbc9 systemd.py: check retcode for  service  availability  in
316887           systemd >= 231
316888
316889       · ISSUE  #36746:  (Ch3LL) Carbon: When killing a job jid output missing
316890         (refs: #36750)
316891
316892       · PR #36750: (terminalmage) Add the CLI client and  pub_data  as  class
316893         attributes @ 2016-10-13 19:38:33 UTC
316894
316895         · 10d255c511 Merge pull request #36750 from terminalmage/issue36746
316896
316897         · 0e7c600e02 Only display Ctrl-c message on SIGINT
316898
316899         · 9025be48c5  Include  the jid (when available) in SystemExit message
316900           on Ctrl-c
316901
316902         · 9c9f1f620b Add the CLI client and pub_data as class attributes
316903
316904       · ISSUE #36240: (hrumph) win_certutil add_store  state  not  installing
316905         certificates (refs: #36241)
316906
316907       · PR #36241: (hrumph) Fixes #36240 @ 2016-10-12 23:28:35 UTC
316908
316909         · 3ac9ced202 Merge pull request #36241 from hrumph/cert_problem
316910
316911         · 51230fc263 Merge pull request #1 from rallytime/pr-36241
316912
316913           · 32846794c8 Update mocks for failing tests in win_certutil_test
316914
316915         · b26578d1ac Fixes #36240
316916
316917       · PR #36950: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
316918         2016-10-12 20:57:41 UTC
316919
316920         · c1f84388d6 Merge pull request #36950 from rallytime/merge-2016.3
316921
316922         · 1d3ce45ac0 Merge branch '2015.8' into '2016.3'
316923
316924           · 2ccc44f314   Merge    pull    request    #36914    from    rally‐
316925             time/suse_show_link
316926
316927             · b8ffd9f53f  Allow  alternatives.show_link  function  to work on
316928               Suse distros
316929
316930         · 5362e5183e Merge branch '2015.8' into '2016.3'
316931
316932         · fe2f094838 salt.modules.gpg: initialize GnuPG home dir with correct
316933           ownership (#36824)
316934
316935         · 4b21cca909  Fix race condition in which files were removed during a
316936           file.directory (#36928)
316937
316938         · 7838d8d3f9 Remove "Targeting with Executions" section from docs  (‐
316939           #36925)
316940
316941         · a56bf8bd2d  Update  references  to future default value change that
316942           was reverted (#36924)
316943
316944       · PR #36948:  (rallytime)  Back-port  #36943  to  2016.3  @  2016-10-12
316945         18:33:02 UTC
316946
316947         · PR #36943: (orymate) doc: document what the argument of salt --sub‐
316948           set means (refs: #36948)
316949
316950         · 7e2128c05d Merge pull request #36948 from rallytime/bp-36943
316951
316952         · d2f8f18430 doc: document what the argument of salt --subset means
316953
316954       · PR #36946:  (rallytime)  Back-port  #36892  to  2016.3  @  2016-10-12
316955         18:32:35 UTC
316956
316957         · PR #36892: (nvtkaszpir) Update tutorial.rst (refs: #36946)
316958
316959         · f43a10252d Merge pull request #36946 from rallytime/bp-36892
316960
316961         · 94c97ee726 Update tutorial.rst
316962
316963       · ISSUE #35198: (goestin) beacons modules: service fails (refs: #35199)
316964
316965       · PR  #36945:  (rallytime)  Back-port  #35199  to  2016.3  @ 2016-10-12
316966         18:31:16 UTC
316967
316968         · PR #35199: (goestin) fix for issue #35198 (refs: #36945)
316969
316970         · 5c70669ac0 Merge pull request #36945 from rallytime/bp-35199
316971
316972         · 390b906c2f adhere pep8 e713
316973
316974         · 79c9905fc5 Re-added accidentally removed line 85
316975
316976         · 8bba13896a Fixed issue #35198 now without deprecated code.
316977
316978         · 1241d87f1d fix for issue #35198
316979
316980         · PR #36949: (terminalmage) Fix versionadded
316981
316982         · PR #36930: (jfindlay) return opennebula errors to user
316983
316984       · PR  #36929:  (rallytime)  [yumpkg]  Skip   test_pkg_upgrade_has_pend‐
316985         ing_upgrades if there are no upgrades @ 2016-10-11 22:55:49 UTC
316986
316987         · 6ea1f59058  Merge  pull  request  #36929  from  rallytime/fix-pend‐
316988           ing-upgrade-test
316989
316990         · 32829b9474 [yumpkg] Skip  test_pkg_upgrade_has_pending_upgrades  if
316991           there are no upgrades
316992
316993       · ISSUE  #36906:  (sjorge)  [docs]  comments about targetting execution
316994         still correct? (refs: #36926, #`saltstack/salt`#36925`_`_, #36925)
316995
316996         · PR saltstack/salt#36925: (rallytime) Remove "Targeting with  Execu‐
316997           tions" section from docs (refs: #36926)
316998
316999         · PR  #36926: (rallytime) [2016.3] Remove "Targeting with Executions"
317000           section from docs
317001
317002       · PR #36915: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
317003         2016-10-11 19:49:42 UTC
317004
317005         · b7f87e0aed Merge pull request #36915 from rallytime/merge-2016.3
317006
317007         · 971c27cba2 Merge branch '2015.8' into '2016.3'
317008
317009         · f3443fb992  Properly  handle  "shared" arg in git.init when it is a
317010           bool (#36912)
317011
317012         · bdbf1619cb Check for test=True in salt.wait_for_event orchestration
317013           events (#36897)
317014
317015         · PR  #36820:  (BenoitKnecht) Fix diff output of test runs for Debian
317016           slave interfaces
317017
317018       · ISSUE #36855: (edwardsdanielj) Issue with setting up schedule job via
317019         state.apply (refs: #36894)
317020
317021         · PR #36894: (jfindlay) states.schedule: splay is not ordereddict
317022
317023       · PR #36885: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
317024         2016-10-10 19:30:25 UTC
317025
317026         · 86ac8bd680 Merge pull request #36885 from rallytime/merge-2016.3
317027
317028         · c09b9d6e6a Merge branch '2015.8' into '2016.3'
317029
317030           · 3ce4897b97  Merge  pull  request  #36857  from  terminalmage/sys‐
317031             temd-unit-tests
317032
317033             · 7c78d6f419 Add unit tests for systemd scope usage
317034
317035         · PR #36889: (terminalmage) salt-ssh: Try "command -v" before falling
317036           back to "which"
317037
317038       · ISSUE #36804: (Ch3LL) CARBON: error when using pkg.installed with url
317039         source (refs: #36830)
317040
317041         · PR  #36830:  (terminalmage)  fileclient: Change queryarg comparison
317042           from None to simple boolean check
317043
317044       · PR #36853:  (rallytime)  Back-port  #33939  to  2016.3  @  2016-10-07
317045         21:44:33 UTC
317046
317047         · PR  #33939:  (bx2)  Removed  !-password  check for salt-cloud vultr
317048           provider (refs: #36853)
317049
317050         · 6a6bdf3e3f Merge pull request #36853 from rallytime/bp-33939
317051
317052         · efbc09c1a6 Removed !-password check
317053
317054       · PR #36852:  (rallytime)  Back-port  #36743  to  2016.3  @  2016-10-07
317055         21:35:43 UTC
317056
317057         · PR  #36743:  (do3meli)  corrected  OS Name in openbsd_sysctl module
317058           load error message (refs: #36852)
317059
317060         · 01348bde18 Merge pull request #36852 from rallytime/bp-36743
317061
317062         · 899130d11f corrected OS Name in module load error message
317063
317064       · PR #36844: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
317065         2016-10-07 19:20:31 UTC
317066
317067         · 0b7661244d Merge pull request #36844 from rallytime/merge-2016.3
317068
317069         · 1c3a9a3ee9 Merge branch '2015.8' into '2016.3'
317070
317071           · 3e6b16de2b Merge pull request #36786 from cachedout/fixup_36676
317072
317073             · 3c93134e57 Typo
317074
317075             · 13eb463bd9 Fixup alterernatives module
317076
317077           · c126f2e132 Merge pull request #36757 from cachedout/issue_33841
317078
317079             · 4bce452500  Resolve  issue  with  minion  failing to restart on
317080               failure
317081
317082           · 89f9fc8c0d Merge pull request #36749 from jacobhammons/file-dict
317083
317084             · 71f91b3a50 Fixes the cli  examples  to  reference  the  correct
317085               function
317086
317087           · 804a2a1ab0 Merge pull request #36730 from rallytime/bp-36028
317088
317089             · 4be4f900ee Back-port #36028 to 2015.8
317090
317091       · PR  #36835:  (jfindlay)  unify  and  expand  beacon  documentation  @
317092         2016-10-07 15:59:34 UTC
317093
317094         · PR #36808: (gtmanfred) allow for closing stuff  in  beacons  (refs:
317095           #36835)
317096
317097         · dc5d821be6 Merge pull request #36835 from jfindlay/beacon_doc
317098
317099         · b2eccdefd5 doc.topics.beacons: reflow text at 80 chars
317100
317101         · b181f9890d doc.topics.{reactor|beacons}: unify examples, many minor
317102           edits
317103
317104         · 28b4e30009 doc.glossary: use parenthesis
317105
317106         · 82cf39db00 doc.glossary: add JID
317107
317108         · cc071b75cb doc.glossary: add idempotent
317109
317110       · ISSUE #36787: (maximeguillet) postgres.* calls fail  with  postgresql
317111         9.6 and .psqlrc custom file (refs: #36789)
317112
317113       · PR  #36789: (maximeguillet) Fix behavior of psql -c option with post‐
317114         gresql 9.6 @ 2016-10-06 11:24:51 UTC
317115
317116         · 1284de27fc   Merge   pull   request   #36789    from    maximeguil‐
317117           let/fix-psqlrc-pg9.6
317118
317119         · b59c23bef1 Fix one remaining postgresql tests linked to #36787.
317120
317121         · 8b92ae2061 Fix postgresql tests using position in the argument list
317122           of psql.
317123
317124         · 21f2a17a07 Fix postgresql tests by adding --no-psqlrc option intro‐
317125           duced by #36787.
317126
317127         · 574e30e915 Fix behavior of psql -c option with postgresql 9.6
317128
317129       · ISSUE  #36579:  (scubahub)  No error generated when reactor file does
317130         not exist. (refs: #36797)
317131
317132       · PR #36797: (cachedout) Error on reaction  with  missing  SLS  file  @
317133         2016-10-06 11:19:27 UTC
317134
317135         · a1d59f4d2f Merge pull request #36797 from cachedout/issue_36579
317136
317137         · 6ce4653fa3 Error on reaction with missing SLS file
317138
317139       · ISSUE  saltstack/salt#36788:  (damon-atkins) pillar/libvirt.py assume
317140         certtool is available and works everytime (refs: #36803)
317141
317142       · PR #36803: (gtmanfred) do not load  libvirt  pillar  if  certtool  is
317143         unavailable @ 2016-10-06 11:15:14 UTC
317144
317145         · b75130be2d Merge pull request #36803 from gtmanfred/2016.3
317146
317147         · 2183737085 do not load libvirt pillar if certtool is unavailable
317148
317149       · PR #36815: (BenoitKnecht) Fix glance.image_present state @ 2016-10-06
317150         10:29:44 UTC
317151
317152         · 39148dc711      Merge      pull      request      #36815       from
317153           BenoitKnecht/fix-glance-image-present-state-2016.3
317154
317155         · 342eee444d states: glance: handle image list instead of dict
317156
317157         · 02b91ecf15  states:  glance:  import  keystone  exceptions from new
317158           location
317159
317160       · ISSUE #36738: (edhgoose) rpmdev-vercmp throws  lots  of  warnings  on
317161         Amazon Linux (refs: #36739)
317162
317163       · PR  #36754:  (terminalmage)  Base  rpmdev-vercmp comparison result on
317164         retcode @ 2016-10-05 12:50:23 UTC
317165
317166         · PR #36739: (edhgoose) Add support for rpmdevtools returning < / > /
317167           == (refs: #36754)
317168
317169         · 81c935f210 Merge pull request #36754 from terminalmage/issue36738
317170
317171         · 928c99d2f7 Base rpmdev-vercmp comparison result on retcode
317172
317173         · PR  saltstack/salt#36728:  (rallytime)  [2016.3] Merge forward from
317174           2015.8 to 2016.3 (refs: #36785)
317175
317176       · PR #36785:  (cachedout)  Fixup  merge  forward  #36728  @  2016-10-05
317177         11:02:16 UTC
317178
317179         · PR #36728: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3
317180           (refs: #36785)
317181
317182         · 4bdb997dae Merge pull request #36785 from cachedout/pr-36728
317183
317184         · 118ba8a772 Update alternatives module to strip newline chars
317185
317186         · 24b8bba145 Merge branch '2015.8' into '2016.3'
317187
317188           · a01a68d4be Merge pull request #36676  from  vutny/redhat-alterna‐
317189             tives-detect-fail
317190
317191             · bba9d0d105 alternatives.install state: detect alternatives com‐
317192               mand failed
317193
317194           · eab4fd563a Merge pull request #36700 from terminalmage/update-faq
317195
317196             · 3d15eedfe0      Add      additional      information      about
317197               onchanges/onchanges_in
317198
317199             · 57ecbe6c53  Update  minion  restart  example  to  use onchanges
317200               instead of cmd.wait
317201
317202       · ISSUE #36766: (bx2) salt-cloud (vultr) throws NameError: global  name
317203         '__opts__' is not defined (refs: #36768)
317204
317205       · PR  #36768:  (gtmanfred)  add  __utils__  to  vultr  cloud provider @
317206         2016-10-05 06:59:27 UTC
317207
317208         · 90cca6b135 Merge pull request #36768 from gtmanfred/2016.3
317209
317210         · 9df2fd11dd add __utils__ to vultr cloud provider
317211
317212       · PR #36764: (cachedout) Another bit of detection for failed pip  tests
317213         @ 2016-10-04 13:05:29 UTC
317214
317215         · 8ff69bf0c7    Merge    pull    request    #36764    from    cached‐
317216           out/more_pip_test_fixing
317217
317218         · b9f5343449 Another bit of detection for failed pip tests
317219
317220       · ISSUE #27316: (efficks) Extracted state with  zip  format  failed  on
317221         Windows (refs: #27317)
317222
317223       · ISSUE  #27207:  (PredatorVI)  archive.extracted  state not preserving
317224         file permissions (refs: #33906)
317225
317226       · ISSUE #26569: (ssgward) Add support for password-protected zip  files
317227         in archive.extracted on Windows (refs: #31116)
317228
317229       · ISSUE  #23822:  (sidcarter) Zip file extracted permissions are incor‐
317230         rect (refs: #25128)
317231
317232         · PR  saltstack/salt#36722:  (rallytime)  Skip  cmd_unzip   test   if
317233           salt.utils.which('zip') isn't available (refs: #36747)
317234
317235         · PR  saltstack/salt#36648:  (jfindlay) Integration tests for archive
317236           execution module (refs: #36747)
317237
317238         · PR saltstack/salt#36539: (jfindlay) Prefer archive.cmd_unzip (refs:
317239           #`saltstack/salt`#36648`_`_, #36648)
317240
317241       · PR  #36747:  (jfindlay)  modules.archive integration tests: check for
317242         gzip, rar @ 2016-10-04 11:47:32 UTC
317243
317244         · PR #33906:  (lomeroe)  Archive  unzip  permissions  (refs:  #36539,
317245           #saltstack/salt`#36539`_)
317246
317247         · PR #31116: (UtahDave) Add password support for zip files in archive
317248           module and state (refs: #36539, #saltstack/salt`#36539`_)
317249
317250         · PR #27764: (basepi) Merge forward from  2015.8  to  develop  (refs:
317251           #36539, #saltstack/salt`#36539`_)
317252
317253         · PR  #27317:  (efficks) State unzip should use unzip command instead
317254           of unzip_cmd. (refs: #36539, #saltstack/salt`#36539`_)
317255
317256         · PR #25128:  (stanislavb)  Use  cmd_unzip  to  preserve  permissions
317257           (refs: #36539, #saltstack/salt`#36539`_)
317258
317259         · 5c0cbfc4c6 Merge pull request #36747 from jfindlay/arch_test
317260
317261         · b5fcca9983 modules.archive int tests: check for gzip, rar
317262
317263       · PR #36744: (cachedout) Fix issue where test suite could hang on shut‐
317264         down @ 2016-10-03 15:37:00 UTC
317265
317266         · 93f1daa4ce Merge pull request #36744 from  cachedout/fix_test_shut‐
317267           down
317268
317269         · cdf2a56564 Fix issue where test suite could hang on shutdown
317270
317271       · ISSUE  saltstack/salt#32490: (davegiles) __proxy__ not available when
317272         called from state.sls_id, fine from state.highstate (refs: #36696)
317273
317274       · PR #36696: (cro) pass __proxy__ in state.sls_id @ 2016-10-01 09:37:50
317275         UTC
317276
317277         · 6fa9ec36d2 Merge pull request #36696 from cro/proxy_in_sls_id
317278
317279         · 891004f3be try/except for when __proxy__ is not injected.
317280
317281         · e8e53d60be pass __proxy__ in state.sls_id
317282
317283       · PR  #36716:  (vutny) salt.modules.ini_manage: fix creating options in
317284         empty file @ 2016-10-01 09:35:11 UTC
317285
317286         · e0b288feb3 Merge pull request #36716 from vutny/fix-ini-manage
317287
317288         · 73eb773fb0 salt.modules.ini_manage: fix creating options  in  empty
317289           file
317290
317291       · ISSUE  #29421: (scbunn) pillar data leaks through environments (refs:
317292         #36435, #saltstack/salt`#36435`_)
317293
317294         · PR saltstack/salt#36628: (yhekma) Update doc to reflect the version
317295           where 'none' was added as a pillar_… (refs: #36724)
317296
317297         · PR  saltstack/salt#36435:  (yhekma)  Add "none" as a pillar merging
317298           strategy (refs: #`saltstack/salt`#36628`_`_, #36628)
317299
317300       · PR #36724:  (rallytime)  Back-port  #36628  to  2016.3  @  2016-10-01
317301         09:33:43 UTC
317302
317303         · PR  #36628: (yhekma) Update doc to reflect the version where 'none'
317304           was added as a pillar_… (refs: #36724)
317305
317306         · 97713b09f5 Merge pull request #36724 from rallytime/bp-36628
317307
317308         · 3bb2cb6379 Update doc to reflect the version where 'none' was added
317309           as a pillar_source_merging_strategy
317310
317311         · PR  saltstack/salt#36643:  (roosri)  a small, and unfortunate error
317312           (refs: #36725)
317313
317314       · PR #36725:  (rallytime)  Back-port  #36643  to  2016.3  @  2016-10-01
317315         09:33:13 UTC
317316
317317         · PR #36643: (roosri) a small, and unfortunate error (refs: #36725)
317318
317319         · 8e7529764b Merge pull request #36725 from rallytime/bp-36643
317320
317321         · c5b8e442f9 a small, and unfortunate error
317322
317323       · PR  #36726:  (rallytime)  Back-port  #36722  to  2016.3  @ 2016-10-01
317324         09:32:53 UTC
317325
317326         · PR    #36722:    (rallytime)     Skip     cmd_unzip     test     if
317327           salt.utils.which('zip') isn't available (refs: #36726)
317328
317329         · cf32c59b6a Merge pull request #36726 from rallytime/bp-36722
317330
317331         · 5904cc04c6  Skip  cmd_unzip  test  if salt.utils.which('zip') isn't
317332           available
317333
317334       · ISSUE saltstack/salt#36718: (Ch3LL) Error when using archive.zip   on
317335         python2.6  (refs: #36719)
317336
317337         · PR #36719: (Ch3LL) fix python26 archive zip module
317338
317339         · PR saltstack/salt#36616: (cro) Zypper fix test (refs: #36699)
317340
317341       · PR #36699: (cachedout) Fix error in test @ 2016-09-30 11:28:18 UTC
317342
317343         · 7d022a3f39 Merge pull request #36699 from cachedout/fixup_36616
317344
317345         · 16f5bb70ec Remove line that checks against unordered keys
317346
317347         · 0e9148293a Fix error in test
317348
317349       · ISSUE #36669: (jackywu) fix bug of including loopback addr will never
317350         work (refs: #36670)
317351
317352       · PR #36670: (jackywu) fix bug for including loopback addr @ 2016-09-30
317353         10:21:53 UTC
317354
317355         · 0aa35596c0 Merge pull request #36670 from jackywu/2016.3
317356
317357         · 48d2d512d8 fix bug for including loopback addr
317358
317359       · ISSUE  #36692:  (lorengordon)  Expose  ignore_if_missing param to the
317360         file.replace state (refs: #36694)
317361
317362       · PR #36694: (lorengordon) Exposes  ignore_if_missing  to  file.replace
317363         state module @ 2016-09-30 10:12:27 UTC
317364
317365         · 0e8c9abe8d Merge pull request #36694 from lorengordon/issue-36692
317366
317367         · 35f3bb3a8a Exposes ignore_if_missing to file.replace state module
317368
317369         · PR saltstack/salt#35356: (jfindlay) document log levels and warn on
317370           all logging below info (refs: #36686)
317371
317372       · PR  #36686:  (jfindlay)  log  levels  doc:  try  long  form  table  @
317373         2016-09-29 18:21:47 UTC
317374
317375         · c089ac6c67 Merge pull request #36686 from jfindlay/log_levels
317376
317377         · 4dd4fc94dc log levels doc: try long form table
317378
317379       · PR #36690: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
317380         2016-09-29 17:46:24 UTC
317381
317382         · e0a851b2f1 Merge pull request #36690 from rallytime/merge-2016.3
317383
317384         · 7fc38c9aca Merge branch '2015.8' into '2016.3'
317385
317386         · 7d1972bd5c Merge pull request #36684 from rallytime/merge-2015.8
317387
317388           · 838722d225 Merge branch '2015.5' into '2015.8'
317389
317390           · 8f1ba2fa26 Merge pull request #36678 from rallytime/merge-2015.5
317391
317392           · 51240ecb13 Merge branch '2014.7' into '2015.5'
317393
317394           · 86dc3dc9f7     Merge      pull      request      #36641      from
317395             fuzzy-id/fix-lvm-thin-argument
317396
317397           · 740516aace fix thin argument for 'lvm.lv_create'
317398
317399       · PR #36680: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
317400         2016-09-29 16:49:16 UTC
317401
317402         · f95dd696e5 Merge pull request #36680 from rallytime/merge-2016.3
317403
317404         · 3e4ac617d3 Merge branch '2015.8' into '2016.3'
317405
317406         · e4c5d0bfd6 Merge pull  request  #36664  from  cachedout/remove_use‐
317407           less_size_check
317408
317409           · 3d098c64ef Remove possible race between grains dumps in test
317410
317411         · 8cfe371a5a    Merge    pull    request    #36663    from    cached‐
317412           out/skip_pip_tests_on_download_fail
317413
317414           · 0c7fb91dc5 Fix error
317415
317416         · e3f8618982    Merge    pull    request    #36662    from    cached‐
317417           out/skip_pip_tests_on_download_fail
317418
317419           · 0bbc60ccd7 Skip over tests where upstream pip isn't there
317420
317421         · 3249a11e71    Merge    pull    request    #36661    from    cached‐
317422           out/fix_grain_test_race
317423
317424           · 2dcb92134d Fix race between minion job timeout and cli test time‐
317425             out
317426
317427         · b0190f248e    Merge    pull    request    #36660    from    cached‐
317428           out/fix_2068_issue_test
317429
317430           · f4906fe771 Fix test not to rely on external resources
317431
317432       · ISSUE #28125: (peter-slovak) [2015.8]  support  for  __env__  in  Git
317433         external pillar (refs: #36659)
317434
317435       · PR #36659: (terminalmage) Support dynamic env in new-style git_pillar
317436         @ 2016-09-29 05:04:38 UTC
317437
317438         · eab1680f3f Merge pull request #36659 from terminalmage/issue28125
317439
317440         · 45352b36bd Support dynamic env in new-style git_pillar
317441
317442       · ISSUE #34927: (bobrik) Salt does not run "systemd  daemon-reload"  on
317443         unit override (refs: #36538)
317444
317445       · PR  #36538:  (clinta)  daemon-reload  on  call to service.avaliable @
317446         2016-09-29 02:28:00 UTC
317447
317448         · 0c2bd4b66b Merge pull request #36538 from clinta/daemon-reload
317449
317450         · 833beb9b36 Merge pull request #1 from terminalmage/pr-36538
317451
317452           · c4060ba2c1 Move check for service availability to a helper  func‐
317453             tion
317454
317455         · 20c2c91bba daemon-reload on call to service.avaliable
317456
317457       · PR #36616: (cro) Zypper fix test @ 2016-09-29 02:26:22 UTC
317458
317459         · d8a61eb9f6 Merge pull request #36616 from cro/zypper_fix_test
317460
317461         · b618a5c07d Remove debugging
317462
317463         · 3870589462  Test  for  pkg.upgrade.  Most robust on Suse but better
317464           than nothing elsewhere
317465
317466         · 867638ff48 Test for pkg.upgrade.  Most robust on  Suse  but  better
317467           than nothing elsewhere
317468
317469       · PR #36621: (terminalmage) Fix shadowed builtins @ 2016-09-29 02:25:54
317470         UTC
317471
317472         · ccd92d22d2 Merge pull request  #36621  from  terminalmage/fix-shad‐
317473           owed-builtins
317474
317475         · 62729eff8d Update tests to include fix for renamed function
317476
317477         · 283aca8f2a Update test to reflect new function signature
317478
317479         · 0f158b5edd Fix shadowed builtins
317480
317481         · PR saltstack/salt#36618: (onorua) Fix memory leak for 0mq transport
317482           in case of TCP DDOS (refs: #36636)
317483
317484       · PR #36636:  (rallytime)  Back-port  #36618  to  2016.3  @  2016-09-29
317485         02:23:09 UTC
317486
317487         · PR  #36618:  (onorua)  Fix memory leak for 0mq transport in case of
317488           TCP DDOS (refs: #36636)
317489
317490         · 24f82b2809 Merge pull request #36636 from rallytime/bp-36618
317491
317492         · 275845c3d2 Fix memory leak for 0mq transport
317493
317494       · ISSUE #27316: (efficks) Extracted state with  zip  format  failed  on
317495         Windows (refs: #27317)
317496
317497       · ISSUE  #27207:  (PredatorVI)  archive.extracted  state not preserving
317498         file permissions (refs: #33906)
317499
317500       · ISSUE #26569: (ssgward) Add support for password-protected zip  files
317501         in archive.extracted on Windows (refs: #31116)
317502
317503       · ISSUE  #23822:  (sidcarter) Zip file extracted permissions are incor‐
317504         rect (refs: #25128)
317505
317506         · PR saltstack/salt#36539: (jfindlay) Prefer archive.cmd_unzip (refs:
317507           #`saltstack/salt`#36648`_`_, #36648)
317508
317509       · PR  #36648: (jfindlay) Integration tests for archive execution module
317510         (refs: #36986) @ 2016-09-29 02:16:54 UTC
317511
317512         · PR #33906:  (lomeroe)  Archive  unzip  permissions  (refs:  #36539,
317513           #saltstack/salt`#36539`_)
317514
317515         · PR #31116: (UtahDave) Add password support for zip files in archive
317516           module and state (refs: #36539, #saltstack/salt`#36539`_)
317517
317518         · PR #27764: (basepi) Merge forward from  2015.8  to  develop  (refs:
317519           #36539, #saltstack/salt`#36539`_)
317520
317521         · PR  #27317:  (efficks) State unzip should use unzip command instead
317522           of unzip_cmd. (refs: #36539, #saltstack/salt`#36539`_)
317523
317524         · PR #25128:  (stanislavb)  Use  cmd_unzip  to  preserve  permissions
317525           (refs: #36539, #saltstack/salt`#36539`_)
317526
317527         · 750ff8220c Merge pull request #36648 from jfindlay/arch_test
317528
317529         · cc4d958557 modules.archive: add integration tests
317530
317531         · 99bf89447b modules.archive: add opts arg to g(un)zip
317532
317533         · c1219e68c5 modules.archive.unzip: depend on zipfile module
317534
317535         · 315b031de9 modules.archive: use less redundant message
317536
317537         · PR saltstack/salt#36389: (cachedout) Pr 36386 (refs: #36650)
317538
317539       · PR #36650: (rallytime) Revert "Pr 36386" @ 2016-09-29 02:11:15 UTC
317540
317541         · PR  #36386: (xiaoanyunfei) fix salt-api's default opts were covered
317542           by   salt-master   #35734    (refs:    #36389,    #36650,    #salt‐
317543           stack/salt`#36389`_)
317544
317545         · PR  #35734: (xiaoanyunfei) fix salt-api's default opts were covered
317546           by salt-master (refs: #36386)
317547
317548         · 91aa464d5d    Merge    pull    request    #36650     from     salt‐
317549           stack/revert-36389-pr-36386
317550
317551         · 33ef5bffe6 Revert "Pr 36386"
317552
317553       · ISSUE  #36304:  (Ch3LL) stack trace when transport is not a currently
317554         supported transport (refs: #36646)
317555
317556       · PR #36646: (rallytime) Provide an error message when  invalid  trans‐
317557         port is set @ 2016-09-28 22:52:11 UTC
317558
317559         · ab5c0e9e65 Merge pull request #36646 from rallytime/fix-36304
317560
317561         · ae021d6dec Provide an error message when invalid transport is set
317562
317563       · PR #36635: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
317564         2016-09-28 21:10:25 UTC
317565
317566         · 6d9b28506c Merge pull request #36635 from rallytime/merge-2016.3
317567
317568         · 787c1f557e Pylint fix
317569
317570         · da574e5b03 Merge branch '2015.8' into '2016.3'
317571
317572         · f0d561a229  Merge  pull  request  #36632  from  isbm/isbm-thin-mod‐
317573           ules-config-15.8
317574
317575           · 975f8bb27d Add extra-mods options to the Salt-Thin via SSH CLI
317576
317577           · a441b35588 Add documentation about Salt Thin configuration
317578
317579           · 3bfb17ee62  Add  a  description of the thin/min parameters to the
317580             master config
317581
317582           · 3d878f9da5 Get the thin Salt with configured extra modules on SSH
317583
317584           · 2be9330be6 Add thin options to the master config.
317585
317586           · 58577d342e Generate thin with configured extrta modules
317587
317588       · ISSUE #36553: (nilliams) states.hg.latest claims to  succeed  despite
317589         errors (refs: #36620)
317590
317591       · PR  #36620:  (rallytime)  Don't allow mercurial states to return True
317592         with errors @ 2016-09-28 05:50:50 UTC
317593
317594         · 83da81cdfd Merge pull request #36620 from rallytime/fix-36553
317595
317596         · a828bdd0b8 Update test mocks for cmd.run_all dicts
317597
317598         · 3904dfc5a8 Don't allow mercurial states to return True with errors
317599
317600       · PR #36622: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
317601         2016-09-28 05:39:43 UTC
317602
317603         · 1c001d0ee1 Merge pull request #36622 from rallytime/merge-2016.3
317604
317605         · 90c66ef756 Merge branch '2015.8' into '2016.3'
317606
317607           · 9b9e167b47 Merge pull request #36562 from kiorky/s2015.8
317608
317609             · 47c3d03035 Fix pkg.latest_version using localized output
317610
317611           · 4ab52ae0f6  Merge  pull  request  #36607  from  vutny/detect-ser‐
317612             vice-fail
317613
317614             · c4f899b3b3 salt.states.service: detect that service  failed  to
317615               start/stop
317616
317617           · 5de036b56c Merge pull request #36611 from multani/2015.8
317618
317619             · 79fdc12395 jinja: fix YAML terminator removal in Jinja's "yaml"
317620               filter
317621
317622           · 6e36191fc4 Fix trust key 2015.8 (#36540)
317623
317624       · PR #36520: (twangboy) Fix cmd.script runas for Windows  @  2016-09-28
317625         04:07:00 UTC
317626
317627         · e7def534b1     Merge    pull    request    #36520    from    twang‐
317628           boy/fix_cmd.script_runas
317629
317630         · 377ced5c24 Remove directory in Windows with runas
317631
317632         · 25d52efeac Fix mkdir
317633
317634         · 18d41f7711 Add mkdir
317635
317636         · 9d55bff914 Use cachedir for Windows
317637
317638       · ISSUE saltstack/salt#32368:  (vitaliyf)  Low  timeout  values  causes
317639         duplicate commands to execute (refs: #36564)
317640
317641       · PR  #36564:  (DmitryKuzmenko)  Improve and fix _check_cache_minions @
317642         2016-09-28 02:50:54 UTC
317643
317644         · 798bf3086b   Merge   pull   request   #36564    from    DSRCorpora‐
317645           tion/bugs/32368_grains_match_bug
317646
317647         · be61f97db3 Minor: syntax error fixes.
317648
317649         · 29660ed672 Improve and fix _check_cache_minions
317650
317651       · PR  #36606:  (danlsgiga)  Add support for ACL Tokens in consul_pillar
317652         with the option consul.token @ 2016-09-28 02:46:03 UTC
317653
317654         · 133705d567 Merge pull  request  #36606  from  danlsgiga/consul_pil‐
317655           lar_token
317656
317657         · a5907c9c89  Add  support  for  ACL Tokens in consul_pillar with the
317658           option consul.token
317659
317660       · PR  #36613:  (slinn0)  Remove  file.check_managed_changes   when  not
317661         needed (backport of PR #36589 to 2016.3) @ 2016-09-28 02:35:56 UTC
317662
317663         · PR #36589: (slinn0) Do not generate pchanges in file.managed unless
317664           test=True (refs: #36613)
317665
317666         · b365f1e34d Merge pull request #36613 from slinn0/2016.3_36588_fixes
317667
317668         · d9da5cb2d4 Backport of PR #36589 / Issue #36588 to 2016.3 branch.
317669
317670       · PR #36609: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
317671         2016-09-27 18:34:22 UTC
317672
317673         · e23af98d97 Merge pull request #36609 from rallytime/merge-2016.3
317674
317675         · f15d4a38bd Merge branch '2015.8' into '2016.3'
317676
317677         · 57ec792f6b Merge pull request #36550 from rickyninja/2015.8
317678
317679           · f9ef30aabe Add version_cmp for FreeBSD pkg.
317680
317681       · PR   #36595:  (cachedout)  Remove  tests  which  no  longer  apply  @
317682         2016-09-27 07:38:15 UTC
317683
317684         · 25fa754d94 Merge pull request #36595 from cachedout/issue_7754_fix
317685
317686         · 3a83b0bd16 Remove tests which no longer apply
317687
317688       · ISSUE #36586: (gehzumteufel) Documentation update (refs: #36594)
317689
317690       · PR #36594: (cachedout) Update boostrap docs  to  recent  versions  of
317691         Ubuntu @ 2016-09-27 06:18:49 UTC
317692
317693         · aed98f47de Merge pull request #36594 from cachedout/issue_36586
317694
317695         · 1e6a60ab01 Update boostrap docs to recent versions of Ubuntu
317696
317697       · PR  #36585:  (twangboy)  Add  pyOpenSSL  to  req  file  for Windows @
317698         2016-09-27 05:49:42 UTC
317699
317700         · c79f525863 Merge pull request #36585 from twangboy/add_pyopenssl
317701
317702         · 5fc63a1054 Add pyOpenSSL to req file for Windows
317703
317704       · ISSUE #36568: (lkx007) cp.push remove_source problem (refs: #36572)
317705
317706         · PR #36572: (cachedout) Fix salt.utils.rm_rf to delete files too
317707
317708       · ISSUE #36491: (cro) pkg.upgrade does not upgrade on Leap 42.1 or Tum‐
317709         bleweed (refs: #36495)
317710
317711       · PR #36495: (cro) Fix pkg.upgrade for zypper @ 2016-09-26 10:02:39 UTC
317712
317713         · d0dd92b037 Merge pull request #36495 from cro/zypper_fix
317714
317715         · 6c5807c4be Fix pkg.upgrade for zypper
317716
317717       · ISSUE  #27316:  (efficks)  Extracted  state with zip format failed on
317718         Windows (refs: #27317)
317719
317720       · ISSUE #27207: (PredatorVI)  archive.extracted  state  not  preserving
317721         file permissions (refs: #33906)
317722
317723       · ISSUE  #26569: (ssgward) Add support for password-protected zip files
317724         in archive.extracted on Windows (refs: #31116)
317725
317726       · ISSUE #23822: (sidcarter) Zip file extracted permissions  are  incor‐
317727         rect (refs: #25128)
317728
317729       · PR  #36539: (jfindlay) Prefer archive.cmd_unzip @ 2016-09-26 10:02:11
317730         UTC
317731
317732         · PR #33906:  (lomeroe)  Archive  unzip  permissions  (refs:  #36539,
317733           #saltstack/salt`#36539`_)
317734
317735         · PR #31116: (UtahDave) Add password support for zip files in archive
317736           module and state (refs: #36539, #saltstack/salt`#36539`_)
317737
317738         · PR #27764: (basepi) Merge forward from  2015.8  to  develop  (refs:
317739           #36539, #saltstack/salt`#36539`_)
317740
317741         · PR  #27317:  (efficks) State unzip should use unzip command instead
317742           of unzip_cmd. (refs: #36539, #saltstack/salt`#36539`_)
317743
317744         · PR #25128:  (stanislavb)  Use  cmd_unzip  to  preserve  permissions
317745           (refs: #36539, #saltstack/salt`#36539`_)
317746
317747         · 4bca246a27 Merge pull request #36539 from jfindlay/arch_perms
317748
317749         · d64ae48783 states.archive: use archive.cmd_unzip when possible
317750
317751         · 928a7891b4 modules.archive.unzip: log a warning about perms
317752
317753       · ISSUE  #36514: (nilliams) salt.stages.hg errors when -identity option
317754         is used (refs: #36546)
317755
317756       · PR #36546: (rallytime) Mercurial Module: Pass the identity_path  por‐
317757         tion as own arg @ 2016-09-26 09:44:30 UTC
317758
317759         · ab50cde391 Merge pull request #36546 from rallytime/fix-36514
317760
317761         · 9afe76759e  Mercurial Module: Pass the identity_path portion as own
317762           arg
317763
317764       · ISSUE #35480:  (jelenak)  200  processes  of  salt-master  (2016.3.2)
317765         (refs: #36184, #36555, #37254)
317766
317767       · PR  #36555:  (DmitryKuzmenko) Bugs/35480 master shutdown @ 2016-09-26
317768         09:25:43 UTC
317769
317770         · aea55fce61   Merge   pull   request   #36555    from    DSRCorpora‐
317771           tion/bugs/35480_master_shutdown
317772
317773         · 6ad2998715  Wait  for  kill  in ProcessManager should be greater in
317774           main process than in subprocess.
317775
317776         · c9c45a5d79 Don't set the daemon flag for LoggingQueue process.
317777
317778       · PR #36542: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
317779         2016-09-23 22:47:26 UTC
317780
317781         · a1e0afe1c7 Merge pull request #36542 from rallytime/merge-2016.3
317782
317783         · 861a001749 Merge branch '2015.8' into '2016.3'
317784
317785         · 07c9d040c0 Fixup the rabbitmq_user state test failure (#36541)
317786
317787       · ISSUE  #29421: (scbunn) pillar data leaks through environments (refs:
317788         #36435, saltstack/salt#36435)
317789
317790         · PR #36532: (rallytime) Back-port #36435 to 2016.3
317791
317792         · PR #36435: (yhekma) Add "none" as a pillar merging strategy  (refs:
317793           #36532)
317794
317795         · PR  #36535:  (rallytime) Be explicit about the salt.utils.templates
317796           import
317797
317798         · PR #36537: (rallytime) Wrap the entire  GrainsAppendTestCase  class
317799           with destructiveTest
317800
317801       · PR #36529: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
317802         2016-09-23 16:42:42 UTC
317803
317804         · 55cf4d6a04 Merge pull request #36529 from rallytime/merge-2016.3
317805
317806         · 52cf40db8c Merge branch '2015.8' into '2016.3'
317807
317808         · 1c3758544c Merge pull request #36441 from twangboy/update_setup
317809
317810           · fc4a03a75d Check for existing library on Windows
317811
317812       · PR #36483: (dmurphy18)  Isolate  sun  IPv6  fix  to  Sun  OS  only  @
317813         2016-09-23 09:24:54 UTC
317814
317815         · 03491634ff Merge pull request #36483 from dmurphy18/aix_fix_ipv6
317816
317817         · b68f982c6a Updated check as per code review
317818
317819         · cbcdb472fe Isolate SUN IPv6 fix to Sun Os only
317820
317821       · ISSUE  #36279:  (alertedsnake) state.postgres_privileges should allow
317822         grants to ALL tables/sequences. (refs: #36280)
317823
317824       · PR #36280: (alertedsnake) Feature/2016.3 better postgresql  grants  @
317825         2016-09-23 07:55:32 UTC
317826
317827         · PR  #36249:  (alertedsnake)  Quote  postgres privilege target names
317828           (refs: #36280)
317829
317830         · 654fa8d770   Merge   pull   request   #36280   from   jwplayer/fea‐
317831           ture/2016.3-better-postgresql-grants
317832
317833         · e7a597da00 Bugfix: don't concatenate when not needed
317834
317835         · ba60b7972a Additional documentation.
317836
317837         · 8b877f014d 'All' grants for PostgreSQL.
317838
317839       · PR #36508: (twangboy) Fix chocolatey @ 2016-09-23 07:36:03 UTC
317840
317841         · 8104d5c92a Merge pull request #36508 from twangboy/fix_chocolatey
317842
317843         · a7c858d9ab Fix retcodes
317844
317845         · feadd827a7 Add additional functionality to upgrade
317846
317847         · fb5eb4dc03 Fix retcodes, add upgrade function
317848
317849       · PR  #36519:  (terminalmage) Rewrite minionfs walkthrough @ 2016-09-23
317850         05:19:59 UTC
317851
317852         · 364f74dfc9 Merge pull request #36519 from terminalmage/docs
317853
317854         · 2df51ce3e9 Rewrite minionfs walkthrough
317855
317856         · cc9d41fb0e Change items in minionfs blacklist/whitelist example
317857
317858       · PR #36505: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
317859         2016-09-22 17:37:33 UTC
317860
317861         · 6f54e16cdf Merge pull request #36505 from rallytime/merge-2016.3
317862
317863         · 5bd4d6430b Merge branch '2015.8' into '2016.3'
317864
317865         · bf6195b9a6  postgres_extension  state:  small  corrections  in doc‐
317866           strings (#36500)
317867
317868         · b021ea5d40   Merge   pull   request   #36464    from    vutny/post‐
317869           gres-tablespace-options
317870
317871           · 580aed87b9    Fix   options   parameter   processing   in   post‐
317872             gres_tablespace.present
317873
317874       · ISSUE  #35813:   (UtahCampusD)   Empty   dictionary   returned   from
317875         grains.items command within local client (refs: #36496)
317876
317877       · PR  #36496:  (cachedout)  Add  repr  to  namespacedict  @  2016-09-22
317878         04:34:11 UTC
317879
317880         · 464c4305f9 Merge pull request #36496 from cachedout/namespace_repr
317881
317882         · 333842c319 Add repr to namespacedict
317883
317884       · PR #36474: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
317885         2016-09-22 04:16:58 UTC
317886
317887         · a0f838af36 Merge pull request #36474 from rallytime/merge-2016.3
317888
317889         · 8805b57a1e Merge branch '2015.8' into '2016.3'
317890
317891           · 41d3c09857 Merge pull request #35433 from terminalmage/issue34790
317892
317893             · 71b51f49ba Add integration tests for PR #35433
317894
317895             · 82515eccde Add an additional hint for cases where rev == 'HEAD'
317896
317897             · 4b7e2f9475  git.latest:  Add  a  hint  for possible rev changes
317898               resulting in non-fast-forward failures
317899
317900           · 87263b9387    Merge    pull    request    #36445    from     not‐
317901             peter/salt_cloud_iam_role
317902
317903             · 469d1a61fe Remove (required).
317904
317905             · 98449e66f5 Better docs for use-instance-role-credentials.
317906
317907       · ISSUE #36475: (amendlik) GitFS online documentation is missing a sec‐
317908         tion present in the code (refs: #36478)
317909
317910       · PR   #36478:   (rallytime)   Add   the   "bash"   option    to    the
317911         "code-block"directive.  @ 2016-09-22 04:15:14 UTC
317912
317913         · ec4f4f49ca Merge pull request #36478 from rallytime/fix-36475
317914
317915         · 7be7d5832f Add the "bash" option to the "code-block"directive.
317916
317917       · PR  #36484:  (terminalmage)  Fix  for  temp  files being left over by
317918         salt-cloud execution @ 2016-09-22 04:11:58 UTC
317919
317920         · PR #36482: (clarkperkins) Have salt-cloud clean up tmp files (refs:
317921           #36484)
317922
317923         · 4c6e7bf873    Merge    pull    request    #36484   from   terminal‐
317924           mage/salt-cloud-tmp-files
317925
317926         · 0bf520e089 Ensure temp file is actually removed
317927
317928         · 072fd823f7 Use os.write() on file descriptor instead of  opening  a
317929           filehandle
317930
317931         · f61e8d6366  Fix for temp files being left over by salt-cloud execu‐
317932           tion
317933
317934       · PR #36486: (terminalmage) Improve the  rebase  docs  in  contributing
317935         guidelines @ 2016-09-21 19:21:10 UTC
317936
317937         · 9005a87635 Merge pull request #36486 from terminalmage/rebase-docs
317938
317939         · 4839c325ae Improve the rebase docs in contributing guidelines
317940
317941       · PR  #36455:  (twangboy) Update docs for Windows @ 2016-09-21 14:28:28
317942         UTC
317943
317944         · bc5ac9adae Merge pull request #36455 from  twangboy/windows_instal‐
317945           lation_docs
317946
317947         · ec67a9bb2f Add cachedout's recommendations
317948
317949         · 26a40dadbe Update docs for Windows
317950
317951       · PR #36459: (cachedout) Pr 36426 @ 2016-09-21 06:34:29 UTC
317952
317953         · 3d23371ca2 Merge pull request #36459 from cachedout/pr-36426
317954
317955         · bb5c01ae9d Lint
317956
317957         · 85d2068326 Refactor for testing and adding related engine tests
317958
317959         · 266adae2fd Make sqs_events engine support owner_acct_id
317960
317961       · PR #36442: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
317962         2016-09-20 23:16:30 UTC
317963
317964         · c8e15dcdca Merge pull request #36442 from rallytime/merge-2016.3
317965
317966         · 2740fb7bfd Merge branch '2015.8' into '2016.3'
317967
317968         · 266dd7c00a Merge pull request #36379 from twangboy/windows_grains
317969
317970           · 6138390da7 Fix typo
317971
317972           · cf045e5c03 Remove comment
317973
317974           · ddb6e11bcb Remove refactoring
317975
317976           · 45dc920db0 Clarify comments
317977
317978           · 211fd3b47e Improve version checking
317979
317980           · 88be5a3761 Check for Python 2.7.12 and 3.5.2
317981
317982           · 6f80f0062a Add osservicepack grain
317983
317984           · 04c4ec4f81 Fix lint
317985
317986           · 5789ea99cf Force string
317987
317988           · 6c5bd7664b Fix join syntax
317989
317990           · ac8610d523 Add ServicePack to osrelease
317991
317992           · 92034936c1 Fix windows grains for os
317993
317994         · 5625827ee2 Merge pull request #36378 from terminalmage/issue36321
317995
317996           · 7b1f621206 Fix git.latest test  with  local  changes  to  reflect
317997             changes in state
317998
317999           · 0364fedb76 Use a single conditional
318000
318001           · 0dd1e7b53e  git.latest  Treat  an  up-to-date checkout with local
318002             changes as up-to-date
318003
318004       · PR #36310: (thatch45) Fix bug where the client will destroy the  loop
318005         @ 2016-09-20 13:14:23 UTC
318006
318007         · d0a495f08b Merge pull request #36310 from thatch45/keep_loop
318008
318009         · a3c0d4a0ab Add docstring
318010
318011         · 083f1d998a Fix bug where the client will destroy the loop
318012
318013       · PR  #36394:  (oba11)  fix  accound_id  in  boto_iam and get_region in
318014         boto_sns @ 2016-09-20 13:11:28 UTC
318015
318016         · 6e16ca46ed Merge pull request #36394 from oba11/module-fixes
318017
318018         · 966685020c fix accound_id in boto_iam and get_region in boto_sns
318019
318020       · PR #36424: (jfindlay)  skip  some  mac_timezone  tests  @  2016-09-20
318021         06:43:47 UTC
318022
318023         · PR #36194: (jfindlay) skip some mac_timezone tests (refs: #36424)
318024
318025         · ae1fc430c2 Merge pull request #36424 from jfindlay/bp-36194
318026
318027         · a20a2148bf skip some mac_timezone tests
318028
318029       · ISSUE  #36388:  (qurczak)  pkg.list_upgrades return debug information
318030         rather than packages list (refs: #36428)
318031
318032       · PR #36428:  (terminalmage)  A  couple  fixes  for  Antergos  Linux  @
318033         2016-09-20 06:42:16 UTC
318034
318035         · 6319e3419a Merge pull request #36428 from terminalmage/issue36388
318036
318037         · b0069ad0d8  pacman.py: use os_family grain to assign as pkg virtual
318038           module
318039
318040         · 5d632dbfca Properly set os grain for Antergos
318041
318042         · 0ae8dca2d0 pkg.list_upgrades: Ignore "downloading" lines in  pacman
318043           output
318044
318045       · ISSUE  #36373:  (frioux)  Salt-API  does  not validate input properly
318046         (refs: #36425)
318047
318048       · PR #36425: (whiteinge) Check for dictionary  explicitly  since  we're
318049         accessing it as one @ 2016-09-20 06:41:40 UTC
318050
318051         · 155bd14b5e       Merge      pull      request      #36425      from
318052           whiteinge/salt-api-dict-payload
318053
318054         · 0b63ed258f Check for dictionary explicitly since we're accessing it
318055           as one
318056
318057       · ISSUE  saltstack/salt#18341: (falzm) Dry-running state.highstate only
318058         returns the first change  (refs: #36199)
318059
318060       · PR #36199: (thatch45) skip all failhards if  test=True  @  2016-09-20
318061         05:38:32 UTC
318062
318063         · 420be364ee Merge pull request #36199 from thatch45/fix_18341
318064
318065         · e13d61f06a skip all failhards if test=True
318066
318067       · PR  #36418:  (rallytime)  Back-port #36246 to 2016.3 (refs: #37120) @
318068         2016-09-19 21:56:52 UTC
318069
318070         · PR #36246: (twangboy) Fix test_issue_6833_pip_upgrade_pip  test  on
318071           OS X (refs: #36418, #37120)
318072
318073         · b2365f553e Merge pull request #36418 from rallytime/bp-36246
318074
318075         · aab02f28b4  Ensure  we  have a test venv created using virtualenv <
318076           13.0
318077
318078       · PR #36419:  (rallytime)  Back-port  #36329  to  2016.3  @  2016-09-19
318079         21:56:33 UTC
318080
318081         · PR #36329: (oz123) Fix a minor typo in docs (refs: #36419)
318082
318083         · bc703e2062 Merge pull request #36419 from rallytime/bp-36329
318084
318085         · ffdebf7a25 Fix a minor typo in docs
318086
318087       · PR  #36420:  (rallytime)  Back-port  #36365  to  2016.3  @ 2016-09-19
318088         21:56:17 UTC
318089
318090         · PR #36365: (Kimamisa) Fix a minor typo in docs (refs: #36420)
318091
318092         · fbfa0657fc Merge pull request #36420 from rallytime/bp-36365
318093
318094         · 864e513fca Fix a minor typo in docs
318095
318096       · PR #36413: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
318097         2016-09-19 18:59:31 UTC
318098
318099         · 3dd2590e28 Merge pull request #36413 from rallytime/merge-2016.3
318100
318101         · c64e489f6f Merge branch '2015.8' into '2016.3'
318102
318103           · 9bc4eeb71e Fix typo (#36409)
318104
318105           · ac5c812e4b Fix OS identification for CloudLinux (#36408)
318106
318107           · bb4d69f58a  git.latest:  fail gracefully for misconfigured remote
318108             repo (#36391)
318109
318110           · ad7045ad3b Merge pull request #36315 from puneetk/patch-6
318111
318112             · 3ac308ac76 Update aptpkg.py
318113
318114             · 892cc4cd48 Update aptpkg.py
318115
318116             · cbe98d97a3 Fix pylint whitespace errors
318117
318118             · e5371ac720  No force_yes parameter to pkg.upgrade #21248
318119
318120           · 2aa6df859a Merge pull request #36381  from  twangboy/fix_win_ser‐
318121             vice
318122
318123             · 04edea5c59 Add '/y' switch to the net stop and start commands
318124
318125           · 373c5db180  Merge  pull  request #36384 from twangboy/update_set‐
318126             up_req
318127
318128             · a817aef1c2 Add windows requirements file
318129
318130       · ISSUE #36371: (nasenbaer13)  _extern_path  in  fileclient  is  broken
318131         (refs: #36305)
318132
318133       · PR #36305: (gtmanfred) cache query args with url as well @ 2016-09-19
318134         18:30:51 UTC
318135
318136         · a8a3a9f021 Merge pull request #36305 from gtmanfred/2016.3
318137
318138         · 70e7f6d58b cache query args with url as well
318139
318140       · PR #36389: (cachedout) Pr 36386 @ 2016-09-17 11:54:37 UTC
318141
318142         · PR #36386: (xiaoanyunfei) fix salt-api's default opts were  covered
318143           by    salt-master    #35734    (refs:    #36389,   #36650,   #salt‐
318144           stack/salt`#36389`_)
318145
318146         · PR #35734: (xiaoanyunfei) fix salt-api's default opts were  covered
318147           by salt-master (refs: #36386)
318148
318149         · 602bd2d1ef Merge pull request #36389 from cachedout/pr-36386
318150
318151         · f5d63d93cc Lint
318152
318153         · 93269cfb65 fix salt-api log and pid
318154
318155         · PR #36352: (pass-by-value) Update versionadded and release notes
318156
318157       · PR #36369: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
318158         2016-09-16 16:31:14 UTC
318159
318160         · 495d365e54 Merge pull request #36369 from rallytime/merge-2016.3
318161
318162         · 37aea4188a Merge branch '2015.8' into '2016.3'
318163
318164         · 40b2e3d189    Merge    pull    request    #36353    from     rally‐
318165           time/refresh-db-cleanup
318166
318167           · 275319193a   Check  for  Ign/Hit  membership  instead  of  ==  in
318168             aptpkg.refresh_db
318169
318170         · df9d9b3624 Merge pull request #36355 from rallytime/bp-36288
318171
318172           · 70ffdafbf0 Schema test requires jsonschema 2.5.0 or above
318173
318174         · 3f308d7694 postgres_extension: report changes when an extension was
318175           installed (#36335)
318176
318177         · d2a583bc22 Merge pull request #36337 from cachedout/conduct
318178
318179           · 2fb61b9c9f SaltStack's code of conduct
318180
318181         · ef128ad0b0  Return  None  when  find_file  identifies the path as a
318182           directory (#36342)
318183
318184         · PR #36249: (alertedsnake) Quote  postgres  privilege  target  names
318185           (refs: #36280)
318186
318187         · PR #36330: (silenius) set __virtualname__ to 'service'
318188
318189       · ISSUE  #36338:  (jbonachera)  infoblox.present  state  does  not  use
318190         "infoblox_server", "infoblox_user" or  "infoblox_password"  arguments
318191         (refs: #36339)
318192
318193         · PR  #36339:  (jbonachera) Use infoblox_* values if present in argu‐
318194           ments
318195
318196         · PR #36345: (gtmanfred) remove help message from glance module
318197
318198         · PR #36346: (rallytime) Add resize2fs unit test  from  blockdev_test
318199           to disk_test
318200
318201         · PR #36344: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3
318202           (refs: #36346)
318203
318204       · ISSUE #36292: (lorengordon) pkg.check_db is  not  available  in  salt
318205         2016.3? (refs: #36350)
318206
318207       · PR  #36350:  (terminalmage) Add note about yumpkg.check_db removal in
318208         Boron @ 2016-09-15 20:32:32 UTC
318209
318210         · f09c3e499f Merge pull request #36350 from terminalmage/docs
318211
318212         · b815c98577 Add note about yumpkg.check_db removal in Boron
318213
318214       · PR #36344: (rallytime) [2016.3] Merge forward from 2015.8  to  2016.3
318215         (refs: #36346) @ 2016-09-15 17:38:57 UTC
318216
318217         · a33da842c0 Merge pull request #36344 from rallytime/merge-2016.3
318218
318219         · d1f560147d Merge branch '2015.8' into '2016.3'
318220
318221         · dc518c5340  Skip  test_resize2fs  if  resize2fs  does not exists (‐
318222           #36325)
318223
318224       · ISSUE #36308: (ahammond) salt-cloud defaults to IPv6 rather than IPv6
318225         (refs: #36312)
318226
318227         · PR  #36312: (ahammond) merge error overwrites correct ssh_host with
318228           stale data in ip_address
318229
318230       · ISSUE #35819: (cable2999) pkg.group_installed doesn't handle  missing
318231         package group (refs: #`saltstack/salt`#35907`_`_, #35907)
318232
318233         · PR  saltstack/salt#35907:  (rallytime)  Catch CommandExecutionError
318234           when the group in group_installed doesn't exist (refs: #36299)
318235
318236       · PR #36299: (rallytime) Gate the pkg.group_installed state  test:  not
318237         all pkg modules have group_install @ 2016-09-14 19:04:26 UTC
318238
318239         · 6a3019bbf1     Merge    pull    request    #36299    from    rally‐
318240           time/gate-pkg-group-installed-test
318241
318242         · 9e15df9b23 Switch the order of the decorator
318243
318244         · ee997be6d8 Fix pkg group test by passing a list instead of str
318245
318246         · c7d8867096 Gate the pkg.group_installed state  test:  not  all  pkg
318247           modules have group_install
318248
318249       · ISSUE #33686: (BretFisher) blockreplace marker_end isn't applied with
318250         newline (refs: #`saltstack/salt`#36273`_`_, #36273)
318251
318252         · PR saltstack/salt#36273:  (techhat)  Add  append_newline  flag  for
318253           #33686 (refs: #36295)
318254
318255         · PR #36295: (rallytime) Back-port #36273 to 2016.3
318256
318257         · PR  #36273:  (techhat)  Add  append_newline  flag for #33686 (refs:
318258           #36295)
318259
318260         · PR #36296: (rallytime) Back-port #36124 to 2016.3
318261
318262         · PR #36124: (twangboy) Skip  test  on  all  OS's  but  linux  (refs:
318263           #36296)
318264
318265       · PR #36297: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
318266         2016-09-14 16:07:30 UTC
318267
318268         · a8a72c985f Merge pull request #36297 from rallytime/merge-2016.3
318269
318270         · e2f1cf6025 Merge branch '2015.8' into '2016.3'
318271
318272           · b9b8e45362   Merge   pull   request   #36272    from    terminal‐
318273             mage/improved-gitfs-logging
318274
318275             · 223a20e987 Improved gitfs/git_pillar error logging
318276
318277           · abb6aacb4b    Merge    pull   request   #36277   from   terminal‐
318278             mage/gitfs-check-key-path
318279
318280             · 4fee18c820 salt.utils.gitfs: Check for existence of ssh keys
318281
318282           · ed2d2bd331 Integration tests fixes for 2015.8 (#36262)
318283
318284           · 297a12c387 Fix misspelling of "occurred" in  log  messages/excep‐
318285             tions (#36270)
318286
318287         · PR #36178: (cachedout) Filter out pub kwargs from cloud runner
318288
318289       · PR  #36238:  (pass-by-value)  Add ability to clone from a snapshot to
318290         salt-cloud vmware driver @ 2016-09-14 05:31:51 UTC
318291
318292         · fc7a1d536f      Merge      pull      request      #36238       from
318293           pass-by-value/vmware_clone_from_snapshot
318294
318295         · dd670bd18f Fix lint error and add try except
318296
318297         · d96981639b  Add  ability  to  clone  from  a snapshot to salt-cloud
318298           vmware driver
318299
318300         · PR #36263: (meaksh) Integration tests fixes for 2016.3
318301
318302       · PR #36264: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
318303         2016-09-13 18:25:41 UTC
318304
318305         · d634fd8628 Merge pull request #36264 from rallytime/merge-2016.3
318306
318307         · f603757b55 Merge branch '2015.8' into '2016.3'
318308
318309         · 931486ba35 Merge pull request #36096 from twangboy/update_setup
318310
318311           · dc1988add5 fix download when requests not present
318312
318313           · b4479bff5f Add additional required dll's
318314
318315         · b0dd6ff5c8 Merge pull request #36244 from terminalmage/gen-back-bug
318316
318317           · 363b21fd9b  salt.fileserver.Fileserver: Don't try to split a list
318318             in _gen_back
318319
318320         · dcc9380996 Merge pull request #36245 from terminalmage/roots-bug
318321
318322           · 75d4997b70 roots backend: Don't include '.' or '..' in empty_dirs
318323
318324         · fdf40907b7 Some unit tests fixes (#36227)
318325
318326       · ISSUE     #33525:     (anlutro)     file.serialize     no      longer
318327         indents/pretty-prints in 2016.3 (refs: #35688)
318328
318329       · PR  #35688:  (cachedout)  Splat  serializer  default configs into the
318330         serializer kwargs @ 2016-09-13 09:21:46 UTC
318331
318332         · de06116075 Merge pull request #35688 from cachedout/issue_33525
318333
318334         · 4910e8191c Provide fallback for serializers without opts
318335
318336         · a238666aba Add serializer test
318337
318338         · 345fd2a9e5 Splat serializer default  configs  into  the  serializer
318339           kwargs
318340
318341       · ISSUE  #36021:  (mirceaulinic)  Scheduled  runners  not executed (for
318342         proxy minions, at least) (refs: #36025)
318343
318344       · PR #36025: (mirceaulinic)  Potential  fix  for  #36021  @  2016-09-13
318345         07:46:41 UTC
318346
318347         · d9d477ed45 Merge pull request #36025 from cloudflare/CF-FIX-36021
318348
318349         · 03007be6b1 Potential fix for #36021
318350
318351         · PR #36183: (opdude) Fix timezones states on OS X
318352
318353       · PR #36235: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
318354         2016-09-12 17:40:42 UTC
318355
318356         · fcbebb40c3 Merge pull request #36235 from rallytime/merge-2016.3
318357
318358         · 99dcf84b62 Merge branch '2015.8' into '2016.3'
318359
318360           · 4e9490eebe Merge pull request #36214  from  vutny/postgres-exten‐
318361             sion-doc
318362
318363             · 5fe548f043 postgres_extension state module: fix docstrings
318364
318365           · 5b7b96c0b7   Merge   pull   request   #36205   from   vutny/post‐
318366             gres-tablespace-doc
318367
318368             · 78296b90d8  Add   missing   maintenance_db   kwarg   to   post‐
318369               gres_tablespace.present docstring
318370
318371           · 6a5f7cb346  Ignore  states  that  do not have a numeric jid, i.e.
318372             'req' (#36185)
318373
318374       · ISSUE #35423: (Ch3LL) Stacktrace when running  state.sls  against  an
318375         sls does not exist (refs: #36137)
318376
318377       · ISSUE  #33915:  (mattglv)  Orchestration  runner output on Success vs
318378         Failures in 2016.3.0 (refs: #36137)
318379
318380       · ISSUE   #25664:   (sdm24)   2015.5.2    MySQL   Returner:    salt-run
318381         jobs.lookup_jid  doesn't  return  full  result  for  highstate output
318382         (refs: #35559)
318383
318384       · PR #36137: (cachedout) Allow highstate outputter to show all  results
318385         @ 2016-09-12 16:37:49 UTC
318386
318387         · PR #35559: (Jlin317) Fix highstate outputter when it's given multi‐
318388           ple results (refs: #36137)
318389
318390         · 7b96197c5e Merge pull request #36137 from cachedout/issue_35423
318391
318392         · 1e8431f2b8 Allow highstate outputter to show all results
318393
318394       · ISSUE #35340: (dqminh) Custom modules are only resynced to minions at
318395         highstate (refs: #36217)
318396
318397         · PR  #36217:  (cachedout)  Docs  clarification  for  module sync and
318398           state.apply
318399
318400       · ISSUE #35480:  (jelenak)  200  processes  of  salt-master  (2016.3.2)
318401         (refs: #36184, #36555, #37254)
318402
318403       · PR  #36184:  (DmitryKuzmenko)  Disable signal handling while handling
318404         signal @ 2016-09-11 22:59:08 UTC
318405
318406         · 6ebe655e17   Merge   pull   request   #36184    from    DSRCorpora‐
318407           tion/bugs/35480_master_shutdown
318408
318409         · 229504efef Removed unused import.
318410
318411         · ca8eb7e076  Don't  run the same signal handler twice. Catch os.kill
318412           errors.
318413
318414       · PR #36203: (xiaoanyunfei) fix  owner  of  MultiprocessingLoggingQueue
318415         (refs: #37119) @ 2016-09-11 09:15:15 UTC
318416
318417         · f11f093f8c Merge pull request #36203 from xiaoanyunfei/logowner
318418
318419         · 74dc90c7bb cancle pr last
318420
318421         · 90e4a25dd0         Merge         branch        'logowner'        of
318422           https://github.com/xiaoanyunfei/salt into logowner
318423
318424           · bd61b88fc8 fix log owner
318425
318426           · 58160ed6c0 Merge  branch  '2016.3'  of  github.com:saltstack/salt
318427             into 2016.3
318428
318429           · f2de71782b move back
318430
318431           · b8214824fd add simplify code
318432
318433           · aec9385c6b  Merge  branch  '2016.3'  of github.com:saltstack/salt
318434             into 2016.3
318435
318436           · 1074b3355d Merge  branch  '2016.3'  of  github.com:saltstack/salt
318437             into 2016.3
318438
318439           · ea0d74cd27 fix salt-api opts
318440
318441         · ffd87b2f2f fix logqueue owner
318442
318443         · PR #36193: (thatch45) Fix stack trace in salt-ssh gitfs
318444
318445       · PR #36188: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
318446         2016-09-09 18:59:20 UTC
318447
318448         · f035121291 Merge pull request #36188 from rallytime/merge-2016.3
318449
318450         · 521a7b2470 Merge branch '2015.8' into '2016.3'
318451
318452         · d4628f3c6b Allow additional kwargs in states.dockerng.image_present
318453           (#36156)
318454
318455         · 24b0387b92 Back-port #36070 to 2015.8 (#36169)
318456
318457         · 116d7ac3e5  If  windows pkg db hasn't been created yet, refresh the
318458           db instead of stacktracing (#36008)
318459
318460       · ISSUE #35819: (cable2999) pkg.group_installed doesn't handle  missing
318461         package group (refs: #`saltstack/salt`#35907`_`_, #35907)
318462
318463       · PR  #35907: (rallytime) Catch CommandExecutionError when the group in
318464         group_installed doesn't exist @ 2016-09-09 10:14:16 UTC
318465
318466         · 1d5f97d36b Merge pull request #35907 from rallytime/fix-35819
318467
318468         · d7380d83be requires_system_grains  decorator  needs  a  grains=None
318469           kwarg
318470
318471         · b20f6b9384 Catch CommandExecutionError when group_installed doesn't
318472           exist
318473
318474       · ISSUE saltstack/salt#35972: (tjyang) DeprecationWarning:  The  "osma‐
318475         jorrelease" will be a type of an integer. (refs: #36068)
318476
318477         · PR  saltstack/salt#35637:  (cachedout)  Add  Nitrogen release notes
318478           (refs: #36068)
318479
318480       · PR #36068: (rallytime) Remove grains type  deprecation  warning  from
318481         2016.3 @ 2016-09-09 10:00:50 UTC
318482
318483         · 40127b6bf3 Merge pull request #36068 from rallytime/fix-35972
318484
318485         · 2b7679c9f6 Remove grains type deprecation warning from 2016.3
318486
318487       · ISSUE  #36094:  (UtahDave)  Windows  stacktraces on msgpack on Carbon
318488         (refs: #36152)
318489
318490       · PR  #36152:  (cachedout)  Remove  unnecessary  unpack  @   2016-09-09
318491         09:13:47 UTC
318492
318493         · 24bd03734d Merge pull request #36152 from cachedout/issue_36094
318494
318495         · 95eb95a0f8 Remove unnecessary unpack
318496
318497       · PR #36158: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
318498         2016-09-08 21:53:50 UTC
318499
318500         · dc3a68ed8c Merge pull request #36158 from rallytime/merge-2016.3
318501
318502         · 7f955bda0a Merge branch '2015.8' into '2016.3'
318503
318504           · 6242702288 Fix issue with cp.push (#36136)
318505
318506           · 0e13118f6e Document owner kwarg for postgres_schema.present state
318507             function (#36147)
318508
318509           · 4cc8ea9577      Merge      pull      request      #36146     from
318510             meaksh/tests-fixes-for-2015.8
318511
318512             · 9f9aa4779c rename darwin_sysctl.py to mac_sysctl.py
318513
318514             · 2cf6f36d89 modules.darwin_sysctl: __virtual__ return err msg.
318515
318516             · f74ca15f50 Remove test for file dir behavior
318517
318518             · c65aefee20 Fix tests that assert CommandExecutionError (#32485)
318519
318520             · f8c0b439b8 Fixed more lint
318521
318522             · 63ff731009 Fixed tests
318523
318524             · 04b1a4a9ca Fixed use of assert_has_calls in tests.
318525
318526             · 46e4bb58e5 Fixed LoadAuthTestCase
318527
318528             · 4e9733ad6d Rename dockerio.py unit tests to dockerio_test.py
318529
318530             · ec0cc943e0 Make sure spm tests are picked up by runtests.
318531
318532             · 2605f34849 Fix missing first data in  stream  when  subscribing
318533               stream using a function 'read_async'.
318534
318535             · 305bab8be0 Fixed _interfaces_ifconfig output for SunOS test
318536
318537             · b5ca02c867 Fix tests that assert CommandExecutionError (#32485)
318538
318539             · 1fb6340fef Fix tests (#35693)
318540
318541             · 5977f1f54c Skip utils_test if timelib is not installed (#32699)
318542
318543             · d1b9a4061e Fixing skipped boto tests to prevent errors if boto3
318544               does not exists.
318545
318546           · c4ddfe3887   Merge   pull   request   #35954   from   morganwill‐
318547             cock/upgrade-on-batteries
318548
318549             · 108f9470f2  win_pkg: report failure for failed launch of Sched‐
318550               uled Task
318551
318552             · e0978220f7 win_pkg: allow minion upgrade when using batteries
318553
318554           · 94b7659304   Merge   pull   request   #36129    from    terminal‐
318555             mage/pygit2-ssl_verify
318556
318557             · 640f0c17c6 pygit2: Prevent traceback on initial gitfs setup
318558
318559           · 7cdbc546f1 Back-port #36062 to 2015.8 (#36118)
318560
318561         · PR #36170: (rallytime) Back-port #36154 to 2016.3
318562
318563         · PR  #36154: (DavidWittman) Remove unclosed backticks in walkthrough
318564           doc (refs: #36170)
318565
318566       · ISSUE #36055: (gladiatr72) 2016.3.3 -- missing salt-cloud  events  on
318567         the master event bus (refs: #36161)
318568
318569       · PR  #36161:  (jacobhammons) Adds #36055 to release notes @ 2016-09-08
318570         17:11:36 UTC
318571
318572         · 4ccf8a841f Merge pull request #36161 from jacobhammons/relnotes
318573
318574         · ecb0979be7 Adds #36055 to release notes
318575
318576       · PR #36139:  (meaksh)  Fixing  unit  tests  for  2016.3  @  2016-09-08
318577         13:20:21 UTC
318578
318579         · 1f909038f0       Merge      pull      request      #36139      from
318580           meaksh/tests-fixes-for-2016.3
318581
318582         · 52a7ed605e Fixed _interfaces_ifconfig output for SunOS test
318583
318584         · 158bcbff65 Fix tests that assert CommandExecutionError (#32485)
318585
318586         · 8b480167e1 Fix tests (#35693)
318587
318588         · 29814f9d43 Skip utils_test if timelib is not installed (#32699)
318589
318590         · d1d806f893 Fix PortageConfigTestCase in  case  of  portage  is  not
318591           present
318592
318593         · 1c260e4bd0 Fix tests to prevent errors when libcloud is not present
318594
318595         · 71ebf2c8cd  Fixing  skipped  boto  tests to prevent errors if boto3
318596           does not exists.
318597
318598       · PR #36143: (multani) doc: fix doc formatting for salt.states.mount  @
318599         2016-09-08 13:11:03 UTC
318600
318601         · 3eb3df55ad     Merge     pull     request    #36143    from    mul‐
318602           tani/fix-doc-state-mount
318603
318604         · 035a212a9b doc: fix doc formatting for salt.states.mount
318605
318606       · ISSUE saltstack/salt#18419: (jasonrm)  salt-cloud  fails  to  run  as
318607         non-root user (refs: #35483)
318608
318609       · ISSUE  #36057:  (Inveracity)  Regression in opennebula cloud provider
318610         (refs: #36070)
318611
318612       · ISSUE #34806: (jerrykan)  salt-cloud  ignores  sock_dir  when  firing
318613         event (refs: #35483)
318614
318615       · PR  #36070:  (rallytime) Use __utils__ instead of salt.utils.cloud in
318616         opennebula driver (refs: #36169) @ 2016-09-08 01:18:45 UTC
318617
318618         · PR #35483: (gtmanfred) use __utils__ in salt.cloud  (refs:  #35855,
318619           #37057, #36070)
318620
318621         · 70da628018 Merge pull request #36070 from rallytime/fix-36057
318622
318623         · de4f77cb68  Fixup  failing  test: need to mock __utils__ instead of
318624           salt.utils.cloud call
318625
318626         · 25e3f2b4b8 Use __utils__ instead of salt.utils.cloud in  opennebula
318627           driver
318628
318629       · PR  #36089:  (terminalmage)  Support running git states / remote exec
318630         funcs as a different user in Windows @ 2016-09-08 01:17:23 UTC
318631
318632         · b7556a2aeb Merge pull request #36089 from terminalmage/issue35565
318633
318634         · 796156c5f5 Add attribution
318635
318636         · 2e56527ead Move command logging to before win_runas
318637
318638         · 91eafddda6 Pass the "password" param to git module functions
318639
318640         · 7871065d32 Use "user" instead of "runas" in _git_run() helper
318641
318642         · 5943b4662c Add "password" param to funcs  which  support  the  user
318643           parameter
318644
318645         · 5c7b9f0341 Make "password" an explicit argument, not a kwarg
318646
318647       · PR #35923: (kstreee) Fixes a bug that Ctrl-c not working on Salt CLI.
318648         @ 2016-09-07 11:47:50 UTC
318649
318650         · 45ba2e806b Merge pull request #35923 from kstreee/fix-cli-stalling
318651
318652         · 6569267afc Fixes a bug that Ctrl-c not working on Salt CLI.
318653
318654       · ISSUE #18341: (falzm) Dry-running state.highstate  only  returns  the
318655         first change  (refs: #36078)
318656
318657       · PR  #36078:  (thatch45)  Failhard test=True fix @ 2016-09-07 05:10:35
318658         UTC
318659
318660         · 48dc5ad4ee Merge pull request #36078 from thatch45/failhard_test
318661
318662         · 9b36904149 Fix failhard causing test=True to failhard too soon
318663
318664       · ISSUE #34515: (vernondcole) Please actually implement skip_verify for
318665         archive.extracted (refs: #34529)
318666
318667       · PR #34529: (Ch3LL) Add skip_verify for archive.extracted @ 2016-09-06
318668         21:05:31 UTC
318669
318670         · 40081176af Merge pull request #34529 from Ch3LL/add_skip_verify_ar‐
318671           chive
318672
318673         · 38203e3d2c add tornado web app to serve up static file for test
318674
318675         · 617f5680e4 add windows path and add custom tar
318676
318677         · c5035118bf add skip_verify option to archive.extracted
318678
318679       · PR #36073: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
318680         2016-09-06 19:45:48 UTC
318681
318682         · fc41c744a0 Merge pull request #36073 from rallytime/merge-2016.3
318683
318684         · e9c634685b Merge branch '2015.8' into '2016.3'
318685
318686         · fa09050150 consul: fix formatting of consul.agent_join (#36061)
318687
318688         · PR saltstack/salt#36030: (whiteinge) Add include_*  kwargs  to  the
318689           *_dict key functions (refs: #36040)
318690
318691         · PR  #36040:  (rallytime) Add docs for new kwargs added to the wheel
318692           key module
318693
318694         · PR #36047: (whiteinge) Doc cherrypy deemphasize urlencoded
318695
318696       · PR #36039: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
318697         2016-09-02 21:50:47 UTC
318698
318699         · 74143999d3 Merge pull request #36039 from rallytime/merge-2016.3
318700
318701         · 5f499cfd41 Merge branch '2015.8' into '2016.3'
318702
318703         · 1b39c7ed48    Merge    pull   request   #35978   from   DSRCorpora‐
318704           tion/bugs/28462_update_auth_data_on_reauth
318705
318706           · 778ae9a9ff Update auth data on reauth.
318707
318708         · b652271ddc Fix type error in networkfbsd osmajorrelease compare  (‐
318709           #36016)
318710
318711         · bc81818075 Merge pull request #36018 from meaksh/bp-36000-to-2015.8
318712
318713           · 8c05d2aac5 Lint for #35916
318714
318715           · b5fe6100ee  Check  for  single  quote  before splitting on single
318716             quote
318717
318718       · ISSUE saltstack/salt#35683: (JensRantil) Salt wheel key documentation
318719         improvements (refs: #35824, #saltstack/salt`#35824`_)
318720
318721         · PR  saltstack/salt#35824: (rallytime) Add more documentation to the
318722           wheel key module (refs: #36038)
318723
318724         · PR #36038: (rallytime) Back-port #35824 to 2016.3
318725
318726         · PR #35824: (rallytime) Add more documentation to the wheel key mod‐
318727           ule (refs: #36038)
318728
318729         · PR  #36033:  (gtmanfred) catch unicode encoding errors in json out‐
318730           putter
318731
318732         · PR #36010: (eliasp) modules.service: Do not default  to  OpenRC  on
318733           Gentoo, also allow systemd
318734
318735       · ISSUE    #33969:    (Inveracity)   Redis   returner   stacktrace   in
318736         clean_old_jobs 2016.3.0 (refs: #33998)
318737
318738         · PR #36014: (rallytime) Back-port #33998 to 2016.3
318739
318740         · PR #33998: (jizhilong) fix  redis_return's  clean_old_jobs.  (refs:
318741           #36014)
318742
318743       · ISSUE #35618: (komljen) [salt-cloud] With 'make_master: True' minions
318744         are configured with the masters  public  IP  address  on  AWS  (refs:
318745         #35919, #saltstack/salt`#35919`_)
318746
318747         · PR   saltstack/salt#35919:   (rallytime)  Add  documentation  about
318748           salt_interface to EC2 docs (refs: #36015)
318749
318750         · PR #36015: (rallytime) Back-port #35919 to 2016.3
318751
318752         · PR #35919: (rallytime) Add documentation  about  salt_interface  to
318753           EC2 docs (refs: #36015)
318754
318755         · PR  saltstack/salt#36000:  (rallytime)  Lint  #35916 (refs: #36019,
318756           #36018)
318757
318758         · PR saltstack/salt#35916: (swiftgist) Check for single quote  before
318759           splitting on single quote (refs: #36019, #36018)
318760
318761       · PR  #36019: (meaksh) Back-port #36000 to 2016.3 @ 2016-09-02 20:34:30
318762         UTC
318763
318764         · PR #36000: (rallytime) Lint #35916 (refs: #36019, #36018)
318765
318766         · PR #35916: (swiftgist) Check for single quote before  splitting  on
318767           single quote (refs: #`saltstack/salt`#36000`_`_, #36000)
318768
318769         · e88df5845d Merge pull request #36019 from meaksh/bp-36000-to-2016.3
318770
318771         · 1b2abeabd1 Lint for #35916
318772
318773         · 8b4f46fbd0 Check for single quote before splitting on single quote
318774
318775         · PR  #36028:  (thatch45)  Fix  error when profiling is turned on and
318776           minions don't return (refs: #36730)
318777
318778         · PR #36030: (whiteinge) Add include_* kwargs to the *_dict key func‐
318779           tions
318780
318781       · ISSUE  saltstack/salt#31454:  (johje349) Salt Mine memory leak (refs:
318782         #36024)
318783
318784       · PR #36024: (DmitryKuzmenko) Don't subscribe to events if not sure  it
318785         would read them. (refs: #36720) @ 2016-09-02 15:41:01 UTC
318786
318787         · cd60ec5d57    Merge    pull   request   #36024   from   DSRCorpora‐
318788           tion/bugs/31454_local_client_memleak
318789
318790         · 01911c530e Don't subscribe to events if  not  sure  it  would  read
318791           them.
318792
318793       · PR #36023: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
318794         2016-09-02 15:37:59 UTC
318795
318796         · 32d5f896d4 Merge pull request #36023 from rallytime/merge-2016.3
318797
318798         · a63c9dfc6a Merge branch '2015.8' into '2016.3'
318799
318800         · e6b93c2380    Merge    pull    request    #36022     from     salt‐
318801           stack/revert-33770-service_tests
318802
318803           · 6cf56843d4 Revert "service state integration tests"
318804
318805       · PR #36004: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
318806         2016-09-01 21:11:06 UTC
318807
318808         · d248ab0120 Merge pull request #36004 from rallytime/merge-2016.3
318809
318810         · 318bffed1d Merge branch '2015.8' into '2016.3'
318811
318812         · 678f10cf8b Avoid  traceback  in  mac_user.py  when  user.chhome  is
318813           invoked from a user state (#35901)
318814
318815         · 2da501071e     Merge    pull    request    #35967    from    twang‐
318816           boy/improve_show_sls_2015.8
318817
318818           · 2ed9a82ef8 Allow full path to be passed to show_sls
318819
318820         · d86fba15b3  Merge  pull  request  #35981   from   cachedout/cptest‐
318821           case_license
318822
318823           · dd562dd200 Update Salt's licensing information to include cptest‐
318824             case
318825
318826       · PR #35952: (twangboy) Load UserProfile when using  RunAs  (2016.3)  @
318827         2016-09-01 15:18:15 UTC
318828
318829         · f7b85cb70b     Merge    pull    request    #35952    from    twang‐
318830           boy/fix_win_runas_2016.3
318831
318832         · 3721a09ea3 Load UserProfile on RunAs
318833
318834       · PR #35959: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
318835         2016-08-31 22:14:54 UTC
318836
318837         · b8ca3f5e4d Merge pull request #35959 from rallytime/merge-2016.3
318838
318839         · bb4605ffee Merge branch '2015.8' into '2016.3'
318840
318841         · 0f0f15d048 Merge pull request #35956 from jacobhammons/dot12
318842
318843           · 3e21e35933 Version docs to 2015.8.12
318844
318845         · d2db4ea7a2 cachedir should be /cloud not /master (#35897)
318846
318847         · f4cdcc0d66  Better  logging  when file_recv_max_size is exceeded (‐
318848           #35914)
318849
318850       · PR #35955: (jacobhammons)  Version  docs  to  2016.3.3  @  2016-08-31
318851         20:35:55 UTC
318852
318853         · a87b91a8ea Merge pull request #35955 from jacobhammons/dot3
318854
318855         · ac8fe6ff9e Version docs to 2016.3.3
318856
318857       · ISSUE  #875:  (dhoffutt)  state pkg won't install package nscd (refs:
318858         #35865)
318859
318860         · PR #35865: (jacobhammons) Fix incremental doc builds - OS X,  post‐
318861           gres returner, tcp transport doc updates
318862
318863       · ISSUE  #35829:  (amontalban)  FreeBSD  pkg.latest  speed  improvement
318864         (refs: #35904)
318865
318866         · PR #35904: (amontalban) Fixes #35829 for branch 2016.3
318867
318868         · PR #35931: (vutny) Salt Cloud: add centos default user for official
318869           CentOS AMIs
318870
318871         · PR  saltstack/salt#35892:  (cachedout)  Fixup  Docker  test  (refs:
318872           #35926)
318873
318874         · PR saltstack/salt#35581: (pbdeuchler) Correctly check if  image  is
318875           in current tags (refs: #35926)
318876
318877         · PR  #35926:  (ticosax)  [dockerng]  Mention that docker image names
318878           must be given with repository
318879
318880         · PR #35581: (pbdeuchler) Correctly check if image is in current tags
318881           (refs: #35926)
318882
318883       · ISSUE  #35825:  (tjyang)  "'drac'  __virtual__  returned  False" from
318884         salt-run   drac.version host (refs: #35868)
318885
318886       · PR #35868: (rallytime) Add more helpful return messages for drac run‐
318887         ner @ 2016-08-31 01:33:27 UTC
318888
318889         · ca06c62900 Merge pull request #35868 from rallytime/fix-35825
318890
318891         · 00ae17248e Update error message to be more helpful and fix doc for‐
318892           matting
318893
318894         · 30a422bfe0 Add more helpful return messages for drac runner
318895
318896       · PR #35903: (rallytime) [2016.3] Merge forward from 2015.8 into 2016.3
318897         @ 2016-08-30 17:15:36 UTC
318898
318899         · 95b89dbce9 Merge pull request #35903 from rallytime/merge-2016.3
318900
318901         · 9e55bee5d5 Merge branch '2015.8' into '2016.3'
318902
318903         · 08e10f69eb Clarifies how to create aliased functions (#35891)
318904
318905         · 6dd5f68a08 Merge pull request #35856 from vutny/2015.8
318906
318907           · eceedadfa5 salt-cloud: fix path to Salt Master socket dir
318908
318909         · 336d1a700d Merge pull request #35880 from terminalmage/issue35747
318910
318911           · 123a611066 pacman.py: Fix incorrect return in pkg.latest_version
318912
318913         · 6383451c99   Merge  pull  request  #35884  from  terminalmage/clar‐
318914           ify-pkg-latest-logic
318915
318916           · b0b419d1d8 Fix condition for Gentoo USE flag update
318917
318918           · 1542fd4716 Add clarifying comments to the pkg.latest state
318919
318920       · ISSUE saltstack/salt#18419: (jasonrm)  salt-cloud  fails  to  run  as
318921         non-root user (refs: #35483)
318922
318923       · ISSUE  #34806:  (jerrykan)  salt-cloud  ignores  sock_dir when firing
318924         event (refs: #35483)
318925
318926       · PR #35855: (vutny) [REGRESSION] salt-cloud: fix path to  Salt  Master
318927         socket dir (refs: #35856) @ 2016-08-30 07:09:04 UTC
318928
318929         · PR  #35483:  (gtmanfred) use __utils__ in salt.cloud (refs: #35855,
318930           #37057, #36070)
318931
318932         · cf8f081401      Merge      pull      request      #35855       from
318933           vutny/salt-cloud-fix-sock_dir
318934
318935         · a662ea5337 salt-cloud: fix path to Salt Master socket dir
318936
318937       · PR  #35881:  (whiteinge)  Add fail-safe in case Salt gives us data we
318938         can't serialize @ 2016-08-30 06:43:11 UTC
318939
318940         · f0987cf27a      Merge      pull      request      #35881       from
318941           whiteinge/salt-api-catch-serializer-error
318942
318943         · 6e27fad21f  Add fail-safe in case Salt gives us data we can't seri‐
318944           alize
318945
318946       · ISSUE #35837: (JensRantil)  Doc  improvement:  Mention  engine  under
318947         extension modules (refs: #35864)
318948
318949         · PR  #35864:  (rallytime)  Add  engines  to list of extension module
318950           options in master config docs
318951
318952       · ISSUE #35835: (JensRantil) Incorrect SQS config documentation  state‐
318953         ment (refs: #35861)
318954
318955         · PR  #35861:  (rallytime) Fix IAM roles statement to be boto version
318956           specific in sqs_events
318957
318958       · ISSUE #35834: (JensRantil) Incorrect SQS engine config (refs: #35860)
318959
318960         · PR #35860: (rallytime) Fix doc  formatting  for  sqs_events  engine
318961           example config
318962
318963       · PR #35859: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
318964         2016-08-29 18:21:04 UTC
318965
318966         · 96747bc3bb Merge pull request #35859 from rallytime/merge-2016.3
318967
318968         · 5f93d682aa Merge branch '2015.8' into '2016.3'
318969
318970         · eda2ae0add Merge pull request #35781 from thatch45/ssh_deploy_more
318971
318972           · 2558dcc100 follow up on the re-deploy  if  there  is  a  checksum
318973             missmatch
318974
318975         · 165237412c Merge pull request #35815 from gtmanfred/2015.8
318976
318977           · 805d43598e list_nodes_min should return a minimum dictionary
318978
318979         · b12c6577d2    Merge    pull    request    #35833   from   terminal‐
318980           mage/2015.8-top-file-merging-docs
318981
318982           · c534d88280 More clarification/correction in minion docs
318983
318984           · e9e6ea8485 One more tweak to top file merging docs
318985
318986       · ISSUE #34478: (hujunya) makedir bug in the file module (refs: #35849)
318987
318988       · PR #35849: (theredcat) Fix potential infinite loop with no error when
318989         using recursive makedirs @ 2016-08-29 11:37:19 UTC
318990
318991         · dc705ff675    Merge    pull    request    #35849    from    thered‐
318992           cat/fix_file_makedirs_infinite_loop
318993
318994         · 86d5398b28 Fix potential infinite loop with  no  error  when  using
318995           recursive makedirs
318996
318997       · PR  #35682:  (vutny)  [BACKPORT]  Fix empty fun_agrs field in Reactor
318998         generated events @ 2016-08-29 04:11:06 UTC
318999
319000         · PR #35659: (vutny) Fix empty fun_agrs field  in  Reactor  generated
319001           events (refs: #35682)
319002
319003         · PR #35059: (vutny) Add fun_args field to events generated by execu‐
319004           tion of Master modules (refs: #35659, #35682)
319005
319006         · 433743f609 Merge pull request #35682 from vutny/backport-35659
319007
319008         · 78d16a8057 [BACKPORT] Fix empty fun_agrs field in Reactor generated
319009           events
319010
319011       · ISSUE  #34973:  (szjur)  Syndic  stops  forwarding job results if the
319012         local salt-master is restarted (refs: #35792)
319013
319014       · PR #35792: (DmitryKuzmenko) Reconnect syndic to event bus  if  master
319015         disappeared.  @ 2016-08-29 02:13:19 UTC
319016
319017         · 30c2db7b09    Merge    pull   request   #35792   from   DSRCorpora‐
319018           tion/bugs/34973_syndic_reconnect_master_2016.3
319019
319020         · 9afdbb0e97 Reconnect syndic to master event bus  if  master  disap‐
319021           pears.
319022
319023         · ab1afd002e Fixed syndic event bus connection.
319024
319025         · ea8e1385c1  Fixed  syndic  unhandled  future exception if master is
319026           stopped.
319027
319028       · PR #35817: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
319029         2016-08-26 20:44:18 UTC
319030
319031         · 43c08ae431 Merge pull request #35817 from rallytime/merge-2016.3
319032
319033         · e8e73b55ac Merge branch '2015.8' into '2016.3'
319034
319035         · d285fe64b7 Merge pull request #35811 from rallytime/bp-35576
319036
319037           · 04c063b315 Updated user.py to redact password when test=true
319038
319039         · e212c55b7a Schedule documentation update (#35745)
319040
319041         · eb4d2f299b Better unicode handling in gitfs (#35802)
319042
319043         · 0ee237a9cb Remove extra "to" in top.rst docs (#35808)
319044
319045         · 2fc61763d8  Correct  the top_file_merging_strategy documentation (‐
319046           #35774)
319047
319048         · PR #35788: (hu-dabao) fix 34241, webutil.useradd_all is deprecated
319049
319050       · ISSUE saltstack/salt#33536: (murzick) pkgrepo.managed does  not  dis‐
319051         able a yum repo with "disabled: True" (refs: #35055)
319052
319053       · ISSUE  #33536:  (murzick) pkgrepo.managed does not disable a yum repo
319054         with "disabled: True" (refs: #35055, #35806)
319055
319056         · PR #35810: (rallytime) Back-port #35806 to 2016.3
319057
319058         · PR #35806: (rallytime) Bump  the  deprecation  warning  in  pkgrepo
319059           state to Nitrogen (refs: #35810)
319060
319061         · PR  #35055:  (galet)  #33536 pkgrepo.managed does not disable a yum
319062           repo with "disabled: True" (refs: #35806)
319063
319064       · ISSUE #35741: (fix7) modjk: use of auth credentials to access jk-sta‐
319065         tus broken (refs: #35796)
319066
319067         · PR #35796: (fix7) Fix #35741
319068
319069         · PR #35807: (jacobhammons) Adds mock for tornado.locks
319070
319071         · PR #35800: (alexander-bauer) Trivial documentation spelling fix
319072
319073       · PR #35763: (isbm) Sphinx crash: documentation config fix @ 2016-08-25
319074         21:12:39 UTC
319075
319076         · 9b5ee2155e      Merge      pull      request      #35763       from
319077           isbm/isbm-doc-conf-sphinx-crashfix
319078
319079         · a56ae4e8f5  Configure  importing Mock to handle 'total' method from
319080           psutils properly
319081
319082         · 9c057d0266 Return psutil back to the list of mocked imports
319083
319084         · 3d7758461e Improve Mock to be flexible and  able  to  mock  methods
319085           from the mocked modules
319086
319087       · ISSUE  #35771:  (bdrung)  Spelling  errors  in  salt  2016.3.2 (refs:
319088         #35773)
319089
319090         · PR #35773: (rallytime) Documentation spelling fixes
319091
319092       · PR #35767: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
319093         2016-08-25 16:09:37 UTC
319094
319095         · e355c1cf90 Merge pull request #35767 from rallytime/merge-2016.3
319096
319097         · 8ad6a12c80 Merge branch '2015.8' into '2016.3'
319098
319099         · 2a12795bac Fixes Windows download paths (#35742)
319100
319101       · ISSUE  #20575:  (starchy)  "salt --subset=n" appears to always choose
319102         the same nodes (refs: #35753)
319103
319104       · PR #35753: (rallytime)  Fixup  the  unit.client_test.LocalClientTest‐
319105         Case.test_cmd_subset from #35720 @ 2016-08-25 15:55:23 UTC
319106
319107         · PR  #35720:  (hu-dabao) fix 20575, make subset really return random
319108           subset (refs: #35753)
319109
319110         · b3f6367621    Merge    pull    request    #35753    from     rally‐
319111           time/fix-client-unit-test
319112
319113         · 92f8c836e8 Add cmd_mock back in to function spec
319114
319115         · a671f0a092      Fixup     the     unit.client_test.LocalClientTest‐
319116           Case.test_cmd_subset from #35720
319117
319118       · ISSUE #35458: (iggy) SALT.STATES.APACHE_MODULE needs version  annota‐
319119         tions (refs: #35732)
319120
319121         · PR  #35732:  (rallytime)  Add  versionadded for enabled function in
319122           apache_module state
319123
319124       · PR #35737: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
319125         2016-08-24 19:48:45 UTC
319126
319127         · bab0e3d449 Merge pull request #35737 from rallytime/merge-2016.3
319128
319129         · 61e37d5956 Merge branch '2015.8' into '2106.3'
319130
319131         · 06a75be8bd Merge pull request #35701 from gtmanfred/2015.8
319132
319133           · 2d2bc1ffea use aws.get_location in s3 modules
319134
319135         · 79bc01b88c Make test runs behave better (#35708)
319136
319137       · PR  #35729:  (cachedout)  Remove docs mocks for msgpack and psutils @
319138         2016-08-24 14:42:06 UTC
319139
319140         · 7877ff1d5e Merge pull request #35729 from cachedout/fix_docs_build
319141
319142         · fdbf01d5ad Remove docs mocks for msgpack and psutils
319143
319144       · PR #35628: (jf) Fix user.present  state  reporting  for  groups  when
319145         remove_groups=false @ 2016-08-24 08:15:31 UTC
319146
319147         · 962e493304       Merge      pull      request      #35628      from
319148           jf/fix_user.present_reporting_when_remove_groups=false
319149
319150         · 1f818c832e  Fix  user.present  state  reporting  for  groups   when
319151           remove_groups=false
319152
319153       · PR   #35696:   (xiaoanyunfei)  fix  maximum  recursion  depth  bug  @
319154         2016-08-24 08:01:16 UTC
319155
319156         · 02d86c6550 Merge pull request #35696 from xiaoanyunfei/2016.3
319157
319158         · 5db9255926 fix maximum recursion depth
319159
319160       · PR #35720: (hu-dabao) fix 20575, make  subset  really  return  random
319161         subset (refs: #35753) @ 2016-08-24 07:03:58 UTC
319162
319163         · 79d10aea2d Merge pull request #35720 from hu-dabao/fix-20575
319164
319165         · 70af980c01 fix 20575, make subset really return random subset
319166
319167       · PR #35700: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
319168         2016-08-23 17:23:40 UTC
319169
319170         · 5d0b9a248e Merge pull request #35700 from rallytime/merge-2016.3
319171
319172         · 9e9923c3f4 Merge branch '2015.8' into '2016.3'
319173
319174         · aee5b62542 Merge pull request #35680 from terminalmage/issue35630
319175
319176           · d76659a63a Don't use six.text_type() in salt.utils.gitfs
319177
319178         · 74678923b8 Fixup doc formatting for the sqs_events engine (#35663)
319179
319180       · PR #35634: (hu-dabao)  fix  34922,  StopIteration  should  not  throw
319181         exception out @ 2016-08-23 08:13:08 UTC
319182
319183         · f305389172 Merge pull request #35634 from hu-dabao/fix-34922
319184
319185         · fe338ff41f fix 34922, StopIteration should not throw exception out
319186
319187       · PR  #35679:  (twangboy)  Revert  to  vcredist  12 (2013) @ 2016-08-23
319188         08:05:40 UTC
319189
319190         · e45aa55d79 Merge pull  request  #35679  from  twangboy/change.vcre‐
319191           dist.version.2016.3
319192
319193         · 3d6d473d48 Revert to vcredist 12 (2013)
319194
319195       · PR #35662: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
319196         2016-08-22 19:03:43 UTC
319197
319198         · 9fe0972761 Merge pull request #35662 from rallytime/merge-2016.3
319199
319200         · 1d819d7cc2 Merge branch '2015.8' into '2016.3'
319201
319202           · 399e9f57cc Update release notes for 2015.8.12 (#35614)
319203
319204           · f7f8221169 Everything in the sample master config file should  be
319205             commented out (#35611)
319206
319207           · c9070c212f    Merge    pull    request    #35569    from   rally‐
319208             time/test-for-35384
319209
319210             · 30f42d5352 Write test for multiple unless  commands  where  1st
319211               cmd passes and 2nd fails
319212
319213         · PR #35661: (justinta) Backport #35627 to 2016.3
319214
319215         · PR #35627: (cachedout) Comment boto lambda test (refs: #35661)
319216
319217       · PR  #35615:  (hu-dabao)  fix  35591, verify the acl file exist before
319218         proceed @ 2016-08-21 04:41:32 UTC
319219
319220         · 67692f868c Merge pull request #35615 from hu-dabao/fix-35591
319221
319222         · 402b83e4d3 change file verification to exist
319223
319224         · 7355eb4ecd move python lib import after absolute_import
319225
319226         · 69a2427670 fix 35591, verify the acl file exist before proceed
319227
319228       · PR #35485: (cro) Cassandra returner bugfixes  and  documentation.   @
319229         2016-08-20 02:42:28 UTC
319230
319231         · de6fca3909 Merge pull request #35485 from cro/jpmc_cass_return
319232
319233         · 0b01a7a266 Six import for range.
319234
319235         · 7e87d4170d Fix Py3 lint?
319236
319237         · d4336d011c [1,2,3] -> range(1,4)
319238
319239         · cec7f6a7ec remove unneeded import
319240
319241         · e31555345f Add timeout documentation.
319242
319243         · 901ab8b74c Remove unnecessary log statements
319244
319245         · 1954c1a3f3 Update cassandra returner for JPMC
319246
319247       · ISSUE #35519: (morganwillcock) win_dism state doesn't handle all suc‐
319248         cess return codes (refs: #35520)
319249
319250       · PR #35520: (morganwillcock) Check for all  success  return  codes  in
319251         win_dism state @ 2016-08-20 02:35:01 UTC
319252
319253         · edefff51d4    Merge    pull   request   #35520   from   morganwill‐
319254           cock/dism-return-codes
319255
319256         · 0b95b85e69 Check for all success return codes in dism state
319257
319258       · PR #35616: (xbglowx) Remove duplicate auth_tries  in  minion  docs  @
319259         2016-08-20 02:32:50 UTC
319260
319261         · 27211dbd64 Merge pull request #35616 from xbglowx/2016.3
319262
319263         · 2801f0fdcc Remove duplicate auth_tries in minion docs
319264
319265       · ISSUE  #34992:  (szjur)  Syndic strips vital parts of events (such as
319266         'retcode' and 'success') (refs: #35552)
319267
319268       · PR #35552: (DmitryKuzmenko) Syndic fix:  don't  strip  'retcode'  and
319269         'success' from events.  @ 2016-08-20 02:00:40 UTC
319270
319271         · 25ac9bacc6    Merge    pull   request   #35552   from   DSRCorpora‐
319272           tion/bugs/34992_syndic_strip_retcode
319273
319274         · d036299f6f Syndic fix: don't strip  'retcode'  and  'success'  from
319275           events.
319276
319277       · ISSUE    #25664:   (sdm24)   2015.5.2    MySQL   Returner:   salt-run
319278         jobs.lookup_jid doesn't  return  full  result  for  highstate  output
319279         (refs: #35559)
319280
319281       · PR #35559: (Jlin317) Fix highstate outputter when it's given multiple
319282         results (refs: #36137) @ 2016-08-20 01:56:25 UTC
319283
319284         · bec8322e13  Merge  pull  request  #35559   from   Jlin317/fix_high‐
319285           state_outputter
319286
319287         · 27aa038cc6 Fix highstate outputter when it's given multiple results
319288
319289       · ISSUE #32478: (oliver-dungey) rsync.synchronized - user/group options
319290         required (refs: #32739)
319291
319292       · PR #35605:  (rallytime)  Back-port  #32739  to  2016.3  @  2016-08-20
319293         01:39:38 UTC
319294
319295         · PR #32739: (abednarik) Rsync synchronized updates. (refs: #35605)
319296
319297         · 4153aeba29 Merge pull request #35605 from rallytime/bp-32739
319298
319299         · 36d8b4a409 Rsync synchronized updates.
319300
319301       · PR #35606: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
319302         2016-08-19 22:19:05 UTC
319303
319304         · 6eabe6356f Merge pull request #35606 from rallytime/merge-2016.3
319305
319306         · f2eb625778 Merge branch '2015.8' into '2016.3'
319307
319308         · 0c7aa802f5 Update release notes for 2015.8.12 (#35600)
319309
319310         · dd12b48239 Update release notes for 2015.8.12 (#35599)
319311
319312         · beb6ca8ef9 Update linux_sysctl tests to reflect new context key  (‐
319313           #35584)
319314
319315         · fd08d33597 Add warning about AWS flagging of nmap usage (#35575)
319316
319317   Salt 2016.3.5 Release Notes
319318       Version 2016.3.5 is a bugfix release for 2016.3.0.
319319
319320   Statistics
319321       · Total Merges: 190
319322
319323       · Total Issue References: 112
319324
319325       · Total PR References: 281
319326
319327       · Contributors:   74   (Ch3LL,   DmitryKuzmenko,  Firewire2002,  Mrten,
319328         Talkless,    TronPaul,    UtahDave,    aaronm-cloudtek,     alex-zel,
319329         alexandr-orlov,  alexbleotu,  attiasr,  basepi,  bdrung, bshelton229,
319330         cachedout,  calve,  clan,  clinta,  cro,  dere,  dereckson,  dhaines,
319331         dincamihai,  do3meli, dragon788, edgan, fedusia, fj40crawler, genuss,
319332         gtmanfred,  haeac,  heewa,  hu-dabao,  jeanpralo,   jfindlay,   jinm,
319333         kevinquinnyo,   kontrolld,   laleocen,   lorengordon,  m03,  mcalmer,
319334         mchugh19, meaksh, mikejford, moio, multani, nevins-b,  pass-by-value,
319335         rallytime,  rbjorklin,  siccrusher, silenius, sjmh, sjorge, skizunov,
319336         slinn0, sofixa,  techhat,  tedski,  terminalmage,  thatch45,  thusoy,
319337         toanju,  tobithiel,  twangboy,  tyhunt99,  vutny, wanparo, whiteinge,
319338         xiaoanyunfei, yhekma, zwo-bot)
319339
319340   Security Fixes
319341       CVE-2017-5192 local_batch client external authentication not respected
319342
319343       The LocalClient.cmd_batch() method client does not accept external_auth
319344       credentials and so access to it from salt-api has been removed for now.
319345       This vulnerability  allows  code  execution  for  already-authenticated
319346       users and is only in effect when running salt-api as the root user.
319347
319348       CVE-2017-5200   Salt-api   allows  arbitrary  command  execution  on  a
319349       salt-master via Salt's ssh_client
319350
319351       Users of Salt-API and salt-ssh could execute a command on the salt mas‐
319352       ter via a hole when both systems were enabled.
319353
319354       We recommend everyone on the 2016.3 branch upgrade to a patched release
319355       as soon as possible.
319356
319357   Improved Checksum Handling in file.managed, archive.extracted States
319358       When the source_hash argument for these states refers to  a  file  con‐
319359       taining  checksums,  Salt  now looks for checksums matching the name of
319360       the source URI, as well as the file being managed. Prior releases  only
319361       looked for checksums matching the filename being managed. Additionally,
319362       a new argument (source_hash_name) has been added, which allows the user
319363       to  disambiguate ambiguous matches when more than one matching checksum
319364       is found in the source_hash file.
319365
319366       A more detailed explanation of this functionality can be found  in  the
319367       file.managed documentation, in the section for the new source_hash_name
319368       argument.
319369
319370   Changelog for v2016.3.4..v2016.3.5
319371       Generated at: 2018-05-27 05:09:33 UTC
319372
319373       · PR  #38833:  (Ch3LL)  add  2016.3.5  changelog  to  release  notes  @
319374         2017-01-19 23:27:26 UTC
319375
319376         · a04ab86da1       Merge      pull      request      #38833      from
319377           Ch3LL/add_release_notes_2016.3.5
319378
319379         · 374dc1ab88 skip 2016.3.5 due to :doc: references
319380
319381         · 31f324c4ff add 2016.3.5 changelog to release notes
319382
319383       · PR  #38812:  (rallytime)  Update  pyobjects  test  to  be  a  list  @
319384         2017-01-18 21:06:01 UTC
319385
319386         · d14f0c64eb Merge pull request #38812 from rallytime/pyobjects-test
319387
319388         · f3e84c1ab7 Update pyobjects test to be a list
319389
319390       · ISSUE  #36598:  (ikkaro)  CloudClient  vmware  driver  reusing SI bug
319391         (refs: #38813)
319392
319393       · PR  #38813:  (gtmanfred)  catch  SIGPIPE  in  vmware   connection   @
319394         2017-01-18 21:05:42 UTC
319395
319396         · 50f03f8057 Merge pull request #38813 from gtmanfred/2016.3
319397
319398         · ce3472cec2 catch SIGPIPE in vmware connection
319399
319400       · PR  #38809:  (twangboy)  Fix  get_hostname  to handle longer computer
319401         names @ 2017-01-18 19:32:00 UTC
319402
319403         · 23b8b47258  Merge  pull  request  #38809  from   twangboy/fix_host‐
319404           name_2016.3
319405
319406         · d57a51f9f9 Fix tests for get_hostname
319407
319408         · 7ca3fd7484 Fix get_hostname to handle longer computer names
319409
319410       · ISSUE  #38388:  (johje349)  No  INFO  logs  in minion log file (refs:
319411         #38808)
319412
319413       · PR #38808: (vutny) Fix #38388 @ 2017-01-18 18:19:36 UTC
319414
319415         · 1033bbdde8 Merge pull request #38808 from vutny/fix-38388
319416
319417         · 9bd203ffcc Fix #38388
319418
319419       · ISSUE #38604: (jsandas) Using "batch" with saltmod errors with  "Val‐
319420         ueError: need more than 2 values to unpack" (refs: #38668)
319421
319422       · PR  #38668:  (terminalmage)  Fix  proposal  for  #38604  @ 2017-01-18
319423         17:53:09 UTC
319424
319425         · f3ae3cd5c8 Merge pull request #38668 from terminalmage/issue38604
319426
319427         · 0ea97cdad9 Merge pull request #10 from cachedout/pr-38668
319428
319429           · db81afc035 Munge retcode into return data for batching
319430
319431         · a642a995dc Return the ret data from batch execution instead of  raw
319432           data
319433
319434       · ISSUE #38622: (mikejford) Incorrect saltenv argument documentation in
319435         salt.modules.state (refs: #38789)
319436
319437       · PR #38789: (rallytime) Update some saltenv  refs  to  environment  in
319438         salt.modules.state docs @ 2017-01-18 15:39:22 UTC
319439
319440         · c6a19a9e5a Merge pull request #38789 from rallytime/fix-38622
319441
319442         · af41fe0c6e  Update  some  saltenv  refs to environment in salt.mod‐
319443           ules.state docs
319444
319445       · PR #38790: (cachedout)  Fix  typo  in  pyobjects  test  @  2017-01-18
319446         15:38:57 UTC
319447
319448         · e0bf700020  Merge  pull  request  #38790  from  cachedout/fix_pyob‐
319449           jects_test_typo
319450
319451         · a66afb5f0f Fix typo in pyobjects test
319452
319453       · ISSUE #38629: (Arabus) Conflicting documentation about default  value
319454         of pillar_opts (refs: #38792)
319455
319456       · PR  #38792: (rallytime) Update pillar tutorial lanuage regarding pil‐
319457         lar_opts settings @ 2017-01-18 15:38:19 UTC
319458
319459         · 6e9785edea Merge pull request #38792 from rallytime/fix-38629
319460
319461         · 1e125e2844 Update pillar  tutorial  lanuage  regarding  pillar_opts
319462           settings
319463
319464         · PR  saltstack/salt#38707: (alexbleotu) Fixed prepending of root_dir
319465           override to the other paths (refs: #38796)
319466
319467       · PR #38796: (cachedout) Revert "Fixed prepending of root_dir  override
319468         to the other paths" @ 2017-01-17 23:18:18 UTC
319469
319470         · 3417adc617     Merge     pull    request    #38796    from    salt‐
319471           stack/revert-38707-root_dir_fix-gh
319472
319473         · cb080f3bbe Revert "Fixed prepending of  root_dir  override  to  the
319474           other paths"
319475
319476       · ISSUE #38524: (rbjorklin) salt-api seems to ignore rest_timeout since
319477         2016.11.0 (refs: #38585, #38527)
319478
319479       · ISSUE #38479: (tyeapple) api_logfile setting takes no  effect  (refs:
319480         #38585)
319481
319482       · PR  #38585:  (rallytime) Follow up to PR #38527 @ 2017-01-17 18:40:01
319483         UTC
319484
319485         · PR #38570: (rallytime)  [2016.11]  Merge  forward  from  2016.3  to
319486           2016.11 (refs: #38585)
319487
319488         · PR #38560: (Ch3LL) fix api logfile (refs: #38585)
319489
319490         · PR  #38527: (rbjorklin) salt-api no longer forces the default time‐
319491           out (refs: #38585)
319492
319493         · bab3479a3c Merge pull request #38585 from rallytime/follow-up-38527
319494
319495         · 05587201b6 Pylint fix: add line at end of file
319496
319497         · fa01367599 Keep a copy of the  DEFAULT_API_OPTS  and  restore  them
319498           after the test run
319499
319500         · 2ad07634d9 Test clean up
319501
319502         · fd2ee7db30  Add  some  simple unit tests for salt.config.api_config
319503           function
319504
319505         · 3d2fefc83b Make sure the pidfile and log_file values are  overriden
319506           by api opts
319507
319508         · 1f6b540e46  Make sure the pidfile and log_file values are overriden
319509           by api opts
319510
319511         · 04d307f917 salt-api no longer forces the default timeout
319512
319513       · PR #38707: (alexbleotu) Fixed prepending of root_dir override to  the
319514         other paths @ 2017-01-17 15:40:13 UTC
319515
319516         · 0fb6bb7b77       Merge      pull      request      #38707      from
319517           alexbleotu/root_dir_fix-gh
319518
319519         · 0bac8c8be3 Fixed prepending of root_dir override to the other paths
319520
319521       · PR #38774: (vutny)  DOCS:  add  C++  compiler  installation  on  RHEL
319522         required for bundled 0mq @ 2017-01-17 15:21:00 UTC
319523
319524         · 96c9dc10f7 Merge pull request #38774 from vutny/dev-test-docs
319525
319526         · 4620dc4afa DOCS: add C++ compiler installation on RHEL required for
319527           bundled 0mq
319528
319529       · PR #38749: (vutny) pkg build modules throw better  exception  message
319530         if keyid wasn't found @ 2017-01-17 02:13:08 UTC
319531
319532         · aedfbb7a43  Merge  pull  request  #38749  from vutny/pkg-build-bet‐
319533           ter-exception-msg
319534
319535         · 53f2be5b21 pkg build modules  throw  better  exception  message  if
319536           keyid wasn't found
319537
319538       · PR #38743: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
319539         2017-01-17 01:46:01 UTC
319540
319541         · 8466b34e82 Merge pull request #38743 from rallytime/merge-2016.3
319542
319543         · d24776f5e9 Merge branch '2015.8' into '2016.3'
319544
319545         · 6869621ed1 Merge pull request #38731 from rallytime/merge-2015.8
319546
319547           · 9eb191b6ac Pylint fix
319548
319549           · b910499dbe Various follow up fixes
319550
319551           · e8309a6bbf Add release notes for 2015.8.13
319552
319553           · f881f366b7 Merge pull request #20  from  rallytime/2015.8.12_fol‐
319554             low_up-batch-tests
319555
319556             · 34282322c0 Clean up tests and docs for batch execution
319557
319558           · c80b20b957 Merge pull request #19 from whiteinge/batchclient
319559
319560             · 3d8f3d18f6  Remove  batch execution from NetapiClient and Salt‐
319561               nado
319562
319563           · 97b0f64923 Lintfix
319564
319565           · d1516664f7 Add explanation comment
319566
319567           · 62f2c87080 Add docstring
319568
319569           · 9b0a786aeb Explain what it is about and how to configure that
319570
319571           · 5ea3579e10 Pick up a specified roster file  from  the  configured
319572             locations
319573
319574           · 3a8614c5df Disable custom rosters in API
319575
319576           · c0e5a1171d Add roster disable flag
319577
319578         · e9c59e9b8f    Merge    pull    request    #38602   from   terminal‐
319579           mage/fix-boto-test
319580
319581           · 3424a108ac                      Fix                       failing
319582             unit.states.boto_vpc_test.BotoVpcRouteTableTest‐
319583             Case.test_present_with_routes
319584
319585       · ISSUE #38674: (jackywu) There is no code to use parameter 'event_pub‐
319586         lisher_pub_hwm' in saltstack-2016.3 (refs: #38723)
319587
319588       · PR   #38723:   (rallytime)   Remove   "event_publisher_pub_hwm"   and
319589         "salt_event_pub_hwm" from config/__init__.py  @  2017-01-15  18:36:14
319590         UTC
319591
319592         · PR  #29294:  (skizunov) ZeroMQ no longer required when transport is
319593           TCP (refs: #38723)
319594
319595         · a642cdef79 Merge pull request #38723 from rallytime/fix-38674
319596
319597         · 706c885f55       Remove        "event_publisher_pub_hwm"        and
319598           "salt_event_pub_hwm" from config/__init__.py
319599
319600       · PR  #38669:  (rallytime)  Update  bootstrap script verstion to latest
319601         release @ 2017-01-15 18:03:27 UTC
319602
319603         · fc545af10b Merge pull request  #38669  from  rallytime/update-boot‐
319604           strap-script
319605
319606         · 78ba76e34c Update bootstrap script verstion to latest release
319607
319608       · PR  #38693:  (twangboy)  Update jinja2 to 2.9.4 @ 2017-01-15 14:40:46
319609         UTC
319610
319611         · 50d417f267 Merge pull request #38693 from twangboy/update_jinja
319612
319613         · e0c7e5549b Update jinja2 to 2.9.4
319614
319615       · PR #38739: (vutny) DOCS: correct examples of  running  test  suite  @
319616         2017-01-15 14:35:47 UTC
319617
319618         · f4233bb18d Merge pull request #38739 from vutny/fix-runtests-doc
319619
319620         · b872bb63f6 DOCS: correct examples of running test suite
319621
319622         · PR #38735: (vutny) DOCS: add links to File State Backups page where
319623           necessary
319624
319625         · PR #38720: (dereckson) Proofread jinja_to_execution_module tutorial
319626
319627       · ISSUE #36548: (abonillasuse) openstack auth with nova  driver  (refs:
319628         #38647)
319629
319630       · PR #38647: (gtmanfred) Allow novaclient to use keystoneauth1 sessions
319631         for authentication @ 2017-01-10 17:48:26 UTC
319632
319633         · 7b850d472d Merge pull request #38647 from gtmanfred/nova
319634
319635         · 5be9b60851 add documentation about using keystoneauth for v3
319636
319637         · 7b657ca4ae add the ability to use keystone v2 and v3
319638
319639         · 5646ae1b34 add ability to use keystoneauth to authenitcate in  nova
319640           driver
319641
319642       · ISSUE  #38648:  (ericuldall) No release file error from PPA on Ubuntu
319643         (refs: #38650)
319644
319645       · ISSUE #38572: (COLABORATI) ppa:saltstack/salt failure (refs: #38650)
319646
319647       · ISSUE #34504: (AvinashDeluxeVR) Installation documentation for Ubuntu
319648         server  and  Windows minion leads the user to use different salt ver‐
319649         sions. (refs: #38650)
319650
319651       · PR #38650:  (rallytime)  Remove  the  installation  instructions  for
319652         out-of-date community ppa @ 2017-01-10 17:47:45 UTC
319653
319654         · 383768d838     Merge    pull    request    #38650    from    rally‐
319655           time/remove-ubuntu-ppa-docs
319656
319657         · 30429b2e44 Remove the  installation  instructions  for  out-of-date
319658           community ppa
319659
319660       · ISSUE #38087: (UtahDave) The 'data' field in the return from a minion
319661         below a syndic is wrapped in an extra 'data' field. (refs: #38657)
319662
319663       · PR #38657: (DmitryKuzmenko) Publish the 'data' field content for Syn‐
319664         dic evets @ 2017-01-10 16:59:33 UTC
319665
319666         · 7d9f56e3b5    Merge    pull   request   #38657   from   DSRCorpora‐
319667           tion/bugs/38087_syndic_event_format_fix
319668
319669         · 594c33f396 Publish the 'data' field content for Syndic evets
319670
319671       · PR #38649: (Ch3LL) fix unit.modules.file_test @  2017-01-10  16:44:45
319672         UTC
319673
319674         · 83987511fd Merge pull request #38649 from Ch3LL/test_apply_template
319675
319676         · 47f8b68e0b fix unit.modules.file_test
319677
319678       · ISSUE  #37355: (Firewire2002) salt-ssh - ImportError: No module named
319679         backports.ssl_match_hostname       (refs:       #38626,       #`salt‐
319680         stack/salt`#37358`_`_, #37358)
319681
319682       · ISSUE  #34600:  (davidpsv17) Error trying a salt-ssh test.ping (refs:
319683         #`saltstack/salt`#37358`_`_, #37358)
319684
319685       · ISSUE #27355: (jerob) salt ssh error with debian 7 on  target  (refs:
319686         #`saltstack/salt`#37358`_`_, #37358)
319687
319688         · PR  saltstack/salt#37358:  (Firewire2002)  Fix/workaround for issue
319689           #37355 (refs: #38626)
319690
319691       · PR #38626: (cachedout) Revert "Fix/workaround  for  issue  #37355"  @
319692         2017-01-06 21:28:09 UTC
319693
319694         · 74ddc71be3     Merge     pull    request    #38626    from    salt‐
319695           stack/revert-37358-2016.3.3_issue37355
319696
319697         · e912ac99c2 Revert "Fix/workaround for issue #37355"
319698
319699       · ISSUE #37355: (Firewire2002) salt-ssh - ImportError: No module  named
319700         backports.ssl_match_hostname       (refs:       #38626,       #`salt‐
319701         stack/salt`#37358`_`_, #37358)
319702
319703       · ISSUE #34600: (davidpsv17) Error trying a salt-ssh  test.ping  (refs:
319704         #`saltstack/salt`#37358`_`_, #37358)
319705
319706       · ISSUE  #27355:  (jerob) salt ssh error with debian 7 on target (refs:
319707         #`saltstack/salt`#37358`_`_, #37358)
319708
319709       · PR  #37358:  (Firewire2002)  Fix/workaround  for   issue   #37355   @
319710         2017-01-06 18:58:47 UTC
319711
319712         · 5e58b32934       Merge      pull      request      #37358      from
319713           Firewire2002/2016.3.3_issue37355
319714
319715         · 910da18bfd fixed typo
319716
319717         · 4fbc5ddd06 fixed wrong renamed variable and spaces
319718
319719         · 92366e646c issue #37355
319720
319721         · 7dc87ab7b8 issue #37355
319722
319723         · 2878180405 issue #37355
319724
319725       · PR #35390: (alexandr-orlov) Returns back missed proper grains dictio‐
319726         nary for file module @ 2017-01-06 18:02:13 UTC
319727
319728         · 6c2fe615aa Merge pull request #35390 from alexandr-orlov/2016.3
319729
319730         · cd5ae17e8d fxd missed proper grains dictionary
319731
319732       · ISSUE  #38558:  (multani)  pillar.get("...", default=var, merge=true)
319733         updates default value (refs: #38579)
319734
319735       · PR #38618:  (rallytime)  Back-port  #38579  to  2016.3  @  2017-01-06
319736         17:37:56 UTC
319737
319738         · PR   #38579:  (zwo-bot)  Fix  #38558  -  pillar.get  with  default=
319739           ...,merge=true influence  subsequent  calls  of  pillar.get  (refs:
319740           #38618)
319741
319742         · 2579cfa42d Merge pull request #38618 from rallytime/bp-38579
319743
319744         · 2052ecee2c Add copy import
319745
319746         · 2c8845aaa0 add test for pillar.get() + default value
319747
319748         · c2f98d2f04  ticket  38558: add unit test, deepcopy() only if neces‐
319749           sary
319750
319751         · 30ae0a1958 added deepcopy of default if merge=True
319752
319753       · PR #38601: (terminalmage) pillar.get: Raise exception when merge=True
319754         and default is not a dict @ 2017-01-05 23:15:51 UTC
319755
319756         · da676cebd6 Merge pull request #38601 from terminalmage/pillar-get
319757
319758         · 8613d7254d  pillar.get: Raise exception when merge=True and default
319759           is not a dict
319760
319761       · PR #38600: (terminalmage) Avoid errors when sudo_user is set  (2016.3
319762         branch) @ 2017-01-05 20:57:09 UTC
319763
319764         · PR #38598: (terminalmage) Avoid errors when sudo_user is set (refs:
319765           #38600)
319766
319767         · 224fc7712a   Merge   pull    request    #38600    from    terminal‐
319768           mage/issue38459-2016.3
319769
319770         · 8a45b13e76 Avoid errors when sudo_user is set
319771
319772       · PR #38589: (tobithiel) State Gem: fix incorrect warning about missing
319773         rvm/rbenv @ 2017-01-05 20:12:15 UTC
319774
319775         · a376970f88      Merge      pull      request      #38589       from
319776           tobithiel/fix_rvm_rbenv_warning
319777
319778         · 9ec470b4a5 State Gem: fix incorrect warning about missing rvm/rbenv
319779
319780       · PR  #38567:  (pass-by-value)  Create  queue  if  one  doesn't exist @
319781         2017-01-05 18:46:11 UTC
319782
319783         · 02e6a78254  Merge  pull  request  #38567  from   pass-by-value/pgj‐
319784           sonb_queue_changes_2016.3
319785
319786         · 67879ebe65 Create queue if one doesn't exist
319787
319788       · ISSUE #37498: (githubcdr) service.restart salt-minion fails on Ubuntu
319789         14.04.5 LTS (refs: #37748, #38587)
319790
319791       · PR #38587: (rallytime) Change daemontools __virtualname__  from  ser‐
319792         vice to daemontools @ 2017-01-05 18:06:01 UTC
319793
319794         · 0889cbdb31 Merge pull request #38587 from rallytime/fix-37498
319795
319796         · 2a5880966f  Change daemontools __virtualname__ from service to dae‐
319797           montools
319798
319799       · PR #38562: (rallytime) Update arch  installation  docs  with  correct
319800         package name @ 2017-01-04 20:04:28 UTC
319801
319802         · 7b74436d13     Merge    pull    request    #38562    from    rally‐
319803           time/arch-install-docs
319804
319805         · 8b1897ace9 Update arch installation docs with correct package name
319806
319807       · PR #38560: (Ch3LL)  fix  api  logfile  (refs:  #38585)  @  2017-01-04
319808         19:03:17 UTC
319809
319810         · 01860702cb Merge pull request #38560 from Ch3LL/fix_api_log
319811
319812         · 1b45e9670b fix api logfile
319813
319814       · PR  #38531:  (rallytime)  Back-port  #33601  to  2016.3  @ 2017-01-04
319815         16:56:53 UTC
319816
319817         · PR #33601: (mchugh19) Fix slack engine to run on  python2.6  (refs:
319818           #38531)
319819
319820         · 0056620a53 Merge pull request #38531 from rallytime/bp-33601
319821
319822         · c36cb39825 remove the unnecessary double trigger
319823
319824         · 38414493bf fix spacing lint error
319825
319826         · 8c1defc710  Remove  uncessary type from alias commands. Deduplicate
319827           alias handling to autodetect function selection. Add error  report‐
319828           ing  to slack connectivty problems. Cleanup slack's unicode conver‐
319829           sion
319830
319831         · c2f23bc45e Fix slack engine to run on python2.6
319832
319833       · ISSUE #38187: (curiositycasualty) username/password saved as  cleart‐
319834         ext when using URIs with user:pass@ format (refs: #38541)
319835
319836       · PR  #38541:  (techhat)  Strip user:pass from cached URLs @ 2017-01-04
319837         15:39:57 UTC
319838
319839         · 50242c7f17 Merge pull request #38541 from techhat/issue38187
319840
319841         · eae3a435dd Strip user:pass from cached URLs
319842
319843       · ISSUE #30454: (favoretti) Using yaml serializer inside jinja template
319844         results  in  unicode  being  prepended  by  '!!python/unicode' (refs:
319845         #30481, #38554)
319846
319847       · PR #38554: (multani) Fix YAML deserialization of unicode @ 2017-01-04
319848         15:31:16 UTC
319849
319850         · PR #30481: (basepi) Add yaml_safe jinja filter (refs: #38554)
319851
319852         · 325dc56e59 Merge pull request #38554 from multani/fix/30454
319853
319854         · 2e7f743371 yaml: support unicode serialization/deserialization
319855
319856         · df76113c5c jinja: test the "yaml" filter with ordered dicts
319857
319858         · f7712d417f Revert "Add yaml_safe filter"
319859
319860         · PR #38536: (UtahDave) add note about pyVmomi locale workaround
319861
319862       · ISSUE #38353: (Ch3LL) salt-cloud gce specifying  (refs: #38542)
319863
319864         · PR #38542: (Ch3LL) fix gce image bug
319865
319866       · ISSUE  #38449:  (swalladge)  Parsing  issues  in  list_tab (salt/mod‐
319867         ules/cron.py) (refs: #38487)
319868
319869       · PR #38487: (gtmanfred) Fix crontab issues with  spaces  @  2017-01-01
319870         20:33:29 UTC
319871
319872         · ec60f9c721 Merge pull request #38487 from gtmanfred/2016.3
319873
319874         · 048b9f6b9d add test
319875
319876         · c480c11528 allow spaces in cron env
319877
319878         · c529ec8c34 allow crons to have multiple spaces
319879
319880       · ISSUE #37684: (thusoy) State execution duration is timezone-dependent
319881         (refs: #38491)
319882
319883       · PR #38491: (gtmanfred) Use UTC for timing in case timezone changes  @
319884         2017-01-01 20:30:57 UTC
319885
319886         · c5ba11b5e0 Merge pull request #38491 from gtmanfred/timing
319887
319888         · 79368c7528 Use UTC for timing in case timezone changes
319889
319890       · ISSUE  #38472: (jinm) file.managed Unable to manage file: 'hash_type'
319891         (2016.3.4) (refs: #38503)
319892
319893       · PR #38503: (jinm) Hash type fallback for file management @ 2017-01-01
319894         17:36:51 UTC
319895
319896         · 86f0aa0bb3 Merge pull request #38503 from jinm/issue_38472_jinm
319897
319898         · 0cd9df299f Hash type fallback for file management
319899
319900       · PR  #38457: (bshelton229) Stops git.latest checking for local changes
319901         in a bare repo @ 2016-12-30 14:28:47 UTC
319902
319903         · ed2ba4bd1b Merge  pull  request  #38457  from  bshelton229/git-lat‐
319904           est-head-bug
319905
319906         · 558e7a771a  Stops  git.latest  checking for local changes in a bare
319907           repo
319908
319909       · PR #38385: (dragon788) Use unambigous long names with double dashes @
319910         2016-12-29 17:10:48 UTC
319911
319912         · 36e21b22cb  Merge  pull  request  #38385 from dragon788/2016.3-dou‐
319913           ble-dash
319914
319915         · 86c4b56f47 Newline for lint compat
319916
319917         · 9d9b686057 Address review comments, consistency of quotes
319918
319919         · df9bd5e7f9 Use unambigous long names with double dashes
319920
319921       · ISSUE #38209: (limited) Accepting a minion  causes  tornado  to  exit
319922         (refs: #38474)
319923
319924       · PR  #38474:  (cachedout)  Allow  an  existing  ioloop to be passed to
319925         salt-key @ 2016-12-29 16:28:51 UTC
319926
319927         · 59f2560d88 Merge pull request #38474 from cachedout/key_loop
319928
319929         · de504538e1 Allow an existing ioloop to be passed to salt-key
319930
319931       · ISSUE #38438: (jf) file.line with mode=delete breaks  on  empty  file
319932         (refs: #38467)
319933
319934       · PR  #38467:  (gtmanfred) file.line fail with mode=delete @ 2016-12-28
319935         20:00:33 UTC
319936
319937         · 3d0c752acd Merge pull request #38467 from gtmanfred/2016.3
319938
319939         · 7b7c6b3878 file.line fail with mode=delete
319940
319941       · PR #38434: (slinn0) Make sysctl.persist fail when failing  to  set  a
319942         value into the running kernel @ 2016-12-27 15:37:53 UTC
319943
319944         · 940025d5c4 Merge pull request #38434 from slinn0/issue_38433_fixes
319945
319946         · 22af87a3fc Fixes for https://github.com/saltstack/salt/issues/38433
319947
319948         · PR  #38421:  (rallytime)  Update deprecation notices to the correct
319949           version
319950
319951         · PR #38420: (rallytime) Removed  various  deprecation  notices  from
319952           salt/modules/* files (refs: #38421)
319953
319954       · ISSUE #38282: (sash-kan) file.managed fails when file (which contains
319955         utf-characters in the name) exists (refs: #38415)
319956
319957         · PR #38415: (terminalmage) file.managed: Fix failure  when  filename
319958           contains unicode chars
319959
319960       · PR #38419: (Ch3LL) fix scsci docs example @ 2016-12-22 18:57:51 UTC
319961
319962         · 2cdb59d055 Merge pull request #38419 from Ch3LL/fix_doc_scsi
319963
319964         · 234043b8bb fix scsci docs example
319965
319966         · PR #38407: (terminalmage) Improve pillar documentation
319967
319968       · ISSUE    #38372:    (fanirama)    Issue   with   cron.file.   Source:
319969         salt://path/to/crontab_file not found (refs: #38398)
319970
319971       · PR #38398: (terminalmage) Fix call to file.get_managed  in  cron.file
319972         state @ 2016-12-22 16:46:14 UTC
319973
319974         · 423b1fddff Merge pull request #38398 from terminalmage/issue38372
319975
319976         · c80dbaa914 Fix call to file.get_managed in cron.file state
319977
319978         · PR #38382: (heewa) Fix http.query when result has no text
319979
319980       · PR  #38390:  (meaksh) Add "try-restart" to fix autorestarting on SUSE
319981         systems @ 2016-12-21 16:06:24 UTC
319982
319983         · b74b5c7d38      Merge      pull      request      #38390       from
319984           meaksh/2016.3-fix-try-restart-for-autorestarting-on-SUSE-systems
319985
319986         · de6ec05ec0 add try-restart to fix autorestarting on SUSE systems
319987
319988       · PR #38221: (UtahDave) Fix default returner @ 2016-12-20 20:34:36 UTC
319989
319990         · 2c3a39760a     Merge     pull    request    #38221    from    Utah‐
319991           Dave/fix_default_returner
319992
319993         · 385640765b remove a blank line to satisfy linter
319994
319995         · 9c248aa14c validate return opt, remove default.
319996
319997         · 8bb37f9fe7 specify allowed types and default for "returner"
319998
319999         · 11863a4bfe add examples of default minion returners
320000
320001         · e7c6012655 add support for default returners using return
320002
320003       · PR #38288: (terminalmage) archive.extracted: don't try to cache local
320004         sources (2016.3 branch) @ 2016-12-18 13:07:11 UTC
320005
320006         · 09d9cff992   Merge   pull   request  #38288  from  terminalmage/ar‐
320007           chive-extracted-local-source-2016.3
320008
320009         · 845e3d0e75 Update tests to reflect change in cache behavior
320010
320011         · 5a08d7c70a archive.extracted: don't  try  to  cache  local  sources
320012           (2016.3 branch)
320013
320014       · PR  #38312:  (cro)  Backport feature allowing proxy config to live in
320015         pillar OR /etc/salt/proxy @ 2016-12-18 12:39:01 UTC
320016
320017         · bf37667f8a Merge pull request #38312 from cro/proxy_config_in_cfg
320018
320019         · 2006c4000e Typo
320020
320021         · 689d95b10f Backport feature allowing proxy config to live in pillar
320022           OR /etc/salt/proxy.
320023
320024       · ISSUE  #12788:  (whiteinge)  Comb through docs to replace :doc: roles
320025         with :ref: (refs: #38320)
320026
320027       · PR #38320: (rallytime)  Cleanup  doc  internal  markup  references  @
320028         2016-12-18 12:31:28 UTC
320029
320030         · c83db5a785     Merge    pull    request    #38320    from    rally‐
320031           time/cleanup-doc-refs
320032
320033         · 62978cb7a0 Don't check the doc/conf.py file for doc markup refs
320034
320035         · 770e732d76 Add a unit test to search for new doc markup refs
320036
320037         · 5c42a361a0 Remove ":doc:" references from all  doc/topics/installa‐
320038           tion/* files
320039
320040         · 23bce1c929 Remove ":doc:" references from all doc/topics/releases/*
320041           files
320042
320043         · 4aafa41d22 Remove ":doc:" references from a bunch of doc/* files
320044
320045         · 02bfe7912c Remove more ":doc:" references from doc/* files
320046
320047         · 6e32267d0c Remove ":doc:" references in salt/* files
320048
320049         · PR #38281: (mikejford) Add nick to args for create_multi
320050
320051       · ISSUE #38290: (dragon788) Need to  use  machine  automation  friendly
320052         output (refs: #38313)
320053
320054       · PR  #38313:  (dragon788)  2016.3 chocolatey fix @ 2016-12-16 17:20:39
320055         UTC
320056
320057         · 235682b1e6 Merge pull request #38313  from  dragon788/2016.3-choco‐
320058           latey-fix
320059
320060         · 1f5fc17551 Use machine readable output for list
320061
320062         · cdbd2fbe3c Added limit-output to eliminate false packages
320063
320064       · ISSUE  #38174: (NickDubelman) [syndic] Why can't a syndic node signal
320065         when all of it's minions have returned? (refs: #38279)
320066
320067       · ISSUE #32400:  (rallytime)  Document  Default  Config  Values  (refs:
320068         #38279)
320069
320070       · PR  #38279: (rallytime) Add docs for syndic_wait setting @ 2016-12-15
320071         18:30:31 UTC
320072
320073         · 9e78ddc80e Merge pull request #38279 from rallytime/fix-38174
320074
320075         · 4a62d01577 Add docs for syndic_wait setting
320076
320077       · PR #38248: (meaksh) Successfully exit  of  salt-api  child  processes
320078         when SIGTERM is received @ 2016-12-15 09:16:27 UTC
320079
320080         · fc9e1dff35  Merge pull request #38248 from meaksh/salt-api-success‐
320081           fully-close-child-processes
320082
320083         · ee6eae9855 Successfully  exit  of  salt-api  child  processes  when
320084           SIGTERM.
320085
320086       · PR  #38254:  (terminalmage)  Also  check  if  pillarenv  is in opts @
320087         2016-12-15 09:10:24 UTC
320088
320089         · 3c718ed35e Merge pull request #38254  from  terminalmage/check-pil‐
320090           larenv
320091
320092         · fa9ad311c6 Also check if pillarenv is in opts
320093
320094         · PR  #38256:  (rallytime)  [2016.3]  Bump  latest release version to
320095           2016.11.1
320096
320097       · PR #38198: (vutny) Add missing requirements for running  unit  tests:
320098         libcloud and boto3 @ 2016-12-13 14:12:20 UTC
320099
320100         · 004e46afe7       Merge      pull      request      #38198      from
320101           vutny/unit-tests-require-libcloud-boto3
320102
320103         · a6098bac1a Remove note about SaltTesting installation, now it is in
320104           the requirements
320105
320106         · 004bff113e  Add  missing  requirements for running unit tests: lib‐
320107           cloud and boto3
320108
320109       · PR #38213: (rallytime) Skip test_cert_info tls unit test on pyOpenSSL
320110         upstream errors @ 2016-12-13 12:05:01 UTC
320111
320112         · 9d497bc74c Merge pull request #38213 from rallytime/skip-tls-test
320113
320114         · bdb807fc7c  Skip test_cert_info tls unit test on pyOpenSSL upstream
320115           errors
320116
320117       · PR #38224: (whiteinge) Allow CORS OPTIONS requests to be  unauthenti‐
320118         cated @ 2016-12-13 12:02:30 UTC
320119
320120         · 203109dd17       Merge      pull      request      #38224      from
320121           whiteinge/cors-options-unauthed
320122
320123         · de4d3227ab Allow CORS OPTIONS requests to be unauthenticated
320124
320125       · PR  #38223:  (whiteinge)  Add  root_dir  to  salt-api  file  paths  @
320126         2016-12-13 07:44:19 UTC
320127
320128         · PR  #37272:  (vutny)  Get  default  logging level and log file from
320129           default opts dict (refs: #38223)
320130
320131         · 721a5feccd      Merge      pull      request      #38223       from
320132           whiteinge/salt-api-root_dirs
320133
320134         · bfbf390c0e Add root_dir to salt-api file paths
320135
320136       · ISSUE  #38162:  (747project)  git_pillar  does  not detect changes to
320137         remote repository when told to update (refs: #38191)
320138
320139       · PR #38191: (terminalmage) Clarify  the  fact  that  git_pillar.update
320140         does not fast-forward @ 2016-12-12 09:45:48 UTC
320141
320142         · 70f7d22ad6 Merge pull request #38191 from terminalmage/issue38162
320143
320144         · 1ae543a98a   Clarify  the  fact  that  git_pillar.update  does  not
320145           fast-forward
320146
320147       · PR #38194: (vutny) Document the requirements for running ZeroMQ-based
320148         integration tests @ 2016-12-12 09:42:11 UTC
320149
320150         · 28171cbfc5   Merge   pull   request   #38194   from  vutny/integra‐
320151           tion-test-requirements-doc
320152
320153         · e9f419ff64 Document the requirements for running ZeroMQ-based inte‐
320154           gration tests
320155
320156       · PR  #38185:  (rallytime)  Back-port  #38181  to  2016.3  @ 2016-12-09
320157         22:27:44 UTC
320158
320159         · PR #38181: (rallytime) Reset socket default timeout to None  (fixes
320160           daemons_tests failures) (refs: #38185)
320161
320162         · a4ef037ab1 Merge pull request #38185 from rallytime/bp-38181
320163
320164         · 609f814454  Reset  socket  default  timeout  to  None  (fixes  dae‐
320165           mons_tests failures)
320166
320167       · PR #38163: (Ch3LL) enabled ec2 cloud tests @ 2016-12-09 18:01:57 UTC
320168
320169         · 65b2ad7b14 Merge pull request #38163 from Ch3LL/enabled_ec2_cloud
320170
320171         · be74c45463 enabled ec2 cloud tests
320172
320173       · PR #38177: (vutny) Correct cp.get_file_str docstring and add integra‐
320174         tion tests @ 2016-12-09 16:55:35 UTC
320175
320176         · b63f74e034 Merge pull request #38177 from vutny/fix-cp-get-file-str
320177
320178         · a449980672  Correct  cp.get_file_str  docstring and add integration
320179           tests
320180
320181       · PR #38153: (vutny) Master config includes may contain errors  and  be
320182         safely skipped @ 2016-12-08 17:43:34 UTC
320183
320184         · 7596313be0    Merge    pull    request   #38153   from   vutny/mas‐
320185           ter-includes-error-tolerance
320186
320187         · cd0154ee93 Master config includes may contain errors and be  safely
320188           skipped
320189
320190         · PR  #38134:  (rallytime)  Skip  daemon  unit  tests when running on
320191           Python 2.6
320192
320193       · ISSUE    #38091:    (tjyang)    [WARNING    ]    salt.loaded.int.mod‐
320194         ule.zenoss.__virtual__() is wrongly returning None.  (refs: #38102)
320195
320196       · PR  #38102:  (rallytime)  Add False + msg tuple return if requests is
320197         missing for zenoss module @ 2016-12-07 13:24:37 UTC
320198
320199         · d3d98fd4eb Merge pull request #38102 from rallytime/fix-38091
320200
320201         · 4f79d5a0d1 Add False + msg tuple return if requests is missing  for
320202           zenoss module
320203
320204       · ISSUE  #36707:  (do3meli)  slow  FreeBSD sysctl module with test=true
320205         (refs: #36794)
320206
320207       · PR #38104:  (rallytime)  Back-port  #36794  to  2016.3  @  2016-12-07
320208         13:23:48 UTC
320209
320210         · PR  #36794: (do3meli) FreeBSD sysctl module now handels config_file
320211           parameter in show method (refs: #38104)
320212
320213         · 8c8cbc2734 Merge pull request #38104 from rallytime/bp-36794
320214
320215         · c906c8a0d5 Pylint fixes
320216
320217         · da3ebf83e6 FreeBSD sysctl module now handels config_file  parameter
320218           in show method
320219
320220       · ISSUE  #35342:  (morganwillcock)  win_pkg:  refresh_db doesn't remove
320221         cached items which have been renamed or removed (refs: #38083)
320222
320223       · PR #38083: (twangboy) Only delete .sls files from winrepo-ng [DO  NOT
320224         MERGE FORWARD] @ 2016-12-06 14:13:35 UTC
320225
320226         · fbc87769b9 Merge pull request #38083 from twangboy/fix_refresh_db
320227
320228         · 978af6d83c Remove only .sls files from the cached winrepo-ng
320229
320230       · PR  #38059:  (rallytime)  Call  exec_test  for  the  Syndic daemon in
320231         tests.unit.daemons_test.py @ 2016-12-04 04:18:41 UTC
320232
320233         · PR #38057: (rallytime)  [2016.11]  Merge  forward  from  2016.3  to
320234           2016.11 (refs: #38059)
320235
320236         · PR  #38034:  (cachedout) Modify daemons test to use multiprocessing
320237           (refs: #38059)
320238
320239         · 9dcfdeef6b  Merge   pull   request   #38059   from   rallytime/dae‐
320240           mons-test-fix
320241
320242         · eb372b27d8 Add missing "not" statement: The last syndic test should
320243           assertFalse()
320244
320245         · 4e10f8e018 Call exec_test for the Syndic daemon in  tests.unit.dae‐
320246           mons_test.py
320247
320248       · ISSUE  #37939:  (Talkless)  file.comment  always  report  changes  in
320249         test=True mode (refs: #38039)
320250
320251       · PR #38039: (rallytime) Check to see if a line  is  already  commented
320252         before moving on @ 2016-12-02 20:08:35 UTC
320253
320254         · 9cd42b9b3f Merge pull request #38039 from rallytime/fix-37939
320255
320256         · 1da7aacfbe  Update unit tests to account for additional file.search
320257           call
320258
320259         · 8a685b1820 Check to see if a line is already commented before  mov‐
320260           ing on
320261
320262         · f2c045520d Write an integration test demonstrating the issue
320263
320264       · ISSUE #38037: (dmurphy18) pkg.latest and yumpkg.latest_version return
320265         incorrect package versions 2016.3 and 2016.11 (refs: #38045)
320266
320267       · PR #38045: (terminalmage) yumpkg.py: don't include  non-upgrade  ver‐
320268         sions found by "yum list available" @ 2016-12-02 20:07:38 UTC
320269
320270         · a34a763984 Merge pull request #38045 from terminalmage/issue38037
320271
320272         · 65289503d9 Simplify logic for matching desired pkg arch with actual
320273           pkg arch
320274
320275         · 3babbcda94 yumpkg.py: don't include non-upgrade versions  found  by
320276           "yum list available"
320277
320278         · PR  #38034:  (cachedout) Modify daemons test to use multiprocessing
320279           (refs: #38059)
320280
320281       · PR #37995: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
320282         2016-11-30 20:12:55 UTC
320283
320284         · 6942d5d95b Merge pull request #37995 from rallytime/merge-2016.3
320285
320286         · b44e17921c Merge branch '2015.8' into '2016.3'
320287
320288           · 7a7e36728f  Merge  pull request #37978 from terminalmage/ext_pil‐
320289             lar_first-docs
320290
320291             · 61ed9a8657 Add clarifying language to ext_pillar_first docs
320292
320293         · PR #38002: (laleocen) fix broken yaml code block
320294
320295       · ISSUE #35088: (Modulus) salt/cloud/ec2.py encoding  problems.  (refs:
320296         #37912)
320297
320298       · PR  #37912: (attiasr) fix encoding problem aws responses @ 2016-11-30
320299         18:10:30 UTC
320300
320301         · 3dd45fbedf    Merge    pull    request    #37912     from     atti‐
320302           asr/fix_aws_response_encoding
320303
320304         · ba4ec4e7f1 use Requests result encoding to encode the text
320305
320306         · abe4eb3b98 fix encoding problem aws responses
320307
320308       · PR #37950: (vutny) Set default Salt Master address for a Syndic (like
320309         for a Minion) @ 2016-11-30 18:09:04 UTC
320310
320311         · 69a74a4d2d  Merge  pull  request   #37950   from   vutny/fix-start‐
320312           ing-up-syndic
320313
320314         · 7d9bc9abce  syndic_master: correct default value, documentation and
320315           example config
320316
320317         · 92a7c7ed1b Set default Salt Master address for a Syndic (like for a
320318           Minion)
320319
320320         · PR  #37964: (terminalmage) Add clarification on expr_form usage and
320321           future deprecation
320322
320323       · ISSUE #37867: (tobiasBora)  Bug  into  lsb_release  that  crash  salt
320324         (refs: #37962)
320325
320326         · PR #37962: (cachedout) Catch possible exception from lsb_release
320327
320328       · ISSUE  #37945:  (gstachowiak) Missing exception handling in salt.mas‐
320329         ter.Maintenance. Process never completes. (refs: #37961)
320330
320331         · PR #37961: (cachedout) Handle empty tokens safely
320332
320333       · PR #37272: (vutny) Get  default  logging  level  and  log  file  from
320334         default opts dict (refs: #38223) @ 2016-11-28 23:04:20 UTC
320335
320336         · ea46639ce7   Merge   pull   request   #37272   from  vutny/fix-get‐
320337           ting-default-logging-opts
320338
320339         · e5ce52388a Fix description in the Salt Syndic usage info
320340
320341         · 518a3dd7ee Add unit  tests  for  Salt  parsers  processing  logging
320342           options
320343
320344         · 83d6a44254  Add ssh_log_file option to master config and documenta‐
320345           tion
320346
320347         · c8a0915460 Fix configuration example  and  documentation  for  syn‐
320348           dic_log_file option
320349
320350         · e64dd3ed6b Correct default attributes for various parser classes
320351
320352         · 82a2e216b3 Fix default usage string for Salt command line programs
320353
320354         · 45dffa292f  Fix  readding  and  updating logfile and pidfile config
320355           options for Salt API
320356
320357         · f47253c21b Fix reading and applying Salt Cloud  default  configura‐
320358           tion
320359
320360         · fad5bec936 Work with a copy of default opts dictionaries
320361
320362         · b7c24811e5 Fix log_level_logfile config value type
320363
320364         · 1bd76a1d96 Fix setting temporary log level if CLI option omitted
320365
320366         · 121848cc77 Fix obtaining log_granular_levels config setting
320367
320368         · 44cf07fec2  Make  CLI  options  take precedence for setting up log‐
320369           file_logger
320370
320371         · 61afaf1792 Fix setting option attributes when processing  log_level
320372           and log_file
320373
320374         · 3c60e2388e Fix processing of log_level_logfile config setting
320375
320376         · 55a0af5bbd  Use attribute functions for getting/setting options and
320377           config values
320378
320379         · c25f2d091e Fix getting Salt API default logfile option
320380
320381         · f2422373c1 Remove processing of unused and undocumented cli_*_log_*
320382           config options
320383
320384         · 2065e8311c  Get  default  logging  level and file from default opts
320385           dict
320386
320387       · PR #37925: (kontrolld) Fix missing  ipv6  options  centos  network  @
320388         2016-11-28 22:38:43 UTC
320389
320390         · f2f957da6c  Merge  pull request #37925 from kontrolld/add-ipv6-cen‐
320391           tos-network
320392
320393         · ac2b477412 Adding IPv6 functionality for CentOS /etc/sysconfig/net‐
320394           work
320395
320396       · ISSUE  #37059:  (basepi) Beacon fileserver operations cause scheduled
320397         jobs with fileserver operations to hang (refs: #37899)
320398
320399       · PR #37899: (DmitryKuzmenko) Clear functions context in schedule tasks
320400         for ZeroMQ.  @ 2016-11-28 22:23:45 UTC
320401
320402         · c07ad11279    Merge    pull   request   #37899   from   DSRCorpora‐
320403           tion/bugs/37059_schedule_task_hang
320404
320405         · 9497748546 Clear functions context in schedule tasks for ZeroMQ.
320406
320407       · ISSUE #37737: (b-harper) python client api CloudClient multiple calls
320408         needed (refs: #37928)
320409
320410       · PR  #37928:  (techhat)  Don't  modify self.opts directly @ 2016-11-28
320411         21:07:40 UTC
320412
320413         · a55519db40 Merge pull request #37928 from techhat/issue37737
320414
320415         · a09a60e89b Don't modify self.opts directly
320416
320417       · PR #37929: (gtmanfred) add list_nodes_min to nova driver @ 2016-11-28
320418         21:05:40 UTC
320419
320420         · 9d17f1ce90 Merge pull request #37929 from gtmanfred/2016.3
320421
320422         · c7d2c73503 add list_nodes_min to nova driver
320423
320424       · PR  #37926:  (kontrolld)  Fixes no IPv6 functionality in /etc/syscon‐
320425         fig/network @ 2016-11-28 20:40:00 UTC
320426
320427         · 3bb743b59f Merge pull request #37926  from  kontrolld/fix-ipv6-cen‐
320428           tos-network
320429
320430         · 3ed42e5b44 updated
320431
320432         · 3b3bc4f239 Fixes no IPv6 functionality in /etc/sysconfig/network
320433
320434       · PR #37921: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
320435         2016-11-28 19:54:40 UTC
320436
320437         · 271170a9f3 Merge pull request #37921 from rallytime/merge-2016.3
320438
320439         · 523a67c422 Merge branch '2015.8' into '2016.3'
320440
320441           · 4cdc6cf5ec Update earlier  release  channels'  docs  with  Carbon
320442             release notes (#37914)
320443
320444           · d31491a7fe  [2015.8]  Update  version  numbers  in doc config for
320445             2016.11.0 release (#37918)
320446
320447       · PR #37924: (cachedout) Update test  for  new  gem  ver  @  2016-11-28
320448         18:17:53 UTC
320449
320450         · 6cd6429ac0 Merge pull request #37924 from cachedout/fix_gem_states
320451
320452         · 894cca3427 Update test for new gem ver
320453
320454       · PR  #37916: (rallytime) [2016.3] Update version numbers in doc config
320455         for 2016.11.0 release @ 2016-11-28 17:09:08 UTC
320456
320457         · c35ba1f390    Merge    pull    request    #37916    from     rally‐
320458           time/doc-update-2016.3
320459
320460         · bd40592289  [2016.3]  Update  version  numbers  in  doc  config for
320461           2016.11.0 release
320462
320463       · ISSUE #37287: (aaronm-cloudtek) salt.states.ddns.present: 'NS' record
320464         type always returns as changed (refs: #37785)
320465
320466       · PR #37785: (aaronm-cloudtek) respect trailing dot in ddns name param‐
320467         eter @ 2016-11-28 14:02:10 UTC
320468
320469         · e13a2488c8      Merge      pull      request      #37785       from
320470           Cloudtek/ddns-respect-trailing-dot
320471
320472         · 262e3b3697 respect trailing dot in ddns name parameter
320473
320474       · ISSUE  #37870:  (fj40crawler)  salt.states.augeas.change returns None
320475         when test=True (refs: #37895)
320476
320477       · PR    #37895:    (fj40crawler)    Change     return     value     for
320478         salt/states/augeas.py  to be True instead of N… @ 2016-11-28 13:49:27
320479         UTC
320480
320481         · c03b389422      Merge      pull      request      #37895       from
320482           fj40crawler/fix-augeas-return-for-test
320483
320484         · ddc238df36  Fixed  augeas_test.py  to  match  True  v.s.  None  for
320485           test_change_in_test_mode
320486
320487         · ef75c459c0 Merge branch '2016.3' of github.com:saltstack/salt  into
320488           fix-augeas-return-for-test
320489
320490         · b0fe0cd256 Change return value for salt/states/augeas.py to be True
320491           instead of None for cases where salt is run with  test=True.  Fixes
320492           #37870
320493
320494       · PR  #37907:  (Talkless)  Fix server trust in test run of svn.latest @
320495         2016-11-28 13:47:39 UTC
320496
320497         · fdbc31e8d8 Merge pull request #37907 from Talkless/patch-2
320498
320499         · 072a319490 Fix server trust in test run of svn.latest
320500
320501       · PR #37896: (toanju) rh networking: add missing  values  @  2016-11-27
320502         10:30:35 UTC
320503
320504         · f39fdf443f Merge pull request #37896 from toanju/2016.3
320505
320506         · c95304188e rh networking: add missing values
320507
320508       · PR  #37886:  (bdrung)  Fix  various  spelling  mistakes  @ 2016-11-25
320509         02:59:36 UTC
320510
320511         · ea935c5a91 Merge pull request #37886 from bdrung/fix-typos
320512
320513         · 9a51ba5c5b Fix various spelling mistakes
320514
320515       · ISSUE #37732: (dhaines) list_semod() (from modules/selinux.py) incom‐
320516         patible with policycoreutils-2.5 (RHEL 7.3) (refs: #37736)
320517
320518       · PR  #37736:  (dhaines) handle semodule version >=2.4 (#37732) and fix
320519         typo @ 2016-11-24 01:44:20 UTC
320520
320521         · 371b0a86d9 Merge pull request #37736 from dhaines/issue-37732
320522
320523         · 7ef590a505 Update selinux.py
320524
320525         · 516a67e6a3 fix indexing error
320526
320527         · 4e49c1e991 fix typo
320528
320529         · b16f2d8400 handle semodule version >=2.4 (#37732) and fix typo
320530
320531       · PR #37797: (clan) check count of columns  after  split  @  2016-11-24
320532         01:28:59 UTC
320533
320534         · 87aeb66fbf Merge pull request #37797 from clan/extfs
320535
320536         · acf0f960ef check count of columns after split
320537
320538       · PR  #37762:  (twangboy)  Add  pre_versions  to chocolatey.installed @
320539         2016-11-24 01:27:29 UTC
320540
320541         · f7c7109152  Merge  pull  request  #37762  from  twangboy/fix_choco‐
320542           latey_state
320543
320544         · 9696b6dfa5 Use keyword args instead of relying on ordering
320545
320546         · 398eaa074d Add pre_versions to the available arguments
320547
320548       · PR  #37866:  (meaksh)  Backport  #37149 #36938 and #36784 to 2016.3 @
320549         2016-11-23 21:54:17 UTC
320550
320551         · PR #37857: (meaksh) Backport #37149 and  #36938  to  2015.8  (refs:
320552           #37866)
320553
320554         · PR #37856: (meaksh) Backport #36784 to 2015.8 (refs: #37866)
320555
320556         · PR  #37149: (dincamihai) Fix pkg.latest_version when latest already
320557           installed (refs: #37857, #37866)
320558
320559         · PR #36938: (wanparo) acl.delfacl: fix position of -X option to set‐
320560           facl (refs: #37857, #37866)
320561
320562         · PR  #36784:  (moio)  OS  grains  for  SLES  Expanded Support (refs:
320563           #37856, #37866)
320564
320565         · 56baa92d55      Merge      pull      request      #37866       from
320566           meaksh/2016.3-bp-37149-36938-36784
320567
320568         · 9d8d578109 Fix pkg.latest_version when latest already installed
320569
320570         · ffca0d491c - acl.delfacl: fix position of -X option to setfacl
320571
320572         · 3dfed6b841 Adjust linux_acl unit test argument ordering
320573
320574         · f185ecdde1 core.py: quote style fixed
320575
320576         · 8404d13424  Setting  up OS grains for SLES Expanded Support (SUSE's
320577           Red Hat compatible platform)
320578
320579       · ISSUE #32829: (tyhunt99) Dockerng appears to not be using docker reg‐
320580         istries pillar data (refs: #36893)
320581
320582       · PR  #37863:  (rallytime)  Back-port  #36893  to  2016.3  @ 2016-11-23
320583         17:09:09 UTC
320584
320585         · PR #36893: (tyhunt99) add option to force a  reauth  for  a  docker
320586           registry (refs: #37863)
320587
320588         · d0cc7f0d56 Merge pull request #37863 from rallytime/bp-36893
320589
320590         · 4c70534991 Add versionadded to reauth option in dockerng module
320591
320592         · 5ca2c388c2  added  documentation for the new reuth option in docker
320593           registry configuration
320594
320595         · 5b0c11ab47 add option to force a reauth for a docker registry
320596
320597         · PR #37847: (laleocen) add  multiline  encryption  documentation  to
320598           nacl
320599
320600       · ISSUE #37787: (elyulka) user.present state fails to change loginclass
320601         on FreeBSD (refs: #37827)
320602
320603         · PR #37827: (silenius) add missing chloginclass
320604
320605         · PR #37826: (rallytime) Update branch refs to more relevant branch
320606
320607         · PR #37822: (laleocen) add  documenation  for  multiline  encryption
320608           using nacl (refs: #37826)
320609
320610       · ISSUE  #19269:  (markuskramerIgitt)  Undocumented   feature names: of
320611         file.directory (refs: #37823)
320612
320613         · PR #37823: (rallytime) Add "names" option to file state docs: point
320614           users to highstate doc examples
320615
320616       · ISSUE #15697: (arthurlogilab) keystone.user_present should not re-set
320617         the password when user exists (refs: #37821)
320618
320619         · PR #37821: (rallytime) Clarify keystone.user_present password state
320620           docs with default behavior
320621
320622       · ISSUE #5999: (pille) libvirt.keys does not work (refs: #37820)
320623
320624         · PR #37820: (rallytime) Add some dependency documentation to libvirt
320625           docs
320626
320627       · PR #37772: (bdrung) Support initializing  OpenSSL  1.1  @  2016-11-21
320628         20:28:51 UTC
320629
320630         · 485270f74e Merge pull request #37772 from bdrung/openssl1.1
320631
320632         · 819c9658ed Support initializing OpenSSL 1.1
320633
320634       · ISSUE  #37383:  (edwardsdanielj)  Orchestration arguments (kwarg) not
320635         being interperted / How I learned to stop worrying  about  documenta‐
320636         tion and love experimenting (refs: #37817)
320637
320638         · PR  #37817:  (rallytime)  Update  orchestrate  runner file.copy doc
320639           example
320640
320641       · ISSUE #37653: (gravyboat)  Salt.cron  docs  don't  wrap  @hourly  and
320642         @daily correctly in quotes for the examples (refs: #37816)
320643
320644       · ISSUE  #31953:  (sjorge) Documentation for salt.states.cron is incor‐
320645         rect (refs: #32157)
320646
320647       · PR #37816:  (rallytime)  Back-port  #32157  to  2016.3  @  2016-11-21
320648         20:22:27 UTC
320649
320650         · PR #32157: (cachedout) Add quotes to cron doc (refs: #37816)
320651
320652         · c5d3d8b66a Merge pull request #37816 from rallytime/bp-32157
320653
320654         · d9c297119e Add quotes to cron doc
320655
320656       · PR  #37812:  (rallytime)  Back-port  #37790  to  2016.3  @ 2016-11-21
320657         18:46:40 UTC
320658
320659         · PR #37790: (sofixa) Update cloud/proxmox.rst with more options  and
320660           LXC (refs: #37812)
320661
320662         · 97e6b6aabe Merge pull request #37812 from rallytime/bp-37790
320663
320664         · ca3b6e7874 Update proxmox.rst with more options and LXC
320665
320666       · ISSUE  #37751:  (freach)  Documentation salt.states.dockerng.running:
320667         "privileged" property undocumented (refs: #37789)
320668
320669       · PR #37811:  (rallytime)  Back-port  #37789  to  2016.3  @  2016-11-21
320670         18:46:21 UTC
320671
320672         · PR #37789: (fedusia) issue: 37751 (refs: #37811)
320673
320674         · 27703c54bc Merge pull request #37811 from rallytime/bp-37789
320675
320676         · ba3fef48e1  fix comment
320677
320678         · a021f76a9b issue: 37751 Add documentation for option privileged
320679
320680       · PR  #37810:  (rallytime)  Back-port  #37775  to  2016.3  @ 2016-11-21
320681         18:45:53 UTC
320682
320683         · PR #37775: (calve) Document  python  argument  in  salt.states.vir‐
320684           tualenv_mod (refs: #37810)
320685
320686         · adac9d7c0c Merge pull request #37810 from rallytime/bp-37775
320687
320688         · 2bed91437b Document python argument in salt.states.virtualenv_mod
320689
320690       · ISSUE  #37742: (blaketmiller) Cannot match on nodegroup when checking
320691         minions (refs: #37763)
320692
320693         · PR #37763: (cachedout) Add nodegroup check to ckminions
320694
320695       · ISSUE #37725: (secumod) salt-call  incorrectly  parses  master  host‐
320696         name:port from minion config (refs: #37766)
320697
320698         · PR #37766: (cachedout) Fix ip/port issue with salt-call
320699
320700       · ISSUE  #33709:  (msummers42) Any/All Salt-SSH invocations in 2016.3.0
320701         Fails  with  AttributeError:  'module'  object   has   no   attribute
320702         'BASE_THORIUM_ROOTS_DIR' (refs: #37767)
320703
320704         · PR #37767: (cachedout) Add thorium path to syspaths
320705
320706       · PR  #37760:  (hu-dabao) Fix couchbase returner and add couple of more
320707         features @ 2016-11-18 00:28:23 UTC
320708
320709         · bff949f4e9 Merge pull request #37760 from hu-dabao/fix_cb_returner
320710
320711         · de372f277e 1. returner no need to check whether the jid exists  for
320712           external  job cache setup 2. add full_ret to return doc so that the
320713           document will be informative 3. make  ttl  as  a  config  attribute
320714           because  salt-minion does not have keep_jobs attribute 4. add pass‐
320715           word into config attribute 5. update the documents accordingly
320716
320717       · ISSUE #36629: (yhekma) The pillar run module does not  honor  saltenv
320718         (refs: #37738)
320719
320720       · PR  #37738:  (terminalmage) Allow pillar.get to retrieve fresh pillar
320721         data when saltenv passed @ 2016-11-17 23:13:04 UTC
320722
320723         · 1f976ac212 Merge pull request #37738 from terminalmage/issue36629
320724
320725         · da46678c51 Allow pillar.get to  retrieve  fresh  pillar  data  when
320726           saltenv passed
320727
320728         · PR  #37745:  (cro) Switch default filter tag for ONE resources from
320729           user only to all resources
320730
320731       · ISSUE #37498: (githubcdr) service.restart salt-minion fails on Ubuntu
320732         14.04.5 LTS (refs: #37748, #38587)
320733
320734         · PR  #37748:  (silenius)  check  for  SERVICE_DIR  in __virtual__ in
320735           salt.modules.daemontools
320736
320737       · ISSUE #37734: (Ch3LL) Joyent Cloud Size Issue (refs: #37735)
320738
320739       · PR #37735:  (Ch3LL)  change  size  and  image  of  joyent  profile  @
320740         2016-11-16 21:07:52 UTC
320741
320742         · fa7883115e Merge pull request #37735 from Ch3LL/fix_joyent_profile
320743
320744         · 9ef41dcdfc change size and image of joyent profile
320745
320746       · PR #37731: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
320747         2016-11-16 17:13:02 UTC
320748
320749         · 98e25c68aa Merge pull request #37731 from rallytime/merge-2016.3
320750
320751         · ec1389711f Merge branch '2015.8' into '2016.3'
320752
320753           · f417dbbe99 Merge pull request #37718 from terminalmage/docs
320754
320755             · 23b8b2a3f4 Fix incorrectly-formatted RST
320756
320757         · PR #37724: (cachedout) Warn on AES test for systems with > 1 core
320758
320759       · PR #37721: (terminalmage) Fix for pillar setting 'environment' key in
320760         __gen_opts() @ 2016-11-16 16:04:53 UTC
320761
320762         · 35655d521f Merge pull request #37721 from terminalmage/zd909
320763
320764         · acdd5513da Update git_pillar docs to reflect info from bugfix
320765
320766         · 433737d2dc Fix for pillar setting 'environment' key in __gen_opts()
320767
320768       · PR  #37719:  (terminalmage)  Fix  incorrectly-formatted  RST  (2016.3
320769         branch) @ 2016-11-16 08:20:53 UTC
320770
320771         · 99cda7c003 Merge pull request #37719 from terminalmage/docs-2016.3
320772
320773         · f163b4c724 Fix incorrectly-formatted RST
320774
320775       · PR #37694: (cachedout) Catch differences in git URLs in npm  state  @
320776         2016-11-16 01:56:18 UTC
320777
320778         · 8dea695c7c Merge pull request #37694 from cachedout/npm_git
320779
320780         · 0e3bc2366a Catch differences in git URLs in npm state
320781
320782       · ISSUE  #37665: (kluoto) boto_elb state fails as key is overwritten by
320783         the code (refs: #37705)
320784
320785       · PR #37705: (rallytime) Don't overwrite the "key" variable  passed  in
320786         to _listeners_present func @ 2016-11-15 21:26:37 UTC
320787
320788         · 329448ccd7 Merge pull request #37705 from rallytime/fix-37665
320789
320790         · 3b7e9c5e3b Don't overwrite the "key" variable passed in to _listen‐
320791           ers_present func
320792
320793       · PR #37707: (Ch3LL) add timeout increase on azure tests  @  2016-11-15
320794         21:24:25 UTC
320795
320796         · PR #37239: (Ch3LL) Fix cloud tests timeout (refs: #37707)
320797
320798         · ac9a316b50 Merge pull request #37707 from Ch3LL/fix_timeout_azure
320799
320800         · 363122c675 add timeout increase on azure tests
320801
320802       · PR #37704: (twangboy) Fix test disabled 2016.3 [DO NOT MERGE FORWARD]
320803         @ 2016-11-15 16:48:52 UTC
320804
320805         · 1ece265354 Merge pull request  #37704  from  twangboy/fix_test_dis‐
320806           abled_2016.3
320807
320808         · a0429cf839 Use nfsd instead of apsd for test_disabled
320809
320810       · PR #37690: (twangboy) Update pyzmq to 15.3.0 for 2016.3 [DO NOT MERGE
320811         FORWARD] @ 2016-11-15 03:10:36 UTC
320812
320813         · 44f05acbff    Merge    pull    request    #37690    from     twang‐
320814           boy/update_pyzmq_2016.3
320815
320816         · cf55342150 Update pyzmq to version 15.3.0
320817
320818       · PR  #37680:  (rallytime)  Back-port  #32965  to  2016.3  @ 2016-11-15
320819         02:56:46 UTC
320820
320821         · PR #32965: (kevinquinnyo) Fix 'present' option  when  used  without
320822           'key_type' (refs: #37680)
320823
320824         · a743d8b5e6 Merge pull request #37680 from rallytime/bp-32965
320825
320826         · 1865b13645 Fix 'present' option when used without 'key_type'
320827
320828       · ISSUE  #35964:  (edgan)  salt-ssh  doesn't  set  the  return  code to
320829         non-zero on highstate rendering error (refs: #35965)
320830
320831       · PR #37681:  (rallytime)  Back-port  #35965  to  2016.3  @  2016-11-14
320832         21:19:22 UTC
320833
320834         · PR  #35965:  (edgan) Set the return code to 1 on salt-ssh highstate
320835           errors (refs: #37681)
320836
320837         · 1c2d6ff293 Merge pull request #37681 from rallytime/bp-35965
320838
320839         · 700f3fa57f Set the return code to 1 on salt-ssh highstate errors
320840
320841       · PR #37668: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
320842         2016-11-14 15:43:25 UTC
320843
320844         · 1b456b55dc Merge pull request #37668 from rallytime/merge-2016.3
320845
320846         · ef684c6b02 Merge branch '2015.8' into '2016.3'
320847
320848         · a01b66556f Add docs for rotate_aes_key (#37641)
320849
320850       · ISSUE  #37492:  (JensRantil) Failing salt -b 1 minion state.highstate
320851         has wrong exit code (refs: #37625)
320852
320853       · PR #37625: (cachedout) Return with proper retcodes in  batch  mode  @
320854         2016-11-12 20:29:09 UTC
320855
320856         · 305e51d1c0 Merge pull request #37625 from cachedout/issue_37492
320857
320858         · b6031524e5 Return with proper retcodes in batch mode
320859
320860       · ISSUE  #34547:  (sebw)  salt-cloud deployment fails when deploy: True
320861         (refs: #37607)
320862
320863       · PR #37639:  (rallytime)  Back-port  #37607  to  2016.3  @  2016-11-11
320864         20:29:20 UTC
320865
320866         · PR  #37607:  (techhat)  Try the connection again, in case it's been
320867           reset (refs: #37639)
320868
320869         · PR #35673: (cro) Proxies  don't  handle  reusing  the  SmartConnect
320870           instances very well.  D… (refs: #37607)
320871
320872         · PR #34059: (alexbleotu) Vmware common gh (refs: #37607)
320873
320874         · 7510cd4da9 Merge pull request #37639 from rallytime/bp-37607
320875
320876         · 9914c93bc4 Pylint: Remove kwargs that are not in the 2016.3 branch
320877
320878         · d941e9354d Disable pylint warning
320879
320880         · 940ee49a0b Lint fix
320881
320882         · 69893f0c38 Try the connection again, in case it's been reset
320883
320884       · ISSUE  saltstack/salt#37118:  (gtmanfred)  group  in file.find module
320885         unable to be a list (refs: #37349)
320886
320887       · ISSUE #37118: (gtmanfred) group in file.find module unable  to  be  a
320888         list (refs: #37349)
320889
320890       · PR  #37638:  (rallytime)  Back-port  #37349  to  2016.3  @ 2016-11-11
320891         20:29:01 UTC
320892
320893         · PR #37349: (haeac) Pull request for Bug #37118 (refs: #37638)
320894
320895         · 24ca96010d Merge pull request #37638 from rallytime/bp-37349
320896
320897         · ba2105bc39 Fix for Bug #37118, the wrong parameter was  being  used
320898           to convert the group name to group id.
320899
320900       · ISSUE  #37643:  (Ch3LL) digital ocean list_keypairs limits to 20 keys
320901         (refs: #37644)
320902
320903       · PR #37644: (Ch3LL) digital ocean list_keypairs:  increase  limit  for
320904         ssh keys parsed @ 2016-11-11 20:28:46 UTC
320905
320906         · e1e8b81d16 Merge pull request #37644 from Ch3LL/fix_37643
320907
320908         · c02961a2f5 list_keypairs: increase limit for ssh keys parsed
320909
320910       · ISSUE  #37541:  (yhekma) salt-minion does not clean up temp files for
320911         templates (refs: #37540, #37640)
320912
320913       · PR #37640: (rallytime) Add known issue  #37541  to  2016.3.4  release
320914         notes @ 2016-11-11 20:28:12 UTC
320915
320916         · a97c2ad34b     Merge    pull    request    #37640    from    rally‐
320917           time/update-release-notes
320918
320919         · 6d6de12aff Grammatical fix
320920
320921         · 24d7f20e16 Add known issue #37541 to 2016.3.4 release notes
320922
320923       · PR #37642: (cro) Forward-port change from 2015.8 adding release  note
320924         for rotate_aes_key @ 2016-11-11 20:27:07 UTC
320925
320926         · fab3eaa237 Merge pull request #37642 from cro/rotate_aes_doc
320927
320928         · 1ca5b958c6  Forward-port change from 2015.8 adding release note for
320929           rotate_aes_key
320930
320931       · ISSUE #37628: (TronPaul) [git 2016.3] Refreshing of an s3 file server
320932         results in an exception (refs: #37629)
320933
320934       · PR  #37629:  (TronPaul)  fix  __opts__  and  provider  being  None in
320935         salt.utils.aws:get_location @ 2016-11-11 09:49:47 UTC
320936
320937         · 4c07b3534a Merge pull request #37629 from TronPaul/fix-s3fs-opts
320938
320939         · a452cded20 fix __opts__ and provider being None issue
320940
320941       · PR #37481: (thatch45) Raet internal client reference fix @ 2016-11-11
320942         04:39:41 UTC
320943
320944         · 200d9fcb6e Merge pull request #37481 from thatch45/raet_client
320945
320946         · 50d911160b Attempted fix, needs user verification
320947
320948       · PR #37611: (jeanpralo) Fix cmd batch raw @ 2016-11-11 02:53:58 UTC
320949
320950         · b14faf1c68     Merge     pull    request    #37611    from    jean‐
320951           pralo/fix-cmd-batch-raw
320952
320953         · 4f16840ef1   add   integration    test    for    salt.client.Local‐
320954           Client.cmd_batch
320955
320956         · ead47e4bba update ret dict to avoid hanging
320957
320958         · 0a2f153b6e fix dict key for raw support to avoid exception
320959
320960       · PR  #37614:  (gtmanfred)  remove redundant code @ 2016-11-11 02:49:13
320961         UTC
320962
320963         · 35c8333d04 Merge pull request #37614 from gtmanfred/2016.3
320964
320965         · 71c2df89a9 remove redundent code
320966
320967       · PR #37627: (cachedout) Exempt pip.iteritems from test_valid_docs test
320968         @ 2016-11-11 02:48:37 UTC
320969
320970         · 4fab707bdd Merge pull request #37627 from cachedout/pr-36706
320971
320972         · 94df2f8e6f Exempt pip.iteritems from test_valid_docs test
320973
320974       · ISSUE #36644: (b1naryth1ef) env_vars not properly validated/casted to
320975         strings w/ virtualenv.manage/pip.install (refs: #36706)
320976
320977       · PR #36706: (siccrusher) Add  basic  sanity  checks  for  env_vars  in
320978         pip.install function @ 2016-11-11 02:47:16 UTC
320979
320980         · ee74f3116e     Merge     pull     request    #36706    from    sic‐
320981           crusher/fix_env_var_validation
320982
320983         · fb27f8b69e Revert change
320984
320985         · 79f3e83f8d Use fully-qualified path for six
320986
320987         · 0ca1222833 Update pip.py
320988
320989         · b15de371c1 * Ensure src is python3 compatible
320990
320991         · 0976a2d1ae * Before passing on the env_vars dictionary  ensure  all
320992           values are   strings. Fixes #36644
320993
320994       · ISSUE #37491: (JensRantil) "Failed to authenticate! ..." error should
320995         exit non-zero (refs: #37626)
320996
320997       · PR #37626: (cachedout) Exit with proper retcode on hard client  fail‐
320998         ures @ 2016-11-11 02:38:47 UTC
320999
321000         · 902a97575e Merge pull request #37626 from cachedout/issue_37491
321001
321002         · bab9a729b1 Exit with proper retcode on hard client failures
321003
321004       · PR  #37617:  (terminalmage)  Clarify  docs for git_pillar dynamic env
321005         feature @ 2016-11-11 01:52:52 UTC
321006
321007         · 845f835177 Merge pull  request  #37617  from  terminalmage/git_pil‐
321008           lar-docs
321009
321010         · 8cdf5dbb51 Clarify docs for git_pillar dynamic env feature
321011
321012       · PR #36627: (sjmh) Skip rest of loop on failed func match @ 2016-11-10
321013         23:47:12 UTC
321014
321015         · 3079d78332      Merge      pull      request      #36627       from
321016           sjmh/fix/auth_skip_nomatch
321017
321018         · b3baaf30d0 Skip rest of loop on failed func match
321019
321020       · PR  #37600: (mcalmer) change TIMEZONE on SUSE systems (bsc#1008933) @
321021         2016-11-10 21:54:04 UTC
321022
321023         · a71e7c77b3  Merge  pull  request  #37600   from   mcalmer/fix-time‐
321024           zone-on-SUSE
321025
321026         · 3530b542f0 change TIMEZONE on SUSE systems (bsc#1008933)
321027
321028       · ISSUE  #37238:  (cmclaughlin) Restarting master causes minion to hang
321029         (refs: #37438, #37602)
321030
321031       · ISSUE #37018:  (tsaridas)  get  events  from  python  (refs:  #37438,
321032         #37602)
321033
321034       · PR  #37602:  (DmitryKuzmenko)  Handle  master  restart in appropriate
321035         places using salt.event listener.  @ 2016-11-10 21:53:20 UTC
321036
321037         · PR #37438: (DmitryKuzmenko) Fix for  #37238  salt  hang  on  master
321038           restart (refs: #37602)
321039
321040         · 39b75878cf    Merge    pull   request   #37602   from   DSRCorpora‐
321041           tion/bugs/37238_salt_hang_on_master_restart
321042
321043         · d3d987b19c  Handle  master  restart  in  appropriate  places  using
321044           salt.event listener.
321045
321046       · PR  #37608: (gtmanfred) allow multiline returns from docker for mac @
321047         2016-11-10 21:48:59 UTC
321048
321049         · 019e1a721b Merge pull request #37608 from gtmanfred/2016.3
321050
321051         · 74aee1e372 allow multiline returns from docker for mac
321052
321053       · ISSUE #37592: (craigafinch) State git.latest does not work  with  SSH
321054         (refs: #37604)
321055
321056       · ISSUE  #37551:  (viict)  git.latest  "Not a valid commit name" (refs:
321057         #37604, #37571)
321058
321059         · PR #37604: (terminalmage) Documentation  improvements  and  correc‐
321060           tions
321061
321062         · PR #37579: (pass-by-value) Use existing VM's VDD size if not speci‐
321063           fied in the cloud profile
321064
321065       · ISSUE #37541: (yhekma) salt-minion does not clean up temp  files  for
321066         templates (refs: #37540, #37640)
321067
321068       · PR   #37540:  (yhekma)  Added  prefix  to  tempfile  for  template  @
321069         2016-11-10 00:37:18 UTC
321070
321071         · fdd13b4145 Merge pull request #37540 from yhekma/2016.3
321072
321073         · 93a59f8034 Added prefix to tempfile for template
321074
321075       · ISSUE #37084:  (aaronm-cloudtek)  x509.certificate_managed  does  not
321076         work with m2crypto >=0.25 (refs: #37578)
321077
321078         · PR #37578: (clinta) Update for m2crypto changes removing lhash
321079
321080         · PR #37584: (clinta) Fix eauth example for limiting args
321081
321082       · ISSUE  #37551:  (viict)  git.latest  "Not a valid commit name" (refs:
321083         #37604, #37571)
321084
321085         · PR #37571: (terminalmage) Add a test to ensure we don't  check  for
321086           fast-forward before fetching
321087
321088       · ISSUE  #33645:  (ketzacoatl)  saltutil.sync_all  does not sync custom
321089         pillar modules to masterless minions (refs: #33833)
321090
321091       · ISSUE #25297: (Akilesh1597) perform 'refresh_pillar'  as  a  part  of
321092         'sync_all' (refs: #25361, #37521)
321093
321094       · PR  #37553:  (rallytime)  Back-port  #37521  to  2016.3  @ 2016-11-08
321095         23:11:07 UTC
321096
321097         · PR #37521: (genuss) refresh_pillar() should be called  always  with
321098           refresh=True during saltutil.sync_all (refs: #37553)
321099
321100         · PR #33833: (terminalmage) Support syncing pillar modules to master‐
321101           less minions (refs: #37521)
321102
321103         · PR #25361: (tedski) perform refresh_pillar as part of sync_all when
321104           refresh=True (refs: #37521)
321105
321106         · b01c247ea9 Merge pull request #37553 from rallytime/bp-37521
321107
321108         · 30f92b05f4 refresh_pillar() should be called always
321109
321110         · PR  saltstack/salt#37549:  (Mrten)  sqlite  is  not found in 2015.8
321111           (refs: #37565)
321112
321113       · PR #37565:  (rallytime)  Back-port  #37549  to  2016.3  @  2016-11-08
321114         23:10:25 UTC
321115
321116         · PR #37549: (Mrten) sqlite is not found in 2015.8 (refs: #37565)
321117
321118         · 694df30d40 Merge pull request #37565 from rallytime/bp-37549
321119
321120         · c92a90b8e5 Update sqlite3.py
321121
321122         · fb76557a2a sqlite is not found in 2015.8
321123
321124       · ISSUE  #37511: (jdelic) service.dead now only operates if the service
321125         file exists (refs: #37562)
321126
321127         · PR #37562: (terminalmage) Fix regression in service.dead state
321128
321129       · ISSUE #37554: (sjmh) salt-api doesn't dynamically re-read  nodegroups
321130         configuration (refs: #37560)
321131
321132         · PR #37560: (whiteinge) Skip config type checking for sdb values
321133
321134         · PR  #37556:  (rallytime)  Don't  pass  the  vpc id to boto.vpc.cre‐
321135           ate_internet_gateway func
321136
321137         · PR #37543: (multani) Documentation rendering fixes
321138
321139       · ISSUE saltstack/salt#31081: (JensRantil) salt.modules.file.line docu‐
321140         mentation unclarities (refs: #37457)
321141
321142       · PR #37457: (rallytime) Fixup file.line docs to be more clear and con‐
321143         sistent @ 2016-11-08 00:29:20 UTC
321144
321145         · 96b8b9a849 Merge pull request #37457 from rallytime/fix-31081
321146
321147         · 25821bb8db Clarify which modes use "before", "after", and  "indent"
321148           options
321149
321150         · 8b2d2b9e7b Clarify file.line state docs as well
321151
321152         · b2615892eb  Move note about using mode=insert with location options
321153           to mode section
321154
321155         · db0b0cefb8 Fixup file.line docs to be more clear and consistent
321156
321157       · ISSUE #35799: (davegiles) dsc.apply_config hangs (no error) on  empty
321158         directory on target (refs: #37526)
321159
321160       · PR  #37526: (twangboy) Remove loop from dsc.apply_config @ 2016-11-08
321161         00:23:11 UTC
321162
321163         · 7de790ffed Merge pull request #37526 from twangboy/fix_35799
321164
321165         · fc4260911c Remove unnecessary format
321166
321167         · c934a2bfa7 Remove the loop from apply_config
321168
321169         · PR saltstack/salt#37515: (rallytime) [carbon]  Merge  forward  from
321170           2016.3 to carbon (refs: #37534)
321171
321172       · PR  #37534: (rallytime) Back-port fix needed from #37515 @ 2016-11-08
321173         00:14:46 UTC
321174
321175         · PR #37515: (rallytime) [carbon] Merge forward from 2016.3 to carbon
321176           (refs: #37534)
321177
321178         · 94811df2ea     Merge    pull    request    #37534    from    rally‐
321179           time/bp-merge-foward-fix
321180
321181         · d1b2af1d69 Add missing source_hash_name args to a couple funcs
321182
321183       · PR #37533: (whiteinge) Return a 504 response instead of 500 for  Salt
321184         timeouts @ 2016-11-08 00:14:15 UTC
321185
321186         · 17adbb0c9f       Merge      pull      request      #37533      from
321187           whiteinge/salt-api-504-timeouts
321188
321189         · 63226aeda6 Return a 504 response instead of 500 for Salt timeouts
321190
321191       · ISSUE  saltstack/salt#36679:  (lorengordon)  Command   'Import-Module
321192         ServerManager'   failed   with   return   code:   1   (refs:  #`salt‐
321193         stack/salt`#36736`_`_, #36736)
321194
321195         · PR saltstack/salt#36736: (m03) Fix  issue  36679  win_servermanager
321196           error (refs: #37529)
321197
321198       · PR  #37529:  (lorengordon)  Backport: PR 36736 to 2016.3 @ 2016-11-08
321199         00:04:10 UTC
321200
321201         · PR #36736: (m03) Fix issue 36679 win_servermanager error
321202
321203         · a9f03eee6f Merge pull request #37529 from lorengordon/bp-36736
321204
321205         · 21c2664b6a Fix issue 36679 win_servermanager failure
321206
321207       · ISSUE #37444: (Tanoti) Returning False from __virtual__ in a returner
321208         does  not  return  expected error (refs: #`saltstack/salt`#37502`_`_,
321209         #37519, #37502)
321210
321211         · PR saltstack/salt#37502: (cachedout) Log proper message on  return‐
321212           ers that cannot be loaded (refs: #37519)
321213
321214       · PR  #37519: (rallytime) Update returner __virtual__() return messages
321215         for loader @ 2016-11-07 23:06:23 UTC
321216
321217         · 19475aada6    Merge    pull    request    #37519    from     rally‐
321218           time/returner-load-errors
321219
321220         · fb261a31f3 Update returner __virtual__() return messages for loader
321221
321222       · ISSUE #35016: (pingangit) TypeError: save_minions() got an unexpected
321223         keyword argument 'syndic_id' (refs: #37527)
321224
321225       · PR #37527: (rallytime) Add syndic_id=None kwarg to save_minions funcs
321226         in returners @ 2016-11-07 23:04:03 UTC
321227
321228         · fefdfab850 Merge pull request #37527 from rallytime/fix-35016
321229
321230         · 2944b244aa  Add  syndic_id=None  kwarg  to  save_minions  funcs  in
321231           returners
321232
321233         · PR #37530: (gtmanfred) fix Lithium to 2015.5.0
321234
321235       · PR #37514: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
321236         2016-11-07 16:51:06 UTC
321237
321238         · 743164844d Merge pull request #37514 from rallytime/merge-2016.3
321239
321240         · 41166aede4 Merge branch '2015.8' into '2016.3'
321241
321242         · c505a059ef [2015.8] Doc version updated to 2016.3.4 (#37482)
321243
321244       · ISSUE #36713: (Tanoti) ExtraData: unpack(b) received extra data after
321245         upgrading to 2016.3.3 (refs: #37503)
321246
321247       · PR #37503:  (cachedout)  Catch  loader  error  on  returners  without
321248         save_load @ 2016-11-07 09:33:57 UTC
321249
321250         · 2d924d0820 Merge pull request #37503 from cachedout/issue_36713
321251
321252         · 5f7f971b2c Catch loader error on returners without save_load
321253
321254       · ISSUE  #37448:  (alisson276) In 'salt/key' events there are acts that
321255         never happen (refs: #37499)
321256
321257       · PR #37499: (cachedout) Clarify docs on salt-key events  @  2016-11-07
321258         09:33:20 UTC
321259
321260         · d95bf59f97  Merge pull request #37499 from cachedout/key_docs_clar‐
321261           ify
321262
321263         · 2758e74785 Clarify docs on salt-key events
321264
321265       · PR #37500: (cachedout) Remove unused flag @ 2016-11-07 09:33:04 UTC
321266
321267         · 1dd1408ae6    Merge    pull    request    #37500    from    cached‐
321268           out/remove_include_errors
321269
321270         · 6c705b11e0 Remove unused flag
321271
321272       · ISSUE #37444: (Tanoti) Returning False from __virtual__ in a returner
321273         does not return expected  error  (refs:  #`saltstack/salt`#37502`_`_,
321274         #37519, #37502)
321275
321276       · PR #37502: (cachedout) Log proper message on returners that cannot be
321277         loaded @ 2016-11-07 09:32:45 UTC
321278
321279         · 4b6f1ab1c4 Merge pull request #37502 from cachedout/issue_37444
321280
321281         · 4c5ab057ce Remove debugging
321282
321283         · 17d01e4f4c Log proper message on returners that cannot be loaded
321284
321285       · ISSUE #37389: (d101nelson) Some core grains are inaccurate or  incom‐
321286         plete for Solaris (refs: #37472)
321287
321288       · PR  #37494:  (sjorge)  Forgot  to  update  os_family  map in #37472 @
321289         2016-11-06 22:18:54 UTC
321290
321291         · PR #37472:  (sjorge)  2016.3  solaris  grains  improvements  (refs:
321292           #37494)
321293
321294         · 2422dafd52 Merge pull request #37494 from sjorge/2016.3-osfam_map
321295
321296         · 96ba545492 Forgot to update os_family map in #37472
321297
321298       · PR  #37496:  (mcalmer)  fix  status  handling  in sysv init scripts @
321299         2016-11-06 22:18:00 UTC
321300
321301         · 41bd8e3f52 Merge pull request #37496  from  mcalmer/fix-status-han‐
321302           dling-in-sysv-init-scripts
321303
321304         · 1fb2c4dfcf fix status handling in sysv init scripts
321305
321306       · PR   #37497:   (terminalmage)  Update  2016.3.5  release  notes  with
321307         source_hash_name explanation @ 2016-11-06 22:17:40 UTC
321308
321309         · e741a773a5   Merge   pull    request    #37497    from    terminal‐
321310           mage/release_notes
321311
321312         · c08038d9ea  Update  2016.3.5  release  notes  with source_hash_name
321313           explanation
321314
321315       · PR #37486: (twangboy) Add requirement for PowerShell 3 on  Windows  @
321316         2016-11-06 06:01:07 UTC
321317
321318         · f4426c2233 Merge pull request #37486 from twangboy/fix_win_docs
321319
321320         · 9e0631a1ae  Add  docs  denoting the requirement for at least Power‐
321321           Shell 3
321322
321323       · PR #37493: (cachedout) Add sdb support to minion and master configs @
321324         2016-11-06 06:00:18 UTC
321325
321326         · a1f355a569  Merge  pull  request  #37493 from cachedout/minion_mas‐
321327           ter_sdb
321328
321329         · 9761a462c2 Add sdb support to minion and master configs
321330
321331       · ISSUE #31135: (jeffreyctang) file.line   mode=replace breaks on empty
321332         file. (refs: #37452)
321333
321334       · PR  #37452:  (rallytime) file.line with mode=replace on an empty file
321335         should return False, not stacktrace @ 2016-11-06 01:55:11 UTC
321336
321337         · be93710fee Merge pull request #37452 from rallytime/fix-31135
321338
321339         · c792f76d2f Bump log level from debug to warning on empty file
321340
321341         · 5f181cf00d file.line with mode=replace  on  an  empty  file  should
321342           return False
321343
321344         · 94a00c66eb Write a unit test demonstrating stack trace in #31135
321345
321346       · ISSUE  #37001:  (phil123456) URGENT : archive.extracted does not work
321347         anymore (refs: #37081, #saltstack/salt`#37081`_)
321348
321349       · ISSUE #29010:  (The-Loeki)  file.managed  download  failing  checksum
321350         testing for Ubuntu initrd w/source_hash (refs: #37469)
321351
321352         · PR   saltstack/salt#37081:   (terminalmage)  Fix  archive.extracted
321353           remote source_hash verification (refs: #37469)
321354
321355       · PR #37469: (terminalmage) Rewrite file.extract_hash  to  improve  its
321356         matching ability @ 2016-11-06 01:50:01 UTC
321357
321358         · PR  #37081: (terminalmage) Fix archive.extracted remote source_hash
321359           verification (refs: #37469)
321360
321361         · 129b0387e6 Merge pull request #37469 from terminalmage/issue29010
321362
321363         · a3f38e5a9f Update file.extract_hash unit tests
321364
321365         · b26b528f79 Add the source_hash_name param to file.managed states
321366
321367         · 52fe72d402 Rewrite file.extract_hash
321368
321369       · ISSUE #37389: (d101nelson) Some core grains are inaccurate or  incom‐
321370         plete for Solaris (refs: #37472)
321371
321372       · PR #37472: (sjorge) 2016.3 solaris grains improvements (refs: #37494)
321373         @ 2016-11-06 01:46:10 UTC
321374
321375         · 9426b9d5c4      Merge      pull      request      #37472       from
321376           sjorge/2016.3-solaris-grains
321377
321378         · 2958f5ce52 detect and properly handle OmniOS
321379
321380         · 37c3a7f5ab handle Oracle Solaris better
321381
321382         · 69706d32be parse minorrelease if it has a / in it
321383
321384         · d1cf4a0e56  improve regex for parsing /etc/release using files from
321385           Solaris 8 SPARC and Solaris 10
321386
321387         · 88eddef765 some more cleanup for smartos
321388
321389         · d3ff39f09c improve smartos os version grains
321390
321391       · PR #37478: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
321392         2016-11-04 20:30:08 UTC
321393
321394         · 4ba63aba48 Merge pull request #37478 from rallytime/merge-2016.3
321395
321396         · 3483a445f2 Merge branch '2015.8' into '2016.3'
321397
321398           · 35888c2e30 Merge pull request #37408 from terminalmage/issue37286
321399
321400             · 4e4a05731e Strip slashes from gitfs mountpoints
321401
321402           · b6c57c6c8d Merge pull request #37418 from terminalmage/issue36849
321403
321404             · 740bc54239   Do  not  use  compression  in  tornado  httpclient
321405               requests
321406
321407           · 7fba8aaa7e Merge pull request #37441 from rallytime/bp-37428
321408
321409             · 6fe3ef49de Fix incorrect reference of __utils__ in salt.utils
321410
321411         · PR #37485: (rallytime) Get release notes started for 2016.3.5
321412
321413         · PR #37483: (rallytime) [2016.3] Doc version updated to 2016.3.4
321414
321415       · ISSUE #37123: (nevins-b) file.recurse state doesn't  support  pulling
321416         from other environments (refs: #37121)
321417
321418       · PR #37121: (nevins-b) allow the file.recurse state to support saltenv
321419         @ 2016-11-04 05:59:28 UTC
321420
321421         · 580eca709b Merge pull request #37121 from nevins-b/2016.3
321422
321423         · 99d2c360ed making messaging in tests match new return
321424
321425         · bc4b0e7cda adding test for saltenv in file.recurse source url
321426
321427         · 3315b67075 fixing saltenv if not set in url
321428
321429         · a9683cbbd8  allow  the  file.recurse  state  to   support   saltenv
321430           (salt://example/dir?saltenv=dev)
321431
321432       · PR  #37426:  (jfindlay)  Wait  for  macOS to change system settings @
321433         2016-11-04 04:35:52 UTC
321434
321435         · PR #37351: (jfindlay) modules.mac_power: give macOS time to  change
321436           setting (refs: #37426)
321437
321438         · 766b1437c2 Merge pull request #37426 from jfindlay/mac_sleep
321439
321440         · 43a8e199bf modules.mac_power: wait for system to make change
321441
321442         · feabca6e0b modules.mac_system: wait for system to make change
321443
321444         · 0213eb9a07 utils.mac_utils: add confirm_updated
321445
321446       · ISSUE  #37238:  (cmclaughlin) Restarting master causes minion to hang
321447         (refs: #37438, #37602)
321448
321449       · ISSUE #37018:  (tsaridas)  get  events  from  python  (refs:  #37438,
321450         #37602)
321451
321452       · PR  #37438:  (DmitryKuzmenko)  Fix  for  #37238  salt  hang on master
321453         restart (refs: #37602) @ 2016-11-04 04:10:51 UTC
321454
321455         · 9eab5c8f71   Merge   pull   request   #37438    from    DSRCorpora‐
321456           tion/bugs/37238_salt_hang_on_master_restart
321457
321458         · f253d3ce4a  Auto  reconnect  salt  to  master if the connection was
321459           lost.
321460
321461         · PR saltstack/salt#31207: (thusoy) Remove error logging  of  missing
321462           boto libraries (refs: #37440)
321463
321464       · PR  #37440:  (rallytime)  Back-port  #31207  to  2016.3  @ 2016-11-04
321465         04:09:33 UTC
321466
321467         · PR #31207: (thusoy) Remove error logging of missing boto  libraries
321468           (refs: #37440)
321469
321470         · 9aa7073f70 Merge pull request #37440 from rallytime/bp-31207
321471
321472         · c71ae61271 Remove error logging of missing boto libraries
321473
321474       · PR  #37442: (twangboy) Create paths.d directory @ 2016-11-04 04:07:19
321475         UTC
321476
321477         · edbfadca21 Merge pull request #37442 from  twangboy/fix_osx_postin‐
321478           stall
321479
321480         · 8091a3065e Create paths.d directory
321481
321482       · PR  #37445:  (twangboy)  Check  for Server os before checking [DO NOT
321483         MERGE FORWARD] @ 2016-11-04 04:04:49 UTC
321484
321485         · afb1b3cee5    Merge    pull    request    #37445    from     twang‐
321486           boy/fix_import_error_2016.3
321487
321488         · c0d5ebdd8a Check for Server os before checking
321489
321490       · PR  #37446:  (twangboy)  Detect VC++ for Python on Win32 @ 2016-11-04
321491         04:04:02 UTC
321492
321493         · 7a9f95ab3b Merge pull request #37446 from twangboy/fix_build_32
321494
321495         · 2de69f48f8 Detect VC for Python correctly on 32bit Windows
321496
321497       · ISSUE  saltstack/salt#36961:  (nullify005)  boto_secgroup  assumes  a
321498         string  when  checking  ip_protocol  validity when not tcp|udp|all|-1
321499         (refs: #37447)
321500
321501       · PR #37447: (rallytime) Cast ip_protocol rule as a str() in  boto_sec‐
321502         group.present @ 2016-11-04 04:03:45 UTC
321503
321504         · 651e0f728f Merge pull request #37447 from rallytime/fix-36961
321505
321506         · 6b930ac7aa   Cast   ip_protocol   rule  as  a  str()  in  boto_sec‐
321507           group.present
321508
321509       · ISSUE #36446:  (whiteinge)  Custom  salt-api  config  problem  (refs:
321510         #37455)
321511
321512         · PR saltstack/salt#36386: (xiaoanyunfei) fix salt-api's default opts
321513           were covered by salt-master #35734 (refs: #37455)
321514
321515       · PR #37455:  (techhat)  Make  api  opts  respect  correct  root_dir  @
321516         2016-11-04 03:25:40 UTC
321517
321518         · PR  #35734: (xiaoanyunfei) fix salt-api's default opts were covered
321519           by salt-master (refs: #`saltstack/salt#36386`_)
321520
321521         · a51d944c7c Merge pull request #37455 from techhat/issue36446
321522
321523         · 7eff90d61d Make api opts respect correct root_dir
321524
321525       · PR #37459: (twangboy) Fix error message when ConvertTo-Json not  sup‐
321526         ported [DO NOT MERGE FORWARD] @ 2016-11-04 03:22:31 UTC
321527
321528         · 3591bf0f58     Merge    pull    request    #37459    from    twang‐
321529           boy/fix_dsc_json_msg_2016.3
321530
321531         · 949b70913d Use cmd.run_all instead of cmd.shell
321532
321533       · PR #37430: (meaksh) Including resolution  parameters  in  the  Zypper
321534         debug-solver call during a dry-run dist-upgrade (2016.3) @ 2016-11-03
321535         14:35:46 UTC
321536
321537         · PR #37353: (meaksh) Including resolution parameters in  the  Zypper
321538           debug-solver call during a dry-run dist-upgrade (refs: #37430)
321539
321540         · 80a99c4cc5    Merge    pull   request   #37430   from   meaksh/zyp‐
321541           per-dist-upgrade-debug-solver-fix-2016.3
321542
321543         · ffc596f215 Including resolver params for Zypper debug-solver
321544
321545       · ISSUE #37388: (tyhunt99) [2016.3.4] Refreshing of an s3  file  server
321546         results in an exception.  (refs: #37428)
321547
321548         · PR  #37428:  (cachedout)  Fix  incorrect  reference of __utils__ in
321549           salt.utils (refs: #37441)
321550
321551       · PR #37419: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
321552         2016-11-02 21:40:04 UTC
321553
321554         · 7864f9b79d Merge pull request #37419 from rallytime/merge-2016.3
321555
321556         · bce47c9175 Merge branch '2015.8' into '2016.3'
321557
321558           · 7b1d3b5562 Merge pull request #37392 from rallytime/bp-33190
321559
321560           · 4063bae5de catch None cases for comments in jboss7 state module
321561
321562         · PR  #37416:  (terminalmage)  Fix regression in output for Ctrl-c'ed
321563           CLI jobs
321564
321565         · PR #37414: (pass-by-value) Add unit tests for cloning from snapshot
321566
321567         · PR #37350: (pass-by-value) Add handling for full and  linked  clone
321568           (refs: #37414)
321569
321570         · PR  saltstack/salt#37401:  (cachedout)  Bootstrap  delay option for
321571           salt-cloud (refs: #37404)
321572
321573       · PR #37404: (cachedout) Revert "Bootstrap delay option for salt-cloud"
321574         @ 2016-11-02 09:48:53 UTC
321575
321576         · ecd794a233     Merge     pull    request    #37404    from    salt‐
321577           stack/revert-37401-bootstrap_delay
321578
321579         · e864de8f03 Revert "Bootstrap delay option for salt-cloud"
321580
321581       · PR #37401:  (cachedout)  Bootstrap  delay  option  for  salt-cloud  @
321582         2016-11-02 09:02:13 UTC
321583
321584         · 2eb44fbd11 Merge pull request #37401 from cachedout/bootstrap_delay
321585
321586         · 6e42b0e157 Bootstrap delay option for salt-cloud
321587
321588       · PR  #37350:  (pass-by-value)  Add  handling for full and linked clone
321589         (refs: #37414) @ 2016-11-02 08:02:29 UTC
321590
321591         · 9446e48da0      Merge      pull      request      #37350       from
321592           pass-by-value/full_and_linked_clone_v1
321593
321594         · d8b1c9c777  Add  handling for full and linked clone and commit disk
321595           mode additions
321596
321597       · ISSUE #34841: (Ch3LL) Wrong return when using user.chgroups  on  win‐
321598         dows (refs: #37386)
321599
321600       · PR   #37386:   (rallytime)   Fix   win_useradd.chgroups  return  when
321601         cmd.run_all retcode != 0 @ 2016-11-02 06:34:12 UTC
321602
321603         · c7f4d7f76a Merge pull request #37386 from rallytime/fix-34841
321604
321605         · c70492a1fe Fix win_useradd.chgroups return when cmd.run_all retcode
321606           != 0
321607
321608       · ISSUE  #34263:  (vernondcole) Use of dnsmasq.set_config injects unin‐
321609         tentional text into the configuration file. (refs: #37390)
321610
321611       · PR #37390: (rallytime) Don't insert __pub* keys into  dnsmasq  config
321612         file with set_config function @ 2016-11-02 06:31:53 UTC
321613
321614         · 34b6c6459a Merge pull request #37390 from rallytime/fix-34263
321615
321616         · e082ff538b  Fix failing test now that we're raising a CommandExecu‐
321617           tionError
321618
321619         · c6a3476abb Filter out the __pub keys passed via **kwargs  for  dns‐
321620           masq.set_config
321621
321622         · fd380c79b9 Add test case to reproduce dnsmasq.set_config failure in
321623           #34263
321624
321625       · ISSUE #35163: (SolarisYan) salt file.mkdir (refs: #35287, #35189)
321626
321627       · PR #37391:  (rallytime)  Back-port  #35287  to  2016.3  @  2016-11-02
321628         06:18:26 UTC
321629
321630         · PR #35287: (dere) 2016.3 (refs: #37391)
321631
321632         · PR  #35189:  (dere)  return  value  for  file.mkdir instead of None
321633           (refs: #35287)
321634
321635         · 798b2acbe3 Merge pull request #37391 from rallytime/bp-35287
321636
321637         · 0e1ebea5a4 Simplify return value to "True".
321638
321639         · 13022c5cc4 return value for mkdir instead of None
321640
321641       · ISSUE #37264: (junster1) Parsing __grains__ with json.dumps in a mod‐
321642         ule is returning an empty dict in 2016.3.3 (refs: #37279)
321643
321644       · PR  #37279: (gtmanfred) initialize super class of NamespacedDictWrap‐
321645         per @ 2016-11-01 15:12:49 UTC
321646
321647         · 1a4833b3a1 Merge pull request #37279 from gtmanfred/2016.3
321648
321649         · 597f346d57 initialize super class of NamespacedDictWrapper
321650
321651       · PR #37351: (jfindlay) modules.mac_power: give macOS  time  to  change
321652         setting (refs: #37426) @ 2016-10-31 19:15:40 UTC
321653
321654         · 351175931c Merge pull request #37351 from jfindlay/mac_set
321655
321656         · 0c58056d84 modules.mac_power: give macOS time to change setting
321657
321658       · PR #37340: (cachedout) SIGILL -> SIGKILL in process test @ 2016-10-31
321659         08:50:10 UTC
321660
321661         · 25c987e33a Merge pull request #37340 from cachedout/ill_kill_3
321662
321663         · a6b7417fe9 SIGILL -> SIGKILL in process test
321664
321665       · ISSUE #35480:  (jelenak)  200  processes  of  salt-master  (2016.3.2)
321666         (refs: #37306)
321667
321668       · PR  #37306: (DmitryKuzmenko) Don't use os.wait() on subprocesses man‐
321669         aged by multiprocessing.  @ 2016-10-31 06:55:30 UTC
321670
321671         · 7f1654894d   Merge   pull   request   #37306    from    DSRCorpora‐
321672           tion/bugs/35480_master_shutdown_no_process_error
321673
321674         · b6937ebaa8 Don't use os.wait() on subprocesses managed by multipro‐
321675           cessing.
321676
321677       · ISSUE #34998: (exowaucka) placementgroup parameter for salt-cloud  is
321678         undocumented (refs: #37314)
321679
321680       · PR  #37314:  (rallytime)  Document  the  existence  of placementgroup
321681         option in ec2 driver @ 2016-10-31 06:42:33 UTC
321682
321683         · bf8ba97d54 Merge pull request #37314 from rallytime/fix-34998
321684
321685         · 39459ed30b Document the existence of placementgroup option  in  ec2
321686           driver
321687
321688       · ISSUE  #36148:  (alex-zel)  Eauth  error  with openLDAP groups (refs:
321689         #37219)
321690
321691       · PR #37219: (alex-zel) Fix freeipa ldap groups @  2016-10-28  04:33:37
321692         UTC
321693
321694         · e0baf4b193       Merge      pull      request      #37219      from
321695           alex-zel/fix-freeipa-ldap-groups
321696
321697         · b5b2e7e097 Remove trailing whitespaces
321698
321699         · 32f906b020 Add support for FreeIPA
321700
321701   Salt 2016.3.6 Release Notes
321702       Version 2016.3.6 is a bugfix release for 2016.3.0.
321703
321704   Statistics
321705       · Total Merges: 119
321706
321707       · Total Issue References: 52
321708
321709       · Total PR References: 163
321710
321711       · Contributors:  43  (Adaephon-GH,   Ch3LL,   DmitryKuzmenko,   Foxlik,
321712         GideonRed-zz,   The-Loeki,  UtahDave,  alexbleotu,  anlutro,  bobrik,
321713         cachedout,   cro,   dincamihai,   drawsmcgraw,   fboismenu,    galet,
321714         garethgreenaway,   grep4linux,   gtmanfred,  jacobhammons,  jfindlay,
321715         joe-niland, lvg01, mbom2004, mcalmer, mchugh19, meaksh, mirceaulinic,
321716         morganwillcock,  narendraingale2,  nasenbaer13,  ni3mm4nd, rallytime,
321717         s0undt3ch, sergeizv,  smarsching,  techhat,  terminalmage,  thatch45,
321718         twangboy, velom, vutny, yue9944882)
321719
321720   Security Fix
321721       CVE-2017-7893 Compromised salt-minions can impersonate the salt-master.
321722       (Discovery credit: Frank Spierings)
321723
321724   Changelog for v2016.3.5..v2016.3.6
321725       Generated at: 2018-05-27 13:45:07 UTC
321726
321727       · PR #40232: (rallytime) Update release notes for 2016.3.6 @ 2017-03-22
321728         21:09:35 UTC
321729
321730         · 24c4ae9c21     Merge    pull    request    #40232    from    rally‐
321731           time/update-release-notes
321732
321733         · 2ead188b4f Update release notes for 2016.3.6
321734
321735       · ISSUE #39854:  (Foxlik)  quoted  space  in  authorized_keys  confuses
321736         ssh.py (refs: #39855)
321737
321738       · PR  #39855:  (Foxlik)  Use  regular  expression instead of split when
321739         replacing authorized_keys @ 2017-03-22 18:28:32 UTC
321740
321741         · c59ae9a82c Merge pull request #39855 from  Foxlik/use_regex_to_com‐
321742           pare_authorized_keys
321743
321744         · d46845a5b6 Add newline at end of file
321745
321746         · d4a3c8a66a  Use  regular expression instead of split when replacing
321747           authorized_keys
321748
321749       · PR #40221:  (rallytime)  Back-port  #39179  to  2016.3  @  2017-03-22
321750         17:40:34 UTC
321751
321752         · PR #39179: (mcalmer) fix error parsing (refs: #40221)
321753
321754         · fd10430018 Merge pull request #40221 from rallytime/bp-39179
321755
321756         · 07dc2de084 fix error parsing
321757
321758       · ISSUE  #40203:  (frogunder)  2016.3.6.  Minion don't connect to older
321759         master. (refs: #40206)
321760
321761       · PR  #40206:  (cro)  Leave  sign_pub_messages  off  by   default.    @
321762         2017-03-22 16:43:03 UTC
321763
321764         · a27a2cc3bb Merge pull request #40206 from cro/sign_pub_take2
321765
321766         · 01048de83f leave sign_pub_messages off on minion by default.
321767
321768         · a82b005507 Leave sign_pub_messages off by default.
321769
321770       · PR  #40193:  (rallytime)  Back-port  #40117  to  2016.3  @ 2017-03-22
321771         16:42:21 UTC
321772
321773         · PR #40117: (narendraingale2) Fix force remove (refs: #40193)
321774
321775         · d1abb4cbaa Merge pull request #40193 from rallytime/bp-40117
321776
321777         · cf1857904b More optimization.
321778
321779         · 5a08266814 Removed debug statemnt
321780
321781         · f557f7c6bb Added fix for issue 39393
321782
321783         · bb62278b73 Reverting changes.
321784
321785         · a9107cde44 Added if condition for broken link.
321786
321787       · PR #40196: (twangboy) Update dependencies for PyOpenSSL @  2017-03-22
321788         16:40:46 UTC
321789
321790         · 0f1ff4d4a8 Merge pull request #40196 from twangboy/win_fix_deps
321791
321792         · 6761527793 Update dependencies for PyOpenSSL
321793
321794       · PR  #40184:  (terminalmage) Link to minion start reactor example from
321795         FAQ.  @ 2017-03-21 17:33:09 UTC
321796
321797         · b0501515cb Merge pull request #40184  from  terminalmage/link-reac‐
321798           tor-example
321799
321800         · a42be82993 Link to minion start reactor example from FAQ.
321801
321802       · PR  #40182:  (terminalmage)  Add support for "stopped" state to dock‐
321803         erng's mod_watch @ 2017-03-21 15:40:29 UTC
321804
321805         · d4e6c58526  Merge  pull  request  #40182  from   terminalmage/dock‐
321806           erng-mod_watch-stopped
321807
321808         · 4629a26fb7 Add support for "stopped" state to dockerng's mod_watch
321809
321810       · PR #40171: (Ch3LL) additional PRs/issues for 2016.3.6 release notes @
321811         2017-03-20 22:14:17 UTC
321812
321813         · a0b4082484 Merge pull request #40171 from Ch3LL/2016.3.6_release
321814
321815         · 9c6d8d892f additional PRs/issues for 2016.3.6 release notes
321816
321817       · PR  #40120:  (sergeizv)  gce:  Exclude  GCENodeDriver  objects   from
321818         _expand_node result @ 2017-03-20 21:44:42 UTC
321819
321820         · 33ba7821f7       Merge      pull      request      #40120      from
321821           sergeizv/gce-expand-node-fix
321822
321823         · 9d0fbe7e01 gce: Exclude  GCENodeDriver  objects  from  _expand_node
321824           result
321825
321826       · PR #40122: (meaksh) Adding "pkg.install downloadonly=True" support to
321827         yum/dnf execution module @ 2017-03-20 21:44:15 UTC
321828
321829         · 48843977c3 Merge pull request #40122  from  meaksh/2016.3-yum-down‐
321830           loadonly-support
321831
321832         · 067f3f77c2 Adding downloadonly support to yum/dnf module
321833
321834       · PR  #40159: (cro) Turn on sign_pub_messages by default.  @ 2017-03-20
321835         21:00:49 UTC
321836
321837         · 60e1d4e2f3 Merge pull request #40159 from cro/sign_pub
321838
321839         · e663b761fb Fix small syntax error
321840
321841         · 0a0f46fb14 Turn on sign_pub_messages by default.   Make  sure  mes‐
321842           sages  with  no 'sig' are dropped with error when sign_pub_messages
321843           is True.
321844
321845       · PR #40123: (twangboy) Adds support for inet_pton in Windows  to  net‐
321846         work util @ 2017-03-20 16:25:47 UTC
321847
321848         · 28e4fc17b6 Merge pull request #40123 from twangboy/win_fix_network
321849
321850         · 06dfd55ef9 Adds support for inet_pton in Windows to network util
321851
321852       · ISSUE #39995: (frogunder) Head of Develop -  Multimaster error (refs:
321853         #40141)
321854
321855       · ISSUE #39118: (bobrik) Minion ipv6 option is  not  documented  (refs:
321856         #39289, #39131)
321857
321858       · PR  #40141: (bobrik) Use the first address if cannot connect to any @
321859         2017-03-20 15:06:57 UTC
321860
321861         · PR #39289: (bobrik) Autodetect IPv6  connectivity  from  minion  to
321862           master (refs: #39766, #40141)
321863
321864         · 35ddb79f59 Merge pull request #40141 from bobrik/fallback-resolve
321865
321866         · af1545deed Use the first address if cannot connect to any
321867
321868       · PR  #40059:  (terminalmage)  Fix traceback when virtualenv.managed is
321869         invoked with nonexistant user @ 2017-03-16 20:46:43 UTC
321870
321871         · 116201f345 Merge pull  request  #40059  from  terminalmage/fix-vir‐
321872           tualenv-traceback
321873
321874         · e3cfd29d6b  Fix  traceback  when virtualenv.managed is invoked with
321875           nonexistant user
321876
321877       · PR #40090:  (rallytime)  Back-port  #40056  to  2016.3  @  2017-03-16
321878         19:42:58 UTC
321879
321880         · PR #40056: (thatch45) update mention bot blacklist (refs: #40090)
321881
321882         · a01b52b9a3 Merge pull request #40090 from rallytime/bp-40056
321883
321884         · ae012db87a update mention bot blacklist
321885
321886       · PR  #40057:  (cachedout)  More  mentionbot  blacklists  @  2017-03-16
321887         18:10:11 UTC
321888
321889         · d1570bba4c Merge pull request #40057 from cachedout/ollie_blacklist
321890
321891         · 0ac2e83d37 Merge branch '2016.3' into ollie_blacklist
321892
321893       · PR #40070: (Ch3LL) update 2016.3.6 release notes with additional PR's
321894         @ 2017-03-16 15:43:22 UTC
321895
321896         · d36bdb1a6e Merge pull request #40070 from Ch3LL/2016.3.6_release
321897
321898         · a1f8b49bd1 update 2016.3.6 release notes with additional PR's
321899
321900       · PR #40018: (meaksh) Allows overriding 'timeout' and 'gather_job_time‐
321901         out' to 'manage.up' runner call @ 2017-03-15 19:43:01 UTC
321902
321903         · 8dcffc7751  Merge  pull  request  #40018  from   meaksh/2016.3-han‐
321904           dling-timeouts-for-manage.up-runner
321905
321906         · 9f5c3b7dcd  Allows to set custom timeouts for 'manage.up' and 'man‐
321907           age.status'
321908
321909         · 2102d9c75c Allows to set  'timeout'  and  'gather_job_timeout'  via
321910           kwargs
321911
321912       · PR  #40038:  (velom)  correctly  parse  "pkg_name===version" from pip
321913         freeze @ 2017-03-15 19:30:03 UTC
321914
321915         · 22fc5299a2      Merge      pull      request      #40038       from
321916           velom/fix-pip-freeze-parsing
321917
321918         · 3fae91d879 correctly parse "pkg_name===version" from pip freeze
321919
321920       · ISSUE #40036: (oogali) UnboundLocalError: local variable 'ifcfg' ref‐
321921         erenced before assignment (refs: #40053)
321922
321923       · PR #40053: (gtmanfred) Update rh_ip.py @ 2017-03-15 18:57:32 UTC
321924
321925         · 3584f935fa Merge pull request #40053 from saltstack/rh_ip_patch
321926
321927         · 219947acdb Update rh_ip.py
321928
321929       · ISSUE #40011:  (tsaridas)  salt-minion  does  not  shutdown  properly
321930         2016.11.3 rh6 (refs: #40041)
321931
321932       · PR  #40041: (terminalmage) Fix transposed lines in salt.utils.process
321933         @ 2017-03-15 17:58:24 UTC
321934
321935         · 837432d3d2 Merge pull request #40041 from terminalmage/issue40011
321936
321937         · 5b5d1b375c Fix transposed lines in salt.utils.process
321938
321939       · PR  #40021:  (Ch3LL)  2016.3.6  release  notes  with  change  log   @
321940         2017-03-14 21:06:18 UTC
321941
321942         · ee7f3b1200 Merge pull request #40021 from Ch3LL/2016.3.6_release
321943
321944         · f3e7e4fb2a Add 2016.3.6 Release Notes
321945
321946       · PR  #40016:  (terminalmage)  Attempt  to  fix failing grains tests in
321947         2016.3 @ 2017-03-14 18:34:32 UTC
321948
321949         · 26895b7be2   Merge   pull    request    #40016    from    terminal‐
321950           mage/fix-grains-test
321951
321952         · 0ec81a4cde Fixup a syntax error
321953
321954         · 5d84b40bfd Attempt to fix failing grains tests in 2016.3
321955
321956       · PR  #39980:  (vutny) [2016.3] Allow to use bg kwarg for cmd.run state
321957         function @ 2017-03-14 17:16:14 UTC
321958
321959         · 0c61d064ad Merge pull request #39980 from vutny/cmd-run-state-bg
321960
321961         · a81dc9dfc1 [2016.3] Allow to use bg kwarg for cmd.run  state  func‐
321962           tion
321963
321964       · ISSUE  #39942:  (Foxlik)  Web  Documentation not in sync with release
321965         2016.11.3 (refs: #39994)
321966
321967       · PR #39994: (rallytime) Add a versionadded tag  for  dockerng  ulimits
321968         addition @ 2017-03-13 20:58:02 UTC
321969
321970         · b042484455  Merge  pull request #39994 from rallytime/ulimits-dock‐
321971           erng-version
321972
321973         · 37bd800fac Add a versionadded tag for dockerng ulimits addition
321974
321975       · PR #39988: (terminalmage) Add comment explaining change from #39973 @
321976         2017-03-13 18:37:29 UTC
321977
321978         · PR  #39973:  (terminalmage)  Don't  use docker.Client instance from
321979           context if missing attributes (refs: #39988)
321980
321981         · e125c94ba5  Merge  pull  request  #39988  from   terminalmage/dock‐
321982           erng-timeout
321983
321984         · bd2519ed1b Add comment explaining change from #39973
321985
321986       · PR  #39973: (terminalmage) Don't use docker.Client instance from con‐
321987         text if missing attributes (refs: #39988) @ 2017-03-11 14:57:50 UTC
321988
321989         · cd0336e868  Merge  pull  request  #39973  from   terminalmage/dock‐
321990           erng-timeout
321991
321992         · 869416e7db Don't use docker.Client instance from context if missing
321993           attributes
321994
321995       · PR  #39962:  (cachedout)  Disable  mention  bot  delay  on  2016.3  @
321996         2017-03-10 20:24:08 UTC
321997
321998         · 282c607d26  Merge  pull  request #39962 from cachedout/disable_men‐
321999           tionbot_delay_3
322000
322001         · 7a638f204b Disable mention bot delay on 2016.3
322002
322003           · 5592c680b5 More mentionbot blacklists
322004
322005       · PR #39937:  (cachedout)  Fix  --non-gpg-checks  in  zypper  module  @
322006         2017-03-10 18:02:51 UTC
322007
322008         · 1e0c88ae08 Merge pull request #39937 from cachedout/gpg_zypper
322009
322010         · 13ed0d1209 Fix --non-gpg-checks in zypper module
322011
322012       · PR  #39929:  (terminalmage) Scrap event-based approach for refreshing
322013         grains (2016.3 branch) @ 2017-03-09 22:03:16 UTC
322014
322015         · 4526fc6e08   Merge   pull    request    #39929    from    terminal‐
322016           mage/pr-39770-2016.3
322017
322018         · cf0100dabe Scrap event-based approach for refreshing grains
322019
322020       · ISSUE  #22080: (The-Loeki) CIDR matching for IPv6 / improve IPv6 sup‐
322021         port in utils.network (refs: #39919)
322022
322023       · PR #39919: (The-Loeki) CIDR matching supports  IPv6,  update  docs  @
322024         2017-03-09 16:03:00 UTC
322025
322026         · 111110caf8 Merge pull request #39919 from The-Loeki/patch-1
322027
322028         · 170cbadc54 CIDR matching supports IPv6, update docs
322029
322030       · PR  #39899:  (techhat) Update cleanup function for azure @ 2017-03-08
322031         23:28:33 UTC
322032
322033         · caf10e9988 Merge pull request #39899 from techhat/cleanupdisks
322034
322035         · baf4579e63 Update cleanup function for azure
322036
322037       · PR  #39871:  (terminalmage)  Squelch  warning  for  pygit2  import  @
322038         2017-03-07 20:40:18 UTC
322039
322040         · fcf95f3654    Merge    pull    request    #39871   from   terminal‐
322041           mage/squelch-import-warning
322042
322043         · 2b2ec69d04 Squelch warning for pygit2 import
322044
322045       · PR #39794: (cachedout) Clean up errors which might be thrown when the
322046         monitor socket shuts down @ 2017-03-04 16:12:37 UTC
322047
322048         · f223fa8906  Merge  pull  request  #39794 from cachedout/clean_moni‐
322049           tor_socket_shutdown
322050
322051         · 2e683e788b Clean up errors which might be thrown when  the  monitor
322052           socket shuts down
322053
322054       · PR  #39819:  (terminalmage)  Improve  the  Top  File  matching docs @
322055         2017-03-04 16:06:40 UTC
322056
322057         · 4002dc1947   Merge   pull    request    #39819    from    terminal‐
322058           mage/top-file-matching-docs
322059
322060         · 7178e77eee Improve the Top File matching docs
322061
322062       · PR  #39820:  (ni3mm4nd) Add missing apostrophe in Beacons topic docu‐
322063         mentation @ 2017-03-04 16:05:29 UTC
322064
322065         · c08aaeb7fd   Merge   pull   request   #39820   from   ni3mm4nd/bea‐
322066           cons_topic_doc_typo
322067
322068         · 804b12048c Add missing apostrophe
322069
322070       · PR  #39826:  (cachedout)  Add group func to yubikey auth @ 2017-03-04
322071         16:02:14 UTC
322072
322073         · cbd2a4e3cc Merge pull request #39826 from cachedout/yubikey_fix
322074
322075         · 6125eff02d Add group func to yubikey auth
322076
322077       · ISSUE #39622: (drawsmcgraw) boto_vpc.create_subnet does not  properly
322078         assign tags (refs: #39624)
322079
322080       · PR  #39624:  (drawsmcgraw)  Address issue 39622 @ 2017-03-03 15:59:04
322081         UTC
322082
322083         · f575ef459f Merge pull request #39624 from drawsmcgraw/39622
322084
322085         · 13da50be33 Fix indention lint errors
322086
322087         · 545026352f Address issue 39622
322088
322089       · ISSUE #39119: (frogunder) Head of 2016.3 - Salt-Master uses  90  sec‐
322090         onds to restart (refs: #39796)
322091
322092       · PR #39796: (cachedout) Stop the process manager when it no longer has
322093         processes to manage @ 2017-03-02 23:03:13 UTC
322094
322095         · 1f3619c1e5 Merge pull request #39796 from cachedout/master_shutdown
322096
322097         · e31d46c1b8 Stop the process manager when it no longer has processes
322098           to manage
322099
322100       · ISSUE  #39333: (jagguli) Not Available error - Scheduling custom run‐
322101         ner functions  (refs: #39791)
322102
322103       · ISSUE #38514: (githubcdr) Unable to schedule runners (refs: #39791)
322104
322105       · PR #39791: (gtmanfred) load runners if role is  master  @  2017-03-02
322106         19:43:41 UTC
322107
322108         · 53341cf152 Merge pull request #39791 from gtmanfred/2016.3
322109
322110         · 3ab4f843bf load runners if role is master
322111
322112       · ISSUE #39782: (sergeizv) salt-cloud show_instance action fails on EC2
322113         instances (refs: #39784)
322114
322115       · ISSUE #33162: (jfindlay) Key error  with  salt.utils.cloud.cache_node
322116         and EC2 (refs: #39784, #33164)
322117
322118       · PR #39784: (sergeizv) Fix 39782 @ 2017-03-02 16:08:51 UTC
322119
322120         · PR  #33164:  (jfindlay)  cloud.clouds.ec2:  cache  each  named node
322121           (refs: #39784)
322122
322123         · c234c25092 Merge pull request #39784 from sergeizv/fix-39782
322124
322125         · b71c3fe13c Revert  "cloud.clouds.ec2:  cache  each  named  node  (‐
322126           #33164)"
322127
322128       · ISSUE  #39336:  (GevatterGaul)  salt-minion  fails  with  IPv6 (refs:
322129         #39766)
322130
322131       · ISSUE #39118: (bobrik) Minion ipv6 option is  not  documented  (refs:
322132         #39289, #39131)
322133
322134       · PR   #39766:  (rallytime)  Restore  ipv6  connectivity  and  "master:
322135         <ip>:<port>" support @ 2017-03-02 02:55:55 UTC
322136
322137         · PR #39289: (bobrik) Autodetect IPv6  connectivity  from  minion  to
322138           master (refs: #39766, #40141)
322139
322140         · PR  #25021:  (GideonRed-zz)  Introduce ip:port minion config (refs:
322141           #39766)
322142
322143         · 4ee59be22c Merge pull request #39766  from  rallytime/fix-ipv6-con‐
322144           nection
322145
322146         · 65b239664e Restore ipv6 connectivity and "master: <ip>:<port>" sup‐
322147           port
322148
322149       · ISSUE #33187: (usbportnoy) Deploy to jboss TypeError at  boss7.py:469
322150         (refs: #39761, #39170)
322151
322152       · PR  #39761:  (cachedout)  Properly  display  error  in jboss7 state @
322153         2017-03-01 18:43:23 UTC
322154
322155         · a24da31131 Merge pull request #39761 from cachedout/issue_33187
322156
322157         · c2df29edb2 Properly display error in jboss7 state
322158
322159       · PR #39728:  (rallytime)  [2016.3]  Bump  latest  release  version  to
322160         2016.11.3 @ 2017-02-28 18:07:44 UTC
322161
322162         · 0888bc32ef     Merge    pull    request    #39728    from    rally‐
322163           time/update-release-ver-2016.3
322164
322165         · c9bc8af8f2 [2016.3] Bump latest release version to 2016.11.3
322166
322167       · PR #39619: (terminalmage) Add a function to simply refresh the grains
322168         @ 2017-02-28 00:20:27 UTC
322169
322170         · b52dbeec68 Merge pull request #39619 from terminalmage/zd1207
322171
322172         · c7dfb494a6 Fix mocking for grains refresh
322173
322174         · 7e0ced3b45 Properly hand proxy minions
322175
322176         · 692c456da3 Add a function to simply refresh the grains
322177
322178       · ISSUE  #39482:  (bobrik)  file.managed  and  file  mode don't mention
322179         default mode (refs: #39487)
322180
322181       · PR #39487: (bobrik) Document default permission modes for file module
322182         @ 2017-02-24 23:49:00 UTC
322183
322184         · 3f8b5e6733 Merge pull request #39487 from bobrik/mode-docs
322185
322186         · 41ef69b3ca Document default permission modes for file module
322187
322188       · ISSUE  #39169:  (blueyed) Using batch-mode with salt.state in orches‐
322189         tration runner considers all minions to have failed (refs: #39641)
322190
322191       · PR #39641: (smarsching) Return runner return code in a way compatible
322192         with check_state_result @ 2017-02-24 23:07:11 UTC
322193
322194         · f7389bf1f5       Merge      pull      request      #39641      from
322195           smarsching/issue-39169-2016.3
322196
322197         · 88c2d9a540 Fix return data structure for runner (issue #39169).
322198
322199       · PR  #39633:  (terminalmage)  Fix  misspelled  argument  in  salt.mod‐
322200         ules.systemd.disable() @ 2017-02-24 18:21:36 UTC
322201
322202         · fc970b6a16  Merge  pull  request  #39633 from terminalmage/fix-sys‐
322203           temd-typo
322204
322205         · ca54541abe Add missing unit test for disable func
322206
322207         · 17109e1522 Fix  misspelled  argument  in  salt.modules.systemd.dis‐
322208           able()
322209
322210       · PR  #39613:  (terminalmage) Fix inaccurate documentation @ 2017-02-24
322211         06:07:35 UTC
322212
322213         · 53e78d67f6 Merge pull request #39613 from terminalmage/fix-docs
322214
322215         · 9342eda377 Fix inaccurate documentation
322216
322217       · PR  #39600:  (vutny)  state.file:  drop  non-relevant  examples   for
322218         source_hash parameter @ 2017-02-23 16:55:27 UTC
322219
322220         · 4e2b852f83 Merge pull request #39600 from vutny/state-file-docs
322221
322222         · 9b0427c27a  state.file:  drop non-relevant examples for source_hash
322223           parameter
322224
322225       · PR #39584:  (cachedout)  A  note  in  the  docs  about  mentionbot  @
322226         2017-02-23 15:12:13 UTC
322227
322228         · ed83420417 Merge pull request #39584 from cachedout/mentionbot_docs
322229
322230         · 652044b18f A note in the docs about mentionbot
322231
322232       · PR   #39583:  (cachedout)  Add  empty  blacklist  to  mention  bot  @
322233         2017-02-23 02:22:57 UTC
322234
322235         · d3e50b4f2f  Merge  pull  request  #39583  from   cachedout/mention‐
322236           bot_blacklist
322237
322238         · 62491c900d Add empty blacklist to mention bot
322239
322240       · PR  #39579:  (rallytime)  [2016.3]  Pylint:  Remove  unused  import @
322241         2017-02-22 23:46:33 UTC
322242
322243         · 8352e6b44b Merge pull request #39579 from rallytime/fix-lint
322244
322245         · 65889e1f30 [2016.3] Pylint: Remove unused import
322246
322247       · PR #39578: (cachedout) Add  mention-bot  configuration  @  2017-02-22
322248         23:39:24 UTC
322249
322250         · 43dba3254c Merge pull request #39578 from cachedout/2016.3
322251
322252         · 344499eef7 Add mention-bot configuration
322253
322254       · PR  #39542:  (twangboy)  Gate ssh_known_hosts state against Windows @
322255         2017-02-22 20:16:41 UTC
322256
322257         · 8f7a0f9d96    Merge    pull    request    #39542    from     twang‐
322258           boy/gate_ssh_known_hosts
322259
322260         · c90a52ef27 Remove expensive check
322261
322262         · 6d645cae0e Add __virtual__ function
322263
322264       · ISSUE  #39118:  (bobrik)  Minion ipv6 option is not documented (refs:
322265         #39289, #39131)
322266
322267       · PR #39289: (bobrik) Autodetect IPv6 connectivity from minion to  mas‐
322268         ter (refs: #39766, #40141) @ 2017-02-22 19:05:32 UTC
322269
322270         · c10965833a Merge pull request #39289 from bobrik/autodetect-ipv6
322271
322272         · 2761a1b244 Move new kwargs to the end of argument list
322273
322274         · 0df6b922e7 Narrow down connection exception to socket.error
322275
322276         · e8a2cc0488  Do  no  try  to connect to salt master in syndic config
322277           test
322278
322279         · af9578631e Properly log address that failed to resolve or pass con‐
322280           nection check
322281
322282         · 9a34fbeba9  Actually  connect  to  master instead of checking route
322283           availability
322284
322285         · c494839c65 Avoid bare exceptions in dns_check
322286
322287         · 29f376676d Rewrite dns_check to try to connect to address
322288
322289         · 55965ce505 Autodetect IPv6 connectivity from minion to master
322290
322291       · PR #39569: (s0undt3ch) Don't use our own six dictionary fixes in this
322292         branch @ 2017-02-22 18:59:49 UTC
322293
322294         · 3fb928b63a Merge pull request #39569 from s0undt3ch/2016.3
322295
322296         · 49da135abd Don't use our own six dictionary fixes in this branch
322297
322298       · PR #39508: (dincamihai) Openscap @ 2017-02-22 18:36:36 UTC
322299
322300         · 91e3319df8 Merge pull request #39508 from dincamihai/openscap
322301
322302         · 9fedb84607 Always return oscap's stderr
322303
322304         · 0ecde2cd02 Include oscap returncode in response
322305
322306       · ISSUE  #30802:  (kjelle)  Missing  ulimits  on docker.running / dock‐
322307         erng.running (refs: #39562)
322308
322309       · PR #39562: (terminalmage) Add ulimits to dockerng state/exec module @
322310         2017-02-22 16:31:49 UTC
322311
322312         · fbe2194a93 Merge pull request #39562 from terminalmage/issue30802
322313
322314         · c50374041d Add ulimits to dockerng state/exec module
322315
322316         · da42040c1a Try the docker-py 2.0 client name first
322317
322318         · PR  #39544:  (terminalmage)  dockerng.get_client_args: Fix path for
322319           endpoint config for some versions of docker-py
322320
322321       · ISSUE #39447: (Foxlik) dockerng keeps restarting privileged container
322322         (refs: #39483)
322323
322324       · PR  #39498: (terminalmage) Resubmit PR #39483 against 2016.3 branch @
322325         2017-02-20 19:35:33 UTC
322326
322327         · PR #39483: (Foxlik) dockerng: compare  sets  instead  of  lists  of
322328           security_opt (refs: #39498)
322329
322330         · dff35b58f8 Merge pull request #39498 from terminalmage/pr-39483
322331
322332         · 20b097a745 dockerng: compare sets instead of lists of security_opt
322333
322334       · PR   #39497:   (terminalmage)  Two  dockerng  compatibility  fixes  @
322335         2017-02-19 17:43:36 UTC
322336
322337         · 6418e725ed Merge pull request #39497 from  terminalmage/docker-com‐
322338           pat-fixes
322339
322340         · cbd0270bac docker: make docker-exec the default execution driver
322341
322342         · a6a17d58aa Handle docker-py 2.0's new host_config path
322343
322344       · PR #39423: (dincamihai) Openscap module @ 2017-02-17 18:31:04 UTC
322345
322346         · 9c4292fb4e Merge pull request #39423 from dincamihai/openscap
322347
322348         · 9d13422ac1 OpenSCAP module
322349
322350       · ISSUE  #39444:  (clem-compilatio)  salt-cloud  -  IPv6  and IPv4 pri‐
322351         vate_ips  - preferred_ip sends False to is_public_ip (refs: #39464)
322352
322353       · PR  #39464:  (gtmanfred)  skip  false  values  from  preferred_ip   @
322354         2017-02-16 22:48:32 UTC
322355
322356         · 7dd2502360 Merge pull request #39464 from gtmanfred/2016.3
322357
322358         · f829d6f9fc skip false values from preferred_ip
322359
322360       · PR  #39460:  (cachedout)  Fix  mocks  in win_disim tests @ 2017-02-16
322361         19:27:48 UTC
322362
322363         · db359ff2c3    Merge    pull    request    #39460    from    cached‐
322364           out/win_dism_test_fix
322365
322366         · e652a45592 Fix mocks in win_disim tests
322367
322368       · PR  #39426:  (morganwillcock)  win_dism:  Return failure when package
322369         path does not exist @ 2017-02-16 00:09:22 UTC
322370
322371         · 9dbfba9b57 Merge pull request #39426 from morganwillcock/dism
322372
322373         · a7d5118262 Return failure when package path does not exist
322374
322375       · PR #39431: (UtahDave)  Fix  grains.setval  performance  @  2017-02-15
322376         23:56:30 UTC
322377
322378         · 56162706e3  Merge pull request #39431 from UtahDave/fix_grains.set‐
322379           val_performance
322380
322381         · 391bbecd90 add docs
322382
322383         · 709c197f84 allow sync_grains to be disabled on grains.setval
322384
322385       · ISSUE #39304: (Auha) boto_s3_bucket documentation dependency clarifi‐
322386         cation (refs: #39405)
322387
322388       · PR #39405: (rallytime) Update :depends: docs for boto states and mod‐
322389         ules @ 2017-02-15 17:32:08 UTC
322390
322391         · 239e16e612 Merge pull request #39405 from rallytime/fix-39304
322392
322393         · bd1fe03ce7 Update :depends: docs for boto states and modules
322394
322395       · ISSUE #38762: (oz123) Configuration information for custom  returners
322396         (refs: #39411)
322397
322398       · PR #39411: (rallytime) Update external_cache docs with other configu‐
322399         ration options @ 2017-02-15 17:30:40 UTC
322400
322401         · 415102f346 Merge pull request #39411 from rallytime/fix-38762
322402
322403         · e13febe58d Update  external_cache  docs  with  other  configuration
322404           options
322405
322406         · PR   #39421:   (terminalmage)   Update   docs   on  upstream  EPEL7
322407           pygit2/libgit2 issues
322408
322409         · PR #39409: (terminalmage) salt.fileserver.roots: Fix regression  in
322410           symlink_list
322411
322412         · PR  #39337:  (terminalmage)  Don't  re-walk the roots fileserver in
322413           symlink_list() (refs: #39409)
322414
322415       · PR #39362: (dincamihai) Add cp.push test @ 2017-02-14 18:42:11 UTC
322416
322417         · 8b8ab8ef8e   Merge    pull    request    #39362    from    dincami‐
322418           hai/cp-push-test-2016.3
322419
322420         · 91383c5a19 Add cp.push test
322421
322422       · PR #39380: (joe-niland) Quote numeric user names so pwd.getpwnam han‐
322423         dles them properly @ 2017-02-14 18:33:33 UTC
322424
322425         · 4b726f955b      Merge      pull      request      #39380       from
322426           joe-niland/quote-numeric-usernames
322427
322428         · c2edfdd464  Quote  numeric  user names so pwd.getpwnam handles them
322429           properly
322430
322431       · PR #39400: (meaksh) Prevents 'OSError' exception in case certain  job
322432         cache path doesn't exist @ 2017-02-14 18:27:04 UTC
322433
322434         · 1116d32df9       Merge      pull      request      #39400      from
322435           meaksh/2016.3-fix-local-cache-issue
322436
322437         · e7e559ef5c Prevents 'OSError' exception in case path doesn't exist
322438
322439       · PR #39300: (terminalmage) Replace more usage  of  str.format  in  the
322440         loader @ 2017-02-13 19:01:19 UTC
322441
322442         · PR #39227: (terminalmage) Loader optimzation (refs: #39300)
322443
322444         · 6c854da1d4 Merge pull request #39300 from terminalmage/loader-opti‐
322445           mization
322446
322447         · d3e5d1525e Replace more usage of str.format in the loader
322448
322449       · PR #39337: (terminalmage) Don't re-walk the roots fileserver in  sym‐
322450         link_list() (refs: #39409) @ 2017-02-13 18:41:17 UTC
322451
322452         · 5286b5ff1b Merge pull request #39337 from terminalmage/issue34428
322453
322454         · a7d2135dc2 Don't re-walk the roots fileserver in symlink_list()
322455
322456       · PR #39339: (cro) Add link to external pillar documentation for clari‐
322457         fication.  @ 2017-02-13 18:40:13 UTC
322458
322459         · ce781deeb5 Merge pull request #39339 from cro/pillar_filetree_doc
322460
322461         · 410810cea2 Clarification on external pillar usage.
322462
322463         · PR #39316: (terminalmage) Document the  upstream  RedHat  bug  with
322464           their pygit2 package
322465
322466       · PR #39313: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
322467         2017-02-10 16:23:23 UTC
322468
322469         · 9de559ff4e Merge pull request #39313 from rallytime/merge-2016.3
322470
322471         · 0b8dddf12b Merge branch '2015.8' into '2016.3'
322472
322473         · fc551bcf5d Merge pull request #39293 from sergeizv/grammar-fix
322474
322475           · 70f2b586d3 Rewrap paragraph
322476
322477           · e6ab5178ea Grammar fix
322478
322479         · 8a1b45632a Merge pull request #39295 from sergeizv/typo-fix
322480
322481           · 5d9f36d58d Fix typo
322482
322483         · cfaafece34 Merge pull request #39296 from sergeizv/whitespace-fix
322484
322485           · 1d4c1dc140 Whitespace fix in docs Makefile
322486
322487         · 0b4dcf4a47 Merge pull request #39294 from sergeizv/fix-link
322488
322489           · 04bde6eed2 Fix link in proxyminion guide
322490
322491       · ISSUE #38595: (yue9944882) Redis ext job cache occurred error  (refs:
322492         #38610)
322493
322494         · PR #39299: (rallytime) Back-port #38610 to 2016.3
322495
322496         · PR  #38610:  (yue9944882)  Fix  #38595  - Unexpected error log from
322497           redis retuner in master's log (refs: #39299)
322498
322499       · PR #39297: (cro) Add doc to recommend pgjsonb for master job caches @
322500         2017-02-09 22:49:59 UTC
322501
322502         · f16027d30e Merge pull request #39297 from cro/pg_returner_docs
322503
322504         · 28bac649ae Typo
322505
322506         · 19fedcdd23 Add doc to recommend pgjsonb for master job caches
322507
322508       · PR #39286: (terminalmage) Allow minion/CLI saltenv/pillarenv to over‐
322509         ride master when compiling pillar @ 2017-02-09 21:22:46 UTC
322510
322511         · 77e50ed8b7 Merge pull  request  #39286  from  terminalmage/fix-pil‐
322512           larenv-precedence
322513
322514         · 3cb9833e57  Allow  minion/CLI  saltenv/pillarenv to override master
322515           when compiling pillar
322516
322517       · ISSUE #39220: (lvg01) state file.line skips leading spaces in content
322518         with mode:ensure and indent:False (refs: #39221)
322519
322520       · PR #39221: (lvg01) Fix bug 39220 @ 2017-02-09 18:12:29 UTC
322521
322522         · 52440416ca Merge pull request #39221 from lvg01/fix-bug-39220
322523
322524         · e8a41d6341  Removes  to  early content stripping (stripping is all‐
322525           ready done when needed with ident:true), fixes #39220
322526
322527         · a4b169e0bd Fixed wrong logic, fixes #39220
322528
322529       · ISSUE #36913: (terminalmage) Support custom refspecs in GitFS  (refs:
322530         #39210)
322531
322532         · PR #39280: (terminalmage) Add warning for Dulwich removal
322533
322534         · PR #39210: (terminalmage) salt.utils.gitfs: remove dulwich support,
322535           make refspecs configurable (refs: #39280)
322536
322537         · PR #39260: (terminalmage) Update jsonschema tests to reflect change
322538           in jsonschema 2.6.0
322539
322540       · ISSUE  saltstack/salt#33536:  (murzick) pkgrepo.managed does not dis‐
322541         able a yum repo with "disabled: True" (refs: #35055)
322542
322543       · ISSUE #33536: (murzick) pkgrepo.managed does not disable a  yum  repo
322544         with "disabled: True" (refs: #35055)
322545
322546         · PR #39251: (terminalmage) Better handling of enabled/disabled argu‐
322547           ments in pkgrepo.managed
322548
322549         · PR #35055: (galet) #33536 pkgrepo.managed does not  disable  a  yum
322550           repo with "disabled: True" (refs: #39251)
322551
322552       · PR   #39227:  (terminalmage)  Loader  optimzation  (refs:  #39300)  @
322553         2017-02-08 19:38:21 UTC
322554
322555         · 8e88f71dd9 Merge pull request #39227 from terminalmage/loader-opti‐
322556           mization
322557
322558         · c750662946 Loader optimzation
322559
322560       · ISSUE  #38856: (fhaynes) salt-cloud throws an exception when ec2 does
322561         not return encoding (refs: #39228)
322562
322563       · PR #39228: (gtmanfred) default to utf8 encoding if  not  specified  @
322564         2017-02-08 19:36:57 UTC
322565
322566         · bc89b297f8 Merge pull request #39228 from gtmanfred/2016.3
322567
322568         · afee047b08 default to utf8 encoding if not specified
322569
322570       · PR  #39231:  (terminalmage)  Add  clarification for jenkins execution
322571         module @ 2017-02-08 19:34:45 UTC
322572
322573         · d9b0671dbd  Merge  pull  request  #39231  from   terminalmage/clar‐
322574           ify-jenkins-depends
322575
322576         · ad1b1255f2 Add clarification for jenkins execution module
322577
322578       · PR  #39232:  (terminalmage)  Avoid  recursion in s3/svn ext_pillars @
322579         2017-02-08 19:33:28 UTC
322580
322581         · ddcff89a84 Merge pull request #39232 from terminalmage/issue21342
322582
322583         · c88896c277 Avoid recursion in s3/svn ext_pillars
322584
322585       · ISSUE #38697: (fboismenu) On Windows,  ip.get_all_interfaces  returns
322586         at most 2 DNS/WINS Servers (refs: #38793)
322587
322588         · PR #39230: (rallytime) Fix the win_ip_test failures
322589
322590         · PR #38793: (fboismenu) Fix for #38697 (refs: #39197, #39230)
322591
322592       · ISSUE  #33187: (usbportnoy) Deploy to jboss TypeError at boss7.py:469
322593         (refs: #39761, #39170)
322594
322595       · PR #39199:  (rallytime)  Back-port  #39170  to  2016.3  @  2017-02-07
322596         16:19:32 UTC
322597
322598         · PR  #39170: (grep4linux) Added missing source_hash_name argument in
322599           get_managed function (refs: #39199)
322600
322601         · df5f934c34 Merge pull request #39199 from rallytime/bp-39170
322602
322603         · c129905310 Added missing source_hash_name argument  in  get_managed
322604           function  Additional  fix  to   #33187  Customer  was  still seeing
322605           errors, this should now work. Tested with 2015.8.13 and 2016.11.2
322606
322607       · ISSUE #37174: (mikeadamz) The State execution failed  to  record  the
322608         order   in   which  all  states  were  executed  spam  while  running
322609         pkg.upgrade from orchestration runner (refs: #39206)
322610
322611       · PR #39206: (cachedout) Ignore empty dicts in  highstate  outputter  @
322612         2017-02-07 16:11:36 UTC
322613
322614         · 2621c119fd    Merge    pull    request    #39206    from    cached‐
322615           out/issue_issue_37174
322616
322617         · be31e0559c Ignore empty dicts in highstate outputter
322618
322619       · PR #39209:  (terminalmage)  Sort  the  return  list  from  the  file‐
322620         server.envs runner @ 2017-02-07 16:07:08 UTC
322621
322622         · dd440452ea Merge pull request #39209 from terminalmage/sorted-envs
322623
322624         · e6dda4a625 Sort the return list from the fileserver.envs runner
322625
322626         · PR #39202: (rallytime) [2016.3] Pylint fix
322627
322628       · ISSUE  #38697:  (fboismenu) On Windows, ip.get_all_interfaces returns
322629         at most 2 DNS/WINS Servers (refs: #38793)
322630
322631       · PR #39197: (cachedout) Pr 38793 @ 2017-02-06 19:23:12 UTC
322632
322633         · PR #38793: (fboismenu) Fix for #38697 (refs: #39197, #39230)
322634
322635         · ab76054127 Merge pull request #39197 from cachedout/pr-38793
322636
322637         · f3d35fb5c6 Lint fixes
322638
322639         · 624f25b78d Fix for #38697
322640
322641       · PR #39166: (Ch3LL) fix boto ec2 module create_image doc @  2017-02-06
322642         18:27:17 UTC
322643
322644         · fa45cbc359 Merge pull request #39166 from Ch3LL/fix_boto_ec2_docs
322645
322646         · 90af696331 fix boto ec2 module create_image doc
322647
322648       · PR  #39173:  (rallytime)  Restore  "Salt  Community"  doc  section  @
322649         2017-02-06 18:19:11 UTC
322650
322651         · PR #30770:  (jacobhammons)  Doc  restructuring,  organization,  and
322652           cleanup (refs: #39173)
322653
322654         · PR #10792: (cachedout) Documentation overhaul (refs: #39173)
322655
322656         · a40cb46249  Merge pull request #39173 from rallytime/restore-commu‐
322657           nity-docs
322658
322659         · 5aeddf42a0 Restore "Salt Community" doc section
322660
322661       · ISSUE #38704: (nasenbaer13)  Archive  extracted  fails  when  another
322662         state run is queued (refs: #38705)
322663
322664         · PR #39077: (terminalmage) Apply fix from #38705 to 2016.3 branch
322665
322666         · PR #38705: (nasenbaer13) Fix for #38704 archive extracted and dock‐
322667           erio states (refs: #39077)
322668
322669         · PR #39146: (gtmanfred) update vmware getting started doc
322670
322671         · PR #39145: (garethgreenaway) [2016.3] Fix when targeting via pillar
322672           with Salt syndic
322673
322674       · PR  #38804: (alexbleotu) Second attempt to fix prepending of root_dir
322675         to paths @ 2017-02-02 16:10:37 UTC
322676
322677         · cd8077ab81      Merge      pull      request      #38804       from
322678           alexbleotu/root_dir_fix-2016.3-gh
322679
322680         · b3bdd3b04a Add missing whiteline
322681
322682         · c7715acd53 Merge pull request #3 from cro/ab_rootdirfix
322683
322684           · e8cbafaaf1  When  running  testsuite,  salt.syspaths.ROOT_DIR  is
322685             often empty.
322686
322687         · b12dd44a26 Merge pull request #1 from cro/ab_rootdirfix
322688
322689           · bffc537aca Remove extra if statements (rstrip will check for  the
322690             presence anyway).
322691
322692         · 97521b3468 Second attempt to fix prepending of root_dir to paths
322693
322694       · ISSUE  #39118:  (bobrik)  Minion ipv6 option is not documented (refs:
322695         #39289, #39131)
322696
322697         · PR #39131: (bobrik) Clarify ipv6 option for minion and inteface for
322698           master, closes #39118
322699
322700         · PR #39116: (terminalmage) Don't abort pillar.get with merge=True if
322701           default is None
322702
322703       · PR #39091: (terminalmage) Run test_valid_docs in batches @ 2017-02-01
322704         19:09:05 UTC
322705
322706         · cc9b69b6bc    Merge    pull    request    #39091   from   terminal‐
322707           mage/update-test-valid-docs
322708
322709         · d76f0380d0 add debug logging for batch vars
322710
322711         · b4afea2a25 Don't fail test if data is empty
322712
322713         · b3a5d549c1 Account for trimmed value in 'salt -d' output
322714
322715         · 909916c78e Run test_valid_docs in batches
322716
322717         · PR #39081: (terminalmage) Move fileclient tests  to  tests/integra‐
322718           tion/fileserver/fileclient_test.py
322719
322720         · PR #39067: (rallytime) Bump openstack deprecation notice to Oxygen
322721
322722       · PR #39047: (rallytime) [2016.3] Merge forward from 2015.8 to 2016.3 @
322723         2017-01-30 23:48:14 UTC
322724
322725         · a24af5ac46 Merge pull request #39047 from rallytime/merge-2016.3
322726
322727         · b732a1f646 Merge branch '2015.8' into '2016.3'
322728
322729         · 56ccae6ff7 Add 2015.8.14 release notes file (#39046)
322730
322731         · 5943fe65d3 Update 2015.8.13 release notes (#39037)
322732
322733         · PR #39045: (rallytime) Add 2016.3.6 release notes file
322734
322735         · PR #39042: (rallytime) [2016.3]  Update  release  numbers  for  doc
322736           build
322737
322738         · PR #39038: (rallytime) Update 2016.3.5 release notes
322739
322740       · PR  #39028:  (terminalmage)  Clarify  delimiter argument @ 2017-01-30
322741         18:20:26 UTC
322742
322743         · 5b09dc4198  Merge  pull  request  #39028  from   terminalmage/clar‐
322744           ify-delimiter-argument
322745
322746         · f29ef071f3 Clarify delimiter argument
322747
322748         · PR #39030: (rallytime) Back-port #38972 to 2016.3
322749
322750         · PR    #38972:   (rallytime)   Add   CLI   Example   for   rest_sam‐
322751           ple_utils.get_test_string function (refs: #39030)
322752
322753       · ISSUE #38753: (alexbleotu) __proxy__  dunder  is  not  injected  when
322754         invoking the salt variable in sls files (refs: #38899, #38829)
322755
322756       · ISSUE  #38557:  (alexbleotu)  Proxy  not  working  on  develop (refs:
322757         #38829)
322758
322759       · ISSUE #38265: (mirceaulinic) __utils__ object not available in  proxy
322760         module (refs: #38899, #38829)
322761
322762       · ISSUE   #32918:  (mirceaulinic)  Proxy  minions  reconnection  (refs:
322763         #38829)
322764
322765         · PR #38899: (cro) Enable __proxy__  availability  in  states,  high‐
322766           state, and utils. Enable __utils__ for proxies.
322767
322768         · PR  #38829:  (cro)  MANY  dunder variable fixes for proxies + proxy
322769           keepalive from @mirceaulinic (refs: #38899)
322770
322771         · PR #37864: (mirceaulinic) Proxy keepalive feature (refs: #38829)
322772
322773       · ISSUE #37938: (johje349) Memory leak in Reactor (refs: #38951)
322774
322775       · ISSUE #33890:  (hvnsweeting)  salt  memleak  when  running  state.sls
322776         (refs: #38951)
322777
322778       · PR #38951: (DmitryKuzmenko) Keep the only one record per module-func‐
322779         tion in depends decorator.  @ 2017-01-27 17:05:42 UTC
322780
322781         · da96221741   Merge   pull   request   #38951    from    DSRCorpora‐
322782           tion/bugs/37938_fix_depends_decorator_memleak
322783
322784         · 0b18f34678  Keep the only one record per module-function in depends
322785           decorator.
322786
322787       · ISSUE #34780: (joehoyle) S3fs broken in 2016.3.1 (refs: #38982)
322788
322789       · PR #38982: (rallytime) Set response when using  "GET"  method  in  s3
322790         utils @ 2017-01-27 17:04:48 UTC
322791
322792         · 85165edb70 Merge pull request #38982 from rallytime/fix-34780
322793
322794         · 1583c5579a Set response when using "GET" method in s3 utils
322795
322796       · PR  #38989:  (anlutro) Documentation: fix SLS in environment variable
322797         examples @ 2017-01-27 17:00:08 UTC
322798
322799         · cfdbc99e12   Merge   pull   request    #38989    from    alprs/doc‐
322800           fix-state_pt3_environ
322801
322802         · 52a9ad1c60 fix SLS in environment variable examples
322803
322804       · PR  #39000: (rallytime) Skip the test_badload test until Jenkins move
322805         is complete @ 2017-01-27 16:58:21 UTC
322806
322807         · 55e4d2572e  Merge  pull  request  #39000  from  rallytime/skip-bad‐
322808           load-test
322809
322810         · 4b3ff0fe0f  Skip  the  test_badload test until Jenkins move is com‐
322811           plete
322812
322813       · PR #38995: (terminalmage)  Fix  pillar.item  docstring  @  2017-01-27
322814         16:58:00 UTC
322815
322816         · fe054eb772  Merge  pull  request  #38995 from terminalmage/fix-pil‐
322817           lar.item-docstring
322818
322819         · 06d094dd8f Fix pillar.item docstring
322820
322821       · ISSUE #34551: (mbom2004)  salt.engines.logstash  not  loading  (refs:
322822         #38950)
322823
322824       · PR  #38950:  (mbom2004)  Fixed  Logstash Engine in file logstash.py @
322825         2017-01-26 19:10:07 UTC
322826
322827         · b66b6f6423 Merge pull request #38950 from mbom2004/2016.3
322828
322829         · c09f39d6c9 Remove unused json import
322830
322831         · 249efa3068 Fixed Logstash Engine in file logstash.py
322832
322833         · PR #38973: (rallytime) Handle changing "is_default" value  in  moto
322834           package for boto test mock
322835
322836       · PR  #38952:  (terminalmage)  Make  the  ext_pillars available to pil‐
322837         lar.ext tunable @ 2017-01-26 19:01:56 UTC
322838
322839         · b965b5dcc2 Merge pull request #38952 from terminalmage/zd1168
322840
322841         · 6b014e53fc Rename on_demand_pillar to on_demand_ext_pillar
322842
322843         · d216f90c63 Document new on_demand_pillar option and add  to  config
322844           template
322845
322846         · 426b20f02f  Add  documentation  for  on-demand pillar to pillar.ext
322847           docstring
322848
322849         · 7b10274b6b Make on-demand ext_pillars tunable
322850
322851         · d54723ccae Add on_demand_pillar config option
322852
322853       · ISSUE #35777: (rallytime) Properly deprecate template context data in
322854         Fluorine (refs: #38948)
322855
322856       · PR  #38948: (rallytime) Bump the template context deprecation version
322857         to Oxygen @ 2017-01-25 19:45:59 UTC
322858
322859         · 2c4ad85a78  Merge  pull  request  #38948  from  rallytime/bump-tem‐
322860           plate-context-deprecation
322861
322862         · 749e0031d7 Bump the template context deprecation version to Oxygen
322863
322864       · PR  #38946:  (rallytime)  Back-port  #37632  to  2016.3  @ 2017-01-25
322865         19:40:40 UTC
322866
322867         · PR #37632: (twangboy) Fix versions report for Windows Server  plat‐
322868           forms (refs: #38946)
322869
322870         · e4514ca7d8 Merge pull request #38946 from rallytime/bp-37632
322871
322872         · ee37cdace9 Fix some lint
322873
322874         · c08071e182 Fix versions report for server OSs
322875
322876       · PR  #38913:  (Adaephon-GH)  Ignore  plist  files  without Label key @
322877         2017-01-25 19:07:27 UTC
322878
322879         · 953a20350a Merge pull request #38913 from Adaephon-GH/patch-1
322880
322881         · e2f4a16fdd Removing trailing whitespace
322882
322883         · 616292c6b1 Ignore plist files without Label key
322884
322885       · PR #38917: (twangboy) Update Jinja2 to 2.9.4  @  2017-01-25  19:05:38
322886         UTC
322887
322888         · 826dce1059 Merge pull request #38917 from twangboy/update_jinja_mac
322889
322890         · 62e608b627 Update Jinja2 to 2.9.4
322891
322892       · ISSUE  #38540:  (amendlik) API wheel client throws exception and suc‐
322893         cess=true (refs: #38925)
322894
322895       · ISSUE #38537: (amendlik) API client wheel_async always returns status
322896         500 (refs: #38925)
322897
322898       · PR #38925: (terminalmage) Fix two wheel issues in netapi @ 2017-01-25
322899         18:28:52 UTC
322900
322901         · b27733cc33 Merge pull request #38925 from terminalmage/issue38540
322902
322903         · 76392fc6ad Fix traceback when a netapi module uses wheel_async
322904
322905         · bd4474fa62 Fix 'success' value for wheel commands
322906
322907       · PR  #38926:  (gtmanfred)  add  note  about  pysss  for  pam  eauth  @
322908         2017-01-25 18:12:20 UTC
322909
322910         · 618596f0cc Merge pull request #38926 from gtmanfred/2016.3
322911
322912         · 9cae953c93 add note about pysss for pam eauth
322913
322914       · ISSUE #38825: (IshMalik) file.managed multiple sources for redundency
322915         failure (refs: #38847)
322916
322917       · PR #38847: (terminalmage) Catch  MinionError  in  file.source_list  @
322918         2017-01-24 16:03:10 UTC
322919
322920         · 405d86a2ca Merge pull request #38847 from terminalmage/issue38825
322921
322922         · 11a47803ce Use log.exception() instead
322923
322924         · e40fac589a Catch MinionError in file.source_list
322925
322926       · ISSUE  #36121:  (Ashald) TemplateNotFound/Unable to cache file (refs:
322927         #38875)
322928
322929       · PR #38875: (terminalmage) Reactor: fix traceback when salt:// path is
322930         nonexistant @ 2017-01-24 15:23:39 UTC
322931
322932         · b5df104fc2 Merge pull request #38875 from terminalmage/issue36121
322933
322934         · fbc4d2a2c4 reactor: ensure glob_ref is a string
322935
322936         · 2e443d79a3  cp.cache_file:  add  note  re:  return  for nonexistant
322937           salt:// path
322938
322939       · ISSUE #37413: (Snarfingcode666) Salt-cloud vmware missing reboot com‐
322940         mand (refs: #38887, #38890)
322941
322942       · PR  #38890:  (cro)  Backport  #38887 to 2016.3: Enable resetting a VM
322943         via salt-cloud & VMware driver @ 2017-01-24 15:15:35 UTC
322944
322945         · PR #38887: (cro) Enable resetting a  VM  via  salt-cloud  &  VMware
322946           driver (refs: #38890)
322947
322948         · e9ebec4d80 Merge pull request #38890 from cro/vmware_reset_vm_20163
322949
322950         · 0146562fb4 Call correct function for resetting a VM
322951
322952       · PR   #38883:  (techhat)  Don't  require  text_out  path  to  exist  @
322953         2017-01-23 18:20:42 UTC
322954
322955         · PR #38867: (mchugh19) Touch deploy.sh before use (refs: #38883)
322956
322957         · PR #32026: (techhat) Don't require the decode_out file  to  already
322958           exist (refs: #38883)
322959
322960         · c3fbfcd231 Merge pull request #38883 from techhat/dontrequire
322961
322962         · 67bc4d6687 Don't require text_out path to exist
322963
322964       · PR  #38851:  (terminalmage)  Support  docker-py  2.0  in  dockerng  @
322965         2017-01-23 16:48:12 UTC
322966
322967         · 6430a45196   Merge   pull    request    #38851    from    terminal‐
322968           mage/docker-py-2.0
322969
322970         · 3c061b21fe Support docker-py 2.0 in dockerng
322971
322972       · PR  #38844:  (cachedout)  Fix memory leak in HTTP client @ 2017-01-20
322973         20:59:14 UTC
322974
322975         · ac8008d843  Merge  pull  request  #38844  from  cachedout/http_mem‐
322976           ory_leak
322977
322978         · c46bf85518 Fix memory leak in HTTP client
322979
322980       · ISSUE  #38798: (ripta) match.compound fails to match when pillar data
322981         is used (refs: #38823)
322982
322983       · PR #38823: (gtmanfred) pass pillar to compound matcher in match  mod‐
322984         ule @ 2017-01-20 19:19:09 UTC
322985
322986         · dfe6dfe963 Merge pull request #38823 from gtmanfred/2016.3
322987
322988         · f0a71e8707 pass pillar to compound matcher in match module
322989
322990   Salt 2016.3.7 Release Notes
322991       Version 2016.3.7 is a bugfix release for 2016.3.0.
322992
322993   Security Fix
322994       CVE-2017-12791 Maliciously crafted minion IDs can cause unwanted direc‐
322995       tory traversals on the Salt-master
322996
322997       This release corrects a flaw in minion ID validation which could  allow
322998       certain minions to authenticate to a master despite not having the cor‐
322999       rect credentials. To exploit the vulnerability, an attacker must create
323000       a salt-minion with an ID containing characters that will cause a direc‐
323001       tory traversal. Credit for  discovering  the  security  flaw  goes  to:
323002       Vernhk@qq.com
323003
323004   Changelog for v2016.3.6..v2016.3.7
323005       Generated at: 2018-05-27 14:09:17 UTC
323006
323007       · 11d176ff1b Add release notes for 2016.3.7 release
323008
323009       · dc649ded51 Add clean_id function to salt.utils.verify.py
323010
323011   Salt 2016.3.8 Release Notes
323012       Version 2016.3.8 is a bugfix release for 2016.3.0.
323013
323014   Security Fix
323015       CVE-2017-14695  Directory  traversal vulnerability in minion id valida‐
323016       tion in SaltStack. Allows remote minions with incorrect credentials  to
323017       authenticate  to a master via a crafted minion ID. Credit for discover‐
323018       ing the security flaw goes to: Julian Brost (julian@0x4a42.net)
323019
323020       CVE-2017-14696 Remote  Denial  of  Service  with  a  specially  crafted
323021       authentication  request.  Credit for discovering the security flaw goes
323022       to: Julian Brost (julian@0x4a42.net)
323023
323024   Changelog for v2016.3.7..v2016.3.8
323025       Generated at: 2018-05-27 14:11:36 UTC
323026
323027       · 8cf08bd7be Update 2016.3.7 Release Notes
323028
323029       · 0425defe84 Do not allow IDs with null bytes in decoded payloads
323030
323031       · 31b38f50eb Don't allow path separators in minion ID
323032
323033   Salt 2016.3.9 Release Notes
323034       Version 2016.3.9 is a bugfix release for 2016.3.0.
323035
323036   Master Changes
323037       The following options have been added to the master config file:
323038
323039       · allow_minion_key_revoke - This option controls whether a  minion  can
323040         request  that  the  master  revoke  its  key. When True, a minion can
323041         request a key revocation and the master will comply. If it is  False,
323042         the key will not be revoked by the msater.
323043
323044       · require_minion_sign_messages  -  This  requires  that minions crypto‐
323045         graphically sign the messages they publish to the master. If  minions
323046         are  not signing, then log this information at loglevel INFO and drop
323047         the message without acting on it.
323048
323049       · drop_messages_signature_fail - Drop messages from minions when  their
323050         signatures  do  not validate. Note that when this option is False but
323051         require_minion_sign_messages is True, minions MUST  sign  their  mes‐
323052         sages, but the validity of their signatures is ignored.
323053
323054       · minion_sign_messages  -  Causes  the minion to cryptographically sign
323055         the payload of messages it places on the event bus  for  the  master.
323056         The  payloads  are signed with the minion's private key so the master
323057         can verify the signature with its public key.
323058
323059   Salt 2015.8.0 Release Notes - Codename Beryllium
323060   2015.8.0 Detailed Change List
323061       Extended     changelog     courtesy     of     Todd     Stansell     (‐
323062       https://github.com/tjstansell/salt-changelogs)
323063
323064       Generated at: 2015-09-09T18:15:43Z
323065
323066       This  list  includes  all  pull  requests merged into the 2015.8 branch
323067       between the forking of the branch  from  develop  and  the  release  of
323068       2015.8.0.
323069
323070       Statistics:
323071
323072       · Total Merges: 682
323073
323074       · Total Issue references: 342
323075
323076       · Total PR references: 866
323077
323078       Pull Requests:
323079
323080       · #26993: (whiteinge) Backport #26975
323081
323082       · #26970: (cachedout) Revert "better path query parsing in fileserver"
323083
323084       · #26980:  (terminalmage) Use human-readable cachedirs for gitfs-backed
323085         winrepo
323086
323087       · #26969: (TheBigBear) URL of salt windows downloads has changed
323088
323089       · #26968: (TheBigBear) URL of salt windows downloads has changed
323090
323091       · #26958: (s0undt3ch)  Bradthurber  bootstrap  command  line  help  doc
323092         update
323093
323094       · #26949: (rallytime) Back-port #25148 to 2015.8
323095
323096       · #26914:  (cro)  Add salt-proxy script and manpage to setup.py so they
323097         will get installed.
323098
323099       · #26909: (terminalmage) Don't try to git clone from /tmp on Windows
323100
323101       · #26910: (s0undt3ch) Sometimes the event system is just too fast
323102
323103       · #26905: (s0undt3ch) Exit the loop if run_once is true
323104
323105       · #26897: (msteed) spm file hash part deux
323106
323107       · #26900: (s0undt3ch) If no tag is passed, don't actually subscribe  to
323108         anything.
323109
323110       · #26880:    (s0undt3ch)    Restore    backwards    compatibility    to
323111         salt.utils.event
323112
323113       · #26896: (msteed) spm remove: use pkgfiles to calculate file hashes
323114
323115       · #26891: (jtand) Fixed an unboundlocalerror
323116
323117       · #26892: (cachedout) Make the testing ioloop the current one
323118
323119       · #26886: (jtand) Gets the  azure  version  correctly  on  python-azure
323120         1.0.0
323121
323122       · #26870: (rallytime) Back-port #26834 to 2015.8
323123
323124       · #26865:  (dmurphy18) Fix apt preferences for apts, repos for pbuilder
323125         building for Debian
323126
323127       · #26873: (terminalmage) Properly handle getting local config values in
323128         older git versions
323129
323130       · #26869: (rallytime) Fix provider --> driver change for salt-cloud lxc
323131
323132       · #26858:  (terminalmage) Fix a couple version checks for git state and
323133         execution module
323134
323135       · #26853: (UtahDave) Fix salt-cloud on windows
323136
323137       · #26852: (basepi) [2015.8] Only reference msgpack if it imported  suc‐
323138         cessfully
323139
323140       · #26835: (terminalmage) Backport #26572 to 2015.8
323141
323142       · #26836:  (jacobhammons)  Added  rst  source  for salt-proxy man page,
323143         added build and copy lines …
323144
323145       · #26818: (terminalmage) Support empty repositories in git.latest
323146
323147       · #26819: (rallytime) Make sure we're  calling  _validate_name  in  the
323148         correct place in 2015.8 Linode driver
323149
323150       · #26841: (l2ol33rt) Fix reference before assignment in sqs engine
323151
323152       · #26822:  (terminalmage)  Add some missing imports for masterless win‐
323153         repo
323154
323155       · #26831: (basepi) [2015.8] Merge forward from 2015.5 to 2015.8
323156
323157       · #26826: (techhat) Pass a package name to unregister_file()
323158
323159       · #26757: (cachedout) Fix various filehandle leaks
323160
323161       · #26816: (gtmanfred) rev defaults to HEAD
323162
323163       · #26801: (jacobhammons) Added doc for  dockerng  minion  configuration
323164         options
323165
323166       · #26808: (anlutro) Fix git init argument formatting
323167
323168       · #26807:     (terminalmage)     Move     salt.utils.itersplit()     to
323169         salt.utils.itertools.split()
323170
323171       · #26796: (jacobhammons) Add doc for __states__
323172
323173       · #26764: (sjorge) salt.utils.is_proxy() is no longer  always  true  on
323174         SunOS/Illumos/SmartOS
323175
323176       · #26772: (sjorge) pull in smartos 'virt' module from develop
323177
323178       · #26726:  (terminalmage) Redact HTTPS Basic Auth in states/funcs which
323179         deal with git remotes
323180
323181       · #26769: (terminalmage) Use --track to set tracking  branch  on  older
323182         git versions
323183
323184       · #26765: (basepi) [2015.8] Merge forward from 2015.5 to 2015.8
323185
323186       · #26761: (sjorge) fix SPM paths on smartos/illumos esky
323187
323188       · #26751: (terminalmage) Fixes for masterless winrepo
323189
323190       · #26745:  (rallytime)  Make  sure  pyrax  configs  are in place before
323191         checking for deps
323192
323193       · #26746: (rallytime) Make sure nova configs are  set  before  checking
323194         for dependencies
323195
323196       · #26750: (basepi) [2015.8] Add __utils__ to state modules
323197
323198       · #26752: (cro) Fix typo in some diagram labels
323199
323200       · #26747:  (basepi)  [2015.8]  Add  __states__  to  state  modules, for
323201         cross-calling states
323202
323203       · #26744: (basepi) [2015.8] Fix issue from #26717
323204
323205       · #26737: (dmurphy18)  Fix to allow for package naming other than  just
323206         salt
323207
323208       · #26742: (rallytime) Only warn about vsphere deprecation if vsphere is
323209         configured
323210
323211       · #26733: (sjorge) Refactor of smartos_vmadm module
323212
323213       · #26735: (s0undt3ch) Add .hg and .cvs to spm_build_exclude
323214
323215       · #26720: (UtahDave) Updates for winrepo in 2015.8  to  support  jinja,
323216         while maintaining backwards compat
323217
323218       · #26719: (jodv) Backport 26532 to 2015.8
323219
323220       · #26721: (rallytime) Linode Driver Cleanup
323221
323222       · #26707: (techhat) Add top_level_dir to FORMULAs
323223
323224       · #26723: (s0undt3ch) Handle SPM paths in the setup script
323225
323226       · #26717: (basepi) [2015.8] Revert loader changes from #26645
323227
323228       · #26712: (techhat) Move SPM paths around
323229
323230       · #26680: (TheBigBear) add more python libs info in '--versions-report'
323231
323232       · #26716: (terminalmage) Allow git identity to be a list
323233
323234       · #26691: (garethgreenaway) Fixes to ipset module for 2015.8
323235
323236       · #26701:  (kev009) Ignore the first element of kern.disks split, which
323237         is the sysctl name (new disks grain)
323238
323239       · #26678: (terminalmage) Restructure git.latest rewrite to work  better
323240         when following HEAD
323241
323242       · #26679: (rallytime) Back-port #26661 to 2015.8
323243
323244       · #26684: (techhat) Add reactor formulas to spm
323245
323246       · #26682: (basepi) [2015.8] Merge forward from 2015.5 to 2015.8
323247
323248       · #26671: (rallytime) Warn users if cloud driver dependencies are miss‐
323249         ing.
323250
323251       · #26674: (rallytime) Back-port #26583 to 2015.8
323252
323253       · #26670: (techhat) Set up SPM to install -conf packages
323254
323255       · #26657: (jfindlay) top file compilation fixes
323256
323257       · #26659: (TheBigBear) minor doc edits - spelling
323258
323259       · #26654: (jfindlay) merge #26650
323260
323261       · #26567: (jtand) Added git version check to git module
323262
323263       · #26649: (twangboy) Fixed Lint for real in win_repo.py
323264
323265       · #26608: (jacobhammons) 2015.8.0 release notes and doc/conf.py updates
323266
323267       · #26646: (basepi) [2015.8] Merge forward from 2015.5 to 2015.8
323268
323269       · #26645: (rallytime) Back-port #26390 to 2015.8
323270
323271       · #26642: (twangboy) Added function to render winrepo Jinja
323272
323273       · #26625: (twangboy) Correctly detect packages with no version, docs
323274
323275       · #26575: (msteed) Update spm for integration into raas
323276
323277       · #26635: (cro) Don't report windows as a proxy.
323278
323279       · #26622: (rallytime) [2015.8] Also add -Z to  script  args  for  cloud
323280         tests
323281
323282       · #26619: (rallytime) Apply cloud test fixes from 2015.5 to 2015.8
323283
323284       · #26603:  (terminalmage)  Fixes for git.latest, git module integration
323285         tests, etc.
323286
323287       · #26577: (basepi) [2015.8] Merge forward from 2015.5 to 2015.8
323288
323289       · #26534: (cachedout) Bump required Tornado version to 4.2.1
323290
323291       · #26566: (cachedout) Don't stacktrace trying to publish without a mas‐
323292         ter
323293
323294       · #26541:  (terminalmage)  Make  winrepo  execution module use the same
323295         code as the runner
323296
323297       · #26530: (basepi) [2015.8] Merge forward from 2015.5 to 2015.8
323298
323299       · #26570: (cachedout) Fix haproxy docs to be valid
323300
323301       · #26562: (cachedout) Fix suprious error message with systemd-detect
323302
323303       · #26557: (jfindlay) add docs to #26550
323304
323305       · #26544: (nmadhok) Do not raise KeyError when calling avail_images  if
323306         VM/template is in disconnected state
323307
323308       · #26501: (terminalmage) Update git_pillar docs, add git.list_worktrees
323309         function
323310
323311       · #26521: (terminalmage) Work around upstream git bug when cloning repo
323312         as root
323313
323314       · #26518: (krak3n) Fix for #25492
323315
323316       · #26514: (evverx) Unmask a runtime masked services too
323317
323318       · #26529: (mnalt) bugfix: fix service.enable for missing rc.conf
323319
323320       · #26516: (techhat) Move more path operations into SPM loader
323321
323322       · #26533: (cachedout) Fix too aggressive even init check
323323
323324       · #26522: (cro) Do not load package provider if its not a proxy
323325
323326       · #26531: (cachedout) Fix failing event tests and modify event init
323327
323328       · #26433:  (cro)  Add  support for default proxy config options, change
323329         default location of proxy  config  and  log  to  /etc/salt/proxy  and
323330         /var/log/proxy
323331
323332       · #26504:  (nmadhok)  [Backport]  Adding ability to specify the virtual
323333         hardware version when creating VM
323334
323335       · #26517: (cachedout) Better fix for opensuse tornado httpclient
323336
323337       · #26479: (rallytime) Don't allow VMs with duplicate names to  be  cre‐
323338         ated in EC2/AWS
323339
323340       · #26488: (cachedout) Don't pass unsupported kwarg to tornado
323341
323342       · #26451:  (terminalmage)  Use  'rpm  -qa' instead of repoquery to list
323343         installed packages
323344
323345       · #26491: (jacobhammons) doc site css fix for tiny fonts that  appeared
323346         in code or pre tags in …
323347
323348       · #26442: (rallytime) Hide API Key from debug logs for Linode Driver
323349
323350       · #26441: (rallytime) Refactor a few linode functions to be useful with
323351         salt-cloud command
323352
323353       · #26485: (s0undt3ch) One more missed typo
323354
323355       · #26495: (basepi) [2015.8] Merge forward from 2015.5 to 2015.8
323356
323357       · #26492: (cachedout) Fix schedule test error on py26
323358
323359       · #26489: (cachedout) Fixing more tarfile tests on py2.6
323360
323361       · #26475: (cachedout) Better object checking on asyncreq cleanup
323362
323363       · #26477:     (cachedout)      Fix      integration.modules.git.GitMod‐
323364         uleTest.test_archive on py26
323365
323366       · #26469:  (jtand)  --annotate  and  --message  aren't valid options in
323367         older versions of git.
323368
323369       · #26439: (basepi) [2015.8] Merge forward from 2015.5 to 2015.8
323370
323371       · #26464: (rallytime) Back-port #26456 to 2015.8
323372
323373       · #26463: (rallytime) Back-port #26455 to 2015.8
323374
323375       · #26449: (s0undt3ch) The CLI options are not meant to  include  under‐
323376         scores.
323377
323378       · #26270:  (sjorge) salt.modules.network now supports SmartOS and SunOS
323379         < Solaris 11
323380
323381       · #26436: (TheBigBear) minor edits
323382
323383       · #26410: (basepi) [2015.8] Merge forward from 2015.5 to 2015.8
323384
323385       · #26427: (anlutro) git.latest with no  rev:  fix  concatenation  error
323386         (NoneType and str)
323387
323388       · #26307: (cachedout) Fix bug in top file ordering
323389
323390       · #26428: (cro) Update docs to reflect new pillar structure
323391
323392       · #26429: (cachedout) Add release note regarding tcp transport on free‐
323393         bsd
323394
323395       · #26418: (driskell) Fix forward-merged caching from 2015.5 into 2015.8
323396         to be compatible with the new match_func
323397
323398       · #26252: (DmitryKuzmenko) Issues/24048 http client 2015.8
323399
323400       · #26413:  (evverx) Fix service.{start,restart,reload,force-reload} for
323401         masked services
323402
323403       · #26393: (dmurphy18) Added option parameters to make_repo to allow for
323404         configuration settings
323405
323406       · #26422:  (TheBigBear) no dots in SLS filename __AND__ any directories
323407         (incl git repos)
323408
323409       · #26323: (0xf10e) Fix Credentials used in glance Exec Module
323410
323411       · #26341: (terminalmage) Rewrite git state and execution modules
323412
323413       · #26419: (terminalmage) Only use pygit2.errors if it exists
323414
323415       · #26423: (eliasp) doc - Correct function name for peer configuration
323416
323417       · #26401: (cachedout) Adapt proxy minion to tornado (w/lint)
323418
323419       · #26400: (rallytime) Back-port #26318 to 2015.8
323420
323421       · #26397: (s0undt3ch) A single isinstance()  check  for  all  types  is
323422         enough
323423
323424       · #26385: (gtmanfred) don't require volume endpoint in nova driver
323425
323426       · #26287: (techhat) Break out SPM components into loaders
323427
323428       · #26384: (TheBigBear)  Fix shell quoting for cmd.run
323429
323430       · #26391: (rallytime) Back-port #26367 to 2015.8
323431
323432       · #26383: (rallytime) Allow the creation of a VM without a profile
323433
323434       · #26375: (s0undt3ch) [2015.8] Schema DictItem required attribute fixes
323435
323436       · #26363: (garethgreenaway) Fixes to mount state 2015.8
323437
323438       · #26347:   (0xf10e)   Load   'pkgng'   as  'pkg'  on  FreeBSD  9  when
323439         providers:pkg == 'pkgng'
323440
323441       · #26361: (TronPaul) sign security token
323442
323443       · #26346: (TronPaul) Fix s3 using IAM credentials
323444
323445       · #26331: (mnalt) fix bug in sysrc to allow for empty rc variables
323446
323447       · #26334: (rallytime) Call  salt.utils.cloud.bootstrap  in  GCE  Driver
323448         provisioning
323449
323450       · #26308:  (dmurphy18) Support for environment overrides building pack‐
323451         ages
323452
323453       · #26279:  (TheScriptSage)  Merge   changes   for   pull`#26083`_   and
323454         pull`#25632`_ into 2015.8
323455
323456       · #26224:   (cachedout)   Cleanup   of   a   few   cases   to  move  to
323457         salt.utils.fopen
323458
323459       · #26260: (nmadhok) Correct spelling of integration in docs
323460
323461       · #26226: (rallytime) Fix #25463
323462
323463       · #26248: (nmadhok) Initial commit  of  unit  tests  for  vmware  cloud
323464         driver
323465
323466       · #26228: (basepi) [2015.8] Merge forward from 2015.5 to 2015.8
323467
323468       · #26244:  (nmadhok)  Backport  additions  to  VMware cloud driver from
323469         develop to 2015.8 branch
323470
323471       · #26235:  (sjorge)  salt.utils.is_smartos_zone,  inverse  of  is_smar‐
323472         tos_globalzone
323473
323474       · #26221: (sjorge) SmartOS grain fixes
323475
323476       · #26218:  (terminalmage) Add warning about file.recurse unicode errors
323477         with vim swap files.
323478
323479       · #26214: (rallytime) Back-port #24878 to 2015.8
323480
323481       · #26211: (techhat) Move SPM to its own directory
323482
323483       · #26197: (TronPaul) Fix GitFS when whitelisting base
323484
323485       · #26200: (anlutro) Make it possible to run salt-cloud as current user
323486
323487       · #26201: (kev009) Avoid VBOX storage emulation bugs in  FreeBSD  disks
323488         grain
323489
323490       · #26188: (basepi) [2015.8] Merge forward from 2015.5 to 2015.8
323491
323492       · #26194:  (basepi)  Allow  virtual  grains  to  be  generated  even if
323493         virt-what is not available
323494
323495       · #26176: (rallytime) Back-port #26165 to 2015.8
323496
323497       · #26169: (terminalmage) Fix attribute error in gitfs' find_file  func‐
323498         tions
323499
323500       · #26170:  (nmadhok)  [Backport]  Make  sure  variable  is a dictionary
323501         before popping something from it.
323502
323503       · #26143: (nmadhok) VMware cloud driver fixes [forward port from 2015.5
323504         into 2015.8]
323505
323506       · #26173:  (jacobhammons)  Updates  to  cloud  docs  for the provider >
323507         driver change
323508
323509       · #26125: (evverx) Use timedatectl set-timezone to tzsetting if  avail‐
323510         able
323511
323512       · #26145: (sjorge) smartos_imgadm cleanup
323513
323514       · #26148: (terminalmage) Refactor winrepo support
323515
323516       · #26128: (sjorge) imgadm.avail should return multiple results
323517
323518       · #26109: (jfindlay) fix quote indent
323519
323520       · #26089: (anlutro) User state/module: fix coercing of None into string
323521         "None" in GECOS
323522
323523       · #26081: (cachedout) Move invocation routine up
323524
323525       · #26086: (rallytime) Back-port #26019 to 2015.8
323526
323527       · #26087: (rallytime) Back-port #26059 to 2015.8
323528
323529       · #26052: (jtand) Rh_ip fix
323530
323531       · #26078: (cachedout) Fix missing key in error return
323532
323533       · #26074: (basepi) [2015.8] Re-apply #25358 in 2015.8
323534
323535       · #26069: (jfindlay) fix win_firewall.delete_rule
323536
323537       · #26066:  (s0undt3ch)  [2015.8]  Update  to  latest  bootstrap  stable
323538         release v2015.06.08
323539
323540       · #26049: (basepi) [2015.8] Merge forward from 2015.5 to 2015.8
323541
323542       · #26026: (anlutro) Fix httpasswd result false positive in test mode
323543
323544       · #26037: (rallytime) Back-port #25489 to 2015.8
323545
323546       · #26004: (techhat) Allow updating a single SPM repo at a time
323547
323548       · #26012: (cachedout) Merge kwargs into opts for tcp client
323549
323550       · #26007:  (anlutro)  file.managed:  wrap os.remove in if isfile, don't
323551         remove on success
323552
323553       · #26009:  (terminalmage)  Add  winrepo  and  dockerng  information  to
323554         2015.8.0 release notes
323555
323556       · #26006: (basepi) Revert #25727 in favor of #25645
323557
323558       · #26001: (cachedout) Fix failing tests
323559
323560       · #25978: (anlutro) Correct service state changes in test mode
323561
323562       · #25982: (sjorge) salt.modules.smartos_* limit to global zone only
323563
323564       · #25989: (rallytime) Back-port #25832 to 2015.8
323565
323566       · #25988: (cachedout) Move #25642 to 2015.8
323567
323568       · #25999: (s0undt3ch) Include subschema defaults
323569
323570       · #25997:  (s0undt3ch)  Allow getting a defaults dictionary from schema
323571         defaults
323572
323573       · #25979: (basepi) [2015.8] Merge forward from 2015.5 to 2015.8
323574
323575       · #25902: (basepi) [2015.8] Merge forward from 2015.5 to 2015.8
323576
323577       · #25956: (anlutro) Fix user argument to cron functions
323578
323579       · #25946: (sjorge) Fix for salt.utils.decorators under esky
323580
323581       · #25957: (anlutro)  Remove  temporary  file  after  file.managed  with
323582         checkcmd
323583
323584       · #25874: (rallytime) Back-port #25668 to 2015.8
323585
323586       · #25929:  (sjorge) salt.module.pkgin's __virtual__() should not return
323587         None if pkg_info is not present
323588
323589       · #25952: (garethgreenaway) Log when event.fire  and  event.fire_master
323590         fail 2015.8
323591
323592       · #25944: (sjorge) Smartos libcrypto nonesky fix
323593
323594       · #25906:  (dmurphy18)  Cherry-pick  of  pkgbuild  changes from develop
323595         branch
323596
323597       · #25925: (sjorge) Create default log location in smartos  esky  build‐
323598         script
323599
323600       · #25928: (cachedout) Fix stacktrace for non-existant states
323601
323602       · #25922: (jacksontj) Correct max_wait -> max_auth_wait in MultiMinion
323603
323604       · #25907: (rallytime) Back-port #25892 to 2015.8
323605
323606       · #25910: (terminalmage) Pass osarch to check_32()
323607
323608       · #25849:  (basepi) Repress template error for GPG renderer (can't seek
323609         an OrderedDict)
323610
323611       · #25868: (rallytime) Back-port #25404 to 2015.8
323612
323613       · #25896: (cachedout) Lint
323614
323615       · #25876: (jacksontj) Fixes for 2015.8
323616
323617       · #25867: (rallytime) Back-port #25370 to 2015.8
323618
323619       · #25845: (jacobhammons) updated versionadded
323620
323621       · #25836: (jacksontj) Keep track of SyncWrapper's IOLoop usage
323622
323623       · #25859: (0xf10e) warn_until(Carbon,...) instead of Boron
323624
323625       · #25505: (0xf10e) Glance state module for 2015.8 "Beryllium"
323626
323627       · #25843: (jtand) Fixed a lint error in parsers.py
323628
323629       · #25835: (techhat) spm update_repo doesn't always require arguments
323630
323631       · #25837: (jacobhammons) regenerated man pages
323632
323633       · #25830: (sjorge) Loading of libcrypto on smartos esky fixed
323634
323635       · #25808: (jfindlay) add highstate opts to  config/__init__.py,  update
323636         docs
323637
323638       · #25820: (sjorge) Prerequisite to fix the smartos libcrypto loading
323639
323640       · #25781: (anlutro) Fix iptables.build_rule
323641
323642       · #25764: (gtmanfred) allow use of cloudnetworks in ssh_interface
323643
323644       · #25736: (jfindlay) insert explicit formatter number
323645
323646       · #25742: (rallytime) Back-port #25731 to 2015.8
323647
323648       · #25741: (rallytime) Back-port #25727 to 2015.8
323649
323650       · #25712: (cachedout) Fix outputter for state.apply
323651
323652       · #25698: (rallytime) Back-port #25659 to 2015.8
323653
323654       · #25690: (anlutro) Fix highstate duration alignment (again)
323655
323656       · #25684: (davidjb) Fix doc around Include/Exclude for states
323657
323658       · #25549: (techhat) Switch Scaleway to salt.utils.cloud.bootstrap()
323659
323660       · #25667: (jfindlay) add 2015.8.0rc2 autogenerated changelog
323661
323662       · #25653: (anlutro) Properly align highstate duration sum
323663
323664       · #25663: (rallytime) Back-port #25638 to 2015.8
323665
323666       · #25639:  (terminalmage) Don't do pre-flight check on git_pillar if it
323667         is not configured
323668
323669       · #25587: (cachedout) Fix prereq in salt.state
323670
323671       · #25628: (anlutro) Highstate output: show duration in seconds  instead
323672         of milliseconds when appropriate
323673
323674       · #25631: (basepi) Remove trailing whitespace
323675
323676       · #25627: (basepi) [2015.8] Merge forward from 2015.5 to 2015.8
323677
323678       · #25626:  (basepi)  Fix  the  highstate outputter if 'duration' is not
323679         present
323680
323681       · #25601: (terminalmage) Fix error message when local bin pkg  path  is
323682         not absolute
323683
323684       · #25595:  (terminalmage)  Bring  git_pillar  up to feature parity with
323685         gitfs
323686
323687       · #25619: (cachedout) Lint stateconf changes
323688
323689       · #25578: (davidjb) Allow parent relative includes in state files
323690
323691       · #25610: (s0undt3ch) [2015.8] Update the bootstrap  script  to  latest
323692         release v2015.07.22
323693
323694       · #25599: (jfindlay) fix transport settings in #25596
323695
323696       · #25596: (jfindlay) Tcp test
323697
323698       · #25591:  (garethgreenaway)  Return  data for scheduled jobs in 2015.8
323699         default to True.
323700
323701       · #25588: (basepi) Fix some of the retcode work from #23105
323702
323703       · #25583: (jtand) Fixed lint error where pprint wasn't imported.
323704
323705       · #25572: (rallytime) Back-port #25570 to 2015.8
323706
323707       · #25575: (rallytime) Make Sure Scaleway driver works with  deprecation
323708         paths
323709
323710       · #25564: (basepi) [2015.8] Merge forward from 2015.5 to 2015.8
323711
323712       · #25566: (techhat) Fix download process for SPM repo updates
323713
323714       · #25553: (techhat) Switch SoftLayer to salt.utils.cloud.bootstrap()
323715
323716       · #25552: (techhat) Update pricing for SoftlayerHW
323717
323718       · #25547: (techhat) Switch Parallels to salt.utils.cloud.bootstrap()
323719
323720       · #25548: (techhat) Switch Proxmox to salt.utils.cloud.bootstrap()
323721
323722       · #25543: (techhat) Switch GCE to salt.utils.cloud.bootstrap()
323723
323724       · #25546: (techhat) Switch CloudStack to salt.utils.cloud.bootstrap()
323725
323726       · #25558: (cachedout) Lint config_test
323727
323728       · #25515: (s0undt3ch) salt.utils.schema fixes
323729
323730       · #25514:  (garethgreenaway)  fixes  to  schedule.add  documentation in
323731         2015.8
323732
323733       · #25508: (s0undt3ch) [2015.8] Update bootstrap script to latest stable
323734         release, v2015.07.17
323735
323736       · #25501:  (basepi)  Add  optional  job  end  time  to  the local_cache
323737         returner
323738
323739       · #25491: (s0undt3ch) Let's call it for what it is!
323740
323741       · #25462: (rallytime) Wrap is_profile_configrured calls  in  try/except
323742         block
323743
323744       · #25439: (rallytime) Reduce digital_ocean API call frequency
323745
323746       · #25451: (s0undt3ch) Salt-SSH Scan roster bugfixes (And Py3 support)
323747
323748       · #25449: (ruzarowski) Exclude dotfiles and directories from minion key
323749         lists (Fixes #25448)
323750
323751       · #25421: (basepi) [2015.8] Merge forward from 2015.5 to 2015.8
323752
323753       · #25412: (basepi) [2015.8] Merge forward from 2015.5 to 2015.8
323754
323755       · #25415: (bechtoldt) [docs] declare YAML as code block
323756
323757       · #25407: (rallytime) Back-port #23236 to 2015.8
323758
323759       · #25409: (rallytime) Back-port #24422 to 2015.8
323760
323761       · #25394: (rallytime) Back-port #25355 to 2015.8
323762
323763       · #25393: (rallytime) Back-port #25289 to 2015.8
323764
323765       · #25387: (cachedout) Lint #25319
323766
323767       · #25319:   (ruzarowski)   [cloud:EC2]   Move   SourceDest   logic   to
323768         _update_enis and add  alias for delete_interface_on_terminate
323769
323770       · #25310: (anlutro) Add an "is list" test to the jinja environment
323771
323772       · #25264: (ruzarowski) Fix AttributeError in fileserver update_opts
323773
323774       · #25372: (rallytime) Don't stacktrace when provisioning instances with
323775         softlayer* drivers
323776
323777       · #25315: (ruzarowski) [cloud:EC2] Move handling  of  AssociatePublicI‐
323778         pAddress  to  associate_eip/allocate_new_eip logic depending on value
323779         type
323780
323781       · #25312: (ruzarowski) [cloud:EC2] Introduce eni Name property  to  set
323782         name tag value after its creation
323783
323784       · #25311:  (ruzarowski)  [cloud:EC2]  Add ability to attach an existing
323785         eni
323786
323787       · #25280: (rallytime) Remove deprecation warnings for Beryllium
323788
323789       · #25329: (twangboy) Fixed some documentation errors
323790
323791       · #25300: (s0undt3ch) Fix ordering issue & Added requirements support
323792
323793       · #25283: (jfindlay) ensure ret is always defined
323794
323795       · #25252:  (jfindlay)  make  args  optional  with  default  values   in
323796         win_firewall.delete_rule
323797
323798       · #25257: (notpeter) Document SourceDestCheck added in #25242.
323799
323800       · #25298: (twangboy) Continue if profile not found
323801
323802       · #25296: (twangboy) Fixed file.comment for windows
323803
323804       · #25254:   (rallytime)  Change  versionadded/changed  references  from
323805         Beryllium to 2015.8.0
323806
323807       · #25285: (thusoy) Remove error logging of missing victorops keys
323808
323809       · #25266: (ruzarowski) cloud: EC2 eni  property  SourceDestCheck  is  a
323810         AttributeBooleanValue
323811
323812       · #25216: (jfindlay) replace shell code with native python code
323813
323814       · #25278:  (rallytime)  Don't  require  size for all cloud drivers when
323815         checking profile configs
323816
323817       · #25271: (basepi) [2015.8] Merge forward from 2015.5 to 2015.8
323818
323819       · #25263: (techhat) Allow non-standard HTTP requests on tornado
323820
323821       · #25253: (s0undt3ch) Remove the deprecation warning.  The  driver  has
323822         been renamed.
323823
323824       · #25248: (techhat) Do not resize while iterating
323825
323826       · #25244: (rallytime) Remove parted deprecations and fix failing tests
323827
323828       · #25242:  (ruzarowski)  Make SourceDestCheck flag available to network
323829         interface definition
323830
323831       · #25226: (nmadhok) Backporting fix for issue #25223 on 2015.8 branch
323832
323833       · #25234: (krak3n) Fix: Bug  in  boto_asg  state  argument  passing  to
323834         boto_asg module
323835
323836       · #25222: (rallytime) Back-port #25219 to 2015.8
323837
323838       · #25188:  (rallytime)  Use  linode status descriptions instead of ints
323839         when logging status to CLI
323840
323841       · #25203: (s0undt3ch) Added DictConfig with tests & More tests
323842
323843       · #25189: (basepi) [2015.8] Merge forward from 2015.5 to 2015.8
323844
323845       · #25184: (rallytime) Back-port #25126 to 2015.8
323846
323847       · #25172: (s0undt3ch) Comment out imports while the YAML and  RST  ren‐
323848         dering is not in-place.
323849
323850       · #25158: (s0undt3ch) Comment out not implemented code
323851
323852       · #25145:  (s0undt3ch)  Implement oneOf, anyOf, allOf and not with unit
323853         tests
323854
323855       · #25140: (s0undt3ch) Make the detection code work under Python 3.4
323856
323857       · #25131: (s0undt3ch) Array support in salt.utils.config
323858
323859       · #25130: (basepi) [2015.8] Merge forward from 2015.5 to 2015.8
323860
323861       The 2015.8.0 feature release of Salt contains several  major  new  fea‐
323862       tures.  As  usual  the  release  notes are not exhaustive and primarily
323863       include the most notable additions and improvements. Hundreds  of  bugs
323864       have  been  fixed  and many modules have been substantially updated and
323865       added.
323866
323867   New SaltStack Installation Repositories
323868       SaltStack now provides installation repositories for several platforms,
323869       with more to come.  See the following links for instructions:
323870
323871       · Red Hat / CentOS 5, 6, 7
323872
323873       · Debian 8
323874
323875       · Windows
323876
323877   Send Event on State Completion
323878       A  fire_event  global  state keyword argument was added that allows any
323879       state to send an event upon completion. Useful for custom progress bars
323880       and checking in on long state runs. See fire_event.
323881
323882   ZeroMQ socket monitoring
323883       If  zmq_monitor  is  enabled,  log all ZMQ events for socket monitoring
323884       purposes. Verbose, but useful.
323885
323886   SPM (Salt Package Manager)
323887       Allows Salt formulas to be packaged for ease of deployment. See spm.
323888
323889       NOTE:
323890          The spm executable was not included in the Debian or Ubuntu packages
323891          for  the  2015.8.0 or the 2015.8.1 releases. This executable will be
323892          included in an upcoming release.  As  a  workaround,  copy  the  SPM
323893          script  from  the  salt  library installation into /usr/local/bin or
323894          your local equivalent.
323895
323896   Specify a Single Environment for Top Files
323897       A new default_top option was added to load the state top  file  from  a
323898       single,  specific  environment, rather than merging top data across all
323899       environments. Additionally, new top_file_merge_strategy  and  env_order
323900       options  were added for more control over top file merging. See The Top
323901       File.
323902
323903   Tornado TCP Transport
323904       Implemented a pure-TCP transport, in addition to ZeroMQ and  RAET.  The
323905       new transport uses Tornado, which allows Salt to use a standardized set
323906       of libraries for asynchronous behavior, which  should  greatly  improve
323907       reliability and performance.
323908
323909       NOTE:
323910          Tornado  is  considered  expiremental in this release. The following
323911          known issues were being investigated at the time of release:
323912
323913          · TCP tests show performance degredation over time (issue #26051)
323914
323915          · TCP transport stacktrace on windows minion: Future  exception  was
323916            never retrieved (issue #25718)
323917
323918          · [freebsd] TCP transport not working in 2015.8.0rc3 (issue #26364)
323919
323920   Proxy Minion Enhancements
323921       Proxy  Minions  have  undergone  a  significant overhaul in 2015.8, see
323922       Proxy Minion Enhancements.
323923
323924   Engines
323925       Salt engines are long-running, external processes that  leverage  Salt.
323926       See Salt Engines.
323927
323928   Core Changes
323929       · Add  system  version  info  to versions_report, which appears in both
323930         salt --versions-report and salt '*' test.versions_report. Also  added
323931         is an alias test.versions to test.versions_report. (issue #21906)
323932
323933       · Add  colorized  console  logging support.  This is activated by using
323934         %(colorlevel)s,  %(colorname)s,  %(colorprocess)s,  %(colormsg)s   in
323935         log_fmt_console  in the config file for any of salt-master, salt-min‐
323936         ion, and salt-cloud.
323937
323938   Git Pillar
323939       The git external pillar has been rewritten to bring it  up  to  feature
323940       parity  with gitfs. Support for pygit2 has been added, bringing with it
323941       the ability to access authenticated repositories.
323942
323943       Using the new features will require updates to the git ext_pillar  con‐
323944       figuration, further details can be found in the pillar.git_pillar docs.
323945
323946   Salt Cloud Improvements
323947       · Pricing  data  from several cloud providers (GCE, DigitalOcean, Soft‐
323948         Layer_HW, EC2)
323949
323950       · All cloud providers now use standardized bootstrapping code.
323951
323952       · Modified the Linode Salt Cloud driver  to  use  Linode's  native  API
323953         instead of depending on apache-libcloud or linode-python.
323954
323955   Salt Cloud Changes
323956       · Changed  the  default behavior of rename_on_destroy to be set to True
323957         in the EC2 and AWS drivers.
323958
323959       · Changed the default behavior of the EC2 and  AWS  drivers  to  always
323960         check  for  duplicate  names of VMs before trying to create a new VM.
323961         Will now throw an error similarly to other  salt-cloud  drivers  when
323962         trying to create a VM of the same name, even if the VM is in the ter‐
323963         minated state.
323964
323965       · When querying for VMs in  digital_ocean.py,  the  number  of  VMs  to
323966         include  in a page was changed from 20 (default) to 200 to reduce the
323967         number of API calls to Digital Ocean.Ocean.
323968
323969   State and Execution Module Improvements
323970       · New and improved Docker state and execution modules (state and execu‐
323971         tion module).
323972
323973   Git State and Execution Modules Rewritten
323974       The  git  state  and  execution  modules have gone through an extensive
323975       overhaul.
323976
323977   Changes in the git.latest State
323978       · The branch argument has been added, allowing for a custom branch name
323979         to  be used in the local checkout maintained by the git.latest state.
323980         This can be helpful in avoiding ambiguous refs in the local  checkout
323981         when  a  tag  is used as the rev argument. If no branch is specified,
323982         then the state uses the value of rev as the branch name.
323983
323984       · The always_fetch argument no longer  has  any  effect,  and  will  be
323985         removed  in  a future release. The state now detects whether or not a
323986         fetch is needed based on  comparisons  made  between  the  local  and
323987         remote repositories.
323988
323989       · The force_fetch argument has been added to force a fetch if the fetch
323990         is not a fast-forward (for instance, if someone has done a reset  and
323991         force-pushed to the remote repository).
323992
323993       · The remote_name argument has been deprecated and renamed to remote.
323994
323995       · The  force argument has been deprecated and renamed to force_clone to
323996         reduce ambiguity with the other "force" arguments.
323997
323998       · Using SHA1 hashes (full or shortened) in  the  rev  argument  is  now
323999         properly supported.
324000
324001       · Non-fast-forward  merges  are  now  detected before the repository is
324002         updated, and the state will not update the repository if  the  change
324003         is  not  a  fast-forward. Non-fast-forward updates must be overridden
324004         with the force_reset argument. If force_reset is  set  to  True,  the
324005         state  will only reset the repository if it cannot be fast-forwarded.
324006         This is in contrast to the earlier behavior, in  which  a  hard-reset
324007         would  be  performed  every time the state was run if force_reset was
324008         set to True.
324009
324010       · A git pull is no longer performed by this state, dropped in favor  of
324011         a fetch-and-merge (or fetch-and-reset) workflow.
324012
324013   git.config_unset state added
324014       This  state  allows  for  configuration  values  (or entire keys) to be
324015       unset. See here for more information and example SLS.
324016
324017   git.config State Renamed to git.config_set
324018       To  reduce  confusion  after  the  addition  of  git.config_unset,  the
324019       git.config state has been renamed to git.config_set. The old config.get
324020       name will still work for a couple releases, allowing time for SLS files
324021       to be updated.
324022
324023       In  addition,  this state now supports managing multivar git configura‐
324024       tion values. See here for more information and example SLS.
324025
324026   Initial Support for Git Worktrees in Execution Module
324027       Several functions have been added to the  execution  module  to  manage
324028       worktrees  (a  feature  new to Git 2.5.0). State support does not exist
324029       yet, but will follow soon.
324030
324031   New Functions in Git Execution Module
324032       · git.config_get_regexp
324033
324034       · git.config_unset
324035
324036       · git.is_worktree
324037
324038       · git.list_branches
324039
324040       · git.list_tags
324041
324042       · git.list_worktrees
324043
324044       · git.merge_base
324045
324046       · git.merge_tree
324047
324048       · git.rev_parse
324049
324050       · git.version
324051
324052       · git.worktree_rm
324053
324054       · git.worktree_add
324055
324056       · git.worktree_prune
324057
324058   Changes to Functions in Git Execution Module
324059   git.add
324060       · --verbose is now implied when running the git add command, to provide
324061         a list of the files added in the return data.
324062
324063   git.archive
324064       · Now  returns  True  when  the git archive command was successful, and
324065         otherwise raises an error.
324066
324067       · The overwrite argument has been added to prevent an existing  archive
324068         from being overwritten by this function.
324069
324070       · The fmt argument has been deprecated and renamed to format.
324071
324072       · Trailing slash no longer implied in prefix argument, must be included
324073         if this argument is passed.
324074
324075   git.checkout
324076       · The rev argument is now optional when using -b or -B in opts,  allow‐
324077         ing  for a branch to be created (or reset) using HEAD as the starting
324078         point.
324079
324080   git.clone
324081       · The name argument has been added to specify the name of the directory
324082         in  which  to clone the repository. If this option is specified, then
324083         the clone will be made within the directory  specified  by  the  cwd,
324084         instead of at that location.
324085
324086       · The repository argument has been deprecated and renamed to url.
324087
324088   git.config_get
324089       · The setting_name argument has been deprecated and renamed to key.
324090
324091       · The  global argument has been added, to query the global git configu‐
324092         ration
324093
324094       · The all argument has been added to return a list of  all  values  for
324095         the  specified  key,  allowing  for  all  values  in a multivar to be
324096         returned.
324097
324098       · The cwd argument is now optional if global is set to True
324099
324100   git.config_set
324101       · The value(s) of the key being set are now returned
324102
324103       · The setting_name argument has been deprecated and renamed to key.
324104
324105       · The setting_value argument has been deprecated and renamed to value.
324106
324107       · The is_global argument has been deprecated and renamed to global.
324108
324109       · The multivar argument has been added to specify a list of  values  to
324110         set  for the specified key. The value argument is not compatible with
324111         multivar.
324112
324113       · The add argument has been added to add a value to a key (this  essen‐
324114         tially  just  adds  an --add to the git config command that is run to
324115         set the value).
324116
324117   git.fetch
324118       · The force argument has been added to force the fetch when it is not a
324119         fast-forward. This could have been achieved in previous Salt versions
324120         by including --force in the opts argument, this argument is just  for
324121         convenience  and  to  match  the  usage of other functions with force
324122         arguments.
324123
324124       · The refspecs argument has been added to allow for one  or  more  ref‐
324125         specs  to  be  provided  which  override  the one(s) specified by the
324126         remote.remote_name.fetch git configuration option.
324127
324128   git.ls_remote
324129       · The repository argument has been deprecated and renamed to remote.
324130
324131       · The branch argument has been deprecated and renamed to ref.
324132
324133       · The opts argument has been added to allow for additional CLI  options
324134         to be passed to the git ls-remote command.
324135
324136   git.merge
324137       · The branch argument has been deprecated and renamed to rev.
324138
324139   git.status
324140       · Return  data  has  been  changed from a list of lists to a dictionary
324141         containing lists of  files  in  the  modified,  added,  deleted,  and
324142         untracked states.
324143
324144   git.submodule
324145       · Added  the command argument to allow for operations other than update
324146         to be run on submodules, and deprecated the init argument.  To  do  a
324147         submodule  update  with  init=True moving forward, use command=update
324148         opts='--init'.
324149
324150       · OpenStack Glance API V2 execution module
324151
324152       · Amazon VPC state module
324153
324154       · RallyDev execution module
324155
324156       · BambooHR execution module
324157
324158       · Stormpath execution, state modules
324159
324160       · Remove unused argument timeout in jboss7.status.
324161
324162       · Deprecate enabled argument in pkgrepo.managed in favor of disabled.
324163
324164       · Archive module changes: In the archive.tar and archive.cmd_unzip mod‐
324165         ule  functions,  remove the arbitrary prefixing of the options string
324166         with -. An options string beginning with a --long-option, would  have
324167         uncharacteristically  needed  its  first  -  removed under the former
324168         scheme.  Also, tar  will  parse  its  options  differently  if  short
324169         options  are  used  with or without a preceding -, so it is better to
324170         not confuse the user into thinking they're using the non-  -  format,
324171         when really they are using the with- - format.
324172
324173       · Added  __states__  to  state  modules, for cross-calling states. This
324174         enables using existing states when writing custom states.  See  cross
324175         calling states.
324176
324177   Windows Improvements
324178       · Enhanced  the  windows  minion  silent installation with command line
324179         parameters to configure the salt master and minion name.  See  Silent
324180         Installer Options.
324181
324182       · Improved  user  management  with  additional capabilities in the user
324183         module for Windows.
324184
324185       · Improved patch management with a  new  module  for  managing  windows
324186         updates (win_wua).
324187
324188       · Turned  on multi-processing by default for windows in minion configu‐
324189         ration.
324190
324191   Windows Software Repo Changes
324192       A next-generation (ng) windows software repo is available for  2015.8.0
324193       and  later  minions.  When using this new repository, the repo cache is
324194       compiled on the Salt Minion, which enables  pillar,  grains  and  other
324195       things to be available during compilation time.
324196
324197       See the Windows Software Repository documentation for more information.
324198
324199   Changes to legacy Windows repository
324200       If  you  have pre 2015.8 Windows minions connecting to your 2015.8 Salt
324201       master, you can continue to use the legacy Windows repository for these
324202       Salt minions.
324203
324204       If  you  were previously using this repository and have customized set‐
324205       tings, be aware that several config options have been renamed  to  make
324206       their naming more consistent.
324207
324208       See the Windows Software Repository documentation for more information.
324209
324210   Win System Module
324211       The  unit of the timeout parameter in the system.halt, system.poweroff,
324212       system.reboot,  and system.shutdown functions  has  been  changed  from
324213       seconds  to  minutes  in  order to be consistent with the linux timeout
324214       setting. (issue #24411)  Optionally, the unit can be reverted  to  sec‐
324215       onds by specifying in_seconds=True.
324216
324217   Other Improvements
324218       · Sanitize sensitive fields in http.query
324219
324220       · Allow authorization to be read from Django and eauth
324221
324222       · Add templating to SMTP returner
324223
324224       · New REST module for SDB
324225
324226       · Added  rest_timeout  config  option  and timeout argument to jobs api
324227         call
324228
324229       · Provide config options for Raet lane and road buffer  count.  (Useful
324230         for BSD kernels)
324231
324232       · Implemented ZeroMQ socket monitor for master and minion
324233
324234       · Add end time to master job cache for jobs (optional, off by default)
324235
324236       · Tornado is now the default backend for http.request
324237
324238       · Support pillarenv selection as it's done for saltenv
324239
324240       · salt  was  updated  to use python-crypto version 2.6.1, which removes
324241         the dependency on python-m2crypto.
324242
324243   Deprecations
324244       · The digital_ocean.py Salt Cloud driver was removed in  favor  of  the
324245         digital_ocean_v2.py  driver  as  DigitalOcean has removed support for
324246         APIv1.  The digital_ocean_v2.py was renamed to  digital_ocean.py  and
324247         supports DigitalOcean's APIv2.
324248
324249       · The  vsphere.py Salt Cloud driver has been deprecated in favor of the
324250         vmware.py driver.
324251
324252       · The openstack.py Salt Cloud driver has been deprecated  in  favor  of
324253         the nova.py driver.
324254
324255       · The  use  of  provider  in  Salt Cloud provider files to define cloud
324256         drivers has been deprecated in favor of using driver. Both terms will
324257         work until the 2017.7.0 release of Salt. Example provider file:
324258
324259          my-ec2-cloud-config:
324260            id: 'HJGRYCILJLKJYG'
324261            key: 'kdjgfsgm;woormgl/aserigjksjdhasdfgn'
324262            private_key: /etc/salt/my_test_key.pem
324263            keyname: my_test_key
324264            securitygroup: default
324265            driver: ec2
324266
324267       · The  use  of  lock  has  been  deprecated  and from salt.utils.fopen.
324268         salt.utils.flopen should be used instead.
324269
324270       · The   following   args   have   been   deprecated   from   the   rab‐
324271         bitmq_vhost.present state: user, owner, conf, write, read, and runas.
324272
324273       · The  use  of runas has been deprecated from the rabbitmq_vhost.absent
324274         state.
324275
324276       · Support for output in mine.get was  removed.  --out  should  be  used
324277         instead.
324278
324279       · The  use  of  delim  was  removed from the following functions in the
324280         match execution module: pillar_pcre, pillar, grain_pcre,
324281
324282   Security Fixes
324283       CVE-2015-6918 - Git modules leaking HTTPS auth credentials to debug log
324284
324285       Updated the Git state and execution modules to no longer display  HTTPS
324286       basic  authentication  credentials in loglevel debug output on the Salt
324287       master. These credentials are now replaced with REDACTED in  the  debug
324288       output. Thanks to Andreas Stieger <asteiger@suse.com> for bringing this
324289       to our attention.
324290
324291   Major Bug Fixes
324292       · Fixed minion failover to next master on DNS errors (issue #21082)
324293
324294       · Fixed memory consumption in SaltEvents (issue #25557)
324295
324296       · Don't lookup outside system path in which() util (issue #24085)
324297
324298       · Fixed broken jobs rest api call (issue #23408)
324299
324300       · Fixed stale grains data using in modules (issue #24073)
324301
324302       · Added ssh_identities_only config flag for ssh-agent configured  envi‐
324303         ronments (issue #24096)
324304
324305       · Fixed  "object  has  no  attribute"  errors for Raet transport (issue
324306         #21640)
324307
324308       · Flush event returners before master exit (issue #22814)
324309
324310       · Fix CommandExecutionError in grains generation with lspci missing  (‐
324311         issue #23342)
324312
324313       · Fix  salt-ssh  against  CentOS 7 when python-zmq not installed (issue
324314         #23503)
324315
324316       · Fix salt-ssh issues related to out-of-date six module (issue #20949)
324317
324318       · Fix salt-ssh thin generation after previous run  was  interrupted  (‐
324319         issue #24376)
324320
324321       · Use  proper line endings on Windows with "file.managed" w/contents (‐
324322         issue #25675)
324323
324324       · Fixed broken comment/uncomment functions in file.py (issue #24620)
324325
324326       · Fixed problem with unicode when changing computer description  (issue
324327         #12255)
324328
324329       · Fixed problem with chocolatey module not loading (issue #25717)
324330
324331       · Fixed  problem  adding users to groups with spaces in the name (issue
324332         #25144)
324333
324334       · Fixed problem adding full name to user account (issue #25206)
324335
324336       · Fixed gem module stack trace (issue #21041)
324337
324338       · Fixed problem with file.managed when test=True (issue #20441)
324339
324340       · Fixed problem with powershell hanging while waiting for user input (‐
324341         issue #13943)
324342
324343       · Fixed  problem  where  the salt-minion service would not consistently
324344         start (issue #25272)
324345
324346       · Fixed problem where pkg.refresh_db would return True even  when  win‐
324347         repo.p was not found (issue #18919)
324348
324349       · Could someone please provide end to end example for Proxy Minion with
324350         REST (issue #25500)
324351
324352       · Proxy minions  stopped  working  between  2014.7  and  2015.5  (issue
324353         #25053)
324354
324355       · Proxy  minion  documentation  includes  outdated  code  sample (issue
324356         #24018)
324357
324358       · Proxy Minion documentation missing grains example (issue #18273)
324359
324360       · Improve process management in proxy minion (issue #12024)
324361
324362       · Proxy minion never comes up with message ' I am XXX and I am not sup‐
324363         posed to start any proxies.' (issue #25908)
324364
324365       · Fixed  an  issue  that  caused an exception when using Salt mine from
324366         pillar. (issue #11509)
324367
324368   Salt 2015.8.1 Release Notes
324369       Version 2015.8.1 is a bugfix release for 2015.8.0.
324370
324371   Statistics
324372       · Total Merges: 201
324373
324374       · Total Issue References: 39
324375
324376       · Total PR References: 135
324377
324378       · Contributors:  40  (DmitryKuzmenko,  The-Loeki,  TheBigBear,  basepi,
324379         bechtoldt,  bernieke,  blueyed,  cachedout,  cedwards,  clinta,  cro,
324380         deuscapturus,  dmurphy18,   dsumsky,   eliasp,   flowhamster,   isbm,
324381         jacksontj,  jacobhammons,  jfindlay,  justinta, l2ol33rt, macgyver13,
324382         meggiebot,   msteed,   multani,   nasenbaer13,   perfinion,   pprkut,
324383         rallytime,    rhealitycheck,    ruzarowski,   ryan-lane,   s0undt3ch,
324384         systembell, techhat, terminalmage, ticosax, twangboy, whiteinge)
324385
324386   Security Fixes
324387       CVE-2015-6941 The Windows user module and salt-cloud display  passwords
324388       in log when log level is set to debug or more verbose.
324389
324390       For  the  Windows  user  module,  the password is now replaced with the
324391       string XXX-REDACTED-XXX.
324392
324393       For salt-cloud, debug  logging  no  longer  displays  win_password  and
324394       sudo_password authentication credentials.
324395
324396       CVE-2015-6918  Git  state/execution  modules log HTTPS auth credentials
324397       when log level is set to debug or more verbose.
324398
324399       These credentials are now replaced with REDACTED in the  debug  output.
324400       Thanks  to Andreas Stieger <asteiger@suse.com> for bringing this to our
324401       attention.
324402
324403   Major Bug Fixes
324404       · Add support for spm.d/*.conf configuration of SPM (issue #27010)
324405
324406       · Fix proxy grains breakage for non-proxy minions (issue #27039)
324407
324408       · Fix global key management for git state
324409
324410       · Fix passing http auth to util.http from state.file (issue #21917)
324411
324412       · Fix multiprocessing: True in windows (on by default`)
324413
324414       · Add pkg.info to pkg modules
324415
324416       · Fix name of serial grain (this was accidentally renamed in 2015.8.0`)
324417
324418       · Merge config values from master.d/minion.d conf  files  (rather  than
324419         flat update`)
324420
324421       · Clean grains cache on grains sync (issue #19853)
324422
324423       · Remove  streamed  response  for  fileclient to avoid HTTP redirection
324424         problems (issue #27093)
324425
324426       · Fixed incorrect warning about osrelease grain (issue #27065)
324427
324428       · Fix authentication via Salt-API with tokens (issue #27270)
324429
324430       · Fix winrepo downloads from https locations (issue #27081)
324431
324432       · Fix potential error with salt-call as non-root user (issue #26889)
324433
324434       · Fix global minion provider overrides (issue #27209)
324435
324436       · Fix backward compatibility issues for pecl modules
324437
324438       · Fix Windows  uninstaller  to  only  remove  ./bin,  salt*,  nssm.exe,
324439         uninst.exe (issue #27383)
324440
324441       · Fix misc issues with mongo returner.
324442
324443       · Add sudo option to cloud config files (issue #27398)
324444
324445       · Fix regression in RunnerClient argument handling (issue #25107)
324446
324447       · Fix dockerng.running replacing creation hostconfig with runtime host‐
324448         config (issue #27265)
324449
324450       · Fix dockerng.running replacing creation hostconfig with runtime host‐
324451         config (issue #27265)
324452
324453       · Increased  performance on boto asg/elb states due to __states__ inte‐
324454         gration
324455
324456       · Windows minion  no  longer  requires  powershell  to  restart  (issue
324457         #26629)
324458
324459       · Fix x509 module to support recent versions of OpenSSL (issue #27326)
324460
324461       · Some issues with proxy minions were corrected.
324462
324463   Known Issues
324464       · Proxy minions currently cannot execute a highstate because of the way
324465         the proxymodule is being loaded internally.  This will be fixed in  a
324466         future release.
324467
324468   Changelog for v2015.8.0..v2015.8.1
324469       Generated at: 2018-05-27 22:48:32 UTC
324470
324471       · PR  #27588:  (jfindlay)  add  autogenerated  2015.8.1 release notes @
324472         2015-10-01 04:52:32 UTC
324473
324474         · 87d86e4b3e Merge pull request #27588 from jfindlay/2015.8
324475
324476         · f2eb20f26b add autogenerated 2015.8.1 release notes
324477
324478       · PR #27584: (jacobhammons) added  changes  list  to  2015.8.1  release
324479         notes @ 2015-10-01 04:32:47 UTC
324480
324481         · f7510baf33    Merge    pull    request    #27584   from   jacobham‐
324482           mons/release-notes
324483
324484         · ee4a3b3549 added changes list for 2015.8.1
324485
324486       · ISSUE #27532: (centromere) salt-cloud does not  recognize  terminated
324487         instances (refs: #27575)
324488
324489       · PR  #27575:  (rallytime)  Don't  report existing instances as running
324490         only if they're actually terminated in EC2 @ 2015-09-30 22:17:24 UTC
324491
324492         · 1a31b19f15 Merge pull request #27575 from rallytime/fix-27532
324493
324494         · 57c6535fc2 Make sure message is the most accurate. Instance may  be
324495           stopped or shutting down.
324496
324497         · da6b4b3604  Don't  report  existing  instances  as  running only if
324498           they're actually terminated
324499
324500       · ISSUE #27290: (pirogoeth) Grains set in minion_opts do not appear  in
324501         a call to grains.items. (refs: #27573)
324502
324503       · PR  #27573: (basepi) [2015.8] Use the custom yaml serializer for min‐
324504         ion_opts for salt-ssh @ 2015-09-30 21:16:22 UTC
324505
324506         · bee78a4e5c      Merge      pull      request      #27573       from
324507           basepi/salt-ssh.grains.minion_opts.27290
324508
324509         · 0785438b3f  Use  the  custom  yaml  serializer  for minion_opts for
324510           salt-ssh
324511
324512       · ISSUE #27326: (ralphvanetten) Signing the X509  CA  certificate  does
324513         not work on Debian 8 (refs: #27514)
324514
324515       · PR  #27514: (clinta) Recent Versions of OpenSSL don't allow importing
324516         incomplete PEMs @ 2015-09-30 19:33:12 UTC
324517
324518         · a4a53ecff5 Merge pull request #27514 from clinta/2015.8-27326
324519
324520         · 515e62bfa7 change "None" to empty string
324521
324522         · 2989f24169 fix 27326 and fix minor errors in docs.
324523
324524       · PR #27564: (jacobhammons) Man pages @ 2015-09-30 19:29:37 UTC
324525
324526         · 6cf0228adc Merge pull request #27564 from jacobhammons/man-pages
324527
324528         · cc37dc1087 updated version in salt.7
324529
324530         · a9dcb23a13 regenerated man pages for 2015.8.1
324531
324532       · ISSUE #26629: (efficks) Windows minion: Remove  powershell  dependen‐
324533         cies (refs: #27522)
324534
324535       · PR  #27522:  (twangboy)  Removed  dependency on powershell to restart
324536         salt-minion @ 2015-09-30 16:19:29 UTC
324537
324538         · fd11e0cd95 Merge pull request #27522 from twangboy/fix_26629
324539
324540         · 163c54505d Fixed tests... hopefully
324541
324542         · dc8c01ed07 Fixed some lint
324543
324544         · 2cb0f12696 Removed dependency on powershell to restart salt-minion
324545
324546       · PR #27550: (rallytime) [2015.8] Clean up salt-cloud logging and  make
324547         it more useful @ 2015-09-30 15:48:53 UTC
324548
324549         · eb76531e96 Merge pull request #27550 from rallytime/cloud-logging
324550
324551         · 9e0fccd543  Don't  commit  private-ip  changes from testing another
324552           bug...
324553
324554         · 78c85fbb31 Add unit tests for new recursive function
324555
324556         · d9a2dc6bc5 [2015.8] Clean up salt-cloud logging and  make  it  more
324557           useful
324558
324559       · ISSUE   #27281:  (lrhazi)  Wrong  path  for  yum  repo  in  installa‐
324560         tion-rhel-repo (refs: #27517)
324561
324562       · ISSUE #27179: (samhamilton) Debian  Install  Instructions  Shows  Two
324563         Different Repos (refs: #27517)
324564
324565       · PR  #27517: (jacobhammons) Updated install docs @ 2015-09-30 15:19:51
324566         UTC
324567
324568         · 1f7ea7c764 Merge pull request #27517 from jacobhammons/install-docs
324569
324570         · 167fd2304e Fixed a duplicated link ID
324571
324572         · c05fa71f91 Updated install docs Refs #27281 Refs #27179
324573
324574       · PR #27526: (eliasp) Add missing newlines before param listing to  fix
324575         doc rendering @ 2015-09-30 15:19:04 UTC
324576
324577         · 2a4c11ae24   Merge  pull  request  #27526  from  eliasp/2015.8-mod‐
324578           ules.slack_notify-doc-params
324579
324580         · 204e66943f Add missing newlines before param  listing  to  fix  doc
324581           rendering
324582
324583       · PR  #27525:  (basepi)  [2015.8] Merge forward from 2015.5 to 2015.8 @
324584         2015-09-30 03:38:22 UTC
324585
324586         · e5de9409c2  Merge  pull  request  #27525   from   basepi/merge-for‐
324587           ward-2015.8
324588
324589         · 1f3eb1c526 Remove useless mocked unit test
324590
324591         · 73b90f155e  Merge  remote-tracking  branch  'upstream/2015.5'  into
324592           merge-forward-2015.8
324593
324594           · 6d773f66c3  Merge  pull  request  #27516  from  basepi/merge-for‐
324595             ward-2015.5
324596
324597             · a08951f0fa  Merge remote-tracking branch 'upstream/2014.7' into
324598               merge-forward-2015.5
324599
324600             · 5262f01325 Merge pull request #27335 from  rallytime/cloud-log‐
324601               ging-7
324602
324603               · adeb1dcad4 Pylint Fix
324604
324605               · 588c13783c Salt-cloud logging clean up for windows functions
324606
324607               · 9b6000135c [2014.7] Fixup salt-cloud logging
324608
324609           · 68d784c3dd Merge pull request #27472 from cachedout/fix_27447
324610
324611             · 5e745ad6da  Change  recommeded  schema  for data field in mysql
324612               event table
324613
324614           · ee6e0ed057 Merge pull request #27468 from cachedout/fix_27351
324615
324616             · 0bc37c0d41 Fix test
324617
324618             · f9a19720de fix sysctl truncating newline on os x
324619
324620           · a214c7f84e Merge pull request #27479 from aboe76/fix_locale_suse
324621
324622             · a8f2dad1be fix locale on opensuse and suse #27438
324623
324624           · 931f593b51 Merge pull request #27483 from rallytime/fix-17103
324625
324626             · 441241eb90 Change sync_outputters to  sync_output  for  consis‐
324627               tency, but alias sync_outputters
324628
324629             · 105528720b Outputters should sync to output, not outputters, on
324630               the minion.
324631
324632           · 9c2c028953   Merge    pull    request    #27484    from    rally‐
324633             time/bp-27434-and-27470
324634
324635             · 5de2ee35ab Minor doc fixup.
324636
324637             · af656c7e87 Doc: copy key to server via ssh-copy-id
324638
324639           · 927874d316 Merge pull request #27469 from twangboy/fix_27433
324640
324641             · a996ea46e2 Added quotes to version numbers example
324642
324643           · 382a53403f Merge pull request #27467 from cachedout/lint_27375
324644
324645             · 4e54a98f5e Lint #27375
324646
324647             · 278ade52d2 file.managed: check contents_{pillar|grain} result
324648
324649           · ed6207a438 Merge pull request #27419 from rallytime/fix-9856
324650
324651             · 551396564a  Ammend error log to include multiple tips for trou‐
324652               bleshooting.
324653
324654           · 73fa89edf7 Merge pull request #27426 from rallytime/fix-16753
324655
324656             · f6cbd81e66 Don't stacktrace if there are conflicting id  errors
324657               in highstate
324658
324659           · 5dd1b70475    Merge    pull    request    #27408    from   rally‐
324660             time/fix-27406-for-2015.5
324661
324662             · 39a4ae5a6c Remove hdd: 19 refs from SL docs - no longer  avail‐
324663               able from SoftLayer.
324664
324665             · de2f9234d3 Use correct default for bandwith
324666
324667             · 42d8127f79  Don't  set the optional_products default to a bool‐
324668               ean, and then try to loop.
324669
324670             · 9d8a3d8303 Fix avail_locations function  for  the  softlayer_hw
324671               driver in 2015.5
324672
324673           · 8f9a3cfbaf    Merge    pull   request   #27410   from   jacobham‐
324674             mons/doc-updates
324675
324676             · a9fdecada1 Fix css  layout  Refs  #27389  sample  typo  fix  in
324677               linux_acl additional module folders listed in dynamic-modules
324678
324679           · 3746085587  Merge  pull  request #27336 from rallytime/cloud-log‐
324680             ging-five
324681
324682             · 7956b36076 [2015.5] Fixup salt-cloud logging
324683
324684           · 5a3be10a3e   Merge   pull   request   #27358    from    lorengor‐
324685             don/escape-search-replacement-text
324686
324687             · 88bb1fbfff Escape search replacement text, fixes #27356
324688
324689           · 6759f79d6d    Merge    pull    request    #27345    from   rally‐
324690             time/docs-for-19236
324691
324692             · 1d3925bbfb Added version tag for ex_disk_type option
324693
324694             · f23369300c Allow use of rst header links by separating  options
324695               out from yaml example
324696
324697           · c2efb291e2      Merge      pull      request      #26903     from
324698             bersace/fix-defaults-modules
324699
324700             · 474d7afc95 fixup! Review defaults loading
324701
324702             · 36141d226e fixup! Review defaults loading
324703
324704             · 62b6495358 fixup! Review defaults loading
324705
324706             · cf0624e8b8 fixup! Review defaults loading
324707
324708             · 2c58bab977 fixup! Review defaults loading
324709
324710             · 82c5b1d8fd Review defaults loading
324711
324712           · a372466922 Merge pull request #27317 from efficks/fix27316
324713
324714             · bf216c101e State unzip should  use  unzip  command  instead  of
324715               unzip_cmd. Issue #27316
324716
324717           · bd3771e80f Merge pull request #27309 from rallytime/fix-15514
324718
324719             · 9383d91ff8  Change  a value list to a comma-separated string in
324720               boto_route53.present
324721
324722           · b5fe944875 Merge pull request #27311 from jfindlay/maxoc
324723
324724             · 8ec2e921bd discuss replacement occurrences in file doc
324725
324726       · PR #27513: (terminalmage) Fix integration tests for worktree addition
324727         in git >= 2.6 @ 2015-09-29 18:39:19 UTC
324728
324729         · 0e37fb3bd3  Merge  pull  request #27513 from terminalmage/fix-work‐
324730           tree-tests
324731
324732         · 519bdd6438 Fix integration tests for worktree addition  in  git  >=
324733           2.6
324734
324735       · PR  #27510:  (rallytime)  Merge  #27475  with test fixes @ 2015-09-29
324736         18:34:32 UTC
324737
324738         · PR #27475: (ryan-lane) Use  __states__  for  calls  to  other  boto
324739           states (refs: #27510)
324740
324741         · e974a3c8aa     Merge    pull    request    #27510    from    rally‐
324742           time/ryan-lane-test-fix
324743
324744         · cae2c4e715 Syntax fix
324745
324746         · 458547ba03 Fix test failures for boto __state__ changes
324747
324748         · 5e25454fc1 Followups for using __states__
324749
324750         · a01f8ac62c Use __states__ for calls to other boto states
324751
324752       · ISSUE #27265: (Arabus) State: dockerng.running;  creation  hostconfig
324753         replaced  with  runtime  hostconfig when using runtime options (refs:
324754         #27451)
324755
324756       · PR #27451: (ticosax) [dockerng]  Enforce  usage  of  host_config  and
324757         require docker-py>=1.4.0 @ 2015-09-29 15:51:28 UTC
324758
324759         · d85b0cbd69   Merge   pull   request   #27451   from   ticosax/dock‐
324760           erng-host-config-support
324761
324762         · b184faa55b   Enforce   usage    of    host_config    and    require
324763           docker-py>=1.4.0
324764
324765       · PR  #27461:  (cachedout) Only clean context if it exists @ 2015-09-29
324766         15:49:52 UTC
324767
324768         · e8f58a6a3f Merge  pull  request  #27461  from  cachedout/clean_con‐
324769           text_ioloop
324770
324771         · 7367a4e32b Only clean context if it exists
324772
324773       · ISSUE  #27220:  (TheBigBear)  [ERROR    ] Exception 'close_fds is not
324774         supported on Windows platforms if you  redirect  stdin/stdout/stderr'
324775         (refs: #27473)
324776
324777       · PR  #27473: (terminalmage) salt.utils.gitfs: Don't use close_fds=True
324778         on Windows @ 2015-09-29 15:34:03 UTC
324779
324780         · 25a30a5621 Merge pull request #27473 from terminalmage/issue27220
324781
324782         · fa70ef2e31 salt.utils.gitfs: Don't use close_fds=True on Windows
324783
324784       · PR #27496: (blueyed) Fix version reporting of gitpython @  2015-09-29
324785         15:31:48 UTC
324786
324787         · 3807cd5c4e   Merge   pull   request  #27496  from  blueyed/fix-git‐
324788           python-version
324789
324790         · d8969363c8 Fix version reporting of gitpython
324791
324792       · PR #27502: (ticosax) Add test to check we don't call inspect_image on
324793         absent images.  @ 2015-09-29 15:15:09 UTC
324794
324795         · PR  #25162:  (ticosax)  [dockerng]  Do not call inspect_image if we
324796           know the image is not downloaded (refs: #27502)
324797
324798         · 057fd0729d   Merge   pull   request   #27502   from   ticosax/back‐
324799           port-test-from-develop
324800
324801         · fadd9bd43e  Add test to check we don't call inspect_image on absent
324802           images.
324803
324804       · PR  #27497:  (blueyed)  dockerng:  fix  image_present   for   forced,
324805         non-existent image @ 2015-09-29 13:49:46 UTC
324806
324807         · f3da6e4bb3   Merge   pull   request   #27497   from   blueyed/dock‐
324808           erng-fix-404-private-forced
324809
324810         · e3c66cea3a dockerng: fix  image_present  for  forced,  non-existent
324811           image
324812
324813       · ISSUE  #27205: (msummers42) In git.config_set state CommandExecution‐
324814         Error occurs when global=True when using salt 2015.8.0 (refs: #27411)
324815
324816       · PR  #27411:  (terminalmage)  Fix  invocation  of  git.config_get  and
324817         git.config_set @ 2015-09-28 22:53:01 UTC
324818
324819         · 284984e6ba Merge pull request #27411 from terminalmage/issue27205
324820
324821         · c3a17ae992 add missing commas
324822
324823         · f2751ef7c4 Fix shadowed outer-scope attributes
324824
324825         · 81a6c27010 Fix invocation of git.config_get and git.config_set
324826
324827       · ISSUE  #27217: (nasenbaer13) Gitfs cleans up wrong directories (refs:
324828         #27218, #27477, #27276, #27382)
324829
324830       · PR #27477:  (terminalmage)  Don't  append  role  to  hash_cachedir  @
324831         2015-09-28 22:26:34 UTC
324832
324833         · cbcb5475b6 Merge pull request #27477 from terminalmage/issue27217
324834
324835         · c185e99970 Second attempt to fix #27217
324836
324837       · PR  #27474:  (whiteinge)  Add  fake pymongo version attribute for the
324838         docs @ 2015-09-28 21:49:25 UTC
324839
324840         · 2f71833260      Merge      pull      request      #27474       from
324841           whiteinge/docs-pymongo-fix
324842
324843         · 64b54e668a Add fake pymongo version attribute for the docs
324844
324845       · PR  #27466:  (blueyed)  Fix  version  reporting  of  python-gnupg and
324846         mysql-python @ 2015-09-28 20:25:01 UTC
324847
324848         · 9202f956f3 Merge pull request #27466 from blueyed/fix-gnupg-version
324849
324850         · 9c1454fe59 Fix version reporting of mysql-python
324851
324852         · 437fb4407e Fix version reporting of python-gnupg
324853
324854       · PR #27465: (ticosax)  Fix  usage  of  dockerng  "cmd"  was  #27459  @
324855         2015-09-28 19:27:41 UTC
324856
324857         · PR  #27459:  (terminalmage)  Fix  usage  of  dockerng  "cmd" (refs:
324858           #27465)
324859
324860         · PR #27444: (ticosax) docker-py expect only command argument not cmd
324861           (refs: #27459)
324862
324863         · PR  #27331:  (terminalmage) dockerng: Allow both cmd and command to
324864           be used to specify command (refs: #27459, #27444)
324865
324866         · 6d8e9af297 Merge pull request #27465 from ticosax/fix-dockerng-cmd
324867
324868         · a1ed6cda56 Skip test if docker-py is not installed
324869
324870         · 6f7769aa94 Correct log messages/docstrings
324871
324872         · cc8471bd1b dockerpy expect only command argument not cmd
324873
324874       · ISSUE #27409: (pcn) 2015.8.0 API (cherrypy) fails to  lookup  job  id
324875         via pepper (refs: #27417)
324876
324877       · ISSUE  #25107:  (whiteinge)  Regression in RunnerClient argument han‐
324878         dling (refs: #25243)
324879
324880       · PR #27417: (whiteinge)  Backport  #25243  into  2015.8  @  2015-09-28
324881         19:15:53 UTC
324882
324883         · PR  #25243:  (DmitryKuzmenko)  Runnerclient  regression  fix (refs:
324884           #27417)
324885
324886         · aefe6d794a Merge pull request #27417 from whiteinge/bp-25243
324887
324888         · 53e7a6b7c5 RunnerClient support old style commands with  kwargs  on
324889           top level.
324890
324891         · 10b522b86c Revert "Fixed GET /jobs/<id> requests"
324892
324893       · PR #27423: (dmurphy18) Changes to support configurable repository for
324894         Debian / Ubuntu @ 2015-09-28 17:34:22 UTC
324895
324896         · a07411a4d9 Merge pull request #27423 from dmurphy18/dgm_envfix
324897
324898         · 63407fd2a9 Changes to support configurable repository for Debian  /
324899           Ubuntu
324900
324901       · ISSUE  #26689:  (double-yaya)  Salt - SSH using machine IP to execute
324902         commands, without having to write a roster file (refs: #27398)
324903
324904       · PR #27428:  (rallytime)  Back-port  #27398  to  2015.8  @  2015-09-28
324905         15:03:16 UTC
324906
324907         · PR  #27398:  (flowhamster)  Allow  cloud  roster to use sudo (refs:
324908           #27428)
324909
324910         · d4d96bb3fc Merge pull request #27428 from rallytime/bp-27398
324911
324912         · 6969326ae2 doc: added  documentation  to  cloud  roster  and  fixed
324913           whitespace
324914
324915         · b4334649d5 Allow cloud roster to use sudo
324916
324917       · PR  #27429:  (rallytime)  Back-port  #27344  to  2015.8  @ 2015-09-28
324918         15:01:20 UTC
324919
324920         · PR #27344: (rhealitycheck) Mongo returners patch 1 (refs: #27429)
324921
324922         · 668c69bd7e Merge pull request #27429 from rallytime/bp-27344
324923
324924         · e39a57afe1 Update mongo_return.py
324925
324926         · f796c9a44b Update mongo_return.py
324927
324928         · 30d07cbb27 Update mongo_return.py
324929
324930         · 44ef4b48fb Update mongo_future_return.py
324931
324932         · 34b160b841 Update mongo_return.py
324933
324934         · b2b5623da3 Update mongo_future_return.py
324935
324936         · 07f9a8b95b Update mongo_return.py
324937
324938         · b7ddc83b4d Update mongo_future_return.py
324939
324940         · 540b3f2690 Update mongo_return.py
324941
324942         · 405edd0718 Update mongo_future_return.py
324943
324944         · 5c753a54ff Update mongo_return.py
324945
324946         · 06e05befa7 Update mongo_future_return.py
324947
324948       · PR #27450: (ticosax) [dockerng] Fix typo in  docstring  @  2015-09-28
324949         14:27:35 UTC
324950
324951         · c639931340 Merge pull request #27450 from ticosax/fix-typo
324952
324953         · 9cea62de67 Fix typo in docstring
324954
324955       · PR      #27430:     (jacksontj)     Fix     bug     introduced     in
324956         eee0291ff8b65ff1e22f4dc2447a74aa28a3ce7f @ 2015-09-26 01:09:40 UTC
324957
324958         · 333c305ba0 Merge pull request #27430 from jacksontj/2015.8
324959
324960         · d2aff12f8f         Fix          bug          introduced          in
324961           eee0291ff8b65ff1e22f4dc2447a74aa28a3ce7f
324962
324963       · PR   #27418:   (terminalmage)   Don't  always  remove  dest  path  in
324964         salt.utils.files.rename() @ 2015-09-25 23:09:59 UTC
324965
324966         · 1f4ca089a2 Merge pull request #27418 from terminalmage/file-rename
324967
324968         · 7bc0949d48     Don't     always     remove     dest     path     in
324969           salt.utils.files.rename()
324970
324971       · ISSUE #27032: (lorengordon) Windows Installer: Please be more kind to
324972         existing configurations (refs: #27383)
324973
324974       · PR #27383: (twangboy) Uninstaller only  removes  specific  files  and
324975         dirs @ 2015-09-25 22:47:24 UTC
324976
324977         · ec5faf1829 Merge pull request #27383 from twangboy/fix_27032
324978
324979         · 63a7305ae9 Uninstaller only removes specific files and dirs
324980
324981       · PR  #27416:  (rallytime)  Back-port  #27399  to  2015.8  @ 2015-09-25
324982         22:39:07 UTC
324983
324984         · PR #27399: (multani) Various documentation fixes (refs: #27416)
324985
324986         · 9ab3c6dc5d Merge pull request #27416 from rallytime/bp-27399
324987
324988         · 1d848118c9 doc: fixed indentation in  salt.renderers.jinja's  docu‐
324989           mentation
324990
324991         · f5d053a033 doc: fixed indentation in salt.modules.consul's documen‐
324992           tation
324993
324994         · 06beea6b2f doc: fix etcd state documentation typos
324995
324996         · 97e69ebb97 doc: fix state's top documentation typo
324997
324998         · b411730d60 doc: fix documentation formatting for state blockdev
324999
325000         · ce91bb9446 doc: fix formatting in state boto_elb
325001
325002         · c69229875e doc: fix links in Docker state documentation
325003
325004         · 15b751d6e2 doc: Docker state use ports and not  port_bindings  any‐
325005           more
325006
325007         · 880b6e0944 doc: fix link to docker-py documentation
325008
325009         · 33db0c27f8 doc: fix RAET links
325010
325011         · e69ba2f943 doc: fix rendering of salt.states.hipchat
325012
325013       · ISSUE  #27093: (TheBigBear) 2015.8.0 winrepo downloader corrupts some
325014         installers (refs: #27394, #27163)
325015
325016       · PR #27394: (jacksontj) Remove streamed  response  for  fileclient  to
325017         avoid HTTP redirection problems @ 2015-09-25 21:55:31 UTC
325018
325019         · PR #27163: (terminalmage) Workaround upstream tornado bug affecting
325020           redirects (refs: #27394)
325021
325022         · 9842d9728b Merge pull request #27394 from jacksontj/2015.8
325023
325024         · 01132c305c Re-add files.rename call instead of os.rename
325025
325026         · acf2d51440 Remove streamed response for fileclient  to  avoid  HTTP
325027           redirection problems
325028
325029         · a6ecf35f25 Revert "Remove unused import"
325030
325031         · 66c73a3996  Revert "Workaround upstream tornado bug affecting redi‐
325032           rects"
325033
325034       · PR #27415: (ryan-lane) Backwards  compat  fixes  for  pecl  module  @
325035         2015-09-25 19:40:55 UTC
325036
325037         · 44b246bf93 Merge pull request #27415 from lyft/fix-pecl
325038
325039         · 8be8ef585c Backwards compat fixes for pecl module
325040
325041       · PR  #27407:  (meggiebot) Adding stretch label definition @ 2015-09-25
325042         18:10:46 UTC
325043
325044         · d76a77c911  Merge   pull   request   #27407   from   saltstack/meg‐
325045           giebot-patch-1
325046
325047         · 1c779700f6 Adding stretch label definition
325048
325049       · ISSUE  #27209:  (justinta)  Provider  overrides  appear  to be broken
325050         (refs: #27388)
325051
325052       · PR  #27388:  (basepi)  [2015.8]  Fix  global  provider  overrides   @
325053         2015-09-25 16:49:03 UTC
325054
325055         · db6acfd832  Merge  pull  request  #27388 from basepi/provider.over‐
325056           rides.27209
325057
325058         · d87147e14b Don't use ret.items(), forces load of all modules
325059
325060         · a5ee33a9ad pack __salt__ before loading provider overrides
325061
325062       · ISSUE #27354:  (gravyboat)  salt-ssh  roster  docs  should  note  the
325063         requiretty option (refs: #27386)
325064
325065       · PR  #27386:  (rallytime)  Document tty: True usage in salt-ssh roster
325066         file @ 2015-09-25 15:44:12 UTC
325067
325068         · b72e0b1133 Merge pull request #27386 from rallytime/fix-27354
325069
325070         · 08c04da48b Document tty: True usage in salt-ssh roster file
325071
325072       · PR #27380: (justinta) Skipping Async tests @ 2015-09-25 15:13:04 UTC
325073
325074         · 51e765078a Merge pull request #27380 from jtand/async_tests
325075
325076         · fd0dedeb99 Skipping Async tests
325077
325078       · ISSUE #27217: (nasenbaer13) Gitfs cleans up wrong directories  (refs:
325079         #27218, #27477, #27276, #27382)
325080
325081       · PR  #27382:  (terminalmage)  Revert  "fixes  #27217 clear_old_remotes
325082         clears wrong directory (gitfs)" @ 2015-09-24 22:54:23 UTC
325083
325084         · 633af56517 Merge pull request #27382 from terminalmage/revert-27218
325085
325086         · 2379748f9e Revert  "fixes  #27217  clear_old_remotes  clears  wrong
325087           directory (gitfs)"
325088
325089       · PR  #27361: (cro) Correct some issues with proxy minions @ 2015-09-24
325090         16:03:38 UTC
325091
325092         · 12a021da11 Merge pull request #27361 from cro/pxm_doc
325093
325094         · 1a2c41c9e3 Add versionadded.
325095
325096         · 93a6397598 func_alias should be list_ and should have a correspond‐
325097           ing list_ fn.
325098
325099         · 0221f7ee4e Pylint
325100
325101         · 3a297d8036 Add release notes for proxy fixes.
325102
325103         · 39df44b841 Pylint
325104
325105         · e3ebff9bce  Fix some problems with the rest_sample, remove unneces‐
325106           sary file and make sure that rest_service has the right contents.
325107
325108         · f4944fe68a Fix typo in docs
325109
325110       · PR #27364: (ruzarowski) SaltCloud[EC2]  Fix  missing  credentials  in
325111         modify_eni_properties api call @ 2015-09-24 13:55:39 UTC
325112
325113         · cff74510de  Merge  pull  request #27364 from ruzarowski/2015.8-mod‐
325114           ify-eni-properties-api-call
325115
325116         · 100eea46d5 Issue #27121 - Remove leftover code comment
325117
325118         · c58e7a00f3 Issue #27121 - Attempt to fix missing  credentials  when
325119           modifying eni properties
325120
325121         · 5d292a221e  Merge  remote-tracking  branch  'upstream/2015.8'  into
325122           2015.8
325123
325124         · 4dbd9ebb30  Merge  remote-tracking  branch  'upstream/2015.8'  into
325125           2015.8
325126
325127       · PR  #27349:  (jfindlay)  add  freebsd install docs to release notes @
325128         2015-09-24 13:51:02 UTC
325129
325130         · 928ef59a8a Merge pull request #27349 from jfindlay/doc_typos
325131
325132         · e509cfca17 fix typo in 2015.8.0 pull list
325133
325134         · 7137e731d3 add FreeBSD documentation to 2015.8.0 notes
325135
325136       · ISSUE #26889: (UtahDave) salt-call w/non root user outputs  repeating
325137         error (refs: #27343)
325138
325139       · PR  #27343:  (cachedout)  Close  io  loop before deleting attribute @
325140         2015-09-24 13:49:55 UTC
325141
325142         · 331230ea4f Merge pull request #27343 from cachedout/issue_26889
325143
325144         · 2b648e51af Close io loop before deleting attribute
325145
325146       · PR #27337: (rallytime) [2015.8] Fixup salt-cloud logging @ 2015-09-24
325147         13:49:17 UTC
325148
325149         · cd82ead005  Merge  pull  request  #27337  from rallytime/cloud-log‐
325150           ging-eight
325151
325152         · ed18384108 Merge pull request #7 from jtand/cloud-logging-eight
325153
325154           · a6c1d0b408 Fixed a bug where logging_command wasnt set as  a  key
325155             in a couple spots
325156
325157         · 8bb7cb7ff4 Use correct indexes
325158
325159         · c3483002b0 [2015.8] Fixup salt-cloud logging
325160
325161       · PR  #27332:  (terminalmage)  Adjust  dockerng/dockerio  docstrings  @
325162         2015-09-24 13:45:34 UTC
325163
325164         · b2f8418ffc Merge pull request #27332 from terminalmage/adjust-dock‐
325165           erng-docstring
325166
325167         · bdbf4d8e5c Add deprecation notice to dockerio state module
325168
325169         · 17829ab38d Fix name of dockerng module in dockerio docstring
325170
325171         · ed5ae75180 Adjust dockerng docstrings
325172
325173       · PR  #27353:  (cachedout)  Fix  case  where  var  not  set in config @
325174         2015-09-23 21:45:32 UTC
325175
325176         · ac9e6c2532 Merge pull request #27353 from cachedout/fix_retry_get
325177
325178         · ea286e1874 Fix case where var not set in config
325179
325180       · ISSUE #21390:  (fyatzeck)  Having  trouble  with  GCE  cloud  profile
325181         assigning static IP and enabling IP forward (refs: #27350)
325182
325183       · PR #27350: (rallytime) Allow IP-forwarding in GCE driver @ 2015-09-23
325184         21:36:41 UTC
325185
325186         · 3f6b06116f Merge pull request #27350 from rallytime/fix-21390
325187
325188         · 2bf566d934 Allow IP-forwarding in GCE driver
325189
325190         · 484015a7a3 Added version tag for ex_disk_type option
325191
325192         · a71ebc97b2 Allow use of rst header links by separating options  out
325193           from yaml example
325194
325195       · ISSUE  #27103:  (twangboy)  Salt-Minion  doesn't display logs for new
325196         processes with multiprocessing on (refs: #27305)
325197
325198       · PR #27305: (cachedout) Re-init logging system on Windows  when  using
325199         multiprocessing @ 2015-09-23 15:32:32 UTC
325200
325201         · 6f3da863fc Merge pull request #27305 from cachedout/issue_27103
325202
325203         · 7a7492d186 Fix typo
325204
325205         · 22c653482c  Re-init  logging system on Windows when using multipro‐
325206           cessing
325207
325208       · PR #27331: (terminalmage) dockerng: Allow both cmd and command to  be
325209         used  to specify command (refs: #27459, #27444) @ 2015-09-23 15:27:43
325210         UTC
325211
325212         · 684e33aeb2 Merge pull request #27331 from terminalmage/dockerng-cmd
325213
325214         · 7d4eaac8ae dockerng: Allow both cmd and command to be used to spec‐
325215           ify command
325216
325217       · PR  #27327: (isbm) Fix a typo in the RPM output @ 2015-09-23 14:27:42
325218         UTC
325219
325220         · a3f4fa1106      Merge      pull      request      #27327       from
325221           isbm/isbm-pkg-info-typofix
325222
325223         · 7912f8c13b Fix typo
325224
325225       · PR  #27312:  (basepi)  [2015.8] Merge forward from 2015.5 to 2015.8 @
325226         2015-09-22 22:52:14 UTC
325227
325228         · a789303d75  Merge  pull  request  #27312   from   basepi/merge-for‐
325229           ward-2015.8
325230
325231         · 647080d064 Add missing import
325232
325233         · 95e70f0bef  Merge  remote-tracking  branch  'upstream/2015.5'  into
325234           merge-forward-2015.8
325235
325236         · ca4597b93a  Merge  pull  request  #27310   from   basepi/merge-for‐
325237           ward-2015.5
325238
325239           · 7b75e4aed1  Merge  remote-tracking  branch 'upstream/2014.7' into
325240             merge-forward-2015.5
325241
325242           · e90412d3b8 Merge pull request #27252 from jfindlay/version.2014.7
325243
325244             · 3d28307a00 2014.7 -> 2014.7.0
325245
325246         · 982c21c79f   Merge   pull    request    #27308    from    terminal‐
325247           mage/fix-refresh_db-regression
325248
325249           · 77686fb7ce Fix refresh_db regression in yumpkg.py
325250
325251         · 775a4f9ad0    Merge    pull    request    #27286   from   terminal‐
325252           mage/return_retry_timer
325253
325254           · 540a7dfcf1 Add default values for new minion config options
325255
325256           · 453b883820 Add a configurable timer for minion return retries
325257
325258         · 02482c0572 Merge pull request #27278 from rallytime/bp-27256
325259
325260           · 1beddf6311 Fix error handling in salt.modules.file.statvfs
325261
325262         · e36c019c37 Merge pull request #27277 from rallytime/bp-27230
325263
325264           · 3ce77db1bc Fix typo in AWS doc config
325265
325266         · b22286476e Merge pull request #27253 from jfindlay/version.2015.5
325267
325268           · 967e3bb72a 2015.5 -> 2015.5.0
325269
325270         · 51a0193b54 Merge pull request #27244 from  garethgreenaway/ec2_cre‐
325271           ate_snapshot_no_return_data_exception
325272
325273           · 820fd576b9  Fixing  the  cause  when the r_data from aws.query is
325274             empty and an exception happens when looking for the snapshotID
325275
325276         · 26540f15bc Merge pull request #27231 from jfindlay/cronchange
325277
325278           · 1e335297e2 only write cron file if it is changed
325279
325280       · PR  #27303:   (jacobhammons)   Updated   module   doc   index   using
325281         https://github.com/saltstack/salt/pull… @ 2015-09-22 19:29:04 UTC
325282
325283         · c3b690273b Merge pull request #27303 from jacobhammons/ref-updates
325284
325285         · 7ac98a03b6       Updated      module      doc      index      using
325286           https://github.com/saltstack/salt/pull/27203
325287
325288       · ISSUE #27081: (TheBigBear) winrepo - SSLError: [Errno 1]  _ssl.c:510:
325289         error:14090086:SSL   routines:SSL3_GET_SERVER_CERTIFICATE:certificate
325290         verify failed (refs: #27301)
325291
325292       · PR #27301: (twangboy) Pass ca_bundle for windows (fixes SSL Error)  @
325293         2015-09-22 19:00:45 UTC
325294
325295         · aaa2db9943 Merge pull request #27301 from twangboy/fix_27081
325296
325297         · 5c4f5f8944 Changed windows gate to check for verify_ssl option
325298
325299         · e2fe5a60b5 Pass ca_bundle for windows (fixes SSL Error)
325300
325301       · PR  #27300:  (rallytime)  Back-port  #27287  to  2015.8  @ 2015-09-22
325302         16:59:07 UTC
325303
325304         · PR #27287: (rhealitycheck) Mongo returners patch 1 (refs: #27300)
325305
325306         · 55f4050146 Merge pull request #27300 from rallytime/bp-27287
325307
325308         · e49a6dc449 Update mongo_return.py
325309
325310         · 63153322b9 Update mongo_future_return.py
325311
325312       · PR #27288: (rallytime) Filter  on  'name',  not  'id',  when  listing
325313         images @ 2015-09-21 22:37:26 UTC
325314
325315         · d96462af48 Merge pull request #27288 from rallytime/do-cleanup
325316
325317         · 6e16fad760 Use name in all places, not id.
325318
325319         · 9b34542cb0 Filter on 'name', not 'id', when listing images
325320
325321       · PR  #27283:  (justinta)  __grains__['osrelease']  returns  a string @
325322         2015-09-21 19:18:44 UTC
325323
325324         · 688f24e9e4 Merge pull request #27283 from jtand/yumpkg_yum_fix
325325
325326         · b73f5289b4 __grains__['osrelease'] returns a string.  Cast  to  int
325327           for correct comparison
325328
325329       · ISSUE  #27217: (nasenbaer13) Gitfs cleans up wrong directories (refs:
325330         #27218, #27477, #27276, #27382)
325331
325332       · PR #27276:  (rallytime)  Back-port  #27218  to  2015.8  @  2015-09-21
325333         19:05:54 UTC
325334
325335         · PR  #27218:  (nasenbaer13)  fixes  #27217  clear_old_remotes clears
325336           wrong directory (gitfs) (refs: #27276)
325337
325338         · 78d44a5c74 Merge pull request #27276 from rallytime/bp-27218
325339
325340         · 8c0991d527 fixes #27217 clear_old_remotes  clears  wrong  directory
325341           (gitfs)
325342
325343       · PR  #27275:  (rallytime)  Back-port  #27213  to  2015.8  @ 2015-09-21
325344         19:05:18 UTC
325345
325346         · PR #27213: (macgyver13) Make get_event compatible with  salt/client
325347           (refs: #27275)
325348
325349         · d5ce81e8e7 Merge pull request #27275 from rallytime/bp-27213
325350
325351         · 5d4c90c479 Make get_event compatible with salt/client
325352
325353       · PR  #27274:  (rallytime)  Back-port  #27272  to  2015.8  @ 2015-09-21
325354         18:54:48 UTC
325355
325356         · PR #27272: (techhat) Make  sure  list_nodes_full  contains  a  name
325357           attribute (refs: #27274)
325358
325359         · 2be21d6451 Merge pull request #27274 from rallytime/bp-27272
325360
325361         · f3ea3259a5 Make sure list_nodes_full contains a name attribute
325362
325363       · PR  #27271:  (isbm)  Bugfix:  crash on token authentication via API @
325364         2015-09-21 15:53:09 UTC
325365
325366         · c0943dd4d1 Merge pull request #27271 from isbm/isbm-bufix-27270
325367
325368         · fc524c17b9 Reduce the criteria that would match empty iterables  as
325369           well as None or False values
325370
325371         · 3152af78b5   Fix   the   crash   on   token   auth   via   API   (‐
325372           http://git.io/vn4tx)
325373
325374       · ISSUE #19947: (gczuczy) Unable to supply provisioning script to soft‐
325375         layer create() (refs: #27251)
325376
325377       · PR  #27251:  (rallytime)  Add support for post_uri in SoftLayer cloud
325378         drivers @ 2015-09-21 15:43:16 UTC
325379
325380         · b11ce6ac2a Merge pull request #27251 from rallytime/fix-19947
325381
325382         · aafb776808 Add support for post_uri in SoftLayer cloud drivers
325383
325384       · ISSUE #21879: (bechtoldt) Reference pages in documentation  are  out‐
325385         dated again (refs: #27260, #25019, #21880)
325386
325387       · ISSUE #19262: (bechtoldt) salt.pillar.file_tree doesn't appear in the
325388         documentation (refs: #27260, #25019)
325389
325390       · PR #27260: (bechtoldt) add missing module doc references @ 2015-09-21
325391         05:48:38 UTC
325392
325393         · PR  #25019:  (bechtoldt) add missing module documentation to refer‐
325394           ences (refs: #27260)
325395
325396         · PR #24421: (bechtoldt) add  missing  module  documentation   (refs:
325397           #27260, #25019)
325398
325399         · PR  #21880:  (bechtoldt)  update  references,  fixes  #21879 (refs:
325400           #27260, #25019)
325401
325402         · PR  #20039:  (bechtoldt)  completing  some  doc  references  (refs:
325403           #27260, #25019)
325404
325405         · de6e5abe6c Merge pull request #27260 from bechtoldt/missing_refs
325406
325407         · 3a7d31a91c add missing module references
325408
325409       · PR   #27254:   (jfindlay)   2015.2,2015.8,Beryllium   ->  2015.8.0  @
325410         2015-09-18 23:44:46 UTC
325411
325412         · 1a32b9f778 Merge pull request #27254 from jfindlay/version.2015.8
325413
325414         · 8ea15f498e 2015.2,2015.8,Beryllium -> 2015.8.0
325415
325416       · ISSUE #25079: (jondonas) Salt-cloud does not check for duplicate  ssh
325417         keys when using provider such as DigitalOcean (refs: #27245)
325418
325419       · PR #27245: (rallytime) If two ssh keynames are found in DigitalOcean,
325420         abort and warn the user.  @ 2015-09-18 21:42:36 UTC
325421
325422         · f3a847823b Merge pull request #27245 from rallytime/fix-25079
325423
325424         · 4b0f7cce1d If two ssh keynames are found in DigitalOcean, abort.
325425
325426       · ISSUE #27065: (lorengordon) 2015.8.0:  yumpkg  reporting  "Unexpected
325427         osrelease grain '6.7'" (refs: #27241)
325428
325429       · PR  #27241:  (jfindlay)  osrelease  is  only  an integer for fedora @
325430         2015-09-18 21:40:50 UTC
325431
325432         · e4a5b004ae Merge pull request #27241 from jfindlay/yumwarn
325433
325434         · 1f7570250f osrelease is only an integer for fedora
325435
325436       · PR #27234: (basepi) [2015.8] Merge forward from 2015.5  to  2015.8  @
325437         2015-09-18 20:41:38 UTC
325438
325439         · f8e71f6d7d   Merge   pull  request  #27234  from  basepi/merge-for‐
325440           ward-2015.8
325441
325442         · be2b0fc497  Merge  remote-tracking  branch  'upstream/2015.5'  into
325443           merge-forward-2015.8
325444
325445           · 579f375f74      Merge      pull      request      #27233     from
325446             basepi/release.notes.stubs
325447
325448             · f4563ea9b7 Add stub release notes for 2015.5.6
325449
325450           · f5a322e3f2 Merge pull request #27208 from basepi/nop.state.25423
325451
325452             · 9414b05b2c Add test.nop example
325453
325454             · a84ce67b8f Add test.nop state
325455
325456           · 59a07cae68 Merge pull request #27201 from jfindlay/sshhash
325457
325458             · 1b620b77cd rename hash_host arg to hash_known_hosts
325459
325460             · 12f14ae37c update hash_known_hosts docs in ssh module
325461
325462           · 560545c4c5 Merge pull request #27214 from jacksontj/2015.5
325463
325464             · e7526bdb44 Correctly support https, port 443 is not a  require‐
325465               ment
325466
325467           · 7a34c7742d Merge pull request #27172 from rallytime/bp-27150
325468
325469             · 0d7ee4b209  Merge  config  values  from  master.d/minion.d conf
325470               files
325471
325472       · PR #27240: (isbm) Backport of the fix of 'pkg.info*' for Beryllium  @
325473         2015-09-18 20:02:15 UTC
325474
325475         · 2d6c75cbd7       Merge      pull      request      #27240      from
325476           isbm/isbm-pkg.info-tz-bugfix-backport-2015.8
325477
325478         · 19a361851a Return install date only if possible.
325479
325480         · ff857bc8aa Return RPM package time in UTC timezone
325481
325482         · eaa0f370bf Remove time fraction and return ISO in UTC
325483
325484         · ce9570fce6 Return UTC timestamp for modification of path.
325485
325486       · ISSUE #27222: (pprkut) Support firewalld zone configuration  in  net‐
325487         work.managed state for rh7 systems (refs: #27223)
325488
325489       · PR  #27223:  (pprkut)  Support firewalld per interface zone config on
325490         rh7 systems @ 2015-09-18 19:44:45 UTC
325491
325492         · 80a45b74ed Merge pull request #27223 from M2Mobi/zone
325493
325494         · 48023669e7 Support permanent per interface firewalld zone  configu‐
325495           ration on rh7 systems.
325496
325497         · PR  #27239: (bechtoldt) test #27238 prevent keyerror when partition
325498           doesn't exist (refs: #27238)
325499
325500       · PR #27238: (bechtoldt)  salt.modules.disk.percent()  throws  KeyError
325501         when partition doesn't exist (refs: #27239) @ 2015-09-18 19:37:00 UTC
325502
325503         · 652b2998af  Merge  pull request #27238 from bechtoldt/fix_disk_per‐
325504           cent_keyerror
325505
325506         · 0511f611bb prevent KeyError  by  checking  whether  partition  even
325507           exists
325508
325509       · PR  #27232:  (basepi)  [2015.8] Add stub release notes for 2015.8.1 @
325510         2015-09-18 16:53:01 UTC
325511
325512         · 253ac5e0c3      Merge      pull      request      #27232       from
325513           basepi/release.notes.stubs
325514
325515         · 25410706ee Add stub release notes for 2015.8.1
325516
325517       · ISSUE   #24573:  (bailsman)  cloud.profile  RuntimeError:  dictionary
325518         changed size during iteration (refs: #27199)
325519
325520       · PR #27199: (rallytime) Avoid RunTimeError  (dictionary  changed  size
325521         during iteration) with keys() @ 2015-09-18 15:44:27 UTC
325522
325523         · c542cd49d0 Merge pull request #27199 from rallytime/fix-24573
325524
325525         · 6b2a00e947 Avoid RunTimeError (dictionary changed size during iter‐
325526           ation) with keys()
325527
325528       · PR #27206: (rallytime) Don't repeat GCE setup instructions, and  make
325529         the use of .json files clearer @ 2015-09-18 14:38:40 UTC
325530
325531         · 6b79ad69a9 Merge pull request #27206 from rallytime/gce-doc-cleanup
325532
325533         · cced6e9031 Don't repeat GCE setup instructions, and make the use of
325534           .json files clearer
325535
325536       · PR #27210:  (rallytime)  Refactor  some  digital  ocean  functions  @
325537         2015-09-18 14:38:01 UTC
325538
325539         · 1d022eb5de Merge pull request #27210 from rallytime/do-clean-up
325540
325541         · 808a5b3b81 Make sure we set the full data to the ret variable
325542
325543         · 9b635004e2  Refactor  some digital_ocean functions to help simplify
325544           the driver
325545
325546       · PR #27197: (basepi) [2015.8] Merge forward from 2015.5  to  2015.8  @
325547         2015-09-17 19:53:22 UTC
325548
325549         · 8c204a45ab   Merge   pull  request  #27197  from  basepi/merge-for‐
325550           ward-2015.8
325551
325552         · 2c2a5f85ac  Merge  remote-tracking  branch  'upstream/2015.5'  into
325553           merge-forward-2015.8
325554
325555           · e956d88f5f Merge pull request #27194 from rallytime/bp-27180
325556
325557             · 327d343fef file copy ret result True if no change in test mode
325558
325559           · a02d043309  Merge  pull  request  #27176  from  basepi/merge-for‐
325560             ward-2015.5
325561
325562             · 66f4641be3 Merge remote-tracking branch 'upstream/2014.7'  into
325563               merge-forward-2015.5
325564
325565             · c186e51764   Merge   pull   request   #27117   from   jacobham‐
325566               mons/release-docs-2014.7
325567
325568               · b69e11e0a4 made 2014.7 an archived  release  minor  doc  site
325569                 updates
325570
325571             · 69d758ee2b    Merge    pull   request   #27114   from   cached‐
325572               out/warn_on_insecure_log
325573
325574               · 507fb04683 Issue warning that some  log  levels  may  contain
325575                 sensitive data
325576
325577             · aa71bae8aa  Merge  pull  request #27075 from twangboy/fix_pass‐
325578               word_2014.7
325579
325580             · c0689e3215 Replaced password with redacted when displayed
325581
325582           · de2027426e Merge pull request #27170 from rallytime/gce-docs
325583
325584             · a07db909bd  Update  Getting  Started  with  GCE  docs  to   use
325585               cloud.profiles or cloud.profiles.d examples
325586
325587           · 28cfdfd067 Merge pull request #27167 from rallytime/bp-27148
325588
325589             · d12be52355 Pass filepointers to the serialize load functions.
325590
325591           · 4495f4f4d0 Merge pull request #27168 from techhat/gateimpacket
325592
325593             · cc448bfdc1 Add further gating of impacket library
325594
325595           · 3e5ef0dc30 Merge pull request #27166 from rallytime/fix-27100
325596
325597             · 50fb3a489a  Allow  a  full-query  for EC2, even if there are no
325598               profiles defined
325599
325600           · f1c9de7ed9  Merge  pull  request  #27162   from   rallytime/soft‐
325601             layer-service
325602
325603             · d281068c70 Be explicit in using "SoftLayer" for service queries
325604               in SoftLayer drivers
325605
325606           · 59e9dfd8de Merge pull request #27149 from twangboy/fix_27133
325607
325608             · 7992b7e20a Fixed some tests...  hopefully...
325609
325610             · d4c8e30f5d Fixed problem with add/remove path
325611
325612           · 097fcd1017 Merge pull request #27147 from rallytime/fix-11669
325613
325614             · 55312ea03f Provide a more friendly error message.
325615
325616             · 36555856c7 Enforce bounds in the GCE Regex
325617
325618           · f5c3f157dd    Merge    pull    request    #27128    from     egu‐
325619             ven/2015.5-fix-test-diff
325620
325621             · ec2d68a84a don't show diff for test run if show_diff=False
325622
325623           · 088b1dbb3e    Merge    pull   request   #27116   from   jacobham‐
325624             mons/release-docs-2015.5
325625
325626             · 6e323b6dd3 Update latest to  2015.8,  2015.5  is  now  previous
325627               Assorted style and minor updates
325628
325629           · 440855b182 Merge pull request #27033 from jfindlay/n0ne
325630
325631             · 3334b9d548 fix comment and unit test for reg state
325632
325633             · 391a09d5ac update reg state unit tests
325634
325635             · ebbf2b05ca Fixed reg state module for None, 0, and '' values
325636
325637           · 35fc74132a Merge pull request #26942 from Arabus/fix-docker.run
325638
325639             · e61e1de1f5 Fixes value typo for dockerio.loaded state
325640
325641             · 39fa11b696 further linting
325642
325643             · 4aec37397c Further Linting to quiet the linter
325644
325645             · 7eff8ad070 Code Linting and cmd call fix
325646
325647             · a51676e0eb  Fixes   #17088  olyif  and unless should run on the
325648               host
325649
325650             · d0c6128b8f Fixes #17088 retcode now returns True or False based
325651               on return status
325652
325653             · 8b2e7cc4f5 Syntax clarification
325654
325655       · PR  #27195:  (jacobhammons)  Fixed  sphinx / latex build warnings and
325656         errors @ 2015-09-17 17:28:37 UTC
325657
325658         · 430c48c5ea Merge pull request #27195 from jacobhammons/doc-build
325659
325660         · fad87e34a2 Fixed lint errors
325661
325662         · e56f02b025 re-add cheatsheet do-over
325663
325664         · 60a8330561 re-added cheatsheet.tex
325665
325666         · f7a9e25d52 Fixed sphinx / latex build  warnings  and  errors  Added
325667           missing modules to contents
325668
325669       · PR #27182: (bernieke) fix restart_on_error @ 2015-09-17 17:24:01 UTC
325670
325671         · 8f8e75c5ff Merge pull request #27182 from Awingu/2015.8
325672
325673         · 693b81f7e4 fix restart_on_error #27127
325674
325675       · ISSUE  #27093: (TheBigBear) 2015.8.0 winrepo downloader corrupts some
325676         installers (refs: #27394, #27163)
325677
325678       · PR #27163: (terminalmage) Workaround upstream tornado  bug  affecting
325679         redirects (refs: #27394) @ 2015-09-17 16:09:01 UTC
325680
325681         · 97d2a5fddc Merge pull request #27163 from terminalmage/issue27093
325682
325683         · 80b396db73 Handle potential ValueError when checking content length
325684
325685         · a89c987943 Remove unused import
325686
325687         · 469e18f74c Workaround upstream tornado bug affecting redirects
325688
325689         · f2a562ac60  Add salt.utils.files.rename() for cross-platform renam‐
325690           ing
325691
325692       · ISSUE #19954: (gczuczy) Multiple disks on softlayer (refs: #27173)
325693
325694       · PR #27177: (rallytime) Remove note  -  incorrect  info  @  2015-09-17
325695         01:34:04 UTC
325696
325697         · PR #27173: (rallytime) Add the ability to specify multiple disks on
325698           the SoftLayer driver (refs: #27177)
325699
325700         · 65c59ec2ea Merge pull request #27177 from rallytime/fix-19954
325701
325702         · 531b44243d Remove note - incorrect info
325703
325704       · ISSUE #19954: (gczuczy) Multiple disks on softlayer (refs: #27173)
325705
325706       · PR #27173: (rallytime) Add the ability to specify multiple  disks  on
325707         the SoftLayer driver (refs: #27177) @ 2015-09-17 00:32:57 UTC
325708
325709         · cbb7e7f1a5 Merge pull request #27173 from rallytime/fix-19954
325710
325711         · 45c6aabde9  DeviceID  '1' is reserved for the SWAP disk; let's skip
325712           it.
325713
325714         · 54e104cf5b Don't stacktrace if local_disk isn't set
325715
325716         · fe74d203f5 Add the ability to specify multiple disks on  the  Soft‐
325717           Layer driver
325718
325719       · ISSUE  #22724:  (ty2u)  digital_ocean_v2.py  doesn't restore snapshot
325720         (refs: #26824)
325721
325722       · PR #27164:  (rallytime)  Make  sure  changes  from  #26824  to  digi‐
325723         tal_ocean_v2.py  driver  make  it  to  digital_ocean.py  in  2015.8 @
325724         2015-09-16 18:55:17 UTC
325725
325726         · PR #26824: (systembell)  [salt-cloud]  Fix  creating  droplet  from
325727           snapshot in digital_ocean provider  (refs: #27164)
325728
325729         · 0e04588d58     Merge    pull    request    #27164    from    rally‐
325730           time/add-26824-changes-to-2015.8
325731
325732         · a44bd763dd Make sure changes  from  #26824  to  digital_ocean_v2.py
325733           driver make it to digital_ocean.py in 2015.8
325734
325735       · ISSUE  #19853:  (ksalman)  master needs a way to invalidate grains on
325736         the minion (refs: #27143)
325737
325738       · PR #27143: (cachedout) Clean grains cache on grains sync @ 2015-09-16
325739         16:27:06 UTC
325740
325741         · 38d93a96fe    Merge    pull    request    #27143    from    cached‐
325742           out/clean_grains_cache_on_sync
325743
325744         · 0a660a9f80 Break apart long line
325745
325746         · 6de2c2a50c Better error checking
325747
325748         · 252f7c7ea9 Clean grains cache on grains sync
325749
325750       · ISSUE #18582: (mainframe) Allow merging file_roots  and  pillar_roots
325751         from different config files included from master.d (refs: #27150)
325752
325753       · PR  #27150:  (cachedout)  Merge  config values from master.d/minion.d
325754         conf files (refs: #27172) @ 2015-09-16 15:36:41 UTC
325755
325756         · 626cbe61ce Merge pull request #27150 from cachedout/issue_18582
325757
325758         · 6351a94d08 Merge config values from master.d/minion.d conf files
325759
325760       · ISSUE #27135: (SEJeff) Regression in core grains in the  latest  ver‐
325761         sion of salt (refs: #27137)
325762
325763       · PR  #27137:  (jfindlay)  revert  serial grain regression @ 2015-09-15
325764         21:52:25 UTC
325765
325766         · PR #22267: (The-Loeki) modify _hw core grains to use the new smbios
325767           module, add system uuid (refs: #27137)
325768
325769         · 72fad569b0 Merge pull request #27137 from jfindlay/serial
325770
325771         · 78c9687f0e revert serial grain regression
325772
325773       · PR     #27144:     (rallytime)     Don't    stacktrace    on    soft‐
325774         layer_hw.show_all_prices  if  a  code  isn't  supplied  @  2015-09-15
325775         21:52:09 UTC
325776
325777         · 58b56b9d78 Merge pull request #27144 from rallytime/softlayer-fixes
325778
325779         · 3963a5cf0f  Don't  stacktrace  on softlayer_hw.show_all_prices if a
325780           code isn't supplied
325781
325782       · PR  #27139:  (jacobhammons)  Updated  key  instruction  on  rhel7   @
325783         2015-09-15 16:06:14 UTC
325784
325785         · b71de75c1c Merge pull request #27139 from jacobhammons/rhel-doc
325786
325787         · 7ed9f6260f Updated key instruction on rhel7
325788
325789       · PR  #27134:  (isbm)  Backport  to  2015.8:  "pkg.info"  @  2015-09-15
325790         15:57:46 UTC
325791
325792         · 0d8248930e Merge pull request #27134 from  isbm/isbm-pkg.info-back‐
325793           port-2015.8
325794
325795         · b60e6a37a7 Lintfix: E7801, C0321
325796
325797         · cb4706c7e8 Add license extraction for Dpkg.
325798
325799         · 38753fe8b2  Enhance  filter for the "technical" fields that are not
325800           generally needed as a package information for the CMDB
325801
325802         · ffe8f14dae Implement additional package information merger
325803
325804         · 2aafc469d0 Fix the size and installed-size keys
325805
325806         · 3fc389435b Add homepage translator key
325807
325808         · 25040c9c71 Docfix
325809
325810         · 911bae1baf Add alias for 'info' of deprecation in v. Boron
325811
325812         · 306958dad0 Fix renamed method
325813
325814         · 6ba269fbc6 Remove 'N/A' when no data.
325815
325816         · 137eb75ca2 Rename existing 'info' to 'info_available'
325817
325818         · 7b376fd5c3 Implement compatible 'info_installed'. Returned keys are
325819           common to other systems with other package managers
325820
325821         · ca7d0d5025 Implement compatible 'info_installed'. Returned keys are
325822           common to other systems with other package managers
325823
325824         · c1faebf0b5 Implement compatible 'info_installed'. Returned keys are
325825           common to other systems with other package managers
325826
325827         · f14f4036df Lint: regexp as a string
325828
325829         · cabe863b81 Implement package info function
325830
325831         · 0668f1da53 Implement getting package installation time
325832
325833         · e03716e5b5 Implement getting general packages information
325834
325835         · 8737d690fe Extract package description
325836
325837         · a283d53737 Lintfix the regexp string
325838
325839         · fc9c959678 Convert time to ISO 8601
325840
325841         · 9fb9296276 Return a detailed information about package(s)
325842
325843       · PR  #27119:  (l2ol33rt)  Boto dynamodb module should be using layer 2
325844         abstractions @ 2015-09-15 14:09:57 UTC
325845
325846         · 7f512852ef Merge pull request #27119 from l2ol33rt/boto_dynamo_mod‐
325847           ule_fix
325848
325849         · 46c7aee367 Boto dynamodb util should be using layer 2 abstractions
325850
325851       · PR  #27092:  (perfinion)  salt/master:  chdir  to  root not homedir @
325852         2015-09-15 14:09:24 UTC
325853
325854         · 100e340111    Merge    pull    request    #27092    from    perfin‐
325855           ion/chdir-fix-2015.8
325856
325857         · 284d268855 salt/master: chdir to root not homedir
325858
325859       · PR #27131: (jacobhammons) Install docs @ 2015-09-15 12:34:38 UTC
325860
325861         · 7483556b5f Merge pull request #27131 from jacobhammons/install-docs
325862
325863         · d1e8af9be6 added command to remove key from rhel6
325864
325865         · 69d64f177d moved rhel5 commands to separate lines
325866
325867         · 90431278ea Install instruction updates for rhel6 and debian
325868
325869       · PR #27124: (jfindlay) Backport #27123 @ 2015-09-15 08:37:43 UTC
325870
325871         · PR #27123: (cedwards) update for freebsd installation documentation
325872           (refs: #27124)
325873
325874         · fc8afcc9f9 Merge pull request #27124 from jfindlay/bp-27123
325875
325876         · 016fb5fafe Update freebsd.rst
325877
325878         · 026fc9a884 update for freebsd installation documentation
325879
325880       · PR #27111: (basepi) [2015.8] Merge forward from 2015.5  to  2015.8  @
325881         2015-09-15 07:29:30 UTC
325882
325883         · 0d62d3470c   Merge   pull  request  #27111  from  basepi/merge-for‐
325884           ward-2015.8
325885
325886         · ab519fb5ff Remove heavily-mocked unit tests
325887
325888         · 274464a85b  Merge  remote-tracking  branch  'upstream/2015.5'  into
325889           merge-forward-2015.8
325890
325891           · 59f2a0c7ae Merge pull request #26977 from abh/2015.5-ntppeer
325892
325893             · df3d6e817f Add support for PEERNTP network interface configura‐
325894               tion on RH derived systems
325895
325896           · e05b1f3951 Merge pull request #27023 from jfindlay/htwebutilpass
325897
325898             · 9f3d7890a6 add test support for htpasswd state mod
325899
325900           · 9f999c0027 Merge  pull  request  #27074  from  twangboy/fix_pass‐
325901             word_2015.5
325902
325903             · fdd3537456 Replaced password with redacted when displayed
325904
325905           · 46b44f85ed    Merge    pull    request    #27073    from   rally‐
325906             time/remove-lxc-warning
325907
325908             · 76c056d02b Remove "use develop branch" warning from  LXC  tuto‐
325909               rial now that 2015.5.0 has been released
325910
325911           · caab21d99c Merge pull request #27054 from rallytime/bp-27029
325912
325913             · 0be393be22 Removed check for no package name
325914
325915           · 0227e1cb57 Merge pull request #27053 from rallytime/bp-26992
325916
325917             · 83798aff3c Do not use full return for documentation.
325918
325919             · d9d5bbaa68 Summary requires full return information.
325920
325921           · b72a0ef86d Merge pull request #27052 from rallytime/bp-26930
325922
325923             · d9787aa318 aptpkg.mod_repo: Raise when key_url doesn't exist
325924
325925           · 8b554dd16f   Merge   pull   request   #27049  from  johanek/repo‐
325926             query-dedupe
325927
325928             · c113916a23 When running repoquery to check for  available  ver‐
325929               sions  of  packages, run once for all packages rather than once
325930               per package
325931
325932           · cc2cbf9869 Merge pull request #27070 from stanislavb/2015.5
325933
325934             · 1e6e5ddc9c Deprecate salt.utils.iam in Carbon
325935
325936           · e23caa8ccf Merge pull request #27030 from jfindlay/winreg
325937
325938             · 120fbe78e0 remove trailing line in win_path exec module
325939
325940             · b36a7107b2 update win_path exec module unit tests
325941
325942             · a2dc6f2dd7    Fixes    win_path    module,    migrates     from
325943               reg.(set|get)_key to reg.(set|get)_value
325944
325945           · 843c28b435 Merge pull request #27025 from cachedout/issue_25581
325946
325947             · ecc09d9b93 Lint
325948
325949             · bfcaab9ef4 Better try and error handling for prep_jid
325950
325951           · b9baa0b39a  Merge  pull  request  #27035  from terminalmage/user‐
325952             add-contextmanager
325953
325954             · e430e97f6c Update user states to reflect changes to login class
325955               handling
325956
325957             · f24b979c7c  useradd.py:  Use  contextmanager  to prevent leaked
325958               filehandles
325959
325960           · 1cdfdf7a92  Merge  pull  request  #27034   from   rallytime/soft‐
325961             layer-doc-fix
325962
325963             · cb641f8145 Update softlayer docs for where to find apikey
325964
325965           · 9e06d3f01a Merge pull request #27024 from rallytime/bp-27004
325966
325967             · 54d6fcf4c7 Fix 'dict' object has no attribute split
325968
325969             · bb29d73c71 Fix 'dict' object has no attribute split
325970
325971             · 5f1a9c46aa Fix 'dict' object has no attribute split
325972
325973             · 2bfdd9724e Fix 'dict' object has no attribute split
325974
325975           · 9ab2cae1e4 Merge pull request #27027 from rallytime/bp-27013
325976
325977             · 19a6e9cb1c Remove unwanted debug statement.
325978
325979           · 2c8beb238f Merge pull request #27026 from rallytime/bp-27011
325980
325981             · f8518d545f   Move  giant  eventlisten.sh  example  out  of  the
325982               state.event docstring
325983
325984           · e8cdcc62f7 Merge pull request #26972 from twangboy/fix_20522
325985
325986             · 0110786fa9 Catch the 404 error from fileclient
325987
325988           · fbc95f4685 Merge pull request #26951 from  terminalmage/fix-time‐
325989             zone
325990
325991             · 30a4915762 Update tests to reflect changes to timezone module
325992
325993             · b6f926919f Fix timezone module for CentOS
325994
325995           · f2ad3c333c Merge pull request #26875 from marccardinal/patch-2
325996
325997             · 36d5a62262 LXC gateway provisioned only when IP is provided
325998
325999           · 7b2e7b1b37  Merge  pull  request  #26997  from  twangboy/fix_sym‐
326000             link_windows
326001
326002             · 89cc02d4e0 Added versionadded
326003
326004             · 835177b0c8 Fixed symlinks for windows (don't use user root)
326005
326006           · 5389a85894 Merge pull request #27001 from twangboy/fix_reg_docs
326007
326008             · 2980bbda17 Minor clarification
326009
326010             · 4684b2ddd1 Added CLI example for reg.delete_key_recursive
326011
326012           · 37814f5dff Merge pull request #26996 from jacobhammons/beacon-doc
326013
326014             · e475ea688e Fixed typo
326015
326016             · 2401533d9e New content added to beacon docs.
326017
326018           · 4ba7eed711   Merge    pull    request    #26868    from    joeju‐
326019             lian/2015.5_lvm_vg_symlink_fix
326020
326021             · 3dfb33849a Use the actual device name when checking vgdisplay
326022
326023           · 1537e945be  Merge pull request #26955 from dsumsky/s3-pillar-mod‐
326024             ule-cache-fix-2015.5
326025
326026             · 8219acffe7 - fixed pylint warnings
326027
326028             · a3b10e8ab1  - fixed broken  caching  in  S3  ext_pillar  module
326029               (file_md5  was  a  list)   - added debugging messages  - static
326030               parameters are available as module parameters now
326031
326032           · 3e902e86b1 Merge pull request #26987 from rallytime/bp-26966
326033
326034             · 6a29eac003 URL has changed
326035
326036           · eddb532713 Merge pull request #26915 from rallytime/joyent-tests
326037
326038             · d4ad42d697 Update Joyent Cloud Tests
326039
326040           · f86814b2a4  Merge  pull  request  #26971   from   rallytime/reac‐
326041             tor-doc-fix
326042
326043             · 0214daad19 Fix a couple of typos in reactor docs
326044
326045           · 57b1080f94    Merge    pull    request    #26976    from    salt‐
326046             stack/revert-26899-fix_26730
326047
326048             · 6dd54e6bec Revert "file.symlink gets windows account instead of
326049               root"
326050
326051           · 67be01f5fe  Merge  pull  request #26975 from whiteinge/rest_cher‐
326052             rypy-integration
326053
326054             · 9a0989585b Add additional 'groups' check  to  rest_cherrypy  if
326055               groups are not used
326056
326057             · d68aefcfde Remove mocks from rest_cherrypy integration tests
326058
326059             · 2aa3da8911  Rename  the  rest_cherrypy  tests to conform to our
326060               convention
326061
326062           · 20a48f7f2e Merge pull request #26899 from twangboy/fix_26730
326063
326064             · 9d9b3bb47a file.symlink gets windows account instead of root
326065
326066           · dbc6b862f4 Merge pull request #26960 from rallytime/cherrypy-docs
326067
326068             · c1420711db Fix bash code block formatting
326069
326070           · f733e048c9 Merge pull request #26940 from rallytime/api-doc-fix
326071
326072             · 00fe6a225c Fix minor doc typo in client api
326073
326074           · de9350466e Merge pull request #26871 from rallytime/bp-26852
326075
326076             · 5a4c8dd2f5 Only reference msgpack if it imported successfully
326077
326078           · a563af29d3 Merge pull request #26851 from jacobhammons/doc-bugs
326079
326080             · ac3bd47440 states/pkgrepo examples, suse  installation  updates
326081               Refs #26644 Refs #26638
326082
326083           · 5b1b934192 Merge pull request #26817 from jfindlay/grouparg
326084
326085             · 82d33939f3 modify groupadd for rhel 5
326086
326087           · cdc0ea2fe3 Merge pull request #26824 from pravka/fix-droplet-cre‐
326088             ation-from-snapshot-in-dov2
326089
326090             · 00e3192536 removing log
326091
326092             · e4a82d78d9 removing stringification of every value in the image
326093               dict
326094
326095             · cdc2b4584a fixing condition for slug check
326096
326097           · 4af6951a4c Merge pull request #26823 from joejulian/ctlfix
326098
326099             · a9928cb143 pep8 fixes
326100
326101             · 6108ec4280 Gated dbus for os families that use it
326102
326103             · e154c7b16f remove trailing spaces
326104
326105             · c1c1266cc3 fix indent change
326106
326107             · 0a35320aa7 Use dbus directly
326108
326109           · a1749b76b8 Merge pull request #26820 from jfindlay/ctlfix
326110
326111             · 3a2c0d5fbb add default param in _parse_localectl in locale mod
326112
326113           · ff733547c4 Merge pull request #26821 from twangboy/fix_26788
326114
326115             · cf979e4877 Fixed user.rename function in windows
326116
326117           · c892be3255 Merge pull request #26803 from twangboy/fix_26754
326118
326119             · 23576c65eb Added check for PyMySQL if MySQLdb import fails
326120
326121           · 6edfa36083 Merge pull request #26815 from jfindlay/linstr
326122
326123           · 2ff5823944 stringify linode id before performing str actions
326124
326125       · PR  #27122:  (terminalmage)  Fix  broken link to git-config(1) docs @
326126         2015-09-15 07:25:05 UTC
326127
326128         · 886e7bc234 Merge pull  request  #27122  from  terminalmage/fix-bro‐
326129           ken-link
326130
326131         · 0b212ea5b3 Fix broken link to git-config(1) docs
326132
326133       · PR #27115: (jacobhammons) Release docs @ 2015-09-14 22:19:18 UTC
326134
326135         · 551bbe70af Merge pull request #27115 from jacobhammons/release-docs
326136
326137         · 42eaa80997 Restored missing css
326138
326139         · 9ab642295e Fixed a release notes typo and bad file rename
326140
326141         · daa3f4eee0  Updated  release notes, change 2015.8 to latest release
326142           for doc site
326143
326144         · d939a38c8c release notes updates
326145
326146       · ISSUE #11993: (UtahDave) salt-cloud -Q output not  consistent  across
326147         providers (refs: #27110)
326148
326149       · PR  #27110:  (rallytime)  Make  sure  -Q  output is consistent across
326150         salt-cloud drivers @ 2015-09-14 21:48:40 UTC
326151
326152         · 89c90df909 Merge pull request #27110 from rallytime/fix-11993
326153
326154         · c1abc5a19f Remove implied Nones
326155
326156         · 5d7d357cdd digital_ocean list_nodes function should list public and
326157           private ips like other drivers
326158
326159         · 4b27aef406  Add  'name'  to  the  output of salt-cloud -Q commands,
326160           where needed, for consistency.
326161
326162       · PR #27050: (twangboy) Turned multiprocessing on @ 2015-09-14 17:34:18
326163         UTC
326164
326165         · 860de8d877 Merge pull request #27050 from twangboy/fix_minion_conf
326166
326167         · 7e35b13022 Turned multiprocessing on
326168
326169       · PR  #27086:  (techhat)  Document  develoment  of SPM loader modules @
326170         2015-09-13 04:52:55 UTC
326171
326172         · c78d833540 Merge pull request #27086 from techhat/spmdevdocs
326173
326174         · ee0c8955dd Document develoment of SPM loader modules
326175
326176       · ISSUE #23125: (bemeyert)  Elasticsearch  as  master_job_cache  throws
326177         critical (refs: #26941)
326178
326179       · PR  #26941:  (msteed)  Make  elasticsearch work as master job cache @
326180         2015-09-12 17:13:44 UTC
326181
326182         · 25b11759f9 Merge pull request #26941 from msteed/issue-23125
326183
326184         · ff88fe402c add versionadded info to save_load() & get_load()
326185
326186         · 5d2fae8a89 make master job cache index configurable
326187
326188         · bc041fa4a7 Merge  branch  'issue-23125'  of  github.com:msteed/salt
326189           into issue-23125
326190
326191           · 9aedc2662e issue-23125
326192
326193         · 593c4d6b2f issue-23125
326194
326195       · PR  #27080:  (bechtoldt) [Proposal] Add Github SPM label for issues @
326196         2015-09-12 14:32:58 UTC
326197
326198         · b763d0ba52 Merge pull request #27080 from bechtoldt/spm_doc
326199
326200         · b9e5095bf5 add GH issue label SPM to docs
326201
326202       · PR #27064: (twangboy) Fixed user docs @ 2015-09-11 22:37:19 UTC
326203
326204         · cf59a03432 Merge pull request #27064 from twangboy/user_docs
326205
326206         · db03ca198e Fixed user docs
326207
326208       · PR #27072:  (rallytime)  Back-port  #26840  to  2015.8  @  2015-09-11
326209         22:35:52 UTC
326210
326211         · PR #26840: (deuscapturus) Update http.py (refs: #27072)
326212
326213         · 71c12cbf46 Merge pull request #27072 from rallytime/bp-26840
326214
326215         · d0b9ececa4 Update http.py
326216
326217       · PR  #27060:  (cro) Fix grains breakage when hosts are not Linux, Win‐
326218         dows, or SunOS @ 2015-09-11 17:28:49 UTC
326219
326220         · 0e7555089f Merge pull request #27060 from cro/proxy_grains_breakage
326221
326222         · e697326f1b Don't check for proxy in the individual is_linux/is_win‐
326223           dows/etc functions.  This breaks too many things.
326224
326225       · PR  #27051:  (rallytime)  Back-port  #26953  to  2015.8  @ 2015-09-11
326226         16:28:20 UTC
326227
326228         · PR #26953: (dsumsky) S3 ext_pillar module has broken caching mecha‐
326229           nism (refs: #27051)
326230
326231         · 8ee87b9f61 Merge pull request #27051 from rallytime/bp-26953
326232
326233         · eac9d9aba9 Pylint Fix
326234
326235         · 453440753c - fixed pylint warnings
326236
326237         · b40dfa459e - fixed broken caching in S3 ext_pillar module (file_md5
326238           was a list) - added debugging  messages  -  static  parameters  are
326239           available as module parameters now
326240
326241       · PR  #26864:  (terminalmage)  Only  do  git_pillar preflight checks on
326242         new-style git_pillar configs @ 2015-09-11 07:47:12 UTC
326243
326244         · 249f55cd8c Merge pull request #26864 from terminalmage/fix-git_pil‐
326245           lar-tests
326246
326247         · 0b5a653f7c   Only  do  git_pillar  preflight  checks  on  new-style
326248           git_pillar configs
326249
326250       · PR  #26967:  (TheBigBear)  new  URL  for  windows  salt  downloads  @
326251         2015-09-10 20:51:33 UTC
326252
326253         · efaedb8aea Merge pull request #26967 from TheBigBear/patch-4
326254
326255         · 8d2c042cf7 new URL for windows salt downloads
326256
326257       · PR  #26921: (terminalmage) Get rid of error in legacy git pillar when
326258         using branch mapping notation @ 2015-09-10 20:06:29 UTC
326259
326260         · 757d3c4eab   Merge   pull    request    #26921    from    terminal‐
326261           mage/legacy_git_pillar_tests
326262
326263         · 28e07d5d06  Get rid of error in legacy git pillar when using branch
326264           mapping notation
326265
326266       · PR #26923: (rallytime) Code clean up of cloud  drivers  and  files  @
326267         2015-09-10 16:37:26 UTC
326268
326269         · 68eb508e6c Merge pull request #26923 from rallytime/cloud-cleanup
326270
326271         · bf33c99b08 Remove redundant parentheses
326272
326273         · 5045989be7 Make sure function names comply
326274
326275         · e327d9a8a4 Remove redundant parens
326276
326277         · eee0291ff8 Code clean up of cloud drivers and files
326278
326279       · PR  #27010:  (rallytime)  Back-port  #26988  to  2015.8  @ 2015-09-10
326280         16:30:30 UTC
326281
326282         · PR #26988: (s0undt3ch) Process spm.d/*.conf and add prefix root dir
326283           support to SPM directories (refs: #27010)
326284
326285         · 590c46f4e3 Merge pull request #27010 from rallytime/bp-26988
326286
326287         · 93b30b5ba8 Whitespace
326288
326289         · 685fa911e7 Version Added for new apply_spm_config function
326290
326291         · 9612a6c7ad  Process spm.d/*.conf and add prefix root dir support to
326292           SPM directories
326293
326294       · PR #26985: (rallytime) Fix versionadded tag @ 2015-09-10 16:29:38 UTC
326295
326296         · ec185d77fa  Merge  pull  request  #26985  from   rallytime/version‐
326297           added-fix
326298
326299         · 79eb606cb7 Fix versionadded tag
326300
326301   Salt 2015.8.10 Release Notes
326302       Version 2015.8.10 is a bugfix release for 2015.8.0.
326303
326304       This release includes fixes for two issues discovered in 2015.8.9:
326305
326306       · Pip state broken in 2015.8.9 with pip <6.0 (issue #33376)
326307
326308       · Fix traceback in logging for config validation (PR #33386)
326309
326310   Final Release of Debian 7 Packages
326311       Regular  security  support  for Debian 7 ended on April 25th 2016. As a
326312       result, 2016.3.1 and 2015.8.10 will be the last Salt releases for which
326313       Debian 7 packages are created.
326314
326315   Important Post-Upgrade Instructions for Linux Mint
326316       As a result of some upstream changes, the os grain on Mint Linux is now
326317       being detected as LinuxMint (issue #33295). Run the  following  command
326318       after  you  upgrade  to 2015.8.10 to reset the os grain to Mint and the
326319       os_family grain to Debian:
326320
326321          salt -G 'os:LinuxMint' grains.setvals "{'os': 'Mint', 'os_family': 'Debian'}"
326322
326323   Changelog for v2015.8.9..v2015.8.10
326324       Generated at: 2018-05-28 00:51:57 UTC
326325
326326       · c3d2c4eaae Fix traceback in logging for config validation (#33386)
326327
326328       · 2a060ea1e8 restore whitespace
326329
326330       · aa1f45d664 blast, put the try/except int he right place
326331
326332       · be1a7659a3 maintain the fallabck because I am totally  sick  of  this
326333         crap
326334
326335   Salt 2015.8.11 Release Notes
326336       Version 2015.8.11 is a bugfix release for 2015.8.0.
326337
326338   Statistics
326339       · Total Merges: 122
326340
326341       · Total Issue References: 70
326342
326343       · Total PR References: 221
326344
326345       · Contributors:    48   (AAbouZaid,   BlaineAtAffirm,   DmitryKuzmenko,
326346         The-Loeki,   abednarik,   babilen,   bebehei,   cachedout,    clinta,
326347         complexsplit,    cro,   danslimmon,   dcolish,   dincamihai,   edgan,
326348         gerhardqux, ghedo,  isbm,  jacobhammons,  jfindlay,  jodv,  justinta,
326349         l13t,  lomeroe,  lorengordon, lvg01, mcalmer, meaksh, morganwillcock,
326350         oeuftete, opdude, phistrom, rallytime, rmarcinik, ryan-lane,  sacren,
326351         steverweber,   techhat,  tegbert,  terminalmage,  thatch45,  the-glu,
326352         thegoodduke, ticosax, tveastman, twangboy, vutny, zer0def)
326353
326354   Ubuntu 16.04 Packages
326355       SaltStack is now providing official Salt  2015.8  packages  for  Ubuntu
326356       16.04.
326357
326358   Returner Changes
326359       · Any returner which implements a save_load function is now required to
326360         accept a minions keyword argument. All returners which ship with Salt
326361         have been modified to do so.
326362
326363   New Master Configuration Parameter
326364       · rotate_aes_key - if True, causes Salt to generate a new AES key when‐
326365         ever a minion key is deleted.  This  eliminates  the  chance  that  a
326366         deleted minion could continue to eavesdrop on communications with the
326367         master if it continues to run after its key is deleted.
326368
326369   Changelog for v2015.8.10..v2015.8.11
326370       Generated at: 2018-05-28 01:16:12 UTC
326371
326372       · PR #34682: (jfindlay) update 2015.8.11 release notes
326373
326374       · PR #34676: (cachedout) Revert "Modify lodaer global test to use popu‐
326375         lated dunders" @ 2016-07-14 18:12:55 UTC
326376
326377         · 3192e1674b   Merge   pull   request   #34676   from  cachedout/par‐
326378           tial_revert_34644
326379
326380         · 64a154826a Revert "Modify lodaer global test to use populated  dun‐
326381           ders"
326382
326383       · PR #34601: (lorengordon) Clarifies the proper way to reference states
326384         @ 2016-07-14 14:20:41 UTC
326385
326386         · 3b6f1089b2 Merge pull request #34601 from lorengordon/clarify-doc
326387
326388         · bfe0dd0b8a Clarifies the proper way to reference states
326389
326390         · PR saltstack/salt#34644: (cachedout) Cleanup loader  errors  (refs:
326391           #34651)
326392
326393         · PR #34651: (rallytime) Lint 34644
326394
326395         · PR #34647: (cachedout) Adjust the mine test a little bit to give it
326396           a better chance of success
326397
326398       · PR #34642: (justinta) Check that  mysqladmin  exists  before  running
326399         mysql integration tests @ 2016-07-13 18:12:44 UTC
326400
326401         · 8a0209101e  Merge  pull  request  #34642  from jtand/mysql_integra‐
326402           tion_cleanup
326403
326404         · dd1559a599 Check that mysqladmin exists before running mysql  inte‐
326405           gration tests.
326406
326407       · PR  #34618:  (justinta)  Network  state  integration test test=True @
326408         2016-07-13 16:30:15 UTC
326409
326410         · 3e612c3794 Merge pull request  #34618  from  jtand/network_integra‐
326411           tion_fix
326412
326413         · 34bcf9ccfc Changed network state test to use test=True
326414
326415         · b2616833b0 Some small changes
326416
326417         · ed59113e94 Change network state integration test to use test=True
326418
326419       · PR #34617: (rallytime) [2015.8] Merge forward from 2015.5 to 2015.8 @
326420         2016-07-12 20:11:40 UTC
326421
326422         · 9f123543e5 Merge pull request #34617 from rallytime/merge-2015.8
326423
326424         · 3026df346f Merge branch '2015.5' into '2015.8'
326425
326426         · 57df38e685 Update github IP for  ssh  state  integration  tests  (‐
326427           #34592)
326428
326429         · 2e1007254b Avoid circular imports when calling salt.utils functions
326430           (#34584)
326431
326432       · ISSUE #33649: (tyhunt99) 2016.3.0 dockerng state fails comparing  cmd
326433         configuration (refs: #saltstack/salt`#33851`_, #33851)
326434
326435         · PR  saltstack/salt#33851: (ticosax) [dockerng] Add support for edge
326436           case when Cmd and Entrypoint can't be blanked (refs: #34593)
326437
326438         · PR #34593: (rallytime) Back-port #33851 to 2015.8
326439
326440         · PR #33851: (ticosax) [dockerng] Add support for edge case when  Cmd
326441           and Entrypoint can't be blanked (refs: #34593)
326442
326443         · PR   #34590:   (oeuftete)  [2015.8]  dockerng:  When  sorting  list
326444           actual_data, make it a list
326445
326446         · PR #34591: (justinta) Gate docker unit test to check for docker
326447
326448         · PR #34560: (terminalmage) Add a bunch of documentation  on  getting
326449           files from other environments
326450
326451       · ISSUE #34397: (jaredhanson11) ignore_epoch needs to be passed through
326452         to version_cmp functions (refs: #34531)
326453
326454       · PR #34531: (terminalmage) Support ignore_epoch  argument  in  version
326455         comparisons @ 2016-07-08 16:43:36 UTC
326456
326457         · 91e0656d44 Merge pull request #34531 from terminalmage/issue34397
326458
326459         · d0fec1b8f6 salt/modules/zypper.py: accept ignore_epoch argument
326460
326461         · 5ae9463c1f salt/modules/yumpkg.py: accept ignore_epoch argument
326462
326463         · c2791117af salt/modules/rpm.py: accept ignore_epoch argument
326464
326465         · c5de8b880d salt/modules/ebuild.py: accept ignore_epoch argument
326466
326467         · 4ee8e8f037 salt/modules/aptpkg.py: accept ignore_epoch argument
326468
326469         · 5b123b403c Pass ignore_epoch to salt.utils.compare_versions()
326470
326471         · 07368fac40 Accept ignore_epoch argument for salt.utils.compare_ver‐
326472           sions()
326473
326474       · PR #34545:  (terminalmage)  Handle  cases  where  Docker  Remote  API
326475         returns an empty ExecutionDriver @ 2016-07-08 16:34:30 UTC
326476
326477         · e99befad47    Merge    pull    request    #34545   from   terminal‐
326478           mage/docker-exec-driver
326479
326480         · dd5838e242 Handle cases where Docker Remote API  returns  an  empty
326481           ExecutionDriver
326482
326483       · PR    #34546:   (rallytime)   Rename   unit.states.boto_secgroup   to
326484         unit.states.boto_secgroup_test @ 2016-07-08 16:16:42 UTC
326485
326486         · 7120d43df0    Merge    pull    request    #34546    from     rally‐
326487           time/rename-boto-secgroup-test
326488
326489         · f8a3622be7        Rename        unit.states.boto_secgroup        to
326490           unit.states.boto_secgroup_test
326491
326492       · PR #34537: (rallytime) Rename  tests.unit.simple  to  tests.unit.sim‐
326493         ple_test @ 2016-07-08 00:08:36 UTC
326494
326495         · ca92061821  Merge  pull  request  #34537 from rallytime/rename-sim‐
326496           ple-test
326497
326498         · ceefb6e34c Rename tests.unit.simple to tests.unit.simple_test
326499
326500         · PR #34527: (rallytime) [2015.8] Update bootstrap script  to  latest
326501           stable
326502
326503         · PR  #34521:  (cachedout)  Prevent  many errors in the test suite in
326504           loader tests
326505
326506         · PR #34507: (AAbouZaid) Fix wrong order of retention_policy_exists.
326507
326508       · PR #34518: (terminalmage) Fix pkg.latest integration test for non-LTS
326509         ubuntu @ 2016-07-07 19:29:13 UTC
326510
326511         · 685df80929 Merge pull request #34518 from terminalmage/fix-pkg.lat‐
326512           est-test
326513
326514         · 4aef44ecdf Fix pkg.latest integration test for non-LTS ubuntu
326515
326516       · PR #34513: (cachedout) Lower the log level for modules  which  cannot
326517         be loaded to trace @ 2016-07-07 17:00:48 UTC
326518
326519         · a516f116d1    Merge    pull    request    #34513    from    cached‐
326520           out/lower_loader_log
326521
326522         · 733c5d00c0 Lower the log level for modules which cannot  be  loaded
326523           to trace
326524
326525       · PR  #34498:  (rallytime)  Use -O in the wget example in the bootstrap
326526         tutorial for the develop branch @ 2016-07-07 16:30:46 UTC
326527
326528         · 63f0451041 Merge pull request #34498 from rallytime/bootstrap-tuto‐
326529           rial-doc-fix
326530
326531         · 23c5739c3b Use -O in wget develop example in bootstrap tutorial
326532
326533         · PR #34503: (rallytime) Rename some unit test files by adding _test
326534
326535       · ISSUE  #34302:  (ghost)  Salt gitfs loads top files from all branches
326536         and tags (refs: #34505)
326537
326538         · PR #34505: (terminalmage) Improve top file merging documentation
326539
326540         · PR #34492: (zer0def) Gracefully handle non-XML output in  GlusterFS
326541           execution module.
326542
326543         · PR  #34489:  (justinta)  Use skipTest for network state integration
326544           test
326545
326546       · ISSUE #34261: (vernondcole) salt.modules.dnsmasq documentation errors
326547         (refs: #34488, #34323)
326548
326549         · PR  #34488:  (rallytime) Update dnsmasq.get_config docs to use cor‐
326550           rect config_file param.
326551
326552       · PR #34462: (terminalmage) Use --always when available to git describe
326553         @ 2016-07-06 03:59:33 UTC
326554
326555         · e2f576e847    Merge    pull    request    #34462   from   terminal‐
326556           mage/git-describe-always
326557
326558         · 6ef7ee198e Restrict use of --always to git 1.5.6 and newer
326559
326560         · c554b22fc8    modules/git:    added    --always    parameter    for
326561           git.describe().
326562
326563       · PR  #34467:  (rallytime)  Back-port  #34457  to  2015.8  @ 2016-07-06
326564         03:56:58 UTC
326565
326566         · PR #34457: (ryan-lane) Only access key metadata  if  we  found  key
326567           metadata (refs: #34467)
326568
326569         · 85f1f18239 Merge pull request #34467 from rallytime/bp-34457
326570
326571         · 746883741f Only access key metadata if we found key metadata
326572
326573       · PR #34432: (twangboy) Fix file.append @ 2016-07-05 23:14:22 UTC
326574
326575         · 9e15337b74 Merge pull request #34432 from twangboy/fix_file.append
326576
326577         · 13f11fddce Remove refactoring code
326578
326579         · 78f7c530bb Remove unit tests, integration tests written
326580
326581         · b83392edea Remove len() in favor of boolean test
326582
326583         · 4373408163 Fix line error
326584
326585         · 2479b53e2f Fix erroneous report on newline code
326586
326587         · 75b6ed1fd5 Change back to binary read
326588
326589         · 65753cff6d Use os.linesep instead of n
326590
326591         · a55d63f086 Fix object names
326592
326593         · 3e2fe12e5e Add new line if missing
326594
326595         · 0b7821c8db Fix file.append state
326596
326597       · PR #34429: (terminalmage) Skip version checking for targeted packages
326598         in pkg.latest state @ 2016-07-05 17:50:41 UTC
326599
326600         · 91e095bb41 Merge pull  request  #34429  from  terminalmage/pkg-lat‐
326601           est-versioncheck
326602
326603         · 667f31a72a  Skip version checking for targeted packages in pkg.lat‐
326604           est state
326605
326606         · PR #34455: (cro) Forgot reference to inotify
326607
326608       · PR #34451: (rallytime) [2015.8] Merge forward from 2015.5 to 2015.8 @
326609         2016-07-05 15:57:54 UTC
326610
326611         · 7bb0868c66 Merge pull request #34451 from rallytime/merge-2015.8
326612
326613         · 55a91e22be Merge branch '2015.5' into '2015.8'
326614
326615         · 8c72ee56e4  Merge  pull request #34435 from cachedout/backport_con‐
326616           fig_dir_integration
326617
326618           · 0e2c71a537 Backport change to integraiton test suite
326619
326620       · ISSUE #34390: (mgresser) Use rpmdev-vercmp to determine correct  ver‐
326621         sion of rpms in CentOS5 (refs: #34401)
326622
326623       · PR #34401: (terminalmage) Use rpmdev-vercmp as a fallback for version
326624         comparison on RHEL5 @ 2016-07-01 17:42:24 UTC
326625
326626         · e65d1ae374 Merge pull  request  #34401  from  terminalmage/rpm-ver‐
326627           sion_cmp
326628
326629         · 7cefd4182d  Use  rpmdev-vercmp as a fallback for version comparison
326630           on RHEL5
326631
326632       · PR #34366: (steverweber) Update service.py @ 2016-07-01 17:40:31 UTC
326633
326634         · 5ddf417432 Merge pull request #34366 from steverweber/fix_servicer‐
326635           estart
326636
326637         · 7847c39024 Update service.py
326638
326639       · PR  #34426:  (cro)  Document  that inotify is Linux only @ 2016-07-01
326640         17:04:38 UTC
326641
326642         · 485454febb Merge pull request #34426 from cro/inotify-linux-only
326643
326644         · 54a02f25ba Document that inotify is Linux only
326645
326646       · PR #34392: (cro) Clarify that salt-cloud  doesn't  get  installed  by
326647         bootstrap @ 2016-06-30 18:16:23 UTC
326648
326649         · fe18bbb527  Merge pull request #34392 from cro/salt-cloud-doc-clar‐
326650           ify
326651
326652         · 6cce575d40 Clarify that salt-cloud doesn't get installed  by  boot‐
326653           strap
326654
326655       · PR  #34373:  (justinta)  Network  state integration test @ 2016-06-30
326656         15:05:44 UTC
326657
326658         · 45b8fb10d7 Merge pull request #34373 from jtand/network_state_inte‐
326659           gration_test
326660
326661         · 1d24053e36 network.system sls file
326662
326663         · 4a9e6af542 network.routes sls file
326664
326665         · 76c90b2ef6 network.managed sls file
326666
326667         · 84a36369fa Added network state integration test
326668
326669         · PR  #34377: (terminalmage) Optimize pkg integration tests and add a
326670           couple new tests
326671
326672       · PR #34368: (rallytime) [2015.8] Merge forward from 2015.5 to 2015.8 @
326673         2016-06-29 17:54:49 UTC
326674
326675         · af8ef1e461 Merge pull request #34368 from rallytime/merge-2015.8
326676
326677         · 3bce0cb510 Merge branch '2015.5' into '2015.8'
326678
326679         · 970aaa46d4 Merge pull request #34252 from gtmanfred/2015.5
326680
326681           · 82183f1572  return  list  of  nodes  for  lxc  driver when called
326682             directly
326683
326684         · PR #34344: (rallytime) Back-port #34324 to 2015.8
326685
326686         · PR #34324: (cachedout) Test custom grains matcher (refs: #34344)
326687
326688       · ISSUE #33674: (edgan) salt-ssh returns a zero code on jinja  template
326689         failure. (refs: #34316)
326690
326691       · ISSUE #28300: (srkunze) [salt-ssh] Does not return non-zero exit code
326692         (refs: #34316)
326693
326694         · PR #34342: (rallytime) Back-port #34316 to 2015.8
326695
326696         · PR #34316: (edgan) Making salt-ssh pass  proper  return  codes  for
326697           jinja rendering errors (refs: #34342)
326698
326699         · PR #34339: (terminalmage) Revert py3modernize lint changes
326700
326701       · PR  #34306:  (ghedo)  Fix iptables.flush state: Do not force 'filter'
326702         table when flushing @ 2016-06-28 19:03:14 UTC
326703
326704         · 046bdaa9f2 Merge pull request #34306 from  ghedo/iptables_flush_ta‐
326705           ble
326706
326707         · 882c6c9c86 Do not force 'filter' table when flushing
326708
326709       · ISSUE #34261: (vernondcole) salt.modules.dnsmasq documentation errors
326710         (refs: #34488, #34323)
326711
326712       · ISSUE #34249: (ssgward) Clarify doc on file.copy (refs: #34323)
326713
326714       · ISSUE #34247: (gravyboat) Update  logging  docs  to  mention  profile
326715         level (refs: #34323)
326716
326717       · ISSUE #33694: (hjc) Document That Local Files Can Be Used as a Source
326718         for File States (refs: #34323)
326719
326720         · PR #34323: (jacobhammons) Doc clarifications to file modules, addi‐
326721           tion of new profile log lev…
326722
326723         · PR  #34325:  (terminalmage)  Remove  unnecessarily-disabled  sanity
326724           check
326725
326726       · PR #34335: (rallytime) [2015.8] Merge forward from 2015.5 to 2015.8 @
326727         2016-06-28 15:07:15 UTC
326728
326729         · c5890a0eca Merge pull request #34335 from rallytime/merge-2015.8
326730
326731         · 2296587536 Merge branch '2015.5' into '2015.8'
326732
326733         · 6cce545d92   Merge   pull   request   #34313  from  rallytime/boot‐
326734           strap-2015.5
326735
326736           · c7db73be92 [2015.5] Update to latest bootstrap script v2016.06.27
326737
326738         · PR #34319: (rallytime) Back-port #34244 to 2015.8
326739
326740         · PR #34244: (the-glu) Typo in dockerio doc (refs: #34319)
326741
326742       · PR #34312: (rallytime) [2015.8] Update  to  latest  bootstrap  script
326743         v2016.06.27 @ 2016-06-27 18:59:59 UTC
326744
326745         · dd4c937009   Merge   pull   request   #34312  from  rallytime/boot‐
326746           strap-2015.8
326747
326748         · 944a393f89 [2015.8] Update to latest bootstrap script v2016.06.27
326749
326750       · PR #34307: (rallytime) Fix test example in integration testing docs @
326751         2016-06-27 17:41:24 UTC
326752
326753         · 91703d2dc4  Merge pull request #34307 from rallytime/fix-test-exam‐
326754           ple
326755
326756         · f44a0543fe Fix test example in integration testing docs
326757
326758       · PR #34233: (thegoodduke) ipset: fix the comment  containing  blank  @
326759         2016-06-24 19:28:34 UTC
326760
326761         · d235b1245b    Merge    pull    request    #34233    from   thegood‐
326762           duke/for_2015.8_ipset
326763
326764         · 4da5e35bf4 ipset: fix the comment containing blank
326765
326766       · ISSUE #34037: (bobrik) salt-call ignores  --config-dir  resulting  in
326767         failing gpg renderer (refs: #34257)
326768
326769       · PR #34257: (rallytime) Use 'config_dir' setting instead of CONFIG_DIR
326770         in gpg renderer @ 2016-06-24 17:25:04 UTC
326771
326772         · 65c5675a3f Merge pull request #34257 from rallytime/fix-34037
326773
326774         · d7a5e9b10e Remove test that doesn't actually test anything
326775
326776         · c4c037d600 Use 'config_dir' setting instead of  CONFIG_DIR  in  gpg
326777           renderer
326778
326779       · ISSUE  #34273:  (clinta)  file.recurse does not properly cache files,
326780         adds a pipe to path (refs: #34274)
326781
326782       · PR #34274: (clinta) Don't escape  source  before  calling  managed  @
326783         2016-06-24 17:23:35 UTC
326784
326785         · 203870f147 Merge pull request #34274 from clinta/2015.8
326786
326787         · 6572454918 Don't escape source before calling managed
326788
326789       · PR #34258: (rallytime) [2015.8] Merge forward from 2015.5 to 2015.8 @
326790         2016-06-24 14:27:06 UTC
326791
326792         · a59dc85a15 Merge pull request #34258 from rallytime/merge-2015.8
326793
326794         · ea914b67cd Merge branch '2015.5' into '2015.8'
326795
326796         · 8d5ed91980   Merge    pull    request    #34225    from    richard‐
326797           scollin/fix-win-set-datetime
326798
326799           · 6286771ef7 Fix win_system.set_system_date_time
326800
326801         · cb1e8bf082    Merge    pull    request    #34232    from   thegood‐
326802           duke/for_2015.5_ipset
326803
326804           · 344eb60762 ipset: fix commont containing blank
326805
326806       · ISSUE #33873: (hrumph) refresh: True not working  with  pkg.installed
326807         state (refs: #34093)
326808
326809       · PR #34093: (terminalmage) Catch CommandExecutionError in pkg states @
326810         2016-06-23 21:00:13 UTC
326811
326812         · 92962957c8 Merge pull request #34093 from terminalmage/issue33873
326813
326814         · 5edb45d746 win_pkg: refresh pkg database if refresh=True passed  to
326815           version() or list_pkgs()
326816
326817         · 0078adee35 Catch CommandExecutionError in pkg states
326818
326819       · PR  #34136:  (meaksh)  Fixed  behavior for SUSE OS grains in 2015.8 @
326820         2016-06-23 20:24:58 UTC
326821
326822         · PR #34134: (meaksh) Fixed behavior for SUSE  OS  grains  in  2016.3
326823           (refs: #34136)
326824
326825         · PR  #33903:  (meaksh) Fetching grains['os'] from /etc/os-release on
326826           SUSE systems if it is possible (refs: #34134)
326827
326828         · cb5399787c      Merge      pull      request      #34136       from
326829           meaksh/salt-suse-os-detection-2015.8
326830
326831         · 97f1958863 some cleanup and renaming
326832
326833         · 72c8e5d78f better way to check for openSUSE Leap
326834
326835         · 548971bdc9 Fix for SUSE OS grains in 2015.8
326836
326837       · ISSUE  #34074:  (fooka03) Unable to use S3 file backend with 2016.3.1
326838         on Ubuntu 14.04 or 16.04 (refs: #34208)
326839
326840       · ISSUE #32916: (giannello) file.managed memory usage with  s3  sources
326841         (refs: #33599)
326842
326843         · PR  #34208:  (lomeroe)  fix  regression  from  #33681  which causes
326844           pulling a list of s3 objects …
326845
326846         · PR #33681: (rallytime) Back-port #33599 to 2015.8 (refs: #34208)
326847
326848         · PR #33599: (lomeroe) Fix s3 large file download (refs: #33681)
326849
326850       · ISSUE #34213: (terminalmage) gitfs w/pygit2 - corner case,  traceback
326851         with short hexidecimal environment names (refs: #34218)
326852
326853       · ISSUE  #34212:  (terminalmage) gitfs: commit SHAs no longer available
326854         as fileserver environments (refs: #34218)
326855
326856         · PR #34218: (terminalmage) Fix a pair of gitfs bugs
326857
326858       · ISSUE #34043: (rallytime) state  execution  stacktraces  when  psutil
326859         isn't installed (refs: #34182)
326860
326861       · PR #34182: (rallytime) Handle child PIDs differently depending on the
326862         availability of psutils @ 2016-06-22 19:22:06 UTC
326863
326864         · PR #33942: (cachedout) ZD 762 (refs: #34182)
326865
326866         · 6d643cd528 Merge pull request #34182 from rallytime/fix-34043
326867
326868         · b7d49c5052 Handle child PIDs differently depending  on  the  avail‐
326869           ability of psutils
326870
326871         · PR  #34188: (terminalmage) Clarify pkg.list_repo_pkgs docstring for
326872           held packages
326873
326874         · PR #34206:  (terminalmage)  Change  target  for  dockerng  assuming
326875           default status to Nitrogen release
326876
326877       · PR #34184: (rallytime) [2015.8] Merge forward from 2015.5 to 2015.8 @
326878         2016-06-21 21:43:46 UTC
326879
326880         · 1c4369d093 Merge pull request #34184 from rallytime/merge-2015.8
326881
326882         · 8e36e90966 Merge branch '2015.5' into '2015.8'
326883
326884         · 5411ebb3b4 Merge pull request #34141 from jtand/boto_vpc_test_fix
326885
326886           · b7ac6c735a Moved imports to top, out of  _get_moto_version  func‐
326887             tion
326888
326889           · 02f9ba99ba Updated version check. Moved check into it's own func‐
326890             tion
326891
326892           · d445026c56 Updated test to work with new  moto  version.  Changed
326893             strings to unicode
326894
326895       · ISSUE  #33972:  (morganwillcock)  2016.3.1  breaks  diskusage  beacon
326896         (refs: #34176, #34103)
326897
326898       · PR #34176:  (rallytime)  Back-port  #34103  to  2015.8  @  2016-06-21
326899         20:01:46 UTC
326900
326901         · PR #34103: (morganwillcock) Fix diskusage beacon (refs: #34176)
326902
326903         · PR #33474: (cachedout) Fix diskusage beacon (refs: #34103)
326904
326905         · c059d6c08c Merge pull request #34176 from rallytime/bp-34103
326906
326907         · 2e5e7ed03c Fix diskusage beacon
326908
326909       · ISSUE #34114: (onorua) can't read PID from lock file due to exception
326910         if gitfs_global_lock is enabled (refs: #34179)
326911
326912       · PR #34179: (terminalmage) Raise  the  correct  exception  when  gitfs
326913         lockfile is empty @ 2016-06-21 20:00:59 UTC
326914
326915         · 5cbaaed167 Merge pull request #34179 from terminalmage/issue34114
326916
326917         · 86d1b8e864 Raise the correct exception when gitfs lockfile is empty
326918
326919       · PR  #34178:  (terminalmage)  Remove unnecesssary comment @ 2016-06-21
326920         19:15:37 UTC
326921
326922         · 67deded119 Merge pull request #34178 from  terminalmage/remove-com‐
326923           ment
326924
326925         · 4965be72b1 Remove unnecesssary comment
326926
326927         · PR  #34165:  (mcalmer)  fix  salt --summary to count not responding
326928           minions correctly
326929
326930         · PR #34175: (rallytime) Back-port #34128 to 2015.8
326931
326932         · PR #34128: (bebehei) doc: add missing dot (refs: #34175)
326933
326934         · PR #34174: (rallytime) Back-port #34066 to 2015.8
326935
326936         · PR #34066: (complexsplit) Typo fix (refs: #34174)
326937
326938       · PR #34077: (rallytime) Add some grains targeting tests  @  2016-06-21
326939         16:06:30 UTC
326940
326941         · 3669048654 Merge pull request #34077 from rallytime/grains-tests
326942
326943         · 2199bb8a78 Add integration tests for grains.append
326944
326945         · 37cfe70724 Add some grains targeting tests
326946
326947       · PR  #34142: (isbm) Move log message from INFO to DEBUG.  @ 2016-06-20
326948         18:57:34 UTC
326949
326950         · 65fba5b4d7      Merge      pull      request      #34142       from
326951           isbm/isbm-getid-loglevel-shift
326952
326953         · 236a67b702 Move log message from INFO to DEBUG.
326954
326955         · PR  #34100: (terminalmage) Update documentation on "refresh" behav‐
326956           ior in pkg states
326957
326958         · PR #34072: (jfindlay) modules.pkg int tests: skip  refresh_db  upon
326959           error
326960
326961       · PR  #34069:  (rallytime)  Add a test to check for disconnected minion
326962         messaging @ 2016-06-16 21:18:38 UTC
326963
326964         · 1b76de1557  Merge  pull  request  #34069  from  rallytime/test-min‐
326965           ion-return-message
326966
326967         · 60561ac6fc Add a test to check for disconnected minion messaging
326968
326969       · ISSUE #30100: (armooo) Masterless gitfs performance (refs: #34048)
326970
326971       · PR  #34048:  (terminalmage) RFC: proposed fix for multiple fileserver
326972         updates in masterless runs @ 2016-06-16 21:10:59 UTC
326973
326974         · 3119693dac Merge pull request #34048 from terminalmage/issue30100
326975
326976         · 715e7af8a4 Ensure only one fileserver update in a masterless run
326977
326978       · PR #34011: (rallytime)  Back-port  #33948  and  #34009  to  2015.8  @
326979         2016-06-16 15:41:02 UTC
326980
326981         · PR #34009: (rallytime) Back-port #33948 to 2016.3 + add log message
326982           (refs: #34011)
326983
326984         · PR #33948: (cachedout) Save an entire  minion  cache  traversal  on
326985           each master pub (refs: #34011, #34009)
326986
326987         · dd03024931 Merge pull request #34011 from rallytime/bp-33948-2015.8
326988
326989         · a4660d1ff7  Warn  when custom returners don't have minions kwarg in
326990           save_load
326991
326992         · 78befde62f Add note to release notes about returner  minions  kwarg
326993           change
326994
326995         · 4e7f35fa36 Fix loop over cache in auth checking!
326996
326997         · 06963e0505 Save an entire minion cache traversal on each master pub
326998
326999         · PR  #34051:  (tegbert) Fixed a bug in the consul.py module that was
327000           preventing services
327001
327002       · PR #34045: (jacobhammons) Updated latest release version @ 2016-06-15
327003         19:22:43 UTC
327004
327005         · 8ba117c7f6 Merge pull request #34045 from jacobhammons/release-prev
327006
327007         · 43b4a12aa2 Updated latest release version
327008
327009         · PR  #34020:  (twangboy) Always make changes to minion config if set
327010           (2015.8)
327011
327012         · PR #34030: (vutny) More YAML  indentation  fixes  in  state  module
327013           examples
327014
327015         · PR  #34003:  (vutny)  states.file: fix indentation in YAML examples
327016           (refs: #34030)
327017
327018       · PR #34018: (rallytime) [2015.8] Merge forward from 2015.5 to 2015.8 @
327019         2016-06-14 22:53:19 UTC
327020
327021         · 5b5eae4ca9 Merge pull request #34018 from rallytime/merge-2015.8
327022
327023         · 77f44f3087 Merge branch '2015.5' into '2015.8'
327024
327025         · 871f7966ce Lint fix for #34000 (#34005)
327026
327027         · f758e42172 Fix incorrectly written test (#34000)
327028
327029         · cf6281b4cf  Add  loader.utils()  example  to calling minion_mods (‐
327030           #33953)
327031
327032         · 6b98e8a9ea Merge pull request #33880 from terminalmage/zh744
327033
327034           · ea726d11c8 pkg.uptodate: Pass kwargs to pkg.list_upgrades
327035
327036           · de90b35d2b  salt/modules/zypper.py:  add  fromrepo   support   to
327037             list_upgrades
327038
327039           · 35fbb06df5 salt/modules/win_pkg.py: add kwargs to list_upgrades
327040
327041           · bf5505f425     salt/modules/solarisips.py:    add    kwargs    to
327042             list_upgrades
327043
327044           · 6e89a8be98 salt/modules/pkgutil.py: add kwargs to list_upgrades
327045
327046           · 5179dbcec4 salt/modules/pacman.py: add kwargs to list_upgrades
327047
327048           · 46e5a52784 salt/modules/macports.py: add kwargs to list_upgrades
327049
327050           · 76143b76ca salt/modules/ebuild.py: add kwargs to list_upgrades
327051
327052           · b40fc9bc62 salt/modules/brew.py: add kwargs to list_upgrades
327053
327054           · 4f11c16d86  salt/modules/aptpkg.py:  add  fromrepo   support   to
327055             list_upgrades
327056
327057         · cb88960ed1 Merge pull request #33904 from rallytime/bp-33806
327058
327059           · 638ccf501d Work around upstream cherrypy bug
327060
327061         · PR  #34003:  (vutny)  states.file: fix indentation in YAML examples
327062           (refs: #34030)
327063
327064       · ISSUE #20809: (lorengordon) Function pam.read_file is not  available?
327065         (refs: #34002)
327066
327067         · PR #34002: (lorengordon) Remove loader test for pam module
327068
327069       · PR  #33990: (jacobhammons) Adds links to several current Salt-related
327070         projects @ 2016-06-14 01:15:20 UTC
327071
327072         · c4dab6a074  Merge  pull  request  #33990  from  jacobhammons/commu‐
327073           nity-projects
327074
327075         · b20213fd79  Adds  links  to  several  current Salt-related projects
327076           Removes the salt_projects.rst file which hasn't been updated  in  a
327077           long    time,    this    is    replaced   by   the   updated   top‐
327078           ics/projects/index.rst file Adds a note  about  Salt  Pack  to  the
327079           installation doc
327080
327081       · PR   #33983:   (twangboy)  Clarify  the  account_exists  parameter  @
327082         2016-06-14 01:11:48 UTC
327083
327084         · 444c15792c    Merge    pull    request    #33983    from     twang‐
327085           boy/fix_docs_join_domain
327086
327087         · b057be04b4 Fix typo, more documentation
327088
327089         · d8c2f3e57a Clarify the account_exists parameter
327090
327091       · PR  #33951: (jfindlay) modules.gem int tests: more fixes @ 2016-06-14
327092         00:46:43 UTC
327093
327094         · 9bd2317992 Merge pull request #33951 from jfindlay/gem_tests
327095
327096         · 2eb633ccad modules.gem int tests: only check known installed gems
327097
327098         · 9f3e18b037 modules.gem int tests: (un)install a non-core gem
327099
327100       · PR #33984: (jfindlay) Add docs and tests to disk state  @  2016-06-14
327101         00:43:38 UTC
327102
327103         · 53baae6eb1 Merge pull request #33984 from jfindlay/disk_capacity
327104
327105         · 6cbe31e6c2 states.disk: rewrite unit tests
327106
327107         · 82c77b533f states.disk.status: validate percent values
327108
327109         · aedc4e15e5 states.disk: add documentation
327110
327111       · PR  #33985:  (rallytime) Write some more simple batch command tests @
327112         2016-06-14 00:38:05 UTC
327113
327114         · fa5efb6a69    Merge    pull    request    #33985    from     rally‐
327115           time/more-batch-tests
327116
327117         · 3e7ab8c7b3 Write some more simple batch command tests
327118
327119         · PR #33684: (jfindlay) add acl unit tests
327120
327121         · PR #33942: (cachedout) ZD 762 (refs: #34182)
327122
327123       · PR  #33946:  (rallytime)  Back-port  #33698  to  2015.8  @ 2016-06-13
327124         15:55:22 UTC
327125
327126         · PR #33698: (opdude) Vsphere fixes (refs: #33946)
327127
327128         · 0281d491c6 Merge pull request #33946 from rallytime/bp-33698
327129
327130         · 5fdfed1cb9 Make sure we only use GetConnection if we  are  using  a
327131           proxy salt minion
327132
327133         · 1505c5724b  Fix  a bug with self signed certificates and creating a
327134           new VM
327135
327136       · ISSUE #33911: (xlotlu) salt-ssh + grains.filter_by Type  error:  fil‐
327137         ter_by() got an unexpected keyword argument 'base' (refs: #33952)
327138
327139       · PR  #33952:  (rallytime) Add base argument to salt-ssh grains wrapper
327140         for filter_by func @ 2016-06-13 15:51:33 UTC
327141
327142         · dff3f51955 Merge pull request #33952 from rallytime/fix-33911
327143
327144         · 03b7cbbd2c Add base argument to salt-ssh grains  wrapper  for  fil‐
327145           ter_by func
327146
327147         · PR #33962: (jacobhammons) Adds a "Generated on <timestamp>" line to
327148           the html footer
327149
327150       · ISSUE #29525: (apergos) master config setting ping_on_rotate is  bro‐
327151         ken if minion_data_cache is disabled (refs: #33765)
327152
327153         · PR  #33765: (cachedout) Correct issue with ping on rotate with min‐
327154           ion cache
327155
327156       · PR #33888: (jfindlay) random.org checks @ 2016-06-10 15:45:07 UTC
327157
327158         · 378dd7ca06 Merge pull request #33888 from jfindlay/random_check
327159
327160         · 6acee3cc30 modules.random_org._query: only return text if present
327161
327162         · 82f95429db modules.random_org unit tests: skip if random.org down
327163
327164         · 1f9422e0cd utils.http.query: also except gaierror with tornado
327165
327166       · ISSUE #31499: (Reiner030)  FeatureRequest:  boto_elb  misses  connec‐
327167         tion_settings - idle_timeout (refs: #33936)
327168
327169         · PR  #33936:  (rallytime)  Add connecting_settings to boto_elb state
327170           attributes list
327171
327172       · ISSUE #29249: (timcharper) salt-cloud  sync_after_install:  all  does
327173         not seem to sync anything at all (refs: #33917)
327174
327175         · PR #33917: (techhat) Wait for up to a minute for sync_after_install
327176
327177       · PR #33877: (rallytime) [2015.8] Merge forward from 2015.5 to 2015.8 @
327178         2016-06-09 14:50:42 UTC
327179
327180         · ef6da0be5d Merge pull request #33877 from rallytime/merge-2015.8
327181
327182         · 398534a9e7 Fix ret return from merge-conflict resolution
327183
327184         · b8e4706074 Merge branch '2015.5' into '2015.8'
327185
327186         · cdda593c50 Merge pull request #33829 from  terminalmage/update-ver‐
327187           sionchanged
327188
327189           · f7028eb1c6 Update versionchanged directive
327190
327191         · b8e6c144d8 Merge pull request #33833 from terminalmage/issue33645
327192
327193           · 91745c2a67 Support syncing pillar modules to masterless minions
327194
327195         · e061788e81   Merge   pull   request  #33814  from  terminalmage/ar‐
327196           chive-extracted-xz
327197
327198           · 897a716df2 Support extraction of XZ archives in archive.extracted
327199             state
327200
327201         · fa983e91cf    Merge   pull   request   #33778   from   sodium-chlo‐
327202           ride/2015.5-2016-0604-1938
327203
327204           · a5fb6d7a69 Fix minor docstring issues
327205
327206         · b9133326c8   Merge   pull   request    #33726    from    jtand/sys‐
327207           mod_skip_valid_docs_glance
327208
327209           · ebee8a89af  glance.warn_until  shouldn't  be  checked  for  a doc
327210             string
327211
327212         · 137f0b19f3 Merge pull request #33611 from TargetHolding/2015.5
327213
327214           · 1dd15a603b  solve'  TypeError:  expected  string  or  buffer'  in
327215             json/decoder.py
327216
327217           · eaf42ca892 solve AttributeError: 'module' object has no attribute
327218             'exception'
327219
327220       · ISSUE #33810: (chiro79) locate.locate fails always (refs: #33827)
327221
327222       · PR #33827: (cachedout) Fix broken locate.locate function @ 2016-06-08
327223         13:49:57 UTC
327224
327225         · ec09095c45 Merge pull request #33827 from cachedout/issue_33810
327226
327227         · 9d36f1e474 Fix broken locate.locate function
327228
327229       · PR   #33839:   (cachedout)   Fix  another  unit  test  stacktrace  in
327230         pkg_resource @ 2016-06-08 13:32:55 UTC
327231
327232         · f7b3d0eda0 Merge  pull  request  #33839  from  cachedout/fix_pkgre‐
327233           source_test_stacktrace
327234
327235         · 435547a747 Fix another unit test stacktrace in pkg_resource
327236
327237       · PR #33840: (cachedout) Remove matcher tests @ 2016-06-08 13:31:41 UTC
327238
327239         · 5f081ef31c    Merge    pull    request    #33840    from    cached‐
327240           out/remove_matcher_unit_tests
327241
327242         · 6297448377 Remove matcher tests
327243
327244       · PR #33836: (cachedout) Fixing more stupid  unit  tests  @  2016-06-07
327245         21:34:04 UTC
327246
327247         · cda032dab2   Merge  pull  request  #33836  from  cachedout/fix_win‐
327248           server_manager_test
327249
327250         · 453fb1ac91 Fixing more stupid unit tests
327251
327252       · PR #33805: (jfindlay) states.pkg int tests: skip if pkg mgr  unavail‐
327253         able @ 2016-06-07 14:40:47 UTC
327254
327255         · 1db559afe9 Merge pull request #33805 from jfindlay/pkg_tests
327256
327257         · 0c069ddc95 states.pkg int tests: skip if pkg mgr unavailable
327258
327259       · PR  #33808: (jfindlay) fix some problems with the gem module integra‐
327260         tion tests @ 2016-06-07 14:40:25 UTC
327261
327262         · 3984b65486 Merge pull request #33808 from jfindlay/gem_tests
327263
327264         · f7c19a1a58 modules.gem int tests: relax version checks
327265
327266         · 6af47d2ba7  modules.gem  int  tests:  remove  pkgs  before  testing
327267           install
327268
327269       · PR  #33770:  (jfindlay)  service state integration tests @ 2016-06-07
327270         14:37:54 UTC
327271
327272         · c30d8a8c61 Merge pull request #33770 from jfindlay/service_tests
327273
327274         · f13f914755 states.service: add integration tests
327275
327276         · 90aee79c39 states.service.mod_watch: update unit test
327277
327278         · d210a92f09 states.service.mod_watch: update sfun and force docs
327279
327280       · PR #33691: (justinta) Gem integration test @ 2016-06-06 11:13:23 UTC
327281
327282         · 7fdfbe9a28  Merge  pull  request  #33691  from   jtand/gem_integra‐
327283           tion_test
327284
327285         · ff2dae103d  ubuntu  doesn't  install  default  gems  when  ruby  is
327286           installed
327287
327288         · 504df9a65a Fixed lint error
327289
327290         · 0cb1bfa0d3 Removed extra :
327291
327292         · 86f59b3e80 Made more pythonic
327293
327294         · 2f36f34981 Fixed salt.util import. Added status check to make  sure
327295           external resource is available
327296
327297         · 400a71ec33 Removed redundancies
327298
327299         · 91db411bea A couple lint fixes
327300
327301         · c97f3319b9 Add check for gem binary
327302
327303         · 210aceb402 Refactored tests to not use return messages
327304
327305         · 9d437bd45d Removed artifact from testing
327306
327307         · 134e1fa888 Fixed typos, and added destructiveTest decorator
327308
327309         · 37bc3ad8fd Fixed typo, uninstalled to uninstall
327310
327311         · 5b23b91ac6 Integration test for gem module
327312
327313       · PR  #33777: (sacren) Fix minor docstring issue of arg being missing @
327314         2016-06-06 10:44:59 UTC
327315
327316         · bb4194bb79   Merge   pull   request   #33777   from    sodium-chlo‐
327317           ride/2015.8-2016-0604-1939
327318
327319         · c1fd830a1a Fix minor docstring issue of arg being missing
327320
327321       · ISSUE   #31219:   (gladiatr72)   when   the  minions  have  all  been
327322         destroyed... (refs: #33759)
327323
327324       · PR #33759: (cachedout) Catch no minions exception  in  batch  mode  @
327325         2016-06-03 21:22:49 UTC
327326
327327         · c749aea409 Merge pull request #33759 from cachedout/issue_31219
327328
327329         · 15a39f8646 Catch no minions exception in batch mode
327330
327331       · ISSUE  #33554:  (jfindlay) local cache missing directories while run‐
327332         ning test suite (refs: #33653)
327333
327334       · PR #33719: (cachedout) Catch oserror for race condition @  2016-06-03
327335         17:25:26 UTC
327336
327337         · PR  #33653:  (cachedout) Create missing jid dir if it doesn't exist
327338           (refs: #33719)
327339
327340         · 47d668e071 Merge pull request #33719 from cachedout/fixup_33653
327341
327342         · 635efa248b Change to just surround the mkdir
327343
327344         · 21b7123a60 Catch oserror for race condition
327345
327346       · PR #33712: (meaksh) Fix for groupadd  execution  module  failures  in
327347         SLES11 systems @ 2016-06-03 16:13:06 UTC
327348
327349         · 11e39e7203       Merge      pull      request      #33712      from
327350           meaksh/fix-for-groupadd-module-failures-in-SLE11-2015.8
327351
327352         · ab738416ba pylint fix
327353
327354         · bf27e5d36e test_members cleanup
327355
327356         · ba815dbf76 improvements on groupadd unit tests
327357
327358         · 3bbc5ae0d9 one line is better
327359
327360         · a53dc192c9 fix groupadd module for sles11 systems
327361
327362       · PR #33718:  (rallytime)  Back-port  #33700  to  2015.8  @  2016-06-03
327363         16:10:44 UTC
327364
327365         · PR   #33700:   (sacren)   Fix   incorrect   args  passed  to  time‐
327366           zone.set_hwclock (refs: #33718)
327367
327368         · 2c450a7494 Merge pull request #33718 from rallytime/bp-33700
327369
327370         · a6a446121a Fix speed issue
327371
327372         · a41146730a Fix incorrect args passed to timezone.set_hwclock
327373
327374       · ISSUE #33725: (terminalmage) git_pillar w/pygit2 fails to checkout  a
327375         non-master  branch  when  remote  repo  has  no  master branch (refs:
327376         #33727)
327377
327378       · PR #33727: (terminalmage) Fix git_pillar edge case for  remote  repos
327379         without a master branch @ 2016-06-03 16:03:59 UTC
327380
327381         · b07701f0a0 Merge pull request #33727 from terminalmage/issue33725
327382
327383         · d8ba7ed5a5 Fix git_pillar edge case for remote repos without a mas‐
327384           ter branch
327385
327386       · PR #33728: (jfindlay) Make  configurable_test_state  configurable  in
327387         test mode @ 2016-06-03 16:02:57 UTC
327388
327389         · 015e50cec8 Merge pull request #33728 from jfindlay/test_state_test
327390
327391         · 87e018af2a states.test.configurable_test_state: add unit tests
327392
327393         · c2d0679c4b       states.test.configurable_test_state:      refactor
327394           change_data
327395
327396         · f06ff1af1f states.test.configurable_test_state test mode
327397
327398       · PR #33729: (twangboy)  Add  exclude  option  to  win_servermanager  @
327399         2016-06-03 15:53:13 UTC
327400
327401         · 1cf8fe3f1d  Merge pull request #33729 from twangboy/fix_win_server‐
327402           manager
327403
327404         · 2de91d166f Fix docstring
327405
327406         · 9870479d99 Add exclude option to state
327407
327408         · 50bd76e206 Add exclude option
327409
327410       · ISSUE     #31816:     (vutny)     Deprecate     or     update     the
327411         http://debian.saltstack.com/ (refs: #33743)
327412
327413       · PR  #33743: (vutny) Debian installation docs: drop section about com‐
327414         munity-maintained repo @ 2016-06-03 15:29:45 UTC
327415
327416         · 6c150d840d Merge pull request #33743 from  vutny/drop-debian-commu‐
327417           nity-repo-doc
327418
327419         · 8621f5be54  Debian  installation  docs:  drop  section about commu‐
327420           nity-maintained repository
327421
327422       · ISSUE #33554: (jfindlay) local cache missing directories  while  run‐
327423         ning test suite (refs: #33653)
327424
327425         · PR  #33653:  (cachedout) Create missing jid dir if it doesn't exist
327426           (refs: #33719)
327427
327428       · PR #33654: (twangboy) Fix win servermanager @ 2016-06-02 17:55:45 UTC
327429
327430         · 8a566ff4b9 Merge pull request #33654 from  twangboy/fix_win_server‐
327431           manager
327432
327433         · 6c7b21676a Fix lint and tests
327434
327435         · 4775e6bdf0 Add additional params to state
327436
327437         · b0af32346d Add additional params to install and remove
327438
327439       · ISSUE #33424: (thusoy) Error logging with non-environment branches in
327440         gitfs (refs: #33679)
327441
327442       · PR #33679: (terminalmage) Only compile the template contents if  they
327443         evaluate to True @ 2016-06-02 17:20:00 UTC
327444
327445         · 996ff56dd4 Merge pull request #33679 from terminalmage/issue33424
327446
327447         · 9da40c4437 Append empty dictionaries for saltenvs with no top file
327448
327449         · 5eb1b3ca62  Only  compile the template contents if they evaluate to
327450           True
327451
327452       · PR #33685: (jfindlay) modules.cp.get_url: add  test  for  https://  @
327453         2016-06-01 22:25:41 UTC
327454
327455         · c8dc70b96a Merge pull request #33685 from jfindlay/get_url_test
327456
327457         · 2b5035fdc0 modules.cp.get_url: add test for https://
327458
327459       · PR  #33581: (dincamihai) Call zypper refresh after adding/modifying a
327460         repository @ 2016-06-01 22:25:11 UTC
327461
327462         · 5e022ff29c Merge pull request #33581 from dincamihai/2015.8
327463
327464         · 788730ea72 DRY test
327465
327466         · 1d3769ccfa Improve zypper_patcher_config looks
327467
327468         · 42d8d4195c Assert only gpgautoimport: True works
327469
327470         · ced75e8e62 Reverse if conditions and rename variable
327471
327472         · 80bfbe5c52 Reduce dicts and lists to one line where possible
327473
327474         · 1d5d6d7d60 Update test method names to pass pylint
327475
327476         · c7ae5907ee Call zypper refresh after adding/modifying a repository
327477
327478       · ISSUE #32916: (giannello) file.managed memory usage with  s3  sources
327479         (refs: #33599)
327480
327481       · PR  #33681:  (rallytime)  Back-port #33599 to 2015.8 (refs: #34208) @
327482         2016-06-01 21:14:29 UTC
327483
327484         · PR #33599: (lomeroe) Fix s3 large file download (refs: #33681)
327485
327486         · 069ee15b7c Merge pull request #33681 from rallytime/bp-33599
327487
327488         · 45143a599b use requests streaming  for  uploads/downloads  to  file
327489           (return_bin  unchanged) allows downloading files larger than amount
327490           of memory (non-stream reads into memory before writing to  disk  or
327491           uploading)
327492
327493         · 4a9b23f03f  first  go  at having requests use streaming for get/put
327494           requests
327495
327496       · ISSUE #33393: (babilen) pip.installed does not work with ancient  pip
327497         versions (refs: #33396)
327498
327499       · PR #33396: (babilen) Issue 33393 @ 2016-06-01 21:12:03 UTC
327500
327501         · 13537c4891 Merge pull request #33396 from babilen/issue-33393
327502
327503         · 57e0475cd4 Make pip InstallationError import more robust
327504
327505         · 291a3e21fa Remove duplicated code.
327506
327507       · PR  #33652:  (terminalmage)  Lower  the  log level for failed auths @
327508         2016-06-01 16:37:09 UTC
327509
327510         · 7bce4ece1a Merge pull request #33652 from terminalmage/zh723
327511
327512         · 411841603a Lower the log level for failed auths
327513
327514       · ISSUE #33582: (waxie) mysql module  gives  traceback  if  no  working
327515         authentication (refs: #33615)
327516
327517       · PR  #33615:  (danslimmon)  Fix  crash  on  unconnectable MySQL server
327518         (resolves #33582) @ 2016-05-31 16:03:51 UTC
327519
327520         · 504989388a Merge pull request #33615  from  danslimmon/mysql-trace‐
327521           back-33582
327522
327523         · 180099ae9f Wrote test for broken server connection
327524
327525         · c6c3ff02e3 Added some error checking to resolve #33582.
327526
327527       · PR #33558: (twangboy) Fix win servermanager @ 2016-05-27 22:05:43 UTC
327528
327529         · b47182e47c  Merge pull request #33558 from twangboy/fix_win_server‐
327530           manager
327531
327532         · 62a6bde0ea Fix comment when already installed
327533
327534         · 79bc7195dc Fix unit tests
327535
327536         · 56a6f6bb83 Fix changes
327537
327538         · 8ebe99ec5e Fix restart_needed
327539
327540         · 6e478cbda0 Add restart needed
327541
327542         · 72ebf26616 Add missing import
327543
327544         · 193583be96 Use dictionary compare for changes in remove
327545
327546         · 1ae7dd76c1 Use dictionary compare for changes
327547
327548       · ISSUE #33544: (tjuup)  Salt  2016.3.0  (Boron)  clean_old_jobs  fails
327549         (refs: #33555)
327550
327551       · PR  #33555: (cachedout) Fix crashing Maintenence process @ 2016-05-26
327552         19:25:39 UTC
327553
327554         · 58d89d66e3 Merge pull request #33555 from cachedout/issue_33544
327555
327556         · fe7ee7a470 Fix crashing Maintenence process
327557
327558       · PR #33501: (meaksh) unit tests for  rpm.checksum()  and  zypper.down‐
327559         load() @ 2016-05-26 14:34:27 UTC
327560
327561         · d052908729  Merge  pull  request  #33501  from  meaksh/zypper-down‐
327562           load-check-signature-2015.8
327563
327564         · eaaef25c79 lint issue fixed
327565
327566         · 6b6febb211 unit tests for rpm.checksum() and zypper.download()
327567
327568       · ISSUE #33319: (ghost) Salt interpets jinja syntax in contents  pillar
327569         (refs: #33513)
327570
327571       · PR #33513: (rallytime) Add a section to the jinja docs about escaping
327572         jinja @ 2016-05-26 14:24:58 UTC
327573
327574         · e2d0c4abb1 Merge pull request #33513 from rallytime/fix-33319
327575
327576         · 81c1471209 Add a section to the jinja docs about escaping jinja
327577
327578       · PR #33520: (jacobhammons) Updated version numbers in the docs for the
327579         2016.3.0 release @ 2016-05-26 14:15:00 UTC
327580
327581         · fabc15e616    Merge    pull    request    #33520   from   jacobham‐
327582           mons/release-notes.8
327583
327584         · 42e358af7d Updated version numbers in the  docs  for  the  2016.3.0
327585           release
327586
327587       · PR #33507: (rallytime) [2015.8] Merge forward from 2015.5 to 2015.8 @
327588         2016-05-25 19:14:41 UTC
327589
327590         · 5a6b037cbd Merge pull request #33507 from rallytime/merge-2015.8
327591
327592         · 03b0c97520 Merge branch '2015.5' into '2015.8'
327593
327594         · 6f7fda0354 Merge pull request #33486 from jtand/2015.5
327595
327596           · d1e210fff8        Merge        branch         '2015.5'         of
327597             https://github.com/saltstack/salt into 2015.5
327598
327599           · ee2ae0ea8a  Added  docstring  examples to glance.image_schema and
327600             schema_get
327601
327602           · 59e90064e6 modules.swift.head does not have a body. Should not be
327603             checked for a docstring right now.
327604
327605         · f72ec1479b   Merge   pull   request   #33482   from  rallytime/pil‐
327606           lar-opts-docs
327607
327608           · 087564528d Add pillar_opts docs to master.rst
327609
327610         · dc644b145d Merge pull request #33488 from rallytime/fix-18752
327611
327612           · b0a9f4181f Add docs for the syndic_finger config
327613
327614         · a4e84aa7d2 Merge pull request #33454 from scubahub/2015.5
327615
327616           · df3c0b8e78 Correct (and make  consistent)  determination  of  the
327617             test flag.
327618
327619         · 3a52ace673 manage account information for pam (#33473)
327620
327621       · ISSUE  #15252:  (gravyboat) Standalone minion docs don't explain what
327622         file is being modified. (refs: #33503)
327623
327624       · PR #33503: (rallytime) Add docs about minion config  file  in  stand‐
327625         alone minion docs @ 2016-05-25 17:23:08 UTC
327626
327627         · ee76be3b0b Merge pull request #33503 from rallytime/fix-15252
327628
327629         · cfc07f7641  Add  docs about minion config file in standalone minion
327630           docs
327631
327632       · PR  #33474:  (cachedout)  Fix  diskusage  beacon  (refs:  #34103)   @
327633         2016-05-25 17:10:54 UTC
327634
327635         · e9b648e461 Merge pull request #33474 from cachedout/issue_29451
327636
327637         · aa2bac3a0d Remove debugging
327638
327639         · 68d8050cb8 Fix diskusage beacon
327640
327641       · PR  #33465:  (meaksh)  jobs.exit_success  allow to check if a job has
327642         executed and exit successfully @ 2016-05-25 16:52:53 UTC
327643
327644         · 3bfb6bf719      Merge      pull      request      #33465       from
327645           meaksh/check-if-job-returns-successfully-2015.8
327646
327647         · 9deb70fd8e  jobs.exit_success()  now  works  parsing the results of
327648           jobs.lookup_id()
327649
327650         · 7ba40c4f31 jobs.exit_success allow to check if a job  has  executed
327651           and exit successfully
327652
327653         · PR saltstack/salt-jenkins#175: (justinta) Adding back shade to set‐
327654           up states (refs: #33487)
327655
327656       · PR #33487: (justinta) Add docstring examples to glance.py and nova.py
327657         [2015.8] @ 2016-05-25 16:47:25 UTC
327658
327659         · 70eb7b66f3 Merge pull request #33487 from jtand/glance_doc_fixes
327660
327661         · 0b1cae05d9 Added docstring examples to glance methods and nova.list
327662
327663         · ebf1256545 Don't need to check swift.head due to it having no body
327664
327665       · ISSUE  #33423: (warden) etcd profile doesn't work when used in master
327666         conf file (refs: #33481)
327667
327668       · PR #33481: (rallytime) Fix docs about etcd  config  options  and  add
327669         pillar_opts doc (refs: #33482) @ 2016-05-25 16:41:56 UTC
327670
327671         · 56ea979916 Merge pull request #33481 from rallytime/fix-33423
327672
327673         · 7fd3e8f361  Fix  docs about etcd config options and add pillar_opts
327674           doc
327675
327676       · ISSUE #16319: (lsh-0)  create  a  postgresql  query  function  (refs:
327677         #33490)
327678
327679       · PR  #33490:  (rallytime)  Document the postgres.psql_query function @
327680         2016-05-25 16:41:22 UTC
327681
327682         · 2394cdc4bf Merge pull request #33490 from rallytime/fix-16319
327683
327684         · 0c5548f9d1 Document the postgres.psql_query function
327685
327686       · PR #33480: (jfindlay) states.service: minor doc updates @  2016-05-25
327687         16:38:14 UTC
327688
327689         · ede232f0f1 Merge pull request #33480 from jfindlay/service_doc
327690
327691         · 29c00a1b1b states.service: clarify function description language
327692
327693         · 6a9ae09e79 states.service.__virtual__: add load fail reason
327694
327695         · PR #33483: (twangboy) Return full pending computer name (2015.8)
327696
327697       · ISSUE  #32444: (justindesilets) Feature Request - jobs runner list by
327698         target (refs: #33491)
327699
327700         · PR #33499: (cachedout) Use six.string_types in jobs runner
327701
327702         · PR  #33491:  (BlaineAtAffirm)  fix  jobs.list_jobs   failing   with
327703           search_target (refs: #33499)
327704
327705       · ISSUE  #32444: (justindesilets) Feature Request - jobs runner list by
327706         target (refs: #33491)
327707
327708       · PR  #33491:  (BlaineAtAffirm)   fix   jobs.list_jobs   failing   with
327709         search_target (refs: #33499) @ 2016-05-25 15:11:22 UTC
327710
327711         · 2e24a04565 Merge pull request #33491 from BlaineAtAffirm/2015.8
327712
327713         · 7599b18995 fix jobs.list_jobs failing with search_target
327714
327715       · ISSUE  #33467: (beelit94) Orchestration gives exception when a target
327716         does not exist (refs: #33478)
327717
327718       · ISSUE #32479: (ssgward) Orchestration gives exception when  a  target
327719         does not exist (refs: #32484, #33478)
327720
327721       · PR  #33478:  (rallytime)  Back-port  #32484  to  2015.8  @ 2016-05-24
327722         19:14:23 UTC
327723
327724         · PR #32484: (cachedout) Only unsub if we have a jid (refs: #33478)
327725
327726         · 1861af427e Merge pull request #33478 from rallytime/bp-32484
327727
327728         · 042f17efa4 Only unsub if we have a jid
327729
327730       · PR #33457: (rallytime) Make doc formatting consistent and use correct
327731         versionadded @ 2016-05-24 17:52:34 UTC
327732
327733         · b8154b678e Merge pull request #33457 from rallytime/doc-formatting
327734
327735         · 82f8f3efff  Make doc formatting consistent and use correct version‐
327736           added
327737
327738         · PR  #33477:  (terminalmage)  Don't  allow  a   "repo"   kwarg   for
327739           pkgrepo.managed
327740
327741       · ISSUE  #29451:  (githubcdr)  2015.8.3  pillar  beacons bugged? (refs:
327742         #33476)
327743
327744         · PR #33476: (cachedout) Allow for config entry to be  a  list  in  a
327745           dict for beacons
327746
327747       · PR  #33469:  (meaksh)  check the RPM signature of zypper pkg.download
327748         packages and report errors @ 2016-05-24 16:09:05 UTC
327749
327750         · 9f56ab4c45  Merge  pull  request  #33469  from  meaksh/zypper-down‐
327751           load-check-signature-2015.8
327752
327753         · a65071a6d1 simpler rpm.checksum function
327754
327755         · 80fe303e38 Renamed check_sig to checksum and some refactoring
327756
327757         · d56e3f4258  bugfix:  showing  errors  when a package download fails
327758           using zypper pkg.download
327759
327760         · 8a21b9149e check the signature of downloaded RPM files
327761
327762       · ISSUE #33389: (DaveQB) Too many hostnames in pillar? (refs: #33459)
327763
327764         · PR #33459: (rallytime) Add docs about PyYAML's 1024 character limi‐
327765           tations for simple keys
327766
327767         · PR  #33464:  (isbm)  Prevent  several  minion processes on the same
327768           machine
327769
327770         · PR #33432: (dincamihai) Make --gpg-auto-import-keys a global  param
327771           when calling zypper
327772
327773       · ISSUE  #32446: (sel-fish) " salt '*' saltutil.wheel minions.connected
327774         " not work (refs: #33414)
327775
327776         · PR #33414: (rallytime) Fix  the  saltutil.wheel  function  and  add
327777           integration tests
327778
327779       · ISSUE #29286: (harlanbarnes) Can't disable Job Cache? (refs: #33328)
327780
327781         · PR #33440: (rallytime) Make sure the path we're removing is present
327782           first - avoid an OSError
327783
327784         · PR #33328: (rallytime) Update job_cache and keep_jobs  docs  to  be
327785           more specific to their behavior (refs: #33440)
327786
327787       · ISSUE  #26913: (imchairmanm) manage.bootstrap runner quotation escape
327788         bug (refs: #33443)
327789
327790         · PR #33443: (rallytime) Avoid a syntax error by using "  instead  of
327791           escaped '
327792
327793         · PR #33436: (rmarcinik) Fix virtual function
327794
327795       · PR #33438: (rallytime) [2015.8] Merge forward from 2015.5 to 2015.8 @
327796         2016-05-23 17:50:51 UTC
327797
327798         · 6e94a4a03b Merge pull request #33438 from rallytime/merge-2015.8
327799
327800         · 7c41c34528 Merge branch '2015.5' into '2015.8'
327801
327802           · 2cc650965a update 2015.5.11 release notes (#33412)
327803
327804           · dc8ce2d8b1 Fix traceback in  logging  for  config  validation  (‐
327805             #33386) (#33405)
327806
327807       · ISSUE #33395: (fmnisme) salt doc error (refs: #33421)
327808
327809         · PR #33421: (abednarik) Documentation update in file.serialize.
327810
327811         · PR  #33398: (lvg01) Fix LVM parameter devices as a pure list. Comma
327812           seperated lists are c…
327813
327814         · PR #33406: (rallytime) Back-port #33387 to 2015.8
327815
327816         · PR #33387: (tveastman) Spelling correction. (refs: #33406)
327817
327818       · ISSUE #33298: (lorengordon) Windows: pkg.install returns  failed  for
327819         msiexec/instmsi exit code 3010 (ERROR_SUCCESS_REBOOT_REQUIRED) (refs:
327820         #33321)
327821
327822         · PR #33321: (lorengordon) Update windows pkg.[install|remove]  error
327823           logic
327824
327825       · ISSUE  #29252:  (mitar)  reload_modules is not documented for the pkg
327826         state (refs: #33374)
327827
327828         · PR #33374: (rallytime) Add note about reload_modules  functionality
327829           for pkg.installed
327830
327831       · ISSUE   #31430:   (The-Loeki)   Salt  Coding  Style  regarding  abso‐
327832         lute_imports (refs: #33377)
327833
327834         · PR #33377: (rallytime) Add note to absolute_imports practice  about
327835           __future__ import
327836
327837       · ISSUE   #21720:  (kaithar)  Revisiting  aliases.file  option.  (refs:
327838         #33380)
327839
327840         · PR #33380: (rallytime) Document how to set the alias file  location
327841           for alias state
327842
327843       · PR  #33403:  (jacobhammons)  2015.8.10  release  notes  @  2016-05-20
327844         16:02:50 UTC
327845
327846         · 3c9def310c Merge pull request #33403 from jacobhammons/dot10
327847
327848         · e850c298a9 2015.8.10 release notes
327849
327850       · PR #33381: (rallytime) [2015.8] Merge forward from 2015.5 to 2015.8 @
327851         2016-05-20 15:58:11 UTC
327852
327853         · 91059224f6 Merge pull request #33381 from rallytime/merge-2015.8
327854
327855         · 5aec32b20f Merge branch '2015.5' into '2015.8'
327856
327857           · d15f5e2cef Merge pull request #33383 from thatch45/2015.5
327858
327859             · f5ebcba21c restore whitespace
327860
327861             · 1d8b289db1 blast, put the try/except int he right place
327862
327863             · 081e6c5b83  maintain  the fallabck because I am totally sick of
327864               this crap
327865
327866           · 755acfb97e Improve doc clarity for disable_modules  documentation
327867             (#33379)
327868
327869         · 8ef7697806 Merge branch '2015.5' into '2015.8'
327870
327871           · 2b5ad128bf Better YAML syntax error handling (#33375)
327872
327873           · bb3e98cad2    Merge    pull   request   #33372   from   jacobham‐
327874             mons/release-update
327875
327876             · 5ce502160b revved 2015.8 branch to .9 in version selector
327877
327878         · PR #33386: (terminalmage) Fix traceback in logging for config vali‐
327879           dation (refs: #33405)
327880
327881       · ISSUE #27737: (mpaolini) name param never mentioned in pillar_ext git
327882         documentation (refs: #33369)
327883
327884         · PR #33369: (rallytime) Add note about name parameter in  git_pillar
327885           docs
327886
327887       · ISSUE      #32913:      (hrumph)      Possible      problem      with
327888         salt.states.pkg.installed documentation (refs: #33362)
327889
327890         · PR #33362: (rallytime) Add win_pkg to list of modules that  support
327891           "version" in pkg.installed
327892
327893       · ISSUE  #27779:  (jbouse)  [Doc] Hipchat returner documentation update
327894         (refs: #33365)
327895
327896         · PR #33365: (rallytime) Add note to  docs  about  api  settings  for
327897           Hipchat API v2
327898
327899         · PR saltstack/salt-bootstrap#828: (vutny) Fix bootstrapping from git
327900           on Debian 8 by installing latest tornado via pip (refs: #32857)
327901
327902         · PR #820:  (dcolish)  Refactor  of  cli  parsers,  normalize  around
327903           conf_file (refs: #`saltstack/salt-bootstrap#828`_)
327904
327905         · PR #32857: (vutny) Add initscripts, SystemD service units and envi‐
327906           ronment files for Debian
327907
327908       · PR  #33370:  (jacobhammons)  Update  docs  version  to   2015.8.9   @
327909         2016-05-19 19:59:15 UTC
327910
327911         · 80f52a658e Merge pull request #33370 from jacobhammons/2015.8.9
327912
327913         · 146b4df6be Updates docs version to 2015.8.9 Adds note regarding the
327914           os grain on Mint Linux Adds an FAQ regarding grains that change due
327915           to upstream changes
327916
327917       · PR #33366: (rallytime) [2015.8] Merge forward from 2015.5 to 2015.8 @
327918         2016-05-19 19:41:40 UTC
327919
327920         · 3e5689abbf Merge pull request #33366 from rallytime/merge-2015.8
327921
327922         · 52b3128678 Merge branch '2015.5' into '2015.8'
327923
327924         · 55be0abf4d Expanded documentation for boto_elb state and module  (‐
327925           #33341)
327926
327927       · ISSUE  #33313:  (morganwillcock) pkg.py: pkgs parameter documented as
327928         not supported on Windows (refs: #33361)
327929
327930       · ISSUE #3313: (mou) If no fileserver backend initialized there  should
327931         be  warning  or  error  message on performing various file operations
327932         (refs: #33361)
327933
327934         · PR #33361: (rallytime) Remove mentions of  windows  not  supporting
327935           pkgs param
327936
327937       · ISSUE #29286: (harlanbarnes) Can't disable Job Cache? (refs: #33328)
327938
327939         · PR  #33328:  (rallytime)  Update job_cache and keep_jobs docs to be
327940           more specific to their behavior (refs: #33440)
327941
327942       · ISSUE #33295: (andrew-vant) Linux Mint service module  not  correctly
327943         detected. (refs: #33359)
327944
327945         · PR #33359: (terminalmage) Properly detect newer Linux Mint distros
327946
327947       · ISSUE  #32260: (jagguli) git.latest UnboundLocalError: local variable
327948         'desired_upstream' referenced before assignmen (refs: #33340)
327949
327950         · PR #33340: (terminalmage) Fix UnboundLocalError in git.latest
327951
327952         · PR #33339: (phistrom) states.boto_elb Describe parameters in regis‐
327953           ter_instances function
327954
327955         · PR  #33347:  (rallytime)  Fix  some link errors in the test writing
327956           tutorial
327957
327958         · PR #33312: (twangboy) Fix network.managed for windows
327959
327960         · PR #33327: (cro) Bp 28467 calm mine
327961
327962         · PR #28467: (jodv) Make mine.update more manageable for large  envi‐
327963           ronments (refs: #33327)
327964
327965         · PR #33334: (jfindlay) import ps from psutil_compat in beacons
327966
327967       · ISSUE #21520: (jfindlay) sudo.salt_call is broken (refs: #25089)
327968
327969         · PR #33318: (jfindlay) remove redundant, incorrect sudo_runas config
327970           documentation
327971
327972         · PR #25089: (jfindlay) fix minion sudo (refs: #33318)
327973
327974         · PR #22480: (thatch45) Add sudo user docs into salt (refs: #33318)
327975
327976         · PR #20226: (thatch45) Allow sudo  priv  escalation  (refs:  #25089,
327977           #33318)
327978
327979       · ISSUE  #33323:  (terminalmage)  Overeager  globbing in systemd.py for
327980         sysv service detection (refs: #33324)
327981
327982         · PR  #33324:  (terminalmage)  Disambiguate  non-exact  matches  when
327983           checking if sysv service is enabled
327984
327985       · ISSUE #30130: (dreampuf) Non-root minion not work with state.sls mod‐
327986         ule (refs: #33325)
327987
327988         · PR #33325: (cachedout) Allow concurrency  mode  in  state  runs  if
327989           using sudo
327990
327991       · ISSUE #29674: (jakehilton) Salt Master Hang (refs: #33333)
327992
327993         · PR #33333: (DmitryKuzmenko) Fix master hanging after a request from
327994           minion with removed key.
327995
327996       · ISSUE #33266: (Timandes) Method grains.items returns unexpected manu‐
327997         facturer information (refs: #33302)
327998
327999         · PR #33306: (rallytime) Back-port #33302 to 2015.8
328000
328001         · PR #33302: (The-Loeki) Cleanup comments in smbios.get output (fixes
328002           #33266) (refs: #33306)
328003
328004       · ISSUE #23643: (falzm) Error in iptables module: argument --match-set:
328005         expected 2 argument(s) (refs: #33314, #33301, #28325)
328006
328007         · PR #33314: (gerhardqux) Fix iptables --match-set (#23643)
328008
328009         · PR  #33301:  (gerhardqux)  Fix iptables --match-set (#23643) (refs:
328010           #33314)
328011
328012         · PR #28325: (l13t) Fix issue wiith --match-set option. #23643 (refs:
328013           #33314)
328014
328015       · PR #33308: (rallytime) [2015.8] Merge forward from 2015.5 to 2015.8 @
328016         2016-05-17 19:26:05 UTC
328017
328018         · d0ed1616b0 Merge pull request #33308 from rallytime/merge-2015.8
328019
328020         · 1c43a62f85 Merge branch '2015.5' into '2015.8'
328021
328022           · 9b42a05519 Added some more docs for master and minion config set‐
328023             tings (#33292)
328024
328025         · 5004d2fa61 Merge branch '2015.5' into '2015.8'
328026
328027         · 8acee5e06c Fix iptables --match-set (#23643) (#33301)
328028
328029         · 757ef20a31 fix "loose" typo (#33290)
328030
328031         · b7d98da64d Add auth_tries config option to minion.rst docs (#33287)
328032
328033         · 061851bcbf Document minion_id_caching config value (#33282)
328034
328035   Salt 2015.8.12 Release Notes
328036       Version 2015.8.12 is a bugfix release for 2015.8.0.
328037
328038   Statistics
328039       · Total Merges: 58
328040
328041       · Total Issue References: 43
328042
328043       · Total PR References: 117
328044
328045       · Contributors:  29  (Azidburn,  Ch3LL,  UtahDave,  bobrik,  cachedout,
328046         cedwards, deepakhj, dere, gongled, gtmanfred, hrumph, hu-dabao, isbm,
328047         jacobhammons,   jfindlay,  jmesquita,  junovitch,  justinta,  kev009,
328048         martinhoefling, multani, rallytime, randomed,  sjorge,  terminalmage,
328049         thatch45, theothergraham, twangboy, whiteinge)
328050
328051   Changelog for v2015.8.11..v2015.8.12
328052       Generated at: 2018-05-28 01:19:12 UTC
328053
328054       · PR #35614: (rallytime) Update release notes for 2015.8.12
328055
328056       · PR  #35611:  (rallytime)  Everything in the sample master config file
328057         should be commented out
328058
328059       · ISSUE #35384: (ghost) The unless requisite stops at first  successful
328060         command (refs: #35569)
328061
328062         · PR  saltstack/salt#35545:  (hu-dabao) fix-35384, fix cmd.run unless
328063           (refs: #35566)
328064
328065       · PR #35569: (rallytime) Write test for multiple unless commands  where
328066         1st cmd passes and 2nd fails @ 2016-08-19 19:28:01 UTC
328067
328068         · PR #35566: (rallytime) Back-port #35545 to 2015.8 (refs: #35569)
328069
328070         · PR  #35545: (hu-dabao) fix-35384, fix cmd.run unless (refs: #35569,
328071           #35566)
328072
328073         · c9070c212f Merge pull request #35569 from rallytime/test-for-35384
328074
328075         · 30f42d5352 Write test for multiple unless commands  where  1st  cmd
328076           passes and 2nd fails
328077
328078         · PR #35600: (rallytime) Update release notes for 2015.8.12
328079
328080         · PR #35599: (rallytime) Update release notes for 2015.8.12
328081
328082         · PR  #35584: (terminalmage) Update linux_sysctl tests to reflect new
328083           context key
328084
328085         · PR #35575: (terminalmage) Add warning about AWS  flagging  of  nmap
328086           usage
328087
328088       · PR #35577: (terminalmage) Unit file changes for 2015.8.12, 2016.3.3 @
328089         2016-08-18 20:36:25 UTC
328090
328091         · 26a7f7d9f7   Merge   pull    request    #35577    from    terminal‐
328092           mage/unit-file-changes
328093
328094         · 6cb0fb47f3 pkg/salt-syndic.service: change Type to notify
328095
328096         · 175ba99e0e pkg/salt-minion.service: remove KillMode, change Type to
328097           notify
328098
328099         · 540ec28954 pkg/salt-master.service: remove KillMode
328100
328101         · 69fad464ab pkg/salt-api.service: change Type to notify
328102
328103         · PR saltstack/salt#35545: (hu-dabao) fix-35384, fix  cmd.run  unless
328104           (refs: #35566)
328105
328106         · PR #35566: (rallytime) Back-port #35545 to 2015.8 (refs: #35569)
328107
328108         · PR  #35545: (hu-dabao) fix-35384, fix cmd.run unless (refs: #35569,
328109           #35566)
328110
328111         · PR #35492: (terminalmage) Clarify config.get docstring
328112
328113       · ISSUE saltstack/salt#18419: (jasonrm)  salt-cloud  fails  to  run  as
328114         non-root user (refs: #35483)
328115
328116       · ISSUE  #34806:  (jerrykan)  salt-cloud  ignores  sock_dir when firing
328117         event (refs: #35483)
328118
328119       · PR #35483: (gtmanfred)  use  __utils__  in  salt.cloud  @  2016-08-18
328120         13:32:22 UTC
328121
328122         · 205d8e2e7b Merge pull request #35483 from gtmanfred/2015.8
328123
328124         · 2d8ec1e9db use __opts__ in salt.utils.cloud for cache functions
328125
328126       · PR  #35546:  (whiteinge)  Salt api eauth fail gracefully @ 2016-08-18
328127         07:21:55 UTC
328128
328129         · 70fa2d0901      Merge      pull      request      #35546       from
328130           whiteinge/salt-api-eauth-fail-gracefully
328131
328132         · eb3574adae  Don't  fail  hard  if  the user's permissions cannot be
328133           found
328134
328135         · ec597bd54c Change groups check in token to look for truthy values
328136
328137         · PR #35525: (UtahDave) add missing glob import
328138
328139         · PR #35540: (rallytime) Whitespace fix for 2015.8
328140
328141       · ISSUE #33803: (dmurphy18) systemd notification is not fully supported
328142         by Salt  (refs: #35510)
328143
328144       · ISSUE  #33516:  (Ch3LL)  When upgrading from 2015.8.10 to 2016.3.0 on
328145         centos7/redhat7 I have  to  restart  the  salt-minion  twice   (refs:
328146         #35510)
328147
328148       · PR  #35510:  (terminalmage)  Better  systemd integration @ 2016-08-17
328149         18:54:11 UTC
328150
328151         · fd3274c800 Merge pull request #35510 from terminalmage/issue33516
328152
328153         · 5b5f19d269 Update zypper unit test to reflect call to config.get
328154
328155         · 2730edb516 Add note about systemd-run usage in package states
328156
328157         · e2d9e87e10 salt/modules/systemd.py: Use systemd-run  --scope  where
328158           needed
328159
328160         · 22919a25bc Notify systemd on salt-api start
328161
328162         · a40b3f8a08 Notify systemd on syndic start
328163
328164         · e847d3af30 Notify systemd on minion start
328165
328166         · d648887afc  salt/modules/zypper.py:  Use  systemd-run --scope where
328167           needed
328168
328169         · 2e17976722 salt/modules/yumpkg.py: Use  systemd-run  --scope  where
328170           needed
328171
328172         · 86b59c1e74  salt/modules/pacman.py:  Use  systemd-run --scope where
328173           needed
328174
328175         · e32d92c6d5 salt/modules/ebuild.py: Use  systemd-run  --scope  where
328176           needed
328177
328178         · c7d21d3ae3  salt/modules/aptpkg.py:  Use  systemd-run --scope where
328179           needed
328180
328181         · f83e0ef242 Add unit tests for salt.utils.systemd
328182
328183         · 5b12f030c6 Add func to salt.utils.systemd to  tell  if  scopes  are
328184           available
328185
328186         · PR  #35513: (cachedout) Might be a good idea to be able to download
328187           the software we make
328188
328189       · PR #35302: (Ch3LL) Add job cache test @ 2016-08-17 10:45:28 UTC
328190
328191         · 9f87081cef Merge pull request #35302 from Ch3LL/add_job_cache_test
328192
328193         · ccb2a5cadf remove unused imports
328194
328195         · 512ae81dfd remove TMP and add integration.TMP
328196
328197         · c9b7c3cf80 need to add returners option in other places
328198
328199         · 7316df7a02 fix pylint
328200
328201         · 50a4f0fe6a fix comment
328202
328203         · 6837acf742 add job cache integration tests
328204
328205       · PR #35512: (cachedout) Fixup 35419 @ 2016-08-17 10:11:17 UTC
328206
328207         · 1c82c6bee5 Merge pull request #35512 from cachedout/fixup_35419
328208
328209         · 253662541a Fix import
328210
328211         · f16a30786b Fixes consul.agent_service_register which was broken for
328212           registering service checks.
328213
328214       · PR   #35497:   (deepakhj)  Fixes  spacing  in  requirements  files  @
328215         2016-08-17 09:34:15 UTC
328216
328217         · e1a373fa4c Merge pull request #35497 from deepakhj/2015.8
328218
328219         · 685db4ab88 Fix spacing
328220
328221       · PR #35508: (terminalmage) Add Carbon to versionadded for  git.diff  @
328222         2016-08-17 06:17:12 UTC
328223
328224         · 4048255ed6  Merge pull request #35508 from terminalmage/update-doc‐
328225           string
328226
328227         · 67c945fce0 Add Carbon to versionadded for git.diff
328228
328229         · PR #35486: (rallytime) Update bootstrap  script  to  latest  stable
328230           (2016.08.16)
328231
328232       · ISSUE   #35296:   (szjur)   cp.push_dir   gets  confused  when  using
328233         upload_path and is probably insecure too (refs: #35413)
328234
328235       · PR #35413: (cachedout) Resolve path issues with cp.push @  2016-08-16
328236         16:40:39 UTC
328237
328238         · 240fc12863 Merge pull request #35413 from cachedout/issue_35296
328239
328240         · fb8a12d677 Fix silly error
328241
328242         · 3646cf1afa Additional checks on master and integration test
328243
328244         · 09efde7634 Splat the list into os.path.join
328245
328246         · fc0d5878bc Set file_recv on test master
328247
328248         · 81c4d136c5 Transition file push paths to lists
328249
328250       · ISSUE  saltstack/salt#35380:  (anlutro)  salt-ssh  with  sudo stopped
328251         working (refs: #35476)
328252
328253       · PR #35476: (cachedout) Fixup SSH bug where  sudo  without  sudo  user
328254         would break @ 2016-08-16 15:41:25 UTC
328255
328256         · c3319b2a8b Merge pull request #35476 from cachedout/issue_35380
328257
328258         · c05fcf33d1 Fixup SSH bug where sudo without sudo user would break
328259
328260       · PR  #35471: (terminalmage) win_pkg: Fix traceback when package is not
328261         installed @ 2016-08-16 02:02:00 UTC
328262
328263         · 004778c966 Merge pull request #35471 from terminalmage/issue34479
328264
328265         · e243c63e43 win_pkg: Fix traceback when package is not installed
328266
328267       · PR #35448: (isbm) Add ignore_repo_failure option to suppress zypper's
328268         exit code 106 on … @ 2016-08-16 01:39:43 UTC
328269
328270         · 5c9428c32d Merge pull request #35448 from isbm/isbm-zypper-106-fix
328271
328272         · dd82e6a848 Add ignore_repo_failure option to suppress zypper's exit
328273           code 106 on unavailable repos
328274
328275       · PR #35451: (isbm) Bugfix: zypper  mod  repo  unchanged  @  2016-08-16
328276         01:38:25 UTC
328277
328278         · 1473474b04   Merge   pull   request   #35451   from  isbm/isbm-zyp‐
328279           per-mod_repo-unchanged
328280
328281         · 8790197d86 Fix Unit test for suppressing the exception  removal  on
328282           non-modified repos
328283
328284         · 3f00c6997a Remove zypper's raise exception if mod_repo has no argu‐
328285           ments and/or no changes
328286
328287       · ISSUE saltstack/salt#34279: (vmadura) Salt  2016.3.1  -  Master  Side
328288         Pillar Cache (backend: Disk) never Expires. (refs: #35453)
328289
328290       · ISSUE  #34279:  (vmadura)  Salt  2016.3.1  - Master Side Pillar Cache
328291         (backend: Disk) never Expires. (refs: #35453)
328292
328293       · PR #35453: (theothergraham) fixes #34279 - disk cache  ttl  expiry  @
328294         2016-08-16 01:34:33 UTC
328295
328296         · a8c4f17f50    Merge   pull   request   #35453   from   theothergra‐
328297           ham/fix_CacheDisk
328298
328299         · ae5b233d51 fixes #34279
328300
328301       · PR #35459: (thatch45) Ensure that output for  salt-ssh  gets  back  @
328302         2016-08-16 01:29:16 UTC
328303
328304         · d8c35b5260 Merge pull request #35459 from thatch45/shim_fix
328305
328306         · 10037b00cb Some environments refuse to return the command output
328307
328308         · PR  #35460:  (rallytime) [2015.8] Update bootstrap script to latest
328309           stable (2016.08.15)
328310
328311       · ISSUE saltstack/salt#35010: (vchav73) cp.push_dir  returns  incorrect
328312         result for non-existent directories (refs: #35442)
328313
328314         · PR #35442: (cachedout) Fix cp.push_dir pushing empty dirs
328315
328316       · ISSUE  saltstack/salt#35387:  (mzealey)  Document  reload_grains  and
328317         reload_pillar (refs: #35436)
328318
328319         · PR #35436: (cachedout) Minor doc fixup
328320
328321       · ISSUE saltstack/salt#35121: (sjorge) file.append  always  results  in
328322         change (refs: #35132)
328323
328324       · PR  #35132:  (sjorge)  fixes , causing lots of mayham (onchange) with
328325         2016.3.2 for me @ 2016-08-15 07:11:22 UTC
328326
328327         · a0b128a85a Merge pull request #35132 from sjorge/2015.8-35121
328328
328329         · 5cb38c8ae0 switch to  fpread().splitlines(),  as  per  @lorengordon
328330           suggestion
328331
328332         · 634f1dded5  fixes  #35121,  causing  lots of mayham (onchange) with
328333           2016.3.2 for me
328334
328335         · PR  saltstack/salt#34573:  (cedwards)  Update  freebsd.rst   (refs:
328336           #35394)
328337
328338         · PR #35394: (rallytime) Back-port #34573 to 2015.8
328339
328340         · PR #34573: (cedwards) Update freebsd.rst (refs: #35394)
328341
328342         · PR #35359: (terminalmage) Clean up open filehandles
328343
328344       · PR #35339: (isbm) Bugfix: Prevent continuous restart, if a dependency
328345         wasn't installed @ 2016-08-11 16:15:17 UTC
328346
328347         · 9ea7a34c30 Merge pull  request  #35339  from  isbm/isbm-2015.8-min‐
328348           ion-importerror-fix
328349
328350         · 12af60b7be  Fix  continuous  minion  restart if a dependency wasn't
328351           installed
328352
328353       · PR #35357: (twangboy) Fix file.recurse with clean: True   on  Windows
328354         (2015.8) @ 2016-08-11 00:44:14 UTC
328355
328356         · fd9b05ace4     Merge    pull    request    #35357    from    twang‐
328357           boy/file.recurse.clean.2015.8
328358
328359         · d328ec0157 Fix file.recurse with clean: True
328360
328361       · PR #35323: (thatch45) Fix issue with bad error  check  in  salt-vt  @
328362         2016-08-10 11:33:49 UTC
328363
328364         · 4618b433e9 Merge pull request #35323 from thatch45/ssh_crazy
328365
328366         · 8a5b47b5d7 Collect all error data from the wfuncs call
328367
328368         · 11864c31b7 supress a stack trace to show clean ssh error
328369
328370         · 9fbfa282fa wow this solves an issue!
328371
328372       · PR  #35325:  (kev009)  Fix  freebsd  netstat  route  on  fbsd  10+  @
328373         2016-08-10 11:33:12 UTC
328374
328375         · cfae862972 Merge pull request #35325 from kev009/fbsd-netstat-route
328376
328377         · 0d49dd3c29 Fix fbsd netstat route on fbsd 10+
328378
328379       · ISSUE #35264: (bobrik) ssh_known_hosts.present is not  idempotent  in
328380         test=true with port (refs: #35301)
328381
328382         · PR  #35301:  (bobrik)  Pass  port  to  ssh.check_known_host, closes
328383           #35264
328384
328385       · ISSUE #34945: (babilen)  file.recurse  breaks  directory  permissions
328386         (refs: #35309)
328387
328388         · PR  #35309:  (terminalmage) file.recurse: Do not convert octal mode
328389           string to int
328390
328391       · ISSUE #35051: (terminalmage) Runner/Wheel funcs  still  print  return
328392         data to console when invoked from orchestration (refs: #35290)
328393
328394       · PR #35290: (terminalmage) Resolve a couple bugs in orchestration out‐
328395         put @ 2016-08-09 15:27:00 UTC
328396
328397         · 2efc1b333b Merge pull request #35290 from terminalmage/issue35051
328398
328399         · d621aa7b61 Update runner/wheel unit tests to reflect new key in ret
328400           dict
328401
328402         · 90c12a9c7b  Add  __orchestration__  key  to  orch  returns for run‐
328403           ner/wheel funcs
328404
328405         · 7b8c3b86e7 Suppress error about invalid changes data for orchestra‐
328406           tion jobs
328407
328408         · 54a1704d6c  Suppress  event  for  wheel/runner  funcs executed from
328409           orchestration
328410
328411         · f409f62bf2 Accept print_event option in WheelClient.cmd()
328412
328413         · b42b25ccce Add cmd func for RunnerClient
328414
328415         · 480065fe00 Add print_event option to client mixins
328416
328417       · ISSUE #31074: (turtletraction) salt-ssh sudo_user execution not  run‐
328418         ning as sudo_user (refs: #35211)
328419
328420       · PR   #35211:  (cachedout)  Alternative  sudo  users  for  salt-ssh  @
328421         2016-08-08 15:40:55 UTC
328422
328423         · f8158124d5 Merge pull request #35211 from cachedout/issue_31074
328424
328425         · 6f53232e6d Better error handling and a workaround  for  group  mis‐
328426           match.
328427
328428         · 5b56a4acf7 Docs
328429
328430         · ae04e7aaeb Initial POC
328431
328432       · ISSUE  #35166:  (bobrik)  state_output_profile defaults are confusing
328433         (refs: #35271)
328434
328435       · PR #35271: (bobrik) Default state_output_profile to True  everywhere,
328436         closes #35166 @ 2016-08-08 14:36:24 UTC
328437
328438         · 3e4eb13daa  Merge  pull  request  #35271  from  bobrik/default-out‐
328439           put-profile
328440
328441         · 6cdee21036 Default state_output_profile to True everywhere,  closes
328442           #35166
328443
328444       · ISSUE #32719: (azweb76) Salt-Call Hangs when IPv6 is disabled on Sys‐
328445         tem (refs: #35233)
328446
328447       · PR #35233: (terminalmage) Do not attempt to get  fqdn_ip{4,6}  grains
328448         when ipv{4,6} grains are empty @ 2016-08-06 22:58:32 UTC
328449
328450         · 673e1aa1aa Merge pull request #35233 from terminalmage/issue32719
328451
328452         · 730a077041  Do not attempt to get fqdn_ip{4,6} grains when ipv{4,6}
328453           grains are empty
328454
328455       · PR #35202: (multani) doc: fix broken links in the test  documentation
328456         page @ 2016-08-06 08:29:41 UTC
328457
328458         · cdf3c0fe73 Merge pull request #35202 from multani/fix/test-doc
328459
328460         · 1642dba5d1 doc: fix broken links in the test documentation page
328461
328462       · ISSUE saltstack/salt#34861: (dere) minion incorrectly reports package
328463         cannot be installed (refs: #35119)
328464
328465       · PR #35236:  (rallytime)  Back-port  #35119  to  2015.8  @  2016-08-06
328466         08:10:54 UTC
328467
328468         · PR  #35119:  (dere)  Assume two EVRs are equal if E and V are equal
328469           but one R is missing. (refs: #35236)
328470
328471         · e1331cd2a3 Merge pull request #35236 from rallytime/bp-35119
328472
328473         · 9ade78de7b Revise unnecessary code duplication
328474
328475         · 7c15f5b20a Fix formatting
328476
328477         · 64f93f8938 Assume two EVRs are equal if E and V are equal but one R
328478           is missing.
328479
328480       · ISSUE  saltstack/salt#29785: (paul-mulvihill) pkg.installed to accept
328481         'latest' as a version keyword (refs: #35225)
328482
328483       · ISSUE #29785: (paul-mulvihill) pkg.installed to accept 'latest' as  a
328484         version keyword (refs: #35240)
328485
328486       · PR #35240: (dere) Backport #35225 to 2015.8 @ 2016-08-06 07:54:19 UTC
328487
328488         · PR  #35225:  (dere)  Add  missing  documentation  for pkg.installed
328489           (refs: #35240)
328490
328491         · 4f2b8aa5b6 Merge pull request #35240 from derekmaciel/bp-35225
328492
328493         · 9ed47f713a Add missing documentation for pkg.installed
328494
328495       · PR #35241: (terminalmage) Ensure max recursion in gitfs results in no
328496         blob object being returned.  @ 2016-08-06 07:53:49 UTC
328497
328498         · 4bcfaa97d0 Merge pull request #35241 from terminalmage/gitfs-fixes
328499
328500         · e05648cc2d Break from loop when file is found
328501
328502         · 6764a88601  Ensure  that failed recursion results in no blob object
328503           being returned
328504
328505         · PR saltstack/salt#35039: (whiteinge) Add saltenv  support  to  mod‐
328506           ule.run (refs: #35245)
328507
328508       · PR  #35245:  (rallytime)  Back-port  #35039  to  2015.8  @ 2016-08-06
328509         07:52:44 UTC
328510
328511         · PR #35039: (whiteinge) Add saltenv  support  to  module.run  (refs:
328512           #35245)
328513
328514         · f6d7360e0b Merge pull request #35245 from rallytime/bp-35039
328515
328516         · 51ab9cd6d4 Add saltenv support to module.run
328517
328518       · ISSUE  #35214:  (tdenny)  git.latest fails on non-fast-forward when a
328519         fast-forward is possible (refs: #35249)
328520
328521       · PR #35249: (terminalmage) Fix regression in git.latest  @  2016-08-06
328522         07:52:15 UTC
328523
328524         · d65a5c7134 Merge pull request #35249 from terminalmage/issue35214
328525
328526         · bcd5129e9f Fix regression in git.latest when update is fast-forward
328527
328528         · e2e8bbbfde Add integration test for #35214
328529
328530       · ISSUE saltstack/salt#34691: (dmacvicar) beacons.list does not include
328531         beacons  configured  from   the   pillar/ext_pillar   (refs:   #salt‐
328532         stack/salt`#34827`_, #34827)
328533
328534         · PR  saltstack/salt#35146: (cachedout) Don't discard running beacons
328535           config when listing becaons (refs: #35174)
328536
328537         · PR saltstack/salt#34827: (thatch45) fix beacon list to include  all
328538           beacons being processed (refs: #35146, #`saltstack/salt`#35146`_`_)
328539
328540         · PR #35174: (rallytime) Back-port #35146 to 2015.8
328541
328542         · PR  #35146:  (cachedout)  Don't discard running beacons config when
328543           listing becaons (refs: #35174)
328544
328545         · PR saltstack/salt#35135: (rallytime) Add missing  CLI  Examples  to
328546           aws_sqs module funcs (refs: #35173)
328547
328548         · PR #35173: (rallytime) Back-port #35135 to 2015.8
328549
328550         · PR  #35135:  (rallytime) Add missing CLI Examples to aws_sqs module
328551           funcs (refs: #35173)
328552
328553         · PR #35145: (jacobhammons) doc version update to 2015.8.11,  updates
328554           to release notes
328555
328556       · PR #35114: (terminalmage) Add clarification docs on a common git_pil‐
328557         lar misconfiguration @ 2016-08-02 00:30:48 UTC
328558
328559         · 81845ee31d Merge pull  request  #35114  from  terminalmage/git_pil‐
328560           lar-env-remap-docs
328561
328562         · 5951554e9f Add clarification docs on a common git_pillar misconfig‐
328563           uration
328564
328565       · ISSUE saltstack/salt#34767: (hrumph) Ensure that pkg.installed  func‐
328566         tion refreshes properly with windows. (refs: #34768)
328567
328568       · ISSUE  #34767:  (hrumph) Ensure that pkg.installed function refreshes
328569         properly with windows. (refs: #34768)
328570
328571       · PR #34768: (hrumph) Fixes #34767 @ 2016-08-01 21:46:16 UTC
328572
328573         · 88a9fb1b31      Merge      pull      request      #34768       from
328574           hrumph/bad-installed-state
328575
328576         · e1fcb8311d  Put  pkg.latest_version  in  try/except  structure Move
328577           refreshed or refresh to different spot (just for code tidyness)
328578
328579         · e0b6261659 changed name of varibale 'refreshed' to 'was_refreshed'
328580
328581         · 340110b4b4 Move check for rtag to outermost-nesting in function
328582
328583         · ac67c6b493 Lint fix
328584
328585         · 0435a1375e Get rid of repetition in code by using  new  "refreshed"
328586           variable instead
328587
328588         · 3b1dc978e2 Lint fix
328589
328590         · a9bd1b92b9 lint fixes
328591
328592         · 71d69343ef Fixes #34767
328593
328594       · PR  #35043:  (rallytime)  Start  release  notes  file for 2015.8.12 @
328595         2016-08-01 17:22:04 UTC
328596
328597         · 343576408f    Merge    pull    request    #35043    from     rally‐
328598           time/new-release-notes
328599
328600         · bdcc81a384 Start release notes file for 2015.8.12
328601
328602       · PR   #35050:  (terminalmage)  [orchestration]  Properly  handle  run‐
328603         ner/wheel funcs  which  accept  a  'saltdev'  argument  @  2016-08-01
328604         15:48:08 UTC
328605
328606         · 848bf0272f  Merge  pull  request #35050 from terminalmage/fix-salt‐
328607           dev-arg
328608
328609         · 40cfa7cf17 Avoid needlessly running 2 argspecs  in  salt.utils.for‐
328610           mat_call()
328611
328612         · fd186b7e4c  Pass  environment  as  'saltdev'  if  runner/wheel func
328613           accepts a saltdev argument
328614
328615         · 951b52ab93  Pass  __env__  from   saltmod   orch   states   to   to
328616           saltutil.{runner,wheel}
328617
328618       · PR  #35066:  (jfindlay) returners.postgres_local_cache: do not log in
328619         __virtual__ @ 2016-07-30 01:32:17 UTC
328620
328621         · 2144178ae0 Merge pull request #35066 from jfindlay/postgres_log
328622
328623         · c2c442234f returners.postgres_local_cache: do  not  log  in  __vir‐
328624           tual__
328625
328626       · ISSUE  #34927:  (bobrik) Salt does not run "systemd daemon-reload" on
328627         unit override (refs: #35024)
328628
328629       · PR #35024: (bobrik) Cache systemd unit update check per unit,  closes
328630         #34927 @ 2016-07-28 17:56:29 UTC
328631
328632         · 7121618142 Merge pull request #35024 from bobrik/daemon-reload-fix
328633
328634         · c300615e9d Cache systemd unit update check per unit, closes #34927
328635
328636         · PR  #35026:  (cachedout) Expressly deny a minion if a key cannot be
328637           found
328638
328639         · PR saltstack/salt#33875: (jmesquita) Fix naive fileserver map  diff
328640           algorithm (refs: #35000)
328641
328642       · PR  #35000:  (rallytime)  Back-port  #33875  and  #34999  to 2015.8 @
328643         2016-07-27 21:55:58 UTC
328644
328645         · PR #34999: (cachedout) Fixup #33875 (refs: #35000)
328646
328647         · PR #33875: (jmesquita) Fix  naive  fileserver  map  diff  algorithm
328648           (refs: #35000, #34999)
328649
328650         · 2b511f3013 Merge pull request #35000 from rallytime/bp-33875
328651
328652         · 35696ad637 Pylint fix
328653
328654         · f9fd6ddd8a Fixup #33875
328655
328656         · 56b1f6c651 Fix naive fileserver map diff algorithm
328657
328658       · ISSUE saltstack/salt#34526: (danielmotaleite) salt-ssh + mine = weird
328659         error (refs: #34835, #`saltstack/salt`#34835`_`_)
328660
328661         · PR saltstack/salt#34835: (thatch45) Make the mine and publish  com‐
328662           bine minion and master opts in salt-ssh (refs: #34994)
328663
328664       · PR  #34994:  (rallytime)  Back-port  #34835  to  2015.8  @ 2016-07-27
328665         18:21:10 UTC
328666
328667         · PR #34835: (thatch45) Make the mine and publish combine minion  and
328668           master opts in salt-ssh (refs: #34994)
328669
328670         · 837bc6ba7d Merge pull request #34994 from rallytime/bp-34835
328671
328672         · 9268a793de same thing for the mine in salt-ssh
328673
328674         · 3e11e19714 Fix the mine in salt ssh
328675
328676       · PR #34991: (cachedout) SSH timeout @ 2016-07-27 17:24:38 UTC
328677
328678         · b58c663d8d Merge pull request #34991 from cachedout/ssh_timeout
328679
328680         · 39cd8da399 Lint diff against salt-testing
328681
328682         · 443e5cdde2 Add timeout to ssh tests
328683
328684         · PR #34976: (cachedout) Refine errors in client
328685
328686       · ISSUE #34509: (srkunze) No atomic  thin.tgz deploy (refs: #34831)
328687
328688       · PR  #34831:  (thatch45)  If  the  thin does not match, then redeploy,
328689         don't error @ 2016-07-26 22:27:01 UTC
328690
328691         · a83cdf9339 Merge pull request #34831 from thatch45/recoverssh
328692
328693         · fa73041a49 If the thin does not match, then redeploy, don't error
328694
328695         · PR #34916: (cachedout) Master performance improvement
328696
328697       · PR #34911: (cachedout) Backport #34906 @ 2016-07-22 23:23:24 UTC
328698
328699         · PR #34906: (cachedout) Set  timeout  for  run_salt  in  test  suite
328700           (refs: #34911)
328701
328702         · 34dc2fd792 Merge pull request #34911 from cachedout/backport_34906
328703
328704         · 8becec2f4f Backport #34906
328705
328706       · ISSUE    saltstack/salt#33620:   (TheBigBear)   [2016.3.0]   win_pkg:
328707         pkg.list_upgrades loops (almost) endlessly  -  cmds  take  VERY  long
328708         (refs: #34898)
328709
328710       · PR   #34898:   (hrumph)   Stop  multiple  refreshes  during  call  to
328711         pkg.list_upgrades @ 2016-07-22 22:28:42 UTC
328712
328713         · 6ccc27f697      Merge      pull      request      #34898       from
328714           hrumph/list_upgrades_refresh
328715
328716         · acd4b1a23b Fixes #33620
328717
328718       · PR  #34606:  (isbm)  Bugfix:  Exit  on  configuration read (backport)
328719         (refs: #34751) @ 2016-07-22 17:35:18 UTC
328720
328721         · 5c13ee0e72 Merge pull request  #34606  from  isbm/isbm-config-read‐
328722           ing-exit-2015.8
328723
328724         · 5f5b802c0c  Add  option  to master config reader on ignoring system
328725           exit for wrong configuration
328726
328727         · 6fc677f177 Ignore minion config errors everywhere  but  the  minion
328728           itself
328729
328730         · 8699194647  Remove deprecation: BaseException.message deprecated as
328731           of 2.6
328732
328733         · 0e65cfec91 Fix lint: E8302
328734
328735         · 67faa56bf1 Use Salt default exit codes instead of hard-coded values
328736
328737         · a84556e596 Exit immediately on configuration error
328738
328739         · 43d965907c Raise an exception on any found wrong configuration file
328740
328741         · 30ed728d05 Cover exception handling in the utils.parsers
328742
328743         · 5e8c0c6bdb Introduce configuration error exception
328744
328745       · ISSUE saltstack/salt#27783: (anlutro) salt-ssh not properly  updating
328746         file_lists, causing file.recurse to fail (refs: #34862)
328747
328748         · PR #34862: (thatch45) Fix salt-ssh cacheing issue
328749
328750       · ISSUE  #34725:  (akoumjian)  git.latest  with force_reset set to True
328751         does not reset local changes, causing it to fail. (refs: #34869)
328752
328753         · PR #34869: (terminalmage) Fail git.latest states  with  uncommitted
328754           changes when force_reset=False
328755
328756       · PR #34859: (cachedout) Fix wheel test @ 2016-07-21 19:55:25 UTC
328757
328758         · 4f4381e5b9 Merge pull request #34859 from cachedout/fix_wheel_test
328759
328760         · b4be66dedf Fix wheel test
328761
328762       · ISSUE  saltstack/salt#34798: (Ch3LL) exception when running state.low
328763         over salt-ssh (refs: #34822)
328764
328765       · ISSUE saltstack/salt#34796: (Ch3LL) exception when running state.high
328766         over salt-ssh (refs: #34822)
328767
328768       · PR  #34822:  (thatch45)  Fix  salt-ssh  state.high  and  state.low  @
328769         2016-07-21 19:16:19 UTC
328770
328771         · acc9e31c02 Merge pull request #34822 from thatch45/ssh_fixes
328772
328773         · b5de492143 fix #34798
328774
328775         · 5ad6bd7307 fix #34796
328776
328777       · PR #34847: (cachedout) Add an option  to  skip  the  verification  of
328778         client_acl users @ 2016-07-21 17:55:55 UTC
328779
328780         · 5d91139bc9 Merge pull request #34847 from cachedout/pwall
328781
328782         · 2c8298dc6e Profile logging
328783
328784         · 3affafa2e9  Add  an  option  to skip the verification of client_acl
328785           users
328786
328787       · ISSUE saltstack/salt#34691: (dmacvicar) beacons.list does not include
328788         beacons   configured   from   the   pillar/ext_pillar  (refs:  #salt‐
328789         stack/salt`#34827`_, #34827)
328790
328791       · PR #34827: (thatch45) fix beacon list to include  all  beacons  being
328792         processed @ 2016-07-21 14:49:56 UTC
328793
328794         · 07d1d36653 Merge pull request #34827 from thatch45/34691
328795
328796         · 1ccf35eca4 fix beacon list to include all beacons being processed
328797
328798         · PR  saltstack/salt#28521:  (gongled) SPM: packaging doesn't work in
328799           Python 2.6. Fixed. (refs: #34833)
328800
328801       · PR #34833:  (rallytime)  Back-port  #28521  to  2015.8  @  2016-07-21
328802         14:37:24 UTC
328803
328804         · PR  #28521:  (gongled)  SPM:  packaging doesn't work in Python 2.6.
328805           Fixed. (refs: #34833)
328806
328807         · b375720251 Merge pull request #34833 from rallytime/bp-28521
328808
328809         · e50a6783ce SPM: packaging doesn't work in Python 2.6. Fixed.
328810
328811       · ISSUE #25213: (aboe76) Add spm man page  to  setup.py  (refs:  #salt‐
328812         stack/salt`#25276`_, #25276)
328813
328814         · PR  saltstack/salt#25276: (jacobhammons) copy spm.1 man page during
328815           setup (refs: #34823)
328816
328817       · PR #34823:  (rallytime)  Back-port  #25276  to  2015.8  @  2016-07-20
328818         20:56:04 UTC
328819
328820         · PR  #25276:  (jacobhammons) copy spm.1 man page during setup (refs:
328821           #34823)
328822
328823         · 042646582f Merge pull request #34823 from rallytime/bp-25276
328824
328825         · a028796eff copy spm.1 man page during setup Refs #25213
328826
328827       · ISSUE saltstack/salt#34648: (bortels) Error that % cannot start token
328828         (refs: #34828)
328829
328830       · ISSUE  #34648:  (bortels)  Error  that  %  cannot  start token (refs:
328831         #34828)
328832
328833         · PR #34828: (thatch45) Fix #34648
328834
328835         · PR saltstack/salt#34642: (justinta) Check  that  mysqladmin  exists
328836           before running mysql integration tests (refs: #34818)
328837
328838       · PR  #34818:  (justinta)  Skip  mysql  state test if mysqladmin is not
328839         available @ 2016-07-20 16:10:35 UTC
328840
328841         · 98fa4a404e Merge pull request #34818  from  jtand/mysql_state_inte‐
328842           gration_test_cleanup
328843
328844         · 9abb6f91bb Skip mysql state test if mysqladmin is not available
328845
328846       · ISSUE  saltstack/salt#26278:  (jiahua-h) "order: first" doesn't work?
328847         (refs: #34803)
328848
328849       · ISSUE saltstack/salt#24744: (anlutro) Allow states to  define  order:
328850         first (refs: #34803)
328851
328852       · ISSUE  #24744:  (anlutro)  Allow states to define order: first (refs:
328853         #34803)
328854
328855       · PR #34803: (junovitch) salt/state.py: set 'chunk['order'] =  0'  with
328856         'order: first'; fixes #24744 @ 2016-07-20 13:56:20 UTC
328857
328858         · 6636f2b449 Merge pull request #34803 from junovitch/issue_24744
328859
328860         · 64c850410f  salt/state.py:  set  'chunk['order']  = 0' with 'order:
328861           first'; fixes #24744
328862
328863       · PR #34773: (randomed) Bugfix: Startup states on minions are not being
328864         written to mysql returner @ 2016-07-19 12:39:53 UTC
328865
328866         · 58021035a9     Merge     pull     request    #34773    from    ran‐
328867           domed/mysql-returner-startup/2015.8
328868
328869         · 0cd55eb7d7 Add jid=req handling for mysql returner. It should  also
328870           store the return jid into the jid list table.
328871
328872         · PR #34751: (cachedout) Remove unnedeed config test
328873
328874         · PR  #34606:  (isbm)  Bugfix:  Exit on configuration read (backport)
328875           (refs: #34751)
328876
328877       · PR #34754: (cachedout) Disable test @ 2016-07-18 18:40:50 UTC
328878
328879         · f19caac8e4  Merge   pull   request   #34754   from   cachedout/dis‐
328880           able_mid_test
328881
328882         · 46901c6e65 Disable test
328883
328884       · ISSUE  saltstack/salt#34678:  (martinhoefling)  config.get  module is
328885         broken  due  to  bug  in   dictupdate.py   (refs:   #34726,   #`salt‐
328886         stack/salt`#34726`_`_, #34741)
328887
328888         · PR  saltstack/salt#34726: (martinhoefling) Always loop over updated
328889           keys in non recursive update (refs: #34741)
328890
328891       · PR #34741:  (rallytime)  Back-port  #34726  to  2015.8  @  2016-07-18
328892         18:00:23 UTC
328893
328894         · PR  #34726:  (martinhoefling)  Always loop over updated keys in non
328895           recursive update (refs: #34741)
328896
328897         · 81f29006f2 Merge pull request #34741 from rallytime/bp-34726
328898
328899         · d949110993  Loop over updated keys in non recursive update
328900
328901       · ISSUE saltstack/salt#34703: (Cashwini) Is it possible to return  out‐
328902         put  from  python  execution  module to a file on salt master? (refs:
328903         #34721)
328904
328905       · PR #34721: (rallytime) Add output_file option to master config docs @
328906         2016-07-16 20:04:03 UTC
328907
328908         · e9e5bbe38b Merge pull request #34721 from rallytime/fix-34703
328909
328910         · 9c803d05a5 Add output_file option to master config docs
328911
328912       · ISSUE   saltstack/salt#32276:   (javicacheiro)   pkg.installed  using
328913         sources from master fails with file not found after  first  succesful
328914         run (refs: #34689)
328915
328916       · PR  #34689:  (Azidburn)  fix  second  run problems with pkg.installed
328917         using sources @ 2016-07-15 21:19:39 UTC
328918
328919         · 08d00f3a61 Merge pull request #34689 from Azidburn/fix_pkg_sources
328920
328921         · 2c0fc919b3 fix second run problems with pkg.installed using sources
328922
328923       · PR #34695: (isbm) Bugfix: Zypper pkg.list_products returns  False  on
328924         some empty values (2015.8) @ 2016-07-15 21:08:00 UTC
328925
328926         · 4cb1ded520  Merge  pull  request #34695 from isbm/isbm-zypper-prod‐
328927           uct-boolean-values
328928
328929         · 5ed5142fbc Update test data for 'registerrelease' and 'productline'
328930           fields
328931
328932         · 21444ee240 Bugfix: return boolean only for 'isbase' and 'installed'
328933           attributes
328934
328935   Salt 2015.8.13 Release Notes
328936       Version 2015.8.13 is a bugfix release for 2015.8.0.
328937
328938   Security Fixes
328939       CVE-2017-5192 local_batch client external authentication not respected
328940
328941       The LocalClient.cmd_batch() method client does not accept external_auth
328942       credentials and so access to it from salt-api has been removed for now.
328943       This vulnerability  allows  code  execution  for  already-authenticated
328944       users and is only in effect when running salt-api as the root user.
328945
328946       CVE-2017-5200   Salt-api   allows  arbitrary  command  execution  on  a
328947       salt-master via Salt's ssh_client
328948
328949       Users of Salt-API and salt-ssh could execute a command on the salt mas‐
328950       ter via a hole when both systems were enabled.
328951
328952       We recommend everyone on the 2015.8 branch upgrade to a patched release
328953       as soon as possible.
328954
328955   Salt 2015.8.2 Release Notes
328956       Version 2015.8.2 is a bugfix release for 2015.8.0.
328957
328958   Statistics
328959       · Total Merges: 379
328960
328961       · Total Issue References: 138
328962
328963       · Total PR References: 351
328964
328965       · Contributors: 83 (DmitryKuzmenko, JaseFace, LoveIsGrief, MasterNayru,
328966         Oro, SmithSamuelM, The-Loeki, TheBigBear, aboe76, ajacoutot, anlutro,
328967         avinassh, basepi, bdrung, bechtoldt,  bernieke,  blueyed,  cachedout,
328968         cbuechler,  cedwards,  clarkperkins, cro, dkiser, douglas-vaz, dr4Ke,
328969         eguven,  eliasp,  erchn,  eyj,   favadi,   flavio,   garethgreenaway,
328970         gravyboat,   gtmanfred,   hedinfaok,  hexedpackets,  hyn-salt,  isbm,
328971         itsamenathan,  jacksontj,   jacobhammons,   jeffreyctang,   jejenone,
328972         jfindlay,  johnsocp,  justinta,  keesbos,  lathama, ldobson, lomeroe,
328973         martinhoefling,  mbarrien,  mbologna,   merll,   mrosedale,   msteed,
328974         multani,   nasenbaer13,   nmadhok,   notpeter,  opdude,  papertigers,
328975         pass-by-value, plastikos, quantonganh, rallytime,  redmcg,  rowillia,
328976         ruzarowski,  ryan-lane, s0undt3ch, sdm24, sjansen, skizunov, srkunze,
328977         techhat, terminalmage, ticosax, tkwilliams, toddtomkinson,  twangboy,
328978         twellspring, whiteinge)
328979
328980       IMPORTANT:
328981          A  significant orchestrate issue (issue ##29110) was discovered dur‐
328982          ing the release process of 2015.8.2, so it has not  been  officially
328983          released.  Please use 2015.8.3 instead.
328984
328985   Changelog for v2015.8.1..v2015.8.2
328986       Generated at: 2018-05-27 23:17:44 UTC
328987
328988       · PR  #28865:  (jfindlay)  add  2015.8.2  release  notes  @  2015-11-13
328989         17:30:18 UTC
328990
328991         · af297bb0ae Merge pull request #28865 from jfindlay/2015.8
328992
328993         · 1f847fc9ba add 2015.8.2 release notes
328994
328995       · ISSUE #27392: (ahammond)  schedule  running  state.orchestrate  fails
328996         (refs: #28730)
328997
328998       · PR  #28730:  (garethgreenaway)  Fixes to how return_job is handled in
328999         the scheduler for the salt master.  @ 2015-11-13 16:58:20 UTC
329000
329001         · 15672a3faa   Merge   pull   request   #28730   from    garethgreen‐
329002           away/27392_2015_8_scheduler_return_job_master
329003
329004         · 882350a543  Fixing  the  salt scheduler so that it only attempts to
329005           return the job data to the master if the scheduled job  is  running
329006           from a minion's scheduler.
329007
329008       · PR #28848: (cro) Lint @ 2015-11-13 13:46:36 UTC
329009
329010         · 5560cb662b Merge pull request #28848 from cro/fx2_multi_creds
329011
329012         · f032bffd7c Lint
329013
329014         · 6bb6703c3e       Merge       branch       'fx2_multi_creds'      of
329015           git://github.com/cro/salt into cro
329016
329017         · 3b7d22248c  Fix  fallback  credentials,   add   grains   based   on
329018           dracr.server_info and dracr.inventory, fix short-circuited for loop
329019           that was preventing retrieval  of  most  data  from  CMC  and  DRAC
329020           devices, format responses from racadm more clearly.
329021
329022         · b86c614564 Better logic around fallback credentials.
329023
329024         · 2701826a99 Update fx2.py, fix typos in new fallback parameters.
329025
329026         · 8ce5348808 Better variable name.
329027
329028         · 92038b8718 Default configuration file for proxy minions.
329029
329030       · PR  #28842:  (cachedout)  Add  transport  setting  to  shell  test  @
329031         2015-11-12 21:43:11 UTC
329032
329033         · 778ace3ca5 Merge pull request #28842 from cachedout/tcp_shell_test
329034
329035         · 785bf94f55 Add transport setting to shell test
329036
329037       · PR #28837: (basepi) [2015.8] Merge forward from 2015.5  to  2015.8  @
329038         2015-11-12 21:17:14 UTC
329039
329040         · 5639971744   Merge   pull  request  #28837  from  basepi/merge-for‐
329041           ward-2015.8
329042
329043         · 1c91ad6765 fix lint
329044
329045         · 4b706ac76a  Merge  remote-tracking  branch  'upstream/2015.5'  into
329046           merge-forward-2015.8
329047
329048           · eb904665dc Merge pull request #28832 from basepi/backport.28826
329049
329050             · 57be72eb91 Add backports_abc and singledispatch_helpers to thin
329051               as well
329052
329053             · 897cad627b Add singledispatch to the thin
329054
329055           · eff811a0ad     Merge      pull      request      #28833      from
329056             basepi/increase.gather_job_timeout.8647
329057
329058             · c09243dd01 Increase the default gather_job_timeout
329059
329060           · e4a036365d  Merge  pull  request  #28829  from  basepi/merge-for‐
329061             ward-2015.5
329062
329063             · f8b8441485 Merge remote-tracking branch 'upstream/2014.7'  into
329064               merge-forward-2015.5
329065
329066             · 76e69b4bff    Merge    pull    request   #28777   from   rally‐
329067               time/bp-28740-2014.7
329068
329069               · da5fac2b36 Back-port #28740 to 2014.7
329070
329071             · 45c73ebf2f Merge pull request #28716 from rallytime/bp-28705
329072
329073               · 32e7bd3ea0 Account for new headers class in tornado 4.3
329074
329075             · f4fe921965 Merge pull request #28717 from cachedout/umask_note
329076
329077               · 1874300e08 Add note about recommended umask
329078
329079         · 5aeab71f76  Merge  remote-tracking  branch  'upstream/2015.5'  into
329080           merge-forward-2015.8
329081
329082           · 93562631aa Merge pull request #28756 from MrCitron/fix-25775
329083
329084             · 82075c809c Add logs and correct pylint error
329085
329086             · e31e22d96a Fix 25775
329087
329088           · 30cc48e37f Merge pull request #28786 from chrigl/fix-28783
329089
329090             · ba6d814553 closes #28783
329091
329092           · 8f1d0b636e    Merge    pull    request    #28776    from   rally‐
329093             time/bp-28740-2015.5
329094
329095             · 49256b7d90 Back-port #28740 to 2015.5
329096
329097           · 77d4b980f1   Merge    pull    request    #28760    from    dmyer‐
329098             scough/28732-Fix-cherrypi-api-keys-endpoint
329099
329100             · 206d1684b2 Fixing CherryPy key bug
329101
329102           · 6f8f04975f Merge pull request #28746 from rallytime/bp-28718
329103
329104             · 092f441cad Account for no POST data
329105
329106       · ISSUE #28549: (ldelossa) dockerng module issue (refs: #28827)
329107
329108       · PR  #28827:  (jacksontj) Cleanup virtual_timer in loader @ 2015-11-12
329109         19:39:29 UTC
329110
329111         · c4fb185147 Merge pull request #28827 from jacksontj/2015.8
329112
329113         · f49502fd48 __modules__ isn't a global, although __salt__ is
329114
329115         · c734cb8876 Fix virtual_timer branch such that it will catch  excep‐
329116           tions.
329117
329118       · PR  #28836:  (cachedout)  Cast  to  dict  to fix wheel tests in tcp @
329119         2015-11-12 19:22:44 UTC
329120
329121         · 21520c6c1d    Merge    pull    request    #28836    from    cached‐
329122           out/fix_tcp_wheel_tests
329123
329124         · 8d3244166b Cast to dict to fix wheel tests in tcp
329125
329126       · PR  #28834:  (cachedout)  Fix  breakage  in  tcp  server @ 2015-11-12
329127         18:57:18 UTC
329128
329129         · 560671a170 Merge pull request #28834 from cachedout/tcp_revert_mas‐
329130           ter_uri
329131
329132         · 755d493bed Fix breakage in tcp server
329133
329134       · PR #28804: (cachedout) TCP test fixes @ 2015-11-12 18:39:25 UTC
329135
329136         · 224602437a Merge pull request #28804 from cachedout/tcp_test_fixes
329137
329138         · f799971280 Change logic
329139
329140         · 52ed06500a Fix typo
329141
329142         · 9b18f372e6 Normalize IPC check among transports
329143
329144         · e8ead2bfed Allow for tcp transport in publish
329145
329146         · e33b903e7b Allow for tcp transport in mine
329147
329148         · 3d80e67a2d Allow for tcp transport in auth
329149
329150       · ISSUE #28828: (basepi) salt-ssh doesn't package tornado's new deps in
329151         the thin (refs: #28826)
329152
329153       · PR #28826: (basepi) [2015.8] Add new tornado deps  to  salt-ssh  thin
329154         (refs: #28832) @ 2015-11-12 18:14:43 UTC
329155
329156         · 49992070db  Merge  pull  request  #28826  from basepi/salt-ssh.sin‐
329157           gledispatch.thin
329158
329159         · 1e1a74fd61 Add backports_abc and singledispatch_helpers to thin  as
329160           well
329161
329162         · da1a2773dd Add singledispatch to the thin
329163
329164       · PR #28759: (jfindlay) simplify stdin use of stdin in at.present state
329165         @ 2015-11-12 18:11:55 UTC
329166
329167         · PR #28187: (sjansen) fix at.present (refs: #28759)
329168
329169         · af52c3272f Merge pull request #28759 from jfindlay/at
329170
329171         · 987d1fee7c simplify stdin use of stdin in at.present state
329172
329173       · PR #28824: (rallytime)  Back-port  #28778  and  #28820  to  2015.8  @
329174         2015-11-12 18:06:31 UTC
329175
329176         · PR  #28820:  (cro)  Add  versionadded  directives  for  chronos and
329177           marathon proxy grains. (refs: #28824)
329178
329179         · PR #28778:  (toddtomkinson)  marathon  and  chronos  proxy  minions
329180           (refs: #28824)
329181
329182         · 08891cb210     Merge    pull    request    #28824    from    rally‐
329183           time/bp-28778-and-28820
329184
329185         · ab5943995b Change versionaddeds to 2015.8.2 from Boron
329186
329187         · da7ad0df99 Add versionadded directives.
329188
329189         · 4bdd10fdf5 documentation updates
329190
329191         · 675bc2acce more pylint fixes
329192
329193         · 8e19b5c518 pylint fixes
329194
329195         · ba94878f45 marathon and chronos proxy minions
329196
329197       · ISSUE #23271: (twisty7867) Unicode paths break file states with  mas‐
329198         terless minion on Vagrant/Ubuntu 14.04 (refs: #28803)
329199
329200       · PR  #28803:  (jfindlay) decode strings to utf-8 @ 2015-11-12 04:59:38
329201         UTC
329202
329203         · 30ea94439c Merge pull request #28803 from jfindlay/sdecodes
329204
329205         · 11163380cf sdecode chunk name in state compiler
329206
329207         · 7f95c483e1 sdecode strings in file state
329208
329209         · fe4d08526d sdecode strings in highstate outputter
329210
329211       · ISSUE #25363: (syphernl) rabbitmq_{user|vhost}.present  in  test=True
329212         reports unnecessary changes (refs: #28269)
329213
329214       · ISSUE   #24856:   (pruiz)  rabbitmq_user  state  incorrectly  reports
329215         result=True when using test=true (refs: #28269)
329216
329217       · PR #28782: (rallytime) Fixes to  rabbitmq  user  state  @  2015-11-12
329218         00:59:57 UTC
329219
329220         · PR   #28269:   (rallytime)  Refactor  rabbitmq_user  state  to  use
329221           test=True correctly (refs: #28782, #28772)
329222
329223         · 59b505ff7c  Merge   pull   request   #28782   from   rallytime/rab‐
329224           bitmq-user-state
329225
329226         · e2b0fee57e Don't change perms list, only existing perms should be a
329227           dictionary.
329228
329229         · 7601647d69 Revert "rabbitmq.list_user_permissions returns  a  dict,
329230           not a list. Don't expect a list."
329231
329232       · ISSUE  #28429: (cbuechler) salt-cloud VMware driver fails with uncus‐
329233         tomizable guest when not customizing guest (refs: #28789)
329234
329235       · PR #28789: (nmadhok) Provide ability to enable/disable  customization
329236         for  newly  create  VMs  using  VMware salt-cloud driver @ 2015-11-11
329237         22:48:57 UTC
329238
329239         · 098d48ad26 Merge pull request #28789 from nmadhok/2015.8-customiza‐
329240           tion-fix
329241
329242         · 9294ebd984  Provide ability to enable/disable customization for new
329243           VMs. Fixes #28429
329244
329245       · ISSUE #28692: (mrosedale)  puppet.run  fails  with  arguments  (refs:
329246         #28768)
329247
329248       · PR #28768: (mrosedale) 2015.8 @ 2015-11-11 19:29:11 UTC
329249
329250         · 1e510be55b Merge pull request #28768 from mrosedale/2015.8
329251
329252         · fbbbdcc02e Update puppet.py
329253
329254         · 1c1a4b4410 Update puppet.py
329255
329256         · 59bd6aef5c Merge pull request #1 from mrosedale/mrosedale-patch-1
329257
329258           · c26ea916aa Update puppet.py
329259
329260       · ISSUE  #25363:  (syphernl) rabbitmq_{user|vhost}.present in test=True
329261         reports unnecessary changes (refs: #28269)
329262
329263       · ISSUE  #24856:  (pruiz)  rabbitmq_user  state   incorrectly   reports
329264         result=True when using test=true (refs: #28269)
329265
329266       · PR #28772: (rallytime) rabbitmq.list_user_permissions returns a dict,
329267         not a list. Don't expect a list.  @ 2015-11-11 18:17:09 UTC
329268
329269         · PR  #28269:  (rallytime)  Refactor  rabbitmq_user  state   to   use
329270           test=True correctly (refs: #28782, #28772)
329271
329272         · a6cad46301   Merge   pull   request   #28772   from  rallytime/rab‐
329273           bitmq-user-state
329274
329275         · 07482211eb rabbitmq.list_user_permissions returns  a  dict,  not  a
329276           list. Don't expect a list.
329277
329278       · ISSUE   #28724:   (quantonganh)   Exception   occurred  when  calling
329279         boto_vpc.route_table_present with test=True (refs: #28725)
329280
329281       · PR #28774:  (rallytime)  Back-port  #28725  to  2015.8  @  2015-11-11
329282         18:16:27 UTC
329283
329284         · PR  #28725:  (quantonganh)  boto_vpc:  return an empty dict in case
329285           cannot get the route tables (refs: #28774)
329286
329287         · d570ac48f4 Merge pull request #28774 from rallytime/bp-28725
329288
329289         · c3420461c3 boto_vpc: return an empty dict in case  cannot  get  the
329290           route tables
329291
329292       · PR  #28775:  (rallytime)  Back-port  #28740  to  2015.8  @ 2015-11-11
329293         17:57:24 UTC
329294
329295         · PR #28740:  (MasterNayru)  Add  missing  S3  module  import  (refs:
329296           #28777, #28775, #28776)
329297
329298         · 806d1b3669 Merge pull request #28775 from rallytime/bp-28740
329299
329300         · 8a2780da18 Add missing S3 module import
329301
329302       · PR  #28755:  (rallytime)  Move most vmware driver list_* functions to
329303         use salt.utils.vmware functions @ 2015-11-11 17:49:16 UTC
329304
329305         · f273c46f07 Merge pull request #28755 from rallytime/vmware-utils
329306
329307         · 5abe010023  Move  most  vmware  driver  list_*  functions  to   use
329308           salt.utils.vmware functions
329309
329310       · ISSUE   #28655:   (sjorge)   possible   issue   with   state   module
329311         boto_cfn/docker/... (refs: #28744)
329312
329313       · PR #28744: (jfindlay) import gate elementtree @  2015-11-11  16:29:12
329314         UTC
329315
329316         · 0d912bf0d4 Merge pull request #28744 from jfindlay/elementttree
329317
329318         · e321d60002 import gate elementtree in artifactory module
329319
329320         · f20f3f697b import gate elementtree in boto_iam state
329321
329322         · 9845d2f2c6 import gate elementtree in boto_cfn state
329323
329324       · ISSUE  #28726: (feigenblatt) user.present ignores "createhome: False"
329325         (refs: #28758)
329326
329327       · PR #28758: (jfindlay) remove redundant  logic  in  useradd  execution
329328         module @ 2015-11-11 16:22:21 UTC
329329
329330         · b65e786351 Merge pull request #28758 from jfindlay/user
329331
329332         · dbd582cd8d fix doc formatting in user.present state
329333
329334         · 3824d2e9fc only change/report new home when createhome is True
329335
329336         · 3fbf81611f remove redundant logic in useradd execution module
329337
329338       · PR #28757: (mbarrien) Bug fix: pip command to not quote spaces in cmd
329339         line args @ 2015-11-11 16:08:46 UTC
329340
329341         · 6eced26013 Merge pull request #28757 from mbarrien/fix-pip-cmd
329342
329343         · 6df6cb82a6 Fix pip command to not quote spaces in cmd line args
329344
329345       · PR  #28764:  (multani)  Various  documentation  fixes  @   2015-11-11
329346         16:06:10 UTC
329347
329348         · 356bf2987d Merge pull request #28764 from multani/fix/docs
329349
329350         · 1a31b69763 doc: fix documentation formatting in salt.utils.jinja
329351
329352         · 59c105b4b9     doc:     fix     documentation     formatting     in
329353           salt.states.boto_iam*
329354
329355         · cbb167c8ee doc: fix documentation formatting in in salt.modules.lxc
329356
329357         · cb03a89e52 doc: fix documentation formatting in salt.modules.aptpkg
329358
329359       · PR #28752: (aboe76) Update openSUSE grain for tumbleweed @ 2015-11-11
329360         03:54:37 UTC
329361
329362         · d77c24e70d  Merge  pull  request  #28752  from  aboe76/suse_tumble‐
329363           weed_grain
329364
329365         · 764cb16ef0 Update openSUSE grain for tumbleweed
329366
329367       · ISSUE #28712: (hexedpackets) Service registration in the Consul  mod‐
329368         ule is broken (refs: #28713)
329369
329370       · PR  #28713: (hexedpackets) Rename consul.list to consul.list_keys.  @
329371         2015-11-11 00:57:23 UTC
329372
329373         · a620bc5596 Merge pull  request  #28713  from  hexedpackets/fix-con‐
329374           sul-module
329375
329376         · 0889907b3c Make consul.list a function alias.
329377
329378       · PR  #28719:  (jacobhammons)  removed  dependencies  info  from docs @
329379         2015-11-10 00:04:53 UTC
329380
329381         · decc31a766 Merge pull request #28719 from jacobhammons/spm
329382
329383         · d7017be031 removed dependencies info from docs
329384
329385       · PR #28709: (basepi) [2015.8] Merge forward from 2015.5  to  2015.8  @
329386         2015-11-09 23:38:27 UTC
329387
329388         · 989069f44a   Merge   pull  request  #28709  from  basepi/merge-for‐
329389           ward-2015.8
329390
329391         · 2d04ddc108  Merge  remote-tracking  branch  'upstream/2015.5'  into
329392           merge-forward-2015.8
329393
329394           · f40c617bad   Merge   pull   request  #28705  from  cachedout/tor‐
329395             nado_http_headers
329396
329397             · 7ac6cde1ee Account for new headers class in tornado 4.3
329398
329399         · c90431eddc Rip out unit test that doesn't apply anymore
329400
329401         · aeeaa7c90d  Merge  remote-tracking  branch  'upstream/2015.5'  into
329402           merge-forward-2015.8
329403
329404           · 604a7b4199 Merge pull request #28699 from rallytime/bp-28670
329405
329406             · e436b23296  psutil can fail to look-up a uid and raise a KeyEr‐
329407               ror
329408
329409           · 7bd3eb8370 Merge pull request #28703 from rallytime/bp-28690
329410
329411             · a0988dab58 Fix 28689 : Check s3 ext pillar  cache  file  before
329412               calculating expiration
329413
329414           · 2a40f57b93 Merge pull request #28694 from s0undt3ch/2015.5
329415
329416             · 0910c6ffe4 Update to latest bootstrap script v2015.11.09
329417
329418           · 3249b322e8 Merge pull request #28669 from rallytime/fix-26592
329419
329420             · 098fb815af  Use  the  -q  argument to strip extraneous messages
329421               from rabbitmq
329422
329423           · 29e8250d0c Merge pull request #28645 from jacksontj/2015.5
329424
329425             · f63c2d70a7 Rework minion return_retry_timer
329426
329427           · 1bbaea8aad Merge pull request #28668 from twangboy/fix_15177
329428
329429             · 745b8f75f6 Fixed some lint
329430
329431             · a43eb53f28 Added version added notes in docs
329432
329433             · 6b537c8640 Fixed join_domain and unjoin_domain for Windows
329434
329435           · 4ad5056066 Merge pull request #28666 from jfindlay/r_data
329436
329437             · 29228f445f define r_data before using it in file module
329438
329439           · e129e889ad Merge pull request #28662 from cachedout/issue_24758
329440
329441             · 78f4894333 Add note about disabling master_alive_interval
329442
329443           · df121d0cec  Merge  pull  request   #28627   from   twangboy/back‐
329444             port_win_useradd
329445
329446             · 87282b6354 Backport win_useradd
329447
329448       · ISSUE  #28469:  (mlalpho)  state  boto_secgroup.present fails to find
329449         vpc_name (refs: #28710, #28534)
329450
329451       · PR #28710: (rallytime)  Pass  kwargs  correctly  to  _get_group  from
329452         get_group_id @ 2015-11-09 22:29:09 UTC
329453
329454         · 8d5ab15c16 Merge pull request #28710 from rallytime/fix-28469
329455
329456         · 0571608f5d Pass kwargs correctly to _get_group from get_group_id
329457
329458       · PR  #28698:  (rallytime)  Back-port  #28530  to  2015.8  @ 2015-11-09
329459         18:11:51 UTC
329460
329461         · PR #28530: (skizunov) AsyncTCPReqChannel will fail  after  10  uses
329462           (refs: #28614, #28698)
329463
329464         · cfa0cec19c Merge pull request #28698 from rallytime/bp-28530
329465
329466         · d94d0db805 AsyncTCPReqChannel will fail after 10 uses
329467
329468       · ISSUE  #28678:  (johnsocp) Error in netapi/rest_tornado preventing it
329469         from starting (refs: #28679)
329470
329471       · PR #28700:  (rallytime)  Back-port  #28679  to  2015.8  @  2015-11-09
329472         18:07:44 UTC
329473
329474         · PR  #28679:  (johnsocp) Adding err variable definition to fix error
329475           that is preventing rest_tornado from initializing (refs: #28700)
329476
329477         · 2fe9e2e7c5 Merge pull request #28700 from rallytime/bp-28679
329478
329479         · 4e0870e636 Adding variable definition for issue #28678
329480
329481         · PR saltstack/salt-bootstrap#868:  (cachedout)  Always  refresh  the
329482           Arch Linux keyring if needed (refs: #28695, #28694)
329483
329484       · PR  #28695:  (s0undt3ch)  [2015.8]  Update to latest bootstrap script
329485         v2015.11.09 @ 2015-11-09 17:50:15 UTC
329486
329487         · 8ccea2a855 Merge pull request #28695 from s0undt3ch/2015.8
329488
329489         · bb6c60a330 Update to latest bootstrap script v2015.11.09
329490
329491       · ISSUE  #28526:  (clarkperkins)  yumpkg.installed   broken   in   salt
329492         v2015.8.1 on CentOS 6 minions (refs: #28656)
329493
329494       · PR  #28656:  (clarkperkins)  #28526  fixed  yumpkg  module issue with
329495         pkg.installed @ 2015-11-09 05:16:00 UTC
329496
329497         · 61ba00b1c3  Merge  pull  request  #28656   from   clarkperkins/bug‐
329498           fix/fix-yumpkg-module
329499
329500         · e11f87be93 #28526 fixed yumpkg module
329501
329502       · ISSUE  #28588:  (aboe76)  openSUSE  Leap  not recognized as 'Suse' os
329503         grain and os_family grain (2015.8.1 )  (refs: #28672)
329504
329505       · PR #28672: (jfindlay) add OS grain support for SuSE Leap @ 2015-11-08
329506         01:05:51 UTC
329507
329508         · 54484e4e29 Merge pull request #28672 from jfindlay/suse_grain
329509
329510         · b44ba6fa9c add OS grain support for SuSE Leap
329511
329512       · ISSUE  #28603:  (alexharrington) MooseFS/LizardFS mount options force
329513         remount (refs: #28673)
329514
329515       · PR #28673: (jfindlay) add hidden_opts to mount.mounted  @  2015-11-08
329516         00:51:19 UTC
329517
329518         · 476f55ebc0 Merge pull request #28673 from jfindlay/mount_hide
329519
329520         · 1dcaa8e1d7 add hidden_opts to mount.mounted
329521
329522         · d3aff8f6b8 minor refactor of mount state
329523
329524       · PR  #28667:  (cro) saltutil.sync_all should sync proxymodules as well
329525         as the rest.  @ 2015-11-07 01:09:28 UTC
329526
329527         · 24d75709fa Merge pull request #28667 from cro/proxy_sync_all
329528
329529         · 08e53b317f Sync proxymodules with sync_all
329530
329531       · PR #28665: (jfindlay) fixes to windows execution and state modules  @
329532         2015-11-07 00:47:38 UTC
329533
329534         · 019c13948a Merge pull request #28665 from jfindlay/win_fixorz
329535
329536         · e8c7371b56 fix minor doc issues in win_system module
329537
329538         · 5828f391b9 handle error on nonexistent net dev in win_network
329539
329540         · d1560f9ea9 check for wua time setting as a str
329541
329542       · ISSUE  #28542:  (Ch3LL)  s3.get execution module returns error (refs:
329543         #28660)
329544
329545       · PR #28660: (techhat) Don't sign empty regions @  2015-11-06  20:49:25
329546         UTC
329547
329548         · ce3ce7ddf2 Merge pull request #28660 from techhat/emptyregion
329549
329550         · a52518494a Don't sign empty regions
329551
329552       · PR  #28632:  (terminalmage) Fixes/improvements to pkgbuild state/mod‐
329553         ules @ 2015-11-06 20:48:07 UTC
329554
329555         · 0583575f82  Merge  pull  request  #28632   from   terminalmage/pkg‐
329556           build-fixes
329557
329558         · 59f31b4dca Initialize logging in pkgbuild state
329559
329560         · af0b2c4a33 Fix false-positives for pkgbuild.built state
329561
329562         · d83e779eac  rpmbuild: Change return data to include a list of pack‐
329563           ages built
329564
329565         · 03d9321379 debbuild: Change return data to include a list of  pack‐
329566           ages built
329567
329568       · ISSUE #28591: (ssgward) SPM package install error (refs: #28658)
329569
329570       · PR  #28658:  (techhat)  Remove  _pkgdb_fun()  references @ 2015-11-06
329571         20:25:59 UTC
329572
329573         · b82abadd9b Merge pull request #28658 from techhat/issue28591
329574
329575         · 4f2b175467 Remove _pkgdb_fun() references
329576
329577       · ISSUE #28470: (mlalpho) salt boto_rds.present fails to  execute,  too
329578         many arguments (refs: #28612, #28653)
329579
329580       · PR    #28653:    (rallytime)    Provide   possible   parameters   for
329581         boto_rds.present engine values @ 2015-11-06 18:58:35 UTC
329582
329583         · e59d160120    Merge    pull    request    #28653    from     rally‐
329584           time/boto_rds_engine_docs
329585
329586         · 7b30d7e002  Provide possible parameters for boto_rds.present engine
329587           values
329588
329589       · PR #28649: (bdrung) Fix OS related  grains  on  Debian  @  2015-11-06
329590         18:25:46 UTC
329591
329592         · 911761d8bc Merge pull request #28649 from bdrung/2015.8
329593
329594         · 92a17d4cae Fix OS related grains on Debian
329595
329596       · ISSUE  #26889: (UtahDave) salt-call w/non root user outputs repeating
329597         error (refs: #28113, #27343)
329598
329599       · PR #28646:  (rallytime)  Back-port  #28614  to  2015.8  @  2015-11-06
329600         18:19:08 UTC
329601
329602         · PR  #28614:  (skizunov)  Fixed  memory  leak  in AsyncTCPReqChannel
329603           (refs: #28646)
329604
329605         · PR #28530: (skizunov) AsyncTCPReqChannel will fail  after  10  uses
329606           (refs: #28614, #28698)
329607
329608         · PR  #28113:  (skizunov) 'RuntimeError: IOLoop is closing' thrown in
329609           Minion on TCP transport (refs: #28614)
329610
329611         · PR #27343: (cachedout) Close  io  loop  before  deleting  attribute
329612           (refs: #28614)
329613
329614         · 7531bc7334 Merge pull request #28646 from rallytime/bp-28614
329615
329616         · 034cf28e57 Fixed memory leak in AsyncTCPReqChannel
329617
329618       · PR  #28647:  (rallytime)  Back-port  #28624  to  2015.8  @ 2015-11-06
329619         18:18:32 UTC
329620
329621         · PR #28624: (hyn-salt) Added reasoning why boto_cloudwatch.py cannot
329622           be loaded. (refs: #28647)
329623
329624         · a829120746 Merge pull request #28647 from rallytime/bp-28624
329625
329626         · 3b59cfae5f Added reasoning why boto_cloudwatch.py cannot be loaded.
329627
329628       · PR   #28648:  (rallytime)  Merge  branch  '2015.5'  into  '2015.8'  @
329629         2015-11-06 17:46:59 UTC
329630
329631         · 52d70c986d Merge pull request #28648 from rallytime/merge-2015.8
329632
329633         · 81c4974fde Merge branch '2015.5' into '2015.8'
329634
329635           · 64a20228c6 Merge pull request  #28617  from  cachedout/umask_mod‐
329636             ule_sync
329637
329638             · 227792e158 Set restrictive umask on module sync
329639
329640           · 065f8c7fb3  Merge  pull request #28622 from gravyboat/update_pup‐
329641             pet_module_docs
329642
329643             · 4ea28bed30 Update puppet module wording
329644
329645       · PR #28638: (anlutro) Salt-SSH: Return more  concise  error  when  SSH
329646         command fails @ 2015-11-06 16:54:46 UTC
329647
329648         · 4722e41787   Merge  pull  request  #28638  from  alprs/saltssh-han‐
329649           dle_ssh_errors
329650
329651         · 5419b98363 return concise error when ssh fails
329652
329653       · PR #28644: (pass-by-value) Make  sure  versionchanged  is  correct  @
329654         2015-11-06 16:53:31 UTC
329655
329656         · e72e60d4b4 Merge pull request #28644 from pass-by-value/update_ver‐
329657           sionchanged
329658
329659         · f4c297e794 Make sure versionchanged is correct
329660
329661       · ISSUE #8: (thatch45) Network persistence (refs: #28615)
329662
329663       · ISSUE #64: (thatch45) State file rendering system (refs: #28615)
329664
329665       · ISSUE #54: (thatch45) Release items (refs: #28615)
329666
329667       · PR #28615: (The-Loeki) Fixes to FreeBSD pkg @ 2015-11-05 23:43:33 UTC
329668
329669         · PR #198: (techhat) Basic salt support for Tomcat (refs: #28615)
329670
329671         · cf79722260 Merge pull request #28615 from The-Loeki/patch-1
329672
329673         · a9ee178e0d rehash is a shell builtin, needs cmd.shell to work
329674
329675         · 17f3852bdd environ.get has no output_loglevel
329676
329677       · PR #28613: (cachedout) Add facility  to  deepcopy  bound  methods  in
329678         Py2.6 and apply to grains @ 2015-11-05 23:28:50 UTC
329679
329680         · PR  #28587:  (cachedout)  Reset yaml rendering hooks to avoid leaks
329681           (refs: #28613)
329682
329683         · 9196c57e3f    Merge    pull    request    #28613    from    cached‐
329684           out/py26_method_deepcopy
329685
329686         · 0935fcf4fc Spelling is hard
329687
329688         · 2435b45195  Move  to compat module to avoid namespace collisions in
329689           salt.utils
329690
329691         · f519661875 Add facility to deepcopy  bound  methods  in  Py2.6  and
329692           apply to grains
329693
329694       · ISSUE  #28527:  (Oro)  boto_rds.create needs storage_type, which does
329695         not exist in boto.rds2 create_db_instance (refs: #28561)
329696
329697       · ISSUE #28470: (mlalpho) salt boto_rds.present fails to  execute,  too
329698         many arguments (refs: #28612, #28653)
329699
329700       · PR  #28612:  (rallytime) Remove unsupported storage_type argument for
329701         parity with boto_rds module @ 2015-11-05 19:07:42 UTC
329702
329703         · PR #28561: (Oro) Issue #28527 boto_rds.create does not work  (refs:
329704           #28612)
329705
329706         · 2032d61e68 Merge pull request #28612 from rallytime/fix-28470
329707
329708         · 8fd26a5488 Remove unsupported storage_type argument for parity with
329709           boto_rds module
329710
329711       · PR #28611: (rallytime) [2015.8] Be explicit  about  salt.utils.vmware
329712         function calls @ 2015-11-05 18:43:36 UTC
329713
329714         · d81330ac7f     Merge    pull    request    #28611    from    rally‐
329715           time/vmware-utils-fix
329716
329717         · f46547eb56 [2015.8] Be explicit  about  salt.utils.vmware  function
329718           calls and avoid namespacing
329719
329720       · PR #28610: (pass-by-value) Lxc config additions @ 2015-11-05 18:43:05
329721         UTC
329722
329723         · 35dbca24e7 Merge pull request  #28610  from  pass-by-value/lxc_con‐
329724           fig_additions
329725
329726         · 83193641ca Add doc about cloud lxc options
329727
329728         · 8977ddad59 Add argument to init
329729
329730         · 2be3f8b5bb Add bootstrap delay and systemd check options
329731
329732       · ISSUE #28601: (nasenbaer13) boto_asg.present overwrites custom dimen‐
329733         sions in alarms (refs: #28602)
329734
329735       · PR #28602: (nasenbaer13) Allow setting of custom  dimensions  in  asg
329736         alarm specification @ 2015-11-05 15:00:24 UTC
329737
329738         · 464aa6b062 Merge pull request #28602 from eyj/fix-28601
329739
329740         · 963ad4250a Allow setting of custom dimensions in asg alarm specifi‐
329741           cation
329742
329743       · PR  #28596:  (rallytime)  Merge  branch  '2015.5'  into  '2015.8'   @
329744         2015-11-05 14:25:09 UTC
329745
329746         · 572d95b3e1 Merge pull request #28596 from rallytime/merge-2015.8
329747
329748         · eec9d69387 Merge branch '2015.5' into '2015.8'
329749
329750           · 08295de5a5 Merge pull request #28563 from s0undt3ch/2015.5
329751
329752             · 16f4db79a0 Update to latest bootstrap script v2015.11.04
329753
329754           · 1e09f186ce Merge pull request #28541 from twangboy/fix_28173
329755
329756             · 7edf5ce370 Fixed problem with system.set_computer_name
329757
329758           · f44ed780b5    Merge    pull    request    #28537    from   jfind‐
329759             lay/decode_state_2015.5
329760
329761             · 06e514940c decode filename to utf-8 in file.recurse state
329762
329763           · 6acf87593f Merge pull request #28529 from rallytime/fix-28272
329764
329765             · a959681858 Add link to Sending a GH PR to documentation docs
329766
329767             · 1c612e2772 Update contributing and documentation pages to  rec‐
329768               ommend submitting against branches
329769
329770           · 025bff2bf0    Merge    pull    request    #28548    from    nmad‐
329771             hok/2015.5-task-error
329772
329773             · 804a0a6537 Tasks can be in queued  state  instead  of  running.
329774               Fixes #28511
329775
329776           · 63bd3e52b3 Merge pull request #28531 from rallytime/fix-24585
329777
329778             · bc577b2531   Add   versionadded  directives  to  virtualenv_mod
329779               state/module
329780
329781           · ea3bf972c4   Merge    pull    request    #28508    from    twang‐
329782             boy/fix_unit_tests_windows
329783
329784             · 0da6ff7c50 Fixed some logic
329785
329786             · cf1e059be5 Fixed windows tests
329787
329788           · 73c5735fc1 Merge pull request #28525 from rallytime/route53_spac‐
329789             ing
329790
329791             · 6ab2ce615c Fix spacing in doc examples for  boto_route53  state
329792               and module
329793
329794           · 2d7f934f67 Merge pull request #28517 from rallytime/fix-28243
329795
329796             · be8f650901 Punctuation.
329797
329798             · fd846822c1 Add state_auto_order defaults to True note to order‐
329799               ing docs
329800
329801       · PR #28593: (blueyed) doc:  fix  typo  with  salt.states.file:  s/pre‐
329802         seve/preserve/ @ 2015-11-04 22:33:25 UTC
329803
329804         · 73c33e0b4a Merge pull request #28593 from blueyed/fix-typo-preserve
329805
329806         · eaf27d6ee7 doc: fix typo with salt.states.file: s/preseve/preserve/
329807
329808       · PR  #28578:  (twangboy) Fixed the script... something got broke...  @
329809         2015-11-04 22:00:18 UTC
329810
329811         · 8b483ee354 Merge pull request #28578 from  twangboy/fix_windows_in‐
329812           staller_script
329813
329814         · 90b19a3279 Fixed the script... something got broke...
329815
329816       · PR  #28579:  (jfindlay)  fix  __virtual__  returns: tls,uptime mods @
329817         2015-11-04 22:00:02 UTC
329818
329819         · 7ca7ed4b37 Merge pull request #28579 from jfindlay/virt_ret
329820
329821         · 333c132378 fix __virtual__ returns: tls,uptime mods
329822
329823       · ISSUE #27574: (jgill) salt-cloud:  Could  not  associate  elastic  ip
329824         address <None> with network interface <eni-xxxxxxxx> (refs: #28584)
329825
329826       · PR  #28584:  (rallytime)  If AssociatePublicIpAddress is set to True,
329827         don't auto-assign eip.  @ 2015-11-04 21:59:38 UTC
329828
329829         · PR #25315: (ruzarowski) [cloud:EC2] Move handling of  AssociatePub‐
329830           licIpAddress  to  associate_eip/allocate_new_eip logic depending on
329831           value type (refs: #28584)
329832
329833         · ae764c6b5c Merge pull request #28584 from rallytime/fix-27574
329834
329835         · 490e1bd5bb  If  AssociatePublicIpAddress  is  set  to  True,  don't
329836           auto-assign eip.
329837
329838       · ISSUE  #28392:  (jacksontj)  AsyncZeroMQReqChannel does not implement
329839         tries (2015.8) (refs: #28410)
329840
329841       · PR #28576: (jacksontj) Only encode the zmq message once @  2015-11-04
329842         21:59:20 UTC
329843
329844         · PR  #28410:  (jacksontj) Add retries to the zeromq.AsyncReqMessage‐
329845           Client (refs: #28576)
329846
329847         · 231cdd4316 Merge pull request #28576 from jacksontj/transport
329848
329849         · b29fc676a3 Only encode the zmq message once
329850
329851       · PR #28587: (cachedout) Reset yaml  rendering  hooks  to  avoid  leaks
329852         (refs: #28613) @ 2015-11-04 21:37:11 UTC
329853
329854         · ab62f5cd12  Merge  pull request #28587 from cachedout/fix_yaml_ren‐
329855           der_leak
329856
329857         · 2da64bd736 Reset yaml rendering hooks to avoid leaks
329858
329859       · ISSUE #3436: (madduck) Pillar does not  handle  Unicode  data  (refs:
329860         #28134, #saltstack/salt`#28134`_)
329861
329862         · PR saltstack/salt#28134: (bernieke) fix unicode pillar values #3436
329863           (refs: #28581)
329864
329865       · PR #28581: (basepi) Revert b4875e585a165482c4c1ddc8987d76b0a71ef1b0 @
329866         2015-11-04 19:28:20 UTC
329867
329868         · 69081d00e0     Merge     pull    request    #28581    from    salt‐
329869           stack/revert-28134-2015.8
329870
329871         · 0a07c90d5e Revert b4875e585a165482c4c1ddc8987d76b0a71ef1b0
329872
329873       · ISSUE #28477:  (anlutro)  KeyError  with  file.managed  HTTPS  source
329874         (refs: #28573)
329875
329876       · PR  #28573:  (jacksontj)  Add body to salt.utils.http.query returns @
329877         2015-11-04 17:18:19 UTC
329878
329879         · ea3658eac8 Merge pull request #28573 from jacksontj/2015.8
329880
329881         · d55ea7550b Add body to salt.utils.http.query returns
329882
329883       · ISSUE #655: (thatch45) Add  general  command  management  to  service
329884         (refs: #`saltstack/salt-bootstrap#656`_)
329885
329886         · PR   saltstack/salt-bootstrap#674:   (jfindlay)   add  support  for
329887           repo.saltstack.com (refs: #28564, #28563)
329888
329889         · PR saltstack/salt-bootstrap#665:  (mbologna)  Change  to  'dnf'  as
329890           package manager for Fedora 22-> (refs: #28564, #28563)
329891
329892         · PR saltstack/salt-bootstrap#656: (eyj) Add bootstrap -b flag (don't
329893           install dependencies) (refs: #28564, #28563)
329894
329895         · PR saltstack/salt-bootstrap#654: (hedinfaok)  Fixes  error  finding
329896           python-jinja2 in RHEL 7 (refs: #28564, #28563)
329897
329898         · PR  saltstack/salt-bootstrap#653:  (cbuechler)  Make bootstrap work
329899           with FreeBSD 11-CURRENT. (refs: #28564, #28563)
329900
329901       · PR #28564: (s0undt3ch) [2015.8] Update  to  latest  bootstrap  script
329902         v2015.11.04 @ 2015-11-04 15:29:46 UTC
329903
329904         · 3a729c2b40 Merge pull request #28564 from s0undt3ch/2015.8
329905
329906         · b6a53a6bfb Update to latest bootstrap script v2015.11.04
329907
329908       · ISSUE  #28527:  (Oro)  boto_rds.create needs storage_type, which does
329909         not exist in boto.rds2 create_db_instance (refs: #28561)
329910
329911       · PR #28561: (Oro) Issue #28527 boto_rds.create does  not  work  (refs:
329912         #28612) @ 2015-11-04 15:13:09 UTC
329913
329914         · fed4c6f482 Merge pull request #28561 from Oro/fix-boto-rds-create
329915
329916         · 54782b6fd9 Removed exception message where there is no exception
329917
329918         · e08f45c824 Issue #28527 boto_rds.create does not work
329919
329920       · PR #28560: (bdrung) Fix various typos @ 2015-11-04 15:06:36 UTC
329921
329922         · ec924e8410 Merge pull request #28560 from bdrung/2015.8
329923
329924         · 89dcb66310 Fix the wrong "allow to do" phrase
329925
329926         · 859b6b46a6 Fix typo an nonexistant -> nonexistent
329927
329928         · 66921cc61e Fix typo an succesfully -> successfully
329929
329930         · c1e3ef7c8d Fix typo an explicitely -> explicitly
329931
329932         · 029a95398c Fix typo an superflous -> superfluous
329933
329934         · 026c215933 Fix typo an unecessary -> unnecessary
329935
329936         · 5f7fc5f94b Fix typo an edditable -> editable
329937
329938         · 0b768944c2 Fix typo an deamon -> daemon
329939
329940         · 5af49881d7 Fix typo an completly -> completely
329941
329942         · 14d2a16f74 Fix typos of compatibility
329943
329944         · 46a5a9b073 Fix typo an suppored -> supported
329945
329946         · abc490a78e Fix typo an usefull -> useful
329947
329948         · ddd412180c Fix typo an targetting -> targeting
329949
329950         · 610a6a77ae Fix typo an verison -> version
329951
329952         · e0a5d46a1e Fix typo an seperated -> separated
329953
329954         · 7f11cfd5e1 Fix typo an helpfull -> helpful
329955
329956         · 2e9b520d84 Fix typos of omitted
329957
329958         · 3029f64481 Fix typo an compatbility -> compatibility
329959
329960         · 470e82f17f Fix typo an dictionnary -> dictionary
329961
329962         · 5843c7aa24 Fix typo an optionnal -> optional
329963
329964         · 730d0f95e7 Fix typo an transfered -> transferred
329965
329966         · c7e7884de2 Fix typo an recieved -> received
329967
329968         · 50eea287f3 Fix typo an managment -> management
329969
329970         · cb01da81c6 Fix typos of parameter
329971
329972         · 45fcc7d339 Fix typo an dont -> don't
329973
329974         · 3624935d32 Fix typo an other -> another
329975
329976         · d16afe2607 Fix typo sofwares -> software
329977
329978         · b9b7cbe525 Fix typo sofware -> software
329979
329980         · 8edd2c1add Fix typos of dependency
329981
329982         · 3a5e2e3437 Fix typo documention -> documentation
329983
329984       · ISSUE  #28528:  (schlagify) timezone.system error:  CommandExecution‐
329985         Error: Failed to parse timedatectl  output,  this  is  likely  a  bug
329986         (refs: #28550)
329987
329988       · PR  #28550:  (jfindlay)  check timedatectl errno and return stdout on
329989         failure @ 2015-11-04 15:00:24 UTC
329990
329991         · bd0b291b63 Merge pull request #28550 from jfindlay/ctl_err
329992
329993         · 11a9a5868f simplify timezone module unit test mocks
329994
329995         · 476b651c94 update timezone module unit tests for timedatectl
329996
329997         · 5c0e5dacc0 check timedatectl errno and return stdout on failure
329998
329999       · ISSUE #19249: (ahetmanski) Cannot create cache_dir salt master excep‐
330000         tion. (refs: #28545)
330001
330002       · PR  #28545:  (jfindlay)  pass  on  concurrent  create  of  jid_dir in
330003         local_cache @ 2015-11-04 14:54:11 UTC
330004
330005         · e048667c91 Merge pull request #28545 from jfindlay/concurrent_dir
330006
330007         · 58ad699331 pass on concurrent create of cache_dir in roots fs
330008
330009         · e456184b04 pass on concurrent create of jid_dir in local_cache
330010
330011       · PR #28544: (rallytime) Start moving some  vmware.py  cloud  funcs  to
330012         utils/vmware.py @ 2015-11-04 14:52:59 UTC
330013
330014         · 082ffd5734 Merge pull request #28544 from rallytime/vmware-utils
330015
330016         · 403fe37704 Pylint.
330017
330018         · d9301eea95 Don't move _set_cd_or_dvd_backing_type yet
330019
330020         · 8d69639230   Start   moving   some   vmware.py   cloud   funcs   to
330021           utils/vmware.py
330022
330023       · PR #28543: (gtmanfred) clean up changes for pkg.uptodate and supervi‐
330024         sord.dead @ 2015-11-04 14:49:46 UTC
330025
330026         · bf4f7cdc4b Merge pull request #28543 from gtmanfred/2015.8
330027
330028         · 3d57b392cb return changes if supervisord stopped process
330029
330030         · 5547a34acc return empty changes if server is uptodate
330031
330032       · ISSUE  #28524:  (bmcorser)  UnicodeDecodeError  in states.file (refs:
330033         #28537, #28538)
330034
330035       · PR #28538: (jfindlay) decode path and  url  to  utf-8  in  url.create
330036         (refs: #28537) @ 2015-11-04 14:48:34 UTC
330037
330038         · d345768b81 Merge pull request #28538 from jfindlay/decode_state
330039
330040         · b05dfc5c58 decode path and url to utf-8 in url.create
330041
330042       · ISSUE   #28476:   (ColorFuzzy)  state.sls  UnicodeDecodeError  (refs:
330043         #28533)
330044
330045       · PR #28533: (jfindlay) decode highstate  error  messages  to  utf-8  @
330046         2015-11-04 14:47:55 UTC
330047
330048         · 2e0c8264db Merge pull request #28533 from jfindlay/decode_err
330049
330050         · 9c9bb75c37 decode highstate error messages to utf-8
330051
330052       · PR #28547: (nmadhok) [Backport] [2015.8] Tasks can be in queued state
330053         instead of running @ 2015-11-04 04:13:30 UTC
330054
330055         · cfc3146b2d Merge pull request #28547 from nmadhok/2015.8-task-error
330056
330057         · 3fb1f9ee6b Tasks can be in queued state instead of  running.  Fixes
330058           #28511
330059
330060       · PR  #28535:  (techhat)  Fail gracefully if 169.254* isn't available @
330061         2015-11-03 22:39:38 UTC
330062
330063         · 7e22e7cf24 Merge pull request #28535 from techhat/fixcreds
330064
330065         · 8d9224bd09 Catch timeouts too
330066
330067         · fa46dbb2a3 Lint
330068
330069         · f05a5e0936 Fail gracefully if 169.254* isn't available
330070
330071       · PR #28536: (cro) Default configuration file  for  proxy  minions.   @
330072         2015-11-03 21:26:27 UTC
330073
330074         · 9a5208e8aa Merge pull request #28536 from cro/proxyconf
330075
330076         · 1e031c4940 Default configuration file for proxy minions.
330077
330078       · ISSUE  #28469:  (mlalpho)  state  boto_secgroup.present fails to find
330079         vpc_name (refs: #28710, #28534)
330080
330081       · PR #28534: (rallytime) Add versionadded directive for vpc_name arg in
330082         boto_secgroup.present @ 2015-11-03 19:30:04 UTC
330083
330084         · 2bc78a32ef Merge pull request #28534 from rallytime/fix-28469
330085
330086         · ebe3b34ae7 Add versionadded directive for vpc_name arg in boto_sec‐
330087           group.present
330088
330089       · PR #28516:  (rallytime)  Back-port  #28489  to  2015.8  @  2015-11-03
330090         14:05:54 UTC
330091
330092         · PR  #28489:  (TheBigBear) Update windows-package-manager.rst (minor
330093           edit) adding missing single quote pairs. (refs: #28516)
330094
330095         · c6a6fe0089 Merge pull request #28516 from rallytime/bp-28489
330096
330097         · 2e5684a1e4 Update windows-package-manager.rst
330098
330099       · PR #28506: (basepi) [2015.8] Log minion  list  for  all  rosters,  at
330100         debug level @ 2015-11-03 14:05:22 UTC
330101
330102         · 36a217acbd  Merge  pull  request  #28506  from basepi/salt-ssh.min‐
330103           ions.log.debug
330104
330105         · 06cdb50494 Log minion list for all rosters, at debug level
330106
330107       · PR #28514: (basepi) [2015.8] Merge forward from 2015.5  to  2015.8  @
330108         2015-11-03 01:19:33 UTC
330109
330110         · 8cbea63e40   Merge   pull  request  #28514  from  basepi/merge-for‐
330111           ward-2015.8
330112
330113         · 463a03b2a9  Merge  remote-tracking  branch  'upstream/2015.5'  into
330114           merge-forward-2015.8
330115
330116         · 63ce8f78d5   Merge   pull  request  #28512  from  basepi/merge-for‐
330117           ward-2015.5
330118
330119           · 61c382133a Merge remote-tracking  branch  'upstream/2014.7'  into
330120             merge-forward-2015.5
330121
330122           · 4bf56cad3f Merge pull request #28461 from cachedout/issue_28455
330123
330124             · 097838ec0c Wrap all cache calls in state.sls in correct umask
330125
330126           · f3e61db045    Merge    pull    request    #28407   from   DSRCom‐
330127             pany/issues/24910_token_auth_fix_2014
330128
330129             · b7b5bec309 Don't request creds if auth with key.
330130
330131       · PR #28502: (cachedout) Lint #28427 @ 2015-11-02 21:09:20 UTC
330132
330133         · PR #28427: (cro) More updates (refs: #28502)
330134
330135         · b919f55f8d Merge pull request #28502 from cachedout/lint_28427
330136
330137         · 459a342102 Lint #28427
330138
330139         · d354885c3d Lint
330140
330141         · dbb1f0899e Lint
330142
330143         · 749383c413 Lint
330144
330145         · 0fa067ea30 Add datacenter getter/setter,  change  'dell_switch'  to
330146           just 'switch', trap call to change_password.
330147
330148         · 4bcb5a508b  Add  datacenter  getter/setter, change 'dell_switch' to
330149           just 'switch', trap call to change_password.
330150
330151       · PR #28464: (basepi) [2015.8] Merge forward from 2015.5  to  2015.8  @
330152         2015-11-02 20:18:21 UTC
330153
330154         · 238411c8ce   Merge   pull  request  #28464  from  basepi/merge-for‐
330155           ward-2015.8
330156
330157         · 6f6e687cb4 Mock master_uri for even tests
330158
330159         · 3286a5250f  Merge  remote-tracking  branch  'upstream/2015.5'  into
330160           merge-forward-2015.8
330161
330162           · 37ceae1e88   Merge  pull  request  #28448  from  gwaters/add-red‐
330163             hat-notes
330164
330165             · e70990704a added a note to the tutorial for those  that  redhat
330166               so they can use the state file too.
330167
330168           · 5ef50d60cd Merge pull request #28406 from rallytime/bp-28381
330169
330170             · e5322d2c44 Add FreeBSD detection for VirtualBox
330171
330172           · 30d5f7bbae Merge pull request #28413 from rallytime/bp-28400
330173
330174             · ae1921b922  Do  not  execute  _preflight_check if not_installed
330175               list is empty in _find_install_targets. Calling with empty list
330176               on  rhel/centos  cause  execution  of  repoquery --whatprovides
330177               without pkg list which is memory consumptive task for host  and
330178               also for red hat satellite server.
330179
330180           · 045d540aff      Merge      pull      request      #28366     from
330181             erchn/fix_yumpkg_mod_repo_disabled
330182
330183             · 8187a4ce20 re-arrange things a bit to have less overall changes
330184
330185             · f1d570ff18 move todelete above disabled check, add comment
330186
330187             · 64feec413f also remove disabled key from repo_opts
330188
330189             · 2f2ebb7bb6 mark repo not enabled when pkgrepo state  passes  in
330190               disable: True
330191
330192           · 3923f4a569  Merge  pull request #28373 from beverlcl/fix-use_car‐
330193             rier-28372
330194
330195             · 32cffeceb6 Fixing bug #28372 for use_carrier option on  bonding
330196               network interfaces.
330197
330198           · e07e3f257b Merge pull request #28359 from rallytime/bp-28358
330199
330200             · 9cacbf582b docstring typo fix - list returners not runners
330201
330202           · 282be7ba5a Merge pull request #28346 from twangboy/fix_installer
330203
330204             · f65e3e5275 Updated documentation to reflect the new parameter
330205
330206             · a0c5223554 Fixes #27923 and #28000
330207
330208           · 7858f04ebc  Merge  pull  request  #28315 from gwaters/update-pil‐
330209             lar-doc
330210
330211             · b15285c0b4 adding a working example of setting pillar  data  on
330212               the cli
330213
330214           · 45305ccf29    Merge    pull   request   #28211   from   terminal‐
330215             mage/legacy_git_pillar-2015.5
330216
330217             · 0d6a4ac115 Remove non-functional test
330218
330219             · ab991d61d9 Fix for ext_pillar being compiled  twice  in  legacy
330220               git_pillar code (2015.5 branch)
330221
330222           · a6cc84c407 Merge pull request #28263 from cachedout/issue_26411-1
330223
330224             · 3b880a5f07 New channel for event.fire_master
330225
330226             · 29e9533aab Stand up a new channel if using salt-call
330227
330228           · 788e1463d8 Merge pull request #28293 from cachedout/fix_28271
330229
330230             · 499ed8519b Minor grammar changes to #28271
330231
330232           · e178af0b90  Merge  pull  request #28271 from gwaters/update-tuto‐
330233             rial-documentation
330234
330235             · f96d39483d updated the tutorial with gravyboat's suggestions
330236
330237             · b1f4a2bdf4 i think i changed the wrong header, updated to fix
330238
330239             · 846b3aece1 I found you can not run the cp.push  commands  until
330240               after  enabling  the feature in the conf, so I wanted to update
330241               the docs so others who try these commands wont  bump  into  the
330242               same issue I had.
330243
330244           · e3eff9b909 Merge pull request #28280 from 0xf10e/patch-1
330245
330246             · 6d4316b0ac Correct Jinja function load_* to import_*
330247
330248           · 909fa3dc97 Merge pull request #28255 from cachedout/cli_opt
330249
330250             · a2408157de Add __cli opt
330251
330252           · 0fa094ae11    Merge    pull    request    #28213    from   rally‐
330253             time/boto_route53_state
330254
330255             · 237d64ff11 If record returned None,  don't  continue  with  the
330256               state. Something went wrong.
330257
330258           · 1768014705  Merge  pull  request  #28238  from  basepi/fix.sched‐
330259             ule.present.28217
330260
330261             · 087a8dc3c2 Only insert enabled if it's a dict
330262
330263             · 5b49f41fab Fix schedule  comparison  to  adjust  for  'enabled'
330264               being added in schedule.list
330265
330266             · 2dc1226ab8 Build new item with 'enabled' if available
330267
330268           · bdd48c92de    Merge    pull   request   #28174   from   lorengor‐
330269             don/file-replace-multiline
330270
330271             · acdef2da60 Update docstrings with new guidance
330272
330273             · 0835b005b7 Use a test that makes the extra file  read  unneces‐
330274               sary
330275
330276             · 6d6121a6e5  Use  flags  when checking whether content was added
330277               previously
330278
330279             · b25e609e9e Set flags=8 since now the file is read as  a  MULTI‐
330280               LINE string by default
330281
330282             · 89e8dcdffd Use finally block to ensure mmap object is closed
330283
330284             · 5aea6647c9 Add support for multiline regex in file.replace
330285
330286           · 2225925fb5 Merge pull request #28175 from twangboy/fix_19673
330287
330288             · ae8fbb208f Fixes #19673
330289
330290       · ISSUE  #15583:  (dr4Ke) state grain.present should accept dict values
330291         (isn't it?) (refs: #26945)
330292
330293       · ISSUE #11870:  (gpkvt)  Nested  Grain-Support  for  grains.present  /
330294         grains.absent (refs: #26945)
330295
330296       · PR  #28486:  (rallytime)  Back-port  #26945  to  2015.8  @ 2015-11-02
330297         18:43:35 UTC
330298
330299         · PR #26945: (dr4Ke) Feature state grains  support  nested  and  dict
330300           (refs: #28486)
330301
330302         · a25ce38fda Merge pull request #28486 from rallytime/bp-26945
330303
330304         · 8d26bbd777 grains module and state: documentation fixes
330305
330306         · df7e936910 grains module and state: use a unique object...
330307
330308         · df8ec1184c grains module documentation fixes
330309
330310         · 25e9a5c9ad grains state and module: fix version strings
330311
330312         · eee2318873 grains state: allow deleting grain with 'False' value
330313
330314         · c92326f5ea grains module: yaml representer for OrderedDict
330315
330316         · 2c9c8d4073 grains state doc update
330317
330318         · 576252da05  grains  state: list_present, list_absent support nested
330319           grain
330320
330321         · 62a1f37d86 grains state: nested support for grains.append
330322
330323         · 3019a055c9 grains state: rewrite doc + example
330324
330325         · c19cff517a grains state: more tests
330326
330327         · cc844e4a2c grains state tests: test the grain file content as well
330328
330329         · 1c5cd4c82d grains state: changes comment more accurate
330330
330331         · 563fd2b56c grains state: use DEFAULT_TARGET_DELIM
330332
330333         · c63913e602 grains module: simpler comment for already set key
330334
330335         · 2000180791 grains.present uses grains.set
330336
330337         · a03c79b13b module grains.set default comment is a string
330338
330339         · 64e9e2c3b3 grains.absent uses set(None)
330340
330341         · 6b8c245b87 grains state: new tests for nested grains
330342
330343       · PR #28472: (gtmanfred) overwrite more than one  value  with  names  @
330344         2015-11-02 17:56:53 UTC
330345
330346         · f3640b3ad6 Merge pull request #28472 from gtmanfred/2015.8
330347
330348         · 8b90ccedf5 overwrite more than one value with names
330349
330350       · PR  #28493:  (rallytime)  Back-port  #28492  to  2015.8  @ 2015-11-02
330351         17:54:09 UTC
330352
330353         · PR #28492: (cedwards)  Updated  FreeBSD  installation  docs  (refs:
330354           #28493)
330355
330356         · e31ef51053 Merge pull request #28493 from rallytime/bp-28492
330357
330358         · ffc77259c9 Updated FreeBSD installation docs:
330359
330360       · PR  #28494: (whiteinge) Fix filter_by passing incorrect parameters to
330361         match functions @ 2015-11-02 17:53:55 UTC
330362
330363         · 38c77206db Merge  pull  request  #28494  from  whiteinge/match-fil‐
330364           ter_by-argfix
330365
330366         · e61ac75d6f  Fix  filter_by  passing  incorrect  parameters to match
330367           functions
330368
330369       · ISSUE #23685: (Snergster) inotify beacon on file. 'change'  event  to
330370         reactor to reset file to known state will cause loop (refs: #28388)
330371
330372       · PR  #28491:  (rallytime)  Back-port  #28388  to  2015.8  @ 2015-11-02
330373         17:13:23 UTC
330374
330375         · PR #28388: (cachedout) Beacon state disable (refs: #28491)
330376
330377         · d19affd44d Merge pull request #28491 from rallytime/bp-28388
330378
330379         · f740a19477 Working right now
330380
330381         · 700eaebad0 Disable starting to come to life
330382
330383         · f8b17748ef More fixing
330384
330385         · 04585a2878 Documentation for disable_during_state_run
330386
330387         · dbbd53689d Add documentation note in inotify beacon
330388
330389         · 40217fe813 More refactoring and add new option  to  disable  during
330390           state run
330391
330392         · 19af5e5ed3 Starting on refactor of beacon config parsing
330393
330394       · ISSUE  #12363: (joehealy) unable to manage password expiry of windows
330395         users (refs: #28465)
330396
330397       · PR #28465: (twangboy) Fix #12363: Password Expiration  in  Windows  @
330398         2015-11-02 17:01:18 UTC
330399
330400         · f7042ba967 Merge pull request #28465 from twangboy/fix_12363
330401
330402         · bcf7d58dbb Fixed array if there's a problem with user.info
330403
330404         · 4b36cb8b6e Added documentation to win_shadow
330405
330406         · fc8f197f69 Fix #12363
330407
330408       · ISSUE #28484: (nasenbaer13) Elasticcache subnet group creation raises
330409         TypeError (refs: #28485)
330410
330411       · PR #28485: (nasenbaer13)  Fix  invalid  usage  of  _get_conn  causing
330412         #28484 @ 2015-11-02 16:47:52 UTC
330413
330414         · ec0cbec00b Merge pull request #28485 from eyj/fix_28484
330415
330416         · 9d80fb6070 Fix invalid usage of _get_conn causing #28484
330417
330418       · ISSUE  #28453:  (sdm24)  Fix Formatting for Nodegroup Targetting Docs
330419         (refs: #28454)
330420
330421       · ISSUE #28268: (gravyboat) Update nodegroup docs  to  explain  how  to
330422         target via nodegroups (refs: #28306)
330423
330424       · PR  #28454:  (sdm24) Fixed nodegroup doc formatting to correctly link
330425         to pillar_opts in the master config @ 2015-11-02 15:14:40 UTC
330426
330427         · PR #28306: (sdm24) Updated the Nodegroup docs  to  include  how  to
330428           target nodegroups in SLS Jinja (refs: #28454)
330429
330430         · 1116798f21   Merge   pull  request  #28454  from  sdm24/fix-format‐
330431           ting-in-nodegroup-docs
330432
330433         · b968581eb1 Fixed nodegroup doc formatting to correctly link to pil‐
330434           lar_opts in the master config
330435
330436       · PR #28487: (cachedout) Lint 28456 @ 2015-11-02 14:52:27 UTC
330437
330438         · fac7803a59 Merge pull request #28487 from cachedout/lint_28456
330439
330440         · 58fe15437a Lint #28456
330441
330442         · 322a28bb06  updated  states.virtualenv_mod comments to reflect that
330443           some kwargs need 'distribute: True'
330444
330445       · ISSUE #24775: (ymote) jinja returned  host  ip  address  with  square
330446         bracket (refs: #28457)
330447
330448       · PR   #28457:   (sdm24)  Clarified  comments  for  grains/core.py  for
330449         ip_interfaces, ip4_interfac… @ 2015-11-02 14:47:59 UTC
330450
330451         · 22a4f14625      Merge      pull      request      #28457       from
330452           sdm24/update-grain-ip-interfaces-comments
330453
330454         · eb92afe238 Clarified comments for grains/core.py for ip_interfaces,
330455           ip4_interfaces, and ip6_interfaces, to explicitly  state  that  the
330456           ips for each interface are passed as a list
330457
330458       · PR  #28473:  (anlutro)  Show check_cmd output on failure @ 2015-11-02
330459         14:15:30 UTC
330460
330461         · 5818b28c85   Merge   pull   request    #28473    from    alprs/fea‐
330462           ture-cmd_check_output
330463
330464         · a772ce330a fix tests
330465
330466         · 90b01e9e0d show check_cmd output on failure
330467
330468       · PR #28460: (justinta) Skipped wipefs test if wipefs does not exist on
330469         OS @ 2015-10-31 04:09:32 UTC
330470
330471         · cfe39df7ac Merge pull request #28460 from jtand/wipe_fs_fix
330472
330473         · 7ca79f1f7b Skipped wipefs test if wipefs does not exist on OS
330474
330475       · PR  #28426:  (terminalmage)  pkgbuild.built:  make  template   engine
330476         optional @ 2015-10-30 17:13:36 UTC
330477
330478         · 9b44b5e347   Merge   pull  request  #28426  from  terminalmage/pkg‐
330479           build-template
330480
330481         · 6d32497848 pkgbuild.built: make template engine optional
330482
330483       · ISSUE #28123: (hrumph) local.cmd  not  working  for  windows  minions
330484         (refs: #28422)
330485
330486       · PR #28422: (cachedout) Handle windows logging on thread_multi [WIP] @
330487         2015-10-30 17:12:26 UTC
330488
330489         · 31777cb4e9 Merge pull request #28422 from cachedout/issue_28123
330490
330491         · fd3b2a9e20 Handle windows logging on thread_multi
330492
330493       · ISSUE #13513: (ironwilliamcash) Windows Registry Key Problem on 64bit
330494         Machine (refs: #28425)
330495
330496       · PR  #28425:  (twangboy) Fix #13513 - Reflection @ 2015-10-30 17:07:23
330497         UTC
330498
330499         · f9992fc948 Merge pull request #28425 from twangboy/fix_13513
330500
330501         · beb141df69 Fixed some lint
330502
330503         · 0d747355c4 Fix #13513
330504
330505       · ISSUE #27980: (rayba) salt-cloud 2015.5.0 azure provider could not be
330506         loaded (refs: #28417)
330507
330508       · PR  #28417:  (rallytime)  Add note about azure sdk version to getting
330509         started docs @ 2015-10-29 19:47:05 UTC
330510
330511         · 4c8cd064a4 Merge  pull  request  #28417  from  rallytime/azure-ver‐
330512           sion-warning
330513
330514         · 8e3a2ba7e7 Add note about azure sdk version to getting started docs
330515
330516       · ISSUE  #28392:  (jacksontj)  AsyncZeroMQReqChannel does not implement
330517         tries (2015.8) (refs: #28410)
330518
330519       · PR #28410: (jacksontj) Add  retries  to  the  zeromq.AsyncReqMessage‐
330520         Client (refs: #28576) @ 2015-10-29 18:05:50 UTC
330521
330522         · 7ead823731 Merge pull request #28410 from jacksontj/2015.8
330523
330524         · 70b5ae9b1d Add retries to the zeromq.AsyncReqMessageClient
330525
330526       · ISSUE  #28382: (cedwards) [FreeBSD] user state option empty_password:
330527         True fails with Traceback (refs: #28395)
330528
330529       · PR #28404:  (rallytime)  Back-port  #28395  to  2015.8  @  2015-10-29
330530         16:09:20 UTC
330531
330532         · PR  #28395: (cedwards) Updating bsd_shadow to match mainline shadow
330533           (refs: #28404)
330534
330535         · 50845a1e91 Merge pull request #28404 from rallytime/bp-28395
330536
330537         · badcb677e9 Use correct version release number
330538
330539         · c5c66b8bab Updating bsd_shadow to match mainline shadow
330540
330541       · PR #28405: (opdude) Detect legacy versions of chocolatey correctly  @
330542         2015-10-29 15:57:30 UTC
330543
330544         · e746b564b4  Merge  pull request #28405 from Unity-Technologies/hot‐
330545           fix/choco-version-detect
330546
330547         · 0076d73872 Make sure we exit out correctly when checking for  choco
330548           version
330549
330550         · 157e0f446d Detect legacy versions of chocolatey correctly
330551
330552       · PR  #28187:  (sjansen)  fix  at.present  (refs:  #28759) @ 2015-10-29
330553         15:49:18 UTC
330554
330555         · 4304001a8f Merge pull request #28187 from sjansen/patch-1
330556
330557         · 52c915e29d fix at.present
330558
330559       · PR #28375: (merll)  Merge  pillar  includes  correctly  @  2015-10-29
330560         15:12:48 UTC
330561
330562         · 5efac26c10   Merge   pull   request   #28375  from  Precis/fix-pil‐
330563           lar-include-loop
330564
330565         · f8e2c26473 Variable err is from previous loop, too.
330566
330567         · 042314246f Unit test for merging included pillars.
330568
330569         · a42c51f9bf Do not merge previous values in pillar include loop.
330570
330571       · PR #28376: (ryan-lane) Support update of route53 records with  multi‐
330572         ple values @ 2015-10-29 14:54:47 UTC
330573
330574         · PR  #28374: (ryan-lane) Support update of route53 records with mul‐
330575           tiple values (refs: #28376)
330576
330577         · a69b124aaa   Merge   pull   request   #28376    from    lyft/multi‐
330578           value-route53-values-2015.8
330579
330580         · cd221515a1 Support update of route53 records with multiple values
330581
330582       · PR  #28377:  (terminalmage) Deprecate 'always' in favor of 'force' in
330583         pkgbuild.built @ 2015-10-29 14:42:22 UTC
330584
330585         · 9e5a510e73 Merge pull request #28377  from  terminalmage/force-pkg‐
330586           build
330587
330588         · f18305e19e Add versionadded directive
330589
330590         · 7046d0d896 Deprecate 'always' in favor of 'force' in pkgbuild.built
330591
330592       · PR  #28380:  (cro) Add missing call for service provider @ 2015-10-29
330593         14:26:55 UTC
330594
330595         · cd632f798d Merge pull request #28380 from cro/sshprox_fix
330596
330597         · 7bcc275dce Lint + logic error.
330598
330599         · 92d712a54b Add a missing call for the service provider
330600
330601       · ISSUE #28202: (guettli) Docs: Difference between  modules.cron.rm_job
330602         and modules.cron.rm (refs: #28348)
330603
330604       · PR  #28348: (jfindlay) salt.utils.alias informs user they are using a
330605         renamed function @ 2015-10-28 20:46:36 UTC
330606
330607         · e7571e6d61 Merge pull request #28348 from jfindlay/alias
330608
330609         · 7915d7e5e8 use alias util to formally alias module functions
330610
330611         · 6a8b61bd12 create function alias to improve api documentation
330612
330613       · PR #28364: (justinta) In CentOS 5 the .split() causes  a  stacktrace.
330614         @ 2015-10-28 20:46:02 UTC
330615
330616         · 072eb98a26 Merge pull request #28364 from jtand/blockdev_test_fix
330617
330618         · 3b4d03ff1a  In  CentOS  5  the  .split()  causes a stacktrace. Con‐
330619           firmed.split() appears to be unneeded in other OSs.
330620
330621       · ISSUE #26415: (CaesarC) salt.wheel.WheelClient  doesn't  work  follow
330622         the  python  api(AttributeError:  'NoneType'  object has no attribute
330623         'get') (refs: #28087)
330624
330625       · PR #28361:  (rallytime)  Back-port  #28087  to  2015.8  @  2015-10-28
330626         20:44:32 UTC
330627
330628         · PR  #28087:  (DmitryKuzmenko)  Revert  "Update  __init__.py" (refs:
330629           #28361)
330630
330631         · 06b928cfdb Merge pull request #28361 from rallytime/bp-28087
330632
330633         · 41536e55b9 Revert "Update __init__.py"
330634
330635       · PR  #28360:  (multani)  Various  documentation  fixes  @   2015-10-28
330636         20:43:20 UTC
330637
330638         · d9e5fba9b5 Merge pull request #28360 from multani/fix/docs
330639
330640         · ed4a54f839 doc: fix warnings in clouds.linode
330641
330642         · 5a9c4c2d60 doc: simplified states.postgres_tablespace introduction
330643
330644         · cf38ff1384  doc:  fix  rendering  of titles in the /ref/states/all/
330645           index page
330646
330647       · PR #28370:  (rallytime)  Back-port  #28276  to  2015.8  @  2015-10-28
330648         20:37:49 UTC
330649
330650         · PR  #28276: (plastikos) Correct state pkg.updtodate to succeed when
330651           packages are up-to-date (refs: #28370)
330652
330653         · 4157c8331b Merge pull request #28370 from rallytime/bp-28276
330654
330655         · 227ddbcb24 Simplify setting success when there are no pkg updates.
330656
330657         · cd58165138 Correct state pkg.updtodate to succeed when packages are
330658           up-to-date
330659
330660       · ISSUE #27890: (dkiser) pillar recurse list strategy (refs: #27891)
330661
330662       · ISSUE  #25954: (tbaker57) [2015.8.0rc2] pillar merge strategy default
330663         behaviour change (refs: #28353)
330664
330665       · PR  #28353:  (merll)  Consider  each  pillar  match  only  once.    @
330666         2015-10-28 15:05:21 UTC
330667
330668         · PR  #27891:  (dkiser)  introduce  recurse_list  pillar_source_merg‐
330669           ing_strategy (refs: #28353, #28013)
330670
330671         · 3942b4d0e6  Merge  pull   request   #28353   from   Precis/fix-pil‐
330672           lar-sls-matches
330673
330674         · 2f3f2d6f29 Consider each pillar match only once.
330675
330676       · PR  #28334: (anlutro) iptables needs -m comment for --comment to work
330677         @ 2015-10-28 14:24:52 UTC
330678
330679         · 0d8bea6c43 Merge pull request #28334  from  alprs/fix-iptables_com‐
330680           ment
330681
330682         · 170ea7c50d iptables needs -m comment for --comment to work
330683
330684       · ISSUE  #27789:  (eduherraiz)  UnicodeDecodeError: 'ascii' codec can't
330685         decode byte in 2015.8.0 (refs: #28340, #27833)
330686
330687       · PR #28340: (jfindlay) sdecode file and  dir  lists  in  fileclient  @
330688         2015-10-28 14:23:10 UTC
330689
330690         · 7000b6ee8f Merge pull request #28340 from jfindlay/decode_client
330691
330692         · bd9151b5e3 sdecode file and dir lists in fileclient
330693
330694       · PR  #28344:  (ryan-lane)  Fix  iptables state for non-filter tables @
330695         2015-10-28 14:21:54 UTC
330696
330697         · 48448c9a48  Merge   pull   request   #28344   from   lyft/fix-ipta‐
330698           bles-non-filter
330699
330700         · 21ba070b3d Fix iptables state for non-filter tables
330701
330702       · PR  #28343:  (rallytime)  Back-port  #28342  to  2015.8  @ 2015-10-28
330703         13:58:28 UTC
330704
330705         · PR #28342: (gravyboat) Fix up a dup doc entry for the  file  state.
330706           (refs: #28343)
330707
330708         · 72f0c106cf Merge pull request #28343 from rallytime/bp-28342
330709
330710         · 03d15dd090 Fix up a dup doc entry.
330711
330712       · PR  #28330:  (rallytime)  Back-port  #28305  to  2015.8  @ 2015-10-27
330713         17:20:35 UTC
330714
330715         · PR #28305: (rowillia) Fix Cabal states. (refs: #28330)
330716
330717         · 64d5c2362a Merge pull request #28330 from rallytime/bp-28305
330718
330719         · a46dbcb62b Fix Cabal states.
330720
330721       · ISSUE #21216: (syphernl) State rabbitmq_plugin missing  proper  error
330722         handling (refs: #28270)
330723
330724       · PR  #28270:  (rallytime)  Refactor RabbitMQ Plugin State to correctly
330725         use test=true and format errors @ 2015-10-27 17:18:35 UTC
330726
330727         · a44c8d8dab Merge pull request #28270  from  rallytime/refactor_rab‐
330728           bitmq_plugin_state
330729
330730         · 9e40c3a6a6 Fine tuning and fix tests
330731
330732         · d50916ccdd Pylint fix
330733
330734         · 196b18146d   Refactor   RabbitMQ  Plugin  State  to  correctly  use
330735           test=true and format errors
330736
330737       · ISSUE #25363: (syphernl) rabbitmq_{user|vhost}.present  in  test=True
330738         reports unnecessary changes (refs: #28269)
330739
330740       · ISSUE   #24856:   (pruiz)  rabbitmq_user  state  incorrectly  reports
330741         result=True when using test=true (refs: #28269)
330742
330743       · PR #28269: (rallytime) Refactor rabbitmq_user state to use  test=True
330744         correctly (refs: #28782, #28772) @ 2015-10-27 17:17:42 UTC
330745
330746         · 4efd07eba5  Merge  pull request #28269 from rallytime/refactor_rab‐
330747           bitmq_user_state
330748
330749         · aebbcb88ea Pylint fix
330750
330751         · 19b8b868a3 Clean-up/fixes to rabbitmq_user state and  test  adjust‐
330752           ments
330753
330754         · 3e0e8fc8c6 Refactor rabbitmq_user state to use test=True correctly
330755
330756       · ISSUE  #27855: (dverbeek84) boto_vpc is not reading availability_zone
330757         (refs: #28299, #28168)
330758
330759       · PR #28299:  (rallytime)  Add  test  for  availability_zone  check  to
330760         boto_vpc_tests @ 2015-10-27 14:17:11 UTC
330761
330762         · PR  #28168:  (rallytime) Make sure availability zone gets passed in
330763           boto_vpc module when creating subnet (refs: #28299)
330764
330765         · 93a930615e Merge pull request #28299 from rallytime/tests-for-28168
330766
330767         · 65fdb50246 Get the list indice to compart before looking at keys
330768
330769         · 95defb87c5 Add test for availability_zone check to boto_vpc_tests
330770
330771       · ISSUE #28268: (gravyboat) Update nodegroup docs  to  explain  how  to
330772         target via nodegroups (refs: #28306)
330773
330774       · PR  #28306: (sdm24) Updated the Nodegroup docs to include how to tar‐
330775         get nodegroups in SLS Jinja (refs: #28454) @ 2015-10-27 14:07:12 UTC
330776
330777         · 0ab7c0053d  Merge  pull  request  #28306  from   sdm24/update-node‐
330778           group-docs-with-state-targeting
330779
330780         · 02cac9d8c0 Update nodegroups.rst
330781
330782         · b2c3307c2e Update nodegroups.rst
330783
330784         · e79a930f57 updated nodegroups.rst
330785
330786         · f2a6bc94df  Updated  the  Nodegroup  docs  to include how to target
330787           nodegroups in SLS Jinja
330788
330789       · ISSUE #27435: (LukeCarrier) firewalld state: firewalld.prepare  calls
330790         new_service, not add_service (refs: #28308)
330791
330792       · PR #28308: (rallytime) Firewalld state services should use --add-ser‐
330793         vice, not --new-service @ 2015-10-27 14:02:45 UTC
330794
330795         · bba26ffeca Merge pull request #28308 from rallytime/fix-27435
330796
330797         · d37298f973 Don't forget to pass the zone!
330798
330799         · fcafe6f355 Firewalld state services should use  --add-service,  not
330800           --new-service
330801
330802       · ISSUE  #21744:  (rallytime)  [2015.5]  Multi-Master  Minions Block on
330803         Authentication (refs: #28302)
330804
330805       · PR #28302: (DmitryKuzmenko) Always close socket even if there  is  no
330806         stream.  @ 2015-10-27 01:08:41 UTC
330807
330808         · 044737ba6e    Merge    pull    request    #28302    from    DSRCom‐
330809           pany/issues/21744_fix_context_term
330810
330811         · b0fc66fa68 Always close socket even if there is no stream.
330812
330813       · PR  #28282:  (keesbos)  Fix  for  __env__  in  legacy  git_pillar   @
330814         2015-10-26 21:20:25 UTC
330815
330816         · 2f2f51906d   Merge   pull   request  #28282  from  keesbos/git-pil‐
330817           lar-env-fix
330818
330819         · d46e09afc6 Fix for __env__ in legacy git_pillar
330820
330821       · PR #28258: (pass-by-value) Add service module for ssh proxy example @
330822         2015-10-26 14:57:47 UTC
330823
330824         · 6a92bfbd42 Merge pull request #28258 from pass-by-value/ssh_service
330825
330826         · 04bc1c64ad Add versionadded information
330827
330828         · 76d8d859f1 Add service module for ssh proxy example
330829
330830       · PR  #28294: (bechtoldt) correct a bad default value in http utility @
330831         2015-10-26 14:45:27 UTC
330832
330833         · PR #25668: (techhat)  Sanitize  sensitive  fields  in  http.query()
330834           (refs: #28294)
330835
330836         · 25778cf1ba     Merge     pull    request    #28294    from    bech‐
330837           toldt/fix_bad_param_default_val
330838
330839         · 4852c03d08 don't iterate over var that is NoneType
330840
330841       · PR #28185: (justinta) Added single package return for latest_version,
330842         fixed other bug.  @ 2015-10-26 14:09:40 UTC
330843
330844         · 0245820b73 Merge pull request #28185 from jtand/zypper_pkg
330845
330846         · 457ff5d085  Added  back  nfo.get lines after finding the problem in
330847           them
330848
330849         · 5cdb15c9e3 Added single package return  for  latest_version,  fixed
330850           other bug.
330851
330852       · PR #28297: (cachedout) Lint fix proxy junos @ 2015-10-26 13:59:44 UTC
330853
330854         · PR #28116: (jejenone) converted junos proxy minion to new __proxy__
330855           global (refs: #28297)
330856
330857         · 443b486c22    Merge    pull    request    #28297    from    cached‐
330858           out/lint_fix_proxy_junos
330859
330860         · 5194d9a2ef Lint
330861
330862         · 28eff3caf2  converted  junos  proxy  minion to new __proxy__ global
330863           added cli() in junos.py module to execute arbitrary command
330864
330865       · ISSUE #28209: (basepi)  Legacy  git_pillar  configs  cause  duplicate
330866         ext_pillar calls (refs: #28210)
330867
330868       · PR  #28210: (terminalmage) Fix for ext_pillar being compiled twice in
330869         legacy git_pillar code (refs: #28211) @ 2015-10-26 12:36:58 UTC
330870
330871         · c8dd79d683   Merge   pull    request    #28210    from    terminal‐
330872           mage/legacy_git_pillar
330873
330874         · 86f00e71bf Remove non-functional test
330875
330876         · b80da6e23a  Fix  for  ext_pillar  being  compiled  twice  in legacy
330877           git_pillar code
330878
330879       · ISSUE #28203: (edhgoose)  blockdev.formatted  failing  on  2nd+  run,
330880         despite disk already being formatted  (refs: #28265)
330881
330882       · PR  #28265:  (jfindlay)  fix  blockdev  execution and state modules @
330883         2015-10-26 12:27:36 UTC
330884
330885         · 62485e567f Merge pull request #28265 from jfindlay/blockdev
330886
330887         · 0dc72135de update blockdev exec and state module unit tests
330888
330889         · 07253cb5fb move fstype checks to blockdev execution module
330890
330891         · 20ec4a1dc6 move fs create logic from blockdev state to module
330892
330893         · 613671a85c safer examples in blockdev exec module docs
330894
330895         · 359df1bcf7 refactor dump in blockdev exec module
330896
330897         · 88acc9356d check, notify for deps in blockdev exec/state mods
330898
330899       · PR #28266:  (rallytime)  Back-port  #28260  to  2015.8  @  2015-10-26
330900         12:20:56 UTC
330901
330902         · PR #28260: (justinta) Ioflo lint (refs: #28266)
330903
330904         · 556d7d583e Merge pull request #28266 from rallytime/bp-28260
330905
330906         · 03509e60b2 Removed unnecessary blank line
330907
330908         · 2d06c97879 Moved lint disable to end of offending line
330909
330910         · d13fe0cf53 Disabled lint check for ioflo
330911
330912       · PR  #28253:  (rallytime)  Back-port  #28063  to  2015.8  @ 2015-10-23
330913         18:10:56 UTC
330914
330915         · PR #28063: (SmithSamuelM) Fixes broken Salt Raet.  master.flo  file
330916           path broken (refs: #28253)
330917
330918         · acd2214c9d Merge pull request #28253 from rallytime/bp-28063
330919
330920         · db4aa58f7b  Changed  reference to reflect refactor of ioflo package
330921           locations as of ioflo 1.2.3 Deprecated package locations still sup‐
330922           ported in ioflo for now
330923
330924         · 87abf84b54  Changed  reference to reflect refactor of ioflo package
330925           locations as of ioflo 1.2.3 Deprecated package locations still sup‐
330926           ported in ioflo for now
330927
330928         · 19a81dcb77 Fixed exception in loader when no file extension
330929
330930         · 2afbe6803c  Raet Salt broken when config moved to package directory
330931           The path to the master.flo file no longer worked This fixes
330932
330933         · a177bf8f47 fixed unittests missing close of roadstack caused  error
330934           on other tests
330935
330936       · ISSUE  #28227:  (jfindlay)  DigitalOcean  FreeBSD  profile fails with
330937         image: 10.2 (refs: #28231)
330938
330939       · PR #28231: (rallytime) Make sure we're compairing strings  when  get‐
330940         ting images in the DO driver @ 2015-10-23 13:49:37 UTC
330941
330942         · 570e7faa3b Merge pull request #28231 from rallytime/fix-28227
330943
330944         · 0985780f12  Make  sure we're compairing strings when getting images
330945           in the DO driver
330946
330947       · PR #28224:  (techhat)  Optimize  create_repo  for  large  packages  @
330948         2015-10-23 13:40:06 UTC
330949
330950         · 1c55513ce3 Merge pull request #28224 from techhat/spmoptimize
330951
330952         · faeef55d2f Optimize create_repo for large packages
330953
330954       · ISSUE  #27374:  (mool)  boto_route53  state  doesn't  create a record
330955         (refs: #28214, #28213)
330956
330957       · PR #28214: (rallytime) Don't stacktrace if  invalid  credentials  are
330958         passed to boto_route53 state @ 2015-10-23 13:37:30 UTC
330959
330960         · PR #28213: (rallytime) If record returned None, don't continue with
330961           the state. Something went wrong (refs: #28214)
330962
330963         · f269f40905    Merge    pull    request    #28214    from     rally‐
330964           time/fix_boto_route53_stacktrace
330965
330966         · cdeb8caabe Pylint Fix
330967
330968         · 11c475b0ad  Don't  stacktrace  if invalid credentials are passed to
330969           boto_route53 state
330970
330971       · PR #28228:  (rallytime)  Back-port  #27562  to  2015.8  @  2015-10-23
330972         13:34:42 UTC
330973
330974         · PR  #27562:  (techhat)  Add  dependency  resolution  to  SPM (refs:
330975           #28228)
330976
330977         · 0775d159f8 Merge pull request #28228 from rallytime/bp-27562
330978
330979         · 847809541e Updates as per @s0undt3ch
330980
330981         · cf5fefdf5f Add dependency resolution to SPM
330982
330983       · ISSUE #28230: (jfindlay) DigitalOcean  FreeBSD  fails  to  bootstrap:
330984         Please use the freebsd@ user to access this droplet. (refs: #28232)
330985
330986       · PR  #28232: (rallytime) Add documentation to supply the ssh_username:
330987         freebsd config to DO docs @ 2015-10-23 13:31:52 UTC
330988
330989         · af241dc054 Merge pull request #28232 from rallytime/fix-28230
330990
330991         · 8b06ab4335 Add documentation to supply  the  ssh_username:  freebsd
330992           config to DO docs
330993
330994       · PR  #28198:  (jacobhammons)  Added  note regarding missing spm exe on
330995         Debian/Ubuntu @ 2015-10-22 04:40:18 UTC
330996
330997         · 36dc12c62c Merge pull request #28198 from jacobhammons/docs
330998
330999         · cfadda0c0c Added note regarding missing spm  exe  on  Debian/Ubuntu
331000           Minor fixes to spm docs
331001
331002       · PR  #28182:  (erchn)  Some  fixes  for  nova  driver  for Rackspace @
331003         2015-10-21 21:26:18 UTC
331004
331005         · fbad88fb99 Merge pull request #28182 from erchn/fix_nova_rackspace
331006
331007         · 7b54f04ba2 wrap  server_list[_detailed]  in  try/except  block  for
331008           TypeError
331009
331010         · b7f8487615  rackconnectv3  default  to  False, not 'False' get pri‐
331011           vate_ips in rackconnectv2 environment and populate data object  get
331012           public_ips  and put in data object before returning "result" struc‐
331013           ture
331014
331015       · ISSUE #27454: (MrFishFinger)  firewalld returns a  dictionary  rather
331016         than a string in the ret['comment'] (refs: #28181)
331017
331018       · PR #28181: (rallytime) Revamp firewalld state to be more stateful.  @
331019         2015-10-21 21:19:18 UTC
331020
331021         · a1a924f170 Merge pull request #28181 from rallytime/fix-27454
331022
331023         · 3e13880af8 Make sure we catch all potential exceptions
331024
331025         · cb4efa87e8 Make sure state  returns  False  when  execution  module
331026           calls fail
331027
331028         · 232b2825e4 Revamp firewalld state to be more stateful.
331029
331030       · PR #28176: (cro) Add ping function @ 2015-10-21 20:49:54 UTC
331031
331032         · d93ad103c7 Merge pull request #28176 from cro/ssh_no_ping
331033
331034         · 3e05437f15 Add ping function
331035
331036       · PR #28167: (The-Loeki) file.serialize needs to add a final newline to
331037         serialized files @ 2015-10-21 17:12:33 UTC
331038
331039         · 8e08f39381 Merge pull request #28167 from The-Loeki/patch-1
331040
331041         · 46bf6d4fa3 Update file.serialize test for Python serialized
331042
331043         · 66831fd087 file.serialize needs to add a final newline  to  serial‐
331044           ized files
331045
331046       · ISSUE  #27855: (dverbeek84) boto_vpc is not reading availability_zone
331047         (refs: #28299, #28168)
331048
331049       · PR #28168: (rallytime) Make sure availability  zone  gets  passed  in
331050         boto_vpc  module  when  creating  subnet  (refs: #28299) @ 2015-10-21
331051         14:48:03 UTC
331052
331053         · 559a517ad6 Merge pull request #28168 from rallytime/fix-27855
331054
331055         · 50fb77dc50 Make sure availability zone gets passed in boto_vpc mod‐
331056           ule when creating subnet
331057
331058       · ISSUE  #26107:  (thecosmicfrog)  Issue targeting nodegroups - Invalid
331059         compound target: ( L@ ... ) (refs: #28148)
331060
331061       · ISSUE #24660: (Mrten)  nodegroups  not  backwards  compatible  (refs:
331062         #28148)
331063
331064       · PR #28148: (basepi) [2015.8] Only expand nodegroups to lists if there
331065         is a nested nodegroup @ 2015-10-21 13:20:06 UTC
331066
331067         · dcd90363fe  Merge  pull  request   #28148   from   basepi/fix.node‐
331068           group.backwards.compat.24660
331069
331070         · 11d6a2b6ac Add some docs
331071
331072         · 036d767a98  Keep track of recursive nodegroup_comp calls, keep list
331073           format if it's recursing
331074
331075         · 155634a0aa Finish thought
331076
331077         · 528b16756b Only expand nodegroups to lists if  there  is  a  nested
331078           nodegroup
331079
331080       · PR  #28155:  (basepi)  [2015.8] Merge forward from 2015.5 to 2015.8 @
331081         2015-10-20 23:48:41 UTC
331082
331083         · 053ad408c7  Merge  pull  request  #28155   from   basepi/merge-for‐
331084           ward-2015.8
331085
331086         · c4c889f97b  Merge  remote-tracking  branch  'upstream/2015.5'  into
331087           merge-forward-2015.8
331088
331089         · ab18dcf637 Merge pull request #28140  from  rallytime/bsd-installa‐
331090           tion-doc
331091
331092           · 458a544d83  Add  OpenBSD  installation  documentation  to  2015.5
331093             branch
331094
331095         · fad38eb3c3    Merge    pull    request    #28138    from     rally‐
331096           time/bp-28130-sizes-only
331097
331098           · 6ab31e1886 Pylint
331099
331100           · 37e4ed58a9 Added missing comma
331101
331102           · 667f5e669f  Added a bunch of instance sizes and updated some out‐
331103             dated ones
331104
331105         · ce8f858536 Merge pull request #28097 from jacksontj/2015.5
331106
331107           · 75e04bcbbc For all multi-part messages, check the headers. If the
331108             header is not your minion_id, skip the message
331109
331110         · 9cdb970289 Merge pull request #28117 from rallytime/fix-23655
331111
331112           · dfb908e405  Clean  up  stacktrace when master can't be reached in
331113             lxc cloud driver
331114
331115         · bf7ed0a397 Merge  pull  request  #28110  from  terminalmage/master‐
331116           less-mode
331117
331118           · ed90103124  Add explanation of file_client: local setting master‐
331119             less mode
331120
331121         · a569ef4980 Merge pull request #28109 from rallytime/fix-27940
331122
331123           · 18b2245611 Add created reactor event to lxc cloud driver
331124
331125         · d4604fdb26 Merge pull request #27996 from rallytime/fix-21845
331126
331127           · f8380d751e Provide empty string as default stdout instead of None
331128
331129           · f9406b5828 Don't fail if pip package is already present and  pip1
331130             is installed
331131
331132         · 28b97c514f Merge pull request #28056 from rallytime/bp-28033
331133
331134           · af2c5ab759 Fixed win_useradd.py
331135
331136         · dfc3aaec74 Merge pull request #28059 from rallytime/bp-28040
331137
331138           · 76a0d4937b  Revert  "Allow passing in auth_version, defaulting to
331139             2."
331140
331141           · 63d5675d34 default auth_version = 2
331142
331143           · 8072716888 remove extra spaces
331144
331145           · 9770f56f04 cleanup whitespace, default to None to  be  consistent
331146             with profile
331147
331148           · f4adfe98c0 Allow passing in auth_version, defaulting to 2.
331149
331150           · fab1ad39af Rackspace support for switft module.
331151
331152         · d1fa036b55 Merge pull request #28047 from cachedout/issue_27534
331153
331154           · 6ea37ddbca Context manager
331155
331156           · 4d6f6bb371 Lint
331157
331158           · 59018289dc Restore FTP functionality to file client
331159
331160         · fd2ca2df1b Merge pull request #28032 from twangboy/fix_win_path
331161
331162           · 2bcac93314 Fixed win_path.py
331163
331164         · 88c1770be4 Merge pull request #28037 from rallytime/bp-28003
331165
331166           · 4fcf51fb1e Fix PR #26336
331167
331168         · de727d8bd2 Merge pull request #28031 from jacobhammons/relnotes6
331169
331170           · 05927bb6f0 Updated release notes with additional CVE information
331171
331172         · 16c0272849 Merge pull request #28008 from jfindlay/host_path
331173
331174           · 9f7047dd3c platform independent line endings in hosts mod
331175
331176         · d41018fa8e Merge pull request #28012 from rallytime/fix-28010
331177
331178           · 0d7059e0c2  Clean  up  stack trace when something goes wrong with
331179             minion output
331180
331181         · f728307001 Merge pull request #27995 from jacobhammons/pillar-doc
331182
331183           · 2870af2ba3 added link to grains security  FAQ  to  targeting  and
331184             pillar topics.
331185
331186         · efede904a7 Merge pull request #27986 from jacobhammons/dot6
331187
331188           · bb61c68c11  Changed  current  release  to  5.6  and  added CVE to
331189             release notes
331190
331191         · 831ec680d9  Merge  pull  request  #27913  from  pass-by-value/prox‐
331192           mox_verify_ssl
331193
331194           · 0b721efe37 Set default
331195
331196         · 41cccb3a30  Merge  pull  request  #27876 from terminalmage/git_pil‐
331197           lar-AttributeError-2015.5
331198
331199           · 07794c837a 2015.5 branch: Fix traceback when 2015.8 git  ext_pil‐
331200             lar config schema used
331201
331202       · PR  #28149:  (pass-by-value)  Add  clarification to cloud profile doc
331203         about host @ 2015-10-20 19:46:05 UTC
331204
331205         · 53dd01fc24  Merge  pull  request  #28149  from  pass-by-value/prox‐
331206           mox_profile_doc_change
331207
331208         · bc371c55cd Add clarification to cloud profile doc about host
331209
331210       · PR #28146: (cachedout) Lint dracr.py @ 2015-10-20 17:55:07 UTC
331211
331212         · 7badd634ae Merge pull request #28146 from cachedout/lint_dracr
331213
331214         · 8b057f39e8 Lint dracr.py
331215
331216       · ISSUE  #28118: (basepi) Salt-cloud Linode driver using RAM number for
331217         disk size (refs: #28141)
331218
331219       · PR #28141: (rallytime) Don't use RAM for root disk size in  linode.py
331220         @ 2015-10-20 17:32:29 UTC
331221
331222         · 5f99bd4dc6 Merge pull request #28141 from rallytime/fix-28118
331223
331224         · 59f8e41554 Don't use RAM for root disk size in linode.py
331225
331226       · PR  #28143:  (justinta)  Removed  blank  line  at end of chassis.py @
331227         2015-10-20 16:39:35 UTC
331228
331229         · 7cd0440c33 Merge pull request #28143 from jtand/lint_fix
331230
331231         · 427df95515 removed extraneous file
331232
331233         · 1a58283f23 Removed blank line at end of chassis.py
331234
331235       · PR #28021: (blueyed) Handle includes in include_config recursively  @
331236         2015-10-20 16:19:37 UTC
331237
331238         · 858875e9fd Merge pull request #28021 from blueyed/recursive-include
331239
331240         · 1d80520958 Handle includes in include_config recursively
331241
331242       · ISSUE #27998: (papertigers) pkgin install broken (refs: #28001)
331243
331244       · PR  #28095:  (rallytime)  Back-port  #28001  to  2015.8  @ 2015-10-20
331245         16:18:11 UTC
331246
331247         · PR #28001: (papertigers) #27998 Cleanup pkgin  isatty  mess  (refs:
331248           #28095)
331249
331250         · 4dbaec6b0c Merge pull request #28095 from rallytime/bp-28001
331251
331252         · ddf8a8d2bb Cleanup pkgin isatty mess
331253
331254       · ISSUE #28060: (LoveIsGrief) Default paths for test environment (refs:
331255         #28061)
331256
331257       · PR #28096:  (rallytime)  Back-port  #28061  to  2015.8  @  2015-10-20
331258         16:15:34 UTC
331259
331260         · PR  #28061: (LoveIsGrief) Fix #28060 - Default paths for test envi‐
331261           ronment (refs: #28096)
331262
331263         · 572487073c Merge pull request #28096 from rallytime/bp-28061
331264
331265         · cb8a72d580 Fix #28060
331266
331267       · PR #28139:  (rallytime)  Back-port  #28103  to  2015.8  @  2015-10-20
331268         16:15:05 UTC
331269
331270         · PR  #28103: (ajacoutot) OpenBSD salt package: update list of depen‐
331271           dencies. (refs: #28140, #28139)
331272
331273         · 9ce526260b Merge pull request #28139 from rallytime/bp-28103
331274
331275         · bc9159a126 OpenBSD salt package: update list of dependencies.
331276
331277       · ISSUE #26844: (double-yaya) The function "state.sls"  is  running  as
331278         PID  XXXX and was started at .... with jid XXXX always shows the cur‐
331279         rent jid (refs: #28098, #28097)
331280
331281       · PR #28098: (jacksontj) For all multi-part messages, check  the  head‐
331282         ers. If the header is not … @ 2015-10-20 15:00:08 UTC
331283
331284         · 97dfb00a68 Merge pull request #28098 from jacksontj/2015.8
331285
331286         · 6d26842925  For  all multi-part messages, check the headers. If the
331287           header is not your minion-id or a broadcast, drop the message.
331288
331289       · ISSUE #3436: (madduck) Pillar does not  handle  Unicode  data  (refs:
331290         #28134, #saltstack/salt`#28134`_)
331291
331292       · PR  #28134:  (bernieke)  fix unicode pillar values #3436 @ 2015-10-20
331293         14:51:10 UTC
331294
331295         · b4875e585a Merge pull request #28134 from Awingu/2015.8
331296
331297         · 53285f7781 fix unicode pillar values #3436
331298
331299       · PR #28076: (redmcg) Replace option 'i' with an explicit queryformat @
331300         2015-10-20 13:59:57 UTC
331301
331302         · f990a21029 Merge pull request #28076 from redmcg/2015.8
331303
331304         · 07413ec162 Remove unnecessary padding from rpm.info
331305
331306         · 4987530986 Replace option 'i' with an explicit queryformat
331307
331308       · PR #28119: (jacksontj) Check if the remote exists before casting to a
331309         string.  @ 2015-10-20 12:34:10 UTC
331310
331311         · 3fdb52d1bf Merge pull request #28119 from jacksontj/fetch_issue
331312
331313         · c012dcc2f6 Check if the remote exists before casting to a string.
331314
331315       · ISSUE #28080: (githubcdr) Salt minion locale module missing on  Arch‐
331316         linux (refs: #28105)
331317
331318       · PR  #28105:  (jfindlay)  add  reason  for  not  loading  localemod  @
331319         2015-10-20 12:25:40 UTC
331320
331321         · 69ab1d30e2 Merge pull request #28105 from jfindlay/locale_msg
331322
331323         · 1e75665a9a add reason for not loading localemod
331324
331325       · ISSUE #28074:  (eliasp)  Salt  logfiles  are  created  world-readable
331326         (refs: #28108)
331327
331328       · PR   #28108:   (cachedout)   Set  logfile  permsissions  correctly  @
331329         2015-10-20 12:25:22 UTC
331330
331331         · 8db7e016ec Merge pull request #28108 from cachedout/issue_28074
331332
331333         · b416dcc07b Set logfile permsissions correctly
331334
331335       · PR #27922: (cro) WIP States/Modules for managing Dell FX2 chassis via
331336         salt-proxy @ 2015-10-19 23:29:21 UTC
331337
331338         · 1085eeab2b Merge pull request #27922 from cro/fx2
331339
331340         · 6ccafa2ae5 Lint
331341
331342         · 104c3cbe7f Lint
331343
331344         · fe75594737 Lint
331345
331346         · 479137cef8 Lint
331347
331348         · 3712066fc9 More docs.
331349
331350         · 2a3ebf5688 More Documentation.
331351
331352         · 4ce2f8bb11 Documentation.
331353
331354         · 18663306fb Cleanup, add blade_idrac stub
331355
331356         · 0957beea46 Lint fixes and some changes by @rallytime
331357
331358         · cca310eee0 WIP modules and states for managing Dell FX2 chassis via
331359           salt-proxy
331360
331361       · PR #28104: (pass-by-value) Add documentation for proxy minion  ssh  @
331362         2015-10-19 19:30:20 UTC
331363
331364         · a715803c92       Merge      pull      request      #28104      from
331365           pass-by-value/proxy_ssh_docs
331366
331367         · 7c8f236115 Add documentation for proxy minion ssh
331368
331369       · ISSUE #27130: (githubcdr) salt-run broken in 2015.8? (refs: #28020)
331370
331371       · PR #28020: (DmitryKuzmenko) LazyLoader deepcopy  fix.   @  2015-10-19
331372         13:17:57 UTC
331373
331374         · 07cac0b434    Merge    pull    request    #28020    from    DSRCom‐
331375           pany/issues/27130_loader_deepcopy_fix
331376
331377         · 5353518623 Fix lint errors
331378
331379         · 8c256c94f4 LazyLoader deepcopy fix.
331380
331381       · ISSUE #27932: (eliasp) Can't  include  Pillar  SLS  across  GitPillar
331382         repositories (refs: #27933)
331383
331384       · PR #27933: (eliasp) Provide all git pillar dirs in opts[pillar_roots]
331385         @ 2015-10-19 13:05:54 UTC
331386
331387         · f884df5d78 Merge pull request #27933 from eliasp/fix-27932
331388
331389         · 05782aa78f Provide all git pillar dirs in opts[pillar_roots]
331390
331391       · ISSUE #27890: (dkiser) pillar recurse list strategy (refs: #27891)
331392
331393       · PR #28013:  (rallytime)  Back-port  #27891  to  2015.8  @  2015-10-19
331394         12:57:51 UTC
331395
331396         · PR  #27891:  (dkiser)  introduce  recurse_list  pillar_source_merg‐
331397           ing_strategy (refs: #28353, #28013)
331398
331399         · 1db6406bef Merge pull request #28013 from rallytime/bp-27891
331400
331401         · 9ea33bf0e4 Pylint fixes
331402
331403         · 4af5b5c33f introduce recurse_list pillar_source_merging_strategy
331404
331405       · ISSUE #27938: (mostafahussein) Grains  are  not  rendering  correctly
331406         (refs: #28018)
331407
331408       · PR  #28018:  (rallytime)  Add example to Writing Grains of how grains
331409         can be loaded twice @ 2015-10-19 12:47:10 UTC
331410
331411         · 26b3e01dda Merge pull request #28018 from rallytime/fix-27938
331412
331413         · c23af0d8e2 Clarify loading  vs  rendering  the  final  grains  data
331414           structure
331415
331416         · a4d7fb7e60  Add  example  to  Writing  Grains  of how grains can be
331417           loaded twice
331418
331419       · PR #28084: (cachedout) #28069 with lint @ 2015-10-19 12:18:38 UTC
331420
331421         · PR #28069: (blueyed) dockerng: use error from  modules.dockerng  in
331422           states' __virtual__ (refs: #28084)
331423
331424         · c6e7dd4812 Merge pull request #28084 from cachedout/lint_28069
331425
331426         · 8026212733 Lint
331427
331428         · 7a2c80cf6f  dockerng:  use  error  from modules.dockerng in states'
331429           __virtual__
331430
331431       · PR #28079: (The-Loeki) Fix for trace  dump  on  failing  imports  for
331432         win32com & pythoncom 4 win_task @ 2015-10-19 12:12:11 UTC
331433
331434         · 428e64e24d       Merge      pull      request      #28079      from
331435           The-Loeki/fix-trace-on-windows-tasks
331436
331437         · 869e212e81 Fix for trace dump on failing  imports  for  win32com  &
331438           pythoncom 4 win_task
331439
331440       · PR  #28081:  (The-Loeki)  fix  for glance state trace error on import
331441         failure @ 2015-10-19 12:08:47 UTC
331442
331443         · 2ac8fd793d      Merge      pull      request      #28081       from
331444           The-Loeki/fix-trace-on-keystone-state
331445
331446         · 258e11f754 fix for glance state trace error on import failure
331447
331448       · ISSUE #27794: (The-Loeki) Requests backend for HTTP fetches is broken
331449         after removing streamed response handlers (refs: #28066)
331450
331451       · PR #28066: (jacksontj) Use the generic text attribute, not  .body  of
331452         the handler @ 2015-10-18 16:17:12 UTC
331453
331454         · a2128c8f80 Merge pull request #28066 from jacksontj/issue_27794
331455
331456         · b1bf79821d Use the generic text attribute, not .body of the handler
331457
331458       · ISSUE  #27828:  (cubranic)  Note  the version when 'user' and 'group'
331459         became available in docs for archive.extracted (refs: #28019)
331460
331461       · PR #28019: (rallytime) Clean up version added and deprecated msgs  to
331462         be accurate @ 2015-10-17 17:31:50 UTC
331463
331464         · 9c974c9a41 Merge pull request #28019 from rallytime/fix-27828
331465
331466         · aca864643f  Clean  up version added and deprecated msgs to be accu‐
331467           rate
331468
331469       · PR #28058:  (rallytime)  Back-port  #28041  to  2015.8  @  2015-10-17
331470         17:27:19 UTC
331471
331472         · PR  #28041:  (gtmanfred) use the correct discover_extensions (refs:
331473           #28058)
331474
331475         · 9adcd3b90d Merge pull request #28058 from rallytime/bp-28041
331476
331477         · 04ad8dc521 use the correct discover_extensions
331478
331479       · PR #28055:  (rallytime)  Back-port  #28043  to  2015.8  @  2015-10-17
331480         17:26:37 UTC
331481
331482         · PR  #28043:  (gtmanfred)  the nova driver does not require libcloud
331483           (refs: #28055)
331484
331485         · 6db970c93a Merge pull request #28055 from rallytime/bp-28043
331486
331487         · 744e556be7 the nova driver does not require libcloud
331488
331489       · PR #28046: (pass-by-value) Add pkg install  and  remove  functions  @
331490         2015-10-17 14:56:24 UTC
331491
331492         · d7263d2a8e  Merge pull request #28046 from pass-by-value/proxy_min‐
331493           ion_ssh_example_additions
331494
331495         · 3435d28fc9 Add pkg install and remove functions
331496
331497       · PR #28050: (ryan-lane) Use a better method for checking dynamodb  ta‐
331498         ble existence @ 2015-10-17 14:55:52 UTC
331499
331500         · dd0fdd827e    Merge    pull    request    #28050   from   lyft/bet‐
331501           ter-dynamo-exists-check-2015.8
331502
331503         · 24fff4ea12 Use a better method for checking  dynamodb  table  exis‐
331504           tence
331505
331506       · ISSUE  #28038: (gtmanfred) [Docs] the ubuntu repo documentation needs
331507         to be fixed (refs: #28042)
331508
331509       · PR #28042: (jfindlay) fix repo path in ubuntu installation documenta‐
331510         tion @ 2015-10-16 19:30:52 UTC
331511
331512         · 027092e2fb Merge pull request #28042 from jfindlay/ubuntu_docs
331513
331514         · ae92a8a1dc fix repo path in ubuntu installation documentation
331515
331516       · PR   #28033:   (twangboy)   Fixed  win_useradd.py  (refs:  #28056)  @
331517         2015-10-16 19:19:44 UTC
331518
331519         · a3390cfbe6 Merge pull request #28033 from twangboy/fix_win_useradd
331520
331521         · 2137b5f79a Fixed win_useradd.py
331522
331523       · PR #28027: (cro) Make ssh conn persistent.  @ 2015-10-16 18:50:51 UTC
331524
331525         · 4f81358e9a Merge pull request #28027 from cro/persistent_ssh
331526
331527         · 8b4067b6db Spelling, lint.
331528
331529         · 76a93d5922 Spelling.
331530
331531         · c800f60338 Default multiprocessing to  False  since  anything  that
331532           needs salt.vt will have trouble with our forking model.
331533
331534         · cc0ad81b3d Lint, remove debug.
331535
331536         · e41b677450  Make  SSH connection 'persistent'.  Note that right now
331537           this requires 'multiprocessing: False' in /etc/salt/proxy.
331538
331539       · PR #28029: (jacobhammons) Updated release notes with  additional  CVE
331540         information @ 2015-10-16 16:19:33 UTC
331541
331542         · 4dec2f9307 Merge pull request #28029 from jacobhammons/relnotes8
331543
331544         · 0d1b691549 Updated release notes with additional CVE information
331545
331546       · PR  #28022:  (jacobhammons) Updated Debian and Ubuntu repo paths with
331547         new structure for 2015.8.1 @ 2015-10-16 15:31:36 UTC
331548
331549         · 5286c01f39 Merge pull request #28022 from jacobhammons/install
331550
331551         · e4d7df8695 Updated Debian and Ubuntu repo paths with new  structure
331552           for 2015.8.1
331553
331554       · ISSUE  #27971:  (srkunze)  pip.installed returned Result: None (refs:
331555         #27983)
331556
331557       · PR #27983: (rallytime) Pip state run  result  should  be  False,  not
331558         None, if installation error occurs.  @ 2015-10-16 13:37:42 UTC
331559
331560         · 340229355c Merge pull request #27983 from rallytime/fix-27971
331561
331562         · 9855290b99 Maintain stateful output if something went wrong running
331563           the pip command
331564
331565         · 5bcc89bb8e Pip state run result  should  be  False,  not  None,  if
331566           installation error occurs.
331567
331568       · ISSUE  #20678:  (damon-atkins)  Windows  Installer  (Separation/Down‐
331569         loader/Contains VC++) (refs: #27991)
331570
331571       · PR #27991: (twangboy) Fix for #20678 @ 2015-10-16 13:33:48 UTC
331572
331573         · 97d473af0d Merge pull request #27991 from twangboy/fix_20678
331574
331575         · 5254ba18b3 Fix for #20678
331576
331577       · ISSUE #21845: (kitsemets) pip.install: fails in v2015.2.0rc1 when the
331578         package is already installed (pip v1.0) (refs: #27996)
331579
331580       · PR  #27997:  (rallytime) Remove note about pip bug with pip v1 vs pip
331581         v2 return codes @ 2015-10-16 13:23:58 UTC
331582
331583         · PR #27996: (rallytime) Don't fail if pip package is already present
331584           and pip1 is installed (refs: #27997)
331585
331586         · bd7b39bc18     Merge    pull    request    #27997    from    rally‐
331587           time/remove-pip-bug-note
331588
331589         · f08d488313 Remove note about pip bug with pip v1 vs pip  v2  return
331590           codes
331591
331592       · PR #27994: (justinta) Fix schedule_test failure @ 2015-10-16 13:20:56
331593         UTC
331594
331595         · 3256e38932 Merge pull request #27994 from jtand/schedule_test-fix
331596
331597         · cd67843bd0 Fix schedule_test failure
331598
331599       · ISSUE #27949: (itsamenathan) Error enabling or disabling a beacon  on
331600         a minion  (refs: #27992)
331601
331602       · PR #27992: (cachedout) Make load beacon config into list @ 2015-10-16
331603         12:43:53 UTC
331604
331605         · 4a7a25eef7 Merge pull request #27992 from cachedout/issue_27949
331606
331607         · 8944e1395a Make load beacon config into list
331608
331609       · ISSUE #26336: (jfindlay) windows user.present broken (refs: #28003)
331610
331611       · PR #28003: (twangboy) Fix #26336 (refs: #28037) @ 2015-10-16 12:43:07
331612         UTC
331613
331614         · bae81d3a8d Merge pull request #28003 from twangboy/fix_26336
331615
331616         · 6c94146d86 Fix PR #26336
331617
331618       · PR #27984: (rallytime) Versionadded for clean_file option for pkgrepo
331619         @ 2015-10-15 18:57:54 UTC
331620
331621         · PR #19561: (favadi) add pkgrepo.managed  clean_file  option  (refs:
331622           #27984)
331623
331624         · e15eeee2d3   Merge   pull   request   #27984   from  rallytime/ver‐
331625           sion-clean-file
331626
331627         · b094c8843e Versionadded for clean_file option for pkgrepo
331628
331629       · PR #27989: (ryan-lane) Do not try to  remove  the  main  route  table
331630         association @ 2015-10-15 18:57:42 UTC
331631
331632         · 6efa71a482       Merge      pull      request      #27989      from
331633           lyft/boto_vpc-main-route-association2-2015.8
331634
331635         · 296931d29f Do not try to remove the main route table association
331636
331637       · PR #27982: (pass-by-value) Add example  for  salt-proxy  over  SSH  @
331638         2015-10-15 17:27:57 UTC
331639
331640         · 7169fad02d       Merge      pull      request      #27982      from
331641           pass-by-value/proxy_ssh_sample
331642
331643         · b85f6ab339 Add example for salt-proxy over SSH
331644
331645       · PR #27985: (jacobhammons) Changed current release to  8.1  and  added
331646         CVEs to release notes @ 2015-10-15 17:27:05 UTC
331647
331648         · d0be1ab98e Merge pull request #27985 from jacobhammons/dot1
331649
331650         · 236992b2be Changed current release to 8.1 and added CVEs to release
331651           notes
331652
331653       · ISSUE #27750: (justyns) Salt-master too sensitive  to  whitespace  in
331654         public keys (again) (refs: #27979)
331655
331656       · ISSUE  #21910:  (justyns)  Salt-master  too whitespace-sensitive when
331657         dealing with minion pub keys (refs: #22115)
331658
331659       · PR  #27979:  (cachedout)  Fix  regression  with  key   whitespace   @
331660         2015-10-15 15:26:08 UTC
331661
331662         · PR  #22115: (douglas-vaz) Strip whitespace characters using strip()
331663           for pub key check (refs: #27979)
331664
331665         · 7e4058605d Merge pull request #27979 from cachedout/issue_27750
331666
331667         · 12c6bf4358 Fix regression with key whitespace
331668
331669       · ISSUE #27712: (eduherraiz) saltutil.sync_all can't sync with the min‐
331670         ion (refs: #27977)
331671
331672       · PR  #27977:  (cachedout)  Decode unicode names in fileclient/server @
331673         2015-10-15 15:17:01 UTC
331674
331675         · 6f8925ee84 Merge pull request #27977 from cachedout/issuse_27712
331676
331677         · 5173ef43c8 Decode unicode names in fileclient/server
331678
331679       · PR #27981: (justinta) Fixed trailing  whitespace  lint  @  2015-10-15
331680         15:10:15 UTC
331681
331682         · fc1375fc39 Merge pull request #27981 from jtand/cloudstack-lint
331683
331684         · 5dfad190c2 Fixed trailing whitespace lint
331685
331686       · PR  #27969:  (jeffreyctang)  fix parse of { on next line @ 2015-10-15
331687         15:04:33 UTC
331688
331689         · 1ae302b202  Merge  pull  request  #27969  from  jeffreyctang/logro‐
331690           tate_parse
331691
331692         · 2c9b2bc367 lint fixes
331693
331694         · 8c6197d42e fix parse of { on next line
331695
331696       · PR #27978: (terminalmage) Add note about dockerng.inspect_image usage
331697         @ 2015-10-15 14:54:10 UTC
331698
331699         · a4ba982b1d  Merge  pull  request  #27978  from   terminalmage/dock‐
331700           erng-inspect_image-docstring
331701
331702         · 595f4a6939 Add note about dockerng.inspect_image usage
331703
331704       · PR #27955: (pass-by-value) Bp 27868 @ 2015-10-15 12:43:37 UTC
331705
331706         · PR #27868: (pass-by-value) Add SSHConnection object
331707
331708         · bd9d1ed8b5 Merge pull request #27955 from pass-by-value/bp-27868
331709
331710         · c02ec8b943 Fix pylint errors
331711
331712         · 6553d135d0 Add SSHConnection object
331713
331714       · PR #27953: (The-Loeki) Fix CloudStack cloud for new 'driver' syntax @
331715         2015-10-15 12:38:58 UTC
331716
331717         · c50802a80f Merge pull request #27953 from The-Loeki/patch-1
331718
331719         · f0d5c9f375 Pop deprecated 'provider' into new 'driver' key
331720
331721         · 4e6b09edd1 Fix CloudStack cloud for new 'driver' syntax
331722
331723       · PR #27965: (ryan-lane) Fail in  boto_asg.present  if  alarms  fail  @
331724         2015-10-15 12:32:53 UTC
331725
331726         · 7006c37627 Merge pull request #27965 from lyft/HOTFIX-boto-asg-fix
331727
331728         · b8f4079c33 Fail in boto_asg.present if alarms fail
331729
331730       · PR  #27958:  (twangboy)  Added  new  functionality  to  win_task.py @
331731         2015-10-15 12:30:31 UTC
331732
331733         · 6624ec1f48 Merge pull request #27958 from twangboy/update_win_task
331734
331735         · 6ecbdba246 Added run_wait function
331736
331737         · 5731bdcadb Clarified an error
331738
331739         · 23b9c1c199 Added new functionality
331740
331741       · ISSUE #27956: (The-Loeki) Salt-cloud CLI 2015.8 borks out with global
331742         name '__opts__' is not defined   (refs: #27959)
331743
331744       · PR  #27959:  (techhat)  Change  __opts__  to  self.opts  @ 2015-10-14
331745         22:29:13 UTC
331746
331747         · 1efa87a964 Merge pull request #27959 from techhat/issue27956
331748
331749         · bc01c48122 Change __opts__ to self.opts
331750
331751       · PR #27943:  (rallytime)  Back-port  #27910  to  2015.8  @  2015-10-14
331752         20:27:20 UTC
331753
331754         · PR  #27910:  (twellspring)  htpasswd state add comment about depen‐
331755           dency on apache2-utils (refs: #27943)
331756
331757         · 877e217388 Merge pull request #27943 from rallytime/bp-27910
331758
331759         · 33b3d8f5b3 Clarify that apache2-utils is for Debian-based distros
331760
331761         · 8ca0bc823c Add dependency on apache2-utils
331762
331763       · PR #27944:  (rallytime)  Back-port  #27909  to  2015.8  @  2015-10-14
331764         20:26:52 UTC
331765
331766         · PR  #27909:  (twellspring) htpasswd module add comment about depen‐
331767           dency on apache2-utils (refs: #27944)
331768
331769         · 5f6edc8ac2 Merge pull request #27944 from rallytime/bp-27909
331770
331771         · a3401c11b1 Clarify that apache2-utils is for Debian-based distros
331772
331773         · 08b7bdeb97 Add dependency on apache2-utils
331774
331775       · PR #27946: (justinta) Changed grain to look at osmajorrelease instead
331776         of osrelease @ 2015-10-14 19:54:08 UTC
331777
331778         · f29ca5f87b Merge pull request #27946 from jtand/pkgrepo-fix
331779
331780         · d88ac2589f Changed grain to look at osmajorrelease instead of osre‐
331781           lease
331782
331783       · ISSUE #27815: (tbaker57) Documentation  regarding  associate_eip  for
331784         EC2 profiles (refs: #27914)
331785
331786       · PR  #27914:  (rallytime) Use eipalloc instead of eni in EC2 interface
331787         properties example @ 2015-10-14 14:37:52 UTC
331788
331789         · bb900d428b Merge pull request #27914 from rallytime/fix-27815
331790
331791         · 13a9bc9053 Use eipalloc instead of eni in EC2 interface  properties
331792           example
331793
331794       · PR  #27926:  (rallytime)  Back-port  #27905  to  2015.8  @ 2015-10-14
331795         14:35:37 UTC
331796
331797         · PR #27905: (itsamenathan) Small documentation error for beacon dis‐
331798           able (refs: #27926)
331799
331800         · 679e603905 Merge pull request #27926 from rallytime/bp-27905
331801
331802         · 30e6b055ec Small documentation error fixed
331803
331804       · ISSUE  #27911:  (ryan-lane)  rules_egress in boto_secgroup should not
331805         manage egress rules, if set to None (refs: #27927)
331806
331807       · PR #27927: (ryan-lane) Do not manage ingress or egress rules  if  set
331808         to None @ 2015-10-14 14:03:17 UTC
331809
331810         · 3b4d86467b   Merge   pull   request   #27927   from  lyft/boto_sec‐
331811           group-fixes-2015.8
331812
331813         · 0fedcc9a0b Update docs
331814
331815         · 9cc65bba76 Do not manage ingress or egress rules if set to None
331816
331817       · PR #27928:  (rallytime)  Back-port  #27908  to  2015.8  @  2015-10-14
331818         14:00:50 UTC
331819
331820         · PR  #27908:  (lathama)  Documentation  note  kwargs for mdadm state
331821           already mentioned in module (refs: #27928)
331822
331823         · b0f9db409d Merge pull request #27928 from rallytime/bp-27908
331824
331825         · 7febb06223 Sneaky white space
331826
331827         · 31d54bbe63 Note kwags for mdadm in state
331828
331829       · ISSUE #27661: (alf)  The  dockerng  module  uses  deprecated  API  in
331830         docker-py (refs: #27676)
331831
331832       · PR  #27676:  (ticosax)  [dockerng] WIP No more runtime args passed to
331833         docker.start() @ 2015-10-14 13:38:41 UTC
331834
331835         · 2d0b16559e      Merge      pull      request      #27676       from
331836           ticosax/no-more-arg-to-docker-start
331837
331838         · a1d0ba392f fixup! Do not pass any argument to docker.start
331839
331840         · 8cddbb15c4  prevent  potential  error while reporting mismatch ver‐
331841           sions to user.
331842
331843         · 65c8762e1f Do not pass any argument to docker.start
331844
331845         · d8cca2a009 docker.version_info is now provided.
331846
331847       · PR #27885: (basepi) [2015.8] Merge forward from 2015.5  to  2015.8  @
331848         2015-10-13 22:44:20 UTC
331849
331850         · 722327ee5f   Merge   pull  request  #27885  from  basepi/merge-for‐
331851           ward-2015.8
331852
331853         · 5ecd5615f2 Remove failing heavily-mocked test
331854
331855         · 3b5e16db67  Merge  remote-tracking  branch  'upstream/2015.5'  into
331856           merge-forward-2015.8
331857
331858           · c9c3b7760e Merge pull request #27726 from jfindlay/hashhosts
331859
331860             · ebce47de7c add docs to ssh.recv_known_host exec module fcn
331861
331862             · b6ee16b1e5 deprecate hash_hostname in favor of hash_known_hosts
331863
331864           · 18e31584b0 Merge pull request #27776 from jfindlay/local_msg
331865
331866             · 03afa3cffa return message when local jobs_cache not found
331867
331868           · 86cc7b5537 Merge pull request #27766 from jfindlay/debmail
331869
331870             · ee78da2c27 better check for debian userdel error
331871
331872           · c224386c9a Merge pull request #27758 from iggy/patch-1
331873
331874             · 0994fb6a8c Remove redundant text from syslog returner
331875
331876           · 34a005041f Merge pull request #27841 from terminalmage/issue27832
331877
331878             · 8e09fbd6a3 Detect Manjaro Linux as Arch derivative
331879
331880           · 3944a498ad Merge pull request #27852 from rallytime/bp-27806
331881
331882             · a84bf18bc4 Empty string is falsy
331883
331884           · 7508a1c474 Merge pull request #27838 from basepi/fix.runner.high‐
331885             state.outputter.27831
331886
331887             · 8ae9b66fd9 Don't pop 'outputter', we expect it further down
331888
331889           · d178315f93 Merge pull  request  #27791  from  eguven/2015.5-post‐
331890             gres-user-groups-backport
331891
331892             · 2caf1d21d6 fix test
331893
331894             · bc90c5bffe improve change reporting for postgres_user groups
331895
331896             · 8712bce91a backport postgres_user groups
331897
331898       · ISSUE  #26908:  (twangboy)  Fix service.restart salt-minion for other
331899         locales (refs: #27882)
331900
331901       · ISSUE #26906: (mblixter) Bug fix #22020 causes a new bug due  to  the
331902         expected  date  format  for  the  /SD parameter in schtask.exe (refs:
331903         #27882)
331904
331905       · PR  #27882:  (twangboy)  Created  win_task.py  module  @   2015-10-13
331906         16:54:13 UTC
331907
331908         · 36f05fb526 Merge pull request #27882 from twangboy/win_task_module
331909
331910         · 56c3f3ebb2 Fixed an egregious error with an import
331911
331912         · 07939ea29c More lint
331913
331914         · 14e060ed9c Fixed some tests
331915
331916         · 1e1bd29426 Fixed some lint
331917
331918         · 082277a727 Win_service.py to use the new task module
331919
331920         · 2212b52620 Created win_task.py module
331921
331922       · ISSUE  #27738:  (fphhotchips)  Git  Pillar locks not managed by file‐
331923         server runner (refs: #27802)
331924
331925       · PR #27802: (terminalmage) Correct warning logging when update lock is
331926         present  for  git_pillar/winrepo,  add  runner  function for clearing
331927         git_pillar/winrepo locks @ 2015-10-13 15:09:11 UTC
331928
331929         · 577191696d Merge pull request #27802 from terminalmage/issue27738
331930
331931         · 1dbc3b5489 Fix comment in docstring that trailed off mid-sentence
331932
331933         · 94b5fc572f Process both old and ng winrepo  configs  when  clearing
331934           git locks
331935
331936         · 7f4366d42e Add CLI example
331937
331938         · 3952c66888 Change log message to reflect new runner function
331939
331940         · c00ef718bf Add cache.clear_git_lock runner function
331941
331942         · d7ca297f7b Add salt.fileserver.clear_lock()
331943
331944         · 947ed5f739 Clarify docstring
331945
331946       · ISSUE  #26632:  (ryanwalder) postgres_user crashes when trying to add
331947         groups formed in a list (refs: #27886)
331948
331949       · PR #27886: (rallytime) Handle group lists as well as  comma-separated
331950         group strings.  @ 2015-10-13 15:00:10 UTC
331951
331952         · d655bb3616 Merge pull request #27886 from rallytime/fix-26632
331953
331954         · d235abf907  Handle  group  lists  as  well as comma-separated group
331955           strings.
331956
331957       · ISSUE #26313: (anlutro) Timezone module error when timedatectl  fails
331958         to query server (refs: #27746)
331959
331960       · PR  #27746:  (anlutro)  timezone  module: handle timedatectl errors @
331961         2015-10-13 14:55:27 UTC
331962
331963         · a158cd50e6  Merge  pull  request  #27746  from  alprs/fix-timedate‐
331964           ctl_failure
331965
331966         · f616b550b2 lint - use indexed curly brace formatting
331967
331968         · bc0f167850 update timezone mod unit tests for errors
331969
331970         · ef26f067b2 timezone module: handle timedatectl errors
331971
331972       · ISSUE  #27710:  (anlutro)  salt-ssh and system.reboot/shutdown (refs:
331973         #27816)
331974
331975       · PR #27816: (anlutro) Make system.reboot use shutdown -r  when  avail‐
331976         able @ 2015-10-13 14:52:06 UTC
331977
331978         · 9dc19caa79 Merge pull request #27816 from alprs/fix-reboot_delay
331979
331980         · 04ef51e524 make system.reboot use shutdown -r when available
331981
331982       · PR #27874: (rallytime) Add mention of Periodic Table naming scheme to
331983         deprecation docs @ 2015-10-13 14:51:45 UTC
331984
331985         · dd92b8a2e3  Merge  pull  request  #27874  from   rallytime/depreca‐
331986           tion-docs
331987
331988         · 8c056ba501  Add mention of Periodic Table naming scheme to depreca‐
331989           tion docs
331990
331991       · PR #27883: (terminalmage) Work around --is-ancestor not being present
331992         in git-merge-base before git 1.8.0 @ 2015-10-13 14:51:27 UTC
331993
331994         · 7f96ebd69e    Merge    pull    request    #27883   from   terminal‐
331995           mage/git-merge_base-is_ancestor
331996
331997         · 45c666e8dd  Work  around  --is-ancestor  not   being   present   in
331998           git-merge-base before git 1.8.0
331999
332000         · 38d715ec0a Remove redundant SaltInvocationError raises
332001
332002       · ISSUE  #24111:  (yermulnik)  cli  option '--summary' got broken after
332003         upgrade to 2015.5.1 (refs: #24732)
332004
332005       · PR #27877:  (rallytime)  Back-port  #27774  to  2015.8  @  2015-10-13
332006         14:50:45 UTC
332007
332008         · PR  #27774:  (plastikos) Summary is not correctly inspecting return
332009           data to identify not responding|connected minions (refs: #27877)
332010
332011         · PR  #27099:  (plastikos)   Fix   access   to   ret   parameter   of
332012           _print_returns_summary()   (reverts   54b33dd35948  #24732)  (refs:
332013           #27774)
332014
332015         · PR #24732: (msteed) Fix stacktrace when --summary  is  used  (refs:
332016           #27099)
332017
332018         · 4fb20d9b4f Merge pull request #27877 from rallytime/bp-27774
332019
332020         · d940d87306 Summary is not correctly inspecting return data to iden‐
332021           tify not responding|connected minions.
332022
332023       · ISSUE #26284: (storner) apache_module.enable fails on SUSE  (SLES  11
332024         SP3) (refs: #27878)
332025
332026       · PR #27878: (rallytime) Use apache2ctl binary on SUSE in apache module
332027         @ 2015-10-13 14:45:56 UTC
332028
332029         · 97da0a87e3 Merge pull request #27878 from rallytime/fix-26284
332030
332031         · 87f0d987a3 Use apache2ctl binary on SUSE in apache module
332032
332033       · PR #27879:  (cro)  Add  docs  for  2015.8.2+  changes  to  proxies  @
332034         2015-10-13 14:45:30 UTC
332035
332036         · 067968c0e4 Merge pull request #27879 from cro/proxydoc
332037
332038         · 5b33df9d19 Add docs for 2015.8.2+ changes
332039
332040       · PR  #27731:  (cro)  Add  __proxy__  to  replace opts['proxymodule'] @
332041         2015-10-12 20:41:22 UTC
332042
332043         · 922e2018ef Merge pull request #27731 from cro/dunder_proxy
332044
332045         · ba3e423b87 Missing object  item  throws  an  AttributeError  not  a
332046           NameError.
332047
332048         · 4cf2b56d5f Lint.
332049
332050         · dc07245df2  @rallytime  is awesome.  Moved proxy=None to end of def
332051           minion_mods
332052
332053         · 3152d8ee3f Minor loader fix
332054
332055         · b15083d719 Flip sense of test for grains load  at  end  of  regular
332056           minion startup
332057
332058         · 37c145bcd5  More places where salt.state.State needs a proxy param,
332059           sysmod had wrong __proxyenabled__, core grains  were  checking  for
332060           proxy the wrong way.
332061
332062         · ed23f36279 One more check for presence of __proxy__
332063
332064         · 62d9f5092e what was I thinking?
332065
332066         · ccf366e1a5 Lint
332067
332068         · 8aef6e8aa9 Fix comment
332069
332070         · 48f9755103 Oops, forgot temp var.
332071
332072         · f0360ca00e  More  cleanup, found another spot where proxy needed to
332073           be passed to a load_modules.
332074
332075         · 81a4abfe5a __proxy__ is getting nuked somewhere
332076
332077         · f9461ff298 Add config option so old-style  proxymodules  will  keep
332078           loading
332079
332080         · 3d6ed5b7ff Remove debug statement.
332081
332082         · b5a19a9740  Enable syncing proxymodules from the master.  Proxymod‐
332083           ules can go in /srv/salt/_proxy.
332084
332085         · f878011543 Lint, and some parameter fixes to  add  proxy=  to  some
332086           overridden load_modules fns.
332087
332088         · 22f035d8eb Remove debug statement
332089
332090         · 4432499b45 More progress toward __proxy__
332091
332092         · 1a229c17b2 Further work on __proxy__
332093
332094         · 85fd6a41c7 One more check for presence of __proxy__
332095
332096         · 15e1d3e3df Forgot absolute_import.
332097
332098         · c5d9d54f19 Fix py3 lint
332099
332100         · dd50c33543  This  module  was  accidentally overwriting core grains
332101           during tests.
332102
332103         · 525256fa68 Some calls to highstate won't have __proxy__ in scope
332104
332105         · a615e5a876 what was I thinking?
332106
332107         · fae3f3ca83 Lint
332108
332109         · b049377cbe Remove rest_sample_test, it wasn't testing anything
332110
332111         · 42188480d4 Fix comment
332112
332113         · 4112c583e4 Oops, forgot temp var.
332114
332115         · e9b281041c More cleanup, found another spot where proxy  needed  to
332116           be passed to a load_modules.
332117
332118         · 64f967d731 __proxy__ is getting nuked somewhere
332119
332120         · bdffb9f57b  Add  config  option so old-style proxymodules will keep
332121           loading
332122
332123         · b79b6a39dd Remove debug statement.
332124
332125         · 02fc2d9323 Enable syncing proxymodules from the master.   Proxymod‐
332126           ules can go in /srv/salt/_proxy.
332127
332128         · 72032650b8 Add __proxy__ to the list of builtins.
332129
332130         · db4c034596  Lint,  and  some  parameter fixes to add proxy= to some
332131           overridden load_modules fns.
332132
332133         · 1032ad28fc Remove debug statement
332134
332135         · c41e49d8e5 Make sure that the __proxy__ gets  passed  all  the  way
332136           into the state system.
332137
332138         · 4a20d48b35 More progress toward __proxy__
332139
332140         · d337f4329e Further work on __proxy__
332141
332142       · ISSUE  #26904:  (anlutro)  pip install --upgrade with virtualenv.man‐
332143         aged? (refs: #27745)
332144
332145       · PR #27745: (anlutro) Add pip_upgrade arg to virtualenv.managed  state
332146         @ 2015-10-12 16:11:02 UTC
332147
332148         · 644f003fb2   Merge   pull   request   #27745   from  alprs/fix-vir‐
332149           tualenv_pip_upgrade
332150
332151         · 4bd219f8d4 add pip_upgrade arg to virtualenv.managed  state,  clean
332152           up docstring
332153
332154       · PR   #27809:   (ticosax)  [dockerng]  Remove  dockerng.ps  caching  @
332155         2015-10-12 16:07:48 UTC
332156
332157         · 698f477336 Merge  pull  request  #27809  from  ticosax/remove-dock‐
332158           erng.ps-caching
332159
332160         · 0eb1145856  Remove  caching  to  prevent  returning stale data from
332161           dockerng.ps
332162
332163       · PR  #27859:  (ticosax)  [dockerng]  Clarify  doc  port   bindings   @
332164         2015-10-12 16:06:27 UTC
332165
332166         · e96d06d71a   Merge   pull   request   #27859   from   ticosax/clar‐
332167           ify-doc-port-bindings
332168
332169         · 75f7a3ec55 Must be a string
332170
332171       · ISSUE  #8646:  (micahhausler)  Make  the  clean  parameter   in   the
332172         file.directory state respect foreign require_in (refs: #27748)
332173
332174       · PR #27748: (multani) Fix #8646 @ 2015-10-12 15:55:57 UTC
332175
332176         · ba2a39d4b7 Merge pull request #27748 from multani/fix-8646
332177
332178         · 6d95cbc998 Fix lint errors
332179
332180         · 4ff9f4be2a  Fix  file.directory with clean=true and require_in with
332181           states ID
332182
332183         · 0d391275de Test cases to demonstrate bug #8646
332184
332185       · ISSUE #27721: (ldobson) boto_cloudwatch_alarm.present returns diff on
332186         no change (refs: #27722)
332187
332188       · PR  #27850:  (rallytime)  Back-port  #27722  to  2015.8  @ 2015-10-12
332189         15:31:58 UTC
332190
332191         · PR #27722:  (ldobson)  Sorted  compare  for  alarm  actions  (refs:
332192           #27850)
332193
332194         · ce1493e06b Merge pull request #27850 from rallytime/bp-27722
332195
332196         · 33936605a0 Sorted compare for alarm actions
332197
332198       · PR  #27851:  (rallytime)  Back-port  #27771  to  2015.8  @ 2015-10-12
332199         15:31:06 UTC
332200
332201         · PR #27771: (srkunze) [VIRTUALENV_MOD] added docs strings to explain
332202           parameters (refs: #27851)
332203
332204         · c95437a710 Merge pull request #27851 from rallytime/bp-27771
332205
332206         · 144a743503 added docs strings to explain parameters
332207
332208       · ISSUE  #27789:  (eduherraiz)  UnicodeDecodeError: 'ascii' codec can't
332209         decode byte in 2015.8.0 (refs: #28340, #27833)
332210
332211       · PR #27833: (jfindlay) decode path before string ops in  fileclient  @
332212         2015-10-12 15:26:39 UTC
332213
332214         · a41b59bf6e Merge pull request #27833 from jfindlay/path_decode
332215
332216         · 66c74e591e decode path before string ops in fileclient
332217
332218       · ISSUE  #27804: (chrismcmacken) cmd.run/cmd.run_all documentation con‐
332219         tradictory for python_shell argument (refs: #27837)
332220
332221       · PR #27837: (jfindlay) reverse truth in python_shell  documentation  @
332222         2015-10-12 15:25:13 UTC
332223
332224         · e264db7702 Merge pull request #27837 from jfindlay/true_shell
332225
332226         · 1c9708a457 reverse truth in python_shell documentation
332227
332228       · PR  #27860: (flavio) Fix OS related grains on openSUSE and SUSE Linux
332229         Enterprise @ 2015-10-12 15:22:59 UTC
332230
332231         · faec838744      Merge      pull      request      #27860       from
332232           flavio/fix-os-grains-on-suse-and-opensuse
332233
332234         · fc8d296d72  Fix OS related grains on openSUSE and SUSE Linux Enter‐
332235           prise
332236
332237       · PR #27768: (rallytime) Clean up bootstrap  function  to  be  slightly
332238         cleaner @ 2015-10-12 15:06:54 UTC
332239
332240         · 4ac5344c31  Merge  pull request #27768 from rallytime/cleanup_boot‐
332241           strap
332242
332243         · 9df6e106c3 Clean up bootstrap function to be slightly cleaner
332244
332245       · PR #27797: (isbm) Zypper module clusterfix @ 2015-10-12 15:06:02 UTC
332246
332247         · e1bd91e392 Merge pull request #27797 from isbm/isbm-zypper-fixes
332248
332249         · 36281f6b06 Bugfix: crash if no package specified on adding a lock
332250
332251         · 29806a1af9 Bugfix: crash if no package specified on removing lock
332252
332253         · 453a18ea15 Return an actual amount of removed locks.
332254
332255         · eaa6af9898 Bugfix: sometimes error goes to the  STDOUT  instead  of
332256           STDERR in the RPM
332257
332258         · 350340dafa Bugfix: use boolean type instead of string "Yes" or "No"
332259           (NOTE: this was forgotten)
332260
332261         · decb989eb4 Bugfix and refactor due to the crash on unknown  package
332262           and incorrect return value
332263
332264         · a6c285bd12 Initialization fix
332265
332266         · 510dedd29f   Bugfix:  newer  Zypper  includes  also  a  version  of
332267           installed package
332268
332269         · f9bef516de Bugfix: broken  "upgrade_available"  and  should  always
332270           return dict.
332271
332272       · ISSUE  #27821: (leodus) Deploy VM on Proxmox requires 'size' configu‐
332273         ration setting? Not according the docs! (refs: #27849)
332274
332275       · PR #27849: (rallytime) Don't require a  size  parameter  for  proxmox
332276         profiles @ 2015-10-11 01:33:28 UTC
332277
332278         · 286b08a0f5 Merge pull request #27849 from rallytime/fix-27821
332279
332280         · 1bf17c7d48 Don't require a size parameter for proxmox profiles
332281
332282       · PR   #27827:  (techhat)  Add  additional  error  checking  to  SPM  @
332283         2015-10-09 18:23:09 UTC
332284
332285         · 4a69db27cd Merge pull request #27827 from techhat/spmfixes
332286
332287         · ffc8df223b Add additional error checking to SPM
332288
332289       · ISSUE #27825: (martinhoefling) Salt-api is not adding cors headers if
332290         auth fails (refs: #27826)
332291
332292       · PR #27826: (martinhoefling) Fixes #27825 @ 2015-10-09 16:08:05 UTC
332293
332294         · 9bc19ba7d2 Merge pull request #27826 from martinhoefling/fix-27825
332295
332296         · 401e7de33d Fixes #27825
332297
332298       · PR #27824: (techhat) Update Azure errors @ 2015-10-09 15:25:14 UTC
332299
332300         · 1e2dede122 Merge pull request #27824 from techhat/azureerrors
332301
332302         · 5b23ac7099 Update Azure errors
332303
332304       · PR  #27795: (eguven) better change reporting for postgres_user groups
332305         @ 2015-10-08 23:56:53 UTC
332306
332307         · ec35666ff2  Merge  pull  request  #27795  from  eguven/2015.8-post‐
332308           gres_user-group-change
332309
332310         · ffffede412 better change reporting for postgres_user groups
332311
332312       · ISSUE  #27703:  (ryan-lane) git.latest seems to ignore the user argu‐
332313         ment in 2015.8 (refs: #27799)
332314
332315       · PR #27799: (terminalmage) Fix usage of identity file in git.latest  @
332316         2015-10-08 23:36:19 UTC
332317
332318         · 5420006209 Merge pull request #27799 from terminalmage/issue27703
332319
332320         · 75d2b07b0c Pass user in calls to git.rev_parse
332321
332322         · 786786a245 Fix wrong argument name for _git_run()
332323
332324       · PR #27717: (pass-by-value) Proxy beacon example @ 2015-10-08 22:58:49
332325         UTC
332326
332327         · 0533a2b1dd Merge pull request #27717 from  pass-by-value/proxy_bea‐
332328           con_example
332329
332330         · cac3da1ffa Fix pylint error
332331
332332         · 7fef5ea08c Make a call to beacon end point
332333
332334         · 497f965c33 Comment
332335
332336         · 8ad7082913 Add example beacon that works with salt-proxy
332337
332338       · PR  #27793:  (anlutro) update code that changes log level of salt-ssh
332339         shim command @ 2015-10-08 19:20:12 UTC
332340
332341         · dd9dba8f59      Merge      pull      request      #27793       from
332342           alprs/fix-salt_ssh_b64_log
332343
332344         · 2597d13fc8 update code that changes log level of salt-ssh shim com‐
332345           mand
332346
332347       · ISSUE #27714: (The-Loeki) 2015.8 git_pillar  merge  inconsistency/bug
332348         (refs: #27761)
332349
332350       · PR  #27761:  (terminalmage)  Merge  git  pillar data instead of using
332351         dict.update() @ 2015-10-08 15:00:18 UTC
332352
332353         · bccb74ffc5 Merge pull request #27761 from terminalmage/issue27714
332354
332355         · d149095bb0 Merge git pillar data instead of using dict.update()
332356
332357       · PR #27741: (ticosax) [dockerng] pass filters argument to  dockerng.ps
332358         @ 2015-10-08 03:40:14 UTC
332359
332360         · 2ae7ada3c9  Merge  pull request #27741 from ticosax/docker.contain‐
332361           ers-filters
332362
332363         · 821ed72f37 pass filters argument to dockerng.ps
332364
332365       · PR #27760: (basepi) [2015.8] Merge forward from 2015.5  to  2015.8  @
332366         2015-10-07 19:11:17 UTC
332367
332368         · 82a51cebde   Merge   pull  request  #27760  from  basepi/merge-for‐
332369           ward-2015.8
332370
332371         · 35425b14ad  Merge  remote-tracking  branch  'upstream/2015.5'  into
332372           merge-forward-2015.8
332373
332374         · b2937b6a16   Merge   pull  request  #27759  from  basepi/merge-for‐
332375           ward-2015.5
332376
332377           · 792ee084bb Merge remote-tracking  branch  'upstream/2014.7'  into
332378             merge-forward-2015.5
332379
332380           · d284eb165b Merge pull request #27390 from JaseFace/schedule-miss‐
332381             ing-enabled
332382
332383           · 563db71bfd Ensure we pass on the enable setting  if  present,  or
332384             use  the default of True if not in build_schedule_item() Prior to
332385             this, when schedule.present compares the existing schedule to the
332386             one crafted by this function, enabled will actually be removed at
332387             each run.  schedule.present sees a modification needs to be made,
332388             and  invokes  schedule.modify,  which does so with enabled: True,
332389             creating and endless loop of an 'enabled' removal and addition.
332390
332391         · 4b9128b491 Merge pull request #27732 from jacobhammons/26673
332392
332393           · 75cc07cf10 noted that __virtual__ can return False and  an  error
332394             string
332395
332396           · b928e1afa8  update  docs for __virtual__ and __virtualname__ Refs
332397             #26673
332398
332399         · a130896d1c Merge pull request #27747 from Sacro/fix-chocolatey-ver‐
332400           sion
332401
332402           · 8f1fa9e78e Chocolatey doesn't have a help command.
332403
332404         · 4e48651de0 Merge pull request #27733 from jacobhammons/bug-fixes
332405
332406           · cbecd4f553 Updated saltstack2 theme to add SaltConf16 banner
332407
332408           · 117e0c2bcc Added hardening topic based on the information in Refs
332409             #27088
332410
332411         · c58da846bf Merge pull request #27706 from jacobhammons/bug-fixes
332412
332413           · 76dc8de71b Assorted doc bugs Refs #9051 Refs #13407  Refs  #21475
332414             Refs #14876 Refs #27005
332415
332416         · 43fba89865 Merge pull request #27695 from rallytime/bp-27671
332417
332418           · 2a88028595  Added  skip test_ext_pillar_env_mapping if git module
332419             does not exist.
332420
332421         · cb3d92676e Merge pull request #27524 from jfindlay/pkgng_quiet
332422
332423           · 5e9107b970 parse pkgng output in quiet mode for >= 1.6.0
332424
332425         · 5b88c55cc3 Merge pull request #27686 from rallytime/bp-27476
332426
332427           · 3e08d3de8a                        fix                        for:
332428             https://github.com/saltstack/salt/issues/27373
332429
332430         · f9ddd4647f Merge pull request #27684 from rallytime/bp-27656
332431
332432           · d3780cba00   Fix   #27655:   handling   of   success   in   post‐
332433             gres_local_cache
332434
332435         · 7ca6f854ff Merge pull request #27683 from rallytime/bp-27659
332436
332437           · 84b6ee0c58 .pub as public key is what we should send to remote
332438
332439         · a0f3e34656 Merge pull request #27682 from rallytime/bp-27566
332440
332441           · 2a44255748     minor:     fix/format     doc     for      return‐
332442             ers.local_cache.prep_jid
332443
332444           · fd485e2396 returners.local_cache: fix endless loop on OSError
332445
332446         · 0b9ba911c4 Merge pull request #27681 from rallytime/bp-25928
332447
332448           · 17e1ddf137 Fix stacktrace for non-existant states
332449
332450         · 23da0d316a Merge pull request #27680 from rallytime/bp-27535
332451
332452           · 04aed5e105  Versionadded  change  since 2015.5.6 has already been
332453             tagged
332454
332455           · 579f2646ba .. versionadded:: 2015.5.6
332456
332457           · cbaf46e066 python <2.7 compability (pylint issue)
332458
332459           · ecde499478 s/bin/b to avoid confusion with bin()
332460
332461           · 4237c5db80  add  a  __virtual__  to  check  that  daemontools  is
332462             installed properly
332463
332464           · 623935a1bc fix doc
332465
332466           · 573de3abd6 fix pylint issue
332467
332468           · 5eb6a30d40 fix pep8 issues
332469
332470           · 298cf4f5c0 import missing logging module
332471
332472           · fe0ad36609 log was missing
332473
332474           · e457083465 s/systemd/FreeBSD
332475
332476           · 3512712e89 forgot service name..
332477
332478           · 8f193a7bcc fixes #27505
332479
332480         · 7d7b97eab6     Merge     pull    request    #27442    from    Jase‐
332481           Face/fix-27391-for-2015.5
332482
332483           · bfbf63e1cc Ensure we pass on the enable setting  if  present,  or
332484             use  the default of True if not in build_schedule_item() Prior to
332485             this, when schedule.present compares the existing schedule to the
332486             one crafted by this function, enabled will actually be removed at
332487             each run.  schedule.present sees a modification needs to be made,
332488             and  invokes  schedule.modify,  which does so with enabled: True,
332489             creating and endless loop of an 'enabled' removal and addition.
332490
332491         · ccbba8656b  Merge  pull  request  #27641  from  rallytime/gate-psu‐
332492           til-diskusage
332493
332494           · da2d93a3dd  Gate  the  psutil  import  and  add  depends  doc for
332495             diskusage beacon
332496
332497         · 09183994f9 Merge pull request #27644 from rallytime/bp-27640
332498
332499           · a9063a9745 fix typo in default pillar path
332500
332501         · 27fcecccbe Merge pull request #27612 from rallytime/fix-27609
332502
332503           · 8dc047dc18 If external_up is set to None, don't stacktrace,  just
332504             use the private ip.
332505
332506           · 2ebf790f9f  [salt-cloud]  gce:  don't  stacktrace if Ephemeral is
332507             given instead of ephemeral
332508
332509         · c84a1edc1b   Merge   pull    request    #27568    from    jacobham‐
332510           mons/man-pages-five
332511
332512           · b59c03d20d regenerated man pages
332513
332514         · 304dc68f7f Merge pull request #27582 from jfindlay/2015.5
332515
332516           · 4f0d55cda6 add 2015.5.6 release notes
332517
332518         · 7201ce71e4 Merge pull request #27557 from jfindlay/mine_doc
332519
332520           · 3727d79bad edit mine doc for style and markup
332521
332522           · 7e037a4666 add doc motivating mine vs grains
332523
332524         · 59c3d5f93e Merge pull request #27515 from jfindlay/suse_fire
332525
332526           · 4460ad2785 save iptables rules on SuSE
332527
332528         · 9b26357b19 Merge pull request #27509 from jfindlay/gluster_reason
332529
332530           · 1ccda538d2 tell the user why the gluster module does not work
332531
332532         · 989733ea86 Merge pull request #27379 from jfindlay/pip_vars
332533
332534         · aee51ffdef document and check dict type for pip env_vars
332535
332536       · ISSUE  #27643:  (blueyed)  Please  document extended return values of
332537         __virtual__ (refs: #27724)
332538
332539       · ISSUE #26755: (lorengordon) Associate package  dependencies  to  mod‐
332540         ules/states? (refs: #27724)
332541
332542       · PR  #27757:  (jfindlay)  fix  virtual  fcn  return  doc indentation @
332543         2015-10-07 17:50:18 UTC
332544
332545         · PR  #27724:  (jfindlay)  update  __virtual__  return  documentation
332546           (refs: #27757)
332547
332548         · PR  #27116:  (jacobhammons)  Update latest to 2015.8, 2015.5 is now
332549           previous (refs: #27724)
332550
332551         · aced4229cb Merge pull request #27757 from jfindlay/virtret
332552
332553         · 03400ef45b fix virtual fcn return doc indentation
332554
332555       · ISSUE #27636: (brian-bk) Salt-ssh cannot do simple state  'test.nop':
332556         "'test.nop' is not available." (refs: #27754)
332557
332558       · PR  #27754: (rallytime) Change test.nop version directive to 2015.8.1
332559         @ 2015-10-07 15:59:55 UTC
332560
332561         · 57b5b594bd Merge pull request #27754 from rallytime/fix-27636
332562
332563         · 31b9852d9a Change test.nop version directive to 2015.8.1
332564
332565       · PR #27734: (jacobhammons) Updated saltstack2 theme to add  SaltConf16
332566         banner @ 2015-10-07 01:43:53 UTC
332567
332568         · 9a0171089d    Merge    pull    request    #27734   from   jacobham‐
332569           mons/theme-updates
332570
332571         · 3a52d3606b Updated saltstack2 theme to add SaltConf16 banner
332572
332573       · ISSUE #27595: (ralphvanetten)  Debian  package  does  not  depend  on
332574         python-m2crypto  which  is  required  by the x509 state/module (refs:
332575         #27719)
332576
332577       · PR  #27727:  (rallytime)  Merge  #27719  w/pylint  fix  @  2015-10-06
332578         21:13:37 UTC
332579
332580         · PR  #27719:  (jfindlay) tell user when x509 exec/state module can't
332581           load (refs: #27727)
332582
332583         · d3f2dfe835 Merge pull request #27727 from rallytime/merge-27719
332584
332585         · a7fd156162 Pylint
332586
332587         · 6bf2ee2751 tell user when x509 exec/state module can't load
332588
332589       · ISSUE #27643: (blueyed) Please document  extended  return  values  of
332590         __virtual__ (refs: #27724)
332591
332592       · ISSUE  #26755:  (lorengordon)  Associate package dependencies to mod‐
332593         ules/states? (refs: #27724)
332594
332595       · PR #27724: (jfindlay) update __virtual__ return documentation  (refs:
332596         #27757) @ 2015-10-06 21:06:47 UTC
332597
332598         · PR  #27116:  (jacobhammons)  Update latest to 2015.8, 2015.5 is now
332599           previous (refs: #27724)
332600
332601         · f26bcd2d21 Merge pull request #27724 from jfindlay/virtret
332602
332603         · 6bddf80546 update __virtual__ return documentation
332604
332605       · ISSUE #27481: (basepi) Fix issues with  cross-calling  states  (refs:
332606         #27725)
332607
332608       · PR  #27725:  (basepi)  Fix  global  injection for state cross calls @
332609         2015-10-06 21:02:15 UTC
332610
332611         · d67e8c5c2c      Merge      pull      request      #27725       from
332612           basepi/states.cross.call.27481
332613
332614         · e12269d871 Remove unused import
332615
332616         · 4e6505b2e7 Return the wrapper (whoops)
332617
332618         · fadb954676  Use  new  method for injecting globals into state func‐
332619           tions
332620
332621         · 17b267470a Add decorator for injecting globals  into  functions  in
332622           the loader
332623
332624       · PR  #27628:  (ticosax) [dockerng] Add support of labels parameter for
332625         dockerng @ 2015-10-06 13:58:40 UTC
332626
332627         · 06e67d25f8 Merge pull  request  #27628  from  ticosax/dockerng-con‐
332628           tainer-label
332629
332630         · edf625c8b4 Add support of labels parameter for dockerng
332631
332632       · ISSUE #26604: (ari) Poor compound matcher documentation (2015.8 docs)
332633         (refs: #27704)
332634
332635       · PR #27704: (jacobhammons) Update compound matcher docs to clarify the
332636         usage of alternate delimi… @ 2015-10-06 05:36:55 UTC
332637
332638         · e47d849af6 Merge pull request #27704 from jacobhammons/26604
332639
332640         · 1c51ce28a9  Update  compound  matcher  docs to clarify the usage of
332641           alternate delimiters Refs #26604
332642
332643       · PR  #27705:  (rallytime)  Merge  #27602  with  final  pylint  fix   @
332644         2015-10-05 23:36:50 UTC
332645
332646         · PR  #27602:  (blueyed)  dockerng:  fix/enhance  version  warning in
332647           __virtual__ (refs: #27705)
332648
332649         · 2491ce40f1 Merge pull request #27705 from rallytime/merge-27602
332650
332651         · 81aad83386 Ignore import error
332652
332653         · 561dc4cf94 dockerng: fix/enhance version warning in __virtual__
332654
332655       · ISSUE #13850: (ryan-lane) s3://  urls  in  file.managed  (and  likely
332656         elsewhere)  require s3.key and s3.keyid to be in minion config (refs:
332657         #27691)
332658
332659       · PR #27691: (notpeter) Faster timeout (3s vs 2min) for instance  meta‐
332660         data lookups. #13850.  @ 2015-10-05 22:55:52 UTC
332661
332662         · b76eb08c68 Merge pull request #27691 from notpeter/iam_fail_faster
332663
332664         · 3d9483b4e2  Faster  timeout  (3s  vs  2min)  for  instance metadata
332665           lookups. #13850.
332666
332667       · PR #27696: (blueyed) loader.proxy: call  _modules_dirs  only  once  @
332668         2015-10-05 22:42:32 UTC
332669
332670         · fc78f49dc5       Merge      pull      request      #27696      from
332671           blueyed/load-proxy-call-_module_dirs-only-once
332672
332673         · 55a76be6c1 loader.proxy: call _modules_dirs only once
332674
332675       · PR  #27630:  (ticosax)  Expose  container_id  in  mine.get_docker   @
332676         2015-10-05 21:56:53 UTC
332677
332678         · 77516912fa  Merge  pull  request  #27630  from ticosax/include-con‐
332679           tainer-id-docker-mine
332680
332681         · 7293ded2f6 fixup! Expose container_id in mine.get_docker
332682
332683         · 9e56a7e9db Expose container_id in mine.get_docker
332684
332685       · PR #27600: (blueyed) dockerng: use docker.version=auto by  default  @
332686         2015-10-05 21:29:14 UTC
332687
332688         · 8453cb3eb1   Merge   pull   request   #27600   from   blueyed/dock‐
332689           erng-auto-version
332690
332691         · 53c6e3b3de dockerng: use docker.version=auto by default
332692
332693       · PR #27689: (rallytime) Merge #27448  with  test  fixes  @  2015-10-05
332694         21:17:41 UTC
332695
332696         · PR  #27448:  (JaseFace)  Ensure  we  pass  on the enable setting if
332697           present, or use the default of True if not in build_schedule_item()
332698           (refs: #27689)
332699
332700         · 7a4291008e Merge pull request #27689 from rallytime/fix-tests-27448
332701
332702         · 05a506ec9f Use correct comment in test
332703
332704         · 8296fefb31 Merge #27448 with test fixes
332705
332706         · d9f5e9fd2f  Ensure we pass on the enable setting if present, or use
332707           the default of True if not in build_schedule_item() Prior to  this,
332708           when  schedule.present  compares  the  existing schedule to the one
332709           crafted by this function, enabled will actually be removed at  each
332710           run.   schedule.present  sees  a modification needs to be made, and
332711           invokes schedule.modify, which does so with enabled: True, creating
332712           and endless loop of an 'enabled' removal and addition.
332713
332714       · ISSUE  #27520:  (rmarcinik)  winrepo  is unavailable in 2015.8 (refs:
332715         #27616, #27693)
332716
332717       · ISSUE  #23239:  (cachedout)  [RFC]  Deprecate  ext_processses  (refs:
332718         #27693)
332719
332720       · PR  #27693:  (jacobhammons) initial engines topic, updates to windows
332721         repo docs @ 2015-10-05 21:05:26 UTC
332722
332723         · 4ddc87157a Merge pull request #27693 from jacobhammons/doc-updates
332724
332725         · 5a3e72fc8e __ops__ to __opts__
332726
332727         · 5a9867aad1 initial engines topic, updates to windows repo docs Refs
332728           #23239 Refs #27520
332729
332730       · PR  #27601:  (blueyed)  dockerng:  handle  None  in container.Names @
332731         2015-10-05 20:32:19 UTC
332732
332733         · f7f48d1eef   Merge   pull   request   #27601   from   blueyed/dock‐
332734           erng-none-names
332735
332736         · b1442ac904 dockerng: handle None in container.Names
332737
332738       · PR  #27596:  (blueyed)  gitfs:  fix  UnboundLocalError  for  'msg'  @
332739         2015-10-05 20:18:00 UTC
332740
332741         · 3ffb5a3369      Merge      pull      request      #27596       from
332742           blueyed/fix-gitfs-UnboundLocalError
332743
332744         · e70cbda490 gitfs: fix UnboundLocalError for 'msg'
332745
332746       · PR  #27651:  (eliasp) Check for existence of 'subnetId' key in subnet
332747         dict @ 2015-10-05 17:01:34 UTC
332748
332749         · 4d7be3f972      Merge      pull      request      #27651       from
332750           eliasp/2015.8-cloud.clouds.ec2-check-for-subnetId-before-using-it
332751
332752         · f21a763809 Check for existence of 'subnetId' key in subnet dict
332753
332754       · ISSUE  #23370:  (lisa2lisa) salt artifactory.downloaded module ignore
332755         classifier  (refs: #27639)
332756
332757       · PR #27639: (rallytime) Docement version  added  for  new  artifactory
332758         options @ 2015-10-05 17:01:21 UTC
332759
332760         · d9266505a7 Merge pull request #27639 from rallytime/fix-23370
332761
332762         · 6de99bd5b7 Docement version added for new artifactory options
332763
332764       · PR  #27677:  (rallytime)  Back-port  #27675  to  2015.8  @ 2015-10-05
332765         15:47:34 UTC
332766
332767         · PR #27675: (avinassh) Fix a typo (refs: #27677)
332768
332769         · 771e5136f1 Merge pull request #27677 from rallytime/bp-27675
332770
332771         · bfa0acfbfe Fix a typo
332772
332773       · PR #27637:  (rallytime)  Back-port  #27604  to  2015.8  @  2015-10-05
332774         14:54:59 UTC
332775
332776         · PR  #27604:  (plastikos)  Fix  module path to SaltCacheError (refs:
332777           #27637)
332778
332779         · 6bc5ddc561 Merge pull request #27637 from rallytime/bp-27604
332780
332781         · 3d2ee4297d Fix module path to SaltCacheError
332782
332783       · ISSUE #19291: (gfa) pkg module could accept  version:  latest  (refs:
332784         #27657)
332785
332786       · PR  #27657:  (garethgreenaway)  Fix  to pkg state module @ 2015-10-03
332787         23:56:02 UTC
332788
332789         · 905acc6229   Merge   pull   request   #27657   from    garethgreen‐
332790           away/19291_pkg_state_latest_fix
332791
332792         · c950527b24  When  latest  is  passed in the state as the version to
332793           install, once the package is installed the state  runs  will  fail.
332794           pkg.latest_version  returned  an  empty  string once the package is
332795           installed so we need to grab the installed version in that case  to
332796           avoid passing an empty string to the pkg module in question.
332797
332798       · ISSUE  #27538:  (lomeroe) boto_iam is not passing parameters properly
332799         on a handful of function calls (refs: #27539)
332800
332801       · PR #27632:  (rallytime)  Back-port  #27539  to  2015.8  @  2015-10-02
332802         19:28:39 UTC
332803
332804         · PR  #27539:  (lomeroe) boto_iam updates to function calls that were
332805           not passing arguments properly (refs: #27632)
332806
332807         · 83ae6a1432 Merge pull request #27632 from rallytime/bp-27539
332808
332809         · 2b0afd0230 Add versionadded to new path option
332810
332811         · e54afed73a moving path kwarg to end of function definition
332812
332813       · ISSUE #27545: (lomeroe) boto_asg allow removing launch  configuration
332814         with 'absent' state (refs: #27546)
332815
332816       · ISSUE  #27544:  (lomeroe) boto_asg state incorrectly processes return
332817         from boto_vpc.get_subnet_association (refs: #27559, #27546)
332818
332819       · PR #27633:  (rallytime)  Back-port  #27559  to  2015.8  @  2015-10-02
332820         19:22:07 UTC
332821
332822         · PR #27559: (lomeroe) vpc_id fix for boto_vpc.get_subnet_association
332823           (refs: #27633)
332824
332825         · PR #27546: (lomeroe) boto_asg state updates (refs: #27559)
332826
332827         · 888e9bdf5d Merge pull request #27633 from rallytime/bp-27559
332828
332829         · 3f03815ada rebasing
332830
332831       · ISSUE #27463:  (ryan-lane)  boto_route53  module  should  default  to
332832         region universal, rather then None (refs: #27579)
332833
332834       · PR #27579: (rallytime) Change boto_route53 region default to 'univer‐
332835         sal' to avoid problems with boto library @ 2015-10-02 18:56:17 UTC
332836
332837         · 8b7da5e469 Merge pull request #27579 from rallytime/fix-27463
332838
332839         · d5956132ef Change boto_route53 region  default  to  'universal'  to
332840           avoid problems with boto library
332841
332842       · PR  #27581:  (tkwilliams) Add support for 'vpc_name' tag in boto_sec‐
332843         group module and state @ 2015-10-02 15:40:40 UTC
332844
332845         · ce4c64a2e3 Merge  pull  request  #27581  from  tkwilliams/boto_sec‐
332846           group_add_vpc_name
332847
332848         · 159cccf43f Faulty check logic around optional params
332849
332850         · 84ab0bbd74  One last bug to squash.  Seriously.  It's the last one.
332851           Ever!  -  fixed  param  vpc_id  being  passed  where  vpc_name  was
332852           intended.
332853
332854         · 002cbf5cde  Grrr.   Add back the import of SaltInvocationError that
332855           pylint wanted me to remove :)
332856
332857         · 0671c0d8d9 Consolidate some redundant code - thanks @ryan-lane !
332858
332859         · fae1199276 Followed @ryan-lane's suggestion  to  remove  duplicated
332860           code from boto_vpc and instead call into that module
332861
332862         · 3a38a440b7  Merge  remote-tracking  branch  'upstream/2015.8'  into
332863           boto_secgroup_add_vpc_name
332864
332865         · f7ef0bcd4c Fixups for picayune pylint pedantery :)
332866
332867         · 35b66e28a3  Merge  remote-tracking  branch  'upstream/2015.8'  into
332868           boto_secgroup_add_vpc_name
332869
332870         · 6770f721f8  Add  support for 'vpc_name' tag in boto_secgroup module
332871           and state
332872
332873       · PR #27624: (nasenbaer13) Wait for sync is not passed to  boto_route53
332874         state @ 2015-10-02 15:37:44 UTC
332875
332876         · fb6f6b9ce4 Merge pull request #27624 from eyj/fix_wait_for_sync
332877
332878         · ed6a8c0aa6 Wait for sync is not passed to boto_route53 state
332879
332880       · PR  #27614:  (blueyed)  doc:  minor  fixes  to  doc  and  comments  @
332881         2015-10-02 15:34:02 UTC
332882
332883         · eb59cb8d1c Merge pull request #27614 from blueyed/doc-minor
332884
332885         · 98a8c0f055 doc: minor fixes to doc and comments
332886
332887       · PR #27627: (eyj) Fix crash in boto_asg.get_instances if the requested
332888         attribute is None @ 2015-10-02 15:33:32 UTC
332889
332890         · 61f8a6f39f Merge pull request #27627 from eyj/pr-instance-attribute
332891
332892         · 03d7c6af3d  Fix  crash  in  boto_asg.get_instances if the requested
332893           attribute may be None
332894
332895       · ISSUE #27549: (carlpett) Document winrepo_remotes_ng (refs: #27616)
332896
332897       · ISSUE #27520: (rmarcinik) winrepo is  unavailable  in  2015.8  (refs:
332898         #27616, #27693)
332899
332900       · PR  #27616: (jacobhammons) Updated windows software repository docs @
332901         2015-10-02 05:04:37 UTC
332902
332903         · 764d70af79   Merge   pull    request    #27616    from    jacobham‐
332904           mons/win-repo-docs
332905
332906         · 1c8b32ce26 Updated windows software repository docs
332907
332908       · ISSUE  #27543:  (lomeroe)  boto_elb incorrectly processes return from
332909         boto_vpc.get_subnet_assocaition (refs: #27569)
332910
332911       · PR #27569: (lomeroe) boto_vpc.get_subnet_association  now  returns  a
332912         dict w/key of vpc_id, a… @ 2015-10-01 16:03:06 UTC
332913
332914         · db963b7864 Merge pull request #27569 from lomeroe/fix_boto_elb
332915
332916         · ae09a0fb61 boto_vpc.get_subnet_association now returns a dict w/key
332917           of vpc_id, adding code to handle the dict now
332918
332919       · ISSUE #25441:  (ahammond)  modules.ps  documentation  missing  (refs:
332920         #27567)
332921
332922       · PR  #27567:  (whiteinge)  Use  getattr to fetch psutil.version_info @
332923         2015-10-01 15:39:59 UTC
332924
332925         · b269cd4754 Merge pull  request  #27567  from  whiteinge/psutil-ver‐
332926           sion-fix
332927
332928         · 7ebe9acc44 Use getattr to fetch psutil.version_info
332929
332930       · PR #27583: (tkwilliams) Fixup zypper module @ 2015-10-01 15:38:53 UTC
332931
332932         · 9cc69e2440 Merge pull request #27583 from tkwilliams/fix_zypper
332933
332934         · cdd44e4128 Fixup zypper module - expected return type of pkg.latest
332935           was changed without updating zypper module - unchecked  list  deref
332936           fixed  -  "zypper  info  -t"  out-of-date  status  field format has
332937           changed
332938
332939       · PR    #27597:    (blueyed)    gitfs:    remove    unused     variable
332940         "bad_per_remote_conf" @ 2015-10-01 15:38:15 UTC
332941
332942         · 5ca7e72c70       Merge      pull      request      #27597      from
332943           blueyed/gitfs-remove-unused-bad_per_remote_conf
332944
332945         · 58af4d68f0 gitfs: remove unused variable "bad_per_remote_conf"
332946
332947       · PR #27585: (ryan-lane) Fix undefined variable in cron state module  @
332948         2015-10-01 05:05:58 UTC
332949
332950         · 9805bdeddf Merge pull request #27585 from lyft/cron-fix
332951
332952         · 5474666b61 Fix undefined variable in cron state module
332953
332954   Salt 2015.8.3 Release Notes
332955       Version 2015.8.3 is a bugfix release for 2015.8.0.
332956
332957   Statistics
332958       · Total Merges: 74
332959
332960       · Total Issue References: 26
332961
332962       · Total PR References: 64
332963
332964       · Contributors:  30  (DmitryKuzmenko,  RealKelsar,  alexproca, anlutro,
332965         basepi,  bogdanr,  cachedout,   cedwards,   chrigl,   cro,   fcrozat,
332966         gtmanfred,  isbm,  jfindlay,  kiorky,  kt97679, lomeroe, lorengordon,
332967         mhoogendoorn, nmadhok, optix2000, paulnivin, quantonganh,  rallytime,
332968         s0undt3ch, schwing, sjorge, tampakrap, terminalmage, ticosax)
332969
332970   Security Fix
332971       CVE-2015-8034 Saving state.sls cache data to disk with insecure permis‐
332972       sions
332973
332974       This affects users of the state.sls function. The state  run  cache  on
332975       the  minion  was  being  created  with incorrect permissions. This file
332976       could potentially contain sensitive data that was  inserted  via  jinja
332977       into  the  state SLS files. The permissions for this file are now being
332978       set correctly. Thanks to zmalone for bringing this issue to our  atten‐
332979       tion.
332980
332981   Changelog for v2015.8.2..v2015.8.3
332982       Generated at: 2018-05-27 23:24:21 UTC
332983
332984       · PR  #29173:  (jfindlay)  add  2015.8.3  release  notes  @  2015-11-25
332985         00:07:51 UTC
332986
332987         · 345206b68e Merge pull request #29173 from jfindlay/2015.8
332988
332989         · 212f7dd281 add 2015.8.3 release notes
332990
332991         · cafbb49cb6 add note on 2015.8.2 release notes
332992
332993       · PR #29172: (basepi) [2015.8] Backport new philips_hue proxy  features
332994         from develop @ 2015-11-24 23:52:55 UTC
332995
332996         · 5e88e9e9c0 Merge pull request #29172 from basepi/philips_backport
332997
332998         · 1df6c3083b Backport new philips_hue proxy features from develop
332999
333000       · PR  #29167:  (basepi)  [2015.8] Merge forward from 2015.5 to 2015.8 @
333001         2015-11-24 21:40:34 UTC
333002
333003         · 2fb1ca0eac  Merge  pull  request  #29167   from   basepi/merge-for‐
333004           ward-2015.8
333005
333006         · 525f9fbbbb  Merge  remote-tracking  branch  'upstream/2015.5'  into
333007           merge-forward-2015.8
333008
333009         · a26c10a811 Merge pull request #29164 from jfindlay/bp-29113
333010
333011           · 50fab35188 kill unneeded import
333012
333013         · 4f03196e7d Merge pull request #29138 from jfindlay/2015.5
333014
333015           · be045f5cb1 add 2015.5.8 release notes
333016
333017       · PR #29141: (optix2000) Add test  case  for  require:  sls  with  only
333018         import statements @ 2015-11-24 16:17:57 UTC
333019
333020         · 68d6c454b8 Merge pull request #29141 from optix2000/full_sls_import
333021
333022         · 596843e8d6   Add   test   case  for  sls  with  only  import  Tests
333023           https://github.com/saltstack/salt/issues/10852
333024
333025       · ISSUE #29015: (jakehilton) git_pillar  not  honoring  git_pillar_base
333026         (refs: #29072)
333027
333028       · ISSUE #28311: (strocknar) git_pillar conflicts (refs: #29072)
333029
333030       · ISSUE  #27432:  (mafrosis)  Using specific tag as GitFS remote (refs:
333031         #29072)
333032
333033       · PR #29072: (terminalmage) Several gitfs/git_pillar fixes @ 2015-11-24
333034         16:04:39 UTC
333035
333036         · 732f5364a2 Merge pull request #29072 from terminalmage/issue28311
333037
333038         · dae738fda3 Use common code to detect envs
333039
333040         · a9c0cacb77 Don't add head ref if head red matches desired ref
333041
333042         · e7540e956b  pygit2: Don't clean local heads along with stale remote
333043           refs
333044
333045         · 1e6c46f554 pygit2: Properly resolve base saltenv from tag ref
333046
333047         · 0c592ab552 Support string whitelist/blacklist
333048
333049         · 744487864d Fix base branch detection for git_pillar
333050
333051         · 1cd9a4d1b4 Add some debug logging for git_pillar
333052
333053         · fac588c0bb Add HEAD ref in git_pillar/winrepo checkout
333054
333055       · PR  #29118:  (ticosax)  [dockerng]  Add  networking  capabilities   @
333056         2015-11-24 15:47:36 UTC
333057
333058         · 95689ee1a4 Merge pull request #29118 from ticosax/dockerng-network
333059
333060         · e98d18ba41 Expose docker networking as state
333061
333062         · 94135d91c3 cosmetic
333063
333064         · 17ff5c1ab5 Add expose networking to modules.dockerng
333065
333066       · ISSUE  #29144: (anlutro) Error in fileclient with file.managed (refs:
333067         #29145)
333068
333069       · PR #29145: (anlutro)  Remove  duplicate  import  of  salt.utils.s3  @
333070         2015-11-24 15:36:05 UTC
333071
333072         · 4b4f212d2d   Merge   pull   request  #29145  from  alprs/fix-dupli‐
333073           cate_import
333074
333075         · e1101bea19 Remove duplicate import of salt.utils.s3
333076
333077       · ISSUE #29147: (lomeroe) boto_route53 unexpected keyword arguments  in
333078         create_zone() (refs: #29148)
333079
333080       · PR #29148: (lomeroe) correcting parameter calls to boto get_zone/cre‐
333081         ate_zone functions in … @ 2015-11-24 15:33:53 UTC
333082
333083         · 6079569580 Merge pull request #29148 from lomeroe/boto_route53_cre‐
333084           ate_zone_fix-backport
333085
333086         · 75408ccf99  correcting parameter calls to boto get_zone/create_zone
333087           functions in create_zone parameter check  on  create_zone  on  pri‐
333088           vate_zone=True add boto version requirement
333089
333090       · ISSUE  #29107:  (lorengordon) Salt hangs when passing a string repre‐
333091         sentation as the length parameter to random.get_str() (refs: #29108)
333092
333093       · PR #29108: (lorengordon) Enforce length as an  int,  fixes  #29107  @
333094         2015-11-23 19:06:52 UTC
333095
333096         · 17638c734b    Merge    pull    request    #29108   from   lorengor‐
333097           don/type-enforce-length
333098
333099         · c71825d3b0 Enforce length as an int, fixes #29107
333100
333101       · PR #29125: (basepi) [2015.8] Merge forward from 2015.5  to  2015.8  @
333102         2015-11-23 18:48:46 UTC
333103
333104         · 233ab8a474   Merge   pull  request  #29125  from  basepi/merge-for‐
333105           ward-2015.8
333106
333107         · 1432cc806d  Merge  remote-tracking  branch  'upstream/2015.5'  into
333108           merge-forward-2015.8
333109
333110           · 219367a23d Merge pull request #29128 from cachedout/tweak_29122
333111
333112             · b08858b040 Missed check
333113
333114             · 584efe81ee Set a safer default value for ret in saltmod
333115
333116         · 8d86bc3056  Merge  remote-tracking  branch  'upstream/2015.5'  into
333117           merge-forward-2015.8
333118
333119           · 2250a36647 Merge pull request #29122 from cachedout/issue_29110
333120
333121             · 4b9302d794 Fix broken state orchestration
333122
333123           · 200e771efb Merge pull request #29096 from rallytime/bp-29093
333124
333125             · f5734423a4 Compare gem versions as a string.
333126
333127           · d8a2018bc8 Merge pull request #29084 from rallytime/bp-29055
333128
333129             · 52e650aed9 Add section to style guide
333130
333131           · b5cff1a351 Merge pull request #29083 from rallytime/bp-29053
333132
333133             · f1884de0e7 Update rabbitmq_user.py
333134
333135           · b3e3bebef0 Merge pull request #28932 from twangboy/fix_28928
333136
333137             · 0653a04887 Fixed user.present / user.absent in windows
333138
333139           · a2e4a227e0 Merge pull request #29011 from rallytime/bp-28630
333140
333141             · 7baccc1b05 Lint - newline before def
333142
333143             · 9e5c16d4da Reading S3 credentials from Pillar
333144
333145             · a3216f813d Fixed requests HTTPError handler, it  was  still  in
333146               urllib2 style
333147
333148           · 1a4cd6002f  Merge  pull  request  #28982  from  basepi/merge-for‐
333149             ward-2015.5
333150
333151             · bfbb109fbd Merge remote-tracking branch 'upstream/2014.7'  into
333152               merge-forward-2015.5
333153
333154             · 4b8bdd0afb    Merge    pull   request   #28839   from   cached‐
333155               out/revert_28740
333156
333157             · 215b26c06f Revert #28740
333158
333159       · ISSUE #29005: (fcrozat) non-standard umask breaks salt-call  call  in
333160         salt-ssh (refs: #29126)
333161
333162       · ISSUE  #28830:  (fcrozat) non-standard umask breaks salt-ssh deploye‐
333163         ment (refs: #29126)
333164
333165       · PR #29126: (fcrozat) Fix deployment  when  umask  is  non-standard  @
333166         2015-11-23 17:53:46 UTC
333167
333168         · dc0d47fa2e Merge pull request #29126 from fcrozat/2015.8
333169
333170         · 4da11a5f3c Fix deployment when umask is non-standard. Fixes #29005
333171
333172         · bbccb752f9 Fix deployment when umask is non-standard. Fixes #28830
333173
333174       · PR  #29124:  (rallytime)  Back-port  #28130  to  2015.8  @ 2015-11-23
333175         17:31:00 UTC
333176
333177         · PR #29120: (alexproca) Import keypair (refs: #29124)
333178
333179         · PR #28130: (bogdanr) Ec2 upload public key  and  updated  instances
333180           size list (refs: #29124)
333181
333182         · 994d8bd71a Merge pull request #29124 from rallytime/bp-28130
333183
333184         · e290ea4a3f Pylint Fix
333185
333186         · 9d8e5c8b4d Added missing comma
333187
333188         · 4a7eee08a8 Documented import_keypair for the ec2 driver
333189
333190         · 715c12014c  Added  a  bunch of instance sizes and updated some out‐
333191           dated ones
333192
333193         · 506ff01f65 Import public key
333194
333195       · PR #29076: (RealKelsar) We can't query installed use flags for a  non
333196         installed pkg @ 2015-11-23 16:19:40 UTC
333197
333198         · d9c32011b4 Merge pull request #29076 from RealKelsar/2015.8
333199
333200         · f3d1ba1509  We  can't query installed use flags for a non installed
333201           pkg. Also one if is enough...
333202
333203         · 96566d3060 We can't query installed use flags for a  non  installed
333204           pkg
333205
333206       · ISSUE  #29100: (quantonganh) boto_ec2.exists does not use region when
333207         checking? (refs: #29070)
333208
333209       · PR #29097:  (rallytime)  Back-port  #29070  to  2015.8  @  2015-11-22
333210         17:03:04 UTC
333211
333212         · PR  #29070:  (quantonganh)  boto_ec2:  missing region when checking
333213           existence of an EC2 instance (refs: #29097)
333214
333215         · 1931870f26 Merge pull request #29097 from rallytime/bp-29070
333216
333217         · 3b202efadc boto_ec2: missing region when checking existence  of  an
333218           EC2 instance
333219
333220       · PR  #29090:  (gtmanfred)  clean  up  novaclient  module  @ 2015-11-21
333221         15:43:58 UTC
333222
333223         · bb28b9186b Merge pull request #29090 from gtmanfred/2015.8
333224
333225         · 2aab45f9d2 clean up novaclient module
333226
333227       · PR #29095: (terminalmage) Add warning about pygit2 API instability  @
333228         2015-11-21 15:38:59 UTC
333229
333230         · 4ff54c6429 Merge pull request #29095 from terminalmage/pygit2-warn‐
333231           ing
333232
333233         · 139f5ba4c3 Add warning about pygit2 API instability
333234
333235       · PR #28919: (cro) Update Philips Hue proxy minion to support __proxy__
333236         instead of proxymodule stored in __opts__ @ 2015-11-21 15:31:36 UTC
333237
333238         · 27160b0454 Merge pull request #28919 from cro/hue_proxy_backport
333239
333240         · 8823225c81 Add 'versionadded'
333241
333242         · 6bdf98d2c6   Backport  philips_hue  proxy  module  to  2015.8,  use
333243           __proxy__ instead of opts['proxymodule']
333244
333245         · 0945d3b5b2 Add the license
333246
333247         · a8be2d7382 Fix the docstring
333248
333249         · 13a8973f94 Validate if "requests" are around. NOTE:  this  will  be
333250           changed soon!
333251
333252         · 835e84181b Fix the documentation
333253
333254         · 68accf6180 Allow view status from all lamps, if not specified
333255
333256         · 96adc9cca9 Fix lint issues
333257
333258         · cd00c5d99f Remove dead code
333259
333260         · 6a08d2b6b5 Implement static grains for the Philips HUE
333261
333262         · 5d3c3e09fc Bugfix: show all devices, if no specific IDs were passed
333263
333264         · 76e86d2d7d Implement color temperature
333265
333266         · a2d87a18cc Fix the documentation
333267
333268         · adeecb49d4 Implement brightness
333269
333270         · a2b1a71e01 Fix crash if the controller is down
333271
333272         · a7d5aafbe3 Update documentation for the color settings
333273
333274         · 15f83e180d Add more preset colors
333275
333276         · 44339f3dc1 Impement color setter with transition
333277
333278         · 0f4d5b9eac Implement effects method
333279
333280         · f341910174 Implement alert function
333281
333282         · e0c95b4c7f Separate device (lamps) getter
333283
333284         · 37ed834a63 Implement lamp rename
333285
333286         · 66b155c3db  Enhance _set method so it can set more than just lights
333287           status
333288
333289         · 8e94aad5c1 Enhance internal ping report on failures (device is  not
333290           reachable)
333291
333292         · 3bf79e6920 Implement blink function
333293
333294         · 334371d660 Use blink on internal ping
333295
333296         · a8e4c2162c Fix bug: call in a proper order, if all devices
333297
333298         · a98d5187f8 Remove the debug
333299
333300         · a1244223bf Enhance switch method
333301
333302         · e902764e25 Switch all lamps if IDs are not passed
333303
333304         · 1e508e9155 Fix bug: crash, if only one lamp ID is passed
333305
333306         · c0e6706d9a Implement status
333307
333308         · 6d8e6d6e23 Fix lint
333309
333310         · db053fbd8b Add licence
333311
333312         · 2abdb19934 Implement proxy minion configuration
333313
333314         · 1a75be3f71 Cleanup code
333315
333316         · 1a46a180bc Implement light switch ON/OFF
333317
333318         · cc5ee382c5 Implement lights method.
333319
333320         · bfbe4160b2 Add constants class-struct
333321
333322         · 7a8d72de3f Implement device state change
333323
333324         · d769bc85a7 Implement available device listing
333325
333326         · c9e7f4dc18 Cleanup code
333327
333328         · 5503b6f20e Implement Philips HUE wrapper caller for Minion Proxy
333329
333330         · 1b11d1ec74 Initial implementation of Philips HUE proxy
333331
333332       · ISSUE #28810: (syedaali) test.ping is not available (refs: #29065)
333333
333334       · ISSUE   #28761:   (syedaali)   Numerous   module   import  errors  in
333335         /var/log/salt/minion (test,oracle,archive) (refs: #29065)
333336
333337       · ISSUE #25756: (nshalman) Esky builds  on  SmartOS  broken  in  2015.5
333338         branch (refs: #25946, #25923)
333339
333340       · PR  #29065:  (cachedout) Handle failures inside python's inspect if a
333341         module is reloaded @ 2015-11-20 18:10:42 UTC
333342
333343         · PR #25946: (sjorge) Fix for salt.utils.decorators under esky (refs:
333344           #29065)
333345
333346         · PR   #25923:   (sjorge)  Fix  for  salt.utils.decorators  and  mod‐
333347           ule.__name__ under esky (refs: #25946)
333348
333349         · 88c0354c0c Merge pull request #29065 from cachedout/issue_28810
333350
333351         · 4767503eb2 Remove trailing whitespace
333352
333353         · c5b667f048 Handle failures inside python's inspect if a  module  is
333354           reloaded
333355
333356       · PR #29057: (paulnivin) Add local file support for file.managed source
333357         list @ 2015-11-19 21:57:34 UTC
333358
333359         · 714ef8ff27  Merge   pull   request   #29057   from   lyft/file-man‐
333360           age-local-source-list
333361
333362         · 3d7aa19cd8 Support local files in list of sources
333363
333364         · d175061c5d Add tests for file.source_list with local files
333365
333366         · 4f8e2a30fe Update documentation to clarify URL support for lists of
333367           sources with file.managed
333368
333369       · ISSUE #28981: (mimianddaniel) 2015.8.2 import pagerduty error  (refs:
333370         #29017)
333371
333372       · PR #29017: (jfindlay) pagerduty runner: add missing salt.utils import
333373         @ 2015-11-19 19:28:35 UTC
333374
333375         · f4f43381fc Merge pull request #29017 from jfindlay/pager_util
333376
333377         · 5cc06207fe pagerduty runner: add missing salt.utils import
333378
333379       · PR #29039: (anlutro) Allow passing  list  of  pip  packages  to  vir‐
333380         tualenv.managed @ 2015-11-19 19:13:50 UTC
333381
333382         · 1c61bce0a6   Merge  pull  request  #29039  from  alprs/feature-vir‐
333383           tualenv_pip_pkgs
333384
333385         · f9bff51382 allow passing list of pip packages to virtualenv.managed
333386
333387       · PR  #29047:  (schwing)  Fix  salt.modules.gpg.import_key   exception:
333388         'GPG_1_3_1 referenced before assignment' @ 2015-11-19 19:07:36 UTC
333389
333390         · b692ab1cfb Merge pull request #29047 from schwing/fix-gpg-exception
333391
333392         · 813f6e6808 Fix 'GPG_1_3_1 referenced before assignment'
333393
333394       · PR  #29050:  (terminalmage) Make git_pillar global config option docs
333395         more prominent @ 2015-11-19 19:06:38 UTC
333396
333397         · b4fc2f28a4 Merge pull request #29050 from terminalmage/issue29015
333398
333399         · 20da057a94 Make git_pillar global config option docs more prominent
333400
333401       · PR #29048: (nmadhok) Fix incorrect debug log statement  @  2015-11-19
333402         19:04:10 UTC
333403
333404         · 4b3b2fe1e7 Merge pull request #29048 from nmadhok/patch-1
333405
333406         · 9489d6c3b6 Update vmware.py
333407
333408       · PR  #29024:  (jfindlay)  cache  runner  test:  add  new  unit tests @
333409         2015-11-19 19:02:54 UTC
333410
333411         · e52c117368 Merge pull request #29024 from jfindlay/run_test
333412
333413         · 0c0bce3ea6 cache runner test: add new unit tests
333414
333415       · PR #28967: (cro) Fix some issues with password changes  @  2015-11-19
333416         18:57:39 UTC
333417
333418         · bcec8d8608 Merge pull request #28967 from cro/fx2_switch
333419
333420         · 67b5b9b8d2 Add docs on automatic lockout on failed auth attempts.
333421
333422         · 8a3cea4d95 Lint.
333423
333424         · 04095e3b74  Prevent  stacktrace  if something goes wrong retrieving
333425           inventory
333426
333427         · e7cbce15a5 Don't need to get grains at init time here now  that  we
333428           are confirming username and password differently.
333429
333430         · e42100cf8a  Switch  from admin_password and fallback_admin_password
333431           to a list of passwords to try.
333432
333433         · 4b382e977d Add 'versionadded'
333434
333435       · ISSUE #8516: (xoJIog) salt-ssh not working with nodegroups and  lists
333436         (refs: #29020)
333437
333438       · PR  #29020: (basepi) [2015.8] Add special list-only nodegroup support
333439         to salt-ssh @ 2015-11-18 21:15:50 UTC
333440
333441         · 14b5d0ed0f Merge pull  request  #29020  from  basepi/salt-ssh.node‐
333442           groups.8516
333443
333444         · 6433abf36f Rename ssh_nodegroups to ssh_list_nodegroups
333445
333446         · bd8487b3b9 Properly save minion list in local_cache for ssh jobs
333447
333448         · 4b1bf7d5e2  Add  support  for  comma  separated  list  matching  in
333449           salt-ssh
333450
333451         · 65c6528cbc Add "nodegroup" matching to salt-ssh
333452
333453         · 688a78c08c Add new ssh_nodegroups config
333454
333455       · ISSUE #28911: (ccmills) GitFS numeric tags cause errors with environ‐
333456         ments (refs: #28970)
333457
333458       · PR  #28970:  (terminalmage)  Properly  handle  non-string  saltenvs @
333459         2015-11-18 20:38:41 UTC
333460
333461         · 89801b172a Merge pull request #28970 from terminalmage/issue28911
333462
333463         · ec64ec85d6 Force file_roots environments to be strings
333464
333465         · b2690140c7 Properly handle non-string saltenvs
333466
333467       · ISSUE #28945: (rallytime) Dell  Chassis  State  Example  Improvements
333468         (refs: #28959)
333469
333470       · PR  #28959:  (rallytime)  Add blade password example and make note of
333471         timeout @ 2015-11-18 19:39:04 UTC
333472
333473         · 83c54351c9 Merge pull request #28959 from rallytime/fix-28945
333474
333475         · 2f326b57bf Clarify chassis password functionality
333476
333477         · 3614a88811 Add blade password example and make note of timeout
333478
333479       · PR #29000: (kiorky) [Mergeable] Fix up LXC @ 2015-11-18 18:02:47 UTC
333480
333481         · d8dc81bb2c Merge pull request #29000 from kiorky/2015.8_lxc
333482
333483         · a4d197821a LXC: doc
333484
333485         · 43fb0eff02 lxc: remove useless and error prone uses_systemd knob
333486
333487         · 7ec08cd41c Fix bootstrap delay kwarg exchange
333488
333489       · ISSUE #28995: (timcharper) systemd.get_all broken on non-bsd  systems
333490         / salt-bootstrap failure (refs: #29014)
333491
333492       · PR  #29014:  (jfindlay) systemd module: remove unneeded col command @
333493         2015-11-18 17:58:59 UTC
333494
333495         · eedd50e7c3 Merge pull request #29014 from jfindlay/sysctl_col
333496
333497         · d75e4d5d21 systemd module: line wrap function comment
333498
333499         · 960d2b936d systemd module: remove unneeded col command
333500
333501       · PR #28983: (basepi) [2015.8] Merge forward from 2015.5  to  2015.8  @
333502         2015-11-18 00:49:36 UTC
333503
333504         · ac85cfdbd0   Merge   pull  request  #28983  from  basepi/merge-for‐
333505           ward-2015.8
333506
333507         · f1c80ab943  Merge  remote-tracking  branch  'upstream/2015.5'  into
333508           merge-forward-2015.8
333509
333510         · edd26d763a Merge pull request #28949 from whiteinge/sync-sdb
333511
333512           · b0ec9ab25b Add sync_sdb execution function
333513
333514         · 43da1bc4ce Merge pull request #28930 from twangboy/fix_28888
333515
333516           · f5c489eaad Added missing import mmap required by file.py
333517
333518         · 2488b873b8  Merge  pull  request  #28908 from rallytime/doc-conven‐
333519           tion-spelling
333520
333521           · 60e6eddb77 A couple of spelling fixes for doc conventions page.
333522
333523         · 827a1ae020 Merge pull request #28902 from whiteinge/json-keys
333524
333525           · 9745903301 Fix missing JSON support for /keys endpoint
333526
333527         · d23bd49130 Merge pull request #28897 from rallytime/bp-28873
333528
333529           · 077e671ead Fix salt-cloud help output typo
333530
333531         · a9dc8b6ca6 Merge pull request #28871 from basepi/mdadm.fix.28870
333532
333533           · 323bc2d2ac Fix command generation for mdadm.assemble
333534
333535         · ec7fdc539b Merge pull request #28864 from jfindlay/2015.5
333536
333537           · 648b697951 add 2015.5.7 release notes
333538
333539         · bed45f4208   Merge   pull   request   #28731   from    garethgreen‐
333540           away/27392_2015_5_scheduler_return_job_master
333541
333542           · 771e9f7b6f  Fixing the salt scheduler so that it only attempts to
333543             return the job data to the master if the scheduled job is running
333544             from a minion's scheduler.
333545
333546         · 06f4932876 Merge pull request #28857 from rallytime/bp-28851
333547
333548           · aa4b193f87 [states/schedule] docstring: args, kwargs -> job_args,
333549             job_kwargs
333550
333551         · 0934a52b34 Merge pull request #28856 from rallytime/bp-28853
333552
333553         · 37eeab2683 Typo (with → which)
333554
333555       · PR #28969:  (rallytime)  Back-port  #28825  to  2015.8  @  2015-11-17
333556         20:43:30 UTC
333557
333558         · PR  #28825:  (s0undt3ch)  Take  into  account  a  pygit2 bug (refs:
333559           #28969)
333560
333561         · f172a0ee03 Merge pull request #28969 from rallytime/bp-28825
333562
333563         · 40f4ac5b21 Add missing import
333564
333565         · 2c43da1578 Take into account a pygit2 bug
333566
333567       · ISSUE #28784: (chrigl)  iptables.get_saved_rules  tests  pretty  much
333568         useless (refs: #28787)
333569
333570       · ISSUE  #28783: (chrigl) iptables.get_saved_rules does not handle fam‐
333571         ily=ipv6 (refs: #28787)
333572
333573       · PR #28787: (chrigl) closes #28784 @ 2015-11-17 15:54:04 UTC
333574
333575         · 1e9214f4e4 Merge pull request #28787 from chrigl/fix-28784
333576
333577         · 8639e3e9c3 closes #28784
333578
333579       · PR #28944: (rallytime) The ret result must contain 'name', not 'chas‐
333580         sis_name' for the state compiler.  @ 2015-11-17 15:34:21 UTC
333581
333582         · d63344575a  Merge  pull  request  #28944  from  rallytime/dellchas‐
333583           sis-state-name-fix
333584
333585         · f3ea01bbfa Make sure dellchassis.blade_idrac has a name arg  and  a
333586           ret['name']
333587
333588         · fb718539e9  The  ret result must contain 'name', not 'chassis_name'
333589           for the state compiler
333590
333591       · PR #28957: (terminalmage) Fix version number for new state  option  @
333592         2015-11-17 15:33:50 UTC
333593
333594         · fcef9f8995  Merge  pull  request  #28957 from terminalmage/fix-doc‐
333595           string
333596
333597         · f159000de2 Fix version number for new state option
333598
333599       · PR #28950: (DmitryKuzmenko) PR 28812  which  test  fix  @  2015-11-17
333600         15:32:16 UTC
333601
333602         · PR  #28812:  (isbm)  Enhance  'which'  decorator reliability (refs:
333603           #28950)
333604
333605         · 5b680c938a Merge pull request #28950 from DSRCompany/pr/28812_which
333606
333607         · 18571000c5 Fix which test in PR`#28812`_
333608
333609       · PR  #28812:  (isbm)  Enhance  'which'  decorator  reliability  (refs:
333610         #28950) @ 2015-11-17 15:32:10 UTC
333611
333612         · 73719928f9  Merge  pull request #28812 from isbm/isbm-which-decora‐
333613           tor-enhancement
333614
333615         · 20033eeeb7 Save modified environment path
333616
333617         · 2d43199d20 Preserve 'first found first win' ordering
333618
333619         · 1c59eedec2 Enhance 'which' decorator reliability for peculiar envi‐
333620           ronments
333621
333622       · PR  #28934: (terminalmage) git.latest: Add update_head option to pre‐
333623         vent local HEAD from being updated @ 2015-11-17 15:15:16 UTC
333624
333625         · facc34efed Merge pull request #28934 from terminalmage/issue27883
333626
333627         · 6a35a39ca5 Add update_head option to git.latest
333628
333629         · 3787f7ed00 Change return output of git.fetch to a dict
333630
333631         · 9ca0f8f440 Add redirect_stderr argument to cmd.run_all
333632
333633       · PR #28937: (rallytime) Update dellchassis state example to  use  cor‐
333634         rect jinja syntax @ 2015-11-17 15:12:28 UTC
333635
333636         · 7da93aad5b Merge pull request #28937 from rallytime/chassis-doc-fix
333637
333638         · d53713ddba  We  only  need  one  fancy  pillar example to match our
333639           state.
333640
333641         · e2926b1996 Update dellchassis state example to  use  correct  jinja
333642           syntax
333643
333644       · ISSUE  #27961: (ahammond) aggregate: False should disable aggregation
333645         even when state_aggregate: True enabled (refs: #28889)
333646
333647       · PR #28889: (jfindlay) state  compiler:  relax  aggregate  conditional
333648         check @ 2015-11-16 17:39:24 UTC
333649
333650         · 16ebda999e Merge pull request #28889 from jfindlay/aggregate
333651
333652         · eb9970019a state compiler: relax aggregate conditional check
333653
333654       · ISSUE #24803: (cachedout) Rewrite GPG renderer tests (refs: #25470)
333655
333656       · PR  #28921:  (rallytime)  Back-port  #25470  to  2015.8  @ 2015-11-16
333657         17:38:59 UTC
333658
333659         · PR #25470: (jfindlay) #24314 with tests (refs: #28921)
333660
333661         · PR #24314: (cedwards) refactor gpg renderer; removing dependency on
333662           python-gnupg (refs: #28921, #25470)
333663
333664         · 91a327bbce Merge pull request #28921 from rallytime/bp-25470
333665
333666         · a5eee74c20 Change Beryllium to 2015.8.3 release
333667
333668         · 5ce61abf57 rewrite GPG unit tests
333669
333670         · 7aa424209e reduce globals in GPG renderer for easier testing
333671
333672         · de5b6682ef log error and return ciphered txt on decrypt error
333673
333674         · 6afb344fe3 updated logic to properly detect GPG_KEYDIR path
333675
333676         · bc9750b85e   refactor   gpg   renderer;   removing   dependency  on
333677           python-gnupg
333678
333679       · PR #28922: (rallytime) Change 2015.8.2 release note title to  reflect
333680         proper version @ 2015-11-16 16:47:33 UTC
333681
333682         · 3707eb1e7c     Merge    pull    request    #28922    from    rally‐
333683           time/release-notes-ver
333684
333685         · 61029f8db1 Change 2015.8.2 release note  title  to  reflect  proper
333686           version
333687
333688       · ISSUE  #23971:  (dumol)  Problems  disabling a service in SLES11 SP3.
333689         (refs: #28891)
333690
333691       · PR #28891:  (jfindlay)  rh_service  module:  fix  logic  in  _chkcon‐
333692         fig_is_enabled @ 2015-11-16 02:44:14 UTC
333693
333694         · 23eae0d9e0 Merge pull request #28891 from jfindlay/chkconfig_check
333695
333696         · e32a9aab85 rh_service._chkconfig_is_enabled unit tests
333697
333698         · 5a93b7e53c rh_service module: fix logic in _chkconfig_is_enabled
333699
333700       · ISSUE  #24019:  (dumol)  SUSE  Linux  Enterprise  Server  11  SP3 not
333701         detected as SLES. (refs: #28892)
333702
333703       · PR #28892: (jfindlay) grains.core: correctly identify  SLES  11  dis‐
333704         trib_id @ 2015-11-16 02:30:30 UTC
333705
333706         · 8e6acd97ae Merge pull request #28892 from jfindlay/sles_grain
333707
333708         · 1cfdc500c9 grains.core: correctly identify SLES 11 distrib_id
333709
333710       · PR  #28910: (lorengordon) Fix winrepo command in windows pkg mgmt doc
333711         @ 2015-11-16 02:29:12 UTC
333712
333713         · cf929c3847 Merge pull request #28910 from lorengordon/patch-1
333714
333715         · 64655398b3 Fix winrepo command in windows pkg mgmt doc
333716
333717       · PR #28896:  (rallytime)  Back-port  #28855  to  2015.8  @  2015-11-15
333718         00:43:15 UTC
333719
333720         · PR  #28855:  (tampakrap)  fix  the  os grain in sle11sp4 to be SUSE
333721           instead of SLES (refs: #28896)
333722
333723         · 7a4fb9a790 Merge pull request #28896 from rallytime/bp-28855
333724
333725         · baf238f270 fix the os grain in sle11sp4 to be SUSE instead of SLES
333726
333727       · PR #28895:  (rallytime)  Back-port  #28823  to  2015.8  @  2015-11-15
333728         00:43:07 UTC
333729
333730         · PR  #28823:  (tampakrap)  Add support for priority and humanname in
333731           pkrepo zypper backend (refs: #28895)
333732
333733         · 64dc3c23e0 Merge pull request #28895 from rallytime/bp-28823
333734
333735         · d167a6b83d Add support for priority and humanname in pkrepo  zypper
333736           backend
333737
333738       · ISSUE  #28754:  (kt97679)  service.enabled fails on xen server (refs:
333739         #28885)
333740
333741       · PR #28885: (kt97679) fix for: service.enabled  fails  on  xen  server
333742         #28754 @ 2015-11-14 04:55:38 UTC
333743
333744         · a45ce78e20 Merge pull request #28885 from kt97679/2015.8
333745
333746         · 7d0f1f11cb fix for: service.enabled fails on xen server #28754
333747
333748       · PR   #28880:  (terminalmage)  Add  "profile"  loglevel  @  2015-11-14
333749         02:07:25 UTC
333750
333751         · 58b57e77be Merge pull request #28880 from terminalmage/profile-log‐
333752           ging
333753
333754         · a62852d407 Add @wraps decorator
333755
333756         · cac9f17307 Add profile logging for template rendering
333757
333758         · c625725f70 Add decorator to do profile-level logging for a function
333759
333760         · 5a2b94ce39 Add "profile" loglevel
333761
333762       · ISSUE  #28881:  (basepi)  salt-ssh  stacktraces  on  first run (refs:
333763         #28882)
333764
333765       · PR #28882: (basepi) [2015.8] salt-ssh: Check return type to make sure
333766         it's an error @ 2015-11-14 00:14:46 UTC
333767
333768         · 5dc7fccb07  Merge  pull  request #28882 from basepi/salt-ssh.stack‐
333769           trace.28881
333770
333771         · f1a1cad607 Check return type to make sure it's actually an error
333772
333773       · PR #28867: (rallytime) [fx2 grains] Grains  functions  should  return
333774         dictionaries @ 2015-11-13 21:14:13 UTC
333775
333776         · 430e9376f6     Merge    pull    request    #28867    from    rally‐
333777           time/fx2-grains-patch
333778
333779         · 022cf5d230 [fx2 grains] Grains functions should return dictionaries
333780
333781       · ISSUE #28859: (mhoogendoorn) ebuild.install  runs  refresh_db()  when
333782         refresh=False is given. (refs: #28863)
333783
333784       · PR #28863: (mhoogendoorn) Fix ebuild.install causing extra refresh_db
333785         calls.  @ 2015-11-13 18:46:03 UTC
333786
333787         · 304072456e   Merge    pull    request    #28863    from    mhoogen‐
333788           doorn/fix-issue-28859
333789
333790         · eca09b89a4 Fix ebuild.install causing extra refresh_db calls.
333791
333792   Salt 2015.8.4 Release Notes
333793       Version 2015.8.4 is a bugfix release for 2015.8.0.
333794
333795   Statistics
333796       · Total Merges: 322
333797
333798       · Total Issue References: 120
333799
333800       · Total PR References: 312
333801
333802       · Contributors:  78 (AkhterAli, DmitryKuzmenko, MadsRC, Oro, The-Loeki,
333803         abednarik, akissa, anlutro,  basepi,  bastiaanb,  bdrung,  borgstrom,
333804         cachedout,   clan,   clinta,   cournape,   cro,  ctrlrsf,  dmacvicar,
333805         dmurphy18,   dnd,   dr4Ke,   eliasp,    fcrozat,    frioux,    galet,
333806         garethgreenaway,  gqgunhed, gtmanfred, hexedpackets, isbm, jacksontj,
333807         jacobhammons,  jfindlay,  jleimbach,  job,  joejulian,   julianbrost,
333808         justinta,  kingsquirrel152,  kiorky,  l2ol33rt, lagesag, lorengordon,
333809         mbarrien, mpreziuso, multani, nmadhok, oeuftete,  opdude,  optix2000,
333810         pass-by-value,    paulnivin,   plastikos,   pritambaral,   rallytime,
333811         rasathus, rmatulat, ruxandraburtica, ryan-lane, s0undt3ch, seanjnkns,
333812         serge-p,   sjorge,   stanislavb,   tbaker57,  techhat,  terminalmage,
333813         thatch45,   thegoodduke,   thomaso-mirodin,   ticosax,    timcharper,
333814         tkunicki, trevor-h, twangboy, whiteinge, whytewolf)
333815
333816   Known Issues
333817       · *_in requisites (issue #30820)
333818
333819         This  issue  affects  all  users targeting an explicit - name: <name>
333820         with a _in requisite (such as watch_in or require_in). If you are not
333821         using explicit - name: <name> arguments, are targeting with the state
333822         ID instead of the name, or are not using  _in  requisites,  then  you
333823         should be safe to upgrade to 2015.8.4.
333824
333825         This issue is resolved in the 2015.8.5 release.
333826
333827   Security Fix
333828       CVE-2016-1866  Improper handling of clear messages on the minion, which
333829       could result in executing commands not sent by the master.
333830
333831       This issue affects only the 2015.8.x releases of Salt. In order for  an
333832       attacker  to  use this attack vector, they would have to execute a suc‐
333833       cessful attack on an existing TCP connection between minion and  master
333834       on  the  pub port. It does not allow an external attacker to obtain the
333835       shared secret or decrypt any encrypted traffic between minion and  mas‐
333836       ter.  Thank  you  to  Sebastian Krahmer <krahmer@suse.com> for bringing
333837       this issue to our attention.
333838
333839       We recommend everyone upgrade to 2015.8.4 as soon as possible.
333840
333841   Core Changes
333842       · Support for IAM roles added to S3 module
333843
333844       · Added option mock=True for state.sls and state.highstate. This allows
333845         the  state  compiler to process sls data in a state run without actu‐
333846         ally calling the state functions,  thus  providing  feedback  on  the
333847         validity  of  the arguments used for the functions beyond the prepro‐
333848         cessing validation provided by state.show_sls (issue #30118 and issue
333849         #30189).
333850
333851            salt '*' state.sls core,edit.vim mock=True
333852            salt '*' state.highstate mock=True
333853            salt '*' state.apply edit.vim mock=True
333854
333855   Changelog for v2015.8.3..v2015.8.4
333856       Generated at: 2018-05-27 23:28:18 UTC
333857
333858       · PR  #30615:  (jfindlay)  add  2015.8.4  release  notes  @  2016-01-25
333859         18:11:02 UTC
333860
333861         · 1c6c394d0e Merge pull request #30615 from jfindlay/2015.8
333862
333863         · e4043403e4 add 2015.8.4 release notes
333864
333865       · PR #30612:  (rallytime)  Back-port  #29940  to  2015.8  @  2016-01-25
333866         17:52:43 UTC
333867
333868         · PR #29940: (dr4Ke) file.line: better diff (refs: #30612)
333869
333870         · ec50581aad Merge pull request #30612 from rallytime/bp-29940
333871
333872         · 3ebb8249d7 file.line: better diff
333873
333874       · PR   #30613:  (basepi)  Fix  minion/syndic  clearfuncs  @  2016-01-25
333875         17:40:59 UTC
333876
333877         · 48373e0ea9 Merge  pull  request  #30613  from  basepi/minion_clear‐
333878           funcs_2015.8
333879
333880         · a3c3182f39 Correctly handle clearfuncs on the syndic
333881
333882         · 098ce4335d Correct handle clearfuncs on the minion
333883
333884       · ISSUE  #29601: (seanjnkns) pillars not merging properly with 2015.8.3
333885         (refs: #30062)
333886
333887       · PR #30609: (seanjnkns) Fix documentation for pillar_merge_lists which
333888         default is False, not … @ 2016-01-25 17:15:45 UTC
333889
333890         · PR #30062: (seanjnkns) Remove recurse_list from pillar_source_merg‐
333891           ing_strategy and add pilla… (refs: #30609, #30458)
333892
333893         · 89b4f3de1b Merge pull request #30609 from seanjnkns/backport_30602
333894
333895         · 9924acdc43 Fix documentation for pillar_merge_lists  which  default
333896           is False, not True.  From PR #30062
333897
333898       · PR  #30584:  (julianbrost) file.line state: add missing colon in doc‐
333899         string @ 2016-01-25 16:37:38 UTC
333900
333901         · 24ead62c41    Merge    pull    request    #30584    from    julian‐
333902           brost/fix-doc-file-line-missing-colon
333903
333904         · 2ab367f95b file.line state: add missing colon in docstring
333905
333906       · PR  #30589:  (terminalmage)  Merge  2015.5  into  2015.8 @ 2016-01-25
333907         16:20:41 UTC
333908
333909         · a7ba2df5e2   Merge   pull    request    #30589    from    terminal‐
333910           mage/2015.5-2015.8
333911
333912         · d649551fbf Merge branch '2015.5' into 2015.5-2015.8
333913
333914           · a823e21428  Merge pull request #30582 from terminalmage/dnf-repo‐
333915             query-multiple-targets
333916
333917             · 410da789f9 yumpkg.check_db:  run  separate  repoquery  commands
333918               when multiple names passed
333919
333920           · 8e56be7f4c Merge pull request #30548 from jacobhammons/doc-fixes
333921
333922             · 03c51bb54d   Added  placeholder  release  notes  for  2015.5.10
333923               Changed old doc links  from  docs.saltstack.org  to  docs.salt‐
333924               stack.com
333925
333926           · 1aafd4c5b5    Merge    pull   request   #30530   from   terminal‐
333927             mage/yumpkg-dnf-cleanup
333928
333929             · 2586f71bcf 2015.5 tweaks from #30529
333930
333931       · PR #30599: (multani)  Documentation  formatting  fixes  @  2016-01-25
333932         15:37:46 UTC
333933
333934         · 3a55d11916 Merge pull request #30599 from multani/fix/docs
333935
333936         · 038ecc4acd For doc formatting of salt.states.module
333937
333938         · 4062c63b9f Fix doc formatting for yaml_idiosyncrasies
333939
333940         · 6efb77bc04 Fix doc formatting of salt.modules.parted
333941
333942         · a329adfb21 Add missing salt.queues.* documentation
333943
333944         · 2465cf4ba5 Remove non-existing documentation
333945
333946         · 814e64c304 Fix documentation markup in salt.modules.osquery
333947
333948         · d2614d6169 Fix documentation markup for salt.modules.ipmi
333949
333950         · 276eb3a843 Fix GCE documentation
333951
333952       · ISSUE  #10157:  (martinb3)  salt-cloud actions don't have very useful
333953         error messages (refs: #30554)
333954
333955       · PR #30554: (rallytime) Make the salt-cloud actions output  more  ver‐
333956         bose and helpful @ 2016-01-22 20:23:18 UTC
333957
333958         · b1e604add3 Merge pull request #30554 from rallytime/fix-10157
333959
333960         · 6fa952f16d  Make  the  salt-cloud  actions  output more verbose and
333961           helpful
333962
333963       · PR #30549: (techhat) Salt Virt cleanup @ 2016-01-22 18:45:18 UTC
333964
333965         · 2eb5a3803d Merge pull request #30549 from techhat/virtcleanup
333966
333967         · 9baab73cd0 Fix copy pasta
333968
333969         · 6413c11f29 Salt Virt cleanup
333970
333971       · PR #30553: (techhat)  AWS:  Support  17-character  IDs  @  2016-01-22
333972         18:41:46 UTC
333973
333974         · f63b183e43 Merge pull request #30553 from techhat/awsid
333975
333976         · a95fbff4bc Support 17-character IDs
333977
333978       · PR  #30532: (whiteinge) Add execution module for working in sls files
333979         @ 2016-01-22 17:25:16 UTC
333980
333981         · 05d05263ab Merge pull request #30532 from whiteinge/slsutil-mod
333982
333983         · a57d9984e4 Add slsutil to doc index
333984
333985         · 155966c9d2 Add execution module for working in sls files
333986
333987       · PR #30529: (terminalmage) Merge 2015.5 into 2015.8 (refs:  #30530)  @
333988         2016-01-22 17:19:39 UTC
333989
333990         · 1da1bb9afc    Merge    pull    request    #30529   from   terminal‐
333991           mage/2015.5-2015.8
333992
333993         · e85ad690fb Lint fixes
333994
333995         · 43829ecee6 Docstring tweaks
333996
333997         · 92d5a2a49c Fix spelling
333998
333999         · fdc60fc04a  Modify  pkg.group_installed  to  reflect   changes   in
334000           yumpkg.py
334001
334002         · a118eb5d2e Merge branch '2015.5' into 2015.5-2015.8
334003
334004         · 7798d42272    Merge    pull    request    #30484   from   terminal‐
334005           mage/dnf-yumpkg-2015.5
334006
334007           · 330e26d1da Hide get_locked_packages
334008
334009           · 5a637420e8 Backport DNF support to 2015.5 branch
334010
334011       · PR #30526: (twangboy) Added FlushKey to make sure  it's  changes  are
334012         saved to disk @ 2016-01-22 02:33:13 UTC
334013
334014         · e366f6a7fd Merge pull request #30526 from twangboy/reg_flushkey
334015
334016         · 23085ffbbb  Added  FlushKey  to make sure it's changes are saved to
334017           disk
334018
334019       · PR #30521: (basepi) [2015.8] Merge forward from 2015.5  to  2015.8  @
334020         2016-01-21 23:05:03 UTC
334021
334022         · cdc731b8c5   Merge   pull  request  #30521  from  basepi/merge-for‐
334023           ward-2015.8
334024
334025         · f22f5ff851 Fix lint
334026
334027         · 117fb205de  Merge  remote-tracking  branch  'upstream/2015.5'  into
334028           merge-forward-2015.8
334029
334030           · b348f804b1 Merge pull request #30512 from jfindlay/repo_test
334031
334032             · 66f06f2bd3 disable pkgrepo test for ubuntu 15.10+
334033
334034           · a9348dfef8 Merge pull request #30478 from jtand/pip_8_update
334035
334036             · 6227368830 Convert version to int, instead of comparing strings
334037               to ints
334038
334039             · 20384a4810 Added InstallationError to except block
334040
334041             · baa274bca9 Updated pip_state to work with pip 8.0
334042
334043           · a30147c64f  Merge  pull  request  #30482   from   borgstrom/pyob‐
334044             jects_recursive
334045
334046             · 2c55a7580b Fixup lint errors
334047
334048             · b46df0e4b5 Allow recursive salt:// imports
334049
334050             · 51bfa16173  Add  test  to prove that recursive imports are cur‐
334051               rently broken
334052
334053           · 5c7cc51937 Merge pull request #30459 from jfindlay/pkg_tests
334054
334055             · fb9972f590 modules.pkg: disable repo int test for ubuntu 15.10
334056
334057           · dd2ceb4c07 Merge pull request #30443 from jtand/boto_vpc_5
334058
334059             · 2f77152479 Boto uses False for is_default instead of None
334060
334061           · 62d9dddced Merge pull request #30420 from attiasr/patch-1
334062
334063             · 4de343c5a1 Backport #26853
334064
334065       · PR #30485: (justinta) Updated pip_state  to  work  with  pip  8.0  on
334066         2015.8 @ 2016-01-21 22:55:38 UTC
334067
334068         · 019af349af Merge pull request #30485 from jtand/pip_8_update_2015.8
334069
334070         · 9cb17332fa Updated pip_state to work with pip 8.0 on 2015.8
334071
334072       · PR  #30494:  (isbm)  Zypper: info_installed — 'errors' flag change to
334073         type 'boolean' @ 2016-01-21 22:55:05 UTC
334074
334075         · 3259fde362  Merge   pull   request   #30494   from   isbm/isbm-zyp‐
334076           per-nfoinst-bool-fix
334077
334078         · 4d7659270e Place the boolean check
334079
334080         · 58db1c3b16 Fix typo
334081
334082         · 43254aa993 Update docstring according to the boolean flag
334083
334084         · a7d3e0d5ad Change 'errors' flag to boolean.
334085
334086       · PR  #30506:  (jacksontj)  Properly  remove newlines after reading the
334087         file @ 2016-01-21 22:53:57 UTC
334088
334089         · 596892326d Merge pull request #30506 from jacksontj/2015.8
334090
334091         · e1dea6f843 Properly remove newlines after reading the file
334092
334093       · ISSUE #30444: (dnd) Cloning linode server with salt-cloud fails  try‐
334094         ing to create disk config (refs: #30508)
334095
334096       · ISSUE  #30432:  (dnd)  Cloning linode server with salt-cloud requires
334097         payment term (refs: #30508)
334098
334099       · PR #30508: (rallytime) Fix  Linode  driver  cloning  functionality  @
334100         2016-01-21 22:53:36 UTC
334101
334102         · 15c7aedd46   Merge   pull   request   #30508   from  rallytime/lin‐
334103           ode-clone-fixes
334104
334105         · d26ed74bde Make sure  the  correct  profile  parameters  are  being
334106           checked when cloning
334107
334108         · 1d7e229377 Fix Linode driver cloning functionality.
334109
334110       · PR  #30522:  (terminalmage) Update git.list_worktree tests to reflect
334111         new return data @ 2016-01-21 22:34:20 UTC
334112
334113         · 79528c59c3 Merge pull request  #30522  from  terminalmage/fix-work‐
334114           tree-tests
334115
334116         · ea0ca70187 Add git.list_worktrees unit test
334117
334118         · 393015edbb Remove git.list_worktrees tests
334119
334120       · ISSUE  #30465:  (alandrees)  Nested  imports  with  pyobjects  (refs:
334121         #30483, #30482)
334122
334123       · PR  #30483:  (borgstrom)  Pyobjects  recursive  import  support  (for
334124         2015.8) @ 2016-01-21 15:55:27 UTC
334125
334126         · 119f025073   Merge   pull   request   #30483  from  borgstrom/pyob‐
334127           jects_recursive-2015.8
334128
334129         · 788b672e3a Fixup lint errors
334130
334131         · e148ea2d52 Allow recursive salt:// imports
334132
334133         · 6bbac64d3a Add test to prove that recursive imports  are  currently
334134           broken
334135
334136       · PR  #30491:  (jacksontj)  Add  multi-IP  support  to  network state @
334137         2016-01-21 15:51:42 UTC
334138
334139         · d8d19cf75d Merge pull request #30491 from jacksontj/2015.8
334140
334141         · 82213555ca Normalize yaml spacing to 2 space
334142
334143         · 3d1469b8d9 Add example of multiple addrs/ipv6addrs to docs
334144
334145         · 91c8a1b4e4 Add support for multiple IP addresses per  interface  to
334146           rh_ip
334147
334148       · PR  #30496:  (anlutro)  Fix  KeyError  when  adding ignored pillars @
334149         2016-01-21 15:51:03 UTC
334150
334151         · 56332ca504 Merge pull request  #30496  from  alprs/fix-ignored_pil‐
334152           lars_keyerror
334153
334154         · bbcb783621 fix KeyError when adding ignored pillars
334155
334156       · PR  #30359:  (kingsquirrel152) Removes suspected copy/paste error for
334157         zmq_filtering functionailty @ 2016-01-20 18:42:42 UTC
334158
334159         · e425cbd654  Merge  pull  request  #30359  from   distil/zmq_filter‐
334160           ing_bug_fix
334161
334162         · 44bfbbf15b Removes suspected copy/paste error.
334163
334164       · PR  #30448: (cournape) Fix osx scripts location @ 2016-01-20 17:59:29
334165         UTC
334166
334167         · 13add7d142    Merge    pull    request    #30448     from     cour‐
334168           nape/fix-osx-scripts-location
334169
334170         · 3c27ab5310  BUG:  fix osx .pkg script locations to match the .plist
334171           files.
334172
334173         · ed9ab68d3b BUG: fix missing sudo when linking certify cert.
334174
334175       · ISSUE #22820: (VynceMontgomery) some docs missing again  (cf  #22720)
334176         (refs: #30457)
334177
334178       · PR  #30457: (rallytime) Remove fsutils references from modules list @
334179         2016-01-20 16:43:50 UTC
334180
334181         · 2b7d20cee7 Merge pull request #30457 from rallytime/fix-22820
334182
334183         · 3288ff104d Remove fsutils references from modules list
334184
334185       · ISSUE #30442: (ssplatt) salt-cloud linode query only lists private or
334186         public IP, not both (refs: #30453)
334187
334188       · PR  #30453:  (rallytime)  Make sure private AND public IPs are listed
334189         for Linode driver @ 2016-01-20 16:41:51 UTC
334190
334191         · e706b71871 Merge pull request #30453 from rallytime/fix-30442
334192
334193         · a1f882f4fe Make sure private AND public IPs are listed  for  Linode
334194           driver
334195
334196       · ISSUE  #29601: (seanjnkns) pillars not merging properly with 2015.8.3
334197         (refs: #30062)
334198
334199       · PR #30458:  (rallytime)  Back-port  #30062  to  2015.8  @  2016-01-20
334200         16:40:23 UTC
334201
334202         · PR #30062: (seanjnkns) Remove recurse_list from pillar_source_merg‐
334203           ing_strategy and add pilla… (refs: #30609, #30458)
334204
334205         · 73f372dc98 Merge pull request #30458 from rallytime/bp-30062
334206
334207         · 9665d9655f Set (pillar_)merge_lists to default for PR #30062
334208
334209         · 7ea4dbf478 Fix lint for PR30062
334210
334211         · e44a30620b Remove recurse_list from  pillar_source_merging_strategy
334212           and add pillar_merge_list (bool) instead
334213
334214       · PR  #30468:  (timcharper) make note of s3 role assumption in upcoming
334215         changelog @ 2016-01-20 16:28:04 UTC
334216
334217         · c3fb4006b0 Merge pull request #30468 from timcharper/2015.8
334218
334219         · 721c1c871b make note of s3 role assumption in upcoming changelog
334220
334221       · PR #30470: (whiteinge)  Add  example  of  the  match_dict  format  to
334222         accept_dict wheel function @ 2016-01-20 16:26:16 UTC
334223
334224         · c611541916 Merge pull request #30470 from whiteinge/match_dict
334225
334226         · 5034e13f5d  Add  example  of  the  match_dict format to accept_dict
334227           wheel function
334228
334229       · ISSUE #28017: (ThomasZhou) Using salt-cloud nova driver, raise error:
334230         SaltNova'  object  has  no  attribute  '_discover_extensions'  (refs:
334231         #30450)
334232
334233       · PR  #30450:  (gtmanfred)  fix  extension  loading  in  novaclient   @
334234         2016-01-19 21:16:32 UTC
334235
334236         · d70e6b312a Merge pull request #30450 from gtmanfred/2015.8
334237
334238         · 4aa6faaf48 fix extension loading in novaclient
334239
334240       · ISSUE  #30150:  (rapenne-s) file.line reset permissions to 600 (refs:
334241         #30212, #30168)
334242
334243       · PR #30212: (abednarik) Fix incorrect file permissions in file.line  @
334244         2016-01-19 21:15:48 UTC
334245
334246         · 0af5e16809     Merge     pull    request    #30212    from    abed‐
334247           narik/fix_file_line_permissions
334248
334249         · dec15d1357 Fix incorrect file permissions in file.line
334250
334251       · ISSUE     #29918:     (WangWenchao)      UnicodeDecodeError      when
334252         saltutil.sync_modules   for  Windows   salt-minion   2015.8.3  (refs:
334253         #29947)
334254
334255       · PR #29947: (jfindlay) fileclient: decode  file  list  from  master  @
334256         2016-01-19 20:36:32 UTC
334257
334258         · 3c12b451fe Merge pull request #29947 from jfindlay/remote_decode
334259
334260         · b9241fb6b0 state: use simple string formatting for messages
334261
334262         · f6162f168c fileclient: decode file list from master
334263
334264       · ISSUE #30203: (terminalmage) Update salt.modules.git.list_worktrees()
334265         to use 'git worktree list' for Git >= 2.7.0 (refs: #30363)
334266
334267       · PR #30363: (terminalmage) Use native "list" subcommand  to  list  git
334268         worktrees @ 2016-01-19 20:35:41 UTC
334269
334270         · 6e8b1e89a5 Merge pull request #30363 from terminalmage/issue30203
334271
334272         · ee40491166 Fix redefined variable
334273
334274         · 5f95851987 Use native "list" subcommand to list git worktrees
334275
334276         · 911105f27c Fix incorrect missing gitdir file detection
334277
334278       · PR  #30445: (justinta) Boto uses False for is_default instead of None
334279         @ 2016-01-19 18:28:18 UTC
334280
334281         · dfb9dec84f Merge pull request #30445 from jtand/boto_vpc_8
334282
334283         · 00943ff1e6 Boto uses False for is_default instead of None
334284
334285       · PR  #30406:  (frioux)  Add  an  example  of  how  to  use   file.man‐
334286         aged/check_cmd @ 2016-01-19 18:23:49 UTC
334287
334288         · f9b3f3f038       Merge      pull      request      #30406      from
334289           ZipRecruiter/check-cmd-example
334290
334291         · 92e0d77a9a Add an example of how to use file.managed/check_cmd
334292
334293       · PR #30424: (isbm) Check if byte strings are properly encoded in UTF-8
334294         @ 2016-01-19 17:52:25 UTC
334295
334296         · 05ad3dcc94   Merge   pull   request   #30424   from  isbm/isbm-zyp‐
334297           per-utf-8-errors
334298
334299         · a0f263f411 Clarify the error message
334300
334301         · 12f8e93247 Update documentation accordingly.
334302
334303         · 1d384b6abd Add error handling to the RPM broken strings
334304
334305         · cf0dad3a6c Rename keywords arguments variable to a default name.
334306
334307         · 26aa801342 Check if byte strings are properly encoded in UTF-8
334308
334309       · ISSUE #30051: (joejulian) glusterfs.status fails with  glusterfs  3.7
334310         (refs: #30075)
334311
334312       · PR  #30405: (justinta) Updated glusterfs.py for python2.6 compatibil‐
334313         ity.  @ 2016-01-15 22:50:06 UTC
334314
334315         · PR #30075: (joejulian) Convert glusterfs module to use  xml  (refs:
334316           #30405)
334317
334318         · 1bace55e45 Merge pull request #30405 from jtand/glusterfs_py26
334319
334320         · a332e06c4a Fixed lint error
334321
334322         · 522b4990ef  Updated the rest of glusterfs.py for python2.6 compati‐
334323           bility
334324
334325         · 971ce58cd6 updated list_peers to be python2.6 compatible
334326
334327       · PR #30396: (pass-by-value) Remove hardcoded val @ 2016-01-15 22:03:53
334328         UTC
334329
334330         · cb1c0958bd       Merge      pull      request      #30396      from
334331           pass-by-value/remove_hardcoded_val
334332
334333         · dd90b325e7 Get vm info
334334
334335         · 9430ad1465 Remove hardcoded value
334336
334337       · PR #30391: (justinta) Added else statements @ 2016-01-15 19:17:55 UTC
334338
334339         · PR #30389: (justinta) Older versions of ipset  don't  support  com‐
334340           ments (refs: #30391)
334341
334342         · 60737c970e Merge pull request #30391 from jtand/ipset
334343
334344         · 345b056406 Fixed lint error
334345
334346         · c20f9b6a87 Added else statements
334347
334348       · ISSUE  #30277:  (webtrekker)  [salt-cloud]  Error actioning machines:
334349         'ascii' codec can't encode character u'\\xa0' in position  20  (refs:
334350         #30374)
334351
334352       · PR  #30375: (rallytime) Wrap formatted log statements with six.u() in
334353         cloud/__init__.py @ 2016-01-15 18:41:55 UTC
334354
334355         · PR #30374: (rallytime) Wrap formatted log statements  with  six.u()
334356           in the VMware module (refs: #30375)
334357
334358         · 6ac1f6cf54     Merge    pull    request    #30375    from    rally‐
334359           time/fix-cloud-log-formatting
334360
334361         · 5e7fb0c428  Wrap  formatted  log   statements   with   six.u()   in
334362           cloud/__init__.py
334363
334364       · PR  #30384:  (isbm) Bugfix: info_available does not work correctly on
334365         SLE 11 series @ 2016-01-15 18:31:57 UTC
334366
334367         · c478148b60  Merge   pull   request   #30384   from   isbm/isbm-zyp‐
334368           per-info-avaiable-fix
334369
334370         · c7bc20e865  Split information, that is compatible with the Zypper's
334371           output on SLE11.
334372
334373       · PR #30376: (pritambaral) Fix FLO_DIR  path  in  2015.8  @  2016-01-15
334374         18:25:49 UTC
334375
334376         · 9fe2df82bd Merge pull request #30376 from pritambaral/fix/flo-dir
334377
334378         · 534879e79f  Revert  "Raet  Salt broken when config moved to package
334379           directory"
334380
334381       · PR #30389: (justinta) Older versions of ipset don't support  comments
334382         (refs: #30391) @ 2016-01-15 17:41:02 UTC
334383
334384         · 3ac3804ddc Merge pull request #30389 from jtand/ipset
334385
334386         · fac6c3f6ae Fixed some typos from testing
334387
334388         · 67d4997316 Older versions of ipset don't support comments
334389
334390       · PR  #30373:  (basepi)  [2015.8] Merge forward from 2015.5 to 2015.8 @
334391         2016-01-15 16:23:38 UTC
334392
334393         · 4cc9422bf8  Merge  pull  request  #30373   from   basepi/merge-for‐
334394           ward-2015.8
334395
334396         · 5b53bf2597  Merge  remote-tracking  branch  'upstream/2015.5'  into
334397           merge-forward-2015.8
334398
334399           · 5a923b3aa9 Merge pull request #30364 from rallytime/fix-30341
334400
334401             · 79bcf151cb Add TLS version imports and add linode driver  docu‐
334402               mentation notices
334403
334404           · f037fd9c27 Merge pull request #30184 from rallytime/bp-30166
334405
334406             · fa6b1b3022  adding  split_env  call  to cp.hash_file to pick up
334407               saltenv in file query parameter
334408
334409           · 1d8413fd2f   Merge   pull   request    #30291    from    thegood‐
334410             duke/for_fix_ipset
334411
334412             · 62d6ccf561 ipset: fix test=true & add comment for every entry
334413
334414           · 92889db638 Merge pull request #30248 from jfindlay/2015.5
334415
334416             · 741f7aba31 add 2015.5.9 release notes
334417
334418           · 7a329d89d7    Merge    pull   request   #30237   from   jacobham‐
334419             mons/man-pages-prev
334420
334421             · 2431c4c5c3 Updated man page and doc conf.py copyright  year  to
334422               2016
334423
334424             · fe3da1c174 Updated man pages and doc version for 2015.5.9
334425
334426           · 2c0b725924   Merge   pull   request  #30207  from  rallytime/rab‐
334427             bitmq_states_doc_fix
334428
334429             · 8d48c24182 Use correct spacing in rabbitmq state examples
334430
334431           · b49cf910f4  Merge  pull  request  #30191  from  jacobhammons/ban‐
334432             ner-prev
334433
334434             · c3390955b0 Updated doc site banners
334435
334436       · PR  #30372:  (jacobhammons)  Updated  man pages for 2015.8.4, updated
334437         copyright to 2016 @ 2016-01-14 23:18:40 UTC
334438
334439         · a9edb194a4 Merge pull request #30372 from jacobhammons/man-pages
334440
334441         · 891ddafcba Updated man pages for  2015.8.4,  updated  copyright  to
334442           2016
334443
334444       · PR  #30370:  (rallytime)  Remove  incomplete  function  @  2016-01-14
334445         22:49:45 UTC
334446
334447         · e77585de17 Merge pull request #30370  from  rallytime/remove-incom‐
334448           plete-func
334449
334450         · e220fa5125 Remove incomplete function
334451
334452       · ISSUE  #23215:  (lichtamberg)  Rbenv: gem.installed not using correct
334453         ruby version if it's not default on 2015.02  (refs: #28702)
334454
334455       · PR #30366:  (rallytime)  Back-port  #28702  to  2015.8  @  2016-01-14
334456         21:10:03 UTC
334457
334458         · PR  #28702:  (dnd)  Pass  RBENV_VERSION  in  env  dict, and protect
334459           shlex.split (refs: #30366)
334460
334461         · eb1ecd9732 Merge pull request #30366 from rallytime/bp-28702
334462
334463         · 4f2274a275 Remove extra line
334464
334465         · 048b13cf73 Pass RBENV_VERSION in env dict, and protect shlex.split
334466
334467       · PR #30361: (cro) Flip the sense of the test for proxymodule  imports,
334468         add more fns for esxi proxy @ 2016-01-14 20:54:08 UTC
334469
334470         · 40594efc0b Merge pull request #30361 from cro/esxi-proxy2
334471
334472         · 8f7490ca98 Missed return statement.
334473
334474         · 389ede9e3e Lint
334475
334476         · 9db34d6ffe Lint
334477
334478         · b5c7a46f7a Lint
334479
334480         · 1a3b1f2626 Don't use short variables
334481
334482         · b80577182a Remove stub functions.
334483
334484         · 58f7fc3285 Don't use single character variables.
334485
334486         · e712664bcf Better comment.
334487
334488         · 9e9a37d0d4 Indentation.
334489
334490         · 6c9bf76e19 Revert earlier vmware change for ssl cert checking.
334491
334492         · db8a281ab8  Flip  the  sense  of  the test for items (modules, etc)
334493           loaded by the proxy.  Now load everything a  regular  minion  would
334494           load,  and  only check to make sure __proxyenabled__ is present for
334495           proxymodules and grains
334496
334497         · 00c4ef6ec2 Need a list
334498
334499         · 0da7a6d6d1 Recreate the pr
334500
334501       · PR #30267: (isbm) Fix RPM issues with the date/time and  add  package
334502         attributes filtering @ 2016-01-14 18:00:01 UTC
334503
334504         · f4118be6e4 Merge pull request #30267 from isbm/isbm-zypper-isotime‐
334505           fix
334506
334507         · 18281e7e0b Add "*time_t" as a separate attributes
334508
334509         · 4105157cfd Add *time_t to the docs
334510
334511         · 78e16a7b00 Construct RPM query dynamically
334512
334513         · 6992d74806 Update documentation for the valid package attributes
334514
334515         · 6710e4900d Use renamed variable (filter_attrs to attr)
334516
334517         · b68e1228e9 Remove unnecessary check for the "name" key
334518
334519         · e5b3e77186 Remove key transformations
334520
334521         · 9ac52c9123 Add zone to the ISO from unix time
334522
334523         · d352c08305 Fix lint: unused import
334524
334525         · d571381f76 Update the documentation for the Zypper module
334526
334527         · 5651a043e6 Update documentation for lowpkg
334528
334529         · 7edb0e8f3f Replace "*_date_iso" with "*_date" and use Unix time  as
334530           "*_date_time_t"
334531
334532         · b2b21f877a Add epoch (note: this is empty on SUSE systems)
334533
334534         · 0eebe10d9a Clarify description
334535
334536         · a745d9ecdf Fix syntax for the documentation in zypper module
334537
334538         · c95c2d24db Fix the documentation syntax
334539
334540         · 1fb84538b1 Update documentation
334541
334542         · 43ebff4dd7 Return build date in Unix ticks
334543
334544         · bdaa1e4d6e Add package architecture attribute
334545
334546         · ba64df4def Update documentation
334547
334548         · 6e3743dce6 Incorporate lowpkg.info into info_installed
334549
334550         · b72b8d5323 Fix the documentation
334551
334552         · 181314b20e Add filtering per attributes feature
334553
334554         · 39e70ef762  Fix ISO and Unix time of the package for RPM systems on
334555           C locale.
334556
334557       · ISSUE #30330: (JensRantil)  salt.state.file.absent  doesn't  document
334558         recursiveness (refs: #30360)
334559
334560       · PR #30360: (jfindlay) file.remove, file.absent: mention recursive dir
334561         removal @ 2016-01-14 17:30:26 UTC
334562
334563         · b61cb7a238 Merge pull request #30360 from jfindlay/remove_doc
334564
334565         · a21ccd2700 file.remove, file.absent: mention recursive dir removal
334566
334567       · ISSUE #26845: (maio) Postgres module (user_exists) doesn't work  with
334568         PostgreSQL 9.5 (refs: #30221)
334569
334570       · PR #30221: (mbarrien) No rolcatupdate for user_exist in Postgres>=9.5
334571         #26845 @ 2016-01-14 16:52:49 UTC
334572
334573         · ba8d128025 Merge pull request #30221 from mbarrien/postgres-9.5
334574
334575         · a8f2bc7998 No rolcatupdate for user_exist in Postgres>=9.5 #26845
334576
334577       · PR #30358: (terminalmage) Add libgit2 version  to  versions-report  @
334578         2016-01-14 16:37:28 UTC
334579
334580         · 4787c2c9ad Merge pull request #30358 from terminalmage/libgit2-ver‐
334581           sion
334582
334583         · 89fe571791 Add libgit2 version to versions-report
334584
334585       · PR #30346: (pass-by-value)  Prevent  orphaned  volumes  @  2016-01-14
334586         16:37:08 UTC
334587
334588         · af2ddfd31c       Merge      pull      request      #30346      from
334589           pass-by-value/aws_vols_attach
334590
334591         · 19fce03ee2 Prevent orphaned volumes
334592
334593       · PR #30349:  (rallytime)  Back-port  #30347  to  2015.8  @  2016-01-14
334594         16:26:37 UTC
334595
334596         · PR #30347: (rallytime) Merge #30231 with updates to dependency doc‐
334597           umentation (refs: #30349)
334598
334599         · PR #30231: (nmadhok) Fix issue where pyVmomi 6.0.0 raises SSL Error
334600           for systems using Python2.7+ (refs: #30347)
334601
334602         · bccb8f3b5b Merge pull request #30349 from rallytime/bp-30347
334603
334604         · df70afdaa3 Merge #30231 with updates to dependency documentation
334605
334606         · a7c2ad5505  Fix issue where pyVmomi 6.0.0 raises SSL Error for sys‐
334607           tems using Python2.7+
334608
334609       · PR #30354: (anlutro) Make sure all ignore_missing SLSes are catched @
334610         2016-01-14 16:24:19 UTC
334611
334612         · PR  #19429: (ryan-lane) Add new ignore_missing option to pillar top
334613           (refs: #30354)
334614
334615         · 7ee61f0d62  Merge   pull   request   #30354   from   alprs/fix-pil‐
334616           lar_ignore_missing
334617
334618         · 2f662bbc8d make sure all ignore_missing slses are catched
334619
334620       · PR #30356: (nmadhok) Adding code author @ 2016-01-14 16:23:08 UTC
334621
334622         · 4bdade6010 Merge pull request #30356 from nmadhok/patch-1
334623
334624         · 581e4f5dc7 Adding code author
334625
334626       · PR  #30340:  (justinta) Updated seed_test.py for changes made to seed
334627         module @ 2016-01-13 22:50:34 UTC
334628
334629         · d5b8776355 Merge pull request #30340 from jtand/seed_test_fix
334630
334631         · ee764ee952 Updated seed_test.py for changes made to seed module
334632
334633       · ISSUE #26478: (rasathus) nested upstart services  are  not  supported
334634         (refs: #26511)
334635
334636       · PR #30339: (jfindlay) Backport #26511 @ 2016-01-13 22:35:17 UTC
334637
334638         · PR  #26511:  (rasathus)  Adds support for nested upstart scripts in
334639           the form of subfolder/serv… (refs: #30339)
334640
334641         · 3bbed62d07 Merge pull request #30339 from jfindlay/bp-26511
334642
334643         · 89d9cd5e38 Adds support for nested upstart scripts in the  form  of
334644           subfolder/service.   This is implemented via an os.walk through the
334645           /etc/init folder, rather than the previous glob for *.conf method.
334646
334647       · ISSUE #28339: (boboli) salt-call state.highstate fails with  ZMQError
334648         when minion has no id set in /etc/salt/minion (refs: #28423, #28431)
334649
334650       · PR  #30343:  (rallytime)  Fix  2015.8  from  incomplete  back-port  @
334651         2016-01-13 21:56:26 UTC
334652
334653         · PR #30187: (rallytime) Back-port #27606 to 2015.8 (refs: #30343)
334654
334655         · PR #28431: (plastikos) Use a broader test  for  unset  "id"  (refs:
334656           #30343)
334657
334658         · PR  #28423:  (cachedout) Fix issue with empty str as default minion
334659           id (refs: #28431)
334660
334661         · PR #28189: (plastikos) Always  get  default  option  settings  from
334662           salt.config (refs: #30343, #28431)
334663
334664         · PR #28131: (cachedout) Set a fallback HWM (refs: #30343)
334665
334666         · PR  #27606:  (plastikos)  RFC: Add additional ZMQ tuning parameters
334667           necessary for 1k+ minions per master [WIP] (refs: #30343, #30187)
334668
334669         · 6079a96e6e Merge pull request #30343 from rallytime/fix-2015.8
334670
334671         · 5eef9d5067 Use a broader test for unset "id"
334672
334673         · 460a3c98cc Additional corrections to use option  defaults  directly
334674           from salt.config
334675
334676         · 4e53ef0bf6 Always get default option settings from salt.config
334677
334678         · 94ee6f88af Set a fallback HWM
334679
334680       · PR  #30342:  (eliasp) Correct whitespace placement in error message @
334681         2016-01-13 21:32:26 UTC
334682
334683         · 7276d808ff Merge pull request  #30342  from  eliasp/2015.8-log-mes‐
334684           sage-format
334685
334686         · 8e37e36ac7 Correct whitespace placement in error message
334687
334688       · ISSUE #30250: (mbarrien) npm.bootstrap state runs even when test=True
334689         (refs: #30257)
334690
334691       · PR #30308:  (rallytime)  Back-port  #30257  to  2015.8  @  2016-01-13
334692         19:20:13 UTC
334693
334694         · PR #30257: (abednarik) Add test in npm state. (refs: #30308)
334695
334696         · 10b5728f84 Merge pull request #30308 from rallytime/bp-30257
334697
334698         · 0b0d73756e Fix typos in nmp module.
334699
334700         · deeeb71dda Add test in npm state.
334701
334702       · PR  #30187:  (rallytime)  Back-port #27606 to 2015.8 (refs: #30343) @
334703         2016-01-13 19:03:11 UTC
334704
334705         · PR #27606: (plastikos) RFC: Add additional  ZMQ  tuning  parameters
334706           necessary for 1k+ minions per master [WIP] (refs: #30343, #30187)
334707
334708         · afa61c03db Merge pull request #30187 from rallytime/bp-27606
334709
334710         · 8ef6d6c6fd  Add  additional  ZMQ  tuning  parameters  necessary for
334711           1,000+ minions  per  server.  Start  collecting  tuning  parameters
334712           together in the master config file.
334713
334714       · PR  #30223:  (serge-p)  adding support for DragonFly BSD @ 2016-01-13
334715         18:24:29 UTC
334716
334717         · 7e89a460e4 Merge pull request #30223 from serge-p/patch-11
334718
334719         · ec798acbcd Update pkgng.py
334720
334721         · 45206dfe3d adding support for DragonFly BSD
334722
334723       · ISSUE #28396: (ymote) salt-cloud parallel  provisioning  (-P  option)
334724         failed on 2015.8.1 (refs: #30238)
334725
334726       · ISSUE #23824: (kiorky) salt.crypt broken in develop (refs: #23825)
334727
334728       · PR #30238: (rallytime) Reinit crypto before calling RSA.generate when
334729         generating keys.  @ 2016-01-13 18:22:11 UTC
334730
334731         · PR #23825: (kiorky) Fix crypto (refs: #30238)
334732
334733         · 5a8da62008 Merge pull request #30238 from rallytime/fix-28396
334734
334735         · 41d9df45bb Reinit crypto before calling RSA.generate when  generat‐
334736           ing keys.
334737
334738       · ISSUE  #24237:  (Grokzen)  Minion  schedule  return data missing some
334739         fields (refs: #30246)
334740
334741       · PR #30246: (dmacvicar) Add missing return data to scheduled  jobs  (‐
334742         #24237) @ 2016-01-13 17:51:49 UTC
334743
334744         · 15707e0ac8       Merge      pull      request      #30246      from
334745           dmacvicar/dmacvicar-2015.8-24237
334746
334747         · c462139dbb lint: E8713(test-for-membership-should-be-not-in)
334748
334749         · 5a1b2ca486 include the 'success' field  in  scheduled  jobs  return
334750           data (part of #24237)
334751
334752         · f72a4ca42d  add  retcode  to  scheduled  jobs  return data (part of
334753           #24237)
334754
334755       · PR #30292: (thegoodduke) ipset: fix test=true & add comment for every
334756         entry @ 2016-01-13 17:49:16 UTC
334757
334758         · PR #30170: (thegoodduke) ipset: fix comment and test (refs: #30291,
334759           #30292)
334760
334761         · 8706720148 Merge pull request #30292 from thegoodduke/fix_ipset
334762
334763         · 49d70bff16 ipset: fix test=true & add comment for every entry
334764
334765       · ISSUE #30240: (snw1968) firewalld inconsistent permanent option  used
334766         for services but not ports - other options required (refs: #30275)
334767
334768       · PR  #30275:  (abednarik)  Add  permanent  argument  in  firewalld.  @
334769         2016-01-13 17:44:43 UTC
334770
334771         · ea607675f5  Merge  pull  request  #30275  from  abednarik/fix_fire‐
334772           walld_ports_permanent
334773
334774         · e3d4bf51da Add permanent argument in firewalld.
334775
334776       · PR #30328: (cachedout) Fix file test @ 2016-01-13 17:42:22 UTC
334777
334778         · f02db44757 Merge pull request #30328 from cachedout/fix_file_test
334779
334780         · dcfba51556 Lint
334781
334782         · b9921128af Kill pointless tests
334783
334784         · 63c157d0a3 Fix test_managed
334785
334786       · PR #30310: (pass-by-value) Empty bucket fix @ 2016-01-13 17:30:45 UTC
334787
334788         · edd94aea2c       Merge      pull      request      #30310      from
334789           pass-by-value/empty_bucket_fix
334790
334791         · aef5a8898c Add fix for else code path
334792
334793         · 9398c44945 Check and report empty S3 bucket
334794
334795       · PR #30211: (techhat) Execute choot on the correct path  @  2016-01-13
334796         16:53:40 UTC
334797
334798         · f23f0f30d4 Merge pull request #30211 from techhat/tmppath
334799
334800         · 11ac2ff0bf  Revert  "We're  putting  the keys directly in place; -c
334801           isn't used"
334802
334803         · e75b48f5ff We're putting the keys directly in place; -c isn't used
334804
334805         · 5d7a0f6d81 Execute choot on the correct path
334806
334807       · ISSUE #30286: (tkunicki) salt-cloud ec2 spot requests fail with user‐
334808         data_file in config or profile (refs: #30304)
334809
334810       · PR  #30309:  (rallytime)  Back-port  #30304  to  2015.8  @ 2016-01-13
334811         16:41:53 UTC
334812
334813         · PR #30304: (tkunicki) add  spot_prefix  to  UserData  param  (refs:
334814           #30309)
334815
334816         · 5154c71127 Merge pull request #30309 from rallytime/bp-30304
334817
334818         · 4a8cc87b47 add spot_prefix to UserData param
334819
334820       · PR  #30278:  (nmadhok) If datacenter is specified in the config, then
334821         look for managed objects under it @ 2016-01-13 15:29:36 UTC
334822
334823         · 1624d6cebd Merge  pull  request  #30278  from  nmadhok/2015.8-same‐
334824           name-objects-fix
334825
334826         · b0e86afa00  get_mor_by_property  needs  container_ref to be a posi‐
334827           tional parameter
334828
334829         · 56dfc63f91 If datacenter is specified,  start  all  searches  under
334830           datacenter
334831
334832         · fcf77b738e If datacenter is specified then look under it instead of
334833           looking under inventory root folder
334834
334835       · PR #30305: (jacobhammons) Changed examples to use  the  "example.com"
334836         domain instead of "mycompan… @ 2016-01-12 20:42:10 UTC
334837
334838         · fc9304f7f8   Merge  pull  request  #30305  from  jacobhammons/exam‐
334839           ple-domain
334840
334841         · 53d17f1f85 Changed examples to use the "example.com" domain instead
334842           of "mycompany.com" or "company.com"
334843
334844       · PR  #30249:  (mpreziuso)  Fixes  performance  and  timeout  issues on
334845         win_pkg.install @ 2016-01-12 20:14:54 UTC
334846
334847         · 3bd02a898f Merge pull request #30249 from mpreziuso/patch-2
334848
334849         · d6e6e10534 Fixes lint issues
334850
334851         · 3251424838 Fixes performance and timeout issues on win_pkg.install
334852
334853       · PR #30217: (pass-by-value) Make sure cloud actions can be called  via
334854         salt run @ 2016-01-12 20:11:13 UTC
334855
334856         · 461a741e14       Merge      pull      request      #30217      from
334857           pass-by-value/cloud_actions_dispatch
334858
334859         · 1f68ce05bc Fix pylint error
334860
334861         · d5b1b60b99 Add CLI Example
334862
334863         · 5264449fdb Make sure cloud actions can be called via salt run
334864
334865       · ISSUE #9569: (clearclaw) How can a binary file,  such  as  a  license
334866         key, be distributed via Pillar? (refs: #30268)
334867
334868       · PR  #30268:  (terminalmage)  Optimize file_tree ext_pillar and update
334869         file.managed to allow for binary contents @ 2016-01-12 20:09:19 UTC
334870
334871         · 4a6b53f329 Merge pull request #30268 from terminalmage/issue9569
334872
334873         · 724b2f36ce Add  file_tree/file.managed/contents_pillar  example  to
334874           FAQ
334875
334876         · 854c7d9978 Remove old FAQ item referencing gitfs bug in 0.16.x
334877
334878         · e9a6d709f9 salt.states.file.managed: Allow for binary contents
334879
334880         · 1ba448b619 salt.pillar.file_tree: Optimizations, deprecate raw_data
334881
334882         · 650cc0af5c salt.modules.file: Improve docstrings
334883
334884       · ISSUE  #29078:  (Reiner030)  boto_secgroup didn't work as expected in
334885         Debian Jessie (refs: #30155)
334886
334887       · PR #30245:  (rallytime)  Boto  secgroup/iam_role:  Add  note  stating
334888         us-east-1 is default region @ 2016-01-12 20:04:31 UTC
334889
334890         · PR  #30155: (rallytime) Update boto_secgroup and boto_iam_role docs
334891           to only use region OR profile (refs: #30245)
334892
334893         · dbe7bcdc9a  Merge  pull  request  #30245  from   rallytime/botosec‐
334894           group-docs
334895
334896         · 406a138f76  Boto  secgroup/iam_role:  Add note stating us-east-1 is
334897           default region
334898
334899       · PR #30299: (rallytime) ESXi  Proxy  minions  states  are  located  at
334900         salt.states.esxi, not vsphere.  @ 2016-01-12 20:03:31 UTC
334901
334902         · 6b183778f1     Merge    pull    request    #30299    from    rally‐
334903           time/esxi-proxy-doc-fix
334904
334905         · db68fc48a8 Fix CLI Example syntax
334906
334907         · 1cb9f29798   ESXi   Proxy   minions   states   are    located    at
334908           salt.states.esxi, not vsphere.
334909
334910       · PR  #30202:  (opdude) Fixed the periodic call to beacons @ 2016-01-12
334911         19:58:44 UTC
334912
334913         · 903289d3fb Merge pull request #30202  from  Unity-Technologies/hot‐
334914           fix/beacon_periodic
334915
334916         · ea7a86fa7d Fixed the periodic call to beacons
334917
334918       · PR  #30303:  (jacobhammons)  Changed notes to indicate that functions
334919         are matched using regular ex… @ 2016-01-12 19:15:16 UTC
334920
334921         · 48d2bd9e78 Merge pull request #30303 from jacobhammons/pcre-match
334922
334923         · e5079ab4c9 Changed notes to indicate  that  functions  are  matched
334924           using regular expressions instead of minions
334925
334926       · ISSUE #29684: (snarfmonkey) Upgrade from 2015.8.1 to 2015.8.3 via apt
334927         for Ubuntu 14.04 causes Dulwich-backed gitfs to stop  working  (refs:
334928         #30284)
334929
334930       · PR #30284: (terminalmage) salt.utils.gitfs: Fix Dulwich env detection
334931         and submodule handling @ 2016-01-12 19:11:36 UTC
334932
334933         · 675ac4b43f Merge pull request #30284 from terminalmage/issue29684
334934
334935         · a746014f7e salt.utils.gitfs: Fix Dulwich env detection and  submod‐
334936           ule handling
334937
334938       · PR #30280: (jfindlay) add state mocking to release notes @ 2016-01-12
334939         19:10:40 UTC
334940
334941         · 8f65e822d7 Merge pull request #30280 from jfindlay/state_mock_doc
334942
334943         · 22c1129f02 modules.state.sls,highstate: mock versionadded
334944
334945         · 934de30939 add state mock to 2015.8.4 release notes
334946
334947       · ISSUE #30117: (MadsRC) Service beacons fails with Stacktraces  (refs:
334948         #30121)
334949
334950       · PR  #30273:  (rallytime)  Back-port  #30121  to  2015.8  @ 2016-01-12
334951         19:10:16 UTC
334952
334953         · PR #30121: (MadsRC) Patch for issue  #30117 (refs: #30273)
334954
334955         · c9ade42d10 Merge pull request #30273 from rallytime/bp-30121
334956
334957         · c8c30f2105 I fail at linting... Fixed my uppercase/lowercase  prob‐
334958           lem
334959
334960         · 0877b33026 Fixed some linting issues
334961
334962         · 8ec36497a1 Added note about systemd and uncleanshutdown. Also fixed
334963           line lenght of comments to max 80 characters as per PEP0008
334964
334965         · a50428d02c On an unclean shutdown, if oncleanshutdown  is  given  a
334966           path,  an  keyy:value  of shutdown:unclean is added to the returned
334967           data. The documentation states that the key should be 'uncleanshut‐
334968           down'  and  that  the value should either be True or False. This is
334969           fixed in the code
334970
334971         · 51b57f1820 Fixed issue number #30117 - When no parameters are given
334972           to  a  service,  the  service object is of type None and thus isn't
334973           iterable. This is contrary to the documentation which  states  that
334974           there are default values. Default values added as False
334975
334976       · PR #30301: (cachedout) Accept whatever comes into hightstate mock for
334977         state tests @ 2016-01-12 18:33:14 UTC
334978
334979         · 3a5a84a790 Merge pull request #30301 from cachedout/fix_state_tests
334980
334981         · 2c62b464b1 Accept whatever comes into  hightstate  mock  for  state
334982           tests
334983
334984       · ISSUE  #28586:  (zmalone)  file.append does not differentiate between
334985         tabs and spaces (refs: #30156)
334986
334987       · PR #30282: (cachedout) Fix file.append logic  @  2016-01-12  18:27:30
334988         UTC
334989
334990         · PR  #30156:  (abednarik) Add option in file.append to ignore_white‐
334991           space. (refs: #30282)
334992
334993         · 8438d19815 Merge pull request #30282 from cachedout/fix_30156
334994
334995         · 3f633ff15e Lint
334996
334997         · 99dd11dec2 Remove debugging
334998
334999         · 35ef585c54 Fix logic error in file.append
335000
335001       · PR #30289: (cro) Fix problems with  targeting  proxies  by  grains  @
335002         2016-01-12 18:16:57 UTC
335003
335004         · 530c9ec6ec Merge pull request #30289 from cro/proxy_grains_fix
335005
335006         · 8362d76440 Add comments.
335007
335008         · 4e50962642  Merge  branch 'proxy_grains_fix' of github.com:cro/salt
335009           into proxy_grains_fix
335010
335011           · 61bb6a9a14 Lint.
335012
335013           · 7c35333509 Force a grains sync after we load the proxy's grains.
335014
335015           · 2855ba7da5 Disallow non-proxyenabled modules and grains
335016
335017         · 8fd8f3beb7 Lint.
335018
335019         · 144fea02e5 Force a grains sync after we load the proxy's grains.
335020
335021         · 5ecf85017b Disallow non-proxyenabled modules and grains
335022
335023       · PR #30293: (cro) Ensure we don't log stuff we shouldn't @  2016-01-12
335024         18:04:25 UTC
335025
335026         · 75b83453cf Merge pull request #30293 from cro/proxy_log_cleanup
335027
335028         · b358fe370c  Merge remote-tracking branch 'origin/proxy_log_cleanup'
335029           into proxy_log_cleanup
335030
335031           · c9a5680427 Add unused 'output_loglevel' kwarg. This is  here  for
335032             when  we  alias cmd.run_all directly to _run_all_quiet in certain
335033             chicken-and-egg situations where modules need to work both before
335034             and after the __salt__ dictionary is populated (cf dracr.py).
335035
335036           · 8c46de12e4 Ensure we don't log stuff we shouldn't.
335037
335038         · 3267d92216  Add  unused  'output_loglevel'  kwarg. This is here for
335039           when we alias cmd.run_all directly  to  _run_all_quiet  in  certain
335040           chicken-and-egg  situations  where modules need to work both before
335041           and after the __salt__ dictionary is populated (cf dracr.py).
335042
335043         · 6a86bdc6da Ensure we don't log stuff we shouldn't.
335044
335045       · PR #30279: (cachedout) Allow modules to be packed into boto  utils  @
335046         2016-01-12 16:53:54 UTC
335047
335048         · 46681658e0 Merge pull request #30279 from cachedout/boto_pack
335049
335050         · 11d27ba694 Mock config module in utils test
335051
335052         · 62a1818287 Lint
335053
335054         · cf440036dd Remove unused import
335055
335056         · 36d55ea0ad Allow modules to be packed into boto utils
335057
335058       · ISSUE #29951: (Reiner030) boto_ec2 params needed (refs: #30186)
335059
335060       · PR  #30186:  (rallytime)  Update  CLI  Examples in boto_ec2 module to
335061         reflect correct arg/kwarg positioning @ 2016-01-08 19:00:45 UTC
335062
335063         · 54b9641330 Merge pull request #30186 from rallytime/fix-29951
335064
335065         · a943b505cc Update CLI Examples in boto_ec2 module to  reflect  cor‐
335066           rect arg/kwarg positioning
335067
335068       · ISSUE  #28586:  (zmalone)  file.append does not differentiate between
335069         tabs and spaces (refs: #30156)
335070
335071       · PR #30156: (abednarik) Add option  in  file.append  to  ignore_white‐
335072         space. (refs: #30282) @ 2016-01-08 16:07:23 UTC
335073
335074         · 1256fd11e1  Merge  pull request #30156 from abednarik/ignore_white‐
335075           space_file_append
335076
335077         · af68086e5c Add option in file.append to ignore_whitespace.
335078
335079       · PR #30189:  (rallytime)  Back-port  #30185  to  2015.8  @  2016-01-07
335080         23:32:05 UTC
335081
335082         · PR #30185: (cachedout) Fix #30118 (refs: #30189)
335083
335084         · PR #30118: (thatch45) State mock (refs: #30185, #30189)
335085
335086         · ad7522c98d Merge pull request #30189 from rallytime/bp-30185
335087
335088         · 70681bf03b Fix for mock state PR #30118
335089
335090         · f9480f66d8 change arg to mocked to try test suite collision fix
335091
335092         · 2fbdcda703 fix some typos
335093
335094         · 6f757b8c81 Add Mock to state.sls
335095
335096         · fb0cbd185e fix issue where the name may be in 2 places
335097
335098         · 5f0326e521 Start on the state mock system
335099
335100       · ISSUE  #9319:  (gravyboat)  Update Reactor docs with an example using
335101         salt-cloud from the commandline. (refs: #30215)
335102
335103       · ISSUE #8146: (basepi) Make implications of  extra  accepted  keys  on
335104         timeouts more obvious (refs: #30215)
335105
335106       · ISSUE #6853: (Psycojoker) Salt formulas should be way more visible in
335107         the documentation (refs: #30215)
335108
335109       · ISSUE #4381: (mlister2006) peer_run: glob, pcre matching. Better docs
335110         (refs: #30215)
335111
335112       · ISSUE  #2229:  (alekibango)  how to debug zeromq problem with hanging
335113         salt communication? (refs: #30215)
335114
335115       · ISSUE #15042: (cvrebert) percent signs not escaped in  cron  commands
335116         (refs: #30215)
335117
335118       · ISSUE  #14946:  (ryan-lane)  reload_modules  not documented in global
335119         state arguments documentation (refs: #30215)
335120
335121       · ISSUE #13777: (gravyboat) Update top module docs  with  more  concise
335122         examples (refs: #30215)
335123
335124       · ISSUE #13036: (tminn) salstack tomcat module  (refs: #30215)
335125
335126       · PR  #30215:  (jacobhammons)  Assorted  doc  bug  fixes  @  2016-01-07
335127         21:53:27 UTC
335128
335129         · 8f30f7045a Merge pull request #30215 from jacobhammons/doc-issues
335130
335131         · 44ce704206 Updated zmq_monitor docs
335132
335133         · 0d2111d397 Assorted doc bug fixes
335134
335135       · ISSUE #30204: (anlutro) salt  can't  find  local  cache  return  file
335136         (refs: #30206)
335137
335138       · PR  #30206:  (cachedout)  Revert  "Fix  incorrect file permissions in
335139         file.line" @ 2016-01-07 17:55:48 UTC
335140
335141         · 2000800915 Merge pull request #30206 from cachedout/revert_30168
335142
335143         · ee786293e7 Revert "Fix incorrect file permissions in file.line"
335144
335145       · PR #30190: (jacobhammons)  Updated  doc  site  banners  @  2016-01-06
335146         22:37:34 UTC
335147
335148         · 5632ccb796 Merge pull request #30190 from jacobhammons/banners
335149
335150         · 266023baf1 Updated doc site banners
335151
335152       · ISSUE  #30171:  (jamusj)  Python  2.7  dependency  in  x509.py (refs:
335153         #30180)
335154
335155       · PR #30180: (jfindlay) modules.x509._dec2hex: add fmt  index  for  2.6
335156         compat @ 2016-01-06 19:48:50 UTC
335157
335158         · 9a83247992 Merge pull request #30180 from jfindlay/2.7x509
335159
335160         · 907469d04a modules.x509._dec2hex: add fmt index for 2.6 compat
335161
335162       · PR   #30179:  (terminalmage)  Backport  #26962  to  2015.8  branch  @
335163         2016-01-06 19:48:30 UTC
335164
335165         · PR #26962: (ctrlrsf) Add --state-verbose  command  line  option  to
335166           salt cmd (refs: #30179)
335167
335168         · 6516d5b5d0 Merge pull request #30179 from terminalmage/bp-26962
335169
335170         · 08f2021f52 Fix pylint warnings: unnecessary parens after if keyword
335171
335172         · a2ec721661 Add --state-verbose command line option to salt cmd
335173
335174       · ISSUE #29654: (schaarsc) ssh_auth should report missing source (refs:
335175         #29693)
335176
335177       · PR #29693: (abednarik) Handle missing source  file  in  ssh_auth.   @
335178         2016-01-06 17:13:06 UTC
335179
335180         · 27df7276bc  Merge  pull  request #29693 from abednarik/handle_miss‐
335181           ing_source_in_ssh_auth
335182
335183         · fc024e3cf4 Handle missing source file in ssh_auth.
335184
335185       · ISSUE #29078: (Reiner030) boto_secgroup didn't work  as  expected  in
335186         Debian Jessie (refs: #30155)
335187
335188       · PR #30155: (rallytime) Update boto_secgroup and boto_iam_role docs to
335189         only use region OR profile (refs: #30245) @ 2016-01-06 17:09:50 UTC
335190
335191         · f9863dd9fb  Merge  pull  request  #30155  from  rallytime/boto-sec‐
335192           group-docfix
335193
335194         · f0381a955f  Update boto_secgroup and boto_iam_role docs to only use
335195           region OR profile.
335196
335197       · ISSUE #29905: (Reiner030) pillar referencing for boto profiles  seems
335198         not completely working right / docu missing (refs: #30158)
335199
335200       · PR  #30158:  (rallytime)  Move _option(value) calls to __salt__['con‐
335201         fig.option'] in boto utils @ 2016-01-06 16:35:59 UTC
335202
335203         · e36e8e2e73 Merge pull request #30158 from rallytime/fix-29905
335204
335205         · 3321c5d408 Move _option(value) calls  to  __salt__['config.option']
335206           in boto utils
335207
335208       · ISSUE #29770: (Ch3LL) disk.usage does not work on AIX (refs: #30160)
335209
335210       · PR #30160: (dmurphy18) Fix parsing disk usage for line with no number
335211         and AIX values in Kilos @ 2016-01-06 16:34:45 UTC
335212
335213         · ec009a6812 Merge pull request #30160 from saltstack/aix_dskusage
335214
335215         · 8450df0483 Fix parsing disk usage for line with no number  and  AIX
335216           values in Kilos
335217
335218       · ISSUE  #29919:  (abcfy2)  State  grains.append  cannot  append  to  a
335219         non-exist grain name. (refs: #30162)
335220
335221       · PR #30162: (rallytime) Update list_present and  append  grains  state
335222         function docs to be more clear.  @ 2016-01-06 16:33:25 UTC
335223
335224         · f808ffbbbd Merge pull request #30162 from rallytime/fix-29919
335225
335226         · 9bbd129c60  Update  list_present  and  append grains state function
335227           docs to be more clear
335228
335229       · ISSUE #28923: (aabognah) passing argument  with  '=no'  to  file.line
335230         (refs: #30163)
335231
335232       · PR #30163: (rallytime) Add warning about using "=" in file.line func‐
335233         tion @ 2016-01-06 16:32:39 UTC
335234
335235         · 83245930a6 Merge pull request #30163 from rallytime/fix-28923
335236
335237         · 0e4f91fca2 Add warning about using "=" in file.line function
335238
335239       · PR #30164: (basepi) [2015.8] Merge forward from 2015.5  to  2015.8  @
335240         2016-01-06 16:28:59 UTC
335241
335242         · 106efd258a   Merge   pull  request  #30164  from  basepi/merge-for‐
335243           ward-2015.8
335244
335245         · d73a7d6c4d  Merge  remote-tracking  branch  'upstream/2015.5'  into
335246           merge-forward-2015.8
335247
335248           · 9363d6f5b6    Merge    pull    request    #30125    from    abed‐
335249             narik/update_user_home
335250
335251             · 56544a77f6 Update user home event when  createhome  is  set  to
335252               False
335253
335254           · 1a5d585d91 Merge pull request #30127 from jsutton/clarify-docume‐
335255             nation-for-random_master
335256
335257             · 01dbf385ef Adding random_master to reference and updating  mas‐
335258               ter_shuffle. Adding master_shuffle to the minion example config
335259               file as it is needed for multi-master PKI.
335260
335261           · 28b1bbbe77 Merge pull request #30110  from  markckimball/fix-ver‐
335262             ify_ssl-in-joyent-cloud
335263
335264             · e1c08cb269 Fixed flag sent to salt.utils.http in order for ver‐
335265               ify_ssl to work appropriately.
335266
335267           · 040412b0b1 Merge pull request #30093 from zmalone/pillar-notes
335268
335269             · cfbfd58afe Noting that file_roots and "state tree" should  both
335270               be  avoided,  because  in  some environments, the actual states
335271               show up another level down.  Adding notes  about  why  this  is
335272               undesirable.
335273
335274           · 25edefc93a Merge pull request #30097 from cachedout/note_on_pass‐
335275             word_process_list
335276
335277             · 58aec884ef Note concern about cleartext password  in  docs  for
335278               shadow.gen_password
335279
335280           · 6b1c3a6bf2 Merge pull request #30089 from mpreziuso/patch-1
335281
335282             · 50533add40  Fixes  terminology  and  adds more accurate details
335283               about the algorithms
335284
335285           · 200d09385d Merge pull request #30086 from cachedout/issue_29921
335286
335287             · 8c29e2dd6a Document that gitfs needs recent libs
335288
335289           · 404414bf57 Merge pull request #30070 from cachedout/issue_27835
335290
335291             · 60431e342a Add documentation on debugging salt-ssh
335292
335293       · ISSUE #30150: (rapenne-s) file.line reset permissions to  600  (refs:
335294         #30212, #30168)
335295
335296       · PR  #30168: (abednarik) Fix incorrect file permissions in file.line @
335297         2016-01-06 16:25:08 UTC
335298
335299         · e5d87a02b9 Merge pull request #30168 from abednarik/2015.8
335300
335301         · 79daa25a15 Fix incorrect file permissions in file.line
335302
335303       · PR #30154: (Oro) Fix file serialize on windows @ 2016-01-05  18:08:40
335304         UTC
335305
335306         · bed38d1a65  Merge  pull  request  #30154  from Oro/fix-file-serial‐
335307           ize-windows
335308
335309         · 071a675f8a Fix file serialize on windows
335310
335311       · PR #30144: (rallytime) Added generic ESXCLI command ability  to  ESXi
335312         Proxy Minion @ 2016-01-05 16:23:38 UTC
335313
335314         · 7d51d8bb46  Merge  pull  request #30144 from rallytime/vsphere-esx‐
335315           cli-cmd
335316
335317         · 2f9ec5db96 Added generic ESXCLI command ability to ESXi Proxy  Min‐
335318           ion
335319
335320       · ISSUE  #29994:  (adithep)  dockerng.push  should not auto tag :latest
335321         (refs: #30142)
335322
335323       · ISSUE #29993: (adithep) Dockerng as a whole is not compatible with v2
335324         registries. (refs: #30142)
335325
335326       · PR  #30142:  (terminalmage) Fix dockerng.push, and allow for multiple
335327         images @ 2016-01-04 22:53:50 UTC
335328
335329         · 1a21b3d46b Merge pull request #30142 from terminalmage/issue29994
335330
335331         · 66698986e4 Fix dockerng.push, and allow for multiple images
335332
335333       · ISSUE #30051: (joejulian) glusterfs.status fails with  glusterfs  3.7
335334         (refs: #30075)
335335
335336       · PR  #30075:  (joejulian)  Convert  glusterfs module to use xml (refs:
335337         #30405) @ 2016-01-04 20:33:58 UTC
335338
335339         · 5419699bd2   Merge   pull   request    #30075    from    iodatacen‐
335340           ters/2015.8_gluster_usexml
335341
335342         · 01a8e7ee10 Convert glusterfs module to use xml
335343
335344       · PR #30129: (optix2000) Clean up _uptodate() in git state @ 2016-01-04
335345         20:23:18 UTC
335346
335347         · a6d94358ed Merge pull request #30129 from optix2000/2015.8
335348
335349         · c68ea6332a No point to recast comments  to  a  string.  _uptodate()
335350           should only accept strings for comments.
335351
335352         · 6c5bac4909 Properly fix concat list issue in git state.
335353
335354       · ISSUE  #28814:  (peter-slovak)  The  "virtual"  grain  detection with
335355         virt-what on LXC incorrectly yields "physical" (refs: #29589)
335356
335357       · PR #30139:  (rallytime)  Back-port  #29589  to  2015.8  @  2016-01-04
335358         20:22:47 UTC
335359
335360         · PR #29589: (abednarik) Added lxc in virt-what list. (refs: #30139)
335361
335362         · 68dfa0f5de Merge pull request #30139 from rallytime/bp-29589
335363
335364         · 2c73990ff2 Added lxc in virt-what list.
335365
335366       · ISSUE  #29833: (iMilnb) salt minion won't start: Non valid IP address
335367         match on BSD alias format (refs: #30124)
335368
335369       · PR #30124: (abednarik) Update regex to detect ip alias in OpenBSD.  @
335370         2016-01-04 19:48:28 UTC
335371
335372         · dd8d3e6f6b  Merge  pull  request  #30124  from  abednarik/fix_open‐
335373           bsd_ip_alias
335374
335375         · 595a12977d Update regex to detect ip alias in OpenBSD.
335376
335377       · PR #30133: (stanislavb) Fix typo in gpgkey URL @ 2016-01-04  19:29:57
335378         UTC
335379
335380         · c3014be84b       Merge      pull      request      #30133      from
335381           stanislavb/fix-gpg-key-url-typo
335382
335383         · d81f6f7206 Fix typo in gpgkey URL
335384
335385       · ISSUE #29912: (rterbush) s3 ext_pillar fails if key and keyid are not
335386         provided (refs: #30126)
335387
335388       · PR  #30126:  (stanislavb)  Log  S3  API  error  message  @ 2016-01-04
335389         19:22:39 UTC
335390
335391         · c06671a259 Merge pull request #30126 from stanislavb/2015.8
335392
335393         · 8c4a101c8f Log S3 API error message
335394
335395       · PR #30128: (oeuftete) Log retryable transport errors  as  warnings  @
335396         2016-01-04 19:15:31 UTC
335397
335398         · aeec21ea65   Merge   pull   request   #30128   from  oeuftete/file‐
335399           client-attempt-error-to-warning
335400
335401         · a5d99b13e1 Log retryable transport errors as warnings
335402
335403       · ISSUE #28171: (srkunze) cron.rm cannot remove @special entries (refs:
335404         #30096)
335405
335406       · PR  #30096: (cachedout) Add rm_special to crontab module @ 2016-01-01
335407         00:56:08 UTC
335408
335409         · 941bcaed07 Merge pull request #30096 from cachedout/issue_28171
335410
335411         · 259a0582ac Add docs
335412
335413         · ad9424820e Add rm_special to crontab module
335414
335415       · PR #30106: (techhat) Ensure last dir @ 2016-01-01 00:52:54 UTC
335416
335417         · cb0f80831f Merge pull request #30106 from techhat/seeddirs
335418
335419         · 01d1a49937 Ensure last dir
335420
335421       · PR #30101: (gtmanfred) fix bug where nova driver exits with no admin‐
335422         Pass @ 2015-12-31 13:45:16 UTC
335423
335424         · 6bc968db9a Merge pull request #30101 from gtmanfred/2015.8
335425
335426         · 1b98f7af38 fix bug where nova driver exits with no adminPass
335427
335428       · PR  #30090:  (techhat)  Add argument to isdir() @ 2015-12-30 22:41:02
335429         UTC
335430
335431         · 3652dbae76 Merge pull request #30090 from techhat/seeddirs
335432
335433         · f7c7d9c7c2 Add lstrip
335434
335435         · c70257163b Add argument to isdir()
335436
335437       · PR #30094: (rallytime) Fix doc formatting for cloud.create example in
335438         module.py state @ 2015-12-30 22:40:24 UTC
335439
335440         · a12bda4b30   Merge   pull   request   #30094   from  rallytime/mod‐
335441           ule_state_doc_fix
335442
335443         · 8fbee322b9 Fix doc formatting for cloud.create example in module.py
335444           state
335445
335446       · PR  #30095:  (rallytime) Add the list_nodes_select function to linode
335447         driver @ 2015-12-30 21:06:58 UTC
335448
335449         · d7f46b5438    Merge    pull    request    #30095    from     rally‐
335450           time/select_query_linode
335451
335452         · 4731d9442e Add the list_nodes_select function to linode driver
335453
335454       · ISSUE  #28763:  (cybacolt) grain saltversioninfo not returning values
335455         by index (refs: #30082)
335456
335457       · PR  #30082:  (abednarik)  Fixed  saltversioninfo   grain   return   @
335458         2015-12-30 18:23:17 UTC
335459
335460         · dce64c0868     Merge     pull    request    #30082    from    abed‐
335461           narik/fix_grain_saltversion_index
335462
335463         · 882e9ac9ed Fixed saltversioninfo grain return.
335464
335465       · PR #30084:  (rallytime)  Back-port  #29987  to  2015.8  @  2015-12-30
335466         18:19:09 UTC
335467
335468         · PR  #29987:  (pass-by-value)  Make  sure output file works for salt
335469           cloud (refs: #30084)
335470
335471         · 5602b8833e Merge pull request #30084 from rallytime/bp-29987
335472
335473         · 16e1df90e9 Make sure output file works for salt cloud
335474
335475       · PR  #30071:  (rallytime)  Merge  branch  '2015.5'  into  '2015.8'   @
335476         2015-12-29 23:18:00 UTC
335477
335478         · 654cab0314  Merge  pull  request  #30071  from rallytime/merge-for‐
335479           ward-2015.8
335480
335481         · 394d7548c5 Additional spelling fixes for boto_vpc module
335482
335483         · f7e58a241c Merge branch '2015.5' into '2015.8'
335484
335485           · 84db12212d Merge pull request #30059 from mpreziuso/patch-1
335486
335487             · 1cb1c2da07 Fixes wrong function scope
335488
335489           · 1c6c9b1a06 Merge pull request #30025 from jtand/boto_tests
335490
335491             · e706642152 Skipping some Boto tests until resolved moto issue
335492
335493           · 0f91021c59 Merge pull request #29949 from aletourneau/2015.5
335494
335495             · cf855fe262 Fixed trailing white spaces
335496
335497             · 864801e002 fixed version
335498
335499             · 041d9346c4 Enhanced netscaler docstring
335500
335501           · 229d3eb60b Merge pull request #29941 from cachedout/boto_spelling
335502
335503             · b11bfd07b8 Fix spelling error in boto_vpc
335504
335505           · 69c5ada636 Merge pull request #29908 from cachedout/issue_29880
335506
335507             · 4cd77b4118 Allow kwargs to be  passed  to  pacman  provide  for
335508               update func
335509
335510           · ad0de4d563   Merge   pull  request  #29909  from  abednarik/free‐
335511             bsd_pkgng_non_interactive_fix
335512
335513             · 8ac213001a FreeBSD pkgng fix for non-interactive install.
335514
335515       · PR  #30067:  (ryan-lane)  Pass  in   kwargs   to   boto_secgroup.con‐
335516         vert_to_group_ids explicitly @ 2015-12-29 23:04:33 UTC
335517
335518         · 1bf9853808 Merge pull request #30067 from lyft/boto-elb-stable-fix
335519
335520         · ae22edb1b4  Pass  in  kwargs  to boto_secgroup.convert_to_group_ids
335521           explicitly
335522
335523       · PR #30069: (techhat) Ensure that pki_dir exists @ 2015-12-29 23:03:23
335524         UTC
335525
335526         · 0a37c4de1a Merge pull request #30069 from techhat/seeddirs
335527
335528         · 0f05d49bde Ensure that pki_dir exists
335529
335530       · ISSUE #30045: (AkhterAli) salt-cloud make syndic not possible. (refs:
335531         #30064)
335532
335533       · PR #30064: (rallytime) Add Syndic documentation to miscellaneous Salt
335534         Cloud config options @ 2015-12-29 20:15:45 UTC
335535
335536         · 896655602e Merge pull request #30064 from rallytime/fix-30045
335537
335538         · 6176f383e5 Spelling fixes
335539
335540         · 83c05729d6  Add  Syndic  documentation  to miscellaneous Salt Cloud
335541           config options
335542
335543       · PR #30049: (rallytime) Add some more unit tests for the vsphere  exe‐
335544         cution module @ 2015-12-29 17:07:41 UTC
335545
335546         · bad6daca93 Merge pull request #30049 from rallytime/esxi-unit-tests
335547
335548         · 1a83147986 Remove unnecessary import block
335549
335550         · 695107ae6e  Add some more unit tests for the vsphere execution mod‐
335551           ule
335552
335553       · PR #30060:  (rallytime)  Back-port  #27104  to  2015.8  @  2015-12-29
335554         17:06:58 UTC
335555
335556         · PR  #27104:  (hexedpackets)  Remove  only  the  file extension when
335557           checking missing cached nodes. (refs: #30060)
335558
335559         · cedee772d7 Merge pull request #30060 from rallytime/bp-27104
335560
335561         · f0566c4b8f Remove only the file  extension  on  cached  node  files
335562           instead of replacing every '.p' substring.
335563
335564       · ISSUE  #28540: (whiteinge) The rest_cherrypy automodule docs are hard
335565         to digest (refs: #30048)
335566
335567       · PR #30048: (jacobhammons) Remove  internal  APIs  from  rest_cherrypy
335568         docs.  @ 2015-12-28 23:24:13 UTC
335569
335570         · 87667e2de6 Merge pull request #30048 from jacobhammons/28540
335571
335572         · a04cebd48c  Remove  internal  APIs  from  rest_cherrypy  docs. Refs
335573           #28540
335574
335575       · ISSUE #29960: (anlutro) Circular import  in  salt.utils.jinja  (refs:
335576         #30043)
335577
335578       · PR   #30043:   (rallytime)   Be   explicit   about   importing   from
335579         salt.utils.jinja to avoid circular imports @ 2015-12-28 21:35:18 UTC
335580
335581         · 3c63527313 Merge pull request #30043 from rallytime/fix-29960
335582
335583         · a157c78bc8 Be explicit about  importing  from  salt.utils.jinja  to
335584           avoid circular imports
335585
335586       · PR  #30038:  (rallytime)  Back-port  #30017  to  2015.8  @ 2015-12-28
335587         20:41:45 UTC
335588
335589         · PR #30017: (anlutro)  Change  how  alternatives  states  check  for
335590           installed (refs: #30038)
335591
335592         · 6cdca314c7 Merge pull request #30038 from rallytime/bp-30017
335593
335594         · aab35b883e  Add  versionadded  directive for new check_exists func‐
335595           tion.
335596
335597         · ca290ec3e1 change how alternatives states check for installed
335598
335599       · PR #30036:  (rallytime)  Back-port  #29995  to  2015.8  @  2015-12-28
335600         20:41:04 UTC
335601
335602         · PR  #29995:  (ruxandraburtica) Location from profiles not correctly
335603           set (refs: #30036)
335604
335605         · c846e7bc86 Merge pull request #30036 from rallytime/bp-29995
335606
335607         · 129a6d7b9f Added vm_ to the get_location query.
335608
335609         · af8d01a367 Updated ec2 file to correctly propagate location.
335610
335611       · PR #30035:  (rallytime)  Back-port  #29895  to  2015.8  @  2015-12-28
335612         20:20:58 UTC
335613
335614         · PR  #29895: (pass-by-value) Do not SSH to the instance if deploy is
335615           False (refs: #30035)
335616
335617         · 27b0bd2c34 Merge pull request #30035 from rallytime/bp-29895
335618
335619         · 09f208fe63 Do not SSH to the instance if deploy is False
335620
335621       · PR #30034:  (rallytime)  Back-port  #29893  to  2015.8  @  2015-12-28
335622         20:20:51 UTC
335623
335624         · PR #29893: (pass-by-value) Add info about VolumeType (refs: #30034)
335625
335626         · 9e385369b7 Merge pull request #30034 from rallytime/bp-29893
335627
335628         · 2fcf1590b8 Add info about VolumeType
335629
335630       · PR  #30033:  (rallytime)  Back-port  #29876  to  2015.8  @ 2015-12-28
335631         20:20:42 UTC
335632
335633         · PR #29876: (abednarik) Updated Cloud msic section. (refs: #30033)
335634
335635         · 4d4dfd692a Merge pull request #30033 from rallytime/bp-29876
335636
335637         · a257249789 Add versionadded to SSH Port docs
335638
335639         · 0bb83e51aa Updated Cloud msic section.
335640
335641       · PR #30029: (terminalmage) git.latest:  Fix  handling  of  nonexistant
335642         branches @ 2015-12-28 19:39:29 UTC
335643
335644         · a5f7d9c2fc  Merge  pull  request  #30029 from terminalmage/git.lat‐
335645           est-nonexistant-branch
335646
335647         · 0b95894c9f git.latest: Fix handling of nonexistant branches
335648
335649       · PR #30016: (anlutro) Properly normalize locales in  locale.gen_locale
335650         @ 2015-12-28 15:33:48 UTC
335651
335652         · e7fe24dc64 Merge pull request #30016 from alprs/fix-gen_locale_nor‐
335653           malize
335654
335655         · 75eb4511d3 properly normalize locales in locale.gen_locale
335656
335657       · PR #30015: (anlutro) locale module: don't escape the slash  in  \n  @
335658         2015-12-28 15:31:20 UTC
335659
335660         · 90611e95f4       Merge      pull      request      #30015      from
335661           alprs/fix-gen_locale_escaped_newline
335662
335663         · 5799729aee locale module: don't escape the slash in n
335664
335665       · PR #30022: (gqgunhed) Two minor typos fixed @ 2015-12-28 15:22:24 UTC
335666
335667         · b871ce5310 Merge pull request #30022 from gqgunhed/winrepo_typo
335668
335669         · a052ff016e fixed minor typos and a :ref: link
335670
335671         · e47db1a076   Merge   remote-tracking   branch   'refs/remotes/salt‐
335672           stack/2015.8' into winrepo_typo
335673
335674         · 0c4c8b9b5c   Merge   remote-tracking   branch   'refs/remotes/salt‐
335675           stack/2015.8' into 2015.8
335676
335677       · PR #30026: (anlutro) states.at:  fix  wrong  variable  being  used  @
335678         2015-12-28 15:21:23 UTC
335679
335680         · 4b8ac20d45   Merge  pull  request  #30026  from  alprs/fix-at_with‐
335681           out_tag_job
335682
335683         · c0fe9c09bd states.at: fix wrong variable being used
335684
335685       · PR #29966: (multani) Fix bigip state/module documentation + serializ‐
335686         ers documentation @ 2015-12-23 15:06:46 UTC
335687
335688         · a3410fdf41 Merge pull request #29966 from multani/fix/docs
335689
335690         · e6e36372a4 doc: fix documentation link for salt.serializers
335691
335692         · 23ef472a07  bigip:  fix  documentation  formatting, remove warnings
335693           during doc building
335694
335695       · PR  #29904:  (twangboy)  Improvements  to  osx  packaging  scripts  @
335696         2015-12-22 21:40:23 UTC
335697
335698         · PR #29858: (twangboy) Osx build (refs: #29904)
335699
335700         · 8f8c8cedd0 Merge pull request #29904 from twangboy/osx_build
335701
335702         · 0be53953af  Added function to download and check hashes, added hash
335703           files
335704
335705         · 7f0b87bfb3 Added pre/post flight scripts (not running)
335706
335707         · 9eeb6da7bd Improvements to osx packaging scripts
335708
335709       · PR #29950: (multani) boto_iam: fix deletion of IAM users  when  using
335710         delete_keys=true @ 2015-12-22 18:43:07 UTC
335711
335712         · 9522bdf4a5     Merge     pull     request    #29950    from    mul‐
335713           tani/fix/states.boto_iam-delete-user
335714
335715         · 516c8661f4  boto_iam:  fix  deletion  of  IAM  users   when   using
335716           delete_keys=true
335717
335718       · PR  #29937:  (multani)  Fix  states.boto_iam group users @ 2015-12-22
335719         17:33:02 UTC
335720
335721         · be95d4d79a    Merge    pull    request     #29937     from     mul‐
335722           tani/fix/states.boto_iam-group-users
335723
335724         · 5c86a78d75  boto_iam:  handle  group's users empty list by removing
335725           all users of the group
335726
335727         · f3461053df boto_iam: passes connection information down to callees
335728
335729       · PR #29934: (multani) Fix state.boto_iam  virtual  name  @  2015-12-22
335730         17:16:25 UTC
335731
335732         · 4f2cc5eba7 Merge pull request #29934 from multani/fix/boto_iam
335733
335734         · 503ede4178 Fix state.boto_iam virtual name
335735
335736       · ISSUE #29933: (Reiner030) boto_rds.absent misses pillar variables for
335737         final backup (refs: #29943)
335738
335739       · PR #29943: (cachedout) Check args correctly in boto_rds @  2015-12-22
335740         17:15:48 UTC
335741
335742         · b36302291d Merge pull request #29943 from cachedout/issue_29933
335743
335744         · 8bab5eaeaa Check args correctly in boto_rds
335745
335746       · PR  #29924:  (gqgunhed) fixed: uptime now working on non-US Windows @
335747         2015-12-22 15:03:17 UTC
335748
335749         · 02ed5b8fd1 Merge pull request #29924 from gqgunhed/gqgunhed-2015.8
335750
335751         · b67c3b45e1 removed duplicate datetime line
335752
335753         · ed8ee91dcf fixed: uptime now working on non-US Windows
335754
335755       · PR #29883: (serge-p) fix for nfs mounts in _active_mounts_openbsd() @
335756         2015-12-21 18:26:49 UTC
335757
335758         · 5e44639334 Merge pull request #29883 from serge-p/patch-6
335759
335760         · dd94332f24 Update mount.py
335761
335762         · 9d059a1ea5 fix for nfs mounts in _active_mounts_openbsd()
335763
335764       · ISSUE  #29866:  (tony)  spm(1)  command  should  obey Saltfile (refs:
335765         #29894)
335766
335767       · PR #29894: (techhat) Support Saltfile in SPM  @  2015-12-21  18:03:07
335768         UTC
335769
335770         · 08fd81cc3d Merge pull request #29894 from techhat/spmsaltfile
335771
335772         · 279ec61274 Support Saltfile in SPM
335773
335774       · PR  #29856:  (rallytime)  Added  some  initial  unit  tests  for  the
335775         salt.modules.vsphere.py file @ 2015-12-21 17:12:20 UTC
335776
335777         · 4f46255044 Merge pull request #29856 from rallytime/esxi-unit-tests
335778
335779         · b908ebd123  Added  some  initial  unit  tests  for  the   salt.mod‐
335780           ules.vsphere.py file
335781
335782       · PR  #29855:  (rallytime)  Back-port  #29740  to  2015.8  @ 2015-12-21
335783         17:11:28 UTC
335784
335785         · PR #29740: (kiorky) Type mess in git.latest (refs: #29855)
335786
335787         · 096fec6182 Merge pull request #29855 from rallytime/bp-29740
335788
335789         · 4c5e277367 Type mess in git.latest
335790
335791       · PR  #29890:  (multani)  Various  documentation  fixes  @   2015-12-21
335792         16:25:15 UTC
335793
335794         · 02ab9b8858 Merge pull request #29890 from multani/fix/docs
335795
335796         · 5aa0e9b1e0 Fix documentation typo for pillars
335797
335798         · f2b41d04d7 Fix rendering issues for Cherrypy netapi documentation.
335799
335800         · 6922da46dc doc: fix warnings + some rendering issues
335801
335802       · PR  #29850:  (basepi)  [2015.8] Merge forward from 2015.5 to 2015.8 @
335803         2015-12-18 21:33:49 UTC
335804
335805         · 50f48c4bf3  Merge  pull  request  #29850   from   basepi/merge-for‐
335806           ward-2015.8
335807
335808         · 7402599c62  Merge  remote-tracking  branch  'upstream/2015.5'  into
335809           merge-forward-2015.8
335810
335811         · f43f3d166c Merge pull request #29730 from rallytime/fix-24698
335812
335813           · 120fd5fdf0 Update docker-py  version  requirement  to  0.6.0  for
335814             dockerio.py files
335815
335816         · c393a4175a Merge pull request #29715 from rallytime/fix-23343
335817
335818           · a0ed857c37  Install correct package version, if provided, for npm
335819             state.
335820
335821         · 1310afbbc2 Merge pull request #29721 from  terminalmage/nested-out‐
335822           put-multiline-fix
335823
335824           · 761be9cb93 Fix display of multiline strings when iterating over a
335825             list
335826
335827         · 52cc07cec9 Merge pull request #29646 from rallytime/fix-29488
335828
335829           · c5fa9e9351 Don't stacktrace on kwargs.get if kwargs=None
335830
335831       · PR #29811: (anlutro) influxdb: add retention policy module  functions
335832         @ 2015-12-18 17:19:02 UTC
335833
335834         · 05d2aaaef2    Merge    pull    request   #29811   from   alprs/fea‐
335835           ture-influxdb_retention
335836
335837         · 51088d938a add tests, rename a  function  to  more  closely  mirror
335838           influxdb
335839
335840         · 785da17a67 missing comma
335841
335842         · 7e9e9a1030 influxdb: add retention policy module functions
335843
335844       · ISSUE  #29396:  (Ch3LL)  Windows  2012  Multi-Master  ZMQError (refs:
335845         #29814)
335846
335847       · PR #29814: (basepi) [2015.8][Windows] Fix multi-master on  windows  @
335848         2015-12-18 17:16:52 UTC
335849
335850         · 7eefaac58a  Merge pull request #29814 from basepi/multi-master.win‐
335851           dows.29396
335852
335853         · 2405501d75 Add documentation for tcp ipc_mode and multi-master
335854
335855         · 307e867980 For tcp ipc_mode, give each  minion  different  pub/pull
335856           ports
335857
335858         · 5a21893e82 Fix ipc_mode check in windows
335859
335860       · PR  #29819:  (rallytime)  Add  esxi  module and state to docs build @
335861         2015-12-18 16:20:27 UTC
335862
335863         · fb4eb28645 Merge pull request #29819 from rallytime/esxi-docs
335864
335865         · e7c5863468 Add esxi module and state to docs build
335866
335867       · PR #29832: (jleimbach) Fixed typo in order to use the keyboard module
335868         for RHEL without systemd @ 2015-12-18 16:04:57 UTC
335869
335870         · e865c787a4   Merge  pull  request  #29832  from  jleimbach/fix-key‐
335871           board.py-for-rhel-without-systemd
335872
335873         · 7b72b3c52c Fixed typo in order to use the keyboard module for  RHEL
335874           without systemd
335875
335876       · PR  #29803:  (rallytime)  Add vSphere module to doc ref module tree @
335877         2015-12-17 18:52:56 UTC
335878
335879         · 4044f3bb93 Merge pull request #29803 from rallytime/vsphere-docs
335880
335881         · 3b7f5540ec Add vSphere module to doc ref module tree
335882
335883       · ISSUE #29751: (ether42) mod_hostname behavior  is  systemd  dependant
335884         (refs: #29767)
335885
335886       · PR   #29767:  (abednarik)  Hosts  file  update  in  mod_hostname.   @
335887         2015-12-17 18:31:18 UTC
335888
335889         · 9b4c2194f6  Merge   pull   request   #29767   from   abednarik/net‐
335890           work_mod_hpstname_fix
335891
335892         · eebd3e3e4a Hosts file update in mod_hostname.
335893
335894       · ISSUE  #29631:  (joshughes) pygit2: git submodules cause traceback in
335895         file_list (refs: #29772)
335896
335897       · PR #29772: (terminalmage) pygit2:  skip  submodules  when  traversing
335898         tree @ 2015-12-17 18:23:16 UTC
335899
335900         · 0c65eeb82b Merge pull request #29772 from terminalmage/issue29631
335901
335902         · 8c4ea64b0d pygit2: skip submodules when traversing tree
335903
335904       · PR  #29765:  (gtmanfred)  allow  nova driver to be boot from volume @
335905         2015-12-17 18:20:33 UTC
335906
335907         · 1b430b251f Merge pull request #29765 from gtmanfred/2015.8
335908
335909         · e95f7561c5 cloudnetworks should be making public_ips a list
335910
335911         · ec7e45fbfb add documentation for boot from volume on nova driver
335912
335913         · eafcc5e3ac Add boot from volume for openstack nova
335914
335915       · PR #29773: (l2ol33rt) Append  missing  wget  in  debian  installation
335916         guide @ 2015-12-17 17:29:18 UTC
335917
335918         · c4f226f31e       Merge      pull      request      #29773      from
335919           l2ol33rt/debian_install_docfix
335920
335921         · 64cb4b0540 Append missing wget in debian installation guide
335922
335923       · PR #29800:  (rallytime)  Back-port  #29769  to  2015.8  @  2015-12-17
335924         17:28:52 UTC
335925
335926         · PR  #29769:  (pass-by-value)  Add  documentation about scopes (GCE)
335927           (refs: #29800)
335928
335929         · aca4da3abc Merge pull request #29800 from rallytime/bp-29769
335930
335931         · 10bfcb8cb0 Add documentation about scopes (GCE)
335932
335933       · PR #29775: (paulnivin) Change listen requisite resolution  from  name
335934         to ID declaration @ 2015-12-16 22:56:03 UTC
335935
335936         · ab61f78295  Merge  pull request #29775 from lyft/listen-id-declara‐
335937           tion-resolution-stable
335938
335939         · ff3a809c11 Change listen requisite resolution from name to ID  dec‐
335940           laration
335941
335942       · PR  #29754:  (rallytime)  Back-port  #29719  to  2015.8  @ 2015-12-16
335943         17:25:51 UTC
335944
335945         · PR #29719: (gqgunhed) fixed:  include  all  items  from  kern.disks
335946           split (refs: #29754)
335947
335948         · 5af64b64f2 Merge pull request #29754 from rallytime/bp-29719
335949
335950         · ed275977e3 fixed: include all items from kern.disks split
335951
335952       · PR #29713: (The-Loeki) Pillar-based cloud providers still forcing use
335953         of deprecated 'provider' @ 2015-12-16 14:51:31 UTC
335954
335955         · PR #27953: (The-Loeki) Fix CloudStack cloud for new 'driver' syntax
335956           (refs: #29713)
335957
335958         · b3f17fdaf8 Merge pull request #29713 from The-Loeki/patch-1
335959
335960         · 35fe2a5c18 lint fix
335961
335962         · dfab6f8186 Update __init__.py
335963
335964         · 65e2d9ac1e Pillar-based cloud providers still forcing use of depre‐
335965           cated 'provider'
335966
335967       · ISSUE #14634: (Sacro) 'unless' documentation isn't logically  plausi‐
335968         ble (refs: #29729)
335969
335970       · PR   #29729:  (rallytime)  Further  clarifications  on  "unless"  and
335971         "onlyif" requisites.  @ 2015-12-16 14:45:06 UTC
335972
335973         · 1f4810be0f Merge pull request #29729 from rallytime/fix-14634
335974
335975         · 45b77fb288 Add note about shell truthiness vs python truthiness
335976
335977         · 3bfb87c031 Spelling fixes
335978
335979         · 15c466cc12 Further clarifications on "unless" and  "onlyif"  requi‐
335980           sites.
335981
335982       · ISSUE  #29736:  (akissa)  Pillar  sqlite3  examples  incorrect (refs:
335983         #29737)
335984
335985       · PR #29737: (akissa)  fix  pillar  sqlite3  documentation  examples  @
335986         2015-12-16 14:41:57 UTC
335987
335988         · 7084f79199   Merge   pull   request   #29737  from  akissa/fix-pil‐
335989           lar-sqlite3-examples
335990
335991         · 1c98f8d609 fix pillar sqlite3 documentation examples
335992
335993       · ISSUE #29741: (akissa) Pillar Sqlite3 does not honour database config
335994         option when using salt-call (refs: #29743)
335995
335996       · PR  #29743: (akissa) fix pillar sqlite not honouring config options @
335997         2015-12-16 14:40:27 UTC
335998
335999         · e977096409  Merge  pull   request   #29743   from   akissa/fix-pil‐
336000           lar-sqlite3-does-not-honour-config
336001
336002         · 6184fb1ae1 fix pillar sqlite not honouring config options
336003
336004       · ISSUE  #29152:  (guettli) docs for states.postgres_user.present: name
336005         and password twice? (refs: #29723)
336006
336007       · PR #29723: (rallytime) Clarify db_user  and  db_password  kwargs  for
336008         postgres_user.present state function @ 2015-12-15 23:58:43 UTC
336009
336010         · 2cea0b0a2d Merge pull request #29723 from rallytime/fix-29152
336011
336012         · 8d8fdd0a27   Clarify  db_user  and  db_password  kwargs  for  post‐
336013           gres_user.present state function
336014
336015       · ISSUE #29154: (guettli) [Docs] for cmd.run. Missing link  to  details
336016         for "stateful" (refs: #29722)
336017
336018       · PR  #29722:  (rallytime) Link "stateful" kwargs to definition of what
336019         "stateful" means for cmd state.  @ 2015-12-15 23:25:48 UTC
336020
336021         · 30eab23c43 Merge pull request #29722 from rallytime/fix-29154
336022
336023         · 5c045a86af Link "stateful" kwargs to definition of what  "stateful"
336024           means for cmd state.
336025
336026       · ISSUE  #29091:  (gravyboat)  Salt pillar best practices should show 2
336027         matchers in base (refs: #29724)
336028
336029       · PR #29724: (rallytime) Add examples of using multiple matching levels
336030         to Pillar docs @ 2015-12-15 23:02:32 UTC
336031
336032         · c9ca1a371e Merge pull request #29724 from rallytime/fix-29091
336033
336034         · 45080f3629 Add examples of using multiple matching levels to Pillar
336035           docs
336036
336037       · PR #29726: (cachedout) Disable some boto tests per resolution of moto
336038         issue @ 2015-12-15 22:15:35 UTC
336039
336040         · 4985cc57f1   Merge   pull   request   #29726   from  cachedout/dis‐
336041           able_moto_2015_8
336042
336043         · d19827fd3a Disable some boto tests per resolution of moto issue
336044
336045       · ISSUE #25723: (jamesog) file.directory fails in test mode when  using
336046         recurse ignore_files (refs: #29708)
336047
336048       · PR  #29708:  (lagesag)  Fix test=True for file.directory with recurse
336049         ignore_files/ignore_dirs.  @ 2015-12-15 19:15:14 UTC
336050
336051         · aba82abffd Merge pull request #29708  from  lagesag/fix-file-direc‐
336052           tory-test-mode
336053
336054         · a872b5eecf PyLint fix #25723
336055
336056         · 3e46cb9213   Fix   test=True   for   file.directory   with  recurse
336057           ignore_files/ignore_dirs.
336058
336059       · ISSUE #29199: (hubez) 2015.8.1 and 2015.5.6: salt-minion self-restart
336060         doesn't work in daemon mode. Works when not a daemon (refs: #29642)
336061
336062       · PR  #29642: (cachedout) Correctly restart deamonized minions on fail‐
336063         ure @ 2015-12-15 19:02:40 UTC
336064
336065         · 7c38dec0ad Merge pull request #29642 from cachedout/issue_29199
336066
336067         · 8b2c6817cf Sleep before restart
336068
336069         · 4105e2abfb Correctly restart deamonized minions on failure
336070
336071       · PR #29599: (cachedout) Clean up minion shutdown @ 2015-12-15 19:01:35
336072         UTC
336073
336074         · bd918394c3  Merge  pull  request  #29599  from cachedout/clean_min‐
336075           ion_shutdown
336076
336077         · 0b917971fe Log at debug level instead
336078
336079         · a04280ceb3 Re-raise error to preserve restart behavior
336080
336081         · dc480e332a Clean up warning on failed master ping.
336082
336083         · 049a3dbbbc Additional fixes.
336084
336085         · 8a4969b730 Clean up minion shutdown
336086
336087       · PR #29675: (clinta) allow returning all refs  @  2015-12-15  18:55:36
336088         UTC
336089
336090         · 31eb291caf       Merge      pull      request      #29675      from
336091           clinta/git-ls-remote-noref
336092
336093         · f8c34b0c76 version updated
336094
336095         · 73b169e7dd lint, remove trainling whitespace
336096
336097         · 8400e68426 allow returning all refs
336098
336099       · PR #29683: (rallytime) Catch more specific error to  pass  the  error
336100         message through elegantly.  @ 2015-12-15 18:41:54 UTC
336101
336102         · 7c50533d3f Merge pull request #29683 from rallytime/vsan_fixes
336103
336104         · afc003079e  Catch  more  specifc  error  to  pass the error message
336105           through elegantly.
336106
336107       · PR #29687: (basepi) [2015.8] Merge forward from 2015.5  to  2015.8  @
336108         2015-12-15 18:38:46 UTC
336109
336110         · 30499e4896   Merge   pull  request  #29687  from  basepi/merge-for‐
336111           ward-2015.8
336112
336113         · b51cba59c0  Merge  remote-tracking  branch  'upstream/2015.5'  into
336114           merge-forward-2015.8
336115
336116           · f606c23ea8 Merge pull request #29673 from rallytime/fix-29661
336117
336118             · e4af7a1157 Default value should be False and not 'False'
336119
336120           · f77c8e7baf Merge pull request #29527 from jfindlay/2015.5
336121
336122             · 1a8044f0c9 2015.5.7 notes: add note about not being released
336123
336124       · ISSUE  #27611:  (benburkert)  PR  #26818  broke git.latest with :mir‐
336125         ror/:bare  (refs: #29681)
336126
336127       · PR #29681:  (clinta)  fix  bare/mirror  in  git.latest  @  2015-12-15
336128         18:37:16 UTC
336129
336130         · 3c427e82bf Merge pull request #29681 from clinta/git-mirror
336131
336132         · b387072a6f fix bare/mirror in git.latest
336133
336134       · PR  #29644:  (rallytime) Fixed a couple more ESXi proxy minion bugs @
336135         2015-12-14 18:36:28 UTC
336136
336137         · fe0778dad5 Merge pull request #29644 from rallytime/esxi-fixes
336138
336139         · 577d5487a3 Fixed a couple more ESXi proxy minion bugs
336140
336141       · PR #29645:  (rallytime)  Back-port  #29558  to  2015.8  @  2015-12-14
336142         18:11:38 UTC
336143
336144         · PR  #29558:  (ruxandraburtica) Returning security group when no VPC
336145           id is given (refs: #29645)
336146
336147         · ef2c9e3f61 Merge pull request #29645 from rallytime/bp-29558
336148
336149         · 2cf9374342 Replaced tabs with spaces.
336150
336151         · 5e7e3fe682 Returning security group when no VPC id is  given,  even
336152           if the group is not in EC2-classic.
336153
336154       · ISSUE #29630: (c4t3l) Fresh minion install (2015.8.3) returns service
336155         __virtual__ is False errors on salt-calls (refs: #29632)
336156
336157       · ISSUE #29581: (zmalone) Complaints about pyOpenSSL version  on  Salt‐
336158         stack 2015.8.3 (refs: #29632)
336159
336160       · PR  #29632: (jfindlay) reduce severity of tls module __virtual__ log‐
336161         ging @ 2015-12-11 20:11:32 UTC
336162
336163         · a2a7f1527b Merge pull request #29632 from jfindlay/tls_virt
336164
336165         · 3ed6a052fd modules.tls.__virtual__: don't spam everyone's error log
336166
336167         · 76a200e780 modules.tls.__virtual__: refactor cert path comment
336168
336169         · 0a0532e598 modules.tls.__virtual__: remove redundant parens
336170
336171       · ISSUE  #29598:  (javicacheiro)  Duplicated  MTU  entry  added  (refs:
336172         #29606)
336173
336174       · PR #29606: (abednarik) Fixed duplicate mtu entry in RedHat 7  network
336175         configuration.  @ 2015-12-11 17:24:45 UTC
336176
336177         · f6f3aa6613 Merge pull request #29606  from  abednarik/remove_dupli‐
336178           cate_mtu_entry_rh7_net_template
336179
336180         · afb2f887ba  Fixed duplicate mtu entry in RedHat 7  network configu‐
336181           ration.
336182
336183       · PR  #29613:  (rallytime)  Various  ESXi  Proxy  Minion  Bug  Fixes  @
336184         2015-12-11 17:18:58 UTC
336185
336186         · c7e73bc4c8 Merge pull request #29613 from rallytime/esxi-fixes
336187
336188         · aa5dd88b6f Various ESXi Proxy Minion Bug Fixes
336189
336190       · ISSUE  #26364:  (cedwards)  [freebsd]  TCP  transport  not working in
336191         2015.8.0rc3 (refs: #29628)
336192
336193       · PR #29628:  (DmitryKuzmenko)  Don't  create  io_loop  before  fork  @
336194         2015-12-11 17:15:11 UTC
336195
336196         · a56c763423    Merge    pull    request    #29628    from    DSRCom‐
336197           pany/bug/26364_freebsd_tcp
336198
336199         · 729ffcae36 Don't create io_loop before fork
336200
336201       · PR #29609: (basepi) [2015.8][salt-ssh] Add ability  to  set  salt-ssh
336202         command umask in roster @ 2015-12-10 22:52:27 UTC
336203
336204         · 41b8117237       Merge      pull      request      #29609      from
336205           basepi/salt-ssh.umask.29574
336206
336207         · 0afa5b0d5d Add cmd_umask to roster docs
336208
336209         · 5c03f892bc Allow setting the cmd_umask from within the roster
336210
336211       · ISSUE #29586: (basepi) Orchestrate doesn't handle minion error  prop‐
336212         erly (refs: #29603)
336213
336214       · ISSUE  #29546: (jefferyharrell) Can't seem to get orchestrate to rec‐
336215         ognize a failed state (refs: #29603)
336216
336217       · PR #29603: (basepi) Fix orchestration failure-checking  @  2015-12-10
336218         21:23:57 UTC
336219
336220         · 1e394f5ab1  Merge pull request #29603 from basepi/orchestrate.fail‐
336221           ures.29546
336222
336223         · 2bdcadaa27 Remove unnecessary and
336224
336225         · 501f91a388 Fix error in  failure  checking  for  salt.state  within
336226           orchestration
336227
336228       · ISSUE #29584: (kwilliams057) dockerng image-present fails when trying
336229         to pull from registry (refs: #29597)
336230
336231       · PR  #29597:  (terminalmage)  dockerng:  Prevent  exception  when  API
336232         response contains empty dictionary @ 2015-12-10 19:57:42 UTC
336233
336234         · b5b80b9324 Merge pull request #29597 from terminalmage/issue29584
336235
336236         · d68067b5db  dockerng:  Prevent exception when API response contains
336237           empty dictionary
336238
336239       · ISSUE #29585: (job) cidr argument in salt.modules.network.ip_addrs6()
336240         is broken (refs: #29587)
336241
336242       · PR  #29596:  (rallytime)  Back-port  #29587  to  2015.8  @ 2015-12-10
336243         19:57:18 UTC
336244
336245         · PR  #29587:  (job)  Fix  the  'cidr'   arg   in   salt.modules.net‐
336246           work.ip_addrs6() (refs: #29596)
336247
336248         · ffb54cced7 Merge pull request #29596 from rallytime/bp-29587
336249
336250         · bfb75ce363 Fix the 'cidr' arg in salt.modules.network.ip_addrs6()
336251
336252       · PR  #29588: (rallytime) Added ESXi Proxy Minion Tutorial @ 2015-12-10
336253         16:17:51 UTC
336254
336255         · 08dd663a27    Merge    pull    request    #29588    from     rally‐
336256           time/esxi-proxy-tutorial
336257
336258         · 5a2bb260d3 Added ESXi Proxy Minion Tutorial
336259
336260       · ISSUE #29557: (arthurlogilab) [modules/nova] AttributeError: 'module'
336261         object   has   no   attribute   'discover_extensions'   when    using
336262         nova.image_list (refs: #29572)
336263
336264       · PR  #29572:  (gtmanfred) [nova] use old discover_extensions if avail‐
336265         able @ 2015-12-09 17:35:42 UTC
336266
336267         · fe5db23863 Merge pull request #29572 from gtmanfred/2015.8
336268
336269         · d0ffa520f4 use old discover_extensions if available
336270
336271       · ISSUE #29009: (LoveIsGrief) git.latest  doesn't  checkout  submodules
336272         (refs: #29545)
336273
336274       · PR #29545: (terminalmage) git.latest: init submodules if not yet ini‐
336275         tialized @ 2015-12-09 16:19:42 UTC
336276
336277         · ecbc60ba05 Merge pull request #29545 from terminalmage/issue29009
336278
336279         · 6619503aec git.latest: init submodules if not yet initialized
336280
336281       · PR #29548:  (rallytime)  Back-port  #29449  to  2015.8  @  2015-12-09
336282         16:19:07 UTC
336283
336284         · PR  #29449:  (AkhterAli)  Adding  message for null public IP (refs:
336285           #29548)
336286
336287         · 3b2c93a2e5 Merge pull request #29548 from rallytime/bp-29449
336288
336289         · 3715cd7d65 Adding message for null public IP
336290
336291       · PR #29547: (rallytime) Refactored ESXCLI-based functions to accept  a
336292         list of esxi_hosts @ 2015-12-09 16:08:03 UTC
336293
336294         · fd67903bf9 Merge pull request #29547 from rallytime/esxi-proxy
336295
336296         · 469648dd07  Refactored  ESXCLI-based  functions to accept a list of
336297           esxi_hosts
336298
336299       · PR  #29563:  (anlutro)  Fix  a   call   to   deprecated   method   in
336300         python-influxdb @ 2015-12-09 16:00:24 UTC
336301
336302         · 21437f9235  Merge  pull request #29563 from alprs/fix-influx_depre‐
336303           cated_method
336304
336305         · 7c69c177ed update test
336306
336307         · 46d7d92069 fix a call to deprecated method in python-influxdb
336308
336309       · PR #29565: (bdrung) Fix typos and missing release note  @  2015-12-09
336310         15:59:21 UTC
336311
336312         · f29e0a7021 Merge pull request #29565 from bdrung/2015.8
336313
336314         · b96d8ff1d9 Minor update to release notes for missing fix
336315
336316         · e72354aac4 Fix typo specfic -> specific
336317
336318         · 5708355762 Fix typo comparsion -> comparison
336319
336320       · PR  #29540:  (basepi)  [2015.8] Merge forward from 2015.5 to 2015.8 @
336321         2015-12-08 21:27:01 UTC
336322
336323         · 25d3a75d8c  Merge  pull  request  #29540   from   basepi/merge-for‐
336324           ward-2015.8
336325
336326         · e59364ad1d Fix failing unit test
336327
336328         · 9673fd0937  Merge  remote-tracking  branch  'upstream/2015.5'  into
336329           merge-forward-2015.8
336330
336331           · 867d550271  Merge  pull  request  #29539  from  basepi/merge-for‐
336332             ward-2015.5
336333
336334             · 2c9c4ba430  Merge remote-tracking branch 'upstream/2014.7' into
336335               merge-forward-2015.5
336336
336337             · 85aa70a6cb Merge pull request #29392 from jacobhammons/2014.7
336338
336339               · d7f0db1dd8 updated version number to not reference a specific
336340                 build from the latest branch
336341
336342           · de7f3d5a59 Merge pull request #29504 from rallytime/fix-12072
336343
336344             · 8357c95dc2 Document userdata_file option for EC2 driver
336345
336346           · 65deba8bb5 Merge pull request #29507 from rallytime/ec2-doc-fix
336347
336348             · 90b4823bc2 Switch volumes and del_*_on_destroy example ordering
336349
336350           · 0918c9294f    Merge    pull    request    #29469    from    abed‐
336351             narik/doc_note_for_saltcloud_connection_timeout
336352
336353             · 8e5c3e366a Added Documentation note in salt cloud.
336354
336355           · e43c7c05a6   Merge    pull    request    #29461    from    dmyer‐
336356             scough/fix-resource-limits
336357
336358             · 85a8a3b033 Fix resource limits, systemd sets the default number
336359               of open files to 4096 causing te master to complain about  lim‐
336360               its when you have a large number of keys
336361
336362           · 730f02fbdf Merge pull request #29439 from rallytime/bp-28656
336363
336364             · 2f11bb021f #28526 fixed yumpkg module
336365
336366           · 197210d52e Merge pull request #29418 from jacobhammons/dot8
336367
336368             · 4f51a737f9 Added CVE 2015-8034 to 2015.5.8 release notes
336369
336370           · b3452f2a1a Merge pull request #29389 from jacobhammons/2015.5
336371
336372             · 824721ff36 updated version numbers
336373
336374           · 6a7a95f28a Merge pull request #28501 from twangboy/jmoney_26898
336375
336376             · c0cf33332c Fixed some Lint...
336377
336378             · df17fc59d3 Merge pull request #6 from jfindlay/twang_test
336379
336380               · bc7e0cfe64 add file.symlink unit tests
336381
336382               · 9381dc7215 orthogonalize file.symlink unit tests
336383
336384             · 8f462ba044  Merge  pull  request  #5  from cachedout/fix_twang‐
336385               boy_test
336386
336387               · 5293150d25 Fix tests
336388
336389             · 7d39091c91 Fixed some more lint
336390
336391             · 3dbd62af2c Fixed some tests... hopefully
336392
336393             · f187db3288 Removed unnecessary logic
336394
336395             · 89ebd268e6 Added file attributes restore on fail
336396
336397             · 9ec72ca724 fix file state unit tests for win symlink feature
336398
336399             · 69c32a663e Fixed some lint
336400
336401             · 638dec5027 Fixed some tests... let's see if they're really are
336402
336403             · 5ed7a99792 Replaced instances of shutil.rmtree in file state
336404
336405             · 2651ce509f Fix file.remove for windows
336406
336407           · 760a521603 Merge pull request #29348 from jtand/file_search_fix
336408
336409             · 04f82bd4fd Fixes an file.search on python2.6
336410
336411           · 51ea88d489 Merge pull request #29336 from rallytime/bp-29276
336412
336413             · 3a0e19debb Prevent adding port twice when adding entry in known
336414               hosts
336415
336416           · 28255af52a Merge pull request #29333 from rallytime/bp-29280
336417
336418             · 722d02ff4a Lint
336419
336420             · 4a0040c1b4 [Doc] Add note for SVN state
336421
336422       · PR  #29499:  (rallytime)  Initial  commit  of  ESXi  Proxy  Minion  @
336423         2015-12-08 21:10:13 UTC
336424
336425         · 3ae096b7ac Merge pull request #29499 from rallytime/esxi-proxy
336426
336427         · d8b1ba3991 Make sure ESXCLI gating is  correct  in  vsphere  __vir‐
336428           tual__
336429
336430         · 55589f8021 Provide some more inline comments for longer functions
336431
336432         · baf2f8ce7a Pylint fix
336433
336434         · 763ae5d676 VMotion functions, gate ESXCLI requirement, allow proto‐
336435           col/port for ESXCLI function
336436
336437         · d909df254e Bug fixes for esxi states
336438
336439         · 7102677679   Bug   fixes   and   move   ntp   and    ssh    service
336440           start/stop/restart to single funcs
336441
336442         · 77b37add84 Added syslog_configured state, and some minor bug fixes
336443
336444         · df49f533f6 More state functions and a couple of bug fixes
336445
336446         · a50c74cfe2 Merge pull request #13 from cro/esxi-proxy3
336447
336448           · 87fc980f33 Add syslog config and network firewall rules enable
336449
336450         · 42be49f481 Merge pull request #11 from cro/esxi-proxy
336451
336452           · d858642f05 Add documentation.
336453
336454           · 43879d1dfe Functions for setting network coredumps
336455
336456         · 7d7d2afa7f   Initial   commit   of   ESXi   state   and  refactored
336457           vsan_add_disks to include a get function.
336458
336459         · bc945a48db Add execution module functions to  upload  ssh  key  for
336460           root and retrieve ssh key for root.
336461
336462         · 238b0f5bea  Update error return policy and add service running/pol‐
336463           icy functions
336464
336465         · 9ba9019419 Initial commit of ESXi proxy work.
336466
336467       · PR #29526: (jfindlay)  2015.8.2  notes:  add  note  about  not  being
336468         released @ 2015-12-08 21:09:50 UTC
336469
336470         · 873f6a9460 Merge pull request #29526 from jfindlay/2015.8
336471
336472         · 917e6f850c 2015.8.2 notes: add note about not being released
336473
336474       · ISSUE  #29484: (m7v8) patchlevel detection broken for openSuSE (refs:
336475         #29531)
336476
336477       · PR  #29531:  (jfindlay)  grains.core:  handle  undefined  variable  @
336478         2015-12-08 21:07:38 UTC
336479
336480         · 3de61e3655 Merge pull request #29531 from jfindlay/suse_patch
336481
336482         · 1ad5a088fc grains.core: handle undefined variable
336483
336484       · ISSUE  #29486:  (m7v8)  Pull  request breaks our setup (umask) (refs:
336485         #29538)
336486
336487       · ISSUE #29005: (fcrozat) non-standard umask breaks salt-call  call  in
336488         salt-ssh (refs: #29126)
336489
336490       · ISSUE  #28830:  (fcrozat) non-standard umask breaks salt-ssh deploye‐
336491         ment (refs: #29126)
336492
336493       · PR #29538: (basepi) [2015.8] [salt-ssh] Remove  umask  around  actual
336494         execution for salt-ssh @ 2015-12-08 20:45:58 UTC
336495
336496         · PR  #29126:  (fcrozat)  Fix  deployment  when umask is non-standard
336497           (refs: #29538)
336498
336499         · 1d8014411a      Merge      pull      request      #29538       from
336500           basepi/salt-ssh.umask.29486
336501
336502         · 5edfa014f5 Remove umask around actual execution for salt-ssh
336503
336504       · ISSUE  #28715:  (mlalpho)  Tagging  Resources  with  boto_rds  (refs:
336505         #29505)
336506
336507       · PR #29505: (rallytime) Update boto_rds state docs  to  include  funky
336508         yaml syntax for "tags" option.  @ 2015-12-08 17:05:02 UTC
336509
336510         · fb02fc1ef1 Merge pull request #29505 from rallytime/fix-28715
336511
336512         · f43f851a92  Update boto_rds state docs to include funky yaml syntax
336513           for "tags" option.
336514
336515       · PR #29513: (bdrung) Drop obsolete syslog.target from systemd services
336516         @ 2015-12-08 16:05:01 UTC
336517
336518         · 38888add5e Merge pull request #29513 from bdrung/2015.8
336519
336520         · b1a4ade618 Drop obsolete syslog.target from systemd services
336521
336522       · PR  #29500:  (rallytime)  Back-port  #29467  to  2015.8  @ 2015-12-07
336523         23:24:00 UTC
336524
336525         · PR #29467: (serge-p) Update module.py (refs: #29500)
336526
336527         · 148dad6674 Merge pull request #29500 from rallytime/bp-29467
336528
336529         · ca0be8bff0 Update module.py
336530
336531       · ISSUE #29001: (olfway) debconf.set doesn't support "prereq" in states
336532         (refs: #29463)
336533
336534       · PR  #29463:  (abednarik)  Add  **kwargs to debconf.set.  @ 2015-12-07
336535         19:56:05 UTC
336536
336537         · 9d11acc7db  Merge   pull   request   #29463   from   abednarik/deb‐
336538           conf_fix_prereq_support
336539
336540         · b17f1fed43 Add **kwargs to debconf.set.
336541
336542       · ISSUE #29311: (Reiner030) Feature Request: System uptime also in sec‐
336543         onds (refs: #29399)
336544
336545       · PR #29399: (jfindlay) modules.status: add  human_readable  option  to
336546         uptime @ 2015-12-07 19:53:52 UTC
336547
336548         · 7efd6dd140 Merge pull request #29399 from jfindlay/second_up
336549
336550         · 1903124814 modules.win_status: add reason to virtual ret
336551
336552         · 35ba7da470 modules.status: add reason to __virtual__ return
336553
336554         · 48e7beb0eb modules.status: add in_seconds option to uptime
336555
336556       · PR  #29433:  (cro)  Files  for  building  .pkg  files  for  MacOS X @
336557         2015-12-07 19:47:23 UTC
336558
336559         · 042daf91b8 Merge pull request #29433 from cro/mac_native_pkg
336560
336561         · 8e191ae264 Add web references
336562
336563         · 5f1459d708 Update mac packaging
336564
336565         · 092b7ddd0a First crack at build files for Mac OS X Native package
336566
336567       · ISSUE #29445: (shawnbutts)  salt.loaded.int.module.nova.__virtual__()
336568         is wrongly returning None. (refs: #29455)
336569
336570       · PR  #29455:  (jfindlay)  modules.nova.__init__:  do not return None @
336571         2015-12-07 19:44:00 UTC
336572
336573         · 5ff3749108 Merge pull request #29455 from jfindlay/nova_none
336574
336575         · 19da8233c8 modules.nova.__init__: do not return None
336576
336577       · PR #29454: (jfindlay) rh_service module __virtual__ return error mes‐
336578         sages @ 2015-12-07 19:32:15 UTC
336579
336580         · 289e9d169e Merge pull request #29454 from jfindlay/rh_service
336581
336582         · 9975508f86 modules.rh_service.__virtual__: handle SUSE osrelease as
336583           num
336584
336585         · d7ab7bf51f modules.rh_service: __virtual__ error messages
336586
336587       · PR #29476:  (tbaker57)  Doc  fix  -  route_table_present  needs  sub‐
336588         net_names (not subnets) as a key @ 2015-12-07 18:47:22 UTC
336589
336590         · cb465927d6 Merge pull request #29476 from tbaker57/boto_vpc_docfix
336591
336592         · 36946640b8  Fix  -  don't specify 'name' key inside the list - just
336593           the subnet names
336594
336595         · 5cab4b775a Doc fix - route_table_present  needs  subnet_names  (not
336596           subnets) as a key
336597
336598       · PR  #29487:  (rallytime)  Back-port  #29450  to  2015.8  @ 2015-12-07
336599         17:25:23 UTC
336600
336601         · PR #29450: (pass-by-value) Raise error if dracr password  is  above
336602           20 chars (refs: #29487)
336603
336604         · 6696cf6eb5 Merge pull request #29487 from rallytime/bp-29450
336605
336606         · 2c55c55ff1 Raise error if dracr password is above 20 chars
336607
336608       · ISSUE  #29133:  (cedwards)  FX2  proxy-minion dellchassis idrac state
336609         incomplete (refs: #29441)
336610
336611       · PR #29441: (rallytime) Make sure docs line up with blade_idrac  func‐
336612         tion specs @ 2015-12-05 16:30:27 UTC
336613
336614         · a1ffc5aacb     Merge    pull    request    #29441    from    rally‐
336615           time/fix-doc-dellchassis
336616
336617         · cf62361830 Make sure docs line up with blade_idrac function specs
336618
336619       · PR #29440:  (rallytime)  Back-port  #28925  to  2015.8  @  2015-12-05
336620         00:21:26 UTC
336621
336622         · PR #28925: (pass-by-value) Fx2 firmware update (refs: #29440)
336623
336624         · 6cc6f776bc Merge pull request #29440 from rallytime/bp-28925
336625
336626         · 1b57a57c48 Lint fixes
336627
336628         · 7cea3afb4f Support multiple hosts
336629
336630         · 0be3620715 Set kwarg
336631
336632         · b7324b5102 Add doc for new state
336633
336634         · 613dd0b7a2 Make sure creds are set before racadm update
336635
336636         · 929e679b25 Add firmware update state to dellchassis
336637
336638         · 6356af3b99 Raise error
336639
336640         · 820ad7b3df Validate file existence
336641
336642         · 94704304ec Add firmware update functions to module
336643
336644       · ISSUE  #29425:  (paclat)  services  for  older  OEL  releases. (refs:
336645         #29435)
336646
336647       · PR #29435: (galet) Grains  return  wrong  OS  version  and  other  OS
336648         related values for Oracle Linux @ 2015-12-05 00:19:11 UTC
336649
336650         · 129f45f7c3 Merge pull request #29435 from galet/2015.8
336651
336652         · fdaa81ccf8 Grains return wrong OS version and other OS related val‐
336653           ues for Oracle Linux
336654
336655         · c494ddd5fc Grains return wrong OS version and other OS related val‐
336656           ues for Oracle Linux
336657
336658       · ISSUE   saltstack/salt#29313:   (rmatulat)   state/host.present   and
336659         alias-assignment to multiple IPs fails (refs: #29430)
336660
336661       · PR #29430: (rmatulat) Fix host.present state limitation @  2015-12-04
336662         23:08:20 UTC
336663
336664         · e2b43a3f1e Merge pull request #29430 from rall0r/2015.8
336665
336666         · d3dacff4a2 Fix host.present state limitation
336667
336668       · PR  #29417: (jacobhammons) Repo install updates @ 2015-12-04 02:39:41
336669         UTC
336670
336671         · ab890b632a   Merge   pull    request    #29417    from    jacobham‐
336672           mons/repo-install-updates
336673
336674         · d58182c5fa updated repo path for RHEL installation
336675
336676         · 5e54359869   Updated  Debian,  RHEL  /  Cent,  Ubuntu  installation
336677           instructions  with  new  repo   structure   for   2015.8.3.   Added
336678           CVE-2015-8034 to release notes.
336679
336680       · PR  #29402:  (techhat)  Add  rate  limiting  to  linode  @ 2015-12-03
336681         20:27:10 UTC
336682
336683         · cb1e2e6e73 Merge pull request #29402 from techhat/ratelimit
336684
336685         · f0a4d93077 Add rate limiting to linode
336686
336687       · ISSUE #19332: (QuinnyPig) Nondeterminism in Pillar (refs: #29400)
336688
336689       · PR #29400: (twangboy) Fix #19332 @ 2015-12-03 20:25:16 UTC
336690
336691         · 8fe39d0ef8 Merge pull request #29400 from twangboy/fix_19332
336692
336693         · 7bdddaca53 Fixed grammer
336694
336695         · d965d00a09 Fix #19332
336696
336697       · PR #29398: (cachedout) Lint 29288 @ 2015-12-03 18:03:53 UTC
336698
336699         · d2c0fcbc97 Merge pull request #29398 from cachedout/lint_29288
336700
336701         · 3b0033e529 Lint #29288
336702
336703         · 386459ca6d Merge pull request #1 from jfindlay/glustest
336704
336705           · 4d6c71aa80 modules.glusterfs: fix start_volume unit test
336706
336707         · f336c44630 Bootstrap failed, retrying
336708
336709         · bd729cb3ea Set default GlusterFS version to 6
336710
336711         · 443bfc6a81 Fixed volume status for >= 3.7 in glusterfs.py
336712
336713       · ISSUE #29116: (johnsocp) Unresolvable masters in the minions  masters
336714         list cause minion to raise an error (refs: #29331)
336715
336716       · PR  #29331:  (DmitryKuzmenko)  Bugfix  -  #29116  raet  dns  error  @
336717         2015-12-03 17:10:40 UTC
336718
336719         · 5b8e7820ac    Merge    pull    request    #29331    from    DSRCom‐
336720           pany/bug/29116_raet_dns_error_2
336721
336722         · 8c2b217af5 Make pylint happy
336723
336724         · e5672ee716 Don't exit if no master found
336725
336726         · 1c324f5467 Don't fail if can't connect to master
336727
336728       · PR  #29390: (jacobhammons) updated version numbers in documentation @
336729         2015-12-03 17:02:05 UTC
336730
336731         · 7bc6b1210d Merge pull request #29390 from jacobhammons/2015.8
336732
336733         · 486935b233 updated version numbers
336734
336735       · ISSUE #25446: (DmitryKuzmenko)  Stack  overflow  on  LazyLoader  deep
336736         copying (refs: #29381)
336737
336738       · PR #29381: (nmadhok) No need to deepcopy since six.iterkeys() creates
336739         a copy @ 2015-12-03 15:54:52 UTC
336740
336741         · fd677e1d58  Merge  pull  request  #29381  from  nmadhok/2015.8-run‐
336742           time-fix
336743
336744         · f109698196 No need to deepcopy since six.iterkeys() creates a copy
336745
336746       · PR  #29349: (cro) Fix mis-setting chassis names @ 2015-12-03 00:56:54
336747         UTC
336748
336749         · 2973025058 Merge pull request #29349 from cro/fx2_name_fix
336750
336751         · 95d6d72a5d Fix mis-setting the name of the chassis.
336752
336753       · ISSUE #29236: (sjorge) network.mod_bufsize has wrong docstring (refs:
336754         #29237)
336755
336756       · ISSUE #29235: (sjorge) network.get_bufsize has wrong docstring (refs:
336757         #29237)
336758
336759       · ISSUE #29234: (sjorge) network.dig should only  be  available  if  we
336760         have the 'dig' binary (refs: #29237)
336761
336762       · ISSUE  #29233:  (sjorge) network.default_route does not seem to honor
336763         the family parameter (refs: #29237)
336764
336765       · ISSUE #29232: (sjorge) network.active_tcp seems linux specific (refs:
336766         #29237)
336767
336768       · ISSUE  #29231:  (sjorge)  docstrings  in  salt/utils/network.py   are
336769         incorrect (refs: #29237)
336770
336771       · PR #29334:  (rallytime)  Back-port  #29237  to  2015.8  @  2015-12-02
336772         19:37:31 UTC
336773
336774         · PR #29237: (sjorge) Module network fixes (refs: #29334)
336775
336776         · 17d80c051a Merge pull request #29334 from rallytime/bp-29237
336777
336778         · 598226def1 fix unit test (attempt 1)
336779
336780         · a461d7bf12  changed  from  Boron  to 2015.8.4, so this can be back‐
336781           ported
336782
336783         · 3892b12514 fix up a few remarks from jfindlay
336784
336785         · 2f940e22aa also we should keep returning {} for other systems
336786
336787         · 4953f58894 forgot to remove a debug line, how embarasing
336788
336789         · e96f3c0c3b fix docs in salt/utils/network.py #29231  -  looks  like
336790           this got copied at some point
336791
336792         · 3888bb403f  fixup  network.default_route  with  family set on SunOS
336793           #29233
336794
336795         · c0e6ea98a6 fix network.active_tcp on SunOS (we  fake  it  until  we
336796           make it) #29232
336797
336798         · 92f881284e add decorator to network.dig #29234
336799
336800         · 77950eb55c fix docstring for get_bufsize #29235
336801
336802         · 52fb80cd18 fix docstring for mod_bufsize #29236
336803
336804       · ISSUE #28990: (adithep) Dockerng volume (refs: #29300)
336805
336806       · PR  #29300: (ticosax) [dockerng] Add support for volume management in
336807         dockerng @ 2015-12-02 17:48:53 UTC
336808
336809         · 5ec7947595 Merge pull request #29300 from ticosax/dockerng-volumes
336810
336811         · 80d085ea92 fix typo
336812
336813         · cb9cb463b0 Provide states for managing docker volumes
336814
336815         · dff6fa1fb2 Add execution module to manage docker volumes
336816
336817       · PR  #29218:  (clan)  check  service  enable  state  in  test  mode  @
336818         2015-12-02 15:31:00 UTC
336819
336820         · 99b7d87688 Merge pull request #29218 from clan/service_state
336821
336822         · a1250a9729 check service enable state in test mode
336823
336824       · PR   #29315:  (jfindlay)  dev  tutorial  doc:  fix  markup  errors  @
336825         2015-12-01 21:42:17 UTC
336826
336827         · 08ced73b13 Merge pull request #29315 from jfindlay/docs
336828
336829         · e8e23dc444 dev tutorial doc: fix markup errors
336830
336831       · PR #29317: (basepi) [2015.8] Merge forward from 2015.5  to  2015.8  @
336832         2015-12-01 21:28:30 UTC
336833
336834         · a3a463ff8b   Merge   pull  request  #29317  from  basepi/merge-for‐
336835           ward-2015.8
336836
336837         · 0d90dd3a19  Merge  remote-tracking  branch  'upstream/2015.5'  into
336838           merge-forward-2015.8
336839
336840         · 14e94b3593   Merge   pull  request  #29316  from  basepi/merge-for‐
336841           ward-2015.5
336842
336843           · 33f40b3c47 Merge remote-tracking  branch  'upstream/2014.7'  into
336844             merge-forward-2015.5
336845
336846           · d2fb2109a3 Merge pull request #29296 from douardda/patch-3
336847
336848           · d2885390f4 Use process KillMode on Debian systems also
336849
336850         · 6a2ffbfb7c       Merge      pull      request      #29216      from
336851           clan/file_search_on_proc_file
336852
336853           · 91a20c07a1 try mmap first
336854
336855           · 8aa4f2053e remove extra space to fix lint failure
336856
336857           · d34e6b1a9a use read only if has read() method
336858
336859           · 3209c1cdb5 size is 0 doesn't mean no data, e.g, /proc/version
336860
336861         · d6aaae8d7b Merge pull request #29261 from attiasr/patch-1
336862
336863           · 7a99b90596 add log and return if pkg already installed
336864
336865           · 1843c7ab8e fix incorrect reinstallation of windows pkg
336866
336867         · 9236188867 Merge pull request #29214 from cro/ssl_verify_ssl
336868
336869           · e9c13c561b Doc bug--salt.utils.http takes verify_ssl not ssl_ver‐
336870             ify.
336871
336872         · df7b35a86b Merge pull request #29204 from lorengordon/fix-29202
336873
336874         · b1dae5e6fe Use os.path.join to return full path to ca bundle
336875
336876       · PR #29240: (clan) handle acl_type [[d]efault:][user|group|mask|other]
336877         @ 2015-12-01 17:56:20 UTC
336878
336879         · 39667fda12 Merge pull request #29240 from clan/linux_acl
336880
336881         · 02429aca69 handle acl_type [[d]efault:][user|group|mask|other]
336882
336883       · PR  #29305:  (lorengordon)  Add  'file'  as  a  source_hash  proto  @
336884         2015-12-01 17:39:37 UTC
336885
336886         · 027bed7c90    Merge    pull    request    #29305   from   lorengor‐
336887           don/source_hash_protos
336888
336889         · 53fdf0bf97 Update message for invalid source_hash
336890
336891         · 2d20d71bd5 Add file as a source_hash proto
336892
336893       · ISSUE #29251: (adamsewell) status.uptime causes exception on  Windows
336894         minion 2015.8.1 (refs: #29272)
336895
336896       · PR  #29272:  (jfindlay)  win_status  module:  handle  12 hour time in
336897         uptime @ 2015-12-01 16:33:12 UTC
336898
336899         · 1129ee1d2e Merge pull request #29272 from jfindlay/win_up_time
336900
336901         · 6a2315109e win_status module: python timedelta to find uptime
336902
336903         · b7a535341f win_status module: handle 12 hour time in uptime
336904
336905       · ISSUE #26526: (JensRantil) Managing a  file://  source  fails  (refs:
336906         #29289)
336907
336908       · PR  #29289:  (terminalmage) file.managed: Allow local file sources to
336909         use source_hash @ 2015-12-01 16:19:27 UTC
336910
336911         · 0fd3e8b0fb Merge pull request #29289 from terminalmage/issue26526
336912
336913         · 64ae3f996e  file.managed:  Allow  local   file   sources   to   use
336914           source_hash
336915
336916       · ISSUE  #29262:  (anlutro) ssh_auth.absent removes keys when test=True
336917         (refs: #29264)
336918
336919       · PR  #29264:  (anlutro)  Prevent  ssh_auth.absent  from  running  when
336920         test=True @ 2015-11-30 21:54:15 UTC
336921
336922         · 8d32d8d43d       Merge      pull      request      #29264      from
336923           alprs/fix-ssh_auth_absent_test
336924
336925         · 9193676f9c fix ssh_auth_test
336926
336927         · febbfa792f prevent ssh_auth.absent from running when test=True
336928
336929       · ISSUE  #29071:  (eliasp)  git_pillar.update   runner   can't   handle
336930         >=2015.8.0 configuration (refs: #29277)
336931
336932       · PR #29277: (terminalmage) Update git_pillar runner to support new git
336933         ext_pillar config schema @ 2015-11-30 21:39:51 UTC
336934
336935         · 459d30f27f Merge pull request #29277 from terminalmage/issue29071
336936
336937         · 6981bb3be7 Update git_pillar runner to support new  git  ext_pillar
336938           config schema
336939
336940         · 293c8e635c Separate repo locking logic into its own function
336941
336942       · PR  #29283:  (cachedout)  Single-quotes  and  use format @ 2015-11-30
336943         21:34:41 UTC
336944
336945         · PR #29139: (thomaso-mirodin) [salt-ssh]  Add  a  range  roster  and
336946           range targeting options for the flat roster (refs: #29283)
336947
336948         · df1f0d93c7 Merge pull request #29283 from cachedout/style_29139
336949
336950         · d764497b17 Single-quotes and use format
336951
336952       · PR  #29139: (thomaso-mirodin) [salt-ssh] Add a range roster and range
336953         targeting options for the flat roster  (refs:  #29283)  @  2015-11-30
336954         21:25:50 UTC
336955
336956         · 3aa84b6763       Merge      pull      request      #29139      from
336957           thomaso-mirodin/salt-ssh-flat-roster-range-filter
336958
336959         · 56b3302fe9 Pylint fixes for PR #29139
336960
336961         · e010f2d3b5 Add a range roster for salt-ssh
336962
336963         · c5eeb77ebc Add range support to salt-ssh's flat roster
336964
336965       · PR #29282: (cachedout) dev  docs:  add  development  tutorial  (refs:
336966         #29282) @ 2015-11-30 21:14:50 UTC
336967
336968         · dbf7755aa2 Merge pull request #29282 from cachedout/fix_29279
336969
336970         · 1efaab2dd5 Fix typo in #29279
336971
336972         · a5ea39132f dev docs: add development tutorial
336973
336974       · ISSUE  #28991: (timcharper) allow role-assumption with s3 credentials
336975         (refs: #28994)
336976
336977       · PR #28994: (timcharper) add support to s3 for aws role  assumption  @
336978         2015-11-30 20:52:18 UTC
336979
336980         · 87e4aa4fae Merge pull request #28994 from timcharper/2015.8.1-dev
336981
336982         · e060986828 add support to s3 for aws role assumption
336983
336984       · ISSUE  #29209:  (ssgward)  SPM logging level doesn't seem to be func‐
336985         tional (refs: #29278)
336986
336987       · PR #29278: (techhat) Add verify_log to SPM @ 2015-11-30 20:48:32 UTC
336988
336989         · 3d16434f14 Merge pull request #29278 from techhat/issue29209
336990
336991         · 759e8c4542 Add verify_log to SPM
336992
336993       · PR #29067: (jacksontj) Fix infinite recursion in state  compiler  for
336994         prereq of SLSs @ 2015-11-30 20:27:09 UTC
336995
336996         · d651d7167e Merge pull request #29067 from jacksontj/2015.8
336997
336998         · 64e439cda2 Add test for infinite recursion with sls prerequisites
336999
337000         · d687682016  No  reason  to  continuously resolve the k, v pair here
337001           since it doesn't change in the inner loop
337002
337003         · 6d747df5db Correctly resolve requisite_in for SLS requisites
337004
337005       · ISSUE #29161: (jefferyharrell) saltmod.state's ret argument seems  to
337006         do nothing (refs: #29207)
337007
337008       · PR   #29207:  (jfindlay)  do  not  shadow  ret  function  argument  @
337009         2015-11-30 20:14:06 UTC
337010
337011         · d42bcea905 Merge pull request #29207 from jfindlay/ret_non_shadow
337012
337013         · 5de0b93ac6 saltutil.cmd module: do not shadow ret function argument
337014
337015         · 7809f2a389 saltmod.state state: do not shadow ret function argument
337016
337017       · PR #29215:  (rallytime)  Back-port  #29192  to  2015.8  @  2015-11-30
337018         20:12:30 UTC
337019
337020         · PR  #29192:  (bastiaanb)  fix issue 29191: only try partial matches
337021           when a wildcard has been sp… (refs: #29215)
337022
337023         · 8cc1d8de46 Merge pull request #29215 from rallytime/bp-29192
337024
337025         · 5226cd8f79 remove trailing whitespace fix subdict_match test cases
337026
337027         · 44713cdb95 fix issue 29191: only try partial matches when  a  wild‐
337028           card has been specified
337029
337030       · PR #29217: (clan) show duration only if state_output_profile is False
337031         @ 2015-11-30 20:11:18 UTC
337032
337033         · PR #19320: (clan) add  'state_output_profile'  option  for  profile
337034           output (refs: #29217)
337035
337036         · f488d25911 Merge pull request #29217 from clan/highstate_duration
337037
337038         · 9bdaae8325 show duration only if state_output_profile is False
337039
337040       · PR  #29221:  (ticosax)  [dokcerng]  Docu  network  mode  @ 2015-11-30
337041         19:22:49 UTC
337042
337043         · e5bd1c293d Merge pull request #29221 from ticosax/docu-network_mode
337044
337045         · a0b674a0ea Extend documentation of network_mode parameter.
337046
337047       · ISSUE #29250: (adamsewell) status.cpu_load is not available  on  Salt
337048         2015.8.1 (refs: #29269)
337049
337050       · PR #29269: (jfindlay) win_status module: fix function names in docs @
337051         2015-11-30 19:14:24 UTC
337052
337053         · 7fd02c2145 Merge pull request #29269 from jfindlay/winstatus
337054
337055         · f2f2dab491 win_status module: fix function names in docs
337056
337057       · PR #29213: (rallytime) Move _wait_for_task func from vmware cloud  to
337058         vmware utils @ 2015-11-30 18:53:24 UTC
337059
337060         · 6c2e62f7d4     Merge    pull    request    #29213    from    rally‐
337061           time/vmware_utils_wait_for_task
337062
337063         · 44e7f83686 Move _wait_for_task func from  vmware  cloud  to  vmware
337064           utils
337065
337066       · PR  #29271:  (techhat)  Pass  full path for digest (SPM) @ 2015-11-30
337067         18:35:42 UTC
337068
337069         · 69cbc09ca0 Merge pull request #29271 from techhat/issue29212
337070
337071         · 6cd6a0ace0 Pass full path for digest (SPM)
337072
337073       · PR #29244: (isbm) List products consistently across all SLES  systems
337074         @ 2015-11-30 18:31:42 UTC
337075
337076         · 1efe484309 Merge pull request #29244 from isbm/isbm-zypper-products
337077
337078         · db36a73b16 Remove code duplication
337079
337080         · d62abedbf7 Remove dead code
337081
337082         · 302b5d3bc1 List products consistently across all SLES systems
337083
337084       · ISSUE #29119: (mo-mughrabi) salt.modules.consul.catalog_register does
337085         not accept address as a string (refs: #29255)
337086
337087       · PR #29255: (garethgreenaway) fixes  to  consul  module  @  2015-11-30
337088         18:30:02 UTC
337089
337090         · 318ad36449    Merge   pull   request   #29255   from   garethgreen‐
337091           away/29119_consul_module_fixes
337092
337093         · 655b0ec403 various fixes to the consul execution module, in partic‐
337094           ular a fix to address #29119
337095
337096       · PR  #29208:  (whytewolf)  Glance  more  profile  errors  @ 2015-11-25
337097         23:50:27 UTC
337098
337099         · b225263279    Merge    pull    request    #29208    from     whyte‐
337100           wolf/glance_more_profile_errors
337101
337102         · c8fe514ec1  found  3  more  spots  where  the profile was not being
337103           passed through.
337104
337105         · b2e3c1f8de Merge pull request #1 from saltstack/2015.8
337106
337107       · ISSUE #29140: (davidballano) mount.unmounted is  not  behaving  as  I
337108         would expect (refs: #29200)
337109
337110       · PR  #29200:  (jfindlay)  mount state: unmount by device is optional @
337111         2015-11-25 20:03:22 UTC
337112
337113         · 6d3c04516f Merge pull request #29200 from jfindlay/singular_umount
337114
337115         · b54de47b1b mount state: unmount by device is optional
337116
337117       · ISSUE #29187: (trevor-h) salt-cloud Windows provisioning on EC2 fails
337118         to use winrm (refs: #29205)
337119
337120       · PR  #29205: (trevor-h) Fixes #29187 - using winrm on EC2 @ 2015-11-25
337121         20:00:01 UTC
337122
337123         · fffcf9fef6      Merge      pull      request      #29205       from
337124           trevor-h/fix-salt-cloud-winrm-ec2
337125
337126         · 48e0edd0d2 Fixes #29187 - using winrm on EC2
337127
337128       · PR  #29170: (cachedout) Migrate pydsl tests to integration test suite
337129         @ 2015-11-25 19:56:48 UTC
337130
337131         · 1937a47dec  Merge  pull  request   #29170   from   cachedout/refac‐
337132           tor_pydsl_test
337133
337134         · 2477ff2eab Add __init__ and pydsl test
337135
337136         · 063f075a99 Add integration renderer tests to the suite
337137
337138         · 81bf332be4 Migrate pydsl tests to integration test suite
337139
337140       · ISSUE  #29137:  (Dravu) MTU is output twice when used in network.man‐
337141         aged (refs: #29198)
337142
337143       · PR  #29198:  (jfindlay)  rh_ip  module:  only  set  the  mtu  once  @
337144         2015-11-25 18:11:09 UTC
337145
337146         · 11d68f7b1c Merge pull request #29198 from jfindlay/single_mtu
337147
337148         · 0a8952f6ac rh_ip module: only set the mtu once
337149
337150       · ISSUE  #29111:  (eliasp)  Backtrace  in state ssh_known_hosts.present
337151         when ssh-keygen is not available (refs: #29135)
337152
337153       · PR #29135: (jfindlay) ssh_known_hosts.present state: catch not  found
337154         exc @ 2015-11-25 18:10:43 UTC
337155
337156         · f19355e0bb Merge pull request #29135 from jfindlay/ssh_except
337157
337158         · 363add7131 ssh_known_hosts.present state: catch not found exc
337159
337160       · PR  #29196:  (s0undt3ch)  We need novaclient imported to compare ver‐
337161         sions @ 2015-11-25 17:16:27 UTC
337162
337163         · 6a12197e13 Merge pull request #29196 from s0undt3ch/2015.8
337164
337165         · 78a7c34f2b We need novaclient imported to compare versions
337166
337167       · ISSUE #28072: (jchv) pygit 0.23.2 is not supported in  Salt  2015.8.1
337168         (refs: #29059)
337169
337170       · PR   #29059:   (terminalmage)  Work  around  upstream  pygit2  bug  @
337171         2015-11-25 16:39:30 UTC
337172
337173         · 0c0e15d4e9 Merge pull request #29059 from terminalmage/issue28072
337174
337175         · 82e223087e Work around upstream pygit2 bug
337176
337177       · PR    #29112:    (eliasp)    Prevent    backtrace    (KeyError)    in
337178         ssh_known_hosts.present state @ 2015-11-25 16:25:57 UTC
337179
337180         · cc69c87dd2       Merge      pull      request      #29112      from
337181           eliasp/ssh_known_hosts.present-backtrace-test
337182
337183         · 3f19c311e8 Prevent backtrace (KeyError) in  ssh_known_hosts.present
337184           state
337185
337186       · PR  #29178:  (whytewolf)  Profile  not  being passed to keystone.end‐
337187         point_get in _auth. so if a p… @ 2015-11-25 16:09:49 UTC
337188
337189         · 7775d65089 Merge pull  request  #29178  from  whytewolf/glance_key‐
337190           stone_profile_fix
337191
337192         · 807dd426a6  Profile  not  being  passed to keystone.endpoint_get in
337193           _auth. so if a profiles are being used, then  keystone.endpoint_get
337194           will  not  be able to authenticate causing glance to not be able to
337195           get it's endpoint.
337196
337197   Salt 2015.8.5 Release Notes
337198       Version 2015.8.5 is a bugfix release for 2015.8.0.
337199
337200       IMPORTANT:
337201          About this Release  Salt  2015.8.5  is  identical  to  the  2015.8.4
337202          release  with  the  addition  of a fix for issue #30820, fixed by PR
337203          #30833. See here for the 2015.8.4 release notes.
337204
337205   Known Issue in boto_* execution modules
337206       This release contains an issue that causes the boto_* execution modules
337207       to display a __salt__ not defined error (issue #30300). This issue will
337208       be fixed in an upcoming release, but can be manually resolved  by  com‐
337209       pleting the following:
337210
337211       1. Download  the boto_* execution modules that you would like to update
337212          from the 2015.8 branch of Salt. A complete list of affected  modules
337213          with the specific changes is available in :pull`30867`.
337214
337215          A simple way to get the updated modules is to download a zip file of
337216          the 2015.8 branch from  GitHub.  The  updated  modules  are  in  the
337217          salt\modules directory.
337218
337219       2. Place the boto_* modules into salt://_modules.
337220
337221       3. Run the following command to sync these modules to all Salt minions:
337222
337223             salt '*' saltutil.sync_modules
337224
337225   Changelog for v2015.8.4..v2015.8.5
337226       Generated at: 2018-05-27 23:47:32 UTC
337227
337228       · c7db4350d5 Fix regression in scanning for state with 'name' param
337229
337230   Salt 2015.8.7 Release Notes
337231       Version 2015.8.7 is a bugfix release for 2015.8.0.
337232
337233       NOTE:
337234          Salt  2015.8.4,  2015.8.5,  and  2015.8.7 were all released within a
337235          short period due to regressions found soon  after  the  releases  of
337236          2015.8.4  and 2015.8.5. See here for the 2015.8.4 release notes, and
337237          here for the 2015.8.5 release notes.
337238
337239   Statistics
337240       · Total Merges: 2
337241
337242       · Total Issue References: 1
337243
337244       · Total PR References: 5
337245
337246       · Contributors: 4 (gtmanfred, justinta, pass-by-value, terminalmage)
337247
337248   Change to Epoch Support for YUM/DNF
337249       For pkg.installed states, on Linux  distributions  which  use  yum/dnf,
337250       packages  which have a non-zero epoch in the version number now require
337251       this epoch to be included when specifying an exact version for a  pack‐
337252       age. For example:
337253
337254          vim-enhanced:
337255            pkg.installed:
337256              - version: 2:7.4.160-1.el7
337257
337258       The  pkg.latest_version and pkg.list_repo_pkgs functions can be used to
337259       get the correct version string to use, as they  will  now  contain  the
337260       epoch when it is non-zero.
337261
337262   Changelog for v2015.8.5..v2015.8.7
337263       Generated at: 2018-05-28 00:17:59 UTC
337264
337265       · PR  #31111:  (justinta) Fixes failing npm test on arch.  @ 2016-02-10
337266         21:51:47 UTC
337267
337268         · 8d84c636cf Merge pull request #31111 from jtand/8_4_npm_fix
337269
337270         · b0a48e5ef2 Fixes failing npm test on arch.
337271
337272         · PR #30217: (pass-by-value) Make sure cloud actions  can  be  called
337273           via salt run
337274
337275       · ISSUE  #31014: (gtmanfred) [2015.8] pkg breaks for yum pkgs.latest if
337276         the packages has an epoch (refs: #31031, #31015)
337277
337278       · PR #31092: (terminalmage) Apply PR  #31031  to  2015.8.4.follow_up  @
337279         2016-02-10 20:54:37 UTC
337280
337281         · PR  #31031:  (terminalmage)  More  complete  fix  for #31014 (refs:
337282           #31092)
337283
337284         · PR #31015: (gtmanfred) include possible epoch in  version  for  rpm
337285           (refs: #31031)
337286
337287         · 5a6a93e98b    Merge    pull    request    #31092   from   terminal‐
337288           mage/issue31014-2015.8.4.follow_up
337289
337290           · 2767a4e519 Don't handle epoch specially for dnf
337291
337292           · e5dfcc0ef2 More efficient way to add  the  epoch  before  version
337293             number
337294
337295           · ed7462793c include possible epoch in version for rpm
337296
337297         · 6c6b66aedd Comment multiprocessing line in minion config
337298
337299         · 1f7dfefc4a Set multiprocessing to true in config.py
337300
337301         · 433c645c20 Fix remove placeholder files
337302
337303         · 71037560d4 Remove placeholder files
337304
337305         · 20b381fdf7 Set overwrite to off
337306
337307         · ca50f56d6c Fix boto_secgroup
337308
337309         · fd571d23de Fix boto test failures
337310
337311         · cfb6588744 Fix regression when contents_pillar/contents_grains is a
337312           list.
337313
337314         · 881d8669e3 utils.aws: use time lib to conver to epoch seconds
337315
337316         · 31412920fc The call to cp.get_url  needs  the  saltenv,  if  you're
337317           using environments other than base, it will fail.
337318
337319         · a8694014a9  Fix  regression in git_pillar when multiple remotes are
337320           configured
337321
337322         · 2243f25be5 Properly set the default value for pillar_merge_lists
337323
337324         · c7472ff6aa Lint
337325
337326         · d868711a83 Fix failing boto_vpc module unit tests
337327
337328         · ed09516469 Fix failing state module tests
337329
337330         · fd0e940088 Pylint fix
337331
337332         · bc780a7c25 Don't use pack=pack. Just pass in pack=__salt__ always.
337333
337334         · 1ae022dbfe Pass in 'pack' variable to utils.boto.assign_funcs func‐
337335           tion from ALL boto modules.
337336
337337         · 1efaff107d Remove bad symlinks in osx pkg dirs
337338
337339   Salt 2015.8.8 Release Notes
337340       Version 2015.8.8 is a bugfix release for 2015.8.0.
337341
337342       IMPORTANT:
337343          Version  2015.8.8.2  was released shortly after 2015.8.8 to fix sev‐
337344          eral known issues.  If you installed 2015.8.8 before 03/30/2016, you
337345          likely  have installed 2015.8.8 and can optionally upgrade (find out
337346          which version you have installed using salt --version.
337347
337348   Statistics
337349       · Total Merges: 313
337350
337351       · Total Issue References: 146
337352
337353       · Total PR References: 312
337354
337355       · Contributors: 74 (Ch3LL, DmitryKuzmenko,  JohannesEbke,  RabidCicada,
337356         Talkless,  The-Loeki,  abednarik, anlutro, basepi, bdrung, cachedout,
337357         captaininspiration,  clarkperkins,  clinta,  cro,  darix,  dmacvicar,
337358         dr4Ke,  dschaller, edencrane, garethgreenaway, gladiatr72, gtmanfred,
337359         iacopo-papalini, isbm, jacksontj, jacobhammons, jakehilton,  jespada,
337360         jfindlay,   joejulian,   justinta,  kiorky,  kraney,  llua,  mcalmer,
337361         mchugh19, mew1033, mlalpho, moltob,  multani,  myii,  opdude,  paiou,
337362         pass-by-value,  peripatetic-sojourner,  pprince,  rallytime,  redmcg,
337363         replicant0wnz, rhansen, rmtmckenzie, s0undt3ch,  sakateka,  sbreidba,
337364         seanjnkns,  sjmh,  sjorge,  skizunov, szeestraten, tbaker57, techhat,
337365         terminalmage,   thusoy,   ticosax,   twangboy,   virtualguy,   vutny,
337366         whiteinge, xmj, xopher-mc, yannis666, youngnick, zygiss)
337367
337368   Security Fix
337369       CVE-2016-3176  Insecure  configuration  of  PAM external authentication
337370       service
337371
337372       This issue affects all Salt versions prior to  2015.8.8/2015.5.10  when
337373       PAM  external authentication is enabled. This issue involves passing an
337374       alternative PAM authentication service with a command that is  sent  to
337375       LocalClient, enabling the attacker to bypass the configured authentica‐
337376       tion service. Thank you to Dylan Frese <dmfrese@gmail.com> for bringing
337377       this issue to our attention.
337378
337379       This  update  defines  the  PAM  eAuth  service that users authenticate
337380       against in the Salt Master configuration.
337381
337382   Read Before Upgrading Debian 7 (Wheezy) from 2015.8.7 to 2015.8.8
337383       Before you upgrade from 2015.8.7 on Debian 7, you must run the  follow‐
337384       ing commands to remove previous packages:
337385
337386          sudo apt-get remove python-pycrypto
337387          sudo apt-get remove python-apache-libcloud
337388
337389       Note that python-pycrypto will likely remove python-apache-libcloud, so
337390       the second command might not be necessary. These have been replaced  by
337391       python-crypto and python-libcloud with ~bpo70+1 moniker.
337392
337393   Read  Before  Upgrading  Debian  8 (Jessie) from Salt Versions Earlier than
337394       2015.8.4
337395       Salt systemd service files are missing the following statement in these
337396       versions:
337397
337398          [Service]
337399          KillMode=process
337400
337401       This  statement  must be added to successfully upgrade on these earlier
337402       versions of Salt.
337403
337404   Changelog for v2015.8.7..v2015.8.8
337405       Generated at: 2018-05-28 00:23:11 UTC
337406
337407       · PR #31964: (jfindlay) update  2015.8.8  release  notes  @  2016-03-17
337408         21:22:04 UTC
337409
337410         · b9d0336cf8 Merge pull request #31964 from jfindlay/2015.8
337411
337412         · b984659678 update 2015.8.8 release notes
337413
337414       · ISSUE  #31586:  (frogunder) Proxy minion service.modules fails (refs:
337415         #31601)
337416
337417       · ISSUE #31585: (frogunder) Proxy minion  commands  causing  exceptions
337418         (refs: #31601)
337419
337420       · PR  #31947: (cro) Move proxymodule assignment earlier in proxy minion
337421         init @ 2016-03-17 18:14:23 UTC
337422
337423         · PR #31601: (cro) Proxy fixes for #31585 and #31586
337424
337425         · fefb694104 Merge pull request #31947 from cro/bp-31601
337426
337427         · 4eb193edb7 Lint, unrelated but fixed anyway.
337428
337429         · d661081016 Lint.
337430
337431         · 59e0a6f923 Dont add this file
337432
337433         · c68b968403 Old-style proxymodules need to be setup earlier in  min‐
337434           ion init. Also include more correct comments in config.py
337435
337436       · PR  #31948:  (rallytime) Revert "not not" deletion and add comment as
337437         to why that is there @ 2016-03-17 17:00:22 UTC
337438
337439         · a86490ee68  Merge   pull   request   #31948   from   rallytime/dis‐
337440           able-pylint-error
337441
337442         · 86196cd59d Revert "not not" deletion and add comment as to why that
337443           is there
337444
337445       · PR #31952: (rallytime)  Fix  lint  for  2015.8  branch  @  2016-03-17
337446         16:59:49 UTC
337447
337448         · db3af864ae Merge pull request #31952 from rallytime/lint-2015.8
337449
337450         · 3e964ec9d4 Fix lint for 2015.8 branch
337451
337452       · PR   #31933:  (rallytime)  Fix  linking  syntax  in  testing  docs  @
337453         2016-03-17 14:44:13 UTC
337454
337455         · 9ab4d6164b Merge pull request #31933 from rallytime/fix-test-links
337456
337457         · 06dd2c0411 Fix linking syntax in testing docs
337458
337459       · ISSUE #31586: (frogunder) Proxy minion service.modules  fails  (refs:
337460         #31601)
337461
337462       · ISSUE  #31585:  (frogunder)  Proxy minion commands causing exceptions
337463         (refs: #31601)
337464
337465       · PR #31930: (cro) Backport changes from 2016.3 @  2016-03-16  22:12:29
337466         UTC
337467
337468         · PR #31601: (cro) Proxy fixes for #31585 and #31586
337469
337470         · 723d0ca19f Merge pull request #31930 from cro/bp-31601
337471
337472         · aa9a288b5a Add these files back in
337473
337474         · 916ef26957 Remove .orig file mistakenly added, reformat example.
337475
337476         · 3c8185571d Lint.
337477
337478         · 9de9b9e86d Missin import
337479
337480         · d571f3b8fe Backport PR`#31601`_
337481
337482       · PR  #31924:  (jfindlay)  update  2015.8.8  release notes @ 2016-03-16
337483         22:10:15 UTC
337484
337485         · ce765ad2df Merge pull request #31924 from jfindlay/2015.8
337486
337487         · 64dd8aebb2 update 2015.8.8 release notes
337488
337489       · ISSUE  #31890:  (damon-atkins)  salt/fileclient.py   get_url   should
337490         include the URL in any error message (refs: #31922)
337491
337492       · PR #31922: (cachedout) For 2015.8 head @ 2016-03-16 19:07:11 UTC
337493
337494         · 390ef9fea7 Merge pull request #31922 from cachedout/issue_31890_1
337495
337496         · da075d9341 For 2015.8 head
337497
337498       · PR #31904: (rallytime) [2015.8] Merge forward from 2015.5 to 2015.8 @
337499         2016-03-16 17:23:54 UTC
337500
337501         · 03e8b72655 Merge pull request #31904 from rallytime/merge-2015.8
337502
337503         · f8b4b1b211 last pylint!
337504
337505         · 892591a39c More pylint fixes
337506
337507         · 35b2076584 Pylint fixes
337508
337509         · 1a1ce05186 Merge branch '2015.5' into '2015.8'
337510
337511           · 440e0dcbe0 Merge pull request #31825 from jtand/udpate_pylintrc
337512
337513             · 9a14e02766 Updated beacons/sh.py to work with enumerate()
337514
337515             · 0ecec691a0 Adjusted beacons to work with enumerate better
337516
337517             · f509b4113e Fixed final lint error
337518
337519             · 5945b3f11f Fix and disable pylint errors
337520
337521             · 06ae6eaf55 Fixed pylint errors on jboss state and module
337522
337523             · de96db97c8 Fixed more pylint errors, and disabled some more
337524
337525             · c07b0a20b5 Merge branch 'lint_fixes' into udpate_pylintrc
337526
337527               · 2e6a152308 Fixed lint error in lxc.py
337528
337529               · 908ca1a439 Fixed lint error in ssh_py_shim
337530
337531               · 404c1b50f7 Changed range(len()) to enumerate()
337532
337533               · 1e13586546 Changed range(len()) to enumerate()
337534
337535             · 9ccce7a9a5 Added more disables
337536
337537             · 9c1aab3b4e Updated .testing.pylintrc to match newer versions of
337538               pylint
337539
337540           · 471c9444a3  Merge  pull  request  #31900  from rallytime/fix-psu‐
337541             til-warning
337542
337543             · 22403d69ae Add "python module" clarification to ps  __virtual__
337544               warning.
337545
337546           · c44c1b5e59  Merge  pull  request  #31878  from rallytime/fix-psu‐
337547             til-warning
337548
337549             · 44b29f72a1 Make sure __virtual__ error message is helpful  when
337550               psutil is missing
337551
337552           · 5c592b6768 Merge pull request #31852 from rallytime/merge-2015.5
337553
337554             · 1470de17fa Merge branch '2014.7' into '2015.5'
337555
337556             · 218c902091 Merge pull request #31834 from jfindlay/2014.7
337557
337558               · 358fdad0c8 add 2014.7.8 release notes
337559
337560             · a423c6cd04 Merge pull request #31833 from jfindlay/2014.7
337561
337562               · 6910fcc584 add 2014.7.9 release notes
337563
337564             · c5e7c03953 Merge pull request #31826 from gtmanfred/2014.7
337565
337566             · d73f70ebb2 Remove ability of authenticating user to specify pam
337567               service
337568
337569           · 0cc1d5db03 Merge pull request #31827 from gtmanfred/2015.5
337570
337571             · 979173b78a Remove ability of authenticating user to specify pam
337572               service
337573
337574           · 8cf0b9eb3d      Merge      pull      request      #31810     from
337575             whiteinge/saltenv-jinja-var
337576
337577             · cb72b19240 Fix outdated Jinja 'env' variable reference
337578
337579       · PR  #31906:   (sbreidba)   Win_dacl   module:   fix   FULLCONTROL   /
337580         FILE_ALL_ACCESS definition @ 2016-03-16 15:20:19 UTC
337581
337582         · a4b3462346 Merge pull request #31906 from sbreidba/win_dacl_fixes
337583
337584         · 54d81b9b42 Fix FULLCONTROL / FILE_ALL_ACCESS definition (bugfix and
337585           code simplification). Use consistent mechanism fro  obtaining  user
337586           SID.  Allow  wildcarding (via optional parameters) for a variety of
337587           methods (get, rm_ace, check_ace).
337588
337589       · PR #31745: (isbm) Fix the always-false behavior on checking  state  @
337590         2016-03-15 23:02:20 UTC
337591
337592         · b068eaa963  Merge  pull  request  #31745 from isbm/isbm-always-min‐
337593           ion-errcode-2-fix
337594
337595         · 1882e1c960 Adjust test
337596
337597         · f96c8f9b5e Keep first level away from lists.
337598
337599         · baaed005b8 Fix PEP8 continuation
337600
337601         · 1db61ea59a Fix the always-false behavior on checking  state  (there
337602           are always lists at some point!)
337603
337604       · PR  #31911:  (rallytime)  Merge  #31903  with pylint fix @ 2016-03-15
337605         20:35:35 UTC
337606
337607         · PR #31903: (terminalmage) Use remote_ref instead  of  local_ref  to
337608           see if checkout is necessary (refs: #31911)
337609
337610         · d05c3eeba9     Merge    pull    request    #31911    from    rally‐
337611           time/merge-31903-with-pylint
337612
337613         · 85e5acd11a Merge #31903 with pylint fix
337614
337615       · PR #31883: (paiou) Fix scaleway cloud provider and manage x86 servers
337616         @ 2016-03-15 20:31:18 UTC
337617
337618         · 819a4a8b54 Merge pull request #31883 from mvpstars/scaleway-x86
337619
337620         · 1662a080e1 Update scaleway cloud provider to manage x86 servers
337621
337622       · PR  #31903: (terminalmage) Use remote_ref instead of local_ref to see
337623         if checkout is necessary (refs: #31911) @ 2016-03-15 20:04:56 UTC
337624
337625         · 142c47c50d Merge pull request #31903 from terminalmage/fix-git-pil‐
337626           lar
337627
337628         · af29940e1c  Use  remote_ref instead of local_ref to see if checkout
337629           is necessary
337630
337631       · PR #31845: (sakateka) Now a check_file_meta deletes  temporary  files
337632         when test=True @ 2016-03-15 19:55:21 UTC
337633
337634         · ffd65c36e5       Merge      pull      request      #31845      from
337635           sakateka/check_file_meta_clean_tmp
337636
337637         · 5b30336b89 Now  a  check_file_meta  deletes  temporary  files  when
337638           test=True
337639
337640       · ISSUE #31791: (alexbleotu) Proxy minion starts spinning after running
337641         state.highstate (refs: #31846)
337642
337643       · ISSUE #31728: (bgridley) Custom grains  syncing  problem  with  proxy
337644         minion which causes high CPU utilization (refs: #31846)
337645
337646       · PR  #31901:  (rallytime)  Back-port  #31846  to  2015.8  @ 2016-03-15
337647         19:12:43 UTC
337648
337649         · PR #31846: (cro) Proxy infinite loop (refs: #31901)
337650
337651         · 7428c73724 Merge pull request #31901 from rallytime/bp-31846
337652
337653         · 1edd6ce302 Extra comment.
337654
337655         · 6c2ef03b11 Fix event bus flood caused by unexpected recursive call.
337656
337657       · PR #31905: (terminalmage) Update versionadded directive @  2016-03-15
337658         18:43:06 UTC
337659
337660         · 37f1ce9be2  Merge pull request #31905 from terminalmage/update-ver‐
337661           sionadded
337662
337663         · dcc196c9e1 Update versionadded directive
337664
337665       · PR #31902: (rallytime)  Update  versionadded  tag  for  new  funcs  @
337666         2016-03-15 18:41:08 UTC
337667
337668         · PR  #31857:  (sjorge)  gen_password  and  del_password missing from
337669           solaris_shadow (refs: #31902)
337670
337671         · 35f6407d11 Merge pull  request  #31902  from  rallytime/update-ver‐
337672           sion-31857
337673
337674         · 5cd09150cd Update versionadded tag for new funcs
337675
337676       · PR   #31888:   (terminalmage)   Fix  salt.utils.decorators.Depends  @
337677         2016-03-15 17:09:54 UTC
337678
337679         · 1be9c91761   Merge   pull    request    #31888    from    terminal‐
337680           mage/fix-depends-decorator
337681
337682         · 394410e2b0 Add integration test for depends decorator
337683
337684         · caa3cc1007 Fix salt.utils.decorators.Depends
337685
337686       · PR  #31857:  (sjorge)  gen_password  and  del_password  missing  from
337687         solaris_shadow (refs: #31902) @ 2016-03-14 20:29:51 UTC
337688
337689         · d357e4ea44 Merge pull request #31857 from sjorge/solarish_shadow
337690
337691         · 38231303f3 .9 release as mentioned by rallytime
337692
337693         · 3e25f70968 fix version added
337694
337695         · d768ed25b4 develop, 2016.3 and 2015.8 has missing gen_password  and
337696           del_password for shadow module
337697
337698       · PR #31879: (cro) Clarify some comments @ 2016-03-14 19:59:35 UTC
337699
337700         · 1b0b2d3f1a Merge pull request #31879 from cro/idrac_fixes_0314
337701
337702         · 42ef3a7970 Extra comment.
337703
337704       · ISSUE  #8927:  (brutasse)  file  state: unable to use contents_pillar
337705         with template: jinja (refs: #31815)
337706
337707       · ISSUE #26944: (boltronics) file.managed contents and  contents_pillar
337708         should support a template rendering engine (refs: #31815)
337709
337710       · ISSUE #14664: (jacksontj) Unable to have a template with file.managed
337711         contents (or contents_pillar) (refs: #31815)
337712
337713       · PR #31815: (dr4Ke) Fix  template  on  contents  2015.8  @  2016-03-14
337714         17:41:46 UTC
337715
337716         · fb81bbea23   Merge   pull   request   #31815   from  dr4Ke/fix_tem‐
337717           plate_on_contents_2015.8
337718
337719         · dcd6f5a5a9 test for file.apply_template_on_contents
337720
337721         · 10d882296d file.managed: templating contents, not just files
337722
337723       · PR #31818: (anlutro) Prevent event logs from writing huge amounts  of
337724         data @ 2016-03-14 17:27:47 UTC
337725
337726         · aa120cb716  Merge  pull  request  #31818  from alprs/fix-event_log‐
337727           ging_spam
337728
337729         · 83fa136da7 work on event logging
337730
337731       · ISSUE #31293: (deuscapturus) Git Pillars  lose  HEAD  reference  over
337732         time (refs: #31836)
337733
337734       · ISSUE  #29239:  (timwsuqld) Occasionaly git_pillar pull fails causing
337735         incorrect results of highstate (when running highstate  for  multiple
337736         minions) (refs: #31836)
337737
337738       · PR  #31836: (terminalmage) Fix git_pillar race condition @ 2016-03-14
337739         15:48:28 UTC
337740
337741         · f2445bdbdc Merge pull request #31836 from terminalmage/issue31293
337742
337743         · 5048fa857c Fix duplicate output
337744
337745         · 155b84b88a salt.fileserver: Add ability to clear checkout locks
337746
337747         · af410d8dd1 Pass through the lock_type
337748
337749         · 3d7796d5dd salt.runners.cache: Add ability to clear checkout locks
337750
337751         · 8e086099f5 salt.utils.gitfs: rewrite locking code
337752
337753         · 06b212519c Add GitLockError exception class
337754
337755         · ad04ccfb93 Strip whitespace when splitting
337756
337757       · PR #31824:  (rallytime)  Back-port  #31819  to  2015.8  @  2016-03-13
337758         19:59:32 UTC
337759
337760         · PR  #31819:  (mchugh19)  raise  error  on unsupported distro (refs:
337761           #31824)
337762
337763         · 5464be07b1 Merge pull request #31824 from rallytime/bp-31819
337764
337765         · 4d516adade raise error on unsupported distro
337766
337767       · ISSUE #24559: (iacopo-papalini) salt-cloud - Azure - should be possi‐
337768         ble  to  specify  virtual  network & subnet in profile (refs: #31856,
337769         #24569)
337770
337771       · PR #31856: (szeestraten) Adds missing docs for  Virtual  Network  and
337772         Subnet  options  in  salt-cloud  Azure  cloud  profile  @  2016-03-13
337773         19:06:52 UTC
337774
337775         · PR #24569: (iacopo-papalini) Fix Issue #24559 - salt-cloud -  Azure
337776           - should be possible to specify… (refs: #31856)
337777
337778         · 7781b357e0  Merge  pull  request  #31856 from szeestraten/add-miss‐
337779           ing-docs-for-azure-cloud-profile
337780
337781         · a1a2229405 Adds missing docs for Azure cloud profile
337782
337783       · PR  #31839:  (jfindlay)  add  2015.8.8  release  notes  @  2016-03-11
337784         23:23:34 UTC
337785
337786         · 3f88f3a8cf Merge pull request #31839 from jfindlay/2015.8
337787
337788         · 47ac41ba27 add 2015.8.8 release notes
337789
337790       · PR #31828: (gtmanfred) Remove ability of authenticating user to spec‐
337791         ify pam service @ 2016-03-11 20:40:37 UTC
337792
337793         · 46bdd10a56 Merge pull request #31828 from gtmanfred/2015.8
337794
337795         · 7c3134a3d3 Remove ability of authenticating  user  to  specify  pam
337796           service
337797
337798       · ISSUE  #30489: (chris-martin) influxdb_user.present fails: "InfluxDB‐
337799         Client' object  has  no  attribute  'get_list_cluster_admins"  (refs:
337800         #31787, #31770)
337801
337802       · PR  #31787:  (anlutro) Fix user_create and db_create for new versions
337803         of influxdb @ 2016-03-11 15:19:22 UTC
337804
337805         · 3d370b471c Merge pull request #31787 from alprs/fix-influxdb_user
337806
337807         · 6a5211c8d8 don't swallow exceptions
337808
337809         · a7e9c1e381 fix db_create for influxdb 0.9+
337810
337811         · 5a8a645d4b fix create_user for new versions of influxdb
337812
337813       · PR #31800: (rallytime) [2015.8] Merge forward from 2015.5 to 2015.8 @
337814         2016-03-10 20:49:53 UTC
337815
337816         · 7fb2331ebc Merge pull request #31800 from rallytime/merge-2015.8
337817
337818         · 44c15f0b16 Merge branch '2015.5' into '2015.8'
337819
337820         · 970ef0e445     Merge     pull     request    #31744    from    bre‐
337821           joc/fix-attribute-error-with-older-libcloud/2015.5
337822
337823           · bb29dc2283 Added version to libcloud depends statement
337824
337825           · 87f9534fce Added log message with update suggestion for libcloud
337826
337827           · 72eab406cd Fix for AttributeError with libcloud <0.15
337828
337829         · df2d23ba5d Merge pull request #31740 from terminalmage/issue31666
337830
337831           · aeaf5864cd Fall back to False when pillar_opts not set
337832
337833           · fe19d77eb4 Add default value for pillar_opts on minion
337834
337835         · e22f5c0a26 Merge pull request #31750 from rallytime/bp-26170
337836
337837           · 3c11234a05 Make sure variable  is  a  dictionary  before  popping
337838             something from it.
337839
337840         · 9162925dd0 Merge pull request #31689 from rallytime/bp-29467
337841
337842           · 1f8f4cb99b Update module.py
337843
337844       · PR   #31797:   (Ch3LL)   Change   pkg   name   to   less   for   suse
337845         pkg.info_installed test @ 2016-03-10 19:08:16 UTC
337846
337847         · 75dfb2ed40 Merge pull request #31797 from Ch3LL/fix_pkginfo_test
337848
337849         · 910f0d9ffc change pkg name to less for suse
337850
337851       · ISSUE #31617: (tampakrap) service.running fails on sle11 sp3 and  sp4
337852         (refs: #31629, #31793)
337853
337854       · PR  #31793: (xopher-mc) fixing init system detection on sles 11, refs
337855         #31617 @ 2016-03-10 18:42:27 UTC
337856
337857         · 1386b72bbf      Merge      pull      request      #31793       from
337858           xopher-mc/fix_sles_state_service_module
337859
337860         · d242cb19b4 fixing init system dectection on sles 11, refs #31617
337861
337862       · PR #31786: (isbm) Bugfix: zypper doesn't detect base product on SLE11
337863         series @ 2016-03-10 18:12:46 UTC
337864
337865         · 2f28c166dd  Merge   pull   request   #31786   from   isbm/isbm-zyp‐
337866           per-list-products-sles11
337867
337868         · ee1a002673 Update test case to cover SLE11 and SLE12
337869
337870         · 4b134fb2ab Add SLE11 product info snapshot, rename previous
337871
337872         · 3c5fc857b2  Bugfix:  on SLE11 series base product reported as addi‐
337873           tional
337874
337875       · ISSUE #31776: (gtmanfred) ProxyMinion does not close connections  (at
337876         least with esxi proxy) (refs: #31780)
337877
337878       · PR  #31780:  (gtmanfred)  use  already  created  vsphere connection @
337879         2016-03-10 17:41:53 UTC
337880
337881         · d6f669623c Merge pull request #31780 from gtmanfred/2015.8
337882
337883         · 070eaf07f0 use already created vsphere connection
337884
337885       · ISSUE #31772: (sbreidba) win_dacl state causes state.apply output  to
337886         be YAML, not highstate (refs: #31779)
337887
337888       · PR  #31779:  (sbreidba) win_dacl state & module: return comment field
337889         as strings, not lists.  @ 2016-03-10 17:41:08 UTC
337890
337891         · a067de3712 Merge pull request #31779  from  sbreidba/win-dacl-high‐
337892           state-output-2015.8
337893
337894         · aeb2bfcf46  win_dacl  state  &  module:  return  comment  field  as
337895           strings, not lists.
337896
337897       · ISSUE #31563:  (sjorge)  regression  in  2016.3  from  today?  (refs:
337898         #31723, #31707)
337899
337900       · PR   #31723:  (sjorge)  file_ignore_regex  is  a  list,  not  bool  @
337901         2016-03-09 23:36:10 UTC
337902
337903         · PR #31707: (sjorge) Fix incorrect default types for master_tops and
337904           file_ignore_regex  (refs: #31723)
337905
337906         · baeefac252       Merge      pull      request      #31723      from
337907           sjorge/2015.8-file_ignore_regex
337908
337909         · df1ba94cbb file_ignore_regex is a list, not bool
337910
337911       · ISSUE #27960: (The-Loeki) salt-cloud CLI 2015.8 borks out with  Salt‐
337912         ClientError: 'timeout' (refs: #31747)
337913
337914       · PR  #31747: (techhat) Use get_local_client with MASTER opts, not MIN‐
337915         ION @ 2016-03-09 23:14:58 UTC
337916
337917         · cd43cf919c Merge pull request #31747 from techhat/issue27960
337918
337919         · 44c100d610 Use get_local_client with MASTER opts, not MINION
337920
337921       · PR #31688: (whiteinge)  Various  SMTP  returner  fixes  @  2016-03-09
337922         22:40:37 UTC
337923
337924         · 286ea1f61b Merge pull request #31688 from whiteinge/smtp-renderer
337925
337926         · 76671b6a81 Check if we have a StringIO and grab the string instead
337927
337928         · 17b8cd755f Add a default for the subject
337929
337930         · 26479bee24  Clean up the SMTP returner docstring and show an actual
337931           config example
337932
337933         · 74563f17ed Make sure the email subject and body are strings
337934
337935         · fc69d08e8e Default to just 'jinja' for the SMTP renderer
337936
337937         · 2af7cd2789 Add missing 'port' to smtp options
337938
337939       · PR #31752:  (rallytime)  Back-port  #31686  to  2015.8  @  2016-03-09
337940         21:23:01 UTC
337941
337942         · PR  #31686:  (myii)  Fix typo in example for section winrepo_dir_ng
337943           (refs: #31752)
337944
337945         · 1d6d982e5c Merge pull request #31752 from rallytime/bp-31686
337946
337947         · e4df5d9a55 Fix typo in example for section winrepo_dir_ng
337948
337949       · PR #31733: (jacobhammons)  docs  to  clarify  cloud  configuration  @
337950         2016-03-09 20:54:10 UTC
337951
337952         · ec90294442 Merge pull request #31733 from jacobhammons/cloud-docs
337953
337954         · 209c641a41 Made udpates as suggested by @rallytime
337955
337956         · 26d4991cb3  moved  previous  intro  to  new quick start topic (top‐
337957           ics/cloud/qs.rst) added new intro that explains the salt cloud con‐
337958           figuration  files  added  an  inheritance  and minion startup state
337959           example to topics/cloud/config.rst
337960
337961       · ISSUE #26498: (rallytime) [salt-cloud] Able to  create  multiple  VMs
337962         with the same name across providers (refs: #31754, #31775)
337963
337964       · PR  #31775:  (techhat) Show correct provider/driver name @ 2016-03-09
337965         20:53:10 UTC
337966
337967         · 92ba7f3495 Merge pull request #31775 from techhat/correctmsg
337968
337969         · c1433650b4 Show correct provider/driver name
337970
337971       · ISSUE #26498: (rallytime) [salt-cloud] Able to  create  multiple  VMs
337972         with the same name across providers (refs: #31754, #31775)
337973
337974       · PR  #31754: (techhat) Check all providers, not just the current one @
337975         2016-03-09 18:38:19 UTC
337976
337977         · 249a3602eb Merge pull request #31754 from techhat/issue26498
337978
337979         · 08c61446b7 Check all providers, not just the current one
337980
337981       · ISSUE #31639: (mshirley) salt-cloud  digital  ocean  api  v2  doesn't
337982         implement all available actions (refs: #31735)
337983
337984       · PR #31735: (rallytime) Add reboot, start, and stop actions to digital
337985         ocean driver @ 2016-03-09 17:57:58 UTC
337986
337987         · 7ad521f7a5 Merge pull request #31735 from rallytime/fix-31639
337988
337989         · 67d1aa6740 Remove experimental/incomplete function
337990
337991         · b209623ca9 Add reboot, start, and stop  actions  to  digital  ocean
337992           driver
337993
337994       · ISSUE  #30489: (chris-martin) influxdb_user.present fails: "InfluxDB‐
337995         Client' object  has  no  attribute  'get_list_cluster_admins"  (refs:
337996         #31787, #31770)
337997
337998       · PR #31770: (anlutro) Fix influxdb user functionality for version 0.9+
337999         @ 2016-03-09 17:09:26 UTC
338000
338001         · fd3610c6a4 Merge pull request #31770 from alprs/fix-influxdb_user
338002
338003         · 1349bdd2e8 fix influxdb user functionality for version 0.9+
338004
338005       · PR #31743: (Talkless) Fix parentheses missmatch  in  documentation  @
338006         2016-03-08 18:01:23 UTC
338007
338008         · c0868307df Merge pull request #31743 from Talkless/patch-1
338009
338010         · 26ff46dbc6 Fix parenthesis missmatch in documentation
338011
338012       · PR  #31162:  (isbm)  Remove MD5 digest from everywhere and default to
338013         SHA256 @ 2016-03-07 19:11:36 UTC
338014
338015         · 826fea6582 Merge pull request #31162 from isbm/isbm-md5-to-sha1
338016
338017         · 9d64abed0c Fix PyLint
338018
338019         · 327ea11139 Add daemons unit test to verify hash_type settings
338020
338021         · f3aecc0b22 Standardize logging
338022
338023         · 51f556243d Verify if hash_type is using vulnerable algorithms
338024
338025         · 95ec634f00 Report environment failure, if any
338026
338027         · 63eedefe54 Use mixin for the daemon classes
338028
338029         · 82dd383630 Create a mixin class that will be reused in the  similar
338030           instances (daemons)
338031
338032         · 36da8f5efa Use MD5 hash algorithm by default (until deprecated)
338033
338034         · 584325797c Remove SHA1 in favor of SHA256
338035
338036         · 373493c13f Remove SHA1 for SHA256
338037
338038         · d5cb4dd424 Remove sha1 to sha265
338039
338040         · 73b8d35e01 Add note to the Tomcat module for SHA256
338041
338042         · efb78f1055 Remove SHA1 to SHA265 by default
338043
338044         · 6198976edb Use SHA1 by default instead of MD5
338045
338046         · 73f2df76ce  Use SHA1 hash by default in Tomcat module, refactor for
338047           support different algorithms
338048
338049         · 0d4e4e31f8 Use SHA1 hash by default
338050
338051         · 785717703b Use configurable hash_type for general Key  fingerprint‐
338052           ing
338053
338054         · f0d931f4d0 Use hash_type configuration for the Cloud
338055
338056         · 95cb59dec7 Set defalt hash as SHA1 in config and explain why.
338057
338058         · 8f9543c292 Set config hash_type to SHA1
338059
338060         · 413eca124d Set default checksum for key fingerprint to SHA1
338061
338062       · ISSUE  #30528:  (UtahDave)  Missing Minion notifications missing from
338063         job cache (refs: #31670)
338064
338065       · PR #31670: (terminalmage) Write lists of minions targeted  by  syndic
338066         masters to job cache @ 2016-03-07 18:51:53 UTC
338067
338068         · a1f32b71bd Merge pull request #31670 from terminalmage/issue30528
338069
338070         · 65e5a3c53e Pass syndic_id to save_minions()
338071
338072         · cf94c2597a Add argument to save_minions() to pass a syndic ID
338073
338074         · cb92114377 Add syndic_id param for API compatibility
338075
338076         · 1d39eec69b Skip events with minion lists but no jid
338077
338078         · 651e3926f7 lint fixes
338079
338080         · 0f175a4edf  salt.returners.sqlite3_return: add no-op save_minions()
338081           func for API compatibility
338082
338083         · f8664103b1 salt.returners.redis_return:  add  no-op  save_minions()
338084           func for API compatibility
338085
338086         · 0ea1b76c22 salt.returners.postgres_local_cache: add no-op save_min‐
338087           ions() func for API compatibility
338088
338089         · d6d794b484 salt.returners.postgres: add no-op  save_minions()  func
338090           for API compatibility
338091
338092         · 82750ab699  salt.returners.pgjsonb:  add  no-op save_minions() func
338093           for API compatibility
338094
338095         · d8f90f6578 salt.returners.odbc: add no-op save_minions()  func  for
338096           API compatibility
338097
338098         · a1957c3706  salt.returners.mysql: add no-op save_minions() func for
338099           API compatibility
338100
338101         · ef6aa5de1c salt.returners.multi_returner: add no-op  save_minions()
338102           func for API compatibility
338103
338104         · 5b4eb58d99  salt.returners.mongo_return:  add  no-op save_minions()
338105           func for API compatibility
338106
338107         · da1acbb8f2 salt.returners.mongo_future_return: add no-op  save_min‐
338108           ions() func for API compatibility
338109
338110         · c13bb6549c salt.returners.memcache_return: add no-op save_minions()
338111           func for API compatibility
338112
338113         · 4322ad9ef3 salt.returners.influxdb_return: add no-op save_minions()
338114           func for API compatibility
338115
338116         · 1dd106183c  salt.returners.etcd_return:  add  no-op  save_minions()
338117           func for API compatibility
338118
338119         · 8e80535516 salt.returners.couchdb_return: add no-op  save_minions()
338120           func for API compatibility
338121
338122         · 44538dfced salt.returners.cassandra_cql_return: add no-op save_min‐
338123           ions() func for API compatibility
338124
338125         · 084a78407a  salt.returners.couchbase_return:   move   minion   list
338126           updates to new save_minions() func
338127
338128         · f731dc5d32  Update a job's minion list to include minion lists for‐
338129           warded by syndic
338130
338131         · 504f7df460 Add utils function to invoke a returner's save_minions()
338132           func
338133
338134         · 0b4616a3eb  Separate writing of serialized minion list into its own
338135           function
338136
338137         · 214fedc3f6 Simplify jobs.get_jobs  logic,  generally  improve  jobs
338138           runner docs
338139
338140         · 3f527be748  Add  an  exception  class  for errors encountered while
338141           locking files.
338142
338143         · 1e6b43eef8 Add a contextmanager for file locking
338144
338145         · 978b6cb32f Add missing RST file for slsutil module
338146
338147         · 2ad8ceffc2 Add salt.utils.split_input()
338148
338149       · ISSUE #31595: (dverbeek84) dockerng  ports  specified  in  Dockerfile
338150         must be in sls file otherwise salt gives an error (refs: #31711)
338151
338152       · PR  #31711:  (ticosax)  [dockerng]  Port and Volume comparison should
338153         consider Dockerfile @ 2016-03-07 18:25:19 UTC
338154
338155         · 24568b1a5d Merge pull request #31711 from ticosax/fix-port-and-vol‐
338156           ume-discovery
338157
338158         · cf38691597 Port and Volume comparison should consider Dockerfile
338159
338160       · ISSUE  #31579:  (bradthurber) salt-cloud delete with a map file fails
338161         when multiple providers defined (refs: #31719)
338162
338163       · PR #31719: (techhat) Don't worry  about  KeyErrors  if  the  node  is
338164         already removed @ 2016-03-07 18:16:40 UTC
338165
338166         · b936e09fb3 Merge pull request #31719 from techhat/issue31579
338167
338168         · 88905095c9  Don't  worry  about  KeyErrors  if  the node is already
338169           removed
338170
338171       · PR #31713: (ticosax)  [dockerng]  Fix  dockerng.network_present  when
338172         container is given by name @ 2016-03-07 15:14:41 UTC
338173
338174         · 604eb87e82 Merge pull request #31713 from ticosax/fix-dockerng-net‐
338175           working-container_id
338176
338177         · 3837cf44ca Fix network_present  by  dealing  with  containers  ID's
338178           instead of names.
338179
338180       · ISSUE #31704: (peripatetic-sojourner) Foreman external pillar doesn't
338181         load (refs: #31705)
338182
338183       · PR  #31705:  (peripatetic-sojourner)  Foreman  pillar  @   2016-03-07
338184         14:24:58 UTC
338185
338186         · 8f28e4510d     Merge     pull    request    #31705    from    peri‐
338187           patetic-sojourner/foreman_pillar
338188
338189         · ba33d75949 passing lint test
338190
338191         · 63e39a8999 refactored parameter population for foreman pillar
338192
338193         · c3325bc15d add return of virtualname
338194
338195       · PR #31702: (rallytime) [2015.8] Merge forward from 2015.5 to 2015.8 @
338196         2016-03-06 19:24:47 UTC
338197
338198         · aa5c13f0b8 Merge pull request #31702 from rallytime/merge-2015.8
338199
338200         · 6559ea15b0 Merge branch '2015.5' into '2015.8'
338201
338202         · d7914cdb14 Merge pull request #31687 from cachedout/rm_gpg_test
338203
338204           · 8b00513ebb Removed useless tests
338205
338206         · bd4d12a155 Merge pull request #31660 from terminalmage/issue31619
338207
338208           · da954d7b92  Add  integration test for packages with epoch in ver‐
338209             sion
338210
338211           · 4fa7e4defe Move epoch removal
338212
338213           · 290192af56 Remove epoch  from  version  string  if  present  when
338214             installing with yum
338215
338216         · e33c1f456a Merge pull request #31683 from rallytime/bp-31578
338217
338218           · 8fe46789b7 allow queueing of state runs through saltmod
338219
338220         · 27f443895d Merge pull request #31682 from cachedout/cache_meaning
338221
338222           · a75e146125 Add definition of job cache to glossary
338223
338224         · bd04c964d1     Merge    pull    request    #31658    from    rally‐
338225           time/add-style-to-contrib
338226
338227           · 6b526b5878 Add mentioned of Salt's Coding Style docs to the  Con‐
338228             tributing docs
338229
338230         · 10658dffe6 Merge pull request #31655 from rallytime/pylint-docs
338231
338232           · 6e0377d376 Make note of pylint dependencies in docs
338233
338234         · 6075774a01   Merge   pull   request   #31440   from  cachedout/mas‐
338235           ter_tops_type
338236
338237           · f49cc75049 Set correct type for master_tops config value
338238
338239       · PR #31700: (s0undt3ch) It's a function!  @ 2016-03-06 17:33:58 UTC
338240
338241         · ace290629e Merge pull request #31700 from s0undt3ch/2015.8
338242
338243         · 1ca2beea3e It's a function!
338244
338245       · PR #31679: (cro)  Fix  bad  link  to  the  sample  REST  endpoint  in
338246         salt-contrib.  @ 2016-03-04 21:05:50 UTC
338247
338248         · cf438aa873 Merge pull request #31679 from cro/proxy_contrib_doc_fix
338249
338250         · d638971b73 Correct url to salt-contrib
338251
338252       · ISSUE  #21932:  (clinta)  Salt Coding Style docs should list require‐
338253         ments for salt pylintrc (refs: #31655)
338254
338255       · PR #31668: (rallytime) Some more testing documentation improvements @
338256         2016-03-04 20:48:57 UTC
338257
338258         · PR #31658: (rallytime) Add mentioned of Salt's Coding Style docs to
338259           the Contributing docs (refs: #31668)
338260
338261         · PR #31655: (rallytime) Make note of  pylint  dependencies  in  docs
338262           (refs: #31668)
338263
338264         · PR  #31641:  (rallytime) Improve Salt Testing tutorial to be a more
338265           comprehensive intro (refs: #31668)
338266
338267         · 97127a8b83 Merge pull request #31668 from rallytime/testing-docs
338268
338269         · beb9d0fe84 Ensure all integration test classes and funcs are  docu‐
338270           mented w/examples
338271
338272         · 7f8ebf7c97 Found another spelling error
338273
338274         · c8c188535f Spelling fix
338275
338276         · f260c51762 Some more testing documentation improvements
338277
338278       · ISSUE  #29753: (jakehilton) New minion fails to authenticate properly
338279         to multi-master setup (refs: #31653)
338280
338281       · PR #31653: (DmitryKuzmenko) Don't  attempt  to  verify  token  if  it
338282         wasn't sent to master.  @ 2016-03-03 17:39:35 UTC
338283
338284         · 2ed7286af1    Merge    pull    request    #31653    from    DSRCom‐
338285           pany/issues/29753_multimaster_auth_fail
338286
338287         · 2557707cc7 Don't attempt to verify token if it wasn't sent to  mas‐
338288           ter.
338289
338290       · ISSUE  #31617: (tampakrap) service.running fails on sle11 sp3 and sp4
338291         (refs: #31629, #31793)
338292
338293       · PR #31629: (darix) Fix services on sles @ 2016-03-03 16:41:27 UTC
338294
338295         · 118fcde425  Merge   pull   request   #31629   from   darix/fix-ser‐
338296           vices-on-sles
338297
338298         · 9b8d6cbb72 make the suse check consistent with rh_service.py
338299
338300         · c0c8a77242 Fix numerical check of osrelease
338301
338302       · PR  #31641:  (rallytime)  Improve  Salt Testing tutorial to be a more
338303         comprehensive intro (refs: #31668) @ 2016-03-03 16:08:47 UTC
338304
338305         · 4d1701de60 Merge pull request #31641  from  rallytime/testing-tuto‐
338306           rial
338307
338308         · 6ab3961748 Improve Salt Testing tutorial to be a more comprehensive
338309           intro
338310
338311       · ISSUE #30651:  (sjorge)  salt.states.grains.list_present  should  not
338312         show changes if none are made! (refs: #31651, #30689)
338313
338314       · PR  #31651:  (dr4Ke)  test  case:  test_list_present_nested_already @
338315         2016-03-03 16:02:55 UTC
338316
338317         · PR  #30689:  (sjorge)  fix  for  #30651   grains.list_present   and
338318           grains.list_absent (refs: #31651, #31271)
338319
338320         · 584f8401b8 Merge pull request #31651 from dr4Ke/test_case_for_30689
338321
338322         · fc9dd356e8 test case: test_list_present_nested_already
338323
338324       · PR  #31643:  (opdude)  Make sure we are really updating the mercurial
338325         repository @ 2016-03-03 14:30:53 UTC
338326
338327         · 5566f1f2a7 Merge pull request #31643  from  Unity-Technologies/hot‐
338328           fix/hg-fix-repo-updated
338329
338330         · ca41c4b8c1  Make  sure we are really updating the mercurial reposi‐
338331           tory
338332
338333       · ISSUE #30761: (sjmh) Cannot target subsets of minions when using pil‐
338334         lar and external_auth (refs: #31598)
338335
338336       · PR  #31598: (terminalmage) Remove limitations on validation types for
338337         eauth targets @ 2016-03-02 22:14:41 UTC
338338
338339         · 36c790eede Merge pull request #31598 from terminalmage/issue30761
338340
338341         · 5dedaa2d9d Remove limitations on validation types for eauth targets
338342
338343       · PR #31627: (jakehilton) Handling error  from  using  gevent  1.1.   @
338344         2016-03-02 22:01:22 UTC
338345
338346         · cc4c31cf7f Merge pull request #31627 from jakehilton/2015.8
338347
338348         · 02fb5ed616 Handling error from using gevent 1.1.
338349
338350       · PR #31630: (rallytime) [2015.8] Merge forward from 2015.5 to 2015.8 @
338351         2016-03-02 20:49:52 UTC
338352
338353         · 191241e71a Merge pull request #31630 from rallytime/merge-2015.8
338354
338355         · 75bb692990 Merge branch '2015.5' into '2015.8'
338356
338357         · 6d31b8918f Merge pull request #31622 from jfindlay/query_doc
338358
338359           · 4e48fec806 doc/topics/tutorials/http: update query decoding docs
338360
338361         · dbf6e0786c    Merge    pull    request    #31558    from    cached‐
338362           out/ensure_ssh_installed
338363
338364           · cecc6e0a5f  Don't  stacktrace if ssh binary is not installed with
338365             salt-ssh
338366
338367       · PR #31594:  (rallytime)  Back-port  #31589  to  2015.8  @  2016-03-02
338368         16:33:24 UTC
338369
338370         · PR  #31589:  (techhat) Ensure that the latest node data is returned
338371           (refs: #31594)
338372
338373         · 38ddd62aef Merge pull request #31594 from rallytime/bp-31589
338374
338375         · 6cd89459c7 Ensure that the latest node data is returned
338376
338377       · ISSUE #31596: (joejulian) gluster --xml does not always  produce  xml
338378         with legacy versions (refs: #31604)
338379
338380       · PR #31604: (joejulian) Workaround for non-xml output from gluster cli
338381         when not tty @ 2016-03-02 15:53:44 UTC
338382
338383         · 86a0fc46b4    Merge    pull    request    #31604    from     joeju‐
338384           lian/2015.8_31596_workaround_no_xml_when_not_tty
338385
338386         · c567a823a9  Workaround for non-xml output from gluster cli when not
338387           tty
338388
338389       · PR #31583: (vutny) Remove trailing white spaces @ 2016-03-02 15:38:01
338390         UTC
338391
338392         · 36ce240596  Merge  pull  request  #31583  from  vutny/remove-trail‐
338393           ing-white-spaces
338394
338395         · bbcad93a8d Fix trailing white spaces in Salt PRM spec file
338396
338397         · 86433f2378 Revert changes in files used by  roots_test.py  integra‐
338398           tion test
338399
338400         · e7a8dbf498 Remove trailing white spaces in tests files
338401
338402         · 776b2ea9a6 Remove trailing white spaces in files under salt/ dir
338403
338404         · fbfc3abccf Remove trailing white spaces in files under pkg/ dir
338405
338406         · aebc48163d Remove trailing white spaces in documentation files
338407
338408         · 7eaf778695 Remove trailing white spaces in conf dir file
338409
338410       · PR  #31592:  (rallytime)  Back-port  #31546  to  2015.8  @ 2016-03-01
338411         23:51:02 UTC
338412
338413         · PR #31546: (terminalmage) Rework of PR #31529 (refs: #31592)
338414
338415         · PR #31529: (llua) nspawn.py:  Fix  bad  keyword  assignment  (refs:
338416           #31546)
338417
338418         · c9fe8d87f3 Merge pull request #31592 from rallytime/bp-31546
338419
338420         · 9a296bd1bf  Use clean_kwargs and invalid_kwargs utils funcs to han‐
338421           dle invalid kwargs
338422
338423         · 43099a2b63 nspawn.py: Fix bad keyword assignment
338424
338425       · ISSUE #30866: (kevinquinnyo) WheelClient cmd returns None  but  wheel
338426         functions called directly work (refs: #31570)
338427
338428       · ISSUE  #26415:  (CaesarC)  salt.wheel.WheelClient doesn't work follow
338429         the python api(AttributeError: 'NoneType'  object  has  no  attribute
338430         'get') (refs: #28087)
338431
338432       · PR  #31593:  (rallytime)  Back-port  #31570  to  2015.8  @ 2016-03-01
338433         23:50:05 UTC
338434
338435         · PR #31570: (cro) Need to return the value (refs: #31593)
338436
338437         · PR #28087:  (DmitryKuzmenko)  Revert  "Update  __init__.py"  (refs:
338438           #31570)
338439
338440         · c8dbc93ac6 Merge pull request #31593 from rallytime/bp-31570
338441
338442         · b2294d0a28 Need to return the value
338443
338444       · ISSUE   #28585:  (robthralls)  FIPS  compliance  (2015.8.1-1)  (refs:
338445         #31567)
338446
338447       · PR #31567: (cachedout) Restore FIPS compliance when using master_fin‐
338448         ger @ 2016-03-01 19:50:03 UTC
338449
338450         · 068807558a Merge pull request #31567 from cachedout/issue_28585
338451
338452         · 7006a1eecf Fix failed unit test
338453
338454         · 10cd328dda Lint
338455
338456         · 174337d020 Restore FIPS compliance when using master_finger
338457
338458       · PR  #31568:  (twangboy) Grant permissions using SID instead of name @
338459         2016-03-01 04:22:53 UTC
338460
338461         · 77d9aae8bb Merge pull request #31568 from twangboy/fix_perms
338462
338463         · 1f6a95694d Grant permissions using SID instead of name
338464
338465       · ISSUE #31516: (justinta) beacons.enable_beacon does not write to bea‐
338466         cons.conf on some OS's (refs: #31561)
338467
338468       · PR #31561: (justinta) Skipped test @ 2016-03-01 04:11:22 UTC
338469
338470         · ada5ab344d Merge pull request #31561 from jtand/beacons_test_fix
338471
338472         · 196dd4db99 Skipped test
338473
338474       · ISSUE  #31041: (fredrikaverpil) Reading about win_service in 2015.8.5
338475         docs, but it's not available in 2015.8.5 (refs: #31550, #31049)
338476
338477       · PR #31550: (rallytime) Correct versionadded tag for  win_service.con‐
338478         fig @ 2016-02-29 21:11:24 UTC
338479
338480         · PR #31049: (twangboy) Fix versionadded in win_service.config (refs:
338481           #31550)
338482
338483         · 658c1865ab  Merge  pull  request  #31550  from   rallytime/win_ser‐
338484           vice-docs
338485
338486         · 51aa26334c Correct versionadded tag for win_service.config
338487
338488       · PR #31549: (rallytime) [2015.8] Merge forward from 2015.5 to 2015.8 @
338489         2016-02-29 18:46:35 UTC
338490
338491         · 9bb9a54f8d Merge pull request #31549 from rallytime/merge-2015.8
338492
338493         · b683df9b82 Pylint fix
338494
338495         · 24505d2dcf Merge branch '2015.5' into '2015.8'
338496
338497           · 060a60fd90 Merge pull request #31521 from terminalmage/issue24753
338498
338499             · 0d352bbc16 Add fileclient tests
338500
338501             · d9370a8041  Update  cp  module  salt-ssh  wrapper  to  use  new
338502               cachedir param
338503
338504             · 0320494b1d  Update  the  SSH  state  module wrappers to pass an
338505               alternate cachedir
338506
338507             · 65bdcb3afa Accept and pass through the alternate cachedir  when
338508               prepping the thin tar
338509
338510             · c3f7a2f2e5  Add  ability  to  specify an alternate base dir for
338511               file caching
338512
338513           · 92f8f89218 Merge pull request #31497 from  rallytime/remove-time‐
338514             out-dup
338515
338516             · 83e6480d20 Remove duplicate "timeout" definition in Roster docs
338517
338518           · da001bcb49  Merge  pull request #31472 from rallytime/update-con‐
338519             tributing-docs
338520
338521             · 5871e4d1e0 Update contributing docs
338522
338523           · f35e2dd1d3   Merge   pull    request    #31461    from    DSRCom‐
338524             pany/issues/30183_fix_multimaster_failover_2015.5
338525
338526             · 3d09c3b7a3  Set  auth  retry  count to 0 if multimaster mode is
338527               failover.
338528
338529       · ISSUE #29701: (tonyyang132) Running salt-call on  salt  master  would
338530         crash the master node with code level 2015.8.3 (refs: #31544)
338531
338532       · ISSUE    #27063:    (lorengordon)    2015.8.0:   Error   writing   to
338533         /var/log/salt/minion? (refs: #31544)
338534
338535       · PR  #31544:  (DmitryKuzmenko)  Protect  getattr  from   recursion   @
338536         2016-02-29 17:48:15 UTC
338537
338538         · 5a6aff1791    Merge    pull    request    #31544    from    DSRCom‐
338539           pany/issues/29701_getattr_recursion_protection
338540
338541         · b7a45b8fae Protect getattr from recursion
338542
338543       · ISSUE #30643: (Ch3LL) multi-master failover stack trace  when  minion
338544         fails over to other master (refs: #31512, #31525)
338545
338546       · ISSUE  #30181:  (jakehilton)  Minion  failover only works once (refs:
338547         #31512)
338548
338549       · ISSUE #29567: (freebsdly) multi master failover successful  but  exe‐
338550         cute  command  ‘salt * test.ping’ on second master return ‘Minion did
338551         not return. [No response]’ (refs: #31512)
338552
338553       · PR  #31525:  (DmitryKuzmenko)  Issues/30643  merge  forward  fixes  @
338554         2016-02-29 16:08:47 UTC
338555
338556         · PR #31512: (DmitryKuzmenko) Don't fork in try with critical finally
338557           logic. (refs: #31525)
338558
338559         · PR #30796: (skizunov) Fix minion failover after  disconnect  (refs:
338560           #31512, #31525)
338561
338562         · d5a4daa17b    Merge    pull    request    #31525    from    DSRCom‐
338563           pany/issues/30643_merge_forward_fixes
338564
338565         · a50b33d96a Don't fork in try with critical finally logic.
338566
338567         · 877bc25381 Fix minion failover after disconnect
338568
338569       · ISSUE #24955: (damonnk) Minion fails  to  start  after  bootstrap  on
338570         Raspberry PI (refs: #31536)
338571
338572       · PR #31536: (virtualguy) Remove debian repo from raspbian installation
338573         @ 2016-02-29 15:32:52 UTC
338574
338575         · 95af21325f      Merge      pull      request      #31536       from
338576           virtrnd/remove-jessie-backports-from-raspbian-install
338577
338578         · e48900ac55 Use python-tornado from jessie-backports for pure debian
338579
338580         · 6e338e2601 Remove debian repo from raspbian installation
338581
338582       · ISSUE #31193: (gwaters) RHEL7 gpg key problem (refs: #31528)
338583
338584       · PR  #31528:  (vutny)  Correct Salt Cloud documentation about updating
338585         Salt Bootstrap script @ 2016-02-29 15:30:59 UTC
338586
338587         · 5965319600 Merge pull request #31528 from vutny/cloud-bootstrap-doc
338588
338589         · f7beeb69f2 Correct Salt Cloud  documentation  about  updating  Salt
338590           Bootstrap script
338591
338592       · ISSUE  #31365:  (cwicklein) osrelease_info broken for CentOS 7 (refs:
338593         #31539)
338594
338595       · PR #31539: (DmitryKuzmenko) Added temporary workaround for  CentOS  7
338596         os-release id bug.  @ 2016-02-29 15:30:34 UTC
338597
338598         · 96c0926298    Merge    pull    request    #31539    from    DSRCom‐
338599           pany/issues/31365_centos7_osrelease_fix
338600
338601         · a3b806d126 Added temporary workaround for CentOS  7  os-release  id
338602           bug.
338603
338604       · PR  #31508:  (mcalmer) Zypper correct exit code checking @ 2016-02-26
338605         15:21:23 UTC
338606
338607         · 95db870325  Merge  pull  request  #31508  from  mcalmer/zypper-cor‐
338608           rect-exit-code-checking
338609
338610         · 66e8f6aa37 restructure the code a bit
338611
338612         · f5c125de19 remove new lines between zypper command and check result
338613
338614         · 1425c6496c use specialized assert functions for tests
338615
338616         · f266cfdaac test _zypper_check_result()
338617
338618         · aff6467782 adapt tests to new zypper_check_result() output
338619
338620         · edad780cdf use _zypper_check_result()
338621
338622         · 7c5d5a2b7a  add _zypper_check_result() to raise and error or return
338623           stdout
338624
338625         · a6785ef7a9 check zypper exit code everywhere
338626
338627         · 935b0510c9 add function to check zypper exit codes
338628
338629       · ISSUE saltstack/salt-bootstrap#695: (mtippett) Install Failures  With
338630         Raspbian Jessie (refs: #31510, #31477, #31458)
338631
338632       · PR  #31510:  (vutny)  Add  installation guide for Raspbian (Debian on
338633         Raspberry Pi) @ 2016-02-26 15:06:57 UTC
338634
338635         · e51126179c  Merge  pull  request  #31510  from   vutny/debian-rasp‐
338636           bian-install-guide
338637
338638         · 50f3e072b1  Add  instruction  how  to install salt-minion on Debian
338639           Jessie from Stretch
338640
338641         · abcd505178 Update Debian installation guide with information  about
338642           Raspbian
338643
338644       · PR  #31498:  (Ch3LL)  rename  methods in pkg states test @ 2016-02-25
338645         23:29:51 UTC
338646
338647         · 9d458bb420 Merge pull request #31498 from Ch3LL/rename_test
338648
338649         · 29a53f4353 rename methods in pkg states test
338650
338651       · ISSUE #31427: (githubcdr) salt.states.grains.list_present adds dupli‐
338652         cates names (refs: #31471)
338653
338654       · PR  #31471: (cachedout) Correct issue where duplicate items in grains
338655         list during state run will result in duplicate  grains  @  2016-02-25
338656         20:15:20 UTC
338657
338658         · 625da0d261 Merge pull request #31471 from cachedout/issue_31427
338659
338660         · 74c3053c91 Remove debugging
338661
338662         · 30eb5fccf7  Additional  tests,  but  disable  the test for distinct
338663           lists, because of a problem with context in test suite
338664
338665         · 3d2aec05e5 Check for duplicate grains during list insertion
338666
338667       · ISSUE #29727: (oeuftete) dockerng.running does not pull image as doc‐
338668         umented (refs: #31352, #31455)
338669
338670       · PR  #31455:  (ticosax)  [dockerng]  Disable notset check @ 2016-02-25
338671         19:15:09 UTC
338672
338673         · e85ae2341a  Merge  pull  request  #31455  from  ticosax/diable-NOT‐
338674           SET-check
338675
338676         · e072937243 dockerd returns sometimes None or [] for ports.
338677
338678         · 5630401889 _api_mismatch was a good idea
338679
338680       · PR  #31488:  (isbm)  Unit  Test  for  Zypper's "remove" and "purge" @
338681         2016-02-25 17:52:33 UTC
338682
338683         · e68a0947b7  Merge   pull   request   #31488   from   isbm/isbm-zyp‐
338684           per-ut-removepurge
338685
338686         · d30f2e4627 Implement unit test for remove and purge
338687
338688         · 4caf201052 Refactor code (a bit)
338689
338690         · df89da4d15 Fix the docstring
338691
338692       · PR  #31485:  (jacobhammons)  Fixed  transport description in minion /
338693         master config @ 2016-02-25 17:04:15 UTC
338694
338695         · cd87760c87 Merge pull request #31485 from jacobhammons/2015.8
338696
338697         · 748acab8b5 Fixed zeromq casing in transport settings
338698
338699         · 765a226907 Fixed transport description in minion / master config
338700
338701       · PR #31411: (justinta) Added some beacons execution module integration
338702         tests @ 2016-02-25 16:16:26 UTC
338703
338704         · fb1ef92e2b Merge pull request #31411 from jtand/beacons_tests
338705
338706         · 7d32b56015  Added  some  more  checks to verify beacon changes were
338707           actually happening
338708
338709         · 2da5285c03 Added codeauthor
338710
338711         · fd1e2838ea Lint
338712
338713         · 421a112914 Added config_dir to test minion config
338714
338715         · bf6a4c0983 Fixed lint error
338716
338717         · 3566fbbcca More updates to beacons test
338718
338719         · 37c4bf22d2 Updated beacons integration test
338720
338721         · 6db628be1a Basic integration tests for beacons execution module
338722
338723         · 3b238c2e68 Started adding beacons execution module tests
338724
338725       · ISSUE #31216: (oliver-dungey) pkg.installed documentation not consis‐
338726         tent with implementation (refs: #31475)
338727
338728       · ISSUE #30464: (sjmh) pillar_env minion config option needs to be doc‐
338729         umented (refs: #31475)
338730
338731       · ISSUE #30261: (MadsRC) Add ability to define  custom  beacons  (refs:
338732         #31475)
338733
338734       · ISSUE  #29636: (ronnix) Documentation for the refresh_password arg in
338735         postgres_user.present is confusing (refs: #31475)
338736
338737       · ISSUE #29528: (apergos) nitpick for "Using Salt  at  scale"  tutorial
338738         (refs: #31475)
338739
338740       · ISSUE  #29520:  (arthurlogilab) [doc] transport option not in default
338741         master configuration nor in the example  file  of  the  documentation
338742         (refs: #31475)
338743
338744       · ISSUE #10330: (jhenry82) exclude keyword not working (refs: #31475)
338745
338746       · PR  #31475:  (jacobhammons) Assorted doc issues @ 2016-02-25 16:03:54
338747         UTC
338748
338749         · 2e9a705e75 Merge pull request #31475 from jacobhammons/2015.8
338750
338751         · a72dc15720 Assorted doc issues  Fixes  #10330  Fixes  #31216  Fixes
338752           #30464 Fixes #29520 Fixes #30261 Fixes #29636 Fixes #29528
338753
338754       · ISSUE  saltstack/salt-bootstrap#695: (mtippett) Install Failures With
338755         Raspbian Jessie (refs: #31510, #31477, #31458)
338756
338757       · PR #31477: (vutny) Correct installation documentation  for  Ubuntu  @
338758         2016-02-25 16:01:38 UTC
338759
338760         · 3905dd81d3    Merge    pull    request   #31477   from   vutny/cor‐
338761           rect-doc-install-ubuntu
338762
338763         · 172f34a6ca Correct headers in Debian/Ubuntu/SUSE  install  instruc‐
338764           tions
338765
338766         · 4248f9ea0a  Add  common  packages  installation  section  to Debian
338767           install guide
338768
338769         · 8c6e179870 Add note about amd64 packages to Ubuntu install guide
338770
338771         · afaa24723a Update Ubuntu install guide:
338772
338773       · PR #31479: (isbm) Zypper unit tests & fixes @ 2016-02-25 15:58:15 UTC
338774
338775         · f027dc0cf8 Merge pull request #31479 from isbm/isbm-zypper-unittest
338776
338777         · 9f64333ccb Do not use Zypper purge (reason: too dangerous)
338778
338779         · bc05acf7c3 Fix PyLint
338780
338781         · c0eab8b549 Add space before "assert" keyword
338782
338783         · 6bcb89a8f6 Implement list packages test
338784
338785         · 78837d2926 Add mocking data
338786
338787         · 0b64b8137f  Implement  test  for  version  compare,  where   python
338788           fall-back algorithm is called
338789
338790         · 18b30a3274  Implement test for version compare, where RPM algorithm
338791           is called
338792
338793         · 59eca53441 Adjust test case for  the  third  package  in  the  test
338794           static data
338795
338796         · 8034cf0b91 Add third test package static info
338797
338798         · 90f209569a Implement test for the upgrade_available
338799
338800         · ad87e719d6  Bugfix:  when  only  one  package, no dict is returned.
338801           Still upgrade_available should return boolean.
338802
338803         · 7eb5f19cb4 Implement test for latest_available
338804
338805         · e372c0b596 Implement test for the info_available
338806
338807         · 447771c0fc Add Zypper static data for the available packages
338808
338809         · 6989871d27 Implement test for info_installed
338810
338811         · 0cc6bce4aa Use strings instead of unicode strings
338812
338813         · 3342c03987 Implement list upgrades test
338814
338815         · 8862d7af65 Add list upgrades Zypper static data
338816
338817         · 4d38d318f4 Implement error handling test for listing upgrades
338818
338819         · 080b4ee617 Do not strip the output
338820
338821         · 53338402a5 Use renamed zypper products data file
338822
338823         · c6135975b0 Rename Zypper products static test data file
338824
338825         · ab3ff53d89 Reimplement list_upgrades to use XML output from  Zypper
338826           instead
338827
338828         · e87864986d   Add   Zypper   unit   test:   test_list_products   and
338829           test_refresh_db
338830
338831         · cd6419fc9c Add Zypper Unit Test installed products sample data
338832
338833       · ISSUE #31370: (Ch3LL) pkg.info_installed on ubuntu12 does not  output
338834         info and stack trace (refs: #31439)
338835
338836       · ISSUE  #31366:  (Ch3LL) pkg.info_installed on centos5 does not output
338837         info (refs: #31445)
338838
338839       · PR #31445: (rallytime) Only use LONGSIZE in  rpm.info  if  available.
338840         Otherwise, use SIZE.  @ 2016-02-24 18:35:31 UTC
338841
338842         · PR  #31439:  (rallytime)  Fix  lowpkg.info function for Ubuntu 12 -
338843           make sure we have a pkg name (refs: #31445)
338844
338845         · 987dd89979 Merge pull request #31445 from rallytime/fix-31366
338846
338847         · 42415a4a7b Make rpm_tags query more concise
338848
338849         · 9965fe188a Added to pkg.info_installed test  for  RedHat  and  Suse
338850           systems
338851
338852         · 47cc7c3466 Add error check when retcode is 0, but stderr is present
338853
338854         · 294371243d  Only  use LONGSIZE in rpm.info if available. Otherwise,
338855           use SIZE.
338856
338857       · PR #31464: (Ch3LL) integartion test: ensure decorator  only  runs  on
338858         one method and not class @ 2016-02-24 18:35:00 UTC
338859
338860         · 979c8b4faa Merge pull request #31464 from Ch3LL/fix_int_test
338861
338862         · a387d175d8  integartion  test-  ensure  decorator  only runs on one
338863           method and not entire class
338864
338865       · ISSUE saltstack/salt-bootstrap#695: (mtippett) Install Failures  With
338866         Raspbian Jessie (refs: #31510, #31477, #31458)
338867
338868       · PR  #31458:  (vutny)  Correct installation documentation for Debian @
338869         2016-02-24 17:01:09 UTC
338870
338871         · aa0a9a03dd   Merge   pull   request    #31458    from    vutny/cor‐
338872           rect-doc-install-debian
338873
338874         · 42aa7eeafd  Add  section  about  installation  from the Debian Main
338875           Repository
338876
338877         · 07dece2f8f Remove duplicate post-installation  section  for  Debian
338878           install guide
338879
338880         · 10c05f6943  Add  install  section for Debian Stretch (Testing) from
338881           community repository
338882
338883         · b2c78e08dc Add note about supported Debian architectures  on  Salt‐
338884           Stack corp repo
338885
338886       · PR #31457: (rallytime) [2015.8] Merge forward from 2015.5 to 2015.8 @
338887         2016-02-24 16:42:17 UTC
338888
338889         · 330c4d8b0f Merge pull request #31457 from rallytime/merge-2015.8
338890
338891         · 94b3cf08c7 Merge branch '2015.5' into '2015.8'
338892
338893           · 26733ce988 Merge  pull  request  #31442  from  sastorsl/salt-mod‐
338894             ules-file.py-copy-check-src
338895
338896             · 0a4132866d removed lint in the exception string
338897
338898             · f8b5d498c3 Add os.path.exists(src) to file.py, def copy
338899
338900           · e480727d27 Merge pull request #31441 from cachedout/issue_30739
338901
338902             · ffcfad1570  Include localhost minions in presence detection for
338903               runner
338904
338905           · 91ff95f093   Merge   pull   request    #31416    from    carlwge‐
338906             orge/selinux_doc_fix
338907
338908             · 0e6846d72e selinux module documentation fix
338909
338910           · 7d01979898  Merge  pull  request  #31336  from  terminalmage/con‐
338911             fig-validation-logging
338912
338913             · 795008bad1 Improve config validation logging
338914
338915           · fed096a29d Merge pull request #31374 from sjorge/solarish_hwaddr
338916
338917             · bdf2576dfb missed a .format and messed up the join
338918
338919             · bbd2fdc96d fix for illumos/solaris hwaddr
338920
338921           · 6ee17f905b Merge pull request #31339 from jacobhammons/dot7prev
338922
338923             · 07120a8d48 changed latest release to 2015.8.7
338924
338925       · ISSUE #31370: (Ch3LL) pkg.info_installed on ubuntu12 does not  output
338926         info and stack trace (refs: #31439)
338927
338928       · PR  #31439: (rallytime) Fix lowpkg.info function for Ubuntu 12 - make
338929         sure we have a pkg name (refs: #31445) @ 2016-02-24 16:24:46 UTC
338930
338931         · e553f18dc4 Merge pull request #31439 from rallytime/fix-31370
338932
338933         · 1931c61563 Only run this pkg.info_installed test  on  distros  that
338934           have that func
338935
338936         · 0488668a00  Fix  lowpkg.info  function for Ubuntu 12 - make sure we
338937           have a pkg name
338938
338939       · PR #31456: (RabidCicada) Clarified the form of requisite targets/req‐
338940         uisite-references @ 2016-02-24 16:24:00 UTC
338941
338942         · fcb12dbe96  Merge pull request #31456 from RabidCicada/clarify-req‐
338943           uisites-doc
338944
338945         · 87f4843490 Clarified the form of requisite targets/requisite-refer‐
338946           ences
338947
338948       · ISSUE  #30431:  (nbow)  cp.get_url  with  large  files  results in an
338949         Uncaught Exception (refs: #30704)
338950
338951       · ISSUE #27093: (TheBigBear) 2015.8.0 winrepo downloader corrupts  some
338952         installers (refs: #30704)
338953
338954       · PR  #31453:  (DmitryKuzmenko)  Backport cp_geturl fix for large files
338955         into 2015.8 @ 2016-02-24 15:38:24 UTC
338956
338957         · PR #30704: (DmitryKuzmenko) Issues/30431 get url large file  (refs:
338958           #31453)
338959
338960         · 7dac1db55d    Merge    pull    request    #31453    from    DSRCom‐
338961           pany/issues/30431_get_url_large_file_2015.8_backbort
338962
338963         · 664bdec2b3 Backport cp_geturl fix for large files into 2015.8
338964
338965       · PR  #31444:  (jacobhammons)  Documentation  updates  -  ddns   state,
338966         file.line  state/exe function, installation dependencies @ 2016-02-23
338967         22:40:05 UTC
338968
338969         · 8f6c4be618 Merge pull request #31444 from jacobhammons/ddns-docs
338970
338971         · 0b8fce1de4 Fixes #31402 Added arguments to state file.line  to  fix
338972           issue where exe module uses line and state module uses name. Refor‐
338973           matted parameters in exe module file.line placeholder release notes
338974           for 2015.5.8
338975
338976         · 0b1fdf7e21 Added note clarifying when dnspython is not required
338977
338978       · PR #31341: (twangboy) Clarification on Windows Package Manager docs @
338979         2016-02-23 16:09:18 UTC
338980
338981         · 42027e0d72 Merge pull  request  #31341  from  twangboy/package_man‐
338982           ager_docs
338983
338984         · c16cfc6360 Fix typos
338985
338986         · 8dff065cec Fix some formatting issues
338987
338988         · dfef24f13b         Merge         branch         '2015.8'         of
338989           https://github.com/saltstack/salt into 2015.8
338990
338991         · 807257b138 Clarification for Windows Package Manger
338992
338993       · PR #31380: (kiorky) Bring up ext_pillar rendering errors  as  well  @
338994         2016-02-23 16:08:39 UTC
338995
338996         · 30d968c0a7 Merge pull request #31380 from kiorky/p
338997
338998         · e3e97a43ce Bring up ext_pillar rendering errors as well
338999
339000       · ISSUE  #31410:  (terminalmage) Debian GNU/Linux grains broken in head
339001         of 2015.8 branch (refs: #31418)
339002
339003       · PR #31418: (terminalmage) Fix core grains when Debian OS detected  as
339004         'Debian GNU/Linux' @ 2016-02-23 15:49:49 UTC
339005
339006         · 64ed9fcd01    Merge    pull    request    #31418   from   terminal‐
339007           mage/fix-debian-grains
339008
339009         · 5c833efc01 Support running grains tests
339010
339011         · 0e0cd17160 Rename core.py to core_test.py
339012
339013         · d3cd1b596d Add unit test for core grains
339014
339015         · e3d549d376 Fix debian grains setup
339016
339017       · PR  #31429:  (mcalmer)  fix  argument  handling  for  pkg.download  @
339018         2016-02-23 15:48:23 UTC
339019
339020         · ec01b994bd Merge pull request #31429 from mcalmer/fix-refresh-argu‐
339021           ments
339022
339023         · 299c07fa7d fix argument handling for pkg.download
339024
339025       · PR #31432: (ticosax) [dockerng] Hotfix  docker  1.10.2  @  2016-02-23
339026         15:39:04 UTC
339027
339028         · 05c12b9ba1    Merge   pull   request   #31432   from   ticosax/hot‐
339029           fix-docker-1.10.2
339030
339031         · 1e9f6ff324 handle inconsistencies in dockerd API
339032
339033         · 8484815f58 pep8
339034
339035       · PR  #31420:  (twangboy)  Handle  Unversioned  Packages  @  2016-02-22
339036         23:46:24 UTC
339037
339038         · fb81e905e4 Merge pull request #31420 from twangboy/unversioned_pkgs
339039
339040         · 816e991e87 Fix version check
339041
339042         · 85d8b938ad Match unversioned packages to winrepo
339043
339044       · PR  #31417: (jacobhammons) ddns state docs updated with notes regard‐
339045         ing the name, zone, and keyfile.  @ 2016-02-22 23:16:48 UTC
339046
339047         · 19d7810478 Merge pull request #31417 from jacobhammons/ddns-docs
339048
339049         · 5c4cbbb572 Added notes regarding the name, zone, and keyfile.
339050
339051       · PR #31391: (redmcg) Added sanity check: is 'pillar'  in  self.opts  @
339052         2016-02-22 20:05:27 UTC
339053
339054         · ac6af79abc  Merge  pull  request  #31391  from redmcg/master_sched‐
339055           ule_fix
339056
339057         · 91e74feaf3 Added sanity check: is 'pillar' in self.opts
339058
339059       · PR #31376: (cro) Some distros don't have a /lib/systemd @  2016-02-22
339060         18:11:39 UTC
339061
339062         · c7bd13c9c9 Merge pull request #31376 from cro/suse_service2
339063
339064         · f3fec5562e We need one more mocked return from listdir.
339065
339066         · ab9d9e7008 Can't add a tuple and a string.
339067
339068         · 8f12bdb1a0  Check  to  see if a path is a link, because it's likely
339069           that if it IS a link, one of the other paths points to it.   Ignore
339070           so we don't get duplicates.
339071
339072         · 8f0e866f1b  Some distros do not seem to have a /lib/systemd, but do
339073           have a /usr/lib/systemd
339074
339075       · ISSUE #29727: (oeuftete) dockerng.running does not pull image as doc‐
339076         umented (refs: #31352, #31455)
339077
339078       · ISSUE #27976: (syphernl) Module dockerng.inspect_image always returns
339079         404 (refs: #31352)
339080
339081       · PR #31352: (ticosax) [dockerng]  Pull  missing  images  when  calling
339082         dockerng.running @ 2016-02-22 16:54:10 UTC
339083
339084         · 105821efc7       Merge      pull      request      #31352      from
339085           ticosax/pull-image-on-running
339086
339087         · 8c86eeb4dc Pull missing images when calling dockerng.running
339088
339089       · PR #31378: (mcalmer) Zypper refresh handling  @  2016-02-22  16:50:28
339090         UTC
339091
339092         · 83294e4f3a    Merge   pull   request   #31378   from   mcalmer/zyp‐
339093           per-refresh-handling
339094
339095         · 274e6467be do not change kwargs in refresh while checking a value
339096
339097         · 644b14c273 simplify checking the refresh paramater
339098
339099         · db0e0de2fd add refresh option to more functions
339100
339101         · 5836be3f59 unify behavior of refresh
339102
339103       · ISSUE #31229: (eykd) git.latest broken behavior in 2015.8.x on  older
339104         Git (refs: #31373)
339105
339106       · PR  #31373:  (terminalmage)  Use --set-upstream instead of --track to
339107         set upstream on older git @ 2016-02-22 16:46:00 UTC
339108
339109         · e24685b89a Merge pull request #31373 from terminalmage/issue31229
339110
339111         · 28f0a75cc1 Use --set-upstream instead of --track to set upstream on
339112           older git
339113
339114       · ISSUE   #31137:   (jeffreyctang)  logrotate  creates  .bak  files  in
339115         /etc/logrotate.d which logrotate reads. (refs: #31390)
339116
339117       · PR #31390: (abednarik) Fix Logrotate module.  @  2016-02-22  16:09:15
339118         UTC
339119
339120         · c5790bc4d6  Merge  pull request #31390 from abednarik/remove_depre‐
339121           cated_psed_in_lorgotate
339122
339123         · c1e0ff7785 Fix Logrotate module.
339124
339125       · ISSUE #28004: (warden)  dockerng.image_present  should  allow  public
339126         repository pulling by default (refs: #31354)
339127
339128       · PR  #31354: (ticosax) [dockerng] Dont require auth for all registries
339129         @ 2016-02-20 05:45:10 UTC
339130
339131         · 174ee10fc2      Merge      pull      request      #31354       from
339132           ticosax/dont-require-auth-for-all-registries
339133
339134         · 4a9f661d66 It exists public registries where auth is not required.
339135
339136       · PR  #31368: (whiteinge) Update list of netapi clients for autoclass @
339137         2016-02-19 20:57:28 UTC
339138
339139         · 8d0498eff4      Merge      pull      request      #31368       from
339140           whiteinge/netapi-client-list
339141
339142         · 0cfe5d89a0 Update list of netapi clients for autoclass
339143
339144       · PR #31367: (techhat) Add docs on how to actually use SDB @ 2016-02-19
339145         20:07:17 UTC
339146
339147         · 9b0e29107b Merge pull request #31367 from techhat/sdbdocs
339148
339149         · eea192a545 Add docs on how to actually use SDB
339150
339151       · PR #31357: (ticosax)  [dockerng]  Support  docker  inconsistencies  @
339152         2016-02-19 20:02:08 UTC
339153
339154         · 7e599f0e27    Merge   pull   request   #31357   from   ticosax/sup‐
339155           port-docker-inconsistencies
339156
339157         · 3672b8e7b1 docker daemon returns sometimes empty list and sometimes
339158           None
339159
339160       · PR  #31353:  (ticosax)  [dockerng]  Fix  when  ports  are  integers @
339161         2016-02-19 19:55:30 UTC
339162
339163         · PR #31326: (ticosax) [dockerng ]  Detect  settings  removal  (refs:
339164           #31353)
339165
339166         · 18bd78260d       Merge      pull      request      #31353      from
339167           ticosax/fix-when-port-are-integers
339168
339169         · 20fdc43968 Follow up for #31326
339170
339171       · PR #31346: (ticosax) Backport #31130 to 2015.8 @ 2016-02-19  19:46:48
339172         UTC
339173
339174         · PR  #31130:  (ticosax) Saltnado: provide also get parameters to the
339175           context (refs: #31346)
339176
339177         · dec254a7a2   Merge   pull   request   #31346   from   ticosax/back‐
339178           port-31130-to-2015.8
339179
339180         · a8dc33a5e3 Saltnado provide also get parameters to the context
339181
339182       · PR  #31332: (terminalmage) Clarify documentation for gitfs/hgfs/svnfs
339183         mountpoint and root options @ 2016-02-19 18:31:29 UTC
339184
339185         · d639d65381 Merge pull request #31332 from terminalmage/issue31167
339186
339187         · eebc325040 Clarify documentation  for  gitfs/hgfs/svnfs  mountpoint
339188           and root options
339189
339190       · PR #31305: (mcalmer) call zypper with option --non-interactive every‐
339191         where @ 2016-02-19 18:14:57 UTC
339192
339193         · d067e77fee Merge pull request #31305 from mcalmer/zypper-non-inter‐
339194           active-everywhere
339195
339196         · 75e776761c write a zypper command builder function
339197
339198         · 3df302fcb7 call zypper with option --non-interactive everywhere
339199
339200       · PR #31337: (jacobhammons) Release notes and versioning for 2015.8.7 @
339201         2016-02-19 00:20:30 UTC
339202
339203         · 98a14f8090 Merge pull request #31337 from jacobhammons/dot7
339204
339205         · d4fb33939e Release notes and versioning for 2015.8.7
339206
339207       · PR #31326: (ticosax)  [dockerng  ]  Detect  settings  removal  (refs:
339208         #31353) @ 2016-02-18 22:02:50 UTC
339209
339210         · f0ba9c1eca  Merge  pull  request  #31326  from ticosax/2015.8-dock‐
339211           erng-detect-settings-removal
339212
339213         · 7bedd86ebe Add detection of removed settings.
339214
339215       · PR #31292: (twangboy) Fix dunder virtual to check for Remote Adminis‐
339216         tration Tools @ 2016-02-18 18:57:26 UTC
339217
339218         · 130f515391  Merge  pull request #31292 from twangboy/win_serverman‐
339219           ager
339220
339221         · 89b47ab3c5 Update return documentation for install/remove
339222
339223         · a0be43120b Fix cmd_quote error
339224
339225         · 13cd57a890 Remove repeating Import ServerManager command
339226
339227         · 3270a2859f Add check for server manager module
339228
339229         · 4bdae47a44 Added checks for Windows 2008 R2
339230
339231       · ISSUE #30932: (johje349) Glusterfs peered fails on secondary host  in
339232         2015.8.4 (refs: #31287)
339233
339234       · PR  #31287:  (joejulian)  Rework  tests  and fix reverse peering with
339235         gluster 3.7 @ 2016-02-18 17:57:23 UTC
339236
339237         · 5d31714b44    Merge    pull    request    #31287    from     joeju‐
339238           lian/2015.8_30932_peer_probe_by_ip
339239
339240         · 783e9b2e13 Rework tests and fix reverse peering with gluster 3.7
339241
339242       · PR #31196: (sakateka) Here are a few fixes utils.network @ 2016-02-18
339243         17:27:00 UTC
339244
339245         · a2f6447f8d  Merge  pull  request  #31196  from  sakateka/utils-net‐
339246           work-fix
339247
339248         · a7b11024dd fix typo
339249
339250         · 92fd48fcf7 Do not Fallback to use lsof if proc available
339251
339252       · ISSUE #29795: (vutny) Unable to override state-output setting in com‐
339253         mand line (refs: #31299)
339254
339255       · PR #31299: (rallytime) Allow state-output and  state-verbose  default
339256         settings to be set from CLI @ 2016-02-18 17:25:23 UTC
339257
339258         · d20a30b8be Merge pull request #31299 from rallytime/fix-29795
339259
339260         · 483f31922b Allow state-output and state-verbose default settings to
339261           be set from CLI
339262
339263       · PR #31317: (terminalmage)  Fix  versonadded  directive  @  2016-02-18
339264         16:56:32 UTC
339265
339266         · 25d8af21c9  Merge  pull  request  #31317 from terminalmage/git-ver‐
339267           sion-audit
339268
339269         · acc3b54621 Fix versonadded directive
339270
339271       · ISSUE #30999: (orymate) git.latest  rev=tag  fails  with  old  git(1)
339272         (refs: #31245, #31301)
339273
339274       · PR  #31301:  (terminalmage)  Corrected  fix  for  #30999 @ 2016-02-18
339275         15:59:40 UTC
339276
339277         · PR #31245: (jespada) fix git state for git version older than 1.9.2
339278           (refs: #31301)
339279
339280         · f2b662371c Merge pull request #31301 from terminalmage/issue30999
339281
339282         · 625af70e08 Fix --unset-upstream handling
339283
339284         · 7940881797 fix git state github issue #30999
339285
339286       · PR  #31302:  (terminalmage)  Audit  CLI  opts  used  in  git states @
339287         2016-02-18 15:58:48 UTC
339288
339289         · 408d89e174 Merge pull  request  #31302  from  terminalmage/git-ver‐
339290           sion-audit
339291
339292         · ca410c0a94 Audit CLI opts used in git states
339293
339294       · PR  #31312:  (terminalmage)  Merge  2015.5  into  2015.8 @ 2016-02-18
339295         15:57:08 UTC
339296
339297         · 098f05eb3c Merge pull request #31312  from  terminalmage/merge-for‐
339298           ward-2015.5-2015.8
339299
339300         · 808d150fe4  Merge  remote-tracking  branch  'upstream/2015.5'  into
339301           merge-forward-2015.5-2015.8
339302
339303         · cd3400e67e    Merge    pull    request     #31288     from     not‐
339304           peter/ssh_known_hosts_docs
339305
339306           · 3f573d89a2 Improve salt.states.ssh_known_hosts documentation.
339307
339308         · 875d9925fa     Merge     pull     request    #31183    from    hey‐
339309           fife/fix-gce-named-static-ip-reservation
339310
339311           · 26774e2323 Fixed named external_ip reservation/re-use code.
339312
339313         · e56c402c0c Merge pull request #31032 from terminalmage/issue31001
339314
339315           · 42daea4509  yumpkg.py:  Remove  repoquery  usage  everywhere  but
339316             check_db
339317
339318           · 50befbc149 backport salt.utils.pkg.rpm to 2015.5
339319
339320           · a1ad14994a   Move   salt.utils.itersplit()   to  salt.utils.iter‐
339321             tools.split()
339322
339323           · 5b8646ce64 Ignore failure to install new enough dnf-plugins-core
339324
339325           · defe0859fd Ensure that dnf-plugins-core 0.1.15 is installed
339326
339327         · cec69b74f0 Merge pull request #31264 from sjorge/if_missing-155-fix
339328
339329           · 545edbf5e1 fix if_missing gets appended to dirs list, take III
339330
339331       · ISSUE #31223: (pprince) file_tree pillar: fails when  data  files  at
339332         root end in '\\n' (refs: #31225)
339333
339334       · PR  #31225:  (pprince)  Fix  in  file_tree  pillar (Fixes #31223.)  @
339335         2016-02-18 06:06:12 UTC
339336
339337         · c58f654bc3  Merge  pull   request   #31225   from   pprince/PR/bug‐
339338           fix/file_tree
339339
339340         · d592d8636b Fix regression in file_tree pillar (Fixes #31223.)
339341
339342       · PR  #31233:  (mcalmer)  implement version_cmp for zypper @ 2016-02-17
339343         20:20:19 UTC
339344
339345         · fe9e5d27e6  Merge  pull  request  #31233  from  mcalmer/2015.8-zyp‐
339346           perpy-add-version_cmp
339347
339348         · 389a4b2548 Check if rpm-python can be imported
339349
339350         · 6ad6a90955 pylint changes
339351
339352         · 7beaf26068 implement version_cmp for zypper
339353
339354       · PR #31273: (rallytime) [2015.8] Merge forward from 2015.5 to 2015.8 @
339355         2016-02-17 20:14:05 UTC
339356
339357         · 93c03a400b Merge pull request #31273 from rallytime/merge-2015.5
339358
339359         · 11cfb636fb Pylint fix
339360
339361         · 023ad4635c Merge branch '2015.5' into '2015.8'
339362
339363           · fa3f474de9 Merge pull request #31110 from cachedout/fixup_30730
339364
339365             · 5bf5848e04 Fixup unit test
339366
339367             · f558f68e0a Fixes pylint warnings
339368
339369             · 56a975ec43 Attempt to fix pylint warnings
339370
339371             · 55d71be057 Make documentation and code examples consistent with
339372               code
339373
339374             · 1f04fed6f8 Change parameter name from includes to skips
339375
339376             · ccf5e13e7d Adding support for skipHidden in SetInclude
339377
339378             · 4f2d4af2e7 Variable names standardization
339379
339380             · f5917ac1e8 Fixes typo
339381
339382             · 26e5236073 Invert RebootRequired logic
339383
339384             · 8065a7abf6  Add  basic  documentation  and define how the skips
339385               parameter works.
339386
339387             · 389fea7508 Change parameter name from includes to skips
339388
339389             · 30e1fef906 Adding support for skipHidden in SetInclude
339390
339391             · 1244eea5be Variable names standardization,  consistent  if/else
339392               logic with states.win_update
339393
339394       · PR  #31253:  (gtmanfred) allow for nova servers to be built with pre‐
339395         made volumes @ 2016-02-17 17:55:39 UTC
339396
339397         · dc2e7c8956 Merge pull request #31253 from gtmanfred/2015.8
339398
339399         · 36bf06e539 fix doc for boot_volume
339400
339401         · 9660c91b57 allow for nova servers to be built with premade volumes
339402
339403       · ISSUE #30651:  (sjorge)  salt.states.grains.list_present  should  not
339404         show changes if none are made! (refs: #31651, #30689)
339405
339406       · PR  #31271:  (rallytime)  Back-port  #30689  to  2015.8  @ 2016-02-17
339407         16:52:36 UTC
339408
339409         · PR  #30689:  (sjorge)  fix  for  #30651   grains.list_present   and
339410           grains.list_absent (refs: #31651, #31271)
339411
339412         · 29e3dd091d Merge pull request #31271 from rallytime/bp-30689
339413
339414         · 3dae79d516   fix   nested   grains   always   show  update  due  to
339415           __grains__.get() not supporting the ":" seperator
339416
339417       · ISSUE #30461: (jfindlay) update documentation on  bootstrap-supported
339418         platforms (refs: #31255)
339419
339420       · PR #31255: (jacobhammons) Fixes #30461 @ 2016-02-17 02:23:46 UTC
339421
339422         · fcfc6f4fd3 Merge pull request #31255 from jacobhammons/doc-fixes
339423
339424         · 3c4f8215c3  Fixes  #30461 Credited Sebastian Kramer for finding CVE
339425           2016-1866 in release notes Added note about salt virt  not  working
339426           on KVM in a VM
339427
339428       · ISSUE  #31106:  (rvandegrift)  Exception from scheduled runner (refs:
339429         #31189)
339430
339431       · PR #31189: (dmacvicar) Fix crash with scheduler and runners  (#31106)
339432         @ 2016-02-16 18:49:36 UTC
339433
339434         · 62d76902ce       Merge      pull      request      #31189      from
339435           dmacvicar/dmacvicar-2015.8-31106
339436
339437         · 9ad8cb1e6b Fix crash with scheduler and runners (#31106)
339438
339439       · ISSUE #30962: (fantasy86) Targeting by matching  ip  address  doesn't
339440         work (refs: #31201)
339441
339442       · ISSUE #30169: (colinlabs) Can't use Subnet/IP Address Matching (refs:
339443         #31201)
339444
339445       · ISSUE #29733: (roshan3133) salt  -S  <ipaddress>  test.ping   command
339446         output  getting  list  of  minions  which  did not not return. (refs:
339447         #31201)
339448
339449       · ISSUE #29188: (bergemalm) Unable to  target  minions  via  ipcidr  in
339450         2015.8 (refs: #31201)
339451
339452       · PR  #31201:  (The-Loeki)  Utilize  prepared grains var in master-side
339453         ipcidr matching @ 2016-02-16 18:36:10 UTC
339454
339455         · dc78d0a504 Merge pull request #31201 from The-Loeki/patch-1
339456
339457         · 318689d728 Correct ordering of  address/network  matching,  improve
339458           performance of master-side cidr matching
339459
339460         · 4e4e0926da Utilize prepared grains var in master-side ipcidr match‐
339461           ing
339462
339463       · PR #31239: (terminalmage) Improve logging when master cannot decode a
339464         payload @ 2016-02-16 16:35:46 UTC
339465
339466         · 60bbac36fa   Merge   pull  request  #31239  from  terminalmage/bet‐
339467           ter-bad-load-logging
339468
339469         · 1fbe3cba1f Improve logging when master cannot decode a payload
339470
339471       · ISSUE #31185: (twangboy) pkg.refresh_db leaves old sls files  if  the
339472         name changes (refs: #31190)
339473
339474       · PR #31190: (twangboy) Clear minion cache before caching from master @
339475         2016-02-16 16:11:26 UTC
339476
339477         · 80f1c3553b Merge pull request #31190 from twangboy/refresh_db
339478
339479         · 860437665d Fix some lint
339480
339481         · 799d938d6a Clear minion cache before caching from master
339482
339483       · PR #31226: (pprince) Minor docs fix: file_tree pillar (Fixes  #31124)
339484         @ 2016-02-16 15:25:33 UTC
339485
339486         · PR #31124: (zygiss) Make load beacon cross-platform (refs: #31226)
339487
339488         · 28a2b8097b   Merge   pull   request   #31226  from  pprince/PR/doc‐
339489           fix/file_tree
339490
339491         · c13852fbbf Minor docs fix: file_tree pillar (Fixes #31124)
339492
339493       · PR #31234: (mcalmer) improve doc for list_pkgs @ 2016-02-16  15:25:06
339494         UTC
339495
339496         · 9afad13306  Merge  pull  request  #31234 from mcalmer/zypperpy-com‐
339497           ment-list_pkgs
339498
339499         · e3bb862a32 improve doc for list_pkgs
339500
339501       · PR #31237: (mcalmer) add  handling  for  OEM  products  @  2016-02-16
339502         15:12:21 UTC
339503
339504         · e8f3a707ae    Merge   pull   request   #31237   from   mcalmer/zyp‐
339505           per_py-add-OEM-product-handling
339506
339507         · d773b7317b add handling for OEM products
339508
339509       · PR #31182:  (rallytime)  Back-port  #31172  to  2015.8  @  2016-02-13
339510         21:36:07 UTC
339511
339512         · PR #31172: (techhat) Use correct deploy directory (refs: #31182)
339513
339514         · 415654ee9e Merge pull request #31182 from rallytime/bp-31172
339515
339516         · a743778e98 Use correct deploy directory
339517
339518       · ISSUE #27498: (arthurlogilab) [runner] salt-run cache.clear_mine_func
339519         broken, can't take clear_mine_func (refs: #31191)
339520
339521       · PR  #31191:  (rallytime)  Make  sure  doc  example  matches  kwarg  @
339522         2016-02-13 21:34:57 UTC
339523
339524         · 434e05667a Merge pull request #31191 from rallytime/fix-27498
339525
339526         · 0bdbaa49d1 Make sure doc example matches kwarg
339527
339528       · PR  #31171:  (Ch3LL)  added  logic  to  check for installed package @
339529         2016-02-12 22:10:21 UTC
339530
339531         · c5e5af827c Merge pull request #31171 from Ch3LL/megan-20158
339532
339533         · a12e2f566b fix lint error
339534
339535         · a123efd4ef added logic to check for installed package
339536
339537       · ISSUE #30934: (marnovdm) contents_pillar no longer works  with  lists
339538         in 2015.8.5 (refs: #31026, #31177)
339539
339540       · PR #31177: (Ch3LL) add integration test for issue #30934 @ 2016-02-12
339541         22:09:31 UTC
339542
339543         · a024d3536f Merge pull request #31177  from  Ch3LL/test_content_pil‐
339544           lars
339545
339546         · 9204e3f562 add integration test for issue 30934w
339547
339548       · PR #31181: (cachedout) Lint 2015.8 branch @ 2016-02-12 21:57:02 UTC
339549
339550         · 1f22335e28 Merge pull request #31181 from cachedout/lint_20158
339551
339552         · 4c0be11627 Lint 2015.8 branch
339553
339554       · ISSUE  #29423:  (l13t)  iptables  and  match-set  with two parameters
339555         (refs: #29718)
339556
339557       · PR #31169:  (rallytime)  Back-port  #29718  to  2015.8  @  2016-02-12
339558         18:28:13 UTC
339559
339560         · PR  #29718:  (thusoy)  Support match-sets in iptables module (refs:
339561           #31169)
339562
339563         · 4d1b49c1e7 Merge pull request #31169 from rallytime/bp-29718
339564
339565         · ceae2a16f8 Support match-sets in iptables module
339566
339567       · PR #31170:  (rallytime)  Back-port  #31157  to  2015.8  @  2016-02-12
339568         18:27:49 UTC
339569
339570         · PR  #31157:  (captaininspiration)  Fix  locale generation on Ubuntu
339571           (refs: #31170)
339572
339573         · f2efd3e6c1 Merge pull request #31170 from rallytime/bp-31157
339574
339575         · 27776b5f4e Fix locale generation on Ubuntu
339576
339577       · PR #31147: (cro) Documentation clarifications.  @ 2016-02-12 17:16:27
339578         UTC
339579
339580         · 7f49fbb70d Merge pull request #31147 from cro/fx2_doc
339581
339582         · a005e4af55 Documentation clarifications.
339583
339584       · PR #31153: (edencrane) Fixed invalid host causing 'reference to vari‐
339585         able before assignment' @ 2016-02-12 16:30:19 UTC
339586
339587         · 7986b9e033  Merge  pull  request  #31153  from   edencrane/fix-net‐
339588           work-connect-invalid-hostname
339589
339590         · a14c4bb5f2 Fixed invalid host causing 'reference to variable before
339591           assignment'
339592
339593       · ISSUE #30994: (onorua) beacon enable from  state  is  failing  (refs:
339594         #31152)
339595
339596       · PR #31152: (garethgreenaway) fixes to beacon module, state module and
339597         friends @ 2016-02-12 16:27:40 UTC
339598
339599         · f5ab76801b   Merge   pull   request   #31152   from    garethgreen‐
339600           away/30994_beacon_add_failing_and_other_fixes
339601
339602         · 91b14dca40  fixing  the  beacon  module  and state module to handle
339603           passing enabled properly.  Also reworking how what is returned from
339604           the  validating functions is handled to ensure when beacon configu‐
339605           rations aren't validate the results indicate exactly why.
339606
339607       · PR  #31149:  (jfindlay)  add  2015.8.7  release  notes  @  2016-02-12
339608         00:06:15 UTC
339609
339610         · c8047d979d Merge pull request #31149 from jfindlay/2015.8
339611
339612         · b58783b895 add 2015.8.7 release notes
339613
339614       · PR #31134: (isbm) Fix types in the output data and return just a list
339615         of products @ 2016-02-11 20:19:22 UTC
339616
339617         · 5c394ac49c  Merge   pull   request   #31134   from   isbm/isbm-zyp‐
339618           per-list-products
339619
339620         · 670a326e3d  Fix  types in the output data and return just a list of
339621           products
339622
339623       · ISSUE #31115: (nfillot) 2015.8.5 salt-cloud nova valid ip address was
339624         not found (refs: #31120)
339625
339626       · ISSUE  #29758: (zaide) 2015.8.3 salt-call runners.cloud : local vari‐
339627         able 'access_ip' referenced before assignment (refs: #31120)
339628
339629       · ISSUE #29666: (tminn) Nova  driver  broken  for  2015.8.[1-3]  (refs:
339630         #31120)
339631
339632       · PR  #31120:  (gtmanfred)  Clean  up  some  bugs  in the nova driver @
339633         2016-02-11 20:17:41 UTC
339634
339635         · 8f2e3a26e5 Merge pull request #31120 from gtmanfred/2015.8
339636
339637         · 4a411c0817 fix comment
339638
339639         · 47ecb7a150 include all ips in public_ips or private_ips
339640
339641         · b2e8202f5d dont exit on a missing server
339642
339643         · 8ad1ee6db4 clean up references to access_ip extra network
339644
339645       · ISSUE #31099: (Ch3LL) Cannot specify  size  in  map  file  in  2015.8
339646         (refs: #31132)
339647
339648       · PR  #31132:  (rallytime)  Make  sure  required profile configurations
339649         passed in a map file work @ 2016-02-11 20:16:46 UTC
339650
339651         · 2d592a398e Merge pull request #31132 from rallytime/fix-31099
339652
339653         · 1da03da9df Pylint fix
339654
339655         · 337592ec56 Make sure required profile configurations  passed  in  a
339656           map file work
339657
339658       · ISSUE  #31014: (gtmanfred) [2015.8] pkg breaks for yum pkgs.latest if
339659         the packages has an epoch (refs: #31131, #31015, #31031)
339660
339661       · PR #31131: (Ch3LL) integration test for  issue  #31014  @  2016-02-11
339662         17:33:23 UTC
339663
339664         · b831e0a865 Merge pull request #31131 from Ch3LL/megan-20158
339665
339666         · af82b1233a integration test for issue #31014
339667
339668       · PR #31133: (cachedout) Fixup 31121 @ 2016-02-11 17:32:24 UTC
339669
339670         · e378afd891 Merge pull request #31133 from cachedout/fixup_31121
339671
339672         · a4040da46d Fix bad unit test
339673
339674         · 0e68fafb74 Fix alternative module and state.
339675
339676       · PR  #31125: (isbm) Force-kill websocket's child processes faster than
339677         default two minutes.  @ 2016-02-11 16:50:57 UTC
339678
339679         · a4a40262f8 Merge pull request #31125  from  isbm/isbm-salt-api-ser‐
339680           vice
339681
339682         · f73f70375c  Force-kill  websocket's  child  processes  faster  than
339683           default two minutes.
339684
339685       · PR #31119: (sakateka) fixes for  ipv6-only  multi-master  faliover  @
339686         2016-02-11 16:21:45 UTC
339687
339688         · 79c85859bc       Merge      pull      request      #31119      from
339689           sakateka/fix-for-ipv6only-failover
339690
339691         · 2c45d151d1 fix unintentional breaking changes
339692
339693         · 043a5e6fd7 fixes for ipv6-only multi-master faliover
339694
339695       · PR #31107: (techhat) Don't try to add a  non-existent  IP  address  @
339696         2016-02-10 21:52:42 UTC
339697
339698         · 825b510030 Merge pull request #31107 from techhat/nebulaprivip
339699
339700         · 1fa69982c4 Don't try to add a non-existent IP address
339701
339702       · PR  #31108:  (justinta)  Changed  npm  integration  test  to  install
339703         request.  @ 2016-02-10 21:52:02 UTC
339704
339705         · c56a819fd8 Merge pull request #31108 from jtand/npm_test_fix
339706
339707         · a5eac47b25 Changed npm integration test to install request.
339708
339709       · PR #31105: (cachedout) Lint 30975 @ 2016-02-10 21:11:21 UTC
339710
339711         · de1abae9d1 Merge pull request #31105 from cachedout/lint_30975
339712
339713         · 446b4c2aff Lint #30975
339714
339715         · b4fe9aaa11 fixes issue in which s3.role_arn was defaulting to ''
339716
339717       · ISSUE #31069: (symphorien) Wrong filename in documentation  for  x509
339718         state (refs: #31100)
339719
339720       · PR  #31100:  (jfindlay)  states.x509:  docs:  peer.sls -> peer.conf @
339721         2016-02-10 20:47:45 UTC
339722
339723         · 2e5499748a Merge pull request #31100 from jfindlay/x509_sls
339724
339725         · 6c303b99c2 states.x509: docs: peer.sls -> peer.conf
339726
339727       · PR #31103: (twangboy) Point to reg.delete_key_recursive @  2016-02-10
339728         20:46:53 UTC
339729
339730         · f2bede1c00 Merge pull request #31103 from twangboy/fix_reg_state
339731
339732         · fe1ca906d2 Point to reg.delete_key_recursive
339733
339734       · PR  #31093:  (techhat)  Ensure double directories don't get created @
339735         2016-02-10 18:53:47 UTC
339736
339737         · 94fa76831f Merge pull request #31093 from techhat/spmfix
339738
339739         · 4f4c8877ad Ensure double directories don't get created
339740
339741       · ISSUE #31056:  (JensRantil)  file.symlink  documentation  improvement
339742         (refs: #31095)
339743
339744       · PR  #31095:  (jfindlay)  modules.file,  states.file: explain symbolic
339745         links @ 2016-02-10 18:53:24 UTC
339746
339747         · c015ca865c Merge pull request #31095 from jfindlay/link_doc
339748
339749         · 7d9df6b26c modules.file, states.file: explain symbolic links
339750
339751       · ISSUE #31059: (mf-collinhayden) salt-cloud rename fails  in  2015.8.5
339752         (refs: #31061)
339753
339754       · ISSUE #30950: (tmaulik) Salt-cloud create_snapshot is not recognizing
339755         snapshot_name parameter  in salt 2015.8.5 (refs: #31061)
339756
339757       · PR #31061: (rallytime) Revert #30217  -  was  causing  salt-cloud  -a
339758         breakage @ 2016-02-10 18:13:59 UTC
339759
339760         · PR  #30217:  (pass-by-value)  Make sure cloud actions can be called
339761           via salt run (refs: #31061, #30691)
339762
339763         · 4d6706b3e7 Merge pull request #31061 from rallytime/revert-breakage
339764
339765         · ced2d9f922 Revert #30217
339766
339767       · ISSUE #31088: (gladiatr72) request for  color  logging  fix  backport
339768         (refs: #31090)
339769
339770       · PR  #31090:  (rallytime)  Back-port  #30542  to  2015.8  @ 2016-02-10
339771         18:06:38 UTC
339772
339773         · PR #30542: (gladiatr72) address color log dict lookup exceptions w/
339774           non-posix log level names (refs: #31090)
339775
339776         · 482eea9883 Merge pull request #31090 from rallytime/bp-30542
339777
339778         · 67a713f2f6  Some  3rd-party  modules (e.g. gnupg) define custom log
339779           levels that emit at INFO level and  above.   This  patch  sets  the
339780           color  data  lookups  to default to TextFormat('reset') rather than
339781           producing a stack trace every time a log message is generated  from
339782           an affected module.
339783
339784       · PR #31085: (jacksontj) Correctly remove path we added after loader is
339785         completed @ 2016-02-10 17:47:22 UTC
339786
339787         · 5dcaa8d387 Merge pull request #31085 from jacksontj/2015.8
339788
339789         · dd5051c9e6 Correctly pop the path we added  after  loader  is  com‐
339790           pleted.
339791
339792       · ISSUE  #28142:  (zmalone)  Deprecate  or  update the copr repo (refs:
339793         #31037)
339794
339795       · PR #31037: (vutny) Update RHEL installation guide to  reflect  latest
339796         repo changes @ 2016-02-10 17:36:04 UTC
339797
339798         · 27bf83fa59    Merge    pull    request   #31037   from   vutny/cor‐
339799           rect-doc-install-on-rhel
339800
339801         · 6370ddda9f Update RHEL installation guide
339802
339803         · afdaefbf3d Add systemctl examples for RHEL 7  to  the  installation
339804           guide
339805
339806         · 069a661eb1 Correct ZeroMQ4 repo install guide for RHEL
339807
339808         · d2a9d67b5b  Update  installation instruction for community repos on
339809           RHEL
339810
339811         · bbdf2523c8 Add workaround for RHEL 7 systems mentioned in the issue
339812           #29094
339813
339814       · PR  #31050:  (basepi)  [2015.8] Merge forward from 2015.5 to 2015.8 @
339815         2016-02-09 20:13:34 UTC
339816
339817         · 8704750cf9  Merge  pull  request  #31050   from   basepi/merge-for‐
339818           ward-2015.8
339819
339820         · d86e014a39  Merge  remote-tracking  branch  'upstream/2015.5'  into
339821           merge-forward-2015.8
339822
339823           · 1c699a1664 Merge pull request #30974 from rallytime/bp-30949
339824
339825             · ff6542f593 Replace cfdisk with sfdisk
339826
339827           · c7f87cc371 Merge pull request #30942 from rallytime/bp-30897
339828
339829             · 885e00ba54 Only remove the word linux from distroname when  its
339830               not part of the name
339831
339832           · 35b7f62669    Merge    pull   request   #30922   from   jacobham‐
339833             mons/prev-rel-notes
339834
339835             · 57c1ec637a Rev latest version to 2015.8.5
339836
339837           · 2488bb902e  Merge  pull  request   #30865   from   abednarik/bet‐
339838             ter_boto_elb_error
339839
339840             · 3561e8c19b Better boto elb error message.
339841
339842           · 4da04f82c8    Merge    pull   request   #30831   from   jacobham‐
339843             mons/readme-update
339844
339845             · 01a92f5d98 Updated readme
339846
339847           · 90c1ea9f6c   Merge   pull   request   #30829    from    jacobham‐
339848             mons/release-2015.5
339849
339850             · c95bb60148 Version to 2015.8.4
339851
339852           · 80a36793cb Merge pull request #30784 from rallytime/bp-24952
339853
339854             · a07908bdea Don't split the string on a single line
339855
339856           · e978f5392f Merge pull request #30764 from terminalmage/issue30560
339857
339858             · 39736afcd7  Work  around  yum versionlock's inability to remove
339859               holds by package name alone
339860
339861           · 6f565c0d76 Merge pull request #30760 from toanju/2015.5
339862
339863             · dc4256f7df Changed output format of arp_ip_target from list  to
339864               comma delimited string
339865
339866           · 1c205b4898     Merge    pull    request    #30757    from    yan‐
339867             nis666/fix-for-mine-update-merge
339868
339869             · 61bb23e256 Fix to mine update to merge configuration
339870
339871           · f9fde8f6a7 Merge  pull  request  #30749  from  abednarik/fix_net‐
339872             work_system_test
339873
339874             · 1e9e97df59 Fix Netwotk hostname Module in Debian systems.
339875
339876       · PR  #31053:  (cachedout) Fix boto test failures @ 2016-02-09 20:02:16
339877         UTC
339878
339879         · f13ffd4608 Merge pull request #31053 from cachedout/boto_test_fix
339880
339881         · c73b5a4a66 Fix boto_secgroup
339882
339883         · 25bcc68357 Fix boto test failures
339884
339885       · ISSUE #30938: (lorengordon) Windows: Upgrade overwrites minion config
339886         file (refs: #31029, #31028)
339887
339888       · PR  #31029:  (twangboy)  Windows  defaults  to multiprocessing true @
339889         2016-02-09 18:20:36 UTC
339890
339891         · 87f2816ef5 Merge pull request #31029 from twangboy/win_defaults
339892
339893         · baffbbdb74 Comment multiprocessing line in minion config
339894
339895         · 933544b8c8 Set multiprocessing to true in config.py
339896
339897       · ISSUE #27796: (onsmribah)  IOError:  [Errno  13]  Permission  denied:
339898         '/var/cache/salt/master/.dfn'  when  using  python  salt.wheel module
339899         (refs: #30998)
339900
339901       · PR #30998: (dmacvicar) add_key/reject_key: do not crash  w/Permission
339902         denied:  '/var/cache/salt/master/.dfn' (#27796) @ 2016-02-09 17:57:36
339903         UTC
339904
339905         · 0dcdd0a2a7      Merge      pull      request      #30998       from
339906           dmacvicar/dmacvicar-2015.8-27796
339907
339908         · 9602fe2aeb  Do  not crash on add_key/reject_key if the previous one
339909           set the drop file. (#27796)
339910
339911       · ISSUE #31041: (fredrikaverpil) Reading about win_service in  2015.8.5
339912         docs, but it's not available in 2015.8.5 (refs: #31550, #31049)
339913
339914       · PR  #31049:  (twangboy) Fix versionadded in win_service.config (refs:
339915         #31550) @ 2016-02-09 17:55:07 UTC
339916
339917         · e773fc822a Merge pull request #31049 from twangboy/win_svc_docs
339918
339919         · 98005255d1 Fix versionadded in win_service.config
339920
339921       · PR #30987: (youngnick) Changed glusterfs.peer() module so  state  can
339922         handle localhost peering attempts.  @ 2016-02-09 17:51:58 UTC
339923
339924         · c3f115724a Merge pull request #30987 from youngnick/add-back-local‐
339925           host-peer-handling
339926
339927         · 730b5ef3e2 Update tests to cover new peering return val.
339928
339929         · b2407305e8 Changed glusterfs.peer() module call return val so state
339930           can handle localhost peering attempts.
339931
339932       · PR  #31042:  (moltob)  Allow  using Windows path in archive.extracted
339933         name attribute @ 2016-02-09 17:47:20 UTC
339934
339935         · 8518655bfb Merge pull request #31042  from  moltob/fix-archive-win‐
339936           path
339937
339938         · 9dcc617a53  Allow  using  Windows  path  in  archive.extracted name
339939           attribute, including drive letter colon and backslashes.
339940
339941       · PR #31012: (terminalmage) Fix  gitfs/git_pillar/winrepo  provider  to
339942         allow lowercase values @ 2016-02-09 17:24:25 UTC
339943
339944         · 1950359580    Merge    pull    request    #31012   from   terminal‐
339945           mage/fix-gitfs-provider-lc
339946
339947         · 763581798b Add unit tests to ensure a valid provider
339948
339949         · 49ec61d58b Fix gitfs/git_pillar/winrepo provider to allow lowercase
339950           values
339951
339952       · ISSUE  #30983: (JensRantil) salt.modules.aptpkg.upgrade does not nec‐
339953         essarily do apt-get dist-upgrade (refs: #31024)
339954
339955       · PR #31024: (jfindlay)  modules.aptpkg.upgrade:  clarify  dist-upgrade
339956         usage @ 2016-02-09 17:20:57 UTC
339957
339958         · 3d8681b63e Merge pull request #31024 from jfindlay/dist_upgrade
339959
339960         · 3d1be080ad modules.aptpkg.upgrade: clarify dist-upgrade usage
339961
339962       · ISSUE #30938: (lorengordon) Windows: Upgrade overwrites minion config
339963         file (refs: #31029, #31028)
339964
339965       · PR #31028: (twangboy) Fix config overwrite  by  windows  installer  @
339966         2016-02-09 17:20:24 UTC
339967
339968         · a0454ffb00 Merge pull request #31028 from twangboy/fix_installer
339969
339970         · 8876893b5c Fix remove placeholder files
339971
339972         · 788855cc94 Remove placeholder files
339973
339974         · c834a9d5e5 Set overwrite to off
339975
339976       · ISSUE  #31014: (gtmanfred) [2015.8] pkg breaks for yum pkgs.latest if
339977         the packages has an epoch (refs: #31131, #31015, #31031)
339978
339979       · PR #31031: (terminalmage) More complete fix for #31014  @  2016-02-09
339980         17:04:42 UTC
339981
339982         · PR  #31015:  (gtmanfred)  include possible epoch in version for rpm
339983           (refs: #31031)
339984
339985         · 071b9d4904 Merge pull request #31031 from terminalmage/issue31014
339986
339987         · 6d15a17d6b Fix yumpkg _get_branch_option()
339988
339989         · 4b855a85ee Don't handle epoch specially for dnf
339990
339991         · 5244de2fae More efficient way to add the epoch before version  num‐
339992           ber
339993
339994         · e1211ed89f include possible epoch in version for rpm
339995
339996       · ISSUE  #30934:  (marnovdm) contents_pillar no longer works with lists
339997         in 2015.8.5 (refs: #31026, #31177)
339998
339999       · PR #31026: (terminalmage) Fix  regression  when  contents_pillar/con‐
340000         tents_grains is a list.  @ 2016-02-09 00:03:15 UTC
340001
340002         · 2b8f7a12e7 Merge pull request #31026 from terminalmage/issue30934
340003
340004         · f43aaf4dff Fix regression when contents_pillar/contents_grains is a
340005           list.
340006
340007       · ISSUE #30472: (sjorge)  KeyError with schedule (refs: #30978)
340008
340009       · PR #30978: (garethgreenaway) fixes to state.py in 2015.8 @ 2016-02-08
340010         18:49:05 UTC
340011
340012         · de215bd0cd    Merge   pull   request   #30978   from   garethgreen‐
340013           away/30472_state_functions_no_default_retcode
340014
340015         · e33b5140f6 removing extra spaces.
340016
340017         · f668ccf1f7 removing duplicate code, just set  the  default  in  the
340018           _set_retcode function
340019
340020         · 5f2f0f60c0  The functions in the state module that return a retcode
340021           when something goes wrong, eg. a 1 or a 2, do not return a  0  when
340022           things  go the way they're supposed to go.  With the recent changes
340023           to the scheduler to ensure that the retcode  is  returned  this  is
340024           problematic  and results in exceptions when a state function is run
340025           from the schedule.  This simple fix ensures a default retcode of  0
340026           exists,  it  is then override in the _set_retcode function if there
340027           is an issue with the run
340028
340029       · PR #30893: (bdrung) Make build reproducible @ 2016-02-08 18:44:35 UTC
340030
340031         · 65fbf980cf Merge pull request #30893 from bdrung/reproducible
340032
340033         · 089c869ec3 Make build reproducible
340034
340035       · PR #30945: (cachedout) Note that pillar cli args are sent via  pub  @
340036         2016-02-08 18:43:59 UTC
340037
340038         · 5b0c7649c7 Merge pull request #30945 from cachedout/note_pillar_cli
340039
340040         · 3ff7d49555 Note that pillar cli args are sent via pub
340041
340042       · ISSUE  #31000: (rmtmckenzie) Salt-cloud profile state fails to create
340043         LXC minion (refs: #31002)
340044
340045       · PR #31002: (rmtmckenzie) Fix  lxc  cloud  provided  minion  reporting
340046         present @ 2016-02-08 18:14:50 UTC
340047
340048         · 3b7b6f2398    Merge    pull    request    #31002   from   rmtmcken‐
340049           zie/cloud-lxc-provide-fix
340050
340051         · 9b17fdce5e Fix lxc cloud provided minion reporting present
340052
340053       · PR  #31007:  (justinta)  Fixed  rabbitmq_vhost   test   failure.    @
340054         2016-02-08 17:48:00 UTC
340055
340056         · c48122ae9a    Merge    pull    request   #31007   from   jtand/rab‐
340057           bitmq_vhost_test_fix
340058
340059         · 962e0deda5 Fixed rabbitmq_vhost test failure.
340060
340061       · ISSUE #30993: (fredrikaverpil)  Overstate:  "This  documentation  has
340062         been moved here" (dead end) (refs: #31004)
340063
340064       · PR #31004: (rallytime) Remove overstate docs and a few references.  @
340065         2016-02-08 17:08:24 UTC
340066
340067         · 811461e4b4 Merge pull request #31004 from rallytime/fix-30993
340068
340069         · 33eb6ba125 Remove overstate docs and a few references.
340070
340071       · PR #30965: (anlutro) Fix rabbitmq_vhost.present result when test=True
340072         @ 2016-02-08 04:34:45 UTC
340073
340074         · 64125de6c7   Merge   pull   request   #30965   from  alprs/fix-rab‐
340075           bitmq_vhost_present_test
340076
340077         · 2313747958 return changes when test=True
340078
340079         · 95c8e74b72 make the code a bit simpler
340080
340081         · aba29a73c4 fix rabbitmq_vhost.present result when test=True
340082
340083       · PR #30955: (Ch3LL) docs: add clarification when source is not defined
340084         @ 2016-02-06 18:29:33 UTC
340085
340086         · ef02779391 Merge pull request #30955 from Ch3LL/clarify_file_doc
340087
340088         · 97b57ed2b1 docs: add clarification when source is not defined
340089
340090       · PR  #30941:  (rallytime)  Back-port  #30879  to  2015.8  @ 2016-02-05
340091         21:15:20 UTC
340092
340093         · PR #30879: (rhansen) Don't delete a Docker volume if  the  volume's
340094           driver differs (refs: #30941)
340095
340096         · d9785451c0 Merge pull request #30941 from rallytime/bp-30879
340097
340098         · eb6f289fc1 change default for volume_present()'s force parameter to
340099           False
340100
340101         · 34f3057e04 add 'force' to replace (or not) volumes with driver mis‐
340102           match
340103
340104         · d6d3b15738 typo fixes
340105
340106       · PR #30940: (twangboy) Fix Build Process for OSX @ 2016-02-05 18:44:34
340107         UTC
340108
340109         · 21a83065aa Merge pull request #30940 from twangboy/mac_build_3
340110
340111         · 3654a0e0c2 Change 2015 to 2016 in license file
340112
340113         · aa7d0602a8 Update instructions in readme.md for shasum
340114
340115         · 6f1a8f4146 Added code to add /opt/salt/bin to the path
340116
340117         · 1e7468a08c Disable master, syndic, and api in postinstall
340118
340119         · d49b3dcf1b Re-added start on load and keep alive
340120
340121         · 3ff50a2254 Removed keepalive option
340122
340123         · eb5d04bdf1 Remove autostart for api, master, and syndic
340124
340125         · 3c0cce34c9 Added minimum requirements for installation
340126
340127         · 1dcc23c85b Fix error on kickstart command
340128
340129         · 7a163c46d8 Change to new way of starting and stopping services
340130
340131         · 23d47722b7 Fix preinstall and postinstall scripts
340132
340133         · 7ef723d815 Upgrade to latest pip
340134
340135         · 0f09ad517f Updated pip dependencies
340136
340137         · d3d4c1d13f Removed GPL Licensed software from build
340138
340139       · PR #30944: (jacobhammons) 2015.8.5 release notes linking and clean up
340140         @ 2016-02-05 17:40:10 UTC
340141
340142         · 183b500055 Merge pull request #30944 from jacobhammons/rel-notes
340143
340144         · fbb7605366 2015.8.5 release notes linking and clean up
340145
340146       · ISSUE  #30882:  (hoonetorg)  state  lvm.vg_present  broken with pv on
340147         devicemapper-dev (centos 7.2) (refs: #30905)
340148
340149       · ISSUE #26867: (joejulian) lvm pv's can show as not belonging to their
340150         vg if symlink is used (refs: #30905)
340151
340152       · PR  #30905:  (joejulian)  Add realpath to lvm.pvdisplay and use it in
340153         vg_present @ 2016-02-05 17:05:32 UTC
340154
340155         · 91806b03b9    Merge    pull    request    #30905    from     joeju‐
340156           lian/2015.8_fix_lvm_pv_mapper
340157
340158         · f96650f3c3 Add realpath to lvm.pvdisplay and use it in vg_present
340159
340160       · ISSUE  #30923: (youngnick) Starting a glusterfs volume after creation
340161         fails with an exception in 2015.8 and after. (refs: #30924)
340162
340163       · PR #30924: (youngnick) Fix small bug with starting volumes after cre‐
340164         ation.  @ 2016-02-05 16:58:22 UTC
340165
340166         · af2832b69d   Merge   pull   request   #30924  from  youngnick/glus‐
340167           terfs-start-volume-bug
340168
340169         · be5295cf7b Fix small bug with starting volumes after creation.
340170
340171       · PR #30910: (cro) fix iDRAC state @ 2016-02-05 16:49:06 UTC
340172
340173         · 3a6666ad25 Merge pull request #30910 from cro/fx2_idrac
340174
340175         · 68af2ab185 Lint.
340176
340177         · c274c7ef6c Lint.
340178
340179         · 3e38b762bf Add generic command for  executing  racadm  commands  on
340180           individual blades in a chassis.
340181
340182         · 05979010f5  Finish  the  idrac  state,  fix problem with grains not
340183           loading sometimes.
340184
340185       · PR  #30919:  (garethgreenaway)  Fixes  to  ssh_auth  state  module  @
340186         2016-02-05 16:15:28 UTC
340187
340188         · 101fa12479    Merge   pull   request   #30919   from   garethgreen‐
340189           away/ssh_auth_cp_get_url_needs_saltenv
340190
340191         · c9ba038553 The call to cp.get_url  needs  the  saltenv,  if  you're
340192           using environments other than base, it will fail.
340193
340194       · ISSUE  #30300:  (AkhterAli) boto_route53 __salt__ not defined. (refs:
340195         #30867, #30920)
340196
340197       · PR #30920: (jacobhammons) Versioned to 2015.8.5,  added  known  issue
340198         #30300 to release notes @ 2016-02-05 01:12:17 UTC
340199
340200         · 6d4fd11dd0    Merge    pull    request    #30920   from   jacobham‐
340201           mons/release-notes
340202
340203         · 93d47f8615 Versioned to  2015.8.5,  added  known  issue  #30300  to
340204           release notes
340205
340206       · PR  #30894:  (terminalmage)  git  module/state: Handle identity files
340207         more gracefully @ 2016-02-04 23:55:01 UTC
340208
340209         · 3d3321ab92 Merge pull request #30894 from terminalmage/issue30858
340210
340211         · 08741eb969 Update versionadded/versionchanged
340212
340213         · 8909d430e1 salt.states.git.latest(): Prevent  tracebacks  when  git
340214           ssh auth fails
340215
340216         · c961cf1c7d  git: only use passphrase-protected key if invoked using
340217           salt-call
340218
340219         · 0b286f1bc3 Add global ssh_config path to git ssh wrapper
340220
340221         · f813cce4ad Add salt.modules.ssh.key_is_encrypted()
340222
340223         · 1ae7c53e17 Add salt.utils.files.process_read_exception()
340224
340225       · ISSUE #30694: (pankajghadge) Tomcat war deployment version  issue  in
340226         new SALT version (refs: #30750)
340227
340228       · PR #30750: (jfindlay) extract whole war version @ 2016-02-04 21:41:01
340229         UTC
340230
340231         · 2415b3e62e Merge pull request #30750 from jfindlay/war_version
340232
340233         · 4b01c28ff9 modules,states.tomcat: allow specifying war version
340234
340235         · 6deecdca0f states.tomcat: _extract_war_version parses path
340236
340237         · 8dd3b6dfe9 modules.war._extract_war_version: allow non-semver
340238
340239       · ISSUE #30817: (bogdanr)  If  the  private_key  filespecified  in  the
340240         provider is missing then the driver will be disabled (refs: #30884)
340241
340242       · PR #30884: (rallytime) Move checks for private_key file existence and
340243         permissions to create function @ 2016-02-04 21:03:23 UTC
340244
340245         · 6a6456eaa6 Merge pull request #30884 from rallytime/fix-30817
340246
340247         · 086ddae476 We need to check for a key_filename before  looking  for
340248           the path
340249
340250         · e79321b418  Move  checks for private_key file existence and permis‐
340251           sions to create function
340252
340253       · PR #30888: (ticosax) Backport #30797 to 2015.8 @ 2016-02-04  21:02:25
340254         UTC
340255
340256         · PR  #30797: (rhansen) don't delete existing Docker volume if driver
340257           unspecified (refs: #30888)
340258
340259         · 4ae2d829f0 Merge pull request #30888 from ticosax/backport-30797
340260
340261         · 413c47a45f don't delete existing Docker volume if  driver  unspeci‐
340262           fied
340263
340264         · 68b51be869  add  additional  states.dockerng.volume_present()  unit
340265           tests
340266
340267         · 849b94ed73 document the behavior if the driver is unspecified
340268
340269       · PR #30895: (bdrung) Fix various typos @ 2016-02-04 20:55:10 UTC
340270
340271         · 4372851ad9 Merge pull request #30895 from bdrung/2015.8
340272
340273         · 708f2ff8ea Fix typo reponse -> response
340274
340275         · 72c4eab6d7 Fix typo propogate -> propagate
340276
340277         · 4912e365cb Fix typo directores -> directories
340278
340279         · 74c8aba03e Fix typo exeption -> exception
340280
340281         · 4692d84b07 Fix typos of improvement
340282
340283         · 213fc2d858 Fix typo occuring -> occurring
340284
340285         · fe6124003b Fix typo nonexistant -> nonexistent
340286
340287         · 56ce7479b1 Fix typo catched -> caught
340288
340289         · 821e690e65 Fix typo develoment -> development
340290
340291         · b51279e086 Fix typo overide -> override
340292
340293         · 4f2f04ea7d Fix typo relevent -> relevant
340294
340295         · fe8be562c5 Fix typo existance -> existence
340296
340297         · 4a2f4de1a8 Fix typo accross -> across
340298
340299         · 9ae50c993e Fix typo Lenth -> Length
340300
340301         · 20e79981e1 Fix typo preferrably -> preferably
340302
340303         · f8d9f608dd Fix typo addres -> address
340304
340305         · a7f12a13f0 Fix typo keywork -> keyword
340306
340307         · bf92c3663b Fix typo formating -> formatting
340308
340309         · ca4450d881 Fix typo wont -> won't
340310
340311         · cd72b12161 Fix typo thats -> that's
340312
340313         · 6db9724ec7 Fix typo doesnt -> doesn't
340314
340315         · 58d46a7e98 Fix typo certficate -> certificate
340316
340317       · ISSUE #30887: (anlutro) salt-ssh fails on  import  msgpack  -  2015.8
340318         (refs: #30889)
340319
340320       · PR   #30889:   (anlutro)  Make  msgpack  an  optional  dependency  in
340321         salt.utils.cache @ 2016-02-04 20:53:39 UTC
340322
340323         · cdca33021a Merge  pull  request  #30889  from  alprs/fix-cache_msg‐
340324           pack_optional
340325
340326         · ab7aae3221 make msgpack an optional dependency in salt.utils.cache
340327
340328       · ISSUE  #6602:  (corywright) Add ability to match on nodegroups to the
340329         compound matcher (refs: #30896)
340330
340331       · ISSUE  #25292:  (lichtamberg)  Nodegroup  matching  in  pillars   via
340332         salt-SSH? (refs: #30896)
340333
340334       · PR  #30896:  (vutny)  Update  nodegroups parameter examples in master
340335         config example and docs @ 2016-02-04 20:52:35 UTC
340336
340337         · 0dff45b4ac Merge pull request #30896 from  vutny/nodegroups-in-mas‐
340338           ter-config-example
340339
340340         · 936c1ff6c8 Add explanation about N@ classifier. Inspired by #25292
340341
340342         · 8bc2426816 Update example in master config documentation reference
340343
340344         · ca8c0bdc3f  Update  nodegroups  section  example  in  master config
340345           according to docs
340346
340347       · ISSUE #30792: (bender-the-greatest) Specifying version in  pkgs  list
340348         returns failure even though it succeeds (on Ubuntu) (refs: #30898)
340349
340350       · PR  #30898:  (abednarik)  Fix pkg install with version.  @ 2016-02-04
340351         20:52:14 UTC
340352
340353         · 33a400e943 Merge pull request  #30898  from  abednarik/fix_pkg_ver‐
340354           sion_debian_family
340355
340356         · b15cdfd799 Fix pkg install with version.
340357
340358       · ISSUE  #30843:  (HeathNaylor) SALT.STATES.BOTO_ELB register_instances
340359         error (refs: #30867)
340360
340361       · ISSUE #30808: (Reiner030) Nice2have: better boto error handling  when
340362         AWS  service  isn't  available  (here:  some authentication problems)
340363         (refs: #30867)
340364
340365       · ISSUE #30300: (AkhterAli) boto_route53 __salt__ not  defined.  (refs:
340366         #30867, #30920)
340367
340368       · PR    #30867:    (rallytime)    Pass    in    'pack'    variable   to
340369         utils.boto.assign_funcs function from ALL boto modules  @  2016-02-04
340370         18:37:05 UTC
340371
340372         · PR  #30279:  (cachedout) Allow modules to be packed into boto utils
340373           (refs: #30867)
340374
340375         · 89bac9076a Merge pull request #30867 from rallytime/boto-utils-fix
340376
340377         · 6ad7642f6d Lint
340378
340379         · 58778dfc88 Fix failing boto_vpc module unit tests
340380
340381         · adb85892de Fix failing state module tests
340382
340383         · b5ec0991b0 Pylint fix
340384
340385         · c26c01568f Don't use pack=pack. Just pass in pack=__salt__ always.
340386
340387         · 6146209c53 Pass in 'pack' variable to utils.boto.assign_funcs func‐
340388           tion from ALL boto modules.
340389
340390       · ISSUE  #30798: (tbaker57) salt/utils/aws.py has Python 2.7 dependency
340391         (refs: #30849)
340392
340393       · PR #30849: (jfindlay) utils.aws: use time lib to conver to epoch sec‐
340394         onds @ 2016-02-03 22:47:31 UTC
340395
340396         · 276cf626b0 Merge pull request #30849 from jfindlay/aws_seconds
340397
340398         · 17ae74dab1 utils.aws: use time lib to conver to epoch seconds
340399
340400       · ISSUE  #30869:  (Ch3LL)  git  pillar: do not see all pillar data with
340401         multiple repos in 2015.8.4 (refs: #30874)
340402
340403       · PR #30874: (terminalmage) Fix regression in git_pillar when  multiple
340404         remotes are configured @ 2016-02-03 22:24:02 UTC
340405
340406         · 4cbc8a8250 Merge pull request #30874 from terminalmage/issue30869
340407
340408         · 9cf0c8126d  Fix  regression in git_pillar when multiple remotes are
340409           configured
340410
340411       · ISSUE #30814: (gpenin) [2015.8.*][Ubuntu 12.04 LTS][dpkg.py]  Invalid
340412         "${binary:Package}" field in dpkg-query (refs: #30850)
340413
340414       · PR  #30850:  (jfindlay)  modules.dpkg._get_pkg_info: allow for ubuntu
340415         12.04 @ 2016-02-03 16:33:26 UTC
340416
340417         · 8410842aea Merge pull request #30850 from jfindlay/dpkg_var
340418
340419         · d53a88762e modules.dpkg._get_pkg_info: handle older ubuntu
340420
340421         · d3c6732539 modules.dpkg._get_pkg_info: use pythonic initializers
340422
340423       · PR #30852: (replicant0wnz) Added more  descriptive  error  message  @
340424         2016-02-03 16:30:15 UTC
340425
340426         · 9a3ec9d028  Merge pull request #30852 from replicant0wnz/error-mes‐
340427           sage-libgit
340428
340429         · c3649023b5 Added more descriptive error message
340430
340431       · PR  #30847:  (terminalmage)  Backport  #30844  to  2015.8  branch   @
340432         2016-02-03 16:26:46 UTC
340433
340434         · PR  #30844:  (terminalmage)  Perform initial gitfs/git_pillar fetch
340435           when init'ing remotes on masterless minion (refs: #30847)
340436
340437         · PR #30703: (kraney) Fix for gitfs ext_pillar on  standalone  minion
340438           (refs: #30844)
340439
340440         · 0338f445d9 Merge pull request #30847 from terminalmage/bp-30844
340441
340442         · 58c4c01743 Add __role to master opts for gitfs integration tests
340443
340444         · 17dfec2dd4 Only perform initial fetch when running on a minion
340445
340446         · 53c4b4aaa4 gitfs: add initial fetch to pygit2 and dulwich
340447
340448         · 78f92e9ab2 Fix for gitfs ext_pillar on standalone minion
340449
340450       · PR  #30860: (vutny) Correct installation documentation for RHEL-based
340451         distributions @ 2016-02-03 16:13:09 UTC
340452
340453         · e51182495c   Merge   pull   request    #30860    from    vutny/cor‐
340454           rect-doc-install-on-rhel
340455
340456         · 6648fd4c62 Correct links to Fedora COPR repositories
340457
340458         · 083037fccc Remove duplicate post-installation tasks section
340459
340460       · PR  #30841:  (jacobhammons)  Release  notes for 2015.8.5 @ 2016-02-03
340461         00:04:05 UTC
340462
340463         · f1cf027308   Merge   pull    request    #30841    from    jacobham‐
340464           mons/release-notes
340465
340466         · 6d0562ef86 Release notes for 2015.8.5
340467
340468       · ISSUE  #30820: (Supermathie) State runs involving watch_in or extend‐
340469         ing break on 2015.8.4 (refs: #30837, #30835, #30833)
340470
340471       · PR #30835: (terminalmage) Integration test for  #30820  @  2016-02-02
340472         23:51:53 UTC
340473
340474         · f8ac6002d3 Merge pull request #30835 from terminalmage/issue30820
340475
340476         · ef14956db0 Integration test for #30820
340477
340478       · ISSUE  #30820: (Supermathie) State runs involving watch_in or extend‐
340479         ing break on 2015.8.4 (refs: #30837, #30835, #30833)
340480
340481       · PR #30837: (jacobhammons) Added known issue #30820 to release notes @
340482         2016-02-02 22:33:43 UTC
340483
340484         · e0901854ce    Merge    pull    request    #30837   from   jacobham‐
340485           mons/release-notes
340486
340487         · 29e12a7fef Added known issue #30820 to release notes
340488
340489       · ISSUE #28790: (jfindlay) add grains (and others?)  to  salt  modindex
340490         (refs: #30832)
340491
340492       · PR  #30832:  (rallytime)  Add  grains  modules  to  salt  modindex  @
340493         2016-02-02 21:47:46 UTC
340494
340495         · b512c7757a Merge pull request #30832 from rallytime/fix-28790
340496
340497         · ca044dd201 Add grains modules to salt modindex
340498
340499       · ISSUE #28971: (belt-ascendlearning) if the user exists,  but  has  no
340500         permissions,   rabbitmq_user.list_user_permissions()   blows   (refs:
340501         #30822)
340502
340503       · PR #30822: (rallytime) Make  sure  setting  list_user_permissions  to
340504         ['', '', ''] doesn't stacktrace @ 2016-02-02 21:42:26 UTC
340505
340506         · 75db37a97d   Merge   pull   request   #30822   from  rallytime/rab‐
340507           bitmq-user-state-fixes
340508
340509         · 272cc653ca Make sure setting list_user_permissions to ['', '',  '']
340510           doesn't stacktrace
340511
340512         · a7afa7a368  Don't return a set() when checking for new tags in rab‐
340513           bitmq_user state
340514
340515       · ISSUE #30820: (Supermathie) State runs involving watch_in or  extend‐
340516         ing break on 2015.8.4 (refs: #30837, #30835, #30833)
340517
340518       · PR  #30833:  (terminalmage) Fix regression in scanning for state with
340519         'name' param @ 2016-02-02 21:25:09 UTC
340520
340521         · 557766f20b Merge pull request #30833 from terminalmage/issue30820
340522
340523         · be3b8e2be6 Fix regression in scanning for state with 'name' param
340524
340525       · ISSUE #30722: (yannis666) mine config is not merged from minion  con‐
340526         fig and pillar (refs: #30757, #30823)
340527
340528       · PR #30823: (yannis666) Fix for mine to merge configuration on update.
340529         @ 2016-02-02 20:21:24 UTC
340530
340531         · ec4e2bb9bb    Merge    pull    request     #30823     from     yan‐
340532           nis666/fix-for-mine-update-merge2
340533
340534         · 99c7c12aba  Fix for mine to merge configuration on update. This fix
340535           was previously applied to 2015.5. It fixes #30722
340536
340537       · PR #30827: (jacobhammons) Version to 2015.8.4, added CVE 2016-1866 to
340538         release notes @ 2016-02-02 20:03:31 UTC
340539
340540         · d24b9f1ea1    Merge    pull    request    #30827   from   jacobham‐
340541           mons/release-2015.8
340542
340543         · dfc1f7a57d Version to 2015.8.4,  added  CVE  2016-1866  to  release
340544           notes
340545
340546       · ISSUE #30809: (anlutro) Master configuration "pillar_merge_lists" has
340547         no effect (refs: #30813)
340548
340549       · ISSUE #29601: (seanjnkns) pillars not merging properly with  2015.8.3
340550         (refs: #30062)
340551
340552       · PR  #30813:  (anlutro)  Properly  set  the  default  value  for  pil‐
340553         lar_merge_lists @ 2016-02-02 19:53:52 UTC
340554
340555         · PR #30458: (rallytime) Back-port #30062 to 2015.8 (refs: #30813)
340556
340557         · PR #30062: (seanjnkns) Remove recurse_list from pillar_source_merg‐
340558           ing_strategy and add pilla… (refs: #30813, #30458)
340559
340560         · f83845d7c3   Merge   pull   request   #30813   from  alprs/fix-pil‐
340561           lar_merge_list_default
340562
340563         · ec34cabee8 Properly set the default value for pillar_merge_lists
340564
340565       · PR #30826: (cachedout) Fix 30682 @ 2016-02-02 19:40:05 UTC
340566
340567         · a3feba4a26 Merge pull request #30826 from cachedout/fix_30682
340568
340569         · 3b246db0b0 Fix stupid test
340570
340571         · 12dc677628 Changed list conversion to use correct method and return
340572           whole set
340573
340574         · 97eb4b8bf7  Pop  values  from new_tags set before loading into dict
340575           value
340576
340577       · PR #30818:  (rallytime)  Back-port  #30790  to  2015.8  @  2016-02-02
340578         18:57:55 UTC
340579
340580         · PR  #30790: (xmj) salt/modules/sysrc.py: Fix documentation for set_
340581           (refs: #30818)
340582
340583         · b25b845d05 Merge pull request #30818 from rallytime/bp-30790
340584
340585         · c7c66afd0c salt/modules/sysrc.py: Fix documentation for set_
340586
340587       · ISSUE #30604: (vutny) Reactor overwrites user argument  when  calling
340588         runner or wheel module (refs: #30815)
340589
340590       · PR  #30815:  (vutny)  Pick  right  user argument for updating reactor
340591         function's low data @ 2016-02-02 16:50:23 UTC
340592
340593         · 3cb7a9ee54   Merge   pull   request   #30815    from    vutny/reac‐
340594           tor-low-data-fix
340595
340596         · 4d4d67f9ac Pick right user argument for updating reactor function's
340597           low data
340598
340599       · ISSUE #30676: (bwillcox) testsystemd.sh tries  to  use  'which'  that
340600         does not exist in centos 7 lxc rootfs (refs: #30747)
340601
340602       · PR #30747: (jfindlay) modules.lxc.running_systemd: use command -v not
340603         which @ 2016-02-02 14:54:17 UTC
340604
340605         · 36752906c4 Merge pull request #30747 from jfindlay/lxc_which
340606
340607         · f8f867570f modules.lxc.running_systemd: use command -v not which
340608
340609       · PR #30800: (twangboy) Ability to handle special case installations  @
340610         2016-02-02 14:25:44 UTC
340611
340612         · 8abb5b30ad Merge pull request #30800 from twangboy/chrome
340613
340614         · fe0747c14e Fix another typo
340615
340616         · 2815efc522 Fixes spelling
340617
340618         · 6027e1ec53 Updates documentation to reflect new features
340619
340620         · 1444ab1a48 Adds return success/failure for reg.broadcast_change
340621
340622         · f2a36904d2 Fixes problem with missing key in old
340623
340624         · 581a4df523 Added logic for dealing with latest in remove
340625
340626         · c4357a6d80 Adds more logic for detecting latest
340627
340628         · 40a66a2501 Logic for handling version: latest
340629
340630         · b7dadd3b9b Fixes message formatting
340631
340632         · a305c8ceae Added more descriptive failure message
340633
340634         · fe49dcb57c Added broadcast change to force registry update
340635
340636       · PR  #30794: (rallytime) A spelling fix and some spacing fixes for the
340637         boto_ec2 module docs @ 2016-02-01 21:45:33 UTC
340638
340639         · 7b44c0844d    Merge    pull    request    #30794    from     rally‐
340640           time/boto_ec2-mod-doc-fix
340641
340642         · 5188bc4b96  A  spelling fix and some spacing fixes for the boto_ec2
340643           module docs
340644
340645       · ISSUE #23789: (hoonetorg) log output of salt orchestrate run  changed
340646         between  2014.7.5  and  2015.5.0 significantly - hard to debug (refs:
340647         #30756)
340648
340649       · PR #30756: (basepi) [2015.8] Fix two error conditions  in  the  high‐
340650         state outputter @ 2016-02-01 21:39:23 UTC
340651
340652         · 1f87ad0387  Merge pull request #30756 from basepi/highstate.output‐
340653           ter.23789
340654
340655         · 16ad24d42c Import the logger
340656
340657         · 1b5c6a240c Handle non-string types in comment
340658
340659         · 11e34d047b Ensure rdurations are all floats for the highstate  out‐
340660           putter
340661
340662       · PR  #30788:  (rallytime)  Fix  incorrect  doc example for dellchassis
340663         blade_idrac state @ 2016-02-01 21:20:29 UTC
340664
340665         · 46adb2d1af Merge pull request #30788  from  rallytime/fix-dellchas‐
340666           sis-doc-example
340667
340668         · bfc16d9f7a  Fix  incorrect  doc example for dellchassis blade_idrac
340669           state
340670
340671       · ISSUE #29161: (jefferyharrell) saltmod.state's ret argument seems  to
340672         do nothing (refs: #30791, #29207)
340673
340674       · PR #30791: (Ch3LL) do not shadow ret function argument for salt.func‐
340675         tion @ 2016-02-01 20:07:31 UTC
340676
340677         · PR #29207: (jfindlay) do not shadow ret  function  argument  (refs:
340678           #30791)
340679
340680         · 333041aeb1 Merge pull request #30791 from Ch3LL/2015.8
340681
340682         · d54f220c0a do not shadow ret function argument for salt.function
340683
340684       · ISSUE  #30706:  (carsonoid) minion traceback when Log4mongo installed
340685         but not configured (refs: #30726)
340686
340687       · PR #30726: (sjmh) Fix improper use of yield in generator @ 2016-02-01
340688         18:13:24 UTC
340689
340690         · ce3be26e8f Merge pull request #30726 from sjmh/fix/log4mongo
340691
340692         · d501f1cc03 Fix improper use of yield in generator
340693
340694       · PR  #30752: (terminalmage) Backport systemd and yum/dnf optimizations
340695         from develop into 2015.8 @ 2016-02-01 18:11:42 UTC
340696
340697         · a49b75e065 Merge pull request #30752 from terminalmage/zh459
340698
340699         · 8a836c88f4 Update systemd tests
340700
340701         · 54ddb92474 Backport yum/dnf optimizations from develop into 2015.8
340702
340703         · 1ec13699b6 Backport systemd optimizations from develop into 2015.8
340704
340705       · PR #30759: (thusoy) Allow managing empty files @ 2016-01-31  19:06:37
340706         UTC
340707
340708         · ea15628446 Merge pull request #30759 from thusoy/empty-files
340709
340710         · c6244b46ac Allow managing empty files
340711
340712       · PR  #30758:  (thusoy) Support mounting labelled volumes with multiple
340713         drives @ 2016-01-31 19:04:03 UTC
340714
340715         · 120d8344e4 Merge pull request #30758 from thusoy/multi-device-mount
340716
340717         · 9a6dc4898f Support mounting labelled volumes with multiple drives
340718
340719       · PR  #30686:  (cachedout)  Master-side  pillar  caching  @  2016-01-31
340720         18:52:47 UTC
340721
340722         · 9e8af2f994   Merge   pull   request   #30686   from  cachedout/pil‐
340723           lar_cache_2015_8
340724
340725         · 02d8ff626a Pillar cache for master
340726
340727       · ISSUE #30662:  (JoaquinVeira)  UnicodeDecodeError  on  2015.8  (refs:
340728         #30675)
340729
340730       · PR  #30675:  (jfindlay)  handle  non-ascii  minion  IDs  @ 2016-01-29
340731         23:12:10 UTC
340732
340733         · 4008e1719a Merge pull request #30675 from jfindlay/decode_id
340734
340735         · 8f6737b6c4 output.key: decode minion ids to unicode
340736
340737         · 7a16f1c941 config: decode id to unicode
340738
340739       · ISSUE #29602: (multani) cloud.action start raises "got an  unexpected
340740         keyword argument 'kwargs'" (refs: #30691)
340741
340742       · PR  #30691:  (rallytime)  Make  sure  we  use the "instance" kwarg in
340743         cloud.action.  @ 2016-01-29 23:11:37 UTC
340744
340745         · PR #30217: (pass-by-value) Make sure cloud actions  can  be  called
340746           via salt run (refs: #31061, #30691)
340747
340748         · 5ca75fbdc9     Merge    pull    request    #30691    from    rally‐
340749           time/cloud-action-instance
340750
340751         · 0873a41601 Make note of empty dict return in docstring
340752
340753         · 64a73502ed Make sure we just the "instance" kwarg in cloud.action.
340754
340755       · PR #30713: (rallytime) Fix-up autodoc proxy modules for consistency @
340756         2016-01-29 23:10:54 UTC
340757
340758         · 7c632d61d3  Merge  pull  request  #30713  from rallytime/proxy-mod‐
340759           ule-docs
340760
340761         · 86c3f2016e Fix-up autodoc proxy modules for consistency
340762
340763       · ISSUE #30654: (Horgix) Misleading locale(mod) module behavior  (refs:
340764         #30741)
340765
340766       · PR #30741: (jfindlay) states.locale.__virtual__: return exec mod load
340767         err @ 2016-01-29 23:00:41 UTC
340768
340769         · 1f5f41cc07 Merge pull request #30741 from jfindlay/locale_state
340770
340771         · a3a2a44735 states.locale.__virtual__: return exec mod load err
340772
340773       · PR #30751: (basepi) [2015.8] Merge forward from 2015.5  to  2015.8  @
340774         2016-01-29 22:43:41 UTC
340775
340776         · 716c2bb7c8   Merge   pull  request  #30751  from  basepi/merge-for‐
340777           ward-2015.8
340778
340779         · 84eeab7720  Merge  remote-tracking  branch  'upstream/2015.5'  into
340780           merge-forward-2015.8
340781
340782         · 076268089a     Merge     pull    request    #30699    from    abed‐
340783           narik/save_load_retry_time
340784
340785           · 186872cf49 Add Retry to save_load.
340786
340787         · 8d79d1b9c7 Merge pull request #30659 from sjmh/fix-scsi
340788
340789           · 3544dd995e Fix lsscsi issues for certain platforms
340790
340791       · PR #30720: (clinta) x509.pem_managed does not return changes  dict  @
340792         2016-01-29 17:07:26 UTC
340793
340794         · 1f0d0f591e  Merge  pull  request  #30720  from  clinta/fix-pem-man‐
340795           aged-changes
340796
340797         · 5c28efa9d3 return changes on test as well
340798
340799         · e611f0269c fix typos and no changes returned for pem_managed
340800
340801       · PR #30687: (clarkperkins) Setting  'del_root_vol_on_destroy'  changes
340802         the root volume type to 'standard' @ 2016-01-28 00:02:26 UTC
340803
340804         · PR  #30677:  (clarkperkins)  Fix  EC2  volume creation logic (refs:
340805           #30687)
340806
340807         · 36db0f99ed  Merge  pull  request  #30687   from   clarkperkins/bug‐
340808           fix/del-root-vol-loses-type
340809
340810         · a71e181c18 Don't set  on a volume when creating from a snapshot
340811
340812         · 8cef43c68d   When  setting  del_root_vol_on_destroy,  preserve  the
340813           existing volumeType on the AMI
340814
340815       · ISSUE  #28257:  (peterzalewski)  git_pillar  remote   with   multiple
340816         branches  yields  conflicting  cachedirs  or checkout conflict (refs:
340817         #30673)
340818
340819       · PR #30673: (terminalmage) Properly  derive  the  git_pillar  cachedir
340820         from the id instead of the URL @ 2016-01-27 23:52:01 UTC
340821
340822         · 690b8d26b9 Merge pull request #30673 from terminalmage/issue28257
340823
340824         · 8b5933fab4  Properly  derive  the  git_pillar  cachedir from the id
340825           instead of the URL
340826
340827         · 62654ade1d Add additional reason for pillar env being found
340828
340829       · PR #30666: (cachedout) Fix grains cache @ 2016-01-27 22:23:12 UTC
340830
340831         · 9f0e97693c    Merge    pull    request    #30666    from    cached‐
340832           out/grains_cache_fix
340833
340834         · 52716694f5 Fix grains cache
340835
340836       · PR  #30623:  (twangboy)  Added  service.config  function @ 2016-01-27
340837         21:08:12 UTC
340838
340839         · 8b17c77d72 Merge pull request #30623 from twangboy/add_config
340840
340841         · c70e182cdf Fixed indenting... got messed up somehow...
340842
340843         · 246f75f2dd Renamed variables, updated docs, added tag
340844
340845         · a4534ee94c Fixed documentation
340846
340847         · 54b50236a6 Fixed another error
340848
340849         · 76a0cf33e5 Fixed syntax error
340850
340851         · 3937380b79 Added service.config function
340852
340853       · PR #30678:  (rallytime)  Back-port  #30668  to  2015.8  @  2016-01-27
340854         20:39:25 UTC
340855
340856         · PR  #30668:  (multani)  Fix salt.modules.mount documentation (refs:
340857           #30678)
340858
340859         · 6af1927bd3 Merge pull request #30678 from rallytime/bp-30668
340860
340861         · 7c7076e6af Fix salt.modules.mount documentation
340862
340863       · PR #30677:  (clarkperkins)  Fix  EC2  volume  creation  logic  (refs:
340864         #30687) @ 2016-01-27 18:09:29 UTC
340865
340866         · 6c71b29f25   Merge   pull  request  #30677  from  clarkperkins/bug‐
340867           fix/ec2-volume-logic
340868
340869         · bfec052e7d Added some extra documentation
340870
340871         · ed2eee8e39 Allow volume params to be set  even  when  specifying  a
340872           snapshot
340873
340874       · ISSUE  #18980:  (lrhazi)  salt-cloud:  ExtraData:  unpack(b) received
340875         extra data. (refs: #30671)
340876
340877       · PR #30680: (cro) Merge forward from 2015.5, primarily  for  #30671  @
340878         2016-01-27 17:56:48 UTC
340879
340880         · PR #30671: (techhat) Add file locking to cloud index (refs: #30680)
340881
340882         · 36142390d4       Merge      pull      request      #30680      from
340883           cro/mf20155-20158-20160127
340884
340885         · f8ae3a20ff  Merge  remote-tracking  branch  'upstream/2015.5'  into
340886           mf20155-20158-20160127 Mergeforward from 2015.5.
340887
340888         · 516919525a Merge pull request #30671 from techhat/lockcloud
340889
340890           · 4719f8d4ea Whitespace
340891
340892           · 8e7eca23e4 Add file locking to cloud index
340893
340894       · PR  #30663:  (isbm)  Zypper:  latest version bugfix and epoch support
340895         feature @ 2016-01-27 17:10:42 UTC
340896
340897         · f6feddecb4 Merge pull  request  #30663  from  isbm/isbm-zypper-lat‐
340898           est-versionfail
340899
340900         · 4336487765 Add support for epoch in Zypper
340901
340902         · 12d515fa0c Fix package status filtering on latest version
340903
340904       · PR #30652: (mew1033) Fix sh beacon @ 2016-01-27 17:00:29 UTC
340905
340906         · 9d8ddeb525 Merge pull request #30652 from mew1033/fix-sh-beacon
340907
340908         · 256d037e0f Fix sh beacon
340909
340910       · ISSUE #29678: (dschaller) NPM Install Forces Silent (refs: #29650)
340911
340912       · PR   #30657:   (jfindlay)  [2015.8]  Backport  #30378  and  #29650  @
340913         2016-01-27 00:34:00 UTC
340914
340915         · PR #30378: (dschaller) Adding silent flag to  npm.bootstrap  (refs:
340916           #30657)
340917
340918         · PR #29650: (dschaller) Adding ability to disable npm install silent
340919           flag (refs: #30657)
340920
340921         · 1fa1963895 Merge pull request #30657 from jfindlay/backport_quiet
340922
340923         · ca4adbf382 Adding ability to disable npm install silent flag
340924
340925         · afe149eb6d Adding ability to disable npm install silent flag
340926
340927         · c1101b5f0b Adding ability to disable npm install silent flag
340928
340929         · d29ad8bbf6 Adding ability to disable npm install silent flag
340930
340931         · 7a21dbf0d9 Adding silent flag to npm.bootstrap
340932
340933         · 354c0bdf26 Adding silent flag to npm.bootstrap
340934
340935       · PR #30656: (rallytime) [2015.8] Merge 2015.5 into 2015.8 @ 2016-01-27
340936         00:33:30 UTC
340937
340938         · 3621651bf8  Merge  pull  request  #30656  from rallytime/merge-for‐
340939           ward-2015.8
340940
340941         · 76ab6981a5 Merge branch '2015.5' into 2015.8
340942
340943         · 643c9c9616  Merge  pull  request  #30586  from   abednarik/fix_com‐
340944           ment_line_perms
340945
340946         · 8b395a42cb Fix comment_line permissions.
340947
340948       · PR  #30644:  (tbaker57)  Another  go  at  fixing  30573  @ 2016-01-26
340949         20:18:41 UTC
340950
340951         · 30e03a8b0c      Merge      pull      request      #30644       from
340952           tbaker57/another_go_at_30573
340953
340954         · 267b8827fd Another go at fixing 30573
340955
340956       · PR  #30611:  (isbm)  Bugfix: Zypper pkg.latest crash fix @ 2016-01-26
340957         16:35:47 UTC
340958
340959         · 7d307e2a04 Merge pull request #30611 from isbm/isbm-zypper-latest
340960
340961         · a7141be651 Put 'kwargs' on its own line  according  to  the  common
340962           pattern
340963
340964         · ee9b3f859b  Bugfix:  do  not  treat  SLS id as a package name if an
340965           empty 'pkgs' list specified.
340966
340967         · d3cfd8ed41 Cleanup formatting
340968
340969         · 1bdbaac658 Add error handling
340970
340971         · 2ec5cec8a4 Add a new line before the last return
340972
340973         · 424383b8c4 Remove unnecessary complexity and string increment
340974
340975         · 48e8d90343 Avoid backslashes where they are not needed
340976
340977         · 6df5d500f0 Use regexp type for the string.
340978
340979         · c2ca141956 Get version as an explicit parameter
340980
340981         · 9e944db706 Check the version of the package, instead of the package
340982           name
340983
340984         · 59ea758efb Fix formatting
340985
340986         · 514f6349d4 Bugfix: crash on "key not found" error
340987
340988         · ea75f55a1a Fix PEP8: line continuation
340989
340990         · ece35ebc26 Replace old fashion string memcopy with the list
340991
340992         · 716445e588 Fix PEP8: line continuation
340993
340994         · 0f11079ff9 Fix PEP8 for the operator
340995
340996       · ISSUE  #7811:  (kiall)  RabbitMQ Cluster/Plugins/Policy etc states do
340997         not track changes, preventing "watch" from working (refs: #30631)
340998
340999       · PR  #30631:  (rallytime)  Refactor  rabbitmq_cluster  states  to  use
341000         test=true functionality correctly @ 2016-01-26 16:23:49 UTC
341001
341002         · 5bc11d7539 Merge pull request #30631 from rallytime/fix-7811
341003
341004         · bf9ffded6d  Refactor rabbitmq_cluster states to use test=true func‐
341005           tionality correctly
341006
341007       · ISSUE #25658: (tsaridas) rabbitmq_policy.present state (refs: #30628)
341008
341009       · PR  #30628:  (rallytime)  Refactor  rabbitmq_policy  states  to   use
341010         test=true functionality correctly @ 2016-01-26 00:21:03 UTC
341011
341012         · ef6c4e8377 Merge pull request #30628 from rallytime/fix-25658
341013
341014         · 1e8e86007c  Refactor  rabbitmq_policy states to use test=true func‐
341015           tionality correctly
341016
341017       · PR #30624: (cro) Remove bad symlinks from osx pkg  dir  @  2016-01-26
341018         00:02:25 UTC
341019
341020         · 80d0e428aa Merge pull request #30624 from cro/remove_bad_symlinks
341021
341022         · f5fd38624e Remove bad symlinks in osx pkg dirs
341023
341024       · ISSUE  #30621:  (zer0def)  Current  latest (2015.8.3) list of builtin
341025         states docu doesn't list 'glance' (refs: #30622)
341026
341027       · PR #30622: (rallytime) Add glance state to list of  state  modules  @
341028         2016-01-25 23:55:54 UTC
341029
341030         · 330ea9a292 Merge pull request #30622 from rallytime/fix-30621
341031
341032         · 57b7e6cc93 Add glance state to list of state modules
341033
341034       · ISSUE  #19288:  (oba11)  AssociatePublicIpAddress  doesnt  work  with
341035         salt-cloud 2014.7.0 (refs: #20972, #30591)
341036
341037       · PR #30618:  (rallytime)  Back-port  #30591  to  2015.8  @  2016-01-25
341038         23:55:20 UTC
341039
341040         · PR #30591: (mlalpho) salt-cloud-clouds-ec2 AssociatePublicIpAddress
341041           fix (refs: #30618)
341042
341043         · PR #20972: (JohannesEbke) Fix interface cleanup when using  Associ‐
341044           atePublicIpAddress in #19288 (refs: #30591)
341045
341046         · f00d8f398a Merge pull request #30618 from rallytime/bp-30591
341047
341048         · 2c9d59fa42  looks  like  a  re-merge  of PR #20972 which relates to
341049           #19288
341050
341051       · ISSUE #30587: (sjorge) [docs] docs confusing on client_acl and exter‐
341052         nal_auth usage (refs: #30625)
341053
341054       · PR #30625: (jfindlay) doc.topics.eauth: clarify client_acl vs eauth @
341055         2016-01-25 23:03:24 UTC
341056
341057         · 6b940d9655 Merge pull request #30625 from jfindlay/eauth_acl
341058
341059         · b5e2cff028 doc.topics.eauth: clarify client_acl vs eauth
341060
341061   Salt 2015.8.8.2 Release Notes
341062       Version 2015.8.8.2 is a bugfix release for 2015.8.0.
341063
341064   Fixes to 2015.8.8
341065       Salt 2015.8.8.2 includes  fixes  for  the  following  known  issues  in
341066       2015.8.8:
341067
341068       · Key  master with value [...] has an invalid type of list Error (issue
341069         #32044)
341070
341071       · Failed to import module win_dacl Error (issue #32004)
341072
341073       · Wrong validation type for file_ignore_glob key (issue #32114)
341074
341075       · Fix file.managed for windows (issue #31969)
341076
341077       IMPORTANT:
341078          issue #32183 prevents Salt Cloud from installing the Salt minion  on
341079          new  systems. To workaround this issue, call salt-cloud -u to update
341080          the bootstrap script to the latest version.
341081
341082   Changelog for v2015.8.8..v2015.8.8.2
341083       Generated at: 2018-05-28 00:29:12 UTC
341084
341085       · 403563e441 Change type check errors to debug loglevel
341086
341087       · 8323005b3d Support multiple valid option types when  performing  type
341088         checks
341089
341090       · 2f95082a96 Fixed validation type for file_ignore_glob Fixes #32114
341091
341092       · 2685e61d9e  Move  constant  declaration into member variable to avoid
341093         issues when modules can't be loaded.
341094
341095       · bc10d7dede Add apply_template_on_contents for windows
341096
341097   Salt 2015.8.9 Release Notes
341098       Version 2015.8.9 is a bugfix release for 2015.8.0.
341099
341100   Statistics
341101       · Total Merges: 145
341102
341103       · Total Issue References: 110
341104
341105       · Total PR References: 264
341106
341107       · Contributors: 71 (Ch3LL, DmitryKuzmenko, DylanFrese, Ferbla, Kurocon,
341108         Lothiraldan,  RuriRyan,  Talkless,  The-Loeki,  UtahDave,  Xiami2012,
341109         abednarik, afletch, ahammond, ahus1, aletourneau,  alxf,  amontalban,
341110         anlutro,   arthurlogilab,   atengler,  basepi,  bdrung,  bradthurber,
341111         cachedout, captaininspiration, cedwards, clarkperkins,  clinta,  cro,
341112         dmurphy18,   exowaucka,   garethgreenaway,   guettli,  idonin,  isbm,
341113         jacobhammons,  jbonachera,  jfindlay,  jfray,   junster1,   justinta,
341114         krak3n,  lalmeras,  lloydoliver,  lomeroe,  mcalmer, mitar, mrproper,
341115         multani, nmadhok, notpeter, onorua, paclat,  papertigers,  rallytime,
341116         rkgrunt,  sakateka,  sbreidba, schancel, sjorge, stk0vrfl0w, techhat,
341117         terminalmage, thatch45, ticosax,  tomlaredo,  twangboy,  twellspring,
341118         vutny, whiteinge)
341119
341120   Important Post-Upgrade Instructions for Linux Mint
341121       As a result of some upstream changes, the os grain on Mint Linux is now
341122       being detected as LinuxMint (issue #33295). Run the  following  command
341123       after  you  upgrade  to  2015.8.9 to reset the os grain to Mint and the
341124       os_family grain to Debian:
341125
341126          salt -G 'os:LinuxMint' grains.setvals "{'os': 'Mint', 'os_family': 'Debian'}"
341127
341128   Changelog for v2015.8.8.2..v2015.8.9
341129       Generated at: 2018-05-28 00:36:04 UTC
341130
341131       · PR #33310: (jfindlay) update 2015.8.9 release notes
341132
341133       · PR #33293: (twangboy) Fix minion start retry on  Windows  (2015.8)  @
341134         2016-05-17 17:03:41 UTC
341135
341136         · e3eff27c55 Merge pull request #33293 from twangboy/fix_33277_2015_8
341137
341138         · 652f0079db Fix minion start retry on Windows
341139
341140       · ISSUE  #31270:  (4001982248998)  acl.present: TypeError on subsequent
341141         runs (refs: #33172)
341142
341143         · PR #33305: (rallytime) Back-port #33172 to 2015.8
341144
341145         · PR #33172: (Kurocon) linux_acl: Allow '-' as a separation character
341146           in ACL permissions. Fi… (refs: #33305)
341147
341148       · ISSUE  #33299:  (jbonachera)  salt-cloud:  scp_file() and sftp_file()
341149         don't work with ipv4-only hosts  (refs: #33300)
341150
341151       · ISSUE #33243: (jbonachera) salt-cloud: wait_for_port()  doesn't  work
341152         with ipv4-only hosts (refs: #33246, #33300)
341153
341154         · PR  #33300:  (jbonachera)  Handle  more  ipv6 error as an exception
341155           #33299
341156
341157       · ISSUE #26062:  (silenius)  service.status  is  broken  under  FreeBSD
341158         (refs: #33294)
341159
341160       · ISSUE #23435: (JaseFace) service.status currently reports an error on
341161         FreeBSD if the service isn't running (refs: #33294)
341162
341163         · PR #33294: (terminalmage) Ignore retcode  when  checking  service's
341164           status
341165
341166       · PR #33274: (rallytime) [2015.8] Merge forward from 2015.5 to 2015.8 @
341167         2016-05-16 16:41:32 UTC
341168
341169         · 06edba448e Merge pull request #33274 from rallytime/merge-2015.8
341170
341171         · bf641d3a66 Merge branch '2015.5' into '2015.8'
341172
341173         · 8fa72f6588 Clarify file.replace  MULTILINE  flag  interaction  with
341174           regex anchors (#33137)
341175
341176         · 4b1f460256 update 2015.5.11 release notes (#33236)
341177
341178       · ISSUE  #30258:  (rallytime)  Changes dictionary return should be men‐
341179         tioned in test state docs (refs: #33254)
341180
341181         · PR #33254: (rallytime) Add comment for test=true  w/o  changes  ret
341182           and add changes dict example
341183
341184       · ISSUE  #30946:  (rallytime) Update SaltStack Git Policy Documentation
341185         (refs: #33252)
341186
341187         · PR #33252: (rallytime) Update Git Policy docs to match Contribution
341188           guide
341189
341190       · ISSUE #33238: (clinta) x509 CSR fails if the csr does not contain any
341191         extensions (refs: #33239)
341192
341193         · PR #33239: (clinta) Fix #33238
341194
341195         · PR #33245: (terminalmage) Backport #33244 to 2015.8
341196
341197         · PR #33244: (terminalmage) Properly report on invalid gitfs/git_pil‐
341198           lar/winrepo repos (refs: #33245)
341199
341200         · PR  #32238:  (ticosax)  [gitfs]  only 2 argument are passed to this
341201           template when render error message (refs: #33244, #33245)
341202
341203       · ISSUE #30605: (eyj) Update development/conventions/release.rst docs -
341204         they're out of date with the current process. (refs: #33253)
341205
341206       · PR  #33253:  (rallytime) Update the release process docs @ 2016-05-13
341207         21:28:11 UTC
341208
341209         · 94a53da92e Merge pull request #33253 from rallytime/fix-30605
341210
341211         · a129d05b6d Update the release process docs
341212
341213         · PR #33251: (jfindlay) update 2015.8.9 release notes
341214
341215       · ISSUE #33243: (jbonachera) salt-cloud: wait_for_port()  doesn't  work
341216         with ipv4-only hosts (refs: #33246, #33300)
341217
341218         · PR #33246: (techhat) Handle ipv6 error as an exception
341219
341220       · ISSUE  #33073:  (robnagler) TypeError: unhashable type: 'dict' (refs:
341221         #33213)
341222
341223         · PR #33213: (terminalmage) Check rendered YAML for invalid keys
341224
341225       · ISSUE #21903: (basepi) Document _file.conf pattern for master.d/  and
341226         minion.d/ (refs: #33224)
341227
341228         · PR  #33224:  (rallytime)  Make note of files that begin with '_' in
341229           master.d or minion.d dirs
341230
341231       · ISSUE #31975: (rajvidhimar) Docstrings not reflected in the salt doc‐
341232         umenation. (refs: #33150)
341233
341234         · PR #33150: (rallytime) Gate jnpr imports in salt.proxy.junos.py
341235
341236       · ISSUE  #21315:  (ryan-lane)  No  example documentation for http.query
341237         state (refs: #33222)
341238
341239         · PR #33222: (rallytime) Add docs for the http state
341240
341241       · ISSUE #29796: (vutny) Fail to use  'highstate'  outputter  explicitly
341242         (refs: #33215)
341243
341244         · PR  #33215: (rallytime) Don't stacktrace when using --out=highstate
341245           at CLI during state run.
341246
341247         · PR #33219: (lalmeras) propagate opts to salt.util.http call
341248
341249         · PR #33154: (lalmeras) propagate opts to salt.util.http call  (refs:
341250           #33219)
341251
341252         · PR #33237: (jfindlay) update 2015.8.9 release notes
341253
341254       · PR #33217: (rallytime) [2015.8] Merge forward from 2015.5 to 2015.8 @
341255         2016-05-12 22:45:39 UTC
341256
341257         · 6dc5d605b1 Merge  pull  request  #33217  from  rallytime/merge-for‐
341258           ward-2015.8
341259
341260         · 4655607b58 Merge branch '2015.5' into '2015.8'
341261
341262         · 698f1eb657 Merge pull request #33211 from cachedout/user_kill
341263
341264           · d4f2e5baa7 Don't try to kill a parent proc if we can't
341265
341266         · f86832911e Resolve issue with pkg module on Mint Linux (#33205)
341267
341268         · a09e1b6335 Add pip installed and removed test (#33178)
341269
341270         · 96e3586f12 update 2015.5.11 release notes (#33197)
341271
341272         · 09b072a412 Fix file.managed for Windows (#33181)
341273
341274         · PR #33207: (rallytime) [2015.8] Merge forward from 2015.5 to 2015.8
341275
341276       · ISSUE  #32917:  (bradthurber)  standalone  minion  pygit2 pillar data
341277         doesn't refresh without manual git fetch (refs: #33204)
341278
341279         · PR #33204: (terminalmage) Add a fetch when compiling git_pillar for
341280           masterless minions
341281
341282       · ISSUE  #33162:  (jfindlay) Key error with salt.utils.cloud.cache_node
341283         and EC2 (refs: #33164)
341284
341285         · PR #33164: (jfindlay) cloud.clouds.ec2: cache each named node
341286
341287       · ISSUE #32385: (aronneagu) git.latest throws expected string or buffer
341288         (refs: #33203)
341289
341290         · PR  #33203: (terminalmage) Properly handle failed git commands when
341291           redirect_stderr=True
341292
341293       · ISSUE #32685: (gidantribal) git state does not take into account  ssh
341294         config file (refs: #33152)
341295
341296         · PR #33152: (terminalmage) Don't force use of global ssh_config when
341297           git identity file is specified
341298
341299         · PR #33198: (jfindlay) update 2015.8.9 release notes
341300
341301       · PR #33188: (rallytime) [2015.8] Merge forward from 2015.5 to 2015.8 @
341302         2016-05-11 22:32:29 UTC
341303
341304         · 6177a6a36f Merge pull request #33188 from rallytime/merge-2015.8
341305
341306         · f12bba6ebc Merge branch '2015.5' into '2015.8'
341307
341308         · 30868ab06c  [2015.5]  Update to latest bootstrap script v2016.05.11
341309           (#33185)
341310
341311         · 264ad34b3b Pip fix (#33180)
341312
341313         · 43288b268d add 2015.5.11 release notes (#33160)
341314
341315         · e0da8fda7d [2015.5] Update to latest bootstrap  script  v2016.05.10
341316           (#33155)
341317
341318         · PR #33161: (jfindlay) add 2015.8.9 release notes
341319
341320         · PR  #33156:  (rallytime) [2015.8] Update to latest bootstrap script
341321           v2016.05.10
341322
341323       · ISSUE #25040: (yi9) grains.get can't  get  minion's  /etc/salt/grains
341324         value in multi-master set up (refs: #33142)
341325
341326         · PR #33142: (cachedout) Hash fileclients by opts
341327
341328       · ISSUE  #22142:  (multani)  State  acl.present  doesn't  allow  to set
341329         "default" ACLs (refs: #31769)
341330
341331         · PR #33139: (rallytime) Back-port #31769 to 2015.8
341332
341333         · PR #31769: (DylanFrese) Fix acl.present and acl.absent when  adding
341334           default ACLs (refs: #33139)
341335
341336       · PR #33144: (rallytime) [2015.8] Merge forward from 2015.5 to 2015.8 @
341337         2016-05-10 19:40:31 UTC
341338
341339         · 2800762b44 Merge pull request #33144 from rallytime/merge-2015.8
341340
341341         · 449176f06e Merge branch '2015.5' into '2015.8'
341342
341343         · 6cd1641840   Merge   pull   request    #33141    from    jtand/dis‐
341344           able_local_pkg_install_test
341345
341346           · 8b1e34fb17 Skipping salt-call --local test
341347
341348       · PR #33140: (rallytime) [2015.8] Merge forward from 2015.5 to 2015.8 @
341349         2016-05-10 16:57:55 UTC
341350
341351         · 72d075e14e Merge pull request #33140 from rallytime/merge-2015.8
341352
341353         · c732c8104b Merge branch '2015.5' into '2015.8'
341354
341355         · 878d34a865 Doc mock decorators (#33132)
341356
341357       · ISSUE #32834: (beardedeagle) Masterless Minion - Unable to query  job
341358         cache (refs: #33017, #33100)
341359
341360         · PR  #33100:  (rallytime)  If  cache_jobs: True is set, populate the
341361           local job cache when running salt-call
341362
341363         · PR #33135: (stk0vrfl0w) Fix  broken  parsing  of  usermgmt.conf  on
341364           OpenBSD
341365
341366         · PR #33129: (rallytime) Back-port #33101 to 2015.8
341367
341368         · PR  #33101:  (thatch45)  Add  a check that the cmdline of the found
341369           proc matches (refs: #33129)
341370
341371         · PR #33064:  (terminalmage)  salt.utils.gitfs:  fix  formatting  for
341372           warning messages
341373
341374       · ISSUE    #33058:   (aclemetson)   Unable   to   run   "win_serverman‐
341375         ager.list_available" on minion. (refs: #33099)
341376
341377         · PR #33099: (twangboy) Fix 33058
341378
341379       · ISSUE #32999: (basepi) Stacktrace for master_finger mismatch on  min‐
341380         ion (refs: #33106)
341381
341382       · PR  #33106: (abednarik) Moved _finger_fail method to parent class.  @
341383         2016-05-09 16:31:09 UTC
341384
341385         · 8acc3147d6 Merge pull request #33106 from  abednarik/abednarik_mas‐
341386           ter_Finger_stacktrace
341387
341388         · 91a69ba54a Moved _finger_fail method to parent class.
341389
341390         · PR  #33102:  (Ch3LL)  clarify  docs  that map is designed to be run
341391           once. is not stateful
341392
341393         · PR #33098: (rallytime) Back-port #33061 to 2015.8
341394
341395         · PR #33061:  (ahammond)  cloud.query  needs  to  define  mapper.opts
341396           (refs: #33098)
341397
341398       · PR #33096: (rallytime) [2015.8] Merge forward from 2015.5 to 2015.8 @
341399         2016-05-06 19:27:57 UTC
341400
341401         · c1f7aed8a5 Merge pull request #33096 from rallytime/merge-2015.8
341402
341403         · 0fd5e9d157 Merge branch '2015.5' into '2015.8'
341404
341405         · 30edeadafd Lower display of msgpack failure msg to debug (#33078)
341406
341407         · d4928c5a22 Use saltstack repo in buildpackage.py  on  CentOS  5  (‐
341408           #33080)
341409
341410         · 61d126cb98  add  test  for installing package while using salt-call
341411           --local (#33025)
341412
341413         · 6d3e4e8935 File and User test fixes for 2015.5 on Fedora23 (#33055)
341414
341415         · d48b2b8b52 test pillar.items output (#33060)
341416
341417         · 398793bfc0 Fix minor document error of test.assertion (#33067)
341418
341419         · f8757631b2 Saltfile with pillar tests (#33045)
341420
341421         · 1d7892421e Backport #33021 manually to 2015.5 (#33044)
341422
341423         · f00b5f91b3 Add run_on_start docs to schedule.rst (#32958)
341424
341425         · PR #32865: (idonin) salt-cloud: fix ipv6-only virtual machines
341426
341427         · PR #33084: (jfindlay) modules.npm: do not log npm --version at info
341428           level
341429
341430       · ISSUE  #33068:  (pythonwood)  salt-ssh do not support centos5 because
341431         old-version-python  ? (refs: #33081)
341432
341433       · PR  #33081:  (jfindlay)  ssh  docs:  install  py-2.6  for  RHEL  5  @
341434         2016-05-06 15:18:39 UTC
341435
341436         · 3808d05838 Merge pull request #33081 from jfindlay/ssh_doc
341437
341438         · a2c927b173 ssh docs: install py-2.6 for RHEL 5
341439
341440       · PR  #33088:  (isbm) Bugfix: Restore boolean values from the repo con‐
341441         figuration @ 2016-05-06 15:13:27 UTC
341442
341443         · 6d604926d3  Merge   pull   request   #33088   from   isbm/isbm-zyp‐
341444           per-fix-booleans
341445
341446         · 3ca203eb8e  Bugfix (follow-up): setting priority requires non-posi‐
341447           tive integer
341448
341449         · 79a46e091c Add repo config test
341450
341451         · 222b8369ca Add test data for repos
341452
341453         · b746fa35f0 Bugfix: Restore boolean values from the repo  configura‐
341454           tion
341455
341456       · ISSUE  #12422:  (creaky)  Bug:  file.blockreplace  inserts additional
341457         blank line on multi-line content (refs: #33049)
341458
341459         · PR #33082: (Ch3LL) Fix tests for file.blockplace to remove newline
341460
341461         · PR #33049: (thatch45) Don't append a newline when creating new con‐
341462           tent with blockreplace (refs: #33082)
341463
341464       · PR  #32892:  (isbm)  Resolve  Zypper  locks  on  asynchronous calls @
341465         2016-05-05 14:34:59 UTC
341466
341467         · fb89877cf2  Merge   pull   request   #32892   from   isbm/isbm-zyp‐
341468           per-env-variables
341469
341470         · 1601a7e07a  Prevent the use of "refreshable" together with "nolock"
341471           option.
341472
341473         · 52e1be2fa9 Remove unused variable in a constructor. Adjust the doc‐
341474           string accordingly.
341475
341476         · 7e00f566ef  Move  log  message  down to the point where it actually
341477           sleeps. Rephrase the message.
341478
341479         · 4b7dab83ff Fix PID file path for SLE11
341480
341481         · 7f37961d4b Rename tags
341482
341483         · c55b0fab58 Test DOM parsing
341484
341485         · c54e928e4f Add exception handling test
341486
341487         · 3d245bbe84 Parse DOM out of the box, when XML mode is called
341488
341489         · 6a98f523ac Add Zypper caller test suite
341490
341491         · f189f90124 Bugfix: always trigger __getattr__ to reset  and  incre‐
341492           ment the configuration before the call.
341493
341494         · 7e1712dd80 Fix tests according to the new calling model
341495
341496         · 3a30b7fbcd Remove an obsolete test case
341497
341498         · 6e5877a2ee Add Zypper Call mock
341499
341500         · bb5540cb4a Bugfix: inverted logic on raising (or not) exceptions
341501
341502         · ce9262fe71 Make Zypper caller module-level reusable
341503
341504         · 77dc8695af Update docstrings according to the bugfix
341505
341506         · 46d86b21d5 Bugfix: accept refresh override param
341507
341508         · cb40618262 Fire an event about released Zypper with its result
341509
341510         · 0728f0bc00 Replace string values with the constants
341511
341512         · 6af3f7141b Check if zypper lock exists and add more debug logging
341513
341514         · 0167b30a75 Add Zypper lock constant
341515
341516         · 370ff21d36 Fire an event to the Master about blocked Zypper.
341517
341518         · 1727ca3de2 Use new Zypper call implementation
341519
341520         · 485164aa5c Remove blocking-prone Zypper call implementation
341521
341522         · f161f0612c Implement block-proof Zypper call implementation
341523
341524         · baf35ed708 Remove one-char variables
341525
341526         · 2c94eb016f Remove an unused variable
341527
341528         · 6869ebc557 Remove an empty line
341529
341530         · 7e06489da9 Remove verbose wrapping
341531
341532         · 2131ff04af Standarize zypper call to "run_all"
341533
341534         · 046ef44ca3  Bugfix:  version_cmp  crashes  in CLI if there are ver‐
341535           sions, that looks like integer or float.
341536
341537         · b869a92eea Change Zypper calls to a single point
341538
341539       · ISSUE #24237: (Grokzen) Minion  schedule  return  data  missing  some
341540         fields (refs: #33039)
341541
341542         · PR  #33039: (The-Loeki) Add fun_args to scheduled return data (part
341543           of #24237)
341544
341545       · ISSUE #12422:  (creaky)  Bug:  file.blockreplace  inserts  additional
341546         blank line on multi-line content (refs: #33049)
341547
341548         · PR #33049: (thatch45) Don't append a newline when creating new con‐
341549           tent with blockreplace (refs: #33082)
341550
341551       · ISSUE #24996: (danlsgiga) --failhard option not working  as  expected
341552         (refs: #33048)
341553
341554         · PR #33048: (rallytime) Pass all data to batch.run() call when using
341555           --failhard
341556
341557       · ISSUE #32452: (nicholascapo) cmd.run_all with --batch  and --failhard
341558         gives no output on failure (refs: #33050)
341559
341560         · PR  #33050:  (rallytime)  Display command output when command fails
341561           with batch + failhard options
341562
341563       · ISSUE #33041: (anitakrueger) boto_elb.present  security_groups  kwarg
341564         is a list - needs documentation (refs: #33053)
341565
341566         · PR    #33053:   (rallytime)   Allow   security_groups   kwarg   for
341567           boto_elb.present to be string or list
341568
341569         · PR #33054: (rallytime) [2015.8] Merge forward from 2015.5 to 2015.8
341570
341571         · PR #33056: (justinta) File  and  User  test  fixes  for  2015.8  on
341572           Fedora23
341573
341574       · ISSUE #32472: (esn89) salt-minion is stuck in a restart loop with not
341575         much info: (refs: #33030)
341576
341577         · PR #33040: (rallytime) Back-port #33030 to 2015.8
341578
341579         · PR #33030: (thatch45) When we restart the minion we should show the
341580           error that caused it (refs: #33040)
341581
341582       · ISSUE  #32834: (beardedeagle) Masterless Minion - Unable to query job
341583         cache (refs: #33017, #33100)
341584
341585         · PR #33017: (rallytime) Update the docs for saltutil.find_job to  be
341586           more clear/accurate
341587
341588         · PR #33031: (rallytime) Back-port #33002 to 2015.8
341589
341590         · PR #33002: (whiteinge) Add saltenv to the cmd.script state function
341591           (refs: #33031)
341592
341593         · PR #33021: (UtahDave) Fix syndic regression (refs: #33044)
341594
341595       · ISSUE #11801: (slai) Salt does not match user  names  properly  under
341596         Windows (refs: #32674)
341597
341598         · PR #32674: (twangboy) Compare uid and gid instead of name and group
341599
341600       · ISSUE  #32856:  (DeanScothern)  jjid  not shown when running the salt
341601         command line with --batch-size  using either --verbose or  --show-jid
341602         with certain salt versions (refs: #32996)
341603
341604       · ISSUE  #31738:  (igorwidlinski)  salt --show-jid does not show job id
341605         when run in batch mode (refs: #32450)
341606
341607         · PR #32996: (rallytime) Allow batch mode to use verbose  option,  as
341608           well as show_jid.
341609
341610         · PR  #32450:  (cachedout) Pass parser options into batch mode (refs:
341611           #32996)
341612
341613       · ISSUE  #32954:  (atengler)  glusterfs.peered  fails  with  'NoneType'
341614         object is not iterable (refs: #32955)
341615
341616         · PR #32955: (atengler) Fixed glusterfs.peered output
341617
341618       · ISSUE  #26011:  (rodriguezsergio)  states.virtualenv  != modules.vir‐
341619         tualenv (refs: #32994)
341620
341621         · PR #32994: (rallytime) Clarify some arg docs for virtualenv state
341622
341623         · PR #32986: (justinta) Fix boto_secgroup_test
341624
341625       · ISSUE #32777: (sjorge) cron.present broken  on  Solarish  systems  if
341626         user specified (refs: #32970)
341627
341628         · PR #32970: (sjorge) fix user cron on solarish operating systems
341629
341630         · PR #32796: (jfindlay) salt.log.setup: process user args before for‐
341631           mat
341632
341633       · ISSUE #32891: (guettli) docs: Note " This document represents  behav‐
341634         ior exhibited by Salt requisites as of version 0.9.7 of Salt." (refs:
341635         #32934)
341636
341637         · PR #32934: (jfindlay)  doc.ref.states.ordering:  clarify  requisite
341638           change
341639
341640       · ISSUE #32882: (papertigers) carbon_return is missing a default value.
341641         (refs: #32883)
341642
341643         · PR #32928: (rallytime) Back-port #32883 to 2015.8
341644
341645         · PR #32883: (papertigers)  mode  should  default  to  'text'  (refs:
341646           #32928)
341647
341648       · ISSUE  #32646: (deamen) FileClient Class ( client = salt.minion.File‐
341649         Client(__opts__) )  does not exist (refs: #32925)
341650
341651         · PR #32925: (rallytime) Remove FileClient class references from docs
341652           - it doesn't exist.
341653
341654       · ISSUE  #23683:  (gravyboat)  contents_grains  should  have an example
341655         (refs: #32922)
341656
341657         · PR #32922: (rallytime) Update contents_grains option with  relevant
341658           docs
341659
341660       · PR #32926: (rallytime) [2015.8] Merge forward from 2015.5 to 2015.8 @
341661         2016-04-28 19:47:52 UTC
341662
341663         · e60c12640d Merge pull request #32926 from rallytime/merge-2015.8
341664
341665         · 5a184881be Merge branch '2015.5' into '2015.8'
341666
341667         · edce22a143 backport PR #32732 to 2015.5 fixes #23714 (#32848)
341668
341669         · PR #32908: (Ch3LL) Specify EBS volume tags in profile configuration
341670           in aws
341671
341672       · ISSUE #23952: (neogenix) iptables state append doesn't honor position
341673         -1 (refs: #32906)
341674
341675         · PR #32906: (rallytime) Update docs to  warn  users  that  -1  isn't
341676           valid for iptables insert state
341677
341678       · ISSUE  #32510:  (Ch3LL)  Cannot  specify  image in provider file when
341679         using map file (refs: #32900)
341680
341681         · PR #32900: (rallytime) Allow profile options  to  be  specified  in
341682           provider file when using maps
341683
341684       · ISSUE  #30855:  (guettli) Docs: does salt.states.service support sys‐
341685         temd? (refs: #32880)
341686
341687         · PR #32880: (rallytime) Clarify service state opening  docs  -  uses
341688           'service' virtualname
341689
341690       · PR   #32884:   (terminalmage)  Fix  incorrect  deprecation  notice  @
341691         2016-04-27 15:47:35 UTC
341692
341693         · e1b40b3b76 Merge pull request #32884  from  terminalmage/fix-incor‐
341694           rect-deprecation-notice
341695
341696         · b307c5452a Fix incorrect deprecation notice
341697
341698       · PR  #32878:  (jacobhammons)  added  note about updating the bootstrap
341699         script in salt-cloud using th… @ 2016-04-26 21:09:51 UTC
341700
341701         · a2921b9da0 Merge pull request #32878 from jacobhammons/salt-cloud
341702
341703         · 3887938727 added  note  about  updating  the  bootstrap  script  in
341704           salt-cloud using the -u flag, removed the saltconf banner.
341705
341706       · ISSUE  #32861:  (bradthurber)  Is  it master_syndic or syndic_master?
341707         (refs: #32869)
341708
341709       · PR #32869: (rallytime) Use correct config  setting  in  cloud  syndic
341710         docs @ 2016-04-26 19:13:21 UTC
341711
341712         · 71db10fd2c Merge pull request #32869 from rallytime/fix-32861
341713
341714         · 0e73daa126 Use correct config setting in cloud syndic docs
341715
341716       · PR #32844: (rallytime) [2015.8] Merge forward from 2015.5 to 2015.8 @
341717         2016-04-26 17:38:08 UTC
341718
341719         · 02c681311f Merge pull request #32844 from rallytime/merge-2015.8
341720
341721         · 1fc9de1d04 Add 'file.source_list' mock to archive state unit tests
341722
341723         · 9064d3bbfb Merge branch '2015.5' into '2015.8'
341724
341725           · 9b5c14c37c salt-cloud -u  downloads  stable  version  from  boot‐
341726             strap.saltstack.com by default (#32837)
341727
341728           · 9725804448 update bootstrap to 2016.04.18 release (#32667)
341729
341730           · c842e1e437 Merge pull request #32776 from rallytime/merge-2015.5
341731
341732             · 7ecbf9f885   Merge   pull   request   #14  from  whiteinge/run‐
341733               ner-async-low
341734
341735               · 211f7b4af1 Format low data correct for runner_async
341736
341737             · ce72851861 Merge branch '2014.7' into '2015.5'
341738
341739             · 2775edc176 Saltnado /run fix (#32590)
341740
341741             · b19c5a5ce7 Verify auth in saltnado run (#32552)
341742
341743           · 67d0c81184 Support remote sources in a source list (#32691)
341744
341745           · bd5442d768 Merge pull request #32686 from cachedout/issue_32661
341746
341747             · f704df90bc Fix stacktrace in batch with dup minion ids
341748
341749           · 3ec9502a86 Update "Low Hanging Fruit" to "Help Wanted" (#32675)
341750
341751           · 77bea56b68 Additional documentation on calling exec modules  from
341752             templates (#32657)
341753
341754           · c910b8dd51  Fixing critical bug to remove only the specified Host
341755             instead of the entire Host cluster (#32639)
341756
341757           · 4568565d45 Add _syspaths.py to .gitignore (#32638)
341758
341759       · ISSUE #32799: (belt) ssh_auth.present creates ~/~${USER}/.ssh  (refs:
341760         #32868)
341761
341762         · PR #32868: (rallytime) Back-port #31139 to 2015.8
341763
341764         · PR  #31139:  (exowaucka)  Improve  %h and %u handling in SSH module
341765           (refs: #32868)
341766
341767       · ISSUE #23714: (naemono) file.copy force ignored during highstate, but
341768         not with 'salt-call state.sls_id' (refs: #32732, #32847, #32848)
341769
341770         · PR #32847: (lomeroe) backport PR #32732 for issue #23714
341771
341772         · PR  #32732: (lomeroe) correct use of force flag in file.copy #23714
341773           (refs: #32847, #32848)
341774
341775       · ISSUE  #32824:  (bradthurber)  salt-cloud   vmware:   wrong   pyvmomi
341776         installed for RHEL/CentOS 6 (refs: #32845)
341777
341778         · PR  #32845:  (rallytime)  Add  pyvmomi  version  warning to Getting
341779           Started with VMware docs
341780
341781       · ISSUE #25492:  (hernanc)  "docker-py  mem_limit  has  been  moved  to
341782         host_config in API version 1.19" error (refs: #26518, #32818)
341783
341784         · PR #32841: (rallytime) Back-port #32818 to 2015.8
341785
341786         · PR #32818: (mitar) Pass None as memory limit (refs: #32841)
341787
341788         · PR #26518: (krak3n) Fix for #25492 (refs: #32818)
341789
341790       · ISSUE  #32605:  (Talkless) pkgrepo.managed with apt does not add com‐
341791         ments value later (refs: #32813)
341792
341793         · PR #32839: (rallytime) Back-port #32813 to 2015.8
341794
341795         · PR #32813: (abednarik)  Add  comments  as  an  option  for  apt  in
341796           pkgrepo.managed. (refs: #32839)
341797
341798         · PR  #32659:  (anlutro)  Various improvements on cloud deploy script
341799           docs
341800
341801         · PR #32668:  (jfindlay)  [2015.8]  update  bootstrap  to  2016.04.18
341802           release
341803
341804         · PR #32785: (rallytime) Back-port #29322 to 2015.8
341805
341806         · PR  #29322:  (mrproper)  add  http proxy support for tornado (refs:
341807           #32785)
341808
341809       · ISSUE  #32710:  (bradthurber)  conf/master  missing  many  gitfs  and
341810         git_pillar parameters (refs: #32722)
341811
341812       · PR  #32787:  (rallytime)  Back-port  #32722  to  2015.8  @ 2016-04-25
341813         15:19:21 UTC
341814
341815         · PR #32722: (bradthurber) Catch up the conf/master file  to  include
341816           gitfs/git_pillar parms from … (refs: #32787)
341817
341818         · 96a3d4e556 Merge pull request #32787 from rallytime/bp-32722
341819
341820         · 8d7148d41b  Catch up the conf/master file to include gitfs/git_pil‐
341821           lar parms from recent releases
341822
341823       · PR #32786:  (rallytime)  Back-port  #32703  to  2015.8  @  2016-04-25
341824         15:19:13 UTC
341825
341826         · PR #32703: (schancel) Make example top file match templated version
341827           (refs: #32786)
341828
341829         · 36f70f5847 Merge pull request #32786 from rallytime/bp-32703
341830
341831         · baa4df25c9 Make example top file match templated version
341832
341833         · 227ef4aabb Fix unnecessary capitalization
341834
341835         · 73cd9f26c3   Merge    branch    'gitfs_perremote_doc_updates'    of
341836           https://github.com/l2ol33rt/salt into pr-32775
341837
341838         · b69d406ada Including name per-remote config option in example
341839
341840         · PR #32779: (terminalmage) Improve documentation on pygit2 versions
341841
341842       · ISSUE #32609: (anlutro) Tornado ioloop fails when master disconnects?
341843         (refs: #32749)
341844
341845         · PR #32749: (DmitryKuzmenko) Properly handle minion  failback  fail‐
341846           ure.
341847
341848       · ISSUE  #32144:  (vutny)  Pillar  targeting  starts to work only after
341849         calling saltutil.refresh_pillar (refs: #32643)
341850
341851         · PR #32643: (vutny) Document pillar cache options
341852
341853       · ISSUE #32705: (joakimkarlsson) win_dacl.present: Specifying  propaga‐
341854         tions for a directory fails  (refs: #32720)
341855
341856         · PR  #32720:  (jfindlay)  modules.win_dacl:  consistent case of dacl
341857           constants
341858
341859       · ISSUE #30761: (sjmh) Cannot target subsets of minions when using pil‐
341860         lar and external_auth (refs: #31598)
341861
341862       · ISSUE  #21303:  (Lothiraldan)  Explicit and document ACL rules format
341863         (refs: #32733)
341864
341865         · PR #32733: (Lothiraldan) Update external auth documentation to list
341866           supported matcher.
341867
341868         · PR  #31598:  (terminalmage)  Remove limitations on validation types
341869           for eauth targets (refs: #32733)
341870
341871         · PR #32693: (techhat) Check dependencies  type  before  appling  str
341872           operations
341873
341874         · PR  #32692: (garethgreenaway) Handle when beacon not configured and
341875           we try to enable/disable them
341876
341877       · PR #32718: (garethgreenaway)  Fixes  to  schedule.list  in  2015.8  @
341878         2016-04-20 19:51:24 UTC
341879
341880         · f52af5a596    Merge   pull   request   #32718   from   garethgreen‐
341881           away/2015_8_schedule_list_fix
341882
341883         · 7fa5d809d2 backporting a fix from develop where the  use  of  splay
341884           would  result  in  seconds=0 in the schedule.list when there was no
341885           seconds specified in the origina schedule
341886
341887       · PR  #32684:  (captaininspiration)  Fix  routes  for  redhat  <  6   @
341888         2016-04-19 19:18:20 UTC
341889
341890         · PR  #32682:  (captaininspiration)  Fix routes for redhat < 6 (refs:
341891           #32684)
341892
341893         · f63566e452 Merge pull request #32684 from captaininspiration/2015.8
341894
341895         · 640c7a90da Fix routes for redhat < 6
341896
341897         · PR #32683: (techhat) Handle a couple of arguments better (Azure)
341898
341899       · ISSUE #32523: (junster1)  network.py/loader.py  failing  because  cfn
341900         variable is not defined before use. (refs: #32672)
341901
341902         · PR #32672: (junster1) Fix for issue 32523
341903
341904       · ISSUE  #32517:  (Ch3LL)  Minion  restarting  and erroring when cannot
341905         reach the masters in multi-master failover (refs: #32555, #32556)
341906
341907         · PR #32556: (DmitryKuzmenko) Don't access deprecated  Exception.mes‐
341908           sage attribute.
341909
341910         · PR #32655: (cachedout) Lower log level for pillar cache
341911
341912       · ISSUE  #31542: (duk3luk3) jinja stringifies dict before passing it to
341913         execution module (maybe salt-ssh specific?) (refs: #32588)
341914
341915       · PR #32588: (anlutro) Fix salt-ssh module function call argument  type
341916         juggling by JSON encoding them @ 2016-04-18 15:57:14 UTC
341917
341918         · a6a427463d  Merge  pull request #32588 from alprs/fix-salt_ssh_mod‐
341919           ule_types
341920
341921         · d912f1c3c6 json encode arguments  passed  to  an  execution  module
341922           function call
341923
341924       · ISSUE  #32229:  (seanjnkns) 2015.8.8.2: pkg.installed fails to update
341925         packages with epoch (refs: #32563)
341926
341927         · PR #32563: (terminalmage) yumpkg: Ignore epoch in version  compari‐
341928           son for explict versions without an epoch
341929
341930         · PR  #32640: (nmadhok) [2015.8] - Fixing critical bug to remove only
341931           the specified Host instead of the entire Host cluster
341932
341933         · PR #32649: (mcalmer) align OS grains from older SLES  with  current
341934           one
341935
341936         · PR  #32652:  (isbm)  Prevent  crash if pygit2 package is requesting
341937           re-compilation of the e…
341938
341939       · PR #32614: (rallytime) [2015.8] Merge forward from 2015.5 to 2015.8 @
341940         2016-04-15 19:27:47 UTC
341941
341942         · 05a41a13cd Merge pull request #32614 from rallytime/merge-2015.8
341943
341944         · 046e401dd8 Merge branch '2015.5' into '2015.8'
341945
341946           · 027b502335  Merge  pull  request #32561 from gtmanfred/user_pass‐
341947             words
341948
341949             · 3db5e78d5d  redact  passwords  and  hashes  from   user.present
341950               updates
341951
341952       · PR  #32616:  (rallytime)  Back-port  #32547  to  2015.8  @ 2016-04-15
341953         19:27:36 UTC
341954
341955         · PR #32547: (cro) Expand on the open-source vs open-core FAQ  (refs:
341956           #32616)
341957
341958         · ef17bde054 Merge pull request #32616 from rallytime/bp-32547
341959
341960         · 4242bc7399 Language clarification.
341961
341962         · 965e3bc1d1 Expand on the open-source vs open-core FAQ
341963
341964         · PR  #32604:  (Talkless)  Fix  comments value in salt.states.pkgrepo
341965           example
341966
341967         · PR #32558: (terminalmage) Revert PR #32480 and  apply  #32314  with
341968           fixes / documentation
341969
341970         · PR  #32480: (terminalmage) Clear VCS fsbackend and git_pillar locks
341971           on master start (refs: #32558)
341972
341973         · PR #32314: (onorua) prevent eternal gitfs lock due to process crash
341974           (refs: #32480, #32558)
341975
341976       · ISSUE  #32519:  (Ch3LL)  Minion  restarting  and erroring when cannot
341977         reach the master (refs: #32576)
341978
341979         · PR #32576: (DmitryKuzmenko) Better log message on minion restart if
341980           master couldn't be reached.
341981
341982       · ISSUE  #32517:  (Ch3LL)  Minion  restarting  and erroring when cannot
341983         reach the masters in multi-master failover (refs: #32555, #32556)
341984
341985         · PR #32555: (DmitryKuzmenko) Don't return None from eval_master
341986
341987       · PR #32536:  (rallytime)  Back-port  #31898  to  2015.8  @  2016-04-13
341988         18:49:05 UTC
341989
341990         · PR  #31898:  (afletch)  Ensure  rh_service not used on CloudLinux 7
341991           (refs: #32536)
341992
341993         · 27e91e40cc Merge pull request #32536 from rallytime/bp-31898
341994
341995         · 60d80c4dee Ensure rh_service not used on CloudLinux 7
341996
341997         · PR #32542: (twangboy) Fix binary search and replace
341998
341999       · PR #32539: (rallytime) [2015.8] Merge forward from 2015.5 to 2015.8 @
342000         2016-04-13 15:10:08 UTC
342001
342002         · cce7de76b0 Merge pull request #32539 from rallytime/merge-2015.8
342003
342004         · fbaeb165c9 Merge branch '2015.5' into merge-2015.8
342005
342006         · 7307bcb88e Merge pull request #32538 from rallytime/bp-32528
342007
342008           · 46a4e8a310 Remove merge conflict line
342009
342010           · e0d947c707  Document "grains" setting in the minion configuration
342011             reference
342012
342013       · ISSUE #32493: (bberberov) dockerng.volume_present fails when no  vol‐
342014         umes already exist on the system (refs: #32531)
342015
342016       · PR   #32531:   (ticosax)  [dockerng]  Fix  support  of  dockerng.vol‐
342017         ume_present when no volume is on present.  @ 2016-04-13 14:42:13 UTC
342018
342019         · 1834bdefe3 Merge pull request #32531  from  ticosax/support-no-vol‐
342020           umes
342021
342022         · 958b2ec749 Fix support of dockerng.volume_present when no volume is
342023           on present.
342024
342025         · PR #32475: (ticosax) [dockerng] Enhance dockerng.wait() to  control
342026           success on exit_code and on already stopped containers
342027
342028         · PR  #32436:  (isbm)  Bugfix:  salt-key crashes if tries to generate
342029           keys to the directory w/o write access
342030
342031         · PR #32515: (terminalmage) Turn on exc_info when logging failed min‐
342032           ion startup
342033
342034         · PR    #32520:    (terminalmage)    Add   ignore_epoch   option   to
342035           pkg.installed/removed/purged states
342036
342037         · PR #32505: (isbm) Isbm zypper list products sles11 crash
342038
342039         · PR #32480: (terminalmage) Clear VCS fsbackend and git_pillar  locks
342040           on master start (refs: #32558)
342041
342042         · PR #32314: (onorua) prevent eternal gitfs lock due to process crash
342043           (refs: #32480, #32558)
342044
342045       · ISSUE #32327: (joakimkarlsson) salt-minion fails to start on  Windows
342046         (refs: #32491)
342047
342048         · PR #32491: (twangboy) Use win32api to get Total System Memory
342049
342050       · ISSUE  #31927:  (afletch)  pkg.installed  compares  version including
342051         package epoch (pkg.version problem?) (refs: #32487)
342052
342053       · PR #32487: (terminalmage) Add explanation of nonzero  epoch  require‐
342054         ment to pkg.installed state documentation @ 2016-04-11 20:48:57 UTC
342055
342056         · e335e313fe  Merge pull request #32487 from terminalmage/epoch-docu‐
342057           mentation
342058
342059         · e04cf879b6 Document new behavior of pkg.installed for yum/dnf pack‐
342060           ages with non-zero epoch
342061
342062         · 61e9761224   Add   explanation  of  nonzero  epoch  requirement  to
342063           pkg.installed state documentation
342064
342065       · PR #32482: (rallytime) [2015.8] Merge forward from 2015.5 to 2015.8 @
342066         2016-04-11 20:12:26 UTC
342067
342068         · e8de50ff37 Merge pull request #32482 from rallytime/merge-2015.8
342069
342070         · 1b04f0ddec Merge branch '2015.5' into '2015.8'
342071
342072         · 29333e533e  Add  documentation  for  some  master/minion configs (‐
342073           #32454)
342074
342075         · 100c6e1b25  Merge  pull  request  #32458  from   terminalmage/clar‐
342076           ify-providers-docs
342077
342078           · 500d3ebbaa  Add  link  to  provider  override  docs  to all group
342079             providers
342080
342081           · 83ca01f620 dd link  to  provider  override  docs  to  all  shadow
342082             providers
342083
342084           · c5fe38789d  Add  link  to  provider  override  docs  to  all user
342085             providers
342086
342087           · 5c1c1dda59 Add link to provider  override  docs  to  all  service
342088             providers
342089
342090           · 736f2befc9  Add  link  to  provider  override docs to all package
342091             providers
342092
342093           · f9306347cc Clarify the scope of the provider param in states.
342094
342095           · af24c82ab0 Add documentation on virtual module provider overrides
342096             to the module docs
342097
342098           · 0bc6c97a63 Improve docstrings
342099
342100           · 1948920674 Add external ref to windows package manager docs
342101
342102           · e7fa21438c Add new doc pages to toctree
342103
342104           · f0de1236ec Move the tables of virtual modules to individual docu‐
342105             mentation pages
342106
342107       · ISSUE #30183: (jakehilton)  Minion  startup  extremely  delayed  when
342108         first  master  in  failover multi master setup is down (refs: #31364,
342109         #31382, #32143)
342110
342111       · ISSUE #29643: (matthayes) Can't get batch mode and --failhard to work
342112         as expected (refs: #31164)
342113
342114       · ISSUE #28569: (andrejohansson) Reactor alert on highstate fail (refs:
342115         #31164)
342116
342117         · PR #32474: (DmitryKuzmenko) Backport 31164 and 31364
342118
342119         · PR #32441: (cachedout) Backport 31164 31364 (refs: #32474)
342120
342121         · PR #31364: (DmitryKuzmenko) Don't send REQ  while  another  one  is
342122           waiting for response. (refs: #32441, #32474)
342123
342124         · PR #31164: (DmitryKuzmenko) Issues/29643 fix invalid retcode (refs:
342125           #32441, #32474)
342126
342127       · ISSUE #31738: (igorwidlinski) salt --show-jid does not  show  job  id
342128         when run in batch mode (refs: #32450)
342129
342130       · PR  #32450:  (cachedout)  Pass  parser options into batch mode (refs:
342131         #32996) @ 2016-04-08 23:03:49 UTC
342132
342133         · 7bf44aea72 Merge pull request #32450 from cachedout/issue_31738
342134
342135         · 74d0fa06b4 Pass parser options into batch mode
342136
342137       · ISSUE #28706: (kkaig)  user.present:groups  vs  group.present:members
342138         (refs: #30824, #32448)
342139
342140         · PR #32448: (rallytime) Back-port #30824 to 2015.8
342141
342142         · PR  #30824:  (alxf)  Issue #28706: Fix state user.present behavior.
342143           (refs: #32448)
342144
342145       · ISSUE #31851: (rhansen) error using module.run -> saltutil.runner  ->
342146         state.orchestrate: "The following arguments are missing: _fun" (refs:
342147         #32445)
342148
342149         · PR #32445: (rallytime) Argument name in docs  should  match  actual
342150           arg name
342151
342152         · PR #26676: (rallytime) Back-port #26648 to 2015.5 (refs: #32445)
342153
342154         · PR  #26648:  (whiteinge)  Free  'fun'  from  the function signature
342155           namespace (refs: #26676)
342156
342157       · ISSUE #32033: (timcharper) SaltStack modules.dockerng  _compare  does
342158         not handle docker implicit Domainname properly (issue when using net‐
342159         work_mode: host) (refs: #32116, #32432)
342160
342161       · PR  #32432:  (ticosax)  [dockerng]  Fix  Domainname  introspection  @
342162         2016-04-08 16:12:19 UTC
342163
342164         · a36f9499fc  Merge  pull  request  #32432  from  ticosax/fix-domain‐
342165           name-introspection
342166
342167         · 505b5b0168 Fix Domainname introspection
342168
342169       · PR #32427: (rallytime) [2015.8] Merge forward from 2015.5 to 2015.8 @
342170         2016-04-08 15:39:13 UTC
342171
342172         · def911974c Merge pull request #32427 from rallytime/merge-2015.8
342173
342174         · 9531ea6ef5 Merge branch '2015.5' into '2015.8'
342175
342176         · 0809126d8e Merge #32293 with test fixes (#32418)
342177
342178         · bbd8260a42 Ignore Raspbian in service.py __virtual__ (#32421)
342179
342180         · 690addf0b4 FreeBSD supports packages in format java/openjdk7 so the
342181           prior commit broke that functionality. Check  freebsd/pkg#1409  for
342182           more info.
342183
342184         · a36866d7db Merge pull request #32399 from amontalban/2015.5
342185
342186           · e1ffbd615a Fixes saltstack/salt#28262 for 2015.5 branch
342187
342188         · 3f03c5fcf9 Merge pull request #32374 from cachedout/issue_32066
342189
342190           · 62389d1d1a Update proxmox documentation
342191
342192         · 8578089beb  Merge pull request #32339 from Ch3LL/fix_doc_multi-mas‐
342193           ter
342194
342195           · 2774da288d remove reference to master_alive_check
342196
342197       · ISSUE #32311: (rkgrunt) glusterfs  module  incorrectly  indexes  into
342198         name of bricks  (refs: #32312)
342199
342200       · PR  #32423: (justinta) Update glusterfs_test to be inline with #32312
342201         @ 2016-04-07 21:53:03 UTC
342202
342203         · PR #32312: (rkgrunt) Fixed glusterfs module (refs: #32423)
342204
342205         · 5bc8c326ce Merge pull request #32423 from jtand/glusterfs_test_fix
342206
342207         · 6f98bd50eb Update glusterfs_test to be inline with #32312
342208
342209       · ISSUE #31632:  (zieba88)  salt-cloud  map  parallel  provisioning  -P
342210         option failed on 2015.8.5 (refs: #32425)
342211
342212       · PR   #32425:  (cachedout)  Fix  salt-cloud  paralell  provisioning  @
342213         2016-04-07 21:52:06 UTC
342214
342215         · c07e02bacb Merge pull request #32425 from cachedout/issue_31632
342216
342217         · 127c0829ee Fix salt-cloud paralell provisioning
342218
342219       · PR #32323: (mcalmer) fix sorting by latest version when  called  with
342220         an attribute @ 2016-04-07 06:24:35 UTC
342221
342222         · 2cc054bbc0       Merge      pull      request      #32323      from
342223           mcalmer/fix-ensure-installed-latest-with-attributes
342224
342225         · cb1f30ee10 fix sorting  by  latest  version  when  called  with  an
342226           attribute
342227
342228       · ISSUE  saltstack/salt#28262:  (palica) FreeBSD pkgng provider raising
342229         error for minion (refs: #32376)
342230
342231       · ISSUE #28262: (palica) FreeBSD pkgng provider raising error for  min‐
342232         ion (refs: #32376, #32399)
342233
342234       · PR  #32376:  (amontalban) Fixes saltstack/salt#28262 (refs: #32399) @
342235         2016-04-06 20:30:10 UTC
342236
342237         · 802580ee1a Merge pull request #32376 from amontalban/2015.8
342238
342239         · 823d0c362b Fixes saltstack/salt#28262
342240
342241       · ISSUE #32375: (truescotw) jinja template copying file but not replac‐
342242         ing tags (refs: #32393)
342243
342244       · PR  #32393:  (jfindlay) modules.win_timezone: don't list all zones in
342245         debug log @ 2016-04-06 18:10:43 UTC
342246
342247         · ad77d76cad Merge pull request #32393 from jfindlay/win_zone
342248
342249         · c01c1b9da2 modules.win_timezone: don't list all zones in debug log
342250
342251       · PR #32372:  (rallytime)  Back-port  #32358  to  2015.8  @  2016-04-06
342252         16:35:05 UTC
342253
342254         · PR  #32358: (arthurlogilab) outputter virt_list does not exist any‐
342255           more (refs: #32372)
342256
342257         · 76ae95863d Merge pull request #32372 from rallytime/bp-32358
342258
342259         · 95e0fe7744 outputter virt_list does not exist anymore
342260
342261       · PR #32392: (multani) Fix documentation on boto_asg and boto_elb  mod‐
342262         ules and states @ 2016-04-06 16:34:36 UTC
342263
342264         · c612baa119 Merge pull request #32392 from multani/2015.8
342265
342266         · 77c4772752  Fix  documentation on boto_asg and boto_elb modules and
342267           states
342268
342269       · ISSUE #32201: (boltronics) salt-minion memory leak waiting on  master
342270         to accept key (refs: #32373)
342271
342272       · PR  #32373:  (cachedout)  Resolve  memory  leak  in  authentication @
342273         2016-04-06 15:19:55 UTC
342274
342275         · b706d3aa4d Merge pull request #32373 from cachedout/issue_32201
342276
342277         · d9e4a0f372 Resolve memory leak in authentication
342278
342279       · PR #32126: (cro) Add a couple CLI examples for the highstate  output‐
342280         ter.  @ 2016-04-05 17:23:29 UTC
342281
342282         · 097aa7ccfc Merge pull request #32126 from cro/outputter_terse_docs
342283
342284         · dafe279e60 Lint
342285
342286         · abc2de0119 More clarification.
342287
342288         · 85221e515b  Expand  docs for highstate outputter.  Add CLI examples
342289           for when 'state_output: filter' is set.
342290
342291       · PR #32353: (mcalmer) Prevent metadata download when listing installed
342292         products @ 2016-04-05 17:02:15 UTC
342293
342294         · eab3b99be2    Merge   pull   request   #32353   from   mcalmer/pre‐
342295           vent-refresh-on-list-installed-products
342296
342297         · e32212ad53 Prevent metadata download when listing  installed  prod‐
342298           ucts
342299
342300       · ISSUE  #32255:  (jakosky) Salt-minion 2015.8.8 should display helpful
342301         error when regular file /var/log/salt/minion exists but  a  directory
342302         is expected. (refs: #32321)
342303
342304       · PR  #32321:  (abednarik)  Better  message when minion fail to start @
342305         2016-04-05 16:28:06 UTC
342306
342307         · 64abec94e7  Merge   pull   request   #32321   from   abednarik/min‐
342308           ion_start_fail_log
342309
342310         · 4c72adc03a Better message when minion fail to start
342311
342312       · ISSUE  #30147:  (anandnevase)  salt.cloud.CloudClient method create()
342313         not working for VMware driver (refs: #32344)
342314
342315       · PR #32345: (nmadhok) [2015.8] Check if profile key exists in vm_ dict
342316         @ 2016-04-05 16:16:36 UTC
342317
342318         · PR #32344: (nmadhok) Check if profile key exists in vm_ dict (refs:
342319           #32345)
342320
342321         · 59aca733ea Merge pull request #32345 from nmadhok/patch-4
342322
342323         · 42d7a54240 Check if profile key exists in vm_ dict
342324
342325       · PR #32343: (Ferbla) Fixed win_wua example documentation @  2016-04-05
342326         16:14:37 UTC
342327
342328         · bb033c238d Merge pull request #32343 from Ferbla/2015.8
342329
342330         · e2f0f16564 Fixed win_wua example documentation
342331
342332       · ISSUE #32354: (elsmorian) Incorrect capitalisation when telling users
342333         to change hash_type to SHA256 (refs: #32360)
342334
342335       · PR #32360: (rallytime) Make  sure  hash_type  is  lowercase  in  mas‐
342336         ter/minion config files @ 2016-04-05 16:10:46 UTC
342337
342338         · 3219a8d176 Merge pull request #32360 from rallytime/fix-32354
342339
342340         · 8b47c205df Make sure hash_type is lowercase in master/minion config
342341           files
342342
342343       · PR #32361: (cro) SDB is no longer experimental @ 2016-04-05  16:10:23
342344         UTC
342345
342346         · fb530256f6 Merge pull request #32361 from cro/remove_sdb_exp_flag
342347
342348         · 3bbe284d89 Remove 'experimental' warning from SDB docs.
342349
342350       · PR  #32336:  (rallytime)  Back-port  #28639  to  2015.8  @ 2016-04-04
342351         20:53:11 UTC
342352
342353         · PR #28639: (RuriRyan) Fixed handling of  the  disabled  option  for
342354           yumpkg (refs: #32336)
342355
342356         · e1ef4a9d66 Merge pull request #32336 from rallytime/bp-28639
342357
342358         · 0829143dd1 Fixed handling of the disabled option for yumpkg
342359
342360       · ISSUE  #32305:  (Ch3LL) Receiving NoResponse Errors when running com‐
342361         mands that take a longer time (refs: #32332)
342362
342363       · PR #32332: (rallytime) Don't unsubscribe from open events on the  CLI
342364         too early on long-running commands @ 2016-04-04 20:39:39 UTC
342365
342366         · PR #32145: (paclat) fixes 29817 (refs: #32332)
342367
342368         · 6ee5a9729c Merge pull request #32332 from rallytime/fix-32305
342369
342370         · 8dc1161c8a  Don't unsubscribe from open events on the CLI too early
342371           on long-running commands
342372
342373       · PR #32333: (rallytime) [2015.8] Merge forward from 2015.5 to 2015.8 @
342374         2016-04-04 20:06:02 UTC
342375
342376         · 22b296d2fd Merge pull request #32333 from rallytime/merge-2015.8
342377
342378         · d7b4b8b081 Merge branch '2015.5' into '2015.8'
342379
342380         · fbdc47cc55 Merge pull request #32284 from rallytime/config-audit
342381
342382           · 0491513204 Don't be so explicit. Just use string_types.
342383
342384           · 083c477fd3 Use six.string_types in config default tuples
342385
342386           · 7e642b8381 Audit config.py default types and values - first sweep
342387
342388         · 0a6d44e57b  Merge  pull  request #32302 from terminalmage/fix-miss‐
342389           ing-release
342390
342391           · 413c371ccd Properly support packages with blank  "Release"  param
342392             in pkg.latest_version
342393
342394       · ISSUE  #32246:  (danlsgiga)  IMPORTANT:  Do not use md5 hashing algo‐
342395         rithm! Please set "hash_type" to SHA256 in Salt Minion config! (refs:
342396         #32289)
342397
342398       · PR  #32289:  (rallytime)  New salt-cloud instances should not use old
342399         hash_type default.  @ 2016-04-04 17:52:09 UTC
342400
342401         · PR #31162: (isbm) Remove MD5 digest from everywhere and default  to
342402           SHA256 (refs: #32289)
342403
342404         · 28cc054244 Merge pull request #32289 from rallytime/fix-32246
342405
342406         · 66acc00c71  New  salt-cloud  instances should not use old hash_type
342407           default.
342408
342409       · ISSUE #14277: (Sacro) Chocolatey.version doesn't  tell  you  anything
342410         informative. (refs: #32291)
342411
342412       · PR  #32291:  (twangboy)  Fix bad output for chocolatey.version (fixes
342413         #14277) @ 2016-04-04 17:50:54 UTC
342414
342415         · 5fb90a1040 Merge pull request #32291 from twangboy/fix_14277
342416
342417         · 53f6a28297 Fix problem with return on installed packages
342418
342419         · f5bd004ab0 Fix chocolatey.version function
342420
342421       · ISSUE #32183: (llamallama) Salt Cloud 2015.8.8  not  installing  salt
342422         minions on new nodes (refs: #32295)
342423
342424       · PR      #32295:      (rallytime)     Test     the     contents     of
342425         'deploy_scripts_search_path' in salt.config.cloud_config @ 2016-04-04
342426         17:38:47 UTC
342427
342428         · edbab99164     Merge    pull    request    #32295    from    rally‐
342429           time/test-cloud-deploy-dir
342430
342431         · 4037476f40 Patch call to os.path.isdir so we know both search paths
342432           are in tuple
342433
342434         · 49a4eec051  Test  the  contents  of 'deploy_scripts_search_path' in
342435           salt.config.cloud_config
342436
342437       · ISSUE #23617: (porterjamesj) file.managed with proxy broken in 2015.5
342438         (refs: #32315)
342439
342440       · PR #32315: (ahus1) fixing file.managed with requests lib @ 2016-04-04
342441         17:20:11 UTC
342442
342443         · 4389680bc5  Merge  pull  request  #32315  from  ahus1/fix_file_man‐
342444           aged_http_requests
342445
342446         · a867d23383  ensure streaming mode (use for example by file.managed)
342447           will works for requests backend
342448
342449       · ISSUE saltstack/salt-bootstrap#782: (ninjada) Bootstrap and  Links  &
342450         Documentation still broken due to fedoraproject redirect to fedorain‐
342451         fracloud.org (refs: #32316)
342452
342453       · ISSUE saltstack/salt-bootstrap#742: (dennisfoconnor)  Non-Development
342454         Script Broken on Amazon Linux (refs: #32316)
342455
342456       · ISSUE  saltstack/salt-bootstrap#695: (mtippett) Install Failures With
342457         Raspbian Jessie (refs: #32316)
342458
342459       · PR #32316:  (vutny)  Update  Salt  Bootstrap  tutorial  @  2016-04-04
342460         17:18:12 UTC
342461
342462         · 9065201761   Merge  pull  request  #32316  from  vutny/update-boot‐
342463           strap-tutorial
342464
342465         · b9698f015d Update Salt Bootstrap tutorial
342466
342467       · PR #32325: (bdrung) Re-add shebang to ssh-id-wrapper shell  script  @
342468         2016-04-04 17:08:41 UTC
342469
342470         · 352f3c01d1 Merge pull request #32325 from bdrung/fix-shebang
342471
342472         · ffe585f078 Re-add shebang to ssh-id-wrapper shell script
342473
342474       · PR #32326: (bdrung) Fix typos @ 2016-04-04 16:41:41 UTC
342475
342476         · f16e332b3a Merge pull request #32326 from bdrung/fix-typos
342477
342478         · a7db152333 Fix typo dont -> don't
342479
342480         · d4c037301b Fix typo missmatch -> mismatch
342481
342482         · 70dba70ff0 Fix typo additonal -> addition
342483
342484         · 68c60903aa Fix typo mutliple -> multiple
342485
342486         · 0f2c779b90 Fix typo fucntion -> function
342487
342488         · 0c9e4c8c80 Fix typo avilable -> available
342489
342490         · 920abe2ec7 Fix typo formated -> formatted
342491
342492         · e56dd4bb23 Fix typo ommitted -> omitted
342493
342494         · f99e6f1f13 Fix typo ouptut -> output
342495
342496         · d3804094f2 Fix typo wether -> whether
342497
342498         · 538fb6fae2 Fix typo perfomed -> performed
342499
342500         · db7af998ee Fix typo santized -> sanitized
342501
342502         · d7af01da2b Fix typo coresponding -> corresponding
342503
342504         · 301e78b5be Fix typo vaules -> values
342505
342506         · 8cada9573f Fix typos of retrieve
342507
342508         · b484d6f9c9 Fix typo directorys -> directories
342509
342510       · PR #32300: (twangboy) Add documentation to disable winrepo/winrepo_ng
342511         @ 2016-04-01 21:23:09 UTC
342512
342513         · 664043d7e7 Merge pull request #32300 from twangboy/fix_28767
342514
342515         · c971a3b054 Add documentation for disabled the winrepos
342516
342517       · ISSUE #18429: (somenick) Pillars passed  from  command-line  override
342518         pillar subtrees instead of merging (refs: #32288)
342519
342520       · PR #32288: (terminalmage) use dictupdate.merge instead of dict.update
342521         to merge CLI pillar overrides @ 2016-04-01 16:30:30 UTC
342522
342523         · 42a25f6b9d Merge pull request #32288 from terminalmage/issue18429
342524
342525         · db31732137 use dictupdate.merge instead of dict.update to merge CLI
342526           pillar overrides
342527
342528       · PR  #32243:  (isbm)  Ensure latest pkg.info_installed ensure latest @
342529         2016-03-31 16:09:59 UTC
342530
342531         · 3e374e7ec6  Merge   pull   request   #32243   from   isbm/isbm-zyp‐
342532           per-list-installed-ensure-latest
342533
342534         · fba3d509ac Fix the documentation
342535
342536         · 73ad8a2bfc Fix lint
342537
342538         · f07c7ea792 Add lowpkg tests for version comparison
342539
342540         · afdf451d87  Remove  tests  from  the  zypper_test  that  belongs to
342541           rpm_test
342542
342543         · 3706a21c29 Fix condition from returning None on 0
342544
342545         · 0a68ebff16 Remove suse/redhat checks, refactor code.
342546
342547         · 30c8f7216b Move "string to EVR" function to the utilities
342548
342549         · fb014a40b0 Sort installed pkgs data by version_cmp
342550
342551         · b57e439d57 Merge yumpkg's and zypper's version_cmp for a common use
342552
342553         · ebd13a283c Remove version_cmp from Zypper module and use just  low‐
342554           pkg alias
342555
342556         · b46d5b526a Remove version_cmp from the yumpkg and use just a lowpkg
342557           alias
342558
342559         · f4d9881e61 Force-sort the RPM output to ensure  latest  version  of
342560           the multi-package on top of the list.
342561
342562       · ISSUE  #32261:  (arthurlogilab)  dockerng  : AttributeError: 'module'
342563         object has no attribute 'version_info' (refs: #32262, #32268)
342564
342565       · PR #32268: (ticosax) [dockerng] Improve detection for older  versions
342566         of docker-py @ 2016-03-31 14:51:46 UTC
342567
342568         · PR  #32262:  (arthurlogilab) Catch Attribute Error when docker.ver‐
342569           sion_info doesn't exist (refs: #32268)
342570
342571         · 88fa3c5f71 Merge  pull  request  #32268  from  ticosax/handle-dock‐
342572           erpy-old
342573
342574         · 05116aaa40 Improve detection for older versions of docker-py
342575
342576       · PR  #32258:  (jacobhammons)  Replaces  incorrect  reference  to  mas‐
342577         ter_alive_check @ 2016-03-31 14:41:09 UTC
342578
342579         · a491897a3b Merge pull request #32258 from jacobhammons/alive-inter‐
342580           val-docs
342581
342582         · ff8ca5ac2e  Replaces incorrect reference to master_alive_check with
342583           master_alive_interval in docs
342584
342585       · PR #32254: (twangboy) Fix Display Name with spaces in  win_serverman‐
342586         ager @ 2016-03-31 14:38:22 UTC
342587
342588         · 8c68d8ac41 Merge pull request #32254 from twangboy/fix_31334
342589
342590         · e5f02c52be Fix a pylint error
342591
342592         · 5ca4ad6675 Fix unit tests for state
342593
342594         · 12d530f8f0 Fix win_servermanager state
342595
342596         · b26cb76abb Fix unit tests
342597
342598         · 1d5bcee390 Fix 31344
342599
342600       · PR #32248: (rallytime) [2015.8] Merge forward from 2015.5 to 2015.8 @
342601         2016-03-30 21:10:01 UTC
342602
342603         · 0f5e67de5d Merge pull request #32248 from rallytime/merge-2015.8
342604
342605         · d743f8cc4e Merge branch '2015.5' into '2015.8'
342606
342607           · 5d08db7c92 Merge pull request #32162 from terminalmage/issue31963
342608
342609             · 5c1bdb812c Fix pkgrepo integration test
342610
342611             · e7fb3095ce   Properly   handle   yum/zypper   repositories   in
342612               pkgrepo.managed
342613
342614             · add2111fec Use six.iteritems instead of dict.items
342615
342616             · 6c21881c38 Docstring tweaks
342617
342618             · ecbb78b649 Remove useless function
342619
342620             · 06f3309552 Normalize variable naming to match other functions
342621
342622             · 690537ca8b  Look  for  apt-add-repository  in  PATH  instead of
342623               assuming it's there
342624
342625             · 709d80bb1b aptpkg:  Accept  **kwargs  instead  of  a  dict  for
342626               pkg.expand_repo_def
342627
342628           · 4fcdaab428 Merge pull request #32223 from twangboy/fix_31976
342629
342630             · b7fcae97ce Create minion.d directory, fixes #31976
342631
342632           · 3309ff6a29 Merge pull request #32218 from cachedout/issue_31501
342633
342634             · 6795d6aef0 Only display error when tty is True in salt-ssh
342635
342636           · 6e0cb22c96   Merge   pull   request   #32196   from   jtand/cher‐
342637             rypy_pam_test_lint_fix
342638
342639             · bd3942e0fd Fixed pylint error in app_pam_test.py
342640
342641       · ISSUE #32169: (sknutsonsf) CommandNotFoundError:  update-rc.d  during
342642         service.enabled on Centos 7 (refs: #32230)
342643
342644       · PR  #32230:  (terminalmage)  systemd.py: Support both update-rc.d and
342645         chkconfig as managers of sysv services @ 2016-03-30 21:09:43 UTC
342646
342647         · 6216c37885 Merge pull request #32230 from terminalmage/issue32169
342648
342649         · 45af3e902a systemd.py: Support both update-rc.d  and  chkconfig  as
342650           managers of sysv services
342651
342652       · PR #32249: (jacobhammons) Fixes windows download paths to account for
342653         patch @ 2016-03-30 20:26:53 UTC
342654
342655         · bde2a1fc98 Merge pull request #32249 from jacobhammons/dot8
342656
342657         · 50d1df2482 Fixes windows download paths to account for patch
342658
342659       · PR #32221: (dmurphy18) Fix version check, fix  extracting  Major  and
342660         Minor versions from __ver… @ 2016-03-30 14:50:31 UTC
342661
342662         · 1d9321d043   Merge  pull  request  #32221  from  dmurphy18/fix_ver‐
342663           sion_check
342664
342665         · 96cf024e63 Fix version check, fix extracting Major and  Minor  ver‐
342666           sions from __version__
342667
342668       · ISSUE  #32031:  (travispaul)  Unable  to manage Windows services that
342669         contain a space in the service name (refs: #32227)
342670
342671       · PR #32227: (twangboy) Remove list2cmdline usage from win_service.py @
342672         2016-03-30 14:43:17 UTC
342673
342674         · 22bd1e6b29 Merge pull request #32227 from twangboy/fix_32031
342675
342676         · 58772b036d Remove list2cmdline usage
342677
342678       · PR  #32239:  (anlutro)  Add  state  file  name  to warning log line @
342679         2016-03-30 14:37:54 UTC
342680
342681         · 7fce438b67 Merge pull request #32239 from  alprs/fix-file_log_warn‐
342682           ing
342683
342684         · 72adae3702 add state file name to log line
342685
342686       · ISSUE  #31365:  (cwicklein) osrelease_info broken for CentOS 7 (refs:
342687         #32215)
342688
342689       · PR #32215: (DmitryKuzmenko) rhel oscodename @ 2016-03-29 19:14:50 UTC
342690
342691         · 3c3028f347    Merge    pull    request    #32215    from    DSRCom‐
342692           pany/issues/rhel_oscodename
342693
342694         · dc2a3b81ac Ignore lsb codename from os-release for newest RHEL
342695
342696       · PR  #32217:  (jacobhammons)  2015.8.8.2  release  notes  @ 2016-03-29
342697         17:53:22 UTC
342698
342699         · bf59f06733 Merge pull request #32217 from jacobhammons/dot8
342700
342701         · 596444e2b4 2015.8.8.2 release notes  Adds  banner  notifiying  user
342702           when they are viewing release notes for an old release
342703
342704       · ISSUE #31844: (Talkless) slspath is not documented (refs: #32197)
342705
342706       · PR  #32212:  (rallytime)  Back-port  #32197  to  2015.8  @ 2016-03-29
342707         15:50:58 UTC
342708
342709         · PR #32197:  (twellspring)  documentation  fix  issue  31844  (refs:
342710           #32212)
342711
342712         · ab8b70d985 Merge pull request #32212 from rallytime/bp-32197
342713
342714         · 5fdd81ace9 documentation fix issue 31844
342715
342716       · ISSUE  #31931:  (gravyboat) Ordering States documentation should note
342717         top.sls adheres to this rule (refs: #32193)
342718
342719       · PR #32211:  (rallytime)  Back-port  #32210  to  2015.8  @  2016-03-29
342720         15:50:42 UTC
342721
342722         · PR #32210: (rallytime) Merge #32193 with pylint fix (refs: #32211)
342723
342724         · PR  #32193:  (twellspring)  Documentation  fix 31931 (refs: #32210,
342725           #32211)
342726
342727         · 200d82cc3e Merge pull request #32211 from rallytime/bp-32210
342728
342729         · 7b9c05487c Whitespace fix.
342730
342731         · abd432746c documentation-fix-31931
342732
342733         · 79086f8f04 service.py documentation update for 32084
342734
342735       · ISSUE #32084: (guettli)  Docs:  Please  provide  a  link  from  "ser‐
342736         vice.running" to "watch" (refs: #32192)
342737
342738       · PR  #32209:  (rallytime)  Back-port  #32208  to  2015.8  @ 2016-03-29
342739         15:50:27 UTC
342740
342741         · PR #32208: (rallytime) Merge #32192 with pylint fix (refs: #32209)
342742
342743         · PR #32192: (twellspring) service.py documentation update for  32084
342744           (refs: #32208, #32209)
342745
342746         · 32da8d4c57 Merge pull request #32209 from rallytime/bp-32208
342747
342748         · 777a2c4e83 Whitespace fix.
342749
342750         · e3db0640ec service.py documentation update for 32084
342751
342752       · ISSUE  #31595:  (dverbeek84)  dockerng  ports specified in Dockerfile
342753         must be in sls file otherwise salt gives an error (refs: #32204)
342754
342755       · PR #32204: (ticosax) [dockerng] Consider labels carried by the  image
342756         when comparing user defined labels.  @ 2016-03-29 14:39:22 UTC
342757
342758         · 7154104591 Merge pull request #32204 from ticosax/label-from-image
342759
342760         · c989ae5a7e Merge user defined labels with one carried by the image
342761
342762       · PR  #32186: (rallytime) Add some "best practices" information to test
342763         documentation @ 2016-03-29 00:22:48 UTC
342764
342765         · 5877a19f59 Merge pull request #32186 from rallytime/testing-docs
342766
342767         · 40d09c822e Add some "best practices" information to test documenta‐
342768           tion
342769
342770       · PR #32176: (rallytime) [2015.8] Merge forward from 2015.5 to 2015.8 @
342771         2016-03-28 23:16:09 UTC
342772
342773         · b44adffc12 Merge pull request #32176 from rallytime/merge-2015.8
342774
342775         · e8658697a6 Pylint fix for integration import
342776
342777         · 527bc3e491 Pylint fix
342778
342779         · e9abd2d420 Merge branch '2015.5' into '2015.8'
342780
342781         · 6b8b8b51c0 Merge pull request #32154 from Ch3LL/ch3ll_pam_2015.5
342782
342783           · ba605b0128 fix more pylint and  add  ability  to  close  cherrypy
342784             engine
342785
342786           · 2d4dc4da05 add teardown call
342787
342788           · d115878714 fix pylint error
342789
342790           · 4c1ab082b6 add pam salt-api tests
342791
342792         · 230443be6c Merge pull request #32170 from gtmanfred/lxc_cloud_name
342793
342794           · eb7d82e7be add name for lxc for use with cloud cache
342795
342796         · 32b0421a34    Merge    pull    request    #32164   from   terminal‐
342797           mage/issue31731-2015.5
342798
342799           · 18439c4f89 Make __virtual__ for rhservice.py more robust  (2015.5
342800             branch)
342801
342802         · 6212e9aa56 Merge pull request #32141 from paclat/issue_32108
342803
342804           · 72c5d12d43 fixes 32108
342805
342806       · ISSUE #27605: (jmcook1) nacl module documentation/possible bug (refs:
342807         #32163)
342808
342809       · PR #32163: (rallytime) Update  nacl.config  docs  to  use  key  value
342810         instead of 'None' @ 2016-03-28 14:46:40 UTC
342811
342812         · 1afb048801 Merge pull request #32163 from rallytime/fix-27605
342813
342814         · e2d09f57dc  Update  nacl.config  docs  to  use key value instead of
342815           'None'
342816
342817       · PR #32166: (vutny) salt.states.file: correct examples with  multiline
342818         YAML string @ 2016-03-28 14:45:32 UTC
342819
342820         · c08ba3f8a9   Merge   pull   request  #32166  from  vutny/fix-multi‐
342821           line-yaml-string-example
342822
342823         · 34aaea93b4 Another indentation fix in salt.states.alternatives
342824
342825         · 85d0576583 salt.states.file: correct examples with  multiline  YAML
342826           string
342827
342828       · PR #32168: (rallytime) Lint 2015.8 @ 2016-03-27 18:26:50 UTC
342829
342830         · f2e986cf65 Merge pull request #32168 from rallytime/lint-2015.8
342831
342832         · ba6b19d72c Lint 2015.8
342833
342834       · ISSUE  #31731:  (sjorge) rh_service references osrelease before it is
342835         available, also does not return bool (refs: #32165)
342836
342837       · PR #32165: (terminalmage)  Make  __virtual__  for  rhservice.py  more
342838         robust (refs: #32164) @ 2016-03-27 18:21:16 UTC
342839
342840         · PR  #32164:  (terminalmage)  Make __virtual__ for rhservice.py more
342841           robust (2015.5 branch) (refs: #32165)
342842
342843         · ae472617af Merge pull request #32165 from terminalmage/issue31731
342844
342845         · 559eb7da52 Make __virtual__ for rhservice.py more robust
342846
342847       · ISSUE #31944: (Inveracity) traceback in _determine_beacon_config(...)
342848         in beacon/__init__.py line 105 (refs: #32160)
342849
342850       · PR #32160: (cachedout) Fix beacon tutorial docs @ 2016-03-25 22:32:51
342851         UTC
342852
342853         · 63c8bf3542 Merge pull request #32160 from cachedout/issue_31944
342854
342855         · 104ada5b6f Fix beacon tutorial docs
342856
342857       · PR #32145: (paclat) fixes 29817 (refs: #32332) @ 2016-03-25  16:55:47
342858         UTC
342859
342860         · bff94a5160 Merge pull request #32145 from paclat/issue_29817
342861
342862         · 5d970ca031 fixes 29817
342863
342864       · PR #32133: (basepi) Pass eauth user/groups through salt-api to desti‐
342865         nation functions @ 2016-03-25 16:49:46 UTC
342866
342867         · 245249d347      Merge      pull      request      #32133       from
342868           basepi/api_user_passthrough
342869
342870         · 41ba309839 Change the kwarg names to be more specific
342871
342872         · 40f7e596d8  Pass  eauth user/groups through salt-api to destination
342873           functions
342874
342875       · PR #32127: (rallytime) Add runners  to  __salt__  docs  @  2016-03-25
342876         15:54:02 UTC
342877
342878         · a09aa18036 Merge pull request #32127 from rallytime/dunder-docs
342879
342880         · 482690ef33  Add note to docs about __salt__ referencing runner mod‐
342881           ules
342882
342883         · a11d2e413a Add runners to __salt__ docs
342884
342885       · ISSUE #30183: (jakehilton)  Minion  startup  extremely  delayed  when
342886         first  master  in  failover multi master setup is down (refs: #31364,
342887         #31382, #32143)
342888
342889       · PR #32143: (DmitryKuzmenko) Set auth retry count to 0 if  multimaster
342890         mode is failover.  @ 2016-03-25 15:23:09 UTC
342891
342892         · PR  #31382: (DmitryKuzmenko) Set auth retry count to 0 if multimas‐
342893           ter mode is failover (refs: #32143)
342894
342895         · cc224b877a    Merge    pull    request    #32143    from    DSRCom‐
342896           pany/issues/30183_failover_fix
342897
342898         · 93d34a2573  Set  auth  retry  count  to  0  if  multimaster mode is
342899           failover.
342900
342901       · PR #32134: (rallytime) [2015.8] Merge forward from 2015.5 to 2015.8 @
342902         2016-03-25 15:22:08 UTC
342903
342904         · 0679a61871 Merge pull request #32134 from rallytime/merge-2015.8
342905
342906         · 6886681410 Fix test failures
342907
342908         · 7554d0f42d Merge branch '2015.5' into '2015.8'
342909
342910           · bdd7ea89d5 Merge pull request #32129 from terminalmage/issue32044
342911
342912             · 34ca1ea12e Change type check errors to debug loglevel
342913
342914             · 5462081488  Support multiple valid option types when performing
342915               type checks
342916
342917           · c42014eb54   Merge   pull   request    #32056    from    bsteven‐
342918             son/fix-list_absent
342919
342920             · 1500aae027 set deleted value to list
342921
342922             · 1dc8f5f289 unit test update
342923
342924             · 39adf86fec Fixed negation logic
342925
342926             · be9388173b Removed has_key in lieu of in
342927
342928             · e48593ed81 Comments and Changes output fixes
342929
342930             · b98f5517de Updated to conform to proper ret values
342931
342932             · d18b4be80b remove whitespace end of line 186:q
342933
342934             · d2b89c85ad fix formating
342935
342936             · 103cee9e29 cleaned up formating
342937
342938             · 7a4d7f0bff added whitespace
342939
342940             · 8ea5b545b0 Loop through list values in list_absent
342941
342942           · 848ce5647f Merge pull request #32096 from rallytime/bp-32065
342943
342944             · 36a9d6a374 Fix an issue with the minion targeting example
342945
342946           · 9b332d48b9 Merge pull request #32104 from jacobhammons/dot10
342947
342948             · b9fc882a1e  One  additional  known  issue for 2015.5.10 release
342949               notes
342950
342951           · ff51d548e1 Merge pull request #32100 from jacobhammons/dot10
342952
342953             · 544a1661ce 2015.5.10 release docs
342954
342955           · 72a20f9799 Merge pull request #32038 from terminalmage/issue32037
342956
342957             · 8b2d983324 Add reference to state tutorial to state.apply  doc‐
342958               string
342959
342960             · 9b4fe8443e  Move  highstate usage details to top of state.apply
342961               docstring
342962
342963             · 74ee8c54bc Clarify prior  role  of  state.highstate  in  states
342964               tutorial
342965
342966             · 1b97e4a3df  Improve  state  module  docs, replace references to
342967               state.highstate/state.sls with state.apply
342968
342969       · ISSUE #26129: (GreatSnoopy) salt yumpkg implementation painfully slow
342970         in some circumstances (refs: #32091)
342971
342972       · PR   #32091:   (clarkperkins)  Fixed  the  regression  in  410da78  @
342973         2016-03-25 14:53:08 UTC
342974
342975         · ad924226ca  Merge  pull  request  #32091   from   clarkperkins/bug‐
342976           fix/yumpkg-repoquery
342977
342978         · d2119ea608 Added comment so this issue doesn't regress again
342979
342980         · 1455fab9e3 Fixed the regression in 410da78
342981
342982       · ISSUE  #32044:  (ScoreUnder) Multiple masters throwing warnings? "Key
342983         master with value [...] has  an  invalid  type  of  list,  a  str  is
342984         required for this value" (refs: #32129)
342985
342986       · PR  #32135:  (rallytime) [2015.8] Support multiple valid option types
342987         when performing type checks @ 2016-03-24 22:42:28 UTC
342988
342989         · PR #32129: (terminalmage) Support multiple valid option types  when
342990           performing type checks (refs: #32135, #32284)
342991
342992         · b84908d51f Merge pull request #32135 from rallytime/32129-to-2915.8
342993
342994         · 7d43bdd721 Change type check errors to debug loglevel
342995
342996         · ed5abf4381 Support multiple valid option types when performing type
342997           checks
342998
342999       · PR #31760: (sakateka) SMinion need wait  future  from  eval_master  @
343000         2016-03-24 22:08:56 UTC
343001
343002         · b23a08f3f4   Merge   pull  request  #31760  from  sakateka/fix_mas‐
343003           ter_switch
343004
343005         · 3d7874029a Run self.eval_master in self.io_loop.run_sync
343006
343007         · 3b4425652b SMinion need wait future from eval_master
343008
343009       · PR #32106: (jfindlay) update suse master service patch  @  2016-03-24
343010         21:34:01 UTC
343011
343012         · 5efe37ddc8 Merge pull request #32106 from jfindlay/suse_patch
343013
343014         · 8de84b4251 update suse master service patch
343015
343016       · PR  #32130:  (jacobhammons)  Added  known  issues  32004 and 32044 to
343017         2015.8.8 release notes @ 2016-03-24 19:59:41 UTC
343018
343019         · 939c1b17d5 Merge pull request #32130 from jacobhammons/dot8
343020
343021         · 21eee08842 Added known issues 32004 and 32044 to  2015.8.8  release
343022           notes
343023
343024       · PR  #32105: (clarkperkins) Fixed invalid deploy_scripts_search_path @
343025         2016-03-24 17:36:27 UTC
343026
343027         · 2d8abf4717  Merge  pull  request  #32105   from   clarkperkins/bug‐
343028           fix/invalid-deploy-script-path
343029
343030         · 5a9f4e947e Fixed invalid deploy_scripts_search_path
343031
343032       · ISSUE  #32114: (tomlaredo) Wrong validation type for file_ignore_glob
343033         key (refs: #32117)
343034
343035       · PR #32117: (tomlaredo) Fixed validation type for  file_ignore_glob  @
343036         2016-03-24 17:28:22 UTC
343037
343038         · fe4112d7f9 Merge pull request #32117 from rodacom/fix_32114
343039
343040         · c6f83ba00b Fixed validation type for file_ignore_glob Fixes #32114
343041
343042       · PR  #32113: (sakateka) Fix log message for AsyncAuth initialization @
343043         2016-03-24 17:27:04 UTC
343044
343045         · 93d86d249c Merge pull request #32113 from sakateka/correct_log_mes‐
343046           sage
343047
343048         · 71148d77ab Fix log message for AsyncAuth initialization
343049
343050       · ISSUE  #32033:  (timcharper) SaltStack modules.dockerng _compare does
343051         not handle docker implicit Domainname properly (issue when using net‐
343052         work_mode: host) (refs: #32116, #32432)
343053
343054       · PR  #32116:  (ticosax)  Obtain  default value of memory_swap from the
343055         container.  @ 2016-03-24 15:56:54 UTC
343056
343057         · 294177f428   Merge   pull   request   #32116   from    ticosax/mem‐
343058           ory_swap-default-from-container
343059
343060         · fe439db4d3 Obtain default value of memory_swap from the container.
343061
343062       · PR  #32098:  (rallytime)  Back-port  #32083  to  2015.8  @ 2016-03-23
343063         21:49:01 UTC
343064
343065         · PR #32083: (guettli) "Fire Event Notifications" moved  down  (refs:
343066           #32098)
343067
343068         · d5bb8f6372 Merge pull request #32098 from rallytime/bp-32083
343069
343070         · 4a3a6629ce "Fire Event Notifications" moved down
343071
343072       · PR #32099: (jacobhammons) 2015.8.8 release docs @ 2016-03-23 20:02:40
343073         UTC
343074
343075         · e45107ce96 Merge pull request #32099 from jacobhammons/dot8
343076
343077         · 8ec5d989ad 2015.8.8 release docs
343078
343079       · PR #32088: (rallytime) [2015.8] Merge forward from 2015.5 to 2015.8 @
343080         2016-03-23 17:52:37 UTC
343081
343082         · 9e11f3aac5 Merge pull request #32088 from rallytime/merge-2015.8
343083
343084         · 59c3b7e82e Merge branch '2015.5' into '2015.8'
343085
343086         · 908a7bf5cd    Merge    pull    request    #32051   from   terminal‐
343087           mage/fix-state-apply-output
343088
343089           · 7d7cb45565 Fix outputter for state.apply
343090
343091         · 0e66f678d4  Merge  pull  request  #32002  from   abednarik/pkg_man‐
343092           jaron_issue31788
343093
343094           · 1b052d0a66  Added  Manajro  Linux  to virtual. List extended with
343095             ManajaroLinux in order su load pacman module.
343096
343097         · ba5bf62c1a Merge pull request #31957 from rallytime/merge-2015.5
343098
343099           · 1b6ec5d445 Merge branch '2014.7' into '2015.5'
343100
343101             · ba73deee46   Merge   pull   request    #31929    from    twang‐
343102               boy/fix_build_script
343103
343104             · 2c5599d2bc Backport build script from 2015.8
343105
343106             · ce74991dd0 Fix nsi script to work with new build process
343107
343108         · a52e3ad7a1 Merge pull request #31972 from terminalmage/zh-584
343109
343110           · 1e5639e495  Make  lack  of  python-ldap module more explicit when
343111             LDAP eauth is enabled
343112
343113       · PR #32074: (Xiami2012) Fix code for proto args in modules.iptables  @
343114         2016-03-23 16:37:58 UTC
343115
343116         · bc9a899bc8 Merge pull request #32074 from Xiami2012/fix_iptables
343117
343118         · aae3af7e49 Fix code for proto args in modules.iptables
343119
343120       · PR #32053: (basepi) [2015.8] Fix rabbitmq_user.present tag handling @
343121         2016-03-22 20:33:51 UTC
343122
343123         · 3e08dd0a93 Merge pull request #32053 from basepi/fix_rabbitmq
343124
343125         · 95c08f55e9 Tear out useless unit test
343126
343127         · bed048e1e7 Remove leftover arg (lint)
343128
343129         · 08868cb32a Fix tag handling code for rabbitmq_user.present
343130
343131         · 3b6d25b4e9 Remove leading whitespace on tags
343132
343133       · ISSUE #32004: (sjorge) win_dacl module  stacktrace:  NameError:  name
343134         'ntsecuritycon' is not defined (refs: #32023)
343135
343136       · PR  #32023: (sbreidba) Move constant declaration into member variable
343137         to avoid issues when m… @ 2016-03-21 20:18:23 UTC
343138
343139         · 553ecaca25 Merge pull request #32023 from sbreidba/bugfix_32004
343140
343141         · 711a0a9844 Move constant declaration into member variable to  avoid
343142           issues when modules can't be loaded.
343143
343144       · PR  #32026:  (techhat)  Don't  require the decode_out file to already
343145         exist @ 2016-03-21 20:17:05 UTC
343146
343147         · 65c634d197 Merge pull request #32026 from techhat/decodeout
343148
343149         · f27da41b71 Don't require the decode_out file to already exist
343150
343151       · PR #32019:  (rallytime)  Back-port  #32012  to  2015.8  @  2016-03-21
343152         15:54:31 UTC
343153
343154         · PR  #32012: (jfray) There were two identical blocks concerning Win‐
343155           dows Deploy Timeouts. This (refs: #32019)
343156
343157         · 1d4246bfd7 Merge pull request #32019 from rallytime/bp-32012
343158
343159         · 26eee1505f There  were  two  identical  blocks  concerning  Windows
343160           Deploy Timeouts. This pull request removes the extra block of text.
343161
343162       · ISSUE  #32013:  (timcharper)  SaltStack  dockerng.running state ports
343163         configuration responding to Docker's injection of UDP  params  (refs:
343164         #32015)
343165
343166       · PR #32015: (ticosax) [dockerng] Fix ports exposition when protocol is
343167         passed.  @ 2016-03-21 15:22:19 UTC
343168
343169         · d117db3efb Merge pull request #32015 from ticosax/fix-port-compari‐
343170           son-udp
343171
343172         · e511864a55 Fix ports exposition when protocol is passed.
343173
343174       · PR #31999: (jacobhammons) Fixes a doc build exception caused by miss‐
343175         ing mocks for modules.win_dacl @ 2016-03-19 15:49:40 UTC
343176
343177         · c72ab6a073 Merge pull request  #31999  from  jacobhammons/mock-mod‐
343178           ules2
343179
343180         · 31bb573abc  Fixes a doc build exception caused by missing mocks for
343181           modules.win_dacl
343182
343183       · PR #31992: (notpeter) salt-cloud: add D2 and G2 EC2 instance types  @
343184         2016-03-18 21:37:21 UTC
343185
343186         · 398ab909f0 Merge pull request #31992 from notpeter/2015.8
343187
343188         · e3854c8569 D2 and G2 EC2 instance types.
343189
343190       · PR  #31981:  (lloydoliver)  include  rotational disks in grains under
343191         linux @ 2016-03-18 15:54:00 UTC
343192
343193         · ad8ada7eef    Merge    pull    request    #31981    from    lloydo‐
343194           liver/linux-disk-grain-fix
343195
343196         · 9c44604438 include rotational disks in grains under linux
343197
343198       · PR  #31970:  (twangboy)  Add apply_template_on_contents for windows @
343199         2016-03-18 15:37:29 UTC
343200
343201         · 9be508e8f0 Merge pull request #31970 from twangboy/fix_win_file
343202
343203         · dfeae191c1 Add apply_template_on_contents for windows
343204
343205       · PR #31960: (aletourneau) fixed ec2  get_console_output  @  2016-03-18
343206         15:13:48 UTC
343207
343208         · 810c6dbcbe     Merge     pull     request    #31960    from    ale‐
343209           tourneau/2015.8_ec2-getconsoleoutput
343210
343211         · 8305978879 fixed ec2 get_console_output
343212
343213       · PR #31958: (rallytime) [2015.8] Merge forward from 2015.5 to 2015.8 @
343214         2016-03-18 15:12:44 UTC
343215
343216         · 1c7dc364ad Merge pull request #31958 from rallytime/merge-2015.8
343217
343218       · PR  #31935:  (twangboy) Back port nullsoft build script from 2015.8 @
343219         2016-03-17 14:54:50 UTC
343220
343221         · 2d1f2a0c2e    Merge    pull    request    #31935    from     twang‐
343222           boy/fix_build_script2
343223
343224         · 4af8c9dbfc Back port nullsoft build script from 2015.8
343225
343226       · PR  #31912:  (jfindlay)  log.mixins: remove extermporaneous .record @
343227         2016-03-16 01:56:46 UTC
343228
343229         · 43240dc566 Merge pull request #31912 from jfindlay/log_mixin
343230
343231         · 9f9c694654 log.mixins: remove extermporaneous .record
343232
343233   Salt 2015.5.0 Release Notes - Codename Lithium
343234       The 2015.5.0 feature release of Salt is focused on hardening  Salt  and
343235       mostly  on  improving  existing  systems.  A  few  major  additions are
343236       present, primarily the new Beacon system. Most enhancements  have  been
343237       focused around improving existing features and interfaces.
343238
343239       As usual the release notes are not exhaustive and primarily include the
343240       most notable additions and improvements. Hundreds  of  bugs  have  been
343241       fixed and many modules have been substantially updated and added.
343242
343243       WARNING:
343244          In  order  to  fix potential shell injection vulnerabilities in salt
343245          modules, a change has been made to the various cmd module functions.
343246          These  functions now default to python_shell=False, which means that
343247          the commands will not be sent to an actual shell.
343248
343249          The largest side effect of this change is that "shellisms", such  as
343250          pipes,  will not work by default. The modules shipped with salt have
343251          been audited to fix any issues that  might  have  arisen  from  this
343252          change.  Additionally, the cmd state module has been unaffected, and
343253          use of cmd.run in jinja is also unaffected. cmd.run calls on the CLI
343254          will also allow shellisms.
343255
343256          However,  custom  execution modules which use shellisms in cmd calls
343257          will break, unless you pass python_shell=True to these calls.
343258
343259          As a temporary workaround, you can set cmd_safe: False in your  min‐
343260          ion  and  master  configs. This will revert the default, but is also
343261          less secure, as it will allow shell injection vulnerabilities to  be
343262          written  in  custom code. We recommend you only set this setting for
343263          as long as it takes to resolve these issues  in  your  custom  code,
343264          then remove the override.
343265
343266       NOTE:
343267          Starting  in  this  version  of  salt, pillar_opts defaults to False
343268          instead of True. This means that master opts will not be present  in
343269          minion  pillar,  and  as a result, config.get calls will not include
343270          master opts.
343271
343272          We recommend pillar is used for configuration options which need  to
343273          make it to the minion.
343274
343275   Beacons
343276       The  beacon  system allows the minion to hook into system processes and
343277       continually translate external events into the salt event bus. The pri‐
343278       mary example of this is the inotify beacon. This beacon uses inotify to
343279       watch configured files or directories on the minion for  changes,  cre‐
343280       ation, deletion etc.
343281
343282       This allows for the changes to be sent up to the master where the reac‐
343283       tor can respond to changes.
343284
343285   Sudo Minion Settings
343286       It is now possible to run the minion as a non-root  user  and  for  the
343287       minion  to execute commands via sudo. Simply add sudo_user: root to the
343288       minion config, run the minion as a non-root user and  grant  that  user
343289       sudo rights to execute salt-call.
343290
343291   Lazy Loader
343292       The  Lazy Loader is a significant overhaul of Salt's module loader sys‐
343293       tem. The Lazy Loader will lazily load modules on access instead of  all
343294       on  start.  In addition to a major performance improvement, this "sand‐
343295       boxes" modules so a bad/broken import of  a  single  module  will  only
343296       affect jobs that require accessing the broken module. (:issue: 20274)
343297
343298   Enhanced Active Directory Support
343299       The eauth system for LDAP has been extended to support Microsoft Active
343300       Directory out of the box. This includes Active Directory and LDAP group
343301       support for eauth.
343302
343303   Salt LXC Enhancements
343304       The  LXC  systems have been overhauled to be more consistent and to fix
343305       many bugs.
343306
343307       This overhaul makes using LXC with Salt much easier  and  substantially
343308       improves the underlying capabilities of Salt's LXC integration.
343309
343310   Salt SSH
343311       · Additional  configuration  options  and  command line flags have been
343312         added to configure the scan roster on the fly
343313
343314       · Added support for state.single in salt-ssh
343315
343316       · Added  support  for  publish.publish,  publish.full_data,  and   pub‐
343317         lish.runner in salt-ssh
343318
343319       · Added support for mine.get in salt-ssh
343320
343321   New Windows Installer
343322       The  new  Windows  installer  changes how Salt is installed on Windows.
343323       The old installer used bbfreeze to create an isolated  python  environ‐
343324       ment  to execute in. This made adding modules and python libraries dif‐
343325       ficult. The new installer sets up a more  flexible  python  environment
343326       making it easy to manage the python install and add python modules.
343327
343328       Instead of frozen packages, a full python implementation resides in the
343329       bin directory (C:\salt\bin). By  executing  pip  or  easy_install  from
343330       within  the Scripts directory (C:\salt\bin\Scripts) you can install any
343331       additional python modules you may need for your custom environment.
343332
343333       The .exe's that  once  resided  at  the  root  of  the  salt  directory
343334       (C:\salt) have been replaced by .bat files and should function the same
343335       way as the .exe's in previous versions.
343336
343337       The new Windows Installer will not replace the minion config  file  and
343338       key  if  they already exist on the target system. Only the salt program
343339       files will  be  replaced.  C:\salt\conf  and  C:\salt\var  will  remain
343340       unchanged.
343341
343342   Removed Requests Dependency
343343       The  hard dependency on the requests library has been removed. Requests
343344       is still required by a  number  of  cloud  modules  but  is  no  longer
343345       required for normal Salt operations.
343346
343347       This  removal  fixes  issues  that  were  introduced  with requests and
343348       salt-ssh, as well as issues users experienced from the  many  different
343349       packaging methods used by requests package maintainers.
343350
343351   Python 3 Updates
343352       While  Salt does not YET run on Python 3 it has been updated to INSTALL
343353       on Python 3, taking us one step closer. What  remains  is  getting  the
343354       test  suite  to  the  point where it can run on Python 3 so that we can
343355       verify compatibility.
343356
343357   RAET Additions
343358       The RAET support continues to improve. RAET now  supports  multi-master
343359       and  many  bugs  and  performance  issues have been fixed. RAET is much
343360       closer to being a first class citizen.
343361
343362   Modified File Detection
343363       A number of functions have been added to the RPM-based package managers
343364       to  detect  and  diff files that are modified from the original package
343365       installs.  This can be found in the new pkg.modified functions.
343366
343367   Reactor Update
343368       Fix an infinite recursion problem  for  runner/wheel  reactor  jobs  by
343369       passing  a  "user"  (Reactor)  to all jobs that the reactor starts. The
343370       reactor skips all events created  by  that  username  --  thereby  only
343371       reacting  to  events  not caused by itself. Because of this, runner and
343372       wheel executions from the runner will have user "Reactor"  in  the  job
343373       cache.
343374
343375   Misc Fixes/Additions
343376       · SDB driver for etcd. (:issue: 22043)
343377
343378       · Add  only_upgrade argument to apt-based pkg.install to only install a
343379         package version if the package is already installed. (Great for secu‐
343380         rity updates!)
343381
343382       · Joyent now requires a keyname to be specified in the provider config‐
343383         uration. This change was necessitated upstream by the 7.0+ API.
343384
343385       · Add args argument to cmd.script_retcode to match  cmd.script  in  the
343386         cmd module. (:issue: 21122)
343387
343388       · Fixed  bug  where  TCP  keepalive  was  not being sent on the defined
343389         interval on the return port (4506) from minion  to  master.  (:issue:
343390         21465)
343391
343392       · LocalClient  may  now optionally raise SaltClientError exceptions. If
343393         using this class directly, checking for and handling  this  exception
343394         is recommended.  (:issue: 21501)
343395
343396       · The  SAuth object is now a singleton, meaning authentication state is
343397         global (per master) on each minion. This reduces sign-ins of  minions
343398         from 3->1 per startup.
343399
343400       · Nested outputter has been optimized, it is now much faster.
343401
343402       · Extensive fileserver backend updates.
343403
343404   Deprecations
343405       · Removed parameter keyword argument from eselect.exec_action execution
343406         module.
343407
343408       · Removed runas parameter from  the  following  pip`  execution  module
343409         functions:   install,   uninstall,   freeze,   list_,  list_upgrades,
343410         upgrade_available, upgrade. Please migrate to user.
343411
343412       · Removed runas parameter from the following  pip  state  module  func‐
343413         tions: installed, removed, uptodate . Please migrate to user.
343414
343415       · Removed  quiet  option from all functions in cmdmod execution module.
343416         Please use output_loglevel=quiet instead.
343417
343418       · Removed parameter argument from eselect.set_ state. Please migrate to
343419         module_parameter or action_parameter.
343420
343421       · The  salt_events  table  schema  has changed to include an additional
343422         field called master_id to distinguish between events flowing  into  a
343423         database  from  multiple  masters.  If event_return is enabled in the
343424         master config, the database schema must first be updated to  add  the
343425         master_id field.  This alteration can be accomplished as follows:
343426            ALTER TABLE salt_events ADD master_id VARCHAR(255) NOT NULL;
343427
343428   Known Issues
343429       · In multi-master mode, a minion may become temporarily unresponsive if
343430         modules or pillars are refreshed at the same time that  one  or  more
343431         masters  are  down.  This can be worked around by setting 'auth_time‐
343432         out' and 'auth_tries' down to shorter periods.
343433
343434   Salt 2015.5.1 Release Notes
343435       release
343436              2015-05-20
343437
343438       Version 2015.5.1 is a bugfix release for 2015.5.0.
343439
343440   Statistics
343441       · Total Merges: 203
343442
343443       · Total Issue References: 30
343444
343445       · Total PR References: 177
343446
343447       · Contributors:  49   (Arabus,   Lothiraldan,   Snergster,   TaiSHiNet,
343448         The-Loeki,  UtahDave,  aboe76, ahus1, basepi, bastiaanb, bradthurber,
343449         cachedout, cellscape, corywright, cro, dennisjac, dmyerscough, galet,
343450         garethgreenaway,    gladiatr72,   gtmanfred,   iggy,   ionutbalutoiu,
343451         jacobhammons,  jayeshka,   jfindlay,   joejulian,   jpic,   justinta,
343452         kaidokert,  kaithar,  kiorky,  lisa2lisa,  msciciel, nleib, notpeter,
343453         optix2000, rahulhan, rallytime, rubic, ryan-lane, s0undt3ch, slinu3d,
343454         steverweber, techhat, terminalmage, ticosax, twangboy, whiteinge)
343455
343456   Cloud Runner Changes
343457       The fun argument to the cloud.action runner has changed to func. Please
343458       update any calls to this runner.
343459
343460   Changelog for v2015.5.0..v2015.5.1
343461       Generated at: 2018-05-27 20:58:00 UTC
343462
343463       · PR #23998: (rallytime) Update release note for 2015.5.1 @  2015-05-20
343464         20:58:55 UTC
343465
343466         · 2422760ebd Merge pull request #23998 from rallytime/release_notes
343467
343468         · 113c6049f5 Update release note for 2015.5.1
343469
343470       · PR  #23989:  (rallytime)  Backport  #23980  to  2015.5  @  2015-05-20
343471         19:33:41 UTC
343472
343473         · PR #23980: (iggy) template: jinja2 -> jinja (refs: #23989)
343474
343475         · 117ecb1fe0 Merge pull request #23989 from rallytime/bp-23980
343476
343477         · 8f8557c47d template: jinja2 -> jinja
343478
343479       · PR  #23988:  (rallytime)  Backport  #23977  to  2015.5  @  2015-05-20
343480         19:13:36 UTC
343481
343482         · PR #23977: (ionutbalutoiu) Fixed glance image_create (refs: #23988)
343483
343484         · d4f1ba02d7 Merge pull request #23988 from rallytime/bp-23977
343485
343486         · 46fc7c6b69 Fixed glance image_create
343487
343488       · PR  #23986:  (basepi)  [2015.5] Merge forward from 2014.7 to 2015.5 @
343489         2015-05-20 18:41:33 UTC
343490
343491         · 9566e7d412  Merge  pull  request  #23986   from   basepi/merge-for‐
343492           ward-2015.5
343493
343494         · 0b78156592  Merge  remote-tracking  branch  'upstream/2014.7'  into
343495           merge-forward-2015.5
343496
343497           · 314e4db512   Merge   pull   request   #23965    from    hvnsweet‐
343498             ing/20147-fix-gitfs-gitpython-exception
343499
343500             · 2576301631 handle all exception gitpython can raise
343501
343502       · PR #23985: (UtahDave) Add 2014.7.5-2 and 2015.5.0-2 Windows installer
343503         download links @ 2015-05-20 18:32:44 UTC
343504
343505         · 9d1130ef8e Merge pull request #23985 from UtahDave/2015.5local
343506
343507         · 10338d0c54 Add links to Windows 2015.5.0-2 install downloads
343508
343509         · b84f9756c5 updated Windows 2014.7.5-2 installer download link
343510
343511       · PR  #23983:  (rallytime)  Versionadded  tags   for   https_user   and
343512         https_pass args new in 2015.5.0 @ 2015-05-20 18:05:27 UTC
343513
343514         · ca7729d023   Merge  pull  request  #23983  from  rallytime/version‐
343515           added_git_options
343516
343517         · 14eae22c91 Versionadded tags for https_user and https_pass args new
343518           in 2015.5.0
343519
343520       · PR  #23970:  (jayeshka)  adding  system  unit  test case @ 2015-05-20
343521         17:12:57 UTC
343522
343523         · b06df57e03 Merge pull request #23970 from jayeshka/system-unit-test
343524
343525         · 89eb00815e adding system unit test case
343526
343527       · PR #23967:  (jayeshka)  adding  states/memcached  unit  test  case  @
343528         2015-05-20 17:12:26 UTC
343529
343530         · 38d5f75756   Merge   pull   request   #23967   from   jayeshka/mem‐
343531           cached-states-unit-test
343532
343533         · 8ef9240e25 adding states/memcached unit test case
343534
343535       · PR #23966: (jayeshka) adding states/modjk unit test case @ 2015-05-20
343536         17:11:48 UTC
343537
343538         · 868e807d8a       Merge      pull      request      #23966      from
343539           jayeshka/modjk-states-unit-test
343540
343541         · 422a96497d adding states/modjk unit test case
343542
343543       · PR #23942: (jacobhammons) Updates to sphinx saltstack2  doc  theme  @
343544         2015-05-20 15:43:54 UTC
343545
343546         · 63164900bd Merge pull request #23942 from jacobhammons/2015.5
343547
343548         · 31023c8915 Updates to sphinx saltstack2 doc theme
343549
343550       · ISSUE #23872: (joejulian) create_ca_signed_cert can error if derefer‐
343551         enced dict is used for args (refs: #23874)
343552
343553       · PR #23874: (joejulian) Validate  keyword  arguments  to  be  valid  @
343554         2015-05-20 04:53:40 UTC
343555
343556         · 587957badc Merge pull request #23874 from joejulian/2015.5_tls_val‐
343557           idate_kwargs
343558
343559         · 30102acd04 Fix py3 and ordering inconsistency problems.
343560
343561         · 493f7ad5f0 Validate keyword arguments to be valid
343562
343563       · PR  #23960:  (rallytime)  Backport  #22114  to  2015.5  @  2015-05-20
343564         04:37:09 UTC
343565
343566         · PR  #22114:  (dmyerscough)  Fixing KeyError when there are no addi‐
343567           tional pages (refs: #23960)
343568
343569         · 00c5c22867 Merge pull request #23960 from rallytime/bp-22114
343570
343571         · f3e1d63fce Catch KeyError
343572
343573         · 306b1ea6b8 Fixing KeyError
343574
343575         · 6b2cda2861 Fix PEP8 complaint
343576
343577         · 239e50f30d Fixing KeyError when there are no additional pages
343578
343579       · PR  #23961:  (rallytime)  Backport  #23944  to  2015.5  @  2015-05-20
343580         04:35:41 UTC
343581
343582         · PR  #23944: (ryan-lane) Add missing loginclass argument to _changes
343583           call (refs: #23961)
343584
343585         · 4648b46e05 Merge pull request #23961 from rallytime/bp-23944
343586
343587         · 970d19a31e Add missing loginclass argument to _changes call
343588
343589       · PR #23948: (jfindlay) augeas.change state now returns  changes  as  a
343590         dict @ 2015-05-20 04:00:10 UTC
343591
343592         · 0cb5cd3938 Merge pull request #23948 from jfindlay/augeas_changes
343593
343594         · f09b80a8b5 augeas.change state now returns changes as a dict
343595
343596       · PR  #23957:  (rallytime)  Backport  #23951  to  2015.5  @  2015-05-20
343597         03:04:24 UTC
343598
343599         · PR #23951: (ryan-lane) Do not check perms in file.copy if  preserve
343600           (refs: #23957)
343601
343602         · 2d185f78f7 Merge pull request #23957 from rallytime/bp-23951
343603
343604         · 996b431252 Update file.py
343605
343606         · 85d461f748 Do not check perms in file.copy if preserve
343607
343608       · ISSUE #23839: (gladiatr72) wonky loader syndrome (refs: #23906)
343609
343610       · ISSUE   #23373:   (tnypex)   reactor/orchestrate  race  condition  on
343611         salt['pillar.get'] (refs: #23906)
343612
343613       · PR  #23956:  (rallytime)  Backport  #23906  to  2015.5  @  2015-05-20
343614         03:04:14 UTC
343615
343616         · PR  #23906:  (gladiatr72)  Added exception handler to trap the Run‐
343617           timeError raised when (refs: #23956)
343618
343619         · ebff1ff967 Merge pull request #23956 from rallytime/bp-23906
343620
343621         · 9d87fd335c add proper marker for format argument
343622
343623         · 197688ef0c Added exception handler to trap the RuntimeError  raised
343624           when  Depends.enforce_dependency()  class  method  fires unsuccess‐
343625           fully. There appears to be no synchronization  within  the  Depends
343626           decorator  class wrt the class global dependency_dict which results
343627           in incomplete population of any loader  instantiation  occuring  at
343628           the time of one of these exceptions.
343629
343630       · ISSUE  #19852:  (TaiSHiNet)  DigitalOcean APIv2 can't delete machines
343631         when there is only 1 page (refs: #23955)
343632
343633       · ISSUE #19304: (TaiSHiNet) DigitalOcean API v2 cannot  delete  VMs  on
343634         2nd page (refs: #19305)
343635
343636       · PR  #23955:  (rallytime)  Backport  #19305  to  2015.5  @  2015-05-20
343637         03:03:55 UTC
343638
343639         · PR #19305: (TaiSHiNet) Fixes droplet listing  past  page  1  (refs:
343640           #23955)
343641
343642         · da3f9197d3 Merge pull request #23955 from rallytime/bp-19305
343643
343644         · bbf2429bce Fixes droplet listing past page 1
343645
343646       · PR  #23940:  (basepi)  [2015.5] Merge forward from 2014.7 to 2015.5 @
343647         2015-05-19 22:37:58 UTC
343648
343649         · 02a78fce3d  Merge  pull  request  #23940   from   basepi/merge-for‐
343650           ward-2015.5
343651
343652         · 36f0065faf  Merge  remote-tracking  branch  'upstream/2014.7'  into
343653           merge-forward-2015.5
343654
343655           · 913391207a Merge pull request #23939 from basepi/v2014.7.6release
343656
343657             · 32b65dc2a9 Add extended changelog to 2014.7.6 release notes
343658
343659           · 0031ca2631  Merge   pull   request   #23881   from   garethgreen‐
343660             away/23820_2014_7_schedule_list_issue
343661
343662             · b207f2a433  Missing continue in the list function when deleting
343663               unused attributes.
343664
343665           · 63bd21ecd2 Merge pull request  #23887  from  basepi/salt-ssh.pil‐
343666             lar.get.22131
343667
343668             · bc84502f46 Bring salt-ssh pillar.get in line with mainline pil‐
343669               lar.get
343670
343671       · PR  #23932:  (rallytime)  Backport  #23908  to  2015.5  @  2015-05-19
343672         21:41:28 UTC
343673
343674         · PR #23908: (nleib) fix connection function to mongo (refs: #23932)
343675
343676         · ee4c01bf30 Merge pull request #23932 from rallytime/bp-23908
343677
343678         · 5d520c9377 fix connection function to mongo
343679
343680       · PR  #23931:  (rallytime)  Backport  #23880  to  2015.5  @  2015-05-19
343681         21:41:18 UTC
343682
343683         · PR #23880: (bastiaanb) if setting client_config_dir to '~',  expand
343684           path (refs: #23931)
343685
343686         · 70bd407920 Merge pull request #23931 from rallytime/bp-23880
343687
343688         · 8ce59a2e16 if setting client_config_dir to '~', expand path
343689
343690       · ISSUE  #23847: (kiorky) lxc: systemd containers cant be seeded (refs:
343691         #23806, #23898, #23897, #23808)
343692
343693       · ISSUE  #23833:  (kiorky)  lxc.set_dns  fails  intermittently   (refs:
343694         #23807, #23898, #23897, #23808)
343695
343696       · ISSUE  #23772:  (cheuschober)  lxc.init  fails to bootstrap container
343697         (refs: #23806, #23808, #23807, #23898, #23897)
343698
343699       · ISSUE #23658: (arthurlogilab) [salt-cloud  lxc]  too  verbose,  shows
343700         host: True multiple times when starting (refs: #23898, #23897)
343701
343702       · ISSUE #23657: (arthurlogilab) [salt-cloud lxc] NameError: global name
343703         '__salt__' is not defined (refs: #23898, #23727, #23897)
343704
343705       · PR #23898: (kiorky) Lxc profiles (refs: #23897) @ 2015-05-19 21:08:28
343706         UTC
343707
343708         · PR #23897: (kiorky) Lxc seed and prof ports (refs: #23898)
343709
343710         · PR #23808: (kiorky) Lxc seed and prof ports (refs: #23807, #23897)
343711
343712         · PR #23807: (kiorky) Lxc profiles (refs: #23898)
343713
343714         · PR #23806: (kiorky) Lxc seeding (refs: #23807)
343715
343716         · 5bdbf0af9b Merge pull request #23898 from makinacorpus/lxc_profiles
343717
343718         · d9051a047a lxc: systemd support
343719
343720         · e8d674fed4 lxc: chroot fallback toggle
343721
343722         · e2887a0d44 lxc: sync func name with develop
343723
343724         · e96e345799 lxc more fixes (lxc.set_dns)
343725
343726         · fdb64245d4 lxc: Fix salt config (no more a kwarg)
343727
343728         · 63e63fa527 repair salt cloud lxc api on develop
343729
343730         · 80eabe2703 lxc salt cloud doc
343731
343732         · 73f229d966 lxc: unificate saltconfig/master/master_port
343733
343734         · 0bc1f08a6b lxc: refactor a bit saltcloud/lxc interface
343735
343736         · 7a80370da9 lxc: get networkprofile from saltcloud
343737
343738         · 47acb2e159 lxc: default net profile has now correct options
343739
343740         · 7eadf4863c lxc: select the appropriate default bridge
343741
343742       · ISSUE  #23900: (hashi825) salt ubuntu network building issue 2015.5.0
343743         (refs: #23922)
343744
343745       · PR #23922:  (garethgreenaway)  Fixes  to  debian_ip.py  @  2015-05-19
343746         18:50:53 UTC
343747
343748         · b818f72dce    Merge   pull   request   #23922   from   garethgreen‐
343749           away/23900_2015_5_bonding_interface_fixes
343750
343751         · 0bba536d6d Fixing issue reported when using  bonded  interfaces  on
343752           Ubuntu.  Attributes should be bond-, but the code was attempting to
343753           split just on bond_.  Fix accounts for both, but  the  debian_ip.py
343754           module will write out bond attributes with bond-
343755
343756       · PR  #23925:  (jpic)  Fixed  wrong  path  in LXC cloud documentation @
343757         2015-05-19 18:23:56 UTC
343758
343759         · PR #23924: (jpic) Fixed  wrong  path  in  LXC  cloud  documentation
343760           (refs: #23925)
343761
343762         · b1c98a38ed Merge pull request #23925 from jpic/fix/wrong_lxc_path
343763
343764         · a4bcd75171 Fixed wrong path in LXC cloud documentation
343765
343766       · PR #23894: (whiteinge) Add __all__ attribute to Mock class for docs @
343767         2015-05-19 17:17:35 UTC
343768
343769         · 7f6a716a8a Merge pull request #23894 from whiteinge/doc-mock__all__
343770
343771         · 6eeca46158 Add __all__ attribute to Mock class for docs
343772
343773       · ISSUE #23767: (chrimi)  Salt  system.locale  fails  on  non  existent
343774         default locale (refs: #23884)
343775
343776       · PR  #23884:  (jfindlay)  Fix locale.set_locale on debian @ 2015-05-19
343777         15:51:22 UTC
343778
343779         · 8108a9bd19 Merge pull request #23884 from jfindlay/fix_locale
343780
343781         · 91c2d51400 use append_if_not_found in locale.set_locale
343782
343783         · e63260391c (re)generate /etc/default/locale
343784
343785       · PR #23866: (jfindlay) backport #23834, change portage.dep.strip_empty
343786         to list comprehension @ 2015-05-19 15:50:43 UTC
343787
343788         · PR    #23834:    (Arabus)    Avoid    deprecation    warning   from
343789           portage.dep.strip_empty() (refs: #23866)
343790
343791         · 6bae12fa8b Merge pull request #23866 from jfindlay/flag_strip
343792
343793         · aa032ccfaf replace portage.dep.strip_empty() with  list  comprehen‐
343794           sion
343795
343796         · 7576872280  Proper  replacement  for portage.dep.strip_empty() with
343797           list comprehension, pep8fix
343798
343799         · 2851a5cf13 Switch portage.dep.strip_empty(...) to  filter(None,...)
343800           to avoid deprecation warning and do essentially the same
343801
343802       · ISSUE #23904: (mbrgm) Network config bonding section cannot be parsed
343803         when attribute names use dashes (refs: #23917)
343804
343805       · PR #23917: (corywright) Split debian bonding options on dash  instead
343806         of underscore @ 2015-05-19 15:44:35 UTC
343807
343808         · a67a008913 Merge pull request #23917 from corywright/issue23904
343809
343810         · c06f8cf831  Split  debian bonding options on dash instead of under‐
343811           score
343812
343813       · PR #23909: (jayeshka) 'str' object has no attribute  'capitalized'  @
343814         2015-05-19 15:41:53 UTC
343815
343816         · e8fcd0994d Merge pull request #23909 from jayeshka/file-exe-module
343817
343818         · e422d9d200 'str' object has no attribute 'capitalized'
343819
343820       · PR  #23903:  (garethgreenaway) Adding docs for missing schedule state
343821         module parameters.  @ 2015-05-19 06:29:34 UTC
343822
343823         · c73bf38927 Merge pull  request  #23903  from  garethgreenaway/miss‐
343824           ing_docs_schedule_state
343825
343826         · acd8ab9e1d  Adding  docs  for missing schedule state module parame‐
343827           ters.
343828
343829         · a56697bd6e         Merge         branch         '2015.5'         of
343830           https://github.com/saltstack/salt into 2015.5
343831
343832         · 1c2af5c685         Merge         branch         '2015.5'         of
343833           https://github.com/saltstack/salt into 2015.5
343834
343835         · ef581283fa         Merge         branch         '2015.5'         of
343836           https://github.com/saltstack/salt into 2015.5
343837
343838         · 8664e8bc8d         Merge         branch         '2015.5'         of
343839           https://github.com/saltstack/salt into 2015.5-2
343840
343841         · 46eb2655ee saltstack2 sphinx theme updates
343842
343843         · e7442d3b1e         Merge         branch         '2015.5'         of
343844           https://github.com/saltstack/salt into 2015.5
343845
343846         · ee3c1bd4a7 missed one
343847
343848         · 3872921dd0 More updates to sphinx2 theme
343849
343850         · fcd48657ef         Merge         branch         '2015.5'         of
343851           https://github.com/saltstack/salt into 2015.5
343852
343853         · 8c32152be0 removed TOC numbering, additional tweaks to layout.html
343854
343855         · 73dfaeff28         Merge         branch         '2015.5'         of
343856           https://github.com/saltstack/salt into 2015.5
343857
343858         · 16d8a753ad saltstack2 sphinx theme and build settings
343859
343860       · ISSUE  #23847: (kiorky) lxc: systemd containers cant be seeded (refs:
343861         #23806, #23898, #23897, #23808)
343862
343863       · ISSUE #23772: (cheuschober) lxc.init  fails  to  bootstrap  container
343864         (refs: #23806, #23808, #23807, #23898, #23897)
343865
343866       · PR  #23806: (kiorky) Lxc seeding (refs: #23807) @ 2015-05-18 23:18:33
343867         UTC
343868
343869         · ff3cc7d331 Merge pull request #23806 from makinacorpus/lxc_seeding
343870
343871         · 61b7aad308 runners/lxc: optim
343872
343873       · PR #23892: (basepi) [2015.5] Merge forward from 2014.7  to  2015.5  @
343874         2015-05-18 23:07:57 UTC
343875
343876         · 5f1a93d966   Merge   pull  request  #23892  from  basepi/merge-for‐
343877           ward-2015.5
343878
343879         · c2eed77691  Merge  remote-tracking  branch  'upstream/2014.7'  into
343880           merge-forward-2015.5
343881
343882         · 17c5810c04 Merge pull request #23891 from basepi/releasenotes
343883
343884           · dec153bcea Update the release notes index page
343885
343886         · a93e58f80f Merge pull request #23888 from basepi/v2014.7.6release
343887
343888           · 49921b6cb2 Update the 2014.7.6 release notes with CVE details
343889
343890         · 50730287bb Merge pull request #23871 from rallytime/bp-23848
343891
343892           · 379c09c3a5 Updated for SLES 12.
343893
343894       · PR  #23875:  (rallytime)  Backport  #23838  to  2015.5  @  2015-05-18
343895         22:28:55 UTC
343896
343897         · PR #23838: (gtmanfred) add refresh_beacons and sync_beacons  (refs:
343898           #23875)
343899
343900         · 66d13356b3 Merge pull request #23875 from rallytime/bp-23838
343901
343902         · 3174227e8e Add versionadded directives to new beacon saltutil func‐
343903           tions
343904
343905         · 4a94b2c17b add refresh_beacons and sync_beacons
343906
343907       · PR #23876: (rallytime) Switch digital ocean  tests  to  v2  driver  @
343908         2015-05-18 22:17:13 UTC
343909
343910         · d294cf260b  Merge  pull  request #23876 from rallytime/switch_digi‐
343911           tal_ocean_tests_v2
343912
343913         · dce9b540a6 Remove extra line
343914
343915         · 4acf58e758 Switch digital ocean tests to v2 driver
343916
343917       · ISSUE #23792: (neogenix) Salt  Scheduler  Incorrect  Response  (True,
343918         should be False) (refs: #23882)
343919
343920       · PR   #23882:   (garethgreenaway)  Fixes  to  scheduler  in  2015.5  @
343921         2015-05-18 22:09:24 UTC
343922
343923         · b97a48c7f5   Merge   pull   request   #23882   from    garethgreen‐
343924           away/23792_2015_5_wrong_return_code
343925
343926         · 37dbde6d57 Job already exists in schedule, should return False.
343927
343928       · PR  #23868:  (basepi)  [2015.5] Merge forward from 2014.7 to 2015.5 @
343929         2015-05-18 18:35:54 UTC
343930
343931         · 61c922ea1a  Merge  pull  request  #23868   from   basepi/merge-for‐
343932           ward-2015.5
343933
343934         · c9ed23394c  Merge  remote-tracking  branch  'upstream/2014.7'  into
343935           merge-forward-2015.5
343936
343937         · aee00c83df Merge pull request #23810 from rallytime/bp-23757
343938
343939           · fb32c32065 use abspath, do not eliminating symlinks
343940
343941         · 6b3352bb1a    Merge    pull    request    #23809    from     rally‐
343942           time/virt_get_nics_fix
343943
343944           · 0616fb7884 Fix virtualport section of virt.get_nics loop
343945
343946         · 188f03f567 Merge pull request #23823 from gtmanfred/2014.7
343947
343948           · 5ef006d59d add link local for ipv6
343949
343950         · f3ca682f92 Merge pull request #23802 from gtmanfred/2014.7
343951
343952           · 2da98b58c8 if it is ipv6 ip_to_int will fail
343953
343954       · PR   #23863:   (rahulhan)   Adding  states/timezone.py  unit  test  @
343955         2015-05-18 17:02:19 UTC
343956
343957         · 433f87372c Merge pull  request  #23863  from  rahulhan/states_time‐
343958           zone_unit_test
343959
343960         · 72fcabc690 Adding states/timezone.py unit test
343961
343962       · PR #23862: (rahulhan) Adding states/tomcat.py unit tests @ 2015-05-18
343963         17:02:10 UTC
343964
343965         · 37b3ee5421 Merge  pull  request  #23862  from  rahulhan/states_tom‐
343966           cat_unit_test
343967
343968         · 65d7752d2a Adding states/tomcat.py unit tests
343969
343970       · PR  #23860:  (rahulhan) Adding states/test.py unit tests @ 2015-05-18
343971         17:01:49 UTC
343972
343973         · dde7207acb    Merge    pull    request    #23860    from     rahul‐
343974           han/states_test_unit_test
343975
343976         · 1f4cf86500 Adding states/test.py unit tests
343977
343978       · PR  #23859: (rahulhan) Adding states/sysrc.py unit tests @ 2015-05-18
343979         17:01:46 UTC
343980
343981         · 3c9b8139e8    Merge    pull    request    #23859    from     rahul‐
343982           han/states_sysrc_unit_test
343983
343984         · 6a903b054d Adding states/sysrc.py unit tests
343985
343986       · PR  #23812:  (rallytime)  Backport  #23790  to  2015.5  @  2015-05-18
343987         15:30:34 UTC
343988
343989         · PR #23790: (aboe76) updated suse  spec  file  to  version  2015.5.0
343990           (refs: #23812)
343991
343992         · 4cf30a7ffa Merge pull request #23812 from rallytime/bp-23790
343993
343994         · 3f65631cb6 updated suse spec file to version 2015.5.0
343995
343996       · PR  #23811:  (rallytime)  Backport  #23786  to  2015.5  @  2015-05-18
343997         15:30:27 UTC
343998
343999         · PR  #23786:  (kaithar)  Log  the  error   generated   that   causes
344000           returns.mysql.returner to except. (refs: #23811)
344001
344002         · c6f939adfb Merge pull request #23811 from rallytime/bp-23786
344003
344004         · 346f30bdda     Log     the     error    generated    that    causes
344005           returns.mysql.returner to except.
344006
344007       · PR #23850: (jayeshka) adding sysbench unit  test  case  @  2015-05-18
344008         15:28:04 UTC
344009
344010         · ce60582de4   Merge   pull   request   #23850   from   jayeshka/sys‐
344011           bench-unit-test
344012
344013         · 280abdec7c adding sysbench unit test case
344014
344015       · PR #23843: (The-Loeki)  Fix  erroneous  virtual:physical  core  grain
344016         detection @ 2015-05-18 15:24:22 UTC
344017
344018         · 060902fefa Merge pull request #23843 from The-Loeki/patch-1
344019
344020         · 9e2cf606eb Fix erroneous virtual:physical core grain detection
344021
344022       · ISSUE #23815: (Snergster) [beacons] inotify errors on subdir creation
344023         (refs: #23816)
344024
344025       · ISSUE #23685: (Snergster) inotify beacon on file. 'change'  event  to
344026         reactor to reset file to known state will cause loop (refs: #23816)
344027
344028       · PR  #23816:  (Snergster)  Doc  for  #23685 Added prereq, caution, and
344029         additional mask information @ 2015-05-18 15:18:03 UTC
344030
344031         · 3257a9bead Merge pull request #23816 from Snergster/23685-doc-fix
344032
344033         · 0fca49d52a Added prereq, caution, and additional mask information
344034
344035       · PR #23832: (ahus1) make saltify provider use standard boostrap proce‐
344036         dure @ 2015-05-18 02:18:29 UTC
344037
344038         · PR #23829: (ahus1) make saltify provider use standard boostrap pro‐
344039           cedure (refs: #23832)
344040
344041         · 3df3b85090 Merge pull request #23832 from ahus1/ahus1_saltify_boot‐
344042           strap_2015.5
344043
344044         · f5b1734782 fixing problem in unit test
344045
344046         · cba47f6856  make saltify to use standard boostrap procedure, there‐
344047           fore providing all options like master_sign_pub_file
344048
344049       · PR #23791: (optix2000) Psutil compat @ 2015-05-16 04:05:54 UTC
344050
344051         · 8ec4fb2a73 Merge pull request #23791 from optix2000/psutil_compat
344052
344053         · 5470cf58db Fix pylint errors and sloppy inline comments
344054
344055         · 64634b6349 Update psutil.pid_list to use psutil.pids
344056
344057         · 5dd6d69192 Fix imports that aren't in __all__
344058
344059         · 8a1da33ada Fix test cases by mocking psutil_compat
344060
344061         · 558798df1f Fix net_io_counters deprecation issue
344062
344063         · 8140f92ba8 Override unecessary pylint errors
344064
344065         · 7d02ad4f06 Fix some of the mock names for the new API
344066
344067         · 9b3023e851 Fix overloaded getters/setters. Fix line lengths
344068
344069         · 180eb87a46 Fix whitespace
344070
344071         · f8edf72f98 Use new psutil API in ps module
344072
344073         · e48982ff9c Fix version checking in psutil_compat
344074
344075         · 93ee411fd5 Create compatability psutil. psutil 3.0 drops  1.0  API,
344076           but we still support old psutil versions.
344077
344078       · PR  #23782:  (terminalmage) Replace "command -v" with "which" and get
344079         rid of spurious log messages @ 2015-05-16 04:03:10 UTC
344080
344081         · 405517be8b Merge pull request #23782 from terminalmage/issue23772
344082
344083         · 0f6f239052 More ignore_retcode to suppress spurious log msgs
344084
344085         · b4c48e62ea Ignore return code in lxc.attachable
344086
344087         · 08658c0177 Replace "command -v" with "which"
344088
344089       · PR #23783: (basepi) [2015.5] Merge forward from 2014.7  to  2015.5  @
344090         2015-05-15 21:38:51 UTC
344091
344092         · cb2eb401f3   Merge   pull  request  #23783  from  basepi/merge-for‐
344093           ward-2015.5
344094
344095         · 9df51caf28 __opts__.get
344096
344097         · 51d23ed9d0  Merge  remote-tracking  branch  'upstream/2014.7'  into
344098           merge-forward-2015.5
344099
344100           · d9af0c3e82      Merge      pull      request      #23488     from
344101             cellscape/lxc-cloud-fixes
344102
344103             · 64250a67e5 Remove profile from opts  after  creating  LXC  con‐
344104               tainer
344105
344106             · c4047d2a71  Set  destroy=True  in  opts  when  destroying cloud
344107               instance
344108
344109             · 9e1311a7cd Store instance names in opts when  performing  cloud
344110               action
344111
344112             · 934bc57c73 Correctly pass custom env to lxc-attach
344113
344114             · 7fb85f7be1 Preserve test=True option in cloud states
344115
344116             · 9771b5a313 Fix detection of absent LXC container in cloud state
344117
344118             · fb24f0cf02  Report failure when failed to create/clone LXC con‐
344119               tainer
344120
344121             · 2d9aa2bb97 Avoid shadowing variables in lxc module
344122
344123             · 792e1021f2   Allow   to    override    profile    options    in
344124               lxc.cloud_init_interface
344125
344126             · 42bd64b9b3   Return   changes  on  successful  lxc.create  from
344127               salt-cloud
344128
344129             · 4409eabb83 Return correct result when creating cloud  LXC  con‐
344130               tainer
344131
344132             · 377015c881  Issue  #16424:  List  all  providers  when creating
344133               salt-cloud instance without profile
344134
344135           · 808bbe1cb2 Merge pull request  #23748  from  basepi/salt-ssh.ros‐
344136             ter.host.check
344137
344138             · bc53e049e0 Log entire exception for render errors in roster
344139
344140             · 753de6a621 Log render errors in roster to error level
344141
344142             · e01a7a90b3 Always let the real YAML error through
344143
344144           · 72cf360255 Merge pull request #23731 from twangboy/fix_22959
344145
344146             · 88e5495b2d  Fixes  #22959:  Trying  to  add  a  directory to an
344147               unmapped drive in windows
344148
344149           · 2610195262 Merge pull request #23730 from rallytime/bp-23729
344150
344151             · 1877caecba adding support for nested grains to grains.item
344152
344153           · 3e9df883d6 Merge pull request #23688 from twangboy/fix_23415
344154
344155             · 6a91169bae Fixed unused-import pylint error
344156
344157             · 5e25b3f355 fixed pylint errors
344158
344159             · 1a9676626f  Added  inet_pton   to   utils/validate/net.py   for
344160               ip.set_static_ip in windows
344161
344162       · PR  #23781: (jfindlay) fix unit test mock errors on arch @ 2015-05-15
344163         19:40:07 UTC
344164
344165         · 982f87316d Merge pull request #23781 from jfindlay/fix_locale_tests
344166
344167         · 14c711eeb3 fix unit test mock errors on arch
344168
344169       · ISSUE #23566: (rks2286) Salt-cp corrupting the file after transfer to
344170         minion (refs: #23740)
344171
344172       · PR #23740: (jfindlay) Binary write @ 2015-05-15 18:10:44 UTC
344173
344174         · 916b1c4f7c Merge pull request #23740 from jfindlay/binary_write
344175
344176         · 626930a4e5 update incorrect comment wording
344177
344178         · a978f5c091 always use binary file write mode on windows
344179
344180       · ISSUE  #23682:  (chrish42)  Pip module requires system pip, even when
344181         not used (with env_bin) (refs: #23736)
344182
344183       · PR #23736: (jfindlay) always load pip execution module  @  2015-05-15
344184         18:10:16 UTC
344185
344186         · 348645ecd5 Merge pull request #23736 from jfindlay/fix_pip
344187
344188         · b8867a8c23 update pip tests
344189
344190         · 040bbc42d2 only check pip version in one place
344191
344192         · 6c453a5a2a check for executable status of bin_env
344193
344194         · 3337257833 always load the pip module as pip could be anywhere
344195
344196       · PR   #23770:  (cellscape)  Fix  cloud  LXC  container  destruction  @
344197         2015-05-15 17:38:59 UTC
344198
344199         · 10cedfb174      Merge      pull      request      #23770       from
344200           cellscape/fix-cloud-lxc-destruction
344201
344202         · 4f6021c884 Fix cloud LXC container destruction
344203
344204       · PR  #23759: (lisa2lisa) fixed the problem for not beable to revoke .,
344205         for more detail https… @ 2015-05-15 17:38:38 UTC
344206
344207         · ddea822b02 Merge pull request #23759 from lisa2lisa/iss23664
344208
344209         · a29f161a58 fixed the problem for not beable to revoke .,  for  more
344210           detail  https://github.com/saltstack/salt/issues/23201, fixed mysql
344211           cannot  create  user  with  pure  digit  password,  for  more  info
344212           https://github.com/saltstack/salt/issues/23664
344213
344214       · PR    #23769:    (cellscape)    Fix    file_roots    CA   lookup   in
344215         salt.utils.http.get_ca_bundle @ 2015-05-15 16:21:49 UTC
344216
344217         · 10615ff5a7      Merge      pull      request      #23769       from
344218           cellscape/utils-http-ca-file-roots
344219
344220         · 8e90f3291b  Fix file_roots CA lookup in salt.utils.http.get_ca_bun‐
344221           dle
344222
344223       · PR  #23765:  (jayeshka)  adding  states/makeconf  unit  test  case  @
344224         2015-05-15 14:29:43 UTC
344225
344226         · fd8a1b797f   Merge   pull   request   #23765   from  jayeshka/make‐
344227           conf_states-unit-test
344228
344229         · 26e31afa31 adding states/makeconf unit test case
344230
344231       · PR #23760: (ticosax) [doc] document  refresh  argument  @  2015-05-15
344232         14:23:47 UTC
344233
344234         · ee13b08027 Merge pull request #23760 from ticosax/2015.5
344235
344236         · e3ca859ba6 document refresh argument
344237
344238       · PR #23766: (jayeshka) adding svn unit test case @ 2015-05-15 14:23:18
344239         UTC
344240
344241         · a017f725a4 Merge pull request #23766 from jayeshka/svn-unit-test
344242
344243         · 19939cfa98 adding svn unit test case
344244
344245       · ISSUE  #23734:  (bradthurber)  2015.5.0  modules/archive.py   ZipFile
344246         instance  has  no  attribute  '__exit__'  -  only  python 2.6? (refs:
344247         #23737)
344248
344249       · PR  #23751:  (rallytime)  Backport  #23737  to  2015.5  @  2015-05-15
344250         03:58:37 UTC
344251
344252         · PR  #23737:  (bradthurber) fix for 2015.5.0 modules/archive.py Zip‐
344253           File instance has no attribute… (refs: #23751)
344254
344255         · 0ed9d45114 Merge pull request #23751 from rallytime/bp-23737
344256
344257         · 8d1eb326d0 fix for 2015.5.0 modules/archive.py ZipFile instance has
344258           no attribute '__exit__' - only python 2.6? #23734
344259
344260       · ISSUE  #23709:  (kiorky)  cmdmod:  enhancement  is  really needed for
344261         stateful commands (refs: #23710)
344262
344263       · PR #23710: (kiorky) Get more useful output from stateful  commands  @
344264         2015-05-14 21:58:10 UTC
344265
344266         · d73984ec9c Merge pull request #23710 from makinacorpus/i23709
344267
344268         · c70690969e Get more useful output from stateful commands
344269
344270       · ISSUE  #23608:  (kaidokert)  salt-cloud  file_map  with non-root user
344271         (refs: #23609)
344272
344273       · PR  #23724:  (rallytime)  Backport  #23609  to  2015.5  @  2015-05-14
344274         19:34:22 UTC
344275
344276         · PR  #23609:  (kaidokert) file_map: chown created directories if not
344277           root #23608 (refs: #23724)
344278
344279         · cdf421b9ed Merge pull request #23724 from rallytime/bp-23609
344280
344281         · fe3a762673 file_map: chmod created directories if not root
344282
344283       · PR  #23723:  (rallytime)  Backport  #23568  to  2015.5  @  2015-05-14
344284         19:34:11 UTC
344285
344286         · PR #23568: (techhat) Allow Salt Cloud to use either SCP or SFTP, as
344287           configured (refs: #23723)
344288
344289         · 94f9099307 Merge pull request #23723 from rallytime/bp-23568
344290
344291         · bbec34abd3 Allow Salt Cloud to use either SCP or SFTP,  as  config‐
344292           ured
344293
344294       · PR  #23725:  (rallytime)  Backport  #23691  to  2015.5  @  2015-05-14
344295         19:32:30 UTC
344296
344297         · PR #23691: (dennisjac) add initial configuration documentation  for
344298           varstack pillar (refs: #23725)
344299
344300         · 137e5eefd0 Merge pull request #23725 from rallytime/bp-23691
344301
344302         · 28a846ebe8  add  initial  configuration  documentation for varstack
344303           pillar
344304
344305       · PR  #23722:  (rallytime)  Backport  #23472  to  2015.5  @  2015-05-14
344306         19:31:52 UTC
344307
344308         · PR  #23472: (techhat) Allow neutron network list to be used as pil‐
344309           lar data (refs: #23722)
344310
344311         · 0c00995dfb Merge pull request #23722 from rallytime/bp-23472
344312
344313         · c3d0f39515 Change versionadded tag for backport
344314
344315         · 023e88f264 Allow neutron network list to be used as pillar data
344316
344317       · ISSUE #23657: (arthurlogilab) [salt-cloud lxc] NameError: global name
344318         '__salt__' is not defined (refs: #23898, #23727, #23897)
344319
344320       · PR   #23727:   (jfindlay)  fix  npm  execution  module  stacktrace  @
344321         2015-05-14 18:14:12 UTC
344322
344323         · cbf4ca8d91 Merge pull request #23727 from jfindlay/npm_salt
344324
344325         · 05392f282e fix npm execution module stacktrace
344326
344327       · PR #23718: (rahulhan) Adding states/user.py unit tests  @  2015-05-14
344328         17:15:38 UTC
344329
344330         · ef536d58de     Merge    pull    request    #23718    from    rahul‐
344331           han/states_user_unit_tests
344332
344333         · aad27db513 Adding states/user.py unit tests
344334
344335       · PR #23720: (basepi) [2015.5] Merge forward from 2014.7  to  2015.5  @
344336         2015-05-14 17:13:02 UTC
344337
344338         · a529d74079   Merge   pull  request  #23720  from  basepi/merge-for‐
344339           ward-2015.5
344340
344341         · 06a3ebd9d1  Merge  remote-tracking  branch  'upstream/2014.7'  into
344342           merge-forward-2015.5
344343
344344         · 1b86460d73 Merge pull request #23680 from cachedout/issue_23403
344345
344346           · d5986c21b4 Rename kwarg in cloud runner
344347
344348         · cd64af0ce4 Merge pull request #23674 from cachedout/issue_23548
344349
344350           · da8a2f5cb3 Handle lists correctly in grains.list_prsesent
344351
344352         · d322a19213 Merge pull request #23672 from twangboy/fix_user_present
344353
344354           · 731e7af3dd         Merge         branch        '2014.7'        of
344355             https://github.com/saltstack/salt into fix_user_present
344356
344357           · d6f70a4545 Fixed user.present to create password in windows
344358
344359         · 43f7025000 Merge pull request #23670 from rallytime/bp-23607
344360
344361           · ed30dc4642 Fix for #23604. No error reporting. Exitcode  !=0  are
344362             ok
344363
344364       · PR  #23704:  (jayeshka)  adding  states/lvs_server  unit  test case @
344365         2015-05-14 14:22:10 UTC
344366
344367         · 13facbf077      Merge      pull      request      #23704       from
344368           jayeshka/lvs_server_states-unit-test
344369
344370         · da323dab0b adding states/lvs_server unit test case
344371
344372       · PR  #23703:  (jayeshka)  adding  states/lvs_service  unit test case @
344373         2015-05-14 14:21:23 UTC
344374
344375         · f95ca3188f  Merge  pull  request  #23703   from   jayeshka/lvs_ser‐
344376           vice_states-unit-test
344377
344378         · 66717c8133 adding states/lvs_service unit test case
344379
344380       · PR   #23702:  (jayeshka)  Remove  superfluous  return  statement.   @
344381         2015-05-14 14:20:42 UTC
344382
344383         · 07e987e327 Merge pull request #23702 from jayeshka/fix_lvs_service
344384
344385         · ecff2181e4 fix lvs_service
344386
344387       · PR #23686: (jfindlay) remove superflous return statement @ 2015-05-14
344388         14:20:18 UTC
344389
344390         · 39973d4095 Merge pull request #23686 from jfindlay/fix_lvs_server
344391
344392         · 5aaeb73532 remove superflous return statement
344393
344394       · PR  #23690:  (rallytime)  Backport  #23424  to  2015.5  @  2015-05-13
344395         23:04:36 UTC
344396
344397         · PR #23424: (justinta) Added  python_shell=True  for  refresh_db  in
344398           pacman.py (refs: #23690)
344399
344400         · be7c7ef3fd Merge pull request #23690 from rallytime/bp-23424
344401
344402         · 94574b7367 Added python_shell=True for refresh_db in pacman.py
344403
344404       · PR  #23681:  (cachedout) Start on 2015.5.1 release notes @ 2015-05-13
344405         19:44:22 UTC
344406
344407         · 1a0db43097    Merge    pull    request    #23681    from    cached‐
344408           out/2015_5_1_release_notes
344409
344410         · bdbbfa6ee7 Start on 2015.5.1 release notes
344411
344412       · PR #23679: (jfindlay) Merge #23616 @ 2015-05-13 19:03:53 UTC
344413
344414         · PR  #23616: (Snergster) virtual returning none warning fixed in dev
344415           but missed in 2015.5 (refs: #23679)
344416
344417         · b54075a2ac Merge pull request #23679 from jfindlay/merge_23616
344418
344419         · 6e15e19907 appease pylint's blank line strictures
344420
344421         · 8750680d9e virtual returning none warning fixed in dev  but  missed
344422           in 2015.5
344423
344424       · PR  #23675:  (basepi)  [2015.5] Merge forward from 2014.7 to 2015.5 @
344425         2015-05-13 18:35:54 UTC
344426
344427         · e480f13688  Merge  pull  request  #23675   from   basepi/merge-for‐
344428           ward-2015.5
344429
344430         · bd635488ef  Merge  remote-tracking  branch  'upstream/2014.7'  into
344431           merge-forward-2015.5
344432
344433           · 0f006ac1d8 Merge pull request #23661 from rallytime/merge-23640
344434
344435             · 4427f42bb6 Whitespace fix
344436
344437             · dd9115466e Add warning to get_or_set_hash about reserved chars
344438
344439           · 84e2ef88fc Merge pull request #23639 from cachedout/issue_23452
344440
344441             · d418b49a77 Syntax error!
344442
344443             · 45b4015d7d Handle exceptions raised by __virtual__
344444
344445           · bd9b94ba8c Merge pull request #23637 from cachedout/issue_23611
344446
344447             · 56cb1f52e3 Fix typo
344448
344449             · f6fcf19a7f Convert str master to list
344450
344451           · f20c0e42ce Merge pull request #23595 from rallytime/bp-23549
344452
344453             · 6efcac09ad Update __init__.py
344454
344455           · 1acaf86da7 Merge pull request #23594 from rallytime/bp-23496
344456
344457             · d5ae1d268a Fix for issue #23110 This resolves issues  when  the
344458               freshly created directory is removed by fileserver.update.
344459
344460           · 2c221c7332 Merge pull request #23593 from rallytime/bp-23442
344461
344462             · 39869a15bd check w/ low['name'] only
344463
344464             · 304cc499e9 another fix for file defined w/ id, but require name
344465
344466             · 8814d4180e add directory itself to keep list
344467
344468           · fadd1ef63c Merge pull request #23606 from twangboy/fix_installer
344469
344470             · 038331edab  Fixed  checkbox  for  starting service and actually
344471               starting it
344472
344473         · acdd3fc6bd Fix lint
344474
344475         · 680e88f058  Merge  remote-tracking  branch  'upstream/2014.7'  into
344476           merge-forward-2015.5
344477
344478           · 10b3f0f643 Merge pull request #23592 from rallytime/bp-23389
344479
344480             · 734cc43801 Correct fail_hard typo
344481
344482           · cd34b9b6c4 Merge pull request #23573 from techhat/novaquery
344483
344484             · f92db5e92f Linting
344485
344486             · 26e00d3ccc  Scan  all available networks for public and private
344487               IPs
344488
344489           · 2a72cd71c2 Merge pull request #23558 from jfindlay/fix_ebuild
344490
344491             · 45404fb2a6 reorder emerge command line
344492
344493           · a664a3c6fd     Merge      pull      request      #23530      from
344494             dr4Ke/fix_salt-ssh_to_include_pkg_sources
344495
344496             · 5df6a8008c fix pylint warning
344497
344498             · d0549e56ba salt-ssh state: fix including all salt:// references
344499
344500           · 55c3869861 Merge pull request #23433 from twangboy/list_pkgs_fix
344501
344502             · 8ab5b1b86f Fix pylint error
344503
344504             · 2d11d6545e Obtain all software from the registry
344505
344506           · 755bed0abd  Merge  pull  request  #23554 from jleroy/debian-host‐
344507             name-fix
344508
344509             · 5ff749e487 Debian: Hostname always updated
344510
344511           · 6ec87ce9f5     Merge      pull      request      #23551      from
344512             dr4Ke/grains.append_unit_tests
344513
344514             · ebff9df5b2 fix pylint errors
344515
344516             · c4954046ad unit tests for grains.append module function
344517
344518             · 0c9a32326c use MagickMock
344519
344520             · c838a22377 unit tests for grains.append module function
344521
344522           · e96c5c5bf3      Merge      pull      request      #23474     from
344523             dr4Ke/fix_grains.append_nested
344524
344525             · a01a5bb51e  grains.get,  parameter  delimititer,  versionadded:
344526               2014.7.6
344527
344528             · b39f50475d remove debugging output
344529
344530             · b6e15e295c  fix  grains.append  in  nested  dictionnary  grains
344531               #23411
344532
344533           · ab7e1aed8e Merge pull request #23537 from t0rrant/patch-1
344534
344535             · 8e03cc99d3 Update changelog
344536
344537       · PR  #23669:  (rallytime)  Backport  #23586  to  2015.5  @  2015-05-13
344538         18:27:11 UTC
344539
344540         · PR              #23586:              (Lothiraldan)              Fix
344541           salt.state.file._unify_sources_and_hashes  when  sources  is   used
344542           without sources_hashes (refs: #23669)
344543
344544         · 0dad6be0fc Merge pull request #23669 from rallytime/bp-23586
344545
344546         · ef4c6adae3 Remove another unused import
344547
344548         · 73cfda751a Remove unused import
344549
344550         · 52b68d695a Use the zip_longest from six module for python 3 compat‐
344551           iblity
344552
344553         · 18d5ff9a8e   Fix   salt.state.file._unify_sources_and_hashes   when
344554           sources is used without sources_hashes
344555
344556       · PR  #23662:  (rallytime)  Merge  #23642  with pylint fix @ 2015-05-13
344557         15:46:51 UTC
344558
344559         · PR #23642: (cachedout) Let saltmod  handle  lower-level  exceptions
344560           gracefully (refs: #23662)
344561
344562         · fabef759e0 Merge pull request #23662 from rallytime/merge-23642
344563
344564         · aa7bbd84fa Remove unused import
344565
344566         · 9e66d4c88e Let saltmod handle lower-level exceptions gracefully
344567
344568       · PR #23622: (jfindlay) merge #23508 @ 2015-05-13 15:36:49 UTC
344569
344570         · PR  #23508:  (cro)  Port  mysql  returner  to  postgres using jsonb
344571           datatype (refs: #23622)
344572
344573         · 072b92733d Merge pull request #23622 from jfindlay/pgjsonb
344574
344575         · 454322c7e4 appease pylint's proscription on blank line excess
344576
344577         · 57c617136d Get time with timezone correct also in job return.
344578
344579         · e109d0f643 Get time with timezone correct.
344580
344581         · 21e06b9112 Fix SQL, remove unneeded imports.
344582
344583         · 653f360723 Stop making changes in 2 places.
344584
344585         · d6daaa0292 Typo.
344586
344587         · 7d748bff75 SSL is handled differently by Pg, so don't set it here.
344588
344589         · cc7c377bcd Fill alter_time field in salt_events with  current  time
344590           with timezone.
344591
344592         · 43defe9b20 Port mysql module to Postgres using jsonb datatypes
344593
344594       · PR  #23651:  (jayeshka)  adding  solr  unit  test  case  @ 2015-05-13
344595         15:26:15 UTC
344596
344597         · c1bdd4d377 Merge pull request #23651 from jayeshka/solr-unit-test
344598
344599         · 6e05148962 adding solr unit test case
344600
344601       · PR  #23649:  (jayeshka)  adding  states/libvirt  unit  test  case   @
344602         2015-05-13 15:24:48 UTC
344603
344604         · ee43411677   Merge   pull   request   #23649   from   jayeshka/lib‐
344605           virt_states-unit-test
344606
344607         · 0fb923a283 adding states/libvirt unit test case
344608
344609       · PR #23648:  (jayeshka)  adding  states/linux_acl  unit  test  case  @
344610         2015-05-13 15:24:11 UTC
344611
344612         · c7fc466f1e       Merge      pull      request      #23648      from
344613           jayeshka/linux_acl_states-unit-test
344614
344615         · 3f0ab29eb0 removed error.
344616
344617         · 11081c121c adding states/linux_acl unit test case
344618
344619       · PR #23650: (jayeshka) adding states/kmod unit test case @  2015-05-13
344620         15:09:18 UTC
344621
344622         · 4cba7ba35c       Merge      pull      request      #23650      from
344623           jayeshka/kmod_states-unit-test
344624
344625         · 1987015033 adding states/kmod unit test case
344626
344627       · PR #23633: (jayeshka) made changes to  test_interfaces  function.   @
344628         2015-05-13 06:51:07 UTC
344629
344630         · bc8faf1543   Merge   pull  request  #23633  from  jayeshka/win_net‐
344631           work-2015.5-unit-test
344632
344633         · 0936e1d386 made changes to test_interfaces function.
344634
344635       · PR #23619: (jfindlay) fix kmod.present processing of module loading @
344636         2015-05-13 01:16:56 UTC
344637
344638         · 7df3579bbc Merge pull request #23619 from jfindlay/fix_kmod_state
344639
344640         · 73facbfc1f fix kmod.present processing of module loading
344641
344642       · PR  #23598:  (rahulhan)  Adding states/win_dns_client.py unit tests @
344643         2015-05-12 21:47:36 UTC
344644
344645         · d4f30955fa    Merge    pull    request    #23598    from     rahul‐
344646           han/states_win_dns_client_unit_test
344647
344648         · d08d885828 Adding states/win_dns_client.py unit tests
344649
344650       · PR  #23597:  (rahulhan)  Adding  states/vbox_guest.py  unit  tests  @
344651         2015-05-12 21:46:30 UTC
344652
344653         · 811c6a1d89    Merge    pull    request    #23597    from     rahul‐
344654           han/states_vbox_guest_unit_test
344655
344656         · 6a2909eeea Removed errors
344657
344658         · 4cde78a58a Adding states/vbox_guest.py unit tests
344659
344660       · PR  #23615:  (rallytime)  Backport  #23577  to  2015.5  @  2015-05-12
344661         21:19:11 UTC
344662
344663         · PR #23577: (msciciel) Fix find and remove functions to  pass  data‐
344664           base param (refs: #23615)
344665
344666         · 029ff1103d Merge pull request #23615 from rallytime/bp-23577
344667
344668         · 6f74477129 Fix find and remove functions to pass database param
344669
344670       · PR   #23603:   (rahulhan)   Adding  states/winrepo.py  unit  tests  @
344671         2015-05-12 18:40:12 UTC
344672
344673         · b8589532d1 Merge  pull  request  #23603  from  rahulhan/states_win‐
344674           repo_unit_test
344675
344676         · a66e7e7f1f Adding states/winrepo.py unit tests
344677
344678       · PR   #23602:   (rahulhan)  Adding  states/win_path.py  unit  tests  @
344679         2015-05-12 18:39:37 UTC
344680
344681         · 3cbbd6d277    Merge    pull    request    #23602    from     rahul‐
344682           han/states_win_path_unit_test
344683
344684         · 122c29f71a Adding states/win_path.py unit tests
344685
344686       · PR  #23600:  (rahulhan)  Adding  states/win_network.py  unit  tests @
344687         2015-05-12 18:39:01 UTC
344688
344689         · 3c904e8739 Merge pull request #23600 from  rahulhan/states_win_net‐
344690           work_unit_test
344691
344692         · b418404eb7 removed lint error
344693
344694         · 1be802300b Adding states/win_network.py unit tests
344695
344696       · PR  #23599: (rahulhan) Adding win_firewall.py unit tests @ 2015-05-12
344697         18:37:49 UTC
344698
344699         · 10243a7742 Merge pull request #23599 from rahulhan/states_win_fire‐
344700           wall_unit_test
344701
344702         · 6cda890517 Adding win_firewall.py unit tests
344703
344704       · PR  #23601:  (basepi)  Add  versionadded  for  jboss  module/state  @
344705         2015-05-12 17:22:59 UTC
344706
344707         · e73071dbdf  Merge  pull  request  #23601   from   basepi/jboss.ver‐
344708           sion.added
344709
344710         · 0174c8fe58 Add versionadded for jboss module/state
344711
344712       · PR  #23469:  (s0undt3ch)  Call  the windows specific function not the
344713         general one @ 2015-05-12 16:47:22 UTC
344714
344715         · 9beb7bc529  Merge   pull   request   #23469   from   s0undt3ch/hot‐
344716           fix/call-the-win-func
344717
344718         · 83e88a3eb1 Call the windows specific function not the general one
344719
344720       · PR #23583: (jayeshka) adding states/ipset unit test case @ 2015-05-12
344721         16:31:55 UTC
344722
344723         · d2f097584c      Merge      pull      request      #23583       from
344724           jayeshka/ipset_states-unit-test
344725
344726         · 4330cf4a6e adding states/ipset unit test case
344727
344728       · PR  #23582:  (jayeshka)  adding  states/keyboard  unit  test  case  @
344729         2015-05-12 16:31:17 UTC
344730
344731         · 82a47e8cbf   Merge   pull   request   #23582   from   jayeshka/key‐
344732           board_states-unit-test
344733
344734         · fa94d7ab5c adding states/keyboard unit test case
344735
344736       · PR   #23581:   (jayeshka)  adding  states/layman  unit  test  case  @
344737         2015-05-12 16:30:36 UTC
344738
344739         · 77e5b28566   Merge   pull   request   #23581   from   jayeshka/lay‐
344740           man_states-unit-test
344741
344742         · 297b055b1c adding states/layman unit test case
344743
344744       · PR #23580: (jayeshka) adding smf unit test case @ 2015-05-12 16:29:58
344745         UTC
344746
344747         · cbe32828ef Merge pull request #23580 from jayeshka/smf-unit-test
344748
344749         · 4f9719157b adding smf unit test case
344750
344751       · ISSUE #21603: (ipmb) ssh_auth.present fails on  key  without  comment
344752         (refs: #23572)
344753
344754       · PR  #23572: (The-Loeki) Fix regression of #21355 introduced by #21603
344755         @ 2015-05-12 16:28:05 UTC
344756
344757         · PR #21355: (The-Loeki)  Fix  for  comments  containing  whitespaces
344758           (refs: #23572)
344759
344760         · 16a333832a Merge pull request #23572 from The-Loeki/ssh_auth_fix
344761
344762         · d8248dd368 Fix regression of #21355 introduced by #21603
344763
344764       · ISSUE  #23490: (lichtamberg)  salt.modules.aptpkg.upgrade should have
344765         default "dist_upgrade=False" (refs: #23565)
344766
344767       · PR #23565:  (garethgreenaway)  fix  to  aptpkg  module  @  2015-05-12
344768         16:25:46 UTC
344769
344770         · f843f89cd7    Merge   pull   request   #23565   from   garethgreen‐
344771           away/2015_2_aptpkg_upgrade_default_to_upgrade
344772
344773         · 97ae514641 aptpkg.upgrade should  default  to  upgrade  instead  of
344774           dist_upgrade.
344775
344776       · ISSUE    #23473:   (terminalmage)   unit.modules.rh_ip_test.RhipTest‐
344777         Case.test_build_bond is not properly mocked (refs: #23550)
344778
344779       · PR #23550: (jfindlay) additional mock for rh_ip_test  test_build_bond
344780         @ 2015-05-12 15:17:16 UTC
344781
344782         · c1157cdaee Merge pull request #23550 from jfindlay/fix_rh_ip_test
344783
344784         · e9b94d36d3 additional mock for rh_ip_test test_build_bond
344785
344786       · PR  #23552:  (garethgreenaway)  Fix for an issue caused by a previous
344787         pull request @ 2015-05-11 21:54:59 UTC
344788
344789         · b593328176   Merge   pull   request   #23552   from    garethgreen‐
344790           away/2015_5_returner_fix_broken_previous_pr
344791
344792         · 7d70e2b334  Passed  argumentes  in  the call _fetch_profile_opts to
344793           were in the wrong order
344794
344795       · PR #23547: (slinu3d) Added AWS v4  signature  support  for  2015.5  @
344796         2015-05-11 21:52:24 UTC
344797
344798         · d0f96825dd Merge pull request #23547 from slinu3d/2015.5
344799
344800         · f3bfdb561b Fixed urlparse and urlencode calls
344801
344802         · 802dbdb965 Added AWS v4 signature support for 2015.5
344803
344804       · PR  #23544:  (basepi)  [2015.5] Merge forward from 2014.7 to 2015.5 @
344805         2015-05-11 18:02:06 UTC
344806
344807         · 06c6a1f44a  Merge  pull  request  #23544   from   basepi/merge-for‐
344808           ward-2015.5
344809
344810         · f8a36bc155  Merge  remote-tracking  branch  'upstream/2014.7'  into
344811           merge-forward-2015.5
344812
344813           · b79fed3a92 Merge pull request #23538 from cro/licupdate
344814
344815             · 345efe25c9 Update date in LICENSE file
344816
344817           · a123a36f05     Merge      pull      request      #23505      from
344818             aneeshusa/remove-unused-ssh-config-validator
344819
344820             · 90af1672ca Remove unused ssh config validator. Fixes #23159.
344821
344822           · ca2c21a63c Merge pull request #23467 from slinu3d/2014.7
344823
344824             · 0b4081d8f4 Fixed pylint error at line 363
344825
344826             · 5be5eb5b14 Fixed pylink errors
344827
344828             · e64f374ffa Fixed lint errors
344829
344830             · b9d1ac4f1f Added AWS v4 signature support
344831
344832           · e6f9eec02e  Merge  pull request #23444 from techhat/novacreateat‐
344833             tach
344834
344835             · ebdb7eae2d Add create_attach_volume to nova driver
344836
344837           · e331463319 Merge pull request #23460 from  s0undt3ch/hotfix/boot‐
344838             strap-script-2014.7
344839
344840             · edcd0c41f2 Update to latest stable bootstrap script v2015.05.07
344841
344842           · 7a8ce1a954 Merge pull request #23439 from techhat/maxtries
344843
344844             · 0ad3ff2c88 Add wait_for_passwd_maxtries variable
344845
344846       · ISSUE  #23426: (twangboy) Can't restart salt-minion on 64 bit windows
344847         (2015.5.0) (refs: #23470)
344848
344849       · PR  #23470:  (twangboy)  Fixed  service.restart  for  salt-minion   @
344850         2015-05-11 17:54:47 UTC
344851
344852         · aa5b896d3e Merge pull request #23470 from twangboy/fix_svc_restart
344853
344854         · b3f284c517 Fixed tests
344855
344856         · ad44d79f26 Fixed service.restart for salt-minion
344857
344858       · PR  #23539:  (rahulhan)  Adding states/virtualenv_mod.py unit tests @
344859         2015-05-11 17:02:31 UTC
344860
344861         · 67988b21ee Merge  pull  request  #23539  from  rahulhan/states_vir‐
344862           tualenv_mod_unit_test
344863
344864         · 750bb07d1c Adding states/virtualenv_mod.py unit tests
344865
344866         · c96619653e    Merge    pull    request    #23423    from    cached‐
344867           out/remove_jid_event_from_orch
344868
344869           · f81aab7627 Remove jid_event from state.orch
344870
344871         · 2bb09b7ee7 Merge pull request #23509 from keesbos/Catch_empty_envi‐
344872           ronment
344873
344874           · 6dedeaccd2 Catch the unset (empty/None) environment case
344875
344876         · 6d42f30271 Merge pull request #23245 from freimer/issue_23244
344877
344878           · 24cf6ebad5 Add Caller functionality to reactors.
344879
344880       · PR #23513: (gladiatr72) short-circuit auto-failure of iptables.delete
344881         state @ 2015-05-11 15:18:33 UTC
344882
344883         · c3f03d827d Merge pull request #23513 from gladiatr72/RFC_stop_ipta‐
344884           bles.check_from_short-circuiting_position-only_delete_rule
344885
344886         · c71714c364  short-circuit  auto-failure of iptables.delete state if
344887           position argument is  set  without  the  other  accoutrements  that
344888           check_rule requires.
344889
344890       · PR  #23534:  (jayeshka)  adding  states/ini_manage  unit  test case @
344891         2015-05-11 14:32:06 UTC
344892
344893         · 4e77f6f8c4  Merge  pull  request  #23534   from   jayeshka/ini_man‐
344894           age_states-unit-test
344895
344896         · 831223c31c adding states/ini_manage unit test case
344897
344898       · PR   #23533:  (jayeshka)  adding  states/hipchat  unit  test  case  @
344899         2015-05-11 14:30:22 UTC
344900
344901         · 11ba9ed99b      Merge      pull      request      #23533       from
344902           jayeshka/hipchat-states-unit-test
344903
344904         · 41d14b322d adding states/hipchat unit test case
344905
344906       · PR  #23532: (jayeshka) adding states/ipmi unit test case @ 2015-05-11
344907         14:28:15 UTC
344908
344909         · e5421139d3      Merge      pull      request      #23532       from
344910           jayeshka/ipmi-states-unit-test
344911
344912         · fc3e64a8a4 adding states/ipmi unit test case
344913
344914       · PR  #23531:  (jayeshka)  adding  service  unit test case @ 2015-05-11
344915         14:27:12 UTC
344916
344917         · 9ba85fd31a   Merge   pull   request   #23531   from   jayeshka/ser‐
344918           vice-unit-test
344919
344920         · 3ad5314ee0 adding service unit test case
344921
344922       · ISSUE  #23512: (mostafahussein) hipchat_returner / slack_returner not
344923         work correctly (refs: #23517)
344924
344925       · PR #23517: (garethgreenaway) fix to returners @  2015-05-11  14:20:51
344926         UTC
344927
344928         · 32838cd888    Merge   pull   request   #23517   from   garethgreen‐
344929           away/23512_2015_5_returners_with_profiles
344930
344931         · 81e31e27cf fix for returners that utilize profile attributes.  code
344932           in the if else statement was backwards. #23512
344933
344934       · PR #23502: (rahulhan) Adding states/win_servermanager.py unit tests @
344935         2015-05-08 19:47:18 UTC
344936
344937         · 6be7d8d13b    Merge    pull    request    #23502    from     rahul‐
344938           han/states_win_servermanager_unit_test
344939
344940         · 2490074aa2 Adding states/win_servermanager.py unit tests
344941
344942       · PR  #23495:  (jayeshka)  adding  seed  unit  test  case  @ 2015-05-08
344943         17:30:38 UTC
344944
344945         · 604857811e Merge pull request #23495 from jayeshka/seed-unit-test
344946
344947         · 3f134bc573 adding seed unit test case
344948
344949       · PR #23494: (jayeshka) adding sensors  unit  test  case  @  2015-05-08
344950         17:30:18 UTC
344951
344952         · 70bc3c1415   Merge   pull   request   #23494   from   jayeshka/sen‐
344953           sors-unit-test
344954
344955         · 1fb48a31a8 adding sensors unit test case
344956
344957       · PR  #23493:  (jayeshka)  adding  states/incron  unit  test   case   @
344958         2015-05-08 17:29:59 UTC
344959
344960         · b981b20d44       Merge      pull      request      #23493      from
344961           jayeshka/incron-states-unit-test
344962
344963         · cc7bc170f3 adding states/incron unit test case
344964
344965       · PR #23492: (jayeshka) adding states/influxdb_database unit test  case
344966         @ 2015-05-08 17:29:51 UTC
344967
344968         · 4019c493a1  Merge  pull request #23492 from jayeshka/influxdb_data‐
344969           base-states-unit-test
344970
344971         · e1fcac815d adding states/influxdb_database unit test case
344972
344973       · PR #23491: (jayeshka) adding states/influxdb_user unit  test  case  @
344974         2015-05-08 16:24:07 UTC
344975
344976         · d317a77afb       Merge      pull      request      #23491      from
344977           jayeshka/influxdb_user-states-unit-test
344978
344979         · 9d4043f9ff adding states/influxdb_user unit test case
344980
344981       · PR #23477: (galet) LDAP auth: Escape filter value for  group  member‐
344982         ship search @ 2015-05-07 22:04:48 UTC
344983
344984         · e0b2a73eb4  Merge pull request #23477 from galet/ldap-filter-escap‐
344985           ing
344986
344987         · 33038b9f86 LDAP auth: Escape  filter  value  for  group  membership
344988           search
344989
344990       · PR #23476: (cachedout) Lint becaon @ 2015-05-07 19:55:36 UTC
344991
344992         · PR #23431: (UtahDave) Beacon fixes (refs: #23476)
344993
344994         · e1719fe26b Merge pull request #23476 from cachedout/lint_23431
344995
344996         · 8d1ff209eb Lint becaon
344997
344998       · PR  #23431:  (UtahDave)  Beacon  fixes  (refs:  #23476)  @ 2015-05-07
344999         19:53:47 UTC
345000
345001         · 1e299ede4f Merge pull request #23431 from UtahDave/beacon_fixes
345002
345003         · 152f2235c2 remove unused import
345004
345005         · 81198f9399 fix interval logic and example
345006
345007         · 5504778adf update to proper examples
345008
345009         · 6890439d58 fix list for mask
345010
345011         · ee7b579e90 remove custom interval code.
345012
345013       · PR  #23468:  (rahulhan)  Adding  states/win_system.py  unit  tests  @
345014         2015-05-07 19:20:50 UTC
345015
345016         · ea55c44bbb  Merge pull request #23468 from rahulhan/states_win_sys‐
345017           tem_unit_test
345018
345019         · 33f8c12e9f Adding states/win_system.py unit tests
345020
345021       · PR #23466: (UtahDave) minor spelling fix @ 2015-05-07 19:19:06 UTC
345022
345023         · e6e11147af Merge pull request #23466 from UtahDave/2015.5local
345024
345025         · b2c399a137 minor spelling fix
345026
345027       · ISSUE #529: (rubic) run salt in user space (refs: #543)
345028
345029         · PR saltstack/salt-bootstrap#563: (notpeter) Ubuntu  alternate  ppas
345030           (refs: #23461, #23460)
345031
345032         · PR  #543:  (rubic) updated documentation for user, fixed configura‐
345033           tion template links (refs: #`saltstack/salt-bootstrap#563`_)
345034
345035       · PR #23461: (s0undt3ch) [2015.5] Update  to  latest  stable  bootstrap
345036         script v2015.05.07 @ 2015-05-07 19:16:18 UTC
345037
345038         · 4eeb1e627a  Merge  pull  request #23461 from s0undt3ch/hotfix/boot‐
345039           strap-script
345040
345041         · 638c63d635 Update to latest stable bootstrap script v2015.05.07
345042
345043       · PR #23450:  (jayeshka)  adding  scsi  unit  test  case  @  2015-05-07
345044         19:00:28 UTC
345045
345046         · 865127844a Merge pull request #23450 from jayeshka/scsi-unit-test
345047
345048         · e7269ff29b adding scsi unit test case
345049
345050       · PR  #23449: (jayeshka) adding s3 unit test case @ 2015-05-07 18:59:45
345051         UTC
345052
345053         · 8b374ae64d Merge pull request #23449 from jayeshka/s3-unit-test
345054
345055         · 85786bfe7f adding s3 unit test case
345056
345057       · PR  #23448:  (jayeshka)  adding  states/keystone  unit  test  case  @
345058         2015-05-07 18:58:59 UTC
345059
345060         · 49b431c8e4   Merge   pull   request   #23448   from   jayeshka/key‐
345061           stone-states-unit-test
345062
345063         · a3050eb3e2 adding states/keystone unit test case
345064
345065       · PR  #23447:  (jayeshka)  adding  states/grafana  unit  test  case   @
345066         2015-05-07 18:58:20 UTC
345067
345068         · 23d7e7ef92       Merge      pull      request      #23447      from
345069           jayeshka/grafana-states-unit-test
345070
345071         · 7e90a4aaca adding states/grafana unit test case
345072
345073       · PR #23438: (techhat) Gate requests import @ 2015-05-07 07:22:58 UTC
345074
345075         · 1fd0bc2011 Merge pull request #23438 from techhat/gaterequests
345076
345077         · d5b15fc6ce Gate requests import
345078
345079       · PR #23429: (basepi) [2015.5] Merge forward from 2014.7  to  2015.5  @
345080         2015-05-07 05:35:13 UTC
345081
345082         · 3c4f734332   Merge   pull  request  #23429  from  basepi/merge-for‐
345083           ward-2015.5
345084
345085         · 7729834d92  Merge  remote-tracking  branch  'upstream/2014.7'  into
345086           merge-forward-2015.5
345087
345088         · 644eb75fec Merge pull request #23422 from cro/gce_sh_home
345089
345090           · 4ef9e6ba06  Don't use $HOME to find user's directory, some shells
345091             don't set it
345092
345093         · ef17ab4b2a Merge  pull  request  #23425  from  basepi/functionwrap‐
345094           per_typo
345095
345096           · c390737f3e Fix typo in FunctionWrapper
345097
345098         · 1b13ec04c2 Merge pull request #23385 from rallytime/bp-23346
345099
345100           · 9efc13c810 more linting fixes
345101
345102           · cf131c9a5a cleaned up some pylint errors
345103
345104           · f981699c75  added logic to sftp_file and file_map to allow folder
345105             uploads using file_map
345106
345107         · f8c7a62089 Merge pull request #23414 from jfindlay/update_branch
345108
345109           · 8074d16d52 2015.2 -> 2015.5
345110
345111         · 54b3bd43e4  Merge  pull  request  #23404   from   hvnsweeting/cher‐
345112           rypy-post-emptybody-fix
345113
345114           · f85f8f954c initialize var when POST body is empty
345115
345116         · 160f703296    Merge    pull    request    #23409   from   terminal‐
345117           mage/update-lithium-docstrings-2014.7
345118
345119           · bc97d011ba Fix sphinx typo
345120
345121           · 20006b06f6 Update Lithium docstrings in 2014.7 branch
345122
345123         · aa5fb0aa46 Merge pull request #23397 from jfindlay/fix_locale_gen
345124
345125           · 0941fefd2b add more flexible whitespace to locale_gen search
345126
345127       · PR #23396: (basepi) [2015.2] Merge forward from 2014.7  to  2015.2  @
345128         2015-05-06 21:42:35 UTC
345129
345130         · 1fb84450f4   Merge   pull  request  #23396  from  basepi/merge-for‐
345131           ward-2015.2
345132
345133         · 2766c8cb4b Fix typo in FunctionWrapper
345134
345135         · fd09cdae6f  Merge  remote-tracking  branch  'upstream/2014.7'  into
345136           merge-forward-2015.2
345137
345138           · 0c76dd4d8a Merge pull request #23368 from kaithar/bp-23367
345139
345140             · 577f41972e Pylint fix
345141
345142             · 8d9acd1f89 Put the sed insert statement back in to the output.
345143
345144           · 3493cc1fca    Merge    pull   request   #23350   from   lorengor‐
345145             don/file.replace_assume_line
345146
345147             · b60e224beb Append/prepend: search for full line
345148
345149           · 7be5c48ad5 Merge pull request #23341 from cachedout/issue_23026
345150
345151             · e98e65e787 Fix tests
345152
345153             · 6011b437ca Fix syndic pid and logfile path
345154
345155           · ea61abfa68 Merge pull request  #23272  from  basepi/salt-ssh.min‐
345156             ion.config.19114
345157
345158             · c223309bb7 Add versionadded
345159
345160             · be7407feae Lint
345161
345162             · c2c337567e Missing comma
345163
345164             · 8e3e8e073a Pass the minion_opts through the FunctionWrapper
345165
345166             · cb69cd07de  Match the master config template in the master con‐
345167               fig reference
345168
345169             · 87fc3161f9 Add Salt-SSH section to master config template
345170
345171             · 91dd9dcbdc Add ssh_minion_opts to master config ref
345172
345173             · c273ea14c6 Add minion config to salt-ssh doc
345174
345175             · a0b6b760c3 Add minion_opts to roster docs
345176
345177             · 5212c35260 Accept minion_opts from the target information
345178
345179             · e2099b6e1b Process ssh_minion_opts from master config
345180
345181             · 3b64214377 Revert "Work around bug in  salt-ssh  in  config.get
345182               for gpg renderer"
345183
345184             · 494953a208 Remove the strip (embracing multi-line YAML dump)
345185
345186             · fe87f0fe39 Dump multi-line yaml into the SHIM
345187
345188             · b751a7281c Inject local minion config into shim if available
345189
345190           · 4f760dd9cb  Merge  pull request #23347 from basepi/salt-ssh.func‐
345191             tionwrapper.contains.19114
345192
345193             · 30595e3ff7 Backport FunctionWrapper.__contains__
345194
345195           · 02658b1e60 Merge pull request #23344 from cachedout/issue_22742
345196
345197             · 5adc96ce7f Explicitely set file_client on master
345198
345199           · ba7605d1cb     Merge      pull      request      #23318      from
345200             cellscape/honor-seed-argument
345201
345202             · 228b1be299 Honor seed argument in LXC container initializaton
345203
345204           · 4ac4509c57 Merge pull request #23307 from jfindlay/fix_locale_gen
345205
345206             · 101199ac14 check for /etc/locale.gen
345207
345208           · f790f42ed6  Merge pull request #23324 from s0undt3ch/hotfix/boot‐
345209             strap-script-2014.7
345210
345211           · 6643e47ce5 Update to the latest stable release of  the  bootstrap
345212             script v2015.05.04
345213
345214       · PR  #23412:  (rahulhan)  Adding  states/win_update.py  unit  tests  @
345215         2015-05-06 18:31:09 UTC
345216
345217         · b3c16720f6    Merge    pull    request    #23412    from     rahul‐
345218           han/states_win_update_unit_test
345219
345220         · 9bc1519ee7 Removed unwanted imports
345221
345222         · f12bfcf248 Adding states/win_update.py unit tests
345223
345224       · PR  #23413:  (terminalmage)  Update  manpages  for 2015.2 -> 2015.5 @
345225         2015-05-06 17:12:57 UTC
345226
345227         · f2d7646a58 Merge pull request #23413 from  terminalmage/update-man‐
345228           pages
345229
345230         · 23fa4402dc Update manpages to reflect 2015.2 rename to 2015.5
345231
345232         · 0fdaa73c84 Fix missed docstring updates from 2015.2 -> 2015.5
345233
345234         · 4fea5ba477 Add missing RST file
345235
345236       · PR  #23410: (terminalmage) Update Lithium docstrings in 2015.2 branch
345237         @ 2015-05-06 15:53:52 UTC
345238
345239         · PR #23409:  (terminalmage)  Update  Lithium  docstrings  in  2014.7
345240           branch (refs: #23410)
345241
345242         · bafbea7bc7    Merge    pull    request    #23410   from   terminal‐
345243           mage/update-lithium-docstrings-2015.2
345244
345245         · d395565bf7 Update Lithium docstrings in 2015.2 branch
345246
345247       · PR #23407: (jayeshka)  adding  rsync  unit  test  case  @  2015-05-06
345248         15:52:23 UTC
345249
345250         · 02ef41a549 Merge pull request #23407 from jayeshka/rsync-unit-test
345251
345252         · a4dd836125 adding rsync unit test case
345253
345254       · PR  #23406:  (jayeshka) adding states/lxc unit test case @ 2015-05-06
345255         15:51:50 UTC
345256
345257         · 58ec2a24c1      Merge      pull      request      #23406       from
345258           jayeshka/lxc-states-unit-test
345259
345260         · 32a0d03093 adding states/lxc unit test case
345261
345262       · PR #23395: (basepi) [2015.2] Add note to 2015.2.0 release notes about
345263         master opts in pillar @ 2015-05-05 22:15:20 UTC
345264
345265         · 8837d0038e Merge pull request #23395 from basepi/2015.2.0masteropts
345266
345267         · b261c95cd6 Add note to 2015.2.0 release notes about master opts  in
345268           pillar
345269
345270       · PR  #23393:  (basepi) [2015.2] Add warning about python_shell changes
345271         to 2015.2.0 release notes @ 2015-05-05 22:12:46 UTC
345272
345273         · f79aed5fe1      Merge      pull      request      #23393       from
345274           basepi/2015.2.0python_shell
345275
345276         · b2f033f485 Add CLI note
345277
345278         · 48e7b3ee4f  Add  warning  about  python_shell  changes  to 2015.2.0
345279           release notes
345280
345281       · PR #23380: (gladiatr72) Fix  for  double  output  with  static   salt
345282         cli/v2015.2 @ 2015-05-05 21:44:28 UTC
345283
345284         · a9777761d8  Merge  pull request #23380 from gladiatr72/fix_for_dou‐
345285           ble_output_with_static__salt_CLI/v2015.2
345286
345287         · c47fdd79c7 Actually removed the static bits from  below  the  else:
345288           fold this time.
345289
345290         · 4ee367956c Fix for incorrect output with salt CLI --static option
345291
345292       · PR  #23379: (rahulhan) Adding states/rabbitmq_cluster.py @ 2015-05-05
345293         21:44:06 UTC
345294
345295         · 5c9543c1d2 Merge  pull  request  #23379  from  rahulhan/states_rab‐
345296           bitmq_cluster_test
345297
345298         · 04c22d1acf Adding states/rabbitmq_cluster.py
345299
345300       · PR  #23377:  (rahulhan) Adding states/xmpp.py unit tests @ 2015-05-05
345301         21:43:35 UTC
345302
345303         · 430f080a3a Merge pull request #23377 from rahulhan/states_xmpp_test
345304
345305         · 32923b53c3 Adding states/xmpp.py unit tests
345306
345307       · PR #23335: (steverweber) 2015.2: include doc  in  master  config  for
345308         module_dirs @ 2015-05-05 21:28:58 UTC
345309
345310         · 8c057e6794 Merge pull request #23335 from steverweber/2015.2
345311
345312         · 5e3bae95d8 help installing python pysphere lib
345313
345314         · 97513b060a include module_dirs
345315
345316         · 36b1c87dd2 include module_dirs
345317
345318       · PR  #23362:  (jayeshka) adding states/zk_concurrency unit test case @
345319         2015-05-05 15:50:06 UTC
345320
345321         · 1648253675  Merge  pull  request  #23362  from  jayeshka/zk_concur‐
345322           rency-states-unit-test
345323
345324         · f60dda4b1d adding states/zk_concurrency unit test case
345325
345326       · PR  #23363:  (jayeshka)  adding  riak  unit  test  case  @ 2015-05-05
345327         14:23:05 UTC
345328
345329         · 1cdaeed868 Merge pull request #23363 from jayeshka/riak-unit-test
345330
345331         · f9da6db459 adding riak unit test case
345332
345333   Salt 2015.5.10 Release Notes
345334       release
345335              2015-03-22
345336
345337       Version 2015.5.10 is a bugfix release for 2015.5.0.
345338
345339   Security Fix
345340       CVE-2016-3176 Insecure configuration  of  PAM  external  authentication
345341       service
345342
345343       This  issue  affects all Salt versions prior to 2015.8.8/2015.5.10 when
345344       PAM external authentication is enabled. This issue involves passing  an
345345       alternative  PAM  authentication service with a command that is sent to
345346       LocalClient, enabling the attacker to bypass the configured authentica‐
345347       tion service. Thank you to Dylan Frese <dmfrese@gmail.com> for bringing
345348       this issue to our attention.
345349
345350       This update defines the  PAM  eAuth  service  that  users  authenticate
345351       against in the Salt Master configuration.
345352
345353       No additional fixes are included in this release.
345354
345355   Read  Before  Upgrading  Debian  8 (Jessie) from Salt Versions Earlier than
345356       2015.5.9
345357       Salt systemd service files are missing the following statement in these
345358       versions:
345359
345360          [Service]
345361          KillMode=process
345362
345363       This  statement  must be added to successfully upgrade on these earlier
345364       versions of Salt.
345365
345366   Changelog for v2015.5.9..v2015.5.10
345367       Generated at: 2018-05-27 22:39:26 UTC
345368
345369       · 69ba1de71d Remove ability of authenticating user to specify pam  ser‐
345370         vice
345371
345372   Salt 2015.5.11 Release Notes
345373       release
345374              2015-07-22
345375
345376       Version 2015.5.11 is a bugfix release for 2015.5.0.
345377
345378   Statistics
345379       · Total Merges: 101
345380
345381       · Total Issue References: 73
345382
345383       · Total PR References: 162
345384
345385       · Contributors:  46 (AndrewPashkin, Ch3LL, DmitryKuzmenko, TheNullByte,
345386         UtahDave, abednarik, amontalban, anlutro, attiasr, basepi, borgstrom,
345387         brejoc,  bstevenson,  cachedout,  carlwgeorge,  efficks,  gerhardqux,
345388         gtmanfred,  heyfife,  jacobhammons,  jfindlay,   justinta,   lomeroe,
345389         lorengordon,  mtorromeo,  nmadhok,  notpeter,  paclat, pcn, phistrom,
345390         rallytime, robgott, sacren, sastorsl, serge-p, sjmh, sjorge, techhat,
345391         terminalmage,  thatch45,  thegoodduke,  toanju,  tomwalsh,  twangboy,
345392         whiteinge, yannis666)
345393
345394   Changelog for v2015.5.10..v2015.5.11
345395       Generated at: 2018-05-27 22:41:56 UTC
345396
345397       · PR #33412: (jfindlay) update 2015.5.11 release notes
345398
345399       · PR #33405: (rallytime) Back-port #33386 to 2015.5
345400
345401       · PR #33386: (terminalmage) Fix traceback in logging for config valida‐
345402         tion (refs: #33405)
345403
345404       · ISSUE #33376: (tmehlinger) pip state broken in 2015.8.9 with pip <6.0
345405         (refs: #33383)
345406
345407       · PR #33383: (thatch45) maintain the fallabck because I am totally sick
345408         of this crap @ 2016-05-20 00:03:59 UTC
345409
345410         · d15f5e2cef Merge pull request #33383 from thatch45/2015.5
345411
345412         · f5ebcba21c restore whitespace
345413
345414         · 1d8b289db1 blast, put the try/except int he right place
345415
345416         · 081e6c5b83  maintain the fallabck because I am totally sick of this
345417           crap
345418
345419         · PR #33379: (cachedout) Improve doc clarity for disable_modules doc‐
345420           umentation
345421
345422       · ISSUE  #26574:  (jfindlay)  minion stacktrace on top file yaml syntax
345423         error (refs: #33375)
345424
345425         · PR #33375: (cachedout) Better YAML syntax error handling
345426
345427       · PR #33372: (jacobhammons) revved  2015.8  branch  to  .9  in  version
345428         selector @ 2016-05-19 20:05:35 UTC
345429
345430         · bb3e98cad2    Merge    pull    request    #33372   from   jacobham‐
345431           mons/release-update
345432
345433         · 5ce502160b revved 2015.8 branch to .9 in version selector
345434
345435         · PR #33341: (phistrom) Expanded documentation for boto_elb state and
345436           module
345437
345438       · ISSUE  #32400:  (rallytime)  Document  Default  Config  Values (refs:
345439         #33286, #33292, #32538, #33287, #32454, #33282)
345440
345441         · PR #33292: (rallytime) Added some more docs for master  and  minion
345442           config settings
345443
345444       · ISSUE #23643: (falzm) Error in iptables module: argument --match-set:
345445         expected 2 argument(s) (refs: #33301)
345446
345447         · PR #33301: (gerhardqux) Fix iptables --match-set (#23643)
345448
345449         · PR #33290: (UtahDave) fix "loose" typo
345450
345451       · ISSUE #32400:  (rallytime)  Document  Default  Config  Values  (refs:
345452         #33286, #33292, #32538, #33287, #32454, #33282)
345453
345454         · PR  #33287:  (rallytime) Add auth_tries config option to minion.rst
345455           docs
345456
345457         · PR #33286: (rallytime) Document new master and minion  config  opts
345458           for 2016.3.0 (refs: #33287)
345459
345460       · ISSUE  #33276:  (sjmh)  minion_id_caching has no documentation (refs:
345461         #33282)
345462
345463       · ISSUE #32400:  (rallytime)  Document  Default  Config  Values  (refs:
345464         #33286, #33292, #32538, #33287, #32454, #33282)
345465
345466         · PR #33282: (rallytime) Document minion_id_caching config value
345467
345468       · ISSUE  #33118: (saltuser) file.replace not working correctly on newer
345469         minions (refs: #33137)
345470
345471         · PR #33137: (lorengordon) Clarify file.replace MULTILINE flag inter‐
345472           action with regex anchors
345473
345474         · PR #33236: (jfindlay) update 2015.5.11 release notes
345475
345476       · ISSUE  #32250:  (ikryten) Cannot run salt-minion as unprivileged user
345477         using 'user' directive (refs: #33211)
345478
345479       · PR #33211: (cachedout) Don't try to kill a parent proc if we can't  @
345480         2016-05-12 21:29:50 UTC
345481
345482         · 698f1eb657 Merge pull request #33211 from cachedout/user_kill
345483
345484         · d4f2e5baa7 Don't try to kill a parent proc if we can't
345485
345486       · ISSUE  #32198:  (goatjam)  State 'pkg.installed' was not found in SLS
345487         (refs: #33205)
345488
345489         · PR #33205: (cachedout) Resolve issue with pkg module on Mint Linux
345490
345491         · PR #33178: (justinta) Add pip installed and removed test
345492
345493         · PR #33197: (jfindlay) update 2015.5.11 release notes
345494
345495         · PR #33181: (twangboy) Fix file.managed for Windows
345496
345497         · PR #33185: (rallytime) [2015.5] Update to latest  bootstrap  script
345498           v2016.05.11
345499
345500       · ISSUE  #33163:  (jaybocc2) Salt 2015.8.5 incompatible with Pip v8.1.2
345501         (refs: #33180)
345502
345503         · PR #33180: (thatch45) Pip fix
345504
345505         · PR #33160: (jfindlay) add 2015.5.11 release notes
345506
345507         · PR #33155: (rallytime) [2015.5] Update to latest  bootstrap  script
345508           v2016.05.10
345509
345510       · PR  #33141:  (justinta)  Skipping salt-call --local test @ 2016-05-10
345511         17:05:17 UTC
345512
345513         · 6cd1641840   Merge   pull   request    #33141    from    jtand/dis‐
345514           able_local_pkg_install_test
345515
345516         · 8b1e34fb17 Skipping salt-call --local test
345517
345518       · ISSUE #33085: (fmnisme) salt doc err (refs: #33132)
345519
345520         · PR #33132: (whiteinge) Doc mock decorators
345521
345522       · ISSUE  #33074:  (robnagler)  Critical error in msgpack exposes pillar
345523         data (refs: #33078)
345524
345525         · PR #33078: (cachedout) Lower display  of  msgpack  failure  msg  to
345526           debug
345527
345528         · PR #33080: (justinta) Use saltstack repo in buildpackage.py on Cen‐
345529           tOS 5
345530
345531         · PR #33025: (Ch3LL) add test  for  installing  package  while  using
345532           salt-call --local
345533
345534         · PR  #33055:  (justinta)  File  and  User  test  fixes for 2015.5 on
345535           Fedora23
345536
345537         · PR #33060: (Ch3LL) Test pillar.items output
345538
345539         · PR #33067: (sacren) Fix minor document error of test.assertion
345540
345541         · PR #33045: (Ch3LL) Saltfile with pillar tests
345542
345543         · PR #33044: (thatch45) Backport #33021 manually to 2015.5
345544
345545         · PR #33021: (UtahDave) Fix syndic regression (refs: #33044)
345546
345547       · ISSUE #22580: (ryanwalder) minion runs highstate on start if schedule
345548         set in pillar  (refs: #32958)
345549
345550         · PR #32958: (rallytime) Add run_on_start docs to schedule.rst
345551
345552       · ISSUE #23714: (naemono) file.copy force ignored during highstate, but
345553         not with 'salt-call state.sls_id' (refs: #32732, #32848)
345554
345555         · PR #32848: (lomeroe) backport PR #32732 to 2015.5 fixes #23714
345556
345557         · PR #32732: (lomeroe) correct use of force flag in file.copy  #23714
345558           (refs: #32848)
345559
345560         · PR  #32837:  (jfindlay) salt-cloud -u downloads stable version from
345561           bootstrap.saltstack.com by default
345562
345563         · PR #32667:  (jfindlay)  [2015.5]  update  bootstrap  to  2016.04.18
345564           release
345565
345566       · PR #32776: (rallytime) [2015.5] Merge forward from 2014.7 to 2015.5 @
345567         2016-04-25 15:18:12 UTC
345568
345569         · c842e1e437 Merge pull request #32776 from rallytime/merge-2015.5
345570
345571         · 7ecbf9f885 Merge pull request #14 from whiteinge/runner-async-low
345572
345573           · 211f7b4af1 Format low data correct for runner_async
345574
345575         · ce72851861 Merge branch '2014.7' into '2015.5'
345576
345577         · 2775edc176 Saltnado /run fix (#32590)
345578
345579         · b19c5a5ce7 Verify auth in saltnado run (#32552)
345580
345581         · PR #32691: (terminalmage) Support remote sources in a source list
345582
345583       · ISSUE #32661: (dergrunepunkt) Batch exception w/dulpicated minion IDs
345584         (refs: #32686)
345585
345586       · PR  #32686: (cachedout) Fix stacktrace in batch with dup minion ids @
345587         2016-04-19 19:18:50 UTC
345588
345589         · bd5442d768 Merge pull request #32686 from cachedout/issue_32661
345590
345591         · f704df90bc Fix stacktrace in batch with dup minion ids
345592
345593         · PR #32675: (basepi) [2015.5] Update "Low Hanging  Fruit"  to  "Help
345594           Wanted"
345595
345596       · ISSUE  #32612:  (oliver-dungey) Calling Salt Modules from Templates -
345597         more complex examples would be great (refs: #32657)
345598
345599         · PR #32657: (cachedout) Additional  documentation  on  calling  exec
345600           modules from templates
345601
345602         · PR  #32639: (nmadhok) [2015.5] - Fixing critical bug to remove only
345603           the specified Host instead of the entire Host cluster
345604
345605         · PR #32638: (nmadhok) [2015.5] Adding _syspaths.py to .gitignore
345606
345607       · ISSUE #32381: (tbaker57) user.present state includes shadow  hash  in
345608         return when user updated  (refs: #32561)
345609
345610       · PR  #32561: (gtmanfred) redact passwords and hashes from user.present
345611         updates @ 2016-04-14 15:48:59 UTC
345612
345613         · 027b502335 Merge pull request #32561 from gtmanfred/user_passwords
345614
345615         · 3db5e78d5d redact passwords and hashes from user.present updates
345616
345617       · ISSUE #32400:  (rallytime)  Document  Default  Config  Values  (refs:
345618         #33286, #33292, #32538, #33287, #32454, #33282)
345619
345620       · PR  #32538:  (rallytime)  Back-port  #32528  to  2015.5  @ 2016-04-13
345621         15:06:14 UTC
345622
345623         · PR #32528: (AndrewPashkin) Document "grains" setting in the  minion
345624           configuration reference (refs: #32538)
345625
345626         · 7307bcb88e Merge pull request #32538 from rallytime/bp-32528
345627
345628         · 46a4e8a310 Remove merge conflict line
345629
345630         · e0d947c707  Document  "grains"  setting in the minion configuration
345631           reference
345632
345633       · ISSUE #32400:  (rallytime)  Document  Default  Config  Values  (refs:
345634         #33286, #33292, #32538, #33287, #32454, #33282)
345635
345636         · PR  #32454:  (rallytime)  Add  documentation for some master/minion
345637           configs
345638
345639       · ISSUE #32413: (commutecat) Raspbian detected by both  systemd.py  and
345640         service.py __virtual__ functions (refs: #32421, #32458)
345641
345642       · PR  #32458: (terminalmage) Improve and clarify docs on provider over‐
345643         rides.  @ 2016-04-09 14:25:42 UTC
345644
345645         · 100c6e1b25  Merge  pull  request  #32458  from   terminalmage/clar‐
345646           ify-providers-docs
345647
345648         · 500d3ebbaa  Add  link  to  provider  override  docs  to  all  group
345649           providers
345650
345651         · 83ca01f620  dd  link  to  provider  override  docs  to  all  shadow
345652           providers
345653
345654         · c5fe38789d Add link to provider override docs to all user providers
345655
345656         · 5c1c1dda59  Add  link  to  provider  override  docs  to all service
345657           providers
345658
345659         · 736f2befc9 Add link  to  provider  override  docs  to  all  package
345660           providers
345661
345662         · f9306347cc Clarify the scope of the provider param in states.
345663
345664         · af24c82ab0  Add  documentation on virtual module provider overrides
345665           to the module docs
345666
345667         · 0bc6c97a63 Improve docstrings
345668
345669         · 1948920674 Add external ref to windows package manager docs
345670
345671         · e7fa21438c Add new doc pages to toctree
345672
345673         · f0de1236ec Move the tables of virtual modules to  individual  docu‐
345674           mentation pages
345675
345676       · ISSUE #11497: (eeaston) cmd.run cwd should not be checked before pre‐
345677         conditions (refs: #32293)
345678
345679         · PR #32418: (rallytime) Merge #32293 with test fixes
345680
345681         · PR #32293: (efficks) Fix issue #11497 (refs: #32418)
345682
345683       · ISSUE #32413: (commutecat) Raspbian detected by both  systemd.py  and
345684         service.py __virtual__ functions (refs: #32421, #32458)
345685
345686         · PR #32421: (terminalmage) Ignore Raspbian in service.py __virtual__
345687
345688       · ISSUE  #1409:  (twinshadow) module/network.py: Interfaces do not list
345689         multiple addesses
345690
345691       · ISSUE saltstack/salt#28262: (palica) FreeBSD pkgng  provider  raising
345692         error for minion (refs: #32376)
345693
345694       · ISSUE  #28262: (palica) FreeBSD pkgng provider raising error for min‐
345695         ion (refs: #32399, #32376)
345696
345697       · PR  #32399:  (amontalban)  Backport  to  fix  #28262  for  2015.5  as
345698         requested in PR #32376 @ 2016-04-06 22:48:23 UTC
345699
345700         · PR #32376: (amontalban) Fixes saltstack/salt#28262 (refs: #32399)
345701
345702         · a36866d7db Merge pull request #32399 from amontalban/2015.5
345703
345704         · e1ffbd615a Fixes saltstack/salt#28262 for 2015.5 branch
345705
345706       · ISSUE #32066: (guettli) Proxmox docs outdated (refs: #32374)
345707
345708       · PR  #32374:  (cachedout)  Update  proxmox  documentation @ 2016-04-05
345709         22:25:16 UTC
345710
345711         · 3f03c5fcf9 Merge pull request #32374 from cachedout/issue_32066
345712
345713         · 62389d1d1a Update proxmox documentation
345714
345715       · PR #32339: (Ch3LL) remove reference to master_alive_check in 2015.5 @
345716         2016-04-04 20:39:24 UTC
345717
345718         · 8578089beb  Merge pull request #32339 from Ch3LL/fix_doc_multi-mas‐
345719           ter
345720
345721         · 2774da288d remove reference to master_alive_check
345722
345723       · ISSUE #32044: (ScoreUnder) Multiple masters throwing  warnings?  "Key
345724         master  with  value  [...]  has  an  invalid  type  of list, a str is
345725         required for this value" (refs: #32129)
345726
345727       · PR #32284: (rallytime) Audit config.py default  types  and  values  @
345728         2016-04-02 02:00:38 UTC
345729
345730         · PR  #32129: (terminalmage) Support multiple valid option types when
345731           performing type checks (refs: #32284)
345732
345733         · fbdc47cc55 Merge pull request #32284 from rallytime/config-audit
345734
345735         · 0491513204 Don't be so explicit. Just use string_types.
345736
345737         · 083c477fd3 Use six.string_types in config default tuples
345738
345739         · 7e642b8381 Audit config.py default types and values - first sweep
345740
345741       · ISSUE #32301: (terminalmage)  pkg.latest_version  returns  inaccurate
345742         version  when  blank  "Release"  param set in package metadata (refs:
345743         #32302)
345744
345745       · PR  #32302:  (terminalmage)  Properly  support  packages  with  blank
345746         "Release" param in pkg.latest_version @ 2016-04-01 22:13:27 UTC
345747
345748         · 0a6d44e57b  Merge  pull  request #32302 from terminalmage/fix-miss‐
345749           ing-release
345750
345751         · 413c371ccd Properly support packages with blank "Release" param  in
345752           pkg.latest_version
345753
345754       · ISSUE  #31963:  (UtahDave)  pkgrepo.managed  state  test=True doesn't
345755         actually test if changes need to be made. (refs: #32162)
345756
345757       · PR #32162: (terminalmage) Properly handle yum/zypper repositories  in
345758         pkgrepo.managed @ 2016-03-30 17:51:05 UTC
345759
345760         · 5d08db7c92 Merge pull request #32162 from terminalmage/issue31963
345761
345762         · 5c1bdb812c Fix pkgrepo integration test
345763
345764         · e7fb3095ce  Properly handle yum/zypper repositories in pkgrepo.man‐
345765           aged
345766
345767         · add2111fec Use six.iteritems instead of dict.items
345768
345769         · 6c21881c38 Docstring tweaks
345770
345771         · ecbb78b649 Remove useless function
345772
345773         · 06f3309552 Normalize variable naming to match other functions
345774
345775         · 690537ca8b Look for apt-add-repository in PATH instead of  assuming
345776           it's there
345777
345778         · 709d80bb1b   aptpkg:   Accept   **kwargs  instead  of  a  dict  for
345779           pkg.expand_repo_def
345780
345781       · ISSUE #31976: (moltob) Schedules not persisted on Windows minion (In‐
345782         staller issue) (refs: #32223)
345783
345784       · PR  #32223:  (twangboy) Create minion.d directory on install for Win‐
345785         dows @ 2016-03-30 14:43:27 UTC
345786
345787         · 4fcdaab428 Merge pull request #32223 from twangboy/fix_31976
345788
345789         · b7fcae97ce Create minion.d directory, fixes #31976
345790
345791       · ISSUE #31501: (grep4linux) Salt states fail with  error   'Failed  to
345792         return clean data' when using salt-ssh in Amazon EC2  (refs: #32218)
345793
345794       · PR  #32218:  (cachedout)  Only  display  error  when  tty  is True in
345795         salt-ssh @ 2016-03-29 19:13:44 UTC
345796
345797         · 3309ff6a29 Merge pull request #32218 from cachedout/issue_31501
345798
345799         · 6795d6aef0 Only display error when tty is True in salt-ssh
345800
345801       · PR  #32196:  (justinta)  Fixed  pylint  error  in  app_pam_test.py  @
345802         2016-03-28 23:59:42 UTC
345803
345804         · 6e0cb22c96    Merge    pull   request   #32196   from   jtand/cher‐
345805           rypy_pam_test_lint_fix
345806
345807         · bd3942e0fd Fixed pylint error in app_pam_test.py
345808
345809       · PR #32154: (Ch3LL) Add integration tests for salt-api using pam eauth
345810         @ 2016-03-28 16:06:36 UTC
345811
345812         · PR  #31826:  (gtmanfred)  Remove  ability of authenticating user to
345813           specify pam service (refs: #32154)
345814
345815         · 6b8b8b51c0 Merge pull request #32154 from Ch3LL/ch3ll_pam_2015.5
345816
345817         · ba605b0128 fix more pylint and add ability to close cherrypy engine
345818
345819         · 2d4dc4da05 add teardown call
345820
345821         · d115878714 fix pylint error
345822
345823         · 4c1ab082b6 add pam salt-api tests
345824
345825       · PR #32170: (gtmanfred) add name for lxc for use with  cloud  cache  @
345826         2016-03-28 14:34:16 UTC
345827
345828         · 230443be6c Merge pull request #32170 from gtmanfred/lxc_cloud_name
345829
345830         · eb7d82e7be add name for lxc for use with cloud cache
345831
345832       · ISSUE  #31731:  (sjorge) rh_service references osrelease before it is
345833         available, also does not return bool (refs: #32165)
345834
345835         · PR #32165: (terminalmage) Make __virtual__  for  rhservice.py  more
345836           robust (refs: #32164)
345837
345838       · PR  #32164:  (terminalmage)  Make  __virtual__  for rhservice.py more
345839         robust (2015.5 branch) (refs: #32165) @ 2016-03-27 18:21:52 UTC
345840
345841         · 32b0421a34   Merge   pull    request    #32164    from    terminal‐
345842           mage/issue31731-2015.5
345843
345844         · 18439c4f89  Make  __virtual__  for rhservice.py more robust (2015.5
345845           branch)
345846
345847       · PR #32141: (paclat) fixes 32108 @ 2016-03-25 16:50:59 UTC
345848
345849         · 6212e9aa56 Merge pull request #32141 from paclat/issue_32108
345850
345851         · 72c5d12d43 fixes 32108
345852
345853       · ISSUE #32044: (ScoreUnder) Multiple masters throwing  warnings?  "Key
345854         master  with  value  [...]  has  an  invalid  type  of list, a str is
345855         required for this value" (refs: #32129)
345856
345857       · PR #32129: (terminalmage) Support multiple valid  option  types  when
345858         performing type checks (refs: #32284) @ 2016-03-24 21:16:29 UTC
345859
345860         · bdd7ea89d5 Merge pull request #32129 from terminalmage/issue32044
345861
345862         · 34ca1ea12e Change type check errors to debug loglevel
345863
345864         · 5462081488 Support multiple valid option types when performing type
345865           checks
345866
345867       · ISSUE #32052: (bstevenson) list_absent function doesn't loop  through
345868         list of values (refs: #32056)
345869
345870       · PR #32056: (bstevenson) Fix list absent @ 2016-03-24 17:35:00 UTC
345871
345872         · c42014eb54    Merge    pull    request    #32056    from   bsteven‐
345873           son/fix-list_absent
345874
345875         · 1500aae027 set deleted value to list
345876
345877         · 1dc8f5f289 unit test update
345878
345879         · 39adf86fec Fixed negation logic
345880
345881         · be9388173b Removed has_key in lieu of in
345882
345883         · e48593ed81 Comments and Changes output fixes
345884
345885         · b98f5517de Updated to conform to proper ret values
345886
345887         · d18b4be80b remove whitespace end of line 186:q
345888
345889         · d2b89c85ad fix formating
345890
345891         · 103cee9e29 cleaned up formating
345892
345893         · 7a4d7f0bff added whitespace
345894
345895         · 8ea5b545b0 Loop through list values in list_absent
345896
345897       · PR #32096:  (rallytime)  Back-port  #32065  to  2015.5  @  2016-03-23
345898         22:01:36 UTC
345899
345900         · PR  #32065:  (TheNullByte)  Fix  an issue with the minion targeting
345901           example in docs (refs: #32096)
345902
345903         · 848ce5647f Merge pull request #32096 from rallytime/bp-32065
345904
345905         · 36a9d6a374 Fix an issue with the minion targeting example
345906
345907       · PR #32104: (jacobhammons) One additional known  issue  for  2015.5.10
345908         release notes @ 2016-03-23 21:20:50 UTC
345909
345910         · 9b332d48b9 Merge pull request #32104 from jacobhammons/dot10
345911
345912         · b9fc882a1e One additional known issue for 2015.5.10 release notes
345913
345914       · PR   #32100:  (jacobhammons)  2015.5.10  release  docs  @  2016-03-23
345915         20:05:21 UTC
345916
345917         · ff51d548e1 Merge pull request #32100 from jacobhammons/dot10
345918
345919         · 544a1661ce 2015.5.10 release docs
345920
345921       · ISSUE #32037: (terminalmage) Increase the visibility  of  state.apply
345922         in Salt's documentation (refs: #32038)
345923
345924       · PR  #32038:  (terminalmage) Improve state module docs, replace refer‐
345925         ences to  state.highstate/state.sls  with  state.apply  @  2016-03-23
345926         17:08:02 UTC
345927
345928         · 72a20f9799 Merge pull request #32038 from terminalmage/issue32037
345929
345930         · 8b2d983324 Add reference to state tutorial to state.apply docstring
345931
345932         · 9b4fe8443e  Move highstate usage details to top of state.apply doc‐
345933           string
345934
345935         · 74ee8c54bc Clarify prior role of state.highstate in states tutorial
345936
345937         · 1b97e4a3df  Improve  state  module  docs,  replace  references   to
345938           state.highstate/state.sls with state.apply
345939
345940       · PR  #32051: (terminalmage) Fix outputter for state.apply @ 2016-03-23
345941         16:42:43 UTC
345942
345943         · 908a7bf5cd   Merge   pull    request    #32051    from    terminal‐
345944           mage/fix-state-apply-output
345945
345946         · 7d7cb45565 Fix outputter for state.apply
345947
345948       · ISSUE #31788: (crocket) pkg.installed doesn't work on Manjaro. (refs:
345949         #32002)
345950
345951       · PR #32002: (abednarik) Added Manajro Linux to virtual.  @  2016-03-21
345952         17:55:16 UTC
345953
345954         · 0e66f678d4   Merge  pull  request  #32002  from  abednarik/pkg_man‐
345955           jaron_issue31788
345956
345957         · 1b052d0a66 Added Manajro Linux to virtual. List extended with Mana‐
345958           jaroLinux in order su load pacman module.
345959
345960       · PR #31957: (rallytime) [2015.5] Merge forward from 2014.7 to 2015.5 @
345961         2016-03-18 15:12:22 UTC
345962
345963         · ba5bf62c1a Merge pull request #31957 from rallytime/merge-2015.5
345964
345965         · 1b6ec5d445 Merge branch '2014.7' into '2015.5'
345966
345967           · ba73deee46   Merge    pull    request    #31929    from    twang‐
345968             boy/fix_build_script
345969
345970             · 2c5599d2bc Backport build script from 2015.8
345971
345972             · ce74991dd0 Fix nsi script to work with new build process
345973
345974       · PR  #31972:  (terminalmage)  Make  lack  of  python-ldap  module more
345975         explicit when LDAP eauth is enabled @ 2016-03-18 15:11:59 UTC
345976
345977         · a52e3ad7a1 Merge pull request #31972 from terminalmage/zh-584
345978
345979         · 1e5639e495 Make lack of python-ldap module more explicit when  LDAP
345980           eauth is enabled
345981
345982       · PR  #31935:  (twangboy) Back port nullsoft build script from 2015.8 @
345983         2016-03-17 14:54:50 UTC
345984
345985         · 2d1f2a0c2e    Merge    pull    request    #31935    from     twang‐
345986           boy/fix_build_script2
345987
345988         · 4af8c9dbfc Back port nullsoft build script from 2015.8
345989
345990       · PR  #31912:  (jfindlay)  log.mixins: remove extermporaneous .record @
345991         2016-03-16 01:56:46 UTC
345992
345993         · 43240dc566 Merge pull request #31912 from jfindlay/log_mixin
345994
345995         · 9f9c694654 log.mixins: remove extermporaneous .record
345996
345997       · PR #31825: (justinta) Updated .testing.pylintrc to match  newer  ver‐
345998         sions of pylint @ 2016-03-15 18:12:44 UTC
345999
346000         · 440e0dcbe0 Merge pull request #31825 from jtand/udpate_pylintrc
346001
346002         · 9a14e02766 Updated beacons/sh.py to work with enumerate()
346003
346004         · 0ecec691a0 Adjusted beacons to work with enumerate better
346005
346006         · f509b4113e Fixed final lint error
346007
346008         · 5945b3f11f Fix and disable pylint errors
346009
346010         · 06ae6eaf55 Fixed pylint errors on jboss state and module
346011
346012         · de96db97c8 Fixed more pylint errors, and disabled some more
346013
346014         · c07b0a20b5 Merge branch 'lint_fixes' into udpate_pylintrc
346015
346016           · 2e6a152308 Fixed lint error in lxc.py
346017
346018           · 908ca1a439 Fixed lint error in ssh_py_shim
346019
346020           · 404c1b50f7 Changed range(len()) to enumerate()
346021
346022           · 1e13586546 Changed range(len()) to enumerate()
346023
346024         · 9ccce7a9a5 Added more disables
346025
346026         · 9c1aab3b4e  Updated  .testing.pylintrc  to  match newer versions of
346027           pylint
346028
346029       · ISSUE #31867: (damon-atkins) " __virtual__ returned False" is  not  a
346030         clear error message (refs: #31878, #31900)
346031
346032       · PR #31900: (rallytime) Add "python module" clarification to ps __vir‐
346033         tual__ warning.  @ 2016-03-15 17:59:35 UTC
346034
346035         · 471c9444a3  Merge  pull  request  #31900  from   rallytime/fix-psu‐
346036           til-warning
346037
346038         · 22403d69ae  Add  "python  module"  clarification  to ps __virtual__
346039           warning.
346040
346041       · ISSUE #31867: (damon-atkins) " __virtual__ returned False" is  not  a
346042         clear error message (refs: #31878, #31900)
346043
346044       · ISSUE  #19659: (wonderslug) state process.absent is failing on Ubuntu
346045         14.04 because psutil is not installed (refs: #31878)
346046
346047       · PR #31878: (rallytime) Make sure __virtual__ error message is helpful
346048         when psutil is missing @ 2016-03-14 21:31:42 UTC
346049
346050         · c44c1b5e59   Merge  pull  request  #31878  from  rallytime/fix-psu‐
346051           til-warning
346052
346053         · 44b29f72a1 Make sure __virtual__ error message is helpful when psu‐
346054           til is missing
346055
346056       · PR #31852: (rallytime) [2015.5] Merge forward from 2014.7 to 2015.5 @
346057         2016-03-13 02:47:02 UTC
346058
346059         · 5c592b6768 Merge pull request #31852 from rallytime/merge-2015.5
346060
346061         · 1470de17fa Merge branch '2014.7' into '2015.5'
346062
346063         · 218c902091 Merge pull request #31834 from jfindlay/2014.7
346064
346065           · 358fdad0c8 add 2014.7.8 release notes
346066
346067         · a423c6cd04 Merge pull request #31833 from jfindlay/2014.7
346068
346069           · 6910fcc584 add 2014.7.9 release notes
346070
346071         · c5e7c03953 Merge pull request #31826 from gtmanfred/2014.7
346072
346073         · d73f70ebb2 Remove ability of authenticating  user  to  specify  pam
346074           service
346075
346076       · PR #31827: (gtmanfred) Remove ability of authenticating user to spec‐
346077         ify pam service @ 2016-03-11 20:40:19 UTC
346078
346079         · 0cc1d5db03 Merge pull request #31827 from gtmanfred/2015.5
346080
346081         · 979173b78a Remove ability of authenticating  user  to  specify  pam
346082           service
346083
346084       · PR  #31810: (whiteinge) Fix outdated Jinja 'env' variable reference @
346085         2016-03-11 03:52:21 UTC
346086
346087         · 8cf0b9eb3d      Merge      pull      request      #31810       from
346088           whiteinge/saltenv-jinja-var
346089
346090         · cb72b19240 Fix outdated Jinja 'env' variable reference
346091
346092       · ISSUE #31729: (brejoc) Creating VM with salt-cloud fails for provider
346093         Exoscale (Cloudstack) (refs: #31744)
346094
346095       · PR #31744: (brejoc) Fix for  AttributeError  with  libcloud  <0.15  @
346096         2016-03-10 00:15:26 UTC
346097
346098         · 970ef0e445     Merge     pull     request    #31744    from    bre‐
346099           joc/fix-attribute-error-with-older-libcloud/2015.5
346100
346101         · bb29dc2283 Added version to libcloud depends statement
346102
346103         · 87f9534fce Added log message with update suggestion for libcloud
346104
346105         · 72eab406cd Fix for AttributeError with libcloud <0.15
346106
346107       · ISSUE #31666: (sjorge) salt-call --local pillar.items is overly eager
346108         to give data (refs: #31740)
346109
346110       · PR #31740: (terminalmage) Assume pillar_opts is False when not speci‐
346111         fied in masterless mode @ 2016-03-09 22:57:57 UTC
346112
346113         · df2d23ba5d Merge pull request #31740 from terminalmage/issue31666
346114
346115         · aeaf5864cd Fall back to False when pillar_opts not set
346116
346117         · fe19d77eb4 Add default value for pillar_opts on minion
346118
346119       · ISSUE #31749: (milan-milo) salt-cloud spitting  out  error  'Attribu‐
346120         teError: 'NoneType' object has no attribute 'pop'' (refs: #31750)
346121
346122       · ISSUE  #26162:  (nmadhok) VMware cloud driver create function failing
346123         with traceback on latest develop (refs: #26170)
346124
346125       · PR #31750:  (rallytime)  Back-port  #26170  to  2015.5  @  2016-03-09
346126         17:44:14 UTC
346127
346128         · PR  #26170: (nmadhok) [Backport] Make sure variable is a dictionary
346129           before popping something from it. (refs: #31750)
346130
346131         · e22f5c0a26 Merge pull request #31750 from rallytime/bp-26170
346132
346133         · 3c11234a05 Make sure variable is a dictionary before popping  some‐
346134           thing from it.
346135
346136       · ISSUE #30559: (kaidokert) module.wait does not fail when called state
346137         fails (refs: #31689)
346138
346139       · PR #31689:  (rallytime)  Back-port  #29467  to  2015.5  @  2016-03-06
346140         19:26:11 UTC
346141
346142         · PR #29467: (serge-p) Update module.py (refs: #31689)
346143
346144         · 9162925dd0 Merge pull request #31689 from rallytime/bp-29467
346145
346146         · 1f8f4cb99b Update module.py
346147
346148       · PR  #31687:  (cachedout)  Removed  useless  GPG  tests  @  2016-03-05
346149         00:08:27 UTC
346150
346151         · d7914cdb14 Merge pull request #31687 from cachedout/rm_gpg_test
346152
346153         · 8b00513ebb Removed useless tests
346154
346155       · ISSUE #31619: (alexxannar) 2015.8.7 pkg.installed problem  with  ver‐
346156         sion parameter (refs: #31660)
346157
346158       · PR #31660: (terminalmage) Remove epoch from version string if present
346159         when installing with yum @ 2016-03-04 20:49:23 UTC
346160
346161         · bd4d12a155 Merge pull request #31660 from terminalmage/issue31619
346162
346163         · da954d7b92 Add integration test for packages with epoch in version
346164
346165         · 4fa7e4defe Move epoch removal
346166
346167         · 290192af56  Remove  epoch  from  version  string  if  present  when
346168           installing with yum
346169
346170       · PR  #31683:  (rallytime)  Back-port  #31578  to  2015.5  @ 2016-03-04
346171         20:47:41 UTC
346172
346173         · PR #31578: (anlutro) Allow queueing of state runs  through  saltmod
346174           (refs: #31683)
346175
346176         · e33c1f456a Merge pull request #31683 from rallytime/bp-31578
346177
346178         · 8fe46789b7 allow queueing of state runs through saltmod
346179
346180       · ISSUE  #31671:  (guettli)  Word  "Job  Cache"  does  not match (refs:
346181         #31682)
346182
346183       · PR #31682: (cachedout) Add definition of  job  cache  to  glossary  @
346184         2016-03-04 20:07:19 UTC
346185
346186         · 27f443895d Merge pull request #31682 from cachedout/cache_meaning
346187
346188         · a75e146125 Add definition of job cache to glossary
346189
346190       · PR  #31658:  (rallytime) Add mentioned of Salt's Coding Style docs to
346191         the Contributing docs @ 2016-03-03 22:14:57 UTC
346192
346193         · bd04c964d1    Merge    pull    request    #31658    from     rally‐
346194           time/add-style-to-contrib
346195
346196         · 6b526b5878  Add  mentioned  of Salt's Coding Style docs to the Con‐
346197           tributing docs
346198
346199       · ISSUE #21932: (clinta) Salt Coding Style docs  should  list  require‐
346200         ments for salt pylintrc (refs: #31655)
346201
346202       · PR  #31655:  (rallytime)  Make  note of pylint dependencies in docs @
346203         2016-03-03 18:37:06 UTC
346204
346205         · 10658dffe6 Merge pull request #31655 from rallytime/pylint-docs
346206
346207         · 6e0377d376 Make note of pylint dependencies in docs
346208
346209       · PR #31440: (cachedout) Set correct type for master_tops config  value
346210         @ 2016-03-02 21:17:14 UTC
346211
346212         · 6075774a01   Merge   pull   request   #31440   from  cachedout/mas‐
346213           ter_tops_type
346214
346215         · f49cc75049 Set correct type for master_tops config value
346216
346217       · ISSUE #31614: (frizzby) salt.utils.http.query()  implementation  con‐
346218         tradicts it's documentation. decode arg (refs: #31622)
346219
346220       · PR  #31622: (jfindlay) doc/topics/tutorials/http: update query decod‐
346221         ing docs @ 2016-03-02 18:23:44 UTC
346222
346223         · 6d31b8918f Merge pull request #31622 from jfindlay/query_doc
346224
346225         · 4e48fec806 doc/topics/tutorials/http: update query decoding docs
346226
346227       · PR  #31558:  (cachedout)  Don't  stacktrace  if  ssh  binary  is  not
346228         installed with salt-ssh @ 2016-02-29 22:15:44 UTC
346229
346230         · dbf6e0786c    Merge    pull    request    #31558    from    cached‐
346231           out/ensure_ssh_installed
346232
346233         · cecc6e0a5f Don't stacktrace if ssh binary  is  not  installed  with
346234           salt-ssh
346235
346236       · PR  #31521:  (terminalmage) salt-ssh: Fix race condition when caching
346237         files to build the thin tarball @ 2016-02-29 15:32:22 UTC
346238
346239         · 060a60fd90 Merge pull request #31521 from terminalmage/issue24753
346240
346241         · 0d352bbc16 Add fileclient tests
346242
346243         · d9370a8041 Update cp module salt-ssh wrapper to  use  new  cachedir
346244           param
346245
346246         · 0320494b1d  Update  the SSH state module wrappers to pass an alter‐
346247           nate cachedir
346248
346249         · 65bdcb3afa Accept and pass  through  the  alternate  cachedir  when
346250           prepping the thin tar
346251
346252         · c3f7a2f2e5  Add  ability  to specify an alternate base dir for file
346253           caching
346254
346255       · PR #31497: (rallytime) Remove duplicate "timeout" definition in  Ros‐
346256         ter docs @ 2016-02-26 15:01:30 UTC
346257
346258         · 92f8f89218  Merge  pull  request #31497 from rallytime/remove-time‐
346259           out-dup
346260
346261         · 83e6480d20 Remove duplicate "timeout" definition in Roster docs
346262
346263       · PR #31472: (rallytime) Update contributing docs @ 2016-02-25 16:05:59
346264         UTC
346265
346266         · da001bcb49  Merge  pull  request  #31472 from rallytime/update-con‐
346267           tributing-docs
346268
346269         · 5871e4d1e0 Update contributing docs
346270
346271       · ISSUE #30183: (jakehilton)  Minion  startup  extremely  delayed  when
346272         first master in failover multi master setup is down (refs: #31382)
346273
346274       · PR  #31461: (DmitryKuzmenko) Set auth retry count to 0 if multimaster
346275         mode is failover.  @ 2016-02-24 17:15:30 UTC
346276
346277         · PR #31382: (DmitryKuzmenko) Set auth retry count to 0 if  multimas‐
346278           ter mode is failover (refs: #31461)
346279
346280         · f35e2dd1d3    Merge    pull    request    #31461    from    DSRCom‐
346281           pany/issues/30183_fix_multimaster_failover_2015.5
346282
346283         · 3d09c3b7a3 Set auth  retry  count  to  0  if  multimaster  mode  is
346284           failover.
346285
346286       · ISSUE  #31356:  (sastorsl)  file.copy  module  with  recurse=true and
346287         non-existing src dir does not fail and  resets  dst  dir  permissions
346288         (refs: #31442)
346289
346290       · PR  #31442: (sastorsl) Add os.path.exists(src) to file.py, def copy @
346291         2016-02-23 23:40:03 UTC
346292
346293         · 26733ce988  Merge  pull  request  #31442  from   sastorsl/salt-mod‐
346294           ules-file.py-copy-check-src
346295
346296         · 0a4132866d removed lint in the exception string
346297
346298         · f8b5d498c3 Add os.path.exists(src) to file.py, def copy
346299
346300       · ISSUE  #30739:  (paclat)  manage.present does not work when minion is
346301         using localhost (refs: #31441)
346302
346303       · PR #31441: (cachedout) Include localhost minions in  presence  detec‐
346304         tion for runner @ 2016-02-23 23:36:59 UTC
346305
346306         · e480727d27 Merge pull request #31441 from cachedout/issue_30739
346307
346308         · ffcfad1570 Include localhost minions in presence detection for run‐
346309           ner
346310
346311       · PR  #31416:  (carlwgeorge)  selinux  module   documentation   fix   @
346312         2016-02-22 21:49:28 UTC
346313
346314         · 91ff95f093    Merge    pull    request    #31416    from   carlwge‐
346315           orge/selinux_doc_fix
346316
346317         · 0e6846d72e selinux module documentation fix
346318
346319       · PR  #31336:  (terminalmage)  Improve  config  validation  logging   @
346320         2016-02-22 19:34:24 UTC
346321
346322         · 7d01979898 Merge pull request #31336 from terminalmage/config-vali‐
346323           dation-logging
346324
346325         · 795008bad1 Improve config validation logging
346326
346327       · ISSUE  #31369:  (sjorge)  illumos/solaris/smartos  display  compacted
346328         hwaddrs (refs: #31374)
346329
346330       · PR #31374: (sjorge) fix for #31369 @ 2016-02-22 16:22:21 UTC
346331
346332         · fed096a29d Merge pull request #31374 from sjorge/solarish_hwaddr
346333
346334         · bdf2576dfb missed a .format and messed up the join
346335
346336         · bbd2fdc96d fix for illumos/solaris hwaddr
346337
346338       · PR  #31339:  (jacobhammons)  changed  latest  release  to  2015.8.7 @
346339         2016-02-19 00:30:24 UTC
346340
346341         · 6ee17f905b Merge pull request #31339 from jacobhammons/dot7prev
346342
346343         · 07120a8d48 changed latest release to 2015.8.7
346344
346345       · PR #31288: (notpeter) Improve salt.states.ssh_known_hosts  documenta‐
346346         tion.  @ 2016-02-17 22:09:18 UTC
346347
346348         · cd3400e67e     Merge     pull     request    #31288    from    not‐
346349           peter/ssh_known_hosts_docs
346350
346351         · 3f573d89a2 Improve salt.states.ssh_known_hosts documentation.
346352
346353       · PR #31183: (heyfife) Fixed named external_ip reservation/re-use  code
346354         in gce driver.  @ 2016-02-17 19:02:27 UTC
346355
346356         · 875d9925fa     Merge     pull     request    #31183    from    hey‐
346357           fife/fix-gce-named-static-ip-reservation
346358
346359         · 26774e2323 Fixed named external_ip reservation/re-use code.
346360
346361       · ISSUE #31001: (toanju)  Fedora  23  check  installed  packages  fails
346362         (refs: #31032)
346363
346364       · PR   #31032:  (terminalmage)  (2015.5  branch)  yumpkg:  ensure  that
346365         dnf-plugins-core >= 0.1.15 is installed @ 2016-02-17 19:02:03 UTC
346366
346367         · e56c402c0c Merge pull request #31032 from terminalmage/issue31001
346368
346369         · 42daea4509  yumpkg.py:  Remove  repoquery  usage   everywhere   but
346370           check_db
346371
346372         · 50befbc149 backport salt.utils.pkg.rpm to 2015.5
346373
346374         · a1ad14994a    Move   salt.utils.itersplit()   to   salt.utils.iter‐
346375           tools.split()
346376
346377         · 5b8646ce64 Ignore failure to install new enough dnf-plugins-core
346378
346379         · defe0859fd Ensure that dnf-plugins-core 0.1.15 is installed
346380
346381       · ISSUE #31174: (sjorge) salt.states.archive.extacted  displays  incor‐
346382         rect message: (refs: #31176)
346383
346384       · PR  #31264:  (sjorge) fix if_missing gets appended to dirs list, take
346385         III @ 2016-02-17 17:12:25 UTC
346386
346387         · PR #31250: (sjorge) if_missing append  to  array  as  far  back  as
346388           2014.1 (refs: #31264)
346389
346390         · PR  #31176:  (sjorge)  if_missing  incorrected appended to directo‐
346391           ries_created (refs: #31250, #31264)
346392
346393         · cec69b74f0 Merge pull request #31264 from sjorge/if_missing-155-fix
346394
346395         · 545edbf5e1 fix if_missing gets appended to dirs list, take III
346396
346397       · PR #31110: (cachedout) Fixup 30730 @ 2016-02-10 21:37:55 UTC
346398
346399         · fa3f474de9 Merge pull request #31110 from cachedout/fixup_30730
346400
346401         · 5bf5848e04 Fixup unit test
346402
346403         · f558f68e0a Fixes pylint warnings
346404
346405         · 56a975ec43 Attempt to fix pylint warnings
346406
346407         · 55d71be057 Make documentation and  code  examples  consistent  with
346408           code
346409
346410         · 1f04fed6f8 Change parameter name from includes to skips
346411
346412         · ccf5e13e7d Adding support for skipHidden in SetInclude
346413
346414         · 4f2d4af2e7 Variable names standardization
346415
346416         · f5917ac1e8 Fixes typo
346417
346418         · 26e5236073 Invert RebootRequired logic
346419
346420         · 8065a7abf6 Add basic documentation and define how the skips parame‐
346421           ter works.
346422
346423         · 389fea7508 Change parameter name from includes to skips
346424
346425         · 30e1fef906 Adding support for skipHidden in SetInclude
346426
346427         · 1244eea5be Variable names standardization, consistent if/else logic
346428           with states.win_update
346429
346430       · ISSUE  #30900:  (mchugh19)  modules/qemu_nbd.py  assumes  versions of
346431         utilities that don't exist on ubuntu (refs: #30949)
346432
346433       · PR #30974:  (rallytime)  Back-port  #30949  to  2015.5  @  2016-02-08
346434         16:38:46 UTC
346435
346436         · PR #30949: (techhat) Replace cfdisk with sfdisk (refs: #30974)
346437
346438         · 1c699a1664 Merge pull request #30974 from rallytime/bp-30949
346439
346440         · ff6542f593 Replace cfdisk with sfdisk
346441
346442       · ISSUE #28951: (ClaudiuPID) CloudLinux 7 changes (refs: #30897)
346443
346444       · PR  #30942:  (rallytime)  Back-port  #30897  to  2015.5  @ 2016-02-05
346445         19:00:55 UTC
346446
346447         · PR #30897: (mtorromeo) Only remove the word linux  from  distroname
346448           when its not part of the name (refs: #30942)
346449
346450         · c7f87cc371 Merge pull request #30942 from rallytime/bp-30897
346451
346452         · 885e00ba54  Only remove the word linux from distroname when its not
346453           part of the name
346454
346455       · PR #30922: (jacobhammons) Rev latest version to 2015.8.5 @ 2016-02-05
346456         01:20:27 UTC
346457
346458         · 35b7f62669    Merge    pull    request    #30922   from   jacobham‐
346459           mons/prev-rel-notes
346460
346461         · 57c1ec637a Rev latest version to 2015.8.5
346462
346463       · ISSUE #30840: (HeathNaylor) Generic  Error  for  SALT.STATES.BOTO_ELB
346464         (refs: #30865)
346465
346466       · PR  #30865:  (abednarik) Better boto elb error message.  @ 2016-02-04
346467         21:02:05 UTC
346468
346469         · 2488bb902e  Merge   pull   request   #30865   from   abednarik/bet‐
346470           ter_boto_elb_error
346471
346472         · 3561e8c19b Better boto elb error message.
346473
346474       · PR #30831: (jacobhammons) Updated readme @ 2016-02-02 21:06:02 UTC
346475
346476         · 4da04f82c8    Merge    pull    request    #30831   from   jacobham‐
346477           mons/readme-update
346478
346479         · 01a92f5d98 Updated readme
346480
346481       · PR #30829:  (jacobhammons)  Updated  latest  version  to  2015.8.4  @
346482         2016-02-02 20:06:13 UTC
346483
346484         · 90c1ea9f6c    Merge    pull    request    #30829   from   jacobham‐
346485           mons/release-2015.5
346486
346487         · c95bb60148 Version to 2015.8.4
346488
346489       · ISSUE #24575: (BrandKNY) raid.present inside mdadm.py triggers Index‐
346490         Error: list index out of range (refs: #30784)
346491
346492       · ISSUE #23694: (gmolight) mdadm.py module (refs: #30784)
346493
346494       · PR  #30784:  (rallytime)  Back-port  #24952  to  2015.5  @ 2016-02-01
346495         21:43:01 UTC
346496
346497         · PR #24952: (pcn) Don't split the string on  a  single  line  (refs:
346498           #30784)
346499
346500         · 80a36793cb Merge pull request #30784 from rallytime/bp-24952
346501
346502         · a07908bdea Don't split the string on a single line
346503
346504       · ISSUE  #30560:  (terminalmage)  yumpkg.py:  pkg.unhold  fails  in yum
346505         (refs: #30764)
346506
346507       · PR #30764: (terminalmage) Work around yum versionlock's inability  to
346508         remove holds by package name alone @ 2016-02-01 18:14:27 UTC
346509
346510         · e978f5392f Merge pull request #30764 from terminalmage/issue30560
346511
346512         · 39736afcd7  Work around yum versionlock's inability to remove holds
346513           by package name alone
346514
346515       · PR #30760: (toanju) Changed output format of arp_ip_target from  list
346516         to comma delimited...  @ 2016-01-31 19:05:02 UTC
346517
346518         · PR  #27952: (tomwalsh) Corrected format of arp_ip_target in network
346519           config files and modprobe files (refs: #30760)
346520
346521         · 6f565c0d76 Merge pull request #30760 from toanju/2015.5
346522
346523         · dc4256f7df Changed output format  of  arp_ip_target  from  list  to
346524           comma delimited string
346525
346526       · ISSUE  #30722: (yannis666) mine config is not merged from minion con‐
346527         fig and pillar (refs: #30757)
346528
346529       · PR #30757: (yannis666) Fix to mine update to  merge  configuration  @
346530         2016-01-31 19:02:44 UTC
346531
346532         · 1c205b4898     Merge     pull     request    #30757    from    yan‐
346533           nis666/fix-for-mine-update-merge
346534
346535         · 61bb23e256 Fix to mine update to merge configuration
346536
346537       · ISSUE #28751: (olfway)  network.system  state  ignores  test=True  on
346538         debian/ubuntu (refs: #30749)
346539
346540       · PR #30749: (abednarik) Fix Netwotk hostname Module in Debian systems.
346541         @ 2016-01-29 23:01:09 UTC
346542
346543         · f9fde8f6a7  Merge  pull  request  #30749  from   abednarik/fix_net‐
346544           work_system_test
346545
346546         · 1e9e97df59 Fix Netwotk hostname Module in Debian systems.
346547
346548       · ISSUE #28438: (vakulich) Master failed to save job cache file: "Could
346549         not write job invocation cache file: [Errno 2] No such file or direc‐
346550         tory" (refs: #30699)
346551
346552       · PR #30699: (abednarik) Add Retry to save_load.  @ 2016-01-29 16:08:30
346553         UTC
346554
346555         · 076268089a    Merge    pull    request    #30699     from     abed‐
346556           narik/save_load_retry_time
346557
346558         · 186872cf49 Add Retry to save_load.
346559
346560       · ISSUE  #30565: (heaje) scsi.ls fails to run both on CentOS 6 and Cen‐
346561         tOS 7 (refs: #30659)
346562
346563       · PR  #30659:  (sjmh)  Fix  lsscsi  issues  for  certain  platforms   @
346564         2016-01-28 15:53:38 UTC
346565
346566         · 8d79d1b9c7 Merge pull request #30659 from sjmh/fix-scsi
346567
346568         · 3544dd995e Fix lsscsi issues for certain platforms
346569
346570       · ISSUE  #18980:  (lrhazi)  salt-cloud:  ExtraData:  unpack(b) received
346571         extra data. (refs: #30671)
346572
346573       · PR #30671: (techhat) Add file locking to  cloud  index  @  2016-01-27
346574         17:14:55 UTC
346575
346576         · 516919525a Merge pull request #30671 from techhat/lockcloud
346577
346578         · 4719f8d4ea Whitespace
346579
346580         · 8e7eca23e4 Add file locking to cloud index
346581
346582       · ISSUE  #28320:  (Grokzen)  file.comment & file.uncomment changes file
346583         permissions on edit (refs: #30586)
346584
346585       · PR #30586: (abednarik) Fix comment_line  permissions.   @  2016-01-25
346586         23:24:02 UTC
346587
346588         · 643c9c9616   Merge  pull  request  #30586  from  abednarik/fix_com‐
346589           ment_line_perms
346590
346591         · 8b395a42cb Fix comment_line permissions.
346592
346593       · PR #30582: (terminalmage)  yumpkg.check_db:  run  separate  repoquery
346594         commands when multiple names passed @ 2016-01-24 17:15:04 UTC
346595
346596         · a823e21428  Merge  pull  request #30582 from terminalmage/dnf-repo‐
346597           query-multiple-targets
346598
346599         · 410da789f9 yumpkg.check_db: run separate  repoquery  commands  when
346600           multiple names passed
346601
346602       · PR   #30548:  (jacobhammons)  Added  placeholder  release  notes  for
346603         2015.5.10 @ 2016-01-22 18:36:01 UTC
346604
346605         · 8e56be7f4c Merge pull request #30548 from jacobhammons/doc-fixes
346606
346607         · 03c51bb54d Added placeholder release notes  for  2015.5.10  Changed
346608           old doc links from docs.saltstack.org to docs.saltstack.com
346609
346610       · PR  #30530:  (terminalmage)  2015.5  tweaks  from #30529 @ 2016-01-22
346611         16:26:21 UTC
346612
346613         · PR #30529: (terminalmage) Merge 2015.5 into 2015.8 (refs: #30530)
346614
346615         · 1aafd4c5b5   Merge   pull    request    #30530    from    terminal‐
346616           mage/yumpkg-dnf-cleanup
346617
346618         · 2586f71bcf 2015.5 tweaks from #30529
346619
346620       · ISSUE  #23553:  (aboe76)  dnf  a  new  package provider for fedora 22
346621         (refs: #30484)
346622
346623       · PR #30484: (terminalmage) Backport DNF support  to  2015.5  branch  @
346624         2016-01-21 22:14:46 UTC
346625
346626         · 7798d42272    Merge    pull    request    #30484   from   terminal‐
346627           mage/dnf-yumpkg-2015.5
346628
346629         · 330e26d1da Hide get_locked_packages
346630
346631         · 5a637420e8 Backport DNF support to 2015.5 branch
346632
346633       · PR #30512: (jfindlay)  disable  pkgrepo  test  for  ubuntu  15.10+  @
346634         2016-01-21 21:32:58 UTC
346635
346636         · b348f804b1 Merge pull request #30512 from jfindlay/repo_test
346637
346638         · 66f06f2bd3 disable pkgrepo test for ubuntu 15.10+
346639
346640       · PR  #30478:  (justinta)  Updated  pip_state  to  work  with pip 8.0 @
346641         2016-01-21 16:02:41 UTC
346642
346643         · a9348dfef8 Merge pull request #30478 from jtand/pip_8_update
346644
346645         · 6227368830 Convert version to int, instead of comparing strings  to
346646           ints
346647
346648         · 20384a4810 Added InstallationError to except block
346649
346650         · baa274bca9 Updated pip_state to work with pip 8.0
346651
346652       · ISSUE  #30465:  (alandrees)  Nested  imports  with  pyobjects  (refs:
346653         #30482)
346654
346655       · PR  #30482:  (borgstrom)  Pyobjects  recursive  import  support  (for
346656         2015.5) @ 2016-01-21 15:54:32 UTC
346657
346658         · a30147c64f   Merge   pull   request   #30482  from  borgstrom/pyob‐
346659           jects_recursive
346660
346661         · 2c55a7580b Fixup lint errors
346662
346663         · b46df0e4b5 Allow recursive salt:// imports
346664
346665         · 51bfa16173 Add test to prove that recursive imports  are  currently
346666           broken
346667
346668       · PR  #30459:  (jfindlay) modules.pkg: disable repo int test for ubuntu
346669         15.10 @ 2016-01-20 16:41:12 UTC
346670
346671         · 5c7cc51937 Merge pull request #30459 from jfindlay/pkg_tests
346672
346673         · fb9972f590 modules.pkg: disable repo int test for ubuntu 15.10
346674
346675       · PR #30443: (justinta) Boto uses False for is_default instead of  None
346676         @ 2016-01-19 18:28:08 UTC
346677
346678         · dd2ceb4c07 Merge pull request #30443 from jtand/boto_vpc_5
346679
346680         · 2f77152479 Boto uses False for is_default instead of None
346681
346682       · ISSUE  #26833:  (twangboy) salt-cloud fails to spin up windows minion
346683         on 2015.8 Head (refs: #26853)
346684
346685       · ISSUE #21256: (dhs-rec) win.exe package for RH 6 (refs: #26853)
346686
346687       · PR #30420: (attiasr) Backport #26853 @ 2016-01-19 17:33:58 UTC
346688
346689         · PR #26853: (UtahDave) Fix salt-cloud on windows (refs: #30420)
346690
346691         · 62d9dddced Merge pull request #30420 from attiasr/patch-1
346692
346693         · 4de343c5a1 Backport #26853
346694
346695       · ISSUE #30341: (dnd) salt-cloud linode connection reset by peer (refs:
346696         #30364)
346697
346698       · PR  #30364: (rallytime) Add TLS version imports and add linode driver
346699         documentation notices @ 2016-01-14 19:04:47 UTC
346700
346701         · 5a923b3aa9 Merge pull request #30364 from rallytime/fix-30341
346702
346703         · 79bcf151cb Add TLS version imports and add linode driver documenta‐
346704           tion notices
346705
346706       · ISSUE   #28822:  (HerrBerg)  saltenv  url-parameter  not  working  in
346707         file.managed for salt:// sources since 2015.8 (refs: #30166)
346708
346709       · PR #30184:  (rallytime)  Back-port  #30166  to  2015.5  @  2016-01-13
346710         18:27:36 UTC
346711
346712         · PR  #30166: (robgott) adding split_env call to cp.hash_file to pick
346713           up saltenv in file quer… (refs: #30184)
346714
346715         · f037fd9c27 Merge pull request #30184 from rallytime/bp-30166
346716
346717         · fa6b1b3022 adding split_env call to cp.hash_file to pick up saltenv
346718           in file query parameter
346719
346720       · PR #30291: (thegoodduke) ipset: fix test=true & add comment for every
346721         entry @ 2016-01-12 19:40:23 UTC
346722
346723         · PR #30170: (thegoodduke) ipset: fix comment and test (refs: #30291)
346724
346725         · 1d8413fd2f Merge pull request #30291 from thegoodduke/for_fix_ipset
346726
346727         · 62d6ccf561 ipset: fix test=true & add comment for every entry
346728
346729   Salt 2015.5.2 Release Notes
346730       release
346731              2015-06-10
346732
346733       Version 2015.5.2 is a bugfix release for 2015.5.0.
346734
346735   Statistics
346736       · Total Merges: 112
346737
346738       · Total Issue References: 36
346739
346740       · Total PR References: 145
346741
346742       · Contributors:  49  (Sacro,  The-Loeki,  YanChii,   aboe76,   anlutro,
346743         awdrius, basepi, cdarwin, cedwards, clan, corywright, cro, djcrabhat,
346744         dmyerscough,  dr4Ke,   fayetted,   galet,   garethgreenaway,   ghost,
346745         hazelesque,  hvnsweeting,  jacksontj,  jacobhammons,  jayeshka,  jbq,
346746         jfindlay, joejulian, justinta, kartiksubbarao, kiorky, merll, msteed,
346747         neogenix,  nicholascapo, nleib, pengyao, pruiz, rallytime, randybias,
346748         ryan-lane, steverweber, swdream, techhat,  terminalmage,  thcipriani,
346749         thusoy, trevor-h, twangboy, whiteinge)
346750
346751   Changelog for v2015.5.1..v2015.5.2
346752       Generated at: 2018-05-27 21:13:02 UTC
346753
346754       · PR  #24372:  (rallytime)  Add  2015.5.2  release  notes  @ 2015-06-03
346755         19:30:46 UTC
346756
346757         · d71d75e2ec Merge pull request #24372 from rallytime/release_notes
346758
346759         · f5ec1a1693 Add 2015.5.2 release notes
346760
346761       · PR  #24346:  (rallytime)  Backport  #24271  to  2015.5  @  2015-06-03
346762         18:44:31 UTC
346763
346764         · PR #24271: (randybias) Fixed the setup instructions (refs: #24346)
346765
346766         · 76927c9ea1 Merge pull request #24346 from rallytime/bp-24271
346767
346768         · 04067b6833 Fixed the setup instructions
346769
346770       · ISSUE  #24012: (jbq) Enabling a service does not create the appropri‐
346771         ate rc.d symlinks on Ubuntu (refs: #24013)
346772
346773       · PR  #24345:  (rallytime)  Backport  #24013  to  2015.5  @  2015-06-03
346774         18:39:41 UTC
346775
346776         · PR  #24013:  (jbq)  Fix  enabling a service on Ubuntu #24012 (refs:
346777           #24345)
346778
346779         · 4afa03d8e3 Merge pull request #24345 from rallytime/bp-24013
346780
346781         · 16e0732b50 Fix enabling a service on Ubuntu #24012
346782
346783       · PR #24365: (jacobhammons) Fixes for PDF  build  errors  @  2015-06-03
346784         17:50:02 UTC
346785
346786         · c3392c246a Merge pull request #24365 from jacobhammons/DocFixes
346787
346788         · 0fc190267f Fixes for PDF build errors
346789
346790       · ISSUE  #22991:  (nicholascapo) npm.installed ignores test=True (refs:
346791         #24313)
346792
346793       · PR #24313:  (nicholascapo)  Fix  #22991  Correctly  set  result  when
346794         test=True @ 2015-06-03 14:49:18 UTC
346795
346796         · ae681a4db1    Merge    pull    request    #24313   from   nicholas‐
346797           capo/fix-22991-npm.installed-test-true
346798
346799         · ac9644cb19  Fix  #22991  npm.installed  correctly  set  result   on
346800           test=True
346801
346802       · ISSUE  #18966:  (bechtoldt)  file.serialize  ignores test=True (refs:
346803         #24312)
346804
346805       · PR  #24312:  (nicholascapo)  Fix  #18966:   file.serialize   supports
346806         test=True @ 2015-06-03 14:49:06 UTC
346807
346808         · d57a9a267c    Merge    pull    request    #24312   from   nicholas‐
346809           capo/fix-18966-file.serialize-test-true
346810
346811         · e7328e7043  Fix  #18966  file.serialize  correctly  set  result  on
346812           test=True
346813
346814       · PR   #24302:  (jfindlay)  fix  pkg  hold/unhold  integration  test  @
346815         2015-06-03 03:27:43 UTC
346816
346817         · 6b694e3495 Merge pull request #24302 from jfindlay/pkg_tests
346818
346819         · c2db0b1758 fix pkg hold/unhold integration test
346820
346821       · ISSUE #14021: (emostar) EC2 doc mentions mount_point, but  unable  to
346822         use properly (refs: #24349)
346823
346824       · PR  #24349: (rallytime) Remove references to mount_points in ec2 docs
346825         @ 2015-06-03 01:54:09 UTC
346826
346827         · aca8447ced Merge pull request #24349 from rallytime/fix-14021
346828
346829         · a235b114d7 Remove references to mount_points in ec2 docs
346830
346831       · PR  #24328:  (dr4Ke)  Fix  state  grains  silently  fails  2015.5   @
346832         2015-06-02 15:18:46 UTC
346833
346834         · 88a997e6ee       Merge      pull      request      #24328      from
346835           dr4Ke/fix_state_grains_silently_fails_2015.5
346836
346837         · 8a63d1ebbe fix state grains silently fails #24319
346838
346839         · ca1af20203 grains state: add some tests
346840
346841       · ISSUE #9772: (s0undt3ch) Delete VM's in a map does  not  delete  them
346842         all (refs: #24310)
346843
346844       · ISSUE  #24036:  (arthurlogilab)  [salt-cloud] Protect against passing
346845         command line arguments as names for  the  --destroy  command  in  map
346846         files (refs: #24310)
346847
346848       · PR  #24310:  (techhat) Add warning about destroying maps @ 2015-06-02
346849         03:01:28 UTC
346850
346851         · 7dcd9bb5de Merge pull request #24310 from techhat/mapwarning
346852
346853         · ca535a6ff4 Add warning about destroying maps
346854
346855       · PR #24281: (steverweber) Ipmi docfix @ 2015-06-01 17:45:36 UTC
346856
346857         · 02bfb254d6 Merge pull request #24281 from steverweber/ipmi_docfix
346858
346859         · dd36f2c555 yaml formating
346860
346861         · f6deef3047 include api_kg kwarg in ipmi state
346862
346863         · a7d4e97bb9 doc cleanup
346864
346865         · 0ded2fdbef save more cleanup to doc
346866
346867         · 08872f2da3 fix name api_key to api_kg
346868
346869         · 165a387681 doc fix add api_kg kwargs
346870
346871         · 1ec78887e4 cleanup docs
346872
346873       · PR #24287: (jfindlay) fix pkg  test  on  ubuntu  12.04  for  realz  @
346874         2015-06-01 14:16:37 UTC
346875
346876         · 73cd2cbe1f Merge pull request #24287 from jfindlay/pkg_test
346877
346878         · 98944d8c7f fix pkg test on ubuntu 12.04 for realz
346879
346880       · PR  #24279:  (rallytime)  Backport  #24263  to  2015.5  @  2015-06-01
346881         04:29:34 UTC
346882
346883         · PR #24263: (cdarwin) Correct usage of import_yaml in formula  docu‐
346884           mentation (refs: #24279)
346885
346886         · 02017a074c Merge pull request #24279 from rallytime/bp-24263
346887
346888         · beff7c7785 Correct usage of import_yaml in formula documentation
346889
346890       · ISSUE  #24226:  (c4urself)  iptables  state needs to keep ordering of
346891         flags (refs: #24277)
346892
346893       · PR #24277: (rallytime) Put a  space  between  after_jump  commands  @
346894         2015-06-01 04:28:26 UTC
346895
346896         · 2ba696d54a  Merge  pull  request  #24277  from  rallytime/fix_ipta‐
346897           bles_jump
346898
346899         · e2d1606b19 Move after_jump split out of loop
346900
346901         · d14f1307b6 Remove extra loop
346902
346903         · 42ed5320b6 Put a space between after_jump commands
346904
346905       · PR  #24262:  (basepi)  More  dictupdate  after  #24142  @  2015-05-31
346906         04:09:37 UTC
346907
346908         · PR #24142: (basepi) Optimize dictupdate.update and add #24097 func‐
346909           tionality (refs: #24262)
346910
346911         · PR #24097: (kiorky) Optimize dictupdate (refs: #24142)
346912
346913         · 113eba34ec Merge pull request #24262 from basepi/dictupdatefix
346914
346915         · 0c4832c0d4 Raise a typeerror if non-dict types
346916
346917         · be21aaa122 Pylint
346918
346919         · bb8a6c6cc9 More optimization
346920
346921         · c933249d1a py3 compat
346922
346923         · ff6b2a781f Further optimize dictupdate.update()
346924
346925         · c73f5ba37c Remove unused valtype
346926
346927       · PR #24269: (kiorky) zfs: Fix spurious retcode hijacking in virtual  @
346928         2015-05-30 17:47:49 UTC
346929
346930         · 785d5a1bfc Merge pull request #24269 from makinacorpus/zfs
346931
346932         · 0bf23ce701 zfs: Fix spurious retcode hijacking in virtual
346933
346934       · PR  #24257: (jfindlay) fix pkg mod integration test on ubuntu 12.04 @
346935         2015-05-29 23:09:00 UTC
346936
346937         · 3d885c04f0 Merge pull request #24257 from jfindlay/pkg_tests
346938
346939         · 9508924c02 fix pkg mod integration test on ubuntu 12.04
346940
346941       · ISSUE #23883: (kaithar) max_event_size seems  broken  (refs:  #24001,
346942         #24065)
346943
346944       · ISSUE #23657: (arthurlogilab) [salt-cloud lxc] NameError: global name
346945         '__salt__' is not defined (refs: #23982, #24080)
346946
346947       · PR #24260: (basepi) Fix some typos from #24080 @ 2015-05-29  22:54:58
346948         UTC
346949
346950         · PR #24080: (kiorky) Lxc consistency2 (refs: #24066, #24260, #23982)
346951
346952         · PR #24066: (kiorky) Merge forward 2015.5 -> develop (refs: #23982)
346953
346954         · PR #24065: (kiorky) continue to fix #23883 (refs: #24066, #24080)
346955
346956         · PR #23982: (kiorky) lxc: path support (refs: #24080)
346957
346958         · 08a10755b3 Merge pull request #24260 from basepi/lxctypos24080
346959
346960         · 0fa1ad3977 Fix another lxc typo
346961
346962         · 669938f28d s/you ll/you'll/
346963
346964       · ISSUE  #23883:  (kaithar)  max_event_size seems broken (refs: #24001,
346965         #24065)
346966
346967       · ISSUE #23657: (arthurlogilab) [salt-cloud lxc] NameError: global name
346968         '__salt__' is not defined (refs: #23982, #24080)
346969
346970       · PR #24080: (kiorky) Lxc consistency2 (refs: #24066, #24260, #23982) @
346971         2015-05-29 22:51:54 UTC
346972
346973         · PR #24066: (kiorky) Merge forward 2015.5 -> develop (refs: #23982)
346974
346975         · PR #24065: (kiorky) continue to fix #23883 (refs: #24066, #24080)
346976
346977         · PR #23982: (kiorky) lxc: path support (refs: #24080)
346978
346979         · 75590cf490 Merge pull request #24080 from  makinacorpus/lxc_consis‐
346980           tency2
346981
346982         · 81f80674a2 lxc: fix old lxc test
346983
346984         · 458f50617b seed: lint
346985
346986         · 96b8d55f14 Fix seed.mkconfig yamldump
346987
346988         · 76ddb683f4 lxc/applynet: conservative
346989
346990         · ce7096fdb7 variable collision
346991
346992         · 8a8b28d652 lxc: lint
346993
346994         · 458b18b7e6 more lxc docs
346995
346996         · ef1f95231a lxc docs: typos
346997
346998         · d67a43dc1f more lxc docs
346999
347000         · 608da5ef5d modules/lxc: merge resolution
347001
347002         · 27c4689a24 modules/lxc: more consistent comparsion
347003
347004         · 07c365a23b lxc: merge conflict spotted
347005
347006         · 999391551c modules/lxc: rework settings for consistency
347007
347008         · ce11d8352e lxc: Global doc refresh
347009
347010         · 61ed2f5e76 clouds/lxc: profile key is conflicting
347011
347012       · ISSUE  #24210: (damonnk) salt-cloud vsphere.py should allow key_file‐
347013         name param (refs: #24220)
347014
347015       · PR  #24247:  (rallytime)  Backport  #24220  to  2015.5  @  2015-05-29
347016         21:40:01 UTC
347017
347018         · PR   #24220:  (djcrabhat)  adding  key_filename  param  to  vsphere
347019           provider (refs: #24247)
347020
347021         · da14f3b976 Merge pull request #24247 from rallytime/bp-24220
347022
347023         · 0b1041dd72 adding key_filename param to vsphere provider
347024
347025       · PR #24254: (rallytime) Add deprecation warning to  Digital  Ocean  v1
347026         Driver @ 2015-05-29 21:39:25 UTC
347027
347028         · PR  #22731:  (dmyerscough) Decommission DigitalOcean APIv1 and have
347029           users use the new DigitalOcean APIv2 (refs: #24254)
347030
347031         · 21d6126c34 Merge pull request  #24254  from  rallytime/add_depreca‐
347032           tion_warning_digitalocean
347033
347034         · cafe37bdf8 Add note to docs about deprecation
347035
347036         · ea0f1e0921  Add deprecation warning to digital ocean driver to move
347037           to digital_ocean_v2
347038
347039       · PR #24252: (aboe76)  Updated  suse  spec  to  2015.5.1  @  2015-05-29
347040         21:38:45 UTC
347041
347042         · dac055dd8b Merge pull request #24252 from aboe76/opensuse_package
347043
347044         · 0ad617df21 Updated suse spec to 2015.5.1
347045
347046       · PR  #24251: (garethgreenaway) Returners broken in 2015.5 @ 2015-05-29
347047         21:37:52 UTC
347048
347049         · 49e7fe8a5e   Merge   pull   request   #24251   from    garethgreen‐
347050           away/2015_5_returner_brokenness
347051
347052         · 5df6b52568  The  code calling cfg as a function vs treating it as a
347053           dictionary and using get is currently backwards  causing  returners
347054           to fail when used from the CLI and in scheduled jobs.
347055
347056       · ISSUE  #21498: (rallytime) Clarify Digital Ocean Documentation (refs:
347057         #24255)
347058
347059       · PR #24255: (rallytime) Clarify digital ocean documentation  and  men‐
347060         tion v1 driver deprecation @ 2015-05-29 21:37:07 UTC
347061
347062         · bfb946123e  Merge  pull request #24255 from rallytime/clarify_digi‐
347063           tal_ocean_driver_docs
347064
347065         · 8d51f75aa5 Clarify  digital  ocean  documentation  and  mention  v1
347066           driver deprecation
347067
347068       · PR  #24232:  (rallytime)  Backport  #23308  to  2015.5  @  2015-05-29
347069         21:36:46 UTC
347070
347071         · PR #23308: (thusoy) Don't merge: Add missing jump arguments to ipt‐
347072           ables module (refs: #24232)
347073
347074         · 41f5756f36 Merge pull request #24232 from rallytime/bp-23308
347075
347076         · 2733f66449 Import string
347077
347078         · 9097cca099 Add missing jump arguments to iptables module
347079
347080       · PR  #24245:  (Sacro)  Unset  PYTHONHOME  when  starting the service @
347081         2015-05-29 20:00:31 UTC
347082
347083         · a95982c722 Merge pull request #24245 from Sacro/patch-2
347084
347085         · 6632d06e94 Unset PYTHONHOME when starting the service
347086
347087       · PR #24121: (hvnsweeting) deprecate setting user  permission  in  rab‐
347088         bitmq_vhost.present @ 2015-05-29 15:55:40 UTC
347089
347090         · 1504c76d3a   Merge   pull   request  #24121  from  hvnsweeting/rab‐
347091           bitmq-host-deprecate-set-permission
347092
347093         · 2223158e76   deprecate   setting   user    permission    in    rab‐
347094           bitmq_host.present
347095
347096       · PR #24179: (merll) Changing user and group only possible for existing
347097         ids.  @ 2015-05-29 15:52:43 UTC
347098
347099         · PR #24169: (merll) Changing user and group only possible for exist‐
347100           ing ids. (refs: #24179)
347101
347102         · ba02f6509e     Merge     pull     request    #24179    from    Pre‐
347103           cis/fix-file-uid-gid-2015.0
347104
347105         · ee4c9d59ab Use ids if user or group is not present.
347106
347107       · ISSUE #24147: (paclat) Syndication issues when  using  authentication
347108         on master of masters.  (refs: #24229)
347109
347110       · PR  #24229:  (msteed) Fix auth failure on syndic with external_auth @
347111         2015-05-29 15:04:06 UTC
347112
347113         · 9bfb066c2c Merge pull request #24229 from msteed/issue-24147
347114
347115         · 482d1cfc64 Fix auth failure on syndic with external_auth
347116
347117       · PR  #24234:  (jayeshka)  adding  states/quota  unit  test  case.    @
347118         2015-05-29 14:14:27 UTC
347119
347120         · 19fa43c290       Merge      pull      request      #24234      from
347121           jayeshka/quota-states-unit-test
347122
347123         · c23356500b adding states/quota unit test case.
347124
347125       · PR  #24217:  (jfindlay)  disable  intermittently  failing   tests   @
347126         2015-05-29 03:08:39 UTC
347127
347128         · PR #23623: (jfindlay) Fix /jobs endpoint's return (refs: #24217)
347129
347130         · PR #22857: (jacksontj) Fix /jobs endpoint's return (refs: #23623)
347131
347132         · e15142c629   Merge   pull   request   #24217   from   jfindlay/dis‐
347133           able_bad_tests
347134
347135         · 6b6280442c disable intermittently failing tests
347136
347137       · PR #24199: (ryan-lane) Various fixes for boto_route53 and boto_elb  @
347138         2015-05-29 03:02:41 UTC
347139
347140         · ce8e43b774 Merge pull request #24199 from lyft/route53-fix-elb
347141
347142         · d8dc9a7b5b Better unit tests for boto_elb state
347143
347144         · 62f214b535 Remove cnames_present test
347145
347146         · 7b9ae82951 Lint fix
347147
347148         · b74b0d1413 Various fixes for boto_route53 and boto_elb
347149
347150       · PR  #24142:  (basepi) Optimize dictupdate.update and add #24097 func‐
347151         tionality (refs: #24262) @ 2015-05-29 03:00:56 UTC
347152
347153         · PR #24097: (kiorky) Optimize dictupdate (refs: #24142)
347154
347155         · a43465d235 Merge pull request #24142 from basepi/dictupdate24097
347156
347157         · 5c6e210c8b Deepcopy on merge_recurse
347158
347159         · a13c84ade8 Fix None check from #21968
347160
347161         · 9ef2c64098 Add docstring
347162
347163         · 8579429314 Add in recursive_update from #24097
347164
347165         · 8599143200 if key not in dest, don't recurse
347166
347167         · d8a84b3017 Rename klass to valtype
347168
347169       · PR  #24208:  (jayeshka)  adding  states/ports  unit  test  case.    @
347170         2015-05-28 23:06:33 UTC
347171
347172         · 526698ba8d       Merge      pull      request      #24208      from
347173           jayeshka/ports-states-unit-test
347174
347175         · 657b709932 adding states/ports unit test case.
347176
347177       · ISSUE #20635: (dennisjac) 2015.2.0rc1: zfs errors in log after update
347178         (refs: #24219)
347179
347180       · PR  #24219: (jfindlay) find zfs without modinfo @ 2015-05-28 21:07:26
347181         UTC
347182
347183         · d00945fd40 Merge pull request #24219 from jfindlay/zfs_check
347184
347185         · 15d401907c use the salt loader in the zfs mod
347186
347187         · 5599b67a46 try to search for zfs if modinfo is unavailable
347188
347189       · PR #24190: (msteed) Fix issue 23815 @ 2015-05-28 20:10:34 UTC
347190
347191         · 3dc4b85295 Merge pull request #24190 from msteed/issue-23815
347192
347193         · 086a1a94e8 lint
347194
347195         · 65de62f852 fix #23815
347196
347197         · d04e9162de spelling
347198
347199         · db9f6820b8 add inotify beacon unit tests
347200
347201       · PR  #24211:  (rallytime)  Backport  #24205  to  2015.5  @  2015-05-28
347202         18:28:15 UTC
347203
347204         · PR  #24205:  (hazelesque) Docstring fix in salt.modules.yumpkg.hold
347205           (refs: #24211)
347206
347207         · 436634b508 Merge pull request #24211 from rallytime/bp-24205
347208
347209         · 23284b5d47 Docstring fix in salt.modules.yumpkg.hold
347210
347211       · PR #24212: (terminalmage) Clarify error in rendering template for top
347212         file @ 2015-05-28 18:26:20 UTC
347213
347214         · cc58624c7e   Merge  pull  request  #24212  from  terminalmage/clar‐
347215           ify-error-msg
347216
347217         · ca807fb032 Clarify error in rendering template for top file
347218
347219       · ISSUE #23904: (mbrgm) Network config bonding section cannot be parsed
347220         when attribute names use dashes (refs: #23917)
347221
347222       · ISSUE  #23900: (hashi825) salt ubuntu network building issue 2015.5.0
347223         (refs: #23922)
347224
347225       · PR  #24213:  (The-Loeki)  ShouldFix  _-  troubles  in   debian_ip   @
347226         2015-05-28 18:24:39 UTC
347227
347228         · PR #23922: (garethgreenaway) Fixes to debian_ip.py (refs: #24213)
347229
347230         · PR  #23917:  (corywright)  Split  debian  bonding  options  on dash
347231           instead of underscore (refs: #24213)
347232
347233         · 9825160b1a Merge pull request #24213 from The-Loeki/patch-3
347234
347235         · a68d515973 ShouldFix _- troubles in debian_ip
347236
347237       · PR #24214: (basepi) 2015.5.1release @ 2015-05-28 16:23:57 UTC
347238
347239         · 071751d13f Merge pull request #24214 from basepi/2015.5.1release
347240
347241         · e5ba31b5b5 2015.5.1 release date
347242
347243         · 768494c819 Update latest release in docs
347244
347245       · PR  #24202:  (rallytime)  Backport  #24186  to  2015.5  @  2015-05-28
347246         05:16:48 UTC
347247
347248         · PR #24186: (thcipriani) Update salt vagrant provisioner info (refs:
347249           #24202)
347250
347251         · c2f1fdb244 Merge pull request #24202 from rallytime/bp-24186
347252
347253         · db793dd0de Update salt vagrant provisioner info
347254
347255       · PR  #24192:  (rallytime)  Backport  #20474  to  2015.5  @  2015-05-28
347256         05:16:18 UTC
347257
347258         · PR  #20474:  (djcrabhat)  add sudo, sudo_password params to vsphere
347259           deploy to allow for non-root deploys (refs: #24192)
347260
347261         · 8a085a2592 Merge pull request #24192 from rallytime/bp-20474
347262
347263         · fd3c783f3e add sudo, sudo_password params to deploy  to  allow  for
347264           non-root deploys
347265
347266       · PR  #24184:  (rallytime)  Backport  #24129  to  2015.5  @  2015-05-28
347267         05:15:08 UTC
347268
347269         · PR #24129: (pengyao) Wheel client doc (refs: #24184)
347270
347271         · 7cc535bf4a Merge pull request #24184 from rallytime/bp-24129
347272
347273         · 722a662479 fixed a typo
347274
347275         · 565eb46ff5 Add cmd doc for WheelClient
347276
347277       · PR  #24183:  (rallytime)  Backport  #19320  to  2015.5  @  2015-05-28
347278         05:14:36 UTC
347279
347280         · PR  #19320:  (clan)  add  'state_output_profile' option for profile
347281           output (refs: #24183)
347282
347283         · eb0af70e5b Merge pull request #24183 from rallytime/bp-19320
347284
347285         · 55db1bf8b5 sate_output_profile default to True
347286
347287         · 991922703b fix type: statei -> state
347288
347289         · 0549ca6266 add 'state_output_profile' option for profile output
347290
347291       · PR  #24201:  (whiteinge)  Add  list  of  client  libraries  for   the
347292         rest_cherrypy  module  to  the  top-level  documentation @ 2015-05-28
347293         02:12:09 UTC
347294
347295         · 1b5bf23187 Merge  pull  request  #24201  from  whiteinge/rest_cher‐
347296           rypy-client-libs
347297
347298         · 5f718027ca  Add list of client libraries for the rest_cherrypy mod‐
347299           ule
347300
347301         · 28fc77f6f6 Fix rest_cherrypy config example indentation
347302
347303       · PR #24195:  (rallytime)  Merge  #24185  with  a  couple  of  fixes  @
347304         2015-05-27 22:18:37 UTC
347305
347306         · PR #24185: (jacobhammons) Fixes for doc build errors (refs: #24195)
347307
347308         · 3307ec20d9 Merge pull request #24195 from rallytime/merge-24185
347309
347310         · d8daa9dcd7 Merge #24185 with a couple of fixes
347311
347312         · 634d56bca0 Fixed pylon error
347313
347314         · 0689815d0e Fixes for doc build errors
347315
347316       · PR   #24166:  (jayeshka)  adding  states/pkgng  unit  test  case.   @
347317         2015-05-27 20:27:49 UTC
347318
347319         · 7e400bc3d7      Merge      pull      request      #24166       from
347320           jayeshka/pkgng-states-unit-test
347321
347322         · 2234bb0b70 adding states/pkgng unit test case.
347323
347324       · PR  #24189:  (basepi)  [2015.5] Merge forward from 2014.7 to 2015.5 @
347325         2015-05-27 20:26:31 UTC
347326
347327         · 9fcda79cd4  Merge  pull  request  #24189   from   basepi/merge-for‐
347328           ward-2015.5
347329
347330         · 8839e9c22e  Merge  remote-tracking  branch  'upstream/2014.7'  into
347331           merge-forward-2015.5
347332
347333         · 9d7331c87d Merge pull request #24178 from rallytime/bp-24118
347334
347335           · e2217a09e8 removed deprecated pymongo usage as  no  longer  func‐
347336             tional with pymongo > 3.x
347337
347338         · 4e8c5031b0   Merge   pull   request   #24159   from  rallytime/key‐
347339           stone_doc_examples
347340
347341           · dadac8d076 Fill out modules/keystone.py CLI Examples
347342
347343         · fc10ee8ed5 Merge pull request #24158 from rallytime/fix_doc_error
347344
347345           · 49a517e2ca Fix test_valid_docs test for tls module
347346
347347       · PR #24181: (justinta) Fixed error where file was evaluated as a  sym‐
347348         link in test_absent @ 2015-05-27 18:26:28 UTC
347349
347350         · 2303dec0e9 Merge pull request #24181 from jtand/file_test
347351
347352         · 5f0e601589  Fixed  error  where  file was evaluated as a symlink in
347353           test_absent
347354
347355       · PR #24180: (terminalmage) Skip libvirt tests if not running as root @
347356         2015-05-27 18:18:47 UTC
347357
347358         · a16276852b  Merge  pull  request  #24180 from terminalmage/fix-lib‐
347359           virt-test
347360
347361         · 72e7416ad2 Skip libvirt tests if not running as root
347362
347363       · PR #24165: (jayeshka) adding states/portage_config unit test case.  @
347364         2015-05-27 17:15:08 UTC
347365
347366         · 1fbc5b25e6  Merge  pull  request  #24165 from jayeshka/portage_con‐
347367           fig-states-unit-test
347368
347369         · 8cf1505392 adding states/portage_config unit test case.
347370
347371       · PR  #24164:  (jayeshka)  adding  states/pecl  unit  test   case.    @
347372         2015-05-27 17:14:26 UTC
347373
347374         · 4747856411       Merge      pull      request      #24164      from
347375           jayeshka/pecl-states-unit-test
347376
347377         · 563a5b3c30 adding states/pecl unit test case.
347378
347379       · PR #24160: (The-Loeki) small enhancement  to  data  module;  pop()  @
347380         2015-05-27 17:03:10 UTC
347381
347382         · cdaaa19324 Merge pull request #24160 from The-Loeki/patch-1
347383
347384         · 2175ff3c75 doc & merge fix
347385
347386         · eba382cdda small enhancement to data module; pop()
347387
347388       · PR  #24153: (techhat) Batch mode sometimes improperly builds lists of
347389         minions to process @ 2015-05-27 16:21:53 UTC
347390
347391         · 4a8dbc7f13 Merge pull request #24153 from techhat/batchlist
347392
347393         · 467ba64612 Make sure that minion IDs are strings
347394
347395       · PR #24167: (jayeshka) adding  states/pagerduty  unit  test  case.   @
347396         2015-05-27 16:14:01 UTC
347397
347398         · ed8ccf57a2   Merge   pull   request   #24167  from  jayeshka/pager‐
347399           duty-states-unit-test
347400
347401         · 1af8c8334d adding states/pagerduty unit test case.
347402
347403       · PR #24156: (basepi) [2015.5] Merge forward from 2014.7  to  2015.5  @
347404         2015-05-27 15:05:01 UTC
347405
347406         · b9507d1567   Merge   pull  request  #24156  from  basepi/merge-for‐
347407           ward-2015.5
347408
347409         · e52b5ab2e2 Remove stray >>>>>
347410
347411         · 7dfbd929ff  Merge  remote-tracking  branch  'upstream/2014.7'  into
347412           merge-forward-2015.5
347413
347414           · c0d32e0b5e  Merge  pull  request #24125 from hvnsweeting/fix-rab‐
347415             bitmq-test-mode
347416
347417             · 71862c69b9 enhance log
347418
347419             · 28e2594162 change according to new output  of  rabbitmq  module
347420               functions
347421
347422             · cd0212e8ed  processes  and  returns  better output for rabbitmq
347423               module
347424
347425           · 39a8f30f06 Merge pull request #24093 from msteed/issue-23464
347426
347427             · fd35903d75 Fix failing test
347428
347429             · 41b344c7d3 Make LocalClient.cmd_iter_no_block() not block
347430
347431           · 5bffd3045e Merge pull request #24008 from davidjb/2014.7
347432
347433             · 8b8d0293d4 Correct reST formatting for documentation
347434
347435           · 1aa0420040 Merge pull request #23933 from jacobhammons/2014.7
347436
347437           · a3613e68e4 removed numbering from doc TOC
347438
347439           · 78b737c5e6 removed 2015.* release  from  release  notes,  updated
347440             index page to remove PDF/epub links
347441
347442           · e867f7df77  Changed  build  settings  to use saltstack2 theme and
347443             update release versions.
347444
347445           · 81ed9c9f59 sphinx saltstack2 doc theme
347446
347447       · ISSUE #24102: (bormotov) win_update encondig problems (refs: #24145)
347448
347449       · PR  #24145:  (jfindlay)  attempt  to  decode  win  update  package  @
347450         2015-05-26 23:20:20 UTC
347451
347452         · 05745fa931     Merge    pull    request    #24145    from    jfind‐
347453           lay/win_update_encoding
347454
347455         · cc5e17e61f attempt to decode win update package
347456
347457       · ISSUE #24122: (kiorky) service.dead is  no  more  stateful:  services
347458         does not handle correctly enable/disable change state (refs: #24123)
347459
347460       · PR  #24123:  (kiorky)  fix service enable/disable change @ 2015-05-26
347461         21:24:19 UTC
347462
347463         · 70247890de Merge pull request #24123 from makinacorpus/ss
347464
347465         · 2e2e1d262d fix service enable/disable change
347466
347467       · PR #24146: (rallytime) Fixes the boto_vpc_test failure  on  CentOS  5
347468         tests @ 2015-05-26 20:15:19 UTC
347469
347470         · 51c3cec5d7   Merge  pull  request  #24146  from  rallytime/fix_cen‐
347471           tos_boto_failure
347472
347473         · ac0f97de51 Fixes the boto_vpc_test failure on CentOS 5 tests
347474
347475       · ISSUE #24052: (twangboy) v2015.5.1 Changes the way it interprets  the
347476         minion_master.pub file (refs: #24144, #24089)
347477
347478       · ISSUE #23566: (rks2286) Salt-cp corrupting the file after transfer to
347479         minion (refs: #24144, #23740)
347480
347481       · PR #24144: (twangboy) Compare Keys ignores all newlines and  carriage
347482         returns @ 2015-05-26 19:25:48 UTC
347483
347484         · PR #23740: (jfindlay) Binary write (refs: #24144)
347485
347486         · 1c91a2176f Merge pull request #24144 from twangboy/fix_24052
347487
347488         · c197b41494 Compare Keys removing all newlines and carriage returns
347489
347490       · PR  #24139:  (rallytime)  Backport  #24118  to  2015.5  @  2015-05-26
347491         18:24:27 UTC
347492
347493         · PR #24118:  (trevor-h)  removed  deprecated  pymongo  usage  (refs:
347494           #24178, #24139)
347495
347496         · 084166747c Merge pull request #24139 from rallytime/bp-24118
347497
347498         · 4bb519b8da removed deprecated pymongo usage as no longer functional
347499           with pymongo > 3.x
347500
347501       · PR  #24138:  (rallytime)  Backport  #24116  to  2015.5  @  2015-05-26
347502         18:23:51 UTC
347503
347504         · PR #24116: (awdrius) Fixed typo in chown username (ending dot) that
347505           fails the command. (refs: #24138)
347506
347507         · 742eca29f7 Merge pull request #24138 from rallytime/bp-24116
347508
347509         · 7f08641800 Fixed typo in chown username (ending dot) that fails the
347510           command.
347511
347512       · PR  #24137:  (rallytime)  Backport  #24105  to  2015.5  @  2015-05-26
347513         18:23:40 UTC
347514
347515         · PR #24105: (cedwards) Updated  some  beacon-specific  documentation
347516           formatting (refs: #24137)
347517
347518         · e01536d098 Merge pull request #24137 from rallytime/bp-24105
347519
347520         · f0778a0a60 Updated some beacon-specific documentation formatting
347521
347522       · ISSUE  #23364:  (pruiz)  Unable  to destroy host using proxmox cloud:
347523         There was an error destroying  machines:  501  Server  Error:  Method
347524         'DELETE /nodes/pmx1/openvz/openvz/100' not implemented (refs: #24104)
347525
347526       · PR  #24136:  (rallytime)  Backport  #24104  to  2015.5  @  2015-05-26
347527         15:58:47 UTC
347528
347529         · PR #24104: (pruiz) Only try to  stop  a  VM  if  it's  not  already
347530           stopped. (fixes #23364) (refs: #24136)
347531
347532         · 89cdf976e1 Merge pull request #24136 from rallytime/bp-24104
347533
347534         · c53888415f  Only  try  to  stop  a  VM if it's not already stopped.
347535           (fixes #23364)
347536
347537       · PR  #24135:  (rallytime)  Backport  #24083  to  2015.5  @  2015-05-26
347538         15:58:27 UTC
347539
347540         · PR #24083: (swdream) fix code block syntax (refs: #24135)
347541
347542         · 67c4373577 Merge pull request #24135 from rallytime/bp-24083
347543
347544         · e1d06f9764 fix code block syntax
347545
347546       · PR  #24131:  (jayeshka)  adding  states/mysql_user  unit  test case @
347547         2015-05-26 15:58:10 UTC
347548
347549         · a83371e0ed      Merge      pull      request      #24131       from
347550           jayeshka/mysql_user-states-unit-test
347551
347552         · ed1ef69856 adding states/mysql_user unit test case
347553
347554       · PR  #24130:  (jayeshka) adding states/ntp unit test case @ 2015-05-26
347555         15:57:29 UTC
347556
347557         · 1dc1d2a6e5      Merge      pull      request      #24130       from
347558           jayeshka/ntp-states-unit-test
347559
347560         · ede4a9f2f1 adding states/ntp unit test case
347561
347562       · PR #24128: (jayeshka) adding states/openstack_config unit test case @
347563         2015-05-26 15:56:08 UTC
347564
347565         · 39434179a8 Merge pull request #24128  from  jayeshka/openstack_con‐
347566           fig-states-unit-test
347567
347568         · ca09e0f7c1 adding states/openstack_config unit test case
347569
347570       · PR  #24127:  (jayeshka) adding states/npm unit test case @ 2015-05-26
347571         15:55:18 UTC
347572
347573         · 23f25c4298      Merge      pull      request      #24127       from
347574           jayeshka/npm-states-unit-test
347575
347576         · c3ecabbae0 adding states/npm unit test case
347577
347578       · ISSUE  #24009:  (hvnsweeting)  state_verbose  False  summary is wrong
347579         (refs: #24077)
347580
347581       · PR #24077: (anlutro) Change how state_verbose output  is  filtered  @
347582         2015-05-26 15:41:11 UTC
347583
347584         · 07488a4415 Merge pull request #24077 from alprs/fix-outputter_high‐
347585           state_nonverbose_count
347586
347587         · 7790408c3c Change how state_verbose output is filtered
347588
347589       · PR #24119: (jfindlay) Update contrib docs @ 2015-05-26 15:37:01 UTC
347590
347591         · 224820febf Merge  pull  request  #24119  from  jfindlay/update_con‐
347592           trib_docs
347593
347594         · fa2d411f53 update example release branch in contrib docs
347595
347596         · a0b76b57b3 clarify git rebase instructions
347597
347598         · 3517e0095f fix contribution docs link typos
347599
347600         · 651629c6a4 backport dev contrib doc updates to 2015.5
347601
347602       · PR  #23928:  (joejulian) Add the ability to replace existing certifi‐
347603         cates @ 2015-05-25 19:47:26 UTC
347604
347605         · 5488c4aaa2 Merge pull request #23928 from joejulian/2015.5_tls_mod‐
347606           ule_replace_existing
347607
347608         · 4a4cbdd266 Add the ability to replace existing certificates
347609
347610       · ISSUE  #23221:  (Reiner030) Debian Jessie: locale.present not working
347611         again (refs: #24078)
347612
347613       · PR #24078: (jfindlay) if a charmap is not supplied,  set  it  to  the
347614         codeset @ 2015-05-25 19:39:19 UTC
347615
347616         · dd90ef09b9 Merge pull request #24078 from jfindlay/locale_charmap
347617
347618         · 5eb97f0973 if a charmap is not supplied, set it to the codeset
347619
347620       · PR  #24088:  (jfindlay)  pkg  module  integration  tests @ 2015-05-25
347621         19:39:02 UTC
347622
347623         · 9cec5d3dc9 Merge pull request #24088 from jfindlay/pkg_tests
347624
347625         · f1bd5ec404 adding pkg module integration tests
347626
347627         · 739b2ef3bd rework yumpkg refresh_db so args are not mandatory
347628
347629       · ISSUE #24052: (twangboy) v2015.5.1 Changes the way it interprets  the
347630         minion_master.pub file (refs: #24144, #24089)
347631
347632       · PR #24089: (jfindlay) allow override of binary file mode on windows @
347633         2015-05-25 19:38:44 UTC
347634
347635         · 517552caa6 Merge pull request #24089 from jfindlay/binary_write
347636
347637         · b2259a6370 allow override of binary file mode on windows
347638
347639       · ISSUE #23973: (mschiff) state file.managed:  setting  contents_pillar
347640         to  a pillar which is a list throws exception instead giving descrip‐
347641         tive error message (refs: #24092)
347642
347643       · PR #24092: (jfindlay) collect scattered contents edits, ensure it's a
347644         str @ 2015-05-25 19:38:10 UTC
347645
347646         · 121ab9f857 Merge pull request #24092 from jfindlay/file_state
347647
347648         · cfa0f1358e collect scattered contents edits, ensure it's a str
347649
347650       · PR  #24112:  (The-Loeki) thin_gen breaks when thinver doesn't exist @
347651         2015-05-25 19:37:47 UTC
347652
347653         · 84e65dece7 Merge pull request #24112 from The-Loeki/patch-1
347654
347655         · 34646eae16 thin_gen breaks when thinver doesn't exist
347656
347657       · PR #24108: (jayeshka) adding  states/mysql_query  unit  test  case  @
347658         2015-05-25 12:30:48 UTC
347659
347660         · ec509ed272       Merge      pull      request      #24108      from
347661           jayeshka/mysql_query-states-unit-test
347662
347663         · ec50450460 adding states/mysql_query unit test case
347664
347665       · PR #24110: (jayeshka) adding varnish  unit  test  case  @  2015-05-25
347666         12:30:21 UTC
347667
347668         · f2e5d6c2fd   Merge   pull   request   #24110   from   jayeshka/var‐
347669           nish-unit-test
347670
347671         · e11988969f adding varnish unit test case
347672
347673       · PR #24109: (jayeshka) adding states/mysql_grants  unit  test  case  @
347674         2015-05-25 12:29:53 UTC
347675
347676         · 4fca2b49e3       Merge      pull      request      #24109      from
347677           jayeshka/mysql_grants-states-unit-test
347678
347679         · 11a93cb80c adding states/mysql_grants unit test case
347680
347681       · PR #24028: (nleib)  send  a  disable  message  to  disable  puppet  @
347682         2015-05-25 04:02:11 UTC
347683
347684         · 6b43c9a8cb Merge pull request #24028 from nleib/2015.5
347685
347686         · 15f24b42b2 update format of string in disabled msg
347687
347688         · 7690e5b008 remove trailing whitespaces
347689
347690         · 56a972034f Update puppet.py
347691
347692         · 9686391d81 Update puppet.py
347693
347694         · 33f3d68489 send a disable message to disable puppet
347695
347696       · PR  #24100: (jfindlay) adding states/file unit test case @ 2015-05-24
347697         05:17:54 UTC
347698
347699         · PR #23963: (jayeshka) adding  states/file  unit  test  case  (refs:
347700           #24100)
347701
347702         · 52c9acafc2 Merge pull request #24100 from jfindlay/merge_23963
347703
347704         · 7d59deb3d6 adding states/file unit test case
347705
347706       · ISSUE  #21446:  (dpheasant)  check for systemd on Oracle Linux (refs:
347707         #24098)
347708
347709       · PR #24098: (galet) Systemd not recognized properly on Oracle Linux  7
347710         @ 2015-05-24 04:07:31 UTC
347711
347712         · 0eb9f15d20 Merge pull request #24098 from galet/2015.5
347713
347714         · 4d6ab21c74 Systemd not recognized properly on Oracle Linux 7
347715
347716       · PR #24090: (jfindlay) adding states/mount unit test case @ 2015-05-22
347717         23:02:57 UTC
347718
347719         · PR #24062: (jayeshka) adding states/mount  unit  test  case  (refs:
347720           #24090)
347721
347722         · 8e04db76de Merge pull request #24090 from jfindlay/merge_24062
347723
347724         · a81a9225b8 adding states/mount unit test case
347725
347726       · ISSUE  #22574:  (unicolet)  error  when which is not available (refs:
347727         #22806)
347728
347729       · PR  #24086:  (rallytime)  Backport  #22806  to  2015.5  @  2015-05-22
347730         21:18:20 UTC
347731
347732         · PR  #22806:  (jfindlay)  use  cmd.run_all instead of cmd.run_stdout
347733           (refs: #24086)
347734
347735         · c0079f5dc7 Merge pull request #24086 from rallytime/bp-22806
347736
347737         · f728f55160 use cmd.run_all instead of cmd.run_stdout
347738
347739       · PR #24024: (jayeshka) adding states/mongodb_user  unit  test  case  @
347740         2015-05-22 20:53:19 UTC
347741
347742         · 09de253373   Merge   pull   request   #24024   from   jayeshka/mon‐
347743           godb_user-states-unit-test
347744
347745         · f31dc921f5 resolved errors
347746
347747         · d038b1fdbb adding states/mongodb_user unit test case
347748
347749       · ISSUE #23883: (kaithar) max_event_size seems  broken  (refs:  #24001,
347750         #24065)
347751
347752       · PR  #24065:  (kiorky) continue to fix #23883 (refs: #24066, #24080) @
347753         2015-05-22 18:59:21 UTC
347754
347755         · bfd812c56b Merge pull request #24065 from makinacorpus/real23883
347756
347757         · 028282e01d continue to fix #23883
347758
347759       · ISSUE  #24017:  (arthurlogilab)  [salt-cloud  openstack]   TypeError:
347760         unhashable type: 'dict' on map creation (refs: #24029)
347761
347762       · PR #24029: (kiorky) Fix providers handling @ 2015-05-22 16:56:06 UTC
347763
347764         · 429adfe00a Merge pull request #24029 from makinacorpus/fixproviders
347765
347766         · 412b39b802 Fix providers handling
347767
347768       · PR  #23936:  (jfindlay)  remove  unreachable  returns in file state @
347769         2015-05-22 16:26:49 UTC
347770
347771         · a42ccccd98 Merge pull request #23936 from jfindlay/file_state
347772
347773         · ac29c0cdd0 also validate file.recurse source parameter
347774
347775         · 57f73887fe remove unreachable returns in file state
347776
347777       · PR #24063: (jayeshka) removed tuple index error @ 2015-05-22 14:58:20
347778         UTC
347779
347780         · 8b69b41a42       Merge      pull      request      #24063      from
347781           jayeshka/mount-states-module
347782
347783         · b9745d5c4f removed tuple index error
347784
347785       · PR  #24057:  (rallytime)  Backport  #22572  to  2015.5  @  2015-05-22
347786         05:36:25 UTC
347787
347788         · PR #22572: (The-Loeki) Small docfix for GitPillar (refs: #24057)
347789
347790         · 02ac4aa288 Merge pull request #24057 from rallytime/bp-22572
347791
347792         · 49aad84b17 Small docfix for GitPillar
347793
347794       · ISSUE #23088: (ghost) Segfault when adding a Zypper repo on SLES 11.3
347795         (refs: #24027)
347796
347797       · PR  #24040:  (rallytime)  Backport  #24027  to  2015.5  @  2015-05-21
347798         23:43:54 UTC
347799
347800         · PR  #24027:  (ghost)  Add  baseurl  to salt.modules.zypper.mod_repo
347801           (refs: #24040)
347802
347803         · 82de059891 Merge pull request #24040 from rallytime/bp-24027
347804
347805         · 37d25d8bc6 Added  baseurl  as  alias  for  url  and  mirrorlist  in
347806           salt.modules.zypper.mod_repo.
347807
347808       · PR  #24039:  (rallytime)  Backport  #24015  to  2015.5  @  2015-05-21
347809         23:43:25 UTC
347810
347811         · PR #24015: (YanChii) minor improvement of  solarisips  docs  &  fix
347812           typos (refs: #24039)
347813
347814         · d909781d97 Merge pull request #24039 from rallytime/bp-24015
347815
347816         · 6bfaa94a8c minor improovement of solarisips docs & fix typos
347817
347818       · ISSUE   #19598:   (fayetted)  ssh_auth.present  test=true  incorectly
347819         reports changes will be made (refs: #19599)
347820
347821       · PR  #24038:  (rallytime)  Backport  #19599  to  2015.5  @  2015-05-21
347822         23:43:10 UTC
347823
347824         · PR  #19599:  (fayetted)  Fix  ssh_auth test mode, compare lines not
347825           just key (refs: #24038)
347826
347827         · 4a0f254d22 Merge pull request #24038 from rallytime/bp-19599
347828
347829         · ea00d3e786 Fix ssh_auth test mode, compare lines not just key
347830
347831       · PR #24046: (rallytime) Remove key management test from digital  ocean
347832         cloud tests @ 2015-05-21 22:32:04 UTC
347833
347834         · 42b87f1049 Merge pull request #24046 from rallytime/remove_key_test
347835
347836         · 1d031caa78  Remove  key  management  test  from digital ocean cloud
347837           tests
347838
347839       · PR #24044: (cro) Remove spurious log  message,  fix  typo  in  doc  @
347840         2015-05-21 22:31:49 UTC
347841
347842         · eff54b1c5a Merge pull request #24044 from cro/pgjsonb
347843
347844         · de0663314a Remove spurious log message, fix typo in doc
347845
347846       · ISSUE  #23883:  (kaithar)  max_event_size seems broken (refs: #24001,
347847         #24065)
347848
347849       · PR #24001: (msteed) issue #23883 @ 2015-05-21 20:32:30 UTC
347850
347851         · ac32000b5d Merge pull request #24001 from msteed/issue-23883
347852
347853         · bea97a8b98 issue #23883
347854
347855       · PR #23995: (kiorky) Lxc path pre @ 2015-05-21 17:26:03 UTC
347856
347857         · f7fae26059 Merge pull request #23995 from makinacorpus/lxc_path_pre
347858
347859         · 319282af5f lint
347860
347861         · 1dc67e5678 lxc: versionadded
347862
347863         · fcad7cb804 lxc: states improvments
347864
347865         · 644bd729f7 lxc: more consistence for profiles
347866
347867         · 139372c055 lxc: remove merge cruft
347868
347869         · 725b0462ca lxc: Repair merge
347870
347871       · ISSUE #16383: (interjection) salt.states.augeas.change  example  from
347872         docs fails with exception (refs: #24032)
347873
347874       · PR   #24032:   (kartiksubbarao)  Update  augeas_cfg.py  @  2015-05-21
347875         17:03:42 UTC
347876
347877         · 26d6851666   Merge   pull   request    #24032    from    kartiksub‐
347878           barao/augeas_insert_16383
347879
347880         · 3686dcd4c7 Update augeas_cfg.py
347881
347882       · PR  #24025:  (jayeshka)  adding  timezone unit test case @ 2015-05-21
347883         16:50:53 UTC
347884
347885         · 55c9245075  Merge   pull   request   #24025   from   jayeshka/time‐
347886           zone-unit-test
347887
347888         · 1ec33e22a7 removed assertion error
347889
347890         · 16ecb28950 adding timezone unit test case
347891
347892       · PR #24023: (jayeshka) adding states/mongodb_database unit test case @
347893         2015-05-21 16:49:17 UTC
347894
347895         · e243617659 Merge pull request  #24023  from  jayeshka/mongodb_data‐
347896           base-states-unit-test
347897
347898         · 5a9ac7effb adding states/mongodb_database unit test case
347899
347900       · PR  #24022:  (jayeshka)  adding  states/modjk_worker unit test case @
347901         2015-05-21 16:48:29 UTC
347902
347903         · b377bd93e6      Merge      pull      request      #24022       from
347904           jayeshka/modjk_worker-states-unit-test
347905
347906         · 05c0a985db adding states/modjk_worker unit test case
347907
347908       · ISSUE  #23776:  (enblde)  Presence change events constantly reporting
347909         all minions as new in 2015.5 (refs: #24005)
347910
347911       · PR #24005: (msteed) issue #23776 @ 2015-05-21 01:55:34 UTC
347912
347913         · 701c51ba7a Merge pull request #24005 from msteed/issue-23776
347914
347915         · 62e67d8ca0 issue #23776
347916
347917       · ISSUE #23950: (neogenix) iptables state generates a 0 position  which
347918         is invalid in iptables cli (refs: #23996)
347919
347920       · PR  #23996: (neogenix) iptables state generates a 0 position which is
347921         invalid in iptables cli #23950 @ 2015-05-20 22:44:27 UTC
347922
347923         · 17b7c0b741 Merge pull request #23996 from neogenix/2015.5-23950
347924
347925         · ad417a57c2 fix for #23950
347926
347927       · PR #23994: (rallytime) Skip the gpodder pkgrepo test for Ubuntu 15  -
347928         they don't have vivid ppa up yet @ 2015-05-20 21:18:21 UTC
347929
347930         · 4cb877307c     Merge    pull    request    #23994    from    rally‐
347931           time/skip_test_ubuntu_15
347932
347933         · 9e0ec07d85 Skip the gpodder pkgrepo test - they  don't  have  vivid
347934           ppa up yet
347935
347936   Salt 2015.5.3 Release Notes
347937       release
347938              2015-07-07
347939
347940       Version 2015.5.3 is a bugfix release for 2015.5.0.
347941
347942   Statistics
347943       · Total Merges: 178
347944
347945       · Total Issue References: 69
347946
347947       · Total PR References: 207
347948
347949       · Contributors:   62   (CameronNemo,  Lanzaa,  Starblade42,  The-Loeki,
347950         TheScriptSage,  aboe76,  ahus1,  aneeshusa,  anlutro,  arthurlogilab,
347951         basepi,  borutmrak, cachedout, cgtx, codertux, cro, dkiser, driskell,
347952         eliasp, garethgreenaway, grischa, gthb, heewa, infestdead, jacksontj,
347953         jacobhammons,   jayeshka,   jeanpralo,   jfindlay,  jodv,  joejulian,
347954         justinta,  kartiksubbarao,  kev009,  kiorky,  lorengordon,  msciciel,
347955         msteed, nmadhok, notpeter, obestwalter, pengyao, pille, porterjamesj,
347956         pruiz,  quixoten,   rallytime,   rhertzog,   ruzarowski,   ryan-lane,
347957         steverweber,  tankywoo,  tbaker57,  techhat,  terminalmage, thatch45,
347958         thenewwazoo, trevor-h, twangboy, variia, zefrog, zhujinhe)
347959
347960   Changelog for v2015.5.2..v2015.5.3
347961       Generated at: 2018-05-27 21:20:01 UTC
347962
347963       · PR  #25109:  (jfindlay)  add  2015.5.3  release  notes  @  2015-07-01
347964         19:45:56 UTC
347965
347966         · f0f512a4da Merge pull request #25109 from jfindlay/2015.5
347967
347968         · 3187d5d5aa add 2015.5.3 release notes
347969
347970       · PR #25096: (jfindlay) Postgres group test @ 2015-07-01 18:48:26 UTC
347971
347972         · PR  #24330: (jayeshka) adding states/postgres_group unit test case.
347973           (refs: #25096)
347974
347975         · 21709aa483  Merge   pull   request   #25096   from   jfindlay/post‐
347976           gres_group_test
347977
347978         · 3c379dc115 declobber postgres state unit test mocking
347979
347980         · a162ffa3d8 adding states/postgres_group unit test case.
347981
347982       · ISSUE  #25041: (wt) REGRESSION: pillar.get of integer fails to render
347983         in sls (refs: #25085)
347984
347985       · PR #25085:  (jfindlay)  accept  all  sources  in  the  file  state  @
347986         2015-07-01 18:23:45 UTC
347987
347988         · 0a846400c6 Merge pull request #25085 from jfindlay/fix_file
347989
347990         · 937a252e16 remove unnecessary file state tests
347991
347992         · 6f238e924c integration test file.managed sources
347993
347994         · a5978d30c2 iterate an iterable source othwerise list+str it
347995
347996       · PR  #25095:  (jfindlay) Win groupadd unit tests @ 2015-07-01 18:18:53
347997         UTC
347998
347999         · PR #24207: (jayeshka) adding win_groupadd unit  test  case.  (refs:
348000           #25095)
348001
348002         · a98394210e     Merge    pull    request    #25095    from    jfind‐
348003           lay/win_groupadd_test
348004
348005         · 564dffd14a depend on win libs rather than mocking them
348006
348007         · 9b9aeb8628 resolved all erors.
348008
348009         · aaf89354c0 adding win_groupadd unit test case.
348010
348011       · ISSUE #21520: (jfindlay) sudo.salt_call is broken (refs: #25089)
348012
348013       · PR #25089: (jfindlay) fix minion sudo @ 2015-07-01 15:53:16 UTC
348014
348015         · PR #20226: (thatch45) Allow sudo priv escalation (refs: #25089)
348016
348017         · 7c8d2a8656 Merge pull request #25089 from jfindlay/fix_sudo
348018
348019         · d8f91d4a19 add some apprehension to the sudo exec module
348020
348021         · a9269c072a adding sudo exec module docs
348022
348023         · e4a40b7bd8 comment whitespace in minion config
348024
348025         · 44cb167744 adding sudo_user minion config docs
348026
348027         · d461060efe adding sudo_user minion config to default
348028
348029       · ISSUE #24875: (ahammond) ValueError: list.remove(x): x  not  in  list
348030         in    File "/usr/lib/python2.6/site-packages/salt/cli/batch.py", line
348031         179, in run active.remove(minion) (refs: #25099)
348032
348033       · PR #25099: (driskell) Fix broken batch results @ 2015-07-01  15:51:29
348034         UTC
348035
348036         · 4d6078e5dd Merge pull request #25099 from driskell/patch-1
348037
348038         · 59b23e5f6e Fix broken batch results
348039
348040       · PR  #25083:  (steverweber)  ipmi: get_sensor_data would always fail @
348041         2015-06-30 20:57:21 UTC
348042
348043         · 46350796b6 Merge pull request #25083 from steverweber/fix_ipmi_stat
348044
348045         · 836f48c378 include _ in IpmiCommand
348046
348047         · 817e434591 get_sensor_data would always fail
348048
348049       · PR #25067: (The-Loeki)  Fix  for  maxdepth=0  in  find  @  2015-06-30
348050         20:54:06 UTC
348051
348052         · 15f2a4077c Merge pull request #25067 from The-Loeki/patch-1
348053
348054         · 61edad3a80 Fix for maxdepth=0 in find
348055
348056       · PR  #25078:  (terminalmage)  Use  smaller  number  for upper limit of
348057         mac_user's _first_avail_uid helper function @ 2015-06-30 20:53:24 UTC
348058
348059         · 58d933cfa8 Merge pull request #25078 from terminalmage/fix-mac-uid
348060
348061         · df2ab7ee2b  Use  smaller  number  for  upper  limit  of  mac_user's
348062           _first_avail_uid helper function
348063
348064       · ISSUE   #24521:  (multani)  State  network.managed  fails  on  Debian
348065         (Jessie) (refs: #25045)
348066
348067       · PR #25045:  (garethgreenaway)  Fixes  to  debian_ip.py  in  2015.5  @
348068         2015-06-30 17:36:43 UTC
348069
348070         · ebd6cdc412    Merge   pull   request   #25045   from   garethgreen‐
348071           away/24521_debian_networking
348072
348073         · 6f2a6c940b having proto default to  static  since  it's  needed  to
348074           build the template.
348075
348076       · PR  #25065:  (lorengordon)  Add  download  links  for  2015.5.1-3 and
348077         2015.5.2 Windows installers @ 2015-06-30 15:29:31 UTC
348078
348079         · ae31b279cc Merge pull request #25065  from  lorengordon/update-win‐
348080           dows-installer-links
348081
348082         · 40a0c132d4  Add  download  links for 2015.5.1-3 and 2015.5.2, Fixes
348083           #25057
348084
348085       · PR #25052: (basepi) [2015.5] Merge forward from 2014.7  to  2015.5  @
348086         2015-06-30 01:05:00 UTC
348087
348088         · ddaeb0fb8e   Merge   pull  request  #25052  from  basepi/merge-for‐
348089           ward-2015.5
348090
348091         · 2c5e664a58  Merge  remote-tracking  branch  'upstream/2014.7'  into
348092           merge-forward-2015.5
348093
348094         · a7154e7471  Merge pull request #25011 from notpeter/s3_2014.7_back‐
348095           port
348096
348097           · 8b8af640f6 Add s3 to protocols for remote source_hash
348098
348099       · PR #25038: (jfindlay) versionadded @ 2015-06-29 19:49:27 UTC
348100
348101         · PR #24747: (msciciel) add  get_route  function  to  network  module
348102           (refs: #25038)
348103
348104         · c7003d4951 Merge pull request #25038 from jfindlay/versionadded
348105
348106         · d6dc6f97b5 versionadded
348107
348108       · PR #24747: (msciciel) add get_route function to network module (refs:
348109         #25038) @ 2015-06-29 16:51:43 UTC
348110
348111         · 28c87cab17 Merge pull request #24747 from msciciel/2015.5
348112
348113         · 79b4ec2da8 network module lint fix
348114
348115         · 0b6ef784b2 network module: fix for ipv6
348116
348117         · f3d184c478 add get_route function to network module
348118
348119       · PR #24975: (ryan-lane) Fix update of undefined env var in npm  module
348120         @ 2015-06-29 16:45:05 UTC
348121
348122         · 46a96773aa Merge pull request #24975 from lyft/npm-module-fix
348123
348124         · 6fde58182f Try byte literals rather than unicode strings in the env
348125
348126         · c8514de334 Fix update of undefined env var in npm module
348127
348128       · PR  #24986:  (heewa)  Don't modify empty change @ 2015-06-29 16:44:17
348129         UTC
348130
348131         · 9cf8550cd8      Merge      pull      request      #24986       from
348132           heewa/fix-pkg-hold-when-errored
348133
348134         · d47a448a80 Don't modify empty change
348135
348136       · ISSUE #24969: (bradthurber) salt-cloud 2015.5.0: missing azure depen‐
348137         dency results in misleading error (refs: #24999)
348138
348139       · PR #24999: (rallytime) Provide a  less  confusing  error  when  cloud
348140         provider is misconfigured @ 2015-06-29 16:43:31 UTC
348141
348142         · ece897d8d6     Merge    pull    request    #24999    from    rally‐
348143           time/cloud_error_help
348144
348145         · 1e81a88625 Clean up
348146
348147         · be19a6730e Provide a less confusing error when  cloud  provider  is
348148           misconfigured
348149
348150       · PR #24987: (heewa) Don't try to cache a template when it's not a file
348151         @ 2015-06-29 14:02:59 UTC
348152
348153         · 4af15cfb90  Merge   pull   request   #24987   from   heewa/fix-try‐
348154           ing-to-cache-no-file
348155
348156         · 9ae0c78ffc Don't try to cache a template when it's not a file
348157
348158       · PR  #25022:  (jfindlay)  revise  label  and milestone documentation @
348159         2015-06-29 13:51:24 UTC
348160
348161         · 8eeaddbff4 Merge pull request #25022 from jfindlay/label_docs
348162
348163         · 8575192cc4 revise label and milestone documentation
348164
348165       · PR #25029: (jayeshka) adding redismod unit test case.   @  2015-06-29
348166         13:50:33 UTC
348167
348168         · 89c2e01ac1   Merge   pull   request   #25029  from  jayeshka/redis‐
348169           mod-unit-test
348170
348171         · e3045be5a9 adding redismod unit test case.
348172
348173       · PR #24995: (rallytime) Fix deprecated pymongo usage causing errors in
348174         latest pymongo @ 2015-06-27 22:28:56 UTC
348175
348176         · PR  #24175:  (trevor-h) fix deprecated pymongo usage causing errors
348177           in latest pymongo (refs: #24995)
348178
348179         · 642525298c Merge pull request #24995 from rallytime/tops_mongo
348180
348181         · a3c1063a37 fix deprecated pymongo usage causing  errors  in  latest
348182           pymongo
348183
348184       · ISSUE #24862: (dkatsanikakis) gpg.import_key returns error after suc‐
348185         cesfully completed (refs: #24994, #24966)
348186
348187       · PR #24994: (garethgreenaway)  Another  Fix  to  gpg.py  in  2015.5  @
348188         2015-06-27 22:28:15 UTC
348189
348190         · e9aaa11b68    Merge   pull   request   #24994   from   garethgreen‐
348191           away/2015_5_24862_gpg_import_key
348192
348193         · d2f0d8fa96 variable was referenced before assignment.  Just  remov‐
348194           ing  the  variable  and  checking  the  return  from distutils.ver‐
348195           sion.LooseVersion directly.
348196
348197       · PR #24988: (jayeshka) adding states/supervisord unit  test  case.   @
348198         2015-06-27 22:24:42 UTC
348199
348200         · ebd666e5ee   Merge   pull  request  #24988  from  jayeshka/supervi‐
348201           sord-states-unit-test
348202
348203         · bb0a6d5625 adding states/supervisord unit test case.
348204
348205       · PR #25007: (basepi) [2015.5] Merge forward from 2014.7  to  2015.5  @
348206         2015-06-26 21:28:57 UTC
348207
348208         · 0487c3c59b   Merge   pull  request  #25007  from  basepi/merge-for‐
348209           ward-2015.5
348210
348211         · 4980fd547b  Merge  remote-tracking  branch  'upstream/2014.7'  into
348212           merge-forward-2015.5
348213
348214         · a11e4c6eea Merge pull request #24944 from techhat/issue24915
348215
348216           · 59c3081e49 Double-check main_cloud_config
348217
348218         · d26a5447ba Merge pull request #24936 from jtand/psutil
348219
348220           · bdb7a19c36 Fixed ps module to not use depreciated psutil commands
348221
348222       · PR #25003: (jacobhammons) Updated man pages @ 2015-06-26 19:13:41 UTC
348223
348224         · 91a60e198e Merge pull request #25003 from jacobhammons/man-pages
348225
348226         · cf97a4ab17 Updated man pages
348227
348228       · PR  #25002:  (jacobhammons)  sphinx  html  theme updates @ 2015-06-26
348229         18:39:14 UTC
348230
348231         · a60a2c4222   Merge   pull    request    #25002    from    jacobham‐
348232           mons/doc-announcements
348233
348234         · f88f344a28 sphinx html theme updates
348235
348236       · PR  #24977:  (rallytime) Only warn about digital ocean deprecation if
348237         digital ocean is configured @ 2015-06-25 23:54:46 UTC
348238
348239         · a791b23ff9 Merge pull request #24977 from rallytime/do_move_warning
348240
348241         · 6b544227ab Only warn about digital  ocean  deprecation  if  digital
348242           ocean is configured
348243
348244       · ISSUE #24862: (dkatsanikakis) gpg.import_key returns error after suc‐
348245         cesfully completed (refs: #24994, #24966)
348246
348247       · PR #24966: (garethgreenaway) Fixes to gpg.py in 2015.5  @  2015-06-25
348248         19:58:49 UTC
348249
348250         · a71c1b7c8b    Merge   pull   request   #24966   from   garethgreen‐
348251           away/2015_5_24862_gpg_import_key
348252
348253         · 55eb73b0c9 fixing unit tests.
348254
348255         · 80c24be4fe Fixing an issue with the import_key  method.   Different
348256           results depending on which gnupg python module is installed.
348257
348258       · ISSUE  #24846:  (mavenAtHouzz)  Memory  leak  issue  in  rest_tornado
348259         EventListener (refs: #24965)
348260
348261       · PR #24965: (jacksontj) Fix  memory  leak  in  saltnado  @  2015-06-25
348262         18:48:03 UTC
348263
348264         · 86221846ac Merge pull request #24965 from jacksontj/2015.5
348265
348266         · 48b5e1653e pylint
348267
348268         · 87adca46e0 Fix memory leak in saltnado
348269
348270       · PR  #24948:  (jfindlay)  fix  some  malformed doc links and anchors @
348271         2015-06-25 15:51:38 UTC
348272
348273         · 773c4cf8e4 Merge pull request #24948 from jfindlay/doc_links
348274
348275         · 152a9b2a12 fix some malformed doc links and anchors
348276
348277       · ISSUE #24885: (anlutro) Master config - Directories starting  with  a
348278         dot have the dot stripped when root_dir is . (refs: #24886)
348279
348280       · PR  #24886:  (anlutro)  Be more careful about stripping away root_dir
348281         from directory options @ 2015-06-25 15:50:11 UTC
348282
348283         · 4ebc01e662 Merge pull request #24886 from alprs/fix-root_dir_bug
348284
348285         · 52ccafded3 os.sep is the correct directory separator constant
348286
348287         · 0ecbf261ad Be more  careful  about  stripping  away  root_dir  from
348288           directory options
348289
348290       · PR  #24930:  (jacksontj)  Don't  refetch  file  templates 100% of the
348291         time-- Performance optimization  for  templated  files  @  2015-06-24
348292         21:22:47 UTC
348293
348294         · f52f7e1d20 Merge pull request #24930 from jacksontj/2015.5
348295
348296         · 5fb75346ef Only parse the source if we have one
348297
348298         · c03a6fa9d1 Add support for sources of managed files to be local
348299
348300         · 4cf78a0a95 pylint
348301
348302         · d70914e473  Don't  refetch  the template 100% of the time-- Perfor‐
348303           mance optimization for templated files
348304
348305       · PR #24935: (basepi) [2015.5] Merge forward from 2014.7  to  2015.5  @
348306         2015-06-24 18:17:54 UTC
348307
348308         · 925a4d91ba   Merge   pull  request  #24935  from  basepi/merge-for‐
348309           ward-2015.5
348310
348311         · 8d8bf3476f  Merge  remote-tracking  branch  'upstream/2014.7'  into
348312           merge-forward-2015.5
348313
348314         · eeb05a1b10   Merge   pull   request   #24918  from  BretFisher/min‐
348315           ion-start-smartos-smf-fix
348316
348317           · d7bfb0c7fd Smartos smf minion fix
348318
348319       · ISSUE #24826: (rakai93) rh_service.py: 'int' object has no  attribute
348320         'startswith' (refs: #24873)
348321
348322       · PR  #24873: (jfindlay) convert osrelease grain to str before str op @
348323         2015-06-24 16:43:08 UTC
348324
348325         · 4e8ed0d8ed Merge pull request #24873 from jfindlay/rh_service
348326
348327         · febe6efab7 convert osrelease grain to str before str op
348328
348329       · PR  #24923:  (jayeshka)  adding  states/status  unit  test  case.   @
348330         2015-06-24 15:50:07 UTC
348331
348332         · 90819f9c37   Merge   pull   request   #24923   from   jayeshka/sta‐
348333           tus-states-unit-test
348334
348335         · baec650674 adding states/status unit test case.
348336
348337       · PR #24902: (cro) Fix minion  failover,  document  same  @  2015-06-24
348338         15:20:43 UTC
348339
348340         · 2dd24ece71 Merge pull request #24902 from cro/fixfo2
348341
348342         · 90c73ff446 References to documentation.
348343
348344         · f0c9204d8b Add references to failover parameters in conf
348345
348346         · 9da96a8b95 Docs
348347
348348         · e2314f0e49 Move comment.
348349
348350         · b9a756ff5f  Fix  master  failover  and  add documentation for same.
348351           Factor in syndics.  Syndics will not failover (yet).
348352
348353       · PR #24926:  (rallytime)  Back-port  #22263  to  2015.5  @  2015-06-24
348354         15:09:40 UTC
348355
348356         · PR  #22263:  (cachedout)  Prevent  a load from being written if one
348357           already exists (refs: #24926)
348358
348359         · 087ee09f46 Merge pull request #24926 from rallytime/bp-22263
348360
348361         · 8c92d9c677 Prevent a load from being written if one already exists
348362
348363       · PR #24900:  (rallytime)  Back-port  #24848  to  2015.5  @  2015-06-24
348364         15:09:18 UTC
348365
348366         · PR #24848: (nmadhok) Correcting bash code blocks (refs: #24900)
348367
348368         · b34a74fe89 Merge pull request #24900 from rallytime/bp-24848
348369
348370         · d2b5456f5d Correcting bash code blocks
348371
348372       · PR  #24899:  (rallytime)  Back-port  #24847  to  2015.5  @ 2015-06-24
348373         15:09:01 UTC
348374
348375         · PR #24847: (borutmrak) unset size  parameter  for  lxc.create  when
348376           backing=zfs (refs: #24899)
348377
348378         · a546e8e326 Merge pull request #24899 from rallytime/bp-24847
348379
348380         · 1e4ec7a56b unset size parameter for lxc.create when backing=zfs
348381
348382       · PR  #24898:  (rallytime)  Back-port  #24845  to  2015.5  @ 2015-06-24
348383         15:06:09 UTC
348384
348385         · PR #24845: (porterjamesj) fix bug in docker.loaded (refs: #24898)
348386
348387         · d4dd8d288d Merge pull request #24898 from rallytime/bp-24845
348388
348389         · 071049ae7a fix bug in docker.loaded
348390
348391       · ISSUE #24799: (infestdead) Forced  remount  because  options  changed
348392         when no options changed (glusterfs) (refs: #24839)
348393
348394       · PR  #24897:  (rallytime)  Back-port  #24839  to  2015.5  @ 2015-06-24
348395         15:05:35 UTC
348396
348397         · PR #24839: (infestdead) fix for issue #24799 (refs: #24897)
348398
348399         · 693085520f Merge pull request #24897 from rallytime/bp-24839
348400
348401         · f3b20d5445 fix for issue #24799
348402
348403       · PR #24891: (jayeshka) adding states/ssh_known_hosts unit  test  case.
348404         @ 2015-06-23 16:46:58 UTC
348405
348406         · 1650233be9       Merge      pull      request      #24891      from
348407           jayeshka/ssh_known_hosts-states-unit-test
348408
348409         · ef1347f2b3 adding states/ssh_known_hosts unit test case.
348410
348411       · ISSUE #24870: (dkiser) salt-cloud fails on sudo password prompt  when
348412         using ssh key to auth (refs: #24874)
348413
348414       · PR  #24874: (dkiser) Fix for salt-cloud when ssh key used to auth and
348415         using sudo.  @ 2015-06-22 23:46:08 UTC
348416
348417         · c32aae96aa Merge pull request #24874 from dkiser/salt-cloud-24870
348418
348419         · 6c31143b22 Fix key error for the PR to fix #24870.
348420
348421         · bdcf7d88c1 Fix pylint for #24874.
348422
348423         · 8f66d193e0 Fix for salt-cloud when ssh key used to auth  and  using
348424           sudo.
348425
348426       · ISSUE  #24871: (dkiser) salt-cloud fails to honor 'password' in cloud
348427         options before raising an exception (refs: #24880)
348428
348429       · PR #24880: (dkiser) Fix to allow password for salt-cloud  to  be  set
348430         outside of a vm specif… @ 2015-06-22 23:44:59 UTC
348431
348432         · ddaa21c0ae Merge pull request #24880 from dkiser/salt-cloud-24871
348433
348434         · 4f6c035673  Fix  to allow password for salt-cloud to be set outside
348435           of a vm specific context.
348436
348437       · PR #24852: (pruiz) Fix issue 24851:  regular  expression  so  it  now
348438         matches  packages  with  '.' or '-' at pkg name @ 2015-06-22 20:37:13
348439         UTC
348440
348441         · 3902b162a9 Merge pull request #24852 from pruiz/issue-24851
348442
348443         · 73adb1df50 Fix regular expression so it now matches  packages  with
348444           '.' or '-' at pkg name.
348445
348446       · PR  #24861:  (jayeshka)  adding  states/ssh_auth  unit  test case.  @
348447         2015-06-22 16:20:01 UTC
348448
348449         · 6c5b788afd      Merge      pull      request      #24861       from
348450           jayeshka/ssh_auth-states-unit-test
348451
348452         · e5d7b0de80 adding states/ssh_auth unit test case.
348453
348454       · ISSUE  #23478:  (calvinhp)  grains.get  virtual reports "physical" on
348455         bhyve FreeBSD VM (refs: #24824)
348456
348457       · PR #24824: (kev009) Detect bhyve virtual type for  FreeBSD  guests  @
348458         2015-06-22 15:24:35 UTC
348459
348460         · 9e3321c18e Merge pull request #24824 from kev009/grains-bhyve-bsd
348461
348462         · a2262097a1 Detect bhyve virtual type for freebsd guests
348463
348464       · ISSUE  #24746:  (anlutro)  state.apply  doesn't  seem  to work (refs:
348465         #24795)
348466
348467       · PR #24795:  (anlutro)  Fix  state.apply  for  salt-ssh  @  2015-06-22
348468         15:23:57 UTC
348469
348470         · 7b07ef9f44       Merge      pull      request      #24795      from
348471           alprs/fix-salt_ssh_state_apply
348472
348473         · 905840b1fa Fix state.apply for salt-ssh
348474
348475       · PR #24832: (jacksontj) Don't incur a "_load_all" of  the  lazy_loader
348476         while looking for mod_init.  @ 2015-06-22 15:17:10 UTC
348477
348478         · PR  #20540:  (jacksontj)  Loader  nomerge:  Don't  allow modules to
348479           "merge" (refs: #24832)
348480
348481         · PR #20481: (jacksontj) Add submodule support to  LazyLoader  (refs:
348482           #20540)
348483
348484         · PR #20473: (jacksontj) Add "disabled" support (refs: #20481)
348485
348486         · PR #20274: (jacksontj) Loader overhaul to LazyLoader (refs: #20473)
348487
348488         · PR  #12327:  (jacksontj)  Add  a LazyLoader class which will lazily
348489           load modules (with the given lo... (refs: #20274)
348490
348491         · 31d4c131e9 Merge pull request #24832 from jacksontj/2015.5
348492
348493         · cfa7c0a699 pylint
348494
348495         · be18439736 Don't incur a "_load_all" of the lazy_loader while look‐
348496           ing for mod_init.
348497
348498       · ISSUE  #14666:  (luciddr34m3r) salt-cloud GoGrid exception when using
348499         map file (refs: #24811)
348500
348501       · PR #24834:  (rallytime)  Back-port  #24811  to  2015.5  @  2015-06-19
348502         18:43:49 UTC
348503
348504         · PR  #24811:  (rallytime)  Add notes to map and gogrid docs -- don't
348505           use -P with map files (refs: #24834)
348506
348507         · 2d8148fb4d Merge pull request #24834 from rallytime/bp-24811
348508
348509         · e2684ecf0b Add notes to map and gogrid docs -- don't  use  -P  with
348510           map files
348511
348512       · PR  #24790:  (rallytime)  Back-port  #24741  to  2015.5  @ 2015-06-19
348513         17:25:58 UTC
348514
348515         · PR #24741: (CameronNemo) Improve  Upstart  enable/disable  handling
348516           (refs: #24790)
348517
348518         · d2edb63cff Merge pull request #24790 from rallytime/bp-24741
348519
348520         · a54245f080 Add missing import
348521
348522         · 4ce6370d6e salt.modules.upstart: fix lint errors
348523
348524         · aec53ec32a Improve Upstart enable/disable handling
348525
348526       · PR  #24789:  (rallytime)  Back-port  #24717  to  2015.5  @ 2015-06-19
348527         17:17:00 UTC
348528
348529         · PR #24717: (gthb) virtualenv.managed: document  user  and  no_chown
348530           (refs: #24789)
348531
348532         · 645e62a43c Merge pull request #24789 from rallytime/bp-24717
348533
348534         · 95ac4eba13 virtualenv.managed: document user and no_chown
348535
348536       · PR  #24823: (jayeshka) adding states/splunk_search unit test case.  @
348537         2015-06-19 17:14:12 UTC
348538
348539         · 0a6c70f062      Merge      pull      request      #24823       from
348540           jayeshka/splunk_search-states-unit-test
348541
348542         · 98831a8cb0 adding states/splunk_search unit test case.
348543
348544       · PR #24809: (jodv) Correctly create single item list for failover mas‐
348545         ter type with string value for master opt @ 2015-06-19 15:22:20 UTC
348546
348547         · 4c5a708599 Merge pull  request  #24809  from  jodv/single_item_mas‐
348548           ter_list
348549
348550         · 18ceebc77f single item list vs. list of characters
348551
348552       · PR  #24802:  (basepi)  [2015.5] Merge forward from 2014.7 to 2015.5 @
348553         2015-06-18 20:11:58 UTC
348554
348555         · ae05e70e94  Merge  pull  request  #24802   from   basepi/merge-for‐
348556           ward-2015.5
348557
348558         · 5b7a65d6d9 Merge pull request #19 from twangboy/merge-forward-fixes
348559
348560           · 98e7e90299 Fixed test failures for Colton
348561
348562         · b949856ae6  Merge  remote-tracking  branch  'upstream/2014.7'  into
348563           merge-forward-2015.5
348564
348565           · 4281dfff0b  Merge  pull   request   #24780   from   nmadhok/back‐
348566             port-2014.7-24777
348567
348568             · c53b0d9a22 Backporting PR #24777 to 2014.7 branch
348569
348570           · f3c5cb2d41 Merge pull request #24769 from msteed/issue-21318
348571
348572             · f40a9d5cc0 Fix stacktrace in get_cli_returns()
348573
348574           · 59db24602f Merge pull request #24690 from twangboy/fix_17041
348575
348576             · 7a015389af Added additional reporting
348577
348578             · d84ad5d519 Fixed capitalization... Failed and Already
348579
348580             · e9552455c4        Merge        branch        '2014.7'        of
348581               https://github.com/saltstack/salt into fix_17041
348582
348583             · 144bff2f67 Report powershell output instead of error
348584
348585         · PR saltstack/salt#24329: (jayeshka) adding states/postgres_database
348586           unit test case. (refs: #24798)
348587
348588       · PR  #24798:  (justinta)  Revert "adding states/postgres_database unit
348589         test case."  @ 2015-06-18 17:56:17 UTC
348590
348591         · daa76c34e4    Merge    pull    request    #24798     from     salt‐
348592           stack/revert-24329-postgres_database-states-unit-test
348593
348594         · 179ce03d93 Revert "adding states/postgres_database unit test case."
348595
348596       · PR  #24791:  (rallytime)  Back-port  #24749  to  2015.5  @ 2015-06-18
348597         17:43:15 UTC
348598
348599         · PR #24749: (obestwalter) add windows specfic default for  multipro‐
348600           cessing (refs: #24791)
348601
348602         · 7073a9f850 Merge pull request #24791 from rallytime/bp-24749
348603
348604         · be43b2b394 add windows specfic default for multiprocessing
348605
348606       · PR  #24792:  (rallytime)  Back-port  #24757  to  2015.5  @ 2015-06-18
348607         15:58:35 UTC
348608
348609         · PR #24757: (cachedout) Fix loader call in pyobjects (refs: #24792)
348610
348611         · PR #24668: (grischa) enable virtual package names in pyobjects ren‐
348612           derer (refs: #24721, #24757)
348613
348614         · 1a158e8a3b Merge pull request #24792 from rallytime/bp-24757
348615
348616         · 6c804f0789 Fix loader call in pyobjects
348617
348618       · PR  #24768:  (jfindlay) fix yum versionlock on RHEL/CentOS 5, disable
348619         corresponding test @ 2015-06-18 15:13:12 UTC
348620
348621         · 0f9298263b Merge pull request #24768 from jfindlay/pkg_mod
348622
348623         · 7a26c2b5b9 disable pkg.hold test for RHEL/CentOS 5
348624
348625         · 4cacd93c22 use correct yum versionlock pkg name on centos 5
348626
348627       · ISSUE #24776: (nmadhok) --static option in salt raises ValueError and
348628         has been broken for a very long time (refs: #24777)
348629
348630         · PR  #24779:  (nmadhok)  Backporting Changes to 2014.7 branch (refs:
348631           #24777)
348632
348633       · PR #24778: (nmadhok) Backporting PR #24777 to  2015.2  branch  (refs:
348634         #24777) @ 2015-06-18 14:53:04 UTC
348635
348636         · PR  #24777: (nmadhok) Fixing issue where --static option fails with
348637           ValueError Fixes #24776 (refs: #24778, #24780)
348638
348639         · 39f088a74c   Merge   pull   request   #24778   from   nmadhok/back‐
348640           port-2015.2-24777
348641
348642         · ae3701f639 Backporting PR #24777 to 2015.2 branch
348643
348644       · PR  #24774:  (zefrog)  Fix  lxc lvname parameter command @ 2015-06-18
348645         14:49:06 UTC
348646
348647         · 2a4f65f3f7      Merge      pull      request      #24774       from
348648           zefrog/fix-lxc-lvname-param
348649
348650         · 21e0cd4a5e Fixed typo in lxc module: lvname parameter typo
348651
348652         · 283d86ec12 Fixed bug in lxc module: lvname using wrong parameter in
348653           cmd
348654
348655       · PR  #24782:  (jayeshka)  adding  states/slack  unit  test  case.    @
348656         2015-06-18 14:33:55 UTC
348657
348658         · fd7339014b       Merge      pull      request      #24782      from
348659           jayeshka/slack-states-unit-test
348660
348661         · e2b6214764 adding states/slack unit test case.
348662
348663       · ISSUE #24770: (jacksontj) Requisite and Requisite_in don't play  nice
348664         together (refs: #24771)
348665
348666       · PR #24771: (jacksontj) Always extend requisites, instead of replacing
348667         them @ 2015-06-18 14:29:09 UTC
348668
348669         · c9c90af512 Merge pull request #24771 from jacksontj/2015.5
348670
348671         · b1211c5422 Re-enable tests for complex prereq and prereq_in
348672
348673         · 378f6bfc36 Only merge when the merge is of requisites
348674
348675       · PR #24766: (msteed) Remove doc references to obsolete  minion  opt  @
348676         2015-06-17 21:36:55 UTC
348677
348678         · 5fe4de8f62 Merge pull request #24766 from msteed/undoc-dns_check
348679
348680         · f92a769d35 Remove doc references to obsolete minion opt
348681
348682       · PR #24329: (jayeshka) adding states/postgres_database unit test case.
348683         @ 2015-06-17 19:11:02 UTC
348684
348685         · a407ab7c51 Merge pull request #24329  from  jayeshka/postgres_data‐
348686           base-states-unit-test
348687
348688         · ee06f1ad57 adding states/postgres_database unit test case.
348689
348690       · ISSUE  #24560:  (hydrosine) Documentation missing on parameter (refs:
348691         #24632)
348692
348693       · ISSUE #24547: (dragonpaw) Artifactory docs say  module  is  'jboss7'.
348694         (refs: #24632)
348695
348696       · ISSUE  #24375: (companykitchen-dev) Custom grain won't sync under any
348697         circumstances (refs: #24632)
348698
348699       · ISSUE #24275: (kartiksubbarao) augeas issue with apache and recogniz‐
348700         ing changes that have been already made (refs: #24632)
348701
348702       · ISSUE  #24163:  (tbaker57)  enable_gpu_grains default value confusion
348703         (refs: #24632)
348704
348705       · PR #24632: (jacobhammons) Doc bug fixes @ 2015-06-17 18:40:02 UTC
348706
348707         · 3ff6eff546 Merge pull request #24632 from jacobhammons/bug-fixes
348708
348709         · 7c52012e31 Fixed typos
348710
348711         · c7cdd416a2 Doc bug fixes Refs #24547 Refs #24275 Refs  #24375  Refs
348712           #24560 Refs #24163
348713
348714       · ISSUE  #24198:  (ahammond)  salt-call  event.send doesn't send events
348715         from minion (refs: #24607)
348716
348717       · PR #24607: (garethgreenaway) fixes to minion.py @ 2015-06-17 18:16:42
348718         UTC
348719
348720         · 9995f64428    Merge   pull   request   #24607   from   garethgreen‐
348721           away/2015_5_sending_events_multi_master
348722
348723         · 8abd3f0ee1 A fix if you have multiple masters configured and try to
348724           fire events to the minion.  Currently they fail silently.  Might be
348725           the cause of #24198.
348726
348727       · PR  #24755:  (rallytime)  Remove  SALT_CLOUD_REQS  from  setup.py   @
348728         2015-06-17 17:42:25 UTC
348729
348730         · bf2dd94389 Merge pull request #24755 from rallytime/fix_setup_15
348731
348732         · 48769a544d Remove SALT_CLOUD_REQS from setup.py
348733
348734       · PR  #24740:  (rallytime)  Backport  #24720  to  2015.5  @  2015-06-17
348735         16:43:37 UTC
348736
348737         · PR #24720: (TheScriptSage) Issue 24621 - AD/LDAP Group  Auth  Issue
348738           (refs: #24740)
348739
348740         · 3d53d79476 Merge pull request #24740 from rallytime/bp-24720
348741
348742         · a9bcdb5b77 Updating master.py to properly check against groups when
348743           user is only authed against group.  Tested against unit.auth_test.
348744
348745       · PR #24723:  (rallytime)  Back-port  #20124  to  2015.5  @  2015-06-17
348746         16:43:20 UTC
348747
348748         · PR #20124: (cgtx) add init system to default grains (refs: #24723)
348749
348750         · ac2851be55 Merge pull request #24723 from rallytime/bp-20124
348751
348752         · 4d0061b832  fix  infinite  loop  introduced by #20124 when the init
348753           system is not in the supported_inits list
348754
348755         · 0c7fa0fca2 Optimizations for #20124
348756
348757         · f353454327 add init system to default grains (resolve #20124)
348758
348759       · PR #24754: (anlutro) salt-cloud documentation - Add information about
348760         linode location @ 2015-06-17 16:04:48 UTC
348761
348762         · 78cd09b6e9  Merge  pull  request  #24754  from  alprs/docs-add_lin‐
348763           ode_location_option
348764
348765         · d88e071e98 add information about linode location
348766
348767       · PR #24748: (jayeshka) adding  states/serverdensity_device  unit  test
348768         case.  @ 2015-06-17 15:39:07 UTC
348769
348770         · d5554f76ec  Merge  pull  request  #24748  from  jayeshka/serverden‐
348771           sity_device-states-unit-test
348772
348773         · 1a4c241050 adding states/serverdensity_device unit test case.
348774
348775       · PR #24739:  (rallytime)  Back-port  #24735  to  2015.5  @  2015-06-17
348776         15:16:47 UTC
348777
348778         · PR  #24735:  (notpeter) Add 2015.5 codename to version numbers docs
348779           (refs: #24739)
348780
348781         · 0b7e7ef879 Merge pull request #24739 from rallytime/bp-24735
348782
348783         · 64c565d9be Add .0 to version number
348784
348785         · 5ed801b98f Add codenames for 2015.5 and future  versions.  Trailing
348786           newline.
348787
348788       · ISSUE  #24111:  (yermulnik)  cli  option '--summary' got broken after
348789         upgrade to 2015.5.1 (refs: #24732)
348790
348791       · PR  #24732:  (msteed)  Fix  stacktrace  when  --summary  is  used   @
348792         2015-06-17 03:27:57 UTC
348793
348794         · c8713f2d00 Merge pull request #24732 from msteed/issue-24111
348795
348796         · 54b33dd359 Fix stacktrace when --summary is used
348797
348798       · PR  #24721:  (rallytime)  Back-port  #24668  to  2015.5  @ 2015-06-17
348799         03:23:47 UTC
348800
348801         · PR #24668: (grischa) enable virtual package names in pyobjects ren‐
348802           derer (refs: #24721, #24757)
348803
348804         · 70d37816bf Merge pull request #24721 from rallytime/bp-24668
348805
348806         · 68fb5af970 fixing other test
348807
348808         · ba4f262b9c fixing text for virtual support in pyobjects
348809
348810         · b349d91a5f enable virtual package names in pyobjects renderer
348811
348812       · ISSUE  #21923: (Fluro) Salt cloud not running  provisioning script as
348813         root (refs: #24718)
348814
348815       · ISSUE #17241: (hasues) Salt-Cloud for vSphere needs additional  docu‐
348816         mentation (refs: #24718)
348817
348818       · PR #24718: (rallytime) Added some missing config documentation to the
348819         vsphere driver @ 2015-06-17 03:19:35 UTC
348820
348821         · 1b9d6895c7    Merge    pull    request    #24718    from     rally‐
348822           time/update_vsphere_docs
348823
348824         · bfdebb6e18  Added  some missing config documentation to the vsphere
348825           driver
348826
348827       · PR #24714: (rallytime)  Remove  cloud-requirements.txt  @  2015-06-17
348828         03:17:04 UTC
348829
348830         · 64857c706d     Merge    pull    request    #24714    from    rally‐
348831           time/remove_cloud_reqs_15
348832
348833         · 67b796d01e Remove cloud-requirements.txt
348834
348835       · ISSUE #24439: (bechtoldt) Add  tornado  version  to  versions  report
348836         (refs: #24733)
348837
348838       · PR  #24733:  (msteed) Include Tornado in versions report @ 2015-06-17
348839         03:13:53 UTC
348840
348841         · f96b1d68cd Merge pull request #24733 from msteed/issue-24439
348842
348843         · 76cfef05ec Include Tornado in versions report
348844
348845       · PR #24737: (jacksontj) Move AES command logging to trace @ 2015-06-17
348846         01:48:11 UTC
348847
348848         · a861fe0f4f Merge pull request #24737 from jacksontj/2015.5
348849
348850         · a4ed41ae82 Move AES command logging to trace
348851
348852       · PR  #24724:  (basepi)  [2015.5] Merge forward from 2014.7 to 2015.5 @
348853         2015-06-16 22:46:27 UTC
348854
348855         · 0d2dc46648  Merge  pull  request  #24724   from   basepi/merge-for‐
348856           ward-2015.5
348857
348858         · 4641028464  Merge  remote-tracking  branch  'upstream/2014.7'  into
348859           merge-forward-2015.5
348860
348861         · a18dadad71 Merge pull request #24646 from twangboy/fix_24196
348862
348863           · a208e1d60f Fixed user.present on existing user
348864
348865       · PR #24701:  (jayeshka)  adding  states/selinux  unit  test  case.   @
348866         2015-06-16 15:27:29 UTC
348867
348868         · 3d33fe7676       Merge      pull      request      #24701      from
348869           jayeshka/selinux-states-unit-test
348870
348871         · 0c136fd9c2 adding states/selinux unit test case.
348872
348873       · PR #24687: (cachedout) Note about minimum worker_threads @ 2015-06-15
348874         20:46:23 UTC
348875
348876         · 2e287a9e33    Merge    pull    request    #24687    from    cached‐
348877           out/min_worker_threads
348878
348879         · b7bb7eaeb2 Note about minimum worker_threads
348880
348881       · PR #24688: (cachedout) Update AUTHORS @ 2015-06-15 20:46:03 UTC
348882
348883         · 432478ccb7 Merge pull request #24688 from cachedout/update_authors
348884
348885         · 3f6880e291 Better email
348886
348887         · 6c7b773eae Update AUTHORS
348888
348889       · ISSUE #22385: (cachedout) States which  require  unavailable  modules
348890         should display the reason (refs: #24649)
348891
348892       · PR  #24649:  (cachedout) Improved error reporting for failed states @
348893         2015-06-15 16:04:20 UTC
348894
348895         · 9a2b50d59f Merge pull request #24649 from cachedout/issue_22385
348896
348897         · b9fe792534 States will now return the reason behind  failure  if  a
348898           module could not be loaded
348899
348900       · PR  #24673:  (jayeshka)  adding  states/schedule  unit  test case.  @
348901         2015-06-15 15:24:52 UTC
348902
348903         · 66e9e16753  Merge  pull   request   #24673   from   jayeshka/sched‐
348904           ule-states-unit-test
348905
348906         · 54aaaa5f12 adding states/schedule unit test case.
348907
348908       · ISSUE  #24661: (kartiksubbarao) augeas.change doesn't support setting
348909         empty values (refs: #24663)
348910
348911       · PR  #24663:  (kartiksubbarao)  Update  augeas_cfg.py   @   2015-06-15
348912         15:18:48 UTC
348913
348914         · 5eb19c4e4d Merge pull request #24663 from kartiksubbarao/patch-2
348915
348916         · e18db50e0c Update augeas_cfg.py
348917
348918       · ISSUE  #24583: (dkiser) salt-cloud keyring password referenced before
348919         assignment (refs: #24667)
348920
348921       · PR #24667: (dkiser) fix for #24583 clouds/openstack.py kerying  first
348922         time succeeds @ 2015-06-14 21:58:58 UTC
348923
348924         · 4450432161 Merge pull request #24667 from dkiser/fix-cloud-keyring
348925
348926         · c92c05fac0  fix  for  #24583 clouds/openstack.py kerying first time
348927           succeeds
348928
348929       · ISSUE #24537: (kartiksubbarao)  alias.present  doesn't  update  alias
348930         values that are substrings of the existing value (refs: #24659)
348931
348932       · PR  #24659:  (kartiksubbarao) Update aliases.py @ 2015-06-13 17:31:42
348933         UTC
348934
348935         · 4c64ee9d94 Merge pull request #24659 from kartiksubbarao/patch-1
348936
348937         · d6834749e2 Update aliases.py
348938
348939       · PR #24644: (cro) Merge forward 2014.7->2015.5 @  2015-06-12  21:31:41
348940         UTC
348941
348942         · 89eb616c29       Merge      pull      request      #24644      from
348943           cro/2014.7-2015.5-20150612
348944
348945         · 4136dc3160 Merge forward from 2014.7 to 2015.5
348946
348947         · b99484fde2 Merge pull request #24643 from cro/saltannounce
348948
348949           · ecb0623d7f Add salt-announce mailing list.
348950
348951         · 635121e85d Merge pull request #24620 from twangboy/fix_24215
348952
348953           · d7a9999be1 Fixed comment and uncomment functions in file.py
348954
348955         · PR  saltstack/salt#24595:  (tankywoo)  fix  target   rule,   remove
348956           unneeded quotation mark (refs: #24642)
348957
348958       · PR  #24642:  (basepi) Revert "fix target rule, remove unneeded quota‐
348959         tion mark" @ 2015-06-12 20:14:26 UTC
348960
348961         · b896a0d0e9    Merge    pull    request    #24642     from     salt‐
348962           stack/revert-24595-fix-iptables-target
348963
348964         · 5ff3224ae1 Revert "fix target rule, remove unneeded quotation mark"
348965
348966       · PR #24628: (jayeshka) adding states/reg unit test case.  @ 2015-06-12
348967         17:29:11 UTC
348968
348969         · 01092c2337      Merge      pull      request      #24628       from
348970           jayeshka/reg_states-unit-test
348971
348972         · af1bd8f9ff adding states/reg unit test case.
348973
348974       · ISSUE  #24494:  (arount)  Computed  comments  in  jinja states (refs:
348975         #24591)
348976
348977       · ISSUE #23359: (BalintSzigeti) init.sls parsing issue (refs: #24591)
348978
348979       · ISSUE #21217: (Colstuwjx)  Maybe  a  bug  for  jinja  render?  (refs:
348980         #24591)
348981
348982       · PR  #24631:  (rallytime)  Back-port  #24591  to  2015.5  @ 2015-06-12
348983         16:54:32 UTC
348984
348985         · PR #24591: (tbaker57) Add some documentation surrounding  Jinja  vs
348986           yaml comments -  (refs: #24631)
348987
348988         · 5f491f911d Merge pull request #24631 from rallytime/bp-24591
348989
348990         · f13cd418bc Add extra clarification why jinja comments are needed.
348991
348992         · 23749718bb Fix typo
348993
348994         · 6a917471d4 Add some documentation surrounding Jinja comments - refs
348995           #24492, #21217, #23359
348996
348997       · PR #24616: (garethgreenaway) additional logging in state.py module  @
348998         2015-06-12 16:25:39 UTC
348999
349000         · f23f99ec35    Merge   pull   request   #24616   from   garethgreen‐
349001           away/2015_5_logging_disabled_states
349002
349003         · 4dbf0ef160 Adding some logging  statement  to  give  feedback  when
349004           states,  including  highstate,  are  disabled.  Useful when running
349005           from scheduler.
349006
349007       · PR #24595: (tankywoo) fix target rule, remove unneeded quotation mark
349008         @ 2015-06-12 16:23:22 UTC
349009
349010         · 6dccbb04a1   Merge  pull  request  #24595  from  tankywoo/fix-ipta‐
349011           bles-target
349012
349013         · 10a5160d7c fix target rule, remove unneeded quotation mark
349014
349015       · PR #24604: (jfindlay) fix pkg module integration tests  @  2015-06-12
349016         16:04:26 UTC
349017
349018         · 8ac3d94785 Merge pull request #24604 from jfindlay/pkg_tests
349019
349020         · d88fb22fdc fix pkg module integration tests on CentOS 5
349021
349022         · fb91b40ba0 fix pkg module integration tests on ubuntu 12
349023
349024       · PR  #24600:  (basepi) [2015.5] Remove __kwarg__ from salt-ssh keyword
349025         args @ 2015-06-12 04:21:29 UTC
349026
349027         · 0ff545c549 Merge pull request #24600  from  basepi/salt-ssh.orches‐
349028           trate.20615
349029
349030         · 9b55683f6a Remove __kwarg__ from salt-ssh keyword args
349031
349032       · ISSUE #22843: (Xiol) salt-ssh roster doesn't support integers as host
349033         keys (refs: #24608)
349034
349035       · PR #24608: (basepi) [2015.5] Normalize salt-ssh  flat  roster  minion
349036         IDs to strings @ 2015-06-11 21:35:07 UTC
349037
349038         · 832916f49f Merge pull request #24608 from basepi/salt-ssh.flat.ros‐
349039           ter.integers.22843
349040
349041         · 381820f051 Normalize salt-ssh flat roster minion IDs to strings
349042
349043       · PR #24605: (basepi) [2015.5] Merge forward from 2014.7  to  2015.5  @
349044         2015-06-11 19:15:21 UTC
349045
349046         · 4eb5bb253b   Merge   pull  request  #24605  from  basepi/merge-for‐
349047           ward-2015.5
349048
349049         · f96c5029bb  Merge  remote-tracking  branch  'upstream/2014.7'  into
349050           merge-forward-2015.5
349051
349052         · d83928a7f9 Merge pull request #24589 from BretFisher/patch-1
349053
349054           · 65a11336dc Fixed Mine example for jinja code block
349055
349056       · ISSUE  #24457:  (ryan-lane) When selecting the version of docs on the
349057         docs site, it brings you to the homepage (refs: #24598)
349058
349059       · ISSUE #24250: (jfindlay) have version links on docs page link to that
349060         version of the current page (refs: #24598)
349061
349062       · PR  #24598:  (jacobhammons)  2015.5.2  release  changes  @ 2015-06-11
349063         17:24:11 UTC
349064
349065         · e0bb177823 Merge pull request #24598 from jacobhammons/doc-fixes
349066
349067         · f3f34ddff6 2015.5.2 release changes Refs #24250 Refs #24457
349068
349069       · ISSUE #20615: (aurynn) 2014.7.1: salt/states/saltmod using  incorrect
349070         return dict for orchestrate (refs: #24588)
349071
349072       · PR  #24588:  (basepi)  Fixes  for  saltmod.function  for  salt-ssh  @
349073         2015-06-11 16:15:21 UTC
349074
349075         · 26930b45bd Merge pull request #24588  from  basepi/salt-ssh.orches‐
349076           trate.20615
349077
349078         · 826936ce57 Move documentation into docstring instead of comments
349079
349080         · de052e7135  Assign  'return' to 'ret' if necessary in saltmod.func‐
349081           tion
349082
349083         · 34ff989d66 Convert keyword args to key=value strings in salt-ssh
349084
349085       · PR #24593: (jayeshka)  adding  states/redismod  unit  test  case.   @
349086         2015-06-11 15:55:27 UTC
349087
349088         · 5a21ad152e   Merge   pull   request   #24593  from  jayeshka/redis‐
349089           mod_states-unit-test
349090
349091         · 3b95744840 adding states/redismod unit test case.
349092
349093       · ISSUE #40: (thatch45) Clean up timeouts (refs: #22857)
349094
349095       · PR #24581: (rallytime) Disabled some flaky tests until we can  figure
349096         out how to make them more reliable @ 2015-06-11 15:51:41 UTC
349097
349098         · PR  #24217:  (jfindlay) disable intermittently failing tests (refs:
349099           #24581)
349100
349101         · PR #23623: (jfindlay) Fix /jobs endpoint's return (refs: #24217)
349102
349103         · PR #22857: (jacksontj) Fix /jobs endpoint's return (refs: #23623)
349104
349105         · 8ffb86edd0  Merge   pull   request   #24581   from   rallytime/dis‐
349106           able_some_flaky_tests
349107
349108         · c82f135d2e Disabled some flaky tests until we can figure out how to
349109           make them more reliable
349110
349111       · PR #24566: (jayeshka) adding states/rdp unit test case.  @ 2015-06-11
349112         02:14:39 UTC
349113
349114         · a570d7f967       Merge      pull      request      #24566      from
349115           jayeshka/rdp_states-unit-test
349116
349117         · 273b994e91 adding states/rdp unit test case.
349118
349119       · ISSUE #24480: (kiorky) [CRITICAL] [2015.5] tls breaks  tzinfo  (refs:
349120         #24551)
349121
349122       · PR  #24551:  (joejulian) 2015.5 dont pollute environment @ 2015-06-11
349123         02:13:06 UTC
349124
349125         · 20ada1f8a1    Merge    pull    request    #24551    from     joeju‐
349126           lian/2015.5_dont_pollute_environment
349127
349128         · cfc3b43ba2 Don't pollute the TZ environment variable
349129
349130         · cba8d3f923 pep8
349131
349132         · 9cb7015568 Mark keyword version adds
349133
349134         · 76e2583265 Merge tls changes from develop
349135
349136       · ISSUE  #19901:  (clinta) State cache is not documented (refs: #24574,
349137         #24468)
349138
349139       · PR #24574: (jacobhammons) Refs #19901 @ 2015-06-10 20:09:23 UTC
349140
349141         · bb2fd6a970 Merge pull request #24574 from jacobhammons/19901
349142
349143         · e2a2946dc7 Refs #19901
349144
349145       · PR #24577: (basepi) [2015.5] Merge forward from 2014.7  to  2015.5  @
349146         2015-06-10 19:46:22 UTC
349147
349148         · b03166cde3   Merge   pull  request  #24577  from  basepi/merge-for‐
349149           ward-2015.5
349150
349151         · e1d45ccf3b  Merge  remote-tracking  branch  'upstream/2014.7'  into
349152           merge-forward-2015.5
349153
349154         · d376390f76 Merge pull request #24530 from twangboy/fix_24427
349155
349156           · 673e1d809e Added missing panel.bmp for installer
349157
349158           · cc50218b01 Start Minion Service on Silent Install
349159
349160       · ISSUE  #24235:  (tomasfejfar)  Difference between running from minion
349161         and from master (refs: #24571, #24468)
349162
349163       · PR #24571: (jacobhammons) Refs #24235 @ 2015-06-10 17:02:18 UTC
349164
349165         · 3ec457beef Merge pull request #24571 from jacobhammons/24235
349166
349167         · 8df5d53bb8 Refs #24235
349168
349169       · PR #24565: (pille) fix backtrace, when listing plugins  @  2015-06-10
349170         16:33:11 UTC
349171
349172         · fe07eb5653  Merge  pull request #24565 from pille/munin-ignore-bro‐
349173           ken-symlinks
349174
349175         · 8511a6c0a6 fix backtrace, when listing plugins
349176
349177       · PR #24554: (ryan-lane) Fix yes usage for pecl defaults  @  2015-06-09
349178         23:59:49 UTC
349179
349180         · 251c8f9f5f Merge pull request #24554 from lyft/pecl-module-fix
349181
349182         · 56a9cfcf24 Fix yes usage for pecl defaults
349183
349184       · PR  #24535:  (rallytime)  Back-port  #24518  to  2015.5  @ 2015-06-09
349185         20:06:18 UTC
349186
349187         · PR #24518:  (rallytime)  Merge  #24448  with  Pylint  Fixes  (refs:
349188           #24535)
349189
349190         · PR  #24448:  (codertux)  Update  modules path for operating systems
349191           using systemd (refs: #24518)
349192
349193         · dbd49b4acb Merge pull request #24535 from rallytime/bp-24518
349194
349195         · fc75197616 Pylint fix
349196
349197         · 3e08840988 Update modules path for operating systems using systemd
349198
349199       · PR #24538: (basepi) [2015.5] Merge forward from 2014.7  to  2015.5  @
349200         2015-06-09 17:27:20 UTC
349201
349202         · 485ed3cff9   Merge   pull  request  #24538  from  basepi/merge-for‐
349203           ward-2015.5
349204
349205         · 6a8039d468  Merge  remote-tracking  branch  'upstream/2014.7'  into
349206           merge-forward-2015.5
349207
349208         · 6ebc476bb3   Merge  pull  request  #24513  from  jquast/2014.7-bug‐
349209           fix-iteritem
349210
349211           · 2be0180e5e bugfix use of 'iteritem' in 2014.7 branch
349212
349213       · PR #24495: (jayeshka) adding states/rabbitmq_vhost unit test case.  @
349214         2015-06-09 15:33:23 UTC
349215
349216         · 73e6388acd   Merge   pull   request   #24495   from   jayeshka/rab‐
349217           bitmq_vhost_states-unit-test
349218
349219         · 31889e38eb cosmetic change.
349220
349221         · cf501cf60d resolved error.
349222
349223         · 4bb6087722         Merge         branch         '2015.5'         of
349224           https://github.com/saltstack/salt             into             rab‐
349225           bitmq_vhost_states-unit-test
349226
349227         · 3ad77143a8 adding states/rabbitmq_vhost unit test case.
349228
349229       · PR #24445: (jayeshka) adding states/pyrax_queues unit test  case.   @
349230         2015-06-09 15:28:45 UTC
349231
349232         · bf1abccebe       Merge      pull      request      #24445      from
349233           jayeshka/pyrax_queues_states-unit-test
349234
349235         · ea27cefb10 adding states/pyrax_queues unit test case.
349236
349237       · PR #24490: (aneeshusa) Fix pacman.list_upgrades for new  python_shell
349238         default.  @ 2015-06-09 15:13:16 UTC
349239
349240         · 0247e8d10d   Merge  pull  request  #24490  from  aneeshusa/fix-pac‐
349241           man-list-upgrades
349242
349243         · 980e1cb4dc Lint fix.
349244
349245         · dca33f1112 Fix pacman.list_upgrades for new python_shell default.
349246
349247       · PR #24517: (steverweber) small fixes to the ipmi  docs  @  2015-06-09
349248         15:10:14 UTC
349249
349250         · 6268ddb43a Merge pull request #24517 from steverweber/ipmi_doc
349251
349252         · 6413712844 lint
349253
349254         · e78aea9b01 more small fixes to the ipmi docs
349255
349256       · PR  #24524:  (jayeshka)  any()  takes  list  oy  tuple.  @ 2015-06-09
349257         13:49:42 UTC
349258
349259         · 3728b3f327   Merge   pull   request   #24524   from   jayeshka/rab‐
349260           bitmq_vhost_states-module
349261
349262         · 01c99ad767 any() takes list oy tuple.
349263
349264       · PR  #24482: (eliasp) 'docker.running' needs now the 'image' param.  @
349265         2015-06-09 04:43:04 UTC
349266
349267         · dd23de885b      Merge      pull      request      #24482       from
349268           eliasp/2015.5-states.dockerio-docker.running-doc
349269
349270         · 5de741d626 'docker.running' needs now the 'image' param.
349271
349272       · ISSUE  #23503:  (jfindlay) salt-ssh fails on CentOS 7 when python-zmq
349273         is not installed (refs: #24515)
349274
349275       · PR #24515: (basepi) [2015.5] Add  xml  library  to  the  salt-thin  @
349276         2015-06-09 04:10:06 UTC
349277
349278         · 2a727c3f55 Merge pull request #24515 from basepi/susexml23503
349279
349280         · 078b33eaaf Add xml library to the thin
349281
349282       · PR   #24497:  (jayeshka)  adding  states/rbenv  unit  test  case.   @
349283         2015-06-09 03:56:10 UTC
349284
349285         · fce998a58b      Merge      pull      request      #24497       from
349286           jayeshka/rbenv_states-unit-test
349287
349288         · 79d343a62b adding states/rbenv unit test case.
349289
349290       · PR  #24496: (jayeshka) adding states/rabbitmq_user unit test case.  @
349291         2015-06-09 03:55:23 UTC
349292
349293         · 2bcb4b1eed   Merge   pull   request   #24496   from   jayeshka/rab‐
349294           bitmq_user_states-unit-test
349295
349296         · 7d96f27f91 adding states/rabbitmq_user unit test case.
349297
349298       · PR  #24481:  (eliasp)  Fix  typo  (licnese  → license).  @ 2015-06-09
349299         03:30:25 UTC
349300
349301         · 02a597bf49      Merge      pull      request      #24481       from
349302           eliasp/2015.5-salt.states.powerpath-license_typo
349303
349304         · 1280054bce Fix typo (licnese → license).
349305
349306       · PR  #24467:  (thenewwazoo)  Fix  dockerio  bound volumes @ 2015-06-09
349307         01:40:23 UTC
349308
349309         · 5ad3db5ffb Merge pull request  #24467  from  thenewwazoo/fix-docke‐
349310           rio-bound-volumes
349311
349312         · db4e3dc69b Let's raise an exception if create fails
349313
349314         · d1d85dd685 Add logging
349315
349316         · ddc63f0f30 Fix volume handling when creating containers
349317
349318       · PR   #24504:   (rallytime)  Move  vsphere  deprecation  to  2015.5  @
349319         2015-06-08 22:43:05 UTC
349320
349321         · PR #24487: (nmadhok) Deprecating vsphere cloud driver in  favor  of
349322           vmware cloud driver (refs: #24504)
349323
349324         · d236fbd38f     Merge    pull    request    #24504    from    rally‐
349325           time/move_vsphere_deprecation_2015.5
349326
349327         · d876535d71 Add Getting Started with VSphere doc to 2015.5
349328
349329         · b685ebc104 Add vSphere deprecation warnings to 2015.5
349330
349331       · PR  #24506:  (rallytime)  Backport  #24450  to  2015.5  @  2015-06-08
349332         22:42:14 UTC
349333
349334         · PR  #24450:  (ruzarowski)  Fix  salt  cli  runs with batch-size set
349335           (refs: #24506)
349336
349337         · cb5546085c Merge pull request #24506 from rallytime/bp-24450
349338
349339         · 1c0fca2b9d Backport #24450 to 2015.5
349340
349341       · PR #24498: (rallytime) Added "CLI Example" to make failing test happy
349342         on 2015.5 @ 2015-06-08 15:48:40 UTC
349343
349344         · 3173fd17ad  Merge  pull request #24498 from rallytime/fix_doc_fail‐
349345           ure_fifteen
349346
349347         · d992ef4777 Added "CLI Example" to make failing test happy on 2015.5
349348
349349       · PR #24471: (anlutro)  Set  up  salt-ssh  file  logging  @  2015-06-08
349350         15:26:49 UTC
349351
349352         · 3639e411bd  Merge  pull request #24471 from alprs/fix-salt_ssh_log‐
349353           ging
349354
349355         · 6a11ec87b8 set up salt-ssh file logging
349356
349357       · ISSUE #24231: (tarwich) npm.bootstrap (refs: #24469)
349358
349359       · PR #24469: (jfindlay) correctly handle user environment info for  npm
349360         @ 2015-06-08 15:26:02 UTC
349361
349362         · 551e70f3fb Merge pull request #24469 from jfindlay/npm_env
349363
349364         · 8140c96949 update npm's user info envs
349365
349366         · cb572f8c41 add env parameter to npm.uninstall
349367
349368       · ISSUE   #24268:   (tkent-xetus)   Ability  to  specify  revision  for
349369         win_gitrepos undocumented (refs: #24468)
349370
349371       · ISSUE #24235: (tomasfejfar) Difference between  running  from  minion
349372         and from master (refs: #24571, #24468)
349373
349374       · ISSUE  #24193:  (abng88)  Update ext_pillar docs to mention that this
349375         feature is supported masterless as well (refs: #24468)
349376
349377       · ISSUE #24172: (zhujinhe) Can lists be passed in  the  pillar  on  the
349378         command line on version 2015.5.0? (refs: #24468)
349379
349380       · ISSUE #23211: (lloesche) Document that salt://| escapes special char‐
349381         acters in filenames (refs: #24468)
349382
349383       · ISSUE #19901: (clinta) State cache is not documented  (refs:  #24574,
349384         #24468)
349385
349386       · ISSUE #19801: (ksalman) How are grains static? (refs: #24468)
349387
349388       · PR  #24468:  (jacobhammons)  Bug  fixes and build errors @ 2015-06-08
349389         15:25:40 UTC
349390
349391         · 0d9e0c2b8c Merge pull request #24468 from jacobhammons/doc-fixes
349392
349393         · 1035959459 Appended .0 to version added
349394
349395         · d45c4ed11f Bug fixes and build errors Refs #23211 Refs #24268  Refs
349396           #24235 Refs #24193 Refs #24172 Refs #19901 Refs #19801
349397
349398       · ISSUE  #24318:  (favadi)  uncaught  exception  for pkgrepo.absent for
349399         invalid PPA (refs: #24465)
349400
349401       · PR #24465: (jfindlay) catch  exception  from  softwarerepositories  @
349402         2015-06-08 15:25:19 UTC
349403
349404         · be6905a545 Merge pull request #24465 from jfindlay/unknown_ppa
349405
349406         · 19c912866d catch exception from softwarerepositories
349407
349408       · ISSUE  #24296:  (objectx) mount.mount calls file.mkdir with incorrect
349409         named argument (refs: #24464)
349410
349411       · PR #24464: (jfindlay)  fix  typo  in  modules/mount.py  @  2015-06-08
349412         15:25:07 UTC
349413
349414         · 58d1ea8fe8 Merge pull request #24464 from jfindlay/file_mkdir
349415
349416         · 6e8cd44500 fix typo in modules/mount.py
349417
349418       · ISSUE  #24434:  (dkiser) multimaster failover fails due to logic from
349419         issue #23611 (refs: #24461)
349420
349421       · PR #24461: (dkiser) fix for #24434 @ 2015-06-08 15:24:53 UTC
349422
349423         · 4f332a71c6 Merge pull request #24461  from  dkiser/multimaster_min‐
349424           ion_fix
349425
349426         · 1944a743d7 fix for #24434
349427
349428       · PR  #24479:  (ahus1)  change "path" to "name" for "file" operations @
349429         2015-06-07 17:56:11 UTC
349430
349431         · 8917416d39 Merge pull request #24479 from ahus1/patch-1
349432
349433         · 7d6b60c79d change "path" to "name" for "file" operations
349434
349435       · PR #24475:  (rallytime)  Back-port  #24454  to  2015.5  @  2015-06-07
349436         01:29:32 UTC
349437
349438         · PR  #24454:  (rhertzog) Strip extraneous newline character added in
349439           last environment variable (refs: #24475)
349440
349441         · 8618d5b6ea Merge pull request #24475 from rallytime/bp-24454
349442
349443         · a793c192a6 Avoid extraneous newline character added in  last  envi‐
349444           ronment variable
349445
349446       · ISSUE  #24407:  (aboe76)  Please  expand  salt  module  random (refs:
349447         #24420)
349448
349449       · PR #24474:  (rallytime)  Back-port  #24420  to  2015.5  @  2015-06-07
349450         01:29:11 UTC
349451
349452         · PR  #24420:  (aboe76)  added random integer module to mod_random.py
349453           (refs: #24474)
349454
349455         · 61658ffef7 Merge pull request #24474 from rallytime/bp-24420
349456
349457         · 4219b404ad Fix lint error and update versionadded to 2015.5.3
349458
349459         · 3613cc9659 added random integer module to mod_random.py
349460
349461       · ISSUE #24233: (variia)  yumpkg.group_install  keeps  returning  state
349462         change
349463
349464       · PR #24472: (variia) ensure {} output is not treated as change in mod‐
349465         ule.py state, fixes #… @ 2015-06-06 14:45:44 UTC
349466
349467         · 508d7ddb91      Merge      pull      request      #24472       from
349468           variia/Fix-yumpkg_group_install-return-change-#24233
349469
349470         · 37e8827ce8  ensure  {} output is not treated as change in module.py
349471           state, fixes #24233
349472
349473       · ISSUE #8585: (UtahDave) '#' in single quoted option on cli not making
349474         it into the execution module (refs: #24466)
349475
349476       · ISSUE  #18045:  (dstokes)  Pillar  kwargs  parse  error with # (refs:
349477         #24466)
349478
349479       · PR #24466: (basepi) [2015.5] Fix for # in inner strings in yaml argu‐
349480         ments @ 2015-06-06 14:35:56 UTC
349481
349482         · 0292e67c8a Merge pull request #24466 from basepi/fixhashinargs18045
349483
349484         · 2e0609f09e Fix for # in inner strings in yaml arguments
349485
349486       · PR  #24456:  (rallytime)  Back-port  #24441  to  2015.5  @ 2015-06-05
349487         22:32:25 UTC
349488
349489         · PR #24441: (arthurlogilab) [doc] Alignement  fix  on  external_auth
349490           documentation (refs: #24456)
349491
349492         · ced558a6e6 Merge pull request #24456 from rallytime/bp-24441
349493
349494         · 70028553c1 yaml indentations should be 2 spaces
349495
349496         · 21b51abf25 [doc] Alignement fix on external_auth documentation
349497
349498       · ISSUE  #24397:  (kiorky) on debian: states.apt should use virtualname
349499         as it shadows system apt module (refs: #24398, #24400, #24399)
349500
349501         · PR #24399: (kiorky) Versionvirtual (refs: #24398)
349502
349503       · PR #24398: (kiorky)  VirtualName  for  states.apt  (refs:  #24399)  @
349504         2015-06-05 17:40:04 UTC
349505
349506         · c0ff4110ab Merge pull request #24398 from makinacorpus/aptv
349507
349508         · 785d27707f VirtualName for states.apt
349509
349510       · PR  #24447:  (jayeshka) adding states/rabbitmq_policy unit test case.
349511         @ 2015-06-05 15:26:11 UTC
349512
349513         · 36263405be Merge pull request  #24447  from  jayeshka/rabbitmq_pol‐
349514           icy_states-unit-test
349515
349516         · 9b038abd63 adding states/rabbitmq_policy unit test case.
349517
349518       · PR  #24446:  (jayeshka) adding states/rabbitmq_plugin unit test case.
349519         @ 2015-06-05 15:25:33 UTC
349520
349521         · 8445a3f28d Merge pull request #24446  from  jayeshka/rabbitmq_plug‐
349522           in_states-unit-test
349523
349524         · cb0c99a012 adding states/rabbitmq_plugin unit test case.
349525
349526       · PR  #24426:  (basepi)  [2015.5] Merge forward from 2014.7 to 2015.5 @
349527         2015-06-05 03:59:11 UTC
349528
349529         · 9cc3808758  Merge  pull  request  #24426   from   basepi/merge-for‐
349530           ward-2015.5
349531
349532         · eafa20cdfb  Merge  remote-tracking  branch  'upstream/2014.7'  into
349533           merge-forward-2015.5
349534
349535           · 83f853b6ea Merge pull request #24405 from jacksontj/2014.7
349536
349537             · 2c7afaeebf Fix for #24276
349538
349539           · cef919c602  Merge  pull  request  #24395  from   hvnsweeting/han‐
349540             dle-exception-get-file
349541
349542             · bb798a0224  handle exceptions when received data is not in good
349543               shape
349544
349545           · efba1a94b4 Merge pull request #24305 from twangboy/win_path_docs
349546
349547           · 36804253e6 Fixed pylint error caused by P... added r
349548
349549           · bc42a4bb11 triple double quotes to triple single quotes
349550
349551           · 77cd930bba Added documentation, fixed formatting
349552
349553       · ISSUE #24309: (steverweber) missing docs (refs: #24429)
349554
349555       · PR #24429: (jacobhammons) Salt cloud doc updates,  build  errors  and
349556         bug fixes @ 2015-06-05 00:27:38 UTC
349557
349558         · 5d738b8dab    Merge    pull    request    #24429   from   jacobham‐
349559           mons/cloud-doc-updates
349560
349561         · 1f7a13d6f9 Salt cloud doc updates, build errors and bug fixes  Refs
349562           #24309
349563
349564       · PR  #24408:  (rallytime)  Backport  #24392  to  2015.5  @  2015-06-04
349565         20:22:09 UTC
349566
349567         · PR  #24392:  (quixoten)  Fix  "No  such  file  or   directory"   in
349568           grains/core.py (refs: #24408)
349569
349570         · cdffc02cfe Merge pull request #24408 from rallytime/bp-24392
349571
349572         · ff7461b3cd Use path found by salt.utils.which
349573
349574       · PR  #24380:  (rallytime)  Backport  #24357  to  2015.5  @  2015-06-04
349575         20:13:51 UTC
349576
349577         · PR #24357: (zhujinhe) fix invoke issues  of  Jinja  Macros  example
349578           (refs: #24380)
349579
349580         · a6a1f87cd9 Merge pull request #24380 from rallytime/bp-24357
349581
349582         · f08c875015 fix invoke issues of Jinja Macros example
349583
349584       · ISSUE  #24358: (pengyao) Netapi SSH client don't support ssh_user and
349585         ssh_passwd arguments (refs: #24388)
349586
349587       · PR #24388: (pengyao) fixes #24358 @ 2015-06-04 20:07:40 UTC
349588
349589         · 86ce9dbbdf Merge pull request #24388 from pengyao/sshclient-kwargs
349590
349591         · 5c08ca48b4 fixes #24358
349592
349593       · ISSUE #22958: (highlyunavailable) Weird error when typoing a  command
349594         (refs: #24367)
349595
349596       · PR  #24367: (terminalmage) Improve error message when module does not
349597         exist @ 2015-06-04 20:07:12 UTC
349598
349599         · 72d2eaeda9 Merge pull request #24367 from terminalmage/issue22958
349600
349601         · d0d7a5481c Improve error message when module does not exist
349602
349603       · ISSUE #23101: (gravyboat)  Create  a  docs  page  for  labels  (refs:
349604         #23387)
349605
349606       · PR #24412: (jfindlay) backport #23387 @ 2015-06-04 20:06:03 UTC
349607
349608         · PR  #23387:  (rallytime)  Add some "What are all these labels for?"
349609           documentation (refs: #24412)
349610
349611         · a628778e3c Merge pull request #24412 from jfindlay/bp-23387
349612
349613         · bf85772042 Make sure the parameters are in the correct order
349614
349615         · 9f53809cde Add "* Change" label parameters
349616
349617         · b27a15e774 Remove "workaround" wording
349618
349619         · 9fff35a959 Some small fixes
349620
349621         · 54a7089fd6 Link the new labels doc in contributing and hacking docs
349622
349623         · 375695e696 Add pull request label definitions
349624
349625         · de945638d3 Add Feature Request label definition
349626
349627         · 684f291bd4 Add issue definition and augment functional  areas  sec‐
349628           tion
349629
349630         · 2da13dd525 Start a "what are all of these labels for?" doc
349631
349632       · ISSUE  #24154:  (ssgward)  Exception  when  running cp.get_url (refs:
349633         #24336)
349634
349635       · PR #24336: (twangboy) Added line to give  more  descriptive  error  @
349636         2015-06-04 19:56:00 UTC
349637
349638         · 485116c2cc Merge pull request #24336 from twangboy/fix_cp_get_url
349639
349640         · 37b11f931c Added line to give more descriptive error
349641
349642       · PR #24413: (techhat) Add more namespaced functions to GoGrid driver @
349643         2015-06-04 19:51:22 UTC
349644
349645         · b3d39cc0e8 Merge pull request #24413 from techhat/gogridnamespace
349646
349647         · 1b397cb6fe Adding blank line
349648
349649         · da08cc9aac Add more namespaced functions to GoGrid driver
349650
349651       · ISSUE #24397: (kiorky) on debian: states.apt should  use  virtualname
349652         as it shadows system apt module (refs: #24398, #24400, #24399)
349653
349654       · PR  #24399:  (kiorky)  Versionvirtual  (refs:  #24398)  @  2015-06-04
349655         18:02:22 UTC
349656
349657         · PR #24398: (kiorky) VirtualName for states.apt (refs: #24399)
349658
349659         · 27f109bd76 Merge pull request #24399 from  makinacorpus/versionvir‐
349660           tual
349661
349662         · 235c78ddfe Use apt_pkg.version_compare if available
349663
349664         · 1c0cd459f8 reindent block to isolate conflict on merge forward
349665
349666         · 699eceab64 use var to isolate conflict on merge forward
349667
349668       · PR  #24371: (joejulian) 2015.5 tls module tests @ 2015-06-04 15:20:16
349669         UTC
349670
349671         · deaee68b89 Merge pull request #24371 from joejulian/2015.5_tls_mod‐
349672           ule_tests
349673
349674         · 4c5dee1e25 Add @destructiveTest decorator to destructive tests
349675
349676         · 274bbd4d43 Accept results from older pyOpenSSL
349677
349678         · 161f913522 All cert info should be in UTC always
349679
349680         · 9affcca766 See the whole diff if dict compare fails
349681
349682         · 94f620857c  Ignore extensions for now. Resolve this as part of fix‐
349683           ing issue 24338.
349684
349685         · 84904d31f1 Mask lint warning for unused imported module
349686
349687         · 5675b78459 Do not test if PyOpenSSL is not installed
349688
349689         · 563cc66311 Add tls tests
349690
349691       · PR #24403:  (jayeshka)  adding  states/process  unit  test  case.   @
349692         2015-06-04 15:19:01 UTC
349693
349694         · 84686ee695       Merge      pull      request      #24403      from
349695           jayeshka/process_states-unit-test
349696
349697         · fcb71fb35e adding states/process unit test case.
349698
349699       · PR  #24402:  (jayeshka)  adding  states/pyenv  unit  test  case.    @
349700         2015-06-04 15:18:11 UTC
349701
349702         · 35de8d72db       Merge      pull      request      #24402      from
349703           jayeshka/pyenv_states-unit-test
349704
349705         · 5f263ab48b adding states/pyenc unit test case.
349706
349707       · PR #24401: (jayeshka) adding  states/powerpath  unit  test  case.   @
349708         2015-06-04 15:17:46 UTC
349709
349710         · 632f838838   Merge   pull   request   #24401  from  jayeshka/power‐
349711           path-states-unit-test
349712
349713         · 49ff9272ce adding states/powerpath unit test case.
349714
349715       · ISSUE #24397: (kiorky) on debian: states.apt should  use  virtualname
349716         as it shadows system apt module (refs: #24398, #24400, #24399)
349717
349718       · PR #24400: (kiorky) Aptversion @ 2015-06-04 15:17:19 UTC
349719
349720         · 0a6e5e0d96 Merge pull request #24400 from makinacorpus/aptversion
349721
349722         · e15cb936b5 Use apt_pkg.version_compare if available
349723
349724         · 953725a563 Fix too much quoting in apt.version_cmp
349725
349726       · PR  #24385:  (jeanpralo)  Fix  salt.modules.dockerio.start  method  @
349727         2015-06-04 15:00:22 UTC
349728
349729         · a904055d28 Merge pull request #24385 from jeanpralo/Fix-binds-dock‐
349730           erio.start
349731
349732         · a0fed313fa binds dict if not specified should remain to none other‐
349733           wise docker-py will try to create a new host config and all  volume
349734           and  ports binds are lost. config should be done at the creation of
349735           the container not when we start it
349736
349737       · PR  #24381:  (justinta)  Disabled  flaky  test  to  review  later   @
349738         2015-06-04 14:57:43 UTC
349739
349740         · 9890bc4e43 Merge pull request #24381 from jtand/seed_test
349741
349742         · 7570ae9132 Disabled flaky test to review later
349743
349744       · ISSUE  #23342:  (philipsd6)  salt-ssh  2015.2.0rc2  fails when target
349745         doesn't have lspci available (refs: #24382)
349746
349747       · PR #24382: (basepi) [2015.5] Handle CommandExecutionError  in  grains
349748         commands, Fixes #23342 @ 2015-06-04 12:44:04 UTC
349749
349750         · b3fa8fefcb  Merge pull request #24382 from basepi/grainscommandnot‐
349751           found23342
349752
349753         · 85b91d64cc Handle CommandExecutionError in grains commands
349754
349755       · PR #24379: (Starblade42) Fixes an issue where  Pagerduty  states/mod‐
349756         ules  couldn't find their profile in the Pillar @ 2015-06-04 12:41:13
349757         UTC
349758
349759         · 52587a4fc1 Merge pull request #24379 from Starblade42/2015.5
349760
349761         · b93dc5ef6c Linting!
349762
349763         · 2dd5904119 Fixes an issue where Pagerduty  states/modules  couldn't
349764           find it's profile in the Pillar
349765
349766       · PR  #24366:  (terminalmage)  Use yes $'\n' instead of printf '\n' for
349767         pecl commands @ 2015-06-03 21:28:58 UTC
349768
349769         · 3ca35d1ec3 Merge pull request #24366 from terminalmage/pecl-yes
349770
349771         · dcd9ad8b6e Use yes $'n' instead of printf 'n' for pecl commands
349772
349773       · ISSUE #24284: (kiorky) systemd lxc  containers  need  use_vt=True  at
349774         lxc-start stage (refs: #24348)
349775
349776         · PR   #548:   (Lanzaa)   Salt   is   now   platform  dependent.  Use
349777           get_python_lib(1) (refs: #24348)
349778
349779       · PR #24348: (kiorky) Try to close input pipes before calling lxc-start
349780         @ 2015-06-03 19:38:07 UTC
349781
349782         · 86a3b317c6 Merge pull request #24348 from makinacorpus/lxcpre
349783
349784         · 0cb11a2767 lxc: typo
349785
349786         · d71efa6d66 Try to close input pipes before calling lxc-start
349787
349788   Salt 2015.5.4 Release Notes
349789       release
349790              2015-08-13
349791
349792       Version 2015.5.4 is a bugfix release for 2015.5.0.
349793
349794   Statistics
349795       · Total Merges: 247
349796
349797       · Total Issue References: 138
349798
349799       · Total PR References: 312
349800
349801       · Contributors:  92  (0xf10e,  AkhterAli,  BretFisher,  DmitryKuzmenko,
349802         EvaSDK,  GideonRed-zz,  JohannesEbke,  Oro,   TheBigBear,   TronPaul,
349803         UtahDave,      ahus1,     alekti,     alexandrsushko,     amontalban,
349804         andre-luiz-dos-santos,   aneeshusa,   anlutro,   asyncsrc,   attiasr,
349805         babilen,  basepi,  bbinet,  bclermont, bechtoldt, blackduckx, bobrik,
349806         cachedout,  colekowalski,  cro,  d--j,  davidjb,  denmat,  derBroBro,
349807         dkiser,  driskell, egarbi, fleaflicker, garethgreenaway, gmcwhistler,
349808         gtmanfred, hasues,  isbm,  jacksontj,  jacobhammons,  jahamn,  jarpy,
349809         jasonkeene,  jayeshka,  jfindlay,  jleroy,  jmdcal,  jodv, joejulian,
349810         jquast,   justinta,   kev009,   klyr,   l2ol33rt,    loa,    lomeroe,
349811         martinhoefling,  mgwilliams,  nicholascapo,  niq000, nmadhok, nyushi,
349812         oeuftete,  opdude,  pcdummy,  pcn,  peterdemin,  puneetk,  rallytime,
349813         rmatulat,   s0undt3ch,  silenius,  sjorge,  stanislavb,  steverweber,
349814         supertom,  t0rrant,  tankywoo,   techhat,   terminalmage,   thatch45,
349815         tony-cocco, twangboy, uvsmtid, vr-jack, yanatan16, zyio)
349816
349817   Bug Fixes
349818       · The  cron.present state now correctly defaults to state ID as identi‐
349819         fier.
349820
349821   Salt-Cloud Changes
349822       · When querying for VMs in the digital_ocean_v2 cloud driver, the  num‐
349823         ber  of VMs to include in a page was changed from 20 (default) to 200
349824         to reduce the number of API calls to Digital Ocean.
349825
349826       · The vmware salt-cloud driver was back-ported from the develop  branch
349827         in order for installations of Salt that are older than 2015.8.0 to be
349828         able to use the vmware driver without stack-tracing on various depre‐
349829         cation paths that were implemented in the 2015.8.0 release.
349830
349831   Changelog for v2015.5.3..v2015.5.4
349832       Generated at: 2018-05-27 21:59:14 UTC
349833
349834       · PR  #26292:  (jquast)  Rabbitmq  3.2.4  on Ubuntu has "...done.", not
349835         "...done" @ 2015-08-13 19:53:29 UTC
349836
349837         · 0a5d1307c4   Merge   pull   request   #26292   from    jquast/back‐
349838           port-ubuntu-rabbitmq-fix
349839
349840         · 39ef653bc2  Rabbitmq  3.2.4  on  Ubuntu  has  ...done. not ...done,
349841           change the if to be more portable
349842
349843       · PR #26296: (jquast) bugfix missing 'runas=None' for rabbitmqctl  cmds
349844         (backport to 2015.5) @ 2015-08-13 19:52:40 UTC
349845
349846         · 21cc3c3bf6  Merge pull request #26296 from jquast/bugfix-runas-rab‐
349847           bitmqctl-2015.5
349848
349849         · eb77320786 bugfix missing 'runas=None' for rabbitmqctl cmds
349850
349851       · ISSUE #25618: (twangboy) Fix reg.py to work with the  registry  prop‐
349852         erly (refs: #26268)
349853
349854       · PR #26293: (jfindlay) Fix #26268 @ 2015-08-13 19:48:06 UTC
349855
349856         · PR #26268: (twangboy) Multiple improvements to reg executionmod and
349857           state mod (refs: #26293)
349858
349859         · ee59d154d7 Merge pull request #26293 from jfindlay/reggie
349860
349861         · 91ea964556 add versionadded to reg exec and state mods
349862
349863         · 3348b726c9 fix state/reg unit tests
349864
349865         · 3f74a389ce return test results when test=True
349866
349867         · a1274c438d I might have fixed some tests... I might have made  them
349868           worse
349869
349870         · 7393adf5a8 Fixed some lint
349871
349872         · 787c88a283 Multiple improvements to reg executionmod and state mod
349873
349874       · ISSUE  #25192:  (deuscapturus) 2015.5.2 boto_cloudwatch_alarm.present
349875         not working. (refs: #26290)
349876
349877       · PR #26290: (rallytime) Only call convert_to_arn when action  name  is
349878         provided @ 2015-08-13 18:48:58 UTC
349879
349880         · 5dd5ac1198 Merge pull request #26290 from rallytime/fix-25192
349881
349882         · a1f90fa070 Only call convert_to_arn when action name is provided
349883
349884       · PR  #26288:  (bbinet)  allow  to delete grains which value is False @
349885         2015-08-13 18:24:36 UTC
349886
349887         · c81dc0b62f Merge pull request #26288 from bbinet/grains-absent-fix
349888
349889         · f46722aaeb allow to delete grains which value is False
349890
349891       · ISSUE  #24882:  (nmadhok)  salt.states.openstack_config.present   and
349892         salt.states.openstack_config.absent   make   changes  when  test=True
349893         (refs: #26263)
349894
349895       · PR #26263: (rallytime) Don't make changes when  test=True  for  open‐
349896         stack present/absent funcs @ 2015-08-13 16:30:31 UTC
349897
349898         · 65ab5aa495 Merge pull request #26263 from rallytime/fix-24882
349899
349900         · 86b8161d22 Mock test key in __opts__ dict
349901
349902         · 298685bbb2   Don't   make  changes  when  test=True  for  openstack
349903           present/absent funcs
349904
349905       · ISSUE #24484: (bailsman) clouds/ec2.py: create_snapshot throws excep‐
349906         tion (refs: #26265)
349907
349908       · PR  #26265:  (rallytime) Don't stacktrace on query return in ec2.cre‐
349909         ate_snapshot @ 2015-08-13 16:28:48 UTC
349910
349911         · 3d1a9cfedd Merge pull request #26265 from rallytime/fix-24484
349912
349913         · 4975300591 Don't stacktrace on query return in ec2.create_snapshot
349914
349915       · PR #26285: (stanislavb) Remove explicit version from  instance  iden‐
349916         tity URL @ 2015-08-13 16:25:32 UTC
349917
349918         · 5778cb3f01 Merge pull request #26285 from stanislavb/2015.5
349919
349920         · 1f18f4f91e Remove explicit version from instance identity URL
349921
349922       · PR  #26275:  (cachedout)  Re-init modules on multi-master reconnect @
349923         2015-08-13 15:52:50 UTC
349924
349925         · 679dc089c0 Merge pull request #26275 from cachedout/mm_reinit
349926
349927         · 1e0473c04a Re-init modules on multi-master reconnect
349928
349929       · PR #26273: (garethgreenaway) Fixes to schedule  module  in  2015.5  @
349930         2015-08-13 15:34:43 UTC
349931
349932         · 75fff28779    Merge   pull   request   #26273   from   garethgreen‐
349933           away/2015_5_schedule_list_show_jobs_enabled
349934
349935         · 1aad4b1b4f Jobs are enabled by default but schedule.list  does  not
349936           show  an  enabled  jobs  as  being enabled by default.  This change
349937           fixes that.
349938
349939       · ISSUE #24483: (bailsman) clouds/ec2.py:  del_root_vol_on_destroy  and
349940         del_all_vols_on_destroy not working (refs: #26271)
349941
349942       · PR    #26271:    (rallytime)    Fix    del_root_vol_on_destroy    and
349943         del_all_vols_on_destroy functionality on ec2  @  2015-08-12  23:22:47
349944         UTC
349945
349946         · 10af22775a Merge pull request #26271 from rallytime/fix-24483
349947
349948         · 139fbb93bc  Fix del_root_vol_on_destroy and del_all_vols_on_destroy
349949           functionality on ec2
349950
349951       · ISSUE #25958: (anlutro) Cron identifier does not default to state  ID
349952         as documented (refs: #26219)
349953
349954       · PR  #26219:  (anlutro)  cron:  make  identifier default to state ID @
349955         2015-08-12 18:42:33 UTC
349956
349957         · 8e1b5da2e0 Merge pull request  #26219  from  alprs/fix-cron_identi‐
349958           fier_default
349959
349960         · 1f02e1671b cron: fix a typo in the tests
349961
349962         · a86b1b7f94 add release note about cron state changes
349963
349964         · 9511e392ce cron: read full length of multi-line comments
349965
349966         · 9b18cd9050  cron:  more  descriptive  tests, updated to reflect new
349967           behavior
349968
349969         · f22ad837c3 cron: change identifier default value to False
349970
349971         · ad444b6e7b cron identifier: default to state id
349972
349973       · ISSUE #26207: (fullermd) group members  setting  fails  with  obscure
349974         error message on FreeBSD (refs: #26237)
349975
349976       · PR  #26257:  (rallytime)  Back-port  #26237  to  2015.5  @ 2015-08-12
349977         18:40:35 UTC
349978
349979         · PR #26237: (silenius) fix issue #26207 (refs: #26257)
349980
349981         · eebcade533 Merge pull request #26257 from rallytime/bp-26237
349982
349983         · d57fdbc6a0 Add versionadded to new members function
349984
349985         · dad1920626 fix issue #26207
349986
349987       · PR #26258: (nmadhok) Fix permission on  tests/runtests.py  on  2015.5
349988         branch @ 2015-08-12 18:40:04 UTC
349989
349990         · d7c8169dfb Merge pull request #26258 from nmadhok/fix-permission
349991
349992         · d94485d336 Fix permission on tests/runtests.py on 2015.5 branch
349993
349994       · PR  #26261:  (nmadhok)  Correct  spelling  of  integration  in docs @
349995         2015-08-12 18:14:48 UTC
349996
349997         · 74b70c37b7 Merge pull request #26261 from nmadhok/doc-fix-2015.5
349998
349999         · 714f9766e7 Correct spelling of integration in docs
350000
350001       · PR #26247: (nmadhok) Initial commit of unit tests  for  vmware  cloud
350002         driver @ 2015-08-12 16:58:24 UTC
350003
350004         · de00c181f8     Merge     pull    request    #26247    from    nmad‐
350005           hok/vmware-cloud-test-2015.5
350006
350007         · 6cc5f97e92 Lint Fix
350008
350009         · a8bfe5ec1f Initial commit of unit tests for vmware cloud driver
350010
350011       · PR #26246: (nmadhok) Backport additions to VMware cloud  driver  from
350012         develop to 2015.5 branch @ 2015-08-12 15:11:26 UTC
350013
350014         · d14d7b2c0e     Merge     pull    request    #26246    from    nmad‐
350015           hok/vmware-cloud-driver-additions-2015.5
350016
350017         · 5227aa94bc Backport additions to VMware cloud driver  from  develop
350018           to 2015.5 branch
350019
350020       · PR  #26239:  (opdude)  Fixed  documentation  to match function name @
350021         2015-08-12 14:48:52 UTC
350022
350023         · 87b300d7b3 Merge pull request #26239 from Unity-Technologies/2015.5
350024
350025         · fc18751710 Fixed documentation to match function name
350026
350027       · PR #26232: (garethgreenaway) Fix  to  trust_key  in  gpg  module  for
350028         2015.5.  @ 2015-08-12 04:48:27 UTC
350029
350030         · a93b96c9ba    Merge   pull   request   #26232   from   garethgreen‐
350031           away/2015_5_gpg_trust_key_fix
350032
350033         · e174c41887 Fix to trust_key in gpg module for 2015.5.
350034
350035       · ISSUE #25802: (jefftucker) Running module "npm.list" fails on Windows
350036         for masterless minion  (refs: #26084)
350037
350038       · PR  #26084:  (twangboy)  Added python_shell=True, quoted user input @
350039         2015-08-10 21:29:35 UTC
350040
350041         · b57da552ff Merge pull request #26084 from twangboy/fix_25802
350042
350043         · 4503ed5b34 Fixed but with multiple packages, was causing  tests  to
350044           fail
350045
350046         · f05e3e72a3         Merge         branch         '2015.5'         of
350047           https://github.com/saltstack/salt into fix_25802
350048
350049       · PR #26183: (cro) Fix LDAP configuration issue.  @ 2015-08-10 19:09:41
350050         UTC
350051
350052         · c3814137a3 Merge pull request #26183 from cro/anonldap2
350053
350054         · aa5e9c80b5 Lint roller
350055
350056         · 79833e3f8a Cherry pick index.rst change.
350057
350058         · 99f2c27399 Documentation update for anonymous bind issue.
350059
350060         · 793eed7b96 Cherry pick master.py groups check
350061
350062       · PR #26186: (jacobhammons) regenerated man pages @ 2015-08-10 19:07:44
350063         UTC
350064
350065         · 3233ed4675   Merge   pull    request    #26186    from    jacobham‐
350066           mons/man-page-updates
350067
350068         · bf2dad913f regenerated man pages
350069
350070       · PR  #26182:  (basepi)  [2015.5] Merge forward from 2014.7 to 2015.5 @
350071         2015-08-10 19:00:10 UTC
350072
350073         · d48bcf7598  Merge  pull  request  #26182   from   basepi/merge-for‐
350074           ward-2015.5
350075
350076         · 32f5345d7d  Merge  remote-tracking  branch  'upstream/2014.7'  into
350077           merge-forward-2015.5
350078
350079           · abdf2935c4 Merge pull request #26116  from  corux/fix-escape-con‐
350080             tent
350081
350082             · fd913ddc36  Append/prepend:  search  for full line with escaped
350083               content
350084
350085           · 106356d98d  Merge  pull  request  #26088  from  jacobhammons/mas‐
350086             ter-finger
350087
350088             · 133d5f7885 some small changes
350089
350090             · d220c83f77  master_finger configuration docs switch a script to
350091               use https:// instead of http:// Refs #25751
350092
350093           · 4bd4bc41f2 Merge pull request #26047 from  jacobhammons/win-down‐
350094             loads
350095
350096             · 7c162d181c  Updated  windows  download  links  in  the  docs to
350097               https://repo.saltstack.com Refs #25961
350098
350099       · ISSUE #25998: (driskell) Event subsystem discarding  required  events
350100         during --batch breaking it for slow running commands (refs: #26000)
350101
350102       · PR  #26000:  (driskell)  Implement  full event caching for subscribed
350103         tags @ 2015-08-10 18:57:17 UTC
350104
350105         · f39780f8ce  Merge  pull  request  #26000   from   driskell/fix_dis‐
350106           carded_events
350107
350108         · 65acf975dd Implement full event caching for subscribed tags Require
350109           all multitasking contexts to subscribe to their events so one  call
350110           to  get_event  for  one  tag does not discard events that should be
350111           saved for a subsequent call to  get_event  with  another  tag.  Use
350112           blocking  get_event  in  batching  with  very  small timeout. Fixes
350113           #25998
350114
350115       · PR #26175:  (rallytime)  Back-port  #26153  to  2015.5  @  2015-08-10
350116         18:22:32 UTC
350117
350118         · PR  #26153:  (loa)  Fix  dockerio  state  documentation typo (refs:
350119           #26175)
350120
350121         · c01b4cf150 Merge pull request #26175 from rallytime/bp-26153
350122
350123         · 9a263067e9 Fix dockerio state documentation typo
350124
350125       · ISSUE #26024:  (jpic)  lxc_conf_unset  in  cloud.profile  is  ignored
350126         (refs: #26147)
350127
350128       · PR  #26177:  (rallytime)  Back-port  #26147  to  2015.5  @ 2015-08-10
350129         18:22:01 UTC
350130
350131         · PR #26147: (martinhoefling) Fixes #26024 (refs: #26177)
350132
350133         · ca80f33bfd Merge pull request #26177 from rallytime/bp-26147
350134
350135         · 323c3ab53c Fixes #26024
350136
350137       · ISSUE #21082: (clinta) master_type failover does not failover on  DNS
350138         errors (refs: #25404)
350139
350140       · PR  #26179:  (rallytime)  Back-port  #25404  to  2015.5  @ 2015-08-10
350141         18:21:50 UTC
350142
350143         · PR #25404: (DmitryKuzmenko) Fixed minion failover to next master on
350144           DNS errors. (refs: #26179)
350145
350146         · 1213b8d706 Merge pull request #26179 from rallytime/bp-25404
350147
350148         · 52ab9fc1fb Fixed minion failover to next master on DNS errors.
350149
350150       · ISSUE  #26112: (wt) state.template fails with unclear error with tem‐
350151         plate with only an include (refs: #26180)
350152
350153       · PR #26180: (jfindlay) fix processing of state.template  @  2015-08-10
350154         18:21:38 UTC
350155
350156         · b319c5ec04 Merge pull request #26180 from jfindlay/templ_env
350157
350158         · 5e46ea4441 check type of matches in render_state before iterating
350159
350160         · c80299b918 insert saltenv to render_state args in state.template
350161
350162       · ISSUE  #26162:  (nmadhok) VMware cloud driver create function failing
350163         with traceback on latest develop (refs: #26172)
350164
350165       · PR #26172: (nmadhok) [Backport] Make sure variable  is  a  dictionary
350166         before popping something from it.  @ 2015-08-10 16:42:50 UTC
350167
350168         · ef5a4a47f6   Merge   pull   request   #26172   from   nmadhok/back‐
350169           port-cloud-fix-26163-2015.5
350170
350171         · 0f2b5f8ac8 Make sure variable is a dictionary before popping  some‐
350172           thing from it.
350173
350174       · ISSUE #26098: (rdinoff) SALT.STATES.SLACK Doc update (refs: #26168)
350175
350176       · PR #26168: (cachedout) Fix slack docs @ 2015-08-10 14:57:18 UTC
350177
350178         · 2545df052a Merge pull request #26168 from cachedout/fix_slack_docs
350179
350180         · f421a936dc Fix slack docs
350181
350182       · ISSUE  #24106:  (nvx)  fileclient.py#get_url  ignores HTTP Auth again
350183         (2015.5 regression) (refs: #26127)
350184
350185       · PR #26127: (garethgreenaway)  Fixes  to  salt.utils.http  related  to
350186         cp.get_file_str bug.  @ 2015-08-10 14:38:25 UTC
350187
350188         · 9e6b0d6165    Merge   pull   request   #26127   from   garethgreen‐
350189           away/2015_5_24106
350190
350191         · 66f640086a one more lint error
350192
350193         · 317a8ec75c Disabling pylint for W0633, auth should only ever  be  a
350194           sequence at this location.
350195
350196         · 08eaca4fe4 lint fixes.
350197
350198         · 7046b84ac8  Fixing  a  bug  where cp.get_file_str would not work if
350199           using  http(s)  URLs  with  authentication.   The   salt.utils.http
350200           library  in 2015.5 defaults to using urllib instead of requests and
350201           there was no authenitication support added.  This PR adds authenti‐
350202           cation support. #24106
350203
350204       · ISSUE  #26141: (nmadhok) salt-cloud VMware driver fails with error in
350205         parsing configuration file (refs: #26140)
350206
350207       · ISSUE #25809: (o-sleep) vmware  cloud  module  error  message  (refs:
350208         #26140)
350209
350210       · ISSUE  #25625:  (steverweber)  cloud  vmware  driver does not provide
350211         mac_address unless vmware tools is running (refs: #26137, #26140)
350212
350213       · PR #26140: (nmadhok) VMware cloud driver fixes @ 2015-08-10  13:15:58
350214         UTC
350215
350216         · 3b65e1dd91     Merge     pull    request    #26140    from    nmad‐
350217           hok/vmware-cloud-fixes
350218
350219         · a1899b436c Correct provider name in profile example
350220
350221         · 1f21876d21 Lint fixes
350222
350223         · 0bd4fce9c1 Additional fixes to format_instance functions to display
350224           more information available
350225
350226         · 4ee1b777e9 Change double quotes to single quotes in add_host config
350227           example
350228
350229         · e132f06a5c Change double quotes to single quotes in  provider  con‐
350230           figuration example
350231
350232         · ad9895de07  Display error in else condition if connection is unsuc‐
350233           cessful and does not have msg attribute. Fixes #25809
350234
350235       · ISSUE #25625: (steverweber) cloud  vmware  driver  does  not  provide
350236         mac_address unless vmware tools is running (refs: #26137, #26140)
350237
350238       · PR #26137: (steverweber) use device mac address if vmtools not active
350239         @ 2015-08-09 03:05:36 UTC
350240
350241         · 474a250414 Merge pull request #26137 from steverweber/vmware_macad‐
350242           dress_fix
350243
350244         · 2589e389f0 use device mac address if vmtools not active
350245
350246       · PR  #26119:  (jodv)  Backport  eauth  bugfix  to  2015.5 @ 2015-08-09
350247         02:19:52 UTC
350248
350249         · 8a33797737 Merge pull request #26119 from  jodv/backport_eauth_bug‐
350250           fix
350251
350252         · e1a7bb5e7b fix pylint error (unnecessary 'finally' clause may swal‐
350253           low exceptions unintentionally)
350254
350255         · 5b5b4d8fe9 Fix issue with mixed user and group eauth perms
350256
350257         · 0d2c6a67a5 Return all relevant perms on login
350258
350259       · PR #26135: (cro) Fix proxy minions in 2015.5 and significantly update
350260         documentation.  @ 2015-08-09 02:19:21 UTC
350261
350262         · 2b8dcce0ca Merge pull request #26135 from cro/pm20155_2
350263
350264         · 28329fff55  These  tests make no sense now that the proxy interface
350265           is module based and not object based.
350266
350267         · b17b65d4de Fix lint.
350268
350269         · f4263c8f17 Fix lint.
350270
350271         · 6927251c09 Fix lint.
350272
350273         · 08f1a43ff0 Fix lint.
350274
350275         · 8261158b5a Fix lint.
350276
350277         · b5e643b9cd Whoops...Don't log the  entire  proxy  dictionary--might
350278           have sensitive stuff in it.
350279
350280         · 2acf3c5aa3  Remove some debugging statements, change some others to
350281           'info' level.
350282
350283         · 37de6af686 More proxy minion updates
350284
350285         · e79a182108 More proxy minion updates
350286
350287         · 3b746ac2f6 Update to reflect refactor to LazyLoader
350288
350289         · 5d390d3a5f Updates post meeting with Rick
350290
350291         · d1213ce4a0 Updates post meeting with Rick
350292
350293         · dd0b7c6937 Fix proxyobject confusion, now called proxymodule
350294
350295         · 9b1599d436 Update to reflect refactor to LazyLoader
350296
350297       · PR #26132: (TheBigBear) minor edit @ 2015-08-08 21:05:34 UTC
350298
350299         · 2705b4a36a Merge pull request #26132 from TheBigBear/patch-5
350300
350301         · 1d624d77bc minor edit
350302
350303       · ISSUE #25915: (ari) FreeBSD pkg install fails (refs: #26133)
350304
350305       · PR #26133: (amontalban) Fixed  #25915  in  salt/modules/pkgng.py  and
350306         salt/states/pkg.py @ 2015-08-08 21:05:05 UTC
350307
350308         · 3eac28f0f9 Merge pull request #26133 from amontalban/fix-bug-25915
350309
350310         · 6b0f4fca05    Fixed    #25915    in    salt/modules/pkgng.py    and
350311           salt/states/pkg.py
350312
350313       · PR #26111: (anlutro) Better error messages when  virtualenv  creation
350314         fails @ 2015-08-07 21:42:09 UTC
350315
350316         · 19c42b8b3a   Merge   pull   request   #26111   from  alprs/fix-vir‐
350317           tualenv_fail_message
350318
350319         · b2913acc48 virtualenv: better error messages when creation fails
350320
350321       · ISSUE #26093: (freedba) archive.tar bug (refs: #26110)
350322
350323       · PR #26110: (jfindlay) check for sources before adding them to cmd str
350324         @ 2015-08-07 21:33:23 UTC
350325
350326         · 6d2835b464 Merge pull request #26110 from jfindlay/tar_sources
350327
350328         · 1b2f8905eb check for sources before adding them to cmd str
350329
350330       · PR #26106: (vr-jack) Update __init__.py @ 2015-08-07 21:15:55 UTC
350331
350332         · 2d271b3612 Merge pull request #26106 from vr-jack/2015.5
350333
350334         · 5664de6610 Update __init__.py
350335
350336       · ISSUE #25983: (jmdcal) Trying to get md5 of local zip (refs: #25984)
350337
350338       · PR  #26101:  (rallytime)  Back-port  #25984  to  2015.5  @ 2015-08-07
350339         18:56:26 UTC
350340
350341         · PR #25984: (jmdcal)  Support  local  files  without  md5sum  (refs:
350342           #26101)
350343
350344         · 40d41741c1 Merge pull request #26101 from rallytime/bp-25984
350345
350346         · 3d279c0713 Pylint Fix
350347
350348         · cced16a9f4 Support local files without md5sum
350349
350350       · PR  #26080:  (techhat)  Fix  string  checking  in  s3fs  @ 2015-08-06
350351         23:36:09 UTC
350352
350353         · 0d3c2d549e Merge pull request #26080 from techhat/fixlower
350354
350355         · 8717a36963 Fix string checking in s3fs
350356
350357       · ISSUE #26039: (basepi)  Update  scheduler  docs  to  use  orchestrate
350358         instead of overstate (refs: #26079)
350359
350360       · PR  #26079: (cachedout) Update docs to remove state.over @ 2015-08-06
350361         23:35:26 UTC
350362
350363         · dc9c9b5a34 Merge pull request #26079 from cachedout/issue_26039
350364
350365         · f03f460af2 Update docs to remove state.over
350366
350367              · 89d8faaeb1 Added python_shell=True, quoted user input
350368
350369       · PR #26058: (opdude) Fix choco version on  chocolatey  versions  below
350370         0.9.9 @ 2015-08-06 18:50:10 UTC
350371
350372         · aa023f25b8  Merge  pull request #26058 from Unity-Technologies/hot‐
350373           fix/fix-choco-pkg-version-2015-5
350374
350375         · beddb96b2b Fix choco version on chocolatey versions below 0.9.9
350376
350377       · PR #26068: (jfindlay) fix autoruns.list looking in wrong directory  @
350378         2015-08-06 18:49:48 UTC
350379
350380         · fbe2584abe Merge pull request #26068 from jfindlay/auto_fix
350381
350382         · 1e9a850e23 fix autoruns.list looking in wrong directory
350383
350384       · ISSUE  saltstack/salt-bootstrap#640:  (Deshke) salt-minon install bug
350385         on ubuntu 14.04 tornado>=4.0 (refs: #26065)
350386
350387       · ISSUE saltstack/salt-bootstrap#633: (neilmb) Bootstrap install  fails
350388         on python-requests dependency (refs: #26065)
350389
350390       · ISSUE  saltstack/salt-bootstrap#632:  (JulianGindi) python-requests :
350391         Depends: python-urllib3 (>= 1.7.1) but it is not  installable  (refs:
350392         #26065)
350393
350394       · ISSUE  saltstack/salt-bootstrap#631:  (DavidJFelix)  Stable broken in
350395         15.04 even with -P (refs: #26065)
350396
350397       · ISSUE #636: (pille)  restict  access  to  salt://  filesystem  (refs:
350398         #`saltstack/salt-bootstrap#638`_)
350399
350400       · ISSUE  #613:  (thatch45) Add timeout option to publish.publish (refs:
350401         #`saltstack/salt-bootstrap#634`_)
350402
350403         · PR saltstack/salt-bootstrap#638: (stanislavb) Use prefix  /usr  for
350404           centos git install (refs: #26065)
350405
350406         · PR saltstack/salt-bootstrap#634: (BretFisher) bugfix: exit git root
350407           before removing it (refs: #26065)
350408
350409       · PR #26065: (s0undt3ch) [2015.5] Update  to  latest  bootstrap  stable
350410         release v2015.06.08 @ 2015-08-06 17:09:35 UTC
350411
350412         · 5570408597  Merge  pull  request #26065 from s0undt3ch/hotfix/boot‐
350413           strap-script-2015.5
350414
350415         · a430a62b01 Update to latest bootstrap stable release v2015.06.08
350416
350417       · ISSUE #25994: (gmcwhistler) module.ilo tempfile  creation  in  __exe‐
350418         cute_cmd  results  in  TypeError:  cannot concatenate 'str' and 'int'
350419         objects (refs: #26061)
350420
350421       · PR #26061: (gmcwhistler) Patch for issue #25994 @ 2015-08-06 17:07:34
350422         UTC
350423
350424         · 83a1922196 Merge pull request #26061 from gmcwhistler/2015.5
350425
350426         · b9e89d0f2d Patch for issue #25994
350427
350428       · ISSUE  #26063:  (saltstack-bot)  not  working  with  salt-cloud shows
350429         unknown locale error (refs: #26064)
350430
350431       · PR #26064: (s0undt3ch)  Don't  stacktrace  when  trying  to  get  the
350432         default locale.  @ 2015-08-06 16:11:05 UTC
350433
350434         · 073fb2bdea       Merge      pull      request      #26064      from
350435           s0undt3ch/issues/26063-unknown-locale
350436
350437         · 8c6ab78b1d Don't stacktrace when trying to get the default locale.
350438
350439       · PR #26048: (jacobhammons) Updated windows download links in the  docs
350440         to https://repo.saltstack.com @ 2015-08-05 22:59:50 UTC
350441
350442         · 0f44761d6e  Merge  pull  request #26048 from jacobhammons/win-down‐
350443           loads2
350444
350445         · 75243b61cf  Updated  windows  download  links  in   the   docs   to
350446           https://repo.saltstack.com
350447
350448       · ISSUE  #25616:  (rallytime) [2015.5] Provisioning Linodes Stacktraces
350449         (refs: #26044)
350450
350451       · PR #26044: (rallytime) Make sure the key we're comparing is also low‐
350452         ercase @ 2015-08-05 19:23:54 UTC
350453
350454         · dedcadc37e Merge pull request #26044 from rallytime/fix-25616
350455
350456         · c2e3803810 Make sure the key we're comparing is also lowercase
350457
350458       · PR  #26042: (jfindlay) fix test mode logic in state docs @ 2015-08-05
350459         19:23:07 UTC
350460
350461         · f005bdfce6 Merge pull request #26042 from jfindlay/result
350462
350463         · a83059ca01 fix test mode logic in state docs
350464
350465       · ISSUE #24460: (nicholascapo) Survey runner does not follow --out flag
350466         (refs: #26036)
350467
350468       · PR #26036: (nicholascapo) survey.hash: Remove manually printed text @
350469         2015-08-05 19:21:59 UTC
350470
350471         · 51ab6864b7  Merge  pull  request  #26036   from   nicholascapo/sur‐
350472           vey.hash_follow_out_flag
350473
350474         · 439ee9831c survey.hash: Remove manually printed text
350475
350476       · PR #26030: (opdude) Fix a bug in choco version that returned odd data
350477         @ 2015-08-05 16:30:25 UTC
350478
350479         · 6a4d18eba6 Merge pull request #26030  from  Unity-Technologies/hot‐
350480           fix/fix-choco-pkg-version-2015-5
350481
350482         · 3dd96c0638 Fix a bug in choco version that returned odd data
350483
350484       · PR  #26032: (jfindlay) add test logic to state reult doc @ 2015-08-05
350485         16:28:32 UTC
350486
350487         · c96d3bb55e Merge pull request #26032 from jfindlay/result
350488
350489         · 0fd180e106 add test logic to state reult doc
350490
350491       · ISSUE #23764: (es1o) source_hash from local file  is  not  supported.
350492         (refs: #26031, #25750)
350493
350494       · PR  #26031:  (alekti) Revert "Add file as supported protocol for file
350495         source_hash. Fixes #23764" @ 2015-08-05 15:32:01 UTC
350496
350497         · bd14d85636      Merge      pull      request      #26031       from
350498           alekti/merge-pull-25750-to-2015.5
350499
350500         · 5a7cab4dcc   Revert  "Add  file  as  supported  protocol  for  file
350501           source_hash. Fixes #23764."
350502
350503       · PR  #26021:  (anlutro)  Documentation:   Specify   versionadded   for
350504         git.present shared argument @ 2015-08-05 14:17:38 UTC
350505
350506         · d55e6e5fe9       Merge      pull      request      #26021      from
350507           alprs/docs-git_present_shared_versionadded
350508
350509         · 8fa678aaa7 specify versionadded for git.present shared argument
350510
350511       · ISSUE #25701: (alekti) Issue #23764 regression (refs: #25750)
350512
350513       · ISSUE #23764: (es1o) source_hash from local file  is  not  supported.
350514         (refs: #26031, #25750)
350515
350516       · PR  #26020: (alekti) Correctly resolve conflict merging pull 25750 to
350517         2015.5 @ 2015-08-05 14:16:58 UTC
350518
350519         · PR #25750:  (alekti)  Add  file  as  supported  protocol  for  file
350520           source_hash. Fixes #25701. (refs: #26020)
350521
350522         · 5e17c5d230       Merge      pull      request      #26020      from
350523           alekti/merge-pull-25750-to-2015.5
350524
350525         · 4b9d7426cc Add file as supported  protocol  for  file  source_hash.
350526           Fixes #23764.
350527
350528       · ISSUE  #22241:  (masterkorp)  Salt master not properly generating the
350529         map (refs: #25358)
350530
350531       · PR #26016: (basepi) Revert "Deep merge of pillar lists" @  2015-08-05
350532         04:59:52 UTC
350533
350534         · PR #25358: (dkiser) Deep merge of pillar lists (refs: #26016)
350535
350536         · 53f7aadcd7 Merge pull request #26016 from basepi/revert.25358
350537
350538         · 8a0e8e0460 Revert "Deep merge of pillar lists"
350539
350540       · ISSUE   #12255:   (eliasp)   'system.set_computer_desc'   fails  with
350541         non-ASCII chars (refs: #25992)
350542
350543       · PR #25992: (twangboy) Refactor win_system.py  @  2015-08-05  04:54:18
350544         UTC
350545
350546         · 200bff7538 Merge pull request #25992 from twangboy/fix_12255
350547
350548         · 0502897635 Fixed the lint... again
350549
350550         · 6f85d6b9af Fixed some lint
350551
350552         · 4195803e56 Merge pull request #3 from jfindlay/win_sys
350553
350554           · 9156bbd33e update win_system exec mod unit tests
350555
350556         · c92add95b5 Gated ctypes import, fixed some lint
350557
350558         · d7670fda0a Refactor win_service.py
350559
350560       · ISSUE  #25948:  (twangboy)  Fix  uncomment  function to handle spaces
350561         (refs: #26002)
350562
350563       · PR #26002: (twangboy) Fixed regex to account  for  comment  character
350564         followed by whitespace @ 2015-08-04 22:28:11 UTC
350565
350566         · c168159750 Merge pull request #26002 from twangboy/fix_25948
350567
350568         · ba1a57e582 Fixed regex to account for comment character followed by
350569           whitespace
350570
350571       · ISSUE #25949: (godlike64) layman.add does not  work  with  unofficial
350572         overlays (refs: #25970)
350573
350574       · PR  #25970: (jfindlay) accept addition of layman overlay @ 2015-08-04
350575         15:42:28 UTC
350576
350577         · 4ad2422da1 Merge pull request #25970 from jfindlay/layman
350578
350579         · 237a9e18b3 accept addition of layman overlay
350580
350581       · PR #25971: (basepi) [2015.5] salt.modules.reg Add spaces for  strings
350582         split across multiple lines @ 2015-08-04 15:39:48 UTC
350583
350584         · f136c6c1c0 Merge pull request #25971 from basepi/reg.typos
350585
350586         · bb001a6c0e Add spaces for strings split across multiple lines
350587
350588       · PR  #25990:  (rallytime)  Back-port  #25976  to  2015.5  @ 2015-08-04
350589         14:36:53 UTC
350590
350591         · PR #25976: (fleaflicker) Typo in help output (refs: #25990)
350592
350593         · 6383dd8a7d Merge pull request #25990 from rallytime/bp-25976
350594
350595         · 5f6dc0cc85 Typo in help output
350596
350597       · PR #25996: (attiasr) fix msiexec package remove @ 2015-08-04 14:36:31
350598         UTC
350599
350600         · 9f8bf75dc0 Merge pull request #25996 from attiasr/patch-1
350601
350602         · 5fbc5fcd94 fix msiexec package remove
350603
350604       · ISSUE  #25863:  (peterdemin) pkg.installed fails on already installed
350605         package if it is in versionlock.list (refs: #25864)
350606
350607       · PR #25966:  (rallytime)  Back-port  #25864  to  2015.5  @  2015-08-03
350608         18:48:26 UTC
350609
350610         · PR  #25864:  (peterdemin)  #25863  state.pkg.installed  fix  (refs:
350611           #25966)
350612
350613         · 2dca8d959b Merge pull request #25966 from rallytime/bp-25864
350614
350615         · 0f7f9637b4 #25863 fix - state.pkg:  do  preflight  check  only  for
350616           non-installed packages
350617
350618       · PR  #25967:  (rallytime)  Back-port  #25917  to  2015.5  @ 2015-08-03
350619         18:48:02 UTC
350620
350621         · PR #25917: (jmdcal) adding missing format string (refs: #25967)
350622
350623         · a6d8e541ed Merge pull request #25967 from rallytime/bp-25917
350624
350625         · 82b7e14a1f adding missing format string
350626
350627       · PR #25895: (basepi) [2015.5] Merge forward from 2014.7  to  2015.5  @
350628         2015-08-03 17:12:37 UTC
350629
350630         · 87d028b302   Merge   pull  request  #25895  from  basepi/merge-for‐
350631           ward-2015.5
350632
350633         · 56e43c8f88 Fix lint
350634
350635         · 93a182d9ea  Merge  remote-tracking  branch  'upstream/2014.7'  into
350636           merge-forward-2015.5
350637
350638           · d93eb87c16 Merge pull request #25750 from alekti/2014.7
350639
350640             · 9ec3ae96d4 Add file as supported protocol for file source_hash.
350641               Fixes #23764.
350642
350643           · 3a15df22ac  Merge  pull  request   #25704   from   cachedout/mas‐
350644             ter_type_2014_7
350645
350646             · c95886c9a7 Ensure prior alignment with master_type in 2014.7
350647
350648           · d1b9362a73  Merge  pull request #25657 from MrCitron/pattern-car‐
350649             bon-returner-2014.7
350650
350651             · f8b2f8079f Add the ability to specify a base pattern  for  met‐
350652               rics path used by the carbon returner
350653
350654           · 9634351fc2 Merge pull request #25633 from AkhterAli/2014.7
350655
350656             · 29be4bbe11 Update loader.py
350657
350658       · ISSUE  #25850:  (ssgward)  Need  to add packages to --versions-report
350659         (refs: #25941)
350660
350661       · PR #25941: (jfindlay) add timelib to dependency versions @ 2015-08-03
350662         12:23:42 UTC
350663
350664         · 98955057e0 Merge pull request #25941 from jfindlay/time_lib
350665
350666         · 464f7a404c add timelib to dependency versions
350667
350668       · PR  #25951: (garethgreenaway) Log when event.fire and event.fire_mas‐
350669         ter fail.  @ 2015-08-03 00:19:45 UTC
350670
350671         · dcc6883b24   Merge   pull   request   #25951   from    garethgreen‐
350672           away/event_fire_failed_log_why
350673
350674         · 7f20454427  If  we're  unable to fire an event, log the cause so we
350675           know what happened
350676
350677       · ISSUE #25838: (grep4linux) docs  disable_modules  documentation  typo
350678         (refs: #25942)
350679
350680       · PR #25942: (jfindlay) typo in minion doc @ 2015-07-31 23:34:55 UTC
350681
350682         · 4143cec3bf Merge pull request #25942 from saltstack/lover
350683
350684         · 7e121de907 Update minion.rst
350685
350686       · PR  #25938:  (jacobhammons)  Doc  on  using syndic with multimaster @
350687         2015-07-31 23:05:05 UTC
350688
350689         · PR #14690: (jacksontj) Multi syndic (refs: #25938)
350690
350691         · 1f20c065b8 Merge pull request #25938 from  jacobhammons/syndic-mul‐
350692           timaster
350693
350694         · ac0a8ff711 Doc on using syndic with multimaster
350695
350696       · ISSUE  #25839:  (twangboy)  ALLUSERS="1"  should  be  a  default when
350697         installing MSI's (refs: #25848)
350698
350699       · PR #25848:  (twangboy)  Added  allusers="1"  when  installing  msi  @
350700         2015-07-31 20:33:17 UTC
350701
350702         · 18a9e65e1f Merge pull request #25848 from twangboy/fix_25839
350703
350704         · e797739a1b Removed normalize_name function
350705
350706         · ad7fdda68b Adder allusers="1" when installing msi
350707
350708       · PR  #25898:  (jfindlay)  clarify  and expand syndic docs @ 2015-07-31
350709         20:01:23 UTC
350710
350711         · de0a0593c2 Merge pull request #25898 from jfindlay/syndic_doc
350712
350713         · 4795952847 rework syndic doc
350714
350715         · a25d0eabef update syndic doc to conform to style
350716
350717       · ISSUE #25852: (UtahDave) Salt loader is  not  loading  Salt  vars  in
350718         reactor python renderer (refs: #25927)
350719
350720       · PR  #25927:  (jacksontj)  Pass actual renderers to the Reactor's Com‐
350721         piler @ 2015-07-31 20:00:17 UTC
350722
350723         · d1f3da548a Merge pull request #25927 from jacksontj/2015.5
350724
350725         · cf7479aa0a Pass actual renderers to the Reactor's Compiler
350726
350727       · ISSUE #25810: (nvx) winpkg highstate fails when a  new  package  name
350728         contains a unicide character (refs: #25921)
350729
350730       · PR  #25921:  (cachedout)  Handle  non-ascii in state log @ 2015-07-31
350731         17:41:30 UTC
350732
350733         · 331fc121a8 Merge pull request #25921 from cachedout/issue_25810
350734
350735         · 8074c545ea Handle non-ascii in state log
350736
350737       · PR #25919: (TheBigBear) Minor  update  to  msi  un-installer  info  @
350738         2015-07-31 17:39:48 UTC
350739
350740         · 20fb8da8d4 Merge pull request #25919 from TheBigBear/patch-4
350741
350742         · c994d22696 Minor update to msi un-installer info
350743
350744         · PR  #25982:  (sjorge)  salt.modules.smartos_*  limit to global zone
350745           only (refs: #25905)
350746
350747       · PR #25905:  (rallytime)  Back-port  #25982  to  2015.5  @  2015-07-30
350748         23:24:19 UTC
350749
350750         · PR  #25892: (TheBigBear) Update 7-zip msi un-installer instructions
350751           (refs: #25905)
350752
350753         · 9a569da4ee Merge pull request #25905 from rallytime/bp-25892
350754
350755         · 333fbdde30 Update 7-zip msi un-installer instructions
350756
350757       · ISSUE #25577:  (yellow1912)  Wrong  indentation  in  document  (refs:
350758         #25696)
350759
350760       · PR  #25890:  (rallytime)  Back-port  #25698  to  2015.5  @ 2015-07-30
350761         23:12:09 UTC
350762
350763         · PR #25698: (rallytime) Back-port #25659 to 2015.8 (refs: #25890)
350764
350765         · PR #25696: (AkhterAli) Update schedule.py
350766
350767         · PR #25659: (isbm) Bugfix: crash at getting non-existing repo (refs:
350768           #25698)
350769
350770         · 6a738c5c41 Merge pull request #25890 from rallytime/bp-25696
350771
350772         · 7d68e49d98 Update schedule.py
350773
350774       · ISSUE  #25650:  (jacksontj)  state.running documentation is incorrect
350775         (refs: #25894)
350776
350777       · ISSUE #24042: (whiteinge) The state_events setting is not  documented
350778         (refs: #25894)
350779
350780       · ISSUE  #23788:  (k5jj) functions in drac.py module do not match docu‐
350781         mentation (refs: #25894)
350782
350783       · ISSUE  #21296:  (Lothiraldan)  Possible  minion   enumeration   using
350784         saltutil.find_job and eauth (refs: #25894)
350785
350786       · PR  #25894:  (jacobhammons) Minor doc bug fixes @ 2015-07-30 23:02:34
350787         UTC
350788
350789         · 8abb21e206 Merge pull request #25894 from jacobhammons/bug-fixes
350790
350791         · 3f3db4bd8e Additions for #24042
350792
350793         · db2129b199 Minor doc bug fixes Refs #24042 Refs #25650 Refs  #21296
350794           Refs #23788
350795
350796       · ISSUE  #24036:  (arthurlogilab)  [salt-cloud] Protect against passing
350797         command line arguments as names for  the  --destroy  command  in  map
350798         files (refs: #25877)
350799
350800       · PR #25877: (rallytime) Protect against passing a map file in addition
350801         to VM names with --destroy @ 2015-07-30 21:55:45 UTC
350802
350803         · 59e1680182 Merge pull request #25877 from rallytime/fix-24036
350804
350805         · 0211972fd7 Whitespace fix
350806
350807         · c6715e0404 Protect against passing a map file  in  addition  to  VM
350808           names with --destroy
350809
350810         · 3aa5045138  Clean  up  stacktrace  when referenced map file doesn't
350811           exist
350812
350813       · PR #25870:  (rallytime)  Back-port  #25824  to  2015.5  @  2015-07-30
350814         21:54:35 UTC
350815
350816         · PR  #25824:  (klyr)  Fix  get_managed() in file.py module for local
350817           files (refs: #25870)
350818
350819         · c4c9e40be6 Merge pull request #25870 from rallytime/bp-25824
350820
350821         · 1fd4837beb Fix get_managed() in file.py module for local files
350822
350823       · PR #25885: (t0rrant) Update Debian changelog  @  2015-07-30  20:05:59
350824         UTC
350825
350826         · af2326af68 Merge pull request #25885 from t0rrant/patch-3
350827
350828         · 3f73900c61 Update Debian changelog
350829
350830       · ISSUE #25478: (zyio) salt-ssh - Unable to locate current thin version
350831         (refs: #25862)
350832
350833       · ISSUE #25026: (sylvia-wang) salt-ssh "Failure  deploying  thin"  when
350834         using salt module functions (refs: #25862)
350835
350836       · PR  #25875:  (rallytime)  Back-port  #25862  to  2015.5  @ 2015-07-30
350837         17:34:02 UTC
350838
350839         · PR #25862: (zyio) Adding SCP_NOT_FOUND exit code (refs: #25875)
350840
350841         · 6ce0b3e5b8 Merge pull request #25875 from rallytime/bp-25862
350842
350843         · d7f448d501 Needed popen.wait().
350844
350845         · 25f8042e41 Checking for scp existance. Using command -v  should  be
350846           POSIX
350847
350848         · 6b2100a30b     New    exitcode    for    SCP    not    found    Re:
350849           https://github.com/saltstack/salt/issues/25478                  and
350850           https://github.com/saltstack/salt/issues/25026
350851
350852       · PR  #25873:  (rallytime)  Back-port  #25855  to  2015.5  @ 2015-07-30
350853         17:33:55 UTC
350854
350855         · PR #25855: (puneetk) Patch 3 (refs: #25873)
350856
350857         · 66dcc5525e Merge pull request #25873 from rallytime/bp-25855
350858
350859         · f1f7ce25b7 Update saltmod.py
350860
350861         · 23a6806008 Update saltmod.py
350862
350863       · PR #25871:  (rallytime)  Back-port  #25829  to  2015.5  @  2015-07-30
350864         17:33:43 UTC
350865
350866         · PR  #25829: (peterdemin) Fixed typo in salt.states.saltmod.function
350867           doc string (refs: #25871)
350868
350869         · bf8bd38da7 Merge pull request #25871 from rallytime/bp-25829
350870
350871         · a80c47ee10 Fixed typo in salt.states.saltmod.function doc string
350872
350873       · ISSUE #24002: (csakoda) File lock contention on windows minions caus‐
350874         ing highstate crash (refs: #25788)
350875
350876       · PR  #25869:  (rallytime)  Back-port  #25788  to  2015.5  @ 2015-07-30
350877         17:33:33 UTC
350878
350879         · PR #25788: (opdude) Catch a hard crash when  running  highstate  on
350880           windows (refs: #25869)
350881
350882         · f26310ff0b Merge pull request #25869 from rallytime/bp-25788
350883
350884         · 65b18e3b34 Catch a hard crash when running highstate on windows
350885
350886       · ISSUE  #19532:  (stolendog)  salt-ssh running git clone with not root
350887         user (refs: #25853)
350888
350889       · PR #25853: (davidjb) Make ssh-id-wrapper accessible to non-root users
350890         @ 2015-07-30 16:49:47 UTC
350891
350892         · 810fbb8bfb  Merge  pull  request  #25853  from davidjb/ssh-id-wrap‐
350893           per-non-root
350894
350895         · 6492bde192 Make ssh-id-wrapper accessible to non-root users
350896
350897       · ISSUE  #25447:  (spo0nman)  SaltMaster  is   crippled   with   Minion
350898         Re-Authentication  (refs: #25856)
350899
350900       · PR  #25856: (jfindlay) expand minion reauth scalability documentation
350901         @ 2015-07-30 15:33:17 UTC
350902
350903         · b6805b068a Merge pull request #25856 from jfindlay/intro_scale
350904
350905         · 5921461bb1 style and usage consistency in intro_scale
350906
350907         · 51dc7cacfb whitespace adjustments in intro_scale
350908
350909         · 39a82467f1 expand minion reauth scalability documentation
350910
350911       · ISSUE  #25801:  (themalkolm)  Update  docs  that  salt.states.winrepo
350912         requires roles:salt-master in grains. (refs: #25840)
350913
350914       · PR  #25840:  (jfindlay) add note to winrepo state docs about required
350915         grain @ 2015-07-30 14:38:27 UTC
350916
350917         · 423d528b73 Merge pull request #25840 from jfindlay/winrepo_master
350918
350919         · b6cfd54f3b add note to winrepo state docs about required grain
350920
350921       · ISSUE #25827: (0xf10e) "Deprecating Code" doesn't  mention  Usage  of
350922         warn_until() w/ Release Names (refs: #25846)
350923
350924       · PR  #25846:  (jfindlay)  rework deprecation documentation for release
350925         names @ 2015-07-30 13:26:21 UTC
350926
350927         · 754c8be719 Merge pull request #25846 from jfindlay/depr_code
350928
350929         · d377f42c48 rework deprecation documentation for release names
350930
350931       · ISSUE #23288: (UtahDave)  cp.push  fails  to  recreate  empty  files.
350932         (refs: #25833)
350933
350934       · PR  #25833:  (jahamn)  Allows  cp.push  to  recreate  empty  files  @
350935         2015-07-29 16:14:48 UTC
350936
350937         · d9ab4bb989      Merge      pull      request      #25833       from
350938           jahamn/fix-cp.push-not-recreating-empty-files
350939
350940         · eac19fbf33 Allows cp.push to recreate empty files
350941
350942       · ISSUE  #11474:  (JensRantil)  pkgrepo.managed key_url: salt:// always
350943         use base env (refs: #25831)
350944
350945       · PR #25831: (rallytime) Add salt:// to key_url  options  to  docs  for
350946         pkgrepo.managed @ 2015-07-29 15:38:43 UTC
350947
350948         · 6f93d64784 Merge pull request #25831 from rallytime/fix-11474
350949
350950         · 067ea788e9  Add salt:// to key_url options to docs for pkgrepo.man‐
350951           aged
350952
350953       · ISSUE #22699: (arthurlogilab) salt-cloud fails on KeyError when given
350954         a nonexistant action (refs: #25807)
350955
350956       · PR  #25807: (rallytime) Provide helpful error when using actions with
350957         a mapfile @ 2015-07-29 15:30:15 UTC
350958
350959         · 72b3633383 Merge pull request #25807 from rallytime/fix-22699
350960
350961         · 3f3005c746 Use handle_exception function in cloud cli.py
350962
350963         · f91edf3a33 Provide helpful error when using actions with a mapfile
350964
350965       · PR #25818: (jfindlay) fix autoruns list @ 2015-07-29 15:29:20 UTC
350966
350967         · 71497adc0d Merge pull request #25818 from jfindlay/autoruns_users
350968
350969         · c2dbb65982 fix autoruns list for modern windowsen
350970
350971       · PR #25826: (anlutro) Check that "onchanges" is a  list  @  2015-07-29
350972         15:00:28 UTC
350973
350974         · 98b324c5f8       Merge      pull      request      #25826      from
350975           alprs/fix-onchanges_type_check
350976
350977         · 7992a3f0f4 state.py: check that "onchanges" is a list
350978
350979       · ISSUE #25258:  (nickw8)  windows  minion  repo  not  updating  (refs:
350980         #25798)
350981
350982       · PR  #25798:  (twangboy)  Fixed stacktrace on package name not found @
350983         2015-07-28 22:40:14 UTC
350984
350985         · ad07dc1e27 Merge pull request #25798 from twangboy/fix_25258
350986
350987         · aa19c2bf8f Fixed stacktrace on package name not found
350988
350989       · ISSUE  #25437:  (lorengordon)  Stacktrace  on  Windows  when  running
350990         pkg.list_pkgs (refs: #25598, #25763)
350991
350992       · PR  #25797:  (twangboy)  Changed  repocache  back  to  cached_repo  @
350993         2015-07-28 22:39:32 UTC
350994
350995         · PR #25763: (twangboy) Fix 25437 (refs: #25797)
350996
350997         · 4a38d4a606    Merge    pull    request    #25797    from     twang‐
350998           boy/fix_revert_in_25763
350999
351000         · 81d5b5ee55 Changed repocache back to cached_repo
351001
351002       · PR  #25793:  (rallytime)  Back-port  #25730  to  2015.5  @ 2015-07-28
351003         19:37:34 UTC
351004
351005         · PR #25730: (sjorge) patchelf lives in pkgsrc (refs: #25793)
351006
351007         · 823f0ce350 Merge pull request #25793 from rallytime/bp-25730
351008
351009         · 937779eb51 patchelf lives in pkgsrc
351010
351011       · PR #25792:  (rallytime)  Back-port  #25688  to  2015.5  @  2015-07-28
351012         19:37:17 UTC
351013
351014         · PR  #25688: (bclermont) Don't acquire lock if there is no formatter
351015           (refs: #25792)
351016
351017         · 4109ae55f9 Merge pull request #25792 from rallytime/bp-25688
351018
351019         · 0aa1416b6b Don't acquire lock if there is no formatter
351020
351021       · PR #25796: (cachedout) Remove debug from docs @  2015-07-28  17:35:59
351022         UTC
351023
351024         · 737fb1410c Merge pull request #25796 from cachedout/debug_doc
351025
351026         · 33bfdf3b0b Remove debug from docs
351027
351028       · ISSUE  #24920:  (voileux)  module.zpool.create on character device is
351029         not possible by salt (refs: #25749)
351030
351031       · PR  #25749:  (jahamn)  Allow  zpool.create  on  character  devices  @
351032         2015-07-28 16:01:40 UTC
351033
351034         · a658753eff  Merge  pull  request  #25749 from jahamn/fix-zpool-spe‐
351035           cial-char-device-support
351036
351037         · 361f6cc23f Allow zpool.create on character devices
351038
351039       · PR #25685: (twangboy) Fixed regex issues with comment and uncomment @
351040         2015-07-28 15:29:49 UTC
351041
351042         · 1fae76d53c Merge pull request #25685 from twangboy/fix_25594
351043
351044         · a904e8329b Fixed another test failure...
351045
351046         · aa077d3a86 Fixed more tests... justin findlay helped me...
351047
351048         · 87c8f8dfb5 Fixed some tests... maybe...
351049
351050         · 3c1a73f16c Fixed some lint
351051
351052         · b3e44e342c Fixed states to work with comment_line
351053
351054         · b1cedd1153 Fixed regex issues with comment and uncomment
351055
351056       · ISSUE  #25437:  (lorengordon)  Stacktrace  on  Windows  when  running
351057         pkg.list_pkgs (refs: #25598, #25763)
351058
351059       · PR #25763: (twangboy) Fix 25437 (refs: #25797) @ 2015-07-28  15:29:27
351060         UTC
351061
351062         · 0bdb29402a Merge pull request #25763 from twangboy/fix_25437
351063
351064         · 9e70c800b9 The real fix for 25437 that doesn't break other crap
351065
351066         · d7347e01e5  Revert  "Fixed problem trying to load file with name of
351067           boolean type"
351068
351069         · cf57712eeb         Merge         branch         '2015.5'         of
351070           https://github.com/saltstack/salt into fix_25437
351071
351072       · PR #25752: (thatch45) State top saltenv @ 2015-07-28 01:02:10 UTC
351073
351074         · c1236595f9       Merge      pull      request      #25752      from
351075           thatch45/state_top_saltenv
351076
351077         · 65d6ec0659 don't override the minion config unless requested
351078
351079         · 26c858361c Add state_top_saltenv to the config chain
351080
351081         · 36a3b674a7 Add raet support for state_top_saltnev
351082
351083         · f6fa025b13 Add saltenv top file support to salt master_opts
351084
351085         · 4a1c53309b Add state_top_saltenv support
351086
351087       · ISSUE #25717: (twangboy) Problem with chocolatey module  not  loading
351088         (refs: #25755)
351089
351090       · PR  #25755:  (twangboy) Fixed problem with dunder functions not being
351091         passed @ 2015-07-27 19:31:22 UTC
351092
351093         · f367acb253 Merge pull request #25755 from twangboy/fix_25717
351094
351095         · 10e410504d Fixed problem with dunder functions not being passed
351096
351097       · ISSUE #25352: (m03) reg.absent  reporting  incorrect  results  (refs:
351098         #25648)
351099
351100       · PR  #25648:  (twangboy)  Clarified functionality of reg module, fixed
351101         state to work with new module @ 2015-07-27 19:30:33 UTC
351102
351103         · f05ae95f9c Merge pull request #25648 from twangboy/fix_25352
351104
351105         · d6496ce814 Merge pull request #1 from jfindlay/reg
351106
351107           · 3b0cc6592a fix reg unit tests
351108
351109         · b473fb7827 Fixed some tests... maybe...
351110
351111         · ff7296d983 Fixed some more lint
351112
351113         · 7a71f5ea6a         Merge         branch         '2015.5'         of
351114           https://github.com/saltstack/salt into fix_25352
351115
351116         · f57b2b8e7a Fixed some line, added documentation
351117
351118         · d78fa97a71         Merge         branch         '2015.5'         of
351119           https://github.com/saltstack/salt into fix_25352
351120
351121         · 99d9518af8 Clarified functionality of reg module,  fixed  state  to
351122           work with new module
351123
351124       · ISSUE #25154: (uvsmtid) All data mixed on STDOUT together should gen‐
351125         erate valid JSON output (refs: #25722)
351126
351127       · ISSUE #25153: (uvsmtid) Multiple results should generate  valid  JSON
351128         output (refs: #25722)
351129
351130       · PR  #25740:  (rallytime)  Back-port  #25722  to  2015.5  @ 2015-07-27
351131         16:08:40 UTC
351132
351133         · PR #25722: (uvsmtid) Minor docs changes to  emphasize  JSON  output
351134           problems without --static option (refs: #25740)
351135
351136         · 29c66d85a4 Merge pull request #25740 from rallytime/bp-25722
351137
351138         · c33eb813ea Change docs for --static option with JSON - text B
351139
351140         · 89dd2ec8fb Change docs for --static option with JSON - text A
351141
351142       · PR  #25739:  (rallytime)  Back-port  #25709  to  2015.5  @ 2015-07-27
351143         16:08:27 UTC
351144
351145         · PR  #25709:  (colekowalski)  add  direct-io-mode  to  mount_invisi‐
351146           ble_options (refs: #25739)
351147
351148         · PR #25699: (rallytime) Back-port #25660 to 2015.5 (refs: #25709)
351149
351150         · PR   #25660:   (colekowalski)   add  glusterfs'  direct-io-mode  to
351151           mount_invisible_keys (refs: #25699, #25709)
351152
351153         · 135b03e53b Merge pull request #25739 from rallytime/bp-25709
351154
351155         · fda2ffa44e add direct-io-mode to mount_invisible_options
351156
351157       · PR #25738:  (rallytime)  Back-port  #25671  to  2015.5  @  2015-07-27
351158         16:08:23 UTC
351159
351160         · PR  #25671:  (niq000)  added  a  parameter  so verifying SSL is now
351161           optional instead of hard-coded (refs: #25738)
351162
351163         · 095a923b6e Merge pull request #25738 from rallytime/bp-25671
351164
351165         · 525cd70589 added a parameter  so  verifying  SSL  is  now  optional
351166           instead of hard-coded
351167
351168       · ISSUE  #25229:  (rmatulat)  Module  git.latest kills target directory
351169         when test=True (refs: #25608)
351170
351171       · PR #25737:  (rallytime)  Back-port  #25608  to  2015.5  @  2015-07-27
351172         16:08:18 UTC
351173
351174         · PR  #25608: (rmatulat) Fix: prevent git.latest from removing target
351175           (refs: #25737)
351176
351177         · 05fbfe64e9 Merge pull request #25737 from rallytime/bp-25608
351178
351179         · df85d734bc Fix:  prevent  git.latest  from  removing  target  Fixes
351180           #25229  While force=True and test=True git.latest should not remove
351181           the target directory.
351182
351183       · PR #25733: (davidjb) Avoid IndexError when listing  mounts  if  mount
351184         output ends in newline @ 2015-07-27 16:08:05 UTC
351185
351186         · 9817fc5556 Merge pull request #25733 from davidjb/mount-fix
351187
351188         · 6d0bce2418 Test length of comps when listing mounts
351189
351190       · ISSUE  #22460:  (onmeac)  Command  setm is not supported (yet) (refs:
351191         #25705)
351192
351193       · PR  #25705:  (blackduckx)  Support  for  setm  augeas   command.    @
351194         2015-07-27 16:07:10 UTC
351195
351196         · 82ba390b7b Merge pull request #25705 from blackduckx/augeas-setm
351197
351198         · cad0f2b46e Augeas: fix pylint and documentation
351199
351200         · ee97896cba Support for setm augeas command.
351201
351202       · PR  #25703:  (cachedout)  Return  to str for master_type for 2015.5 @
351203         2015-07-27 16:06:22 UTC
351204
351205         · f732be365d  Merge   pull   request   #25703   from   cachedout/mas‐
351206           ter_type_2015_5
351207
351208         · 0dc28ad3e4 Return to str for master_type for 2015.5
351209
351210       · ISSUE #25144: (johnccfm) user.present on Windows fails to add user to
351211         groups if group name contains a space (refs: #25702)
351212
351213       · PR #25702: (twangboy) Fixed win_user module for groups with spaces in
351214         the name @ 2015-07-27 15:06:33 UTC
351215
351216         · dea3d31578 Merge pull request #25702 from twangboy/fix_25144
351217
351218         · d5be7a2fdf  Fixed  win_user  moduele  for groups with spaces in the
351219           name
351220
351221       · ISSUE #25351:  (m03)  win_servermanager.list_installed  failing  with
351222         "IndexError: list index out of range" (refs: #25711)
351223
351224       · PR    #25711:    (twangboy)   Fixed   problem   with   win_serverman‐
351225         ager.list_installed @ 2015-07-27 15:05:48 UTC
351226
351227         · 186af9b54d Merge pull request #25711 from twangboy/fix_25351
351228
351229         · 82fa911931 Fixed problem with win_servermanager.list_installed
351230
351231       · ISSUE #25435: (yee379) progressbar dependency missing (refs: #25714)
351232
351233       · PR #25714: (cachedout) Display  warning  when  progressbar  can't  be
351234         loaded @ 2015-07-25 00:10:13 UTC
351235
351236         · ad8456eeed Merge pull request #25714 from cachedout/issue_25435
351237
351238         · 44f34684ef Included note in help docs
351239
351240         · 4e2fee17cc Display warning when progressbar can't be loaded
351241
351242       · PR  #25699:  (rallytime)  Back-port #25660 to 2015.5 (refs: #25709) @
351243         2015-07-24 22:11:40 UTC
351244
351245         · PR  #25660:  (colekowalski)  add   glusterfs'   direct-io-mode   to
351246           mount_invisible_keys (refs: #25699, #25709)
351247
351248         · a0969ff74a Merge pull request #25699 from rallytime/bp-25660
351249
351250         · 85c636d7a1 add glusterfs' direct-io-mode to mount_invisible_keys
351251
351252       · ISSUE #25689: (anlutro) Minion log in salt-ssh (refs: #25694)
351253
351254       · PR  #25694: (s0undt3ch) Salt-SSH fix for #25689 @ 2015-07-24 21:41:57
351255         UTC
351256
351257         · fe829564f4 Merge pull request #25694 from s0undt3ch/2015.5
351258
351259         · afba3bde90 Use a relative un-nested path to the salt-call logfile.
351260
351261         · 6309f22a65 Fix wrong variable assignment
351262
351263         · c312592c81 Have cookie JAR's respect the configured cachedir
351264
351265       · ISSUE #25250: (wipfs) 'force' option in  copy  state  deletes  target
351266         file (refs: #25461, #25710)
351267
351268       · PR #25710: (jahamn) Integration Testcase for Issue 25250 @ 2015-07-24
351269         20:57:33 UTC
351270
351271         · fb4744b2f8  Merge  pull   request   #25710   from   jahamn/integra‐
351272           tion-test-for-issue-25250
351273
351274         · 24f653e963 Integration Test for Issue 25250
351275
351276       · PR #25680: (basepi) [2015.5] Move cmd.run jinja aliasing to a wrapper
351277         class to prevent side effects @ 2015-07-24 19:52:10 UTC
351278
351279         · PR #25049:  (terminalmage)  Fix  cmd.run  when  cross-called  in  a
351280           state/execution module (refs: #25680)
351281
351282         · 18c9d5454d Merge pull request #25680 from basepi/jinja.alias.25049
351283
351284         · e83a0f9b2b Use new-style classes
351285
351286         · 4a50bac1c2 Fix typo
351287
351288         · 36410389dc Name the Nitrogen release
351289
351290         · 77679596f9 Make ALIASES global
351291
351292         · 01c209efd9 Fix some aliases references
351293
351294         · 1644641c57 Move cmd.run aliasing to a wrapper class to prevent side
351295           effects
351296
351297       · PR #25682: (basepi) [2015.5] Fix parsing args with just a hash (#)  @
351298         2015-07-24 19:52:01 UTC
351299
351300         · 6a5c6dcd04 Merge pull request #25682 from basepi/fix.hash.parsing
351301
351302         · 8d75c1b882 Fix parsing args with just a hash (#)
351303
351304       · PR  #25695:  (stanislavb)  Configurable  AWS region & region from IAM
351305         metadata @ 2015-07-24 19:36:40 UTC
351306
351307         · d330ef0d81      Merge      pull      request      #25695       from
351308           stanislavb/expose-aws-region-config-and-fetch-region-from-metadata
351309
351310         · 595da6252e Configurable AWS region & region from IAM metadata
351311
351312       · PR  #25645:  (kev009)  Fix pkgng provider to work with a sources list
351313         and the underlying pkg… @ 2015-07-24 16:33:18 UTC
351314
351315         · ea0d295d49 Merge pull request #25645 from kev009/freebsd-pkgng-add
351316
351317         · ee2cbb574a Fix pkgng provider to work with a sources list  and  the
351318           underlying pkg-add(8)
351319
351320       · PR #25677: (aneeshusa) Fix pacman.list_upgrades when refresh=True.  @
351321         2015-07-24 16:30:06 UTC
351322
351323         · 2cad79c2f0  Merge  pull  request  #25677  from   aneeshusa/fix-pac‐
351324           man-list-upgrades-when-refreshing
351325
351326         · 7062ae4eae Fix pacman.list_upgrades when refresh=True.
351327
351328       · ISSUE  #25674:  (UtahDave)  file.managed with contents parameter uses
351329         wrong line endings on Windows (refs: #25675)
351330
351331       · PR #25675: (UtahDave) Use OS line endings with contents on  file.man‐
351332         aged @ 2015-07-24 16:29:50 UTC
351333
351334         · 18e739b812 Merge pull request #25675 from UtahDave/2015.5local
351335
351336         · d0f9d001db Use OS line endings with contents on file.managed
351337
351338       · PR  #25676:  (basepi)  Update release candidate docs to 2015.8.0rc2 @
351339         2015-07-23 20:29:37 UTC
351340
351341         · 7914f51636      Merge      pull      request      #25676       from
351342           basepi/2015.8.0rc2releasedocs
351343
351344         · 882d11836b Update release candidate docs to 2015.8.0rc2
351345
351346       · ISSUE #25665: (nmadhok) salt-cloud VMware driver fails with KeyErrors
351347         if there's any existing  machine  in  the  VMware  infrastructure  in
351348         (invalid state) (refs: #25666)
351349
351350       · PR  #25666:  (nmadhok)  Check  if the properties exist before looping
351351         over them causing KeyError @ 2015-07-23 17:55:40 UTC
351352
351353         · c36b714401    Merge    pull    request    #25666     from     nmad‐
351354           hok/vmware-cloud-fix_2015.5
351355
351356         · 8e812296ef  Check  if the properties exist before looping over them
351357           causing KeyErrors Fixes #25665
351358
351359       · PR  #25656:  (anlutro)  Fix  locale  detection  in  debian/gentoo   @
351360         2015-07-23 16:46:40 UTC
351361
351362         · 36d04b2954  Merge  pull request #25656 from alprs/fix-locale_detec‐
351363           tion
351364
351365         · a260236942 change variable name
351366
351367         · dd2a188c05 fix tests
351368
351369         · aefd0fb374 code formatting
351370
351371         · e58d222fb0 fix locale detection in debian/gentoo
351372
351373       · PR #25661:  (rallytime)  Back-port  #25624  to  2015.5  @  2015-07-23
351374         16:26:48 UTC
351375
351376         · PR  #25624:  (bobrik)  Fix typo in get_routes example for debian_ip
351377           (refs: #25661)
351378
351379         · b1c1735aae Merge pull request #25661 from rallytime/bp-25624
351380
351381         · 4e1fcfa15e Fix typo in get_routes example for debian_ip
351382
351383       · ISSUE #15209: (hubez) file.manage: source_hash not working with s3://
351384         (2014.7.0rc1) (refs: #25638)
351385
351386       · PR  #25662:  (rallytime)  Back-port  #25638  to  2015.5  @ 2015-07-23
351387         16:26:40 UTC
351388
351389         · PR #25638: (TronPaul) fix bad merge in 99fc7ec (refs: #25662)
351390
351391         · 6a2843dee2 Merge pull request #25662 from rallytime/bp-25638
351392
351393         · 90d833d5dc fix bad merge 99fc7ec
351394
351395       · ISSUE  #25413:  (zizkebab)  pillar_opts  default  behavior   is   not
351396         reflected in the docs (refs: #25644)
351397
351398       · PR #25644: (cachedout) pillar doc fix @ 2015-07-22 22:57:23 UTC
351399
351400         · 00f4689fe3 Merge pull request #25644 from cachedout/issue_25413
351401
351402         · 8cef61e6cc pillar doc fix
351403
351404       · ISSUE  #25540:  (dennisjac) salt highstate schedule cannot be removed
351405         (refs: #25642)
351406
351407       · PR #25642: (cachedout) Warn on pillar schedule  delete  @  2015-07-22
351408         22:04:12 UTC
351409
351410         · aeaeb53ed6 Merge pull request #25642 from cachedout/issue_25540
351411
351412         · 74f6b6930c Warn on pillar schedule delete
351413
351414       · ISSUE  #25437:  (lorengordon)  Stacktrace  on  Windows  when  running
351415         pkg.list_pkgs (refs: #25598, #25763)
351416
351417       · PR #25598: (twangboy) Fixed problem trying to load file with name  of
351418         boolean type @ 2015-07-22 17:07:49 UTC
351419
351420         · 7b79e433f1 Merge pull request #25598 from twangboy/fix_25437
351421
351422         · c53e11d42c  Fixed  problem trying to load file with name of boolean
351423           type
351424
351425       · ISSUE #25323: (terminalmage) unit.modules.tls_test fails  with  older
351426         mock (refs: #25604)
351427
351428       · PR #25604: (terminalmage) Move patching of mock_open to within test @
351429         2015-07-22 16:53:55 UTC
351430
351431         · f4a38a8aee   Merge   pull    request    #25604    from    terminal‐
351432           mage/fix-mock_open
351433
351434         · 123b8ee1cb Fix mock_open patch
351435
351436         · af82835f42 Move patching of mock_open to within test
351437
351438       · ISSUE  saltstack/salt-bootstrap#630:  (jf)  Ubuntu  12.04  (and maybe
351439         12.x?): apt-get installing python-requests causes digital_ocean_v2 to
351440         fail   with   "[ERROR   ]   Failed   to  get  the  output  of  'digi‐
351441         tal_ocean.avail_sizes()': 'Response' object has no attribute  'text'"
351442         (refs: #25609)
351443
351444         · PR  saltstack/salt-bootstrap#627: (nyushi) Fix tornado installation
351445           on ubuntu (refs: #25609)
351446
351447       · PR #25609: (s0undt3ch) [2015.5] Update the bootstrap script to latest
351448         release v2015.07.22 @ 2015-07-22 16:28:52 UTC
351449
351450         · 224484df7e  Merge  pull  request #25609 from s0undt3ch/hotfix/boot‐
351451           strap-script-2015.5
351452
351453         · 96a8568336  Update  the  bootstrap   script   to   latest   release
351454           v2015.07.22
351455
351456       · ISSUE  #21912:  (rvora) pkg.latest not updating the package on CentOS
351457         though yum reports an update available (refs: #25603)
351458
351459       · PR #25603: (terminalmage) Add version_cmp  function  to  yumpkg.py  @
351460         2015-07-22 15:42:29 UTC
351461
351462         · 07eb78c79f Merge pull request #25603 from terminalmage/issue21912
351463
351464         · 99e532ba74 Add versionadded directive
351465
351466         · 8a1765fc6f Add version_cmp function to yumpkg.py
351467
351468         · 457e72e273 Fix refernces to __salt__['version_cmp']
351469
351470         · a19fa2296a Avoid using single-letter variable
351471
351472       · ISSUE  #25560:  (dennisjac)  scheduled  highstate  runs  don't return
351473         results to the job cache (refs: #25590)
351474
351475       · PR #25590: (garethgreenaway) 2015.5  scheduled  jobs  return  data  @
351476         2015-07-21 21:57:42 UTC
351477
351478         · 69ef81caba    Merge   pull   request   #25590   from   garethgreen‐
351479           away/25560_2015_5_schedule_return_data
351480
351481         · 19ca0c0b40 Switching default in 2015.5  for  whether  job  data  in
351482           returned to the mater job_cache.
351483
351484       · PR  #25584:  (rallytime)  Back-port  #24054  and  #25576  to 2015.5 @
351485         2015-07-21 21:16:38 UTC
351486
351487         · PR #25576: (pcn) s3fs breaks when fetching  files  from  s3  (refs:
351488           #25584)
351489
351490         · PR #24054: (mgwilliams) s3.head: return useful data (refs: #25584)
351491
351492         · 9ffefc867e     Merge    pull    request    #25584    from    rally‐
351493           time/bp-24054-and-25576
351494
351495         · aa9598e3a5 s3fs breaks when fetching files from s3
351496
351497         · 1667d67c3e s3.head: return useful data
351498
351499       · ISSUE #23626:  (mirko)  salt  state  'ssh_known_hosts'  doesn't  take
351500         'port' into account (refs: #25589)
351501
351502       · PR #25589: (jahamn) Fixes ssh_known_host not taking port into account
351503         @ 2015-07-21 21:15:06 UTC
351504
351505         · a966e439d1      Merge      pull      request      #25589       from
351506           jahamn/Fix-ssh_known_host-not-taking-port-into-account
351507
351508         · 8db7ada82d Fixed pylint e8303 errors
351509
351510         · 6abad29f66 Fixed pylint errors
351511
351512         · 8ae6ba1290         Merge         branch         '2015.5'         of
351513           https://github.com/saltstack/salt into  Fix-ssh_known_host-not-tak‐
351514           ing-port-into-account
351515
351516       · PR   #25573:  (EvaSDK)  Do  not  execute  bootstrap  script  twice  @
351517         2015-07-21 18:20:04 UTC
351518
351519         · PR #25465: (EvaSDK) 2015.5.3 LXC module fixes (refs: #25573)
351520
351521         · df74f2c3ad Merge pull request #25573 from EvaSDK/2015.5.3-lxc-fixes
351522
351523         · 49cec9f9a1 Use a more persistent tmp directory
351524
351525         · 96a672f8e0 Do not execute bootstrap script twice
351526
351527       · ISSUE #25532: (attiasr) salt/modules/win_pkg.py list_pkgs  is  broken
351528         (encoding issues) (refs: #25580, #25556)
351529
351530       · PR   #25580:   (attiasr)  use  explicit  utf-8  decoding  (#25532)  @
351531         2015-07-21 15:40:49 UTC
351532
351533         · 79a809dd79 Merge pull request #25580 from attiasr/patch-1
351534
351535         · 4b7dc96919 use explicit utf-8 decoding (#25532)
351536
351537       · ISSUE #25206: (jfindlay) fullname issues with user.add state on  win‐
351538         dows (refs: #25568)
351539
351540       · PR  #25568:  (twangboy)  Fixed  win_useradd  module to add fullname @
351541         2015-07-21 14:30:25 UTC
351542
351543         · 6edf196533 Merge pull request #25568 from twangboy/fix_25206
351544
351545         · fbee445c6d Commented out a pylint error
351546
351547         · 4b56dc3893 Fixed win_useradd module to add fullname
351548
351549       · ISSUE #21041: (deuscapturus) state module gem.installed  not  working
351550         on Windows. (refs: #25430, #25561, #25428)
351551
351552       · PR  #25561:  (twangboy)  Fixed  the  gem module to work on windows...
351553         without injection @ 2015-07-20 21:12:15 UTC
351554
351555         · PR #25428: (twangboy) Fixed the  gem  module  to  work  on  windows
351556           (refs: #25561)
351557
351558         · 3c32b0b669 Merge pull request #25561 from twangboy/fix_21041_again
351559
351560         · aaf3f3dcd0 Fixed some line and style issues
351561
351562         · e6d0e5cda7         Merge         branch         '2015.5'         of
351563           https://github.com/saltstack/salt into fix_21041_again
351564
351565       · PR #25521: (cachedout) Fix  outputter  for  state.orch  @  2015-07-20
351566         19:30:14 UTC
351567
351568         · 9e19142c35 Merge pull request #25521 from cachedout/orch_outputter
351569
351570         · ea40816621 Try/except
351571
351572         · dd609eb440 Fix outputter for state.orch
351573
351574       · PR  #25563:  (basepi)  [2015.5] Merge forward from 2014.7 to 2015.5 @
351575         2015-07-20 19:27:36 UTC
351576
351577         · 2117ac8022  Merge  pull  request  #25563   from   basepi/merge-for‐
351578           ward-2015.5
351579
351580         · 3bf2f1a722  Merge  remote-tracking  branch  'upstream/2014.7'  into
351581           merge-forward-2015.5
351582
351583         · 09ebaceca8 Merge pull request #25416 from cachedout/str_2014_7
351584
351585           · cc514938a8 Fix broken keyword
351586
351587             · d67491bb80 Removed the logger as it's not used anymore
351588
351589             · 5008bfee96        Merge        branch        '2015.5'        of
351590               https://github.com/saltstack/salt into fix_21041_again
351591
351592       · PR #25559: (cachedout) Lint win_pkg @ 2015-07-20 17:46:29 UTC
351593
351594         · 50c257b1d5 Merge pull request #25559 from cachedout/lint_win_pkg
351595
351596         · 53a00add99 Lint win_pkg
351597
351598       · ISSUE  #25532:  (attiasr) salt/modules/win_pkg.py list_pkgs is broken
351599         (encoding issues) (refs: #25580, #25556)
351600
351601       · PR #25556: (attiasr) fix for #25532 @ 2015-07-20 17:45:11 UTC
351602
351603         · 7c7015ccda Merge pull request #25556 from attiasr/patch-1
351604
351605         · 9b224e8d4e fix for #25532
351606
351607       · ISSUE #25538: (stanislavb) S3 ext_pillar configuration requires  ver‐
351608         ify_ssl (refs: #25554)
351609
351610       · PR  #25554: (jfindlay) verify_ssl=True for s3 ext pillar @ 2015-07-20
351611         17:43:38 UTC
351612
351613         · 3c73dab2ce Merge pull request #25554 from jfindlay/verify_ssl
351614
351615         · ca3ab4e737 verify_ssl=True for s3 ext pillar
351616
351617       · PR  #25551:  (rallytime)  Backport  #25530  to  2015.5  @  2015-07-20
351618         17:43:00 UTC
351619
351620         · PR  #25530:  (andre-luiz-dos-santos) The variable name must be last
351621           (refs: #25551)
351622
351623         · e3e2e6718e Merge pull request #25551 from rallytime/bp-25530
351624
351625         · df5003d7f9 The variable name must be last
351626
351627       · PR #25533: (attiasr) port 445 for windows bootstraping  @  2015-07-20
351628         15:13:06 UTC
351629
351630         · 3e3441937f Merge pull request #25533 from attiasr/patch-2
351631
351632         · c7fbf68597 fix windows bootstrapping
351633
351634       · ISSUE   #25432:   (gtmanfred)   [2015.5.3][raet]   raet   error  with
351635         SaltRaetRoadStackJoiner (refs: #25525)
351636
351637       · PR #25525: (gtmanfred) add make _prepare an alias  for  postinitio  @
351638         2015-07-20 15:12:38 UTC
351639
351640         · 7fc051f56d Merge pull request #25525 from gtmanfred/2015.5
351641
351642         · 43950a5bc5 add make _prepare an alias for postinitio
351643
351644       · ISSUE  #25511:  (rallytime)  Make provider --> driver change backward
351645         compatible (refs: #25519)
351646
351647       · ISSUE #23574: (CedNantes) Failed to Deploy Salt-Minion on a Win  2012
351648         R2 using wmware Cloud Driver from Develop branch (refs: #25519)
351649
351650       · PR  #25519:  (rallytime)  Backport  vmware  driver to 2015.5 branch @
351651         2015-07-20 15:11:26 UTC
351652
351653         · 725d1a40d0 Merge pull request #25519 from rallytime/backport_vmware
351654
351655         · 35e13eef1d Don't reference driver in older salt versions
351656
351657         · f011890217 Add vmware back-port change to release notes
351658
351659         · 0f4f560b38 Backport vmware driver to 2015.5 branch
351660
351661       · PR #25542:  (Oro)  Fix  hipchat.send_message  when  using  API  v2  @
351662         2015-07-20 15:09:13 UTC
351663
351664         · 2f0d695bc0       Merge      pull      request      #25542      from
351665           Oro/fix-hipchat-v2-sendmessage
351666
351667         · 3a9f5b037f Fix hipchat.send_message when using API v2
351668
351669       · PR #25531:  (rallytime)  Back-port  #25529  to  2015.5  @  2015-07-18
351670         19:16:10 UTC
351671
351672         · PR #25529: (davidjb) Fix minor typo in best practice example (refs:
351673           #25531)
351674
351675         · 390aa7d28f Merge pull request #25531 from rallytime/bp-25529
351676
351677         · 3e24381439 Fix minor typo in best practice example
351678
351679       · PR #25528: (davidjb) Fix typo in extend declaration doco @ 2015-07-18
351680         14:22:06 UTC
351681
351682         · 6e811bfdd2 Merge pull request #25528 from davidjb/patch-7
351683
351684         · bfc4f9fd85 Fix typo in extend declaration doco
351685
351686       · ISSUE   #25486:   (whiteinge)   Highstate   outputter  not  used  for
351687         state.apply (refs: #25517)
351688
351689       · PR #25517:  (rallytime)  Back-port  #25486  to  2015.5  @  2015-07-17
351690         21:49:26 UTC
351691
351692         · PR #25485: (attiasr) fix file downloads on windows
351693
351694         · b9abd723a7 Merge pull request #25517 from rallytime/bp-25485
351695
351696         · 6c2f3180c2 fix file downloads on windows
351697
351698       · ISSUE  #25479:  (alexandrsushko) multiple mount.mounted of one device
351699         (refs: #25483)
351700
351701       · PR #25516:  (rallytime)  Back-port  #25483  to  2015.5  @  2015-07-17
351702         21:49:05 UTC
351703
351704         · PR  #25483: (alexandrsushko) Added 'none' to the set of specialFSes
351705           (refs: #25516)
351706
351707         · 9cb436fbae Merge pull request #25516 from rallytime/bp-25483
351708
351709         · e0af6e3478 Added 'none' to the set of specialFSes
351710
351711       · ISSUE #25493: (blackduckx) Issue with job_args on  schedule.add  com‐
351712         mand (refs: #25513)
351713
351714       · PR  #25513:  (garethgreenaway) fixes to schedule.add documentation in
351715         2015.5 @ 2015-07-17 17:03:24 UTC
351716
351717         · daf03efb7c   Merge   pull   request   #25513   from    garethgreen‐
351718           away/25493_2015_5_schedule_add_documentation
351719
351720         · bc2414bc4d  Fixing  documentation  for  schedule.add when using the
351721           job_args parameter, value needs to be be in quotes for the value to
351722           be passed in as an array.
351723
351724       · PR  #25465:  (EvaSDK)  2015.5.3  LXC  module  fixes  (refs: #25573) @
351725         2015-07-17 15:57:54 UTC
351726
351727         · 48050cd287 Merge pull request #25465 from EvaSDK/2015.5.3-lxc-fixes
351728
351729         · 170eb52cc4 Fix use of undefined cmd when install of boostrap script
351730           fails
351731
351732         · 86118f4a7b  Install  bootstrap  script  like  dns and systemd check
351733           scripts in container
351734
351735         · 978e6d56e2 Error out if configdir could not be created when prepar‐
351736           ing LXC container
351737
351738         · 41b6c3c2bf Fix typo in redirecting shell output to /dev/null
351739
351740         · 456393d4db Fix DNS script cleanup
351741
351742       · ISSUE   saltstack/salt-bootstrap#611:  (BretFisher)  SmartOS  doesn't
351743         detect missing git, fails install (refs: #25506)
351744
351745       · ISSUE saltstack/salt-bootstrap#607: (bechtoldt) (git install)  change
351746         source of init scripts for debian based systems (refs: #25506)
351747
351748       · ISSUE  saltstack/salt-bootstrap#602:  (rallytime)  Ubuntu 14.10 Won't
351749         Bootstrap with Latest Stable  (refs: #25506)
351750
351751       · ISSUE saltstack/salt-bootstrap#598: (babilen) Installation  fails  on
351752         Debian 7 due to missing easy_install (refs: #25506)
351753
351754       · ISSUE saltstack/salt#25456: (julienlavergne) [2015.8.0rc1] salt-boot‐
351755         strap fails to install salt master (refs: #25506)
351756
351757       · ISSUE saltstack/salt#25270: (iggy) [2015.8.0rc1] salt-bootstrap fails
351758         to properly install a minion (refs: #25506)
351759
351760       · ISSUE   #619:   (syphernl)   Only  send  over  changed  files  during
351761         state.highstate (refs: #`saltstack/salt-bootstrap#621`_)
351762
351763         · PR saltstack/salt-bootstrap#625: (hasues) Modify  bootstrap-salt.sh
351764           unbound error with CONFIG_PROTECT_MASK for Gentoo (refs: #25506)
351765
351766         · PR  saltstack/salt-bootstrap#624:  (BretFisher)  fix config and etc
351767           path on SmartOS (refs: #25506)
351768
351769         · PR saltstack/salt-bootstrap#621: (lomeroe) python-jinja2  has  been
351770           moved to rhui-...server-releases-optional repo… (refs: #25506)
351771
351772         · PR     saltstack/salt-bootstrap#606:     (babilen)     Switch    to
351773           httpredir.debian.org as default Debian mirror (refs: #25506)
351774
351775         · PR saltstack/salt-bootstrap#455:  (denmat)  PR:  Issue  394  (refs:
351776           #25506)
351777
351778       · PR  #25506:  (s0undt3ch)  [2015.5]  Update bootstrap script to latest
351779         stable release, v2015.07.17 @ 2015-07-17 15:40:38 UTC
351780
351781         · f85f2b49fd Merge pull request  #25506  from  s0undt3ch/hotfix/boot‐
351782           strap-script
351783
351784         · ab6aaa6e60  Update  bootstrap  script  to  latest  stable  release,
351785           v2015.07.17
351786
351787       · ISSUE #25454: (mschiff) Regression: salt 2015.5 not working in secure
351788         chroot anymore. (refs: #25498)
351789
351790       · PR  #25498:  (jfindlay)  only  read  /proc/1/cmdline  if  it exists @
351791         2015-07-17 15:35:33 UTC
351792
351793         · c8caf406b2 Merge pull request #25498 from jfindlay/jail_init
351794
351795         · c63a6c206f only read /proc/1/cmdline if it exists
351796
351797       · PR #25487:  (rallytime)  Back-port  #25464  to  2015.5  @  2015-07-16
351798         16:58:36 UTC
351799
351800         · PR  #25464:  (jquast)  docfix: "cache_jobs: False" => grains_cache:
351801           False" (refs: #25487)
351802
351803         · 3f695a17cf Merge pull request #25487 from rallytime/bp-25464
351804
351805         · e947d8ec5a docfix: "cache_jobs: False" => grains_cache: False"
351806
351807       · PR #25482: (oeuftete) Fix docker.running detection  of  running  con‐
351808         tainer @ 2015-07-16 16:58:29 UTC
351809
351810         · 331808eb7d  Merge  pull  request  #25482  from oeuftete/docker-run‐
351811           ning-is-running-fix-2015-5
351812
351813         · b69379ba50 Fix docker.running detection of running container
351814
351815       · ISSUE #25384: (rickh563) pyopenssl 0.14 requirement in 2015.5.3  does
351816         not work in RHEL6 : ZD-364 (refs: #25468)
351817
351818       · PR  #25468: (joejulian) Add support for pyOpenSSL > 0.10 @ 2015-07-16
351819         15:10:30 UTC
351820
351821         · 7a20ecbf46    Merge    pull    request    #25468    from     joeju‐
351822           lian/use_pyopenssl_0_10
351823
351824         · 1b7a56aa38 Add support for pyOpenSSL > 0.10
351825
351826       · PR  #25467:  (rallytime)  Add  lxml  dependency  to opennebula docs @
351827         2015-07-16 15:09:57 UTC
351828
351829         · d169905170 Merge pull request #25467 from rallytime/lxml_dep
351830
351831         · d326f4f686 Add lxml dependency to opennebula docs
351832
351833       · ISSUE #25250: (wipfs) 'force' option in  copy  state  deletes  target
351834         file (refs: #25461, #25710)
351835
351836       · ISSUE  #24647: (nmadhok) salt.states.file.copy does not copy the file
351837         if it already exists with force=True (refs: #25461)
351838
351839       · PR #25461: (jahamn) Update file, if force option and content not same
351840         @ 2015-07-15 20:15:07 UTC
351841
351842         · 89649456e0       Merge      pull      request      #25461      from
351843           jahamn/fixed-file.copy-force-option-deleting-files-without-updat‐
351844           ing-them
351845
351846         · 32cf1ebbb5 Update file, if force option and content not same
351847
351848       · ISSUE #25431: (namcois) Digital Ocean v2 reducing API calls by adding
351849         per_page (refs: #25438)
351850
351851       · PR #25438: (rallytime) Reduce digital_ocean_v2 API call  frequency  @
351852         2015-07-15 19:40:18 UTC
351853
351854         · 146a81b7c3 Merge pull request #25438 from rallytime/do_v2
351855
351856         · faf49ea2a3 Add page number change release notes
351857
351858         · da6ab82837 Reduce digital_ocean_v2 API call frequency
351859
351860       · PR #25457: (jacksontj) Saltnado @ 2015-07-15 17:50:12 UTC
351861
351862         · PR  #25427: (tony-cocco) Saltnado runner client results in blocking
351863           call despite being set-up as Runner.async (refs: #25457)
351864
351865         · cb98d79cdd Merge pull request #25457 from jacksontj/saltnado
351866
351867         · bc32f66b98 Add runner_async endpoint to salnado
351868
351869         · b043fa9b05 Better name of method process manager is starting
351870
351871       · PR #25459: (jahamn) Fixed 'defulats' typo in verify.py  @  2015-07-15
351872         16:53:06 UTC
351873
351874         · 3f72eb5486   Merge   pull   request  #25459  from  jahamn/fix-defu‐
351875           lats-typo-in-verify.py
351876
351877         · 9bafd19f67 Fixed 'defulats' typo in verify.py
351878
351879       · PR #25426: (jquast) bugfix: trailing  "...done"  in  rabbitmq  output
351880         (backport from 'develop' to 2015.5) @ 2015-07-15 14:48:05 UTC
351881
351882         · 73566188cf Merge pull request #25426 from jquast/2015.5
351883
351884         · 005a7ca2a3 bugfix: trailing "...done" in rabbitmq output
351885
351886       · PR  #25433:  (jleroy)  Support  for  IPv6  addresses  scopes  in net‐
351887         work.interfaces (ifconfig) @ 2015-07-15 14:44:09 UTC
351888
351889         · PR #25151: (jleroy) Support  for  IPv6  addresses  scopes  in  net‐
351890           work.interfaces (refs: #25274, #25433)
351891
351892         · cfec990062  Merge  pull  request #25433 from jleroy/ipv6-scope-sup‐
351893           port-ifconfig
351894
351895         · bc36d05c0c Support for IPv6 addresses scopes in  network.interfaces
351896           (ifconfig)
351897
351898       · ISSUE  #21041:  (deuscapturus) state module gem.installed not working
351899         on Windows. (refs: #25430, #25561, #25428)
351900
351901       · PR #25430: (twangboy) Disabled rbenv execution module for  Windows  @
351902         2015-07-15 14:41:18 UTC
351903
351904         · a425230c19 Merge pull request #25430 from twangboy/fix_21041_2
351905
351906         · 242fc21765 Disabled rbenv execution module for Windows
351907
351908              · 8b2dc681f9  Fixed the gem module to work on windows... without
351909                injection
351910
351911              · c7466e7894 Fixes ssh_known_host to take port into account
351912
351913       · ISSUE #1846: (seanchannel) development dependencies
351914
351915       · PR #25420: (techhat) Move  S3  to  use  AWS  Signature  Version  4  @
351916         2015-07-14 22:03:09 UTC
351917
351918         · 9313804e27 Merge pull request #25420 from techhat/s3sig4
351919
351920         · 3edf3a14e2 Linting
351921
351922         · c63c2356be Move S3 to use AWS Signature Version 4
351923
351924       · ISSUE  #20441:  (deuscapturus)  State  module file.managed returns an
351925         error on Windows and test=Test (refs: #25418)
351926
351927       · PR #25418: (twangboy) Fixed problem  with  file.managed  test=True  @
351928         2015-07-14 21:26:59 UTC
351929
351930         · 30a41d3f51 Merge pull request #25418 from twangboy/fix_20441
351931
351932         · d8957856cd Fixed problem with file.managed test=True
351933
351934       · PR  #25417: (ahus1) extended documentation about dependencies for dig
351935         module @ 2015-07-14 20:49:51 UTC
351936
351937         · 3805677e93 Merge pull request #25417 from ahus1/patch-1
351938
351939         · 3cd194ebaf Update dig.py
351940
351941         · 287f8f76e3 extended documentation about dependencies
351942
351943       · PR #25411: (basepi) [2015.5] Merge forward from 2014.7  to  2015.5  @
351944         2015-07-14 17:55:26 UTC
351945
351946         · 4d929071e1   Merge   pull  request  #25411  from  basepi/merge-for‐
351947           ward-2015.5
351948
351949         · 33d2451fef  Merge  remote-tracking  branch  'upstream/2014.7'  into
351950           merge-forward-2015.5
351951
351952         · 2a1dd1113f   Merge   pull   request   #25375   from  cachedout/con‐
351953           fig_fix_2014_7
351954
351955           · c041f2905f Fix error in config.py for master_type
351956
351957         · 2590e23d48   Merge   pull    request    #25324    from    jacobham‐
351958           mons/doc-theme-updates
351959
351960           · 88f5fcf58d Latest help theme updates
351961
351962       · PR  #25406:  (anlutro)  Force  arguments  to  aptpkg.version_cmp into
351963         strings @ 2015-07-14 16:15:41 UTC
351964
351965         · 81bed62d16  Merge  pull  request  #25406  from   alprs/fix-apt_ver‐
351966           sion_cmp_types
351967
351968         · d56efd1341 force arguments to apt_pkg.version_compare into strings
351969
351970       · PR  #25408:  (rallytime)  Back-port  #25399  to  2015.5  @ 2015-07-14
351971         16:09:06 UTC
351972
351973         · PR  #25399:  (jarpy)  Demonstrate  per-minion  client_acl.   (refs:
351974           #25408)
351975
351976         · cd9ea63ff2 Merge pull request #25408 from rallytime/bp-25399
351977
351978         · da9c0eb673 Typo in client_acl ref doc.
351979
351980         · 50e0baf270 Demonstrate per-minion client_acl.
351981
351982       · PR  #25240:  (tankywoo)  file  make  os.walk  only  be  called  one @
351983         2015-07-14 16:04:49 UTC
351984
351985         · ef9f6b0ce0    Merge    pull    request    #25240    from     tanky‐
351986           woo/fix-files-os-walk-multiple-times
351987
351988         · 8044def1c0 file make os.walk only be called one
351989
351990       · PR  #25395:  (rallytime)  Back-port  #25389  to  2015.5  @ 2015-07-14
351991         03:26:34 UTC
351992
351993         · PR #25389: (l2ol33rt) Adding entropy note for gpg  renderer  (refs:
351994           #25395)
351995
351996         · d02f388b08 Merge pull request #25395 from rallytime/bp-25389
351997
351998         · a086e5ad35 Adding entropy note
351999
352000       · PR  #25392:  (rallytime)  Back-port  #25256  to  2015.5  @ 2015-07-14
352001         03:25:13 UTC
352002
352003         · PR  #25256:  (yanatan16)  Dont  assume  source_hash  exists  (refs:
352004           #25392)
352005
352006         · 008e3295c6 Merge pull request #25392 from rallytime/bp-25256
352007
352008         · 6b2da4d582 Dont assume source_hash exists
352009
352010       · PR #25398: (twangboy) Fix date @ 2015-07-14 03:21:17 UTC
352011
352012         · 3f278963ae Merge pull request #25398 from twangboy/fix_date
352013
352014         · 52824f9602 Added /V1 /Z to remove scheduled task after run
352015
352016         · a055cca79f Changed date of scheduled task to work in other locales
352017
352018       · PR  #25397:  (GideonRed-zz)  Introduce standard error output when cli
352019         exits with non-zero status @ 2015-07-14 03:20:24 UTC
352020
352021         · 978d9f7117 Merge pull request #25397 from GideonRed/2015.5
352022
352023         · ea7ab27f31 Introduce standard error  output  when  cli  exits  with
352024           non-zero status
352025
352026       · ISSUE  #24444:  (michaelkrupp) file.managed does not handle dead sym‐
352027         links (refs: #25383)
352028
352029       · PR #25386: (cachedout) Lint #25383 @ 2015-07-13 21:01:10 UTC
352030
352031         · PR  #25383:  (jahamn)  Fix  manage_file   function   in   salt/mod‐
352032           ules/file.py to handle broken sym… (refs: #25386)
352033
352034         · 09442abbde Merge pull request #25386 from cachedout/lint_25383
352035
352036         · 7694299170 Lint #25383
352037
352038       · ISSUE  #24444:  (michaelkrupp) file.managed does not handle dead sym‐
352039         links (refs: #25383)
352040
352041       · PR #25383: (jahamn) Fix manage_file function in  salt/modules/file.py
352042         to handle broken sym… (refs: #25386) @ 2015-07-13 20:58:23 UTC
352043
352044         · 47bcc61f55  Merge  pull  request  #25383  from jahamn/Fix-file.man‐
352045           aged_not_handling_dead_symlinks
352046
352047         · ab17aa160e Fix manage_file function in salt/modules/file.py to han‐
352048           dle broken symlinks
352049
352050       · PR #25369: (anlutro) Fix aptpkg.version_cmp @ 2015-07-13 20:18:45 UTC
352051
352052         · c9fe10e7aa Merge pull request #25369 from alprs/fix-apt_version_cmp
352053
352054         · 6391b15b3e fix aptpkg.version_cmp
352055
352056       · ISSUE  #25337:  (eliasp)  salt-call  from non-existend cwd backtraces
352057         (refs: #25379)
352058
352059       · PR #25379: (jfindlay) check for cwd before getting  it  @  2015-07-13
352060         19:50:27 UTC
352061
352062         · beb0238392 Merge pull request #25379 from jfindlay/check_wd
352063
352064         · 6e4547ff38 check for cwd before getting it
352065
352066       · ISSUE  #25320:  (podloucky-init)  zypper  module list_upgrades broken
352067         (2015.5.2) (refs: #25334)
352068
352069       · PR #25334: (jfindlay) return all  cmd  info  back  to  zypper  fcn  @
352070         2015-07-13 17:03:29 UTC
352071
352072         · 274622ad9b Merge pull request #25334 from jfindlay/fix_zyp
352073
352074         · c1e633903e return all cmd info back to zypper fcn
352075
352076       · PR #25339: (jfindlay) update orchestration docs @ 2015-07-13 16:04:26
352077         UTC
352078
352079         · 71859c6593 Merge pull request #25339 from jfindlay/orch_doc
352080
352081         · 0447808d95 clarify, motivate orchestration docs
352082
352083       · ISSUE #22241: (masterkorp) Salt master not  properly  generating  the
352084         map (refs: #25358)
352085
352086       · PR  #25358:  (dkiser)  Deep  merge  of  pillar lists (refs: #26016) @
352087         2015-07-13 15:51:01 UTC
352088
352089         · 90a1ca02a3  Merge  pull  request  #25358   from   dkiser/22241_pil‐
352090           lar_merge_lists
352091
352092         · d030e289b3 Deep merge of pillar lists
352093
352094       · ISSUE #25281: (shinshenjs) Unless usage in Official Doc syntax error?
352095         (refs: #25346)
352096
352097       · PR #25346: (bechtoldt) set correct indention in states/requisites.rst
352098         (docs), fixes #25281 @ 2015-07-13 15:34:45 UTC
352099
352100         · 66c619fd71 Merge pull request #25346 from bechtoldt/issue25281
352101
352102         · 8eb2ac1dbe  set  correct indention in states/requisites.rst (docs),
352103           fixes #25281
352104
352105       · PR #25336: (terminalmage) Don't try to read init binary if it  wasn't
352106         found @ 2015-07-13 09:45:30 UTC
352107
352108         · b122ed931d    Merge    pull    request    #25336   from   terminal‐
352109           mage/fix-init-grain
352110
352111         · f473918a53 Don't try to read init binary if it wasn't found
352112
352113       · PR  #25350:  (davidjb)  Fix  documentation  for  file.blockreplace  @
352114         2015-07-13 03:41:20 UTC
352115
352116         · 1805bafc89 Merge pull request #25350 from davidjb/patch-4
352117
352118         · e13a9fd74e Fix documentation for file.blockreplace
352119
352120       · ISSUE  #19288:  (oba11)  AssociatePublicIpAddress  doesnt  work  with
352121         salt-cloud 2014.7.0 (refs: #25326, #20972)
352122
352123       · PR #25326:  (rallytime)  Back-port  #20972  to  2015.5  @  2015-07-10
352124         18:49:44 UTC
352125
352126         · PR  #20972: (JohannesEbke) Fix interface cleanup when using Associ‐
352127           atePublicIpAddress in #19288 (refs: #25326)
352128
352129         · b0196fccb7 Merge pull request #25326 from rallytime/bp-20972
352130
352131         · 51c941f59d Also fix cleanup of interfaces when using  AssociatePub‐
352132           licIpAddress in #19288
352133
352134       · ISSUE  #24433:  (chrimi)  Salt  locale state fails, if locale has not
352135         been generated (refs: #25290)
352136
352137       · PR #25327:  (rallytime)  Back-port  #25290  to  2015.5  @  2015-07-10
352138         18:49:37 UTC
352139
352140         · PR  #25290:  (pcdummy)  Simple  fix  for  locale.present on Ubuntu.
352141           (refs: #25327)
352142
352143         · 28450d124e Merge pull request #25327 from rallytime/bp-25290
352144
352145         · 20032c55f3 Simple fix for locale.present on Ubuntu.
352146
352147       · ISSUE #24827: (yermulnik)  locale.present  doesn't  generate  locales
352148         (refs: #25309)
352149
352150       · PR  #25328:  (rallytime)  Back-port  #25309  to  2015.5  @ 2015-07-10
352151         17:22:59 UTC
352152
352153         · PR #25309: (davidjb) Format /etc/locale.gen correctly in  salt.mod‐
352154           ules.localemod.gen_locale (refs: #25328)
352155
352156         · 8f666a24f3 Merge pull request #25328 from rallytime/bp-25309
352157
352158         · 44d44ec574 Format /etc/locale.gen correctly on gen_locale
352159
352160       · PR  #25322:  (jacobhammons)  version  change to 2015.5.3 @ 2015-07-10
352161         16:11:24 UTC
352162
352163         · 0a33a1d8bb   Merge   pull    request    #25322    from    jacobham‐
352164           mons/release-2015.5.3
352165
352166         · 19f88920fa version change to 2015.5.3
352167
352168       · PR  #25308:  (jacksontj)  Make  clear  commands trace level logging @
352169         2015-07-10 14:20:06 UTC
352170
352171         · PR #24737: (jacksontj) Move AES command  logging  to  trace  (refs:
352172           #25308)
352173
352174         · 2f0f59b6cb Merge pull request #25308 from jacksontj/2015.5
352175
352176         · 60fc770ba2 Make clear commands trace level logging
352177
352178       · ISSUE  #24520:  (nvx)  Tomcat  module fails to extract version number
352179         from snapshot builds (2015.5 regression) (refs: #24927)
352180
352181       · PR  #25269:  (jfindlay)  Extract  tomcat  war  version  @  2015-07-10
352182         01:28:21 UTC
352183
352184         · PR  #24927:  (egarbi) Tomcat module fails to extract version number
352185           from snapshot builds #2… (refs: #25269)
352186
352187         · 9b6646d578 Merge pull request #25269 from jfindlay/tomcat
352188
352189         · fd4fca172d consolidate tomcat exec and state version extract
352190
352191         · 59dc833567 update tomcat war_deployed state tests
352192
352193         · edca458b6c Fixed 2 blank lines around import re
352194
352195         · 7e528d1050 Tomcat module fails to extract version number from snap‐
352196           shot builds #24520
352197
352198       · ISSUE  #18808:  (amendlik) Add command line argument to select pillar
352199         environment (refs: #25238)
352200
352201       · PR #25238: (DmitryKuzmenko) Pillarenv backport  2015.5  @  2015-07-10
352202         01:25:07 UTC
352203
352204         · 0f82ac3e30   Merge   pull   request   #25238  from  DSRCompany/pil‐
352205           larenv_backport_2015.5
352206
352207         · 98792eb179 Pillarenv support in minion config, cp and  cmdmod  mod‐
352208           ules.
352209
352210         · 88ff576f39  Support  pillarenv cmdline in state.sls. Backport of PR
352211           #23719
352212
352213       · ISSUE #13943: (Supermathie) Powershell  commands  that  expect  input
352214         hang forever (refs: #25299)
352215
352216       · PR  #25299:  (twangboy)  Added  -NonInteractive so powershell doesn't
352217         hang waiting for input @ 2015-07-09 21:00:16 UTC
352218
352219         · 219d4cad9c Merge pull request #25299 from twangboy/fix_13943
352220
352221         · c05889031f Added -NonInteractive so powershell doesn't hang waiting
352222           for input
352223
352224       · PR #25301: (jacobhammons) bug fix for module function display in help
352225         @ 2015-07-09 20:46:34 UTC
352226
352227         · 1c43892a80 Merge pull request #25301 from jacobhammons/doc-bugs
352228
352229         · f6561289af bug fix for module function display in help
352230
352231       · ISSUE #25277: (jacobhammons)  CherryPy  recommended  versions  (refs:
352232         #25279)
352233
352234       · PR  #25279: (jacobhammons) Additional docs on external and master job
352235         cache, assorted doc fixes @ 2015-07-09 16:46:26 UTC
352236
352237         · 68149bc686   Merge   pull    request    #25279    from    jacobham‐
352238           mons/job-cache-docs
352239
352240         · 57dfa92d5a Fixed typos
352241
352242         · 2f9e5b9125  Additional  docs  on  external  and  master  job cache,
352243           assorted doc fixes Refs #25277
352244
352245       · ISSUE   #25268:   (lichtamberg)   Salt   not   working   anymore   in
352246         2015.8/develop: ValueError: 'scope' is not in list (refs: #25274)
352247
352248       · PR #25274: (jleroy) Fix for issue #25268 @ 2015-07-09 13:36:26 UTC
352249
352250         · PR  #25151:  (jleroy)  Support  for  IPv6  addresses scopes in net‐
352251           work.interfaces (refs: #25274, #25433)
352252
352253         · 972fa2fb54 Merge pull request #25274 from jleroy/25268-fix
352254
352255         · 2c698d204b Fix for issue #25268
352256
352257       · PR #25272: (twangboy) Fixed  problem  with  service  not  starting  @
352258         2015-07-08 23:29:48 UTC
352259
352260         · 8ebb73df2d Merge pull request #25272 from twangboy/service
352261
352262         · e61eeba48b Fixed problem with service not starting
352263
352264       · ISSUE #25223: (nmadhok) Runner occasionally fails with a RuntimeError
352265         when fired by a reactor (refs: #25225)
352266
352267       · PR #25225: (nmadhok) Backporting  fix  for  issue  #25223  on  2015.5
352268         branch @ 2015-07-08 15:16:18 UTC
352269
352270         · c6efd2356c  Merge  pull  request  #25225  from  nmadhok/client-run‐
352271           time-fix-backport-2015-2
352272
352273         · 391b7d6730 Backporting fix for issue #25223 on 2015.2 branch
352274
352275       · PR #25214: (rallytime) A couple of doc fixes for the http tutorial  @
352276         2015-07-07 22:23:07 UTC
352277
352278         · 207fbaeac4 Merge pull request #25214 from rallytime/http_doc
352279
352280         · d0b61f3fc1 A couple of doc fixes for the http tutorial
352281
352282       · ISSUE #24272: (rallytime) Fix boto_vpc_test moto version check (refs:
352283         #25194)
352284
352285       · PR #25194: (rallytime) Update moto version check in boto_vpc_test and
352286         update min version @ 2015-07-07 18:27:32 UTC
352287
352288         · 9dd5cd8a8e Merge pull request #25194 from rallytime/fix-24272
352289
352290         · f959e165a1 Clean up imports
352291
352292         · fbc9c0d6bf Fix Pylint
352293
352294         · fe2561f415  Update  moto  version check in boto_vpc_test and update
352295           min version
352296
352297       · PR  #25205:  (basepi)  Update  releasecandidate  docs  @   2015-07-07
352298         15:25:24 UTC
352299
352300         · a3e9486c28  Merge pull request #25205 from basepi/releasecandidate‐
352301           docs
352302
352303         · 452880d4aa Update releasecandidate docs
352304
352305       · PR #25187: (UtahDave) Doc fixes: Fix misspelling and remove  extrane‐
352306         ous double spaces @ 2015-07-07 01:07:04 UTC
352307
352308         · fbafd39a46 Merge pull request #25187 from UtahDave/fix_misspelling
352309
352310         · 65abb63003 remove some extraneous double spaces
352311
352312         · c423b62aa5 fix misspelling
352313
352314       · PR  #25182:  (cachedout)  Try  to  re-pack  long  floats  as  strs  @
352315         2015-07-07 01:06:43 UTC
352316
352317         · ddee90ce23    Merge    pull    request    #25182    from    cached‐
352318           out/pack_long_floats
352319
352320         · a192ecfd74 Try to re-pack long ints as strs
352321
352322       · ISSUE  #23822:  (sidcarter) Zip file extracted permissions are incor‐
352323         rect (refs: #25128)
352324
352325       · PR #25185:  (rallytime)  Back-port  #25128  to  2015.5  @  2015-07-07
352326         00:58:00 UTC
352327
352328         · PR  #25128:  (stanislavb)  Use  cmd_unzip  to  preserve permissions
352329           (refs: #25185)
352330
352331         · df9982b836 Merge pull request #25185 from rallytime/bp-25128
352332
352333         · 1726057c8a Use cmd_unzip to preserve permissions
352334
352335       · PR #25181:  (rallytime)  Back-port  #25102  to  2015.5  @  2015-07-07
352336         00:57:13 UTC
352337
352338         · PR #25102: (derBroBro) Update win_network.py (refs: #25181)
352339
352340         · df0bb8c831 Merge pull request #25181 from rallytime/bp-25102
352341
352342         · 64d8f14417 Update win_network.py
352343
352344         · 6789c5b8e8 Update win_network.py
352345
352346       · ISSUE  #24301: (iggy) influxdb_user and influxdb_database states need
352347         virtual functions (refs: #25059)
352348
352349       · PR #25179:  (rallytime)  Back-port  #25059  to  2015.5  @  2015-07-07
352350         00:56:44 UTC
352351
352352         · PR  #25059:  (babilen) Add virtual functions to influxdb state mod‐
352353           ules (refs: #25179)
352354
352355         · 04fdd7b0ee Merge pull request #25179 from rallytime/bp-25059
352356
352357         · 1eeefbd2ab Add virtual functions to influxdb state modules
352358
352359       · ISSUE #18919: (giner) Windows: pkg.refresh_db returns  false-positive
352360         success (refs: #25196)
352361
352362       · PR  #25196:  (twangboy)  Fixed #18919 false-positive on pkg.refresh @
352363         2015-07-07 00:24:13 UTC
352364
352365         · 58b7d0e653 Merge pull request #25196 from twangboy/pkg_refresh
352366
352367         · 12ffcd1062 Fixed #18919 false-positive on pkg.refresh
352368
352369       · PR #25180:  (rallytime)  Back-port  #25088  to  2015.5  @  2015-07-06
352370         20:33:45 UTC
352371
352372         · PR #25088: (supertom) Update (refs: #25180)
352373
352374         · 4a406aca45 Merge pull request #25180 from rallytime/bp-25088
352375
352376         · 4078c8db25 added message recommending JSON file be used if the lib‐
352377           cloud version is >= 0.17.0
352378
352379       · PR #25191: (basepi) Add extrndest  back  to  fileclient.is_cached  in
352380         2015.5 @ 2015-07-06 19:35:24 UTC
352381
352382         · PR #25117: (basepi) Fix fileclient.is_cached (refs: #25191)
352383
352384         · 01ed062ca7   Merge   pull   request  #25191  from  basepi/fix.file‐
352385           client.is_cached
352386
352387         · 5fa74f4408 Add back  in  the  extrndest  stuff  (which  is  now  in
352388           develop)
352389
352390       · ISSUE  #25016:  (martinhoefling)  salt-run  doc.execution  fails with
352391         AttributeError (refs: #25020)
352392
352393       · PR #25175:  (rallytime)  Back-port  #25020  to  2015.5  @  2015-07-06
352394         18:53:19 UTC
352395
352396         · PR #25020: (martinhoefling) Fix for issue #25016 (refs: #25175)
352397
352398         · a9404aea5c Merge pull request #25175 from rallytime/bp-25020
352399
352400         · da2e1704ea Fix for issue #25016
352401
352402       · ISSUE  #21879:  (bechtoldt) Reference pages in documentation are out‐
352403         dated again (refs: #25019, #21880)
352404
352405       · ISSUE #19262: (bechtoldt) salt.pillar.file_tree doesn't appear in the
352406         documentation (refs: #25019)
352407
352408       · PR  #25173:  (rallytime)  Partial  back-port  of  #25019 @ 2015-07-06
352409         18:52:59 UTC
352410
352411         · PR #25019: (bechtoldt) add missing module documentation  to  refer‐
352412           ences (refs: #25173)
352413
352414         · PR  #24421:  (bechtoldt)  add  missing module documentation  (refs:
352415           #25019)
352416
352417         · PR #21880:  (bechtoldt)  update  references,  fixes  #21879  (refs:
352418           #25019)
352419
352420         · PR  #20039:  (bechtoldt)  completing  some  doc  references  (refs:
352421           #25019)
352422
352423         · c70fec65b8  Merge   pull   request   #25173   from   rallytime/par‐
352424           tial-bp-25019
352425
352426         · c0c2463b64 Partial backport of #25019
352427
352428       · PR  #25171:  (rallytime)  Back-port  #25001  to  2015.5  @ 2015-07-06
352429         18:51:53 UTC
352430
352431         · PR   #25001:   (jasonkeene)   Add   docs    for    key    arg    in
352432           ssh_known_hosts.present (refs: #25171)
352433
352434         · c5ba9a90ba Merge pull request #25171 from rallytime/bp-25001
352435
352436         · a891108793 Add docs for key arg in ssh_known_hosts.present
352437
352438       · PR  #25170:  (rallytime)  Back-port  #24982  to  2015.5  @ 2015-07-06
352439         16:34:43 UTC
352440
352441         · PR #24982: (asyncsrc) ec2 network_interfaces fix (refs: #25170)
352442
352443         · 3e06602545 Merge pull request #25170 from rallytime/bp-24982
352444
352445         · 3e6eab3ae9 ec2 network_interfaces fix
352446
352447       · PR #25161: (aneeshusa)  Allow  checking  for  non-normalized  systemd
352448         units.  @ 2015-07-06 15:15:31 UTC
352449
352450         · 09602808a0  Merge  pull  request #25161 from aneeshusa/allow-check‐
352451           ing-non-normalized-systemd-service-availability
352452
352453         · b4d544fe70 Allow checking for non-normalized systemd units.
352454
352455       · PR #25151:  (jleroy)  Support  for  IPv6  addresses  scopes  in  net‐
352456         work.interfaces (refs: #25274, #25433) @ 2015-07-06 14:43:03 UTC
352457
352458         · 3599b8abab Merge pull request #25151 from jleroy/ipv6-scope-support
352459
352460         · edce034e6c Support for IPv6 addresses scopes in network.interfaces
352461
352462       · ISSUE  #24979:  (mavenAtHouzz)  [Discussion]  Support for more than 1
352463         netapi.rest_tornado server process (refs: #25149)
352464
352465       · PR #25166: (cachedout) Lint #25149 @ 2015-07-06 14:40:29 UTC
352466
352467         · PR #25149: (jacksontj) Saltnado multiprocess support (refs: #25166)
352468
352469         · 66d6365a9f Merge pull request #25166 from cachedout/lint_saltnado
352470
352471         · 2fe167edf8 Lint #25149
352472
352473       · ISSUE #24979: (mavenAtHouzz) [Discussion] Support  for  more  than  1
352474         netapi.rest_tornado server process (refs: #25149)
352475
352476       · PR #25149: (jacksontj) Saltnado multiprocess support (refs: #25166) @
352477         2015-07-06 14:38:43 UTC
352478
352479         · 2f1bad1c01 Merge pull request #25149 from jacksontj/saltnado
352480
352481         · 6aa5548e2d Enable multiprocess support in saltnado
352482
352483         · 9a1351eada Change print to logger, so we can set a  level  and  log
352484           exc_info
352485
352486       · PR   #25120:  (d--j)  add  missing  continue  for  exception  case  @
352487         2015-07-02 19:38:45 UTC
352488
352489         · a723af0f10 Merge pull request #25120 from d--j/patch-2
352490
352491         · 81d5d15dce add missing continue for error case
352492
352493       · PR  #25117:  (basepi)  Fix  fileclient.is_cached  (refs:  #25191)   @
352494         2015-07-02 19:38:26 UTC
352495
352496         · 6e2222241a   Merge   pull   request  #25117  from  basepi/fix.file‐
352497           client.is_cached
352498
352499         · 38e243fdfb Add fix from merge forward
352500
352501         · 52f35f761a Add import
352502
352503         · 23c32a7518 Backport develop version of salt.fileclient.is_cached
352504
352505       · PR #25087: (0xf10e) Fix execution module for glance -  now  based  on
352506         2015.5!  @ 2015-07-02 19:36:27 UTC
352507
352508         · c80990ba4f Merge pull request #25087 from 0xf10e/fix_glance_2015.5
352509
352510         · 7749cc081c PEP8 W601...
352511
352512         · bbda079fa5 fix pylint E302, E502, E713, E1305
352513
352514         · 3baacc72b4 use Glance API v1 for image_create
352515
352516         · c3d6134da1 making pylint marginally happier
352517
352518         · 19a20bf228  get  valid  properties for image_show() from the schema
352519           for "image"
352520
352521         · 0c6a61173a add some debugging, fix a few AttributeErrors
352522
352523         · aceca0e20d fix return of glance.image_show()
352524
352525         · a47509e7dd fix return of image_list
352526
352527         · 9f923edfab Change confusing "nt_ks" to "g_client"
352528
352529         · fa2bd1a79c bit of docs/comments in image_create()
352530
352531         · 5c34d0c494 merge 439b1e42053239b into 2015.5
352532
352533         · 7a3cf27948 update attributes for image_show output
352534
352535         · b1bec0f1a1 fix retry w/ user/pass if token fails
352536
352537         · 2f4ef6683c update attributes for image_list output
352538
352539         · eef3bc7048 use _auth() from neutron plus keystoneclient,
352540
352541       · PR #25129: (basepi) [2015.5] Merge forward from 2014.7  to  2015.5  @
352542         2015-07-02 17:37:40 UTC
352543
352544         · 549ee47420   Merge   pull  request  #25129  from  basepi/merge-for‐
352545           ward-2015.5
352546
352547         · 187268d879  Merge  remote-tracking  branch  'upstream/2014.7'  into
352548           merge-forward-2015.5
352549
352550         · 36d53ef59e Merge pull request #25093 from jaybocc2/2014.7
352551
352552           · c6a501ebda quick fix for issue #18447
352553
352554         · 38903a94a1 Merge pull request #25069 from puneetk/patch-1
352555
352556         · f0b4e600e6 Update Documentation to clarify version added
352557
352558         · f8dc6030e7 Pylint updates , removing whitespace
352559
352560         · 532d315dd1  [Code Review update] renamed function to is_enaled from
352561           list_enabled
352562
352563         · 20b0462289 Update schedule.py
352564
352565         · 4f1471d7fb Add a helper module function called list_enabled
352566
352567         · PR saltstack/salt#24798:  (justinta)  Revert  "adding  states/post‐
352568           gres_database unit test case." (refs: #25114)
352569
352570         · PR saltstack/salt#24329: (jayeshka) adding states/postgres_database
352571           unit test case. (refs: #`saltstack/salt#24798`_)
352572
352573       · PR #25114: (jfindlay) Revert "Revert "adding states/postgres_database
352574         unit test case.""  @ 2015-07-02 01:01:29 UTC
352575
352576         · 86f2791fdb     Merge     pull    request    #25114    from    salt‐
352577           stack/revert-24798-revert-24329-postgres_database-states-unit-test
352578
352579         · 071ee44d41 Revert  "Revert  "adding  states/postgres_database  unit
352580           test case.""
352581
352582       · PR  #24362: (jayeshka) adding states/postgres_user unit test case.  @
352583         2015-07-01 21:45:31 UTC
352584
352585         · bf8c7e7a9d  Merge   pull   request   #24362   from   jayeshka/post‐
352586           gres_user-states-unit-test
352587
352588         · fd1d834688 adding states/postgres_user unit test case.
352589
352590       · PR  #24361:  (jayeshka) adding states/postgres_schema unit test case.
352591         @ 2015-07-01 21:44:56 UTC
352592
352593         · 4195cea512  Merge   pull   request   #24361   from   jayeshka/post‐
352594           gres_schema-states-unit-test
352595
352596         · 0558b0d744 adding states/postgres_schema unit test case.
352597
352598       · PR  #24331:  (jayeshka)  adding  states/postgres_extension  unit test
352599         case.  @ 2015-07-01 21:43:58 UTC
352600
352601         · ada8fe57d4 Merge pull request #24331 from  jayeshka/postgres_exten‐
352602           sion-states-unit-test
352603
352604         · 3d465a574a adding states/postgres_extension unit test case.
352605
352606   Salt 2015.5.5 Release Notes
352607       release
352608              2015-08-20
352609
352610       Version 2015.5.5 is a bugfix release for 2015.5.0.
352611
352612   Statistics
352613       · Total Merges: 33
352614
352615       · Total Issue References: 28
352616
352617       · Total PR References: 39
352618
352619       · Contributors:   20  (TheBigBear,  arthurlogilab,  basepi,  bastiaanb,
352620         cachedout, driskell, garethgreenaway, jacobhammons, jahamn, jfindlay,
352621         rallytime,    s0undt3ch,    scottjpack,    silenius,   sixninetynine,
352622         stanislavb, terminalmage, thusoy, twangboy, vr-jack)
352623
352624   Changelog for v2015.5.4..v2015.5.5
352625       Generated at: 2018-05-27 22:04:18 UTC
352626
352627       · ISSUE #26484: (thusoy) Git state leaks HTTPS user/pw  to  log  (refs:
352628         #26486)
352629
352630       · ISSUE #26482: (thusoy) Git states doesn't allow user-only auth (refs:
352631         #26483)
352632
352633       · PR #26486: (thusoy) Git: Don't leak https user/pw to log @ 2015-08-20
352634         16:04:52 UTC
352635
352636         · PR #26483: (thusoy) Handle user-only http auth in git module (refs:
352637           #26486)
352638
352639         · 28aa9b1058 Merge  pull  request  #26486  from  thusoy/git-confiden‐
352640           tial-auth
352641
352642         · 5289165487 Git: Don't leak https user/pw to log
352643
352644       · ISSUE   #26432:  (centromere)  Documentation  incorrectly  references
352645         salt-key on the minion (refs: #26476)
352646
352647       · ISSUE #26403: (adelcast) Grains documentation incorrectly states they
352648         are static (refs: #26476)
352649
352650       · ISSUE  #26329:  (cro)  Add  note to eauth docs indicating default PAM
352651         service. (refs: #26476)
352652
352653       · ISSUE #26264: (grep4linux) state trees cannot have 'dots' in the name
352654         (refs: #26476)
352655
352656       · ISSUE #26233: (dove-young) pip install salt, then start master failed
352657         on Fedora 22 (refs: #26476)
352658
352659       · PR #26476: (jacobhammons) Minor doc bug fixes @  2015-08-19  22:52:35
352660         UTC
352661
352662         · 679ba5ee0a Merge pull request #26476 from jacobhammons/doc-bugs
352663
352664         · 499bd66378  Minor doc bug fixes Refs #26403 Refs #26432 Refs #26233
352665           Refs #26264 Refs #26329
352666
352667       · ISSUE #26366: (GreatSnoopy) The development  tree  produces  hanging,
352668         100%cpu salt-master processes (refs: #26443)
352669
352670       · ISSUE #26301: (waynew) CPU pegged out running salt-master (after run‐
352671         ning command)  (refs: #26443)
352672
352673       · ISSUE #25998: (driskell) Event subsystem discarding  required  events
352674         during --batch breaking it for slow running commands (refs: #26000)
352675
352676       · PR  #26443:  (cachedout) Fix connect issue in event init @ 2015-08-19
352677         22:50:22 UTC
352678
352679         · PR #26000: (driskell) Implement full event caching  for  subscribed
352680           tags (refs: #26443)
352681
352682         · 42b8c1b3f4 Merge pull request #26443 from cachedout/fix_event_sub
352683
352684         · 560977bc7e Fix connect issue in event init
352685
352686       · ISSUE  #26343:  (jfindlay)  batch  error when no minions match target
352687         (refs: #26445)
352688
352689       · PR #26445: (cachedout) Raise clean error when no minions targeted  in
352690         batch mode @ 2015-08-19 22:50:07 UTC
352691
352692         · d2df1a86ad Merge pull request #26445 from cachedout/issue_26343
352693
352694         · 1600f3eccd Raise clean error when no minions targeted in batch mode
352695
352696       · ISSUE #26482: (thusoy) Git states doesn't allow user-only auth (refs:
352697         #26483)
352698
352699       · PR #26483: (thusoy) Handle user-only http auth in git  module  (refs:
352700         #26486) @ 2015-08-19 22:47:41 UTC
352701
352702         · a9b28e9577 Merge pull request #26483 from thusoy/git-user-only-auth
352703
352704         · 09fc934acc Handle user-only http auth in git module
352705
352706       · PR  #26496: (jfindlay) add dateutil dependency reporting @ 2015-08-19
352707         22:46:31 UTC
352708
352709         · edc04930ae Merge pull request #26496 from jfindlay/dateutil
352710
352711         · cbe330e78b add dateutil dependency reporting
352712
352713       · PR  #26494:  (cachedout)  Remove  unecessary   debug   statements   @
352714         2015-08-19 20:46:00 UTC
352715
352716         · 4fff53b842    Merge    pull    request    #26494    from    cached‐
352717           out/remove_debug_statements
352718
352719         · d717a43dcc Remove unecessary debug statements
352720
352721       · PR #26465:  (rallytime)  Back-port  #26457  to  2015.5  @  2015-08-19
352722         16:08:16 UTC
352723
352724         · PR  #26457:  (arthurlogilab) docstring improvement for network.ping
352725           module execution (refs: #26465)
352726
352727         · f46a0dab5d Merge pull request #26465 from rallytime/bp-26457
352728
352729         · b3f638ff0f docstring improvement for network.ping module execution
352730
352731       · PR #26434: (s0undt3ch) Fix missed typo @ 2015-08-18 18:14:29 UTC
352732
352733         · c1458980f3 Merge pull request #26434 from s0undt3ch/2015.5
352734
352735         · 06dcaefcaa Fix missed typo
352736
352737       · ISSUE #26426: (alxbse) Private/public IPs are interchanged when list‐
352738         ing nova driver cloud nodes (refs: #26430)
352739
352740       · PR  #26430: (rallytime) List public and private ips under the correct
352741         label @ 2015-08-18 16:20:32 UTC
352742
352743         · 0f64be710f Merge pull request #26430 from rallytime/fix-26426
352744
352745         · 2ba97316c9 List public and private ips under the correct label
352746
352747       · PR #26431:  (rallytime)  Back-port  #26417  to  2015.5  @  2015-08-18
352748         15:41:58 UTC
352749
352750         · PR #26417: (scottjpack) Changed t1 -> t2 micro (refs: #26431)
352751
352752         · 913451a414 Merge pull request #26431 from rallytime/bp-26417
352753
352754         · 0254a2e90e Changed t1 -> t2 micro
352755
352756       · PR  #26378:  (stanislavb) Fix EC2 credentials from IAM roles for s3fs
352757         and s3 ext_pillar in 2015.5 @ 2015-08-18 14:01:53 UTC
352758
352759         · 952da7abaf Merge pull request #26378 from stanislavb/2015.5
352760
352761         · 39ce3127cd Let utils.aws query instance metadata
352762
352763       · ISSUE #26245:  (bradthurber)  salt  v2015.5.3  gitfs.py  using  newer
352764         pygit2 feature than required minimum (refs: #26420)
352765
352766       · PR #26420: (terminalmage) Only use pygit2.errors if it exists (2015.5
352767         branch) @ 2015-08-18 14:00:01 UTC
352768
352769         · 09e96dce39   Merge   pull    request    #26420    from    terminal‐
352770           mage/issue26245-2015.5
352771
352772         · 19a1149067 Only use pygit2.errors if it exists (2015.5 branch)
352773
352774       · PR  #26409:  (basepi)  [2015.5] Merge forward from 2014.7 to 2015.5 @
352775         2015-08-17 23:19:56 UTC
352776
352777         · c5eb6bbd3e  Merge  pull  request  #26409   from   basepi/merge-for‐
352778           ward-2015.5
352779
352780         · dafed10a9e  Merge  remote-tracking  branch  'upstream/2014.7'  into
352781           merge-forward-2015.5
352782
352783         · da8bca09aa Merge pull request #26242 from cro/anonldap4
352784
352785           · a0d2ab1eed Remove dead code
352786
352787         · 1ecf23773e Merge pull request #26216 from cro/anonldap3
352788
352789         · af132d7b89 Documentation update for anonymous bind issue.
352790
352791         · 2ef54b6b13 Documentation update for anonymous bind issue.
352792
352793         · 5b1836bb00 Fix issue with LDAP anonymous binds.
352794
352795       · ISSUE #26404: (ssgward) Syntax error in lvm.vg_absent  state  causing
352796         failure (refs: #26406)
352797
352798       · PR  #26406:  (jfindlay)  fix  syntax  error  in  lvm  exec  module  @
352799         2015-08-17 21:18:25 UTC
352800
352801         · 741ca6b4db Merge pull request #26406 from jfindlay/lvm
352802
352803         · 81d351ff8f fix syntax error in lvm exec module
352804
352805       · PR #26405: (TheBigBear) dependency zip files  moved  to  new  site  @
352806         2015-08-17 21:17:24 UTC
352807
352808         · a7e2d30e2a Merge pull request #26405 from TheBigBear/patch-8
352809
352810         · 8898d64918 dependency zip files moved to new site
352811
352812       · PR  #26298:  (vr-jack)  Keep  $HOME from being interpretted by Master
352813         shell @ 2015-08-17 21:15:11 UTC
352814
352815         · cf0523a12e Merge pull request #26298 from vr-jack/2015.5
352816
352817         · 1fd6fc6ce3 Keep $HOME from being interpretted by Master shell
352818
352819       · PR #26324: (s0undt3ch) Salt is now  pip  install'able  in  windows  @
352820         2015-08-17 20:41:34 UTC
352821
352822         · c0811d3302 Merge pull request #26324 from s0undt3ch/2015.5
352823
352824         · e7cb3be2a0 Document the added options
352825
352826         · 92af1c9572 Fix argument name
352827
352828         · 72d2fdb512 Add pypiwin32 >= 219 as a windows install requires.
352829
352830         · b1105fc706   Allow   mimicking   the   install  setup  command  for
352831           develop/editable installations.
352832
352833         · 26246a72ee Allow writing  Salt's  _version.py  when  installing  in
352834           develop mode.
352835
352836         · 71928f2194 Prefer HTTPS, fix url argument
352837
352838         · 7b25430cc7 Download the necessary DLLs for windows
352839
352840         · 86692a92cd  Install  PyCrypto  from  a  wheel in repo.saltstack.com
352841           under Windows
352842
352843         · 915da594c2 Skip M2Crypto in Windows.
352844
352845         · 1ea426e299 Move code to properly handle default requirements.
352846
352847         · 8fda8c0db3 M2CryptoWin{32,64} should only be installed  on  Salt  <
352848           2015.8.0
352849
352850         · 0ff2f19aee Override the develop command in cmdclass
352851
352852         · a5aa752a85 Override the develop command when WITH_SETUPTOOLS is set
352853
352854         · 4d6841c761 Install M2CryptoWin{32,64} while installing Salt
352855
352856       · ISSUE  #26161:  (bastiaanb)  salt initscripts do not set lock file in
352857         /var/lock/subsys as required on RedHat family OSes (refs: #26371)
352858
352859       · PR #26371: (bastiaanb) fix issue #26161:  on  RedHat  family  systems
352860         touch /var/lock/subsys/$SE… @ 2015-08-17 20:39:28 UTC
352861
352862         · 87151736c5     Merge    pull    request    #26371    from    basti‐
352863           aanb/fix/issue-26161-salt-initscripts-dont-set-lockfile
352864
352865         · ec8d4b0470 test wether RETVAL is 0 with -eq rather than =.
352866
352867         · a83a5de41e  fix  issue  #26161:  on  RedHat  family  systems  touch
352868           /var/lock/subsys/$SERVICE  to  ensure the daemon will be stopped on
352869           shutdown.
352870
352871       · ISSUE  #25801:  (themalkolm)  Update  docs  that  salt.states.winrepo
352872         requires roles:salt-master in grains. (refs: #26328)
352873
352874       · ISSUE  #25562:  (jefftucker) winrepo state does not run on masterless
352875         minion (refs: #26328)
352876
352877       · PR #26402: (twangboy) Removed  documentation  no  longer  required  @
352878         2015-08-17 20:35:37 UTC
352879
352880         · PR  #26328:  (twangboy) Removed salt-master role requirement (refs:
352881           #26402)
352882
352883         · 89602f56ad Merge pull request #26402 from twangboy/fix_26328
352884
352885         · ad5fa03b76 Removed documentation no longer required
352886
352887       · PR #26392:  (rallytime)  Back-port  #26376  to  2015.5  @  2015-08-17
352888         19:39:51 UTC
352889
352890         · PR #26376: (TheBigBear) minor edit spelling (refs: #26392)
352891
352892         · eb373e5904 Merge pull request #26392 from rallytime/bp-26376
352893
352894         · a013bb5b3d minor edit
352895
352896       · ISSUE  #16049: (ryan-lane) boto_elb.present state requires attributes
352897         argument (refs: #26342)
352898
352899       · PR #26342: (rallytime) Don't call boto_elb._attributes_present if  no
352900         attributes were provided @ 2015-08-17 19:19:08 UTC
352901
352902         · 8bb57d1631 Merge pull request #26342 from rallytime/fix-16049
352903
352904         · 211f6feaf5  Fix  test failures - get_attributes shouldn't be called
352905           if none are provided
352906
352907         · d8ad023e88 Don't call boto_elb._attributes_present if no attributes
352908           were provided
352909
352910       · ISSUE  #26155: (silenius) pip availability in states/pip_state (refs:
352911         #26160)
352912
352913       · PR #26389:  (rallytime)  Back-port  #26160  to  2015.5  @  2015-08-17
352914         19:09:16 UTC
352915
352916         · PR #26160: (silenius) proposed fix for #26155 (refs: #26389)
352917
352918         · 2fd1e06343 Merge pull request #26389 from rallytime/bp-26160
352919
352920         · f0bc3765d9 No logging should happen on __virtual__
352921
352922         · ca406eaf3c proposed fix for #26155
352923
352924       · ISSUE  #26266: (o-sleep) limit pw_user.getent() from returning entire
352925         corporate list (refs: #26300)
352926
352927       · PR #26300: (jfindlay) mock pwd function calls in pw_user exec  module
352928         @ 2015-08-17 18:56:41 UTC
352929
352930         · 0046c6cfed Merge pull request #26300 from jfindlay/pw_test
352931
352932         · 7e94989403 mock pwd calls in pw_user exec mod test
352933
352934         · 26f5b466f5 check for pwd on linux and BSD user exec mods
352935
352936       · ISSUE #24334: (afletch) autosign_timeout not honoured (refs: #26386)
352937
352938       · PR    #26386:    (jahamn)    Fixes    autosign_timeout    usage    in
352939         check_autosign_dir @ 2015-08-17 18:34:40 UTC
352940
352941         · 709499438b Merge pull request #26386 from jahamn/fix-autosign_time‐
352942           out
352943
352944         · b2fa2ac9d3 Fixes autosign_timeout usage in check_autosign_dir
352945
352946       · ISSUE  #25801:  (themalkolm)  Update  docs  that  salt.states.winrepo
352947         requires roles:salt-master in grains. (refs: #26328)
352948
352949       · ISSUE #25562: (jefftucker) winrepo state does not run  on  masterless
352950         minion (refs: #26328)
352951
352952       · PR  #26328:  (twangboy)  Removed  salt-master role requirement (refs:
352953         #26402) @ 2015-08-17 18:30:17 UTC
352954
352955         · 8d901d7b15 Merge pull request #26328 from twangboy/fix_25562
352956
352957         · d4ca1dccbf Removed salt-master role requirement
352958
352959       · ISSUE #26327:  (bradthurber)  mount.mounted  opts  incorrect  "forced
352960         unmount and mount because options (tcp) changed" (refs: #26362)
352961
352962       · PR  #26362:  (garethgreenaway)  Fixes  to  mount state.  @ 2015-08-17
352963         17:44:55 UTC
352964
352965         · 74558f5743   Merge   pull   request   #26362   from    garethgreen‐
352966           away/2015_5_26327_more_invisible_mount_options
352967
352968         · cf532d46dd  Some  mount options are translated to different options
352969           once a share has been mounted, eg. when specifying a  protocol  for
352970           NFS  as  either  tcp  or  udp this option is translated into either
352971           proto=tcp or proto=udp.  Change adds a lookup dictionary for  these
352972           options so that a re-mount isn't forced each time.
352973
352974       · PR #26379: (s0undt3ch) [2015.5] Backport #26353 @ 2015-08-17 17:19:29
352975         UTC
352976
352977         · PR #26353: (sixninetynine) fixed a typo in setup.py (refs: #26379)
352978
352979         · 7dbbd90c98 Merge pull request  #26379  from  s0undt3ch/issues/back‐
352980           port-26353
352981
352982         · 33ed315c85 fixed Packaing -> Packaging typo and added a couple com‐
352983           ments on the setuptools/distutils abstract methods
352984
352985       · ISSUE #26240: (0xf10e) keystone.user_get raises exception  when  user
352986         is not found (refs: #26277)
352987
352988       · PR  #26277:  (rallytime)  Handle  exception when user is not found in
352989         keystone.user_get @ 2015-08-14 19:41:59 UTC
352990
352991         · bcca1b4c5a Merge pull request #26277 from rallytime/fix-26240
352992
352993         · 0b6977335e Clean it up
352994
352995         · 5edabfd271 It's a dict - git problems...
352996
352997         · 39d3eb66f0 Log error and return error - make returns consistent.
352998
352999         · 496474d862  Handle  exception  when  user  is  not  found  in  key‐
353000           stone.get_user
353001
353002       · ISSUE #24484: (bailsman) clouds/ec2.py: create_snapshot throws excep‐
353003         tion (refs: #26326)
353004
353005       · PR #26326: (rallytime) Make ec2.create_snapshot return less unweildly
353006         and more relevant @ 2015-08-14 19:40:47 UTC
353007
353008         · 78be3a826f  Merge  pull  request #26326 from rallytime/create_snap‐
353009           shot_return
353010
353011         · c5395db851 Make ec2.create_snapshot return less unweildly and  more
353012           relevant
353013
353014       · ISSUE  #16179:  (UtahDave)  Salt  Cloud  -l debug includes the entire
353015         bootstrap script twice in its output (refs: #26306)
353016
353017       · PR #26306: (rallytime) Move VM creation details dict to  log.trace  @
353018         2015-08-14 17:39:52 UTC
353019
353020         · 44c9d3063b Merge pull request #26306 from rallytime/fix-16179
353021
353022         · 670464258f Move VM creation details dict to log.trace
353023
353024   Salt 2015.5.6 Release Notes
353025       release
353026              2015-10-13
353027
353028       Version 2015.5.6 is a bugfix release for 2015.5.0.
353029
353030   Statistics
353031       · Total Merges: 145
353032
353033       · Total Issue References: 71
353034
353035       · Total PR References: 178
353036
353037       · Contributors:   53   (Arabus,   JensRantil,   PierreR,  SaltyCharles,
353038         TheBigBear, abh, aboe76, anlutro, arthurlogilab,  aspyatkin,  basepi,
353039         benhosmer,  bersace,  cachedout,  carlpett,  damonzheng,  derphilipp,
353040         dmyerscough, dsumsky, efficks, eguven, garethgreenaway, hexedpackets,
353041         jacksontj,  jacobhammons,  jfindlay, joejulian, johanek, julianbrost,
353042         kev009,  lorengordon,  madprog,   marccardinal,   netroby,   nmadhok,
353043         plastikos,    rallytime,   serge-p,   spudfkc,   stanislavb,   styro,
353044         systembell, tankywoo, techhat,  terminalmage,  thatch45,  tjstansell,
353045         twangboy, vakulich, vtek21, whiteinge, zmalone, zyio)
353046
353047   Security Fixes
353048       CVE-2015-6941  The Windows user module and salt-cloud display passwords
353049       in log when log level is set to debug or more verbose.
353050
353051       For the Windows user module, the password  is  now  replaced  with  the
353052       string XXX-REDACTED-XXX.
353053
353054       For  salt-cloud,  debug  logging  no  longer  displays win_password and
353055       sudo_password authentication credentials.
353056
353057       CVE-2015-6918 Git state/execution modules log  HTTPS  auth  credentials
353058       when log level is set to debug or more verbose.
353059
353060       These  credentials  are now replaced with REDACTED in the debug output.
353061       Thanks to Andreas Stieger <asteiger@suse.com> for bringing this to  our
353062       attention.
353063
353064   Changelog for v2015.5.5..v2015.5.6
353065       Generated at: 2018-05-27 22:13:00 UTC
353066
353067       · PR  #27582:  (jfindlay)  add  2015.5.6  release  notes  @  2015-09-30
353068         22:33:48 UTC
353069
353070         · 304dc68f7f Merge pull request #27582 from jfindlay/2015.5
353071
353072         · 4f0d55cda6 add 2015.5.6 release notes
353073
353074       · ISSUE #27518: (srkunze) [Docs] Relationship between Mine  and  Grains
353075         (refs: #27557)
353076
353077       · PR  #27557: (jfindlay) add doc motivating mine vs grains @ 2015-09-30
353078         17:49:46 UTC
353079
353080         · 7201ce71e4 Merge pull request #27557 from jfindlay/mine_doc
353081
353082         · 3727d79bad edit mine doc for style and markup
353083
353084         · 7e037a4666 add doc motivating mine vs grains
353085
353086       · ISSUE #27478: (rominf) iptables state fails  to  save  rules   (refs:
353087         #27515)
353088
353089       · PR  #27515:  (jfindlay)  save  iptables  rules  on  SuSE @ 2015-09-30
353090         16:09:42 UTC
353091
353092         · 59c3d5f93e Merge pull request #27515 from jfindlay/suse_fire
353093
353094         · 4460ad2785 save iptables rules on SuSE
353095
353096       · ISSUE #27460: (llevar) Orchestrate runner not resolving reference  to
353097         a built in state (refs: #27509)
353098
353099       · PR  #27509:  (jfindlay) tell the user why the gluster module does not
353100         work @ 2015-09-30 15:49:16 UTC
353101
353102         · 9b26357b19 Merge pull request #27509 from jfindlay/gluster_reason
353103
353104         · 1ccda538d2 tell the user why the gluster module does not work
353105
353106       · ISSUE #27372: (GregMeno) pip.installed state fails when  env_vars  is
353107         not a dict (refs: #27379)
353108
353109       · PR #27379: (jfindlay) document and check dict type for pip env_vars @
353110         2015-09-30 02:56:52 UTC
353111
353112         · 989733ea86 Merge pull request #27379 from jfindlay/pip_vars
353113
353114         · aee51ffdef document and check dict type for pip env_vars
353115
353116       · PR #27516: (basepi) [2015.5] Merge forward from 2014.7  to  2015.5  @
353117         2015-09-29 17:53:33 UTC
353118
353119         · 6d773f66c3   Merge   pull  request  #27516  from  basepi/merge-for‐
353120           ward-2015.5
353121
353122         · a08951f0fa  Merge  remote-tracking  branch  'upstream/2014.7'  into
353123           merge-forward-2015.5
353124
353125         · 5262f01325 Merge pull request #27335 from rallytime/cloud-logging-7
353126
353127           · adeb1dcad4 Pylint Fix
353128
353129           · 588c13783c Salt-cloud logging clean up for windows functions
353130
353131           · 9b6000135c [2014.7] Fixup salt-cloud logging
353132
353133       · ISSUE  #27447: (junster1) Fix mysql table size for salt_events (refs:
353134         #27472)
353135
353136       · PR #27472: (cachedout) Change recommeded schema  for  data  field  in
353137         mysql event table @ 2015-09-29 15:49:37 UTC
353138
353139         · 68d784c3dd Merge pull request #27472 from cachedout/fix_27447
353140
353141         · 5e745ad6da  Change  recommeded schema for data field in mysql event
353142           table
353143
353144       · PR #27468: (cachedout) Fix 27351 @ 2015-09-29 15:35:29 UTC
353145
353146         · PR #27351: (SaltyCharles) fix sysctl truncating  newline  on  os  x
353147           (refs: #27468)
353148
353149         · ee6e0ed057 Merge pull request #27468 from cachedout/fix_27351
353150
353151         · 0bc37c0d41 Fix test
353152
353153         · f9a19720de fix sysctl truncating newline on os x
353154
353155       · ISSUE  #27438:  (aboe76)  can't  set  system  locale on OpenSuse SUse
353156         (refs: #27479)
353157
353158       · PR #27479:  (aboe76)  fix  locale  on  opensuse  and  suse  #27438  @
353159         2015-09-29 15:34:48 UTC
353160
353161         · a214c7f84e Merge pull request #27479 from aboe76/fix_locale_suse
353162
353163         · a8f2dad1be fix locale on opensuse and suse #27438
353164
353165       · ISSUE  #17103:  (arthurlogilab)  salt  is  looking  for outputters in
353166         /var/cache/salt/minion/extmods/output    not     /var/cache/salt/min‐
353167         ion/extmods/outputputters (refs: #27483)
353168
353169       · PR  #27483: (rallytime) Outputters should sync to output, not output‐
353170         ters, on the minion.  @ 2015-09-29 15:33:08 UTC
353171
353172         · 931f593b51 Merge pull request #27483 from rallytime/fix-17103
353173
353174         · 441241eb90 Change sync_outputters to sync_output  for  consistency,
353175           but alias sync_outputters
353176
353177         · 105528720b Outputters should sync to output, not outputters, on the
353178           minion.
353179
353180       · PR #27484: (rallytime)  Back-port  #27434  and  #27470  to  2015.5  @
353181         2015-09-29 15:32:03 UTC
353182
353183         · PR #27470: (cachedout) Minor doc fixup. (refs: #27484)
353184
353185         · PR #27434: (netroby) Doc: copy key to server via ssh-copy-id (refs:
353186           #27484, #27470)
353187
353188         · 9c2c028953    Merge    pull    request    #27484    from     rally‐
353189           time/bp-27434-and-27470
353190
353191         · 5de2ee35ab Minor doc fixup.
353192
353193         · af656c7e87 Doc: copy key to server via ssh-copy-id
353194
353195       · ISSUE  #27433:  (TheBigBear)  winrepo  - drops "trailing zeroes" from
353196         version numbers on un-install? (refs: #27469)
353197
353198       · PR #27469: (twangboy) Added  quotes  to  version  numbers  example  @
353199         2015-09-28 21:54:43 UTC
353200
353201         · 927874d316 Merge pull request #27469 from twangboy/fix_27433
353202
353203         · a996ea46e2 Added quotes to version numbers example
353204
353205       · ISSUE  #27342:  (ariscn) File.managed silent fail for contents_pillar
353206         (refs: #27375, #27467)
353207
353208       · PR #27467: (cachedout)  file.managed:  check  contents_{pillar|grain}
353209         result @ 2015-09-28 20:22:16 UTC
353210
353211         · PR  #27375:  (jfindlay) file.managed: check contents_{pillar|grain}
353212           result (refs: #27467)
353213
353214         · 382a53403f Merge pull request #27467 from cachedout/lint_27375
353215
353216         · 4e54a98f5e Lint #27375
353217
353218         · 278ade52d2 file.managed: check contents_{pillar|grain} result
353219
353220       · ISSUE #9856: (jeremyBass) for  grant  in  grants:  TypeError:  'bool'
353221         object is not iterable (refs: #27419)
353222
353223       · PR  #27419:  (rallytime) Amend error log to include multiple tips for
353224         troubleshooting.  @ 2015-09-28 17:53:19 UTC
353225
353226         · ed6207a438 Merge pull request #27419 from rallytime/fix-9856
353227
353228         · 551396564a Ammend error log to  include  multiple  tips  for  trou‐
353229           bleshooting.
353230
353231       · ISSUE #16753: (johtso) Duplicate selector in top file gives unhelpful
353232         traceback (refs: #27426)
353233
353234       · PR #27426: (rallytime) Don't stacktrace if there are  conflicting  id
353235         errors in highstate @ 2015-09-28 14:52:51 UTC
353236
353237         · 73fa89edf7 Merge pull request #27426 from rallytime/fix-16753
353238
353239         · f6cbd81e66  Don't  stacktrace if there are conflicting id errors in
353240           highstate
353241
353242       · ISSUE #27406: (s-iraheta) salt-cloud error with Softlayer (Bare Metal
353243         Instance):   TypeError:  'bool'  object  is  not  iterable  and  with
353244         --list-locations:   Failed   to   get   the    output    of    'soft‐
353245         layer_hw.avail_locations()': 142776 (refs: #27408)
353246
353247       · PR  #27408:  (rallytime)  Fix  avail_locations function for the soft‐
353248         layer_hw driver in 2015.5 @ 2015-09-25 23:34:50 UTC
353249
353250         · 5dd1b70475    Merge    pull    request    #27408    from     rally‐
353251           time/fix-27406-for-2015.5
353252
353253         · 39a4ae5a6c  Remove  hdd: 19 refs from SL docs - no longer available
353254           from SoftLayer.
353255
353256         · de2f9234d3 Use correct default for bandwith
353257
353258         · 42d8127f79 Don't set the optional_products default  to  a  boolean,
353259           and then try to loop.
353260
353261         · 9d8a3d8303 Fix avail_locations function for the softlayer_hw driver
353262           in 2015.5
353263
353264       · ISSUE #27389: (ryan-lane) Docs layout issue (refs: #27410)
353265
353266       · PR #27410: (jacobhammons) Fix css layout  Refs  #27389  @  2015-09-25
353267         22:38:48 UTC
353268
353269         · 8f9a3cfbaf Merge pull request #27410 from jacobhammons/doc-updates
353270
353271         · a9fdecada1  Fix css layout Refs #27389 sample typo fix in linux_acl
353272           additional module folders listed in dynamic-modules
353273
353274       · PR #27336: (rallytime) [2015.5] Fixup salt-cloud logging @ 2015-09-24
353275         15:02:52 UTC
353276
353277         · 3746085587  Merge  pull  request  #27336  from rallytime/cloud-log‐
353278           ging-five
353279
353280         · 7956b36076 [2015.5] Fixup salt-cloud logging
353281
353282       · ISSUE #27356: (lorengordon) file.replace fails if repl contains  spe‐
353283         cial regex characters and append_if_not_found=True (refs: #27358)
353284
353285       · PR #27358: (lorengordon) Escape search replacement text, fixes #27356
353286         @ 2015-09-24 13:52:46 UTC
353287
353288         · 5a3be10a3e   Merge   pull    request    #27358    from    lorengor‐
353289           don/escape-search-replacement-text
353290
353291         · 88bb1fbfff Escape search replacement text, fixes #27356
353292
353293       · ISSUE #19236: (bramhg) salt-cloud : Unable to add SSD disk and unable
353294         to auto-delete disk on instance termination on GCE (refs: #27345)
353295
353296       · PR #27345: (rallytime) Allow use of rst header  links  by  separating
353297         options out from yaml example @ 2015-09-23 19:48:56 UTC
353298
353299         · 6759f79d6d Merge pull request #27345 from rallytime/docs-for-19236
353300
353301         · 1d3925bbfb Added version tag for ex_disk_type option
353302
353303         · f23369300c  Allow use of rst header links by separating options out
353304           from yaml example
353305
353306       · PR #26903: (bersace) Review defaults.get @ 2015-09-23 14:52:20 UTC
353307
353308         · c2efb291e2 Merge pull request #26903 from bersace/fix-defaults-mod‐
353309           ules
353310
353311         · 474d7afc95 fixup! Review defaults loading
353312
353313         · 36141d226e fixup! Review defaults loading
353314
353315         · 62b6495358 fixup! Review defaults loading
353316
353317         · cf0624e8b8 fixup! Review defaults loading
353318
353319         · 2c58bab977 fixup! Review defaults loading
353320
353321         · 82c5b1d8fd Review defaults loading
353322
353323       · ISSUE  #27316:  (efficks)  Extracted  state with zip format failed on
353324         Windows (refs: #27317)
353325
353326       · PR #27317: (efficks) State unzip should use unzip command instead  of
353327         unzip_cmd.  @ 2015-09-23 14:41:36 UTC
353328
353329         · a372466922 Merge pull request #27317 from efficks/fix27316
353330
353331         · bf216c101e   State  unzip  should  use  unzip  command  instead  of
353332           unzip_cmd. Issue #27316
353333
353334       · ISSUE #15514: (flyaruu) Calling a boto_route53.present state fails if
353335         the record is already there (refs: #27309)
353336
353337       · PR  #27309:  (rallytime)  Change  a  value  list to a comma-separated
353338         string in boto_route53.present @ 2015-09-23 14:30:50 UTC
353339
353340         · bd3771e80f Merge pull request #27309 from rallytime/fix-15514
353341
353342         · 9383d91ff8 Change a value  list  to  a  comma-separated  string  in
353343           boto_route53.present
353344
353345       · ISSUE  #27297:  (JensRantil)  file.replace  documentation improvement
353346         (refs: #27311)
353347
353348       · PR #27311: (jfindlay) discuss replacement occurrences in file  doc  @
353349         2015-09-22 22:23:10 UTC
353350
353351         · b5fe944875 Merge pull request #27311 from jfindlay/maxoc
353352
353353         · 8ec2e921bd discuss replacement occurrences in file doc
353354
353355       · PR  #27310:  (basepi)  [2015.5] Merge forward from 2014.7 to 2015.5 @
353356         2015-09-22 21:08:41 UTC
353357
353358         · ca4597b93a  Merge  pull  request  #27310   from   basepi/merge-for‐
353359           ward-2015.5
353360
353361         · 7b75e4aed1  Merge  remote-tracking  branch  'upstream/2014.7'  into
353362           merge-forward-2015.5
353363
353364         · e90412d3b8 Merge pull request #27252 from jfindlay/version.2014.7
353365
353366           · 3d28307a00 2014.7 -> 2014.7.0
353367
353368       · ISSUE #27307: (terminalmage) Regression in yumpkg's refresh_db  func‐
353369         tion (refs: #27308)
353370
353371       · PR  #27308:  (terminalmage)  Fix refresh_db regression in yumpkg.py @
353372         2015-09-22 21:07:28 UTC
353373
353374         · 982c21c79f   Merge   pull    request    #27308    from    terminal‐
353375           mage/fix-refresh_db-regression
353376
353377         · 77686fb7ce Fix refresh_db regression in yumpkg.py
353378
353379       · PR  #27286: (terminalmage) Add a configurable timer for minion return
353380         retries @ 2015-09-22 16:35:07 UTC
353381
353382         · 775a4f9ad0   Merge   pull    request    #27286    from    terminal‐
353383           mage/return_retry_timer
353384
353385         · 540a7dfcf1 Add default values for new minion config options
353386
353387         · 453b883820 Add a configurable timer for minion return retries
353388
353389       · PR  #27278:  (rallytime)  Back-port  #27256  to  2015.5  @ 2015-09-21
353390         19:27:51 UTC
353391
353392         · PR  #27256:  (julianbrost)  Fix   error   handling   in   salt.mod‐
353393           ules.file.statvfs (refs: #27278)
353394
353395         · 02482c0572 Merge pull request #27278 from rallytime/bp-27256
353396
353397         · 1beddf6311 Fix error handling in salt.modules.file.statvfs
353398
353399       · PR  #27277:  (rallytime)  Back-port  #27230  to  2015.5  @ 2015-09-21
353400         19:06:14 UTC
353401
353402         · PR #27230: (benhosmer) Fix typo in AWS doc config (refs: #27277)
353403
353404         · e36c019c37 Merge pull request #27277 from rallytime/bp-27230
353405
353406         · 3ce77db1bc Fix typo in AWS doc config
353407
353408       · PR #27253: (jfindlay) 2015.5 -> 2015.5.0 @ 2015-09-18 23:44:43 UTC
353409
353410         · b22286476e Merge pull request #27253 from jfindlay/version.2015.5
353411
353412         · 967e3bb72a 2015.5 -> 2015.5.0
353413
353414       · PR #27244: (garethgreenaway) Exception in cloud.ec2.create_snapshot @
353415         2015-09-18 21:41:11 UTC
353416
353417         · 51a0193b54  Merge pull request #27244 from garethgreenaway/ec2_cre‐
353418           ate_snapshot_no_return_data_exception
353419
353420         · 820fd576b9 Fixing the cause when the r_data from aws.query is empty
353421           and an exception happens when looking for the snapshotID
353422
353423       · ISSUE  #27215:  (wfhu)  cron.file  override  the crontab file even if
353424         there's no change (refs: #27231)
353425
353426       · PR #27231: (jfindlay) only  write  cron  file  if  it  is  changed  @
353427         2015-09-18 18:23:10 UTC
353428
353429         · 26540f15bc Merge pull request #27231 from jfindlay/cronchange
353430
353431         · 1e335297e2 only write cron file if it is changed
353432
353433       · PR  #27233:  (basepi)  [2015.5] Add stub release notes for 2015.5.6 @
353434         2015-09-18 16:55:40 UTC
353435
353436         · 579f375f74      Merge      pull      request      #27233       from
353437           basepi/release.notes.stubs
353438
353439         · f4563ea9b7 Add stub release notes for 2015.5.6
353440
353441       · ISSUE  #25423:  (tweenk)  Impossible to define a file.managed for use
353442         only as a template in "use" requisites (refs: #27208)
353443
353444       · PR #27208: (basepi) [2015.5] Add test.nop state @ 2015-09-18 16:50:17
353445         UTC
353446
353447         · f5a322e3f2 Merge pull request #27208 from basepi/nop.state.25423
353448
353449         · 9414b05b2c Add test.nop example
353450
353451         · a84ce67b8f Add test.nop state
353452
353453       · ISSUE #27187: (SeverinLeonhardt) ssh_known_hosts.present hashes other
353454         entries even with hash_hostname: false (refs: #27201)
353455
353456       · PR #27201: (jfindlay)  rename  hash_hostname  to  hash_known_hosts  @
353457         2015-09-18 15:45:03 UTC
353458
353459         · 59a07cae68 Merge pull request #27201 from jfindlay/sshhash
353460
353461         · 1b620b77cd rename hash_host arg to hash_known_hosts
353462
353463         · 12f14ae37c update hash_known_hosts docs in ssh module
353464
353465       · PR  #27214:  (jacksontj)  Correctly  support https, port 443 is not a
353466         requirement @ 2015-09-18 15:43:05 UTC
353467
353468         · 560545c4c5 Merge pull request #27214 from jacksontj/2015.5
353469
353470         · e7526bdb44 Correctly support https, port 443 is not a requirement
353471
353472       · ISSUE #18582: (mainframe) Allow merging file_roots  and  pillar_roots
353473         from different config files included from master.d (refs: #27150)
353474
353475       · PR  #27172:  (rallytime)  Back-port  #27150  to  2015.5  @ 2015-09-17
353476         17:25:51 UTC
353477
353478         · PR #27150: (cachedout) Merge config values  from  master.d/minion.d
353479           conf files (refs: #27172)
353480
353481         · 7a34c7742d Merge pull request #27172 from rallytime/bp-27150
353482
353483         · 0d7ee4b209 Merge config values from master.d/minion.d conf files
353484
353485       · PR  #27194:  (rallytime)  Back-port  #27180  to  2015.5  @ 2015-09-17
353486         16:17:24 UTC
353487
353488         · PR #27180: (tankywoo) file copy ret result True  if  no  change  in
353489           test mode (refs: #27194)
353490
353491         · e956d88f5f Merge pull request #27194 from rallytime/bp-27180
353492
353493         · 327d343fef file copy ret result True if no change in test mode
353494
353495       · PR  #27176:  (basepi)  [2015.5] Merge forward from 2014.7 to 2015.5 @
353496         2015-09-17 15:00:40 UTC
353497
353498         · a02d043309  Merge  pull  request  #27176   from   basepi/merge-for‐
353499           ward-2015.5
353500
353501         · 66f4641be3  Merge  remote-tracking  branch  'upstream/2014.7'  into
353502           merge-forward-2015.5
353503
353504         · c186e51764   Merge   pull    request    #27117    from    jacobham‐
353505           mons/release-docs-2014.7
353506
353507           · b69e11e0a4 made 2014.7 an archived release minor doc site updates
353508
353509         · 69d758ee2b  Merge  pull request #27114 from cachedout/warn_on_inse‐
353510           cure_log
353511
353512           · 507fb04683 Issue warning that some log levels may contain  sensi‐
353513             tive data
353514
353515         · aa71bae8aa   Merge  pull  request  #27075  from  twangboy/fix_pass‐
353516           word_2014.7
353517
353518           · c0689e3215 Replaced password with redacted when displayed
353519
353520       · PR #27170: (rallytime) Update Getting Started with GCE  docs  to  use
353521         cloud.profiles or cloud.profiles.d examples @ 2015-09-16 22:23:51 UTC
353522
353523         · de2027426e Merge pull request #27170 from rallytime/gce-docs
353524
353525         · a07db909bd  Update  Getting Started with GCE docs to use cloud.pro‐
353526           files or cloud.profiles.d examples
353527
353528       · PR #27167:  (rallytime)  Back-port  #27148  to  2015.5  @  2015-09-16
353529         19:56:01 UTC
353530
353531         · PR  #27148: (hexedpackets) Pass file pointers to the serialize load
353532           functions. (refs: #27167)
353533
353534         · 28cfdfd067 Merge pull request #27167 from rallytime/bp-27148
353535
353536         · d12be52355 Pass filepointers to the serialize load functions.
353537
353538       · ISSUE #27157: (alxbse) salt.util.smb loads even when impacket library
353539         is missing (refs: #27168)
353540
353541       · PR  #27168:  (techhat)  Add  further  gating  of  impacket  library @
353542         2015-09-16 18:55:56 UTC
353543
353544         · 4495f4f4d0 Merge pull request #27168 from techhat/gateimpacket
353545
353546         · cc448bfdc1 Add further gating of impacket library
353547
353548       · ISSUE #27100: (hexedpackets)  salt-cloud  --full-query  does  nothing
353549         when no VM profiles are configured (refs: #27166)
353550
353551       · PR  #27166: (rallytime) Allow a full-query for EC2, even if there are
353552         no profiles defined @ 2015-09-16 17:41:40 UTC
353553
353554         · 3e5ef0dc30 Merge pull request #27166 from rallytime/fix-27100
353555
353556         · 50fb3a489a Allow a full-query for EC2, even if there  are  no  pro‐
353557           files defined
353558
353559       · PR  #27162:  (rallytime) Be explicit in using "SoftLayer" for service
353560         queries in SoftLayer drivers @ 2015-09-16 16:43:26 UTC
353561
353562         · f1c9de7ed9 Merge pull request #27162 from  rallytime/softlayer-ser‐
353563           vice
353564
353565         · d281068c70  Be explicit in using "SoftLayer" for service queries in
353566           SoftLayer drivers
353567
353568       · ISSUE #27133: (deniswal) win_path.add causes the value data to be set
353569         as the value and vice versa (refs: #27149)
353570
353571       · PR #27149: (twangboy) Fixed problem with add/remove path @ 2015-09-16
353572         15:01:48 UTC
353573
353574         · 59e9dfd8de Merge pull request #27149 from twangboy/fix_27133
353575
353576         · 7992b7e20a Fixed some tests...  hopefully...
353577
353578         · d4c8e30f5d Fixed problem with add/remove path
353579
353580       · ISSUE #11669: (jcockhren) salt.cloud is out of date  for  new  google
353581         compute engine dashboard and API (refs: #27147)
353582
353583       · PR  #27147:  (rallytime) Enforce bounds in the GCE Regex @ 2015-09-15
353584         21:51:55 UTC
353585
353586         · 097fcd1017 Merge pull request #27147 from rallytime/fix-11669
353587
353588         · 55312ea03f Provide a more friendly error message.
353589
353590         · 36555856c7 Enforce bounds in the GCE Regex
353591
353592       · PR #27128: (eguven) don't show diff for test run if show_diff=False @
353593         2015-09-15 14:11:55 UTC
353594
353595         · f5c3f157dd     Merge     pull     request    #27128    from    egu‐
353596           ven/2015.5-fix-test-diff
353597
353598         · ec2d68a84a don't show diff for test run if show_diff=False
353599
353600       · PR #27116: (jacobhammons) Update latest to 2015.8, 2015.5 is now pre‐
353601         vious @ 2015-09-15 07:34:28 UTC
353602
353603         · 088b1dbb3e    Merge    pull    request    #27116   from   jacobham‐
353604           mons/release-docs-2015.5
353605
353606         · 6e323b6dd3 Update latest to 2015.8, 2015.5 is now previous Assorted
353607           style and minor updates
353608
353609       · ISSUE  #25352:  (m03)  reg.absent  reporting incorrect results (refs:
353610         #27019)
353611
353612       · PR #27033: (jfindlay) Merge #27019 @ 2015-09-15 07:32:17 UTC
353613
353614         · PR #27019: (twangboy) Fixed reg state module for None,  0,  and  ''
353615           values (refs: #27033)
353616
353617         · 440855b182 Merge pull request #27033 from jfindlay/n0ne
353618
353619         · 3334b9d548 fix comment and unit test for reg state
353620
353621         · 391a09d5ac update reg state unit tests
353622
353623         · ebbf2b05ca Fixed reg state module for None, 0, and '' values
353624
353625       · ISSUE   #17088:   (umireon)   state.dockerio.run:  docked_onlyif  and
353626         docked_unless do not work (refs: #26942)
353627
353628       · PR #26942: (Arabus) Fix docker.run @ 2015-09-14 18:10:54 UTC
353629
353630         · 35fc74132a Merge pull request #26942 from Arabus/fix-docker.run
353631
353632         · e61e1de1f5 Fixes value typo for dockerio.loaded state
353633
353634         · 39fa11b696 further linting
353635
353636         · 4aec37397c Further Linting to quiet the linter
353637
353638         · 7eff8ad070 Code Linting and cmd call fix
353639
353640         · a51676e0eb Fixes  #17088 olyif and unless should run on the host
353641
353642         · d0c6128b8f Fixes #17088 retcode now returns True or False based  on
353643           return status
353644
353645         · 8b2e7cc4f5 Syntax clarification
353646
353647       · PR #26977: (abh) Add support for PEERNTP network interface configura‐
353648         tion @ 2015-09-14 17:59:00 UTC
353649
353650         · 59f2a0c7ae Merge pull request #26977 from abh/2015.5-ntppeer
353651
353652         · df3d6e817f Add support for PEERNTP network interface  configuration
353653           on RH derived systems
353654
353655       · ISSUE  #27021:  (SEJeff)  webutil.user_exists  state does not respect
353656         test=true (refs: #27023)
353657
353658       · ISSUE #21533: (aspyatkin) Add option specifying user to run  htpasswd
353659         module functions (refs: #21649)
353660
353661       · PR  #27023:  (jfindlay)  add  test  support  for htpasswd state mod @
353662         2015-09-14 17:48:00 UTC
353663
353664         · PR #21649: (aspyatkin) Make enhancements to htpasswd modules (refs:
353665           #27023)
353666
353667         · e05b1f3951 Merge pull request #27023 from jfindlay/htwebutilpass
353668
353669         · 9f3d7890a6 add test support for htpasswd state mod
353670
353671       · PR  #27074: (twangboy) Replaced password with redacted when displayed
353672         @ 2015-09-14 16:27:26 UTC
353673
353674         · 9f999c0027  Merge  pull  request  #27074  from   twangboy/fix_pass‐
353675           word_2015.5
353676
353677         · fdd3537456 Replaced password with redacted when displayed
353678
353679       · PR  #27073:  (rallytime) Remove "use develop branch" warning from LXC
353680         tutorial @ 2015-09-11 23:51:06 UTC
353681
353682         · 46b44f85ed    Merge    pull    request    #27073    from     rally‐
353683           time/remove-lxc-warning
353684
353685         · 76c056d02b  Remove  "use  develop branch" warning from LXC tutorial
353686           now that 2015.5.0 has been released
353687
353688       · PR #27054:  (rallytime)  Back-port  #27029  to  2015.5  @  2015-09-11
353689         22:29:45 UTC
353690
353691         · PR  #27029:  (spudfkc)  Removed  check  for  no package name (refs:
353692           #27054)
353693
353694         · caab21d99c Merge pull request #27054 from rallytime/bp-27029
353695
353696         · 0be393be22 Removed check for no package name
353697
353698       · PR #27053:  (rallytime)  Back-port  #26992  to  2015.5  @  2015-09-11
353699         22:29:30 UTC
353700
353701         · PR  #26992:  (plastikos)  Summary requires full return information.
353702           (refs: #27053)
353703
353704         · 0227e1cb57 Merge pull request #27053 from rallytime/bp-26992
353705
353706         · 83798aff3c Do not use full return for documentation.
353707
353708         · d9d5bbaa68 Summary requires full return information.
353709
353710       · PR #27052:  (rallytime)  Back-port  #26930  to  2015.5  @  2015-09-11
353711         22:28:11 UTC
353712
353713         · PR  #26930:  (madprog)  aptpkg.mod_repo: Raise when key_url doesn't
353714           exist (refs: #27052)
353715
353716         · b72a0ef86d Merge pull request #27052 from rallytime/bp-26930
353717
353718         · d9787aa318 aptpkg.mod_repo: Raise when key_url doesn't exist
353719
353720       · PR #27049: (johanek) Run repoquery less @ 2015-09-11 22:26:12 UTC
353721
353722         · 8b554dd16f Merge pull request #27049 from johanek/repoquery-dedupe
353723
353724         · c113916a23 When running repoquery to check for  available  versions
353725           of packages, run once for all packages rather than once per package
353726
353727       · PR   #27070:   (stanislavb)  Deprecate  salt.utils.iam  in  Carbon  @
353728         2015-09-11 22:01:57 UTC
353729
353730         · PR #26561: (stanislavb) Leave salt.utils.s3  location  fallback  to
353731           salt.utils.aws (refs: #27070)
353732
353733         · PR #26446: (stanislavb) Fetch AWS region from EC2 instance metadata
353734           (refs: #26561)
353735
353736         · PR #26378: (stanislavb) Fix EC2 credentials from IAM roles for s3fs
353737           and s3 ext_pillar in 2015.5 (refs: #26446)
353738
353739         · cc2cbf9869 Merge pull request #27070 from stanislavb/2015.5
353740
353741         · 1e6e5ddc9c Deprecate salt.utils.iam in Carbon
353742
353743       · PR #27030: (jfindlay) Backport #26938 @ 2015-09-11 15:10:46 UTC
353744
353745         · PR #27004: (vtek21) Fix 'dict' object has no attribute split (refs:
353746           #27024, #27030)
353747
353748         · PR  #26938:  (derphilipp)  Fixes  win_path  module,  migrates  from
353749           reg.(set|get)_key to reg.(set|get)_value (refs: #27030)
353750
353751         · e23caa8ccf Merge pull request #27030 from jfindlay/winreg
353752
353753         · 120fbe78e0 remove trailing line in win_path exec module
353754
353755         · b36a7107b2 update win_path exec module unit tests
353756
353757         · a2dc6f2dd7  Fixes  win_path module, migrates from reg.(set|get)_key
353758           to reg.(set|get)_value
353759
353760       · ISSUE #25581: (b18) Salt 2015.5.2 -  Could  not  deserialize  msgpack
353761         message error. (refs: #27025)
353762
353763       · PR  #27025:  (cachedout) Better try and error handling for prep_jid @
353764         2015-09-11 07:40:10 UTC
353765
353766         · 843c28b435 Merge pull request #27025 from cachedout/issue_25581
353767
353768         · ecc09d9b93 Lint
353769
353770         · bfcaab9ef4 Better try and error handling for prep_jid
353771
353772       · PR #27035: (terminalmage) useradd.py: Use contextmanager  to  prevent
353773         leaked filehandles @ 2015-09-11 07:39:41 UTC
353774
353775         · b9baa0b39a Merge pull request #27035 from terminalmage/useradd-con‐
353776           textmanager
353777
353778         · e430e97f6c Update user states to reflect  changes  to  login  class
353779           handling
353780
353781         · f24b979c7c  useradd.py:  Use contextmanager to prevent leaked file‐
353782           handles
353783
353784       · PR #27034: (rallytime) Update softlayer docs for where to find apikey
353785         @ 2015-09-10 22:29:56 UTC
353786
353787         · 1cdfdf7a92   Merge   pull   request   #27034  from  rallytime/soft‐
353788           layer-doc-fix
353789
353790         · cb641f8145 Update softlayer docs for where to find apikey
353791
353792       · PR #27024:  (rallytime)  Back-port  #27004  to  2015.5  @  2015-09-10
353793         21:14:21 UTC
353794
353795         · PR #27004: (vtek21) Fix 'dict' object has no attribute split (refs:
353796           #27024, #27030)
353797
353798         · 9e06d3f01a Merge pull request #27024 from rallytime/bp-27004
353799
353800         · 54d6fcf4c7 Fix 'dict' object has no attribute split
353801
353802         · bb29d73c71 Fix 'dict' object has no attribute split
353803
353804         · 5f1a9c46aa Fix 'dict' object has no attribute split
353805
353806         · 2bfdd9724e Fix 'dict' object has no attribute split
353807
353808       · PR #27027:  (rallytime)  Back-port  #27013  to  2015.5  @  2015-09-10
353809         21:13:52 UTC
353810
353811         · PR #27013: (nmadhok) Remove unwanted debug statement (refs: #27027)
353812
353813         · 9ab2cae1e4 Merge pull request #27027 from rallytime/bp-27013
353814
353815         · 19a6e9cb1c Remove unwanted debug statement.
353816
353817       · PR  #27026:  (rallytime)  Back-port  #27011  to  2015.5  @ 2015-09-10
353818         21:13:45 UTC
353819
353820         · PR #27011: (whiteinge) Move giant eventlisten.sh example out of the
353821           state.event docstring (refs: #27026)
353822
353823         · 2c8beb238f Merge pull request #27026 from rallytime/bp-27011
353824
353825         · f8518d545f Move giant eventlisten.sh example out of the state.event
353826           docstring
353827
353828       · ISSUE #20522: (eliasp) modules.win_pkg.install() blindly trusts file‐
353829         client.get_url()/unhandled exceptions (refs: #26972)
353830
353831       · PR   #26972:  (twangboy)  Catch  the  404  error  from  fileclient  @
353832         2015-09-10 20:53:12 UTC
353833
353834         · e8cdcc62f7 Merge pull request #26972 from twangboy/fix_20522
353835
353836         · 0110786fa9 Catch the 404 error from fileclient
353837
353838       · PR #26951: (terminalmage) Fix timezone module for CentOS @ 2015-09-10
353839         20:46:07 UTC
353840
353841         · fbc95f4685 Merge pull request #26951 from terminalmage/fix-timezone
353842
353843         · 30a4915762 Update tests to reflect changes to timezone module
353844
353845         · b6f926919f Fix timezone module for CentOS
353846
353847       · PR  #26875:  (marccardinal)  LXC  gateway provisioned only when IP is
353848         provided @ 2015-09-10 19:31:32 UTC
353849
353850         · f2ad3c333c Merge pull request #26875 from marccardinal/patch-2
353851
353852         · 36d5a62262 LXC gateway provisioned only when IP is provided
353853
353854       · ISSUE #26730: (styro) __opts__['user'] on  Windows  minion  incorrect
353855         (eg  for  file.symlink)  (refs:  #26997, #`saltstack/salt`#26899`_`_,
353856         #26899)
353857
353858       · PR #26997: (twangboy) Fixed symlinks  for  windows  (don't  use  user
353859         root) @ 2015-09-10 18:54:50 UTC
353860
353861         · PR  #26899: (twangboy) file.symlink gets windows account instead of
353862           root (refs: #26997)
353863
353864         · 7b2e7b1b37 Merge pull request #26997 from twangboy/fix_symlink_win‐
353865           dows
353866
353867         · 89cc02d4e0 Added versionadded
353868
353869         · 835177b0c8 Fixed symlinks for windows (don't use user root)
353870
353871       · PR  #27001: (twangboy) Added CLI Example for reg.delete_key_recursive
353872         @ 2015-09-10 17:19:43 UTC
353873
353874         · 5389a85894 Merge pull request #27001 from twangboy/fix_reg_docs
353875
353876         · 2980bbda17 Minor clarification
353877
353878         · 4684b2ddd1 Added CLI example for reg.delete_key_recursive
353879
353880       · PR #26996: (jacobhammons) Beacon doc updates  @  2015-09-10  16:47:49
353881         UTC
353882
353883         · 37814f5dff Merge pull request #26996 from jacobhammons/beacon-doc
353884
353885         · e475ea688e Fixed typo
353886
353887         · 2401533d9e New content added to beacon docs.
353888
353889       · ISSUE #26867: (joejulian) lvm pv's can show as not belonging to their
353890         vg if symlink is used (refs: #26868)
353891
353892       · PR #26868: (joejulian) Use  the  actual  device  name  when  checking
353893         vgdisplay @ 2015-09-10 16:08:16 UTC
353894
353895         · 4ba7eed711     Merge    pull    request    #26868    from    joeju‐
353896           lian/2015.5_lvm_vg_symlink_fix
353897
353898         · 3dfb33849a Use the actual device name when checking vgdisplay
353899
353900       · PR #26955: (dsumsky) S3 ext_pillar module has broken  caching  mecha‐
353901         nism (backport to 2015.5) @ 2015-09-10 14:54:01 UTC
353902
353903         · 1537e945be  Merge  pull  request #26955 from dsumsky/s3-pillar-mod‐
353904           ule-cache-fix-2015.5
353905
353906         · 8219acffe7 - fixed pylint warnings
353907
353908         · a3b10e8ab1   -  fixed  broken  caching  in  S3  ext_pillar   module
353909           (file_md5 was a list)  - added debugging messages  - static parame‐
353910           ters are available as module parameters now
353911
353912       · PR #26987:  (rallytime)  Back-port  #26966  to  2015.5  @  2015-09-09
353913         18:42:51 UTC
353914
353915         · PR #26966: (TheBigBear) URL has changed (refs: #26987)
353916
353917         · 3e902e86b1 Merge pull request #26987 from rallytime/bp-26966
353918
353919         · 6a29eac003 URL has changed
353920
353921       · PR  #26915:  (rallytime)  Update  Joyent  Cloud  Tests  @  2015-09-09
353922         15:04:50 UTC
353923
353924         · eddb532713 Merge pull request #26915 from rallytime/joyent-tests
353925
353926         · d4ad42d697 Update Joyent Cloud Tests
353927
353928       · PR #26971: (rallytime) Fix a  couple  of  typos  in  reactor  docs  @
353929         2015-09-09 15:03:54 UTC
353930
353931         · f86814b2a4 Merge pull request #26971 from rallytime/reactor-doc-fix
353932
353933         · 0214daad19 Fix a couple of typos in reactor docs
353934
353935       · ISSUE  #26730:  (styro)  __opts__['user'] on Windows minion incorrect
353936         (eg for  file.symlink)  (refs:  #26997,  #`saltstack/salt`#26899`_`_,
353937         #26899)
353938
353939         · PR   saltstack/salt#26899:  (twangboy)  file.symlink  gets  windows
353940           account instead of root (refs: #26976)
353941
353942       · PR #26976:  (thatch45)  Revert  "file.symlink  gets  windows  account
353943         instead of root" @ 2015-09-08 22:44:19 UTC
353944
353945         · 57b1080f94     Merge     pull    request    #26976    from    salt‐
353946           stack/revert-26899-fix_26730
353947
353948         · 6dd54e6bec Revert "file.symlink gets  windows  account  instead  of
353949           root"
353950
353951       · PR  #26975:  (whiteinge)  Remove mocks from rest_cherrypy integration
353952         tests; fix groups check bug @ 2015-09-08 22:34:08 UTC
353953
353954         · 67be01f5fe Merge  pull  request  #26975  from  whiteinge/rest_cher‐
353955           rypy-integration
353956
353957         · 9a0989585b Add additional 'groups' check to rest_cherrypy if groups
353958           are not used
353959
353960         · d68aefcfde Remove mocks from rest_cherrypy integration tests
353961
353962         · 2aa3da8911 Rename the rest_cherrypy tests to conform to our conven‐
353963           tion
353964
353965       · ISSUE  #26730:  (styro)  __opts__['user'] on Windows minion incorrect
353966         (eg for  file.symlink)  (refs:  #26997,  #`saltstack/salt`#26899`_`_,
353967         #26899)
353968
353969       · PR  #26899:  (twangboy)  file.symlink gets windows account instead of
353970         root (refs: #26997) @ 2015-09-08 21:14:30 UTC
353971
353972         · 20a48f7f2e Merge pull request #26899 from twangboy/fix_26730
353973
353974         · 9d9b3bb47a file.symlink gets windows account instead of root
353975
353976       · PR #26960: (rallytime) Fix bash code  block  formatting  in  CherryPy
353977         netapi docs @ 2015-09-08 18:14:11 UTC
353978
353979         · dbc6b862f4 Merge pull request #26960 from rallytime/cherrypy-docs
353980
353981         · c1420711db Fix bash code block formatting
353982
353983       · PR  #26940: (rallytime) Fix minor doc typo in client api @ 2015-09-08
353984         04:15:00 UTC
353985
353986         · f733e048c9 Merge pull request #26940 from rallytime/api-doc-fix
353987
353988         · 00fe6a225c Fix minor doc typo in client api
353989
353990       · ISSUE #26850: (jfindlay) salt-ssh error on 2015.8 (refs: #26852)
353991
353992       · PR #26871:  (rallytime)  Back-port  #26852  to  2015.5  @  2015-09-08
353993         03:43:08 UTC
353994
353995         · PR  #26852: (basepi) [2015.8] Only reference msgpack if it imported
353996           successfully (refs: #26871)
353997
353998         · de9350466e Merge pull request #26871 from rallytime/bp-26852
353999
354000         · 5a4c8dd2f5 Only reference msgpack if it imported successfully
354001
354002       · ISSUE #26644: (gravyboat) pkgrepo should note that for  ubuntu/debian
354003         all options should not be used (refs: #26800, #26851)
354004
354005       · ISSUE  #26638:  (WackyOne)  Suse install documentation (refs: #26800,
354006         #26851)
354007
354008       · PR #26851: (jacobhammons) states/pkgrepo examples, suse  installation
354009         updates @ 2015-09-02 18:29:09 UTC
354010
354011         · a563af29d3 Merge pull request #26851 from jacobhammons/doc-bugs
354012
354013         · ac3bd47440  states/pkgrepo examples, suse installation updates Refs
354014           #26644 Refs #26638
354015
354016       · ISSUE #26804: (lrhazi) gpasswd error on RHEL 5 (refs: #26817)
354017
354018       · PR #26817:  (jfindlay)  modify  groupadd  for  rhel  5  @  2015-09-02
354019         14:52:53 UTC
354020
354021         · 5b1b934192 Merge pull request #26817 from jfindlay/grouparg
354022
354023         · 82d33939f3 modify groupadd for rhel 5
354024
354025       · ISSUE  #22724:  (ty2u)  digital_ocean_v2.py  doesn't restore snapshot
354026         (refs: #26824)
354027
354028       · PR #26824: (systembell) [salt-cloud] Fix creating droplet from  snap‐
354029         shot in digital_ocean provider @ 2015-09-02 05:18:37 UTC
354030
354031         · cdc0ea2fe3  Merge  pull request #26824 from pravka/fix-droplet-cre‐
354032           ation-from-snapshot-in-dov2
354033
354034         · 00e3192536 removing log
354035
354036         · e4a82d78d9 removing stringification of every  value  in  the  image
354037           dict
354038
354039         · cdc2b4584a fixing condition for slug check
354040
354041       · ISSUE  #26805:  (joejulian)  cur_param  referenced  before assignment
354042         (refs: #26823, #26820)
354043
354044       · PR #26823: (joejulian) use dbus instead  of  localectl  @  2015-09-02
354045         00:25:25 UTC
354046
354047         · 4af6951a4c Merge pull request #26823 from joejulian/ctlfix
354048
354049         · a9928cb143 pep8 fixes
354050
354051         · 6108ec4280 Gated dbus for os families that use it
354052
354053         · e154c7b16f remove trailing spaces
354054
354055         · c1c1266cc3 fix indent change
354056
354057         · 0a35320aa7 Use dbus directly
354058
354059       · ISSUE  #26805:  (joejulian)  cur_param  referenced  before assignment
354060         (refs: #26823, #26820)
354061
354062       · PR #26820: (jfindlay) add default param in _parse_localectl in locale
354063         mod @ 2015-09-01 22:02:17 UTC
354064
354065         · a1749b76b8 Merge pull request #26820 from jfindlay/ctlfix
354066
354067         · 3a2c0d5fbb add default param in _parse_localectl in locale mod
354068
354069       · ISSUE  #26788:  (ssgward)  Windows minion user.rename gives exception
354070         (refs: #26821)
354071
354072       · PR  #26821:  (twangboy)  Fixed  user.rename  function  in  windows  @
354073         2015-09-01 22:01:50 UTC
354074
354075         · ff733547c4 Merge pull request #26821 from twangboy/fix_26788
354076
354077         · cf979e4877 Fixed user.rename function in windows
354078
354079       · ISSUE  #26754: (jefftucker) MySQLdb-python package should be included
354080         with windows minion installer (refs: #26803)
354081
354082       · PR #26803: (twangboy) Added check for PyMySQL if MySQLdb import fails
354083         @ 2015-09-01 21:44:41 UTC
354084
354085         · c892be3255 Merge pull request #26803 from twangboy/fix_26754
354086
354087         · 23576c65eb Added check for PyMySQL if MySQLdb import fails
354088
354089       · ISSUE  #26798:  (jfindlay)  stack  trace  from  linode  driver (refs:
354090         #26815)
354091
354092       · PR #26815: (jfindlay)  stringify  linode  id  before  performing  str
354093         actions @ 2015-09-01 17:56:29 UTC
354094
354095         · 6edfa36083 Merge pull request #26815 from jfindlay/linstr
354096
354097         · 2ff5823944 stringify linode id before performing str actions
354098
354099       · ISSUE  #26644: (gravyboat) pkgrepo should note that for ubuntu/debian
354100         all options should not be used (refs: #26800, #26851)
354101
354102       · ISSUE #26638: (WackyOne) Suse install  documentation  (refs:  #26800,
354103         #26851)
354104
354105       · ISSUE  #26192:  (jefftucker)  Logging  documentation  does  not exist
354106         (refs: #26800)
354107
354108       · ISSUE #26108: (ahammond) documentation around scheduling and  orches‐
354109         tration is unclear (refs: #26800)
354110
354111       · ISSUE  #24510:  (ahammond)  lack  of documentation around Denied Keys
354112         (refs: #26800)
354113
354114       · PR #26800: (jacobhammons) Doc bug fixes @ 2015-09-01 05:40:09 UTC
354115
354116         · 135a8a64af Merge pull request #26800 from jacobhammons/doc-fixes
354117
354118         · 5cca52a3c1 Fixed windows installer paths Refs #25567
354119
354120         · 0ec036350d Updates to salt-ssh and salt-key #24510
354121
354122         · 992edc3bb8 Doc bug fixes Refs #26192 Refs #26638 Refs  #26644  Refs
354123           #26108
354124
354125       · ISSUE  #24021:  (arthurlogilab) [salt-cloud saltify]  AttributeError:
354126         'str' object has no attribute 'setdefault' (refs: #26793)
354127
354128       · PR #26793: (rallytime) Don't stacktrace if "name" is specified  as  a
354129         minion id in a map file @ 2015-08-31 19:24:25 UTC
354130
354131         · da161b9516 Merge pull request #26793 from rallytime/fix-name-stack‐
354132           trace
354133
354134         · 8601e4b341 Don't stacktrace if "name" is specified as a  minion  id
354135           in a map file
354136
354137       · ISSUE  #24020: (arthurlogilab) [salt-cloud saltify] cannot use --pro‐
354138         file saltify machine{1..3} without a map (refs: #26790)
354139
354140       · PR #26790: (rallytime) Update Saltify docs to be  more  accurate  and
354141         helpful @ 2015-08-31 18:17:31 UTC
354142
354143         · 7c8d0a09f6 Merge pull request #26790 from rallytime/saltify_docs
354144
354145         · d53754f2b7 Update Saltify docs to be more accurate and helpful
354146
354147       · ISSUE  #26773:  (styro)  salt-call  minor  breakage on Windows (refs:
354148         #26775)
354149
354150       · PR #26787: (jfindlay) merge #26775 @ 2015-08-31 17:52:45 UTC
354151
354152         · PR #26775: (styro) Fix some leftover non portable exitcodes. (refs:
354153           #26787)
354154
354155         · 70d0268c83 Merge pull request #26787 from jfindlay/imp
354156
354157         · e5bbf59ec7 disable import lint in run.py
354158
354159         · 8aef725243 Restore blank lines again.
354160
354161         · 1710070f61 Restore blank line.
354162
354163         · 59d61a8dea os module no longer required.
354164
354165         · f1b8d0d509 Add missing imports.
354166
354167         · 7bd8809e23 Fix some non portable exitcodes. Fixes #26773
354168
354169       · PR  #26759:  (terminalmage)  Backport  PR  #26726  to 2015.5 branch @
354170         2015-08-31 14:39:20 UTC
354171
354172         · PR #26726: (terminalmage) Redact HTTPS Basic Auth  in  states/funcs
354173           which deal with git remotes (refs: #26759)
354174
354175         · 645998dbd3 Merge pull request #26759 from terminalmage/bp-26726
354176
354177         · d7f7fca7e5   More   cleanup   from   moving   auth   redaction   to
354178           salt.utils.url
354179
354180         · 07db5a7038 fix redaction
354181
354182         · 399871e6dd Add auth redaction flags to git exec module and use them
354183           in git state
354184
354185         · 776dc38d73 check for ValueError when adding http basic auth
354186
354187         · d2eb1f4340 Rename arguments in salt.utils.url.add_http_basic_auth
354188
354189         · b45f37a467 Add http basic auth tests
354190
354191         · 1ed42ea4fd  Remove  git  unit  tests, moving them to salt.utils.url
354192           tests
354193
354194         · 96a55cdb59 Remove unused imports
354195
354196         · 1f25a859bd Redact HTTPS Basic Auth data from remote  URLs  in  com‐
354197           ments and changes dict
354198
354199         · eafeb6c7bf Automatically redact HTTPS basic auth
354200
354201         · 6be3f8f9e1  Add support for callbacks to influence what information
354202           about commands is logged
354203
354204         · c36f240a87 Add HTTPS Basic Auth funcs to salt.utils.url
354205
354206       · ISSUE #26628: (MadsRC) state.ipset tries to parse wrong  data  (refs:
354207         #26768)
354208
354209       · PR  #26768:  (garethgreenaway)  Fixes to ipset in 2015.5 for #26628 @
354210         2015-08-29 03:24:07 UTC
354211
354212         · 46a4bbd0e7   Merge   pull   request   #26768   from    garethgreen‐
354213           away/26628_2015_5_ipset_fixes
354214
354215         · f0c6090c7e  Fixing issue when information returned from ipset isn't
354216           in the format we expect and it causes an exception.
354217
354218       · ISSUE  #26732:  (saltstack-bot)  SmartOS  pkgsrc  dependency   (refs:
354219         #26753)
354220
354221       · PR  #26753: (jfindlay) import elementree from _compat in ilo exec mod
354222         @ 2015-08-28 20:56:45 UTC
354223
354224         · 7a58878ea8 Merge pull request #26753 from jfindlay/iloet
354225
354226         · 211a02754f import elementree from _compat in ilo exec mod
354227
354228       · ISSUE #21256: (dhs-rec) win.exe package for RH 6 (refs: #26736)
354229
354230       · PR #26736: (twangboy) Changed import from  smbconnection  to  smb3  @
354231         2015-08-28 17:23:42 UTC
354232
354233         · 22dbce8d61 Merge pull request #26736 from twangboy/fix_21256
354234
354235         · 86f425c669 Changed import from smbconnection to smb3
354236
354237       · ISSUE  #26705:  (Galser) Salt-Master 2015.5.5-1 on Scientific Linux 6
354238         fails loading some primitive pillars from YAML (refs: #26714)
354239
354240       · PR #26714: (jfindlay) add exception placeholder for older msgpacks  @
354241         2015-08-28 16:02:35 UTC
354242
354243         · 16d4e0350d Merge pull request #26714 from jfindlay/pack_except
354244
354245         · ebcfaf9050 add exception placeholder for older msgpacks
354246
354247       · PR  #26710:  (rallytime) Update GCE driver to return True, False or a
354248         new name in __virtual__() @ 2015-08-27 20:08:17 UTC
354249
354250         · 47faa8cc16  Merge  pull  request  #26710  from   rallytime/gce_vir‐
354251           tual_return
354252
354253         · e6b74879d7 Remove unused import
354254
354255         · 78e31585cf Update GCE driver to return True, False or a new name in
354256           __virtual__()
354257
354258       · ISSUE #14612: (cachedout) Catch provider errors in salt cloud  (refs:
354259         #26709)
354260
354261       · PR  #26709: (rallytime) Ensure VM name is valid before trying to cre‐
354262         ate Linode VM @ 2015-08-27 20:07:49 UTC
354263
354264         · cf487cf0f5 Merge pull request #26709 from rallytime/fix-14612
354265
354266         · bc21094ea0 versionadded and more efficient checks
354267
354268         · a3ac8e7008 Whitespace fix
354269
354270         · 9a4228d906 Added unit tests for  new  _validate_name  function  and
354271           adjusted regex
354272
354273         · 388815112c  Ensure  VM name is valid before trying to create Linode
354274           VM
354275
354276       · ISSUE #9592: (otrempe) pip module fails on Windows because of quoting
354277         (refs: #26617)
354278
354279       · PR  #26617:  (terminalmage) Fix Windows failures in pip module due to
354280         raw string formatting @ 2015-08-27 19:24:53 UTC
354281
354282         · c3a6280f8c Merge pull request #26617 from terminalmage/issue9592
354283
354284         · 96c3df1ed5 Don't accept non-list input for pkgs arg
354285
354286         · 419221535b Lint fix
354287
354288         · ede057eebc Fix tests to reflect args being passed as lists  instead
354289           of strings
354290
354291         · 03250dbd9f Pass command to cmd.run_all as list instead of joining
354292
354293         · 1c90cdb07e salt/modules/pip.py: Remove raw string format flags
354294
354295         · cd35df5ff8 Catch TypeErrors in timed_subprocess
354296
354297       · PR  #26700:  (kev009)  Ignore  the first element of kern.disks split,
354298         which is the sysctl name @ 2015-08-27 17:48:02 UTC
354299
354300         · 24a4f54f39      Merge      pull      request      #26700       from
354301           kev009/fbsd-disks-fix-2015.5
354302
354303         · 3ac97f9de4  Ignore  the first element of kern.disks split, which is
354304           the sysctl name
354305
354306       · PR #26695: (terminalmage)  Better  HTTPS  basic  auth  redaction  for
354307         2015.5 branch @ 2015-08-27 15:10:38 UTC
354308
354309         · 58945131b5   Merge   pull  request  #26695  from  terminalmage/bet‐
354310           ter-https-auth-redaction-2015.5
354311
354312         · 752d260209 Use versioninfo tuple for comparison
354313
354314         · b1d253483e Better HTTPS basic auth redaction for 2015.5 branch
354315
354316       · PR #26694: (terminalmage) Backport  #26693  to  2015.5  @  2015-08-27
354317         08:16:30 UTC
354318
354319         · PR #26693: (serge-p) Update openbsdpkg.py (refs: #26694)
354320
354321         · 4040a312f9 Merge pull request #26694 from terminalmage/bp-26693
354322
354323         · 4aec926476 Update openbsdpkg.py
354324
354325       · PR  #26681:  (basepi)  [2015.5] Merge forward from 2014.7 to 2015.5 @
354326         2015-08-26 22:03:07 UTC
354327
354328         · 0b17f80fe9  Merge  pull  request  #26681   from   basepi/merge-for‐
354329           ward-2015.5
354330
354331         · 64cad371f0 Remove overmocked test
354332
354333         · 40718af1d5  Merge  remote-tracking  branch  'upstream/2014.7'  into
354334           merge-forward-2015.5
354335
354336         · c2c7fe06c8 Merge pull request #26667 from nmadhok/doc-fix-2014.7
354337
354338           · 26be189689 Doc fix. Fixes #26656
354339
354340         · 6bd3dccae8 Merge pull request #26663 from  jacobhammons/2014.7-ver‐
354341           sion
354342
354343           · b6af538070 version change for latest branch
354344
354345         · 071a6112e5     Merge    pull    request    #26636    from    rally‐
354346           time/cloud-test-fixes
354347
354348           · c0d83d558d Don't use id as variable
354349
354350           · 2b4bc1679d Keep ec2 instance creation test the same  -  it  works
354351             better for the ec2 output
354352
354353           · b5b58eb31f  Skip  digital  ocean  tests since we can't use API v1
354354             with v2 tests
354355
354356           · 9ae1539c62 Update cloud tests to be more efficient and accurate
354357
354358         · 304542b4c6 Merge pull request #26640 from efficks/fixws2014
354359
354360           · ebe5d9d85c Fix function spacing
354361
354362       · PR #26676:  (rallytime)  Back-port  #26648  to  2015.5  @  2015-08-26
354363         19:46:01 UTC
354364
354365         · PR  #26648:  (whiteinge)  Free  'fun'  from  the function signature
354366           namespace (refs: #26676)
354367
354368         · 75675a6ba9 Merge pull request #26676 from rallytime/bp-26648
354369
354370         · 1af42eed36 Free 'fun' from the function signature namespace
354371
354372       · PR #26677:  (rallytime)  Back-port  #26653  to  2015.5  @  2015-08-26
354373         19:45:54 UTC
354374
354375         · PR  #26653:  (dmyerscough)  You  can  provide  a  X-Auth-Token when
354376           requesting jobs (refs: #26677)
354377
354378         · d7f682cb5b Merge pull request #26677 from rallytime/bp-26653
354379
354380         · 497ca96039 You can provide a X-Auth-Token when requesting jobs
354381
354382       · PR #26675:  (rallytime)  Back-port  #26631  to  2015.5  @  2015-08-26
354383         19:44:59 UTC
354384
354385         · PR  #26631:  (PierreR)  Fix  get_load  in  postgres returner (refs:
354386           #26675)
354387
354388         · 960dbba7ed Merge pull request #26675 from rallytime/bp-26631
354389
354390         · 20eecdc7be Fix get_load
354391
354392       · PR  #26655:  (damonzheng)  Update  win_dns_client.py   @   2015-08-26
354393         16:05:26 UTC
354394
354395         · db30926ac9 Merge pull request #26655 from cheng0919/2015.5
354396
354397         · fdebc01def Update win_dns_client.py
354398
354399         · 1d23d5e797 Update win_dns_client.py
354400
354401         · 1a45db0fb7 Update win_dns_client.py
354402
354403       · PR  #26662:  (jacobhammons)  update  version  to  2015.5 @ 2015-08-26
354404         13:45:44 UTC
354405
354406         · a04d243471 Merge pull request #26662 from jacobhammons/version
354407
354408         · 4e5766fdde update version to 2015.5
354409
354410       · PR  #26651:  (jfindlay)  add  2015.5.4  notes  to  2015.5.5  notes  @
354411         2015-08-26 00:25:28 UTC
354412
354413         · 8a9a076ad4 Merge pull request #26651 from jfindlay/2015.5
354414
354415         · dc5cee5f8f add 2015.5.4 notes to 2015.5.5 notes
354416
354417       · ISSUE  #26497: (JensRantil) Feature request: Make salt.states.managed
354418         support local file source (refs: #26525)
354419
354420       · PR #26525: (jfindlay) document check_file_meta  args,  remove  unused
354421         arg @ 2015-08-25 21:43:46 UTC
354422
354423         · 5bdefdc234 Merge pull request #26525 from jfindlay/sum
354424
354425         · 0297d49aa0 remove unused check_file_meta arg
354426
354427         · 6a3cb1c0aa document args to file.check_file_meta exec fcn
354428
354429       · PR  #26561:  (stanislavb)  Leave  salt.utils.s3  location fallback to
354430         salt.utils.aws (refs: #27070) @ 2015-08-25 21:40:30 UTC
354431
354432         · PR #26446: (stanislavb) Fetch AWS region from EC2 instance metadata
354433           (refs: #26561)
354434
354435         · PR #26378: (stanislavb) Fix EC2 credentials from IAM roles for s3fs
354436           and s3 ext_pillar in 2015.5 (refs: #26446)
354437
354438         · 84e96458b3 Merge pull request #26561 from stanislavb/2015.5
354439
354440         · 50332895a1 Leave salt.utils.s3 location fallback to salt.utils.aws
354441
354442       · ISSUE #22550: (amendlik) Error deleting  SSH  keys  using  salt-cloud
354443         --destroy (refs: #26573)
354444
354445       · PR  #26573:  (rallytime)  Don't  stacktrace  if using private_ips and
354446         delete_sshkeys together @ 2015-08-25 20:00:23 UTC
354447
354448         · 1d729734cc    Merge    pull    request    #26573    from     rally‐
354449           time/destroy_ssh_keys_private_ips
354450
354451         · 4267509c25 Don't stacktrace if using private_ips and delete_sshkeys
354452
354453       · ISSUE  #20169:  (flavianh)  [salt-cloud]  Add a meaningful error when
354454         /etc/salt/cloud is missing the master's address (refs: #26563)
354455
354456       · PR #26563: (rallytime) Fix error detection when salt-cloud config  is
354457         missing a master's address @ 2015-08-25 20:00:11 UTC
354458
354459         · 000e5a2acf Merge pull request #26563 from rallytime/fix-20169
354460
354461         · 65b285d02d  Only  warn  if  master IP is unset - must be compatible
354462           with masterless minions
354463
354464         · a4c87fcf57 Simplify logic
354465
354466         · 593ead08cf Fix error detection when salt-cloud config is missing  a
354467           master's address
354468
354469       · PR  #26641:  (basepi)  [2015.5] Merge forward from 2014.7 to 2015.5 @
354470         2015-08-25 18:17:46 UTC
354471
354472         · 19c7a6d575  Merge  pull  request  #26641   from   basepi/merge-for‐
354473           ward-2015.5
354474
354475         · a5dafa436c Already fixed on 2015.5
354476
354477         · 71c0898fb5  Merge  remote-tracking  branch  'upstream/2014.7'  into
354478           merge-forward-2015.5
354479
354480         · 4532f98a76      Merge      pull      request      #26515       from
354481           bersace/salt-env-local-sls
354482
354483         · 0727af9e3d Defaults to current saltenv in state.sls
354484
354485       · PR  #26620:  (rallytime) Also add -Z to script args for cloud tests @
354486         2015-08-24 22:03:24 UTC
354487
354488         · 2927859c8a    Merge    pull    request    #26620    from     rally‐
354489           time/more_script_args
354490
354491         · 9ae27193d8 Also add -Z to script args for cloud tests
354492
354493       · PR  #26618:  (rallytime)  Add script_args: '-P' to Ubuntu 14 profiles
354494         for nightly cloud tests @ 2015-08-24 21:15:24 UTC
354495
354496         · ed166ebd4f    Merge    pull    request    #26618    from     rally‐
354497           time/pip-undate-cloud-tests
354498
354499         · 5a2c8825ba Extra lines
354500
354501         · d28672b69e  Add script_args: '-P' to Ubuntu 14 profiles for nightly
354502           cloud tests
354503
354504       · PR #26612: (rallytime) Use an  available  image  to  test  against  @
354505         2015-08-24 19:09:18 UTC
354506
354507         · 6d3927bed5     Merge    pull    request    #26612    from    rally‐
354508           time/fix-do-list-images-test
354509
354510         · 1401255287 Use an available image to test against
354511
354512       · ISSUE #15590: (jtratner) salt-cloud gce configuration check incorrect
354513         (refs: #26576)
354514
354515       · PR  #26576:  (rallytime)  Ensure GCE and EC2 configuration checks are
354516         correct @ 2015-08-23 18:59:46 UTC
354517
354518         · 991bbf63fe Merge pull request #26576 from rallytime/fix-14604
354519
354520         · ac67a1d238 Ensure GCE configuration check is correct
354521
354522         · 421f1fde1e Ensure EC2 configuration check is correct
354523
354524       · ISSUE #12225: (arthurlogilab) [salt-cloud]  Attribution  of  floating
354525         IPs works partially in parallel mode  (refs: #26580)
354526
354527       · PR  #26580:  (rallytime) Avoid race condition when assigning floating
354528         IPs to new VMs @ 2015-08-23 18:58:48 UTC
354529
354530         · 746c0008a9 Merge pull request #26580 from rallytime/fix-12225
354531
354532         · e3f7db17cc Avoid race condition when assigning floating IPs to  new
354533           VMs
354534
354535         · afda31be74 Create _assign_floating_ips function for DRY
354536
354537       · PR  #26581: (terminalmage) Skip tests that don't work with older mock
354538         @ 2015-08-22 23:06:27 UTC
354539
354540         · 965a4ba7cf Merge pull request #26581 from terminalmage/fix-tests
354541
354542         · 49d8bd1dbe Remove unused import
354543
354544         · 81a0d4c915 Skip tests that don't work with older mock
354545
354546       · ISSUE #25478: (zyio) salt-ssh - Unable to locate current thin version
354547         (refs: #25862)
354548
354549       · ISSUE  #25026:  (sylvia-wang)  salt-ssh "Failure deploying thin" when
354550         using salt module functions (refs: #25862)
354551
354552       · PR #26591:  (rallytime)  Back-port  #26554  to  2015.5  @  2015-08-22
354553         21:19:02 UTC
354554
354555         · PR  #26554:  (tjstansell)  /bin/sh  is more portable than /bin/bash
354556           (refs: #26591)
354557
354558         · PR #25862: (zyio) Adding SCP_NOT_FOUND exit code (refs: #26554)
354559
354560         · 19992c1450 Merge pull request #26591 from rallytime/bp-26554
354561
354562         · 6f8bed88cb /bin/sh is more portable than /bin/bash
354563
354564       · PR #26565: (cachedout) Fix many errors with __virtual__  in  tests  @
354565         2015-08-21 21:37:54 UTC
354566
354567         · 2cd36c7ed4   Merge  pull  request  #26565  from  cachedout/fix_vir‐
354568           tual_warnings
354569
354570         · 41541e4e2b Fix many errors with __virtual__ in tests
354571
354572       · ISSUE #19249: (ahetmanski) Cannot create cache_dir salt master excep‐
354573         tion. (refs: #26548)
354574
354575       · PR  #26553:  (rallytime)  Back-port  #26548  to  2015.5  @ 2015-08-21
354576         17:40:21 UTC
354577
354578         · PR #26548: (vakulich) Catch OSError during cache  directories  cre‐
354579           ation, fixes #19249 (refs: #26553)
354580
354581         · 5a32664efd Merge pull request #26553 from rallytime/bp-26548
354582
354583         · ec2b2c3e40  Catch  OSError during cache directories creation, fixes
354584           #19249
354585
354586       · PR #26552:  (rallytime)  Back-port  #26542  to  2015.5  @  2015-08-21
354587         17:40:11 UTC
354588
354589         · PR  #26542:  (arthurlogilab)  [doc]  reactor  documentation  fix  :
354590           returners (refs: #26552)
354591
354592         · 7e67e48656 Merge pull request #26552 from rallytime/bp-26542
354593
354594         · 0976b1e23b [doc] reactor documentation fix : returners
354595
354596       · PR #26551:  (rallytime)  Back-port  #26539  to  2015.5  @  2015-08-21
354597         17:39:22 UTC
354598
354599         · PR #26539: (carlpett) Doc-fix: Escape backslash in domain\\username
354600           (refs: #26551)
354601
354602         · bcd462545d Merge pull request #26551 from rallytime/bp-26539
354603
354604         · 94ff4cff40 Doc-fix: Escape backslash in domainusername
354605
354606       · PR #26549:  (rallytime)  Back-port  #26524  to  2015.5  @  2015-08-21
354607         17:38:50 UTC
354608
354609         · PR #26524: (JensRantil) Gracefully handle package comparison not in
354610           (-1, 0, 1) (refs: #26549)
354611
354612         · PR #25369: (anlutro) Fix aptpkg.version_cmp (refs: #26524)
354613
354614         · 4dbf61c5af Merge pull request #26549 from rallytime/bp-26524
354615
354616         · 4763f28725 logging(cmp_version): output assertion
354617
354618         · 673b6c683d utils(version_cmp): handle comparison not in (0,1,-1)
354619
354620       · ISSUE #26502: (ryan-lane)  Adding  a  listener  with  None  as  ports
354621         doesn't result in an invocation error in boto_elb (refs: #26527)
354622
354623       · PR #26527: (jfindlay) check exists and values in boto_elb listeners @
354624         2015-08-21 15:27:52 UTC
354625
354626         · 1ac8287588 Merge pull request #26527 from jfindlay/elb
354627
354628         · 343e47f00c check exists and values in boto_elb listeners
354629
354630       · PR #26446: (stanislavb) Fetch AWS region from EC2  instance  metadata
354631         (refs: #26561) @ 2015-08-21 15:11:08 UTC
354632
354633         · PR #26378: (stanislavb) Fix EC2 credentials from IAM roles for s3fs
354634           and s3 ext_pillar in 2015.5 (refs: #26446)
354635
354636         · e4b2534aa8      Merge      pull      request      #26446       from
354637           stanislavb/2015.5-ec2-metadata-region
354638
354639         · 57943ff4f7 Fetch AWS region from EC2 instance metadata
354640
354641       · PR  #26546: (nmadhok) Do not raise KeyError when calling avail_images
354642         if VM/template is in disconnected state @ 2015-08-21 14:17:49 UTC
354643
354644         · d721b7b2be    Merge    pull    request    #26546     from     nmad‐
354645           hok/vmware-key-error-patch-2015.5
354646
354647         · 1dcf157256  Do  not  raise  KeyError  when  calling avail_images if
354648           VM/template is in disconnected state
354649
354650       · ISSUE #25360: (BretFisher) file.replace removes line  feed  if  using
354651         YAML's multiline string syntax (refs: #26481)
354652
354653       · PR #26537: (jfindlay) Merge #26481 @ 2015-08-21 05:37:24 UTC
354654
354655         · PR #26481: (TheBigBear) minor note: added (refs: #26537)
354656
354657         · 7da87fabf1 Merge pull request #26537 from jfindlay/note
354658
354659         · 662e723ae0 fixup note lint in file.replace state mod
354660
354661         · 332535f2e6 Update file.py
354662
354663         · 598500034f Update file.py
354664
354665         · ec7c7d738d minor note: added
354666
354667       · PR  #26528:  (zmalone)  Fixing  encrypt to instructions in the 2015.5
354668         branch @ 2015-08-20 21:49:06 UTC
354669
354670         · c6d8e34730 Merge pull request #26528 from zmalone/2015.5
354671
354672         · 39b111c465 Fixing encrypt to instructions  in  the  2015.5  branch,
354673           --homedir is not necessary here.
354674
354675   Salt 2015.5.7 Release Notes
354676       release
354677              2015-10-13
354678
354679       Version 2015.5.7 is a bugfix release for 2015.5.0.
354680
354681   Statistics
354682       · Total Merges: 103
354683
354684       · Total Issue References: 66
354685
354686       · Total PR References: 135
354687
354688       · Contributors:  46  (0xf10e,  JaseFace,  MasterNayru, MrCitron, Sacro,
354689         ajacoutot,  arthurlogilab,   basepi,   belvedere-trading,   beverlcl,
354690         blast-hardcheese,  blueyed,  bogdanr,  cachedout,  cbuechler, chrigl,
354691         dmyerscough, eguven, eliasp,  erchn,  eyj,  garethgreenaway,  gashev,
354692         gnubyexample,   gracinet,   gravyboat,   gwaters,   hedinfaok,  iggy,
354693         jacksontj, jacobhammons, jfindlay, lorengordon,  mbologna,  msciciel,
354694         nmadhok,  pass-by-value,  plastikos,  rallytime,  rominf,  s0undt3ch,
354695         silenius, sjmh, stephen144, terminalmage, twangboy)
354696
354697       IMPORTANT:
354698          A significant orchestrate issue (issue ##29110) was discovered  dur‐
354699          ing  the  release process of 2015.5.7, so it has not been officially
354700          released.  Please use 2015.5.8 instead.
354701
354702   Changelog for v2015.5.6..v2015.5.7
354703       Generated at: 2018-05-27 22:16:54 UTC
354704
354705       · PR  #28864:  (jfindlay)  add  2015.5.7  release  notes  @  2015-11-13
354706         17:15:00 UTC
354707
354708         · ec7fdc539b Merge pull request #28864 from jfindlay/2015.5
354709
354710         · 648b697951 add 2015.5.7 release notes
354711
354712       · ISSUE  #27392:  (ahammond)  schedule  running state.orchestrate fails
354713         (refs: #28731)
354714
354715       · PR #28731: (garethgreenaway)  Fixes  to  salt  scheduler  in  2015.5,
354716         ensuring   that  return_job  is  only  used  on  minion  scheduler  @
354717         2015-11-13 16:58:06 UTC
354718
354719         · bed45f4208   Merge   pull   request   #28731   from    garethgreen‐
354720           away/27392_2015_5_scheduler_return_job_master
354721
354722         · 771e9f7b6f  Fixing  the  salt scheduler so that it only attempts to
354723           return the job data to the master if the scheduled job  is  running
354724           from a minion's scheduler.
354725
354726       · PR  #28857:  (rallytime)  Back-port  #28851  to  2015.5  @ 2015-11-13
354727         13:56:53 UTC
354728
354729         · PR #28851: (rominf) [states/schedule] docstring:  args,  kwargs  ->
354730           job_args, job_kwargs (refs: #28857)
354731
354732         · 06f4932876 Merge pull request #28857 from rallytime/bp-28851
354733
354734         · aa4b193f87  [states/schedule]  docstring: args, kwargs -> job_args,
354735           job_kwargs
354736
354737       · PR #28856:  (rallytime)  Back-port  #28853  to  2015.5  @  2015-11-13
354738         13:46:10 UTC
354739
354740         · PR #28853: (eliasp) Typo (with → which) (refs: #28856)
354741
354742         · 0934a52b34 Merge pull request #28856 from rallytime/bp-28853
354743
354744         · 37eeab2683 Typo (with → which)
354745
354746       · ISSUE #28828: (basepi) salt-ssh doesn't package tornado's new deps in
354747         the thin (refs: #28826)
354748
354749       · PR #28832: (basepi) [2015.5] Backport #28826  @  2015-11-12  19:32:03
354750         UTC
354751
354752         · PR  #28826: (basepi) [2015.8] Add new tornado deps to salt-ssh thin
354753           (refs: #28832)
354754
354755         · eb904665dc Merge pull request #28832 from basepi/backport.28826
354756
354757         · 57be72eb91 Add backports_abc and singledispatch_helpers to thin  as
354758           well
354759
354760         · 897cad627b Add singledispatch to the thin
354761
354762       · ISSUE  #8647:  (Mrten)  salt  '*'  highstate  returns 'minion did not
354763         return', salt [minion] highstate works (refs: #28833)
354764
354765       · PR #28833: (basepi) [2015.5] Increase the default  gather_job_timeout
354766         @ 2015-11-12 19:31:58 UTC
354767
354768         · eff811a0ad       Merge      pull      request      #28833      from
354769           basepi/increase.gather_job_timeout.8647
354770
354771         · c09243dd01 Increase the default gather_job_timeout
354772
354773       · PR #28829: (basepi) [2015.5] Merge forward from 2014.7  to  2015.5  @
354774         2015-11-12 18:50:51 UTC
354775
354776         · e4a036365d   Merge   pull  request  #28829  from  basepi/merge-for‐
354777           ward-2015.5
354778
354779         · f8b8441485  Merge  remote-tracking  branch  'upstream/2014.7'  into
354780           merge-forward-2015.5
354781
354782         · 76e69b4bff Merge pull request #28777 from rallytime/bp-28740-2014.7
354783
354784           · da5fac2b36 Back-port #28740 to 2014.7
354785
354786         · 45c73ebf2f Merge pull request #28716 from rallytime/bp-28705
354787
354788           · 32e7bd3ea0 Account for new headers class in tornado 4.3
354789
354790         · f4fe921965 Merge pull request #28717 from cachedout/umask_note
354791
354792           · 1874300e08 Add note about recommended umask
354793
354794       · ISSUE  #25775:  (trimbleagvendoraccounta)  blockdev.formatted formats
354795         but fails. Second highstate shows success. (refs: #28756)
354796
354797       · ISSUE #20235: (joejulian) blockdev.format state can fail even  if  it
354798         succeeds (refs: #28756)
354799
354800       · PR #28756: (MrCitron) Fix #25775 @ 2015-11-12 17:47:51 UTC
354801
354802         · 93562631aa Merge pull request #28756 from MrCitron/fix-25775
354803
354804         · 82075c809c Add logs and correct pylint error
354805
354806         · e31e22d96a Fix 25775
354807
354808       · ISSUE  #28783: (chrigl) iptables.get_saved_rules does not handle fam‐
354809         ily=ipv6 (refs: #28786)
354810
354811       · PR #28786: (chrigl) closes #28783 @ 2015-11-11 21:01:19 UTC
354812
354813         · 30cc48e37f Merge pull request #28786 from chrigl/fix-28783
354814
354815         · ba6d814553 closes #28783
354816
354817       · PR #28776:  (rallytime)  Back-port  #28740  to  2015.5  @  2015-11-11
354818         18:02:03 UTC
354819
354820         · PR  #28740:  (MasterNayru)  Add  missing  S3  module  import (refs:
354821           #28776, #28777)
354822
354823         · 8f1d0b636e Merge pull request #28776 from rallytime/bp-28740-2015.5
354824
354825         · 49256b7d90 Back-port #28740 to 2015.5
354826
354827       · ISSUE #28732: (dmyerscough) cherrypy API endpoint (refs: #28760)
354828
354829       · ISSUE #22452: (whiteinge) rest_cherrypy /keys URL returns empty  keys
354830         for minion IDs that already exist (refs: #28760)
354831
354832       · ISSUE #22451: (whiteinge) rest_cherrypy /keys URL throws a 500 on the
354833         first request (refs: #28760)
354834
354835       · ISSUE #22442: (allanliu) rest_cherrypy /keys URL does not handle JSON
354836         requests (refs: #28760)
354837
354838       · PR  #28760:  (dmyerscough)  Fixing  CherryPy  key  bug  @  2015-11-11
354839         15:11:18 UTC
354840
354841         · 77d4b980f1    Merge    pull    request    #28760    from     dmyer‐
354842           scough/28732-Fix-cherrypi-api-keys-endpoint
354843
354844         · 206d1684b2 Fixing CherryPy key bug
354845
354846       · ISSUE #28714: (gravyboat) Salt-api doesn't work with post unless data
354847         is included. (refs: #28718)
354848
354849       · PR #28746:  (rallytime)  Back-port  #28718  to  2015.5  @  2015-11-10
354850         18:16:40 UTC
354851
354852         · PR #28718: (sjmh) Account for no POST data (refs: #28746)
354853
354854         · 6f8f04975f Merge pull request #28746 from rallytime/bp-28718
354855
354856         · 092f441cad Account for no POST data
354857
354858       · PR  #28705:  (cachedout) Account for new headers class in tornado 4.3
354859         (refs: #28716) @ 2015-11-09 19:24:34 UTC
354860
354861         · f40c617bad  Merge   pull   request   #28705   from   cachedout/tor‐
354862           nado_http_headers
354863
354864         · 7ac6cde1ee Account for new headers class in tornado 4.3
354865
354866       · PR  #28699:  (rallytime)  Back-port  #28670  to  2015.5  @ 2015-11-09
354867         18:10:58 UTC
354868
354869         · PR #28670: (plastikos) psutil can fail to look-up a uid and raise a
354870           KeyError (refs: #28699)
354871
354872         · 604a7b4199 Merge pull request #28699 from rallytime/bp-28670
354873
354874         · e436b23296 psutil can fail to look-up a uid and raise a KeyError
354875
354876       · PR  #28703:  (rallytime)  Back-port  #28690  to  2015.5  @ 2015-11-09
354877         18:01:57 UTC
354878
354879         · PR #28690: (MrCitron) Fix 28689 : Check s3 ext  pillar  cache  file
354880           before calculating expiration (refs: #28703)
354881
354882         · 7bd3eb8370 Merge pull request #28703 from rallytime/bp-28690
354883
354884         · a0988dab58 Fix 28689 : Check s3 ext pillar cache file before calcu‐
354885           lating expiration
354886
354887         · PR saltstack/salt-bootstrap#868:  (cachedout)  Always  refresh  the
354888           Arch Linux keyring if needed (refs: #28694)
354889
354890       · PR  #28694:  (s0undt3ch)  [2015.5]  Update to latest bootstrap script
354891         v2015.11.09 @ 2015-11-09 17:49:53 UTC
354892
354893         · 2a40f57b93 Merge pull request #28694 from s0undt3ch/2015.5
354894
354895         · 0910c6ffe4 Update to latest bootstrap script v2015.11.09
354896
354897       · ISSUE #26592: (centromere) rabbitmq.list_vhosts  removes  final  line
354898         from rabbitmqctl output (refs: #28669)
354899
354900       · PR  #28669:  (rallytime) Use the -q argument to strip extraneous mes‐
354901         sages from rabbitmq @ 2015-11-08 01:07:25 UTC
354902
354903         · 3249b322e8 Merge pull request #28669 from rallytime/fix-26592
354904
354905         · 098fb815af Use the -q argument to strip  extraneous  messages  from
354906           rabbitmq
354907
354908       · ISSUE  #28577: (jacksontj) Increase in master CPU usage after upgrad‐
354909         ing to 2015.8 (refs: #28645)
354910
354911       · PR #28645: (jacksontj) Rework minion return_retry_timer @  2015-11-07
354912         03:40:28 UTC
354913
354914         · PR  #27286:  (terminalmage)  Add  a  configurable  timer for minion
354915           return retries (refs: #28645)
354916
354917         · 29e8250d0c Merge pull request #28645 from jacksontj/2015.5
354918
354919         · f63c2d70a7 Rework minion return_retry_timer
354920
354921       · ISSUE #15177: (baskinomics) system.join_domain() does not join domain
354922         on Windows Server 2012 R2 (refs: #28668)
354923
354924       · PR #28668: (twangboy) Fixed join_domain and unjoin_domain for Windows
354925         @ 2015-11-07 03:40:04 UTC
354926
354927         · 1bbaea8aad Merge pull request #28668 from twangboy/fix_15177
354928
354929         · 745b8f75f6 Fixed some lint
354930
354931         · a43eb53f28 Added version added notes in docs
354932
354933         · 6b537c8640 Fixed join_domain and unjoin_domain for Windows
354934
354935       · ISSUE #8051: (regilero) Problems with fileinput.input inplace editing
354936         in salt.states.file.replace (refs: #28174)
354937
354938       · ISSUE   #7999:   (regilero)   MULTILINE   pattern   cannot   work  in
354939         file.replace, fileinput always reads line by line. (refs: #28174)
354940
354941       · PR #28666: (jfindlay) define r_data before using it in file module  @
354942         2015-11-07 00:46:27 UTC
354943
354944         · PR  #28174:  (lorengordon)  Add  support  for  multiline  regex  in
354945           file.replace (refs: #28666)
354946
354947         · 4ad5056066 Merge pull request #28666 from jfindlay/r_data
354948
354949         · 29228f445f define r_data before using it in file module
354950
354951       · ISSUE #24758: (zerthimon) salt-minion uses 100% CPU for periodic sta‐
354952         tus.master  task  on  a  server with a lot of TCP connections (a LB).
354953         (refs: #28662)
354954
354955       · PR #28662: (cachedout) Add note about disabling master_alive_interval
354956         @ 2015-11-07 00:38:12 UTC
354957
354958         · e129e889ad Merge pull request #28662 from cachedout/issue_24758
354959
354960         · 78f4894333 Add note about disabling master_alive_interval
354961
354962       · PR #28627: (twangboy) Backport win_useradd @ 2015-11-06 16:57:49 UTC
354963
354964         · df121d0cec   Merge   pull   request   #28627   from  twangboy/back‐
354965           port_win_useradd
354966
354967         · 87282b6354 Backport win_useradd
354968
354969       · ISSUE  #28398:  (L4rS6)  Permissions   /var/cache/salt/minion/extmods
354970         (refs: #28617)
354971
354972       · PR  #28617:  (cachedout)  Set  restrictive  umask  on  module  sync @
354973         2015-11-05 23:43:28 UTC
354974
354975         · 64a20228c6 Merge  pull  request  #28617  from  cachedout/umask_mod‐
354976           ule_sync
354977
354978         · 227792e158 Set restrictive umask on module sync
354979
354980       · ISSUE  #28621: (gravyboat) Puppet module documentation should be less
354981         insulting (refs: #28622)
354982
354983       · PR #28622: (gravyboat) Update  puppet  module  wording  @  2015-11-05
354984         20:34:07 UTC
354985
354986         · 065f8c7fb3  Merge  pull  request  #28622 from gravyboat/update_pup‐
354987           pet_module_docs
354988
354989         · 4ea28bed30 Update puppet module wording
354990
354991       · ISSUE #655: (thatch45) Add  general  command  management  to  service
354992         (refs: #`saltstack/salt-bootstrap#656`_)
354993
354994         · PR   saltstack/salt-bootstrap#674:   (jfindlay)   add  support  for
354995           repo.saltstack.com (refs: #28563)
354996
354997         · PR saltstack/salt-bootstrap#665:  (mbologna)  Change  to  'dnf'  as
354998           package manager for Fedora 22-> (refs: #28563)
354999
355000         · PR saltstack/salt-bootstrap#656: (eyj) Add bootstrap -b flag (don't
355001           install dependencies) (refs: #28563)
355002
355003         · PR saltstack/salt-bootstrap#654: (hedinfaok)  Fixes  error  finding
355004           python-jinja2 in RHEL 7 (refs: #28563)
355005
355006         · PR  saltstack/salt-bootstrap#653:  (cbuechler)  Make bootstrap work
355007           with FreeBSD 11-CURRENT. (refs: #28563)
355008
355009       · PR #28563: (s0undt3ch) [2015.5] Update  to  latest  bootstrap  script
355010         v2015.11.04 @ 2015-11-04 15:16:31 UTC
355011
355012         · 08295de5a5 Merge pull request #28563 from s0undt3ch/2015.5
355013
355014         · 16f4db79a0 Update to latest bootstrap script v2015.11.04
355015
355016       · ISSUE  #28173:  (twangboy) system.computer_name does not work in win‐
355017         dows (refs: #28541)
355018
355019       · PR #28541: (twangboy) Fixed problem with  system.set_computer_name  @
355020         2015-11-04 14:48:54 UTC
355021
355022         · 1e09f186ce Merge pull request #28541 from twangboy/fix_28173
355023
355024         · 7edf5ce370 Fixed problem with system.set_computer_name
355025
355026       · ISSUE  #28524:  (bmcorser)  UnicodeDecodeError  in states.file (refs:
355027         #28538, #28537)
355028
355029         · PR #28538: (jfindlay) decode path and url to  utf-8  in  url.create
355030           (refs: #28537)
355031
355032       · PR  #28537: (jfindlay) decode filename to utf-8 in file.recurse state
355033         @ 2015-11-04 14:48:18 UTC
355034
355035         · f44ed780b5    Merge    pull    request    #28537    from     jfind‐
355036           lay/decode_state_2015.5
355037
355038         · 06e514940c decode filename to utf-8 in file.recurse state
355039
355040       · ISSUE  #28272:  (gravyboat) Update documentation contributing docs to
355041         explain how to PR against different releases (refs: #28529)
355042
355043       · PR #28529: (rallytime) Update contributing and documentation pages to
355044         recommend submitting against branches @ 2015-11-04 14:47:21 UTC
355045
355046         · 6acf87593f Merge pull request #28529 from rallytime/fix-28272
355047
355048         · a959681858 Add link to Sending a GH PR to documentation docs
355049
355050         · 1c612e2772 Update contributing and documentation pages to recommend
355051           submitting against branches
355052
355053       · ISSUE #28511: (nghgd) vmware clone task fails instead of  waiting  to
355054         completion (refs: #28546)
355055
355056       · PR #28548: (nmadhok) [Backport] [2015.5] Tasks can be in queued state
355057         instead of running @ 2015-11-04 04:14:25 UTC
355058
355059         · PR #28546: (nmadhok) Tasks can be in queued state instead  of  run‐
355060           ning. (refs: #28548)
355061
355062         · 025bff2bf0 Merge pull request #28548 from nmadhok/2015.5-task-error
355063
355064         · 804a0a6537  Tasks  can be in queued state instead of running. Fixes
355065           #28511
355066
355067       · ISSUE #24585: (utahcon) No version data for SALT.STATES.VIRTUALENV in
355068         wiki (refs: #28531)
355069
355070       · PR  #28531: (rallytime) Add versionadded directives to virtualenv_mod
355071         state/module @ 2015-11-03 21:34:49 UTC
355072
355073         · 63bd3e52b3 Merge pull request #28531 from rallytime/fix-24585
355074
355075         · bc577b2531 Add versionadded directives to virtualenv_mod state/mod‐
355076           ule
355077
355078       · PR #28508: (twangboy) Fixed windows tests @ 2015-11-03 19:31:12 UTC
355079
355080         · ea3bf972c4     Merge    pull    request    #28508    from    twang‐
355081           boy/fix_unit_tests_windows
355082
355083         · 0da6ff7c50 Fixed some logic
355084
355085         · cf1e059be5 Fixed windows tests
355086
355087       · PR #28525: (rallytime) Fix spacing in doc examples  for  boto_route53
355088         state and module @ 2015-11-03 19:30:24 UTC
355089
355090         · 73c5735fc1 Merge pull request #28525 from rallytime/route53_spacing
355091
355092         · 6ab2ce615c  Fix  spacing in doc examples for boto_route53 state and
355093           module
355094
355095       · ISSUE #28243: (guettli) Docs: default  value  of  state_auto_order  ?
355096         (refs: #28517)
355097
355098       · PR  #28517: (rallytime) Add state_auto_order defaults to True note to
355099         ordering docs @ 2015-11-03 14:04:40 UTC
355100
355101         · 2d7f934f67 Merge pull request #28517 from rallytime/fix-28243
355102
355103         · be8f650901 Punctuation.
355104
355105         · fd846822c1 Add state_auto_order defaults to True note  to  ordering
355106           docs
355107
355108       · PR  #28512:  (basepi)  [2015.5] Merge forward from 2014.7 to 2015.5 @
355109         2015-11-03 00:38:08 UTC
355110
355111         · 63ce8f78d5  Merge  pull  request  #28512   from   basepi/merge-for‐
355112           ward-2015.5
355113
355114         · 61c382133a  Merge  remote-tracking  branch  'upstream/2014.7'  into
355115           merge-forward-2015.5
355116
355117         · 4bf56cad3f Merge pull request #28461 from cachedout/issue_28455
355118
355119           · 097838ec0c Wrap all cache calls in state.sls in correct umask
355120
355121         · f3e61db045    Merge    pull    request    #28407    from    DSRCom‐
355122           pany/issues/24910_token_auth_fix_2014
355123
355124           · b7b5bec309 Don't request creds if auth with key.
355125
355126       · PR  #28448: (gwaters) added a note to the tutorial for redhat deriva‐
355127         tives @ 2015-10-30 18:49:53 UTC
355128
355129         · 37ceae1e88 Merge pull request #28448 from gwaters/add-redhat-notes
355130
355131         · e70990704a added a note to the tutorial for those  that  redhat  so
355132           they can use the state file too.
355133
355134       · PR  #28406:  (rallytime)  Back-port  #28381  to  2015.5  @ 2015-10-29
355135         19:10:37 UTC
355136
355137         · PR #28381: (JaseFace) Add FreeBSD detection for  VirtualBox  (refs:
355138           #28406)
355139
355140         · 5ef50d60cd Merge pull request #28406 from rallytime/bp-28381
355141
355142         · e5322d2c44 Add FreeBSD detection for VirtualBox
355143
355144       · PR  #28413:  (rallytime)  Back-port  #28400  to  2015.5  @ 2015-10-29
355145         18:06:46 UTC
355146
355147         · PR #28400: (msciciel) State pkg.installed:  do  not  execute  _pre‐
355148           flight_check  if  not_installed list is empty in _find_install_tar‐
355149           gets (refs: #28413)
355150
355151         · 30d5f7bbae Merge pull request #28413 from rallytime/bp-28400
355152
355153         · ae1921b922 Do not execute _preflight_check if not_installed list is
355154           empty   in   _find_install_targets.  Calling  with  empty  list  on
355155           rhel/centos cause execution of repoquery --whatprovides without pkg
355156           list which is memory consumptive task for host and also for red hat
355157           satellite server.
355158
355159       · PR #28366: (erchn) mark repo not enabled when pkgrepo state passes in
355160         disable: True @ 2015-10-29 15:55:54 UTC
355161
355162         · 045d540aff       Merge      pull      request      #28366      from
355163           erchn/fix_yumpkg_mod_repo_disabled
355164
355165         · 8187a4ce20 re-arrange things a bit to have less overall changes
355166
355167         · f1d570ff18 move todelete above disabled check, add comment
355168
355169         · 64feec413f also remove disabled key from repo_opts
355170
355171         · 2f2ebb7bb6 mark repo not enabled when pkgrepo state passes in  dis‐
355172           able: True
355173
355174       · ISSUE  #28372:  (beverlcl)  use_carrier  option  for  bonding network
355175         interfaces are setting invalid values (refs: #28373)
355176
355177       · PR #28373: (beverlcl) Fixing bug #28372  for  use_carrier  option  on
355178         bonding network interfaces.  @ 2015-10-29 14:45:57 UTC
355179
355180         · 3923f4a569  Merge  pull  request  #28373 from beverlcl/fix-use_car‐
355181           rier-28372
355182
355183         · 32cffeceb6 Fixing bug #28372 for use_carrier option on bonding net‐
355184           work interfaces.
355185
355186       · PR  #28359:  (rallytime)  Back-port  #28358  to  2015.5  @ 2015-10-28
355187         20:43:05 UTC
355188
355189         · PR #28358: (arthurlogilab) docstring typo fix - list returners  not
355190           runners (refs: #28359)
355191
355192         · e07e3f257b Merge pull request #28359 from rallytime/bp-28358
355193
355194         · 9cacbf582b docstring typo fix - list returners not runners
355195
355196       · ISSUE  #28000:  (hrumph)  No  option to stop windows minion installer
355197         from starting service in silent mode. (refs: #28346)
355198
355199       · ISSUE #27923: (twangboy) Salt Windows Installer fails to grab  exist‐
355200         ing config (refs: #28346)
355201
355202       · PR #28346: (twangboy) Fix installer @ 2015-10-28 14:21:34 UTC
355203
355204         · 282be7ba5a Merge pull request #28346 from twangboy/fix_installer
355205
355206         · f65e3e5275 Updated documentation to reflect the new parameter
355207
355208         · a0c5223554 Fixes #27923 and #28000
355209
355210       · PR  #28315: (gwaters) Adding a working example of setting pillar data
355211         on the cli @ 2015-10-27 15:27:49 UTC
355212
355213         · 7858f04ebc Merge pull request #28315 from gwaters/update-pillar-doc
355214
355215         · b15285c0b4 adding a working example of setting pillar data  on  the
355216           cli
355217
355218       · ISSUE  #28209:  (basepi)  Legacy  git_pillar  configs cause duplicate
355219         ext_pillar calls (refs: #28210)
355220
355221       · PR #28211: (terminalmage) Fix for ext_pillar being compiled twice  in
355222         legacy git_pillar code (2015.5 branch) @ 2015-10-26 14:14:02 UTC
355223
355224         · PR  #28210:  (terminalmage) Fix for ext_pillar being compiled twice
355225           in legacy git_pillar code (refs: #28211)
355226
355227         · 45305ccf29   Merge   pull    request    #28211    from    terminal‐
355228           mage/legacy_git_pillar-2015.5
355229
355230         · 0d6a4ac115 Remove non-functional test
355231
355232         · ab991d61d9  Fix  for  ext_pillar  being  compiled  twice  in legacy
355233           git_pillar code (2015.5 branch)
355234
355235       · ISSUE #26411: (whiteinge) salt-call cannot send custom events without
355236         Minion daemon running (refs: #28263)
355237
355238       · PR  #28263:  (cachedout)  New  channel  for  event.send  @ 2015-10-26
355239         14:07:06 UTC
355240
355241         · a6cc84c407 Merge pull request #28263 from cachedout/issue_26411-1
355242
355243         · 3b880a5f07 New channel for event.fire_master
355244
355245         · 29e9533aab Stand up a new channel if using salt-call
355246
355247       · PR #28293: (cachedout) Minor grammar changes  @  2015-10-26  12:15:42
355248         UTC
355249
355250         · PR #28271: (gwaters) Update tutorial documentation (refs: #28293)
355251
355252         · 788e1463d8 Merge pull request #28293 from cachedout/fix_28271
355253
355254         · 499ed8519b Minor grammar changes to #28271
355255
355256       · PR  #28271:  (gwaters) Update tutorial documentation (refs: #28293) @
355257         2015-10-26 12:12:37 UTC
355258
355259         · e178af0b90 Merge  pull  request  #28271  from  gwaters/update-tuto‐
355260           rial-documentation
355261
355262         · f96d39483d updated the tutorial with gravyboat's suggestions
355263
355264         · b1f4a2bdf4 i think i changed the wrong header, updated to fix
355265
355266         · 846b3aece1 I found you can not run the cp.push commands until after
355267           enabling the feature in the conf, so I wanted to update the docs so
355268           others who try these commands wont bump into the same issue I had.
355269
355270       · ISSUE  #28248:  (0xf10e)  conventions/formula.rst:  "Gather  external
355271         data" suggests unavailable jinja functionality (refs: #28280)
355272
355273       · PR #28280: (0xf10e) Correct  Jinja  function  load_*  to  import_*  @
355274         2015-10-25 04:11:10 UTC
355275
355276         · e3eff9b909 Merge pull request #28280 from 0xf10e/patch-1
355277
355278         · 6d4316b0ac Correct Jinja function load_* to import_*
355279
355280       · PR #28255: (cachedout) Add __cli opt @ 2015-10-23 18:44:30 UTC
355281
355282         · 909fa3dc97 Merge pull request #28255 from cachedout/cli_opt
355283
355284         · a2408157de Add __cli opt
355285
355286       · ISSUE  #27374:  (mool)  boto_route53  state  doesn't  create a record
355287         (refs: #28213)
355288
355289       · PR #28213: (rallytime) If record returned None, don't  continue  with
355290         the state. Something went wrong @ 2015-10-23 13:54:50 UTC
355291
355292         · 0fa094ae11     Merge    pull    request    #28213    from    rally‐
355293           time/boto_route53_state
355294
355295         · 237d64ff11 If record returned None, don't continue with the  state.
355296           Something went wrong.
355297
355298       · ISSUE  #28217:  (Ch3LL)  Scheduler.present tries to add the scheudler
355299         each time (refs: #28238)
355300
355301       · PR #28238: (basepi) [2015.5] Fix schedule.present  always  diffing  @
355302         2015-10-23 13:31:32 UTC
355303
355304         · 1768014705   Merge   pull  request  #28238  from  basepi/fix.sched‐
355305           ule.present.28217
355306
355307         · 087a8dc3c2 Only insert enabled if it's a dict
355308
355309         · 5b49f41fab Fix schedule comparison to adjust  for  'enabled'  being
355310           added in schedule.list
355311
355312         · 2dc1226ab8 Build new item with 'enabled' if available
355313
355314       · ISSUE #8051: (regilero) Problems with fileinput.input inplace editing
355315         in salt.states.file.replace (refs: #28174)
355316
355317       · ISSUE  #7999:   (regilero)   MULTILINE   pattern   cannot   work   in
355318         file.replace, fileinput always reads line by line. (refs: #28174)
355319
355320       · PR   #28174:   (lorengordon)  Add  support  for  multiline  regex  in
355321         file.replace (refs: #28666) @ 2015-10-22 14:02:43 UTC
355322
355323         · bdd48c92de   Merge   pull    request    #28174    from    lorengor‐
355324           don/file-replace-multiline
355325
355326         · acdef2da60 Update docstrings with new guidance
355327
355328         · 0835b005b7 Use a test that makes the extra file read unnecessary
355329
355330         · 6d6121a6e5 Use flags when checking whether content was added previ‐
355331           ously
355332
355333         · b25e609e9e Set flags=8 since now the file is read  as  a  MULTILINE
355334           string by default
355335
355336         · 89e8dcdffd Use finally block to ensure mmap object is closed
355337
355338         · 5aea6647c9 Add support for multiline regex in file.replace
355339
355340       · ISSUE  #19673:  (holyzhou) partition.mkpart in parted modules doesn't
355341         work (refs: #28175)
355342
355343       · PR #28175: (twangboy) Fixes #19673 @ 2015-10-21 20:48:24 UTC
355344
355345         · 2225925fb5 Merge pull request #28175 from twangboy/fix_19673
355346
355347         · ae8fbb208f Fixes #19673
355348
355349       · PR #28140: (rallytime)  Add  OpenBSD  installation  documentation  to
355350         2015.5 branch @ 2015-10-20 16:31:34 UTC
355351
355352         · PR  #28103: (ajacoutot) OpenBSD salt package: update list of depen‐
355353           dencies. (refs: #28140)
355354
355355         · ab18dcf637 Merge pull request #28140  from  rallytime/bsd-installa‐
355356           tion-doc
355357
355358         · 458a544d83 Add OpenBSD installation documentation to 2015.5 branch
355359
355360       · ISSUE  #28101:  (bogdanr)  salt-cloud ec2 list-sizes doesn't show all
355361         available sizes (refs: #28138)
355362
355363       · PR #28138: (rallytime) Back-port #28130 EC2  Sizes  Only  portion  to
355364         2015.5 @ 2015-10-20 16:29:09 UTC
355365
355366         · PR  #28130:  (bogdanr)  Ec2 upload public key and updated instances
355367           size list (refs: #28138)
355368
355369         · fad38eb3c3    Merge    pull    request    #28138    from     rally‐
355370           time/bp-28130-sizes-only
355371
355372         · 6ab31e1886 Pylint
355373
355374         · 37e4ed58a9 Added missing comma
355375
355376         · 667f5e669f  Added  a  bunch of instance sizes and updated some out‐
355377           dated ones
355378
355379       · ISSUE #26844: (double-yaya) The function "state.sls"  is  running  as
355380         PID  XXXX and was started at .... with jid XXXX always shows the cur‐
355381         rent jid (refs: #28097)
355382
355383       · PR #28097: (jacksontj) For all multi-part messages, check  the  head‐
355384         ers. If the header is not … @ 2015-10-20 15:00:18 UTC
355385
355386         · ce8f858536 Merge pull request #28097 from jacksontj/2015.5
355387
355388         · 75e04bcbbc  For  all multi-part messages, check the headers. If the
355389           header is not your minion_id, skip the message
355390
355391       · ISSUE #23655: (arthurlogilab) salt-cloud with lxc should  not  trace‐
355392         back when minion is unreacheable (refs: #28117)
355393
355394       · PR  #28117:  (rallytime)  Clean  up  stacktrace  when master can't be
355395         reached in lxc cloud driver @ 2015-10-20 12:41:12 UTC
355396
355397         · 9cdb970289 Merge pull request #28117 from rallytime/fix-23655
355398
355399         · dfb908e405 Clean up stacktrace when master can't be reached in  lxc
355400           cloud driver
355401
355402       · PR  #28110: (terminalmage) Add explanation of file_client: local set‐
355403         ting masterless mode @ 2015-10-20 12:28:05 UTC
355404
355405         · bf7ed0a397 Merge  pull  request  #28110  from  terminalmage/master‐
355406           less-mode
355407
355408         · ed90103124 Add explanation of file_client: local setting masterless
355409           mode
355410
355411       · ISSUE #27940: (multani) salt-cloud creating  lxc  containers  doesn't
355412         fire "salt/cloud/*/created" event (refs: #28109)
355413
355414       · PR  #28109: (rallytime) Add created reactor event to lxc cloud driver
355415         @ 2015-10-19 20:32:41 UTC
355416
355417         · a569ef4980 Merge pull request #28109 from rallytime/fix-27940
355418
355419         · 18b2245611 Add created reactor event to lxc cloud driver
355420
355421       · ISSUE #21845: (kitsemets) pip.install: fails in v2015.2.0rc1 when the
355422         package is already installed (pip v1.0) (refs: #27996)
355423
355424       · PR  #27996:  (rallytime) Don't fail if pip package is already present
355425         and pip1 is installed @ 2015-10-19 12:59:17 UTC
355426
355427         · d4604fdb26 Merge pull request #27996 from rallytime/fix-21845
355428
355429         · f8380d751e Provide empty string as default stdout instead of None
355430
355431         · f9406b5828 Don't fail if pip package is already present and pip1 is
355432           installed
355433
355434       · PR  #28056:  (rallytime)  Back-port  #28033  to  2015.5  @ 2015-10-19
355435         12:55:10 UTC
355436
355437         · PR #28033: (twangboy) Fixed win_useradd.py (refs: #28056)
355438
355439         · 28b97c514f Merge pull request #28056 from rallytime/bp-28033
355440
355441         · af2c5ab759 Fixed win_useradd.py
355442
355443       · PR #28059:  (rallytime)  Back-port  #28040  to  2015.5  @  2015-10-18
355444         16:17:29 UTC
355445
355446         · PR #28040: (erchn) Swift rackspace fixes (refs: #28059)
355447
355448         · dfc3aaec74 Merge pull request #28059 from rallytime/bp-28040
355449
355450         · 76a0d4937b Revert "Allow passing in auth_version, defaulting to 2."
355451
355452         · 63d5675d34 default auth_version = 2
355453
355454         · 8072716888 remove extra spaces
355455
355456         · 9770f56f04  cleanup  whitespace,  default  to None to be consistent
355457           with profile
355458
355459         · f4adfe98c0 Allow passing in auth_version, defaulting to 2.
355460
355461         · fab1ad39af Rackspace support for switft module.
355462
355463       · ISSUE #27534: (llevar)  file.managed  can't  retrieve  file  via  ftp
355464         (refs: #28047)
355465
355466       · PR  #28047:  (cachedout)  Restore  FTP functionality to file client @
355467         2015-10-18 16:16:46 UTC
355468
355469         · d1fa036b55 Merge pull request #28047 from cachedout/issue_27534
355470
355471         · 6ea37ddbca Context manager
355472
355473         · 4d6f6bb371 Lint
355474
355475         · 59018289dc Restore FTP functionality to file client
355476
355477       · PR #28032: (twangboy) Fixed win_path.py @ 2015-10-17 15:16:15 UTC
355478
355479         · fd2ca2df1b Merge pull request #28032 from twangboy/fix_win_path
355480
355481         · 2bcac93314 Fixed win_path.py
355482
355483       · ISSUE #26336: (jfindlay) windows user.present broken (refs: #28003)
355484
355485       · PR #28037:  (rallytime)  Back-port  #28003  to  2015.5  @  2015-10-16
355486         20:59:52 UTC
355487
355488         · PR #28003: (twangboy) Fix #26336 (refs: #28037)
355489
355490         · 88c1770be4 Merge pull request #28037 from rallytime/bp-28003
355491
355492         · 4fcf51fb1e Fix PR #26336
355493
355494       · PR  #28031:  (jacobhammons) Updated release notes with additional CVE
355495         information @ 2015-10-16 16:19:37 UTC
355496
355497         · de727d8bd2 Merge pull request #28031 from jacobhammons/relnotes6
355498
355499         · 05927bb6f0 Updated release notes with additional CVE information
355500
355501       · ISSUE #27897: (Inveracity) request to add \\r  escape  character  for
355502         salt.states.host for windows (refs: #28008)
355503
355504       · PR  #28008: (jfindlay) platform independent line endings in hosts mod
355505         @ 2015-10-16 13:20:28 UTC
355506
355507         · 16c0272849 Merge pull request #28008 from jfindlay/host_path
355508
355509         · 9f7047dd3c platform independent line endings in hosts mod
355510
355511       · ISSUE #28010: (vakulich)  Error  "KeyError:  'ret'"  appeared  during
355512         salt.state  run  in  orchestrate  module  if  minion had an exception
355513         (refs: #28012)
355514
355515       · PR #28012: (rallytime) Clean up stack trace when something goes wrong
355516         with minion output @ 2015-10-16 12:40:59 UTC
355517
355518         · d41018fa8e Merge pull request #28012 from rallytime/fix-28010
355519
355520         · 0d7059e0c2 Clean up stack trace when something goes wrong with min‐
355521           ion output
355522
355523       · PR #27995: (jacobhammons) added link to grains security FAQ  to  tar‐
355524         geting and pillar topics.  @ 2015-10-15 21:15:31 UTC
355525
355526         · f728307001 Merge pull request #27995 from jacobhammons/pillar-doc
355527
355528         · 2870af2ba3  added link to grains security FAQ to targeting and pil‐
355529           lar topics.
355530
355531       · PR #27986: (jacobhammons) Changed current release to  5.6  and  added
355532         CVE to release notes @ 2015-10-15 17:25:41 UTC
355533
355534         · efede904a7 Merge pull request #27986 from jacobhammons/dot6
355535
355536         · bb61c68c11  Changed current release to 5.6 and added CVE to release
355537           notes
355538
355539       · PR #27913: (pass-by-value) Set default @ 2015-10-14 14:03:36 UTC
355540
355541         · 831ec680d9  Merge  pull  request  #27913  from  pass-by-value/prox‐
355542           mox_verify_ssl
355543
355544         · 0b721efe37 Set default
355545
355546       · PR  #27876:  (terminalmage)  2015.5 branch: Fix traceback when 2015.8
355547         git ext_pillar config schema used @ 2015-10-13 14:58:45 UTC
355548
355549         · 41cccb3a30 Merge pull  request  #27876  from  terminalmage/git_pil‐
355550           lar-AttributeError-2015.5
355551
355552         · 07794c837a  2015.5 branch: Fix traceback when 2015.8 git ext_pillar
355553           config schema used
355554
355555       · ISSUE #27610: (benburkert) PR #27201 broke ssh_known_hosts with :port
355556         (refs: #27726)
355557
355558       · ISSUE #27187: (SeverinLeonhardt) ssh_known_hosts.present hashes other
355559         entries even with hash_hostname: false (refs: #27201)
355560
355561       · PR  #27726:  (jfindlay)   deprecate   hash_hostname   in   favor   of
355562         hash_known_hosts @ 2015-10-12 16:19:09 UTC
355563
355564         · PR  #27201:  (jfindlay)  rename  hash_hostname  to hash_known_hosts
355565           (refs: #27726)
355566
355567         · c9c3b7760e Merge pull request #27726 from jfindlay/hashhosts
355568
355569         · ebce47de7c add docs to ssh.recv_known_host exec module fcn
355570
355571         · b6ee16b1e5 deprecate hash_hostname in favor of hash_known_hosts
355572
355573       · ISSUE #27735: (go8ose) saltutils.find_cached_job doesn't work  (refs:
355574         #27776)
355575
355576       · PR  #27776: (jfindlay) return message when local jobs_cache not found
355577         @ 2015-10-12 16:11:41 UTC
355578
355579         · 18e31584b0 Merge pull request #27776 from jfindlay/local_msg
355580
355581         · 03afa3cffa return message when local jobs_cache not found
355582
355583       · ISSUE  #27665:  (ahammond)   user.absent   should   not   "fail"   if
355584         /var/spool/mail/<user> already does not exist. (refs: #27766)
355585
355586       · PR  #27766:  (jfindlay)  better  check  for  debian  userdel  error @
355587         2015-10-12 15:14:33 UTC
355588
355589         · 86cc7b5537 Merge pull request #27766 from jfindlay/debmail
355590
355591         · ee78da2c27 better check for debian userdel error
355592
355593       · ISSUE #27756: (iggy) syslog returner formats line incorrectly  (refs:
355594         #27758)
355595
355596       · PR  #27758:  (iggy)  Remove  redundant  text  from  syslog returner @
355597         2015-10-12 15:09:49 UTC
355598
355599         · c224386c9a Merge pull request #27758 from iggy/patch-1
355600
355601         · 0994fb6a8c Remove redundant text from syslog returner
355602
355603       · ISSUE #27832: (viking60) Salt fails to recognize Manjaro (as an  Arch
355604         derivate) (refs: #27841)
355605
355606       · PR  #27841:  (terminalmage) Detect Manjaro Linux as Arch derivative @
355607         2015-10-12 14:53:46 UTC
355608
355609         · 34a005041f Merge pull request #27841 from terminalmage/issue27832
355610
355611         · 8e09fbd6a3 Detect Manjaro Linux as Arch derivative
355612
355613       · ISSUE #26538: (seanjnkns) salt.states.file.managed generates  warning
355614         when used in place of salt.states.file.touch (refs: #27806)
355615
355616       · PR  #27852:  (rallytime)  Back-port  #27806  to  2015.5  @ 2015-10-12
355617         14:53:17 UTC
355618
355619         · PR #27806: (blast-hardcheese) Empty string is falsy (refs: #27852)
355620
355621         · 3944a498ad Merge pull request #27852 from rallytime/bp-27806
355622
355623         · a84bf18bc4 Empty string is falsy
355624
355625       · ISSUE #27831: (basepi) v2015.5.5 highstate outputter stacktracing for
355626         jobs.lookup_jid (refs: #27838)
355627
355628       · PR   #27838:   (basepi)   [2015.5]   Fix   highstate   outputter  for
355629         jobs.lookup_jid @ 2015-10-09 22:26:28 UTC
355630
355631         · PR #25521: (cachedout) Fix outputter for state.orch (refs: #27838)
355632
355633         · 7508a1c474 Merge pull request #27838  from  basepi/fix.runner.high‐
355634           state.outputter.27831
355635
355636         · 8ae9b66fd9 Don't pop 'outputter', we expect it further down
355637
355638       · PR #27791: (eguven) 2015.5 postgres_user groups backport @ 2015-10-08
355639         23:59:08 UTC
355640
355641         · d178315f93  Merge  pull  request  #27791  from  eguven/2015.5-post‐
355642           gres-user-groups-backport
355643
355644         · 2caf1d21d6 fix test
355645
355646         · bc90c5bffe improve change reporting for postgres_user groups
355647
355648         · 8712bce91a backport postgres_user groups
355649
355650       · PR  #27759:  (basepi)  [2015.5] Merge forward from 2014.7 to 2015.5 @
355651         2015-10-07 18:01:54 UTC
355652
355653         · b2937b6a16  Merge  pull  request  #27759   from   basepi/merge-for‐
355654           ward-2015.5
355655
355656         · 792ee084bb  Merge  remote-tracking  branch  'upstream/2014.7'  into
355657           merge-forward-2015.5
355658
355659         · d284eb165b Merge pull request #27390  from  JaseFace/schedule-miss‐
355660           ing-enabled
355661
355662         · 563db71bfd  Ensure we pass on the enable setting if present, or use
355663           the default of True if not in build_schedule_item() Prior to  this,
355664           when  schedule.present  compares  the  existing schedule to the one
355665           crafted by this function, enabled will actually be removed at  each
355666           run.   schedule.present  sees  a modification needs to be made, and
355667           invokes schedule.modify, which does so with enabled: True, creating
355668           and endless loop of an 'enabled' removal and addition.
355669
355670       · ISSUE #26673: (robkinyon) __virtual__() doesn't work without __virtu‐
355671         alname__ (refs: #27732)
355672
355673       · PR #27732: (jacobhammons) update docs for __virtual__ and  __virtual‐
355674         name__ @ 2015-10-07 17:29:31 UTC
355675
355676         · 4b9128b491 Merge pull request #27732 from jacobhammons/26673
355677
355678         · 75cc07cf10  noted  that  __virtual__  can return False and an error
355679           string
355680
355681         · b928e1afa8 update docs for  __virtual__  and  __virtualname__  Refs
355682           #26673
355683
355684       · PR  #27747:  (Sacro)  Chocolatey  doesn't  have  a  help  command.  @
355685         2015-10-07 16:06:53 UTC
355686
355687         · a130896d1c Merge pull request #27747 from Sacro/fix-chocolatey-ver‐
355688           sion
355689
355690         · 8f1fa9e78e Chocolatey doesn't have a help command.
355691
355692       · PR  #27733:  (jacobhammons)  hardening  topic - updates to docs.salt‐
355693         stack.com theme @ 2015-10-07 01:44:00 UTC
355694
355695         · 4e48651de0 Merge pull request #27733 from jacobhammons/bug-fixes
355696
355697         · cbecd4f553 Updated saltstack2 theme to add SaltConf16 banner
355698
355699         · 117e0c2bcc Added hardening topic based on the information  in  Refs
355700           #27088
355701
355702       · ISSUE #9051: (olenz) Add bash completion to the docs (refs: #27706)
355703
355704       · ISSUE #27005: (johanek) grains precedence (refs: #27706)
355705
355706       · ISSUE  #21475: (quantonganh) Targeting with pillar should be added in
355707         to the main targeting page (refs: #27706)
355708
355709       · ISSUE #14876: (whiteinge) Create  a  pre-Salted  tutorial  VM  (refs:
355710         #27706)
355711
355712       · ISSUE  #13407:  (gravyboat)  Create page explaining how to pass vari‐
355713         ables on the command line (refs: #27706)
355714
355715       · PR #27706: (jacobhammons) Assorted doc bugs @ 2015-10-06 05:35:29 UTC
355716
355717         · c58da846bf Merge pull request #27706 from jacobhammons/bug-fixes
355718
355719         · 76dc8de71b Assorted doc bugs Refs #9051  Refs  #13407  Refs  #21475
355720           Refs #14876 Refs #27005
355721
355722       · PR  #27695:  (rallytime)  Back-port  #27671  to  2015.5  @ 2015-10-05
355723         21:57:36 UTC
355724
355725         · PR #27671: (gashev) Added skip test_ext_pillar_env_mapping  if  git
355726           module does not exist. (refs: #27695)
355727
355728         · 43fba89865 Merge pull request #27695 from rallytime/bp-27671
355729
355730         · 2a88028595  Added  skip  test_ext_pillar_env_mapping  if git module
355731           does not exist.
355732
355733       · ISSUE #27501: (yermulnik) [FreeBSD]  "pkg  search"  behavior  changed
355734         since 1.5 series (refs: #27524)
355735
355736       · PR #27524: (jfindlay) parse pkgng output in quiet mode for >= 1.6.1 @
355737         2015-10-05 21:22:40 UTC
355738
355739         · cb3d92676e Merge pull request #27524 from jfindlay/pkgng_quiet
355740
355741         · 5e9107b970 parse pkgng output in quiet mode for >= 1.6.0
355742
355743       · PR #27686:  (rallytime)  Back-port  #27476  to  2015.5  @  2015-10-05
355744         21:17:59 UTC
355745
355746         · PR        #27476:        (belvedere-trading)        fix        for:
355747           https://github.com/saltstack/salt/issues/27373 (refs: #27686)
355748
355749         · 5b88c55cc3 Merge pull request #27686 from rallytime/bp-27476
355750
355751         · 3e08d3de8a fix for: https://github.com/saltstack/salt/issues/27373
355752
355753       · ISSUE #27655: (gracinet)  postgres_local_cache  handling  of  success
355754         (refs: #27656)
355755
355756       · PR  #27684:  (rallytime)  Back-port  #27656  to  2015.5  @ 2015-10-05
355757         21:17:55 UTC
355758
355759         · PR #27656: (gracinet) Fix #27655:  handling  of  success  in  post‐
355760           gres_local_cache (refs: #27684)
355761
355762         · f9ddd4647f Merge pull request #27684 from rallytime/bp-27656
355763
355764         · d3780cba00 Fix #27655: handling of success in postgres_local_cache
355765
355766       · PR  #27683:  (rallytime)  Back-port  #27659  to  2015.5  @ 2015-10-05
355767         21:17:30 UTC
355768
355769         · PR #27659: (gnubyexample) .pub as public key is what we should send
355770           to remote (refs: #27683)
355771
355772         · 7ca6f854ff Merge pull request #27683 from rallytime/bp-27659
355773
355774         · 84b6ee0c58 .pub as public key is what we should send to remote
355775
355776       · PR  #27682:  (rallytime)  Back-port  #27566  to  2015.5  @ 2015-10-05
355777         21:17:26 UTC
355778
355779         · PR #27566: (blueyed) returners.local_cache:  fix  endless  loop  on
355780           OSError (refs: #27682)
355781
355782         · a0f3e34656 Merge pull request #27682 from rallytime/bp-27566
355783
355784         · 2a44255748 minor: fix/format doc for returners.local_cache.prep_jid
355785
355786         · fd485e2396 returners.local_cache: fix endless loop on OSError
355787
355788       · ISSUE   #25813:   (whytewolf)   debconf.set   throwing  exception  in
355789         2015.8.0rc2 (refs: #25928)
355790
355791       · PR #27681:  (rallytime)  Back-port  #25928  to  2015.5  @  2015-10-05
355792         21:17:19 UTC
355793
355794         · PR  #25928:  (cachedout)  Fix  stacktrace  for  non-existant states
355795           (refs: #27681)
355796
355797         · 0b9ba911c4 Merge pull request #27681 from rallytime/bp-25928
355798
355799         · 17e1ddf137 Fix stacktrace for non-existant states
355800
355801       · ISSUE #27505: (silenius) [FreeBSD] state.service +  provider  daemon‐
355802         tools is broken (refs: #27535)
355803
355804       · PR  #27680:  (rallytime)  Back-port  #27535  to  2015.5  @ 2015-10-05
355805         21:17:10 UTC
355806
355807         · PR #27535: (silenius) Issue 27505 (refs: #27680)
355808
355809         · 23da0d316a Merge pull request #27680 from rallytime/bp-27535
355810
355811         · 04aed5e105 Versionadded change  since  2015.5.6  has  already  been
355812           tagged
355813
355814         · 579f2646ba .. versionadded:: 2015.5.6
355815
355816         · cbaf46e066 python <2.7 compability (pylint issue)
355817
355818         · ecde499478 s/bin/b to avoid confusion with bin()
355819
355820         · 4237c5db80 add a __virtual__ to check that daemontools is installed
355821           properly
355822
355823         · 623935a1bc fix doc
355824
355825         · 573de3abd6 fix pylint issue
355826
355827         · 5eb6a30d40 fix pep8 issues
355828
355829         · 298cf4f5c0 import missing logging module
355830
355831         · fe0ad36609 log was missing
355832
355833         · e457083465 s/systemd/FreeBSD
355834
355835         · 3512712e89 forgot service name..
355836
355837         · 8f193a7bcc fixes #27505
355838
355839       · PR #27442: (JaseFace)  Ensure  we  pass  on  the  enable  setting  if
355840         present, or use the default of True if not in build_schedule_item() @
355841         2015-10-05 18:01:29 UTC
355842
355843         · 7d7b97eab6    Merge    pull    request    #27442     from     Jase‐
355844           Face/fix-27391-for-2015.5
355845
355846         · bfbf63e1cc  Ensure we pass on the enable setting if present, or use
355847           the default of True if not in build_schedule_item() Prior to  this,
355848           when  schedule.present  compares  the  existing schedule to the one
355849           crafted by this function, enabled will actually be removed at  each
355850           run.   schedule.present  sees  a modification needs to be made, and
355851           invokes schedule.modify, which does so with enabled: True, creating
355852           and endless loop of an 'enabled' removal and addition.
355853
355854       · ISSUE  #26320: (schlagify) pkg & diskusage beacons not sending alerts
355855         (refs: #27641)
355856
355857       · PR #27641: (rallytime) Gate the psutil import and add depends doc for
355858         diskusage beacon @ 2015-10-05 17:00:48 UTC
355859
355860         · ccbba8656b  Merge  pull  request  #27641  from  rallytime/gate-psu‐
355861           til-diskusage
355862
355863         · da2d93a3dd Gate the psutil import and add depends doc for diskusage
355864           beacon
355865
355866       · PR  #27644:  (rallytime)  Back-port  #27640  to  2015.5  @ 2015-10-05
355867         14:55:31 UTC
355868
355869         · PR #27640: (stephen144) fix typo  in  default  pillar  path  (refs:
355870           #27644)
355871
355872         · 09183994f9 Merge pull request #27644 from rallytime/bp-27640
355873
355874         · a9063a9745 fix typo in default pillar path
355875
355876       · ISSUE #27609: (rallytime) GCE with various external_ip settings cause
355877         stacktraces (refs: #27612)
355878
355879       · PR #27612: (rallytime) Fix GCE external_ip stacktraces  in  2015.5  @
355880         2015-10-02 15:42:20 UTC
355881
355882         · 27fcecccbe Merge pull request #27612 from rallytime/fix-27609
355883
355884         · 8dc047dc18  If  external_up  is set to None, don't stacktrace, just
355885           use the private ip.
355886
355887         · 2ebf790f9f [salt-cloud] gce: don't stacktrace if Ephemeral is given
355888           instead of ephemeral
355889
355890       · PR #27568: (jacobhammons) regenerated man pages @ 2015-10-01 15:39:37
355891         UTC
355892
355893         · c84a1edc1b   Merge   pull    request    #27568    from    jacobham‐
355894           mons/man-pages-five
355895
355896         · b59c03d20d regenerated man pages
355897
355898   Salt 2015.5.8 Release Notes
355899       release
355900              2015-12-01
355901
355902       Version 2015.5.8 is a bugfix release for 2015.5.0.
355903
355904   Statistics
355905       · Total Merges: 17
355906
355907       · Total Issue References: 12
355908
355909       · Total PR References: 27
355910
355911       · Contributors:  12  (MasterNayru,  TronPaul, basepi, cachedout, cxmcc,
355912         jfindlay,  kevinlondon,   messa,   rallytime,   tehmaspc,   twangboy,
355913         whiteinge)
355914
355915   Security Fix
355916       CVE-2015-8034 Saving state.sls cache data to disk with insecure permis‐
355917       sions
355918
355919       This affects users of the state.sls function. The state  run  cache  on
355920       the  minion  was  being  created  with incorrect permissions. This file
355921       could potentially contain sensitive data that was  inserted  via  jinja
355922       into  the  state SLS files. The permissions for this file are now being
355923       set correctly. Thanks to zmalone for bringing this issue to our  atten‐
355924       tion.
355925
355926   Changelog for v2015.5.7..v2015.5.8
355927       Generated at: 2018-05-27 22:25:07 UTC
355928
355929       · ISSUE  #28883: (ldelossa) Issues running select states -  local vari‐
355930         able 'salt' referenced before assignment (refs: #29113)
355931
355932       · PR #29164: (jfindlay) Backport #29113 @ 2015-11-24 21:26:17 UTC
355933
355934         · PR #29113: (TronPaul) Kill unneeded import (refs: #29164)
355935
355936         · PR #28740:  (MasterNayru)  Add  missing  S3  module  import  (refs:
355937           #28839, #29113)
355938
355939         · a26c10a811 Merge pull request #29164 from jfindlay/bp-29113
355940
355941         · 50fab35188 kill unneeded import
355942
355943       · PR  #29138:  (jfindlay)  add  2015.5.8  release  notes  @  2015-11-23
355944         23:22:48 UTC
355945
355946         · 4f03196e7d Merge pull request #29138 from jfindlay/2015.5
355947
355948         · be045f5cb1 add 2015.5.8 release notes
355949
355950       · ISSUE #29110: (mohshami) 2015.8.2 broke orchestration (refs: #29122)
355951
355952       · ISSUE #28010: (vakulich)  Error  "KeyError:  'ret'"  appeared  during
355953         salt.state  run  in  orchestrate  module  if  minion had an exception
355954         (refs: #28012)
355955
355956       · PR #29128: (cachedout) Set a safer default value for ret in saltmod @
355957         2015-11-23 17:07:40 UTC
355958
355959         · PR  #29122:  (cachedout)  Fix  broken  state  orchestration  (refs:
355960           #29128)
355961
355962         · PR #28012: (rallytime) Clean up stack  trace  when  something  goes
355963           wrong with minion output (refs: #29122)
355964
355965         · 219367a23d Merge pull request #29128 from cachedout/tweak_29122
355966
355967         · b08858b040 Missed check
355968
355969         · 584efe81ee Set a safer default value for ret in saltmod
355970
355971       · ISSUE #29110: (mohshami) 2015.8.2 broke orchestration (refs: #29122)
355972
355973       · ISSUE  #28010:  (vakulich)  Error  "KeyError:  'ret'" appeared during
355974         salt.state run in orchestrate  module  if  minion  had  an  exception
355975         (refs: #28012)
355976
355977       · PR  #29122: (cachedout) Fix broken state orchestration (refs: #29128)
355978         @ 2015-11-23 16:24:18 UTC
355979
355980         · PR #28012: (rallytime) Clean up stack  trace  when  something  goes
355981           wrong with minion output (refs: #29122)
355982
355983         · 2250a36647 Merge pull request #29122 from cachedout/issue_29110
355984
355985         · 4b9302d794 Fix broken state orchestration
355986
355987       · PR  #29096:  (rallytime)  Back-port  #29093  to  2015.5  @ 2015-11-22
355988         17:02:51 UTC
355989
355990         · PR #29093: (cxmcc) Compare gem versions as a string. (refs: #29096)
355991
355992         · 200e771efb Merge pull request #29096 from rallytime/bp-29093
355993
355994         · f5734423a4 Compare gem versions as a string.
355995
355996       · PR #29084:  (rallytime)  Back-port  #29055  to  2015.5  @  2015-11-20
355997         20:57:54 UTC
355998
355999         · PR #29055: (cachedout) Add section to style guide (refs: #29084)
356000
356001         · d8a2018bc8 Merge pull request #29084 from rallytime/bp-29055
356002
356003         · 52e650aed9 Add section to style guide
356004
356005       · PR  #29083:  (rallytime)  Back-port  #29053  to  2015.5  @ 2015-11-20
356006         20:57:38 UTC
356007
356008         · PR #29053: (kevinlondon) Update rabbitmq_user.py (refs: #29083)
356009
356010         · b5cff1a351 Merge pull request #29083 from rallytime/bp-29053
356011
356012         · f1884de0e7 Update rabbitmq_user.py
356013
356014       · ISSUE #28928: (twangboy) Fix user.present 2015.5 (refs: #28932)
356015
356016       · PR #28932: (twangboy) Fixed user.present / user.absent in  windows  @
356017         2015-11-18 21:45:53 UTC
356018
356019         · PR #28627: (twangboy) Backport win_useradd (refs: #28932)
356020
356021         · b3e3bebef0 Merge pull request #28932 from twangboy/fix_28928
356022
356023         · 0653a04887 Fixed user.present / user.absent in windows
356024
356025       · ISSUE  #26911:  (dsumsky) file.manage state does not work with Amazon
356026         S3 URLs on Windows (refs: #28630)
356027
356028       · ISSUE #13850: (ryan-lane) s3://  urls  in  file.managed  (and  likely
356029         elsewhere)  require s3.key and s3.keyid to be in minion config (refs:
356030         #28630)
356031
356032       · PR #29011:  (rallytime)  Back-port  #28630  to  2015.5  @  2015-11-18
356033         17:50:05 UTC
356034
356035         · PR #28630: (messa) Use S3 credentials from Pillar (refs: #29011)
356036
356037         · a2e4a227e0 Merge pull request #29011 from rallytime/bp-28630
356038
356039         · 7baccc1b05 Lint - newline before def
356040
356041         · 9e5c16d4da Reading S3 credentials from Pillar
356042
356043         · a3216f813d  Fixed  requests HTTPError handler, it was still in url‐
356044           lib2 style
356045
356046       · PR #28982: (basepi) [2015.5] Merge forward from 2014.7  to  2015.5  @
356047         2015-11-18 00:49:32 UTC
356048
356049         · 1a4cd6002f   Merge   pull  request  #28982  from  basepi/merge-for‐
356050           ward-2015.5
356051
356052         · bfbb109fbd  Merge  remote-tracking  branch  'upstream/2014.7'  into
356053           merge-forward-2015.5
356054
356055         · 4b8bdd0afb Merge pull request #28839 from cachedout/revert_28740
356056
356057         · 215b26c06f Revert #28740
356058
356059       · ISSUE  #28947:  (dmyerscough)  sdb  modules are not synced out (refs:
356060         #28949)
356061
356062       · PR #28949: (whiteinge) Add sync_sdb execution function  @  2015-11-17
356063         15:35:38 UTC
356064
356065         · edd26d763a Merge pull request #28949 from whiteinge/sync-sdb
356066
356067         · b0ec9ab25b Add sync_sdb execution function
356068
356069       · ISSUE #28888: (twangboy) Fix file.comment (refs: #28930)
356070
356071       · PR #28930: (twangboy) Added missing import mmap required by file.py @
356072         2015-11-16 23:17:23 UTC
356073
356074         · 43da1bc4ce Merge pull request #28930 from twangboy/fix_28888
356075
356076         · f5c489eaad Added missing import mmap required by file.py
356077
356078       · PR #28908: (rallytime) A couple of spelling fixes for doc conventions
356079         page.  @ 2015-11-16 02:29:35 UTC
356080
356081         · 2488b873b8  Merge  pull  request  #28908 from rallytime/doc-conven‐
356082           tion-spelling
356083
356084         · 60e6eddb77 A couple of spelling fixes for doc conventions page.
356085
356086       · ISSUE #22442: (allanliu) rest_cherrypy /keys URL does not handle JSON
356087         requests (refs: #28902)
356088
356089       · PR  #28902: (whiteinge) Fix missing JSON support for /keys endpoint @
356090         2015-11-15 15:36:05 UTC
356091
356092         · 827a1ae020 Merge pull request #28902 from whiteinge/json-keys
356093
356094         · 9745903301 Fix missing JSON support for /keys endpoint
356095
356096       · PR #28897:  (rallytime)  Back-port  #28873  to  2015.5  @  2015-11-15
356097         00:43:35 UTC
356098
356099         · PR  #28873:  (tehmaspc)  Fix  salt-cloud  help  output  typo (refs:
356100           #28897)
356101
356102         · d23bd49130 Merge pull request #28897 from rallytime/bp-28873
356103
356104         · 077e671ead Fix salt-cloud help output typo
356105
356106       · ISSUE #28870: (basepi) mdadm commands failing (refs: #28871)
356107
356108       · PR #28871: (basepi) [2015.5] Fix command generation for  mdadm.assem‐
356109         ble @ 2015-11-13 21:54:33 UTC
356110
356111         · a9dc8b6ca6 Merge pull request #28871 from basepi/mdadm.fix.28870
356112
356113         · 323bc2d2ac Fix command generation for mdadm.assemble
356114
356115   Salt 2015.5.9 Release Notes
356116       release
356117              2016-01-11
356118
356119       Version 2015.5.9 is a bugfix release for 2015.5.0.
356120
356121   Statistics
356122       · Total Merges: 45
356123
356124       · Total Issue References: 21
356125
356126       · Total PR References: 48
356127
356128       · Contributors: 21 (abednarik, aletourneau, attiasr, basepi, cachedout,
356129         clan,  clarkperkins,  cro,   dmyerscough,   jacobhammons,   jfindlay,
356130         jsutton,  justinta,  lorengordon, markckimball, mpreziuso, rallytime,
356131         terminalmage, titilambert, twangboy, zmalone)
356132
356133   Changelog for v2015.5.8..v2015.5.9
356134       Generated at: 2018-05-27 22:31:06 UTC
356135
356136       · PR  #30248:  (jfindlay)  add  2015.5.9  release  notes  @  2016-01-08
356137         23:13:10 UTC
356138
356139         · 92889db638 Merge pull request #30248 from jfindlay/2015.5
356140
356141         · 741f7aba31 add 2015.5.9 release notes
356142
356143       · PR  #30237:  (jacobhammons)  Updated  man  pages  and doc version for
356144         2015.5.9 @ 2016-01-08 18:10:05 UTC
356145
356146         · 7a329d89d7   Merge   pull    request    #30237    from    jacobham‐
356147           mons/man-pages-prev
356148
356149         · 2431c4c5c3 Updated man page and doc conf.py copyright year to 2016
356150
356151         · fe3da1c174 Updated man pages and doc version for 2015.5.9
356152
356153       · PR #30207: (rallytime) Use correct spacing in rabbitmq state examples
356154         @ 2016-01-07 18:37:35 UTC
356155
356156         · 2c0b725924  Merge   pull   request   #30207   from   rallytime/rab‐
356157           bitmq_states_doc_fix
356158
356159         · 8d48c24182 Use correct spacing in rabbitmq state examples
356160
356161       · PR  #30191:  (jacobhammons)  Updated  doc  site  banners @ 2016-01-06
356162         22:37:40 UTC
356163
356164         · b49cf910f4 Merge pull request #30191 from jacobhammons/banner-prev
356165
356166         · c3390955b0 Updated doc site banners
356167
356168       · ISSUE #29633: (twellspring) user.present does not modify home  direc‐
356169         tory (refs: #30125)
356170
356171       · PR  #30125: (abednarik) Update user home event when createhome is set
356172         to False @ 2016-01-05 18:15:38 UTC
356173
356174         · 9363d6f5b6    Merge    pull    request    #30125     from     abed‐
356175           narik/update_user_home
356176
356177         · 56544a77f6 Update user home event when createhome is set to False
356178
356179       · ISSUE  #10155:  (jhenry82)  Option  to  select  a  random  master  in
356180         multi-master mode (refs: #30127)
356181
356182       · PR #30127: (jsutton) Updating documentation and example minion config
356183         for random_master/master_shuffle.  @ 2016-01-04 19:30:50 UTC
356184
356185         · 1a5d585d91 Merge pull request #30127 from jsutton/clarify-documena‐
356186           tion-for-random_master
356187
356188         · 01dbf385ef Adding random_master  to  reference  and  updating  mas‐
356189           ter_shuffle.  Adding  master_shuffle  to  the minion example config
356190           file as it is needed for multi-master PKI.
356191
356192       · PR #30110: (markckimball) Fixed flag sent to salt.utils.http in order
356193         for verify_ssl to work correctly @ 2015-12-31 21:17:53 UTC
356194
356195         · 28b1bbbe77  Merge  pull  request  #30110 from markckimball/fix-ver‐
356196           ify_ssl-in-joyent-cloud
356197
356198         · e1c08cb269 Fixed flag sent to salt.utils.http  in  order  for  ver‐
356199           ify_ssl to work appropriately.
356200
356201       · PR  #30093:  (zmalone) Noting that file_roots and "state tree" should
356202         both be avoided @ 2015-12-30 22:40:05 UTC
356203
356204         · 040412b0b1 Merge pull request #30093 from zmalone/pillar-notes
356205
356206         · cfbfd58afe Noting that file_roots and "state tree" should  both  be
356207           avoided,  because  in  some environments, the actual states show up
356208           another level down.  Adding notes about why this is undesirable.
356209
356210       · ISSUE #28120: (jtylers) Clear text passwords (refs: #30097)
356211
356212       · PR #30097: (cachedout) Note concern about cleartext password in  docs
356213         for shadow.gen_password @ 2015-12-30 22:37:33 UTC
356214
356215         · 25edefc93a  Merge  pull request #30097 from cachedout/note_on_pass‐
356216           word_process_list
356217
356218         · 58aec884ef Note  concern  about  cleartext  password  in  docs  for
356219           shadow.gen_password
356220
356221       · PR  #30089:  (mpreziuso)  Fixes  terminology  and  adds more accurate
356222         details about the algorithms @ 2015-12-30 20:02:18 UTC
356223
356224         · 6b1c3a6bf2 Merge pull request #30089 from mpreziuso/patch-1
356225
356226         · 50533add40 Fixes terminology and adds more accurate  details  about
356227           the algorithms
356228
356229       · ISSUE  #29921:  (anlutro)  pygit  0.21  not  fully  supported? (refs:
356230         #30086)
356231
356232       · PR #30086: (cachedout)  Document  that  gitfs  needs  recent  libs  @
356233         2015-12-30 19:26:05 UTC
356234
356235         · 200d09385d Merge pull request #30086 from cachedout/issue_29921
356236
356237         · 8c29e2dd6a Document that gitfs needs recent libs
356238
356239       · ISSUE  #27835: (bertjwregeer) [FreeBSD] salt-ssh hangs forever (refs:
356240         #30070)
356241
356242       · PR #30070: (cachedout) Add  documentation  on  debugging  salt-ssh  @
356243         2015-12-29 23:00:06 UTC
356244
356245         · 404414bf57 Merge pull request #30070 from cachedout/issue_27835
356246
356247         · 60431e342a Add documentation on debugging salt-ssh
356248
356249       · PR  #30059:  (mpreziuso)  Fixes  wrong  function  scope  @ 2015-12-29
356250         16:12:06 UTC
356251
356252         · 84db12212d Merge pull request #30059 from mpreziuso/patch-1
356253
356254         · 1cb1c2da07 Fixes wrong function scope
356255
356256       · PR #30025: (justinta) Skipping some Boto tests  until  resolved  moto
356257         issue @ 2015-12-28 15:21:45 UTC
356258
356259         · PR  #29725:  (cachedout)  Disable some boto tests per resolution of
356260           moto issue (refs: #30025)
356261
356262         · 1c6c9b1a06 Merge pull request #30025 from jtand/boto_tests
356263
356264         · e706642152 Skipping some Boto tests until resolved moto issue
356265
356266       · ISSUE #28956: (racooper) Netscaler  module  doc  enhancements  (refs:
356267         #29949)
356268
356269       · PR  #29949:  (aletourneau)  Enhanced netscaler docstring @ 2015-12-22
356270         20:26:52 UTC
356271
356272         · 0f91021c59 Merge pull request #29949 from aletourneau/2015.5
356273
356274         · cf855fe262 Fixed trailing white spaces
356275
356276         · 864801e002 fixed version
356277
356278         · 041d9346c4 Enhanced netscaler docstring
356279
356280       · PR #29941: (cachedout) Fix spelling error in  boto_vpc  @  2015-12-22
356281         15:49:54 UTC
356282
356283         · 229d3eb60b Merge pull request #29941 from cachedout/boto_spelling
356284
356285         · b11bfd07b8 Fix spelling error in boto_vpc
356286
356287       · ISSUE  #29880:  (githubcdr)  Salt  pkg.uptodate  fails  on Arch linux
356288         (refs: #29908)
356289
356290       · PR #29908: (cachedout) Allow kwargs to be passed  to  pacman  provide
356291         for update func @ 2015-12-22 15:04:18 UTC
356292
356293         · 69c5ada636 Merge pull request #29908 from cachedout/issue_29880
356294
356295         · 4cd77b4118  Allow  kwargs to be passed to pacman provide for update
356296           func
356297
356298       · ISSUE  #27056:  (oogali)  pkgng  provider  on  FreeBSD  does  not  do
356299         BATCH=yes (refs: #29909)
356300
356301       · PR #29909: (abednarik) FreeBSD pkgng fix for non-interactive install.
356302         @ 2015-12-22 15:03:50 UTC
356303
356304         · ad0de4d563  Merge  pull   request   #29909   from   abednarik/free‐
356305           bsd_pkgng_non_interactive_fix
356306
356307         · 8ac213001a FreeBSD pkgng fix for non-interactive install.
356308
356309       · ISSUE  #24698:  (cmhe)  docker.installed  not working (salt 2015.5.0,
356310         docker 1.6.2, dockerpy 0.5.3) (refs: #29730)
356311
356312       · PR #29730: (rallytime) Update docker-py version requirement to  0.6.0
356313         for dockerio.py files @ 2015-12-16 14:44:40 UTC
356314
356315         · f43f3d166c Merge pull request #29730 from rallytime/fix-24698
356316
356317         · 120fd5fdf0 Update docker-py version requirement to 0.6.0 for docke‐
356318           rio.py files
356319
356320       · ISSUE #23343: (micaelbergeron) npm state ignore the requested version
356321         (refs: #29715)
356322
356323       · ISSUE  #18647:  (hundt)  Version  number  in  npm state name does not
356324         result in correct version being installed (refs: #29715)
356325
356326       · PR #29715: (rallytime) Install correct package version, if  provided,
356327         for npm state.  @ 2015-12-15 23:19:45 UTC
356328
356329         · c393a4175a Merge pull request #29715 from rallytime/fix-23343
356330
356331         · a0ed857c37  Install  correct  package version, if provided, for npm
356332           state.
356333
356334       · PR #29721: (terminalmage) Fix display of multiline strings when iter‐
356335         ating over a list @ 2015-12-15 22:16:10 UTC
356336
356337         · 1310afbbc2  Merge pull request #29721 from terminalmage/nested-out‐
356338           put-multiline-fix
356339
356340         · 761be9cb93 Fix display of multiline strings when iterating  over  a
356341           list
356342
356343       · ISSUE #29488: (Shad0w1nk) salt.cloud.clouds.vmware.revert_to_snapshot
356344         crash when using the default value (refs: #29646)
356345
356346       · PR #29646: (rallytime) Don't stacktrace on kwargs.get if  kwargs=None
356347         @ 2015-12-15 19:02:58 UTC
356348
356349         · 52cc07cec9 Merge pull request #29646 from rallytime/fix-29488
356350
356351         · c5fa9e9351 Don't stacktrace on kwargs.get if kwargs=None
356352
356353       · ISSUE   #29661:   (mosuowhq)   bug   report   when   creating  VM  in
356354         /salt/cloud/clouds/nova.py (refs: #29673)
356355
356356       · PR #29673: (rallytime) Default value should be False and not  'False'
356357         @ 2015-12-14 18:08:44 UTC
356358
356359         · f606c23ea8 Merge pull request #29673 from rallytime/fix-29661
356360
356361         · e4af7a1157 Default value should be False and not 'False'
356362
356363       · PR  #29527:  (jfindlay)  2015.5.7  notes:  add  note  about not being
356364         released @ 2015-12-08 21:08:26 UTC
356365
356366         · f77c8e7baf Merge pull request #29527 from jfindlay/2015.5
356367
356368         · 1a8044f0c9 2015.5.7 notes: add note about not being released
356369
356370       · PR #29539: (basepi) [2015.5] Merge forward from 2014.7  to  2015.5  @
356371         2015-12-08 19:14:51 UTC
356372
356373         · 867d550271   Merge   pull  request  #29539  from  basepi/merge-for‐
356374           ward-2015.5
356375
356376         · 2c9c4ba430  Merge  remote-tracking  branch  'upstream/2014.7'  into
356377           merge-forward-2015.5
356378
356379         · 85aa70a6cb Merge pull request #29392 from jacobhammons/2014.7
356380
356381           · d7f0db1dd8  updated  version  number  to not reference a specific
356382             build from the latest branch
356383
356384       · ISSUE #12072: (vk00226)  Passing  user-data  when  provisioning   ec2
356385         instances (refs: #29504)
356386
356387       · PR #29504: (rallytime) Document userdata_file option for EC2 driver @
356388         2015-12-08 16:54:33 UTC
356389
356390         · de7f3d5a59 Merge pull request #29504 from rallytime/fix-12072
356391
356392         · 8357c95dc2 Document userdata_file option for EC2 driver
356393
356394       · ISSUE    #29101:    (jessbreckenridge)    Salt-cloud    2015.8.0    -
356395         del_*_vols_on_destroy does not work according to docs (refs: #29507)
356396
356397       · PR  #29507:  (rallytime)  Switch volumes and del_*_on_destroy example
356398         ordering @ 2015-12-08 16:50:11 UTC
356399
356400         · 65deba8bb5 Merge pull request #29507 from rallytime/ec2-doc-fix
356401
356402         · 90b4823bc2 Switch volumes and del_*_on_destroy example ordering
356403
356404       · ISSUE #28862: (trevor-h)  salt-cloud  uppercase  timeout  options  no
356405         longer recognized (refs: #29469)
356406
356407       · PR  #29469:  (abednarik)  Added  Documentation note in salt cloud.  @
356408         2015-12-07 18:27:46 UTC
356409
356410         · 0918c9294f    Merge    pull    request    #29469     from     abed‐
356411           narik/doc_note_for_saltcloud_connection_timeout
356412
356413         · 8e5c3e366a Added Documentation note in salt cloud.
356414
356415       · PR  #29461:  (dmyerscough)  Fix  resource  limits,  systemd  sets the
356416         default too small @ 2015-12-05 16:26:34 UTC
356417
356418         · e43c7c05a6    Merge    pull    request    #29461    from     dmyer‐
356419           scough/fix-resource-limits
356420
356421         · 85a8a3b033  Fix resource limits, systemd sets the default number of
356422           open files to 4096 causing te master to complain about limits  when
356423           you have a large number of keys
356424
356425       · ISSUE   #28526:   (clarkperkins)   yumpkg.installed  broken  in  salt
356426         v2015.8.1 on CentOS 6 minions (refs: #28656)
356427
356428       · PR #29439:  (rallytime)  Back-port  #28656  to  2015.5  @  2015-12-04
356429         22:56:17 UTC
356430
356431         · PR  #28656:  (clarkperkins)  #28526  fixed yumpkg module issue with
356432           pkg.installed (refs: #29439)
356433
356434         · 730f02fbdf Merge pull request #29439 from rallytime/bp-28656
356435
356436         · 2f11bb021f #28526 fixed yumpkg module
356437
356438       · PR #29418: (jacobhammons) Added CVE  2015-8034  to  2015.5.8  release
356439         notes @ 2015-12-04 03:02:53 UTC
356440
356441         · 197210d52e Merge pull request #29418 from jacobhammons/dot8
356442
356443         · 4f51a737f9 Added CVE 2015-8034 to 2015.5.8 release notes
356444
356445       · PR  #29389: (jacobhammons) updated version numbers in documentation @
356446         2015-12-03 16:27:23 UTC
356447
356448         · b3452f2a1a Merge pull request #29389 from jacobhammons/2015.5
356449
356450         · 824721ff36 updated version numbers
356451
356452       · ISSUE #26898: (twangboy) Symlinks in Windows (2015.8) (refs: #28191)
356453
356454       · PR #28501: (twangboy) Requested fixes for 26898 @ 2015-12-03 01:12:12
356455         UTC
356456
356457         · PR  #28420:  (jfindlay) fix removal of symbolic links on windows in
356458           the file state (refs: #28501)
356459
356460         · PR #28191: (twangboy) Fix 26898 (refs: #28420, #28501)
356461
356462         · 6a7a95f28a Merge pull request #28501 from twangboy/jmoney_26898
356463
356464         · c0cf33332c Fixed some Lint...
356465
356466         · df17fc59d3 Merge pull request #6 from jfindlay/twang_test
356467
356468           · bc7e0cfe64 add file.symlink unit tests
356469
356470           · 9381dc7215 orthogonalize file.symlink unit tests
356471
356472         · 8f462ba044 Merge pull request #5 from cachedout/fix_twangboy_test
356473
356474           · 5293150d25 Fix tests
356475
356476         · 7d39091c91 Fixed some more lint
356477
356478         · 3dbd62af2c Fixed some tests... hopefully
356479
356480         · f187db3288 Removed unnecessary logic
356481
356482         · 89ebd268e6 Added file attributes restore on fail
356483
356484         · 9ec72ca724 fix file state unit tests for win symlink feature
356485
356486         · 69c32a663e Fixed some lint
356487
356488         · 638dec5027 Fixed some tests... let's see if they're really are
356489
356490         · 5ed7a99792 Replaced instances of shutil.rmtree in file state
356491
356492         · 2651ce509f Fix file.remove for windows
356493
356494       · ISSUE #29344: (justinta) file.search broken on python 2.6 with  empty
356495         files (refs: #29348)
356496
356497       · PR  #29348: (justinta) Fixes an file.search on python2.6 @ 2015-12-02
356498         23:26:36 UTC
356499
356500         · 760a521603 Merge pull request #29348 from jtand/file_search_fix
356501
356502         · 04f82bd4fd Fixes an file.search on python2.6
356503
356504       · ISSUE  #29206:  (mschiff)   ssh_known_hosts.present   creates   wrong
356505         known_hosts lines (refs: #29276)
356506
356507       · PR  #29336:  (rallytime)  Back-port  #29276  to  2015.5  @ 2015-12-02
356508         19:37:42 UTC
356509
356510         · PR #29276: (abednarik) Prevent adding port twice when adding  entry
356511           in known hosts (refs: #29336)
356512
356513         · 51ea88d489 Merge pull request #29336 from rallytime/bp-29276
356514
356515         · 3a0e19debb  Prevent  adding  port  twice when adding entry in known
356516           hosts
356517
356518       · PR #29333:  (rallytime)  Back-port  #29280  to  2015.5  @  2015-12-02
356519         19:37:05 UTC
356520
356521         · PR #29280: (cachedout) [Doc] Add note for SVN state (refs: #29333)
356522
356523         · PR  #29165:  (titilambert)  [Doc]  Add  note  for  SVN state (refs:
356524           #29280, #29333)
356525
356526         · 28255af52a Merge pull request #29333 from rallytime/bp-29280
356527
356528         · 722d02ff4a Lint
356529
356530         · 4a0040c1b4 [Doc] Add note for SVN state
356531
356532       · PR #29316: (basepi) [2015.5] Merge forward from 2014.7  to  2015.5  @
356533         2015-12-01 20:20:23 UTC
356534
356535         · 14e94b3593   Merge   pull  request  #29316  from  basepi/merge-for‐
356536           ward-2015.5
356537
356538         · 33f40b3c47  Merge  remote-tracking  branch  'upstream/2014.7'  into
356539           merge-forward-2015.5
356540
356541         · d2fb2109a3 Merge pull request #29296 from douardda/patch-3
356542
356543         · d2885390f4 Use process KillMode on Debian systems also
356544
356545       · PR  #29216: (clan) size is 0 doesn't mean no data, e.g, /proc/version
356546         @ 2015-11-30 20:01:43 UTC
356547
356548         · 6a2ffbfb7c      Merge      pull      request      #29216       from
356549           clan/file_search_on_proc_file
356550
356551         · 91a20c07a1 try mmap first
356552
356553         · 8aa4f2053e remove extra space to fix lint failure
356554
356555         · d34e6b1a9a use read only if has read() method
356556
356557         · 3209c1cdb5 size is 0 doesn't mean no data, e.g, /proc/version
356558
356559       · PR  #29261:  (attiasr)  fix incorrect reinstallation of windows pkg @
356560         2015-11-30 18:28:42 UTC
356561
356562         · d6aaae8d7b Merge pull request #29261 from attiasr/patch-1
356563
356564         · 7a99b90596 add log and return if pkg already installed
356565
356566         · 1843c7ab8e fix incorrect reinstallation of windows pkg
356567
356568       · PR #29214: (cro) Doc for salt.utils.http should  say  verify_ssl  not
356569         ssl_verify.  @ 2015-11-25 23:55:38 UTC
356570
356571         · 9236188867 Merge pull request #29214 from cro/ssl_verify_ssl
356572
356573         · e9c13c561b  Doc  bug--salt.utils.http takes verify_ssl not ssl_ver‐
356574           ify.
356575
356576       · ISSUE   #29202:   (lorengordon)   Broken   ca   bundle   lookup    in
356577         salt.utils.http.get_ca_bundle (refs: #29204)
356578
356579       · PR  #29204:  (lorengordon) Use os.path.join to return full path to ca
356580         bundle @ 2015-11-25 20:00:42 UTC
356581
356582         · df7b35a86b Merge pull request #29204 from lorengordon/fix-29202
356583
356584         · b1dae5e6fe Use os.path.join to return full path to ca bundle
356585
356586   Salt 2014.7.0 Release Notes - Codename Helium
356587       This release is the largest Salt release ever, with more  features  and
356588       commits then any previous release of Salt. Everything from the new RAET
356589       transport to major updates in Salt Cloud and the merging  of  Salt  API
356590       into the main project.
356591
356592       IMPORTANT:
356593          The  Fedora/RHEL/CentOS  salt-master  package  has been modified for
356594          this release. The following components of Salt have been broken  out
356595          and placed into their own packages:
356596
356597          · salt-syndic
356598
356599          · salt-cloud
356600
356601          · salt-ssh
356602
356603          When  the  salt-master package is upgraded, these components will be
356604          removed, and they will need to be manually installed.
356605
356606       IMPORTANT:
356607          Compound/pillar matching have been temporarily disabled for the mine
356608          and  publish  modules  for  this  release  due to the possibility of
356609          inferring pillar data using pillar glob matching. A  proper  fix  is
356610          now  in  the  2014.7 branch and scheduled for the  2014.7.1 release,
356611          and compound matching  and  non-globbing  pillar  matching  will  be
356612          re-enabled at that point.
356613
356614          Compound  and  pillar  matching  for  normal salt commands are unaf‐
356615          fected.
356616
356617   New Transport!
356618   RAET Transport Option
356619       This has been a HUGE amount of work, but the beta release of Salt  with
356620       RAET  is  ready to go. RAET is a reliable queuing transport system that
356621       has been developed in partnership with a number of large enterprises to
356622       give  Salt an alternative to ZeroMQ and a way to get Salt to scale well
356623       beyond tens of thousands of servers. Unlike ZeroMQ, RAET is  completely
356624       asynchronous  in  every  aspect of its operation and has been developed
356625       using the flow programming paradigm. This allows for many new capabili‐
356626       ties to be added to Salt in the upcoming releases.
356627
356628       Please keep in mind that this is a beta release of RAET and we hope for
356629       bugs to be worked out, performance to be better realized  and  more  in
356630       the 2015.5.0 release.
356631
356632       Simply  stated, users running Salt with RAET should expect some hiccups
356633       as we hammer out the update. This is a BETA release of Salt RAET.
356634
356635       For information about how to use Salt with RAET please  see  the  tuto‐
356636       rial.
356637
356638   Salt SSH Enhancements
356639       Salt  SSH  has  just entered a new league, with substantial updates and
356640       improvements to make salt-ssh more reliable and easier then ever!  From
356641       new features like the ansible roster and fileserver backends to the new
356642       pypi salt-ssh installer to  lowered  deps  and  a  swath  of  bugfixes,
356643       salt-ssh is basically reborn!
356644
356645   Install salt-ssh Using pip
356646       Salt-ssh is now pip-installable!
356647
356648       https://pypi.python.org/pypi/salt-ssh/
356649
356650       Pip  will  bring  in  all of the required deps, and while some deps are
356651       compiled, they all include pure python  implementations,  meaning  that
356652       any compile errors which may be seen can be safely ignored.
356653
356654          pip install salt-ssh
356655
356656   Fileserver Backends
356657       Salt-ssh  can  now  use the salt fileserver backend system. This allows
356658       for the gitfs, hgfs, s3, and many more ways to centrally  store  states
356659       to  be  easily  used  with salt-ssh. This also allows for a distributed
356660       team to easily use a centralized source.
356661
356662   Saltfile Support
356663       The new saltfile system makes it easy to have a  user  specific  custom
356664       extended configuration.
356665
356666   Ext Pillar
356667       Salt-ssh  can now use the external pillar system. Making it easier then
356668       ever to use salt-ssh with teams.
356669
356670   No More sshpass
356671       Thanks to the enhancements in the salt vt system,  salt-ssh  no  longer
356672       requires  sshpass to send passwords to ssh. This also makes the manipu‐
356673       lation of ssh calls substantially more flexible,  allowing  for  inter‐
356674       cepting ssh calls in a much more fluid way.
356675
356676   Pure Python Shim
356677       The  salt-ssh call originally used a shell script to discover what ver‐
356678       sion of python to execute with and determine the state of the ssh  code
356679       deployment.   This  shell  script  has been replaced with a pure python
356680       version making it easy to increase the capability of the  code  deploy‐
356681       ment without causing platform inconsistency issues with different shell
356682       interpreters.
356683
356684   Custom Module Delivery
356685       Custom modules are now seamlessly delivered. This makes the  deployment
356686       of  custom  grains,  states, execution modules and returners a seamless
356687       process.
356688
356689   CP Module Support
356690       Salt-ssh now makes simple file transfers easier then ever! The cp  mod‐
356691       ule  allows  for files to be conveniently sent from the salt fileserver
356692       system down to systems.
356693
356694   More Thin Directory Options
356695       Salt ssh functions by copying a subset of the salt code, or  salt  thin
356696       down  to  the target system. In the past this was always transferred to
356697       /tmp/.salt and cached there for subsequent commands.
356698
356699       Now, salt thin can be sent to a random directory and removed  when  the
356700       call  is  complete  with  the -W option. The new -W option still uses a
356701       static location but will clean up that location when finished.
356702
356703       The default salt thin location is now user defined,  allowing  multiple
356704       users to cleanly access the same systems.
356705
356706   State System Enhancements
356707   New Imperative State Keyword Listen
356708       The  new  listen and listen_in keywords allow for completely imperative
356709       states by calling the mod_watch() routine after  all  states  have  run
356710       instead of re-ordering the states.
356711
356712   Mod Aggregate Runtime Manipulator
356713       The new mod_aggregate system allows for the state system to rewrite the
356714       state data during execution. This allows for state  definitions  to  be
356715       aggregated dynamically at runtime.
356716
356717       The  best example is found in the pkg state. If mod_aggregate is turned
356718       on, then when the first pkg state is reached,  the  state  system  will
356719       scan  all of the other running states for pkg states and take all other
356720       packages set for install and install them all at once in the first  pkg
356721       state.
356722
356723       These  runtime  modifications  make  it  easy  to  run groups of states
356724       together. In future versions, we hope to  fill  out  the  mod_aggregate
356725       system to build in more and more optimizations.
356726
356727       For more documentation on mod_aggregate, see the documentation.
356728
356729   New Requisites: onchanges and onfail
356730       The  new  onchanges and onchanges_in requisites make a state apply only
356731       if there are changes in the required state. This is useful  to  execute
356732       post hooks after changes occur on a system.
356733
356734       The  other  new requisites, onfail, and onfail_in, allow for a state to
356735       run in reaction to the failure of another state.
356736
356737       For more information about these new  requisites,  see  the  requisites
356738       documentation.
356739
356740   Global onlyif and unless
356741       The  onlyif  and  unless options can now be used for any state declara‐
356742       tion.
356743
356744   Use names to expand and override values
356745       The names declaration in Salt's state system can now  override  or  add
356746       values to the expanded data structure. For example:
356747
356748          my_users:
356749            user.present:
356750              - names:
356751                - larry
356752                - curly
356753                - moe:
356754                  - shell: /bin/zsh
356755                  - groups:
356756                    - wheel
356757              - shell: /bin/bash
356758
356759   Major Features
356760   Scheduler Additions
356761       The Salt scheduler system has received MAJOR enhancements, allowing for
356762       cron-like scheduling and much more granular timing routines.  See  here
356763       for more info.
356764
356765   Red Hat 7 Family Support
356766       All  the  needed  additions  have  been  made to run Salt on RHEL 7 and
356767       derived OSes like CentOS and Scientific.
356768
356769   Fileserver Backends in salt-call
356770       Fileserver backends like gitfs can now be used without a  salt  master!
356771       Just  add the fileserver backend configuration to the minion config and
356772       execute salt-call. This has been a much-requested feature  and  we  are
356773       happy to finally bring it to our users.
356774
356775   Amazon Execution Modules
356776       An  entire  family of execution modules further enhancing Salt's Amazon
356777       Cloud support. They include the following:
356778
356779       · Autoscale Groups (includes state support) -- related: Launch  Control
356780         states
356781
356782       · Cloud Watch (includes state support)
356783
356784       · Elastic Cache (includes state support)
356785
356786       · Elastic Load Balancer (includes state support)
356787
356788       · IAM Identity and Access Management (includes state support)
356789
356790       · Route53 DNS (includes state support)
356791
356792       · Security Groups (includes state support)
356793
356794       · Simple Queue Service (includes state support)
356795
356796   LXC Runner Enhancements
356797       BETA  The  Salt LXC management system has received a number of enhance‐
356798       ments which make running an LXC cloud entirely from Salt an easy propo‐
356799       sition.
356800
356801   Next Gen Docker Management
356802       The  Docker  support  in Salt has been increased at least ten fold. The
356803       Docker API is now completely exposed and Salt ships  with  Docker  data
356804       tracking systems which make automating Docker deployments very easy.
356805
356806   Peer System Performance Improvements
356807       The  peer  system  communication routines have been refined to make the
356808       peer system substantially faster.
356809
356810   SDB
356811       Encryption at rest for configs
356812
356813   GPG Renderer
356814       Encrypted pillar at rest
356815
356816   OpenStack Expansion
356817       Lots of new OpenStack stuff
356818
356819   Queues System
356820       Ran change external queue systems into Salt events
356821
356822   Multi Master Failover Additions
356823       Connecting to multiple masters is more dynamic then ever
356824
356825   Chef Execution Module
356826       Managing Chef with Salt just got even easier!
356827
356828   salt-api Project Merge
356829       The salt-api project has been merged into Salt core and is  now  avail‐
356830       able as part of the regular salt-master package install. No API changes
356831       were made, the salt-api script and init scripts remain intact.
356832
356833       salt-api has always provided Yet Another Pluggable  Interface  to  Salt
356834       (TM)  in the form of "netapi" modules. These are modules that bind to a
356835       port and start a service. Like  many  of  Salt's  other  module  types,
356836       netapi  modules  often have library and configuration dependencies. See
356837       the documentation for each module for instructions.
356838
356839       SEE ALSO:
356840          The full list of netapi modules.
356841
356842   Synchronous and Asynchronous Execution of Runner and Wheel Modules
356843       salt.runner.RunnerClient and salt.wheel.WheelClient  have  both  gained
356844       complimentary  cmd_sync  and cmd_async methods allowing for synchronous
356845       and asynchronous execution of any Runner or Wheel module function,  all
356846       protected  using  Salt's external authentication system. salt-api bene‐
356847       fits from this addition as well.
356848
356849   rest_cherrypy Additions
356850       The rest_cherrypy netapi module provides the main REST API for Salt.
356851
356852   Web Hooks
356853       This release of course includes the Web Hook additions  from  the  most
356854       recent  salt-api  release,  which  allows  external  services to signal
356855       actions within a Salt infrastructure. External services such as  Amazon
356856       SNS,  Travis-CI, or GitHub, as well as internal services that cannot or
356857       should not run a Salt minion daemon can be used as  first-class  compo‐
356858       nents in Salt's rich orchestration capabilities.
356859
356860       The  raw  HTTP request body is now available in the event data. This is
356861       sometimes required information for checking an HMAC signature in  order
356862       to  verify a HTTP request. As an example, Amazon or GitHub requests are
356863       signed this way.
356864
356865   Generating and Accepting Minion Keys
356866       The /key convenience URL generates a public and private key for a  min‐
356867       ion,  automatically  pre-accepts the public key on the Salt Master, and
356868       returns both keys as a tarball for download.
356869
356870       This allows for easily bootstrapping the key on a  new  minion  with  a
356871       single  HTTP  call,  such as with a Kickstart script, all using regular
356872       shell tools.
356873
356874          curl -sS http://salt-api.example.com:8000/keys \
356875                  -d mid=jerry \
356876                  -d username=kickstart \
356877                  -d password=kickstart \
356878                  -d eauth=pam \
356879                  -o jerry-salt-keys.tar
356880
356881   Fileserver Backend Enhancements
356882       All of the fileserver backends  have  been  overhauled  to  be  faster,
356883       lighter,  and  more reliable. The VCS backends (gitfs, hgfs, and svnfs)
356884       have also received a lot of new features.
356885
356886       Additionally, most config parameters for the VCS backends  can  now  be
356887       configured on a per-remote basis, allowing for global config parameters
356888       to be overridden for a specific gitfs/hgfs/svnfs remote.
356889
356890   New gitfs Features
356891   Pygit2 and Dulwich
356892       In addition to supporting GitPython, support  for  pygit2  (0.20.3  and
356893       newer)  and  dulwich  have been added. Provided a compatible version of
356894       pygit2 is installed, it will now be the default  provider.  The  config
356895       parameter  gitfs_provider  has been added to allow one to choose a spe‐
356896       cific provider for gitfs.
356897
356898   Mountpoints
356899       Prior to this release, to serve a file from gitfs at a salt  fileserver
356900       URL of salt://foo/bar/baz.txt, it was necessary to ensure that the par‐
356901       ent directories existed in  the  repository.  A  new  config  parameter
356902       gitfs_mountpoint  allows  gitfs  remotes  to  be  exposed starting at a
356903       user-defined salt:// URL.
356904
356905   Environment Whitelisting/Blacklisting
356906       By default, gitfs will expose all branches and tags as Salt  fileserver
356907       environments.  Two  new  config  parameters,  gitfs_env_whitelist,  and
356908       gitfs_env_blacklist, allow more control over which  branches  and  tags
356909       are  exposed.  More  detailed information on how these two options work
356910       can be found in the Gitfs Walkthrough.
356911
356912   Expanded Authentication Support
356913       As of pygit2 0.20.3, both http(s) and SSH key authentication  are  sup‐
356914       ported,  and  Salt  now  also supports both authentication methods when
356915       using pygit2. Keep in mind that pygit2 0.20.3 is not yet  available  on
356916       many platforms, so those who had been using authenticated git reposito‐
356917       ries with a passphraseless key should  stick  to  GitPython  if  a  new
356918       enough pygit2 is not yet available for the platform on which the master
356919       is running.
356920
356921       A full explanation of how to use authentication can  be  found  in  the
356922       Gitfs Walkthrough.
356923
356924   New hgfs Features
356925   Mountpoints
356926       This  feature  works exactly like its gitfs counterpart. The new config
356927       parameter is called hgfs_mountpoint.
356928
356929   Environment Whitelisting/Blacklisting
356930       This feature works exactly like its gitfs counterpart. The  new  config
356931       parameters are called hgfs_env_whitelist and hgfs_env_blacklist.
356932
356933   New svnfs Features
356934   Mountpoints
356935       This  feature  works exactly like its gitfs counterpart. The new config
356936       parameter is called svnfs_mountpoint.
356937
356938   Environment Whitelisting/Blacklisting
356939       This feature works exactly like its gitfs counterpart. The  new  config
356940       parameters are called svnfs_env_whitelist and svnfs_env_blacklist.
356941
356942   Configurable Trunk/Branches/Tags Paths
356943       Prior  to  this release, the paths where trunk, branches, and tags were
356944       located could only be in directories  named  "trunk",  "branches",  and
356945       "tags"  directly  under  the  root  of the repository. Three new config
356946       parameters (svnfs_trunk,  svnfs_branches,  and  svnfs_tags)  allow  SVN
356947       repositories which are laid out differently to be used with svnfs.
356948
356949   New minionfs Features
356950   Mountpoint
356951       This  feature  works exactly like its gitfs counterpart. The new config
356952       parameter is called minionfs_mountpoint. The one  major  difference  is
356953       that, as minionfs doesn't use multiple remotes (it just serves up files
356954       pushed to the master using  cp.push)  there  is  no  such  thing  as  a
356955       per-remote configuration for minionfs_mountpoint.
356956
356957   Changing the Saltenv from Which Files are Served
356958       A  new  config  parameter  (minionfs_env)  allows  minionfs files to be
356959       served from a Salt fileserver environment other than base.
356960
356961   Minion Whitelisting/Blacklisting
356962       By default, minionfs will expose the pushed files from all minions. Two
356963       new  config  parameters,  minionfs_whitelist,  and  minionfs_blacklist,
356964       allow minionfs to be restricted to serve files from  only  the  desired
356965       minions.
356966
356967   Pyobjects Renderer
356968       Salt  now  ships  with with the Pyobjects Renderer that allows for con‐
356969       struction of States using pure Python with an idiomatic  object  inter‐
356970       face.
356971
356972   New Modules
356973       In  addition to the Amazon modules mentioned above, there are also sev‐
356974       eral other new execution modules:
356975
356976       · Oracle
356977
356978       · Random
356979
356980       · Redis
356981
356982       · Amazon Simple Queue Service
356983
356984       · Block Device Management
356985
356986       · CoreOS etcd
356987
356988       · Genesis
356989
356990       · InfluxDB
356991
356992       · Server Density
356993
356994       · Twilio Notifications
356995
356996       · Varnish
356997
356998       · ZNC IRC Bouncer
356999
357000       · SMTP
357001
357002   New Runners
357003       · Map/Reduce Style
357004
357005       · Queue
357006
357007   New External Pillars
357008       · CoreOS etcd
357009
357010   New Salt-Cloud Providers
357011       · Aliyun ECS Cloud
357012
357013       · LXC Containers
357014
357015       · Proxmox (OpenVZ containers & KVM)
357016
357017   Salt Call Change
357018       When used with a returner, salt-call now contacts a master  if  --local
357019       is not specicified.
357020
357021   Deprecations
357022   salt.modules.virtualenv_mod
357023       · Removed deprecated memoize function from salt/utils/__init__.py (dep‐
357024         recated)
357025
357026       · Removed deprecated no_site_packages  argument  from  create  function
357027         (deprecated)
357028
357029       · Removed   deprecated   check_dns   argument  from  minion_config  and
357030         apply_minion_config functions (deprecated)
357031
357032       · Removed    deprecated    OutputOptionsWithTextMixIn    class     from
357033         salt/utils/parsers.py (deprecated)
357034
357035       · Removed the following deprecated functions from salt/modules/ps.py: -
357036         physical_memory_usage  (deprecated)  -  virtual_memory_usage  (depre‐
357037         cated)  -  cached_physical_memory (deprecated) - physical_memory_buf‐
357038         fers (deprecated)
357039
357040       · Removed deprecated cloud  arguments  from  cloud_config  function  in
357041         salt/config.py:  -  vm_config  (deprecated)  - vm_config_path (depre‐
357042         cated)
357043
357044       · Removed deprecated  libcloud_version  function  from  salt/cloud/lib‐
357045         cloudfuncs.py (deprecated)
357046
357047       · Removed  deprecated CloudConfigMixIn class from salt/utils/parsers.py
357048         (deprecated)
357049
357050   Salt 2014.7.1 Release Notes
357051       release
357052              2015-01-12
357053
357054       Version 2014.7.1 is a bugfix release for 2014.7.0.
357055
357056       The changes include:
357057
357058       · Fixed gitfs serving symlinks in file.recurse states (issue #17700)
357059
357060       · Fixed holding of multiple packages (YUM) when combined  with  version
357061         pinning (issue #18468)
357062
357063       · Fixed  use of Jinja templates in masterless mode with non-roots file‐
357064         server backend (issue #17963)
357065
357066       · Re-enabled pillar and compound matching for mine and  publish  calls.
357067         Note  that  pillar  globbing  is  still disabled for those modes, for
357068         security reasons.  (issue #17194)
357069
357070       · Fix for tty: True in salt-ssh (issue #16847)
357071
357072       · Fix for supervisord states when supervisor not  installed  to  system
357073         python (issue #18044)
357074
357075       · Fix for logging when log_level='quiet' for cmd.run (issue #19479)
357076
357077   Salt 2014.7.2 Release Notes
357078       release
357079              2015-02-09
357080
357081       Version 2014.7.2 is a bugfix release for 2014.7.0.
357082
357083       The changes include:
357084
357085       · Fix  erroneous  warnings  for  systemd  service  enabled check (issue
357086         #19606)
357087
357088       · Fix FreeBSD kernel module loading, listing, and persistence  kmod  (‐
357089         issue #197151, issue #19682)
357090
357091       · Allow  case-sensitive  npm  package names in the npm state.  This may
357092         break behavior for people expecting the state to lowercase their  npm
357093         package  names for them.  The npm module was never affected by manda‐
357094         tory lowercasing.  (issue #20329)
357095
357096       · Deprecate the activate parameter for pip.install for both the  module
357097         and the state.  If bin_env is given and points to a virtualenv, there
357098         is no need to activate that virtualenv in a shell for pip to  install
357099         to the virtualenv.
357100
357101       · Fix a file-locking bug in gitfs (issue #18839)
357102
357103       · Deprecated  archive_user  in  favor of standardized user parameter in
357104         state and added group parameter.
357105
357106   Salt 2014.7.3 Release Notes
357107       release
357108              2015-03-25
357109
357110       Version 2014.7.3 is a bugfix release for 2014.7.0.
357111
357112       Changes:
357113
357114       · Multi-master minions mode no longer route fileclient operations  asy‐
357115         metrically.   This  fixes  the source of many multi-master bugs where
357116         the minion would become unrepsonsive from one or more masters.
357117
357118       · Fix bug wherein network.iface could produce stack traces.
357119
357120       · net.arp will no longer be made available unless arp is  installed  on
357121         the system.
357122
357123       · Major performance improvements to Saltnado
357124
357125       · Allow KVM module to operate under KVM itself or VMware Fusion
357126
357127       · Various fixes to the Windows installation scripts
357128
357129       · Fix issue where the syndic would not correctly propagate loads to the
357130         master job cache.
357131
357132       · Improve error handling on  invalid  /etc/network/interfaces  file  in
357133         salt networking modules
357134
357135       · Fix  bug  where  a  response  status  was  not  checked  for in file‐
357136         client.get_url
357137
357138       · Enable eauth when running salt in batch mode
357139
357140       · Increase timeout in Boto Route53 module
357141
357142       · Fix bugs with Salt's 'tar' module option parsing
357143
357144       · Fix parsing of NTP servers on Windows
357145
357146       · Fix issue with blockdev tuning not reporting changes correctly
357147
357148       · Update to the latest Salt bootstrap script
357149
357150       · Update Linode  salt-cloud  driver  to  use  either  linode-python  or
357151         apache-libcloud
357152
357153       · Fix for s3.query function to return correct headers
357154
357155       · Fix for s3.head returning None for files that exist
357156
357157       · Fix the disable function in win_service module so that the service is
357158         disabled correctly
357159
357160       · Fix race condition between master and minion when making a  directory
357161         when both daemons are on the same host
357162
357163       · Fix an issue where file.recurse would fail at the root of an svn repo
357164         when the repo has a mountpoint
357165
357166       · Fix an issue where file.recurse would fail at the  root  of  an  hgfs
357167         repo when the repo has a mountpoint
357168
357169       · Fix  an  issue  where file.recurse would fail at the root of an gitfs
357170         repo when the repo has a mountpoint
357171
357172       · Add status.master capability for Windows.
357173
357174       · Various fixes to ssh_known_hosts
357175
357176       · Various fixes to states.network bonding for Debian
357177
357178       · The debian_ip.get_interfaces module no longer removes nameservers.
357179
357180       · Better integration between grains.virtual and systemd-detect-virt and
357181         virt-what
357182
357183       · Fix traceback in sysctl.present state output
357184
357185       · Fix  for issue where mount.mounted would fail when superopts were not
357186         a part of mount.active (extended=True).  Also  mount.mounted  various
357187         fixes for Solaris and FreeBSD.
357188
357189       · Fix error where datetimes were not correctly safeguarded before being
357190         passed into msgpack.
357191
357192       · Fix file.replace regressions.  If the pattern is not  found,  and  if
357193         dry  run is False, and if backup is False, and if a pre-existing file
357194         exists with extension .bak, then that backup file will  be  overwrit‐
357195         ten.  This backup behavior is a result of how fileinput works. Fixing
357196         it requires either passing through the file  twice  (the  first  time
357197         only to search for content and set a flag), or rewriting file.replace
357198         so it doesn't use fileinput
357199
357200       · VCS filreserver fixes/optimizations
357201
357202       · Catch fileserver configuration errors on master start
357203
357204       · Raise errors on invalid gitfs configurations
357205
357206       · set_locale when locale file does not exist (Redhat family)
357207
357208       · Fix to correctly count active devices when created mdadm  array  with
357209         spares
357210
357211       · Fix to correctly target minions in batch mode
357212
357213       · Support ssh:// urls using the gitfs dulwhich backend
357214
357215       · New fileserver runner
357216
357217       · Fix various bugs with argument parsing to the publish module.
357218
357219       · Fix disk.usage for Synology OS
357220
357221       · Fix issue with tags occurring twice with docker.pulled
357222
357223       · Fix incorrect key error in SMTP returner
357224
357225       · Fix condition which would remount loopback filesystems on every state
357226         run
357227
357228       · Remove requsites from listens after they are called in the state sys‐
357229         tem
357230
357231       · Make system implementation of service.running aware of legacy service
357232         calls
357233
357234       · Fix issue where publish.publish would not handle duplicate  responses
357235         gracefully.
357236
357237       · Accept Kali Linux for aptpkg salt execution module
357238
357239       · Fix bug where cmd.which could not handle a dirname as an argument
357240
357241       · Fix issue in ps.pgrep where exceptions were thrown on Windows.
357242
357243       Known issues:
357244
357245       · In  multimaster mode, a minion may become temporarily unresponsive if
357246         modules or pillars are refreshed at the same time that  one  or  more
357247         masters are down. This can be worked around by setting 'auth_timeout'
357248         and 'auth_tries' down to shorter periods.
357249
357250   Salt 2014.7.4 Release Notes
357251       release
357252              2015-03-30
357253
357254       Version 2014.7.4 is a bugfix release for 2014.7.0.
357255
357256       This is a security release. The security issues fixed  have  only  been
357257       present  since  2014.7.0,  and only users of the two listed modules are
357258       vulnerable. The following CVEs have been resolved:
357259
357260       · CVE-2015-1838 SaltStack: insecure /tmp  file  handling  in  salt/mod‐
357261         ules/serverdensity_device.py
357262
357263       · CVE-2015-1839  SaltStack:  insecure  /tmp  file handling in salt/mod‐
357264         ules/chef.py
357265
357266       Changes:
357267
357268       · Multi-master minions mode no longer route fileclient operations  asy‐
357269         metrically.   This  fixes  the source of many multi-master bugs where
357270         the minion would become unrepsonsive from one or more masters.
357271
357272       · Fix bug wherein network.iface could produce stack traces.
357273
357274       · net.arp will no longer be made available unless arp is  installed  on
357275         the system.
357276
357277       · Major performance improvements to Saltnado
357278
357279       · Allow KVM module to operate under KVM itself or VMware Fusion
357280
357281       · Various fixes to the Windows installation scripts
357282
357283       · Fix issue where the syndic would not correctly propagate loads to the
357284         master job cache.
357285
357286       · Improve error handling on  invalid  /etc/network/interfaces  file  in
357287         salt networking modules
357288
357289       · Fix  bug  where  a  response  status  was  not  checked  for in file‐
357290         client.get_url
357291
357292       · Enable eauth when running salt in batch mode
357293
357294       · Increase timeout in Boto Route53 module
357295
357296       · Fix bugs with Salt's 'tar' module option parsing
357297
357298       · Fix parsing of NTP servers on Windows
357299
357300       · Fix issue with blockdev tuning not reporting changes correctly
357301
357302       · Update to the latest Salt bootstrap script
357303
357304       · Update Linode  salt-cloud  driver  to  use  either  linode-python  or
357305         apache-libcloud
357306
357307       · Fix for s3.query function to return correct headers
357308
357309       · Fix for s3.head returning None for files that exist
357310
357311       · Fix the disable function in win_service module so that the service is
357312         disabled correctly
357313
357314       · Fix race condition between master and minion when making a  directory
357315         when both daemons are on the same host
357316
357317       · Fix an issue where file.recurse would fail at the root of an svn repo
357318         when the repo has a mountpoint
357319
357320       · Fix an issue where file.recurse would fail at the  root  of  an  hgfs
357321         repo when the repo has a mountpoint
357322
357323       · Fix  an  issue  where file.recurse would fail at the root of an gitfs
357324         repo when the repo has a mountpoint
357325
357326       · Add status.master capability for Windows.
357327
357328       · Various fixes to ssh_known_hosts
357329
357330       · Various fixes to states.network bonding for Debian
357331
357332       · The debian_ip.get_interfaces module no longer removes nameservers.
357333
357334       · Better integration between grains.virtual and systemd-detect-virt and
357335         virt-what
357336
357337       · Fix traceback in sysctl.present state output
357338
357339       · Fix  for issue where mount.mounted would fail when superopts were not
357340         a part of mount.active (extended=True).  Also  mount.mounted  various
357341         fixes for Solaris and FreeBSD.
357342
357343       · Fix error where datetimes were not correctly safeguarded before being
357344         passed into msgpack.
357345
357346       · Fix file.replace regressions.  If the pattern is not  found,  and  if
357347         dry  run is False, and if backup is False, and if a pre-existing file
357348         exists with extension .bak, then that backup file will  be  overwrit‐
357349         ten.  This backup behavior is a result of how fileinput works. Fixing
357350         it requires either passing through the file  twice  (the  first  time
357351         only to search for content and set a flag), or rewriting file.replace
357352         so it doesn't use fileinput
357353
357354       · VCS filreserver fixes/optimizations
357355
357356       · Catch fileserver configuration errors on master start
357357
357358       · Raise errors on invalid gitfs configurations
357359
357360       · set_locale when locale file does not exist (Redhat family)
357361
357362       · Fix to correctly count active devices when created mdadm  array  with
357363         spares
357364
357365       · Fix to correctly target minions in batch mode
357366
357367       · Support ssh:// urls using the gitfs dulwhich backend
357368
357369       · New fileserver runner
357370
357371       · Fix various bugs with argument parsing to the publish module.
357372
357373       · Fix disk.usage for Synology OS
357374
357375       · Fix issue with tags occurring twice with docker.pulled
357376
357377       · Fix incorrect key error in SMTP returner
357378
357379       · Fix condition which would remount loopback filesystems on every state
357380         run
357381
357382       · Remove requsites from listens after they are called in the state sys‐
357383         tem
357384
357385       · Make system implementation of service.running aware of legacy service
357386         calls
357387
357388       · Fix issue where publish.publish would not handle duplicate  responses
357389         gracefully.
357390
357391       · Accept Kali Linux for aptpkg salt execution module
357392
357393       · Fix bug where cmd.which could not handle a dirname as an argument
357394
357395       · Fix issue in ps.pgrep where exceptions were thrown on Windows.
357396
357397       Known issues:
357398
357399       · In  multimaster mode, a minion may become temporarily unresponsive if
357400         modules or pillars are refreshed at the same time that  one  or  more
357401         masters are down. This can be worked around by setting 'auth_timeout'
357402         and 'auth_tries' down to shorter periods.
357403
357404       · There are known issues with batch mode  operating  on  the  incorrect
357405         number  of  minions.  This bug can be patched with the change in Pull
357406         Request #22464.
357407
357408       · The fun, state, and unless keywords are missing from the state inter‐
357409         nals,  which  can cause problems running some states. This bug can be
357410         patched with the change in Pull Request #22365.
357411
357412   Salt 2014.7.5 Release Notes
357413       release
357414              2015-04-16
357415
357416       Version 2014.7.5 is a bugfix release for 2014.7.0.
357417
357418       Changes:
357419
357420       · Fixed a key error bug in salt-cloud
357421
357422       · Updated man pages to better match documentation
357423
357424       · Fixed bug concerning high CPU usage with salt-ssh
357425
357426       · Fixed bugs with remounting cvfs and fuse filesystems
357427
357428       · Fixed bug with alowing requisite tracking of entire sls files
357429
357430       · Fixed bug with aptpkg.mod_repo returning OK even  if  apt-add-reposi‐
357431         tory fails
357432
357433       · Increased frequency of ssh terminal output checking
357434
357435       · Fixed malformed locale string in localmod module
357436
357437       · Fixed  checking  of available version of package when accept_keywords
357438         were changed
357439
357440       · Fixed bug to make git.latest work with empty repositories
357441
357442       · Added **kwargs to  service.mod_watch  which  removes  warnings  about
357443         enable and __reqs__ not being supported by the function
357444
357445       · Improved state comments to not grow so quickly on failed requisites
357446
357447       · Added force argument to service to trigger force_reload
357448
357449       · Fixed bug to andle pkgrepo keyids that have been converted to int
357450
357451       · Fixed module.portage_config bug with appending accept_keywords
357452
357453       · Fixed bug to correctly report disk usage on windows minion
357454
357455       · Added the ability to specify key prefix for S3 ext_pillar
357456
357457       · Fixed  issues  with  batch  mode operating on the incorrect number of
357458         minions
357459
357460       · Fixed a bug with the proxmox cloud provider stacktracing on disk def‐
357461         inition
357462
357463       · Fixed a bug with the changes dictionary in the file state
357464
357465       · Fixed the TCP keep alive settings to work better with SREQ caching
357466
357467       · Fixed many bugs within the iptables state and module
357468
357469       · Fixed  bug  with states by adding fun, state, and unless to the state
357470         runtime internal keywords listing
357471
357472       · Added ability to eAuth against Active Directory
357473
357474       · Fixed some salt-ssh issues when running on Fedora 21
357475
357476       · Fixed grains.get_or_set_hash to work with multiple entries under same
357477         key
357478
357479       · Added  better explanations and more examples of how the Reactor calls
357480         functions to docs
357481
357482       · Fixed bug to not pass ex_config_drive to libcloud unless it's explic‐
357483         itly enabled
357484
357485       · Fixed bug with pip.install on windows
357486
357487       · Fixed bug where puppet.run always returns a 0 retcode
357488
357489       · Fixed race condition bug with minion scheduling via pillar
357490
357491       · Made efficiency improvements and bug fixes to the windows installer
357492
357493       · Updated  environment  variables  to  fix bug with pygit2 when running
357494         salt as non-root user
357495
357496       · Fixed cas behavior on data module -- data.cas was not saving changes
357497
357498       · Fixed GPG rendering error
357499
357500       · Fixed strace error in virt.query
357501
357502       · Fixed stacktrace when running chef-solo command
357503
357504       · Fixed possible bug wherein uncaught exceptions seem to make zmq3  tip
357505         over when threading is involved
357506
357507       · Fixed argument passing to the reactor
357508
357509       · Fixed  glibc  caching to prevent bug where salt-minion getaddrinfo in
357510         dns_check() never got updated nameservers
357511
357512       Known issues:
357513
357514       · In multimaster mode, a minion may become temporarily unresponsive  if
357515         modules  or  pillars  are refreshed at the same time that one or more
357516         masters are down. This can be worked around by setting 'auth_timeout'
357517         and 'auth_tries' down to shorter periods.
357518
357519   Salt 2014.7.6 Release Notes
357520       release
357521              2015-05-18
357522
357523       Version 2014.7.6 is a bugfix release for 2014.7.0.
357524
357525   Statistics
357526       · Total Merges: 122
357527
357528       · Total Issue References: 66
357529
357530       · Total PR References: 166
357531
357532       · Contributors:  49  (0xf10e,  Azidburn,  F30,  JaseFace, JohannesEbke,
357533         aletourneau, aneeshusa,  basepi,  bastichelaar,  bersace,  cachedout,
357534         cedwards, cellscape, chris-prince, clan, clinta, cr1st1p, cro, dr4Ke,
357535         ericfode, ether42, garethgreenaway, gtmanfred, hvnsweeting, jfindlay,
357536         jleroy,  joejulian,  justinta,  kaithar, lorengordon, martinhoefling,
357537         mguegan,  multani,  notpeter,  panticz,  rallytime,  rominf,   rubic,
357538         s0undt3ch,  skizunov, slinu3d, t0rrant, techhat, teizz, terminalmage,
357539         thatch45, twangboy, vdesjardins, vr-jack)
357540
357541   Security Fix
357542       CVE-2015-4017 Certificates are not verified when connecting  to  server
357543       in the Aliyun and Proxmox modules
357544
357545       Only users of the Aliyun or Proxmox cloud modules are at risk. The vul‐
357546       nerability does not exist in the latest 2015.5.0 release of Salt.
357547
357548   Changelog for v2014.7.5..v2014.7.6
357549       Generated at: 2018-05-27 20:42:49 UTC
357550
357551       · PR  #23810:  (rallytime)  Backport  #23757  to  2014.7  @  2015-05-18
357552         15:30:21 UTC
357553
357554         · PR  #23757:  (clan) use abspath, do not eliminating symlinks (refs:
357555           #23810)
357556
357557         · aee00c83df Merge pull request #23810 from rallytime/bp-23757
357558
357559         · fb32c32065 use abspath, do not eliminating symlinks
357560
357561       · ISSUE #20198: (jcftang) virt.get_graphics, virt.get_nics are  broken,
357562         in turn breaking other things (refs: #23809, #21469)
357563
357564       · PR  #23809: (rallytime) Fix virtualport section of virt.get_nics loop
357565         @ 2015-05-18 15:30:09 UTC
357566
357567         · PR #21487: (rallytime) Backport #21469 to 2014.7 (refs: #23809)
357568
357569         · PR  #21469:  (vdesjardins)  fixes  #20198:  virt.get_graphics   and
357570           virt.get_nics calls in module virt (refs: #21487)
357571
357572         · 6b3352bb1a     Merge    pull    request    #23809    from    rally‐
357573           time/virt_get_nics_fix
357574
357575         · 0616fb7884 Fix virtualport section of virt.get_nics loop
357576
357577       · PR #23823: (gtmanfred) add link local for ipv6 @ 2015-05-17  12:48:25
357578         UTC
357579
357580         · 188f03f567 Merge pull request #23823 from gtmanfred/2014.7
357581
357582         · 5ef006d59d add link local for ipv6
357583
357584       · PR #23802: (gtmanfred) if it is ipv6 ip_to_int will fail @ 2015-05-16
357585         04:06:59 UTC
357586
357587         · PR #23573: (techhat) Scan all available  networks  for  public  and
357588           private IPs (refs: #23802)
357589
357590         · f3ca682f92 Merge pull request #23802 from gtmanfred/2014.7
357591
357592         · 2da98b58c8 if it is ipv6 ip_to_int will fail
357593
357594       · PR #23488: (cellscape) LXC cloud fixes @ 2015-05-15 18:09:35 UTC
357595
357596         · d9af0c3e82 Merge pull request #23488 from cellscape/lxc-cloud-fixes
357597
357598         · 64250a67e5 Remove profile from opts after creating LXC container
357599
357600         · c4047d2a71 Set destroy=True in opts when destroying cloud instance
357601
357602         · 9e1311a7cd  Store  instance  names  in  opts  when performing cloud
357603           action
357604
357605         · 934bc57c73 Correctly pass custom env to lxc-attach
357606
357607         · 7fb85f7be1 Preserve test=True option in cloud states
357608
357609         · 9771b5a313 Fix detection of absent LXC container in cloud state
357610
357611         · fb24f0cf02 Report failure when failed to create/clone LXC container
357612
357613         · 2d9aa2bb97 Avoid shadowing variables in lxc module
357614
357615         · 792e1021f2    Allow    to    override    profile     options     in
357616           lxc.cloud_init_interface
357617
357618         · 42bd64b9b3 Return changes on successful lxc.create from salt-cloud
357619
357620         · 4409eabb83 Return correct result when creating cloud LXC container
357621
357622         · 377015c881   Issue   #16424:   List  all  providers  when  creating
357623           salt-cloud instance without profile
357624
357625       · ISSUE  #22332:  (rallytime)  [salt-ssh]  Add  a  check  for  host  in
357626         /etc/salt/roster (refs: #23748)
357627
357628       · PR  #23748:  (basepi) [2014.7] Log salt-ssh roster render errors more
357629         assertively and verbosely @ 2015-05-14 22:38:10 UTC
357630
357631         · 808bbe1cb2 Merge  pull  request  #23748  from  basepi/salt-ssh.ros‐
357632           ter.host.check
357633
357634         · bc53e049e0 Log entire exception for render errors in roster
357635
357636         · 753de6a621 Log render errors in roster to error level
357637
357638         · e01a7a90b3 Always let the real YAML error through
357639
357640       · ISSUE  #22959:  (highlyunavailable) Windows Salt hangs if file.direc‐
357641         tory is trying to write to a drive that doesn't exist (refs: #23731)
357642
357643       · PR #23731: (twangboy) Fixes #22959: Trying to add a directory  to  an
357644         unmapped drive in windows @ 2015-05-14 21:59:14 UTC
357645
357646         · 72cf360255 Merge pull request #23731 from twangboy/fix_22959
357647
357648         · 88e5495b2d  Fixes  #22959: Trying to add a directory to an unmapped
357649           drive in windows
357650
357651       · PR  #23730:  (rallytime)  Backport  #23729  to  2014.7  @  2015-05-14
357652         21:58:34 UTC
357653
357654         · PR  #23729:  (rallytime) Partially merge #23437 (grains fix) (refs:
357655           #23730)
357656
357657         · PR #23437: (cedwards) Grains item patch (refs: #23729)
357658
357659         · 2610195262 Merge pull request #23730 from rallytime/bp-23729
357660
357661         · 1877caecba adding support for nested grains to grains.item
357662
357663       · PR #23688: (twangboy) Added inet_pton  to  utils/validate/net.py  for
357664         ip.set_static_ip in windows @ 2015-05-14 16:15:56 UTC
357665
357666         · 3e9df883d6 Merge pull request #23688 from twangboy/fix_23415
357667
357668         · 6a91169bae Fixed unused-import pylint error
357669
357670         · 5e25b3f355 fixed pylint errors
357671
357672         · 1a9676626f    Added    inet_pton   to   utils/validate/net.py   for
357673           ip.set_static_ip in windows
357674
357675       · ISSUE #23403: (iamfil)  salt.runners.cloud.action  fun  parameter  is
357676         replaced (refs: #23680)
357677
357678       · PR  #23680:  (cachedout)  Rename  kwarg  in cloud runner @ 2015-05-13
357679         19:44:02 UTC
357680
357681         · 1b86460d73 Merge pull request #23680 from cachedout/issue_23403
357682
357683         · d5986c21b4 Rename kwarg in cloud runner
357684
357685       · ISSUE #23548: (kkaig) grains.list_present produces incorrect (?) out‐
357686         put (refs: #23674)
357687
357688       · PR #23674: (cachedout) Handle lists correctly in grains.list_prsesent
357689         @ 2015-05-13 18:34:58 UTC
357690
357691         · cd64af0ce4 Merge pull request #23674 from cachedout/issue_23548
357692
357693         · da8a2f5cb3 Handle lists correctly in grains.list_prsesent
357694
357695       · PR #23672: (twangboy) Fix user present @ 2015-05-13 18:30:09 UTC
357696
357697         · d322a19213 Merge pull request #23672 from twangboy/fix_user_present
357698
357699         · 731e7af3dd         Merge         branch         '2014.7'         of
357700           https://github.com/saltstack/salt into fix_user_present
357701
357702         · d6f70a4545 Fixed user.present to create password in windows
357703
357704       · ISSUE  #23604:  (Azidburn)  service.dead  on systemd Minion create an
357705         Error Message (refs: #23607)
357706
357707       · PR  #23670:  (rallytime)  Backport  #23607  to  2014.7  @  2015-05-13
357708         18:27:17 UTC
357709
357710         · PR  #23607: (Azidburn) Fix for #23604. No error reporting. Exitcode
357711           !=0 are ok (refs: #23670)
357712
357713         · 43f7025000 Merge pull request #23670 from rallytime/bp-23607
357714
357715         · ed30dc4642 Fix for #23604. No error reporting. Exitcode !=0 are ok
357716
357717       · ISSUE #22141: (Deshke) grains.get_or_set_hash render  error  if  hash
357718         begins with "%" (refs: #23640)
357719
357720       · PR  #23661: (rallytime) Merge #23640 with whitespace fix @ 2015-05-13
357721         15:47:30 UTC
357722
357723         · PR  #23640:  (cachedout)  Add  warning  to  get_or_set_hash   about
357724           reserved chars (refs: #23661)
357725
357726         · 0f006ac1d8 Merge pull request #23661 from rallytime/merge-23640
357727
357728         · 4427f42bb6 Whitespace fix
357729
357730         · dd9115466e Add warning to get_or_set_hash about reserved chars
357731
357732       · ISSUE  #23452:  (landergate)  minion  crashed with empty grain (refs:
357733         #23639)
357734
357735       · PR #23639: (cachedout) Handle  exceptions  raised  by  __virtual__  @
357736         2015-05-13 15:11:12 UTC
357737
357738         · 84e2ef88fc Merge pull request #23639 from cachedout/issue_23452
357739
357740         · d418b49a77 Syntax error!
357741
357742         · 45b4015d7d Handle exceptions raised by __virtual__
357743
357744       · ISSUE  #23611:  (hubez) master_type set to 'failover' but 'master' is
357745         not of type list but of type <type 'str'> (refs: #23637)
357746
357747       · PR #23637: (cachedout)  Convert  str  master  to  list  @  2015-05-13
357748         15:08:19 UTC
357749
357750         · bd9b94ba8c Merge pull request #23637 from cachedout/issue_23611
357751
357752         · 56cb1f52e3 Fix typo
357753
357754         · f6fcf19a7f Convert str master to list
357755
357756       · PR  #23595:  (rallytime)  Backport  #23549  to  2014.7  @  2015-05-12
357757         21:19:40 UTC
357758
357759         · PR #23549: (vr-jack) Update __init__.py (refs: #23595)
357760
357761         · f20c0e42ce Merge pull request #23595 from rallytime/bp-23549
357762
357763         · 6efcac09ad Update __init__.py
357764
357765       · ISSUE  #23110:  (martinhoefling)  Copying   files   from   gitfs   in
357766         file.recurse state fails (refs: #23496)
357767
357768       · PR  #23594:  (rallytime)  Backport  #23496  to  2014.7  @  2015-05-12
357769         21:19:34 UTC
357770
357771         · PR #23496: (martinhoefling) Fix for issue #23110 (refs: #23594)
357772
357773         · 1acaf86da7 Merge pull request #23594 from rallytime/bp-23496
357774
357775         · d5ae1d268a Fix for issue  #23110  This  resolves  issues  when  the
357776           freshly created directory is removed by fileserver.update.
357777
357778       · PR  #23593:  (rallytime)  Backport  #23442  to  2014.7  @  2015-05-12
357779         21:19:26 UTC
357780
357781         · PR #23442: (clan) add directory itself to keep list (refs: #23593)
357782
357783         · 2c221c7332 Merge pull request #23593 from rallytime/bp-23442
357784
357785         · 39869a15bd check w/ low['name'] only
357786
357787         · 304cc499e9 another fix for file defined w/ id, but require name
357788
357789         · 8814d4180e add directory itself to keep list
357790
357791       · PR #23606: (twangboy) Fixed checkbox for starting service  and  actu‐
357792         ally starting it @ 2015-05-12 21:18:50 UTC
357793
357794         · fadd1ef63c Merge pull request #23606 from twangboy/fix_installer
357795
357796         · 038331edab  Fixed checkbox for starting service and actually start‐
357797           ing it
357798
357799       · ISSUE #22908: (karanjad) Add failhard option  to  salt  orchestration
357800         (refs: #23389)
357801
357802       · PR  #23592:  (rallytime)  Backport  #23389  to  2014.7  @  2015-05-12
357803         16:44:42 UTC
357804
357805         · PR #23389: (cachedout) Correct fail_hard typo (refs: #23592)
357806
357807         · 10b3f0f643 Merge pull request #23592 from rallytime/bp-23389
357808
357809         · 734cc43801 Correct fail_hard typo
357810
357811       · PR #23573: (techhat) Scan all available networks for public and  pri‐
357812         vate IPs (refs: #23802) @ 2015-05-12 15:22:22 UTC
357813
357814         · cd34b9b6c4 Merge pull request #23573 from techhat/novaquery
357815
357816         · f92db5e92f Linting
357817
357818         · 26e00d3ccc Scan all available networks for public and private IPs
357819
357820       · ISSUE  #23479: (danielmorlock) Typo in pkg.removed for Gentoo? (refs:
357821         #23558)
357822
357823       · PR #23558:  (jfindlay)  reorder  emerge  command  line  @  2015-05-12
357824         15:17:46 UTC
357825
357826         · 2a72cd71c2 Merge pull request #23558 from jfindlay/fix_ebuild
357827
357828         · 45404fb2a6 reorder emerge command line
357829
357830       · ISSUE  #23355:  (dr4Ke) salt-ssh: 'sources: salt://' files from 'pkg'
357831         state are not included in salt_state.tgz (refs: #23530)
357832
357833       · PR #23530: (dr4Ke) salt-ssh state: fix including all  salt://  refer‐
357834         ences @ 2015-05-12 15:13:43 UTC
357835
357836         · a664a3c6fd       Merge      pull      request      #23530      from
357837           dr4Ke/fix_salt-ssh_to_include_pkg_sources
357838
357839         · 5df6a8008c fix pylint warning
357840
357841         · d0549e56ba salt-ssh state: fix including all salt:// references
357842
357843       · ISSUE #23004: (b18) 2014.7.5 -  Windows  -  pkg.list_pkgs  -  "nxlog"
357844         never shows up in output. (refs: #23433)
357845
357846       · PR  #23433:  (twangboy)  Obtain  all  software  from  the  registry @
357847         2015-05-11 22:47:52 UTC
357848
357849         · 55c3869861 Merge pull request #23433 from twangboy/list_pkgs_fix
357850
357851         · 8ab5b1b86f Fix pylint error
357852
357853         · 2d11d6545e Obtain all software from the registry
357854
357855       · PR #23554: (jleroy) Debian:  Hostname  always  updated  @  2015-05-11
357856         21:57:00 UTC
357857
357858         · 755bed0abd  Merge  pull  request  #23554  from  jleroy/debian-host‐
357859           name-fix
357860
357861         · 5ff749e487 Debian: Hostname always updated
357862
357863       · ISSUE #23411: (dr4Ke) grains.append should work at  any  level  of  a
357864         grain (refs: #23440, #23474)
357865
357866       · PR  #23551:  (dr4Ke)  grains.append  unit  tests, related to #23474 @
357867         2015-05-11 21:54:25 UTC
357868
357869         · PR #23474: (dr4Ke) Fix grains.append in nested  dictionnary  grains
357870           #23411 (refs: #23551)
357871
357872         · PR  #23440:  (dr4Ke) fix grains.append in nested dictionnary grains
357873           #23411 (refs: #23474)
357874
357875         · 6ec87ce9f5      Merge      pull      request      #23551       from
357876           dr4Ke/grains.append_unit_tests
357877
357878         · ebff9df5b2 fix pylint errors
357879
357880         · c4954046ad unit tests for grains.append module function
357881
357882         · 0c9a32326c use MagickMock
357883
357884         · c838a22377 unit tests for grains.append module function
357885
357886       · ISSUE  #23411:  (dr4Ke)  grains.append  should work at any level of a
357887         grain (refs: #23440, #23474)
357888
357889       · PR #23474: (dr4Ke) Fix grains.append  in  nested  dictionnary  grains
357890         #23411 (refs: #23551) @ 2015-05-11 18:00:21 UTC
357891
357892         · PR  #23440:  (dr4Ke) fix grains.append in nested dictionnary grains
357893           #23411 (refs: #23474)
357894
357895         · e96c5c5bf3      Merge      pull      request      #23474       from
357896           dr4Ke/fix_grains.append_nested
357897
357898         · a01a5bb51e   grains.get,   parameter   delimititer,   versionadded:
357899           2014.7.6
357900
357901         · b39f50475d remove debugging output
357902
357903         · b6e15e295c fix grains.append in nested dictionnary grains #23411
357904
357905       · PR #23537: (t0rrant) Update changelog @ 2015-05-11 17:02:16 UTC
357906
357907         · ab7e1aed8e Merge pull request #23537 from t0rrant/patch-1
357908
357909         · 8e03cc99d3 Update changelog
357910
357911       · PR #23538: (cro) Update date in LICENSE file  @  2015-05-11  15:19:25
357912         UTC
357913
357914         · b79fed3a92 Merge pull request #23538 from cro/licupdate
357915
357916         · 345efe25c9 Update date in LICENSE file
357917
357918       · ISSUE #23159: (aneeshusa) Unused validator (refs: #23505)
357919
357920       · PR  #23505:  (aneeshusa)  Remove  unused  ssh config validator. Fixes
357921         #23159.  @ 2015-05-09 13:24:15 UTC
357922
357923         · a123a36f05      Merge      pull      request      #23505       from
357924           aneeshusa/remove-unused-ssh-config-validator
357925
357926         · 90af1672ca Remove unused ssh config validator. Fixes #23159.
357927
357928       · ISSUE  #20518:  (ekle)  module  s3.get  does not support eu-central-1
357929         (refs: #23467)
357930
357931       · PR #23467: (slinu3d) Added AWS  v4  signature  support  @  2015-05-08
357932         14:36:19 UTC
357933
357934         · ca2c21a63c Merge pull request #23467 from slinu3d/2014.7
357935
357936         · 0b4081d8f4 Fixed pylint error at line 363
357937
357938         · 5be5eb5b14 Fixed pylink errors
357939
357940         · e64f374ffa Fixed lint errors
357941
357942         · b9d1ac4f1f Added AWS v4 signature support
357943
357944       · PR  #23444:  (techhat)  Add  create_attach_volume  to  nova  driver @
357945         2015-05-07 19:51:32 UTC
357946
357947         · e6f9eec02e Merge pull request #23444 from techhat/novacreateattach
357948
357949         · ebdb7eae2d Add create_attach_volume to nova driver
357950
357951       · ISSUE #529: (rubic) run salt in user space (refs: #543)
357952
357953         · PR saltstack/salt-bootstrap#563: (notpeter) Ubuntu  alternate  ppas
357954           (refs: #23460)
357955
357956         · PR  #543:  (rubic) updated documentation for user, fixed configura‐
357957           tion template links (refs: #`saltstack/salt-bootstrap#563`_)
357958
357959       · PR #23460: (s0undt3ch) [2014.7] Update  to  latest  stable  bootstrap
357960         script v2015.05.07 @ 2015-05-07 19:10:54 UTC
357961
357962         · e331463319  Merge  pull  request #23460 from s0undt3ch/hotfix/boot‐
357963           strap-script-2014.7
357964
357965         · edcd0c41f2 Update to latest stable bootstrap script v2015.05.07
357966
357967       · PR  #23439:  (techhat)  Add   wait_for_passwd_maxtries   variable   @
357968         2015-05-07 07:28:56 UTC
357969
357970         · 7a8ce1a954 Merge pull request #23439 from techhat/maxtries
357971
357972         · 0ad3ff2c88 Add wait_for_passwd_maxtries variable
357973
357974       · PR  #23422: (cro) $HOME should not be used, some shells don't set it.
357975         @ 2015-05-06 21:02:36 UTC
357976
357977         · 644eb75fec Merge pull request #23422 from cro/gce_sh_home
357978
357979         · 4ef9e6ba06 Don't use $HOME to find user's  directory,  some  shells
357980           don't set it
357981
357982       · PR #23425: (basepi) [2014.7] Fix typo in FunctionWrapper @ 2015-05-06
357983         20:38:03 UTC
357984
357985         · ef17ab4b2a Merge  pull  request  #23425  from  basepi/functionwrap‐
357986           per_typo
357987
357988         · c390737f3e Fix typo in FunctionWrapper
357989
357990       · PR  #23385:  (rallytime)  Backport  #23346  to  2014.7  @  2015-05-06
357991         20:12:29 UTC
357992
357993         · PR #23346: (ericfode) Allow file_map in salt-cloud to handle  fold‐
357994           ers. (refs: #23385)
357995
357996         · 1b13ec04c2 Merge pull request #23385 from rallytime/bp-23346
357997
357998         · 9efc13c810 more linting fixes
357999
358000         · cf131c9a5a cleaned up some pylint errors
358001
358002         · f981699c75  added  logic  to sftp_file and file_map to allow folder
358003           uploads using file_map
358004
358005       · PR #23414: (jfindlay) 2015.2 -> 2015.5 @ 2015-05-06 20:04:02 UTC
358006
358007         · f8c7a62089 Merge pull request #23414 from jfindlay/update_branch
358008
358009         · 8074d16d52 2015.2 -> 2015.5
358010
358011       · PR #23404: (hvnsweeting) saltapi cherrypy: initialize var  when  POST
358012         body is empty @ 2015-05-06 17:35:56 UTC
358013
358014         · 54b3bd43e4   Merge   pull  request  #23404  from  hvnsweeting/cher‐
358015           rypy-post-emptybody-fix
358016
358017         · f85f8f954c initialize var when POST body is empty
358018
358019       · PR #23409: (terminalmage) Update Lithium docstrings in 2014.7  branch
358020         @ 2015-05-06 16:20:46 UTC
358021
358022         · 160f703296    Merge    pull    request    #23409   from   terminal‐
358023           mage/update-lithium-docstrings-2014.7
358024
358025         · bc97d011ba Fix sphinx typo
358026
358027         · 20006b06f6 Update Lithium docstrings in 2014.7 branch
358028
358029       · ISSUE #17245: (tomashavlas) localemod does not  generate  locale  for
358030         Arch (refs: #23397, #23307)
358031
358032       · PR  #23397:  (jfindlay)  add  more  flexible whitespace to locale_gen
358033         search @ 2015-05-06 03:44:11 UTC
358034
358035         · aa5fb0aa46 Merge pull request #23397 from jfindlay/fix_locale_gen
358036
358037         · 0941fefd2b add more flexible whitespace to locale_gen search
358038
358039       · PR #23368: (kaithar) Backport #23367 to 2014.7 @ 2015-05-05  21:42:26
358040         UTC
358041
358042         · PR  #23367:  (kaithar)  Put the sed insert statement back in to the
358043           output. (refs: #23368)
358044
358045         · PR #18368: (basepi) Merge forward from  2014.7  to  develop  (refs:
358046           #23368, #23367)
358047
358048         · 0c76dd4d8a Merge pull request #23368 from kaithar/bp-23367
358049
358050         · 577f41972e Pylint fix
358051
358052         · 8d9acd1f89 Put the sed insert statement back in to the output.
358053
358054       · ISSUE  #23294:  (variia)  file.replace fails to append if repl string
358055         partially available (refs: #23350)
358056
358057       · PR #23350: (lorengordon)  Append/prepend:  search  for  full  line  @
358058         2015-05-05 21:42:11 UTC
358059
358060         · 3493cc1fca    Merge    pull    request    #23350   from   lorengor‐
358061           don/file.replace_assume_line
358062
358063         · b60e224beb Append/prepend: search for full line
358064
358065       · ISSUE #23026: (adelcast) Incorrect salt-syndic  logfile  and  pidfile
358066         locations (refs: #23341)
358067
358068       · PR  #23341:  (cachedout) Fix syndic pid and logfile path @ 2015-05-05
358069         21:29:10 UTC
358070
358071         · 7be5c48ad5 Merge pull request #23341 from cachedout/issue_23026
358072
358073         · e98e65e787 Fix tests
358074
358075         · 6011b437ca Fix syndic pid and logfile path
358076
358077       · ISSUE #19114:  (pykler)  salt-ssh  and  gpg  pillar  renderer  (refs:
358078         #23347, #23272, #23188)
358079
358080       · PR  #23272:  (basepi) [2014.7] Allow salt-ssh minion config overrides
358081         via master config and roster (refs: #23347) @ 2015-05-05 21:28:47 UTC
358082
358083         · PR #23188: (basepi) [2014.7] Work around bug in  salt-ssh  in  con‐
358084           fig.get for gpg renderer (refs: #23272)
358085
358086         · ea61abfa68  Merge  pull  request  #23272  from basepi/salt-ssh.min‐
358087           ion.config.19114
358088
358089         · c223309bb7 Add versionadded
358090
358091         · be7407feae Lint
358092
358093         · c2c337567e Missing comma
358094
358095         · 8e3e8e073a Pass the minion_opts through the FunctionWrapper
358096
358097         · cb69cd07de Match the master config template in  the  master  config
358098           reference
358099
358100         · 87fc3161f9 Add Salt-SSH section to master config template
358101
358102         · 91dd9dcbdc Add ssh_minion_opts to master config ref
358103
358104         · c273ea14c6 Add minion config to salt-ssh doc
358105
358106         · a0b6b760c3 Add minion_opts to roster docs
358107
358108         · 5212c35260 Accept minion_opts from the target information
358109
358110         · e2099b6e1b Process ssh_minion_opts from master config
358111
358112         · 3b64214377  Revert  "Work  around bug in salt-ssh in config.get for
358113           gpg renderer"
358114
358115         · 494953a208 Remove the strip (embracing multi-line YAML dump)
358116
358117         · fe87f0fe39 Dump multi-line yaml into the SHIM
358118
358119         · b751a7281c Inject local minion config into shim if available
358120
358121       · ISSUE #19114:  (pykler)  salt-ssh  and  gpg  pillar  renderer  (refs:
358122         #23347, #23272, #23188)
358123
358124       · PR #23347: (basepi) [2014.7] Salt-SSH Backport FunctionWrapper.__con‐
358125         tains__ @ 2015-05-05 14:13:21 UTC
358126
358127         · PR #23272: (basepi) [2014.7] Allow salt-ssh minion config overrides
358128           via master config and roster (refs: #23347)
358129
358130         · PR  #23188:  (basepi)  [2014.7] Work around bug in salt-ssh in con‐
358131           fig.get for gpg renderer (refs: #23272)
358132
358133         · 4f760dd9cb Merge pull request #23347 from basepi/salt-ssh.function‐
358134           wrapper.contains.19114
358135
358136         · 30595e3ff7 Backport FunctionWrapper.__contains__
358137
358138       · ISSUE  #22742:  (hvnsweeting) salt-master says: "This master address:
358139         'salt' was previously resolvable but now fails  to  resolve!"  (refs:
358140         #23344)
358141
358142       · PR  #23344:  (cachedout)  Explicitely  set  file_client  on  master @
358143         2015-05-04 23:21:48 UTC
358144
358145         · 02658b1e60 Merge pull request #23344 from cachedout/issue_22742
358146
358147         · 5adc96ce7f Explicitely set file_client on master
358148
358149       · PR #23318: (cellscape) Honor seed argument in LXC container  initial‐
358150         izaton @ 2015-05-04 20:58:12 UTC
358151
358152         · PR #23311: (cellscape) Fix new container initialization in LXC run‐
358153           ner (refs: #23318)
358154
358155         · ba7605d1cb      Merge      pull      request      #23318       from
358156           cellscape/honor-seed-argument
358157
358158         · 228b1be299 Honor seed argument in LXC container initializaton
358159
358160       · ISSUE  #17245:  (tomashavlas)  localemod does not generate locale for
358161         Arch (refs: #23397, #23307)
358162
358163       · PR #23307: (jfindlay) check for /etc/locale.gen @ 2015-05-04 20:56:32
358164         UTC
358165
358166         · 4ac4509c57 Merge pull request #23307 from jfindlay/fix_locale_gen
358167
358168         · 101199ac14 check for /etc/locale.gen
358169
358170       · ISSUE  saltstack/salt-bootstrap#580: (bradthurber) git develop broken
358171         in centos6/rhel6/others? due to missing python  tornado  dep   (refs:
358172         #23324)
358173
358174       · ISSUE  saltstack/salt-bootstrap#560: (bradthurber) param to avoid git
358175         install on CentOS/RHEL? (refs: #23324)
358176
358177       · ISSUE #552: (jhutchins) Support require  and  watch  under  the  same
358178         state dec (refs: #23324)
358179
358180         · PR saltstack/salt-bootstrap#589: (panticz) Fix Debian Squeeze back‐
358181           ports mirror (refs: #23324)
358182
358183         · PR  saltstack/salt-bootstrap#504:  (rominf)  opensuse   13.2:   fix
358184           installation (refs: #23324)
358185
358186         · PR #567: (bastichelaar) Added upstart module (refs: #23324)
358187
358188       · PR  #23324:  (s0undt3ch) [2014.7] Update to the latest stable release
358189         of the bootstrap script v2015.05.04 @ 2015-05-04 16:28:30 UTC
358190
358191         · f790f42ed6 Merge pull request  #23324  from  s0undt3ch/hotfix/boot‐
358192           strap-script-2014.7
358193
358194         · 6643e47ce5  Update  to  the  latest stable release of the bootstrap
358195           script v2015.05.04
358196
358197       · PR #23329: (cro) Require requests to  verify  cert  when  talking  to
358198         aliyun and proxmox cloud providers @ 2015-05-04 16:18:17 UTC
358199
358200         · 5487367baa Merge pull request #23329 from cro/cloud_verify_cert
358201
358202         · 860d4b7338 Turn on ssl verify for requests.
358203
358204       · PR #23311: (cellscape) Fix new container initialization in LXC runner
358205         (refs: #23318) @ 2015-05-04 09:55:29 UTC
358206
358207         · ea2017672d      Merge      pull      request      #23311       from
358208           cellscape/fix-salt-cloud-lxc-init
358209
358210         · 76fbb34e7d Fix new container initialization in LXC runner
358211
358212       · ISSUE  #18880: (johtso) npm installed breaks when a module is missing
358213         (refs: #23298)
358214
358215       · PR #23298: (chris-prince) Fixed  issue  #18880  in  2014.7  branch  @
358216         2015-05-03 15:49:41 UTC
358217
358218         · c399b8f568 Merge pull request #23298 from chris-prince/2014.7
358219
358220         · 0fa25dbb58 Fixed issue #18880 in 2014.7 branch
358221
358222       · ISSUE  #23148: (cr1st1p) virt - error handling bogus if machine image
358223         location is wrong (refs: #23151)
358224
358225       · PR #23292: (rallytime) Merge #23151 with pylint  fixes  @  2015-05-02
358226         03:54:12 UTC
358227
358228         · PR #23151: (cr1st1p) Fixes #23148 (refs: #23292)
358229
358230         · 16ecefd466 Merge pull request #23292 from rallytime/merge-23151
358231
358232         · 8ff852a23a Merge #23151 with pylint fixes
358233
358234         · 8ffa12e82d Fixes #23148
358235
358236       · PR  #23274:  (basepi)  [2014.7] Reduce salt-ssh debug log verbosity @
358237         2015-05-01 20:19:23 UTC
358238
358239         · ce24315a4b      Merge      pull      request      #23274       from
358240           basepi/salt-ssh.debug.verbosity
358241
358242         · ecee6c68f4 Log stdout and stderr to trace
358243
358244         · 08f54d79c6 Log stdout and stderr to trace as well
358245
358246         · 9b9c30f5ad Reduce salt-ssh debug log verbosity
358247
358248       · ISSUE #22605: (mavenAtHouzz) Tornado websockets event Handlers regis‐
358249         tration are incorrect (refs: #23261)
358250
358251       · PR #23261: (rallytime) Fix tornado websocket event handler  registra‐
358252         tion @ 2015-05-01 18:20:31 UTC
358253
358254         · 7b55e4310f Merge pull request #23261 from rallytime/fix-22605
358255
358256         · 4950fbf2b3 Fix tornado websocket event handler registration
358257
358258       · PR  #23258:  (teizz)  TCP  keepalives  on the ret side, Revisited.  @
358259         2015-05-01 16:13:49 UTC
358260
358261         · 83ef7cb114      Merge      pull      request      #23258       from
358262           teizz/ret_keepalive_2014_7_5
358263
358264         · 0b9fb6f9be  The  fixes  by  cachedout  which  were backported into
358265           2015_2 were missing a single parameter thus not setting up the  TCP
358266           keepalive for the ZeroMQ Channel by default.
358267
358268       · ISSUE  #23224: (twellspring) iptables.append --log parameters must be
358269         after --jump LOG (refs: #23241)
358270
358271       · PR #23241: (techhat) Move iptables  log  options  after  the  jump  @
358272         2015-05-01 01:31:59 UTC
358273
358274         · 8de3c83956 Merge pull request #23241 from techhat/issue23224
358275
358276         · 87f7948c99 Move iptables log options after the jump
358277
358278       · PR  #23228:  (rallytime)  Backport  #23171  to  2014.7  @  2015-04-30
358279         21:09:45 UTC
358280
358281         · PR #23171: (skizunov) Bugfix:  'clean_proc_dir'  is  broken  (refs:
358282           #23228)
358283
358284         · f20210e499 Merge pull request #23228 from rallytime/bp-23171
358285
358286         · e670e99506 Bugfix: 'clean_proc_dir' is broken
358287
358288       · ISSUE  #22703: (Xiol) salt-ssh does not work with list matcher (refs:
358289         #22808)
358290
358291       · PR  #23227:  (rallytime)  Backport  #22808  to  2014.7  @  2015-04-30
358292         21:09:14 UTC
358293
358294         · PR  #22808:  (basepi)  [2015.2] Add list targeting to salt-ssh flat
358295           roster (refs: #23227)
358296
358297         · 721cc285ee Merge pull request #23227 from rallytime/bp-22808
358298
358299         · d208a00b2a Dict, not list
358300
358301         · a3f529e003 It's already been converted to a list
358302
358303         · dd57f2d1c1 Add list targeting to salt-ssh flat roster
358304
358305       · PR #22823: (hvnsweeting) 22822  file  directory  clean  @  2015-04-30
358306         15:25:51 UTC
358307
358308         · 82c22afacc    Merge    pull    request    #22823   from   hvnsweet‐
358309           ing/22822-file-directory-clean
358310
358311         · c749c276b4 fix lint - remove unnecessary parenthesis
358312
358313         · cb3dfee969 refactor
358314
358315         · 8924b5a911 refactor: use relpath instead of do it manually
358316
358317         · d3060a51a3 refactor
358318
358319         · 5759a0e8f0 bugfix: fix file.directory clean=True  when  it  require
358320           parent dir
358321
358322       · ISSUE  saltstack/salt#22941: (bersace) _pillar func breaks fileserver
358323         globals (refs: #22942)
358324
358325       · ISSUE #22941: (bersace) _pillar func breaks fileserver globals (refs:
358326         #22977)
358327
358328       · PR  #22977: (bersace) Fix fileserver backends __opts__ overwritten by
358329         _pillar @ 2015-04-30 15:24:56 UTC
358330
358331         · PR #22942: (bersace) Fix fileserver backends global overwritten  by
358332           _pillar (refs: #22977)
358333
358334         · f6c0728bfb   Merge   pull  request  #22977  from  bersace/fix-file‐
358335           server-backends-pillar-side-effect
358336
358337         · 5f451f63cf Fix fileserver backends __opts__ overwritten by _pillar
358338
358339       · ISSUE #23166:  (claudiupopescu)  "Error  in  function  _minion_event"
358340         resulting in modules not loaded (refs: #23180)
358341
358342       · PR  #23180:  (jfindlay)  fix  typos  from  36841bdd in masterapi.py @
358343         2015-04-30 15:22:41 UTC
358344
358345         · 34206f7ae3 Merge pull request #23180 from jfindlay/remote_event
358346
358347         · 72066e1073 fix typos from 36841bdd in masterapi.py
358348
358349       · ISSUE #23153: (cr1st1p) cmdmod : run_chroot - broken  in  2014.7.5  -
358350         missing kwargs (refs: #23176)
358351
358352       · PR   #23176:   (jfindlay)   copy   standard   cmd.run*   kwargs  into
358353         cmd.run_chroot @ 2015-04-30 15:22:12 UTC
358354
358355         · b6b82165c8 Merge pull request #23176 from jfindlay/run_chroot
358356
358357         · 7dc3417b44 copy standard cmd.run* kwargs into cmd.run_chroot
358358
358359       · ISSUE #23192: (joejulian) supervisord mod_watch does not accept  sfun
358360         (refs: #23193)
358361
358362       · PR  #23193:  (joejulian)  supervisord.mod_watch  should accept sfun @
358363         2015-04-30 04:34:21 UTC
358364
358365         · effacbe294 Merge pull request #23193 from joejulian/2014.7_supervi‐
358366           sord_accept_sfun
358367
358368         · efb59f9d9d supervisord.mod_watch should accept sfun
358369
358370       · ISSUE  #19114:  (pykler)  salt-ssh  and  gpg  pillar  renderer (refs:
358371         #23347, #23272, #23188)
358372
358373       · PR #23188: (basepi) [2014.7] Work around  bug  in  salt-ssh  in  con‐
358374         fig.get for gpg renderer (refs: #23272) @ 2015-04-30 04:34:10 UTC
358375
358376         · 72fe88e5c6  Merge  pull  request  #23188 from basepi/salt-ssh.func‐
358377           tion.wrapper.gpg.19114
358378
358379         · d73979ee12 Work around bug in salt-ssh in config.get for  gpg  ren‐
358380           derer
358381
358382       · ISSUE  #21480: (msciciel) TypeError: string indices must be integers,
358383         not str (refs: #23154)
358384
358385       · PR #23154: (cachedout) Re-establish channel on interruption in  file‐
358386         client @ 2015-04-29 16:18:59 UTC
358387
358388         · 168508ec2a Merge pull request #23154 from cachedout/refresh_channel
358389
358390         · 9f8dd80c38 Re-establish channel on interruption in fileclient
358391
358392       · ISSUE  #20647:  (ryan-lane)  file.serialize fails to serialize due to
358393         ordered dicts (refs: #20779)
358394
358395       · PR  #23146:  (rallytime)  Backport  #20779  to  2014.7  @  2015-04-28
358396         20:45:06 UTC
358397
358398         · PR #20779: (cachedout) Use declared yaml options (refs: #23146)
358399
358400         · 3b53e04534 Merge pull request #23146 from rallytime/bp-20779
358401
358402         · ffd18493e8 compare OrderedDicts in serializer unit test
358403
358404         · a22170627c Just change serialize
358405
358406         · a111798e8e Use declared yaml options
358407
358408       · PR  #23145:  (rallytime)  Backport  #23089  to  2014.7  @  2015-04-28
358409         20:44:56 UTC
358410
358411         · PR #23089:  (cachedout)  Stringify  version  number  before  lstrip
358412           (refs: #23145)
358413
358414         · 8bb4664bf9 Merge pull request #23145 from rallytime/bp-23089
358415
358416         · 93c41afd23 Stringify version number before lstrip
358417
358418       · ISSUE #16188: (drawks) salt.modules.parted has various functions with
358419         bogus input validation. (refs: #23124)
358420
358421       · PR  #23144:  (rallytime)  Backport  #23124  to  2014.7  @  2015-04-28
358422         20:44:46 UTC
358423
358424         · PR   #23124:   (ether42)  fix  parsing  the  output  of  parted  in
358425           parted.list_() (refs: #23144)
358426
358427         · c85d36fd29 Merge pull request #23144 from rallytime/bp-23124-2014-7
358428
358429         · 6b64da706c fix parsing the output of parted
358430
358431       · PR #23120: (terminalmage) Don't run os.path.relpath() if repo doesn't
358432         have a "root" param set @ 2015-04-28 15:46:54 UTC
358433
358434         · a27b158153    Merge    pull    request    #23120   from   terminal‐
358435           mage/fix-gitfs-relpath
358436
358437         · 1860fffd68 Don't run  os.path.relpath()  if  repo  doesn't  have  a
358438           "root" param set
358439
358440       · PR #23132: (clinta) Backport b27c176 @ 2015-04-28 15:00:30 UTC
358441
358442         · fcba607978 Merge pull request #23132 from clinta/patch-2
358443
358444         · a824d727d1 Backport b27c176
358445
358446       · ISSUE  #18476:  (Auha)  Upgrading salt on my master caused dependency
358447         issues (refs: #18610, #23114)
358448
358449       · PR #23114: (rallytime) Adjust ZeroMQ 4 docs  to  reflect  changes  to
358450         Ubuntu 12 packages @ 2015-04-28 03:59:24 UTC
358451
358452         · PR #18610: (rallytime) Make ZMQ 4 installation docs for ubuntu more
358453           clear (refs: #23114)
358454
358455         · b0f4b28487    Merge    pull    request    #23114    from     rally‐
358456           time/remove_ubuntu_zmq4_docs
358457
358458         · f6cc7c8f8a  Adjust  ZeroMQ  4  docs to reflect changes to Ubuntu 12
358459           packages
358460
358461       · ISSUE #23085: (xenophonf) Use "s3fs" (not "s3")  in  fileserver_roots
358462         (refs: #23097)
358463
358464       · PR  #23108:  (rallytime)  Backport  #23097  to  2014.7  @  2015-04-28
358465         03:58:05 UTC
358466
358467         · PR #23097: (rallytime) Change s3 to s3fs in  fileserver_roots  docs
358468           example (refs: #23108)
358469
358470         · 399857f20b Merge pull request #23108 from rallytime/bp-23097
358471
358472         · fa889845df Change s3 to s3fs in fileserver_roots docs example
358473
358474       · ISSUE  #22171:  (basepi)  We should only call returner.save_load once
358475         per jid (refs: #22199)
358476
358477       · PR #23112: (basepi) [2014.7] Backport #22199 to  fix  mysql  returner
358478         save_load errors @ 2015-04-28 03:55:44 UTC
358479
358480         · PR  #22199: (basepi) [2015.2] Put a bandaid on the save_load dupli‐
358481           cate issue (mysql returner) (refs: #23112)
358482
358483         · 5541537c32      Merge      pull      request      #23112       from
358484           basepi/mysql_returner_save_load
358485
358486         · 0127012ed3 Put a bandaid on the save_load duplicate issue
358487
358488         · PR  saltstack/salt#22925:  (rallytime)  Backport  #22895  to 2014.7
358489           (refs: #23113)
358490
358491       · PR  #23113:  (rallytime)  Revert  "Backport  #22895  to   2014.7"   @
358492         2015-04-28 03:27:29 UTC
358493
358494         · PR #22895: (aletourneau) pam_tally counter was not reset to 0 after
358495           a succesfull login (refs: #23113, #22925, #saltstack/salt`#22925`_)
358496
358497         · dfe2066b25    Merge    pull    request    #23113     from     salt‐
358498           stack/revert-22925-bp-22895
358499
358500         · b957ea8977 Revert "Backport #22895 to 2014.7"
358501
358502       · ISSUE  #23013:  (ghost)  gitfs  regression  with  authenticated repos
358503         (refs: #23094)
358504
358505       · PR #23094: (terminalmage) pygit2: disable cleaning of stale refs  for
358506         authenticated remotes @ 2015-04-27 20:51:28 UTC
358507
358508         · 21515f3c23 Merge pull request #23094 from terminalmage/issue23013
358509
358510         · aaf7b04f79 pygit2: disable cleaning of stale refs for authenticated
358511           remotes
358512
358513       · PR #23048: (jfindlay) py-2.6  compat  for  utils/boto.py  ElementTree
358514         exception @ 2015-04-25 16:56:45 UTC
358515
358516         · d45aa21dca Merge pull request #23048 from jfindlay/ET_error
358517
358518         · 64c42ccb5f py-2.6 compat for utils/boto.py ElementTree exception
358519
358520       · ISSUE  #22981: (syphernl) Locale state throwing traceback when gener‐
358521         ating not (yet) existing locale (refs: #23025)
358522
358523       · PR #23025: (jfindlay) catch exceptions on bad  system  locales/encod‐
358524         ings @ 2015-04-25 16:56:30 UTC
358525
358526         · d25a5c102f Merge pull request #23025 from jfindlay/fix_sys_locale
358527
358528         · 9c4d62bb00 catch exceptions on bad system locales/encodings
358529
358530       · PR #22932: (hvnsweeting) bugfix: also manipulate dir_mode when source
358531         not defined @ 2015-04-25 16:54:58 UTC
358532
358533         · 5e44b59a14   Merge   pull    request    #22932    from    hvnsweet‐
358534           ing/file-append-bugfix
358535
358536         · 3f368de14a do not use assert in execution module
358537
358538         · 9d4fd4a8c8 bugfix: also manipulate dir_mode when source not defined
358539
358540       · ISSUE #23021: (ether42) ps.pgrep raises NoSuchProcess (refs: #23055)
358541
358542       · PR  #23055:  (jfindlay)  prevent  ps  module errors on accessing dead
358543         procs @ 2015-04-24 22:39:49 UTC
358544
358545         · c2416a425f Merge pull request #23055 from jfindlay/fix_ps
358546
358547         · c2dc7adeb1 prevent ps module errors on accessing dead procs
358548
358549       · PR #23031:  (jfindlay)  convert  exception  e.message  to  just  e  @
358550         2015-04-24 18:38:13 UTC
358551
358552         · bfd9158a83 Merge pull request #23031 from jfindlay/exception
358553
358554         · 856bad1c31 convert exception e.message to just e
358555
358556       · PR  #23015:  (hvnsweeting) if status of service is stop, there is not
358557         an error with it @ 2015-04-24 14:35:10 UTC
358558
358559         · 7747f3342e   Merge   pull    request    #23015    from    hvnsweet‐
358560           ing/set-non-error-lvl-for-service-status-log
358561
358562         · 92ea163513 if status of service is stop, there is not an error with
358563           it
358564
358565       · ISSUE #22993: (jetpak) salt-minion restart causes all spawned daemons
358566         to die on centos7 (systemd) (refs: #23000)
358567
358568       · PR  #23000:  (jfindlay)  set  systemd service killMode to process for
358569         minion @ 2015-04-24 03:42:39 UTC
358570
358571         · 2e09789156 Merge pull request #23000 from jfindlay/systemd_kill
358572
358573         · 3d575e29c4 set systemd service killMode to process for minion
358574
358575       · ISSUE #22707: (arthurlogilab) retry_dns of  master  configuration  is
358576         missing from the  documentation (refs: #22999)
358577
358578       · PR  #22999:  (justinta)  Added retry_dns to minion doc.  @ 2015-04-24
358579         03:30:24 UTC
358580
358581         · b5c059ab26 Merge pull request #22999 from jtand/fix_22707
358582
358583         · 8486e17ab3 Added retry_dns to minion doc.
358584
358585       · PR #22990: (techhat) Use the proper cloud conf variable @  2015-04-23
358586         17:48:07 UTC
358587
358588         · 27dc877bfd Merge pull request #22990 from techhat/2014.7
358589
358590         · d33bcbc2c1 Use the proper cloud conf variable
358591
358592       · PR  #22976: (multani) Improve state_output documentation @ 2015-04-23
358593         12:24:22 UTC
358594
358595         · 13dff652c6 Merge pull request  #22976  from  multani/fix/state-out‐
358596           put-doc
358597
358598         · 19efd419b5 Improve state_output documentation
358599
358600       · PR  #22955:  (terminalmage)  Fix  regression  introduced yesterday in
358601         dockerio module @ 2015-04-22 18:56:39 UTC
358602
358603         · 89fa18500c  Merge  pull  request  #22955  from  terminalmage/docke‐
358604           rio-run-fix
358605
358606         · b4472ad1b2 Fix regression introduced yesterday in dockerio module
358607
358608       · PR  #22954:  (rallytime)  Backport  #22909  to  2014.7  @  2015-04-22
358609         18:56:20 UTC
358610
358611         · PR #22909: (mguegan) Fix compatibility  with  pkgin  >  0.7  (refs:
358612           #22954)
358613
358614         · 46ef227911 Merge pull request #22954 from rallytime/bp-22909
358615
358616         · 70c1cd3969 Fix compatibility with pkgin > 0.7
358617
358618       · ISSUE  #18720:  (Reiner030)  timeouts  when  setting  Route53 records
358619         (refs: #22856)
358620
358621       · PR #22856: (jfindlay) increase timeout and decrease tries for route53
358622         records @ 2015-04-22 16:47:01 UTC
358623
358624         · c9ae593461 Merge pull request #22856 from jfindlay/route53_timeout
358625
358626         · ba4a786984 add route53 record sync wait, default=False
358627
358628         · ea2fd50660 increase timeout and tries for route53 records
358629
358630       · PR #22946: (s0undt3ch) Test with a more recent pip version to avoid a
358631         traceback @ 2015-04-22 16:25:17 UTC
358632
358633         · a178d444b8 Merge pull request #22946 from s0undt3ch/2014.7
358634
358635         · bc87749e2c Test with a more recent pip version to avoid a traceback
358636
358637       · ISSUE #22571: (BoomerB) same error message as on issue #18504  (refs:
358638         #22945)
358639
358640       · PR #22945: (garethgreenaway) Fixes to scheduler @ 2015-04-22 16:25:00
358641         UTC
358642
358643         · de339bef0a   Merge   pull   request   #22945   from    garethgreen‐
358644           away/22571_2014_7_schedule_pillar_refresh_seconds_exceptions
358645
358646         · bfa6d25ed8  Fixing a reported issue when using a scheduled job from
358647           pillar with splay.  _seconds element that acted as a backup of  the
358648           actual  seconds  was  being  removed  when pillar was refreshed and
358649           causing exceptions.  This fix moves some splay related code out  of
358650           the if else condition so it's checked whether the job is in the job
358651           queue or not.
358652
358653       · ISSUE #18843: (calvinhp) State user.present will fail to create  home
358654         if user exists and homedir doesn't (refs: #22933, #22887)
358655
358656       · PR #22887: (hvnsweeting) fix #18843 @ 2015-04-22 15:47:05 UTC
358657
358658         · 12d2b91d85    Merge    pull    request    #22887   from   hvnsweet‐
358659           ing/18843-fix-user-present-home
358660
358661         · 7fe7b089fd run user.chhome once to avoid any side-effect  when  run
358662           it twice
358663
358664         · 19de9954ee clarify the usage of home arg
358665
358666         · d6dc09af64  enhance doc, as usermod on ubuntu 12.04 will not CREATE
358667           home
358668
358669         · 0ce4d7feb6 refactor: force to use boolean
358670
358671         · 849d19edd7 log debug the creating dir process
358672
358673         · c4e95b9f48 fix #18843: usermod won't create a dir if old home  does
358674           not exist
358675
358676       · ISSUE #2417: (ffa) Module standards (refs: #22829)
358677
358678       · ISSUE  #21140:  (holms)  locale.present  state executed successfully,
358679         although originally fails (refs: #22930, #22829)
358680
358681       · PR #22930: (jfindlay) localemod.gen_locale now always returns a bool‐
358682         ean @ 2015-04-22 15:37:39 UTC
358683
358684         · PR  #22829:  (F30)  Always  return a boolean in gen_locale() (refs:
358685           #22930)
358686
358687         · b7de7bdf47 Merge pull request #22930 from jfindlay/localegen_bool
358688
358689         · 399399f89e localemod.gen_locale now always returns a boolean
358690
358691       · ISSUE #18843: (calvinhp) State user.present will fail to create  home
358692         if user exists and homedir doesn't (refs: #22933, #22887)
358693
358694       · PR  #22933:  (hvnsweeting)  add test for #18843 @ 2015-04-22 15:27:18
358695         UTC
358696
358697         · 11bcf14979 Merge pull request #22933 from hvnsweeting/18843-test
358698
358699         · b13db32fde add test for #18843
358700
358701       · PR  #22925:  (rallytime)  Backport  #22895  to  2014.7  @  2015-04-22
358702         02:30:26 UTC
358703
358704         · PR #22895: (aletourneau) pam_tally counter was not reset to 0 after
358705           a succesfull login (refs: #23113, #22925, #saltstack/salt`#22925`_)
358706
358707         · 6890752dd3 Merge pull request #22925 from rallytime/bp-22895
358708
358709         · 3852d96213 Pylint fix
358710
358711         · 90f7829ad3 Fixed pylint issues
358712
358713         · 5ebf159554 Cleaned up pull request
358714
358715         · a08ac478f6 pam_tally counter was not reset to 0 after a  succesfull
358716           login
358717
358718       · ISSUE  #22790: (whiteinge) jobs.list_jobs runner tracebacks on 'miss‐
358719         ing' argument (refs: #22914)
358720
358721       · PR   #22914:   (cachedout)   Call   proper   returner   function   in
358722         jobs.list_jobs @ 2015-04-22 00:49:01 UTC
358723
358724         · eca37ebc11 Merge pull request #22914 from cachedout/issue_22790
358725
358726         · d828d6fd58 Call proper returner function in jobs.list_jobs
358727
358728       · PR  #22918: (JaseFace) Add a note to the git_pillar docs stating that
358729         GitPython is the  only  currently  supported  provider  @  2015-04-22
358730         00:48:26 UTC
358731
358732         · 44f3409b01   Merge   pull  request  #22918  from  JaseFace/git-pil‐
358733           lar-provider-doc-note
358734
358735         · 0aee5c23d4 Add a note to the git_pillar docs stating that GitPython
358736           is the only currently supported provider
358737
358738       · PR  #22907: (techhat) Properly merge cloud configs to create profiles
358739         @ 2015-04-21 22:02:44 UTC
358740
358741         · 31c461f573 Merge pull request #22907 from techhat/cloudconfig
358742
358743         · 3bf4e66112 Properly merge cloud configs to create profiles
358744
358745       · ISSUE #22782: (0xf10e) Turning  everything  into  OrderedDicts  broke
358746         states.keystone.user_present() (refs: #22894)
358747
358748       · PR #22894: (0xf10e) Fix issue #22782 @ 2015-04-21 18:55:18 UTC
358749
358750         · f0939754a0 Merge pull request #22894 from 0xf10e/2014.7
358751
358752         · 58fa24c7fa Clarify doc on kwarg 'roles' for user_present().
358753
358754         · f0ae2eb84f Improve readability by renaming tenant_role
358755
358756       · ISSUE  #12003:  (MarkusMuellerAU) [state.dockerio] docker.run TypeEr‐
358757         ror: run() argument after **  must  be  a  mapping,  not  str  (refs:
358758         #22902)
358759
358760       · PR  #22902:  (rallytime)  Change  state example to use proper kwarg @
358761         2015-04-21 18:50:47 UTC
358762
358763         · c802ba7514 Merge pull request #22902 from rallytime/docker_doc_fix
358764
358765         · 8f703461b0 Change state example to use proper kwarg
358766
358767       · PR #22898: (terminalmage) dockerio: better error message  for  native
358768         exec driver @ 2015-04-21 18:02:58 UTC
358769
358770         · 81771a7769 Merge pull request #22898 from terminalmage/issue12003
358771
358772         · c375309434 dockerio: better error message for native exec driver
358773
358774       · ISSUE  #22825:  (paolodina)  Issue  using  file.replace in state file
358775         (refs: #22897)
358776
358777       · PR #22897: (rallytime) Add param documentation for file.replace state
358778         @ 2015-04-21 17:31:04 UTC
358779
358780         · e2ec4ecc55 Merge pull request #22897 from rallytime/fix-22825
358781
358782         · 9c51630002 Add param documentation for file.replace state
358783
358784       · ISSUE  saltstack/salt#22844: (bersace) LocalClient file cache confuse
358785         pillar and state files (refs: #22850)
358786
358787       · PR  #22850:  (bersace)  Fix  pillar  and  salt  fileserver  mixed   @
358788         2015-04-21 17:04:33 UTC
358789
358790         · fd53889f0e   Merge   pull   request  #22850  from  bersace/fix-pil‐
358791           lar-salt-mixed
358792
358793         · 31b98e72eb Initialize state file client after pillar loading
358794
358795         · f6bebb7a31 Use saltenv
358796
358797       · PR #22818: (twangboy) Added documentation regarding pip in windows  @
358798         2015-04-21 03:58:59 UTC
358799
358800         · 1380fec1b9 Merge pull request #22818 from twangboy/upd_pip_docs
358801
358802         · cb999c7d70 Update pip.py
358803
358804         · 3cc5c970ad Added documentation regarding pip in windows
358805
358806       · PR  #22872: (rallytime) Prevent stacktrace on os.path.exists in hosts
358807         module @ 2015-04-21 02:54:40 UTC
358808
358809         · b2bf17f5d5    Merge    pull    request    #22872    from     rally‐
358810           time/fix_hosts_stacktrace
358811
358812         · c88a1ea243 Prevent stacktrace on os.path.exists in hosts module
358813
358814       · PR  #22853:  (s0undt3ch)  Don't assume package installation order.  @
358815         2015-04-21 02:42:41 UTC
358816
358817         · 03af523de9 Merge pull request #22853 from s0undt3ch/2014.7
358818
358819         · b62df62151 Don't assume package installation order.
358820
358821       · PR #22877: (s0undt3ch) Don't fail on  make  clean  just  because  the
358822         directory does not exist @ 2015-04-21 02:40:47 UTC
358823
358824         · 9211e36564   Merge   pull   request   #22877   from  s0undt3ch/hot‐
358825           fix/clean-docs-fix
358826
358827         · 95d6887949 Don't fail on make clean just because the directory does
358828           not exist
358829
358830       · PR  #22873:  (thatch45) Type check the version since it will often be
358831         numeric @ 2015-04-21 02:38:11 UTC
358832
358833         · 5bdbd08bbd Merge pull request #22873 from thatch45/type_check
358834
358835         · 53b8376626 Type check the version since it will often be numeric
358836
358837       · PR #22870: (twangboy) Added ability to send a version with a space in
358838         it @ 2015-04-20 23:18:28 UTC
358839
358840         · c965b0a035  Merge  pull  request  #22870 from twangboy/fix_install‐
358841           er_again
358842
358843         · 3f180cfaae Added ability to send a version with a space in it
358844
358845       · PR  #22863:  (rallytime)  Backport  #20974  to  2014.7  @  2015-04-20
358846         19:29:37 UTC
358847
358848         · PR    #20974:    (JohannesEbke)    Fix    expr_match    usage    in
358849           salt.utils.check_whitelist_blacklist (refs: #22863)
358850
358851         · 2973eb18bc Merge pull request #22863 from rallytime/bp-20974
358852
358853         · 14913a4cb4         Fix         expr_match         usage          in
358854           salt.utils.check_whitelist_blacklist
358855
358856       · PR  #22578:  (hvnsweeting)  gracefully handle when salt-minion cannot
358857         decrypt key @ 2015-04-20 15:24:45 UTC
358858
358859         · c45b92bb4b   Merge   pull    request    #22578    from    hvnsweet‐
358860           ing/2014-7-fix-compile-pillar
358861
358862         · f75b24ad68 gracefully handle when salt-minion cannot decrypt key
358863
358864       · ISSUE  #21979: (yrdevops) gitfs: error message not descriptive enough
358865         when libgit2 was compiled without libssh2 (refs: #22800)
358866
358867       · PR #22800: (terminalmage) Improve error logging for pygit2  SSH-based
358868         remotes @ 2015-04-18 17:18:55 UTC
358869
358870         · 900c7a510f Merge pull request #22800 from terminalmage/issue21979
358871
358872         · 8f1c0084cd  Clarify that for pygit2, receiving 0 objects means repo
358873           is up-to-date
358874
358875         · 98885f71d6 Add information about libssh2 requirement for pygit2 ssh
358876           auth
358877
358878         · 09468d2607 Fix incorrect log message
358879
358880         · 2093bf8d96 Adjust loglevels for gitfs errors
358881
358882         · 9d394dfe46 Improve error logging for pygit2 SSH-based remotes
358883
358884       · PR  #22813:  (twangboy)  Updated  instructions  for  building  salt @
358885         2015-04-18 04:10:07 UTC
358886
358887         · e99f2fdb28 Merge pull request #22813 from twangboy/win_doc_fix
358888
358889         · adc421acdd Fixed some formatting issues
358890
358891         · 8901b3b5a6 Updated instructions for building salt
358892
358893       · ISSUE #22708: (Bilge)  salt-ssh  file.accumulated  error:  NameError:
358894         global name 'msgpack' is not defined (refs: #22810)
358895
358896       · PR  #22810:  (basepi)  [2014.7]  More  msgpack  gating for salt-ssh @
358897         2015-04-17 22:28:24 UTC
358898
358899         · fe1de89ad7 Merge pull request #22810 from basepi/salt-ssh.more.msg‐
358900           pack.gating
358901
358902         · d4da8e66a4 Gate msgpack in salt/modules/saltutil.py
358903
358904         · 02303b22ce Gate msgpack in salt/modules/data.py
358905
358906         · d7e8741f02 Gate salt.states.file.py msgpack
358907
358908       · ISSUE  #17144:  (xpender)  salt-cloud  -m fails with softlayer (refs:
358909         #22803)
358910
358911       · PR #22803: (rallytime) Allow  map  file  to  work  with  softlayer  @
358912         2015-04-17 20:34:42 UTC
358913
358914         · 11df71e16d Merge pull request #22803 from rallytime/fix-17144
358915
358916         · ce88b6ad41 Allow map file to work with softlayer
358917
358918       · PR  #22807:  (rallytime)  Add  2014.7.5 links to windows installation
358919         docs @ 2015-04-17 20:32:13 UTC
358920
358921         · cd43a95212  Merge   pull   request   #22807   from   rallytime/win‐
358922           dows_docs_update
358923
358924         · 5931a582d1 Replace all 4s with 5s
358925
358926         · eadaead755 Add 2014.7.5 links to windows installation docs
358927
358928       · PR  #22795:  (rallytime)  Added  release  note for 2014.7.5 release @
358929         2015-04-17 18:05:36 UTC
358930
358931         · 0b295e2c87 Merge pull request #22795 from rallytime/release_notes
358932
358933         · fde1feed46 Remove extra line
358934
358935         · b19b95d992 Added release note for 2014.7.5 release
358936
358937       · ISSUE #22740: (lorengordon) New Windows  installer  assumes  salt  is
358938         installed to the current directory (refs: #22759)
358939
358940       · PR #22759: (twangboy) Final edits to the batch files for running salt
358941         @ 2015-04-17 04:31:15 UTC
358942
358943         · PR #22754: (twangboy) Removed redundant \\ and " (refs: #22759)
358944
358945         · 3c91459de2    Merge    pull    request    #22759    from     twang‐
358946           boy/fix_bat_one_last_time
358947
358948         · 075f82e046 Final edits to the batch files for running salt
358949
358950       · PR  #22760:  (thatch45)  Fix  issues  with  the  syndic  @ 2015-04-17
358951         04:30:48 UTC
358952
358953         · 20d3f2bb83 Merge pull request #22760 from thatch45/syndic_fix
358954
358955         · e2db624b37 Fix issues with the syndic not resolving the master when
358956           the interface is set
358957
358958       · PR  #22762:  (twangboy)  Fixed version not showing in Add/Remove Pro‐
358959         grams @ 2015-04-17 04:29:46 UTC
358960
358961         · 54c45845ab Merge pull request #22762 from twangboy/fix_installer
358962
358963         · 4d25af8acf Fixed version not showing in Add/Remove Programs
358964
358965   Salt 2014.7.7 Release Notes
358966       release
358967              2015-10-13
358968
358969       Version 2014.7.7 is a bugfix release for 2014.7.0.
358970
358971   Statistics
358972       · Total Merges: 54
358973
358974       · Total Issue References: 20
358975
358976       · Total PR References: 60
358977
358978       · Contributors: 28 (AkhterAli, BretFisher,  MrCitron,  alekti,  basepi,
358979         bersace,    cachedout,   corux,   cro,   davidjb,   dumol,   efficks,
358980         garethgreenaway,  hvnsweeting,  jacksontj,  jacobhammons,   jaybocc2,
358981         jfindlay,  jquast,  justinta,  msteed,  nmadhok,  notpeter,  puneetk,
358982         rallytime, techhat, trevor-h, twangboy)
358983
358984   Changelog for v2014.7.6..v2014.7.7
358985       Generated at: 2018-05-27 20:45:04 UTC
358986
358987       · PR #27335: (rallytime) [2014.7] Fixup salt-cloud logging @ 2015-09-24
358988         20:33:53 UTC
358989
358990         · 5262f01325 Merge pull request #27335 from rallytime/cloud-logging-7
358991
358992         · adeb1dcad4 Pylint Fix
358993
358994         · 588c13783c Salt-cloud logging clean up for windows functions
358995
358996         · 9b6000135c [2014.7] Fixup salt-cloud logging
358997
358998       · PR #27252: (jfindlay) 2014.7 -> 2014.7.0 @ 2015-09-18 23:44:39 UTC
358999
359000         · e90412d3b8 Merge pull request #27252 from jfindlay/version.2014.7
359001
359002         · 3d28307a00 2014.7 -> 2014.7.0
359003
359004       · PR   #27117:   (jacobhammons)  made  2014.7  an  archived  release  @
359005         2015-09-15 07:35:12 UTC
359006
359007         · c186e51764   Merge   pull    request    #27117    from    jacobham‐
359008           mons/release-docs-2014.7
359009
359010         · b69e11e0a4 made 2014.7 an archived release minor doc site updates
359011
359012       · PR #27114: (cachedout) Issue warning that some log levels may contain
359013         sensitive data @ 2015-09-15 07:30:43 UTC
359014
359015         · 69d758ee2b Merge pull request #27114  from  cachedout/warn_on_inse‐
359016           cure_log
359017
359018         · 507fb04683 Issue warning that some log levels may contain sensitive
359019           data
359020
359021       · PR #27075: (twangboy) Replaced password with redacted when  displayed
359022         @ 2015-09-14 18:36:10 UTC
359023
359024         · aa71bae8aa   Merge  pull  request  #27075  from  twangboy/fix_pass‐
359025           word_2014.7
359026
359027         · c0689e3215 Replaced password with redacted when displayed
359028
359029       · ISSUE #26656: (ari) [documentation] error in  example  for  salt.run‐
359030         ner.pillar (refs: #26667)
359031
359032       · PR  #26667:  (nmadhok)  [doc-fix]  Removing  special  character  from
359033         salt.runners.pillar and other changes @ 2015-08-26 18:24:37 UTC
359034
359035         · c2c7fe06c8 Merge pull request #26667 from nmadhok/doc-fix-2014.7
359036
359037         · 26be189689 Doc fix. Fixes #26656
359038
359039       · PR  #26663:  (jacobhammons)  version  change  for  latest  branch   @
359040         2015-08-26 14:03:35 UTC
359041
359042         · 6bd3dccae8  Merge pull request #26663 from jacobhammons/2014.7-ver‐
359043           sion
359044
359045         · b6af538070 version change for latest branch
359046
359047       · PR #26636: (rallytime) Refactor cloud provider tests to be more accu‐
359048         rate @ 2015-08-25 21:28:34 UTC
359049
359050         · 071a6112e5     Merge    pull    request    #26636    from    rally‐
359051           time/cloud-test-fixes
359052
359053         · c0d83d558d Don't use id as variable
359054
359055         · 2b4bc1679d Keep ec2 instance creation test the same - it works bet‐
359056           ter for the ec2 output
359057
359058         · b5b58eb31f  Skip digital ocean tests since we can't use API v1 with
359059           v2 tests
359060
359061         · 9ae1539c62 Update cloud tests to be more efficient and accurate
359062
359063       · ISSUE #26630: (efficks) win_service: Function has_powershell does not
359064         works on Windows XP (refs: #26640)
359065
359066       · PR #26640: (efficks) Fix function spacing @ 2015-08-25 20:01:39 UTC
359067
359068         · 304542b4c6 Merge pull request #26640 from efficks/fixws2014
359069
359070         · ebe5d9d85c Fix function spacing
359071
359072       · PR  #26515:  (bersace)  Defaults  to  current  saltenv in state.sls @
359073         2015-08-25 16:35:50 UTC
359074
359075         · 4532f98a76      Merge      pull      request      #26515       from
359076           bersace/salt-env-local-sls
359077
359078         · 0727af9e3d Defaults to current saltenv in state.sls
359079
359080       · PR #26242: (cro) Remove dead code @ 2015-08-12 15:14:20 UTC
359081
359082         · da8bca09aa Merge pull request #26242 from cro/anonldap4
359083
359084         · a0d2ab1eed Remove dead code
359085
359086       · PR #26216: (cro) Fix LDAP configuration issue.  @ 2015-08-11 18:33:43
359087         UTC
359088
359089         · 1ecf23773e Merge pull request #26216 from cro/anonldap3
359090
359091         · af132d7b89 Documentation update for anonymous bind issue.
359092
359093         · 2ef54b6b13 Documentation update for anonymous bind issue.
359094
359095         · 5b1836bb00 Fix issue with LDAP anonymous binds.
359096
359097       · PR #26116: (corux) file.replace fails if repl string  is  an  invalid
359098         regex and append/prepend is used @ 2015-08-10 16:44:12 UTC
359099
359100         · abdf2935c4 Merge pull request #26116 from corux/fix-escape-content
359101
359102         · fd913ddc36  Append/prepend:  search for full line with escaped con‐
359103           tent
359104
359105       · ISSUE #25751: (basepi) Document master_finger more prominently (refs:
359106         #26088)
359107
359108       · PR #26088: (jacobhammons) Master finger @ 2015-08-07 14:31:33 UTC
359109
359110         · 106356d98d  Merge pull request #26088 from jacobhammons/master-fin‐
359111           ger
359112
359113         · 133d5f7885 some small changes
359114
359115         · d220c83f77 master_finger configuration docs switch a script to  use
359116           https:// instead of http:// Refs #25751
359117
359118       · ISSUE  #25961: (getabc) [2015.5.3-2] salt-winrepo.git/salt-minion.sls
359119         fails certificate '*.wpengine.com' or 'wpengine.com' (refs: #26047)
359120
359121       · PR #26047: (jacobhammons) Updated windows download links in the  docs
359122         to https://repo.saltstack.com @ 2015-08-05 22:59:44 UTC
359123
359124         · 4bd4bc41f2  Merge  pull  request #26047 from jacobhammons/win-down‐
359125           loads
359126
359127         · 7c162d181c  Updated  windows  download  links  in   the   docs   to
359128           https://repo.saltstack.com Refs #25961
359129
359130       · ISSUE #25701: (alekti) Issue #23764 regression (refs: #25750)
359131
359132       · ISSUE  #23764:  (es1o)  source_hash from local file is not supported.
359133         (refs: #25750)
359134
359135       · PR  #25750:  (alekti)  Add  file  as  supported  protocol  for   file
359136         source_hash. Fixes #25701.  @ 2015-07-29 02:31:27 UTC
359137
359138         · d93eb87c16 Merge pull request #25750 from alekti/2014.7
359139
359140         · 9ec3ae96d4  Add  file  as  supported protocol for file source_hash.
359141           Fixes #23764.
359142
359143       · PR #25704: (cachedout) Ensure prior  alignment  with  master_type  in
359144         2014.7 @ 2015-07-27 16:06:35 UTC
359145
359146         · 3a15df22ac   Merge   pull   request   #25704   from  cachedout/mas‐
359147           ter_type_2014_7
359148
359149         · c95886c9a7 Ensure prior alignment with master_type in 2014.7
359150
359151       · PR #25657: (MrCitron) Add the ability to specify a base  pattern  for
359152         carbon returner @ 2015-07-24 16:32:58 UTC
359153
359154         · d1b9362a73  Merge  pull  request  #25657 from MrCitron/pattern-car‐
359155           bon-returner-2014.7
359156
359157         · f8b2f8079f Add the ability to specify a base  pattern  for  metrics
359158           path used by the carbon returner
359159
359160       · PR #25633: (AkhterAli) Update loader.py @ 2015-07-22 20:02:41 UTC
359161
359162         · 9634351fc2 Merge pull request #25633 from AkhterAli/2014.7
359163
359164         · 29be4bbe11 Update loader.py
359165
359166       · PR #25416: (cachedout) Fix broken keyword @ 2015-07-14 19:47:10 UTC
359167
359168         · 09ebaceca8 Merge pull request #25416 from cachedout/str_2014_7
359169
359170         · cc514938a8 Fix broken keyword
359171
359172       · PR  #25375:  (cachedout)  Fix  error  in  config.py for master_type @
359173         2015-07-13 16:49:27 UTC
359174
359175         · 2a1dd1113f  Merge   pull   request   #25375   from   cachedout/con‐
359176           fig_fix_2014_7
359177
359178         · c041f2905f Fix error in config.py for master_type
359179
359180       · PR  #25324:  (jacobhammons)  Latest  help  theme updates @ 2015-07-10
359181         16:11:31 UTC
359182
359183         · 2590e23d48   Merge   pull    request    #25324    from    jacobham‐
359184           mons/doc-theme-updates
359185
359186         · 88f5fcf58d Latest help theme updates
359187
359188       · ISSUE  #18447:  (ryan-lane) Can't install salt with raet using pip -e
359189         git (refs: #25093)
359190
359191       · PR #25093:  (jaybocc2)  quick  fix  for  issue  #18447  @  2015-07-01
359192         15:56:53 UTC
359193
359194         · 36d53ef59e Merge pull request #25093 from jaybocc2/2014.7
359195
359196         · c6a501ebda quick fix for issue #18447
359197
359198       · PR #25069: (puneetk) Add a helper module function called list_enabled
359199         @ 2015-06-30 20:53:51 UTC
359200
359201         · 38903a94a1 Merge pull request #25069 from puneetk/patch-1
359202
359203         · f0b4e600e6 Update Documentation to clarify version added
359204
359205         · f8dc6030e7 Pylint updates , removing whitespace
359206
359207         · 532d315dd1 [Code Review update] renamed function to is_enaled  from
359208           list_enabled
359209
359210         · 20b0462289 Update schedule.py
359211
359212         · 4f1471d7fb Add a helper module function called list_enabled
359213
359214       · ISSUE #15209: (hubez) file.manage: source_hash not working with s3://
359215         (2014.7.0rc1) (refs: #25011)
359216
359217       · PR #25011: (notpeter) Add s3  to  protocols  for  remote  source_hash
359218         (2014.7 backport) @ 2015-06-27 22:35:44 UTC
359219
359220         · a7154e7471  Merge pull request #25011 from notpeter/s3_2014.7_back‐
359221           port
359222
359223         · 8b8af640f6 Add s3 to protocols for remote source_hash
359224
359225       · ISSUE #24915: (justinta) Salt-cloud not working  in  2014.7.6  (refs:
359226         #24944)
359227
359228       · PR  #24944:  (techhat)  Double-check  main_cloud_config  @ 2015-06-25
359229         12:29:55 UTC
359230
359231         · a11e4c6eea Merge pull request #24944 from techhat/issue24915
359232
359233         · 59c3081e49 Double-check main_cloud_config
359234
359235       · PR #24936: (justinta) Fixed ps module to not use  depreciated  psutil
359236         commands @ 2015-06-24 22:38:19 UTC
359237
359238         · d26a5447ba Merge pull request #24936 from jtand/psutil
359239
359240         · bdb7a19c36 Fixed ps module to not use depreciated psutil commands
359241
359242       · ISSUE  saltstack/salt-bootstrap#473: (s1kbr0) salt-bootstrap.sh [...]
359243         git v2014.1.11 on SmartOS base64 is broken (refs: #24918)
359244
359245       · PR #24918: (BretFisher) SmartOS SMF minion startup fix  @  2015-06-24
359246         15:44:26 UTC
359247
359248         · eeb05a1b10   Merge   pull   request   #24918  from  BretFisher/min‐
359249           ion-start-smartos-smf-fix
359250
359251         · d7bfb0c7fd Smartos smf minion fix
359252
359253       · ISSUE #24776: (nmadhok) --static option in salt raises ValueError and
359254         has been broken for a very long time (refs: #24777)
359255
359256       · PR  #24780:  (nmadhok)  Backporting  PR  #24777  to  2014.7  branch @
359257         2015-06-18 14:52:56 UTC
359258
359259         · PR #24779: (nmadhok) Backporting Changes to  2014.7  branch  (refs:
359260           #24777)
359261
359262         · PR  #24778: (nmadhok) Backporting PR #24777 to 2015.2 branch (refs:
359263           #24777)
359264
359265         · PR #24777: (nmadhok) Fixing issue where --static option fails  with
359266           ValueError Fixes #24776 (refs: #24778, #24780)
359267
359268         · 4281dfff0b   Merge   pull   request   #24780   from   nmadhok/back‐
359269           port-2014.7-24777
359270
359271         · c53b0d9a22 Backporting PR #24777 to 2014.7 branch
359272
359273       · ISSUE #21318:  (thanatos)  get_full_returns  raises  KeyError  (refs:
359274         #24769)
359275
359276       · ISSUE  #18994:  (njhartwell)  salt.client.get_cli_returns errors when
359277         called immediately after run_job (refs: #24769)
359278
359279       · PR #24769: (msteed) Fix stacktrace in get_cli_returns() @  2015-06-18
359280         14:31:46 UTC
359281
359282         · f3c5cb2d41 Merge pull request #24769 from msteed/issue-21318
359283
359284         · f40a9d5cc0 Fix stacktrace in get_cli_returns()
359285
359286       · ISSUE  #17041:  (xenophonf) Confusing Salt error messages due to lim‐
359287         ited/incomplete PowerShell command error handling (refs: #24690)
359288
359289       · PR #24690: (twangboy) Report powershell output  instead  of  error  @
359290         2015-06-17 16:33:49 UTC
359291
359292         · 59db24602f Merge pull request #24690 from twangboy/fix_17041
359293
359294         · 7a015389af Added additional reporting
359295
359296         · d84ad5d519 Fixed capitalization... Failed and Already
359297
359298         · e9552455c4         Merge         branch         '2014.7'         of
359299           https://github.com/saltstack/salt into fix_17041
359300
359301       · ISSUE #24196: (johnccfm) Exception when using user.present with  Win‐
359302         dows (refs: #24646)
359303
359304       · PR   #24646:   (twangboy)  Fixed  user.present  on  existing  user  @
359305         2015-06-15 15:04:43 UTC
359306
359307         · a18dadad71 Merge pull request #24646 from twangboy/fix_24196
359308
359309         · a208e1d60f Fixed user.present on existing user
359310
359311         · 144bff2f67 Report powershell output instead of error
359312
359313       · PR #24643: (cro)  Add  reference  to  salt-announce  mailing  list  @
359314         2015-06-12 20:21:15 UTC
359315
359316         · b99484fde2 Merge pull request #24643 from cro/saltannounce
359317
359318         · ecb0623d7f Add salt-announce mailing list.
359319
359320       · PR  #24620:  (twangboy)  Fixed  comment  and  uncomment  functions in
359321         file.py @ 2015-06-12 19:36:26 UTC
359322
359323         · 635121e85d Merge pull request #24620 from twangboy/fix_24215
359324
359325         · d7a9999be1 Fixed comment and uncomment functions in file.py
359326
359327       · PR #24589: (BretFisher) Fixed Mine example for  jinja  code  block  @
359328         2015-06-11 15:48:02 UTC
359329
359330         · d83928a7f9 Merge pull request #24589 from BretFisher/patch-1
359331
359332         · 65a11336dc Fixed Mine example for jinja code block
359333
359334       · ISSUE  #24427:  (fayetted)  2015.5.1-3  Windows 64Bit Minion fails to
359335         start after install (refs: #24530)
359336
359337       · PR #24530: (twangboy)  Start  Minion  Service  on  Silent  Install  @
359338         2015-06-09 21:30:08 UTC
359339
359340         · d376390f76 Merge pull request #24530 from twangboy/fix_24427
359341
359342         · 673e1d809e Added missing panel.bmp for installer
359343
359344         · cc50218b01 Start Minion Service on Silent Install
359345
359346       · PR  #24513:  (jquast)  bugfix  use  of  'iteritem' in 2014.7 branch @
359347         2015-06-09 04:06:36 UTC
359348
359349         · PR #24511: (jquast) bugfix: trailing "...done" in  rabbitmq  output
359350           (refs: #24513)
359351
359352         · 6ebc476bb3   Merge  pull  request  #24513  from  jquast/2014.7-bug‐
359353           fix-iteritem
359354
359355         · 2be0180e5e bugfix use of 'iteritem' in 2014.7 branch
359356
359357       · ISSUE #24276: (markuskramerIgitt)  Live  salt-master  Profiling  with
359358         SIGUSR2 fails  (refs: #24405)
359359
359360       · PR #24405: (jacksontj) Fix for #24276 @ 2015-06-04 20:50:42 UTC
359361
359362         · 83f853b6ea Merge pull request #24405 from jacksontj/2014.7
359363
359364         · 2c7afaeebf Fix for #24276
359365
359366       · PR  #24395: (hvnsweeting) handle exceptions when received data is not
359367         in good shape @ 2015-06-04 20:08:22 UTC
359368
359369         · cef919c602 Merge pull request #24395 from hvnsweeting/handle-excep‐
359370           tion-get-file
359371
359372         · bb798a0224  handle  exceptions  when  received  data is not in good
359373           shape
359374
359375       · PR  #24305:  (twangboy)  Added  documentation,  fixed  formatting   @
359376         2015-06-04 19:40:54 UTC
359377
359378         · efba1a94b4 Merge pull request #24305 from twangboy/win_path_docs
359379
359380         · 36804253e6 Fixed pylint error caused by P... added r
359381
359382         · bc42a4bb11 triple double quotes to triple single quotes
359383
359384         · 77cd930bba Added documentation, fixed formatting
359385
359386       · PR  #24178: (rallytime) Backport #24118 to 2014.7, too.  @ 2015-05-27
359387         17:49:45 UTC
359388
359389         · PR #24118:  (trevor-h)  removed  deprecated  pymongo  usage  (refs:
359390           #24178)
359391
359392         · 9d7331c87d Merge pull request #24178 from rallytime/bp-24118
359393
359394         · e2217a09e8 removed deprecated pymongo usage as no longer functional
359395           with pymongo > 3.x
359396
359397       · PR #24159: (rallytime) Fill out modules/keystone.py  CLI  Examples  @
359398         2015-05-27 15:07:11 UTC
359399
359400         · 4e8c5031b0   Merge   pull   request   #24159   from  rallytime/key‐
359401           stone_doc_examples
359402
359403         · dadac8d076 Fill out modules/keystone.py CLI Examples
359404
359405       · PR #24158: (rallytime) Fix test_valid_docs  test  for  tls  module  @
359406         2015-05-27 15:06:05 UTC
359407
359408         · fc10ee8ed5 Merge pull request #24158 from rallytime/fix_doc_error
359409
359410         · 49a517e2ca Fix test_valid_docs test for tls module
359411
359412       · PR #24125: (hvnsweeting) Fix rabbitmq test mode @ 2015-05-26 15:40:18
359413         UTC
359414
359415         · c0d32e0b5e Merge  pull  request  #24125  from  hvnsweeting/fix-rab‐
359416           bitmq-test-mode
359417
359418         · 71862c69b9 enhance log
359419
359420         · 28e2594162  change according to new output of rabbitmq module func‐
359421           tions
359422
359423         · cd0212e8ed processes and returns better output for rabbitmq module
359424
359425       · ISSUE #23464: (tibold) cmd_iter_no_block() blocks (refs: #24093)
359426
359427       · PR #24093: (msteed) Make LocalClient.cmd_iter_no_block() not block  @
359428         2015-05-25 15:56:42 UTC
359429
359430         · 39a8f30f06 Merge pull request #24093 from msteed/issue-23464
359431
359432         · fd35903d75 Fix failing test
359433
359434         · 41b344c7d3 Make LocalClient.cmd_iter_no_block() not block
359435
359436       · PR  #24008: (davidjb) Correct reST formatting for states.cmd documen‐
359437         tation @ 2015-05-21 04:19:01 UTC
359438
359439         · 5bffd3045e Merge pull request #24008 from davidjb/2014.7
359440
359441         · 8b8d0293d4 Correct reST formatting for documentation
359442
359443       · PR #23933: (jacobhammons) sphinx saltstack2 doc  theme  @  2015-05-20
359444         18:19:19 UTC
359445
359446         · 1aa0420040 Merge pull request #23933 from jacobhammons/2014.7
359447
359448         · a3613e68e4 removed numbering from doc TOC
359449
359450         · 78b737c5e6 removed 2015.* release from release notes, updated index
359451           page to remove PDF/epub links
359452
359453         · e867f7df77 Changed build  settings  to  use  saltstack2  theme  and
359454           update release versions.
359455
359456         · 81ed9c9f59 sphinx saltstack2 doc theme
359457
359458       · PR  #23965: (hvnsweeting) handle all exceptions gitpython can raise @
359459         2015-05-20 15:08:03 UTC
359460
359461         · 314e4db512   Merge   pull    request    #23965    from    hvnsweet‐
359462           ing/20147-fix-gitfs-gitpython-exception
359463
359464         · 2576301631 handle all exception gitpython can raise
359465
359466       · PR  #23939: (basepi) Add extended changelog to 2014.7.6 release notes
359467         @ 2015-05-19 21:21:00 UTC
359468
359469         · 913391207a Merge pull request #23939 from basepi/v2014.7.6release
359470
359471         · 32b65dc2a9 Add extended changelog to 2014.7.6 release notes
359472
359473       · ISSUE #23820: (UtahDave) 2014.7.5 schedule error (refs: #23881)
359474
359475       · PR #23881: (garethgreenaway) Fixes to schedule  module  in  2014.7  @
359476         2015-05-19 15:46:30 UTC
359477
359478         · 0031ca2631    Merge   pull   request   #23881   from   garethgreen‐
359479           away/23820_2014_7_schedule_list_issue
359480
359481         · b207f2a433 Missing continue in  the  list  function  when  deleting
359482           unused attributes.
359483
359484       · ISSUE  #22131:  (quixoten)  "unexpected  keyword argument 'merge'" on
359485         2014.7.2 (salt-ssh) (refs: #23887)
359486
359487       · PR #23887: (basepi) [2014.7] Bring salt-ssh pillar.get in  line  with
359488         mainline pillar.get @ 2015-05-18 23:11:34 UTC
359489
359490         · 63bd21ecd2  Merge  pull  request  #23887  from basepi/salt-ssh.pil‐
359491           lar.get.22131
359492
359493         · bc84502f46 Bring salt-ssh pillar.get in  line  with  mainline  pil‐
359494           lar.get
359495
359496       · PR  #23891: (basepi) Update the release notes index page @ 2015-05-18
359497         23:06:52 UTC
359498
359499         · 17c5810c04 Merge pull request #23891 from basepi/releasenotes
359500
359501         · dec153bcea Update the release notes index page
359502
359503       · PR #23888: (basepi)  Update  the  2014.7.6  release  notes  with  CVE
359504         details @ 2015-05-18 22:35:51 UTC
359505
359506         · a93e58f80f Merge pull request #23888 from basepi/v2014.7.6release
359507
359508         · 49921b6cb2 Update the 2014.7.6 release notes with CVE details
359509
359510       · PR  #23871:  (rallytime)  Backport  #23848  to  2014.7  @  2015-05-18
359511         20:34:04 UTC
359512
359513         · PR #23848: (dumol) Updated installation docs for  SLES  12.  (refs:
359514           #23871)
359515
359516         · 50730287bb Merge pull request #23871 from rallytime/bp-23848
359517
359518         · 379c09c3a5 Updated for SLES 12.
359519
359520   Salt 2014.7.8 Release Notes
359521       release
359522              2015-11-13
359523
359524       Version 2014.7.8 is a bugfix release for 2014.7.0.
359525
359526   Statistics
359527       · Total Merges: 7
359528
359529       · Total Issue References: 3
359530
359531       · Total PR References: 10
359532
359533       · Contributors:  5  (DmitryKuzmenko,  JaseFace, MasterNayru, cachedout,
359534         rallytime)
359535
359536   Changelog for v2014.7.7..v2014.7.8
359537       Generated at: 2018-05-27 20:47:34 UTC
359538
359539       · PR #28839: (cachedout) Revert #28740 @ 2015-11-12 22:54:28 UTC
359540
359541         · PR #28740:  (MasterNayru)  Add  missing  S3  module  import  (refs:
359542           #28777, #28839)
359543
359544         · 4b8bdd0afb Merge pull request #28839 from cachedout/revert_28740
359545
359546         · 215b26c06f Revert #28740
359547
359548       · PR  #28777:  (rallytime)  Back-port  #28740  to  2014.7  @ 2015-11-11
359549         18:00:00 UTC
359550
359551         · PR #28740:  (MasterNayru)  Add  missing  S3  module  import  (refs:
359552           #28777, #28839)
359553
359554         · 76e69b4bff Merge pull request #28777 from rallytime/bp-28740-2014.7
359555
359556         · da5fac2b36 Back-port #28740 to 2014.7
359557
359558       · PR  #28716:  (rallytime)  Back-port  #28705  to  2014.7  @ 2015-11-10
359559         16:15:03 UTC
359560
359561         · PR #28705: (cachedout) Account for new headers class in tornado 4.3
359562           (refs: #28716)
359563
359564         · 45c73ebf2f Merge pull request #28716 from rallytime/bp-28705
359565
359566         · 32e7bd3ea0 Account for new headers class in tornado 4.3
359567
359568       · ISSUE  #28199: (felskrone) Non-standard umasks might break the master
359569         (refs: #28717)
359570
359571       · PR #28717: (cachedout) Add note about recommended umask @  2015-11-09
359572         23:26:20 UTC
359573
359574         · f4fe921965 Merge pull request #28717 from cachedout/umask_note
359575
359576         · 1874300e08 Add note about recommended umask
359577
359578       · ISSUE  #28455:  (zmalone) highstate.cache is world readable, and con‐
359579         tains secrets (refs: #28461)
359580
359581       · PR #28461: (cachedout) Wrap all cache calls in state.sls  in  correct
359582         umask @ 2015-11-02 17:11:02 UTC
359583
359584         · 4bf56cad3f Merge pull request #28461 from cachedout/issue_28455
359585
359586         · 097838ec0c Wrap all cache calls in state.sls in correct umask
359587
359588       · ISSUE  #24910:  (bocig)  -T,  --make-token  flag  does NOT work- LDAP
359589         Groups (refs: #28407)
359590
359591       · PR #28407: (DmitryKuzmenko) Don't request creds if auth with key.   @
359592         2015-10-29 16:12:30 UTC
359593
359594         · f3e61db045    Merge    pull    request    #28407    from    DSRCom‐
359595           pany/issues/24910_token_auth_fix_2014
359596
359597         · b7b5bec309 Don't request creds if auth with key.
359598
359599       · PR #27390: (JaseFace)  Ensure  we  pass  on  the  enable  setting  if
359600         present, or use the default of True if not in build_schedule_item() @
359601         2015-10-05 18:09:33 UTC
359602
359603         · d284eb165b Merge pull request #27390  from  JaseFace/schedule-miss‐
359604           ing-enabled
359605
359606         · 563db71bfd  Ensure we pass on the enable setting if present, or use
359607           the default of True if not in build_schedule_item() Prior to  this,
359608           when  schedule.present  compares  the  existing schedule to the one
359609           crafted by this function, enabled will actually be removed at  each
359610           run.   schedule.present  sees  a modification needs to be made, and
359611           invokes schedule.modify, which does so with enabled: True, creating
359612           and endless loop of an 'enabled' removal and addition.
359613
359614   Salt 2014.7.9 Release Notes
359615       release
359616              2016-03-11
359617
359618       Version 2014.7.9 is a bugfix release for 2014.7.0.
359619
359620   Statistics
359621       · Total Merges: 5
359622
359623       · Total Issue References: 1
359624
359625       · Total PR References: 5
359626
359627       · Contributors: 4 (douardda, gtmanfred, jacobhammons, jfindlay)
359628
359629   Changelog for v2014.7.8..v2014.7.9
359630       Generated at: 2018-05-27 20:55:35 UTC
359631
359632       · PR  #31834:  (jfindlay)  add  2014.7.8  release  notes  @  2016-03-11
359633         21:35:42 UTC
359634
359635         · 218c902091 Merge pull request #31834 from jfindlay/2014.7
359636
359637         · 358fdad0c8 add 2014.7.8 release notes
359638
359639       · PR  #31833:  (jfindlay)  add  2014.7.9  release  notes  @  2016-03-11
359640         21:19:55 UTC
359641
359642         · a423c6cd04 Merge pull request #31833 from jfindlay/2014.7
359643
359644         · 6910fcc584 add 2014.7.9 release notes
359645
359646       · PR #31826: (gtmanfred) Remove ability of authenticating user to spec‐
359647         ify pam service @ 2016-03-11 20:41:01 UTC
359648
359649         · c5e7c03953 Merge pull request #31826 from gtmanfred/2014.7
359650
359651         · d73f70ebb2 Remove ability of authenticating  user  to  specify  pam
359652           service
359653
359654       · PR  #29392:  (jacobhammons) updated version number to not reference a
359655         specific build from the lat… @ 2015-12-03 15:54:31 UTC
359656
359657         · 85aa70a6cb Merge pull request #29392 from jacobhammons/2014.7
359658
359659         · d7f0db1dd8 updated version number to not reference a specific build
359660           from the latest branch
359661
359662       · ISSUE  #29295:  (douardda)  systemd's  service  file  should  use the
359663         'process' KillMode option on Debian also (refs: #29296)
359664
359665       · PR #29296: (douardda) Use process KillMode on Debian systems  also  @
359666         2015-12-01 16:00:16 UTC
359667
359668         · d2fb2109a3 Merge pull request #29296 from douardda/patch-3
359669
359670         · d2885390f4 Use process KillMode on Debian systems also
359671
359672   Salt 2014.1.0 Release Notes - Codename Hydrogen
359673       NOTE:
359674          Due  to a change in master to minion communication, 2014.1.0 minions
359675          are not compatible with older-version masters.  Please upgrade  mas‐
359676          ters first.  More info on backwards-compatibility policy here, under
359677          the "Upgrading Salt" subheading.
359678
359679       NOTE:
359680          A change in the grammar in the state compiler  makes  module.run  in
359681          requisites illegal syntax.  Its use is replaced simply with the word
359682          module.  In other words you will  need  to  change  requisites  like
359683          this:
359684
359685              require:
359686                  module.run: some_module_name
359687
359688          to:
359689
359690              require:
359691                  module: some_module_name
359692
359693          This  is  a breaking change.  We apologize for the inconvenience, we
359694          needed to do this to remove some ambiguity in parsing requisites.
359695
359696       release
359697              2014-02-24
359698
359699       The 2014.1.0 release  of  Salt  is  a  major  release  which  not  only
359700       increases stability but also brings new capabilities in virtualization,
359701       cloud integration, and more. This release brings a great focus  on  the
359702       expansion  of  testing  making  roughly double the coverage in the Salt
359703       tests, and comes with many new features.
359704
359705       2014.1.0 is the first release to follow the new date-based release nam‐
359706       ing system. See the version numbers page for more details.
359707
359708   Major Features
359709   Salt Cloud Merged into Salt
359710       Salt  Cloud  is  a  tool for provisioning salted minions across various
359711       cloud providers. Prior to this  release,  Salt  Cloud  was  a  separate
359712       project but this marks its full integration with the Salt distribution.
359713       A Getting Started guide and additional documentation for Salt Cloud can
359714       be found here:
359715
359716   Google Compute Engine
359717       Alongside  Salt  Cloud comes new support for the Google Compute Engine.
359718       Salt Stack can now deploy and control  GCE  virtual  machines  and  the
359719       application stacks that they run.
359720
359721       For more information on Salt Stack and GCE, please see this blog post.
359722
359723       Documentation for Salt and GCE can be found here.
359724
359725   Salt Virt
359726       Salt  Virt  is a cloud controller that supports virtual machine deploy‐
359727       ment, inspection, migration, and integration with many aspects of Salt.
359728
359729       Salt Virt has undergone a major overhaul with this release and now sup‐
359730       ports  many  more  features  and includes a number of critical improve‐
359731       ments.
359732
359733   Docker Integration
359734       Salt now ships with states and an execution  module  to  manage  Docker
359735       containers.
359736
359737   Substantial Testing Expansion
359738       Salt  continues  to  increase  its  unit/regression test coverage. This
359739       release includes over 300 new tests.
359740
359741   BSD Package Management
359742       BSD package management has been entirely rewritten. FreeBSD 9 and older
359743       now  default  to  using  pkg_add,  while  FreeBSD 10 and newer will use
359744       pkgng. FreeBSD 9 can be forced to use pkgng, however, by specifying the
359745       following option in the minion config file:
359746
359747          providers:
359748            pkg: pkgng
359749
359750       In  addition,  support  for installing software from the ports tree has
359751       been added. See the documentation for the  ports  state  and  execution
359752       module for more information.
359753
359754   Network Management for Debian/Ubuntu
359755       Initial  support  for  management of network interfaces on Debian-based
359756       distros has been added. See the documentation for the network state and
359757       the debian_ip for more information.
359758
359759   IPv6 Support for iptables State/Module
359760       The  iptables  state  and module now have IPv6 support. A new parameter
359761       family has been added to the states and execution functions, to distin‐
359762       guish  between  IPv4  and IPv6. The default value for this parameter is
359763       ipv4, specifying ipv6 will use ip6tables to manage firewall rules.
359764
359765   GitFS Improvements
359766       Several performance improvements have been made to the  Git  fileserver
359767       backend.  Additionally, file states can now use any SHA1 commit hash as
359768       a fileserver environment:
359769
359770          /etc/httpd/httpd.conf:
359771            file.managed:
359772              - source: salt://webserver/files/httpd.conf
359773              - saltenv: 45af879
359774
359775       This applies to the functions in the cp module as well:
359776
359777          salt '*' cp.get_file salt://readme.txt /tmp/readme.txt saltenv=45af879
359778
359779   MinionFS
359780       This new fileserver backend allows files which have  been  pushed  from
359781       the  minion to the master (using cp.push) to be served up from the salt
359782       fileserver. The path for these files takes the following format:
359783
359784          salt://minion-id/path/to/file
359785
359786       minion-id is the id of the "source" minion,  the  one  from  which  the
359787       files  were pushed to the master. /path/to/file is the full path of the
359788       file.
359789
359790       The MinionFS Walkthrough contains a more thorough example of how to use
359791       this backend.
359792
359793   saltenv
359794       To  distinguish between fileserver environments and execution functions
359795       which deal with environment variables, fileserver environments are  now
359796       specified  using  the saltenv parameter. env will continue to work, but
359797       is deprecated and will be removed in a future release.
359798
359799   Grains Caching
359800       A caching layer has been added to the Grains  system,  which  can  help
359801       speed up minion startup. Disabled by default, it can be enabled by set‐
359802       ting the minion config option grains_cache:
359803
359804          grains_cache: True
359805
359806          # Seconds before grains cache is considered to be stale.
359807          grains_cache_expiration: 300
359808
359809       If set to True, the grains  loader  will  read  from/write  to  a  msg‐
359810       pack-serialized file containing the grains data.
359811
359812       Additional command-line parameters have been added to salt-call, mainly
359813       for testing purposes:
359814
359815       · --skip-grains will completely bypass the grains loader when salt-call
359816         is invoked.
359817
359818       · --refresh-grains-cache  will  force  the  grains loader to bypass the
359819         grains cache and refresh the grains, writing a new grains cache file.
359820
359821   Improved Command Logging Control
359822       When using the cmd module, either on the CLI or  when  developing  Salt
359823       execution  modules,  a  new keyword argument output_loglevel allows for
359824       greater control over how (or even if) the command and  its  output  are
359825       logged. For example:
359826
359827          salt '*' cmd.run 'tail /var/log/messages' output_loglevel=debug
359828
359829       The package management modules (apt, yumpkg, etc.) have been updated to
359830       log the copious output generated from these commands at loglevel debug.
359831
359832       NOTE:
359833          To keep a command from being logged,  output_loglevel=quiet  can  be
359834          used.
359835
359836          Prior  to  this  release,  this could be done using quiet=True. This
359837          argument is still supported, but will be removed in  a  future  Salt
359838          release.
359839
359840   PagerDuty Support
359841       Initial support for firing events via PagerDuty has been added. See the
359842       documentation for the pagerduty module.
359843
359844   Virtual Terminal
359845       Sometimes the subprocess module is not good enough, and, in  fact,  not
359846       even  askpass  is. This virtual terminal is still in it's infant child‐
359847       hood, needs quite some love, and  was  originally  created  to  replace
359848       askpass,  but, while developing it, it immediately proved that it could
359849       do so much more. It's currently used by salt-cloud  when  bootstrapping
359850       salt on clouds which require the use of a password.
359851
359852   Proxy Minions
359853       Initial  basic support for Proxy Minions is in this release. Documenta‐
359854       tion can be found here.
359855
359856       Proxy minions are a developing feature in Salt that enables control  of
359857       devices  that  cannot  run a minion. Examples include network gear like
359858       switches and routers that run a proprietary OS but  offer  an  API,  or
359859       "dumb" devices that just don't have the horsepower or ability to handle
359860       a Python VM.
359861
359862       Proxy minions can be difficult to write, so a simple REST-based example
359863       proxy  is  included.  A  Python  bottle-based webserver can be found at
359864       https://github.com/cro/salt-proxy-rest as an endpoint for this proxy.
359865
359866       This is an ALPHA-quality feature. There are a number of issues with  it
359867       currently,  mostly  centering  around  process  control,  logging,  and
359868       inability to work in a masterless configuration.
359869
359870   Additional Bugfixes (Release Candidate Period)
359871       Below are many of the fixes that were implemented in  salt  during  the
359872       release candidate phase.
359873
359874       · Fix mount.mounted leaving conflicting entries in fstab (issue #7079)
359875
359876       · Fix mysql returner serialization to use json (issue #9590)
359877
359878       · Fix  ZMQError:  Operation  cannot  be  accomplished  in current state
359879         errors (issue #6306)
359880
359881       · Rbenv and ruby improvements
359882
359883       · Fix quoting issues with mysql port (issue #9568)
359884
359885       · Update mount module/state to support multiple swap partitions  (issue
359886         #9520)
359887
359888       · Fix archive state to work with bsdtar
359889
359890       · Clarify logs for minion ID caching
359891
359892       · Add numeric revision support to git state (issue #9718)
359893
359894       · Update master_uri with master_ip (issue #9694)
359895
359896       · Add comment to Debian mod_repo (issue #9923)
359897
359898       · Fix potential undefined loop variable in rabbitmq state (issue #8703)
359899
359900       · Fix for salt-virt runner to delete key on VM deletion
359901
359902       · Fix  for  salt-run -d to limit results to specific runner or function
359903         (issue #9975)
359904
359905       · Add tracebacks to jinja renderer when applicable (issue #10010)
359906
359907       · Fix parsing in monit module (issue #10041)
359908
359909       · Fix highstate output from syndic minions (issue #9732)
359910
359911       · Quiet logging when dealing with passwords/hashes (issue #10000)
359912
359913       · Fix for multiple remotes in git_pillar (issue #9932)
359914
359915       · Fix npm installed command (issue #10109)
359916
359917       · Add safeguards for utf8 errors in zcbuildout module
359918
359919       · Fix compound commands (issue #9746)
359920
359921       · Add systemd notification when master is started
359922
359923       · Many doc improvements
359924
359925   Salt 2014.1.1 Release Notes
359926       release
359927              2014-03-18
359928
359929       Version 2014.1.1  is  a  bugfix  release  for  2014.1.0.   The  changes
359930       include:
359931
359932       · Various doc fixes, including up-to-date Salt Cloud installation docu‐
359933         mentation.
359934
359935       · Renamed state.sls runner to state.orchestrate,  to  reduce  confusion
359936         with the state.sls execution function
359937
359938       · Fix various bugs in the dig module (issue #10367)
359939
359940       · Add retry for query on certain EC2 status codes (issue #10154)
359941
359942       · Fix various bugs in mongodb_user state module (issue #10430)
359943
359944       · Fix permissions on ~/.salt_token (issue #10422)
359945
359946       · Add PyObjects support
359947
359948       · Fix launchctl module crash with missing files
359949
359950       · Fix saltutil.find_job for Windows (issue #10581)
359951
359952       · Fix OS detection for OpenSolaris (issue #10601)
359953
359954       · Fix broken salt-ssh key_deploy
359955
359956       · Add support for multiline cron comments (issue #10721)
359957
359958       · Fix timezone module for Arch (issue #10789)
359959
359960       · Fix symlink support for file.recurse (issue #10809)
359961
359962       · Fix multi-master bugs (issue #10732 and issue #10969)
359963
359964       · Fix  file.patch  to  error  when  source  file  is unavailable (issue
359965         #10380)
359966
359967       · Fix pkg to handle packages  set  as  purge  in  pkg.installed  (issue
359968         #10719)
359969
359970       · Add zmqversion grain
359971
359972       · Fix highstate summary for masterless minions (issue #10945)
359973
359974       · Fix  saltutil.find_job  for 2014.1 masters talking to 0.17 minions (‐
359975         issue #11020)
359976
359977       · Fix file.recurse  states  with  trailing  slashes  in  source  (issue
359978         #11002)
359979
359980       · Fix pkg states to allow pkgname.x86_64 (issue #7306)
359981
359982       · Make iptables states set a default table for flush (issue #11037)
359983
359984       · Added  iptables  --reject-with  after final iptables call in iptables
359985         states (issue:10757)
359986
359987       · Fix improper passing of “family” in iptables states (issue #10774)
359988
359989       · Fix traceback in iptables.insert states (issue #10988)
359990
359991       · Fix zombie processes (issue #10867 and others)
359992
359993       · Fix batch mode to obey --return settings (issue #9146)
359994
359995       · Fix localclient issue that was causing  batch  mode  breakage  (issue
359996         #11094, issue #10470, and others)
359997
359998       · Multiple salt-ssh fixes
359999
360000       · FreeBSD: look in /usr/local/etc/salt for configuration by default, if
360001         installed using pip --editable.
360002
360003       · Add a skip_suggestions parameter to pkg.installed states which allows
360004         pre-flight check to be skipped (issue #11106)
360005
360006       · Fixed  tag-based  gitfs  fileserver  environments  regression  (issue
360007         #10956)
360008
360009       · Yum: fix cache of available pkgs not cleared when repos  are  changed
360010         (issue #11001)
360011
360012       · Yum: fix for plugin-provided repositories (i.e. RHN/Spacewalk) (issue
360013         #11145)
360014
360015       · Fix regression in chocolatey.bootstrap (issue #10541)
360016
360017       · Fix fail on unknown target in jobs runner (issue #11151)
360018
360019       · Don’t log errors for commands which are expected  to  sometimes  exit
360020         with non-zero exit status (issue #11154, issue #11090)
360021
360022       · Fix test=True CLI override of config option (issue #10877)
360023
360024       · Log sysctl key listing at loglevel TRACE (issue #10931)
360025
360026   Salt 2014.1.10 Release Notes
360027       release
360028              2014-08-01
360029
360030       NOTE:
360031          Version 2014.1.9 contained a regression which caused inaccurate Salt
360032          version detection, and thus was never packaged for general  release.
360033          This  version  contains  the version detection fix, but is otherwise
360034          identical to 2014.1.9.
360035
360036       Version 2014.1.10 is another  bugfix  release  for  2014.1.0.   Changes
360037       include:
360038
360039       · Ensure  salt-ssh  will  not  continue  if  permissions on a temporary
360040         directory are not correct.
360041
360042       · Use the bootstrap script distributed with Salt instead of relying  on
360043         an external resource
360044
360045       · Remove unused testing code
360046
360047       · Ensure salt states are placed into the .salt directory in salt-ssh
360048
360049       · Use a randomized path for temporary files in a salt-cloud deployment
360050
360051       · Clean any stale directories to ensure a fresh copy of salt-ssh during
360052         a deployment
360053
360054       Salt 2014.1.10  fixes  security  issues  documented  by  CVE-2014-3563:
360055       "Insecure  tmp-file  creation  in  seed.py,  salt-ssh, and salt-cloud."
360056       Upgrading is recommended.
360057
360058   Salt 2014.1.11 Release Notes
360059       release
360060              2014-08-29
360061
360062       Version 2014.1.11 is another  bugfix  release  for  2014.1.0.   Changes
360063       include:
360064
360065       · Fix for minion_id with byte-order mark (BOM) (issue #12296)
360066
360067       · Fix runas deprecation in at module
360068
360069       · Fix trailing slash befhavior for file.makedirs_ (issue #14019)
360070
360071       · Fix chocolatey path (issue #13870)
360072
360073       · Fix git_pillar infinite loop issues (issue #14671)
360074
360075       · Fix json outputter null case
360076
360077       · Fix  for  minion  error  if  one  of multiple masters are down (issue
360078         #14099)
360079
360080   Salt 2014.1.12 Release Notes
360081       release
360082              2014-10-08
360083
360084       Version 2014.1.12 is another  bugfix  release  for  2014.1.0.   Changes
360085       include:
360086
360087       · Fix scp_file always failing (which broke salt-cloud) (issue #16437)
360088
360089       · Fix  regression  in pillar in masterless (issue #16210, issue #16416,
360090         issue #16428)
360091
360092   Salt 2014.1.13 Release Notes
360093       release
360094              2014-10-14
360095
360096       Version 2014.1.13 is another  bugfix  release  for  2014.1.0.   Changes
360097       include:
360098
360099       · Fix  sftp_file  by  checking the exit status code of scp (which broke
360100         salt-cloud) (issue #16599)
360101
360102   Salt 2014.1.2 Release Notes
360103       release
360104              2014-04-15
360105
360106       Version 2014.1.2 is another bugfix release for  2014.1.0.  The  changes
360107       include:
360108
360109       · Fix username detection when su'ed to root on FreeBSD (issue #11628)
360110
360111       · Fix minionfs backend for file.recurse states
360112
360113       · Fix  32-bit packages of different arches than the CPU arch, on 32-bit
360114         RHEL/CentOS (issue #11822)
360115
360116       · Fix bug with specifying alternate home dir on user creation (FreeBSD)
360117         (issue #11790)
360118
360119       · Don’t reload site module on module refresh for MacOS
360120
360121       · Fix  regression with running execution functions in Pillar SLS (issue
360122         #11453)
360123
360124       · Fix some modules missing from Windows installer
360125
360126       · Don’t log an error for yum commands that return nonzero  exit  status
360127         on non-failure (issue #11645)
360128
360129       · Fix bug in rabbitmq state (issue #8703)
360130
360131       · Fix missing ssh config options (issue #10604)
360132
360133       · Fix top.sls ordering (issue #10810 and issue #11691)
360134
360135       · Fix salt-key --list all (issue #10982)
360136
360137       · Fix win_servermanager install/remove function (issue #11038)
360138
360139       · Fix  interaction  with  tokens  when  running commands as root (issue
360140         #11223)
360141
360142       · Fix overstate bug with find_job and **kwargs (issue #10503)
360143
360144       · Fix saltenv for aptpkg.mod_repo from pkgrepo state
360145
360146       · Fix environment issue causing file caching problems (issue #11189)
360147
360148       · Fix bug in __parse_key in registry state (issue #11408)
360149
360150       · Add minion auth retry on rejection (issue #10763)
360151
360152       · Fix publish_session updating the encryption key (issue #11493)
360153
360154       · Fix for bad AssertionError raised by GitPython (issue #11473)
360155
360156       · Fix debian_ip to allow disabling and enabling networking on Ubuntu (‐
360157         issue #11164)
360158
360159       · Fix  potential memory leak caused by saved (and unused) events (issue
360160         #11582)
360161
360162       · Fix exception handling in the MySQL module (issue #11616)
360163
360164       · Fix environment-related error (issue #11534)
360165
360166       · Include psutil on Windows
360167
360168       · Add file.replace and file.search to Windows (issue #11471)
360169
360170       · Add additional file module helpers to Windows (issue #11235)
360171
360172       · Add pid to netstat output on Windows (issue #10782)
360173
360174       · Fix Windows not caching new versions of installers in winrepo  (issue
360175         #10597)
360176
360177       · Fix hardcoded md5 hashing
360178
360179       · Fix kwargs in salt-ssh (issue #11609)
360180
360181       · Fix file backup timestamps (issue #11745)
360182
360183       · Fix stacktrace on sys.doc with invalid eauth (issue #11293)
360184
360185       · Fix git.latest with test=True (issue #11595)
360186
360187       · Fix file.check_perms hardcoded follow_symlinks (issue #11387)
360188
360189       · Fix certain pkg states for RHEL5/Cent5 machines (issue #11719)
360190
360191   Salt 2014.1.3 Release Notes
360192       release
360193              2014-04-15
360194
360195       Version  2014.1.3  is another bugfix release for 2014.1.0.  It was cre‐
360196       ated as a hotfix for a regression found in 2014.1.2, which was not dis‐
360197       tributed.  The only change made was as follows:
360198
360199       · Fix  regression that caused saltutil.find_job to fail, causing prema‐
360200         ture terminations of salt CLI commands.
360201
360202       Changes in the not-distributed 2014.1.2, also included in 2014.1.3:
360203
360204       · Fix username detection when su'ed to root on FreeBSD (issue #11628)
360205
360206       · Fix minionfs backend for file.recurse states
360207
360208       · Fix 32-bit packages of different arches than the CPU arch, on  32-bit
360209         RHEL/CentOS (issue #11822)
360210
360211       · Fix bug with specifying alternate home dir on user creation (FreeBSD)
360212         (issue #11790)
360213
360214       · Don’t reload site module on module refresh for MacOS
360215
360216       · Fix regression with running execution functions in Pillar SLS  (issue
360217         #11453)
360218
360219       · Fix some modules missing from Windows installer
360220
360221       · Don’t  log  an error for yum commands that return nonzero exit status
360222         on non-failure (issue #11645)
360223
360224       · Fix bug in rabbitmq state (issue #8703)
360225
360226       · Fix missing ssh config options (issue #10604)
360227
360228       · Fix top.sls ordering (issue #10810 and issue #11691)
360229
360230       · Fix salt-key --list all (issue #10982)
360231
360232       · Fix win_servermanager install/remove function (issue #11038)
360233
360234       · Fix interaction with tokens when  running  commands  as  root  (issue
360235         #11223)
360236
360237       · Fix overstate bug with find_job and **kwargs (issue #10503)
360238
360239       · Fix saltenv for aptpkg.mod_repo from pkgrepo state
360240
360241       · Fix environment issue causing file caching problems (issue #11189)
360242
360243       · Fix bug in __parse_key in registry state (issue #11408)
360244
360245       · Add minion auth retry on rejection (issue #10763)
360246
360247       · Fix publish_session updating the encryption key (issue #11493)
360248
360249       · Fix for bad AssertionError raised by GitPython (issue #11473)
360250
360251       · Fix debian_ip to allow disabling and enabling networking on Ubuntu (‐
360252         issue #11164)
360253
360254       · Fix potential memory leak caused by saved (and unused) events  (issue
360255         #11582)
360256
360257       · Fix exception handling in the MySQL module (issue #11616)
360258
360259       · Fix environment-related error (issue #11534)
360260
360261       · Include psutil on Windows
360262
360263       · Add file.replace and file.search to Windows (issue #11471)
360264
360265       · Add additional file module helpers to Windows (issue #11235)
360266
360267       · Add pid to netstat output on Windows (issue #10782)
360268
360269       · Fix  Windows not caching new versions of installers in winrepo (issue
360270         #10597)
360271
360272       · Fix hardcoded md5 hashing
360273
360274       · Fix kwargs in salt-ssh (issue #11609)
360275
360276       · Fix file backup timestamps (issue #11745)
360277
360278       · Fix stacktrace on sys.doc with invalid eauth (issue #11293)
360279
360280       · Fix git.latest with test=True (issue #11595)
360281
360282       · Fix file.check_perms hardcoded follow_symlinks (issue #11387)
360283
360284       · Fix certain pkg states for RHEL5/Cent5 machines (issue #11719)
360285
360286   Salt 2014.1.4 Release Notes
360287       release
360288              2014-05-05
360289
360290       Version 2014.1.4 is  another  bugfix  release  for  2014.1.0.   Changes
360291       include:
360292
360293       · Fix setup.py dependency issue (issue #12031)
360294
360295       · Fix  handling  for IOErrors under certain circumstances (issue #11783
360296         and issue #11853)
360297
360298       · Fix fatal  exception  when  /proc/1/cgroup  is  not  readable  (issue
360299         #11619)
360300
360301       · Fix os grains for OpenSolaris (issue #11907)
360302
360303       · Fix lvs.zero module argument pass-through (issue #9001)
360304
360305       · Fix  bug  in  debian_ip  interaction with network.system state (issue
360306         #11164)
360307
360308       · Remove bad binary package verification code (issue #12177)
360309
360310       · Fix traceback in solaris package installation (issue #12237)
360311
360312       · Fix file.directory state symlink handling (issue #12209)
360313
360314       · Remove external_ip grain
360315
360316       · Fix file.managed makedirs issues (issue #10446)
360317
360318       · Fix hang on non-existent Windows drive letter for file module  (issue
360319         #9880)
360320
360321       · Fix salt minion caching all users on the server (issue #9743)
360322
360323       · Add strftime formatting for ps.boot_time (issue #12428)
360324
360325   Salt 2014.1.5 Release Notes
360326       release
360327              2014-06-11
360328
360329       Version  2014.1.5  is  another  bugfix  release  for 2014.1.0.  Changes
360330       include:
360331
360332       · Add function for finding cached job on the minion
360333
360334       · Fix iptables save file location for Debian (issue #11730)
360335
360336       · Fix for minion caching jobs when master is down
360337
360338       · Bump default syndic_wait to 5 to fix syndic-related  problems  (issue
360339         #12262)
360340
360341       · Add  OpenBSD,  FreeBSD, and NetBSD support for network.netstat (issue
360342         #12121)
360343
360344       · Fix false positive error in logs for makeconf state (issue #9762)
360345
360346       · Fix for yum fromrepo  package  installs  when  repo  is  disabled  by
360347         default (issue #12466)
360348
360349       · Fix for extra blank lines in file.blockreplace (issue #12422)
360350
360351       · Fix grain detection for OpenVZ guests (issue #11877)
360352
360353       · Fix get_dns_servers function for Windows win_dns_client
360354
360355       · Use system locale for ports package installations
360356
360357       · Use correct stop/restart procedure for Debian networking in debian_ip
360358         (issue #12614)
360359
360360       · Fix for cmd_iter/cmd_iter_no_block blocking issues (issue #12617)
360361
360362       · Fix traceback when syncing custom types (issue #12883)
360363
360364       · Fix cleaning directory symlinks in file.directory
360365
360366       · Add performance optimizations for saltutil.sync_all  and  state.high‐
360367         state
360368
360369       · Fix possible error in saltutil.running
360370
360371       · Fix for kmod modules with dashes (issue #13239)
360372
360373       · Fix  possible  race  condition  for  Windows  minions in state module
360374         reloading (issue #12370)
360375
360376       · Fix bug with roster for passwd option that is loaded as a  non-string
360377         object (issue #13249)
360378
360379       · Keep  duplicate version numbers from showing up in pkg.list_pkgs out‐
360380         put
360381
360382       · Fixes for Jinja renderer, timezone module/state (issue #12724)
360383
360384       · Fix timedatectl parsing for systemd>=210 (issue #12728)
360385
360386       · Fix saltenv being written to YUM repo config files (issue #12887)
360387
360388       · Removed the deprecated external nodes classifier (originally accessi‐
360389         ble by setting a value for external_nodes in the master configuration
360390         file).  Note that this functionality has been marked  deprecated  for
360391         some time and was replaced by the more general master tops system.
360392
360393       · More robust escaping of ldap filter strings.
360394
360395       · Fix trailing slash in gitfs_root causing files not to be available (‐
360396         issue #13185)
360397
360398   Salt 2014.1.6 Release Notes
360399       release
360400              2014-07-08
360401
360402       Version 2014.1.6 is  another  bugfix  release  for  2014.1.0.   Changes
360403       include:
360404
360405       · Fix  extra  iptables  --help  output  (Sorry!)   (issue #13648, issue
360406         #13507, issue #13527, issue #13607)
360407
360408       · Fix mount.active for Solaris
360409
360410       · Fix support for allow-hotplug statement in debian_ip network module
360411
360412       · Add sqlite3 to esky builds
360413
360414       · Fix jobs.active output (issue #9526)
360415
360416       · Fix the virtual grain for Xen (issue #13534)
360417
360418       · Fix _ext_nodes unavailable on master (issue #13535)
360419
360420       · Fix eauth for batch mode (issue #9605)
360421
360422       · Fix force-related issues with tomcat support (issue #12889)
360423
360424       · Fix KeyError when cloud mapping
360425
360426       · Fix salt-minion restart loop in Windows (issue #12086)
360427
360428       · Fix detection of service virtual module on Fedora minions
360429
360430       · Fix traceback with missing ipv4 grain (issue #13838)
360431
360432       · Fix issue in roots backend with  invalid  data  in  mtime_map  (issue
360433         #13836)
360434
360435       · Fix traceback in jobs.active (issue #11151)
360436
360437       · Fix master_tops and _ext_nodes issue (issue #13535, issue #13673)
360438
360439   Salt 2014.1.7 Release Notes
360440       release
360441              2014-07-09
360442
360443       Version  2014.1.7  is  another  bugfix  release  for 2014.1.0.  Changes
360444       include:
360445
360446       · Fix batch mode regression (issue #14046)
360447
360448       This release was a hotfix release for the regression listed above which
360449       was  present in the 2014.1.6 release.  The changes included in 2014.1.6
360450       are listed below:
360451
360452       · Fix extra iptables  --help  output  (Sorry!)   (issue  #13648,  issue
360453         #13507, issue #13527, issue #13607)
360454
360455       · Fix mount.active for Solaris
360456
360457       · Fix support for allow-hotplug statement in debian_ip network module
360458
360459       · Add sqlite3 to esky builds
360460
360461       · Fix jobs.active output (issue #9526)
360462
360463       · Fix the virtual grain for Xen (issue #13534)
360464
360465       · Fix eauth for batch mode (issue #9605)
360466
360467       · Fix force-related issues with tomcat support (issue #12889)
360468
360469       · Fix KeyError when cloud mapping
360470
360471       · Fix salt-minion restart loop in Windows (issue #12086)
360472
360473       · Fix detection of service virtual module on Fedora minions
360474
360475       · Fix traceback with missing ipv4 grain (issue #13838)
360476
360477       · Fix  issue  in  roots  backend  with invalid data in mtime_map (issue
360478         #13836)
360479
360480       · Fix traceback in jobs.active (issue #11151)
360481
360482       · Fix master_tops and _ext_nodes issue (issue #13535, issue #13673)
360483
360484   Salt 2014.1.8 Release Notes
360485       release
360486              2014-07-30
360487
360488       NOTE:
360489          This release contained a regression  which  caused  inaccurate  Salt
360490          version  detection, and thus was never packaged for general release.
360491          Please use version 2014.1.10 instead.
360492
360493       Version 2014.1.8 is  another  bugfix  release  for  2014.1.0.   Changes
360494       include:
360495
360496       · Ensure  salt-ssh  will  not  continue  if  permissions on a temporary
360497         directory are not correct.
360498
360499       · Use the bootstrap script distributed with Salt instead of relying  on
360500         an external resource
360501
360502       · Remove unused testing code
360503
360504       · Ensure salt states are placed into the .salt directory in salt-ssh
360505
360506       · Use a randomized path for temporary files in a salt-cloud deployment
360507
360508       · Clean any stale directories to ensure a fresh copy of salt-ssh during
360509         a deployment
360510
360511   Salt 2014.1.9 Release Notes
360512       release
360513              2014-07-31
360514
360515       NOTE:
360516          This release contained a regression  which  caused  inaccurate  Salt
360517          version  detection, and thus was never packaged for general release.
360518          Please use version 2014.1.10 instead.
360519
360520       NOTE:
360521          Version 2014.1.8 contained a regression which caused inaccurate Salt
360522          version  detection, and thus was never packaged for general release.
360523          This version contains the version detection fix,  but  is  otherwise
360524          identical to 2014.1.8.
360525
360526       Version  2014.1.9  is  another  bugfix  release  for 2014.1.0.  Changes
360527       include:
360528
360529       · Ensure salt-ssh will not  continue  if  permissions  on  a  temporary
360530         directory are not correct.
360531
360532       · Use  the bootstrap script distributed with Salt instead of relying on
360533         an external resource
360534
360535       · Remove unused testing code
360536
360537       · Ensure salt states are placed into the .salt directory in salt-ssh
360538
360539       · Use a randomized path for temporary files in a salt-cloud deployment
360540
360541       · Clean any stale directories to ensure a fresh copy of salt-ssh during
360542         a deployment
360543
360544   Salt 0.10.0 Release Notes
360545       release
360546              2012-06-16
360547
360548       0.10.0  has  arrived!  This  release comes with MANY bug fixes, and new
360549       capabilities which greatly enhance performance  and  reliability.  This
360550       release  is  primarily  a  bug fix release with many new tests and many
360551       repaired bugs. This release also introduces  a  few  new  key  features
360552       which  were  brought  in  primarily to repair bugs and some limitations
360553       found in some of the components of the original architecture.
360554
360555   Major Features
360556   Event System
360557       The Salt Master now comes equipped with a new event system. This  event
360558       system  has replaced some of the back end of the Salt client and offers
360559       the beginning of a system which will make  plugging  external  applica‐
360560       tions  into  Salt.  The  event  system relies on a local ZeroMQ publish
360561       socket and other processes can connect to this socket  and  listen  for
360562       events. The new events can be easily managed via Salt's event library.
360563
360564   Unprivileged User Updates
360565       Some  enhancements  have been added to Salt for running as a user other
360566       than root. These new additions should make switching the user that  the
360567       Salt  Master is running as very painless, simply change the user option
360568       in the master configuration and restart the master, Salt will take care
360569       of all of the particulars for you.
360570
360571   Peer Runner Execution
360572       Salt  has  long had the peer communication system used to allow minions
360573       to send commands via the salt master.  0.10.0  adds  a  new  capability
360574       here,  now the master can be configured to allow for minions to execute
360575       Salt runners via the peer_run option in the salt master configuration.
360576
360577   YAML Parsing Updates
360578       In the past the YAML parser for sls files would  return  the  incorrect
360579       numbers  when the file mode was set with a preceding 0. The YAML parser
360580       used in Salt has been modified to no longer convert these  number  into
360581       octal  but to keep them as the correct value so that sls files can be a
360582       little cleaner to write.
360583
360584   State Call Data Files
360585       It was requested that the minion keep a local cache of the most  recent
360586       executed  state  run.  This  has been added and now with state runs the
360587       data is stored in a msgpack file in the minion's cachedir.
360588
360589   Turning Off the Job Cache
360590       A new option has been added to the master configuration file. In previ‐
360591       ous releases the Salt client would look over the Salt job cache to read
360592       in the minion return data. With the addition of the  event  system  the
360593       Salt  client  can  now watch for events directly from the master worker
360594       processes.
360595
360596       This means that the job cache is no longer a hard requirement. Keep  in
360597       mind  though,  that  turning  off the job cache means that historic job
360598       execution data cannot be retrieved.
360599
360600   Test Updates
360601   Minion Swarms Are Faster
360602       To continue our efforts with testing Salt's ability to scale  the  min‐
360603       ionswarm script has been updated. The minionswarm can now start up min‐
360604       ions much faster than it could before and  comes  with  a  new  feature
360605       allowing  modules  to be disabled, thus lowering the minion's footprint
360606       when making a swarm. These new updates have allows us to test
360607
360608          # python minionswarm.py -m 20 --master salt-master
360609
360610   Many Fixes
360611       To get a good idea for the number of bugfixes this release offers  take
360612       a  look  at  the  closed tickets for 0.10.0, this is a very substantial
360613       update:
360614
360615       https://github.com/saltstack/salt/issues?milestone=12&state=closed
360616
360617   Master and Minion Stability Fixes
360618       As Salt deployments grow new ways to break Salt are discovered.  0.10.0
360619       comes with a number of fixes for the minions and master greatly improv‐
360620       ing Salt stability.
360621
360622   Salt 0.10.1 Release Notes
360623       release
360624              2012-06-19
360625
360626   Salt 0.10.2 Release Notes
360627       release
360628              2012-07-30
360629
360630       0.10.2 is out! This release  comes  with  enhancements  to  the  pillar
360631       interface,  cleaner  ways  to  access the salt-call capabilities in the
360632       API, minion data caching and the event system has been  added  to  salt
360633       minions.
360634
360635       There  have  also been updates to the ZeroMQ functions, many more tests
360636       (thanks to sponsors, the code sprint and many contributors) and a swath
360637       of bug fixes.
360638
360639   Major Features
360640   Ext Pillar Modules
360641       The  ranks  of  available Salt modules directories sees a new member in
360642       0.10.2.  With the popularity of pillar a higher demand has  arisen  for
360643       ext_pillar  interfaces  to  be more like regular Salt module additions.
360644       Now ext_pillar interfaces can be added in the same way  as  other  mod‐
360645       ules, just drop it into the pillar directory in the salt source.
360646
360647   Minion Events
360648       In 0.10.0 an event system was added to the Salt master. 0.10.2 adds the
360649       event system to the minions as well. Now event can be  published  on  a
360650       local minion as well.
360651
360652       The minions can also send events back up to the master. This means that
360653       Salt is able to communicate individual events from the minions back  up
360654       to the Master which are not associated with command.
360655
360656   Minion Data Caching
360657       When pillar was introduced the landscape for available data was greatly
360658       enhanced. The minion's began sending grain data back to the master on a
360659       regular basis.
360660
360661       The  new config option on the master called minion_data_cache instructs
360662       the Salt master to maintain a cache of the minion's grains  and  pillar
360663       data  in  the  cachedir.  This option is turned off by default to avoid
360664       hitting the disk more, but when enabled the cache is used to make grain
360665       matching  from  the  salt command more powerful, since the minions that
360666       will match can be predetermined.
360667
360668   Backup Files
360669       By default all files replaced  by  the  file.managed  and  file.recurse
360670       states  we  simply  deleted.  0.10.2  adds a new option. By setting the
360671       backup option to minion  the  files  are  backed  up  before  they  are
360672       replaced.
360673
360674       The  backed  up files are located in the cachedir under the file_backup
360675       directory.    On    a    default    system    this    will    be    at:
360676       /var/cache/salt/file_backup
360677
360678   Configuration files
360679       salt-master and salt-minion automatically load additional configuration
360680       files  from  master.d/*.conf  respective  minion.d/*.conf  where   mas‐
360681       ter.d/minion.d is a directory in the same directory as the main config‐
360682       uration file.
360683
360684   Salt Key Verification
360685       A number of users complained that they had  inadvertently  deleted  the
360686       wrong salt authentication keys. 0.10.2 now displays what keys are going
360687       to be deleted and verifies that they are the keys that are intended for
360688       deletion.
360689
360690   Key auto-signing
360691       If  autosign_file  is specified in the configuration file incoming keys
360692       will be compared to the list  of  keynames  in  autosign_file.  Regular
360693       expressions as well as globbing is supported.
360694
360695       The  file  must only be writable by the user otherwise the file will be
360696       ignored. To relax the permission and allow group write access  set  the
360697       permissive_pki_access option.
360698
360699   Module changes
360700   Improved OpenBSD support
360701       New  modules for managing services and packages were provided by Joshua
360702       Elsasser to further improve the support for OpenBSD.
360703
360704       Existing modules like the disk module were  also  improved  to  support
360705       OpenBSD.
360706
360707   SQL Modules
360708       The  MySQL  and PostgreSQL modules have both received a number of addi‐
360709       tions thanks to the work of Avi Marcus and Roman Imankulov.
360710
360711   ZFS Support on FreeBSD
360712       A new ZFS module has been added by Kurtis Velarde for FreeBSD  support‐
360713       ing various ZFS operations like creating, extending or removing zpools.
360714
360715   Augeas
360716       A  new  Augeas module by Ulrich Dangel for editing and verifying config
360717       files.
360718
360719   Native Debian Service module
360720       The support for the Debian was further improved  with  an  new  service
360721       module for Debian by Ahmad Khayyat supporting disable and enable.
360722
360723   Cassandra
360724       Cassandra support has been added by Adam Garside. Currently only status
360725       and diagnostic information are supported.
360726
360727   Networking
360728       The networking support for RHEL has been improved and supports  bonding
360729       support as well as zeroconf configuration.
360730
360731   Monit
360732       Basic monit support by Kurtis Velarde to control services via monit.
360733
360734   nzbget
360735       Basic support for controlling nzbget by Joseph Hall
360736
360737   Bluetooth
360738       Baisc  bluez  support  for  managing and controlling Bluetooth devices.
360739       Supports scanning as well as pairing/unpairing by Joseph Hall.
360740
360741   Test Updates
360742   Consistency Testing
360743       Another testing script has been added. A bug was found in  pillar  when
360744       many minions generated pillar data at the same time. The new consist.py
360745       script is the tests directory was created to reproduce bugs where  data
360746       should always be consistent.
360747
360748   Many Fixes
360749       To  get a good idea for the number of bugfixes this release offers take
360750       a look at the closed tickets for 0.10.2, this  is  a  very  substantial
360751       update:
360752
360753       https://github.com/saltstack/salt/issues?milestone=24&page=1&state=closed
360754
360755   Master and Minion Stability Fixes
360756       As Salt deployments grow new ways to break Salt are discovered.  0.10.2
360757       comes with a number of fixes for the minions and master greatly improv‐
360758       ing Salt stability.
360759
360760   Salt 0.10.3 Release Notes
360761       release
360762              2012-09-30
360763
360764       The latest taste of Salt has come, this release has many fixes and fea‐
360765       ture additions. Modifications have been made to make ZeroMQ connections
360766       more reliable, the beginning of the ACL system is in place, a new  com‐
360767       mand  line  parsing  system has been added, dynamic module distribution
360768       has become more environment aware, the  new  master_finger  option  and
360769       many more!
360770
360771   Major Features
360772   ACL System
360773       The  new ACL system has been introduced. The ACL system allows for sys‐
360774       tem users other than root  to  execute  salt  commands.  Users  can  be
360775       allowed  to  execute specific commands in the same way that minions are
360776       opened up to the peer system.
360777
360778       The configuration value to open up the ACL system is called  client_acl
360779       and is configured like so:
360780
360781          client_acl:
360782            fred:
360783              - test..*
360784              - pkg.list_pkgs
360785
360786       Where fred is allowed access to functions in the test module and to the
360787       pkg.list_pkgs function.
360788
360789   Master Finger Option
360790       The master_finger option has been added to improve the security of min‐
360791       ion  provisioning.  The master_finger option allows for the fingerprint
360792       of the master public key to be set in the configuration file to  double
360793       verify that the master is valid. This option was added in response to a
360794       motivation to pre-authenticate the master when provisioning new minions
360795       to help prevent man in the middle attacks in some situations.
360796
360797   Salt Key Fingerprint Generation
360798       The  ability  to  generate  fingerprints  of keys used by Salt has been
360799       added to salt-key. The new option finger accepts the name of the key to
360800       generate and display a fingerprint for.
360801
360802          salt-key -F master
360803
360804       Will display the fingerprints for the master public and private keys.
360805
360806   Parsing System
360807       Pedro  Algavio,  aka  s0undt3ch,  has added a substantial update to the
360808       command line parsing system that makes the  help  message  output  much
360809       cleaner  and  easier  to  search  through. Salt parsers now have --ver‐
360810       sions-report besides usual --version info which you  can  provide  when
360811       reporting any issues found.
360812
360813   Key Generation
360814       We have reduced the requirements needed for salt-key to generate minion
360815       keys.  You're no longer required to have salt configured and it's  com‐
360816       mon  directories created just to generate keys. This might prove useful
360817       if you're batch creating keys to pre-load on minions.
360818
360819   Startup States
360820       A few configuration options have been added which allow for  states  to
360821       be  run  when  the  minion daemon starts. This can be a great advantage
360822       when deploying with Salt because the minion can apply states right when
360823       it  first runs. To use startup states set the startup_states configura‐
360824       tion option on the minion to highstate.
360825
360826   New Exclude Declaration
360827       Some users have asked about adding the ability to ensure that other sls
360828       files  or ids are excluded from a state run. The exclude statement will
360829       delete all of the data loaded from  the  specified  sls  file  or  will
360830       delete the specified id:
360831
360832          exclude:
360833            - sls: http
360834            - id: /etc/vimrc
360835
360836   Max Open Files
360837       While  we're currently unable to properly handle ZeroMQ's abort signals
360838       when the max open files is reached, due to the way  that's  handled  on
360839       ZeroMQ's,  we  have  minimized the chances of this happening without at
360840       least warning the user.
360841
360842   More State Output Options
360843       Some major changes have been made to the state output  system.  In  the
360844       past  state  return data was printed in a very verbose fashion and only
360845       states that failed or made changes were printed  by  default.  Now  two
360846       options  can  be passed to the master and minion configuration files to
360847       change the behavior of the state output. State output  can  be  set  to
360848       verbose (default) or non-verbose with the state_verbose option:
360849
360850          state_verbose: False
360851
360852       It  is noteworthy that the state_verbose option used to be set to False
360853       by default but has been changed to True by default  in  0.10.3  due  to
360854       many requests for the change.
360855
360856       Te  next option to be aware of new and called state_output. This option
360857       allows for the state output to be set to full (default) or terse.
360858
360859       The full output is the standard state output, but the new terse  output
360860       will  print  only  one  line per state making the output much easier to
360861       follow when executing a large state system.
360862
360863          state_output: terse
360864
360865   state.file.append Improvements
360866       The salt state file.append() tries not to append existing text.  Previ‐
360867       ously  the  matching check was being made line by line. While this kind
360868       of check might be enough for most cases, if the text being appended was
360869       multi-line,  the check would not work properly. This issue is now prop‐
360870       erly handled, the match is done as a whole  ignoring  any  white  space
360871       addition  or removal except inside commas.  For those thinking that, in
360872       order to properly match over multiple lines, salt will load  the  whole
360873       file into memory, that's not true. For most cases this is not important
360874       but an erroneous order to read a 4GB file,  if  not  properly  handled,
360875       like salt does, could make salt chew that amount of memory.  Salt has a
360876       buffered file reader which will keep in memory a maximum of  256KB  and
360877       iterates  over  the  file in chunks of 32KB to test for the match, more
360878       than enough, if not, explain your usage on a ticket. With this  change,
360879       also  salt.modules.file.contains(), salt.modules.file.contains_regex(),
360880       salt.modules.file.contains_glob()  and  salt.utils.find  now   do   the
360881       searching  and/or matching using the buffered chunks approach explained
360882       above.
360883
360884       Two new keyword arguments were also added, makedirs, and  source.   The
360885       first,  makedirs  will  create  the  necessary  directories in order to
360886       append to the specified file, of course, it only applies if we're  try‐
360887       ing to append to a non-existing file on a non-existing directory:
360888
360889          /tmp/salttest/file-append-makedirs:
360890              file.append:
360891                  text: foo
360892                  makedirs: True
360893
360894       The second, source, allows one to append the contents of a file instead
360895       of specifying the text.
360896
360897          /tmp/salttest/file-append-source:
360898
360899          file.append:
360900              - source: salt://testfile
360901
360902   Security Fix
360903       A timing vulnerability was uncovered in the code which decrypts the AES
360904       messages  sent  over  the network. This has been fixed and upgrading is
360905       strongly recommended.
360906
360907   Salt 0.10.4 Release Notes
360908       release
360909              2012-10-23
360910
360911       Salt 0.10.4 is a monumental release for the Salt  team,  with  two  new
360912       module  systems,  many  additions  to  allow  granular  access to Salt,
360913       improved platform support and much more.
360914
360915       This release is also exciting because we have been able to shorten  the
360916       release cycle back to under a month. We are working hard to keep up the
360917       aggressive pace and look forward to having releases  happen  more  fre‐
360918       quently!
360919
360920       This  release  also  includes  a serious security fix and all users are
360921       very strongly recommended to upgrade.  As  usual,  upgrade  the  master
360922       first, and then the minion to ensure that the process is smooth.
360923
360924   Major Features
360925   External Authentication System
360926       The  new external authentication system allows for Salt to pass through
360927       authentication to any authentication system to determine if a user  has
360928       permission  to execute a Salt command. The Unix PAM system is the first
360929       supported system with more to come!
360930
360931       The external authentication system allows  for  specific  users  to  be
360932       granted  access  to  execute  specific  functions  on specific minions.
360933       Access is configured in the master configuration file, and uses the new
360934       access control system:
360935
360936          external_auth:
360937            pam:
360938              thatch:
360939                - 'web*':
360940                  - test.*
360941                  - network.*
360942
360943       The  configuration above allows the user thatch to execute functions in
360944       the test and network modules on minions that match the web* target.
360945
360946   Access Control System
360947       All Salt systems can now be configured to grant access to  non-adminis‐
360948       trative  users  in  a  granular way. The old configuration continues to
360949       work. Specific functions can be opened up to specific minions from spe‐
360950       cific  users in the case of external auth and client ACLs, and for spe‐
360951       cific minions in the case of the peer system.
360952
360953       Access controls are configured like this:
360954
360955          client_acl:
360956            fred:
360957              - web\*:
360958                - pkg.list_pkgs
360959                - test.*
360960                - apache.*
360961
360962   Target by Network
360963       A new matcher has been added to the system which allows for minions  to
360964       be targeted by network. This new matcher can be called with the -S flag
360965       on the command line and is available in all  places  that  the  matcher
360966       system is available. Using it is simple:
360967
360968          $ salt -S '192.168.1.0/24' test.ping
360969          $ salt -S '192.168.1.100' test.ping
360970
360971   Nodegroup Nesting
360972       Previously a nodegroup was limited by not being able to include another
360973       nodegroup, this restraint has been lifted and now  nodegroups  will  be
360974       expanded within other nodegroups with the N@ classifier.
360975
360976   Salt Key Delete by Glob
360977       The  ability  to delete minion keys by glob has been added to salt-key.
360978       To delete all minion keys whose minion name starts with 'web':
360979
360980          $ salt-key -d 'web*'
360981
360982   Master Tops System
360983       The external_nodes system has been upgraded to allow for  modular  sub‐
360984       systems to be used to generate the top file data for a highstate run.
360985
360986       The  external_nodes  option  still  works but will be deprecated in the
360987       future in favor of the new master_tops option.
360988
360989       Example of using master_tops:
360990
360991          master_tops:
360992            ext_nodes: cobbler-external-nodes
360993
360994   Next Level Solaris Support
360995       A lot of work has been put into improved Solaris support by Romeo  The‐
360996       riault.   Packaging modules (pkgadd/pkgrm and pkgutil) and states, cron
360997       support and user and group management have all been added and  improved
360998       upon. These additions along with SMF (Service Management Facility) ser‐
360999       vice support and improved Solaris grain detection in 0.10.3 add  up  to
361000       Salt becoming a great tool to manage Solaris servers with.
361001
361002   Security
361003       A  vulnerability  in  the  security  handshake  was  found and has been
361004       repaired, old minions should be able to connect to a new master, so  as
361005       usual, the master should be updated first and then the minions.
361006
361007   Pillar Updates
361008       The  pillar  communication has been updated to add some extra levels of
361009       verification so that the intended minion is the  only  one  allowed  to
361010       gather  the  data.  Once all minions and the master are updated to salt
361011       0.10.4 please activate pillar 2 by changing the pillar_version  in  the
361012       master  config  to  2.  This  will  be  set to 2 by default in a future
361013       release.
361014
361015   Salt 0.10.5 Release Notes
361016       release
361017              2012-11-15
361018
361019       Salt 0.10.5 is ready, and comes with some great  new  features.  A  few
361020       more  interfaces  have been modularized, like the outputter system. The
361021       job cache system has been made more powerful  and  can  now  store  and
361022       retrieve  jobs  archived in external databases. The returner system has
361023       been extended to allow minions to easily retrieve data from a  returner
361024       interface.
361025
361026       As usual, this is an exciting release, with many noteworthy additions!
361027
361028   Major Features
361029   External Job Cache
361030       The  external  job cache is a system which allows for a returner inter‐
361031       face to also act as a job cache. This system is intended to allow users
361032       to  store  job  information in a central location for longer periods of
361033       time and to make the act of looking up information from  jobs  executed
361034       on other minions easier.
361035
361036       Currently  the  external job cache is supported via the mongo and redis
361037       returners:
361038
361039          ext_job_cache: redis
361040          redis.host: salt
361041
361042       Once the external job cache is turned on the new ret module can be used
361043       on  the minions to retrieve return information from the job cache. This
361044       can be a great way for minions to respond and react to other minions.
361045
361046   OpenStack Additions
361047       OpenStack integration with Salt has been moving forward at a blistering
361048       pace.   The new nova, glance, and keystone modules represent the begin‐
361049       ning of ongoing OpenStack integration.
361050
361051       The Salt team has had many conversations with core OpenStack developers
361052       and is working on linking to OpenStack in powerful new ways.
361053
361054   Wheel System
361055       A  new  API  was added to the Salt Master which allows the master to be
361056       managed via an external API. This new system allows Salt API to  easily
361057       hook  into  the  Salt Master and manage configs, modify the state tree,
361058       manage the pillar and more. The main motivation for the wheel system is
361059       to  enable  features  needed in the upcoming web UI so users can manage
361060       the master just as easily as they manage minions.
361061
361062       The wheel system has also been hooked into the  external  auth  system.
361063       This allows specific users to have granular access to manage components
361064       of the Salt Master.
361065
361066   Render Pipes
361067       Jack Kuan has added a substantial new feature. The render pipes  system
361068       allows Salt to treat the render system like unix pipes. This new system
361069       enables sls files to be passed through specific render  engines.  While
361070       the default renderer is still recommended, different engines can now be
361071       more easily merged. So to pipe the output of Mako used in YAML use this
361072       shebang line:
361073
361074       #!mako|yaml
361075
361076   Salt Key Overhaul
361077       The  Salt  Key system was originally developed as only a CLI interface,
361078       but as time went on it was pressed into becoming  a  clumsy  API.  This
361079       release  marks  a  complete  overhaul  of  Salt  Key. Salt Key has been
361080       rewritten to function purely from an API and to use the outputter  sys‐
361081       tem.  The  benefit  here  is  that the outputter system works much more
361082       cleanly with Salt Key now, and the internals of Salt Key  can  be  used
361083       much more cleanly.
361084
361085   Modular Outputters
361086       The  outputter  system  is now loaded in a modular way. This means that
361087       output systems can be more easily added by dropping a python file  down
361088       on the master that contains the function output.
361089
361090   Gzip from Fileserver
361091       Gzip  compression  has  been  added as an option to the cp.get_file and
361092       cp.get_dir commands. This will make file transfers more  efficient  and
361093       faster, especially over slower network links.
361094
361095   Unified Module Configuration
361096       In  past releases of Salt, the minions needed to be configured for cer‐
361097       tain modules to  function.  This  was  difficult  because  it  required
361098       pre-configuring  the  minions. 0.10.5 changes this by making all module
361099       configs on minions search the master config file for values.
361100
361101       Now if a single database server is needed, then it can  be  defined  in
361102       the  master  config and all minions will become aware of the configura‐
361103       tion value.
361104
361105   Salt Call Enhancements
361106       The salt-call command has been updated in a few  ways.  Now,  salt-call
361107       can  take  the  --return  option  to send the data to a returner. Also,
361108       salt-call now reports executions in the minion proc system, this allows
361109       the master to be aware of the operation salt-call is running.
361110
361111   Death to pub_refresh and sub_timeout
361112       The  old  configuration  values  pub_refresh  and sub_timeout have been
361113       removed.  These options were in place to alleviate  problems  found  in
361114       earlier  versions  of ZeroMQ which have since been fixed. The continued
361115       use of these options has proven to cause problems with message  passing
361116       and have been completely removed.
361117
361118   Git Revision Versions
361119       When  running  Salt  directly  from git (for testing or development, of
361120       course) it has been difficult to know exactly what code is  being  exe‐
361121       cuted.  The  new  versioning  system  will detect the git revision when
361122       building and how many commits have been made since the last release.  A
361123       release from git will look like this:
361124
361125       0.10.4-736-gec74d69
361126
361127   Svn Module Addition
361128       Anthony  Cornehl (twinshadow) contributed a module that adds Subversion
361129       support to Salt.  This great addition helps round out Salt's  VCS  sup‐
361130       port.
361131
361132   Noteworthy Changes
361133   Arch Linux Defaults to Systemd
361134       Arch  Linux recently changed to use systemd by default and discontinued
361135       support for init scripts. Salt has followed suit and defaults  to  sys‐
361136       temd now for managing services in Arch.
361137
361138   Salt, Salt Cloud and Openstack
361139       With  the  releases  of  Salt  0.10.5  and  Salt Cloud 0.8.2, OpenStack
361140       becomes the first (non-OS) piece of software to include support both on
361141       the  user  level  (with Salt Cloud) and the admin level (with Salt). We
361142       are excited to continue to extend support of other  platforms  at  this
361143       level.
361144
361145   Salt 0.11.0 Release Notes
361146       release
361147              2012-12-14
361148
361149       Salt  0.11.0  is  here, with some highly sought after and exciting fea‐
361150       tures.  These features include the new overstate  system,  the  reactor
361151       system,  a new state run scope component called __context__, the begin‐
361152       ning of the search system (still needs a great deal of work),  multiple
361153       package  states,  the MySQL returner and a better system to arbitrarily
361154       reference outputters.
361155
361156       It is also noteworthy that we are changing how we mark release numbers.
361157       For  the  life  of  the project we have been pushing every release with
361158       features and fixes as point releases. We will now  be  releasing  point
361159       releases  for  only bug fixes on a more regular basis and major feature
361160       releases on a slightly less regular basis. This  means  that  the  next
361161       release  will be a bugfix only release with a version number of 0.11.1.
361162       The next feature release will be named 0.12.0 and will mark the end  of
361163       life for the 0.11 series.
361164
361165   Major Features
361166   OverState
361167       The overstate system is a simple way to manage rolling state executions
361168       across many minions. The overstate allows for a state to depend on  the
361169       successful completion of another state.
361170
361171   Reactor System
361172       The new reactor system allows for a reactive logic engine to be created
361173       which can respond to events within a salted  environment.  The  reactor
361174       system uses sls files to match events fired on the master with actions,
361175       enabling Salt to react to problems in an infrastructure.
361176
361177       Your load-balanced group of webservers is under extra load? Spin  up  a
361178       new  VM  and add it to the group. Your fileserver is filling up? Send a
361179       notification to your sysadmin on call. The possibilities are endless!
361180
361181   Module Context
361182       A new component has been added to the module loader system. The  module
361183       context  is  a  data  structure that can hold objects for a given scope
361184       within the module.
361185
361186       This allows for components that are initialized to be stored in a  per‐
361187       sistent  context  which can greatly speed up ongoing connections. Right
361188       now the best example can be found in the cp execution module.
361189
361190   Multiple Package Management
361191       A long desired feature has been added to package management. By defini‐
361192       tion  Salt States have always installed packages one at a time. On most
361193       platforms this is not the fastest way to install packages.  Erik  John‐
361194       son,  aka  terminalmage,  has  modified  the  package  modules for many
361195       providers and added new capabilities to  install  groups  of  packages.
361196       These  package groups can be defined as a list of packages available in
361197       repository servers:
361198
361199          python_pkgs:
361200            pkg.installed:
361201              - pkgs:
361202                - python-mako
361203                - whoosh
361204                - python-git
361205
361206       or specify based on the location of specific packages:
361207
361208          python_pkgs:
361209            pkg.installed:
361210              - sources:
361211                - python-mako: http://some-rpms.org/python-mako.rpm
361212                - whoosh: salt://whoosh/whoosh.rpm
361213                - python-git: ftp://companyserver.net/python-git.rpm
361214
361215   Search System
361216       The bones to the search system have been added. This is  a  very  basic
361217       interface  that  allows  for search backends to be added as search mod‐
361218       ules. The first supported search module is the whoosh  search  backend.
361219       Right now only the basic paths for the search system are in place, mak‐
361220       ing this very experimental.  Further development will involve improving
361221       the  search  routines  and  index  routines for whoosh and other search
361222       backends.
361223
361224       The search system has been made to allow for searching through  all  of
361225       the  state  and  pillar  files, configuration files and all return data
361226       from minion executions.
361227
361228   Notable Changes
361229       All previous versions of Salt have shared many directories between  the
361230       master  and  minion.  The  default  locations for keys, cached data and
361231       sockets has been shared by master and minion. This has created  serious
361232       problems with running a master and a minion on the same systems. 0.11.0
361233       changes the defaults to be separate directories. Salt will also attempt
361234       to  migrate  all  of the old key data into the correct new directories,
361235       but if it is not successful it may need to be done  manually.  If  your
361236       keys  exhibit issues after updating make sure that they have been moved
361237       from /etc/salt/pki to /etc/salt/pki/{master,minion}.
361238
361239       The old setup will look like this:
361240
361241          /etc/salt/pki
361242          |-- master.pem
361243          |-- master.pub
361244          |-- minions
361245          |   `-- ragnarok.saltstack.net
361246          |-- minions_pre
361247          |-- minion.pem
361248          |-- minion.pub
361249          |-- minion_master.pub
361250          |-- minions_pre
361251          `-- minions_rejected
361252
361253       With the accepted minion keys in /etc/salt/pki/minions, the  new  setup
361254       places the accepted minion keys in /etc/salt/pki/master/minions.
361255
361256          /etc/salt/pki
361257          |-- master
361258          |   |-- master.pem
361259          |   |-- master.pub
361260          |   |-- minions
361261          |   |   `-- ragnarok.saltstack.net
361262          |   |-- minions_pre
361263          |   `-- minions_rejected
361264          |-- minion
361265          |   |-- minion.pem
361266          |   |-- minion.pub
361267          |   `-- minion_master.pub
361268
361269   Salt 0.11.1 Release Notes
361270       release
361271              2012-12-19
361272
361273   Salt 0.12.0 Release Notes
361274       release
361275              2013-01-15
361276
361277       Another  feature  release  of Salt is here! Some exciting additions are
361278       included with more ways to make salt modular and even easier management
361279       of the salt file server.
361280
361281   Major Features
361282   Modular Fileserver Backend
361283       The new modular fileserver backend allows for any external system to be
361284       used as a salt file server. The main benefit here is  that  it  is  now
361285       possible  to  tell the master to directly use a git remote location, or
361286       many git remote locations, automatically mapping git branches and  tags
361287       to salt environments.
361288
361289   Windows is First Class!
361290       A  new  Salt Windows installer is now available! Much work has been put
361291       in to improve Windows support. With this much easier method of  getting
361292       Salt  on  your  Windows  machines,  we  hope  even more development and
361293       progress will occur. Please file bug reports on the  Salt  GitHub  repo
361294       issue tracker so we can continue improving.
361295
361296       One  thing  that  is missing on Windows that Salt uses extensively is a
361297       software package manager and a software package  repository.  The  Salt
361298       pkg  state  allows  sys  admins to install software across their infra‐
361299       structure and across operating systems. Software on Windows can now  be
361300       managed  in  the  same  way. The SaltStack team built a package manager
361301       that interfaces  with  the  standard  Salt  pkg  module  to  allow  for
361302       installing  and  removing  software on Windows. In addition, a software
361303       package repository has been built on top  of  the  Salt  fileserver.  A
361304       small YAML file provides the information necessary for the package man‐
361305       ager to install and remove software.
361306
361307       An interesting feature of the new Salt Windows software package reposi‐
361308       tory  is  that  one  or more remote git repositories can supplement the
361309       master's local repository. The repository can point to software on  the
361310       master's fileserver or on an HTTP, HTTPS, or ftp server.
361311
361312   New Default Outputter
361313       Salt displays data to the terminal via the outputter system. For a long
361314       time the default outputter for Salt has been the  python  pretty  print
361315       library.   While this has been a generally reasonable outputter, it did
361316       have many failings.  The new default outputter is called  "nested",  it
361317       recursively scans return data structures and prints them out cleanly.
361318
361319       If the result of the new nested outputter is not desired any other out‐
361320       putter can be used via the --out option, or the output  option  can  be
361321       set in the master and minion configs to change the default outputter.
361322
361323   Internal Scheduler
361324       The  internal Salt scheduler is a new capability which allows for func‐
361325       tions to be executed at given intervals on the minion, and for  runners
361326       to  be  executed at given intervals on the master. The scheduler allows
361327       for sequences such as executing state runs (locally on  the  minion  or
361328       remotely  via  an overstate) or continually gathering system data to be
361329       run at given intervals.
361330
361331       The configuration is simple, add the schedule option to the  master  or
361332       minion  config  and specify jobs to run, this in the master config will
361333       execute the state.over runner every 60 minutes:
361334
361335          schedule:
361336            overstate:
361337              function: state.over
361338              minutes: 60
361339
361340       This example for the minion  configuration  will  execute  a  highstate
361341       every 30 minutes:
361342
361343          schedule:
361344            highstate:
361345              function: state.highstate
361346              minutes: 30
361347
361348   Optional DSL for SLS Formulas
361349       Jack Kuan, our renderer expert, has created something that is astonish‐
361350       ing.  Salt, now comes with an optional Python based DSL, this is a very
361351       powerful  interface  that makes writing SLS files in pure python easier
361352       than it was with the raw py renderer. As usual this can  be  used  with
361353       the  renderer shebang line, so a single sls can be written with the DSL
361354       if pure python power is needed while keeping  other  sls  files  simple
361355       with YAML.
361356
361357   Set Grains Remotely
361358       A  new  execution function and state module have been added that allows
361359       for grains to be set on the minion. Now grains can be set via a  remote
361360       execution   or   via  states.  Use  the  grains.present  state  or  the
361361       grains.setval execution functions.
361362
361363   Gentoo Additions
361364       Major additions to Gentoo  specific  components  have  been  made.  The
361365       encompasses  executions  modules and states ranging from supporting the
361366       make.conf file to tools like layman.
361367
361368   Salt 0.12.1 Release Notes
361369       release
361370              2013-01-21
361371
361372   Salt 0.13.0 Release Notes
361373       release
361374              2013-02-12
361375
361376       The lucky number 13 has turned the corner! From CLI notifications  when
361377       quitting  a  salt command, to substantial improvements on Windows, Salt
361378       0.13.0 has arrived!
361379
361380   Major Features
361381   Improved file.recurse Performance
361382       The file.recurse system has been deployed and used in a vast  array  of
361383       situations. Fixes to the file state and module have led towards opening
361384       up new ways  of  running  file.recurse  to  make  it  faster.  Now  the
361385       file.recurse state will download fewer files and will run substantially
361386       faster.
361387
361388   Windows Improvements
361389       Minion stability on Windows has improved. Many file operations, includ‐
361390       ing  file.recurse,  have  been  fixed  and improved. The network module
361391       works better, to include network.interfaces. Both 32bit and  64bit  in‐
361392       stallers are now available.
361393
361394   Nodegroup Targeting in Peer System
361395       In  the  past, nodegroups were not available for targeting via the peer
361396       system.  This has been fixed,  allowing  the  new  nodegroup  expr_form
361397       argument for the publish.publish function:
361398          salt-call publish.publish group1 test.ping expr_form=nodegroup
361399
361400   Blacklist Additions
361401       Additions  allowing more granular blacklisting are available in 0.13.0.
361402       The ability to blacklist users and functions in  client_acl  have  been
361403       added,  as  well as the ability to exclude state formulas from the com‐
361404       mand line.
361405
361406   Command Line Pillar Embedding
361407       Pillar data can now be  embedded  on  the  command  line  when  calling
361408       state.sls  and  state.highstate.  This allows for on the fly changes or
361409       settings to pillar and makes parameterizing state formulas even easier.
361410       This is done via the keyword argument:
361411
361412          salt '*' state.highstate pillar='{"cheese": "spam"}'
361413
361414       The  above  example  will extend the existing pillar to hold the cheese
361415       key with a value of spam. If the cheese key is already specified in the
361416       minion's pillar then it will be overwritten.
361417
361418   CLI Notifications
361419       In  the  past  hitting  ctrl-C and quitting from the salt command would
361420       just drop to a shell prompt,  this  caused  confusion  with  users  who
361421       expected the remote executions to also quit. Now a message is displayed
361422       showing what command can be used to track the execution  and  what  the
361423       job id is for the execution.
361424
361425   Version Specification in Multiple-Package States
361426       Versions  can  now  be  specified within multiple-package pkg.installed
361427       states. An example can be found below:
361428
361429          mypkgs:
361430            pkg.installed:
361431              - pkgs:
361432                - foo
361433                - bar: 1.2.3-4
361434                - baz
361435
361436   Noteworthy Changes
361437       The configuration subsystem in Salt has been  overhauled  to  make  the
361438       opts  dict used by Salt applications more portable, the problem is that
361439       this is an incompatible change with  salt-cloud,  and  salt-cloud  will
361440       need  to  be  updated  to the latest git to work with Salt 0.13.0. Salt
361441       Cloud 0.8.5 will also require Salt 0.13.0 or later to function.
361442
361443       The SaltStack team is sorry for the inconvenience here, we work hard to
361444       make  sure  these  sorts  of  things  do not happen, but sometimes hard
361445       changes get in.
361446
361447   Salt 0.13.1 Release Notes
361448       release
361449              2013-02-15
361450
361451   Salt 0.13.2 Release Notes
361452       release
361453              2013-03-13
361454
361455   Salt 0.13.3 Release Notes
361456       release
361457              2013-03-18
361458
361459   Salt 0.14.0 Release Notes
361460       release
361461              2013-03-23
361462
361463       Salt 0.14.0 is here! This release  was  held  up  primarily  by  PyCon,
361464       Scale,  and  illness,  but has arrived! 0.14.0 comes with many new fea‐
361465       tures and is breaking ground for Salt in the area of  cloud  management
361466       with  the  introduction  of Salt providing basic cloud controller func‐
361467       tionality.
361468
361469   Major Features
361470   Salt - As a Cloud Controller
361471       This is the first primitive inroad to using Salt as a cloud  controller
361472       is available in 0.14.0. Be advised that this is alpha, only tested in a
361473       few very small environments.
361474
361475       The cloud controller is built using kvm and libvirt  for  the  hypervi‐
361476       sors.   Hypervisors  are  autodetected as minions and only need to have
361477       libvirt running and kvm installed to function. The features of the Salt
361478       cloud controller are as follows:
361479
361480          · Basic vm discovery and reporting
361481
361482          · Creation of new virtual machines
361483
361484          · Seeding virtual machines with Salt via qemu-nbd or libguestfs
361485
361486          · Live migration (shared and non shared storage)
361487
361488          · Delete existing VMs
361489
361490       It  is  noteworthy  that  this feature is still Alpha, meaning that all
361491       rights are reserved to change the  interface  if  needs  be  in  future
361492       releases!
361493
361494   Libvirt State
361495       One  of  the problems with libvirt is management of certificates needed
361496       for live migration and cross communication between hypervisors. The new
361497       libvirt  state  makes  the Salt Master hold a CA and manage the signing
361498       and distribution of keys onto hypervisors, just add a call to the  lib‐
361499       virt state in the sls formulas used to set up a hypervisor:
361500
361501          libvirt_keys:
361502            libvirt.keys
361503
361504   New get Functions
361505       An  easier  way to manage data has been introduced. The pillar, grains,
361506       and config execution modules have been extended with the new get  func‐
361507       tion.  This  function works much in the same way as the get method in a
361508       python dict, but with an enhancement, nested  dict  components  can  be
361509       extracted using a : delimiter.
361510
361511       If a structure like this is in pillar:
361512
361513          foo:
361514            bar:
361515              baz: quo
361516
361517       Extracting it from the raw pillar in an sls formula or file template is
361518       done this way:
361519
361520          {{ pillar['foo']['bar']['baz'] }}
361521
361522       Now with the new get function the data can be  safely  gathered  and  a
361523       default  can  be set allowing the template to fall back if the value is
361524       not available:
361525
361526          {{ salt['pillar.get']('foo:bar:baz', 'qux') }}
361527
361528       This makes handling nested structures much easier, and defaults can  be
361529       cleanly  set.  This  new  function is being used extensively in the new
361530       formulae repository of salt sls formulas.
361531
361532   Salt 0.14.1 Release Notes
361533       release
361534              2013-04-13
361535
361536   Salt 0.15.0 Release Notes
361537       release
361538              2013-05-03
361539
361540       The many new features of Salt 0.15.0 have arrived!  Salt  0.15.0  comes
361541       with many smaller features and a few larger ones.
361542
361543       These  features  range from better debugging tools to the new Salt Mine
361544       system.
361545
361546   Major Features
361547   The Salt Mine
361548       First there was the peer system, allowing for commands to  be  executed
361549       from  a minion to other minions to gather data live. Then there was the
361550       external job cache for storing and accessing long term  data.  Now  the
361551       middle ground is being filled in with the Salt Mine. The Salt Mine is a
361552       system used to execute functions on a regular basis on minions and then
361553       store  only the most recent data from the functions on the master, then
361554       the data is looked up via targets.
361555
361556       The mine caches data that is public to all minions, so  when  a  minion
361557       posts data to the mine all other minions can see it.
361558
361559   IPV6 Support
361560       0.13.0 saw the addition of initial IPV6 support but errors were encoun‐
361561       tered and it needed to be stripped out. This time the code covers  more
361562       cases  and  must  be  explicitly  enabled. But the support is much more
361563       extensive than before.
361564
361565   Copy Files From Minions to the Master
361566       Minions have long been able to copy files down  from  the  master  file
361567       server,  but until now files could not be easily copied from the minion
361568       up to the master.
361569
361570       A new function called cp.push can push files from the minions up to the
361571       master  server. The uploaded files are then cached on the master in the
361572       master cachedir for each minion.
361573
361574   Better Template Debugging
361575       Template errors have long been a burden when writing states and pillar.
361576       0.15.0  will now send the compiled template data to the debug log, this
361577       makes tracking down the intermittent stage templates  much  easier.  So
361578       running  state.sls  or state.highstate with -l debug will now print out
361579       the rendered templates in the debug information.
361580
361581   State Event Firing
361582       The state system is now more closely tied to the  master's  event  bus.
361583       Now  when  a  state fails the failure will be fired on the master event
361584       bus so that the reactor can respond to it.
361585
361586   Major Syndic Updates
361587       The Syndic system has been basically re-written. Now it runs in a  com‐
361588       pletely  asynchronous  way  and functions primarily as an event broker.
361589       This means that the events fired on the syndic are now pushed up to the
361590       higher level master instead of the old method used which waited for the
361591       client libraries to return.
361592
361593       This makes the syndic much more accurate and powerful,  it  also  means
361594       that  all events fired on the syndic master make it up the pipe as well
361595       making a reactor on the higher level master able to  react  to  minions
361596       further downstream.
361597
361598   Peer System Updates
361599       The  Peer  System  has  been  updated to run using the client libraries
361600       instead of firing directly over the publish bus. This  makes  the  peer
361601       system much more consistent and reliable.
361602
361603   Minion Key Revocation
361604       In the past when a minion was decommissioned the key needed to be manu‐
361605       ally deleted on the master, but now a function on  the  minion  can  be
361606       used to revoke the calling minion's key:
361607
361608          $ salt-call saltutil.revoke_auth
361609
361610   Function Return Codes
361611       Functions  can now be assigned numeric return codes to determine if the
361612       function executed successfully. While not all functions have been given
361613       return  codes,  many  have  and it is an ongoing effort to fill out all
361614       functions that might return a non-zero return code.
361615
361616   Functions in Overstate
361617       The overstate system was originally created to just manage  the  execu‐
361618       tion  of  states,  but  with the addition of return codes to functions,
361619       requisite logic can now be used with respect  to  the  overstate.  This
361620       means  that  an overstate stage can now run single functions instead of
361621       just state executions.
361622
361623   Pillar Error Reporting
361624       Previously if errors surfaced in pillar, then the pillar would  consist
361625       of  only  an  empty  dict.  Now all data that was successfully rendered
361626       stays in pillar and the render error is also made available. If  errors
361627       are found in the pillar, states will refuse to run.
361628
361629   Using Cached State Data
361630       Sometimes  states  are  executed  purely  to  maintain a specific state
361631       rather than to update states with new configs. This is grounds for  the
361632       new cached state system. By adding cache=True to a state call the state
361633       will not be generated fresh from the master but the last state data  to
361634       be generated will be used.  If no previous state data is available then
361635       fresh data will be generated.
361636
361637   Monitoring States
361638       The new monitoring states system has been started. This is  very  young
361639       but  allows  for states to be used to configure monitoring routines. So
361640       far only one monitoring state is available, the disk.status  state.  As
361641       more  capabilities  are added to Salt UI the monitoring capabilities of
361642       Salt will continue to be expanded.
361643
361644   Salt 0.15.1 Release Notes
361645       release
361646              2013-05-08
361647
361648       The 0.15.1 release has been posted, this release includes  fixes  to  a
361649       number of bugs in 0.15.1 and a three security patches.
361650
361651   Security Updates
361652       A number of security issues have been resolved via the 0.15.1 release.
361653
361654   Path Injection in Minion IDs
361655       Salt  masters  did not properly validate the id of a connecting minion.
361656       This can lead to an attacker uploading files to the master in arbitrary
361657       locations.  In particular this can be used to bypass the manual valida‐
361658       tion of new unknown minions. Exploiting  this  vulnerability  does  not
361659       require authentication.
361660
361661       This issue affects all known versions of Salt.
361662
361663       This issue was reported by Ronald Volgers.
361664
361665   Patch
361666       The  issue  is  fixed in Salt 0.15.1. Updated packages are available in
361667       the usual locations.
361668
361669       Specific commits:
361670
361671       https://github.com/saltstack/salt/commit/5427b9438e452a5a8910d9128c6aafb45d8fd5d3
361672
361673       https://github.com/saltstack/salt/commit/7560908ee62351769c3cd43b03d74c1ca772cc52
361674
361675       https://github.com/saltstack/salt/commit/e200b8a7ff53780124e08d2bdefde7587e52bfca
361676
361677   RSA Key Generation Fault
361678       RSA key generation was done incorrectly, leading to very insecure keys.
361679       It is recommended to regenerate all RSA keys.
361680
361681       This issue can be used to  impersonate  Salt  masters  or  minions,  or
361682       decrypt any transferred data.
361683
361684       This  issue  can only be exploited by attackers who are able to observe
361685       or modify traffic between Salt minions and the legitimate Salt master.
361686
361687       A tool was included in 0.15.1 to assist in mass key  regeneration,  the
361688       manage.regen_keys runner.
361689
361690       This issue affects all known versions of Salt.
361691
361692       This issue was reported by Ronald Volgers.
361693
361694   Patch
361695       The  issue  is  fixed in Salt 0.15.1. Updated packages are available in
361696       the usual locations.
361697
361698       Specific commits:
361699
361700       https://github.com/saltstack/salt/commit/5dd304276ba5745ec21fc1e6686a0b28da29e6fc
361701
361702   Command Injection Via ext_pillar
361703       Arbitrary  shell commands could be executed on the master by an authen‐
361704       ticated minion through options passed when requesting a pillar.
361705
361706       Ext pillar options have been restricted to  only  allow  safe  external
361707       pillars to be called when prompted by the minion.
361708
361709       This issue affects Salt versions from 0.14.0 to 0.15.0.
361710
361711       This issue was reported by Ronald Volgers.
361712
361713   Patch
361714       The  issue  is  fixed in Salt 0.15.1. Updated packages are available in
361715       the usual locations.
361716
361717       Specific commits:
361718
361719       https://github.com/saltstack/salt/commit/43d8c16bd26159d827d1a945c83ac28159ec5865
361720
361721   Salt 0.15.2 Release Notes
361722       release
361723              2013-05-29
361724
361725   Salt 0.15.3 Release Notes
361726       release
361727              2013-06-01
361728
361729   Salt 0.16.0 Release Notes
361730       release
361731              2013-07-01
361732
361733       The  0.16.0  release  is  an  exciting one, with new features in master
361734       redundancy, and a new, powerful requisite.
361735
361736   Major Features
361737   Multi-Master
361738       This new capability allows for a minion to  be  actively  connected  to
361739       multiple  salt  masters at the same time. This allows for multiple mas‐
361740       ters to send out commands to minions and for minions  to  automatically
361741       reconnect  to  masters  that have gone down. A tutorial is available to
361742       help get started here:
361743
361744       Multi Master Tutorial
361745
361746   Prereq, the New Requisite
361747       The new prereq requisite is very powerful! It allows for states to exe‐
361748       cute  based  on a state that is expected to make changes in the future.
361749       This allows for a change on the system to be preempted by another  exe‐
361750       cution. A good example is needing to shut down a service before modify‐
361751       ing files associated with it, allowing, for instance, a webserver to be
361752       shut  down  allowing  a  load  balancer  to stop sending requests while
361753       server side code is updated. In this case, the prereq will only run  if
361754       changes  are  expected to happen in the prerequired state, and the pre‐
361755       required state will always run after the prereq state and only  if  the
361756       prereq state succeeds.
361757
361758   Peer System Improvements
361759       The peer system has been revamped to make it more reliable, faster, and
361760       like the rest of Salt, async. The peer calls when an updated minion and
361761       master are used together will be much faster!
361762
361763   Relative Includes
361764       The  ability  to  include  an  sls relative to the defined sls has been
361765       added, the new syntax id documented here:
361766
361767       Includes
361768
361769   More State Output Options
361770       The state_output option in the past  only  supported  full  and  terse,
361771       0.16.0  add the mixed and changes modes further refining how states are
361772       sent to users' eyes.
361773
361774   Improved Windows Support
361775       Support for Salt on Windows continues to improve.  Software  management
361776       on  Windows  has become more seamless with Linux/UNIX/BSD software man‐
361777       agement.  Installed software is  now  recognized  by  the  short  names
361778       defined  in  the repository SLS. This makes it possible to run salt '*'
361779       pkg.version firefox and get back results from Windows  and  non-Windows
361780       minions alike.
361781
361782       When  templating  files on Windows, Salt will now correctly use Windows
361783       appropriate line endings. This makes it much easier to edit and consume
361784       files on Windows.
361785
361786       When  using  the  cmd  state the shell option now allows for specifying
361787       Windows Powershell  as  an  alternate  shell  to  execute  cmd.run  and
361788       cmd.script.   This opens up Salt to all the power of Windows Powershell
361789       and its advanced Windows management capabilities.
361790
361791       Several fixes and optimizations were added for the  Windows  networking
361792       modules, especially when working with IPv6.
361793
361794       A  system  module  was added that makes it easy to restart and shutdown
361795       Windows minions.
361796
361797       The Salt Minion will now look for its config file  in  c:\salt\conf  by
361798       default.  This  means  that  it's no longer necessary to specify the -c
361799       option to specify the location of the config  file  when  starting  the
361800       Salt Minion on Windows in a terminal.
361801
361802   Multiple Targets for pkg.removed, pkg.purged States
361803       Both  pkg.removed  and  pkg.purged now support the pkgs argument, which
361804       allow for multiple packages to be targeted in a single state. This,  as
361805       in pkg.installed, helps speed up these states by reducing the number of
361806       times that the package management tools (apt, yum,  etc.)  need  to  be
361807       run.
361808
361809   Random Times in Cron States
361810       The temporal parameters in cron.present states (minute, hour, etc.) can
361811       now be randomized by using random instead  of  a  specific  value.  For
361812       example,  by using the random keyword in the minute parameter of a cron
361813       state, the same cron job can be pushed  to  hundreds  or  thousands  of
361814       hosts, and they would each use a randomly-generated minute. This can be
361815       helpful when the cron job accesses a network resource, and  it  is  not
361816       desirable for all hosts to run the job concurrently.
361817
361818          /path/to/cron/script:
361819            cron.present:
361820              - user: root
361821              - minute: random
361822              - hour: 2
361823
361824       Since  Salt  assumes  a value of * for unspecified temporal parameters,
361825       adding a parameter to the state and setting it to  random  will  change
361826       that value from * to a randomized numeric value. However, if that field
361827       in the cron entry on the minion already contains a numeric value,  then
361828       using the random keyword will not modify it.
361829
361830   Confirmation Prompt on Key Acceptance
361831       When  accepting  new  keys  with  salt-key -a minion-id or salt-key -A,
361832       there is now a prompt that will show the affected keys and ask for con‐
361833       firmation  before  proceeding. This prompt can be bypassed using the -y
361834       or --yes command line argument, as with other salt-key commands.
361835
361836   Support for Setting Password Hashes on BSD Minions
361837       FreeBSD, NetBSD, and OpenBSD  all  now  support  setting  passwords  in
361838       user.present states.
361839
361840   Salt 0.16.1 Release Notes
361841       release
361842              2013-07-29
361843
361844   Salt 0.16.2 Release Notes
361845       release
361846              2013-08-01
361847
361848       Version 0.16.2 is a bugfix release for 0.16.0, and contains a number of
361849       fixes.
361850
361851   Windows
361852       · Only allow Administrator's group and SYSTEM user access  to  C:\salt.
361853         This  eliminates a race condition where a non-admin user could modify
361854         a template or managed file before it is executed by the minion (which
361855         is running as an elevated user), thus avoiding a potential escalation
361856         of privileges. (issue #6361)
361857
361858   Grains
361859       · Fixed detection of virtual grain on OpenVZ hardware nodes
361860
361861       · Gracefully handle lsb_release data when it is enclosed in quotes
361862
361863       · LSB grains are now prefixed with lsb_distrib_ instead of simply lsb_.
361864         The old naming is not preserved, so SLS may be affected.
361865
361866       · Improved grains detection on MacOS
361867
361868   Pillar
361869       · Don't  try  to load git_pillar if not enabled in master config (issue
361870         #6052)
361871
361872       · Functions  pillar.item  and  pillar.items  added  for   parity   with
361873         grains.item/grains.items.  The  old function pillar.data is preserved
361874         for backwards compatibility.
361875
361876       · Fixed minion traceback when Pillar SLS is malformed (issue #5910)
361877
361878   Peer Publishing
361879       · More gracefully handle  improperly  quoted  publish  commands  (issue
361880         #5958)
361881
361882       · Fixed  traceback  when  timeout specified via the CLI fo publish.pub‐
361883         lish, publish.full_data (issue #5959)
361884
361885       · Fixed unintended change in output of publish.publish (issue #5928)
361886
361887   Minion
361888       · Fixed salt-key usage in minionswarm script
361889
361890       · Quieted warning about SALT_MINION_CONFIG environment variable on min‐
361891         ion startup and for CLI commands run via salt-call (issue #5956)
361892
361893       · Added  minion config parameter random_reauth_delay to stagger re-auth
361894         attempts when the minion is waiting for the  master  to  approve  its
361895         public key. This helps prevent SYN flooding in larger environments.
361896
361897   User/Group Management
361898       · Implement previously-ignored unique option for user.present states in
361899         FreeBSD
361900
361901       · Report in state output when a group.present state attempts to  use  a
361902         gid in use by another group
361903
361904       · Fixed  regression that prevents a user.present state to set the pass‐
361905         word hash to the system default (i.e. an unset password)
361906
361907       · Fixed multiple group.present states with the same group (issue #6439)
361908
361909   File Management
361910       · Fixed file.mkdir setting incorrect permissions (issue #6033)
361911
361912       · Fixed  cleanup  of  source  files  for  templates  when  /tmp  is  in
361913         file_roots (issue #6118)
361914
361915       · Fixed caching of zero-byte files when a non-empty file was previously
361916         cached at the same path
361917
361918       · Added HTTP authentication support to the cp module (issue #5641)
361919
361920       · Diffs are now suppressed when binary files are changed
361921
361922   Package/Repository Management
361923       · Fixed traceback when there is only one target for pkg.latest states
361924
361925       · Fixed regression in detection of virtual packages (apt)
361926
361927       · Limit   number   of   pkg   database   refreshes    to    once    per
361928         state.sls/state.highstate
361929
361930       · YUM:  Allow 32-bit packages with arches other than i686 to be managed
361931         on 64-bit systems (issue #6299)
361932
361933       · Fixed incorrect reporting in pkgrepo.managed states (issue #5517)
361934
361935       · Fixed 32-bit binary package installs on  64-bit  RHEL-based  distros,
361936         and  added  proper support for 32-bit packages on 64-bit Debian-based
361937         distros (issue #6303)
361938
361939       · Fixed issue where requisites were inadvertently being  put  into  YUM
361940         repo files (issue #6471)
361941
361942   Service Management
361943       · Fixed  inaccurate reporting of results in service.running states when
361944         the service fails to start (issue #5894)
361945
361946       · Fixed handling of custom initscripts in RHEL-based  distros  so  that
361947         they  are immediately available, negating the need for a second state
361948         run to manage the service that the initscript controls
361949
361950   Networking
361951       · Function network.hwaddr renamed  to  network.hw_addr  to  match  net‐
361952         work.ip_addrs  and  network.ip_addrs6.  All  three functions also now
361953         work without the underscore in the name, as well.
361954
361955       · Fixed traceback in bridge.show when interface is not  present  (issue
361956         #6326)
361957
361958   SSH
361959       · Fixed  incorrect  result  reporting  for some ssh_known_hosts.present
361960         states
361961
361962       · Fixed inaccurate reporting when ssh_auth.present states are run  with
361963         test=True,  when  rsa/dss  is  used  for  the  enc  param  instead of
361964         ssh-rsa/ssh-dss (issue #5374)
361965
361966   pip
361967       · Properly handle -f lines in pip freeze output
361968
361969       · Fixed regression in pip.installed states with specifying  a  require‐
361970         ments file (issue #6003)
361971
361972       · Fixed use of editable argument in pip.installed states (issue #6025)
361973
361974       · Deprecated  runas  parameter in execution function calls, in favor of
361975         user
361976
361977   MySQL
361978       · Allow specification of MySQL connection arguments via the CLI,  over‐
361979         riding/bypassing minion config params
361980
361981       · Allow  mysql_user.present  states  to set a passwordless login (issue
361982         #5550)
361983
361984       · Fixed endless loop when mysql.processlist is run (issue #6297)
361985
361986   PostgreSQL
361987       · Fixed traceback in postgres.user_list (issue #6352)
361988
361989   Miscellaneous
361990       · Don't allow npm states to be used if npm module is not available
361991
361992       · Fixed alternatives.install states for which the target is  a  symlink
361993         (issue #6162)
361994
361995       · Fixed traceback in sysbench module (issue #6175)
361996
361997       · Fixed traceback in job cache
361998
361999       · Fixed tempfile cleanup for windows
362000
362001       · Fixed  issue  where SLS files using the pydsl renderer were not being
362002         run
362003
362004       · Fixed issue where returners were being passed  incorrect  information
362005         (issue #5518)
362006
362007       · Fixed traceback when numeric args are passed to cmd.script states
362008
362009       · Fixed bug causing cp.get_dir to return more directories than expected
362010         (issue #6048)
362011
362012       · Fixed  traceback  when  supervisord.running  states  are   run   with
362013         test=True (issue #6053)
362014
362015       · Fixed  tracebacks  when Salt encounters problems running rbenv (issue
362016         #5888)
362017
362018       · Only make the monit module available if monit binary  is  present  (‐
362019         issue #5871)
362020
362021       · Fixed incorrect behavior of img.mount_image
362022
362023       · Fixed traceback in tomcat.deploy_war in Windows
362024
362025       · Don't re-write /etc/fstab if mount fails
362026
362027       · Fixed  tracebacks  when  Salt  encounters problems running gem (issue
362028         #5886)
362029
362030       · Fixed incorrect behavior of selinux.boolean states (issue #5912)
362031
362032       · RabbitMQ: Quote passwords to avoid symbols being interpolated by  the
362033         shell (issue #6338)
362034
362035       · Fixed tracebacks in extfs.mkfs and extfs.tune (issue #6462)
362036
362037       · Fixed  a  regression  with  the module.run state where the m_name and
362038         m_fun arguments were being ignored (issue #6464)
362039
362040   Salt 0.16.3 Release Notes
362041       release
362042              2013-08-09
362043
362044       Version 0.16.3 is  another  bugfix  release  for  0.16.0.  The  changes
362045       include:
362046
362047       · Various documentation fixes
362048
362049       · Fix proc directory regression (issue #6502)
362050
362051       · Properly detect Linaro Linux (issue #6496)
362052
362053       · Fix regressions in mount.mounted (issue #6522, issue #6545)
362054
362055       · Skip malformed state requisites (issue #6521)
362056
362057       · Fix regression in gitfs from bad import
362058
362059       · Fix  for watching prereq states (including recursive requisite error)
362060         (issue #6057)
362061
362062       · Fix mod_watch not overriding prereq (issue #6520)
362063
362064       · Don't allow functions which compile states to be called within states
362065         (issue #5623)
362066
362067       · Return error for malformed top.sls (issue #6544)
362068
362069       · Fix traceback in mysql.query
362070
362071       · Fix  regression in binary package installation for 64-bit packages on
362072         Debian-based Linux distros (issue #6563)
362073
362074       · Fix traceback caused by running cp.push without having set  file_recv
362075         in the master config file
362076
362077       · Fix scheduler configuration in pillar (issue #6201)
362078
362079   Salt 0.16.4 Release Notes
362080       release
362081              2013-09-07
362082
362083       Version  0.16.4  is another bugfix release for 0.16.0, likely to be the
362084       last before 0.17.0 is released.  The changes include:
362085
362086       · Multiple documentation improvements/additions
362087
362088       · Added the osfinger and osarch grains
362089
362090       · Properly handle 32-bit packages for debian32 on x86_64 (issue #6607)
362091
362092       · Fix regression in yum package installation in CentOS 5 (issue #6677)
362093
362094       · Fix bug in hg.latest state that would erroneously delete  directories
362095         (issue #6661)
362096
362097       · Fix bug related to pid not existing for ps.top (issue #6679)
362098
362099       · Fix regression in MySQL returner (issue #6695)
362100
362101       · Fix  IP  addresses grains (ipv4 and ipv6) to include all addresses (‐
362102         issue #6656)
362103
362104       · Fix regression preventing authenticated FTP (issue #6733)
362105
362106       · Fix setting password for windows users (issue #6824)
362107
362108       · Fix file.contains on values YAML parses as non-string (issue #6817)
362109
362110       · Fix file.get_gid, file.get_uid, and file.chown for broken symlinks (‐
362111         issue #6826)
362112
362113       · Fix comment for service reloads in service state (issue #6851)
362114
362115   Salt 0.17.0 Release Notes
362116       release
362117              2013-09-26
362118
362119       The  0.17.0  release is a very exciting release of Salt, this brings to
362120       Salt some very powerful new features and advances. The  advances  range
362121       from  the  state system to the test suite, covering new transport capa‐
362122       bilities and making states easier and more powerful, to extending  Salt
362123       Virt and much more!
362124
362125       The  0.17.0 release will also be the last release of Salt to follow the
362126       old 0.XX.X numbering system, the next release of Salt will  change  the
362127       numbering to be date based following this format:
362128
362129       <Year>.<Month>.<Minor>
362130
362131       So  if  the  release  happens  in  November  of 2013 the number will be
362132       13.11.0, the first bugfix release will be 13.11.1 and so forth.
362133
362134   Major Features
362135   Halite
362136       The new Halite web GUI is now available on PyPI. A great deal  of  work
362137       has  been  put  into Halite to make it fully event driven and amazingly
362138       fast. The Halite UI can be started from within the Salt  Master  (after
362139       being  installed  from  PyPI),  or  standalone, and does not require an
362140       external database to run.  It is very lightweight!
362141
362142       This initial release of Halite is primarily the framework  for  the  UI
362143       and  the  communication systems, making it easy to extend and build the
362144       UI up. It presently supports watching the event bus and firing commands
362145       over Salt.
362146
362147       At  this  time,  Halite is not available as a package, but installation
362148       documentation              is               available               at:
362149       http://docs.saltstack.com/topics/tutorials/halite.html
362150
362151       Halite is, like the rest of Salt, Open Source!
362152
362153       Much more will be coming in the future of Halite!
362154
362155   Salt SSH
362156       The new salt-ssh command has been added to Salt. This system allows for
362157       remote execution and states to be run over ssh. The benefit here being,
362158       that  salt can run relying only on the ssh agent, rather than requiring
362159       a minion to be deployed.
362160
362161       The salt-ssh system runs states in a compatible way as Salt and  states
362162       created  and  run  with  salt-ssh  can be moved over to a standard salt
362163       deployment without modification.
362164
362165       Since this is the initial release of salt-ssh, there is plenty of  room
362166       for  improvement,  but  it  is  fully operational, not just a bootstrap
362167       tool.
362168
362169   Rosters
362170       Salt is designed to have the minions be aware of  the  master  and  the
362171       master  does  not  need to be aware of the location of the minions. The
362172       new salt roster system was created and designed to  facilitate  listing
362173       the targets for salt-ssh.
362174
362175       The  roster system, like most of Salt, is a plugin system, allowing for
362176       the list of systems to target to be derived from any pluggable backend.
362177       The  rosters  shipping  with  0.17.0  are flat and scan. Flat is a file
362178       which is read in via the salt render system and the  scan  roster  does
362179       simple network scanning to discover ssh servers.
362180
362181   State Auto Order
362182       This  is a major change in how states are evaluated in Salt. State Auto
362183       Order is a new feature that makes states get evaluated and executed  in
362184       the order in which they are defined in the sls file. This feature makes
362185       it very easy to see the finite order in which things will be  executed,
362186       making Salt now, fully imperative AND fully declarative.
362187
362188       The  requisite  system  still  takes precedence over the order in which
362189       states are defined, so  no  existing  states  should  break  with  this
362190       change.   But   this   new   feature  can  be  turned  off  by  setting
362191       state_auto_order: False in the master config, thus reverting to the old
362192       lexicographical order.
362193
362194   state.sls Runner
362195       The state.sls runner has been created to allow for a more powerful sys‐
362196       tem for orchestrating state runs and function  calls  across  the  salt
362197       minions.  This  new  system uses the state system for organizing execu‐
362198       tions.
362199
362200       This allows for states to be defined that are executed on the master to
362201       call states on minions via salt-run state.sls.
362202
362203   Salt Thin
362204       Salt  Thin is an exciting new component of Salt, this is the ability to
362205       execute Salt routines without any transport mechanisms installed, it is
362206       a pure python subset of Salt.
362207
362208       Salt  Thin  does not have any networking capability, but can be dropped
362209       into any system with Python installed and then salt-call can be  called
362210       directly.  The  Salt  Thin system, is used by the salt-ssh command, but
362211       can still be used to just drop salt somewhere for easy use.
362212
362213   Event Namespacing
362214       Events have been updated to be much more flexible. The tags  in  events
362215       have all been namespaced allowing easier tracking of event names.
362216
362217   Mercurial Fileserver Backend
362218       The  popular  git  fileserver  backend has been joined by the mercurial
362219       fileserver backend, allowing the state tree to be managed entirely  via
362220       mercurial.
362221
362222   External Logging Handlers
362223       The  external  logging  handler system allows for Salt to directly hook
362224       into any external logging system. Currently supported  are  sentry  and
362225       logstash.
362226
362227   Jenkins Testing
362228       The  testing systems in Salt have been greatly enhanced, tests for salt
362229       are now executed,  via  jenkins.saltstack.com,  across  many  supported
362230       platforms.  Jenkins  calls out to salt-cloud to create virtual machines
362231       on Rackspace, then the minion on the virtual machine  checks  into  the
362232       master  running  on  Jenkins where a state run is executed that sets up
362233       the minion to run tests and executes the test suite.
362234
362235       This now automates the sequence of running platform  tests  and  allows
362236       for continuous destructive tests to be run.
362237
362238   Salt Testing Project
362239       The  testing  libraries  for  salt have been moved out of the main salt
362240       code base and into a standalone codebase. This has been  done  to  ease
362241       the  use of the testing systems being used in salt based projects other
362242       than Salt itself.
362243
362244   StormPath External Authentication
362245       The external auth system now supports  the  fantastic  Stormpath  cloud
362246       based authentication system.
362247
362248   LXC Support
362249       Extensive  additions  have  been  added  to  Salt for LXC support. This
362250       included the backend libs for managing LXC  containers.  Addition  into
362251       the salt-virt system is still in the works.
362252
362253   macOS User/Group Support
362254       Salt  is  now able to manage users and groups on Minions running macOS.
362255       However, at this time user passwords cannot be managed.
362256
362257   Django ORM External Pillar
362258       Pillar data can now be derived from Django managed databases.
362259
362260   Fixes from RC to release
362261       · Multiple documentation fixes
362262
362263       · Add multiple source files + templating for file.append (issue #6905)
362264
362265       · Support sysctl configuration files in systemd>=207 (issue #7351)
362266
362267       · Add file.search and file.replace
362268
362269       · Fix cross-calling execution functions in provider overrides
362270
362271       · Fix locale override for postgres (issue #4543)
362272
362273       · Fix Raspbian identification for service/pkg support (issue #7371)
362274
362275       · Fix cp.push file corruption (issue #6495)
362276
362277       · Fix ALT Linux password hash specification (issue #3474)
362278
362279       · Multiple salt-ssh-related fixes and improvements
362280
362281   Salt 0.17.1 Release Notes
362282       release
362283              2013-10-17
362284
362285       NOTE:
362286          THIS RELEASE IS NOT  COMPATIBLE  WITH  PREVIOUS  VERSIONS.   If  you
362287          update  your master to 0.17.1, you must update your minions as well.
362288          Sorry for the inconvenience -- this is a result of one of the  secu‐
362289          rity fixes listed below.
362290
362291       The  0.17.1  release  comes  with a number of improvements to salt-ssh,
362292       many bugfixes, and a number of security updates.
362293
362294       Salt SSH has been improved to  be  faster,  more  featureful  and  more
362295       secure.   Since  the original release of Salt SSH was primarily a proof
362296       of concept, it has been very exciting to see  its  rapid  adoption.  We
362297       appreciate  the  willingness of security experts to review Salt SSH and
362298       help discover oversights and ensure that security issues only exist for
362299       such a tiny window of time.
362300
362301   SSH Enhancements
362302   Shell Improvements
362303       Improvements  to  Salt SSH's communication have been added that improve
362304       routine execution regardless of the target system's login shell.
362305
362306   Performance
362307       Deployment of routines is now faster and takes fewer commands  to  exe‐
362308       cute.
362309
362310   Security Updates
362311       Be  advised  that  these security issues all apply to a small subset of
362312       Salt users and mostly apply to Salt SSH.
362313
362314   Insufficient Argument Validation
362315       This issue allowed for a user with limited privileges to  embed  execu‐
362316       tions inside of routines to execute routines that should be restricted.
362317       This applies to users using external auth or client ACL and opening  up
362318       specific routines.
362319
362320       Be advised that these patches address the direct issue. Additional com‐
362321       mits have been applied to help mitigate this issue from resurfacing.
362322
362323   CVE
362324       CVE-2013-4435
362325
362326   Affected Versions
362327       0.15.0 - 0.17.0
362328
362329   Patches
362330       https://github.com/saltstack/salt/commit/6d8ef68b605fd63c36bb8ed96122a75ad2e80269
362331       https://github.com/saltstack/salt/commit/ebdef37b7e5d2b95a01d34b211c61c61da67e46a
362332       https://github.com/saltstack/salt/commit/7f190ff890e47cdd591d9d7cefa5126574660824
362333       https://github.com/saltstack/salt/commit/8e5afe59cef6743fe5dbd510dcf463dbdfca1ced
362334       https://github.com/saltstack/salt/commit/aca78f314481082862e96d4f0c1b75fa382bb885
362335       https://github.com/saltstack/salt/commit/6a9752cdb1e8df2c9505ea910434c79d132eb1e2
362336       https://github.com/saltstack/salt/commit/b73677435ba54ecfc93c1c2d840a7f9ba6f53410
362337       https://github.com/saltstack/salt/commit/07972eb0a6f985749a55d8d4a2e471596591c80d
362338       https://github.com/saltstack/salt/commit/1e3f197726aa13ac5c3f2416000089f477f489b5
362339
362340   Found By
362341       Feth Arezki, of Majerti
362342
362343   MITM SSH attack in salt-ssh
362344       SSH host keys were being accepted by default and not enforced on future
362345       SSH connections. These patches set SSH host key checking by default and
362346       can be overridden by passing the -i flag to salt-ssh.
362347
362348   CVE
362349       CVE-2013-4436
362350
362351   Affected Versions
362352       0.17.0
362353
362354   Found By
362355       Michael Scherer, Red Hat
362356
362357   Insecure Usage of /tmp in salt-ssh
362358       The  initial release of salt-ssh used the /tmp directory in an insecure
362359       way.  These patches not only  secure  usage  of  files  under  /tmp  in
362360       salt-ssh,  but  also add checksum validation for all packages sent into
362361       the now secure locations on target systems.
362362
362363   CVE
362364       CVE-2013-4438
362365
362366   Affected Versions
362367       0.17.0
362368
362369   Patches
362370       https://github.com/saltstack/salt/commit/aa4bb77ef230758cad84381dde0ec660d2dc340a
362371       https://github.com/saltstack/salt/commit/8f92b6b2cb2e4ec3af8783eb6bf4ff06f5a352cf
362372       https://github.com/saltstack/salt/commit/c58e56811d5a50c908df0597a0ba0b643b45ebfd
362373       https://github.com/saltstack/salt/commit/0359db9b46e47614cff35a66ea6a6a76846885d2
362374       https://github.com/saltstack/salt/commit/4348392860e0fd43701c331ac3e681cf1a8c17b0
362375       https://github.com/saltstack/salt/commit/664d1a1cac05602fad2693f6f97092d98a72bf61
362376       https://github.com/saltstack/salt/commit/bab92775a576e28ff9db262f32db9cf2375bba87
362377       https://github.com/saltstack/salt/commit/c6d34f1acf64900a3c87a2d37618ff414e5a704e
362378
362379   Found By
362380       Michael Scherer, Red Hat
362381
362382   YAML Calling Unsafe Loading Routine
362383       It has been argued that this is not a valid security issue, as the YAML
362384       loading that was happening was only being called after an initial gate‐
362385       way filter in Salt has already safely loaded the YAML and would fail if
362386       non-safe  routines  were  embedded.  Nonetheless, the CVE was filed and
362387       patches applied.
362388
362389   CVE
362390       CVE-2013-4438
362391
362392   Patches
362393       https://github.com/saltstack/salt/commit/339b0a51befae6b6b218ebcb55daa9cd3329a1c5
362394
362395   Found By
362396       Michael Scherer, Red Hat
362397
362398   Failure to Drop Supplementary Group on Salt Master
362399       If  a  salt  master  was  started  as a non-root user by the root user,
362400       root's groups would still be applied to the running process.  This  fix
362401       changes the process to have only the groups of the running user.
362402
362403   CVE
362404       CVE not considered necessary by submitter.
362405
362406   Affected Versions
362407       0.11.0 - 0.17.0
362408
362409   Patches
362410       https://github.com/saltstack/salt/commit/b89fa9135822d029795ab1eecd68cce2d1ced715
362411
362412   Found By
362413       Michael Scherer, Red Hat
362414
362415   Failure to Validate Minions Posting Data
362416       This issue allowed a minion to pose as another authorized  minion  when
362417       posting data such as the mine data. All minions now pass through the id
362418       challenge before posting such data.
362419
362420   CVE
362421       CVE-2013-4439
362422
362423   Affected Versions
362424       0.15.0 - 0.17.0
362425
362426   Patches
362427       https://github.com/saltstack/salt/commit/7b850ff3d07ef6782888914ac4556c01e8a1c482
362428       https://github.com/saltstack/salt/commit/151759b2a1e1c6ce29277aa81b054219147f80fd
362429
362430   Found By
362431       David Anderson
362432
362433   Fix Reference
362434       Version 0.17.1 is the first bugfix release  for  0.17.0.   The  changes
362435       include:
362436
362437       · Fix symbolic links in thin.tgz (issue #7482)
362438
362439       · Pass env through to file.patch state (issue #7452)
362440
362441       · Service provider fixes and reporting improvements (issue #7361)
362442
362443       · Add --priv option for specifying salt-ssh private key
362444
362445       · Fix salt-thin's salt-call on setuptools installations (issue #7516)
362446
362447       · Fix salt-ssh to support passwords with spaces (issue #7480)
362448
362449       · Fix regression in wildcard includes (issue #7455)
362450
362451       · Fix salt-call outputter regression (issue #7456)
362452
362453       · Fix custom returner support for startup states (issue #7540)
362454
362455       · Fix value handling in augeas (issue #7605)
362456
362457       · Fix regression in apt (issue #7624)
362458
362459       · Fix minion ID guessing to use socket.getfqdn() first (issue #7558)
362460
362461       · Add minion ID caching (issue #7558)
362462
362463       · Fix salt-key race condition (issue #7304)
362464
362465       · Add --include-all flag to salt-key (issue #7399)
362466
362467       · Fix custom grains in pillar (part of issue #5716, issue #6083)
362468
362469       · Fix race condition in salt-key (issue #7304)
362470
362471       · Fix  regression in minion ID guessing, prioritize socket.getfqdn() (‐
362472         issue #7558)
362473
362474       · Cache minion ID on first guess (issue #7558)
362475
362476       · Allow trailing slash in file.directory state
362477
362478       · Fix reporting of file_roots in pillar return (issue #5449  and  issue
362479         #5951)
362480
362481       · Remove pillar matching for mine.get (issue #7197)
362482
362483       · Sanitize args for multiple execution modules
362484
362485       · Fix yumpkg mod_repo functions to filter hidden args (issue #7656)
362486
362487       · Fix conflicting IDs in state includes (issue #7526)
362488
362489       · Fix mysql_grants.absent string formatting issue (issue #7827)
362490
362491       · Fix postgres.version so it won't return None (issue #7695)
362492
362493       · Fix for trailing slashes in mount.mounted state
362494
362495       · Fix rogue AttributErrors in the outputter system (issue #7845)
362496
362497       · Fix  for incorrect ssh key encodings resulting in incorrect key added
362498         (issue #7718)
362499
362500       · Fix for pillar/grains naming regression  in  python  renderer  (issue
362501         #7693)
362502
362503       · Fix args/kwargs handling in the scheduler (issue #7422)
362504
362505       · Fix logfile handling for file://, tcp://, and udp:// (issue #7754)
362506
362507       · Fix error handling in config file parsing (issue #6714)
362508
362509       · Fix RVM using sudo when running as non-root user (issue #2193)
362510
362511       · Fix client ACL and underlying logging bugs (issue #7706)
362512
362513       · Fix scheduler bug with returner (issue #7367)
362514
362515       · Fix user management bug related to default groups (issue #7690)
362516
362517       · Fix various salt-ssh bugs (issue #7528)
362518
362519       · Many various documentation fixes
362520
362521   Salt 0.17.2 Release Notes
362522       release
362523              2013-11-14
362524
362525       Version  0.17.2  is  another  bugfix  release  for 0.17.0.  The changes
362526       include:
362527
362528       · Add ability to delete key with grains.delval (issue #7872)
362529
362530       · Fix possible state compiler stack trace (issue #5767)
362531
362532       · Fix architecture regression in yumpkg (issue #7813)
362533
362534       · Use correct ps on Debian to prevent truncating (issue #5646)
362535
362536       · Fix grains targeting for new grains (issue #5737)
362537
362538       · Fix bug with merging in git_pillar (issue #6992)
362539
362540       · Fix print_jobs duplicate results
362541
362542       · Fix apt version specification for pkg.install
362543
362544       · Fix possible KeyError from ext_job_cache missing option
362545
362546       · Fix auto_order for - names states (issue #7649)
362547
362548       · Fix regression in new gitfs installs (directory not found error)
362549
362550       · Fix escape pipe issue on Windows for file.recurse (issue #7967)
362551
362552       · Fix fileclient in case of master restart (issue #7987)
362553
362554       · Try to output warning if CLI command malformed (issue #6538)
362555
362556       · Fix --out=quiet to actually be quiet (issue #8000)
362557
362558       · Fix for state.sls in salt-ssh (issue #7991)
362559
362560       · Fix for MySQL grants ordering issue (issue #5817)
362561
362562       · Fix traceback for certain missing CLI args (issue #8016)
362563
362564       · Add ability to disable lspci queries on master (issue #4906)
362565
362566       · Fail if sls defined in topfile does not exist (issue #5998)
362567
362568       · Add ability to downgrade MySQL grants (issue #6606)
362569
362570       · Fix ssh_auth.absent traceback (issue #8043)
362571
362572       · Add upstart detection for Debian/Raspbian (issue #8039)
362573
362574       · Fix ID-related issues (issue #8052, issue #8050, and others)
362575
362576       · Fix for jinja rendering issues (issue #8066 and issue #8079)
362577
362578       · Fix argument parsing in salt-ssh (issue #7928)
362579
362580       · Fix some GPU detection instances (issue #6945)
362581
362582       · Fix bug preventing includes from other environments in SLS files
362583
362584       · Fix for kwargs with dashes (issue #8102)
362585
362586       · Fix salt.utils.which for windows '.exe' (issue #7904)
362587
362588       · Fix apache.adduser without apachectl (issue #8123)
362589
362590       · Fix issue with evaluating test kwarg in states (issue #7788)
362591
362592       · Fix regression in salt.client.Caller() (issue #8078)
362593
362594       · Fix apt-key silent failure
362595
362596       · Fix bug where cmd.script would try to run even if caching  failed  (‐
362597         issue #7601)
362598
362599       · Fix apt pkg.latest regression (issue #8067)
362600
362601       · Fix for mine data not being updated (issue #8144)
362602
362603       · Fix for noarch packages in yum
362604
362605       · Fix a Xen detection edge case (issue #7839)
362606
362607       · Fix windows __opts__ dictionary persistence (issue #7714)
362608
362609       · Fix  version generation for when it's part of another git repo (issue
362610         #8090)
362611
362612       · Fix _handle_iorder stacktrace so that the real syntax error is  shown
362613         (issue #8114 and issue #7905)
362614
362615       · Fix git.latest state when a commit SHA is used (issue #8163)
362616
362617       · Fix various small bugs in yumpkg.py (issue #8201)
362618
362619       · Fix for specifying identify file in git.latest (issue #8094)
362620
362621       · Fix for --output-file CLI arg (issue #8205)
362622
362623       · Add  ability  to  specify  shutdown  time  for system.shutdown (issue
362624         #7833)
362625
362626       · Fix for salt version using non-salt git repo info (issue #8266)
362627
362628       · Add additional hints at impact of pkgrepo states  when  test=True  (‐
362629         issue #8247)
362630
362631       · Fix for salt-ssh files not being owned by root (issue #8216)
362632
362633       · Fix  retry  logic  and error handling in fileserver (related to issue
362634         #7755)
362635
362636       · Fix file.replace with test=True (issue #8279)
362637
362638       · Add flag for limiting file traversal in fileserver (issue #6928)
362639
362640       · Fix for extra mine processes (issue #5729)
362641
362642       · Fix for unloading custom modules (issue #7691)
362643
362644       · Fix for salt-ssh opts (issue #8005 and issue #8271)
362645
362646       · Fix compound matcher for grains (issue #7944)
362647
362648       · Improve error reporting in ebuild module (related to issue #5393)
362649
362650       · Add dir_mode to file.managed (issue #7860)
362651
362652       · Improve traceroute support for FreeBSD and macOS (issue #4927)
362653
362654       · Fix for matching minions under syndics (issue #7671)
362655
362656       · Improve exception handling for missing ID (issue #8259)
362657
362658       · Fix grain mismatch for ScientificLinux (issue #8338)
362659
362660       · Add configuration option for minion_id_caching
362661
362662       · Fix open mode auth errors (issue #8402)
362663
362664   Salt 0.17.3 Release Notes
362665       release
362666              2013-12-08
362667
362668       NOTE:
362669          0.17.3 had some regressions which were promptly fixed in the  0.17.4
362670          release.  Please use 0.17.4 instead.
362671
362672       Version  0.17.3  is  another  bugfix  release  for 0.17.0.  The changes
362673       include:
362674
362675       · Fix some jinja render errors (issue #8418)
362676
362677       · Fix file.replace state changing file ownership (issue #8399)
362678
362679       · Fix state ordering with the PyDSL renderer (issue #8446)
362680
362681       · Fix for new npm version (issue #8517)
362682
362683       · Fix for pip state requiring name even with requirements  file  (issue
362684         #8519)
362685
362686       · Fix yum logging to open terminals (issue #3855)
362687
362688       · Add sane maxrunning defaults for scheduler (issue #8563)
362689
362690       · Fix states duplicate key detection (issue #8053)
362691
362692       · Fix SUSE patch level reporting (issue #8428)
362693
362694       · Fix managed file creation umask (issue #8590)
362695
362696       · Fix logstash exception (issue #8635)
362697
362698       · Improve argument exception handling for salt command (issue #8016)
362699
362700       · Fix pecl success reporting (issue #8750)
362701
362702       · Fix launchctl module exceptions (issue #8759)
362703
362704       · Fix argument order in pw_user module
362705
362706       · Add warnings for failing grains (issue #8690)
362707
362708       · Fix  hgfs  problems  caused by connections left open (issue #8811 and
362709         issue #8810)
362710
362711       · Add Debian iptables default for  iptables-persistent  package  (issue
362712         #8889)
362713
362714       · Fix installation of packages with dots in pkg name (issue #8614)
362715
362716       · Fix noarch package installation on CentOS 6 (issue #8945)
362717
362718       · Fix portage_config.enforce_nice_config (issue #8252)
362719
362720       · Fix salt.util.copyfile umask usage (issue #8590)
362721
362722       · Fix rescheduling of failed jobs (issue #8941)
362723
362724       · Fix pkg on Amazon Linux (uses yumpkg5 now) (issue #8226)
362725
362726       · Fix conflicting options in postgres module (issue #8717)
362727
362728       · Fix ps modules for psutil >= 0.3.0 (issue #7432)
362729
362730       · Fix postgres module to return False on failure (issue #8778)
362731
362732       · Fix argument passing for args with pound signs (issue #8585)
362733
362734       · Fix  pid  of  salt  CLi  command  showing in status.pid output (issue
362735         #8720)
362736
362737       · Fix rvm to run gem as the correct user (issue #8951)
362738
362739       · Fix namespace issue in win_file module (issue #9060)
362740
362741       · Fix masterless state paths on windows (issue #9021)
362742
362743       · Fix timeout option in master config (issue #9040)
362744
362745   Salt 0.17.4 Release Notes
362746       release
362747              2013-12-10
362748
362749       Version 0.17.4 is another  bugfix  release  for  0.17.0.   The  changes
362750       include:
362751
362752       · Fix file.replace bug when replacement str is numeric (issue #9101)
362753
362754       · Fix regression in file.managed (issue #9131)
362755
362756       · Prevent traceback when job is None. (issue #9145)
362757
362758   Salt 0.17.5 Release Notes
362759       release
362760              2014-01-27
362761
362762       Version  0.17.5  is  another  bugfix  release  for 0.17.0.  The changes
362763       include:
362764
362765       · Fix user.present states with non-string fullname (issue #9085)
362766
362767       · Fix virt.init return value on failure (issue #6870)
362768
362769       · Fix reporting of file.blockreplace state when test=True
362770
362771       · Fix network.interfaces when used in cron (issue #7990)
362772
362773       · Fix bug in pkgrepo when switching to/from mirrorlist-based  repo  def
362774         (issue #9121)
362775
362776       · Fix infinite recursion when cache file is corrupted
362777
362778       · Add checking for rev and mirror/bare args in git.latest (issue #9107)
362779
362780       · Add cmd.watch alias (points to cmd.wait) (issue #8612)
362781
362782       · Fix stacktrace when prereq is not formed as a list (issue #8235)
362783
362784       · Fix stdin issue with lvdisplay command (issue #9128)
362785
362786       · Add pre-check function for range matcher (issue #9236)
362787
362788       · Add  exception  handling  for psutil for processes that go missing (‐
362789         issue #9274)
362790
362791       · Allow _in requisites to match both on ID and name (issue #9061)
362792
362793       · Fix multiple client timeout issues  (issue  #7157  and  issue  #9302,
362794         probably others)
362795
362796       · Fix  ZMQError:  Operation  cannot  be  accomplished  in current state
362797         errors (issue #6306)
362798
362799       · Multiple optimization in minion auth routines
362800
362801       · Clarify logs for minion ID caching
362802
362803   Salt 0.6.0 release notes
362804       The Salt remote execution manager has  reached  initial  functionality!
362805       Salt  is a management application which can be used to execute commands
362806       on remote sets of servers.
362807
362808       The whole idea behind Salt is to create  a  system  where  a  group  of
362809       servers  can  be remotely controlled from a single master, not only can
362810       commands be executed on remote systems, but salt can also  be  used  to
362811       gather information about your server environment.
362812
362813       Unlike  similar  systems,  like Func and MCollective, Salt is extremely
362814       simple to setup and use, the entire application is contained in a  sin‐
362815       gle  package,  and  the  master  and  minion daemons require no running
362816       dependencies in the way that Func requires Certmaster  and  MCollective
362817       requires activeMQ.
362818
362819       Salt  also manages authentication and encryption. Rather than using SSL
362820       for encryption, salt manages encryption on a payload level, so the data
362821       sent  across  the  network  is  encrypted with fast AES encryption, and
362822       authentication uses RSA keys. This means that Salt is fast, secure, and
362823       very efficient.
362824
362825       Messaging  in  Salt  is  executed  with  ZeroMQ, so the message passing
362826       interface is built into salt and does not require  an  external  ZeroMQ
362827       server. This also adds speed to Salt since there is no additional bloat
362828       on the networking layer, and ZeroMQ has already proven itself as a very
362829       fast networking system.
362830
362831       The remote execution in Salt is "Lazy Execution", in that once the com‐
362832       mand is sent the requesting network connection is closed. This makes it
362833       easier  to detach the execution from the calling process on the master,
362834       it also means that replies are cached,  so  that  information  gathered
362835       from historic commands can be queried in the future.
362836
362837       Salt  also allows users to make execution modules in Python. Writers of
362838       these modules should also be pleased to know that they have  access  to
362839       the  impressive  information  gathered from PuppetLabs' Facter applica‐
362840       tion, making Salt module more flexible. In the future I  hope  to  also
362841       allow Salt to group servers based on Facter information as well.
362842
362843       All  in all Salt is fast, efficient, and clean, can be used from a sim‐
362844       ple command line client or through an API, uses message queue  technol‐
362845       ogy to make network execution extremely fast, and encryption is handled
362846       in a very fast and efficient manner. Salt is also VERY easy to use  and
362847       VERY easy to extend.
362848
362849       You  can  find  the source code for Salt on my GitHub page, I have also
362850       set up a few wiki pages explaining how to use and set up Salt.  If  you
362851       are  using  Arch  Linux  there is a package available in the Arch Linux
362852       AUR.
362853
362854       GitHub page: https://github.com/saltstack/salt
362855
362856       Wiki: https://github.com/saltstack/salt/wiki
362857
362858       Arch Linux Package: https://aur.archlinux.org/packages/salt-git/
362859
362860       I am very open to contributions, for instance I need packages for  more
362861       Linux distributions as well as BSD packages and testers.
362862
362863       Give  Salt  a try, this is the initial release and is not a 1.0 quality
362864       release, but it has been working well for me! I am eager  to  get  your
362865       feedback!
362866
362867   Salt 0.7.0 release notes
362868       I am pleased to announce the release of Salt 0.7.0!
362869
362870       This  release  marks  what  is  the first stable release of salt, 0.7.0
362871       should be suitable for general use.
362872
362873       0.7.0 Brings the following new features to Salt:
362874
362875       · Integration with Facter data from puppet labs
362876
362877       · Allow for matching minions from the salt client via  Facter  informa‐
362878         tion
362879
362880       · Minion  job  threading,  many jobs can be executed from the master at
362881         once
362882
362883       · Preview of master clustering support - Still experimental
362884
362885       · Introduce new minion modules for stats, virtualization, service  man‐
362886         agement and more
362887
362888       · Add extensive logging to the master and minion daemons
362889
362890       · Add sys.reload_functions for dynamic function reloading
362891
362892       · Greatly improve authentication
362893
362894       · Introduce the saltkey command for managing public keys
362895
362896       · Begin backend development preparatory to introducing butter
362897
362898       · Addition of man pages for the core commands
362899
362900       · Extended and cleaned configuration
362901
362902       0.7.0 Fixes the following major bugs:
362903
362904       · Fix crash in minions when matching failed
362905
362906       · Fix configuration file lookups for the local client
362907
362908       · Repair communication bugs in encryption
362909
362910       · Numerous fixes in the minion modules
362911
362912       The next release of Salt should see the following features:
362913
362914       · Stabilize the cluster support
362915
362916       · Introduce a remote client for salt command tiers
362917
362918       · salt-ftp system for distributed file copies
362919
362920       · Initial support for "butter"
362921
362922       Coming  up  next is a higher level management framework for salt called
362923       Butter. I want salt to stay as a  simple  and  effective  communication
362924       framework,  and allow for more complicated executions to be managed via
362925       Butter.
362926
362927       Right now Butter is being developed to act as a cloud controller  using
362928       salt  as  the  communication layer, but features like system monitoring
362929       and advanced configuration control (a puppet manager) are also  in  the
362930       pipe.
362931
362932       Special  thanks  to Joseph Hall for the status and network modules, and
362933       thanks to Matthias Teege for tracking down some configuration bugs!
362934
362935       Salt can be downloaded from the following locations;
362936
362937       Arch Linux Package:
362938
362939       https://aur.archlinux.org/packages/salt-git/
362940
362941       Please enjoy the latest Salt release!
362942
362943   Salt 0.8.0 release notes
362944       Salt 0.8.0 is ready for general consumption!   The  source  tarball  is
362945       available on GitHub for download:
362946
362947       A  lot  of  work has gone into salt since the last release just 2 weeks
362948       ago, and salt has improved a great deal. A swath of  new  features  are
362949       here along with performance and threading improvements!
362950
362951       The main new features of salt 0.8.0 are:
362952
362953       Salt-cp
362954
362955       Cython minion modules
362956
362957       Dynamic returners
362958
362959       Faster return handling
362960
362961       Lowered required Python version to 2.6
362962
362963       Advanced minion threading
362964
362965       Configurable minion modules
362966
362967   Salt-cp
362968       The  salt-cp  command  introduces  the ability to copy simple files via
362969       salt to targeted servers. Using  salt-cp  is  very  simple,  just  call
362970       salt-cp  with  a  target specification, the source file(s) and where to
362971       copy the files on the minions.  For instance:
362972
362973       # salt-cp ‘*’ /etc/hosts /etc/hosts
362974
362975       Will copy the local /etc/hosts file to all of the minions.
362976
362977       Salt-cp is very young, in the future more  advanced  features  will  be
362978       added,  and  the  functionality  will much more closely resemble the cp
362979       command.
362980
362981   Cython minion modules
362982       Cython is an amazing tool used to compile Python  modules  down  to  c.
362983       This  is  arguably  the fastest way to run Python code, and since pyzmq
362984       requires cython, adding support to salt for cython adds no  new  depen‐
362985       dencies.
362986
362987       Cython  minion modules allow minion modules to be written in cython and
362988       therefore executed in compiled c.  Simply  write  the  salt  module  in
362989       cython  and use the file extension “.pyx” and the minion module will be
362990       compiled when the minion  is  started.  An  example  cython  module  is
362991       included in the main distribution called cytest.pyx:
362992
362993       https://github.com/saltstack/salt/blob/develop/salt/modules/cytest.pyx
362994
362995   Dynamic Returners
362996       By  default  salt returns command data back to the salt master, but now
362997       salt can return command data to any system. This is enabled via the new
362998       returners  modules  feature  for  salt.  The returners modules take the
362999       return data and sends it to a specific  module.  The  returner  modules
363000       work like minion modules, so any returner can be added to the minions.
363001
363002       This  means that a custom data returner can be added to communicate the
363003       return data so anything from MySQL, Redis, MongoDB, and more!
363004
363005       There are 2 simple stock returners in the returners directory:
363006
363007       https://github.com/saltstack/salt/blob/develop/salt/returners
363008
363009       The documentation on writing  returners  will  be  added  to  the  wiki
363010       shortly, and returners can be written in pure Python, or in cython.
363011
363012   Configurable Minion Modules
363013       Minion modules may need to be configured, now the options passed to the
363014       minion configuration file can be accessed inside of the minion  modules
363015       via the __opt__ dict.
363016
363017       Information  on  how  to use this simple addition has been added to the
363018       wiki: Writing modules
363019
363020       The test module has an example of using the __opts__ dict, and  how  to
363021       set default options:
363022
363023       https://github.com/saltstack/salt/blob/develop/salt/modules/test.py
363024
363025   Advanced Minion Threading
363026       In 0.7.0 the minion would block after receiving a command from the mas‐
363027       ter, now the minion will spawn a thread  or  multiprocess.  By  default
363028       Python  threads are used because for general use they have proved to be
363029       faster, but the minion can now be configured to use the  Python  multi‐
363030       processing  module instead. Using multiprocessing will cause executions
363031       that are CPU bound or would otherwise exploit the negative  aspects  of
363032       the  Python  GIL to run faster and more reliably, but simple calls will
363033       still be faster with Python threading.  The configuration option can be
363034       found in the minion configuration file:
363035
363036       https://github.com/saltstack/salt/blob/develop/conf/minion
363037
363038   Lowered Supported Python to 2.6
363039       The  requirement for Python 2.7 has been removed to support Python 2.6.
363040       I have received requests to take the minimum  Python  version  back  to
363041       2.4,  but  unfortunately  this  will  not be possible, since the ZeroMQ
363042       Python bindings do not support Python 2.4.
363043
363044       Salt 0.8.0 is a very major update, it also changes the network protocol
363045       slightly  which makes communication with older salt daemons impossible,
363046       your master and minions need to be upgraded together!
363047
363048       I could use some help bringing salt to the people!  Right  now  I  only
363049       have  packages  for  Arch Linux, Fedora 14 and Gentoo. We need packages
363050       for Debian and people willing to help test on more platforms.  We  also
363051       need help writing more minion modules and returner modules. If you want
363052       to contribute to salt please hop  on  the  mailing  list  and  send  in
363053       patches,  make  a fork on GitHub and send in pull requests! If you want
363054       to help but are not sure where you can, please  email  me  directly  or
363055       post tot he mailing list!
363056
363057       I  hope  you  enjoy  salt,  while  it is not yet 1.0 salt is completely
363058       viable and usable!
363059
363060       -Thomas S. Hatch
363061
363062   Salt 0.8.7 release notes
363063       It has been a month since salt 0.8.0, and it has been a long month! But
363064       Salt is still coming along strong. 0.8.7 has a lot of changes and a lot
363065       of updates.  This update makes Salt’s ZeroMQ back  end  better,  strips
363066       Facter  from the dependencies, and introduces interfaces to handle more
363067       capabilities.
363068
363069       Many of the major updates are in the background, but the changes should
363070       shine  through to the surface. A number of the new features are still a
363071       little thin, but the back end to support expansion is in place.
363072
363073       I also recently gave a presentation to the Utah Python users  group  in
363074       Salt Lake City, the slides from this presentation are available here:
363075
363076       The video from this presentation will be available shortly.
363077
363078       The major new features and changes in Salt 0.8.7 are:
363079
363080       · Revamp ZeroMQ topology on the master for better scalability
363081
363082       · State enforcement
363083
363084       · Dynamic state enforcement managers
363085
363086       · Extract the module loader into salt.loader
363087
363088       · Make Job ids more granular
363089
363090       · Replace Facter functionality with the new salt grains interface
363091
363092       · Support for “virtual” salt modules
363093
363094       · Introduce the salt-call command
363095
363096       · Better debugging for minion modules
363097
363098       The  new  ZeroMQ  topology  allows for better scalability, this will be
363099       required by the need to execute  massive  file  transfers  to  multiple
363100       machines  in  parallel and state management. The new ZeroMQ topology is
363101       available in the aforementioned presentation.
363102
363103       0.8.7 introduces the capability to declare states, this is  similar  to
363104       the  capabilities of Puppet. States in salt are declared via state data
363105       structures.  This system is very young, but the  core  feature  set  is
363106       available. Salt states work around rendering files which represent Salt
363107       high data. More on the Salt state system will be documented in the near
363108       future.
363109
363110       The  system  for loading salt modules has been pulled out of the minion
363111       class to be a standalone module, this has enabled more dynamic  loading
363112       of Salt modules and enables many of the updates in 0.8.7 –
363113
363114       https://github.com/saltstack/salt/blob/develop/salt/loader.py
363115
363116       Salt  Job  ids are now microsecond precise, this was needed to repair a
363117       race condition unveiled by the speed improvements  in  the  new  ZeroMQ
363118       topology.
363119
363120       The new grains interface replaces the functionality of Facter, the idea
363121       behind grains differs from Facter in that the grains are only used  for
363122       static  system  data, dynamic data needs to be derived from a call to a
363123       salt module. This makes grains much faster to  use,  since  the  grains
363124       data is generated when the minion starts.
363125
363126       Virtual  salt modules allows for a salt module to be presented as some‐
363127       thing other than its module name. The idea here is that based on infor‐
363128       mation from the minion decisions about which module should be presented
363129       can be made. The best example is the pacman module. The  pacman  module
363130       will only load on Arch Linux minions, and will be called pkg. Similarly
363131       the yum module will be presented as pkg when the  minion  starts  on  a
363132       Fedora/RedHat system.
363133
363134       The new salt-call command allows for minion modules to be executed from
363135       the minion. This means that on the minion a salt  module  can  be  exe‐
363136       cuted,  this  is  a  great tool for testing Salt modules. The salt-call
363137       command can also be used to view the grains data.
363138
363139       In previous releases when a minion module threw an exception very  lit‐
363140       tle data was returned to the master. Now the stack trace from the fail‐
363141       ure is returned making debugging of minion modules MUCH easier.
363142
363143       Salt is nearing the goal of 1.0, where the core feature set  and  capa‐
363144       bility is complete!
363145
363146       -Thomas S Hatch
363147
363148   Salt 0.8.8 release notes
363149       Salt  0.8.8  is  here!  This release adds a great deal of code and some
363150       serious new features.
363151
363152       Improved Documentation has been set up for salt using sphinx thanks  to
363153       the  efforts  of  Seth House. This new documentation system will act as
363154       the back end to the salt website which is still  under  heavy  develop‐
363155       ment. The new sphinx documentation system has also been used to greatly
363156       clean up the salt manpages.  The salt 7 manpage in particular now  con‐
363157       tains  extensive information which was previously only in the wiki. The
363158       new documentation can be found at: http://docs.saltstack.com/ We  still
363159       have  a  lot  to add, and when the domain is set up I will post another
363160       announcement.
363161
363162       More additions have been made to the ZeroMQ setup, particularly in  the
363163       realm  of  file transfers. Salt 0.8.8 introduces a built in, stateless,
363164       encrypted file server which allows salt minions to download files  from
363165       the  salt  master  using  the same encryption system used for all other
363166       salt communications. The main motivation for the salt file  server  has
363167       been to facilitate the new salt state system.
363168
363169       Much  of  the  salt  code has been cleaned up and a new cleaner logging
363170       system has been introduced thanks to the  efforts  of  Pedro  Algarvio.
363171       These  additions  will  allow for much more flexible logging to be exe‐
363172       cuted by salt, and fixed a great deal of my poor spelling in  the  salt
363173       docstrings!  Pedro Algarvio has also cleaned up the API, making it eas‐
363174       ier to embed salt into another application.
363175
363176       The biggest addition to salt found in 0.8.8 is the  new  state  system.
363177       The  salt  module system has received a new front end which allows salt
363178       to be used as a configuration management system. The configuration man‐
363179       agement  system  allows  for system configuration to be defined in data
363180       structures. The configuration management system, or as it is called  in
363181       salt,  the  “salt  state system” supports many of the features found in
363182       other configuration managers, but allows for system states to be  writ‐
363183       ten  in  a far simpler format, executes at blazing speeds, and operates
363184       via the salt minion matching system. The  state  system  also  operates
363185       within  the normal scope of salt, and requires no additional configura‐
363186       tion to use.
363187
363188       The salt state system can enforce the following states with  many  more
363189       to come: Packages Files Services Executing commands Hosts
363190
363191       The system used to define the salt states is based on a data structure,
363192       the data structure used to define the salt states has been made  to  be
363193       as  easy  to  use as possible. The data structure is defined by default
363194       using a YAML file rendered via a Jinja template. This  means  that  the
363195       state definition language supports all of the data structures that YAML
363196       supports, and all of the programming constructs and  logic  that  Jinja
363197       supports.  If  the  user  does not like YAML or Jinja the states can be
363198       defined in yaml-mako, json-jinja, or json-mako. The system used to ren‐
363199       der  the  states is completely dynamic, and any rendering system can be
363200       added to the capabilities of Salt, this means that a  rendering  system
363201       that  renders XML data in a cheetah template, or whatever you can imag‐
363202       ine, can be easily added to the capabilities of salt.
363203
363204       The salt state system also supports isolated environments, as  well  as
363205       matching code from several environments to a single salt minion.
363206
363207       The  feature  base for Salt has grown quite a bit since my last serious
363208       documentation push. As we approach 0.9.0 the goals  are  becoming  very
363209       clear,  and  the  documentation needs a lot of work. The main goals for
363210       0.9.0 are to further refine the state system, fix any bugs we find, get
363211       Salt  running on as many platforms as we can, and get the documentation
363212       filled out. There is a lot more to come as Salt moves forward to encap‐
363213       sulate  a  much  larger  scope, while maintaining supreme usability and
363214       simplicity.
363215
363216       If you would like a more complete overview of  Salt  please  watch  the
363217       Salt presentation: Slides:
363218
363219       -Thomas S Hatch
363220
363221   Salt 0.8.9 Release Notes
363222       Salt 0.8.9 has finally arrived! Unfortunately this is much later than I
363223       had hoped to release 0.8.9, life has been  very  crazy  over  the  last
363224       month. But despite challenges, Salt has moved forward!
363225
363226       This  release, as expected, adds few new features and many refinements.
363227       One of the most exciting aspect of this release is that the development
363228       community  for salt has grown a great deal and much of the code is from
363229       contributors.
363230
363231       Also, I have filled out the documentation a great deal. So  information
363232       on  States  is  properly documented, and much of the documentation that
363233       was out of date has been filled in.
363234
363235   Download!
363236       The Salt source can be downloaded from PyPI:
363237
363238       https://pypi.python.org/packages/source/s/salt/salt-0.8.9.tar.gz
363239
363240       Here s the md5sum:
363241
363242       7d5aca4633bc22f59045f59e82f43b56
363243
363244       For instructions on how to set up  Salt  please  see  the  installation
363245       instructions.
363246
363247   New Features
363248   Salt Run
363249       A  big feature is the addition of Salt run, the salt-run command allows
363250       for master side execution modules  to  be  made  that  gather  specific
363251       information or execute custom routines from the master.
363252
363253       Documentation for salt-run can be found here
363254
363255   Refined Outputters
363256       One problem often complained about in salt was the fact that the output
363257       was so messy. Thanks to help from Jeff Schroeder  a  cleaner  interface
363258       for  the command output for the Salt CLI has been made. This new inter‐
363259       face makes adding new printout formats easy and additions to the  capa‐
363260       bilities  of  minion modules makes it possible to set the printout mode
363261       or outputter for functions in minion modules.
363262
363263   Cross Calling Salt Modules
363264       Salt modules can now call each other, the __salt__ dict has been  added
363265       to  the  predefined  references  in minion modules. This new feature is
363266       documented in the modules documentation.
363267
363268   Watch Option Added to Salt State System
363269       Now in Salt states you can set the watch option, this will allow  watch
363270       enabled states to change based on a change in the other defined states.
363271       This is similar to subscribe and notify statements in puppet.
363272
363273   Root Dir Option
363274       Travis Cline has added the ability to define the option root_dir  which
363275       allows the salt minion to operate in a subdir. This is a strong move in
363276       supporting the minion running as an unprivileged user
363277
363278   Config Files Defined in Variables
363279       Thanks again to Travis Cline, the master and minion configuration  file
363280       locations can be defined in environment variables now.
363281
363282   New Modules
363283       Quite a few new modules, states, returners, and runners have been made.
363284
363285   New Minion Modules
363286   apt
363287       Support  for  apt-get has been added, this adds greatly improved Debian
363288       and Ubuntu support to Salt!
363289
363290   useradd and groupadd
363291       Support for manipulating users and groups on Unix-like systems.
363292
363293   moosefs
363294       Initial support for reporting on aspects of the distributed  file  sys‐
363295       tem,   MooseFS.   For   more   information   on   MooseFS  please  see:
363296       http://www.moosefs.org
363297
363298       Thanks to Joseph Hall for his work on MooseFS support.
363299
363300   mount
363301       Manage mounts and the fstab.
363302
363303   puppet
363304       Execute puppet on remote systems.
363305
363306   shadow
363307       Manipulate and manage the user password file.
363308
363309   ssh
363310       Interact with ssh keys.
363311
363312   New States
363313   user and group
363314       Support for managing users and groups in Salt States.
363315
363316   mount
363317       Enforce mounts and the fstab.
363318
363319   New Returners
363320   mongo_return
363321       Send the return information to a MongoDB server.
363322
363323   New Runners
363324   manage
363325       Display minions that are up or down.
363326
363327   Salt 0.9.0 Release Notes
363328       release
363329              2011-08-27
363330
363331       Salt 0.9.0 is here. This is an exciting release, 0.9.0 includes the new
363332       network  topology  features  allowing peer salt commands and masters of
363333       masters via the syndic interface.
363334
363335       0.9.0 also introduces many more modules, improvements to  the  API  and
363336       improvements to the ZeroMQ systems.
363337
363338   Download!
363339       The Salt source can be downloaded from PyPI:
363340
363341       https://pypi.python.org/packages/source/s/salt/salt-0.9.0.tar.gz
363342
363343       Here is the md5sum:
363344
363345       9a925da04981e65a0f237f2e77ddab37
363346
363347       For  instructions  on  how  to  set up Salt please see the installation
363348       instructions.
363349
363350   New Features
363351   Salt Syndic
363352       The new Syndic interface allows a master to be  commanded  via  another
363353       higher level salt master. This is a powerful solution allowing a master
363354       control structure to exist, allowing salt to scale to much larger  lev‐
363355       els then before.
363356
363357   Peer Communication
363358       0.9.0  introduces  the capability for a minion to call a publication on
363359       the master and receive the return from another  set  of  minions.  This
363360       allows  salt to act as a communication channel between minions and as a
363361       general infrastructure message bus.
363362
363363       Peer communication is turned off by default but can be enabled via  the
363364       peer  option in the master configuration file. Documentation on the new
363365       Peer interface.
363366
363367   Easily Extensible API
363368       The minion and master classes have been redesigned to  allow  for  spe‐
363369       cialized  minion and master servers to be easily created. An example on
363370       how this is done for the master can be found in the master.py salt mod‐
363371       ule:
363372
363373       https://github.com/saltstack/salt/blob/develop/salt/master.py
363374
363375       The  Master  class extends the SMaster class and set up the main master
363376       server.
363377
363378       The minion functions can now also be easily added to  another  applica‐
363379       tion  via  the  SMinion class, this class can be found in the minion.py
363380       module:
363381
363382       https://github.com/saltstack/salt/blob/develop/salt/minion.py
363383
363384   Cleaner Key Management
363385       This release changes some of the key naming to allow for multiple  mas‐
363386       ter  keys  to  be held based on the type of minion gathering the master
363387       key.
363388
363389       The -d option has also been added to the salt-key command allowing  for
363390       easy removal of accepted public keys.
363391
363392       The  --gen-keys  option  is  now  available  as well for salt-key, this
363393       allows for a salt specific RSA key pair to be easily generated from the
363394       command line.
363395
363396   Improved 0MQ Master Workers
363397       The  0MQ  worker  system has been further refined to be faster and more
363398       robust.  This new system has been able to handle  a  much  larger  load
363399       than  the  previous  setup. The new system uses the IPC protocol in 0MQ
363400       instead of TCP.
363401
363402   New Modules
363403       Quite a few new modules have been made.
363404
363405   New Minion Modules
363406   apache
363407       Work directly with apache servers,  great  for  managing  balanced  web
363408       servers
363409
363410   cron
363411       Read out the contents of a systems crontabs
363412
363413   mdadm
363414       Module to manage raid devices in Linux, appears as the raid module
363415
363416   mysql
363417       Gather simple data from MySQL databases
363418
363419   ps
363420       Extensive utilities for managing processes
363421
363422   publish
363423       Used by the peer interface to allow minions to make publications
363424
363425   Salt 0.9.1 Release Notes
363426       release
363427              2011-08-29
363428
363429   Salt 0.9.2 Release Notes
363430       release
363431              2011-09-17
363432
363433       Salt 0.9.2 has arrived! 0.9.2 is primarily a bugfix release, the excit‐
363434       ing component in 0.9.2 is greatly improved support for salt states. All
363435       of  the salt states interfaces have been more thoroughly tested and the
363436       new salt-states git repo is growing with example of how to use states.
363437
363438       This release introduces salt states for early developers and testers to
363439       start  helping  us  clean up the states interface and make it ready for
363440       the world!
363441
363442       0.9.2 also fixes a number of bugs found on Python 2.6.
363443
363444   Download!
363445       The Salt source can be downloaded from PyPI:
363446
363447       https://pypi.python.org/packages/source/s/salt/salt-0.9.2.tar.gz
363448
363449       For instructions on how to set up  Salt  please  see  the  installation
363450       instructions.
363451
363452   New Features
363453   Salt-Call Additions
363454       The  salt-call  command has received an overhaul, it now hooks into the
363455       outputter system so command output looks clean, and the logging  system
363456       has  been  hooked  into  salt-call, so the -l option allows the logging
363457       output from salt minion functions to be displayed.
363458
363459       The end result is that the salt-call command can execute the state sys‐
363460       tem and return clean output:
363461
363462          # salt-call state.highstate
363463
363464   State System Fixes
363465       The state system has been tested and better refined. As of this release
363466       the state system is ready for early testers to start playing  with.  If
363467       you  are  interested  in working with the state system please check out
363468       the (still very small) salt-states GitHub repo:
363469
363470       https://github.com/saltstack/salt-states
363471
363472       This git repo is the active development branch for  determining  how  a
363473       clean  salt-state  database  should  look and act. Since the salt state
363474       system is still very young a lot of help is still needed  here.  Please
363475       fork  the  salt-states repo and help us develop a truly large and scal‐
363476       able system for configuration management!
363477
363478   Notable Bug Fixes
363479   Python 2.6 String Formatting
363480       Python 2.6 does not support format strings without an index identifier,
363481       all of them have been repaired.
363482
363483   Cython Loading Disabled by Default
363484       Cython loading requires a development tool chain to be installed on the
363485       minion, requiring this by default can  cause  problems  for  most  Salt
363486       deployments.  If  Cython  auto  loading  is  desired it will need to be
363487       turned on in the minion config.
363488
363489   Salt 0.9.3 Release Notes
363490       release
363491              2011-11-05
363492
363493       Salt 0.9.3 is finally arrived. This is another  big  step  forward  for
363494       Salt,  new  features range from proper FreeBSD support to fixing issues
363495       seen when attaching a minion to a master over the Internet.
363496
363497       The biggest improvements in 0.9.3 though can be found in the state sys‐
363498       tem, it has progressed from something ready for early testers to a sys‐
363499       tem ready to compete with platforms such as Puppet and Chef. The  back‐
363500       bone of the state system has been greatly refined and many new features
363501       are available.
363502
363503   Download!
363504       The Salt source can be downloaded from PyPI:
363505
363506       https://pypi.python.org/packages/source/s/salt/salt-0.9.3.tar.gz
363507
363508       For instructions on how to set up  Salt  please  see  the  installation
363509       instructions.
363510
363511   New Features
363512   WAN Support
363513       Recently  more people have been testing Salt minions connecting to Salt
363514       Masters over the Internet. It was found  that  Minions  would  commonly
363515       loose  their  connection  to the master when working over the internet.
363516       The minions can now detect if the connection has been lost  and  recon‐
363517       nect to the master, making WAN connections much more reliable.
363518
363519   State System Fixes
363520       Substantial  testing has gone into the state system and it is ready for
363521       real world usage. A great deal has been added to the documentation  for
363522       states  and  the  modules  and  functions available to states have been
363523       cleanly documented.
363524
363525       A number of State System bugs have also been founds and  repaired,  the
363526       output  from  the  state  system  has also been refined to be extremely
363527       clear and concise.
363528
363529       Error reporting has also been introduced, issues  found  in  sls  files
363530       will now be clearly reported when executing Salt States.
363531
363532   Extend Declaration
363533       The  Salt States have also gained the extend declaration. This declara‐
363534       tion allows for states to be cleanly modified in  a  post  environment.
363535       Simply  said,  if  there is an apache.sls file that declares the apache
363536       service, then another sls can include apache and then extend it:
363537
363538          include:
363539            - apache
363540
363541          extend:
363542            apache:
363543              service:
363544                - require:
363545                  - pkg: mod_python
363546
363547          mod_python:
363548            pkg:
363549              - installed
363550
363551       The notable behavior with the extend functionality is that it literally
363552       extends  or overwrites a declaration set up in another sls module. This
363553       means that Salt will behave  as  though  the  modifications  were  made
363554       directly  to  the  apache sls.  This ensures that the apache service in
363555       this example is directly tied to all requirements.
363556
363557   Highstate Structure Specification
363558       This release comes with a clear specification  of  the  Highstate  data
363559       structure  that  is  used  to  declare  Salt States. This specification
363560       explains everything that can be declared in the Salt SLS modules.
363561
363562       The specification is extremely simple, and  illustrates  how  Salt  has
363563       been  able  to fulfill the requirements of a central configuration man‐
363564       ager within a simple and easy to understand format and specification.
363565
363566   SheBang Renderer Switch
363567       It came to our attention that having many renderers  means  that  there
363568       may  be a situation where more than one State Renderer should be avail‐
363569       able within a single State Tree.
363570
363571       The method chosen to accomplish this was something already familiar  to
363572       developers and systems administrators, a SheBang. The Python State Ren‐
363573       derer displays this new capability.
363574
363575   Python State Renderer
363576       Until now Salt States could only be declared  in  yaml  or  json  using
363577       Jinja or Mako. A new, very powerful, renderer has been added, making it
363578       possible to write Salt States in pure Python:
363579
363580          #!py
363581
363582          def run():
363583              '''
363584              Install the python-mako package
363585              '''
363586              return {'include': ['python'],
363587                      'python-mako': {'pkg': ['installed']}}
363588
363589       This renderer is used by making a run function that returns  the  High‐
363590       state  data  structure.  Any capabilities of Python can be used in pure
363591       Python sls modules.
363592
363593       This example of a pure Python sls module is the same as this example in
363594       yaml:
363595
363596          include:
363597            - python
363598
363599          python-mako:
363600            pkg:
363601              - installed
363602
363603   FreeBSD Support
363604       Additional  support  has  been  added for FreeBSD, this is Salt's first
363605       branch out of the Linux world and  proves  the  viability  of  Salt  on
363606       non-Linux platforms.
363607
363608       Salt  remote execution already worked on FreeBSD, and should work with‐
363609       out issue on any Unix-like platform. But this support comes in the form
363610       of  package  management  and  user support, so Salt States also work on
363611       FreeBSD now.
363612
363613       The new freebsdpkg module provides package management support for Free‐
363614       BSD and the new pw_user and pw_group provide user and group management.
363615
363616   Module and State Additions
363617   Cron Support
363618       Support  for  managing  the  system crontab has been added, declaring a
363619       cron state can be done easily:
363620
363621          date > /tmp/datestamp:
363622            cron:
363623              - present
363624              - user: fred
363625              - minute: 5
363626              - hour: 3
363627
363628   File State Additions
363629       The file state has been given a number of new features,  primarily  the
363630       directory, recurse, symlink, and absent functions.
363631
363632       file.directory
363633              Make sure that a directory exists and has the right permissions.
363634
363635                 /srv/foo:
363636                   file:
363637                     - directory
363638                     - user: root
363639                     - group: root
363640                     - mode: 1755
363641
363642       file.symlink
363643              Make a symlink.
363644
363645                 /var/lib/www:
363646                   file:
363647                     - symlink
363648                     - target: /srv/www
363649                     - force: True
363650
363651       file.recurse
363652              The recurse state function will recursively download a directory
363653              on the master file server and place it on the minion. Any change
363654              in  the  files  on  the master will be pushed to the minion. The
363655              recurse function is very powerful and has been tested by pushing
363656              out the full Linux kernel source.
363657
363658                 /opt/code:
363659                   file:
363660                     - recurse
363661                     - source: salt://linux
363662
363663       file.absent
363664              Make  sure  that  the  file  is  not  on the system, recursively
363665              deletes directories, files, and symlinks.
363666
363667                 /etc/httpd/conf.d/somebogusfile.conf:
363668                   file:
363669                     - absent
363670
363671   Sysctl Module and State
363672       The sysctl module and state allows for sysctl components in the  kernel
363673       to  be  managed  easily. the sysctl module contains the following func‐
363674       tions:
363675
363676       sysctl.show
363677              Return a list of sysctl parameters for this minion
363678
363679       sysctl.get
363680              Return a single sysctl parameter for this minion
363681
363682       sysctl.assign
363683              Assign a single sysctl parameter for this minion
363684
363685       sysctl.persist
363686              Assign and persist a simple sysctl parameter for this minion
363687
363688       The sysctl state allows for sysctl parameters to be assigned:
363689
363690          vm.swappiness:
363691            sysctl:
363692              - present
363693              - value: 20
363694
363695   Kernel Module Management
363696       A module for managing Linux kernel modules  has  been  added.  The  new
363697       functions are as follows:
363698
363699       kmod.available
363700              Return a list of all available kernel modules
363701
363702       kmod.check_available
363703              Check to see if the specified kernel module is available
363704
363705       kmod.lsmod
363706              Return a dict containing information about currently loaded mod‐
363707              ules
363708
363709       kmod.load
363710              Load the specified kernel module
363711
363712       kmod.remove
363713              Unload the specified kernel module
363714
363715       The kmod state can enforce modules be either present or absent:
363716
363717          kvm_intel:
363718            kmod:
363719              - present
363720
363721   Ssh Authorized Keys
363722       The ssh_auth state can distribute ssh authorized keys out  to  minions.
363723       Ssh authorized keys can be present or absent.
363724
363725          AAAAB3NzaC1kc3MAAACBAL0sQ9fJ5bYTEyYvlRBsJdDOo49CNfhlWHWXQRqul6rwL4KIuPrhY7hBw0tV7UNC7J9IZRNO4iGod9C+OYutuWGJ2x5YNf7P4uGhH9AhBQGQ4LKOLxhDyT1OrDKXVFw3wgY3rHiJYAbd1PXNuclJHOKL27QZCRFjWSEaSrUOoczvAAAAFQD9d4jp2dCJSIseSkk4Lez3LqFcqQAAAIAmovHIVSrbLbXAXQE8eyPoL9x5C+x2GRpEcA7AeMH6bGx/xw6NtnQZVMcmZIre5Elrw3OKgxcDNomjYFNHuOYaQLBBMosyO++tJe1KTAr3A2zGj2xbWO9JhEzu8xvSdF8jRu0N5SRXPpzSyU4o1WGIPLVZSeSq1VFTHRT4lXB7PQAAAIBXUz6ZO0bregF5xtJRuxUN583HlfQkXvxLqHAGY8WSEVlTnuG/x75wolBDbVzeTlxWxgxhafj7P6Ncdv25Wz9wvc6ko/puww0b3rcLNqK+XCNJlsM/7lB8Q26iK5mRZzNsGeGwGTyzNIMBekGYQ5MRdIcPv5dBIP/1M6fQDEsAXQ==:
363726            ssh_auth:
363727              - present
363728              - user: frank
363729              - enc: dsa
363730              - comment: 'Frank's key'
363731
363732   Salt 0.9.4 Release Notes
363733       release
363734              2011-11-27
363735
363736       Salt 0.9.4 has arrived. This is a critical update that repairs a number
363737       of key bugs found in 0.9.3. But this  update  is  not  without  feature
363738       additions  as  well!  0.9.4  adds support for Gentoo portage to the pkg
363739       module and state system. Also there are 2 major  new  state  additions,
363740       the  failhard  option  and  the ability to set up finite state ordering
363741       with the order option.
363742
363743       This release also sees our largest increase in community contributions.
363744       These  contributors  have and continue to be the life blood of the Salt
363745       project, and the team continues to grow. I want to put out a big thanks
363746       to our new and existing contributors.
363747
363748   Download!
363749       The Salt source can be downloaded from PyPI:
363750
363751       https://pypi.python.org/packages/source/s/salt/salt-0.9.4.tar.gz
363752
363753       For  instructions  on  how  to  set up Salt please see the installation
363754       instructions.
363755
363756   New Features
363757   Failhard State Option
363758       Normally, when a state fails Salt continues to execute the remainder of
363759       the  defined states and will only refuse to execute states that require
363760       the failed state.
363761
363762       But the situation may exist, where you would want all  state  execution
363763       to stop if a single state execution fails. The capability to do this is
363764       called failing hard.
363765
363766   State Level Failhard
363767       A single state can have a failhard set, this means that if  this  indi‐
363768       vidual state fails that all state execution will immediately stop. This
363769       is a great thing to do if there is a state that sets up a critical con‐
363770       fig  file  and  setting  a require for each state that reads the config
363771       would be cumbersome.  A good example of this  would  be  setting  up  a
363772       package manager early on:
363773
363774          /etc/yum.repos.d/company.repo:
363775            file:
363776              - managed
363777              - source: salt://company/yumrepo.conf
363778              - user: root
363779              - group: root
363780              - mode: 644
363781              - order: 1
363782              - failhard: True
363783
363784       In  this situation, the yum repo is going to be configured before other
363785       states, and if it fails to lay down the  config  file,  than  no  other
363786       states will be executed.
363787
363788   Global Failhard
363789       It  may  be  desired to have failhard be applied to every state that is
363790       executed, if this is the case, then failhard can be set in  the  master
363791       configuration  file.  Setting failhard in the master configuration file
363792       will result in failing hard when any minion gathering states  from  the
363793       master have a state fail.
363794
363795       This  is  NOT the default behavior, normally Salt will only fail states
363796       that require a failed state.
363797
363798       Using the global failhard is generally not recommended,  since  it  can
363799       result  in  states  not  being executed or even checked. It can also be
363800       confusing to see states failhard if an admin is not actively aware that
363801       the failhard has been set.
363802
363803       To  use the global failhard set failhard: True in the master configura‐
363804       tion
363805
363806   Finite Ordering of State Execution
363807       When creating salt sls files, it is often important to ensure that they
363808       run  in  a specific order. While states will always execute in the same
363809       order, that order is not necessarily defined the way you want it.
363810
363811       A few tools exist in Salt to set up the correct state  ordering,  these
363812       tools consist of requisite declarations and order options.
363813
363814   The Order Option
363815       Before  using  the  order  option,  remember that the majority of state
363816       ordering should be done with requisite statements, and that a requisite
363817       statement will override an order option.
363818
363819       The  order option is used by adding an order number to a state declara‐
363820       tion with the option order:
363821
363822          vim:
363823            pkg:
363824              - installed
363825              - order: 1
363826
363827       By adding the order option to 1 this ensures that the vim package  will
363828       be  installed  in  tandem  with  any other state declaration set to the
363829       order 1.
363830
363831       Any state declared without an order option will be executed  after  all
363832       states with order options are executed.
363833
363834       But  this construct can only handle ordering states from the beginning.
363835       Sometimes you may want to send a state to the end of the  line,  to  do
363836       this set the order to last:
363837
363838          vim:
363839            pkg:
363840              - installed
363841              - order: last
363842
363843       Substantial  testing has gone into the state system and it is ready for
363844       real world usage. A great deal has been added to the documentation  for
363845       states  and  the  modules  and  functions available to states have been
363846       cleanly documented.
363847
363848       A number of State System bugs have also been founds and  repaired,  the
363849       output  from  the  state  system  has also been refined to be extremely
363850       clear and concise.
363851
363852       Error reporting has also been introduced, issues  found  in  sls  files
363853       will now be clearly reported when executing Salt States.
363854
363855   Gentoo Support
363856       Additional  experimental  support  has  been  added for Gentoo. This is
363857       found in the contribution from Doug Renn, aka nestegg.
363858
363859   Salt 0.9.5 Release Notes
363860       release
363861              2012-01-15
363862
363863       Salt 0.9.5 is one of the largest steps forward in  the  development  of
363864       Salt.
363865
363866       0.9.5  comes  with many milestones, this release has seen the community
363867       of developers grow out to an international team of 46 code contributors
363868       and  has  many  feature  additions, feature enhancements, bug fixes and
363869       speed improvements.
363870
363871       WARNING:
363872          Be sure to read the upgrade instructions about the switch to msgpack
363873          before upgrading!
363874
363875   Community
363876       Nothing  has  proven to have more value to the development of Salt that
363877       the outstanding community that has been growing at such  a  great  pace
363878       around  Salt.   This has proven not only that Salt has great value, but
363879       also the expandability of  Salt  is  as  exponential  as  I  originally
363880       intended.
363881
363882       0.9.5 has received over 600 additional commits since 0.9.4 with a swath
363883       of new committers. The following individuals have  contributed  to  the
363884       development of 0.9.5:
363885
363886       · Aaron Bull Schaefer
363887
363888       · Antti Kaihola
363889
363890       · Bas Tichelaar
363891
363892       · Brad Barden
363893
363894       · Brian Wagner
363895
363896       · Byron Clark
363897
363898       · Chris Scheller
363899
363900       · Christer Edwards
363901
363902       · Clint Savage
363903
363904       · Corey Quinn
363905
363906       · David Boucha
363907
363908       · Eivind Uggedal
363909
363910       · Eric Poelke
363911
363912       · Evan Borgstrom
363913
363914       · Jed Glazner
363915
363916       · Jeff Schroeder
363917
363918       · Jeffrey C. Ollie
363919
363920       · Jonas Buckner
363921
363922       · Kent Tenney
363923
363924       · Martin Schnabel
363925
363926       · Maxim Burgerhout
363927
363928       · Mitch Anderson
363929
363930       · Nathaniel Whiteinge
363931
363932       · Seth House
363933
363934       · Thomas S Hatch
363935
363936       · Thomas Schreiber
363937
363938       · Tor Hveem
363939
363940       · lzyeval
363941
363942       · syphernl
363943
363944       This makes 21 new developers since 0.9.4 was released!
363945
363946       To  keep  up  with  the  growing  community  follow  Salt  on  Ohloh (‐
363947       http://www.ohloh.net/p/salt), to join the Salt  development  community,
363948       fork      Salt      on      GitHub,      and      get     coding     (‐
363949       https://github.com/saltstack/salt)!
363950
363951   Major Features
363952   SPEED! Pickle to msgpack
363953       For a few months now we have been talking about moving away from Python
363954       pickles for network serialization, but a preferred serialization format
363955       had not yet been found. After an extensive performance  testing  period
363956       involving  everything  from  JSON  to  protocol buffers, a clear winner
363957       emerged.  Message Pack (http://msgpack.org/) proved to not only be  the
363958       fastest  and  most compact, but also the most "salt like". Message Pack
363959       is simple, and the code involved is very small. The msgpack library for
363960       Python has been added directly to Salt.
363961
363962       This  move  introduces  a  few  changes  to Salt. First off, Salt is no
363963       longer a "noarch" package, since the msgpack lib is written in C.  Salt
363964       0.9.5  will  also have compatibility issues with 0.9.4 with the default
363965       configuration.
363966
363967       We have gone through great lengths  to  avoid  backwards  compatibility
363968       issues  with  Salt,  but changing the serialization medium was going to
363969       create issues regardless. Salt 0.9.5 is somewhat  backwards  compatible
363970       with  earlier  minions.  A  0.9.5 master can command older minions, but
363971       only if the serial config value in the master is set  to  pickle.  This
363972       will  tell  the  master  to  publish messages in pickle format and will
363973       allow the master to receive messages in both msgpack  and  pickle  for‐
363974       mats.
363975
363976       Therefore  the  suggested  methods  for  upgrading  are  either to just
363977       upgrade everything at once, or:
363978
363979       1. Upgrade the master to 0.9.5
363980
363981       2. Set serial to pickle in the master config
363982
363983       3. Upgrade the minions
363984
363985       4. Remove the serial option from the master config
363986
363987       Since pickles can be used as a security exploit the ability for a  mas‐
363988       ter  to  accept pickles from minions at all will be removed in a future
363989       release.
363990
363991   C Bindings for YAML
363992       All of the YAML rendering is now done with the YAML  C  bindings.  This
363993       speeds up all of the sls files when running states.
363994
363995   Experimental Windows Support
363996       David Boucha has worked tirelessly to bring initial support to Salt for
363997       Microsoft Windows operating systems. Right now the Salt Minion can  run
363998       as a native Windows service and accept commands.
363999
364000       In the weeks and months to come Windows will receive the full treatment
364001       and will have support for Salt States and more robust support for  man‐
364002       aging  Windows  systems.  This  is  a big step forward for Salt to move
364003       entirely outside of the Unix world, and proves Salt is a  viable  cross
364004       platform solution. Big Thanks to Dave for his contribution here!
364005
364006   Dynamic Module Distribution
364007       Many  Salt  users  have  expressed  the  desire to have Salt distribute
364008       in-house modules, states, renderers, returners, and grains.  This  sup‐
364009       port has been added in a number of ways:
364010
364011   Modules via States
364012       Now  when salt modules are deployed to a minion via the state system as
364013       a file, then the modules will be automatically loaded into  the  active
364014       running  minion  -  no  restart  required - and into the active running
364015       state. So custom state modules can be deployed and  used  in  the  same
364016       state run.
364017
364018   Modules via Module Environment Directories
364019       Under the file_roots each environment can now have directories that are
364020       used to deploy large groups of modules. These directories sync  modules
364021       at  the  beginning  of  a  state  run on the minion, or can be manually
364022       synced via the Salt module salt.modules.saltutil.sync_all.
364023
364024       The directories are named:
364025
364026       · _modules
364027
364028       · _states
364029
364030       · _grains
364031
364032       · _renderers
364033
364034       · _returners
364035
364036       The modules are pushed to their respective scopes on the minions.
364037
364038   Module Reloading
364039       Modules can now be reloaded without restarting the minion, this is done
364040       by calling the salt.modules.sys.reload_modules function.
364041
364042       But wait, there's more! Now when a salt module of any type is added via
364043       states the modules will be automatically reloaded, allowing for modules
364044       to be laid down with states and then immediately used.
364045
364046       Finally, all modules are reloaded when modules are dynamically distrib‐
364047       uted from the salt master.
364048
364049   Enable / Disable Added to Service
364050       A great deal of demand has existed for adding  the  capability  to  set
364051       services to be started at boot in the service module. This feature also
364052       comes with an overhaul of the service modules and initial systemd  sup‐
364053       port.
364054
364055       This means that the service state can now accept - enable: True to make
364056       sure a service is enabled at boot, and - enable: False to make sure  it
364057       is disabled.
364058
364059   Compound Target
364060       A new target type has been added to the lineup, the compound target. In
364061       previous versions the desired minions could only be targeted via a sin‐
364062       gle  specific  target  type,  but now many target specifications can be
364063       declared.
364064
364065       These targets can also be separated by  and/or  operators,  so  certain
364066       properties can be used to omit a node:
364067
364068          salt -C 'webserv* and G@os:Debian or E@db.*' test.ping
364069
364070       will  match  all  minions with ids starting with webserv via a glob and
364071       minions matching the os:Debian grain. Or minions that  match  the  db.*
364072       regular expression.
364073
364074   Node Groups
364075       Often  the  convenience of having a predefined group of minions to exe‐
364076       cute targets on is desired. This can be accomplished with the new node‐
364077       groups  feature. Nodegroups allow for predefined compound targets to be
364078       declared in the master configuration file:
364079
364080          nodegroups:
364081            group1: 'L@foo.domain.com,bar.domain.com,baz.domain.com and bl*.domain.com'
364082            group2: 'G@os:Debian and foo.domain.com'
364083
364084       And then used via the -N option:
364085
364086          salt -N group1 test.ping
364087
364088   Minion Side Data Store
364089       The data module introduces the initial approach into storing persistent
364090       data  on  the minions, specific to the minions. This allows for data to
364091       be stored on minions that can be accessed from the master or  from  the
364092       minion.
364093
364094       The Minion datastore is young, and will eventually provide an interface
364095       similar to a more mature key/value pair server.
364096
364097   Major Grains Improvement
364098       The Salt grains have been overhauled to include  a  massive  amount  of
364099       extra  data.   this  includes  hardware data, os data and salt specific
364100       data.
364101
364102   Salt -Q is Useful Now
364103       In the past the salt query system, which would display  the  data  from
364104       recent executions would be displayed in pure Python, and it was unread‐
364105       able.
364106
364107       0.9.5 has added the outputter system to the -Q  option,  thus  enabling
364108       the salt query system to return readable output.
364109
364110   Packaging Updates
364111       Huge  strides have been made in packaging Salt for distributions. These
364112       additions are thanks to our wonderful community where the work  to  set
364113       up packages has proceeded tirelessly.
364114
364115   FreeBSD
364116       Salt on FreeBSD? There a port for that:
364117
364118       http://svnweb.freebsd.org/ports/head/sysutils/py-salt/
364119
364120       This  port was developed and added by Christer Edwards. This also marks
364121       the first time Salt has been included in an upstream packaging system!
364122
364123   Fedora and Red Hat Enterprise
364124       Salt packages have been prepared for inclusion in  the  Fedora  Project
364125       and  in  EPEL  for  Red  Hat Enterprise 5 and 6. These packages are the
364126       result of the efforts made by Clint Savage (herlo).
364127
364128   Debian/Ubuntu
364129       A team of many contributors have assisted in  developing  packages  for
364130       Debian and Ubuntu. Salt is still actively seeking inclusion in upstream
364131       Debian and Ubuntu and the package data that has been prepared is  being
364132       pushed through the needed channels for inclusion.
364133
364134       These packages have been prepared with the help of:
364135
364136       · Corey
364137
364138       · Aaron Toponce
364139
364140       · and`
364141
364142   More to Come
364143       We are actively seeking inclusion in more distributions. Primarily get‐
364144       ting Salt into Gentoo, SUSE, OpenBSD, and preparing Solaris support are
364145       all turning into higher priorities.
364146
364147   Refinement
364148       Salt continues to be refined into a faster, more stable and more usable
364149       application. 0.9.5 comes with more debug logging, more  bug  fixes  and
364150       more complete support.
364151
364152   More Testing, More BugFixes
364153       0.9.5  comes  with  more bugfixes due to more testing than any previous
364154       release.  The growing community and the  introduction  a  dedicated  QA
364155       environment  have unearthed many issues that were hiding under the cov‐
364156       ers. This has further refined and cleaned the state  interface,  taking
364157       care of things from minor visual issues to repairing misleading data.
364158
364159   Custom Exceptions
364160       A  custom exception module has been added to throw salt specific excep‐
364161       tions.  This allows Salt to give much more granular error information.
364162
364163   New Modules
364164   data
364165       The new data module manages a persistent datastore on the minion.   Big
364166       thanks to bastichelaar for his help refining this module
364167
364168   freebsdkmod
364169       FreeBSD  kernel modules can now be managed in the same way Salt handles
364170       Linux kernel modules.
364171
364172       This module was contributed thanks to the efforts of Christer Edwards
364173
364174   gentoo_service
364175       Support has been added for managing services in Gentoo. Now Gentoo ser‐
364176       vices  can  be  started,  stopped,  restarted,  enabled,  disabled, and
364177       viewed.
364178
364179   pip
364180       The pip module introduces management for  pip  installed  applications.
364181       Thanks goes to whitinge for the addition of the pip module
364182
364183   rh_service
364184       The  rh_service module enables Red Hat and Fedora specific service man‐
364185       agement.  Now Red Hat like systems come with  extensive  management  of
364186       the classic init system used by Red Hat
364187
364188   saltutil
364189       The saltutil module has been added as a place to hold functions used in
364190       the maintenance and management of salt itself. Saltutil is used to salt
364191       the  salt  minion.  The  saltutil module is presently used only to sync
364192       extension modules from the master server.
364193
364194   systemd
364195       Systemd support has been added to Salt, now  systems  using  this  next
364196       generation init system are supported on systems running systemd.
364197
364198   virtualenv
364199       The  virtualenv  module  has been added to allow salt to create virtual
364200       Python environments.  Thanks goes to whitinge for the addition  of  the
364201       virtualenv module
364202
364203   win_disk
364204       Support for gathering disk information on Microsoft Windows minions The
364205       windows modules come courtesy of Utah_Dave
364206
364207   win_service
364208       The win_service module adds service support to Salt for Microsoft  Win‐
364209       dows services
364210
364211   win_useradd
364212       Salt can now manage local users on Microsoft Windows Systems
364213
364214   yumpkg5
364215       The yumpkg module introduces in 0.9.4 uses the yum API to interact with
364216       the yum package manager. Unfortunately, on Red Hat 5 systems salt  does
364217       not  have  access  to  the yum API because the yum API is running under
364218       Python 2.4 and Salt needs to run under Python 2.6.
364219
364220       The yumpkg5 module bypasses this issue by shelling out to yum  on  sys‐
364221       tems where the yum API is not available.
364222
364223   New States
364224   mysql_database
364225       The  new  mysql_database  state  adds  the ability to systems running a
364226       mysql server to manage the existence of mysql databases.
364227
364228       The mysql states are thanks to syphernl
364229
364230   mysql_user
364231       The mysql_user state enables mysql user management.
364232
364233   virtualenv
364234       The virtualenv state can manage the state of  Python  virtual  environ‐
364235       ments.  Thanks to Whitinge for the virtualenv state
364236
364237   New Returners
364238   cassandra_returner
364239       A returner allowing Salt to send data to a cassandra server.  Thanks to
364240       Byron Clark for contributing this returner
364241
364242   Salt 0.9.6 Release Notes
364243       release
364244              2012-01-21
364245
364246       Salt 0.9.6 is a release targeting a few bugs and changes. This is  pri‐
364247       marily  targeting  an issue found in the names declaration in the state
364248       system. But a few other bugs were also repaired, like  missing  support
364249       for grains in extmods.
364250
364251       Due  to  a conflict in distribution packaging msgpack will no longer be
364252       bundled with Salt, and is required as a dependency.
364253
364254   New Features
364255   HTTP and ftp support in files.managed
364256       Now under the source option in the file.managed state  a  HTTP  or  ftp
364257       address can be used instead of a file located on the salt master.
364258
364259   Allow Multiple Returners
364260       Now the returner interface can define multiple returners, and will also
364261       return data back to the master, making the process less ambiguous.
364262
364263   Minion Memory Improvements
364264       A number of modules have been taken out of the minion if the underlying
364265       systems  required by said modules are not present on the minion system.
364266       A number of other modules need to be stripped  out  in  this  same  way
364267       which should continue to make the minion more efficient.
364268
364269   Minions Can Locally Cache Return Data
364270       A new option, cache_jobs, has been added to the minion to allow for all
364271       of the historically run jobs to cache on the minion, allowing for look‐
364272       ing up historic returns. By default cache_jobs is set to False.
364273
364274   Pure Python Template Support For file.managed
364275       Templates  in  the  file.managed  state  can now be defined in a Python
364276       script.  This script needs to have a  run  function  that  returns  the
364277       string that needs to be in the named file.
364278
364279   Salt 0.9.7 Release Notes
364280       release
364281              2012-02-15
364282
364283       Salt  0.9.7  is here! The latest iteration of Salt brings more features
364284       and many fixes. This release is a great refinement over  0.9.6,  adding
364285       many  conveniences  under  the hood, as well as some features that make
364286       working with Salt much better.
364287
364288       A few highlights include the new Job system, refinements to the  requi‐
364289       site system in states, the mod_init interface for states, external node
364290       classification, search path to managed files in  the  file  state,  and
364291       refinements and additions to dynamic module loading.
364292
364293       0.9.7  also  introduces  the long developed (and oft changed) unit test
364294       framework and the initial unit tests.
364295
364296   Major Features
364297   Salt Jobs Interface
364298       The new jobs interface makes the management of running executions  much
364299       cleaner and more transparent. Building on the existing execution frame‐
364300       work the jobs system allows clear introspection into the active running
364301       state of the running Salt interface.
364302
364303       The  Jobs interface is centered in the new minion side proc system. The
364304       minions now store msgpack serialized files under  /var/cache/salt/proc.
364305       These files keep track of the active state of processes on the minion.
364306
364307   Functions in the saltutil Module
364308       A  number of functions have been added to the saltutil module to manage
364309       and view the jobs:
364310
364311       running - Returns the data of all running jobs that are  found  in  the
364312       proc directory.
364313
364314       find_job - Returns specific data about a certain job based on job id.
364315
364316       signal_job - Allows for a given jid to be sent a signal.
364317
364318       term_job - Sends a termination signal (SIGTERM, 15) to the process con‐
364319       trolling the specified job.
364320
364321       kill_job Sends a kill signal (SIGKILL, 9) to  the  process  controlling
364322       the specified job.
364323
364324   The jobs Runner
364325       A  convenience  runner front end and reporting system has been added as
364326       well.  The jobs runner contains functions to make viewing  data  easier
364327       and cleaner.
364328
364329       The jobs runner contains a number of functions...
364330
364331   active
364332       The  active  function  runs saltutil.running on all minions and formats
364333       the return data about all running jobs in a much more usable  and  com‐
364334       pact  format.   The  active  function  will also compare jobs that have
364335       returned and jobs that are still running, making it easier to see  what
364336       systems  have  completed  a job and what systems are still being waited
364337       on.
364338
364339   lookup_jid
364340       When jobs are executed the return data is sent back to the  master  and
364341       cached.   By default is cached for 24 hours, but this can be configured
364342       via the keep_jobs option in the master configuration.
364343
364344       Using the lookup_jid runner will display the same return data that  the
364345       initial job invocation with the salt command would display.
364346
364347   list_jobs
364348       Before  finding  a historic job, it may be required to find the job id.
364349       list_jobs will parse the cached execution data and display all  of  the
364350       job data for jobs that have already, or partially returned.
364351
364352   External Node Classification
364353       Salt  can  now  use  external  node  classifiers  like  Cobbler's  cob‐
364354       bler-ext-nodes.
364355
364356       Salt uses specific data from the external node classifier. In  particu‐
364357       lar  the  classes value denotes which sls modules to run, and the envi‐
364358       ronment value sets to another environment.
364359
364360       An external node classification can be set in the master  configuration
364361       file          via          the          external_nodes          option:
364362       https://salt.readthedocs.io/en/latest/ref/configuration/master.html#external-nodes
364363
364364       External  nodes  are  loaded  in  addition  to  the top files. If it is
364365       intended to only use external nodes, do not deploy any top files.
364366
364367   State Mod Init System
364368       An issue arose with the pkg state. Every time a package  was  run  Salt
364369       would  need  to  refresh  the  package database. This made systems with
364370       slower package metadata refresh speeds much slower  to  work  with.  To
364371       alleviate  this  issue  the  mod_init  interface has been added to salt
364372       states.
364373
364374       The mod_init interface is a function that can be added to a state file.
364375       This function is called with the first state called. In the case of the
364376       pkg state, the mod_init function sets up a tag which makes the  package
364377       database only refresh on the first attempt to install a package.
364378
364379       In a nutshell, the mod_init interface allows a state to run any command
364380       that only needs to be run once, or can be used to set up an environment
364381       for working with the state.
364382
364383   Source File Search Path
364384       The  file state continues to be refined, adding speed and capabilities.
364385       This release adds the ability to pass a list to the source option. This
364386       list  is  then  iterated  over  until the source file is found, and the
364387       first found file is used.
364388
364389       The new syntax looks like this:
364390
364391          /etc/httpd/conf/httpd.conf:
364392            file:
364393              - managed
364394              - source:
364395                - salt://httpd/httpd.conf
364396                - http://myserver/httpd.conf: md5=8c1fe119e6f1fd96bc06614473509bf1
364397
364398       The source option can take sources in  the  list  from  the  salt  file
364399       server  as  well  as an arbitrary web source. If using an arbitrary web
364400       source the checksum needs to be passed as well for file verification.
364401
364402   Refinements to the Requisite System
364403       A few discrepancies were still lingering in the  requisite  system,  in
364404       particular, it was not possible to have a require and a watch requisite
364405       declared in the same state declaration.
364406
364407       This issue has been alleviated, as well as making the requisite  system
364408       run more quickly.
364409
364410   Initial Unit Testing Framework
364411       Because  of the module system, and the need to test real scenarios, the
364412       development of a viable unit testing system  has  been  difficult,  but
364413       unit  testing  has finally arrived. Only a small amount of unit testing
364414       coverage has been developed, much more coverage will be in place soon.
364415
364416       A huge thanks goes out to those who have helped with unit testing,  and
364417       the  contributions  that have been made to get us where we are. Without
364418       these contributions unit tests would still be in the dark.
364419
364420   Compound Targets Expanded
364421       Originally only support for and and or were available in  the  compound
364422       target. 0.9.7 adds the capability to negate compound targets with not.
364423
364424   Nodegroups in the Top File
364425       Previously  the  nodegroups  defined  in  the master configuration file
364426       could not be used to match nodes for states. The nodegroups support has
364427       been  expanded  and  the nodegroups defined in the master configuration
364428       can now be used to match minions in the top file.
364429
364430   Salt 0.9.8 Release Notes
364431       release
364432              2012-03-21
364433
364434       Salt 0.9.8 is a big step forward, with many additions and enhancements,
364435       as well as a number of precursors to advanced future developments.
364436
364437       This  version  of Salt adds much more power to the command line, making
364438       the old hard timeout issues a thing of the past and adds keyword  argu‐
364439       ment  support.  These  additions  are also available in the salt client
364440       API, making the available API tools much more powerful.
364441
364442       The new pillar system allows for data to be stored on  the  master  and
364443       assigned  to  minions in a granular way similar to the state system. It
364444       also allows flexibility for users who want to keep data  out  of  their
364445       state tree similar to 'external lookup' functionality in other tools.
364446
364447       A new way to extend requisites was added, the "requisite in" statement.
364448       This makes adding requires or watch statements to external  state  decs
364449       much easier.
364450
364451       Additions  to requisites making them much more powerful have been added
364452       as well as improved error checking for sls files in the state system. A
364453       new  provider  system has been added to allow for redirecting what mod‐
364454       ules run in the background for individual states.
364455
364456       Support for openSUSE has been added and support for Solaris  has  begun
364457       serious development. Windows support has been significantly enhanced as
364458       well.
364459
364460       The matcher and target systems have received a great deal of attention.
364461       The  default behavior of grain matching has changed slightly to reflect
364462       the rest of salt and the compound matcher system has been refined.
364463
364464       A number of impressive features with keyword arguments have been  added
364465       to  both  the  CLI and to the state system. This makes states much more
364466       powerful and flexible while maintaining the simple configuration every‐
364467       one loves.
364468
364469       The  new  batch  size  capability  allows  for  executions to be rolled
364470       through a group of targeted minions a percentage or specific number  at
364471       a  time.  This  was added to prevent the "thundering herd" problem when
364472       targeting large numbers of minions for things like service restarts  or
364473       file downloads.
364474
364475   Upgrade Considerations
364476   Upgrade Issues
364477       There  was a previously missed oversight which could cause a newer min‐
364478       ion to crash an older master. That oversight has been resolved  so  the
364479       version  incompatibility  issue will no longer occur. When upgrading to
364480       0.9.8 make sure to upgrade the master first, followed by the minions.
364481
364482   Debian/Ubuntu Packages
364483       The original Debian/Ubuntu packages were called salt and  included  all
364484       salt applications. New packages in the ppa are split by function. If an
364485       old salt package is installed then it should be  manually  removed  and
364486       the new split packages need to be freshly installed.
364487
364488       On the master:
364489
364490          # apt-get purge salt
364491          # apt-get install salt-{master,minion}
364492
364493       On the minions:
364494
364495          # apt-get purge salt
364496          # apt-get install salt-minion
364497
364498       And on any Syndics:
364499
364500          # apt-get install salt-syndic
364501
364502       The    official    Salt    PPA    for    Ubuntu    is    located    at:
364503       https://launchpad.net/~saltstack/+archive/salt
364504
364505   Major Features
364506   Pillar
364507       Pillar offers an interface to declare variable data on the master  that
364508       is  then  assigned to the minions. The pillar data is made available to
364509       all modules, states, sls files etc. It is compiled on the master and is
364510       declared  using  the existing renderer system. This means that learning
364511       pillar should be fairly trivial to those  already  familiar  with  salt
364512       states.
364513
364514   CLI Additions
364515       The  salt  command has received a serious overhaul and is more powerful
364516       than ever. Data is returned to the terminal as it is received, and  the
364517       salt  command  will  now  wait  for  all running minions to return data
364518       before stopping.  This makes adding very large --timeout arguments com‐
364519       pletely  unnecessary  and gets rid of long running operations returning
364520       empty {} when the timeout is exceeded.
364521
364522       When calling salt via sudo, the user originally running salt  is  saved
364523       to  the  log  for  auditing purposes. This makes it easy to see who ran
364524       what by just looking through the minion logs.
364525
364526       The salt-key command gained  the  -D  and  --delete-all  arguments  for
364527       removing all keys. Be careful with this one!
364528
364529   Running States Without a Master
364530       The  addition of running states without a salt-master has been added to
364531       0.9.8. This feature allows for the unmodified salt  state  tree  to  be
364532       read  locally  from  a  minion. The result is that the UNMODIFIED state
364533       tree has just become portable, allowing minions to have a local copy of
364534       states or to manage states without a master entirely.
364535
364536       This  is  accomplished  via  the new file client interface in Salt that
364537       allows for the salt:// URI to be redirected to custom interfaces.  This
364538       means that there are now two interfaces for the salt file server, call‐
364539       ing the master or looking in a local, minion defined file_roots.
364540
364541       This new feature can be used by modifying the minion config to point to
364542       a local file_roots and setting the file_client option to local.
364543
364544   Keyword Arguments and States
364545       State  modules  now  accept  the **kwargs argument. This results in all
364546       data in a sls file assigned to a state  being  made  available  to  the
364547       state function.
364548
364549       This passes data in a transparent way back to the modules executing the
364550       logic.  In particular, this allows adding arguments to the  pkg.install
364551       module  that enable more advanced and granular controls with respect to
364552       what the state is capable of.
364553
364554       An example of this along with the new  debconf  module  for  installing
364555       ldap client packages on Debian:
364556
364557          ldap-client-packages:
364558            pkg:
364559              - debconf: salt://debconf/ldap-client.ans
364560              - installed
364561              - names:
364562                - nslcd
364563                - libpam-ldapd
364564                - libnss-ldapd
364565
364566   Keyword Arguments and the CLI
364567       In  the past it was required that all arguments be passed in the proper
364568       order to the salt and salt-call commands. As of  0.9.8,  keyword  argu‐
364569       ments can be passed in the form of kwarg=argument.
364570
364571          # salt -G 'type:dev' git.clone \
364572              repository=https://github.com/saltstack/salt.git cwd=/tmp/salt user=jeff
364573
364574   Matcher Refinements and Changes
364575       A  number of fixes and changes have been applied to the Matcher system.
364576       The most noteworthy is the change  in  the  grain  matcher.  The  grain
364577       matcher  used to use a regular expression to match the passed data to a
364578       grain, but now defaults to a shell glob  like  the  majority  of  match
364579       interfaces  in  Salt. A new option is available that still uses the old
364580       style regex matching to grain data  called  grain-pcre.  To  use  regex
364581       matching in compound matches use the letter P.
364582
364583       For example, this would match any ArchLinux or Fedora minions:
364584
364585          # salt --grain-pcre 'os:(Arch:Fed).*' test.ping
364586
364587       And the associated compound matcher suitable for top.sls is P:
364588
364589          P@os:(Arch|Fed).*
364590
364591       NOTE: Changing the grains matcher from pcre to glob is backwards incom‐
364592       patible.
364593
364594       Support has been added for matching minions with Yahoo's range library.
364595       This is handled by passing range syntax with -R or --range arguments to
364596       salt.
364597
364598       More                          information                           at:
364599       https://github.com/ytoolshed/range/wiki/%22yamlfile%22-module-file-spec
364600
364601   Requisite in
364602       A  new  means  to  updating requisite statements has been added to make
364603       adding watchers and requires to external states  easier.  Before  0.9.8
364604       the  only way to extend the states that were watched by a state outside
364605       of the sls was to use an extend statement:
364606
364607          include:
364608            - http
364609          extend:
364610            apache:
364611              service:
364612                - watch:
364613                  - pkg: tomcat
364614
364615          tomcat:
364616            pkg:
364617              - installed
364618
364619       But the new Requisite in statement allows for easier extends for requi‐
364620       sites:
364621
364622          include:
364623            - http
364624
364625          tomcat:
364626            pkg:
364627              - installed
364628              - watch_in:
364629                - service: apache
364630
364631       Requisite  in is part of the extend system, so still remember to always
364632       include the sls that is being extended!
364633
364634   Providers
364635       Salt predetermines what modules should be mapped to what uses based  on
364636       the properties of a system. These determinations are generally made for
364637       modules that provide things like package and  service  management.  The
364638       apt  module  maps  to  pkg  on Debian and the yum module maps to pkg on
364639       Fedora for instance.
364640
364641       Sometimes in states, it may be necessary for a non-default module to be
364642       used  for the desired functionality. For instance, an Arch Linux system
364643       may have been set up with systemd support. Instead of using the default
364644       service module detected for Arch Linux, the systemd module can be used:
364645
364646          http:
364647            service:
364648              - running
364649              - enable: True
364650              - provider: systemd
364651
364652       Default providers can also be defined in the minion config file:
364653
364654          providers:
364655            service: systemd
364656
364657       When  default  providers  are  passed  in the minion config, then those
364658       providers will be applied to all functionality in Salt, this means that
364659       the  functions  called by the minion will use these modules, as well as
364660       states.
364661
364662   Requisite Glob Matching
364663       Requisites can now be defined with glob expansion. This means  that  if
364664       there are many requisites, they can be defined on a single line.
364665
364666       To watch all files in a directory:
364667
364668          http:
364669            service:
364670              - running
364671              - enable: True
364672              - watch:
364673                - file: /etc/http/conf.d/*
364674
364675       This  example  will  watch  all  defined  files  that  match  the  glob
364676       /etc/http/conf.d/*
364677
364678   Batch Size
364679       The new batch size option allows commands to be  executed  while  main‐
364680       taining  that only so many hosts are executing the command at one time.
364681       This option can take a percentage or a finite number:
364682
364683          salt '*' -b 10 test.ping
364684
364685          salt -G 'os:RedHat' --batch-size 25% apache.signal restart
364686
364687       This will only run test.ping on 10 of the targeted minions  at  a  time
364688       and  then  restart apache on 25% of the minions matching os:RedHat at a
364689       time and work through them all until the task is complete.  This  makes
364690       jobs  like  rolling web server restarts behind a load balancer or doing
364691       maintenance on BSD firewalls using carp much easier with salt.
364692
364693   Module Updates
364694       This is a list of notable, but  non-exhaustive  updates  with  new  and
364695       existing modules.
364696
364697       Windows  support has seen a flurry of support this release cycle. We've
364698       gained all new file, network, and  shadow  modules.  Please  note  that
364699       these are still a work in progress.
364700
364701       For  our ruby users, new rvm and gem modules have been added along with
364702       the associated states
364703
364704       The virt module gained basic Xen support.
364705
364706       The yum module gained Scientific Linux support.
364707
364708       The pkg module on Debian, Ubuntu, and derivatives force apt to run in a
364709       non-interactive  mode.  This  prevents issues when package installation
364710       waits for confirmation.
364711
364712       A pkg module for OpenSUSE's zypper was added.
364713
364714       The service module on Ubuntu natively supports upstart.
364715
364716       A new debconf module was contributed by our community for more advanced
364717       control over deb package deployments on Debian based distributions.
364718
364719       The mysql.user state and mysql module gained a password_hash argument.
364720
364721       The cmd module and state gained a shell keyword argument for specifying
364722       a shell other than /bin/sh on Linux / Unix systems.
364723
364724       New git and mercurial modules have been added for fans  of  distributed
364725       version control.
364726
364727   In Progress Development
364728   Master Side State Compiling
364729       While  we  feel  strongly  that  the advantages gained with minion side
364730       state compiling are very critical, it  does  prevent  certain  features
364731       that  may  be  desired. 0.9.8 has support for initial master side state
364732       compiling, but many more components still need to be developed,  it  is
364733       hoped that these can be finished for 0.9.9.
364734
364735       The goal is that states can be compiled on both the master and the min‐
364736       ion allowing for compilation to be split between master and minion. Why
364737       will  this be great? It will allow storing sensitive data on the master
364738       and sending it to some minions without all minions having access to it.
364739       This  will  be  good  for  handling  ssl  certificates on front-end web
364740       servers for instance.
364741
364742   Solaris Support
364743       Salt 0.9.8 sees the introduction of basic Solaris support.  The  daemon
364744       runs  well,  but grains and more of the modules need updating and test‐
364745       ing.
364746
364747   Windows Support
364748       Salt states on windows are now much more viable thanks to contributions
364749       from  our  community!  States  for file, service, local user, and local
364750       group management are more fully fleshed out along with network and disk
364751       modules.  Windows  users can also now manage registry entries using the
364752       new "reg" module.
364753
364754   Salt 0.9.9 Release Notes
364755       release
364756              2012-04-27
364757
364758       0.9.9 is out and comes with some serious bug fixes and even more  seri‐
364759       ous  features.  This  release  is the last major feature release before
364760       1.0.0 and could be considered the 1.0.0 release candidate.
364761
364762       A few updates include more advanced kwargs  support,  the  ability  for
364763       salt  states to more safely configure a running salt minion, better job
364764       directory management and the new state test interface.
364765
364766       Many new tests have been added as well, including the new minion  swarm
364767       test  that  allows for easier testing of Salt working with large groups
364768       of minions.  This means that if you have experienced  stability  issues
364769       with  Salt  before, particularly in larger deployments, that these bugs
364770       have been tested for, found, and killed.
364771
364772   Major Features
364773   State Test Interface
364774       Until 0.9.9 the only option when running states to see what  was  going
364775       to  be changed was to print out the highstate with state.show_highstate
364776       and manually look it over. But now states can be run to  discover  what
364777       is going to be changed.
364778
364779       Passing  the  option  test=True to many of the state functions will now
364780       cause the salt state system to only check  for  what  is  going  to  be
364781       changed and report on those changes.
364782
364783          salt '*' state.highstate test=True
364784
364785       Now states that would have made changes report them back in yellow.
364786
364787   State Syntax Update
364788       A  shorthand  syntax  has  been  added to sls files, and it will be the
364789       default syntax in documentation going forward. The old syntax is  still
364790       fully  supported  and  will not be deprecated, but it is recommended to
364791       move to the new syntax in the future. This change moves the state func‐
364792       tion  up into the state name using a dot notation. This is in-line with
364793       how state functions are generally referred to as well:
364794
364795       The new way:
364796
364797          /etc/sudoers:
364798            file.present:
364799              - source: salt://sudo/sudoers
364800              - user: root
364801              - mode: 400
364802
364803   Use and Use_in Requisites
364804       Two new requisite statements are available in 0.9.9. The use and use_in
364805       requisite  and  requisite-in  allow  for the transparent duplication of
364806       data between states. When a state "uses" another state  it  copies  the
364807       other  state's  arguments  as  defaults.  This  was  created  in direct
364808       response to the new network state, and allows for many  network  inter‐
364809       faces to be configured in the same way easily. A simple example:
364810
364811          root_file:
364812            file.absent:
364813              - name: /tmp/nothing
364814              - user: root
364815              - mode: 644
364816              - group: root
364817              - use_in:
364818                - file: /etc/vimrc
364819
364820          fred_file:
364821            file.absent:
364822              - name: /tmp/nothing
364823              - user: fred
364824              - group: marketing
364825              - mode: 660
364826
364827          /files/marketing/district7.rst:
364828            file.present:
364829              - source: salt://marketing/district7.rst
364830              - template: jinja
364831              - use:
364832                - file: fred_file
364833
364834          /etc/vimrc:
364835            file.present:
364836              - source: salt://edit/vimrc
364837
364838       This  makes  the  2  lower  state  decs  inherit the options from their
364839       respectively "used" state decs.
364840
364841   Network State
364842       The new network state allows for the configuration of  network  devices
364843       via salt states and the ip salt module. This addition has been given to
364844       the project by Jeff Hutchins and Bret Palsson from Jive Communications.
364845
364846       Currently the only network configuration backend available is  for  Red
364847       Hat based systems, like Red Hat Enterprise, CentOS, and Fedora.
364848
364849   Exponential Jobs
364850       Originally  the  jobs executed were stored on the master in the format:
364851       <cachedir>/jobs/jid/{minion ids} But this format restricted the  number
364852       of  jobs  in  the  cache to the number of subdirectories allowed on the
364853       filesystem. Ext3 for instance limits subdirectories to 32000. To combat
364854       this        the        new       format       for       0.9.9       is:
364855       <cachedir>/jobs/jid_hash[:2]/jid_hash[2:]/{minion ids} So that now  the
364856       number  of  maximum  jobs that can be run before the cleanup cycle hits
364857       the job directory is substantially higher.
364858
364859   ssh_auth Additions
364860       The original ssh_auth state was limited to accepting only arguments  to
364861       apply  to a public key, and the key itself. This was restrictive due to
364862       the way the we learned that many people were using the  state,  so  the
364863       key  section  has  been expanded to accept options and arguments to the
364864       key that over ride arguments passed in the state. This  gives  substan‐
364865       tial power to using ssh_auth with names:
364866
364867          sshkeys:
364868            ssh_auth:
364869              - present
364870              - user: backup
364871              - enc: ssh-dss
364872              - options:
364873                - option1="value1"
364874                - option2="value2 flag2"
364875              - comment: backup
364876              - names:
364877                - AAAAB3NzaC1yc2EAAAABIwAAAQEAlyE26SMFFVY5YJvnL7AF5CRTPtAigSW1U887ASfBt6FDa7Qr1YdO5ochiLoz8aSiMKd5h4dhB6ymHbmntMPjQena29jQjXAK4AK0500rMShG1Y1HYEjTXjQxIy/SMjq2aycHI+abiVDn3sciQjsLsNW59t48Udivl2RjWG7Eo+LYiB17MKD5M40r5CP2K4B8nuL+r4oAZEHKOJUF3rzA20MZXHRQuki7vVeWcW7ie8JHNBcq8iObVSoruylXav4aKG02d/I4bz/l0UdGh18SpMB8zVnT3YF5nukQQ/ATspmhpU66s4ntMehULC+ljLvZL40ByNmF0TZc2sdSkA0111==
364878                - AAAAB3NzaC1yc2EAAAABIwAAAQEAlyE26SMFFVY5YJvnL7AF5CRTPtAigSW1U887ASfBt6FDa7Qr1YdO5ochiLoz8aSiMKd5h4dhB6ymHbmntMPjQena29jQjXAK4AK0500rMShG1Y1HYEjTXjQxIy/SMjq2aycHI+abiVDn3sciQjsLsNW59t48Udivl2RjWG7Eo+LYiB17MKD5M40r5CP2K4B8nuL+r4oAZEHKOJUF3rzA20MZXHRQuki7vVeWcW7ie8JHNBcq8iObVSoruylXav4aKG02d/I4bz/l0UdGh18SpMB8zVnT3YF5nukQQ/ATspmhpU66s4ntMehULC+ljLvZL40ByNmF0TZc2sdSkA0222== override
364879                - ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAlyE26SMFFVY5YJvnL7AF5CRTPtAigSW1U887ASfBt6FDa7Qr1YdO5ochiLoz8aSiMKd5h4dhB6ymHbmntMPjQena29jQjXAK4AK0500rMShG1Y1HYEjTXjQxIy/SMjq2aycHI+abiVDn3sciQjsLsNW59t48Udivl2RjWG7Eo+LYiB17MKD5M40r5CP2K4B8nuL+r4oAZEHKOJUF3rzA20MZXHRQuki7vVeWcW7ie8JHNBcq8iObVSoruylXav4aKG02d/I4bz/l0UdGh18SpMB8zVnT3YF5nukQQ/ATspmhpU66s4ntMehULC+ljLvZL40ByNmF0TZc2sdSkA0333== override
364880                - ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAlyE26SMFFVY5YJvnL7AF5CRTPtAigSW1U887ASfBt6FDa7Qr1YdO5ochiLoz8aSiMKd5h4dhB6ymHbmntMPjQena29jQjXAK4AK0500rMShG1Y1HYEjTXjQxIy/SMjq2aycHI+abiVDn3sciQjsLsNW59t48Udivl2RjWG7Eo+LYiB17MKD5M40r5CP2K4B8nuL+r4oAZEHKOJUF3rzA20MZXHRQuki7vVeWcW7ie8JHNBcq8iObVSoruylXav4aKG02d/I4bz/l0UdGh18SpMB8zVnT3YF5nukQQ/ATspmhpU66s4ntMehULC+ljLvZL40ByNmF0TZc2sdSkA0444==
364881                - option3="value3",option4="value4 flag4" ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAlyE26SMFFVY5YJvnL7AF5CRTPtAigSW1U887ASfBt6FDa7Qr1YdO5ochiLoz8aSiMKd5h4dhB6ymHbmntMPjQena29jQjXAK4AK0500rMShG1Y1HYEjTXjQxIy/SMjq2aycHI+abiVDn3sciQjsLsNW59t48Udivl2RjWG7Eo+LYiB17MKD5M40r5CP2K4B8nuL+r4oAZEHKOJUF3rzA20MZXHRQuki7vVeWcW7ie8JHNBcq8iObVSoruylXav4aKG02d/I4bz/l0UdGh18SpMB8zVnT3YF5nukQQ/ATspmhpU66s4ntMehULC+ljLvZL40ByNmF0TZc2sdSkA0555== override
364882                - option3="value3" ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAlyE26SMFFVY5YJvnL7AF5CRTPtAigSW1U887ASfBt6FDa7Qr1YdO5ochiLoz8aSiMKd5h4dhB6ymHbmntMPjQena29jQjXAK4AK0500rMShG1Y1HYEjTXjQxIy/SMjq2aycHI+abiVDn3sciQjsLsNW59t48Udivl2RjWG7Eo+LYiB17MKD5M40r5CP2K4B8nuL+r4oAZEHKOJUF3rzA20MZXHRQuki7vVeWcW7ie8JHNBcq8iObVSoruylXav4aKG02d/I4bz/l0UdGh18SpMB8zVnT3YF5nukQQ/ATspmhpU66s4ntMehULC+ljLvZL40ByNmF0TZc2sdSkA0666==
364883
364884   LocalClient Additions
364885       To  follow  up  the recent additions in 0.9.8 of additional kwargs sup‐
364886       port, 0.9.9 also adds the capability to send kwargs into commands via a
364887       dict.  This addition to the LocalClient api can be used like so:
364888
364889          import salt.client
364890
364891          client = salt.client.LocalClient('/etc/salt/master')
364892          ret = client.cmd('*', 'cmd.run', ['ls -l'], kwarg={'cwd': '/etc'})
364893
364894       This update has been added to all cmd methods in the LocalClient class.
364895
364896   Better Self Salting
364897       One  problem faced with running Salt states, is that it has been diffi‐
364898       cult to manage the Salt minion via states, this is due to the fact that
364899       if  the minion is called to restart while a state run is happening then
364900       the state run would be killed. 0.9.9 slightly changes the process scope
364901       of  the  state runs, so now when salt is executing states it can safely
364902       restart the salt-minion daemon.
364903
364904       In addition to daemonizing the state run, the apt  module  also  daemo‐
364905       nizes.  This update makes it possible to cleanly update the salt-minion
364906       package on Debian/Ubuntu systems without leaving apt in an inconsistent
364907       state or killing the active minion process mid-execution.
364908
364909   Wildcards for SLS Modules
364910       Now,  when  including  sls  modules in include statements or in the top
364911       file, shell globs can  be  used.  This  can  greatly  simplify  listing
364912       matched sls modules in the top file and include statements:
364913
364914          base:
364915            '*':
364916              - files*
364917              - core*
364918
364919          include:
364920            - users.dev.*
364921            - apache.ser*
364922
364923   External Pillar
364924       Since the pillar data is just, data, it does not need to come expressly
364925       from the pillar interface. The external pillar system allows for  hooks
364926       to  be  added  making it possible to extract pillar data from any arbi‐
364927       trary external interface. The external pillar interface  is  configured
364928       via  the ext_pillar option. Currently interfaces exist to gather exter‐
364929       nal pillar data via hiera or via a shell command that sends  yaml  data
364930       to the terminal:
364931
364932          ext_pillar:
364933            - cmd_yaml: cat /etc/salt/ext.yaml
364934            - hiera: /etc/hirea.yaml
364935
364936       The  initial  external  pillar  interfaces  and extra interfaces can be
364937       added to the file salt/pillar.py, it is planned to  add  more  external
364938       pillar  interfaces.   If  the need arises a new module loader interface
364939       will be created in the future to manage external pillar interfaces.
364940
364941   Single State Executions
364942       The new state.single function allows for single states  to  be  cleanly
364943       executed.   This is a great tool for setting up a small group of states
364944       on a system or for testing out the behavior of single states:
364945
364946          salt '*' state.single user.present name=wade uid=2000
364947
364948       The test interface functions here as  well,  so  changes  can  also  be
364949       tested against as:
364950
364951          salt '*' state.single user.present name=wade uid=2000 test=True
364952
364953   New Tests
364954       A  few  exciting  new test interfaces have been added, the minion swarm
364955       allows not only testing of larger loads, but also allows users  to  see
364956       how  Salt behaves with large groups of minions without having to create
364957       a large deployment.
364958
364959   Minion Swarm
364960       The minion swarm test system allows for large groups of minions  to  be
364961       tested  against  easily  without  requiring large numbers of servers or
364962       virtual machines. The minion swarm creates as many minions as a  system
364963       can  handle and roots them in the /tmp directory and connects them to a
364964       master.
364965
364966       The benefit here is that we were able to replicate issues  that  happen
364967       only  when there are large numbers of minions. A number of elusive bugs
364968       which were causing stability issues in masters and minions  have  since
364969       been  hunted  down.  Bugs that used to take careful watch by users over
364970       several days can now be reliably replicated in minutes,  and  fixed  in
364971       minutes.
364972
364973       Using the swarm is easy, make sure a master is up for the swarm to con‐
364974       nect to, and then use the minionswarm.py script in the tests  directory
364975       to  spin up as many minions as you want. Remember, this is a fork bomb,
364976       don't spin up more than your hardware can handle!
364977
364978          python minionswarm.py -m 20 --master salt-master
364979
364980   Shell Tests
364981       The new Shell testing system allows us to test the behavior of commands
364982       executed  from  a high level. This allows for the high level testing of
364983       salt runners and commands like salt-key.
364984
364985   Client Tests
364986       Tests have been added to test the aspects of the client APIs and ensure
364987       that  the  client  calls  work,  and that they manage passed data, in a
364988       desirable way.
364989
364990       SEE ALSO:
364991          Legacy salt-cloud release docs
364992
364993       SEE ALSO:
364994          Legacy salt-api release docs
364995

VENAFI TOOLS FOR SALT

364997   Introduction
364998       Before using these modules you need to register an account with Venafi,
364999       and configure it in your master configuration file.
365000
365001       First,  you  need  to  add  a  placeholder  to the master file. This is
365002       because the module will not load unless it finds  an  api_key  setting,
365003       valid or not.  Open up /etc/salt/master and add:
365004
365005          venafi:
365006            api_key: None
365007
365008       Then  register  your email address with Venafi using the following com‐
365009       mand:
365010
365011          salt-run venafi.register <youremail@yourdomain.com>
365012
365013       This command will not return an api_key to you; that will  be  send  to
365014       you  via  email  from  Venafi. Once you have received that key, open up
365015       your master file and set the api_key to it:
365016
365017          venafi:
365018            api_key: abcdef01-2345-6789-abcd-ef0123456789
365019
365020       To enable the ability for creating keys and certificates it  is  neces‐
365021       sary  to  enable  the external pillars.  Open the /etc/salt/master file
365022       and add:
365023
365024          ext_pillar:
365025            - venafi: True
365026
365027       To modify the URL being used for the Venafi Certificate issuance modify
365028       the file in /etc/salt/master and add the base_url information following
365029       under the venafi tag:
365030
365031          venafi:
365032            base_url: http://newurl.venafi.com
365033
365034   Example Usage
365035       Generate a CSR and submit it to Venafi for issuance, using the  'Inter‐
365036       net'  zone:  salt-run  venafi.request  minion.example.com  minion.exam‐
365037       ple.com zone=Internet
365038
365039       Retrieve a certificate for a previously submitted request with  request
365040       ID aaa-bbb-ccc-dddd: salt-run venafi.pickup aaa-bbb-ccc-dddd
365041
365042   Runner Functions
365043   gen_key
365044       Generate and return a private_key. If a dns_name is passed in, the pri‐
365045       vate_key will be cached under that name.
365046
365047       The key will be generated based on the policy values that were  config‐
365048       ured  by  the Venafi administrator. A default Certificate Use Policy is
365049       associated with a zone; the key type and key length parameters  associ‐
365050       ated with this value will be used.
365051
365052          salt-run venafi.gen_key minion.example.com minion.example.com zone=Internet \
365053            password=SecretSauce
365054
365055       param str minion_id
365056              Required.  The name of the minion which hosts the domain name in
365057              question.
365058
365059       param str dns_name
365060              Required. The FQDN of the domain that will be hosted on the min‐
365061              ion.
365062
365063       param str zone
365064              Required.  Default  value  is "default". The zone on Venafi that
365065              the domain belongs to.
365066
365067       param str password
365068              Optional. If specified, the password to use to access the gener‐
365069              ated key.
365070
365071   gen_csr
365072       Generate a csr using the host's private_key. Analogous to:
365073
365074          salt-run venafi.gen_csr minion.example.com minion.example.com country=US \
365075          state=California loc=Sacramento org=CompanyName org_unit=DevOps \
365076          zone=Internet password=SecretSauce
365077
365078       param str minion_id
365079              Required.
365080
365081       param str dns_name
365082              Required.
365083
365084       param str zone
365085              Optional.  Default  value  is "default". The zone on Venafi that
365086              the domain belongs to.
365087
365088       param str country=None
365089              Optional. The two-letter ISO abbreviation for your country.
365090
365091       param str state=None
365092              Optional. The state/county/region  where  your  organisation  is
365093              legally located. Must not be abbreviated.
365094
365095       param str loc=None
365096              Optional. The city where your organisation is legally located.
365097
365098       param str org=None
365099              Optional.  The  exact  legal  name  of your organisation. Do not
365100              abbreviate your organisation name.
365101
365102       param str org_unit=None
365103              Optional. Section of the organisation, can be left empty if this
365104              does not apply to your case.
365105
365106       param str password=None
365107              Optional. Password for the CSR.
365108
365109   request
365110       Request a new certificate. Analogous to:
365111
365112          salt-run venafi.request minion.example.com minion.example.com country=US \
365113          state=California loc=Sacramento org=CompanyName org_unit=DevOps \
365114          zone=Internet password=SecretSauce
365115
365116       param str minion_id
365117              Required.
365118
365119       param str dns_name
365120              Required.
365121
365122       param str zone
365123              Required.  Default  value  is "default". The zone on Venafi that
365124              the certificate request will be submitted to.
365125
365126       param str country=None
365127              Optional. The two-letter ISO abbreviation for your country.
365128
365129       param str state=None
365130              Optional. The state/county/region  where  your  organisation  is
365131              legally located. Must not be abbreviated.
365132
365133       param str loc=None
365134              Optional. The city where your organisation is legally located.
365135
365136       param str org=None
365137              Optional.  The  exact  legal  name  of your organisation. Do not
365138              abbreviate your organisation name.
365139
365140       param str org_unit=None
365141              Optional. Section of the organisation, can be left empty if this
365142              does not apply to your case.
365143
365144       param str password=None
365145              Optional. Password for the CSR.
365146
365147       param str company_id=None
365148              Optional, but may be configured in master file instead.
365149
365150   register
365151       Register a new user account
365152
365153          salt-run venafi.register username@example.com
365154
365155       param str email
365156              Required. The email address to use for the new Venafi account.
365157
365158   show_company
365159       Show company information, especially the company id
365160
365161          salt-run venafi.show_company example.com
365162
365163       param str domain
365164              Required. The domain name to look up information for.
365165
365166   show_csrs
365167       Show certificate requests for the configured API key.
365168
365169          salt-run venafi.show_csrs
365170
365171   show_zones
365172       Show zones for the specified company id.
365173
365174          salt-run venafi.show_zones
365175
365176       param str company_id
365177              Optional. The company id to show the zones for.
365178
365179   pickup, show_cert
365180       Show  certificate  requests for the specified certificate id. Analogous
365181       to the VCert pickup command.
365182
365183          salt-run venafi.pickup 4295ebc0-14bf-11e7-b965-1df050017ec1
365184
365185       param str id_
365186              Required. The id of the certificate to look up.
365187
365188   show_rsa
365189       Show a private RSA key.
365190
365191          salt-run venafi.show_rsa minion.example.com minion.example.com
365192
365193       param str minion_id
365194              The name of the minion to display the key for.
365195
365196       param str dns_name
365197              The domain name to display the key for.
365198
365199   list_domain_cache
365200       List domains that have been cached on this master.
365201
365202          salt-run venafi.list_domain_cache
365203
365204   del_cached_domain
365205       Delete a domain from this master's cache.
365206
365207          salt-run venafi.delete_domain_cache example.com
365208
365209       param str domains
365210              A domain name, or a comma-separated list  of  domain  names,  to
365211              delete from this master's cache.
365212

GLOSSARY

365214       Auto-Order
365215              The evaluation of states in the order that they are defined in a
365216              SLS file. See also: ordering.
365217
365218       Bootstrap
365219              A stand-alone Salt project which can download and install a Salt
365220              master   and/or   a   Salt   minion   onto  a  host.  See  also:
365221              salt-bootstrap.
365222
365223       Compound Matcher
365224              A combination of many target definitions that  can  be  combined
365225              with boolean operators. See also: targeting.
365226
365227       EAuth  Shorthand for 'external authentication'. A system for calling to
365228              a system outside of Salt in  order  to  authenticate  users  and
365229              determine  if  they  are allowed to issue particular commands to
365230              Salt. See also: external auth.
365231
365232       Environment
365233              A directory tree containing state files which can be applied  to
365234              minions. See also: top file.
365235
365236       Execution Function
365237              A Python function inside an Execution Module that may take argu‐
365238              ments and performs specific system-management tasks.  See  also:
365239              the list of execution modules.
365240
365241       External Job Cache
365242              An  external  data-store that can archive information about jobs
365243              that have been run. A default returner. See also: ext_job_cache,
365244              the list of returners.
365245
365246       Execution Module
365247              A Python module that contains execution functions which directly
365248              perform various system-management tasks on a server. Salt  ships
365249              with  a  number  of  execution  modules but users can also write
365250              their own execution modules to perform  specialized  tasks.  See
365251              also: the list of execution modules.
365252
365253       External Pillar
365254              A  module that accepts arbitrary arguments and returns a dictio‐
365255              nary.  The dictionary is automatically added to a pillar  for  a
365256              minion.
365257
365258       Event  A  notice  emitted onto an event bus. Events are often driven by
365259              requests for actions to occur on a  minion  or  master  and  the
365260              results of those actions. See also: Salt Reactor.
365261
365262       File Server
365263              A  local or remote location for storing both Salt-specific files
365264              such as top files or SLS files as well as files that can be dis‐
365265              tributed  to  minions,  such  as system configuration files. See
365266              also: Salt's file server.
365267
365268       Grain  A key-value pair which contains a fact about a system,  such  as
365269              its  hostname,  network  addresses.  See  also:  targeting  with
365270              grains.
365271
365272       Highdata
365273              The data structure in a SLS file the represents a set  of  state
365274              declarations. See also: state layers.
365275
365276       Highstate
365277              The  collection  of  states to be applied to a system. See also:
365278              state layers.
365279
365280       Idempotent
365281              An action that ensures the  system  is  in  a  well-known  state
365282              regardless  of  the system's state before the action is applied.
365283              A corollary to this is that applying the action  multiple  times
365284              results  in  no  changes  to the system.  State module functions
365285              should be idempotent.  Some  state  module  functions,  such  as
365286              cmd.run are not idempotent by default but can be made idempotent
365287              with the proper use of requisites such as unless and onlyif. For
365288              more information, see wikipedia.
365289
365290       Jinja  A templating language which allows variables and simple logic to
365291              be dynamically inserted into static text  files  when  they  are
365292              rendered.  See also: Salt's Jinja documentation.
365293
365294       Job    The  complete set of tasks to be performed by the execution of a
365295              Salt command are a single job. See also: jobs runner.
365296
365297       Job Cache
365298              A storage location for job results, which may then be queried by
365299              a salt runner or an external system. May be local to a salt mas‐
365300              ter or stored externally.
365301
365302       Job ID A unique identifier to represent a given  job.   This  is  often
365303              shortened to JID.
365304
365305       Low State
365306              The  collection  of  processed states after requisites and order
365307              are evaluated. See also: state layers.
365308
365309       Master A central Salt daemon from which commands can be issued to  lis‐
365310              tening minions.
365311
365312       Masterless
365313              A  minion  which  does not require a Salt master to operate. All
365314              configuration is local. See also: file_client.
365315
365316       Master Tops
365317              A system for the master that allows hooks into external  systems
365318              to generate top file data.
365319
365320       Mine   A facility to collect arbitrary data from minions and store that
365321              data on the master. This data is then  available  to  all  other
365322              minions.   (Sometimes  referred to as Salt Mine.) See also: Salt
365323              Mine.
365324
365325       Minion A server running a Salt minion daemon which can listen  to  com‐
365326              mands  from a master and perform the requested tasks. Generally,
365327              minions are servers which are to be controlled using Salt.
365328
365329       Minion ID
365330              A globally unique identifier for a minion. See also: id.
365331
365332       Multi-Master
365333              The ability for a minion to be actively  connected  to  multiple
365334              Salt masters at the same time in high-availability environments.
365335
365336       Node Group
365337              A pre-defined group of minions declared in the master configura‐
365338              tion file. See also: targeting.
365339
365340       Outputter
365341              A formatter for defining the characteristics of output data from
365342              a Salt command. See also: list of outputters.
365343
365344       Peer Communication
365345              The  ability for minions to communicate directly with other min‐
365346              ions instead of brokering commands through the Salt master.  See
365347              also: peer communication.
365348
365349       Pillar A simple key-value store for user-defined data to be made avail‐
365350              able to a minion. Often used to store and  distribute  sensitive
365351              data to minions.  See also: Pillar, list of Pillar modules.
365352
365353       Proxy Minion
365354              A minion which can control devices that are unable to run a Salt
365355              minion locally, such as routers and switches.
365356
365357       PyDSL  A Pythonic domain-specific-language used  as  a  Salt  renderer.
365358              PyDSL  can  be  used  in cases where adding pure Python into SLS
365359              files is beneficial.  See also: PyDSL.
365360
365361       Reactor
365362              An interface for listening to events and defining  actions  that
365363              Salt  should taken upon receipt of given events. See also: Reac‐
365364              tor.
365365
365366       Render Pipe
365367              Allows SLS files to be rendered by multiple renderers, with each
365368              renderer receiving the output of the previous. See also: compos‐
365369              ing renderers.
365370
365371       Renderer
365372              Responsible for translating a given  data  serialization  format
365373              such  as  YAML  or JSON into a Python data structure that can be
365374              consumed by Salt.  See also: list of renderers.
365375
365376       Returner
365377              Allows for the results of a Salt command to be sent to  a  given
365378              data-store  such  as  a  database  or log file for archival. See
365379              also: list of returners.
365380
365381       Roster A flat-file list  of  target  hosts.  (Currently  only  used  by
365382              salt-ssh.)
365383
365384       Runner Module
365385              A module containing a set of runner functions. See also: list of
365386              runner modules.
365387
365388       Runner Function
365389              A function which is called by the salt-run command and  executes
365390              on the master instead of on a minion. See also: Runner Module.
365391
365392       Salt Cloud
365393              A  suite  of  tools  used  to  create and deploy systems on many
365394              hosted cloud providers. See also: salt-cloud.
365395
365396       Salt SSH
365397              A configuration management and remote orchestration system  that
365398              does  not  require that any software besides SSH be installed on
365399              systems to be controlled.
365400
365401       Salt Thin
365402              A subset of the normal Salt distribution that does  not  include
365403              any transport routines. A Salt Thin bundle can be dropped onto a
365404              host and used directly without any requirement that the host  be
365405              connected to a network. Used by Salt SSH. See also: thin runner.
365406
365407       Salt Virt
365408              Used  to  manage the creation and deployment of virtual machines
365409              onto a set of host machines. Often used  to  create  and  deploy
365410              private clouds.  See also: virt runner.
365411
365412       SLS Module
365413              Contains a set of state declarations.
365414
365415       State Compiler
365416              Translates highdata into lowdata.
365417
365418       State Declaration
365419              A data structure which contains a unique ID and describes one or
365420              more states of a system such  as  ensuring  that  a  package  is
365421              installed or a user is defined. See also: highstate structure.
365422
365423       State Function
365424              A function contained inside a state module which can manages the
365425              application of a particular state to a system.  State  functions
365426              frequently  call out to one or more execution modules to perform
365427              a given task.
365428
365429       State Module
365430              A module which contains a set of state functions. See also: list
365431              of state modules.
365432
365433       State Run
365434              The application of a set of states on a set of systems.
365435
365436       Syndic A forwarder which can relay messages between tiered masters. See
365437              also: Syndic.
365438
365439       Target Minion(s) to which a given salt command will  apply.  See  also:
365440              targeting.
365441
365442       Top File
365443              Determines  which SLS files should be applied to various systems
365444              and organizes those groups of  systems  into  environments.  See
365445              also: top file, list of master top modules.
365446
365447       __virtual__
365448              A  function  in a module that is called on module load to deter‐
365449              mine whether or not the module should be available to a  minion.
365450              This  function  commonly  contains  logic  to  determine  if all
365451              requirements for  a  module  are  available,  such  as  external
365452              libraries.
365453
365454       Worker A master process which can send notices and receive replies from
365455              minions. See also: worker_threads.
365456

AUTHOR

365458       Thomas S. Hatch <thatch45@gmail.com> and many others,  please  see  the
365459       Authors file
365460
365461
365462
365463
3654642019.2.0                         Jan 08, 2019                          SALT(7)
Impressum